@webiny/app-headless-cms 0.0.0-unstable.5e7233243f → 0.0.0-unstable.fcdad0bc61
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/admin/components/ContentEntryForm/Label.js +1 -1
- package/admin/components/ContentEntryForm/Label.js.map +1 -1
- package/admin/constants/statusLabels.js +2 -4
- package/admin/constants/statusLabels.js.map +1 -1
- package/admin/graphql/contentEntries.d.ts +0 -28
- package/admin/graphql/contentEntries.js +5 -29
- package/admin/graphql/contentEntries.js.map +1 -1
- package/admin/hooks/usePermission.d.ts +0 -2
- package/admin/hooks/usePermission.js +0 -36
- package/admin/hooks/usePermission.js.map +1 -1
- package/admin/menus/NothingToShowElement.js +4 -1
- package/admin/menus/NothingToShowElement.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +11 -17
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesList.js +1 -1
- package/admin/views/contentEntries/ContentEntriesList.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js +3 -80
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.d.ts +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js +3 -84
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/useRevision.d.ts +0 -8
- package/admin/views/contentEntries/ContentEntry/useRevision.js +4 -105
- package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -1
- package/admin/views/contentEntries/experiment/ContentEntriesModule.d.ts +2 -2
- package/admin/views/contentEntries/experiment/ContentEntriesModule.js +13 -7
- package/admin/views/contentEntries/experiment/ContentEntriesModule.js.map +1 -1
- package/package.json +28 -28
- package/types.d.ts +9 -1
- package/types.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","rightAlign","css","alignItems","justifyContent","ModelId","styled","color","InlineLoaderWrapper","position","bottom","left","display","width","height","backgroundColor","listItemMinHeight","minHeight","ContentEntriesList","useContentEntriesList","contentModel","id","loading","canCreate","onCreate","data","editEntry","loadMore","loadMoreLoading","listQueryVariables","setListQueryVariables","sorters","filter","setFilter","viewConfig","useContentEntriesViewConfig","loadMoreOnScroll","useCallback","debounce","scrollFrame","top","formInitialData","sort","appliesToContentModel","modelIds","length","includes","modelId","entriesDataListModalOverlay","useMemo","status","Bind","map","value","label","filters","name","element","pluralize","title","item","meta","time","savedOn","statusLabels","version"],"sources":["ContentEntriesList.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport debounce from \"lodash/debounce\";\nimport { css } from \"emotion\";\n/**\n * Package timeago-react does not have types.\n */\n// @ts-ignore\nimport TimeAgo from \"timeago-react\";\nimport pluralize from \"pluralize\";\nimport styled from \"@emotion/styled\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Form } from \"@webiny/form\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport * as UIList from \"@webiny/ui/List\";\nimport { ButtonIcon, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Scrollbar } from \"@webiny/ui/Scrollbar\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { ReactComponent as FilterIcon } from \"@webiny/app-admin/assets/icons/filter-24px.svg\";\nimport SearchUI from \"@webiny/app-admin/components/SearchUI\";\nimport statusLabels from \"../../constants/statusLabels\";\nimport { useCallback } from \"react\";\nimport { useContentEntriesList } from \"~/admin/views/contentEntries/hooks/useContentEntriesList\";\nimport { positionValues as PositionValues } from \"react-custom-scrollbars\";\nimport { CmsEditorContentEntry } from \"~/types\";\nimport {\n useContentEntriesViewConfig,\n ContentEntriesViewConfigFilter\n} from \"./experiment/ContentEntriesViewConfig\";\nimport { Link } from \"@webiny/react-router\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/contents/data-list\");\n\nconst rightAlign = css({\n alignItems: \"flex-end !important\",\n justifyContent: \"center !important\"\n});\n\nconst ModelId = styled(\"span\")({\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n});\n\nconst InlineLoaderWrapper = styled(\"div\")({\n position: \"absolute\",\n bottom: 0,\n left: 0,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n height: 40,\n backgroundColor: \"var(--mdc-theme-surface)\"\n});\n\nconst listItemMinHeight = css({\n minHeight: \"66px !important\"\n});\n\nconst ContentEntriesList: React.FC = () => {\n const {\n contentModel,\n id,\n loading,\n canCreate,\n onCreate,\n data,\n editEntry,\n loadMore,\n loadMoreLoading,\n listQueryVariables,\n setListQueryVariables,\n sorters,\n filter,\n setFilter\n } = useContentEntriesList();\n\n const viewConfig = useContentEntriesViewConfig();\n\n const loadMoreOnScroll = useCallback(\n debounce((scrollFrame: PositionValues) => {\n if (scrollFrame.top > 0.9) {\n loadMore();\n }\n }, 500),\n [data]\n );\n\n const formInitialData = {\n ...listQueryVariables,\n sort: listQueryVariables.sort ? listQueryVariables.sort[0] : \"\"\n };\n\n const appliesToContentModel = useCallback(\n ({ modelIds }: ContentEntriesViewConfigFilter) => {\n return modelIds.length === 0 || modelIds.includes(contentModel.modelId);\n },\n [contentModel]\n );\n\n const entriesDataListModalOverlay = useMemo(\n () => (\n <UIList.DataListModalOverlay>\n <Form\n data={formInitialData}\n onChange={({ sort, status, ...data }) => {\n setListQueryVariables(() => ({\n status,\n // GraphQL Schema requires \"sort\" to be an array.\n sort: [sort],\n // Spread the rest of form data\n ...data\n }));\n }}\n >\n {({ Bind }) => (\n <Grid>\n <Cell span={12}>\n <Bind name={\"sort\"}>\n <Select label={t`Sort by`}>\n {sorters.map(({ value, label }) => {\n return (\n <option key={value} value={value}>\n {label}\n </option>\n );\n })}\n </Select>\n </Bind>\n </Cell>\n {viewConfig.filters.filter(appliesToContentModel).map(filter => (\n <Cell span={12} key={filter.name}>\n {filter.element}\n </Cell>\n ))}\n </Grid>\n )}\n </Form>\n </UIList.DataListModalOverlay>\n ),\n [listQueryVariables, viewConfig.filters]\n );\n\n return (\n <UIList.DataList\n loading={loading}\n data={data}\n title={\n <span>\n {pluralize(contentModel.name)}\n <br />\n <Typography use={\"subtitle1\"}>\n <ModelId>\n Model ID:{\" \"}\n <Link to={`/cms/content-models/${contentModel.modelId}`}>\n {contentModel.modelId}\n </Link>\n </ModelId>\n </Typography>\n </span>\n }\n actions={\n canCreate ? (\n <ButtonSecondary data-testid=\"new-record-button\" onClick={onCreate}>\n <ButtonIcon icon={<AddIcon />} /> {t`New Entry`}\n </ButtonSecondary>\n ) : null\n }\n search={\n <SearchUI\n value={filter}\n onChange={setFilter}\n inputPlaceholder={t`Search {title}`({ title: pluralize(contentModel.name) })}\n />\n }\n modalOverlay={entriesDataListModalOverlay}\n modalOverlayAction={\n <UIList.DataListModalOverlayAction\n icon={<FilterIcon />}\n data-testid={\"default-data-list.filter\"}\n />\n }\n >\n {({ data }: { data: CmsEditorContentEntry[] }) => (\n <>\n <Scrollbar\n data-testid=\"default-data-list\"\n onScrollFrame={scrollFrame => loadMoreOnScroll(scrollFrame)}\n >\n {data.map(item => (\n <UIList.ListItem\n key={item.id}\n className={listItemMinHeight}\n selected={item.id === id}\n >\n <UIList.ListItemText onClick={editEntry(item)}>\n {item.meta.title || \"Untitled\"}\n <UIList.ListItemTextSecondary>\n {t`Last modified: {time}.`({\n time: <TimeAgo datetime={item.savedOn} />\n })}\n </UIList.ListItemTextSecondary>\n </UIList.ListItemText>\n\n <UIList.ListItemMeta className={rightAlign}>\n <Typography use={\"subtitle2\"} data-testid=\"ul.list.subtitle\">\n {statusLabels[item.meta.status]} (v{item.meta.version})\n </Typography>\n </UIList.ListItemMeta>\n </UIList.ListItem>\n ))}\n </Scrollbar>\n {loadMoreLoading && (\n <InlineLoaderWrapper>\n <Typography use={\"overline\"}>{t`Loading more entries...`}</Typography>\n </InlineLoaderWrapper>\n )}\n </>\n )}\n </UIList.DataList>\n );\n};\n\nexport default ContentEntriesList;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAGA;;AAIA;;;;;;AAEA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,2CAAR,CAAV;;AAEA,IAAMC,UAAU,gBAAG,IAAAC,YAAA,EAAI;EACnBC,UAAU,EAAE,qBADO;EAEnBC,cAAc,EAAE;AAFG,CAAJ,sBAAnB;AAKA,IAAMC,OAAO,oBAAGC,eAAH,EAAU,MAAV;EAAA;EAAA;AAAA,GAAkB;EAC3BC,KAAK,EAAE;AADoB,CAAlB,CAAb;AAIA,IAAMC,mBAAmB,oBAAGF,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EACtCG,QAAQ,EAAE,UAD4B;EAEtCC,MAAM,EAAE,CAF8B;EAGtCC,IAAI,EAAE,CAHgC;EAItCC,OAAO,EAAE,MAJ6B;EAKtCR,cAAc,EAAE,QALsB;EAMtCD,UAAU,EAAE,QAN0B;EAOtCU,KAAK,EAAE,MAP+B;EAQtCC,MAAM,EAAE,EAR8B;EAStCC,eAAe,EAAE;AATqB,CAAjB,CAAzB;AAYA,IAAMC,iBAAiB,gBAAG,IAAAd,YAAA,EAAI;EAC1Be,SAAS,EAAE;AADe,CAAJ,6BAA1B;;AAIA,IAAMC,kBAA4B,GAAG,SAA/BA,kBAA+B,GAAM;EACvC,4BAeI,IAAAC,4CAAA,GAfJ;EAAA,IACIC,YADJ,yBACIA,YADJ;EAAA,IAEIC,EAFJ,yBAEIA,EAFJ;EAAA,IAGIC,OAHJ,yBAGIA,OAHJ;EAAA,IAIIC,SAJJ,yBAIIA,SAJJ;EAAA,IAKIC,QALJ,yBAKIA,QALJ;EAAA,IAMIC,IANJ,yBAMIA,IANJ;EAAA,IAOIC,SAPJ,yBAOIA,SAPJ;EAAA,IAQIC,QARJ,yBAQIA,QARJ;EAAA,IASIC,eATJ,yBASIA,eATJ;EAAA,IAUIC,kBAVJ,yBAUIA,kBAVJ;EAAA,IAWIC,qBAXJ,yBAWIA,qBAXJ;EAAA,IAYIC,OAZJ,yBAYIA,OAZJ;EAAA,IAaIC,MAbJ,yBAaIA,MAbJ;EAAA,IAcIC,SAdJ,yBAcIA,SAdJ;;EAiBA,IAAMC,UAAU,GAAG,IAAAC,qDAAA,GAAnB;EAEA,IAAMC,gBAAgB,GAAG,IAAAC,kBAAA,EACrB,IAAAC,iBAAA,EAAS,UAACC,WAAD,EAAiC;IACtC,IAAIA,WAAW,CAACC,GAAZ,GAAkB,GAAtB,EAA2B;MACvBb,QAAQ;IACX;EACJ,CAJD,EAIG,GAJH,CADqB,EAMrB,CAACF,IAAD,CANqB,CAAzB;EASA,IAAMgB,eAAe,+DACdZ,kBADc;IAEjBa,IAAI,EAAEb,kBAAkB,CAACa,IAAnB,GAA0Bb,kBAAkB,CAACa,IAAnB,CAAwB,CAAxB,CAA1B,GAAuD;EAF5C,EAArB;EAKA,IAAMC,qBAAqB,GAAG,IAAAN,kBAAA,EAC1B,gBAAkD;IAAA,IAA/CO,QAA+C,QAA/CA,QAA+C;IAC9C,OAAOA,QAAQ,CAACC,MAAT,KAAoB,CAApB,IAAyBD,QAAQ,CAACE,QAAT,CAAkB1B,YAAY,CAAC2B,OAA/B,CAAhC;EACH,CAHyB,EAI1B,CAAC3B,YAAD,CAJ0B,CAA9B;EAOA,IAAM4B,2BAA2B,GAAG,IAAAC,cAAA,EAChC;IAAA,oBACI,6BAAC,MAAD,CAAQ,oBAAR,qBACI,6BAAC,UAAD;MACI,IAAI,EAAER,eADV;MAEI,QAAQ,EAAE,yBAA+B;QAAA,IAA5BC,IAA4B,SAA5BA,IAA4B;QAAA,IAAtBQ,MAAsB,SAAtBA,MAAsB;QAAA,IAAXzB,IAAW;QACrCK,qBAAqB,CAAC;UAAA;YAClBoB,MAAM,EAANA,MADkB;YAElB;YACAR,IAAI,EAAE,CAACA,IAAD;UAHY,GAKfjB,IALe;QAAA,CAAD,CAArB;MAOH;IAVL,GAYK;MAAA,IAAG0B,IAAH,SAAGA,IAAH;MAAA,oBACG,6BAAC,UAAD,qBACI,6BAAC,UAAD;QAAM,IAAI,EAAE;MAAZ,gBACI,6BAAC,IAAD;QAAM,IAAI,EAAE;MAAZ,gBACI,6BAAC,cAAD;QAAQ,KAAK,EAAErD,CAAF;MAAb,GACKiC,OAAO,CAACqB,GAAR,CAAY,iBAAsB;QAAA,IAAnBC,KAAmB,SAAnBA,KAAmB;QAAA,IAAZC,KAAY,SAAZA,KAAY;QAC/B,oBACI;UAAQ,GAAG,EAAED,KAAb;UAAoB,KAAK,EAAEA;QAA3B,GACKC,KADL,CADJ;MAKH,CANA,CADL,CADJ,CADJ,CADJ,EAcKpB,UAAU,CAACqB,OAAX,CAAmBvB,MAAnB,CAA0BW,qBAA1B,EAAiDS,GAAjD,CAAqD,UAAApB,MAAM;QAAA,oBACxD,6BAAC,UAAD;UAAM,IAAI,EAAE,EAAZ;UAAgB,GAAG,EAAEA,MAAM,CAACwB;QAA5B,GACKxB,MAAM,CAACyB,OADZ,CADwD;MAAA,CAA3D,CAdL,CADH;IAAA,CAZL,CADJ,CADJ;EAAA,CADgC,EAwChC,CAAC5B,kBAAD,EAAqBK,UAAU,CAACqB,OAAhC,CAxCgC,CAApC;EA2CA,oBACI,6BAAC,MAAD,CAAQ,QAAR;IACI,OAAO,EAAEjC,OADb;IAEI,IAAI,EAAEG,IAFV;IAGI,KAAK,eACD,2CACK,IAAAiC,kBAAA,EAAUtC,YAAY,CAACoC,IAAvB,CADL,eAEI,wCAFJ,eAGI,6BAAC,sBAAD;MAAY,GAAG,EAAE;IAAjB,gBACI,6BAAC,OAAD,qBACc,GADd,eAEI,6BAAC,iBAAD;MAAM,EAAE,gCAAyBpC,YAAY,CAAC2B,OAAtC;IAAR,GACK3B,YAAY,CAAC2B,OADlB,CAFJ,CADJ,CAHJ,CAJR;IAiBI,OAAO,EACHxB,SAAS,gBACL,6BAAC,uBAAD;MAAiB,eAAY,mBAA7B;MAAiD,OAAO,EAAEC;IAA1D,gBACI,6BAAC,kBAAD;MAAY,IAAI,eAAE,6BAAC,uBAAD;IAAlB,EADJ,OACuC1B,CADvC,+FADK,GAIL,IAtBZ;IAwBI,MAAM,eACF,6BAAC,iBAAD;MACI,KAAK,EAAEkC,MADX;MAEI,QAAQ,EAAEC,SAFd;MAGI,gBAAgB,EAAEnC,CAAC,mGAAD,CAAkB;QAAE6D,KAAK,EAAE,IAAAD,kBAAA,EAAUtC,YAAY,CAACoC,IAAvB;MAAT,CAAlB;IAHtB,EAzBR;IA+BI,YAAY,EAAER,2BA/BlB;IAgCI,kBAAkB,eACd,6BAAC,MAAD,CAAQ,0BAAR;MACI,IAAI,eAAE,6BAAC,0BAAD,OADV;MAEI,eAAa;IAFjB;EAjCR,GAuCK;IAAA,IAAGvB,IAAH,SAAGA,IAAH;IAAA,oBACG,yEACI,6BAAC,oBAAD;MACI,eAAY,mBADhB;MAEI,aAAa,EAAE,uBAAAc,WAAW;QAAA,OAAIH,gBAAgB,CAACG,WAAD,CAApB;MAAA;IAF9B,GAIKd,IAAI,CAAC2B,GAAL,CAAS,UAAAQ,IAAI;MAAA,oBACV,6BAAC,MAAD,CAAQ,QAAR;QACI,GAAG,EAAEA,IAAI,CAACvC,EADd;QAEI,SAAS,EAAEL,iBAFf;QAGI,QAAQ,EAAE4C,IAAI,CAACvC,EAAL,KAAYA;MAH1B,gBAKI,6BAAC,MAAD,CAAQ,YAAR;QAAqB,OAAO,EAAEK,SAAS,CAACkC,IAAD;MAAvC,GACKA,IAAI,CAACC,IAAL,CAAUF,KAAV,IAAmB,UADxB,eAEI,6BAAC,MAAD,CAAQ,qBAAR,QACK7D,CAAC,2GAAD,CAA0B;QACvBgE,IAAI,eAAE,6BAAC,qBAAD;UAAS,QAAQ,EAAEF,IAAI,CAACG;QAAxB;MADiB,CAA1B,CADL,CAFJ,CALJ,eAcI,6BAAC,MAAD,CAAQ,YAAR;QAAqB,SAAS,EAAE9D;MAAhC,gBACI,6BAAC,sBAAD;QAAY,GAAG,EAAE,WAAjB;QAA8B,eAAY;MAA1C,GACK+D,qBAAA,CAAaJ,IAAI,CAACC,IAAL,CAAUX,MAAvB,CADL,SACwCU,IAAI,CAACC,IAAL,CAAUI,OADlD,MADJ,CAdJ,CADU;IAAA,CAAb,CAJL,CADJ,EA4BKrC,eAAe,iBACZ,6BAAC,mBAAD,qBACI,6BAAC,sBAAD;MAAY,GAAG,EAAE;IAAjB,GAA8B9B,CAA9B,6GADJ,CA7BR,CADH;EAAA,CAvCL,CADJ;AA8EH,CAlKD;;eAoKeoB,kB"}
|
|
1
|
+
{"version":3,"names":["t","i18n","ns","rightAlign","css","alignItems","justifyContent","ModelId","styled","color","InlineLoaderWrapper","position","bottom","left","display","width","height","backgroundColor","listItemMinHeight","minHeight","ContentEntriesList","useContentEntriesList","contentModel","id","loading","canCreate","onCreate","data","editEntry","loadMore","loadMoreLoading","listQueryVariables","setListQueryVariables","sorters","filter","setFilter","viewConfig","useContentEntriesViewConfig","loadMoreOnScroll","useCallback","debounce","scrollFrame","top","formInitialData","sort","appliesToContentModel","modelIds","length","includes","modelId","entriesDataListModalOverlay","useMemo","status","Bind","map","value","label","filters","name","element","pluralize","title","item","meta","time","savedOn","statusLabels","version"],"sources":["ContentEntriesList.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport debounce from \"lodash/debounce\";\nimport { css } from \"emotion\";\n/**\n * Package timeago-react does not have types.\n */\n// @ts-ignore\nimport TimeAgo from \"timeago-react\";\nimport pluralize from \"pluralize\";\nimport styled from \"@emotion/styled\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Form } from \"@webiny/form\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport * as UIList from \"@webiny/ui/List\";\nimport { ButtonIcon, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Scrollbar } from \"@webiny/ui/Scrollbar\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { ReactComponent as FilterIcon } from \"@webiny/app-admin/assets/icons/filter-24px.svg\";\nimport SearchUI from \"@webiny/app-admin/components/SearchUI\";\nimport statusLabels from \"../../constants/statusLabels\";\nimport { useCallback } from \"react\";\nimport { useContentEntriesList } from \"~/admin/views/contentEntries/hooks/useContentEntriesList\";\nimport { positionValues as PositionValues } from \"react-custom-scrollbars\";\nimport { CmsEditorContentEntry } from \"~/types\";\nimport {\n useContentEntriesViewConfig,\n ContentEntriesViewConfigFilter\n} from \"./experiment/ContentEntriesViewConfig\";\nimport { Link } from \"@webiny/react-router\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/contents/data-list\");\n\nconst rightAlign = css({\n alignItems: \"flex-end !important\",\n justifyContent: \"center !important\"\n});\n\nconst ModelId = styled(\"span\")({\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n});\n\nconst InlineLoaderWrapper = styled(\"div\")({\n position: \"absolute\",\n bottom: 0,\n left: 0,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n height: 40,\n backgroundColor: \"var(--mdc-theme-surface)\"\n});\n\nconst listItemMinHeight = css({\n minHeight: \"66px !important\"\n});\n\nconst ContentEntriesList: React.FC = () => {\n const {\n contentModel,\n id,\n loading,\n canCreate,\n onCreate,\n data,\n editEntry,\n loadMore,\n loadMoreLoading,\n listQueryVariables,\n setListQueryVariables,\n sorters,\n filter,\n setFilter\n } = useContentEntriesList();\n\n const viewConfig = useContentEntriesViewConfig();\n\n const loadMoreOnScroll = useCallback(\n debounce((scrollFrame: PositionValues) => {\n if (scrollFrame.top > 0.9) {\n loadMore();\n }\n }, 500),\n [data]\n );\n\n const formInitialData = {\n ...listQueryVariables,\n sort: listQueryVariables.sort ? listQueryVariables.sort[0] : \"\"\n };\n\n const appliesToContentModel = useCallback(\n ({ modelIds }: ContentEntriesViewConfigFilter) => {\n return modelIds.length === 0 || modelIds.includes(contentModel.modelId);\n },\n [contentModel]\n );\n\n const entriesDataListModalOverlay = useMemo(\n () => (\n <UIList.DataListModalOverlay>\n <Form\n data={formInitialData}\n onChange={({ sort, status, ...data }) => {\n setListQueryVariables(() => ({\n status,\n // GraphQL Schema requires \"sort\" to be an array.\n sort: [sort],\n // Spread the rest of form data\n ...data\n }));\n }}\n >\n {({ Bind }) => (\n <Grid>\n <Cell span={12}>\n <Bind name={\"sort\"}>\n <Select label={t`Sort by`}>\n {sorters.map(({ value, label }) => {\n return (\n <option key={value} value={value}>\n {label}\n </option>\n );\n })}\n </Select>\n </Bind>\n </Cell>\n {viewConfig.filters.filter(appliesToContentModel).map(filter => (\n <Cell span={12} key={filter.name}>\n {filter.element}\n </Cell>\n ))}\n </Grid>\n )}\n </Form>\n </UIList.DataListModalOverlay>\n ),\n [listQueryVariables, viewConfig.filters]\n );\n\n return (\n <UIList.DataList\n loading={loading}\n data={data}\n title={\n <span>\n {pluralize(contentModel.name)}\n <br />\n <Typography use={\"subtitle1\"}>\n <ModelId>\n Model ID:{\" \"}\n <Link to={`/cms/content-models/${contentModel.modelId}`}>\n {contentModel.modelId}\n </Link>\n </ModelId>\n </Typography>\n </span>\n }\n actions={\n canCreate ? (\n <ButtonSecondary data-testid=\"new-record-button\" onClick={onCreate}>\n <ButtonIcon icon={<AddIcon />} /> {t`New Entry`}\n </ButtonSecondary>\n ) : null\n }\n search={\n <SearchUI\n value={filter}\n onChange={setFilter}\n inputPlaceholder={t`Search {title}`({ title: pluralize(contentModel.name) })}\n />\n }\n modalOverlay={entriesDataListModalOverlay}\n modalOverlayAction={\n <UIList.DataListModalOverlayAction\n icon={<FilterIcon />}\n data-testid={\"default-data-list.filter\"}\n />\n }\n >\n {({ data }: { data: CmsEditorContentEntry[] }) => (\n <>\n <Scrollbar\n data-testid=\"default-data-list\"\n onScrollFrame={scrollFrame => loadMoreOnScroll(scrollFrame)}\n >\n {data.map(item => (\n <UIList.ListItem\n key={item.id}\n className={listItemMinHeight}\n selected={item.id === id}\n >\n <UIList.ListItemText onClick={editEntry(item)}>\n {item.meta.title || \"Untitled\"}\n <UIList.ListItemTextSecondary>\n {t`Last modified: {time}.`({\n time: <TimeAgo datetime={item.savedOn} />\n })}\n </UIList.ListItemTextSecondary>\n </UIList.ListItemText>\n\n <UIList.ListItemMeta className={rightAlign}>\n <Typography use={\"body2\"} data-testid=\"ul.list.subtitle\">\n {statusLabels[item.meta.status]} (v{item.meta.version})\n </Typography>\n </UIList.ListItemMeta>\n </UIList.ListItem>\n ))}\n </Scrollbar>\n {loadMoreLoading && (\n <InlineLoaderWrapper>\n <Typography use={\"overline\"}>{t`Loading more entries...`}</Typography>\n </InlineLoaderWrapper>\n )}\n </>\n )}\n </UIList.DataList>\n );\n};\n\nexport default ContentEntriesList;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const RequestChanges: import("@webiny/react-composition").ComposableFC<
|
|
1
|
+
export declare const RequestChanges: import("@webiny/react-composition").ComposableFC<unknown>;
|
|
@@ -1,90 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.RequestChanges = void 0;
|
|
9
7
|
|
|
10
|
-
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
11
|
-
|
|
12
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
|
-
var _react = _interopRequireDefault(require("react"));
|
|
17
|
-
|
|
18
|
-
var _Button = require("@webiny/ui/Button");
|
|
19
|
-
|
|
20
|
-
var _Tooltip = require("@webiny/ui/Tooltip");
|
|
21
|
-
|
|
22
|
-
var _useConfirmationDialog = require("@webiny/app-admin/hooks/useConfirmationDialog");
|
|
23
|
-
|
|
24
|
-
var _i18n = require("@webiny/app/i18n");
|
|
25
|
-
|
|
26
|
-
var _rule24px = require("./rule-24px.svg");
|
|
27
|
-
|
|
28
|
-
var _usePermission2 = _interopRequireDefault(require("../../../../../hooks/usePermission"));
|
|
29
|
-
|
|
30
|
-
var _useRevision2 = require("../../useRevision");
|
|
31
|
-
|
|
32
|
-
var _useContentEntry2 = require("../../../hooks/useContentEntry");
|
|
33
|
-
|
|
34
8
|
var _reactComposition = require("@webiny/react-composition");
|
|
35
9
|
|
|
36
|
-
var
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var RequestChangesComponent = function RequestChangesComponent() {
|
|
41
|
-
var _useContentEntry = (0, _useContentEntry2.useContentEntry)(),
|
|
42
|
-
entry = _useContentEntry.entry;
|
|
43
|
-
|
|
44
|
-
var _useRevision = (0, _useRevision2.useRevision)({
|
|
45
|
-
revision: entry
|
|
46
|
-
}),
|
|
47
|
-
requestChanges = _useRevision.requestChanges;
|
|
48
|
-
|
|
49
|
-
var _usePermission = (0, _usePermission2.default)(),
|
|
50
|
-
canRequestChange = _usePermission.canRequestChange;
|
|
51
|
-
|
|
52
|
-
var _useConfirmationDialo = (0, _useConfirmationDialog.useConfirmationDialog)({
|
|
53
|
-
title: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Request Changes"]))),
|
|
54
|
-
message: /*#__PURE__*/_react.default.createElement("p", null, t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["You are about to request changes on this content entry. Are you sure you want to continue?"]))))
|
|
55
|
-
}),
|
|
56
|
-
showConfirmation = _useConfirmationDialo.showConfirmation;
|
|
57
|
-
|
|
58
|
-
if (!canRequestChange("cms.contentEntry")) {
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
var buttonEnabled = entry.id && (entry.meta.status === "draft" || entry.meta.status === "reviewRequested");
|
|
63
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
64
|
-
content: t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Request Changes"]))),
|
|
65
|
-
placement: "top"
|
|
66
|
-
}, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
|
|
67
|
-
disabled: !buttonEnabled,
|
|
68
|
-
icon: /*#__PURE__*/_react.default.createElement(_rule24px.ReactComponent, null),
|
|
69
|
-
onClick: function onClick() {
|
|
70
|
-
return showConfirmation( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
|
|
71
|
-
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
72
|
-
while (1) {
|
|
73
|
-
switch (_context.prev = _context.next) {
|
|
74
|
-
case 0:
|
|
75
|
-
_context.next = 2;
|
|
76
|
-
return requestChanges(entry.id);
|
|
77
|
-
|
|
78
|
-
case 2:
|
|
79
|
-
case "end":
|
|
80
|
-
return _context.stop();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}, _callee);
|
|
84
|
-
})));
|
|
85
|
-
}
|
|
86
|
-
})));
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
var RequestChanges = (0, _reactComposition.makeComposable)("RequestChanges", RequestChangesComponent);
|
|
10
|
+
var RequestChanges = (0, _reactComposition.makeComposable)("RequestChanges", function () {
|
|
11
|
+
return null;
|
|
12
|
+
});
|
|
90
13
|
exports.RequestChanges = RequestChanges;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["RequestChanges","makeComposable"],"sources":["RequestChanges.tsx"],"sourcesContent":["import { makeComposable } from \"@webiny/react-composition\";\n\nexport const RequestChanges = makeComposable(\"RequestChanges\", () => {\n return null;\n});\n"],"mappings":";;;;;;;AAAA;;AAEO,IAAMA,cAAc,GAAG,IAAAC,gCAAA,EAAe,gBAAf,EAAiC,YAAM;EACjE,OAAO,IAAP;AACH,CAF6B,CAAvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const RequestReview: import("@webiny/react-composition").ComposableFC<
|
|
1
|
+
export declare const RequestReview: import("@webiny/react-composition").ComposableFC<unknown>;
|
|
@@ -1,94 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
-
|
|
7
3
|
Object.defineProperty(exports, "__esModule", {
|
|
8
4
|
value: true
|
|
9
5
|
});
|
|
10
6
|
exports.RequestReview = void 0;
|
|
11
7
|
|
|
12
|
-
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
13
|
-
|
|
14
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
-
|
|
16
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
|
-
|
|
18
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
|
-
var _Button = require("@webiny/ui/Button");
|
|
21
|
-
|
|
22
|
-
var _Tooltip = require("@webiny/ui/Tooltip");
|
|
23
|
-
|
|
24
|
-
var _useConfirmationDialog = require("@webiny/app-admin/hooks/useConfirmationDialog");
|
|
25
|
-
|
|
26
|
-
var _i18n = require("@webiny/app/i18n");
|
|
27
|
-
|
|
28
|
-
var _emoji_people24px = require("./emoji_people-24px.svg");
|
|
29
|
-
|
|
30
|
-
var _useRevision2 = require("../../useRevision");
|
|
31
|
-
|
|
32
|
-
var _usePermission2 = _interopRequireDefault(require("../../../../../hooks/usePermission"));
|
|
33
|
-
|
|
34
|
-
var _useContentEntry2 = require("../../../hooks/useContentEntry");
|
|
35
|
-
|
|
36
8
|
var _reactComposition = require("@webiny/react-composition");
|
|
37
9
|
|
|
38
|
-
var
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
var RequestReviewComponent = function RequestReviewComponent() {
|
|
43
|
-
var _useContentEntry = (0, _useContentEntry2.useContentEntry)(),
|
|
44
|
-
entry = _useContentEntry.entry;
|
|
45
|
-
|
|
46
|
-
var _useRevision = (0, _useRevision2.useRevision)({
|
|
47
|
-
revision: entry
|
|
48
|
-
}),
|
|
49
|
-
requestReview = _useRevision.requestReview;
|
|
50
|
-
|
|
51
|
-
var _usePermission = (0, _usePermission2.default)(),
|
|
52
|
-
canRequestReview = _usePermission.canRequestReview;
|
|
53
|
-
|
|
54
|
-
var _useConfirmationDialo = (0, _useConfirmationDialog.useConfirmationDialog)({
|
|
55
|
-
title: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Request Review"]))),
|
|
56
|
-
message: /*#__PURE__*/_react.default.createElement("p", null, t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["You are about to request a review of this content entry. Are you sure you want to continue?"]))))
|
|
57
|
-
}),
|
|
58
|
-
showConfirmation = _useConfirmationDialo.showConfirmation;
|
|
59
|
-
|
|
60
|
-
var onClick = (0, _react.useCallback)(function () {
|
|
61
|
-
showConfirmation( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
|
|
62
|
-
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
63
|
-
while (1) {
|
|
64
|
-
switch (_context.prev = _context.next) {
|
|
65
|
-
case 0:
|
|
66
|
-
_context.next = 2;
|
|
67
|
-
return requestReview(entry.id);
|
|
68
|
-
|
|
69
|
-
case 2:
|
|
70
|
-
case "end":
|
|
71
|
-
return _context.stop();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}, _callee);
|
|
75
|
-
})));
|
|
76
|
-
}, [entry.id]);
|
|
77
|
-
|
|
78
|
-
if (!canRequestReview("cms.contentEntry")) {
|
|
79
|
-
return null;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
var buttonEnabled = entry.id && (entry.meta.status === "draft" || entry.meta.status === "changesRequested");
|
|
83
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
84
|
-
content: t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Request Review"]))),
|
|
85
|
-
placement: "top"
|
|
86
|
-
}, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
|
|
87
|
-
disabled: !buttonEnabled,
|
|
88
|
-
icon: /*#__PURE__*/_react.default.createElement(_emoji_people24px.ReactComponent, null),
|
|
89
|
-
onClick: onClick
|
|
90
|
-
})));
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
var RequestReview = (0, _reactComposition.makeComposable)("RequestReview", RequestReviewComponent);
|
|
10
|
+
var RequestReview = (0, _reactComposition.makeComposable)("RequestReview", function () {
|
|
11
|
+
return null;
|
|
12
|
+
});
|
|
94
13
|
exports.RequestReview = RequestReview;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["RequestReview","makeComposable"],"sources":["RequestReview.tsx"],"sourcesContent":["import { makeComposable } from \"@webiny/react-composition\";\n\nexport const RequestReview = makeComposable(\"RequestReview\", () => {\n return null;\n});\n"],"mappings":";;;;;;;AAAA;;AAEO,IAAMA,aAAa,GAAG,IAAAC,gCAAA,EAAe,eAAf,EAAgC,YAAM;EAC/D,OAAO,IAAP;AACH,CAF4B,CAAtB"}
|
|
@@ -14,12 +14,6 @@ interface PublishRevisionHandler {
|
|
|
14
14
|
interface UnpublishRevisionHandler {
|
|
15
15
|
(id?: string): Promise<void>;
|
|
16
16
|
}
|
|
17
|
-
interface RequestReviewHandler {
|
|
18
|
-
(id?: string): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
interface RequestChangesHandler {
|
|
21
|
-
(id?: string): Promise<void>;
|
|
22
|
-
}
|
|
23
17
|
export interface UseRevisionProps {
|
|
24
18
|
revision: CmsEditorContentEntry;
|
|
25
19
|
}
|
|
@@ -29,7 +23,5 @@ export declare const useRevision: ({ revision }: UseRevisionProps) => {
|
|
|
29
23
|
deleteRevision: DeleteRevisionHandler;
|
|
30
24
|
publishRevision: PublishRevisionHandler;
|
|
31
25
|
unpublishRevision: UnpublishRevisionHandler;
|
|
32
|
-
requestReview: RequestReviewHandler;
|
|
33
|
-
requestChanges: RequestChangesHandler;
|
|
34
26
|
};
|
|
35
27
|
export {};
|
|
@@ -54,15 +54,11 @@ var useRevision = function useRevision(_ref) {
|
|
|
54
54
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
55
55
|
return {
|
|
56
56
|
CREATE_REVISION: GQL.createCreateFromMutation(contentModel),
|
|
57
|
-
UNPUBLISH_REVISION: GQL.createUnpublishMutation(contentModel)
|
|
58
|
-
REQUEST_REVIEW: GQL.createRequestReviewMutation(contentModel),
|
|
59
|
-
REQUEST_CHANGES: GQL.createRequestChangesMutation(contentModel)
|
|
57
|
+
UNPUBLISH_REVISION: GQL.createUnpublishMutation(contentModel)
|
|
60
58
|
};
|
|
61
59
|
}, [modelId]),
|
|
62
60
|
CREATE_REVISION = _useMemo.CREATE_REVISION,
|
|
63
|
-
UNPUBLISH_REVISION = _useMemo.UNPUBLISH_REVISION
|
|
64
|
-
REQUEST_REVIEW = _useMemo.REQUEST_REVIEW,
|
|
65
|
-
REQUEST_CHANGES = _useMemo.REQUEST_CHANGES;
|
|
61
|
+
UNPUBLISH_REVISION = _useMemo.UNPUBLISH_REVISION;
|
|
66
62
|
|
|
67
63
|
var _useHandlers = (0, _useHandlers2.useHandlers)({
|
|
68
64
|
entry: entry
|
|
@@ -306,117 +302,20 @@ var useRevision = function useRevision(_ref) {
|
|
|
306
302
|
return _ref7.apply(this, arguments);
|
|
307
303
|
};
|
|
308
304
|
}();
|
|
309
|
-
},
|
|
310
|
-
requestReview: function requestReview() {
|
|
311
|
-
return /*#__PURE__*/function () {
|
|
312
|
-
var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee5(id) {
|
|
313
|
-
return (0, _regeneratorRuntime2.default)().wrap(function _callee5$(_context5) {
|
|
314
|
-
while (1) {
|
|
315
|
-
switch (_context5.prev = _context5.next) {
|
|
316
|
-
case 0:
|
|
317
|
-
setLoading(true);
|
|
318
|
-
_context5.next = 3;
|
|
319
|
-
return client.mutate({
|
|
320
|
-
mutation: REQUEST_REVIEW,
|
|
321
|
-
variables: {
|
|
322
|
-
revision: id || revision.id
|
|
323
|
-
},
|
|
324
|
-
update: function update(_, result) {
|
|
325
|
-
if (!result || !result.data) {
|
|
326
|
-
showSnackbar("Missing result in update callback on Request Review Mutation.");
|
|
327
|
-
return;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
var error = result.data.content.error;
|
|
331
|
-
|
|
332
|
-
if (error) {
|
|
333
|
-
return showSnackbar(error.message);
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
showSnackbar( /*#__PURE__*/_react.default.createElement("span", null, "Review requested successfully!"));
|
|
337
|
-
}
|
|
338
|
-
});
|
|
339
|
-
|
|
340
|
-
case 3:
|
|
341
|
-
setLoading(false);
|
|
342
|
-
|
|
343
|
-
case 4:
|
|
344
|
-
case "end":
|
|
345
|
-
return _context5.stop();
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
}, _callee5);
|
|
349
|
-
}));
|
|
350
|
-
|
|
351
|
-
return function (_x5) {
|
|
352
|
-
return _ref8.apply(this, arguments);
|
|
353
|
-
};
|
|
354
|
-
}();
|
|
355
|
-
},
|
|
356
|
-
requestChanges: function requestChanges() {
|
|
357
|
-
return /*#__PURE__*/function () {
|
|
358
|
-
var _ref9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee6(id) {
|
|
359
|
-
return (0, _regeneratorRuntime2.default)().wrap(function _callee6$(_context6) {
|
|
360
|
-
while (1) {
|
|
361
|
-
switch (_context6.prev = _context6.next) {
|
|
362
|
-
case 0:
|
|
363
|
-
setLoading(true);
|
|
364
|
-
_context6.next = 3;
|
|
365
|
-
return client.mutate({
|
|
366
|
-
mutation: REQUEST_CHANGES,
|
|
367
|
-
variables: {
|
|
368
|
-
revision: id || revision.id
|
|
369
|
-
},
|
|
370
|
-
update: function update(_, result) {
|
|
371
|
-
if (!result || !result.data) {
|
|
372
|
-
showSnackbar("Missing result in update callback on Request Changes Mutation.");
|
|
373
|
-
return;
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
var error = result.data.content.error;
|
|
377
|
-
|
|
378
|
-
if (error) {
|
|
379
|
-
showSnackbar(error.message);
|
|
380
|
-
return;
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
showSnackbar( /*#__PURE__*/_react.default.createElement("span", null, "Changes requested successfully!"));
|
|
384
|
-
}
|
|
385
|
-
});
|
|
386
|
-
|
|
387
|
-
case 3:
|
|
388
|
-
setLoading(false);
|
|
389
|
-
|
|
390
|
-
case 4:
|
|
391
|
-
case "end":
|
|
392
|
-
return _context6.stop();
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
}, _callee6);
|
|
396
|
-
}));
|
|
397
|
-
|
|
398
|
-
return function (_x6) {
|
|
399
|
-
return _ref9.apply(this, arguments);
|
|
400
|
-
};
|
|
401
|
-
}();
|
|
402
305
|
}
|
|
403
306
|
}),
|
|
404
307
|
createRevision = _useHandlers.createRevision,
|
|
405
308
|
editRevision = _useHandlers.editRevision,
|
|
406
309
|
deleteRevision = _useHandlers.deleteRevision,
|
|
407
310
|
publishRevision = _useHandlers.publishRevision,
|
|
408
|
-
unpublishRevision = _useHandlers.unpublishRevision
|
|
409
|
-
requestReview = _useHandlers.requestReview,
|
|
410
|
-
requestChanges = _useHandlers.requestChanges;
|
|
311
|
+
unpublishRevision = _useHandlers.unpublishRevision;
|
|
411
312
|
|
|
412
313
|
return {
|
|
413
314
|
createRevision: createRevision,
|
|
414
315
|
editRevision: editRevision,
|
|
415
316
|
deleteRevision: deleteRevision,
|
|
416
317
|
publishRevision: publishRevision,
|
|
417
|
-
unpublishRevision: unpublishRevision
|
|
418
|
-
requestReview: requestReview,
|
|
419
|
-
requestChanges: requestChanges
|
|
318
|
+
unpublishRevision: unpublishRevision
|
|
420
319
|
};
|
|
421
320
|
};
|
|
422
321
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRevision","revision","useCms","publishEntryRevision","deleteEntry","useContentEntry","contentModel","entry","setLoading","listQueryVariables","useRouter","history","useSnackbar","showSnackbar","client","useApolloClient","modelId","useMemo","CREATE_REVISION","GQL","createCreateFromMutation","UNPUBLISH_REVISION","createUnpublishMutation","REQUEST_REVIEW","createRequestReviewMutation","REQUEST_CHANGES","createRequestChangesMutation","useHandlers","createRevision","id","mutate","mutation","variables","update","cache","result","data","newRevision","content","GQLCache","updateLatestRevisionInListCache","addRevisionToRevisionsCache","createResponse","error","message","push","encodeURIComponent","editRevision","deleteRevision","model","targetRevision","publishRevision","response","meta","version","unpublishRevision","requestReview","_","requestChanges"],"sources":["useRevision.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useHandlers } from \"@webiny/app/hooks/useHandlers\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { CmsEditorContentEntry } from \"~/types\";\nimport * as GQL from \"~/admin/graphql/contentEntries\";\nimport * as GQLCache from \"./cache\";\nimport { useApolloClient, useCms } from \"~/admin/hooks\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport {\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables,\n CmsEntryRequestChangesMutationResponse,\n CmsEntryRequestChangesMutationVariables,\n CmsEntryRequestReviewMutationResponse,\n CmsEntryRequestReviewMutationVariables,\n CmsEntryUnpublishMutationResponse,\n CmsEntryUnpublishMutationVariables\n} from \"~/admin/graphql/contentEntries\";\n\ninterface CreateRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface EditRevisionHandler {\n (id?: string): void;\n}\ninterface DeleteRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface PublishRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface UnpublishRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface RequestReviewHandler {\n (id?: string): Promise<void>;\n}\ninterface RequestChangesHandler {\n (id?: string): Promise<void>;\n}\ninterface UseRevisionHandlers {\n createRevision: CreateRevisionHandler;\n editRevision: EditRevisionHandler;\n deleteRevision: DeleteRevisionHandler;\n publishRevision: PublishRevisionHandler;\n unpublishRevision: UnpublishRevisionHandler;\n requestReview: RequestReviewHandler;\n requestChanges: RequestChangesHandler;\n}\n\nexport interface UseRevisionProps {\n revision: CmsEditorContentEntry;\n}\n\nexport const useRevision = ({ revision }: UseRevisionProps) => {\n const { publishEntryRevision, deleteEntry } = useCms();\n const { contentModel, entry, setLoading, listQueryVariables } = useContentEntry();\n\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const client = useApolloClient();\n const { modelId } = contentModel;\n\n const { CREATE_REVISION, UNPUBLISH_REVISION, REQUEST_REVIEW, REQUEST_CHANGES } = useMemo(() => {\n return {\n CREATE_REVISION: GQL.createCreateFromMutation(contentModel),\n UNPUBLISH_REVISION: GQL.createUnpublishMutation(contentModel),\n REQUEST_REVIEW: GQL.createRequestReviewMutation(contentModel),\n REQUEST_CHANGES: GQL.createRequestChangesMutation(contentModel)\n };\n }, [modelId]);\n\n const {\n createRevision,\n editRevision,\n deleteRevision,\n publishRevision,\n unpublishRevision,\n requestReview,\n requestChanges\n } = useHandlers<UseRevisionHandlers>(\n { entry },\n {\n createRevision:\n (): CreateRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n const createResponse = await client.mutate<\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n >({\n mutation: CREATE_REVISION,\n variables: {\n revision: id || revision.id\n },\n update(cache, result) {\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Create Revision Mutation.`\n );\n return;\n }\n const newRevision = result.data.content.data;\n if (!newRevision) {\n showSnackbar(\n \"Missing revision data in update callback on Create Revision Mutation.\"\n );\n return;\n }\n\n GQLCache.updateLatestRevisionInListCache(\n contentModel,\n cache,\n newRevision,\n listQueryVariables\n );\n GQLCache.addRevisionToRevisionsCache(contentModel, cache, newRevision);\n }\n });\n\n setLoading(false);\n if (!createResponse || !createResponse.data) {\n showSnackbar(`Missing response data in Create Revision Callable.`);\n return;\n }\n\n const { data, error } = createResponse.data.content;\n\n if (error) {\n showSnackbar(error.message);\n return;\n } else if (!data) {\n showSnackbar(`Missing data in Create Revision callable.`);\n return;\n }\n\n history.push(\n `/cms/content-entries/${modelId}?id=${encodeURIComponent(data.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 }): DeleteRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n\n const { error, entry: targetRevision } = await deleteEntry({\n model: contentModel,\n entry,\n id: id || entry.id,\n listQueryVariables\n });\n\n setLoading(false);\n\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n // Redirect to the first revision in the list of all entry revisions.\n history.push(\n `/cms/content-entries/${modelId}?id=` +\n encodeURIComponent(targetRevision!.id)\n );\n },\n publishRevision:\n ({ entry }): PublishRevisionHandler =>\n async id => {\n setLoading(true);\n\n const response = await publishEntryRevision({\n model: contentModel,\n entry: entry,\n id: id || entry.id,\n listQueryVariables\n });\n\n setLoading(false);\n\n const { error } = response;\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n showSnackbar(\n <span>\n Successfully published revision{\" \"}\n <strong>#{response.entry!.meta.version}</strong>!\n </span>\n );\n },\n unpublishRevision:\n (): UnpublishRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n const result = await client.mutate<\n CmsEntryUnpublishMutationResponse,\n CmsEntryUnpublishMutationVariables\n >({\n mutation: UNPUBLISH_REVISION,\n variables: {\n revision: id || revision.id\n }\n });\n setLoading(false);\n if (!result || !result.data) {\n showSnackbar(`Missing result in update callback on Unpublish Mutation.`);\n return;\n }\n\n const { error } = result.data.content;\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 requestReview:\n (): RequestReviewHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n await client.mutate<\n CmsEntryRequestReviewMutationResponse,\n CmsEntryRequestReviewMutationVariables\n >({\n mutation: REQUEST_REVIEW,\n variables: {\n revision: id || revision.id\n },\n update(_, result) {\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Request Review Mutation.`\n );\n return;\n }\n const { error } = result.data.content;\n if (error) {\n return showSnackbar(error.message);\n }\n\n showSnackbar(<span>Review requested successfully!</span>);\n }\n });\n\n setLoading(false);\n },\n requestChanges:\n (): RequestChangesHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n await client.mutate<\n CmsEntryRequestChangesMutationResponse,\n CmsEntryRequestChangesMutationVariables\n >({\n mutation: REQUEST_CHANGES,\n variables: {\n revision: id || revision.id\n },\n update(_, result) {\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Request Changes Mutation.`\n );\n return;\n }\n const { error } = result.data.content;\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n showSnackbar(<span>Changes requested successfully!</span>);\n }\n });\n\n setLoading(false);\n }\n }\n );\n\n return {\n createRevision,\n editRevision,\n deleteRevision,\n publishRevision,\n unpublishRevision,\n requestReview,\n requestChanges\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useRevision","revision","useCms","publishEntryRevision","deleteEntry","useContentEntry","contentModel","entry","setLoading","listQueryVariables","useRouter","history","useSnackbar","showSnackbar","client","useApolloClient","modelId","useMemo","CREATE_REVISION","GQL","createCreateFromMutation","UNPUBLISH_REVISION","createUnpublishMutation","useHandlers","createRevision","id","mutate","mutation","variables","update","cache","result","data","newRevision","content","GQLCache","updateLatestRevisionInListCache","addRevisionToRevisionsCache","createResponse","error","message","push","encodeURIComponent","editRevision","deleteRevision","model","targetRevision","publishRevision","response","meta","version","unpublishRevision"],"sources":["useRevision.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useHandlers } from \"@webiny/app/hooks/useHandlers\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { CmsEditorContentEntry } from \"~/types\";\nimport * as GQL from \"~/admin/graphql/contentEntries\";\nimport * as GQLCache from \"./cache\";\nimport { useApolloClient, useCms } from \"~/admin/hooks\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport {\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables,\n CmsEntryUnpublishMutationResponse,\n CmsEntryUnpublishMutationVariables\n} from \"~/admin/graphql/contentEntries\";\n\ninterface CreateRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface EditRevisionHandler {\n (id?: string): void;\n}\ninterface DeleteRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface PublishRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface UnpublishRevisionHandler {\n (id?: string): Promise<void>;\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: CmsEditorContentEntry;\n}\n\nexport const useRevision = ({ revision }: UseRevisionProps) => {\n const { publishEntryRevision, deleteEntry } = useCms();\n const { contentModel, entry, setLoading, listQueryVariables } = useContentEntry();\n\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const client = useApolloClient();\n const { modelId } = contentModel;\n\n const { CREATE_REVISION, UNPUBLISH_REVISION } = useMemo(() => {\n return {\n CREATE_REVISION: GQL.createCreateFromMutation(contentModel),\n UNPUBLISH_REVISION: GQL.createUnpublishMutation(contentModel)\n };\n }, [modelId]);\n\n const { createRevision, editRevision, deleteRevision, publishRevision, unpublishRevision } =\n useHandlers<UseRevisionHandlers>(\n { entry },\n {\n createRevision:\n (): CreateRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n const createResponse = await client.mutate<\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n >({\n mutation: CREATE_REVISION,\n variables: {\n revision: id || revision.id\n },\n update(cache, result) {\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Create Revision Mutation.`\n );\n return;\n }\n const newRevision = result.data.content.data;\n if (!newRevision) {\n showSnackbar(\n \"Missing revision data in update callback on Create Revision Mutation.\"\n );\n return;\n }\n\n GQLCache.updateLatestRevisionInListCache(\n contentModel,\n cache,\n newRevision,\n listQueryVariables\n );\n GQLCache.addRevisionToRevisionsCache(\n contentModel,\n cache,\n newRevision\n );\n }\n });\n\n setLoading(false);\n if (!createResponse || !createResponse.data) {\n showSnackbar(`Missing response data in Create Revision Callable.`);\n return;\n }\n\n const { data, error } = createResponse.data.content;\n\n if (error) {\n showSnackbar(error.message);\n return;\n } else if (!data) {\n showSnackbar(`Missing data in Create Revision callable.`);\n return;\n }\n\n history.push(\n `/cms/content-entries/${modelId}?id=${encodeURIComponent(data.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 }): DeleteRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n\n const { error, entry: targetRevision } = await deleteEntry({\n model: contentModel,\n entry,\n id: id || entry.id,\n listQueryVariables\n });\n\n setLoading(false);\n\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n // Redirect to the first revision in the list of all entry revisions.\n history.push(\n `/cms/content-entries/${modelId}?id=` +\n encodeURIComponent(targetRevision!.id)\n );\n },\n publishRevision:\n ({ entry }): PublishRevisionHandler =>\n async id => {\n setLoading(true);\n\n const response = await publishEntryRevision({\n model: contentModel,\n entry: entry,\n id: id || entry.id,\n listQueryVariables\n });\n\n setLoading(false);\n\n const { error } = response;\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n showSnackbar(\n <span>\n Successfully published revision{\" \"}\n <strong>#{response.entry!.meta.version}</strong>!\n </span>\n );\n },\n unpublishRevision:\n (): UnpublishRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n const result = await client.mutate<\n CmsEntryUnpublishMutationResponse,\n CmsEntryUnpublishMutationVariables\n >({\n mutation: UNPUBLISH_REVISION,\n variables: {\n revision: id || revision.id\n }\n });\n setLoading(false);\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Unpublish Mutation.`\n );\n return;\n }\n\n const { error } = result.data.content;\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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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const ContentEntriesModule:
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare const ContentEntriesModule: React.FC;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.ContentEntriesModule = void 0;
|
|
9
9
|
|
|
10
|
-
var _react =
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
|
12
12
|
var _appAdmin = require("@webiny/app-admin");
|
|
13
13
|
|
|
@@ -19,6 +19,8 @@ var _ContentEntriesViewConfig = require("./ContentEntriesViewConfig");
|
|
|
19
19
|
|
|
20
20
|
var _ContentEntriesRenderer = require("./ContentEntriesRenderer");
|
|
21
21
|
|
|
22
|
+
var _plugins = require("@webiny/plugins");
|
|
23
|
+
|
|
22
24
|
var Filter = _ContentEntriesViewConfig.ContentEntriesViewConfig.Filter,
|
|
23
25
|
Sorter = _ContentEntriesViewConfig.ContentEntriesViewConfig.Sorter;
|
|
24
26
|
|
|
@@ -30,6 +32,9 @@ var FilterByStatus = function FilterByStatus() {
|
|
|
30
32
|
cb(value === "all" ? undefined : value);
|
|
31
33
|
}
|
|
32
34
|
});
|
|
35
|
+
var filterStatusPlugins = (0, _react.useMemo)(function () {
|
|
36
|
+
return _plugins.plugins.byType("cms.entry.filter.status");
|
|
37
|
+
}, []);
|
|
33
38
|
return /*#__PURE__*/_react.default.createElement(_Select.Select, Object.assign({}, bind, {
|
|
34
39
|
label: "Filter by status",
|
|
35
40
|
description: "Filter by a specific entry status."
|
|
@@ -41,11 +46,12 @@ var FilterByStatus = function FilterByStatus() {
|
|
|
41
46
|
value: "published"
|
|
42
47
|
}, "Published"), /*#__PURE__*/_react.default.createElement("option", {
|
|
43
48
|
value: "unpublished"
|
|
44
|
-
}, "Unpublished"),
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
+
}, "Unpublished"), filterStatusPlugins.map(function (pl) {
|
|
50
|
+
return /*#__PURE__*/_react.default.createElement("option", {
|
|
51
|
+
key: pl.value,
|
|
52
|
+
value: pl.value
|
|
53
|
+
}, pl.label);
|
|
54
|
+
}));
|
|
49
55
|
};
|
|
50
56
|
|
|
51
57
|
var ContentEntriesModule = function ContentEntriesModule() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Filter","ContentEntriesViewConfig","Sorter","FilterByStatus","bind","useBind","name","defaultValue","beforeChange","value","cb","undefined","ContentEntriesModule","ContentEntriesViewRenderer","ContentEntriesRenderer"],"sources":["ContentEntriesModule.tsx"],"sourcesContent":["import React from \"react\";\nimport { Compose, Plugins } from \"@webiny/app-admin\";\nimport { useBind } from \"@webiny/form\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { ContentEntriesViewRenderer, ContentEntriesViewConfig } from \"./ContentEntriesViewConfig\";\nimport { ContentEntriesRenderer } from \"./ContentEntriesRenderer\";\n\nconst { Filter, Sorter } = ContentEntriesViewConfig;\n\nconst FilterByStatus = () => {\n const bind = useBind({\n name: \"status\",\n defaultValue: \"all\",\n beforeChange(value, cb) {\n cb(value === \"all\" ? undefined : value);\n }\n });\n\n return (\n <Select\n {...bind}\n label={\"Filter by status\"}\n description={\"Filter by a specific entry status.\"}\n >\n <option value={\"all\"}>All</option>\n <option value={\"draft\"}>Draft</option>\n <option value={\"published\"}>Published</option>\n <option value={\"unpublished\"}>Unpublished</option>\n
|
|
1
|
+
{"version":3,"names":["Filter","ContentEntriesViewConfig","Sorter","FilterByStatus","bind","useBind","name","defaultValue","beforeChange","value","cb","undefined","filterStatusPlugins","useMemo","plugins","byType","map","pl","label","ContentEntriesModule","ContentEntriesViewRenderer","ContentEntriesRenderer"],"sources":["ContentEntriesModule.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { Compose, Plugins } from \"@webiny/app-admin\";\nimport { useBind } from \"@webiny/form\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { ContentEntriesViewRenderer, ContentEntriesViewConfig } from \"./ContentEntriesViewConfig\";\nimport { ContentEntriesRenderer } from \"./ContentEntriesRenderer\";\nimport { plugins } from \"@webiny/plugins\";\nimport { CmsEntryFilterStatusPlugin } from \"~/types\";\n\nconst { Filter, Sorter } = ContentEntriesViewConfig;\n\nconst FilterByStatus: React.FC = () => {\n const bind = useBind({\n name: \"status\",\n defaultValue: \"all\",\n beforeChange(value, cb) {\n cb(value === \"all\" ? undefined : value);\n }\n });\n\n const filterStatusPlugins = useMemo(() => {\n return plugins.byType<CmsEntryFilterStatusPlugin>(\"cms.entry.filter.status\");\n }, []);\n\n return (\n <Select\n {...bind}\n label={\"Filter by status\"}\n description={\"Filter by a specific entry status.\"}\n >\n <option value={\"all\"}>All</option>\n <option value={\"draft\"}>Draft</option>\n <option value={\"published\"}>Published</option>\n <option value={\"unpublished\"}>Unpublished</option>\n {filterStatusPlugins.map(pl => {\n return (\n <option key={pl.value} value={pl.value}>\n {pl.label}\n </option>\n );\n })}\n </Select>\n );\n};\n\nexport const ContentEntriesModule: React.FC = () => {\n return (\n <>\n <Compose component={ContentEntriesViewRenderer} with={ContentEntriesRenderer} />\n <Plugins>\n <ContentEntriesViewConfig>\n <Filter name={\"status\"} element={<FilterByStatus />} />\n <Sorter name={\"savedOn_DESC\"} label={\"Newest to oldest\"} />\n <Sorter name={\"savedOn_ASC\"} label={\"Oldest to newest\"} />\n </ContentEntriesViewConfig>\n </Plugins>\n </>\n );\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA,IAAQA,MAAR,GAA2BC,kDAA3B,CAAQD,MAAR;AAAA,IAAgBE,MAAhB,GAA2BD,kDAA3B,CAAgBC,MAAhB;;AAEA,IAAMC,cAAwB,GAAG,SAA3BA,cAA2B,GAAM;EACnC,IAAMC,IAAI,GAAG,IAAAC,aAAA,EAAQ;IACjBC,IAAI,EAAE,QADW;IAEjBC,YAAY,EAAE,KAFG;IAGjBC,YAHiB,wBAGJC,KAHI,EAGGC,EAHH,EAGO;MACpBA,EAAE,CAACD,KAAK,KAAK,KAAV,GAAkBE,SAAlB,GAA8BF,KAA/B,CAAF;IACH;EALgB,CAAR,CAAb;EAQA,IAAMG,mBAAmB,GAAG,IAAAC,cAAA,EAAQ,YAAM;IACtC,OAAOC,gBAAA,CAAQC,MAAR,CAA2C,yBAA3C,CAAP;EACH,CAF2B,EAEzB,EAFyB,CAA5B;EAIA,oBACI,6BAAC,cAAD,oBACQX,IADR;IAEI,KAAK,EAAE,kBAFX;IAGI,WAAW,EAAE;EAHjB,iBAKI;IAAQ,KAAK,EAAE;EAAf,SALJ,eAMI;IAAQ,KAAK,EAAE;EAAf,WANJ,eAOI;IAAQ,KAAK,EAAE;EAAf,eAPJ,eAQI;IAAQ,KAAK,EAAE;EAAf,iBARJ,EASKQ,mBAAmB,CAACI,GAApB,CAAwB,UAAAC,EAAE,EAAI;IAC3B,oBACI;MAAQ,GAAG,EAAEA,EAAE,CAACR,KAAhB;MAAuB,KAAK,EAAEQ,EAAE,CAACR;IAAjC,GACKQ,EAAE,CAACC,KADR,CADJ;EAKH,CANA,CATL,CADJ;AAmBH,CAhCD;;AAkCO,IAAMC,oBAA8B,GAAG,SAAjCA,oBAAiC,GAAM;EAChD,oBACI,yEACI,6BAAC,iBAAD;IAAS,SAAS,EAAEC,oDAApB;IAAgD,IAAI,EAAEC;EAAtD,EADJ,eAEI,6BAAC,iBAAD,qBACI,6BAAC,kDAAD,qBACI,6BAAC,MAAD;IAAQ,IAAI,EAAE,QAAd;IAAwB,OAAO,eAAE,6BAAC,cAAD;EAAjC,EADJ,eAEI,6BAAC,MAAD;IAAQ,IAAI,EAAE,cAAd;IAA8B,KAAK,EAAE;EAArC,EAFJ,eAGI,6BAAC,MAAD;IAAQ,IAAI,EAAE,aAAd;IAA6B,KAAK,EAAE;EAApC,EAHJ,CADJ,CAFJ,CADJ;AAYH,CAbM"}
|