diff --git a/website/docs/Interaction_Guidelines/ux_controls_ui_patterns.md b/website/docs/Interaction_Guidelines/ux_controls_ui_patterns.md index 7d0daaf6..ea0e3042 100644 --- a/website/docs/Interaction_Guidelines/ux_controls_ui_patterns.md +++ b/website/docs/Interaction_Guidelines/ux_controls_ui_patterns.md @@ -191,7 +191,7 @@ Dropdown controls allow multiple options to be expanded from a menu. Dropdowns h | --- | --- | | **Outline** | The outline style is the primary variation that should be used. It can be used by itself, on forms, or within dialogues. | | **Line**
(label optional)                 | Line style dropdowns are useful in areas that have cramped vertical space. This dropdown style can be stacked within panels to avoid a boxy wireframe feel. While the label is optional, we encourage using it to better inform users about the category of items. | -| **Text** | This style allows the user to access options from a dropdown or flyout menu. This style works well in tool and start bars, as well as in dialogs and menus. | +| **Text** | This style allows the user to access options from a dropdown or flyout menu. This style works well in tool and start bars, as well as in dialogs and menus. | | **Icon** | The icon style works best in small regions such as tool bars, and is great for switches that have several options. |   diff --git a/website/docs/core/trex_configure.md b/website/docs/core/trex_configure.md index 2a150033..b2922e94 100644 --- a/website/docs/core/trex_configure.md +++ b/website/docs/core/trex_configure.md @@ -1,16 +1,15 @@ --- -title: Add a Configuration Popup Dialog +title: Add a Configuration Popup Dialog Box description: How to add a configuration dialog box to the extension --- -If you want users to be able to configure settings for your extension, you can use an optional callback function when you initialize your dashboard or viz extension. The callback function creates a configuration option that can be used to open a popup window (a modal dialog box) for your extension. You can use this popup window to allow users to set and save settings for the extension. - +If you want users to be able to configure settings for your extension, you can use an optional callback function when you initialize your dashboard or viz extension. The callback function creates a configuration option that can be used to open a popup window (dialog box) for your extension. The Extensions API supports different dialog box styles: modal, modeless, or window. You can use the dialog box to allow users to set and save settings for the extension. Starting with Tableau 2026.1 (and the v1.16 library), you can create multiple dialog boxes and send messages between them. ## Add the context menu to the `.trex` file -The first step is to add the `` option to the extension's manifest file (`.trex`). The `` element only contains one item: ``. +The first step is to add the `` option to the extension's manifest file (`.trex`). The `` element only contains one item: ``. -* The context menu option must follow the `` and `` elements in the manifest file in the `` or `` section: +* The context menu option must follow the `` and `` elements in the manifest file in the `` or `` section: ```xml + + + + + +``` + +And by specifying a callback function (`configure()`) that gets called when the `'configure'` option is specified in the call to initialize the extension (`initializeAsync()`). + +```javascript + $(document).ready(function () { + tableau.extensions.initializeAsync({'configure': configure}).then(function() { + // When the user clicks the Configure... context menu item, + // or Format Extension, the configure() function specified + // as the argument here is executed. + // + }); + +``` + +If you are creating additional popup windows, you'll need to call those popup windows from other methods, and you'll need to add controls to call those methods. For example, you could add a button or toolbar item in the main extension window, and use that button to open another popup window. The content and logic of the dialog boxes or windows are typically in HTML and JavaScript files that are separate from the main extension files. + +### Create additional popup windows + +Starting in Tableau 2026.1, you can create multiple popup windows. While you can't display these additional dialog boxes or windows when the user selects the configure context item, you can display them when users click buttons and controls in your extension. + +* Determine how you want the pop windows to interact (if at all). Should they be modal or modeless? Do they need to share information or content? + +* To create additional dialog boxes or popup windows, add controls (buttons, toolbars) to your extension. + +* Create the HTML and JavaScript code that define the content and features of your additional popup windows. + +* In your extension JavaScript or TypeScript code, define your popup windows: the `popupURL`, the dialog style, and dimensions, and any initial payload you want to send to the popup window. Pass in these values when you call the `displayDialogAsync()` method. + +Like the configuration popup, the URL of the additional popup windows must belong to the same domain as the parent extension. The relative paths must resolve to the directory, or a child directory, of the extension. Root-relative paths are not allowed. For example, `./config.html` or `config.html` are allowed, but not the root-relative path `/config.html`. + +For example, you could add another dialog box to the uiNamespace sample that lets users set the background color of the extension. In the `uiNamespace.html` file, you could add a button to display the popup window. When the user clicks the button, a color formatting dialog opens. The user can select the background color. When the user clicks a Save button, it calls the `closeDialog()` method and closes the popup window, which returns the new background color as the payload and it is applied. + +```html + +``` + +In the `uiNamespace.js` file, you would add code to set the default background color and then call the `displayDialogAsync()`. You would need to create the HTML and Javascript code for the popup window (for example, uiNamespaceColorDialog.html and uiNamespaceColorDialog.js). + +```javascript + +/** +* Sets the default background color +* Sets the current color to match as the initial payload +*/ + + const defaultBgColor = '#FFFFFF'; + let currentBgColor = defaultBgColor; + +/** +* Opens the background color picker dialog (always modal). +* Passes the current background color as the initial payload so the dialog +* can pre-select it. The closePayload returned is the chosen hex color, +* which is then applied to the extension body. +*/ + + function openColorDialog () { + const popupUrl = new URL('uiNamespaceColorDialog.html', window.location.href).href; + + tableau.extensions.ui + .displayDialogAsync(popupUrl, currentBgColor, { height: 500, width: 360, dialogStyle: tableau.DialogStyle.Modal }) + .then((closePayload) => { + currentBgColor = closePayload; + $('body').css('background-color', currentBgColor); + }) + .catch((error) => { + if (error.errorCode === tableau.ErrorCodes.DialogClosedByUser) { + console.log('Color dialog was closed by user'); + } else { + console.error(error.message); + } + }); + } +``` + + + + + + + +## Send messages between configuration windows and the extension \ No newline at end of file diff --git a/website/docs/dashext/trex_create.md b/website/docs/dashext/trex_create.md index a0585e93..39469cd3 100644 --- a/website/docs/dashext/trex_create.md +++ b/website/docs/dashext/trex_create.md @@ -17,7 +17,7 @@ To create a Tableau extension you need the following components. ### What you need to get started -These instructions assume that you already have cloned or download the Extensions API SDK. For information about setting up your environment and the Tableau requirements, see [Installation](../installation.md) and [Get Started with Dashboard Extensions](trex_getstarted.md). +These instructions assume that you already have cloned or downloaded the Extensions API SDK. For information about setting up your environment and the Tableau requirements, see [Installation](../installation.md) and [Get Started with Dashboard Extensions](trex_getstarted.md). For convenience, you might want to create a folder for your "Hello World" dashboard extension in the same location where you installed or cloned the GitHub repository (for example, `HelloDemo` under `/extensions-api`). That way, you can use the same web server (`http-server`) that is used for the samples. diff --git a/website/docs/trex_release-notes.md b/website/docs/trex_release-notes.md index b6431add..0b266923 100644 --- a/website/docs/trex_release-notes.md +++ b/website/docs/trex_release-notes.md @@ -20,9 +20,9 @@ What's new in this release: * Added ISO values to `PeriodType` for parameters with `Range` domain type. -* Added support for multiple dialogs. Use the [sendDialogMessageAsync](pathname:///api/interfaces/ui.html#senddialogmessageasync) method can send messages between any two dialog boxes or between any dialog box and the extension. +* Added support for multiple dialogs. In addition to the configuration popup window, you can add other dialog boxes or popup windows that can interact with the extension. See [Add Multiple Dialog Boxes](./core/trex_multiple_dialogs.md). -* Added the [sendDialogMessageToParentAsync](pathname:///api/interfaces/ui.html#senddialogmessagetoparentasync) method to the UI namespace. Sends a message from the dialog box to the extension or to the dialog box (the parent) that opened it. +* Added the [sendDialogMessageAsync](pathname:///api/interfaces/ui.html#senddialogmessageasync) and the [sendDialogMessageToParentAsync](pathname:///api/interfaces/ui.html#senddialogmessagetoparentasync) methods to the UI namespace. Use the `sendDialogMessageAsync` method to send messages between any two dialog boxes, or between any dialog box and the extension. Use the `sendDialogMessageToParentAsync` method to send a message from the dialog box to the extension or to the dialog box (the parent) that opened it. See [Send messages between configuration windows and the extension](core/trex_multiple_dialogs#send-messages-between-configuration-windows-and-the-extension). @@ -99,11 +99,11 @@ What's new in this release: *May 2024* -* Tableau Dashboard Extensions API library: `tableau.extensions.1.12.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api)..)
+* Tableau Dashboard Extensions API library: `tableau.extensions.1.12.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api).)
* Certain features in this release are only available in Tableau 2024.2 or later. Download [Tableau Desktop](https://www.tableau.com/support/releases) or [Tableau Server](https://www.tableau.com/support/releases/server). -* To preview new features and test your extension with the latest version of Tableau in the Developer Sandbox, join the [Tableau Developer Program](http://www.tableau.com/developer). and request your own Tableau Cloud developer site. +* To preview new features and test your extension with the latest version of Tableau in the Developer Sandbox, join the [Tableau Developer Program](http://www.tableau.com/developer) and request your own Tableau Cloud developer site. What's new in this release: @@ -150,11 +150,11 @@ Also in this release: *April 2024* -* Tableau Dashboard Extensions API library: `tableau.extensions.1.11.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api)..)
+* Tableau Dashboard Extensions API library: `tableau.extensions.1.11.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api).)
-* Certain features in this release are only available in Tableau 2024.1 or later. Download [Tableau Desktop](https://www.tableau.com/support/releases). or [Tableau Server](https://www.tableau.com/support/releases/server). +* Certain features in this release are only available in Tableau 2024.1 or later. Download [Tableau Desktop](https://www.tableau.com/support/releases) or [Tableau Server](https://www.tableau.com/support/releases/server). -* To preview new features and test your extension with the latest version of Tableau in the Developer Sandbox, join the [Tableau Developer Program](http://www.tableau.com/developer). and request your own Tableau Cloud developer site. +* To preview new features and test your extension with the latest version of Tableau in the Developer Sandbox, join the [Tableau Developer Program](http://www.tableau.com/developer) and request your own Tableau Cloud developer site. About this release: @@ -170,7 +170,7 @@ About this release: The Viz Extensions API is currently under development. Tableau is working to offer the feature in general availability later in 2024. - We encourage anyone interested in developing viz extensions to contact Wilson Po at [wpo@salesforce.com](mailto:wpo@salesforce.com). We’re running a program by invitation that focuses on the developer experience for those interested in exploring those tools. An active NDA must be in place to requests access to the preview at this time. + We encourage anyone interested in developing viz extensions to contact Wilson Po at [wpo@salesforce.com](mailto:wpo@salesforce.com). We’re running a program by invitation that focuses on the developer experience for those interested in exploring those tools. An active NDA must be in place to request access to the preview at this time. Sign up to test Tableau Viz Extensions in the [Tableau Beta Preview](https://prerelease.tableau.com/welcome/), as part of the web authoring experience when you register for a Tableau Cloud Beta Site. @@ -180,15 +180,15 @@ About this release: *December 2022* -* Tableau Dashboard Extensions API library: `tableau.extensions.1.10.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api)..)
+* Tableau Dashboard Extensions API library: `tableau.extensions.1.10.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api).)
-* Certain features in this release are only available in Tableau 2022.4 or later. Download [Tableau Desktop](https://www.tableau.com/support/releases). or [Tableau Server](https://www.tableau.com/support/releases/server). +* Certain features in this release are only available in Tableau 2022.4 or later. Download [Tableau Desktop](https://www.tableau.com/support/releases) or [Tableau Server](https://www.tableau.com/support/releases/server). -* To preview new features and test your extension with the latest version of Tableau in the Developer Sandbox, join the [Tableau Developer Program](http://www.tableau.com/developer). and request your own Tableau Cloud developer site. +* To preview new features and test your extension with the latest version of Tableau in the Developer Sandbox, join the [Tableau Developer Program](http://www.tableau.com/developer) and request your own Tableau Cloud developer site. About this release: -* Updates for Tableau Viz, an easy way for you to add visualizations to your dashboard extensions using a declarative description. This release includes support for combination charts, charts with multiple mark types in the same visualization. Tableau Viz has a new input specification that support these new visualizations, see the [Tableau Viz v2 inputSpec](./trex_tableau_viz_ref_v2.md). For information about using Tableau Viz in your extensions, see [Add Tableau Viz to your Dashboard Extensions](./core/trex_tableau_viz.md). +* Updates for Tableau Viz, an easy way for you to add visualizations to your dashboard extensions using a declarative description. This release includes support for combination charts, charts with multiple mark types in the same visualization. Tableau Viz has a new input specification that supports these new visualizations, see the [Tableau Viz v2 inputSpec](./trex_tableau_viz_ref_v2.md). For information about using Tableau Viz in your extensions, see [Add Tableau Viz to your Dashboard Extensions](./core/trex_tableau_viz.md). ![Tableau Viz v2 SVG image](./assets/vizapiV2.svg) @@ -210,7 +210,7 @@ For more information, see [Get Data from the View](./core/trex_getdata.md). *June 2022* -* Tableau Dashboard Extensions API library: `tableau.extensions.1.9.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api)..)
+* Tableau Dashboard Extensions API library: `tableau.extensions.1.9.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api).)
* Download [Tableau Desktop](https://www.tableau.com/support/releases) or [Tableau Server](https://www.tableau.com/support/releases/server). @@ -239,11 +239,11 @@ About this release: *February 2022* -* Tableau Dashboard Extensions API library: `tableau.extensions.1.8.1.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api)..)
+* Tableau Dashboard Extensions API library: `tableau.extensions.1.8.1.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api).)
-* Download [Tableau Desktop 2021.4](https://www.tableau.com/support/releases). or [Tableau Server 2021.4](https://www.tableau.com/support/releases/server).. +* Download [Tableau Desktop 2021.4](https://www.tableau.com/support/releases) or [Tableau Server 2021.4](https://www.tableau.com/support/releases/server). -* To preview new features and test your extension with the latest version of Tableau in the Developer Sandbox, join the [Tableau Developer Program](http://www.tableau.com/developer). and request your own Tableau Cloud developer site. +* To preview new features and test your extension with the latest version of Tableau in the Developer Sandbox, join the [Tableau Developer Program](http://www.tableau.com/developer) and request your own Tableau Cloud developer site. About this release: @@ -260,9 +260,9 @@ About this release: *November 2021* -* Tableau Dashboard Extensions API library: `tableau.extensions.1.8.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api)..)
+* Tableau Dashboard Extensions API library: `tableau.extensions.1.8.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api).)
-* Certain features in this release are only available in Tableau 2021.4 or later. Preview the features and test your extension with the latest version of Tableau in the Developer Sandbox. To gain access to the Developer Sandbox, join the [Tableau Developer Program](http://www.tableau.com/developer). and request your own Tableau Cloud developer site. +* Certain features in this release are only available in Tableau 2021.4 or later. Preview the features and test your extension with the latest version of Tableau in the Developer Sandbox. To gain access to the Developer Sandbox, join the [Tableau Developer Program](http://www.tableau.com/developer) and request your own Tableau Cloud developer site. About this release: @@ -308,17 +308,17 @@ For more information, see [Tableau Viz Reference](./trex_tableau_viz_ref.md). *October 2021* -* Tableau Dashboard Extensions API library: `tableau.extensions.1.7.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api)..)
+* Tableau Dashboard Extensions API library: `tableau.extensions.1.7.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api).)
-* Certain features in this release are only available in Tableau 2021.4 or later. Preview the features and test your extension with the latest version of Tableau in the Developer Sandbox. To gain access to the Developer Sandbox, join the [Tableau Developer Program](http://www.tableau.com/developer). and request your own Tableau Cloud developer site. +* Certain features in this release are only available in Tableau 2021.4 or later. Preview the features and test your extension with the latest version of Tableau in the Developer Sandbox. To gain access to the Developer Sandbox, join the [Tableau Developer Program](http://www.tableau.com/developer) and request your own Tableau Cloud developer site. About this release: * Added a new method, [`moveAndResizeDashboardObjectsAsync`](pathname:///api/interfaces/dashboard.html#dashboard.html#moveandresizedashboardobjectsasync). you can use to set the position and size of one or more floating dashboard objects. This can be useful for creating overlays, annotations, popups, or dynamic layouts. -* Added a new method that can replay an animation in a dashboard. You can control the replay speed (`tableau.ReplaySpeedType.Slow`, `tableau.ReplaySpeedType.Normal`, or `tableau.ReplaySpeedType.Fast`). For more information see the [`replayAnimationAsync`](pathname:///api/interfaces/dashboard.html#replayanimationasync). method. +* Added a new method that can replay an animation in a dashboard. You can control the replay speed (`tableau.ReplaySpeedType.Slow`, `tableau.ReplaySpeedType.Normal`, or `tableau.ReplaySpeedType.Fast`). For more information, see the [`replayAnimationAsync`](pathname:///api/interfaces/dashboard.html#replayanimationasync) method. -* Dashboard extensions can now use workbook formatting by setting the appropriate class on the HTML elements. The specific Tableau classes to use are defined in the [`ClassNameKey`](pathname:///api/enums/tableau.classnamekey.html). enum. To apply the formatting in the body of your HTML page, use the string literal `tableau-*` for the enum. For example, to apply the worksheet title formatting you set the `class` for the HTML element in your extension (`div`, `h2`, etc.) to `"tableau-worksheet-title"`. +* Dashboard extensions can now use workbook formatting by setting the appropriate class on the HTML elements. The specific Tableau classes to use are defined in the [`ClassNameKey`](pathname:///api/enums/tableau.classnamekey.html) enum. To apply the formatting in the body of your HTML page, use the string literal `tableau-*` for the enum. For example, to apply the worksheet title formatting you set the `class` for the HTML element in your extension (`div`, `h2`, etc.) to `"tableau-worksheet-title"`. ```html

Subheader, using tableau-worksheet-title class

@@ -335,7 +335,7 @@ About this release: ``` - You can access the formatting in the Tableau workbook from `tableau.extensions.environment.workbookFormatting`. The property `formattingSheets` contains the array of CSS properties for the workbook, organized by `ClassNameKey`. For more information about using workbook formatting, see the [Formatting](https://github.com/tableau/extensions-api/tree/main/Samples/Dashboard/Formatting). sample in the Samples folder. Also see [Add Tableau Workbook Formatting](./core/trex_format.md). + You can access the formatting in the Tableau workbook from `tableau.extensions.environment.workbookFormatting`. The property `formattingSheets` contains the array of CSS properties for the workbook, organized by `ClassNameKey`. For more information about using workbook formatting, see the [Formatting](https://github.com/tableau/extensions-api/tree/main/Samples/Dashboard/Formatting) sample in the Samples folder. Also see [Add Tableau Workbook Formatting](./core/trex_format.md). * You can now set an event listener on changes to the dashboard layout and to the dashboard formatting. The new event types are `DashboardLayoutChanged` and `WorkbookFormattingChanged`. @@ -345,7 +345,7 @@ About this release: * Transparency - Tableau now supports dashboard extension transparency for Sandboxed extensions. To take advantage of extension transparency, set your background style to a transparent or partially transparent color. -* Added a new method (`setClickThroughAsync`) that allows clicks to pass through the dashboard extension window. You can use this method in conjunction with transparency. See the [setClickThroughAsync](pathname:///api/interfaces/extensions.html#setclickthroughasync). method. +* Added a new method (`setClickThroughAsync`) that allows clicks to pass through the dashboard extension window. You can use this method in conjunction with transparency. See the [setClickThroughAsync](pathname:///api/interfaces/extensions.html#setclickthroughasync) method. @@ -357,9 +357,9 @@ About this release: *September 2021* -* Tableau Dashboard Extensions API library: `tableau.extensions.1.6.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api)..)
+* Tableau Dashboard Extensions API library: `tableau.extensions.1.6.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api).)
-* Download [Tableau Desktop 2021.3](https://www.tableau.com/support/releases). or [Tableau Server 2021.3](https://www.tableau.com/support/releases/server).. +* Download [Tableau Desktop 2021.3](https://www.tableau.com/support/releases) or [Tableau Server 2021.3](https://www.tableau.com/support/releases/server). About this release: @@ -367,7 +367,7 @@ About this release: ![Tableau Viz SVG image](./assets/vizapi_demo3.svg) -Starting with version 1.6 of the Dashboard Extensions API library and Tableau 2021.3, you can now add Tableau visualizations to your dashboard extensions. Tableau Viz takes a declarative description of your visualization and renders it as an SVG image that you can embed in your extension. Version 1.6 of the Dashboard Extensions library adds the [`tableau.extensions.createVizImageAsync`](pathname:///api/interfaces/extensions.html#createvizimageasync). method, which takes a JavaScript object describing the image as an input.
+Starting with version 1.6 of the Dashboard Extensions API library and Tableau 2021.3, you can now add Tableau visualizations to your dashboard extensions. Tableau Viz takes a declarative description of your visualization and renders it as an SVG image that you can embed in your extension. Version 1.6 of the Dashboard Extensions library adds the [`tableau.extensions.createVizImageAsync`](pathname:///api/interfaces/extensions.html#createvizimageasync) method, which takes a JavaScript object describing the image as an input.
For more information about using Tableau Viz, see:
- [Add Tableau Viz to Your Dashboard Extensions](./core/trex_tableau_viz.md) - [Tableau Viz Reference](./trex_tableau_viz_ref.md) @@ -384,7 +384,7 @@ New Dashboard Extension API methods in this release: *June 2021* -* Tableau Dashboard Extensions API library: `tableau.extensions.1.5.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api)..)
+* Tableau Dashboard Extensions API library: `tableau.extensions.1.5.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api).)
About this release: @@ -394,7 +394,7 @@ About this release: * The `selectMarksByValueAsync` method now supports combined selection criteria types (bug fixed). -* The following are all improvements to the [`getSummaryDataAsync`](pathname:///api/interfaces/worksheet.html#getsummarydataasync). method: +* The following are all improvements to the [`getSummaryDataAsync`](pathname:///api/interfaces/worksheet.html#getsummarydataasync) method: * `getSummaryDataAsync` now has a smaller and faster payload. @@ -408,7 +408,7 @@ About this release: * The column information now includes the `fieldId` as well as the field name. -For more information about changes in this release, see [Tableau Extensions v1.5.0](https://github.com/tableau/extensions-api/releases/tag/v1.5.0).. +For more information about changes in this release, see [Tableau Extensions v1.5.0](https://github.com/tableau/extensions-api/releases/tag/v1.5.0). @@ -506,9 +506,10 @@ About this release: About this release: -* The Extensions API library version 1.2 (`tableau.extensions.1.2.0.js`) is backward compatible with previous releases of the library. You can use the Extensions API library version 1.2 for extensions on Tableau 2018.2 and later. The library contains logic to handle any necessary conversions for the supported version of Tableau the extension is running in. For the best experience, you should always use the latest version of the library with the extensions you create. +* The Extensions API library version 1.2 (`tableau.extensions.1.2.0.js`) is backward compatible with previous releases of the library. You can use the Extensions API library version 1.2 for extensions on Tableau 2018.2 and later. The library contains logic to handle any necessary conversions for the supported version of Tableau the extension is running in. For the best experience, you should always use the latest version of the library with the extensions you create. + +* The names of the Extension API library files have changed. The hyphens (-) have been removed from the file name (was `tableau-extensions-*`, now `tableau.extensions.*`). Starting with the 1.2 library, the names of the library files are as follows: -* The names of the Extension API library files have changed. The hypens (-) have been removed from the file name (was `tableau-extensions-*`, now `tableau.extensions.*`). Starting with the 1.2 library, the names of the library files are as follows: ``` tableau.extensions.1.2.0.js tableau.extensions.1.2.0.min.js @@ -535,7 +536,7 @@ Bugs fixed in this release: * Tableau Extensions API library: `tableau-extensions-1.1.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api).)
-* Download [Tableau Desktop 2019.1](https://www.tableau.com/support/releases). or [Tableau Server 2019.1](https://www.tableau.com/support/releases/server). +* Download [Tableau Desktop 2019.1](https://www.tableau.com/support/releases) or [Tableau Server 2019.1](https://www.tableau.com/support/releases/server). Changes in this release: @@ -545,8 +546,6 @@ Changes in this release: - - Bugs fixed in this release: * Select dropdown fixed on Macintosh. (TFSID 758234) @@ -576,7 +575,7 @@ Bugs fixed in this release: - Tableau Extensions API library: `tableau-extensions-1.0.0.js` *No change for this release*
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api).) -- Download [Tableau Desktop 2018.3](https://www.tableau.com/support/releases). or [Tableau Server 2018.3](https://www.tableau.com/support/releases/server). +- Download [Tableau Desktop 2018.3](https://www.tableau.com/support/releases) or [Tableau Server 2018.3](https://www.tableau.com/support/releases/server). @@ -596,17 +595,17 @@ New in this release: New in this release: -- Use the [Design Guidelines for Dashboard Extensions](./ux_design.md). as a roadmap for designing great dashboard extensions. +- Use the [Design Guidelines for Dashboard Extensions](./ux_design.md) as a roadmap for designing great dashboard extensions. -- Create extensions with the look-and-feel of Tableau, using the [Tableau UI](https://tableau.github.io/tableau-ui/.md)., a React component library. +- Create extensions with the look-and-feel of Tableau, using the [Tableau UI](https://tableau.github.io/tableau-ui/.md), a React component library. - New and updated documentation. See [Publishing a Dashboard Extension](./publish/trex_publish.md).
For information about developing and running an extension locally on `http://localhost` and testing it on Tableau Cloud or Tableau Server (over HTTPS), see [Load and view localhost content on sites that use secure connections](./security/trex_security.md#load-and-view-localhost-content-on-sites-that-use-secure-connections). Bugs fixed in this release: -- Extensions are now fully supported in Internet Explorer (IE 11). +- Extensions are now fully supported in Internet Explorer (IE 11). --- @@ -617,7 +616,7 @@ Release of the Tableau Extensions API - Tableau Extensions API library: `tableau-extensions-1.0.0.js`
(download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api).) -- Download [Tableau Desktop 2018.2](https://www.tableau.com/support/releases). or [Tableau Server 2018.2](https://www.tableau.com/support/releases/server). +- Download [Tableau Desktop 2018.2](https://www.tableau.com/support/releases) or [Tableau Server 2018.2](https://www.tableau.com/support/releases/server). Bugs fixed in this release: @@ -961,13 +960,13 @@ For information about debugging extensions, see [Remote Debugging of JavaScript **Breaking change** - Schema change - Updated XSD file for the dashboard extensions manifest file (`.trex`). - If you have an existing extension, you must update the `.trex` file to follow the new schema. There is a script you can run that converts the manifest file for you. Or you can manually make the changes. For more information about the manifest, see [Tableau Extension Manifest File](./dashext/trex_manifest.md). You can download the manifest conversion script from the **Extensions API Developer Preview** on [https://prerelease.tableau.com](https://prerelease.tableau.com).. + If you have an existing extension, you must update the `.trex` file to follow the new schema. There is a script you can run that converts the manifest file for you. Or you can manually make the changes. For more information about the manifest, see [Tableau Extension Manifest File](./dashext/trex_manifest.md). You can download the manifest conversion script from the **Extensions API Developer Preview** on [https://prerelease.tableau.com](https://prerelease.tableau.com). - Existing workbooks - if you have an existing workbook that uses a dashboard extension, you will not be able to open it with this (`0.7.0`) release. To get around this issue, update the manifest file (`.trex`), update your extension to use `tableau-extensions-0.7.0.js`, and then open a new workbook and re-create the dashboard. **New features** -- Tableau Server. You can publish dashboards containing extensions and run them on Tableau Server. You can download a version of Tableau Server 10.5 that supports dashboard extensions from the **Extensions API Developer Preview** on [https://prerelease.tableau.com](https://prerelease.tableau.com).. +- Tableau Server. You can publish dashboards containing extensions and run them on Tableau Server. You can download a version of Tableau Server 10.5 that supports dashboard extensions from the **Extensions API Developer Preview** on [https://prerelease.tableau.com](https://prerelease.tableau.com). - Security - Your dashboard extension must use an HTTPS connection. If you are using `localhost` for development, you can still use HTTP. - Sharing dashboards - the dashboard extension now gets saved with the workbook, so you can share your workbooks that use the extension with others. - New method `DataSource.getConnectionSummariesAsync` gets a summary object for each underlying connection in a data source. diff --git a/website/docs/vizext/trex_viz_create.md b/website/docs/vizext/trex_viz_create.md index 93b34bf0..bcd67a36 100644 --- a/website/docs/vizext/trex_viz_create.md +++ b/website/docs/vizext/trex_viz_create.md @@ -15,11 +15,9 @@ To create a Tableau viz extension you need the following components. --- - - ### What you need to get started -These instructions assume that you have already cloned or download the Extensions API SDK. For information about setting up your environment and the Tableau requirements, see [Get Started](./trex_viz_getstarted.md). +These instructions assume that you have already cloned or downloaded the Extensions API SDK. For information about setting up your environment and the Tableau requirements, see [Get Started](./trex_viz_getstarted.md). For convenience, you might want to create a folder for your "Hello World" viz extension in the same location where you installed or cloned the GitHub repository. Create your folder, for example, **HelloVizExtension** in the Samples folder, under `/extensions-api/Samples`. That way, you can use the same web server (`http-server`) that is used for the samples. diff --git a/website/sidebars.js b/website/sidebars.js index 67bdc46e..60755481 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -48,6 +48,7 @@ const sidebars = { items: [ 'core/trex_getdata', 'core/trex_configure', + 'core/trex_multiple_dialogs', 'core/trex_tableau_viz', 'core/trex_format', 'core/trex_show_hide',