@gooddata/sdk-ui-dashboard 11.67.0-alpha.3 → 11.67.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/NOTICE +16 -233
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/model/commandHandlers/dashboard/changeDashboardDefinitionHandler.d.ts.map +1 -1
  5. package/esm/model/commandHandlers/dashboard/changeDashboardDefinitionHandler.js +3 -1
  6. package/esm/model/commandHandlers/dashboard/common/filterViews.js +10 -3
  7. package/esm/model/commandHandlers/dashboard/common/overrideFiltersAcrossTabs.d.ts +46 -0
  8. package/esm/model/commandHandlers/dashboard/common/overrideFiltersAcrossTabs.d.ts.map +1 -0
  9. package/esm/model/commandHandlers/dashboard/common/overrideFiltersAcrossTabs.js +155 -0
  10. package/esm/model/commandHandlers/dashboard/common/stateInitializers.d.ts +4 -2
  11. package/esm/model/commandHandlers/dashboard/common/stateInitializers.d.ts.map +1 -1
  12. package/esm/model/commandHandlers/dashboard/common/stateInitializers.js +14 -10
  13. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts.map +1 -1
  14. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +9 -5
  15. package/esm/model/commandHandlers/dashboard/resetDashboardHandler.js +1 -1
  16. package/esm/model/commandHandlers/drill/common/mergeFilters.js +2 -2
  17. package/esm/model/commandHandlers/filterContext/tabSync/tabSyncRules.d.ts.map +1 -1
  18. package/esm/model/commandHandlers/filterContext/tabSync/tabSyncRules.js +114 -23
  19. package/esm/model/commandHandlers/parameters/loadParameterDependencies.d.ts +1 -1
  20. package/esm/model/commandHandlers/parameters/loadParameterDependencies.js +1 -1
  21. package/esm/model/commandHandlers/tabs/createDashboardTabHandler.d.ts.map +1 -1
  22. package/esm/model/commandHandlers/tabs/createDashboardTabHandler.js +3 -27
  23. package/esm/model/store/tabs/filterContext/filterSync.d.ts +6 -22
  24. package/esm/model/store/tabs/filterContext/filterSync.d.ts.map +1 -1
  25. package/esm/model/store/tabs/filterContext/filterSync.js +42 -40
  26. package/esm/model/types/commonTypes.d.ts +3 -0
  27. package/esm/model/types/commonTypes.d.ts.map +1 -1
  28. package/esm/presentation/automations/shared/automationFilters/automationParameters.d.ts +3 -3
  29. package/esm/presentation/automations/shared/automationFilters/automationParameters.js +3 -3
  30. package/esm/presentation/automations/shared/automationFilters/useAutomationAlertParameters.d.ts +1 -1
  31. package/esm/presentation/automations/shared/automationFilters/useAutomationAlertParameters.js +1 -1
  32. package/esm/presentation/dashboard/components/DensityInitializer.d.ts +1 -1
  33. package/esm/presentation/dashboard/components/DensityInitializer.js +1 -1
  34. package/esm/presentation/filterBar/measureValueFilter/useDashboardMeasureValueFilterData.d.ts +1 -1
  35. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +0 -2
  36. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
  37. package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +0 -2
  38. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +0 -2
  39. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
  40. package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +0 -2
  41. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +0 -2
  42. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
  43. package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +0 -2
  44. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +0 -2
  45. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  46. package/esm/presentation/localization/bundles/es-419.localization-bundle.js +0 -2
  47. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +0 -2
  48. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  49. package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +0 -2
  50. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +0 -2
  51. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  52. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +0 -2
  53. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +0 -2
  54. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  55. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +0 -2
  56. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +0 -2
  57. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  58. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +0 -2
  59. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +0 -2
  60. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
  61. package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +0 -2
  62. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +0 -2
  63. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  64. package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +0 -2
  65. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +0 -2
  66. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  67. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +0 -2
  68. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +0 -2
  69. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  70. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +0 -2
  71. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +0 -2
  72. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  73. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +0 -2
  74. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +0 -2
  75. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  76. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +0 -2
  77. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +0 -2
  78. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  79. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +0 -2
  80. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +0 -2
  81. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  82. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +0 -2
  83. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +0 -2
  84. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  85. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +0 -2
  86. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +0 -2
  87. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
  88. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +0 -2
  89. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +0 -2
  90. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
  91. package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +0 -2
  92. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +0 -2
  93. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  94. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +0 -2
  95. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +0 -2
  96. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
  97. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +0 -2
  98. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +0 -2
  99. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
  100. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +0 -2
  101. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +0 -2
  102. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  103. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +0 -2
  104. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +0 -2
  105. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  106. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +0 -2
  107. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +0 -2
  108. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  109. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +0 -2
  110. package/esm/sdk-ui-dashboard.d.ts +3 -0
  111. package/esm/types.d.ts +1 -1
  112. package/esm/types.js +1 -1
  113. package/package.json +26 -26
package/NOTICE CHANGED
@@ -11,9 +11,9 @@ This product includes a number of subcomponents with separate copyright notices
11
11
 
12
12
  The following 3rd-party software packages may be used by or distributed with gooddata-ui-sdk. Any information relevant to third-party vendors listed below are collected using common, reasonable means.
13
13
 
14
- Date generated: 2026-11-3
14
+ Date generated: 2026-11-4
15
15
 
16
- Revision ID: 3c196b9edb690788cb6841eb3fec5a5b0e50b44b
16
+ Revision ID: 66165aa316fed09103bbac8a827d970a6afda351
17
17
 
18
18
  ================================================================================
19
19
  ================================================================================
@@ -120,8 +120,6 @@ Revision ID: 3c196b9edb690788cb6841eb3fec5a5b0e50b44b
120
120
  - @formatjs/intl (4.1.20) [MIT]
121
121
  - @formatjs/intl-localematcher (0.5.8) [MIT]
122
122
  - @formatjs/intl-localematcher (0.6.2) [MIT]
123
- - @formatjs/intl-pluralrules (1.5.9) [MIT]
124
- - @formatjs/intl-utils (2.3.0) [MIT]
125
123
  - @formatjs/ts-transformer (3.13.23) [MIT]
126
124
  - @gooddata/emailjs-mime-codec-new (3.0.2) [MIT]
127
125
  - @gooddata/maql-antlr4ts (0.7.2) [MIT, BSD-3-Clause]
@@ -163,10 +161,10 @@ Revision ID: 3c196b9edb690788cb6841eb3fec5a5b0e50b44b
163
161
  - @maplibre/mlt (1.3.0) [MIT, Apache-2.0]
164
162
  - @maplibre/vt-pbf (4.3.2) [MIT, BSD-3-Clause]
165
163
  - @marijn/find-cluster-break (1.0.4) [MIT]
166
- - @module-federation/error-codes (2.9.2) [MIT]
167
- - @module-federation/runtime (2.9.2) [MIT]
168
- - @module-federation/runtime-core (2.9.2) [MIT]
169
- - @module-federation/sdk (2.9.2) [MIT]
164
+ - @module-federation/error-codes (2.9.3) [MIT]
165
+ - @module-federation/runtime (2.9.3) [MIT]
166
+ - @module-federation/runtime-core (2.9.3) [MIT]
167
+ - @module-federation/sdk (2.9.3) [MIT]
170
168
  - @nodelib/fs.scandir (2.1.5) [MIT]
171
169
  - @nodelib/fs.stat (2.0.5) [MIT]
172
170
  - @nodelib/fs.walk (1.2.8) [MIT]
@@ -555,8 +553,6 @@ Revision ID: 3c196b9edb690788cb6841eb3fec5a5b0e50b44b
555
553
  - isarray (2.0.5) [MIT]
556
554
  - isexe (2.0.0) [ISC]
557
555
  - jiti (2.6.1) [MIT]
558
- - jquery (3.7.1) [MIT]
559
- - jquery.browser (0.1.0) [MIT]
560
556
  - js-tokens (10.0.0) [MIT]
561
557
  - js-tokens (4.0.0) [MIT]
562
558
  - js-yaml (4.3.2) [MIT]
@@ -782,7 +778,6 @@ Revision ID: 3c196b9edb690788cb6841eb3fec5a5b0e50b44b
782
778
  - run-async (3.0.0) [MIT]
783
779
  - run-parallel (1.2.0) [MIT]
784
780
  - rw (1.3.3) [BSD-3-Clause]
785
- - rxjs (6.6.7) [Apache-2.0, ISC]
786
781
  - rxjs (7.8.2) [Apache-2.0, ISC]
787
782
  - safe-buffer (5.2.1) [MIT]
788
783
  - safer-buffer (2.1.2) [MIT]
@@ -854,7 +849,6 @@ Revision ID: 3c196b9edb690788cb6841eb3fec5a5b0e50b44b
854
849
  - ts-invariant (0.10.3) [MIT]
855
850
  - ts-invariant (0.7.5) [MIT]
856
851
  - ts-morph (27.0.2) [MIT, 0BSD]
857
- - tslib (1.14.1) [ISC]
858
852
  - tslib (2.8.1) [ISC]
859
853
  - tss-react (4.9.19) [MIT]
860
854
  - type-fest (0.21.3) [Multi-license: CC0-1.0 OR MIT]
@@ -4369,60 +4363,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
4369
4363
  MIT
4370
4364
  - Copyright (c) 2023 FormatJS
4371
4365
 
4372
- --------------------------------------------------------------------------------
4373
- Package Title: @formatjs/intl-pluralrules (1.5.9)
4374
-
4375
- Package Locator: npm+@formatjs/intl-pluralrules$1.5.9
4376
-
4377
- Package Depth: Direct
4378
- --------------------------------------------------------------------------------
4379
-
4380
- * Declared Licenses *
4381
- MIT
4382
-
4383
- * License Header *
4384
- MIT License
4385
-
4386
- Copyright (c) 2019 FormatJS
4387
-
4388
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4389
-
4390
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
4391
-
4392
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4393
-
4394
-
4395
- * Copyrights *
4396
- MIT
4397
- - Copyright (c) 2019 FormatJS
4398
-
4399
- --------------------------------------------------------------------------------
4400
- Package Title: @formatjs/intl-utils (2.3.0)
4401
-
4402
- Package Locator: npm+@formatjs/intl-utils$2.3.0
4403
-
4404
- Package Depth: Transitive
4405
- --------------------------------------------------------------------------------
4406
-
4407
- * Declared Licenses *
4408
- MIT
4409
-
4410
- * License Header *
4411
- MIT License
4412
-
4413
- Copyright (c) 2019 FormatJS
4414
-
4415
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4416
-
4417
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
4418
-
4419
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4420
-
4421
-
4422
- * Copyrights *
4423
- MIT
4424
- - Copyright (c) 2019 FormatJS
4425
-
4426
4366
  --------------------------------------------------------------------------------
4427
4367
  Package Title: @formatjs/ts-transformer (3.13.23)
4428
4368
 
@@ -7783,9 +7723,9 @@ MIT
7783
7723
  - Copyright (c) 2024 by Marijn Haverbeke <marijn@haverbeke.berlin>
7784
7724
 
7785
7725
  --------------------------------------------------------------------------------
7786
- Package Title: @module-federation/error-codes (2.9.2)
7726
+ Package Title: @module-federation/error-codes (2.9.3)
7787
7727
 
7788
- Package Locator: npm+@module-federation/error-codes$2.9.2
7728
+ Package Locator: npm+@module-federation/error-codes$2.9.3
7789
7729
 
7790
7730
  Package Depth: Transitive
7791
7731
  --------------------------------------------------------------------------------
@@ -7822,9 +7762,9 @@ MIT
7822
7762
  - Copyright (c) 2020 ScriptedAlchemy LLC (Zack Jackson) Zhou Shaw (zhouxiao)
7823
7763
 
7824
7764
  --------------------------------------------------------------------------------
7825
- Package Title: @module-federation/runtime (2.9.2)
7765
+ Package Title: @module-federation/runtime (2.9.3)
7826
7766
 
7827
- Package Locator: npm+@module-federation/runtime$2.9.2
7767
+ Package Locator: npm+@module-federation/runtime$2.9.3
7828
7768
 
7829
7769
  Package Depth: Direct
7830
7770
  --------------------------------------------------------------------------------
@@ -7861,9 +7801,9 @@ MIT
7861
7801
  - Copyright (c) 2023 present zhouxiao(zhoushaw)
7862
7802
 
7863
7803
  --------------------------------------------------------------------------------
7864
- Package Title: @module-federation/runtime-core (2.9.2)
7804
+ Package Title: @module-federation/runtime-core (2.9.3)
7865
7805
 
7866
- Package Locator: npm+@module-federation/runtime-core$2.9.2
7806
+ Package Locator: npm+@module-federation/runtime-core$2.9.3
7867
7807
 
7868
7808
  Package Depth: Transitive
7869
7809
  --------------------------------------------------------------------------------
@@ -7900,9 +7840,9 @@ MIT
7900
7840
  - Copyright (c) 2023 present zhouxiao(zhoushaw)
7901
7841
 
7902
7842
  --------------------------------------------------------------------------------
7903
- Package Title: @module-federation/sdk (2.9.2)
7843
+ Package Title: @module-federation/sdk (2.9.3)
7904
7844
 
7905
- Package Locator: npm+@module-federation/sdk$2.9.2
7845
+ Package Locator: npm+@module-federation/sdk$2.9.3
7906
7846
 
7907
7847
  Package Depth: Transitive
7908
7848
  --------------------------------------------------------------------------------
@@ -12729,7 +12669,7 @@ Package Title: @types/json-stable-stringify (1.0.36)
12729
12669
 
12730
12670
  Package Locator: npm+@types/json-stable-stringify$1.0.36
12731
12671
 
12732
- Package Depth: Direct
12672
+ Package Depth: Transitive
12733
12673
  --------------------------------------------------------------------------------
12734
12674
 
12735
12675
  * Declared Licenses *
@@ -37648,79 +37588,6 @@ SOFTWARE.
37648
37588
  MIT
37649
37589
  - Copyright (c) Pooya Parsa <pooya@pi0.io>
37650
37590
 
37651
- --------------------------------------------------------------------------------
37652
- Package Title: jquery (3.7.1)
37653
-
37654
- Package Locator: npm+jquery$3.7.1
37655
-
37656
- Package Depth: Direct
37657
- --------------------------------------------------------------------------------
37658
-
37659
- * Declared Licenses *
37660
- MIT
37661
-
37662
- * License Header *
37663
- Copyright OpenJS Foundation and other contributors, https://openjsf.org/
37664
-
37665
- Permission is hereby granted, free of charge, to any person obtaining
37666
- a copy of this software and associated documentation files (the
37667
- "Software"), to deal in the Software without restriction, including
37668
- without limitation the rights to use, copy, modify, merge, publish,
37669
- distribute, sublicense, and/or sell copies of the Software, and to
37670
- permit persons to whom the Software is furnished to do so, subject to
37671
- the following conditions:
37672
-
37673
- The above copyright notice and this permission notice shall be
37674
- included in all copies or substantial portions of the Software.
37675
-
37676
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37677
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
37678
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37679
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
37680
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
37681
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
37682
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
37683
-
37684
-
37685
- * Copyrights *
37686
- MIT
37687
- - Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
37688
-
37689
- --------------------------------------------------------------------------------
37690
- Package Title: jquery.browser (0.1.0)
37691
-
37692
- Package Locator: npm+jquery.browser$0.1.0
37693
-
37694
- Package Depth: Direct
37695
- --------------------------------------------------------------------------------
37696
-
37697
- * Declared Licenses *
37698
- MIT
37699
-
37700
- * License Header *
37701
- Copyright (c) 2005, 2015 jQuery Foundation, Inc. and other contributors\n * http://jquery.org/license\n *\n * Modifications Copyright <%= grunt.template.today("yyyy") %> Gabriel Cebrian\n * https://github.com/gabceb\n *\n * Released under the MIT license\n *\n * Date: <%= grunt.template.today("dd-mm-yyyy")%>\n
37702
- Permission is hereby granted, free of charge, to any person obtaining a copy
37703
- of this software and associated documentation files (the "Software"), to deal
37704
- in the Software without restriction, including without limitation the rights
37705
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
37706
- copies of the Software, and to permit persons to whom the Software is
37707
- furnished to do so, subject to the following conditions:
37708
-
37709
- The above copyright notice and this permission notice shall be included in all
37710
- copies or substantial portions of the Software.
37711
-
37712
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
37713
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
37714
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
37715
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
37716
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
37717
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
37718
- SOFTWARE.
37719
-
37720
- * Copyrights *
37721
- MIT
37722
- - Copyright (c) 2005, 2015 jQuery Foundation, Inc. and other contributors\n * http://jquery.org/license\n *\n * Modifications Copyright <%= grunt.template.today("yyyy") %> Gabriel Cebrian\n * https://github.com/gabceb\n *\n * Released under the MIT license\n *\n * Date: <%= grunt.template.today("dd-mm-yyyy")%>\n
37723
-
37724
37591
  --------------------------------------------------------------------------------
37725
37592
  Package Title: js-tokens (10.0.0)
37726
37593
 
@@ -52185,65 +52052,6 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
52185
52052
  BSD-3-Clause
52186
52053
  - Copyright (c) 2014-2016, Michael Bostock
52187
52054
 
52188
- --------------------------------------------------------------------------------
52189
- Package Title: rxjs (6.6.7)
52190
-
52191
- Package Locator: npm+rxjs$6.6.7
52192
-
52193
- Package Depth: Direct
52194
- --------------------------------------------------------------------------------
52195
-
52196
- * Declared Licenses *
52197
- Apache-2.0, ISC
52198
-
52199
- * Apache-2.0 *
52200
-
52201
- * License Header *
52202
- Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors
52203
-
52204
- Licensed under the Apache License, Version 2.0 (the "License");
52205
- you may not use this file except in compliance with the License.
52206
- You may obtain a copy of the License at
52207
-
52208
- http://www.apache.org/licenses/LICENSE-2.0
52209
-
52210
- Unless required by applicable law or agreed to in writing, software
52211
- distributed under the License is distributed on an "AS IS" BASIS,
52212
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
52213
- See the License for the specific language governing permissions and
52214
- limitations under the License.
52215
- -------------
52216
- Copyright (c) Microsoft Corporation. All rights reserved.
52217
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
52218
- this file except in compliance with the License. You may obtain a copy of the
52219
- License at http://www.apache.org/licenses/LICENSE-2.0
52220
-
52221
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
52222
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
52223
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
52224
- MERCHANTABLITY OR NON-INFRINGEMENT.
52225
-
52226
- See the Apache Version 2.0 License for specific language governing permissions
52227
- and limitations under the License.
52228
-
52229
- * ISC *
52230
-
52231
- * License Header *
52232
- /*! *****************************************************************************
52233
- Copyright (c) Microsoft Corporation.
52234
-
52235
- Permission to use, copy, modify, and/or distribute this software for any
52236
- purpose with or without fee is hereby granted.
52237
-
52238
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
52239
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
52240
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
52241
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
52242
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
52243
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
52244
- PERFORMANCE OF THIS SOFTWARE.
52245
- ***************************************************************************** */
52246
-
52247
52055
  --------------------------------------------------------------------------------
52248
52056
  Package Title: rxjs (7.8.2)
52249
52057
 
@@ -56621,31 +56429,6 @@ MIT
56621
56429
  0BSD
56622
56430
  - Copyright (c) Microsoft Corporation.
56623
56431
 
56624
- --------------------------------------------------------------------------------
56625
- Package Title: tslib (1.14.1)
56626
-
56627
- Package Locator: npm+tslib$1.14.1
56628
-
56629
- Package Depth: Transitive
56630
- --------------------------------------------------------------------------------
56631
-
56632
- * Declared Licenses *
56633
- ISC
56634
-
56635
- * License Header *
56636
- Copyright (c) Microsoft Corporation.
56637
-
56638
- Permission to use, copy, modify, and/or distribute this software for any
56639
- purpose with or without fee is hereby granted.
56640
-
56641
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
56642
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
56643
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
56644
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
56645
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
56646
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
56647
- PERFORMANCE OF THIS SOFTWARE.
56648
-
56649
56432
  --------------------------------------------------------------------------------
56650
56433
  Package Title: tslib (2.8.1)
56651
56434
 
@@ -69564,4 +69347,4 @@ MIT
69564
69347
  --------------------------------------------------------------------------------
69565
69348
  --------------------------------------------------------------------------------
69566
69349
 
69567
- Report Generated by FOSSA on 2026-11-3
69350
+ Report Generated by FOSSA on 2026-11-4
@@ -1,4 +1,4 @@
1
- export declare const LIB_VERSION = "11.67.0-alpha.3";
1
+ export declare const LIB_VERSION = "11.67.0-alpha.4";
2
2
  export declare const LIB_DESCRIPTION = "GoodData SDK - Dashboard Component";
3
3
  export declare const LIB_NAME = "@gooddata/sdk-ui-dashboard";
4
4
  //# sourceMappingURL=__version.d.ts.map
package/esm/__version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // (C) 2021 GoodData Corporation
2
2
  // DO NOT CHANGE THIS FILE, IT IS RE-GENERATED ON EVERY BUILD
3
- export const LIB_VERSION = "11.67.0-alpha.3";
3
+ export const LIB_VERSION = "11.67.0-alpha.4";
4
4
  export const LIB_DESCRIPTION = "GoodData SDK - Dashboard Component";
5
5
  export const LIB_NAME = "@gooddata/sdk-ui-dashboard";
@@ -1 +1 @@
1
- {"version":3,"file":"changeDashboardDefinitionHandler.d.ts","sourceRoot":"","sources":["../../../../src/model/commandHandlers/dashboard/changeDashboardDefinitionHandler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAc/C,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,KAAK,2BAA2B,EAA8B,MAAM,2BAA2B,CAAC;AAczG,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAiDnE,wBAAiB,gCAAgC,CAC7C,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,0BAA0B,GAChC,YAAY,CAAC,2BAA2B,CAAC,CA8H3C"}
1
+ {"version":3,"file":"changeDashboardDefinitionHandler.d.ts","sourceRoot":"","sources":["../../../../src/model/commandHandlers/dashboard/changeDashboardDefinitionHandler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAc/C,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,KAAK,2BAA2B,EAA8B,MAAM,2BAA2B,CAAC;AAezG,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAiDnE,wBAAiB,gCAAgC,CAC7C,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,0BAA0B,GAChC,YAAY,CAAC,2BAA2B,CAAC,CAkI3C"}
@@ -8,6 +8,7 @@ import { dashboardDefinitionChanged } from "../../events/dashboard.js";
8
8
  import { selectAllCatalogDisplayFormsMap, selectCatalogParameters, } from "../../store/catalog/catalogSelectors.js";
9
9
  import { selectDateFilterConfig, selectEnableImmediateAttributeFilterDisplayAsLabelMigration, selectSettings, } from "../../store/config/configSelectors.js";
10
10
  import { selectPersistedDashboard } from "../../store/meta/metaSelectors.js";
11
+ import { selectPreloadedAttributesWithReferences } from "../../store/tabs/filterContext/filterContextSelectors.js";
11
12
  import { selectActiveTabLocalIdentifier } from "../../store/tabs/tabsSelectors.js";
12
13
  import { DEFAULT_TAB_ID } from "../../store/tabs/tabsState.js";
13
14
  import { unavailableObjectsActions } from "../../store/unavailableObjects/index.js";
@@ -79,7 +80,8 @@ export function* changeDashboardDefinitionHandler(ctx, cmd) {
79
80
  const effectiveActiveTabId = activeTabExistsInNewDashboard
80
81
  ? currentActiveTabId
81
82
  : (dashboard.tabs?.[0]?.localIdentifier ?? DEFAULT_TAB_ID);
82
- const batch = yield call(actionsToInitializeExistingDashboard, ctx, dashboard, allInsights, settings, isImmediateAttributeFilterMigrationEnabled, effectiveOriginalFilterContext, migratedAttributeFilters, effectiveAttributeFilterConfigs, dateFilterConfig, tabsDateFilterConfigSource, displayForms, persistedDashboard ?? dashboard, effectiveActiveTabId, workspaceParameters, unavailableReferences);
83
+ const attributesWithReferences = yield select(selectPreloadedAttributesWithReferences);
84
+ const batch = yield call(actionsToInitializeExistingDashboard, ctx, dashboard, allInsights, settings, isImmediateAttributeFilterMigrationEnabled, effectiveOriginalFilterContext, migratedAttributeFilters, effectiveAttributeFilterConfigs, dateFilterConfig, tabsDateFilterConfigSource, displayForms, persistedDashboard ?? dashboard, effectiveActiveTabId, workspaceParameters, unavailableReferences, attributesWithReferences);
83
85
  batch.push(unavailableObjectsActions.setUnavailableObjects(unavailableReferences));
84
86
  yield put(batchActions(batch, "@@GDC.DASH/CHANGE_DEFINITION"));
85
87
  const finalReferences = {
@@ -441,7 +441,9 @@ function mirrorTabSelection(sourceBefore, sourceAfter, target, filterView, unava
441
441
  const commonDate = sourceCommonDate
442
442
  ? targetCommonDate
443
443
  ? applyMirroredFilterValue(sourceCommonDate, targetCommonDate)
444
- : { dateFilter: omit(sourceCommonDate.dateFilter, ["localIdentifier"]) }
444
+ : {
445
+ dateFilter: omit(sourceCommonDate.dateFilter, ["localIdentifier"]),
446
+ }
445
447
  : undefined;
446
448
  return {
447
449
  ...withParameters,
@@ -470,8 +472,13 @@ function findSameTabFilter(filters, filter) {
470
472
  function toTabSyncState(tab, filterContext) {
471
473
  return {
472
474
  localIdentifier: tab.localIdentifier,
473
- filterContext: { filtersWithInvalidSelection: [], filterContextDefinition: filterContext },
474
- attributeFilterConfigs: { attributeFilterConfigs: tab.attributeFilterConfigs },
475
+ filterContext: {
476
+ filtersWithInvalidSelection: [],
477
+ filterContextDefinition: filterContext,
478
+ },
479
+ attributeFilterConfigs: {
480
+ attributeFilterConfigs: tab.attributeFilterConfigs,
481
+ },
475
482
  };
476
483
  }
477
484
  /**
@@ -0,0 +1,46 @@
1
+ import { type IAttributeWithReferences } from "@gooddata/sdk-backend-spi";
2
+ import { type FilterContextItem, type IDashboardAttributeFilterConfig, type IDashboardDateFilterConfig, type IDashboardDateFilterConfigItem, type IDashboardMeasureValueFilterConfig } from "@gooddata/sdk-model";
3
+ import { type IDashboardFilterMergeConfig, type ValidationResult } from "../../../../_staging/dashboard/dashboardFilterContextValidation.js";
4
+ /**
5
+ * Tabs the embed-url filter overrides are fitted to.
6
+ *
7
+ * The overrides are the filter context of the tab the link was copied on. Their local identifiers
8
+ * belong to that tab. Another tab's widgets and filter configuration bind the same logical filter
9
+ * by its own local identifier, so copying the identifier leaves that tab's charts unfiltered.
10
+ */
11
+ interface IOverrideFilterTab {
12
+ readonly localIdentifier: string;
13
+ readonly filterContext?: {
14
+ readonly filters: readonly FilterContextItem[];
15
+ };
16
+ readonly attributeFilterConfigs?: IDashboardAttributeFilterConfig[];
17
+ readonly dateFilterConfig?: IDashboardDateFilterConfig;
18
+ readonly dateFilterConfigs?: IDashboardDateFilterConfigItem[];
19
+ readonly measureValueFilterConfigs?: IDashboardMeasureValueFilterConfig[];
20
+ }
21
+ /**
22
+ * Override filters to merge into each tab.
23
+ *
24
+ * The tab the dashboard opens on receives the overrides unchanged. When filters persist across tabs,
25
+ * every other tab receives the same values on its own counterpart filters. A tab is absent from the
26
+ * result when it keeps its saved filters.
27
+ *
28
+ * @internal
29
+ */
30
+ export declare function resolveOverrideFiltersByTab(tabs: readonly IOverrideFilterTab[], overrideFilters: FilterContextItem[] | undefined, activeTabLocalIdentifier: string | undefined, persistFiltersAcrossTabs: boolean, attributesWithReferences?: IAttributeWithReferences[]): Record<string, FilterContextItem[] | undefined>;
31
+ /**
32
+ * Merges override filters into a tab and applies a common date override that the saved filter
33
+ * context cannot match.
34
+ *
35
+ * All time is stored as the absence of the common date filter, and the filter's local identifier
36
+ * differs between tabs, so {@link mergeFilterContextFilters} drops the override. The common date
37
+ * value is then written onto the tab's own filter, or added when the tab is all time.
38
+ *
39
+ * @internal
40
+ */
41
+ export declare function mergeDashboardOverrideFilters(originalFilters: FilterContextItem[], overrideFilters: FilterContextItem[], config: IDashboardFilterMergeConfig): {
42
+ mergedFilters: FilterContextItem[];
43
+ validationResults: ValidationResult[];
44
+ };
45
+ export {};
46
+ //# sourceMappingURL=overrideFiltersAcrossTabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overrideFiltersAcrossTabs.d.ts","sourceRoot":"","sources":["../../../../../src/model/commandHandlers/dashboard/common/overrideFiltersAcrossTabs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAEH,KAAK,iBAAiB,EACtB,KAAK,+BAA+B,EACpC,KAAK,0BAA0B,EAC/B,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EAQ1C,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,EAExB,MAAM,oEAAoE,CAAC;AAQ5E;;;;;;GAMG;AACH,UAAU,kBAAkB;IACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAA;KAAE,CAAC;IAC5E,QAAQ,CAAC,sBAAsB,CAAC,EAAE,+BAA+B,EAAE,CAAC;IACpE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,0BAA0B,CAAC;IACvD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,8BAA8B,EAAE,CAAC;IAC9D,QAAQ,CAAC,yBAAyB,CAAC,EAAE,kCAAkC,EAAE,CAAC;CAC7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACvC,IAAI,EAAE,SAAS,kBAAkB,EAAE,EACnC,eAAe,EAAE,iBAAiB,EAAE,GAAG,SAAS,EAChD,wBAAwB,EAAE,MAAM,GAAG,SAAS,EAC5C,wBAAwB,EAAE,OAAO,EACjC,wBAAwB,CAAC,EAAE,wBAAwB,EAAE,GACtD,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC,CA4BjD;AAED;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CACzC,eAAe,EAAE,iBAAiB,EAAE,EACpC,eAAe,EAAE,iBAAiB,EAAE,EACpC,MAAM,EAAE,2BAA2B,GACpC;IAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;IAAC,iBAAiB,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAU/E"}
@@ -0,0 +1,155 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { DashboardDateFilterConfigModeValues, isDashboardArbitraryAttributeFilter, isDashboardAttributeFilter, isDashboardAttributeFilterItem, isDashboardCommonDateFilter, isDashboardMatchAttributeFilter, isNoopAllTimeDashboardDateFilter, } from "@gooddata/sdk-model";
3
+ import { mergeFilterContextFilters, } from "../../../../_staging/dashboard/dashboardFilterContextValidation.js";
4
+ import { applyMirroredFilterValue, findCounterpartFilter, targetAcceptsAttributeFilterValue, } from "../../../store/tabs/filterContext/filterSync.js";
5
+ /**
6
+ * Override filters to merge into each tab.
7
+ *
8
+ * The tab the dashboard opens on receives the overrides unchanged. When filters persist across tabs,
9
+ * every other tab receives the same values on its own counterpart filters. A tab is absent from the
10
+ * result when it keeps its saved filters.
11
+ *
12
+ * @internal
13
+ */
14
+ export function resolveOverrideFiltersByTab(tabs, overrideFilters, activeTabLocalIdentifier, persistFiltersAcrossTabs, attributesWithReferences) {
15
+ if (!overrideFilters) {
16
+ return {};
17
+ }
18
+ const activeId = activeTabLocalIdentifier ?? tabs[0]?.localIdentifier;
19
+ const active = tabs.find((tab) => tab.localIdentifier === activeId) ?? tabs[0];
20
+ if (!active) {
21
+ return {};
22
+ }
23
+ const share = persistFiltersAcrossTabs && overrideFilters.length > 0 && tabs.length > 1;
24
+ return Object.fromEntries(tabs.flatMap((tab) => {
25
+ if (tab.localIdentifier === active.localIdentifier) {
26
+ return [[tab.localIdentifier, overrideFilters]];
27
+ }
28
+ if (!share) {
29
+ return [];
30
+ }
31
+ return [
32
+ [
33
+ tab.localIdentifier,
34
+ retargetOverrideFilters(active, tab, overrideFilters, attributesWithReferences),
35
+ ],
36
+ ];
37
+ }));
38
+ }
39
+ /**
40
+ * Merges override filters into a tab and applies a common date override that the saved filter
41
+ * context cannot match.
42
+ *
43
+ * All time is stored as the absence of the common date filter, and the filter's local identifier
44
+ * differs between tabs, so {@link mergeFilterContextFilters} drops the override. The common date
45
+ * value is then written onto the tab's own filter, or added when the tab is all time.
46
+ *
47
+ * @internal
48
+ */
49
+ export function mergeDashboardOverrideFilters(originalFilters, overrideFilters, config) {
50
+ const merged = mergeFilterContextFilters(originalFilters, overrideFilters, config);
51
+ return {
52
+ mergedFilters: applyCommonDateOverride(merged.mergedFilters, overrideFilters, config.dateFilterConfig),
53
+ validationResults: merged.validationResults,
54
+ };
55
+ }
56
+ function applyCommonDateOverride(mergedFilters, overrideFilters, dateFilterConfig) {
57
+ const incoming = overrideFilters.find(isDashboardCommonDateFilter);
58
+ if (!incoming || isDateFilterLocked(dateFilterConfig)) {
59
+ return mergedFilters;
60
+ }
61
+ const current = mergedFilters.find(isDashboardCommonDateFilter);
62
+ if (current) {
63
+ return mergedFilters.map((filter) => filter === current ? applyMirroredFilterValue(incoming, current) : filter);
64
+ }
65
+ // All time is the absence of the filter. Only a selected range, or all time that carries
66
+ // extra configuration, is stored.
67
+ if (isNoopAllTimeDashboardDateFilter(incoming)) {
68
+ return mergedFilters;
69
+ }
70
+ return [incoming, ...mergedFilters];
71
+ }
72
+ function isDateFilterLocked(dateFilterConfig) {
73
+ return (dateFilterConfig?.mode === DashboardDateFilterConfigModeValues.HIDDEN ||
74
+ dateFilterConfig?.mode === DashboardDateFilterConfigModeValues.READONLY);
75
+ }
76
+ function retargetOverrideFilters(source, target, overrideFilters, attributesWithReferences) {
77
+ const sourceState = toTabState(source);
78
+ const targetState = toTabState(target);
79
+ const targetFilters = filtersOf(target);
80
+ return overrideFilters.flatMap((override) => {
81
+ if (isDashboardCommonDateFilter(override)) {
82
+ const targetDate = targetFilters.find(isDashboardCommonDateFilter);
83
+ if (targetDate) {
84
+ return [applyMirroredFilterValue(override, targetDate)];
85
+ }
86
+ if (isNoopAllTimeDashboardDateFilter(override)) {
87
+ return [];
88
+ }
89
+ // The target is all time, so it has no local identifier to keep.
90
+ const { localIdentifier: _localIdentifier, ...dateFilter } = override.dateFilter;
91
+ return [{ dateFilter }];
92
+ }
93
+ const counterpart = findCounterpartFilter(sourceState, override, targetState, attributesWithReferences);
94
+ if (!counterpart ||
95
+ (isDashboardAttributeFilterItem(counterpart) &&
96
+ isDashboardAttributeFilterItem(override) &&
97
+ !targetAcceptsAttributeFilterValue(targetState, counterpart, override))) {
98
+ return [];
99
+ }
100
+ // The merge compares display forms by reference form.
101
+ return [withTargetDisplayForm(applyMirroredFilterValue(override, counterpart), counterpart)];
102
+ });
103
+ }
104
+ /**
105
+ * Uses the target filter's display form on a mirrored attribute override.
106
+ */
107
+ function withTargetDisplayForm(mirrored, target) {
108
+ if (isDashboardAttributeFilter(mirrored) && isDashboardAttributeFilter(target)) {
109
+ return {
110
+ attributeFilter: {
111
+ ...mirrored.attributeFilter,
112
+ displayForm: target.attributeFilter.displayForm,
113
+ },
114
+ };
115
+ }
116
+ if (isDashboardMatchAttributeFilter(mirrored) && isDashboardMatchAttributeFilter(target)) {
117
+ return {
118
+ matchAttributeFilter: {
119
+ ...mirrored.matchAttributeFilter,
120
+ displayForm: target.matchAttributeFilter.displayForm,
121
+ },
122
+ };
123
+ }
124
+ if (isDashboardArbitraryAttributeFilter(mirrored) && isDashboardArbitraryAttributeFilter(target)) {
125
+ return {
126
+ arbitraryAttributeFilter: {
127
+ ...mirrored.arbitraryAttributeFilter,
128
+ displayForm: target.arbitraryAttributeFilter.displayForm,
129
+ },
130
+ };
131
+ }
132
+ return mirrored;
133
+ }
134
+ function filtersOf(tab) {
135
+ return tab.filterContext?.filters ? [...tab.filterContext.filters] : [];
136
+ }
137
+ /**
138
+ * The tab state that cross-tab filter matching reads.
139
+ */
140
+ function toTabState(tab) {
141
+ const filterContextDefinition = {
142
+ title: "",
143
+ description: "",
144
+ filters: filtersOf(tab),
145
+ };
146
+ return {
147
+ localIdentifier: tab.localIdentifier,
148
+ filterContext: { filtersWithInvalidSelection: [], filterContextDefinition },
149
+ attributeFilterConfigs: { attributeFilterConfigs: tab.attributeFilterConfigs },
150
+ dateFilterConfigs: tab.dateFilterConfigs ? { dateFilterConfigs: tab.dateFilterConfigs } : undefined,
151
+ measureValueFilterConfigs: tab.measureValueFilterConfigs
152
+ ? { measureValueFilterConfigs: tab.measureValueFilterConfigs }
153
+ : undefined,
154
+ };
155
+ }
@@ -1,6 +1,6 @@
1
1
  import { type PayloadAction } from "@reduxjs/toolkit";
2
2
  import { type SagaIterator } from "redux-saga";
3
- import { type IUnavailableDashboardReference } from "@gooddata/sdk-backend-spi";
3
+ import { type IAttributeWithReferences, type IUnavailableDashboardReference } from "@gooddata/sdk-backend-spi";
4
4
  import { type IAttributeDisplayFormMetadataObject, type IDashboard, type IDashboardAttributeFilter, type IDashboardAttributeFilterConfig, type IDataSetMetadataObject, type IDateFilterConfig, type IFilterContextDefinition, type IInsight, type IParameterMetadataObject, type ISettings, type ObjRef } from "@gooddata/sdk-model";
5
5
  import { type ObjRefMap } from "../../../../_staging/metadata/objRefMap.js";
6
6
  import { type DashboardContext } from "../../../types/commonTypes.js";
@@ -44,6 +44,8 @@ export declare function loadDataSets(ctx: DashboardContext, dataSetRefs: ObjRef[
44
44
  * @param displayForms - specify display forms that should be used for in-memory resolution of
45
45
  * attribute filter display forms to metadata objects
46
46
  * @param persistedDashboard - dashboard to use for the persisted dashboard state slice in case it needs to be different from the dashboard param
47
+ * @param attributesWithReferences - attributes of the attribute filters, used to match an override filter
48
+ * to the same filter on another tab when filters persist across tabs
47
49
  */
48
- export declare function actionsToInitializeExistingDashboard(ctx: DashboardContext, dashboard: IDashboard, insights: IInsight[], settings: ISettings, isImmediateAttributeFilterMigrationEnabled: boolean, originalFilterContextDefinition: Record<string, IFilterContextDefinition | undefined> | undefined, migratedAttributeFilters: Record<string, IDashboardAttributeFilter[]> | undefined, migratedAttributeFilterConfigs: Record<string, IDashboardAttributeFilterConfig[]>, effectiveDateFilterConfigMap: Record<string, IDateFilterConfig>, tabsDateFilterConfigSource: Record<string, "dashboard" | "workspace">, displayForms?: ObjRefMap<IAttributeDisplayFormMetadataObject>, persistedDashboard?: IDashboard, activeTabLocalIdentifier?: string, workspaceParameters?: IParameterMetadataObject[], unavailableObjectsOverride?: ReadonlyArray<IUnavailableDashboardReference>): SagaIterator<Array<PayloadAction<any>>>;
50
+ export declare function actionsToInitializeExistingDashboard(ctx: DashboardContext, dashboard: IDashboard, insights: IInsight[], settings: ISettings, isImmediateAttributeFilterMigrationEnabled: boolean, originalFilterContextDefinition: Record<string, IFilterContextDefinition | undefined> | undefined, migratedAttributeFilters: Record<string, IDashboardAttributeFilter[]> | undefined, migratedAttributeFilterConfigs: Record<string, IDashboardAttributeFilterConfig[]>, effectiveDateFilterConfigMap: Record<string, IDateFilterConfig>, tabsDateFilterConfigSource: Record<string, "dashboard" | "workspace">, displayForms?: ObjRefMap<IAttributeDisplayFormMetadataObject>, persistedDashboard?: IDashboard, activeTabLocalIdentifier?: string, workspaceParameters?: IParameterMetadataObject[], unavailableObjectsOverride?: ReadonlyArray<IUnavailableDashboardReference>, attributesWithReferences?: IAttributeWithReferences[]): SagaIterator<Array<PayloadAction<any>>>;
49
51
  //# sourceMappingURL=stateInitializers.d.ts.map