@webiny/app-aco 5.37.4 → 5.37.5-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -30,5 +30,6 @@ export interface State {
30
30
  export interface AcoListProviderProps {
31
31
  children: React.ReactNode;
32
32
  own?: boolean;
33
+ titleFieldId: string | null;
33
34
  }
34
35
  export declare const AcoListProvider: React.VFC<AcoListProviderProps>;
@@ -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
- return (0, _sorting.sortTableItems)(prev, state.listSort);
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
 
@@ -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;
@@ -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.4",
3
+ "version": "5.37.5-beta.0",
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.4",
21
- "@webiny/app-admin": "5.37.4",
22
- "@webiny/app-headless-cms-common": "5.37.4",
23
- "@webiny/app-security": "5.37.4",
24
- "@webiny/form": "5.37.4",
25
- "@webiny/plugins": "5.37.4",
26
- "@webiny/react-router": "5.37.4",
27
- "@webiny/ui": "5.37.4",
28
- "@webiny/utils": "5.37.4",
29
- "@webiny/validation": "5.37.4",
20
+ "@webiny/app": "5.37.5-beta.0",
21
+ "@webiny/app-admin": "5.37.5-beta.0",
22
+ "@webiny/app-headless-cms-common": "5.37.5-beta.0",
23
+ "@webiny/app-security": "5.37.5-beta.0",
24
+ "@webiny/form": "5.37.5-beta.0",
25
+ "@webiny/plugins": "5.37.5-beta.0",
26
+ "@webiny/react-router": "5.37.5-beta.0",
27
+ "@webiny/ui": "5.37.5-beta.0",
28
+ "@webiny/utils": "5.37.5-beta.0",
29
+ "@webiny/validation": "5.37.5-beta.0",
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.4",
49
- "@webiny/project-utils": "5.37.4",
48
+ "@webiny/cli": "5.37.5-beta.0",
49
+ "@webiny/project-utils": "5.37.5-beta.0",
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": "be5b7d29a08583657ab5abfc89bdc9512c975116"
64
+ "gitHead": "8743fd6e95c61ab2c3f65a5d856865676566ae9c"
65
65
  }