@qrvey/utils 1.6.0-0 → 1.6.0-3

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 (267) hide show
  1. package/dist/cjs/dates/adapters/dateToHms.d.ts +3 -1
  2. package/dist/cjs/dates/adapters/dateToHms.js +47 -2
  3. package/dist/cjs/dates/adapters/dateToMdyDate.js +1 -1
  4. package/dist/cjs/dates/helpers/adjustTimezone.d.ts +6 -0
  5. package/dist/cjs/dates/helpers/adjustTimezone.js +13 -0
  6. package/dist/cjs/dates/helpers/getFormattedDateByFormat.js +2 -1
  7. package/dist/cjs/dates/helpers/index.d.ts +1 -0
  8. package/dist/cjs/dates/helpers/index.js +1 -0
  9. package/dist/cjs/dates/interfaces/IDFDateToHmsSettings.d.ts +5 -0
  10. package/dist/cjs/{filters/interfaces/builder/IFilterBuilderSettingsScopes.js → dates/interfaces/IDFDateToHmsSettings.js} +0 -0
  11. package/dist/cjs/dates/interfaces/index.d.ts +1 -0
  12. package/dist/cjs/dates/interfaces/index.js +1 -0
  13. package/dist/cjs/dates/relative/constants/RELATIVE_DATE_TIME_UNIT_INFO_LIST.d.ts +5 -0
  14. package/dist/cjs/dates/relative/constants/RELATIVE_DATE_TIME_UNIT_INFO_LIST.js +12 -0
  15. package/dist/cjs/dates/relative/constants/RELATIVE_DATE_UNIT_INFO_LIST.d.ts +5 -0
  16. package/dist/cjs/dates/relative/constants/{RELATIVE_UNIT_INFO_LIST.js → RELATIVE_DATE_UNIT_INFO_LIST.js} +3 -3
  17. package/dist/cjs/dates/relative/constants/RELATIVE_UNIT_INFO.js +25 -0
  18. package/dist/cjs/dates/relative/constants/index.d.ts +2 -1
  19. package/dist/cjs/dates/relative/constants/index.js +2 -1
  20. package/dist/cjs/dates/relative/interfaces/IRelativeUnit.d.ts +2 -1
  21. package/dist/cjs/filters/constants/index.d.ts +1 -0
  22. package/dist/cjs/filters/constants/index.js +1 -0
  23. package/dist/cjs/filters/constants/settings/FILTER_SETTINGS_DEFAULT.d.ts +3 -0
  24. package/dist/cjs/filters/constants/settings/FILTER_SETTINGS_DEFAULT.js +239 -0
  25. package/dist/cjs/filters/constants/settings/index.d.ts +1 -0
  26. package/dist/cjs/filters/constants/settings/index.js +17 -0
  27. package/dist/cjs/filters/helpers/backend/getLogicByDatasets.js +4 -3
  28. package/dist/cjs/filters/helpers/index.d.ts +1 -0
  29. package/dist/cjs/filters/helpers/index.js +1 -0
  30. package/dist/cjs/filters/helpers/settings/areMultipleScopesByProperties.d.ts +9 -0
  31. package/dist/cjs/filters/helpers/settings/areMultipleScopesByProperties.js +24 -0
  32. package/dist/cjs/filters/helpers/settings/areMultipleScopesByProperty.d.ts +8 -0
  33. package/dist/cjs/filters/helpers/settings/areMultipleScopesByProperty.js +20 -0
  34. package/dist/cjs/filters/helpers/settings/getFilterSettings.d.ts +13 -0
  35. package/dist/cjs/filters/helpers/settings/getFilterSettings.js +331 -0
  36. package/dist/cjs/filters/helpers/settings/getScopeColorSetting.d.ts +9 -0
  37. package/dist/cjs/filters/helpers/settings/getScopeColorSetting.js +19 -0
  38. package/dist/cjs/filters/helpers/settings/getScopeSettings.d.ts +10 -0
  39. package/dist/cjs/filters/helpers/settings/getScopeSettings.js +17 -0
  40. package/dist/cjs/filters/helpers/settings/getScopesSettings.d.ts +8 -0
  41. package/dist/cjs/filters/helpers/settings/getScopesSettings.js +15 -0
  42. package/dist/cjs/filters/helpers/settings/getScopesToDisplay.d.ts +8 -0
  43. package/dist/cjs/filters/helpers/settings/getScopesToDisplay.js +16 -0
  44. package/dist/cjs/filters/helpers/settings/index.d.ts +9 -0
  45. package/dist/cjs/filters/helpers/settings/index.js +25 -0
  46. package/dist/cjs/filters/helpers/settings/isLeastSingleScopeByProperties.d.ts +9 -0
  47. package/dist/cjs/filters/helpers/settings/isLeastSingleScopeByProperties.js +24 -0
  48. package/dist/cjs/filters/helpers/settings/isLeastSingleScopeByProperty.d.ts +8 -0
  49. package/dist/cjs/filters/helpers/settings/isLeastSingleScopeByProperty.js +20 -0
  50. package/dist/cjs/filters/interfaces/builder/IFilterBuilderConfig.d.ts +2 -0
  51. package/dist/cjs/filters/interfaces/builder/IFilterBuilderSettings.d.ts +0 -3
  52. package/dist/cjs/filters/interfaces/builder/index.d.ts +0 -1
  53. package/dist/cjs/filters/interfaces/builder/index.js +0 -1
  54. package/dist/cjs/filters/interfaces/common/IFSDataStore.d.ts +3 -5
  55. package/dist/cjs/filters/interfaces/index.d.ts +1 -0
  56. package/dist/cjs/filters/interfaces/index.js +1 -0
  57. package/dist/cjs/filters/interfaces/panel/IFilterPanelConfig.d.ts +4 -0
  58. package/dist/cjs/filters/interfaces/panel/index.d.ts +0 -20
  59. package/dist/cjs/filters/interfaces/panel/index.js +0 -20
  60. package/dist/cjs/filters/interfaces/settings/IFSettings.d.ts +19 -0
  61. package/dist/cjs/filters/interfaces/{panel/IFPSettings.js → settings/IFSettings.js} +0 -0
  62. package/dist/cjs/filters/interfaces/settings/IFSettingsChartBuilder.d.ts +5 -0
  63. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanel.js → settings/IFSettingsChartBuilder.js} +0 -0
  64. package/dist/cjs/filters/interfaces/settings/IFSettingsFilterBuilder.d.ts +7 -0
  65. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanelBody.js → settings/IFSettingsFilterBuilder.js} +0 -0
  66. package/dist/cjs/filters/interfaces/settings/IFSettingsFilterDisplayer.d.ts +8 -0
  67. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanelBodyDataset.js → settings/IFSettingsFilterDisplayer.js} +0 -0
  68. package/dist/cjs/filters/interfaces/settings/IFSettingsFilterPanel.d.ts +18 -0
  69. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanelBodyDatasetHeader.js → settings/IFSettingsFilterPanel.js} +0 -0
  70. package/dist/cjs/filters/interfaces/settings/IFSettingsFilterPanelBody.d.ts +13 -0
  71. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanelBodyFilter.js → settings/IFSettingsFilterPanelBody.js} +0 -0
  72. package/dist/cjs/filters/interfaces/settings/IFSettingsFilterPanelBodyDataset.d.ts +9 -0
  73. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanelBodyFilterMenu.js → settings/IFSettingsFilterPanelBodyDataset.js} +0 -0
  74. package/dist/cjs/filters/interfaces/settings/IFSettingsFilterPanelBodyFilter.d.ts +11 -0
  75. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanelBodyOperator.js → settings/IFSettingsFilterPanelBodyFilter.js} +0 -0
  76. package/dist/{filters/interfaces/panel/IFPSettingsFilterPanelBodyFilterMenu.d.ts → cjs/filters/interfaces/settings/IFSettingsFilterPanelBodyFilterMenu.d.ts} +5 -2
  77. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanelBodyScope.js → settings/IFSettingsFilterPanelBodyFilterMenu.js} +0 -0
  78. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanelBodyOperator.d.ts → settings/IFSettingsFilterPanelBodyOperator.d.ts} +1 -1
  79. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanelBodyScopeBody.js → settings/IFSettingsFilterPanelBodyOperator.js} +0 -0
  80. package/dist/cjs/filters/interfaces/settings/IFSettingsFilterPanelBodyScope.d.ts +8 -0
  81. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanelBodyScopeHeader.js → settings/IFSettingsFilterPanelBodyScope.js} +0 -0
  82. package/dist/cjs/filters/interfaces/settings/IFSettingsFilterPanelHeader.d.ts +13 -0
  83. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanelBodyScopeScope.js → settings/IFSettingsFilterPanelHeader.js} +0 -0
  84. package/dist/{filters/interfaces/panel/IFPSettingsFilterPanelHeaderMenu.d.ts → cjs/filters/interfaces/settings/IFSettingsFilterPanelHeaderMenu.d.ts} +4 -2
  85. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanelBodyScopeScopeBody.js → settings/IFSettingsFilterPanelHeaderMenu.js} +0 -0
  86. package/dist/cjs/filters/interfaces/settings/IFSettingsFilterPanelSettings.d.ts +16 -0
  87. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanelBodyScopeScopeHeader.js → settings/IFSettingsFilterPanelSettings.js} +0 -0
  88. package/dist/cjs/filters/interfaces/settings/IFSettingsPanel.d.ts +11 -0
  89. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanelHeader.js → settings/IFSettingsPanel.js} +0 -0
  90. package/dist/cjs/filters/interfaces/{panel/IFPSettingsPanelView.d.ts → settings/IFSettingsPanelView.d.ts} +0 -0
  91. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanelHeaderMenu.js → settings/IFSettingsPanelView.js} +0 -0
  92. package/dist/cjs/filters/interfaces/settings/IFSettingsScope.d.ts +20 -0
  93. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanelSettings.js → settings/IFSettingsScope.js} +0 -0
  94. package/dist/cjs/filters/interfaces/settings/IFSettingsScopeHeader.d.ts +9 -0
  95. package/dist/cjs/filters/interfaces/{panel/IFPSettingsFilterPanelSettingsScope.js → settings/IFSettingsScopeHeader.js} +0 -0
  96. package/dist/cjs/filters/interfaces/settings/IFSettingsScopeInteraction.d.ts +13 -0
  97. package/dist/cjs/filters/interfaces/{panel/IFPSettingsGeneral.js → settings/IFSettingsScopeInteraction.js} +0 -0
  98. package/dist/cjs/filters/interfaces/settings/IFSettingsScopes.d.ts +8 -0
  99. package/dist/cjs/filters/interfaces/{panel/IFPSettingsPanelView.js → settings/IFSettingsScopes.js} +0 -0
  100. package/dist/cjs/filters/interfaces/settings/index.d.ts +19 -0
  101. package/dist/cjs/filters/interfaces/settings/index.js +35 -0
  102. package/dist/cjs/filters/interfaces/ui/IFUDataStore.d.ts +2 -2
  103. package/dist/cjs/globalization/interfaces/common/II18nCommon.d.ts +2 -0
  104. package/dist/cjs/globalization/interfaces/common/II18nTokenMode.d.ts +4 -0
  105. package/dist/cjs/globalization/interfaces/common/II18nTokenMode.js +2 -0
  106. package/dist/cjs/globalization/interfaces/common/II18nTooltipForTokenMode.d.ts +4 -0
  107. package/dist/cjs/globalization/interfaces/common/II18nTooltipForTokenMode.js +2 -0
  108. package/dist/cjs/globalization/interfaces/common/II18nUnits.d.ts +3 -0
  109. package/dist/cjs/globalization/interfaces/filters/II18nRelativeContainer.d.ts +1 -0
  110. package/dist/cjs/globalization/labels/common/I18N_COMMON.js +9 -0
  111. package/dist/cjs/globalization/labels/filters/I18N_RELATIVE_CONTAINER.js +1 -0
  112. package/dist/cjs/typescript/DeepRequired.d.ts +3 -0
  113. package/dist/cjs/typescript/DeepRequired.js +2 -0
  114. package/dist/cjs/typescript/index.d.ts +1 -0
  115. package/dist/cjs/typescript/index.js +1 -0
  116. package/dist/dates/adapters/dateToHms.d.ts +3 -1
  117. package/dist/dates/adapters/dateToHms.js +47 -2
  118. package/dist/dates/adapters/dateToMdyDate.js +1 -1
  119. package/dist/dates/helpers/adjustTimezone.d.ts +6 -0
  120. package/dist/dates/helpers/adjustTimezone.js +9 -0
  121. package/dist/dates/helpers/getFormattedDateByFormat.js +2 -1
  122. package/dist/dates/helpers/index.d.ts +1 -0
  123. package/dist/dates/helpers/index.js +1 -0
  124. package/dist/dates/interfaces/IDFDateToHmsSettings.d.ts +5 -0
  125. package/dist/{filters/interfaces/builder/IFilterBuilderSettingsScopes.js → dates/interfaces/IDFDateToHmsSettings.js} +0 -0
  126. package/dist/dates/interfaces/index.d.ts +1 -0
  127. package/dist/dates/interfaces/index.js +1 -0
  128. package/dist/dates/relative/constants/RELATIVE_DATE_TIME_UNIT_INFO_LIST.d.ts +5 -0
  129. package/dist/dates/relative/constants/RELATIVE_DATE_TIME_UNIT_INFO_LIST.js +9 -0
  130. package/dist/dates/relative/constants/RELATIVE_DATE_UNIT_INFO_LIST.d.ts +5 -0
  131. package/dist/dates/relative/constants/{RELATIVE_UNIT_INFO_LIST.js → RELATIVE_DATE_UNIT_INFO_LIST.js} +2 -2
  132. package/dist/dates/relative/constants/RELATIVE_UNIT_INFO.js +25 -0
  133. package/dist/dates/relative/constants/index.d.ts +2 -1
  134. package/dist/dates/relative/constants/index.js +2 -1
  135. package/dist/dates/relative/interfaces/IRelativeUnit.d.ts +2 -1
  136. package/dist/filters/constants/index.d.ts +1 -0
  137. package/dist/filters/constants/index.js +1 -0
  138. package/dist/filters/constants/settings/FILTER_SETTINGS_DEFAULT.d.ts +3 -0
  139. package/dist/filters/constants/settings/FILTER_SETTINGS_DEFAULT.js +236 -0
  140. package/dist/filters/constants/settings/index.d.ts +1 -0
  141. package/dist/filters/constants/settings/index.js +1 -0
  142. package/dist/filters/helpers/backend/getLogicByDatasets.js +2 -1
  143. package/dist/filters/helpers/index.d.ts +1 -0
  144. package/dist/filters/helpers/index.js +1 -0
  145. package/dist/filters/helpers/settings/areMultipleScopesByProperties.d.ts +9 -0
  146. package/dist/filters/helpers/settings/areMultipleScopesByProperties.js +20 -0
  147. package/dist/filters/helpers/settings/areMultipleScopesByProperty.d.ts +8 -0
  148. package/dist/filters/helpers/settings/areMultipleScopesByProperty.js +16 -0
  149. package/dist/filters/helpers/settings/getFilterSettings.d.ts +13 -0
  150. package/dist/filters/helpers/settings/getFilterSettings.js +327 -0
  151. package/dist/filters/helpers/settings/getScopeColorSetting.d.ts +9 -0
  152. package/dist/filters/helpers/settings/getScopeColorSetting.js +15 -0
  153. package/dist/filters/helpers/settings/getScopeSettings.d.ts +10 -0
  154. package/dist/filters/helpers/settings/getScopeSettings.js +13 -0
  155. package/dist/filters/helpers/settings/getScopesSettings.d.ts +8 -0
  156. package/dist/filters/helpers/settings/getScopesSettings.js +11 -0
  157. package/dist/filters/helpers/settings/getScopesToDisplay.d.ts +8 -0
  158. package/dist/filters/helpers/settings/getScopesToDisplay.js +12 -0
  159. package/dist/filters/helpers/settings/index.d.ts +9 -0
  160. package/dist/filters/helpers/settings/index.js +9 -0
  161. package/dist/filters/helpers/settings/isLeastSingleScopeByProperties.d.ts +9 -0
  162. package/dist/filters/helpers/settings/isLeastSingleScopeByProperties.js +20 -0
  163. package/dist/filters/helpers/settings/isLeastSingleScopeByProperty.d.ts +8 -0
  164. package/dist/filters/helpers/settings/isLeastSingleScopeByProperty.js +16 -0
  165. package/dist/filters/interfaces/builder/IFilterBuilderConfig.d.ts +2 -0
  166. package/dist/filters/interfaces/builder/IFilterBuilderSettings.d.ts +0 -3
  167. package/dist/filters/interfaces/builder/index.d.ts +0 -1
  168. package/dist/filters/interfaces/builder/index.js +0 -1
  169. package/dist/filters/interfaces/common/IFSDataStore.d.ts +3 -5
  170. package/dist/filters/interfaces/index.d.ts +1 -0
  171. package/dist/filters/interfaces/index.js +1 -0
  172. package/dist/filters/interfaces/panel/IFilterPanelConfig.d.ts +4 -0
  173. package/dist/filters/interfaces/panel/index.d.ts +0 -20
  174. package/dist/filters/interfaces/panel/index.js +0 -20
  175. package/dist/filters/interfaces/settings/IFSettings.d.ts +19 -0
  176. package/dist/filters/interfaces/{panel/IFPSettings.js → settings/IFSettings.js} +0 -0
  177. package/dist/filters/interfaces/settings/IFSettingsChartBuilder.d.ts +5 -0
  178. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanel.js → settings/IFSettingsChartBuilder.js} +0 -0
  179. package/dist/filters/interfaces/settings/IFSettingsFilterBuilder.d.ts +7 -0
  180. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanelBody.js → settings/IFSettingsFilterBuilder.js} +0 -0
  181. package/dist/filters/interfaces/settings/IFSettingsFilterDisplayer.d.ts +8 -0
  182. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanelBodyDataset.js → settings/IFSettingsFilterDisplayer.js} +0 -0
  183. package/dist/filters/interfaces/settings/IFSettingsFilterPanel.d.ts +18 -0
  184. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanelBodyDatasetHeader.js → settings/IFSettingsFilterPanel.js} +0 -0
  185. package/dist/filters/interfaces/settings/IFSettingsFilterPanelBody.d.ts +13 -0
  186. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanelBodyFilter.js → settings/IFSettingsFilterPanelBody.js} +0 -0
  187. package/dist/filters/interfaces/settings/IFSettingsFilterPanelBodyDataset.d.ts +9 -0
  188. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanelBodyFilterMenu.js → settings/IFSettingsFilterPanelBodyDataset.js} +0 -0
  189. package/dist/filters/interfaces/settings/IFSettingsFilterPanelBodyFilter.d.ts +11 -0
  190. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanelBodyOperator.js → settings/IFSettingsFilterPanelBodyFilter.js} +0 -0
  191. package/dist/{cjs/filters/interfaces/panel/IFPSettingsFilterPanelBodyFilterMenu.d.ts → filters/interfaces/settings/IFSettingsFilterPanelBodyFilterMenu.d.ts} +5 -2
  192. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanelBodyScope.js → settings/IFSettingsFilterPanelBodyFilterMenu.js} +0 -0
  193. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanelBodyOperator.d.ts → settings/IFSettingsFilterPanelBodyOperator.d.ts} +1 -1
  194. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanelBodyScopeBody.js → settings/IFSettingsFilterPanelBodyOperator.js} +0 -0
  195. package/dist/filters/interfaces/settings/IFSettingsFilterPanelBodyScope.d.ts +8 -0
  196. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanelBodyScopeHeader.js → settings/IFSettingsFilterPanelBodyScope.js} +0 -0
  197. package/dist/filters/interfaces/settings/IFSettingsFilterPanelHeader.d.ts +13 -0
  198. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanelBodyScopeScope.js → settings/IFSettingsFilterPanelHeader.js} +0 -0
  199. package/dist/{cjs/filters/interfaces/panel/IFPSettingsFilterPanelHeaderMenu.d.ts → filters/interfaces/settings/IFSettingsFilterPanelHeaderMenu.d.ts} +4 -2
  200. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanelBodyScopeScopeBody.js → settings/IFSettingsFilterPanelHeaderMenu.js} +0 -0
  201. package/dist/filters/interfaces/settings/IFSettingsFilterPanelSettings.d.ts +16 -0
  202. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanelBodyScopeScopeHeader.js → settings/IFSettingsFilterPanelSettings.js} +0 -0
  203. package/dist/filters/interfaces/settings/IFSettingsPanel.d.ts +11 -0
  204. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanelHeader.js → settings/IFSettingsPanel.js} +0 -0
  205. package/dist/filters/interfaces/{panel/IFPSettingsPanelView.d.ts → settings/IFSettingsPanelView.d.ts} +0 -0
  206. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanelHeaderMenu.js → settings/IFSettingsPanelView.js} +0 -0
  207. package/dist/filters/interfaces/settings/IFSettingsScope.d.ts +20 -0
  208. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanelSettings.js → settings/IFSettingsScope.js} +0 -0
  209. package/dist/filters/interfaces/settings/IFSettingsScopeHeader.d.ts +9 -0
  210. package/dist/filters/interfaces/{panel/IFPSettingsFilterPanelSettingsScope.js → settings/IFSettingsScopeHeader.js} +0 -0
  211. package/dist/filters/interfaces/settings/IFSettingsScopeInteraction.d.ts +13 -0
  212. package/dist/filters/interfaces/{panel/IFPSettingsGeneral.js → settings/IFSettingsScopeInteraction.js} +0 -0
  213. package/dist/filters/interfaces/settings/IFSettingsScopes.d.ts +8 -0
  214. package/dist/filters/interfaces/{panel/IFPSettingsPanelView.js → settings/IFSettingsScopes.js} +0 -0
  215. package/dist/filters/interfaces/settings/index.d.ts +19 -0
  216. package/dist/filters/interfaces/settings/index.js +19 -0
  217. package/dist/filters/interfaces/ui/IFUDataStore.d.ts +2 -2
  218. package/dist/globalization/interfaces/common/II18nCommon.d.ts +2 -0
  219. package/dist/globalization/interfaces/common/II18nTokenMode.d.ts +4 -0
  220. package/dist/globalization/interfaces/common/II18nTokenMode.js +1 -0
  221. package/dist/globalization/interfaces/common/II18nTooltipForTokenMode.d.ts +4 -0
  222. package/dist/globalization/interfaces/common/II18nTooltipForTokenMode.js +1 -0
  223. package/dist/globalization/interfaces/common/II18nUnits.d.ts +3 -0
  224. package/dist/globalization/interfaces/filters/II18nRelativeContainer.d.ts +1 -0
  225. package/dist/globalization/labels/common/I18N_COMMON.js +9 -0
  226. package/dist/globalization/labels/filters/I18N_RELATIVE_CONTAINER.js +1 -0
  227. package/dist/typescript/DeepRequired.d.ts +3 -0
  228. package/dist/typescript/DeepRequired.js +1 -0
  229. package/dist/typescript/index.d.ts +1 -0
  230. package/dist/typescript/index.js +1 -0
  231. package/package.json +15 -14
  232. package/dist/cjs/dates/relative/constants/RELATIVE_UNIT_INFO_LIST.d.ts +0 -5
  233. package/dist/cjs/filters/interfaces/builder/IFilterBuilderSettingsScopes.d.ts +0 -8
  234. package/dist/cjs/filters/interfaces/panel/IFPSettings.d.ts +0 -11
  235. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanel.d.ts +0 -9
  236. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelBody.d.ts +0 -13
  237. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelBodyDataset.d.ts +0 -9
  238. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelBodyDatasetHeader.d.ts +0 -8
  239. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelBodyFilter.d.ts +0 -11
  240. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelBodyScope.d.ts +0 -11
  241. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeBody.d.ts +0 -7
  242. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeHeader.d.ts +0 -8
  243. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeScope.d.ts +0 -17
  244. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeScopeBody.d.ts +0 -7
  245. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeScopeHeader.d.ts +0 -9
  246. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelHeader.d.ts +0 -12
  247. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelSettings.d.ts +0 -12
  248. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelSettingsScope.d.ts +0 -7
  249. package/dist/cjs/filters/interfaces/panel/IFPSettingsGeneral.d.ts +0 -13
  250. package/dist/dates/relative/constants/RELATIVE_UNIT_INFO_LIST.d.ts +0 -5
  251. package/dist/filters/interfaces/builder/IFilterBuilderSettingsScopes.d.ts +0 -8
  252. package/dist/filters/interfaces/panel/IFPSettings.d.ts +0 -11
  253. package/dist/filters/interfaces/panel/IFPSettingsFilterPanel.d.ts +0 -9
  254. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelBody.d.ts +0 -13
  255. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelBodyDataset.d.ts +0 -9
  256. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelBodyDatasetHeader.d.ts +0 -8
  257. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelBodyFilter.d.ts +0 -11
  258. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelBodyScope.d.ts +0 -11
  259. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeBody.d.ts +0 -7
  260. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeHeader.d.ts +0 -8
  261. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeScope.d.ts +0 -17
  262. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeScopeBody.d.ts +0 -7
  263. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeScopeHeader.d.ts +0 -9
  264. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelHeader.d.ts +0 -12
  265. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelSettings.d.ts +0 -12
  266. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelSettingsScope.d.ts +0 -7
  267. package/dist/filters/interfaces/panel/IFPSettingsGeneral.d.ts +0 -13
@@ -0,0 +1,327 @@
1
+ import { isEmpty } from "../../../general/mix/isEmpty";
2
+ import { cloneDeep } from "../../../general/object/cloneDeep";
3
+ import { mergeDeep } from "../../../general/object/mergeDeep";
4
+ import { FILTER_SCOPE } from "../../constants/common/FILTER_SCOPE";
5
+ import { FILTER_SETTINGS_DEFAULT } from "../../constants/settings/FILTER_SETTINGS_DEFAULT";
6
+ import { getScopesToDisplay } from "./getScopesToDisplay";
7
+ /**
8
+ * Gets a new filter settings object according to various conditions
9
+ * - By allowed scopes. Different implementation could accept some scopes, so the forbidden scopes into the filter settings will be skipped
10
+ * - If there is not filter settings provived, a default one is returned
11
+ * - The returned filter settings depend on the coexisting scopes
12
+ * @param {IFSettings} filterSettings the given filter settings
13
+ * @param {IFScope[]} allowedScopes a collection of scope types that are permitted
14
+ * @param {IFSettings} otherSettings another filter settings object to be merged with the filterSettings param
15
+ * @returns a new filter settings object
16
+ */
17
+ export function getFilterSettings(filterSettings, allowedScopes = [], otherSettings) {
18
+ let settings = mergeDeep(FILTER_SETTINGS_DEFAULT, cloneDeep(filterSettings));
19
+ settings = mergeDeep(settings, otherSettings);
20
+ const scopesSettings = getScopesToDisplay(settings).filter((scope) => allowedScopes.includes(scope.id));
21
+ if (scopesSettings.length > 1) {
22
+ settings = getFilterSettingsByMultipleScopes(settings, allowedScopes);
23
+ }
24
+ else if (scopesSettings.length > 0) {
25
+ settings = getFilterSettingsByOnlyScope(settings, allowedScopes);
26
+ }
27
+ else {
28
+ settings = getFilterSettingsByNoScopes(settings);
29
+ }
30
+ return settings;
31
+ }
32
+ /**
33
+ * Gets the filter settings by multiple scopes conditions
34
+ * @param {IFSettings} settings the given filter settings
35
+ * @param {IFScope[]} allowedScopes a collection of scope types that are permitted
36
+ * @returns a new filter settings object
37
+ */
38
+ function getFilterSettingsByMultipleScopes(settings, allowedScopes) {
39
+ const scopesSettings = getScopesToDisplay(settings).filter((scope) => allowedScopes.includes(scope.id));
40
+ let newSettings = settings;
41
+ if (isEmpty(scopesSettings.find((scope) => scope.id === FILTER_SCOPE.DEFAULT))) {
42
+ newSettings = getFilterSettingsByNoDefaultScope(newSettings);
43
+ }
44
+ else if (scopesSettings.length <= 2) {
45
+ newSettings = getFilterSettingsByDefaultWithOneAdditionalScope(newSettings);
46
+ }
47
+ if (isEmpty(scopesSettings.find((scope) => scope.id === FILTER_SCOPE.CHART))) {
48
+ newSettings = getFilterSettingsByMultipleNoPanelScopes(newSettings);
49
+ }
50
+ if (isEmpty(scopesSettings.find((scope) => scope.id === FILTER_SCOPE.CHART)) &&
51
+ isEmpty(scopesSettings.find((scope) => scope.id === FILTER_SCOPE.GLOBAL)) &&
52
+ isEmpty(scopesSettings.find((scope) => scope.id === FILTER_SCOPE.PAGE)) &&
53
+ isEmpty(scopesSettings.find((scope) => scope.id === FILTER_SCOPE.TAB))) {
54
+ newSettings = getFilterSettingsBySkippingGeneralScopes(newSettings);
55
+ }
56
+ return newSettings;
57
+ }
58
+ /**
59
+ * Gets the filter settings when a single scope is permitted
60
+ * @param {IFSettings} settings the given filter settings
61
+ * @param {IFScope[]} allowedScopes a collection of scope types that are permitted
62
+ * @returns a new filter settings object
63
+ */
64
+ function getFilterSettingsByOnlyScope(settings, allowedScopes) {
65
+ const scopesSettings = getScopesToDisplay(settings).filter((scope) => allowedScopes.includes(scope.id));
66
+ let newSettings = getFilterSettingsByGeneralOnlyScope(settings);
67
+ if (isEmpty(scopesSettings.find((scope) => scope.id === FILTER_SCOPE.DEFAULT))) {
68
+ newSettings = getFilterSettingsByNoDefaultScope(newSettings);
69
+ }
70
+ else {
71
+ newSettings = getFilterSettingsByOnlyDefaultScope(newSettings);
72
+ }
73
+ if (!isEmpty(scopesSettings.find((scope) => scope.id === FILTER_SCOPE.CHART))) {
74
+ newSettings = getFilterSettingsByOnlyPanelScope(newSettings);
75
+ }
76
+ if (!isEmpty(scopesSettings.find((scope) => scope.id === FILTER_SCOPE.DATA))) {
77
+ newSettings = getFilterSettingsByOnlyDataScope(newSettings);
78
+ }
79
+ return newSettings;
80
+ }
81
+ /**
82
+ * Gets the filter settings when there is not scope to accept
83
+ * @param {IFSettings} settings the given filter settings
84
+ * @returns a new filter settings object
85
+ */
86
+ function getFilterSettingsByNoScopes(settings) {
87
+ const newSettings = {
88
+ chartBuilder: {
89
+ addFilterDisplayed: false,
90
+ filterSectionDisplayed: false,
91
+ },
92
+ filterBuilder: {
93
+ scopeSelectorDisplayed: false,
94
+ },
95
+ filterDisplayer: {
96
+ addFilterDisplayed: false,
97
+ displayed: false,
98
+ },
99
+ filterPanel: {
100
+ body: {
101
+ dataset: {
102
+ headerDisplayed: false,
103
+ },
104
+ filter: {
105
+ menu: {
106
+ deleteDisplayed: false,
107
+ displayed: false,
108
+ editDisplayed: false,
109
+ enableDisplayed: false,
110
+ },
111
+ },
112
+ scope: {
113
+ headerDisplayed: false,
114
+ },
115
+ },
116
+ colorized: false,
117
+ displayed: false,
118
+ header: {
119
+ filterButtonDisplayed: false,
120
+ menu: {
121
+ deleteDisplayed: false,
122
+ displayed: false,
123
+ enableDisplayed: false,
124
+ },
125
+ },
126
+ },
127
+ filterPanelSettings: {
128
+ displayColorModeDisplayed: false,
129
+ displayIconsDisplayed: false,
130
+ panelDefaultViewDisplayed: false,
131
+ showPanelInPageViewDisplayed: false,
132
+ },
133
+ panel: {
134
+ filterAccessDisplayed: false,
135
+ filterByDisplayed: false,
136
+ seeDataDisplayed: false,
137
+ },
138
+ };
139
+ return mergeDeep(settings, newSettings);
140
+ }
141
+ /**
142
+ * Gets the filter settings when a general scope are only permitted
143
+ * The general scopes could be the GLOBAL, PAGE, TAB and PANEL types.
144
+ * @param {IFSettings} settings the given filter settings
145
+ * @returns a new filter settings object
146
+ */
147
+ function getFilterSettingsByGeneralOnlyScope(settings) {
148
+ const newSettings = {
149
+ filterBuilder: {
150
+ scopeSelectorDisplayed: false,
151
+ },
152
+ filterPanel: {
153
+ body: {
154
+ dataset: {
155
+ headerDisplayed: false,
156
+ },
157
+ scope: {
158
+ headerDisplayed: false,
159
+ },
160
+ },
161
+ colorized: false,
162
+ },
163
+ filterPanelSettings: {
164
+ displayColorModeDisplayed: false,
165
+ },
166
+ };
167
+ return mergeDeep(settings, newSettings);
168
+ }
169
+ /**
170
+ * Gets the filter settings when there is not a default scope type
171
+ * @param {IFSettings} settings the given filter settings
172
+ * @returns a new filter settings object
173
+ */
174
+ function getFilterSettingsByNoDefaultScope(settings) {
175
+ const newSettings = {
176
+ chartBuilder: {
177
+ addFilterDisplayed: false,
178
+ filterSectionDisplayed: false,
179
+ },
180
+ };
181
+ return mergeDeep(settings, newSettings);
182
+ }
183
+ /**
184
+ * Gets the filter settings when there is only a default scope type
185
+ * @param {IFSettings} settings the given filter settings
186
+ * @returns a new filter settings object
187
+ */
188
+ function getFilterSettingsByOnlyDefaultScope(settings) {
189
+ const newSettings = {
190
+ filterDisplayer: {
191
+ addFilterDisplayed: false,
192
+ addFilterEnabled: false,
193
+ displayed: false,
194
+ },
195
+ filterPanel: {
196
+ body: {
197
+ filter: {
198
+ menu: {
199
+ deleteDisplayed: false,
200
+ displayed: false,
201
+ editDisplayed: false,
202
+ enableDisplayed: false,
203
+ },
204
+ readonly: true,
205
+ },
206
+ operator: {
207
+ displayed: false,
208
+ readonly: true,
209
+ },
210
+ },
211
+ displayed: false,
212
+ header: {
213
+ displayed: false,
214
+ filterButtonDisplayed: false,
215
+ menu: {
216
+ deleteDisplayed: false,
217
+ displayed: false,
218
+ enableDisplayed: false,
219
+ },
220
+ readonly: true,
221
+ settingsButtonDisplayed: false,
222
+ },
223
+ readonly: true,
224
+ },
225
+ panel: {
226
+ filterAccessDisplayed: false,
227
+ filterByDisplayed: false,
228
+ seeDataDisplayed: false,
229
+ },
230
+ };
231
+ return mergeDeep(settings, newSettings);
232
+ }
233
+ /**
234
+ * Gets the filter settings when there are a default scope and other single scope
235
+ * @param {IFSettings} settings the given filter settings
236
+ * @returns a new filter settings object
237
+ */
238
+ function getFilterSettingsByDefaultWithOneAdditionalScope(settings) {
239
+ const newSettings = {
240
+ filterPanel: {
241
+ body: {
242
+ dataset: {
243
+ headerDisplayed: false,
244
+ },
245
+ scope: {
246
+ headerDisplayed: false,
247
+ },
248
+ },
249
+ colorized: false,
250
+ },
251
+ };
252
+ return mergeDeep(settings, newSettings);
253
+ }
254
+ /**
255
+ * Gets the filter settings when there is only the panel scope
256
+ * @param {IFSettings} settings the given filter settings
257
+ * @returns a new filter settings object
258
+ */
259
+ function getFilterSettingsByOnlyPanelScope(settings) {
260
+ const newSettings = {
261
+ chartBuilder: {
262
+ addFilterDisplayed: false,
263
+ filterSectionDisplayed: false,
264
+ },
265
+ };
266
+ return mergeDeep(settings, newSettings);
267
+ }
268
+ /**
269
+ * Gets the filter settings when there is only the data scope
270
+ * @param {IFSettings} settings the given filter settings
271
+ * @returns a new filter settings object
272
+ */
273
+ function getFilterSettingsByOnlyDataScope(settings) {
274
+ const newSettings = {
275
+ filterDisplayer: {
276
+ addFilterDisplayed: false,
277
+ displayed: false,
278
+ },
279
+ panel: {
280
+ filterAccessDisplayed: false,
281
+ filterByDisplayed: false,
282
+ seeDataDisplayed: false,
283
+ },
284
+ };
285
+ return mergeDeep(settings, newSettings);
286
+ }
287
+ /**
288
+ * Gets the filter settings when there are not general scopes allowed
289
+ * The general scopes could be the GLOBAL, PAGE, TAB and PANEL types.
290
+ * @param {IFSettings} settings the given filter settings
291
+ * @returns a new filter settings object
292
+ */
293
+ function getFilterSettingsBySkippingGeneralScopes(settings) {
294
+ const newSettings = {
295
+ panel: {
296
+ filterAccessDisplayed: false,
297
+ filterByDisplayed: false,
298
+ seeDataDisplayed: false,
299
+ },
300
+ filterPanel: {
301
+ header: {
302
+ filterButtonDisplayed: false,
303
+ menu: {
304
+ displayed: false,
305
+ },
306
+ settingsButtonDisplayed: false,
307
+ },
308
+ },
309
+ };
310
+ return mergeDeep(settings, newSettings);
311
+ }
312
+ /**
313
+ * Gets the filter settings when there are no panel scopes and multiple scopes allowed.
314
+ * @param {IFSettings} settings the given filter settings
315
+ * @returns a new filter settings object
316
+ */
317
+ function getFilterSettingsByMultipleNoPanelScopes(settings) {
318
+ const newSettings = {
319
+ filterDisplayer: {
320
+ addFilterDisplayed: false,
321
+ },
322
+ panel: {
323
+ filterAccessEnabled: false,
324
+ },
325
+ };
326
+ return mergeDeep(settings, newSettings);
327
+ }
@@ -0,0 +1,9 @@
1
+ import { IFScope } from "../../interfaces/IFScope";
2
+ import { IFSettings } from "../../interfaces/settings/IFSettings";
3
+ /**
4
+ * Gets the color of the scope in the settings object
5
+ * @param {IFSettings} settings the filter settings
6
+ * @param {IFScope} scope the scope type
7
+ * @returns an string with the color.
8
+ */
9
+ export declare function getScopeColorSetting(settings: IFSettings, scope: IFScope): string;
@@ -0,0 +1,15 @@
1
+ import { isEmpty } from "../../../general/mix/isEmpty";
2
+ import { getScopeSettings } from "./getScopeSettings";
3
+ /**
4
+ * Gets the color of the scope in the settings object
5
+ * @param {IFSettings} settings the filter settings
6
+ * @param {IFScope} scope the scope type
7
+ * @returns an string with the color.
8
+ */
9
+ export function getScopeColorSetting(settings, scope) {
10
+ const defaultColor = "#C0C0C0";
11
+ const scopeSetting = getScopeSettings(settings, scope);
12
+ return !isEmpty(scopeSetting) && scopeSetting.colorized
13
+ ? scopeSetting.color
14
+ : defaultColor;
15
+ }
@@ -0,0 +1,10 @@
1
+ import { IFScope } from "../../interfaces/IFScope";
2
+ import { IFSettings } from "../../interfaces/settings/IFSettings";
3
+ import { IFSettingsScope } from "../../interfaces/settings/IFSettingsScope";
4
+ /**
5
+ * Gets the scope settings by the scope type
6
+ * @param {IFSettings} settings the filter settings
7
+ * @param {IFScope} scope the scope type
8
+ * @returns the scope settings
9
+ */
10
+ export declare function getScopeSettings(settings: IFSettings, scope: IFScope): IFSettingsScope;
@@ -0,0 +1,13 @@
1
+ import { isEmpty } from "../../../general/mix/isEmpty";
2
+ import { getScopesSettings } from "./getScopesSettings";
3
+ /**
4
+ * Gets the scope settings by the scope type
5
+ * @param {IFSettings} settings the filter settings
6
+ * @param {IFScope} scope the scope type
7
+ * @returns the scope settings
8
+ */
9
+ export function getScopeSettings(settings, scope) {
10
+ if (isEmpty(settings) || isEmpty(settings.scopes))
11
+ return;
12
+ return getScopesSettings(settings.scopes).find((_scope) => _scope.id === scope);
13
+ }
@@ -0,0 +1,8 @@
1
+ import { IFSettingsScope } from "../../interfaces/settings/IFSettingsScope";
2
+ import { IFSettingsScopes } from "../../interfaces/settings/IFSettingsScopes";
3
+ /**
4
+ * Gets the scopes settings as array
5
+ * @param {IFSettingsScopes} scopes the scopes settings
6
+ * @returns an array of the scopes settings
7
+ */
8
+ export declare function getScopesSettings(scopes: IFSettingsScopes): IFSettingsScope[];
@@ -0,0 +1,11 @@
1
+ import { isEmpty } from "../../../general/mix/isEmpty";
2
+ /**
3
+ * Gets the scopes settings as array
4
+ * @param {IFSettingsScopes} scopes the scopes settings
5
+ * @returns an array of the scopes settings
6
+ */
7
+ export function getScopesSettings(scopes) {
8
+ if (isEmpty(scopes))
9
+ return [];
10
+ return Object.keys(scopes).map((scope) => (Object.assign(Object.assign({}, scopes[scope.toUpperCase()]), { id: scope.toUpperCase() })));
11
+ }
@@ -0,0 +1,8 @@
1
+ import { IFSettings } from "../../interfaces/settings/IFSettings";
2
+ import { IFSettingsScope } from "../../interfaces/settings/IFSettingsScope";
3
+ /**
4
+ * Gets the scope allowed to display
5
+ * @param {IFSettings} settings the filter settings
6
+ * @returns an array of the scopes settings
7
+ */
8
+ export declare function getScopesToDisplay(settings: IFSettings): IFSettingsScope[];
@@ -0,0 +1,12 @@
1
+ import { isEmpty } from "../../../general/mix/isEmpty";
2
+ import { getScopesSettings } from "./getScopesSettings";
3
+ /**
4
+ * Gets the scope allowed to display
5
+ * @param {IFSettings} settings the filter settings
6
+ * @returns an array of the scopes settings
7
+ */
8
+ export function getScopesToDisplay(settings) {
9
+ if (isEmpty(settings) || isEmpty(settings.scopes))
10
+ return [];
11
+ return getScopesSettings(settings.scopes).filter((scope) => scope.displayed);
12
+ }
@@ -0,0 +1,9 @@
1
+ export * from "./areMultipleScopesByProperties";
2
+ export * from "./areMultipleScopesByProperty";
3
+ export * from "./getFilterSettings";
4
+ export * from "./getScopeColorSetting";
5
+ export * from "./getScopeSettings";
6
+ export * from "./getScopesSettings";
7
+ export * from "./getScopesToDisplay";
8
+ export * from "./isLeastSingleScopeByProperties";
9
+ export * from "./isLeastSingleScopeByProperty";
@@ -0,0 +1,9 @@
1
+ export * from "./areMultipleScopesByProperties";
2
+ export * from "./areMultipleScopesByProperty";
3
+ export * from "./getFilterSettings";
4
+ export * from "./getScopeColorSetting";
5
+ export * from "./getScopeSettings";
6
+ export * from "./getScopesSettings";
7
+ export * from "./getScopesToDisplay";
8
+ export * from "./isLeastSingleScopeByProperties";
9
+ export * from "./isLeastSingleScopeByProperty";
@@ -0,0 +1,9 @@
1
+ import { IFSettings } from "../../interfaces/settings/IFSettings";
2
+ /**
3
+ * Validates if the scope settings is satisfied by properties at least in one scope
4
+ * @param {IFSettings} settings the filter setting
5
+ * @param {string} scopeProperties the property or the string path of the scope settings
6
+ * @param {string} condition validate with AND or OR condition
7
+ * @returns true if there is one scope to be satisfied; false: none scopes to be satisfied
8
+ */
9
+ export declare function isLeastSingleScopeByProperties(settings: IFSettings, scopeProperties: string[], condition?: "AND" | "OR"): boolean;
@@ -0,0 +1,20 @@
1
+ import { isEmpty } from "../../../general/mix/isEmpty";
2
+ import { _get } from "../../../general/object/get";
3
+ import { getScopesSettings } from "./getScopesSettings";
4
+ /**
5
+ * Validates if the scope settings is satisfied by properties at least in one scope
6
+ * @param {IFSettings} settings the filter setting
7
+ * @param {string} scopeProperties the property or the string path of the scope settings
8
+ * @param {string} condition validate with AND or OR condition
9
+ * @returns true if there is one scope to be satisfied; false: none scopes to be satisfied
10
+ */
11
+ export function isLeastSingleScopeByProperties(settings, scopeProperties, condition = "AND") {
12
+ if (isEmpty(settings) || isEmpty(settings.scopes))
13
+ return false;
14
+ const scopes = Object.keys(settings.scopes);
15
+ const conditionFunction = (scope) => (property) => _get(scope, property, false);
16
+ return (scopes.length > 0 &&
17
+ getScopesSettings(settings.scopes).filter((scope) => condition === "AND"
18
+ ? scopeProperties.every(conditionFunction(scope))
19
+ : scopeProperties.some(conditionFunction(scope))).length > 0);
20
+ }
@@ -0,0 +1,8 @@
1
+ import { IFSettings } from "../../interfaces/settings/IFSettings";
2
+ /**
3
+ * Validates if the scope settings is satisfied by a property at least in one scope
4
+ * @param {IFSettings} settings the filter setting
5
+ * @param {string} property the property or the string path of the scope settings
6
+ * @returns true if there is one scope to be satisfied; false: none scopes to be satisfied
7
+ */
8
+ export declare function isLeastSingleScopeByProperty(settings: IFSettings, property: string): boolean;
@@ -0,0 +1,16 @@
1
+ import { isEmpty } from "../../../general/mix/isEmpty";
2
+ import { _get } from "../../../general/object/get";
3
+ import { getScopesSettings } from "./getScopesSettings";
4
+ /**
5
+ * Validates if the scope settings is satisfied by a property at least in one scope
6
+ * @param {IFSettings} settings the filter setting
7
+ * @param {string} property the property or the string path of the scope settings
8
+ * @returns true if there is one scope to be satisfied; false: none scopes to be satisfied
9
+ */
10
+ export function isLeastSingleScopeByProperty(settings, property) {
11
+ if (isEmpty(settings) || isEmpty(settings.scopes))
12
+ return false;
13
+ const scopes = Object.keys(settings.scopes);
14
+ return (scopes.length > 0 &&
15
+ getScopesSettings(settings.scopes).filter((scope) => _get(scope, property, false)).length > 0);
16
+ }
@@ -8,6 +8,7 @@ import { IFScope } from "../IFScope";
8
8
  import { IFSection } from "../IFSection";
9
9
  import { IFValidator } from "../IFValidator";
10
10
  import { OLD_IFilterData } from "../OLD_IFilterData";
11
+ import { IFSettings } from "../settings/IFSettings";
11
12
  import { IFUData } from "../ui/IFUData";
12
13
  import { IFilterBuilderSettings } from "./IFilterBuilderSettings";
13
14
  /**
@@ -17,6 +18,7 @@ export interface IFilterBuilderConfig {
17
18
  datasets?: string[];
18
19
  filterData?: IFSData;
19
20
  filterLabel?: string;
21
+ filterSettings?: IFSettings;
20
22
  onApplied?: (filter: IFSData | IFUData | OLD_IFilterData | IFBLogic[]) => void;
21
23
  pageid?: string;
22
24
  panelid?: string;
@@ -1,14 +1,11 @@
1
1
  import { FILTER_FLOW } from "../../constants/builder/FILTER_FLOW";
2
2
  import { IFStructureType } from "../IFStructureType";
3
3
  import { IFUChartSettings } from "../ui/IFUChartSettings";
4
- import { IFilterBuilderSettingsScopes } from "./IFilterBuilderSettingsScopes";
5
4
  /**
6
5
  * Structure for the Filter Builder settings configuration
7
6
  */
8
7
  export interface IFilterBuilderSettings {
9
8
  chart?: IFUChartSettings;
10
9
  mode?: FILTER_FLOW;
11
- scopes?: IFilterBuilderSettingsScopes[];
12
- scopeMenuDisplayed?: boolean;
13
10
  returningFilterStructureType?: IFStructureType;
14
11
  }
@@ -14,4 +14,3 @@
14
14
  */
15
15
  export * from "./IFilterBuilderConfig";
16
16
  export * from "./IFilterBuilderSettings";
17
- export * from "./IFilterBuilderSettingsScopes";
@@ -14,4 +14,3 @@
14
14
  */
15
15
  export * from "./IFilterBuilderConfig";
16
16
  export * from "./IFilterBuilderSettings";
17
- export * from "./IFilterBuilderSettingsScopes";
@@ -1,11 +1,9 @@
1
- import { IFPSettings } from "../panel/IFPSettings";
1
+ import { IFSettings } from "../settings/IFSettings";
2
2
  import { IFSData } from "./IFSData";
3
- import { IFSParamsToGetFilter } from "./IFSParamsToGetFilter";
4
3
  /**
5
4
  * Structure for the Data Store
6
5
  */
7
6
  export interface IFSDataStore {
8
- settings?: IFPSettings;
9
- data: IFSData;
10
- paramsToFilterData?: IFSParamsToGetFilter;
7
+ data?: IFSData;
8
+ settings?: IFSettings;
11
9
  }
@@ -17,6 +17,7 @@ export * from "./builder/index";
17
17
  export * from "./common/index";
18
18
  export * from "./functions/index";
19
19
  export * from "./panel/index";
20
+ export * from "./settings/index";
20
21
  export * from "./ui/index";
21
22
  export * from "./IFDateProperty";
22
23
  export * from "./IFDateSection";
@@ -17,6 +17,7 @@ export * from "./builder/index";
17
17
  export * from "./common/index";
18
18
  export * from "./functions/index";
19
19
  export * from "./panel/index";
20
+ export * from "./settings/index";
20
21
  export * from "./ui/index";
21
22
  export * from "./IFDateProperty";
22
23
  export * from "./IFDateSection";
@@ -1,10 +1,14 @@
1
1
  import { II18nConfig } from "../../../globalization/interfaces/II18nConfig";
2
2
  import { IFilterBuilderConfig } from "../builder/IFilterBuilderConfig";
3
+ import { IFSParamsToGetFilter } from "../common/IFSParamsToGetFilter";
4
+ import { IFScope } from "../IFScope";
3
5
  import { IFUDataStore } from "../ui/IFUDataStore";
4
6
  /**
5
7
  * Structure for the Filter Panel Config
6
8
  */
7
9
  export interface IFilterPanelConfig extends IFUDataStore {
10
+ allowedScopes: IFScope[];
8
11
  filterBuilderConfig?: IFilterBuilderConfig;
9
12
  i18n?: II18nConfig;
13
+ paramsToFilterData?: IFSParamsToGetFilter;
10
14
  }
@@ -14,23 +14,3 @@
14
14
  */
15
15
  export * from "./IFilterPanelConfig";
16
16
  export * from "./IFPAction";
17
- export * from "./IFPSettings";
18
- export * from "./IFPSettingsFilterPanel";
19
- export * from "./IFPSettingsFilterPanelSettings";
20
- export * from "./IFPSettingsGeneral";
21
- export * from "./IFPSettingsFilterPanelHeader";
22
- export * from "./IFPSettingsFilterPanelHeaderMenu";
23
- export * from "./IFPSettingsFilterPanelBody";
24
- export * from "./IFPSettingsFilterPanelBodyScope";
25
- export * from "./IFPSettingsFilterPanelBodyScopeHeader";
26
- export * from "./IFPSettingsFilterPanelBodyScopeBody";
27
- export * from "./IFPSettingsFilterPanelBodyScopeScope";
28
- export * from "./IFPSettingsFilterPanelBodyScopeScopeHeader";
29
- export * from "./IFPSettingsFilterPanelBodyScopeScopeBody";
30
- export * from "./IFPSettingsFilterPanelBodyDataset";
31
- export * from "./IFPSettingsFilterPanelBodyDatasetHeader";
32
- export * from "./IFPSettingsFilterPanelBodyFilter";
33
- export * from "./IFPSettingsFilterPanelBodyFilterMenu";
34
- export * from "./IFPSettingsFilterPanelBodyOperator";
35
- export * from "./IFPSettingsFilterPanelSettingsScope";
36
- export * from "./IFPSettingsPanelView";
@@ -14,23 +14,3 @@
14
14
  */
15
15
  export * from "./IFilterPanelConfig";
16
16
  export * from "./IFPAction";
17
- export * from "./IFPSettings";
18
- export * from "./IFPSettingsFilterPanel";
19
- export * from "./IFPSettingsFilterPanelSettings";
20
- export * from "./IFPSettingsGeneral";
21
- export * from "./IFPSettingsFilterPanelHeader";
22
- export * from "./IFPSettingsFilterPanelHeaderMenu";
23
- export * from "./IFPSettingsFilterPanelBody";
24
- export * from "./IFPSettingsFilterPanelBodyScope";
25
- export * from "./IFPSettingsFilterPanelBodyScopeHeader";
26
- export * from "./IFPSettingsFilterPanelBodyScopeBody";
27
- export * from "./IFPSettingsFilterPanelBodyScopeScope";
28
- export * from "./IFPSettingsFilterPanelBodyScopeScopeHeader";
29
- export * from "./IFPSettingsFilterPanelBodyScopeScopeBody";
30
- export * from "./IFPSettingsFilterPanelBodyDataset";
31
- export * from "./IFPSettingsFilterPanelBodyDatasetHeader";
32
- export * from "./IFPSettingsFilterPanelBodyFilter";
33
- export * from "./IFPSettingsFilterPanelBodyFilterMenu";
34
- export * from "./IFPSettingsFilterPanelBodyOperator";
35
- export * from "./IFPSettingsFilterPanelSettingsScope";
36
- export * from "./IFPSettingsPanelView";