@webiny/app-headless-cms 5.25.0 → 5.25.1-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.
- package/HeadlessCMS.js +2 -1
- package/HeadlessCMS.js.map +1 -1
- package/admin/contexts/Cms/index.d.ts +2 -2
- package/admin/contexts/Cms/index.js +0 -8
- package/admin/contexts/Cms/index.js.map +1 -1
- package/admin/hooks/useCms.d.ts +2 -2
- package/admin/hooks/useCms.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/utils.js +1 -1
- package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -1
- package/admin/plugins/index.d.ts +1 -1
- package/admin/plugins/routes.js +2 -4
- package/admin/plugins/routes.js.map +1 -1
- package/admin/plugins/transformers/dateTransformer.js +2 -2
- package/admin/plugins/transformers/dateTransformer.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesContext.d.ts +1 -1
- package/admin/views/contentEntries/ContentEntriesContext.js +34 -22
- package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesList.js +40 -43
- package/admin/views/contentEntries/ContentEntriesList.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/cache.js +1 -1
- package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -1
- package/admin/views/contentEntries/experiment/ContentEntriesModule.d.ts +1 -0
- package/admin/views/contentEntries/experiment/ContentEntriesModule.js +50 -0
- package/admin/views/contentEntries/experiment/ContentEntriesModule.js.map +1 -0
- package/admin/views/contentEntries/experiment/ContentEntriesRenderer.d.ts +2 -0
- package/admin/views/contentEntries/experiment/ContentEntriesRenderer.js +12 -0
- package/admin/views/contentEntries/experiment/ContentEntriesRenderer.js.map +1 -0
- package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.d.ts +35 -0
- package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.js +130 -0
- package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.js.map +1 -0
- package/admin/views/contentEntries/experiment/Property.d.ts +34 -0
- package/admin/views/contentEntries/experiment/Property.js +232 -0
- package/admin/views/contentEntries/experiment/Property.js.map +1 -0
- package/admin/views/contentEntries/hooks/useContentEntriesList.js +2 -1
- package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -1
- package/admin/views/contentModels/NewContentModelDialog.js +8 -5
- package/admin/views/contentModels/NewContentModelDialog.js.map +1 -1
- package/index.d.ts +10 -0
- package/index.js +11 -1
- package/index.js.map +1 -1
- package/package.json +23 -22
package/HeadlessCMS.js
CHANGED
|
@@ -4,6 +4,7 @@ import { Plugins, Provider } from "@webiny/app-admin";
|
|
|
4
4
|
import { CmsProvider } from "./admin/contexts/Cms";
|
|
5
5
|
import { CmsMenuLoader } from "./admin/menus/CmsMenuLoader";
|
|
6
6
|
import apiInformation from "./admin/plugins/apiInformation";
|
|
7
|
+
import { ContentEntriesModule } from "./admin/views/contentEntries/experiment/ContentEntriesModule";
|
|
7
8
|
|
|
8
9
|
var createHeadlessCMSProvider = function createHeadlessCMSProvider(createApolloClient) {
|
|
9
10
|
return function (Component) {
|
|
@@ -19,7 +20,7 @@ var createHeadlessCMSProvider = function createHeadlessCMSProvider(createApolloC
|
|
|
19
20
|
var HeadlessCMSExtension = function HeadlessCMSExtension(_ref2) {
|
|
20
21
|
var createApolloClient = _ref2.createApolloClient;
|
|
21
22
|
plugins.register(apiInformation);
|
|
22
|
-
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Provider, {
|
|
23
|
+
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(ContentEntriesModule, null), /*#__PURE__*/React.createElement(Provider, {
|
|
23
24
|
hoc: createHeadlessCMSProvider(createApolloClient)
|
|
24
25
|
}), /*#__PURE__*/React.createElement(Plugins, null, /*#__PURE__*/React.createElement(CmsMenuLoader, null)));
|
|
25
26
|
};
|
package/HeadlessCMS.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["HeadlessCMS.tsx"],"names":["React","Fragment","memo","plugins","Plugins","Provider","CmsProvider","CmsMenuLoader","apiInformation","createHeadlessCMSProvider","createApolloClient","Component","HeadlessCMSProvider","children","HeadlessCMSExtension","register","HeadlessCMS"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,IAA1B,QAAsC,OAAtC;AACA,SAASC,OAAT,QAAwB,iBAAxB;AACA,SAASC,OAAT,EAAkBC,QAAlB,QAAkC,mBAAlC;AAEA,SAASC,WAAT;AACA,SAASC,aAAT;AACA,OAAOC,cAAP;;AAEA,IAAMC,yBAAyB,GAC3B,SADEA,yBACF,CAACC,kBAAD;AAAA,SACA,UAACC,SAAD,EAAmC;AAC/B,WAAO,SAASC,mBAAT,OAA2C;AAAA,UAAZC,QAAY,QAAZA,QAAY;AAC9C,0BACI,oBAAC,WAAD;AAAa,QAAA,kBAAkB,EAAEH;AAAjC,sBACI,oBAAC,SAAD,QAAYG,QAAZ,CADJ,CADJ;AAKH,KAND;AAOH,GATD;AAAA,CADJ;;AAuBA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,QAA8C;AAAA,MAA3CJ,kBAA2C,SAA3CA,kBAA2C;
|
|
1
|
+
{"version":3,"sources":["HeadlessCMS.tsx"],"names":["React","Fragment","memo","plugins","Plugins","Provider","CmsProvider","CmsMenuLoader","apiInformation","ContentEntriesModule","createHeadlessCMSProvider","createApolloClient","Component","HeadlessCMSProvider","children","HeadlessCMSExtension","register","HeadlessCMS"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,IAA1B,QAAsC,OAAtC;AACA,SAASC,OAAT,QAAwB,iBAAxB;AACA,SAASC,OAAT,EAAkBC,QAAlB,QAAkC,mBAAlC;AAEA,SAASC,WAAT;AACA,SAASC,aAAT;AACA,OAAOC,cAAP;AACA,SAASC,oBAAT;;AAEA,IAAMC,yBAAyB,GAC3B,SADEA,yBACF,CAACC,kBAAD;AAAA,SACA,UAACC,SAAD,EAAmC;AAC/B,WAAO,SAASC,mBAAT,OAA2C;AAAA,UAAZC,QAAY,QAAZA,QAAY;AAC9C,0BACI,oBAAC,WAAD;AAAa,QAAA,kBAAkB,EAAEH;AAAjC,sBACI,oBAAC,SAAD,QAAYG,QAAZ,CADJ,CADJ;AAKH,KAND;AAOH,GATD;AAAA,CADJ;;AAuBA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,QAA8C;AAAA,MAA3CJ,kBAA2C,SAA3CA,kBAA2C;AACvER,EAAAA,OAAO,CAACa,QAAR,CAAiBR,cAAjB;AAEA,sBACI,oBAAC,QAAD,qBACI,oBAAC,oBAAD,OADJ,eAEI,oBAAC,QAAD;AAAU,IAAA,GAAG,EAAEE,yBAAyB,CAACC,kBAAD;AAAxC,IAFJ,eAGI,oBAAC,OAAD,qBACI,oBAAC,aAAD,OADJ,CAHJ,CADJ;AASH,CAZD;;AAcA,OAAO,IAAMM,WAAW,gBAAGf,IAAI,CAACa,oBAAD,CAAxB","sourcesContent":["import React, { Fragment, memo } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { Plugins, Provider } from \"@webiny/app-admin\";\nimport { ApolloClient } from \"apollo-client\";\nimport { CmsProvider } from \"./admin/contexts/Cms\";\nimport { CmsMenuLoader } from \"~/admin/menus/CmsMenuLoader\";\nimport apiInformation from \"./admin/plugins/apiInformation\";\nimport { ContentEntriesModule } from \"./admin/views/contentEntries/experiment/ContentEntriesModule\";\n\nconst createHeadlessCMSProvider =\n (createApolloClient: CreateApolloClient) =>\n (Component: React.FC): React.FC => {\n return function HeadlessCMSProvider({ children }) {\n return (\n <CmsProvider createApolloClient={createApolloClient}>\n <Component>{children}</Component>\n </CmsProvider>\n );\n };\n };\n\ninterface CreateApolloClientParams {\n uri: string;\n}\ninterface CreateApolloClient {\n (params: CreateApolloClientParams): ApolloClient<any>;\n}\n\nexport interface HeadlessCMSProps {\n createApolloClient: CreateApolloClient;\n}\n\nconst HeadlessCMSExtension = ({ createApolloClient }: HeadlessCMSProps) => {\n plugins.register(apiInformation);\n\n return (\n <Fragment>\n <ContentEntriesModule />\n <Provider hoc={createHeadlessCMSProvider(createApolloClient)} />\n <Plugins>\n <CmsMenuLoader />\n </Plugins>\n </Fragment>\n );\n};\n\nexport const HeadlessCMS = memo(HeadlessCMSExtension);\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import ApolloClient from "apollo-client";
|
|
3
|
-
export interface
|
|
3
|
+
export interface CmsContext {
|
|
4
4
|
getApolloClient(locale: string): ApolloClient<any>;
|
|
5
5
|
createApolloClient: CmsProviderProps["createApolloClient"];
|
|
6
6
|
apolloClient: ApolloClient<any>;
|
|
7
7
|
}
|
|
8
|
-
export declare const CmsContext: React.Context<
|
|
8
|
+
export declare const CmsContext: React.Context<CmsContext>;
|
|
9
9
|
export interface CmsProviderProps {
|
|
10
10
|
createApolloClient: (params: {
|
|
11
11
|
uri: string;
|
|
@@ -23,14 +23,6 @@ export var CmsProvider = function CmsProvider(props) {
|
|
|
23
23
|
getCurrentLocale = _useI18N.getCurrentLocale;
|
|
24
24
|
|
|
25
25
|
var currentLocale = getCurrentLocale("content");
|
|
26
|
-
/**
|
|
27
|
-
* TODO @ts-refactor @pavel did you think about this?
|
|
28
|
-
*/
|
|
29
|
-
// TODO: not sure why this was necessary :thinking:
|
|
30
|
-
// const hasPermission = identity.getPermission("cms.endpoint.manage");
|
|
31
|
-
// if (!hasPermission) {
|
|
32
|
-
// return <CmsContext.Provider value={{}} {...props} />;
|
|
33
|
-
// }
|
|
34
26
|
|
|
35
27
|
if (currentLocale && !apolloClientsCache[currentLocale]) {
|
|
36
28
|
apolloClientsCache[currentLocale] = props.createApolloClient({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.tsx"],"names":["React","useI18N","CircularProgress","config","appConfig","CmsContext","createContext","getApolloClient","createApolloClient","apolloClient","apolloClientsCache","CmsProvider","props","apiUrl","getKey","process","env","REACT_APP_API_URL","getCurrentLocale","currentLocale","uri","value","locale"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAASC,OAAT,QAAwB,gCAAxB;AACA,SAASC,gBAAT,QAAiC,qBAAjC;AACA,SAASC,MAAM,IAAIC,SAAnB,QAAoC,oBAApC;AAQA,OAAO,IAAMC,UAAU,gBAAGL,KAAK,CAACM,aAAN,
|
|
1
|
+
{"version":3,"sources":["index.tsx"],"names":["React","useI18N","CircularProgress","config","appConfig","CmsContext","createContext","getApolloClient","createApolloClient","apolloClient","apolloClientsCache","CmsProvider","props","apiUrl","getKey","process","env","REACT_APP_API_URL","getCurrentLocale","currentLocale","uri","value","locale"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAASC,OAAT,QAAwB,gCAAxB;AACA,SAASC,gBAAT,QAAiC,qBAAjC;AACA,SAASC,MAAM,IAAIC,SAAnB,QAAoC,oBAApC;AAQA,OAAO,IAAMC,UAAU,gBAAGL,KAAK,CAACM,aAAN,CAAgC;AACtDC,EAAAA,eAAe,EAAE,2BAAM;AACnB,WAAO,IAAP;AACH,GAHqD;AAItDC,EAAAA,kBAAkB,EAAE,8BAAM;AACtB,WAAO,IAAP;AACH,GANqD;AAOtDC,EAAAA,YAAY,EAAE;AACd;AACJ;AACA;;AAV0D,CAAhC,CAAnB;AAiBP,IAAMC,kBAAsC,GAAG,EAA/C;AAOA,OAAO,IAAMC,WAAuC,GAAG,SAA1CA,WAA0C,CAAAC,KAAK,EAAI;AAC5D,MAAMC,MAAM,GAAGT,SAAS,CAACU,MAAV,CAAiB,SAAjB,EAA4BC,OAAO,CAACC,GAAR,CAAYC,iBAAxC,CAAf;;AACA,iBAA6BhB,OAAO,EAApC;AAAA,MAAQiB,gBAAR,YAAQA,gBAAR;;AAEA,MAAMC,aAAa,GAAGD,gBAAgB,CAAC,SAAD,CAAtC;;AAEA,MAAIC,aAAa,IAAI,CAACT,kBAAkB,CAACS,aAAD,CAAxC,EAAyD;AACrDT,IAAAA,kBAAkB,CAACS,aAAD,CAAlB,GAAoCP,KAAK,CAACJ,kBAAN,CAAyB;AACzDY,MAAAA,GAAG,YAAKP,MAAL,yBAA0BM,aAA1B;AADsD,KAAzB,CAApC;AAGH;;AAED,MAAI,CAACA,aAAL,EAAoB;AAChB,wBAAO,oBAAC,gBAAD,OAAP;AACH;;AAED,MAAME,KAAK,GAAG;AACVd,IAAAA,eADU,2BACMe,MADN,EACsB;AAC5B,UAAI,CAACZ,kBAAkB,CAACY,MAAD,CAAvB,EAAiC;AAC7BZ,QAAAA,kBAAkB,CAACY,MAAD,CAAlB,GAA6BV,KAAK,CAACJ,kBAAN,CAAyB;AAClDY,UAAAA,GAAG,YAAKP,MAAL,yBAA0BS,MAA1B;AAD+C,SAAzB,CAA7B;AAGH;;AACD,aAAOZ,kBAAkB,CAACY,MAAD,CAAzB;AACH,KARS;AASVd,IAAAA,kBAAkB,EAAEI,KAAK,CAACJ,kBAThB;AAUVC,IAAAA,YAAY,EAAEC,kBAAkB,CAACS,aAAD;AAVtB,GAAd;AAaA,sBAAO,oBAAC,UAAD,CAAY,QAAZ;AAAqB,IAAA,KAAK,EAAEE;AAA5B,KAAuCT,KAAvC,EAAP;AACH,CA9BM","sourcesContent":["import React from \"react\";\nimport ApolloClient from \"apollo-client\";\nimport { useI18N } from \"@webiny/app-i18n/hooks/useI18N\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { config as appConfig } from \"@webiny/app/config\";\n\nexport interface CmsContext {\n getApolloClient(locale: string): ApolloClient<any>;\n createApolloClient: CmsProviderProps[\"createApolloClient\"];\n apolloClient: ApolloClient<any>;\n}\n\nexport const CmsContext = React.createContext<CmsContext>({\n getApolloClient: () => {\n return null;\n },\n createApolloClient: () => {\n return null;\n },\n apolloClient: null\n /**\n * Safe to cast.\n */\n} as unknown as CmsContext);\n\ninterface ApolloClientsCache {\n [locale: string]: ApolloClient<any>;\n}\n\nconst apolloClientsCache: ApolloClientsCache = {};\n\nexport interface CmsProviderProps {\n createApolloClient: (params: { uri: string }) => ApolloClient<any>;\n children: React.ReactNode;\n}\n\nexport const CmsProvider: React.FC<CmsProviderProps> = props => {\n const apiUrl = appConfig.getKey(\"API_URL\", process.env.REACT_APP_API_URL);\n const { getCurrentLocale } = useI18N();\n\n const currentLocale = getCurrentLocale(\"content\");\n\n if (currentLocale && !apolloClientsCache[currentLocale]) {\n apolloClientsCache[currentLocale] = props.createApolloClient({\n uri: `${apiUrl}/cms/manage/${currentLocale}`\n });\n }\n\n if (!currentLocale) {\n return <CircularProgress />;\n }\n\n const value = {\n getApolloClient(locale: string) {\n if (!apolloClientsCache[locale]) {\n apolloClientsCache[locale] = props.createApolloClient({\n uri: `${apiUrl}/cms/manage/${locale}`\n });\n }\n return apolloClientsCache[locale];\n },\n createApolloClient: props.createApolloClient,\n apolloClient: apolloClientsCache[currentLocale]\n };\n\n return <CmsContext.Provider value={value} {...props} />;\n};\n"]}
|
package/admin/hooks/useCms.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare function useCms():
|
|
1
|
+
import { CmsContext } from "../contexts/Cms";
|
|
2
|
+
declare function useCms(): CmsContext;
|
|
3
3
|
export default useCms;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useCms.ts"],"names":["useContext","CmsContext","useCms","context","Error"],"mappings":"AAAA,SAASA,UAAT,QAA2B,OAA3B;AACA,SAASC,UAAT;;AAEA,SAASC,MAAT,GAAkB;AACd,MAAMC,OAAO,GAAGH,UAAU,
|
|
1
|
+
{"version":3,"sources":["useCms.ts"],"names":["useContext","CmsContext","useCms","context","Error"],"mappings":"AAAA,SAASA,UAAT,QAA2B,OAA3B;AACA,SAASC,UAAT;;AAEA,SAASC,MAAT,GAAkB;AACd,MAAMC,OAAO,GAAGH,UAAU,CAACC,UAAD,CAA1B;;AACA,MAAI,CAACE,OAAL,EAAc;AACV,UAAM,IAAIC,KAAJ,CAAU,0CAAV,CAAN;AACH;;AAED,SAAOD,OAAP;AACH;;AAED,eAAeD,MAAf","sourcesContent":["import { useContext } from \"react\";\nimport { CmsContext } from \"../contexts/Cms\";\n\nfunction useCms() {\n const context = useContext(CmsContext);\n if (!context) {\n throw new Error(\"useCms must be used within a CmsProvider\");\n }\n\n return context;\n}\n\nexport default useCms;\n"]}
|
|
@@ -144,7 +144,7 @@ export var getCurrentTimeZone = function getCurrentTimeZone(date) {
|
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
var timezone = matches[1];
|
|
147
|
-
return "".concat(timezone.
|
|
147
|
+
return "".concat(timezone.slice(0, 3), ":").concat(timezone.slice(3));
|
|
148
148
|
};
|
|
149
149
|
export var getCurrentLocalTime = function getCurrentLocalTime(date) {
|
|
150
150
|
if (!date) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["utils.tsx"],"names":["React","css","Cell","IconButton","UTC_TIMEZONES","value","label","DEFAULT_TIMEZONE","getDefaultFieldValue","field","bind","getCurrent","def","settings","defaultSetValue","getCurrentTimeZone","date","Date","toTimeString","matches","match","timezone","substr","getCurrentLocalTime","split","time","getCurrentDate","year","String","getFullYear","padStart","month","getMonth","day","getDate","deleteIconStyles","width","height","color","RemoveFieldButton","trailingIcon","onClick","icon"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Cell } from \"@webiny/ui/Grid\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { CmsEditorField } from \"~/types\";\n\nexport const UTC_TIMEZONES = [\n {\n value: \"-12:00\",\n label: \"UTC-12:00\"\n },\n {\n value: \"-11:00\",\n label: \"UTC-11:00\"\n },\n {\n value: \"-10:00\",\n label: \"UTC-10:00\"\n },\n {\n value: \"-09:30\",\n label: \"UTC-09:30\"\n },\n {\n value: \"-09:00\",\n label: \"UTC-09:00\"\n },\n {\n value: \"-08:00\",\n label: \"UTC-08:00\"\n },\n {\n value: \"-07:00\",\n label: \"UTC-07:00\"\n },\n {\n value: \"-06:00\",\n label: \"UTC-06:00\"\n },\n {\n value: \"-05:00\",\n label: \"UTC-05:00\"\n },\n {\n value: \"-04:30\",\n label: \"UTC-04:30\"\n },\n {\n value: \"-04:00\",\n label: \"UTC-04:00\"\n },\n {\n value: \"-03:30\",\n label: \"UTC-03:30\"\n },\n {\n value: \"-03:00\",\n label: \"UTC-03:00\"\n },\n {\n value: \"-02:00\",\n label: \"UTC-02:00\"\n },\n {\n value: \"-01:00\",\n label: \"UTC-01:00\"\n },\n {\n value: \"+00:00\",\n label: \"UTC+00:00\"\n },\n {\n value: \"+01:00\",\n label: \"UTC+01:00\"\n },\n {\n value: \"+02:00\",\n label: \"UTC+02:00\"\n },\n {\n value: \"+03:00\",\n label: \"UTC+03:00\"\n },\n {\n value: \"+03:30\",\n label: \"UTC+03:30\"\n },\n {\n value: \"+04:00\",\n label: \"UTC+04:00\"\n },\n {\n value: \"+04:30\",\n label: \"UTC+04:30\"\n },\n {\n value: \"+05:30\",\n label: \"UTC+05:30\"\n },\n {\n value: \"+05:45\",\n label: \"UTC+05:45\"\n },\n {\n value: \"+06:00\",\n label: \"UTC+06:00\"\n },\n {\n value: \"+06:30\",\n label: \"UTC+06:30\"\n },\n {\n value: \"+07:00\",\n label: \"UTC+07:00\"\n },\n {\n value: \"+08:00\",\n label: \"UTC+08:00\"\n },\n {\n value: \"+08:45\",\n label: \"UTC+08:45\"\n },\n {\n value: \"+09:00\",\n label: \"UTC+09:00\"\n },\n {\n value: \"+09:30\",\n label: \"UTC+09:30\"\n },\n {\n value: \"+10:00\",\n label: \"UTC+10:00\"\n },\n {\n value: \"+10:30\",\n label: \"UTC+10:30\"\n },\n {\n value: \"+11:00\",\n label: \"UTC+11:00\"\n },\n {\n value: \"+11:30\",\n label: \"UTC+11:30\"\n },\n {\n value: \"+12:00\",\n label: \"UTC+12:00\"\n },\n {\n value: \"+12:45\",\n label: \"UTC+12:45\"\n },\n {\n value: \"+13:00\",\n label: \"UTC+13:00\"\n },\n {\n value: \"+14:00\",\n label: \"UTC+14:00\"\n }\n];\n\nexport const DEFAULT_TIMEZONE = \"+01:00\";\n\nexport const getDefaultFieldValue = (\n field: CmsEditorField,\n bind: {\n value: string | null | undefined;\n },\n getCurrent: () => string\n): string => {\n const def = field.settings ? field.settings.defaultSetValue || \"null\" : \"null\";\n if (bind.value || def !== \"current\") {\n return bind.value || \"\";\n }\n return getCurrent();\n};\n\nexport const getCurrentTimeZone = (date?: Date): string | null => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const matches = value.match(/GMT([+-][0-9]{4})/);\n if (!matches) {\n return null;\n }\n const timezone = matches[1];\n return `${timezone.substr(0, 3)}:${timezone.substr(3)}`;\n};\n\nexport const getCurrentLocalTime = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const [time] = value.split(\" \");\n if (!time || time.match(/^([0-9]{2}):([0-9]{2}):([0-9]{2})$/) === null) {\n return \"00:00:00\";\n }\n return time;\n};\n\nexport const getCurrentDate = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const year = String(date.getFullYear()).padStart(4, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n\n return `${year}-${month}-${day}`;\n};\n\nconst deleteIconStyles = css({\n width: \"100% !important\",\n height: \"100% !important\",\n color: \"var(--mdc-theme-text-secondary-on-background) !important\"\n});\n\ninterface RemoveFieldButtonProps {\n // TODO @ts-refactor figure out correct trailing icon type\n // @ts-ignore\n trailingIcon: any;\n}\nexport const RemoveFieldButton: React.FC<RemoveFieldButtonProps> = ({ trailingIcon }) => {\n if (!trailingIcon) {\n return null;\n }\n return (\n <Cell span={1}>\n <IconButton\n className={deleteIconStyles}\n onClick={trailingIcon.onClick}\n icon={trailingIcon.icon}\n />\n </Cell>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["utils.tsx"],"names":["React","css","Cell","IconButton","UTC_TIMEZONES","value","label","DEFAULT_TIMEZONE","getDefaultFieldValue","field","bind","getCurrent","def","settings","defaultSetValue","getCurrentTimeZone","date","Date","toTimeString","matches","match","timezone","slice","getCurrentLocalTime","split","time","getCurrentDate","year","String","getFullYear","padStart","month","getMonth","day","getDate","deleteIconStyles","width","height","color","RemoveFieldButton","trailingIcon","onClick","icon"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Cell } from \"@webiny/ui/Grid\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { CmsEditorField } from \"~/types\";\n\nexport const UTC_TIMEZONES = [\n {\n value: \"-12:00\",\n label: \"UTC-12:00\"\n },\n {\n value: \"-11:00\",\n label: \"UTC-11:00\"\n },\n {\n value: \"-10:00\",\n label: \"UTC-10:00\"\n },\n {\n value: \"-09:30\",\n label: \"UTC-09:30\"\n },\n {\n value: \"-09:00\",\n label: \"UTC-09:00\"\n },\n {\n value: \"-08:00\",\n label: \"UTC-08:00\"\n },\n {\n value: \"-07:00\",\n label: \"UTC-07:00\"\n },\n {\n value: \"-06:00\",\n label: \"UTC-06:00\"\n },\n {\n value: \"-05:00\",\n label: \"UTC-05:00\"\n },\n {\n value: \"-04:30\",\n label: \"UTC-04:30\"\n },\n {\n value: \"-04:00\",\n label: \"UTC-04:00\"\n },\n {\n value: \"-03:30\",\n label: \"UTC-03:30\"\n },\n {\n value: \"-03:00\",\n label: \"UTC-03:00\"\n },\n {\n value: \"-02:00\",\n label: \"UTC-02:00\"\n },\n {\n value: \"-01:00\",\n label: \"UTC-01:00\"\n },\n {\n value: \"+00:00\",\n label: \"UTC+00:00\"\n },\n {\n value: \"+01:00\",\n label: \"UTC+01:00\"\n },\n {\n value: \"+02:00\",\n label: \"UTC+02:00\"\n },\n {\n value: \"+03:00\",\n label: \"UTC+03:00\"\n },\n {\n value: \"+03:30\",\n label: \"UTC+03:30\"\n },\n {\n value: \"+04:00\",\n label: \"UTC+04:00\"\n },\n {\n value: \"+04:30\",\n label: \"UTC+04:30\"\n },\n {\n value: \"+05:30\",\n label: \"UTC+05:30\"\n },\n {\n value: \"+05:45\",\n label: \"UTC+05:45\"\n },\n {\n value: \"+06:00\",\n label: \"UTC+06:00\"\n },\n {\n value: \"+06:30\",\n label: \"UTC+06:30\"\n },\n {\n value: \"+07:00\",\n label: \"UTC+07:00\"\n },\n {\n value: \"+08:00\",\n label: \"UTC+08:00\"\n },\n {\n value: \"+08:45\",\n label: \"UTC+08:45\"\n },\n {\n value: \"+09:00\",\n label: \"UTC+09:00\"\n },\n {\n value: \"+09:30\",\n label: \"UTC+09:30\"\n },\n {\n value: \"+10:00\",\n label: \"UTC+10:00\"\n },\n {\n value: \"+10:30\",\n label: \"UTC+10:30\"\n },\n {\n value: \"+11:00\",\n label: \"UTC+11:00\"\n },\n {\n value: \"+11:30\",\n label: \"UTC+11:30\"\n },\n {\n value: \"+12:00\",\n label: \"UTC+12:00\"\n },\n {\n value: \"+12:45\",\n label: \"UTC+12:45\"\n },\n {\n value: \"+13:00\",\n label: \"UTC+13:00\"\n },\n {\n value: \"+14:00\",\n label: \"UTC+14:00\"\n }\n];\n\nexport const DEFAULT_TIMEZONE = \"+01:00\";\n\nexport const getDefaultFieldValue = (\n field: CmsEditorField,\n bind: {\n value: string | null | undefined;\n },\n getCurrent: () => string\n): string => {\n const def = field.settings ? field.settings.defaultSetValue || \"null\" : \"null\";\n if (bind.value || def !== \"current\") {\n return bind.value || \"\";\n }\n return getCurrent();\n};\n\nexport const getCurrentTimeZone = (date?: Date): string | null => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const matches = value.match(/GMT([+-][0-9]{4})/);\n if (!matches) {\n return null;\n }\n const timezone = matches[1];\n return `${timezone.slice(0, 3)}:${timezone.slice(3)}`;\n};\n\nexport const getCurrentLocalTime = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const [time] = value.split(\" \");\n if (!time || time.match(/^([0-9]{2}):([0-9]{2}):([0-9]{2})$/) === null) {\n return \"00:00:00\";\n }\n return time;\n};\n\nexport const getCurrentDate = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const year = String(date.getFullYear()).padStart(4, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n\n return `${year}-${month}-${day}`;\n};\n\nconst deleteIconStyles = css({\n width: \"100% !important\",\n height: \"100% !important\",\n color: \"var(--mdc-theme-text-secondary-on-background) !important\"\n});\n\ninterface RemoveFieldButtonProps {\n // TODO @ts-refactor figure out correct trailing icon type\n // @ts-ignore\n trailingIcon: any;\n}\nexport const RemoveFieldButton: React.FC<RemoveFieldButtonProps> = ({ trailingIcon }) => {\n if (!trailingIcon) {\n return null;\n }\n return (\n <Cell span={1}>\n <IconButton\n className={deleteIconStyles}\n onClick={trailingIcon.onClick}\n icon={trailingIcon.icon}\n />\n </Cell>\n );\n};\n"]}
|
package/admin/plugins/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const _default: () => (import("
|
|
1
|
+
declare const _default: () => (import("../../types").CmsEditorFormSettingsPlugin | import("../../types").CmsIconsPlugin | import("../../types").CmsFieldValueTransformer[] | import("@webiny/app/types").CacheGetObjectIdPlugin | import("@webiny/app/types").RoutePlugin[] | import("@webiny/app-admin/types").AdminInstallationPlugin | import("@webiny/app-admin/types").AdminAppPermissionRendererPlugin | import("../../types").CmsContentDetailsPlugin[] | {
|
|
2
2
|
name: string;
|
|
3
3
|
type: string;
|
|
4
4
|
render(): JSX.Element;
|
package/admin/plugins/routes.js
CHANGED
|
@@ -11,6 +11,7 @@ import { CircularProgress } from "@webiny/ui/Progress";
|
|
|
11
11
|
import { Route } from "@webiny/react-router";
|
|
12
12
|
import { AdminLayout } from "@webiny/app-admin/components/AdminLayout";
|
|
13
13
|
import { i18n } from "@webiny/app/i18n";
|
|
14
|
+
import { ContentEntriesView } from "../views/contentEntries/experiment/ContentEntriesViewConfig";
|
|
14
15
|
var t = i18n.ns("app-headless-cms/admin/routes");
|
|
15
16
|
|
|
16
17
|
var Loader = function Loader(_ref) {
|
|
@@ -31,9 +32,6 @@ var ContentModelsView = /*#__PURE__*/lazy(function () {
|
|
|
31
32
|
var ContentModelGroupsView = /*#__PURE__*/lazy(function () {
|
|
32
33
|
return import("../views/contentModelGroups/ContentModelGroups");
|
|
33
34
|
});
|
|
34
|
-
var ContentEntiesView = /*#__PURE__*/lazy(function () {
|
|
35
|
-
return import("../views/contentEntries/ContentEntries");
|
|
36
|
-
});
|
|
37
35
|
var plugins = [{
|
|
38
36
|
name: "route-cms-content-models-groups",
|
|
39
37
|
type: "route",
|
|
@@ -55,7 +53,7 @@ var plugins = [{
|
|
|
55
53
|
render: function render() {
|
|
56
54
|
return /*#__PURE__*/React.createElement(SecureRoute, {
|
|
57
55
|
permission: "cms.contentModel"
|
|
58
|
-
}, /*#__PURE__*/React.createElement(AdminLayout, null, /*#__PURE__*/React.createElement(Helmet, null, /*#__PURE__*/React.createElement("title", null, t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Content"]))))), /*#__PURE__*/React.createElement(
|
|
56
|
+
}, /*#__PURE__*/React.createElement(AdminLayout, null, /*#__PURE__*/React.createElement(Helmet, null, /*#__PURE__*/React.createElement("title", null, t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Content"]))))), /*#__PURE__*/React.createElement(ContentEntriesView, null)));
|
|
59
57
|
}
|
|
60
58
|
})
|
|
61
59
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["routes.tsx"],"names":["React","Suspense","lazy","Helmet","SecureRoute","CircularProgress","Route","AdminLayout","i18n","t","ns","Loader","children","props","cloneElement","ContentModelEditor","ContentModelsView","ContentModelGroupsView","
|
|
1
|
+
{"version":3,"sources":["routes.tsx"],"names":["React","Suspense","lazy","Helmet","SecureRoute","CircularProgress","Route","AdminLayout","i18n","ContentEntriesView","t","ns","Loader","children","props","cloneElement","ContentModelEditor","ContentModelsView","ContentModelGroupsView","plugins","name","type","route"],"mappings":";;;;;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,IAA1B,QAAsC,OAAtC;AACA,OAAOC,MAAP,MAAmB,cAAnB;AACA,SAASC,WAAT,QAA4B,iCAA5B;AACA,SAASC,gBAAT,QAAiC,qBAAjC;AACA,SAASC,KAAT,QAAsB,sBAAtB;AACA,SAASC,WAAT,QAA4B,0CAA5B;AAEA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASC,kBAAT;AAEA,IAAMC,CAAC,GAAGF,IAAI,CAACG,EAAL,CAAQ,+BAAR,CAAV;;AAEA,IAAMC,MAAgB,GAAG,SAAnBA,MAAmB;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,MAAgBC,KAAhB;;AAAA,sBACrB,oBAAC,QAAD;AAAU,IAAA,QAAQ,eAAE,oBAAC,gBAAD;AAApB,kBACKd,KAAK,CAACe,YAAN,CAAmBF,QAAnB,EAA8DC,KAA9D,CADL,CADqB;AAAA,CAAzB;;AAMA,IAAME,kBAAkB,gBAAGd,IAAI,CAAC;AAAA,SAAM,mDAAN;AAAA,CAAD,CAA/B;AACA,IAAMe,iBAAiB,gBAAGf,IAAI,CAAC;AAAA,SAAM,8CAAN;AAAA,CAAD,CAA9B;AACA,IAAMgB,sBAAsB,gBAAGhB,IAAI,CAAC;AAAA,SAAM,wDAAN;AAAA,CAAD,CAAnC;AAEA,IAAMiB,OAAsB,GAAG,CAC3B;AACIC,EAAAA,IAAI,EAAE,iCADV;AAEIC,EAAAA,IAAI,EAAE,OAFV;AAGIC,EAAAA,KAAK,eACD,oBAAC,KAAD;AACI,IAAA,KAAK,MADT;AAEI,IAAA,IAAI,EAAE,2BAFV;AAGI,IAAA,MAAM,EAAE;AAAA,0BACJ,oBAAC,WAAD;AAAa,QAAA,UAAU,EAAE;AAAzB,sBACI,oBAAC,WAAD,qBACI,oBAAC,MAAD,qBACI,mCAAQZ,CAAR,0FADJ,CADJ,eAII,oBAAC,MAAD,qBACI,oBAAC,sBAAD,OADJ,CAJJ,CADJ,CADI;AAAA;AAHZ;AAJR,CAD2B,EAuB3B;AACIU,EAAAA,IAAI,EAAE,iCADV;AAEIC,EAAAA,IAAI,EAAE,OAFV;AAGIC,EAAAA,KAAK,eACD,oBAAC,KAAD;AACI,IAAA,KAAK,MADT;AAEI,IAAA,IAAI,EAAE,+BAFV;AAGI,IAAA,MAAM,EAAE;AAAA,0BACJ,oBAAC,WAAD;AAAa,QAAA,UAAU,EAAE;AAAzB,sBACI,oBAAC,WAAD,qBACI,oBAAC,MAAD,qBACI,mCAAQZ,CAAR,+EADJ,CADJ,eAII,oBAAC,kBAAD,OAJJ,CADJ,CADI;AAAA;AAHZ;AAJR,CAvB2B,EA2C3B;AACIU,EAAAA,IAAI,EAAE,iCADV;AAEIC,EAAAA,IAAI,EAAE,OAFV;AAGIC,EAAAA,KAAK,eACD,oBAAC,KAAD;AACI,IAAA,KAAK,MADT;AAEI,IAAA,IAAI,EAAE,8BAFV;AAGI,IAAA,MAAM,EAAE;AAAA,0BACJ,oBAAC,WAAD;AAAa,QAAA,UAAU,EAAE;AAAzB,sBACI,oBAAC,MAAD,qBACI,mCAAQZ,CAAR,0FADJ,CADJ,eAII,oBAAC,MAAD,qBACI,oBAAC,kBAAD,OADJ,CAJJ,CADI;AAAA;AAHZ;AAJR,CA3C2B,EA+D3B;AACIU,EAAAA,IAAI,EAAE,0BADV;AAEIC,EAAAA,IAAI,EAAE,OAFV;AAGIC,EAAAA,KAAK,eACD,oBAAC,KAAD;AACI,IAAA,KAAK,MADT;AAEI,IAAA,IAAI,EAAC,qBAFT;AAGI,IAAA,MAAM,EAAE;AAAA,0BACJ,oBAAC,WAAD;AAAa,QAAA,UAAU,EAAE;AAAzB,sBACI,oBAAC,WAAD,qBACI,oBAAC,MAAD;AAAQ,QAAA,KAAK,EAAEZ,CAAF;AAAb,QADJ,eAEI,oBAAC,MAAD,qBACI,oBAAC,iBAAD,OADJ,CAFJ,CADJ,CADI;AAAA;AAHZ;AAJR,CA/D2B,CAA/B;AAqFA,eAAeS,OAAf","sourcesContent":["import React, { Suspense, lazy } from \"react\";\nimport Helmet from \"react-helmet\";\nimport { SecureRoute } from \"@webiny/app-security/components\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { Route } from \"@webiny/react-router\";\nimport { AdminLayout } from \"@webiny/app-admin/components/AdminLayout\";\nimport { RoutePlugin } from \"@webiny/app/types\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ContentEntriesView } from \"../views/contentEntries/experiment/ContentEntriesViewConfig\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/routes\");\n\nconst Loader: React.FC = ({ children, ...props }) => (\n <Suspense fallback={<CircularProgress />}>\n {React.cloneElement(children as unknown as React.ReactElement, props)}\n </Suspense>\n);\n\nconst ContentModelEditor = lazy(() => import(\"../views/contentModels/ContentModelEditor\"));\nconst ContentModelsView = lazy(() => import(\"../views/contentModels/ContentModels\"));\nconst ContentModelGroupsView = lazy(() => import(\"../views/contentModelGroups/ContentModelGroups\"));\n\nconst plugins: RoutePlugin[] = [\n {\n name: \"route-cms-content-models-groups\",\n type: \"route\",\n route: (\n <Route\n exact\n path={\"/cms/content-model-groups\"}\n render={() => (\n <SecureRoute permission={\"cms.contentModelGroup\"}>\n <AdminLayout>\n <Helmet>\n <title>{t`Content Model Groups`}</title>\n </Helmet>\n <Loader>\n <ContentModelGroupsView />\n </Loader>\n </AdminLayout>\n </SecureRoute>\n )}\n />\n )\n },\n {\n name: \"route-cms-content-models-manage\",\n type: \"route\",\n route: (\n <Route\n exact\n path={\"/cms/content-entries/:modelId\"}\n render={() => (\n <SecureRoute permission={\"cms.contentModel\"}>\n <AdminLayout>\n <Helmet>\n <title>{t`Content`}</title>\n </Helmet>\n <ContentEntriesView />\n </AdminLayout>\n </SecureRoute>\n )}\n />\n )\n },\n {\n name: \"route-cms-content-models-editor\",\n type: \"route\",\n route: (\n <Route\n exact\n path={\"/cms/content-models/:modelId\"}\n render={() => (\n <SecureRoute permission={\"cms.contentModel\"}>\n <Helmet>\n <title>{t`Edit Content Model`}</title>\n </Helmet>\n <Loader>\n <ContentModelEditor />\n </Loader>\n </SecureRoute>\n )}\n />\n )\n },\n {\n name: \"route-cms-content-models\",\n type: \"route\",\n route: (\n <Route\n exact\n path=\"/cms/content-models\"\n render={() => (\n <SecureRoute permission={\"cms.contentModel\"}>\n <AdminLayout>\n <Helmet title={t`Content Models`} />\n <Loader>\n <ContentModelsView />\n </Loader>\n </AdminLayout>\n </SecureRoute>\n )}\n />\n )\n }\n];\n\nexport default plugins;\n"]}
|
|
@@ -8,7 +8,7 @@ var dateOnly = function dateOnly(value) {
|
|
|
8
8
|
|
|
9
9
|
try {
|
|
10
10
|
var date = new Date(value).toISOString();
|
|
11
|
-
return date.
|
|
11
|
+
return date.slice(0, 10);
|
|
12
12
|
} catch (error) {
|
|
13
13
|
throw new WebinyError("Could not transform value to a date.", "TRANSFORM_ERROR", {
|
|
14
14
|
error: error,
|
|
@@ -76,7 +76,7 @@ var dateTimeWithTimezone = function dateTimeWithTimezone(value) {
|
|
|
76
76
|
|
|
77
77
|
try {
|
|
78
78
|
var dateObj = new Date(initialDate);
|
|
79
|
-
date = dateObj.toISOString().
|
|
79
|
+
date = dateObj.toISOString().slice(0, 10);
|
|
80
80
|
} catch (ex) {
|
|
81
81
|
throw new WebinyError("Could not transform received date into Date object.", "DATE_TRANSFORM_ERROR", {
|
|
82
82
|
value: value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["dateTransformer.ts"],"names":["WebinyError","dateOnly","value","date","Date","toISOString","
|
|
1
|
+
{"version":3,"sources":["dateTransformer.ts"],"names":["WebinyError","dateOnly","value","date","Date","toISOString","slice","error","type","extractTimeZone","result","includes","split","length","extractTime","def","dateTimeWithTimezone","initialDate","initialTimeZone","dateObj","ex","time","initialTime","replace","dateTimeWithoutTimezone","transformers","name","fieldType","transform","field","settings","String"],"mappings":"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","sourcesContent":["import { CmsFieldValueTransformer } from \"~/types\";\nimport WebinyError from \"@webiny/error\";\n\ninterface TransformerCallable<T> {\n (value?: T): string | null;\n}\nconst dateOnly: TransformerCallable<string> = value => {\n if (!value) {\n return null;\n }\n try {\n const date = new Date(value).toISOString();\n return date.slice(0, 10);\n } catch (error) {\n throw new WebinyError(`Could not transform value to a date.`, \"TRANSFORM_ERROR\", {\n error,\n type: \"date\",\n value\n });\n }\n};\n\nconst extractTimeZone = (value?: string): [string, string] => {\n let result: string[];\n if (!value) {\n return [new Date().toISOString(), \"00:00\"];\n } else if (value.includes(\"+\")) {\n result = value.split(\"+\");\n } else {\n result = value.split(\"-\");\n }\n if (!result || result.length !== 2) {\n throw new WebinyError(\n `Could not determine time and timezone out of given value.`,\n \"TIME_ZONE_ERROR\",\n {\n value\n }\n );\n }\n return result as [string, string];\n};\n\nconst extractTime = (value?: string, def: string | null = null): string | null => {\n if (!value) {\n return null;\n } else if (value.includes(\":\") === false) {\n throw new WebinyError(\"Time value is missing : separators.\", \"TIME_ERROR\", {\n value\n });\n }\n const result = value.split(\":\");\n if (result.length === 3) {\n return value;\n } else if (result.length === 2) {\n return `${value}:00`;\n }\n return def;\n};\n\nconst dateTimeWithTimezone: TransformerCallable<string> = value => {\n if (!value) {\n return null;\n } else if (value.includes(\"T\") === false) {\n return value;\n }\n\n const [initialDate, initialTimeZone] = value.split(\"T\");\n\n let date: string;\n\n try {\n const dateObj = new Date(initialDate);\n date = dateObj.toISOString().slice(0, 10);\n } catch (ex) {\n throw new WebinyError(\n \"Could not transform received date into Date object.\",\n \"DATE_TRANSFORM_ERROR\",\n {\n value,\n date: initialDate,\n time: initialTimeZone\n }\n );\n }\n const [initialTime] = extractTimeZone(initialTimeZone);\n\n const time = extractTime(initialTime, \"00:00:00\") as string;\n\n return value.replace(initialDate, date).replace(initialTime, time);\n};\n\nconst dateTimeWithoutTimezone: TransformerCallable<string> = (value): string | null => {\n if (!value) {\n return null;\n } else if (value.includes(\" \") === false) {\n return value;\n }\n try {\n return new Date(`${value.replace(\" \", \"T\")}.000Z`).toISOString();\n } catch (error) {\n throw new WebinyError(`Could not transform value to a date.`, \"TRANSFORM_ERROR\", {\n error,\n type: \"dateTimeWithoutTimezone\",\n value\n });\n }\n};\n\nconst time: TransformerCallable<string> = value => {\n if (!value) {\n return null;\n }\n return extractTime(value);\n};\n\nconst transformers: Record<string, TransformerCallable<string>> = {\n time,\n date: dateOnly,\n dateTimeWithoutTimezone,\n dateTimeWithTimezone\n};\n\nexport default (): CmsFieldValueTransformer => ({\n type: \"cms-field-value-transformer\",\n name: \"cms-field-value-transformer-date\",\n fieldType: \"datetime\",\n transform: (value: any, field) => {\n // check types in packages/app-headless-cms/src/admin/plugins/fieldRenderers/dateTime/dateTimeField.tsx\n const type = field.settings && field.settings.type ? String(field.settings.type) : null;\n if (!type) {\n return value;\n }\n const transform = transformers[type];\n\n if (!transform) {\n return value;\n }\n\n return transform(value);\n }\n});\n"]}
|
|
@@ -13,9 +13,9 @@ export interface ListQueryVariables {
|
|
|
13
13
|
}
|
|
14
14
|
export interface ContentEntriesContext {
|
|
15
15
|
contentModel: CmsEditorContentModel;
|
|
16
|
-
sorters: CmsEntriesSorter[];
|
|
17
16
|
canCreate: boolean;
|
|
18
17
|
listQueryVariables: ListQueryVariables;
|
|
18
|
+
sorters: CmsEntriesSorter[];
|
|
19
19
|
setListQueryVariables: Dispatch<SetStateAction<ListQueryVariables>>;
|
|
20
20
|
insideDialog?: boolean;
|
|
21
21
|
}
|
|
@@ -1,28 +1,33 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
2
|
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
3
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
4
|
|
|
4
|
-
var _templateObject, _templateObject2
|
|
5
|
+
var _templateObject, _templateObject2;
|
|
5
6
|
|
|
6
|
-
import React, { useState, useMemo } from "react";
|
|
7
|
+
import React, { useState, useMemo, useCallback } from "react";
|
|
7
8
|
import { useSecurity } from "@webiny/app-security";
|
|
8
9
|
import { i18n } from "@webiny/app/i18n";
|
|
10
|
+
import { useContentEntriesViewConfig } from "./experiment/ContentEntriesViewConfig";
|
|
9
11
|
var t = i18n.ns("app-headless-cms/admin/contents/entries");
|
|
10
|
-
var SORTERS = [{
|
|
11
|
-
label: t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Newest to oldest"]))),
|
|
12
|
-
value: "savedOn_DESC"
|
|
13
|
-
}, {
|
|
14
|
-
label: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Oldest to newest"]))),
|
|
15
|
-
value: "savedOn_ASC"
|
|
16
|
-
}];
|
|
17
12
|
export var Context = /*#__PURE__*/React.createContext({
|
|
18
13
|
contentModel: null,
|
|
19
|
-
sorters: [],
|
|
20
14
|
canCreate: false,
|
|
21
15
|
listQueryVariables: {},
|
|
16
|
+
sorters: [],
|
|
22
17
|
setListQueryVariables: function setListQueryVariables() {
|
|
23
18
|
return void 0;
|
|
24
19
|
}
|
|
25
20
|
});
|
|
21
|
+
|
|
22
|
+
function toEntriesSorters(sorters) {
|
|
23
|
+
return sorters.map(function (s) {
|
|
24
|
+
return {
|
|
25
|
+
label: s.label,
|
|
26
|
+
value: s.name
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
|
|
26
31
|
export var Provider = function Provider(_ref) {
|
|
27
32
|
var contentModel = _ref.contentModel,
|
|
28
33
|
children = _ref.children,
|
|
@@ -32,13 +37,11 @@ export var Provider = function Provider(_ref) {
|
|
|
32
37
|
identity = _useSecurity.identity,
|
|
33
38
|
getPermission = _useSecurity.getPermission;
|
|
34
39
|
|
|
35
|
-
var
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
setListQueryVariables = _useState2[1];
|
|
41
|
-
|
|
40
|
+
var viewConfig = useContentEntriesViewConfig();
|
|
41
|
+
var appliesToContentModel = useCallback(function (_ref2) {
|
|
42
|
+
var modelIds = _ref2.modelIds;
|
|
43
|
+
return modelIds.length === 0 || modelIds.includes(contentModel.modelId);
|
|
44
|
+
}, [contentModel]);
|
|
42
45
|
var canCreate = useMemo(function () {
|
|
43
46
|
var permission = getPermission("cms.contentEntry");
|
|
44
47
|
|
|
@@ -59,21 +62,30 @@ export var Provider = function Provider(_ref) {
|
|
|
59
62
|
var titleFieldLabel = titleField ? titleField.label : null;
|
|
60
63
|
|
|
61
64
|
if (!titleFieldLabel) {
|
|
62
|
-
return
|
|
65
|
+
return toEntriesSorters(viewConfig.sorters.filter(appliesToContentModel));
|
|
63
66
|
}
|
|
64
67
|
|
|
65
|
-
return [].concat(
|
|
66
|
-
label: t(
|
|
68
|
+
return [].concat(_toConsumableArray(toEntriesSorters(viewConfig.sorters.filter(appliesToContentModel))), [{
|
|
69
|
+
label: t(_templateObject || (_templateObject = _taggedTemplateLiteral(["{titleFieldLabel} A-Z"])))({
|
|
67
70
|
titleFieldLabel: titleFieldLabel
|
|
68
71
|
}),
|
|
69
72
|
value: "".concat(contentModel.titleFieldId, "_ASC")
|
|
70
73
|
}, {
|
|
71
|
-
label: t(
|
|
74
|
+
label: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["{titleFieldLabel} Z-A"])))({
|
|
72
75
|
titleFieldLabel: titleFieldLabel
|
|
73
76
|
}),
|
|
74
77
|
value: "".concat(contentModel.titleFieldId, "_DESC")
|
|
75
78
|
}]);
|
|
76
|
-
}, [contentModel.modelId]);
|
|
79
|
+
}, [viewConfig.sorters, contentModel.modelId]);
|
|
80
|
+
|
|
81
|
+
var _useState = useState({
|
|
82
|
+
sort: [sorters[0].value],
|
|
83
|
+
where: {}
|
|
84
|
+
}),
|
|
85
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
86
|
+
listQueryVariables = _useState2[0],
|
|
87
|
+
setListQueryVariables = _useState2[1];
|
|
88
|
+
|
|
77
89
|
var value = {
|
|
78
90
|
insideDialog: insideDialog,
|
|
79
91
|
contentModel: contentModel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ContentEntriesContext.tsx"],"names":["React","useState","useMemo","useSecurity","i18n","t","ns","
|
|
1
|
+
{"version":3,"sources":["ContentEntriesContext.tsx"],"names":["React","useState","useMemo","useCallback","useSecurity","i18n","useContentEntriesViewConfig","t","ns","Context","createContext","contentModel","canCreate","listQueryVariables","sorters","setListQueryVariables","toEntriesSorters","map","s","label","value","name","Provider","children","insideDialog","identity","getPermission","viewConfig","appliesToContentModel","modelIds","length","includes","modelId","permission","rwd","titleField","fields","find","field","fieldId","titleFieldId","titleFieldLabel","filter","sort","where","displayName"],"mappings":"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","sourcesContent":["import React, { useState, useMemo, Dispatch, SetStateAction, useCallback } from \"react\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { CmsEditorContentModel, CmsSecurityPermission } from \"~/types\";\nimport {\n useContentEntriesViewConfig,\n ContentEntriesViewConfigSorter\n} from \"./experiment/ContentEntriesViewConfig\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/contents/entries\");\n\nexport interface CmsEntriesSorter {\n label: string;\n value: string;\n}\n\nexport interface ListQueryVariables {\n sort?: string[];\n status?: string;\n where?: {\n [key: string]: any;\n };\n}\n\nexport interface ContentEntriesContext {\n contentModel: CmsEditorContentModel;\n canCreate: boolean;\n listQueryVariables: ListQueryVariables;\n sorters: CmsEntriesSorter[];\n setListQueryVariables: Dispatch<SetStateAction<ListQueryVariables>>;\n insideDialog?: boolean;\n}\n\nexport const Context = React.createContext<ContentEntriesContext>({\n contentModel: null as unknown as CmsEditorContentModel,\n canCreate: false,\n listQueryVariables: {},\n sorters: [],\n setListQueryVariables: () => {\n return void 0;\n }\n});\n\nexport interface ContentEntriesContextProviderProps {\n contentModel: CmsEditorContentModel;\n children: React.ReactNode;\n insideDialog?: boolean;\n}\n\nfunction toEntriesSorters(sorters: ContentEntriesViewConfigSorter[]) {\n return sorters.map(s => ({ label: s.label, value: s.name }));\n}\n\nexport const Provider: React.FC<ContentEntriesContextProviderProps> = ({\n contentModel,\n children,\n insideDialog\n}) => {\n const { identity, getPermission } = useSecurity();\n const viewConfig = useContentEntriesViewConfig();\n\n const appliesToContentModel = useCallback(\n ({ modelIds }: ContentEntriesViewConfigSorter) => {\n return modelIds.length === 0 || modelIds.includes(contentModel.modelId);\n },\n [contentModel]\n );\n\n const canCreate = useMemo((): boolean => {\n const permission = getPermission<CmsSecurityPermission>(\"cms.contentEntry\");\n if (!permission) {\n return false;\n }\n\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n\n return permission.rwd.includes(\"w\");\n }, [identity]);\n\n const sorters = useMemo((): CmsEntriesSorter[] => {\n const titleField = contentModel.fields.find(\n field => field.fieldId === contentModel.titleFieldId\n );\n\n const titleFieldLabel = titleField ? titleField.label : null;\n if (!titleFieldLabel) {\n return toEntriesSorters(viewConfig.sorters.filter(appliesToContentModel));\n }\n\n return [\n ...toEntriesSorters(viewConfig.sorters.filter(appliesToContentModel)),\n {\n label: t`{titleFieldLabel} A-Z`({ titleFieldLabel }),\n value: `${contentModel.titleFieldId}_ASC`\n },\n {\n label: t`{titleFieldLabel} Z-A`({ titleFieldLabel }),\n value: `${contentModel.titleFieldId}_DESC`\n }\n ];\n }, [viewConfig.sorters, contentModel.modelId]);\n\n const [listQueryVariables, setListQueryVariables] = useState<ListQueryVariables>({\n sort: [sorters[0].value],\n where: {}\n });\n\n const value = {\n insideDialog,\n contentModel,\n sorters,\n canCreate,\n listQueryVariables,\n setListQueryVariables\n };\n\n return <Context.Provider value={value}>{children}</Context.Provider>;\n};\n\nProvider.displayName = \"ContentEntriesProvider\";\n"]}
|