@webiny/app-file-manager 0.0.0-unstable.6e5425ee89 → 0.0.0-unstable.7f63ea0744

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.
@@ -74,22 +74,20 @@ var plugin = {
74
74
  return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
75
75
  var client, _yield$client$query, data;
76
76
  return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
77
- while (1) {
78
- switch (_context.prev = _context.next) {
79
- case 0:
80
- client = _ref3.client;
81
- _context.next = 3;
82
- return client.query({
83
- query: IS_INSTALLED
84
- });
85
- case 3:
86
- _yield$client$query = _context.sent;
87
- data = _yield$client$query.data;
88
- return _context.abrupt("return", data.fileManager.version);
89
- case 6:
90
- case "end":
91
- return _context.stop();
92
- }
77
+ while (1) switch (_context.prev = _context.next) {
78
+ case 0:
79
+ client = _ref3.client;
80
+ _context.next = 3;
81
+ return client.query({
82
+ query: IS_INSTALLED
83
+ });
84
+ case 3:
85
+ _yield$client$query = _context.sent;
86
+ data = _yield$client$query.data;
87
+ return _context.abrupt("return", data.fileManager.version);
88
+ case 6:
89
+ case "end":
90
+ return _context.stop();
93
91
  }
94
92
  }, _callee);
95
93
  }))();
@@ -1 +1 @@
1
- {"version":3,"names":["SimpleFormPlaceholder","styled","minHeight","minWidth","t","i18n","ns","IS_INSTALLED","gql","INSTALL","FMInstaller","onInstalled","client","useApolloClient","useState","error","setError","apiUrl","appConfig","getKey","process","env","REACT_APP_API_URL","useEffect","mutate","mutation","variables","srcPrefix","then","data","fileManager","install","message","setTimeout","label","plugin","name","type","title","dependencies","secure","getInstalledVersion","query","version","render","upgrades"],"sources":["installation.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport gql from \"graphql-tag\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { AdminInstallationPlugin } from \"@webiny/app-admin/types\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { SimpleForm, SimpleFormContent } from \"@webiny/app-admin/components/SimpleForm\";\nimport styled from \"@emotion/styled\";\nimport { config as appConfig } from \"@webiny/app/config\";\n\nconst SimpleFormPlaceholder = styled.div({\n minHeight: 300,\n minWidth: 400\n});\n\nconst t = i18n.ns(\"app-file-manager/admin/installation\");\n\nconst IS_INSTALLED = gql`\n query IsFileManagerInstalled {\n fileManager {\n version\n }\n }\n`;\n\nconst INSTALL = gql`\n mutation InstallFileManager($srcPrefix: String) {\n fileManager {\n install(srcPrefix: $srcPrefix) {\n data\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\ninterface FileManagerInstallerProps {\n onInstalled: () => Promise<void>;\n}\nconst FMInstaller: React.FC<FileManagerInstallerProps> = ({ onInstalled }) => {\n const client = useApolloClient();\n const [error, setError] = useState(null);\n\n const apiUrl = appConfig.getKey(\"API_URL\", process.env.REACT_APP_API_URL);\n\n useEffect(() => {\n client\n .mutate({\n mutation: INSTALL,\n variables: { srcPrefix: apiUrl + \"/files\" }\n })\n .then(({ data }) => {\n const { error } = data.fileManager.install;\n if (error) {\n setError(error.message);\n return;\n }\n\n // Just so the user sees the actual message.\n setTimeout(onInstalled, 3000);\n });\n }, []);\n\n const label = error ? (\n <Alert title={t`Something went wrong`} type={\"danger\"}>\n {error}\n </Alert>\n ) : (\n t`Installing File Manager...`\n );\n\n return (\n <SimpleForm>\n <CircularProgress label={label} />\n <SimpleFormContent>\n <SimpleFormPlaceholder />\n </SimpleFormContent>\n </SimpleForm>\n );\n};\n\nconst plugin: AdminInstallationPlugin = {\n name: \"admin-installation-fm\",\n type: \"admin-installation\",\n title: t`File Manager`,\n dependencies: [\"admin-installation-security\", \"admin-installation-i18n\"],\n secure: true,\n async getInstalledVersion({ client }) {\n const { data } = await client.query({ query: IS_INSTALLED });\n return data.fileManager.version;\n },\n render({ onInstalled }) {\n return <FMInstaller onInstalled={onInstalled} />;\n },\n upgrades: []\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAyD;AAEzD,IAAMA,qBAAqB,oBAAGC,eAAM;EAAA;EAAA;AAAA,GAAK;EACrCC,SAAS,EAAE,GAAG;EACdC,QAAQ,EAAE;AACd,CAAC,CAAC;AAEF,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,qCAAqC,CAAC;AAExD,IAAMC,YAAY,OAAGC,mBAAG,wLAMvB;AAED,IAAMC,OAAO,OAAGD,mBAAG,wYAalB;AAID,IAAME,WAAgD,GAAG,SAAnDA,WAAgD,OAAwB;EAAA,IAAlBC,WAAW,QAAXA,WAAW;EACnE,IAAMC,MAAM,GAAG,IAAAC,2BAAe,GAAE;EAChC,gBAA0B,IAAAC,eAAQ,EAAC,IAAI,CAAC;IAAA;IAAjCC,KAAK;IAAEC,QAAQ;EAEtB,IAAMC,MAAM,GAAGC,cAAS,CAACC,MAAM,CAAC,SAAS,EAAEC,OAAO,CAACC,GAAG,CAACC,iBAAiB,CAAC;EAEzE,IAAAC,gBAAS,EAAC,YAAM;IACZX,MAAM,CACDY,MAAM,CAAC;MACJC,QAAQ,EAAEhB,OAAO;MACjBiB,SAAS,EAAE;QAAEC,SAAS,EAAEV,MAAM,GAAG;MAAS;IAC9C,CAAC,CAAC,CACDW,IAAI,CAAC,iBAAc;MAAA,IAAXC,IAAI,SAAJA,IAAI;MACT,IAAQd,KAAK,GAAKc,IAAI,CAACC,WAAW,CAACC,OAAO,CAAlChB,KAAK;MACb,IAAIA,KAAK,EAAE;QACPC,QAAQ,CAACD,KAAK,CAACiB,OAAO,CAAC;QACvB;MACJ;;MAEA;MACAC,UAAU,CAACtB,WAAW,EAAE,IAAI,CAAC;IACjC,CAAC,CAAC;EACV,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMuB,KAAK,GAAGnB,KAAK,gBACf,6BAAC,YAAK;IAAC,KAAK,EAAEX,CAAC,yGAAuB;IAAC,IAAI,EAAE;EAAS,GACjDW,KAAK,CACF,GAERX,CAAC,+GACJ;EAED,oBACI,6BAAC,sBAAU,qBACP,6BAAC,0BAAgB;IAAC,KAAK,EAAE8B;EAAM,EAAG,eAClC,6BAAC,6BAAiB,qBACd,6BAAC,qBAAqB,OAAG,CACT,CACX;AAErB,CAAC;AAED,IAAMC,MAA+B,GAAG;EACpCC,IAAI,EAAE,uBAAuB;EAC7BC,IAAI,EAAE,oBAAoB;EAC1BC,KAAK,EAAElC,CAAC,iGAAc;EACtBmC,YAAY,EAAE,CAAC,6BAA6B,EAAE,yBAAyB,CAAC;EACxEC,MAAM,EAAE,IAAI;EACNC,mBAAmB,sCAAa;IAAA;MAAA;MAAA;QAAA;UAAA;YAAA;cAAV7B,MAAM,SAANA,MAAM;cAAA;cAAA,OACPA,MAAM,CAAC8B,KAAK,CAAC;gBAAEA,KAAK,EAAEnC;cAAa,CAAC,CAAC;YAAA;cAAA;cAApDsB,IAAI,uBAAJA,IAAI;cAAA,iCACLA,IAAI,CAACC,WAAW,CAACa,OAAO;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;EACnC,CAAC;EACDC,MAAM,yBAAkB;IAAA,IAAfjC,WAAW,SAAXA,WAAW;IAChB,oBAAO,6BAAC,WAAW;MAAC,WAAW,EAAEA;IAAY,EAAG;EACpD,CAAC;EACDkC,QAAQ,EAAE;AACd,CAAC;AAAC,eAEaV,MAAM;AAAA"}
1
+ {"version":3,"names":["SimpleFormPlaceholder","styled","minHeight","minWidth","t","i18n","ns","IS_INSTALLED","gql","INSTALL","FMInstaller","onInstalled","client","useApolloClient","useState","error","setError","apiUrl","appConfig","getKey","process","env","REACT_APP_API_URL","useEffect","mutate","mutation","variables","srcPrefix","then","data","fileManager","install","message","setTimeout","label","plugin","name","type","title","dependencies","secure","getInstalledVersion","query","version","render","upgrades"],"sources":["installation.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport gql from \"graphql-tag\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { AdminInstallationPlugin } from \"@webiny/app-admin/types\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { SimpleForm, SimpleFormContent } from \"@webiny/app-admin/components/SimpleForm\";\nimport styled from \"@emotion/styled\";\nimport { config as appConfig } from \"@webiny/app/config\";\n\nconst SimpleFormPlaceholder = styled.div({\n minHeight: 300,\n minWidth: 400\n});\n\nconst t = i18n.ns(\"app-file-manager/admin/installation\");\n\nconst IS_INSTALLED = gql`\n query IsFileManagerInstalled {\n fileManager {\n version\n }\n }\n`;\n\nconst INSTALL = gql`\n mutation InstallFileManager($srcPrefix: String) {\n fileManager {\n install(srcPrefix: $srcPrefix) {\n data\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\ninterface FileManagerInstallerProps {\n onInstalled: () => Promise<void>;\n}\nconst FMInstaller: React.FC<FileManagerInstallerProps> = ({ onInstalled }) => {\n const client = useApolloClient();\n const [error, setError] = useState(null);\n\n const apiUrl = appConfig.getKey(\"API_URL\", process.env.REACT_APP_API_URL);\n\n useEffect(() => {\n client\n .mutate({\n mutation: INSTALL,\n variables: { srcPrefix: apiUrl + \"/files\" }\n })\n .then(({ data }) => {\n const { error } = data.fileManager.install;\n if (error) {\n setError(error.message);\n return;\n }\n\n // Just so the user sees the actual message.\n setTimeout(onInstalled, 3000);\n });\n }, []);\n\n const label = error ? (\n <Alert title={t`Something went wrong`} type={\"danger\"}>\n {error}\n </Alert>\n ) : (\n t`Installing File Manager...`\n );\n\n return (\n <SimpleForm>\n <CircularProgress label={label} />\n <SimpleFormContent>\n <SimpleFormPlaceholder />\n </SimpleFormContent>\n </SimpleForm>\n );\n};\n\nconst plugin: AdminInstallationPlugin = {\n name: \"admin-installation-fm\",\n type: \"admin-installation\",\n title: t`File Manager`,\n dependencies: [\"admin-installation-security\", \"admin-installation-i18n\"],\n secure: true,\n async getInstalledVersion({ client }) {\n const { data } = await client.query({ query: IS_INSTALLED });\n return data.fileManager.version;\n },\n render({ onInstalled }) {\n return <FMInstaller onInstalled={onInstalled} />;\n },\n upgrades: []\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAyD;AAEzD,IAAMA,qBAAqB,oBAAGC,eAAM;EAAA;EAAA;AAAA,GAAK;EACrCC,SAAS,EAAE,GAAG;EACdC,QAAQ,EAAE;AACd,CAAC,CAAC;AAEF,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,qCAAqC,CAAC;AAExD,IAAMC,YAAY,OAAGC,mBAAG,wLAMvB;AAED,IAAMC,OAAO,OAAGD,mBAAG,wYAalB;AAID,IAAME,WAAgD,GAAG,SAAnDA,WAAgD,OAAwB;EAAA,IAAlBC,WAAW,QAAXA,WAAW;EACnE,IAAMC,MAAM,GAAG,IAAAC,2BAAe,GAAE;EAChC,gBAA0B,IAAAC,eAAQ,EAAC,IAAI,CAAC;IAAA;IAAjCC,KAAK;IAAEC,QAAQ;EAEtB,IAAMC,MAAM,GAAGC,cAAS,CAACC,MAAM,CAAC,SAAS,EAAEC,OAAO,CAACC,GAAG,CAACC,iBAAiB,CAAC;EAEzE,IAAAC,gBAAS,EAAC,YAAM;IACZX,MAAM,CACDY,MAAM,CAAC;MACJC,QAAQ,EAAEhB,OAAO;MACjBiB,SAAS,EAAE;QAAEC,SAAS,EAAEV,MAAM,GAAG;MAAS;IAC9C,CAAC,CAAC,CACDW,IAAI,CAAC,iBAAc;MAAA,IAAXC,IAAI,SAAJA,IAAI;MACT,IAAQd,KAAK,GAAKc,IAAI,CAACC,WAAW,CAACC,OAAO,CAAlChB,KAAK;MACb,IAAIA,KAAK,EAAE;QACPC,QAAQ,CAACD,KAAK,CAACiB,OAAO,CAAC;QACvB;MACJ;;MAEA;MACAC,UAAU,CAACtB,WAAW,EAAE,IAAI,CAAC;IACjC,CAAC,CAAC;EACV,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMuB,KAAK,GAAGnB,KAAK,gBACf,6BAAC,YAAK;IAAC,KAAK,EAAEX,CAAC,yGAAuB;IAAC,IAAI,EAAE;EAAS,GACjDW,KAAK,CACF,GAERX,CAAC,+GACJ;EAED,oBACI,6BAAC,sBAAU,qBACP,6BAAC,0BAAgB;IAAC,KAAK,EAAE8B;EAAM,EAAG,eAClC,6BAAC,6BAAiB,qBACd,6BAAC,qBAAqB,OAAG,CACT,CACX;AAErB,CAAC;AAED,IAAMC,MAA+B,GAAG;EACpCC,IAAI,EAAE,uBAAuB;EAC7BC,IAAI,EAAE,oBAAoB;EAC1BC,KAAK,EAAElC,CAAC,iGAAc;EACtBmC,YAAY,EAAE,CAAC,6BAA6B,EAAE,yBAAyB,CAAC;EACxEC,MAAM,EAAE,IAAI;EACNC,mBAAmB,sCAAa;IAAA;MAAA;MAAA;QAAA;UAAA;YAAV7B,MAAM,SAANA,MAAM;YAAA;YAAA,OACPA,MAAM,CAAC8B,KAAK,CAAC;cAAEA,KAAK,EAAEnC;YAAa,CAAC,CAAC;UAAA;YAAA;YAApDsB,IAAI,uBAAJA,IAAI;YAAA,iCACLA,IAAI,CAACC,WAAW,CAACa,OAAO;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EACnC,CAAC;EACDC,MAAM,yBAAkB;IAAA,IAAfjC,WAAW,SAAXA,WAAW;IAChB,oBAAO,6BAAC,WAAW;MAAC,WAAW,EAAEA;IAAY,EAAG;EACpD,CAAC;EACDkC,QAAQ,EAAE;AACd,CAAC;AAAC,eAEaV,MAAM;AAAA"}
@@ -43,35 +43,33 @@ var FileManagerSettings = function FileManagerSettings() {
43
43
  var _onSubmit = /*#__PURE__*/function () {
44
44
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(data) {
45
45
  return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
46
- while (1) {
47
- switch (_context.prev = _context.next) {
48
- case 0:
49
- _context.next = 2;
50
- return update({
51
- variables: {
52
- data: {
53
- uploadMinFileSize: parseFloat(data.uploadMinFileSize),
54
- uploadMaxFileSize: parseFloat(data.uploadMaxFileSize),
55
- srcPrefix: data.srcPrefix
56
- }
57
- },
58
- update: function update(cache, result) {
59
- var data = structuredClone(cache.readQuery({
60
- query: _graphql.default.GET_SETTINGS
61
- }));
62
- data.fileManager.getSettings.data = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data.fileManager.getSettings.data), result.data.fileManager.updateSettings.data);
63
- cache.writeQuery({
64
- query: _graphql.default.GET_SETTINGS,
65
- data: data
66
- });
46
+ while (1) switch (_context.prev = _context.next) {
47
+ case 0:
48
+ _context.next = 2;
49
+ return update({
50
+ variables: {
51
+ data: {
52
+ uploadMinFileSize: parseFloat(data.uploadMinFileSize),
53
+ uploadMaxFileSize: parseFloat(data.uploadMaxFileSize),
54
+ srcPrefix: data.srcPrefix
67
55
  }
68
- });
69
- case 2:
70
- showSnackbar("Settings updated successfully.");
71
- case 3:
72
- case "end":
73
- return _context.stop();
74
- }
56
+ },
57
+ update: function update(cache, result) {
58
+ var data = structuredClone(cache.readQuery({
59
+ query: _graphql.default.GET_SETTINGS
60
+ }));
61
+ data.fileManager.getSettings.data = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data.fileManager.getSettings.data), result.data.fileManager.updateSettings.data);
62
+ cache.writeQuery({
63
+ query: _graphql.default.GET_SETTINGS,
64
+ data: data
65
+ });
66
+ }
67
+ });
68
+ case 2:
69
+ showSnackbar("Settings updated successfully.");
70
+ case 3:
71
+ case "end":
72
+ return _context.stop();
75
73
  }
76
74
  }, _callee);
77
75
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["prefixValidator","value","endsWith","Error","FileManagerSettings","useSnackbar","showSnackbar","graphql","GET_SETTINGS","data","queryInProgress","loading","UPDATE_SETTINGS","update","result","settings","get","mutationInProgress","onSubmit","variables","uploadMinFileSize","parseFloat","uploadMaxFileSize","srcPrefix","cache","structuredClone","readQuery","query","fileManager","getSettings","updateSettings","writeQuery","Bind","form","validation","create","ev","submit"],"sources":["FileManagerSettings.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Form } from \"@webiny/form\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { Query, Mutation } from \"@apollo/react-components\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { Input } from \"@webiny/ui/Input\";\nimport graphql from \"../graphql\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport get from \"lodash.get\";\nimport { validation } from \"@webiny/validation\";\n\nimport {\n SimpleForm,\n SimpleFormFooter,\n SimpleFormContent,\n SimpleFormHeader\n} from \"@webiny/app-admin/components/SimpleForm\";\nimport { CenteredView } from \"@webiny/app-admin\";\nimport { QueryGetSettingsResult, Settings } from \"~/types\";\nimport { MutationFunction, MutationResult } from \"@apollo/react-common\";\n\nfunction prefixValidator(value: string) {\n if (!value.endsWith(\"/files/\")) {\n throw Error(`File URL prefix must end with \"/files/\"`);\n }\n}\n\nconst FileManagerSettings: React.FC = () => {\n const { showSnackbar } = useSnackbar();\n\n return (\n <Query query={graphql.GET_SETTINGS}>\n {({ data, loading: queryInProgress }: MutationResult<QueryGetSettingsResult>) => (\n <Mutation mutation={graphql.UPDATE_SETTINGS}>\n {(update: MutationFunction, result: MutationResult) => {\n const settings = (get(data, \"fileManager.getSettings.data\") ||\n {}) as Settings;\n const { loading: mutationInProgress } = result;\n\n const onSubmit = async (data: Settings): Promise<void> => {\n await update({\n variables: {\n data: {\n uploadMinFileSize: parseFloat(data.uploadMinFileSize),\n uploadMaxFileSize: parseFloat(data.uploadMaxFileSize),\n srcPrefix: data.srcPrefix\n }\n },\n update: (cache, result) => {\n const data = structuredClone(\n cache.readQuery({ query: graphql.GET_SETTINGS })\n );\n\n data.fileManager.getSettings.data = {\n ...data.fileManager.getSettings.data,\n ...result.data.fileManager.updateSettings.data\n };\n\n cache.writeQuery({\n query: graphql.GET_SETTINGS,\n data\n });\n }\n });\n showSnackbar(\"Settings updated successfully.\");\n };\n return (\n <CenteredView>\n <Form\n data={settings}\n onSubmit={data => {\n /**\n * We are positive that data is Settings.\n */\n onSubmit(data as unknown as Settings);\n }}\n >\n {({ Bind, form }) => (\n <SimpleForm>\n {(queryInProgress || mutationInProgress) && (\n <CircularProgress />\n )}\n <SimpleFormHeader title=\"General Settings\" />\n <SimpleFormContent>\n <Grid>\n <Cell span={12}>\n <Grid>\n <Cell span={12}>\n <Bind name={\"uploadMinFileSize\"}>\n <Input\n type=\"number\"\n label=\"Minimum file upload size\"\n description=\"The smallest file size in bytes.\"\n />\n </Bind>\n </Cell>\n </Grid>\n </Cell>\n <Cell span={12}>\n <Grid>\n <Cell span={12}>\n <Bind name={\"uploadMaxFileSize\"}>\n <Input\n type=\"number\"\n label=\"Maximum file upload size\"\n description=\"The largest file size in bytes.\"\n />\n </Bind>\n </Cell>\n </Grid>\n </Cell>\n <Cell span={12}>\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"srcPrefix\"}\n validators={[\n validation.create(\"url\"),\n prefixValidator\n ]}\n >\n <Input\n label=\"File URL prefix\"\n description=\"This prefix will be prepended to the file key to form the full file URL.\"\n />\n </Bind>\n </Cell>\n </Grid>\n </Cell>\n </Grid>\n </SimpleFormContent>\n <SimpleFormFooter>\n <ButtonPrimary\n onClick={ev => {\n form.submit(ev);\n }}\n >\n Save Settings\n </ButtonPrimary>\n </SimpleFormFooter>\n </SimpleForm>\n )}\n </Form>\n </CenteredView>\n );\n }}\n </Mutation>\n )}\n </Query>\n );\n};\n\nexport default FileManagerSettings;\n"],"mappings":"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"}
1
+ {"version":3,"names":["prefixValidator","value","endsWith","Error","FileManagerSettings","useSnackbar","showSnackbar","graphql","GET_SETTINGS","data","queryInProgress","loading","UPDATE_SETTINGS","update","result","settings","get","mutationInProgress","onSubmit","variables","uploadMinFileSize","parseFloat","uploadMaxFileSize","srcPrefix","cache","structuredClone","readQuery","query","fileManager","getSettings","updateSettings","writeQuery","Bind","form","validation","create","ev","submit"],"sources":["FileManagerSettings.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Form } from \"@webiny/form\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { Query, Mutation } from \"@apollo/react-components\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { Input } from \"@webiny/ui/Input\";\nimport graphql from \"../graphql\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport get from \"lodash.get\";\nimport { validation } from \"@webiny/validation\";\n\nimport {\n SimpleForm,\n SimpleFormFooter,\n SimpleFormContent,\n SimpleFormHeader\n} from \"@webiny/app-admin/components/SimpleForm\";\nimport { CenteredView } from \"@webiny/app-admin\";\nimport { QueryGetSettingsResult, Settings } from \"~/types\";\nimport { MutationFunction, MutationResult } from \"@apollo/react-common\";\n\nfunction prefixValidator(value: string) {\n if (!value.endsWith(\"/files/\")) {\n throw Error(`File URL prefix must end with \"/files/\"`);\n }\n}\n\nconst FileManagerSettings: React.FC = () => {\n const { showSnackbar } = useSnackbar();\n\n return (\n <Query query={graphql.GET_SETTINGS}>\n {({ data, loading: queryInProgress }: MutationResult<QueryGetSettingsResult>) => (\n <Mutation mutation={graphql.UPDATE_SETTINGS}>\n {(update: MutationFunction, result: MutationResult) => {\n const settings = (get(data, \"fileManager.getSettings.data\") ||\n {}) as Settings;\n const { loading: mutationInProgress } = result;\n\n const onSubmit = async (data: Settings): Promise<void> => {\n await update({\n variables: {\n data: {\n uploadMinFileSize: parseFloat(data.uploadMinFileSize),\n uploadMaxFileSize: parseFloat(data.uploadMaxFileSize),\n srcPrefix: data.srcPrefix\n }\n },\n update: (cache, result) => {\n const data = structuredClone(\n cache.readQuery({ query: graphql.GET_SETTINGS })\n );\n\n data.fileManager.getSettings.data = {\n ...data.fileManager.getSettings.data,\n ...result.data.fileManager.updateSettings.data\n };\n\n cache.writeQuery({\n query: graphql.GET_SETTINGS,\n data\n });\n }\n });\n showSnackbar(\"Settings updated successfully.\");\n };\n return (\n <CenteredView>\n <Form\n data={settings}\n onSubmit={data => {\n /**\n * We are positive that data is Settings.\n */\n onSubmit(data as unknown as Settings);\n }}\n >\n {({ Bind, form }) => (\n <SimpleForm>\n {(queryInProgress || mutationInProgress) && (\n <CircularProgress />\n )}\n <SimpleFormHeader title=\"General Settings\" />\n <SimpleFormContent>\n <Grid>\n <Cell span={12}>\n <Grid>\n <Cell span={12}>\n <Bind name={\"uploadMinFileSize\"}>\n <Input\n type=\"number\"\n label=\"Minimum file upload size\"\n description=\"The smallest file size in bytes.\"\n />\n </Bind>\n </Cell>\n </Grid>\n </Cell>\n <Cell span={12}>\n <Grid>\n <Cell span={12}>\n <Bind name={\"uploadMaxFileSize\"}>\n <Input\n type=\"number\"\n label=\"Maximum file upload size\"\n description=\"The largest file size in bytes.\"\n />\n </Bind>\n </Cell>\n </Grid>\n </Cell>\n <Cell span={12}>\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"srcPrefix\"}\n validators={[\n validation.create(\"url\"),\n prefixValidator\n ]}\n >\n <Input\n label=\"File URL prefix\"\n description=\"This prefix will be prepended to the file key to form the full file URL.\"\n />\n </Bind>\n </Cell>\n </Grid>\n </Cell>\n </Grid>\n </SimpleFormContent>\n <SimpleFormFooter>\n <ButtonPrimary\n onClick={ev => {\n form.submit(ev);\n }}\n >\n Save Settings\n </ButtonPrimary>\n </SimpleFormFooter>\n </SimpleForm>\n )}\n </Form>\n </CenteredView>\n );\n }}\n </Mutation>\n )}\n </Query>\n );\n};\n\nexport default FileManagerSettings;\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAMA;AAIA,SAASA,eAAe,CAACC,KAAa,EAAE;EACpC,IAAI,CAACA,KAAK,CAACC,QAAQ,CAAC,SAAS,CAAC,EAAE;IAC5B,MAAMC,KAAK,6CAA2C;EAC1D;AACJ;AAEA,IAAMC,mBAA6B,GAAG,SAAhCA,mBAA6B,GAAS;EACxC,mBAAyB,IAAAC,yBAAW,GAAE;IAA9BC,YAAY,gBAAZA,YAAY;EAEpB,oBACI,oBAAC,sBAAK;IAAC,KAAK,EAAEC,gBAAO,CAACC;EAAa,GAC9B;IAAA,IAAGC,IAAI,QAAJA,IAAI;MAAWC,eAAe,QAAxBC,OAAO;IAAA,oBACb,oBAAC,yBAAQ;MAAC,QAAQ,EAAEJ,gBAAO,CAACK;IAAgB,GACvC,UAACC,MAAwB,EAAEC,MAAsB,EAAK;MACnD,IAAMC,QAAQ,GAAI,IAAAC,eAAG,EAACP,IAAI,EAAE,8BAA8B,CAAC,IACvD,CAAC,CAAc;MACnB,IAAiBQ,kBAAkB,GAAKH,MAAM,CAAtCH,OAAO;MAEf,IAAMO,SAAQ;QAAA,mGAAG,iBAAOT,IAAc;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAC5BI,MAAM,CAAC;kBACTM,SAAS,EAAE;oBACPV,IAAI,EAAE;sBACFW,iBAAiB,EAAEC,UAAU,CAACZ,IAAI,CAACW,iBAAiB,CAAC;sBACrDE,iBAAiB,EAAED,UAAU,CAACZ,IAAI,CAACa,iBAAiB,CAAC;sBACrDC,SAAS,EAAEd,IAAI,CAACc;oBACpB;kBACJ,CAAC;kBACDV,MAAM,EAAE,gBAACW,KAAK,EAAEV,MAAM,EAAK;oBACvB,IAAML,IAAI,GAAGgB,eAAe,CACxBD,KAAK,CAACE,SAAS,CAAC;sBAAEC,KAAK,EAAEpB,gBAAO,CAACC;oBAAa,CAAC,CAAC,CACnD;oBAEDC,IAAI,CAACmB,WAAW,CAACC,WAAW,CAACpB,IAAI,+DAC1BA,IAAI,CAACmB,WAAW,CAACC,WAAW,CAACpB,IAAI,GACjCK,MAAM,CAACL,IAAI,CAACmB,WAAW,CAACE,cAAc,CAACrB,IAAI,CACjD;oBAEDe,KAAK,CAACO,UAAU,CAAC;sBACbJ,KAAK,EAAEpB,gBAAO,CAACC,YAAY;sBAC3BC,IAAI,EAAJA;oBACJ,CAAC,CAAC;kBACN;gBACJ,CAAC,CAAC;cAAA;gBACFH,YAAY,CAAC,gCAAgC,CAAC;cAAC;cAAA;gBAAA;YAAA;UAAA;QAAA,CAClD;QAAA,gBA1BKY,QAAQ;UAAA;QAAA;MAAA,GA0Bb;MACD,oBACI,oBAAC,sBAAY,qBACT,oBAAC,UAAI;QACD,IAAI,EAAEH,QAAS;QACf,QAAQ,EAAE,kBAAAN,IAAI,EAAI;UACd;AACxC;AACA;UACwCS,SAAQ,CAACT,IAAI,CAAwB;QACzC;MAAE,GAED;QAAA,IAAGuB,IAAI,SAAJA,IAAI;UAAEC,IAAI,SAAJA,IAAI;QAAA,oBACV,oBAAC,sBAAU,QACN,CAACvB,eAAe,IAAIO,kBAAkB,kBACnC,oBAAC,0BAAgB,OACpB,eACD,oBAAC,4BAAgB;UAAC,KAAK,EAAC;QAAkB,EAAG,eAC7C,oBAAC,6BAAiB,qBACd,oBAAC,UAAI,qBACD,oBAAC,UAAI;UAAC,IAAI,EAAE;QAAG,gBACX,oBAAC,UAAI,qBACD,oBAAC,UAAI;UAAC,IAAI,EAAE;QAAG,gBACX,oBAAC,IAAI;UAAC,IAAI,EAAE;QAAoB,gBAC5B,oBAAC,YAAK;UACF,IAAI,EAAC,QAAQ;UACb,KAAK,EAAC,0BAA0B;UAChC,WAAW,EAAC;QAAkC,EAChD,CACC,CACJ,CACJ,CACJ,eACP,oBAAC,UAAI;UAAC,IAAI,EAAE;QAAG,gBACX,oBAAC,UAAI,qBACD,oBAAC,UAAI;UAAC,IAAI,EAAE;QAAG,gBACX,oBAAC,IAAI;UAAC,IAAI,EAAE;QAAoB,gBAC5B,oBAAC,YAAK;UACF,IAAI,EAAC,QAAQ;UACb,KAAK,EAAC,0BAA0B;UAChC,WAAW,EAAC;QAAiC,EAC/C,CACC,CACJ,CACJ,CACJ,eACP,oBAAC,UAAI;UAAC,IAAI,EAAE;QAAG,gBACX,oBAAC,UAAI,qBACD,oBAAC,UAAI;UAAC,IAAI,EAAE;QAAG,gBACX,oBAAC,IAAI;UACD,IAAI,EAAE,WAAY;UAClB,UAAU,EAAE,CACRiB,sBAAU,CAACC,MAAM,CAAC,KAAK,CAAC,EACxBnC,eAAe;QACjB,gBAEF,oBAAC,YAAK;UACF,KAAK,EAAC,iBAAiB;UACvB,WAAW,EAAC;QAA0E,EACxF,CACC,CACJ,CACJ,CACJ,CACJ,CACS,eACpB,oBAAC,4BAAgB,qBACb,oBAAC,qBAAa;UACV,OAAO,EAAE,iBAAAoC,EAAE,EAAI;YACXH,IAAI,CAACI,MAAM,CAACD,EAAE,CAAC;UACnB;QAAE,GACL,eAED,CAAgB,CACD,CACV;MAAA,CAChB,CACE,CACI;IAEvB,CAAC,CACM;EAAA,CACd,CACG;AAEhB,CAAC;AAAC,eAEahC,mBAAmB;AAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-file-manager",
3
- "version": "0.0.0-unstable.6e5425ee89",
3
+ "version": "0.0.0-unstable.7f63ea0744",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,17 +12,17 @@
12
12
  "@apollo/react-common": "3.1.4",
13
13
  "@apollo/react-components": "3.1.5",
14
14
  "@apollo/react-hooks": "3.1.5",
15
- "@babel/runtime": "7.20.1",
15
+ "@babel/runtime": "7.20.13",
16
16
  "@emotion/core": "10.3.1",
17
17
  "@emotion/styled": "10.3.0",
18
18
  "@types/react": "17.0.39",
19
- "@webiny/app": "0.0.0-unstable.6e5425ee89",
20
- "@webiny/app-admin": "0.0.0-unstable.6e5425ee89",
21
- "@webiny/app-security": "0.0.0-unstable.6e5425ee89",
22
- "@webiny/form": "0.0.0-unstable.6e5425ee89",
23
- "@webiny/plugins": "0.0.0-unstable.6e5425ee89",
24
- "@webiny/ui": "0.0.0-unstable.6e5425ee89",
25
- "@webiny/validation": "0.0.0-unstable.6e5425ee89",
19
+ "@webiny/app": "0.0.0-unstable.7f63ea0744",
20
+ "@webiny/app-admin": "0.0.0-unstable.7f63ea0744",
21
+ "@webiny/app-security": "0.0.0-unstable.7f63ea0744",
22
+ "@webiny/form": "0.0.0-unstable.7f63ea0744",
23
+ "@webiny/plugins": "0.0.0-unstable.7f63ea0744",
24
+ "@webiny/ui": "0.0.0-unstable.7f63ea0744",
25
+ "@webiny/validation": "0.0.0-unstable.7f63ea0744",
26
26
  "apollo-cache": "1.3.5",
27
27
  "apollo-client": "2.6.10",
28
28
  "apollo-link": "1.2.14",
@@ -41,8 +41,8 @@
41
41
  "@babel/preset-react": "^7.18.6",
42
42
  "@babel/preset-typescript": "^7.18.6",
43
43
  "@svgr/webpack": "^6.1.1",
44
- "@webiny/cli": "^0.0.0-unstable.6e5425ee89",
45
- "@webiny/project-utils": "^0.0.0-unstable.6e5425ee89",
44
+ "@webiny/cli": "^0.0.0-unstable.7f63ea0744",
45
+ "@webiny/project-utils": "^0.0.0-unstable.7f63ea0744",
46
46
  "rimraf": "^3.0.2",
47
47
  "ttypescript": "^1.5.13",
48
48
  "typescript": "4.7.4"
@@ -55,5 +55,5 @@
55
55
  "build": "yarn webiny run build",
56
56
  "watch": "yarn webiny run watch"
57
57
  },
58
- "gitHead": "1e49c5d4b72b2f00661572464188f53b42ed7745"
58
+ "gitHead": "7f63ea0744c9e31977e5dabb95538d22b4db585c"
59
59
  }