diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5fcb024b..e9756b30 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,13 +1,10 @@ -# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions - name: Build on: push: - branches: [ main ] + branches: [main] pull_request: - branches: [ main ] + branches: [main] jobs: build: @@ -15,15 +12,14 @@ jobs: strategy: matrix: - node-version: [12.x, 14.x, 16.x] - # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + node-version: [20.x, 22.x, 24.x] # NOTE: There are no necessary tests to run for this repo steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - cache: 'npm' + cache: "npm" - run: npm run build diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 7de5509e..00000000 --- a/_config.yml +++ /dev/null @@ -1,38 +0,0 @@ -# Site settings -title: Extensions API -email: git@tableau.com -description: Create extensions to extend the functionality of Tableau. -baseurl: "/extensions-api" -# permalink: pretty - -# product variables -tol: Tableau Cloud - -defaults: - - - scope: - path: "" # Apply to all files - type: pages - values: - layout: "default" - permalink: /:path/:basename:output_ext - - - - -# Build settings -markdown: kramdown -highlighter: rouge -github: [metadata] - -kramdown: - toc_levels: 1..3 - -plugins: [jekyll-mermaid] -mermaid: https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js - -# Exclude -exclude: ['node_modules', 'Examples', 'vendor'] - - - diff --git a/_includes/analytics.html b/_includes/analytics.html deleted file mode 100644 index 0cdbad25..00000000 --- a/_includes/analytics.html +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/_includes/docs_menu.html b/_includes/docs_menu.html deleted file mode 100644 index 47ac2595..00000000 --- a/_includes/docs_menu.html +++ /dev/null @@ -1,117 +0,0 @@ -
- {% include search_form.html %} - -
diff --git a/_includes/footer.html b/_includes/footer.html deleted file mode 100644 index b0e69522..00000000 --- a/_includes/footer.html +++ /dev/null @@ -1,9 +0,0 @@ - - diff --git a/_includes/guide_menu.html b/_includes/guide_menu.html deleted file mode 100644 index b035380e..00000000 --- a/_includes/guide_menu.html +++ /dev/null @@ -1,37 +0,0 @@ -
- {% include search_form.html %} - -
diff --git a/_includes/head.html b/_includes/head.html deleted file mode 100644 index cb93449d..00000000 --- a/_includes/head.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - {% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %} - - - - - - - - - - - - - - - -{% if jekyll.environment == "production" %}{% include analytics.html %}{% endif %} diff --git a/_includes/header.html b/_includes/header.html deleted file mode 100644 index 5cea6259..00000000 --- a/_includes/header.html +++ /dev/null @@ -1,32 +0,0 @@ - diff --git a/_includes/icon-github.svg b/_includes/icon-github.svg deleted file mode 100644 index 4422c4f5..00000000 --- a/_includes/icon-github.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/_includes/search_form.html b/_includes/search_form.html deleted file mode 100644 index 41bb3425..00000000 --- a/_includes/search_form.html +++ /dev/null @@ -1,7 +0,0 @@ -
- -
- diff --git a/_layouts/api-ref.html b/_layouts/api-ref.html deleted file mode 100644 index 99f06085..00000000 --- a/_layouts/api-ref.html +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: api-ref ---- - - - - - {% include head.html %} - - - - -
- {% include header.html %} - {{ content }} - -
- - - diff --git a/_layouts/community.html b/_layouts/community.html deleted file mode 100644 index ca12140c..00000000 --- a/_layouts/community.html +++ /dev/null @@ -1,30 +0,0 @@ ---- -layout: community ---- - - - - - {% include head.html %} - - - -
- {% include header.html %} -
-

{{ page.title }}

- {{ content }} -
-
-
- -
-
- - - - {% include footer.html %} -
- - - diff --git a/_layouts/default.html b/_layouts/default.html deleted file mode 100644 index 38ee020b..00000000 --- a/_layouts/default.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - {% include head.html %} - - - -
- {% include header.html %} - - {% include footer.html %} -
- - - diff --git a/_layouts/docs.html b/_layouts/docs.html deleted file mode 100644 index eea65e56..00000000 --- a/_layouts/docs.html +++ /dev/null @@ -1,32 +0,0 @@ ---- -layout: docs ---- - - - - - - {% include head.html %} - - - -
- {% include header.html %} - {% include docs_menu.html %} - -
-

{{ page.title }}

- -
- - {{ content }} - {% include footer.html %} -
-
- - - diff --git a/_layouts/guide.html b/_layouts/guide.html deleted file mode 100644 index 482dd4a5..00000000 --- a/_layouts/guide.html +++ /dev/null @@ -1,32 +0,0 @@ ---- -layout: guide ---- - - - - - - {% include head.html %} - - - -
- {% include header.html %} - {% include guide_menu.html %} - -
-

{{ page.title }}

- -
- - {{ content }} - {% include footer.html %} -
-
- - - diff --git a/_layouts/home.md b/_layouts/home.md deleted file mode 100644 index c2cf32fc..00000000 --- a/_layouts/home.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: home ---- - - - - - {% include head.html %} - - - -
- {% include header.html %} - {{ content }} - {% include footer.html %} -
- - - diff --git a/_layouts/news.html b/_layouts/news.html deleted file mode 100644 index 8bed88e3..00000000 --- a/_layouts/news.html +++ /dev/null @@ -1,37 +0,0 @@ ---- -layout: news ---- - - - - - {% include head.html %} - - - -
- {% include header.html %} - - {% include footer.html %} -
- - - diff --git a/_layouts/search.html b/_layouts/search.html deleted file mode 100644 index 2c76e6b0..00000000 --- a/_layouts/search.html +++ /dev/null @@ -1,43 +0,0 @@ ---- -layout: search ---- - - - - - - {% include head.html %} - - - - - - - -
- {% include header.html %} - {% include docs_menu.html %} - -
-

-
-
-

Loading search results...

-
- - {% include footer.html %} -
-
- - diff --git a/community/CommunityManifests/3-D Scatterplot.trex b/community/CommunityManifests/3-D Scatterplot.trex deleted file mode 100644 index 53f0bd2f..00000000 --- a/community/CommunityManifests/3-D Scatterplot.trex +++ /dev/null @@ -1,22 +0,0 @@ - - - - en_US - - vis.js 3-D Scatter Plot - - 0.8 - - https://mantsui.github.io/Ext_visjs_3d_scatter - - - - - - - - - 3-D Scatter Plot - - - diff --git a/community/CommunityManifests/D3 Projections.trex b/community/CommunityManifests/D3 Projections.trex deleted file mode 100644 index 433389e7..00000000 --- a/community/CommunityManifests/D3 Projections.trex +++ /dev/null @@ -1,22 +0,0 @@ - - - - en_US - - d3.js Projections - - 1.1 - - https://demartsc.github.io/tableau-d3-projections-plugin/ - - - - - - - - - d3.js Projections - - - diff --git a/community/CommunityManifests/D3 Sankey.trex b/community/CommunityManifests/D3 Sankey.trex deleted file mode 100644 index b97bf276..00000000 --- a/community/CommunityManifests/D3 Sankey.trex +++ /dev/null @@ -1,22 +0,0 @@ - - - - en_US - - D3 Sankey - - 0.8 - - https://mantsui.github.io/Ext_D3_Sankey - - - - - - - - - D3 Sankey - - - diff --git a/community/CommunityManifests/D3 Sunburst.trex b/community/CommunityManifests/D3 Sunburst.trex deleted file mode 100644 index bc22b715..00000000 --- a/community/CommunityManifests/D3 Sunburst.trex +++ /dev/null @@ -1,22 +0,0 @@ - - - - en_US - - D3 Zoomable Sunburst - - 0.8 - - https://mantsui.github.io/Ext_D3_Sunburst - - - - - - - - - D3 Zoomable Sunburst - - - diff --git a/community/CommunityManifests/D3 Zoomable Treemap.trex b/community/CommunityManifests/D3 Zoomable Treemap.trex deleted file mode 100644 index 5446649c..00000000 --- a/community/CommunityManifests/D3 Zoomable Treemap.trex +++ /dev/null @@ -1,22 +0,0 @@ - - - - en_US - - D3 Zoomable Treemap - - 0.8 - - https://mantsui.github.io/Ext_D3_Treemap - - - - - - - - - D3 Zoomable Treemap - - - diff --git a/community/CommunityManifests/Display Images.trex b/community/CommunityManifests/Display Images.trex deleted file mode 100644 index 3dbe7787..00000000 --- a/community/CommunityManifests/Display Images.trex +++ /dev/null @@ -1,27 +0,0 @@ - - - - en_US - - On selection on a dashbaord, the Extension will display one or more images - - 0.6 - - https://illonage.github.io/DisplayImagesInTable/DisplayImage.html - - iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAMAAABrrFhUAAADAFBMVEUBAAAAAAD///9gYGBAQEAQEBAwMDAgICCcoKO+vr72+Phyc3Tl6Ora3NwuLi58fH2ChYjR1tqurq6TlplOTk719/hSVFXy9PXi5ujd4eTX3ODU2d3Z3uHi5OXu8PLb5uvo8/qcnZ3p6+vT6/bp9ebj8vns7vDZ8PoBOV4Cc70bl9UzruMoqeFXvOiO0/AkndYIe8JHteV3yuwjo9yv4PMniskEPWCDveGXzenH5vWm3PN2t90Ng8g4ndU3p9iI0O50u+Jpsdwjms5krtsVj9Dz+fIdlM1YqtkKRmZFp9dBos5YsN0Sis232+2m2Om43vF7wN6X1vFHsN6EzOxntuCX1O1Cr+AQTmy04fRnw+o6seQSUW4TVHAKKTdHiqZnamzN0tXM2N6Hu9M6nss8oM7O1dnP28toa20ODg681Ki61obI3FXS3SHY4CDR3jrR2mWs2ru61WjG2XSn2cvK2zrH2SK31CXI2kfD2sK51TS41kq20ZzH2WWq3Nit0DKs0Ca30lWu00yrzYSu0JOmzSiw3cu04OekzTSqzlbK1IWxzmmey4yZySqIwizk7qmr2avm7Y+64cjD4InH1JaYyGWJwjiBvy641ni84b6jzEfY6JHJ4G/H4H234dp5vDDo8N213bfF3OXE1Kri7JDL2rvQ2rjS09TR1p3I4pTR1qd0ujDN07zPz89tuDHO0snK0rLQ1czC1bKwz1+q0FiyzYmbyjWZyEu5zpTg5NvZ4M2kyml2d3jY39eWxlnd5dKBvzqJwkSozHjR3Mp8vS673Zaky3vY4NmJwl1ptzKRxWe63qRjtDOcyn57vVOy25iQxXVasjRVsDZ5vGDK5r9SrjaGxHVMrDehzJfe79KY0I5DqTh4vW1oul2IwoO026NUr049pzk3ODgcHByMjY2FiIqssbQmJyhNUFG4vMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJZYWqAAAAAXRSTlMAQObYZgAAIgpJREFUeNrtXXuQHMV5/2Z3dm/3bnfvyUl3h9ALCUs8RIyRjV0uIHZEMI4fMYTys0ywrHKRlPOfy6lAqqAq/sd/UKkiVbIcq4idsitQ8SMQjOzEcWxjkG2MQCAjCT2QuDud7qG73bvb3Zvdydev6e557HPuZlWke2a2p6ent3+//r7unp6ebgPe5sZo6a64YVhRp9xlTNuurA0B8VinYVdYqDZNQrMEJDoXPedgZRUJiFejhteQiTUjBs0Q0PG5L0wzUtA4AckmZStSkyiHTkBr1UV0xg4X12Wi/appsCRojIDLSvyFaUwNGiLgssTfIAONEODBn7QSRqeVCba9YroBN8JAAzhMlzLFkp0G3iGh7Cqq4vUr7vpYepZ0+OlOLg9jy3rquhfbJ0ALkehq6YljDU3cyKundWvDugRozb/c5VAaJueVk7qNwnoEaA2ArljU4Boy1ZJyUq85UI8A5bqZKcHlYeJFRWzrKEEdAtQaoL8YNbCGTWpOYaN2TVCHAOXywHLUsJow6Vnpri0CtQlQBGBwyS9AT+Ctiz386Di03RM8ZAYyFx1nbRGoTYC8ag5otQvEMoZhA928FrxbDAtTdXfdKc9JiqESR0clXkEn+WEW8ACOi2SNuILednJaS192VsK2G4PoY5Q2kK4AsWzIGQaGTGUcCDqGFw8CKTmQM4GfckNC4k7vvqS1gRQlqNkaqklAl9OWTsYV7+GSvZqN4bhlgmUSabBMS2+Hx7UzGwNVWGjc0KVJQUUmvlbtVROJvLjpgvQd8mtbGAs5tGEIBkNEGKhIxHiOp3HBBz+lPowny4yX45WEwoDSGqilA40RoJYA7vzPZ9Ei+ka7YPhN2v2YRoPGalokX1cYKkOABwIXL1A/5dSgfpwBekVhQCkFWiVAil+sS/oOYhoNBjvLEi9hKN7ORbcXemr+LImYjmQZESRLptVVsbqqlm0ky3aC/FStZBndiJHQpJwmyygBGBbvtpGAZBmSsvCHklMm1KoHahEgHwOUNlAsa7tuEojUbPXJacmr5RYBSgACwx8Ts5PAEdmLNoHgTIufaKeGnYhVVzA+LKyoCOFhwYlXtoZqPRAYPi6vGZYaMLgCBnhzlPyaFu5z2iXipdefzHsuq8oQrQfzWYRD9bYLj4lY2a821TfkIkHwEwqqYBF5SczIf5pynDV0oCEClDpg/coKSasGck4DJETCYcUtFNAPc85lYknyCP6uKkdDAJUa24iYryRwY5mcWCnIylDWA+0SEE9KAqYyLvx5YFv/XD/NfVSYOWdzZT81/bjP8eBABQA9Cv2tPml3lajgUAYSSITUgbJThrVLgNINMDjnIkCF6+BzzBzwvKbqwfc8Ac/uQGGATFv4EfNcBlkoYDSFdYuFjCRAdgy0S0Cv7FwcnPNcVRjoZ6DrGskAKRQyBXDwIxoCqGFTGJyBwZkMxY4OWLdoO0IXHgGaBPhgkdYXau0gmHgAknwgAIADagy9n6csAxKOMIRIQOf3CfWsggRIFehptFNgeKrBgIrJcCkYnBkMKPR1F5X5NSFASkDDBPSTAjnRDAuDpQzWZgVyqNsA4Bup/DgFIxMinlVRAacaTM+OjtcHT6sjZuf8LpOIlmlxMDo+MjEE0yMTI9gaikHFiFXRNkxa1YaCuyBoXwKuWcMXP4Z4xdbSA7ZhoC5UJhWfoenLjQC/3G6CDDtegsrKzMAsAO70p+QQ0KoKrCUBybZfNBnlqj0JQ9VZGIpNEQpkGRCCBHSV9F/d6QlELHcI38AY2FGVACfjm1OHxBJhAEBIQSkcFXASLLFITE6F5FRJHLqLF0mCCK3z11UyQmhXJPP25MCsY2WXSOsq4IDSw1IQ5EfJbOavAdduAE8U3MFY6VbubbmjMTVvVy2KPiQVSCFMTGATLfLmzQqTj/bLAJLyItjl2QETAGkAKQGtEnAzb/d1eQPb+hk/pz0xase+f3jNh+Q88hx3K04rYmDnLlrTKACxGJGD9htCwQSEaBaIkOEjeyjPFrmLdhlYCQCmbBa0LwGsE4514okuOXqJOgG4l+JyWdDCMw8W2yJr+pcTuYVKvHcR2ioLBsdLFD861UKwXQL6yBOABd1LJj3lLyDEaWPGMgN8+MuahOgbtWYbjdKXACwFCfphPLZfC9ycLGDuZAr9hIgklEknNLADMKfkmF0kJlUEYBcdT+cURKCkiAwJIAKQSQmNnW9n7MHg+KYTMQtjxVIgHBWgiUvEWOro80kV2EvNIBMrptSrGNQbmvnQyGIz9C8Kw9bMoJuAFlTgrPJfYagAyX+UgBoFlHhiIziTluJbJdnrfqBzTqV/qUC6gqgEUAraVQEplWGoAPvtEa8dhSKTE1H+OS79sukUdKy0493cACKcKDVpGYAEXGQCoKlA0yIweHbb6z4EtCoBd/An7ODBD7qxmikVheGFIEoAFYB5aKsMOKu0/0JQASEB/HypW3UI1ZYq7ls0EM94hV+iNR9zi8gukHZmH5QtJGC+F+0qSECrKiAkIFvF1PIEi3SfRCwb0tWYeRyY5l97oY8WeLHj2iug7bzYnF1/hHSLjfSM0eKCjW5Y6o5XuATMrmcS0F4ZEFuQBMiHwbZUoO8SISDGKJA29nO8vjtdhZMTMoo9JSzcqr/Qon0/LQeX33rLFYpYJCFWXWT/Mbse8c/3UhVofdSFlAB8hAmDgL5LfZdSxSymuNC9pNlfUCiFzHGFALh6DA8/16K9FapLmdlXVK/rB0ipJ87yfXAJN0IApaC9dgAhoMQfUSUBratAH0lbX4Ull3OQIY4MkwAojKsEwPvxqpuAQqb4AnVusIAEHtnOoyO1XyFDCbjUd2r9DAwSLZjiqk8OTYsCUQGBvyuEWoCV6sUS7afPsBKB/XACmATgLzblnkWfG/oL9MqtIEGysPDBFXTFZl4eu36ZAKdNTHLg75tPMRWYhzZrASSAOUNRAV6tzfsE/x0hAJ/hiQTsps/ylZcwd0fZlVsLGaeTOpP4KR7v5G8G1i0v6BH1QjFFCEhbqAJYkbalArGFqSGnny0EFahDwIcuMAI+RAdOrftPScBNMuBC7hxi3xXYROil+IGqABaC1mKb1eAJ541NGBJAEndqy0T3Qo5CAfpLj14Chp8hBCzkqGwMwTTZSHZf8WMQQRRWeFScgGKKSABRgV7xDqmlqoBIgKNDIRBgwfgWTJ8qAWQQHDkyAhZykgCS0TfGGTXCoEQsbEPJQJHA26wjzJezQVlYuIL5jaMEmL2WOQ89bTQEBs9Ove9X4sE6BBWwgEkAbdCT1nslnqPDAHNcAhagG0H9SbI0NfJ7knUfOm3BCY2Ahdw6RgCClQRggoRO8GEU4ygBtCGoFYLNikHsJAw594ckAae2nBqlKdwiBoiNk/PncL+9BOO9R5Q4bhzAsM8pHrt6xkdzRAU2kXsWedjbT/M4FYMSYCL63vaeBYgKTIvRd9K7dQJU/DzN4+z0DCVgfMuMQgDBPz5KqemiA8FLCzOjUP4tum5dwfumeoanSPDbDScuZtExBxatA6A9CVhgKsDG7DimZRV4kycPWCIJdupAH07A6KJDwM7K2CngBGwiNxLKCINHUTl2LlH3KJUYJgECPbdEArAO6G3zWWAK2Og0UBloWQLeFDkEEv7FbZeQkBIpA7ZdwQi40z692VwqAgtBCYBRKjwEMvRhAwF2TwGNioQnxLktkQBMZm97zwJEBWKkHiTjsaR3qwT8xSuYaFDGAaAzUTx35zGA7tcoTGz7/YjkqBroDL/i3JI+Rhx3vUqO8TfwsNXnJUi6d8bERpG7GmySCyIBwEbrhaMC3mA0O9kojBvxIQ6YSKshCAEjMDzFLHmnsOuH9AJ6TlB4fgRA2sJacBF6FlsvBG2DEDA0DS787UiA29z4nBzsspnERiRAB3RGu2ETOaT+oHrttL3Da9LLaejl/SFO3jsbh1f7lxisBvkYXI2BdghILzspXCbHrgXx+Pfho+Qil4C0xKQTsAPIlXj5nPAYe9dxv+FFaat3sUcIgHwS1B4M6+y2YcdRAnxGZbWqAkICJAk0O7djpm9YX2Ce5s6zG2MvcYao3XZW3L/x7MaznPv0dvt5TNiGnSeTSmS48x+qAfNUB2bEx0NgB3yJFGiZBHhNyxJwkqfOSabmcCBz65evLm96zmGD4oQ0cAmYJYmkA96hOfDUxkMm4BWZSL/Nhd/tIdD7UaMwwe5kBKClw90MW3nn3LgxAiSgZRU4uZyuYcF1EggzDbhpxkNTGih6MrShWdSqCVsCahIAy7GqatPgRxHF3z9Xc1hlmvKD0j8AswMwAy2bXUfDJgAgOP/9cLgoYjnvzn6vISHIswPCnyVJ3HWEbC2YeNgq0EDi6+Bq2BDxH5gxBmZUAnYdacpCyBLwqT/AmpnSwMwgezWCDOxqNZawCTgSODqm1P6wGX3wWQ97OXxle3EuP+vr3aoKfPqYAtZ7dJ954AVfdsA7nfglMqzlyvNoV4GAViUACaDj5Hw39cwFTjo4vi55kzzTiSrdAOcF/mM7xMH5iYoAmWSvlZBAdMXLQaMcosaTLvMaD6WunivPD007ua9SwF24O76B7k1hq0ANAkQgn7Gx3F9cVQfb6gGUK/YuOD+Uwo2BYrDIL3WDOK+zhS0BLwUHZ4NloeQzBlqFK8dDixHC/nTBAEpAime3tCoLDVjYFC4Bn/EEjy343rtyPsc6+ZntXeyeG6DtemzasF9WwIkjkCKfOsgrYfpa+Eoopoh1QxLbjgYE4NiOkGsBr/kcPgkDe0kMH/3hx+AHePqxQ0sf97v5+HayjYu3wGQsVGqaDIhbXhyaxp9pGKJvj6bz2aEUQw8MKkjoKhF1zY5jIUuAPwHdbKwEMPho7jasGI14YkTeynrP4ThCtxfpYDOgL4MpbnIkX7UMMfjA8J/WcDaC2GPWgoBu2JN4Gvb8wPH72CG4g98y4bzuIBk/Oo7gx7gIkNwnD3xEABD/EG8mT+fXT24+vRldpx15l6ZpEtL+pVaYKtC95xB1ObOqIH5OwIT6tmecDg6wx45nhAog9PTyIso+MPj0gWlyPbWbT/v+XdPDzgIICFECfipcggA6ZuqOyVF7Qrzjod5vsUj4vDhyxiD6GM2ekrMWbuh1etsJ3/9qZdDdqhPwxae4AFAGUBrY6R2TQF974B+MjZP/GBsHsAO7dLL5yfVUA8h4Mk/ei1GZgoQmdiu72irwxacc5xJ0O2TcIccl895JfTolljtOFxJg1hN8Ws7LsfbAD83CB+v6M6suAf/WvcTFnjAgvFEFgKq9pMEtAETk+XjZ06jxfmLPR9A2j9vZgyQgRAKenu9lrvmcMZ/N03cZAHsm6dwPmcJIHrITI/k3r+p3hhSYvI0CwXW687mFHGHckgXr6lAaQh4jZ9EJmEhyZ0VNeMsIWocuIghHAmpcCyDgxrwYGB7tZoZTCzRPwE76gOOkRDtZyw3CqQVaJaADTFQq8P8EdAoBXa/5eq+VClx3lGzMEY2JTgKuOypBExfjYi03IEkIkIA1UgE1La1kX3uG/mdUKvAR4ygVAbpFZclfn41IBT7yKgMOZIuQg+tORKUC28ARAbgOoiPgbEQNIaYC6OCHo0IeXI5mLHg2f1++sZ+oJOAjNIBIYCSG/XW0BHSAORFZLRA1coHvR77eayQBr1/DTx2H5mzc+N/USFTREuBObEvgvXDVaLzU6n8SQMDqq8Dxa2SqfHGjZ93Ndafqw345rcS6eBZ7ZBJwXAfBE8kPDYqCAClu1KEpXpJQT5gICVARa/kF3Ku+dd/pez3wlNrtkakAOOkBfgDnpEELr6t3+lx2+YPP3dsjk4DAdDfOgRoF+F0GDS6AKnL8juhUwJ3voO41WQA3Berm/uWbNM4/sAsRqgCAG7az1zQBAXzi8WdT/6eoVGBXp/QJRlgGdIaJTAUm8rDaRvkIKhv4b1GrAJte3/tbI82eC84s/a5NC829PDdHpgITef9U8l/mkklmLocb5vRFpDHjCqHcJNY3GIlQAnyz3i0CgVmqowmWAXmixC8ji7AMEJ+rBvy6FqEQIpCV62vod/huWeVfPAfq6PL/zmTVCdiV9C6h415+Q0enURJw4hOJEsaPZwhQgcQn90dLgFxPSFl0xf2rikNwPEoUPnGNRKUCr/Xnnc/2g3YXQBf4encD6FRp+JkEQHQEoARYZrbmLhabUsHop3WjwF3nU3hwU0MFVp+AuvnnYxrMdo8IOBF6ZCI6Ahb7YS3NXNDfvR0ImGPrM9GFajxMlKOqBteMAA2xd7menZFJQI2bvQsM1VyPqI5xVnLyvbcnIgkYaXTa1dU2URGwK+y1ci83AmpIwNY3gry2voEOn8t1DL/N/8YoCSApCthZYnXAW8G5rlvg+Ji95nVvABaJOyz1XZzwTd9aEOBOpmNBheakGVSU3hyWJ0GZzUmQfao0qsnIJCAQv2CAJZAFV1kR3vL7mNe38sm4yTj611lQfl35ioZ9XPDGNWKabhZrZBJwA4PVsKEU0DvYXQQsvySQsrUcQAy+ZpcszcmXO1DIezFKAlbNKOzUDIaBXo6SgAvrwsGrx4OwLqyrxCdGvJd87ouUAH8AfqfqHgCK+pqlqT8yDLIOW8VcST4/4lwcs0QopiBOHBESwAE5mJibpYydu6Grvs5R42SjYSkJjpnGKRkvD6tFdGFdVARs2Ong9W6SiED8ACpzJPyYdWG3WXT/j506pYuOQgM9vnbON31rQoC/dfIq4KLwB7opNw1tNZfZ1EwgNnKoTkDQX5H7LkQoAYEWnIPnCighdHtL3LWWldhjx2Ba4w9UIjtOAkBHGhBkN1ma5zA4fADckrT4VHp8UVG5m6VTXGJchnhGRsCg/30ilRyW3/Wh660lhq3PfmWaB96C+Gly/WZONF+dBvARG+IZmQoMBt7qj9wxN/LVa+mHxbHsz+jJBwxe/DmzLWq7eXQ6KLoOJKCmucWs6vON9bw4DeXkHVWQc7H57PEfB0U402EqgGD0Xxd+I+ZMMCCSenR89GaLLyEfaOYPk5WW78onnkkOjSeVP+g4AoLgU58PWD7T65pH32MUE1DbmD+66y3TJh+o9wwU/kv8AR6jImDsinIy2AL4+OHhz6qiepdmOd1jGEWoZ/KLcqbO5IkZJ958VBKQ9UfO16YTK9WpFuCjFiSALkqtJnUFUvXyH/JL+nnf04LTqAhACaB5wVbgE4vrSS/30nzkMHSLowB8FiFqISX+U6ZVXWUcTXHeNZls3P7fcvKqkwA3b/u7SAlwGQdz0u/qp4NWWTVobS9c7nlI8NQ7cXI88zTiv7nHGPvbiAjo9fO9Gk5eza3qPfLBYtqofvvzJdsfYHrZkLNmeydXt4s+aYj9x9Und8fSECEBFCggZDhJkZPNMSe5D6Hic2xMYeyqdFGZOFwB2G0TTQChGSBO+NHOk0IDywm+qj0FCMvP3n8aIxuNjABEu3wnwOzLUNvcMF9ljXzYWExTApbTJJ/FUfKgpceZbHw5zQvAYkq9XrziCF3Y6eq/iYiAm26LH6GBjBuMn9QiYEuCV165UZ7P4GSy+NHd1EEONFxqLgACGyg2FhEBj/3WENMKQ7pybSAFy++ySB23gqEgCwpc9MEMzin4Mb6i3U2XIMLMZmsRkQvKG1FVSDitwxER8A9vqWf2dd9Pb9p05hg4syov//m/D9xmXDpTinfVnGLa15DZinLIgkEHBmAJWUwDLz+J4jDal9l0fLmICNj/ijN5FJ0bfrG7iOivn5u47ugO868eIzE8b5N1F2vO1V5rE3PaY0pyKB7OFE5ML4rLHNiVfxkVAcoJSSlSsQw9xffSun7fN55PGK75xpvcRN+YjKMbiUizVZoyBVQMlgNREfDoeYPIul0U1TqiH9iCYfcdvO9bv7a6xBRirc7TrdzojqM7i2KxbpKVqKnqVyIiYKqMKbCdJQGW3jF2/2Owbz8+n56vsgas6NJqyTg38j/gkYk178lqFLmUgaXEQFQq8LKCLTawlTwQ7IXHEr+OGWAspTUEre88FpVGPV5Iv+P+iAh4hTfqbMO6hQV54LHEkbKcWw88c+w1bsHjCLRRtQSpBCBAc3Rk74G9pNSH1IsldfUTMbdkCwSAQ5yMBKQbOoIAWgvERwfh0B6yAZxrY52IQKO2fBy31mZe/aZwyveTDkrA4Ab5h79v5H32Khh/ArLFVZeAE8Xua+Wl9OHksrPAitOO8a7MkdZDBRz0XnH1ZiUWvqDLGkiAtpChMI+ez9+snL6SBPdaK8q6I46puYSN/4I22t2ueAgHqy8BqYtX+DDw6Ph28kPmG02Wg+a2bcMs51YaC7j6T4MpuHiFDwEl0i/+wIG9B5f2HTSrR8Dd0QkJd+9ncwZvxuOKHqdPsOG1kQDXYnZIwFdo1ZfEOhDtff/ycnxF79ol4Gt09uqh+dlKwn3BG9R9g5sA/iFBmAR4lrKjBKz7PGGAiMB9B+47uPexmY2/yxaV5JKHtrw/Bbyvw+Xje1E9c3eesG6Vre6WIEttqCrgx8CjI5+Dg0sPHDDvOwBcCg5OmPMm68cosv47pevHi9TpGJIAVR6g6O0tUo/CRCYBC9Wr7weGfP8DiJ7bxwsTubHX+nlovoaAY4qpov5GgHb98DDsFYG8CKmix0Ix5YrE8zjMPqUJkwB/CViA7EvLP0T533ugDIQBfBR6wGIs7MfHwm47nz2/+dyGcxteqzp3eSZPF+iLca4tDl16F2iwya2+BHCHhwAA6+z3AAF/9mD5gcf2ffuzHP0+2L9v/z7TIkc8wUbTPk/0fZf6LpHj4wZ5jbhkxpCkM9e+iva/b3tRMJUqxkUZEkyHSwLEx1qrQIDOwLeydLLsncYyFkKEAnK2bz8SQXfOAADjQKOAQBe/fEc+ADc0B/Ze6mMu+OarY1B9k3R+mimdAPWReO0IcElAvpxgKbjhhevvo16P7TMPfvbbaFnWU+ge9Ay+g5uKgrAgoBMe9OQceG3deTCWusi7Va1vxBhbbQIOfUa4dAmgvcLvOAYG7jufes+Xn7gH+ETxlslEAKgMcBbchsGX+A/cw7A7FLgNaVZgzfJ1ODN5+3EQbxHBjkwFzrtect34q01fdiig2MmYVj/sTgEARO6F/AsLXBt0GUisKBZWHr94xujN056BaCXAZXacmhv/XvfSPd/lg97Zj5x9HFBMeAkgCwAmABSuW/AV/JIE0V5cSXwNWSgEEPCdPWERkOsV88XoBKx7MeDOm4z805/85F3fzS0g9ic+7hNCaL9WADjZ749fyf6E2jj+5tkHfAkIWQLoYlleCWDf8e0+7N3eWTXzT1e++/2P5+Bxh4Pe+UzhiXsyBdKvrxZ8ErpSGbgYUAnQWFjUC+csX8+s4AwpaZ8AtmCYi4BDKy/uhsO7AffDELS9s1p5flPsS+p9vfME/hNf+OYXvnmPmvHi4KcG8tkyoWe/lwAuAF2lUCWAM6AT8EL/3O7D/Ztf7N9cdxmISiU1V4HPkIXmYf6JL1QO4oaCkDm41yv4vsWAVAFZAPgTQCWAMDATqgQw65IA88Rm80Qx1bjdXD226de7+z81T8Sgj7WaAZsQ+INMHCCx7vVhoUYBgMYquSSArWkYpgTcL9Yb1EarHmp9JqktR2dLO7707CfiFcQOdDfhwH2k9XvA4UCi92pADQnI8gUg10ACjgNdb6Zlu6P6nU9032sBe4AgC8YwTVByX638OHxP74hHAviCj2FKAHe4CLgwD22bHZd67jXJuyXgFFCjUaC1AMBHDdwSwB3hSUB3RsSpq0DtIeENm4kNDxiA5YHpaQrp4KUMKMa0HnzEXQvw1P5zaA0hRwJcBGB+vTWGmzxoJ437GJNIgfYtpGJ0/SdGz38TNv5KI2AVJMAZFa0R8D+8lyNeaf9olu/FxwpdBHifsrsFpIkAbWXrEjAkHCEWgkwCZgdcBBiVeCUM9BRt6V71K2HZAa50r4uMVykgTxm6BKwCAQES8MsKhGhit/WxetAxnvrP2whgn1vPuySAPXeZ+0MrAwgBswOrTACYdxr5J/UK0FP/ed4P0GbmvFcFSHJDlQAklcSp1YO/jJGj2jBpb/unZxwd4Mpfq/0njasdMMS/PQ9ZAsBbBjACwjM/+Ud1why98e+Hn661Z371EU8ZQHsfZgdClYDZAYQ/O+AmwKgde3MmdhcoIiBaAaLw85Z/xNCFGnUVWG9xfQ2TABIj4UAj4AVWDcbDIqB6l3rGmkDgjA8X+AUFTMwJYUX9e7ohoHllQqgqgOiHqq5C8H1fpzVYaAQYf+p5BmS/oPSBSEOEH/F/9e/NSS2aIYJ/qGpaIUqAAQMk/2ehqgX4jU1LgWosHGvsYUXAww8pFMjWkEv+afn/1a+hAOhlICGgnJyFoVjYEoD4dRWAF6sQppn+tHA9/FBi5eGH2JGPEnjwIaUOJIIv1ugtugQAywCqArPDF8KUAICBcmFg1oX497QlICY9aXNP/DFWAtl8P58tLTEFMAwwBcNEBqaGlewX6w2bdFYVF34YKndPkeQmwy0EUaaqrkIQ2T9ebnmxXM/+rX89cPeTnt6wh/96+MFHYGrY5c2WakXiFj1jd9YvJWmRFQtXApABNB6ZPxJaJRi/DQ9zT9795N1s6jjNDPvdQVVg0TN0Z71VLjDYIRJA9J9sXqU/ahhQ6wPSRq09cS/FD0B1QEKfGp4aDkqhqw3ITA6StMQKsyHkuPxKvaOVMKTg689Qpa8FF2imL/ZY5mIPteA7fnNVJKAWAZ1mclCAtzUBseGp1SOgZ/VXFGifgEz4EuDMEGx3PgFZg6tAJv/2JEB+h/g2JSDrJHs1CEhOQ6ebobLoTQiPgDPvpk8kGGuh86uB9Uv04dGw4YVNYRFw9n32pUwiVsKm92zU+OqaHH+GBji8MSwCoC8DtpXAvfN1YMiOVS2b9AouXnI8WyQg4XwCtMmKVVe6qisJ21qAzjY5TLaN6mrY6TPCz6zxyUItAkyn3/+KpIHZjw+gRiw+CZ1shmzbMmzaW1S+KDzjNT7mqkWAvLiv+LMKiTNeta2OVoJsEvOpEidpXbxXLLFSs9+6MQLgzVvoUJ8EEYNObgv0xomUVm3Dtn5zlePbMgFvOsXo2feC/Jo31qkykE2Q52WezOdk4q+qcU9NAnrk3E25LH2Ly/YOLQlzpkwi5GUau2vNgl+TAOXqvuJP1QudVxJkDe3NslIC1H51VZsAWQ9AfH3UEJsyk0rKa37QW5sA9XKuJ+R3oatpFAWo8+6yDgGKCMBAq1NhrL15Xn7RXUcA6hGgXt/34M0hvQNbZQu/eUQWAPVeXtcjIK4+/p17d4uzQaytPazkP8TqDGOpR4DyQIDmi081IoARmw9/Qzkx6325XJcAPcRb9u6o8dUxh40x9bTuK4v6BPToM1mOGzeRnz2HOm4j5nf2qJba7rorAdUnQKsJKAWb093174rALC2f1uHXqwEaJACSbj06m9hR7LQ6cTl1bGWjyy9Rrn9fIwR4Gbg8TCP4GyPg8mSgIfwNEqA3By4PU68B0BwBTQTsENPoK/vGcV1WatCY+DdHgKtR2MmmbvOvRQIul5KgQe1vgQC4DKSgmdxvhQAUg1jncmBWm/6EobXCPW4YncaCadstfb9xudVuoZv/AxO226WCYBJSAAAAAElFTkSuQmCC - - full data - - - - - - - - Display Images - - - - - diff --git a/community/CommunityManifests/DynamicParameters.trex b/community/CommunityManifests/DynamicParameters.trex deleted file mode 100644 index e69de29b..00000000 diff --git a/community/CommunityManifests/GordonData Data Visualisation.trex b/community/CommunityManifests/GordonData Data Visualisation.trex deleted file mode 100644 index 2dc78da2..00000000 --- a/community/CommunityManifests/GordonData Data Visualisation.trex +++ /dev/null @@ -1,23 +0,0 @@ - - - - en_US - - GordonData Data Visualisation enables you to visualise data in three simple steps. - - 1.0 - - https://GordonData.com/DataVis/tableau.html - - iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAYAAABxLuKEAAAR40lEQVR42u2bB1RUxxqAMZZo1GiiUYkFa6wvMRKVvkuTXhQXS8TISlGwR4oorgpSpasICCJNOkgXgV2kiTQREI0IqM8WS2KeCcYXd97ce2dhuOzCgkjyzuGe85+9d+afst/9/yn/7EpIiHElbd5klqOvfCfdxEhb4v/smnuIpT8+zOz61EDzLf1eebme0svH2nKgTlvxAcfC4pP/ByCr/RysJ4aw8yZHWN+d7rnpmGSgWU6/NlBZVrbyrq4seKgjD+4aKAL3b7/98h/MY8hCLzOZ6ed21EuGmt9e4LfdQoLFGgoAGDLhlGl2v7ZUmp8v16wnBx7pUmAC5P+BYOCXl3TZYPhpMPvqROg209xN1tBVJpzbHirlsEay39qsKS1FYBRAs6FSv4F5/iB/6tt74dKE3HsWLt30a3QnaXwWLV1SmzxJnLqkfC2dxoWYXl3sb6Vnst9ktDCd2WHW22XO/bhN8KymNntc7mlGqdmGWZPF6jCTyRqzak90LMMm656MVezC1LBIuWZoLSQYAwimH1zp6tWr0vm5ST//Xm3B599g85/eZvOLn0N50SElz834ZQ+dn/JK0pb3VJ/sXtYowo2605nG0Z87IcwsTPB8KUjR43aSajMvTGu7WJ3WtvZdyXCqBQynm0D1QG62uYqSXLMOshgDxnuDIfw9MzOzMi4uDlxJ9wR/VbLAu8p1oOGuMeA+Mwa85x3CfcYCvAbv60SZ/rBSqRB2QVZW1sf54VarqiOZLeFeP6hWxSsXilXYzDXRQsHpFgRTD5QPltwJ83KDFrOy38BAa1mUkJDwLj4+HsTFxYL6y/aAX2UM/oRS/u/OYAgpaN39rqio6Kv+ADP+9A+Xbd0Pzf8pRak02t9YjexPhFLdPtPl0wU69fX1I4QWVreJYSg5NQLmsZtA7WDhHXh92uFKFBgLFYs5TtqHeU6GDr697Rx8YwzCWggwpMTFgIe5W8Eru6XgiZ8cKHyytjOY+6Ygj5un2V2dmauN7K8ZKvEIydVWqeQwl47H8897aG5qzmLdL0g3BEWx6qA0UM1HYL0pfkzXK5H6NgLdM+v1v4vTX8Xu0shGpzRdBefbQNmpATAdS+8QaS0CMPoUGGeVwzH+su7Am3EcHPpu9/zegElLS2PExsa2gyGspkZ6KbgP+3l/iAS4eWwp5ULPKde6XfcDyM/P1e+uTg+LdXNCNeXnE5KtK3coX1MlEtY9VJB/PVq1PMyJqevgZ2qmHLo5mmPFGiPIs1/PnHkjXqu8fRY20AjOsrF2oAZczpbxS3ZvmAwrG6Vuk8ZQcm4kwSjTwRAWA2cld4WjXF8FF+Ar7wZclB0ZvQHT0HBbMT0jAwisJtXLC9yGUE5ASYLSKDkKVNw0JOFUPTAGv5Vv7hEMfnEkJD4q1ZItjNZUZxHP6We0thWdVc5GM8uw6cHbc+ll6uMZuf6HtOb4mpjM4Ooq3eByOcMkpjmzpo6Jsng2Ltry9TSnjfNIME7dgIEW46ngxPVROA7BuPcaDK+4WLH6ei1ITEwkwWTY24MKaCnwm4PdUK7D++uxKqDsvhF4VWsMfiljg0uXLhn2po2QVV/PKtJWanFetWR69QWNxgvu6u3j4tzIvTy6fs7ZZTuaE412XNFRPHxRS86cTJzsZxo7JNUSDIUiGWQR1KPFIDBeiseBXx/AJCcnM3JycsC1igrSaorCwkAJBGIH5TSU0vEjwLUIZXA3RwvOWEagojKhRzA7dRzZJsq7V+JpGVqy7LKtynerY+T9ORzOR+0LvTDzgOVuW5WIe1sjd7/Nsnuncux0Z1SeV2woWLuqda+s7ChScfR5s3CJi9uARNo2MDLKIlTdJpkafDEwzfgYI0+B8VZ07ZPFQCthxBJTdXExKL9WBe40tYIrM2eCfAgljxAtNVAWsxpURKmAh0UWIL26FcABu1swrltPzd2v7tFkzXCUbR/k4+O/qLSU/StpLdMS113gYykrFbb9tKvpSTOOgW/jPqYT6WZca8XUil3MxHbFsREW5yTStgNCRkZbnhUKRk8ePMbGGNKVFN2Ar0LfwBCWkgBdqaGxCTx4+DOo4RwBGRBK+kdDwKWQs6A03gxURquC2jhVcLU8HoJJ69GVrDWOLbbX9HmwV/0A2Z+8EM1dpcH6uTx95ScBSitmCfSkLaSHywTbtdireVcd/NFZyoHp7uy49sQhnoFKY1WETlN55KZvRINx7huYysrKT8QFwyu8AppbH4Lbd1rBg1s/gaQxo0Hy0m9BQUYAuBapDC5HfU9+1iYbgPT09NXiQN+/2fNrW3WPxn3GR5XLI5n3AznsJTFr9ay42vKFXC53JKGzaBFrhOVql1ubzA6bEs8W0hbDT6rvqijV0vDxtlFn3LqoVn05Pn4cBga6UrT5WfW9lMUwxADjo0DNSls1Fn1eGmd0mReyPJjDWjSmtrZ2tKjOx8TEMFJSU8Htphbw7MVvpMXcuXsfZOvpg4v794CrMQagMGoN8IvLBBnRVqA4XAOkpqeuFtciLRQdJDlark1xR00zBTvuy1qK8VlrDMml/26VY64bWfYV40M3ta/BCjQZtYe0jhYRU3xuIPNgWcJ6OxoYSxIMA1oMw7kBqIgBxgOCyY8yPtDGlQV/FMiC/BDDbvceBJiKqhrw+OlL8OKX1+D5y/+QlnPFwwtwz1pCK1EBYRdOA7+EPBAQnwlywr8Hqanig/Gw2TKFd1rt7n4N78Y9mi7kmBNjt3dxgaFyia0+5zvb1R4PWLKsUV+d3nYXmsvwqO911102VM/bwzgeesTY54CutOQnrvasue8NhrAYXqgC903BStAGwVQlGeV11/Fr1TcYrfcfkUAIMIT8/PwVuHnlIpyNVKCVWAPfhFzgn5hPSkBUDEhJSRR7uuaeZwVUxzB/PGDkssBW9UT5YT0/AyK9ZJ1GiS3T8dEuPQdjuOIdPibS4sgkt/VyPGPdxkDmqiVMuMaxUT9Rs1XJ8VvaGNN7MIIx5vJpmeK2AhnwmicDGhN0wntaxzx59rIdCmk1L34Fb+rsQGOaPjgdlwT8obUIwHieTwHZ2dliLfCsWDOnlEWoPTNZPZkMV/jsCZLkGPrVepgHbolT+947Xn9dnEBXx9dWQ85zMy9Pk8kVpB1guSw6qu9XyoLjUAcYOGWPjLTsNMYQYJqamuaJthh3EGLqZ5DsteLmG2gtbdyV4GYs80wPg+8XPzW1trVDgZbza3My3EiuBderosHJFB7pRgQU4tM98Py70tLSBdgAP1xU3UWhmkdyAqUd8TS2PHvsEX3/fPtVbmW5RppNRFpdXfNkrZ07P/bebfynFVuTg9ftaODpZaluv60TmE9IMGkMBtxdMxGY1qYmuZZuwITvDNmQ5AHBwDGGkIaE7sGQy/TMrMTWB49JF3r29B54W2UCXlTtAVkNj0FCeRPwjb9MyvGQOBAUeq5cHGs5uM9gekWU6oN4DqvL7nizqvUEQkrXavLObmLNra6u/iKLvW5z4jpm2fjQ7Q/nnLKwlUCLwJ0Q2Hp19pc9gmmsqyMDVQIw7rQxxlvHVS3ZcyUEIyM2GDiYfhkVFc1NSEz5PSXGty39/O62iIiAtsDoRCgJbZ6BoW1uAWd+PxV0trqwsHChOGDqLmgfyT+rsr87new1Olt529mR57S1p+TrMFs8NurOk9qzRlIqfEexZNC2S/Ps18xuV/4s3DJaFBgiHtNYU9MVjKIz11vBtX1W6q3FIJcaWl9f/3ljY+MEYULkwbXHMLHqcps9ri5Jt4XD0e12HRXP4YzJ1VP96YoO42KqruralpYWcm3D4nBGTD9lvndSsPkbuZO7yMFaYrqf6cGhF+FeCcrCM1bOpnbBcoxjNYB5rBGoHc7PuHgxZnKlgdJr4pTghrbCM1t9/bFuao7R3vKuwEvB5d2J7cekiyOMXf7kroDTtQxID5SzHehYeH440yclwMBVHN0iw1V5BTqMCGF533hvWzEl0vrxYl9Lc4n9EZ6jZ/ibZUwKYKecSAuaSCho7opxYdpm5G6yCyWXx9lmJltz9VUbstetJqPvHpZO89z1HHiOarZ7iOcgjsXE0gs6GTlBKiUczqIRAw0mwMNYnq0vP1YcXTdlhW+cWbpTReXvCPGcpXLcell7HFZi8BLjLKn0wahBCoPX4DV4DV5/+wXgFAzGCpFeDtJgKK38xyL0xvZCxKlj9IcCc5yY1LsK/z/wsxDKD+JBAg60OgpFHeT2QoSstMFKms7b3r/E9wLTSSqpt9NtPclCOjzyA4CxEqKn83eBQRYAPurGHV8IKaPyAcAkC9Fz+dBg/qA6Q8pVIR2wFFHHNyK+2EEhumdo8g7Tr6Dlbexanv9ciNsXfWgwT7B0uJUAplD4WP5NEXUcwHT4nV2wx/bfYvqcHnSXiWjnLygTBghMe/4p2hv6l5C3mI3lZ2D3byg36zcwNpiVlMPPX7CyqgMNZjENzA4hOngHN9D01fsPDD8B0/WHwsOePQcYDKmDD6xOtDw1LI8YLz6DX+CS+B0WFwwYBqUN0zVGx+KC56q/A0wZZsJcWp4tlteI0ryxOkv6CcwymiVOo6bp9uf/Qhk/wGAIGCLBFGDlz6I0LdqXGN8PYLAXAO6hNLgyBn9i6Ub/EDBgDHz+DStvitIni78AExcMPxfTi8bSb2DpvgMN5hGm44GVlaEBICxlEZK7GEyvfgDzW+dxTtAOPwJLrxvIWWk2bRG2E8s7Jt4Kll/+fmCAopgrZaKfnw4UGDda419jeflidphYgI17DzAOvdhGGA0AGKBJG9xuUitioQNfT2LYdzCdpv+eJOADgCFDDRwk6ehN441uwsrRZx5i+6BMk4c9D4w9gSFCCp1c2b9rO/y0nrctH2x3TR8ncPMmB0YhxzTE7NFeR00fwUjT+qIgRGcLTeeLgQJT07UxfPfNF/FHKrCLtgCb0gcwTlj+79QKuIvOAlp/139IMLDD/CZkGcOEhDHx5flREXV/TatTt/dgCOhizW5P+3mcISwBLBQiM7opM4qm+7kIveE0vYki3nZ3+V+J2afZ4ukNXoPX4DV4ffCLXJ1KdZ5qyYi+FNoBL6VGcGIz2K/tLkb1KqLnAGrq7pe6tVB9c9+nkpFoOizG0jQ6pliwFt2z+xmMIIBk3XFkQo/jiF2XOZT4jpdLrsqJuhnv28k6FFFHR5lE2ICseA2aqhnCF179CoZBHbH0qa5AVJcUepZC9Y173076o4plsA3ZO+q4gVhu84PhpzzSlacicvx6FOeYRaWROtJIx4+KppH3etQJAamf3fEW6WDI8j+ivInUM1kmt2M3TPwRjkyDAnyQtX+FNq5EXTFUe2SbwVQeWW45ZY1kOewci2iP1CP+R1ZLRQk6gzHAXOdjtKKtRnmYK4HpMP01CnwXYhF/Nrpfi77kqw7XJMya30LFdUl3edSzK7VH4njU6YJgO0Hs7Ik0sj4ifw+yDNB5ZYy7EhEy5d9He7VbKH0bLeqIb4SX4WA+R4kpaLAF1BvpAkZw7GGH8mahAFF3YNBKlXBTsn5Cb1L3YMj7ahT1H06126muRR39FepKOBhjdG9FbVPIvl2hgTGBEobubehWQ5jjr1DsO44euoBRxA7JCAvYh3S6AzMPBcNfYm+lJzAoFEG8aXJ2+QylE3+bvIPVIw4Yh86HbSSMts5gyDIqosAEoIxa9DmhKxjyOZ5meut7AJOJxis7zEV6AsNG8AVtJKGz73fo7HpjL8DQZigchnhg1mA71OtYOm4xM9CueSZ2LsTBwOyj4qnkwb8AzB/YFw4XE8w09IMfQyqMQEb5TbAxbWQvwOzomGHJPMLiWnsDZioGJlgEmA3odzCESZ9H6VuwL/kH5jICMM3o7R/AThJ6AEP+WoEIdTii+EoGggSQW4bQwJzoOLMijns7gZmP1mlEbMgVpZ/sBRgyswS5AXbGQ3SITCPeGBP74v9F0bchaFArR18ugZo9iClfMCWSrncPTZmv0NpIA92bY+6XiY136JcK5BQ7n/rdDZlO1HUO6aOzI7ACc71D1DhJ5itgfXiLBdTGdbg5oUfeK6EyfV19k7PLEmpGEpYutMyc3v8Ojpx5lnQOgJFtzBGhPwnpi2iHdM8l1EscvPp8/Q8RRBRJN5/BBAAAAABJRU5ErkJggg== - - full data - - - - GordonData Data Visualisation - GordonData數據可視化 - GordonData数据可视化 - - - diff --git a/community/CommunityManifests/Hierarchy Navigator.trex b/community/CommunityManifests/Hierarchy Navigator.trex deleted file mode 100644 index de60bdb8..00000000 --- a/community/CommunityManifests/Hierarchy Navigator.trex +++ /dev/null @@ -1,27 +0,0 @@ - - - - en_US - - Hierarchy Navigator Parameter - - 1.0 - - https://tableau.github.io/extension-hierarchy-navigator-sandboxed/hierarchynavigator.html - - - iVBORw0KGgoAAAANSUhEUgAAAEYAAABBCAYAAABsK9I8AAAJXElEQVR4nN1cC1BU1xn+7+7C8sYXSmhBEhAIKk1M1gGlPGqIKMXUaYpJSFNHG4PQGVomqZZ0mky1zJgJOlWB2CI1Oq0TZUIjOCGD4CNmjbJRIRHBRMAiK1WksJtll32dzjm7C/u4d7n7uOzFb+Zw4ey5957z8Z//P///n7MUQmgQAEKBIyCEYM+ePf779u3zV6lUXL1mWsTGxqKCggJdeHg4rFq1yiCRSAxO7lHijnMGvV6P0tPTEeaHb2X58uWourqaceiYGAVXxNTX1/OSFOsikUjQzZs37buuEPhMtnmC9vZ2SElJgZ6eHtsOcSkxeCqlpqbyXmpwCQkJQQMDA5MSg5WvwhPl+/nVXvjDgdOwq3gdZEviHT43Go1w4MABePDggU9FhKIouH79OshkMhgaGqJtk5ycDDdu3ACL8vVIYj5u7URROe+ijz675hUp4xpqtRpVVlYySk5tbS3yio4JEIvIVewv8vRRM4KAgAAoKyuDs2fP0r6uoqKCXD0mRuxnIsRfJOQbB06RlZUFNTU1Dk16e3vhwoULwkliBgYGGJ+DG1uAEIDBiMgVQ6c3gMFoBK3etF7Cn5nq0MyN0k0UFRVBVFSUw82tra3CSeVbV1cHcXFxkJmZadPo/PnzRCEVFxeTv1cW7gP5sIL8TpEfFBgMRhAKyF9goePJxxdBywdF/GPDDpicQ4cO2VSWl5drJxXD5s2b4ciRI+R3CzkWUrZt2zZ5U9kvs2DooZIQIRQJoKf3PtS3dkB+5lJISYgCowGBESFY/NhcX4zTZUgkEgdiGhsbRTZWyWAwoMOHD6Nz586RUlVVhXQ6nVM78fW3cmKVpB39XrMnf//4S7Rzf9OMWKmamhpa62SjfAUCAZGc27dvQ1dXF5EUkci5tZE/UJBn3TNPL2+goa0TjjbKZkRi8DrLHnix5zBqTM6WLVtcfgFC3lO2IqHvLZzH5lqrM1kj9YTOG/0hoCivPcpteExMfMwCeDXvWVj2RKRNPVvzTwehQOBVCXQHHi9Xk2IXwp7SnzrUt7S0sDL/X3begas370JQoD8x//PCg+DeQ5O+OtYkA6MRgd5ghIejKkhNWQwZz8RxRoY1OFvHszX/DW1fw7GmdkCmRRFR5AKKItNpx1+bAAECCgH5/KWHKyaJqW/pgKOnZbD/9xshNmretP1ZW3wI0lJi4d2itaz6zxkxFgtnIQfDQoq1pdtVsg7+9MbzZPqA2fd64bd1IOsaAHnLO2RKYYkBs4dsQVfff+GrrrswqtSw6s833w1BWHAA+/6zbukG2Jh/fz8hBAf6E0IsDqmfaKpbmAw/kZAU0ZQHA+EhpkGKhOw1tStKnXOX2B3zb1K8zpWvRXpErJ3XKf+ODXgZ2jT5n87/vdirx86rn5DdEDApvJIYdyBZGg0Cu0EkbKiYXCthacFShZV01uvVpgZmcdiQtYxMM2zRLKDMylza0Q8xuX+2WQqkxIhpe8hLYsq3PudQ91r+s6Ac1xLnFa+Mr3bfhWvdg5D34ychcn4YMevYy5csiyGyhl2VxxaEgdAsUf/45AosnBcCr+SugDGVBiigQK3Rwvjwd/Sd4DIYziX+9elV4ryOKdWs3oLb/uKtDx3qsaNMExg38lLHbNt1An5U8L7TNsOj35Nrn3yE5VNNEsUWnBIzMTEBlZWVoFQqXbrv3rAShkedp3Nd9xioaS2dNTglRiwWQ15eHhw8eNAlckyK1/kgxtVactXpnaWgbeFKuNUpMVh7S6VSsjhzF0lJSbBx40aXyKFY2NWVy2Jg09qniEJlgw2ZS2HNyiXsR8GkfAcHB1FiYuKkQiopKfFIleL8cEVFBcnrWEOr0yOVegKNq7WkYOSX1qLI595Ber0BaSZ0SKnSoFGlGqknnEcT3QGT8mU014WFhTb53KqqKlizZg3577sDPK2EQqFDOOGPVZ/CP0/LiA5A5mmEm+Br7PpdNu0Lnn8a9r75glvvdxWMxGBP2B6XLl1yi5i+vj44efIkbN++HQIDA20++1n2cvjhonAICRSTRVjE3BD4y+EzcEc+Au/9Lp+QhIProwo1PJMczS0bVmAkJiwsDMbGxmzq8KYbV2FNSmioY4o8LWUxKdY4cqod7sj/By/nruBm1CzAqHwFAs8NFjbXDQ0NjKQwwRSgnuURPGfAegXniWcjeLpxyPfRcF46kT9ZuQQi5gX7tA+8JKZk02qf94GXU6nmpBTKKj/xaR94SUzThRvw0WfXfdoHXhJjCnr71lxzRownmUiKWCXfWibOiMGZSDq3Atc1Nzc7vVckegRStExgm4nce+wcVJ/4AhbNDyVxWxz9H7g/Svym1b/aTzIBmCO8zeSNn6fB26/nmJ711W1olnZD6csZELnA+0chfJ6JxLs9w0ICzU4kBYEBfpNb2XAe25TzQDCu0UJoyFQm8co3/4Gjje3wyroVs4sYsCMH+010mciSTemkWOPFtz6ESx390Lj/106eTZm1ETe6iJ+ZSBYhyKl0LTe6iKe+0vQp2tAgMVHQOH7DBXjpEtAFra/1DIJOZyATh+wW7b9PAlht7d/CkugIsiMCF6xv4qMXeNwHXhKTk5rooFDzfvM3m7UN1sl468ibexttTHv600/Aifde87gPs8aJPFtbAjqdaaM1XuccbZJB3b+vwAdvvwjJcZEkmYbL3LAgj9+PiWYkxtcLLHskLl5oU/N41HxyfSrpBxC9aI7bz8XBNHuoVCqKUfmq1WqHuuBg38ZIrKHSTBAFPTI27tFz6HJdubm5ekZiVq92FOeOjg6POuFNaCb0ROe4ko+mA93xHIlEwpzUt99tiYGj/XQ7qX0BvMUDb0oMCvBz++14VrS1tTnUz5kzh/kULT5LQLfHfuvWrV7PBvoKhYWFtGPs7+//3un+mPj4eIebKIpCu3fvnvWklJaW0pKSkZGByFElZ8QcP36c8exgfn4+am5uRuPj40ir1c6KolAo0KlTp9D69esZx3Xx4kXE6hRtTk4OnDlzhnGeRkREgJ+f+/N8JqHRaGBkhHmjEXZyzWeXpj9Fi1mOjo6eFWenPSlpaWk2w2a1B08ul5PvQnhUScnOzkYajcZ1YizYuXPnI0dKeXk57URx+dtAuru70Y4dO2gt1mwpCQkJZAy3bt1iHKfb3x8jlUqFnZ2dgsuXLwv5suibDvgwempqqiEpKcmYlpbGvHkPQPl/hjpkvVrJvzQAAAAASUVORK5CYII= - - full data - - - - - - - - Hierarchy Navigator Parameter - - - - \ No newline at end of file diff --git a/community/CommunityManifests/Keep It Fresh.trex b/community/CommunityManifests/Keep It Fresh.trex deleted file mode 100644 index e46e1cc0..00000000 --- a/community/CommunityManifests/Keep It Fresh.trex +++ /dev/null @@ -1,23 +0,0 @@ - - - - en_US - - Refresh your data source(s) on a a timer - - 1.0 - - https://keepitfresh-extension.theinformationlab.io/ - - PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuNCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAyNTggMjU3LjciIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI1OCAyNTcuNzsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiNFOTdEMzM7fQoJLnN0MXtmaWxsOiNDOTVGMTc7fQoJLnN0MntmaWxsOiNGRkZGRkY7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTI4LjgsMC43QzU4LDAuNywwLjcsNTgsMC43LDEyOC44UzU4LDI1NywxMjguOCwyNTdTMjU3LDE5OS42LDI1NywxMjguOFMxOTkuNiwwLjcsMTI4LjgsMC43eiIvPgo8ZyBpZD0iTGF5ZXJfMiI+Cgk8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNjEuOCwxMTUuNUwxMTIsNzRsMC41LTguOGw0Mi40LTI1LjRMMjUyLDk1YzEuNyw2LjMsMTYuNiw2NS4xLTIyLjcsMTE0LjNjLTMxLjMsMzkuMi03NS41LDQ1LjUtODQuOCw0Ni43CgkJYzAsMC02Ni45LTU2LTY0LjQtNTUuMiIvPgoJPHBhdGggY2xhc3M9InN0MSIgZD0iTTY4LjMsMTQyLjMiLz4KPC9nPgo8Y2lyY2xlIGNsYXNzPSJzdDEiIGN4PSIxNzkuMiIgY3k9IjE4NS40IiByPSI0Mi4zIi8+CjxnPgoJPGc+CgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTEyOSwyMTguM2MtNDIuMywwLTc2LjctMzQuMy03Ni43LTc2LjVjMC05LjEsMS42LTE4LDQuNy0yNi41YzMtOCw3LjMtMTUuNSwxMi44LTIyLjFsLTcuOC03LjcKCQkJYy0xLjItMS4yLTEuOC0yLjctMS44LTQuM2MwLTEuNiwwLjYtMy4yLDEuOC00LjNsNy4yLTcuMmMyLjQtMi40LDYuMy0yLjQsOC43LDBsOC41LDguNWMxMi42LTguNCwyNy4yLTEyLjgsNDIuNC0xMi44CgkJCWM0Mi4zLDAsNzYuNywzNC4zLDc2LjcsNzYuNUMyMDUuNywxODQsMTcxLjMsMjE4LjMsMTI5LDIxOC4zeiBNMTI5LDgxLjRjLTMzLjQsMC02MC42LDI3LjEtNjAuNiw2MC40YzAsMzMuMywyNy4yLDYwLjQsNjAuNiw2MC40CgkJCWMzMy40LDAsNjAuNi0yNy4xLDYwLjYtNjAuNEMxODkuNiwxMDguNSwxNjIuNCw4MS40LDEyOSw4MS40eiIvPgoJPC9nPgoJPGc+CgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTEyOS40LDIwMC42Yy0zMi4zLDAtNTguNS0yNi4yLTU4LjUtNTguNGMwLTMyLjIsMjYuMy01OC40LDU4LjUtNTguNGMzMi4zLDAsNTguNSwyNi4yLDU4LjUsNTguNAoJCQlDMTg3LjksMTc0LjQsMTYxLjcsMjAwLjYsMTI5LjQsMjAwLjZ6IE0xMjkuNCw4OC41Yy0yOS42LDAtNTMuOCwyNC4xLTUzLjgsNTMuN2MwLDI5LjYsMjQuMSw1My43LDUzLjgsNTMuNwoJCQljMjkuNiwwLDUzLjgtMjQuMSw1My44LTUzLjdDMTgzLjEsMTEyLjYsMTU5LDg4LjUsMTI5LjQsODguNXoiLz4KCTwvZz4KCTxnPgoJCTxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik05MC41LDE3NC4xbC0yLjUtMi45bDMwLjUtMzAuNGMwLjctNS41LDUuMy05LjYsMTAuOC05LjZjNiwwLDEwLjksNC45LDEwLjksMTFjMCw2LjEtNC45LDExLTEwLjksMTEKCQkJYy0wLjgsMC0xLjctMC4xLTIuNS0wLjNMOTAuNSwxNzQuMXogTTEyOS40LDE1Mi4yIE0xMTkuNSwxNDEuMSIvPgoJPC9nPgoJPGc+CgkJPHBhdGggY2xhc3M9InN0MiIgZD0iTTE0Ni43LDY1LjRsLTAuNi0wLjFjLTUuNi0xLjMtMTEuMy0xLjktMTcuMS0xLjljLTUuNCwwLTEwLjcsMC42LTE2LDEuN2wtMC42LDAuMXYtNy44aC02LjcKCQkJYy0yLjgsMC01LTIuMi01LTV2LTcuOWMwLTIuOCwyLjMtNSw1LTVIMTUzYzIuOCwwLDUsMi4yLDUsNXY3LjljMCwyLjgtMi4zLDUtNSw1aC02LjNWNjUuNHogTTEwMS43LDUyLjMiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K - - - - - - - Keep It Fresh - - - diff --git a/community/CommunityManifests/Latest Date Updater.trex b/community/CommunityManifests/Latest Date Updater.trex deleted file mode 100644 index 5d4ed9ff..00000000 --- a/community/CommunityManifests/Latest Date Updater.trex +++ /dev/null @@ -1,22 +0,0 @@ - - - - en_US - - Update parameter to latest date in data set. - - 0.9 - - https://keshiarose.github.io/latest-date-updater/ - - - - - - - - - Latest Date Updater - - - \ No newline at end of file diff --git a/community/CommunityManifests/MultiSelectParameter.trex b/community/CommunityManifests/MultiSelectParameter.trex deleted file mode 100644 index 3297acc6..00000000 --- a/community/CommunityManifests/MultiSelectParameter.trex +++ /dev/null @@ -1,22 +0,0 @@ - - - - en_US - - MultiSelect Parameter - - 1.6 - - https://biplovkarna017.github.io/tableau-multiselect-parameter/MultiSelectParameter.html - - AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAACUWAAAlFgAAAAAAAAAAAADXyrz/2cu+/9jLvf/Zy77/2cu9/9jLvf/Zy77/2cu+/9jLvf/Zy73/2cu9/9jLvv/Zy77/2cu+/9jLvf/Zy73/18m7/9jKvP/Yyrz/2Mq8/9jLvf/Yyrz/2Mq8/9jLvf/Yyrz/2Mq8/9jLvf/Yyrz/2Mq8/9jLvf/Yyrz/2Mq9/9fKu//ZzL3/2Mu8/9jLvP/Yy73/18q8/9fKvP/Yy73/18q8/9jKvP/Yy73/2Mq9/9jLvP/ZzL3/2Mu8/9nLvv/Xybv/2cu9/9fKvP/Txrr/zcG1/8u/sv/Lv7L/y7+y/8u/sv/Lv7L/y7+y/8y/s//Txrn/2Mq8/9jKvP/Zy73/18m7/9jLvP/Xyrz/zsG1/83Duv/g3Nb/4d3Y/+Hd1//h3df/4d3X/+Hd2P/i3tj/497X/9nNwf/Xyrz/2Mq9/9fKvP/ZzL3/18q8/83BtP/UzMT/7Ovp/+jj4f/s6ef/7uzp/+3q5//s6OX/6+jl//Py7//c0cb/2Mq8/9nLvv/Xyrv/18q8/9PGuf/LvrL/z8a+/93Y1v/VzMj/2tPO/+Pd2f/l39v/5uDc/+Xg3P/y7+z/3NHG/9fKvP/Yy73/18m8/9PGuv/Huq//ubGo/7m3tf/Dwcb/x8DC/9jPyv/e1dH/39jU/+DZ1f/i3dn/8u/s/9zRxv/Xyrz/2Mq9/9fKvP/Ux7r/ubaw/2yx0/9Zndj/aHnL/3uJ0P/Fwcv/3NPM/9XNx/+9tK3/wbiy/+3p5v/d0cb/18q8/9nLvf/Xybz/18q8/8DCvf9iv+n/Tqbr/2B53f92iuP/x8fb/+ji3f/c1dH/tq2m/7atpv/p5eL/3dLH/9fKvP/Yy73/18m8/9jLvP/Wyr3/u8K//7XF0P/M0+//zdHp//Px8v/39fT/8/Du/9/a1f/g3Nf/9PPw/9zRxv/Wyrv/2Mq9/9fKvP/ZzL3/2Mu9/9THuf/b0cf/9PLt//Pw7P/08u//9vPx//Ty7//u6+j/7+3p//Px7f/b0MX/18q8/9nLvf/Xyrv/2cu9/9jKvP/Wyrz/18u//9rQxf/b0cX/29HF/9vRxf/b0cX/29LG/9vSxv/a0MT/18q9/9jKvP/Zy73/18m7/9jLvP/Yyrz/2Mq8/9fKvP/Xyrv/18q7/9fKvP/Xyrv/18q7/9fKvP/Xyrv/18q7/9jKvP/Yyrz/2Mq9/9fKvP/ZzL3/2Mu8/9nLvf/ZzL3/2Mu9/9nLvf/ZzL3/2Mu8/9nLvf/ZzL3/2Mu9/9nLvf/ZzL3/2Mu8/9nLvv/Xyrz/2cu+/9jLvf/Zy73/2cu+/9jKvf/Zy73/2cu9/9jKvf/Yy73/2cu+/9jKvf/Zy77/2cu+/9jLvf/Zy77/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== - - - - - - - MultiSelect Parameter - - - diff --git a/community/CommunityManifests/Node Tree Compact.trex b/community/CommunityManifests/Node Tree Compact.trex deleted file mode 100644 index b426b70b..00000000 --- a/community/CommunityManifests/Node Tree Compact.trex +++ /dev/null @@ -1,25 +0,0 @@ - - - - en_US - - Generate a node compact tree based on an internal node hierarchy - - 1.0 - - https://vizepic.github.io/TREX/nodeTreeCompact - - iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAIAAAD+THXTAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAdRSURBVGhD7Zp/bBNlGMef9+56va7roBsQcKhhQGCgCH+gM0omJmSTHw7RIAr+gMQfSELiP6JiNJjgP0SNqJAYiSgxECITNocjwmKACIlZwAGbExjCADcZ61hL79prez63vtuu1/Z69K5LwH3yZLv3er33/b7Pj3vf22CYYYYZJjWE/s4NBfnsormjZ5Tmjx6TB42t10JMU3u09pTcKyn0ihyQK0lrX7r7/TUlRdM8IEZBVsDpgN0NkOcEBsBJrrdHPqwTNzeE6dW2Yr+kRY+Pqtk2Czwc9EYg0u8NgYc9v4LLSZssgIuAqDz5eaC2SaYnbQInzU52bJpeU1MGMYBueVBPMlGAgAIK1Lzn2bEyj560CTu91Lz/4dIHR6piktF5SUs+aTkbmbahlzYtY5uX9m55oHR2Gj3GBJTSydze1W7atIw9kl57trhqxXjwZZsVAaXqMeerc3jatIY9gadcqVArG6ZQOgwCLw4OhAey0kebFrDBS5vWTQKOGOkxA5YSlmx62kWbFrDBS8rlCpAMXYRk9BJik6OseqlsZgG42SQ9IijBBMMzkSDI/gSL3KSXx0FHCaRsAkeb2WLVSxvfnPjuW5PBH6FtFfGKtJB34GRpnkscB2fa1J8DEBKWo8WXvwJOU+tc5KPq4Pp9Em1mhVVJ9dtmVcwbDZLGTdFrXWNPjhpJWwZ0hWDUlwTcXtpGeDhwUq7cHKDNrLAaeOPGOFNkUSxED4wJaX3bRwzGFVidZcsVT0m/6skOywXLqqT2jpC6BtVBHPTAGDapEjDQ3m11jixLuiri84Q24jAO6UZzwHfe33120Hzn/JdP+a+eHrBAR4t09YR+OlRJuKS1hFU3V84p+nnvQ3A9ceej9EAsMcMEJ+w8BgJtUXA+BU1tQDzkiY299c1JOXYrWI5cHP/1+dAd1lbsFJh51CIeQpZ30+NssVweAA7WdoBgw32wgh/83YZ9rg1DWfV2M3jtWETnM6u+xXWGVWyQ1N4h7dl+Sd2ZW8FFqg9J7T7jlaIpbMilOMqFeerNwmlSyjiXcDYUIK/YsLNA7MiBPtylDcAzwN/6HKEeB7jX2KMHsU1SUIp6px5S615+8qM3PVjWFfC+7gva9/7LNklIT2+ETPjlcEMX3CWoHjMGnVPIHD4lY7z1iPScLdgpKU75isayR460/umHYgFGcGoosoraD4PpEgNOgTwCRUzr5WjZup7yjy0tulNiW3lIxjuCe3Hx2OVV95aMd3kKWdh3xM/kt3XFvj/W+91x2Re0e73bTw4lxSmZPHvK1OmxqIT7P4Z3tbacbjtzjH6WG+wPPB3eAvB6ogVuUuCMennJK1hav5kh55LiEKLa0DBEkoaSnEuKRhP2P7pmLsgcDV6vt6Jifihk7nWCHoVlOYYZnLhYLBaNYjplE4VOp/PAgf0+X4Z1RuZbFxZ6Fy16SpKyfBGlJL2cINlmlSAItbU/dndnkGQq8GIxHFiW0FtooB/cOjgMegtD7sDyYCrwFixYHAoNBh7GND3KPdocdjqFurq9GQMvG0n19XVDowr1VFYuoI0cScLMxpjevXtn/KMhYOnS5+Kd4rFJSVnkUpb1Kltuubs7sDxklkT8fl4SHWLQEQ6j8XJO/v8iHTz2ixaS4l2TYOZXSARmzISqJZDuSarEBFdeycRJEYzmSxcJLmcIaT3dBI70b71debD9a1Ov/wkDGzaC30+byUTkKffNwB6VHh/4ujkH39Z2TgqKwKSJRp6Ho0cIPP8CbN0GvTfo2WRwcJGIevVvRyEcVlfUBnqQwiKoKIeoiddXHAeiDB1dtJkSOQIsC5f+hrbz6vUsl1YP4nbDJ5sYCMsQCBjZzZtYTVU3yrJqKE8UjQxjw4yLELzML+m70xlWWjScSuwXDY913WkNHRiR/5fl4bYjvSSMigTDZO1zfTz8Bgw/sp2Efvu6xszEpNJ1nSZdCTyzDD7boisPC8Pioy4hhLcbgGWgsxNiuIEbzE6Pg9v41/nruEDW7he8hbC4EsysmjHvrwWgs4M2+yiSw+sFh1/bNdYDTCp/r1oh+3GyzNHOrp98N9SBDZDnhi8+TSUppnzjYl+ecA9tGjJtV3ULVg7NJs+ipFI51Hz/FNowZPuJppWNfwCvKb99klIHnqidJEOipq80ifl9vJhmz58+l25bUkviTe+lGbvfZZmfY14b7RpSl4fVsrjEO0LU/gkZvx/wqxmiLQQOx7LjjVf6Vkn0FGItl4rDoV2F+T7t1/Hm4ZD6uNf04mLZ6raLW//pVG8yQNryEEc3JnX5dFi9tabsqGB26hxlTZKK7rt42cUL6oJI938SHJugBzEoDypYOrWGw8bRozBnotkdeCq6rtFwdZfctU5PP+ZD97bhjpSEESkIJsyFe3/VMACMDa8xGY14mUvXSxoz0y8aRiPDEiifC2+sVXcExmA0tzTj0j3zcPM98ME7ZsvDD7WA2ztjsNhe+xc6OhLWPilxCrCvmh4PM8wwlgD4D6aMsqJFhSDMAAAAAElFTkSuQmCC - - full data - - - - - - - - Node tree compact generator - - - \ No newline at end of file diff --git a/community/CommunityManifests/PolylineViewer.trex b/community/CommunityManifests/PolylineViewer.trex deleted file mode 100644 index 2f342582..00000000 --- a/community/CommunityManifests/PolylineViewer.trex +++ /dev/null @@ -1,22 +0,0 @@ - - - - en_US - - Take a polyline value and render it as a path on a map - - 0.8 - - https://jacalata.github.io/PolylineViewer/PolylineViewer.html - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAlhJREFUOI2Nkt9vy1EYh5/3bbsvRSySCZbIxI+ZCKsN2TKtSFyIrV2WuRCJuBiJWxfuxCVXbvwFgiEtposgLFJElnbU1SxIZIIRJDKTrdu+53Uhra4mce7Oe57Pcz7JOULFisViwZ+29LAzOSjQYDgz1ZcCvWuXV11MJpN+OS/lm6179teqH0yDqxPTCyKSA8DcDsyOmOprnCaeP7459pdgy969i0LTC3IO/RQMyoHcQN+3cnljW3dNIFC47qDaK3g7BwdTkwBaBELT4ZPOUVWgKl4ZBnjxJPUlMDnTDrp0pmr6RHFeEjjcUUXPDGeSEwDN0Xg8sivxMhJNjGzbHd8PkM3eHRfkrBM5NkcQaY2vUnTlrDIA0NoaX+KLXFFlowr14tvVpqb2MICzmQcKqxvbumv+NAhZGCCIPwEw6QWXKYRL/VUXO0+rAUJiPwAk5MIlgVfwPjjHLCL1APmHN94ZdqeYN+NW/mn6I4BvwQYchcLnwFhJMDiYmlRxAzjpKWZkYkUCcZ2I61wi37tLbYyjiN0fHk5Oz3nGSLSzBbNHCF35R7f6K1/hN9PRhek11FrymfQQQKB4+Gl05P2qNRtmETlXW7e+b2z01dfycGNbfFMAbqNyKp9Jp4rzOT8RYFs0njJkc2iqsCObvTsOsDWWqA5C1uFy+Uz/oXJeKwVT4h0RmPUXhi79vuC0Ku6yOffTK3g9lfxfDQAisY516sg5kfOCiJk7HoLt2cf9b/9LANAc7dznm98PagG1fUOZ9IP5uMB8Q4CPoyNvausapkTt3rNMuvdf3C/o6+czhtdwmwAAAABJRU5ErkJggg== - - full data - - - - - Polyline Viewer - - - diff --git a/community/CommunityManifests/React Annotation.trex b/community/CommunityManifests/React Annotation.trex deleted file mode 100644 index ac386118..00000000 --- a/community/CommunityManifests/React Annotation.trex +++ /dev/null @@ -1,22 +0,0 @@ - - - - en_US - - React Annotation in tableau - - 1.1 - - https://demartsc.github.io/tableau-react-annotation/ - - - - - - - - - react-annotation in tableau - - - diff --git a/community/CommunityManifests/Run Alteryx in Tableau.trex b/community/CommunityManifests/Run Alteryx in Tableau.trex deleted file mode 100644 index a0d035b7..00000000 --- a/community/CommunityManifests/Run Alteryx in Tableau.trex +++ /dev/null @@ -1,23 +0,0 @@ - - - - en_US - - Alteryx in Tableau - - 1.0 - - https://andre347.github.io/run-alteryx-tableau-extension/#/index - - - - - - - - - Alteryx in Tableau - - - \ No newline at end of file diff --git a/community/CommunityManifests/Semiotic Hierarchy.trex b/community/CommunityManifests/Semiotic Hierarchy.trex deleted file mode 100644 index 665c5211..00000000 --- a/community/CommunityManifests/Semiotic Hierarchy.trex +++ /dev/null @@ -1,22 +0,0 @@ - - - - en_US - - Semiotic Hierarchy - - 1.1 - - https://demartsc.github.io/tableau-semiotic-hierarchy/ - - - - - - - - - Semiotic Hierarchy - - - diff --git a/community/CommunityManifests/Semiotic Network Charts.trex b/community/CommunityManifests/Semiotic Network Charts.trex deleted file mode 100644 index cf1f6373..00000000 --- a/community/CommunityManifests/Semiotic Network Charts.trex +++ /dev/null @@ -1,22 +0,0 @@ - - - - en_US - - Semiotic Network - - 1.1 - - https://demartsc.github.io/tableau-semiotic-network-charts/ - - - - - - - - - Semiotic Network - - - diff --git a/community/CommunityManifests/Semiotic Swarm.trex b/community/CommunityManifests/Semiotic Swarm.trex deleted file mode 100644 index 098a5736..00000000 --- a/community/CommunityManifests/Semiotic Swarm.trex +++ /dev/null @@ -1,22 +0,0 @@ - - - - en_US - - Semiotic Violin Plot - - 1.1 - - https://demartsc.github.io/tableau-semiotic-swarm-charts - - - - - - - - - Semiotic Swarm - - - diff --git a/community/CommunityManifests/UpSetjs.trex b/community/CommunityManifests/UpSetjs.trex deleted file mode 100644 index 372d56b1..00000000 --- a/community/CommunityManifests/UpSetjs.trex +++ /dev/null @@ -1,25 +0,0 @@ - - - - en_US - - UpSet.js is a re-implementation of UpSetR to create interactive set visualizations for more than three sets - - 0.9 - - https://upset.js.org/integrations/tableau/extension.html - - iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAOwAAADsAEnxA+tAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAtJJREFUeJztms9u2jAcxz9MUVGjTXmAnnMZk8aFtQ/BE6zntSf2Lut24lz6BN0zbJM4ROrYJefdQZuQmKJmh/ypgQDGtnBD/JUiRY4//tk/SGI7X3BqtloVZW3gGngPvMnLfgIjYAgsdrSpxcdx3J7NZpV8EATDMAyNxl9NwBnwFXi7ofEI6AO/N1zX4qMoOkuSZCvveV6/2+0aiy8moA382AKLjVyw/ktq8fkvL8UHQXBR8U9Qiv9CuHAtAQN0gQ8V5Vp8/reX4qfTqfH4kGUvbcjxrRi0eAv8AV5KZPAY9Bd4Bcu3QJP0WJyICfhloSO2VI7VEwpvgXeSDQyALxVlN6r8eDyW5tM0HfR6PZ34o+Jk9TX4newpuU0RcA78WynX4vPXoBR/enp63ul0jMQXb4EF2SQh2gH3Vztvgg/DcOF53k7e87x+xeCV41dNhU+AK+CSp6nkA3BHNpWsCm6Mn0wmJ/P5/KrVapV8mqYPwJ3v+8MNgzfZfycnpwZp7SF46PW46fj78ksJsLEeNxlfhS/nAXEct3fAAN0kSe7jOG5XXGuzffCQTVLu87pL0o2vypcJsL0e142vyoszwUsJGIB8krIqaX5D3YPFF3kxAa9lG+Dp4SKqlrzqfsDj7ir14FX3A6rq1pIXE3ArS6dpOqooluYR1uM24ot8mYAgCIZsX0oWinzfH1aUS/N53SXpxlflywTYWo+biq/Kr02Fba/HdeMb6L+Tk1ODZNwfYHs/YV/eqD/A9n6CCm/MH2Dr+74ub8wfYHs/wQDv/AHOH9AgOX9AcWLMH3Dg7/u6/gTz/gBb3/d1eWP+ANv7Caq8cX+A7f0EA7yTk1OD9Oz8Abp8rf0BurxK/8sE1HU9X0i1/8/GH6DL180f8Jn1NfqnPfja+wN0VXt/gK5q7w/QVe39AQOyN5B4fNyDPz5/gC5fe3+ALn80/gBd3vkDnPbTf61pOwuXYz1lAAAAAElFTkSuQmCC - - full data - - - - - - - - UpSet.js Plot - - - diff --git a/community/community_extensions.json b/community/community_extensions.json deleted file mode 100644 index 3f5a35e6..00000000 --- a/community/community_extensions.json +++ /dev/null @@ -1,284 +0,0 @@ -[ - { - "name": "3-D Scatterplot", - "website": "https://github.com/mantsui/Ext_visjs_3d_scatter", - "author": "Man Tsui", - "github_username": "mantsui", - "tags": [ - "v_1.0" - ], - "description": "Tableau Extension drawing 3-D scatter plot using vis javascript library (vis.js). Requires three measures.", - "source_code": "https://github.com/mantsui/Ext_visjs_3d_scatter", - "hostedTrexFileName": "3-D Scatterplot.trex" - }, - { - "name": "Amazon Product Search", - "website": "https://github.com/hutchijo/my_tableau_extensions", - "author": "Joel Hutchison", - "github_username": "hutchijo", - "tags": [ - "v_1.0" - ], - "description": "A Python Flask extension which uses the Amazon Product Advertising API to perform product searches on Amazon based on selections in a dashboard. This extension also demonstrates writeback to a MySQL database.", - "source_code": "https://github.com/hutchijo/my_tableau_extensions" - }, - { - "name": "Annotate All The (Tableau) Things!", - "website": "https://github.com/demartsc/tableau-react-annotation", - "author": "Chris DeMartini", - "github_username": "demartsc", - "tags": [ - "v_1.0" - ], - "description": "Leverage the brilliance of Susie Lu's React-Annotation library, directly within (or on top of) Tableau! Works best when deployed directly onto Tableau Server.", - "source_code": "https://github.com/demartsc/tableau-react-annotation", - "hostedTrexFileName": "React Annotation.trex" - }, - { - "name": "D3 Projections", - "website": "https://github.com/demartsc/tableau-tc18-extending-tableau", - "author": "Chris DeMartini", - "github_username": "demartsc", - "tags": [ - "v_1.0" - ], - "description": "This is a simple repository to support the demostration done at #TC18. The files included provide the assets needed to execute the map projections and semiotic hierarchy extensions presented in Tableau.", - "source_code": "https://github.com/demartsc/tableau-tc18-extending-tableau", - "hostedTrexFileName": "D3 Projections.trex" - }, - { - "name": "D3 Sankey", - "website": "https://github.com/mantsui/Ext_D3_Sankey", - "author": "Man Tsui", - "github_username": "mantsui", - "tags": [ - "v_1.0" - ], - "description": "Leverages open source D3 javascript library for an interactive Sankey chart at dynamic levels of dimensions.", - "source_code": "https://github.com/mantsui/Ext_D3_Sankey", - "hostedTrexFileName": "D3 Sankey.trex" - }, - { - "name": "D3 Sunburst", - "website": "https://github.com/mantsui/Ext_D3_Sunburst", - "author": "Man Tsui", - "github_username": "mantsui", - "tags": [ - "v_1.0" - ], - "description": "Leverages open source D3 javascript library for an interactive sunburst chart at dynamic levels of dimensions.", - "source_code": "https://github.com/mantsui/Ext_D3_Sunburst", - "hostedTrexFileName": "D3 Sunburst.trex" - }, - { - "name": "D3 Zoomable Treemap", - "website": "https://github.com/mantsui/Ext_D3_Treemap", - "author": "Man Tsui", - "github_username": "mantsui", - "tags": [ - "v_1.0" - ], - "description": "Leverages open source D3 javascript library for an interactive treemap chart at dynamic levels of dimensions.", - "source_code": "https://github.com/mantsui/Ext_D3_Treemap", - "hostedTrexFileName": "D3 Zoomable Treemap.trex" - }, - { - "name": "Display Images", - "url": "https://illonage.github.io/DisplayImages/DisplayImage.html", - "author": "Geraldine Zanolli", - "github_username": "illonage", - "tags": [ - "v_12.0" - ], - "description": "Display one or more images selected on a dashboard", - "source_code": "https://github.com/illonage/illonage.github.io/blob/master/DisplayImages/DisplayImage.html", - "hostedTrexFileName": "Display Images.trex" - }, - { - "name": "Dynamic Parameters", - "website": "https://keshiarose.github.io/Dynamic-Parameter/", - "author": "Keshia Rose", - "github_username": "KeshiaRose", - "tags": [ - "v_0.6" - ], - "description": "A Tableau Extension to add dynamic parameter capabilities to Tableau dashboards.", - "source_code": "https://github.com/KeshiaRose/Dynamic-Parameter", - "hostedTrexFileName": "DynamicParameters.trex" - }, - { - "name": "GordonData Data Visualisation", - "website": "https://GordonData.com", - "author": "Gordon Chen", - "github_username": "", - "tags": [ - "v_1.0" - ], - "description": "GordonData Data Visualisation enables you to visualise data in three simple steps.", - "source_code": "", - "hostedTrexFileName": "GordonData Data Visualisation.trex" - }, - { - "name": "Hierarchy Navigator", - "url": "https://github.com/tableau/extension-hierarchy-navigator-sandboxed", - "author": "Russ Goldin", - "github_username": "tagyoureit", - "tags": [ - "v_1.0" - ], - "description": "This extension allows you to take flat/dimensional or recursive data and visualize it and enable interactions with other dashboard components.", - "source_code": "https://github.com/tableau/extension-hierarchy-navigator-sandboxed", - "hostedTrexFileName": "Hierarchy Navigator.trex" - }, - { - "name": "Image Filter (Jungle Book)", - "author": "Lee Graber & Ang Gao", - "github_username": "LGraber", - "tags": [ - "v_0.6" - ], - "description": "Lets you display an image, draw polygons in the image and then use those polygons as filters on a sheet in the viz.", - "source_code": "https://github.com/LGraber/trex-jungle-book" - }, - { - "name": "Keep It Fresh", - "author": "The Information Lab", - "github_username": "TheInformationLab", - "tags": [ - "v_1.2" - ], - "description": "Add a countdown timer to your dashboard to refresh your data source(s) on pre-defined time intervals", - "source_code": "https://github.com/TheInformationLab/Tableau-Extension-KeepItFresh/", - "hostedTrexFileName": "Keep It Fresh.trex" - }, - { - "name": "Latest Date Updater", - "website": "https://github.com/KeshiaRose/latest-date-updater", - "author": "Keshia Rose", - "github_username": "KeshiaRose", - "tags": [ - "v_1.0" - ], - "description": "Automatically update a parameter to the latest date based on your data.", - "source_code": "https://github.com/KeshiaRose/latest-date-updater", - "hostedTrexFileName": "Latest Date Updater.trex" - }, - { - "name": "Node Tree Compact", - "website": "https://github.com/vizEpic/TREX/tree/master/nodeTreeCompact", - "author": "Jeffrey Strauss", - "github_username": "jstrauss18", - "tags": [ - "v_1.0" - ], - "description": "Fully integrate a D3 compact dynamic hierarchy onto your dashboard by leveraging the summary data already included within your dashboard.", - "source_code": "https://github.com/vizEpic/TREX/tree/master/nodeTreeCompact", - "hostedTrexFileName": "Node Tree Compact.trex" - }, - { - "name": "Polyline Viewer", - "hostedTrexFileName": "PolylineViewer.trex", - "website": "https://jacalata.github.io/PolylineViewer/", - "author": "Jac Fitzgerald", - "github_username": "jacalata", - "tags": [ - "v_1" - ], - "description": "A Tableau Extension that takes an encoded polyline and displays it as a route on a map.", - "source_code": "https://github.com/jacalata/PolylineViewer" - }, - { - "name": "Run Alteryx in Tableau", - "website": "https://github.com/andre347/run-alteryx-tableau-extension", - "author": "Andre de Vries", - "github_username": "andre347", - "tags": [ - "v_1.0" - ], - "description": "Ever wanted to execute your Alteryx workflows or analytic apps from within your Tableau dashboard? Now you can! If you have an Alteryx Gallery you can run your published apps and workflows.", - "source_code": "https://github.com/andre347/run-alteryx-tableau-extension", - "hostedTrexFileName": "Run Alteryx in Tableau.trex" - }, - { - "name": "Semiotic Hierarchy", - "website": "https://github.com/demartsc/tableau-semiotic-hierarchy", - "author": "Chris DeMartini", - "github_username": "demartsc", - "tags": [ - "v_1.0" - ], - "description": "This is the Semiotic hierarchy extension, it will enable you to build hierarchical charts in Tableau without a ton of hacking and extra work. Drag and drop your way to dynamic trees, circle pack and network layouts. You can see more information in our #TC18 presentation (https://youtu.be/dAosQtZQBq0).", - "source_code": "https://github.com/demartsc/tableau-semiotic-hierarchy", - "hostedTrexFileName": "Semiotic Hierarchy.trex" - }, - { - "name": "Semiotic Network Charts", - "website": "https://github.com/demartsc/tableau-tc18-extending-tableau", - "author": "Chris DeMartini", - "github_username": "demartsc", - "tags": [ - "v_1.0" - ], - "description": "This is a simple repository to support the demostration done at #TC18. The files included provide the assets needed to execute the map projections and semiotic hierarchy extensions presented in Tableau.", - "source_code": "https://github.com/demartsc/tableau-tc18-extending-tableau", - "hostedTrexFileName": "Semiotic Network Charts.trex" - }, - { - "name": "Semiotic Swarm", - "website": "https://github.com/demartsc/tableau-tc18-extending-tableau", - "author": "Chris DeMartini", - "github_username": "demartsc", - "tags": [ - "v_1.0" - ], - "description": "This is a simple repository to support the demostration done at #TC18. The files included provide the assets needed to execute the map projections and semiotic hierarchy extensions presented in Tableau.", - "source_code": "https://github.com/demartsc/tableau-tc18-extending-tableau", - "hostedTrexFileName": "Semiotic Swarm.trex" - }, - { - "name": "Tableaufans.com’s Commenting Extension", - "website": "https://tableaufans.com/extension-api/tableau-commenting-extension/", - "author": "Timo Tautenhahn", - "github_username": "TimoTautenhahn", - "tags": [ - "v_1.0" - ], - "description": "Tableaufans.com’s Commenting Extension lets you have discussions around particular outliers on Visualizations. You can basically select any mark on a dashboard, create a new comment for it and review what other people discussed.", - "source_code": "https://tableaufans.com/extension-api/tableau-commenting-extension/" - }, - { - "name": "Tableaufans.com’s Write Back Extension", - "website": "https://tableaufans.com/extension-api/tableau-extension-api-write-back-updated-source-code-for-tableau-2018-2/", - "author": "Timo Tautenhahn", - "github_username": "TimoTautenhahn", - "tags": [ - "v_1.0" - ], - "description": "Tableaufans.com’s Write Back Extension is a downloadable extension that allows you to write back to your MySQL database.", - "source_code": "https://tableaufans.com/extension-api/tableau-extension-api-write-back-updated-source-code-for-tableau-2018-2/" - }, - { - "name": "UpSet.js Plot", - "url": "https://github.com/upsetjs/upsetjs_tableau_extension", - "author": "Samuel Gratzl", - "github_username": "sgratzl", - "tags": [ - "v_1.0" - ], - "description": "An extension of UpSet.js to create interactive set visualizations for more than three sets.", - "source_code": "", - "hostedTrexFileName": "UpSetjs.trex" - }, - { - "name": "MultiSelect Parameter", - "website": "https://biplovkarna017.github.io/tableau-multiselect-parameter/", - "author": "Biplov Karna", - "github_username": "biplovkarna017", - "tags": [ - "v_1.0" - ], - "description": "Concatenates selected values from a filter and assigns the result, delimited by '|', to a parameter.", - "source_code": "https://github.com/biplovkarna017/tableau-multiselect-parameter", - "hostedTrexFileName": "MultiSelectParameter.trex" - }, -] diff --git a/community/index.md b/community/index.md deleted file mode 100644 index 4f6a01d9..00000000 --- a/community/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Community Portal -layout: community ---- - -The following extensions have been written by the Tableau Community and made available to use. Click to download the manifest file (`.trex`) file for the extension, or click the link to the source code and follow the instructions for the extension there. - -To use the extensions in Tableau, add an extension object to the dashboard, click **My Extensions** and select the `.trex` file for the extension. If you write an extension, [please contribute!]({{ site.baseurl }}/docs/trex_contributing) - -**Important:** These extensions are not written by or supported by Tableau. If you encounter an issue with one of the extensions here, please reach out to the developer. diff --git a/community/readme_community.txt b/community/readme_community.txt new file mode 100644 index 00000000..793be078 --- /dev/null +++ b/community/readme_community.txt @@ -0,0 +1 @@ +The Community Extensions are in the `gh-pages` and `gh-pages-dev` branches. \ No newline at end of file diff --git a/docs/Home.md b/docs/Home.md deleted file mode 100644 index b24f9c64..00000000 --- a/docs/Home.md +++ /dev/null @@ -1,11 +0,0 @@ -# Welcome to the ProjectFrelard wiki! - -This wiki contains developer documentation (see the pages listed to right). -You are encouraged to use them and also contribute to make them better. - -Use [Issues](https://github.com/tableau/ProjectFrelard/issues) to log any problems or bugs you encounter in the docs or example code. - -![tflex the trex](https://github.com/tableau/ProjectFrelard/blob/master/assets/tflx.png) - -*** - diff --git a/docs/Interaction_Guidelines/.gitkeep b/docs/Interaction_Guidelines/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/Interaction_Guidelines/imgs/.gitkeep b/docs/Interaction_Guidelines/imgs/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/Interaction_Guidelines/imgs/1-lifecycle.png b/docs/Interaction_Guidelines/imgs/1-lifecycle.png deleted file mode 100644 index 85a9ce41..00000000 Binary files a/docs/Interaction_Guidelines/imgs/1-lifecycle.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/2-about_dialog.png b/docs/Interaction_Guidelines/imgs/2-about_dialog.png deleted file mode 100644 index 55c1b26e..00000000 Binary files a/docs/Interaction_Guidelines/imgs/2-about_dialog.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/2-about_dialog_annotated.png b/docs/Interaction_Guidelines/imgs/2-about_dialog_annotated.png deleted file mode 100644 index 408d5dc1..00000000 Binary files a/docs/Interaction_Guidelines/imgs/2-about_dialog_annotated.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/2-chrome_menu.png b/docs/Interaction_Guidelines/imgs/2-chrome_menu.png deleted file mode 100644 index 8957bcfd..00000000 Binary files a/docs/Interaction_Guidelines/imgs/2-chrome_menu.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/2-chrome_menu_annotated.png b/docs/Interaction_Guidelines/imgs/2-chrome_menu_annotated.png deleted file mode 100644 index e2948b61..00000000 Binary files a/docs/Interaction_Guidelines/imgs/2-chrome_menu_annotated.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/2-config_dialog.png b/docs/Interaction_Guidelines/imgs/2-config_dialog.png deleted file mode 100644 index 5d762b86..00000000 Binary files a/docs/Interaction_Guidelines/imgs/2-config_dialog.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/2-config_dialog_annotated.png b/docs/Interaction_Guidelines/imgs/2-config_dialog_annotated.png deleted file mode 100644 index a007a4d6..00000000 Binary files a/docs/Interaction_Guidelines/imgs/2-config_dialog_annotated.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-activity_spinner-cover.png b/docs/Interaction_Guidelines/imgs/3-activity_spinner-cover.png deleted file mode 100644 index 904c63fd..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-activity_spinner-cover.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-buttons-button_placement.png b/docs/Interaction_Guidelines/imgs/3-buttons-button_placement.png deleted file mode 100644 index cf524be8..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-buttons-button_placement.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-buttons-cover.png b/docs/Interaction_Guidelines/imgs/3-buttons-cover.png deleted file mode 100644 index 93b578ca..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-buttons-cover.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-buttons-one_primary_button.png b/docs/Interaction_Guidelines/imgs/3-buttons-one_primary_button.png deleted file mode 100644 index 41b7d549..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-buttons-one_primary_button.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-buttons-specs.png b/docs/Interaction_Guidelines/imgs/3-buttons-specs.png deleted file mode 100644 index 41122e64..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-buttons-specs.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-buttons-variations.png b/docs/Interaction_Guidelines/imgs/3-buttons-variations.png deleted file mode 100644 index 748e7b63..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-buttons-variations.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-dialogs-side_tabs_specs.png b/docs/Interaction_Guidelines/imgs/3-dialogs-side_tabs_specs.png deleted file mode 100644 index 81ab0bd6..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-dialogs-side_tabs_specs.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-dialogs-standard.png b/docs/Interaction_Guidelines/imgs/3-dialogs-standard.png deleted file mode 100644 index 97cb7fbd..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-dialogs-standard.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-dialogs-standard_specs.png b/docs/Interaction_Guidelines/imgs/3-dialogs-standard_specs.png deleted file mode 100644 index 09e451a0..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-dialogs-standard_specs.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-dialogs-tabs_specs.png b/docs/Interaction_Guidelines/imgs/3-dialogs-tabs_specs.png deleted file mode 100644 index 7f4e13cf..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-dialogs-tabs_specs.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-dialogs-top_tabs_header_specs.png b/docs/Interaction_Guidelines/imgs/3-dialogs-top_tabs_header_specs.png deleted file mode 100644 index a98f947e..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-dialogs-top_tabs_header_specs.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-dialogs-top_tabs_specs.png b/docs/Interaction_Guidelines/imgs/3-dialogs-top_tabs_specs.png deleted file mode 100644 index ecb65960..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-dialogs-top_tabs_specs.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-dropdowns-control_variations.png b/docs/Interaction_Guidelines/imgs/3-dropdowns-control_variations.png deleted file mode 100644 index 2d0e70ae..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-dropdowns-control_variations.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-dropdowns-controls_and_standard_menu_spec.png b/docs/Interaction_Guidelines/imgs/3-dropdowns-controls_and_standard_menu_spec.png deleted file mode 100644 index 387a0fbf..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-dropdowns-controls_and_standard_menu_spec.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-dropdowns-controls_spec.png b/docs/Interaction_Guidelines/imgs/3-dropdowns-controls_spec.png deleted file mode 100644 index 724c60c3..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-dropdowns-controls_spec.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-dropdowns-cover.png b/docs/Interaction_Guidelines/imgs/3-dropdowns-cover.png deleted file mode 100644 index e8aa8df0..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-dropdowns-cover.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-dropdowns-icon_controls_spec.png b/docs/Interaction_Guidelines/imgs/3-dropdowns-icon_controls_spec.png deleted file mode 100644 index f7647db2..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-dropdowns-icon_controls_spec.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-dropdowns-line_controls_spec.png b/docs/Interaction_Guidelines/imgs/3-dropdowns-line_controls_spec.png deleted file mode 100644 index 3e13282c..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-dropdowns-line_controls_spec.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-dropdowns-menu_align.png b/docs/Interaction_Guidelines/imgs/3-dropdowns-menu_align.png deleted file mode 100644 index 38c3ed38..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-dropdowns-menu_align.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-dropdowns-menu_and_flyout_spec.png b/docs/Interaction_Guidelines/imgs/3-dropdowns-menu_and_flyout_spec.png deleted file mode 100644 index 3f2105e7..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-dropdowns-menu_and_flyout_spec.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-dropdowns-menu_variations.png b/docs/Interaction_Guidelines/imgs/3-dropdowns-menu_variations.png deleted file mode 100644 index 17b4ddc1..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-dropdowns-menu_variations.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-dropdowns-menu_variations_spec.png b/docs/Interaction_Guidelines/imgs/3-dropdowns-menu_variations_spec.png deleted file mode 100644 index 1954c954..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-dropdowns-menu_variations_spec.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-dropdowns-stacking.png b/docs/Interaction_Guidelines/imgs/3-dropdowns-stacking.png deleted file mode 100644 index 4aba4baf..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-dropdowns-stacking.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-selectors-cover.png b/docs/Interaction_Guidelines/imgs/3-selectors-cover.png deleted file mode 100644 index 82a6fc80..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-selectors-cover.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-selectors-pickers_spec.png b/docs/Interaction_Guidelines/imgs/3-selectors-pickers_spec.png deleted file mode 100644 index 3ef1eb0b..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-selectors-pickers_spec.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-selectors-sliders_spec.png b/docs/Interaction_Guidelines/imgs/3-selectors-sliders_spec.png deleted file mode 100644 index 6ebaf5de..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-selectors-sliders_spec.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-selectors-steppers_spec.png b/docs/Interaction_Guidelines/imgs/3-selectors-steppers_spec.png deleted file mode 100644 index 173dc82e..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-selectors-steppers_spec.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-selectors-toggle_spec.png b/docs/Interaction_Guidelines/imgs/3-selectors-toggle_spec.png deleted file mode 100644 index 32ce4dd2..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-selectors-toggle_spec.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-side_tabs_labeled.png b/docs/Interaction_Guidelines/imgs/3-side_tabs_labeled.png deleted file mode 100644 index ca67c0dc..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-side_tabs_labeled.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-standard_dialog_widths.png b/docs/Interaction_Guidelines/imgs/3-standard_dialog_widths.png deleted file mode 100644 index 898d13d0..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-standard_dialog_widths.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-tabs_cover.png b/docs/Interaction_Guidelines/imgs/3-tabs_cover.png deleted file mode 100644 index 94d4e049..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-tabs_cover.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-text_field_default_specs.png b/docs/Interaction_Guidelines/imgs/3-text_field_default_specs.png deleted file mode 100644 index bd51ad15..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-text_field_default_specs.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-text_field_search_specs.png b/docs/Interaction_Guidelines/imgs/3-text_field_search_specs.png deleted file mode 100644 index e21e11bc..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-text_field_search_specs.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-text_fields_cover.png b/docs/Interaction_Guidelines/imgs/3-text_fields_cover.png deleted file mode 100644 index a0d6e8e3..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-text_fields_cover.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-text_fields_stacking.png b/docs/Interaction_Guidelines/imgs/3-text_fields_stacking.png deleted file mode 100644 index cb47fd46..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-text_fields_stacking.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-tooltips.png b/docs/Interaction_Guidelines/imgs/3-tooltips.png deleted file mode 100644 index f67d1791..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-tooltips.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-tooltips_content.png b/docs/Interaction_Guidelines/imgs/3-tooltips_content.png deleted file mode 100644 index 8400441f..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-tooltips_content.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-tooltips_placement.png b/docs/Interaction_Guidelines/imgs/3-tooltips_placement.png deleted file mode 100644 index d8b97750..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-tooltips_placement.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-tooltips_spec.png b/docs/Interaction_Guidelines/imgs/3-tooltips_spec.png deleted file mode 100644 index 3193f1e5..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-tooltips_spec.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/3-top_tabs_labeled.png b/docs/Interaction_Guidelines/imgs/3-top_tabs_labeled.png deleted file mode 100644 index 8dec5ece..00000000 Binary files a/docs/Interaction_Guidelines/imgs/3-top_tabs_labeled.png and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/gifs/2-config_popup.gif b/docs/Interaction_Guidelines/imgs/gifs/2-config_popup.gif deleted file mode 100644 index 63cd5997..00000000 Binary files a/docs/Interaction_Guidelines/imgs/gifs/2-config_popup.gif and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/gifs/3-Large.gif b/docs/Interaction_Guidelines/imgs/gifs/3-Large.gif deleted file mode 100644 index 790993a4..00000000 Binary files a/docs/Interaction_Guidelines/imgs/gifs/3-Large.gif and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/gifs/3-Large_on_Dark_Background.gif b/docs/Interaction_Guidelines/imgs/gifs/3-Large_on_Dark_Background.gif deleted file mode 100644 index c33d1bf3..00000000 Binary files a/docs/Interaction_Guidelines/imgs/gifs/3-Large_on_Dark_Background.gif and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/gifs/3-Large_with_Underlay.gif b/docs/Interaction_Guidelines/imgs/gifs/3-Large_with_Underlay.gif deleted file mode 100644 index 8394ae1b..00000000 Binary files a/docs/Interaction_Guidelines/imgs/gifs/3-Large_with_Underlay.gif and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/gifs/3-Small.gif b/docs/Interaction_Guidelines/imgs/gifs/3-Small.gif deleted file mode 100644 index bde0bb87..00000000 Binary files a/docs/Interaction_Guidelines/imgs/gifs/3-Small.gif and /dev/null differ diff --git a/docs/Interaction_Guidelines/imgs/gifs/3-Small_on_Dark_Background.gif b/docs/Interaction_Guidelines/imgs/gifs/3-Small_on_Dark_Background.gif deleted file mode 100644 index daa9e84f..00000000 Binary files a/docs/Interaction_Guidelines/imgs/gifs/3-Small_on_Dark_Background.gif and /dev/null differ diff --git a/docs/Interaction_Guidelines/ux_build_test.md b/docs/Interaction_Guidelines/ux_build_test.md deleted file mode 100644 index acde883e..00000000 --- a/docs/Interaction_Guidelines/ux_build_test.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: Build, Test, Share -layout: guide ---- - - -This section serves as a broad overview of the developer experience and considerations of making extensions. - -  - -![lifecycle](./imgs/1-lifecycle.png) - -  - -## Build -The first thing to do is start running sample extension code from the Extensions API Documentation. **Make sure that your sample code works** and your environment is set up properly before jumping into building a new extension. - -Once you're ready to go, you can start building and customizing your extension. Expect to iterate through cycles of developing and designing your extension using our API documentation and these design guidelines. - -### Get started with these resources - -* [Extensions API Documentation](https://tableau.github.io/extensions-api/)
The Extensions API includes all the information you need to build an extension. - -* [Community Forums](https://community.tableau.com/s/topic/0TO4T000000QFALWA4/extensions-api)
Participate in a community of developers that are passionate about creating extensions. - -* [Tableau Exchange](https://exchange.tableau.com/)
Explore and use some of the extensions our partners have created. - -* [Tableau Developer Program](https://www.tableau.com/developer)
Participate in the Tableau Developer Program. Be invited to monthly sprint demos with Tableau's development team and have the opportunity to give ongoing feedback. - -  - -## Test - -Ensure that your extension works properly for different test cases. Try it on your own dashboards, test it with others, and uncover possible edge cases. - -Consider that dashboard extensions can be both **configured** and **viewed** in Tableau. These terms refer to two usage modes we recommend for extensions. To read about these modes and their audiences, learn more at **[Extension Components and Modes]({{ site.baseurl }}/docs/Interaction_Guidelines/ux_components_modes.html)**. - - -  - -## Share - -After you've completed making your extension, you may want to share your extension for others to use. Here are some places you might think about sharing your extension. - - -#### Tableau Exchange - -Tableau has created the [Tableau Exchange](https://exchange.tableau.com/), a place to explore and download some extensions that our partners have created. If you would like to share your extension on the Tableau Exchange, see [Submitting your Extension to the Tableau Exchange]({{site.baseurl}}/docs/ux_extension_gallery.html). - -#### Community Forums - -Tableau also has a [Community Forum](https://community.tableau.com/s/topic/0TO4T000000QFALWA4/extensions-api) for developers to discuss extensions and the Extensions API. - ------   - -While you might not choose to share your extension directly with Tableau, we encourage you to share your extension through other platforms of your choice! Use it internally at your company or for yourself, consider open source platforms, share over social media channels. How you go about sharing your extension with the world is entirely up to you. - - \ No newline at end of file diff --git a/docs/Interaction_Guidelines/ux_components_modes.md b/docs/Interaction_Guidelines/ux_components_modes.md deleted file mode 100644 index 10763a75..00000000 --- a/docs/Interaction_Guidelines/ux_components_modes.md +++ /dev/null @@ -1,178 +0,0 @@ ---- -title: Extension Components and Modes -layout: guide ---- - - -This section outlines the overall experience of using an extension in a dashboard. - -**In this section** - -* TOC -{:toc} - - -  - ---- -# Foundation -Every dashboard extension has two general user experiences (or *user types*) and three main components. - - -## User Types -Extensions must be designed with two types of dashboard users in mind: authors and viewers (consumers). - -#### Dashboard Author -Dashboard Authors are users that create dashboards and work directly with data in Tableau, both on Desktop and Online authoring modes. Authors get full editing capability over an extension’s configuration settings. - -On dashboards, authors primarily use **[Configuration Mode](#configuration-mode)** and can access **[Viewing Mode](#viewing-mode)**. - -#### Dashboard Viewer -Dashboard Viewers are users that can only use dashboards with extensions on {{site.tol}}. Viewers usually don't set up a workbook or extension themselves, so they don’t have editing capability over an extension’s configuration settings. - -On dashboards, viewers interact with extensions only in **[Viewing Mode](#viewing-mode)**. - -  - -  - - -## Extension Container -The extension container lives in a dashboard, and is the primary place to display content for both dashboard authors and viewers. For example, this area could be used for displaying a custom visualization or user input controls to further customize dashboard data. - -This is where authors can access the dropdown menu for more options, such as configuration and information about the extension. - -![extension container](imgs/2-chrome_menu.png) - -Learn more about branding your extension container at [Branding your Extension]({{site.baseurl}}/docs/Style_Guidelines/ux_branding.html#extension-container). - -  - -  - -## Configuration Dialog -The configuration dialog is the primary way that dashboard authors can customize an extension in their dashboards. - -This dialog is only available to dashboard authors, It is primarily accessible through the dropdown menu present on the Extension Container. It is not visible to regular dashboard viewers. Learn more below at **[Configuration Mode](#configuration-mode)**. - -![configuration dialog](imgs/2-config_dialog.png) - -Learn more about branding your configuration dialog at [Branding your Extension]({{site.baseurl}}/docs/Style_Guidelines/ux_branding.html#configuration-dialog). - -  - -  - - -## About Extension Dialog -The about extension dialog exists for dashboard authors to access support and version information about the extension in the dashboard. Currently, this dialog is not available for regular dashboard viewers on {{site.tol}}. Learn more below at **[Configuration Mode](#configuration-mode)** - -![about extension dialog](imgs/2-about_dialog.png) - -  - -  - -  - - -# Modes -After acquainting yourself with the user types and components, read about use modes for extensions. - -  - -## Configuration Mode -This mode is available only to dashboard authors. Here, we describe how configuration mode works across the extension components. - -#### Extension Container -The extension container offers a high level of functionality for dashboard authors. This is where authors can access the extension menu to reach the configuration dialog and other information about the extension. - -![extension container](imgs/2-chrome_menu_annotated.png) - -  - -#### Configuration Dialog -The configuration dialog allows dashboard authors to customize extensions in their dashboards. These are some general components that a configuration dialog should ideally include. - -![config dialog example](imgs/2-config_dialog_annotated.png) - -| | Details | -| --- | ------- | -| **Extension Name** | The name of the extension is clearly displayed at the top of the configuration dialog in title case. | -| **Instructions** (optional) | Write 1-2 lines of simple instructions for a user to successfully set up the extension. | -| **User Input Sections** | This is the main zone where user input fields and controls live. You can create multiple sections to separate content from each other. Ensure that sections are clearly titled and spaced apart from each other. | -| **Help Tag** | This dialog is activated by hovering one's cursor over the icon, and helps the user learn more about the extension.| -| **Tagline** | The tagline is one sentence in the help tag that explains what the extension does. The maximum character limit is 96 characters.| -| **Confirmation** | Make sure there is a clear way for users to apply changes made while configuring the extension. | - -Learn more about [Controls and UI Patterns]({{site.baseurl}}/docs/Interaction_Guidelines/ux_controls_ui_patterns.html) to use in your configuration dialog. - -  - -##### Automatic Configuration Popup -Many extensions require an author to configure the extension before using it in the dashboard. The configuration dialog is accessible through the extension dropdown menu, but to speed up the process, you can skip directly to the configuration dialog. You can set a configuration dialog to pop up automatically after an author adds your extension into their dashboard. - -![automatic configuration popup](imgs/gifs/2-config_popup.gif) - -While this is optional, **we strongly recommend using this popup pattern** because when an author is configuring the extension for the first time, there often isn't any content present in the extension container until the extension has been configured. Using this popup pattern will allow authors to start configuring the extension right away. - -Learn more about how to implement this popup at [Add a Configuration Popup Dialog (Extensions API Documentation)](https://tableau.github.io/extensions-api/docs/trex_configure.html). - -  - -#### About Extension Dialog -The About Extension Dialog is automatically created using the content from your .trex manifest, which includes items such as your extension’s name, developer info, support, source ID, version info, etc. This is also accessible through the dropdown menu in the extension container. - -![about extension dialog](imgs/2-about_dialog_annotated.png) - -Learn more about the manifest file at [Tableau Extension Manifest File (Extensions API Documentation)](https://tableau.github.io/extensions-api/docs/trex_manifest.html). - - - - -  - -  - -  - -## Viewing Mode -This mode is available to both dashboard authors and viewers. - -* **Authors** have access to configuration mode and viewing mode in both Tableau Desktop and Online. -* **Viewers** only have access to viewing mode on {{site.tol}}. Viewers can't access configuration and about dialogs, but can use an extension as it appears in a dashboard on {{site.tol}}. - -#### Extension Container -Viewers can only interact with dashboard extensions in {{site.tol}}. When viewing, there are no settings around containers or zones that viewers can access. The extension container appears just as other containers in the dashboard. - -However, if viewers have permission to edit the workbook on {{site.tol}} or download the workbook to their local machine, they can access all of the same settings described above in **[Configuration Mode](#configuration-mode)**. - - -  - -  - - ---- - \ No newline at end of file diff --git a/docs/Interaction_Guidelines/ux_controls_ui_patterns.md b/docs/Interaction_Guidelines/ux_controls_ui_patterns.md deleted file mode 100644 index 0366ce9b..00000000 --- a/docs/Interaction_Guidelines/ux_controls_ui_patterns.md +++ /dev/null @@ -1,385 +0,0 @@ ---- -title: Controls and UI Patterns -layout: guide ---- - -Controls and UI patterns help users interact with your extension and customize their experience. - -We've provided examples of controls that are used in Tableau. Using the exact styling of these components is optional. - -* [Activity Indicators](#activity-indicators) -* [Buttons](#buttons) -* [Dialogs](#dialogs) -* [Dropdowns](#dropdowns) -* [Selectors](#selectors) -* [Text Fields](#text-fields) -* [Tooltips](#tooltips) - -The controls described here use Tableau branding, accessible from the **[Color](../Style_Guidelines/ux_color.md)** and **[Fonts](../Style_Guidelines/ux_fonts.md)** sections of these design guidelines. - -###### *At this time, we are only able to provide surface-level usage and design specifications for controls. We are working to make code for Tableau controls accessible to developers in the future.* - ---- - -  - -## Activity Indicators -When performing an action, let users know that your extension is currently doing something and isn’t static or stalled. Make sure your extension acknowledges the user’s interactions by providing some form of tangible feedback. - -An activity indicator appears when a task is performed that will take an unknown amount of time, such as loading or synchronizing complex data. It disappears when the task is complete. - - -![activity spinner](imgs/3-activity_spinner-cover.png) - -### Usage -These activity spinners used in Tableau run at one rotation per second, and are non-interactive. - -Using this exact spinner in your extension is optional. For alternate options, we recommend using activity indicators of similar sizes and variety to ensure that it works on varying background elements. - -| Variations | Preview | SVG Code | How to use | -|---------------------|:---------:|:---:|---| -| **Large**
(50x50 px) | ![large gif](imgs/gifs/3-Large.gif) | [SVG](xml/large.xml) | Use only on light backgrounds
| -| **Large with underlay**
(65x65 px) | ![large with underlay gif](imgs/gifs/3-Large_with_Underlay.gif) | [SVG](xml/large-with-underlay.xml) | Use on light or complex backgrounds to provide better contrast | -| **Large on dark background**
(50x50 px) | ![large on dark background gif](imgs/gifs/3-Large_on_Dark_Background.gif) | [SVG](xml/large-on-dark-background.xml) | Use only on dark backgrounds | -| **Small on dark background**
(14x14 px) | ![small on dark background gif](imgs/gifs/3-Small_on_Dark_Background.gif) | [SVG](xml/small-on-dark-background.xml) | Use only on small elements with dark backgrounds | -| **Small**
(14x14 px) | ![small gif](imgs/gifs/3-Small.gif) | [SVG](xml/small.xml) | Use only on small elements with light backgrounds - - -  - -  - -  - ---- - -## Buttons -A button communicates what happens when a user touches it. Button labels can consist of text, an icon, or a combination of both. - -![buttons](imgs/3-buttons-cover.png) - -### Usage - -| Button | How to use | -|----|:-----| -| **Call-to-Action                                                ** | These buttons are primarily used in dialogues to indicate an action. Use colors to communicate function–for example, green is commonly used for confirmation buttons. Learn more about color usage at **[Colors](../Style_Guidelines/ux_color.md)**.

You may also want to utilize branding practices on buttons. Learn more at **[Branding your Extension](../Style_Guidelines/ux_branding.md)**. | -| **Greyscale** | Greyscale buttons are used either to indicate a secondary action, or a button that has been disabled and a particular action needs to be taken before proceeding. | -| **Text Button            ** | This is a low-attention button, and should only be used to provide a secondary option in the case that the user wants to perform an action that isn’t the primary action. | -| **Icon** | Buttons can have icons to add a helpful visual. If you use icons, include a text label or a help tag that is activated on hover. | - -  - -**Button Placement** - -Button placement guidelines apply to Call-to-Action and Greyscale buttons. - -![buttons placement](imgs/3-buttons-button_placement.png) - -  - -**One Primary Button** - -Primary buttons apply only to Call-to-Action buttons. - -![buttons primary](imgs/3-buttons-one_primary_button.png) - -  - -  - -### Specifications - -![button specs](imgs/3-buttons-specs.png) - -  - -  - -  - ---- - -## Dialogs - -A dialog is a “conversation” between the system and the user, which often requests information or action from the user. For info about the extension configuration dialog, learn more at **[Extension Components and Modes](ux_components_modes.md)**. - -### Standard Dialog -These dialogs are non-modal, meaning they can be used when the requested information is not essential to continue. The dialog can be left open while the user interacts with other components in the extension. - -![standard dialog](imgs/3-dialogs-standard.png) - -  - -### Tab Dialogs -If you’d like to have multiple sections to your dialogs, you may use tabs to separate content. - -#### Top Tabs -Top tabs allow a dialog to contain several pages of content in one place. Use this variation to have 3 distinct sections of content. Do not exceed 3 top tabs. - -![top tabs labeled](imgs/3-top_tabs_labeled.png) - -  - -#### Side Tabs -If you need more tabs in a dialog than the top tab system can accommodate, it is appropriate to utilize the side tab style of navigation. Use this tab variation if you need 3 or more sections of content. Do not exceed 5 side tabs. - -![side tabs labeled](imgs/3-side_tabs_labeled.png) - -  - -  - -### Specifications -Dialog content can vary widely, but consists of specific textual or UI elements that should meet some of the following standards. - -##### Standard Dialog - -![standard dialog specs](imgs/3-dialogs-standard_specs.png) - -  - -##### Top Tab Dialog - -![top tab dialog specs](imgs/3-dialogs-top_tabs_specs.png) - -![top tab header specs](imgs/3-dialogs-top_tabs_header_specs.png) - -  - -##### Side Tab Dialog - -![side tab specs](imgs/3-dialogs-side_tabs_specs.png) - -  - -##### Dialog Widths -Dialog height will vary based on content but width will fit into one of these standard sizes. - -![standard dialog widths](imgs/3-standard_dialog_widths.png) - -  - -  - -  - ---- - -## Dropdowns - -Dropdown controls allow multiple options to be expanded from a menu. Dropdowns have two main components: **Control and Menu**. - -![dropdowns cover](imgs/3-dropdowns-cover.png) - -  - -### Usage - -| | How to use | -| --- | --- | -| **Controls            ** | Dropdown controls have an arrow on the right side, which indicates the control is actionable. This button is primarily used in dialogues to indicate an action. | -| **Menu** | A dropdown menu contains a group of selections. When a menu item is selected, the dropdown control is updated to reflect the user's new choice. | - -  - -##### Control Variations - -![control variations](imgs/3-dropdowns-control_variations.png) - -| | How to use | -| --- | --- | -| **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. | -| **Icon** | The icon style works best in small regions such as tool bars, and is great for switches that have several options. | - -  - -##### Menu Variations - -![menu variations](imgs/3-dropdowns-menu_variations.png) - -| | How to use | -| --- | --- | -| **Standard** | This is the primary dropdown menu style. If your dropdown menu has many items or needs more classification, consider implementing some of the other options pictured. | -| **Nested Flyout** | If your menu needs more broad categories to choose specific items from, it can have a nested flyout menu. | -| **Search** | Search can be added to dropdown menus. Use this variation if your menu may have many items in the list to allow users to easily search for a specific item. | -| **Checkbox** | Checkboxes can be used for multi-select dropdowns. | -| **Compound** | Compound menus allow for items to be grouped by separate types. | - -  - -##### Stacking Dropdowns - -Use the line style when stacking several dropdowns on top of each other to avoid a boxy wireframe look and feel. - -![stacking dropdowns](imgs/3-dropdowns-stacking.png) - -##### Dropdown Menus - -There is no space between the control and the menu. The minimum menu width is 40px, and the maximum is 260px. Menus can be wider than the control, but should not be narrower. - -![align control and menus](imgs/3-dropdowns-menu_align.png) - -  - -  - -### Specifications -Design specifications are grouped by the type of control and their corresponding control states, then menu variations. - -##### Controls - -![default controls+menu spec](imgs/3-dropdowns-controls_and_standard_menu_spec.png) - -![line controls spec](imgs/3-dropdowns-line_controls_spec.png) - -![icon control](imgs/3-dropdowns-icon_controls_spec.png) - -##### Menus - -![menu and flyout spec](imgs/3-dropdowns-menu_and_flyout_spec.png) - -![menu variations spec](imgs/3-dropdowns-menu_variations_spec.png) - -  - -  - -  - ---- - -## Selectors -Selectors are a broad family of controls within the interface. This family has been broken down into four categories: **Pickers, Sliders, Steppers, and Toggles**. - -![selectors](imgs/3-selectors-cover.png) - -  - -### Usage - -| | How to use | -| --- | --- | -| **Pickers** | Pickers enable users to make a selection from a list of options. Each picker has an icon control such as a checkbox or radio button. | -| **Sliders** | Sliders enable users to adjust totals without inputs via the keyboard. They are a convenient choice for selecting a value when there are known maximum and minimum values. | -| **Steppers** | Steppers enable users to click or tap on a control to change values. They often have a text input allowing the user to choose between keyboard input and mouse/tap input. | -| **Toggles** | Toggles are the simplest picker. They enable users to choose one item, while one or more items are off. | - -  - -### Specifications - -##### Pickers - -![pickers spec](imgs/3-selectors-pickers_spec.png) - -##### Sliders - -![sliders spec](imgs/3-selectors-sliders_spec.png) - -##### Steppers - -![steppers spec](imgs/3-selectors-steppers_spec.png) - -##### Toggles - -![toggle spec](imgs/3-selectors-toggle_spec.png) - -  - -  - -  - ---- - -## Text Fields -Text fields are places in the user interface where users enter text or phrases, such as on a form or sign in page. - -![text fields cover](imgs/3-text_fields_cover.png) - -  - -### Usage - -|                                             | How to use | -| --- | --- | -| **Outline Text** | The outline style has a prominent appearance that can be used by itself, on forms, or within dialogues. | -| **Line Text** | The line text field can be used for stacking multiple fields within a panel to avoid a boxy wireframe feel. Line style text fields are useful in areas that have extremely limited vertical space. | -| **Search** | Search boxes allow users to search for terms, and appear at the top of a page or dialog. | - -  - -##### Stacking Text Fields - -Always use the line text field style in forms, or when fields are stacked. - -![text fields stacking](imgs/3-text_fields_stacking.png) - -  - -### Specifications - -##### Default - -![text field specs](imgs/3-text_field_default_specs.png) - -##### Search - -![search field](imgs/3-text_field_search_specs.png) - - -  - -  - -  - ---- - -## Tooltips -Ideally, your users should be able to figure out how to use your extension without needing a guide. But to help users understand more context to the task they’re performing, you may utilize tooltips. - -In general, tooltips are general small boxes that contain information about the item. When the user places their cursor over an item without clicking it (hover), a tooltip may appear. - -![tooltips cover](imgs/3-tooltips.png) - -  - -### Usage -Descriptive tooltips are always anchored to the element with which they are associated. Tooltips can help further describe controls without shifting the user’s attention away from the primary interface. You may want to put tooltips in some parts of your extension if you want to briefly explain the use of a particular control or section. - -##### Placement - -Tooltips should not cover other icons in the toolbar, or block related content. - -![tooltips placement](imgs/3-tooltips_placement.png) - -##### Content - -Include succinct copy that helps the user take their next step. - -![tooltips content](imgs/3-tooltips_content.png) - -  - -### Specifications - -![tooltips spec](imgs/3-tooltips_spec.png) - - -  - -  - -  - ---- - - diff --git a/docs/Interaction_Guidelines/ux_interaction.md b/docs/Interaction_Guidelines/ux_interaction.md deleted file mode 100644 index 440545a3..00000000 --- a/docs/Interaction_Guidelines/ux_interaction.md +++ /dev/null @@ -1,33 +0,0 @@ -# Interaction Guidelines - -### [1 – Build, Test, Share](ux_build_test.md) -The developer's roadmap for how to get started developing and designing extensions. - -  - -### [2 – Extension Components and Modes](ux_components_modes.md) -The main user-facing components of an extension to create content for. Learn about modes for configuring extensions, viewing extensions, and dashboard user types. - -  - -### [3 – Controls and UI Patterns](ux_controls_ui_patterns.md) -Usage and design specifications for user interface controls and patterns in your extension. - -###### *At this time, we are only able to provide surface-level usage and design specifications for controls. We are working to make code for Tableau controls accessible to developers in the future.* - - - - - - - - -  - -  - ---- - -###
[1 - Build, Use, Share →](1 - Build, Use, Share.md)
- -#####
[Home](../README.md)
\ No newline at end of file diff --git a/docs/Interaction_Guidelines/xml/large-on-dark-background.xml b/docs/Interaction_Guidelines/xml/large-on-dark-background.xml deleted file mode 100644 index bab397e7..00000000 --- a/docs/Interaction_Guidelines/xml/large-on-dark-background.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/Interaction_Guidelines/xml/large-with-underlay.xml b/docs/Interaction_Guidelines/xml/large-with-underlay.xml deleted file mode 100644 index ba483a46..00000000 --- a/docs/Interaction_Guidelines/xml/large-with-underlay.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/Interaction_Guidelines/xml/large.xml b/docs/Interaction_Guidelines/xml/large.xml deleted file mode 100644 index ba483a46..00000000 --- a/docs/Interaction_Guidelines/xml/large.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/Interaction_Guidelines/xml/small-on-dark-background.xml b/docs/Interaction_Guidelines/xml/small-on-dark-background.xml deleted file mode 100644 index bab397e7..00000000 --- a/docs/Interaction_Guidelines/xml/small-on-dark-background.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/Interaction_Guidelines/xml/small.xml b/docs/Interaction_Guidelines/xml/small.xml deleted file mode 100644 index ba483a46..00000000 --- a/docs/Interaction_Guidelines/xml/small.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/Style_Guidelines/.gitkeep b/docs/Style_Guidelines/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/Style_Guidelines/imgs/.gitkeep b/docs/Style_Guidelines/imgs/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/Style_Guidelines/imgs/4-config_footers.png b/docs/Style_Guidelines/imgs/4-config_footers.png deleted file mode 100644 index abf1eac0..00000000 Binary files a/docs/Style_Guidelines/imgs/4-config_footers.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/4-config_headers.png b/docs/Style_Guidelines/imgs/4-config_headers.png deleted file mode 100644 index 5c39239c..00000000 Binary files a/docs/Style_Guidelines/imgs/4-config_headers.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/4-container_footer.png b/docs/Style_Guidelines/imgs/4-container_footer.png deleted file mode 100644 index 5be8ef56..00000000 Binary files a/docs/Style_Guidelines/imgs/4-container_footer.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/4-container_header.png b/docs/Style_Guidelines/imgs/4-container_header.png deleted file mode 100644 index 0eb0e93b..00000000 Binary files a/docs/Style_Guidelines/imgs/4-container_header.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/4-corners.png b/docs/Style_Guidelines/imgs/4-corners.png deleted file mode 100644 index 072acd6d..00000000 Binary files a/docs/Style_Guidelines/imgs/4-corners.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/4-empty_container_state.png b/docs/Style_Guidelines/imgs/4-empty_container_state.png deleted file mode 100644 index 1c4b1e15..00000000 Binary files a/docs/Style_Guidelines/imgs/4-empty_container_state.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/4-headers_and_footers.png b/docs/Style_Guidelines/imgs/4-headers_and_footers.png deleted file mode 100644 index c3d675fe..00000000 Binary files a/docs/Style_Guidelines/imgs/4-headers_and_footers.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/4-large_config_headers.png b/docs/Style_Guidelines/imgs/4-large_config_headers.png deleted file mode 100644 index b4f87fff..00000000 Binary files a/docs/Style_Guidelines/imgs/4-large_config_headers.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/4-tableau_unification.png b/docs/Style_Guidelines/imgs/4-tableau_unification.png deleted file mode 100644 index dd913726..00000000 Binary files a/docs/Style_Guidelines/imgs/4-tableau_unification.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/5-full_height.png b/docs/Style_Guidelines/imgs/5-full_height.png deleted file mode 100644 index 5ef72ff2..00000000 Binary files a/docs/Style_Guidelines/imgs/5-full_height.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/5-full_width.png b/docs/Style_Guidelines/imgs/5-full_width.png deleted file mode 100644 index f6b8acd7..00000000 Binary files a/docs/Style_Guidelines/imgs/5-full_width.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/5-section.png b/docs/Style_Guidelines/imgs/5-section.png deleted file mode 100644 index 533fa067..00000000 Binary files a/docs/Style_Guidelines/imgs/5-section.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-100_black.png b/docs/Style_Guidelines/imgs/6-100_black.png deleted file mode 100644 index 71b364a5..00000000 Binary files a/docs/Style_Guidelines/imgs/6-100_black.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-100_white.png b/docs/Style_Guidelines/imgs/6-100_white.png deleted file mode 100644 index 0654c12d..00000000 Binary files a/docs/Style_Guidelines/imgs/6-100_white.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-35_black.png b/docs/Style_Guidelines/imgs/6-35_black.png deleted file mode 100644 index 137b963d..00000000 Binary files a/docs/Style_Guidelines/imgs/6-35_black.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-35_white.png b/docs/Style_Guidelines/imgs/6-35_white.png deleted file mode 100644 index b296c86a..00000000 Binary files a/docs/Style_Guidelines/imgs/6-35_white.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-56_black.png b/docs/Style_Guidelines/imgs/6-56_black.png deleted file mode 100644 index 5ded94c2..00000000 Binary files a/docs/Style_Guidelines/imgs/6-56_black.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-56_white.png b/docs/Style_Guidelines/imgs/6-56_white.png deleted file mode 100644 index a74ca1c2..00000000 Binary files a/docs/Style_Guidelines/imgs/6-56_white.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-60_black.png b/docs/Style_Guidelines/imgs/6-60_black.png deleted file mode 100644 index 34c8baf0..00000000 Binary files a/docs/Style_Guidelines/imgs/6-60_black.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-70_black.png b/docs/Style_Guidelines/imgs/6-70_black.png deleted file mode 100644 index ecec375b..00000000 Binary files a/docs/Style_Guidelines/imgs/6-70_black.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-80_black.png b/docs/Style_Guidelines/imgs/6-80_black.png deleted file mode 100644 index 75c3c6a6..00000000 Binary files a/docs/Style_Guidelines/imgs/6-80_black.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-F1.png b/docs/Style_Guidelines/imgs/6-F1.png deleted file mode 100644 index 7bbf2598..00000000 Binary files a/docs/Style_Guidelines/imgs/6-F1.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-F2.5.png b/docs/Style_Guidelines/imgs/6-F2.5.png deleted file mode 100644 index c620125d..00000000 Binary files a/docs/Style_Guidelines/imgs/6-F2.5.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-F2.png b/docs/Style_Guidelines/imgs/6-F2.png deleted file mode 100644 index 388bb2a0..00000000 Binary files a/docs/Style_Guidelines/imgs/6-F2.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-F3.png b/docs/Style_Guidelines/imgs/6-F3.png deleted file mode 100644 index 89268e9d..00000000 Binary files a/docs/Style_Guidelines/imgs/6-F3.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-F4.png b/docs/Style_Guidelines/imgs/6-F4.png deleted file mode 100644 index adba47cd..00000000 Binary files a/docs/Style_Guidelines/imgs/6-F4.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-F5.png b/docs/Style_Guidelines/imgs/6-F5.png deleted file mode 100644 index b5e59d53..00000000 Binary files a/docs/Style_Guidelines/imgs/6-F5.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-F6.png b/docs/Style_Guidelines/imgs/6-F6.png deleted file mode 100644 index 44d50bf0..00000000 Binary files a/docs/Style_Guidelines/imgs/6-F6.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-F7.png b/docs/Style_Guidelines/imgs/6-F7.png deleted file mode 100644 index 187ad053..00000000 Binary files a/docs/Style_Guidelines/imgs/6-F7.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-F8.png b/docs/Style_Guidelines/imgs/6-F8.png deleted file mode 100644 index 1ef0dc32..00000000 Binary files a/docs/Style_Guidelines/imgs/6-F8.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-F9.png b/docs/Style_Guidelines/imgs/6-F9.png deleted file mode 100644 index 11a88621..00000000 Binary files a/docs/Style_Guidelines/imgs/6-F9.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-action_orange.png b/docs/Style_Guidelines/imgs/6-action_orange.png deleted file mode 100644 index a9cd6d1a..00000000 Binary files a/docs/Style_Guidelines/imgs/6-action_orange.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-action_orange_dark.png b/docs/Style_Guidelines/imgs/6-action_orange_dark.png deleted file mode 100644 index 0ec6b5e2..00000000 Binary files a/docs/Style_Guidelines/imgs/6-action_orange_dark.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-attention_red.png b/docs/Style_Guidelines/imgs/6-attention_red.png deleted file mode 100644 index 64277857..00000000 Binary files a/docs/Style_Guidelines/imgs/6-attention_red.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-attention_red_dark.png b/docs/Style_Guidelines/imgs/6-attention_red_dark.png deleted file mode 100644 index 0fe4a6a9..00000000 Binary files a/docs/Style_Guidelines/imgs/6-attention_red_dark.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-continuous_dark.png b/docs/Style_Guidelines/imgs/6-continuous_dark.png deleted file mode 100644 index 180cf9b5..00000000 Binary files a/docs/Style_Guidelines/imgs/6-continuous_dark.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-continuous_green.png b/docs/Style_Guidelines/imgs/6-continuous_green.png deleted file mode 100644 index cc7f89f7..00000000 Binary files a/docs/Style_Guidelines/imgs/6-continuous_green.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-discrete_blue.png b/docs/Style_Guidelines/imgs/6-discrete_blue.png deleted file mode 100644 index dcaf7e74..00000000 Binary files a/docs/Style_Guidelines/imgs/6-discrete_blue.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-discrete_dark.png b/docs/Style_Guidelines/imgs/6-discrete_dark.png deleted file mode 100644 index c1e7d71d..00000000 Binary files a/docs/Style_Guidelines/imgs/6-discrete_dark.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-go_green.png b/docs/Style_Guidelines/imgs/6-go_green.png deleted file mode 100644 index 6da49080..00000000 Binary files a/docs/Style_Guidelines/imgs/6-go_green.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/6-go_green_dark.png b/docs/Style_Guidelines/imgs/6-go_green_dark.png deleted file mode 100644 index 150c502d..00000000 Binary files a/docs/Style_Guidelines/imgs/6-go_green_dark.png and /dev/null differ diff --git a/docs/Style_Guidelines/imgs/7-benton_sans.png b/docs/Style_Guidelines/imgs/7-benton_sans.png deleted file mode 100644 index f85aa53a..00000000 Binary files a/docs/Style_Guidelines/imgs/7-benton_sans.png and /dev/null differ diff --git a/docs/Style_Guidelines/ux_branding.md b/docs/Style_Guidelines/ux_branding.md deleted file mode 100644 index fba32816..00000000 --- a/docs/Style_Guidelines/ux_branding.md +++ /dev/null @@ -1,147 +0,0 @@ ---- -title: Branding your Extension -layout: guide ---- - -Whether you’re a developer from one of our partners or an independent developer, you may want to brand your extension to visually distinguish it as your extension. You also have the option of styling your extension to look native to Tableau. - -* [Branding Principles](#branding-principles) -* [Styling Options](#styling-options) -* [Configuration Dialog](#configuration-dialog) -* [Extension Container](#extension-container) -* [Media and External Links](#media-and-external-links) - -## Branding Principles - -There are two fundamental principles to consider when branding your extension. - -**Celebrate content** -
Your extension is designed to give users eye room to focus and plenty of negative space to help quickly parse the tools. Colors and tones don’t stress the eye. The UI is muted, and takes a back seat, allowing the content to be the hero. - -**Focus on functionality**
-Fun and delightful, but never at the expense of functionality or utility. Enough focus to find what you need, but not so much that it visually interferes with your content. Everything has a visual purpose. - -Proper extension branding means that brand elements are subtle enough to let the function and content of the extension shine, but are also present enough to be noticed and recognized. Function and content come first, brand comes second. - - -  - -## Styling Options -You have the option of using Tableau's visual styling or your personal/company branding on your extension. - -**You might style your extension like Tableau if...** - -* You want your extension to match the visual style of Tableau’s workbooks, making it feel like it fits naturally into Tableau. -* You don’t have a style guide to work with currently, and want to use a generic one for extensions. - -**You might style your extension with personal or company branding if...** - -* You want more visibility, exposure, or recognition for your personal/company work. -* You have an existing style to work with. - -Either option offers flexibility in the styling and content of your extension. In the end, it's up to you to decide the best direction for your extension. - - -  - -## Placement -Your extension can be branded through two components: the **configuration dialog** and the **extension container**. Here's how to place brand elements in each of these areas. - -Links to review component usage and controls specifications: - -* **[Extension Components and Modes](../Interaction_Guidelines/ux_components_modes.md)** -* **[Controls and UI Patterns](../Interaction_Guidelines/ux_controls_ui_patterns.md)** - -  - -### Configuration Dialog -Configuration dialogs act as the main point of brand communication with dashboard authors. - -  - -#### Headers -One place to put brand elements in a configuration dialog is the header region. Upon opening configuration, dashboard authors will naturally view the top of the dialog. - -The recommended height for the branded header is **50px** with vertical margins of **12px** and horizontal margins of **18px**. In this brand header, a logo/wordmark is **26px**. Because the header is also where the extension name is displayed, headers are limited in size as to not distract from the main content of the extension dialog. This is the preferred header styling for configuration dialogs. - -![branded headers for configuration dialogs](imgs/4-config_headers.png) - -If your extension's configuration dialog is large and includes more content and controls, your brand elements may benefit from being larger. This header styling should only be used if the configuration dialog is **larger than 375px in height**. - -![alternative brand headers - larger configuration dialogs](imgs/4-large_config_headers.png) - -  - -#### Footers -Another place to put brand elements in a configuration dialog is the footer region. The footer is less obtrusive than a header, allowing your extension content to come first and foremost. Sizing for the branded footer is more flexible than the branded header because it comes after the main extension content. - -**If you have brand elements that must be displayed at larger than 40px in height, it is preferable to use a branded footer.** The branded footer can accomodate variable heights of elements, small or large. However, still ensure that the branded footer elements do not visually overwhelm the main extension content that lives above it. - -![branded footers for configuration dialogs](imgs/4-config_footers.png) - -  - - -  - -### Extension Container -Extension containers are visible to both dashboard authors and viewers. **We recommend that extensions in the dashboard should align with Tableau’s visual style** to allow extensions to feel like they naturally belong in Tableau dashboards and worksheets. For example, controls should be styled to look like Tableau's controls. - -However, there are still small opportunities to increase visiblity of your company and brand. Here are some guidelines for including brand elements in your extension container. - -  - -#### Corners -Space is limited in extension containers because the content should be mainly focused on the extension. The suggested brand elements to use in extension containers are brand colors and small logos/wordmarks. - -Brand elements must be minimal and limited to the corners of headers and footers. We recommend placing logos in the corners of the container because this placement will allow for a brand presence to be noticed, but is still separate enough from the content. - -![branded header for extension container](imgs/4-container_header.png) - -The max height of header and footer zones should be **50px or less**. Content in the extension container should maintain a minimum of **12px** from the tops and bottoms (vertical margins), and **15px** from the left and right sides (horizontal margins). - -![branded footer for extension container](imgs/4-container_footer.png) - -  - -#### Empty Container State -While a user is initially configuring the extension, the extension container doesn’t have anything in it yet. Rather than simply showing it as empty or blank, you may use this opportunity to provide feedback to the user that the system is doing its job. Feedback in this context can help users understand what the extension is currently doing. - -Here are some examples of things you can do with this empty space. - -![empty container state](imgs/4-empty_container_state.png) - -| | Description | -| --- | --- | -| **Branded launch screen**         | Much like a static splash screen that simply presents your company/personal branding logos/etc. | -| **Loading graphic or animation** | Use to give the appearance of preparing content in the background as the user configures your extension. This could also be a graphic or animation based on your existing branding. | -| **Preview or placeholder UI** | Using neutral and basic visual styling, you can show a preview of where elements will show up once the extension is done being configured. | - -  - -  - -## Media and External Links -Headers and footers in configuration dialogs and extension containers can contain media and external links, but it is recommended that you use a **branded footer** as the primary place to put these elements. - -Headers must be restricted in size to prioritize the extension content below it, so footers usually offer the most flexibility in adding additional brand elements other than a logo or wordmark. - -Here are some items you might choose to include: - -- Link to company or developer website -- Link to extension support/documentation -- Common social media icons - -Any external links must open in the user's OS browser, not within Tableau's extension container or dialogs. - -  - -  - - ---- - \ No newline at end of file diff --git a/docs/Style_Guidelines/ux_color.md b/docs/Style_Guidelines/ux_color.md deleted file mode 100644 index d45eb1fc..00000000 --- a/docs/Style_Guidelines/ux_color.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: Color -layout: guide ---- - -Use of color is essential for communication. Color is one of the first visual elements people notice, and it’s the most easily remembered. - -**In this section** - -* TOC -{:toc} - - - -  - -## Color Principles - -**Use colors with purpose and clarity.** Your color choices should highlight your extension's content, while also communicating its function. You should be able to justify the colors used on your extension: why did you choose that specific color, and what does it communicate to your user? Color is also an opportunity to showcase your brand. Learn more at **[Branding your Extension](ux_branding.md)**. - -**Less is more.** Refrain from using too many colors, which could blur the focus. Try to avoid using color applied to text, which can make words difficult to distinguish and decrease legibility. - -**Consider vision accessibility.** Some part of the population have varying levels of color-vision deficiencies. Choose color palettes that can work well universally. This typically means avoiding reds and greens, or at least choosing reds and greens that can be seen by people with CVD. - -  - -  - -## Tableau System Colors - -If you don’t have a brand or personal color palette to work off of, you may choose to use Tableau’s standard system colors. The Tableau color palette provides the flexibility to communicate both simple and complex concepts and actions. - -  - -#### Functional Colors - -Colors are a key piece of the visual design language. Colors allow for quick and easy recognition of different element types. - -| Dimension | Measure | Confirmation | Attention | Action | -|---|---|---|---|---| -| ![Discrete Blue](imgs/6-discrete_blue.png)
**Discrete Blue**
73, 150, 178
#4996B2 | ![Continuous Green](imgs/6-continuous_green.png)
**Continuous Green**
0, 177, 128
#00B180 | ![Go Green](imgs/6-go_green.png)
**Go Green**
45, 204, 151
#2DCC97 | ![Attention Red](imgs/6-attention_red.png)
**Attention Red**
235, 68, 84
#EB4454 | ![Action Orange](imgs/6-action_orange.png)
**Action Orange**
235, 143, 80
#EB8F50 | -| ![Discrete Dark](imgs/6-discrete_dark.png)
**Discrete Dark**
54, 126,156
#367E9C | ![Continuous Dark](imgs/6-continuous_dark.png)
**Continuous Dark**
0, 151, 104
#009768 | ![Go Green Dark](imgs/6-go_green_dark.png)
**Go Green Dark**
47, 163, 125
#2FA37D | ![Attention Red Dark](imgs/6-attention_red_dark.png)
**Attention Red Dark**
201, 58, 71
#C93A47 | ![Action Orange Dark](imgs/6-action_orange_dark.png)
**Action Orange Dark**
222, 107, 54
#DE6B36 | - -  - -#### Fills and Lines - -Colors used for lines, fills, and other non-functional elements consist of this array of gray tones, which accentuate the functional colors. - -| | | | | | -|---|---|---|---|---| -| ![F1](imgs/6-F1.png)
**F1**
250, 250, 250
#FAFAFA | ![F2](imgs/6-F2.png)
**F2**
245, 245, 245
#F5F5F5 | ![F2.5](imgs/6-F2.5.png)
**F2.5**
235, 235, 235
#EBEBEB | ![F3](imgs/6-F3.png)
**F3**
230, 230, 230
#E6E6E6 | ![F4](imgs/6-F4.png)
**F4**
225, 225, 225
#E1E1E1 | -| ![F5](imgs/6-F5.png)
**F5**
212, 212, 212
#D4D4D4 | ![F6](imgs/6-F6.png)
**F6**
203, 203, 203
#CBCBCB | ![F7](imgs/6-F7.png)
**F7**
180, 180, 180
#B4B4B4 | ![F8](imgs/6-F8.png)
**F8**
102, 102, 102
#666666 | ![F9](imgs/6-F9.png)
**F9**
51, 51, 51
#333333 | - -  - -#### Fonts - -Fonts in Tableau range from black to white and a variety of opacities. Primary, secondary, and other fonts all have specified opacity. - -| | | | | | | -|---|---|---|---|---|---| -| ![100% Black](imgs/6-100_black.png)
**100% Black**
Focused | ![80% Black](imgs/6-80_black.png)
**80% Black**
Primary | ![70% Black](imgs/6-70_black.png)
**70% Black**
Secondary | ![60% Black](imgs/6-60_black.png)
**60% Black**
Tertiary | ![56% Black](imgs/6-56_black.png)
**56% Black**
Tertiary | ![35% Black](imgs/6-35_black.png)
**35% Black**
Disabled -| ![100% White](imgs/6-100_white.png)
**100% White**
Primary | ![56% White](imgs/6-56_white.png)
**56% White**
Secondary | ![35% White](imgs/6-35_white.png)
**35% White**
Disabled - -  - -  - - ---- - \ No newline at end of file diff --git a/docs/Style_Guidelines/ux_fonts.md b/docs/Style_Guidelines/ux_fonts.md deleted file mode 100644 index 593ef1b8..00000000 --- a/docs/Style_Guidelines/ux_fonts.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: Fonts -layout: guide ---- - -Fonts and typography are essential to how we communicate with our users. When text is used effectively, it grabs attention, evokes emotion, and emphasizes tone and voice. - -> **Note:** Starting with the Dashboard Extensions API v1.7 library, and supported with Tableau 2021.4 or later, you can apply workbook formatting on the HTML elements in your extension. For more information, see [Add Tableau Workbook Formatting]({{site.baseurl}}/docs/trex_format.html). - -  - -**In this section** - -* TOC -{:toc} - -## Typography Principles - -**Highlight important information through hierarchy**. Let users know what content is important by having a simple and clear hierarchy of type. This is achievable through variations in font size, weight, color and spacing. - -**Less is more**. Fewer words and less variation in hierarchy reduces confusion by allowing users to focus their attention on only the most necessary content. - -**Limit font and weight variations.** Mixing too many different fonts and font weights can confuse the type hierarchy. In fonts, mediums and bolds should be used sparingly to indicate headers or important content. - - -  - -  - -## Fonts -We recommend that you use a **sans serif font family** in your extension. Here, we provide guidance and options that are compatible with Tableau dashboards. Using these exact fonts is optional. - -  - -#### Benton Sans -Benton Sans Book is the default font for the Tableau UI elements. To learn more about Tableau font colors, see [Color](ux_color.md). - -Other weight variations of Benton Sans should be used infrequently. For example, Benton Sans Medium is typically used for section titles in dialogs. Benton Sans Light and Book Italic are used in more specific cases like lightweight captions and should not be overused. - -###### Font Size -For Tableau Desktop, the default size for Benton Sans on Mac OS X is **12pt**. The default size for Benton Sans on Windows is **10pt**. - -![benton sans weights](imgs/7-benton_sans.png) - -You may use Benton Sans if you want your extension to look and feel natural to Tableau. Tableau is a licensed commercial user of Benton Sans–so if there are potential conflicts or liabilities with using Benton Sans due to your company branding, we have listed several alternative fonts below. - -  - -#### Alternative Fonts -Using some of these common fonts that are likely available on your user's machine can improve performance and load times for your extension. Here are some recommendations for common sans serif font families. - -* Helvetica -* Arial -* Open Sans -* Segoe UI (Windows system font) -* San Francisco (Mac OS X system font) -* Helvetica Neue, Lucida Grande (older Max OS X) - - -###### Font Size -It is important to compensate for OS and device specific DPI and font rendering. Since these are alternative fonts that aren't directly used in Tableau, you may choose to use different font sizes and weights based on your extension's design needs. - -  - -  - ---- - - \ No newline at end of file diff --git a/docs/Style_Guidelines/ux_layout.md b/docs/Style_Guidelines/ux_layout.md deleted file mode 100644 index c76d240e..00000000 --- a/docs/Style_Guidelines/ux_layout.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: Layout -layout: guide ---- - -To encourage consistency across the design of extensions, we’ve outlined some important aspects about dashboard containers and spacing of elements for your **extension container**. - -**In this section** - -* TOC -{:toc} - -  - -## Dashboard Containers -When designing an extension container's contents and controls, consider the common sizes of containers in a dashboard. Containers and objects are added to the dashboard via drag-and-drop. Containers can be manually resized and made to be floating. You will have to ensure that the content of your extension container will resize and display properly. It is recommended to use common responsive web design practices, such as use of breakpoints and percent-based widths. - -Generally, dashboard containers will automatically size to one of these formats: - -### Horizontal Span - -Your extension content should consider how it would display properly when the container spans wide or horizontally. - -![container size - full horizontal width](imgs/5-full_width.png) - -  - -### Vertical Span - -Your extension content should also consider how it would display properly when the container spans tall or vertically. - -![container size - full vertical height](imgs/5-full_height.png) - -  - -### Quadrant/Section - -It is common for extensions to take up a smaller size due to most of the functionality taking place in the configuration dialog rather than the extension container. Your extension should properly resize to accomodate for smaller areas like quadrants and sections. - -![container size - quadrant or section](imgs/5-section.png) - - -  - -  - - -## Spacing - -Specifications about spacing have been detailed in **[Controls and UI Patterns](../Interaction_Guidelines/ux_controls_ui_patterns.md)** and **[Branding your Extension](ux_branding.md)**. - -Here are some links to specific parts of your extension that you may need spacing guidance on: - -* [**Dialogs** (Controls and UI Patterns)]({{site.baseurl}}/docs/Interaction_Guidelines/ux_controls_ui_patterns.html#dialogs) -* [**Configuration Dialog** (Branding your Extension)]({{site.baseurl}}/docs/Style_Guidelines/ux_branding.html#configuration-dialog) -* [**Extension Container** (Branding your Extension)]({{site.baseurl}}/docs/Style_Guidelines/ux_branding.html#extension-container) - - - -  - -  - - ---- - diff --git a/docs/assets/css/main.css b/docs/assets/css/main.css deleted file mode 100644 index ed89d937..00000000 --- a/docs/assets/css/main.css +++ /dev/null @@ -1,2321 +0,0 @@ -/*! normalize.css v1.1.3 | MIT License | git.io/normalize */ -/* ========================================================================== - * HTML5 display definitions - * ========================================================================== */ -/** - * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */ -article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { - display: block; } - -/** - * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */ -audio, canvas, video { - display: inline-block; - *display: inline; - *zoom: 1; } - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. */ -audio:not([controls]) { - display: none; - height: 0; } - -/** - * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. - * Known issue: no IE 6 support. */ -[hidden] { - display: none; } - -/* ========================================================================== - * Base - * ========================================================================== */ -/** - * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. */ -html { - font-size: 100%; - /* 1 */ - -ms-text-size-adjust: 100%; - /* 2 */ - -webkit-text-size-adjust: 100%; - /* 2 */ - font-family: sans-serif; } - -/** - * Address `font-family` inconsistency between `textarea` and other form - * elements. */ -button, input, select, textarea { - font-family: sans-serif; } - -/** - * Address margins handled incorrectly in IE 6/7. */ -body { - margin: 0; } - -/* ========================================================================== - * Links - * ========================================================================== */ -/** - * Address `outline` inconsistency between Chrome and other browsers. */ -a:focus { - outline: thin dotted; } - -a:active, a:hover { - outline: 0; } - -/** - * Improve readability when focused and also mouse hovered in all browsers. */ -/* ========================================================================== - * Typography - * ========================================================================== */ -/** - * Address font sizes and margins set differently in IE 6/7. - * Address font sizes within `section` and `article` in Firefox 4+, Safari 5, - * and Chrome. */ -h1 { - font-size: 2em; - margin: 0.67em 0; } - -h2 { - font-size: 1.5em; - margin: 0.83em 0; } - -h3 { - font-size: 1.17em; - margin: 1em 0; } - -h4, .tsd-index-panel h3 { - font-size: 1em; - margin: 1.33em 0; } - -h5 { - font-size: 0.83em; - margin: 1.67em 0; } - -h6 { - font-size: 0.67em; - margin: 2.33em 0; } - -/** - * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */ -abbr[title] { - border-bottom: 1px dotted; } - -/** - * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */ -b, strong { - font-weight: bold; } - -blockquote { - margin: 1em 40px; } - -/** - * Address styling not present in Safari 5 and Chrome. */ -dfn { - font-style: italic; } - -/** - * Address differences between Firefox and other browsers. - * Known issue: no IE 6/7 normalization. */ -hr { - box-sizing: content-box; - height: 0; } - -/** - * Address styling not present in IE 6/7/8/9. */ -mark { - background: #ff0; - color: #000; } - -/** - * Address margins set differently in IE 6/7. */ -p, pre { - margin: 1em 0; } - -/** - * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */ -code, kbd, pre, samp { - font-family: monospace, serif; - _font-family: 'courier new', monospace; - font-size: 1em; } - -/** - * Improve readability of pre-formatted text in all browsers. */ -pre { - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; } - -/** - * Address CSS quotes not supported in IE 6/7. */ -q { - quotes: none; } - q:before, q:after { - content: ''; - content: none; } - -/** - * Address `quotes` property not supported in Safari 4. */ -/** - * Address inconsistent and variable font size in all browsers. */ -small { - font-size: 80%; } - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. */ -sub { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; } - -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; - top: -0.5em; } - -sub { - bottom: -0.25em; } - -/* ========================================================================== - * Lists - * ========================================================================== */ -/** - * Address margins set differently in IE 6/7. */ -dl, menu, ol, ul { - margin: 1em 0; } - -dd { - margin: 0 0 0 40px; } - -/** - * Address paddings set differently in IE 6/7. */ -menu, ol, ul { - padding: 0 0 0 40px; } - -/** - * Correct list images handled incorrectly in IE 7. */ -nav ul, nav ol { - list-style: none; - list-style-image: none; } - -/* ========================================================================== - * Embedded content - * ========================================================================== */ -/** - * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. - * 2. Improve image quality when scaled in IE 7. */ -img { - border: 0; - /* 1 */ - -ms-interpolation-mode: bicubic; } - -/* 2 */ -/** - * Correct overflow displayed oddly in IE 9. */ -svg:not(:root) { - overflow: hidden; } - -/* ========================================================================== - * Figures - * ========================================================================== */ -/** - * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */ -figure, form { - margin: 0; } - -/* ========================================================================== - * Forms - * ========================================================================== */ -/** - * Correct margin displayed oddly in IE 6/7. */ -/** - * Define consistent border, margin, and padding. */ -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; } - -/** - * 1. Correct color not being inherited in IE 6/7/8/9. - * 2. Correct text not wrapping in Firefox 3. - * 3. Correct alignment displayed oddly in IE 6/7. */ -legend { - border: 0; - /* 1 */ - padding: 0; - white-space: normal; - /* 2 */ - *margin-left: -7px; } - -/* 3 */ -/** - * 1. Correct font size not being inherited in all browsers. - * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, - * and Chrome. - * 3. Improve appearance and consistency in all browsers. */ -button, input, select, textarea { - font-size: 100%; - /* 1 */ - margin: 0; - /* 2 */ - vertical-align: baseline; - /* 3 */ - *vertical-align: middle; } - -/* 3 */ -/** - * Address Firefox 3+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. */ -button, input { - line-height: normal; } - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. - * Correct `select` style inheritance in Firefox 4+ and Opera. */ -button, select { - text-transform: none; } - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - * 4. Remove inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. */ -button, html input[type="button"] { - -webkit-appearance: button; - /* 2 */ - cursor: pointer; - /* 3 */ - *overflow: visible; } - -/* 4 */ -input[type="reset"], input[type="submit"] { - -webkit-appearance: button; - /* 2 */ - cursor: pointer; - /* 3 */ - *overflow: visible; } - -/* 4 */ -/** - * Re-set default cursor for disabled elements. */ -button[disabled], html input[disabled] { - cursor: default; } - -/** - * 1. Address box sizing set to content-box in IE 8/9. - * 2. Remove excess padding in IE 8/9. - * 3. Remove excess padding in IE 7. - * Known issue: excess padding remains in IE 6. */ -input { - /* 3 */ } - input[type="checkbox"], input[type="radio"] { - box-sizing: border-box; - /* 1 */ - padding: 0; - /* 2 */ - *height: 13px; - /* 3 */ - *width: 13px; } - input[type="search"] { - -webkit-appearance: textfield; - /* 1 */ - /* 2 */ - box-sizing: content-box; } - input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; } - -/** - * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome - * (include `-moz` to future-proof). */ -/** - * Remove inner padding and search cancel button in Safari 5 and Chrome - * on OS X. */ -/** - * Remove inner padding and border in Firefox 3+. */ -button::-moz-focus-inner, input::-moz-focus-inner { - border: 0; - padding: 0; } - -/** - * 1. Remove default vertical scrollbar in IE 6/7/8/9. - * 2. Improve readability and alignment in all browsers. */ -textarea { - overflow: auto; - /* 1 */ - vertical-align: top; } - -/* 2 */ -/* ========================================================================== - * Tables - * ========================================================================== */ -/** - * Remove most spacing between table cells. */ -table { - border-collapse: collapse; - border-spacing: 0; } - -/* - * - *Visual Studio-like style based on original C# coloring by Jason Diamond */ -.hljs { - display: inline-block; - padding: 0.5em; - background: white; - color: black; } - -.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket { - color: #008000; } - -.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title { - color: #00f; } - -.xml .hljs-tag { - color: #00f; } - .xml .hljs-tag .hljs-value { - color: #00f; } - -.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value { - color: #a31515; } - -.ruby .hljs-symbol { - color: #a31515; } - .ruby .hljs-symbol .hljs-string { - color: #a31515; } - -.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute { - color: #a31515; } - -.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt { - color: #2b91af; } - -.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag { - color: #808080; } - -.vhdl .hljs-typename { - font-weight: bold; } - -.vhdl .hljs-string { - color: #666666; } - -.vhdl .hljs-literal { - color: #a31515; } - -.vhdl .hljs-attribute { - color: #00b0e8; } - -.xml .hljs-attribute { - color: #f00; } - -.col > :first-child, .col-1 > :first-child, .col-2 > :first-child, .col-3 > :first-child, .col-4 > :first-child, .col-5 > :first-child, .col-6 > :first-child, .col-7 > :first-child, .col-8 > :first-child, .col-9 > :first-child, .col-10 > :first-child, .col-11 > :first-child, .tsd-panel > :first-child, ul.tsd-descriptions > li > :first-child, -.col > :first-child > :first-child, -.col-1 > :first-child > :first-child, -.col-2 > :first-child > :first-child, -.col-3 > :first-child > :first-child, -.col-4 > :first-child > :first-child, -.col-5 > :first-child > :first-child, -.col-6 > :first-child > :first-child, -.col-7 > :first-child > :first-child, -.col-8 > :first-child > :first-child, -.col-9 > :first-child > :first-child, -.col-10 > :first-child > :first-child, -.col-11 > :first-child > :first-child, -.tsd-panel > :first-child > :first-child, -ul.tsd-descriptions > li > :first-child > :first-child, -.col > :first-child > :first-child > :first-child, -.col-1 > :first-child > :first-child > :first-child, -.col-2 > :first-child > :first-child > :first-child, -.col-3 > :first-child > :first-child > :first-child, -.col-4 > :first-child > :first-child > :first-child, -.col-5 > :first-child > :first-child > :first-child, -.col-6 > :first-child > :first-child > :first-child, -.col-7 > :first-child > :first-child > :first-child, -.col-8 > :first-child > :first-child > :first-child, -.col-9 > :first-child > :first-child > :first-child, -.col-10 > :first-child > :first-child > :first-child, -.col-11 > :first-child > :first-child > :first-child, -.tsd-panel > :first-child > :first-child > :first-child, -ul.tsd-descriptions > li > :first-child > :first-child > :first-child { - margin-top: 0; } - -.col > :last-child, .col-1 > :last-child, .col-2 > :last-child, .col-3 > :last-child, .col-4 > :last-child, .col-5 > :last-child, .col-6 > :last-child, .col-7 > :last-child, .col-8 > :last-child, .col-9 > :last-child, .col-10 > :last-child, .col-11 > :last-child, .tsd-panel > :last-child, ul.tsd-descriptions > li > :last-child, -.col > :last-child > :last-child, -.col-1 > :last-child > :last-child, -.col-2 > :last-child > :last-child, -.col-3 > :last-child > :last-child, -.col-4 > :last-child > :last-child, -.col-5 > :last-child > :last-child, -.col-6 > :last-child > :last-child, -.col-7 > :last-child > :last-child, -.col-8 > :last-child > :last-child, -.col-9 > :last-child > :last-child, -.col-10 > :last-child > :last-child, -.col-11 > :last-child > :last-child, -.tsd-panel > :last-child > :last-child, -ul.tsd-descriptions > li > :last-child > :last-child, -.col > :last-child > :last-child > :last-child, -.col-1 > :last-child > :last-child > :last-child, -.col-2 > :last-child > :last-child > :last-child, -.col-3 > :last-child > :last-child > :last-child, -.col-4 > :last-child > :last-child > :last-child, -.col-5 > :last-child > :last-child > :last-child, -.col-6 > :last-child > :last-child > :last-child, -.col-7 > :last-child > :last-child > :last-child, -.col-8 > :last-child > :last-child > :last-child, -.col-9 > :last-child > :last-child > :last-child, -.col-10 > :last-child > :last-child > :last-child, -.col-11 > :last-child > :last-child > :last-child, -.tsd-panel > :last-child > :last-child > :last-child, -ul.tsd-descriptions > li > :last-child > :last-child > :last-child { - margin-bottom: 0; } - -.container { - max-width: 1200px; - margin: 0 auto; - padding: 0 40px; } - @media (max-width: 640px) { - .container { - padding: 0 20px; } } - -.container-main { - padding-bottom: 200px; } - -.row { - display: -ms-flexbox; - display: flex; - position: relative; - margin: 0 -10px; } - .row:after { - visibility: hidden; - display: block; - content: ""; - clear: both; - height: 0; } - -.col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11 { - box-sizing: border-box; - float: left; - padding: 0 10px; } - -.col-1 { - width: 8.3333333333%; } - -.offset-1 { - margin-left: 8.3333333333%; } - -.col-2 { - width: 16.6666666667%; } - -.offset-2 { - margin-left: 16.6666666667%; } - -.col-3 { - width: 25%; } - -.offset-3 { - margin-left: 25%; } - -.col-4 { - width: 33.3333333333%; } - -.offset-4 { - margin-left: 33.3333333333%; } - -.col-5 { - width: 41.6666666667%; } - -.offset-5 { - margin-left: 41.6666666667%; } - -.col-6 { - width: 50%; } - -.offset-6 { - margin-left: 50%; } - -.col-7 { - width: 58.3333333333%; } - -.offset-7 { - margin-left: 58.3333333333%; } - -.col-8 { - width: 66.6666666667%; } - -.offset-8 { - margin-left: 66.6666666667%; } - -.col-9 { - width: 75%; } - -.offset-9 { - margin-left: 75%; } - -.col-10 { - width: 83.3333333333%; } - -.offset-10 { - margin-left: 83.3333333333%; } - -.col-11 { - width: 91.6666666667%; } - -.offset-11 { - margin-left: 91.6666666667%; } - -.tsd-kind-icon { - display: block; - position: relative; - padding-left: 20px; - text-indent: -20px; } - .tsd-kind-icon:before { - content: ''; - display: inline-block; - vertical-align: middle; - width: 17px; - height: 17px; - margin: 0 3px 2px 0; - background-image: url(../images/icons.png); } - @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { - .tsd-kind-icon:before { - background-image: url(../images/icons@2x.png); - background-size: 238px 204px; } } - -.tsd-signature.tsd-kind-icon:before { - background-position: 0 -153px; } - -.tsd-kind-object-literal > .tsd-kind-icon:before { - background-position: 0px -17px; } - -.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -17px; } - -.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -17px; } - -.tsd-kind-class > .tsd-kind-icon:before { - background-position: 0px -34px; } - -.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -34px; } - -.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -34px; } - -.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { - background-position: 0px -51px; } - -.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -51px; } - -.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -51px; } - -.tsd-kind-interface > .tsd-kind-icon:before { - background-position: 0px -68px; } - -.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -68px; } - -.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -68px; } - -.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { - background-position: 0px -85px; } - -.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -85px; } - -.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -85px; } - -.tsd-kind-module > .tsd-kind-icon:before { - background-position: 0px -102px; } - -.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -102px; } - -.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -102px; } - -.tsd-kind-external-module > .tsd-kind-icon:before { - background-position: 0px -102px; } - -.tsd-kind-external-module.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -102px; } - -.tsd-kind-external-module.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -102px; } - -.tsd-kind-enum > .tsd-kind-icon:before { - background-position: 0px -119px; } - -.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -119px; } - -.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -119px; } - -.tsd-kind-enum-member > .tsd-kind-icon:before { - background-position: 0px -136px; } - -.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -136px; } - -.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -136px; } - -.tsd-kind-signature > .tsd-kind-icon:before { - background-position: 0px -153px; } - -.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -153px; } - -.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -153px; } - -.tsd-kind-type-alias > .tsd-kind-icon:before { - background-position: 0px -170px; } - -.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -170px; } - -.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -170px; } - -.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { - background-position: 0px -187px; } - -.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -187px; } - -.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -187px; } - -.tsd-kind-variable > .tsd-kind-icon:before { - background-position: -136px -0px; } - -.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -0px; } - -.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -0px; } - -.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -0px; } - -.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -0px; } - -.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -0px; } - -.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -0px; } - -.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -0px; } - -.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -0px; } - -.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -0px; } - -.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -0px; } - -.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -0px; } - -.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -0px; } - -.tsd-kind-property > .tsd-kind-icon:before { - background-position: -136px -0px; } - -.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -0px; } - -.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -0px; } - -.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -0px; } - -.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -0px; } - -.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -0px; } - -.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -0px; } - -.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -0px; } - -.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -0px; } - -.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -0px; } - -.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -0px; } - -.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -0px; } - -.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -0px; } - -.tsd-kind-get-signature > .tsd-kind-icon:before { - background-position: -136px -17px; } - -.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -17px; } - -.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -17px; } - -.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -17px; } - -.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -17px; } - -.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -17px; } - -.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -17px; } - -.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -17px; } - -.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -17px; } - -.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -17px; } - -.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -17px; } - -.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -17px; } - -.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -17px; } - -.tsd-kind-set-signature > .tsd-kind-icon:before { - background-position: -136px -34px; } - -.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -34px; } - -.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -34px; } - -.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -34px; } - -.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -34px; } - -.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -34px; } - -.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -34px; } - -.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -34px; } - -.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -34px; } - -.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -34px; } - -.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -34px; } - -.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -34px; } - -.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -34px; } - -.tsd-kind-accessor > .tsd-kind-icon:before { - background-position: -136px -51px; } - -.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -51px; } - -.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -51px; } - -.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -51px; } - -.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -51px; } - -.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -51px; } - -.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -51px; } - -.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -51px; } - -.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -51px; } - -.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -51px; } - -.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -51px; } - -.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -51px; } - -.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -51px; } - -.tsd-kind-function > .tsd-kind-icon:before { - background-position: -136px -68px; } - -.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -68px; } - -.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; } - -.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -68px; } - -.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -68px; } - -.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -68px; } - -.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -68px; } - -.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; } - -.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -68px; } - -.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -68px; } - -.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; } - -.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -68px; } - -.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -68px; } - -.tsd-kind-method > .tsd-kind-icon:before { - background-position: -136px -68px; } - -.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -68px; } - -.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; } - -.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -68px; } - -.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -68px; } - -.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -68px; } - -.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -68px; } - -.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; } - -.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -68px; } - -.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -68px; } - -.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; } - -.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -68px; } - -.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -68px; } - -.tsd-kind-call-signature > .tsd-kind-icon:before { - background-position: -136px -68px; } - -.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -68px; } - -.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; } - -.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -68px; } - -.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -68px; } - -.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -68px; } - -.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -68px; } - -.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; } - -.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -68px; } - -.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -68px; } - -.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; } - -.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -68px; } - -.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -68px; } - -.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { - background-position: -136px -85px; } - -.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -85px; } - -.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -85px; } - -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -85px; } - -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -85px; } - -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -85px; } - -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -85px; } - -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -85px; } - -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -85px; } - -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -85px; } - -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -85px; } - -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -85px; } - -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -85px; } - -.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { - background-position: -136px -85px; } - -.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -85px; } - -.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -85px; } - -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -85px; } - -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -85px; } - -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -85px; } - -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -85px; } - -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -85px; } - -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -85px; } - -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -85px; } - -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -85px; } - -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -85px; } - -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -85px; } - -.tsd-kind-constructor > .tsd-kind-icon:before { - background-position: -136px -102px; } - -.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -102px; } - -.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -102px; } - -.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -102px; } - -.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -102px; } - -.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -102px; } - -.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -102px; } - -.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -102px; } - -.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -102px; } - -.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -102px; } - -.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -102px; } - -.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -102px; } - -.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -102px; } - -.tsd-kind-constructor-signature > .tsd-kind-icon:before { - background-position: -136px -102px; } - -.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -102px; } - -.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -102px; } - -.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -102px; } - -.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -102px; } - -.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -102px; } - -.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -102px; } - -.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -102px; } - -.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -102px; } - -.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -102px; } - -.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -102px; } - -.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -102px; } - -.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -102px; } - -.tsd-kind-index-signature > .tsd-kind-icon:before { - background-position: -136px -119px; } - -.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -119px; } - -.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -119px; } - -.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -119px; } - -.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -119px; } - -.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -119px; } - -.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -119px; } - -.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -119px; } - -.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -119px; } - -.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -119px; } - -.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -119px; } - -.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -119px; } - -.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -119px; } - -.tsd-kind-event > .tsd-kind-icon:before { - background-position: -136px -136px; } - -.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -136px; } - -.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -136px; } - -.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -136px; } - -.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -136px; } - -.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -136px; } - -.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -136px; } - -.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -136px; } - -.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -136px; } - -.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -136px; } - -.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -136px; } - -.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -136px; } - -.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -136px; } - -.tsd-is-static > .tsd-kind-icon:before { - background-position: -136px -153px; } - -.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -153px; } - -.tsd-is-static.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -153px; } - -.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -153px; } - -.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -153px; } - -.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -153px; } - -.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -153px; } - -.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -153px; } - -.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -153px; } - -.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -153px; } - -.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -153px; } - -.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -153px; } - -.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -153px; } - -.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { - background-position: -136px -170px; } - -.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -170px; } - -.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -170px; } - -.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -170px; } - -.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -170px; } - -.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -170px; } - -.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -170px; } - -.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -170px; } - -.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -170px; } - -.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -170px; } - -.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -170px; } - -.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -170px; } - -.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -170px; } - -.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { - background-position: -136px -170px; } - -.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -170px; } - -.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -170px; } - -.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -170px; } - -.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -170px; } - -.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -170px; } - -.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -170px; } - -.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -170px; } - -.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -170px; } - -.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -170px; } - -.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -170px; } - -.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -170px; } - -.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -170px; } - -.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { - background-position: -136px -170px; } - -.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -170px; } - -.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -170px; } - -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -170px; } - -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -170px; } - -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -170px; } - -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -170px; } - -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -170px; } - -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -170px; } - -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -170px; } - -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -170px; } - -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -170px; } - -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -170px; } - -.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { - background-position: -136px -187px; } - -.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -187px; } - -.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -187px; } - -.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -187px; } - -.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -187px; } - -.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -187px; } - -.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -102px -187px; } - -.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -187px; } - -.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -187px; } - -.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -187px; } - -.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -187px; } - -.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -187px; } - -.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -221px -187px; } - -.no-transition { - transition: none !important; } - -@keyframes fade-in { - from { - opacity: 0; } - to { - opacity: 1; } } - -@keyframes fade-out { - from { - opacity: 1; - visibility: visible; } - to { - opacity: 0; } } - -@keyframes fade-in-delayed { - 0% { - opacity: 0; } - 33% { - opacity: 0; } - 100% { - opacity: 1; } } - -@keyframes fade-out-delayed { - 0% { - opacity: 1; - visibility: visible; } - 66% { - opacity: 0; } - 100% { - opacity: 0; } } - -@keyframes shift-to-left { - from { - transform: translate(0, 0); } - to { - transform: translate(-25%, 0); } } - -@keyframes unshift-to-left { - from { - transform: translate(-25%, 0); } - to { - transform: translate(0, 0); } } - -@keyframes pop-in-from-right { - from { - transform: translate(100%, 0); } - to { - transform: translate(0, 0); } } - -@keyframes pop-out-to-right { - from { - transform: translate(0, 0); - visibility: visible; } - to { - transform: translate(100%, 0); } } - -body { - background: #fdfdfd; - font-family: "Segoe UI", sans-serif; - font-size: 16px; - color: #222; } - -a { - color: #4da6ff; - text-decoration: none; } - a:hover { - text-decoration: underline; } - -code, pre { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - padding: 0.2em; - margin: 0; - font-size: 14px; - background-color: rgba(0, 0, 0, 0.04); } - -pre { - padding: 10px; } - pre code { - padding: 0; - font-size: 100%; - background-color: transparent; } - -.tsd-typography { - line-height: 1.333em; } - .tsd-typography ul { - list-style: square; - padding: 0 0 0 20px; - margin: 0; } - .tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 { - font-size: 1em; - margin: 0; } - .tsd-typography h5, .tsd-typography h6 { - font-weight: normal; } - .tsd-typography p, .tsd-typography ul, .tsd-typography ol { - margin: 1em 0; } - -@media (min-width: 901px) and (max-width: 1024px) { - html.default .col-content { - width: 72%; } - html.default .col-menu { - width: 28%; } - html.default .tsd-navigation { - padding-left: 10px; } } - -@media (max-width: 900px) { - html.default .col-content { - float: none; - width: 100%; } - html.default .col-menu { - position: fixed !important; - overflow: auto; - -webkit-overflow-scrolling: touch; - z-index: 1024; - top: 0 !important; - bottom: 0 !important; - left: auto !important; - right: 0 !important; - width: 100%; - padding: 20px 20px 0 0; - max-width: 450px; - visibility: hidden; - background-color: #fff; - transform: translate(100%, 0); } - html.default .col-menu > *:last-child { - padding-bottom: 20px; } - html.default .overlay { - content: ''; - display: block; - position: fixed; - z-index: 1023; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0, 0, 0, 0.75); - visibility: hidden; } - html.default.to-has-menu .overlay { - animation: fade-in 0.4s; } - html.default.to-has-menu header, - html.default.to-has-menu footer, - html.default.to-has-menu .col-content { - animation: shift-to-left 0.4s; } - html.default.to-has-menu .col-menu { - animation: pop-in-from-right 0.4s; } - html.default.from-has-menu .overlay { - animation: fade-out 0.4s; } - html.default.from-has-menu header, - html.default.from-has-menu footer, - html.default.from-has-menu .col-content { - animation: unshift-to-left 0.4s; } - html.default.from-has-menu .col-menu { - animation: pop-out-to-right 0.4s; } - html.default.has-menu body { - overflow: hidden; } - html.default.has-menu .overlay { - visibility: visible; } - html.default.has-menu header, - html.default.has-menu footer, - html.default.has-menu .col-content { - transform: translate(-25%, 0); } - html.default.has-menu .col-menu { - visibility: visible; - transform: translate(0, 0); } } - -.tsd-page-title { - padding: 70px 0 20px 0; - margin: 0 0 40px 0; - background: #fff; - box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); } - .tsd-page-title h1 { - margin: 0; } - -.tsd-breadcrumb { - margin: 0; - padding: 0; - color: #808080; } - .tsd-breadcrumb a { - color: #808080; - text-decoration: none; } - .tsd-breadcrumb a:hover { - text-decoration: underline; } - .tsd-breadcrumb li { - display: inline; } - .tsd-breadcrumb li:after { - content: ' / '; } - -html.minimal .container { - margin: 0; } - -html.minimal .container-main { - padding-top: 50px; - padding-bottom: 0; } - -html.minimal .content-wrap { - padding-left: 300px; } - -html.minimal .tsd-navigation { - position: fixed !important; - overflow: auto; - -webkit-overflow-scrolling: touch; - box-sizing: border-box; - z-index: 1; - left: 0; - top: 40px; - bottom: 0; - width: 300px; - padding: 20px; - margin: 0; } - -html.minimal .tsd-member .tsd-member { - margin-left: 0; } - -html.minimal .tsd-page-toolbar { - position: fixed; - z-index: 2; } - -html.minimal #tsd-filter .tsd-filter-group { - right: 0; - transform: none; } - -html.minimal footer { - background-color: transparent; } - html.minimal footer .container { - padding: 0; } - -html.minimal .tsd-generator { - padding: 0; } - -@media (max-width: 900px) { - html.minimal .tsd-navigation { - display: none; } - html.minimal .content-wrap { - padding-left: 0; } } - -dl.tsd-comment-tags { - overflow: hidden; } - dl.tsd-comment-tags dt { - float: left; - padding: 1px 5px; - margin: 0 10px 0 0; - border-radius: 4px; - border: 1px solid #808080; - color: #808080; - font-size: 0.8em; - font-weight: normal; } - dl.tsd-comment-tags dd { - margin: 0 0 10px 0; } - dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after { - display: table; - content: " "; } - dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after { - clear: both; } - dl.tsd-comment-tags p { - margin: 0; } - -.tsd-panel.tsd-comment .lead { - font-size: 1.1em; - line-height: 1.333em; - margin-bottom: 2em; } - .tsd-panel.tsd-comment .lead:last-child { - margin-bottom: 0; } - -.toggle-protected .tsd-is-private { - display: none; } - -.toggle-public .tsd-is-private, -.toggle-public .tsd-is-protected, -.toggle-public .tsd-is-private-protected { - display: none; } - -.toggle-inherited .tsd-is-inherited { - display: none; } - -.toggle-only-exported .tsd-is-not-exported { - display: none; } - -.toggle-externals .tsd-is-external { - display: none; } - -#tsd-filter { - position: relative; - display: inline-block; - height: 40px; - vertical-align: bottom; } - .no-filter #tsd-filter { - display: none; } - #tsd-filter .tsd-filter-group { - display: inline-block; - height: 40px; - vertical-align: bottom; - white-space: nowrap; } - #tsd-filter input { - display: none; } - @media (max-width: 900px) { - #tsd-filter .tsd-filter-group { - display: block; - position: absolute; - top: 40px; - right: 20px; - height: auto; - background-color: #fff; - visibility: hidden; - transform: translate(50%, 0); - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); } - .has-options #tsd-filter .tsd-filter-group { - visibility: visible; } - .to-has-options #tsd-filter .tsd-filter-group { - animation: fade-in 0.2s; } - .from-has-options #tsd-filter .tsd-filter-group { - animation: fade-out 0.2s; } - #tsd-filter label, - #tsd-filter .tsd-select { - display: block; - padding-right: 20px; } } - -footer { - border-top: 1px solid #eee; - background-color: #fff; } - footer.with-border-bottom { - border-bottom: 1px solid #eee; } - footer .tsd-legend-group { - font-size: 0; } - footer .tsd-legend { - display: inline-block; - width: 25%; - padding: 0; - font-size: 16px; - list-style: none; - line-height: 1.333em; - vertical-align: top; } - @media (max-width: 900px) { - footer .tsd-legend { - width: 50%; } } - -.tsd-hierarchy { - list-style: square; - padding: 0 0 0 20px; - margin: 0; } - .tsd-hierarchy .target { - font-weight: bold; } - -.tsd-index-panel .tsd-index-content { - margin-bottom: -30px !important; } - -.tsd-index-panel .tsd-index-section { - margin-bottom: 30px !important; } - -.tsd-index-panel h3 { - margin: 0 -20px 10px -20px; - padding: 0 20px 10px 20px; - border-bottom: 1px solid #eee; } - -.tsd-index-panel ul.tsd-index-list { - -moz-column-count: 3; - -ms-column-count: 3; - -o-column-count: 3; - column-count: 3; - -moz-column-gap: 20px; - -ms-column-gap: 20px; - -o-column-gap: 20px; - column-gap: 20px; - padding: 0; - list-style: none; - line-height: 1.333em; } - @media (max-width: 900px) { - .tsd-index-panel ul.tsd-index-list { - -moz-column-count: 1; - -ms-column-count: 1; - -o-column-count: 1; - column-count: 1; } } - @media (min-width: 901px) and (max-width: 1024px) { - .tsd-index-panel ul.tsd-index-list { - -moz-column-count: 2; - -ms-column-count: 2; - -o-column-count: 2; - column-count: 2; } } - .tsd-index-panel ul.tsd-index-list li { - -webkit-page-break-inside: avoid; - -moz-page-break-inside: avoid; - -ms-page-break-inside: avoid; - -o-page-break-inside: avoid; - page-break-inside: avoid; } - -.tsd-index-panel a, -.tsd-index-panel .tsd-parent-kind-module a { - color: #9600ff; } - -.tsd-index-panel .tsd-parent-kind-interface a { - color: #7da01f; } - -.tsd-index-panel .tsd-parent-kind-enum a { - color: #cc9900; } - -.tsd-index-panel .tsd-parent-kind-class a { - color: #4da6ff; } - -.tsd-index-panel .tsd-kind-module a { - color: #9600ff; } - -.tsd-index-panel .tsd-kind-interface a { - color: #7da01f; } - -.tsd-index-panel .tsd-kind-enum a { - color: #cc9900; } - -.tsd-index-panel .tsd-kind-class a { - color: #4da6ff; } - -.tsd-index-panel .tsd-is-private a { - color: #808080; } - -.tsd-flag { - display: inline-block; - padding: 1px 5px; - border-radius: 4px; - color: #fff; - background-color: #808080; - text-indent: 0; - font-size: 14px; - font-weight: normal; } - -.tsd-anchor { - position: absolute; - top: -100px; } - -.tsd-member { - position: relative; } - .tsd-member .tsd-anchor + h3 { - margin-top: 0; - margin-bottom: 0; - border-bottom: none; } - -.tsd-navigation { - margin: 0 0 0 40px; } - .tsd-navigation a { - display: block; - padding-top: 2px; - padding-bottom: 2px; - border-left: 2px solid transparent; - color: #222; - text-decoration: none; - transition: border-left-color 0.1s; } - .tsd-navigation a:hover { - text-decoration: underline; } - .tsd-navigation ul { - margin: 0; - padding: 0; - list-style: none; } - .tsd-navigation li { - padding: 0; } - -.tsd-navigation.primary { - padding-bottom: 40px; } - .tsd-navigation.primary a { - display: block; - padding-top: 6px; - padding-bottom: 6px; } - .tsd-navigation.primary ul li a { - padding-left: 5px; } - .tsd-navigation.primary ul li li a { - padding-left: 25px; } - .tsd-navigation.primary ul li li li a { - padding-left: 45px; } - .tsd-navigation.primary ul li li li li a { - padding-left: 65px; } - .tsd-navigation.primary ul li li li li li a { - padding-left: 85px; } - .tsd-navigation.primary ul li li li li li li a { - padding-left: 105px; } - .tsd-navigation.primary > ul { - border-bottom: 1px solid #eee; } - .tsd-navigation.primary li { - border-top: 1px solid #eee; } - .tsd-navigation.primary li.current > a { - font-weight: bold; } - .tsd-navigation.primary li.label span { - display: block; - padding: 20px 0 6px 5px; - color: #808080; } - .tsd-navigation.primary li.globals + li > span, - .tsd-navigation.primary li.globals + li > a { - padding-top: 20px; } - -.tsd-navigation.secondary { - max-height: calc(100vh - 1rem - 40px); - overflow: auto; - position: -webkit-sticky; - position: sticky; - top: calc(.5rem + 40px); - transition: .3s; } - .tsd-navigation.secondary.tsd-navigation--toolbar-hide { - max-height: calc(100vh - 1rem); - top: .5rem; } - .tsd-navigation.secondary ul { - transition: opacity 0.2s; } - .tsd-navigation.secondary ul li a { - padding-left: 25px; } - .tsd-navigation.secondary ul li li a { - padding-left: 45px; } - .tsd-navigation.secondary ul li li li a { - padding-left: 65px; } - .tsd-navigation.secondary ul li li li li a { - padding-left: 85px; } - .tsd-navigation.secondary ul li li li li li a { - padding-left: 105px; } - .tsd-navigation.secondary ul li li li li li li a { - padding-left: 125px; } - .tsd-navigation.secondary ul.current a { - border-left-color: #eee; } - .tsd-navigation.secondary li.focus > a, - .tsd-navigation.secondary ul.current li.focus > a { - border-left-color: #000; } - .tsd-navigation.secondary li.current { - margin-top: 20px; - margin-bottom: 20px; - border-left-color: #eee; } - .tsd-navigation.secondary li.current > a { - font-weight: bold; } - -@media (min-width: 901px) { - .menu-sticky-wrap { - position: static; } } - -.tsd-panel { - margin: 20px 0; - padding: 20px; - background-color: #fff; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); } - .tsd-panel:empty { - display: none; } - .tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 { - margin: 1.5em -20px 10px -20px; - padding: 0 20px 10px 20px; - border-bottom: 1px solid #eee; } - .tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature { - margin-bottom: 0; - border-bottom: 0; } - .tsd-panel table { - display: block; - width: 100%; - overflow: auto; - margin-top: 10px; - word-break: normal; - word-break: keep-all; } - .tsd-panel table th { - font-weight: bold; } - .tsd-panel table th, .tsd-panel table td { - padding: 6px 13px; - border: 1px solid #ddd; } - .tsd-panel table tr { - background-color: #fff; - border-top: 1px solid #ccc; } - .tsd-panel table tr:nth-child(2n) { - background-color: #f8f8f8; } - -.tsd-panel-group { - margin: 60px 0; } - .tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 { - padding-left: 20px; - padding-right: 20px; } - -#tsd-search { - transition: background-color 0.2s; } - #tsd-search .title { - position: relative; - z-index: 2; } - #tsd-search .field { - position: absolute; - left: 0; - top: 0; - right: 40px; - height: 40px; } - #tsd-search .field input { - box-sizing: border-box; - position: relative; - top: -50px; - z-index: 1; - width: 100%; - padding: 0 10px; - opacity: 0; - outline: 0; - border: 0; - background: transparent; - color: #222; } - #tsd-search .field label { - position: absolute; - overflow: hidden; - right: -40px; } - #tsd-search .field input, - #tsd-search .title { - transition: opacity 0.2s; } - #tsd-search .results { - position: absolute; - visibility: hidden; - top: 40px; - width: 100%; - margin: 0; - padding: 0; - list-style: none; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); } - #tsd-search .results li { - padding: 0 10px; - background-color: #fdfdfd; } - #tsd-search .results li:nth-child(even) { - background-color: #fff; } - #tsd-search .results li.state { - display: none; } - #tsd-search .results li.current, - #tsd-search .results li:hover { - background-color: #eee; } - #tsd-search .results a { - display: block; } - #tsd-search .results a:before { - top: 10px; } - #tsd-search .results span.parent { - color: #808080; - font-weight: normal; } - #tsd-search.has-focus { - background-color: #eee; } - #tsd-search.has-focus .field input { - top: 0; - opacity: 1; } - #tsd-search.has-focus .title { - z-index: 0; - opacity: 0; } - #tsd-search.has-focus .results { - visibility: visible; } - #tsd-search.loading .results li.state.loading { - display: block; } - #tsd-search.failure .results li.state.failure { - display: block; } - -.tsd-signature { - margin: 0 0 1em 0; - padding: 10px; - border: 1px solid #eee; - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - font-size: 14px; } - .tsd-signature.tsd-kind-icon { - padding-left: 30px; } - .tsd-signature.tsd-kind-icon:before { - top: 10px; - left: 10px; } - .tsd-panel > .tsd-signature { - margin-left: -20px; - margin-right: -20px; - border-width: 1px 0; } - .tsd-panel > .tsd-signature.tsd-kind-icon { - padding-left: 40px; } - .tsd-panel > .tsd-signature.tsd-kind-icon:before { - left: 20px; } - -.tsd-signature-symbol { - color: #808080; - font-weight: normal; } - -.tsd-signature-type { - font-style: italic; - font-weight: normal; } - -.tsd-signatures { - padding: 0; - margin: 0 0 1em 0; - border: 1px solid #eee; } - .tsd-signatures .tsd-signature { - margin: 0; - border-width: 1px 0 0 0; - transition: background-color 0.1s; } - .tsd-signatures .tsd-signature:first-child { - border-top-width: 0; } - .tsd-signatures .tsd-signature.current { - background-color: #eee; } - .tsd-signatures.active > .tsd-signature { - cursor: pointer; } - .tsd-panel > .tsd-signatures { - margin-left: -20px; - margin-right: -20px; - border-width: 1px 0; } - .tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { - padding-left: 40px; } - .tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { - left: 20px; } - .tsd-panel > a.anchor + .tsd-signatures { - border-top-width: 0; - margin-top: -20px; } - -ul.tsd-descriptions { - position: relative; - overflow: hidden; - transition: height 0.3s; - padding: 0; - list-style: none; } - ul.tsd-descriptions.active > .tsd-description { - display: none; } - ul.tsd-descriptions.active > .tsd-description.current { - display: block; } - ul.tsd-descriptions.active > .tsd-description.fade-in { - animation: fade-in-delayed 0.3s; } - ul.tsd-descriptions.active > .tsd-description.fade-out { - animation: fade-out-delayed 0.3s; - position: absolute; - display: block; - top: 0; - left: 0; - right: 0; - opacity: 0; - visibility: hidden; } - ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 { - font-size: 16px; - margin: 1em 0 0.5em 0; } - -ul.tsd-parameters, -ul.tsd-type-parameters { - list-style: square; - margin: 0; - padding-left: 20px; } - ul.tsd-parameters > li.tsd-parameter-siganture, - ul.tsd-type-parameters > li.tsd-parameter-siganture { - list-style: none; - margin-left: -20px; } - ul.tsd-parameters h5, - ul.tsd-type-parameters h5 { - font-size: 16px; - margin: 1em 0 0.5em 0; } - ul.tsd-parameters .tsd-comment, - ul.tsd-type-parameters .tsd-comment { - margin-top: -0.5em; } - -.tsd-sources { - font-size: 14px; - color: #808080; - margin: 0 0 1em 0; } - .tsd-sources a { - color: #808080; - text-decoration: underline; } - .tsd-sources ul, .tsd-sources p { - margin: 0 !important; } - .tsd-sources ul { - list-style: none; - padding: 0; } - -.tsd-page-toolbar { - position: fixed; - z-index: 1; - top: 0; - left: 0; - width: 100%; - height: 40px; - color: #333; - background: #fff; - border-bottom: 1px solid #eee; - transition: transform .3s linear; } - .tsd-page-toolbar a { - color: #333; - text-decoration: none; } - .tsd-page-toolbar a.title { - font-weight: bold; } - .tsd-page-toolbar a.title:hover { - text-decoration: underline; } - .tsd-page-toolbar .table-wrap { - display: table; - width: 100%; - height: 40px; } - .tsd-page-toolbar .table-cell { - display: table-cell; - position: relative; - white-space: nowrap; - line-height: 40px; } - .tsd-page-toolbar .table-cell:first-child { - width: 100%; } - -.tsd-page-toolbar--hide { - transform: translateY(-100%); } - -.tsd-widget:before, .tsd-select .tsd-select-label:before, .tsd-select .tsd-select-list li:before { - content: ''; - display: inline-block; - width: 40px; - height: 40px; - margin: 0 -8px 0 0; - background-image: url(../images/widgets.png); - background-repeat: no-repeat; - text-indent: -1024px; - vertical-align: bottom; } - @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { - .tsd-widget:before, .tsd-select .tsd-select-label:before, .tsd-select .tsd-select-list li:before { - background-image: url(../images/widgets@2x.png); - background-size: 320px 40px; } } - -.tsd-widget { - display: inline-block; - overflow: hidden; - opacity: 0.6; - height: 40px; - transition: opacity 0.1s, background-color 0.2s; - vertical-align: bottom; - cursor: pointer; } - .tsd-widget:hover { - opacity: 0.8; } - .tsd-widget.active { - opacity: 1; - background-color: #eee; } - .tsd-widget.no-caption { - width: 40px; } - .tsd-widget.no-caption:before { - margin: 0; } - .tsd-widget.search:before { - background-position: 0 0; } - .tsd-widget.menu:before { - background-position: -40px 0; } - .tsd-widget.options:before { - background-position: -80px 0; } - .tsd-widget.options, .tsd-widget.menu { - display: none; } - @media (max-width: 900px) { - .tsd-widget.options, .tsd-widget.menu { - display: inline-block; } } - input[type=checkbox] + .tsd-widget:before { - background-position: -120px 0; } - input[type=checkbox]:checked + .tsd-widget:before { - background-position: -160px 0; } - -.tsd-select { - position: relative; - display: inline-block; - height: 40px; - transition: opacity 0.1s, background-color 0.2s; - vertical-align: bottom; - cursor: pointer; } - .tsd-select .tsd-select-label { - opacity: 0.6; - transition: opacity 0.2s; } - .tsd-select .tsd-select-label:before { - background-position: -240px 0; } - .tsd-select.active .tsd-select-label { - opacity: 0.8; } - .tsd-select.active .tsd-select-list { - visibility: visible; - opacity: 1; - transition-delay: 0s; } - .tsd-select .tsd-select-list { - position: absolute; - visibility: hidden; - top: 40px; - left: 0; - margin: 0; - padding: 0; - opacity: 0; - list-style: none; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); - transition: visibility 0s 0.2s, opacity 0.2s; } - .tsd-select .tsd-select-list li { - padding: 0 20px 0 0; - background-color: #fdfdfd; } - .tsd-select .tsd-select-list li:before { - background-position: 40px 0; } - .tsd-select .tsd-select-list li:nth-child(even) { - background-color: #fff; } - .tsd-select .tsd-select-list li:hover { - background-color: #eee; } - .tsd-select .tsd-select-list li.selected:before { - background-position: -200px 0; } - @media (max-width: 900px) { - .tsd-select .tsd-select-list { - top: 0; - left: auto; - right: 100%; - margin-right: -5px; } - .tsd-select .tsd-select-label:before { - background-position: -280px 0; } } - -img { - max-width: 100%; } diff --git a/docs/assets/images/icons.png b/docs/assets/images/icons.png deleted file mode 100644 index 3836d5fe..00000000 Binary files a/docs/assets/images/icons.png and /dev/null differ diff --git a/docs/assets/images/icons@2x.png b/docs/assets/images/icons@2x.png deleted file mode 100644 index 5a209e2f..00000000 Binary files a/docs/assets/images/icons@2x.png and /dev/null differ diff --git a/docs/assets/images/widgets.png b/docs/assets/images/widgets.png deleted file mode 100644 index c7380532..00000000 Binary files a/docs/assets/images/widgets.png and /dev/null differ diff --git a/docs/assets/images/widgets@2x.png b/docs/assets/images/widgets@2x.png deleted file mode 100644 index 4bbbd572..00000000 Binary files a/docs/assets/images/widgets@2x.png and /dev/null differ diff --git a/docs/assets/js/main.js b/docs/assets/js/main.js deleted file mode 100644 index 5fe710b2..00000000 --- a/docs/assets/js/main.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";function x(e){return null!=e&&e===e.window}var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0>10|55296,1023&r|56320)}function oe(){T()}var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,r.left):(a=parseFloat(o)||0,parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0":">",'"':""","'":"'","`":"`"},P=h.invert(L);h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function $(n){return"\\"+U[n]}var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g;h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return t.call(this,n,h)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};function G(n,r){return n._chain?h(r).chain():r}h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(),function(t){var e="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)});else if("undefined"!=typeof exports){var n,i=require("underscore");try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}(function(t,e,i,n){var r=t.Backbone,s=Array.prototype.slice;e.VERSION="1.4.0",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var h,a=e.Events={},o=/\s+/,u=function(t,e,n,r,s){var h,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in s&&void 0===s.context&&(s.context=r);for(h=i.keys(n);athis.length&&(r=this.length),r<0&&(r+=this.length+1);var g,m,s=[],a=[],o=[],h=[],u={},l=e.add,c=e.merge,f=e.remove,d=!1,v=this.comparator&&null==r&&!1!==e.sort,p=i.isString(this.comparator)?this.comparator:null;for(m=0;m=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos=this.scrollTop||0===this.scrollTop,isShown!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},Viewport}(typedoc.Events);typedoc.Viewport=Viewport,typedoc.registerService(Viewport,"viewport")}(typedoc||(typedoc={})),function(typedoc){typedoc.pointerDown="mousedown",typedoc.pointerMove="mousemove",typedoc.pointerUp="mouseup",typedoc.pointerDownPosition={x:0,y:0},typedoc.preventNextClick=!1,typedoc.isPointerDown=!1,typedoc.isPointerTouch=!1,typedoc.hasPointerMoved=!1,typedoc.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),typedoc.$html.addClass(typedoc.isMobile?"is-mobile":"not-mobile"),typedoc.isMobile&&"ontouchstart"in document.documentElement&&(typedoc.isPointerTouch=!0,typedoc.pointerDown="touchstart",typedoc.pointerMove="touchmove",typedoc.pointerUp="touchend"),typedoc.$document.on(typedoc.pointerDown,function(e){typedoc.isPointerDown=!0,typedoc.hasPointerMoved=!1;var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e;typedoc.pointerDownPosition.y=t.pageY||0,typedoc.pointerDownPosition.x=t.pageX||0}).on(typedoc.pointerMove,function(e){if(typedoc.isPointerDown&&!typedoc.hasPointerMoved){var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e,x=typedoc.pointerDownPosition.x-(t.pageX||0),y=typedoc.pointerDownPosition.y-(t.pageY||0);typedoc.hasPointerMoved=10scrollTop;)index-=1;for(;index"+match+""}),parent=row.parent||"";(parent=parent.replace(new RegExp(query,"i"),function(match){return""+match+""}))&&(name=''+parent+"."+name),$results.append('
  • '+name+"
  • ")}}}function setLoadingState(value){loadingState!=value&&($el.removeClass(SearchLoadingState[loadingState].toLowerCase()),loadingState=value,$el.addClass(SearchLoadingState[loadingState].toLowerCase()),value==SearchLoadingState.Ready&&updateResults())}function setHasFocus(value){hasFocus!=value&&(hasFocus=value,$el.toggleClass("has-focus"),value?(setQuery(""),$field.val("")):$field.val(query))}function setQuery(value){query=$.trim(value),updateResults()}function setCurrentResult(dir){var $current=$results.find(".current");if(0==$current.length)$results.find(1==dir?"li:first-child":"li:last-child").addClass("current");else{var $rel=1==dir?$current.next("li"):$current.prev("li");0<$rel.length&&($current.removeClass("current"),$rel.addClass("current"))}}function gotoCurrentResult(){var $current=$results.find(".current");0==$current.length&&($current=$results.find("li:first-child")),0<$current.length&&(window.location.href=$current.find("a").prop("href"),$field.blur())}$results.on("mousedown",function(){resultClicked=!0}).on("mouseup",function(){setHasFocus(resultClicked=!1)}),$field.on("focusin",function(){setHasFocus(!0),loadIndex()}).on("focusout",function(){resultClicked?resultClicked=!1:setTimeout(function(){return setHasFocus(!1)},100)}).on("input",function(){setQuery($.trim(($field.val()||"").toString()))}).on("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(preventPress=!0,e.preventDefault(),13==e.keyCode?gotoCurrentResult():27==e.keyCode?$field.blur():38==e.keyCode?setCurrentResult(-1):40==e.keyCode&&setCurrentResult(1)):preventPress=!1}).on("keypress",function(e){preventPress&&e.preventDefault()}),$("body").on("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!hasFocus&&47this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1 .tsd-signature");if(!($signatures.length<2)){this.$container=this.$el.siblings(".tsd-descriptions");var $descriptions=this.$container.find("> .tsd-description");this.groups=[],$signatures.each(function(index,el){_this.groups.push(new SignatureGroup($(el),$descriptions.eq(index)))})}},Signature.prototype.onClick=function(e){var _this=this;_(this.groups).forEach(function(group,index){group.$signature.is(e.currentTarget)&&_this.setIndex(index)})},Signature}(Backbone.View);typedoc.registerComponent(Signature,".tsd-signatures")}(typedoc||(typedoc={})),function(typedoc){var Toggle=function(_super){function Toggle(options){var _this=_super.call(this,options)||this;return _this.className=_this.$el.attr("data-toggle")||"",_this.$el.on(typedoc.pointerUp,function(e){return _this.onPointerUp(e)}),_this.$el.on("click",function(e){return e.preventDefault()}),typedoc.$document.on(typedoc.pointerDown,function(e){return _this.onDocumentPointerDown(e)}),typedoc.$document.on(typedoc.pointerUp,function(e){return _this.onDocumentPointerUp(e)}),_this}return __extends(Toggle,_super),Toggle.prototype.setActive=function(value){if(this.active!=value){this.active=value,typedoc.$html.toggleClass("has-"+this.className,value),this.$el.toggleClass("active",value);var transition=(this.active?"to-has-":"from-has-")+this.className;typedoc.$html.addClass(transition),setTimeout(function(){return typedoc.$html.removeClass(transition)},500)}},Toggle.prototype.onPointerUp=function(event){typedoc.hasPointerMoved||(this.setActive(!0),event.preventDefault())},Toggle.prototype.onDocumentPointerDown=function(e){if(this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu"))return;if($path.hasClass("tsd-filter-group"))return;this.setActive(!1)}},Toggle.prototype.onDocumentPointerUp=function(e){var _this=this;if(!typedoc.hasPointerMoved&&this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu")){var $link=$path.filter("a");if($link.length){var href=window.location.href;-1!=href.indexOf("#")&&(href=href.substr(0,href.indexOf("#"))),$link.prop("href").substr(0,href.length)==href&&setTimeout(function(){return _this.setActive(!1)},250)}}}},Toggle}(Backbone.View);typedoc.registerComponent(Toggle,"a[data-toggle]")}(typedoc||(typedoc={})),function(typedoc){typedoc.app=new typedoc.Application}(typedoc||(typedoc={})); \ No newline at end of file diff --git a/docs/assets/js/search.js b/docs/assets/js/search.js deleted file mode 100644 index 3bb31437..00000000 --- a/docs/assets/js/search.js +++ /dev/null @@ -1,3 +0,0 @@ -var typedoc = typedoc || {}; - typedoc.search = typedoc.search || {}; - typedoc.search.data = {"kinds":{"2":"Module","4":"Enumeration","16":"Enumeration member","32":"Variable","256":"Interface","1024":"Property","2048":"Method","65536":"Type literal","2097152":"Object literal","4194304":"Type alias"},"rows":[{"id":0,"kind":2,"name":"Tableau","url":"modules/tableau.html","classes":"tsd-kind-module"},{"id":1,"kind":4,"name":"AnalyticsObjectType","url":"enums/tableau.analyticsobjecttype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":2,"kind":16,"name":"Cluster","url":"enums/tableau.analyticsobjecttype.html#cluster","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.AnalyticsObjectType"},{"id":3,"kind":16,"name":"Forecast","url":"enums/tableau.analyticsobjecttype.html#forecast","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.AnalyticsObjectType"},{"id":4,"kind":16,"name":"TrendLine","url":"enums/tableau.analyticsobjecttype.html#trendline","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.AnalyticsObjectType"},{"id":5,"kind":4,"name":"AnnotationType","url":"enums/tableau.annotationtype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":6,"kind":16,"name":"Mark","url":"enums/tableau.annotationtype.html#mark","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.AnnotationType"},{"id":7,"kind":16,"name":"Point","url":"enums/tableau.annotationtype.html#point","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.AnnotationType"},{"id":8,"kind":16,"name":"Area","url":"enums/tableau.annotationtype.html#area","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.AnnotationType"},{"id":9,"kind":4,"name":"ColumnType","url":"enums/tableau.columntype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":10,"kind":16,"name":"Discrete","url":"enums/tableau.columntype.html#discrete","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ColumnType"},{"id":11,"kind":16,"name":"Continuous","url":"enums/tableau.columntype.html#continuous","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ColumnType"},{"id":12,"kind":16,"name":"Unknown","url":"enums/tableau.columntype.html#unknown","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ColumnType"},{"id":13,"kind":4,"name":"ClassNameKey","url":"enums/tableau.classnamekey.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":14,"kind":16,"name":"WorksheetTitle","url":"enums/tableau.classnamekey.html#worksheettitle","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ClassNameKey"},{"id":15,"kind":16,"name":"Worksheet","url":"enums/tableau.classnamekey.html#worksheet","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ClassNameKey"},{"id":16,"kind":16,"name":"Tooltip","url":"enums/tableau.classnamekey.html#tooltip","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ClassNameKey"},{"id":17,"kind":16,"name":"StoryTitle","url":"enums/tableau.classnamekey.html#storytitle","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ClassNameKey"},{"id":18,"kind":16,"name":"DashboardTitle","url":"enums/tableau.classnamekey.html#dashboardtitle","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ClassNameKey"},{"id":19,"kind":4,"name":"DashboardObjectType","url":"enums/tableau.dashboardobjecttype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":20,"kind":16,"name":"Blank","url":"enums/tableau.dashboardobjecttype.html#blank","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardObjectType"},{"id":21,"kind":16,"name":"Worksheet","url":"enums/tableau.dashboardobjecttype.html#worksheet","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardObjectType"},{"id":22,"kind":16,"name":"QuickFilter","url":"enums/tableau.dashboardobjecttype.html#quickfilter","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardObjectType"},{"id":23,"kind":16,"name":"ParameterControl","url":"enums/tableau.dashboardobjecttype.html#parametercontrol","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardObjectType"},{"id":24,"kind":16,"name":"PageFilter","url":"enums/tableau.dashboardobjecttype.html#pagefilter","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardObjectType"},{"id":25,"kind":16,"name":"Legend","url":"enums/tableau.dashboardobjecttype.html#legend","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardObjectType"},{"id":26,"kind":16,"name":"Title","url":"enums/tableau.dashboardobjecttype.html#title","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardObjectType"},{"id":27,"kind":16,"name":"Text","url":"enums/tableau.dashboardobjecttype.html#text","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardObjectType"},{"id":28,"kind":16,"name":"Image","url":"enums/tableau.dashboardobjecttype.html#image","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardObjectType"},{"id":29,"kind":16,"name":"WebPage","url":"enums/tableau.dashboardobjecttype.html#webpage","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardObjectType"},{"id":30,"kind":16,"name":"Extension","url":"enums/tableau.dashboardobjecttype.html#extension","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardObjectType"},{"id":31,"kind":4,"name":"DashboardObjectVisibilityType","url":"enums/tableau.dashboardobjectvisibilitytype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":32,"kind":16,"name":"Show","url":"enums/tableau.dashboardobjectvisibilitytype.html#show","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardObjectVisibilityType"},{"id":33,"kind":16,"name":"Hide","url":"enums/tableau.dashboardobjectvisibilitytype.html#hide","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardObjectVisibilityType"},{"id":34,"kind":4,"name":"DataType","url":"enums/tableau.datatype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":35,"kind":16,"name":"String","url":"enums/tableau.datatype.html#string","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DataType"},{"id":36,"kind":16,"name":"Int","url":"enums/tableau.datatype.html#int","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DataType"},{"id":37,"kind":16,"name":"Float","url":"enums/tableau.datatype.html#float","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DataType"},{"id":38,"kind":16,"name":"Bool","url":"enums/tableau.datatype.html#bool","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DataType"},{"id":39,"kind":16,"name":"Date","url":"enums/tableau.datatype.html#date","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DataType"},{"id":40,"kind":16,"name":"DateTime","url":"enums/tableau.datatype.html#datetime","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DataType"},{"id":41,"kind":16,"name":"Spatial","url":"enums/tableau.datatype.html#spatial","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DataType"},{"id":42,"kind":16,"name":"Unknown","url":"enums/tableau.datatype.html#unknown","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DataType"},{"id":43,"kind":4,"name":"DashboardLayoutChange","url":"enums/tableau.dashboardlayoutchange.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":44,"kind":16,"name":"Added","url":"enums/tableau.dashboardlayoutchange.html#added","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardLayoutChange"},{"id":45,"kind":16,"name":"Removed","url":"enums/tableau.dashboardlayoutchange.html#removed","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardLayoutChange"},{"id":46,"kind":16,"name":"IsFloatingChanged","url":"enums/tableau.dashboardlayoutchange.html#isfloatingchanged","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardLayoutChange"},{"id":47,"kind":16,"name":"IsVisibleChanged","url":"enums/tableau.dashboardlayoutchange.html#isvisiblechanged","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardLayoutChange"},{"id":48,"kind":16,"name":"PositionChanged","url":"enums/tableau.dashboardlayoutchange.html#positionchanged","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardLayoutChange"},{"id":49,"kind":16,"name":"SizeChanged","url":"enums/tableau.dashboardlayoutchange.html#sizechanged","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardLayoutChange"},{"id":50,"kind":16,"name":"NameChanged","url":"enums/tableau.dashboardlayoutchange.html#namechanged","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardLayoutChange"},{"id":51,"kind":16,"name":"Selected","url":"enums/tableau.dashboardlayoutchange.html#selected","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardLayoutChange"},{"id":52,"kind":16,"name":"Deselected","url":"enums/tableau.dashboardlayoutchange.html#deselected","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardLayoutChange"},{"id":53,"kind":16,"name":"DashboardChanged","url":"enums/tableau.dashboardlayoutchange.html#dashboardchanged","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DashboardLayoutChange"},{"id":54,"kind":4,"name":"DateRangeType","url":"enums/tableau.daterangetype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":55,"kind":16,"name":"Last","url":"enums/tableau.daterangetype.html#last","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DateRangeType"},{"id":56,"kind":16,"name":"LastN","url":"enums/tableau.daterangetype.html#lastn","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DateRangeType"},{"id":57,"kind":16,"name":"Next","url":"enums/tableau.daterangetype.html#next","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DateRangeType"},{"id":58,"kind":16,"name":"NextN","url":"enums/tableau.daterangetype.html#nextn","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DateRangeType"},{"id":59,"kind":16,"name":"Current","url":"enums/tableau.daterangetype.html#current","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DateRangeType"},{"id":60,"kind":16,"name":"ToDate","url":"enums/tableau.daterangetype.html#todate","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DateRangeType"},{"id":61,"kind":4,"name":"DialogStyle","url":"enums/tableau.dialogstyle.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":62,"kind":16,"name":"Window","url":"enums/tableau.dialogstyle.html#window","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DialogStyle"},{"id":63,"kind":16,"name":"Modal","url":"enums/tableau.dialogstyle.html#modal","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DialogStyle"},{"id":64,"kind":16,"name":"Modeless","url":"enums/tableau.dialogstyle.html#modeless","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.DialogStyle"},{"id":65,"kind":4,"name":"EncodingType","url":"enums/tableau.encodingtype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":66,"kind":16,"name":"Column","url":"enums/tableau.encodingtype.html#column","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.EncodingType"},{"id":67,"kind":16,"name":"Row","url":"enums/tableau.encodingtype.html#row","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.EncodingType"},{"id":68,"kind":16,"name":"Page","url":"enums/tableau.encodingtype.html#page","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.EncodingType"},{"id":69,"kind":16,"name":"Filter","url":"enums/tableau.encodingtype.html#filter","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.EncodingType"},{"id":70,"kind":16,"name":"MarksType","url":"enums/tableau.encodingtype.html#markstype","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.EncodingType"},{"id":71,"kind":16,"name":"MeasureValues","url":"enums/tableau.encodingtype.html#measurevalues","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.EncodingType"},{"id":72,"kind":16,"name":"Color","url":"enums/tableau.encodingtype.html#color","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.EncodingType"},{"id":73,"kind":16,"name":"Size","url":"enums/tableau.encodingtype.html#size","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.EncodingType"},{"id":74,"kind":16,"name":"Label","url":"enums/tableau.encodingtype.html#label","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.EncodingType"},{"id":75,"kind":16,"name":"Detail","url":"enums/tableau.encodingtype.html#detail","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.EncodingType"},{"id":76,"kind":16,"name":"Tooltip","url":"enums/tableau.encodingtype.html#tooltip","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.EncodingType"},{"id":77,"kind":16,"name":"Shape","url":"enums/tableau.encodingtype.html#shape","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.EncodingType"},{"id":78,"kind":16,"name":"Path","url":"enums/tableau.encodingtype.html#path","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.EncodingType"},{"id":79,"kind":16,"name":"Angle","url":"enums/tableau.encodingtype.html#angle","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.EncodingType"},{"id":80,"kind":16,"name":"Geometry","url":"enums/tableau.encodingtype.html#geometry","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.EncodingType"},{"id":81,"kind":16,"name":"Custom","url":"enums/tableau.encodingtype.html#custom","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.EncodingType"},{"id":82,"kind":4,"name":"FieldAggregationType","url":"enums/tableau.fieldaggregationtype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":83,"kind":16,"name":"Sum","url":"enums/tableau.fieldaggregationtype.html#sum","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":84,"kind":16,"name":"Avg","url":"enums/tableau.fieldaggregationtype.html#avg","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":85,"kind":16,"name":"Min","url":"enums/tableau.fieldaggregationtype.html#min","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":86,"kind":16,"name":"Max","url":"enums/tableau.fieldaggregationtype.html#max","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":87,"kind":16,"name":"Stdev","url":"enums/tableau.fieldaggregationtype.html#stdev","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":88,"kind":16,"name":"Stdevp","url":"enums/tableau.fieldaggregationtype.html#stdevp","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":89,"kind":16,"name":"Var","url":"enums/tableau.fieldaggregationtype.html#var","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":90,"kind":16,"name":"Varp","url":"enums/tableau.fieldaggregationtype.html#varp","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":91,"kind":16,"name":"Collect","url":"enums/tableau.fieldaggregationtype.html#collect","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":92,"kind":16,"name":"Count","url":"enums/tableau.fieldaggregationtype.html#count","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":93,"kind":16,"name":"Countd","url":"enums/tableau.fieldaggregationtype.html#countd","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":94,"kind":16,"name":"Median","url":"enums/tableau.fieldaggregationtype.html#median","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":95,"kind":16,"name":"Attr","url":"enums/tableau.fieldaggregationtype.html#attr","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":96,"kind":16,"name":"None","url":"enums/tableau.fieldaggregationtype.html#none","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":97,"kind":16,"name":"Year","url":"enums/tableau.fieldaggregationtype.html#year","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":98,"kind":16,"name":"Qtr","url":"enums/tableau.fieldaggregationtype.html#qtr","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":99,"kind":16,"name":"Month","url":"enums/tableau.fieldaggregationtype.html#month","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":100,"kind":16,"name":"Day","url":"enums/tableau.fieldaggregationtype.html#day","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":101,"kind":16,"name":"Hour","url":"enums/tableau.fieldaggregationtype.html#hour","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":102,"kind":16,"name":"Minute","url":"enums/tableau.fieldaggregationtype.html#minute","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":103,"kind":16,"name":"Second","url":"enums/tableau.fieldaggregationtype.html#second","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":104,"kind":16,"name":"Week","url":"enums/tableau.fieldaggregationtype.html#week","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":105,"kind":16,"name":"Weekday","url":"enums/tableau.fieldaggregationtype.html#weekday","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":106,"kind":16,"name":"MonthYear","url":"enums/tableau.fieldaggregationtype.html#monthyear","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":107,"kind":16,"name":"Mdy","url":"enums/tableau.fieldaggregationtype.html#mdy","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":108,"kind":16,"name":"End","url":"enums/tableau.fieldaggregationtype.html#end","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":109,"kind":16,"name":"TruncYear","url":"enums/tableau.fieldaggregationtype.html#truncyear","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":110,"kind":16,"name":"TruncQtr","url":"enums/tableau.fieldaggregationtype.html#truncqtr","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":111,"kind":16,"name":"TruncMonth","url":"enums/tableau.fieldaggregationtype.html#truncmonth","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":112,"kind":16,"name":"TruncWeek","url":"enums/tableau.fieldaggregationtype.html#truncweek","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":113,"kind":16,"name":"TruncDay","url":"enums/tableau.fieldaggregationtype.html#truncday","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":114,"kind":16,"name":"TruncHour","url":"enums/tableau.fieldaggregationtype.html#trunchour","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":115,"kind":16,"name":"TruncMinute","url":"enums/tableau.fieldaggregationtype.html#truncminute","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":116,"kind":16,"name":"TruncSecond","url":"enums/tableau.fieldaggregationtype.html#truncsecond","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":117,"kind":16,"name":"Quart1","url":"enums/tableau.fieldaggregationtype.html#quart1","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":118,"kind":16,"name":"Quart3","url":"enums/tableau.fieldaggregationtype.html#quart3","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":119,"kind":16,"name":"Skewness","url":"enums/tableau.fieldaggregationtype.html#skewness","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":120,"kind":16,"name":"Kurtosis","url":"enums/tableau.fieldaggregationtype.html#kurtosis","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":121,"kind":16,"name":"InOut","url":"enums/tableau.fieldaggregationtype.html#inout","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":122,"kind":16,"name":"User","url":"enums/tableau.fieldaggregationtype.html#user","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldAggregationType"},{"id":123,"kind":4,"name":"FieldRoleType","url":"enums/tableau.fieldroletype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":124,"kind":16,"name":"Dimension","url":"enums/tableau.fieldroletype.html#dimension","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldRoleType"},{"id":125,"kind":16,"name":"Measure","url":"enums/tableau.fieldroletype.html#measure","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldRoleType"},{"id":126,"kind":16,"name":"Unknown","url":"enums/tableau.fieldroletype.html#unknown","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FieldRoleType"},{"id":127,"kind":4,"name":"FilterType","url":"enums/tableau.filtertype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":128,"kind":16,"name":"Categorical","url":"enums/tableau.filtertype.html#categorical","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FilterType"},{"id":129,"kind":16,"name":"Range","url":"enums/tableau.filtertype.html#range","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FilterType"},{"id":130,"kind":16,"name":"Hierarchical","url":"enums/tableau.filtertype.html#hierarchical","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FilterType"},{"id":131,"kind":16,"name":"RelativeDate","url":"enums/tableau.filtertype.html#relativedate","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FilterType"},{"id":132,"kind":4,"name":"FilterUpdateType","url":"enums/tableau.filterupdatetype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":133,"kind":16,"name":"Add","url":"enums/tableau.filterupdatetype.html#add","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FilterUpdateType"},{"id":134,"kind":16,"name":"All","url":"enums/tableau.filterupdatetype.html#all","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FilterUpdateType"},{"id":135,"kind":16,"name":"Replace","url":"enums/tableau.filterupdatetype.html#replace","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FilterUpdateType"},{"id":136,"kind":16,"name":"Remove","url":"enums/tableau.filterupdatetype.html#remove","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FilterUpdateType"},{"id":137,"kind":4,"name":"FilterDomainType","url":"enums/tableau.filterdomaintype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":138,"kind":16,"name":"Relevant","url":"enums/tableau.filterdomaintype.html#relevant","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FilterDomainType"},{"id":139,"kind":16,"name":"Database","url":"enums/tableau.filterdomaintype.html#database","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FilterDomainType"},{"id":140,"kind":4,"name":"FilterNullOption","url":"enums/tableau.filternulloption.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":141,"kind":16,"name":"NullValues","url":"enums/tableau.filternulloption.html#nullvalues","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FilterNullOption"},{"id":142,"kind":16,"name":"NonNullValues","url":"enums/tableau.filternulloption.html#nonnullvalues","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FilterNullOption"},{"id":143,"kind":16,"name":"AllValues","url":"enums/tableau.filternulloption.html#allvalues","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.FilterNullOption"},{"id":144,"kind":4,"name":"IncludeDataValuesOption","url":"enums/tableau.includedatavaluesoption.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":145,"kind":16,"name":"AllValues","url":"enums/tableau.includedatavaluesoption.html#allvalues","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.IncludeDataValuesOption"},{"id":146,"kind":16,"name":"OnlyNativeValues","url":"enums/tableau.includedatavaluesoption.html#onlynativevalues","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.IncludeDataValuesOption"},{"id":147,"kind":16,"name":"OnlyFormattedValues","url":"enums/tableau.includedatavaluesoption.html#onlyformattedvalues","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.IncludeDataValuesOption"},{"id":148,"kind":4,"name":"MarkType","url":"enums/tableau.marktype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":149,"kind":16,"name":"Bar","url":"enums/tableau.marktype.html#bar","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.MarkType"},{"id":150,"kind":16,"name":"Line","url":"enums/tableau.marktype.html#line","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.MarkType"},{"id":151,"kind":16,"name":"Area","url":"enums/tableau.marktype.html#area","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.MarkType"},{"id":152,"kind":16,"name":"Square","url":"enums/tableau.marktype.html#square","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.MarkType"},{"id":153,"kind":16,"name":"Circle","url":"enums/tableau.marktype.html#circle","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.MarkType"},{"id":154,"kind":16,"name":"Shape","url":"enums/tableau.marktype.html#shape","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.MarkType"},{"id":155,"kind":16,"name":"Text","url":"enums/tableau.marktype.html#text","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.MarkType"},{"id":156,"kind":16,"name":"Map","url":"enums/tableau.marktype.html#map","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.MarkType"},{"id":157,"kind":16,"name":"Pie","url":"enums/tableau.marktype.html#pie","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.MarkType"},{"id":158,"kind":16,"name":"GanttBar","url":"enums/tableau.marktype.html#ganttbar","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.MarkType"},{"id":159,"kind":16,"name":"Polygon","url":"enums/tableau.marktype.html#polygon","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.MarkType"},{"id":160,"kind":16,"name":"Heatmap","url":"enums/tableau.marktype.html#heatmap","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.MarkType"},{"id":161,"kind":16,"name":"VizExtension","url":"enums/tableau.marktype.html#vizextension","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.MarkType"},{"id":162,"kind":4,"name":"ParameterValueType","url":"enums/tableau.parametervaluetype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":163,"kind":16,"name":"All","url":"enums/tableau.parametervaluetype.html#all","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ParameterValueType"},{"id":164,"kind":16,"name":"List","url":"enums/tableau.parametervaluetype.html#list","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ParameterValueType"},{"id":165,"kind":16,"name":"Range","url":"enums/tableau.parametervaluetype.html#range","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ParameterValueType"},{"id":166,"kind":4,"name":"PeriodType","url":"enums/tableau.periodtype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":167,"kind":16,"name":"Years","url":"enums/tableau.periodtype.html#years","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.PeriodType"},{"id":168,"kind":16,"name":"Quarters","url":"enums/tableau.periodtype.html#quarters","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.PeriodType"},{"id":169,"kind":16,"name":"Months","url":"enums/tableau.periodtype.html#months","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.PeriodType"},{"id":170,"kind":16,"name":"Weeks","url":"enums/tableau.periodtype.html#weeks","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.PeriodType"},{"id":171,"kind":16,"name":"Days","url":"enums/tableau.periodtype.html#days","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.PeriodType"},{"id":172,"kind":16,"name":"Hours","url":"enums/tableau.periodtype.html#hours","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.PeriodType"},{"id":173,"kind":16,"name":"Minutes","url":"enums/tableau.periodtype.html#minutes","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.PeriodType"},{"id":174,"kind":16,"name":"Seconds","url":"enums/tableau.periodtype.html#seconds","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.PeriodType"},{"id":175,"kind":4,"name":"QuickTableCalcType","url":"enums/tableau.quicktablecalctype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":176,"kind":16,"name":"RunningTotal","url":"enums/tableau.quicktablecalctype.html#runningtotal","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.QuickTableCalcType"},{"id":177,"kind":16,"name":"Difference","url":"enums/tableau.quicktablecalctype.html#difference","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.QuickTableCalcType"},{"id":178,"kind":16,"name":"PercentDifference","url":"enums/tableau.quicktablecalctype.html#percentdifference","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.QuickTableCalcType"},{"id":179,"kind":16,"name":"PercentOfTotal","url":"enums/tableau.quicktablecalctype.html#percentoftotal","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.QuickTableCalcType"},{"id":180,"kind":16,"name":"Rank","url":"enums/tableau.quicktablecalctype.html#rank","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.QuickTableCalcType"},{"id":181,"kind":16,"name":"Percentile","url":"enums/tableau.quicktablecalctype.html#percentile","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.QuickTableCalcType"},{"id":182,"kind":16,"name":"MovingAverage","url":"enums/tableau.quicktablecalctype.html#movingaverage","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.QuickTableCalcType"},{"id":183,"kind":16,"name":"YTDTotal","url":"enums/tableau.quicktablecalctype.html#ytdtotal","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.QuickTableCalcType"},{"id":184,"kind":16,"name":"CompoundGrowthRate","url":"enums/tableau.quicktablecalctype.html#compoundgrowthrate","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.QuickTableCalcType"},{"id":185,"kind":16,"name":"YearOverYearGrowth","url":"enums/tableau.quicktablecalctype.html#yearoveryeargrowth","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.QuickTableCalcType"},{"id":186,"kind":16,"name":"YTDGrowth","url":"enums/tableau.quicktablecalctype.html#ytdgrowth","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.QuickTableCalcType"},{"id":187,"kind":16,"name":"Undefined","url":"enums/tableau.quicktablecalctype.html#undefined","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.QuickTableCalcType"},{"id":188,"kind":4,"name":"SelectionUpdateType","url":"enums/tableau.selectionupdatetype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":189,"kind":16,"name":"Replace","url":"enums/tableau.selectionupdatetype.html#replace","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.SelectionUpdateType"},{"id":190,"kind":16,"name":"Add","url":"enums/tableau.selectionupdatetype.html#add","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.SelectionUpdateType"},{"id":191,"kind":16,"name":"Remove","url":"enums/tableau.selectionupdatetype.html#remove","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.SelectionUpdateType"},{"id":192,"kind":4,"name":"SelectOptions","url":"enums/tableau.selectoptions.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":193,"kind":16,"name":"Simple","url":"enums/tableau.selectoptions.html#simple","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.SelectOptions"},{"id":194,"kind":16,"name":"Toggle","url":"enums/tableau.selectoptions.html#toggle","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.SelectOptions"},{"id":195,"kind":4,"name":"SheetType","url":"enums/tableau.sheettype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":196,"kind":16,"name":"Dashboard","url":"enums/tableau.sheettype.html#dashboard","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.SheetType"},{"id":197,"kind":16,"name":"Story","url":"enums/tableau.sheettype.html#story","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.SheetType"},{"id":198,"kind":16,"name":"Worksheet","url":"enums/tableau.sheettype.html#worksheet","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.SheetType"},{"id":199,"kind":4,"name":"SortDirection","url":"enums/tableau.sortdirection.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":200,"kind":16,"name":"Increasing","url":"enums/tableau.sortdirection.html#increasing","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.SortDirection"},{"id":201,"kind":16,"name":"Decreasing","url":"enums/tableau.sortdirection.html#decreasing","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.SortDirection"},{"id":202,"kind":4,"name":"TrendLineModelType","url":"enums/tableau.trendlinemodeltype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":203,"kind":16,"name":"Linear","url":"enums/tableau.trendlinemodeltype.html#linear","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.TrendLineModelType"},{"id":204,"kind":16,"name":"Logarithmic","url":"enums/tableau.trendlinemodeltype.html#logarithmic","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.TrendLineModelType"},{"id":205,"kind":16,"name":"Exponential","url":"enums/tableau.trendlinemodeltype.html#exponential","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.TrendLineModelType"},{"id":206,"kind":16,"name":"Polynomial","url":"enums/tableau.trendlinemodeltype.html#polynomial","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.TrendLineModelType"},{"id":207,"kind":4,"name":"ReplaySpeedType","url":"enums/tableau.replayspeedtype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":208,"kind":16,"name":"Slow","url":"enums/tableau.replayspeedtype.html#slow","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ReplaySpeedType"},{"id":209,"kind":16,"name":"Normal","url":"enums/tableau.replayspeedtype.html#normal","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ReplaySpeedType"},{"id":210,"kind":16,"name":"Fast","url":"enums/tableau.replayspeedtype.html#fast","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ReplaySpeedType"},{"id":211,"kind":4,"name":"HierarchicalLevelSelectionState","url":"enums/tableau.hierarchicallevelselectionstate.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":212,"kind":16,"name":"AllSelected","url":"enums/tableau.hierarchicallevelselectionstate.html#allselected","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.HierarchicalLevelSelectionState"},{"id":213,"kind":16,"name":"NoneSelected","url":"enums/tableau.hierarchicallevelselectionstate.html#noneselected","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.HierarchicalLevelSelectionState"},{"id":214,"kind":16,"name":"SomeSelected","url":"enums/tableau.hierarchicallevelselectionstate.html#someselected","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.HierarchicalLevelSelectionState"},{"id":215,"kind":16,"name":"UnknownSelected","url":"enums/tableau.hierarchicallevelselectionstate.html#unknownselected","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.HierarchicalLevelSelectionState"},{"id":216,"kind":4194304,"name":"ZoneVisibilityType","url":"modules/tableau.html#zonevisibilitytype","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"Tableau"},{"id":217,"kind":2097152,"name":"ZoneVisibilityType","url":"modules/tableau.html#zonevisibilitytype-1","classes":"tsd-kind-object-literal tsd-parent-kind-module","parent":"Tableau"},{"id":218,"kind":256,"name":"Annotation","url":"interfaces/annotation.html","classes":"tsd-kind-interface"},{"id":219,"kind":1024,"name":"annotationHTML","url":"interfaces/annotation.html#annotationhtml","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Annotation"},{"id":220,"kind":1024,"name":"annotationId","url":"interfaces/annotation.html#annotationid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Annotation"},{"id":221,"kind":1024,"name":"annotationText","url":"interfaces/annotation.html#annotationtext","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Annotation"},{"id":222,"kind":1024,"name":"annotationType","url":"interfaces/annotation.html#annotationtype","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Annotation"},{"id":223,"kind":1024,"name":"tupleId","url":"interfaces/annotation.html#tupleid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Annotation"},{"id":224,"kind":256,"name":"Size","url":"interfaces/size.html","classes":"tsd-kind-interface"},{"id":225,"kind":1024,"name":"height","url":"interfaces/size.html#height","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Size"},{"id":226,"kind":1024,"name":"width","url":"interfaces/size.html#width","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Size"},{"id":227,"kind":256,"name":"VisualSpecification","url":"interfaces/visualspecification.html","classes":"tsd-kind-interface"},{"id":228,"kind":1024,"name":"rowFields","url":"interfaces/visualspecification.html#rowfields","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"VisualSpecification"},{"id":229,"kind":1024,"name":"columnFields","url":"interfaces/visualspecification.html#columnfields","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"VisualSpecification"},{"id":230,"kind":1024,"name":"activeMarksSpecificationIndex","url":"interfaces/visualspecification.html#activemarksspecificationindex","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"VisualSpecification"},{"id":231,"kind":1024,"name":"marksSpecifications","url":"interfaces/visualspecification.html#marksspecifications","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"VisualSpecification"},{"id":232,"kind":256,"name":"MarksSpecification","url":"interfaces/marksspecification.html","classes":"tsd-kind-interface"},{"id":233,"kind":1024,"name":"primitiveType","url":"interfaces/marksspecification.html#primitivetype","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"MarksSpecification"},{"id":234,"kind":1024,"name":"encodings","url":"interfaces/marksspecification.html#encodings","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"MarksSpecification"},{"id":235,"kind":256,"name":"Encoding","url":"interfaces/encoding.html","classes":"tsd-kind-interface"},{"id":236,"kind":1024,"name":"id","url":"interfaces/encoding.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Encoding"},{"id":237,"kind":1024,"name":"type","url":"interfaces/encoding.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Encoding"},{"id":238,"kind":1024,"name":"field","url":"interfaces/encoding.html#field","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Encoding"},{"id":239,"kind":256,"name":"FieldInstance","url":"interfaces/fieldinstance.html","classes":"tsd-kind-interface"},{"id":240,"kind":1024,"name":"fieldId","url":"interfaces/fieldinstance.html#fieldid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FieldInstance"},{"id":241,"kind":1024,"name":"name","url":"interfaces/fieldinstance.html#name","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"FieldInstance"},{"id":242,"kind":1024,"name":"description","url":"interfaces/fieldinstance.html#description","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"FieldInstance"},{"id":243,"kind":1024,"name":"dataType","url":"interfaces/fieldinstance.html#datatype","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"FieldInstance"},{"id":244,"kind":1024,"name":"role","url":"interfaces/fieldinstance.html#role","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"FieldInstance"},{"id":245,"kind":1024,"name":"aggregation","url":"interfaces/fieldinstance.html#aggregation","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"FieldInstance"},{"id":246,"kind":1024,"name":"columnType","url":"interfaces/fieldinstance.html#columntype","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"FieldInstance"},{"id":247,"kind":1024,"name":"isCalculatedField","url":"interfaces/fieldinstance.html#iscalculatedfield","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"FieldInstance"},{"id":248,"kind":1024,"name":"isCombinedField","url":"interfaces/fieldinstance.html#iscombinedfield","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"FieldInstance"},{"id":249,"kind":1024,"name":"isGenerated","url":"interfaces/fieldinstance.html#isgenerated","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"FieldInstance"},{"id":250,"kind":1024,"name":"isGeospatial","url":"interfaces/fieldinstance.html#isgeospatial","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"FieldInstance"},{"id":251,"kind":1024,"name":"isHidden","url":"interfaces/fieldinstance.html#ishidden","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"FieldInstance"},{"id":252,"kind":1024,"name":"isPresentOnPublishedDatasource","url":"interfaces/fieldinstance.html#ispresentonpublisheddatasource","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"FieldInstance"},{"id":253,"kind":256,"name":"Parameter","url":"interfaces/parameter.html","classes":"tsd-kind-interface"},{"id":254,"kind":1024,"name":"name","url":"interfaces/parameter.html#name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Parameter"},{"id":255,"kind":1024,"name":"currentValue","url":"interfaces/parameter.html#currentvalue","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Parameter"},{"id":256,"kind":1024,"name":"dataType","url":"interfaces/parameter.html#datatype","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Parameter"},{"id":257,"kind":1024,"name":"allowableValues","url":"interfaces/parameter.html#allowablevalues","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Parameter"},{"id":258,"kind":1024,"name":"id","url":"interfaces/parameter.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Parameter"},{"id":259,"kind":2048,"name":"changeValueAsync","url":"interfaces/parameter.html#changevalueasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Parameter"},{"id":260,"kind":2048,"name":"addEventListener","url":"interfaces/parameter.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"Parameter"},{"id":261,"kind":2048,"name":"removeEventListener","url":"interfaces/parameter.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"Parameter"},{"id":262,"kind":256,"name":"ParameterDomainRestriction","url":"interfaces/parameterdomainrestriction.html","classes":"tsd-kind-interface"},{"id":263,"kind":1024,"name":"type","url":"interfaces/parameterdomainrestriction.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ParameterDomainRestriction"},{"id":264,"kind":1024,"name":"allowableValues","url":"interfaces/parameterdomainrestriction.html#allowablevalues","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ParameterDomainRestriction"},{"id":265,"kind":1024,"name":"minValue","url":"interfaces/parameterdomainrestriction.html#minvalue","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ParameterDomainRestriction"},{"id":266,"kind":1024,"name":"maxValue","url":"interfaces/parameterdomainrestriction.html#maxvalue","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ParameterDomainRestriction"},{"id":267,"kind":1024,"name":"stepSize","url":"interfaces/parameterdomainrestriction.html#stepsize","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ParameterDomainRestriction"},{"id":268,"kind":1024,"name":"dateStepPeriod","url":"interfaces/parameterdomainrestriction.html#datestepperiod","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ParameterDomainRestriction"},{"id":269,"kind":256,"name":"Sheet","url":"interfaces/sheet.html","classes":"tsd-kind-interface"},{"id":270,"kind":1024,"name":"name","url":"interfaces/sheet.html#name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Sheet"},{"id":271,"kind":1024,"name":"sheetType","url":"interfaces/sheet.html#sheettype","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Sheet"},{"id":272,"kind":2048,"name":"findParameterAsync","url":"interfaces/sheet.html#findparameterasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Sheet"},{"id":273,"kind":1024,"name":"size","url":"interfaces/sheet.html#size","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Sheet"},{"id":274,"kind":2048,"name":"getParametersAsync","url":"interfaces/sheet.html#getparametersasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Sheet"},{"id":275,"kind":2048,"name":"addEventListener","url":"interfaces/sheet.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"Sheet"},{"id":276,"kind":2048,"name":"removeEventListener","url":"interfaces/sheet.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"Sheet"},{"id":277,"kind":256,"name":"Worksheet","url":"interfaces/worksheet.html","classes":"tsd-kind-interface"},{"id":278,"kind":1024,"name":"parentDashboard","url":"interfaces/worksheet.html#parentdashboard","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Worksheet"},{"id":279,"kind":2048,"name":"applyFilterAsync","url":"interfaces/worksheet.html#applyfilterasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":280,"kind":2048,"name":"applyRangeFilterAsync","url":"interfaces/worksheet.html#applyrangefilterasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":281,"kind":2048,"name":"clearFilterAsync","url":"interfaces/worksheet.html#clearfilterasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":282,"kind":2048,"name":"applyHierarchicalFilterAsync","url":"interfaces/worksheet.html#applyhierarchicalfilterasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":283,"kind":2048,"name":"applyRelativeDateFilterAsync","url":"interfaces/worksheet.html#applyrelativedatefilterasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":284,"kind":2048,"name":"getDataSourcesAsync","url":"interfaces/worksheet.html#getdatasourcesasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":285,"kind":2048,"name":"getFiltersAsync","url":"interfaces/worksheet.html#getfiltersasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":286,"kind":2048,"name":"getHighlightedMarksAsync","url":"interfaces/worksheet.html#gethighlightedmarksasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":287,"kind":2048,"name":"getSelectedMarksAsync","url":"interfaces/worksheet.html#getselectedmarksasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":288,"kind":2048,"name":"getSummaryDataAsync","url":"interfaces/worksheet.html#getsummarydataasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":289,"kind":2048,"name":"getSummaryDataReaderAsync","url":"interfaces/worksheet.html#getsummarydatareaderasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":290,"kind":2048,"name":"getSummaryColumnsInfoAsync","url":"interfaces/worksheet.html#getsummarycolumnsinfoasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":291,"kind":2048,"name":"getUnderlyingDataAsync","url":"interfaces/worksheet.html#getunderlyingdataasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":292,"kind":2048,"name":"getUnderlyingTablesAsync","url":"interfaces/worksheet.html#getunderlyingtablesasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":293,"kind":2048,"name":"getUnderlyingTableDataAsync","url":"interfaces/worksheet.html#getunderlyingtabledataasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":294,"kind":2048,"name":"getUnderlyingTableDataReaderAsync","url":"interfaces/worksheet.html#getunderlyingtabledatareaderasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":295,"kind":2048,"name":"selectMarksByValueAsync","url":"interfaces/worksheet.html#selectmarksbyvalueasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":296,"kind":2048,"name":"clearSelectedMarksAsync","url":"interfaces/worksheet.html#clearselectedmarksasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":297,"kind":2048,"name":"annotateMarkAsync","url":"interfaces/worksheet.html#annotatemarkasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":298,"kind":2048,"name":"getAnnotationsAsync","url":"interfaces/worksheet.html#getannotationsasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":299,"kind":2048,"name":"removeAnnotationAsync","url":"interfaces/worksheet.html#removeannotationasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":300,"kind":2048,"name":"getVisualSpecificationAsync","url":"interfaces/worksheet.html#getvisualspecificationasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":301,"kind":2048,"name":"hoverTupleAsync","url":"interfaces/worksheet.html#hovertupleasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":302,"kind":2048,"name":"selectTuplesAsync","url":"interfaces/worksheet.html#selecttuplesasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":303,"kind":2048,"name":"getTooltipTextAsync","url":"interfaces/worksheet.html#gettooltiptextasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":304,"kind":2048,"name":"leaveMarkNavigationAsync","url":"interfaces/worksheet.html#leavemarknavigationasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Worksheet"},{"id":305,"kind":1024,"name":"name","url":"interfaces/worksheet.html#name","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Worksheet"},{"id":306,"kind":1024,"name":"sheetType","url":"interfaces/worksheet.html#sheettype","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Worksheet"},{"id":307,"kind":2048,"name":"findParameterAsync","url":"interfaces/worksheet.html#findparameterasync","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"Worksheet"},{"id":308,"kind":1024,"name":"size","url":"interfaces/worksheet.html#size","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Worksheet"},{"id":309,"kind":2048,"name":"getParametersAsync","url":"interfaces/worksheet.html#getparametersasync","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"Worksheet"},{"id":310,"kind":2048,"name":"addEventListener","url":"interfaces/worksheet.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"Worksheet"},{"id":311,"kind":2048,"name":"removeEventListener","url":"interfaces/worksheet.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"Worksheet"},{"id":312,"kind":256,"name":"Dashboard","url":"interfaces/dashboard.html","classes":"tsd-kind-interface"},{"id":313,"kind":1024,"name":"objects","url":"interfaces/dashboard.html#objects","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Dashboard"},{"id":314,"kind":1024,"name":"worksheets","url":"interfaces/dashboard.html#worksheets","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Dashboard"},{"id":315,"kind":1024,"name":"activeDashboardObjectId","url":"interfaces/dashboard.html#activedashboardobjectid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Dashboard"},{"id":316,"kind":1024,"name":"activeDashboardName","url":"interfaces/dashboard.html#activedashboardname","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Dashboard"},{"id":317,"kind":2048,"name":"setZoneVisibilityAsync","url":"interfaces/dashboard.html#setzonevisibilityasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Dashboard"},{"id":318,"kind":2048,"name":"setDashboardObjectVisibilityAsync","url":"interfaces/dashboard.html#setdashboardobjectvisibilityasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Dashboard"},{"id":319,"kind":2048,"name":"getDashboardObjectById","url":"interfaces/dashboard.html#getdashboardobjectbyid","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Dashboard"},{"id":320,"kind":2048,"name":"moveAndResizeDashboardObjectsAsync","url":"interfaces/dashboard.html#moveandresizedashboardobjectsasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Dashboard"},{"id":321,"kind":2048,"name":"replayAnimationAsync","url":"interfaces/dashboard.html#replayanimationasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Dashboard"},{"id":322,"kind":2048,"name":"getFiltersAsync","url":"interfaces/dashboard.html#getfiltersasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Dashboard"},{"id":323,"kind":2048,"name":"applyFilterAsync","url":"interfaces/dashboard.html#applyfilterasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Dashboard"},{"id":324,"kind":1024,"name":"name","url":"interfaces/dashboard.html#name","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Dashboard"},{"id":325,"kind":1024,"name":"sheetType","url":"interfaces/dashboard.html#sheettype","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Dashboard"},{"id":326,"kind":2048,"name":"findParameterAsync","url":"interfaces/dashboard.html#findparameterasync","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"Dashboard"},{"id":327,"kind":1024,"name":"size","url":"interfaces/dashboard.html#size","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Dashboard"},{"id":328,"kind":2048,"name":"getParametersAsync","url":"interfaces/dashboard.html#getparametersasync","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"Dashboard"},{"id":329,"kind":2048,"name":"addEventListener","url":"interfaces/dashboard.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"Dashboard"},{"id":330,"kind":2048,"name":"removeEventListener","url":"interfaces/dashboard.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"Dashboard"},{"id":331,"kind":256,"name":"DashboardObjectPositionAndSizeUpdate","url":"interfaces/dashboardobjectpositionandsizeupdate.html","classes":"tsd-kind-interface"},{"id":332,"kind":1024,"name":"dashboardObjectID","url":"interfaces/dashboardobjectpositionandsizeupdate.html#dashboardobjectid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DashboardObjectPositionAndSizeUpdate"},{"id":333,"kind":1024,"name":"x","url":"interfaces/dashboardobjectpositionandsizeupdate.html#x","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DashboardObjectPositionAndSizeUpdate"},{"id":334,"kind":1024,"name":"y","url":"interfaces/dashboardobjectpositionandsizeupdate.html#y","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DashboardObjectPositionAndSizeUpdate"},{"id":335,"kind":1024,"name":"width","url":"interfaces/dashboardobjectpositionandsizeupdate.html#width","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DashboardObjectPositionAndSizeUpdate"},{"id":336,"kind":1024,"name":"height","url":"interfaces/dashboardobjectpositionandsizeupdate.html#height","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DashboardObjectPositionAndSizeUpdate"},{"id":337,"kind":256,"name":"DashboardObject","url":"interfaces/dashboardobject.html","classes":"tsd-kind-interface"},{"id":338,"kind":1024,"name":"dashboard","url":"interfaces/dashboardobject.html#dashboard","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DashboardObject"},{"id":339,"kind":1024,"name":"type","url":"interfaces/dashboardobject.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DashboardObject"},{"id":340,"kind":1024,"name":"position","url":"interfaces/dashboardobject.html#position","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DashboardObject"},{"id":341,"kind":1024,"name":"size","url":"interfaces/dashboardobject.html#size","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DashboardObject"},{"id":342,"kind":1024,"name":"worksheet","url":"interfaces/dashboardobject.html#worksheet","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DashboardObject"},{"id":343,"kind":1024,"name":"name","url":"interfaces/dashboardobject.html#name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DashboardObject"},{"id":344,"kind":1024,"name":"isFloating","url":"interfaces/dashboardobject.html#isfloating","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DashboardObject"},{"id":345,"kind":1024,"name":"isVisible","url":"interfaces/dashboardobject.html#isvisible","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DashboardObject"},{"id":346,"kind":1024,"name":"id","url":"interfaces/dashboardobject.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DashboardObject"},{"id":347,"kind":1024,"name":"fieldId","url":"interfaces/dashboardobject.html#fieldid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DashboardObject"},{"id":348,"kind":256,"name":"Point","url":"interfaces/point.html","classes":"tsd-kind-interface"},{"id":349,"kind":1024,"name":"x","url":"interfaces/point.html#x","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Point"},{"id":350,"kind":1024,"name":"y","url":"interfaces/point.html#y","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Point"},{"id":351,"kind":256,"name":"HierarchicalLevels","url":"interfaces/hierarchicallevels.html","classes":"tsd-kind-interface"},{"id":352,"kind":1024,"name":"levels","url":"interfaces/hierarchicallevels.html#levels","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"HierarchicalLevels"},{"id":353,"kind":4194304,"name":"ZoneVisibilityMap","url":"globals.html#zonevisibilitymap","classes":"tsd-kind-type-alias"},{"id":354,"kind":4194304,"name":"DashboardObjectVisibilityMap","url":"globals.html#dashboardobjectvisibilitymap","classes":"tsd-kind-type-alias"},{"id":355,"kind":4194304,"name":"DashboardObjectPositionAndSizeUpdateArray","url":"globals.html#dashboardobjectpositionandsizeupdatearray","classes":"tsd-kind-type-alias"},{"id":356,"kind":256,"name":"MarksCollection","url":"interfaces/markscollection.html","classes":"tsd-kind-interface"},{"id":357,"kind":1024,"name":"data","url":"interfaces/markscollection.html#data","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"MarksCollection"},{"id":358,"kind":256,"name":"MarkInfo","url":"interfaces/markinfo.html","classes":"tsd-kind-interface"},{"id":359,"kind":1024,"name":"type","url":"interfaces/markinfo.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"MarkInfo"},{"id":360,"kind":1024,"name":"color","url":"interfaces/markinfo.html#color","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"MarkInfo"},{"id":361,"kind":1024,"name":"tupleId","url":"interfaces/markinfo.html#tupleid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"MarkInfo"},{"id":362,"kind":256,"name":"SelectionCriteria","url":"interfaces/selectioncriteria.html","classes":"tsd-kind-interface"},{"id":363,"kind":1024,"name":"fieldName","url":"interfaces/selectioncriteria.html#fieldname","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SelectionCriteria"},{"id":364,"kind":1024,"name":"value","url":"interfaces/selectioncriteria.html#value","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SelectionCriteria"},{"id":365,"kind":256,"name":"RangeValue","url":"interfaces/rangevalue.html","classes":"tsd-kind-interface"},{"id":366,"kind":1024,"name":"min","url":"interfaces/rangevalue.html#min","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RangeValue"},{"id":367,"kind":1024,"name":"max","url":"interfaces/rangevalue.html#max","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RangeValue"},{"id":368,"kind":1024,"name":"nullOption","url":"interfaces/rangevalue.html#nulloption","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RangeValue"},{"id":369,"kind":256,"name":"TooltipContext","url":"interfaces/tooltipcontext.html","classes":"tsd-kind-interface"},{"id":370,"kind":1024,"name":"tooltipAnchorPoint","url":"interfaces/tooltipcontext.html#tooltipanchorpoint","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TooltipContext"},{"id":371,"kind":4194304,"name":"CategoricalValue","url":"globals.html#categoricalvalue","classes":"tsd-kind-type-alias"},{"id":372,"kind":256,"name":"Column","url":"interfaces/column.html","classes":"tsd-kind-interface"},{"id":373,"kind":1024,"name":"fieldName","url":"interfaces/column.html#fieldname","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Column"},{"id":374,"kind":1024,"name":"fieldId","url":"interfaces/column.html#fieldid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Column"},{"id":375,"kind":1024,"name":"dataType","url":"interfaces/column.html#datatype","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Column"},{"id":376,"kind":1024,"name":"isReferenced","url":"interfaces/column.html#isreferenced","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Column"},{"id":377,"kind":1024,"name":"index","url":"interfaces/column.html#index","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Column"},{"id":378,"kind":256,"name":"DataTable","url":"interfaces/datatable.html","classes":"tsd-kind-interface"},{"id":379,"kind":1024,"name":"name","url":"interfaces/datatable.html#name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataTable"},{"id":380,"kind":1024,"name":"data","url":"interfaces/datatable.html#data","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataTable"},{"id":381,"kind":1024,"name":"marksInfo","url":"interfaces/datatable.html#marksinfo","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataTable"},{"id":382,"kind":1024,"name":"columns","url":"interfaces/datatable.html#columns","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataTable"},{"id":383,"kind":1024,"name":"totalRowCount","url":"interfaces/datatable.html#totalrowcount","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataTable"},{"id":384,"kind":1024,"name":"isTotalRowCountLimited","url":"interfaces/datatable.html#istotalrowcountlimited","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataTable"},{"id":385,"kind":1024,"name":"isSummaryData","url":"interfaces/datatable.html#issummarydata","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataTable"},{"id":386,"kind":256,"name":"DataValue","url":"interfaces/datavalue.html","classes":"tsd-kind-interface"},{"id":387,"kind":1024,"name":"value","url":"interfaces/datavalue.html#value","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataValue"},{"id":388,"kind":1024,"name":"nativeValue","url":"interfaces/datavalue.html#nativevalue","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataValue"},{"id":389,"kind":1024,"name":"formattedValue","url":"interfaces/datavalue.html#formattedvalue","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataValue"},{"id":390,"kind":256,"name":"GetSummaryDataOptions","url":"interfaces/getsummarydataoptions.html","classes":"tsd-kind-interface"},{"id":391,"kind":1024,"name":"ignoreAliases","url":"interfaces/getsummarydataoptions.html#ignorealiases","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"GetSummaryDataOptions"},{"id":392,"kind":1024,"name":"ignoreSelection","url":"interfaces/getsummarydataoptions.html#ignoreselection","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"GetSummaryDataOptions"},{"id":393,"kind":1024,"name":"columnsToIncludeById","url":"interfaces/getsummarydataoptions.html#columnstoincludebyid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"GetSummaryDataOptions"},{"id":394,"kind":1024,"name":"maxRows","url":"interfaces/getsummarydataoptions.html#maxrows","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"GetSummaryDataOptions"},{"id":395,"kind":1024,"name":"includeDataValuesOption","url":"interfaces/getsummarydataoptions.html#includedatavaluesoption","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"GetSummaryDataOptions"},{"id":396,"kind":256,"name":"GetUnderlyingDataOptions","url":"interfaces/getunderlyingdataoptions.html","classes":"tsd-kind-interface"},{"id":397,"kind":1024,"name":"includeAllColumns","url":"interfaces/getunderlyingdataoptions.html#includeallcolumns","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"GetUnderlyingDataOptions"},{"id":398,"kind":1024,"name":"ignoreAliases","url":"interfaces/getunderlyingdataoptions.html#ignorealiases","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"GetUnderlyingDataOptions"},{"id":399,"kind":1024,"name":"ignoreSelection","url":"interfaces/getunderlyingdataoptions.html#ignoreselection","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"GetUnderlyingDataOptions"},{"id":400,"kind":1024,"name":"columnsToIncludeById","url":"interfaces/getunderlyingdataoptions.html#columnstoincludebyid","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"GetUnderlyingDataOptions"},{"id":401,"kind":1024,"name":"maxRows","url":"interfaces/getunderlyingdataoptions.html#maxrows","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"GetUnderlyingDataOptions"},{"id":402,"kind":1024,"name":"includeDataValuesOption","url":"interfaces/getunderlyingdataoptions.html#includedatavaluesoption","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"GetUnderlyingDataOptions"},{"id":403,"kind":256,"name":"DataTableReader","url":"interfaces/datatablereader.html","classes":"tsd-kind-interface"},{"id":404,"kind":1024,"name":"totalRowCount","url":"interfaces/datatablereader.html#totalrowcount","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataTableReader"},{"id":405,"kind":1024,"name":"pageCount","url":"interfaces/datatablereader.html#pagecount","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataTableReader"},{"id":406,"kind":2048,"name":"getPageAsync","url":"interfaces/datatablereader.html#getpageasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"DataTableReader"},{"id":407,"kind":2048,"name":"getAllPagesAsync","url":"interfaces/datatablereader.html#getallpagesasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"DataTableReader"},{"id":408,"kind":2048,"name":"releaseAsync","url":"interfaces/datatablereader.html#releaseasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"DataTableReader"},{"id":409,"kind":256,"name":"DataSource","url":"interfaces/datasource.html","classes":"tsd-kind-interface"},{"id":410,"kind":1024,"name":"name","url":"interfaces/datasource.html#name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataSource"},{"id":411,"kind":1024,"name":"id","url":"interfaces/datasource.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataSource"},{"id":412,"kind":1024,"name":"fields","url":"interfaces/datasource.html#fields","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataSource"},{"id":413,"kind":1024,"name":"extractUpdateTime","url":"interfaces/datasource.html#extractupdatetime","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataSource"},{"id":414,"kind":1024,"name":"isExtract","url":"interfaces/datasource.html#isextract","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataSource"},{"id":415,"kind":1024,"name":"isPublished","url":"interfaces/datasource.html#ispublished","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataSource"},{"id":416,"kind":2048,"name":"refreshAsync","url":"interfaces/datasource.html#refreshasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"DataSource"},{"id":417,"kind":2048,"name":"getActiveTablesAsync","url":"interfaces/datasource.html#getactivetablesasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"DataSource"},{"id":418,"kind":2048,"name":"getConnectionSummariesAsync","url":"interfaces/datasource.html#getconnectionsummariesasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"DataSource"},{"id":419,"kind":2048,"name":"getUnderlyingDataAsync","url":"interfaces/datasource.html#getunderlyingdataasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"DataSource"},{"id":420,"kind":2048,"name":"getLogicalTablesAsync","url":"interfaces/datasource.html#getlogicaltablesasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"DataSource"},{"id":421,"kind":2048,"name":"getLogicalTableDataAsync","url":"interfaces/datasource.html#getlogicaltabledataasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"DataSource"},{"id":422,"kind":256,"name":"Field","url":"interfaces/field.html","classes":"tsd-kind-interface"},{"id":423,"kind":1024,"name":"id","url":"interfaces/field.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Field"},{"id":424,"kind":1024,"name":"dataSource","url":"interfaces/field.html#datasource","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Field"},{"id":425,"kind":1024,"name":"name","url":"interfaces/field.html#name","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Field"},{"id":426,"kind":1024,"name":"description","url":"interfaces/field.html#description","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Field"},{"id":427,"kind":1024,"name":"dataType","url":"interfaces/field.html#datatype","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Field"},{"id":428,"kind":1024,"name":"role","url":"interfaces/field.html#role","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Field"},{"id":429,"kind":1024,"name":"aggregation","url":"interfaces/field.html#aggregation","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Field"},{"id":430,"kind":1024,"name":"columnType","url":"interfaces/field.html#columntype","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Field"},{"id":431,"kind":1024,"name":"isCalculatedField","url":"interfaces/field.html#iscalculatedfield","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Field"},{"id":432,"kind":1024,"name":"isCombinedField","url":"interfaces/field.html#iscombinedfield","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Field"},{"id":433,"kind":1024,"name":"isGenerated","url":"interfaces/field.html#isgenerated","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Field"},{"id":434,"kind":1024,"name":"isGeospatial","url":"interfaces/field.html#isgeospatial","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Field"},{"id":435,"kind":1024,"name":"isHidden","url":"interfaces/field.html#ishidden","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Field"},{"id":436,"kind":1024,"name":"isPresentOnPublishedDatasource","url":"interfaces/field.html#ispresentonpublisheddatasource","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Field"},{"id":437,"kind":256,"name":"ConnectionSummary","url":"interfaces/connectionsummary.html","classes":"tsd-kind-interface"},{"id":438,"kind":1024,"name":"name","url":"interfaces/connectionsummary.html#name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ConnectionSummary"},{"id":439,"kind":1024,"name":"id","url":"interfaces/connectionsummary.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ConnectionSummary"},{"id":440,"kind":1024,"name":"type","url":"interfaces/connectionsummary.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ConnectionSummary"},{"id":441,"kind":1024,"name":"serverURI","url":"interfaces/connectionsummary.html#serveruri","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ConnectionSummary"},{"id":442,"kind":256,"name":"TableSummary","url":"interfaces/tablesummary.html","classes":"tsd-kind-interface"},{"id":443,"kind":1024,"name":"name","url":"interfaces/tablesummary.html#name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TableSummary"},{"id":444,"kind":1024,"name":"id","url":"interfaces/tablesummary.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TableSummary"},{"id":445,"kind":1024,"name":"connectionId","url":"interfaces/tablesummary.html#connectionid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TableSummary"},{"id":446,"kind":1024,"name":"customSQL","url":"interfaces/tablesummary.html#customsql","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TableSummary"},{"id":447,"kind":256,"name":"DataSourceUnderlyingDataOptions","url":"interfaces/datasourceunderlyingdataoptions.html","classes":"tsd-kind-interface"},{"id":448,"kind":1024,"name":"ignoreAliases","url":"interfaces/datasourceunderlyingdataoptions.html#ignorealiases","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataSourceUnderlyingDataOptions"},{"id":449,"kind":1024,"name":"columnsToInclude","url":"interfaces/datasourceunderlyingdataoptions.html#columnstoinclude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataSourceUnderlyingDataOptions"},{"id":450,"kind":1024,"name":"columnsToIncludeById","url":"interfaces/datasourceunderlyingdataoptions.html#columnstoincludebyid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataSourceUnderlyingDataOptions"},{"id":451,"kind":1024,"name":"maxRows","url":"interfaces/datasourceunderlyingdataoptions.html#maxrows","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataSourceUnderlyingDataOptions"},{"id":452,"kind":1024,"name":"includeDataValuesOption","url":"interfaces/datasourceunderlyingdataoptions.html#includedatavaluesoption","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DataSourceUnderlyingDataOptions"},{"id":453,"kind":256,"name":"LogicalTable","url":"interfaces/logicaltable.html","classes":"tsd-kind-interface"},{"id":454,"kind":1024,"name":"id","url":"interfaces/logicaltable.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"LogicalTable"},{"id":455,"kind":1024,"name":"caption","url":"interfaces/logicaltable.html#caption","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"LogicalTable"},{"id":456,"kind":256,"name":"Filter","url":"interfaces/filter.html","classes":"tsd-kind-interface"},{"id":457,"kind":1024,"name":"worksheetName","url":"interfaces/filter.html#worksheetname","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Filter"},{"id":458,"kind":1024,"name":"filterType","url":"interfaces/filter.html#filtertype","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Filter"},{"id":459,"kind":1024,"name":"fieldName","url":"interfaces/filter.html#fieldname","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Filter"},{"id":460,"kind":1024,"name":"fieldId","url":"interfaces/filter.html#fieldid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Filter"},{"id":461,"kind":2048,"name":"getFieldAsync","url":"interfaces/filter.html#getfieldasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Filter"},{"id":462,"kind":2048,"name":"getAppliedWorksheetsAsync","url":"interfaces/filter.html#getappliedworksheetsasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Filter"},{"id":463,"kind":2048,"name":"setAppliedWorksheetsAsync","url":"interfaces/filter.html#setappliedworksheetsasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Filter"},{"id":464,"kind":256,"name":"CategoricalFilter","url":"interfaces/categoricalfilter.html","classes":"tsd-kind-interface"},{"id":465,"kind":1024,"name":"isAllSelected","url":"interfaces/categoricalfilter.html#isallselected","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CategoricalFilter"},{"id":466,"kind":1024,"name":"appliedValues","url":"interfaces/categoricalfilter.html#appliedvalues","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CategoricalFilter"},{"id":467,"kind":1024,"name":"isExcludeMode","url":"interfaces/categoricalfilter.html#isexcludemode","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CategoricalFilter"},{"id":468,"kind":2048,"name":"getDomainAsync","url":"interfaces/categoricalfilter.html#getdomainasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"CategoricalFilter"},{"id":469,"kind":1024,"name":"worksheetName","url":"interfaces/categoricalfilter.html#worksheetname","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"CategoricalFilter"},{"id":470,"kind":1024,"name":"filterType","url":"interfaces/categoricalfilter.html#filtertype","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"CategoricalFilter"},{"id":471,"kind":1024,"name":"fieldName","url":"interfaces/categoricalfilter.html#fieldname","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"CategoricalFilter"},{"id":472,"kind":1024,"name":"fieldId","url":"interfaces/categoricalfilter.html#fieldid","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"CategoricalFilter"},{"id":473,"kind":2048,"name":"getFieldAsync","url":"interfaces/categoricalfilter.html#getfieldasync","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"CategoricalFilter"},{"id":474,"kind":2048,"name":"getAppliedWorksheetsAsync","url":"interfaces/categoricalfilter.html#getappliedworksheetsasync","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"CategoricalFilter"},{"id":475,"kind":2048,"name":"setAppliedWorksheetsAsync","url":"interfaces/categoricalfilter.html#setappliedworksheetsasync","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"CategoricalFilter"},{"id":476,"kind":256,"name":"HierarchicalFilter","url":"interfaces/hierarchicalfilter.html","classes":"tsd-kind-interface"},{"id":477,"kind":1024,"name":"dimensionName","url":"interfaces/hierarchicalfilter.html#dimensionname","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"HierarchicalFilter"},{"id":478,"kind":1024,"name":"hierarchyCaption","url":"interfaces/hierarchicalfilter.html#hierarchycaption","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"HierarchicalFilter"},{"id":479,"kind":1024,"name":"numberOfLevels","url":"interfaces/hierarchicalfilter.html#numberoflevels","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"HierarchicalFilter"},{"id":480,"kind":1024,"name":"levelDetails","url":"interfaces/hierarchicalfilter.html#leveldetails","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"HierarchicalFilter"},{"id":481,"kind":1024,"name":"isAllSelected","url":"interfaces/hierarchicalfilter.html#isallselected","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"HierarchicalFilter"},{"id":482,"kind":1024,"name":"appliedValues","url":"interfaces/hierarchicalfilter.html#appliedvalues","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"HierarchicalFilter"},{"id":483,"kind":1024,"name":"worksheetName","url":"interfaces/hierarchicalfilter.html#worksheetname","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"HierarchicalFilter"},{"id":484,"kind":1024,"name":"filterType","url":"interfaces/hierarchicalfilter.html#filtertype","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"HierarchicalFilter"},{"id":485,"kind":1024,"name":"fieldName","url":"interfaces/hierarchicalfilter.html#fieldname","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"HierarchicalFilter"},{"id":486,"kind":1024,"name":"fieldId","url":"interfaces/hierarchicalfilter.html#fieldid","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"HierarchicalFilter"},{"id":487,"kind":2048,"name":"getFieldAsync","url":"interfaces/hierarchicalfilter.html#getfieldasync","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"HierarchicalFilter"},{"id":488,"kind":2048,"name":"getAppliedWorksheetsAsync","url":"interfaces/hierarchicalfilter.html#getappliedworksheetsasync","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"HierarchicalFilter"},{"id":489,"kind":2048,"name":"setAppliedWorksheetsAsync","url":"interfaces/hierarchicalfilter.html#setappliedworksheetsasync","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"HierarchicalFilter"},{"id":490,"kind":256,"name":"RangeFilter","url":"interfaces/rangefilter.html","classes":"tsd-kind-interface"},{"id":491,"kind":1024,"name":"minValue","url":"interfaces/rangefilter.html#minvalue","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RangeFilter"},{"id":492,"kind":1024,"name":"maxValue","url":"interfaces/rangefilter.html#maxvalue","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RangeFilter"},{"id":493,"kind":1024,"name":"includeNullValues","url":"interfaces/rangefilter.html#includenullvalues","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RangeFilter"},{"id":494,"kind":2048,"name":"getDomainAsync","url":"interfaces/rangefilter.html#getdomainasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"RangeFilter"},{"id":495,"kind":1024,"name":"worksheetName","url":"interfaces/rangefilter.html#worksheetname","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"RangeFilter"},{"id":496,"kind":1024,"name":"filterType","url":"interfaces/rangefilter.html#filtertype","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"RangeFilter"},{"id":497,"kind":1024,"name":"fieldName","url":"interfaces/rangefilter.html#fieldname","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"RangeFilter"},{"id":498,"kind":1024,"name":"fieldId","url":"interfaces/rangefilter.html#fieldid","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"RangeFilter"},{"id":499,"kind":2048,"name":"getFieldAsync","url":"interfaces/rangefilter.html#getfieldasync","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"RangeFilter"},{"id":500,"kind":2048,"name":"getAppliedWorksheetsAsync","url":"interfaces/rangefilter.html#getappliedworksheetsasync","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"RangeFilter"},{"id":501,"kind":2048,"name":"setAppliedWorksheetsAsync","url":"interfaces/rangefilter.html#setappliedworksheetsasync","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"RangeFilter"},{"id":502,"kind":256,"name":"RelativeDateFilter","url":"interfaces/relativedatefilter.html","classes":"tsd-kind-interface"},{"id":503,"kind":1024,"name":"anchorDate","url":"interfaces/relativedatefilter.html#anchordate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RelativeDateFilter"},{"id":504,"kind":1024,"name":"periodType","url":"interfaces/relativedatefilter.html#periodtype","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RelativeDateFilter"},{"id":505,"kind":1024,"name":"rangeType","url":"interfaces/relativedatefilter.html#rangetype","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RelativeDateFilter"},{"id":506,"kind":1024,"name":"rangeN","url":"interfaces/relativedatefilter.html#rangen","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RelativeDateFilter"},{"id":507,"kind":1024,"name":"worksheetName","url":"interfaces/relativedatefilter.html#worksheetname","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"RelativeDateFilter"},{"id":508,"kind":1024,"name":"filterType","url":"interfaces/relativedatefilter.html#filtertype","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"RelativeDateFilter"},{"id":509,"kind":1024,"name":"fieldName","url":"interfaces/relativedatefilter.html#fieldname","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"RelativeDateFilter"},{"id":510,"kind":1024,"name":"fieldId","url":"interfaces/relativedatefilter.html#fieldid","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"RelativeDateFilter"},{"id":511,"kind":2048,"name":"getFieldAsync","url":"interfaces/relativedatefilter.html#getfieldasync","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"RelativeDateFilter"},{"id":512,"kind":2048,"name":"getAppliedWorksheetsAsync","url":"interfaces/relativedatefilter.html#getappliedworksheetsasync","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"RelativeDateFilter"},{"id":513,"kind":2048,"name":"setAppliedWorksheetsAsync","url":"interfaces/relativedatefilter.html#setappliedworksheetsasync","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"RelativeDateFilter"},{"id":514,"kind":256,"name":"FilterOptions","url":"interfaces/filteroptions.html","classes":"tsd-kind-interface"},{"id":515,"kind":1024,"name":"isExcludeMode","url":"interfaces/filteroptions.html#isexcludemode","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FilterOptions"},{"id":516,"kind":256,"name":"RangeFilterOptions","url":"interfaces/rangefilteroptions.html","classes":"tsd-kind-interface"},{"id":517,"kind":1024,"name":"min","url":"interfaces/rangefilteroptions.html#min","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RangeFilterOptions"},{"id":518,"kind":1024,"name":"max","url":"interfaces/rangefilteroptions.html#max","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RangeFilterOptions"},{"id":519,"kind":1024,"name":"nullOption","url":"interfaces/rangefilteroptions.html#nulloption","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RangeFilterOptions"},{"id":520,"kind":256,"name":"RelativeDateFilterOptions","url":"interfaces/relativedatefilteroptions.html","classes":"tsd-kind-interface"},{"id":521,"kind":1024,"name":"anchorDate","url":"interfaces/relativedatefilteroptions.html#anchordate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RelativeDateFilterOptions"},{"id":522,"kind":1024,"name":"periodType","url":"interfaces/relativedatefilteroptions.html#periodtype","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RelativeDateFilterOptions"},{"id":523,"kind":1024,"name":"rangeType","url":"interfaces/relativedatefilteroptions.html#rangetype","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RelativeDateFilterOptions"},{"id":524,"kind":1024,"name":"rangeN","url":"interfaces/relativedatefilteroptions.html#rangen","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RelativeDateFilterOptions"},{"id":525,"kind":256,"name":"RangeDomain","url":"interfaces/rangedomain.html","classes":"tsd-kind-interface"},{"id":526,"kind":1024,"name":"type","url":"interfaces/rangedomain.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RangeDomain"},{"id":527,"kind":1024,"name":"min","url":"interfaces/rangedomain.html#min","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RangeDomain"},{"id":528,"kind":1024,"name":"max","url":"interfaces/rangedomain.html#max","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"RangeDomain"},{"id":529,"kind":256,"name":"CategoricalDomain","url":"interfaces/categoricaldomain.html","classes":"tsd-kind-interface"},{"id":530,"kind":1024,"name":"type","url":"interfaces/categoricaldomain.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CategoricalDomain"},{"id":531,"kind":1024,"name":"values","url":"interfaces/categoricaldomain.html#values","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CategoricalDomain"},{"id":532,"kind":256,"name":"HierarchicalFilterDataValue","url":"interfaces/hierarchicalfilterdatavalue.html","classes":"tsd-kind-interface"},{"id":533,"kind":1024,"name":"value","url":"interfaces/hierarchicalfilterdatavalue.html#value","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"HierarchicalFilterDataValue"},{"id":534,"kind":1024,"name":"hierarchicalPath","url":"interfaces/hierarchicalfilterdatavalue.html#hierarchicalpath","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"HierarchicalFilterDataValue"},{"id":535,"kind":1024,"name":"level","url":"interfaces/hierarchicalfilterdatavalue.html#level","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"HierarchicalFilterDataValue"},{"id":536,"kind":256,"name":"HierarchicalLevelDetail","url":"interfaces/hierarchicalleveldetail.html","classes":"tsd-kind-interface"},{"id":537,"kind":1024,"name":"name","url":"interfaces/hierarchicalleveldetail.html#name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"HierarchicalLevelDetail"},{"id":538,"kind":1024,"name":"levelSelectionState","url":"interfaces/hierarchicalleveldetail.html#levelselectionstate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"HierarchicalLevelDetail"},{"id":539,"kind":256,"name":"WorkbookFormatting","url":"interfaces/workbookformatting.html","classes":"tsd-kind-interface"},{"id":540,"kind":1024,"name":"formattingSheets","url":"interfaces/workbookformatting.html#formattingsheets","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"WorkbookFormatting"},{"id":541,"kind":256,"name":"FormattingSheet","url":"interfaces/formattingsheet.html","classes":"tsd-kind-interface"},{"id":542,"kind":1024,"name":"classNameKey","url":"interfaces/formattingsheet.html#classnamekey","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FormattingSheet"},{"id":543,"kind":1024,"name":"cssProperties","url":"interfaces/formattingsheet.html#cssproperties","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FormattingSheet"},{"id":544,"kind":256,"name":"Workbook","url":"interfaces/workbook.html","classes":"tsd-kind-interface"},{"id":545,"kind":2048,"name":"getAllDataSourcesAsync","url":"interfaces/workbook.html#getalldatasourcesasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Workbook"},{"id":546,"kind":256,"name":"DashboardContent","url":"interfaces/dashboardcontent.html","classes":"tsd-kind-interface"},{"id":547,"kind":1024,"name":"dashboard","url":"interfaces/dashboardcontent.html#dashboard","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DashboardContent"},{"id":548,"kind":256,"name":"Environment","url":"interfaces/environment.html","classes":"tsd-kind-interface"},{"id":549,"kind":1024,"name":"apiVersion","url":"interfaces/environment.html#apiversion","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Environment"},{"id":550,"kind":1024,"name":"context","url":"interfaces/environment.html#context","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Environment"},{"id":551,"kind":1024,"name":"language","url":"interfaces/environment.html#language","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Environment"},{"id":552,"kind":1024,"name":"country","url":"interfaces/environment.html#country","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Environment"},{"id":553,"kind":1024,"name":"workbookFormatting","url":"interfaces/environment.html#workbookformatting","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Environment"},{"id":554,"kind":1024,"name":"locale","url":"interfaces/environment.html#locale","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Environment"},{"id":555,"kind":1024,"name":"mode","url":"interfaces/environment.html#mode","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Environment"},{"id":556,"kind":1024,"name":"operatingSystem","url":"interfaces/environment.html#operatingsystem","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Environment"},{"id":557,"kind":1024,"name":"tableauVersion","url":"interfaces/environment.html#tableauversion","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Environment"},{"id":558,"kind":1024,"name":"uniqueUserId","url":"interfaces/environment.html#uniqueuserid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Environment"},{"id":559,"kind":256,"name":"Settings","url":"interfaces/settings.html","classes":"tsd-kind-interface"},{"id":560,"kind":2048,"name":"erase","url":"interfaces/settings.html#erase","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Settings"},{"id":561,"kind":2048,"name":"get","url":"interfaces/settings.html#get","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Settings"},{"id":562,"kind":2048,"name":"getAll","url":"interfaces/settings.html#getall","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Settings"},{"id":563,"kind":1024,"name":"isModified","url":"interfaces/settings.html#ismodified","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Settings"},{"id":564,"kind":2048,"name":"saveAsync","url":"interfaces/settings.html#saveasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Settings"},{"id":565,"kind":2048,"name":"set","url":"interfaces/settings.html#set","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Settings"},{"id":566,"kind":2048,"name":"addEventListener","url":"interfaces/settings.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"Settings"},{"id":567,"kind":2048,"name":"removeEventListener","url":"interfaces/settings.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"Settings"},{"id":568,"kind":256,"name":"UI","url":"interfaces/ui.html","classes":"tsd-kind-interface"},{"id":569,"kind":2048,"name":"displayDialogAsync","url":"interfaces/ui.html#displaydialogasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"UI"},{"id":570,"kind":2048,"name":"closeDialog","url":"interfaces/ui.html#closedialog","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"UI"},{"id":571,"kind":256,"name":"DialogOptions","url":"interfaces/dialogoptions.html","classes":"tsd-kind-interface"},{"id":572,"kind":1024,"name":"width","url":"interfaces/dialogoptions.html#width","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DialogOptions"},{"id":573,"kind":1024,"name":"height","url":"interfaces/dialogoptions.html#height","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DialogOptions"},{"id":574,"kind":1024,"name":"dialogStyle","url":"interfaces/dialogoptions.html#dialogstyle","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DialogOptions"},{"id":575,"kind":256,"name":"WorksheetContent","url":"interfaces/worksheetcontent.html","classes":"tsd-kind-interface"},{"id":576,"kind":1024,"name":"worksheet","url":"interfaces/worksheetcontent.html#worksheet","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"WorksheetContent"},{"id":577,"kind":256,"name":"Extensions","url":"interfaces/extensions.html","classes":"tsd-kind-interface"},{"id":578,"kind":2048,"name":"initializeAsync","url":"interfaces/extensions.html#initializeasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Extensions"},{"id":579,"kind":2048,"name":"initializeDialogAsync","url":"interfaces/extensions.html#initializedialogasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Extensions"},{"id":580,"kind":1024,"name":"dashboardContent","url":"interfaces/extensions.html#dashboardcontent","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Extensions"},{"id":581,"kind":1024,"name":"worksheetContent","url":"interfaces/extensions.html#worksheetcontent","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Extensions"},{"id":582,"kind":1024,"name":"environment","url":"interfaces/extensions.html#environment","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Extensions"},{"id":583,"kind":1024,"name":"settings","url":"interfaces/extensions.html#settings","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Extensions"},{"id":584,"kind":1024,"name":"ui","url":"interfaces/extensions.html#ui","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Extensions"},{"id":585,"kind":1024,"name":"workbook","url":"interfaces/extensions.html#workbook","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Extensions"},{"id":586,"kind":1024,"name":"dashboardObjectId","url":"interfaces/extensions.html#dashboardobjectid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Extensions"},{"id":587,"kind":2048,"name":"createVizImageAsync","url":"interfaces/extensions.html#createvizimageasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Extensions"},{"id":588,"kind":2048,"name":"setClickThroughAsync","url":"interfaces/extensions.html#setclickthroughasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Extensions"},{"id":589,"kind":4,"name":"ErrorCodes","url":"enums/tableau.errorcodes.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":590,"kind":16,"name":"APINotInitialized","url":"enums/tableau.errorcodes.html#apinotinitialized","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ErrorCodes"},{"id":591,"kind":16,"name":"VisibilityError","url":"enums/tableau.errorcodes.html#visibilityerror","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ErrorCodes"},{"id":592,"kind":16,"name":"DialogAlreadyOpen","url":"enums/tableau.errorcodes.html#dialogalreadyopen","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ErrorCodes"},{"id":593,"kind":16,"name":"DialogClosedByUser","url":"enums/tableau.errorcodes.html#dialogclosedbyuser","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ErrorCodes"},{"id":594,"kind":16,"name":"InternalError","url":"enums/tableau.errorcodes.html#internalerror","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ErrorCodes"},{"id":595,"kind":16,"name":"InvalidDomainDialog","url":"enums/tableau.errorcodes.html#invaliddomaindialog","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ErrorCodes"},{"id":596,"kind":16,"name":"InvalidParameter","url":"enums/tableau.errorcodes.html#invalidparameter","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ErrorCodes"},{"id":597,"kind":16,"name":"MissingFilter","url":"enums/tableau.errorcodes.html#missingfilter","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ErrorCodes"},{"id":598,"kind":16,"name":"MissingParameter","url":"enums/tableau.errorcodes.html#missingparameter","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ErrorCodes"},{"id":599,"kind":16,"name":"ServerError","url":"enums/tableau.errorcodes.html#servererror","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ErrorCodes"},{"id":600,"kind":16,"name":"SettingSaveInProgress","url":"enums/tableau.errorcodes.html#settingsaveinprogress","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ErrorCodes"},{"id":601,"kind":16,"name":"UnsupportedEventName","url":"enums/tableau.errorcodes.html#unsupportedeventname","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ErrorCodes"},{"id":602,"kind":16,"name":"UnsupportedMethodForDataSourceType","url":"enums/tableau.errorcodes.html#unsupportedmethodfordatasourcetype","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ErrorCodes"},{"id":603,"kind":4,"name":"ExtensionContext","url":"enums/tableau.extensioncontext.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":604,"kind":16,"name":"Desktop","url":"enums/tableau.extensioncontext.html#desktop","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ExtensionContext"},{"id":605,"kind":16,"name":"Server","url":"enums/tableau.extensioncontext.html#server","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ExtensionContext"},{"id":606,"kind":4,"name":"ExtensionMode","url":"enums/tableau.extensionmode.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":607,"kind":16,"name":"Authoring","url":"enums/tableau.extensionmode.html#authoring","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ExtensionMode"},{"id":608,"kind":16,"name":"Viewing","url":"enums/tableau.extensionmode.html#viewing","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.ExtensionMode"},{"id":609,"kind":4,"name":"TableauEventType","url":"enums/tableau.tableaueventtype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":610,"kind":16,"name":"FilterChanged","url":"enums/tableau.tableaueventtype.html#filterchanged","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.TableauEventType"},{"id":611,"kind":16,"name":"MarkSelectionChanged","url":"enums/tableau.tableaueventtype.html#markselectionchanged","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.TableauEventType"},{"id":612,"kind":16,"name":"SummaryDataChanged","url":"enums/tableau.tableaueventtype.html#summarydatachanged","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.TableauEventType"},{"id":613,"kind":16,"name":"ParameterChanged","url":"enums/tableau.tableaueventtype.html#parameterchanged","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.TableauEventType"},{"id":614,"kind":16,"name":"SettingsChanged","url":"enums/tableau.tableaueventtype.html#settingschanged","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.TableauEventType"},{"id":615,"kind":16,"name":"DashboardLayoutChanged","url":"enums/tableau.tableaueventtype.html#dashboardlayoutchanged","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.TableauEventType"},{"id":616,"kind":16,"name":"WorkbookFormattingChanged","url":"enums/tableau.tableaueventtype.html#workbookformattingchanged","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.TableauEventType"},{"id":617,"kind":4,"name":"VizImageEncodingType","url":"enums/tableau.vizimageencodingtype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":618,"kind":16,"name":"Discrete","url":"enums/tableau.vizimageencodingtype.html#discrete","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.VizImageEncodingType"},{"id":619,"kind":16,"name":"Continuous","url":"enums/tableau.vizimageencodingtype.html#continuous","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.VizImageEncodingType"},{"id":620,"kind":4,"name":"VizImageSortDirectionType","url":"enums/tableau.vizimagesortdirectiontype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":621,"kind":16,"name":"Ascending","url":"enums/tableau.vizimagesortdirectiontype.html#ascending","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.VizImageSortDirectionType"},{"id":622,"kind":16,"name":"Descending","url":"enums/tableau.vizimagesortdirectiontype.html#descending","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.VizImageSortDirectionType"},{"id":623,"kind":4,"name":"VizImagePaletteType","url":"enums/tableau.vizimagepalettetype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":624,"kind":16,"name":"CustomDiverging","url":"enums/tableau.vizimagepalettetype.html#customdiverging","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.VizImagePaletteType"},{"id":625,"kind":16,"name":"CustomSequential","url":"enums/tableau.vizimagepalettetype.html#customsequential","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.VizImagePaletteType"},{"id":626,"kind":4,"name":"VizImageSizeSettingType","url":"enums/tableau.vizimagesizesettingtype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":627,"kind":16,"name":"Fixed","url":"enums/tableau.vizimagesizesettingtype.html#fixed","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.VizImageSizeSettingType"},{"id":628,"kind":16,"name":"Manual","url":"enums/tableau.vizimagesizesettingtype.html#manual","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.VizImageSizeSettingType"},{"id":629,"kind":4,"name":"VizImageSizeSettingAlignmentType","url":"enums/tableau.vizimagesizesettingalignmenttype.html","classes":"tsd-kind-enum tsd-parent-kind-module","parent":"Tableau"},{"id":630,"kind":16,"name":"Right","url":"enums/tableau.vizimagesizesettingalignmenttype.html#right","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.VizImageSizeSettingAlignmentType"},{"id":631,"kind":16,"name":"Left","url":"enums/tableau.vizimagesizesettingalignmenttype.html#left","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.VizImageSizeSettingAlignmentType"},{"id":632,"kind":16,"name":"Center","url":"enums/tableau.vizimagesizesettingalignmenttype.html#center","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Tableau.VizImageSizeSettingAlignmentType"},{"id":633,"kind":32,"name":"extensions","url":"modules/tableau.html#extensions","classes":"tsd-kind-variable tsd-parent-kind-module","parent":"Tableau"},{"id":634,"kind":256,"name":"TableauWorksheetEvent","url":"interfaces/tableauworksheetevent.html","classes":"tsd-kind-interface"},{"id":635,"kind":1024,"name":"worksheet","url":"interfaces/tableauworksheetevent.html#worksheet","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TableauWorksheetEvent"},{"id":636,"kind":1024,"name":"sheet","url":"interfaces/tableauworksheetevent.html#sheet","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TableauWorksheetEvent"},{"id":637,"kind":1024,"name":"type","url":"interfaces/tableauworksheetevent.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TableauWorksheetEvent"},{"id":638,"kind":256,"name":"MarksSelectedEvent","url":"interfaces/marksselectedevent.html","classes":"tsd-kind-interface"},{"id":639,"kind":2048,"name":"getMarksAsync","url":"interfaces/marksselectedevent.html#getmarksasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"MarksSelectedEvent"},{"id":640,"kind":1024,"name":"worksheet","url":"interfaces/marksselectedevent.html#worksheet","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"MarksSelectedEvent"},{"id":641,"kind":1024,"name":"sheet","url":"interfaces/marksselectedevent.html#sheet","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"MarksSelectedEvent"},{"id":642,"kind":1024,"name":"type","url":"interfaces/marksselectedevent.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"MarksSelectedEvent"},{"id":643,"kind":256,"name":"SummaryDataChangedEvent","url":"interfaces/summarydatachangedevent.html","classes":"tsd-kind-interface"},{"id":644,"kind":1024,"name":"worksheet","url":"interfaces/summarydatachangedevent.html#worksheet","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"SummaryDataChangedEvent"},{"id":645,"kind":1024,"name":"sheet","url":"interfaces/summarydatachangedevent.html#sheet","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"SummaryDataChangedEvent"},{"id":646,"kind":1024,"name":"type","url":"interfaces/summarydatachangedevent.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"SummaryDataChangedEvent"},{"id":647,"kind":256,"name":"TableauSheetEvent","url":"interfaces/tableausheetevent.html","classes":"tsd-kind-interface"},{"id":648,"kind":1024,"name":"sheet","url":"interfaces/tableausheetevent.html#sheet","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TableauSheetEvent"},{"id":649,"kind":1024,"name":"type","url":"interfaces/tableausheetevent.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TableauSheetEvent"},{"id":650,"kind":256,"name":"FilterChangedEvent","url":"interfaces/filterchangedevent.html","classes":"tsd-kind-interface"},{"id":651,"kind":1024,"name":"fieldName","url":"interfaces/filterchangedevent.html#fieldname","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FilterChangedEvent"},{"id":652,"kind":2048,"name":"getFilterAsync","url":"interfaces/filterchangedevent.html#getfilterasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FilterChangedEvent"},{"id":653,"kind":1024,"name":"worksheet","url":"interfaces/filterchangedevent.html#worksheet","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"FilterChangedEvent"},{"id":654,"kind":1024,"name":"sheet","url":"interfaces/filterchangedevent.html#sheet","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"FilterChangedEvent"},{"id":655,"kind":1024,"name":"type","url":"interfaces/filterchangedevent.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"FilterChangedEvent"},{"id":656,"kind":256,"name":"WorkbookFormattingChangedEvent","url":"interfaces/workbookformattingchangedevent.html","classes":"tsd-kind-interface"},{"id":657,"kind":1024,"name":"formatting","url":"interfaces/workbookformattingchangedevent.html#formatting","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"WorkbookFormattingChangedEvent"},{"id":658,"kind":1024,"name":"type","url":"interfaces/workbookformattingchangedevent.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"WorkbookFormattingChangedEvent"},{"id":659,"kind":256,"name":"TableauEvent","url":"interfaces/tableauevent.html","classes":"tsd-kind-interface"},{"id":660,"kind":1024,"name":"type","url":"interfaces/tableauevent.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TableauEvent"},{"id":661,"kind":256,"name":"ParameterChangedEvent","url":"interfaces/parameterchangedevent.html","classes":"tsd-kind-interface"},{"id":662,"kind":2048,"name":"getParameterAsync","url":"interfaces/parameterchangedevent.html#getparameterasync","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ParameterChangedEvent"},{"id":663,"kind":1024,"name":"type","url":"interfaces/parameterchangedevent.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ParameterChangedEvent"},{"id":664,"kind":256,"name":"SettingsChangedEvent","url":"interfaces/settingschangedevent.html","classes":"tsd-kind-interface"},{"id":665,"kind":1024,"name":"newSettings","url":"interfaces/settingschangedevent.html#newsettings","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SettingsChangedEvent"},{"id":666,"kind":65536,"name":"__type","url":"interfaces/settingschangedevent.html#newsettings.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"SettingsChangedEvent.newSettings"},{"id":667,"kind":1024,"name":"type","url":"interfaces/settingschangedevent.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"SettingsChangedEvent"},{"id":668,"kind":256,"name":"DashboardLayoutChangedEvent","url":"interfaces/dashboardlayoutchangedevent.html","classes":"tsd-kind-interface"},{"id":669,"kind":1024,"name":"dashboardLayoutChangeDetails","url":"interfaces/dashboardlayoutchangedevent.html#dashboardlayoutchangedetails","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DashboardLayoutChangedEvent"},{"id":670,"kind":1024,"name":"type","url":"interfaces/dashboardlayoutchangedevent.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"DashboardLayoutChangedEvent"},{"id":671,"kind":256,"name":"EventListenerManager","url":"interfaces/eventlistenermanager.html","classes":"tsd-kind-interface"},{"id":672,"kind":2048,"name":"addEventListener","url":"interfaces/eventlistenermanager.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"EventListenerManager"},{"id":673,"kind":2048,"name":"removeEventListener","url":"interfaces/eventlistenermanager.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"EventListenerManager"},{"id":674,"kind":4194304,"name":"DashboardLayoutChangeDetails","url":"globals.html#dashboardlayoutchangedetails","classes":"tsd-kind-type-alias"},{"id":675,"kind":4194304,"name":"TableauEventHandlerFn","url":"globals.html#tableaueventhandlerfn","classes":"tsd-kind-type-alias"},{"id":676,"kind":65536,"name":"__type","url":"globals.html#tableaueventhandlerfn.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"TableauEventHandlerFn"},{"id":677,"kind":4194304,"name":"TableauEventUnregisterFn","url":"globals.html#tableaueventunregisterfn","classes":"tsd-kind-type-alias"},{"id":678,"kind":65536,"name":"__type","url":"globals.html#tableaueventunregisterfn.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"TableauEventUnregisterFn"},{"id":679,"kind":256,"name":"TableauError","url":"interfaces/tableauerror.html","classes":"tsd-kind-interface"},{"id":680,"kind":1024,"name":"errorCode","url":"interfaces/tableauerror.html#errorcode","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TableauError"},{"id":681,"kind":1024,"name":"name","url":"interfaces/tableauerror.html#name","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TableauError"},{"id":682,"kind":1024,"name":"message","url":"interfaces/tableauerror.html#message","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TableauError"},{"id":683,"kind":1024,"name":"stack","url":"interfaces/tableauerror.html#stack","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TableauError"},{"id":684,"kind":1024,"name":"Error","url":"interfaces/tableauerror.html#error","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TableauError"},{"id":685,"kind":4,"name":"SharedErrorCodes","url":"enums/sharederrorcodes.html","classes":"tsd-kind-enum"},{"id":686,"kind":16,"name":"CrosstabCreationError","url":"enums/sharederrorcodes.html#crosstabcreationerror","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"},{"id":687,"kind":16,"name":"DataCreationError","url":"enums/sharederrorcodes.html#datacreationerror","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"},{"id":688,"kind":16,"name":"InvalidAggregationFieldName","url":"enums/sharederrorcodes.html#invalidaggregationfieldname","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"},{"id":689,"kind":16,"name":"InvalidFilterFieldName","url":"enums/sharederrorcodes.html#invalidfilterfieldname","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"},{"id":690,"kind":16,"name":"InvalidFilterFieldValue","url":"enums/sharederrorcodes.html#invalidfilterfieldvalue","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"},{"id":691,"kind":16,"name":"InvalidSelectionDate","url":"enums/sharederrorcodes.html#invalidselectiondate","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"},{"id":692,"kind":16,"name":"InvalidSelectionFieldName","url":"enums/sharederrorcodes.html#invalidselectionfieldname","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"},{"id":693,"kind":16,"name":"InvalidSelectionValue","url":"enums/sharederrorcodes.html#invalidselectionvalue","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"},{"id":694,"kind":16,"name":"InvalidSelectionSheet","url":"enums/sharederrorcodes.html#invalidselectionsheet","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"},{"id":695,"kind":16,"name":"InternalError","url":"enums/sharederrorcodes.html#internalerror","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"},{"id":696,"kind":16,"name":"InvalidParameter","url":"enums/sharederrorcodes.html#invalidparameter","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"},{"id":697,"kind":16,"name":"PDFCreationError","url":"enums/sharederrorcodes.html#pdfcreationerror","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"},{"id":698,"kind":16,"name":"PowerPointCreationError","url":"enums/sharederrorcodes.html#powerpointcreationerror","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"},{"id":699,"kind":16,"name":"NotActiveSheet","url":"enums/sharederrorcodes.html#notactivesheet","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"},{"id":700,"kind":16,"name":"ImplementationError","url":"enums/sharederrorcodes.html#implementationerror","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"},{"id":701,"kind":16,"name":"ApiExecutionError","url":"enums/sharederrorcodes.html#apiexecutionerror","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"},{"id":702,"kind":16,"name":"ServerError","url":"enums/sharederrorcodes.html#servererror","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"},{"id":703,"kind":16,"name":"Timeout","url":"enums/sharederrorcodes.html#timeout","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"SharedErrorCodes"}]}; \ No newline at end of file diff --git a/docs/enums/sharederrorcodes.html b/docs/enums/sharederrorcodes.html deleted file mode 100644 index 6906819c..00000000 --- a/docs/enums/sharederrorcodes.html +++ /dev/null @@ -1,523 +0,0 @@ - - - - - - SharedErrorCodes | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration SharedErrorCodes

    -
    -
    -
    -
    -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Enumeration members

    -
    - -

    ApiExecutionError

    -
    ApiExecutionError: = "api-execution-error"
    - -
    -
    -

    Can occur when two incompatible calls are triggered together.

    -
    -
    -
    -
    - -

    CrosstabCreationError

    -
    CrosstabCreationError: = "crosstab-creation-error"
    - -
    -
    -

    A CSV or Excel file failed to be created in Viz.exportCrosstabAsync().

    -
    -
    -
    -
    - -

    DataCreationError

    -
    DataCreationError: = "data-creation-error"
    - -
    -
    -

    A CSV file failed to be created in Viz.exportDataAsync().

    -
    -
    -
    -
    - -

    ImplementationError

    -
    ImplementationError: = "wrong-implementation"
    - -
    -
    -

    Property or Function is not supported within the Tableau API.

    -
    -
    -
    -
    - -

    InternalError

    -
    InternalError: = "internal-error"
    - -
    -
    -

    An error occurred within the Tableau API. Contact Tableau Support.

    -
    -
    -
    -
    - -

    InvalidAggregationFieldName

    -
    InvalidAggregationFieldName: = "invalid-aggregation-field-name"
    - -
    -
    -

    An invalid aggregation was specified for the filter, such as setting a range filter to "SUM(Sales)" instead of - "Sales".

    -
    -
    -
    -
    - -

    InvalidFilterFieldName

    -
    InvalidFilterFieldName: = "invalid-filter-name"
    - -
    -
    -

    A filter operation was attempted on a field that does not exist in the data source.

    -
    -
    -
    -
    - -

    InvalidFilterFieldValue

    -
    InvalidFilterFieldValue: = "invalid-filter-fieldValue"
    - -
    -
    -

    A filter operation was attempted using a value that is the wrong data type or format.

    -
    -
    -
    -
    - -

    InvalidParameter

    -
    InvalidParameter: = "invalid-parameter"
    - -
    -
    -

    A parameter is not the correct data type or format. The name of the parameter is specified in the Error.message field.

    -
    -
    -
    -
    - -

    InvalidSelectionDate

    -
    InvalidSelectionDate: = "invalid-selection-date"
    - -
    -
    -

    An invalid date value was specified in a Sheet.selectMarksAsync() call for a date field.

    -
    -
    -
    -
    - -

    InvalidSelectionFieldName

    -
    InvalidSelectionFieldName: = "invalid-selection-fieldName"
    - -
    -
    -

    A field was specified in a Sheet.selectMarksAsync() call that does not exist in the data source.

    -
    -
    -
    -
    - -

    InvalidSelectionSheet

    -
    InvalidSelectionSheet: = "invalid-selection-sheet"
    - -
    -
    -

    A parameter did not include a valid sheet selection for exporting.

    -
    -
    -
    -
    - -

    InvalidSelectionValue

    -
    InvalidSelectionValue: = "invalid-selection-value"
    - -
    -
    -

    An invalid value was specified in a Sheet.selectMarksAsync() call.

    -
    -
    -
    -
    - -

    NotActiveSheet

    -
    NotActiveSheet: = "not-active-sheet"
    - -
    -
    -

    An operation was attempted on a sheet that is not active or embedded within the active dashboard.

    -
    -
    -
    -
    - -

    PDFCreationError

    -
    PDFCreationError: = "pdf-creation-error"
    - -
    -
    -

    A PDF file failed to be created in Viz.exportPDFAsync().

    -
    -
    -
    -
    - -

    PowerPointCreationError

    -
    PowerPointCreationError: = "powerpoint-creation-error"
    - -
    -
    -

    A PowerPoint file failed to be created in Viz.exportPowerPointAsync().

    -
    -
    -
    -
    - -

    ServerError

    -
    ServerError: = "server-error"
    - -
    -
    -

    A general-purpose server error occurred. Details are contained in the Error object.

    -
    -
    -
    -
    - -

    Timeout

    -
    Timeout: = "timeout"
    - -
    -
    -

    Can occur when an api call times out.

    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.analyticsobjecttype.html b/docs/enums/tableau.analyticsobjecttype.html deleted file mode 100644 index 50dda018..00000000 --- a/docs/enums/tableau.analyticsobjecttype.html +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - AnalyticsObjectType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration AnalyticsObjectType

    -
    -
    -
    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Cluster

    -
    Cluster: = "cluster"
    - -
    -
    - -

    Forecast

    -
    Forecast: = "forecast"
    - -
    -
    - -

    TrendLine

    -
    TrendLine: = "trend-line"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.annotationtype.html b/docs/enums/tableau.annotationtype.html deleted file mode 100644 index ef7f0e7f..00000000 --- a/docs/enums/tableau.annotationtype.html +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - AnnotationType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration AnnotationType

    -
    -
    -
    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Area

    -
    Area: = "area"
    - -
    -
    - -

    Mark

    -
    Mark: = "mark"
    - -
    -
    - -

    Point

    -
    Point: = "point"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.classnamekey.html b/docs/enums/tableau.classnamekey.html deleted file mode 100644 index c3191646..00000000 --- a/docs/enums/tableau.classnamekey.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - ClassNameKey | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration ClassNameKey

    -
    -
    -
    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    DashboardTitle

    -
    DashboardTitle: = "tableau-dashboard-title"
    - -
    -
    - -

    StoryTitle

    -
    StoryTitle: = "tableau-story-title"
    - -
    -
    - -

    Tooltip

    -
    Tooltip: = "tableau-tooltip"
    - -
    -
    - -

    Worksheet

    -
    Worksheet: = "tableau-worksheet"
    - -
    -
    - -

    WorksheetTitle

    -
    WorksheetTitle: = "tableau-worksheet-title"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.columntype.html b/docs/enums/tableau.columntype.html deleted file mode 100644 index 44fe4f0a..00000000 --- a/docs/enums/tableau.columntype.html +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - ColumnType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration ColumnType

    -
    -
    -
    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Continuous

    -
    Continuous: = "continuous"
    - -
    -
    - -

    Discrete

    -
    Discrete: = "discrete"
    - -
    -
    - -

    Unknown

    -
    Unknown: = "unknown"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.dashboardlayoutchange.html b/docs/enums/tableau.dashboardlayoutchange.html deleted file mode 100644 index e0be1f82..00000000 --- a/docs/enums/tableau.dashboardlayoutchange.html +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - DashboardLayoutChange | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration DashboardLayoutChange

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Enum that represents the changes that occur to a dashboard object.

    -
    -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Enumeration members

    -
    - -

    Added

    -
    Added: = "added"
    - -
    -
    -

    A dashboard object was added

    -
    -
    -
    -
    - -

    DashboardChanged

    -
    DashboardChanged: = "dashboard-changed"
    - -
    -
    -

    Navigate to another dashboard

    -
    -
    -
    -
    - -

    Deselected

    -
    Deselected: = "deselected"
    - -
    -
    -

    A dashboard object is deselected

    -
    -
    -
    -
    - -

    IsFloatingChanged

    -
    IsFloatingChanged: = "is-floating-changed"
    - -
    -
    -

    A dashboard object's floating state changed

    -
    -
    -
    -
    - -

    IsVisibleChanged

    -
    IsVisibleChanged: = "is-visible-changed"
    - -
    -
    -

    A dashboard object's visibility changed

    -
    -
    -
    -
    - -

    NameChanged

    -
    NameChanged: = "name-changed"
    - -
    -
    -

    A dashboard object was renamed

    -
    -
    -
    -
    - -

    PositionChanged

    -
    PositionChanged: = "position-changed"
    - -
    -
    -

    A dashboard object's position changed

    -
    -
    -
    -
    - -

    Removed

    -
    Removed: = "removed"
    - -
    -
    -

    A dashboard object was removed

    -
    -
    -
    -
    - -

    Selected

    -
    Selected: = "selected"
    - -
    -
    -

    A dashboard object is selected

    -
    -
    -
    -
    - -

    SizeChanged

    -
    SizeChanged: = "size-changed"
    - -
    -
    -

    A dashboard object's size changed

    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.dashboardobjecttype.html b/docs/enums/tableau.dashboardobjecttype.html deleted file mode 100644 index 4f89958d..00000000 --- a/docs/enums/tableau.dashboardobjecttype.html +++ /dev/null @@ -1,347 +0,0 @@ - - - - - - DashboardObjectType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration DashboardObjectType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    What the object represents in a dashboard.

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Blank

    -
    Blank: = "blank"
    - -
    -
    - -

    Extension

    -
    Extension: = "extension"
    - -
    -
    - -

    Image

    -
    Image: = "image"
    - -
    -
    - -

    Legend

    -
    Legend: = "legend"
    - -
    -
    - -

    PageFilter

    -
    PageFilter: = "page-filter"
    - -
    -
    - -

    ParameterControl

    -
    ParameterControl: = "parameter-control"
    - -
    -
    - -

    QuickFilter

    -
    QuickFilter: = "quick-filter"
    - -
    -
    - -

    Text

    -
    Text: = "text"
    - -
    -
    - -

    Title

    -
    Title: = "title"
    - -
    -
    - -

    WebPage

    -
    WebPage: = "web-page"
    - -
    -
    - -

    Worksheet

    -
    Worksheet: = "worksheet"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.dashboardobjectvisibilitytype.html b/docs/enums/tableau.dashboardobjectvisibilitytype.html deleted file mode 100644 index b2ee1945..00000000 --- a/docs/enums/tableau.dashboardobjectvisibilitytype.html +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - DashboardObjectVisibilityType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration DashboardObjectVisibilityType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Enum that represents the visibility state of a dashboard object.

    -
    -
    -
    since
    -

    1.7.0

    -
    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Hide

    -
    Hide: = "hide"
    - -
    -
    -

    Used for turning off the visibility of a dashboard object.

    -
    -
    -
    -
    - -

    Show

    -
    Show: = "show"
    - -
    -
    -

    Used for turning on the visibility of a dashboard object.

    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.datatype.html b/docs/enums/tableau.datatype.html deleted file mode 100644 index 3c1b1ea8..00000000 --- a/docs/enums/tableau.datatype.html +++ /dev/null @@ -1,305 +0,0 @@ - - - - - - DataType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration DataType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The different types of data a value can have

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Bool

    -
    Bool: = "bool"
    - -
    -
    - -

    Date

    -
    Date: = "date"
    - -
    -
    - -

    DateTime

    -
    DateTime: = "date-time"
    - -
    -
    - -

    Float

    -
    Float: = "float"
    - -
    -
    - -

    Int

    -
    Int: = "int"
    - -
    -
    - -

    Spatial

    -
    Spatial: = "spatial"
    - -
    -
    - -

    String

    -
    String: = "string"
    - -
    -
    - -

    Unknown

    -
    Unknown: = "unknown"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.daterangetype.html b/docs/enums/tableau.daterangetype.html deleted file mode 100644 index 2aabec23..00000000 --- a/docs/enums/tableau.daterangetype.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - DateRangeType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration DateRangeType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Valid date ranges for a relative date filter.

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Current

    -
    Current: = "current"
    - -
    -
    - -

    Last

    -
    Last: = "last"
    - -
    -
    - -

    LastN

    -
    LastN: = "last-n"
    - -
    -
    - -

    Next

    -
    Next: = "next"
    - -
    -
    - -

    NextN

    -
    NextN: = "next-n"
    - -
    -
    - -

    ToDate

    -
    ToDate: = "to-date"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.dialogstyle.html b/docs/enums/tableau.dialogstyle.html deleted file mode 100644 index 25e02133..00000000 --- a/docs/enums/tableau.dialogstyle.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - DialogStyle | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration DialogStyle

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Enum that represents the types of dialog popup styles.

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Modal

    -
    Modal: = "modal"
    - -
    -
    - -

    Modeless

    -
    Modeless: = "modeless"
    - -
    -
    - -

    Window

    -
    Window: = "window"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.encodingtype.html b/docs/enums/tableau.encodingtype.html deleted file mode 100644 index f3b64919..00000000 --- a/docs/enums/tableau.encodingtype.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - EncodingType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration EncodingType

    -
    -
    -
    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Angle

    -
    Angle: = "angle"
    - -
    -
    - -

    Color

    -
    Color: = "color"
    - -
    -
    - -

    Column

    -
    Column: = "column"
    - -
    -
    - -

    Custom

    -
    Custom: = "custom"
    - -
    -
    - -

    Detail

    -
    Detail: = "detail"
    - -
    -
    - -

    Filter

    -
    Filter: = "filter"
    - -
    -
    - -

    Geometry

    -
    Geometry: = "geometry"
    - -
    -
    - -

    Label

    -
    Label: = "label"
    - -
    -
    - -

    MarksType

    -
    MarksType: = "marks-type"
    - -
    -
    - -

    MeasureValues

    -
    MeasureValues: = "measure-values"
    - -
    -
    - -

    Page

    -
    Page: = "page"
    - -
    -
    - -

    Path

    -
    Path: = "path"
    - -
    -
    - -

    Row

    -
    Row: = "row"
    - -
    -
    - -

    Shape

    -
    Shape: = "shape"
    - -
    -
    - -

    Size

    -
    Size: = "size"
    - -
    -
    - -

    Tooltip

    -
    Tooltip: = "tooltip"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.errorcodes.html b/docs/enums/tableau.errorcodes.html deleted file mode 100644 index a88c8536..00000000 --- a/docs/enums/tableau.errorcodes.html +++ /dev/null @@ -1,440 +0,0 @@ - - - - - - ErrorCodes | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration ErrorCodes

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    All error codes used by the Extensions API.

    -
    -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Enumeration members

    -
    - -

    APINotInitialized

    -
    APINotInitialized: = "api-not-initialized"
    - -
    -
    -

    Thrown when caller attempts to execute command before initialization has completed.

    -
    -
    -
    -
    - -

    DialogAlreadyOpen

    -
    DialogAlreadyOpen: = "dialog-already-open"
    - -
    -
    -

    Only one dialog can be opened at time with the UI namespace functionality.

    -
    -
    -
    -
    - -

    DialogClosedByUser

    -
    DialogClosedByUser: = "dialog-closed-by-user"
    - -
    -
    -

    The open dialog was closed by the user.

    -
    -
    -
    -
    - -

    InternalError

    -
    InternalError: = "internal-error"
    - -
    -
    -

    An error occurred within the Tableau Extensions API. Contact Tableau Support.

    -
    -
    -
    -
    - -

    InvalidDomainDialog

    -
    InvalidDomainDialog: = "invalid-dialog-domain"
    - -
    -
    -

    A dialog must start on the same domain as the parent extenion.

    -
    -
    -
    -
    - -

    InvalidParameter

    -
    InvalidParameter: = "invalid-parameter"
    - -
    -
    -

    A parameter is not the correct data type or format. The name of the parameter is specified in the Error.message field.

    -
    -
    -
    -
    - -

    MissingFilter

    -
    MissingFilter: = "missing-filter"
    - -
    -
    -

    Can occur if the extension interacts with a filter that has been removed from the worksheet.

    -
    -
    -
    -
    - -

    MissingParameter

    -
    MissingParameter: = "missing-parameter"
    - -
    -
    -

    Can occur if the extension interacts with a parameter that has been removed from the worksheet.

    -
    -
    -
    -
    - -

    ServerError

    -
    ServerError: = "server-error"
    - -
    -
    -

    Internal Server Error

    -
    -
    -
    -
    - -

    SettingSaveInProgress

    -
    SettingSaveInProgress: = "setting-save-in-progress"
    - -
    -
    -

    Developer cannot save settings while another save is still in progress.

    -
    -
    -
    -
    - -

    UnsupportedEventName

    -
    UnsupportedEventName: = "unsupported-event-name"
    - -
    -
    -

    An unknown event name was specified in the call to addEventListener or removeEventListener.

    -
    -
    -
    -
    - -

    UnsupportedMethodForDataSourceType

    -
    UnsupportedMethodForDataSourceType: = "unsupported-method-for-data-source-type"
    - -
    -
    -

    A method was used for a type of data source that doesn't support that method (see getActiveTablesAsync for an example)

    -
    -
    -
    -
    - -

    VisibilityError

    -
    VisibilityError: = "visibility-error"
    - -
    -
    -

    Thrown when caller attempts to execute command while extension is not visible.

    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.extensioncontext.html b/docs/enums/tableau.extensioncontext.html deleted file mode 100644 index cabd1e29..00000000 --- a/docs/enums/tableau.extensioncontext.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - ExtensionContext | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration ExtensionContext

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The context in which the Extensions is currently running.

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Desktop

    -
    Desktop: = "desktop"
    - -
    -
    - -

    Server

    -
    Server: = "server"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.extensionmode.html b/docs/enums/tableau.extensionmode.html deleted file mode 100644 index 163bba28..00000000 --- a/docs/enums/tableau.extensionmode.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - ExtensionMode | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration ExtensionMode

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The mode in which the Extensions is currently running.

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Authoring

    -
    Authoring: = "authoring"
    - -
    -
    - -

    Viewing

    -
    Viewing: = "viewing"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.fieldaggregationtype.html b/docs/enums/tableau.fieldaggregationtype.html deleted file mode 100644 index 85a32613..00000000 --- a/docs/enums/tableau.fieldaggregationtype.html +++ /dev/null @@ -1,753 +0,0 @@ - - - - - - FieldAggregationType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration FieldAggregationType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Type of aggregation on a field.

    -
    -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Enumeration members

    -
    - -

    Attr

    -
    Attr: = "attr"
    - -
    -
    - -

    Avg

    -
    Avg: = "avg"
    - -
    -
    - -

    Collect

    -
    Collect: = "collect"
    - -
    -
    - -

    Count

    -
    Count: = "count"
    - -
    -
    - -

    Countd

    -
    Countd: = "countd"
    - -
    -
    - -

    Day

    -
    Day: = "day"
    - -
    -
    - -

    End

    -
    End: = "end"
    - -
    -
    - -

    Hour

    -
    Hour: = "hour"
    - -
    -
    - -

    InOut

    -
    InOut: = "in-out"
    - -
    -
    - -

    Kurtosis

    -
    Kurtosis: = "kurtosis"
    - -
    -
    - -

    Max

    -
    Max: = "max"
    - -
    -
    - -

    Mdy

    -
    Mdy: = "mdy"
    - -
    -
    - -

    Median

    -
    Median: = "median"
    - -
    -
    - -

    Min

    -
    Min: = "min"
    - -
    -
    - -

    Minute

    -
    Minute: = "minute"
    - -
    -
    - -

    Month

    -
    Month: = "month"
    - -
    -
    - -

    MonthYear

    -
    MonthYear: = "month-year"
    - -
    -
    - -

    None

    -
    None: = "none"
    - -
    -
    - -

    Qtr

    -
    Qtr: = "qtr"
    - -
    -
    - -

    Quart1

    -
    Quart1: = "quart1"
    - -
    -
    - -

    Quart3

    -
    Quart3: = "quart3"
    - -
    -
    - -

    Second

    -
    Second: = "second"
    - -
    -
    - -

    Skewness

    -
    Skewness: = "skewness"
    - -
    -
    - -

    Stdev

    -
    Stdev: = "stdev"
    - -
    -
    - -

    Stdevp

    -
    Stdevp: = "stdevp"
    - -
    -
    - -

    Sum

    -
    Sum: = "sum"
    - -
    -
    - -

    TruncDay

    -
    TruncDay: = "trunc-day"
    - -
    -
    - -

    TruncHour

    -
    TruncHour: = "trunc-hour"
    - -
    -
    - -

    TruncMinute

    -
    TruncMinute: = "trunc-minute"
    - -
    -
    - -

    TruncMonth

    -
    TruncMonth: = "trunc-month"
    - -
    -
    - -

    TruncQtr

    -
    TruncQtr: = "trunc-qtr"
    - -
    -
    - -

    TruncSecond

    -
    TruncSecond: = "trunc-second"
    - -
    -
    - -

    TruncWeek

    -
    TruncWeek: = "trunc-week"
    - -
    -
    - -

    TruncYear

    -
    TruncYear: = "trunc-year"
    - -
    -
    - -

    User

    -
    User: = "user"
    - -
    -
    - -

    Var

    -
    Var: = "var"
    - -
    -
    - -

    Varp

    -
    Varp: = "varp"
    - -
    -
    - -

    Week

    -
    Week: = "week"
    - -
    -
    - -

    Weekday

    -
    Weekday: = "weekday"
    - -
    -
    - -

    Year

    -
    Year: = "year"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.fieldroletype.html b/docs/enums/tableau.fieldroletype.html deleted file mode 100644 index c4a2baf7..00000000 --- a/docs/enums/tableau.fieldroletype.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - FieldRoleType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration FieldRoleType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Role of a field.

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Dimension

    -
    Dimension: = "dimension"
    - -
    -
    - -

    Measure

    -
    Measure: = "measure"
    - -
    -
    - -

    Unknown

    -
    Unknown: = "unknown"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.filterdomaintype.html b/docs/enums/tableau.filterdomaintype.html deleted file mode 100644 index e71cfe15..00000000 --- a/docs/enums/tableau.filterdomaintype.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - FilterDomainType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration FilterDomainType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The domain type for a filter

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Database

    -
    Database: = "database"
    - -
    -
    -

    list of all possible domain values from database

    -
    -
    -
    -
    - -

    Relevant

    -
    Relevant: = "relevant"
    - -
    -
    -

    The domain values that are relevant to the specified filter - i.e. the domain is restricted by a previous filter

    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.filternulloption.html b/docs/enums/tableau.filternulloption.html deleted file mode 100644 index 0cc8546c..00000000 --- a/docs/enums/tableau.filternulloption.html +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - FilterNullOption | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration FilterNullOption

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The option for specifying which values to include for filtering - Indicates what to do with null values for a given filter or mark selection call.

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    AllValues

    -
    AllValues: = "all-values"
    - -
    -
    - -

    NonNullValues

    -
    NonNullValues: = "non-null-values"
    - -
    -
    - -

    NullValues

    -
    NullValues: = "null-values"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.filtertype.html b/docs/enums/tableau.filtertype.html deleted file mode 100644 index f54c0e7d..00000000 --- a/docs/enums/tableau.filtertype.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - FilterType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration FilterType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    An enumeration of the valid types of filters that can be applied.

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Categorical

    -
    Categorical: = "categorical"
    - -
    -
    - -

    Hierarchical

    -
    Hierarchical: = "hierarchical"
    - -
    -
    - -

    Range

    -
    Range: = "range"
    - -
    -
    - -

    RelativeDate

    -
    RelativeDate: = "relative-date"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.filterupdatetype.html b/docs/enums/tableau.filterupdatetype.html deleted file mode 100644 index 6d8dc7c8..00000000 --- a/docs/enums/tableau.filterupdatetype.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - FilterUpdateType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration FilterUpdateType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The different update types for applying filter

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Add

    -
    Add: = "add"
    - -
    -
    - -

    All

    -
    All: = "all"
    - -
    -
    - -

    Remove

    -
    Remove: = "remove"
    - -
    -
    - -

    Replace

    -
    Replace: = "replace"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.hierarchicallevelselectionstate.html b/docs/enums/tableau.hierarchicallevelselectionstate.html deleted file mode 100644 index bb2721e3..00000000 --- a/docs/enums/tableau.hierarchicallevelselectionstate.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - HierarchicalLevelSelectionState | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration HierarchicalLevelSelectionState

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Enum that represents the selection state of a level in a hierarchical filter

    -
    -
    -
    since
    -

    Extensions 1.10.0

    -
    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    AllSelected

    -
    AllSelected: = "all-selected"
    - -
    -
    - -

    NoneSelected

    -
    NoneSelected: = "none-selected"
    - -
    -
    - -

    SomeSelected

    -
    SomeSelected: = "some-selected"
    - -
    -
    - -

    UnknownSelected

    -
    UnknownSelected: = "unknown-selected"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.includedatavaluesoption.html b/docs/enums/tableau.includedatavaluesoption.html deleted file mode 100644 index 38b83772..00000000 --- a/docs/enums/tableau.includedatavaluesoption.html +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - IncludeDataValuesOption | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration IncludeDataValuesOption

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Enum that serves as a filter on the DataValues returned from getSummaryDataReaderAsync, - getUnderlyingTableDataReaderAsync and getLogicalTableDataReaderAsync. - This is an optimization of returned data values only. Tableau versions prior to 2021.2 - will pass the data across and populate the DataValue properties. - Please note that all properties not requested will be undefined in the DataValue results.

    -
    -
    -
    since
    -

    1.5.0

    -
    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    AllValues

    -
    AllValues: = "all-values"
    - -
    -
    -

    DataValues will include all properties.

    -
    -
    -
    -
    - -

    OnlyFormattedValues

    -
    OnlyFormattedValues: = "only-formatted-values"
    - -
    -
    -

    DataValues will only include formattedValue properties.

    -
    -
    -
    -
    - -

    OnlyNativeValues

    -
    OnlyNativeValues: = "only-native-values"
    - -
    -
    -

    DataValues will only include value and nativeValue properties.

    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.marktype.html b/docs/enums/tableau.marktype.html deleted file mode 100644 index 13b38284..00000000 --- a/docs/enums/tableau.marktype.html +++ /dev/null @@ -1,375 +0,0 @@ - - - - - - MarkType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration MarkType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Type of mark for a given marks card in a viz.

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Area

    -
    Area: = "area"
    - -
    -
    - -

    Bar

    -
    Bar: = "bar"
    - -
    -
    - -

    Circle

    -
    Circle: = "circle"
    - -
    -
    - -

    GanttBar

    -
    GanttBar: = "gantt-bar"
    - -
    -
    - -

    Heatmap

    -
    Heatmap: = "heatmap"
    - -
    -
    - -

    Line

    -
    Line: = "line"
    - -
    -
    - -

    Map

    -
    Map: = "map"
    - -
    -
    - -

    Pie

    -
    Pie: = "pie"
    - -
    -
    - -

    Polygon

    -
    Polygon: = "polygon"
    - -
    -
    - -

    Shape

    -
    Shape: = "shape"
    - -
    -
    - -

    Square

    -
    Square: = "square"
    - -
    -
    - -

    Text

    -
    Text: = "text"
    - -
    -
    - -

    VizExtension

    -
    VizExtension: = "viz-extension"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.parametervaluetype.html b/docs/enums/tableau.parametervaluetype.html deleted file mode 100644 index 2aab62f9..00000000 --- a/docs/enums/tableau.parametervaluetype.html +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - ParameterValueType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration ParameterValueType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    An enumeration describing the different types of allowable values. - This is used for restricting the domain of a parameter

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    All

    -
    All: = "all"
    - -
    -
    - -

    List

    -
    List: = "list"
    - -
    -
    - -

    Range

    -
    Range: = "range"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.periodtype.html b/docs/enums/tableau.periodtype.html deleted file mode 100644 index 78f6546c..00000000 --- a/docs/enums/tableau.periodtype.html +++ /dev/null @@ -1,305 +0,0 @@ - - - - - - PeriodType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration PeriodType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Date period used in filters and in parameters.

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Days

    -
    Days: = "days"
    - -
    -
    - -

    Hours

    -
    Hours: = "hours"
    - -
    -
    - -

    Minutes

    -
    Minutes: = "minutes"
    - -
    -
    - -

    Months

    -
    Months: = "months"
    - -
    -
    - -

    Quarters

    -
    Quarters: = "quarters"
    - -
    -
    - -

    Seconds

    -
    Seconds: = "seconds"
    - -
    -
    - -

    Weeks

    -
    Weeks: = "weeks"
    - -
    -
    - -

    Years

    -
    Years: = "years"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.quicktablecalctype.html b/docs/enums/tableau.quicktablecalctype.html deleted file mode 100644 index e31d19bb..00000000 --- a/docs/enums/tableau.quicktablecalctype.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - QuickTableCalcType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration QuickTableCalcType

    -
    -
    -
    -
    -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Enumeration members

    -
    - -

    CompoundGrowthRate

    -
    CompoundGrowthRate: = "compound-growth-rate"
    - -
    -
    - -

    Difference

    -
    Difference: = "difference"
    - -
    -
    - -

    MovingAverage

    -
    MovingAverage: = "moving-average"
    - -
    -
    - -

    PercentDifference

    -
    PercentDifference: = "percent-difference"
    - -
    -
    - -

    PercentOfTotal

    -
    PercentOfTotal: = "percent-of-total"
    - -
    -
    - -

    Percentile

    -
    Percentile: = "percentile"
    - -
    -
    - -

    Rank

    -
    Rank: = "rank"
    - -
    -
    - -

    RunningTotal

    -
    RunningTotal: = "running-total"
    - -
    -
    - -

    Undefined

    -
    Undefined: = "undefined"
    - -
    -
    - -

    YTDGrowth

    -
    YTDGrowth: = "ytd-growth"
    - -
    -
    - -

    YTDTotal

    -
    YTDTotal: = "ytd-total"
    - -
    -
    - -

    YearOverYearGrowth

    -
    YearOverYearGrowth: = "year-over-year-growth"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.replayspeedtype.html b/docs/enums/tableau.replayspeedtype.html deleted file mode 100644 index affe102e..00000000 --- a/docs/enums/tableau.replayspeedtype.html +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - ReplaySpeedType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration ReplaySpeedType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Enum that represents the replay speed of an animation.

    -
    -
    -
    since
    -

    1.7.0

    -
    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Fast

    -
    Fast: = "fast"
    - -
    -
    -

    Used for setting the replay speed of an animation to 2.0x.

    -
    -
    -
    -
    - -

    Normal

    -
    Normal: = "normal"
    - -
    -
    -

    Used for setting the replay speed of an animation to 1.0x.

    -
    -
    -
    -
    - -

    Slow

    -
    Slow: = "slow"
    - -
    -
    -

    Used for setting the replay speed of an animation to 0.5x.

    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.selectionupdatetype.html b/docs/enums/tableau.selectionupdatetype.html deleted file mode 100644 index 37ad20ac..00000000 --- a/docs/enums/tableau.selectionupdatetype.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - SelectionUpdateType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration SelectionUpdateType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Enum for specifying the selection type for select marks api.

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Add

    -
    Add: = "select-add"
    - -
    -
    - -

    Remove

    -
    Remove: = "select-remove"
    - -
    -
    - -

    Replace

    -
    Replace: = "select-replace"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.selectoptions.html b/docs/enums/tableau.selectoptions.html deleted file mode 100644 index b19f2fa5..00000000 --- a/docs/enums/tableau.selectoptions.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - SelectOptions | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration SelectOptions

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Enum for specifying the select option for the extensions.Worksheet.selectTuplesAsync method.

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Simple

    -
    Simple: = "select-options-simple"
    - -
    -
    -

    Clears existing selection before selecting the tuples specified

    -
    -
    -
    -
    - -

    Toggle

    -
    Toggle: = "select-options-toggle"
    - -
    -
    -

    Adds specified tuples to the existing selection

    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.sheettype.html b/docs/enums/tableau.sheettype.html deleted file mode 100644 index d87abb88..00000000 --- a/docs/enums/tableau.sheettype.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - SheetType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration SheetType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The type of sheet a Sheet object represents

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Dashboard

    -
    Dashboard: = "dashboard"
    - -
    -
    - -

    Story

    -
    Story: = "story"
    - -
    -
    - -

    Worksheet

    -
    Worksheet: = "worksheet"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.sortdirection.html b/docs/enums/tableau.sortdirection.html deleted file mode 100644 index 1a47f449..00000000 --- a/docs/enums/tableau.sortdirection.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - SortDirection | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration SortDirection

    -
    -
    -
    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Decreasing

    -
    Decreasing: = "decreasing"
    - -
    -
    - -

    Increasing

    -
    Increasing: = "increasing"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.tableaueventtype.html b/docs/enums/tableau.tableaueventtype.html deleted file mode 100644 index ecd4500b..00000000 --- a/docs/enums/tableau.tableaueventtype.html +++ /dev/null @@ -1,334 +0,0 @@ - - - - - - TableauEventType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration TableauEventType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Represents the type of event that can be listened for.

    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    All Extensions Enumeration members

    - -

    Dashboard Extensions Enumeration members

    - -
    -
    -
    -
    -
    -

    All Extensions Enumeration members

    -
    - -

    FilterChanged

    -
    FilterChanged: = "filter-changed"
    - -
    -
    -

    Raised when any filter has changed state. You can use this event type with Worksheet objects.

    -
    -
    -
    -
    - -

    MarkSelectionChanged

    -
    MarkSelectionChanged: = "mark-selection-changed"
    - -
    -
    -

    The selected marks on a visualization has changed. - You can use this event type with Worksheet objects.

    -
    -
    -
    -
    - -

    ParameterChanged

    -
    ParameterChanged: = "parameter-changed"
    - -
    -
    -

    A parameter has had its value modified. You can use this event type with Parameter objects.

    -
    -
    -
    -
    - -

    SettingsChanged

    -
    SettingsChanged: = "settings-changed"
    - -
    -
    -

    Settings have been changed for this extension. You can use this event type with Settings objects.

    -
    -
    -
    -
    - -

    SummaryDataChanged

    -
    SummaryDataChanged: = "summary-data-changed"
    - -
    -
    -

    The summary data backing a worksheet has changed - You can use this event type with Worksheet objects.

    -
    -
    -
    -
    -
    -

    Dashboard Extensions Enumeration members

    -
    - -

    DashboardLayoutChanged

    -
    DashboardLayoutChanged: = "dashboard-layout-changed"
    - -
    -
    -

    The dashboard layout has changed

    -
    -
    -
    -
    - -

    WorkbookFormattingChanged

    -
    WorkbookFormattingChanged: = "workbook-formatting-changed"
    - -
    -
    -

    The workbook formatting has changed

    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.trendlinemodeltype.html b/docs/enums/tableau.trendlinemodeltype.html deleted file mode 100644 index 5aaaf691..00000000 --- a/docs/enums/tableau.trendlinemodeltype.html +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - TrendLineModelType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration TrendLineModelType

    -
    -
    -
    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Exponential

    -
    Exponential: = "exponential"
    - -
    -
    - -

    Linear

    -
    Linear: = "linear"
    - -
    -
    - -

    Logarithmic

    -
    Logarithmic: = "logarithmic"
    - -
    -
    - -

    Polynomial

    -
    Polynomial: = "polynomial"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.vizimageencodingtype.html b/docs/enums/tableau.vizimageencodingtype.html deleted file mode 100644 index 32336456..00000000 --- a/docs/enums/tableau.vizimageencodingtype.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - VizImageEncodingType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration VizImageEncodingType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Enum that represents the data type of encodings for createVizImageAsync.

    -
    -
    -
    since
    -

    1.6.0

    -
    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Continuous

    -
    Continuous: = "continuous"
    - -
    -
    - -

    Discrete

    -
    Discrete: = "discrete"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.vizimagepalettetype.html b/docs/enums/tableau.vizimagepalettetype.html deleted file mode 100644 index 2afd6dd9..00000000 --- a/docs/enums/tableau.vizimagepalettetype.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - VizImagePaletteType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration VizImagePaletteType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Enum that represents the palette type for createVizImageAsync.

    -
    -
    -
    since
    -

    1.8.0 and Tableau 2021.4

    -
    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    CustomDiverging

    -
    CustomDiverging: = "custom-diverging"
    - -
    -
    - -

    CustomSequential

    -
    CustomSequential: = "custom-sequential"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.vizimagesizesettingalignmenttype.html b/docs/enums/tableau.vizimagesizesettingalignmenttype.html deleted file mode 100644 index db30b008..00000000 --- a/docs/enums/tableau.vizimagesizesettingalignmenttype.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - VizImageSizeSettingAlignmentType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration VizImageSizeSettingAlignmentType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Enum that represents the Size Setting alignment type for createVizImageAsync.

    -
    -
    -
    since
    -

    1.8.0 and Tableau 2021.4

    -
    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Center

    -
    Center: = "center"
    - -
    -
    - -

    Left

    -
    Left: = "left"
    - -
    -
    - -

    Right

    -
    Right: = "right"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.vizimagesizesettingtype.html b/docs/enums/tableau.vizimagesizesettingtype.html deleted file mode 100644 index 69a8d767..00000000 --- a/docs/enums/tableau.vizimagesizesettingtype.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - VizImageSizeSettingType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration VizImageSizeSettingType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Enum that represents the Size Setting type for createVizImageAsync.

    -
    -
    -
    since
    -

    1.8.0 and Tableau 2021.4

    -
    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Fixed

    -
    Fixed: = "fixed"
    - -
    -
    - -

    Manual

    -
    Manual: = "manual"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/enums/tableau.vizimagesortdirectiontype.html b/docs/enums/tableau.vizimagesortdirectiontype.html deleted file mode 100644 index f02b0e21..00000000 --- a/docs/enums/tableau.vizimagesortdirectiontype.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - VizImageSortDirectionType | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Enumeration VizImageSortDirectionType

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Enum that represents the sort direction for createVizImageAsync.

    -
    -
    -
    since
    -

    1.8.0 and Tableau 2021.4

    -
    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Enumeration members

    - -
    -
    -
    -
    -
    -

    Enumeration members

    -
    - -

    Ascending

    -
    Ascending: = "ascending"
    - -
    -
    - -

    Descending

    -
    Descending: = "descending"
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/globals.html b/docs/globals.html deleted file mode 100644 index b6ca1287..00000000 --- a/docs/globals.html +++ /dev/null @@ -1,651 +0,0 @@ - - - - - - Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Tableau Extensions

    -
    -
    -
    -
    -
    -
    -
    -

    Index

    -
    -
    -
    -

    Modules

    - -
    -
    -

    Enumerations

    - -
    -
    -

    All Extensions Interfaces

    - -

    Dashboard Extensions Interfaces

    - -

    Viz Extensions Interfaces

    - -
    -
    -

    All Extensions Type aliases

    - -

    Dashboard Extensions Type aliases

    - -
    -
    -
    -
    -
    -

    All Extensions Type aliases

    -
    - -

    CategoricalValue

    -
    CategoricalValue: string | Array<string>
    - -
    -
    -

    Categorical values for selection.

    -
    -
    -
    -
    - -

    TableauEventHandlerFn

    -
    TableauEventHandlerFn: (event: TableauEvent) => void
    - -
    -
    -

    Callback function which will be invoked when an event notification is emitted.

    -
    -
    -
    param
    -

    Class representing the event which occurred.

    -
    -
    -
    -
    -

    Type declaration

    - -
    -
    -
    - -

    TableauEventUnregisterFn

    -
    TableauEventUnregisterFn: () => boolean
    - -
    -
    -

    Function which can be invoked to remove an event handler registration. This will be - returned when registering an event and makes unregistering simpler.

    -
    -
    -
    returns
    -

    Whether or not the unregistration was successful.

    -
    -
    -
    -
    -

    Type declaration

    -
      -
    • -
        -
      • (): boolean
      • -
      -
        -
      • -

        Returns boolean

        -
      • -
      -
    • -
    -
    -
    -
    -
    -

    Dashboard Extensions Type aliases

    -
    - -

    DashboardLayoutChangeDetails

    -
    DashboardLayoutChangeDetails: Map<number, Array<DashboardLayoutChange>>
    - -
    -
    -

    Map object that is used for the DashboardLayoutChangedEvent.

    -
    -
    -
    -
    - -

    DashboardObjectPositionAndSizeUpdateArray

    -
    DashboardObjectPositionAndSizeUpdateArray: Array<DashboardObjectPositionAndSizeUpdate>
    - -
    -
    -

    Array object that can be passed into moveAndResizeDashboardObjects.

    -
    -
    -
    -
    - -

    DashboardObjectVisibilityMap

    -
    DashboardObjectVisibilityMap: Map<number, DashboardObjectVisibilityType>
    - -
    -
    -

    Map object that can be passed into setDashboardObjectVisibilityAsync.

    -
    -
    -
    -
    - -

    ZoneVisibilityMap

    -
    ZoneVisibilityMap: Map<number, ZoneVisibilityType> | object
    - -
    -
    -

    Map object that can be passed into setZoneVisibilityAsync.

    -
    -
    -
    deprecated
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/imgs/.gitkeep b/docs/imgs/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/imgs/gallery_card_example.png b/docs/imgs/gallery_card_example.png deleted file mode 100644 index 8f909b94..00000000 Binary files a/docs/imgs/gallery_card_example.png and /dev/null differ diff --git a/docs/imgs/gallery_page_example.png b/docs/imgs/gallery_page_example.png deleted file mode 100644 index 88e2f89e..00000000 Binary files a/docs/imgs/gallery_page_example.png and /dev/null differ diff --git a/docs/imgs/trex.png b/docs/imgs/trex.png deleted file mode 100644 index 7b74e6f6..00000000 Binary files a/docs/imgs/trex.png and /dev/null differ diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index 8cf181a5..00000000 --- a/docs/index.html +++ /dev/null @@ -1,440 +0,0 @@ - - - - - - Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Tableau Extensions

    -
    -
    -
    -
    -
    -
    -
    - -

    Tableau Extensions API

    -
    -

    The Tableau Extensions API is a JavaScript library that is organized into namespaces that contain - the classes and methods for communicating with Tableau components. The Tableau Extensions API - library supports both dashboard extensions and viz extensions (only available in beta), although not - all interfaces and methods apply to both extensions. For an overview of how the API is organized, - see Tableau Extensions API Basics.

    -
    - Note: To see all the methods and properties for the Extensions API interfaces, select the Inherited option in the upper-right corner of your browser window. This option shows any methods and properties inherited from base classes. -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NamespaceDescription
    TableauThe top-level or global namespace is the tableau namespace, which has no constructs, but contains the extensions namespace. You use the tableau namespace to access the extensions. For example, you call tableau.extensions.initializeAsync() to initialize the API.
    ExtensionsThe extensions namespace is the namespace for Tableau extensions. A dashboard extension is one type of extension. A dashboard extension has access to the dashboardContent namespace, and all of the objects and classes of the dashboard. Some namespaces, like the settings, environment, and ui are available to all extensions.
    DashboardContent(Available to dashboard extensions only) The dashboardContent provides access to the dashboard object. When you have the dashboard object, you have access to all elements in the dashboard, including the worksheets, marks, filters, parameters, and data sources. For example, to access the worksheets in a dashboard (after initialization), you might have a line of code that looks like the following:
    const worksheets = tableau.extensions.dashboardContent.dashboard.worksheets
    WorksheetContent(Available to viz extensions beta only) The worksheetContent provides access to the worksheet object. When you have the worksheet object, you have access to all elements in the worksheet, including the worksheets, marks, filters, parameters, and data sources. For example, to access the worksheet in a workbook (after initialization), you might have a line of code that looks like the following:
    const worksheet = tableau.extensions.worksheetContent
    SettingsThe settings namespace provides methods to get and set values which will be persisted in a workbook. You can use the settings to configure an extension.
    EnvironmentThe environment namespace provides methods to programmatically gather information about the environment in which the extension is running.
    UIThe ui namespace provides methods for an extension to display a popup dialog window.
    - -

    Dashboard extensions

    -
    -

    The following diagram shows the relationship between the extensions namespace and the worksheets in - the dashboard. For more information, see Tableau Extensions API Basics.

    -

    Extensions API namespace hierarchy

    -
    - -

    Viz extensions (available in beta only)

    -
    -

    The following diagram shows the relationship between the extensions namespace and the worksheets in - the workbook. For more information, see Tableau Extensions API Basics.

    -

    Viz Extensions API namespace hierarchy

    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/annotation.html b/docs/interfaces/annotation.html deleted file mode 100644 index 492efc59..00000000 --- a/docs/interfaces/annotation.html +++ /dev/null @@ -1,300 +0,0 @@ - - - - - - Annotation | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface Annotation

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Represents an annotation in a worksheet.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - Annotation -
    • -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Properties

    -
    - -

    annotationHTML

    -
    annotationHTML: string
    - -
    -
    -
    returns
    -

    The formatted annotation as a HTML string. HTML is currently not accepted when adding an annotation.

    -
    -
    -
    -
    -
    - -

    annotationId

    -
    annotationId: number
    - -
    -
    -
    returns
    -

    Unique id representing the annotation.

    -
    -
    -
    -
    -
    - -

    annotationText

    -
    annotationText: string
    - -
    -
    -
    returns
    -

    The plain text of the annotation.

    -
    -
    -
    -
    -
    - -

    annotationType

    -
    annotationType: AnnotationType
    - -
    -
    -
    returns
    -

    The annotation type.

    -
    -
    -
    -
    -
    - -

    tupleId

    -
    tupleId: number
    - -
    -
    -
    returns
    -

    Unique tuple representing the mark that is being annotated. The tupleId will be 0 for Area or Point annotations.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/categoricaldomain.html b/docs/interfaces/categoricaldomain.html deleted file mode 100644 index d8f197a1..00000000 --- a/docs/interfaces/categoricaldomain.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - CategoricalDomain | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface CategoricalDomain

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The domain of a categorical filter

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - CategoricalDomain -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    type

    - - -
    -
    -
    returns
    -

    the domain type (relevant, all)

    -
    -
    -
    -
    -
    - -

    values

    -
    values: Array<DataValue>
    - -
    -
    -
    returns
    -

    the list of values in the domain of the filter

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/categoricalfilter.html b/docs/interfaces/categoricalfilter.html deleted file mode 100644 index 59fd3be3..00000000 --- a/docs/interfaces/categoricalfilter.html +++ /dev/null @@ -1,500 +0,0 @@ - - - - - - CategoricalFilter | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface CategoricalFilter

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    A Categorical Filter

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - Filter -
        -
      • - CategoricalFilter -
      • -
      -
    • -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Properties

    -
    - -

    appliedValues

    -
    appliedValues: Array<DataValue>
    - -
    -
    -
    returns
    -

    A list of values applied to this categorical filter. Notice that if this is a - dependent filter, the current relavent values can be fetched by calling - getDomainAsync(tableau.FilterDomainType.Relevant).

    -
    -
    -
    -
    -
    - -

    fieldId

    -
    fieldId: string
    - -
    -
    -
    returns
    -

    The id of the field being filtered.

    -
    -
    -
    -
    -
    - -

    fieldName

    -
    fieldName: string
    - -
    -
    -
    returns
    -

    The name of the field being filtered. Note that this is the caption - as shown in the UI, and not the actual database field name.

    -
    -
    -
    -
    -
    - -

    filterType

    -
    filterType: FilterType
    - -
    -
    -
    returns
    -

    The type of the filter.

    -
    -
    -
    -
    -
    - -

    Optional isAllSelected

    -
    isAllSelected: undefined | false | true
    - -
    -
    -
    returns
    -

    True if all the values are selected for this filter. When 'All' is selected, - appliedValues returns an empty list.

    -

    This field is available in Tableau 2019.2 or later

    -
    -
    -
    -
    -
    - -

    isExcludeMode

    -
    isExcludeMode: boolean
    - -
    -
    -
    returns
    -

    True if this filter is an exclude filter, false if an include filter.

    -
    -
    -
    -
    -
    - -

    worksheetName

    -
    worksheetName: string
    - -
    -
    -
    returns
    -

    The parent worksheet.

    -
    -
    -
    -
    -
    -
    -

    Methods

    -
    - -

    getAppliedWorksheetsAsync

    -
      -
    • getAppliedWorksheetsAsync(): Promise<Array<string>>
    • -
    -
      -
    • - -
      -
      -
      since
      -

      1.9.0 and Tableau 2022.2

      -
      -
      -
      -

      Returns Promise<Array<string>>

      -

      the list of worksheet names that have the filter applied.

      -
    • -
    -
    -
    - -

    getDomainAsync

    - -
      -
    • - -
      -
      -

      Parameters

      - -

      Returns Promise<CategoricalDomain>

      -

      a promise containing the categorical domain for the filter. Note if a filter contains - multiple fields (such as a filter action with multiple fields), the values array in the returned - CategoricalDomain (CategoricalDomain.values) will be empty. If there are multiple fields - in the filter, the results need to be represented by a table, which is not currently supported.

      -
    • -
    -
    -
    - -

    getFieldAsync

    -
      -
    • getFieldAsync(): Promise<Field>
    • -
    -
      -
    • - -
      -
      -
      since
      -

      1.5.0 Fixed to properly return the field. Also requires Tableau 2019.2+.

      -
      -
      -
      -

      Returns Promise<Field>

      -

      a promise containing the field for the filter.

      -
    • -
    -
    -
    - -

    setAppliedWorksheetsAsync

    -
      -
    • setAppliedWorksheetsAsync(applyToWorksheets: Array<string>): Promise<Array<string>>
    • -
    -
      -
    • - -
      -
      -

      Applies the filter to the specified list of worksheets. - If the worksheet(s) do not exist or do not contain the field in their data sources, an exception is thrown.

      -
      -
      -
      since
      -

      1.9.0 and Tableau 2022.2

      -
      -
      -
      -

      Parameters

      -
        -
      • -
        applyToWorksheets: Array<string>
        -
        -

        list of worksheets to apply the filter on

        -
        -
      • -
      -

      Returns Promise<Array<string>>

      -

      the list of worksheet names that have the filter applied

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/column.html b/docs/interfaces/column.html deleted file mode 100644 index 522a243d..00000000 --- a/docs/interfaces/column.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - Column | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface Column

    -
    -
    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - Column -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    dataType

    -
    dataType: DataType
    - -
    -
    -
    returns
    -

    The data type of the column. Possible values are - float, integer, string, boolean, date, datetime and spatial

    -
    -
    -
    -
    -
    - -

    fieldId

    -
    fieldId: string
    - -
    -
    -
    returns
    -

    The fieldId of the field in the column. In summary data, this includes the aggregation. - The fieldId is not stable across replacing data sources. - For example after replacing the data source [Clipboard_20210305T164000].[sum:Sales:qk] could become - [federated.12usuoq1171o1b1ebdyh60fjnev1].[sum:Sales:qk].

    -
    -
    since
    -

    1.5.0

    -
    -
    -
    -
    -
    - -

    fieldName

    -
    fieldName: string
    - -
    -
    -
    returns
    -

    The name of the field in the column. In summary data, this includes the aggregation. - The summary data field name is not stable across languages. - For example, in an English version of Tableau, the field name might be SUM(Sales). In French, this would be SOMME(Sales).

    -
    -
    -
    -
    -
    - -

    index

    -
    index: number
    - -
    -
    -
    returns
    -

    The number of rows in the returned data.

    -
    -
    -
    -
    -
    - -

    isReferenced

    -
    isReferenced: boolean
    - -
    -
    -
    returns
    -

    Whether the column data is referenced in the visualization.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/connectionsummary.html b/docs/interfaces/connectionsummary.html deleted file mode 100644 index db2fa7d4..00000000 --- a/docs/interfaces/connectionsummary.html +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - ConnectionSummary | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface ConnectionSummary

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Represents a connection within a datasource (ex: A SQL Server connection). - A data source can be composed of one or more connections.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - ConnectionSummary -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    id

    -
    id: string
    - -
    -
    -
    returns
    -

    Unique string representing this connection.

    -
    -
    -
    -
    -
    - -

    name

    -
    name: string
    - -
    -
    -
    returns
    -

    The name of the connection (i.e. the caption).

    -
    -
    -
    -
    -
    - -

    serverURI

    -
    serverURI: string | undefined
    - -
    -
    -
    returns
    -

    The URI to which the connection is pointing, if applicable. - If a data source is a published data source, the URI is returned - as localhost.

    -
    -
    -
    -
    -
    - -

    type

    -
    type: string
    - -
    -
    -
    returns
    -

    The type of the connection (i.e. SQL Server, web data connector).

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/dashboard.html b/docs/interfaces/dashboard.html deleted file mode 100644 index 00acf240..00000000 --- a/docs/interfaces/dashboard.html +++ /dev/null @@ -1,908 +0,0 @@ - - - - - - Dashboard | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface Dashboard

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The Dashboard interface inherits from the Sheet interface.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - Sheet -
        -
      • - Dashboard -
      • -
      -
    • -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Properties

    -
    - -

    activeDashboardName

    -
    activeDashboardName: string
    - -
    -
    -
    returns
    -

    The name of the active dashboard.

    -
    -
    -
    -
    -
    - -

    activeDashboardObjectId

    -
    activeDashboardObjectId: number
    - -
    -
    -
    returns
    -

    The ID of the active object in the dashboard.

    -
    -
    -
    -
    -
    - -

    name

    -
    name: string
    - -
    -
    -
    returns
    -

    The name of the sheet.

    -
    -
    -
    -
    -
    - -

    objects

    -
    objects: Array<DashboardObject>
    - -
    -
    -
    returns
    -

    The collection of objects contained in the dashboard.

    -
    -
    -
    -
    -
    - -

    sheetType

    -
    sheetType: SheetType
    - -
    -
    -
    returns
    -

    The type of the sheet.

    -
    -
    -
    -
    -
    - -

    size

    -
    size: Size
    - -
    -
    -
    returns
    -

    Size of the sheet.

    -
    -
    -
    -
    -
    - -

    worksheets

    -
    worksheets: Array<Worksheet>
    - -
    -
    -

    This is a helper method and is equivalent to looping - through all of the objects in a dashboard and collecting all of the objects - whose type is worksheet. You can use this property to iterate - through all of the worksheets in the dashboard.

    -
    -
    -
    returns
    -

    The collection of worksheets contained in the dashboard.

    -

    The following example uses the JavaScript forEach() method to traverse - the worksheets in the dashboard. -

    -
       let dashboard = tableau.extensions.dashboardContent.dashboard;
    -   dashboard.worksheets.forEach(function (worksheet) {
    -    // do something with the worksheets..
    -      console.log("The worksheet name is " + worksheet.name)
    -    });
    -
    -
    -
    -
    -
    -
    -

    Methods

    -
    - -

    addEventListener

    - -
      -
    • - -
      -
      -

      Adds a new event listener to the object. If this object does not support the specified eventType, - the method throws an exception. - The following table shows the event types supported by objects.

      -
      - - - - - - - - - - - - - - - - - - - - - - - -
      objecteventType
      WorksheetFilterChanged , MarkSelectionChanged, SummaryDataChanged
      ParameterParameterChanged
      SettingsSettingsChanged
      DashboardDashboardLayoutChanged, WorkbookFormattingChanged
      -
      -

      Parameters

      -
        -
      • -
        eventType: TableauEventType
        -
        -

        The type of event to register for. The type of event is a TableauEventType enumeration.

        -
        -
      • -
      • -
        handler: TableauEventHandlerFn
        -
        -

        The function which will be called when an event happens.

        -
        -
      • -
      -

      Returns TableauEventUnregisterFn

      -

      A helper function which can be called to remove this registration.

      -

      The following example sets up a listener in a worksheet for a mark selection event (MarkSelectionChanged). - When the event occurs, the data is reloaded. The addEventListener method returns a function that un-registers - the event handler. Call that function, in this case, unregisterEventHandlerFunction() to remove the registration.

      -
      // Add an event listener for the selection changed event on this sheet.
      -// Assigning the event to a variable just to make the example fit on the page here.
      -const markSelection = tableau.TableauEventType.MarkSelectionChanged;
      -//
      -unregisterEventHandlerFunction = worksheet.addEventListener(markSelection, function (selectionEvent) {
      -// When the selection changes, reload the data
      -loadSelectedMarks(worksheetName);
      -});
      -
      -// remove the event listener when done
      - unregisterEventHandlerFunction();
      -
      -
    • -
    -
    -
    - -

    applyFilterAsync

    - -
      -
    • - -
      -
      -

      Applies a simple categorical filter (non-date) to the dashboard. - This method is similar to the method used for worksheets, but applies the filter to all the worksheets in the dashboard that have that same field. - Note that the filter is ignored by a worksheet if the worksheet doesn't have the relevant field in its data source.

      -
      -
      -
      since
      -

      1.9.0 and Tableau 2022.2

      -
      -
      -
      -

      Parameters

      -
        -
      • -
        fieldName: string
        -
        -

        The name of the field to filter on.

        -
        -
      • -
      • -
        values: Array<string>
        -
        -

        The list of values to filter on.

        -
        -
      • -
      • -
        updateType: FilterUpdateType
        -
        -

        The update type of this filter (add, all, remove, replace).

        -
        -
      • -
      • -
        filterOptions: FilterOptions
        -
        -

        Advanced filter options (isExcludeMode).

        -
        -
      • -
      -

      Returns Promise<string>

      -

      The field name that the filter is applied on.

      -
    • -
    -
    -
    - -

    findParameterAsync

    -
      -
    • findParameterAsync(parameterName: string): Promise<Parameter | undefined>
    • -
    -
      -
    • - -
      -
      -

      Searches for a parameter with the given name.

      -
      -
      -

      Parameters

      -
        -
      • -
        parameterName: string
        -
        -

        The name of the parameter to find.

        -
        -
      • -
      -

      Returns Promise<Parameter | undefined>

      -

      The parameter with the given name, or undefined if it does not exist.

      -
    • -
    -
    -
    - -

    getDashboardObjectById

    -
      -
    • getDashboardObjectById(dashboardObjectId: number): DashboardObject | undefined
    • -
    -
      -
    • - -
      -
      -

      Gets the specified dashboard object by its id. If a dashboard object is not found this method returns undefined.

      -
      -
      -
      since
      -

      1.7.0 and Tableau 2021.4

      -

      The following example shows how you can get a dashboard object using its id. -

      -
        var dashboard = tableau.extensions.dashboardContent.dashboard;
      -  var myDashboardObject = dashboard.getDashboardObjectById(8);
      -
      -
      -

      Parameters

      -
        -
      • -
        dashboardObjectId: number
        -
        -

        The id of an object on the dashboard.

        -
        -
      • -
      -

      Returns DashboardObject | undefined

      -

      The dashboard object with that id. Returns undefined if the dashboard object is not found.

      -
    • -
    -
    -
    - -

    getFiltersAsync

    -
      -
    • getFiltersAsync(): Promise<Array<Filter>>
    • -
    -
      -
    • - -
      -
      -
      since
      -

      1.9.0 and Tableau 2022.2

      -
      -
      -
      -

      Returns Promise<Array<Filter>>

      -

      The collection of filters used on the dashboard

      -
    • -
    -
    -
    - -

    getParametersAsync

    -
      -
    • getParametersAsync(): Promise<Array<Parameter>>
    • -
    -
      -
    • - -
      -
      -

      Returns Promise<Array<Parameter>>

      -

      A collection of all the Tableau parameters that are used in this workbook.

      -
    • -
    -
    -
    - -

    moveAndResizeDashboardObjectsAsync

    - -
      -
    • - -
      -
      -

      Sets the position and size of one or more floating dashboard objects. - Throws an error if the dashboard object is invalid

      -
      -
      -
      since
      -

      1.7.0 and Tableau 2021.4

      -

      The following example shows how you can update the position and size of multiple (valid, floating) dashboard objects in a dashboard -

      -
        let dashboardObjectPositionAndSizeUpdateArray = [];
      -  let dashboardObjectPositionAndSizeUpdate1 = {
      -    dashboardObjectID: 1,
      -    x: 0,
      -    y: 0,
      -    width: 50,
      -    height: 50
      -  };
      -  let dashboardObjectPositionAndSizeUpdate2 = {
      -    dashboardObjectID: 2,
      -    x: 75,
      -    y: 75,
      -    width: 60,
      -    height: 60
      -  };
      -  dashboardObjectPositionAndSizeUpdateArray.push(dashboardObjectPositionAndSizeUpdate1, dashboardObjectPositionAndsizeUpdate2);
      -  tableau.extensions.dashboardContent.dashboard.moveAndResizeDashboardObjectsAsync(dashboardObjectPositionAndSizeUpdateArray)
      -  .then(() => {
      -    console.log("done");
      -  });
      -
      -
      -

      Parameters

      - -

      Returns Promise<void>

      -

      Empty promise that resolves when the position and size of the dashboard objects have been changed.

      -
    • -
    -
    -
    - -

    removeEventListener

    - -
      -
    • - -
      -
      -

      Removes an event listener if a matching one is found. If no matching listener exists, the method does nothing. - The handler function must the handler function specified in the call to the addEventListener method. Alternatively, use the function - returned from the call to addEventListener to unregister the event listener. - For more information, see Events and Event Handling.

      -
      -
      -

      Parameters

      - -

      Returns boolean

      -

      Whether or not an event listener was removed.

      -
    • -
    -
    -
    - -

    replayAnimationAsync

    - -
      -
    • - -
      -
      -

      Replays an animation for the active sheet - Throws an error if the replay speed is invalid

      -
      -
      -
      since
      -

      1.7.0 and Tableau 2021.4

      -

      The following example shows how you can replay an animation in a dashboard. -

      -
        let replaySpeed = tableau.ReplaySpeedType.Normal;
      -  tableau.extensions.dashboardContent.dashboard.replayAnimationAsync(replaySpeed).then(() => {
      -    console.log("done");
      -  });
      -
      -
      -

      Parameters

      - -

      Returns Promise<void>

      -

      Empty promise that resolves when the animation has been replayed.

      -
    • -
    -
    -
    - -

    setDashboardObjectVisibilityAsync

    - -
      -
    • - -
      -
      -

      Sets the visibility of one or more dashboard objects. - Throws an error if the dashboard object is invalid

      -
      -
      -
      since
      -

      1.7.0 and Tableau 2021.4

      -

      The following example shows how you can update the visibility of multiple valid dashboard objects -

      -
        var dashboardObjectVisibilityMap = new Map();
      -  dashboardObjectVisibilityMap.set(10, tableau.DashboardObjectVisibilityType.Show);
      -  dashboardObjectVisibilityMap.set(8, tableau.DashboardObjectVisibilityType.Hide);
      -  var dashboard = tableau.extensions.dashboardContent.dashboard;
      -  dashboard.setDashboardObjectVisibilityAsync(dashboardObjectVisibilityMap).then(() => {
      -    console.log("done");
      -  });
      -
      -
      -
      -

      Parameters

      -
        -
      • -
        dashboardObjectVisibilityMap: DashboardObjectVisibilityMap
        -
        -

        A map of dashboard object ids to its desired state of visibility.

        -
        -
      • -
      -

      Returns Promise<void>

      -

      Empty promise that resolves when the visibility has been changed.

      -
    • -
    -
    -
    - -

    setZoneVisibilityAsync

    - -
      -
    • - -
      -
      -

      Sets the visibility of one or more floating dashboard zones. - Throws an error if the zone is invalid

      -
      -
      -
      since
      -

      1.1.0

      -
      -
      deprecated
      -

      use setDashboardObjectVisibilityAsync

      -

      The following example shows how you can update the visibility of multiple (valid, floating) zones in a dashboard -

      -
        var zoneVisibilityMap = {};
      -  zoneVisibilityMap[10] =  tableau.ZoneVisibilityType.Show;
      -  zoneVisibilityMap[8] =  tableau.ZoneVisibilityType.Hide;
      -  tableau.extensions.dashboardContent.dashboard.setZoneVisibilityAsync(zoneVisibilityMap).then(() => {
      -    console.log("done");
      -  });
      -
      -
      since
      -

      1.4.0 The zoneVisibilityMap can be either an untyped object, or a Map.

      -
        var zoneVisibilityMap = new Map;
      -  zoneVisibilityMap.set(10, tableau.ZoneVisibilityType.Show);
      -  zoneVisibilityMap.set(8, tableau.ZoneVisibilityType.Hide);
      -
      since
      -

      1.5.0 The zone can be any zone in the dashboard.

      -
      -
      -
      -

      Parameters

      -
        -
      • -
        zoneVisibilityMap: ZoneVisibilityMap
        -
        -

        A map of zone ids to the desired state of visibility for that zone.

        -
        -
      • -
      -

      Returns Promise<void>

      -

      Empty promise that resolves when the visibility has been changed.

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/dashboardcontent.html b/docs/interfaces/dashboardcontent.html deleted file mode 100644 index c2800919..00000000 --- a/docs/interfaces/dashboardcontent.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - DashboardContent | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface DashboardContent

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The DashboardContent namespace is the namespace associated with Dashboard Extensions. - The DashboardContent namespace contains the Dashboard interface. Use the Dashboard Interface to - access dashboard objects, worksheets, and parameters, and to add or remove event listeners.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - DashboardContent -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    dashboard

    -
    dashboard: Dashboard
    - -
    -
    -
    returns
    -

    The dashboard object representing the Tableau - dashboard where the extension is running.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/dashboardlayoutchangedevent.html b/docs/interfaces/dashboardlayoutchangedevent.html deleted file mode 100644 index 6988e5da..00000000 --- a/docs/interfaces/dashboardlayoutchangedevent.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - DashboardLayoutChangedEvent | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface DashboardLayoutChangedEvent

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    An event which is raised when the dashboard objects are modified. - Should be listened for directly from the tableau.extensions.dashboardContent.dashboard object.

    -
    -
    -
    since
    -

    1.7.0 and Tableau 2021.4

    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - TableauEvent -
        -
      • - DashboardLayoutChangedEvent -
      • -
      -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    dashboardLayoutChangeDetails

    -
    dashboardLayoutChangeDetails: DashboardLayoutChangeDetails
    - -
    -
    -
    returns
    -

    a map of dashboard object id's to an array of dashboard object layout changes

    -
    -
    -
    -
    -
    - -

    type

    - - -
    -
    -
    returns
    -

    The type of event which this class is representing.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/dashboardobject.html b/docs/interfaces/dashboardobject.html deleted file mode 100644 index 864f4b6b..00000000 --- a/docs/interfaces/dashboardobject.html +++ /dev/null @@ -1,417 +0,0 @@ - - - - - - DashboardObject | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface DashboardObject

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    An object of a dashboard.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - DashboardObject -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    dashboard

    -
    dashboard: Dashboard
    - -
    -
    -
    returns
    -

    The Dashboard object that contains this object.

    -
    -
    -
    -
    -
    - -

    fieldId

    -
    fieldId: string | undefined
    - -
    -
    -
    returns
    -

    The field id of the dashboard object if it is a QuickFilter

    -
    -
    -
    -
    -
    - -

    id

    -
    id: number
    - -
    -
    -
    returns
    -

    The id of the dashboard object

    -
    -
    since
    -

    1.1.0

    -
    -
    -
    -
    -
    - -

    isFloating

    -
    isFloating: boolean
    - -
    -
    -
    returns
    -

    True if the object is floating in the dashboard.

    -
    -
    since
    -

    1.1.0

    -
    -
    -
    -
    -
    - -

    isVisible

    -
    isVisible: boolean
    - -
    -
    -
    returns
    -

    True if the object is visible.

    -
    -
    since
    -

    1.1.0

    -
    -
    -
    -
    -
    - -

    name

    -
    name: string
    - -
    -
    -
    returns
    -

    The name of the dashboard object. This is the name given to the object during authoring.

    -
    -
    since
    -

    1.1.0

    -
    -
    -
    -
    -
    - -

    position

    -
    position: Point
    - -
    -
    -
    returns
    -

    The coordinates relative to the top-left corner of the dashboard containing this object.

    -
    -
    -
    -
    -
    - -

    size

    -
    size: Size
    - -
    -
    -
    returns
    -

    The size of the object.

    -
    -
    -
    -
    -
    - -

    type

    - - -
    -
    -
    returns
    -

    What the object represents.

    -
    -
    -
    -
    -
    - -

    worksheet

    -
    worksheet: Worksheet | undefined
    - -
    -
    -
    returns
    -

    If type returns WORKSHEET or QUICKFILTER, this returns a Worksheet object, undefined otherwise.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/dashboardobjectpositionandsizeupdate.html b/docs/interfaces/dashboardobjectpositionandsizeupdate.html deleted file mode 100644 index 18a38733..00000000 --- a/docs/interfaces/dashboardobjectpositionandsizeupdate.html +++ /dev/null @@ -1,300 +0,0 @@ - - - - - - DashboardObjectPositionAndSizeUpdate | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface DashboardObjectPositionAndSizeUpdate

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    An object to specify a dashboard object and its new position and size in a dashboard.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - DashboardObjectPositionAndSizeUpdate -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    dashboardObjectID

    -
    dashboardObjectID: number
    - -
    -
    -
    returns
    -

    dashboard object ID

    -
    -
    -
    -
    -
    - -

    height

    -
    height: number
    - -
    -
    -
    returns
    -

    height

    -
    -
    -
    -
    -
    - -

    width

    -
    width: number
    - -
    -
    -
    returns
    -

    width

    -
    -
    -
    -
    -
    - -

    x

    -
    x: number
    - -
    -
    -
    returns
    -

    X coordinate

    -
    -
    -
    -
    -
    - -

    y

    -
    y: number
    - -
    -
    -
    returns
    -

    Y coordinate

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/datasource.html b/docs/interfaces/datasource.html deleted file mode 100644 index d33b1d0f..00000000 --- a/docs/interfaces/datasource.html +++ /dev/null @@ -1,570 +0,0 @@ - - - - - - DataSource | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface DataSource

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Represents the data source used by a Worksheet.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - DataSource -
    • -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Properties

    -
    - -

    extractUpdateTime

    -
    extractUpdateTime: string | undefined
    - -
    -
    -
    returns
    -

    Last update time of the data source's extract, or undefined if this data source is live.

    -
    -
    -
    -
    -
    - -

    fields

    -
    fields: Array<Field>
    - -
    -
    -
    returns
    -

    An array of fields associated with this data source.

    -
    -
    -
    -
    -
    - -

    id

    -
    id: string
    - -
    -
    -
    returns
    -

    Unique string representing this data source.

    -
    -
    -
    -
    -
    - -

    isExtract

    -
    isExtract: boolean
    - -
    -
    -
    returns
    -

    True if this data source is an extract, false otherwise.

    -
    -
    -
    -
    -
    - -

    isPublished

    -
    isPublished: boolean | undefined
    - -
    -
    -
    returns
    -

    True if this data source is published to server, false otherwise. Always undefined prior to Tableau 2021.4.

    -
    -
    since
    -

    1.7.0 and Tableau 2021.4

    -
    -
    -
    -
    -
    - -

    name

    -
    name: string
    - -
    -
    -
    returns
    -

    The user friendly name of the data source as seen in the UI.

    -
    -
    -
    -
    -
    -
    -

    Methods

    -
    - -

    getActiveTablesAsync

    - -
      -
    • - -
      -
      -
      throws
      -

      UnsupportedMethodForDataSourceType error if this method is called on a Cube DataSource or GA.

      -
      -
      deprecated
      -

      since version 1.4.0. Use DataSource.getLogicalTablesAsync.

      -
      -
      -
      -

      Returns Promise<Array<TableSummary>>

      -

      An array of table summary objects that are currently used in the data source.

      -
    • -
    -
    -
    - -

    getConnectionSummariesAsync

    - -
      -
    • - -
      -
      -

      Returns Promise<Array<ConnectionSummary>>

      -

      An array of descriptions of the connections within this data source.

      -
    • -
    -
    -
    - -

    getLogicalTableDataAsync

    - -
      -
    • - -
      -
      -

      Gets the underlying data table for the given logical table id.

      -
      -
      -
      see
      -

      getLogicalTableDataReaderAsync to read more than 10,000 rows.

      -

      You can use the getUnderlyingDataOptions.maxRows property to request the number of rows of data to return. - If unspecified (maxRows == '0'), the call to getLogicalTableDataAsync requests all rows in the logical table. - Note that the maximum number of rows returned from the getLogicalTableDataAsync() method is limited - to 10,000 rows. You can use the DataTable property, isTotalRowCountLimited, to test whether there is - more data. A value of true indicates that the calling function requested more rows than the limit (10,000) and the - underlying data source contains more rows than can be returned.

      -

      The following example shows use of the getLogicalTableDataAsync() method to get the data from a specific logical table in a data source. - The example uses the JavaScript find() method to select the workbook, and uses the getLogicalTablesAsync method to identify the logical table id.

      -
      const dataSources = await worksheet.getDataSourcesAsync();
      -const dataSource = dataSources.find(datasource => datasource.name === "Sample - Superstore");
      -const logicalTables = await dataSource.getLogicalTablesAsync()
      -const dataTable = await dataSource.getLogicalTableDataAsync(logicalTables[0].id);
      -console.log(dataTable);
      -
      -
      -

      Parameters

      - -

      Returns Promise<DataTable>

      -

      A data table containing the underlying data of the data source.

      -
    • -
    -
    -
    - -

    getLogicalTablesAsync

    - -
      -
    • - -
      -
      -

      Gets the underlying logical tables used in the data source.

      -
      -
      -
      since
      -

      1.4.0

      -
      -
      -
      -

      Returns Promise<Array<LogicalTable>>

      -

      An array of logical tables that are currently used in the data source.

      -

      The following example uses the getLogicalTablesAsync method to print the names of the - the logical tables to the console.

      -
      dataSource.getLogicalTablesAsync().then(function (logicalTables) {
      -  // Loop through each table that was used in creating this data source
      -  logicalTables.forEach(function (table) {
      -     console.log(table.caption);
      -  });
      -});
      -
    • -
    -
    -
    - -

    getUnderlyingDataAsync

    - -
      -
    • - -
      -
      -
      deprecated
      -

      Use DataSource.getLogicalTableDataReaderAsync or DataSource.getLogicalTableDataAsync.

      -
      -
      -
      -

      Parameters

      - -

      Returns Promise<DataTable>

      -

      Returns a promise containing a page of data from the underlying data of the data source.

      -

      The following example shows use of the getUnderlyingDataAsync() method to get the underlying data from a specific data source. - The example uses the JavaScript find() method to select the workbook and data source.

      -
      const dataSources = await worksheet.getDataSourcesAsync();
      -const dataSource = dataSources.find(datasource => datasource.name === "Sample - Superstore");
      -const dataTable = await dataSource.getUnderlyingDataAsync();
      -let field = dataTable.columns.find(column => column.fieldName === "Sub-Category");
      -let list = [];
      -for (let row of dataTable.data) {
      -    list.push(row[field.index].value);
      -}
      -let values = list.filter((el, i, arr) => arr.indexOf(el) === i);
      -console.log(values);
      -
      -
    • -
    -
    -
    - -

    refreshAsync

    -
      -
    • refreshAsync(): Promise<void>
    • -
    -
      -
    • - -
      -
      -

      This call has the same functionality as clicking the Refresh option on a data source in - Tableau. This does not refresh an extract.

      -
      -

      Note: The refreshAsync() method is intended to be used in scenarios where manual - interaction causes a need to refresh the data in the Tableau visualization. The method is not, - as currently designed, meant to support or emulate streaming or live visualizations. - Extensions that use the method to refresh aggressively or automatically - can cause issues on Tableau Server and Tableau Online and are subject to being blocked - by the Tableau Online administrator.

      -

      This call does not currently support refreshing live Google Sheet data sources.

      -
      -

      Returns Promise<void>

      -

      Promise that resolves when the data source has finished refreshing.

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/datasourceunderlyingdataoptions.html b/docs/interfaces/datasourceunderlyingdataoptions.html deleted file mode 100644 index ddd40051..00000000 --- a/docs/interfaces/datasourceunderlyingdataoptions.html +++ /dev/null @@ -1,309 +0,0 @@ - - - - - - DataSourceUnderlyingDataOptions | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface DataSourceUnderlyingDataOptions

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Configuration object for fetching data from an data source object.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - DataSourceUnderlyingDataOptions -
    • -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Properties

    -
    - -

    Optional columnsToInclude

    -
    columnsToInclude: Array<string>
    - -
    -
    -

    The columns to return specified by field name, returns all by default.

    -
    -
    -
    -
    - -

    Optional columnsToIncludeById

    -
    columnsToIncludeById: Array<string>
    - -
    -
    -

    The columns to return specified by field id, returns all by default. - Since 1.5.0, fieldId is a property of the Column object.

    -
    -
    -
    since
    -

    1.5.0

    -
    -
    -
    -
    -
    - -

    Optional ignoreAliases

    -
    ignoreAliases: undefined | false | true
    - -
    -
    -

    Do not use aliases specified in the data source in Tableau. Default is false.

    -
    -
    -
    -
    - -

    Optional includeDataValuesOption

    -
    includeDataValuesOption: IncludeDataValuesOption
    - -
    -
    -

    Specify which properties to return in DataValues. The default is IncludeDataValuesOption.AllValues. - All properties not requested will be undefined in the DataValue results. - This is a performance optimization only, and will be ignored in Tableau versions prior to 2021.2.

    -
    -
    -
    since
    -

    1.5.0

    -
    -
    -
    -
    -
    - -

    Optional maxRows

    -
    maxRows: undefined | number
    - -
    -
    -

    The maximum number of rows to return. 10,000 by default

    -
    -
    -
    since
    -

    1.10.0 and Tableau 2022.4 Consider using a DataTableReader returned by one of the get...DataReaderAsync methods - to avoid the 10,000 row limit.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/datatable.html b/docs/interfaces/datatable.html deleted file mode 100644 index a333a3cd..00000000 --- a/docs/interfaces/datatable.html +++ /dev/null @@ -1,347 +0,0 @@ - - - - - - DataTable | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface DataTable

    -
    -
    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - DataTable -
    • -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Properties

    -
    - -

    columns

    -
    columns: Array<Column>
    - -
    -
    -
    returns
    -

    The column information, including the name, data type, and index..

    -
    -
    -
    -
    -
    - -

    data

    -
    data: Array<Array<DataValue>>
    - -
    -
    -
    returns
    -

    A two-dimensional array of data without the sheet or column - metadata. The first array index is the row index and the second - array index is the column index.

    -
    -
    -
    -
    -
    - -

    Optional isSummaryData

    -
    isSummaryData: undefined | false | true
    - -
    -
    -
    returns
    -

    Whether the data is summary data or underlying data. - Returns true for summary data.

    -
    -
    -
    -
    -
    - -

    Optional isTotalRowCountLimited

    -
    isTotalRowCountLimited: undefined | false | true
    - -
    -
    -
    returns
    -

    True if the rows returned have been limited to the maximum number of retrievable rows. - A value of true indicates that the caller requested more rows than the limit - and the underlying data source contains more rows than can be returned. - isTotalRowCountLimited can be true in the case of ... - getAllPagesAsync with more than 4,000,000 rows in the summary or underlying data. - getLogicalTableDataAsync or getUnderlyingTableDataAsync with more than 10,000 rows in the data. - In all these cases, limits can be avoided by processing the data in page sized chunks with DataTableReader. - isTotalRowCountLimited is always false in the results of DataTableReader.getPageAsync().

    -
    -
    -
    -
    -
    - -

    Optional marksInfo

    -
    marksInfo: Array<MarkInfo>
    - -
    -
    -
    returns
    -

    An array of information about marks. Each mark in the array corresponds - to a row in the data of this DataTable. MarkInfo is currently only partially - available within results from getSelectedMarksAsync / getMarksAsync.

    -
    -
    -
    -
    -
    - -

    name

    -
    name: string
    - -
    -
    -
    returns
    -

    Either "Underlying Data Table" or "Summary Data Table".

    -
    -
    -
    -
    -
    - -

    totalRowCount

    -
    totalRowCount: number
    - -
    -
    -
    returns
    -

    The number of rows in the returned data.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/datatablereader.html b/docs/interfaces/datatablereader.html deleted file mode 100644 index 06780e63..00000000 --- a/docs/interfaces/datatablereader.html +++ /dev/null @@ -1,393 +0,0 @@ - - - - - - DataTableReader | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface DataTableReader

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    A DataTableReader allows iteration over summary or underlying data by pages. - The page size is established when the DataTableReader is created. - (See getLogicalTableDataReaderAsync, getSummaryDataReaderAsync, or getUnderlyingTableDataReaderAsync.) - The normal sequence of operations would be to

    -
      -
    1. Create the DataTableReader for the desired DataTable.
    2. -
    3. Use DataTableReader.totalRowCount or DataTableReader.pageCount to discover how many rows or pages are in the desired DataTable.
    4. -
    5. Call DataTableReader.getPageAsync() to get the page(s) desired. Each page is a DataTable for that page. - Alternatively, based on the DataTableReader.totalRowCount, DataTableReader.getAllPagesAsync can be used to fetch the entire DataTable.
    6. -
    7. Call DataTableReader.releaseAsync() to free up resources.
    8. -
    -
    -

    Notes for usage of a DataTableReader:

    -
      -
    1. Since DataTableReaders consume server resources, an inactive DataTableReader will be automatically - released after 60 minutes of inactivity. (A new DataTableReader can be created at that time, if needed.)
    2. -
    3. Calling getPageAsync() after an explicit or automatic releaseAsync() will throw an exception.
    4. -
    5. Only one active DataTableReader per logical table id is supported.
    6. -
    7. There are still limits on the number of rows supported for underlying and logical data table readers. - The default limit is approximately 1 million rows of data for getUnderlyingTableDataReaderAsync, - and approximately 32 million cells (rows * columns) for getLogicalTableDataReaderAsync. - Administrators may change these limits to better match computing resources with the Tableau Server (Cloud) or Tableau Desktop options: - ExtensionsAndEmbeddingReaderRowLimit for getUnderlyingTableDataReaderAsync or - ExtensionsAndEmbeddingReaderCellLimit for getLogicalTableDataReaderAsync.
    8. -
    -
    -
    since
    -

    1.10.0 and Tableau 2022.4

    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - DataTableReader -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -

    Methods

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    pageCount

    -
    pageCount: number
    - -
    -
    -
    returns
    -

    The number of pages in the full data table. The last page could be a partial page.

    -
    -
    -
    -
    -
    - -

    totalRowCount

    -
    totalRowCount: number
    - -
    -
    -
    returns
    -

    The number of rows in the full data table.

    -
    -
    -
    -
    -
    -
    -

    Methods

    -
    - -

    getAllPagesAsync

    -
      -
    • getAllPagesAsync(maxRows?: undefined | number): Promise<DataTable>
    • -
    -
      -
    • - -
      -
      -

      Get all the pages of data into a single DataTable. - Calls to getAllPagesAsync() after releaseAsync() will throw an exception. - To protect against possible browser failure, getAllPagesAsync will cap the data at a maximum of 400 pages. - With a default pageRowCount of 10,000 this will give you a maximum of 4,000,000 rows of data.

      -
      -

      If sizes are larger than this, please process your data in page size chunks.

      -
      -

      Parameters

      -
        -
      • -
        Optional maxRows: undefined | number
        -
        -

        Limits the request to maxRows. If maxRows === 0, requests all rows.

        -
        -
      • -
      -

      Returns Promise<DataTable>

      -

      A DataTable containing all the data available to the DataTableReader with the maximum page count above.

      -
      // To simplify the example, we assume we have less than 4m rows of data
      -// Since we are fetching all of the data, use the default page size in getSummaryDataReaderAsync
      -const dataTableReader = await worksheet.getSummaryDataReaderAsync();
      -const dataTable = await dataTableReader.getAllPagesAsync();
      -await dataTableReader.releaseAsync();
      -// ... process the data table ...
      -
    • -
    -
    -
    - -

    getPageAsync

    -
      -
    • getPageAsync(pageNumber: number): Promise<DataTable>
    • -
    -
      -
    • - -
      -
      -

      Get a page of data. The page is returned as a DataTable. - Calls to getPageAsync() after releaseAsync() will throw an exception.

      -
      -
      -

      Parameters

      -
        -
      • -
        pageNumber: number
        -
        -

        The page number (zero-indexed) to fetch. The page number should be treated - like an array index with range: 0 <= pageNumber < pageCount.

        -
        -
      • -
      -

      Returns Promise<DataTable>

      -

      A DataTable containing the requested page. The number of rows returned - can be less than the page size at the end of the data.

      -
      const pageRowCount = 200;
      -const dataTableReader = await worksheet.getSummaryDataReaderAsync(pageRowCount, options);
      -for (let currentPage = 0; currentPage < dataTableReader.pageCount; currentPage++) {
      -  const currentPageDataTable = await dataTableReader.getPageAsync(currentPage);
      -  // ... process current page ...
      -}
      -await dataTableReader.releaseAsync();
      -
    • -
    -
    -
    - -

    releaseAsync

    -
      -
    • releaseAsync(): Promise<void>
    • -
    -
      -
    • - -
      -
      -

      Release all resources held by the DataTableReader. - Calling this when done with the DataTableReader is required practice as it frees up resources. - Calls to getPageAsync() after releaseAsync() will throw an exception.

      -
      -
      -

      Returns Promise<void>

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/datavalue.html b/docs/interfaces/datavalue.html deleted file mode 100644 index 584ae1b5..00000000 --- a/docs/interfaces/datavalue.html +++ /dev/null @@ -1,266 +0,0 @@ - - - - - - DataValue | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface DataValue

    -
    -
    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - DataValue -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    Optional formattedValue

    -
    formattedValue: undefined | string
    - -
    -
    -
    returns
    -

    The value formatted according to the locale and the - formatting applied to the field or parameter.

    -
    -
    -
    -
    -
    - -

    nativeValue

    -
    nativeValue: any
    - -
    -
    -
    since
    -

    1.4.0

    -
    -
    returns
    -

    The raw native value as a JavaScript type, which is - one of string, number, boolean, or Date object. Please note that special - values are returned as null. The actual special value can be found - in formattedValue, which would be something like 'Null', or 'No-Access'. - Using nativeValue can greatly simplify your error checking since all values - will be their native type value or null.

    -
    -
    -
    -
    -
    - -

    value

    -
    value: any
    - -
    -
    -
    since
    -

    1.2.0 Fixes the type to be the raw native value rather than a string.

    -
    -
    returns
    -

    Contains the raw native value as a JavaScript type, which is - one of string, number, boolean, or Date (as a string). Please note that special - values, regardless of type, are always returned as a String surrounded by - percent signs, such as '%null%', or '%no-access%'.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/dialogoptions.html b/docs/interfaces/dialogoptions.html deleted file mode 100644 index 7339ce60..00000000 --- a/docs/interfaces/dialogoptions.html +++ /dev/null @@ -1,250 +0,0 @@ - - - - - - DialogOptions | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface DialogOptions

    -
    -
    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - DialogOptions -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    Optional dialogStyle

    -
    dialogStyle: DialogStyle
    - -
    -
    -

    Specifies the style for the popup dialog.

    -
    -
    -
    since
    -

    1.10.0 and Tableau 2022.4

    -
    -
    -
    -
    -
    - -

    Optional height

    -
    height: undefined | number
    - -
    -
    -

    Specifies the suggested height (in pixels) of the popup dialog. Not guaranteed to be exactly that height.

    -
    -
    -
    -
    - -

    Optional width

    -
    width: undefined | number
    - -
    -
    -

    Specifies the suggested width (in pixels) of dialog to display. Not guaranteed to be exactly that width.

    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/encoding.html b/docs/interfaces/encoding.html deleted file mode 100644 index 1ac69481..00000000 --- a/docs/interfaces/encoding.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - Encoding | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface Encoding

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    since
    -

    1.11.0 - Represents a single field and its associated encoding on a marks card

    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - Encoding -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    field

    - - -
    -
    - -

    id

    -
    id: string
    - -
    -
    - -

    type

    - - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/environment.html b/docs/interfaces/environment.html deleted file mode 100644 index cba9f86b..00000000 --- a/docs/interfaces/environment.html +++ /dev/null @@ -1,430 +0,0 @@ - - - - - - Environment | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface Environment

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The environment namespace provides a way to programmatically gather - information about the environment in which the Extensions is running.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - Environment -
    • -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Properties

    -
    - -

    apiVersion

    -
    apiVersion: string
    - -
    -
    -
    returns
    -

    The version of the API being used by the Extensions.

    -
    -
    -
    -
    -
    - -

    context

    - - -
    -
    -
    returns
    -

    Current context in which the Extensions is running (i.e. Desktop or Server).

    -
    -
    -
    -
    -
    - -

    Optional country

    -
    country: undefined | string
    - -
    -
    -
    returns
    -

    The country of the Tableau instance that is running the Extension. - The country is the ISO 3166 country string represented by the user specified language. - If the user specified lanugage is Français (Canada), country is CA.

    -
    -
    since
    -

    1.9.0 and Tableau 2022.2 - If running against a Tableau version prior to 2022.2, country will be undefined.

    -
    -
    -
    -
    -
    - -

    language

    -
    language: string
    - -
    -
    -
    returns
    -

    The language of the Tableau instance that is running the Extension. - The language is the ISO 639 language string of the user specified language. - If the user specified language is Français (Canada), language is fr.

    -
    -
    -
    -
    -
    - -

    locale

    -
    locale: string
    - -
    -
    -
    returns
    -

    The OS locale of the environment in which the Extension is running. - Tableau Server supports both a language and a locale. This is the locale as - defined in RFC 5646 in lowercase. - If the user specified locale is English (United States), the locale is en-us.

    -
    -
    -
    -
    -
    - -

    mode

    - - -
    -
    -
    returns
    -

    Current mode of the Extensions (i.e. authoring or viewing).

    -
    -
    -
    -
    -
    - -

    operatingSystem

    -
    operatingSystem: string
    - -
    -
    -
    returns
    -

    The OS in which Tableau is running.

    -
    -
    -
    -
    -
    - -

    tableauVersion

    -
    tableauVersion: string
    - -
    -
    -
    returns
    -

    The version of Tableau that is running the Extensions.

    -
    -
    -
    -
    -
    - -

    Optional uniqueUserId

    -
    uniqueUserId: undefined | string
    - -
    -
    -
    returns
    -

    A unique id representing the current user. - The id is unique across a Tableau deployment or across a Tableau Cloud Site. - When the extension is running in desktop, the uniqueUserId is derived from machine-name/user-name. - When the extension is running in server, the uniqueUserId is derived from the user's login name. - There is no mechanism to obtain the actual user name or any additional user information. - If running against a Tableau version prior to 2023.2, uniqueUserId will be undefined.

    -
    -
    -
    -
    -
    - -

    Optional workbookFormatting

    -
    workbookFormatting: WorkbookFormatting
    - -
    -
    -
    returns
    -

    WorkbookFormatting contains an array of FormattingSheets that will get - your formatting information from the workbook. - The types of sheet formatting by Class Name Key: WorksheetTitle, Worksheet (body text), - Tooltip, StoryTitle, and DashboardTitle - These formatting sheets include the following CSS properties: fontName, fontSize, - isFontBold, isFontItalic, isFontUnderlined, and color.

    -
    -
    since
    -

    1.7.0 and Tableau 2021.4

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/eventlistenermanager.html b/docs/interfaces/eventlistenermanager.html deleted file mode 100644 index dbcbb73d..00000000 --- a/docs/interfaces/eventlistenermanager.html +++ /dev/null @@ -1,329 +0,0 @@ - - - - - - EventListenerManager | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface EventListenerManager

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Interface for handling registering and unregistering event listeners. Different objects will implement - this interface to manage their event handling.

    -
    -
    -
    -
    -

    Hierarchy

    - -
    -
    -

    Index

    -
    -
    -
    -

    Methods

    - -
    -
    -
    -
    -
    -

    Methods

    -
    - -

    addEventListener

    - -
      -
    • - -
      -
      -

      Adds a new event listener to the object. If this object does not support the specified eventType, - the method throws an exception. - The following table shows the event types supported by objects.

      -
      - - - - - - - - - - - - - - - - - - - - - - - -
      objecteventType
      WorksheetFilterChanged , MarkSelectionChanged, SummaryDataChanged
      ParameterParameterChanged
      SettingsSettingsChanged
      DashboardDashboardLayoutChanged, WorkbookFormattingChanged
      -
      -

      Parameters

      -
        -
      • -
        eventType: TableauEventType
        -
        -

        The type of event to register for. The type of event is a TableauEventType enumeration.

        -
        -
      • -
      • -
        handler: TableauEventHandlerFn
        -
        -

        The function which will be called when an event happens.

        -
        -
      • -
      -

      Returns TableauEventUnregisterFn

      -

      A helper function which can be called to remove this registration.

      -

      The following example sets up a listener in a worksheet for a mark selection event (MarkSelectionChanged). - When the event occurs, the data is reloaded. The addEventListener method returns a function that un-registers - the event handler. Call that function, in this case, unregisterEventHandlerFunction() to remove the registration.

      -
      // Add an event listener for the selection changed event on this sheet.
      -// Assigning the event to a variable just to make the example fit on the page here.
      -const markSelection = tableau.TableauEventType.MarkSelectionChanged;
      -//
      -unregisterEventHandlerFunction = worksheet.addEventListener(markSelection, function (selectionEvent) {
      -// When the selection changes, reload the data
      -loadSelectedMarks(worksheetName);
      -});
      -
      -// remove the event listener when done
      - unregisterEventHandlerFunction();
      -
      -
    • -
    -
    -
    - -

    removeEventListener

    - -
      -
    • - -
      -
      -

      Removes an event listener if a matching one is found. If no matching listener exists, the method does nothing. - The handler function must the handler function specified in the call to the addEventListener method. Alternatively, use the function - returned from the call to addEventListener to unregister the event listener. - For more information, see Events and Event Handling.

      -
      -
      -

      Parameters

      - -

      Returns boolean

      -

      Whether or not an event listener was removed.

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/extensions.html b/docs/interfaces/extensions.html deleted file mode 100644 index 872c52bc..00000000 --- a/docs/interfaces/extensions.html +++ /dev/null @@ -1,576 +0,0 @@ - - - - - - Extensions | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface Extensions

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The extension namespace contains all functionality available to - Extensions in Tableau.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - Extensions -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    All Extensions Properties

    - -

    Dashboard Extensions Properties

    - -

    Viz Extensions Properties

    - -
    -
    -

    All Extensions Methods

    - -

    Dashboard Extensions Methods

    - -
    -
    -
    -
    -
    -

    All Extensions Properties

    -
    - -

    environment

    -
    environment: Environment
    - -
    -
    -

    The environment namespace provides methods to programmatically gather information about the environment - in which the extension is running. To access the objects in this name space, specify - tableau.extensions.environment.

    -
    -
    -
    -
    - -

    settings

    -
    settings: Settings
    - -
    -
    -

    The settings namespace provides methods to get and set values which will be persisted in a workbook. - You can use the settings to configure an extension. To access the objects in this name space, specify - tableau.extensions.settings.

    -
    -
    -
    -
    - -

    ui

    -
    ui: UI
    - -
    -
    -

    The ui namespace provides methods for an extension to display a popup dialog window. - To access the objects in this name space, specify tableau.extensions.ui.

    -
    -
    -
    -
    - -

    workbook

    -
    workbook: Workbook
    - -
    -
    -

    The currently opened workbook.

    -
    -
    -
    since
    -

    1.6.0 and Tableau 2021.3

    -
    -
    -
    -
    -
    -
    -

    Dashboard Extensions Properties

    -
    - -

    Optional dashboardContent

    -
    dashboardContent: DashboardContent
    - -
    -
    -

    The dashboardContent namespace provides access to the dashboard object when the extension is a dashboard extension. - When you have the dashboard object, you have access to all elements in the dashboard - including the worksheets, marks, - filters, parameters, and data sources. - To access the objects in this name space, specify tableau.extensions.dashboardContent.

    -
    -
    -
    -
    - -

    dashboardObjectId

    -
    dashboardObjectId: number
    - -
    -
    -

    The dashboard object id for the extension that is running.

    -
    -
    -
    since
    -

    1.7.0

    -
    -
    -
    -
    -
    -
    -

    Viz Extensions Properties

    -
    - -

    Optional worksheetContent

    -
    worksheetContent: WorksheetContent
    - -
    -
    -

    The worksheetContent namespace provides access to the worksheet when the extension is a worksheet extension. - When you have the worksheet object, you have access to all elements in the worksheet - To access the objects in this name space, specify tableau.extensions.worksheetContent.

    -
    -
    -
    since
    -

    1.12.0 and Tableau 2024.2

    -
    -
    -
    -
    -
    -
    -

    All Extensions Methods

    -
    - -

    createVizImageAsync

    -
      -
    • createVizImageAsync(inputSpec: object): Promise<string>
    • -
    -
      -
    • - -
      -
      -
      since
      -

      1.8.0 and Tableau 2021.4

      -

      For additional information on using the createVizImageAsync method, - see Add Tableau Viz to Your Dashboard Extensions.

      -

      For additional information about setting options in the inputSpec object, - see Tableau Viz Reference.

      -
      -
      -
      -

      Parameters

      -
        -
      • -
        inputSpec: object
        -
        -

        the object containing the embedded data and visual spec details

        -
           tableau.extensions.createVizImageAsync(myInputSpec));

        The following is an example of an input spec object.

        -
        var myInputSpec = {
        -      description: 'A simple bar chart with embedded data.',
        -      data: {
        -          values: [
        -              { Category: 'A', Measure: 28, Weather: 10 },
        -              { Category: 'B', Measure: 55, Weather: 9 },
        -              { Category: 'C', Measure: 43, Weather: 8 },
        -          ]
        -      },
        -      mark: tableau.MarkType.Bar,
        -      encoding: {
        -          columns: { field: 'Category', type: tableau.VizImageEncodingType.Discrete },
        -          rows: { field: 'Measure', type: tableau.VizImageEncodingType.Continuous },
        -          sort: { field: 'Category', 'sortby': 'Weather', direction: tableau.VizImageSortDirectionType.Ascending }
        -      }
        - };
        -
        -
      • -
      -

      Returns Promise<string>

      -

      A promise that when resolved, returns the viz as an svg.

      -

      Supports sorting by field.

      -
    • -
    -
    -
    - -

    initializeAsync

    -
      -
    • initializeAsync(contextMenuCallbacks?: undefined | {}): Promise<void>
    • -
    -
      -
    • - -
      -
      -

      This is the entry point for an Extension. This function must first be called - in order to interact with any of the other Extension APIs.

      -
      -
      -

      Parameters

      -
        -
      • -
        Optional contextMenuCallbacks: undefined | {}
        -
        -

        This optional object maps the ids of context menu items to the function - to be triggered when that context menu item is selected. The keys listed - must matched the keys registered in the context-menu element of the manifest. - Currently, only a single context menu item is available ('configure') - that creates the Configure... menu item), so this object will only contain a single entry. - In this example, the 'configure' key is mapped to a function of the same name, - which you would define in your JavaScript code.

        -
          $(document).ready(function () {
        -    tableau.extensions.initializeAsync({'configure': configure}).then(function() {
        -    // When the user clicks the Configure... context menu item,
        -    // the configure function specified as the argument here
        -    // is executed.
        -    //
        -   });
        -  });
        -
        -
      • -
      -

      Returns Promise<void>

      -

      A promise that when resolved, the other Extension APIs will be available to use.

      -
    • -
    -
    -
    - -

    initializeDialogAsync

    -
      -
    • initializeDialogAsync(): Promise<string>
    • -
    -
      -
    • - -
      -
      -

      The initializeDialogAsync function is the entry point for an extension that runs inside a dialog box (or popup window) - created by the UI namespace. A call to tableau.extensions.ui.displayDialogAsync(payload) creates the dialog box. - When the extension running in the dialog box loads, the extension must first call the initializeDialogAsync function - to use the rest of the Extension API. The initializeDialogAsync function should only be called by extensions - that are displayed in a dialog box. You use the initializeAsync function - to initialize the main extension, that is, the parent of the extension in the dialog box.

      -
      -
      -

      Returns Promise<string>

      -

      A promise that when resolved the other Extension APIs will be available to use. - Contains a string that is the initial payload for the dialog as sent by the - parent extension via tableau.extensions.ui.displayDialogAsync(payload). - See displayDialogAsync for more information.

      -
    • -
    -
    -
    -
    -

    Dashboard Extensions Methods

    -
    - -

    setClickThroughAsync

    -
      -
    • setClickThroughAsync(clickThroughEnabled: boolean): Promise<void>
    • -
    -
      -
    • - -
      -
      -

      This method allows for clicks to pass through the extension window on Tableau Server.

      -
      -
      -
      since
      -

      1.7.0 and Tableau 2021.4

      -
      -
      -
      -

      Parameters

      -
        -
      • -
        clickThroughEnabled: boolean
        -
        -

        A boolean which represents if clicks should pass through the extension window

        -
        -
      • -
      -

      Returns Promise<void>

      -

      A promise that resolves when the click through property has been set.

      -

      The following example shows a call made to setClickThroughAsync.

      -
         // disabling pointer events on the extension window
      -   tableau.extensions.setClickThroughAsync(true).then(() => {
      -    console.log('Successfully enabled extension window click through');
      -   }).catch((error) => {
      -    // Can throw an error if called from a dialog or on Tableau Desktop
      -      console.error(error.message);
      -    });
      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/field.html b/docs/interfaces/field.html deleted file mode 100644 index 372a5be4..00000000 --- a/docs/interfaces/field.html +++ /dev/null @@ -1,511 +0,0 @@ - - - - - - Field | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface Field

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    A field contains information about what data source it belongs to, - its role, and the ability to fetch the domain values.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - FieldBase -
        -
      • - Field -
      • -
      -
    • -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Properties

    -
    - -

    aggregation

    - - -
    -
    -
    returns
    -

    The type of aggregation for this field.

    -
    -
    -
    -
    -
    - -

    columnType

    -
    columnType: ColumnType
    - -
    -
    -
    returns
    -

    The type of the column, either discrete or continuous. Could hold value 'Unknown'.

    -
    -
    -
    -
    -
    - -

    dataSource

    -
    dataSource: DataSource
    - -
    -
    -
    returns
    -

    The data source to which this field belongs.

    -
    -
    -
    -
    -
    - -

    dataType

    -
    dataType: DataType | undefined
    - -
    -
    -
    returns
    -

    The data type of the field

    -
    -
    -
    -
    -
    - -

    description

    -
    description: string | undefined
    - -
    -
    -
    returns
    -

    User description of field, undefined if there is none.

    -
    -
    -
    -
    -
    - -

    id

    -
    id: string
    - -
    -
    -
    returns
    -

    Unique string representing this field in this datasource.

    -
    -
    -
    -
    -
    - -

    isCalculatedField

    -
    isCalculatedField: boolean
    - -
    -
    -
    returns
    -

    True if this field is a table calculation.

    -
    -
    -
    -
    -
    - -

    isCombinedField

    -
    isCombinedField: boolean
    - -
    -
    -
    returns
    -

    True if this field is a combination of multiple fields, false otherwise.

    -
    -
    -
    -
    -
    - -

    isGenerated

    -
    isGenerated: boolean
    - -
    -
    -
    returns
    -

    True if this field is generated by Tableau, false otherwise. - Tableau generates a number of fields for a data source, such as Number - of Records, or Measure Values. This property can be used to - distinguish between those fields and fields that come from the underlying - data connection, or were created by a user.

    -
    -
    -
    -
    -
    - -

    isGeospatial

    -
    isGeospatial: boolean
    - -
    -
    -
    returns
    -

    True if this role has a semantic type of geospatial: e.g latitude, longitude, zipcode, City name...

    -
    -
    -
    -
    -
    - -

    isHidden

    -
    isHidden: boolean
    - -
    -
    -
    returns
    -

    True if this field is hidden, false otherwise.

    -
    -
    -
    -
    -
    - -

    isPresentOnPublishedDatasource

    -
    isPresentOnPublishedDatasource: boolean
    - -
    -
    -
    returns
    -

    True if this field comes from the published datasource. False if it was created in Tableau (as a calculated field, for example).

    -
    -
    -
    -
    -
    - -

    name

    -
    name: string
    - -
    -
    -
    returns
    -

    The name of the field (i.e. the caption).

    -
    -
    -
    -
    -
    - -

    role

    - - -
    -
    -
    returns
    -

    The role of this field.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/fieldinstance.html b/docs/interfaces/fieldinstance.html deleted file mode 100644 index 4d72d632..00000000 --- a/docs/interfaces/fieldinstance.html +++ /dev/null @@ -1,495 +0,0 @@ - - - - - - FieldInstance | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface FieldInstance

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    since
    -

    1.11.0 - Represents a field and its properties

    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - FieldBase -
        -
      • - FieldInstance -
      • -
      -
    • -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Properties

    -
    - -

    aggregation

    - - -
    -
    -
    returns
    -

    The type of aggregation for this field.

    -
    -
    -
    -
    -
    - -

    columnType

    -
    columnType: ColumnType
    - -
    -
    -
    returns
    -

    The type of the column, either discrete or continuous. Could hold value 'Unknown'.

    -
    -
    -
    -
    -
    - -

    dataType

    -
    dataType: DataType | undefined
    - -
    -
    -
    returns
    -

    The data type of the field

    -
    -
    -
    -
    -
    - -

    description

    -
    description: string | undefined
    - -
    -
    -
    returns
    -

    User description of field, undefined if there is none.

    -
    -
    -
    -
    -
    - -

    fieldId

    -
    fieldId: string
    - -
    -
    -
    returns
    -

    The unique representation of the field across all data sources in the workbook. In summary data, this includes aggregation. - Note that the fieldId could change if you change the data source. - For example after replacing the data source [Clipboard_20210305T164000].[sum:Sales:qk] could become - [federated.12usuoq1171o1b1ebdyh60fjnev1].[sum:Sales:qk].

    -
    -
    -
    -
    -
    - -

    isCalculatedField

    -
    isCalculatedField: boolean
    - -
    -
    -
    returns
    -

    True if this field is a table calculation.

    -
    -
    -
    -
    -
    - -

    isCombinedField

    -
    isCombinedField: boolean
    - -
    -
    -
    returns
    -

    True if this field is a combination of multiple fields, false otherwise.

    -
    -
    -
    -
    -
    - -

    isGenerated

    -
    isGenerated: boolean
    - -
    -
    -
    returns
    -

    True if this field is generated by Tableau, false otherwise. - Tableau generates a number of fields for a data source, such as Number - of Records, or Measure Values. This property can be used to - distinguish between those fields and fields that come from the underlying - data connection, or were created by a user.

    -
    -
    -
    -
    -
    - -

    isGeospatial

    -
    isGeospatial: boolean
    - -
    -
    -
    returns
    -

    True if this role has a semantic type of geospatial: e.g latitude, longitude, zipcode, City name...

    -
    -
    -
    -
    -
    - -

    isHidden

    -
    isHidden: boolean
    - -
    -
    -
    returns
    -

    True if this field is hidden, false otherwise.

    -
    -
    -
    -
    -
    - -

    isPresentOnPublishedDatasource

    -
    isPresentOnPublishedDatasource: boolean
    - -
    -
    -
    returns
    -

    True if this field comes from the published datasource. False if it was created in Tableau (as a calculated field, for example).

    -
    -
    -
    -
    -
    - -

    name

    -
    name: string
    - -
    -
    -
    returns
    -

    The name of the field (i.e. the caption).

    -
    -
    -
    -
    -
    - -

    role

    - - -
    -
    -
    returns
    -

    The role of this field.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/filter.html b/docs/interfaces/filter.html deleted file mode 100644 index 5533bd6a..00000000 --- a/docs/interfaces/filter.html +++ /dev/null @@ -1,402 +0,0 @@ - - - - - - Filter | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface Filter

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    An abstract base class for all of the filter types.

    -
    -
    -
    -
    -

    Hierarchy

    - -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Properties

    -
    - -

    fieldId

    -
    fieldId: string
    - -
    -
    -
    returns
    -

    The id of the field being filtered.

    -
    -
    -
    -
    -
    - -

    fieldName

    -
    fieldName: string
    - -
    -
    -
    returns
    -

    The name of the field being filtered. Note that this is the caption - as shown in the UI, and not the actual database field name.

    -
    -
    -
    -
    -
    - -

    filterType

    -
    filterType: FilterType
    - -
    -
    -
    returns
    -

    The type of the filter.

    -
    -
    -
    -
    -
    - -

    worksheetName

    -
    worksheetName: string
    - -
    -
    -
    returns
    -

    The parent worksheet.

    -
    -
    -
    -
    -
    -
    -

    Methods

    -
    - -

    getAppliedWorksheetsAsync

    -
      -
    • getAppliedWorksheetsAsync(): Promise<Array<string>>
    • -
    -
      -
    • - -
      -
      -
      since
      -

      1.9.0 and Tableau 2022.2

      -
      -
      -
      -

      Returns Promise<Array<string>>

      -

      the list of worksheet names that have the filter applied.

      -
    • -
    -
    -
    - -

    getFieldAsync

    -
      -
    • getFieldAsync(): Promise<Field>
    • -
    -
      -
    • - -
      -
      -
      since
      -

      1.5.0 Fixed to properly return the field. Also requires Tableau 2019.2+.

      -
      -
      -
      -

      Returns Promise<Field>

      -

      a promise containing the field for the filter.

      -
    • -
    -
    -
    - -

    setAppliedWorksheetsAsync

    -
      -
    • setAppliedWorksheetsAsync(applyToWorksheets: Array<string>): Promise<Array<string>>
    • -
    -
      -
    • - -
      -
      -

      Applies the filter to the specified list of worksheets. - If the worksheet(s) do not exist or do not contain the field in their data sources, an exception is thrown.

      -
      -
      -
      since
      -

      1.9.0 and Tableau 2022.2

      -
      -
      -
      -

      Parameters

      -
        -
      • -
        applyToWorksheets: Array<string>
        -
        -

        list of worksheets to apply the filter on

        -
        -
      • -
      -

      Returns Promise<Array<string>>

      -

      the list of worksheet names that have the filter applied

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/filterchangedevent.html b/docs/interfaces/filterchangedevent.html deleted file mode 100644 index 75937d85..00000000 --- a/docs/interfaces/filterchangedevent.html +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - FilterChangedEvent | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface FilterChangedEvent

    -
    -
    -
    -
    -
    -
    -
    -

    Hierarchy

    - -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -

    Methods

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    fieldName

    -
    fieldName: string
    - -
    -
    -
    returns
    -

    The name of the field being filtered.

    -
    -
    -
    -
    -
    - -

    sheet

    -
    sheet: Sheet
    - -
    -
    -
    returns
    -

    The sheet which was the source of this event.

    -
    -
    -
    -
    -
    - -

    type

    - - -
    -
    -
    returns
    -

    The type of event which this class is representing.

    -
    -
    -
    -
    -
    - -

    worksheet

    -
    worksheet: Worksheet
    - -
    -
    -
    returns
    -

    The worksheet which was the source of this event.

    -
    -
    -
    -
    -
    -
    -

    Methods

    -
    - -

    getFilterAsync

    -
      -
    • getFilterAsync(): Promise<Filter>
    • -
    -
      -
    • - -
      -
      -

      Returns Promise<Filter>

      -

      The Filter object associated with the event.

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/filteroptions.html b/docs/interfaces/filteroptions.html deleted file mode 100644 index 37602609..00000000 --- a/docs/interfaces/filteroptions.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - FilterOptions | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface FilterOptions

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Passed into the applyFilter methods to control advanced filtering options.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - FilterOptions -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    isExcludeMode

    -
    isExcludeMode: boolean
    - -
    -
    -

    Determines whether the filter will apply in exclude mode or include mode. - The default is include, which means that you use the fields as part of a filter. - Exclude mode means that you include everything else except the specified fields.

    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/formattingsheet.html b/docs/interfaces/formattingsheet.html deleted file mode 100644 index 28a472df..00000000 --- a/docs/interfaces/formattingsheet.html +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - FormattingSheet | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface FormattingSheet

    -
    -
    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - FormattingSheet -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    classNameKey

    -
    classNameKey: ClassNameKey
    - -
    -
    -
    returns
    -

    Is an object that contains a ClassNameKey which represents a type of - formatting in a workbook: WorksheetTitle, Worksheet, Tooltip, StoryTitle, and DashboardTitle.

    -
    -
    since
    -

    1.7.0 and Tableau 2021.4

    -
    -
    -
    -
    -
    - -

    cssProperties

    -
    cssProperties: CSSProperties
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/getsummarydataoptions.html b/docs/interfaces/getsummarydataoptions.html deleted file mode 100644 index cf697391..00000000 --- a/docs/interfaces/getsummarydataoptions.html +++ /dev/null @@ -1,319 +0,0 @@ - - - - - - GetSummaryDataOptions | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface GetSummaryDataOptions

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Options argument for the Worksheet.GetSummaryDataAsync API

    -
    -
    -
    -
    -

    Hierarchy

    - -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Properties

    -
    - -

    Optional columnsToIncludeById

    -
    columnsToIncludeById: Array<string>
    - -
    -
    -

    The columns to return specified by field id, returns all by default. - Since 1.5.0, fieldId is a property of the Column object.

    -
    -
    -
    since
    -

    1.5.0

    -
    -
    -
    -
    -
    - -

    Optional ignoreAliases

    -
    ignoreAliases: undefined | false | true
    - -
    -
    -

    Do not use aliases specified in the data source in Tableau. Default is false.

    -
    -
    -
    -
    - -

    Optional ignoreSelection

    -
    ignoreSelection: undefined | false | true
    - -
    -
    -

    Only return data for the currently selected marks. Default is false.

    -
    -
    -
    -
    - -

    Optional includeDataValuesOption

    -
    includeDataValuesOption: IncludeDataValuesOption
    - -
    -
    -

    Specify which properties to return in DataValues. The default is IncludeDataValuesOption.AllValues. - All properties not requested will be undefined in the DataValue results. - This is a performance optimization only, and will be ignored in Tableau versions prior to 2021.2.

    -
    -
    -
    since
    -

    1.5.0

    -
    -
    -
    -
    -
    - -

    Optional maxRows

    -
    maxRows: undefined | number
    - -
    -
    -

    The number of rows of data that you want to return. A value of 0 will attempt to return all rows. - 0 is the default if maxRows is not specified. - getUnderlyingTableDataAsync - maximum number of rows returned is capped at 10,000 regardless of maxRows. - getSummaryDataAsync - maximum number of rows returned is not capped, but performance may suffer with large row counts.

    -
    -
    -
    since
    -

    1.5.0 maxRows is now supported in both GetSummaryDataOptions and GetUnderlyingDataOptions.

    -
    -
    since
    -

    1.10.0 maxRows is ignored when getting a DataTableReader

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/getunderlyingdataoptions.html b/docs/interfaces/getunderlyingdataoptions.html deleted file mode 100644 index e3f7f8ee..00000000 --- a/docs/interfaces/getunderlyingdataoptions.html +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - GetUnderlyingDataOptions | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface GetUnderlyingDataOptions

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Options argument for the Worksheet.getUnderlyingTableDataAsync API.

    -
    -
    -
    -
    -

    Hierarchy

    - -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Properties

    -
    - -

    Optional columnsToIncludeById

    -
    columnsToIncludeById: Array<string>
    - -
    -
    -

    The columns to return specified by field id, returns all by default. - Since 1.5.0, fieldId is a property of the Column object.

    -
    -
    -
    since
    -

    1.5.0

    -
    -
    -
    -
    -
    - -

    Optional ignoreAliases

    -
    ignoreAliases: undefined | false | true
    - -
    -
    -

    Do not use aliases specified in the data source in Tableau. Default is false.

    -
    -
    -
    -
    - -

    Optional ignoreSelection

    -
    ignoreSelection: undefined | false | true
    - -
    -
    -

    Only return data for the currently selected marks. Default is false.

    -
    -
    -
    -
    - -

    Optional includeAllColumns

    -
    includeAllColumns: undefined | false | true
    - -
    -
    -

    Return all the columns for the data source. Default is false.

    -
    -
    -
    -
    - -

    Optional includeDataValuesOption

    -
    includeDataValuesOption: IncludeDataValuesOption
    - -
    -
    -

    Specify which properties to return in DataValues. The default is IncludeDataValuesOption.AllValues. - All properties not requested will be undefined in the DataValue results. - This is a performance optimization only, and will be ignored in Tableau versions prior to 2021.2.

    -
    -
    -
    since
    -

    1.5.0

    -
    -
    -
    -
    -
    - -

    Optional maxRows

    -
    maxRows: undefined | number
    - -
    -
    -

    The number of rows of data that you want to return. A value of 0 will attempt to return all rows. - 0 is the default if maxRows is not specified. - getUnderlyingTableDataAsync - maximum number of rows returned is capped at 10,000 regardless of maxRows. - getSummaryDataAsync - maximum number of rows returned is not capped, but performance may suffer with large row counts.

    -
    -
    -
    since
    -

    1.5.0 maxRows is now supported in both GetSummaryDataOptions and GetUnderlyingDataOptions.

    -
    -
    since
    -

    1.10.0 maxRows is ignored when getting a DataTableReader

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/hierarchicalfilter.html b/docs/interfaces/hierarchicalfilter.html deleted file mode 100644 index c03a77ad..00000000 --- a/docs/interfaces/hierarchicalfilter.html +++ /dev/null @@ -1,535 +0,0 @@ - - - - - - HierarchicalFilter | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface HierarchicalFilter

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    A Hierarchical Filter - Hierarchical Filters are used when a hierarchical field is used as a filter on a cube database. - As an example, assume a hierarchical field in Product, named ByCategory. - ByCategory has the following five levels: Family, Category, Subcategory, Brand, Sku.

    -
    -
    -
    since
    -

    Extensions 1.10.0 and Tableau version 2022.3

    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - Filter -
        -
      • - HierarchicalFilter -
      • -
      -
    • -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Properties

    -
    - -

    appliedValues

    -
    appliedValues: Array<HierarchicalFilterDataValue>
    - -
    -
    -
    returns
    -

    A list of values applied to this hierarchical filter.

    -
    -
    -
    -
    -
    - -

    dimensionName

    -
    dimensionName: string
    - -
    -
    -
    returns
    -

    The dimension name associated with the filter. In the ByCategory filter example, this would be 'Product'

    -
    -
    -
    -
    -
    - -

    fieldId

    -
    fieldId: string
    - -
    -
    -
    returns
    -

    The id of the field being filtered.

    -
    -
    -
    -
    -
    - -

    fieldName

    -
    fieldName: string
    - -
    -
    -
    returns
    -

    The name of the field being filtered. Note that this is the caption - as shown in the UI, and not the actual database field name.

    -
    -
    -
    -
    -
    - -

    filterType

    -
    filterType: FilterType
    - -
    -
    -
    returns
    -

    The type of the filter.

    -
    -
    -
    -
    -
    - -

    hierarchyCaption

    -
    hierarchyCaption: string
    - -
    -
    -
    returns
    -

    The hierarchy caption associated with the filter. In the ByCategory filter example, this would be '[Product].[ByCategory]'

    -
    -
    -
    -
    -
    - -

    isAllSelected

    -
    isAllSelected: boolean
    - -
    -
    -
    returns
    -

    True if all the values are selected for this filter. When 'All' is selected, - appliedValues returns an empty list.

    -
    -
    -
    -
    -
    - -

    levelDetails

    -
    levelDetails: Array<HierarchicalLevelDetail>
    - -
    -
    -
    returns
    -

    Details about each level in the hierarchical filter.

    -
    -
    -
    -
    -
    - -

    numberOfLevels

    -
    numberOfLevels: number
    - -
    -
    -
    returns
    -

    The number of levels in the hierarchical filter. In the ByCategory filter example, this would be 5

    -
    -
    -
    -
    -
    - -

    worksheetName

    -
    worksheetName: string
    - -
    -
    -
    returns
    -

    The parent worksheet.

    -
    -
    -
    -
    -
    -
    -

    Methods

    -
    - -

    getAppliedWorksheetsAsync

    -
      -
    • getAppliedWorksheetsAsync(): Promise<Array<string>>
    • -
    -
      -
    • - -
      -
      -
      since
      -

      1.9.0 and Tableau 2022.2

      -
      -
      -
      -

      Returns Promise<Array<string>>

      -

      the list of worksheet names that have the filter applied.

      -
    • -
    -
    -
    - -

    getFieldAsync

    -
      -
    • getFieldAsync(): Promise<Field>
    • -
    -
      -
    • - -
      -
      -
      since
      -

      1.5.0 Fixed to properly return the field. Also requires Tableau 2019.2+.

      -
      -
      -
      -

      Returns Promise<Field>

      -

      a promise containing the field for the filter.

      -
    • -
    -
    -
    - -

    setAppliedWorksheetsAsync

    -
      -
    • setAppliedWorksheetsAsync(applyToWorksheets: Array<string>): Promise<Array<string>>
    • -
    -
      -
    • - -
      -
      -

      Applies the filter to the specified list of worksheets. - If the worksheet(s) do not exist or do not contain the field in their data sources, an exception is thrown.

      -
      -
      -
      since
      -

      1.9.0 and Tableau 2022.2

      -
      -
      -
      -

      Parameters

      -
        -
      • -
        applyToWorksheets: Array<string>
        -
        -

        list of worksheets to apply the filter on

        -
        -
      • -
      -

      Returns Promise<Array<string>>

      -

      the list of worksheet names that have the filter applied

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/hierarchicalfilterdatavalue.html b/docs/interfaces/hierarchicalfilterdatavalue.html deleted file mode 100644 index 7d2490ab..00000000 --- a/docs/interfaces/hierarchicalfilterdatavalue.html +++ /dev/null @@ -1,260 +0,0 @@ - - - - - - HierarchicalFilterDataValue | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface HierarchicalFilterDataValue

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    A selected value in a hierarchical filter

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - HierarchicalFilterDataValue -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    hierarchicalPath

    -
    hierarchicalPath: string
    - -
    -
    -
    returns
    -

    the path to this selected item. In the ByCategory example, the hierarchicalPath for a level 2 item could be - '[Outdoor & Sporting].[Bikes].[Kids' Bikes]'.

    -
    -
    -
    -
    -
    - -

    level

    -
    level: number
    - -
    -
    -
    returns
    -

    the level of this selected item. In the ByCategory example, the level could be 0-4. - For '[Outdoor & Sporting].[Bikes].[Kids' Bikes]', the level is 2.

    -
    -
    -
    -
    -
    - -

    value

    -
    value: DataValue
    - -
    -
    -
    returns
    -

    the DataValue of the seleted item

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/hierarchicalleveldetail.html b/docs/interfaces/hierarchicalleveldetail.html deleted file mode 100644 index a43392be..00000000 --- a/docs/interfaces/hierarchicalleveldetail.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - HierarchicalLevelDetail | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface HierarchicalLevelDetail

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Details about each level in a hierarchical filter

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - HierarchicalLevelDetail -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    levelSelectionState

    -
    levelSelectionState: HierarchicalLevelSelectionState
    - -
    -
    -
    returns
    -

    the level selection state

    -
    -
    -
    -
    -
    - -

    name

    -
    name: string
    - -
    -
    -
    returns
    -

    the level name. In the ByCategory example, the name could be 'Family', 'Category', 'Subcategory', 'Brand', or 'Sku'.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/hierarchicallevels.html b/docs/interfaces/hierarchicallevels.html deleted file mode 100644 index 7ea973ba..00000000 --- a/docs/interfaces/hierarchicallevels.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - HierarchicalLevels | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface HierarchicalLevels

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Levels to apply to a hierarchical filter

    -
    -
    -
    since
    -

    Extensions 1.10.0 and Tableau version 2022.3

    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - HierarchicalLevels -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    levels

    -
    levels: Array<string>
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/logicaltable.html b/docs/interfaces/logicaltable.html deleted file mode 100644 index 6b80bd4a..00000000 --- a/docs/interfaces/logicaltable.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - LogicalTable | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface LogicalTable

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    since
    -

    1.4.0 - Represents a logical table in a data source or a logical table used in a worksheet

    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - LogicalTable -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    caption

    -
    caption: string
    - -
    -
    - -

    id

    -
    id: string
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/markinfo.html b/docs/interfaces/markinfo.html deleted file mode 100644 index 4eaa7597..00000000 --- a/docs/interfaces/markinfo.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - MarkInfo | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface MarkInfo

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Represents a mark in a worksheet.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - MarkInfo -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    color

    -
    color: string
    - -
    -
    -
    notimplemented
    -
    -
    returns
    -

    The RGBA value of this mark.

    -
    -
    -
    -
    -
    - -

    Optional tupleId

    -
    tupleId: undefined | number
    - -
    -
    -
    returns
    -

    Unique tuple representing this mark in a drawn visualization.

    -
    -
    -
    -
    -
    - -

    type

    -
    type: MarkType
    - -
    -
    -
    notimplemented
    -
    -
    returns
    -

    The type of this mark.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/markscollection.html b/docs/interfaces/markscollection.html deleted file mode 100644 index fc723ea4..00000000 --- a/docs/interfaces/markscollection.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - MarksCollection | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface MarksCollection

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Represents a collection of marks on a viz. This collection could be - marks that are either selected or highlighted.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - MarksCollection -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    data

    -
    data: Array<DataTable>
    - -
    -
    -
    returns
    -

    A collection of data tables. Each row in each data table represents a single - mark on the viz. Since marks can contain columns different than the columns of another mark, - for example, a dual axis chart, each table represents one specific schema of a mark.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/marksselectedevent.html b/docs/interfaces/marksselectedevent.html deleted file mode 100644 index 7615a18e..00000000 --- a/docs/interfaces/marksselectedevent.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - MarksSelectedEvent | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface MarksSelectedEvent

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    An event which is raised when marks are selected on a worksheet.

    -
    -
    -
    -
    -

    Hierarchy

    - -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -

    Methods

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    sheet

    -
    sheet: Sheet
    - -
    -
    -
    returns
    -

    The sheet which was the source of this event.

    -
    -
    -
    -
    -
    - -

    type

    - - -
    -
    -
    returns
    -

    The type of event which this class is representing.

    -
    -
    -
    -
    -
    - -

    worksheet

    -
    worksheet: Worksheet
    - -
    -
    -
    returns
    -

    The worksheet which was the source of this event.

    -
    -
    -
    -
    -
    -
    -

    Methods

    -
    - -

    getMarksAsync

    - -
      -
    • - -
      -
      -

      Returns Promise<MarksCollection>

      -

      The collection of Marks that were selected.

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/marksspecification.html b/docs/interfaces/marksspecification.html deleted file mode 100644 index b3baf01f..00000000 --- a/docs/interfaces/marksspecification.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - MarksSpecification | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface MarksSpecification

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    since
    -

    1.11.0 - Represents a collection of fields on various encodings for a single marks card

    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - MarksSpecification -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    encodings

    -
    encodings: Encoding[]
    - -
    -
    - -

    primitiveType

    -
    primitiveType: MarkType
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/parameter.html b/docs/interfaces/parameter.html deleted file mode 100644 index bbf3b78e..00000000 --- a/docs/interfaces/parameter.html +++ /dev/null @@ -1,483 +0,0 @@ - - - - - - Parameter | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface Parameter

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Represents a parameter in Tableau and provides ways to introspect the parameter and change its values.

    -
    -
    -
    -
    -

    Hierarchy

    - -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -

    Methods

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    allowableValues

    - - -
    -
    -
    returns
    -

    The allowable set of values this parameter can take.

    -
    -
    -
    -
    -
    - -

    currentValue

    -
    currentValue: DataValue
    - -
    -
    -
    returns
    -

    DataValue representing the current value of the parameter.

    -
    -
    -
    -
    -
    - -

    dataType

    -
    dataType: DataType
    - -
    -
    -
    returns
    -

    The type of data this parameter holds.

    -
    -
    -
    -
    -
    - -

    id

    -
    id: string
    - -
    -
    -
    returns
    -

    A unique identifier for this Parameter.

    -
    -
    -
    -
    -
    - -

    name

    -
    name: string
    - -
    -
    -
    returns
    -

    The display name of this parameter.

    -
    -
    -
    -
    -
    -
    -

    Methods

    -
    - -

    addEventListener

    - -
      -
    • - -
      -
      -

      Adds a new event listener to the object. If this object does not support the specified eventType, - the method throws an exception. - The following table shows the event types supported by objects.

      -
      - - - - - - - - - - - - - - - - - - - - - - - -
      objecteventType
      WorksheetFilterChanged , MarkSelectionChanged, SummaryDataChanged
      ParameterParameterChanged
      SettingsSettingsChanged
      DashboardDashboardLayoutChanged, WorkbookFormattingChanged
      -
      -

      Parameters

      -
        -
      • -
        eventType: TableauEventType
        -
        -

        The type of event to register for. The type of event is a TableauEventType enumeration.

        -
        -
      • -
      • -
        handler: TableauEventHandlerFn
        -
        -

        The function which will be called when an event happens.

        -
        -
      • -
      -

      Returns TableauEventUnregisterFn

      -

      A helper function which can be called to remove this registration.

      -

      The following example sets up a listener in a worksheet for a mark selection event (MarkSelectionChanged). - When the event occurs, the data is reloaded. The addEventListener method returns a function that un-registers - the event handler. Call that function, in this case, unregisterEventHandlerFunction() to remove the registration.

      -
      // Add an event listener for the selection changed event on this sheet.
      -// Assigning the event to a variable just to make the example fit on the page here.
      -const markSelection = tableau.TableauEventType.MarkSelectionChanged;
      -//
      -unregisterEventHandlerFunction = worksheet.addEventListener(markSelection, function (selectionEvent) {
      -// When the selection changes, reload the data
      -loadSelectedMarks(worksheetName);
      -});
      -
      -// remove the event listener when done
      - unregisterEventHandlerFunction();
      -
      -
    • -
    -
    -
    - -

    changeValueAsync

    -
      -
    • changeValueAsync(newValue: string | number | boolean | Date): Promise<DataValue>
    • -
    -
      -
    • - -
      -
      -

      Modifies this parameter and assigns it a new value. The new value must fall within - the domain restrictions defined by allowableValues. If the domain restriction is ParameterValueType.Range, - be sure to check the allowableValues before assigning a new value. If the new value is out of range, the - updated value will be set to either the minValue or the maxValue of the allowable range. If a step size is also specified - and the new value does not fall on the step intervals, the updated value will be set to the closest, lower step, - or closest, earlier date. If the domain restriction is type ParameterValueType.List, and there are aliases defined for the list, - the aliased value should be passed to the method.

      -
      -
      -

      Parameters

      -
        -
      • -
        newValue: string | number | boolean | Date
        -
        -

        The new value to assign to this parameter. - Note: For changing Date parameters, UTC Date objects are expected.

        -
        -
      • -
      -

      Returns Promise<DataValue>

      -

      The updated DataValue. The promise is rejected if newValue is invalid. However, if the domain restriction - is type AllowableValuesType.Range, and the newValue is out of the range bounds, the parameter gets set to the minValue - or the maxValue of the range (whichever is closer). If the range has a stepSize or dateStepPeriod, the parameter gets set - to the closest, lower step, or the closest, earlier date.

      -
    • -
    -
    -
    - -

    removeEventListener

    - -
      -
    • - -
      -
      -

      Removes an event listener if a matching one is found. If no matching listener exists, the method does nothing. - The handler function must the handler function specified in the call to the addEventListener method. Alternatively, use the function - returned from the call to addEventListener to unregister the event listener. - For more information, see Events and Event Handling.

      -
      -
      -

      Parameters

      - -

      Returns boolean

      -

      Whether or not an event listener was removed.

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/parameterchangedevent.html b/docs/interfaces/parameterchangedevent.html deleted file mode 100644 index f9eaba88..00000000 --- a/docs/interfaces/parameterchangedevent.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - ParameterChangedEvent | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface ParameterChangedEvent

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    An event which is raised when the value of a parameter changes.

    -
    -
    -
    -
    -

    Hierarchy

    - -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -

    Methods

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    type

    - - -
    -
    -
    returns
    -

    The type of event which this class is representing.

    -
    -
    -
    -
    -
    -
    -

    Methods

    -
    - -

    getParameterAsync

    -
      -
    • getParameterAsync(): Promise<Parameter>
    • -
    -
      -
    • - -
      -
      -

      Returns Promise<Parameter>

      -

      The parameter that was changed.

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/parameterdomainrestriction.html b/docs/interfaces/parameterdomainrestriction.html deleted file mode 100644 index c65c6793..00000000 --- a/docs/interfaces/parameterdomainrestriction.html +++ /dev/null @@ -1,333 +0,0 @@ - - - - - - ParameterDomainRestriction | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface ParameterDomainRestriction

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Represents the allowable set of values which a parameter can be set to.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - ParameterDomainRestriction -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    Optional allowableValues

    -
    allowableValues: Array<DataValue>
    - -
    -
    -
    returns
    -

    If ParameterValueType.List, the array will be the list of - values which the parameter is allowed to take.

    -
    -
    -
    -
    -
    - -

    Optional dateStepPeriod

    -
    dateStepPeriod: PeriodType
    - -
    -
    -
    returns
    -

    If ParameterValueType.Range, this defines the step date period - used in the Parameter UI control slider. Note that if you specify a new value for the parameter, - using the changeValueAsync() method, that does not align on the dateStepPeriod interval, the - value will be set to the closest, earlier date.

    -
    -
    -
    -
    -
    - -

    Optional maxValue

    -
    maxValue: DataValue
    - -
    -
    -
    returns
    -

    If ParameterValueType.Range, the value will be the upper - bound of allowable values for the parameter.

    -
    -
    -
    -
    -
    - -

    Optional minValue

    -
    minValue: DataValue
    - -
    -
    -
    returns
    -

    If ParameterValueType.Range, the value will be the lower - bound of allowable values for the parameter.

    -
    -
    -
    -
    -
    - -

    Optional stepSize

    -
    stepSize: undefined | number
    - -
    -
    -
    returns
    -

    If ParameterValueType.Range, the value will - define the step size used in the parameter UI control slider. - Note that if you specify a new value for the parameter, using the changeValueAsync() method, - that does not align on the stepSize interval, the value will be set to the closest, lower interval. - For example, if the stepSize was 5 and the steps were 1, 5, 10, if the new value specified - was 8, the value 5 would be used instead.

    -
    -
    -
    -
    -
    - -

    type

    - - -
    -
    -
    returns
    -

    The type of restriction we have on the parameter's domain. This value - will effect what other properties are configured on this object.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/point.html b/docs/interfaces/point.html deleted file mode 100644 index 9d852ba5..00000000 --- a/docs/interfaces/point.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - Point | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface Point

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Represents an x/y coordinate in pixels.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - Point -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    -
      -
    • x
    • -
    • y
    • -
    -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    x

    -
    x: number
    - -
    -
    -
    returns
    -

    X coordinate of point.

    -
    -
    -
    -
    -
    - -

    y

    -
    y: number
    - -
    -
    -
    returns
    -

    Y coordinate of point.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/rangedomain.html b/docs/interfaces/rangedomain.html deleted file mode 100644 index b610c72f..00000000 --- a/docs/interfaces/rangedomain.html +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - RangeDomain | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface RangeDomain

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The domain of range filter

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - RangeDomain -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    max

    - - -
    -
    -
    returns
    -

    Maximum value as specified in the domain.

    -
    -
    -
    -
    -
    - -

    min

    - - -
    -
    -
    returns
    -

    Minimum value as specified in the domain.

    -
    -
    -
    -
    -
    - -

    type

    - - -
    -
    -
    returns
    -

    the domain type (relevant, all)

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/rangefilter.html b/docs/interfaces/rangefilter.html deleted file mode 100644 index c449ef12..00000000 --- a/docs/interfaces/rangefilter.html +++ /dev/null @@ -1,496 +0,0 @@ - - - - - - RangeFilter | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface RangeFilter

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    A Range Filter

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - Filter -
        -
      • - RangeFilter -
      • -
      -
    • -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Properties

    -
    - -

    fieldId

    -
    fieldId: string
    - -
    -
    -
    returns
    -

    The id of the field being filtered.

    -
    -
    -
    -
    -
    - -

    fieldName

    -
    fieldName: string
    - -
    -
    -
    returns
    -

    The name of the field being filtered. Note that this is the caption - as shown in the UI, and not the actual database field name.

    -
    -
    -
    -
    -
    - -

    filterType

    -
    filterType: FilterType
    - -
    -
    -
    returns
    -

    The type of the filter.

    -
    -
    -
    -
    -
    - -

    includeNullValues

    -
    includeNullValues: boolean
    - -
    -
    -
    returns
    -

    True if null values are included in the filter, false otherwise.

    -
    -
    -
    -
    -
    - -

    maxValue

    -
    maxValue: DataValue
    - -
    -
    -
    returns
    -

    Maximum value, inclusive, applied to the filter.

    -
    -
    -
    -
    -
    - -

    minValue

    -
    minValue: DataValue
    - -
    -
    -
    returns
    -

    Minimum value, inclusive, applied to the filter.

    -
    -
    -
    -
    -
    - -

    worksheetName

    -
    worksheetName: string
    - -
    -
    -
    returns
    -

    The parent worksheet.

    -
    -
    -
    -
    -
    -
    -

    Methods

    -
    - -

    getAppliedWorksheetsAsync

    -
      -
    • getAppliedWorksheetsAsync(): Promise<Array<string>>
    • -
    -
      -
    • - -
      -
      -
      since
      -

      1.9.0 and Tableau 2022.2

      -
      -
      -
      -

      Returns Promise<Array<string>>

      -

      the list of worksheet names that have the filter applied.

      -
    • -
    -
    -
    - -

    getDomainAsync

    - -
      -
    • - -
      -
      -

      Parameters

      -
        -
      • -
        Optional domainType: FilterDomainType
        -
        -

        the domain type, defaults to relevant

        -
        -
      • -
      -

      Returns Promise<RangeDomain>

      -

      a promise containing the domain for the range filter

      -
    • -
    -
    -
    - -

    getFieldAsync

    -
      -
    • getFieldAsync(): Promise<Field>
    • -
    -
      -
    • - -
      -
      -
      since
      -

      1.5.0 Fixed to properly return the field. Also requires Tableau 2019.2+.

      -
      -
      -
      -

      Returns Promise<Field>

      -

      a promise containing the field for the filter.

      -
    • -
    -
    -
    - -

    setAppliedWorksheetsAsync

    -
      -
    • setAppliedWorksheetsAsync(applyToWorksheets: Array<string>): Promise<Array<string>>
    • -
    -
      -
    • - -
      -
      -

      Applies the filter to the specified list of worksheets. - If the worksheet(s) do not exist or do not contain the field in their data sources, an exception is thrown.

      -
      -
      -
      since
      -

      1.9.0 and Tableau 2022.2

      -
      -
      -
      -

      Parameters

      -
        -
      • -
        applyToWorksheets: Array<string>
        -
        -

        list of worksheets to apply the filter on

        -
        -
      • -
      -

      Returns Promise<Array<string>>

      -

      the list of worksheet names that have the filter applied

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/rangefilteroptions.html b/docs/interfaces/rangefilteroptions.html deleted file mode 100644 index e41f6b90..00000000 --- a/docs/interfaces/rangefilteroptions.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - RangeFilterOptions | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface RangeFilterOptions

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Options for Range Filter

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - RangeFilterOptions -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    Optional max

    -
    max: number | Date
    - -
    -
    - -

    Optional min

    -
    min: number | Date
    - -
    -
    - -

    Optional nullOption

    -
    nullOption: FilterNullOption
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/rangevalue.html b/docs/interfaces/rangevalue.html deleted file mode 100644 index 1c43a49d..00000000 --- a/docs/interfaces/rangevalue.html +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - RangeValue | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface RangeValue

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    RangeValue interface to provide selection value for range based selections. - The associated field should be a quantitative field. - For Date Values, UTC Date objects are expected. (i.e., var min = new Date(Date.UTC(1999, 0, 1))). - While date string inputs work, UTC date inputs are officially supproted going forward for RangeValue.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - RangeValue -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    max

    -
    max: number | Date
    - -
    -
    -

    max range value for the range based selection

    -
    -
    -
    -
    - -

    min

    -
    min: number | Date
    - -
    -
    -

    min range value for the range based selection

    -
    -
    -
    -
    - -

    Optional nullOption

    -
    nullOption: FilterNullOption
    - -
    -
    -

    Including nulloptions parameter.

    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/relativedatefilter.html b/docs/interfaces/relativedatefilter.html deleted file mode 100644 index f5eb907b..00000000 --- a/docs/interfaces/relativedatefilter.html +++ /dev/null @@ -1,477 +0,0 @@ - - - - - - RelativeDateFilter | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface RelativeDateFilter

    -
    -
    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - Filter -
        -
      • - RelativeDateFilter -
      • -
      -
    • -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Properties

    -
    - -

    anchorDate

    -
    anchorDate: DataValue
    - -
    -
    -
    returns
    -

    the anchor date of the filter

    -
    -
    -
    -
    -
    - -

    fieldId

    -
    fieldId: string
    - -
    -
    -
    returns
    -

    The id of the field being filtered.

    -
    -
    -
    -
    -
    - -

    fieldName

    -
    fieldName: string
    - -
    -
    -
    returns
    -

    The name of the field being filtered. Note that this is the caption - as shown in the UI, and not the actual database field name.

    -
    -
    -
    -
    -
    - -

    filterType

    -
    filterType: FilterType
    - -
    -
    -
    returns
    -

    The type of the filter.

    -
    -
    -
    -
    -
    - -

    periodType

    -
    periodType: PeriodType
    - -
    -
    -
    returns
    -

    The date period of the filter.

    -
    -
    -
    -
    -
    - -

    rangeN

    -
    rangeN: number
    - -
    -
    -
    returns
    -

    When getRange returns LASTN or NEXTN, this is the N value (how many years, months, etc.).

    -
    -
    -
    -
    -
    - -

    rangeType

    -
    rangeType: DateRangeType
    - -
    -
    -
    returns
    -

    The range of the date filter (years, months, etc.).

    -
    -
    -
    -
    -
    - -

    worksheetName

    -
    worksheetName: string
    - -
    -
    -
    returns
    -

    The parent worksheet.

    -
    -
    -
    -
    -
    -
    -

    Methods

    -
    - -

    getAppliedWorksheetsAsync

    -
      -
    • getAppliedWorksheetsAsync(): Promise<Array<string>>
    • -
    -
      -
    • - -
      -
      -
      since
      -

      1.9.0 and Tableau 2022.2

      -
      -
      -
      -

      Returns Promise<Array<string>>

      -

      the list of worksheet names that have the filter applied.

      -
    • -
    -
    -
    - -

    getFieldAsync

    -
      -
    • getFieldAsync(): Promise<Field>
    • -
    -
      -
    • - -
      -
      -
      since
      -

      1.5.0 Fixed to properly return the field. Also requires Tableau 2019.2+.

      -
      -
      -
      -

      Returns Promise<Field>

      -

      a promise containing the field for the filter.

      -
    • -
    -
    -
    - -

    setAppliedWorksheetsAsync

    -
      -
    • setAppliedWorksheetsAsync(applyToWorksheets: Array<string>): Promise<Array<string>>
    • -
    -
      -
    • - -
      -
      -

      Applies the filter to the specified list of worksheets. - If the worksheet(s) do not exist or do not contain the field in their data sources, an exception is thrown.

      -
      -
      -
      since
      -

      1.9.0 and Tableau 2022.2

      -
      -
      -
      -

      Parameters

      -
        -
      • -
        applyToWorksheets: Array<string>
        -
        -

        list of worksheets to apply the filter on

        -
        -
      • -
      -

      Returns Promise<Array<string>>

      -

      the list of worksheet names that have the filter applied

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/relativedatefilteroptions.html b/docs/interfaces/relativedatefilteroptions.html deleted file mode 100644 index b847e853..00000000 --- a/docs/interfaces/relativedatefilteroptions.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - RelativeDateFilterOptions | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface RelativeDateFilterOptions

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Options for Relative Date Filter

    -
    -
    -
    since
    -

    version 1.9.0 and Tableau 2022.2

    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - RelativeDateFilterOptions -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    Optional anchorDate

    -
    anchorDate: Date
    - -
    -
    -
    returns
    -

    the anchor date of the filter

    -
    -
    -
    -
    -
    - -

    periodType

    -
    periodType: PeriodType
    - -
    -
    -
    returns
    -

    The date period of the filter (years, months, etc.).

    -
    -
    -
    -
    -
    - -

    Optional rangeN

    -
    rangeN: undefined | number
    - -
    -
    -
    returns
    -

    When getRange returns LASTN or NEXTN, this is the N value (how many years, months, etc.).

    -
    -
    -
    -
    -
    - -

    rangeType

    -
    rangeType: DateRangeType
    - -
    -
    -
    returns
    -

    The range of the date filter.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/selectioncriteria.html b/docs/interfaces/selectioncriteria.html deleted file mode 100644 index 88e9fe33..00000000 --- a/docs/interfaces/selectioncriteria.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - SelectionCriteria | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface SelectionCriteria

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    SelectionCriteria interface is used to specify to the fieldName to values for Hierarchical, Categorical and Range based selections.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - SelectionCriteria -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    fieldName

    -
    fieldName: string
    - -
    -
    -

    Fieldname of the mark that is intended to be selected. - Hierarchical fields follow the convention of "[{parentField}].[{selectingField}]"

    -
    -
    -
    -
    - -

    value

    - - -
    -
    -

    Value that is intended to be selected. This can be specified as the list of values or a single value. - Range-based selections need to provide the value in the format of RangeValue interface.

    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/settings.html b/docs/interfaces/settings.html deleted file mode 100644 index 683f0372..00000000 --- a/docs/interfaces/settings.html +++ /dev/null @@ -1,540 +0,0 @@ - - - - - - Settings | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface Settings

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The settings namespace is used to get and set settings - values. You can use the settings to configure your extension. - The setting values are be persisted in a workbook.

    -
    -
    -
    -
    -

    Hierarchy

    - -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -

    Methods

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    isModified

    -
    isModified: boolean
    - -
    -
    -

    Indicates whether or not the settings have been - modified since the last call to saveAsync.

    -
    -
    -
    returns
    -

    True if settings have been modified, false otherwise.

    -
    -
    -
    -
    -
    -
    -

    Methods

    -
    - -

    addEventListener

    - -
      -
    • - -
      -
      -

      Adds a new event listener to the object. If this object does not support the specified eventType, - the method throws an exception. - The following table shows the event types supported by objects.

      -
      - - - - - - - - - - - - - - - - - - - - - - - -
      objecteventType
      WorksheetFilterChanged , MarkSelectionChanged, SummaryDataChanged
      ParameterParameterChanged
      SettingsSettingsChanged
      DashboardDashboardLayoutChanged, WorkbookFormattingChanged
      -
      -

      Parameters

      -
        -
      • -
        eventType: TableauEventType
        -
        -

        The type of event to register for. The type of event is a TableauEventType enumeration.

        -
        -
      • -
      • -
        handler: TableauEventHandlerFn
        -
        -

        The function which will be called when an event happens.

        -
        -
      • -
      -

      Returns TableauEventUnregisterFn

      -

      A helper function which can be called to remove this registration.

      -

      The following example sets up a listener in a worksheet for a mark selection event (MarkSelectionChanged). - When the event occurs, the data is reloaded. The addEventListener method returns a function that un-registers - the event handler. Call that function, in this case, unregisterEventHandlerFunction() to remove the registration.

      -
      // Add an event listener for the selection changed event on this sheet.
      -// Assigning the event to a variable just to make the example fit on the page here.
      -const markSelection = tableau.TableauEventType.MarkSelectionChanged;
      -//
      -unregisterEventHandlerFunction = worksheet.addEventListener(markSelection, function (selectionEvent) {
      -// When the selection changes, reload the data
      -loadSelectedMarks(worksheetName);
      -});
      -
      -// remove the event listener when done
      - unregisterEventHandlerFunction();
      -
      -
    • -
    -
    -
    - -

    erase

    -
      -
    • erase(key: string): void
    • -
    -
      -
    • - -
      -
      -

      Erases a settings key / value pair. If key isn't found, nothing happens.

      -
      -
      -

      Parameters

      -
        -
      • -
        key: string
        -
        -

        The key of the pair to erase.

        -
        -
      • -
      -

      Returns void

      -
    • -
    -
    -
    - -

    get

    -
      -
    • get(key: string): string | undefined
    • -
    -
      -
    • - -
      -
      -

      Gets a settings value or undefined if the value does not exist.

      -
      -
      -

      Parameters

      -
        -
      • -
        key: string
        -
        -

        The key to retrieve.

        -
        -
      • -
      -

      Returns string | undefined

      -

      The value or undefined if it does not exist.

      -
    • -
    -
    -
    - -

    getAll

    -
      -
    • getAll(): {}
    • -
    -
      -
    • - -
      -
      -

      Returns a copy of all the saved settings keys and values. - Modifying this value will have no effect on the class.

      -
      -
      -

      Returns {}

      -

      All the saved settings keys and values in a dictionary.

      -
        -
      • -
        [key: string]: string
        -
      • -
      -
    • -
    -
    -
    - -

    removeEventListener

    - -
      -
    • - -
      -
      -

      Removes an event listener if a matching one is found. If no matching listener exists, the method does nothing. - The handler function must the handler function specified in the call to the addEventListener method. Alternatively, use the function - returned from the call to addEventListener to unregister the event listener. - For more information, see Events and Event Handling.

      -
      -
      -

      Parameters

      - -

      Returns boolean

      -

      Whether or not an event listener was removed.

      -
    • -
    -
    -
    - -

    saveAsync

    -
      -
    • saveAsync(): Promise<{}>
    • -
    -
      -
    • - -
      -
      -

      Attempts to persist any currently modified settings key-value pairs. The saveAsync() method - should only be called in authoring mode.

      -
      -
      -

      Returns Promise<{}>

      -

      Promise containing the newly saved settings values.

      -
      tableau.extensions.settings.saveAsync().then(result => {
      -   console.log('Settings saved.');
      -   // ... process results
      -}).catch((error) => {
      -  // ...
      -  // ... code for error handling
      -});
      -
      -
    • -
    -
    -
    - -

    set

    -
      -
    • set(key: string, value: string): void
    • -
    -
      -
    • - -
      -
      -

      Adds or updates a settings key / value pair.

      -
      -
      -

      Parameters

      -
        -
      • -
        key: string
        -
        -

        The key to save.

        -
        -
      • -
      • -
        value: string
        -
        -

        The value to save.

        -
        -
      • -
      -

      Returns void

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/settingschangedevent.html b/docs/interfaces/settingschangedevent.html deleted file mode 100644 index a2528bc8..00000000 --- a/docs/interfaces/settingschangedevent.html +++ /dev/null @@ -1,252 +0,0 @@ - - - - - - SettingsChangedEvent | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface SettingsChangedEvent

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    An event which is raised when the settings of an extension are updated. - Should be listened for directly from the tableau.extensions.settings object.

    -
    -
    -
    -
    -

    Hierarchy

    - -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    newSettings

    -
    newSettings: {}
    - -
    -
    -
    returns
    -

    the new settings that were recently saved.

    -
    -
    -
    -
    -

    Type declaration

    -
      -
    • -
      [key: string]: string
      -
    • -
    -
    -
    -
    - -

    type

    - - -
    -
    -
    returns
    -

    The type of event which this class is representing.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/sheet.html b/docs/interfaces/sheet.html deleted file mode 100644 index 91f43093..00000000 --- a/docs/interfaces/sheet.html +++ /dev/null @@ -1,456 +0,0 @@ - - - - - - Sheet | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface Sheet

    -
    -
    -
    -
    -
    -
    -
    -

    Hierarchy

    - -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -

    Methods

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    name

    -
    name: string
    - -
    -
    -
    returns
    -

    The name of the sheet.

    -
    -
    -
    -
    -
    - -

    sheetType

    -
    sheetType: SheetType
    - -
    -
    -
    returns
    -

    The type of the sheet.

    -
    -
    -
    -
    -
    - -

    size

    -
    size: Size
    - -
    -
    -
    returns
    -

    Size of the sheet.

    -
    -
    -
    -
    -
    -
    -

    Methods

    -
    - -

    addEventListener

    - -
      -
    • - -
      -
      -

      Adds a new event listener to the object. If this object does not support the specified eventType, - the method throws an exception. - The following table shows the event types supported by objects.

      -
      - - - - - - - - - - - - - - - - - - - - - - - -
      objecteventType
      WorksheetFilterChanged , MarkSelectionChanged, SummaryDataChanged
      ParameterParameterChanged
      SettingsSettingsChanged
      DashboardDashboardLayoutChanged, WorkbookFormattingChanged
      -
      -

      Parameters

      -
        -
      • -
        eventType: TableauEventType
        -
        -

        The type of event to register for. The type of event is a TableauEventType enumeration.

        -
        -
      • -
      • -
        handler: TableauEventHandlerFn
        -
        -

        The function which will be called when an event happens.

        -
        -
      • -
      -

      Returns TableauEventUnregisterFn

      -

      A helper function which can be called to remove this registration.

      -

      The following example sets up a listener in a worksheet for a mark selection event (MarkSelectionChanged). - When the event occurs, the data is reloaded. The addEventListener method returns a function that un-registers - the event handler. Call that function, in this case, unregisterEventHandlerFunction() to remove the registration.

      -
      // Add an event listener for the selection changed event on this sheet.
      -// Assigning the event to a variable just to make the example fit on the page here.
      -const markSelection = tableau.TableauEventType.MarkSelectionChanged;
      -//
      -unregisterEventHandlerFunction = worksheet.addEventListener(markSelection, function (selectionEvent) {
      -// When the selection changes, reload the data
      -loadSelectedMarks(worksheetName);
      -});
      -
      -// remove the event listener when done
      - unregisterEventHandlerFunction();
      -
      -
    • -
    -
    -
    - -

    findParameterAsync

    -
      -
    • findParameterAsync(parameterName: string): Promise<Parameter | undefined>
    • -
    -
      -
    • - -
      -
      -

      Searches for a parameter with the given name.

      -
      -
      -

      Parameters

      -
        -
      • -
        parameterName: string
        -
        -

        The name of the parameter to find.

        -
        -
      • -
      -

      Returns Promise<Parameter | undefined>

      -

      The parameter with the given name, or undefined if it does not exist.

      -
    • -
    -
    -
    - -

    getParametersAsync

    -
      -
    • getParametersAsync(): Promise<Array<Parameter>>
    • -
    -
      -
    • - -
      -
      -

      Returns Promise<Array<Parameter>>

      -

      A collection of all the Tableau parameters that are used in this workbook.

      -
    • -
    -
    -
    - -

    removeEventListener

    - -
      -
    • - -
      -
      -

      Removes an event listener if a matching one is found. If no matching listener exists, the method does nothing. - The handler function must the handler function specified in the call to the addEventListener method. Alternatively, use the function - returned from the call to addEventListener to unregister the event listener. - For more information, see Events and Event Handling.

      -
      -
      -

      Parameters

      - -

      Returns boolean

      -

      Whether or not an event listener was removed.

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/size.html b/docs/interfaces/size.html deleted file mode 100644 index 5277235d..00000000 --- a/docs/interfaces/size.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - Size | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface Size

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Represents a width and height in pixels.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - Size -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    height

    -
    height: number
    - -
    -
    -
    returns
    -

    Height of the size object.

    -
    -
    -
    -
    -
    - -

    width

    -
    width: number
    - -
    -
    -
    returns
    -

    Width of the size object.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/summarydatachangedevent.html b/docs/interfaces/summarydatachangedevent.html deleted file mode 100644 index 1d75ac23..00000000 --- a/docs/interfaces/summarydatachangedevent.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - SummaryDataChangedEvent | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface SummaryDataChangedEvent

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    An event which is raised when summary data is changed for a worksheet or when a worksheet's data source is refreshed

    -
    -
    -
    since
    -

    1.11.0 and Tableau 2024.1

    -
    -
    -
    -
    -
    -

    Hierarchy

    - -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    sheet

    -
    sheet: Sheet
    - -
    -
    -
    returns
    -

    The sheet which was the source of this event.

    -
    -
    -
    -
    -
    - -

    type

    - - -
    -
    -
    returns
    -

    The type of event which this class is representing.

    -
    -
    -
    -
    -
    - -

    worksheet

    -
    worksheet: Worksheet
    - -
    -
    -
    returns
    -

    The worksheet which was the source of this event.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/tableauerror.html b/docs/interfaces/tableauerror.html deleted file mode 100644 index 7c78d9a5..00000000 --- a/docs/interfaces/tableauerror.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - TableauError | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface TableauError

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Custom error class that extends the default JavaScript Error object.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - Error -
        -
      • - TableauError -
      • -
      -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    Error

    -
    Error: ErrorConstructor
    - -
    -
    - -

    errorCode

    -
    errorCode: ErrorCodes
    - -
    -
    -
    returns
    -

    Tableau specific ErrorCode

    -
    -
    -
    -
    -
    - -

    message

    -
    message: string
    - -
    -
    - -

    name

    -
    name: string
    - -
    -
    - -

    Optional stack

    -
    stack: undefined | string
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/tableauevent.html b/docs/interfaces/tableauevent.html deleted file mode 100644 index cd5511ae..00000000 --- a/docs/interfaces/tableauevent.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - TableauEvent | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface TableauEvent

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    An event object represents a notification that some sort of state has changed. - This is the base event interface. All events will inherit this type.

    -
    -
    -
    -
    -

    Hierarchy

    - -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    type

    - - -
    -
    -
    returns
    -

    The type of event which this class is representing.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/tableausheetevent.html b/docs/interfaces/tableausheetevent.html deleted file mode 100644 index 07ad9f0f..00000000 --- a/docs/interfaces/tableausheetevent.html +++ /dev/null @@ -1,248 +0,0 @@ - - - - - - TableauSheetEvent | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface TableauSheetEvent

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    An event which is related to a particular Sheet (worksheet, dashboard, story) in the workbook.

    -
    -
    -
    -
    -

    Hierarchy

    - -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    sheet

    -
    sheet: Sheet
    - -
    -
    -
    returns
    -

    The sheet which was the source of this event.

    -
    -
    -
    -
    -
    - -

    type

    - - -
    -
    -
    returns
    -

    The type of event which this class is representing.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/tableauworksheetevent.html b/docs/interfaces/tableauworksheetevent.html deleted file mode 100644 index 5fdeb04f..00000000 --- a/docs/interfaces/tableauworksheetevent.html +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - TableauWorksheetEvent | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface TableauWorksheetEvent

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    An event which is related to a particular Worksheet in the workbook.

    -
    -
    -
    -
    -

    Hierarchy

    - -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    sheet

    -
    sheet: Sheet
    - -
    -
    -
    returns
    -

    The sheet which was the source of this event.

    -
    -
    -
    -
    -
    - -

    type

    - - -
    -
    -
    returns
    -

    The type of event which this class is representing.

    -
    -
    -
    -
    -
    - -

    worksheet

    -
    worksheet: Worksheet
    - -
    -
    -
    returns
    -

    The worksheet which was the source of this event.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/tablesummary.html b/docs/interfaces/tablesummary.html deleted file mode 100644 index ab89ed48..00000000 --- a/docs/interfaces/tablesummary.html +++ /dev/null @@ -1,279 +0,0 @@ - - - - - - TableSummary | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface TableSummary

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Represents a table of data in a data source.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - TableSummary -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    connectionId

    -
    connectionId: string
    - -
    -
    -
    returns
    -

    the ID of the connection that this table belongs to.

    -
    -
    -
    -
    -
    - -

    customSQL

    -
    customSQL: string | undefined
    - -
    -
    -
    returns
    -

    the custom SQL used to create this table if it was created with Custom SQL, undefined otherwise.

    -
    -
    -
    -
    -
    - -

    id

    -
    id: string
    - -
    -
    -
    returns
    -

    Unique string representing this table.

    -
    -
    -
    -
    -
    - -

    name

    -
    name: string
    - -
    -
    -
    returns
    -

    The name of the table (i.e. the caption).

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/tooltipcontext.html b/docs/interfaces/tooltipcontext.html deleted file mode 100644 index ac57c182..00000000 --- a/docs/interfaces/tooltipcontext.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - TooltipContext | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface TooltipContext

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Provides the necessary information for how to display a Tableau tooltip.

    -
    -
    -
    since
    -

    1.12.0 and Tableau 2024.2

    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - TooltipContext -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    tooltipAnchorPoint

    -
    tooltipAnchorPoint: Point
    - -
    -
    -

    Indicates where the tooltip should be displayed relative to the top left of the visualization.

    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/ui.html b/docs/interfaces/ui.html deleted file mode 100644 index fc0c45a4..00000000 --- a/docs/interfaces/ui.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - UI | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface UI

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The UI namespace contains methods that allow an extension to display a popup - dialog window. A modal dialog can be useful in authentication or configuration scenarios, - or when extra situational UI space is needed. Only one dialog can be displayed at a time per extension. - Inside the popup dialog window, another extension can be loaded and run. This dialog extension will have full access - to the functions provided by the Extensions API. One difference between the extension running in the popup dialog window - and an extension running in the dashboard is that the popup dialog window must call - the initializeDialogAsync() method instead of initializeAsync() to initialize the extension.

    -
    -

    Note If you want to use a popup dialog window on Tableau Server, you need to let users know that their browser must be - configured to allow popups.

    -
    -
    -
    -

    Hierarchy

    -
      -
    • - UI -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Methods

    - -
    -
    -
    -
    -
    -

    Methods

    -
    - -

    closeDialog

    -
      -
    • closeDialog(payload?: undefined | string): void
    • -
    -
      -
    • - -
      -
      -

      The closeDialog method must be called from extension running in the popup dialog window.

      -
      -
      -

      Parameters

      -
        -
      • -
        Optional payload: undefined | string
        -
        -

        The payload is optional, and if specified, it is made available to parent extension when - this popup dialog closes. If the extension running in the popup dialog window does not return - a payload, you must still provide an empty string " " as a return value.

        -
           tableau.extensions.ui.closeDialog('myPayload string');
        -

        The following example shows a call to the closeDialog method when the dialog extension does not return a payload.

        -
           // specify an empty string if no payload is returned
        -   tableau.extensions.ui.closeDialog('');
        -
        -
      • -
      -

      Returns void

      -
    • -
    -
    -
    - -

    displayDialogAsync

    -
      -
    • displayDialogAsync(url: string, payload?: undefined | string, dialogOptions?: DialogOptions): Promise<string>
    • -
    -
      -
    • - -
      -
      -
      since
      -

      1.3.0 A relative path may be used beginning with Tableau 2019.3 and version 1.3.0 of the Extensions API library. - The relative path 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. - Note If your extension is meant for use in versions of Tableau prior to 2019.3, - you should use an absolute url.

      -
      -
      -
      -

      Parameters

      -
        -
      • -
        url: string
        -
        -

        The url of the 'dialog extension' to navigate to in the dialog. The url must - belong to the same domain as the parent extension.

        -
        -
      • -
      • -
        Optional payload: undefined | string
        -
        -

        The payload is optional, and is used to provide data to the popup dialog window - at startup. The payload will be returned to the dialog extension as the return - value of the call to the tableau.extensions.ui.initializeDialogAsync function. - If no payload is provided, you must indicate this with an empty string " ".

        -
        -
      • -
      • -
        Optional dialogOptions: DialogOptions
        -
        -

        Specifies the options for the popup dialog window. - The dialogOptions has properties for width and height (in pixels) and a property for the dialog's style. - The dialog style can be a window, a modal dialog, or a modeless dialog. If style is not specified, window will be used. - You pass these properties to the displayDialogAsync function, as follows: - {width: number, height: number, dialogStyle: DialogStyle}

        -
        -
      • -
      -

      Returns Promise<string>

      -

      A promise that resolves when the dialog has been closed. It will contain a - payload as a string provided by the dialog extension. The promise is rejected if - the user manually closes the dialog window (for example, by clicking the 'X' in window). - It is good practice to handle this error condition with a catch block, as in the following example.

      -
        tableau.extensions.ui.displayDialogAsync(popupUrl, defaultPayload, { width: 500, height: 500 }).then((closePayload) => {
      -    //
      -    // The promise is resolved when the dialog has been closed as expected, meaning that
      -    // the popup extension has called tableau.extensions.ui.closeDialog() method.
      -    // The close payload (closePayload) is returned from the popup extension
      -    // via the closeDialog() method.
      -    //
      -   }).catch((error) => {
      -    // One expected error condition is when the popup is closed by the user (meaning the user
      -    // clicks the 'X' in the top right of the dialog). This can be checked for like so:
      -      switch(error.errorCode) {
      -        case tableau.ErrorCodes.DialogClosedByUser:
      -          console.log("Dialog was closed by user");
      -          break;
      -        default:
      -      console.error(error.message);
      -      }
      -    });
      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/visualspecification.html b/docs/interfaces/visualspecification.html deleted file mode 100644 index 2f00955c..00000000 --- a/docs/interfaces/visualspecification.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - VisualSpecification | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface VisualSpecification

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    since
    -

    1.11.0 - Represents a collection of fields on various encodings as well as other viz specific information for a worksheet

    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - VisualSpecification -
    • -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Properties

    -
    - -

    activeMarksSpecificationIndex

    -
    activeMarksSpecificationIndex: number
    - -
    -
    - -

    columnFields

    -
    columnFields: FieldInstance[]
    - -
    -
    - -

    marksSpecifications

    -
    marksSpecifications: MarksSpecification[]
    - -
    -
    - -

    rowFields

    -
    rowFields: FieldInstance[]
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/workbook.html b/docs/interfaces/workbook.html deleted file mode 100644 index 2c319a96..00000000 --- a/docs/interfaces/workbook.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - Workbook | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface Workbook

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The Workbook represents the currently open workbook.

    -
    -
    -
    since
    -

    1.6.0 and Tableau 2021.3

    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - Workbook -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Methods

    - -
    -
    -
    -
    -
    -

    Methods

    -
    - -

    getAllDataSourcesAsync

    -
      -
    • getAllDataSourcesAsync(): Promise<Array<DataSource>>
    • -
    -
      -
    • - -
      -
      -

      Gets the data sources for this workbook. Note that calling this method might negatively impact performance - and responsiveness of the viz that your extension is added to. The method is not entirely - asynchronous and includes some serial operations.

      -
      -
      -
      since
      -

      1.6.0 and Tableau 2021.3

      -
      -
      -
      -

      Returns Promise<Array<DataSource>>

      -

      All data sources used in this workbook.

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/workbookformatting.html b/docs/interfaces/workbookformatting.html deleted file mode 100644 index 1d24b32c..00000000 --- a/docs/interfaces/workbookformatting.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - WorkbookFormatting | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface WorkbookFormatting

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The Workbook formatting contains an array of Formatting sheets. - Each of these sheets can be identified by the ClassNameKey and - contains the CSS properties needed to mimic the formatting on your workbook.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - WorkbookFormatting -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    formattingSheets

    -
    formattingSheets: Array<FormattingSheet>
    - -
    -
    -
    returns
    -

    An array of formatting sheets that contain the css properties for a tableau workbook.

    -
    -
    since
    -

    1.7.0 and Tableau 2021.4

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/workbookformattingchangedevent.html b/docs/interfaces/workbookformattingchangedevent.html deleted file mode 100644 index 94b9fec9..00000000 --- a/docs/interfaces/workbookformattingchangedevent.html +++ /dev/null @@ -1,243 +0,0 @@ - - - - - - WorkbookFormattingChangedEvent | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface WorkbookFormattingChangedEvent

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    An event which is related to a worksheet's formatting (worksheet, dashboard, story) in the workbook.

    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - TableauEvent -
        -
      • - WorkbookFormattingChangedEvent -
      • -
      -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    formatting

    -
    formatting: WorkbookFormatting
    - -
    -
    -
    returns
    -

    The new extension formatting

    -
    -
    -
    -
    -
    - -

    type

    - - -
    -
    -
    returns
    -

    The type of event which this class is representing.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/worksheet.html b/docs/interfaces/worksheet.html deleted file mode 100644 index 797c3cbd..00000000 --- a/docs/interfaces/worksheet.html +++ /dev/null @@ -1,1728 +0,0 @@ - - - - - - Worksheet | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface Worksheet

    -
    -
    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - Sheet -
        -
      • - Worksheet -
      • -
      -
    • -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    All Extensions Properties

    -
    - -

    name

    -
    name: string
    - -
    -
    -
    returns
    -

    The name of the sheet.

    -
    -
    -
    -
    -
    - -

    sheetType

    -
    sheetType: SheetType
    - -
    -
    -
    returns
    -

    The type of the sheet.

    -
    -
    -
    -
    -
    - -

    size

    -
    size: Size
    - -
    -
    -
    returns
    -

    Size of the sheet.

    -
    -
    -
    -
    -
    -
    -

    Dashboard Extensions Properties

    -
    - -

    parentDashboard

    -
    parentDashboard: Dashboard
    - -
    -
    -
    returns
    -

    The dashboard object to which this worksheet belongs.

    -
    -
    -
    -
    -
    -
    -

    All Extensions Methods

    -
    - -

    addEventListener

    - -
      -
    • - -
      -
      -

      Adds a new event listener to the object. If this object does not support the specified eventType, - the method throws an exception. - The following table shows the event types supported by objects.

      -
      - - - - - - - - - - - - - - - - - - - - - - - -
      objecteventType
      WorksheetFilterChanged , MarkSelectionChanged, SummaryDataChanged
      ParameterParameterChanged
      SettingsSettingsChanged
      DashboardDashboardLayoutChanged, WorkbookFormattingChanged
      -
      -

      Parameters

      -
        -
      • -
        eventType: TableauEventType
        -
        -

        The type of event to register for. The type of event is a TableauEventType enumeration.

        -
        -
      • -
      • -
        handler: TableauEventHandlerFn
        -
        -

        The function which will be called when an event happens.

        -
        -
      • -
      -

      Returns TableauEventUnregisterFn

      -

      A helper function which can be called to remove this registration.

      -

      The following example sets up a listener in a worksheet for a mark selection event (MarkSelectionChanged). - When the event occurs, the data is reloaded. The addEventListener method returns a function that un-registers - the event handler. Call that function, in this case, unregisterEventHandlerFunction() to remove the registration.

      -
      // Add an event listener for the selection changed event on this sheet.
      -// Assigning the event to a variable just to make the example fit on the page here.
      -const markSelection = tableau.TableauEventType.MarkSelectionChanged;
      -//
      -unregisterEventHandlerFunction = worksheet.addEventListener(markSelection, function (selectionEvent) {
      -// When the selection changes, reload the data
      -loadSelectedMarks(worksheetName);
      -});
      -
      -// remove the event listener when done
      - unregisterEventHandlerFunction();
      -
      -
    • -
    -
    -
    - -

    annotateMarkAsync

    -
      -
    • annotateMarkAsync(mark: MarkInfo, annotationText: string): Promise<void>
    • -
    -
      -
    • - -
      -
      -

      Add an annotation to the specified mark. - This is intended to be passed a MarkInfo object received from a DataTable. - MarkInfo can be found in the DataTable returned from getSelectedMarksAsync or getHighlightedMarksAsync.

      -
      -
      -
      since
      -

      1.10.0 and Tableau 2022.4

      -

      The following example shows how you might call this method using a MarkInfo object.

      -
         const markCollection = await worksheet.getSelectedMarksAsync();
      -   const markToAnnotate = marksCollection.data[0].marksInfo[0];
      -   await worksheet.annotateMarkAsync(markToAnnotate, 'Manufacturing line #2 shutdown triggered');
      -
      -
      -

      Parameters

      -
        -
      • -
        mark: MarkInfo
        -
        -

        The mark to annotate.

        -
        -
      • -
      • -
        annotationText: string
        -
        -

        The text to display in the annotation.

        -
        -
      • -
      -

      Returns Promise<void>

      -

      Empty promise that resolves when the annotation is complete.

      -
    • -
    -
    -
    - -

    applyFilterAsync

    - -
      -
    • - -
      -
      -

      Applies the list of provided categorical filter values.

      -
      -
      -

      Parameters

      -
        -
      • -
        fieldName: string
        -
        -

        The name of the field to filter on.

        -
        -
      • -
      • -
        values: Array<string>
        -
        -

        The list of values to filter on.

        -
        -
      • -
      • -
        updateType: FilterUpdateType
        -
        -

        The update type of this filter (add, all, remove, replace).

        -
        -
      • -
      • -
        filterOptions: FilterOptions
        -
        -

        Advanced filter options (isExcludeMode).

        -
        -
      • -
      -

      Returns Promise<string>

      -

      The field name that the filter is applied on.

      -
    • -
    -
    -
    - -

    applyHierarchicalFilterAsync

    - -
      -
    • - -
      -
      -

      Applies the list of provided hierarchial filter values.

      -
      -
      -
      since
      -

      1.10.0 and Tableau 2022.3

      -
      -
      -
      -

      Parameters

      -
        -
      • -
        fieldName: string
        -
        -

        The name of the field to filter on.

        -
        -
      • -
      • -
        values: Array<string> | HierarchicalLevels
        -
        -

        The list of values or levels to filter on.

        -
        -
      • -
      • -
        updateType: FilterUpdateType
        -
        -

        The update type of this filter (add, all, remove, replace).

        -
        -
      • -
      • -
        options: FilterOptions
        -
      • -
      -

      Returns Promise<string>

      -

      The field name that the filter is applied on.

      -
    • -
    -
    -
    - -

    applyRangeFilterAsync

    -
      -
    • applyRangeFilterAsync(fieldName: string, filterOptions: RangeFilterOptions): Promise<string>
    • -
    -
      -
    • - -
      -
      -

      Applies a range filter to a quantitative or date field.

      -
      -
      -
      since
      -

      1.10.0 Errors will now be thrown for invalid fields or values.

      -
      -
      -
      -

      Parameters

      -
        -
      • -
        fieldName: string
        -
        -

        The name of the field to filter on

        -
        -
      • -
      • -
        filterOptions: RangeFilterOptions
        -
        -

        Filter Options: min, max, nullOption. At least one of of min and max is required. - For applying date filters, UTC Date objects are expected (that is, var min = new Date(Date.UTC(1999, 0, 1))).

        -
        -
      • -
      -

      Returns Promise<string>

      -

      The field name that the filter is applied on.

      -
    • -
    -
    -
    - -

    applyRelativeDateFilterAsync

    - -
      -
    • - -
      -
      -

      Applies a relative date filter.

      -
      -
      -
      since
      -

      version 1.9.0 and Tableau 2022.2

      -

      The following example shows how to apply a relative date filter from a worksheet.

      -
       worksheet.applyRelativeDateFilterAsync(
      -   'Order Date',
      -   {
      -     anchorDate: new Date(Date.UTC(2022, 4, 13)),
      -     periodType: PeriodType.Years,
      -     rangeType: DateRangeType.LastN,
      -     rangeN: 1,
      -   }
      - );
      -
      -
      -

      Parameters

      -
        -
      • -
        fieldName: string
        -
        -

        The name of the field to filter on.

        -
        -
      • -
      • -
        options: RelativeDateFilterOptions
        -
        -

        The relative date filter options (anchorDate, periodType, rangeType, rangeN). When the rangeType is LASTN or NEXTN, the rangeN is required.

        -
        -
      • -
      -

      Returns Promise<string>

      -

      The field name that the filter is applied on.

      -
    • -
    -
    -
    - -

    clearFilterAsync

    -
      -
    • clearFilterAsync(fieldName: string): Promise<string>
    • -
    -
      -
    • - -
      -
      -

      Resets existing filters on the given field. - Categorical filters are reset to "All," and range filters are reset to the full range - Relative date filters can not be reset, consider using the applyRelativeDateFilterAsync API.

      -
      -
      -

      Parameters

      -
        -
      • -
        fieldName: string
        -
        -

        The name of the field to clear filter on.

        -
        -
      • -
      -

      Returns Promise<string>

      -

      The field to clear filter on.

      -
    • -
    -
    -
    - -

    clearSelectedMarksAsync

    -
      -
    • clearSelectedMarksAsync(): Promise<void>
    • -
    -
      -
    • - -
      -
      -

      Clears selected marks in the current worksheet.

      -
      -
      -

      Returns Promise<void>

      -

      Empty promise that resolves when the selection has been cleared.

      -

      The following example assumes that you have some marks already selected in the worksheet. After it has run, - you should have no marks selected, and you should see the console message.

      -
         worksheet.clearSelectedMarksAsync().then(function () {
      -       console.log('Your marks selection has been cleared!');
      -   })
      -
    • -
    -
    -
    - -

    findParameterAsync

    -
      -
    • findParameterAsync(parameterName: string): Promise<Parameter | undefined>
    • -
    -
      -
    • - -
      -
      -

      Searches for a parameter with the given name.

      -
      -
      -

      Parameters

      -
        -
      • -
        parameterName: string
        -
        -

        The name of the parameter to find.

        -
        -
      • -
      -

      Returns Promise<Parameter | undefined>

      -

      The parameter with the given name, or undefined if it does not exist.

      -
    • -
    -
    -
    - -

    getAnnotationsAsync

    -
      -
    • getAnnotationsAsync(): Promise<Array<Annotation>>
    • -
    -
      -
    • - -
      -
      -

      Retrieves a list of the annotations in the worksheet.

      -
      -
      -
      since
      -

      1.10.0 and Tableau 2022.4

      -

      The following example shows how you might call this method.

      -
         let annotations = await worksheet.getAnnotationsAsync();
      -   console.log(annotations);
      -
      -
      -

      Returns Promise<Array<Annotation>>

      -

      A list annotations in the worksheet.

      -
    • -
    -
    -
    - -

    getDataSourcesAsync

    -
      -
    • getDataSourcesAsync(): Promise<Array<DataSource>>
    • -
    -
      -
    • - -
      -
      -

      Gets the data sources for this worksheet. Note that calling this method might negatively impact performance - and responsiveness of the viz that your extension is added to. The method is not entirely - asynchronous and includes some serial operations.

      -
      -
      -

      Returns Promise<Array<DataSource>>

      -

      The primary data source and all of the secondary data sources for this worksheet. - By convention the first data source in the array is the primary.

      -

      The following example shows how you might find a specific data source of a worksheet, - using the getDataSourcesAsync() method. The example then chains the data source returned in the promise - to a call to the getUnderlyingDataAsync() method to access the data table.

      -
      worksheet.getDataSourcesAsync().then(datasources => {
      -  dataSource = datasources.find(datasource => datasource.name === "Sample - Superstore");
      -  return dataSource.getUnderlyingDataAsync();
      -}).then(dataTable => {
      -// process the dataTable...
      -});
      -
      -
    • -
    -
    -
    - -

    getFiltersAsync

    -
      -
    • getFiltersAsync(): Promise<Array<Filter>>
    • -
    -
      -
    • - -
      -
      -

      Gets the list of filters on a worksheet. Hierarchical filters are not yet supported

      -
      -
      -

      Returns Promise<Array<Filter>>

      -

      A promise that resolves to the collection of filters used in this worksheet.

      -
    • -
    -
    -
    - -

    getHighlightedMarksAsync

    - -
      -
    • - -
      -
      -

      Gets the data for the marks which are currently highlighted on the worksheet. - If there are no marks currently highlighted, an empty model is returned.

      -
      -
      -

      Returns Promise<MarksCollection>

      -

      The marks which are selected.

      -
    • -
    -
    -
    - -

    getParametersAsync

    -
      -
    • getParametersAsync(): Promise<Array<Parameter>>
    • -
    -
      -
    • - -
      -
      -

      Returns Promise<Array<Parameter>>

      -

      A collection of all the Tableau parameters that are used in this workbook.

      -
    • -
    -
    -
    - -

    getSelectedMarksAsync

    - -
      -
    • - -
      -
      -

      Gets the data for the marks which are currently selected on the worksheet. - If there are no marks currently selected, an empty model is returned.

      -
      -
      -

      Returns Promise<MarksCollection>

      -

      The marks that are selected.

      -
      // Call to get the selected marks for the worksheet
      -worksheet.getSelectedMarksAsync().then(function (marks) {
      -  // Get the first DataTable for our selected marks (usually there is just one)
      -  const worksheetData = marks.data[0];
      -
      -  // Map the data into a format for display, etc.
      -
      -});
      -
    • -
    -
    -
    - -

    getSummaryColumnsInfoAsync

    -
      -
    • getSummaryColumnsInfoAsync(): Promise<Array<Column>>
    • -
    -
      -
    • - -
      -
      -

      Gets the columns that are returned with getSummaryDataAsync.

      -
      -
      -
      since
      -

      1.5.0

      -
      -
      -
      -

      Returns Promise<Array<Column>>

      -

      The array of columns that describe the data in the worksheet.

      -
    • -
    -
    -
    - -

    getSummaryDataAsync

    - -
      -
    • - -
      -
      -

      Gets the summary data table for this worksheet. - Warning: getSummaryDataAsync can fail with a worksheet with many rows of data and is now deprecated.

      -
      -
      -
      deprecated
      -

      since 1.10.0 Use getSummaryDataReaderAsync to avoid failures with many rows of data.

      -
      -

      Note: The getSummaryDataAsync and getSummaryDataReaderAsync methods return the data that is currently - in the viz, with parameters, calculated fields, and sorting applied. To access full data, that is - the underlying data without the additional fields and processing you have added in Tableau, use - the Worksheet.getUnderlyingTableDataAsync and Worksheet.getUnderlyingTableDataReaderAsync methods.

      -
      -

      The following example shows how to replace unsafe usage of getSummaryDataAsync with - getSummaryDataReaderAsync and getAllPagesAsync, assuming you have less than 4,000,000 - rows of data. -

      -
      const dataTableReader = await worksheet.getSummaryDataReaderAsync();
      -const dataTable = await dataTableReader.getAllPagesAsync();
      -await dataTableReader.releaseAsync();
      -// ... process data table ...

      -

      The following example shows how to replace unsafe usage of getSummaryDataAsync with - getSummaryDataReaderAsync and getPageAsync and work with individual - pages.

      -
      -
      const dataTableReader = await worksheet.getSummaryDataReaderAsync();
      -for (let currentPage = 0; currentPage < dataTableReader.pageCount; currentPage++) {
      -  const dataTablePage = await dataTableReader.getPageAsync(currentPage);
      -  // ... process current page ....
      -}
      -await dataTableReader.releaseAsync();
      -
      -
      -

      Parameters

      -
        -
      • -
        Optional options: GetSummaryDataOptions
        -
        -

        Collection of options to change the behavior of the call.

        -
        -
      • -
      -

      Returns Promise<DataTable>

      -

      A data table containing the summary data for the worksheet.

      -
    • -
    -
    -
    - -

    getSummaryDataReaderAsync

    - -
      -
    • - -
      -
      -

      Gets a summary data table reader for this worksheet. - Only one active DataTableReader for summary data is supported.

      -
      -
      -

      Note: The getSummaryDataAsync and getSummaryDataReaderAsync methods return the data that is currently - in the viz, with parameters, calculated fields, and sorting applied. To access full data, that is - the underlying data without the additional fields and processing you have added in Tableau, use - the Worksheet.getUnderlyingTableDataAsync and Worksheet.getUnderlyingTableDataReaderAsync methods.

      -
      -
      -

      Parameters

      -
        -
      • -
        Optional pageRowCount: undefined | number
        -
        -

        The number of rows per page. The default and maximum is 10,000 rows.

        -
        -
      • -
      • -
        Optional options: GetSummaryDataOptions
        -
        -

        Collection of options to change the behavior of the reader.

        -
        -
      • -
      -

      Returns Promise<DataTableReader>

      -

      A data table reader to access the summary data for the worksheet.

      -

      The following example shows the methods to get and use the summary data reader for all rows in a worksheet.

      -
      const dataTableReader = await worksheet.getSummaryDataReaderAsync();
      -for (let currentPage = 0; currentPage < dataTableReader.pageCount; currentPage++) {
      -  let dataTablePage = await dataTableReader.getPageAsync(currentPage);
      -  // ... process current page ....
      -}
      -await dataTableReader.releaseAsync();
      -
    • -
    -
    -
    - -

    getUnderlyingDataAsync

    - - -
    -
    - -

    getUnderlyingTableDataAsync

    - -
      -
    • - -
      -
      -

      Gets the underlying data table for the given logical table id. - Use the getUnderlyingTablesAsync method to identify the logical tables.

      -
      -
      -
      since
      -

      1.4.0

      -
      -

      Note: Use the getUnderlyingTableDataAsync method to access the full data, that is the underlying - data without the parameters, calculated fields, and processing you might have added in Tableau. - To access just the data that is currently in the viz, with parameters, - calculated fields, and sorting applied, use the Worksheet.getSummaryDataAsync and - Worksheet.getSummaryDataReaderAsync methods.

      -
      -

      You can use the getUnderlyingDataOptions.maxRows property to request the number of rows of data to return. - If unspecified (maxRows == '0'), the call to getUnderlyingTableDataAsync requests all rows in the logical table. - Note that the maximum number of rows returned from the getUnderlyingTableDataAsync() method is limited - to 10,000 rows. You can use the DataTable property, isTotalRowCountLimited, to test whether there is - more data. A value of true indicates that the calling function requested more rows than the limit (10,000) and the - underlying data source contains more rows than can be returned.

      -
      -
      since
      -

      1.5.0 You can use the GetUnderlyingDataOptions.includeDataValuesOption property to optimize performance - by restricting the properties included in the returned DataValues.

      -
      -
      see
      -

      getUnderlyingTableDataReaderAsync to read more than 10,000 rows.

      -
      const logicalTables = await worksheet.getUnderlyingTablesAsync();
      -const dataTable = await worksheet.getUnderlyingTableDataAsync(logicalTables[0].id)
      -// process the dataTable...
      -
      -
      -

      Parameters

      -
        -
      • -
        logicalTableId: string
        -
        -

        logical table id.

        -
        -
      • -
      • -
        Optional options: GetUnderlyingDataOptions
        -
        -

        Collection of options to change the behavior of the call.

        -
        -
      • -
      -

      Returns Promise<DataTable>

      -

      A data table containing the underlying data for the given logical table id

      -
    • -
    -
    -
    - -

    getUnderlyingTableDataReaderAsync

    - -
      -
    • - -
      -
      -

      Gets a underlying data table reader for the given logical table id. - Use the getUnderlyingTablesAsync method to identify the logical tables. - Only one active DataTableReader per logical table id is supported.

      -
      -
      -

      Note: Use the getUnderlyingTableDataReaderAsync method to access the full data, that is - the underlying data without the parameters, calculated fields, and processing you might - have added in Tableau. To access just the data that is currently in the viz, with parameters, - calculated fields, and sorting applied use the Worksheet.getSummaryDataAsync and - Worksheet.getSummaryDataReaderAsync methods.

      -
      -

      The getUnderlyingTableDataReaderAsync method attempts to prepare all the rows of the underlying table to be read as pages. - However, there is a limit to the number of rows that can be prepared. The default limit is 1 million rows of data. - You can change the default limit with the Tableau Server (Cloud) or Tableau Desktop option: ExtensionsAndEmbeddingReaderRowLimit. - If the underlying table has many columns, getUnderlyingTableDataReaderAsync can be sped up by only requesting - native data values in the GetUnderlyingDataOptions.

      -
      -

      Parameters

      -
        -
      • -
        logicalTableId: string
        -
        -

        logical table id.

        -
        -
      • -
      • -
        Optional pageRowCount: undefined | number
        -
        -

        The number of rows per page. The default and maximum is 10,000 rows.

        -
        -
      • -
      • -
        Optional options: GetUnderlyingDataOptions
        -
        -

        Collection of options to change the behavior of the reader.

        -
        -
      • -
      -

      Returns Promise<DataTableReader>

      -

      A data table reader to access the underlying data for the given logical table id.

      -

      The following example shows getting the first page of underlying data.

      -
      // Call to get the underlying logical tables used by the worksheet
      -const underlyingTablesData = await worksheet.getUnderlyingTablesAsync();
      -const logicalTableId = underlyingTablesData[0].id;
      -// Use the above logicalTableId to get the underlying data reader on the active sheet
      -const dataTableReader = await worksheet.getUnderlyingTableDataReaderAsync(logicalTableId);
      -const page = await dataTableReader.getPageAsync(0);
      -// ... process first page of data table ...
      -await dataTableReader.releaseAsync();
      -
    • -
    -
    -
    - -

    getUnderlyingTablesAsync

    -
      -
    • getUnderlyingTablesAsync(): Promise<Array<LogicalTable>>
    • -
    -
      -
    • - -
      -
      -

      Gets the underlying logical tables used by the worksheet. The resulting logical tables are determined by the measures in the worksheet. - If a worksheet's data source contains multiple logical tables and the worksheet contains only measures from one logical table, this API - will return one logical table.

      -
      -
      -
      since
      -

      1.4.0

      -
      -
      -
      -

      Returns Promise<Array<LogicalTable>>

      -

      An array of logical tables corresponding to the measures referenced by the worksheet.

      -
      // Call to get the underlying logical tables used by the worksheet
      -worksheet.getUnderlyingTablesAsync().then(function (logicalTables) {
      -  // Get the first logical table's id
      -  const logicalTableId = logicalTables[0].id;
      -
      -  // Use the above logicalTableId to then get worksheet's underlying data
      -  // by calling worksheet.getUnderlyingTableDataAsync(logicalTableId)
      -
      -});
      -
    • -
    -
    -
    - -

    getVisualSpecificationAsync

    - -
      -
    • - -
      -
      -

      Returns the visual specification for the worksheet, which can be used to get - the mappings from fields to encodings backing the visual within the worksheet

      -
      -
      -
      since
      -

      1.11.0 and Tableau 2024.1

      -
      -
      -
      -

      Returns Promise<VisualSpecification>

      -

      Promise containing the VisualSpecification

      -
    • -
    -
    -
    - -

    removeAnnotationAsync

    -
      -
    • removeAnnotationAsync(annotation: Annotation): Promise<void>
    • -
    -
      -
    • - -
      -
      -

      Removes the corresponding annotation from the worksheet it belongs to. - This is intended to be passed a Annotation object received from getAnnotationsAsync.

      -
      -
      -
      since
      -

      1.10.0 and Tableau 2022.4

      -

      The following example shows how you might call this method using an annotation.

      -
         for (const annotation of annotations) {
      -     await worksheet.removeAnnotationAsync(annotation);
      -   }
      -
      -
      -

      Parameters

      -
        -
      • -
        annotation: Annotation
        -
        -

        The annotation to remove.

        -
        -
      • -
      -

      Returns Promise<void>

      -

      Empty promise that resolves when the annotation is removed.

      -
    • -
    -
    -
    - -

    removeEventListener

    - -
      -
    • - -
      -
      -

      Removes an event listener if a matching one is found. If no matching listener exists, the method does nothing. - The handler function must the handler function specified in the call to the addEventListener method. Alternatively, use the function - returned from the call to addEventListener to unregister the event listener. - For more information, see Events and Event Handling.

      -
      -
      -

      Parameters

      - -

      Returns boolean

      -

      Whether or not an event listener was removed.

      -
    • -
    -
    -
    - -

    selectMarksByValueAsync

    - -
      -
    • - -
      -
      -

      Selects the marks specified by value using the SelectionCriteria interface. - This is intended for manual construction of the desired selections.

      -
      -
      -
      since
      -

      1.10.0 Errors will now be thrown for invalid fields or values.

      -
      -

      The following example shows how you might call this method using state names as the SelectionCriteria. - The SelectionUpdateType is replace (tableau.SelectionUpdateType.Replace), so these values replace - the marks that are currently selected.

      -
         worksheet.selectMarksByValueAsync([{
      -        fieldName: 'State',
      -        value: ['Texas', 'Washington', 'California']
      -    }], tableau.SelectionUpdateType.Replace );
      -
      -
      -
      -

      Parameters

      -
        -
      • -
        selectionCriteria: Array<SelectionCriteria>
        -
        -

        A list of criteria for which marks to select.

        -
        -
      • -
      • -
        updateType: SelectionUpdateType
        -
        -

        The type of selection to make: add, remove, or replace.

        -
        -
      • -
      -

      Returns Promise<void>

      -

      Empty promise that resolves when the selection is complete.

      -
    • -
    -
    -
    -
    -

    Viz Extensions Methods

    -
    - -

    getTooltipTextAsync

    -
      -
    • getTooltipTextAsync(tupleId: number): Promise<String>
    • -
    -
      -
    • - -
      -
      -

      Method to get the text of the tooltip that would be displayed for a given tuple id. Currently supported for web only.

      -
      -

      You can find the tuple id for a row of data by subtracting the index of the row from the total number of rows. - For example, if you have 10 rows, and want to know the tuple id associated with the third row, it will be 7 (10 - 3 = 7). The last row of data will always have the tuple id of 1.

      -

      Passing in an invalid tuple id will not throw. -

      -
      let navigatedTuple = -1;
      -let updateScreenReaderElement = (screenReadertext) => {
      -  // updates an element to be read out by screen readers
      -};
      -
      -let updateNavigatedTuple = (keyboardEvent) => {
      -  switch (keyboardEvent.key) {
      -    case 'ArrowLeft':
      -      navigatedTuple = navigatedTuple - 1;
      -      break;
      -    case 'ArrowRight':
      -      navigatedTuple = navigatedTuple + 1;
      -      break;
      -    default:
      -      break;
      -  }
      -  // do any work to show visual indication of a mark being navigated to
      -};
      -
      -svg.on('keydown', (keyboardEvent) => {
      -  updateNavigatedTuple(keyboardEvent);
      -  tableau.extensions.worksheetContent.worksheet
      -    .getTooltipTextAsync(navigatedTuple)
      -    .then((response) => {
      -      console.log(response.result);
      -      updateScreenReaderElement(response.result);
      -    })
      -    .catch((error) => console.log('Failed to get tooltip text because of: ', error));
      -});
      -
      -
      since
      -

      1.12.0 and Tableau 2024.2

      -
      -
      -
      -

      Parameters

      -
        -
      • -
        tupleId: number
        -
      • -
      -

      Returns Promise<String>

      -

      Returns promise that resolves to a string describing the tooltip text for a given tuple id and rejects on error

      -
    • -
    -
    -
    - -

    hoverTupleAsync

    -
      -
    • hoverTupleAsync(hoveredTuple: number, tooltip?: TooltipContext | null, allowHoverActions?: undefined | false | true): Promise<void>
    • -
    -
      -
    • - -
      -
      -

      Method to execute hover actions and render tooltip for a given tuple representing a mark in the visualization. - If the tooltip parameter is included it will show the tooltip when the mark is hovered over. - If null or no tooltip parameter is passed, no tooltip is shown. - Hover actions are run by default, but passing false for the allowHoverActions parameter will prevent their execution.

      -
      -

      The hoveredTuple parameter is a tuple id. You can find the tuple id for a row of data by subtracting the index of the row from the total number of rows. - For example, if you have 10 rows, and want to know the tuple id associated with the third row, it will be 7 (10 - 3 = 7). The last row of data will always have the tuple id of 1.

      -

      Passing in an invalid tuple id will not throw and will clear the tooltip. -

      -
      svg.on('mousemove', (mouseEvent) => {
      - const myHoveredTuple = 10;
      - tableau.extensions.worksheetContent.worksheet.hoverTupleAsync(myHoveredTuple, { tooltipAnchorPoint: { x: mouseEvent.pageX, y: mouseEvent.pageY } })
      -   .then(() => console.log('Done'))
      -   .catch((error) => console.log('Failed to hover because of: ', error));
      - });
      -
      -
      since
      -

      1.12.0 and Tableau 2024.2

      -
      -
      -
      -

      Parameters

      -
        -
      • -
        hoveredTuple: number
        -
      • -
      • -
        Optional tooltip: TooltipContext | null
        -
      • -
      • -
        Optional allowHoverActions: undefined | false | true
        -
      • -
      -

      Returns Promise<void>

      -

      Returns empty promise that resolves when the extension host has successfully been informed of the request and rejects on error

      -
    • -
    -
    -
    - -

    leaveMarkNavigationAsync

    -
      -
    • leaveMarkNavigationAsync(): Promise<void>
    • -
    -
      -
    • - -
      -
      -

      Notifies the scene of a desire to leave mark-level keyboard navigation and return to scene-level keyboard navigation. - Used when implementing keyboard navigation within a visualization, an integral part of building accessibility into a visualization. - Currently supported for the web only. -

      -
      -
      svg.on('keyup', (keyboardEvent) => {
      -  if (keyboardEvent.key == "Escape") {
      -    tableau.extensions.worksheetContent.worksheet
      -      .leaveMarkNavigationAsync()
      -      .then(() => console.log('Done'))
      -      .catch((error) => console.log('Failed to leave mark-level keyboard navigation because of: ', error));
      -  }
      -});
      -
      -
      since
      -

      1.12.0 and Tableau 2024.2

      -
      -
      -
      -

      Returns Promise<void>

      -

      Returns empty promise that resolves when the extension host has successfully been informed of the request and rejects on error

      -
    • -
    -
    -
    - -

    selectTuplesAsync

    - -
      -
    • - -
      -
      -

      Method to modify selection, execute select actions, and render tooltip for a given list of tuples representing a mark or marks in the visualization. - If the tooltip parameter is included it will show the tooltip when the mark or marks are selected. If not, no tooltip is shown.

      -
      -

      The selectedTuples parameter is an array of tuple ids. You can find the tuple id for a row of data by subtracting the index of the row from the total number of rows. - For example, if you have 10 rows, and want to know the tuple id associated with the third row, it will be 7 (10 - 3 = 7). The last row of data will always have the tuple id of 1.

      -

      Passing in an invalid tuple id will not throw and will clear the tooltip. -

      -
      svg.on('click', (mouseEvent) => {
      -const myClickedTuples = [10];
      -const ctrlKeyPressed = !!mouseEvent.ctrlKey;
      -const selectOption = ctrlKeyPressed ? tableau.SelectOptions.Toggle : tableau.SelectOptions.Simple;
      -
      -tableau.extensions.worksheetContent.worksheet.selectTuplesAsync(myClickedTuples, selectOption, { tooltipAnchorPoint: { x: mouseEvent.pageX, y: mouseEvent.pageY } })
      -   .then(() => console.log('Done'))
      -   .catch((error) => console.log('Failed to select because of: ', error));
      -});
      -
      -
      since
      -

      1.12.0 and Tableau 2024.2

      -
      -
      -
      -

      Parameters

      - -

      Returns Promise<void>

      -

      Returns empty promise that resolves when the extension host has successfully been informed of the request and rejects on error

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/interfaces/worksheetcontent.html b/docs/interfaces/worksheetcontent.html deleted file mode 100644 index d36b33e6..00000000 --- a/docs/interfaces/worksheetcontent.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - WorksheetContent | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface WorksheetContent

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The WorksheetContent namespace is the namespace associated with Viz Extensions. - The WorksheetContent namespace contains the Worksheet interface. Use the Worksheet Interface to - access worksheet objects and to add or remove event listeners.

    -
    -
    -
    since
    -

    1.12.0 and Tableau 2024.2

    -
    -
    -
    -
    -
    -

    Hierarchy

    -
      -
    • - WorksheetContent -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    worksheet

    -
    worksheet: Worksheet
    - -
    -
    -
    returns
    -

    The worksheet object representing the Tableau - worksheet where the extension is running.

    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/modules/tableau.html b/docs/modules/tableau.html deleted file mode 100644 index 92e10582..00000000 --- a/docs/modules/tableau.html +++ /dev/null @@ -1,407 +0,0 @@ - - - - - - Tableau | Tableau Extensions - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Module Tableau

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    The tableau namespace exists for organization and to avoid polluting - the global namespace. It contains no constructs other than sub-namespaces and the Tableau enumerations.

    -
    -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Type aliases

    -
    - -

    ZoneVisibilityType

    -
    ZoneVisibilityType: DashboardObjectVisibilityType
    - -
    -
    -

    ZoneVisibilityType

    -
    -
    -
    deprecated
    -

    use DashboardObjectVisibilityType

    -
    -
    -
    -
    -
    -
    -

    Variables

    -
    - -

    Let extensions

    -
    extensions: Extensions
    - -
    -
    -
    -

    Object literals

    -
    - -

    Const ZoneVisibilityType

    -
    ZoneVisibilityType: object
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/docs/search.md b/docs/search.md deleted file mode 100644 index c35daec3..00000000 --- a/docs/search.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Search -layout: search ---- - diff --git a/docs/trex_api_about.md b/docs/trex_api_about.md deleted file mode 100644 index 7fe1b826..00000000 --- a/docs/trex_api_about.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: Tableau Extensions API Basics -layout: docs ---- - -The Tableau Extensions API is organized by namespaces. The type of extension you create determines the set of namespaces the extension will have access to. For example, if you create and register a dashboard extension, the extension will have access to the `dashboardContent` namespace, which provides access to the dashboard object. When you have the dashboard object, you have access to all elements in the dashboard, including the worksheets, marks, filters, parameters, and data sources. - - -**In this section** - -* TOC -{:toc} - -## Navigating the top-level `tableau` and `extensions` namespaces - - -The [Extensions API Reference]({{site.baseurl}}\docs\index.html) namespaces are like containers that comprise the classes and methods for communicating with Tableau components. At the highest-level, is the `tableau` namespace, which has no constructs, but contains the `extensions` namespace. The `tableau` namespace serves primarily as the overall container and keeps the global namespace clean. - -The `extensions` namespace is the namespace for Tableau extensions. A dashboard extension is one type of extension. When a extension is registered as a dashboard extension, it has access to the `dashboardContent` namespace, and all of the objects and classes of the dashboard. The type of extension you have registered determines what namespaces will be available. Some namespaces, like the `settings`, `environment`, and `ui` are available to all extensions. - -The `extensions` name space has one method `initializeAsync()` that is used to initialize the extension. When this method is called, it also triggers Tableau to configure the Extensions API. Like the Tableau JavaScript API, the Extensions API follows the [CommonJS Promises/A standard](http://wiki.commonjs.org/wiki/Promises/A) for asynchronous method calls. - -![]({{site.baseurl}}/assets/tab_ext_class.png) - -## Registering and accessing dashboard extensions - -The dashboard extension is one type of extension in the Tableau extensions namespace (and it is accessed using `tableau.extensions`). To register the extension, you declare the type of extension in the manifest file (`.trex`). For more information about what goes in the file, see [Tableau Manifest File]({{site.baseurl}}\docs\trex_manifest.html). - -```xml - -``` -After the extension is initialized, it provides access to the objects in the dashboard, but also has access to the namespaces that are common to all extensions. For example, you can use the `tableau.extensions.environment` to query the environment the dashboard is running in, or `tableau.extensions.settings` to set or get key-value pairs associated with the extension. The `tableau.extensions.settings` can be saved with the workbook, so you can configure the dashboard and the extension in specific ways and then share that configuration with others. - -To access the objects in the dashboard, you specify the namespace reserved for dashboard extensions `dashboardContent`, which then gives you access to the dashboard object. For example, the following code snippet gets the array of worksheets in the dashboard. - -```python - const worksheets = tableau.extensions.dashboardContent.dashboard.worksheets ; -``` - -The following diagram shows an outline of the namespace hierarchy that you traverse to get to worksheets. - -![]({{site.baseurl}}/assets/tab_ext_class_worksheet.png) - -## Using properties and methods in the `dashboard` namespace - -The Extensions API is similar to the Tableau JavaScript API. The `dashboard` class or namespace inherits from an abstract `sheet` class. You can use the [Extensions API Reference]({{site.baseurl}}\docs\index.html) to find the properties and methods that are available for dashboard objects. - -For example, after you extract a worksheet object from the dashboard, you can use that worksheet to get properties. such as the name or size, or to call methods that get or apply filters, get data, or set or remove event listeners. - -The following code fragment shows an example of setting an event listener `addEventListener` on a worksheet. - -```javascript - // Add an event listener for the selection changed event on this sheet. - // Assigning the event type to a variable just to make the example fit on the page here. - const markSelection = tableau.TableauEventType.MarkSelectionChanged; - let unregisterEventHandlerFunction = worksheet.addEventListener( markSelection, myfunctionHandleSelectionEvent); - -``` - - - - - - - - diff --git a/docs/trex_configure.md b/docs/trex_configure.md deleted file mode 100644 index 5d4334a3..00000000 --- a/docs/trex_configure.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: Add a Configuration Popup Dialog -layout: docs ---- - -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 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. - -**In this section** - -* TOC -{:toc} - - -## 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 context menu option must follow the `` and `` elements in the manifest file: - - -```xml - - - - - - -``` - - -## Create a configuration function - -When you initialize an extension, you can pass an optional `contextMenuCallbacks` object to the `initializeAsync()` function. -This object maps a special ID or key (which must be `'configure'`) to a function you create. The function you create, in conjunction -with adding a `` item to the manifest, adds a new **Configure...** context menu item to the zone of the extension inside a dashboard. When the user clicks the context menu item, the configuration function you specified is executed. - - - ![]({{site.baseurl}}/assets/extension_configure_menu.png){:height="25%" width="25%"} - - -For example, you could use the UI namespace and have the configuration function call the `displayDialogAsync()` function to create a dialog box that can be used to change settings for the extension. The parent (or initial window) for your extension, might have the following JavaScript code. This example uses an initial payload string value, *defaultIntervalInMin*, to pass to the configuration dialog. The payload value is modified in the configuration dialog and is returned in the `closeDialog()` method. Alternatively, you could use a `Settings` object to store the key/value pairs that configure your extension. - -```javascript - - -// Wrap everything in an anonymous function to avoid polluting the global namespace -(function () { -const defaultIntervalInMin = '5'; - -$(document).ready(function () { - // ... - // pass the object to initializeAsync() to map 'configure' key to a function called configure() - // ... - tableau.extensions.initializeAsync({'configure': configure}).then(function() { - // ... - // ... code to set up event handlers for changes to configuration - }); - }); - }); - - - - function configure() { - // ... code to configure the extension - // for example, set up and call displayDialogAsync() to create the configuration window - // and set initial settings (defaultIntervalInMin) - // and handle the return payload - // ... - tableau.extensions.ui.displayDialogAsync(popupUrl, defaultIntervalInMin, { height: 500, width: 500 }).then((closePayload) => { - // The promise is resolved when the dialog has been expectedly closed, meaning that - // the popup extension has called tableau.extensions.ui.closeDialog. - // ... - - // The close payload is returned from the popup extension via the closeDialog() method. - // .... - - }).catch((error) => { - // ... - // ... code for error handling - }); - } - -})(); - -``` -In the JavaScript code for the popup dialog window, you would add your code for initializing the dialog and for setting and saving the configuration settings. - -```javascript - - $(document).ready(function () { - // The only difference between an extension in a dashboard and an extension - // running in a popup is that the popup extension must use the method - // initializeDialogAsync instead of initializeAsync for initialization. - // This has no affect on the development of the extension but is used internally. - tableau.extensions.initializeDialogAsync().then(function (openPayload) { - // The openPayload sent from the parent extension in this example is the - // default time interval for the refreshes. This could alternatively be stored - // in settings, but is used in this sample to demonstrate open and close payloads. - // code goes here - }); - }); - -``` - -In your code to close the popup window, you must pass a string value (or empty string `" "`) as the return payload, even if you are using the `Settings` object to pass your configuration parameters. - -```javascript - function closeDialog() { - // Save the settings with tableau.extensions.settings.saveAsync() - // Or pass the new configuration setting in the close payload - tableau.extensions.ui.closeDialog('NewInterval'); - console.log("Settings saved"); - }); - } - -``` - -To better understand how to use the context menu, and to see it in action, check out the [UINamespace](https://github.com/tableau/extensions-api/tree/master/Samples/UINamespace?=target="_blank") sample. - diff --git a/docs/trex_contributing.md b/docs/trex_contributing.md deleted file mode 100644 index c894fcfc..00000000 --- a/docs/trex_contributing.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Hosting and Contributing to the Community Portal -layout: docs ---- - -Submit your extension to the [Community Extension]({{ site.baseurl }}/community/) -portal to share your work with other developers. To make it easier for others to use your extension, -we ask that you include a link to a hosted version of your extension. - -If you don't have a hosted version yet, see our [suggestions for hosting](#hosting). - -Submitting to the Community Portal {#portal} ----------------------------------- - -**Note:** Before you submit a extension, you'll need a GitHub account. - -1. Create a fork of the `extensions-api` repository. - -1. In your fork of the repository, find the community folder at the root of the repository. - -1. In the `community_extensions.json` file, add an entry for your extension. Name, author, and description are required. All other fields are optional. While we recommend both providing the source code and a hosted version of your extension, you may choose one or the other. If you choose to provide a hosted version of your extension, see the next step (skip otherwise). - -1. First, host your extension on a web server (see below for suggestions). Second, create a manifest file (`.trex`) where the URL points to the hosted location of your extension. Finally, in your pull request, place the manifest file in the `community/CommunityManifests` folder. Also place the file name into your entry in community_extensions.json. Ensure the filename matches your manifest file and it is unique from others in the folder. - -1. Submit a pull request from your fork to the main branch in the official repository. - - -After that, a member of the Tableau Extensibility team will review your submission. - -Suggestions for hosting your extension {#hosting} ---------------------------------------- - -There are several free hosting services that you can use for your extension. You can host -your extension anywhere you please, but we have two suggested locations that we have -seen to be the easiest to use. - -1. Host your static content on GitHub pages. - - If your extension is composed of client-side code only (just HTML/CSS/JS files), - you can host your content for free on GitHub Pages (This is actually what's hosting the documentation - you are currently reading!). - - GitHub Pages makes it really easy to host content, especially if your extension code - is already on GitHub. Check out their tutorial for details: [pages.github.com/](https://pages.github.com) - -2. Host your node app on Heroku. - - If your extension contains a sever component, like the Node Proxy sample, - you can host your extension for free on Heroku. There are certain usage restrictions; for example, - their free tier requires the extension to be offline for a few hours a day. - - Check out their tutorial for more details: - [Heroku Tutorial](https://devcenter.heroku.com/articles/getting-started-with-nodejs#introduction) diff --git a/docs/trex_create.md b/docs/trex_create.md deleted file mode 100644 index 014a304b..00000000 --- a/docs/trex_create.md +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Create a 'Hello World" Dashboard Extension -layout: docs ---- - -To create a Tableau extension you need the following components. - -- A manifest file that identifies and describes the extension. -- The Tableau Extensions API JavaScript library (`tableau.extensions.N.N.N.js`) -- A web page that uses the library. The web page provides controls that interact with Tableau objects and data in the dashboard. -- Additional JavaScript and HTML and CSS files as needed for your web app. -- A web server to host your web app. - ---- -**In this section** - -* TOC -{:toc} - - -### 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 [Get Started]({{site.baseurl}}/docs/trex_getstarted.html). - -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. - ---- - -### Create a manifest file - -The manifest file (`EXTENSION-NAME.trex`) is an XML file that describes the extension and provides information to register the extension with Tableau. For a description of the contents of this file, see [Elements of the manifest file]({{site.baseurl}}/docs/trex_manifest#elements-of-the-manifest-file). - -1. In the `HelloDemo` folder (or where ever you want to put your files), create a manifest file for your extension. -Name the manifest file for your extension (for example, `HelloExtension` and save it with the file name extension `.trex`. - -2. Copy the following XML code into your new file. Make sure that the `` declaration appears as the first element in the file (line 1, column 1). Any blank spaces in front of the declaration will cause an error when you load the extension. - - ```xml - - - - en_US - - Extension Description - - 1.0 - - SERVER:PORT/PATH - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAlhJREFUOI2Nkt9vy1EYh5/3bbsvRSySCZbIxI+ZCKsN2TKtSFyIrV2WuRCJuBiJWxfuxCVXbvwFgiEtposgLFJElnbU1SxIZIIRJDKTrdu+53Uhra4mce7Oe57Pcz7JOULFisViwZ+29LAzOSjQYDgz1ZcCvWuXV11MJpN+OS/lm6179teqH0yDqxPTCyKSA8DcDsyOmOprnCaeP7459pdgy969i0LTC3IO/RQMyoHcQN+3cnljW3dNIFC47qDaK3g7BwdTkwBaBELT4ZPOUVWgKl4ZBnjxJPUlMDnTDrp0pmr6RHFeEjjcUUXPDGeSEwDN0Xg8sivxMhJNjGzbHd8PkM3eHRfkrBM5NkcQaY2vUnTlrDIA0NoaX+KLXFFlowr14tvVpqb2MICzmQcKqxvbumv+NAhZGCCIPwEw6QWXKYRL/VUXO0+rAUJiPwAk5MIlgVfwPjjHLCL1APmHN94ZdqeYN+NW/mn6I4BvwQYchcLnwFhJMDiYmlRxAzjpKWZkYkUCcZ2I61wi37tLbYyjiN0fHk5Oz3nGSLSzBbNHCF35R7f6K1/hN9PRhek11FrymfQQQKB4+Gl05P2qNRtmETlXW7e+b2z01dfycGNbfFMAbqNyKp9Jp4rzOT8RYFs0njJkc2iqsCObvTsOsDWWqA5C1uFy+Uz/oXJeKwVT4h0RmPUXhi79vuC0Ku6yOffTK3g9lfxfDQAisY516sg5kfOCiJk7HoLt2cf9b/9LANAc7dznm98PagG1fUOZ9IP5uMB8Q4CPoyNvausapkTt3rNMuvdf3C/o6+czhtdwmwAAAABJRU5ErkJggg== - - - - - name in English - name in French - name in German - - - - ``` - -- In this file, you need to provide values for a few elements. Some key pieces are: -- For `` use reverse domain name notation to uniquely identify the extension (`com.example.extension.hello.demo`) -- For `` make sure that this specifies the URL of your web application. You must use the HTTPS protocol. The exception to this requirement is `localhost`, where you can use HTTP. For example, if you created a `HelloDemo` folder and want to host the file locally on your computer using port 8765, you might use: `http://localhost:8765/HelloDemo/HelloExtension.html` -- The `` element that specifies the minimum version of the Extensions API library that is required to run the extension. -- For `` you must use a Base64-encoded icon. To use the default icon, copy and paste the `` example here, or copy one of the manifest files (`.trex`) from the samples. -- Provide the `name` for your extension (`Hello Extensions!`). The manifest file can be localized, so provide the name (or names) in the appropriate `` elements in the `` section. - -- After you have created the HTML and JavaScript files for your extension, you use this `.trex` file to add the extension to a Tableau dashboard. To do that, you drag the **Extension** object on to the dashboard. In the **Choose an Extension** dialog box, click **My Extensions** to locate and open the manifest file you just created. - -- For information about the manifest file and about adding version information, see the [Tableau Extension Manifest]({{site.baseurl}}/docs/trex_manifest.html). - - ---- - -### Create your web app - -The web app you create controls and interacts with the Tableau dashboard objects. The web app consists of one or more HTML files (one is the minimum). You host this web app on a web server (the server specified in the manifest file). - - - -#### Create the HTML page - -Your web application must include an HTML page. This page should link to the Extensions API JavaScript library and to any other JavaScript, CSS, or HTML resources your web app requires. You could add the JavaScript code to initialize and call Extensions API functions directly in the HTML page. However, in most cases you want to keep this code in a separate file. - -1. In the `HelloDemo` folder (or where ever you put your `.trex` file), create a file called `HelloExtension.html`. - -2. You can copy and paste the following code into your file. This code creates a very simple page with a button that when clicked will initialize and use the API to get the name of the dashboard the extension is running in. This HTML code assumes that you are creating your extension in a folder (for example, `HelloDemo`) under the `/extensions-api` directory. - - - ```html - - - - - - - Hello Extensions` - - - - - - - - - - - - - - - - -
    -
    -

    Hello Extensions!

    -

    Not Initialized

    - -
    -
    - - - ``` - - The sample code includes a link to the JavaScript library (`tableau.extensions.1.latest.js`), which is available in the `/lib` folder. The sample code also includes links to jQuery and Bootstrap libraries. - -3. If necessary, adjust the relative path to the Extensions API JavaScript library (`tableau.extensions.1.latest.js`), which is available in the `/lib` folder. - - ```html - - - - - ``` - -4. The sample code also includes a link to `hello-extension.js`, this is a JavaScript file that you will need to create. The path assumes that the JavaScript file is in the same directory as your HTML file. Adjust the path and name as necessary and save the file. - - ```html - - - - - ``` - ---- - -#### Start the web service to host the extension - -1. Start the web service to verify you have the web app and files configured.
    The URL of the server must match the `SERVER` in the manifest file for the extension. Be sure to include the `http://` or `https://` in the URL. If you are using your `localhost` for development work, you might want to use the same lightweight web server that is used for the Extensions API samples and tutorial. Assuming that you've cloned or downloaded the repository, and that you've created a folder under `/extensions-api`, you can start the server by using the `npm start` command. Or if you need to use a different port and location, you can install and start the `http-server` yourself (replacing PORT with the port you need): - - ```bash - - npm install http-server -g && http-server -p PORT - - ``` - -2. Check the HTML page to make sure that your web server is working. Place the URL in the address bar of your browser. This is the URL from the `` you specified in the manifest file. Be sure to include the full path to the web page. - - ```html - - http://localhost:8765/HelloDemo/HelloExtension.html - - ``` - - ---- - -### Test your extension in Tableau - -After you have created the manifest file (`.trex`) and have hosted your web app you can test it in Tableau. It's a good idea to do this even if your application isn't completed. - -1. Start up your web page or application (or make sure it is running). - -2. Start Tableau and open a workbook with a dashboard, or create a new dashboard. - -3. In the dashboard, under **Objects**, select **Extension** and drag it on to the dashboard. In the **Add an Extension** dialog box, click **Access Local Extensions** and browse to directory where you have your manifest file. - - After you select the manifest file, your web page should appear in the dashboard zone. - - - If not, and you see a 404 error, verify that you specified the correct URL to serve the page in the `.trex` file. - - - Tableau parses the `.trex` file when you add the extension to the dashboard. If you make changes to the `.trex` file after you have added it to the dashboard, you need to remove the extension and re-add it. See [What Happens When you Reload an Extension]({{site.baseurl}}/docs/trex_reload.html) - ---- - -### Add code to initialize the extension and call Tableau Extensions API functions - -The next step is to create the JavaScript that calls the Extensions API. In your JavaScript code (either in your HTML page or in a separate JavaScript file), you first need to initialize the extension. To do this, you call `tableau.extensions.initializeAsync()`. The function returns after the initial bootstrap operation is complete and the extension is available for use. The Extensions API follows the [CommonJS Promises/A standard](http://wiki.commonjs.org/wiki/Promises/A) for asynchronous method calls. - -1. In the same directory as your HTML page, create a file called `hello-extension.js`. The name just needs to match the name of the file that you specified in your HTML page -(``). - -2. Copy the following example code and paste it into the file. - - ```javascript - $(document).ready(function() { - - // Hook up an event handler for the load button click. - // Wait to initialize until the button is clicked. - $("#initializeButton").click(function() { - - // Disable the button after it's been clicked - $("#initializeButton").prop('disabled', true); - - tableau.extensions.initializeAsync().then(function() { - - // Initialization succeeded! Get the dashboard - var dashboard = tableau.extensions.dashboardContent.dashboard; - - // Display the name of dashboard in the UI - $("#resultBox").html("I'm running in a dashboard named " + dashboard.name + ""); - }, function(err) { - - // something went wrong in initialization - $("#resultBox").html("Error while Initializing: " + err.toString()); - }); - }); - }); - - ``` - -|**About the example code**
    The JavaScript example uses the jQuery document ready function to detect when the web page is loaded and ready. The code also uses an event handler to delay the initialization until the user clicks the `initializeButton`. When the page is ready and the user clicks the button, the initialization function (`initializeAsync`) instantiates a dashboard extension. To handle the promise, the `then` method calls two callback functions to handle successful initialization or failure. In case of success, the example gets the dashboard object from the extension, and then accesses the `name` property to display the name of the dashboard sheet in the hosting web page. In case of an error, the error message is displayed. - ---- - -### Debugging and testing your extension in Tableau - -After your extension is installed and showing up in Tableau, you can continue to work on your web application and see the changes without leaving Tableau. - -1. Make changes to your HTML and JavaScript files and save those changes. - -2. When you want to see those changes, select the extension in the dashboard. - -3. In the shortcut menu, click **Reload** to refresh and reload the extension in the dashboard. - - ![alt text]({{site.baseurl}}/assets/extension_reload_menu.png "Shortcut menu showing the Reload option"){:height="25%" width="25%"} - - -For information about debugging your extension, see [Debug Extensions in Tableau Desktop]({{site.baseurl}}/docs/trex_debugging.html) and [Debug Extensions in Tableau Server and {{site.tol}}]({{site.baseurl}}/docs/trex_debug_server.html). - -You can also use the Tableau log files to identify issues, see [Use Log files to Troubleshoot Dashboard Extensions]({{site.baseurl}}/docs/trex_logging.html). - ---- - -## What's next? - -- For more information about how you can use the Extensions API, go look at the [Samples](https://github.com/tableau/extensions-api/tree/master/Samples/) or follow the [Tutorial](https://github.com/tableau/extensions-api/tree/master/Tutorial/) and learn how to build a dashboard extension, step by step. - -- Get familiar with the programming interface of the Extensions API, see API Reference. - - diff --git a/docs/trex_data_access.md b/docs/trex_data_access.md deleted file mode 100644 index 6159f7ba..00000000 --- a/docs/trex_data_access.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: Accessing Underlying Data -layout: docs ---- - - - -The Extensions API provides several methods that can access the underlying data in a dashboard. The underlying data can include information about the data sources, such as the names of the connection, fields, and tables. Collectively, this information is sometimes called *full data*. Because of the potentially sensitive nature of this data, dashboard authors and people who use extensions need to know if the extension can access their data, and based upon this knowledge they might want to restrict this access. - -To help ensure transparency and to give the users of extensions control, if your extension uses any of these methods that can access full data, you need to configure your extension to require **full-data** permission. The following section describes how you need to set up the permissions for your extension to run. - ---- - - - -**In this section** - -* TOC -{:toc} - - ---- - -Starting in Tableau 2020.2, Tableau introduced a data model that supports flexible table relationships. To support this new model, the Extensions API version 1.4 provides new APIs that support the data model. -Because the data model changes the way the underlying data can be stored, some of the existing APIs will no longer work. -For more information about the data model in Tableau, see [The Tableau Data Model](https://help.tableau.com/current/pro/desktop/en-us/datasource_datamodel.htm){:target="_blank"}{:ref="noopener"}. - - - -## What happens when extensions access full data - -As a developer, you can choose the features and capabilities to implement using the Extensions API. One of these is the ability of the extension to access the underlying data in the dashboard or workbook. The `Worksheet` and `Datasource` interfaces have methods that return (as a promise) data tables containing the underlying data of the workbook or data source. The `Datasource` interface has additional methods, `getLogicalTablesAsync()`, `getActiveTablesAsync()` (Deprecated), and `getConnectionSummariesAsync()` that return the names of the active tables and fields in the data source, and the summary descriptions of the data source connections. - -There are many cases where you need access to this underlying data so that your extension can perform a useful function. The only requirement for access is that the users of your extension are aware of it. -If the extension uses any of the four methods, they are considered privileged, in that they require access to underlying data and data source information. To use any one of them, you need to add a declaration to your extension's manifest file (`.trex`) that states the extension requires **full-data** permission. Tableau uses this declaration to provide a prompt to users at run time that gives them the option of allowing this access or not. - - ---- - -#### Extensions API methods that access full data - -If your extension uses any one of the following methods, without declaring **full-data** permission in the manifest file, the extension will load but the method call will fail. If you have debugging enabled, Tableau will report an error in the JavaScript console and the error is also written to the Tableau log file. - -| Method | Current Status | -|------------------------------------------|-------------------------------------| -|`Worksheet.getUnderlyingTablesAsync()` | | -|`Worksheet.getUnderlyingTableDataAsync()` | | -|`Worksheet.getUnderlyingDataAsync()` | Deprecated starting with the v1.4 library | -|`Datasource.getLogicalTables()` | | -|`Datasource.getLogicalTableData()` | | -|`Datasource.getUnderlyingDataAsync()` | Deprecated starting with the v1.4 library | -|`Datasource.getActiveTablesAsync()` | Deprecated starting with the v1.4 library | -|`Datasource.getConnectionSummariesAsync()`| | - - -If you use any of these APIs, you need to add a `` element to the manifest file (`.trex`) and specify **full-data** permission. The declaration will allow the extension to pass validation. Depending upon the situation, for example, the first time a user adds the extension, Tableau will prompt the user to allow or deny the extension to run. - - ---- - -## Add permissions to access full data to manifest file - -To access the underlying data along or information about the data source, the extension must declare that it requires full data access in the extension manifest file (`.trex`). - -The `` element you add looks like the following: - -```xml - -... - -... - - - full data - - -``` - -The `` element must be added under `` immediately following the `` element. For a complete description of the manifest, see the [Tableau Extensions Manifest File]({{site.baseurl}}/docs/trex_manifest.html). - -If full data is not declared in the manifest file, and the extensions calls one of the APIs that accesses any underlying data or data source information, the API call fails. In addition, an error is written to the Tableau log file (`log.txt`). If you are debugging the extension with the Chromium web browser, an error is reported the console pane. The error message would look similar to the following: - -``` -PermissionValidation.ts:26 Extension (name = DataSources Sample, ID = com.tableau.extensions.demo.local) is missing required permission: full-data -Error: internal-error: permission-denied: Missing required permission to run get-underlying-data(...) - -``` - ---- - -## What happens when users add your extension - -When users add an extension that requires full-data access, Tableau displays a prompt that provides the name of the extension, the URL of the extension, and brief description about the access that the extension has to the data in the workbook. Users can click **Allow** to load the extension. If a user clicks **Cancel**, the extension is not loaded and the user returns to the **Choose an Extension** dialog box. - - ![]({{site.baseurl}}/assets/Add_Extension_Prompt.png){:height="50%" width="50%"} - - -The name of the extension and its URL come from the values you add to the manifest file for the extension. These are the values you add for `` and the `` element under ``. - ---- - -## What happens when users open a workbook that uses an extension - -When users open a dashboard that has an extension that requires full-data access, Tableau displays a prompt that lists the names of the all the extensions in the dashboard. Users can click **Allow** to load the dashboard. - - - ![]({{site.baseurl}}/assets/Load_Extensions_Dialog.png){:height="50%" width="50%"} - -The **Allow an Extension** dialog box provides users information about your extension. This information includes links to your website, as specified by the `website` attribute in manifest file (in the `` element). Users can click on the link under **Created By** to find out more about your extension. - The dialog box also indicates whether or not the extension requires full-data access and provides the URL of the extension. - - -If a user clicks **Cancel**, the workbook is opened, but the extension is not loaded. In the layout container where the extension would normally appear, the following message appears: - -``` -Extension was denied the required permission to run. -Permissions approval can be reset through the context menu. - -``` - -Users can use choose to allow the extension to run by using the clicking **Reset Permissions** from the **More Options** drop-down menu of the layout container. This opens up the **Allow Extensions** dialog box where the user can change permissions for the extension. - -![]({{site.baseurl}}/assets/reset_perms.png){:height="50%" width="50%"} diff --git a/docs/trex_debug_server.md b/docs/trex_debug_server.md deleted file mode 100644 index 75622550..00000000 --- a/docs/trex_debug_server.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: Debug Extensions in Tableau Server and Tableau Cloud -layout: docs ---- - -A dashboard extension is a web app inside of a dashboard on Tableau Server and {{site.tol}}. If you add an extension to a dashboard in web authoring, or publish a dashboard that contains a dashboard extension to Tableau Server or {{site.tol}}, you can debug the extension using the debugging tools that are built into the browser that you are using. - -The following section describes how you could debug your extension using Chrome. The same principles generally apply if you are using other browsers and their developer tools. For more information about the Chrome developer tools, see [Chrome DevTools](https://developers.google.com/web/tools/chrome-devtools/){:target="_blank"}. For more information about debugging JavaScript with the DevTools, see [Debug JavaScript](https://developers.google.com/web/tools/chrome-devtools/javascript/). - -
    Note For Tableau Desktop, see Debugging Extensions in Tableau Desktop.
    - ---- -**In this section** - -* TOC -{:toc} - - - ---- - -## Open the debugging tools in the browser - -1. Open the workbook containing the extension in Tableau Server or {{site.tol}}. -
    **Note:** If the extension fails to load and you are using `localhost` to serve your extension, you might encounter the mixed content security setting. To get past this issue, see [Load and view localhost content on sites that use secure connections]({{site.baseurl}}/docs/trex_debug_server.html#load-and-view-localhost-content-on-sites-that-use-secure-connections). - -2. Open the debugging tools.
    -The process varies by browser. If you are using Chrome, enter **CTRL** + **SHIFT** + **i** (Windows) or **COMMAND** + **OPTION** + **i** (MacOS). - -3. Locate the source code for your extension.
    -For example, if you were using Chrome for debugging, you can open the Source pane. Under folders shown on the navigation pane, you will find one for the extension. For example, you might see something like `extension_frame_37 (filtering.html)`. -Under this, you will find the name of the server (for example `localhost`), and you can drill down to your JavaScript source files. - ---- - -## Set breakpoints and explore the code - -If you need to debug your extension, setting a breakpoint in your source code is a good way to get started. When the breakpoint is hit, the code execution is paused in the debugger. You can then use the debugger controls to step through your code. You can use the debugging tools to see the values of local variables, and the call stack. You can also hover over in-scope variables in source window and see the current values. - -1. Locate the line in your source code and set the breakpoint. -
    For example, you want to set this early in your code after the `initializeAsync()` function call. - -2. Refresh or reload the browser window.
    -You might see the permission dialog box prompt as the extension gets loaded. - -3. Step through your code or set other breakpoints.
    -You can examine variables to see what information the extension has access to. For example, if you step or stop on the source line where you have access to the dashboard object, you can examine the values of the available resources in the dashboard. - - ```javascript/ - // To get filter info, first get the dashboard. - const dashboard = tableau.extensions.dashboardContent.dashboard; - ``` - -4. Explore the dashboard extension namespace using the Console window.
    -For example, entering the following in the Console window (while you are paused in your extension code) will print out the names of all the worksheets in the dashboard. - - - ```javascript - - tableau.extensions.dashboardContent.dashboard.worksheets.forEach(function (worksheet){console.log(worksheet.name)}) - - ``` - The following screenshot illustrates what your debugging session might look like if you use the Chrome DevTools. A breakpoint was set and the extension's JavaScript code is paused in the debugger. - - - ![alt text]({{site.baseurl}}/assets/server_dbg_chrome.png "Chrome DevTools showing a the debugger paused on an extension breakpoint") - - - ---- - -## Debugging during initialization - -If you need to troubleshoot or debug issues that prevent your extension from loading or initializing on Tableau Server or {{site.tol}}, you can set breakpoints that trigger when your JavaScript code is loaded. - -1. In the Chrome browser, select **Event Listener Breakpoint > Script > Script First Statement**.
    -After you select the event breakpoint and refresh or reload the browser window, code execution will stop when every script is loaded. - -2. Reload or refresh the browser.
    - -3. In the debugger, click **Continue** to get to your JavaScript code.
    -You might need to click **Continue** many times, as code execution stops for all the scripts in the dashboard. If you are just looking to debug general initialization problems and haven't tested your extension in Tableau Desktop, you might want to start there first. - -In Tableau Desktop, there is a debugging option you can set to pause the extension when it is loading. For more information, see [Debugging loading and initialization issues]({{site.baseurl}}/docs/trex_debugging.html#debugging-loading-and-initialization-issues). - -If your extension fails to load at all on Tableau Server or {{site.tol}}, check the console window of the debugger to see if there is an error message of some kind. The console messages can give you clues about where to begin investigating when something goes wrong. If the error is caused by mixed content (trying to load an HTTP web page inside of a secure HTTPS server), see [Load and view localhost content on sites that use secure connections]({{site.baseurl}}/docs/trex_debug_server.html#load-and-view-localhost-content-on-sites-that-use-secure-connections). - - ---- - -## Load and view localhost content on sites that use secure connections - -*Mixed Content Warning* - -If you want to test and debug your extension (running on `http://localhost`) with {{site.tol}}, or with a Tableau Server site that is using HTTPS, you might find that your extension fails to load. You won't see any error message in the dashboard if this happens. There will just be an empty `iframe` where the extension should appear. The reason for this is that the default settings of many browsers blocks the extension from loading because the extension is not using a secure connection (HTTPS). - -To temporarily get around these safety settings for the session, you can click the shield icon (or lock icon) in the browser's address bar. The alert dialog box will allow you to either load the scripts, or allow you to view the full content of the page. As soon as you load the unsafe scripts or allow the blocked content, the extension will load and will continue to be available for the duration of your session. Be sure to close the browser completely when you are finished testing. The following example shows what you might see in Chrome. -
    - -![alt text]({{site.baseurl}}/assets/online_blocked_extension.png "Chrome browser showing alert when extension running on a localhost server") - - -During the session, anytime you refresh or reload the web page, you will see the extensions dialog box requesting permission to run. And in the debugger console, you might see a warning message about mixed content. - -``` -Mixed Content: The page at 'https:/some_URLs#4' was loaded over HTTPS, but requested an insecure resource 'http://localhost:8765/Samples/Filtering/filtering.html'. This content should also be served over HTTPS. - -``` - diff --git a/docs/trex_debugging.md b/docs/trex_debugging.md deleted file mode 100644 index a6fbf91e..00000000 --- a/docs/trex_debugging.md +++ /dev/null @@ -1,170 +0,0 @@ ---- -title: Debug Extensions in Tableau Desktop -layout: docs ---- - -A dashboard extension embeds a web page and runs a Chromium-based browser inside of Tableau Desktop. Fortunately, you can debug this embedded web browser using the remote debugging abilities built into Chromium. - -Debugging an extension involves starting Tableau with a command option to enable remote debugging (over a debug port). You can then run a specific version of the Chromium debugger and connect to Tableau Desktop using the debug port. - -
    Note For Tableau Server or {{site.tol}}, see Debugging Extensions in Tableau Server and {{site.tol}}.
    - ---- -**In this section** - -* TOC -{:toc} - - ---- - -## Download the Chromium Browser - -To debug your extension, you'll need to use a Chromium-based browser (Chromium is the open-source version of Chrome). In some cases you could use Chrome, but because of version incompatibilities in the debugging protocol, we recommend using specific builds of Chromium, which matches the version of the browser running inside Tableau. Just download and unzip the file and run `chrome.exe` (Windows) or `chromium` (macOS). - -Tableau Desktop version | Chromium version | Chrome version -|----|----|----| -2018.2, 2018.3 | 47.0.2526.0 | Not available -2019.1 and later | 79.0.3945.0 | Chrome version 79 or earlier. -Latest maintenance release of 2020.2.7+, 2020.3.6+, 2020.4.2+ | 87.0.4280 | Chrome version 80 or later. -2021.1 and later | 87.0.4280 | Chrome version 80 or later. - - - -**Chromium downloads for debugging Tableau 2018.2, 2018.3** - -* [Chromium for Windows (47.0.2526.0)](https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Win%2F352221%2Fchrome-win32.zip?generation=1443839123039000&alt=media) - -* [Chromium for macOS (47.0.2526.0)](https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Mac%2F352221%2Fchrome-mac.zip?generation=1443838516381000&alt=media) - - -**Chromium downloads for debugging Tableau 2019.1 and later** - -* [Chromium for Windows (`chrome-win.zip`) (79.0.3945.0)](https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Win_x64/706915/) - -* [Chromium for macOS (`chrome-mac.zip`) (79.0.3945.0)](https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Mac/706915/) - -
    Note If you are using Tableau 2021.1, or the latest maintenance releases of Tableau 2020.2.2.7+, 2020.3.3.6+, and 2020.4.2+, you can use Chrome version 80 (or later) for debugging your extension.
    - ---- - - -## Start Tableau Desktop and enable debugging (Windows) - - -1. Exit Tableau if it is already running on your computer. -2. Open a Command Prompt window. -2. Start Tableau using the following command. -
    Replace `` with the version of Tableau you are using (for example, `Tableau 2018.3`). - -``` -"C:\Program Files\Tableau\Tableau \bin\tableau.exe" --remote-debugging-port=8696 -``` - -This command enables remote debugging of extensions for this session of Tableau. - -**Note:** The remote debugging port (for example, `8696`) must match the port address you use with Chromium for debugging. This is *not* the HTTP port that you are using to host your extension, the port that is specified in the manifest file (`.trex`). - ---- - -#### Optional - Create a Tableau shortcut for debugging (Windows) - -For convenience, you could also create a shortcut for Tableau and add the remote debugging option to Properties dialog box. - -1. Select Tableau from the **Start** menu, and then right-click and select **Properties** or select **Open file location**.
    -If you open the file location, you can create a new shortcut to `Tableau.exe` (call it something like *Tableau - Debug* ). Right click the shortcut to open the Properties dialog box. -3. In the Properties dialog box, append `-remote-debugging-port=8696` at the end of the command in the **Target** text box. The debugging option goes after the closing quotation mark for `"Tableau.exe"`. - - ![Debug Shortcut]({{site.baseurl}}/assets/Tableau_shortcut_debug.png){:height="40%" width="40%"} - ---- -## Start Tableau Desktop and enable debugging (macOS) - - -1. Open a Terminal window. -2. Start Tableau using the following command. -
    Replace `` with the version of Tableau you are using (for example,`2018.3.app`). - - ``` - open /Applications/Tableau\ Desktop\ .app --args --remote-debugging-port=8696 - - ``` - -This command enables remote debugging of extensions for this session of Tableau. - -**Note:** The remote debugging port (for example, `8696`) must match the port address you use with Chromium for debugging. This is *not* the HTTP port that you are using to host your extension, the port that is specified in the manifest file (`.trex`). - - ---- - - -## Debugging Tableau Desktop using Chrome/Chromium - -After you install the Chrome (or Chromium) browser and enable debugging in Tableau, you can start debugging your extension. - -1. Open the dashboard with the extension you want to debug in Tableau. -2. Start Chromium and set the URL to [`http://localhost:8696`](http://localhost:8696) - This will bring up the page selector UI. The port (for example, `8696`) must match the port address you specified as the remote debugging port when you started Tableau. -3. Pick the extension you want to debug from this page, and debug just like you would any other web application (set breakpoints, step through the code, and examine variables).
    -Note that the name of the extension is based on the title of the web page that was loaded for the extension. If the extension hasn't loaded yet the name might be blank. See [Debugging loading and initialization issues](#debugging-loading-and-initialization-issues). - - - ![Remote Debugging]({{site.baseurl}}/assets/remote_debugging.gif) - -Note that you can only debug one extension, or instance of an extension, at a time. However, you can open a new Chromium tab or window to debug additional extensions. - ---- - -## Debugging loading and initialization issues (Tableau 2021.1 and later) - -If you need to troubleshoot or debug issues that prevent your extension from loading or initializing, you can set breakpoints that trigger when your JavaScript code is loaded. - -1. Start the debugging session as described in [Debugging Tableau Desktop using Chrome/Chromium](#debugging-tableau-desktop-using-chromechromium). - -1. Click the **Sources** tab in Chrome/Chromium, under **Event Listener Breakpoints**, click **Script** and enable the **Script First Statement** breakpoint. You just have to do this one time. - -1. In Tableau Desktop, select the extension in the dashboard and click **Reload** from the **More Options** shortcut menu.
    -The debugger will pause each time the first statement of a script runs, allowing you to debug the startup process. - -1. To get to your JavaScript code, click **Continue** several times. After your JavaScript is loaded, you can set a breakpoint in your startup code. - ---- - -## Debugging loading and initialization issues (Tableau 2020.4 and earlier) - -It can be difficult to hit breakpoints that occur during the loading of your page because of the remote debugging process, and because of the way loading was handled prior to Tableau 2021.1. To help with this, you can select a menu option that causes your extension to wait to load until you trigger it to proceed. - -1. Select the extension in the dashboard and select **Debug Options** > **Pause Before Loading** from the shortcut menu. -2. Reload your extension. Select **Reload** from the shortcut menu. -3. In Chromium, go to the debugging homepage ([http://localhost:8696](http://localhost:8696)). -4. Click the *second item* listed to attach to the browser instance of your extension.
    -**Note:** When you click the list item, it will be completely blank, but it is really there. The cursor changes so you can select it. -5. Click the **Sources** tab in Chromium, under **Event Listener Breakpoints**, click **Script** and enable the **Script First Statement** breakpoint. You just have to do this one time. -6. In Tableau Desktop, click the extension zone to load your page.
    -The debugger will pause each time the first statement of a script runs, allowing you to debug the startup process. -7. To get to your JavaScript code, click **Continue** several times. After your JavaScript is loaded, you can set a breakpoint in your startup code. - - -![Startup Debugging]({{site.baseurl}}/assets/onload_debugging.gif) - ---- - -## Known issues with debugging extensions in Tableau Desktop - ---- - - -#### Reload closes debugging connection (2020.1 and earlier) - - -While you are debugging your extension, there are times you might want to reload or refresh your web page to execute and debug different parts of your code. However, when you click **Reload** from the shortcut menu to reload your extension, the remote debugger loses the connection with the extension. The reason for this is that **Reload** option tears down and re-creates the browser control, which means you'll need to establish a new debugging session. - - -Note that you do not need to close and reopen the Chromium browser every time you click **Reload**. You can start another debugging session by entering the URL (`http://localhost:8696`) in the Chromium address bar and selecting the extension from the page selector. - -For more information, see [What Happens When You Reload an Extension]({{site.baseurl}}/docs/trex_reload.html). - - - - - diff --git a/docs/trex_error_handling.md b/docs/trex_error_handling.md deleted file mode 100644 index 541d3ed6..00000000 --- a/docs/trex_error_handling.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: Error Codes for Extensions -layout: docs ---- - -Errors that are returned from the Extensions API are custom Tableau error objects that extends the standard JavaScript error object. - ---- -**In this section** - -* TOC -{:toc} - -## Using Extensions API error codes - -The Extensions API wraps the standard error object with an `errorCode` property. You can use this error code for debugging or troubleshooting your extension. Any time you encounter an error when you are running your extension, you can look at this `errorCode` to determine the cause. See [Error Codes]({{site.baseurl}}/docs/enums/tableau.errorcodes.html){:target="_blank"}. - -As you create your extension, you want to be sure to catch potential error conditions. For example, you should validate user input and make use of `try` ... `catch` statements. The Extensions API makes use of JavaScript promises. You can use the `.catch` method to field the errors that could be returned in the promise and any subsequent `.then` methods. - - -## Handle extensions.ui dialog box errors - -For an example of how to handle an extension dialog box error, see the [UINamespace](https://github.com/tableau/extensions-api/tree/master/Samples/UINamespace) sample. The sample shows how you could handle the error condition that occurs if a user dismisses a modal dialog box (`DialogClosedByUser`). In this extension, the user is expected to click the **Start Auto Refresh** button, which saves the configuration settings and closes the dialog box, by calling the `tableau.extensions.ui.closeDialog()` method with the return payload. If a user clicks the dialog box control (the **X** in the upper-right corner) instead, the error occurs. The following snippet illustrates how you could handle this error: - -```javascript - -tableau.extensions.ui.displayDialogAsync(args... ).then((args... ) => { - // - // code that sets up the extension in the modal dialog box - // - }).catch((error) => { - // One expected error condition is when the popup is closed by the user - // (meaning the user clicks the 'X' in the top right of the dialog). - // This can be checked for with: - switch(error.errorCode) { - case tableau.ErrorCodes.DialogClosedByUser: - console.log("Dialog was closed by user"); - break; - default: - console.error(error.message); - } - }); - -``` - - diff --git a/docs/trex_events.md b/docs/trex_events.md deleted file mode 100644 index 86e858f9..00000000 --- a/docs/trex_events.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: Events and Event Handling -layout: docs ---- - -Using the Extensions API, you can listen for events on objects, such as worksheets, parameters, and settings. The Tableau Extension API supports a range of events and provides methods for adding and removing event listeners. To manage the event listener, each object has an *event listener manager*. The manager provides a way to add or remove multiple events on objects independently. - -In the Extensions API, the `sheet` is an abstract class that both `dashboard` and `worksheet` inherit from. Note that `sheet` inherits from the `EventListenerManager` (as do `parameter` and `settings` objects). You can add event listeners on the dashboard and on individual sheets. If you have an event listener, when the specified event is raised, the callback method you provide is called to handle the event. You can use event listeners to trigger specific actions based upon worksheet interactions. - -For example, a marks selection event can be raised for a particular sheet in a dashboard. Each event contains an anonymous object with information pertaining to that event, such as the type or name of event and object the event occurred on. -Listening to an event is done by calling the `addEventListener(eventType, callback)` method and passing in a callback function to handle the event. - -## Supported events - -The `addEventListener` method is available for specific objects (worksheet, parameter, settings, and dashboard). If the object does not support the specified `eventType`, -the method throws an exception. The following table shows the event types supported by objects. - -| object | eventType | -| ------ | ----- | -| Worksheet | `FilterChanged` , `MarkSelectionChanged`, `SummaryDataChanged` | -| Parameter | `ParameterChanged` | -| Settings | `SettingsChanged` | -| Dashboard | `DashboardLayoutChanged` , `WorkbookFormattingChanged` | - - -## Add an event listener - -1. Get the object that you want to observe (this could be an individual sheet, or it could be a parameter change). -2. Add the event listener by calling `addEventListener` and specifying the type of event (`eventType`) and the callback method to call. The name of the event must be one of the supported types defined in the `TableauEventType` enumeration. The callback method must handle the event object raised. - -**Note:** For information about the Tableau Extensions API, see API Reference. - - -### Example - -In most cases, you can create an event listener by chaining the methods to the sheet object. In the following example, the name of the event is `tableau.TableauEventType.FilterChanged` or a `FilterChanged` event. When a user changes filters in the sheet, a `FilterChanged` is raised, and the callback method `filterChangedHandler` is called to handle the event. - -```javascript -// ... -// Add filter event to each worksheet. AddEventListener returns a function that will -// remove the event listener when called. - let unregisterHandlerFunction = worksheet.addEventListener(tableau.TableauEventType.FilterChanged, filterChangedHandler); - unregisterHandlerFunctions.push(unregisterHandlerFunction); -// ... -``` - -For more information, check out the sample extension, [Filtering](https://github.com/tableau/extensions-api/tree/main/Samples/Filtering). diff --git a/docs/trex_examples.md b/docs/trex_examples.md deleted file mode 100644 index 867302e0..00000000 --- a/docs/trex_examples.md +++ /dev/null @@ -1,165 +0,0 @@ ---- -title: Dashboard Extension Samples -layout: docs ---- - -The best way to learn how to build your own extensions is to look at the sample code. To examine the sample source files to see how Tableau dashboard extensions work, you can clone or download the [Extensions API](https://github.com/tableau/extensions-api) SDK on GitHub and run the samples or the tutorial. -- To download the Extensions API SDK, if you have not already done so, see [Get Started]({{ site.baseurl }}/docs/trex_getstarted.html). - -- You can browse the sample code for the dashboard extensions in the [Samples](https://github.com/tableau/extensions-api/tree/master/Samples?=target="_blank") and the [Tutorial](https://github.com/tableau/extensions-api/tree/master/Tutorial?=target="_blank") folders on GitHub. - -- You can also create dashboard extensions using TypeScript. See the TypeScript sample code in [Samples-TypeScript](https://github.com/tableau/extensions-api/tree/master/Samples-Typescript?=target="_blank") on GitHub. - -- You can also check out the dashboard extensions from the community, see [Community Extensions]({{ site.baseurl }}/community/). - - ---- - - -**In this section** - -* TOC -{:toc} - - ---- - -The following instructions assume that you have already downloaded and extracted the files or have cloned the Extensions API SDK to your desktop. - - - -### About the dashboard extension samples - -The dashboard extension samples are in the `Samples` folder. There is also a step-by-step tutorial you can follow in the `Tutorial` folder. - -The [Samples-Typescript](https://github.com/tableau/extensions-api/tree/master/Samples-Typescript?=target="_blank") folder shows how you can use the Extensions API type definitions to create extensions in TypeScript. For more information, see [Use TypeScript with the Extensions API]({{site.baseurl}}/docs/trex_typescript.html). - - - - -- **[DataSources](https://github.com/tableau/extensions-api/tree/master/Samples/DataSources?=target="_blank")** - - Shows how to use the `getDataSourcesAsync` function to find the names of the data sources for each worksheet in the dashboard. Like the Filtering sample, the DataSources sample makes use the `Promise.all` function to combine the promises from the asynchronous calls together, and then waits for them to resolve. - -- **[Filtering](https://github.com/tableau/extensions-api/tree/master/Samples/Filtering?=target="_blank")** - - Demonstrates how to use the `getFiltersAsync` function to find and display the active filters in the dashboard and calls the `addEventListener` function to set a `FilterChanged` event on each workbook in the dashboard. Any time a filter value is changed, the extension refreshes the table that displays the active filters. - -- **[Parameters](https://github.com/tableau/extensions-api/tree/master/Samples/Parameters?=target="_blank")** - - Finds and displays all the parameters in the dashboard and then sets an event listener that waits for a parameter to change, which triggers a refresh. - -- **[Settings](https://github.com/tableau/extensions-api/tree/master/Samples/Settings?=target="_blank")** - - Uses the `settings` namespace to save settings (key-value pairs) for the extension. Demonstrates how you can save settings for each instance of an extension, which enables sharing common views of a workbook. - -- **[UINamespaces](https://github.com/tableau/extensions-api/tree/master/Samples/UINamespace?=target="_blank")** - - Demonstrates how you can use the `UI` namespace to create a modal dialog box (or popup) that runs another extension, which allows users to interact and change the settings for the parent extension. This sample controls the background auto-refresh interval for data sources in a dashboard. - - -- **[Tutorial](https://github.com/tableau/extensions-api/tree/master/Tutorial?=target="_blank")** - - Walks you through the step-by-step process of creating and refining an extension that displays a summarized table of the currently selected marks. - -- **[Samples-Typescript](https://github.com/tableau/extensions-api/tree/master/Samples-Typescript?=target="_blank")** - - The **Samples-Typescript** folder shows how you can use the Extensions API type definitions to create extensions in TypeScript. The sample extensions include TypeScript versions of many of the JavaScript samples. For more information, see [Use the TypeScript samples](#use-the-typescript-samples) and [Use TypeScript with the Extensions API]({{site.baseurl}}/docs/trex_typescript.html). - -- **[VizImage](https://github.com/tableau/extensions-api/tree/main/Samples/VizImage?=target="_blank")** - - Shows how you can use Tableau Viz to add visualizations to your dashboard extensions. This sample demonstrates the effects of different mark types and color palettes. For more information about Tableau Viz, see [Add Tableau Viz to Your Dashboard Extensions]({{site.baseurl}}/docs/trex_tableau_viz.html). - -- **[Formatting](https://github.com/tableau/extensions-api/tree/main/Samples/Formatting?=target="_blank")** - - Shows how you can access the CSS formatting in the Tableau workbook and apply it to the HTML elements in your dashboard extension. Create a consistent look and feel across the extension and the dashboard. - - ---- -### Start a web server to host the sample dashboard extensions - -To use the dashboard extension samples, you need to start up a web server on your computer to host the HTML pages. If you downloaded or cloned the Extensions API repository, you can start the web service in the root directory of the repository on your computer. These commands start the Node.js basic service `http-server`. - -1. Go to the `extensions-api` folder. -2. To install the web server components, run the following command: - ``` - npm install - ``` -3. To start the web server, run the following command: - ``` - npm start - ``` - - - -### Instructions for starting a web server on a different port - -The samples are set up so that the web server is using port `8765`. If you need to specify a different port instead of `8765`, you can change ports using another Node.js or `http-server` command. - -From the `extensions-api` folder, you can start the `http-server` using one of the following commands. Replace `PORT` with the port you are using (for example, `8000`). - -To install the `http-server`on your computer globally and to also start the server: - -``` -npm install http-server -g && http-server -p PORT -``` -If you have already installed `http-server`, you can start the server directly: - -``` -http-server -p PORT -``` -The port you use for the web server also has to match the port specified in the manifest file (`.trex`) for the server. - -``` - - http://localhost:PORT/samples/parameters/parameters.html - - -``` - ---- -### Use the extensions in the samples folder - -After you start the web server to host the sample extensions, you can try the extensions in Tableau. - -1. Start Tableau and open a workbook that has a dashboard, or open a workbook and create a new dashboard. -2. In the dashboard, under **Objects**, select **Extension** and drag it on to the dashboard. -3. In the **Choose an Extension** dialog box, click **My Extensions**. -4. Browse to the directory where the samples are located. For example, if you downloaded or cloned the GitHub repository, go to `\extensions-api\Samples`. -5. Select one of the folders for the samples and open the `.trex` file (for example, `DataSources.trex`).
    -Every Tableau extension has a manifest file (`.trex`) that describes the extension and identifies the location of the web application. - -The extension should appear in the dashboard. Play around with the extension. Examine the HTML and JavaScript source files to see how things work. - - - -## Use the TypeScript samples - -The TypeScript samples show how you can write your source code in TypeScript and then use the Extensions API type definitions to compile (or transpile) the code into JavaScript. The samples use Node.js and webpack to build the extensions. These instructions assume that you have cloned or downloaded the Extensions API GitHub repository. - -1. Go to the `extensions-api` folder. -2. Install the web server components: - ``` - npm install - ``` -3. Build the TypeScript samples: - - ``` - npm run build - ``` - Run lint with the semistandard package. - - ``` - npm run lint - ``` - -4. Compile and start the HTTP server for the extensions. This command also watches the source file directories and automatically builds the samples when you make changes. -``` -npm run dev -``` -5. Try the samples. - - Start Tableau and open a workbook that has a dashboard, or open a workbook and create a new dashboard. - - In the dashboard, under **Objects**, select **Extension** and drag it on to the dashboard. - - In the **Choose an Extension** dialog box, click **My Extensions**. - - Browse to the directory where the samples are located. For example, if you downloaded or cloned the GitHub repository, go to `\extensions-api\Samples-Typescript`. The folder contains the TypeScript versions of the Datasources, Filtering, and Parameters samples. - - If you want to experiment with your own TypeScript code for extensions, you can use the same infrastructure that the TypeScript samples use. Create a folder in the **Samples-Typescript** directory and then add your extension source files. Add an entry to the `webpack.config.js` file for your extension TypeScript file. Update the path to your extension in the `.trex` file. Build and run your extension using the same commands you use to build the samples. For more information, see [Use TypeScript with the Extensions API]({{site.baseurl}}/docs/trex_typescript.html). diff --git a/docs/trex_format.md b/docs/trex_format.md deleted file mode 100644 index f0723bf4..00000000 --- a/docs/trex_format.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: Add Tableau Workbook Formatting -layout: docs ---- - -To help your dashboard extension match the look and feel of the dashboard in which it is placed, you can apply the formatting styles used in the workbook to the HTML elements in your extension. When the formatting changes in the workbook, the corresponding styles are updated in your extension. - -**In this section:** - -* TOC -{:toc} - ----- - - -## Apply Tableau classes to HTML elements - -Starting with the Dashboard Extensions API v1.7 library, and supported with Tableau 2021.4 or later, you can apply workbook formatting styles by specifying the class on the HTML elements in your extension. The specific Tableau classes to use are defined in the [`ClassNameKey`]({{site.baseurl}}/docs/enums/tableau.classnamekey.html){:target="_blank"} enum. - -| HTML style (string literal) | ClassNameKey enum| -| :------------ | :---------- | -| `tableau-dashboard-title` | `tableau.ClassNameKey.DashboardTitle` | -| `tableau-story-title` | `tableau.ClassNameKey.StoryTitle` | -| `tableau-tooltip` | `tableau.ClassNameKey.Tooltip` | -| `tableau-worksheet` | `tableau.ClassNameKey.Worksheet` | -| `tableau-worksheet-title` | `tableau.ClassNameKey.WorksheetTitle` | - - -### As an HTML class - -To apply the formatting in the body of your HTML page to HTML elements, use the string literal `tableau-*` for the `ClassNameKey` enum. For example, to apply the worksheet title formatting you set the `class` for the HTML element in your extension (`h1`, `h2`, etc.) to `"tableau-worksheet-title"`. - -```html -

    Subheader, using tableau-worksheet-title class

    - -``` - -### In JavaScript code - -To reference the workbook formatting in your JavaScript code, use the enum directly. For example, to add the formatting used in the worksheet title, you could use the JQuery method (`.addClass`) to add the `tableau.ClassNameKey.WorksheetTitle` to an element on your page. The following example applies the formatting to a heading with the id `someTitle`. - -```javascript - -$('#someTitle').addClass(tableau.ClassNameKey.WorksheetTitle); - -``` - -You could also create a JavaScript function that has `ClassNameKey` as an parameter, and use that function to process and apply the formatting in some way. - -```javascript - -myFormattingFunction(tableau.ClassNameKey.WorksheetTitle); - -// does something with the worksheet title - -``` - -## Access information about the formatting styles in the workbook - -You can access the formatting used in a Tableau workbook from the `tableau.extensions.environment.workbookFormatting` property. The `workbookFormatting` property, `formattingSheets` contains an array of CSS properties for the workbook, organized by `ClassNameKey`. For example, if you wanted to view the formatting styles available using the Chrome DevTools, you could add the following JavaScript code and then view the results in the Console window by navigating the array. - -```javascript - -if (tableau.extensions.environment.workbookFormatting) { - console.log(tableau.extensions.environment.workbookFormatting.formattingSheets); -}; - -``` - -Or to just print out the formatting information in the Console window you could do something like the following: - -```javascript - -let formattingSheets = tableau.extensions.environment.workbookFormatting.formattingSheets; -formattingSheets.forEach(function (formattingSheet) { - console.log("The formatting sheet is " + formattingSheet.classNameKey + " " + JSON.stringify(formattingSheet.cssProperties)); - }); - -``` - -## Set an event listener on workbook format changes - -You can set an event listener on changes to the formatting in the workbook. The new event type is `WorkbookFormattingChanged`. The `WorkbookFormattingChanged` event is triggered whenever the workbook formatting is changed in Tableau authoring mode. This includes changes in the font, the font size, whether it is bold, italic, or underlined, and changes in color. - -```javascript - -dashboard.addEventListener(tableau.TableauEventType.WorkbookFormattingChanged, (event) => { - console.log(event.formatting); - // take some other actions based on the change -}); - -``` - -For more information about using event listeners, see [Events and Event Handling]({{site.baseurl}}/docs/trex_events.html). - -## What's Next - -* To see a working sample dashboard extension that uses workbook formatting, see the JavaScript [Formatting](https://github.com/tableau/extensions-api/tree/main/Samples/Formatting){:target="_blank"} sample in the Samples folder, or the TypeScript [Formatting](https://github.com/tableau/extensions-api/tree/main/Samples-Typescript/Formatting){:target="_blank"} sample in the Samples-Typescript folder. - -* For information about accessing the formatting styles in a workbook, see [workbookFormatting]({{site.baseurl}}/docs/interfaces/environment.html#workbookformatting){:target="_blank"} in the API reference documentation. diff --git a/docs/trex_getdata.md b/docs/trex_getdata.md deleted file mode 100644 index 1d988583..00000000 --- a/docs/trex_getdata.md +++ /dev/null @@ -1,467 +0,0 @@ ---- -title: Get Data from the Dashboard -layout: docs ---- - -The Dashboard Extensions API provides methods that you can use to access the data in a dashboard. The data you can access includes the summary or aggregated data, and also the underlying data (or full data). If your extension needs to access the full data, there are security implications and your extension needs to declare its intent, so that users of your extension can choose to allow or deny the extension access. See [Accessing Underlying Data]({{ site.baseurl }}/docs/trex_data_access.html) for more information. - -

    Note Tableau 2020.2 introduced a new data model. To support that model, the Extensions API provides new methods and data structures starting with version 1.4 of the Extensions API library. In the new data model, a data source could have multiple logical tables, and logical tables can contain one or more physical tables. If you have an existing extension that uses one of the deprecated methods to get underlying data, the method call could fail if the data source contains more than one logical table. You should update your extensions to use these new methods. The new methods are backward compatible with previous versions of Tableau. - -For information about the data model, see The Tableau Data Model.

    -
    - ---- -**In this section** - -* TOC -{:toc} - ---- - -# Get data from a worksheet - -The Extensions API provides several methods for accessing data from a dashboard. The method you use depends in part upon how you want to use the data, and on the version of Tableau and the Extensions API library you are using. When you have the worksheet object, you can get the summary data (aggregated data) or the full data (underlying data) directly from the worksheet, using these methods: - -| Method | Tableau Version | Extensions API Library | Status | -|:------ | :---------------| :--------------------- | -| `Worksheet.getSummaryDataReaderAsync()` | Tableau 2022.4 and later | version 1.10 and later | Current | -| `Worksheet.getSummaryDataAsync()` | Tableau 2018.2 and later | version 1.1 and later | Deprecated | -| `Worksheet.getUnderlyingDataAsync()` | Tableau 2018.2 to 2020.1 | version 1.1 to 1.3 | Deprecated | -| `Worksheet.getUnderlyingTablesAsync()` | Tableau 2018.2 and later | version 1.4 and later | Current | -| `Worksheet.getUnderlyingTableDataAsync()` | Tableau 2018.2 and later | version 1.4 and later | Current | -| `Worksheet.getUnderlyingTableDataReaderAsync()` | Tableau 2022.4 and later | version 1.10 and later | Current | - -The data is returned in a `DataTable` object. The `getSummaryDataReaderAsync` and `getUnderlyingTableDataReaderAsync` methods return a `DataTableReader` object, which you can use to return the pages of `DataTable` objects. The `DataTable` object contains the columns and data values, and information about the data, whether it is underlying or summary data, and in the case of underlying data, whether there is more data than can be returned. - -Starting in Tableau 2020.2, with the introduction of the new data model and logical tables, you need to use the `Worksheet.getUnderlyingTablesAsync` method to first return the array of `LogicalTable` objects. The `LogicalTable` objects returned are determined by the measures in the worksheet. The `LogicalTable` objects correspond to the tables shown in the default view on the **Data Source** page in Tableau. These tables make up the *logical layer*. You can retrieve the underlying or logical data from each `LogicalTable` in the worksheet or data source. - -| Object/Property| Description | -| :------------ | :---------- | -| `LogicalTable` | Object that represents a logical table in a data source, or logical table used in a worksheet | -| `LogicalTable.caption` | The name of the logical table as it appears in Tableau. | -| `LogicalTable.id` | The identifier used to specify the logical table. Use this value to call `getUnderlyingTableDataAsync` or `getUnderlyingTableDataReaderAsync`. | - -You can also get the data from the selected marks in the worksheet, or the marks that are currently highlighted in the worksheet. The following two functions return a `MarksCollection`, which is an array of `DataTable` objects. - -`Worksheet.getSelectedMarksAsync()` - -`Worksheet.getHighlightedMarksAsync()` - -## Get the worksheet object - -The first step for accessing data of any kind is to get the worksheet object (or objects) that you want. - -```javascript - - // After initialization, ask Tableau what sheets are available - const worksheets = tableau.extensions.dashboardContent.dashboard.worksheets; - - // Find a specific worksheet - var worksheet = worksheets.find(function (sheet) { - return sheet.name === "Name of Worksheet I want"; - }); - - // Or iterate through the array of worksheets - worksheets.forEach(function (worksheet) { - // process each worksheet... - }); - -``` - -After you have a worksheet object, you can call one of the methods to access the data for that worksheet. For summary data, or the data from the selected or highlighted marks, the steps are straight forward. If you want access the underlying data (or full data), there are additional steps and considerations. See [Accessing Underlying Data]({{site.baseurl}}/docs/trex_data_access.html). - - -## Get summary data from a worksheet - -Starting with Tableau 2022.4 and the Dashboard Extensions API library v1.10, you should use the `getSummaryDataReaderAsync()` method to get data from a worksheet. This method returns a `DataTableReader` object that you can use to access the data. - -If your summary data is less than 4,000,000 rows (400 pages), you can use the `DataTableReader.getAllPagesAsync()` method to retrieve a single `DataTable` from the `DataTableReader`. The following example shows how to do this. - -```javascript - -// Use `await` only inside an `async` method - - const dataTableReader = await worksheet.getSummaryDataReaderAsync(); - const dataTable = await dataTableReader.getAllPagesAsync(); - await dataTableReader.releaseAsync(); - // ... process data table ... - -``` - -If your summary data contains more than 4,000,000 rows (or 400 pages), use the summary `DataTableReader` to iterate through the pages of data for all rows in the worksheet. In this case, you process each `DataTable` sequentially. You can control the page size, using the optional `pageRowCount` parameter when you call `getSummaryDataReaderAsync`. The default page size is 10,000 rows. Using the `DataTableReader` you can create a loop to retrieve each page of summary data, using `DataTableReader.pageCount` or `DataTableReader.totalRowCount` property to determine the number of pages to process. Use the `getPageAsync` method to get the `DataTable` from each page. After you have retrieved all pages of the summary data, call the `releaseAsync` method to free up memory from the `DataTableReader`. - -```javascript - -// Use `await` only inside an `async` method - -const dataTableReader = await worksheet.getSummaryDataReaderAsync(); -try { - for (let currentPage = 0; currentPage < dataTableReader.pageCount; currentPage++) { - const dataTablePage = await dataTableReader.getPageAsync(currentPage); - // ... process current page .... - } -} catch (e) { - console.error(e); -} finally { - // free up resources - await dataTableReader.releaseAsync(); -} - -``` - -#### Deprecated method - -Prior to Tableau 2022.4 and the Dashboard Extensions API library v1.10, you would use the `getSummaryDataAsync` method. This method could fail if there is a large amount of summary data. Modify your code to use the `getSummaryDataReaderAsync` method instead. - -```javascript - // get the summary data for the sheet - worksheet.getSummaryDataAsync().then(function (sumdata) { - const worksheetData = sumdata; - // The getSummaryDataAsync() method returns a DataTable - // Map the DataTable (worksheetData) into a format for display, etc. - }); - -``` - -## Get full data from a worksheet - -If your extension uses one of the functions that can access full data, you need to add an element to the manifest file (`.trex`) that declares that the extension requires `full data` permission. If the manifest file does not have this element, the extension can run, but the method to access full data will fail. See [Add permissions to access full data to manifest file]({{ site.baseurl }}/docs/trex_data_access.html#add-permissions-to-access-full-data-to-manifest-file). - -Note whoever uses your extension must have the appropriate download permissions (Download Full Data) so that extension can run. - -Starting in Tableau 2020.2, and using version 1.4 of the Extensions API v1.4 library, the methods for accessing the underlying data changed. You can use these methods in all versions of Tableau (starting with 2018.2) if you use the v1.4 library or later. - -### Get full data using the v1.4 library (and later) - -Starting in Tableau 2020.2 and later, where the underlying data could include multiple logical tables, you first need to identify the logical table (or tables) you want data from. In previous versions of Tableau, logical tables did not exist. When you use the `getUnderlyingTablesAsync` in Tableau 2020.1 and earlier, the method returns a single table. You can use this single table identifier to call `getUnderlyingTableDataAsync` and `getUnderlyingTableDataReaderAsync`. - -#### 1. Get the logical table(s) using getUnderlyingTablesAsync() - -The first step is to use the `Worksheet.getUnderlyingTablesAsync()` method to return the array of `LogicalTable` objects. The `LogicalTable` objects returned are determined by the measures in the worksheet. If a worksheet's data source contains multiple logical tables and the worksheet only uses measures from one logical table, the method will return one logical table. - -To get the underlying data for each logical table, you use the `LogicalTable.id` property of the table to call `Worksheet.getUnderlyingTableDataAsync()`. Note that when you use the `getUnderlyingTablesAsync()` in Tableau 2020.1 and earlier, the method will only return a single table, and that table uses `single-table-id-sentinel` as the `LogicalTable.id`. - -```javascript - -// Call to get the underlying logical tables used by the worksheet -worksheet.getUnderlyingTablesAsync().then(logicalTables => { - // Get the first logical table's id - // In Tableau <= 2020.1, the first table is the only table returned. - const logicalTableId = logicalTables[0].id; - - // Use the logicalTableId to then get worksheet's underlying data - // by calling worksheet.getUnderlyingTableDataAsync(logicalTableId) or - // worksheet.getUnderlyingTableDataReaderAsync(logicalTableId) - -}); - - -``` - -#### 2a. Get data from the logical table(s) (less than 10,000 rows) - -If the data doesn't contain more than 10,000 rows, you can use the `getUnderlyingTableDataAsync` method to get data from a worksheet. - -Using the `logicalTable.id`, you call the `getUnderlyingTableDataAsync` method to return a `DataTable` containing the underlying data (up to 10,000 rows) for the logical table. Repeat this step for each logical table. - -The following example returns data for the first logical table that is used by a worksheet called *"Sale Map"*. - -```javascript - - var worksheet = tableau.extensions.dashboardContent.dashboard.worksheets.find(w => w.name === "Sale Map"); - worksheet.getUnderlyingTablesAsync().then(logicalTables => { - worksheet.getUnderlyingTableDataAsync(logicalTables[0].id).then(dataTable => { - // process the dataTable... - }); - }); - -``` - -You can specify the number of rows of data to return by setting `GetUnderlyingDataOptions.maxRows` property. If unspecified (`maxRows == '0'`), the call to `getUnderlyingTableDataAsync` requests all rows in the logical table. Note that the maximum number of rows returned from the `getUnderlyingTableDataAsync` method is limited to 10,000 rows. You can use the `DataTable` property, `isTotalRowCountLimited`, to test whether there is more data. A value of true indicates that the calling function requested more rows than the limit (10,000) and the underlying data source contains more rows than can be returned. If the data contains more than 10,000 rows, use `getUnderlyingTableDataReaderAsync` method instead. - - -#### 2b. Get data from the logical table(s) (more than 10,000 rows) - -Starting with Tableau 2022.4 and the Dashboard Extensions API library v1.10, if the data contains more than 10,000 rows, use the `getUnderlyingTableDataReaderAsync` method to get data from a worksheet. In this case, you create a `DataTableReader` to iterate through the pages of data. You process each `DataTable` sequentially. You can control the page size, using the optional `pageRowCount` parameter when you call `getUnderlyingTableDataReaderAsync`. The default page size is 10,000 rows. - -The basic steps are as follows: - -1. Using the `logicalTable.id`, call the `getUnderlyingTableDataReaderAsync` method to create the `DataTableReader`. - -1. Create a loop to retrieve each page of underlying data, using `DataTableReader.pageCount` or `DataTableReader.totalRowCount` property of the `DataTableReader` to determine the number of pages to process. - -1. Use the `getPageAsync` method to get the DataTable from each page. - -1. After you have retrieved all pages of the summary data, call the `releaseAsync()` method to free up memory from the `DataTableReader`. - -```javascript - -// assumes this code is in an async method - -const worksheet = tableau.extensions.dashboardContent.dashboard.worksheets.find(w => w.name === "Sale Map"); -// Call to get the underlying logical tables used by the worksheet -const underlyingTablesData = await worksheet.getUnderlyingTablesAsync(); -const logicalTableId = underlyingTablesData[0].id; -// Use the above logicalTableId to get the underlying data reader on the specified worksheet -const dataTableReader = await worksheet.getUnderlyingTableDataReaderAsync(logicalTableId); -try { - // loop through and process the pages - for (let pageNumber = 0; pageNumber < dataTableReader.pageCount; pageNumber++) { - let currentPageDataTable = await dataTableReader.getPageAsync(pageNumber); - // process page ... - console.log(currentPageDataTable); - } -} catch(e) { - console.error(e); -} finally { - // free up resources - await pageReader.releaseAsync(); -} - -``` - -The `getUnderlyingTableDataReaderAsync` method attempts to prepare all the rows of the table to be read as pages. There is a limit to the number of rows that can be prepared to conserve computing resources. The default limit is 1 million rows of data. You can change this default row limit with the Tableau Server, {{site.tol}}, or Tableau Desktop option: `ExtensionsAndEmbeddingReaderRowLimit`. For Tableau Desktop, you can set this with a command line option **`-DExtensionsAndEmbeddingReaderRowLimit=`***value*. - -If the underlying table has many columns, `getUnderlyingTableDataReaderAsync` can be sped up by only requesting native data values (`IncludeDataValuesOption.OnlyNativeValues`) in the `GetUnderlyingDataOptions`. - ---- - -### Deprecated: Get full data (library v1.3 and earlier) - -If you were using 1.3 version of the Extensions API library (or earlier), you had to use the `getUnderlyingDataAsync` method to get the underlying data from a worksheet in Tableau 2020.1 and earlier. This method has been deprecated, but it shown here for completeness. - -If you want your extension to work in all versions of Tableau, you should use the latest library (version 1.4 or later) and the `getUnderlyingTablesAsync` and `getUnderlyingTableDataAsync` methods. - -```javascript - -// the following example uses the Superstore workbook and gets the underlying data -// for a specific worksheet. -// The example writes the values for a single column (states names) to the console. -tableau.extensions.dashboardContent.dashboard.worksheets.find(w => w.name === "Sale Map").getUnderlyingDataAsync().then(dataTable => { - let field = dataTable.columns.find(column => column.fieldName === "State"); - let list = []; - for (let row of dataTable.data) { - list.push(row[field.index].value); - } - let values = list.filter((el, i, arr) => arr.indexOf(el) === i); - console.log(values) -}); - -``` - ---- - -# Get data from a data source - -You can also get the underlying data from the data sources for the worksheet. To do that, you must acquire the data sources for the worksheet with a call to the `getDataSourcesAsync()` method, which returns an array of the primary and all the secondary data sources of a worksheet. Once you have the data source object, you can access the underlying data and access information about the data source, such as the names of tables and fields and information about the connection. - -Just like worksheet methods that access full data, the following methods for the data source also require that your extension specifies `full data` permissions in the `trex` file. See [Add permissions to access full data to manifest file]({{ site.baseurl }}/docs/trex_data_access.html#add-permissions-to-access-full-data-to-manifest-file). - - -| Method | Tableau Version | Extensions API Library | Status | -|:------ | :---------------| :--------------------- | -| `Datasource.getConnectionSummariesAsync()`| Tableau 2018.2 and later | version 1.1 and later | Current | -| `Datasource.getDataSourcesAsync()` | Tableau 2018.2 and later | version 1.1 and later | Current | -| `Datasource.getActiveTablesAsync()` | Tableau 2018.2 to 2020.1 | version 1.1 to 1.3 | Deprecated | -| `Datasource.getUnderlyingDataAsync()` | Tableau 2018.2 to 2020.1 | version 1.1 to 1.3 | Deprecated | -| `Datasource.getLogicalTablesAsync()` | Tableau 2018.2 and later | version 1.4 and later | Current | -| `Datasource.getLogicalTableDataAsync()` | Tableau 2018.2 and later | version 1.4 and later | Current | -| `Datasource.getLogicalTableDataReaderAsync()` | Tableau 2022.4 and later | version 1.10 and later | Current | - - - -## Get the data sources from a worksheet - -To get the data sources a worksheet uses, you call the `getDataSourcesAsync()` method on the worksheet object. The following code snippet shows how you might select a specific data source of a worksheet. - -```javascript - -tableau.extensions.dashboardContent.dashboard.worksheets.find(w => w.name === "Sale Map").getDataSourcesAsync().then(datasources => { - let dataSource = datasources.find(datasource => datasource.name === "Sample - Superstore"); - // return dataSource for further processing -}); - -``` - -## Get full data from a worksheet using the v1.4 library (and later) - -After you have the data source object, you can query the data source for the underlying data. Starting in Tableau 2020.2 and later, the underlying data could include multiple logical tables. Before accessing the data you need to identify the logical table (or tables) of the data source you want data from. In previous versions of Tableau (2020.1 and earlier), logical tables did not exist. When you use the `Datasource.getLogicalTablesAsync()` in Tableau 2020.1 and earlier, the method returns a single table. - -#### 1. Get the logical table(s) using getLogicalTablesAsync() - -The first step in getting the underlying data is to call the `Datasource.getLogicalTablesAsync` method to return the array of `LogicalTable` objects. - -To get the underlying data for each logical table, use the `LogicalTable.id` property of the table to call `Datasource.getLogicalTableDataAsync()`. Note that when you use the `getLogicalTablesAsync` in Tableau 2020.1 and earlier, the method will only return a single table, and that table uses the `single-table-id-sentinel` as the `LogicalTable.id`. - -Example that uses a single table: - -```javascript - -// Call to get the logical tables used by the worksheet -dataSource.getLogicalTablesAsync().then(logicalTables => { - // Get the first logical table's id - // In Tableau <= 2020.1, the first table is the only table returned. - const logicalTableId = logicalTables[0].id; - - // Use the logicalTableId to then get worksheet's underlying data - // by calling worksheet.getUnderlyingTableDataAsync(logicalTableId) - -}); - -``` - -Example that writes the names of all the logical tables in the data source to the console: - -```javascript - -// Call to get the logical tables used by the worksheet -dataSource.getLogicalTablesAsync().then(logicalTables => { - // Loop through each table in this data source - logicalTables.forEach( table => { - console.log(table.caption); - }); -}); - -``` - -#### 2a. Get data from the logical table(s) for less than 10,000 rows - -If the data doesn't contain more than 10,000 rows, you can use the `getLogicalTableDataAsync` method to get data from a data source. - -After you have identified the logical tables you want, use the `LogicalTable.id` property of the table to call `Datasource.getLogicalTableDataAsync()`. You can then process the data for that logical table. - -The following example returns the column names of the first logical table that is in the data source. - -```javascript - - dataSource.getLogicalTablesAsync().then(logicalTables => { - // get the underlying data from the first logical table - dataSource.getLogicalTableDataAsync(logicalTables[0].id).then(dataTable => { - // get the names of the columns in the dataTable - let list = []; - for (let col of dataTable.columns) { - list.push(col.fieldName); - } - console.log(list); - }); - }); - -``` - -#### 2b. Get data from the logical table(s) for more than 10,000 rows - -Starting with Tableau 2022.4 and the Dashboard Extensions API library v1.10, if the data contains more than 10,000 rows, use the `getLogicalTableDataReaderAsync` method to get data from a data source. In this case, you create a `DataTableReader` to iterate through the pages of data for all rows in the worksheet. You process each `DataTable` sequentially. You can control the page size, using the optional `pageRowCount` parameter when you call `getLogicalTableDataReaderAsync`. The default page size is 10,000 rows. - -The basic steps are as follows: - -Using the `logicalTable.id`, call the `getLogicalTableDataReaderAsync` method to create the `DataTableReader`. -Create a loop to retrieve each page of logical data, using `DataTableReader.pageCount` or `DataTableReader.totalRowCount` property of the summary `DataTableReader` to determine the number of pages to process. Use the `getPageAsync()` method to get the `DataTable` from each page. After you have retrieved all pages of the data, call the `releaseAsync()` method to free up memory from the `DataTableReader`. - -```javascript - -// assumes this code is in an async method - -const pageRowCount = 1000; // default is 10,000 -const dataSources = await worksheet.getDataSourcesAsync(); -const dataSource = dataSources.find(datasource => datasource.name === "Sample - Superstore"); -const logicalTables = await dataSource.getLogicalTablesAsync() -const dataTableReader = await dataSource.getLogicalTableDataReaderAsync(logicalTables[0].id, pageRowCount); -try { - // loop through and process each page - for (let pageNumber = 0; pageNumber < dataTableReader.pageCount; pageNumber++;) { - let currentPageDataTable = await dataTableReader.getPageAsync(pageNumber); - // process page ... - console.log(currentPageDataTable); - } -} catch (e) { - console.error(e); -} finally { -// release resources - await pageReader.releaseAsync(); -} - -``` - -## Deprecated: Get data from a data source using the v1.3 library (and earlier) - -If you were using 1.3 version of the Extensions API library (or earlier), you had to use the `getUnderlyingDataAsync` method to get the underlying data from a data source in Tableau 2020.1 and earlier. This method has been deprecated, but it shown here for completeness. - -If you want your extension to work in all versions of Tableau, you should use the latest library (version 1.4 or later) and the `Datasource.getLogicalTablesAsync()` and `Datasource.getLogicalTableDataAsync` methods. - -```javascript - -tableau.extensions.dashboardContent.dashboard.worksheets.find(w => w.name === "Sale Map").getDataSourcesAsync().then(datasources => { - dataSource = datasources.find(datasource => datasource.name === "Sample - Superstore"); - return dataSource.getUnderlyingDataAsync(); -}).then(dataTable => { -// process the dataTable... -}); - -``` - ---- - -# Compatibility: methods for accessing underlying data - -To support the data model that was introduced in Tableau 2020.2, where a data source can have logical tables, the Tableau Dashboard Extensions API provides new methods for getting data. The new methods are available starting with version 1.4 of the Extensions API library. Starting with version 1.10 of the library, there are new methods that provide pagination using a `DataTableReader`. The following table shows the compatibility between the methods and the different versions of the Extensions API library and Tableau. - -If you have an existing Dashboard Extension that accesses underlying data, and you want your extension to work with Tableau 2020.2 or later, you should upgrade to the latest version of the library supported by your version of Tableau. - -| Methods | API Version | Tableau 2020.1 and earlier | Tableau 2020.2 (single logical table) | Tableau 2020.2 (multiple logical tables) | -| :-------- | :---------- | :---------- | :--------- | :-------- | -| `Datasource.getUnderlyingDataAsync` `Worksheet.getUnderlyingDataAsync` | v1.3 and earlier | Works as expected | Works, column order will be different | Fails with an exception: Not Supported (2) | -| `Datasource.getUnderlyingDataAsync` `Worksheet.getUnderlyingDataAsync` | v1.4 | Works as expected | Works, column order will be different | Fails with an exception: Not Supported (2) | -| `Datasource.getLogicalTablesAsync` `Datasource.getLogicalTableDataAsync` `Worksheet.getUnderlyingTablesAsync` `Worksheet.getUnderlyingTableDataAsync` | v1.4 and earlier | Works, maps to existing commands | Works, column order will be different | Works as expected | -| `Datasource.getLogicalTableDataReaderAsync`, `Worksheet.getUnderlyingTableDataReaderAsync` | v1.10 and later | -- | -- | Works as expected | - ---- - -# When there is more data than can be returned - -Some data sources can be very large and could contain thousands and thousands of rows. To minimize the impact of requests for data on Tableau performance, the `getUnderlyingDataAsync()`, `Worksheet.getUnderlyingTableDataAsync()`, and `Datasource.getLogicalTableDataAsync` methods are currently limited to returning 10,000 rows. If the method can't return the full number of rows in your data, the `DataTable` property `isTotalRowCountLimited` is set to TRUE. You can use this property to test whether there is more data than can be returned. - -If there are more than 10,000 rows of data, use one of the pagination methods, `Datasource.getLogicalTableDataReaderAsync`, `Worksheet.getUnderlyingTableDataReaderAsync`. These methods return a `DataTableReader` that you can use to page through and retrieve the data. - -Note that the limits do not apply to `getSummaryDataAsync()`. The `getSummaryDataAsync()` method could fail if there is a very large amount of summary data. You should use `getSummaryDataReaderAsync()` instead, the method is available starting with Tableau 2022.4 and the version 1.10 library. - -The following table illustrates what happens to calls to `getUnderlyingDataAsync()`, `Worksheet.getUnderlyingTableDataAsync()`, and `Datasource.getLogicalTableDataAsync()` for various sizes of data (shown as **Data Rows**). - -* `maxRows` represents the rows requested as one of the `GetUnderlyingDataOptions`. When `maxRows = 0` the method will attempt to return all rows of data. -* `totalRowCount` represents the number of rows returned in the `DataTable`. -* `isTotalRowCountLimited` is the Boolean that indicates if there is more rows of data than can be returned. - - -**Rows of data returned** - -| Data Rows | maxRows (input) | totalRowCount (output) | isTotalRowCountLimited | Comments | -|:----------|:-----------------------|:-----------------------|:-----------------------|---------------------------------------------------------| -| 15,000 | 0 | 10,000 | TRUE |   | -| 15,000 | any number > 10,000 | 10,000 | TRUE | Any number greater than 10,000 exceeds the return limit | -| 15,000 | 10,000 | 10,000 | FALSE |   | -| 15,000 | 200 | 200 | FALSE |   | -| 500 | 0 | 500 | FALSE |   | -| 500 | any number > 10,000 | 500 | FALSE |   | -| 500 | 200 | 200 | FALSE |   | -| 10,000 | 0 | 10,000 | FALSE |   | -| 10,000 | any number > 10,000 | 10,000 | FALSE |   | -| 10,000 | 10,000 | 10,000 | FALSE |   | -| 10,000 | 200 | 200 | FALSE |   | - ---- - -# Handle full data access and permission errors - -When an extension needs full data access and the user does not have full data permission on the workbook, Tableau currently allows the extension to run, but Tableau will call the promise failure function if the extension calls `getUnderlyingData()`, `Worksheet.getUnderlyingTableDataAsync()`, and `Datasource.getLogicalTableDataAsync()`. This is shown in the following example. - -```javascript - -Worksheet.getUnderlyingTableDataAsync(logicalTables[0].id).then(function(success) { - // called on success -}, function (err) { - // called on any error, such as when the extension - // doesn’t have full data permission -}); - -``` - -An error is also printed to the console. If you use any of these methods to get the full data, be sure to add error handling for the promise in case of failure. diff --git a/docs/trex_getstarted.md b/docs/trex_getstarted.md deleted file mode 100644 index b30eb4fd..00000000 --- a/docs/trex_getstarted.md +++ /dev/null @@ -1,184 +0,0 @@ ---- -title: Get Started with Dashboard Extensions -layout: docs ---- - -The Tableau Dashboard Extensions API allows developers to create extensions for Tableau. Tableau extensions are web applications that can interact and communicate with Tableau. A dashboard extension can be placed in the dashboard like any other dashboard object. - -
    Note If you are looking for information about how to extend Tableau calculations to include popular data science programming languages and external tools, see the Tableau Analytics Extensions API.
    - -This section will take you through the process of setting up your environment to use one of the sample dashboard extensions. Using one of the sample extensions is a great way to learn and great way to get started developing your own extensions. In this section, you will start a simple web server on your computer to host the sample. You can use the same process for hosting the extension when you start developing your own. - -

    Note If you are looking for information about how to add an extension to a dashboard in Tableau, see Use Dashboard Extensions. If you are looking for extensions that you can use, see the Tableau Exchange.

    -
    - - - -**In this section** - -* TOC -{:toc} - - ----- -*What's in a Tableau extension?
    -A Tableau extension consists of a manifest file (`.trex`), a web page that uses a Tableau-provided JavaScript library, and the JavaScript file (or files) that contain your extension logic. The Tableau extensions are supported on Tableau Desktop, Tableau Server, and {{site.tol}}.* - ---- - - - - -### What you need to get started - -If you want to create an extension or work with the sample code, make sure you have the following dependencies installed: - -* [Git](https://git-scm.com/downloads) -* [Node.js and npm](https://nodejs.org/en/download/) - -You need Node.js and npm to run the dashboard extension demos. Node.js is a JavaScript runtime. npm is a package manager for Node.js and is installed when you install Node.js. - -Requirements for using dashboard extensions in Tableau: - -* Tableau Desktop 2018.2 and later -* Tableau Server 2018.2 and later -* {{site.tol}} - -To run extensions on Tableau Server or {{site.tol}}, support for extensions must be enabled, and depending upon the extension and the data access it requires, the extension might need to be added to the safe list for the site. See - [Manage Dashboard Extensions on Tableau Server](https://onlinehelp.tableau.com/current/server/en-us/dashboard_extensions_server.htm) or [Manage Dashboard Extensions on {{site.tol}}](https://onlinehelp.tableau.com/current/online/en-us/dashboard_extensions_server.htm) for more information. - ----- - -### Get the Tableau Extensions API SDK - -You can get the Tableau Extensions API SDK in two ways. Clone the repository if you want to contribute to the open source project or keep current with the latest changes. Download the `.zip` file if you want to view the samples and work on your own. - -* Open a terminal in the directory where you want to copy the Tableau Extensions SDK. Then run the following command to clone - the Tableau Extensions API git repository: - - `git clone https://github.com/tableau/extensions-api.git` - -* Download the [Tableau Extensions API SDK (.zip file)](https://github.com/tableau/extensions-api/archive/main.zip) and extract the files to your computer. - - - ---- -### Start a web server to host the sample dashboard extensions - -To use the dashboard extension samples, you need to start up a web server on your computer to host the HTML pages. If you downloaded or cloned the Extensions API repository, you can start the web service in the root directory of the repository on your computer. For example, if you downloaded the `extensions-api-main.zip` file to your `Downloads` directory, after you extract the files, the path might be `Downloads\extensions-api-main\extensions-api\`. - -1. Navigate to the `extensions-api` directory. - -2. To install the web server components, run the following npm commands to install the package: - - **npm install** - - **npm run build** - - -3. To start the web server, run the following npm command: - - **npm start** - - The start command runs a script to start the web server over port `8765`. You only need to install the web server components the first time. Subsequently, you can just start the web server, using **npm start**. - The start commands uses the npm [http-server](https://www.npmjs.com/package/http-server){:target="_blank"} package, a simple HTTP server that uses Node.js for serving static files to the browser. - - - | **Note:** The web server just serves the extension samples, which have URLs similar to the following: `http://localhost:8765/Samples/DataSources/datasources.html` This local web server is not intended to serve the Extensions API Help pages. View the Help on GitHub at [https://tableau.github.io/extensions-api](https://tableau.github.io/extensions-api). - - - ---- -### Start Tableau and add an extension to the dashboard - -1. Start Tableau and open a workbook that has a dashboard, or open a workbook and create a new dashboard. For example, you could use one of the Tableau sample workbooks like Superstore to start with. - -2. In the dashboard, under **Objects**, select **Extension** and drag it on to the dashboard. - - ![]({{site.baseurl}}/assets/frelard_objects_extension.png){:height="25%" width="25%"} - -3. In the **Add an Extension** dialog box, click **Access Local Extensions**. - Every Tableau extension has a manifest file (`.trex`) that describes the extension and identifies the location of the web application. - -4. Browse to the directory where the samples are located. For example, if you downloaded or cloned the GitHub repository, go to `\extensions-api\Samples\DataSources`. - -5. Open the `DataSources.trex` file. - The sample extension (web application) appears in the dashboard frame. The DataSources sample finds and displays the data source for each worksheet in the dashboard. - -6. In the DataSources extension, click the **Info** (**i**) button. This action opens a dialog box that displays more details about the selected data source. - - ![]({{site.baseurl}}/assets/data_source.gif) - ----- - -### Examine the source code for the extension - -Looking at the files that make up an extension will give you an idea of how an extension is constructed. - -1. Browse to the directory where the DataSources sample is located. For example, if you downloaded or cloned the GitHub repository, go to `\extensions-api\Samples\DataSources`. - -2. Open the `datasources.html` file in your favorite Text or Code editor. This HTML page provides the interface that users see when they load the extension. This file includes links to the Extensions API library file and to the file that contains all the JavaScript code for the extension. - - ```html - - - - - - ``` - -3. Open the `datasources.js` file. This file contains code to initialize the Extensions API, and contains functions to gather all the data sources used by the workbooks in the dashboard. Read through the code and the code comments to get an understanding about how this extension works. The Extensions API makes use of JavaScript Promises to collect the data returned from the asynchronous function calls. Look for the code that initializes the extension. An extension will often place the initialization code in the JQuery `$(document).ready()` function so that it will run when the page is loaded. - - ```javascript - (function () { - $(document).ready(function () { - tableau.extensions.initializeAsync().then(function () { - /* body of function */ - /* controls what the extension does */ - /* extension calls other functions here */ - } function (err) { - // Something went wrong in initialization. - console.log('Error while Initializing: ' + err.toString()); - }); - }); - /* extension can define other functions here as needed */ - })(); - - ``` - -4. Open the `DataSources.trex` file. This is the manifest file for the extension. This is the file that you selected to add the extension to the dashboard. This file defines certain properties for the extension, such as the name, and author, and the location (URL) of the extension. - - ```xml - - http://localhost:8765/Samples/DataSources/datasources.html - - ``` - - If you make a copy of the sample directory so that you can start to modify the code and experiment with the Extensions API, you just need to modify this path so that the URL reflects the new location. - - ```xml - - http://localhost:8765/_your-new-folder-here_/DataSources/datasources.html - - ``` - - - - ----- - -## What's next? - -* Start developing your extension by modifying an existing sample. See [samples (GitHub)](https://github.com/tableau/extensions-api/tree/master/Samples/). If you cloned or downloaded the repository, create a copy of the Samples directory. For example, if you make the copy in `\extensions-api\` directory, and call it `MySamples`, you just need to modify the URL in the `.trex` files so that you host the extensions using the same web server you created with `npm start` command. - -* Follow the [Tutorial (GitHub)](https://github.com/tableau/extensions-api/tree/master/Tutorial) and learn how to build a dashboard extension, step by step. If you downloaded or cloned the repository, look in the `Tutorial` folder on your computer. - -* For information about creating a simple "Hello World" Tableau extension, see [Create a "Hello World" Dashboard Extension]({{site.baseurl}}/docs/trex_create.html). - -* To get familiar with the programming interface for the Extensions API, see the API Reference. - -* For information about debugging your extension, see [Debug Extensions in Tableau Desktop]({{site.baseurl}}/docs/trex_debugging.html) and [Debug Extensions in Tableau Server and {{site.tol}}]({{site.baseurl}}/docs/trex_debug_server.html). diff --git a/docs/trex_known_issues.md b/docs/trex_known_issues.md deleted file mode 100644 index 687c5f4b..00000000 --- a/docs/trex_known_issues.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: Known Issues for the Tableau Extensions API -layout: docs ---- - -The following section describes some issues in the current release of the Extensions API where the API or the platform does not behave as expected. - -For information about what is new or has changed in each release, see the [Release Notes for the Tableau Extensions API]({{site.baseurl}}/docs/trex_release-notes.html). - -**In this section** - -* TOC -{:toc} - -### Tableau Viz - Known Issues - -Tableau Viz provides a way to create visualizations in dashboard extensions. The following is a list of issues with the current release of Tableau Viz. - -* The vertical header text appears slightly cropped in the SVG output. -* Tableau fonts are not available in the SVG output. - -For information about Tableau Viz, see [Add Tableau Viz to Your Dashboard Extension]({{site.baseurl}}/docs/trex_tableau_viz.html). - -### Unable to debug extensions using Chrome version 80 or later - -Because of incompatibilities between Chrome and the internal Chromium-based browser used in Tableau, you can't use Chrome version 80 or later to debug your extensions. If you are using Tableau Desktop 2019.1 or later, you can debug extensions using Chrome version 79 or Chromium version 79. If you are using Tableau Desktop versions 2018.2 or 2018.3, you can use Chromium version 47. For more information about debugging extensions and using the Chromium browser, see [Debug Extensions in Tableau Desktop]({{site.baseurl}}/docs/trex_debugging.html) and [Download the Chromium Browser]({{site.baseurl}}/docs/trex_debugging.html#download-the-chromium-browser). - - -### Unable to run dashboard extension using self-signed certificates - -Tableau now uses Qt WebEngine 5.15, which is based on Chromium version 87.0.4280, with additional security fixes from newer versions of Chromium. Because of this update, dashboard extensions hosted on web servers that use self-signed certificates (SSL) might not work in Tableau 2021.1, or in the most recent Tableau maintenance releases: 2020.2.7+, 2020.3.6+, and 2020.4.2+. -You might see one of the following errors: - -* `Failed to load resource: net::ERR_CERT_COMMON_NAME_INVALID` - -* `Error: Subject Alternative Name Missing` - -* `Your connection is not private` - -You can avoid these errors if you specify the `subjectAlternativeName` (SAN) in the extended certificate parameters when you sign your certificate. - -For more information, see [Google Chromium Enterprise Known Issues - Error "Subject Alternative Name Missing"](https://support.google.com/chrome/a/answer/9813310?hl=en#zippy=%2Cerror-subject-alternative-name-missing-or-neterr-cert-common-name-invalid-or-your-connection-is-not-private){:target="_blank"} and the following discussion on Stack Overflow: [Invalid self signed SSL cert - “Subject Alternative Name Missing” on StackOverflow](https://stackoverflow.com/questions/43665243/invalid-self-signed-ssl-cert-subject-alternative-name-missing){:target="_blank"}. - - -### Time zone not persisted when updating date parameter - -When you update a date or date-time parameter using `changeValueAsync()`, the time zone information is not kept. The date/time is still correct, however, it is just that the data/time is converted to UTC. - -### The getDataSourcesAsync method is slow - -If your extension uses the `getDataSourcesAsync()` method, calling this method might negatively impact performance and responsiveness of the viz that your extension is added to. The method is not entirely asynchronous and includes some serial operations. - -### Unable to print or save image of the extension in a dashboard - -- If you print a dashboard to a `.pdf` file, or save the dashboard as an image (or receive an image of the dashboard, as part of subscription) the zone that contains the extension will be blank. - -### HTML drop-down menus in popup dialog windows - -- **Fixed in Tableau 2019.1** HTML drop-down menus in popup dialog windows do not work as expected on MacOS. Users will not be able to select menu items using the mouse. They can select items with the cursor keys. To avoid issues on MacOS, use radio buttons or another method for user selection in the popup dialog. - -### Decimal separators in parameters - -- Decimal separators in parameters are not handled as expected for some locales. If your operating system locale uses commas for decimal separators, the `parameter.changeValueAsync` function expects a string that uses a comma as the decimal separator; however, the `parameter.currentValue` function will return a string using a period as the decimal separator, regardless of locale settings. - -### Full data access and permission errors - -When an extension needs full data access and the user does not have full data permission on the workbook, Tableau currently allows the extension to run. However, Tableau will throw a console error when the extension calls `getUnderlyingData()` method. See [Handle full data access and permission errors]({{site.baseurl}}/docs/trex_getdata.html#handle-full-data-access-and-permission-errors). - - -### Tableau Extensions API library version 1.0.0 - -If you are debugging your extension, you might see this message in the Debugging Tools console window if you are using the released version of the 1.0.0 library (for example, `tableau-extensions-1.0.0.js`) with a version of Tableau that is newer than Tableau 2018.2. - -``` -This is an alpha version of the Extensions API. Please upgrade to an official release. - -``` - -You can safely ignore this warning. However, if you are using the 1.0.0 library, be sure to upgrade to the latest version. - -To avoid having to update your code to reference a new version of the 1.x library every time you download a new version, you can specify `tableau.extensions.1.latest.js`. That way, when you replace the previous version of the library with the most recent update, your extension should just work. - -``` - - -``` diff --git a/docs/trex_logging.md b/docs/trex_logging.md deleted file mode 100644 index 116cace5..00000000 --- a/docs/trex_logging.md +++ /dev/null @@ -1,187 +0,0 @@ ---- -title: Use Log files to Troubleshoot Dashboard Extensions -layout: docs ---- - -You can use the Tableau Desktop and Tableau Server log files to troubleshoot issues with your dashboard extension. The log files can help you identify and fix registration errors, and can help you track extension activity. You can use any text viewer, or tools like the Tableau Log Viewer, to filter the log files, so you can focus in on the activities of concern. - -Support for extensions is built-in to Tableau, so there is nothing you need to set up and no code you need to add to view extension activity in Tableau log files. - - ---- -**In this section** - -* TOC -{:toc} - -## Locate the Tableau log files - -By default, the Tableau Desktop log file (`log.txt`) is are stored in the following location: - -``` -Users//Documents/My Tableau Repository - -``` -The `log.txt` file contains information about dashboard extension registration and information about extension command execution. - -## Download and install the Tableau Log Viewer - -The Tableau Log Viewer is an open source tool that makes it easier to read Tableau log files. You can install the Log Viewer by downloading a `.zip` file for either Windows or MacOS. If you want to build the Tableau Log Viewer yourself, you can also download or clone the Log Viewer repository. - - -1. Download the latest release in the [Releases Section](https://github.com/tableau/tableau-log-viewer/releases){:target="_blank"} of the [Tableau Log Viewer](https://github.com/tableau/tableau-log-viewer){:target="_blank"} repository on GitHub. - -2. Extract `.zip` file on your local computer. Launch the Log Viewer application (`Log Viewer.exe` on Windows, or `Log Viewer.app` on MacOS). -3. Open the log file from the File menu, or drag and drop the Tableau log file into the Log Viewer window. - -The Tableau Log Viewer supports both Tableau Desktop and (most) Tableau Server log files. For more information, see the wiki pages on GitHub for [Tableau Log Viewer](https://github.com/tableau/tableau-log-viewer){:target="_blank"}. - - -## Find dashboard extension events -The Desktop Tableau log file (`log.txt`) is a JSON formatted file. The extensions activity is tagged with the key-value pair `"k":"extension"`. You can search the log for `extension`. For example, this entry shows successful registration. - -```json -{"ts":"2017-11-27T17:55:55.665", - pid":12100,"tid":"3d08","sev":"info","req":"-", - "sess":"-", - "site":"{FA6345B5-D64A-4ADB-9435-12F170D9B2AB}", - "user":"-", - "k":"extension", - "v":{"Event":"Extension Successfully Registered", - "id":"com.tableau.extensions.samples.datasources", - "name":"DataSources Sample"} -} -``` - -Although, you can use any file viewer or text editor, the Tableau Log Viewer makes finding the events easy to view and navigate. - -![]({{site.baseurl}}/assets/log_viewer.png) - - ----- - -## Troubleshooting errors that occur during registration -The extension registration process occurs during Tableau start up. This is when Tableau looks in the `Extensions` folder for the manifest files (`.trex`) files, and then parses the files to check for schema violations, or to check that there are duplicate identifiers. If the manifest file checks out, Tableau writes the event to the log file and the extension appears in the list of available extension in the dashboard. -There are two situations that can occur during the extension registration process that might cause errors. - -- Duplicate extension ids -- XSD Validation errors - - -### Duplicate extension identifers -Each dashboard extension must have a unique identifier. The identifier is specified in the manifest file. - -```xml - -``` - -Tableau uses the extension identifier and the extension version number to register the dashboard extension. At startup, Tableau checks that there are no duplicate identifiers. If an extension is found that has the same identifier as one that is already registered, an error is logged and the extension with the duplicate identifier is not registered and does not appear in the list of available extensions. - - - -``` -Error: Registration Failed: Multiple Extensions With ID, com.tableau.extensions.samples.settings, Found -file: Settings.trex -id: com.tableau.extensions.samples.settings -``` - - -### XSD Validation errors -The extensions manifest file (`.trex`) is an XML-based file. As part of the registration process, the `.trex` file validated against the XML schema definition file (XSD). If there are schema violations with the `.trex` file, the extension cannot be registered and XSD errors are written to the Tableau log file. The first error specifies the type of error and the name of the manifest file. - -```xml -Error: Registration Failed: XSD Validation Failed -file: Sample.trex - -``` - -Each XSD validation error in the file is logged separately, which makes it easier to locate and fix problems. For example, the following error shows the exact line number and location where the error occurred. In this case, the value for `extension-version` number was left blank `""`. - -``` -Error: Error(2,86): value '' does not match regular expression facet '[0-9]\.[0-9]' (id: C:\Users\me\Documents\My Tableau Repository (Beta)\Extensions\Sample.trex) -file: Sample.trex -``` - - ----- - - -## Track extension activity - -In addition to troubleshooting errors during registration, you can track extension activity. There are other types of events that are reported with the `extension` keyword, such as successful registration, and command execution. The following section walks through the events that occur when the extension is successfully registered, and then placed on the dashboard. - -### Successful registration - -When no errors are found with the manifest file, Tableau completes the registration process and writes `Extension Successfully Registered` to the log file. At this point, the extension is available for use. - -``` -Event: Extension Successfully Registered -id: com.tableau.extensions.dashboard.tutorial.final -name: Tutorial - Complete - -``` - -You can use the `id` of the extension, in this case `com.tableau.extensions.dashboard.tutorial.final` to search for instances where the extension is used. - -### Drop-on-dashboard - -When you drag an extension on to the dashboard a series of events take place. Using the id of the extension, you can find the sequence of `command-pre` and `command-post` tabdoc events that place the extension in the dashboard. - -``` -args: tabdoc:drop-on-dashboard add-as-floating="false" dashboard="Overview" drop-location={"x": 36,"y": 259} is-horizontal="false" zone-param="com.tableau.extensions.dashboard.tutorial.final" zone-type="add-in" -name: tabdoc:drop-on-dashboard -``` - -### Extension initialization - -After an extension has been placed in a dashboard, an initialization sequence begins. - -``` -Event: Executing Command: initialize-add-in-instance -id: com.tableau.extensions.dashboard.tutorial.final -instance-id: com.tableau.extensions.dashboard.tutorial.final -name: Tutorial - Complete - -``` -A key part of this is that the extension is assigned an `add-in-instance-id`. This instance id is something you can use to further track activity. - -``` -args: tabdoc:initialize-add-in-instance add-in-locator-pres-model={"add-in-instance-id": "36C4012514F042DB8F2AB466B445726A","sheet-path":{"sheet-name": "Overview","is-dashboard": true}} -name: tabdoc:initialize-add-in-instance -``` - - -### Executing Save-Settings - -In this example, the extension we are following calls `tableau.extensions.settings.saveAsync()` function when a selection has been made. - -``` -Event: Executing Command: save-add-in-settings -id: com.tableau.extensions.dashboard.tutorial.final -instance-id: com.tableau.extensions.dashboard.tutorial.final -name: Tutorial - Complete -``` -In this case, the selection was the name of a worksheet ("Sale Map"). - -``` - args: tabdoc:save-add-in-settings add-in-locator-pres-model={"add-in-instance-id": "36C4012514F042DB8F2AB466B445726A","sheet-path":{"sheet-name": "Overview","is-dashboard": true}} add-in-settings={"sheet":"Sale Map"} -name: tabdoc:save-add-in-settings -``` - -You can use the information in the log file to help you track activity, and to help you troubleshoot problems with extension registration. - ------ - -## List of extension events - -| Error | Description | -| --- | --- | -| Duplication error | Manifests with the same id. The id and file name are logged. -| XSD Validation error | Details of the errors are logged in separate messages. The file name is logged - - -| Info | Description | -| --- | --- | -| Registration success | The id and name of the extension. -| Command Execution | Logs when and what command the extension is executing. The Id, instance-Id, and extension name are logged as well. - diff --git a/docs/trex_manifest.md b/docs/trex_manifest.md deleted file mode 100644 index c9e31106..00000000 --- a/docs/trex_manifest.md +++ /dev/null @@ -1,145 +0,0 @@ ---- -title: Tableau Extension Manifest File -layout: docs ---- - -The extension manifest file (`.trex`) contains metadata for the extension and is used for registration. - -For details about a manifest or its fields, see the [Sample Manifest File](#sample-manifest-file) and [Elements of the Manifest File](#elements-of-the-manifest-file). - - -**In this section** - -* TOC -{:toc} - ---- - -## Tableau TREX Generator - -To create a new manifest file (`.trex`) for your extension the easy way, use the [Tableau TREX Generator](https://trex-generator.glitch.me/){:target="_blank"} on [Glitch](https://glitch.com){:target="_blank"}. The Tableau TREX Generator allows you to create the manifest file by filing in a form. You can also upload an existing `.trex` file and use that as a starting point. You can use the generator to edit and modify your `.trex` file as needed. When you are finished, just download the file to use with your extension. - -## Manifest Versioning - -The versioning of the manifest is designed to be semantically simple and support compatibility. The version follows the [Major].[Minor] format. Minor upgrades are backwards compatible while major upgrades involve breaking changes. - -## Error Reporting - -At start up, Tableau checks the manifest file. If any errors are found while parsing the file, Tableau writes these errors to the `log.txt` file in the `My Tableau Repository/Logs` folder. This is the same location that Tableau Desktop uses to report other errors and activity. - -## Sample Manifest File - -```xml - - - - en_US - - Extension Description - - 1.0 - - SCHEME://SERVER[:PORT][/PATH] - - Base64-Encoded ICON - - full data - - - - - - - - name in English - name in French - name in German - - - -``` - - -## Elements of the Manifest File - - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Name of elementDescription
    manifestThe root element that contains the manifest options.
    manifest-versionThe version of the manifest. The version currently supported is 0.1.
    dashboard-extensionThe root element that contains the options for the extension. The dashboard-extension includes the id attribute, which follows the reverse domain name pattern (com.example.extension), and extension-version number attribute. These attributes are required.
    extension-versionThe version of the extension. For example, extension-version="0.1.0"
    default-localeSpecifies the default locale to use for localized text. Here both the locale format (en_US) and language code (en) are accepted. The default locale specified here is converted to one of the supported languages in the Tableau UI. If the language is unsupported or invalid, English is set as default.
    nameThe name of the extension as it appears under Extensions on a dashboard sheet. To provide localized text, specify the name of the resource-id and provide the text strings in the resources element of the manifest (see the manifest example). You can provide localized strings for name and description.
    descriptionA short description of the extension.
    authorSpecifies metadata about the author of the extension, including name, email address, organization, and website. The name and website attributes are required. The website URL must use HTTPS. The website URL is the target of the Get Support link that users see in the About dialog box for your extension. The URL should take users to a page where they can learn about your extension and can get help on using it.
    source-locationContains the url of the server that hosts the web page you create that interacts with Tableau.
    urlSpecifies the scheme (HTTPS, HTTTP), the name of the server, the port (optional) and the path to extension (optional). The url must use HTTPS. For example: https://example.com/extension. -The exception is for localhost. In this case, HTTP is allowed. For example: http://localhost:8080.
    iconIf specified, the icon is what appears in the About dialog box. The icon must be a 70x70 pixel PNG file that is Base64 encoded. If you need an encoder, see https://www.base64-image.de/
    permissionsDeclares the types of permissions that this extension requires. The only option is full data. If your extension can access the underlying data or information about the data sources, you must declare full data permission in the manifest. Full data permissions are required if you use any one of the following APIs: Worksheet.getUnderlyingDataAsync(), Datasource.getUnderlyingDataAsync(), Datasource.getActiveTablesAsync(), Datasource.getConnectionSummariesAsync(). If your extension does not use one of these APIs, you do not need include permissions element.
    context-menuAdds a context menu item in the extension zone. This is a configuration feature that allows you to register a custom JavaScript callback function and associate it with a context menu item. The only allowed element in <context-menu> is <configure-context-menu-item />. The menu item and your configuration callback function are mapped together in the initializeAsync() function. When the extension is initialized, the menu item Configure... appears in the drop-down menu of the dashboard extension. When the user clicks the menu item, your callback function is executed.
    resourcesSpecifies the resources that can be localized.
    min-api-versionSpecifies the minimum API version required to run the extension.
    - -**Constraints** - -- String-based fields: 1000 characters -- URI-based fields: 2084 characters -- Icon field: size of images are restricted to 70x70 diff --git a/docs/trex_oauth.md b/docs/trex_oauth.md deleted file mode 100644 index bb5697f6..00000000 --- a/docs/trex_oauth.md +++ /dev/null @@ -1,206 +0,0 @@ ---- -title: Add OAuth to Dashboard Extensions -layout: docs ---- - -If you want your dashboard extension to use OAuth for authentication, you need to be aware of some important changes that were introduced along with sandboxed extensions in Tableau 2019.4. All dashboard extensions are now wrapped in an `iframe`. Because most OAuth sign-in pages enforce the `X-Frame-Options` settings, which helps prevent [clickjacking](https://tools.ietf.org/html/draft-ietf-oauth-v2-23#section-10.13) attacks, you can't load an OAuth sign-in page within the dashboard, or open a dashboard extension dialog window to use for OAuth sign in. - -As a best practice, dashboard extensions should open an external browser window when you need to request end-user authorization. In Tableau Server and {{site.tol}}, you can do this by using methods like `window.open()` and `window.postMessage()`. However, the `window` methods alone will not work in Tableau Desktop, as the external browser window you open for OAuth sign in has no direct connection to the instance of the dashboard extension. This adds a layer of security and requires extra steps to properly route the access token back to your dashboard extension. The following section describes one possible way of coordinating the OAuth interaction using web sockets for communication and the authorization code grant. For security, the client secret should be stored on the server and not in the client code. This is the only safe way to ensure that someone can't use the client credentials to impersonate your application. To simplify your code, your extension should use the same OAuth flow for Tableau Server and Tableau Desktop. - - ---- -**In this section** - -* TOC -{:toc} - ---- - -## Summary of the OAuth flow - -The following outlines some of the basic steps in using a secondary window for OAuth sign in. For more guidance on setting up OAuth 2.0 securely, see [OAuth 2.0 Security Best Current Practice](https://tools.ietf.org/html/draft-ietf-oauth-security-topics). The following summarizes the steps you'd take if you were using the authorization code grant type. This OAuth flow is recommended as it ensures that the access token is not returned in the URL and that the client secret is safely stored on the server. - -* Open a channel for communication between the server hosting the extension (the server) and the instance of the extension (the client). Create a unique identifier (or session id) for the extension when the extension loads. - -* Create a request (URL) that directs the user to the OAuth provider sign-in page. The request URL includes the client ID and the extension's unique identifier (session id), and provides a callback URL. Open a new dialog window using `window.open()` directed to the URL. Prompt the user to sign in to the OAuth provider (the provider). - -* The user signs in to the OAuth provider and allows (or denies) the extension access to data. - -* When authorization has been granted, the OAuth authorization code is returned to the callback URL (on the server). The server processes the response and extracts the authorization code and the session id. The server creates a new request for the OAuth access token, using the authorization code grant type, and maps the client ID, client secret, and authorization code in the body of the request. - -* When the response from the OAuth provider is received, the server signals an event that returns the OAuth access token, through the web socket, back to the calling extension. - -* In response to the signal, the extension retrieves and stores the OAuth token in local storage on the client's computer. The extension can then use the access token to send subsequent requests for services from the OAuth provider. - ---- -
    -sequenceDiagram - participant User - participant E as Extension (client) - participant S as Server (web host) - participant O as OAuth provider - User->>E: Load dashboard extension - E->>S: Open communication channel - S-->>E: Use this socket session ID (socket.id) - E->>O: Request the OAuth login page (with client ID) - O-->>User: Prompt user: Allow or deny access? - User->>O: Allow! - O-->>S: Here's the auth code - S->>O: Auth code request + client ID, client secret, session ID - O-->>S: Here's the access token - Note right of E: Route the access token based on session ID - S->>E: This access token is for this session ID. - Note right of E: Use the access token to request data - -
    - - - ---- - -## An example of the OAuth code path using Socket.IO - -One way to manage OAuth sign in for your dashboard extension is to employee web sockets for identifying and coordinating the OAuth connection. For example, the OAuth sample ([datadev-oauth-sign-in](https://glitch.com/~datadev-oauth-sign-in){:target="_blank"}) on Glitch makes use of the [Socket.IO](https://socket.io){:target="_blank"} library. Socket.IO provides bi-directional event-based communication between the browser (client) and server. This example uses Node.js and Express to setup a web server to host an extension that connects to Spotify. The extension uses sockets to identify the extension and to route communication with the OAuth sign-in window. - - -### Initialize the socket (session ID) - -In the OAuth sample, when the extension loads in the dashboard, a unique socket session ID is generated. The socket instance is assigned a random 20-character identifier (`socket.id`). This code is on the client-side, the extension's web page (`index.js`). The code also initializes the sign-in button on the extension's home page. - -```javascript - -const socket = io(); - -// Wait to make sure you've made the socket connection so when you press the button there is a socket ID available to send with the request -socket.on("connect", () => { - $("#submit").prop("disabled", false); -}); - - -``` - - On the Express server (`server.js`), in addition to serving the web pages, the server initializes `socket.io`. - -```javascript - -const express = require("express"); -const app = express(); -const server = require("http").createServer(app); -const io = require("socket.io")(server); -const fetch = require("node-fetch"); - - -``` - - - -### Sign in and get the authorization code - -When a user clicks the sign-in button, it opens a new window or tab in the user's native browser (`window.open`) passing with it the client ID and the socket session ID (`socket.id`). In this example, the URL goes to the authorization endpoint on Spotify and specifies the authorization code response type. Note that this sample uses the client ID for the OAuth sample project on Glitch. You need to change this to match your client ID for your dashboard extension. The method also provides a redirect URL back to the server, where the response will return the authorization code. - -```javascript - -// Open a new window to manage the OAuth process outside of Desktop, passing the socket ID so the broker knows where to return the token -function openSignInWindow() { - const scopes = "user-top-read"; - const redirect_uri = "https://datadev-oauth-sign-in.glitch.me/complete"; - const url = - "https://accounts.spotify.com/authorize?response_type=code&client_id=" + - "2029812009c54aef866bd660f612b603" + - "&scope=" + - encodeURIComponent(scopes) + - "&redirect_uri=" + - encodeURIComponent(redirect_uri) + - "&state=" + - socket.id; - window.open(url, "_blank"); -} - - -``` - -### Request the access token (server-side) - -The redirect URL sends the response to the server, where the server extracts the authorization code. The server then sends a new request for the OAuth access token, providing the client ID, the client secret, and authorization code. Making this request from the server ensures that the client secret is kept protected and out of the client-side browser code. In this example, the request is made as part of an `async` function call and the sample makes use of the node-fetch module. There is a lot going on here. After sending the request, the server waits for the response from Spotify that returns the OAuth access token. When the access token is received, the server emits a `signedin` event that signals the instance of extension that initiated the sign in. The server redirects the client browser to the complete page and sends the client the access token, so that the extension can make the authorized requests from Spotify. - -```javascript -app.get("/complete", async (req, res) => { - const code = req.query.code; - const sessionid = req.query.state; - - const url = "https://accounts.spotify.com/api/token"; - const parameters = { - grant_type: "authorization_code", - client_id: process.env.SPOTIFY_CLIENT_ID, - client_secret: process.env.SPOTIFY_CLIENT_SECRET, - code, - redirect_uri: "https://datadev-oauth-sign-in.glitch.me/complete" - }; - const body = Object.keys(parameters) - .map(key => `${key}=${encodeURIComponent(parameters[key])}`) - .join("&"); - const options = { - method: "POST", - headers: { "Content-Type": "application/x-www-form-urlencoded" }, - body - }; - - const response = await fetch(url, options); - const data = await response.json(); - - io.to(sessionid).emit("signedin", data.access_token); - res.sendFile(__dirname + "/views/complete.html"); -}); - - - -``` - -### Pass the access token to the client and make requests - -In response to the `signedin` event, the client checks to see if the OAuth access token was received. If the token is present, the client stores it locally and then uses the access token to make a new request to retrieve the user's top artist from Spotify. In case of error, the access token is removed from local storage and the user is asked to sign in again. - -```javascript - -socket.on("signedin", function(token) { - if (token) { - localStorage.setItem("spotifyAuth", token); - getTopArtist(token); - } else { - console.error("Token response was empty!"); - } -}); - -// Get the top artist information with the token, if the request fails, prompt again for auth -async function getTopArtist(token) { - const url = "https://api.spotify.com/v1/me/top/artists"; - const options = { - headers: { - Authorization: "Bearer " + token - } - }; - - try { - const response = await fetch(url, options); - const data = await response.json(); - updateTopArtist(data); - } catch (error) { - localStorage.removeItem("spotifyAuth"); - openSignInWindow(); - console.error(error); - } -} - -// Updated the text in the dashboard extension -function updateTopArtist(data) { - $("#signIn").hide(); - $("#name").html("" + data.items[0].name + " is your favorite artist!"); -} - -``` - -### Next steps - -* Use the sample code ([datadev-oauth-sign-in](https://glitch.com/~datadev-oauth-sign-in){:target="_blank"}) on Glitch as a starting point to build your own OAuth solution. - -* Review the latest [OAuth 2.0 Security Best Current Practice](https://tools.ietf.org/html/draft-ietf-oauth-security-topics) draft documentation. diff --git a/docs/trex_overview.md b/docs/trex_overview.md deleted file mode 100644 index 26801fc4..00000000 --- a/docs/trex_overview.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: What is a Tableau Dashboard Extension -layout: docs ---- - - Tableau dashboard extensions are web applications that have two-way communication with the dashboard. Dashboard extensions enable all sorts of scenarios, like letting you integrate Tableau with custom applications, making possible for you to modify the data for a viz, or even creating custom visualizations inside the dashboard. A dashboard extension is just one type of extension that can be built using the Tableau Extensions API. - ---- -**In this section** - -* TOC -{:toc} - -## Components of a Tableau dashboard extension -A Tableau extension consists of a manifest file (`.trex`), a web page that uses a Tableau-provided JavaScript library, and the JavaScript file (or files) that contain your extension logic. The Tableau extensions are supported on Tableau Desktop, Tableau Server, and {{site.tol}}. - -![]({{site.baseurl}}/assets/extensions_dashboard_diagram.png) - -## What can you do with a dashboard extension? - -Plenty! Using the Extensions API, you can create dashboard extensions that enable customers to integrate and interact with data from other applications directly in Tableau. - -* Integrate with third-party APIs inside the dashboard. -* Use third-party charting libraries like `d3.js` to add custom visualizations. -* Create an extension that has write-back functionality, so users can modify data in a viz and have that change automatically update the source data in the database or web application. -* Build custom viz and interactivity types, such as a filter replacement with a custom interface and network diagram. - - -## Extensions API library - -The Extensions API is a JavaScript library that you link to from your web application. The Extensions API library (`tableau.extensions.n.n.n.js`) gives your application access to Tableau dashboard content, including worksheets, filters, marks, and parameters. In your JavaScript code, you can set up event listeners to get notified when events occur on the dashboard. You can use the Extensions API to apply filters, or to get data back from selected marks in a worksheet. - -For more information about how you can use Extensions API, go look at the [Samples](https://github.com/tableau/extensions-api/tree/master/Samples/). - -## Comparing the Extensions API and the Embedding JavaScript API - -The Dashboard Extensions API and the [Tableau Embedding API v3](https://help.tableau.com/current/api/embedding_api/en-us/index.html){:target="_blank"}) are both JavaScript libraries that allow you to interact with Tableau, but they do so in two fundamental ways: -* You can use the Embedding JavaScript API for embedding Tableau dashboards in web pages (for example, blog posts), or in line of business applications. -* You can use the Extensions API for integrating web applications into zones in Tableau dashboards. - - - -The Extensions API and Embedding JavaScript API share a similar programming model, but there are differences. - -| Embedding JavaScript API | Extensions API | -|------------| ---------------| -|Brings Tableau into other web applications | Brings other web applications into Tableau | -| Requires embedding Tableau dashboard into a web page | Can be used in Desktop, Server, Online, or embedded dashboard | -| Custom-built for each embedded scenario | Can be made as a re-usable, generic-built dashboard component | -| Written in JavaScript | Written in JavaScript (similar calls) | - - - diff --git a/docs/trex_publish.md b/docs/trex_publish.md deleted file mode 100644 index 336788e2..00000000 --- a/docs/trex_publish.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: Publish a Dashboard Extension -layout: docs ---- - -If you want to share the dashboard extensions you create with others you have several options. -If the dashboard extension is running on a publicly accessible web server over HTTPS, you can distribute the manifest file (`.trex`). Dashboard authors can then add the extension to their dashboards. - -**In this section** - -* TOC -{:toc} - -## Sharing an extension by sharing the workbook - -The easiest way to share an extension with others is to share the workbook that contains the dashboard extension. If the extension is hosted on web site that is accessible and the extension is using HTTPS protocol, viewers of the dashboard will be able see and use the extension. However, if the users do not also have access to the dashboard extension manifest file (`.trex`), they will not be able to add the extension to other dashboards or to other workbooks. - -![]({{ site.baseurl }}/assets/frelard_share_twb.png){:height="75%" width="75%"} - - -## Publishing a dashboard extension to Tableau Server or {{site.tol}} - -While you don't exactly publish a dashboard extension to Tableau Server or {{site.tol}}, you can publish the workbook that contains an extension to Tableau Server. You can also add a dashboard extension to a dashboard on Tableau Server or {{site.tol}} when you are in authoring mode. - -However, to run on Tableau Server or {{site.tol}}, your extension must: - -* Be hosted on a web server that uses HTTPS (`localhost` is the exception during development). Note that hosting your extension on the same computer that is running Tableau Server is not recommended. -* Declare full data access (if the extension calls any functions that access the underlying data in the dashboard). -* Be granted permission to run on Tableau Server or {{site.tol}}. - -|---- | -|**Note** If you want to test your extension with {{site.tol}} and you are running an extension on `http://localhost` during development, see [Load and view localhost content on sites that use secure connections]({{site.baseurl}}/docs/trex_security.html#load-and-view-localhost-content-on-sites-that-use-secure-connections)| - - - Tableau Server and {{site.tol}} have settings that control whether dashboard extensions are allowed to run and whether specific extensions can access the underlying data in a dashboard. - - - To enable a dashboard extension on Tableau Server or {{site.tol}}, the server administrator or the site administrator ({{site.tol}}) must allow extensions for the site. The administrators can then choose to enable the default policy that allows *unknown* extensions that only request summary data to run, provided users grant the extension permission. These extensions are unknown in the sense that they have not been explicitly added to the safe list or to the blocked list on Tableau Server or {{site.tol}}. - - If your extension requires access to full data (underlying data) the server or site administrator must add the URL of your extension to a safe list and must explicitly grant the extension access to full data. The server or site administrator can also configure whether users of your extension will see prompts requesting permission to run. - -The following flowchart shows how the settings on Tableau Server or {{site.tol}} determine whether an extension is allowed or denied permission to run. - - ![alt text]({{site.baseurl}}/assets/Extensions_Safe_List_Block_List_Evaluation_2x.png "Flowchart showing the process that allows or denies an extension to run on Tableau Server or {{site.tol}}.") - - See - [Manage Dashboard Extensions on Tableau Server](https://onlinehelp.tableau.com/current/server/en-us/dashboard_extensions_server.htm) or [Manage Dashboard Extensions on {{site.tol}}](https://onlinehelp.tableau.com/current/online/en-us/dashboard_extensions_server.htm) for more information. - - - - - -## Publishing a dashboard extension to the Tableau Exchange - -If you want to make your dashboard extension readily available to a large number of people, you can take steps to have your extension added to the [Tableau Exchange](https://exchange.tableau.com/). - -Publishing your extension to the Tableau Exchange means that people will be able to discover your extension, find out what it can do, and then add the extension to their dashboards, all while working within Tableau. - -In addition to the requirements for all extensions to ensure security and usability, such as: - * Using HTTPS - * Validating user input - * Declaring data access requirements - * Providing a URL that customers can use to get support for your the extension - - Dashboard extensions that appear in the Tableau Exchange must also: - -* Follow the Design Guidelines for Dashboard Extensions (user interaction and style guidelines for user interface elements). - -* Ensure that the information in the extension manifest file (`.trex`) matches the content that you will publish in the Tableau Exchange. For example, the `name`, `description` fields are used to populate the name and description fields in the Tableau Exchange. The icon you use in the manifest should also be the icon that is used in the Exchange. You need to provide a 280x280 pixel `.png` version of the icon. - -For information about getting your extension into the Tableau Exchange, see [Submitting your Extension to the Tableau Exchange]({{site.baseurl}}/docs/ux_extension_gallery.html){:target="_blank"}. - -For information about designing an extension, see [Design Guidelines for Dashboard Extensions]({{site.baseurl}}/docs/ux_design.html){:target="_blank"}. - -![]({{ site.baseurl }}/assets/trex_gallery.png){:height="50%" width="50%"} - -## Publishing or sharing a dashboard extension on the Communities page - -Another way to share your work with other developers is to add it to the [Community Portal for Dashboard Extensions]({{ site.baseurl }}/community/). You can use the portal to provide links to your source code and you can also provide a `.trex` file for users to download. To make it easier for others to use your extension, we ask that your `.trex` file specifies a link to a hosted version of your extension -See [Hosting and Contributing to the Community Portal]({{site.baseurl}}/docs/trex_contributing.html) - -Submit your extension to the [Community Portal for Dashboard Extensions]({{ site.baseurl }}/community/) diff --git a/docs/trex_release-notes.md b/docs/trex_release-notes.md deleted file mode 100644 index 384f1563..00000000 --- a/docs/trex_release-notes.md +++ /dev/null @@ -1,865 +0,0 @@ ---- -title: Release Notes for the Tableau Extensions API -layout: docs ---- - -[All Releases](#all-releases) - ----- -### Tableau Dashboard Extensions API version 1.11.0 - -*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){:target="_blank"}.)
    - -* Certain features in this release are only available in Tableau 2024.1 or later. Download [Tableau Desktop](https://www.tableau.com/support/releases){:target="_blank"} or [Tableau Server](https://www.tableau.com/support/releases/server){:target="_blank"}. - -* 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){:target="_blank"} and request your own {{site.tol}} developer site. - -About this release: - -* Adds the `Environment.uniqueUserId` property. - -* Adds the `SummaryDataChanged` event type. - -* Adds the `Worksheet.getVisualSpecificationAsync` method. - -* Fixes a bug in the `getSelectedMarksAsync` method that would cause `formattedValue` to be incorrect in multi-pane scenarios. - -* Adds experimental features as part of Viz Extensions Pre-Release. See the blog post [Extend Your Visual Analytics with Tableau Viz Extensions](https://www.tableau.com/blog/visual-analytics-tableau-viz-extensions). - - 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. - - 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. - ----- -See also: [Known Issues]({{site.baseurl}}/docs/trex_known_issues.html) - ----- - -#### All Releases - -* TOC -{:toc} - ----- - -### Tableau Dashboard Extensions API version 1.10.0 - -*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){:target="_blank"}.)
    - -* Certain features in this release are only available in Tableau 2022.4 or later. Download [Tableau Desktop](https://www.tableau.com/support/releases){:target="_blank"} or [Tableau Server](https://www.tableau.com/support/releases/server){:target="_blank"}. - -* 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){:target="_blank"} and request your own {{site.tol}} 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]({{site.baseurl}}/docs/trex_tableau_viz_ref_v2.html). For information about using Tableau Viz in your extensions, see [Add Tableau Viz to your Dashboard Extensions]({{site.baseurl}}/docs/trex_tableau_viz.html). - - ![Tableau Viz v2 SVG image]({{site.baseurl }}/assets/vizapiV2.svg) - ----- - -* Adds support for a [DataTableReader]({{site.baseurl}}/docs/interfaces/datatablereader.html) to support pagination. Created with [Worksheet.getSummaryDataReaderAsync]({{site.baseurl}}/docs/interfaces/worksheet.html#getsummarydatareaderasync), -[Worksheet.getUnderlyingTableDataReaderAsync]({{site.baseurl}}/docs/interfaces/worksheet.html#getunderlyingtabledatareaderasync), and [DataSource.getLogicalTableDataReaderAsync]({{site.baseurl}}/docs/interfaces/datasource.html#getlogicaltabledatareaderasync). -For more information, see [Get Data from the View]({{site.baseurl}}/docs/trex_getdata.html). - -* Deprecated `getSummaryDataAsync`. Use [Worksheet.getSummaryDataReaderAsync]({{site.baseurl}}/reference/interfaces/worksheet.html#getsummarydatareaderasync) instead. - -* The [UI.displayDialogAsync]({{site.baseurl}}docs/interfaces/ui.html#displaydialogasync) now supports different dialog styles (window, modal or modeless dialog boxes). - -* Adds support for annotating marks with [Worksheet.annotateMarkAsync]({{site.baseurl}}/docs/interfaces/worksheet.html#annotatemarkasync), [Worksheet.getAnnotationsAsync]({{site.baseurl}}/docs/interfaces/worksheet.html#getannotationsasync), and [Worksheet.removeAnnotationAsync]({{site.baseurl}}/docs/interfaces/worksheet.html#removeannotationasync). See the code sample, [Annotation](https://github.com/tableau/extensions-api/tree/dev/Samples/Annotation) (on GitHub). - ----- - -### Tableau Dashboard Extensions API version 1.9.0 - -*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){:target="_blank"}.)
    - -* Download [Tableau Desktop](https://www.tableau.com/support/releases){:target="_blank"} or [Tableau Server](https://www.tableau.com/support/releases/server){:target="_blank"}. - -* 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){:target="_blank"} and request your own {{site.tol}} developer site. - -About this release: - -* Added support for [`Filter.getAppliedWorksheets()`]({{site.baseurl}}/docs//interfaces/filter.html#getappliedworksheetsasync) and [`Filter.setAppliedWorksheets()`]({{site.baseurl}}/docs/interfaces/filter.html#setappliedworksheetsasync). - -* Added support for [`Dashboard.getFiltersAsync()`]({{site.baseurl}}/docs/interfaces/dashboard.html#getfiltersasync) and [`Dashboard.applyFilterAsync()`]({{site.baseurl}}/docs/interfaces/dashboard.html#applyfilterasync). - -* Added support for [`Worksheet.applyRelativeDateFilterAsync()`]({{site.baseurl}}/docs/interfaces/worksheet.html#applyrelativedatefilterasync). - -* Starting with this release, you can now load Benton Sans fonts and Tableau fonts by default during extension initialization. You can set the Tableau and Benton Sans fonts in the style portion of your extension. To see how you can use the fonts in a dashboard extension, see the [Formatting](https://github.com/tableau/extensions-api/tree/master/Samples/Formatting?=target="_blank") sample. - - ```css - - body { - font-family: 'Benton Sans', Arial, Helvetica, sans-serif; - } - ``` - ----- - -### Tableau Dashboard Extensions API version 1.8.1 - -*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){:target="_blank"}.)
    - -* Download [Tableau Desktop 2021.4](https://www.tableau.com/support/releases){:target="_blank"} or [Tableau Server 2021.4](https://www.tableau.com/support/releases/server){:target="_blank"}. - -* 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){:target="_blank"} and request your own {{site.tol}} developer site. - -About this release: - -* Minor updates and bug fixes. - -* Minor corrections and updates to the documentation. See [Add Tableau Workbook Formatting]({{site.baseurl}}/docs/trex_format.html). - -* New versions of the JavaScript library and TypeScript types (`1.8.1`). See [Use TypeScript with the Extensions API]({{site.baseurl}}/docs/trex_typescript.html). - ----- - - -### Tableau Dashboard Extensions API version 1.8 - -*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){:target="_blank"}.)
    - -* 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){:target="_blank"} and request your own {{site.tol}} developer site. - -About this release: - -This release contains updates for [Tableau Viz]({{site.baseurl}}/docs/trex_tableau_viz.html){:target="_blank"}, including: - - - -* Added support for setting the size of a bar mark to be manual (`VizImageSizeSettingType.Manual`) or fixed (`VizImageSizeSettingType.Fixed`). If the type is manual, you can set the mark’s size. If the type is fixed, you can set the alignment (`VizImageSizeSettingAlignmentType`). - -* Added support for sorting. You can sort a field (continuous or discrete) by ascending or descending values (`VizImageSortDirectionType.Ascending`, `VizImageSortDirectionType.Descending`). - - ```javascript - sort: { field: "Category", sortby: "Weather", direction: tableau.VizImageSortDirectionType.Ascending } - ``` - -* For continuous fields, you can set the color palette to a custom-diverging, or custom-sequential color palette. You are not restricted to using only a Tableau defined palate, such as, `green_blue_white_diverging_10_0`. -For example, you could set the custom palette as shown in the following examples: - - ```javascript - - palette: tableau.VizImagePaletteType.CustomDiverging, start: "#FFB6C1", end: "#90ee90" - - ``` - - Or - - ```javascript - - palette: tableau.VizImagePaletteType.CustomSequential, end: "#FFB6C1" - - ``` - -* Added support to show or hide grid lines in the view for rows or columns, or both. - -* Starting with the v1.8 release of the Dashboard Extensions API library and Tableau 2021.4, Tableau Viz now uses Tableau fonts as the default font for text in the output SVG image. - -For more information, see [Tableau Viz Reference]({{site.baseurl}}/docs/trex_tableau_viz_ref.html){:target="_blank"} - ----- - -### Tableau Dashboard Extensions API version 1.7 - -*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){:target="_blank"}.)
    - -* 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){:target="_blank"} and request your own {{site.tol}} developer site. - -About this release: - -* Added a new method, [`moveAndResizeDashboardObjectsAsync`]({{site.baseurl}}/docs/interfaces/dashboard.html#dashboard.html#moveandresizedashboardobjectsasync){:target="_blank"} 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`]({{site.baseurl}}/docs/interfaces/dashboard.html#replayanimationasync){:target="_blank"} 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`]({{site.baseurl}}/docs/enums/tableau.classnamekey.html){:target="_blank"} 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

    - - ``` - - To reference the workbook formatting in places outside of the HTML body, use the enum directly (for example, `tableau.ClassNameKey.WorksheetTitle`). - - ```html - - ``` - - 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/Formatting){:target="_blank"} sample in the Samples folder. Also see [Add Tableau Workbook Formatting]({{site.baseurl}}/docs/trex_format.html). - -* 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`. - - The `DashboardLayoutChanged` event is triggered whenever a dashboard object is added, removed, repositioned or resized, or whenever the floating state, visibility, object name, or dashboard size changes. See the [DashboardLayoutChanged]({{site.baseurl}}/docs/interfaces/dashboard.html#dashboardlayoutchanged){:target="_blank"} event. - - The `WorkbookFormattingChanged` event is triggered whenever the workbook text formatting is changed in Tableau authoring mode. This includes changes in the font, the font size, whether it is bold, italic, or underlined, and the color. For more information about workbook formatting, see [workbookFormatting]({{site.baseurl}}/docs/interfaces/environment.html#workbookformatting){:target="_blank"}. - -* 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]({{site.baseurl}}/docs/interfaces/extensions.html#setclickthroughasync){:target="_blank"} method. - - - - - ----- - -### Tableau Dashboard Extensions API version 1.6 - -*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){:target="_blank"}.)
    - -* Download [Tableau Desktop 2021.3](https://www.tableau.com/support/releases){:target="_blank"} or [Tableau Server 2021.3](https://www.tableau.com/support/releases/server){:target="_blank"}. - -About this release: - -* Tableau Viz is here!
    - -![Tableau Viz SVG image]({{site.baseurl }}/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`]({{site.baseurl}}/docs/interfaces/extensions.html#createvizimageasync){:target="_blank"} 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]({{site.baseurl}}/docs/trex_tableau_viz.html) - - [Tableau Viz Reference]({{site.baseurl}}/docs/trex_tableau_viz_ref.html) - - [Tableau Viz Sample - VizImage](https://github.com/tableau/extensions-api/tree/main/Samples/VizImage){:target="_blank"} - -New Dashboard Extension API methods in this release: - -* Added the `getAllDataSourcesAsync()` method to get the data sources for a workbook. -* Added the `createVizImageAsync()` method to support Tableau Viz. - ----- - -### Tableau Dashboard Extensions API version 1.5 - -*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){:target="_blank"}.)
    - -About this release: - -* The `Filter.getFieldAsync` method now works as expected and properly returns the field. This fix requires Tableau 2019.2 and later. - -* Show/Hide (`setZoneVisibilityAsync`) can now be applied to any dashboard zone. - -* The `selectMarksByValueAsync` method now supports combined selection criteria types (bug fixed). - -* The following are all improvements to the [`getSummaryDataAsync`](https://tableau.github.io/extensions-api/docs/interfaces/worksheet.html#getsummarydataasync){:target="_blank"} method: - - * `getSummaryDataAsync` now has a smaller and faster payload. - - * `maxRows` can be applied to `getSummaryDataAsync` to restrict the number of rows fetched. - - * `columnsToIncludeById` can be applied to `getSummaryDataAsync` to restrict the columns fetched. - - * `includeDataValuesOnly` or `includeFormattedValuesOnly` can be applied to `getSummaryDataAsync` to restrict the amount of information returned to what you really need. - - * The `getSummaryColumnsInfoAsync` method is new in this release. It returns the column information for each column that will be returned in `getSummaryDataAsync`. - -* 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){:target="_blank"}. - - - ----- - -### Tableau 2021.1 Updates - -*March 2021* - -* You can now use Chrome version 80 and later to debug your dashboard extension in Tableau Desktop. If you are using Tableau 2021.1, or the latest maintenance releases of Tableau 2020.2, 2020.3, or 2020.4, you no longer need to use Chromium (version 79 or earlier) for debugging. For more information, see [Debug Extensions in Tableau Desktop]({{site.baseurl}}/docs/trex_debugging.html) and [Download the Chromium Browser]({{site.baseurl}}/docs/trex_debugging.html#download-the-chromium-browser). - -* If you plan to implement OAuth in your dashboard extension, you'll want to check out [Add OAuth to Dashboard Extensions]({{site.baseurl}}/docs/trex_oauth.html), and the OAuth sample ([datadev-oauth-sign-in](https://glitch.com/~datadev-oauth-sign-in){:target="_blank"}) on Glitch. - -* Because of browser changes in Tableau, dashboard extensions running with self-signed certificates (SSL) might not work in Tableau 2021.1, or in the most recent Tableau maintenance releases: 2020.2.7+, 2020.3.6+, and 2020.4.2+. For more information, see [Known Issues]({{site.baseurl}}/docs/trex_known_issues.html#unable-to-run-dashboard-extension-on-localhost-or-use-self-signed-certificates). - -### Tableau Dashboard Extensions API version 1.4 -*May 2020* - -* Tableau Dashboard Extensions API library: `tableau.extensions.1.4.0.js`
    (download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api){:target="_blank"}).
    - -About this release: - -* To support the logical and physical tables introduced in Tableau 2020.2, the Tableau Dashboard Extensions API (version 1.4) provides new APIs and data structures. Use these new methods to get the underlying data from data sources and worksheets. The new methods replace `getUnderlyingDataAsync`. Starting in Tableau 2020.2, a data source could have multiple logical tables, and logical tables can contain one or more physical tables. If you have an existing extension that uses one of the deprecated methods to get underlying data, the method call could fail if the data source contains more than one logical table. You should update your extensions to use these new methods. The new methods are backward compatible with previous versions of Tableau. - - | Interface | Deprecated method (v1.3 and earlier) | New method (v1.4 and later) | - | :------------------| :-------------- |:-----------| - | `Datasource` | `datasource.getActiveTablesAsync` | `datasource.getLogicalTablesAsync` | - | `Datasource` | `datasource.getUnderlyingDataAsync` | `datasource.getLogicalTableDataAsync` | - | `Worksheet` | Not Applicable | `worksheet.getUnderlyingTablesAsync` | - | `Worksheet` | `worksheet.getUnderlyingDataAsync` | `worksheet.getUnderlyingTableDataAsync` | - - To support the data model, the API also includes the `LogicalTable` object that has two properties: `caption` and `id`. The `caption` is the name of the logical table as it appears in Tableau. - - For more information about getting underlying data from data sources and worksheets, see [Get Data from the Dashboard]({{site.baseurl}}/docs/trex_getdata.html). - - For information about the data model, see [The Tableau Data Model](https://help.tableau.com/current/pro/desktop/en-us/datasource_datamodel.htm){:target="_blank"}{:ref="noopener"}. - -* `DataValue` now has a `nativeValue` member. This member represents the raw native value as a JavaScript type, which is one of string, number, boolean, or Date object. Note that special values are returned as null. The `nativeValue` helps simplify error checking as all values will either be their native type value or null. The `nativeValue` exists for *ALL* `DataValue` objects, including those returned from parameters, filters, selections, and underlying or summary data. Dates values are in UTC. - -* Added documentation for the [clearSelectedMarksAsync()]({{site.baseurl}}/docs/interfaces/worksheet.html#clearselectedmarksasync) method, which clears the selected marks in the current worksheet. - -Bugs fixed in this release: - -* Range filters now work correctly when the minimum or maximum values are equal to zero (0). Previously, calls to the `applyRangeFilterAsync()` method would ignore the `RangeFilterOptions` if the `min` or `max` properties were equal to zero (0). - -* The `isVisible` attribute for dashboard zones is now set properly to true or false when the extension is initialized. - -* The `setZoneVisibilityAsync()` method now supports ES6 map objects for the `zoneVisibilityMap` parameter. - ----- - -### Tableau Sandboxed Extensions Development Environment -*September 2019* - -* Sandboxed Extensions are Tableau dashboard extensions that are not permitted to make external network requests. Available for testing with Tableau 2019.3. Fully supported in Tableau 2019.4. - -* The Extensions API SDK provides a local development environment that replicates the Tableau Hosting Cloud Service for Sandboxed Extensions. You can test your Sandboxed extensions locally with the same sandbox policies before submitting the extension to Tableau for publication. See [Create and Test Sandboxed Extensions]({{site.baseurl}}/docs/trex_sandbox_test.html) and [Publish Sandboxed Extensions]({{site.baseurl}}/docs/trex_sandbox_publish.html). - ----- - -### Extensions API library v1.3 -*July 2019* - -- Tableau Extensions API library: `tableau.extensions.1.3.0.js`
    (download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api){:target="_blank"})
    - -About this release: - -- The Extensions API library version 1.3 (`tableau.extensions.1.3.0.js`) is backward compatible with previous releases of the library. - -- Now available: Extensions API type definitions and new TypeScript samples. The latest release provides the TypeScript type definitions so that you can author your extension using TypeScript. See [Use TypeScript with the Extensions API]({{site.baseurl}}/docs/trex_typescript.html) and [TypeScript Sample Extensions](https://github.com/tableau/extensions-api/tree/master/Samples-Typescript){:target="_blank"} on GitHub. - -- New all-values-selected property for categorical filters (`filter.isAllSelected`). You can use this new property to determine when all values of categorical filters are selected. The `isAllSelected` property is a Boolean and returns True or False. Prior to this release, there was no way to tell if all values of categorical filters were selected. The `filter.appliedValues` method returns empty array when **(All)** is selected, so there is no way to use that method to determine if all values are selected or if no values are selected. The `isAllSelected` property is available starting with Tableau 2019.2 and the Extensions API library version 1.3 (`tableau.extensions.1.3.0.js`). - - ```javascript - worksheet.getFiltersAsync().then((filters) => { - let filter = filters[0]; - if (filter.filterType === tableau.filterType.Categorical) - { - console.log(filter.isAllSelected); - } - } - - ``` - - - - ----- -### Extensions API library v1.2 -*April 2019* - -* Tableau Extensions API library: `tableau.extensions.1.2.0.js`
    (download or clone the Extensions API repository on [GitHub](https://github.com/tableau/extensions-api){:target="_blank"})
    - - - -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 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 -tableau.extensions.1.latest.js -tableau.extensions.1.latest.min.js -``` -**Note** If you have previously been referencing `tableau-extensions-1.latest.js` in your code, you will need to use the new naming convention when you upgrade to the 1.2 library (`tableau.extensions.1.latest.js`). - - -Bugs fixed in this release: - -* Fixed in the Extensions API library 1.2, the type of `DataValue.value` is now the raw native value as a JavaScript type, rather than always defaulting to **String**. A `DataValue.value` can be one of the following JavaScript types: **String**, **Number**, **Boolean**, or **Date**. - A `DataValue` is returned as a property of a `DataTable` in methods, such as `getSummaryDataAsync()` or `getUnderlyingDataAsync()`. Note that special values, regardless of type, are always returned as **String** values surrounded by percent signs, such as `%null%`, or `%no-access%`.
    **Important!** If your code depended on the type of `DataValue.value` always being a **String**, that code will now break with this fix. - -* The `environment.apiVersion` property now correctly reports the version of the Extensions API library that the extension is using. - -* The documentation for the selectMarksByValueAsync method has been corrected. If you are calling the method, be sure to specify the complete namespace for the `SelectionUpdateType` enum that is passed to the method as the `updateType` parameter. For example, use `tableau.SelectionUpdateType.Replace`, to replace the currently selected marks with the values you specify in the method call. - ----- - - -### Tableau 2019.1 -*February 2019* - -* 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){:target="_blank"})
    - -* Download [Tableau Desktop 2019.1](https://www.tableau.com/support/releases){:target="_blank"} or [Tableau Server 2019.1](https://www.tableau.com/support/releases/server){:target="_blank"} - -Changes in this release: - -* Upgrade to the Chromium browser, which allows modern web technologies to be used with dashboard extensions (HTML 5, CSS, native ES6 support). Tableau 2019.1 now uses Qt 5.10, The Qt WebEngine is based upon Chromium 61.0.3163.99, with additional security fixes from newer versions. With this update, you no longer need to download and use a specific version of Chromium (47.0.2526.0) to debug dashboard extensions on Tableau Desktop. You can now debug extensions in Tableau Desktop using Chrome. - -* Show and hide capabilities for extensions (now you see it, now you don't). For more information, see [Show and Hide Objects in the Dashboard]({{site.baseurl}}/docs/trex_show_hide.html). - - - - - -Bugs fixed in this release: - -* Select dropdown fixed on Macintosh. (TFSID 758234) -* The `applyRangeFilterAsync` method allows full range of options, and doesn't break when a user selects "all". (TFSID 766488) -* Fixed “Access is denied” error encountered when switching from a sheet containing an extension to any other sheet on a tabbed workbook on server (fixed in Tableau 2019.1, 2018.3.2, 2018.2.5). - -* Full support for IE11 now starts in 2018.2.3, 2018.2.3. - -* Fixed in Tableau Desktop 2019.1: Extension API synchronization issue.
    - In previous version of Tableau Desktop (2018.2, 2018.3), the execution of extension API calls was not properly synchronized with longer running actions. These issues would most often occur with a worksheet that took multiple seconds to refresh. This could manifest itself in various ways: - * The `intializeAsync` method could return the promise before the dashboard was properly loaded in Tableau. - * A `FilterChanged` event could be triggered before the data was actually refreshed. As a result, calls to `getSummaryDataAsync` could return the data before the filter was changed. - * If an extension API was called from a `setInterval` or similar function, while other actions were going on, Tableau could occasionally crash. - - Customers who upgrade to Tableau Desktop 2019.1 will not have these synchronization issues with extensions. - - - - - - - ---- - -### Tableau 2018.3 -*November 2018* - -- 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){:target="_blank"}) - -- Download [Tableau Desktop 2018.3](https://www.tableau.com/support/releases){:target="_blank"} or [Tableau Server 2018.3](https://www.tableau.com/support/releases/server){:target="_blank"} - - - - -New in this release: - -- Updated documentation. [Getting Started]({{site.baseurl}}/docs/trex_getstarted.html), [Create a "Hello World" Dashboard Extension]({{site.baseurl}}/docs/trex_create.html),
    [Debugging Extensions on Tableau Desktop]({{site.baseurl}}/docs/trex_debugging.html), [Debugging Extensions on Tableau Server and {{site.tol}}]({{site.baseurl}}/docs/trex_debug_server.html), [Error Codes and Error Handling for Extensions]({{site.baseurl}}/docs/trex_error_handling.html). - ---- - - -### TC18 -*October 2018* - -- Tableau Extensions API library: `tableau-extensions-1.0.0.js` *No change for this release*
    - -New in this release: - - -- Use the [Design Guidelines for Dashboard Extensions]({{site.baseurl}}/docs/ux_design.html){:target="_blank"} 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/){:target="_blank"}, a React component library. - -- New and updated documentation. See [Publishing a Dashboard Extension]({{site.baseurl}}/docs/trex_publish.html).
    -For information about developing and running an extension locally on `http://localhost` and testing it on {{site.tol}} or Tableau Server (over HTTPS), see [Load and view localhost content on sites that use secure connections]({{site.baseurl}}/docs/trex_security.html#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). - ---- - -### Tableau 2018.2 -*July 2018* - -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){:target="_blank"}) -- Download [Tableau Desktop 2018.2](https://www.tableau.com/support/releases){:target="_blank"} or [Tableau Server 2018.2](https://www.tableau.com/support/releases/server){:target="_blank"} - - Bugs fixed in this release: - - - Extensions are now fully supported in Internet Explorer (IE 11). - -### Tableau 2018.2 (Beta 2) -*June 4, 2018* - -Update of the Tableau Extensions API - -- Tableau Extensions API library: `tableau-extensions-0.16.0.js` -- Download Tableau Desktop, Tableau Server from [Tableau 2018.2 Beta](https://prerelease.tableau.com/project/home.html?cap=c43269484c1f45a68f5ad4fc4660b2ab){:target="_blank"} - - -Changes in this release: - -- XML Schema: This release introduces two changes to the XML schema for the extensions manifest file (`.trex`). If you have an existing `.trex` file, you need to make a couple of corrections. -
    -- The first change is to the URL of the extensions namespace (`xmlns`). The URL is now `www.tableau.com...` instead of `wwww.tableau.com...` - -```xml - - ... - - -``` -- The second change is to the author's web site. This link to your web site must now be over HTTPS for security. This link to your web site will become the **Get Support** link in the **About** dialog box for your extension. Users will be able to click the link to get to the help page that you provide. - -```xml - -``` - -- Extensions settings and permissions in Tableau Server
    -Server administrators can manage dashboard extensions on the **Settings > Extensions** tab (for each site and for the server). By default, only extensions that do not require full data access are allowed to run. HTTPS is required. Server administrators can enable dashboard extensions that are trusted to access full data by adding them to a safe list for a site. Server administrators can control whether or not the users will see prompts (asking them to allow the extension to access data) when users are adding an extension to a dashboard, or when they are interacting with a view that has an extension. For more information, see [Dashboard Extensions in Tableau Server](https://onlinehelp.tableau.com/current/server/en-us/dashboard_extensions_server.htm){:target="_blank"} - -- The **About** dialog box. Users can now find out about an extension in the dashboard by selecting the layout container and then clicking **About** from the **More Options** menu. Information from the extension manifest file (`.trex`) is used to populate a dialog box. (Note that the dialog box you see might look slightly different from this example.) - - ![]({{site.baseurl}}/assets/about_extension_dialog.png){:height="33%" width="33%"} - - - ---- - -### Tableau 2018.2 (Beta 1) -*April 26, 2018* - -Download Tableau Desktop, Tableau Server from [Tableau 2018.2 Beta](https://prerelease.tableau.com/project/home.html?cap=c43269484c1f45a68f5ad4fc4660b2ab){:target="_blank"} - ---- - -### Developer Preview (0.12.8) -*April 13, 2018* - -Update of the Tableau Extensions API -- Tableau Extensions API library: `tableau-extensions-0.12.8.js` -- Tableau Desktop, Tableau Server (from [Extensions API Developer Preview](https://prerelease.tableau.com/project/home.html?cap=52e2710a0793434d82142736c7ab3029){:target="_blank"}) - -Changes in this release: - -- This release of Tableau introduces a minor change in the workbook format that affects extensions. If you saved a workbook with an extension using an earlier version of Tableau, and then open the workbook with this current Tableau release, the workbook will open, but it will not have the extension. You will have to add the extension back in using the latest release of Tableau. - -Bugs fixed in this release: - -- Certain keyboard shortcuts were intercepted by Tableau and not passed on to the extension. This is now fixed, with the excecption of **cmd + V** on Mac, which will be fixed in a later release. ([Issues #76](https://github.com/tableau/extensions-api/issues/76)) -- Calls to `getSummaryDataAsync()` or `getUnderlyingDataAsync()` would not return the correct data types for the columns. Column property `datatype` returned `string` for all columns, regardless of actual data type of column. -- Web Authoring would throw an exception when an extension is added. -- XSD validation of `minApiVersion` accepted only single digit version numbers (for example, `0.12` would fail). -- Permissions denied error message would disappear after the dashboard zone was reloaded. - -### Developer Preview (0.12.8) -*April 13, 2018* - -Update of the Tableau Extensions API -- Tableau Extensions API library: `tableau-extensions-0.12.8.js` -- Tableau Desktop, Tableau Server (from [Extensions API Developer Preview](https://prerelease.tableau.com/project/home.html?cap=52e2710a0793434d82142736c7ab3029){:target="_blank"}) - -Changes in this release: - -- This release of Tableau introduces a minor change in the workbook format that affects extensions. If you saved a workbook with an extension using an earlier version of Tableau, and then open the workbook with this current Tableau release, the workbook will open, but it will not have the extension. You will have to add the extension back in using the latest release of Tableau. - -Bugs fixed in this release: - -- Certain keyboard shortcuts were intercepted by Tableau and not passed on to the extension. This is now fixed, with the excecption of **cmd + V** on Mac, which will be fixed in a later release. ([Issues #76](https://github.com/tableau/extensions-api/issues/76)) -- Calls to `getSummaryDataAsync()` or `getUnderlyingDataAsync()` would not return the correct data types for the columns. Column property `datatype` returned `string` for all columns, regardless of actual data type of column. -- Web Authoring would throw an exception when an extension is added. -- XSD validation of `minApiVersion` accepted only single digit version numbers (for example, `0.12` would fail). -- Permissions denied error message would disappear after the dashboard zone was reloaded. - ---- - -### Developer Preview (0.12.7) -*March 28, 2018* - -Update of the Tableau Extensions API -- Tableau Extensions API library: `tableau-extensions-0.12.7.js` -- Tableau Desktop, Tableau Server (from [Extensions API Developer Preview](https://prerelease.tableau.com){:target="_blank"}) - -Updated in this release: - -- Extensions API library goes to `12` (one better than `11`). The library has been refactored to be smaller, faster, lighter. - -- Dashboard authors and users of your extension can decide whether to allow the extension to run or not. When users add an extension that can access the underlying data in a dashboard, they now see a prompt that lets them allow the extension to run. In addition, when someone opens a dashboard that contains extensions, they see a dialog box that lists information about all the extensions in the dashboard, and a prompt to allow the extensions to run. For more information, see [Accessing Underlying Data]({{site.baseurl}}/docs/trex_data_access.html) - -- Starting with the `0.12.7` release, the Extensions API library supports versioning. Future versions of Tableau will be able to run extensions that use earlier versions of the Extensions API library (`0.12.7` and later). You will no longer need to roll the version number of the library in your extension at every release just to enable it to run in Tableau. For example, a dashboard extension that uses the Extensions API `0.12.7` library should run in a future release of Tableau without modification. And Tableau will provide a meaningful error message if you try to run an extension that requires a later version of the Extensions API library than the version of the API that a particular Tableau release supports. For example, if the extension uses the `0.14.0` library but the version of Tableau only supports an earlier version (`0.12.7`), users of the extension will see a message informing them that they need a later version of Tableau. - - -Bug fixes: - -- Canceling extensions selection causes error - -- Parameters (Desktop): Tableau crashes if you add a filter based off of a parameter to a dashboard - -- Saving and opening a workbook that has an extension throws error - -- Parameter Changed Notification not working on server - -- Extension dialog box height and width are reversed - - ---- - -### Developer Preview (0.10.0) -*February 28, 2018* - -- Update of the Tableau Extensions API -- Tableau Extensions API library: `tableau-extensions-0.10.0.js` -- Tableau Desktop, Tableau Server (from [Extensions API Developer Preview](https://prerelease.tableau.com){:target="_blank"}) - -Updates in this release: - -- New *configure feature*, which allows you to register a custom JavaScript callback for a context menu item in the extension zone. See [Adding a configuration dialog box](#adding-a-configuration-menu-item) and the [UINamespace](https://github.com/tableau/extensions-api/tree/master/Samples/UINamespace?=target="_blank") sample. - -- A fix for a problem that existed in the 0.9.0 release that caused extension initialization to break on Tableau Server. - - -For other changes with this release, see [Known Issues](https://prerelease.tableau.com/project/article/default.html?cap=52e2710a0793434d82142736c7ab3029&arttypeid=f592dc03830d480a862740e4a6bde998) on the [Extensions API Developer Preview](https://prerelease.tableau.com){:target="_blank"} site. - ---- - -#### Adding a configuration menu item - -You can use a new callback function option to `initializeAsync()` as a way to create a configuration option that opens a window or dialog box for your extension. To do this you first add the context-menu option to the extensions manifest file (`.trex`). - - - -**Add `` to the .trex file** - -```xml - - - - - - -``` - - -**Create a configuration function** - -When you initialize an extension, you can now pass an optional `contextMenuCallbacks` object to the `initializeAsync()` function. This object maps a special ID or key (which must be `'configure'`) to a function you create. The function you create, in conjunction with adding a `` item to the manifest, adds a new **Configure...** context menu item to the zone of the extension inside a dashboard. When the user clicks the context menu item, the configuration function you specified is executed. - -For example, you could use the UI namespace and have the configuration function call the `displayDialogAsync()` function to create a dialog box that can be used to change settings for the extension. The parent (or initial window) for your extension, might have the following JavaScript code. - -```javascript - -$(document).ready(function () { - // ... - // pass the object to initializeAsync() to map 'configure' key to a function called configure() - // ... - tableau.extensions.initializeAsync({'configure': configure}).then(function() { - // ... - // ... code to set up event handlers for changes to configuration - }); - }); - }); - - - - function configure() { - // ... code to configure the extension - // for example, set up and call displayDialogAsync() to create the configuration window - // and set initial settings and handle the return payload - // ... - tableau.extensions.ui.displayDialogAsync(popupUrl, defaultIntervalInMin, { height: 500, width: 500 }).then((closePayload) => { - // The promise is resolved when the dialog has been expectedly closed, meaning that - // the popup extension has called tableau.extensions.ui.closeDialog. - // ... - - // The close payload is returned from the popup extension via the closeDialog() method. - // .... - - }).catch((error) => { - // ... - // ... code for error handling - - }); - } -``` -To better understand how to use the context menu, and to see it in action, check out the updated [UINamespace](https://github.com/tableau/extensions-api/tree/master/Samples/UINamespace?=target="_blank") sample. - - ---- - -### Developer Preview (0.9.0) -*February 14, 2018* - -- Update of the Tableau Extensions API -- Tableau Extensions API library: `tableau-extensions-0.9.0.js` -- Tableau Desktop (from [Extensions API Developer Preview](https://prerelease.tableau.com){:target="_blank"}) - -Updates in this release: -- [Updates to the UI namespace](#updates-to-the-ui-namespace) -- [Permissions added to access full data](#permissions-added-to-access-full-data) -- [Error codes for extensions](#error-codes-for-extensions) - - - -#### Updates to the UI namespace - - This preview release introduces more options for the UI namespace. You can now control the initial sizing (height, width) of a modal dialog box (or *popup*). The modal dialog itself is an extension. Using the `displayDialogAsync()` and `closeDialog()` methods you can pass payloads between the calling extension and the extension running in the modal dialog box. For an example of how you can use the UI namespace to create a configuration dialog box, see the [UINamespace](https://github.com/tableau/extensions-api/tree/master/Samples/UINamespace?=target="_blank") sample. The sample also shows how to use the settings event to capture the new configuration. The sample source code has extensive comments that describe how to use these new features in the Extensions API. - -- New sample: [UINamespace](https://github.com/tableau/extensions-api/tree/master/Samples/UINamespace?=target="_blank") - - -#### Permissions added to access full data - -To access the underlying data along with information about the data source, the extension must declare that it requires full data access in the extension manifest file (`.trex`). - - -An extension requires full data access, if the extension uses any of the following four APIs: - -`Worksheet.getUnderlyingDataAsync()` - -`Datasource.getUnderlyingDataAsync()` - -`Datasource.getActiveTablesAsync()` - -`Datasource.getConnectionSummariesAsync()` - - -If you use any of these APIs, you need to add a `` element to the manifest file (`.trex`) and specify full data permission. The XML looks like the following: - -```xml - - - full data - - -``` - -The `` element must be added under `` in the manifest file. For a complete description of the manifest, see the [Tableau Extensions Manifest File]({{site.baseurl}}/docs/trex_manifest.html). - -If full data is not declared in the manifest file, and the extensions calls one of the APIs that accesses any underlying data or data source information, the API call fails. In addition, an error is written to the Tableau log file (`log.txt`). If you are debugging the extension with the Chromium web browser, an error is reported the console pane. The error message would look similar to the following: - -``` -PermissionValidation.ts:26 Extension (name = DataSources Sample, ID = com.tableau.extensions.demo.local) is missing required permission: full-data -Error: internal-error: permission-denied: Missing required permission to run get-underlying-data(...) - -``` - - -#### Error codes for extensions - -Errors that are returned from the Extensions API are custom Tableau Error objects that extends the standard JavaScript error object. - - -The Extensions API wraps the standard error object with an `errorCode` property. Any time you encounter an error when you are developing your extension, you can look at this `errorCode` to determine the cause. See [Error Codes]({{site.baseurl}}/docs/enums/tableau.errorcodes.html). - -For an example of how to handle error conditions, see the [UINamespace](https://github.com/tableau/extensions-api/tree/main/Samples/UINamespace?=target="_blank") sample. The sample shows how you could handle the error condition that occurs if a user dismisses a modal dialog box (`DialogClosedByUser`). The following snippet illustrates this pattern: - -```javascript -tableau.extensions.ui.displayDialogAsync(args... ).then((args... ) => { - // - // code that sets up the extension in the modal dialog box - // - }).catch((error) => { - // One expected error condition is when the popup is closed by the user - // (meaning the user clicks the 'X' in the top right of the dialog). - // This can be checked for with: - switch(error.errorCode) { - case tableau.ErrorCodes.DialogClosedByUser: - console.log("Dialog was closed by user"); - break; - default: - console.error(error.message); - } - }); - -``` - ---- - - -### Developer Preview (0.8.0) -*January 10, 2017* - -- Update of the Tableau Extensions API. -- Tableau Extensions API library: `tableau-extensions-0.8.0.js` -- Tableau Desktop 10.5 RC, Tableau Server 10.5 (from [Extensions API Developer Preview](https://prerelease.tableau.com){:target="_blank"}) - - -**New desktop authoring experience** - -You no longer need to place the `.trex` file for the extension in a predetermined folder, you now do the following: - - 1. In the dashboard, under **Objects** on the left, select **Extension** and drag it to the dashboard sheet on the right. - The **Select an Extension** dialog box appears. - 2. The first time you open the dialog box to add an extension, you will see a link to **Choose an Extension**. Click the link and browse to the directory where you have the `.trex` file. -Subsequently, when you drag the **Extension** on the dashboard, the dialog box shows you the most recently used list, choose from the list, or click **Browse** to select another extension. - -**New UI namespace** - -- You can now launch a new modal dialog using the function: `tableau.extensions.ui.displayDialogAsync(dialonExtensionURL)`. -- The URL you want to load (`dialonExtensionURL`) will be an extension itself. -- The extension in the dialog will have full access to the extensions API. When ready to close to the dialog, from the dialog extension you can call `tableau.extensions.ui.closeDialog(string)`. See the documentation for details. -- Note that the UI namespace is work is still in progress and has some upcoming additions. *Stay tuned for more.* - -**HTTPS and security** - -For information about the HTTPS requirements for extensions, see [Security and Tableau Extensions]({{site.baseurl}}/docs/trex_security.html) - -**Remote Debugging** - -Due to changes in this release, remote debugging does not work as expected in Tableau Desktop. To enable debugging, you must add the `--remote-debugging-port=8696` option to the command used to start Tableau. The easiest way to do this is to open the Tableau shortcut on the **Start** menu. Open the file location of the Tableau shortcut. Right-click the Tableau shortcut and click **Properties**. In the Target text box, append the remote debugging option to the command. Do not enclose the option in quotation marks. -``` - "C:\Program Files\Tableau\Tableau main\bin\tableau.exe" --remote-debugging-port=8696 -``` -For information about debugging extensions, see [Remote Debugging of JavaScript and HTML]({{site.baseurl}}/docs/trex_debugging.html). - - ---- - -### Developer Preview (0.7.0) -*November 29, 2017* - -- Update of the Tableau Extensions API. -- Tableau Extensions API library: `tableau-extensions-0.7.0.js` -- Tableau Desktop 10.5 RC, Tableau Server 10.5 (from [Extensions API Developer Preview](https://prerelease.tableau.com){:target="_blank"}) - -**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]({{ site.baseurl }}\docs\trex_manifest.html). You can download the manifest conversion script from the **Extensions API Developer Preview** on [https://prerelease.tableau.com](https://prerelease.tableau.com){:target="_blank"}. -- 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){:target="_blank"}. -- 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. -- New method `DataSource.getActiveTablesAsync` gets all tables used to create the data source (what you would see in the join canvas). - -- Logging - You can view dashboard extension activity in Tableau log files. Tableau records extension events that you can use to troubleshoot registration errors and command execution. See [Use Log files to Troubleshoot Dashboard Extensions]({{site.baseurl}}/docs/trex_logging.html). - - -**Bug fixes** - -- The `Worksheet.clearFiltersAsync` method no longer removes filters from your worksheets, but properly resets the filters to a default state. -- The name of the selected dashboard extension now appears instead of "other" in the dashboard Layout pane. - - - ---- - -### Developer Preview (0.6.0) -*Oct 10, 2017* - -Initial release of the Tableau Extensions API. Provides support for dashboard extensions. - -Tableau Extensions API library: `tableau-extensions-0.6.0.js` - -Tableau Desktop 10.5 beta diff --git a/docs/trex_reload.md b/docs/trex_reload.md deleted file mode 100644 index 970f367c..00000000 --- a/docs/trex_reload.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: What Happens When you Reload an Extension -layout: docs ---- - -When you create an extension, you are often making frequent changes to the JavaScript code, the HTML pages, or the manifest file. It is helpful to see the results of those changes while you are working. Because dashboard extensions are essentially web applications, you can do most of this quickly, without jumping through the hoops of building or compiling your code. However, because the extension is running inside a Tableau dashboard, there are some differences you need to be aware of. - -**In this section** - -* TOC -{:toc} - - -## What happens at start up -When you first add an extension to a dashboard, Tableau reads the extension's manifest file (`.trex`) and checks for errors. If the manifest file passes validation, Tableau registers the extension, loads the web page specified in the URL, and then caches information about the extension, such as the URL, the name of the extension, and the version number. Upon loading the web page, the extension runs the initialization code (`tableau.extensions.initializeAsync()`) that initializes the Extension API and then runs any JavaScript promise specified by the extension. - -## Making changes to the manifest file -If you make changes to the manifest file after the extension is loaded and you want to see the results those changes, you need to remove the extension from the dashboard and then add it again. For example, if you were to change permissions for data access, or to add a configuration menu to your extension, you need to do the following: -1. Remove the extension from the dashboard. -2. Drag the Extension object on to the dashboard and select your extension again. -Tableau loads the extension using the settings from the updated manifest file. - -## What happens when you reload the extension in Tableau -You can reload the extension’s initial web page and state when you select **Reload** from the **More Options** menu in upper-right corner of the dashboard container. This is equivalent to performing a hard-refresh in a browser. This is useful if you are making changes to the HTML pages or JavaScript code and you want to check your progress and see your changes in action. When you reload the extension this way, it does not pick up any changes you might have made to manifest file. For that, you need to remove the extension and add it back again. - -Note that if you want to reload the page and you are using Chromium or another browser to debug your web application, you will need to close the browser and restart the session. This is because of a bug with our embedded browser. The **Reload** option actually tears down and re-creates the browser control, which means you’ll need to establish a new debugging session whenever you click **Reload**. - -## Making changes to a configuration dialog box -If your extension opens a configuration dialog box, or otherwise calls the `tableau.extensions.initializeDialogAsync()` method, you don't need to use the **Reload** option to see updates to your dialog box. You just need to close the dialog box and then either use the **Configure...** menu or click the control in the parent window that reopens the dialog box. diff --git a/docs/trex_sandbox_publish.md b/docs/trex_sandbox_publish.md deleted file mode 100644 index 55cf8488..00000000 --- a/docs/trex_sandbox_publish.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Publish Sandboxed Extensions -layout: docs ---- - -Sandboxed Extensions are Tableau dashboard extensions that are not permitted to make external network requests. Sandboxed Extensions are hosted by Tableau and run inside an environment that prevents communication with anything except the Tableau hosting server. Sandboxed Extensions are supported in Tableau 2019.4 and later. - -## Before publishing your extension - -Be sure to follow the guidelines and requirements to [Create and Test Sandboxed Extensions]({{site.baseurl}}/docs/trex_sandbox_test.html). Make sure your extension works as expected in the development environment. The development environment replicates the Tableau Sandboxed Extension Hosting Cloud Service. If your extension works in the development environment, it will work when you submit the extension package to Tableau for publication. - - -## Submit your Sandboxed Extension for publication - -After you finish developing and testing your Sandboxed Extension, fill out the [Tableau Exchange Submission form](https://tabsoft.co/gallerysubmit){:target="_blank"}{:ref="noopener"} with your information and details about your extension. -For information about what goes in the form, see [Submitting your Extension to the Tableau Exchange]({{site.baseurl}}/docs/ux_extension_gallery.html){:target="_blank"}. - -Our developers from the Developer Platform team at Tableau will let you know the next steps including legal agreements after you submit your information. If you have any questions about the Tableau Exchange, send them to [extensiongallery@tableau.com](mailto:extensiongallery@tableau.com){:target="_blank"}{:ref="noopener"}. - -Once accepted, Tableau will publish your extension and your extension will be available in the [Tableau Exchange](https://extensiongallery.tableau.com/){:target="_blank"}{:ref="noopener"}. - - - - diff --git a/docs/trex_sandbox_test.md b/docs/trex_sandbox_test.md deleted file mode 100644 index 976e1258..00000000 --- a/docs/trex_sandbox_test.md +++ /dev/null @@ -1,190 +0,0 @@ ---- -title: Create and Test Sandboxed Extensions -layout: docs ---- - -To provide security for customers, Tableau supports a type of dashboard extension that runs in a sandbox. These Sandboxed Extensions are hosted by Tableau and employ W3C standards, such as Content Security Policy (CSP), to ensure the extension can't make network calls outside of the hosting Tableau Server. This means a Sandboxed Extension can query data in the dashboard using the Extensions API, but it can't send that data anywhere outside of the sandbox. This topic provides information to help you get started creating and testing Sandboxed Extensions. - - -
    Note If your extension requires resources of outside services, you should not create a Sandboxed Extension. Dashboard Extensions that don't run in the sandbox environment are called Network Enabled Extensions. While Sandboxed Extensions are allowed to run by default on Tableau Server and {{site.tol}}, Network Enabled Extensions require server and site administrator approval and need to be added to safe list for a site. -
    - -**In this section** - -* TOC -{:toc} - ---- - -## Sandboxed Extensions and Network Enabled Extensions - -Tableau supports two types of dashboard extensions: - -* **Network Enabled Extensions** - can access resources and applications outside of Tableau. Supported in Tableau 2018.2 and later. - -* **Sandboxed Extensions** - run in a Tableau hosted environment and cannot make network calls. Supported in Tableau 2019.4 and later. - - -## Create Sandboxed Extensions - -You can create Sandboxed Extensions from scratch, or you can port your existing (Network Enabled) extensions to work in the sandbox environment. The components of a Sandboxed Extension are the same as for a Network Enabled one. Each extension consists of a web page that calls your JavaScript code and the Extensions API JavaScript library. Each extension provides a `.trex` file. - -To port an existing extension, make sure all resources and libraries are local to your extension source code. No network access outside the sandbox container is allowed. And you need to modify the path to your extension in the `.trex` file to have it load in the sandbox environment. Information about changing your `.trex` file is described in [Test your own Sandboxed Extensions in the local sandbox](#test-your-own-sandboxed-extensions-in-the-local-sandbox). - - -### Requirements for Sandboxed Extensions - -* Sandboxed Extensions cannot make calls to remote or external resources or libraries. All content must be local to the extension. For example, if your extension uses the JQuery library, the library can't be accessed via HTTPS (`src="https://code.jquery.com/jquery-3.2.1.min.js"`). The library must be downloaded and on the same computer as the extension. All links must be relative (`src="./jquery-3.2.1.min.js`). - -* All resources must be static files (`.js`, `.css`, images, etc.). - -* Resources should be placed in the same folder as your extension web page(s), or in a sub-folder of that directory. All references must be relative. - -* Review the suggested guidelines that all extensions should follow to reduce XSS vulnerabilities, see [Cross-Site Scripting and Extension Security]({{site.baseurl}}/docs/trex_xss_guidance.html). - -* Sandboxed Extensions cannot connect to sites outside of the sandbox and cannot transfer data. For example, a Sandboxed extension cannot transfer data to be processed by other applications. If you need to connect to outside services or resources, you can create a Network Enabled extension. Network Enabled extensions can't run in the local sandbox environment or in the Tableau Hosting Cloud Service for Sandboxed Extensions. - -* **React.js** - If you are creating your Sandboxed Extension using React.js, routing will not work, including hash-based routing (`.../index.html#/configDialog`) in your URL. If you want to use multiple pages in your extension, the alternatives to routing in React.js include using [react-app-rewired](https://www.npmjs.com/package/react-app-rewired){:target="_blank"}{:ref="noopener"} and [react-app-rewire-multiple-entry](https://www.npmjs.com/package/react-app-rewire-multiple-entry){:target="_blank"}{:ref="noopener"}, or [Gatsby](https://www.gatsbyjs.org/){:target="_blank"}{:ref="noopener"}. - -* Sandboxed Extensions must be tested in the local sandbox environment. Issues discovered with the extension must be fixed and verified before submitting the Sandboxed Extension package to Tableau. - ---- - -## Sandboxed Extensions development environment - -The Extensions API SDK provides a local development environment that replicates the Tableau Hosting Cloud Service for Sandboxed Extensions. You can test your Sandboxed extensions locally with the same sandbox policies before submitting the extension to Tableau for publication. See [Publish Sandboxed Extensions]({{site.baseurl}}/docs/trex_sandbox_publish.html) for information about making your extension available to others in the cloud service for Sandboxed Extensions. The local development environment can't be used to deploy or publish your extension. - ---- - -## Install and start the local sandbox environment - -The following instructions assume that you have downloaded or cloned the Extensions API GitHub project. - -1. Go to the `extensions-api` folder. - -2. If you haven't done so already, install the web server the sandbox test components: - - **npm install** - -3. Start the sandbox server: - - **npm run start-sandbox** - ---- - -## Test the sample Sandboxed Extension - -The Extensions API GitHub project provides an example of a Sandboxed Extension. The Sandboxed Extension is configured to run in the test sandbox environment. - -1. After you start the local sandbox environment, start Tableau Desktop or Tableau Server 2019.3 (or later) and open a workbook that has a dashboard, or open a workbook and create a new dashboard. - -2. In the dashboard, under **Objects**, select **Extension** and drag it on to the dashboard. - -3. In the **Choose an Extension** dialog box, click **My Extensions**, and then navigate to the `Extensions API\Samples\UINamespace-sandboxed` folder. Open the `uiNamespace.trex` file. - - The sample extension (web application) appears in the dashboard frame. The UINamespace-sandboxed sample finds and displays the data source for each worksheet in the dashboard and lets you configure the refresh rate. The **UINamespace-sandboxed** sample is a *sandboxed* version of the Network Enabled Extension, UINamespace sample. You can compare the source files for both extensions to better understand the differences and to see what it takes to port existing extensions (Network Enabled) to be Sandboxed Extensions. The sample extension makes use of a popup dialog box for configuration. - - - - -## Test your own Sandboxed Extensions in the local sandbox - -When you start the local sandbox server (**npm run start-sandbox**), the server reads from the `sandbox-config.json` file. This sandbox configuration file defines the port the server uses (the default is set to `8765`) and provides the names and locations of the Sandboxed Extension web pages. You can modify the file to change the port or to add your own Sandboxed Extensions for testing. - -Before testing your extension in the sandbox, check to make sure that you are only loading resources and libraries from the folder that contains your extension's web page. See [Requirements](#requirements-for-sandboxed-extensions). - -### Add your extension to the sandbox-config.json file - -If you have an extension that is ready to test in the sandbox, follow these instructions. - - -1. Open the `sandbox-config.json` file. - - The configuration file has two main entries. The first, specifies the `port` that the sandbox web server will use. You can change this as needed, however, it must match the port you specify in the `.trex` file for your extension. The `sandbox-config.json` file has one entry for the sandboxed version of the UINamespace sample. The file looks like the following: - - ```json - { - "port": 8765, - - "extensions": { - "uinamespace": { - "path": "./Samples/UINamespace-sandboxed" - } - } - } - - ``` - -2. Add an new entry under `"extensions"`, for your extension. The syntax for an entry is as follows. - - ```json - - "name": { - "path": "relative-or-absolute-path-to-extensions-folder-on-disk" - } - - ``` - Replace `name` with the name of your extension. This name is the ID for the extension and becomes part of the URL. The local server for Sandboxed Extensions hosts pages with the following syntax. - - ``` - - http://localhost[:port]/sandbox/[name] - - ``` - - For example, the default value for port is `8765`. If the name of the extension is `uninamespace`, that name becomes part of the URL that you specify in the `.trex` file: `http://localhost:8765/sandbox/uinamespace/`. Note that in the `.trex` file the full URL also includes the name of the web page in the URL. An implied `index.html` does not work. - - For the `"path"` value, provide the relative or absolute path to the folder on your computer that contains your extension web page and source files. The path is relative to the `extensions-api` parent folder. For example, the `uinamespace` sample is in the `.\Samples\UINamespace-sandboxed` folder. - - The following example adds an extension called `helloworld` that has its source files in the `./mySamples/HelloWorld` folder. You can enter multiple extensions. Be sure to separate each entry with a comma (,). - - - ```json - { - "port": 8765, - - "extensions": { - "uinamespace": { - "path": "./Samples/UINamespace-sandboxed" - }, - "helloworld": { - "path": "./mySamples/HelloWorld" - } - - } - } - - ``` - - -3. Restart the local server (**npm run start-sandbox**). The local Sandboxed Extensions server only reads the configuration file at start up. Anytime you make changes to the `sandbox-config.json` file you need to stop and restart the server. - - -### Use the local sandbox path to the extension in the .trex file - -In the `.trex` file for your extension you need to specify the URL of extension as it will appear on the local sandbox web server. The URL is constructed from several parts. - -The `` for `` must use the name of local server (`localhost`) and port setting assigned in the `sandboxed-config.json` file (`8765` is the default). This is followed by `sandbox` and the name of your extension, as you specified in the `sandbox-config.json` file. Finally, you specify the name of the HTML page that serves as the home page for your extension. The following example shows the URL for the UINamespace-sandboxed extension. - -```xml - - - http://localhost:8765/sandbox/uinamespace/uinamespace.html - - -``` - -After you update the `.trex` file to point to the sandboxed instance, you can start the local sandbox sever (**npm run start-sandbox**), and then open Tableau and try it out. - -For information about making your Sandboxed Extension available to others, see [Publish Sandboxed Extensions]({{site.baseurl}}/docs/trex_sandbox_publish.html). -The local development environment can't be used to deploy or publish your extension. - - -## Troubleshoot the test environment - -To troubleshoot issues with your Sandboxed Extension in the test environment, you should start a debugger so you can observe if there are any problems with your setup, such as missing files and resources, and to see if there are any instances where your extension generates any CSP errors and warnings. For information about using debugging tools, see [Debug Extensions in Tableau Desktop]({{site.baseurl}}\docs\trex_debugging.html). - -Error `Cannot find extension with id: ` - -If you see this error in the console of your debugging tools, be sure the name (or ID) of the extension in the `sandbox-config.json` file matches the name you specified in the `` in the `.trex` file. - diff --git a/docs/trex_security.md b/docs/trex_security.md deleted file mode 100644 index d06d6f8d..00000000 --- a/docs/trex_security.md +++ /dev/null @@ -1,226 +0,0 @@ ---- -title: HTTPS and Tableau Extensions -layout: docs ---- - -A Tableau extension is essentially a web application that runs inside a Tableau dashboard. The extension can interact with other components in the dashboard and potentially has access to the visible and underlying data in the workbook (through a well-defined API). In addition, the web application can be running code on a server that sits outside of the domain where Tableau Server or Tableau Desktop are located. For security, Tableau requires the following: - -* All extensions must use the HTTP Secure (HTTPS) protocol. - -* To run on Tableau Server, the URL of the extension must be added to a safe list. The Tableau Server site administrator manages this list. - -* By default, anyone using the extension will be prompted and asked to allow or deny the extension access. The Tableau Server site administrator can control whether the prompt appears for each extension. - - -This section covers options for setting up your extension to use HTTPS. For information about adding an extension to the safe list on Tableau Server or {{site.tol}}, or how to configure the prompts to allow or deny access, see [Manage Dashboard Extensions on Tableau Server](https://onlinehelp.tableau.com/current/server/en-us/dashboard_extensions_server.htm) or [Manage Dashboard Extensions on {{site.tol}}](https://onlinehelp.tableau.com/current/online/en-us/dashboard_extensions_server.htm) for more information. - - - -**In this section** - -* TOC -{:toc} - - ---- -## Why HTTPS? - -When you use HTTPS, all HTTP data is encrypted prior to transmission by the Transport Layer Security (TLS) and decrypted when it is received. HTTPS ensures a secure channel between the extension (client), running in the Tableau dashboard, and the web server that hosts the extension. The use of HTTPS provides a level of privacy, authentication, and integrity. - -If you plan to make your extension available to others, using HTTPS - assures your customers that their data is safe and that they are connecting to a trusted extension. Because the extension is using HTTPS, Tableau is also able to verify the identity of the server that hosts the extension, which prevents various malicious man-in-the-middle attacks that could occur if the extension were to use HTTP alone. - -> Note: For development or internal use, you can run your extension on your local computer as `localhost` and you can use the HTTP protocol. See [Use HTTP and localhost for development or internal use](#use-http-and-localhost-for-development-or-internal-use). - - - ---- - -## HTTPS and security requirements - -The requirements are pretty straight-forward. If you are distributing your extension so that others can use it, the extension must be hosted on a web server that is configured to support the HTTPS protocol. - -- The server that hosts your extension must have a certificate from a Certificate Authority (CA). There are many free and low cost options. Note that self-signed or test-signed certificates are not sufficient. The certificate is sometimes called an SSL certificate, as HTTPS was formerly implemented by the Secure Sockets Layer (SSL). - -- In the `.trex` file for your extension, the `url` you use for the source location must start with `https://`. If the HTTPS protocol is not specified, the extension fails registration and will not load in Tableau. The exception to this requirement is for `localhost`. If you are developing your extension, you can host it on your computer using HTTP (for example, `http://localhost`). You can also use `http://localhost` if you publish the workbook to Tableau Server. In this case, the extension must be running on the same computer as the browser you are using to access the server. - -- Mixed content is not allowed. If your web application uses other libraries or resources, those assets should also use `https`, or use site-relative links. - -- Redirects are permitted, but if they redirect to any other origin, other than the URL of the extension, those pages cannot interact with the Extensions API. For example, if the URL of your extension is `https://example.com` and you redirect to `https://myexample.com`, the page you were redirecting to (`https://myexample.com`) cannot interact with the Extensions API. - -- To run on Tableau Server or {{site.tol}}, your extension must be added to the safe list for the site. Server administrators or site administrators ({{site.tol}}) can add or remove extensions, and can configure how an extension requests permissions for access to data. - ----- - -## Setting the source location in the .trex file - -The source location of the extension is its URL. You specify the URL in the extension manifest (`.trex`) file. The syntax includes the name of the server, which includes the protocol (HTTPS, HTTP), the port used, if any, and the path to the extension web page (optional). - -The `` element in the `.trex` file, looks like the following: - -```xml - - SCHEME://SERVER[:PORT][/PATH] - - -``` - -For example, if the extension is hosted on example.com, the entry might look like the following: - -```xml - - https://example.com:4043/extension - - - -``` - -Or during development, when you can use `localhost`, the entry might look like the following: - -```xml - - - http://localhost:8080/extension - - - -``` -At startup, Tableau looks for and validates the extension `.trex` files. If the extension source location does not specify HTTPS or localhost, validation fails and the extension is not registered. These errors are written to the log file. The extension will not load in Tableau. If you examine the log files (for example, with Tableau Log Viewer), you will find something similar to the following: - -``` -Error: Registration Failed: XSD Validation Failed -file: Example.trex - - -Error: Error(11,67): value 'http://example.com/example.html' does not match regular expression facet '[Hh][Tt][Tt][Pp][Ss]://.+|[Hh][Tt][Tt][Pp]://[Ll][Oo][Cc][Aa][Ll][Hh][Oo][Ss][Tt]|[Hh][Tt][Tt][Pp]://[Ll][Oo][Cc][Aa][Ll][Hh][Oo][Ss][Tt][:/].*' (id: C:\Users\\Documents\My Tableau Repository (Beta)\Extensions\example.trex) -file: Example.trex - - -``` - -For more information, see [Use Log files to Troubleshoot Dashboard Extensions]({{site.baseurl}}/docs/trex_logging.html). - -## Avoid mixed content - use HTTPS or site-relative paths for resources - -The extension should not call any pages over HTTP. If you reference libraries or resources, specify `https` for the files you include. - -For example: - -```html - - - - - - - - - - - - -``` - - -Or use site-relative or protocol-agnostic links (that is, where the protocol is not specified). - -```html - - - - - - - -``` - - -## Use HTTP and localhost for development or internal use - -While HTTPS is required, during development, you can run a web server on your local computer (`localhost`) to host the extension over HTTP. This exception also applies to Tableau Server and {{site.tol}}. - -For example, you can author a workbook in Tableau Desktop that uses an extension (running as `localhost` on same computer as Tableau Desktop). You can then publish that workbook to Tableau Server or {{site.tol}}. The extension must be running on the same computer as the browser that you are using to connect to Tableau Server. The `localhost` is local to the browser. For example, the source location of an extension might be `http://localhost:8080/extension`. If you publish that extension to Tableau Server, other users can view the dashboard and extension, provided that they also have a local copy of the extension hosted on their computers and the extension is using the same URL. - -Note the following considerations: - - -- If Tableau Server is using HTTPS, your extension might not load if it is using `http://localhost`. The same situation occurs with {{site.tol}}. This is because it is generally not a good practice to embed an HTTP `