@webiny/app-aco 5.37.4 → 5.37.5-beta.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.
- package/contexts/acoList.d.ts +1 -0
- package/contexts/acoList.js +3 -1
- package/contexts/acoList.js.map +1 -1
- package/contexts/app.js +2 -1
- package/contexts/app.js.map +1 -1
- package/package.json +14 -14
package/contexts/acoList.d.ts
CHANGED
package/contexts/acoList.js
CHANGED
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.AcoListProvider = exports.AcoListContext = void 0;
|
|
9
9
|
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
10
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
12
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
12
13
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
14
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
@@ -169,7 +170,8 @@ var AcoListProvider = function AcoListProvider(_ref) {
|
|
|
169
170
|
*/
|
|
170
171
|
(0, _react.useEffect)(function () {
|
|
171
172
|
setFolders(function (prev) {
|
|
172
|
-
|
|
173
|
+
var titleField = (props === null || props === void 0 ? void 0 : props.titleFieldId) || "id";
|
|
174
|
+
return (0, _sorting.sortTableItems)(prev, state.listSort, (0, _defineProperty2.default)({}, titleField, "title"));
|
|
173
175
|
});
|
|
174
176
|
}, [state.listSort]);
|
|
175
177
|
|
package/contexts/acoList.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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","_useReducer","useReducer","state","newState","_objectSpread2","_useReducer2","setState","originalFolders","foldersLoading","loading","listFolders","getDescendantFolders","originalRecords","recordsLoading","listRecords","meta","useEffect","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, useReducer, 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] = useReducer(\n (state: State, newState: Partial<State>) => ({\n ...state,\n ...newState\n }),\n initializeAcoListState()\n );\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({\n after: undefined,\n filters: undefined,\n folderId: currentFolderId,\n isSearch: false,\n searchQuery: \"\",\n showingFilters: false\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({ after: cursor });\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({ isSearch });\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({ searchQuery: query, after: undefined });\n },\n setFilters(data) {\n setState({ filters: data, after: undefined });\n },\n setListSort(sort: ListSearchRecordsSort) {\n setState({ listSort: sort, after: undefined });\n },\n hideFilters() {\n setState({ filters: undefined, showingFilters: false, after: undefined });\n },\n showFilters() {\n setState({ showingFilters: true });\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","_useReducer","useReducer","state","newState","_objectSpread2","_useReducer2","setState","originalFolders","foldersLoading","loading","listFolders","getDescendantFolders","originalRecords","recordsLoading","listRecords","meta","useEffect","currentFolder","find","id","title","subFolders","sortTableItems","subRecords","prev","titleField","titleFieldId","_defineProperty2","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, useReducer, 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 titleFieldId: string | null;\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] = useReducer(\n (state: State, newState: Partial<State>) => ({\n ...state,\n ...newState\n }),\n initializeAcoListState()\n );\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({\n after: undefined,\n filters: undefined,\n folderId: currentFolderId,\n isSearch: false,\n searchQuery: \"\",\n showingFilters: false\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 const titleField = props?.titleFieldId || \"id\";\n return sortTableItems(prev, state.listSort, {\n [titleField]: \"title\"\n });\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({ after: cursor });\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({ isSearch });\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({ searchQuery: query, after: undefined });\n },\n setFilters(data) {\n setState({ filters: data, after: undefined });\n },\n setListSort(sort: ListSearchRecordsSort) {\n setState({ listSort: sort, after: undefined });\n },\n hideFilters() {\n setState({ filters: undefined, showingFilters: false, after: undefined });\n },\n showFilters() {\n setState({ showingFilters: true });\n },\n listMoreRecords\n };\n\n return <AcoListContext.Provider value={context}>{children}</AcoListContext.Provider>;\n};\n"],"mappings":"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"}
|
package/contexts/app.js
CHANGED
|
@@ -191,7 +191,8 @@ var AcoAppProvider = function AcoAppProvider(_ref) {
|
|
|
191
191
|
createListLink: createNavigateFolderListLink,
|
|
192
192
|
createStorageKey: createNavigateFolderStorageKey
|
|
193
193
|
}, /*#__PURE__*/_react.default.createElement(_acoList.AcoListProvider, {
|
|
194
|
-
own: own
|
|
194
|
+
own: own,
|
|
195
|
+
titleFieldId: model.titleFieldId
|
|
195
196
|
}, /*#__PURE__*/_react.default.createElement(_dialogs.DialogsProvider, null, children))))));
|
|
196
197
|
};
|
|
197
198
|
exports.AcoAppProvider = AcoAppProvider;
|
package/contexts/app.js.map
CHANGED
|
@@ -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","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":"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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","titleFieldId","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} titleFieldId={model.titleFieldId}>\n <DialogsContextProvider>{children}</DialogsContextProvider>\n </AcoListProvider>\n </NavigateFolderWithRouterProvider>\n </SearchRecordsContextProvider>\n </FoldersContextProvider>\n </AcoAppContext.Provider>\n );\n};\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-aco",
|
|
3
|
-
"version": "5.37.
|
|
3
|
+
"version": "5.37.5-beta.1",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,16 +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": "5.37.
|
|
21
|
-
"@webiny/app-admin": "5.37.
|
|
22
|
-
"@webiny/app-headless-cms-common": "5.37.
|
|
23
|
-
"@webiny/app-security": "5.37.
|
|
24
|
-
"@webiny/form": "5.37.
|
|
25
|
-
"@webiny/plugins": "5.37.
|
|
26
|
-
"@webiny/react-router": "5.37.
|
|
27
|
-
"@webiny/ui": "5.37.
|
|
28
|
-
"@webiny/utils": "5.37.
|
|
29
|
-
"@webiny/validation": "5.37.
|
|
20
|
+
"@webiny/app": "5.37.5-beta.1",
|
|
21
|
+
"@webiny/app-admin": "5.37.5-beta.1",
|
|
22
|
+
"@webiny/app-headless-cms-common": "5.37.5-beta.1",
|
|
23
|
+
"@webiny/app-security": "5.37.5-beta.1",
|
|
24
|
+
"@webiny/form": "5.37.5-beta.1",
|
|
25
|
+
"@webiny/plugins": "5.37.5-beta.1",
|
|
26
|
+
"@webiny/react-router": "5.37.5-beta.1",
|
|
27
|
+
"@webiny/ui": "5.37.5-beta.1",
|
|
28
|
+
"@webiny/utils": "5.37.5-beta.1",
|
|
29
|
+
"@webiny/validation": "5.37.5-beta.1",
|
|
30
30
|
"dot-prop-immutable": "2.1.1",
|
|
31
31
|
"graphql": "15.8.0",
|
|
32
32
|
"graphql-tag": "2.12.6",
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"@babel/preset-typescript": "7.22.5",
|
|
46
46
|
"@babel/runtime": "7.22.6",
|
|
47
47
|
"@types/react": "17.0.39",
|
|
48
|
-
"@webiny/cli": "5.37.
|
|
49
|
-
"@webiny/project-utils": "5.37.
|
|
48
|
+
"@webiny/cli": "5.37.5-beta.1",
|
|
49
|
+
"@webiny/project-utils": "5.37.5-beta.1",
|
|
50
50
|
"apollo-client": "2.6.10",
|
|
51
51
|
"apollo-link": "1.2.14",
|
|
52
52
|
"rimraf": "3.0.2",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"build": "yarn webiny run build",
|
|
62
62
|
"watch": "yarn webiny run watch"
|
|
63
63
|
},
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "88829ab0c5d875491d6b260f184b7b7fe3a6d449"
|
|
65
65
|
}
|