@griddo/ax 11.10.11-rc.0 → 11.10.11

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 (1116) hide show
  1. package/README.md +56 -3
  2. package/config/env.js +56 -56
  3. package/config/getHttpsConfig.js +32 -32
  4. package/config/griddo-config/cx-polyfills/builder.ssr.js +1 -2
  5. package/config/griddo-config/index.js +71 -71
  6. package/config/griddo-config/ssrHelpers.js +21 -23
  7. package/config/jest/componentsMock.js +1633 -1633
  8. package/config/jest/cssTransform.js +7 -7
  9. package/config/jest/fileMock.js +1 -1
  10. package/config/jest/fileTransform.js +13 -13
  11. package/config/jest/setup.js +9 -9
  12. package/config/jest/test-utils.js +11 -11
  13. package/config/modules.js +94 -92
  14. package/config/paths.js +73 -73
  15. package/config/pnpTs.js +8 -8
  16. package/config/webpack/persistentCache/createEnvironmentHash.js +3 -3
  17. package/config/webpack.config.js +624 -624
  18. package/config/webpackDevServer.config.js +111 -111
  19. package/config/webpackSchemas.config.js +50 -50
  20. package/package.json +219 -227
  21. package/public/fonts/fonts.css +216 -168
  22. package/public/manifest.json +6 -6
  23. package/scripts/build.js +114 -114
  24. package/scripts/griddo-sync-schemas.js +115 -115
  25. package/scripts/griddo.js +24 -24
  26. package/scripts/start.js +73 -73
  27. package/src/GlobalStore.tsx +62 -62
  28. package/src/Style/index.tsx +11 -8
  29. package/src/__mocks__/axios/ReferenceField.ts +455 -455
  30. package/src/__mocks__/axios/Roles.ts +6 -7
  31. package/src/__mocks__/axios/SitesList.ts +107 -107
  32. package/src/__mocks__/axios/SitesListCategories.ts +22 -22
  33. package/src/__mocks__/axios/SitesListDataPack.ts +148 -168
  34. package/src/__mocks__/axios/SitesListOptions.ts +15 -15
  35. package/src/__mocks__/axios/UserList.ts +525 -525
  36. package/src/__mocks__/mockedAxios.ts +2203 -2203
  37. package/src/__mocks__/reducers/structuredData.tsx +4 -5
  38. package/src/__mocks__/store/GenericStore.ts +26 -26
  39. package/src/__mocks__/store/ReferenceField.ts +1663 -1663
  40. package/src/__mocks__/store/Roles.ts +1045 -1045
  41. package/src/__mocks__/store/SitesList.ts +733 -733
  42. package/src/__mocks__/store/UserList.ts +468 -468
  43. package/src/__mocks__/store/UsersCreate.ts +287 -287
  44. package/src/__tests__/components/ActionMenu/ActionMenu.test.tsx +230 -230
  45. package/src/__tests__/components/Avatar/Avatar.test.tsx +107 -107
  46. package/src/__tests__/components/Breadcrumb/Breadcrumb.test.tsx +83 -83
  47. package/src/__tests__/components/Browser/Browser.test.tsx +174 -174
  48. package/src/__tests__/components/BulkSelectionOptions/BulkSelectionOptions.test.tsx +147 -147
  49. package/src/__tests__/components/CategoryCell/CategoryCell.test.tsx +40 -40
  50. package/src/__tests__/components/ConfigPanel/ConfigPanel.test.tsx +206 -206
  51. package/src/__tests__/components/ConfigPanel/Form/ConnectedField/ConnectedField.test.tsx +147 -147
  52. package/src/__tests__/components/ConfigPanel/Form/ConnectedField/NavConnectedField/NavConnectedField.test.tsx +134 -134
  53. package/src/__tests__/components/ConfigPanel/Form/ConnectedField/PageConnectedField/Field/Field.test.tsx +92 -92
  54. package/src/__tests__/components/ConfigPanel/Form/ConnectedField/PageConnectedField/PageConnectedField.test.tsx +360 -360
  55. package/src/__tests__/components/ConfigPanel/Form/ConnectedField/PageConnectedField/TemplateManager/TemplateManager.test.tsx +121 -121
  56. package/src/__tests__/components/ConfigPanel/Form/Form.test.tsx +198 -198
  57. package/src/__tests__/components/ConfigPanel/GlobalPageForm/GlobalPageForm.test.tsx +198 -198
  58. package/src/__tests__/components/ConfigPanel/Header/Header.test.tsx +115 -115
  59. package/src/__tests__/components/ConfigPanel/NavigationForm/Field/Field.test.tsx +174 -174
  60. package/src/__tests__/components/ConfigPanel/NavigationForm/NavigationForm.test.tsx +66 -66
  61. package/src/__tests__/components/ConfigPanel/PreviewForm/PreviewForm.test.tsx +62 -62
  62. package/src/__tests__/components/DragAndDrop/DragAndDrop.test.tsx +68 -68
  63. package/src/__tests__/components/ElementsTooltip/ElementsTooltip.test.tsx +79 -79
  64. package/src/__tests__/components/EmptyState/EmptyState.test.tsx +49 -49
  65. package/src/__tests__/components/ErrorCenter/ErrorCenter.test.tsx +164 -164
  66. package/src/__tests__/components/ErrorToast/ErrorToast.test.tsx +42 -42
  67. package/src/__tests__/components/FieldContainer/FieldContainer.test.tsx +57 -57
  68. package/src/__tests__/components/Fields/AnalyticsField/AnalyticsField.test.tsx +64 -64
  69. package/src/__tests__/components/Fields/AnalyticsField/PageAnalytics/PageAnalytics.test.tsx +171 -171
  70. package/src/__tests__/components/Fields/AnalyticsField/StructuredDataAnalytics/StructuredDataAnalytics.test.tsx +105 -105
  71. package/src/__tests__/components/Fields/ArrayFieldGroup/ArrayFieldGroup.test.tsx +238 -238
  72. package/src/__tests__/components/Fields/AsyncCheckGroup/AsyncCheckGroup.test.tsx +89 -87
  73. package/src/__tests__/components/Fields/AsyncSelect/AsyncSelect.test.tsx +238 -238
  74. package/src/__tests__/components/Fields/Button/Button.test.tsx +100 -100
  75. package/src/__tests__/components/Fields/CheckField/CheckField.test.tsx +138 -138
  76. package/src/__tests__/components/Fields/CheckGroup/CheckGroup.test.tsx +331 -331
  77. package/src/__tests__/components/Fields/ColorPicker/ColorPicker.test.tsx +170 -171
  78. package/src/__tests__/components/Fields/ComponentArray/ComponentArray.test.tsx +111 -111
  79. package/src/__tests__/components/Fields/ComponentArray/MixableComponentArray/MixableComponentArray.test.tsx +248 -248
  80. package/src/__tests__/components/Fields/ComponentArray/MixableComponentArray/PasteModuleButton/PasteModuleButton.test.tsx +84 -84
  81. package/src/__tests__/components/Fields/ComponentArray/SameComponentArray/SameComponentArray.test.tsx +164 -164
  82. package/src/__tests__/components/Fields/ComponentContainer/ComponentContainer.test.tsx +480 -480
  83. package/src/__tests__/components/Fields/ConditionalField/ConditionalField.test.tsx +67 -67
  84. package/src/__tests__/components/Fields/DateField/DateField.test.tsx +49 -49
  85. package/src/__tests__/components/Fields/FieldGroup/FieldGroup.test.tsx +46 -46
  86. package/src/__tests__/components/Fields/FieldsDivider/FieldsDivider.test.tsx +10 -10
  87. package/src/__tests__/components/Fields/FileField/FileField.test.tsx +96 -96
  88. package/src/__tests__/components/Fields/HeadingField/HeadingField.test.tsx +54 -54
  89. package/src/__tests__/components/Fields/HiddenField/HiddenField.test.tsx +43 -43
  90. package/src/__tests__/components/Fields/ImageField/ImageField.test.tsx +450 -450
  91. package/src/__tests__/components/Fields/IntegrationsField/IntegrationsField.test.tsx +412 -412
  92. package/src/__tests__/components/Fields/MultiCheckSelect/MultiCheckSelect.test.tsx +36 -36
  93. package/src/__tests__/components/Fields/MultiCheckSelectGroup/MultiCheckSelectGroup.test.tsx +100 -100
  94. package/src/__tests__/components/Fields/NoteField/NoteField.test.tsx +36 -36
  95. package/src/__tests__/components/Fields/NumberField/NumberField.test.tsx +87 -87
  96. package/src/__tests__/components/Fields/RadioField/RadioField.test.tsx +79 -79
  97. package/src/__tests__/components/Fields/ReferenceField/ReferenceField.test.tsx +404 -406
  98. package/src/__tests__/components/Fields/RichText/RichText.test.tsx +20 -20
  99. package/src/__tests__/components/Fields/Select/Select.test.tsx +38 -38
  100. package/src/__tests__/components/Fields/SliderField/SliderField.test.tsx +45 -45
  101. package/src/__tests__/components/Fields/SummaryButton/SummaryButton.test.tsx +35 -35
  102. package/src/__tests__/components/Fields/TagField/TagField.test.tsx +119 -119
  103. package/src/__tests__/components/Fields/TextArea/TextArea.test.tsx +45 -45
  104. package/src/__tests__/components/Fields/TextField/TextField.test.tsx +126 -126
  105. package/src/__tests__/components/Fields/TimeField/HourInput/HourInput.test.tsx +121 -121
  106. package/src/__tests__/components/Fields/TimeField/TimeField.test.tsx +80 -80
  107. package/src/__tests__/components/Fields/ToggleField/ToggleField.test.tsx +107 -107
  108. package/src/__tests__/components/Fields/Tooltip/Tooltip.test.tsx +129 -129
  109. package/src/__tests__/components/Fields/TranslateButton/TranslateButton.test.tsx +215 -215
  110. package/src/__tests__/components/Fields/UniqueCheck/UniqueCheck.test.tsx +24 -24
  111. package/src/__tests__/components/Fields/UrlField/UrlField.test.tsx +395 -395
  112. package/src/__tests__/components/Fields/VisualUniqueSelection/ImageSelection/ImageSelection.test.tsx +60 -60
  113. package/src/__tests__/components/Fields/VisualUniqueSelection/ScrollableSelection/ScrollableSelection.test.tsx +125 -125
  114. package/src/__tests__/components/Fields/VisualUniqueSelection/VisualUniqueSelection.test.tsx +30 -30
  115. package/src/__tests__/components/Fields/Wysiwyg/Wysiwyg.test.tsx +98 -98
  116. package/src/__tests__/components/FieldsBehavior/FieldsBehavior.test.tsx +135 -135
  117. package/src/__tests__/components/Flag/Flag.test.tsx +46 -46
  118. package/src/__tests__/components/FloatingMenu/FloatingMenu.test.tsx +693 -693
  119. package/src/__tests__/components/FloatingPanel/FloatingPanel.test.tsx +132 -132
  120. package/src/__tests__/components/GuardModal/GuardModal.test.tsx +12 -12
  121. package/src/__tests__/components/Icon/Icon.test.tsx +51 -51
  122. package/src/__tests__/components/IconAction/IconAction.test.tsx +74 -74
  123. package/src/__tests__/components/Image/Image.test.tsx +27 -27
  124. package/src/__tests__/components/InformativeMenu/InformativeMenu.test.tsx +70 -70
  125. package/src/__tests__/components/LanguageMenu/LanguageMenu.test.tsx +196 -196
  126. package/src/__tests__/components/Lists/Lists.test.tsx +40 -40
  127. package/src/__tests__/components/Loader/Loader.test.tsx +41 -41
  128. package/src/__tests__/components/Loading/Loading.test.tsx +9 -9
  129. package/src/__tests__/components/Login/Login.test.tsx +223 -223
  130. package/src/__tests__/components/Login/RecoveryModal/RecoveryModal.test.tsx +160 -160
  131. package/src/__tests__/components/MainWrapper/AppBar/AppBar.test.tsx +503 -503
  132. package/src/__tests__/components/MainWrapper/MainWrapper.test.tsx +122 -122
  133. package/src/__tests__/components/MenuItem/MenuItem.test.tsx +123 -123
  134. package/src/__tests__/components/Modal/Modal.test.tsx +294 -294
  135. package/src/__tests__/components/Nav/Nav.test.tsx +41 -41
  136. package/src/__tests__/components/Notification/Notification.test.tsx +186 -186
  137. package/src/__tests__/components/Notification/SubNotification/Subnotification.test.tsx +32 -32
  138. package/src/__tests__/components/Pagination/Pagination.test.tsx +222 -222
  139. package/src/__tests__/components/ProgressBar/ProgressBar.test.tsx +12 -12
  140. package/src/__tests__/components/ReorderArrows/ReorderArrows.test.tsx +67 -67
  141. package/src/__tests__/components/ResizePanel/ResizePanel.test.tsx +135 -145
  142. package/src/__tests__/components/SearchField/SearchField.test.tsx +354 -354
  143. package/src/__tests__/components/SideModal/SideModal.test.tsx +321 -321
  144. package/src/__tests__/components/SubNav/SubNav.test.tsx +21 -21
  145. package/src/__tests__/components/TableCounter/TableCounter.test.tsx +35 -35
  146. package/src/__tests__/components/TableFilters/CategoryFilter/CategoryFilter.test.tsx +223 -223
  147. package/src/__tests__/components/TableFilters/CustomizeFilters/CustomizeFilters.test.tsx +115 -115
  148. package/src/__tests__/components/TableFilters/DateFilter/DateFilter.test.tsx +129 -129
  149. package/src/__tests__/components/TableFilters/LiveFilter/LiveFilter.test.tsx +280 -280
  150. package/src/__tests__/components/TableFilters/NameFilter/NameFilter.test.tsx +178 -178
  151. package/src/__tests__/components/TableFilters/RoleFilter/RoleFilter.test.tsx +147 -147
  152. package/src/__tests__/components/TableFilters/SiteFilter/SiteFilter.test.tsx +297 -297
  153. package/src/__tests__/components/TableFilters/StatusFilter/StatusFilter.test.tsx +178 -178
  154. package/src/__tests__/components/TableFilters/TranslationsFilter/TranslationsFilter.test.tsx +138 -138
  155. package/src/__tests__/components/TableFilters/TypeFilter/TypeFilter.test.tsx +147 -147
  156. package/src/__tests__/components/TableFilters/UsersFilter/UsersFilter.test.tsx +135 -135
  157. package/src/__tests__/components/TableList/TableList.test.tsx +95 -95
  158. package/src/__tests__/components/Tabs/Tabs.test.tsx +187 -187
  159. package/src/__tests__/components/Tag/Tag.test.tsx +121 -121
  160. package/src/__tests__/components/Toast/Toast.test.tsx +87 -87
  161. package/src/__tests__/modules/Settings/Integrations/Integrations.test.tsx +143 -143
  162. package/src/__tests__/modules/Sites/Sites.test.tsx +238 -238
  163. package/src/__tests__/modules/Sites/SitesList/ListView/BulkHeader/BulkHeader.test.tsx +34 -34
  164. package/src/__tests__/modules/Sites/SitesList/SitesList.test.tsx +917 -917
  165. package/src/__tests__/modules/Users/Roles/BulkHeader/BulkHeader.test.tsx +133 -133
  166. package/src/__tests__/modules/Users/Roles/Roles.test.tsx +589 -589
  167. package/src/__tests__/modules/Users/UserCreate/SiteItem/RolesModal/RoleItem/RoleItem.test.tsx +75 -75
  168. package/src/__tests__/modules/Users/UserCreate/SiteItem/RolesModal/RolesModal.test.tsx +137 -137
  169. package/src/__tests__/modules/Users/UserCreate/SiteItem/SiteItem.test.tsx +153 -153
  170. package/src/__tests__/modules/Users/UserCreate/UserCreate.test.tsx +260 -260
  171. package/src/__tests__/modules/Users/UserList/UserItem/UserItem.test.tsx +363 -363
  172. package/src/__tests__/modules/Users/UserList/UserList.test.tsx +264 -264
  173. package/src/api/analytics.tsx +64 -64
  174. package/src/api/checkgroups.tsx +36 -36
  175. package/src/api/config.tsx +10 -10
  176. package/src/api/dataPack.tsx +127 -127
  177. package/src/api/domains.tsx +12 -12
  178. package/src/api/files.tsx +137 -137
  179. package/src/api/folders.tsx +39 -39
  180. package/src/api/forms.tsx +164 -164
  181. package/src/api/global.tsx +55 -55
  182. package/src/api/images.tsx +160 -160
  183. package/src/api/index.tsx +24 -24
  184. package/src/api/integrations.tsx +112 -112
  185. package/src/api/languages.tsx +50 -50
  186. package/src/api/logs.tsx +60 -60
  187. package/src/api/menus.tsx +21 -21
  188. package/src/api/navigation.tsx +158 -158
  189. package/src/api/pages.tsx +212 -212
  190. package/src/api/redirects.tsx +62 -62
  191. package/src/api/roles.tsx +51 -51
  192. package/src/api/schemas.tsx +7 -7
  193. package/src/api/selects.tsx +37 -37
  194. package/src/api/sites.tsx +302 -302
  195. package/src/api/social.tsx +24 -24
  196. package/src/api/structuredData.tsx +269 -269
  197. package/src/api/users.tsx +106 -106
  198. package/src/api/utils.tsx +157 -159
  199. package/src/components/ActionMenu/index.tsx +48 -48
  200. package/src/components/Avatar/index.tsx +9 -9
  201. package/src/components/BackFolder/index.tsx +14 -14
  202. package/src/components/BackFolder/style.tsx +3 -3
  203. package/src/components/Breadcrumb/index.tsx +27 -27
  204. package/src/components/Breadcrumb/style.tsx +10 -10
  205. package/src/components/Browser/index.tsx +193 -193
  206. package/src/components/BrowserContent/index.tsx +75 -75
  207. package/src/components/BulkSelectionOptions/index.tsx +41 -41
  208. package/src/components/Button/index.tsx +86 -86
  209. package/src/components/Button/style.tsx +1 -1
  210. package/src/components/CategoryCell/index.tsx +13 -13
  211. package/src/components/Circle/index.tsx +4 -4
  212. package/src/components/ConfigPanel/Form/ConnectedField/NavConnectedField/index.tsx +146 -146
  213. package/src/components/ConfigPanel/Form/ConnectedField/PageConnectedField/Field/index.tsx +106 -106
  214. package/src/components/ConfigPanel/Form/ConnectedField/PageConnectedField/TemplateManager/index.tsx +150 -150
  215. package/src/components/ConfigPanel/Form/ConnectedField/PageConnectedField/index.tsx +243 -243
  216. package/src/components/ConfigPanel/Form/ConnectedField/index.tsx +3 -3
  217. package/src/components/ConfigPanel/Form/index.tsx +144 -144
  218. package/src/components/ConfigPanel/GlobalPageForm/index.tsx +169 -169
  219. package/src/components/ConfigPanel/Header/index.tsx +124 -124
  220. package/src/components/ConfigPanel/NavigationForm/Field/index.tsx +141 -140
  221. package/src/components/ConfigPanel/NavigationForm/Field/style.tsx +21 -27
  222. package/src/components/ConfigPanel/NavigationForm/index.tsx +14 -14
  223. package/src/components/ConfigPanel/NavigationForm/style.tsx +5 -5
  224. package/src/components/ConfigPanel/PreviewForm/index.tsx +22 -22
  225. package/src/components/ConfigPanel/index.tsx +116 -116
  226. package/src/components/DragAndDrop/index.tsx +47 -47
  227. package/src/components/ElementsTooltip/index.tsx +65 -65
  228. package/src/components/EmptyState/index.tsx +17 -17
  229. package/src/components/ErrorCenter/index.tsx +58 -58
  230. package/src/components/ErrorPage/index.tsx +98 -98
  231. package/src/components/ErrorPage/style.tsx +13 -13
  232. package/src/components/ErrorToast/index.tsx +4 -4
  233. package/src/components/ErrorToast/style.tsx +11 -11
  234. package/src/components/ExportButton/index.tsx +40 -40
  235. package/src/components/FieldContainer/index.tsx +63 -63
  236. package/src/components/Fields/AIReferenceField/AIConfigPanel/index.tsx +139 -139
  237. package/src/components/Fields/AIReferenceField/index.tsx +73 -73
  238. package/src/components/Fields/AIReferenceField/style.tsx +1 -1
  239. package/src/components/Fields/AnalyticsField/PageAnalytics/atoms.tsx +70 -70
  240. package/src/components/Fields/AnalyticsField/PageAnalytics/index.tsx +131 -131
  241. package/src/components/Fields/AnalyticsField/StructuredDataAnalytics/atoms.tsx +67 -67
  242. package/src/components/Fields/AnalyticsField/StructuredDataAnalytics/index.tsx +63 -63
  243. package/src/components/Fields/AnalyticsField/index.tsx +23 -23
  244. package/src/components/Fields/AnalyticsField/utils.tsx +6 -6
  245. package/src/components/Fields/ArrayFieldGroup/ArrayFieldInline/index.tsx +71 -71
  246. package/src/components/Fields/ArrayFieldGroup/ArrayFieldItem/index.tsx +105 -105
  247. package/src/components/Fields/ArrayFieldGroup/index.tsx +108 -108
  248. package/src/components/Fields/AsyncCheckGroup/index.tsx +210 -210
  249. package/src/components/Fields/AsyncSelect/index.tsx +180 -180
  250. package/src/components/Fields/AsyncSelect/style.tsx +6 -6
  251. package/src/components/Fields/CheckField/index.tsx +76 -76
  252. package/src/components/Fields/CheckField/style.tsx +33 -33
  253. package/src/components/Fields/CheckGroup/index.tsx +48 -48
  254. package/src/components/Fields/CheckGroup/style.tsx +2 -2
  255. package/src/components/Fields/ColorPicker/Picker/index.tsx +60 -60
  256. package/src/components/Fields/ColorPicker/Picker/style.tsx +14 -14
  257. package/src/components/Fields/ColorPicker/helpers.tsx +31 -26
  258. package/src/components/Fields/ColorPicker/index.tsx +120 -120
  259. package/src/components/Fields/ColorPicker/style.tsx +11 -11
  260. package/src/components/Fields/ComponentArray/BulkHeader/index.tsx +32 -32
  261. package/src/components/Fields/ComponentArray/MixableComponentArray/AddItemButton/index.tsx +27 -27
  262. package/src/components/Fields/ComponentArray/MixableComponentArray/PasteModuleButton/index.tsx +53 -53
  263. package/src/components/Fields/ComponentArray/MixableComponentArray/index.tsx +352 -353
  264. package/src/components/Fields/ComponentArray/SameComponentArray/AddItemButton/index.tsx +8 -8
  265. package/src/components/Fields/ComponentArray/SameComponentArray/index.tsx +241 -242
  266. package/src/components/Fields/ComponentArray/helpers.tsx +66 -66
  267. package/src/components/Fields/ComponentArray/index.tsx +3 -3
  268. package/src/components/Fields/ComponentContainer/EmptyContainer/index.tsx +36 -36
  269. package/src/components/Fields/ComponentContainer/atoms.tsx +12 -12
  270. package/src/components/Fields/ComponentContainer/index.tsx +258 -258
  271. package/src/components/Fields/ComponentContainer/style.tsx +20 -20
  272. package/src/components/Fields/ConditionalField/index.tsx +20 -20
  273. package/src/components/Fields/DateField/DatePickerInput/index.tsx +54 -54
  274. package/src/components/Fields/DateField/index.tsx +127 -127
  275. package/src/components/Fields/FieldGroup/index.tsx +18 -18
  276. package/src/components/Fields/FieldsDivider/index.tsx +9 -9
  277. package/src/components/Fields/FileField/index.tsx +100 -100
  278. package/src/components/Fields/FileField/style.tsx +11 -11
  279. package/src/components/Fields/FormCategorySelect/index.tsx +30 -30
  280. package/src/components/Fields/FormContainer/FormModal/index.tsx +190 -190
  281. package/src/components/Fields/FormContainer/FormModal/style.tsx +16 -16
  282. package/src/components/Fields/FormContainer/index.tsx +73 -73
  283. package/src/components/Fields/FormFieldArray/index.tsx +5 -5
  284. package/src/components/Fields/HeadingField/index.tsx +39 -39
  285. package/src/components/Fields/HiddenField/index.tsx +18 -18
  286. package/src/components/Fields/ImageField/index.tsx +194 -194
  287. package/src/components/Fields/ImageField/style.tsx +18 -18
  288. package/src/components/Fields/IntegrationsField/IntegrationItem/CustomPanel/index.tsx +82 -82
  289. package/src/components/Fields/IntegrationsField/IntegrationItem/CustomPanel/style.tsx +1 -1
  290. package/src/components/Fields/IntegrationsField/IntegrationItem/VariablesPanel/helpers.ts +24 -24
  291. package/src/components/Fields/IntegrationsField/IntegrationItem/VariablesPanel/index.tsx +97 -98
  292. package/src/components/Fields/IntegrationsField/IntegrationItem/VariablesPanel/style.tsx +1 -1
  293. package/src/components/Fields/IntegrationsField/IntegrationItem/atoms.tsx +15 -15
  294. package/src/components/Fields/IntegrationsField/IntegrationItem/index.tsx +114 -114
  295. package/src/components/Fields/IntegrationsField/PasteIntegrationButton/index.tsx +15 -15
  296. package/src/components/Fields/IntegrationsField/SideModal/SideModalOption/index.tsx +38 -38
  297. package/src/components/Fields/IntegrationsField/SideModal/index.tsx +40 -40
  298. package/src/components/Fields/IntegrationsField/index.tsx +119 -119
  299. package/src/components/Fields/LinkField/index.tsx +112 -112
  300. package/src/components/Fields/MultiCheckSelect/index.tsx +77 -77
  301. package/src/components/Fields/MultiCheckSelect/style.tsx +2 -2
  302. package/src/components/Fields/MultiCheckSelectGroup/index.tsx +68 -68
  303. package/src/components/Fields/NoteField/index.tsx +10 -10
  304. package/src/components/Fields/NumberField/index.tsx +89 -89
  305. package/src/components/Fields/NumberField/style.tsx +2 -2
  306. package/src/components/Fields/RadioField/index.tsx +30 -30
  307. package/src/components/Fields/RadioField/style.tsx +12 -12
  308. package/src/components/Fields/RadioGroup/index.tsx +43 -43
  309. package/src/components/Fields/RadioGroup/style.tsx +4 -4
  310. package/src/components/Fields/ReferenceField/AutoPanel/AutoItem/index.tsx +380 -380
  311. package/src/components/Fields/ReferenceField/AutoPanel/AutoItem/style.tsx +20 -20
  312. package/src/components/Fields/ReferenceField/AutoPanel/index.tsx +513 -513
  313. package/src/components/Fields/ReferenceField/AutoPanel/style.tsx +25 -25
  314. package/src/components/Fields/ReferenceField/Context/index.tsx +87 -87
  315. package/src/components/Fields/ReferenceField/ItemList/Item/index.tsx +45 -45
  316. package/src/components/Fields/ReferenceField/ItemList/Item/style.tsx +13 -13
  317. package/src/components/Fields/ReferenceField/ItemList/index.tsx +124 -124
  318. package/src/components/Fields/ReferenceField/ManualPanel/Item/index.tsx +25 -25
  319. package/src/components/Fields/ReferenceField/ManualPanel/index.tsx +227 -227
  320. package/src/components/Fields/ReferenceField/ManualPanel/style.tsx +10 -10
  321. package/src/components/Fields/ReferenceField/index.tsx +236 -236
  322. package/src/components/Fields/ReferenceField/style.tsx +12 -12
  323. package/src/components/Fields/RichText/index.tsx +123 -112
  324. package/src/components/Fields/RichText/style.tsx +1 -1
  325. package/src/components/Fields/RichText/utils.tsx +23 -23
  326. package/src/components/Fields/Select/index.tsx +70 -70
  327. package/src/components/Fields/Select/style.tsx +6 -6
  328. package/src/components/Fields/SliderField/index.tsx +50 -50
  329. package/src/components/Fields/SummaryButton/index.tsx +53 -53
  330. package/src/components/Fields/TagsField/index.tsx +49 -49
  331. package/src/components/Fields/TextArea/index.tsx +48 -47
  332. package/src/components/Fields/TextField/index.tsx +122 -123
  333. package/src/components/Fields/TextField/style.tsx +9 -9
  334. package/src/components/Fields/TimeField/HourInput/index.tsx +82 -82
  335. package/src/components/Fields/TimeField/HourInput/utils.tsx +23 -23
  336. package/src/components/Fields/TimeField/index.tsx +45 -45
  337. package/src/components/Fields/ToggleField/index.tsx +31 -31
  338. package/src/components/Fields/TranslateButton/index.tsx +137 -137
  339. package/src/components/Fields/UniqueCheck/index.tsx +30 -30
  340. package/src/components/Fields/UrlField/index.tsx +232 -232
  341. package/src/components/Fields/UrlField/utils.tsx +78 -78
  342. package/src/components/Fields/VisualOption/index.tsx +26 -26
  343. package/src/components/Fields/VisualOption/style.tsx +4 -4
  344. package/src/components/Fields/VisualUniqueSelection/ImageSelection/index.tsx +31 -31
  345. package/src/components/Fields/VisualUniqueSelection/ImageSelection/style.tsx +1 -1
  346. package/src/components/Fields/VisualUniqueSelection/ScrollableSelection/index.tsx +73 -73
  347. package/src/components/Fields/VisualUniqueSelection/index.tsx +3 -3
  348. package/src/components/Fields/VisualUniqueSelection/utils.tsx +13 -13
  349. package/src/components/Fields/Wysiwyg/config.tsx +95 -95
  350. package/src/components/Fields/Wysiwyg/helpers.tsx +69 -69
  351. package/src/components/Fields/Wysiwyg/index.tsx +81 -81
  352. package/src/components/Fields/Wysiwyg/languages.js +132 -132
  353. package/src/components/Fields/Wysiwyg/style.tsx +37 -37
  354. package/src/components/Fields/index.tsx +45 -45
  355. package/src/components/FieldsBehavior/index.tsx +114 -114
  356. package/src/components/FieldsBehavior/style.tsx +15 -15
  357. package/src/components/FileGallery/FolderItem/index.tsx +24 -24
  358. package/src/components/FileGallery/FolderItem/style.tsx +1 -1
  359. package/src/components/FileGallery/GalleryPanel/DetailPanel/index.tsx +133 -133
  360. package/src/components/FileGallery/GalleryPanel/DetailPanel/style.tsx +12 -12
  361. package/src/components/FileGallery/GalleryPanel/index.tsx +25 -25
  362. package/src/components/FileGallery/GalleryPanel/style.tsx +2 -2
  363. package/src/components/FileGallery/GridItem/index.tsx +32 -32
  364. package/src/components/FileGallery/index.tsx +310 -310
  365. package/src/components/FileGallery/style.tsx +22 -22
  366. package/src/components/FilterTagsBar/index.tsx +48 -48
  367. package/src/components/FilterTagsBar/style.tsx +1 -1
  368. package/src/components/Flag/components/Ca_ES.js +11 -11
  369. package/src/components/Flag/components/De_DE.js +13 -7
  370. package/src/components/Flag/components/En_GB.js +16 -16
  371. package/src/components/Flag/components/Es_ES.js +73 -61
  372. package/src/components/Flag/components/Eu_ES.js +16 -13
  373. package/src/components/Flag/components/Fr_FR.js +13 -7
  374. package/src/components/Flag/components/It_IT.js +13 -7
  375. package/src/components/Flag/components/Pt_PT.js +33 -27
  376. package/src/components/Flag/index.tsx +24 -24
  377. package/src/components/FloatingButton/index.tsx +20 -20
  378. package/src/components/FloatingMenu/index.tsx +121 -122
  379. package/src/components/FloatingPanel/index.tsx +55 -55
  380. package/src/components/FloatingPanel/style.tsx +3 -3
  381. package/src/components/Gallery/FolderItem/index.tsx +24 -24
  382. package/src/components/Gallery/FolderItem/style.tsx +1 -1
  383. package/src/components/Gallery/GalleryPanel/DetailPanel/index.tsx +138 -138
  384. package/src/components/Gallery/GalleryPanel/DetailPanel/style.tsx +13 -13
  385. package/src/components/Gallery/GalleryPanel/index.tsx +40 -40
  386. package/src/components/Gallery/GalleryPanel/style.tsx +2 -2
  387. package/src/components/Gallery/index.tsx +347 -348
  388. package/src/components/Gallery/style.tsx +24 -24
  389. package/src/components/GuardModal/index.tsx +34 -34
  390. package/src/components/GuardModal/style.tsx +3 -3
  391. package/src/components/Icon/components/Active.js +9 -9
  392. package/src/components/Icon/components/Add.js +4 -4
  393. package/src/components/Icon/components/AddCircle.js +7 -7
  394. package/src/components/Icon/components/Alert.js +10 -10
  395. package/src/components/Icon/components/Back.js +6 -6
  396. package/src/components/Icon/components/BulletList.js +10 -10
  397. package/src/components/Icon/components/Button.js +9 -4
  398. package/src/components/Icon/components/Calendar.js +9 -9
  399. package/src/components/Icon/components/CancelEvent.js +6 -6
  400. package/src/components/Icon/components/Category.js +6 -6
  401. package/src/components/Icon/components/Change.js +9 -9
  402. package/src/components/Icon/components/Close.js +7 -7
  403. package/src/components/Icon/components/ClosePanel.js +8 -8
  404. package/src/components/Icon/components/CodeBody.js +8 -8
  405. package/src/components/Icon/components/CodeHead.js +8 -8
  406. package/src/components/Icon/components/CodeHeadBody.js +8 -8
  407. package/src/components/Icon/components/Collapsed.js +10 -10
  408. package/src/components/Icon/components/ColorPicker.js +8 -8
  409. package/src/components/Icon/components/Compose.js +8 -8
  410. package/src/components/Icon/components/Copy.js +9 -9
  411. package/src/components/Icon/components/Copy2.js +9 -9
  412. package/src/components/Icon/components/Data.js +9 -9
  413. package/src/components/Icon/components/DataAdd.js +15 -15
  414. package/src/components/Icon/components/Deactivate.js +8 -8
  415. package/src/components/Icon/components/Delete.js +7 -4
  416. package/src/components/Icon/components/Desktop.js +8 -8
  417. package/src/components/Icon/components/Disabled.js +8 -8
  418. package/src/components/Icon/components/Done.js +5 -5
  419. package/src/components/Icon/components/DownArrow.js +4 -4
  420. package/src/components/Icon/components/Download.js +3 -3
  421. package/src/components/Icon/components/Drag.js +9 -9
  422. package/src/components/Icon/components/Duplicate.js +7 -7
  423. package/src/components/Icon/components/Edit.js +7 -7
  424. package/src/components/Icon/components/Empty.js +8 -8
  425. package/src/components/Icon/components/EmptyCheck.js +10 -10
  426. package/src/components/Icon/components/Extend.js +10 -10
  427. package/src/components/Icon/components/File.js +8 -8
  428. package/src/components/Icon/components/Filter.js +5 -5
  429. package/src/components/Icon/components/Form.js +8 -8
  430. package/src/components/Icon/components/FullArrowDown.js +4 -4
  431. package/src/components/Icon/components/FullArrowLeft.js +4 -4
  432. package/src/components/Icon/components/FullArrowRight.js +4 -4
  433. package/src/components/Icon/components/FullArrowUp.js +4 -4
  434. package/src/components/Icon/components/Grid.js +10 -10
  435. package/src/components/Icon/components/Grid2.js +10 -10
  436. package/src/components/Icon/components/HeroCard.js +10 -7
  437. package/src/components/Icon/components/Hide.js +16 -13
  438. package/src/components/Icon/components/History.js +9 -9
  439. package/src/components/Icon/components/Home.js +8 -3
  440. package/src/components/Icon/components/Ia.js +8 -8
  441. package/src/components/Icon/components/Image.js +7 -4
  442. package/src/components/Icon/components/Info.js +9 -9
  443. package/src/components/Icon/components/Laptop.js +9 -4
  444. package/src/components/Icon/components/LeftArrow.js +4 -4
  445. package/src/components/Icon/components/Link.js +9 -9
  446. package/src/components/Icon/components/Lock.js +7 -7
  447. package/src/components/Icon/components/Log.js +7 -7
  448. package/src/components/Icon/components/Map.js +9 -6
  449. package/src/components/Icon/components/Menu.js +4 -9
  450. package/src/components/Icon/components/Microsoft.js +6 -6
  451. package/src/components/Icon/components/Modified.js +9 -9
  452. package/src/components/Icon/components/Modules.js +8 -8
  453. package/src/components/Icon/components/More.js +10 -10
  454. package/src/components/Icon/components/NewFolder.js +6 -6
  455. package/src/components/Icon/components/Offline.js +8 -8
  456. package/src/components/Icon/components/OfflinePending.js +10 -10
  457. package/src/components/Icon/components/OpenOutside.js +10 -10
  458. package/src/components/Icon/components/OpenPanel.js +8 -8
  459. package/src/components/Icon/components/OutOfSection.js +8 -3
  460. package/src/components/Icon/components/Page.js +7 -7
  461. package/src/components/Icon/components/Paste.js +7 -7
  462. package/src/components/Icon/components/Phone.js +8 -8
  463. package/src/components/Icon/components/PhotoLibrary.js +7 -7
  464. package/src/components/Icon/components/Power.js +9 -9
  465. package/src/components/Icon/components/Preview.js +8 -8
  466. package/src/components/Icon/components/Project.js +9 -4
  467. package/src/components/Icon/components/QrCode.js +6 -6
  468. package/src/components/Icon/components/Question.js +10 -10
  469. package/src/components/Icon/components/Refresh.js +6 -6
  470. package/src/components/Icon/components/RightArrow.js +4 -4
  471. package/src/components/Icon/components/Scheduled.js +8 -8
  472. package/src/components/Icon/components/Search.js +9 -9
  473. package/src/components/Icon/components/SendEmail.js +8 -8
  474. package/src/components/Icon/components/Settings.js +15 -15
  475. package/src/components/Icon/components/Share.js +6 -6
  476. package/src/components/Icon/components/Subsection.js +8 -3
  477. package/src/components/Icon/components/Success.js +10 -10
  478. package/src/components/Icon/components/SuccessSolid.js +10 -10
  479. package/src/components/Icon/components/Tablet.js +8 -8
  480. package/src/components/Icon/components/Translate.js +6 -6
  481. package/src/components/Icon/components/Unlink.js +9 -9
  482. package/src/components/Icon/components/UpArrow.js +4 -4
  483. package/src/components/Icon/components/UploadFile.js +8 -8
  484. package/src/components/Icon/components/UploadPending.js +8 -8
  485. package/src/components/Icon/components/UrlLink.js +8 -8
  486. package/src/components/Icon/components/User.js +9 -9
  487. package/src/components/Icon/components/Users.js +8 -8
  488. package/src/components/Icon/components/Video.js +9 -9
  489. package/src/components/Icon/components/View.js +8 -8
  490. package/src/components/Icon/components/Warning.js +10 -10
  491. package/src/components/Icon/components/Web.js +10 -10
  492. package/src/components/Icon/components/Working.js +6 -6
  493. package/src/components/Icon/index.tsx +37 -37
  494. package/src/components/IconAction/index.tsx +27 -27
  495. package/src/components/IconAction/style.tsx +4 -4
  496. package/src/components/Image/index.tsx +21 -21
  497. package/src/components/Image/utils.ts +31 -31
  498. package/src/components/InformativeMenu/index.tsx +20 -20
  499. package/src/components/InformativeMenu/style.tsx +3 -3
  500. package/src/components/LanguageMenu/index.tsx +58 -58
  501. package/src/components/LanguageMenu/style.tsx +10 -10
  502. package/src/components/Lists/index.tsx +10 -10
  503. package/src/components/Loader/components/Circle.js +15 -8
  504. package/src/components/Loader/components/Dots.js +13 -13
  505. package/src/components/Loader/index.tsx +28 -28
  506. package/src/components/Loading/index.tsx +9 -9
  507. package/src/components/Login/LoginForm/RecoveryModal/index.tsx +64 -64
  508. package/src/components/Login/LoginForm/index.tsx +107 -107
  509. package/src/components/Login/LoginSSO/index.tsx +60 -60
  510. package/src/components/Login/LoginSSO/style.tsx +12 -12
  511. package/src/components/Login/LoginSlider/index.tsx +50 -50
  512. package/src/components/Login/index.tsx +69 -69
  513. package/src/components/MainWrapper/AppBar/atoms.tsx +39 -39
  514. package/src/components/MainWrapper/AppBar/index.tsx +282 -282
  515. package/src/components/MainWrapper/AppBar/style.tsx +24 -24
  516. package/src/components/MainWrapper/AppBar/utils.tsx +10 -14
  517. package/src/components/MainWrapper/index.tsx +50 -50
  518. package/src/components/MenuGroup/index.tsx +68 -68
  519. package/src/components/MenuGroup/style.tsx +5 -5
  520. package/src/components/MenuItem/index.tsx +47 -47
  521. package/src/components/Modal/index.tsx +83 -83
  522. package/src/components/Modal/style.tsx +20 -20
  523. package/src/components/Nav/index.tsx +33 -33
  524. package/src/components/Nav/style.tsx +1 -1
  525. package/src/components/Notification/SubNotification/index.tsx +18 -18
  526. package/src/components/Notification/index.tsx +82 -82
  527. package/src/components/OcassionalToast/index.tsx +11 -11
  528. package/src/components/PageFinder/SelectionListItem/index.tsx +29 -29
  529. package/src/components/PageFinder/index.tsx +278 -278
  530. package/src/components/PageFinder/style.tsx +12 -12
  531. package/src/components/Pagination/index.tsx +49 -44
  532. package/src/components/Pagination/style.tsx +4 -8
  533. package/src/components/ProgressBar/index.tsx +11 -11
  534. package/src/components/ProgressBar/style.tsx +4 -4
  535. package/src/components/ReorderArrows/index.tsx +25 -25
  536. package/src/components/ReorderArrows/style.tsx +3 -3
  537. package/src/components/ResizePanel/ResizeHandle/index.tsx +51 -19
  538. package/src/components/ResizePanel/index.tsx +40 -39
  539. package/src/components/ResizePanel/style.tsx +5 -5
  540. package/src/components/RestoreModal/index.tsx +37 -37
  541. package/src/components/ScheduleModal/index.tsx +84 -84
  542. package/src/components/SearchField/index.tsx +120 -120
  543. package/src/components/SearchField/style.tsx +10 -10
  544. package/src/components/SearchTagsBar/index.tsx +31 -31
  545. package/src/components/SearchTagsBar/style.tsx +1 -1
  546. package/src/components/SideModal/SideModalOption/index.tsx +42 -42
  547. package/src/components/SideModal/index.tsx +193 -194
  548. package/src/components/SideModal/style.tsx +15 -15
  549. package/src/components/SubNav/index.tsx +6 -6
  550. package/src/components/TableCounter/index.tsx +4 -4
  551. package/src/components/TableFilters/CategoryFilter/index.tsx +106 -107
  552. package/src/components/TableFilters/CheckGroupFilter/index.tsx +95 -95
  553. package/src/components/TableFilters/CustomizeFilters/index.tsx +41 -41
  554. package/src/components/TableFilters/DateFilter/index.tsx +38 -38
  555. package/src/components/TableFilters/LastAccessFilter/index.tsx +38 -38
  556. package/src/components/TableFilters/LiveFilter/index.tsx +100 -102
  557. package/src/components/TableFilters/NameFilter/index.tsx +48 -48
  558. package/src/components/TableFilters/PermissionsFilter/index.tsx +37 -37
  559. package/src/components/TableFilters/RoleFilter/index.tsx +50 -50
  560. package/src/components/TableFilters/SiteFilter/index.tsx +73 -73
  561. package/src/components/TableFilters/StateFilter/index.tsx +53 -53
  562. package/src/components/TableFilters/StatusFilter/index.tsx +40 -40
  563. package/src/components/TableFilters/TranslationsFilter/index.tsx +48 -49
  564. package/src/components/TableFilters/TypeFilter/index.tsx +50 -51
  565. package/src/components/TableFilters/UsersFilter/index.tsx +42 -42
  566. package/src/components/TableFilters/index.tsx +15 -15
  567. package/src/components/TableList/TableItem/style.tsx +4 -4
  568. package/src/components/TableList/index.tsx +44 -44
  569. package/src/components/TableList/style.tsx +14 -14
  570. package/src/components/Tabs/index.tsx +58 -58
  571. package/src/components/Tabs/style.tsx +6 -6
  572. package/src/components/Tag/index.tsx +50 -50
  573. package/src/components/Tag/style.tsx +1 -1
  574. package/src/components/Toast/index.tsx +39 -39
  575. package/src/components/Toast/style.tsx +1 -1
  576. package/src/components/Tooltip/index.tsx +109 -109
  577. package/src/components/Tooltip/style.tsx +8 -8
  578. package/src/components/index.tsx +175 -175
  579. package/src/containers/ActivityLog/actions.tsx +212 -212
  580. package/src/containers/ActivityLog/interfaces.tsx +4 -4
  581. package/src/containers/ActivityLog/reducer.tsx +11 -11
  582. package/src/containers/Analytics/actions.tsx +77 -77
  583. package/src/containers/Analytics/interfaces.tsx +2 -2
  584. package/src/containers/Analytics/reducer.tsx +14 -14
  585. package/src/containers/App/actions.tsx +191 -191
  586. package/src/containers/App/constants.tsx +12 -12
  587. package/src/containers/App/index.tsx +1 -4
  588. package/src/containers/App/interfaces.tsx +44 -44
  589. package/src/containers/App/reducer.tsx +97 -97
  590. package/src/containers/Domains/actions.tsx +41 -41
  591. package/src/containers/Domains/interfaces.tsx +2 -2
  592. package/src/containers/Domains/reducer.tsx +8 -8
  593. package/src/containers/FileDrive/actions.tsx +326 -326
  594. package/src/containers/FileDrive/constants.tsx +10 -10
  595. package/src/containers/FileDrive/index.tsx +1 -4
  596. package/src/containers/FileDrive/interfaces.tsx +27 -27
  597. package/src/containers/FileDrive/reducer.tsx +43 -43
  598. package/src/containers/Forms/actions.tsx +717 -717
  599. package/src/containers/Forms/constants.tsx +21 -21
  600. package/src/containers/Forms/interfaces.tsx +45 -45
  601. package/src/containers/Forms/reducer.tsx +67 -67
  602. package/src/containers/Forms/utils.tsx +27 -27
  603. package/src/containers/Gallery/actions.tsx +398 -397
  604. package/src/containers/Gallery/constants.tsx +13 -13
  605. package/src/containers/Gallery/index.tsx +1 -4
  606. package/src/containers/Gallery/interfaces.tsx +48 -48
  607. package/src/containers/Gallery/reducer.tsx +74 -74
  608. package/src/containers/Integrations/actions.tsx +165 -165
  609. package/src/containers/Integrations/constants.tsx +3 -3
  610. package/src/containers/Integrations/interfaces.tsx +12 -12
  611. package/src/containers/Integrations/reducer.tsx +17 -17
  612. package/src/containers/Navigation/Defaults/actions.tsx +735 -735
  613. package/src/containers/Navigation/Defaults/interfaces.tsx +54 -54
  614. package/src/containers/Navigation/Defaults/reducer.tsx +71 -71
  615. package/src/containers/Navigation/Defaults/utils.tsx +60 -60
  616. package/src/containers/Navigation/Menu/actions.tsx +233 -233
  617. package/src/containers/Navigation/Menu/index.tsx +2 -5
  618. package/src/containers/Navigation/Menu/interfaces.tsx +20 -20
  619. package/src/containers/Navigation/Menu/reducer.tsx +39 -39
  620. package/src/containers/Navigation/index.tsx +3 -8
  621. package/src/containers/PageEditor/actions.tsx +1344 -1344
  622. package/src/containers/PageEditor/interfaces.tsx +80 -80
  623. package/src/containers/PageEditor/reducer.tsx +102 -102
  624. package/src/containers/PageEditor/utils.tsx +128 -128
  625. package/src/containers/Redirects/actions.tsx +151 -151
  626. package/src/containers/Redirects/constants.tsx +12 -12
  627. package/src/containers/Redirects/interfaces.tsx +8 -8
  628. package/src/containers/Redirects/reducer.tsx +21 -21
  629. package/src/containers/Settings/DataPacks/actions.tsx +388 -388
  630. package/src/containers/Settings/DataPacks/constants.tsx +9 -9
  631. package/src/containers/Settings/DataPacks/index.tsx +1 -4
  632. package/src/containers/Settings/DataPacks/interfaces.tsx +23 -15
  633. package/src/containers/Settings/DataPacks/reducer.tsx +37 -37
  634. package/src/containers/Settings/Languages/actions.tsx +49 -49
  635. package/src/containers/Settings/Languages/reducer.tsx +19 -19
  636. package/src/containers/Settings/Social/actions.tsx +43 -43
  637. package/src/containers/Settings/Social/index.tsx +1 -4
  638. package/src/containers/Settings/Social/interfaces.tsx +2 -2
  639. package/src/containers/Settings/Social/reducer.tsx +6 -6
  640. package/src/containers/Settings/index.tsx +1 -8
  641. package/src/containers/Sites/actions.tsx +641 -641
  642. package/src/containers/Sites/constants.tsx +5 -5
  643. package/src/containers/Sites/index.tsx +1 -4
  644. package/src/containers/Sites/interfaces.tsx +54 -54
  645. package/src/containers/Sites/reducer.tsx +90 -90
  646. package/src/containers/StructuredData/actions.tsx +662 -662
  647. package/src/containers/StructuredData/constants.tsx +27 -27
  648. package/src/containers/StructuredData/index.tsx +1 -4
  649. package/src/containers/StructuredData/interfaces.tsx +53 -53
  650. package/src/containers/StructuredData/reducer.tsx +75 -75
  651. package/src/containers/StructuredData/utils.tsx +40 -40
  652. package/src/containers/Users/actions.tsx +302 -302
  653. package/src/containers/Users/index.tsx +1 -4
  654. package/src/containers/Users/interfaces.tsx +18 -18
  655. package/src/containers/Users/reducer.tsx +37 -37
  656. package/src/forms/editor.tsx +194 -194
  657. package/src/forms/elements.tsx +200 -200
  658. package/src/forms/errors.tsx +43 -43
  659. package/src/forms/fields.tsx +83 -83
  660. package/src/forms/index.tsx +66 -66
  661. package/src/forms/validators.tsx +467 -467
  662. package/src/guards/error/index.tsx +51 -51
  663. package/src/guards/restricted/index.tsx +9 -9
  664. package/src/guards/routeLeaving/index.tsx +53 -53
  665. package/src/guards/routeLeaving/style.tsx +2 -2
  666. package/src/helpers/arrays.tsx +13 -13
  667. package/src/helpers/containerEvaluations.tsx +53 -53
  668. package/src/helpers/customColumns.tsx +33 -33
  669. package/src/helpers/dataPacks.tsx +8 -8
  670. package/src/helpers/dates.tsx +52 -53
  671. package/src/helpers/environment.tsx +3 -3
  672. package/src/helpers/files.tsx +52 -52
  673. package/src/helpers/forms.tsx +9 -9
  674. package/src/helpers/imageResize.tsx +197 -167
  675. package/src/helpers/images.tsx +75 -75
  676. package/src/helpers/index.tsx +192 -192
  677. package/src/helpers/objects.tsx +117 -118
  678. package/src/helpers/parseTheme.js +274 -274
  679. package/src/helpers/requests.tsx +19 -19
  680. package/src/helpers/schemas.tsx +120 -120
  681. package/src/helpers/strings.tsx +103 -103
  682. package/src/helpers/structuredData.tsx +17 -17
  683. package/src/helpers/themes.tsx +56 -56
  684. package/src/helpers/thumbnails.tsx +47 -47
  685. package/src/hooks/bulk.tsx +133 -135
  686. package/src/hooks/content.tsx +93 -93
  687. package/src/hooks/forms.tsx +115 -115
  688. package/src/hooks/iframe.ts +48 -48
  689. package/src/hooks/index.tsx +20 -20
  690. package/src/hooks/location.tsx +5 -5
  691. package/src/hooks/modals.tsx +38 -38
  692. package/src/hooks/network.tsx +21 -20
  693. package/src/hooks/resize.ts +51 -51
  694. package/src/hooks/users.tsx +22 -22
  695. package/src/hooks/window.ts +10 -10
  696. package/src/index.tsx +16 -19
  697. package/src/modules/ActivityLog/DetailModal/index.tsx +81 -81
  698. package/src/modules/ActivityLog/DownloadModal/index.tsx +84 -84
  699. package/src/modules/ActivityLog/ItemGroup/index.tsx +14 -14
  700. package/src/modules/ActivityLog/ItemLog/EventItem/index.tsx +136 -136
  701. package/src/modules/ActivityLog/ItemLog/index.tsx +11 -11
  702. package/src/modules/ActivityLog/ItemLogUser/UserItem/EventItem/index.tsx +139 -139
  703. package/src/modules/ActivityLog/ItemLogUser/UserItem/index.tsx +33 -33
  704. package/src/modules/ActivityLog/ItemLogUser/index.tsx +12 -12
  705. package/src/modules/ActivityLog/LogFilters/ContentFilter/index.tsx +59 -59
  706. package/src/modules/ActivityLog/LogFilters/DateFilter/index.tsx +64 -64
  707. package/src/modules/ActivityLog/LogFilters/EventFilter/index.tsx +57 -57
  708. package/src/modules/ActivityLog/LogFilters/OrderFilter/index.tsx +36 -36
  709. package/src/modules/ActivityLog/LogFilters/UserFilter/index.tsx +59 -59
  710. package/src/modules/ActivityLog/TableHeader/index.tsx +52 -52
  711. package/src/modules/ActivityLog/TableHeader/style.tsx +9 -9
  712. package/src/modules/ActivityLog/constants.tsx +6 -6
  713. package/src/modules/ActivityLog/hooks.tsx +45 -46
  714. package/src/modules/ActivityLog/index.tsx +287 -287
  715. package/src/modules/ActivityLog/utils.tsx +20 -20
  716. package/src/modules/Analytics/DimensionItem/index.tsx +49 -49
  717. package/src/modules/Analytics/DimensionItem/style.tsx +2 -2
  718. package/src/modules/Analytics/DimensionPanel/index.tsx +129 -129
  719. package/src/modules/Analytics/DimensionPanel/style.tsx +1 -1
  720. package/src/modules/Analytics/GroupItem/index.tsx +61 -51
  721. package/src/modules/Analytics/GroupItem/style.tsx +5 -14
  722. package/src/modules/Analytics/GroupPanel/index.tsx +172 -172
  723. package/src/modules/Analytics/GroupPanel/style.tsx +2 -12
  724. package/src/modules/Analytics/GroupPanel/utils.tsx +17 -17
  725. package/src/modules/Analytics/index.tsx +180 -181
  726. package/src/modules/Analytics/style.tsx +9 -9
  727. package/src/modules/App/Routing/Logout/index.tsx +12 -12
  728. package/src/modules/App/Routing/NavMenu/NavItem/NavSubItem/index.tsx +16 -16
  729. package/src/modules/App/Routing/NavMenu/NavItem/NavSubItem/style.tsx +5 -5
  730. package/src/modules/App/Routing/NavMenu/NavItem/index.tsx +93 -93
  731. package/src/modules/App/Routing/NavMenu/NavItem/style.tsx +2 -2
  732. package/src/modules/App/Routing/NavMenu/context.tsx +2 -2
  733. package/src/modules/App/Routing/NavMenu/index.tsx +219 -219
  734. package/src/modules/App/Routing/NavMenu/style.tsx +1 -1
  735. package/src/modules/App/Routing/PrivateRoute/index.tsx +15 -15
  736. package/src/modules/App/Routing/index.tsx +106 -106
  737. package/src/modules/App/index.tsx +18 -18
  738. package/src/modules/Categories/CategoriesList/BulkHeader/TableHeader/index.tsx +35 -35
  739. package/src/modules/Categories/CategoriesList/BulkHeader/index.tsx +40 -40
  740. package/src/modules/Categories/CategoriesList/CategoryItem/index.tsx +284 -284
  741. package/src/modules/Categories/CategoriesList/CategoryItem/style.tsx +14 -14
  742. package/src/modules/Categories/CategoriesList/CategoryNav/NavItem/index.tsx +42 -42
  743. package/src/modules/Categories/CategoriesList/CategoryNav/index.tsx +28 -28
  744. package/src/modules/Categories/CategoriesList/CategoryNav/style.tsx +5 -5
  745. package/src/modules/Categories/CategoriesList/CategoryPanel/Form/index.tsx +97 -97
  746. package/src/modules/Categories/CategoriesList/CategoryPanel/index.tsx +181 -181
  747. package/src/modules/Categories/CategoriesList/atoms.tsx +66 -66
  748. package/src/modules/Categories/CategoriesList/helpers.tsx +106 -106
  749. package/src/modules/Categories/CategoriesList/hooks.tsx +54 -54
  750. package/src/modules/Categories/CategoriesList/index.tsx +465 -466
  751. package/src/modules/Categories/CategoriesList/style.tsx +9 -9
  752. package/src/modules/Categories/CategoriesList/utils.tsx +19 -19
  753. package/src/modules/Categories/index.tsx +6 -6
  754. package/src/modules/Content/BulkHeader/TableHeader/index.tsx +141 -141
  755. package/src/modules/Content/BulkHeader/TableHeader/style.tsx +13 -13
  756. package/src/modules/Content/BulkHeader/index.tsx +99 -99
  757. package/src/modules/Content/ContentFilters/index.tsx +83 -83
  758. package/src/modules/Content/ContentFilters/utils.tsx +53 -53
  759. package/src/modules/Content/OptionTable/index.tsx +205 -205
  760. package/src/modules/Content/OptionTable/store.tsx +19 -19
  761. package/src/modules/Content/PageImporter/index.tsx +122 -122
  762. package/src/modules/Content/PageImporter/style.tsx +15 -15
  763. package/src/modules/Content/PageItem/index.tsx +700 -700
  764. package/src/modules/Content/PageItem/style.tsx +24 -24
  765. package/src/modules/Content/atoms.tsx +103 -103
  766. package/src/modules/Content/hooks.tsx +99 -99
  767. package/src/modules/Content/index.tsx +1056 -1055
  768. package/src/modules/Content/style.tsx +8 -8
  769. package/src/modules/Content/utils.tsx +164 -164
  770. package/src/modules/CreatePass/index.tsx +64 -64
  771. package/src/modules/CreatePass/style.tsx +8 -9
  772. package/src/modules/FileDrive/Breadcrumb/index.tsx +27 -27
  773. package/src/modules/FileDrive/Breadcrumb/style.tsx +7 -7
  774. package/src/modules/FileDrive/BulkGridHeader/GridHeader/index.tsx +23 -23
  775. package/src/modules/FileDrive/BulkGridHeader/index.tsx +20 -20
  776. package/src/modules/FileDrive/BulkGridHeader/style.tsx +1 -1
  777. package/src/modules/FileDrive/BulkListHeader/TableHeader/index.tsx +34 -34
  778. package/src/modules/FileDrive/BulkListHeader/TableHeader/style.tsx +9 -9
  779. package/src/modules/FileDrive/BulkListHeader/index.tsx +30 -30
  780. package/src/modules/FileDrive/BulkListHeader/style.tsx +1 -1
  781. package/src/modules/FileDrive/FileDragAndDrop/index.tsx +255 -255
  782. package/src/modules/FileDrive/FileDragAndDrop/style.tsx +32 -32
  783. package/src/modules/FileDrive/FileFilters/SortBy/index.tsx +54 -54
  784. package/src/modules/FileDrive/FileFilters/Type/index.tsx +58 -59
  785. package/src/modules/FileDrive/FileFilters/Usage/index.tsx +46 -46
  786. package/src/modules/FileDrive/FileModal/DetailPanel/UsageContent/Item/index.tsx +17 -17
  787. package/src/modules/FileDrive/FileModal/DetailPanel/UsageContent/Item/style.tsx +0 -1
  788. package/src/modules/FileDrive/FileModal/DetailPanel/UsageContent/ItemGroup/index.tsx +27 -27
  789. package/src/modules/FileDrive/FileModal/DetailPanel/UsageContent/index.tsx +110 -110
  790. package/src/modules/FileDrive/FileModal/DetailPanel/index.tsx +179 -179
  791. package/src/modules/FileDrive/FileModal/index.tsx +176 -176
  792. package/src/modules/FileDrive/FileModal/style.tsx +12 -12
  793. package/src/modules/FileDrive/FolderItem/index.tsx +158 -158
  794. package/src/modules/FileDrive/FolderItem/style.tsx +1 -1
  795. package/src/modules/FileDrive/FolderTree/MenuItem/index.tsx +64 -64
  796. package/src/modules/FileDrive/FolderTree/MenuList/index.tsx +21 -21
  797. package/src/modules/FileDrive/FolderTree/index.tsx +43 -43
  798. package/src/modules/FileDrive/GridItem/index.tsx +168 -168
  799. package/src/modules/FileDrive/ListItem/index.tsx +182 -182
  800. package/src/modules/FileDrive/ListItem/style.tsx +12 -12
  801. package/src/modules/FileDrive/UploadItem/index.tsx +19 -19
  802. package/src/modules/FileDrive/UploadItem/style.tsx +1 -1
  803. package/src/modules/FileDrive/atoms.tsx +156 -156
  804. package/src/modules/FileDrive/hooks.tsx +82 -82
  805. package/src/modules/FileDrive/index.tsx +821 -822
  806. package/src/modules/FileDrive/style.tsx +28 -28
  807. package/src/modules/FileDrive/utils.tsx +11 -11
  808. package/src/modules/Forms/FormCategoriesList/BulkHeader/TableHeader/index.tsx +29 -29
  809. package/src/modules/Forms/FormCategoriesList/BulkHeader/index.tsx +24 -24
  810. package/src/modules/Forms/FormCategoriesList/CategoryItem/index.tsx +111 -111
  811. package/src/modules/Forms/FormCategoriesList/CategoryItem/style.tsx +9 -9
  812. package/src/modules/Forms/FormCategoriesList/CategoryPanel/Form/index.tsx +34 -34
  813. package/src/modules/Forms/FormCategoriesList/CategoryPanel/index.tsx +85 -85
  814. package/src/modules/Forms/FormCategoriesList/atoms.tsx +21 -21
  815. package/src/modules/Forms/FormCategoriesList/hooks.tsx +54 -54
  816. package/src/modules/Forms/FormCategoriesList/index.tsx +245 -245
  817. package/src/modules/Forms/FormCategoriesList/style.tsx +10 -10
  818. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/ConnectedField/Field/index.tsx +91 -91
  819. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/ConnectedField/TemplateManager/index.tsx +85 -85
  820. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/ConnectedField/index.tsx +98 -98
  821. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/index.tsx +70 -70
  822. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Header/index.tsx +117 -117
  823. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/index.tsx +73 -73
  824. package/src/modules/Forms/FormEditor/Editor/SideModal/SectionOption/index.tsx +9 -9
  825. package/src/modules/Forms/FormEditor/Editor/SideModal/SideModalOption/index.tsx +18 -18
  826. package/src/modules/Forms/FormEditor/Editor/SideModal/index.tsx +91 -91
  827. package/src/modules/Forms/FormEditor/Editor/SideModal/style.tsx +13 -13
  828. package/src/modules/Forms/FormEditor/Editor/index.tsx +141 -141
  829. package/src/modules/Forms/FormEditor/PageBrowser/index.tsx +69 -69
  830. package/src/modules/Forms/FormEditor/index.tsx +372 -372
  831. package/src/modules/Forms/FormList/BulkHeader/TableHeader/index.tsx +131 -131
  832. package/src/modules/Forms/FormList/BulkHeader/index.tsx +52 -52
  833. package/src/modules/Forms/FormList/FormItem/index.tsx +366 -366
  834. package/src/modules/Forms/FormList/FormItem/style.tsx +11 -11
  835. package/src/modules/Forms/FormList/Summary/index.tsx +41 -41
  836. package/src/modules/Forms/FormList/TemplateModal/index.tsx +92 -92
  837. package/src/modules/Forms/FormList/TemplateModal/style.tsx +9 -9
  838. package/src/modules/Forms/FormList/hooks.tsx +91 -91
  839. package/src/modules/Forms/FormList/index.tsx +442 -442
  840. package/src/modules/Forms/FormUseModal/FormUseItem/index.tsx +29 -29
  841. package/src/modules/Forms/FormUseModal/index.tsx +262 -262
  842. package/src/modules/Forms/FormUseModal/utils.tsx +92 -92
  843. package/src/modules/Forms/FormsMenu/MenuGroup/index.tsx +43 -43
  844. package/src/modules/Forms/FormsMenu/index.tsx +65 -65
  845. package/src/modules/Forms/atoms.tsx +182 -182
  846. package/src/modules/Forms/utils.tsx +15 -15
  847. package/src/modules/FramePreview/index.tsx +139 -129
  848. package/src/modules/GlobalEditor/Editor/index.tsx +111 -111
  849. package/src/modules/GlobalEditor/PageBrowser/index.tsx +65 -65
  850. package/src/modules/GlobalEditor/Preview/index.tsx +7 -7
  851. package/src/modules/GlobalEditor/index.tsx +738 -738
  852. package/src/modules/GlobalSettings/Robots/Item/RobotsPanel/index.tsx +49 -49
  853. package/src/modules/GlobalSettings/Robots/Item/index.tsx +14 -14
  854. package/src/modules/GlobalSettings/Robots/index.tsx +92 -93
  855. package/src/modules/GlobalSettings/index.tsx +21 -21
  856. package/src/modules/Login/constants.tsx +2 -2
  857. package/src/modules/Login/index.tsx +112 -112
  858. package/src/modules/MediaGallery/Breadcrumb/index.tsx +27 -27
  859. package/src/modules/MediaGallery/Breadcrumb/style.tsx +7 -7
  860. package/src/modules/MediaGallery/BulkGridHeader/GridHeader/index.tsx +23 -23
  861. package/src/modules/MediaGallery/BulkGridHeader/index.tsx +20 -20
  862. package/src/modules/MediaGallery/BulkGridHeader/style.tsx +1 -1
  863. package/src/modules/MediaGallery/BulkListHeader/TableHeader/index.tsx +32 -32
  864. package/src/modules/MediaGallery/BulkListHeader/index.tsx +27 -27
  865. package/src/modules/MediaGallery/BulkListHeader/style.tsx +1 -1
  866. package/src/modules/MediaGallery/FolderItem/index.tsx +169 -169
  867. package/src/modules/MediaGallery/FolderItem/style.tsx +1 -1
  868. package/src/modules/MediaGallery/FolderTree/MenuItem/index.tsx +64 -64
  869. package/src/modules/MediaGallery/FolderTree/MenuList/index.tsx +22 -22
  870. package/src/modules/MediaGallery/FolderTree/index.tsx +43 -43
  871. package/src/modules/MediaGallery/GridItem/index.tsx +133 -133
  872. package/src/modules/MediaGallery/ImageDragAndDrop/index.tsx +267 -260
  873. package/src/modules/MediaGallery/ImageDragAndDrop/style.tsx +32 -32
  874. package/src/modules/MediaGallery/ImageFilters/Orientation/index.tsx +47 -47
  875. package/src/modules/MediaGallery/ImageFilters/SortBy/index.tsx +54 -54
  876. package/src/modules/MediaGallery/ImageFilters/Type/index.tsx +48 -48
  877. package/src/modules/MediaGallery/ImageFilters/Usage/index.tsx +53 -53
  878. package/src/modules/MediaGallery/ImageModal/DetailPanel/UsageContent/Item/index.tsx +20 -20
  879. package/src/modules/MediaGallery/ImageModal/DetailPanel/UsageContent/ItemGroup/index.tsx +29 -29
  880. package/src/modules/MediaGallery/ImageModal/DetailPanel/UsageContent/index.tsx +201 -202
  881. package/src/modules/MediaGallery/ImageModal/DetailPanel/index.tsx +179 -179
  882. package/src/modules/MediaGallery/ImageModal/index.tsx +150 -150
  883. package/src/modules/MediaGallery/ImageModal/style.tsx +11 -11
  884. package/src/modules/MediaGallery/ListItem/index.tsx +164 -164
  885. package/src/modules/MediaGallery/ListItem/style.tsx +12 -12
  886. package/src/modules/MediaGallery/UploadItem/index.tsx +19 -19
  887. package/src/modules/MediaGallery/UploadItem/style.tsx +1 -1
  888. package/src/modules/MediaGallery/atoms.tsx +156 -156
  889. package/src/modules/MediaGallery/hooks.tsx +88 -88
  890. package/src/modules/MediaGallery/index.tsx +890 -890
  891. package/src/modules/MediaGallery/style.tsx +28 -28
  892. package/src/modules/MediaGallery/utils.tsx +11 -11
  893. package/src/modules/Navigation/Defaults/BulkHeader/TableHeader/index.tsx +30 -30
  894. package/src/modules/Navigation/Defaults/BulkHeader/index.tsx +26 -26
  895. package/src/modules/Navigation/Defaults/DefaultsEditor/Editor/DefaultsBrowser/index.tsx +37 -37
  896. package/src/modules/Navigation/Defaults/DefaultsEditor/Editor/index.tsx +101 -101
  897. package/src/modules/Navigation/Defaults/DefaultsEditor/index.tsx +261 -261
  898. package/src/modules/Navigation/Defaults/Item/atoms.tsx +34 -34
  899. package/src/modules/Navigation/Defaults/Item/index.tsx +241 -241
  900. package/src/modules/Navigation/Defaults/Item/style.tsx +9 -9
  901. package/src/modules/Navigation/Defaults/Nav/index.tsx +21 -21
  902. package/src/modules/Navigation/Defaults/Nav/style.tsx +9 -9
  903. package/src/modules/Navigation/Defaults/ReplaceNavModal/index.tsx +180 -180
  904. package/src/modules/Navigation/Defaults/ReplaceNavModal/style.tsx +15 -15
  905. package/src/modules/Navigation/Defaults/atoms.tsx +17 -17
  906. package/src/modules/Navigation/Defaults/index.tsx +301 -301
  907. package/src/modules/Navigation/Defaults/style.tsx +7 -7
  908. package/src/modules/Navigation/Menus/List/Nav/index.tsx +37 -37
  909. package/src/modules/Navigation/Menus/List/Nav/style.tsx +3 -4
  910. package/src/modules/Navigation/Menus/List/Table/ConfigPanel/Form/index.tsx +49 -49
  911. package/src/modules/Navigation/Menus/List/Table/ConfigPanel/index.tsx +33 -33
  912. package/src/modules/Navigation/Menus/List/Table/Header/index.tsx +29 -29
  913. package/src/modules/Navigation/Menus/List/Table/Header/style.tsx +2 -2
  914. package/src/modules/Navigation/Menus/List/Table/Item/atoms.tsx +54 -54
  915. package/src/modules/Navigation/Menus/List/Table/Item/index.tsx +149 -149
  916. package/src/modules/Navigation/Menus/List/Table/SidePanel/Form/ConnectedField/index.tsx +22 -22
  917. package/src/modules/Navigation/Menus/List/Table/SidePanel/Form/index.tsx +71 -71
  918. package/src/modules/Navigation/Menus/List/Table/SidePanel/index.tsx +87 -87
  919. package/src/modules/Navigation/Menus/List/Table/SidePanel/style.tsx +1 -1
  920. package/src/modules/Navigation/Menus/List/Table/helpers.tsx +103 -103
  921. package/src/modules/Navigation/Menus/List/Table/index.tsx +170 -170
  922. package/src/modules/Navigation/Menus/List/Table/style.tsx +1 -7
  923. package/src/modules/Navigation/Menus/List/helpers.tsx +36 -36
  924. package/src/modules/Navigation/Menus/List/index.tsx +50 -50
  925. package/src/modules/Navigation/Menus/index.tsx +38 -38
  926. package/src/modules/PageEditor/Editor/index.tsx +153 -153
  927. package/src/modules/PageEditor/PageBrowser/index.tsx +73 -73
  928. package/src/modules/PageEditor/Preview/index.tsx +5 -5
  929. package/src/modules/PageEditor/atoms.tsx +58 -58
  930. package/src/modules/PageEditor/index.tsx +805 -805
  931. package/src/modules/PublicPreview/index.tsx +48 -48
  932. package/src/modules/Redirects/BulkHeader/TableHeader/index.tsx +51 -51
  933. package/src/modules/Redirects/BulkHeader/index.tsx +56 -56
  934. package/src/modules/Redirects/RedirectItem/index.tsx +141 -141
  935. package/src/modules/Redirects/RedirectItem/style.tsx +1 -10
  936. package/src/modules/Redirects/RedirectPanel/index.tsx +90 -90
  937. package/src/modules/Redirects/atoms.tsx +185 -185
  938. package/src/modules/Redirects/hooks.tsx +63 -63
  939. package/src/modules/Redirects/index.tsx +397 -397
  940. package/src/modules/Redirects/style.tsx +24 -24
  941. package/src/modules/Redirects/utils.tsx +10 -7
  942. package/src/modules/ResetPass/index.tsx +69 -69
  943. package/src/modules/ResetPass/style.tsx +8 -9
  944. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/Filter/index.tsx +31 -31
  945. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/Filter/style.tsx +3 -7
  946. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/DetailPanel/Item/index.tsx +14 -12
  947. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/DetailPanel/Item/style.tsx +3 -9
  948. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/DetailPanel/index.tsx +28 -28
  949. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/DetailPanel/style.tsx +11 -11
  950. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/EmptyPanel/index.tsx +8 -8
  951. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/EmptyPanel/style.tsx +2 -6
  952. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/MultiplePanel/index.tsx +18 -18
  953. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/index.tsx +12 -12
  954. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/style.tsx +3 -5
  955. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SortFilter/index.tsx +32 -32
  956. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SortFilter/style.tsx +3 -7
  957. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/index.tsx +113 -113
  958. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/style.tsx +36 -24
  959. package/src/modules/Settings/ContentTypes/DataPacks/Config/Card/index.tsx +9 -9
  960. package/src/modules/Settings/ContentTypes/DataPacks/Config/Card/style.tsx +6 -6
  961. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/Editor/ConfigPanel/IntegrationsField/index.tsx +31 -31
  962. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/Editor/ConfigPanel/NavigationField/index.tsx +102 -102
  963. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/Editor/ConfigPanel/NavigationField/style.tsx +17 -21
  964. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/Editor/ConfigPanel/index.tsx +33 -33
  965. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/Editor/TemplateBrowser/index.tsx +33 -33
  966. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/Editor/index.tsx +6 -6
  967. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/index.tsx +45 -45
  968. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/style.tsx +3 -7
  969. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/index.tsx +35 -35
  970. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/style.tsx +7 -14
  971. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/index.tsx +219 -219
  972. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/style.tsx +2 -2
  973. package/src/modules/Settings/ContentTypes/DataPacks/Config/index.tsx +61 -61
  974. package/src/modules/Settings/ContentTypes/DataPacks/Config/style.tsx +6 -7
  975. package/src/modules/Settings/ContentTypes/DataPacks/Item/index.tsx +102 -102
  976. package/src/modules/Settings/ContentTypes/DataPacks/Item/style.tsx +10 -18
  977. package/src/modules/Settings/ContentTypes/DataPacks/List/index.tsx +15 -15
  978. package/src/modules/Settings/ContentTypes/DataPacks/List/style.tsx +1 -3
  979. package/src/modules/Settings/ContentTypes/DataPacks/Nav/index.tsx +65 -65
  980. package/src/modules/Settings/ContentTypes/DataPacks/Nav/style.tsx +11 -18
  981. package/src/modules/Settings/ContentTypes/DataPacks/hooks.tsx +12 -12
  982. package/src/modules/Settings/ContentTypes/DataPacks/index.tsx +220 -220
  983. package/src/modules/Settings/ContentTypes/DataPacks/style.tsx +4 -9
  984. package/src/modules/Settings/ContentTypes/index.tsx +5 -5
  985. package/src/modules/Settings/Globals/NavigationModules/SideModal/SideModalOption/index.tsx +16 -16
  986. package/src/modules/Settings/Globals/NavigationModules/SideModal/index.tsx +85 -85
  987. package/src/modules/Settings/Globals/NavigationModules/index.tsx +69 -69
  988. package/src/modules/Settings/Globals/constants.tsx +436 -436
  989. package/src/modules/Settings/Globals/index.tsx +198 -194
  990. package/src/modules/Settings/Integrations/BulkHeader/TableHeader/index.tsx +102 -102
  991. package/src/modules/Settings/Integrations/BulkHeader/TableHeader/style.tsx +8 -8
  992. package/src/modules/Settings/Integrations/BulkHeader/index.tsx +40 -40
  993. package/src/modules/Settings/Integrations/IntegrationForm/VariableItem/index.tsx +69 -69
  994. package/src/modules/Settings/Integrations/IntegrationForm/VariablePanel/index.tsx +118 -118
  995. package/src/modules/Settings/Integrations/IntegrationForm/index.tsx +275 -275
  996. package/src/modules/Settings/Integrations/IntegrationForm/style.tsx +11 -11
  997. package/src/modules/Settings/Integrations/IntegrationItem/CopyModal/index.tsx +31 -31
  998. package/src/modules/Settings/Integrations/IntegrationItem/index.tsx +278 -278
  999. package/src/modules/Settings/Integrations/IntegrationItem/style.tsx +21 -21
  1000. package/src/modules/Settings/Integrations/atoms.tsx +32 -32
  1001. package/src/modules/Settings/Integrations/hooks.tsx +67 -67
  1002. package/src/modules/Settings/Integrations/index.tsx +327 -327
  1003. package/src/modules/Settings/Integrations/style.tsx +10 -10
  1004. package/src/modules/Settings/Integrations/utils.tsx +27 -27
  1005. package/src/modules/Settings/Languages/LanguagePanel/Form/ConnectedField/index.tsx +24 -24
  1006. package/src/modules/Settings/Languages/LanguagePanel/Form/index.tsx +41 -41
  1007. package/src/modules/Settings/Languages/LanguagePanel/index.tsx +59 -59
  1008. package/src/modules/Settings/Languages/Table/Header/index.tsx +20 -20
  1009. package/src/modules/Settings/Languages/Table/Header/style.tsx +2 -2
  1010. package/src/modules/Settings/Languages/Table/Item/index.tsx +61 -61
  1011. package/src/modules/Settings/Languages/Table/index.tsx +11 -11
  1012. package/src/modules/Settings/Languages/index.tsx +36 -36
  1013. package/src/modules/Settings/Languages/style.tsx +1 -1
  1014. package/src/modules/Settings/SeoAnalyticsSettings/Analytics/atoms.tsx +129 -129
  1015. package/src/modules/Settings/SeoAnalyticsSettings/Analytics/index.tsx +118 -118
  1016. package/src/modules/Settings/SeoAnalyticsSettings/Analytics/style.tsx +14 -14
  1017. package/src/modules/Settings/SeoAnalyticsSettings/index.tsx +21 -21
  1018. package/src/modules/Settings/Social/index.tsx +93 -93
  1019. package/src/modules/Settings/Social/style.tsx +1 -1
  1020. package/src/modules/Settings/index.tsx +30 -29
  1021. package/src/modules/Sites/SitesList/GridView/GridHeaderFilter/index.tsx +53 -53
  1022. package/src/modules/Sites/SitesList/GridView/GridSiteItem/index.tsx +179 -179
  1023. package/src/modules/Sites/SitesList/ListView/BulkHeader/TableHeader/index.tsx +57 -57
  1024. package/src/modules/Sites/SitesList/ListView/BulkHeader/index.tsx +66 -66
  1025. package/src/modules/Sites/SitesList/ListView/ListSiteItem/index.tsx +205 -205
  1026. package/src/modules/Sites/SitesList/ListView/ListSiteItem/style.tsx +12 -12
  1027. package/src/modules/Sites/SitesList/RecentSiteItem/index.tsx +27 -27
  1028. package/src/modules/Sites/SitesList/SiteModal/index.tsx +67 -67
  1029. package/src/modules/Sites/SitesList/atoms.tsx +29 -29
  1030. package/src/modules/Sites/SitesList/hooks.tsx +98 -98
  1031. package/src/modules/Sites/SitesList/index.tsx +412 -412
  1032. package/src/modules/Sites/SitesList/style.tsx +26 -26
  1033. package/src/modules/Sites/SitesList/utils.tsx +21 -21
  1034. package/src/modules/Sites/index.tsx +60 -60
  1035. package/src/modules/StructuredData/Form/ConnectedField/index.tsx +85 -85
  1036. package/src/modules/StructuredData/Form/index.tsx +464 -464
  1037. package/src/modules/StructuredData/StructuredDataList/BulkHeader/TableHeader/index.tsx +143 -143
  1038. package/src/modules/StructuredData/StructuredDataList/BulkHeader/TableHeader/style.tsx +13 -13
  1039. package/src/modules/StructuredData/StructuredDataList/BulkHeader/index.tsx +96 -96
  1040. package/src/modules/StructuredData/StructuredDataList/ContentFilters/index.tsx +51 -51
  1041. package/src/modules/StructuredData/StructuredDataList/ContentFilters/utils.tsx +42 -42
  1042. package/src/modules/StructuredData/StructuredDataList/GlobalPageItem/atoms.tsx +109 -109
  1043. package/src/modules/StructuredData/StructuredDataList/GlobalPageItem/index.tsx +507 -507
  1044. package/src/modules/StructuredData/StructuredDataList/GlobalPageItem/style.tsx +22 -22
  1045. package/src/modules/StructuredData/StructuredDataList/GlobalPageItem/utils.tsx +11 -11
  1046. package/src/modules/StructuredData/StructuredDataList/OptionTable/index.tsx +102 -102
  1047. package/src/modules/StructuredData/StructuredDataList/OptionTable/store.tsx +19 -19
  1048. package/src/modules/StructuredData/StructuredDataList/OptionTable/style.tsx +1 -1
  1049. package/src/modules/StructuredData/StructuredDataList/StructuredDataItem/index.tsx +298 -298
  1050. package/src/modules/StructuredData/StructuredDataList/StructuredDataItem/style.tsx +12 -12
  1051. package/src/modules/StructuredData/StructuredDataList/StructuredDataItem/utils.tsx +48 -48
  1052. package/src/modules/StructuredData/StructuredDataList/atoms.tsx +65 -65
  1053. package/src/modules/StructuredData/StructuredDataList/hooks.tsx +108 -108
  1054. package/src/modules/StructuredData/StructuredDataList/index.tsx +782 -782
  1055. package/src/modules/StructuredData/StructuredDataList/utils.tsx +161 -161
  1056. package/src/modules/StructuredData/index.tsx +8 -8
  1057. package/src/modules/Users/Profile/atoms.tsx +32 -32
  1058. package/src/modules/Users/Profile/index.tsx +82 -82
  1059. package/src/modules/Users/Roles/BulkHeader/TableHeader/index.tsx +50 -50
  1060. package/src/modules/Users/Roles/BulkHeader/TableHeader/style.tsx +1 -1
  1061. package/src/modules/Users/Roles/BulkHeader/index.tsx +60 -60
  1062. package/src/modules/Users/Roles/RoleItem/index.tsx +80 -80
  1063. package/src/modules/Users/Roles/RoleItem/style.tsx +13 -13
  1064. package/src/modules/Users/Roles/SideModal/index.tsx +64 -64
  1065. package/src/modules/Users/Roles/SideModal/style.tsx +20 -21
  1066. package/src/modules/Users/Roles/hooks.tsx +74 -74
  1067. package/src/modules/Users/Roles/index.tsx +218 -218
  1068. package/src/modules/Users/Roles/utils.tsx +7 -7
  1069. package/src/modules/Users/UserCreate/OptionItem/index.tsx +32 -32
  1070. package/src/modules/Users/UserCreate/OptionItem/style.tsx +5 -5
  1071. package/src/modules/Users/UserCreate/SiteItem/RolesModal/RoleItem/index.tsx +32 -32
  1072. package/src/modules/Users/UserCreate/SiteItem/RolesModal/index.tsx +124 -123
  1073. package/src/modules/Users/UserCreate/SiteItem/RolesModal/style.tsx +12 -12
  1074. package/src/modules/Users/UserCreate/SiteItem/index.tsx +101 -101
  1075. package/src/modules/Users/UserCreate/SiteItem/style.tsx +5 -5
  1076. package/src/modules/Users/UserCreate/index.tsx +315 -315
  1077. package/src/modules/Users/UserCreate/style.tsx +20 -20
  1078. package/src/modules/Users/UserEdit/index.tsx +159 -159
  1079. package/src/modules/Users/UserEdit/style.tsx +2 -2
  1080. package/src/modules/Users/UserForm/atoms.tsx +100 -100
  1081. package/src/modules/Users/UserForm/helpers.tsx +4 -4
  1082. package/src/modules/Users/UserForm/index.tsx +494 -494
  1083. package/src/modules/Users/UserForm/style.tsx +18 -18
  1084. package/src/modules/Users/UserList/BulkHeader/TableHeader/index.tsx +86 -86
  1085. package/src/modules/Users/UserList/BulkHeader/index.tsx +62 -62
  1086. package/src/modules/Users/UserList/UserItem/index.tsx +231 -231
  1087. package/src/modules/Users/UserList/UserItem/style.tsx +15 -15
  1088. package/src/modules/Users/UserList/hooks.tsx +73 -73
  1089. package/src/modules/Users/UserList/index.tsx +312 -312
  1090. package/src/modules/Users/UserList/style.tsx +3 -3
  1091. package/src/modules/Users/UserList/utils.tsx +6 -6
  1092. package/src/modules/Users/index.tsx +36 -36
  1093. package/src/react-app-env.d.ts +36 -36
  1094. package/src/routes/index.tsx +15 -15
  1095. package/src/routes/multisite.tsx +205 -205
  1096. package/src/routes/publicRoutes.tsx +5 -5
  1097. package/src/routes/site.tsx +260 -260
  1098. package/src/schemas/index.tsx +1 -1
  1099. package/src/schemas/pages/FormPage.tsx +48 -48
  1100. package/src/schemas/pages/GlobalPage.tsx +208 -208
  1101. package/src/schemas/pages/Page.tsx +278 -278
  1102. package/src/serviceWorker.ts +99 -109
  1103. package/src/themes/theme.json +370 -370
  1104. package/src/types/files.tsx +72 -72
  1105. package/src/types/forms.tsx +54 -54
  1106. package/src/types/index.tsx +794 -794
  1107. package/src/types/logs.tsx +4 -4
  1108. package/tsconfig.json +21 -35
  1109. package/tsconfig.paths.json +20 -20
  1110. package/scripts/start/build-dev.sh +0 -2
  1111. package/scripts/start/build.sh +0 -2
  1112. package/scripts/start/check-node-version.sh +0 -2
  1113. package/scripts/start/start-dev.sh +0 -2
  1114. package/scripts/start/start-local.sh +0 -2
  1115. package/scripts/start/start-staging.sh +0 -2
  1116. package/scripts/start/start-test.sh +0 -2
@@ -7,36 +7,36 @@ const schemas = config.schemas.ui;
7
7
 
8
8
  import { useModal, useBulkSelection, useToast, useCategoryColors, usePermission, useWindowSize } from "@ax/hooks";
9
9
  import {
10
- IRootState,
11
- IPage,
12
- ISavePageParams,
13
- IStructuredDataContent,
14
- IDataPack,
15
- IEmptyStateProps,
16
- ICheck,
17
- IGetSitePagesParams,
18
- ISite,
19
- IUser,
20
- IErrorItem,
21
- IGetSitesParams,
22
- ISiteRoles,
23
- IPageLanguage,
24
- IQueryValue,
25
- IStructuredData,
26
- ISchemaField,
27
- IExportDataParams,
28
- ILanguage,
10
+ IRootState,
11
+ IPage,
12
+ ISavePageParams,
13
+ IStructuredDataContent,
14
+ IDataPack,
15
+ IEmptyStateProps,
16
+ ICheck,
17
+ IGetSitePagesParams,
18
+ ISite,
19
+ IUser,
20
+ IErrorItem,
21
+ IGetSitesParams,
22
+ ISiteRoles,
23
+ IPageLanguage,
24
+ IQueryValue,
25
+ IStructuredData,
26
+ ISchemaField,
27
+ IExportDataParams,
28
+ ILanguage,
29
29
  } from "@ax/types";
30
30
  import {
31
- MainWrapper,
32
- Modal,
33
- TableList,
34
- ErrorToast,
35
- Toast,
36
- EmptyState,
37
- Notification,
38
- SearchTagsBar,
39
- FilterTagsBar,
31
+ MainWrapper,
32
+ Modal,
33
+ TableList,
34
+ ErrorToast,
35
+ Toast,
36
+ EmptyState,
37
+ Notification,
38
+ SearchTagsBar,
39
+ FilterTagsBar,
40
40
  } from "@ax/components";
41
41
  import { getMaxColumns, isGlobalStructuredData, isStructuredDataFromPage, updateColumns } from "@ax/helpers";
42
42
 
@@ -48,21 +48,21 @@ import { navigationActions } from "@ax/containers/Navigation/Defaults";
48
48
  import { INITIAL_TEMPLATE } from "@ax/containers/PageEditor/constants";
49
49
  import { dataPacksActions } from "@ax/containers/Settings";
50
50
  import {
51
- ISetCurrentPageIDAction,
52
- ISetCurrentPageStatusAction,
53
- ISetCurrentPageNameAction,
54
- pageStatus,
51
+ ISetCurrentPageIDAction,
52
+ ISetCurrentPageStatusAction,
53
+ ISetCurrentPageNameAction,
54
+ pageStatus,
55
55
  } from "@ax/containers/PageEditor/interfaces";
56
56
  import { integrationsActions } from "@ax/containers/Integrations";
57
57
  import { IError } from "@ax/containers/App/reducer";
58
58
 
59
59
  import {
60
- getOptionValues,
61
- getOptionFilters,
62
- getCurrentFilter,
63
- filterByStatus,
64
- getSortedListStatus,
65
- getColumns,
60
+ getOptionValues,
61
+ getOptionFilters,
62
+ getCurrentFilter,
63
+ filterByStatus,
64
+ getSortedListStatus,
65
+ getColumns,
66
66
  } from "./utils";
67
67
  import { useSortedListStatus, useFilterQuery } from "./hooks";
68
68
  import OptionTable from "./OptionTable";
@@ -77,1035 +77,1036 @@ import * as S from "./style";
77
77
 
78
78
  // TODO: Make this monster manageable
79
79
  const Content = (props: IProps): JSX.Element => {
80
- const {
81
- currentSiteInfo,
82
- filter,
83
- template,
84
- currentSitePages,
85
- allSitePages,
86
- totalItems,
87
- lang,
88
- siteLanguages,
89
- errors,
90
- setCurrentPageID,
91
- setCurrentPageStatus,
92
- setCurrentPageName,
93
- addTemplate,
94
- getSitePages,
95
- getAllSitePages,
96
- updatePageStatus,
97
- deletePage,
98
- setLanguage,
99
- getStructuredDataContents,
100
- setHistoryPush,
101
- structuredData,
102
- currentStructuredData,
103
- currentDataContent,
104
- isData,
105
- setSelectedStructuredData,
106
- resetForm,
107
- deleteBulk,
108
- getPage,
109
- duplicatePage,
110
- validatePage,
111
- activatedDataPacks,
112
- activatedTemplates,
113
- deleteDataContent,
114
- restoreDataContent,
115
- setFilter,
116
- setDataStatus,
117
- isLoading,
118
- resetPageEditor,
119
- removePageFromSite,
120
- importPageFromGlobal,
121
- restorePage,
122
- getDataPack,
123
- dataPacks,
124
- resetCurrentSiteErrorPages,
125
- currentSiteErrorPages,
126
- getSitesByLang,
127
- sitesByLang,
128
- user,
129
- skipReviewOnPublish,
130
- getIntegrations,
131
- setContentFilters,
132
- contentFilters,
133
- deleteAndRemoveFromSiteBulk,
134
- checkUserSession,
135
- getDefaults,
136
- getAvailableSiteDataPacks,
137
- error,
138
- currentSearch,
139
- updateCurrentSearch,
140
- exportDataContent,
141
- } = props;
142
-
143
- if (!currentSiteInfo) {
144
- throw new Error(`ERROR: User reached Content with null site info`);
145
- }
146
-
147
- const itemsPerPage = 50;
148
- const firstPage = 1;
149
-
150
- const tableRef = useRef<HTMLDivElement>(null);
151
- const errorRef = useRef<HTMLDivElement>(null);
152
- const { isOpen: isNewOpen, toggleModal: toggleNewModal } = useModal();
153
- const { isOpen: isImporterOpen, toggleModal: toggleImporterModal } = useModal();
154
- const { isOpen: isDeleteOpen, toggleModal: toggleDeleteModal } = useModal();
155
- const { sortedListStatus, setSortedListStatus } = useSortedListStatus();
156
- const {
157
- setFiltersSelection,
158
- resetFilterQuery,
159
- filterValues,
160
- query: currentFilterQuery,
161
- } = useFilterQuery(contentFilters);
162
- const { state: locationState } = useLocation<{ isFromEditor: boolean }>();
163
- const [notification, setNotification] = useState<{
164
- text: string;
165
- subErrors?: { id: number; error: string }[];
166
- } | null>(null);
167
-
168
- const currentFilter = getCurrentFilter(structuredData, filter);
169
- const checkFromPage = currentFilter ? currentFilter.fromPage : undefined;
170
- const baseFilters = ["unique-pages", "basic", "list", "static"];
171
- const isStructuredData = !baseFilters.includes(filter) && !checkFromPage;
172
- const isGlobalPages = !baseFilters.includes(filter) && checkFromPage;
173
- const isDataEditable = !isStructuredData || (currentStructuredData && currentStructuredData.editable);
174
- const isDataPrivate = currentStructuredData?.private || false;
175
- const isDataExportable = currentStructuredData?.exportable || false;
176
-
177
- const pagesIds = currentSitePages && currentSitePages.map((page: any) => page.id);
178
- const dataIds = currentDataContent && currentDataContent.map((data: any) => data.id);
179
- const contentIds = isStructuredData ? dataIds : pagesIds;
180
- const currentSitePagesTemplatesIds = allSitePages && allSitePages.map((page: any) => page.templateId);
181
- const currentSitesByLang = sitesByLang?.filter(
182
- (site: ISite) =>
183
- user?.isSuperAdmin ||
184
- user?.roles.find((siteRole: ISiteRoles) => siteRole.siteId === site.id || siteRole.siteId === "all")
185
- );
186
- const categoryColumns: ISchemaField[] =
187
- currentStructuredData && currentStructuredData.schema
188
- ? currentStructuredData.schema.fields.filter((field: ISchemaField) => field.showList)
189
- : [];
190
-
191
- const [page, setPage] = useState(firstPage);
192
- const lastPage = Math.ceil(totalItems / itemsPerPage);
193
- const isLastItem = page === lastPage && currentSitePages.length === 1;
194
-
195
- const [isScrolling, setIsScrolling] = useState(false);
196
- const [deletedItem, setDeletedItem] = useState<number | number[] | null>(null);
197
- const [pagesToImport, setPagesToImport] = useState([]);
198
- const [isEmpty, setIsEmpty] = useState(false);
199
- const [emptyStateProps, setEmptyStateProps] = useState<IEmptyStateProps>({});
200
- const [removedPage, setRemovedPage] = useState<number | number[] | null>(null);
201
- const [deleteAllVersions, setDeleteAllVersions] = useState(false);
202
- const [arePagesTranslated, setArePagesTranslated] = useState(false);
203
- const [templateInstanceError, setTemplateInstanceError] = useState({ error: false, templateName: "" });
204
- const [pagesSelected, setPagesSelected] = useState<any[]>([]);
205
- const history = useHistory();
206
-
207
- const [windowWidth] = useWindowSize();
208
- const maxColumns = getMaxColumns(windowWidth, isStructuredData);
209
-
210
- const initialColumns = getColumns(categoryColumns, isStructuredData, isGlobalPages, maxColumns.value);
211
- const [columnsState, setColumnsState] = useState(initialColumns);
212
-
213
- const [isDeleting, setIsDeleting] = useState<boolean>(false);
214
-
215
- const createPermission = isDataPrivate ? "content.createPrivateContentTypes" : "content.createPages";
216
- const exportPermission = isDataPrivate ? "content.exportPrivateContentTypes" : "content.exportContentTypes";
217
- const isAllowedToCreatePages = usePermission(createPermission);
218
- const isAllowedToExport = usePermission(exportPermission);
219
-
220
- const {
221
- resetBulkSelection,
222
- selectedItems,
223
- isSelected,
224
- areItemsSelected,
225
- checkState,
226
- addToBulkSelection,
227
- selectAllItems,
228
- setHoverCheck,
229
- } = useBulkSelection(contentIds);
230
-
231
- const { isVisible, toggleToast, setIsVisible } = useToast();
232
- const {
233
- isVisible: isVisibleRemovedToast,
234
- toggleToast: toggleRemovedToast,
235
- setIsVisible: setIsVisibleRemovedToast,
236
- } = useToast();
237
- const {
238
- isVisible: isVisibleDeletedToast,
239
- toggleToast: toggleDeletedToast,
240
- setIsVisible: setIsVisibleDeletedToast,
241
- } = useToast();
242
-
243
- const { categoryColors, addCategoryColors } = useCategoryColors();
244
- const {
245
- isVisible: isVisibleCopiedToast,
246
- toggleToast: toggleCopiedToast,
247
- setIsVisible: setIsVisibleCopiedToast,
248
- } = useToast();
249
-
250
- const getParams = useCallback(() => {
251
- const siteID = currentSiteInfo.id;
252
- const params = isStructuredData
253
- ? {
254
- siteID,
255
- dataID: typeof filter === "object" ? filter.value : filter,
256
- page,
257
- itemsPerPage,
258
- pagination: true,
259
- deleted: false,
260
- include_draft: true,
261
- query: currentSearch,
262
- format: "list",
263
- }
264
- : {
265
- siteID,
266
- deleted: false,
267
- page,
268
- itemsPerPage,
269
- query: currentSearch,
270
- format: "list",
271
- };
272
-
273
- return params;
274
- }, [filter, currentSiteInfo, isStructuredData, page, currentSearch]);
275
-
276
- const getPages = async (params: any, filterQuery?: any) => {
277
- const isStructuredDataPage = !baseFilters.includes(filter);
278
- const pageFilter = isStructuredDataPage ? filter : undefined;
279
- await getSitePages(params, pageFilter, filterQuery);
280
- };
281
-
282
- const getSiteContent = useCallback(
283
- async (filterQuery?: any) => {
284
- const params = getParams();
285
- isStructuredData && params.siteID
286
- ? await getStructuredDataContents({ ...params, filterQuery }, params.siteID)
287
- : getPages(params, filterQuery);
288
- },
289
- // eslint-disable-next-line react-hooks/exhaustive-deps
290
- [getParams, getSitePages, getStructuredDataContents, currentSiteInfo, isStructuredData, lang]
291
- );
292
-
293
- useEffect(() => {
294
- currentSiteInfo && getSiteContent(currentFilterQuery);
295
- addTemplate(INITIAL_TEMPLATE);
296
- if (tableRef.current) {
297
- tableRef.current.scrollTo(0, 0);
298
- }
299
- // eslint-disable-next-line
300
- }, [page, filter, currentFilterQuery, currentSearch, lang]);
301
-
302
- useLayoutEffect(() => {
303
- setPage(firstPage);
304
- const initialColumns = getColumns(categoryColumns, isStructuredData, isGlobalPages, maxColumns.value);
305
- setColumnsState(initialColumns);
306
- // eslint-disable-next-line react-hooks/exhaustive-deps
307
- }, [filter]);
308
-
309
- useEffect(() => {
310
- const updatedColumns = updateColumns(columnsState, maxColumns.value);
311
- setColumnsState(updatedColumns);
312
- // eslint-disable-next-line react-hooks/exhaustive-deps
313
- }, [windowWidth]);
314
-
315
- const params = { language: lang.id, recentSitesNumber: 7 };
316
- const fetchSitesByLang = async () => await getSitesByLang(params);
317
-
318
- useLayoutEffect(() => {
319
- checkUserSession();
320
- if (history.action !== "POP" && (!locationState || locationState.isFromEditor !== true)) {
321
- setFilter("unique-pages");
322
- }
323
- resetPageEditor();
324
- resetCurrentSiteErrorPages();
325
- fetchSitesByLang();
326
- getIntegrations(currentSiteInfo.id, {}, true);
327
- getDefaults();
328
- getAvailableSiteDataPacks(null, false);
329
- resetForm();
330
- // eslint-disable-next-line react-hooks/exhaustive-deps
331
- }, []);
332
-
333
- useEffect(() => {
334
- if (!isLoading) {
335
- const isContentType = !baseFilters.includes(filter);
336
- const emptyState: IEmptyStateProps = {};
337
- const { liveStatus, translated, type } = filterValues;
338
- const isSearching =
339
- currentSearch.length > 0 ||
340
- (liveStatus.length && liveStatus[0].value !== "all") ||
341
- (translated.length && translated[0].value !== "all") ||
342
- (type.length && type[0].value !== "all");
343
-
344
- if (isSearching) {
345
- emptyState.icon = "search";
346
- emptyState.title = "Oh! No Results Found";
347
- emptyState.message = "We couldn’t find what you are looking for. Please, try another search.";
348
- } else {
349
- emptyState.message = isContentType
350
- ? "You don’t have pages with this content type yet."
351
- : isAllowedToCreatePages
352
- ? "To start using pages in your site, create as many pages as you need."
353
- : undefined;
354
- emptyState.button = isContentType
355
- ? "View all content"
356
- : isAllowedToCreatePages
357
- ? "Create the first page"
358
- : undefined;
359
- emptyState.action = isContentType ? () => setFilter("unique-pages") : toggleNewModal;
360
- }
361
- setIsEmpty(!content.length);
362
- setEmptyStateProps(emptyState);
363
- }
364
- // eslint-disable-next-line react-hooks/exhaustive-deps
365
- }, [isLoading, currentSitePages]);
366
-
367
- useEffect(() => {
368
- setContentFilters(filterValues);
369
- // eslint-disable-next-line react-hooks/exhaustive-deps
370
- }, [filterValues]);
371
-
372
- useEffect(() => {
373
- const errorCode = (error && error.code) || undefined;
374
- if (errorCode === 400 && errorRef.current) {
375
- errorRef.current.scrollIntoView({
376
- behavior: "smooth",
377
- block: "start",
378
- });
379
- }
380
- }, [error]);
381
-
382
- useEffect(() => {
383
- const params = getParams();
384
- getAllSitePages(params);
385
- }, [lang]);
386
-
387
- const bulkFilter = (bulkSelection: number[]) => filterByStatus(bulkSelection, currentSitePages);
388
-
389
- const handleAddToBulk = (item: ICheck) => {
390
- const page = currentSitePages.find((page: IPage) => page.id === item.value);
391
-
392
- item.isChecked && !pagesSelected.includes(item)
393
- ? setPagesSelected((pagesSelected) => [...pagesSelected, page])
394
- : setPagesSelected(pagesSelected.filter((page: IPage) => page.id !== item.value));
395
-
396
- addToBulkSelection(item, bulkFilter);
397
- };
398
-
399
- const handleSelectAll = () => {
400
- selectAllItems(bulkFilter);
401
- setPagesSelected(isStructuredData ? currentDataContent : currentSitePages);
402
- };
403
-
404
- const unselectAllItems = () => {
405
- resetBulkSelection();
406
- setPagesSelected([]);
407
- };
408
-
409
- const selectItems = () => (checkState.isAllSelected ? unselectAllItems() : handleSelectAll());
410
-
411
- const addNewData = () => {
412
- resetForm(true);
413
- const path = `/sites/data/${currentStructuredData?.id}/editor`;
414
- setHistoryPush(path, false);
415
- };
416
-
417
- const addNewStructuredData = (value: string) => setSelectedStructuredData(value, "site");
418
-
419
- const addNewPage = () => {
420
- const selectedTemplate = schemas?.templates[template];
421
- const { singleInstance, displayName } = selectedTemplate;
422
- const isAlreadyActive = currentSitePagesTemplatesIds.includes(template);
423
-
424
- if (singleInstance && isAlreadyActive) {
425
- setTemplateInstanceError({ error: true, templateName: displayName });
426
- toggleNewModal();
427
- } else {
428
- setTemplateInstanceError({ error: false, templateName: "" });
429
- addTemplate(template);
430
- setCurrentPageID(null);
431
- setCurrentPageStatus("offline");
432
- setCurrentPageName("New Page");
433
- const path = "/sites/pages/editor/new";
434
- setHistoryPush(path, true);
435
- }
436
- };
437
-
438
- const createContent = isData ? addNewData : addNewPage;
439
-
440
- const goToPage = (page: IPage) => () => {
441
- const pageID = page.haveDraftPage ? page.haveDraftPage : page.id;
442
- setCurrentPageID(pageID);
443
- };
444
-
445
- const handleBulkDelete = async (pageIds: number[]) => {
446
- const globalPageIds = pagesSelected
447
- .filter((page: IPage) => pageIds.includes(page.id) && page.origin === "GLOBAL")
448
- .map((page: IPage) => page.id);
449
-
450
- const filteredPageIds = pagesSelected
451
- .filter((page: IPage) => pageIds.includes(page.id) && page.origin !== "GLOBAL")
452
- .map((page: IPage) => page.id);
453
-
454
- const globalPageTranslatedIds = pagesSelected.flatMap((page: IPage) => {
455
- return page.origin === "GLOBAL"
456
- ? page.pageLanguages.filter((trans: any) => pageIds.includes(trans.pageId)).map((trans: any) => trans.pageId)
457
- : [];
458
- });
459
-
460
- const filteredPageTranslatedIds = pagesSelected.flatMap((page: IPage) => {
461
- return page.origin !== "GLOBAL"
462
- ? page.pageLanguages.filter((trans: any) => pageIds.includes(trans.pageId)).map((trans: any) => trans.pageId)
463
- : [];
464
- });
465
-
466
- const deleted = deleteAllVersions
467
- ? await deleteAndRemoveFromSiteBulk(filteredPageTranslatedIds, globalPageTranslatedIds)
468
- : await deleteAndRemoveFromSiteBulk(filteredPageIds, globalPageIds);
469
-
470
- if (deleted) {
471
- setDeletedItem(pageIds);
472
- toggleDeletedToast();
473
- }
474
- };
475
-
476
- const bulkDelete = async () => {
477
- let allPageVersions: number[] = [];
478
- setIsDeleting(true);
479
- if (deleteAllVersions) {
480
- const selectedPages = currentSitePages.filter((page) => selectedItems.all.includes(page.id));
481
- const pageLanguages = selectedPages.map((element) => element.pageLanguages);
482
- pageLanguages.forEach((element) => {
483
- const ids = element.map((lang: IPageLanguage) => lang.pageId);
484
- allPageVersions = [...allPageVersions, ...ids];
485
- });
486
- }
487
-
488
- isStructuredData
489
- ? await deleteDataContent(selectedItems.all).then((deleted: boolean) => {
490
- if (deleted) {
491
- deleteAllVersions ? setDeletedItem(allPageVersions) : setDeletedItem(selectedItems.all);
492
- toggleToast();
493
- }
494
- })
495
- : deleteAllVersions
496
- ? await handleBulkDelete(allPageVersions)
497
- : await handleBulkDelete(selectedItems.all);
498
- toggleDeleteModal();
499
- const allPageItemsSelected = selectedItems.all.length >= currentSitePages.length;
500
- const previousPage = page - 1;
501
- page > 1 && (isLastItem || allPageItemsSelected) ? setPage(previousPage) : getSiteContent();
502
- unselectAllItems();
503
- setIsDeleting(false);
504
- };
505
-
506
- const handleToggleDeleteModal = () => {
507
- const selectedPages = currentSitePages.filter((page) => selectedItems.all.includes(page.id));
508
- const hasTranslations = selectedPages.some((page) => page.pageLanguages.length > 1);
509
- setArePagesTranslated(hasTranslations);
510
- toggleDeleteModal();
511
- };
512
-
513
- const bulkPublishAction = async (isPublish: boolean) => {
514
- const { notPublished, published, drafts } = selectedItems;
515
-
516
- if (drafts && drafts.length > 0) {
517
- const multiplePages = drafts.length > 1;
518
- const getPage = (id: number) => currentSitePages.find((page) => page.id === id);
519
- const getPageWarning = (pageId: number) =>
520
- `The '${getPage(pageId)?.title}' page has a draft version. To publish it, you must do it from the editor.`;
521
- const text = multiplePages
522
- ? `There are ${drafts.length} pages that cannot be published.`
523
- : getPageWarning(drafts[0]);
524
- const subErrors = multiplePages && drafts.map((draft) => ({ id: draft, error: getPageWarning(draft) }));
525
- setNotification({ text, ...(subErrors && { subErrors }) });
526
- }
527
-
528
- const status = isPublish ? pageStatus.UPLOAD_PENDING : pageStatus.OFFLINE_PENDING;
529
-
530
- if (notPublished.length > 0) {
531
- isPublish
532
- ? await updatePageStatus(notPublished, status, true)
533
- : await updatePageStatus(notPublished, pageStatus.OFFLINE, true);
534
- }
535
-
536
- if (published.length > 0 && !isPublish) {
537
- await updatePageStatus(published, status, true);
538
- }
539
-
540
- getSiteContent();
541
- unselectAllItems();
542
- };
543
-
544
- const bulkPublish = () => (isStructuredData ? setDataStatus(selectedItems.all, "undraft") : bulkPublishAction(true));
545
-
546
- const bulkUnpublish = () => (isStructuredData ? setDataStatus(selectedItems.all, "draft") : bulkPublishAction(false));
547
-
548
- const sortItems = (orderPointer: IQueryValue[], isAscending: boolean) => {
549
- setPage(firstPage);
550
- const sortedState = getSortedListStatus(orderPointer[0].value.toString(), isAscending);
551
- setSortedListStatus(sortedState);
552
-
553
- setFiltersSelection("order", orderPointer, isAscending);
554
- };
555
-
556
- const filterItems = (filterPointer: string, filtersSelected: IQueryValue[]) => {
557
- setPage(firstPage);
558
- setFiltersSelection(filterPointer, filtersSelected);
559
- };
560
-
561
- const exportContent =
562
- isDataExportable && isAllowedToExport
563
- ? async (formats: (number | string)[]) => {
564
- if (currentStructuredData && formats.length) {
565
- const ids = selectedItems.all.length ? selectedItems.all : undefined;
566
- await exportDataContent(currentStructuredData?.id, { format: formats as string[], ids });
567
- }
568
- }
569
- : undefined;
570
-
571
- const Header = (
572
- <BulkHeader
573
- showBulk={areItemsSelected(contentIds)}
574
- bulkDelete={handleToggleDeleteModal}
575
- bulkPublish={bulkPublish}
576
- bulkUnpublish={bulkUnpublish}
577
- selectAllItems={handleSelectAll}
578
- totalItems={totalItems}
579
- selectItems={selectItems}
580
- checkState={checkState}
581
- isScrolling={isScrolling}
582
- isStructuredData={isStructuredData}
583
- sortItems={sortItems}
584
- sortedListStatus={sortedListStatus}
585
- filterItems={filterItems}
586
- isEditable={isDataEditable}
587
- filterValues={filterValues}
588
- categoryColumns={categoryColumns}
589
- columns={columnsState}
590
- setColumns={setColumnsState}
591
- isGlobalPages={isGlobalPages}
592
- siteID={currentSiteInfo.id}
593
- maxColumns={maxColumns}
594
- exportAction={exportContent}
595
- setHoverCheck={setHoverCheck}
596
- />
597
- );
598
-
599
- const goToData = (item: any) => {
600
- const isFromPage = !!item.relatedPage;
601
- let path;
602
-
603
- if (isFromPage) {
604
- setCurrentPageID(item.relatedPage.pageId);
605
- path = "/sites/pages/editor";
606
- } else {
607
- setSelectedStructuredData(item.structuredData, "site");
608
- path = `/sites/data/${item.structuredData}/editor`;
609
- }
610
-
611
- setHistoryPush(path, isFromPage);
612
- };
613
-
614
- const mapStructuredData = () =>
615
- currentDataContent &&
616
- currentDataContent.map((item: any) => {
617
- const handleClick = () => goToData(item);
618
- const isItemSelected = isSelected(item.id);
619
- return (
620
- <StructuredDataItem
621
- structuredData={item}
622
- key={item.id}
623
- handleClick={handleClick}
624
- languages={siteLanguages}
625
- lang={lang}
626
- isSelected={isItemSelected}
627
- onChange={addToBulkSelection}
628
- toggleToast={toggleToast}
629
- setDeletedItem={setDeletedItem}
630
- isEditable={isDataEditable}
631
- activatedDataPacks={activatedDataPacks}
632
- categoryColumns={categoryColumns}
633
- columns={columnsState}
634
- categoryColors={categoryColors}
635
- addCategoryColors={addCategoryColors}
636
- hoverCheck={checkState.hoverCheck}
637
- />
638
- );
639
- });
640
-
641
- const mapPages = () =>
642
- currentSitePages &&
643
- currentSitePages.map((pageItem: IPage) => {
644
- const isItemSelected = isSelected(pageItem.id);
645
- const selectedTemplate = schemas?.templates[pageItem.templateId];
646
- const { singleInstance } = selectedTemplate;
647
- const isAlreadyActive = currentSitePagesTemplatesIds.includes(template);
648
- const isDuplicable = !singleInstance || (singleInstance && !isAlreadyActive);
649
-
650
- const item = {
651
- isSelected: isItemSelected,
652
- page: pageItem,
653
- site: currentSiteInfo,
654
- lang,
655
- siteLanguages,
656
- isDuplicable,
657
- };
658
-
659
- const deleteCurrentPage = async () => {
660
- const { site } = item;
661
- const deletePageParams: ISavePageParams = {
662
- site,
663
- page: item.page,
664
- };
665
- const previousPage = page - 1 || 1;
666
-
667
- const deleted = await deletePage(deletePageParams);
668
- if (deleted) {
669
- setDeletedItem(item.page.id);
670
- toggleDeletedToast();
671
- }
672
- isLastItem && previousPage !== 1 ? setPage(previousPage) : getSiteContent();
673
- };
674
-
675
- const deleteCurrentPageBulk = async (ids: number[]) => {
676
- const previousPage = page - 1 || 1;
677
-
678
- const deleted = await deleteBulk(ids);
679
- if (deleted) {
680
- setDeletedItem(ids);
681
- toggleDeletedToast();
682
- }
683
- isLastItem && previousPage !== 1 ? setPage(previousPage) : getSiteContent();
684
- };
685
-
686
- const pageItemFunctions = {
687
- onClick: goToPage(pageItem),
688
- onCheck: handleAddToBulk,
689
- updatePageStatus,
690
- deletePage: deleteCurrentPage,
691
- getSiteContent,
692
- setHistoryPush,
693
- setCurrentPageID,
694
- duplicatePage,
695
- removePageFromSite,
696
- deleteBulk: deleteCurrentPageBulk,
697
- getDataPack: getDataPack,
698
- setTemplateInstanceError,
699
- toggleCopiedToast,
700
- validatePage,
701
- getPage,
702
- };
703
-
704
- return (
705
- <PageItem
706
- item={item}
707
- key={pageItem.id}
708
- functions={pageItemFunctions}
709
- sites={currentSitesByLang}
710
- activatedTemplates={activatedTemplates}
711
- toggleToast={toggleRemovedToast}
712
- setRemovedPage={setRemovedPage}
713
- categoryColumns={categoryColumns}
714
- columns={columnsState}
715
- categoryColors={categoryColors}
716
- addCategoryColors={addCategoryColors}
717
- dataPacks={dataPacks}
718
- skipReview={skipReviewOnPublish}
719
- hoverCheck={checkState.hoverCheck}
720
- />
721
- );
722
- });
723
-
724
- const undoAction = () => {
725
- if (deletedItem && isStructuredData) {
726
- restoreDataContent(deletedItem);
727
- }
728
- setIsVisible(false);
729
- };
730
-
731
- const toastProps = {
732
- action: () => undoAction(),
733
- setIsVisible,
734
- message: deletedItem ? `Data deleted` : "",
735
- };
736
-
737
- const undoRemoveAction = () => {
738
- if (removedPage) {
739
- importPageFromGlobal(removedPage);
740
- }
741
- setIsVisible(false);
742
- };
743
-
744
- const removedToastProps = {
745
- action: () => undoRemoveAction(),
746
- setIsVisible: setIsVisibleRemovedToast,
747
- message: removedPage ? `Page removed` : "",
748
- };
749
-
750
- const content = isStructuredData ? mapStructuredData() : mapPages();
751
-
752
- const title = currentSiteInfo ? currentSiteInfo.name : `Site Content`;
753
-
754
- const options = {
755
- filters: getOptionFilters(structuredData, activatedDataPacks),
756
- values: getOptionValues(structuredData),
757
- };
758
-
759
- const selectedOption = isStructuredData ? filter : template;
760
-
761
- const pagination = {
762
- setPage,
763
- itemsPerPage,
764
- totalItems,
765
- currPage: page,
766
- };
767
-
768
- const onScroll = (e: any) => setIsScrolling(e.target.scrollTop > 0);
769
-
770
- const selectedOptionObject = options.values.find((option) => option.value === selectedOption);
771
- const selectedOptionType = selectedOptionObject.type.toUpperCase();
772
- const isOptionGlobal = selectedOptionType !== "STATIC" && isGlobalStructuredData(selectedOptionType);
773
- const isOptionImportable =
774
- !isData && isOptionGlobal && isStructuredDataFromPage(selectedOptionType) && selectedOptionObject.mode === "detail";
775
-
776
- const handleImport = () => {
777
- toggleNewModal();
778
- toggleImporterModal();
779
- };
780
-
781
- const importPage = async () => {
782
- toggleImporterModal();
783
- if (pagesToImport.length > 0) {
784
- await importPageFromGlobal(pagesToImport);
785
- }
786
- };
787
-
788
- const handleLanguage = (language: ILanguage) => {
789
- const { locale, id } = language;
790
- setLanguage({ locale, id });
791
- setPage(firstPage);
792
- resetBulkSelection();
793
- };
794
-
795
- const createContentAction = isOptionImportable
796
- ? { onClick: handleImport, title: "NEXT" }
797
- : { onClick: createContent, title: "Create new" };
798
-
799
- const resetFilter = () => resetFilterQuery();
800
-
801
- const mainDeleteModalAction = {
802
- title: isDeleting ? "Deleting pages" : "Delete pages",
803
- onClick: bulkDelete,
804
- disabled: isDeleting,
805
- };
806
-
807
- const secondaryDeleteModalAction = { title: "Cancel", onClick: toggleDeleteModal };
808
-
809
- const undoDeleteAction = async () => {
810
- if (deletedItem) {
811
- await restorePage(deletedItem);
812
- getSiteContent();
813
- }
814
- setIsVisible(false);
815
- };
816
-
817
- const deletedToastProps = {
818
- action: () => undoDeleteAction(),
819
- setIsVisible: setIsVisibleDeletedToast,
820
- message: "Page deleted.",
821
- };
822
-
823
- const copiedToastProps = {
824
- setIsVisible: setIsVisibleCopiedToast,
825
- message: "1 Page copied to another Site",
826
- };
827
-
828
- const addNewAction = baseFilters.includes(filter) || isGlobalPages ? toggleNewModal : addNewData;
829
-
830
- const handleSearch = (query: string) => {
831
- updateCurrentSearch(query);
832
- setPage(1);
833
- };
834
-
835
- const rightButtonProps = isAllowedToCreatePages
836
- ? {
837
- label: "New",
838
- action: addNewAction,
839
- disabled: !isDataEditable,
840
- }
841
- : undefined;
842
-
843
- const errorPagesText =
844
- currentSiteErrorPages.length > 1
845
- ? "These pages contains some errors, so you can not publish them yet. Please, review the errors on the pages."
846
- : "This page contains some errors, so you can not publish it yet. Please, review the errors on the page.";
847
-
848
- const notEditableText =
849
- "Sorry, this content cannot be edited because it comes from an external source or belongs to a preconfigured system.";
850
-
851
- const isPrivateText = "This content is private and will not be available for display in any distributor.";
852
-
853
- const filterLabels = {
854
- liveStatus: "Live",
855
- translated: "Translated",
856
- categories: "Category",
857
- };
858
-
859
- return (
860
- <MainWrapper
861
- title={title}
862
- language={lang}
863
- languageAction={handleLanguage}
864
- availableLanguages={siteLanguages}
865
- rightButton={rightButtonProps}
866
- searchAction={handleSearch}
867
- errors={errors}
868
- searchValue={currentSearch}
869
- exportAction={exportContent}
870
- >
871
- <S.ContentListWrapper>
872
- <ContentFilters
873
- current={filter}
874
- dynamicValues={structuredData}
875
- resetFilter={resetFilter}
876
- setFilter={filterItems}
877
- isAllowedToCreate={isAllowedToCreatePages}
878
- addNew={addNewAction}
879
- typeFilters={filterValues.type}
880
- />
881
- <S.TableWrapper>
882
- <ErrorToast ref={errorRef} />
883
- {!isDataEditable && (
884
- <S.NotificationWrapper>
885
- <Notification type="info" text={notEditableText} closeButton={false} />
886
- </S.NotificationWrapper>
887
- )}
888
- {isDataPrivate && (
889
- <S.NotificationWrapper>
890
- <Notification type="private" text={isPrivateText} closeButton={false} />
891
- </S.NotificationWrapper>
892
- )}
893
- {templateInstanceError.error && (
894
- <Notification
895
- type="error"
896
- text={`There can be only one ${templateInstanceError.templateName} page and you already have it.`}
897
- />
898
- )}
899
- {(!!currentSiteErrorPages.length || errors.length > 0) && <Notification type="error" text={errorPagesText} />}
900
- {notification && (
901
- <Notification
902
- type="warning"
903
- text={notification.text}
904
- subErrors={notification.subErrors}
905
- resetError={() => setNotification(null)}
906
- />
907
- )}
908
- <TableList
909
- tableHeader={Header}
910
- pagination={pagination}
911
- onScroll={onScroll}
912
- hasFixedHeader={true}
913
- tableRef={tableRef}
914
- >
915
- <S.SearchTags>
916
- <SearchTagsBar query={currentSearch} setQuery={handleSearch} />
917
- <FilterTagsBar
918
- filters={filterValues}
919
- setFilters={setFiltersSelection}
920
- resetFilters={resetFilterQuery}
921
- labels={filterLabels}
922
- />
923
- </S.SearchTags>
924
- {!isEmpty ? (
925
- <>{content}</>
926
- ) : (
927
- <S.EmptyWrapper>
928
- <EmptyState {...emptyStateProps} />
929
- </S.EmptyWrapper>
930
- )}
931
- </TableList>
932
- </S.TableWrapper>
933
- </S.ContentListWrapper>
934
- <Modal isOpen={isNewOpen} hide={toggleNewModal} size="M" title="New content">
935
- <OptionTable
936
- selectPage={addTemplate}
937
- selectData={addNewStructuredData}
938
- filters={options.filters}
939
- values={options.values}
940
- selectedValue={selectedOption}
941
- theme={currentSiteInfo.theme}
942
- mainAction={createContentAction}
943
- secondaryAction={{ title: "Cancel", onClick: toggleNewModal }}
944
- />
945
- </Modal>
946
- <Modal
947
- isOpen={isImporterOpen}
948
- hide={toggleImporterModal}
949
- size="M"
950
- title="New content"
951
- mainAction={{ title: "Add Pages", onClick: importPage }}
952
- secondaryAction={{ title: "Cancel", onClick: toggleImporterModal }}
953
- >
954
- <PageImporter structuredData={selectedOptionType} {...{ setPagesToImport }} />
955
- </Modal>
956
- <DeleteModal
957
- isOpen={isDeleteOpen}
958
- toggleModal={toggleDeleteModal}
959
- mainModalAction={mainDeleteModalAction}
960
- secondaryModalAction={secondaryDeleteModalAction}
961
- {...{ isTranslated: arePagesTranslated, deleteAllVersions, setDeleteAllVersions }}
962
- />
963
- {isVisible && <Toast {...toastProps} />}
964
- {isVisibleRemovedToast && <Toast {...removedToastProps} />}
965
- {isVisibleDeletedToast && <Toast {...deletedToastProps} />}
966
- {isVisibleCopiedToast && <Toast {...copiedToastProps} />}
967
- </MainWrapper>
968
- );
80
+ const {
81
+ currentSiteInfo,
82
+ filter,
83
+ template,
84
+ currentSitePages,
85
+ allSitePages,
86
+ totalItems,
87
+ lang,
88
+ siteLanguages,
89
+ errors,
90
+ setCurrentPageID,
91
+ setCurrentPageStatus,
92
+ setCurrentPageName,
93
+ addTemplate,
94
+ getSitePages,
95
+ getAllSitePages,
96
+ updatePageStatus,
97
+ deletePage,
98
+ setLanguage,
99
+ getStructuredDataContents,
100
+ setHistoryPush,
101
+ structuredData,
102
+ currentStructuredData,
103
+ currentDataContent,
104
+ isData,
105
+ setSelectedStructuredData,
106
+ resetForm,
107
+ deleteBulk,
108
+ getPage,
109
+ duplicatePage,
110
+ validatePage,
111
+ activatedDataPacks,
112
+ activatedTemplates,
113
+ deleteDataContent,
114
+ restoreDataContent,
115
+ setFilter,
116
+ setDataStatus,
117
+ isLoading,
118
+ resetPageEditor,
119
+ removePageFromSite,
120
+ importPageFromGlobal,
121
+ restorePage,
122
+ getDataPack,
123
+ dataPacks,
124
+ resetCurrentSiteErrorPages,
125
+ currentSiteErrorPages,
126
+ getSitesByLang,
127
+ sitesByLang,
128
+ user,
129
+ skipReviewOnPublish,
130
+ getIntegrations,
131
+ setContentFilters,
132
+ contentFilters,
133
+ deleteAndRemoveFromSiteBulk,
134
+ checkUserSession,
135
+ getDefaults,
136
+ getAvailableSiteDataPacks,
137
+ error,
138
+ currentSearch,
139
+ updateCurrentSearch,
140
+ exportDataContent,
141
+ } = props;
142
+
143
+ if (!currentSiteInfo) {
144
+ throw new Error(`ERROR: User reached Content with null site info`);
145
+ }
146
+
147
+ const itemsPerPage = 50;
148
+ const firstPage = 1;
149
+
150
+ const tableRef = useRef<HTMLDivElement>(null);
151
+ const errorRef = useRef<HTMLDivElement>(null);
152
+ const { isOpen: isNewOpen, toggleModal: toggleNewModal } = useModal();
153
+ const { isOpen: isImporterOpen, toggleModal: toggleImporterModal } = useModal();
154
+ const { isOpen: isDeleteOpen, toggleModal: toggleDeleteModal } = useModal();
155
+ const { sortedListStatus, setSortedListStatus } = useSortedListStatus();
156
+ const {
157
+ setFiltersSelection,
158
+ resetFilterQuery,
159
+ filterValues,
160
+ query: currentFilterQuery,
161
+ } = useFilterQuery(contentFilters);
162
+ const { state: locationState } = useLocation<{ isFromEditor: boolean }>();
163
+ const [notification, setNotification] = useState<{
164
+ text: string;
165
+ subErrors?: { id: number; error: string }[];
166
+ } | null>(null);
167
+
168
+ const currentFilter = getCurrentFilter(structuredData, filter);
169
+ const checkFromPage = currentFilter ? currentFilter.fromPage : undefined;
170
+ const baseFilters = ["unique-pages", "basic", "list", "static"];
171
+ const isStructuredData = !baseFilters.includes(filter) && !checkFromPage;
172
+ const isGlobalPages = !baseFilters.includes(filter) && checkFromPage;
173
+ const isDataEditable = !isStructuredData || (currentStructuredData && currentStructuredData.editable);
174
+ const isDataPrivate = currentStructuredData?.private || false;
175
+ const isDataExportable = currentStructuredData?.exportable || false;
176
+
177
+ const pagesIds = currentSitePages && currentSitePages.map((page: any) => page.id);
178
+ const dataIds = currentDataContent && currentDataContent.map((data: any) => data.id);
179
+ const contentIds = isStructuredData ? dataIds : pagesIds;
180
+ const currentSitePagesTemplatesIds = allSitePages && allSitePages.map((page: any) => page.templateId);
181
+ const currentSitesByLang = sitesByLang?.filter(
182
+ (site: ISite) =>
183
+ user?.isSuperAdmin ||
184
+ user?.roles.find((siteRole: ISiteRoles) => siteRole.siteId === site.id || siteRole.siteId === "all"),
185
+ );
186
+ const categoryColumns: ISchemaField[] =
187
+ currentStructuredData && currentStructuredData.schema
188
+ ? currentStructuredData.schema.fields.filter((field: ISchemaField) => field.showList)
189
+ : [];
190
+
191
+ const [page, setPage] = useState(firstPage);
192
+ const lastPage = Math.ceil(totalItems / itemsPerPage);
193
+ const isLastItem = page === lastPage && currentSitePages.length === 1;
194
+
195
+ const [isScrolling, setIsScrolling] = useState(false);
196
+ const [deletedItem, setDeletedItem] = useState<number | number[] | null>(null);
197
+ const [pagesToImport, setPagesToImport] = useState([]);
198
+ const [isEmpty, setIsEmpty] = useState(false);
199
+ const [emptyStateProps, setEmptyStateProps] = useState<IEmptyStateProps>({});
200
+ const [removedPage, setRemovedPage] = useState<number | number[] | null>(null);
201
+ const [deleteAllVersions, setDeleteAllVersions] = useState(false);
202
+ const [arePagesTranslated, setArePagesTranslated] = useState(false);
203
+ const [templateInstanceError, setTemplateInstanceError] = useState({ error: false, templateName: "" });
204
+ const [pagesSelected, setPagesSelected] = useState<any[]>([]);
205
+ const history = useHistory();
206
+
207
+ const [windowWidth] = useWindowSize();
208
+ const maxColumns = getMaxColumns(windowWidth, isStructuredData);
209
+
210
+ const initialColumns = getColumns(categoryColumns, isStructuredData, isGlobalPages, maxColumns.value);
211
+ const [columnsState, setColumnsState] = useState(initialColumns);
212
+
213
+ const [isDeleting, setIsDeleting] = useState<boolean>(false);
214
+
215
+ const createPermission = isDataPrivate ? "content.createPrivateContentTypes" : "content.createPages";
216
+ const exportPermission = isDataPrivate ? "content.exportPrivateContentTypes" : "content.exportContentTypes";
217
+ const isAllowedToCreatePages = usePermission(createPermission);
218
+ const isAllowedToExport = usePermission(exportPermission);
219
+
220
+ const {
221
+ resetBulkSelection,
222
+ selectedItems,
223
+ isSelected,
224
+ areItemsSelected,
225
+ checkState,
226
+ addToBulkSelection,
227
+ selectAllItems,
228
+ setHoverCheck,
229
+ } = useBulkSelection(contentIds);
230
+
231
+ const { isVisible, toggleToast, setIsVisible } = useToast();
232
+ const {
233
+ isVisible: isVisibleRemovedToast,
234
+ toggleToast: toggleRemovedToast,
235
+ setIsVisible: setIsVisibleRemovedToast,
236
+ } = useToast();
237
+ const {
238
+ isVisible: isVisibleDeletedToast,
239
+ toggleToast: toggleDeletedToast,
240
+ setIsVisible: setIsVisibleDeletedToast,
241
+ } = useToast();
242
+
243
+ const { categoryColors, addCategoryColors } = useCategoryColors();
244
+ const {
245
+ isVisible: isVisibleCopiedToast,
246
+ toggleToast: toggleCopiedToast,
247
+ setIsVisible: setIsVisibleCopiedToast,
248
+ } = useToast();
249
+
250
+ const getParams = useCallback(() => {
251
+ const siteID = currentSiteInfo.id;
252
+ const params = isStructuredData
253
+ ? {
254
+ siteID,
255
+ dataID: typeof filter === "object" ? filter.value : filter,
256
+ page,
257
+ itemsPerPage,
258
+ pagination: true,
259
+ deleted: false,
260
+ include_draft: true,
261
+ query: currentSearch,
262
+ format: "list",
263
+ }
264
+ : {
265
+ siteID,
266
+ deleted: false,
267
+ page,
268
+ itemsPerPage,
269
+ query: currentSearch,
270
+ format: "list",
271
+ };
272
+
273
+ return params;
274
+ }, [filter, currentSiteInfo, isStructuredData, page, currentSearch]);
275
+
276
+ const getPages = async (params: any, filterQuery?: any) => {
277
+ const isStructuredDataPage = !baseFilters.includes(filter);
278
+ const pageFilter = isStructuredDataPage ? filter : undefined;
279
+ await getSitePages(params, pageFilter, filterQuery);
280
+ };
281
+
282
+ // biome-ignore lint/correctness/useExhaustiveDependencies: TODO: fix this
283
+ const getSiteContent = useCallback(
284
+ async (filterQuery?: any) => {
285
+ const params = getParams();
286
+ isStructuredData && params.siteID
287
+ ? await getStructuredDataContents({ ...params, filterQuery }, params.siteID)
288
+ : getPages(params, filterQuery);
289
+ },
290
+ [getParams, getSitePages, getStructuredDataContents, currentSiteInfo, isStructuredData, lang],
291
+ );
292
+
293
+ // biome-ignore lint/correctness/useExhaustiveDependencies: TODO: fix
294
+ useEffect(() => {
295
+ currentSiteInfo && getSiteContent(currentFilterQuery);
296
+ addTemplate(INITIAL_TEMPLATE);
297
+ if (tableRef.current) {
298
+ tableRef.current.scrollTo(0, 0);
299
+ }
300
+ }, [page, filter, currentFilterQuery, currentSearch, lang]);
301
+
302
+ // biome-ignore lint/correctness/useExhaustiveDependencies: TODO: fix this
303
+ useLayoutEffect(() => {
304
+ setPage(firstPage);
305
+ const initialColumns = getColumns(categoryColumns, isStructuredData, isGlobalPages, maxColumns.value);
306
+ setColumnsState(initialColumns);
307
+ }, [filter]);
308
+
309
+ // biome-ignore lint/correctness/useExhaustiveDependencies: TODO: fix this
310
+ useEffect(() => {
311
+ const updatedColumns = updateColumns(columnsState, maxColumns.value);
312
+ setColumnsState(updatedColumns);
313
+ }, [windowWidth]);
314
+
315
+ const params = { language: lang.id, recentSitesNumber: 7 };
316
+ const fetchSitesByLang = async () => await getSitesByLang(params);
317
+
318
+ // biome-ignore lint/correctness/useExhaustiveDependencies: TODO: fix this
319
+ useLayoutEffect(() => {
320
+ checkUserSession();
321
+ if (history.action !== "POP" && (!locationState || locationState.isFromEditor !== true)) {
322
+ setFilter("unique-pages");
323
+ }
324
+ resetPageEditor();
325
+ resetCurrentSiteErrorPages();
326
+ fetchSitesByLang();
327
+ getIntegrations(currentSiteInfo.id, {}, true);
328
+ getDefaults();
329
+ getAvailableSiteDataPacks(null, false);
330
+ resetForm();
331
+ }, []);
332
+
333
+ // biome-ignore lint/correctness/useExhaustiveDependencies: TODO: fix this
334
+ useEffect(() => {
335
+ if (!isLoading) {
336
+ const isContentType = !baseFilters.includes(filter);
337
+ const emptyState: IEmptyStateProps = {};
338
+ const { liveStatus, translated, type } = filterValues;
339
+ const isSearching =
340
+ currentSearch.length > 0 ||
341
+ (liveStatus.length && liveStatus[0].value !== "all") ||
342
+ (translated.length && translated[0].value !== "all") ||
343
+ (type.length && type[0].value !== "all");
344
+
345
+ if (isSearching) {
346
+ emptyState.icon = "search";
347
+ emptyState.title = "Oh! No Results Found";
348
+ emptyState.message = "We couldn’t find what you are looking for. Please, try another search.";
349
+ } else {
350
+ emptyState.message = isContentType
351
+ ? "You don’t have pages with this content type yet."
352
+ : isAllowedToCreatePages
353
+ ? "To start using pages in your site, create as many pages as you need."
354
+ : undefined;
355
+ emptyState.button = isContentType
356
+ ? "View all content"
357
+ : isAllowedToCreatePages
358
+ ? "Create the first page"
359
+ : undefined;
360
+ emptyState.action = isContentType ? () => setFilter("unique-pages") : toggleNewModal;
361
+ }
362
+ setIsEmpty(!content.length);
363
+ setEmptyStateProps(emptyState);
364
+ }
365
+ }, [isLoading, currentSitePages]);
366
+
367
+ // biome-ignore lint/correctness/useExhaustiveDependencies: TODO: fix this
368
+ useEffect(() => {
369
+ setContentFilters(filterValues);
370
+ }, [filterValues]);
371
+
372
+ useEffect(() => {
373
+ const errorCode = (error && error.code) || undefined;
374
+ if (errorCode === 400 && errorRef.current) {
375
+ errorRef.current.scrollIntoView({
376
+ behavior: "smooth",
377
+ block: "start",
378
+ });
379
+ }
380
+ }, [error]);
381
+
382
+ // biome-ignore lint/correctness/useExhaustiveDependencies: TODO: fix this
383
+ useEffect(() => {
384
+ const params = getParams();
385
+ getAllSitePages(params);
386
+ }, [lang]);
387
+
388
+ const bulkFilter = (bulkSelection: number[]) => filterByStatus(bulkSelection, currentSitePages);
389
+
390
+ const handleAddToBulk = (item: ICheck) => {
391
+ const page = currentSitePages.find((page: IPage) => page.id === item.value);
392
+
393
+ item.isChecked && !pagesSelected.includes(item)
394
+ ? setPagesSelected((pagesSelected) => [...pagesSelected, page])
395
+ : setPagesSelected(pagesSelected.filter((page: IPage) => page.id !== item.value));
396
+
397
+ addToBulkSelection(item, bulkFilter);
398
+ };
399
+
400
+ const handleSelectAll = () => {
401
+ selectAllItems(bulkFilter);
402
+ setPagesSelected(isStructuredData ? currentDataContent : currentSitePages);
403
+ };
404
+
405
+ const unselectAllItems = () => {
406
+ resetBulkSelection();
407
+ setPagesSelected([]);
408
+ };
409
+
410
+ const selectItems = () => (checkState.isAllSelected ? unselectAllItems() : handleSelectAll());
411
+
412
+ const addNewData = () => {
413
+ resetForm(true);
414
+ const path = `/sites/data/${currentStructuredData?.id}/editor`;
415
+ setHistoryPush(path, false);
416
+ };
417
+
418
+ const addNewStructuredData = (value: string) => setSelectedStructuredData(value, "site");
419
+
420
+ const addNewPage = () => {
421
+ const selectedTemplate = schemas?.templates[template];
422
+ const { singleInstance, displayName } = selectedTemplate;
423
+ const isAlreadyActive = currentSitePagesTemplatesIds.includes(template);
424
+
425
+ if (singleInstance && isAlreadyActive) {
426
+ setTemplateInstanceError({ error: true, templateName: displayName });
427
+ toggleNewModal();
428
+ } else {
429
+ setTemplateInstanceError({ error: false, templateName: "" });
430
+ addTemplate(template);
431
+ setCurrentPageID(null);
432
+ setCurrentPageStatus("offline");
433
+ setCurrentPageName("New Page");
434
+ const path = "/sites/pages/editor/new";
435
+ setHistoryPush(path, true);
436
+ }
437
+ };
438
+
439
+ const createContent = isData ? addNewData : addNewPage;
440
+
441
+ const goToPage = (page: IPage) => () => {
442
+ const pageID = page.haveDraftPage ? page.haveDraftPage : page.id;
443
+ setCurrentPageID(pageID);
444
+ };
445
+
446
+ const handleBulkDelete = async (pageIds: number[]) => {
447
+ const globalPageIds = pagesSelected
448
+ .filter((page: IPage) => pageIds.includes(page.id) && page.origin === "GLOBAL")
449
+ .map((page: IPage) => page.id);
450
+
451
+ const filteredPageIds = pagesSelected
452
+ .filter((page: IPage) => pageIds.includes(page.id) && page.origin !== "GLOBAL")
453
+ .map((page: IPage) => page.id);
454
+
455
+ const globalPageTranslatedIds = pagesSelected.flatMap((page: IPage) => {
456
+ return page.origin === "GLOBAL"
457
+ ? page.pageLanguages.filter((trans: any) => pageIds.includes(trans.pageId)).map((trans: any) => trans.pageId)
458
+ : [];
459
+ });
460
+
461
+ const filteredPageTranslatedIds = pagesSelected.flatMap((page: IPage) => {
462
+ return page.origin !== "GLOBAL"
463
+ ? page.pageLanguages.filter((trans: any) => pageIds.includes(trans.pageId)).map((trans: any) => trans.pageId)
464
+ : [];
465
+ });
466
+
467
+ const deleted = deleteAllVersions
468
+ ? await deleteAndRemoveFromSiteBulk(filteredPageTranslatedIds, globalPageTranslatedIds)
469
+ : await deleteAndRemoveFromSiteBulk(filteredPageIds, globalPageIds);
470
+
471
+ if (deleted) {
472
+ setDeletedItem(pageIds);
473
+ toggleDeletedToast();
474
+ }
475
+ };
476
+
477
+ const bulkDelete = async () => {
478
+ let allPageVersions: number[] = [];
479
+ setIsDeleting(true);
480
+ if (deleteAllVersions) {
481
+ const selectedPages = currentSitePages.filter((page) => selectedItems.all.includes(page.id));
482
+ const pageLanguages = selectedPages.map((element) => element.pageLanguages);
483
+ pageLanguages.forEach((element) => {
484
+ const ids = element.map((lang: IPageLanguage) => lang.pageId);
485
+ allPageVersions = [...allPageVersions, ...ids];
486
+ });
487
+ }
488
+
489
+ isStructuredData
490
+ ? await deleteDataContent(selectedItems.all).then((deleted: boolean) => {
491
+ if (deleted) {
492
+ deleteAllVersions ? setDeletedItem(allPageVersions) : setDeletedItem(selectedItems.all);
493
+ toggleToast();
494
+ }
495
+ })
496
+ : deleteAllVersions
497
+ ? await handleBulkDelete(allPageVersions)
498
+ : await handleBulkDelete(selectedItems.all);
499
+ toggleDeleteModal();
500
+ const allPageItemsSelected = selectedItems.all.length >= currentSitePages.length;
501
+ const previousPage = page - 1;
502
+ page > 1 && (isLastItem || allPageItemsSelected) ? setPage(previousPage) : getSiteContent();
503
+ unselectAllItems();
504
+ setIsDeleting(false);
505
+ };
506
+
507
+ const handleToggleDeleteModal = () => {
508
+ const selectedPages = currentSitePages.filter((page) => selectedItems.all.includes(page.id));
509
+ const hasTranslations = selectedPages.some((page) => page.pageLanguages.length > 1);
510
+ setArePagesTranslated(hasTranslations);
511
+ toggleDeleteModal();
512
+ };
513
+
514
+ const bulkPublishAction = async (isPublish: boolean) => {
515
+ const { notPublished, published, drafts } = selectedItems;
516
+
517
+ if (drafts && drafts.length > 0) {
518
+ const multiplePages = drafts.length > 1;
519
+ const getPage = (id: number) => currentSitePages.find((page) => page.id === id);
520
+ const getPageWarning = (pageId: number) =>
521
+ `The '${getPage(pageId)?.title}' page has a draft version. To publish it, you must do it from the editor.`;
522
+ const text = multiplePages
523
+ ? `There are ${drafts.length} pages that cannot be published.`
524
+ : getPageWarning(drafts[0]);
525
+ const subErrors = multiplePages && drafts.map((draft) => ({ id: draft, error: getPageWarning(draft) }));
526
+ setNotification({ text, ...(subErrors && { subErrors }) });
527
+ }
528
+
529
+ const status = isPublish ? pageStatus.UPLOAD_PENDING : pageStatus.OFFLINE_PENDING;
530
+
531
+ if (notPublished.length > 0) {
532
+ isPublish
533
+ ? await updatePageStatus(notPublished, status, true)
534
+ : await updatePageStatus(notPublished, pageStatus.OFFLINE, true);
535
+ }
536
+
537
+ if (published.length > 0 && !isPublish) {
538
+ await updatePageStatus(published, status, true);
539
+ }
540
+
541
+ getSiteContent();
542
+ unselectAllItems();
543
+ };
544
+
545
+ const bulkPublish = () => (isStructuredData ? setDataStatus(selectedItems.all, "undraft") : bulkPublishAction(true));
546
+
547
+ const bulkUnpublish = () => (isStructuredData ? setDataStatus(selectedItems.all, "draft") : bulkPublishAction(false));
548
+
549
+ const sortItems = (orderPointer: IQueryValue[], isAscending: boolean) => {
550
+ setPage(firstPage);
551
+ const sortedState = getSortedListStatus(orderPointer[0].value.toString(), isAscending);
552
+ setSortedListStatus(sortedState);
553
+
554
+ setFiltersSelection("order", orderPointer, isAscending);
555
+ };
556
+
557
+ const filterItems = (filterPointer: string, filtersSelected: IQueryValue[]) => {
558
+ setPage(firstPage);
559
+ setFiltersSelection(filterPointer, filtersSelected);
560
+ };
561
+
562
+ const exportContent =
563
+ isDataExportable && isAllowedToExport
564
+ ? async (formats: (number | string)[]) => {
565
+ if (currentStructuredData && formats.length) {
566
+ const ids = selectedItems.all.length ? selectedItems.all : undefined;
567
+ await exportDataContent(currentStructuredData?.id, { format: formats as string[], ids });
568
+ }
569
+ }
570
+ : undefined;
571
+
572
+ const Header = (
573
+ <BulkHeader
574
+ showBulk={areItemsSelected(contentIds)}
575
+ bulkDelete={handleToggleDeleteModal}
576
+ bulkPublish={bulkPublish}
577
+ bulkUnpublish={bulkUnpublish}
578
+ selectAllItems={handleSelectAll}
579
+ totalItems={totalItems}
580
+ selectItems={selectItems}
581
+ checkState={checkState}
582
+ isScrolling={isScrolling}
583
+ isStructuredData={isStructuredData}
584
+ sortItems={sortItems}
585
+ sortedListStatus={sortedListStatus}
586
+ filterItems={filterItems}
587
+ isEditable={isDataEditable}
588
+ filterValues={filterValues}
589
+ categoryColumns={categoryColumns}
590
+ columns={columnsState}
591
+ setColumns={setColumnsState}
592
+ isGlobalPages={isGlobalPages}
593
+ siteID={currentSiteInfo.id}
594
+ maxColumns={maxColumns}
595
+ exportAction={exportContent}
596
+ setHoverCheck={setHoverCheck}
597
+ />
598
+ );
599
+
600
+ const goToData = (item: any) => {
601
+ const isFromPage = !!item.relatedPage;
602
+ let path;
603
+
604
+ if (isFromPage) {
605
+ setCurrentPageID(item.relatedPage.pageId);
606
+ path = "/sites/pages/editor";
607
+ } else {
608
+ setSelectedStructuredData(item.structuredData, "site");
609
+ path = `/sites/data/${item.structuredData}/editor`;
610
+ }
611
+
612
+ setHistoryPush(path, isFromPage);
613
+ };
614
+
615
+ const mapStructuredData = () =>
616
+ currentDataContent &&
617
+ currentDataContent.map((item: any) => {
618
+ const handleClick = () => goToData(item);
619
+ const isItemSelected = isSelected(item.id);
620
+ return (
621
+ <StructuredDataItem
622
+ structuredData={item}
623
+ key={item.id}
624
+ handleClick={handleClick}
625
+ languages={siteLanguages}
626
+ lang={lang}
627
+ isSelected={isItemSelected}
628
+ onChange={addToBulkSelection}
629
+ toggleToast={toggleToast}
630
+ setDeletedItem={setDeletedItem}
631
+ isEditable={isDataEditable}
632
+ activatedDataPacks={activatedDataPacks}
633
+ categoryColumns={categoryColumns}
634
+ columns={columnsState}
635
+ categoryColors={categoryColors}
636
+ addCategoryColors={addCategoryColors}
637
+ hoverCheck={checkState.hoverCheck}
638
+ />
639
+ );
640
+ });
641
+
642
+ const mapPages = () =>
643
+ currentSitePages &&
644
+ currentSitePages.map((pageItem: IPage) => {
645
+ const isItemSelected = isSelected(pageItem.id);
646
+ const selectedTemplate = schemas?.templates[pageItem.templateId];
647
+ const { singleInstance } = selectedTemplate;
648
+ const isAlreadyActive = currentSitePagesTemplatesIds.includes(template);
649
+ const isDuplicable = !singleInstance || (singleInstance && !isAlreadyActive);
650
+
651
+ const item = {
652
+ isSelected: isItemSelected,
653
+ page: pageItem,
654
+ site: currentSiteInfo,
655
+ lang,
656
+ siteLanguages,
657
+ isDuplicable,
658
+ };
659
+
660
+ const deleteCurrentPage = async () => {
661
+ const { site } = item;
662
+ const deletePageParams: ISavePageParams = {
663
+ site,
664
+ page: item.page,
665
+ };
666
+ const previousPage = page - 1 || 1;
667
+
668
+ const deleted = await deletePage(deletePageParams);
669
+ if (deleted) {
670
+ setDeletedItem(item.page.id);
671
+ toggleDeletedToast();
672
+ }
673
+ isLastItem && previousPage !== 1 ? setPage(previousPage) : getSiteContent();
674
+ };
675
+
676
+ const deleteCurrentPageBulk = async (ids: number[]) => {
677
+ const previousPage = page - 1 || 1;
678
+
679
+ const deleted = await deleteBulk(ids);
680
+ if (deleted) {
681
+ setDeletedItem(ids);
682
+ toggleDeletedToast();
683
+ }
684
+ isLastItem && previousPage !== 1 ? setPage(previousPage) : getSiteContent();
685
+ };
686
+
687
+ const pageItemFunctions = {
688
+ onClick: goToPage(pageItem),
689
+ onCheck: handleAddToBulk,
690
+ updatePageStatus,
691
+ deletePage: deleteCurrentPage,
692
+ getSiteContent,
693
+ setHistoryPush,
694
+ setCurrentPageID,
695
+ duplicatePage,
696
+ removePageFromSite,
697
+ deleteBulk: deleteCurrentPageBulk,
698
+ getDataPack: getDataPack,
699
+ setTemplateInstanceError,
700
+ toggleCopiedToast,
701
+ validatePage,
702
+ getPage,
703
+ };
704
+
705
+ return (
706
+ <PageItem
707
+ item={item}
708
+ key={pageItem.id}
709
+ functions={pageItemFunctions}
710
+ sites={currentSitesByLang}
711
+ activatedTemplates={activatedTemplates}
712
+ toggleToast={toggleRemovedToast}
713
+ setRemovedPage={setRemovedPage}
714
+ categoryColumns={categoryColumns}
715
+ columns={columnsState}
716
+ categoryColors={categoryColors}
717
+ addCategoryColors={addCategoryColors}
718
+ dataPacks={dataPacks}
719
+ skipReview={skipReviewOnPublish}
720
+ hoverCheck={checkState.hoverCheck}
721
+ />
722
+ );
723
+ });
724
+
725
+ const undoAction = () => {
726
+ if (deletedItem && isStructuredData) {
727
+ restoreDataContent(deletedItem);
728
+ }
729
+ setIsVisible(false);
730
+ };
731
+
732
+ const toastProps = {
733
+ action: () => undoAction(),
734
+ setIsVisible,
735
+ message: deletedItem ? `Data deleted` : "",
736
+ };
737
+
738
+ const undoRemoveAction = () => {
739
+ if (removedPage) {
740
+ importPageFromGlobal(removedPage);
741
+ }
742
+ setIsVisible(false);
743
+ };
744
+
745
+ const removedToastProps = {
746
+ action: () => undoRemoveAction(),
747
+ setIsVisible: setIsVisibleRemovedToast,
748
+ message: removedPage ? `Page removed` : "",
749
+ };
750
+
751
+ const content = isStructuredData ? mapStructuredData() : mapPages();
752
+
753
+ const title = currentSiteInfo ? currentSiteInfo.name : `Site Content`;
754
+
755
+ const options = {
756
+ filters: getOptionFilters(structuredData, activatedDataPacks),
757
+ values: getOptionValues(structuredData),
758
+ };
759
+
760
+ const selectedOption = isStructuredData ? filter : template;
761
+
762
+ const pagination = {
763
+ setPage,
764
+ itemsPerPage,
765
+ totalItems,
766
+ currPage: page,
767
+ };
768
+
769
+ const onScroll = (e: any) => setIsScrolling(e.target.scrollTop > 0);
770
+
771
+ const selectedOptionObject = options.values.find((option) => option.value === selectedOption);
772
+ const selectedOptionType = selectedOptionObject.type.toUpperCase();
773
+ const isOptionGlobal = selectedOptionType !== "STATIC" && isGlobalStructuredData(selectedOptionType);
774
+ const isOptionImportable =
775
+ !isData && isOptionGlobal && isStructuredDataFromPage(selectedOptionType) && selectedOptionObject.mode === "detail";
776
+
777
+ const handleImport = () => {
778
+ toggleNewModal();
779
+ toggleImporterModal();
780
+ };
781
+
782
+ const importPage = async () => {
783
+ toggleImporterModal();
784
+ if (pagesToImport.length > 0) {
785
+ await importPageFromGlobal(pagesToImport);
786
+ }
787
+ };
788
+
789
+ const handleLanguage = (language: ILanguage) => {
790
+ const { locale, id } = language;
791
+ setLanguage({ locale, id });
792
+ setPage(firstPage);
793
+ resetBulkSelection();
794
+ };
795
+
796
+ const createContentAction = isOptionImportable
797
+ ? { onClick: handleImport, title: "NEXT" }
798
+ : { onClick: createContent, title: "Create new" };
799
+
800
+ const resetFilter = () => resetFilterQuery();
801
+
802
+ const mainDeleteModalAction = {
803
+ title: isDeleting ? "Deleting pages" : "Delete pages",
804
+ onClick: bulkDelete,
805
+ disabled: isDeleting,
806
+ };
807
+
808
+ const secondaryDeleteModalAction = { title: "Cancel", onClick: toggleDeleteModal };
809
+
810
+ const undoDeleteAction = async () => {
811
+ if (deletedItem) {
812
+ await restorePage(deletedItem);
813
+ getSiteContent();
814
+ }
815
+ setIsVisible(false);
816
+ };
817
+
818
+ const deletedToastProps = {
819
+ action: () => undoDeleteAction(),
820
+ setIsVisible: setIsVisibleDeletedToast,
821
+ message: "Page deleted.",
822
+ };
823
+
824
+ const copiedToastProps = {
825
+ setIsVisible: setIsVisibleCopiedToast,
826
+ message: "1 Page copied to another Site",
827
+ };
828
+
829
+ const addNewAction = baseFilters.includes(filter) || isGlobalPages ? toggleNewModal : addNewData;
830
+
831
+ const handleSearch = (query: string) => {
832
+ updateCurrentSearch(query);
833
+ setPage(1);
834
+ };
835
+
836
+ const rightButtonProps = isAllowedToCreatePages
837
+ ? {
838
+ label: "New",
839
+ action: addNewAction,
840
+ disabled: !isDataEditable,
841
+ }
842
+ : undefined;
843
+
844
+ const errorPagesText =
845
+ currentSiteErrorPages.length > 1
846
+ ? "These pages contains some errors, so you can not publish them yet. Please, review the errors on the pages."
847
+ : "This page contains some errors, so you can not publish it yet. Please, review the errors on the page.";
848
+
849
+ const notEditableText =
850
+ "Sorry, this content cannot be edited because it comes from an external source or belongs to a preconfigured system.";
851
+
852
+ const isPrivateText = "This content is private and will not be available for display in any distributor.";
853
+
854
+ const filterLabels = {
855
+ liveStatus: "Live",
856
+ translated: "Translated",
857
+ categories: "Category",
858
+ };
859
+
860
+ return (
861
+ <MainWrapper
862
+ title={title}
863
+ language={lang}
864
+ languageAction={handleLanguage}
865
+ availableLanguages={siteLanguages}
866
+ rightButton={rightButtonProps}
867
+ searchAction={handleSearch}
868
+ errors={errors}
869
+ searchValue={currentSearch}
870
+ exportAction={exportContent}
871
+ >
872
+ <S.ContentListWrapper>
873
+ <ContentFilters
874
+ current={filter}
875
+ dynamicValues={structuredData}
876
+ resetFilter={resetFilter}
877
+ setFilter={filterItems}
878
+ isAllowedToCreate={isAllowedToCreatePages}
879
+ addNew={addNewAction}
880
+ typeFilters={filterValues.type}
881
+ />
882
+ <S.TableWrapper>
883
+ <ErrorToast ref={errorRef} />
884
+ {!isDataEditable && (
885
+ <S.NotificationWrapper>
886
+ <Notification type="info" text={notEditableText} closeButton={false} />
887
+ </S.NotificationWrapper>
888
+ )}
889
+ {isDataPrivate && (
890
+ <S.NotificationWrapper>
891
+ <Notification type="private" text={isPrivateText} closeButton={false} />
892
+ </S.NotificationWrapper>
893
+ )}
894
+ {templateInstanceError.error && (
895
+ <Notification
896
+ type="error"
897
+ text={`There can be only one ${templateInstanceError.templateName} page and you already have it.`}
898
+ />
899
+ )}
900
+ {(!!currentSiteErrorPages.length || errors.length > 0) && <Notification type="error" text={errorPagesText} />}
901
+ {notification && (
902
+ <Notification
903
+ type="warning"
904
+ text={notification.text}
905
+ subErrors={notification.subErrors}
906
+ resetError={() => setNotification(null)}
907
+ />
908
+ )}
909
+ <TableList
910
+ tableHeader={Header}
911
+ pagination={pagination}
912
+ onScroll={onScroll}
913
+ hasFixedHeader={true}
914
+ tableRef={tableRef}
915
+ >
916
+ <S.SearchTags>
917
+ <SearchTagsBar query={currentSearch} setQuery={handleSearch} />
918
+ <FilterTagsBar
919
+ filters={filterValues}
920
+ setFilters={setFiltersSelection}
921
+ resetFilters={resetFilterQuery}
922
+ labels={filterLabels}
923
+ />
924
+ </S.SearchTags>
925
+ {!isEmpty ? (
926
+ <>{content}</>
927
+ ) : (
928
+ <S.EmptyWrapper>
929
+ <EmptyState {...emptyStateProps} />
930
+ </S.EmptyWrapper>
931
+ )}
932
+ </TableList>
933
+ </S.TableWrapper>
934
+ </S.ContentListWrapper>
935
+ <Modal isOpen={isNewOpen} hide={toggleNewModal} size="M" title="New content">
936
+ <OptionTable
937
+ selectPage={addTemplate}
938
+ selectData={addNewStructuredData}
939
+ filters={options.filters}
940
+ values={options.values}
941
+ selectedValue={selectedOption}
942
+ theme={currentSiteInfo.theme}
943
+ mainAction={createContentAction}
944
+ secondaryAction={{ title: "Cancel", onClick: toggleNewModal }}
945
+ />
946
+ </Modal>
947
+ <Modal
948
+ isOpen={isImporterOpen}
949
+ hide={toggleImporterModal}
950
+ size="M"
951
+ title="New content"
952
+ mainAction={{ title: "Add Pages", onClick: importPage }}
953
+ secondaryAction={{ title: "Cancel", onClick: toggleImporterModal }}
954
+ >
955
+ <PageImporter structuredData={selectedOptionType} {...{ setPagesToImport }} />
956
+ </Modal>
957
+ <DeleteModal
958
+ isOpen={isDeleteOpen}
959
+ toggleModal={toggleDeleteModal}
960
+ mainModalAction={mainDeleteModalAction}
961
+ secondaryModalAction={secondaryDeleteModalAction}
962
+ {...{ isTranslated: arePagesTranslated, deleteAllVersions, setDeleteAllVersions }}
963
+ />
964
+ {isVisible && <Toast {...toastProps} />}
965
+ {isVisibleRemovedToast && <Toast {...removedToastProps} />}
966
+ {isVisibleDeletedToast && <Toast {...deletedToastProps} />}
967
+ {isVisibleCopiedToast && <Toast {...copiedToastProps} />}
968
+ </MainWrapper>
969
+ );
969
970
  };
970
971
 
971
972
  const mapStateToProps = (state: IRootState) => ({
972
- currentSiteInfo: state.sites.currentSiteInfo,
973
- currentSitePages: state.sites.currentSitePages,
974
- allSitePages: state.sites.allSitePages,
975
- filter: state.sites.currentFilter,
976
- template: state.pageEditor.template,
977
- totalItems: state.sites.totalItems,
978
- lang: state.app.lang,
979
- pageLanguages: state.pageEditor.currentPageLanguages,
980
- errors: state.pageEditor.errors,
981
- siteLanguages: state.sites.currentSiteLanguages,
982
- structuredData: state.structuredData.structuredData.site,
983
- currentDataContent: state.structuredData.currentDataContent,
984
- currentStructuredData: state.structuredData.currentStructuredData,
985
- isData: state.structuredData.isActive,
986
- activatedDataPacks: state.dataPacks.activated,
987
- activatedTemplates: state.dataPacks.templates,
988
- isLoading: state.app.isLoading,
989
- dataPacks: state.dataPacks.activated,
990
- currentSiteErrorPages: state.sites.currentSiteErrorPages,
991
- sitesByLang: state.sites.sitesByLang,
992
- user: state.users.currentUser,
993
- skipReviewOnPublish: state.app.globalSettings.skipReviewOnPublish,
994
- contentFilters: state.sites.contentFilters,
995
- error: state.app.error,
996
- currentSearch: state.sites.currentSearch,
973
+ currentSiteInfo: state.sites.currentSiteInfo,
974
+ currentSitePages: state.sites.currentSitePages,
975
+ allSitePages: state.sites.allSitePages,
976
+ filter: state.sites.currentFilter,
977
+ template: state.pageEditor.template,
978
+ totalItems: state.sites.totalItems,
979
+ lang: state.app.lang,
980
+ pageLanguages: state.pageEditor.currentPageLanguages,
981
+ errors: state.pageEditor.errors,
982
+ siteLanguages: state.sites.currentSiteLanguages,
983
+ structuredData: state.structuredData.structuredData.site,
984
+ currentDataContent: state.structuredData.currentDataContent,
985
+ currentStructuredData: state.structuredData.currentStructuredData,
986
+ isData: state.structuredData.isActive,
987
+ activatedDataPacks: state.dataPacks.activated,
988
+ activatedTemplates: state.dataPacks.templates,
989
+ isLoading: state.app.isLoading,
990
+ dataPacks: state.dataPacks.activated,
991
+ currentSiteErrorPages: state.sites.currentSiteErrorPages,
992
+ sitesByLang: state.sites.sitesByLang,
993
+ user: state.users.currentUser,
994
+ skipReviewOnPublish: state.app.globalSettings.skipReviewOnPublish,
995
+ contentFilters: state.sites.contentFilters,
996
+ error: state.app.error,
997
+ currentSearch: state.sites.currentSearch,
997
998
  });
998
999
 
999
1000
  interface IDispatchProps {
1000
- updateForm: (form: any) => void;
1001
- setSelectedStructuredData: any;
1002
- setCurrentPageID(currentPageID: number | null): ISetCurrentPageIDAction;
1003
- setCurrentPageStatus(currentPageStatus: string | null): ISetCurrentPageStatusAction;
1004
- setCurrentPageName(currentPageName: string): ISetCurrentPageNameAction;
1005
- addTemplate(template: string): void;
1006
- getSitePages(params: IGetSitePagesParams, structuredData?: string | undefined, filterQuery?: string): Promise<void>;
1007
- getAllSitePages(params: IGetSitePagesParams): Promise<void>;
1008
- updatePageStatus(ids: number[], status: string, updatePageStatus?: boolean): Promise<boolean>;
1009
- deletePage(params?: ISavePageParams): Promise<boolean>;
1010
- setHistoryPush(page: string, isEditor: boolean): Promise<void>;
1011
- setLanguage(lang: { locale: string; id: number | null }): void;
1012
- getFilteredContent(filter: string | null): void;
1013
- getStructuredDataContents(params: any, siteID: number): Promise<void>;
1014
- resetForm(setDefault?: boolean): void;
1015
- deleteBulk(ids: any): Promise<boolean>;
1016
- duplicatePage(pageID: number, data?: any, siteID?: number): Promise<boolean>;
1017
- getPage(pageID?: number, global?: boolean): Promise<void>;
1018
- validatePage(publish?: boolean, browserRef?: any, currentPage?: IPage): Promise<boolean>;
1019
- deleteDataContent(dataID: number[]): Promise<boolean>;
1020
- restoreDataContent(catID: number | number[]): void;
1021
- setFilter(value: string): void;
1022
- setDataStatus(dataID: number[], status: string): void;
1023
- resetPageEditor(): Promise<void>;
1024
- removePageFromSite(pageID: number | number[], refresh?: boolean): Promise<boolean>;
1025
- importPageFromGlobal(pageID: number | number[]): Promise<boolean>;
1026
- restorePage(id: number | number[]): Promise<boolean>;
1027
- getDataPack: (id: string) => Promise<void>;
1028
- resetCurrentSiteErrorPages: () => Promise<void>;
1029
- getIntegrations(site: number, params?: any, skipLoading?: boolean): Promise<void>;
1030
- getSitesByLang(params: IGetSitesParams): Promise<void>;
1031
- setContentFilters(contentFilters: Record<string, IQueryValue[]> | null): void;
1032
- deleteAndRemoveFromSiteBulk(pageIds: number[], globalPageIds: number[]): Promise<boolean>;
1033
- checkUserSession(): Promise<void>;
1034
- getDefaults(): Promise<void>;
1035
- getAvailableSiteDataPacks(queryParams: string | null, loading?: boolean): Promise<void>;
1036
- updateCurrentSearch(query: string): Promise<void>;
1037
- exportDataContent(structuredDataID: string, data: IExportDataParams): Promise<void>;
1001
+ updateForm: (form: any) => void;
1002
+ setSelectedStructuredData: any;
1003
+ setCurrentPageID(currentPageID: number | null): ISetCurrentPageIDAction;
1004
+ setCurrentPageStatus(currentPageStatus: string | null): ISetCurrentPageStatusAction;
1005
+ setCurrentPageName(currentPageName: string): ISetCurrentPageNameAction;
1006
+ addTemplate(template: string): void;
1007
+ getSitePages(params: IGetSitePagesParams, structuredData?: string | undefined, filterQuery?: string): Promise<void>;
1008
+ getAllSitePages(params: IGetSitePagesParams): Promise<void>;
1009
+ updatePageStatus(ids: number[], status: string, updatePageStatus?: boolean): Promise<boolean>;
1010
+ deletePage(params?: ISavePageParams): Promise<boolean>;
1011
+ setHistoryPush(page: string, isEditor: boolean): Promise<void>;
1012
+ setLanguage(lang: { locale: string; id: number | null }): void;
1013
+ getFilteredContent(filter: string | null): void;
1014
+ getStructuredDataContents(params: any, siteID: number): Promise<void>;
1015
+ resetForm(setDefault?: boolean): void;
1016
+ deleteBulk(ids: any): Promise<boolean>;
1017
+ duplicatePage(pageID: number, data?: any, siteID?: number): Promise<boolean>;
1018
+ getPage(pageID?: number, global?: boolean): Promise<void>;
1019
+ validatePage(publish?: boolean, browserRef?: any, currentPage?: IPage): Promise<boolean>;
1020
+ deleteDataContent(dataID: number[]): Promise<boolean>;
1021
+ restoreDataContent(catID: number | number[]): void;
1022
+ setFilter(value: string): void;
1023
+ setDataStatus(dataID: number[], status: string): void;
1024
+ resetPageEditor(): Promise<void>;
1025
+ removePageFromSite(pageID: number | number[], refresh?: boolean): Promise<boolean>;
1026
+ importPageFromGlobal(pageID: number | number[]): Promise<boolean>;
1027
+ restorePage(id: number | number[]): Promise<boolean>;
1028
+ getDataPack: (id: string) => Promise<void>;
1029
+ resetCurrentSiteErrorPages: () => Promise<void>;
1030
+ getIntegrations(site: number, params?: any, skipLoading?: boolean): Promise<void>;
1031
+ getSitesByLang(params: IGetSitesParams): Promise<void>;
1032
+ setContentFilters(contentFilters: Record<string, IQueryValue[]> | null): void;
1033
+ deleteAndRemoveFromSiteBulk(pageIds: number[], globalPageIds: number[]): Promise<boolean>;
1034
+ checkUserSession(): Promise<void>;
1035
+ getDefaults(): Promise<void>;
1036
+ getAvailableSiteDataPacks(queryParams: string | null, loading?: boolean): Promise<void>;
1037
+ updateCurrentSearch(query: string): Promise<void>;
1038
+ exportDataContent(structuredDataID: string, data: IExportDataParams): Promise<void>;
1038
1039
  }
1039
1040
 
1040
1041
  const mapDispatchToProps = {
1041
- setHistoryPush: appActions.setHistoryPush,
1042
- setLanguage: appActions.setLanguage,
1043
- getSitePages: sitesActions.getSitePages,
1044
- getAllSitePages: sitesActions.getAllSitePages,
1045
- setCurrentPageID: pageEditorActions.setCurrentPageID,
1046
- setCurrentPageStatus: pageEditorActions.setCurrentPageStatus,
1047
- setCurrentPageName: pageEditorActions.setCurrentPageName,
1048
- addTemplate: pageEditorActions.addTemplate,
1049
- updatePageStatus: pageEditorActions.updatePageStatus,
1050
- deletePage: pageEditorActions.deletePage,
1051
- deleteBulk: pageEditorActions.deleteBulk,
1052
- duplicatePage: pageEditorActions.duplicatePage,
1053
- getPage: pageEditorActions.getPage,
1054
- validatePage: pageEditorActions.validatePage,
1055
- getStructuredDataContents: structuredDataActions.getStructuredDataContents,
1056
- setSelectedStructuredData: structuredDataActions.setSelectedStructuredData,
1057
- updateForm: structuredDataActions.updateForm,
1058
- resetForm: structuredDataActions.resetForm,
1059
- deleteDataContent: structuredDataActions.deleteStructuredDataContent,
1060
- restoreDataContent: structuredDataActions.restoreStructuredDataContent,
1061
- setFilter: sitesActions.setFilter,
1062
- setDataStatus: structuredDataActions.setStatusStructuredDataContent,
1063
- resetPageEditor: pageEditorActions.resetPageEditor,
1064
- removePageFromSite: sitesActions.removePageFromSite,
1065
- importPageFromGlobal: sitesActions.importPageFromGlobal,
1066
- restorePage: pageEditorActions.restorePage,
1067
- getDataPack: dataPacksActions.getSiteDataPack,
1068
- resetCurrentSiteErrorPages: sitesActions.resetCurrentSiteErrorPages,
1069
- getSitesByLang: sitesActions.getSitesByLang,
1070
- getIntegrations: integrationsActions.getIntegrations,
1071
- setContentFilters: sitesActions.setContentFilters,
1072
- deleteAndRemoveFromSiteBulk: sitesActions.deleteAndRemoveFromSiteBulk,
1073
- checkUserSession: appActions.checkUserSession,
1074
- getDefaults: navigationActions.getDefaults,
1075
- getAvailableSiteDataPacks: dataPacksActions.getAvailableSiteDataPacks,
1076
- updateCurrentSearch: sitesActions.updateCurrentSearch,
1077
- exportDataContent: structuredDataActions.exportDataContent,
1042
+ setHistoryPush: appActions.setHistoryPush,
1043
+ setLanguage: appActions.setLanguage,
1044
+ getSitePages: sitesActions.getSitePages,
1045
+ getAllSitePages: sitesActions.getAllSitePages,
1046
+ setCurrentPageID: pageEditorActions.setCurrentPageID,
1047
+ setCurrentPageStatus: pageEditorActions.setCurrentPageStatus,
1048
+ setCurrentPageName: pageEditorActions.setCurrentPageName,
1049
+ addTemplate: pageEditorActions.addTemplate,
1050
+ updatePageStatus: pageEditorActions.updatePageStatus,
1051
+ deletePage: pageEditorActions.deletePage,
1052
+ deleteBulk: pageEditorActions.deleteBulk,
1053
+ duplicatePage: pageEditorActions.duplicatePage,
1054
+ getPage: pageEditorActions.getPage,
1055
+ validatePage: pageEditorActions.validatePage,
1056
+ getStructuredDataContents: structuredDataActions.getStructuredDataContents,
1057
+ setSelectedStructuredData: structuredDataActions.setSelectedStructuredData,
1058
+ updateForm: structuredDataActions.updateForm,
1059
+ resetForm: structuredDataActions.resetForm,
1060
+ deleteDataContent: structuredDataActions.deleteStructuredDataContent,
1061
+ restoreDataContent: structuredDataActions.restoreStructuredDataContent,
1062
+ setFilter: sitesActions.setFilter,
1063
+ setDataStatus: structuredDataActions.setStatusStructuredDataContent,
1064
+ resetPageEditor: pageEditorActions.resetPageEditor,
1065
+ removePageFromSite: sitesActions.removePageFromSite,
1066
+ importPageFromGlobal: sitesActions.importPageFromGlobal,
1067
+ restorePage: pageEditorActions.restorePage,
1068
+ getDataPack: dataPacksActions.getSiteDataPack,
1069
+ resetCurrentSiteErrorPages: sitesActions.resetCurrentSiteErrorPages,
1070
+ getSitesByLang: sitesActions.getSitesByLang,
1071
+ getIntegrations: integrationsActions.getIntegrations,
1072
+ setContentFilters: sitesActions.setContentFilters,
1073
+ deleteAndRemoveFromSiteBulk: sitesActions.deleteAndRemoveFromSiteBulk,
1074
+ checkUserSession: appActions.checkUserSession,
1075
+ getDefaults: navigationActions.getDefaults,
1076
+ getAvailableSiteDataPacks: dataPacksActions.getAvailableSiteDataPacks,
1077
+ updateCurrentSearch: sitesActions.updateCurrentSearch,
1078
+ exportDataContent: structuredDataActions.exportDataContent,
1078
1079
  };
1079
1080
 
1080
1081
  interface IPagesProps {
1081
- isData: boolean;
1082
- currentSiteInfo: ISite | null;
1083
- currentSitePages: IPage[];
1084
- allSitePages: IPage[];
1085
- filter: any;
1086
- template: string;
1087
- totalItems: number;
1088
- lang: { locale: string; id: number };
1089
- langID?: number;
1090
- pageLanguages: IPageLanguage[];
1091
- errors: IErrorItem[];
1092
- siteLanguages: ILanguage[];
1093
- structuredData: IStructuredData[];
1094
- currentStructuredData: IStructuredData | null;
1095
- currentDataContent: IStructuredDataContent[];
1096
- isFromEditor: boolean;
1097
- activatedDataPacks: IDataPack[];
1098
- activatedTemplates: any[];
1099
- isLoading: boolean;
1100
- dataPacks: IDataPack[];
1101
- currentSiteErrorPages: number[];
1102
- sites: ISite[];
1103
- sitesByLang: ISite[];
1104
- user: IUser | null;
1105
- skipReviewOnPublish?: boolean;
1106
- contentFilters: Record<string, IQueryValue[]> | null;
1107
- error: IError;
1108
- currentSearch: string;
1082
+ isData: boolean;
1083
+ currentSiteInfo: ISite | null;
1084
+ currentSitePages: IPage[];
1085
+ allSitePages: IPage[];
1086
+ filter: any;
1087
+ template: string;
1088
+ totalItems: number;
1089
+ lang: { locale: string; id: number };
1090
+ langID?: number;
1091
+ pageLanguages: IPageLanguage[];
1092
+ errors: IErrorItem[];
1093
+ siteLanguages: ILanguage[];
1094
+ structuredData: IStructuredData[];
1095
+ currentStructuredData: IStructuredData | null;
1096
+ currentDataContent: IStructuredDataContent[];
1097
+ isFromEditor: boolean;
1098
+ activatedDataPacks: IDataPack[];
1099
+ activatedTemplates: any[];
1100
+ isLoading: boolean;
1101
+ dataPacks: IDataPack[];
1102
+ currentSiteErrorPages: number[];
1103
+ sites: ISite[];
1104
+ sitesByLang: ISite[];
1105
+ user: IUser | null;
1106
+ skipReviewOnPublish?: boolean;
1107
+ contentFilters: Record<string, IQueryValue[]> | null;
1108
+ error: IError;
1109
+ currentSearch: string;
1109
1110
  }
1110
1111
 
1111
1112
  type IProps = IPagesProps & IDispatchProps;