Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface VizActions

Partially implemented - Actions related to events and state of the viz

Hierarchy

  • VizActions

Index

Properties

automaticUpdatesArePaused

automaticUpdatesArePaused: boolean

Indicates whether automatic updates are currently paused.

Methods

addEventListener

  • addEventListener(type: TableauEventType, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void
  • Adds an event listener to the specified event.

    async function getSelectedMarks(event) {
        const marksSelected = await event.detail.getMarksAsync();
        const numMarks = marksSelected.data[0].data.length;
        console.log(`${numMarks} marks Selected`);
    }
    
    let viz = document.getElementById('tableauViz');
    viz.addEventListener("markselectionchanged", getSelectedMarks);

    Parameters

    • type: TableauEventType
    • listener: EventListenerOrEventListenerObject
    • Optional options: boolean | AddEventListenerOptions

    Returns void

addFilter

  • addFilter(fieldName: string, value: string): void
  • Use this method to filter the viz before initialization. If used after initialization, it will re-render the viz. For filtering after initialization, use the other filtering methods, such as applyFilterAsync.

    If you add the same filter fields using the addFilter() method and by using the <viz-filter> element in the <tableau-viz> web component, you might experience unexpected behavior.

    Parameters

    • fieldName: string

      The name of the field to filter on.

    • value: string

      Single value or a list of comma separated values to filter on.

      viz.addFilter('Region', 'Central,West');

    Returns void

displayDialogAsync

  • Display one of the export dialogs based on the dialogType parameter

    Throws an error if dialogType is invalid

    Parameters

    Returns Promise<void>

exportCrosstabAsync

  • Exports the crosstab of any given worksheet within the current view to a specified format (CrosstabFileFormat.Excel, CrosstabFileFormat.CSV). Throws an error if the sheet name does not match any worksheets within the active sheet. Throws an error if the crosstab file failed to be created. Note: exportCrosstabAsync resolves when a download is initiated. It does not indicate that a download was successful or if the download was complete.

    let viz = document.getElementById('tableauViz');
    viz.exportCrosstabAsync('Sales by Segment', CrosstabFileFormat.CSV);

    Parameters

    Returns Promise<void>

exportDataAsync

  • Exports the summary data shown in the View Data window (shown when you click Download > Data from the toolbar for any given worksheet within the current view). The current file format is CSV. There is no limitation on the amount of summary data you can export. Throws an error if the sheet name does not match any worksheets within the active sheet. Throws an error if the CSV file failed to be created. Note: exportDataAsync resolves when a download is initiated. It does not indicate that a download was successful or if the download was complete.

    let viz = document.getElementById('tableauViz');
    const activeSheet = viz.workbook.activeSheet;
    if (activeSheet.sheetType === SheetType.Worksheet) {
      const columns = await activeSheet.getSummaryColumnsInfoAsync();
      // Getting fieldId's for Latitude and Longitude columns
      const columnsToIncludeById = columns.map((column) => {
        if (column.fieldName === 'Latitude' || column.fieldName === 'Longitude') {
          return column.fieldId;
        }
      });
      await viz.exportDataAsync(activeSheet.name, { columnsToIncludeById });
    }
    else if (activeSheet.sheetType === SheetType.Dashboard) {
      // Exporting the summary data for each worksheet in the dashboard while also ignoring aliases
      for (const worksheet of activeSheet.worksheets) {
        await viz.exportDataAsync(worksheet.name, { ignoreAliases: true });
      }
    }
    else
    {
      // activeSheet is a Story and we want to export worksheets within the current view
      const containedSheet = activeSheet.activeStoryPoint.containedSheet;
      if (containedSheet !== undefined && containedSheet.sheetType === SheetType.Worksheet) {
        // Exporting summary data of a worksheet within the active story point
        await viz.exportDataAsync(containedSheet.name);
      } else if (containedSheet !== undefined && containedSheet.sheetType === SheetType.Dashboard) {
        // Exporting the summary data for each worksheet within the active story point
        for (const worksheet of containedSheet.worksheets) {
          await viz.exportDataAsync(worksheet.name);
        }
      }
    }

    Parameters

    Returns Promise<void>

exportImageAsync

  • exportImageAsync(): Promise<void>
  • Equivalent to clicking on Download > Image from the toolbar, which creates a PNG file of the current visualization.

    Returns Promise<void>

exportPDFAsync

  • exportPDFAsync(sheetNames?: Array<string>, options?: ExportPDFOptions): Promise<void>
  • Exports the list of sheets with the given ExportPDFOptions options. If no sheets are specified, the current sheet is exported. The list of sheets can either exclusively include the worksheets within a dashboard or exclusively include the published sheets from the workbook. If no ExportPDFOptions are specified, the default settings are: Scaling = Automatic, PageSize = Letter, and Orientation = Portrait.

    Throws an error if the list of sheets contains both worksheets within a dashboard and published sheets from the workbook. Throws an error if the PDF file fails to be created.

    Note: exportPDFAsync resolves when a download is initiated. It does not indicate that a download was successful or if the download was complete.

    let viz = document.getElementById('tableauViz');
    const workbook = viz.workbook;
    const activeSheet = workbook.activeSheet;
    if (activeSheet.sheetType === SheetType.Worksheet || activeSheet.sheetType === SheetType.Story) {
      await viz.exportPDFAsync();
    } else if (activeSheet.sheetType ===  SheetType.Dashboard) {
      const worksheetNames = activeSheet.worksheets.map((worksheet) => worksheet.name);
      await viz.exportPDFAsync(worksheetNames);
    }
    // exporting all sheets within the workbook to PDF
    const publishedSheetNames = workbook.publishedSheetsInfo.map((publishedSheetInfo) => publishedSheetInfo.name);
    await viz.exportPDFAsync(publishedSheetNames);

    Parameters

    Returns Promise<void>

exportPowerPointAsync

  • exportPowerPointAsync(sheetNames?: Array<string>): Promise<void>
  • Exports the list of sheets to a PowerPoint file. If no sheets are specified, the current sheet is exported. The order the sheets appear in the list is the order the sheets appear in the PowerPoint file. The list of sheets can either exclusively include the worksheets within a dashboard or exclusively include the published sheets from the workbook.

    Throws an error if the list of sheets contains both worksheets within a dashboard and published sheets from the workbook. Throws an error if the PowerPoint file fails to be created.

    Note: exportPowerPointAsync resolves when a download is initiated. It does not indicate that a download was successful or if the download was complete.

    let viz = document.getElementById('tableauViz');
    const workbook = viz.workbook;
    const activeSheet = workbook.activeSheet;
    if (activeSheet.sheetType === SheetType.Worksheet || activeSheet.sheetType === SheetType.Story) {
      await viz.exportPowerPointAsync();
    } else if (activeSheet.sheetType ===  SheetType.Dashboard) {
      const worksheetNames = activeSheet.worksheets.map((worksheet) => worksheet.name);
      await viz.exportPowerPointAsync(worksheetNames);
    }
    // exporting all sheets within the workbook to PowerPoint
    const publishedSheetNames = workbook.publishedSheetsInfo.map((publishedSheetInfo) => publishedSheetInfo.name);
    await viz.exportPowerPointAsync(publishedSheetNames);

    Parameters

    • Optional sheetNames: Array<string>

    Returns Promise<void>

getCurrentSrcAsync

  • getCurrentSrcAsync(): Promise<string>
  • Gets the visualization's current URL.

    Returns Promise<string>

pauseAutomaticUpdatesAsync

  • pauseAutomaticUpdatesAsync(): Promise<void>
  • Pause layout updates. This is useful if you are resizing the visualization or performing multiple calls that could affect the layout.

    Returns Promise<void>

redoAsync

  • redoAsync(): Promise<void>
  • Redoes the last action performed on a sheet.

    Returns Promise<void>

refreshDataAsync

  • refreshDataAsync(): Promise<void>
  • Equivalent to clicking on the Refresh Data toolbar button.

    Returns Promise<void>

removeEventListener

  • removeEventListener(type: TableauEventType, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void
  • Removes an event listener from the specified event.

    let viz = document.getElementById('tableauViz');
    viz.removeEventListener("markselectionchanged", getSelectedMarks);

    Parameters

    • type: TableauEventType
    • listener: EventListenerOrEventListenerObject
    • Optional options: boolean | EventListenerOptions

    Returns void

resumeAutomaticUpdatesAsync

  • resumeAutomaticUpdatesAsync(): Promise<void>
  • Resume layout updates.

    Returns Promise<void>

revertAllAsync

  • revertAllAsync(): Promise<void>
  • Equivalent to clicking on the Revert All toolbar button, which restores the workbook to its starting state.

    Returns Promise<void>

toggleAutomaticUpdatesAsync

  • toggleAutomaticUpdatesAsync(): Promise<void>
  • Toggle layout updates.

    Returns Promise<void>

undoAsync

  • undoAsync(): Promise<void>
  • Undoes the last action performed on a sheet.

    Returns Promise<void>