@griddo/ax 11.10.16 → 11.10.17-rc.1

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 (79) hide show
  1. package/README.md +1 -0
  2. package/config/griddo-config/index.js +1 -0
  3. package/package.json +2 -2
  4. package/src/__tests__/components/BulkSelectionOptions/BulkSelectionOptions.test.tsx +10 -24
  5. package/src/components/BulkSelectionOptions/index.tsx +9 -11
  6. package/src/components/BulkSelectionOptions/style.tsx +12 -5
  7. package/src/components/Fields/CheckField/index.tsx +4 -5
  8. package/src/components/Fields/ReferenceField/AutoPanel/index.tsx +17 -17
  9. package/src/components/Fields/UniqueCheck/index.tsx +21 -16
  10. package/src/components/Fields/UniqueCheck/style.tsx +17 -0
  11. package/src/components/FileGallery/GalleryPanel/DetailPanel/index.tsx +2 -1
  12. package/src/components/FilterTagsBar/style.tsx +2 -0
  13. package/src/components/Gallery/GalleryPanel/DetailPanel/index.tsx +2 -1
  14. package/src/components/Gallery/index.tsx +25 -26
  15. package/src/components/TableList/TableItem/style.tsx +4 -1
  16. package/src/components/TableList/index.tsx +3 -3
  17. package/src/components/TableList/style.tsx +11 -1
  18. package/src/hooks/bulk.tsx +17 -8
  19. package/src/hooks/index.tsx +8 -7
  20. package/src/locales/en-US.ts +47 -0
  21. package/src/locales/es-ES.ts +47 -0
  22. package/src/locales/index.ts +11 -0
  23. package/src/modules/Categories/CategoriesList/BulkHeader/TableHeader/index.tsx +1 -3
  24. package/src/modules/Categories/CategoriesList/BulkHeader/TableHeader/style.tsx +4 -2
  25. package/src/modules/Categories/CategoriesList/BulkHeader/index.tsx +6 -2
  26. package/src/modules/Categories/CategoriesList/index.tsx +29 -28
  27. package/src/modules/Categories/CategoriesList/utils.tsx +3 -2
  28. package/src/modules/Content/BulkHeader/TableHeader/style.tsx +4 -3
  29. package/src/modules/Content/BulkHeader/index.tsx +6 -2
  30. package/src/modules/Content/index.tsx +51 -51
  31. package/src/modules/FileDrive/BulkGridHeader/GridHeader/style.tsx +2 -0
  32. package/src/modules/FileDrive/BulkGridHeader/index.tsx +5 -3
  33. package/src/modules/FileDrive/BulkGridHeader/style.tsx +6 -4
  34. package/src/modules/FileDrive/BulkListHeader/TableHeader/style.tsx +5 -3
  35. package/src/modules/FileDrive/BulkListHeader/index.tsx +15 -4
  36. package/src/modules/FileDrive/BulkListHeader/style.tsx +5 -4
  37. package/src/modules/FileDrive/FileModal/DetailPanel/index.tsx +9 -7
  38. package/src/modules/FileDrive/index.tsx +25 -23
  39. package/src/modules/Forms/FormCategoriesList/BulkHeader/TableHeader/style.tsx +4 -2
  40. package/src/modules/Forms/FormCategoriesList/BulkHeader/index.tsx +6 -2
  41. package/src/modules/Forms/FormCategoriesList/BulkHeader/style.tsx +3 -3
  42. package/src/modules/Forms/FormCategoriesList/index.tsx +13 -12
  43. package/src/modules/Forms/FormList/BulkHeader/TableHeader/style.tsx +5 -2
  44. package/src/modules/Forms/FormList/BulkHeader/index.tsx +6 -2
  45. package/src/modules/Forms/FormList/index.tsx +20 -19
  46. package/src/modules/MediaGallery/BulkGridHeader/GridHeader/style.tsx +2 -0
  47. package/src/modules/MediaGallery/BulkGridHeader/index.tsx +5 -3
  48. package/src/modules/MediaGallery/BulkGridHeader/style.tsx +6 -4
  49. package/src/modules/MediaGallery/BulkListHeader/TableHeader/style.tsx +4 -3
  50. package/src/modules/MediaGallery/BulkListHeader/index.tsx +6 -3
  51. package/src/modules/MediaGallery/BulkListHeader/style.tsx +3 -4
  52. package/src/modules/MediaGallery/ImageModal/DetailPanel/index.tsx +7 -6
  53. package/src/modules/MediaGallery/index.tsx +27 -25
  54. package/src/modules/Navigation/Defaults/BulkHeader/TableHeader/style.tsx +6 -4
  55. package/src/modules/Navigation/Defaults/BulkHeader/index.tsx +15 -3
  56. package/src/modules/Navigation/Defaults/index.tsx +8 -9
  57. package/src/modules/Redirects/BulkHeader/TableHeader/style.tsx +4 -2
  58. package/src/modules/Redirects/BulkHeader/index.tsx +7 -2
  59. package/src/modules/Redirects/index.tsx +12 -12
  60. package/src/modules/Settings/Integrations/BulkHeader/TableHeader/style.tsx +4 -2
  61. package/src/modules/Settings/Integrations/BulkHeader/index.tsx +5 -2
  62. package/src/modules/Settings/Integrations/index.tsx +16 -16
  63. package/src/modules/Sites/SitesList/ListView/BulkHeader/TableHeader/style.tsx +4 -3
  64. package/src/modules/Sites/SitesList/ListView/BulkHeader/index.tsx +5 -3
  65. package/src/modules/Sites/SitesList/ListView/BulkHeader/style.tsx +4 -2
  66. package/src/modules/Sites/SitesList/index.tsx +25 -18
  67. package/src/modules/StructuredData/StructuredDataList/BulkHeader/TableHeader/style.tsx +4 -2
  68. package/src/modules/StructuredData/StructuredDataList/BulkHeader/index.tsx +6 -2
  69. package/src/modules/StructuredData/StructuredDataList/index.tsx +46 -45
  70. package/src/modules/StructuredData/StructuredDataList/utils.tsx +7 -5
  71. package/src/modules/Users/Roles/BulkHeader/TableHeader/style.tsx +4 -2
  72. package/src/modules/Users/Roles/BulkHeader/index.tsx +6 -2
  73. package/src/modules/Users/Roles/index.tsx +7 -7
  74. package/src/modules/Users/UserList/BulkHeader/TableHeader/style.tsx +4 -2
  75. package/src/modules/Users/UserList/BulkHeader/index.tsx +6 -2
  76. package/src/modules/Users/UserList/index.tsx +14 -15
  77. package/src/schemas/pages/GlobalPage.tsx +17 -0
  78. package/src/schemas/pages/Page.tsx +17 -0
  79. package/tsconfig.paths.json +1 -0
@@ -1,68 +1,68 @@
1
- import React, { useCallback, useEffect, useLayoutEffect, useRef, useState } from "react";
1
+ import type React from "react";
2
+ import { useCallback, useEffect, useLayoutEffect, useRef, useState } from "react";
2
3
  import { connect } from "react-redux";
3
4
  import { useHistory, useLocation } from "react-router-dom";
4
5
 
5
6
  import {
6
- IRootState,
7
- IStructuredData,
8
- IStructuredDataContent,
9
- IGetStructuredDataParams,
7
+ EmptyState,
8
+ ErrorToast,
9
+ FilterTagsBar,
10
+ MainWrapper,
11
+ Modal,
12
+ Notification,
13
+ SearchTagsBar,
14
+ TableList,
15
+ Toast,
16
+ } from "@ax/components";
17
+ import { analyticsActions } from "@ax/containers/Analytics";
18
+ import { appActions } from "@ax/containers/App";
19
+ import { pageEditorActions } from "@ax/containers/PageEditor";
20
+ import {
21
+ type ISetCurrentPageIDAction,
22
+ type ISetCurrentPageNameAction,
23
+ type ISetCurrentPageStatusAction,
24
+ pageStatus,
25
+ } from "@ax/containers/PageEditor/interfaces";
26
+ import { sitesActions } from "@ax/containers/Sites";
27
+ import { structuredDataActions } from "@ax/containers/StructuredData";
28
+ import { getMaxColumns, updateColumns } from "@ax/helpers";
29
+ import { useBulkSelection, useCategoryColors, useModal, usePermission, useToast, useWindowSize } from "@ax/hooks";
30
+ import type {
31
+ ICheck,
32
+ IColumn,
10
33
  IDataPack,
11
34
  IEmptyStateProps,
12
- ILanguage,
13
- IStructuredDataFilter,
14
- IStructuredDataValue,
35
+ IExportDataParams,
15
36
  IGetGlobalPagesParams,
37
+ IGetStructuredDataParams,
38
+ ILanguage,
16
39
  IPage,
17
- ICheck,
18
- IColumn,
19
40
  IQueryValue,
41
+ IRootState,
20
42
  ISchemaField,
21
- IExportDataParams,
43
+ IStructuredData,
44
+ IStructuredDataContent,
45
+ IStructuredDataFilter,
46
+ IStructuredDataValue,
22
47
  } from "@ax/types";
23
- import {
24
- ISetCurrentPageIDAction,
25
- ISetCurrentPageStatusAction,
26
- ISetCurrentPageNameAction,
27
- pageStatus,
28
- } from "@ax/containers/PageEditor/interfaces";
29
- import { useBulkSelection, useModal, useToast, useCategoryColors, usePermission, useWindowSize } from "@ax/hooks";
30
- import { appActions } from "@ax/containers/App";
31
- import { structuredDataActions } from "@ax/containers/StructuredData";
32
- import { sitesActions } from "@ax/containers/Sites";
33
- import { pageEditorActions } from "@ax/containers/PageEditor";
34
- import { analyticsActions } from "@ax/containers/Analytics";
35
- import {
36
- MainWrapper,
37
- TableList,
38
- ErrorToast,
39
- Toast,
40
- Notification,
41
- EmptyState,
42
- Modal,
43
- SearchTagsBar,
44
- FilterTagsBar,
45
- } from "@ax/components";
46
- import { getMaxColumns, updateColumns } from "@ax/helpers";
47
48
 
48
- import StructuredDataItem from "./StructuredDataItem";
49
+ import { DeleteModal } from "./atoms";
49
50
  import BulkHeader from "./BulkHeader";
50
51
  import ContentFilters from "./ContentFilters";
52
+ import GlobalPageItem from "./GlobalPageItem";
53
+ import { useFilterQuery, useSortedListStatus } from "./hooks";
51
54
  import OptionTable from "./OptionTable";
55
+ import StructuredDataItem from "./StructuredDataItem";
56
+ import * as S from "./style";
52
57
  import {
53
- getSelectedValue,
54
- getSortedListStatus,
55
- getOptionFilters,
56
- getOptionValues,
57
58
  filterByStatus,
58
59
  getAllLangPagesIds,
59
60
  getColumns,
61
+ getOptionFilters,
62
+ getOptionValues,
63
+ getSelectedValue,
64
+ getSortedListStatus,
60
65
  } from "./utils";
61
- import { useSortedListStatus, useFilterQuery } from "./hooks";
62
- import { DeleteModal } from "./atoms";
63
- import GlobalPageItem from "./GlobalPageItem";
64
-
65
- import * as S from "./style";
66
66
 
67
67
  const StructuredDataList = (props: IProps): JSX.Element => {
68
68
  const {
@@ -498,6 +498,7 @@ const StructuredDataList = (props: IProps): JSX.Element => {
498
498
  maxColumns={maxColumns}
499
499
  exportAction={exportContent}
500
500
  setHoverCheck={setHoverCheck}
501
+ selectedItems={selectedItems}
501
502
  />
502
503
  );
503
504
 
@@ -1,5 +1,7 @@
1
- import { config } from "components";
2
- import {
1
+ import { pageStatus } from "@ax/containers/PageEditor/interfaces";
2
+ import { arrayInsert } from "@ax/helpers";
3
+ import type { IBulkSelectedItems } from "@ax/hooks";
4
+ import type {
3
5
  IColumn,
4
6
  IPage,
5
7
  IPageLanguage,
@@ -8,8 +10,8 @@ import {
8
10
  IStructuredDataFilter,
9
11
  IStructuredDataValue,
10
12
  } from "@ax/types";
11
- import { pageStatus } from "@ax/containers/PageEditor/interfaces";
12
- import { arrayInsert } from "@ax/helpers";
13
+
14
+ import { config } from "components";
13
15
 
14
16
  const schemas = config.schemas.ui;
15
17
  const { templates } = schemas;
@@ -133,7 +135,7 @@ const getSortedListStatus = (orderPointer: string, isAscending: boolean) => {
133
135
 
134
136
  const getAllLangPagesIds = (
135
137
  currentSitePages: IPage[],
136
- selectedItems: Record<string, number[]>,
138
+ selectedItems: IBulkSelectedItems,
137
139
  getAllVersions: boolean,
138
140
  ): number[] => {
139
141
  let langsPagesIds: number[] = [];
@@ -1,11 +1,13 @@
1
- import styled from "styled-components";
2
1
  import { Header } from "@ax/components/TableList/style";
3
2
 
3
+ import styled from "styled-components";
4
+
4
5
  const TableHeader = styled.div<{ isScrolling?: boolean }>`
5
6
  width: 100%;
6
7
  display: flex;
7
8
  flex-direction: row;
8
- padding: ${(p) => p.theme.spacing.m};
9
+ align-items: center;
10
+ min-height: 40px;
9
11
  border-bottom: ${(p) => (p.isScrolling ? `1px solid ${p.theme.color.uiLine};` : "")};
10
12
  `;
11
13
 
@@ -1,7 +1,8 @@
1
- import React from "react";
2
1
  import { BulkSelectionOptions } from "@ax/components";
2
+ import type { IBulkSelectedItems } from "@ax/hooks";
3
+ import type { IQueryValue, IRole } from "@ax/types";
4
+
3
5
  import TableHeader from "./TableHeader";
4
- import { IQueryValue, IRole } from "@ax/types";
5
6
 
6
7
  const BulkHeader = (props: IBulkHeaderProps): JSX.Element => {
7
8
  const {
@@ -19,6 +20,7 @@ const BulkHeader = (props: IBulkHeaderProps): JSX.Element => {
19
20
  roles,
20
21
  selectedRoles,
21
22
  setHoverCheck,
23
+ selectedItems,
22
24
  } = props;
23
25
 
24
26
  const deactivatedSelectedRoles = roles.filter((role: IRole) => selectedRoles.includes(role.id) && !role.active);
@@ -39,6 +41,7 @@ const BulkHeader = (props: IBulkHeaderProps): JSX.Element => {
39
41
  actions={[bulkAction]}
40
42
  selectItems={selectItems}
41
43
  totalItems={totalItems}
44
+ selectedItems={selectedItems}
42
45
  />
43
46
  ) : (
44
47
  <TableHeader
@@ -70,6 +73,7 @@ export interface IBulkHeaderProps {
70
73
  roles: IRole[];
71
74
  selectedRoles: number[];
72
75
  setHoverCheck: (state: boolean) => void;
76
+ selectedItems: IBulkSelectedItems;
73
77
  }
74
78
 
75
79
  export default BulkHeader;
@@ -1,19 +1,18 @@
1
- import React, { useEffect, useRef, useState } from "react";
1
+ import { useEffect, useRef, useState } from "react";
2
2
  import { connect } from "react-redux";
3
3
 
4
- import { IRootState, IRole, IGetRoles, IActivateRole, ISite, IQueryValue } from "@ax/types";
5
- import { useBulkSelection, useToast } from "@ax/hooks";
4
+ import { EmptyState, ErrorToast, MainWrapper, Nav, TableList, Toast } from "@ax/components";
6
5
  import { appActions } from "@ax/containers/App";
7
6
  import { usersActions } from "@ax/containers/Users";
8
-
9
- import { MainWrapper, TableList, ErrorToast, EmptyState, Nav, Toast } from "@ax/components";
7
+ import { useBulkSelection, useToast } from "@ax/hooks";
8
+ import type { IActivateRole, IGetRoles, IQueryValue, IRole, IRootState, ISite } from "@ax/types";
10
9
 
11
10
  import BulkHeader from "./BulkHeader";
12
- import RoleItem from "./RoleItem";
13
11
  import { useFilterQuery, useSortedListStatus } from "./hooks";
14
- import { getSortedListStatus } from "./utils";
12
+ import RoleItem from "./RoleItem";
15
13
  import SideModal from "./SideModal";
16
14
  import * as S from "./style";
15
+ import { getSortedListStatus } from "./utils";
17
16
 
18
17
  const Roles = (props: IRolesProps): JSX.Element => {
19
18
  const { currentSiteInfo, roles, getRoles, navItems, currentNavItem, setHistoryPush, activateRoles } = props;
@@ -156,6 +155,7 @@ const Roles = (props: IRolesProps): JSX.Element => {
156
155
  roles={roles}
157
156
  selectedRoles={selectedItems.all}
158
157
  setHoverCheck={setHoverCheck}
158
+ selectedItems={selectedItems}
159
159
  />
160
160
  );
161
161
 
@@ -1,12 +1,14 @@
1
- import styled from "styled-components";
2
1
  import { Header } from "@ax/components/TableList/style";
3
2
 
3
+ import styled from "styled-components";
4
+
4
5
  const TableHeader = styled.div<{ isScrolling?: boolean }>`
5
6
  width: 100%;
6
7
  display: flex;
7
8
  flex-direction: row;
8
- padding: ${(p) => p.theme.spacing.m};
9
+ align-items: center;
9
10
  border-bottom: ${(p) => (p.isScrolling ? `1px solid ${p.theme.color.uiLine};` : "")};
11
+ min-height: 40px;
10
12
  `;
11
13
 
12
14
  const CheckHeader = styled(Header)`
@@ -1,7 +1,8 @@
1
- import React from "react";
2
1
  import { BulkSelectionOptions } from "@ax/components";
3
- import { IQueryValue, IRole } from "@ax/types";
2
+ import type { IBulkSelectedItems } from "@ax/hooks";
4
3
  import { usePermission } from "@ax/hooks";
4
+ import type { IQueryValue, IRole } from "@ax/types";
5
+
5
6
  import TableHeader from "./TableHeader";
6
7
 
7
8
  const BulkHeader = (props: IProps): JSX.Element => {
@@ -20,6 +21,7 @@ const BulkHeader = (props: IProps): JSX.Element => {
20
21
  isSiteView = false,
21
22
  roles,
22
23
  setHoverCheck,
24
+ selectedItems,
23
25
  } = props;
24
26
 
25
27
  const isAllowedToRemoveUsers = usePermission("usersRoles.removeUsers");
@@ -40,6 +42,7 @@ const BulkHeader = (props: IProps): JSX.Element => {
40
42
  actions={bulkActions}
41
43
  selectItems={selectItems}
42
44
  totalItems={totalItems}
45
+ selectedItems={selectedItems}
43
46
  />
44
47
  ) : (
45
48
  <TableHeader
@@ -73,6 +76,7 @@ interface IProps {
73
76
  filterItems: (filterPointer: string, filtersSelected: IQueryValue[]) => void;
74
77
  roles: IRole[];
75
78
  setHoverCheck: (state: boolean) => void;
79
+ selectedItems: IBulkSelectedItems;
76
80
  }
77
81
 
78
82
  export default BulkHeader;
@@ -1,30 +1,28 @@
1
- import React, { useEffect, useRef, useState } from "react";
1
+ import { useEffect, useRef, useState } from "react";
2
2
  import { connect } from "react-redux";
3
3
 
4
- import { IRootState, IUser, ISite, IGetRoles, IRole, IGetSitesParams, IQueryValue } from "@ax/types";
5
- import { useBulkSelection, useModal, usePermission, useToast } from "@ax/hooks";
6
- import { appActions } from "@ax/containers/App";
7
- import { usersActions } from "@ax/containers/Users";
8
- import { sitesActions } from "@ax/containers/Sites";
9
-
10
4
  import {
11
- MainWrapper,
12
- TableList,
13
- ErrorToast,
14
5
  EmptyState,
6
+ ErrorToast,
7
+ FilterTagsBar,
8
+ MainWrapper,
15
9
  Modal,
16
10
  Nav,
17
- Toast,
18
11
  SearchTagsBar,
19
- FilterTagsBar,
12
+ TableList,
13
+ Toast,
20
14
  } from "@ax/components";
15
+ import { appActions } from "@ax/containers/App";
16
+ import { sitesActions } from "@ax/containers/Sites";
17
+ import { usersActions } from "@ax/containers/Users";
18
+ import { useBulkSelection, useModal, usePermission, useToast } from "@ax/hooks";
19
+ import type { IGetRoles, IGetSitesParams, IQueryValue, IRole, IRootState, ISite, IUser } from "@ax/types";
21
20
 
22
21
  import BulkHeader from "./BulkHeader";
23
- import UserItem from "./UserItem";
24
22
  import { useFilterQuery, useSortedListStatus } from "./hooks";
25
- import { getSortedListStatus } from "./utils";
26
-
27
23
  import * as S from "./style";
24
+ import UserItem from "./UserItem";
25
+ import { getSortedListStatus } from "./utils";
28
26
 
29
27
  const UserList = (props: IUserListProps): JSX.Element => {
30
28
  const {
@@ -201,6 +199,7 @@ const UserList = (props: IUserListProps): JSX.Element => {
201
199
  sortedListStatus={sortedListStatus}
202
200
  roles={roles}
203
201
  setHoverCheck={setHoverCheck}
202
+ selectedItems={selectedItems}
204
203
  />
205
204
  );
206
205
 
@@ -151,6 +151,22 @@ export default {
151
151
  },
152
152
  ],
153
153
  },
154
+ {
155
+ title: "GEO (LLMS)",
156
+ type: "FieldGroup",
157
+ key: "geo",
158
+ collapsed: true,
159
+ fields: [
160
+ {
161
+ type: "UniqueCheck",
162
+ key: "isLlmsEnabled",
163
+ options: [
164
+ { "title": "Include this page in LLMs.txt" }
165
+ ],
166
+ description: "If enabled, this page will be listed in LLMs.txt for language models."
167
+ },
168
+ ],
169
+ },
154
170
  {
155
171
  title: "Analytics Data Layer",
156
172
  type: "FieldGroup",
@@ -206,5 +222,6 @@ export default {
206
222
  socialTitle: "",
207
223
  socialDescription: "",
208
224
  socialImage: {},
225
+ isLlmsEnabled: true,
209
226
  },
210
227
  };
@@ -217,6 +217,22 @@ export default {
217
217
  },
218
218
  ],
219
219
  },
220
+ {
221
+ title: "GEO (LLMS)",
222
+ type: "FieldGroup",
223
+ key: "geo",
224
+ collapsed: true,
225
+ fields: [
226
+ {
227
+ type: "UniqueCheck",
228
+ key: "isLlmsEnabled",
229
+ options: [
230
+ { "title": "Include this page in LLMs.txt" }
231
+ ],
232
+ description: "If enabled, this page will be listed in LLMs.txt for language models."
233
+ },
234
+ ],
235
+ },
220
236
  {
221
237
  title: "Analytics Data Layer",
222
238
  type: "FieldGroup",
@@ -280,5 +296,6 @@ export default {
280
296
  customizeThemes: false,
281
297
  headerTheme: null,
282
298
  footerTheme: null,
299
+ isLlmsEnabled: true,
283
300
  },
284
301
  };
@@ -11,6 +11,7 @@
11
11
  "@ax/guards": ["src/guards"],
12
12
  "@ax/helpers": ["src/helpers"],
13
13
  "@ax/hooks": ["src/hooks"],
14
+ "@ax/locales": ["src/locales"],
14
15
  "@ax/modules": ["src/modules"],
15
16
  "@ax/routes": ["src/routes"],
16
17
  "@ax/routes/*": ["src/routes/*"],