@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
@@ -0,0 +1,325 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.TagsAssignmentState = void 0;
6
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _v = require("@wix/bex-utils/@wix/bi-logger-cairo-os/v2");
8
+ var _uuid = require("uuid");
9
+ var _mobx = require("mobx");
10
+ var _CollectionOptimisticActions = require("../CollectionOptimisticActions");
11
+ var _TaskState = require("../TaskState");
12
+ var _CollectionState = require("../CollectionState");
13
+ var _util = require("../../util");
14
+ class TagsAssignmentState {
15
+ constructor({
16
+ tagsManagementState,
17
+ entityId,
18
+ origin,
19
+ tagsBIReporter,
20
+ ...params
21
+ }) {
22
+ (0, _defineProperty2.default)(this, "tagsManagementState", void 0);
23
+ (0, _defineProperty2.default)(this, "origin", void 0);
24
+ (0, _defineProperty2.default)(this, "tagsBIReporter", void 0);
25
+ (0, _defineProperty2.default)(this, "initTask", new _TaskState.TaskState());
26
+ (0, _defineProperty2.default)(this, "collection", void 0);
27
+ (0, _defineProperty2.default)(this, "optimisticActions", void 0);
28
+ (0, _defineProperty2.default)(this, "entityId", void 0);
29
+ (0, _defineProperty2.default)(this, "initialTags", []);
30
+ (0, _defineProperty2.default)(this, "fqdn", void 0);
31
+ (0, _defineProperty2.default)(this, "assignTag", async ({
32
+ tag,
33
+ onSubmit,
34
+ isFromSearch,
35
+ optimisticActionParams
36
+ }) => {
37
+ if (this.assignedTagIds.includes(tag.id)) {
38
+ return;
39
+ }
40
+ const newIndex = this._getNewIndex();
41
+ await this.optimisticActions.createOne({
42
+ id: tag.id,
43
+ index: newIndex
44
+ }, {
45
+ ...optimisticActionParams,
46
+ submit: async _ => {
47
+ await this._assignTag({
48
+ tagIds: this.assignedTagIds,
49
+ tag,
50
+ onSubmit,
51
+ isFromSearch
52
+ });
53
+ return [{
54
+ id: tag.id,
55
+ index: newIndex
56
+ }];
57
+ }
58
+ });
59
+ });
60
+ (0, _defineProperty2.default)(this, "unassignTag", async ({
61
+ tag,
62
+ onSubmit,
63
+ isFromSearch = false,
64
+ optimisticActionParams
65
+ }) => {
66
+ const tagToUnassign = this.collection.result.items.find(t => t.id === tag.id);
67
+ await this.optimisticActions.deleteOne(tagToUnassign, {
68
+ ...optimisticActionParams,
69
+ submit: async () => {
70
+ this._invokeBiOnAssignUnassign({
71
+ actionName: 'Remove',
72
+ tag,
73
+ isFromSearch
74
+ });
75
+ await (onSubmit == null ? void 0 : onSubmit({
76
+ privateTags: {
77
+ tagIds: this.assignedTagIds.filter(id => id !== tag.id)
78
+ }
79
+ }));
80
+ }
81
+ });
82
+ });
83
+ (0, _defineProperty2.default)(this, "createAndAssignTag", async ({
84
+ name,
85
+ id = (0, _uuid.v4)(),
86
+ filteredListSize,
87
+ onSubmit,
88
+ assignOptimisticActionParams,
89
+ createOptimisticActionParams
90
+ }) => {
91
+ const newIndex = this._getNewIndex();
92
+ this.optimisticActions.createOne({
93
+ id,
94
+ index: newIndex
95
+ }, {
96
+ ...assignOptimisticActionParams,
97
+ submit: async _ => {
98
+ const newTag = await this._createAndAssign({
99
+ name,
100
+ id,
101
+ filteredListSize,
102
+ onSubmit,
103
+ createOptimisticActionParams
104
+ });
105
+ return [{
106
+ id: newTag.id,
107
+ index: newIndex
108
+ }];
109
+ }
110
+ });
111
+ });
112
+ (0, _defineProperty2.default)(this, "_assignTag", async ({
113
+ tagIds,
114
+ tag,
115
+ onSubmit,
116
+ isFromSearch
117
+ }) => {
118
+ this._invokeBiOnAssignUnassign({
119
+ actionName: 'Assign',
120
+ tag,
121
+ isFromSearch
122
+ });
123
+ await (onSubmit == null ? void 0 : onSubmit({
124
+ privateTags: {
125
+ tagIds: Array.from(new Set([...tagIds, tag.id]))
126
+ }
127
+ }));
128
+ });
129
+ (0, _defineProperty2.default)(this, "_createAndAssign", async ({
130
+ name,
131
+ id,
132
+ filteredListSize,
133
+ onSubmit,
134
+ createOptimisticActionParams
135
+ }) => {
136
+ const isFromSearch = true;
137
+ let assignError;
138
+ let newTag = this.tagsManagementState.items.find(tag => tag.name === name);
139
+ if (newTag) {
140
+ await this._assignTag({
141
+ tagIds: this.assignedTagIds.filter(tagId => tagId !== id),
142
+ tag: newTag,
143
+ onSubmit,
144
+ isFromSearch
145
+ });
146
+ return newTag;
147
+ }
148
+ newTag = await this._createTag({
149
+ name,
150
+ id,
151
+ filteredListSize,
152
+ isFromSearch,
153
+ createOptimisticActionParams,
154
+ onCreateSuccess: async newTag => {
155
+ try {
156
+ await this._assignTag({
157
+ tagIds: this.assignedTagIds.filter(tagId => tagId !== id),
158
+ tag: newTag,
159
+ onSubmit,
160
+ isFromSearch
161
+ });
162
+ } catch (error) {
163
+ assignError = error;
164
+ }
165
+ }
166
+ });
167
+
168
+ // We want to throw assign exception in assign optimistic context so assign tryAgain (and not create) will be triggered
169
+ if (assignError) {
170
+ throw assignError;
171
+ }
172
+ return newTag;
173
+ });
174
+ (0, _defineProperty2.default)(this, "_createTag", async ({
175
+ name,
176
+ id,
177
+ filteredListSize,
178
+ isFromSearch,
179
+ onCreateSuccess,
180
+ createOptimisticActionParams
181
+ }) => {
182
+ return new Promise(async resolve => {
183
+ await this.tagsManagementState.createTag({
184
+ name,
185
+ id,
186
+ filteredListSize,
187
+ origin: this.origin,
188
+ isFromSearch,
189
+ tagsBIReporter: this.tagsBIReporter,
190
+ optimisticActionParams: createOptimisticActionParams,
191
+ onSuccess: async newTag => {
192
+ await (onCreateSuccess == null ? void 0 : onCreateSuccess(newTag));
193
+ resolve(newTag);
194
+ }
195
+ });
196
+ });
197
+ });
198
+ this.tagsManagementState = tagsManagementState;
199
+ this.origin = origin;
200
+ this.tagsBIReporter = tagsBIReporter;
201
+ this.fqdn = params.fqdn;
202
+ (0, _mobx.makeObservable)(this, {
203
+ initialTags: _mobx.observable,
204
+ init: _mobx.action,
205
+ assignTag: _mobx.action,
206
+ createAndAssignTag: _mobx.action,
207
+ unassignTag: _mobx.action,
208
+ clear: _mobx.action,
209
+ assignedTags: _mobx.computed,
210
+ initialTagIds: _mobx.computed,
211
+ isDirty: _mobx.computed
212
+ });
213
+ this.collection = new _CollectionState.CollectionState({
214
+ ...tagsManagementState.container,
215
+ events: {},
216
+ queryName: [this.fqdnString, origin, entityId].join('/'),
217
+ fetchData: async () => {
218
+ return {
219
+ items: this.initialTags,
220
+ total: this.initialTags.length
221
+ };
222
+ },
223
+ itemKey: tag => tag.id,
224
+ itemName: tag => tag.id,
225
+ fetchErrorMessage: () => '',
226
+ filters: {}
227
+ });
228
+ this.optimisticActions = new _CollectionOptimisticActions.CollectionOptimisticActions({
229
+ collection: this.collection,
230
+ container: tagsManagementState.container,
231
+ orderBy: () => [{
232
+ fieldName: ({
233
+ index
234
+ }) => index,
235
+ order: 'asc'
236
+ }]
237
+ });
238
+ }
239
+ init({
240
+ initialTags,
241
+ entityId
242
+ }) {
243
+ var _initialTags$privateT;
244
+ this.initialTags = Array.from(new Set((initialTags == null || (_initialTags$privateT = initialTags.privateTags) == null ? void 0 : _initialTags$privateT.tagIds) || [])).map((id, index) => ({
245
+ index,
246
+ id
247
+ }));
248
+ this.entityId = entityId ?? undefined;
249
+ const {
250
+ collection,
251
+ optimisticActions
252
+ } = this;
253
+ const disposers = [collection.init(), optimisticActions.init()];
254
+ this.initTask.runOnce(async () => {
255
+ await collection.initTask.status.promise;
256
+ this.tagsManagementState.init();
257
+ await this.tagsManagementState.initTask.status.promise;
258
+ });
259
+ return () => {
260
+ disposers.forEach(disposer => disposer());
261
+ };
262
+ }
263
+ get fqdnString() {
264
+ return (0, _util.fqdnToString)(this.fqdn);
265
+ }
266
+ get isLoading() {
267
+ const {
268
+ status
269
+ } = this.tagsManagementState.initTask;
270
+ return status.isIdle || status.isLoading || this.initTask.status.isLoading;
271
+ }
272
+ get isError() {
273
+ return this.tagsManagementState.initTask.status.isError || this.initTask.status.isError;
274
+ }
275
+ retry() {
276
+ this.initTask.runOnce();
277
+ }
278
+ get assignedTags() {
279
+ var _this$collection$resu;
280
+ return (_this$collection$resu = this.collection.result.items) == null ? void 0 : _this$collection$resu.map(({
281
+ id
282
+ }) => {
283
+ return this.tagsManagementState.items.find(tag => tag.id === id);
284
+ }).filter(Boolean);
285
+ }
286
+ get assignedTagIds() {
287
+ return this.collection.result.items.map(tag => tag.id);
288
+ }
289
+ get initialTagIds() {
290
+ return this.initialTags.map(tag => tag.id);
291
+ }
292
+ clear() {
293
+ this.collection.result.clear();
294
+ }
295
+ get isDirty() {
296
+ if (this.initialTagIds.length !== this.assignedTagIds.length) {
297
+ return true;
298
+ }
299
+ const unassigendTagIds = this.initialTagIds.filter(id => !this.assignedTagIds.includes(id));
300
+ const assignedTagIds = this.assignedTagIds.filter(id => !this.initialTagIds.includes(id));
301
+ return unassigendTagIds.length !== 0 || assignedTagIds.length !== 0;
302
+ }
303
+ _invokeBiOnAssignUnassign({
304
+ actionName,
305
+ tag,
306
+ isFromSearch = false
307
+ }) {
308
+ this.tagsBIReporter.reportBi((0, _v.cairoTagsAssignTag)({
309
+ actionName,
310
+ isFromSearch,
311
+ itemId: this.entityId,
312
+ numItems: 1,
313
+ numTags: this.tagsManagementState.items.length,
314
+ numTagsAssigned: this.assignedTags.length,
315
+ tagName: tag.name,
316
+ origin: this.origin
317
+ }));
318
+ }
319
+ _getNewIndex() {
320
+ const max = Math.max(0, ...this.collection.result.items.map(tag => tag.index));
321
+ return max + 1;
322
+ }
323
+ }
324
+ exports.TagsAssignmentState = TagsAssignmentState;
325
+ //# sourceMappingURL=TagsAssignmentState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_v","require","_uuid","_mobx","_CollectionOptimisticActions","_TaskState","_CollectionState","_util","TagsAssignmentState","constructor","tagsManagementState","entityId","origin","tagsBIReporter","params","_defineProperty2","default","TaskState","tag","onSubmit","isFromSearch","optimisticActionParams","assignedTagIds","includes","id","newIndex","_getNewIndex","optimisticActions","createOne","index","submit","_","_assignTag","tagIds","tagToUnassign","collection","result","items","find","t","deleteOne","_invokeBiOnAssignUnassign","actionName","privateTags","filter","name","uuid","filteredListSize","assignOptimisticActionParams","createOptimisticActionParams","newTag","_createAndAssign","Array","from","Set","assignError","tagId","_createTag","onCreateSuccess","error","Promise","resolve","createTag","onSuccess","fqdn","makeObservable","initialTags","observable","init","action","assignTag","createAndAssignTag","unassignTag","clear","assignedTags","computed","initialTagIds","isDirty","CollectionState","container","events","queryName","fqdnString","join","fetchData","total","length","itemKey","itemName","fetchErrorMessage","filters","CollectionOptimisticActions","orderBy","fieldName","order","_initialTags$privateT","map","undefined","disposers","initTask","runOnce","status","promise","forEach","disposer","fqdnToString","isLoading","isIdle","isError","retry","_this$collection$resu","Boolean","unassigendTagIds","reportBi","cairoTagsAssignTag","itemId","numItems","numTags","numTagsAssigned","tagName","max","Math","exports"],"sources":["../../../../src/state/TagsState/TagsAssignmentState.ts"],"sourcesContent":["import { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { TagsManagementState } from './TagsManagementState';\nimport { TagsBIReporter } from './TagsBIReporter';\nimport { cairoTagsAssignTag } from '@wix/bex-utils/@wix/bi-logger-cairo-os/v2';\nimport { Tags } from './tagsTypes';\nimport { v4 as uuid } from 'uuid';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { Fqdn } from '../../model';\nimport {\n CollectionOptimisticActions,\n CreateManyParams,\n DeleteManyParams,\n} from '../CollectionOptimisticActions';\nimport { TaskState } from '../TaskState';\nimport { CollectionState } from '../CollectionState';\nimport { fqdnToString } from '../../util';\n\nexport type onSubmitTagsFuncType = (tags: Tags) => void;\n\nexport interface TagsAssignmentStateParams {\n readonly tagsManagementState: TagsManagementState;\n readonly entityId?: string;\n readonly origin: string;\n readonly fqdn: Fqdn;\n readonly tagsBIReporter: TagsBIReporter;\n}\n\nexport interface CreateAndAssignParams {\n name: string;\n id?: string;\n filteredListSize: number;\n onSubmit?: onSubmitTagsFuncType;\n isFromSearch?: boolean;\n assignOptimisticActionParams?: Partial<CreateManyParams<Tag>>;\n createOptimisticActionParams?: Partial<CreateManyParams<Tag>>;\n}\n\ninterface TagAssignment {\n id: string;\n index: number;\n}\n\nexport class TagsAssignmentState {\n readonly tagsManagementState: TagsManagementState;\n readonly origin;\n readonly tagsBIReporter: TagsBIReporter;\n readonly initTask = new TaskState();\n readonly collection: CollectionState<TagAssignment>;\n readonly optimisticActions: CollectionOptimisticActions<TagAssignment, {}>;\n entityId?: string;\n initialTags: TagAssignment[] = [];\n readonly fqdn;\n\n constructor({\n tagsManagementState,\n entityId,\n origin,\n tagsBIReporter,\n ...params\n }: TagsAssignmentStateParams) {\n this.tagsManagementState = tagsManagementState;\n this.origin = origin;\n this.tagsBIReporter = tagsBIReporter;\n this.fqdn = params.fqdn;\n\n makeObservable(this, {\n initialTags: observable,\n init: action,\n assignTag: action,\n createAndAssignTag: action,\n unassignTag: action,\n clear: action,\n assignedTags: computed,\n initialTagIds: computed,\n isDirty: computed,\n });\n this.collection = new CollectionState<TagAssignment>({\n ...tagsManagementState.container,\n events: {},\n queryName: [this.fqdnString, origin, entityId].join('/'),\n fetchData: async () => {\n return {\n items: this.initialTags,\n total: this.initialTags.length,\n };\n },\n itemKey: (tag) => tag.id,\n itemName: (tag) => tag.id,\n fetchErrorMessage: () => '',\n filters: {},\n });\n\n this.optimisticActions = new CollectionOptimisticActions<TagAssignment, {}>(\n {\n collection: this.collection,\n container: tagsManagementState.container,\n orderBy: () => [\n {\n fieldName: ({ index }) => index,\n order: 'asc',\n },\n ],\n },\n );\n }\n\n init({\n initialTags,\n entityId,\n }: {\n initialTags?: Tags;\n entityId?: string | null;\n }) {\n this.initialTags = Array.from(\n new Set(initialTags?.privateTags?.tagIds || []),\n ).map((id, index) => ({\n index,\n id,\n }));\n this.entityId = entityId ?? undefined;\n\n const { collection, optimisticActions } = this;\n\n const disposers = [collection.init(), optimisticActions.init()];\n\n this.initTask.runOnce(async () => {\n await collection.initTask.status.promise;\n\n this.tagsManagementState.init();\n await this.tagsManagementState.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isLoading() {\n const { status } = this.tagsManagementState.initTask;\n return status.isIdle || status.isLoading || this.initTask.status.isLoading;\n }\n\n get isError() {\n return (\n this.tagsManagementState.initTask.status.isError ||\n this.initTask.status.isError\n );\n }\n\n retry() {\n this.initTask.runOnce();\n }\n\n get assignedTags() {\n return this.collection.result.items\n ?.map(({ id }) => {\n return this.tagsManagementState.items.find((tag: Tag) => tag.id === id);\n })\n .filter(Boolean) as Tag[];\n }\n\n get assignedTagIds() {\n return this.collection.result.items.map((tag) => tag.id);\n }\n\n get initialTagIds() {\n return this.initialTags.map((tag) => tag.id);\n }\n\n clear() {\n this.collection.result.clear();\n }\n\n assignTag = async ({\n tag,\n onSubmit,\n isFromSearch,\n optimisticActionParams,\n }: {\n tag: Tag;\n onSubmit?: onSubmitTagsFuncType;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<CreateManyParams<Tag>>;\n }) => {\n if (this.assignedTagIds.includes(tag.id!)) {\n return;\n }\n const newIndex = this._getNewIndex();\n\n await this.optimisticActions.createOne(\n { id: tag.id!, index: newIndex },\n {\n ...optimisticActionParams,\n submit: async (_: any) => {\n await this._assignTag({\n tagIds: this.assignedTagIds,\n tag,\n onSubmit,\n isFromSearch,\n });\n\n return [{ id: tag.id!, index: newIndex }];\n },\n },\n );\n };\n\n unassignTag = async ({\n tag,\n onSubmit,\n isFromSearch = false,\n optimisticActionParams,\n }: {\n tag: Tag;\n onSubmit?: onSubmitTagsFuncType;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<DeleteManyParams<Tag, {}>>;\n }) => {\n const tagToUnassign = this.collection.result.items.find(\n (t) => t.id === tag.id,\n );\n\n await this.optimisticActions.deleteOne(tagToUnassign!, {\n ...optimisticActionParams,\n submit: async () => {\n this._invokeBiOnAssignUnassign({\n actionName: 'Remove',\n tag,\n isFromSearch,\n });\n\n await onSubmit?.({\n privateTags: {\n tagIds: this.assignedTagIds.filter((id: string) => id !== tag.id),\n },\n });\n },\n });\n };\n\n createAndAssignTag = async ({\n name,\n id = uuid(),\n filteredListSize,\n onSubmit,\n assignOptimisticActionParams,\n createOptimisticActionParams,\n }: CreateAndAssignParams) => {\n const newIndex = this._getNewIndex();\n\n this.optimisticActions.createOne(\n { id, index: newIndex },\n {\n ...assignOptimisticActionParams,\n submit: async (_) => {\n const newTag = await this._createAndAssign({\n name,\n id,\n filteredListSize,\n onSubmit,\n createOptimisticActionParams,\n });\n return [{ id: newTag.id!, index: newIndex }];\n },\n },\n );\n };\n\n get isDirty() {\n if (this.initialTagIds.length !== this.assignedTagIds.length) {\n return true;\n }\n\n const unassigendTagIds = this.initialTagIds.filter(\n (id) => !this.assignedTagIds.includes(id),\n );\n const assignedTagIds = this.assignedTagIds.filter(\n (id) => !this.initialTagIds.includes(id),\n );\n\n return unassigendTagIds.length !== 0 || assignedTagIds.length !== 0;\n }\n\n private _assignTag = async ({\n tagIds,\n tag,\n onSubmit,\n isFromSearch,\n }: {\n tagIds: string[];\n tag: Tag;\n onSubmit?: onSubmitTagsFuncType;\n isFromSearch?: boolean;\n }) => {\n this._invokeBiOnAssignUnassign({\n actionName: 'Assign',\n tag,\n isFromSearch,\n });\n await onSubmit?.({\n privateTags: {\n tagIds: Array.from(new Set([...tagIds, tag.id])) as string[],\n },\n });\n };\n\n private _createAndAssign = async ({\n name,\n id,\n filteredListSize,\n onSubmit,\n createOptimisticActionParams,\n }: CreateAndAssignParams) => {\n const isFromSearch = true;\n let assignError: unknown;\n\n let newTag = this.tagsManagementState.items.find(\n (tag: Tag) => tag.name === name,\n );\n if (newTag) {\n await this._assignTag({\n tagIds: this.assignedTagIds.filter((tagId) => tagId !== id),\n tag: newTag,\n onSubmit,\n isFromSearch,\n });\n\n return newTag;\n }\n newTag = await this._createTag({\n name,\n id,\n filteredListSize,\n isFromSearch,\n createOptimisticActionParams,\n onCreateSuccess: async (newTag) => {\n try {\n await this._assignTag({\n tagIds: this.assignedTagIds.filter((tagId) => tagId !== id),\n tag: newTag,\n onSubmit,\n isFromSearch,\n });\n } catch (error: unknown) {\n assignError = error;\n }\n },\n });\n\n // We want to throw assign exception in assign optimistic context so assign tryAgain (and not create) will be triggered\n if (assignError) {\n throw assignError;\n }\n return newTag;\n };\n\n private _createTag = async ({\n name,\n id,\n filteredListSize,\n isFromSearch,\n onCreateSuccess,\n createOptimisticActionParams,\n }: CreateAndAssignParams & { onCreateSuccess: (newTag: Tag) => void }) => {\n return new Promise<Tag>(async (resolve) => {\n await this.tagsManagementState.createTag({\n name,\n id,\n filteredListSize,\n origin: this.origin,\n isFromSearch,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: createOptimisticActionParams,\n onSuccess: async (newTag) => {\n await onCreateSuccess?.(newTag);\n resolve(newTag);\n },\n });\n });\n };\n\n private _invokeBiOnAssignUnassign({\n actionName,\n tag,\n isFromSearch = false,\n }: {\n actionName: string;\n tag: Tag;\n isFromSearch?: boolean;\n }) {\n this.tagsBIReporter.reportBi(\n cairoTagsAssignTag({\n actionName,\n isFromSearch,\n itemId: this.entityId,\n numItems: 1,\n numTags: this.tagsManagementState.items.length,\n numTagsAssigned: this.assignedTags.length,\n tagName: tag.name!,\n origin: this.origin,\n }),\n );\n }\n\n private _getNewIndex() {\n const max = Math.max(\n 0,\n ...this.collection.result.items.map((tag) => tag.index!),\n );\n\n return max + 1;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.TagsBIReporter = void 0;
6
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _v = require("@wix/bex-utils/@wix/bi-logger-cairo-os/v2");
8
+ var _events = _interopRequireDefault(require("events"));
9
+ var _util = require("../../util");
10
+ const ACTIONS = {
11
+ 'Add tag': 'Add',
12
+ 'Rename tag': 'Rename',
13
+ 'Delete tag': 'Delete'
14
+ };
15
+ const withoutDefaults = (0, _util.withoutIrrelevant)();
16
+ class TagsBIReporter {
17
+ constructor(params) {
18
+ (0, _defineProperty2.default)(this, "collection", void 0);
19
+ (0, _defineProperty2.default)(this, "reportBi", void 0);
20
+ (0, _defineProperty2.default)(this, "location", void 0);
21
+ (0, _defineProperty2.default)(this, "events", new _events.default());
22
+ (0, _defineProperty2.default)(this, "actionsMade", {
23
+ Add: false,
24
+ Delete: false,
25
+ Rename: false
26
+ });
27
+ this.collection = params.collection;
28
+ this.reportBi = params.reportBi;
29
+ this.location = params.location;
30
+ }
31
+ set setActionsMade(actionName) {
32
+ if (!(actionName in ACTIONS)) {
33
+ throw Error(`Unknown action ${actionName} was invoked`);
34
+ }
35
+ const action = ACTIONS[actionName];
36
+ this.actionsMade = {
37
+ ...this.actionsMade,
38
+ [action]: true
39
+ };
40
+ }
41
+ resetActionsMade() {
42
+ this.actionsMade = {
43
+ Add: false,
44
+ Delete: false,
45
+ Rename: false
46
+ };
47
+ }
48
+ _clearAllEvents() {
49
+ const {
50
+ events
51
+ } = this;
52
+ events.removeAllListeners('select');
53
+ events.removeAllListeners('blur');
54
+ events.removeAllListeners('add');
55
+ events.removeAllListeners('clear');
56
+ }
57
+ _getErrorType(e) {
58
+ const isNetworkError = (e == null ? void 0 : e.code) === 'ERR_NETWORK';
59
+ return isNetworkError ? 'Network error' : 'Technical issue';
60
+ }
61
+ onSearch(searchValue) {
62
+ const {
63
+ events
64
+ } = this;
65
+ const afterSearchParams = {
66
+ searchResultsCnt: this.collection.result.items.filter(item => item.name.toLowerCase().includes(searchValue.toLowerCase())).length,
67
+ searchTerm: searchValue
68
+ };
69
+ const reportTagSelectedSearchBI = () => {
70
+ this._clearAllEvents();
71
+ this.reportBi(withoutDefaults(_v.cairoSearchForTags)({
72
+ ...afterSearchParams,
73
+ location: this.location,
74
+ endType: 'Tag selected'
75
+ }));
76
+ };
77
+ const reportSearchDismissedSearchBI = () => {
78
+ this._clearAllEvents();
79
+ this.reportBi(withoutDefaults(_v.cairoSearchForTags)({
80
+ ...afterSearchParams,
81
+ location: this.location,
82
+ endType: 'Search dismissed'
83
+ }));
84
+ };
85
+ const reportAddNewFromSearchBI = () => {
86
+ this._clearAllEvents();
87
+ this.reportBi(withoutDefaults(_v.cairoSearchForTags)({
88
+ ...afterSearchParams,
89
+ location: this.location,
90
+ endType: 'Add new tag'
91
+ }));
92
+ };
93
+ this._clearAllEvents();
94
+ events.once('select', reportTagSelectedSearchBI);
95
+ events.once('blur', reportSearchDismissedSearchBI);
96
+ events.once('clear', reportSearchDismissedSearchBI);
97
+ events.once('add', reportAddNewFromSearchBI);
98
+ }
99
+ onAction(params) {
100
+ if (params.actionName) {
101
+ this.setActionsMade = params.actionName;
102
+ }
103
+ const afterActionParams = {
104
+ numTags: this.collection.result.items.length
105
+ };
106
+ this.reportBi(withoutDefaults(_v.cairoTagsAddDeleteTag)({
107
+ ...params,
108
+ ...afterActionParams
109
+ }));
110
+ }
111
+ onError(params, error) {
112
+ const errorParams = {
113
+ numTags: this.collection.result.items.length,
114
+ errorType: this._getErrorType(error)
115
+ };
116
+ this.reportBi(withoutDefaults(_v.cairoTagsUnsuccessfulUpdateInServer)({
117
+ ...errorParams,
118
+ ...params
119
+ }));
120
+ }
121
+ onTryAgain(params) {
122
+ const tryAgainParams = {
123
+ loaction: 'Toast'
124
+ };
125
+ this.reportBi(withoutDefaults(_v.cairoTryAgainClicked)({
126
+ ...tryAgainParams,
127
+ ...params
128
+ }));
129
+ }
130
+ onUndo(params) {
131
+ this.reportBi(withoutDefaults(_v.cairoUndoClicked)(params));
132
+ }
133
+ getActionsMadeChangesString() {
134
+ const actionsMadeArray = [];
135
+ this.actionsMade.Add && actionsMadeArray.push('Add');
136
+ this.actionsMade.Delete && actionsMadeArray.push('Delete');
137
+ this.actionsMade.Rename && actionsMadeArray.push('Rename');
138
+ return actionsMadeArray.join('/');
139
+ }
140
+ onModalClose(params) {
141
+ let endType = this.getActionsMadeChangesString();
142
+ if (endType) {
143
+ endType = `Close with changes(${endType})`;
144
+ } else {
145
+ endType = 'Close without changes';
146
+ }
147
+ this.reportBi(withoutDefaults(_v.cairoTagsModalEndProcess)({
148
+ ...params,
149
+ numTags: this.collection.result.items.length,
150
+ endType
151
+ }));
152
+ this.resetActionsMade();
153
+ }
154
+ }
155
+ exports.TagsBIReporter = TagsBIReporter;
156
+ //# sourceMappingURL=TagsBIReporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_v","require","_events","_interopRequireDefault","_util","ACTIONS","withoutDefaults","withoutIrrelevant","TagsBIReporter","constructor","params","_defineProperty2","default","EventEmitter","Add","Delete","Rename","collection","reportBi","location","setActionsMade","actionName","Error","action","actionsMade","resetActionsMade","_clearAllEvents","events","removeAllListeners","_getErrorType","e","isNetworkError","code","onSearch","searchValue","afterSearchParams","searchResultsCnt","result","items","filter","item","name","toLowerCase","includes","length","searchTerm","reportTagSelectedSearchBI","cairoSearchForTags","endType","reportSearchDismissedSearchBI","reportAddNewFromSearchBI","once","onAction","afterActionParams","numTags","cairoTagsAddDeleteTag","onError","error","errorParams","errorType","cairoTagsUnsuccessfulUpdateInServer","onTryAgain","tryAgainParams","loaction","cairoTryAgainClicked","onUndo","cairoUndoClicked","getActionsMadeChangesString","actionsMadeArray","push","join","onModalClose","cairoTagsModalEndProcess","exports"],"sources":["../../../../src/state/TagsState/TagsBIReporter.ts"],"sourcesContent":["import {\n cairoSearchForTags,\n cairoTagsAddDeleteTag,\n cairoTagsModalEndProcess,\n cairoTagsUnsuccessfulUpdateInServer,\n cairoTryAgainClicked,\n cairoUndoClicked,\n} from '@wix/bex-utils/@wix/bi-logger-cairo-os/v2';\n\nimport EventEmitter from 'events';\nimport {\n cairoSearchForTagsParams as SearchForTagsParams,\n cairoTagsAddDeleteTagParams as TagsAddDeleteTagParams,\n cairoTagsModalEndProcessParams as TagsModalEndProcessParams,\n cairoTagsUnsuccessfulUpdateInServerParams as TagsUnsuccessfulUpdateInServerParams,\n cairoTryAgainClickedParams as TagsTryAgainClickedParams,\n cairoUndoClickedParams as TagsUndoClickedParams,\n} from '@wix/bex-utils/@wix/bi-logger-cairo-os/v2/types';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { CollectionState } from '../CollectionState';\nimport { TypedEmitter, withoutIrrelevant } from '../../util';\nimport { ReportBI } from '../../services';\n\nconst ACTIONS = {\n 'Add tag': 'Add',\n 'Rename tag': 'Rename',\n 'Delete tag': 'Delete',\n};\n\nconst withoutDefaults = withoutIrrelevant();\n\nexport interface TagsBIReporterParams {\n readonly collection: CollectionState<Tag>;\n readonly reportBi: ReportBI;\n readonly location: string;\n}\n\nexport class TagsBIReporter {\n readonly collection;\n readonly reportBi;\n readonly location;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n select: () => unknown;\n blur: () => unknown;\n add: () => unknown;\n clear: () => unknown;\n }>;\n\n private actionsMade: { Add: boolean; Delete: boolean; Rename: boolean } = {\n Add: false,\n Delete: false,\n Rename: false,\n };\n\n constructor(params: TagsBIReporterParams) {\n this.collection = params.collection;\n this.reportBi = params.reportBi;\n this.location = params.location;\n }\n\n set setActionsMade(actionName: string) {\n if (!(actionName in ACTIONS)) {\n throw Error(`Unknown action ${actionName} was invoked`);\n }\n const action = ACTIONS[actionName as keyof typeof ACTIONS];\n this.actionsMade = {\n ...this.actionsMade,\n [action]: true,\n };\n }\n\n resetActionsMade() {\n this.actionsMade = {\n Add: false,\n Delete: false,\n Rename: false,\n };\n }\n\n _clearAllEvents() {\n const { events } = this;\n\n events.removeAllListeners('select');\n events.removeAllListeners('blur');\n events.removeAllListeners('add');\n events.removeAllListeners('clear');\n }\n\n _getErrorType(e: any) {\n const isNetworkError = e?.code === 'ERR_NETWORK';\n return isNetworkError ? 'Network error' : 'Technical issue';\n }\n\n onSearch(searchValue: string) {\n const { events } = this;\n\n const afterSearchParams = {\n searchResultsCnt: this.collection.result.items.filter((item) =>\n item.name!.toLowerCase().includes(searchValue.toLowerCase()),\n ).length,\n searchTerm: searchValue,\n } as Partial<SearchForTagsParams>;\n\n const reportTagSelectedSearchBI = () => {\n this._clearAllEvents();\n\n this.reportBi(\n withoutDefaults(cairoSearchForTags)({\n ...afterSearchParams,\n location: this.location,\n endType: 'Tag selected',\n }),\n );\n };\n\n const reportSearchDismissedSearchBI = () => {\n this._clearAllEvents();\n\n this.reportBi(\n withoutDefaults(cairoSearchForTags)({\n ...afterSearchParams,\n location: this.location,\n endType: 'Search dismissed',\n }),\n );\n };\n\n const reportAddNewFromSearchBI = () => {\n this._clearAllEvents();\n\n this.reportBi(\n withoutDefaults(cairoSearchForTags)({\n ...afterSearchParams,\n location: this.location,\n endType: 'Add new tag',\n }),\n );\n };\n\n this._clearAllEvents();\n events.once('select', reportTagSelectedSearchBI);\n events.once('blur', reportSearchDismissedSearchBI);\n events.once('clear', reportSearchDismissedSearchBI);\n events.once('add', reportAddNewFromSearchBI);\n }\n\n onAction(params: Partial<TagsAddDeleteTagParams>) {\n if (params.actionName) {\n this.setActionsMade = params.actionName;\n }\n const afterActionParams = {\n numTags: this.collection.result.items.length,\n } as Partial<TagsAddDeleteTagParams>;\n\n this.reportBi(\n withoutDefaults(cairoTagsAddDeleteTag)({\n ...params,\n ...afterActionParams,\n }),\n );\n }\n\n onError(\n params: Partial<TagsUnsuccessfulUpdateInServerParams>,\n error: unknown,\n ) {\n const errorParams = {\n numTags: this.collection.result.items.length,\n errorType: this._getErrorType(error),\n } as Partial<TagsUnsuccessfulUpdateInServerParams>;\n\n this.reportBi(\n withoutDefaults(cairoTagsUnsuccessfulUpdateInServer)({\n ...errorParams,\n ...params,\n }),\n );\n }\n\n onTryAgain(params: Partial<TagsTryAgainClickedParams>) {\n const tryAgainParams = {\n loaction: 'Toast',\n };\n\n this.reportBi(\n withoutDefaults(cairoTryAgainClicked)({\n ...tryAgainParams,\n ...params,\n }),\n );\n }\n\n onUndo(params: Partial<TagsUndoClickedParams>) {\n this.reportBi(withoutDefaults(cairoUndoClicked)(params));\n }\n\n getActionsMadeChangesString() {\n const actionsMadeArray = [];\n this.actionsMade.Add && actionsMadeArray.push('Add');\n this.actionsMade.Delete && actionsMadeArray.push('Delete');\n this.actionsMade.Rename && actionsMadeArray.push('Rename');\n return actionsMadeArray.join('/');\n }\n\n onModalClose(params: Partial<TagsModalEndProcessParams>) {\n let endType = this.getActionsMadeChangesString();\n if (endType) {\n endType = `Close with changes(${endType})`;\n } else {\n endType = 'Close without changes';\n }\n\n this.reportBi(\n withoutDefaults(cairoTagsModalEndProcess)({\n ...params,\n numTags: this.collection.result.items.length,\n endType,\n }),\n );\n\n this.resetActionsMade();\n }\n}\n"],"mappings":"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"}