@griddo/ax 1.69.8 → 1.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/config/jest/componentsMock.js +0 -26
  2. package/package.json +4 -3
  3. package/src/Style/index.tsx +1 -1
  4. package/src/__tests__/components/ElementsTooltip/ElementsTooltip.test.tsx +97 -0
  5. package/src/__tests__/components/EmptyState/EmptyState.test.tsx +78 -0
  6. package/src/__tests__/components/FieldContainer/FieldContainer.test.tsx +82 -0
  7. package/src/__tests__/components/Fields/AnalyticsField/AnalyticsField.test.tsx +1 -1
  8. package/src/__tests__/components/Fields/AnalyticsField/PageAnalytics/PageAnalytics.test.tsx +1 -15
  9. package/src/__tests__/components/Fields/AnalyticsField/StructuredDataAnalytics/StructuredDataAnalytics.test.tsx +1 -16
  10. package/src/__tests__/components/Fields/ArrayFieldGroup/ArrayFieldGroup.test.tsx +8 -17
  11. package/src/__tests__/components/Fields/AsyncCheckGroup/AsyncCheckGroup.test.tsx +4 -16
  12. package/src/__tests__/components/Fields/AsyncSelect/AsyncSelect.test.tsx +2 -20
  13. package/src/__tests__/components/Fields/CheckField/CheckField.test.tsx +6 -6
  14. package/src/__tests__/components/Fields/CheckGroup/CheckGroup.test.tsx +15 -15
  15. package/src/__tests__/components/Fields/ColorPicker/ColorPicker.test.tsx +7 -16
  16. package/src/__tests__/components/Fields/ComponentArray/ComponentArray.test.tsx +2 -23
  17. package/src/__tests__/components/Fields/ComponentArray/MixableComponentArray/MixableComponentArray.test.tsx +11 -31
  18. package/src/__tests__/components/Fields/ComponentArray/MixableComponentArray/PasteModuleButton/PasteModuleButton.test.tsx +15 -21
  19. package/src/__tests__/components/Fields/ComponentArray/SameComponentArray/SameComponentArray.test.tsx +6 -25
  20. package/src/__tests__/components/Fields/ComponentContainer/ComponentContainer.test.tsx +559 -0
  21. package/src/__tests__/components/Fields/ConditionalField/ConditionalField.test.tsx +1 -1
  22. package/src/__tests__/components/Fields/DateField/DateField.test.tsx +1 -1
  23. package/src/__tests__/components/Fields/FieldGroup/FieldGroup.test.tsx +1 -1
  24. package/src/__tests__/components/Fields/FieldsDivider/FieldsDivider.test.tsx +1 -1
  25. package/src/__tests__/components/Fields/FileField/FileField.test.tsx +3 -3
  26. package/src/__tests__/components/Fields/HeadingField/HeadingField.test.tsx +6 -6
  27. package/src/__tests__/components/Fields/HiddenField/HiddenField.test.tsx +2 -8
  28. package/src/__tests__/components/Fields/ImageField/ImageField.test.tsx +471 -0
  29. package/src/__tests__/components/Fields/MultiCheckSelect/MultiCheckSelect.test.tsx +2 -16
  30. package/src/__tests__/components/Fields/MultiCheckSelectGroup/MultiCheckSelectGroup.test.tsx +2 -2
  31. package/src/__tests__/components/Fields/NoteField/NoteField.test.tsx +2 -7
  32. package/src/__tests__/components/Fields/NumberField/NumberField.test.tsx +2 -15
  33. package/src/__tests__/components/Fields/RadioField/RadioField.test.tsx +2 -12
  34. package/src/__tests__/components/Fields/ReferenceField/ReferenceField.test.tsx +171 -19
  35. package/src/__tests__/components/Fields/RichText/RichText.test.tsx +2 -13
  36. package/src/__tests__/components/Fields/Select/Select.test.tsx +3 -23
  37. package/src/__tests__/components/Fields/SliderField/SliderField.test.tsx +2 -15
  38. package/src/__tests__/components/Fields/TagField/TagField.test.tsx +4 -4
  39. package/src/__tests__/components/Fields/TextArea/TextArea.test.tsx +1 -1
  40. package/src/__tests__/components/Fields/TextField/TextField.test.tsx +6 -6
  41. package/src/__tests__/components/Fields/TimeField/HourInput/HourInput.test.tsx +142 -0
  42. package/src/__tests__/components/Fields/TimeField/TimeField.test.tsx +100 -0
  43. package/src/__tests__/components/Fields/ToggleField/ToggleField.test.tsx +2 -10
  44. package/src/__tests__/components/Fields/Tooltip/Tooltip.test.tsx +152 -0
  45. package/src/__tests__/components/Fields/UniqueCheck/UniqueCheck.test.tsx +3 -3
  46. package/src/__tests__/components/Fields/UrlField/UrlField.test.tsx +4 -4
  47. package/src/__tests__/components/Fields/VisualUniqueSelection/ImageSelection/ImageSelection.test.tsx +2 -14
  48. package/src/__tests__/components/Fields/VisualUniqueSelection/ScrollableSelection/ScrollableSelection.test.tsx +6 -20
  49. package/src/__tests__/components/Fields/VisualUniqueSelection/VisualUniqueSelection.test.tsx +3 -29
  50. package/src/__tests__/components/Fields/Wysiwyg/Wysiwyg.test.tsx +1 -1
  51. package/src/__tests__/components/FieldsBehavior/FieldsBehavior.test.tsx +149 -0
  52. package/src/__tests__/components/TableFilters/CategoryFilter/CategoryFilter.test.tsx +241 -0
  53. package/src/__tests__/components/TableFilters/CustomizeFilters/CustomizeFilters.test.tsx +131 -0
  54. package/src/__tests__/components/TableFilters/DateFilter/DateFilter.test.tsx +148 -0
  55. package/src/__tests__/components/TableFilters/LiveFilter/LiveFilter.test.tsx +265 -0
  56. package/src/__tests__/components/TableFilters/NameFilter/NameFilter.test.tsx +197 -0
  57. package/src/__tests__/components/TableFilters/SiteFilter/SiteFilter.test.tsx +317 -0
  58. package/src/__tests__/components/TableFilters/StatusFilter/StatusFilter.test.tsx +197 -0
  59. package/src/__tests__/components/TableFilters/TranslationsFilter/TranslationsFilter.test.tsx +157 -0
  60. package/src/__tests__/components/TableFilters/TypeFilter/TypeFilter.test.tsx +164 -0
  61. package/src/__tests__/components/TableList/TableList.test.tsx +119 -0
  62. package/src/__tests__/components/Tabs/Tabs.test.tsx +205 -0
  63. package/src/__tests__/components/Tag/Tag.test.tsx +140 -0
  64. package/src/__tests__/components/Toast/Toast.test.tsx +102 -0
  65. package/src/api/navigation.tsx +1 -1
  66. package/src/components/Browser/index.tsx +1 -1
  67. package/src/components/Button/index.tsx +3 -3
  68. package/src/components/ConfigPanel/NavigationForm/Field/index.tsx +14 -3
  69. package/src/components/ElementsTooltip/index.tsx +10 -9
  70. package/src/components/EmptyState/index.tsx +2 -2
  71. package/src/components/FieldContainer/index.tsx +3 -3
  72. package/src/components/Fields/ArrayFieldGroup/index.tsx +1 -1
  73. package/src/components/Fields/AsyncCheckGroup/index.tsx +1 -1
  74. package/src/components/Fields/AsyncSelect/index.tsx +1 -1
  75. package/src/components/Fields/CheckField/index.tsx +3 -3
  76. package/src/components/Fields/CheckGroup/index.tsx +2 -2
  77. package/src/components/Fields/ComponentContainer/index.tsx +7 -6
  78. package/src/components/Fields/ComponentContainer/style.tsx +2 -2
  79. package/src/components/Fields/HeadingField/index.tsx +1 -1
  80. package/src/components/Fields/HiddenField/index.tsx +1 -1
  81. package/src/components/Fields/ImageField/index.tsx +10 -5
  82. package/src/components/Fields/MultiCheckSelect/index.tsx +3 -3
  83. package/src/components/Fields/NumberField/index.tsx +2 -1
  84. package/src/components/Fields/ReferenceField/ItemList/Item/index.tsx +5 -7
  85. package/src/components/Fields/ReferenceField/ItemList/Item/style.tsx +2 -2
  86. package/src/components/Fields/ReferenceField/ItemList/index.tsx +1 -1
  87. package/src/components/Fields/RichText/index.tsx +10 -6
  88. package/src/components/Fields/Select/index.tsx +2 -2
  89. package/src/components/Fields/SliderField/index.tsx +1 -1
  90. package/src/components/Fields/TextField/index.tsx +2 -7
  91. package/src/components/Fields/TimeField/HourInput/index.tsx +103 -0
  92. package/src/components/Fields/TimeField/HourInput/style.tsx +19 -0
  93. package/src/components/Fields/TimeField/HourInput/utils.tsx +35 -0
  94. package/src/components/Fields/TimeField/index.tsx +57 -0
  95. package/src/components/Fields/TimeField/style.tsx +37 -0
  96. package/src/components/Fields/index.tsx +2 -0
  97. package/src/components/FieldsBehavior/index.tsx +1 -1
  98. package/src/components/FloatingMenu/index.tsx +2 -2
  99. package/src/components/Gallery/GalleryFilters/Type/index.tsx +50 -0
  100. package/src/components/Gallery/GalleryFilters/Type/style.tsx +39 -0
  101. package/src/components/Gallery/GalleryPanel/DetailPanel/index.tsx +2 -1
  102. package/src/components/Gallery/GalleryPanel/GalleryDragAndDrop/style.tsx +3 -3
  103. package/src/components/Gallery/hooks.tsx +10 -4
  104. package/src/components/Gallery/index.tsx +2 -0
  105. package/src/components/Icon/index.tsx +1 -1
  106. package/src/components/IconAction/index.tsx +1 -1
  107. package/src/components/Lists/index.tsx +1 -1
  108. package/src/components/Loading/index.tsx +1 -1
  109. package/src/components/Pagination/index.tsx +1 -1
  110. package/src/components/SideModal/SideModalOption/index.tsx +4 -2
  111. package/src/components/SideModal/index.tsx +1 -1
  112. package/src/components/TableFilters/CategoryFilter/index.tsx +2 -2
  113. package/src/components/TableFilters/CategoryFilter/style.tsx +1 -10
  114. package/src/components/TableFilters/CustomizeFilters/index.tsx +2 -3
  115. package/src/components/TableFilters/DateFilter/index.tsx +4 -4
  116. package/src/components/TableFilters/LiveFilter/index.tsx +1 -1
  117. package/src/components/TableFilters/LiveFilter/style.tsx +2 -10
  118. package/src/components/TableFilters/NameFilter/index.tsx +4 -4
  119. package/src/components/TableFilters/SiteFilter/index.tsx +16 -13
  120. package/src/components/TableFilters/SiteFilter/style.tsx +1 -10
  121. package/src/components/TableFilters/StatusFilter/index.tsx +3 -3
  122. package/src/components/TableFilters/TranslationsFilter/index.tsx +4 -7
  123. package/src/components/TableFilters/TranslationsFilter/style.tsx +1 -10
  124. package/src/components/TableFilters/TypeFilter/index.tsx +2 -2
  125. package/src/components/TableFilters/TypeFilter/style.tsx +1 -10
  126. package/src/components/TableList/index.tsx +6 -6
  127. package/src/components/TableList/style.tsx +1 -1
  128. package/src/components/Tabs/index.tsx +19 -7
  129. package/src/components/Tag/index.tsx +6 -6
  130. package/src/components/Toast/index.tsx +4 -4
  131. package/src/components/Tooltip/index.tsx +5 -3
  132. package/src/components/index.tsx +2 -0
  133. package/src/containers/Navigation/Defaults/actions.tsx +10 -5
  134. package/src/containers/Navigation/Defaults/utils.tsx +13 -4
  135. package/src/containers/Sites/actions.tsx +7 -0
  136. package/src/containers/Sites/constants.tsx +1 -0
  137. package/src/containers/Sites/interfaces.tsx +6 -0
  138. package/src/containers/Sites/reducer.tsx +4 -0
  139. package/src/containers/StructuredData/actions.tsx +21 -8
  140. package/src/containers/StructuredData/constants.tsx +2 -0
  141. package/src/containers/StructuredData/interfaces.tsx +7 -1
  142. package/src/containers/StructuredData/reducer.tsx +5 -1
  143. package/src/helpers/fields.tsx +2 -2
  144. package/src/helpers/index.tsx +3 -0
  145. package/src/helpers/parseTheme.js +456 -0
  146. package/src/helpers/schemas.tsx +2 -2
  147. package/src/hooks/forms.tsx +2 -1
  148. package/src/modules/App/Routing/NavMenu/index.tsx +9 -1
  149. package/src/modules/Content/BulkHeader/TableHeader/index.tsx +1 -1
  150. package/src/modules/Content/hooks.tsx +19 -12
  151. package/src/modules/Content/index.tsx +23 -14
  152. package/src/modules/Navigation/Defaults/DefaultsEditor/Editor/DefaultsBrowser/index.tsx +3 -0
  153. package/src/modules/Navigation/Defaults/DefaultsEditor/Editor/index.tsx +3 -1
  154. package/src/modules/Navigation/Defaults/DefaultsEditor/index.tsx +16 -18
  155. package/src/modules/Navigation/Defaults/DefaultsEditor/utils.tsx +37 -0
  156. package/src/modules/StructuredData/Form/ConnectedField/index.tsx +3 -2
  157. package/src/modules/StructuredData/Form/index.tsx +22 -17
  158. package/src/modules/StructuredData/StructuredDataList/hooks.tsx +30 -20
  159. package/src/modules/StructuredData/StructuredDataList/index.tsx +24 -14
  160. package/src/types/index.tsx +8 -7
@@ -16,6 +16,7 @@ import {
16
16
  IPage,
17
17
  ICheck,
18
18
  IColumn,
19
+ IStructuredDataQueryValues,
19
20
  } from "@ax/types";
20
21
  import {
21
22
  ISetCurrentPageIDAction,
@@ -86,6 +87,8 @@ const StructuredDataList = (props: IProps): JSX.Element => {
86
87
  resetCurrentSiteErrorPages,
87
88
  currentSiteErrorPages,
88
89
  skipReviewOnPublish,
90
+ setContentFilters,
91
+ contentFilters,
89
92
  } = props;
90
93
 
91
94
  const itemsPerPage = 50;
@@ -108,8 +111,12 @@ const StructuredDataList = (props: IProps): JSX.Element => {
108
111
  const { isOpen: isNewOpen, toggleModal: toggleNewModal } = useModal();
109
112
  const { isOpen: isDeleteOpen, toggleModal: toggleDeleteModal } = useModal();
110
113
  const { sortedListStatus, setSortedListStatus } = useSortedListStatus();
111
- const { setFiltersSelection, setFilterQuery, filterValues, resetFilterQuery } = useFilterQuery(currentStructuredData);
112
- const [currentFilterQuery, setCurrentFilterQuery] = useState("");
114
+ const {
115
+ setFiltersSelection,
116
+ filterValues,
117
+ resetFilterQuery,
118
+ query: currentFilterQuery,
119
+ } = useFilterQuery(currentStructuredData, contentFilters);
113
120
  const history = useHistory();
114
121
  const [isFirstRender, setIsFirstRender] = useState(true);
115
122
  const [deleteAllVersions, setDeleteAllVersions] = useState(false);
@@ -218,6 +225,7 @@ const StructuredDataList = (props: IProps): JSX.Element => {
218
225
  setIsFirstRender(false);
219
226
  resetPageEditor();
220
227
  resetCurrentSiteErrorPages();
228
+ resetForm();
221
229
  // eslint-disable-next-line react-hooks/exhaustive-deps
222
230
  }, []);
223
231
 
@@ -264,10 +272,7 @@ const StructuredDataList = (props: IProps): JSX.Element => {
264
272
  // eslint-disable-next-line react-hooks/exhaustive-deps
265
273
  }, [currentDataContent]);
266
274
 
267
- const resetFilterValues = () => {
268
- resetFilterQuery();
269
- setCurrentFilterQuery("");
270
- };
275
+ const resetFilterValues = () => resetFilterQuery();
271
276
 
272
277
  useEffect(() => {
273
278
  if (!isFirstRender && !isLoading) {
@@ -296,6 +301,11 @@ const StructuredDataList = (props: IProps): JSX.Element => {
296
301
  // eslint-disable-next-line react-hooks/exhaustive-deps
297
302
  }, []);
298
303
 
304
+ useEffect(() => {
305
+ setContentFilters(filterValues);
306
+ // eslint-disable-next-line react-hooks/exhaustive-deps
307
+ }, [filterValues]);
308
+
299
309
  const handleClick = (isFromPage?: boolean, globalPage?: IPage, forceLive?: boolean) => {
300
310
  if (isFromPage && globalPage) {
301
311
  const pageID = globalPage.haveDraftPage && !forceLive ? globalPage.haveDraftPage : globalPage.id;
@@ -312,7 +322,7 @@ const StructuredDataList = (props: IProps): JSX.Element => {
312
322
 
313
323
  const createNewData = () => {
314
324
  setCurrentDataID(null);
315
- resetForm();
325
+ resetForm(true);
316
326
  handleClick();
317
327
  };
318
328
 
@@ -404,17 +414,13 @@ const StructuredDataList = (props: IProps): JSX.Element => {
404
414
  const sortedState = getSortedListStatus(orderPointer, isAscending);
405
415
  setSortedListStatus(sortedState);
406
416
 
407
- const filtersSelection = setFiltersSelection("order", orderPointer, isAscending);
408
- const filterQuery = setFilterQuery(filtersSelection);
409
- setCurrentFilterQuery(filterQuery);
417
+ setFiltersSelection("order", orderPointer, isAscending);
410
418
  };
411
419
 
412
420
  const filterItems = async (filterPointer: string, filtersSelected: string) => {
413
421
  setPage(firstPage);
414
422
  if (!isStructuredDataFromPage && filterPointer === "categories") filterPointer = "related";
415
- const filtersSelection = setFiltersSelection(filterPointer, filtersSelected);
416
- const filterQuery = setFilterQuery(filtersSelection);
417
- setCurrentFilterQuery(filterQuery);
423
+ setFiltersSelection(filterPointer, filtersSelected);
418
424
  };
419
425
 
420
426
  const currentDataColumnsState = currentStructuredData ? columnsState[structuredDataType] || [] : columnsState["all"];
@@ -637,6 +643,7 @@ const mapStateToProps = (state: IRootState) => ({
637
643
  currentSitePages: state.sites.currentSitePages,
638
644
  currentSiteErrorPages: state.sites.currentSiteErrorPages,
639
645
  skipReviewOnPublish: state.app.globalSettings.skipReviewOnPublish,
646
+ contentFilters: state.structuredData.contentFilters,
640
647
  });
641
648
 
642
649
  const mapDispatchToProps = {
@@ -661,11 +668,12 @@ const mapDispatchToProps = {
661
668
  getAnalytics: analyticsActions.getAnalytics,
662
669
  setCurrentDataID: structuredDataActions.setCurrentDataID,
663
670
  resetCurrentSiteErrorPages: sitesActions.resetCurrentSiteErrorPages,
671
+ setContentFilters: structuredDataActions.setContentFilters,
664
672
  };
665
673
 
666
674
  interface IDispatchProps {
667
675
  setHistoryPush(route: string, isEditor?: boolean): void;
668
- resetForm(): void;
676
+ resetForm(setDefault?: boolean): void;
669
677
  setLanguage(lang: { locale: string; id: number }): void;
670
678
  getStructuredDataContents(params: IGetStructuredDataParams): void;
671
679
  setSelectedStructuredData(id: string, scope: string): void;
@@ -685,6 +693,7 @@ interface IDispatchProps {
685
693
  getAnalytics(): void;
686
694
  setCurrentDataID(id: number | null): void;
687
695
  resetCurrentSiteErrorPages: () => Promise<void>;
696
+ setContentFilters(contentFilters: Record<string, IStructuredDataQueryValues> | null): void;
688
697
  }
689
698
 
690
699
  interface ICategoriesProps {
@@ -702,6 +711,7 @@ interface ICategoriesProps {
702
711
  currentSitePages: IPage[];
703
712
  currentSiteErrorPages: number[];
704
713
  skipReviewOnPublish?: boolean;
714
+ contentFilters: Record<string, IStructuredDataQueryValues> | null;
705
715
  }
706
716
 
707
717
  type IProps = ICategoriesProps & IDispatchProps;
@@ -140,20 +140,21 @@ export interface ISchemaField {
140
140
  export interface IImage {
141
141
  id?: number;
142
142
  name: string;
143
- type: string;
143
+ title: string;
144
+ description: string;
144
145
  alt: string;
146
+ tags: string[];
145
147
  url: string;
148
+ thumb: string;
146
149
  publicId: string;
147
- title: string;
150
+ damId: string;
151
+ published: Date;
148
152
  size: number;
149
153
  width: number;
150
154
  height: number;
151
- published: Date;
152
- description: string;
153
- thumb: string;
154
- tags: string[];
155
- file: File;
156
155
  orientation: string;
156
+ site: string;
157
+ file?: File;
157
158
  }
158
159
 
159
160
  export interface IUrlField {