@webiny/app-aco 0.0.0-unstable.8feaff8c32 → 0.0.0-unstable.98511f29f1

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.
@@ -29,5 +29,6 @@ export interface State {
29
29
  }
30
30
  export interface AcoListProviderProps {
31
31
  children: React.ReactNode;
32
+ own?: boolean;
32
33
  }
33
34
  export declare const AcoListProvider: React.VFC<AcoListProviderProps>;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
@@ -10,6 +10,7 @@ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helper
10
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
11
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
12
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
14
  var _react = _interopRequireWildcard(require("react"));
14
15
  var _hooks = require("../hooks");
15
16
  var _folders = require("./folders");
@@ -18,6 +19,8 @@ var _sorting = require("../sorting");
18
19
  var _dotPropImmutable = _interopRequireDefault(require("dot-prop-immutable"));
19
20
  var _pick = _interopRequireDefault(require("lodash/pick"));
20
21
  var _constants = require("../constants");
22
+ var _appSecurity = require("@webiny/app-security");
23
+ var _excluded = ["children"];
21
24
  var AcoListContext = /*#__PURE__*/_react.default.createContext(undefined);
22
25
  exports.AcoListContext = AcoListContext;
23
26
  var initializeAcoListState = function initializeAcoListState() {
@@ -57,7 +60,10 @@ var getCurrentRecordList = function getCurrentRecordList(records, folderIdPath,
57
60
  });
58
61
  };
59
62
  var AcoListProvider = function AcoListProvider(_ref) {
60
- var children = _ref.children;
63
+ var children = _ref.children,
64
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
65
+ var _useSecurity = (0, _appSecurity.useSecurity)(),
66
+ identity = _useSecurity.identity;
61
67
  var _useNavigateFolder = (0, _hooks.useNavigateFolder)(),
62
68
  currentFolderId = _useNavigateFolder.currentFolderId;
63
69
  var _useAcoApp = (0, _hooks.useAcoApp)(),
@@ -216,7 +222,9 @@ var AcoListProvider = function AcoListProvider(_ref) {
216
222
  sort: (0, _sorting.validateOrGetDefaultDbSort)(state.listSort),
217
223
  search: state.searchQuery,
218
224
  after: state.after,
219
- where: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, locationWhere), state.filters)
225
+ where: (0, _objectSpread2.default)((0, _objectSpread2.default)({
226
+ createdBy: props.own ? identity.id : undefined
227
+ }, locationWhere), state.filters)
220
228
  };
221
229
  _context.next = 8;
222
230
  return listRecords(params);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_hooks","_folders","_records","_sorting","_dotPropImmutable","_interopRequireDefault","_pick","_constants","AcoListContext","React","createContext","undefined","exports","initializeAcoListState","after","filters","folderId","isSearch","limit","listSort","searchQuery","showingFilters","getCurrentFolderList","folders","currentFolderId","toLowerCase","ROOT_FOLDER","filter","folder","parentId","getCurrentRecordList","records","folderIdPath","record","dotPropImmutable","get","AcoListProvider","_ref","children","_useNavigateFolder","useNavigateFolder","_useAcoApp","useAcoApp","folderIdInPath","folderContext","useContext","FoldersContext","searchContext","SearchRecordsContext","Error","_useState","useState","_useState2","_slicedToArray2","default","setFolders","_useState3","_useState4","setRecords","_useState5","_useState6","listTitle","setListTitle","_useState7","_useState8","state","setState","originalFolders","foldersLoading","loading","listFolders","getDescendantFolders","originalRecords","recordsLoading","listRecords","meta","useEffect","_objectSpread2","currentFolder","find","id","title","subFolders","sortTableItems","subRecords","prev","listMoreRecords","useCallback","hasMoreItems","cursor","listItems","_ref2","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","locationWhere","descendantFolderIds","params","wrap","_callee$","_context","next","abrupt","Boolean","Object","values","length","set","map","sort","validateOrGetDefaultDbSort","search","where","stop","apply","arguments","context","pick","isListLoading","INIT","LIST","isListLoadingMore","LIST_MORE","setSearchQuery","query","setFilters","data","setListSort","hideFilters","showFilters","createElement","Provider","value"],"sources":["acoList.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useState } from \"react\";\nimport {\n FolderItem,\n GenericSearchData,\n ListMeta,\n ListSearchRecordsQueryVariables,\n ListSearchRecordsSort,\n SearchRecordItem\n} from \"~/types\";\nimport { useAcoApp, useNavigateFolder } from \"~/hooks\";\nimport { FoldersContext } from \"~/contexts/folders\";\nimport { SearchRecordsContext } from \"~/contexts/records\";\nimport { sortTableItems, validateOrGetDefaultDbSort } from \"~/sorting\";\nimport dotPropImmutable from \"dot-prop-immutable\";\nimport pick from \"lodash/pick\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport interface AcoListContextData<T> {\n folders: FolderItem[];\n hideFilters: () => void;\n isListLoading: boolean;\n isListLoadingMore: boolean;\n isSearch: boolean;\n listMoreRecords: () => void;\n listTitle?: string;\n meta: ListMeta;\n records: SearchRecordItem<T>[];\n setFilters: (data: Record<string, any>) => void;\n setListSort: (state: ListSearchRecordsSort) => void;\n setSearchQuery: (query: string) => void;\n showFilters: () => void;\n showingFilters: boolean;\n}\n\nexport const AcoListContext = React.createContext<\n AcoListContextData<GenericSearchData> | undefined\n>(undefined);\n\nexport interface State {\n after?: string;\n filters?: Record<string, any>;\n folderId?: string;\n isSearch: boolean;\n limit: number;\n listSort: ListSearchRecordsSort;\n searchQuery: string;\n showingFilters: boolean;\n}\n\nconst initializeAcoListState = (): State => {\n return {\n after: undefined,\n filters: undefined,\n folderId: undefined,\n isSearch: false,\n limit: 50,\n listSort: [],\n searchQuery: \"\",\n showingFilters: false\n };\n};\n\nconst getCurrentFolderList = (\n folders?: FolderItem[] | null,\n currentFolderId?: string\n): FolderItem[] | [] => {\n if (!folders) {\n return [];\n }\n if (!currentFolderId || currentFolderId.toLowerCase() === ROOT_FOLDER) {\n return folders.filter(\n folder => !folder.parentId || folder.parentId.toLowerCase() === ROOT_FOLDER\n );\n }\n return folders.filter(folder => folder.parentId === currentFolderId);\n};\n\nconst getCurrentRecordList = <T = GenericSearchData,>(\n records: SearchRecordItem<T>[],\n folderIdPath: string,\n currentFolderId?: string\n): SearchRecordItem<T>[] => {\n if (!records) {\n return [];\n }\n\n if (!currentFolderId) {\n return records;\n }\n\n return records.filter(\n (record): record is SearchRecordItem<T> =>\n dotPropImmutable.get(record, folderIdPath) === currentFolderId\n );\n};\n\nexport interface AcoListProviderProps {\n children: React.ReactNode;\n}\n\nexport const AcoListProvider: React.VFC<AcoListProviderProps> = ({ children }) => {\n const { currentFolderId } = useNavigateFolder();\n const { folderIdPath, folderIdInPath } = useAcoApp();\n const folderContext = useContext(FoldersContext);\n const searchContext = useContext(SearchRecordsContext);\n\n if (!folderContext || !searchContext) {\n throw new Error(\"useAcoList must be used within a ACOProvider\");\n }\n\n const [folders, setFolders] = useState<FolderItem[]>([]);\n const [records, setRecords] = useState<SearchRecordItem[]>([]);\n const [listTitle, setListTitle] = useState<string | undefined>();\n const [state, setState] = useState(initializeAcoListState());\n\n const {\n folders: originalFolders,\n loading: foldersLoading,\n listFolders,\n getDescendantFolders\n } = folderContext;\n const { records: originalRecords, loading: recordsLoading, listRecords, meta } = searchContext;\n\n /**\n * On first mount, call `listFolders` and `setState`, which will either issue a network request, or load folders and records from cache.\n * We don't need to store the result of it to any local state; that is managed by the context provider.\n *\n * IMPORTANT: we check if the folders[type] array exists: the hook can be used from multiple components and\n * fetch the outdated list from Apollo Cache. Since the state is managed locally, we fetch the folders only\n * at the first mount.\n *\n * We don't call `listRecords` directly, instead we call `setState` making it the only driver to fetch records from the apis.\n */\n useEffect(() => {\n if (!currentFolderId) {\n return;\n }\n\n if (!originalFolders) {\n listFolders();\n }\n\n setState(state => {\n return {\n ...state,\n after: undefined,\n filters: undefined,\n folderId: currentFolderId,\n isSearch: false,\n searchQuery: \"\",\n showingFilters: false\n };\n });\n }, [currentFolderId]);\n\n /**\n * Any time we receive a `folders` list update:\n * - we set an empty array in case of search;\n * - we set the list filtered by the current `type` and parent `folderId`, sorted according to the current `sort` value;\n * - we set the current folder name.\n */\n useEffect(() => {\n const currentFolder = originalFolders?.find(\n folder => folder.id === (state.folderId || ROOT_FOLDER)\n );\n\n setListTitle(currentFolder?.title);\n\n if (state.isSearch) {\n setFolders([]);\n return;\n }\n\n const subFolders = getCurrentFolderList(originalFolders, state.folderId);\n setFolders(() => {\n return sortTableItems(subFolders, state.listSort);\n });\n }, [originalFolders, state.folderId, state.isSearch]);\n\n /**\n * Any time we receive a `records` list or `folderId` update:\n * - we set all `records` in case of search query;\n * - we set the `records` list filtered by the current `folderId`.\n */\n useEffect(() => {\n if (state.isSearch) {\n setRecords(originalRecords as SearchRecordItem[]);\n return;\n }\n\n const subRecords = getCurrentRecordList(\n originalRecords as SearchRecordItem[],\n folderIdPath,\n state.folderId\n );\n setRecords(subRecords);\n }, [originalRecords, state.folderId, state.isSearch]);\n\n /**\n * Any time we receive a new `sort` value:\n * - we sort the current `folders` list according to `sorting` value;\n */\n useEffect(() => {\n setFolders(prev => {\n return sortTableItems(prev, state.listSort);\n });\n }, [state.listSort]);\n\n /**\n * Utility function to list/load more records, the `meta` state is tracked internally.\n */\n const listMoreRecords = useCallback(() => {\n const { hasMoreItems, cursor } = meta;\n if (hasMoreItems && cursor) {\n setState(state => ({\n ...state,\n after: cursor\n }));\n }\n }, [meta]);\n\n /**\n * Any time we receive new useful `state` params:\n * - we fetch records according to the new params\n */\n useEffect(() => {\n const listItems = async () => {\n if (!state.folderId) {\n return;\n }\n\n const isSearch = Boolean(\n state.searchQuery ||\n (state.filters && Object.values(state.filters).filter(Boolean).length)\n );\n\n let locationWhere = dotPropImmutable.set({}, folderIdPath, state.folderId);\n\n if (isSearch) {\n if (state.folderId === ROOT_FOLDER) {\n locationWhere = undefined;\n } else {\n const descendantFolderIds = getDescendantFolders(state.folderId).map(\n folder => folder.id\n );\n locationWhere = dotPropImmutable.set({}, folderIdInPath, descendantFolderIds);\n }\n }\n\n const params: ListSearchRecordsQueryVariables = {\n limit: state.limit,\n sort: validateOrGetDefaultDbSort(state.listSort),\n search: state.searchQuery,\n after: state.after,\n where: {\n ...locationWhere,\n ...state.filters\n }\n };\n\n await listRecords(params);\n\n setState(state => ({\n ...state,\n isSearch\n }));\n };\n\n listItems();\n }, [state.folderId, state.filters, state.searchQuery, state.after, state.listSort]);\n\n const context: AcoListContextData<GenericSearchData> = {\n ...pick(state, [\"isSearch\", \"showingFilters\"]),\n folders,\n records,\n listTitle,\n isListLoading: Boolean(\n recordsLoading.INIT || foldersLoading.INIT || recordsLoading.LIST || foldersLoading.LIST\n ),\n isListLoadingMore: Boolean(recordsLoading.LIST_MORE),\n meta,\n setSearchQuery(query) {\n setState(state => ({\n ...state,\n searchQuery: query\n }));\n },\n setFilters(data) {\n setState(state => ({\n ...state,\n filters: data\n }));\n },\n setListSort(sort: ListSearchRecordsSort) {\n setState(state => ({\n ...state,\n listSort: sort\n }));\n },\n hideFilters() {\n setState(state => ({\n ...state,\n filters: undefined,\n showingFilters: false\n }));\n },\n showFilters() {\n setState(state => ({\n ...state,\n showingFilters: true\n }));\n },\n listMoreRecords\n };\n\n return <AcoListContext.Provider value={context}>{children}</AcoListContext.Provider>;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_hooks","_folders","_records","_sorting","_dotPropImmutable","_interopRequireDefault","_pick","_constants","_appSecurity","_excluded","AcoListContext","React","createContext","undefined","exports","initializeAcoListState","after","filters","folderId","isSearch","limit","listSort","searchQuery","showingFilters","getCurrentFolderList","folders","currentFolderId","toLowerCase","ROOT_FOLDER","filter","folder","parentId","getCurrentRecordList","records","folderIdPath","record","dotPropImmutable","get","AcoListProvider","_ref","children","props","_objectWithoutProperties2","default","_useSecurity","useSecurity","identity","_useNavigateFolder","useNavigateFolder","_useAcoApp","useAcoApp","folderIdInPath","folderContext","useContext","FoldersContext","searchContext","SearchRecordsContext","Error","_useState","useState","_useState2","_slicedToArray2","setFolders","_useState3","_useState4","setRecords","_useState5","_useState6","listTitle","setListTitle","_useState7","_useState8","state","setState","originalFolders","foldersLoading","loading","listFolders","getDescendantFolders","originalRecords","recordsLoading","listRecords","meta","useEffect","_objectSpread2","currentFolder","find","id","title","subFolders","sortTableItems","subRecords","prev","listMoreRecords","useCallback","hasMoreItems","cursor","listItems","_ref2","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","locationWhere","descendantFolderIds","params","wrap","_callee$","_context","next","abrupt","Boolean","Object","values","length","set","map","sort","validateOrGetDefaultDbSort","search","where","createdBy","own","stop","apply","arguments","context","pick","isListLoading","INIT","LIST","isListLoadingMore","LIST_MORE","setSearchQuery","query","setFilters","data","setListSort","hideFilters","showFilters","createElement","Provider","value"],"sources":["acoList.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useState } from \"react\";\nimport {\n FolderItem,\n GenericSearchData,\n ListMeta,\n ListSearchRecordsQueryVariables,\n ListSearchRecordsSort,\n SearchRecordItem\n} from \"~/types\";\nimport { useAcoApp, useNavigateFolder } from \"~/hooks\";\nimport { FoldersContext } from \"~/contexts/folders\";\nimport { SearchRecordsContext } from \"~/contexts/records\";\nimport { sortTableItems, validateOrGetDefaultDbSort } from \"~/sorting\";\nimport dotPropImmutable from \"dot-prop-immutable\";\nimport pick from \"lodash/pick\";\nimport { ROOT_FOLDER } from \"~/constants\";\nimport { useSecurity } from \"@webiny/app-security\";\n\nexport interface AcoListContextData<T> {\n folders: FolderItem[];\n hideFilters: () => void;\n isListLoading: boolean;\n isListLoadingMore: boolean;\n isSearch: boolean;\n listMoreRecords: () => void;\n listTitle?: string;\n meta: ListMeta;\n records: SearchRecordItem<T>[];\n setFilters: (data: Record<string, any>) => void;\n setListSort: (state: ListSearchRecordsSort) => void;\n setSearchQuery: (query: string) => void;\n showFilters: () => void;\n showingFilters: boolean;\n}\n\nexport const AcoListContext = React.createContext<\n AcoListContextData<GenericSearchData> | undefined\n>(undefined);\n\nexport interface State {\n after?: string;\n filters?: Record<string, any>;\n folderId?: string;\n isSearch: boolean;\n limit: number;\n listSort: ListSearchRecordsSort;\n searchQuery: string;\n showingFilters: boolean;\n}\n\nconst initializeAcoListState = (): State => {\n return {\n after: undefined,\n filters: undefined,\n folderId: undefined,\n isSearch: false,\n limit: 50,\n listSort: [],\n searchQuery: \"\",\n showingFilters: false\n };\n};\n\nconst getCurrentFolderList = (\n folders?: FolderItem[] | null,\n currentFolderId?: string\n): FolderItem[] | [] => {\n if (!folders) {\n return [];\n }\n if (!currentFolderId || currentFolderId.toLowerCase() === ROOT_FOLDER) {\n return folders.filter(\n folder => !folder.parentId || folder.parentId.toLowerCase() === ROOT_FOLDER\n );\n }\n return folders.filter(folder => folder.parentId === currentFolderId);\n};\n\nconst getCurrentRecordList = <T = GenericSearchData,>(\n records: SearchRecordItem<T>[],\n folderIdPath: string,\n currentFolderId?: string\n): SearchRecordItem<T>[] => {\n if (!records) {\n return [];\n }\n\n if (!currentFolderId) {\n return records;\n }\n\n return records.filter(\n (record): record is SearchRecordItem<T> =>\n dotPropImmutable.get(record, folderIdPath) === currentFolderId\n );\n};\n\nexport interface AcoListProviderProps {\n children: React.ReactNode;\n own?: boolean;\n}\n\nexport const AcoListProvider: React.VFC<AcoListProviderProps> = ({ children, ...props }) => {\n const { identity } = useSecurity();\n const { currentFolderId } = useNavigateFolder();\n const { folderIdPath, folderIdInPath } = useAcoApp();\n const folderContext = useContext(FoldersContext);\n const searchContext = useContext(SearchRecordsContext);\n\n if (!folderContext || !searchContext) {\n throw new Error(\"useAcoList must be used within a ACOProvider\");\n }\n\n const [folders, setFolders] = useState<FolderItem[]>([]);\n const [records, setRecords] = useState<SearchRecordItem[]>([]);\n const [listTitle, setListTitle] = useState<string | undefined>();\n const [state, setState] = useState(initializeAcoListState());\n\n const {\n folders: originalFolders,\n loading: foldersLoading,\n listFolders,\n getDescendantFolders\n } = folderContext;\n const { records: originalRecords, loading: recordsLoading, listRecords, meta } = searchContext;\n\n /**\n * On first mount, call `listFolders` and `setState`, which will either issue a network request, or load folders and records from cache.\n * We don't need to store the result of it to any local state; that is managed by the context provider.\n *\n * IMPORTANT: we check if the folders[type] array exists: the hook can be used from multiple components and\n * fetch the outdated list from Apollo Cache. Since the state is managed locally, we fetch the folders only\n * at the first mount.\n *\n * We don't call `listRecords` directly, instead we call `setState` making it the only driver to fetch records from the apis.\n */\n useEffect(() => {\n if (!currentFolderId) {\n return;\n }\n\n if (!originalFolders) {\n listFolders();\n }\n\n setState(state => {\n return {\n ...state,\n after: undefined,\n filters: undefined,\n folderId: currentFolderId,\n isSearch: false,\n searchQuery: \"\",\n showingFilters: false\n };\n });\n }, [currentFolderId]);\n\n /**\n * Any time we receive a `folders` list update:\n * - we set an empty array in case of search;\n * - we set the list filtered by the current `type` and parent `folderId`, sorted according to the current `sort` value;\n * - we set the current folder name.\n */\n useEffect(() => {\n const currentFolder = originalFolders?.find(\n folder => folder.id === (state.folderId || ROOT_FOLDER)\n );\n\n setListTitle(currentFolder?.title);\n\n if (state.isSearch) {\n setFolders([]);\n return;\n }\n\n const subFolders = getCurrentFolderList(originalFolders, state.folderId);\n setFolders(() => {\n return sortTableItems(subFolders, state.listSort);\n });\n }, [originalFolders, state.folderId, state.isSearch]);\n\n /**\n * Any time we receive a `records` list or `folderId` update:\n * - we set all `records` in case of search query;\n * - we set the `records` list filtered by the current `folderId`.\n */\n useEffect(() => {\n if (state.isSearch) {\n setRecords(originalRecords as SearchRecordItem[]);\n return;\n }\n\n const subRecords = getCurrentRecordList(\n originalRecords as SearchRecordItem[],\n folderIdPath,\n state.folderId\n );\n setRecords(subRecords);\n }, [originalRecords, state.folderId, state.isSearch]);\n\n /**\n * Any time we receive a new `sort` value:\n * - we sort the current `folders` list according to `sorting` value;\n */\n useEffect(() => {\n setFolders(prev => {\n return sortTableItems(prev, state.listSort);\n });\n }, [state.listSort]);\n\n /**\n * Utility function to list/load more records, the `meta` state is tracked internally.\n */\n const listMoreRecords = useCallback(() => {\n const { hasMoreItems, cursor } = meta;\n if (hasMoreItems && cursor) {\n setState(state => ({\n ...state,\n after: cursor\n }));\n }\n }, [meta]);\n\n /**\n * Any time we receive new useful `state` params:\n * - we fetch records according to the new params\n */\n useEffect(() => {\n const listItems = async () => {\n if (!state.folderId) {\n return;\n }\n\n const isSearch = Boolean(\n state.searchQuery ||\n (state.filters && Object.values(state.filters).filter(Boolean).length)\n );\n\n let locationWhere = dotPropImmutable.set({}, folderIdPath, state.folderId);\n\n if (isSearch) {\n if (state.folderId === ROOT_FOLDER) {\n locationWhere = undefined;\n } else {\n const descendantFolderIds = getDescendantFolders(state.folderId).map(\n folder => folder.id\n );\n locationWhere = dotPropImmutable.set({}, folderIdInPath, descendantFolderIds);\n }\n }\n\n const params: ListSearchRecordsQueryVariables = {\n limit: state.limit,\n sort: validateOrGetDefaultDbSort(state.listSort),\n search: state.searchQuery,\n after: state.after,\n where: {\n createdBy: props.own ? identity!.id : undefined,\n ...locationWhere,\n ...state.filters\n }\n };\n\n await listRecords(params);\n\n setState(state => ({\n ...state,\n isSearch\n }));\n };\n\n listItems();\n }, [state.folderId, state.filters, state.searchQuery, state.after, state.listSort]);\n\n const context: AcoListContextData<GenericSearchData> = {\n ...pick(state, [\"isSearch\", \"showingFilters\"]),\n folders,\n records,\n listTitle,\n isListLoading: Boolean(\n recordsLoading.INIT || foldersLoading.INIT || recordsLoading.LIST || foldersLoading.LIST\n ),\n isListLoadingMore: Boolean(recordsLoading.LIST_MORE),\n meta,\n setSearchQuery(query) {\n setState(state => ({\n ...state,\n searchQuery: query\n }));\n },\n setFilters(data) {\n setState(state => ({\n ...state,\n filters: data\n }));\n },\n setListSort(sort: ListSearchRecordsSort) {\n setState(state => ({\n ...state,\n listSort: sort\n }));\n },\n hideFilters() {\n setState(state => ({\n ...state,\n filters: undefined,\n showingFilters: false\n }));\n },\n showFilters() {\n setState(state => ({\n ...state,\n showingFilters: true\n }));\n },\n listMoreRecords\n };\n\n return <AcoListContext.Provider value={context}>{children}</AcoListContext.Provider>;\n};\n"],"mappings":"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"}
package/contexts/app.d.ts CHANGED
@@ -20,6 +20,7 @@ interface BaseAcoAppProviderProps {
20
20
  client: ApolloClient<any>;
21
21
  createNavigateFolderListLink?: () => string;
22
22
  createNavigateFolderStorageKey: () => string;
23
+ own?: boolean;
23
24
  }
24
25
  export interface AcoAppProviderPropsApi extends BaseAcoAppProviderProps {
25
26
  model?: never;
package/contexts/app.js CHANGED
@@ -54,7 +54,8 @@ var AcoAppProvider = function AcoAppProvider(_ref) {
54
54
  folderIdQueryString = _ref.folderIdQueryString,
55
55
  createNavigateFolderListLink = _ref.createNavigateFolderListLink,
56
56
  createNavigateFolderStorageKey = _ref.createNavigateFolderStorageKey,
57
- initialFolderIdPath = _ref.folderIdPath;
57
+ initialFolderIdPath = _ref.folderIdPath,
58
+ own = _ref.own;
58
59
  var _useState = (0, _react.useState)({
59
60
  loading: false,
60
61
  app: null,
@@ -189,6 +190,8 @@ var AcoAppProvider = function AcoAppProvider(_ref) {
189
190
  folderIdQueryString: folderIdQueryString,
190
191
  createListLink: createNavigateFolderListLink,
191
192
  createStorageKey: createNavigateFolderStorageKey
192
- }, /*#__PURE__*/_react.default.createElement(_acoList.AcoListProvider, null, /*#__PURE__*/_react.default.createElement(_dialogs.DialogsProvider, null, children))))));
193
+ }, /*#__PURE__*/_react.default.createElement(_acoList.AcoListProvider, {
194
+ own: own
195
+ }, /*#__PURE__*/_react.default.createElement(_dialogs.DialogsProvider, null, children))))));
193
196
  };
194
197
  exports.AcoAppProvider = AcoAppProvider;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_app","_folders","_records","_dialogs","_DisplayError","_navigateFolderWithRouter","_Progress","_acoList","AcoAppContext","React","createContext","undefined","exports","createApp","data","_objectSpread2","default","getFields","model","fields","createApiApp","console","error","dataField","find","f","fieldId","concat","id","_dataField$settings","settings","AcoAppProvider","_ref","children","client","inputModel","folderIdQueryString","createNavigateFolderListLink","createNavigateFolderStorageKey","initialFolderIdPath","folderIdPath","_useState","useState","loading","app","mode","_useState2","_slicedToArray2","state","setState","folderIdInPath","useEffect","_state$app","prev","query","createGetAppQuery","variables","then","response","_response$data$aco","_ref2","aco","message","code","modelId","value","useMemo","createElement","CircularProgress","DisplayError","Provider","FoldersProvider","SearchRecordsProvider","NavigateFolderWithRouterProvider","createListLink","createStorageKey","AcoListProvider","DialogsProvider"],"sources":["app.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\nimport { AcoApp, AcoAppMode, AcoError, AcoModel, AcoModelField } from \"~/types\";\nimport { createGetAppQuery, GetAppResult, GetAppVariables } from \"~/graphql/app.gql\";\nimport { FoldersProvider as FoldersContextProvider } from \"./folders\";\nimport { SearchRecordsProvider as SearchRecordsContextProvider } from \"./records\";\nimport { DialogsProvider as DialogsContextProvider } from \"../dialogs\";\nimport { DisplayError } from \"./DisplayError\";\nimport { ApolloClient } from \"apollo-client\";\nimport { NavigateFolderWithRouterProvider } from \"~/contexts/navigateFolderWithRouter\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { AcoListProvider } from \"~/contexts/acoList\";\n\nexport interface AcoAppProviderContext {\n app: AcoApp;\n folderIdPath: string;\n folderIdInPath: string;\n model: AcoModel;\n client: ApolloClient<any>;\n loading: boolean;\n error?: AcoError | null;\n mode: AcoAppMode;\n}\n\ninterface AcoAppProviderState {\n loading: boolean;\n app?: AcoApp | null;\n model?: AcoModel | null;\n error?: AcoError | null;\n mode: AcoAppMode;\n}\n\nexport const AcoAppContext = React.createContext<AcoAppProviderContext | undefined>(undefined);\n\ninterface BaseAcoAppProviderProps {\n children: React.ReactNode;\n id: string;\n folderIdPath?: string;\n folderIdQueryString?: string;\n client: ApolloClient<any>;\n createNavigateFolderListLink?: () => string;\n createNavigateFolderStorageKey: () => string;\n}\n\nexport interface AcoAppProviderPropsApi extends BaseAcoAppProviderProps {\n model?: never;\n getFields?: never;\n}\n\nexport interface AcoAppProviderPropsManual extends BaseAcoAppProviderProps {\n model: AcoModel;\n getFields?: () => AcoModelField[];\n}\n\nexport type AcoAppProviderProps = AcoAppProviderPropsApi | AcoAppProviderPropsManual;\n\ninterface CreateAppParams {\n id: string;\n model: AcoModel;\n getFields?: () => AcoModelField[];\n}\n\nconst createApp = (data: CreateAppParams): AcoApp => {\n return {\n ...data,\n getFields:\n data.getFields ||\n (() => {\n return data.model.fields;\n })\n };\n};\n\ninterface CreateApiAppParams {\n id: string;\n model: AcoModel;\n}\n\nconst createApiApp = (data: CreateApiAppParams | null): AcoApp | null => {\n if (!data) {\n console.error(`The APP could not be created. No data received.`);\n return null;\n }\n const dataField = data.model.fields.find(f => f.fieldId === \"data\");\n if (!dataField) {\n console.error(`The APP \"${data.id}\" does not have the data field.`);\n return null;\n }\n return {\n ...data,\n getFields: () => {\n return dataField?.settings?.fields || [];\n }\n };\n};\n\nexport const AcoAppProvider: React.VFC<AcoAppProviderProps> = ({\n children,\n id,\n client,\n model: inputModel,\n getFields,\n folderIdQueryString,\n createNavigateFolderListLink,\n createNavigateFolderStorageKey,\n folderIdPath: initialFolderIdPath\n}) => {\n const [state, setState] = useState<AcoAppProviderState>({\n loading: false,\n app: null,\n model: null,\n error: null,\n mode: \"aco\"\n });\n const folderIdPath = initialFolderIdPath || \"location.folderId\";\n const folderIdInPath = folderIdPath + \"_in\";\n\n /**\n * The APP Provider can operate in two modes:\n * * `app` - when the `id` is provided, the app is fetched from the API\n * * `model` - when the `model` is provided, the app is created from the model\n */\n useEffect(() => {\n if (!id) {\n return;\n }\n /**\n * In the `model` mode, we don't need to fetch the app from the API.\n * BUT, the input model must be `undefined`. In case it's `null`, just return because there will be a model at a point.\n */\n if (inputModel !== undefined) {\n if (!inputModel) {\n return;\n }\n setState(prev => {\n return {\n ...prev,\n loading: false,\n model: inputModel,\n app: createApp({\n id,\n model: inputModel,\n getFields\n }),\n mode: \"cms\"\n };\n });\n return;\n }\n if (id === state.app?.id) {\n return;\n }\n setState(prev => {\n return {\n ...prev,\n loading: true\n };\n });\n client\n .query<GetAppResult, GetAppVariables>({\n query: createGetAppQuery(),\n variables: {\n id\n }\n })\n .then(response => {\n const { data, error } = response.data.aco?.app || {};\n\n if (error) {\n setState(prev => {\n return {\n ...prev,\n loading: false,\n app: null,\n model: null,\n error,\n mode: \"aco\"\n };\n });\n return;\n }\n\n setState(prev => {\n const app = createApiApp(data);\n if (!app) {\n return {\n ...prev,\n loading: false,\n app: null,\n model: null,\n mode: \"aco\",\n error: {\n message: `App \"${id}\" not found!`,\n code: \"APP_NOT_FOUND\"\n }\n };\n }\n return {\n ...prev,\n loading: false,\n app,\n model: app.model,\n error: null,\n mode: \"aco\"\n };\n });\n });\n }, [id, inputModel?.modelId]);\n\n const { app, model, error, loading, mode } = state;\n\n const value = useMemo<AcoAppProviderContext>(() => {\n return {\n app: app as AcoApp,\n folderIdPath,\n folderIdInPath,\n loading,\n client,\n model: model as AcoModel,\n error,\n mode\n };\n }, [app?.id, loading, error, model, client, mode]);\n /**\n * Do not render anything yet if there is no application.\n */\n if (error) {\n return <div>Error: {error.message}</div>;\n } else if (loading) {\n return <CircularProgress />;\n } else if (!app) {\n return (\n <DisplayError>\n There is no ACO App: <strong>{id}</strong>!\n </DisplayError>\n );\n } else if (!model) {\n return (\n <DisplayError>\n There is no model for the ACO App: <strong>{id}</strong>!\n </DisplayError>\n );\n }\n\n return (\n <AcoAppContext.Provider value={value}>\n <FoldersContextProvider>\n <SearchRecordsContextProvider>\n <NavigateFolderWithRouterProvider\n folderIdQueryString={folderIdQueryString}\n createListLink={createNavigateFolderListLink}\n createStorageKey={createNavigateFolderStorageKey}\n >\n <AcoListProvider>\n <DialogsContextProvider>{children}</DialogsContextProvider>\n </AcoListProvider>\n </NavigateFolderWithRouterProvider>\n </SearchRecordsContextProvider>\n </FoldersContextProvider>\n </AcoAppContext.Provider>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_app","_folders","_records","_dialogs","_DisplayError","_navigateFolderWithRouter","_Progress","_acoList","AcoAppContext","React","createContext","undefined","exports","createApp","data","_objectSpread2","default","getFields","model","fields","createApiApp","console","error","dataField","find","f","fieldId","concat","id","_dataField$settings","settings","AcoAppProvider","_ref","children","client","inputModel","folderIdQueryString","createNavigateFolderListLink","createNavigateFolderStorageKey","initialFolderIdPath","folderIdPath","own","_useState","useState","loading","app","mode","_useState2","_slicedToArray2","state","setState","folderIdInPath","useEffect","_state$app","prev","query","createGetAppQuery","variables","then","response","_response$data$aco","_ref2","aco","message","code","modelId","value","useMemo","createElement","CircularProgress","DisplayError","Provider","FoldersProvider","SearchRecordsProvider","NavigateFolderWithRouterProvider","createListLink","createStorageKey","AcoListProvider","DialogsProvider"],"sources":["app.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\nimport { AcoApp, AcoAppMode, AcoError, AcoModel, AcoModelField } from \"~/types\";\nimport { createGetAppQuery, GetAppResult, GetAppVariables } from \"~/graphql/app.gql\";\nimport { FoldersProvider as FoldersContextProvider } from \"./folders\";\nimport { SearchRecordsProvider as SearchRecordsContextProvider } from \"./records\";\nimport { DialogsProvider as DialogsContextProvider } from \"../dialogs\";\nimport { DisplayError } from \"./DisplayError\";\nimport { ApolloClient } from \"apollo-client\";\nimport { NavigateFolderWithRouterProvider } from \"~/contexts/navigateFolderWithRouter\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { AcoListProvider } from \"~/contexts/acoList\";\n\nexport interface AcoAppProviderContext {\n app: AcoApp;\n folderIdPath: string;\n folderIdInPath: string;\n model: AcoModel;\n client: ApolloClient<any>;\n loading: boolean;\n error?: AcoError | null;\n mode: AcoAppMode;\n}\n\ninterface AcoAppProviderState {\n loading: boolean;\n app?: AcoApp | null;\n model?: AcoModel | null;\n error?: AcoError | null;\n mode: AcoAppMode;\n}\n\nexport const AcoAppContext = React.createContext<AcoAppProviderContext | undefined>(undefined);\n\ninterface BaseAcoAppProviderProps {\n children: React.ReactNode;\n id: string;\n folderIdPath?: string;\n folderIdQueryString?: string;\n client: ApolloClient<any>;\n createNavigateFolderListLink?: () => string;\n createNavigateFolderStorageKey: () => string;\n own?: boolean;\n}\n\nexport interface AcoAppProviderPropsApi extends BaseAcoAppProviderProps {\n model?: never;\n getFields?: never;\n}\n\nexport interface AcoAppProviderPropsManual extends BaseAcoAppProviderProps {\n model: AcoModel;\n getFields?: () => AcoModelField[];\n}\n\nexport type AcoAppProviderProps = AcoAppProviderPropsApi | AcoAppProviderPropsManual;\n\ninterface CreateAppParams {\n id: string;\n model: AcoModel;\n getFields?: () => AcoModelField[];\n}\n\nconst createApp = (data: CreateAppParams): AcoApp => {\n return {\n ...data,\n getFields:\n data.getFields ||\n (() => {\n return data.model.fields;\n })\n };\n};\n\ninterface CreateApiAppParams {\n id: string;\n model: AcoModel;\n}\n\nconst createApiApp = (data: CreateApiAppParams | null): AcoApp | null => {\n if (!data) {\n console.error(`The APP could not be created. No data received.`);\n return null;\n }\n const dataField = data.model.fields.find(f => f.fieldId === \"data\");\n if (!dataField) {\n console.error(`The APP \"${data.id}\" does not have the data field.`);\n return null;\n }\n return {\n ...data,\n getFields: () => {\n return dataField?.settings?.fields || [];\n }\n };\n};\n\nexport const AcoAppProvider: React.VFC<AcoAppProviderProps> = ({\n children,\n id,\n client,\n model: inputModel,\n getFields,\n folderIdQueryString,\n createNavigateFolderListLink,\n createNavigateFolderStorageKey,\n folderIdPath: initialFolderIdPath,\n own\n}) => {\n const [state, setState] = useState<AcoAppProviderState>({\n loading: false,\n app: null,\n model: null,\n error: null,\n mode: \"aco\"\n });\n const folderIdPath = initialFolderIdPath || \"location.folderId\";\n const folderIdInPath = folderIdPath + \"_in\";\n\n /**\n * The APP Provider can operate in two modes:\n * * `app` - when the `id` is provided, the app is fetched from the API\n * * `model` - when the `model` is provided, the app is created from the model\n */\n useEffect(() => {\n if (!id) {\n return;\n }\n /**\n * In the `model` mode, we don't need to fetch the app from the API.\n * BUT, the input model must be `undefined`. In case it's `null`, just return because there will be a model at a point.\n */\n if (inputModel !== undefined) {\n if (!inputModel) {\n return;\n }\n setState(prev => {\n return {\n ...prev,\n loading: false,\n model: inputModel,\n app: createApp({\n id,\n model: inputModel,\n getFields\n }),\n mode: \"cms\"\n };\n });\n return;\n }\n if (id === state.app?.id) {\n return;\n }\n setState(prev => {\n return {\n ...prev,\n loading: true\n };\n });\n client\n .query<GetAppResult, GetAppVariables>({\n query: createGetAppQuery(),\n variables: {\n id\n }\n })\n .then(response => {\n const { data, error } = response.data.aco?.app || {};\n\n if (error) {\n setState(prev => {\n return {\n ...prev,\n loading: false,\n app: null,\n model: null,\n error,\n mode: \"aco\"\n };\n });\n return;\n }\n\n setState(prev => {\n const app = createApiApp(data);\n if (!app) {\n return {\n ...prev,\n loading: false,\n app: null,\n model: null,\n mode: \"aco\",\n error: {\n message: `App \"${id}\" not found!`,\n code: \"APP_NOT_FOUND\"\n }\n };\n }\n return {\n ...prev,\n loading: false,\n app,\n model: app.model,\n error: null,\n mode: \"aco\"\n };\n });\n });\n }, [id, inputModel?.modelId]);\n\n const { app, model, error, loading, mode } = state;\n\n const value = useMemo<AcoAppProviderContext>(() => {\n return {\n app: app as AcoApp,\n folderIdPath,\n folderIdInPath,\n loading,\n client,\n model: model as AcoModel,\n error,\n mode\n };\n }, [app?.id, loading, error, model, client, mode]);\n /**\n * Do not render anything yet if there is no application.\n */\n if (error) {\n return <div>Error: {error.message}</div>;\n } else if (loading) {\n return <CircularProgress />;\n } else if (!app) {\n return (\n <DisplayError>\n There is no ACO App: <strong>{id}</strong>!\n </DisplayError>\n );\n } else if (!model) {\n return (\n <DisplayError>\n There is no model for the ACO App: <strong>{id}</strong>!\n </DisplayError>\n );\n }\n\n return (\n <AcoAppContext.Provider value={value}>\n <FoldersContextProvider>\n <SearchRecordsContextProvider>\n <NavigateFolderWithRouterProvider\n folderIdQueryString={folderIdQueryString}\n createListLink={createNavigateFolderListLink}\n createStorageKey={createNavigateFolderStorageKey}\n >\n <AcoListProvider own={own}>\n <DialogsContextProvider>{children}</DialogsContextProvider>\n </AcoListProvider>\n </NavigateFolderWithRouterProvider>\n </SearchRecordsContextProvider>\n </FoldersContextProvider>\n </AcoAppContext.Provider>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AAEA,IAAAM,yBAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AAqBO,IAAMS,aAAa,gBAAGC,cAAK,CAACC,aAAa,CAAoCC,SAAS,CAAC;AAACC,OAAA,CAAAJ,aAAA,GAAAA,aAAA;AA+B/F,IAAMK,SAAS,GAAG,SAAZA,SAASA,CAAIC,IAAqB,EAAa;EACjD,WAAAC,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACOF,IAAI;IACPG,SAAS,EACLH,IAAI,CAACG,SAAS,IACb,YAAM;MACH,OAAOH,IAAI,CAACI,KAAK,CAACC,MAAM;IAC5B;EAAE;AAEd,CAAC;AAOD,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIN,IAA+B,EAAoB;EACrE,IAAI,CAACA,IAAI,EAAE;IACPO,OAAO,CAACC,KAAK,kDAAkD,CAAC;IAChE,OAAO,IAAI;EACf;EACA,IAAMC,SAAS,GAAGT,IAAI,CAACI,KAAK,CAACC,MAAM,CAACK,IAAI,CAAC,UAAAC,CAAC;IAAA,OAAIA,CAAC,CAACC,OAAO,KAAK,MAAM;EAAA,EAAC;EACnE,IAAI,CAACH,SAAS,EAAE;IACZF,OAAO,CAACC,KAAK,cAAAK,MAAA,CAAab,IAAI,CAACc,EAAE,qCAAiC,CAAC;IACnE,OAAO,IAAI;EACf;EACA,WAAAb,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACOF,IAAI;IACPG,SAAS,EAAE,SAAAA,UAAA,EAAM;MAAA,IAAAY,mBAAA;MACb,OAAO,CAAAN,SAAS,aAATA,SAAS,wBAAAM,mBAAA,GAATN,SAAS,CAAEO,QAAQ,cAAAD,mBAAA,uBAAnBA,mBAAA,CAAqBV,MAAM,KAAI,EAAE;IAC5C;EAAC;AAET,CAAC;AAEM,IAAMY,cAA8C,GAAG,SAAjDA,cAA8CA,CAAAC,IAAA,EAWrD;EAAA,IAVFC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRL,EAAE,GAAAI,IAAA,CAAFJ,EAAE;IACFM,MAAM,GAAAF,IAAA,CAANE,MAAM;IACCC,UAAU,GAAAH,IAAA,CAAjBd,KAAK;IACLD,SAAS,GAAAe,IAAA,CAATf,SAAS;IACTmB,mBAAmB,GAAAJ,IAAA,CAAnBI,mBAAmB;IACnBC,4BAA4B,GAAAL,IAAA,CAA5BK,4BAA4B;IAC5BC,8BAA8B,GAAAN,IAAA,CAA9BM,8BAA8B;IAChBC,mBAAmB,GAAAP,IAAA,CAAjCQ,YAAY;IACZC,GAAG,GAAAT,IAAA,CAAHS,GAAG;EAEH,IAAAC,SAAA,GAA0B,IAAAC,eAAQ,EAAsB;MACpDC,OAAO,EAAE,KAAK;MACdC,GAAG,EAAE,IAAI;MACT3B,KAAK,EAAE,IAAI;MACXI,KAAK,EAAE,IAAI;MACXwB,IAAI,EAAE;IACV,CAAC,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAhC,OAAA,EAAA0B,SAAA;IANKO,KAAK,GAAAF,UAAA;IAAEG,QAAQ,GAAAH,UAAA;EAOtB,IAAMP,YAAY,GAAGD,mBAAmB,IAAI,mBAAmB;EAC/D,IAAMY,cAAc,GAAGX,YAAY,GAAG,KAAK;;EAE3C;AACJ;AACA;AACA;AACA;EACI,IAAAY,gBAAS,EAAC,YAAM;IAAA,IAAAC,UAAA;IACZ,IAAI,CAACzB,EAAE,EAAE;MACL;IACJ;IACA;AACR;AACA;AACA;IACQ,IAAIO,UAAU,KAAKxB,SAAS,EAAE;MAC1B,IAAI,CAACwB,UAAU,EAAE;QACb;MACJ;MACAe,QAAQ,CAAC,UAAAI,IAAI,EAAI;QACb,WAAAvC,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACOsC,IAAI;UACPV,OAAO,EAAE,KAAK;UACd1B,KAAK,EAAEiB,UAAU;UACjBU,GAAG,EAAEhC,SAAS,CAAC;YACXe,EAAE,EAAFA,EAAE;YACFV,KAAK,EAAEiB,UAAU;YACjBlB,SAAS,EAATA;UACJ,CAAC,CAAC;UACF6B,IAAI,EAAE;QAAK;MAEnB,CAAC,CAAC;MACF;IACJ;IACA,IAAIlB,EAAE,OAAAyB,UAAA,GAAKJ,KAAK,CAACJ,GAAG,cAAAQ,UAAA,uBAATA,UAAA,CAAWzB,EAAE,GAAE;MACtB;IACJ;IACAsB,QAAQ,CAAC,UAAAI,IAAI,EAAI;MACb,WAAAvC,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACOsC,IAAI;QACPV,OAAO,EAAE;MAAI;IAErB,CAAC,CAAC;IACFV,MAAM,CACDqB,KAAK,CAAgC;MAClCA,KAAK,EAAE,IAAAC,sBAAiB,EAAC,CAAC;MAC1BC,SAAS,EAAE;QACP7B,EAAE,EAAFA;MACJ;IACJ,CAAC,CAAC,CACD8B,IAAI,CAAC,UAAAC,QAAQ,EAAI;MAAA,IAAAC,kBAAA;MACd,IAAAC,KAAA,GAAwB,EAAAD,kBAAA,GAAAD,QAAQ,CAAC7C,IAAI,CAACgD,GAAG,cAAAF,kBAAA,uBAAjBA,kBAAA,CAAmBf,GAAG,KAAI,CAAC,CAAC;QAA5C/B,IAAI,GAAA+C,KAAA,CAAJ/C,IAAI;QAAEQ,KAAK,GAAAuC,KAAA,CAALvC,KAAK;MAEnB,IAAIA,KAAK,EAAE;QACP4B,QAAQ,CAAC,UAAAI,IAAI,EAAI;UACb,WAAAvC,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACOsC,IAAI;YACPV,OAAO,EAAE,KAAK;YACdC,GAAG,EAAE,IAAI;YACT3B,KAAK,EAAE,IAAI;YACXI,KAAK,EAALA,KAAK;YACLwB,IAAI,EAAE;UAAK;QAEnB,CAAC,CAAC;QACF;MACJ;MAEAI,QAAQ,CAAC,UAAAI,IAAI,EAAI;QACb,IAAMT,GAAG,GAAGzB,YAAY,CAACN,IAAI,CAAC;QAC9B,IAAI,CAAC+B,GAAG,EAAE;UACN,WAAA9B,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACOsC,IAAI;YACPV,OAAO,EAAE,KAAK;YACdC,GAAG,EAAE,IAAI;YACT3B,KAAK,EAAE,IAAI;YACX4B,IAAI,EAAE,KAAK;YACXxB,KAAK,EAAE;cACHyC,OAAO,WAAApC,MAAA,CAAUC,EAAE,kBAAc;cACjCoC,IAAI,EAAE;YACV;UAAC;QAET;QACA,WAAAjD,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACOsC,IAAI;UACPV,OAAO,EAAE,KAAK;UACdC,GAAG,EAAHA,GAAG;UACH3B,KAAK,EAAE2B,GAAG,CAAC3B,KAAK;UAChBI,KAAK,EAAE,IAAI;UACXwB,IAAI,EAAE;QAAK;MAEnB,CAAC,CAAC;IACN,CAAC,CAAC;EACV,CAAC,EAAE,CAAClB,EAAE,EAAEO,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE8B,OAAO,CAAC,CAAC;EAE7B,IAAQpB,GAAG,GAAkCI,KAAK,CAA1CJ,GAAG;IAAE3B,KAAK,GAA2B+B,KAAK,CAArC/B,KAAK;IAAEI,KAAK,GAAoB2B,KAAK,CAA9B3B,KAAK;IAAEsB,OAAO,GAAWK,KAAK,CAAvBL,OAAO;IAAEE,IAAI,GAAKG,KAAK,CAAdH,IAAI;EAExC,IAAMoB,KAAK,GAAG,IAAAC,cAAO,EAAwB,YAAM;IAC/C,OAAO;MACHtB,GAAG,EAAEA,GAAa;MAClBL,YAAY,EAAZA,YAAY;MACZW,cAAc,EAAdA,cAAc;MACdP,OAAO,EAAPA,OAAO;MACPV,MAAM,EAANA,MAAM;MACNhB,KAAK,EAAEA,KAAiB;MACxBI,KAAK,EAALA,KAAK;MACLwB,IAAI,EAAJA;IACJ,CAAC;EACL,CAAC,EAAE,CAACD,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEjB,EAAE,EAAEgB,OAAO,EAAEtB,KAAK,EAAEJ,KAAK,EAAEgB,MAAM,EAAEY,IAAI,CAAC,CAAC;EAClD;AACJ;AACA;EACI,IAAIxB,KAAK,EAAE;IACP,oBAAOzB,MAAA,CAAAmB,OAAA,CAAAoD,aAAA,cAAK,SAAO,EAAC9C,KAAK,CAACyC,OAAa,CAAC;EAC5C,CAAC,MAAM,IAAInB,OAAO,EAAE;IAChB,oBAAO/C,MAAA,CAAAmB,OAAA,CAAAoD,aAAA,CAAC9D,SAAA,CAAA+D,gBAAgB,MAAE,CAAC;EAC/B,CAAC,MAAM,IAAI,CAACxB,GAAG,EAAE;IACb,oBACIhD,MAAA,CAAAmB,OAAA,CAAAoD,aAAA,CAAChE,aAAA,CAAAkE,YAAY,QAAC,uBACW,eAAAzE,MAAA,CAAAmB,OAAA,CAAAoD,aAAA,iBAASxC,EAAW,CAAC,KAChC,CAAC;EAEvB,CAAC,MAAM,IAAI,CAACV,KAAK,EAAE;IACf,oBACIrB,MAAA,CAAAmB,OAAA,CAAAoD,aAAA,CAAChE,aAAA,CAAAkE,YAAY,QAAC,qCACyB,eAAAzE,MAAA,CAAAmB,OAAA,CAAAoD,aAAA,iBAASxC,EAAW,CAAC,KAC9C,CAAC;EAEvB;EAEA,oBACI/B,MAAA,CAAAmB,OAAA,CAAAoD,aAAA,CAAC5D,aAAa,CAAC+D,QAAQ;IAACL,KAAK,EAAEA;EAAM,gBACjCrE,MAAA,CAAAmB,OAAA,CAAAoD,aAAA,CAACnE,QAAA,CAAAuE,eAAsB,qBACnB3E,MAAA,CAAAmB,OAAA,CAAAoD,aAAA,CAAClE,QAAA,CAAAuE,qBAA4B,qBACzB5E,MAAA,CAAAmB,OAAA,CAAAoD,aAAA,CAAC/D,yBAAA,CAAAqE,gCAAgC;IAC7BtC,mBAAmB,EAAEA,mBAAoB;IACzCuC,cAAc,EAAEtC,4BAA6B;IAC7CuC,gBAAgB,EAAEtC;EAA+B,gBAEjDzC,MAAA,CAAAmB,OAAA,CAAAoD,aAAA,CAAC7D,QAAA,CAAAsE,eAAe;IAACpC,GAAG,EAAEA;EAAI,gBACtB5C,MAAA,CAAAmB,OAAA,CAAAoD,aAAA,CAACjE,QAAA,CAAA2E,eAAsB,QAAE7C,QAAiC,CAC7C,CACa,CACR,CACV,CACJ,CAAC;AAEjC,CAAC;AAACrB,OAAA,CAAAmB,cAAA,GAAAA,cAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-aco",
3
- "version": "0.0.0-unstable.8feaff8c32",
3
+ "version": "0.0.0-unstable.98511f29f1",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,15 +17,16 @@
17
17
  "@material-design-icons/svg": "0.12.1",
18
18
  "@material-symbols/svg-400": "0.4.3",
19
19
  "@minoru/react-dnd-treeview": "3.2.1",
20
- "@webiny/app": "0.0.0-unstable.8feaff8c32",
21
- "@webiny/app-admin": "0.0.0-unstable.8feaff8c32",
22
- "@webiny/app-headless-cms-common": "0.0.0-unstable.8feaff8c32",
23
- "@webiny/form": "0.0.0-unstable.8feaff8c32",
24
- "@webiny/plugins": "0.0.0-unstable.8feaff8c32",
25
- "@webiny/react-router": "0.0.0-unstable.8feaff8c32",
26
- "@webiny/ui": "0.0.0-unstable.8feaff8c32",
27
- "@webiny/utils": "0.0.0-unstable.8feaff8c32",
28
- "@webiny/validation": "0.0.0-unstable.8feaff8c32",
20
+ "@webiny/app": "0.0.0-unstable.98511f29f1",
21
+ "@webiny/app-admin": "0.0.0-unstable.98511f29f1",
22
+ "@webiny/app-headless-cms-common": "0.0.0-unstable.98511f29f1",
23
+ "@webiny/app-security": "0.0.0-unstable.98511f29f1",
24
+ "@webiny/form": "0.0.0-unstable.98511f29f1",
25
+ "@webiny/plugins": "0.0.0-unstable.98511f29f1",
26
+ "@webiny/react-router": "0.0.0-unstable.98511f29f1",
27
+ "@webiny/ui": "0.0.0-unstable.98511f29f1",
28
+ "@webiny/utils": "0.0.0-unstable.98511f29f1",
29
+ "@webiny/validation": "0.0.0-unstable.98511f29f1",
29
30
  "dot-prop-immutable": "2.1.1",
30
31
  "graphql": "15.8.0",
31
32
  "graphql-tag": "2.12.6",
@@ -44,8 +45,8 @@
44
45
  "@babel/preset-typescript": "7.22.5",
45
46
  "@babel/runtime": "7.22.6",
46
47
  "@types/react": "17.0.39",
47
- "@webiny/cli": "0.0.0-unstable.8feaff8c32",
48
- "@webiny/project-utils": "0.0.0-unstable.8feaff8c32",
48
+ "@webiny/cli": "0.0.0-unstable.98511f29f1",
49
+ "@webiny/project-utils": "0.0.0-unstable.98511f29f1",
49
50
  "apollo-client": "2.6.10",
50
51
  "apollo-link": "1.2.14",
51
52
  "rimraf": "3.0.2",
@@ -60,5 +61,5 @@
60
61
  "build": "yarn webiny run build",
61
62
  "watch": "yarn webiny run watch"
62
63
  },
63
- "gitHead": "8feaff8c32ad81701938e9e3eadd836c8eb2fcb1"
64
+ "gitHead": "98511f29f1e1fc7d03ed0d1379d0a0aeff6dae84"
64
65
  }