@griddo/ax 10.3.24 → 10.3.25

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 (126) hide show
  1. package/package.json +2 -2
  2. package/src/__tests__/components/Gallery/GalleryFilters/Orientation/Orientation.test.tsx +5 -2
  3. package/src/__tests__/components/Gallery/GalleryFilters/SortBy/SortBy.test.tsx +5 -4
  4. package/src/__tests__/components/Gallery/GalleryFilters/Type/Type.test.tsx +5 -2
  5. package/src/__tests__/components/TableFilters/CategoryFilter/CategoryFilter.test.tsx +12 -11
  6. package/src/__tests__/components/TableFilters/DateFilter/DateFilter.test.tsx +17 -16
  7. package/src/__tests__/components/TableFilters/LiveFilter/LiveFilter.test.tsx +14 -13
  8. package/src/__tests__/components/TableFilters/NameFilter/NameFilter.test.tsx +21 -20
  9. package/src/__tests__/components/TableFilters/RoleFilter/RoleFilter.test.tsx +6 -5
  10. package/src/__tests__/components/TableFilters/SiteFilter/SiteFilter.test.tsx +8 -7
  11. package/src/__tests__/components/TableFilters/StatusFilter/StatusFilter.test.tsx +21 -20
  12. package/src/__tests__/components/TableFilters/TranslationsFilter/TranslationsFilter.test.tsx +24 -23
  13. package/src/__tests__/components/TableFilters/TypeFilter/TypeFilter.test.tsx +6 -5
  14. package/src/__tests__/components/TableFilters/UsersFilter/UsersFilter.test.tsx +17 -16
  15. package/src/api/sites.tsx +5 -9
  16. package/src/components/Button/index.tsx +3 -1
  17. package/src/components/Button/style.tsx +6 -0
  18. package/src/components/ConfigPanel/Form/ConnectedField/PageConnectedField/TemplateManager/index.tsx +2 -2
  19. package/src/components/ConfigPanel/Form/ConnectedField/PageConnectedField/index.tsx +1 -1
  20. package/src/components/Fields/ArrayFieldGroup/ArrayFieldInline/index.tsx +3 -2
  21. package/src/components/Fields/ArrayFieldGroup/ArrayFieldItem/index.tsx +3 -1
  22. package/src/components/Fields/ArrayFieldGroup/index.tsx +5 -2
  23. package/src/components/Fields/CheckField/style.tsx +2 -2
  24. package/src/components/Fields/ColorPicker/index.tsx +4 -2
  25. package/src/components/Fields/ColorPicker/style.tsx +4 -0
  26. package/src/components/Fields/DateField/DatePickerInput/index.tsx +1 -1
  27. package/src/components/Fields/FileField/index.tsx +3 -1
  28. package/src/components/Fields/FileField/style.tsx +9 -4
  29. package/src/components/Fields/SliderField/index.tsx +4 -2
  30. package/src/components/Fields/SliderField/style.tsx +53 -4
  31. package/src/components/Fields/TimeField/style.tsx +6 -5
  32. package/src/components/FileGallery/index.tsx +26 -16
  33. package/src/components/FileGallery/style.tsx +12 -1
  34. package/src/components/FilterTagsBar/index.tsx +61 -0
  35. package/src/components/FilterTagsBar/style.tsx +30 -0
  36. package/src/components/FloatingMenu/index.tsx +5 -1
  37. package/src/components/Gallery/GalleryFilters/Orientation/index.tsx +14 -6
  38. package/src/components/Gallery/GalleryFilters/SortBy/index.tsx +24 -8
  39. package/src/components/Gallery/GalleryFilters/Type/index.tsx +22 -9
  40. package/src/components/Gallery/GalleryPanel/GalleryDragAndDrop/style.tsx +2 -1
  41. package/src/components/Gallery/hooks.tsx +37 -23
  42. package/src/components/Gallery/index.tsx +38 -20
  43. package/src/components/Gallery/style.tsx +15 -2
  44. package/src/components/MainWrapper/AppBar/index.tsx +3 -0
  45. package/src/components/MainWrapper/index.tsx +1 -0
  46. package/src/components/SearchTagsBar/index.tsx +43 -0
  47. package/src/components/SearchTagsBar/style.tsx +30 -0
  48. package/src/components/TableFilters/CategoryFilter/index.tsx +17 -10
  49. package/src/components/TableFilters/CheckGroupFilter/index.tsx +12 -9
  50. package/src/components/TableFilters/DateFilter/index.tsx +3 -2
  51. package/src/components/TableFilters/LastAccessFilter/index.tsx +4 -4
  52. package/src/components/TableFilters/LiveFilter/index.tsx +26 -22
  53. package/src/components/TableFilters/NameFilter/index.tsx +4 -3
  54. package/src/components/TableFilters/PermissionsFilter/index.tsx +4 -3
  55. package/src/components/TableFilters/RoleFilter/index.tsx +17 -7
  56. package/src/components/TableFilters/SiteFilter/index.tsx +23 -8
  57. package/src/components/TableFilters/StateFilter/index.tsx +15 -6
  58. package/src/components/TableFilters/StatusFilter/index.tsx +3 -2
  59. package/src/components/TableFilters/TranslationsFilter/index.tsx +19 -11
  60. package/src/components/TableFilters/TypeFilter/index.tsx +9 -5
  61. package/src/components/TableFilters/UsersFilter/index.tsx +4 -3
  62. package/src/components/Tag/index.tsx +5 -4
  63. package/src/components/index.tsx +4 -0
  64. package/src/containers/Navigation/Menu/actions.tsx +1 -13
  65. package/src/containers/Navigation/Menu/constants.tsx +0 -1
  66. package/src/containers/Navigation/Menu/interfaces.tsx +1 -7
  67. package/src/containers/Navigation/Menu/reducer.tsx +0 -4
  68. package/src/containers/Sites/actions.tsx +2 -1
  69. package/src/containers/Sites/interfaces.tsx +2 -2
  70. package/src/containers/Sites/reducer.tsx +2 -2
  71. package/src/containers/StructuredData/actions.tsx +2 -1
  72. package/src/forms/editor.tsx +1 -1
  73. package/src/modules/Categories/CategoriesList/CategoryItem/style.tsx +2 -0
  74. package/src/modules/Content/BulkHeader/TableHeader/index.tsx +26 -14
  75. package/src/modules/Content/BulkHeader/index.tsx +3 -3
  76. package/src/modules/Content/PageItem/index.tsx +21 -23
  77. package/src/modules/Content/PageItem/style.tsx +2 -0
  78. package/src/modules/Content/hooks.tsx +23 -13
  79. package/src/modules/Content/index.tsx +44 -11
  80. package/src/modules/Content/style.tsx +19 -1
  81. package/src/modules/FileDrive/Breadcrumb/style.tsx +1 -1
  82. package/src/modules/FileDrive/FileDragAndDrop/index.tsx +7 -6
  83. package/src/modules/FileDrive/FileDragAndDrop/style.tsx +2 -0
  84. package/src/modules/FileDrive/FileFilters/SortBy/index.tsx +24 -8
  85. package/src/modules/FileDrive/FileFilters/Type/index.tsx +26 -22
  86. package/src/modules/FileDrive/hooks.tsx +28 -13
  87. package/src/modules/FileDrive/index.tsx +31 -18
  88. package/src/modules/FileDrive/style.tsx +20 -1
  89. package/src/modules/Navigation/Defaults/Item/style.tsx +2 -0
  90. package/src/modules/Navigation/Menus/List/Nav/index.tsx +10 -12
  91. package/src/modules/Navigation/Menus/List/Table/SidePanel/index.tsx +0 -2
  92. package/src/modules/Navigation/Menus/List/index.tsx +8 -5
  93. package/src/modules/Redirects/BulkHeader/TableHeader/index.tsx +4 -2
  94. package/src/modules/Redirects/BulkHeader/index.tsx +3 -2
  95. package/src/modules/Redirects/hooks.tsx +23 -15
  96. package/src/modules/Redirects/index.tsx +61 -44
  97. package/src/modules/Redirects/style.tsx +10 -0
  98. package/src/modules/Settings/Integrations/BulkHeader/TableHeader/index.tsx +7 -11
  99. package/src/modules/Settings/Integrations/BulkHeader/index.tsx +4 -8
  100. package/src/modules/Settings/Integrations/hooks.tsx +23 -19
  101. package/src/modules/Settings/Integrations/index.tsx +22 -26
  102. package/src/modules/Settings/Integrations/style.tsx +7 -0
  103. package/src/modules/Sites/SitesList/GridView/GridHeaderFilter/index.tsx +8 -7
  104. package/src/modules/Sites/SitesList/ListView/BulkHeader/TableHeader/index.tsx +10 -5
  105. package/src/modules/Sites/SitesList/ListView/BulkHeader/index.tsx +4 -3
  106. package/src/modules/Sites/SitesList/hooks.tsx +26 -20
  107. package/src/modules/Sites/SitesList/index.tsx +53 -22
  108. package/src/modules/Sites/SitesList/style.tsx +16 -0
  109. package/src/modules/StructuredData/StructuredDataList/BulkHeader/TableHeader/index.tsx +3 -3
  110. package/src/modules/StructuredData/StructuredDataList/BulkHeader/index.tsx +3 -3
  111. package/src/modules/StructuredData/StructuredDataList/GlobalPageItem/index.tsx +3 -3
  112. package/src/modules/StructuredData/StructuredDataList/GlobalPageItem/style.tsx +2 -0
  113. package/src/modules/StructuredData/StructuredDataList/StructuredDataItem/style.tsx +2 -0
  114. package/src/modules/StructuredData/StructuredDataList/hooks.tsx +25 -15
  115. package/src/modules/StructuredData/StructuredDataList/index.tsx +57 -14
  116. package/src/modules/StructuredData/StructuredDataList/style.tsx +10 -1
  117. package/src/modules/Users/Roles/BulkHeader/TableHeader/index.tsx +2 -2
  118. package/src/modules/Users/Roles/BulkHeader/index.tsx +2 -5
  119. package/src/modules/Users/Roles/hooks.tsx +24 -15
  120. package/src/modules/Users/Roles/index.tsx +7 -18
  121. package/src/modules/Users/UserList/BulkHeader/TableHeader/index.tsx +5 -18
  122. package/src/modules/Users/UserList/BulkHeader/index.tsx +15 -13
  123. package/src/modules/Users/UserList/hooks.tsx +27 -25
  124. package/src/modules/Users/UserList/index.tsx +69 -43
  125. package/src/modules/Users/UserList/style.tsx +10 -1
  126. package/src/types/index.tsx +19 -13
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@griddo/ax",
3
3
  "description": "Griddo Author Experience",
4
- "version": "10.3.24",
4
+ "version": "10.3.25",
5
5
  "authors": [
6
6
  "Álvaro Sánchez' <alvaro.sanches@secuoyas.com>",
7
7
  "Carlos Torres <carlos.torres@secuoyas.com>",
@@ -231,5 +231,5 @@
231
231
  "publishConfig": {
232
232
  "access": "public"
233
233
  },
234
- "gitHead": "84f8b78edde8afdb4eb3588d10a742cbd882b632"
234
+ "gitHead": "21631316b206fded39f6b4d430381952dffddc75"
235
235
  }
@@ -7,13 +7,16 @@ import "@testing-library/jest-dom";
7
7
  import { parseTheme } from "@ax/helpers";
8
8
  import Orientation, { IOrientationProps } from "@ax/components/Gallery/GalleryFilters/Orientation";
9
9
  import globalTheme from "@ax/themes/theme.json";
10
+ import { IQueryValue } from "@ax/types";
10
11
 
11
12
  afterEach(() => {
12
13
  cleanup();
13
14
  });
14
15
 
15
16
  const defaultProps = mock<IOrientationProps>();
16
- const filterItemsMock = defaultProps.filterItems as jest.MockedFunction<(pointer: string, filter: string) => void>;
17
+ const filterItemsMock = defaultProps.filterItems as jest.MockedFunction<
18
+ (pointer: string, filter: IQueryValue[]) => void
19
+ >;
17
20
 
18
21
  describe("OrderBy filter component rendering", () => {
19
22
  it("should render the component", () => {
@@ -46,6 +49,6 @@ describe("OrderBy filter component rendering", () => {
46
49
  expect(listItem).toHaveLength(4);
47
50
  fireEvent.click(listItem[1]);
48
51
 
49
- expect(filterItemsMock).toBeCalledWith("orientation", "landscape");
52
+ expect(filterItemsMock).toBeCalledWith("orientation", [{ label: "Horizontal", value: "landscape" }]);
50
53
  });
51
54
  });
@@ -7,6 +7,7 @@ import "@testing-library/jest-dom";
7
7
  import { parseTheme } from "@ax/helpers";
8
8
  import SortBy, { ISortByProps } from "@ax/components/Gallery/GalleryFilters/SortBy";
9
9
  import globalTheme from "@ax/themes/theme.json";
10
+ import { IQueryValue } from "@ax/types";
10
11
 
11
12
  afterEach(() => {
12
13
  cleanup();
@@ -14,7 +15,7 @@ afterEach(() => {
14
15
 
15
16
  const defaultProps = mock<ISortByProps>();
16
17
  const sortItemsMock = defaultProps.sortItems as jest.MockedFunction<
17
- (orderPointer: string, isAscendent: boolean) => void
18
+ (orderPointer: IQueryValue[], isAscendent: boolean) => void
18
19
  >;
19
20
 
20
21
  describe("Gallery component rendering", () => {
@@ -62,7 +63,7 @@ describe("Gallery component rendering", () => {
62
63
  expect(listItem).toHaveLength(6);
63
64
  fireEvent.click(listItem[0]);
64
65
 
65
- expect(sortItemsMock).toBeCalledWith("name", true);
66
+ expect(sortItemsMock).toBeCalledWith([{ label: "name", value: "name" }], true);
66
67
  });
67
68
 
68
69
  it("should call the list item with date and descending", () => {
@@ -87,7 +88,7 @@ describe("Gallery component rendering", () => {
87
88
  expect(listItem).toHaveLength(6);
88
89
  fireEvent.click(listItem[2]);
89
90
 
90
- expect(sortItemsMock).toBeCalledWith("date", false);
91
+ expect(sortItemsMock).toBeCalledWith([{ label: "date", value: "date" }], false);
91
92
  });
92
93
 
93
94
  it("should call the list item with size and ascending", () => {
@@ -112,6 +113,6 @@ describe("Gallery component rendering", () => {
112
113
  expect(listItem).toHaveLength(6);
113
114
  fireEvent.click(listItem[4]);
114
115
 
115
- expect(sortItemsMock).toBeCalledWith("size", true);
116
+ expect(sortItemsMock).toBeCalledWith([{ label: "size", value: "size" }], true);
116
117
  });
117
118
  });
@@ -7,13 +7,16 @@ import "@testing-library/jest-dom";
7
7
  import { parseTheme } from "@ax/helpers";
8
8
  import Type, { ITypeProps } from "@ax/components/Gallery/GalleryFilters/Type";
9
9
  import globalTheme from "@ax/themes/theme.json";
10
+ import { IQueryValue } from "@ax/types";
10
11
 
11
12
  afterEach(() => {
12
13
  cleanup();
13
14
  });
14
15
 
15
16
  const defaultProps = mock<ITypeProps>();
16
- const filterItemsMock = defaultProps.filterItems as jest.MockedFunction<(pointer: string, filter: string) => void>;
17
+ const filterItemsMock = defaultProps.filterItems as jest.MockedFunction<
18
+ (pointer: string, filter: IQueryValue[]) => void
19
+ >;
17
20
 
18
21
  describe("Type filter component rendering", () => {
19
22
  it("should render the component", () => {
@@ -46,6 +49,6 @@ describe("Type filter component rendering", () => {
46
49
  expect(listItem).toHaveLength(3);
47
50
  fireEvent.click(listItem[1]);
48
51
 
49
- expect(filterItemsMock).toBeCalledWith("format", "bitmap");
52
+ expect(filterItemsMock).toBeCalledWith("format", [{ label: "Image", value: "bitmap" }]);
50
53
  });
51
54
  });
@@ -8,6 +8,7 @@ import { render, screen, cleanup, fireEvent, act } from "@testing-library/react"
8
8
  import { parseTheme } from "@ax/helpers";
9
9
  import CategoryFilter, { ICategoryFilterProps } from "@ax/components/TableFilters/CategoryFilter";
10
10
  import globalTheme from "@ax/themes/theme.json";
11
+ import { IQueryValue } from "@ax/types";
11
12
 
12
13
  afterEach(cleanup);
13
14
 
@@ -18,9 +19,9 @@ const defaultProps = mock<ICategoryFilterProps>();
18
19
 
19
20
  describe("Category filter component rendering", () => {
20
21
  it("should render category filter", async () => {
21
- const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
22
+ const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
22
23
  defaultProps.filterItems = filterItemsMock;
23
- defaultProps.value = "all";
24
+ defaultProps.value = [{ value: "all", label: "All" }];
24
25
  defaultProps.siteID = null;
25
26
  defaultProps.structuredData = {
26
27
  from: "profile",
@@ -59,9 +60,9 @@ describe("Category filter component rendering", () => {
59
60
  });
60
61
 
61
62
  it("should render the component with no options", async () => {
62
- const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
63
+ const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
63
64
  defaultProps.filterItems = filterItemsMock;
64
- defaultProps.value = "all";
65
+ defaultProps.value = [{ value: "all", label: "All" }];
65
66
  defaultProps.siteID = null;
66
67
  defaultProps.structuredData = {
67
68
  from: "profile",
@@ -103,9 +104,9 @@ describe("Category filter component rendering", () => {
103
104
 
104
105
  describe("CategoryFilter events", () => {
105
106
  it("should render check group on click floating menu button", async () => {
106
- const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
107
+ const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
107
108
  defaultProps.filterItems = filterItemsMock;
108
- defaultProps.value = "all";
109
+ defaultProps.value = [{ value: "all", label: "All" }];
109
110
  defaultProps.siteID = null;
110
111
  defaultProps.structuredData = {
111
112
  from: "profile",
@@ -150,9 +151,9 @@ describe("CategoryFilter events", () => {
150
151
  });
151
152
 
152
153
  it("should check option on click", async () => {
153
- const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
154
+ const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
154
155
  defaultProps.filterItems = filterItemsMock;
155
- defaultProps.value = "all";
156
+ defaultProps.value = [{ value: "all", label: "All" }];
156
157
  defaultProps.siteID = null;
157
158
  defaultProps.structuredData = {
158
159
  from: "profile",
@@ -199,9 +200,9 @@ describe("CategoryFilter events", () => {
199
200
  });
200
201
 
201
202
  it("should call filterItems action on change", async () => {
202
- const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
203
+ const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
203
204
  defaultProps.filterItems = filterItemsMock;
204
- defaultProps.value = "all";
205
+ defaultProps.value = [{ value: "all", label: "All" }];
205
206
  defaultProps.siteID = null;
206
207
  defaultProps.structuredData = {
207
208
  from: "profile",
@@ -241,6 +242,6 @@ describe("CategoryFilter events", () => {
241
242
  const checkFieldInputs = screen.queryAllByTestId("check-field-input");
242
243
  fireEvent.click(checkFieldInputs[1]);
243
244
  expect(filterItemsMock).toHaveBeenCalledTimes(1);
244
- expect(filterItemsMock).toBeCalledWith("categories", "1");
245
+ expect(filterItemsMock).toBeCalledWith("categories", [{ label: "Mentor", value: 1 }]);
245
246
  });
246
247
  });
@@ -9,6 +9,7 @@ import { parseTheme } from "@ax/helpers";
9
9
 
10
10
  import globalTheme from "@ax/themes/theme.json";
11
11
  import DateFilter, { IDateFilterProps } from "@ax/components/TableFilters/DateFilter";
12
+ import { IQueryValue } from "@ax/types";
12
13
 
13
14
  afterEach(cleanup);
14
15
  const defaultProps = mock<IDateFilterProps>();
@@ -16,8 +17,8 @@ describe("DateFilter component rendering", () => {
16
17
  it("should render date filter", () => {
17
18
  const sortItemsMock = jest.fn();
18
19
  defaultProps.sortedState = { isAscending: false, sortedByDate: false };
19
- defaultProps.sortItems = sortItemsMock as CalledWithMock<any, [orderPointer: string, isAscendent: boolean]> &
20
- ((orderPointer: string, isAscendent: boolean) => any);
20
+ defaultProps.sortItems = sortItemsMock as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
21
+ ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
21
22
  render(
22
23
  <ThemeProvider theme={parseTheme(globalTheme)}>
23
24
  <DateFilter {...defaultProps} />
@@ -32,8 +33,8 @@ describe("DateFilter component rendering", () => {
32
33
  it("should render interactive arrow if not filter selected", () => {
33
34
  const sortItemsMock = jest.fn();
34
35
  defaultProps.sortedState = { isAscending: false, sortedByDate: false };
35
- defaultProps.sortItems = sortItemsMock as CalledWithMock<any, [orderPointer: string, isAscendent: boolean]> &
36
- ((orderPointer: string, isAscendent: boolean) => any);
36
+ defaultProps.sortItems = sortItemsMock as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
37
+ ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
37
38
  render(
38
39
  <ThemeProvider theme={parseTheme(globalTheme)}>
39
40
  <DateFilter {...defaultProps} />
@@ -47,8 +48,8 @@ describe("DateFilter component rendering", () => {
47
48
  it("should not render interactive arrow if filter selected", () => {
48
49
  const sortItemsMock = jest.fn();
49
50
  defaultProps.sortedState = { isAscending: false, sortedByDate: true };
50
- defaultProps.sortItems = sortItemsMock as CalledWithMock<any, [orderPointer: string, isAscendent: boolean]> &
51
- ((orderPointer: string, isAscendent: boolean) => any);
51
+ defaultProps.sortItems = sortItemsMock as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
52
+ ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
52
53
  render(
53
54
  <ThemeProvider theme={parseTheme(globalTheme)}>
54
55
  <DateFilter {...defaultProps} />
@@ -62,8 +63,8 @@ describe("DateFilter component rendering", () => {
62
63
  it("should render FullArrowUp icon if is filtered by ascending date", () => {
63
64
  const sortItemsMock = jest.fn();
64
65
  defaultProps.sortedState = { isAscending: true, sortedByDate: true };
65
- defaultProps.sortItems = sortItemsMock as CalledWithMock<any, [orderPointer: string, isAscendent: boolean]> &
66
- ((orderPointer: string, isAscendent: boolean) => any);
66
+ defaultProps.sortItems = sortItemsMock as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
67
+ ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
67
68
 
68
69
  render(
69
70
  <ThemeProvider theme={parseTheme(globalTheme)}>
@@ -80,8 +81,8 @@ describe("DateFilter events", () => {
80
81
  it("should render check group on click floating menu", () => {
81
82
  const sortItemsMock = jest.fn();
82
83
  defaultProps.sortedState = { isAscending: false, sortedByDate: false };
83
- defaultProps.sortItems = sortItemsMock as CalledWithMock<any, [orderPointer: string, isAscendent: boolean]> &
84
- ((orderPointer: string, isAscendent: boolean) => any);
84
+ defaultProps.sortItems = sortItemsMock as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
85
+ ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
85
86
  render(
86
87
  <ThemeProvider theme={parseTheme(globalTheme)}>
87
88
  <DateFilter {...defaultProps} />
@@ -102,8 +103,8 @@ describe("DateFilter events", () => {
102
103
  it("should call sortItems on click 'Most recent' option", async () => {
103
104
  const sortItemsMock = jest.fn();
104
105
  defaultProps.sortedState = { isAscending: false, sortedByDate: false };
105
- defaultProps.sortItems = sortItemsMock as CalledWithMock<any, [orderPointer: string, isAscendent: boolean]> &
106
- ((orderPointer: string, isAscendent: boolean) => any);
106
+ defaultProps.sortItems = sortItemsMock as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
107
+ ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
107
108
 
108
109
  render(
109
110
  <ThemeProvider theme={parseTheme(globalTheme)}>
@@ -120,14 +121,14 @@ describe("DateFilter events", () => {
120
121
  fireEvent.click(listItems[0]);
121
122
  expect(sortItemsMock).toHaveBeenCalledTimes(1);
122
123
  const isAscending = false;
123
- expect(sortItemsMock).toBeCalledWith("date", isAscending);
124
+ expect(sortItemsMock).toBeCalledWith([{ label: "date", value: "date" }], isAscending);
124
125
  });
125
126
 
126
127
  it("should call sortItems ascending on click 'Oldest' option", async () => {
127
128
  const sortItemsMock = jest.fn();
128
129
  defaultProps.sortedState = { isAscending: false, sortedByDate: false };
129
- defaultProps.sortItems = sortItemsMock as CalledWithMock<any, [orderPointer: string, isAscendent: boolean]> &
130
- ((orderPointer: string, isAscendent: boolean) => any);
130
+ defaultProps.sortItems = sortItemsMock as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
131
+ ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
131
132
 
132
133
  render(
133
134
  <ThemeProvider theme={parseTheme(globalTheme)}>
@@ -143,6 +144,6 @@ describe("DateFilter events", () => {
143
144
  fireEvent.click(listItems[1]);
144
145
  expect(sortItemsMock).toHaveBeenCalledTimes(1);
145
146
  const isAscending = true;
146
- expect(sortItemsMock).toBeCalledWith("date", isAscending);
147
+ expect(sortItemsMock).toBeCalledWith([{ label: "date", value: "date" }], isAscending);
147
148
  });
148
149
  });
@@ -8,6 +8,7 @@ import { render, screen, cleanup, act, fireEvent } from "@testing-library/react"
8
8
  import { parseTheme } from "@ax/helpers";
9
9
  import globalTheme from "@ax/themes/theme.json";
10
10
  import LiveFilter, { ILiveFilterProps } from "@ax/components/TableFilters/LiveFilter";
11
+ import { IQueryValue } from "@ax/types";
11
12
 
12
13
  afterEach(cleanup);
13
14
  jest.mock("axios");
@@ -17,8 +18,8 @@ const defaultProps = mock<ILiveFilterProps>();
17
18
  describe("LiveFilter component rendering", () => {
18
19
  it("should render live filter", async () => {
19
20
  defaultProps.hasBasicStatus = false;
20
- defaultProps.value = "all";
21
- const filterItems = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
21
+ defaultProps.value = [{ value: "all", label: "All" }];
22
+ const filterItems = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
22
23
 
23
24
  defaultProps.filterItems = filterItems;
24
25
  const data = {
@@ -53,8 +54,8 @@ describe("LiveFilter component rendering", () => {
53
54
 
54
55
  it("should render the component with no options", async () => {
55
56
  defaultProps.hasBasicStatus = false;
56
- defaultProps.value = "all";
57
- const filterItems = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
57
+ defaultProps.value = [{ value: "all", label: "All" }];
58
+ const filterItems = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
58
59
 
59
60
  defaultProps.filterItems = filterItems;
60
61
 
@@ -91,8 +92,8 @@ describe("LiveFilter component rendering", () => {
91
92
  describe("LiveFilter events", () => {
92
93
  it("should render check group on click", async () => {
93
94
  defaultProps.hasBasicStatus = false;
94
- defaultProps.value = "all";
95
- const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
95
+ defaultProps.value = [{ value: "all", label: "All" }];
96
+ const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
96
97
 
97
98
  defaultProps.filterItems = filterItemsMock;
98
99
  const data = {
@@ -132,8 +133,8 @@ describe("LiveFilter events", () => {
132
133
 
133
134
  it("should check option on click", async () => {
134
135
  defaultProps.hasBasicStatus = false;
135
- defaultProps.value = "all";
136
- const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
136
+ defaultProps.value = [{ value: "all", label: "All" }];
137
+ const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
137
138
 
138
139
  defaultProps.filterItems = filterItemsMock;
139
140
  const data = {
@@ -176,8 +177,8 @@ describe("LiveFilter events", () => {
176
177
 
177
178
  it("should uncheck selected option on click and select 'All' option", async () => {
178
179
  defaultProps.hasBasicStatus = false;
179
- defaultProps.value = "all";
180
- const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
180
+ defaultProps.value = [{ value: "all", label: "All" }];
181
+ const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
181
182
 
182
183
  defaultProps.filterItems = filterItemsMock;
183
184
  const data = {
@@ -225,8 +226,8 @@ describe("LiveFilter events", () => {
225
226
 
226
227
  it("should call filterItems action on change", async () => {
227
228
  defaultProps.hasBasicStatus = false;
228
- defaultProps.value = "all";
229
- const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
229
+ defaultProps.value = [{ value: "all", label: "All" }];
230
+ const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
230
231
 
231
232
  defaultProps.filterItems = filterItemsMock;
232
233
  const data = {
@@ -261,6 +262,6 @@ describe("LiveFilter events", () => {
261
262
  const checkFieldInputs = screen.queryAllByTestId("check-field-input");
262
263
  fireEvent.click(checkFieldInputs[1]);
263
264
  expect(filterItemsMock).toHaveBeenCalledTimes(1);
264
- expect(filterItemsMock).toBeCalledWith("liveStatus", "offline");
265
+ expect(filterItemsMock).toBeCalledWith("liveStatus", [{ label: "Offline", value: "offline" }]);
265
266
  });
266
267
  });
@@ -8,13 +8,14 @@ import { render, screen, cleanup, fireEvent } from "@testing-library/react";
8
8
  import { parseTheme } from "@ax/helpers";
9
9
  import globalTheme from "@ax/themes/theme.json";
10
10
  import NameFilter, { INameFilterProps } from "@ax/components/TableFilters/NameFilter";
11
+ import { IQueryValue } from "@ax/types";
11
12
 
12
13
  afterEach(cleanup);
13
14
  const defaultProps = mock<INameFilterProps>();
14
15
  describe("NameFilter component rendering", () => {
15
16
  it("should render name filter", () => {
16
- const onClickMock = jest.fn() as CalledWithMock<any, [orderPointer: string, isAscendent: boolean]> &
17
- ((orderPointer: string, isAscendent: boolean) => any);
17
+ const onClickMock = jest.fn() as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
18
+ ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
18
19
  defaultProps.sortedState = { isAscending: false, sortedByDate: false, sortedByTitle: false, sortedByURL: false };
19
20
  defaultProps.sortItems = onClickMock;
20
21
  defaultProps.urlSorting = false;
@@ -31,8 +32,8 @@ describe("NameFilter component rendering", () => {
31
32
  });
32
33
 
33
34
  it("should render URL on title if it is URL sorting", () => {
34
- const onClickMock = jest.fn() as CalledWithMock<any, [orderPointer: string, isAscendent: boolean]> &
35
- ((orderPointer: string, isAscendent: boolean) => any);
35
+ const onClickMock = jest.fn() as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
36
+ ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
36
37
  defaultProps.sortedState = { isAscending: true, sortedByTitle: true };
37
38
  defaultProps.sortItems = onClickMock;
38
39
  defaultProps.urlSorting = true;
@@ -49,8 +50,8 @@ describe("NameFilter component rendering", () => {
49
50
  });
50
51
 
51
52
  it("should render URL sorting option if it is URL sorting", () => {
52
- const onClickMock = jest.fn() as CalledWithMock<any, [orderPointer: string, isAscendent: boolean]> &
53
- ((orderPointer: string, isAscendent: boolean) => any);
53
+ const onClickMock = jest.fn() as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
54
+ ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
54
55
  defaultProps.sortedState = { isAscending: true, sortedByTitle: true };
55
56
  defaultProps.sortItems = onClickMock;
56
57
  defaultProps.urlSorting = true;
@@ -71,8 +72,8 @@ describe("NameFilter component rendering", () => {
71
72
  });
72
73
 
73
74
  it("should render interactive arrow if not filter selected", () => {
74
- const onClickMock = jest.fn() as CalledWithMock<any, [orderPointer: string, isAscendent: boolean]> &
75
- ((orderPointer: string, isAscendent: boolean) => any);
75
+ const onClickMock = jest.fn() as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
76
+ ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
76
77
  defaultProps.sortedState = { isAscending: false, sortedByDate: false, sortedByTitle: false, sortedByURL: false };
77
78
  defaultProps.sortItems = onClickMock;
78
79
  defaultProps.urlSorting = false;
@@ -88,8 +89,8 @@ describe("NameFilter component rendering", () => {
88
89
  });
89
90
 
90
91
  it("should not render interactive arrow if not filter selected", () => {
91
- const onClickMock = jest.fn() as CalledWithMock<any, [orderPointer: string, isAscendent: boolean]> &
92
- ((orderPointer: string, isAscendent: boolean) => any);
92
+ const onClickMock = jest.fn() as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
93
+ ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
93
94
  defaultProps.sortedState = { isAscending: false, sortedByTitle: true };
94
95
  defaultProps.sortItems = onClickMock;
95
96
  defaultProps.urlSorting = false;
@@ -105,8 +106,8 @@ describe("NameFilter component rendering", () => {
105
106
  });
106
107
 
107
108
  it("should render FullArrowUp icon if is filtered by ascending name", () => {
108
- const onClickMock = jest.fn() as CalledWithMock<any, [orderPointer: string, isAscendent: boolean]> &
109
- ((orderPointer: string, isAscendent: boolean) => any);
109
+ const onClickMock = jest.fn() as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
110
+ ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
110
111
  defaultProps.sortedState = { isAscending: true, sortedByTitle: true };
111
112
  defaultProps.sortItems = onClickMock;
112
113
  defaultProps.urlSorting = false;
@@ -126,8 +127,8 @@ describe("NameFilter events", () => {
126
127
  it("should render check group on click", () => {
127
128
  const onClickMock = jest.fn();
128
129
  defaultProps.sortedState = { isAscending: false, sortedByDate: false };
129
- defaultProps.sortItems = onClickMock as CalledWithMock<any, [orderPointer: string, isAscendent: boolean]> &
130
- ((orderPointer: string, isAscendent: boolean) => any);
130
+ defaultProps.sortItems = onClickMock as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
131
+ ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
131
132
 
132
133
  render(
133
134
  <ThemeProvider theme={parseTheme(globalTheme)}>
@@ -149,8 +150,8 @@ describe("NameFilter events", () => {
149
150
  it("should call filterItems with isAscending on click 'Ascendent' option", async () => {
150
151
  const onClickMock = jest.fn();
151
152
  defaultProps.sortedState = { isAscending: false, sortedByDate: false };
152
- defaultProps.sortItems = onClickMock as CalledWithMock<any, [orderPointer: string, isAscendent: boolean]> &
153
- ((orderPointer: string, isAscendent: boolean) => any);
153
+ defaultProps.sortItems = onClickMock as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
154
+ ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
154
155
 
155
156
  render(
156
157
  <ThemeProvider theme={parseTheme(globalTheme)}>
@@ -167,14 +168,14 @@ describe("NameFilter events", () => {
167
168
  fireEvent.click(listItems[0]);
168
169
  expect(onClickMock).toHaveBeenCalledTimes(1);
169
170
  const isAscending = true;
170
- expect(onClickMock).toBeCalledWith("title", isAscending);
171
+ expect(onClickMock).toBeCalledWith([{ label: "title", value: "title" }], isAscending);
171
172
  });
172
173
 
173
174
  it("should call filterItems with isAscending false on click 'Descendent' option", async () => {
174
175
  const onClickMock = jest.fn();
175
176
  defaultProps.sortedState = { isAscending: false, sortedByDate: false };
176
- defaultProps.sortItems = onClickMock as CalledWithMock<any, [orderPointer: string, isAscendent: boolean]> &
177
- ((orderPointer: string, isAscendent: boolean) => any);
177
+ defaultProps.sortItems = onClickMock as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
178
+ ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
178
179
 
179
180
  render(
180
181
  <ThemeProvider theme={parseTheme(globalTheme)}>
@@ -191,6 +192,6 @@ describe("NameFilter events", () => {
191
192
  fireEvent.click(listItems[1]);
192
193
  expect(onClickMock).toHaveBeenCalledTimes(1);
193
194
  const isAscending = false;
194
- expect(onClickMock).toBeCalledWith("title", isAscending);
195
+ expect(onClickMock).toBeCalledWith([{ label: "title", value: "title" }], isAscending);
195
196
  });
196
197
  });
@@ -7,6 +7,7 @@ import { render, screen, cleanup, fireEvent } from "@testing-library/react";
7
7
  import RoleFilter, { IRoleFilterProps } from "@ax/components/TableFilters/RoleFilter";
8
8
  import globalTheme from "@ax/themes/theme.json";
9
9
  import { parseTheme } from "@ax/helpers";
10
+ import { IQueryValue } from "@ax/types";
10
11
 
11
12
  afterEach(cleanup);
12
13
 
@@ -31,7 +32,7 @@ describe("RoleFilter component rendering", () => {
31
32
  },
32
33
  ];
33
34
  defaultProps.pointer = "filterRoles";
34
- defaultProps.filterItems = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
35
+ defaultProps.filterItems = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
35
36
 
36
37
  render(
37
38
  <ThemeProvider theme={parseTheme(globalTheme)}>
@@ -65,7 +66,7 @@ describe("RoleFilter events", () => {
65
66
  },
66
67
  ];
67
68
  defaultProps.pointer = "filterRoles";
68
- defaultProps.filterItems = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
69
+ defaultProps.filterItems = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
69
70
 
70
71
  render(
71
72
  <ThemeProvider theme={parseTheme(globalTheme)}>
@@ -103,7 +104,7 @@ describe("RoleFilter events", () => {
103
104
  },
104
105
  ];
105
106
  defaultProps.pointer = "filterRoles";
106
- const onChangeMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
107
+ const onChangeMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
107
108
  defaultProps.filterItems = onChangeMock;
108
109
 
109
110
  render(
@@ -144,7 +145,7 @@ describe("RoleFilter events", () => {
144
145
  },
145
146
  ];
146
147
  defaultProps.pointer = "filterRoles";
147
- const onChangeMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
148
+ const onChangeMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
148
149
  defaultProps.filterItems = onChangeMock;
149
150
 
150
151
  render(
@@ -160,6 +161,6 @@ describe("RoleFilter events", () => {
160
161
  const checkFieldInputs = screen.queryAllByTestId("check-field-input");
161
162
  fireEvent.click(checkFieldInputs[1]);
162
163
  expect(onChangeMock).toHaveBeenCalledTimes(1);
163
- expect(onChangeMock).toBeCalledWith("filterRoles", "1");
164
+ expect(onChangeMock).toBeCalledWith("filterRoles", [{ label: "Administrator", value: "1" }]);
164
165
  });
165
166
  });
@@ -8,6 +8,7 @@ import { render, screen, cleanup, act, fireEvent } from "@testing-library/react"
8
8
  import { parseTheme } from "@ax/helpers";
9
9
  import SiteFilter, { ISiteFilterProps } from "@ax/components/TableFilters/SiteFilter";
10
10
  import globalTheme from "@ax/themes/theme.json";
11
+ import { IQueryValue } from "@ax/types";
11
12
 
12
13
  afterEach(cleanup);
13
14
  jest.mock("axios");
@@ -28,7 +29,7 @@ describe("SiteFilter component rendering", () => {
28
29
  title: "All",
29
30
  },
30
31
  ];
31
- const filterItems = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
32
+ const filterItems = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
32
33
 
33
34
  defaultProps.filterItems = filterItems;
34
35
  const data = {
@@ -73,7 +74,7 @@ describe("SiteFilter component rendering", () => {
73
74
  title: "All",
74
75
  },
75
76
  ];
76
- const filterItems = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
77
+ const filterItems = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
77
78
 
78
79
  defaultProps.filterItems = filterItems;
79
80
 
@@ -121,7 +122,7 @@ describe("SiteFilter events", () => {
121
122
  title: "All",
122
123
  },
123
124
  ];
124
- const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
125
+ const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
125
126
 
126
127
  defaultProps.filterItems = filterItemsMock;
127
128
  const data = {
@@ -171,7 +172,7 @@ describe("SiteFilter events", () => {
171
172
  title: "All",
172
173
  },
173
174
  ];
174
- const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
175
+ const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
175
176
 
176
177
  defaultProps.filterItems = filterItemsMock;
177
178
  const data = {
@@ -224,7 +225,7 @@ describe("SiteFilter events", () => {
224
225
  title: "All",
225
226
  },
226
227
  ];
227
- const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
228
+ const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
228
229
 
229
230
  defaultProps.filterItems = filterItemsMock;
230
231
  const data = {
@@ -279,7 +280,7 @@ describe("SiteFilter events", () => {
279
280
  title: "All",
280
281
  },
281
282
  ];
282
- const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: string]>;
283
+ const filterItemsMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
283
284
 
284
285
  defaultProps.filterItems = filterItemsMock;
285
286
  const data = {
@@ -313,6 +314,6 @@ describe("SiteFilter events", () => {
313
314
  const checkFieldInputs = screen.queryAllByTestId("check-field-input");
314
315
  fireEvent.click(checkFieldInputs[1]);
315
316
  expect(filterItemsMock).toHaveBeenCalledTimes(1);
316
- expect(filterItemsMock).toBeCalledWith("filterSites", "1");
317
+ expect(filterItemsMock).toBeCalledWith("filterSites", [{ label: "Site 1", value: 1 }]);
317
318
  });
318
319
  });