@webiny/app-headless-cms 5.41.1 → 5.41.2-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.
Files changed (54) hide show
  1. package/ContentEntryEditorConfig.d.ts +19 -0
  2. package/ContentEntryEditorConfig.js +2 -0
  3. package/ContentEntryEditorConfig.js.map +1 -1
  4. package/admin/components/ContentEntries/BottomInfoBar/BottomInfoBar.d.ts +8 -0
  5. package/admin/components/ContentEntries/BottomInfoBar/BottomInfoBar.js +19 -0
  6. package/admin/components/ContentEntries/BottomInfoBar/BottomInfoBar.js.map +1 -0
  7. package/admin/components/ContentEntries/BottomInfoBar/BottomInfoBar.styled.d.ts +9 -0
  8. package/admin/components/ContentEntries/BottomInfoBar/BottomInfoBar.styled.js +39 -0
  9. package/admin/components/ContentEntries/BottomInfoBar/BottomInfoBar.styled.js.map +1 -0
  10. package/admin/components/ContentEntries/BottomInfoBar/ListMeta.d.ts +7 -0
  11. package/admin/components/ContentEntries/BottomInfoBar/ListMeta.js +20 -0
  12. package/admin/components/ContentEntries/BottomInfoBar/ListMeta.js.map +1 -0
  13. package/admin/components/ContentEntries/BottomInfoBar/index.d.ts +1 -0
  14. package/admin/components/ContentEntries/BottomInfoBar/index.js +18 -0
  15. package/admin/components/ContentEntries/BottomInfoBar/index.js.map +1 -0
  16. package/admin/components/ContentEntries/LoadingMore/styled.js +6 -6
  17. package/admin/components/ContentEntries/LoadingMore/styled.js.map +1 -1
  18. package/admin/components/ContentEntries/Table/index.js +2 -1
  19. package/admin/components/ContentEntries/Table/index.js.map +1 -1
  20. package/admin/components/ContentEntries/Table/styled.d.ts +4 -3
  21. package/admin/components/ContentEntries/Table/styled.js +8 -11
  22. package/admin/components/ContentEntries/Table/styled.js.map +1 -1
  23. package/admin/components/ContentEntryForm/ContentEntryFormProvider.d.ts +2 -2
  24. package/admin/components/ContentEntryForm/ContentEntryFormProvider.js +9 -4
  25. package/admin/components/ContentEntryForm/ContentEntryFormProvider.js.map +1 -1
  26. package/admin/components/ContentEntryForm/DefaultLayout.d.ts +20 -3
  27. package/admin/components/ContentEntryForm/DefaultLayout.js +3 -2
  28. package/admin/components/ContentEntryForm/DefaultLayout.js.map +1 -1
  29. package/admin/components/Decorators/ShowConfirmationOnDelete.js +4 -3
  30. package/admin/components/Decorators/ShowConfirmationOnDelete.js.map +1 -1
  31. package/admin/components/Decorators/ShowConfirmationOnDeleteRevision.js +4 -3
  32. package/admin/components/Decorators/ShowConfirmationOnDeleteRevision.js.map +1 -1
  33. package/admin/components/Decorators/ShowConfirmationOnPublish.js +4 -3
  34. package/admin/components/Decorators/ShowConfirmationOnPublish.js.map +1 -1
  35. package/admin/components/Decorators/ShowConfirmationOnUnpublish.js +4 -3
  36. package/admin/components/Decorators/ShowConfirmationOnUnpublish.js.map +1 -1
  37. package/admin/components/FieldEditor/Field.js +11 -10
  38. package/admin/components/FieldEditor/Field.js.map +1 -1
  39. package/admin/contexts/Cms/index.d.ts +1 -1
  40. package/admin/contexts/Cms/index.js.map +1 -1
  41. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +3 -2
  42. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -1
  43. package/admin/plugins/routes.js +5 -12
  44. package/admin/plugins/routes.js.map +1 -1
  45. package/admin/views/contentEntries/ContentEntries.js +2 -1
  46. package/admin/views/contentEntries/ContentEntries.js.map +1 -1
  47. package/admin/views/contentEntries/ContentEntriesDebounceRender.d.ts +15 -0
  48. package/admin/views/contentEntries/ContentEntriesDebounceRender.js +49 -0
  49. package/admin/views/contentEntries/ContentEntriesDebounceRender.js.map +1 -0
  50. package/admin/views/contentEntries/ContentEntry/RevisionsList/useRevision.js +3 -2
  51. package/admin/views/contentEntries/ContentEntry/RevisionsList/useRevision.js.map +1 -1
  52. package/admin/views/contentEntries/Table/Main.js +6 -1
  53. package/admin/views/contentEntries/Table/Main.js.map +1 -1
  54. package/package.json +28 -28
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactRouter","_useHandlers2","_useSnackbar2","_useContentEntry","useRevision","exports","_ref","revision","contentEntry","useContentEntry","_useRouter","useRouter","history","_useSnackbar","useSnackbar","showSnackbar","contentModel","modelId","_useHandlers","useHandlers","entry","contentEntryHook","createRevision","_ref2","id","_await$contentEntryHo","createEntryRevisionFrom","error","message","push","concat","encodeURIComponent","editRevision","deleteRevision","_ref3","revisionId","response","deleteEntryRevision","newLatestRevision","redirectTarget","publishRevision","_ref4","publishEntryRevision","default","createElement","meta","version","unpublishRevision","_ref5","_await$contentEntryHo2","unpublishEntryRevision"],"sources":["useRevision.tsx"],"sourcesContent":["import React from \"react\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useHandlers } from \"@webiny/app/hooks/useHandlers\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { CmsContentEntry } from \"~/types\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport { PublishEntryRevisionResponse } from \"~/admin/contexts/Cms\";\n\nexport interface CreateRevisionHandler {\n (id?: string): Promise<void>;\n}\n\nexport interface EditRevisionHandler {\n (id?: string): void;\n}\n\nexport interface DeleteRevisionHandler {\n (id?: string): Promise<void>;\n}\n\nexport interface PublishRevisionHandler {\n (id?: string): Promise<PublishEntryRevisionResponse>;\n}\n\nexport interface UnpublishRevisionHandler {\n (id?: string): Promise<void>;\n}\n\ninterface UseRevisionHandlers {\n createRevision: CreateRevisionHandler;\n editRevision: EditRevisionHandler;\n deleteRevision: DeleteRevisionHandler;\n publishRevision: PublishRevisionHandler;\n unpublishRevision: UnpublishRevisionHandler;\n}\n\nexport interface UseRevisionProps {\n revision: Pick<CmsContentEntry, \"id\"> & {\n meta: Pick<CmsContentEntry[\"meta\"], \"version\">;\n };\n}\n\nexport const useRevision = ({ revision }: UseRevisionProps) => {\n const contentEntry = useContentEntry();\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const { contentModel } = contentEntry;\n const { modelId } = contentModel;\n\n const { createRevision, editRevision, deleteRevision, publishRevision, unpublishRevision } =\n useHandlers<UseRevisionHandlers>(\n { entry: revision, contentEntryHook: contentEntry },\n {\n createRevision:\n ({ contentEntryHook }): CreateRevisionHandler =>\n async (id): Promise<void> => {\n const { entry, error } = await contentEntryHook.createEntryRevisionFrom({\n id: id || revision.id\n });\n\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n history.push(\n `/cms/content-entries/${modelId}?id=${encodeURIComponent(entry.id)}`\n );\n },\n editRevision:\n (): EditRevisionHandler =>\n (id): void => {\n history.push(\n `/cms/content-entries/${modelId}/?id=${encodeURIComponent(\n id || revision.id\n )}`\n );\n },\n deleteRevision:\n ({ entry, contentEntryHook }): DeleteRevisionHandler =>\n async (id): Promise<void> => {\n const revisionId = id || entry.id;\n\n const response = await contentEntryHook.deleteEntryRevision({\n id: revisionId\n });\n\n if (typeof response === \"object\" && response.error) {\n return;\n }\n\n const { newLatestRevision } = response;\n\n let redirectTarget = `/cms/content-entries/${modelId}`;\n if (newLatestRevision) {\n // Redirect to the first revision in the list of all entry revisions.\n redirectTarget += `?id=${encodeURIComponent(newLatestRevision.id)}`;\n }\n\n history.push(redirectTarget);\n },\n publishRevision:\n ({ entry, contentEntryHook }): PublishRevisionHandler =>\n async id => {\n const response = await contentEntryHook.publishEntryRevision({\n id: id || entry.id\n });\n\n if (response.error) {\n showSnackbar(response.error.message);\n return response;\n }\n\n showSnackbar(\n <span>\n Successfully published revision{\" \"}\n <strong>#{response.entry.meta.version}</strong>!\n </span>\n );\n\n return response;\n },\n unpublishRevision:\n ({ entry, contentEntryHook }): UnpublishRevisionHandler =>\n async id => {\n const { error } = await contentEntryHook.unpublishEntryRevision({\n id: id || entry.id\n });\n\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n showSnackbar(\n <span>\n Successfully unpublished revision{\" \"}\n <strong>#{revision.meta.version}</strong>!\n </span>\n );\n }\n }\n );\n\n return {\n createRevision,\n editRevision,\n deleteRevision,\n publishRevision,\n unpublishRevision\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactRouter","_useHandlers2","_useSnackbar2","_useContentEntry","useRevision","exports","_ref","revision","contentEntry","useContentEntry","_useRouter","useRouter","history","_useSnackbar","useSnackbar","showSnackbar","showErrorSnackbar","contentModel","modelId","_useHandlers","useHandlers","entry","contentEntryHook","createRevision","_ref2","id","_await$contentEntryHo","createEntryRevisionFrom","error","message","push","concat","encodeURIComponent","editRevision","deleteRevision","_ref3","revisionId","response","deleteEntryRevision","newLatestRevision","redirectTarget","publishRevision","_ref4","publishEntryRevision","default","createElement","meta","version","unpublishRevision","_ref5","_await$contentEntryHo2","unpublishEntryRevision"],"sources":["useRevision.tsx"],"sourcesContent":["import React from \"react\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useHandlers } from \"@webiny/app/hooks/useHandlers\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { CmsContentEntry } from \"~/types\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport { PublishEntryRevisionResponse } from \"~/admin/contexts/Cms\";\n\nexport interface CreateRevisionHandler {\n (id?: string): Promise<void>;\n}\n\nexport interface EditRevisionHandler {\n (id?: string): void;\n}\n\nexport interface DeleteRevisionHandler {\n (id?: string): Promise<void>;\n}\n\nexport interface PublishRevisionHandler {\n (id?: string): Promise<PublishEntryRevisionResponse>;\n}\n\nexport interface UnpublishRevisionHandler {\n (id?: string): Promise<void>;\n}\n\ninterface UseRevisionHandlers {\n createRevision: CreateRevisionHandler;\n editRevision: EditRevisionHandler;\n deleteRevision: DeleteRevisionHandler;\n publishRevision: PublishRevisionHandler;\n unpublishRevision: UnpublishRevisionHandler;\n}\n\nexport interface UseRevisionProps {\n revision: Pick<CmsContentEntry, \"id\"> & {\n meta: Pick<CmsContentEntry[\"meta\"], \"version\">;\n };\n}\n\nexport const useRevision = ({ revision }: UseRevisionProps) => {\n const contentEntry = useContentEntry();\n const { history } = useRouter();\n const { showSnackbar, showErrorSnackbar } = useSnackbar();\n const { contentModel } = contentEntry;\n const { modelId } = contentModel;\n\n const { createRevision, editRevision, deleteRevision, publishRevision, unpublishRevision } =\n useHandlers<UseRevisionHandlers>(\n { entry: revision, contentEntryHook: contentEntry },\n {\n createRevision:\n ({ contentEntryHook }): CreateRevisionHandler =>\n async (id): Promise<void> => {\n const { entry, error } = await contentEntryHook.createEntryRevisionFrom({\n id: id || revision.id\n });\n\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n history.push(\n `/cms/content-entries/${modelId}?id=${encodeURIComponent(entry.id)}`\n );\n },\n editRevision:\n (): EditRevisionHandler =>\n (id): void => {\n history.push(\n `/cms/content-entries/${modelId}/?id=${encodeURIComponent(\n id || revision.id\n )}`\n );\n },\n deleteRevision:\n ({ entry, contentEntryHook }): DeleteRevisionHandler =>\n async (id): Promise<void> => {\n const revisionId = id || entry.id;\n\n const response = await contentEntryHook.deleteEntryRevision({\n id: revisionId\n });\n\n if (typeof response === \"object\" && response.error) {\n return;\n }\n\n const { newLatestRevision } = response;\n\n let redirectTarget = `/cms/content-entries/${modelId}`;\n if (newLatestRevision) {\n // Redirect to the first revision in the list of all entry revisions.\n redirectTarget += `?id=${encodeURIComponent(newLatestRevision.id)}`;\n }\n\n history.push(redirectTarget);\n },\n publishRevision:\n ({ entry, contentEntryHook }): PublishRevisionHandler =>\n async id => {\n const response = await contentEntryHook.publishEntryRevision({\n id: id || entry.id\n });\n\n if (response.error) {\n showErrorSnackbar(response.error.message);\n return response;\n }\n\n showSnackbar(\n <span>\n Successfully published revision{\" \"}\n <strong>#{response.entry.meta.version}</strong>!\n </span>\n );\n\n return response;\n },\n unpublishRevision:\n ({ entry, contentEntryHook }): UnpublishRevisionHandler =>\n async id => {\n const { error } = await contentEntryHook.unpublishEntryRevision({\n id: id || entry.id\n });\n\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n showSnackbar(\n <span>\n Successfully unpublished revision{\" \"}\n <strong>#{revision.meta.version}</strong>!\n </span>\n );\n }\n }\n );\n\n return {\n createRevision,\n editRevision,\n deleteRevision,\n publishRevision,\n unpublishRevision\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -24,6 +24,7 @@ var _reactRouter = require("@webiny/react-router");
24
24
  var _constants = require("../../../constants");
25
25
  var _BulkActions = require("../../../components/ContentEntries/BulkActions");
26
26
  var _SelectAll = require("../../../components/ContentEntries/SelectAll");
27
+ var _BottomInfoBar = require("../../../components/ContentEntries/BottomInfoBar");
27
28
  var Main = exports.Main = function Main(_ref) {
28
29
  var initialFolderId = _ref.folderId;
29
30
  var folderId = initialFolderId === undefined ? _constants.ROOT_FOLDER : initialFolderId;
@@ -107,7 +108,11 @@ var Main = exports.Main = function Main(_ref) {
107
108
  windowHeight: windowHeight,
108
109
  tableHeight: tableHeight,
109
110
  onClick: list.listMoreRecords
110
- })), /*#__PURE__*/_react.default.createElement(_LoadingMore.LoadingMore, {
111
+ })), /*#__PURE__*/_react.default.createElement(_BottomInfoBar.BottomInfoBar, {
112
+ loading: list.isListLoading,
113
+ totalCount: list.meta.totalCount,
114
+ currentCount: list.records.length
115
+ }), /*#__PURE__*/_react.default.createElement(_LoadingMore.LoadingMore, {
111
116
  show: list.isListLoadingMore
112
117
  })))));
113
118
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_debounce","_interopRequireDefault","_appAco","_Scrollbar","_Empty","_Filters","_Header","_LoadingMore","_LoadMoreButton","_Table","_styled","_hooks","_ContentEntry","_reactRouter","_constants","_BulkActions","_SelectAll","Main","exports","_ref","initialFolderId","folderId","undefined","ROOT_FOLDER","list","useContentEntriesList","_useCreateDialog","useCreateDialog","showCreateFolderDialog","showDialog","_useRouter","useRouter","history","_useContentEntry","useContentEntry","canCreate","contentModel","_useFolders","useFolders","flp","folderLevelPermissions","canCreateFolder","useMemo","canManageStructure","canCreateContent","canManageContent","createEntry","useCallback","folder","concat","encodeURIComponent","push","modelId","_window","window","windowHeight","innerHeight","_useState","useState","_useState2","_slicedToArray2","default","tableHeight","setTableHeight","tableRef","useRef","useEffect","current","clientHeight","loadMoreOnScroll","debounce","_ref2","scrollFrame","top","listMoreRecords","onCreateFolder","currentParentId","_useContentEntry2","showEmptyView","createElement","ContentEntry","Fragment","MainContainer","Header","title","isListLoading","listTitle","onCreateEntry","searchValue","search","onSearchChange","setSearch","BulkActions","Wrapper","SelectAll","Filters","records","length","folders","Empty","isSearch","Scrollbar","onScrollFrame","Table","ref","LoadMoreButton","show","meta","hasMoreItems","disabled","isListLoadingMore","onClick","LoadingMore"],"sources":["Main.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport debounce from \"lodash/debounce\";\nimport { useCreateDialog, useFolders } from \"@webiny/app-aco\";\nimport { Scrollbar } from \"@webiny/ui/Scrollbar\";\nimport { Empty } from \"~/admin/components/ContentEntries/Empty\";\nimport { Filters } from \"~/admin/components/ContentEntries/Filters\";\nimport { Header } from \"~/admin/components/ContentEntries/Header\";\nimport { LoadingMore } from \"~/admin/components/ContentEntries/LoadingMore\";\nimport { LoadMoreButton } from \"~/admin/components/ContentEntries/LoadMoreButton\";\nimport { Table } from \"~/admin/components/ContentEntries/Table\";\nimport { MainContainer, Wrapper } from \"./styled\";\nimport { useContentEntriesList, useContentEntry } from \"~/admin/views/contentEntries/hooks\";\nimport { ContentEntry } from \"~/admin/views/contentEntries/ContentEntry\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { ROOT_FOLDER } from \"~/admin/constants\";\nimport { BulkActions } from \"~/admin/components/ContentEntries/BulkActions\";\nimport { SelectAll } from \"~/admin/components/ContentEntries/SelectAll\";\n\ninterface MainProps {\n folderId?: string;\n}\n\nexport const Main = ({ folderId: initialFolderId }: MainProps) => {\n const folderId = initialFolderId === undefined ? ROOT_FOLDER : initialFolderId;\n const list = useContentEntriesList();\n const { showDialog: showCreateFolderDialog } = useCreateDialog();\n\n const { history } = useRouter();\n\n // We check permissions on two layers - security and folder level permissions.\n const { canCreate, contentModel } = useContentEntry();\n const { folderLevelPermissions: flp } = useFolders();\n\n const canCreateFolder = useMemo(() => {\n return flp.canManageStructure(folderId);\n }, [flp, folderId]);\n\n const canCreateContent = useMemo(() => {\n return canCreate && flp.canManageContent(folderId);\n }, [flp, folderId]);\n\n const createEntry = useCallback(() => {\n const folder = folderId ? `&folderId=${encodeURIComponent(folderId)}` : \"\";\n history.push(`/cms/content-entries/${contentModel.modelId}?new=true${folder}`);\n }, [canCreate, contentModel, folderId]);\n\n const { innerHeight: windowHeight } = window;\n const [tableHeight, setTableHeight] = useState(0);\n const tableRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n setTableHeight(tableRef?.current?.clientHeight || 0);\n\n return () => {\n setTableHeight(0);\n };\n });\n\n const loadMoreOnScroll = debounce(async ({ scrollFrame }) => {\n if (scrollFrame.top > 0.8) {\n await list.listMoreRecords();\n }\n }, 200);\n\n const onCreateFolder = useCallback(() => {\n showCreateFolderDialog({ currentParentId: folderId });\n }, [folderId]);\n\n const { showEmptyView } = useContentEntry();\n\n if (!showEmptyView) {\n return <ContentEntry />;\n }\n\n return (\n <>\n <MainContainer>\n <Header\n title={!list.isListLoading ? list.listTitle : undefined}\n canCreateFolder={canCreateFolder}\n canCreateContent={canCreateContent}\n onCreateEntry={createEntry}\n onCreateFolder={onCreateFolder}\n searchValue={list.search}\n onSearchChange={list.setSearch}\n />\n <BulkActions />\n <Wrapper>\n <SelectAll />\n <Filters />\n {list.records.length === 0 &&\n list.folders.length === 0 &&\n !list.isListLoading ? (\n <Empty\n isSearch={list.isSearch}\n canCreateFolder={canCreateFolder}\n canCreateContent={canCreateContent}\n onCreateEntry={createEntry}\n onCreateFolder={onCreateFolder}\n />\n ) : (\n <>\n <Scrollbar\n data-testid=\"default-data-list\"\n onScrollFrame={scrollFrame => loadMoreOnScroll({ scrollFrame })}\n >\n <Table ref={tableRef} />\n <LoadMoreButton\n show={!list.isListLoading && list.meta.hasMoreItems}\n disabled={list.isListLoadingMore}\n windowHeight={windowHeight}\n tableHeight={tableHeight}\n onClick={list.listMoreRecords}\n />\n </Scrollbar>\n <LoadingMore show={list.isListLoadingMore} />\n </>\n )}\n </Wrapper>\n </MainContainer>\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_debounce","_interopRequireDefault","_appAco","_Scrollbar","_Empty","_Filters","_Header","_LoadingMore","_LoadMoreButton","_Table","_styled","_hooks","_ContentEntry","_reactRouter","_constants","_BulkActions","_SelectAll","_BottomInfoBar","Main","exports","_ref","initialFolderId","folderId","undefined","ROOT_FOLDER","list","useContentEntriesList","_useCreateDialog","useCreateDialog","showCreateFolderDialog","showDialog","_useRouter","useRouter","history","_useContentEntry","useContentEntry","canCreate","contentModel","_useFolders","useFolders","flp","folderLevelPermissions","canCreateFolder","useMemo","canManageStructure","canCreateContent","canManageContent","createEntry","useCallback","folder","concat","encodeURIComponent","push","modelId","_window","window","windowHeight","innerHeight","_useState","useState","_useState2","_slicedToArray2","default","tableHeight","setTableHeight","tableRef","useRef","useEffect","current","clientHeight","loadMoreOnScroll","debounce","_ref2","scrollFrame","top","listMoreRecords","onCreateFolder","currentParentId","_useContentEntry2","showEmptyView","createElement","ContentEntry","Fragment","MainContainer","Header","title","isListLoading","listTitle","onCreateEntry","searchValue","search","onSearchChange","setSearch","BulkActions","Wrapper","SelectAll","Filters","records","length","folders","Empty","isSearch","Scrollbar","onScrollFrame","Table","ref","LoadMoreButton","show","meta","hasMoreItems","disabled","isListLoadingMore","onClick","BottomInfoBar","loading","totalCount","currentCount","LoadingMore"],"sources":["Main.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport debounce from \"lodash/debounce\";\nimport { useCreateDialog, useFolders } from \"@webiny/app-aco\";\nimport { Scrollbar } from \"@webiny/ui/Scrollbar\";\nimport { Empty } from \"~/admin/components/ContentEntries/Empty\";\nimport { Filters } from \"~/admin/components/ContentEntries/Filters\";\nimport { Header } from \"~/admin/components/ContentEntries/Header\";\nimport { LoadingMore } from \"~/admin/components/ContentEntries/LoadingMore\";\nimport { LoadMoreButton } from \"~/admin/components/ContentEntries/LoadMoreButton\";\nimport { Table } from \"~/admin/components/ContentEntries/Table\";\nimport { MainContainer, Wrapper } from \"./styled\";\nimport { useContentEntriesList, useContentEntry } from \"~/admin/views/contentEntries/hooks\";\nimport { ContentEntry } from \"~/admin/views/contentEntries/ContentEntry\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { ROOT_FOLDER } from \"~/admin/constants\";\nimport { BulkActions } from \"~/admin/components/ContentEntries/BulkActions\";\nimport { SelectAll } from \"~/admin/components/ContentEntries/SelectAll\";\nimport { BottomInfoBar } from \"~/admin/components/ContentEntries/BottomInfoBar\";\n\ninterface MainProps {\n folderId?: string;\n}\n\nexport const Main = ({ folderId: initialFolderId }: MainProps) => {\n const folderId = initialFolderId === undefined ? ROOT_FOLDER : initialFolderId;\n const list = useContentEntriesList();\n const { showDialog: showCreateFolderDialog } = useCreateDialog();\n\n const { history } = useRouter();\n\n // We check permissions on two layers - security and folder level permissions.\n const { canCreate, contentModel } = useContentEntry();\n const { folderLevelPermissions: flp } = useFolders();\n\n const canCreateFolder = useMemo(() => {\n return flp.canManageStructure(folderId);\n }, [flp, folderId]);\n\n const canCreateContent = useMemo(() => {\n return canCreate && flp.canManageContent(folderId);\n }, [flp, folderId]);\n\n const createEntry = useCallback(() => {\n const folder = folderId ? `&folderId=${encodeURIComponent(folderId)}` : \"\";\n history.push(`/cms/content-entries/${contentModel.modelId}?new=true${folder}`);\n }, [canCreate, contentModel, folderId]);\n\n const { innerHeight: windowHeight } = window;\n const [tableHeight, setTableHeight] = useState(0);\n const tableRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n setTableHeight(tableRef?.current?.clientHeight || 0);\n\n return () => {\n setTableHeight(0);\n };\n });\n\n const loadMoreOnScroll = debounce(async ({ scrollFrame }) => {\n if (scrollFrame.top > 0.8) {\n await list.listMoreRecords();\n }\n }, 200);\n\n const onCreateFolder = useCallback(() => {\n showCreateFolderDialog({ currentParentId: folderId });\n }, [folderId]);\n\n const { showEmptyView } = useContentEntry();\n\n if (!showEmptyView) {\n return <ContentEntry />;\n }\n\n return (\n <>\n <MainContainer>\n <Header\n title={!list.isListLoading ? list.listTitle : undefined}\n canCreateFolder={canCreateFolder}\n canCreateContent={canCreateContent}\n onCreateEntry={createEntry}\n onCreateFolder={onCreateFolder}\n searchValue={list.search}\n onSearchChange={list.setSearch}\n />\n <BulkActions />\n <Wrapper>\n <SelectAll />\n <Filters />\n {list.records.length === 0 &&\n list.folders.length === 0 &&\n !list.isListLoading ? (\n <Empty\n isSearch={list.isSearch}\n canCreateFolder={canCreateFolder}\n canCreateContent={canCreateContent}\n onCreateEntry={createEntry}\n onCreateFolder={onCreateFolder}\n />\n ) : (\n <>\n <Scrollbar\n data-testid=\"default-data-list\"\n onScrollFrame={scrollFrame => loadMoreOnScroll({ scrollFrame })}\n >\n <Table ref={tableRef} />\n <LoadMoreButton\n show={!list.isListLoading && list.meta.hasMoreItems}\n disabled={list.isListLoadingMore}\n windowHeight={windowHeight}\n tableHeight={tableHeight}\n onClick={list.listMoreRecords}\n />\n </Scrollbar>\n <BottomInfoBar\n loading={list.isListLoading}\n totalCount={list.meta.totalCount}\n currentCount={list.records.length}\n />\n <LoadingMore show={list.isListLoadingMore} />\n </>\n )}\n </Wrapper>\n </MainContainer>\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-headless-cms",
3
- "version": "5.41.1",
3
+ "version": "5.41.2-beta.0",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,30 +28,30 @@
28
28
  "@material-design-icons/svg": "0.14.13",
29
29
  "@svgr/webpack": "6.5.1",
30
30
  "@types/react": "18.2.79",
31
- "@webiny/app": "5.41.1",
32
- "@webiny/app-aco": "5.41.1",
33
- "@webiny/app-admin": "5.41.1",
34
- "@webiny/app-graphql-playground": "5.41.1",
35
- "@webiny/app-headless-cms-common": "5.41.1",
36
- "@webiny/app-i18n": "5.41.1",
37
- "@webiny/app-plugin-admin-welcome-screen": "5.41.1",
38
- "@webiny/app-security": "5.41.1",
39
- "@webiny/app-tenancy": "5.41.1",
40
- "@webiny/app-trash-bin": "5.41.1",
41
- "@webiny/error": "5.41.1",
42
- "@webiny/feature-flags": "5.41.1",
43
- "@webiny/form": "5.41.1",
44
- "@webiny/lexical-editor": "5.41.1",
45
- "@webiny/lexical-nodes": "5.41.1",
46
- "@webiny/lexical-theme": "5.41.1",
47
- "@webiny/plugins": "5.41.1",
48
- "@webiny/react-composition": "5.41.1",
49
- "@webiny/react-properties": "5.41.1",
50
- "@webiny/react-router": "5.41.1",
51
- "@webiny/theme": "5.41.1",
52
- "@webiny/ui": "5.41.1",
53
- "@webiny/utils": "5.41.1",
54
- "@webiny/validation": "5.41.1",
31
+ "@webiny/app": "5.41.2-beta.0",
32
+ "@webiny/app-aco": "5.41.2-beta.0",
33
+ "@webiny/app-admin": "5.41.2-beta.0",
34
+ "@webiny/app-graphql-playground": "5.41.2-beta.0",
35
+ "@webiny/app-headless-cms-common": "5.41.2-beta.0",
36
+ "@webiny/app-i18n": "5.41.2-beta.0",
37
+ "@webiny/app-plugin-admin-welcome-screen": "5.41.2-beta.0",
38
+ "@webiny/app-security": "5.41.2-beta.0",
39
+ "@webiny/app-tenancy": "5.41.2-beta.0",
40
+ "@webiny/app-trash-bin": "5.41.2-beta.0",
41
+ "@webiny/error": "5.41.2-beta.0",
42
+ "@webiny/feature-flags": "5.41.2-beta.0",
43
+ "@webiny/form": "5.41.2-beta.0",
44
+ "@webiny/lexical-editor": "5.41.2-beta.0",
45
+ "@webiny/lexical-nodes": "5.41.2-beta.0",
46
+ "@webiny/lexical-theme": "5.41.2-beta.0",
47
+ "@webiny/plugins": "5.41.2-beta.0",
48
+ "@webiny/react-composition": "5.41.2-beta.0",
49
+ "@webiny/react-properties": "5.41.2-beta.0",
50
+ "@webiny/react-router": "5.41.2-beta.0",
51
+ "@webiny/theme": "5.41.2-beta.0",
52
+ "@webiny/ui": "5.41.2-beta.0",
53
+ "@webiny/utils": "5.41.2-beta.0",
54
+ "@webiny/validation": "5.41.2-beta.0",
55
55
  "apollo-cache": "1.3.5",
56
56
  "apollo-client": "2.6.10",
57
57
  "apollo-link": "1.2.14",
@@ -85,8 +85,8 @@
85
85
  "@babel/preset-react": "7.24.1",
86
86
  "@babel/preset-typescript": "7.24.1",
87
87
  "@emotion/babel-plugin": "11.11.0",
88
- "@webiny/cli": "5.41.1",
89
- "@webiny/project-utils": "5.41.1",
88
+ "@webiny/cli": "5.41.2-beta.0",
89
+ "@webiny/project-utils": "5.41.2-beta.0",
90
90
  "babel-plugin-module-resolver": "5.0.0",
91
91
  "rimraf": "5.0.5",
92
92
  "ttypescript": "1.5.15",
@@ -115,5 +115,5 @@
115
115
  ]
116
116
  }
117
117
  },
118
- "gitHead": "4d34943dbfc5a776afc74fffd2cfd2dca60bffcd"
118
+ "gitHead": "a259e2af938ceb1e2d35b2bef9edcee4459352de"
119
119
  }