@wix/bex-core 2.3.0 → 2.5.0

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 (246) hide show
  1. package/dist/cjs/assets/locale/messages_da.json +2 -2
  2. package/dist/cjs/model/index.js +12 -12
  3. package/dist/cjs/model/index.js.map +1 -1
  4. package/dist/cjs/model/{cairoEnvironment.js → wixPatternsEnvironment.js} +1 -1
  5. package/dist/cjs/model/wixPatternsEnvironment.js.map +1 -0
  6. package/dist/cjs/model/wixPatternsEssentials.js +4 -0
  7. package/dist/cjs/model/wixPatternsEssentials.js.map +1 -0
  8. package/dist/cjs/model/wixPatternsInitialProps.js +2 -0
  9. package/dist/cjs/model/wixPatternsInitialProps.js.map +1 -0
  10. package/dist/cjs/providers/CairoProvider/CairoProvider.js +7 -7
  11. package/dist/cjs/providers/CairoProvider/CairoProvider.js.map +1 -1
  12. package/dist/cjs/providers/CollectionPageContext.js +1 -1
  13. package/dist/cjs/providers/CollectionPageContext.js.map +1 -1
  14. package/dist/cjs/providers/{CairoContainerOverridesContext.js → WixPatternsContainerOverridesContext.js} +1 -1
  15. package/dist/cjs/providers/WixPatternsContainerOverridesContext.js.map +1 -0
  16. package/dist/cjs/providers/{CairoContainerProvider/CairoContainerProvider.js → WixPatternsContainerProvider/WixPatternsContainerProvider.js} +1 -1
  17. package/dist/cjs/providers/WixPatternsContainerProvider/WixPatternsContainerProvider.js.map +1 -0
  18. package/dist/cjs/providers/WixPatternsContainerProvider/index.js +10 -0
  19. package/dist/cjs/providers/WixPatternsContainerProvider/index.js.map +1 -0
  20. package/dist/cjs/providers/{CairoInitialPropsProvider.js → WixPatternsInitialPropsProvider.js} +1 -1
  21. package/dist/cjs/providers/WixPatternsInitialPropsProvider.js.map +1 -0
  22. package/dist/cjs/providers/index.js +12 -12
  23. package/dist/cjs/providers/index.js.map +1 -1
  24. package/dist/cjs/services/{CairoError.js → WixPatternsError.js} +1 -1
  25. package/dist/cjs/services/WixPatternsError.js.map +1 -0
  26. package/dist/cjs/services/WixPatternsErrorCode.js +2 -0
  27. package/dist/cjs/services/WixPatternsErrorCode.js.map +1 -0
  28. package/dist/cjs/services/cairoMonitor.js +2 -2
  29. package/dist/cjs/services/cairoMonitor.js.map +1 -1
  30. package/dist/cjs/services/dataExtensionService.js.map +1 -1
  31. package/dist/cjs/services/index.js +8 -8
  32. package/dist/cjs/services/index.js.map +1 -1
  33. package/dist/cjs/state/BeforeUnloadCompatState.js.map +1 -1
  34. package/dist/cjs/state/CustomFieldsViewWidgetState.js.map +1 -1
  35. package/dist/cjs/state/DataExtensionState.js +32 -8
  36. package/dist/cjs/state/DataExtensionState.js.map +1 -1
  37. package/dist/cjs/state/SelectState.js +2 -2
  38. package/dist/cjs/state/SelectState.js.map +1 -1
  39. package/dist/cjs/state/{SelectionStatusCairoPreset.js → SelectionStatusWixPatternsPreset.js} +1 -1
  40. package/dist/cjs/state/SelectionStatusWixPatternsPreset.js.map +1 -0
  41. package/dist/cjs/state/TagsState/TagsAssignmentState.js +325 -0
  42. package/dist/cjs/state/TagsState/TagsAssignmentState.js.map +1 -0
  43. package/dist/cjs/state/TagsState/TagsBIReporter.js +156 -0
  44. package/dist/cjs/state/TagsState/TagsBIReporter.js.map +1 -0
  45. package/dist/cjs/state/TagsState/TagsFormState.js +228 -0
  46. package/dist/cjs/state/TagsState/TagsFormState.js.map +1 -0
  47. package/dist/cjs/state/TagsState/TagsManagementState.js +312 -0
  48. package/dist/cjs/state/TagsState/TagsManagementState.js.map +1 -0
  49. package/dist/cjs/state/TagsState/TagsSearchState.js +48 -0
  50. package/dist/cjs/state/TagsState/TagsSearchState.js.map +1 -0
  51. package/dist/cjs/state/TagsState/TagsWidgetState.js +98 -0
  52. package/dist/cjs/state/TagsState/TagsWidgetState.js.map +1 -0
  53. package/dist/cjs/state/TagsState/index.js +46 -0
  54. package/dist/cjs/state/TagsState/index.js.map +1 -0
  55. package/dist/cjs/state/TagsState/tagsTypes.js +2 -0
  56. package/dist/cjs/state/TagsState/tagsTypes.js.map +1 -0
  57. package/dist/cjs/state/{CairoContainer.js → WixPatternsContainer.js} +1 -1
  58. package/dist/cjs/state/WixPatternsContainer.js.map +1 -0
  59. package/dist/cjs/state/{buildCairoContainer.js → buildWixPatternsContainer.js} +3 -3
  60. package/dist/cjs/state/buildWixPatternsContainer.js.map +1 -0
  61. package/dist/cjs/state/index.js +19 -12
  62. package/dist/cjs/state/index.js.map +1 -1
  63. package/dist/cjs/testkit/ProductsCollectionState.driver.js +2 -2
  64. package/dist/cjs/testkit/ProductsCollectionState.driver.js.map +1 -1
  65. package/dist/cjs/testkit/{CairoContainer.driver.js → WixPatternsContainer.driver.js} +1 -1
  66. package/dist/cjs/testkit/WixPatternsContainer.driver.js.map +1 -0
  67. package/dist/cjs/testkit/internal.js +4 -4
  68. package/dist/cjs/testkit/internal.js.map +1 -1
  69. package/dist/esm/assets/locale/messages_da.json +2 -2
  70. package/dist/esm/model/index.js +3 -3
  71. package/dist/esm/model/index.js.map +1 -1
  72. package/dist/esm/model/{cairoEnvironment.js → wixPatternsEnvironment.js} +1 -1
  73. package/dist/esm/model/wixPatternsEnvironment.js.map +1 -0
  74. package/dist/esm/model/wixPatternsEssentials.js +2 -0
  75. package/dist/esm/model/wixPatternsEssentials.js.map +1 -0
  76. package/dist/esm/model/wixPatternsInitialProps.js +2 -0
  77. package/dist/esm/model/wixPatternsInitialProps.js.map +1 -0
  78. package/dist/esm/providers/CairoProvider/CairoProvider.js +3 -3
  79. package/dist/esm/providers/CairoProvider/CairoProvider.js.map +1 -1
  80. package/dist/esm/providers/CollectionPageContext.js +1 -1
  81. package/dist/esm/providers/CollectionPageContext.js.map +1 -1
  82. package/dist/esm/providers/{CairoContainerOverridesContext.js → WixPatternsContainerOverridesContext.js} +1 -1
  83. package/dist/esm/providers/WixPatternsContainerOverridesContext.js.map +1 -0
  84. package/dist/esm/providers/{CairoContainerProvider/CairoContainerProvider.js → WixPatternsContainerProvider/WixPatternsContainerProvider.js} +1 -1
  85. package/dist/esm/providers/WixPatternsContainerProvider/WixPatternsContainerProvider.js.map +1 -0
  86. package/dist/esm/providers/WixPatternsContainerProvider/index.js +2 -0
  87. package/dist/esm/providers/WixPatternsContainerProvider/index.js.map +1 -0
  88. package/dist/esm/providers/{CairoInitialPropsProvider.js → WixPatternsInitialPropsProvider.js} +1 -1
  89. package/dist/esm/providers/WixPatternsInitialPropsProvider.js.map +1 -0
  90. package/dist/esm/providers/index.js +3 -3
  91. package/dist/esm/providers/index.js.map +1 -1
  92. package/dist/esm/services/{CairoError.js → WixPatternsError.js} +1 -1
  93. package/dist/esm/services/WixPatternsError.js.map +1 -0
  94. package/dist/esm/services/WixPatternsErrorCode.js +2 -0
  95. package/dist/esm/services/WixPatternsErrorCode.js.map +1 -0
  96. package/dist/esm/services/cairoMonitor.js +1 -1
  97. package/dist/esm/services/cairoMonitor.js.map +1 -1
  98. package/dist/esm/services/dataExtensionService.js.map +1 -1
  99. package/dist/esm/services/index.js +2 -2
  100. package/dist/esm/services/index.js.map +1 -1
  101. package/dist/esm/state/DataExtensionState.js +18 -5
  102. package/dist/esm/state/DataExtensionState.js.map +1 -1
  103. package/dist/esm/state/SelectState.js +1 -1
  104. package/dist/esm/state/SelectState.js.map +1 -1
  105. package/dist/esm/state/{SelectionStatusCairoPreset.js → SelectionStatusWixPatternsPreset.js} +1 -1
  106. package/dist/esm/state/SelectionStatusWixPatternsPreset.js.map +1 -0
  107. package/dist/esm/state/TagsState/TagsAssignmentState.js +229 -0
  108. package/dist/esm/state/TagsState/TagsAssignmentState.js.map +1 -0
  109. package/dist/esm/state/TagsState/TagsBIReporter.js +115 -0
  110. package/dist/esm/state/TagsState/TagsBIReporter.js.map +1 -0
  111. package/dist/esm/state/TagsState/TagsFormState.js +202 -0
  112. package/dist/esm/state/TagsState/TagsFormState.js.map +1 -0
  113. package/dist/esm/state/TagsState/TagsManagementState.js +208 -0
  114. package/dist/esm/state/TagsState/TagsManagementState.js.map +1 -0
  115. package/dist/esm/state/TagsState/TagsSearchState.js +40 -0
  116. package/dist/esm/state/TagsState/TagsSearchState.js.map +1 -0
  117. package/dist/esm/state/TagsState/TagsWidgetState.js +75 -0
  118. package/dist/esm/state/TagsState/TagsWidgetState.js.map +1 -0
  119. package/dist/esm/state/TagsState/index.js +8 -0
  120. package/dist/esm/state/TagsState/index.js.map +1 -0
  121. package/dist/esm/state/TagsState/tagsTypes.js +2 -0
  122. package/dist/esm/state/TagsState/tagsTypes.js.map +1 -0
  123. package/dist/esm/state/{CairoContainer.js → WixPatternsContainer.js} +1 -1
  124. package/dist/esm/state/WixPatternsContainer.js.map +1 -0
  125. package/dist/esm/state/{buildCairoContainer.js → buildWixPatternsContainer.js} +2 -2
  126. package/dist/esm/state/buildWixPatternsContainer.js.map +1 -0
  127. package/dist/esm/state/index.js +4 -3
  128. package/dist/esm/state/index.js.map +1 -1
  129. package/dist/esm/testkit/ProductsCollectionState.driver.js +1 -1
  130. package/dist/esm/testkit/ProductsCollectionState.driver.js.map +1 -1
  131. package/dist/esm/testkit/{CairoContainer.driver.js → WixPatternsContainer.driver.js} +1 -1
  132. package/dist/esm/testkit/WixPatternsContainer.driver.js.map +1 -0
  133. package/dist/esm/testkit/internal.js +1 -1
  134. package/dist/esm/testkit/internal.js.map +1 -1
  135. package/dist/types/model/index.d.ts +3 -3
  136. package/dist/types/model/index.d.ts.map +1 -1
  137. package/dist/types/model/{cairoEnvironment.d.ts → wixPatternsEnvironment.d.ts} +2 -2
  138. package/dist/types/model/wixPatternsEnvironment.d.ts.map +1 -0
  139. package/dist/types/model/{cairoEssentials.d.ts → wixPatternsEssentials.d.ts} +1 -1
  140. package/dist/types/model/wixPatternsEssentials.d.ts.map +1 -0
  141. package/dist/types/model/{cairoInitialProps.d.ts → wixPatternsInitialProps.d.ts} +1 -1
  142. package/dist/types/model/wixPatternsInitialProps.d.ts.map +1 -0
  143. package/dist/types/providers/CollectionPageContext.d.ts.map +1 -1
  144. package/dist/types/providers/{CairoContainerOverridesContext.d.ts → WixPatternsContainerOverridesContext.d.ts} +1 -1
  145. package/dist/types/providers/WixPatternsContainerOverridesContext.d.ts.map +1 -0
  146. package/dist/types/providers/{CairoContainerProvider/CairoContainerProvider.d.ts → WixPatternsContainerProvider/WixPatternsContainerProvider.d.ts} +1 -1
  147. package/dist/types/providers/WixPatternsContainerProvider/WixPatternsContainerProvider.d.ts.map +1 -0
  148. package/dist/types/providers/WixPatternsContainerProvider/index.d.ts +2 -0
  149. package/dist/types/providers/WixPatternsContainerProvider/index.d.ts.map +1 -0
  150. package/dist/types/providers/{CairoInitialPropsProvider.d.ts → WixPatternsInitialPropsProvider.d.ts} +1 -1
  151. package/dist/types/providers/WixPatternsInitialPropsProvider.d.ts.map +1 -0
  152. package/dist/types/providers/index.d.ts +3 -3
  153. package/dist/types/providers/index.d.ts.map +1 -1
  154. package/dist/types/services/{CairoError.d.ts → WixPatternsError.d.ts} +2 -2
  155. package/dist/types/services/WixPatternsError.d.ts.map +1 -0
  156. package/dist/types/services/{CairoErrorCode.d.ts → WixPatternsErrorCode.d.ts} +1 -1
  157. package/dist/types/services/WixPatternsErrorCode.d.ts.map +1 -0
  158. package/dist/types/services/dataExtensionService.d.ts +2 -0
  159. package/dist/types/services/dataExtensionService.d.ts.map +1 -1
  160. package/dist/types/services/index.d.ts +2 -2
  161. package/dist/types/services/index.d.ts.map +1 -1
  162. package/dist/types/state/BeforeUnloadCompatState.d.ts +1 -1
  163. package/dist/types/state/BeforeUnloadCompatState.d.ts.map +1 -1
  164. package/dist/types/state/CustomFieldsViewWidgetState.d.ts +1 -1
  165. package/dist/types/state/CustomFieldsViewWidgetState.d.ts.map +1 -1
  166. package/dist/types/state/DataExtensionState.d.ts +7 -9
  167. package/dist/types/state/DataExtensionState.d.ts.map +1 -1
  168. package/dist/types/state/{SelectionStatusCairoPreset.d.ts → SelectionStatusWixPatternsPreset.d.ts} +1 -1
  169. package/dist/types/state/SelectionStatusWixPatternsPreset.d.ts.map +1 -0
  170. package/dist/types/state/TagsState/TagsAssignmentState.d.ts +74 -0
  171. package/dist/types/state/TagsState/TagsAssignmentState.d.ts.map +1 -0
  172. package/dist/types/state/TagsState/TagsBIReporter.d.ts +35 -0
  173. package/dist/types/state/TagsState/TagsBIReporter.d.ts.map +1 -0
  174. package/dist/types/state/TagsState/TagsFormState.d.ts +76 -0
  175. package/dist/types/state/TagsState/TagsFormState.d.ts.map +1 -0
  176. package/dist/types/state/TagsState/TagsManagementState.d.ts +65 -0
  177. package/dist/types/state/TagsState/TagsManagementState.d.ts.map +1 -0
  178. package/dist/types/state/TagsState/TagsSearchState.d.ts +13 -0
  179. package/dist/types/state/TagsState/TagsSearchState.d.ts.map +1 -0
  180. package/dist/types/state/TagsState/TagsWidgetState.d.ts +29 -0
  181. package/dist/types/state/TagsState/TagsWidgetState.d.ts.map +1 -0
  182. package/dist/types/state/TagsState/index.d.ts +8 -0
  183. package/dist/types/state/TagsState/index.d.ts.map +1 -0
  184. package/dist/types/state/TagsState/tagsTypes.d.ts +9 -0
  185. package/dist/types/state/TagsState/tagsTypes.d.ts.map +1 -0
  186. package/dist/types/state/{CairoContainer.d.ts → WixPatternsContainer.d.ts} +1 -1
  187. package/dist/types/state/WixPatternsContainer.d.ts.map +1 -0
  188. package/dist/types/state/{buildCairoContainer.d.ts → buildWixPatternsContainer.d.ts} +2 -2
  189. package/dist/types/state/buildWixPatternsContainer.d.ts.map +1 -0
  190. package/dist/types/state/index.d.ts +4 -3
  191. package/dist/types/state/index.d.ts.map +1 -1
  192. package/dist/types/testkit/ProductsCollectionState.driver.d.ts +1 -1
  193. package/dist/types/testkit/ProductsCollectionState.driver.d.ts.map +1 -1
  194. package/dist/types/testkit/{CairoContainer.driver.d.ts → WixPatternsContainer.driver.d.ts} +1 -1
  195. package/dist/types/testkit/WixPatternsContainer.driver.d.ts.map +1 -0
  196. package/dist/types/testkit/internal.d.ts +1 -1
  197. package/dist/types/testkit/internal.d.ts.map +1 -1
  198. package/package.json +3 -3
  199. package/dist/cjs/model/cairoEnvironment.js.map +0 -1
  200. package/dist/cjs/model/cairoEssentials.js +0 -4
  201. package/dist/cjs/model/cairoEssentials.js.map +0 -1
  202. package/dist/cjs/model/cairoInitialProps.js +0 -2
  203. package/dist/cjs/model/cairoInitialProps.js.map +0 -1
  204. package/dist/cjs/providers/CairoContainerOverridesContext.js.map +0 -1
  205. package/dist/cjs/providers/CairoContainerProvider/CairoContainerProvider.js.map +0 -1
  206. package/dist/cjs/providers/CairoContainerProvider/index.js +0 -10
  207. package/dist/cjs/providers/CairoContainerProvider/index.js.map +0 -1
  208. package/dist/cjs/providers/CairoInitialPropsProvider.js.map +0 -1
  209. package/dist/cjs/services/CairoError.js.map +0 -1
  210. package/dist/cjs/services/CairoErrorCode.js +0 -2
  211. package/dist/cjs/services/CairoErrorCode.js.map +0 -1
  212. package/dist/cjs/state/CairoContainer.js.map +0 -1
  213. package/dist/cjs/state/SelectionStatusCairoPreset.js.map +0 -1
  214. package/dist/cjs/state/buildCairoContainer.js.map +0 -1
  215. package/dist/cjs/testkit/CairoContainer.driver.js.map +0 -1
  216. package/dist/esm/model/cairoEnvironment.js.map +0 -1
  217. package/dist/esm/model/cairoEssentials.js +0 -2
  218. package/dist/esm/model/cairoEssentials.js.map +0 -1
  219. package/dist/esm/model/cairoInitialProps.js +0 -2
  220. package/dist/esm/model/cairoInitialProps.js.map +0 -1
  221. package/dist/esm/providers/CairoContainerOverridesContext.js.map +0 -1
  222. package/dist/esm/providers/CairoContainerProvider/CairoContainerProvider.js.map +0 -1
  223. package/dist/esm/providers/CairoContainerProvider/index.js +0 -2
  224. package/dist/esm/providers/CairoContainerProvider/index.js.map +0 -1
  225. package/dist/esm/providers/CairoInitialPropsProvider.js.map +0 -1
  226. package/dist/esm/services/CairoError.js.map +0 -1
  227. package/dist/esm/services/CairoErrorCode.js +0 -2
  228. package/dist/esm/services/CairoErrorCode.js.map +0 -1
  229. package/dist/esm/state/CairoContainer.js.map +0 -1
  230. package/dist/esm/state/SelectionStatusCairoPreset.js.map +0 -1
  231. package/dist/esm/state/buildCairoContainer.js.map +0 -1
  232. package/dist/esm/testkit/CairoContainer.driver.js.map +0 -1
  233. package/dist/types/model/cairoEnvironment.d.ts.map +0 -1
  234. package/dist/types/model/cairoEssentials.d.ts.map +0 -1
  235. package/dist/types/model/cairoInitialProps.d.ts.map +0 -1
  236. package/dist/types/providers/CairoContainerOverridesContext.d.ts.map +0 -1
  237. package/dist/types/providers/CairoContainerProvider/CairoContainerProvider.d.ts.map +0 -1
  238. package/dist/types/providers/CairoContainerProvider/index.d.ts +0 -2
  239. package/dist/types/providers/CairoContainerProvider/index.d.ts.map +0 -1
  240. package/dist/types/providers/CairoInitialPropsProvider.d.ts.map +0 -1
  241. package/dist/types/services/CairoError.d.ts.map +0 -1
  242. package/dist/types/services/CairoErrorCode.d.ts.map +0 -1
  243. package/dist/types/state/CairoContainer.d.ts.map +0 -1
  244. package/dist/types/state/SelectionStatusCairoPreset.d.ts.map +0 -1
  245. package/dist/types/state/buildCairoContainer.d.ts.map +0 -1
  246. package/dist/types/testkit/CairoContainer.driver.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["BeforeUnloadCompatState","constructor","container","_defineProperty2","default","pause","onNavigationModal","translate","t","modalPropsList","_getBeforeUnloadListeners","length","resume","state","didCancel","confirmationsCount","onNavigationModalProps","Promise","resolve","modal","events","once","open","onConfirm","onClose","primaryButtonText","secondaryButtonText","forEach","onResume","listeners","map","l","filter","p","init","onNavigation","onBeforeUnload","onBeforeUnloadSubscription","event","preventDefault","remove","unloadDialog","e","returnValue","window","addEventListener","onNavigationSubscription","_onNavigation","removeEventListener","exports"],"sources":["../../../src/state/BeforeUnloadCompatState.ts"],"sourcesContent":["import { WixPatternsContainer } from './CairoContainer';\nimport { ModalLayoutProps } from '../services';\nimport { OnNavigationCallback } from '../model';\n\nexport class BeforeUnloadCompatState {\n readonly container: WixPatternsContainer;\n\n constructor(container: WixPatternsContainer) {\n this.container = container;\n }\n\n _onNavigation: OnNavigationCallback = async (pause) => {\n const { onNavigationModal, translate: t } = this.container;\n const modalPropsList = this._getBeforeUnloadListeners();\n\n if (!modalPropsList.length) {\n return;\n }\n\n const { resume } = pause();\n\n const state = {\n didCancel: false,\n confirmationsCount: 0,\n };\n\n for (const onNavigationModalProps of modalPropsList) {\n await new Promise<void>((resolve) => {\n onNavigationModal.modal.events.once('close', () => resolve());\n onNavigationModal.open({\n ...onNavigationModalProps,\n onConfirm: () => {\n state.confirmationsCount++;\n onNavigationModalProps?.onConfirm?.();\n },\n onClose: () => {\n state.didCancel = true;\n },\n primaryButtonText: t('cairo.dragAndDrop.leaveSite.modal.leave.CTA'),\n secondaryButtonText: t('cairo.cancel.button'),\n });\n });\n\n // Skip rest of the modals when the user decides to cancel the navigation\n if (state.didCancel) {\n break;\n }\n }\n\n // Resume navigation after all modals confirmed\n if (state.confirmationsCount === modalPropsList.length) {\n modalPropsList.forEach(({ onResume }) => onResume?.());\n resume();\n }\n };\n\n _getBeforeUnloadListeners() {\n return this.container.events\n .listeners('navigation')\n .map((l) => l())\n .filter((p): p is ModalLayoutProps => p != null);\n }\n\n init() {\n const { onNavigation, onBeforeUnload } = this.container;\n\n // In GizaProvider & BM that migrated to Giza, `onBeforeUnload` will be available (not possible to customize the modal)\n if (onBeforeUnload) {\n const onBeforeUnloadSubscription = onBeforeUnload((event) => {\n if (!this._getBeforeUnloadListeners().length) {\n return;\n }\n\n event.preventDefault();\n });\n\n return () => {\n onBeforeUnloadSubscription.remove();\n };\n }\n\n // In BM that didn't migrate to Giza, `onBeforeUnload` will be `undefined` due to `usePlatformApiCompat`\n // `onNavigation` will be available (possible to customize the modal)\n if (onNavigation) {\n const unloadDialog = (e: BeforeUnloadEvent) => {\n if (!this._getBeforeUnloadListeners().length) {\n return;\n }\n e.preventDefault();\n e.returnValue = '';\n };\n\n window.addEventListener('beforeunload', unloadDialog);\n const onNavigationSubscription = onNavigation(this._onNavigation);\n\n return () => {\n window.removeEventListener('beforeunload', unloadDialog);\n onNavigationSubscription.remove();\n };\n }\n\n return;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["BeforeUnloadCompatState","constructor","container","_defineProperty2","default","pause","onNavigationModal","translate","t","modalPropsList","_getBeforeUnloadListeners","length","resume","state","didCancel","confirmationsCount","onNavigationModalProps","Promise","resolve","modal","events","once","open","onConfirm","onClose","primaryButtonText","secondaryButtonText","forEach","onResume","listeners","map","l","filter","p","init","onNavigation","onBeforeUnload","onBeforeUnloadSubscription","event","preventDefault","remove","unloadDialog","e","returnValue","window","addEventListener","onNavigationSubscription","_onNavigation","removeEventListener","exports"],"sources":["../../../src/state/BeforeUnloadCompatState.ts"],"sourcesContent":["import { WixPatternsContainer } from './WixPatternsContainer';\nimport { ModalLayoutProps } from '../services';\nimport { OnNavigationCallback } from '../model';\n\nexport class BeforeUnloadCompatState {\n readonly container: WixPatternsContainer;\n\n constructor(container: WixPatternsContainer) {\n this.container = container;\n }\n\n _onNavigation: OnNavigationCallback = async (pause) => {\n const { onNavigationModal, translate: t } = this.container;\n const modalPropsList = this._getBeforeUnloadListeners();\n\n if (!modalPropsList.length) {\n return;\n }\n\n const { resume } = pause();\n\n const state = {\n didCancel: false,\n confirmationsCount: 0,\n };\n\n for (const onNavigationModalProps of modalPropsList) {\n await new Promise<void>((resolve) => {\n onNavigationModal.modal.events.once('close', () => resolve());\n onNavigationModal.open({\n ...onNavigationModalProps,\n onConfirm: () => {\n state.confirmationsCount++;\n onNavigationModalProps?.onConfirm?.();\n },\n onClose: () => {\n state.didCancel = true;\n },\n primaryButtonText: t('cairo.dragAndDrop.leaveSite.modal.leave.CTA'),\n secondaryButtonText: t('cairo.cancel.button'),\n });\n });\n\n // Skip rest of the modals when the user decides to cancel the navigation\n if (state.didCancel) {\n break;\n }\n }\n\n // Resume navigation after all modals confirmed\n if (state.confirmationsCount === modalPropsList.length) {\n modalPropsList.forEach(({ onResume }) => onResume?.());\n resume();\n }\n };\n\n _getBeforeUnloadListeners() {\n return this.container.events\n .listeners('navigation')\n .map((l) => l())\n .filter((p): p is ModalLayoutProps => p != null);\n }\n\n init() {\n const { onNavigation, onBeforeUnload } = this.container;\n\n // In GizaProvider & BM that migrated to Giza, `onBeforeUnload` will be available (not possible to customize the modal)\n if (onBeforeUnload) {\n const onBeforeUnloadSubscription = onBeforeUnload((event) => {\n if (!this._getBeforeUnloadListeners().length) {\n return;\n }\n\n event.preventDefault();\n });\n\n return () => {\n onBeforeUnloadSubscription.remove();\n };\n }\n\n // In BM that didn't migrate to Giza, `onBeforeUnload` will be `undefined` due to `usePlatformApiCompat`\n // `onNavigation` will be available (possible to customize the modal)\n if (onNavigation) {\n const unloadDialog = (e: BeforeUnloadEvent) => {\n if (!this._getBeforeUnloadListeners().length) {\n return;\n }\n e.preventDefault();\n e.returnValue = '';\n };\n\n window.addEventListener('beforeunload', unloadDialog);\n const onNavigationSubscription = onNavigation(this._onNavigation);\n\n return () => {\n window.removeEventListener('beforeunload', unloadDialog);\n onNavigationSubscription.remove();\n };\n }\n\n return;\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_TaskState","require","_DataExtensionState","_services","_v","CustomFieldsViewWidgetState","constructor","container","fqdn","url","_defineProperty2","default","TaskState","performance","now","reportBi","createBILogger","componentType","dataExtension","DataExtensionState","loadStart","init","initTask","runOnce","_this$dataExtension$i","status","promise","catch","err","cairoError","WixPatternsError","errorCode","originalException","internalMonitor","reportError","error","cairoErrorInLoadingAComponent","errorType","name","loadEnd","loadingTime","Math","round","startTime","retry","cairoTryAgainClicked","filteredListSize","availableUserCustomFields","length","actionName","loaction","isLoading","isIdle","isError","exports"],"sources":["../../../src/state/CustomFieldsViewWidgetState.ts"],"sourcesContent":["import { WixPatternsContainer } from './CairoContainer';\nimport { Fqdn } from '../model';\nimport { TaskState } from './TaskState';\nimport { DataExtensionState } from './DataExtensionState';\nimport { WixPatternsError } from '../services';\nimport {\n cairoErrorInLoadingAComponent,\n cairoTryAgainClicked,\n loadEnd,\n loadStart,\n} from '@wix/bex-utils/@wix/bi-logger-cairo-os/v2';\n\nexport interface CustomFieldsViewWidgetStateParams {\n readonly container: WixPatternsContainer;\n readonly fqdn: Fqdn;\n readonly url: string;\n}\nexport class CustomFieldsViewWidgetState {\n readonly container;\n readonly dataExtension;\n readonly initTask = new TaskState();\n readonly reportBi;\n readonly startTime = performance.now();\n readonly url;\n\n constructor({ container, fqdn, url }: CustomFieldsViewWidgetStateParams) {\n this.container = container;\n this.url = url;\n\n this.reportBi = container.createBILogger({\n componentType: 'CustomFieldsViewWidget',\n ...fqdn,\n });\n\n this.dataExtension = new DataExtensionState({\n container,\n fqdn,\n reportBi: this.reportBi,\n });\n\n this.reportBi(\n loadStart({\n url: this.url,\n }),\n );\n }\n\n init() {\n const { initTask } = this;\n\n initTask.runOnce(async () => {\n this.dataExtension.init();\n\n await this.dataExtension.initTask.status.promise?.catch((err) => {\n const cairoError = new WixPatternsError({\n errorCode: 'InitCustomFieldsDataExtensionFailed',\n originalException: err,\n });\n\n this.container.internalMonitor.reportError({\n error: cairoError,\n });\n\n this.reportBi(\n cairoErrorInLoadingAComponent({\n errorType: cairoError.name,\n }),\n );\n\n throw cairoError;\n });\n\n this.reportBi(\n loadEnd({\n url: this.url,\n loadingTime: Math.round(performance.now() - this.startTime),\n }),\n );\n });\n }\n\n retry() {\n this.reportBi(\n cairoTryAgainClicked({\n filteredListSize: this.dataExtension.availableUserCustomFields.length,\n actionName: 'Load custom fields',\n loaction: 'View only widget',\n }),\n );\n\n this.initTask.runOnce();\n }\n\n get isLoading() {\n const { status } = this.initTask;\n return status.isIdle || status.isLoading;\n }\n\n get isError() {\n return this.initTask.status.isError;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_TaskState","require","_DataExtensionState","_services","_v","CustomFieldsViewWidgetState","constructor","container","fqdn","url","_defineProperty2","default","TaskState","performance","now","reportBi","createBILogger","componentType","dataExtension","DataExtensionState","loadStart","init","initTask","runOnce","_this$dataExtension$i","status","promise","catch","err","cairoError","WixPatternsError","errorCode","originalException","internalMonitor","reportError","error","cairoErrorInLoadingAComponent","errorType","name","loadEnd","loadingTime","Math","round","startTime","retry","cairoTryAgainClicked","filteredListSize","availableUserCustomFields","length","actionName","loaction","isLoading","isIdle","isError","exports"],"sources":["../../../src/state/CustomFieldsViewWidgetState.ts"],"sourcesContent":["import { WixPatternsContainer } from './WixPatternsContainer';\nimport { Fqdn } from '../model';\nimport { TaskState } from './TaskState';\nimport { DataExtensionState } from './DataExtensionState';\nimport { WixPatternsError } from '../services';\nimport {\n cairoErrorInLoadingAComponent,\n cairoTryAgainClicked,\n loadEnd,\n loadStart,\n} from '@wix/bex-utils/@wix/bi-logger-cairo-os/v2';\n\nexport interface CustomFieldsViewWidgetStateParams {\n readonly container: WixPatternsContainer;\n readonly fqdn: Fqdn;\n readonly url: string;\n}\nexport class CustomFieldsViewWidgetState {\n readonly container;\n readonly dataExtension;\n readonly initTask = new TaskState();\n readonly reportBi;\n readonly startTime = performance.now();\n readonly url;\n\n constructor({ container, fqdn, url }: CustomFieldsViewWidgetStateParams) {\n this.container = container;\n this.url = url;\n\n this.reportBi = container.createBILogger({\n componentType: 'CustomFieldsViewWidget',\n ...fqdn,\n });\n\n this.dataExtension = new DataExtensionState({\n container,\n fqdn,\n reportBi: this.reportBi,\n });\n\n this.reportBi(\n loadStart({\n url: this.url,\n }),\n );\n }\n\n init() {\n const { initTask } = this;\n\n initTask.runOnce(async () => {\n this.dataExtension.init();\n\n await this.dataExtension.initTask.status.promise?.catch((err) => {\n const cairoError = new WixPatternsError({\n errorCode: 'InitCustomFieldsDataExtensionFailed',\n originalException: err,\n });\n\n this.container.internalMonitor.reportError({\n error: cairoError,\n });\n\n this.reportBi(\n cairoErrorInLoadingAComponent({\n errorType: cairoError.name,\n }),\n );\n\n throw cairoError;\n });\n\n this.reportBi(\n loadEnd({\n url: this.url,\n loadingTime: Math.round(performance.now() - this.startTime),\n }),\n );\n });\n }\n\n retry() {\n this.reportBi(\n cairoTryAgainClicked({\n filteredListSize: this.dataExtension.availableUserCustomFields.length,\n actionName: 'Load custom fields',\n loaction: 'View only widget',\n }),\n );\n\n this.initTask.runOnce();\n }\n\n get isLoading() {\n const { status } = this.initTask;\n return status.isIdle || status.isLoading;\n }\n\n get isError() {\n return this.initTask.status.isError;\n }\n}\n"],"mappings":"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"}
@@ -175,14 +175,20 @@ class DataExtensionState {
175
175
  }
176
176
  customFieldModalState.modalState.modal.open();
177
177
  }
178
- _toCustomField(key, schema, editable) {
178
+ _toCustomField({
179
+ key,
180
+ schema,
181
+ editable,
182
+ owner
183
+ }) {
179
184
  return {
180
185
  id: key,
181
186
  label: schema == null ? void 0 : schema.title,
182
187
  maxLength: schema == null ? void 0 : schema.maxLength,
183
188
  options: schema == null ? void 0 : schema.enum,
184
189
  type: _services.DataExtensionSchemaService.toCustomType(schema),
185
- editable
190
+ editable,
191
+ owner
186
192
  };
187
193
  }
188
194
  isSupportedFieldType(type) {
@@ -193,7 +199,8 @@ class DataExtensionState {
193
199
  }
194
200
  getAvailableCustomFieldsInSchema(properties, {
195
201
  editable,
196
- requiredPermissions
202
+ requiredPermissions,
203
+ owner
197
204
  }) {
198
205
  return Object.keys(properties).filter(key => {
199
206
  const field = properties[key];
@@ -205,7 +212,12 @@ class DataExtensionState {
205
212
  return 0;
206
213
  }
207
214
  return aVal.valueOf() - bVal.valueOf();
208
- }).map(key => this._toCustomField(key, properties[key], editable));
215
+ }).map(key => this._toCustomField({
216
+ key,
217
+ schema: properties[key],
218
+ editable,
219
+ owner
220
+ }));
209
221
  }
210
222
 
211
223
  /**
@@ -215,7 +227,8 @@ class DataExtensionState {
215
227
  var _this$userSchema;
216
228
  const properties = ((_this$userSchema = this.userSchema) == null || (_this$userSchema = _this$userSchema.jsonSchema) == null ? void 0 : _this$userSchema.properties) || {};
217
229
  return this.getAvailableCustomFieldsInSchema(properties, {
218
- editable: true
230
+ editable: true,
231
+ owner: 'user'
219
232
  });
220
233
  }
221
234
  get availableAppsCustomFields() {
@@ -225,7 +238,8 @@ class DataExtensionState {
225
238
  const properties = (schema == null || (_schema$jsonSchema = schema.jsonSchema) == null ? void 0 : _schema$jsonSchema.properties) || {};
226
239
  return [...prev, ...this.getAvailableCustomFieldsInSchema(properties, {
227
240
  editable: false,
228
- requiredPermissions: ['users']
241
+ requiredPermissions: ['users'],
242
+ owner: 'app'
229
243
  })];
230
244
  }, [])) ?? [];
231
245
  }
@@ -235,14 +249,24 @@ class DataExtensionState {
235
249
  get allUserCustomFields() {
236
250
  var _this$userSchema2;
237
251
  const properties = ((_this$userSchema2 = this.userSchema) == null || (_this$userSchema2 = _this$userSchema2.jsonSchema) == null ? void 0 : _this$userSchema2.properties) || {};
238
- return Object.keys(properties).map(key => this._toCustomField(key, properties[key], true));
252
+ return Object.keys(properties).map(key => this._toCustomField({
253
+ key,
254
+ schema: properties[key],
255
+ editable: true,
256
+ owner: 'user'
257
+ }));
239
258
  }
240
259
  get allAppsCustomFields() {
241
260
  var _this$appSchemas2;
242
261
  return ((_this$appSchemas2 = this.appSchemas) == null ? void 0 : _this$appSchemas2.reduce((prev, cur) => {
243
262
  var _cur$jsonSchema;
244
263
  const properties = (cur == null || (_cur$jsonSchema = cur.jsonSchema) == null ? void 0 : _cur$jsonSchema.properties) || {};
245
- return prev.concat(Object.keys(properties).map(key => this._toCustomField(key, properties[key], false)));
264
+ return prev.concat(Object.keys(properties).map(key => this._toCustomField({
265
+ key,
266
+ schema: properties[key],
267
+ editable: false,
268
+ owner: 'app'
269
+ })));
246
270
  }, [])) ?? [];
247
271
  }
248
272
  get allCustomFields() {
@@ -1 +1 @@
1
- {"version":3,"names":["_services","require","_TaskState","_mobx","_DataExtensionStateBIReporter","_util","_DataExtensionField","DataExtensionState","fqdnString","fqdnToString","fqdn","isFqdnValid","resource","undefined","constructor","params","_defineProperty2","default","TaskState","container","closeSidePanel","reportBi","dataExtensionService","DataExtensionSchemaService","biReporter","DataExtensionStateBIReporter","makeObservable","allUserCustomFields","computed","allAppsCustomFields","allCustomFields","availableUserCustomFields","availableAppsCustomFields","availableCustomFields","isReachedMaxCustomFields","disableAddCustomField","disableAddCustomFieldContent","userSchema","observable","ref","appSchemas","openCustomFieldModal","action","hasWritePermissions","_hasWritePermissions","user","permissions","includes","translate","max","MAX_CUSTOM_FIELDS","archiveField","id","origin","_this$container$showT","_this$container","dataExtensionSchema","archiveCustomField","schema","runInAction","showToast","call","message","type","biName","e","_this$container$showT2","_this$container2","uiType","text","onClick","reportArchiveTryAgain","removeToastOnClick","reportArchiveFieldFailed","formValues","extractFieldValuesFromSchema","fieldId","customField","toCustomField","title","read","write","readApps","readUsers","writeApps","writeUsers","toCustomType","name","key","customFieldModalState","customFieldModalBiReporter","reset","mode","formSnapshot","setFormValues","disablePermissionCheckboxes","modalState","modal","open","_toCustomField","editable","label","maxLength","options","enum","isSupportedFieldType","getAvailableCustomFieldsInSchema","properties","requiredPermissions","Object","keys","filter","field","includesAllReadPermissions","sort","a","b","aVal","Date","bVal","isNaN","valueOf","map","_this$userSchema","jsonSchema","_this$appSchemas","reduce","prev","_schema$jsonSchema","_this$userSchema2","_this$appSchemas2","cur","_cur$jsonSchema","concat","length","init","initTask","runOnce","fetchSchemas","dataExtensionSchemas","forEach","s","namespace","userFieldsNamespace","exports"],"sources":["../../../src/state/DataExtensionState.ts"],"sourcesContent":["import {\n CustomField,\n CustomFieldOrigin,\n DataExtensionField,\n DataExtensionPermission,\n DataExtensionSchemaService,\n DataExtensionType,\n ReportBI,\n} from '../services';\nimport { TaskState } from './TaskState';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { Fqdn } from '../model';\nimport { WixPatternsContainer } from './CairoContainer';\nimport {\n CustomFieldForm,\n CustomFieldModalState,\n} from './CustomFieldModalState';\nimport type { DataExtensionSchema } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';\nimport { fqdnToString } from '../util';\nimport { includesAllReadPermissions } from './DataExtension/DataExtensionField';\n\nexport interface DataExtensionStateParams {\n container: WixPatternsContainer;\n closeSidePanel?: () => unknown;\n reportBi: ReportBI;\n fqdn: Fqdn;\n}\n\nexport class DataExtensionState {\n readonly dataExtensionService: DataExtensionSchemaService;\n readonly biReporter: DataExtensionStateBIReporter;\n readonly initTask = new TaskState();\n readonly container: WixPatternsContainer;\n customFieldModalState?: CustomFieldModalState;\n archiveFieldModal?: ConditionalModalState<{\n id: string;\n origin: string;\n }>;\n readonly closeSidePanel;\n readonly reportBi;\n readonly fqdn;\n\n readonly MAX_CUSTOM_FIELDS = 50;\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isFqdnValid() {\n return this.fqdn.resource !== undefined;\n }\n\n userSchema?: DataExtensionSchema = undefined;\n appSchemas?: DataExtensionSchema[] = undefined;\n\n constructor(params: Readonly<DataExtensionStateParams>) {\n this.container = params.container;\n this.closeSidePanel = params.closeSidePanel;\n this.reportBi = params.reportBi;\n this.fqdn = params.fqdn;\n this.dataExtensionService = new DataExtensionSchemaService(\n params.container,\n );\n\n this.biReporter = new DataExtensionStateBIReporter({\n reportBi: this.reportBi,\n });\n\n makeObservable(this, {\n allUserCustomFields: computed,\n allAppsCustomFields: computed,\n allCustomFields: computed,\n availableUserCustomFields: computed,\n availableAppsCustomFields: computed,\n availableCustomFields: computed,\n isReachedMaxCustomFields: computed,\n disableAddCustomField: computed,\n disableAddCustomFieldContent: computed,\n userSchema: observable.ref,\n appSchemas: observable.ref,\n openCustomFieldModal: action,\n });\n }\n\n _hasWritePermissions?: boolean;\n\n get hasWritePermissions() {\n if (this._hasWritePermissions == null) {\n this._hasWritePermissions = this.container.user.permissions.includes(\n 'DATA_EXTENSION_SCHEMA.WRITE',\n );\n }\n\n return this._hasWritePermissions;\n }\n\n get disableAddCustomField() {\n return !this.hasWritePermissions || this.isReachedMaxCustomFields;\n }\n\n get disableAddCustomFieldContent() {\n if (!this.hasWritePermissions) {\n return this.container.translate(\n 'cairo.customFields.writePermission.tooltip',\n );\n }\n\n if (this.isReachedMaxCustomFields) {\n return this.container.translate('cairo.customFields.maxFields.tooltip', {\n max: this.MAX_CUSTOM_FIELDS,\n });\n }\n\n return '';\n }\n\n async archiveField({ id, origin }: { id?: string; origin: string }) {\n if (id == null) {\n return;\n }\n try {\n const { dataExtensionSchema } =\n await this.dataExtensionService.archiveCustomField({\n schema: this.userSchema,\n fqdn: this.fqdnString,\n id,\n });\n\n runInAction(() => {\n this.userSchema = dataExtensionSchema;\n });\n\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.success.toast',\n ),\n type: 'SUCCESS',\n biName: 'cairo-archive-custom-field-success-toast',\n });\n } catch (e) {\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.technicalError',\n ),\n action: {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n this.biReporter.reportArchiveTryAgain();\n this.archiveField({ id, origin });\n },\n removeToastOnClick: true,\n },\n type: 'ERROR',\n biName: 'cairo-archive-custom-field-error-toast',\n });\n this.biReporter.reportArchiveFieldFailed({\n formValues: this.extractFieldValuesFromSchema(id),\n origin,\n });\n }\n }\n\n extractFieldValuesFromSchema(fieldId: string): CustomFieldForm | undefined {\n if (!this.userSchema) {\n return;\n }\n\n const customField = DataExtensionSchemaService.toCustomField(\n this.userSchema,\n fieldId,\n );\n\n if (!customField || !customField.type || !customField.title) {\n return;\n }\n\n const { read, write } = customField['x-wix-permissions'];\n const readApps = read?.includes('apps');\n const readUsers = read?.includes('users-of-users');\n const writeApps = write?.includes('apps');\n const writeUsers = write?.includes('users-of-users');\n\n return {\n type: DataExtensionSchemaService.toCustomType(customField),\n name: customField.title,\n key: customField.id,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n };\n }\n\n openCustomFieldModal(params: {\n fieldId?: string;\n origin: CustomFieldOrigin;\n }) {\n const { customFieldModalState } = this;\n\n if (!customFieldModalState) {\n return;\n }\n\n const { customFieldModalBiReporter } = customFieldModalState;\n\n customFieldModalState.reset();\n customFieldModalState.mode = params.fieldId ? 'edit' : 'new';\n customFieldModalState.origin = params.origin;\n customFieldModalBiReporter.formSnapshot = null;\n\n if (this.userSchema && params.fieldId) {\n const formValues = this.extractFieldValuesFromSchema(params.fieldId);\n\n if (!formValues) {\n return;\n }\n\n customFieldModalState.setFormValues(formValues, {\n disablePermissionCheckboxes: true,\n });\n customFieldModalBiReporter.formSnapshot = formValues;\n }\n\n customFieldModalState.modalState.modal.open();\n }\n\n _toCustomField(key: string, schema: DataExtensionField, editable: boolean) {\n return {\n id: key,\n label: schema?.title,\n maxLength: schema?.maxLength,\n options: schema?.enum,\n type: DataExtensionSchemaService.toCustomType(schema),\n editable,\n };\n }\n\n private isSupportedFieldType(type?: string): type is DataExtensionType {\n if (!type) {\n return false;\n }\n return ['string', 'number', 'integer', 'boolean', 'array'].includes(type);\n }\n\n private getAvailableCustomFieldsInSchema(\n properties: {\n [key: string]: DataExtensionField;\n },\n {\n editable,\n requiredPermissions,\n }: {\n editable: boolean;\n requiredPermissions?: DataExtensionPermission[];\n },\n ): CustomField[] {\n return Object.keys(properties)\n .filter((key) => {\n const field = properties[key];\n return (\n !field['x-wix-archived'] &&\n this.isSupportedFieldType(field.type) &&\n (requiredPermissions == null ||\n includesAllReadPermissions(field, requiredPermissions))\n );\n })\n .sort((a, b) => {\n const aVal = new Date(properties[a]['x-wix-created-date']);\n const bVal = new Date(properties[b]['x-wix-created-date']);\n\n if (isNaN(bVal.valueOf()) || isNaN(aVal.valueOf())) {\n return 0;\n }\n\n return aVal.valueOf() - bVal.valueOf();\n })\n .map((key) => this._toCustomField(key, properties[key], editable));\n }\n\n /**\n * Available custom fields, excluding archived fields\n */\n get availableUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: true,\n });\n }\n\n get availableAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, schema) => {\n const properties: { [key: string]: DataExtensionField } =\n schema?.jsonSchema?.properties || {};\n return [\n ...prev,\n ...this.getAvailableCustomFieldsInSchema(properties, {\n editable: false,\n requiredPermissions: ['users'],\n }),\n ];\n }, [] as CustomField[]) ?? []\n );\n }\n\n get availableCustomFields(): CustomField[] {\n return [\n ...this.availableUserCustomFields,\n ...this.availableAppsCustomFields,\n ];\n }\n\n get allUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n\n return Object.keys(properties).map((key) =>\n this._toCustomField(key, properties[key], true),\n );\n }\n\n get allAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, cur) => {\n const properties: { [key: string]: DataExtensionField } =\n cur?.jsonSchema?.properties || {};\n\n return prev.concat(\n Object.keys(properties).map((key) =>\n this._toCustomField(key, properties[key], false),\n ),\n );\n }, [] as CustomField[]) ?? []\n );\n }\n\n get allCustomFields(): CustomField[] {\n return [...this.allUserCustomFields, ...this.allAppsCustomFields];\n }\n\n get isReachedMaxCustomFields() {\n return this.allUserCustomFields.length >= this.MAX_CUSTOM_FIELDS;\n }\n\n init() {\n const { initTask } = this;\n\n initTask.runOnce(async () => {\n await this.fetchSchemas();\n });\n }\n\n async fetchSchemas() {\n const { dataExtensionService } = this;\n\n if (this.isFqdnValid) {\n const { dataExtensionSchemas } = await dataExtensionService.fetchSchemas(\n this.fqdnString,\n );\n\n runInAction(() => {\n dataExtensionSchemas?.forEach((s) => {\n if (s.namespace === dataExtensionService.userFieldsNamespace) {\n this.userSchema = s;\n return;\n }\n this.appSchemas = this.appSchemas ? [...this.appSchemas, s] : [s];\n });\n });\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_services","require","_TaskState","_mobx","_DataExtensionStateBIReporter","_util","_DataExtensionField","DataExtensionState","fqdnString","fqdnToString","fqdn","isFqdnValid","resource","undefined","constructor","params","_defineProperty2","default","TaskState","container","closeSidePanel","reportBi","dataExtensionService","DataExtensionSchemaService","biReporter","DataExtensionStateBIReporter","makeObservable","allUserCustomFields","computed","allAppsCustomFields","allCustomFields","availableUserCustomFields","availableAppsCustomFields","availableCustomFields","isReachedMaxCustomFields","disableAddCustomField","disableAddCustomFieldContent","userSchema","observable","ref","appSchemas","openCustomFieldModal","action","hasWritePermissions","_hasWritePermissions","user","permissions","includes","translate","max","MAX_CUSTOM_FIELDS","archiveField","id","origin","_this$container$showT","_this$container","dataExtensionSchema","archiveCustomField","schema","runInAction","showToast","call","message","type","biName","e","_this$container$showT2","_this$container2","uiType","text","onClick","reportArchiveTryAgain","removeToastOnClick","reportArchiveFieldFailed","formValues","extractFieldValuesFromSchema","fieldId","customField","toCustomField","title","read","write","readApps","readUsers","writeApps","writeUsers","toCustomType","name","key","customFieldModalState","customFieldModalBiReporter","reset","mode","formSnapshot","setFormValues","disablePermissionCheckboxes","modalState","modal","open","_toCustomField","editable","owner","label","maxLength","options","enum","isSupportedFieldType","getAvailableCustomFieldsInSchema","properties","requiredPermissions","Object","keys","filter","field","includesAllReadPermissions","sort","a","b","aVal","Date","bVal","isNaN","valueOf","map","_this$userSchema","jsonSchema","_this$appSchemas","reduce","prev","_schema$jsonSchema","_this$userSchema2","_this$appSchemas2","cur","_cur$jsonSchema","concat","length","init","initTask","runOnce","fetchSchemas","dataExtensionSchemas","forEach","s","namespace","userFieldsNamespace","exports"],"sources":["../../../src/state/DataExtensionState.ts"],"sourcesContent":["import {\n CustomField,\n CustomFieldOrigin,\n CustomFieldOwner,\n DataExtensionField,\n DataExtensionPermission,\n DataExtensionSchemaService,\n DataExtensionType,\n ReportBI,\n} from '../services';\nimport { TaskState } from './TaskState';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { Fqdn } from '../model';\nimport { WixPatternsContainer } from './WixPatternsContainer';\nimport {\n CustomFieldForm,\n CustomFieldModalState,\n} from './CustomFieldModalState';\nimport type { DataExtensionSchema } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';\nimport { fqdnToString } from '../util';\nimport { includesAllReadPermissions } from './DataExtension/DataExtensionField';\n\nexport interface DataExtensionStateParams {\n container: WixPatternsContainer;\n closeSidePanel?: () => unknown;\n reportBi: ReportBI;\n fqdn: Fqdn;\n}\n\nexport class DataExtensionState {\n readonly dataExtensionService: DataExtensionSchemaService;\n readonly biReporter: DataExtensionStateBIReporter;\n readonly initTask = new TaskState();\n readonly container: WixPatternsContainer;\n customFieldModalState?: CustomFieldModalState;\n archiveFieldModal?: ConditionalModalState<{\n id: string;\n origin: string;\n }>;\n readonly closeSidePanel;\n readonly reportBi;\n readonly fqdn;\n\n readonly MAX_CUSTOM_FIELDS = 50;\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isFqdnValid() {\n return this.fqdn.resource !== undefined;\n }\n\n userSchema?: DataExtensionSchema = undefined;\n appSchemas?: DataExtensionSchema[] = undefined;\n\n constructor(params: Readonly<DataExtensionStateParams>) {\n this.container = params.container;\n this.closeSidePanel = params.closeSidePanel;\n this.reportBi = params.reportBi;\n this.fqdn = params.fqdn;\n this.dataExtensionService = new DataExtensionSchemaService(\n params.container,\n );\n\n this.biReporter = new DataExtensionStateBIReporter({\n reportBi: this.reportBi,\n });\n\n makeObservable(this, {\n allUserCustomFields: computed,\n allAppsCustomFields: computed,\n allCustomFields: computed,\n availableUserCustomFields: computed,\n availableAppsCustomFields: computed,\n availableCustomFields: computed,\n isReachedMaxCustomFields: computed,\n disableAddCustomField: computed,\n disableAddCustomFieldContent: computed,\n userSchema: observable.ref,\n appSchemas: observable.ref,\n openCustomFieldModal: action,\n });\n }\n\n _hasWritePermissions?: boolean;\n\n get hasWritePermissions() {\n if (this._hasWritePermissions == null) {\n this._hasWritePermissions = this.container.user.permissions.includes(\n 'DATA_EXTENSION_SCHEMA.WRITE',\n );\n }\n\n return this._hasWritePermissions;\n }\n\n get disableAddCustomField() {\n return !this.hasWritePermissions || this.isReachedMaxCustomFields;\n }\n\n get disableAddCustomFieldContent() {\n if (!this.hasWritePermissions) {\n return this.container.translate(\n 'cairo.customFields.writePermission.tooltip',\n );\n }\n\n if (this.isReachedMaxCustomFields) {\n return this.container.translate('cairo.customFields.maxFields.tooltip', {\n max: this.MAX_CUSTOM_FIELDS,\n });\n }\n\n return '';\n }\n\n async archiveField({ id, origin }: { id?: string; origin: string }) {\n if (id == null) {\n return;\n }\n try {\n const { dataExtensionSchema } =\n await this.dataExtensionService.archiveCustomField({\n schema: this.userSchema,\n fqdn: this.fqdnString,\n id,\n });\n\n runInAction(() => {\n this.userSchema = dataExtensionSchema;\n });\n\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.success.toast',\n ),\n type: 'SUCCESS',\n biName: 'cairo-archive-custom-field-success-toast',\n });\n } catch (e) {\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.technicalError',\n ),\n action: {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n this.biReporter.reportArchiveTryAgain();\n this.archiveField({ id, origin });\n },\n removeToastOnClick: true,\n },\n type: 'ERROR',\n biName: 'cairo-archive-custom-field-error-toast',\n });\n this.biReporter.reportArchiveFieldFailed({\n formValues: this.extractFieldValuesFromSchema(id),\n origin,\n });\n }\n }\n\n extractFieldValuesFromSchema(fieldId: string): CustomFieldForm | undefined {\n if (!this.userSchema) {\n return;\n }\n\n const customField = DataExtensionSchemaService.toCustomField(\n this.userSchema,\n fieldId,\n );\n\n if (!customField || !customField.type || !customField.title) {\n return;\n }\n\n const { read, write } = customField['x-wix-permissions'];\n const readApps = read?.includes('apps');\n const readUsers = read?.includes('users-of-users');\n const writeApps = write?.includes('apps');\n const writeUsers = write?.includes('users-of-users');\n\n return {\n type: DataExtensionSchemaService.toCustomType(customField),\n name: customField.title,\n key: customField.id,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n };\n }\n\n openCustomFieldModal(params: {\n fieldId?: string;\n origin: CustomFieldOrigin;\n }) {\n const { customFieldModalState } = this;\n\n if (!customFieldModalState) {\n return;\n }\n\n const { customFieldModalBiReporter } = customFieldModalState;\n\n customFieldModalState.reset();\n customFieldModalState.mode = params.fieldId ? 'edit' : 'new';\n customFieldModalState.origin = params.origin;\n customFieldModalBiReporter.formSnapshot = null;\n\n if (this.userSchema && params.fieldId) {\n const formValues = this.extractFieldValuesFromSchema(params.fieldId);\n\n if (!formValues) {\n return;\n }\n\n customFieldModalState.setFormValues(formValues, {\n disablePermissionCheckboxes: true,\n });\n customFieldModalBiReporter.formSnapshot = formValues;\n }\n\n customFieldModalState.modalState.modal.open();\n }\n\n _toCustomField({\n key,\n schema,\n editable,\n owner,\n }: {\n key: string;\n schema: DataExtensionField;\n editable: boolean;\n owner: CustomFieldOwner;\n }): CustomField {\n return {\n id: key,\n label: schema?.title,\n maxLength: schema?.maxLength,\n options: schema?.enum,\n type: DataExtensionSchemaService.toCustomType(schema),\n editable,\n owner,\n };\n }\n\n private isSupportedFieldType(type?: string): type is DataExtensionType {\n if (!type) {\n return false;\n }\n return ['string', 'number', 'integer', 'boolean', 'array'].includes(type);\n }\n\n private getAvailableCustomFieldsInSchema(\n properties: {\n [key: string]: DataExtensionField;\n },\n {\n editable,\n requiredPermissions,\n owner,\n }: {\n editable: boolean;\n requiredPermissions?: DataExtensionPermission[];\n owner: CustomFieldOwner;\n },\n ): CustomField[] {\n return Object.keys(properties)\n .filter((key) => {\n const field = properties[key];\n return (\n !field['x-wix-archived'] &&\n this.isSupportedFieldType(field.type) &&\n (requiredPermissions == null ||\n includesAllReadPermissions(field, requiredPermissions))\n );\n })\n .sort((a, b) => {\n const aVal = new Date(properties[a]['x-wix-created-date']);\n const bVal = new Date(properties[b]['x-wix-created-date']);\n\n if (isNaN(bVal.valueOf()) || isNaN(aVal.valueOf())) {\n return 0;\n }\n\n return aVal.valueOf() - bVal.valueOf();\n })\n .map((key) =>\n this._toCustomField({ key, schema: properties[key], editable, owner }),\n );\n }\n\n /**\n * Available custom fields, excluding archived fields\n */\n get availableUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: true,\n owner: 'user',\n });\n }\n\n get availableAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, schema) => {\n const properties: { [key: string]: DataExtensionField } =\n schema?.jsonSchema?.properties || {};\n return [\n ...prev,\n ...this.getAvailableCustomFieldsInSchema(properties, {\n editable: false,\n requiredPermissions: ['users'],\n owner: 'app',\n }),\n ];\n }, [] as CustomField[]) ?? []\n );\n }\n\n get availableCustomFields(): CustomField[] {\n return [\n ...this.availableUserCustomFields,\n ...this.availableAppsCustomFields,\n ];\n }\n\n get allUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n\n return Object.keys(properties).map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: true,\n owner: 'user',\n }),\n );\n }\n\n get allAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, cur) => {\n const properties: { [key: string]: DataExtensionField } =\n cur?.jsonSchema?.properties || {};\n\n return prev.concat(\n Object.keys(properties).map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: false,\n owner: 'app',\n }),\n ),\n );\n }, [] as CustomField[]) ?? []\n );\n }\n\n get allCustomFields(): CustomField[] {\n return [...this.allUserCustomFields, ...this.allAppsCustomFields];\n }\n\n get isReachedMaxCustomFields() {\n return this.allUserCustomFields.length >= this.MAX_CUSTOM_FIELDS;\n }\n\n init() {\n const { initTask } = this;\n\n initTask.runOnce(async () => {\n await this.fetchSchemas();\n });\n }\n\n async fetchSchemas() {\n const { dataExtensionService } = this;\n\n if (this.isFqdnValid) {\n const { dataExtensionSchemas } = await dataExtensionService.fetchSchemas(\n this.fqdnString,\n );\n\n runInAction(() => {\n dataExtensionSchemas?.forEach((s) => {\n if (s.namespace === dataExtensionService.userFieldsNamespace) {\n this.userSchema = s;\n return;\n }\n this.appSchemas = this.appSchemas ? [...this.appSchemas, s] : [s];\n });\n });\n }\n }\n}\n"],"mappings":"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"}
@@ -5,14 +5,14 @@ exports.__esModule = true;
5
5
  exports.SelectState = void 0;
6
6
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
7
  var _mobx = require("mobx");
8
- var _SelectionStatusCairoPreset = require("./SelectionStatusCairoPreset");
8
+ var _SelectionStatusWixPatternsPreset = require("./SelectionStatusWixPatternsPreset");
9
9
  var _SelectMapState = require("./SelectMapState");
10
10
  class SelectState {
11
11
  constructor(params) {
12
12
  (0, _defineProperty2.default)(this, "keyGetter", void 0);
13
13
  (0, _defineProperty2.default)(this, "defaultStatus", void 0);
14
14
  (0, _defineProperty2.default)(this, "map", new _SelectMapState.SelectMapState());
15
- this.defaultStatus = params.defaultStatus ?? _SelectionStatusCairoPreset.selectionStatusWixPatternsPreset.unchecked;
15
+ this.defaultStatus = params.defaultStatus ?? _SelectionStatusWixPatternsPreset.selectionStatusWixPatternsPreset.unchecked;
16
16
  (0, _mobx.makeObservable)(this, {
17
17
  defaultStatus: _mobx.observable.ref,
18
18
  selectedValues: _mobx.computed,
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_SelectionStatusCairoPreset","_SelectMapState","SelectState","constructor","params","_defineProperty2","default","SelectMapState","defaultStatus","selectionStatusWixPatternsPreset","unchecked","makeObservable","observable","ref","selectedValues","computed","selectedKeys","isEmpty","isNotEmpty","isEmptyEnabledItems","isNotEmptyEnabledItems","selectedCount","toArray","selectedArray","set","action","delete","toggle","clear","syncValues","finalizeMany","setMany","filter","initSelected","keyGetter","startStatus","start","finalStatus","final","isChecked","key","_map$get","map","Boolean","get","status","value","entry","forceSet","deleteKey","length","Array","from","values","forceSetMany","entries","newEntry","startAll","predicate","selectedEnabledItems","selectionEntry","_map","events","listeners","every","listener","exports"],"sources":["../../../src/state/SelectState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport { SelectionStatus } from './SelectionStatus';\nimport { selectionStatusWixPatternsPreset } from './SelectionStatusCairoPreset';\nimport { SelectMapState } from './SelectMapState';\n\ntype KeyGetter<T> = (value: T) => string;\n\nexport interface SelectStateParams<T> {\n readonly keyGetter: KeyGetter<T>;\n readonly defaultStatus?: SelectionStatus;\n}\n\nexport interface SelectionEntry<T> {\n value: T;\n status: SelectionStatus;\n}\n\nexport class SelectState<T> {\n readonly keyGetter: KeyGetter<T>;\n\n defaultStatus;\n\n private readonly map = new SelectMapState<string, SelectionEntry<T>>();\n\n constructor(params: SelectStateParams<T>) {\n this.defaultStatus =\n params.defaultStatus ?? selectionStatusWixPatternsPreset.unchecked;\n\n makeObservable(this, {\n defaultStatus: observable.ref,\n selectedValues: computed,\n selectedKeys: computed,\n isEmpty: computed,\n isNotEmpty: computed,\n isEmptyEnabledItems: computed,\n isNotEmptyEnabledItems: computed,\n selectedCount: computed,\n toArray: computed,\n selectedArray: computed,\n set: action,\n delete: action,\n toggle: action,\n clear: action,\n syncValues: action,\n finalizeMany: action,\n setMany: action,\n filter: action,\n initSelected: action,\n });\n\n this.keyGetter = params.keyGetter;\n }\n\n get startStatus() {\n return this.defaultStatus.start();\n }\n\n get finalStatus() {\n return this.defaultStatus.final();\n }\n\n isChecked(key: string) {\n const { map } = this;\n return Boolean(map.get(key)?.status.isChecked);\n }\n\n toggle(value: T, { clear }: { clear?: boolean } = {}) {\n const { map, keyGetter, defaultStatus } = this;\n\n if (clear) {\n this.clear();\n }\n const key = keyGetter(value);\n\n const entry = map.get(key) ?? { value, status: defaultStatus };\n map.set(key, {\n ...entry,\n status: entry.status.toggle(),\n });\n }\n\n set(value: T) {\n const { keyGetter, map, finalStatus } = this;\n const key = keyGetter(value);\n map.set(key, { value, status: finalStatus });\n }\n\n forceSet(value: T) {\n const { keyGetter, map, finalStatus } = this;\n const key = keyGetter(value);\n map.forceSet(key, { value, status: finalStatus });\n }\n\n delete(value: T) {\n const { keyGetter, map, defaultStatus } = this;\n const key = keyGetter(value);\n map.set(key, {\n value,\n status: defaultStatus.start(),\n });\n }\n\n deleteKey(key: string) {\n const { map } = this;\n const entry = map.get(key);\n\n if (entry) {\n map.set(key, {\n ...entry,\n status: entry.status.start(),\n });\n }\n }\n\n get selectedCount() {\n return this.selectedArray.length;\n }\n\n get toArray() {\n return Array.from(this.map.values());\n }\n\n get selectedArray() {\n return this.toArray.filter(({ status }) => status.isChecked);\n }\n\n get selectedValues() {\n return this.selectedArray.map(({ value }) => value);\n }\n\n get selectedKeys() {\n const { keyGetter } = this;\n return this.selectedValues.map(keyGetter);\n }\n\n clear() {\n const { map } = this;\n map.clear();\n }\n\n forceSetMany(entries: SelectionEntry<T>[]) {\n const { map, keyGetter } = this;\n for (const entry of entries) {\n const key = keyGetter(entry.value);\n map.forceSet(key, entry);\n }\n }\n\n // backwards compatibility\n setMany(entries: SelectionEntry<T>[]) {\n return this.forceSetMany(entries);\n }\n\n syncValues(values: T[], status = this.defaultStatus) {\n const { map, keyGetter } = this;\n for (const value of values) {\n const key = keyGetter(value);\n const entry = map.get(key);\n const newEntry = entry ? { ...entry, value } : { value, status };\n map.forceSet(key, newEntry);\n }\n }\n\n initSelected(values: T[]) {\n const { map } = this;\n map.clear();\n this.forceSetMany(\n values.map((value) => ({\n value,\n status: this.finalStatus,\n })),\n );\n }\n\n finalizeMany(values: T[]) {\n const { map, keyGetter, finalStatus } = this;\n for (const value of values) {\n const key = keyGetter(value);\n map.set(key, { value, status: finalStatus });\n }\n }\n\n startAll() {\n const { map, startStatus } = this;\n const entries = Array.from(map.entries());\n for (const [key, entry] of entries) {\n map.set(key, {\n ...entry,\n status: startStatus,\n });\n }\n }\n\n filter(predicate: (value: T) => boolean) {\n const { map, selectedArray, keyGetter } = this;\n for (const { value, status } of selectedArray) {\n if (!predicate(value)) {\n map.set(keyGetter(value), {\n value,\n status: status.start(),\n });\n }\n }\n }\n\n get isNotEmpty() {\n return !this.isEmpty;\n }\n\n get isEmpty() {\n const { selectedArray } = this;\n return !selectedArray.length;\n }\n\n get isNotEmptyEnabledItems() {\n return !this.isEmptyEnabledItems;\n }\n\n get isEmptyEnabledItems() {\n const { selectedArray } = this;\n\n const selectedEnabledItems = selectedArray.filter((selectionEntry) =>\n this._map.events\n .listeners('isDisabled')\n .every((listener) => !listener(selectionEntry)),\n );\n\n return !selectedEnabledItems.length;\n }\n\n get _map() {\n return this.map;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_mobx","require","_SelectionStatusWixPatternsPreset","_SelectMapState","SelectState","constructor","params","_defineProperty2","default","SelectMapState","defaultStatus","selectionStatusWixPatternsPreset","unchecked","makeObservable","observable","ref","selectedValues","computed","selectedKeys","isEmpty","isNotEmpty","isEmptyEnabledItems","isNotEmptyEnabledItems","selectedCount","toArray","selectedArray","set","action","delete","toggle","clear","syncValues","finalizeMany","setMany","filter","initSelected","keyGetter","startStatus","start","finalStatus","final","isChecked","key","_map$get","map","Boolean","get","status","value","entry","forceSet","deleteKey","length","Array","from","values","forceSetMany","entries","newEntry","startAll","predicate","selectedEnabledItems","selectionEntry","_map","events","listeners","every","listener","exports"],"sources":["../../../src/state/SelectState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport { SelectionStatus } from './SelectionStatus';\nimport { selectionStatusWixPatternsPreset } from './SelectionStatusWixPatternsPreset';\nimport { SelectMapState } from './SelectMapState';\n\ntype KeyGetter<T> = (value: T) => string;\n\nexport interface SelectStateParams<T> {\n readonly keyGetter: KeyGetter<T>;\n readonly defaultStatus?: SelectionStatus;\n}\n\nexport interface SelectionEntry<T> {\n value: T;\n status: SelectionStatus;\n}\n\nexport class SelectState<T> {\n readonly keyGetter: KeyGetter<T>;\n\n defaultStatus;\n\n private readonly map = new SelectMapState<string, SelectionEntry<T>>();\n\n constructor(params: SelectStateParams<T>) {\n this.defaultStatus =\n params.defaultStatus ?? selectionStatusWixPatternsPreset.unchecked;\n\n makeObservable(this, {\n defaultStatus: observable.ref,\n selectedValues: computed,\n selectedKeys: computed,\n isEmpty: computed,\n isNotEmpty: computed,\n isEmptyEnabledItems: computed,\n isNotEmptyEnabledItems: computed,\n selectedCount: computed,\n toArray: computed,\n selectedArray: computed,\n set: action,\n delete: action,\n toggle: action,\n clear: action,\n syncValues: action,\n finalizeMany: action,\n setMany: action,\n filter: action,\n initSelected: action,\n });\n\n this.keyGetter = params.keyGetter;\n }\n\n get startStatus() {\n return this.defaultStatus.start();\n }\n\n get finalStatus() {\n return this.defaultStatus.final();\n }\n\n isChecked(key: string) {\n const { map } = this;\n return Boolean(map.get(key)?.status.isChecked);\n }\n\n toggle(value: T, { clear }: { clear?: boolean } = {}) {\n const { map, keyGetter, defaultStatus } = this;\n\n if (clear) {\n this.clear();\n }\n const key = keyGetter(value);\n\n const entry = map.get(key) ?? { value, status: defaultStatus };\n map.set(key, {\n ...entry,\n status: entry.status.toggle(),\n });\n }\n\n set(value: T) {\n const { keyGetter, map, finalStatus } = this;\n const key = keyGetter(value);\n map.set(key, { value, status: finalStatus });\n }\n\n forceSet(value: T) {\n const { keyGetter, map, finalStatus } = this;\n const key = keyGetter(value);\n map.forceSet(key, { value, status: finalStatus });\n }\n\n delete(value: T) {\n const { keyGetter, map, defaultStatus } = this;\n const key = keyGetter(value);\n map.set(key, {\n value,\n status: defaultStatus.start(),\n });\n }\n\n deleteKey(key: string) {\n const { map } = this;\n const entry = map.get(key);\n\n if (entry) {\n map.set(key, {\n ...entry,\n status: entry.status.start(),\n });\n }\n }\n\n get selectedCount() {\n return this.selectedArray.length;\n }\n\n get toArray() {\n return Array.from(this.map.values());\n }\n\n get selectedArray() {\n return this.toArray.filter(({ status }) => status.isChecked);\n }\n\n get selectedValues() {\n return this.selectedArray.map(({ value }) => value);\n }\n\n get selectedKeys() {\n const { keyGetter } = this;\n return this.selectedValues.map(keyGetter);\n }\n\n clear() {\n const { map } = this;\n map.clear();\n }\n\n forceSetMany(entries: SelectionEntry<T>[]) {\n const { map, keyGetter } = this;\n for (const entry of entries) {\n const key = keyGetter(entry.value);\n map.forceSet(key, entry);\n }\n }\n\n // backwards compatibility\n setMany(entries: SelectionEntry<T>[]) {\n return this.forceSetMany(entries);\n }\n\n syncValues(values: T[], status = this.defaultStatus) {\n const { map, keyGetter } = this;\n for (const value of values) {\n const key = keyGetter(value);\n const entry = map.get(key);\n const newEntry = entry ? { ...entry, value } : { value, status };\n map.forceSet(key, newEntry);\n }\n }\n\n initSelected(values: T[]) {\n const { map } = this;\n map.clear();\n this.forceSetMany(\n values.map((value) => ({\n value,\n status: this.finalStatus,\n })),\n );\n }\n\n finalizeMany(values: T[]) {\n const { map, keyGetter, finalStatus } = this;\n for (const value of values) {\n const key = keyGetter(value);\n map.set(key, { value, status: finalStatus });\n }\n }\n\n startAll() {\n const { map, startStatus } = this;\n const entries = Array.from(map.entries());\n for (const [key, entry] of entries) {\n map.set(key, {\n ...entry,\n status: startStatus,\n });\n }\n }\n\n filter(predicate: (value: T) => boolean) {\n const { map, selectedArray, keyGetter } = this;\n for (const { value, status } of selectedArray) {\n if (!predicate(value)) {\n map.set(keyGetter(value), {\n value,\n status: status.start(),\n });\n }\n }\n }\n\n get isNotEmpty() {\n return !this.isEmpty;\n }\n\n get isEmpty() {\n const { selectedArray } = this;\n return !selectedArray.length;\n }\n\n get isNotEmptyEnabledItems() {\n return !this.isEmptyEnabledItems;\n }\n\n get isEmptyEnabledItems() {\n const { selectedArray } = this;\n\n const selectedEnabledItems = selectedArray.filter((selectionEntry) =>\n this._map.events\n .listeners('isDisabled')\n .every((listener) => !listener(selectionEntry)),\n );\n\n return !selectedEnabledItems.length;\n }\n\n get _map() {\n return this.map;\n }\n}\n"],"mappings":"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"}
@@ -49,4 +49,4 @@ class SelectionStatusWixPatternsPreset {
49
49
  }
50
50
  }
51
51
  const selectionStatusWixPatternsPreset = exports.selectionStatusWixPatternsPreset = new SelectionStatusWixPatternsPreset();
52
- //# sourceMappingURL=SelectionStatusCairoPreset.js.map
52
+ //# sourceMappingURL=SelectionStatusWixPatternsPreset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SelectionStatusWixPatternsPreset","constructor","_defineProperty2","default","id","toggle","checked","start","unchecked","final","isChecked","isIndeterminate","indeterminate","indeterminateUnchecked","indeterminateChecked","selectionStatusWixPatternsPreset","exports"],"sources":["../../../src/state/SelectionStatusWixPatternsPreset.ts"],"sourcesContent":["import { SelectionStatus } from './SelectionStatus';\n\nclass SelectionStatusWixPatternsPreset {\n readonly unchecked: SelectionStatus = {\n id: 'unchecked',\n toggle: () => this.checked,\n start: () => this.unchecked,\n final: () => this.checked,\n isChecked: false,\n isIndeterminate: false,\n };\n\n readonly checked: SelectionStatus = {\n id: 'checked',\n toggle: () => this.unchecked,\n start: () => this.unchecked,\n final: () => this.checked,\n isChecked: true,\n isIndeterminate: false,\n };\n\n readonly indeterminateUnchecked: SelectionStatus = {\n id: 'indeterminateUnchecked',\n toggle: () => this.indeterminate,\n start: () => this.indeterminateUnchecked,\n final: () => this.indeterminateChecked,\n isChecked: false,\n isIndeterminate: false,\n };\n\n readonly indeterminate: SelectionStatus = {\n id: 'indeterminate',\n toggle: () => this.indeterminateChecked,\n start: () => this.indeterminateUnchecked,\n final: () => this.indeterminateChecked,\n isChecked: true,\n isIndeterminate: true,\n };\n\n readonly indeterminateChecked: SelectionStatus = {\n id: 'indeterminateChecked',\n toggle: () => this.indeterminateUnchecked,\n start: () => this.indeterminateUnchecked,\n final: () => this.indeterminateChecked,\n isChecked: true,\n isIndeterminate: false,\n };\n}\n\nexport const selectionStatusWixPatternsPreset =\n new SelectionStatusWixPatternsPreset();\n"],"mappings":";;;;;;AAEA,MAAMA,gCAAgC,CAAC;EAAAC,YAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,qBACC;MACpCC,EAAE,EAAE,WAAW;MACfC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACC,OAAO;MAC1BC,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACC,SAAS;MAC3BC,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACH,OAAO;MACzBI,SAAS,EAAE,KAAK;MAChBC,eAAe,EAAE;IACnB,CAAC;IAAA,IAAAT,gBAAA,CAAAC,OAAA,mBAEmC;MAClCC,EAAE,EAAE,SAAS;MACbC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACG,SAAS;MAC5BD,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACC,SAAS;MAC3BC,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACH,OAAO;MACzBI,SAAS,EAAE,IAAI;MACfC,eAAe,EAAE;IACnB,CAAC;IAAA,IAAAT,gBAAA,CAAAC,OAAA,kCAEkD;MACjDC,EAAE,EAAE,wBAAwB;MAC5BC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACO,aAAa;MAChCL,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACM,sBAAsB;MACxCJ,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACK,oBAAoB;MACtCJ,SAAS,EAAE,KAAK;MAChBC,eAAe,EAAE;IACnB,CAAC;IAAA,IAAAT,gBAAA,CAAAC,OAAA,yBAEyC;MACxCC,EAAE,EAAE,eAAe;MACnBC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACS,oBAAoB;MACvCP,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACM,sBAAsB;MACxCJ,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACK,oBAAoB;MACtCJ,SAAS,EAAE,IAAI;MACfC,eAAe,EAAE;IACnB,CAAC;IAAA,IAAAT,gBAAA,CAAAC,OAAA,gCAEgD;MAC/CC,EAAE,EAAE,sBAAsB;MAC1BC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACQ,sBAAsB;MACzCN,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACM,sBAAsB;MACxCJ,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACK,oBAAoB;MACtCJ,SAAS,EAAE,IAAI;MACfC,eAAe,EAAE;IACnB,CAAC;EAAA;AACH;AAEO,MAAMI,gCAAgC,GAAAC,OAAA,CAAAD,gCAAA,GAC3C,IAAIf,gCAAgC,CAAC,CAAC"}