@webiny/app-mailer 5.43.2-beta.0 → 6.0.0-alpha.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.
@@ -1,21 +1,16 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.usePermission = void 0;
7
- var _appSecurity = require("@webiny/app-security");
8
- var _react = require("react");
9
- var usePermission = exports.usePermission = function usePermission() {
10
- var _useSecurity = (0, _appSecurity.useSecurity)(),
11
- identity = _useSecurity.identity,
12
- getPermission = _useSecurity.getPermission;
13
- var canChangeSettings = (0, _react.useCallback)(function () {
14
- var permission = getPermission("mailer.settings");
1
+ import { useSecurity } from "@webiny/app-security";
2
+ import { useCallback } from "react";
3
+ export const usePermission = () => {
4
+ const {
5
+ identity,
6
+ getPermission
7
+ } = useSecurity();
8
+ const canChangeSettings = useCallback(() => {
9
+ const permission = getPermission("mailer.settings");
15
10
  return !!permission;
16
11
  }, [identity]);
17
12
  return {
18
- canChangeSettings: canChangeSettings
13
+ canChangeSettings
19
14
  };
20
15
  };
21
16
 
@@ -1 +1 @@
1
- {"version":3,"names":["_appSecurity","require","_react","usePermission","exports","_useSecurity","useSecurity","identity","getPermission","canChangeSettings","useCallback","permission"],"sources":["usePermission.ts"],"sourcesContent":["import { useSecurity } from \"@webiny/app-security\";\nimport { useCallback } from \"react\";\nimport { MailerSecurityPermission } from \"~/types\";\n\nexport const usePermission = () => {\n const { identity, getPermission } = useSecurity();\n\n const canChangeSettings = useCallback((): boolean => {\n const permission = getPermission<MailerSecurityPermission>(\"mailer.settings\");\n return !!permission;\n }, [identity]);\n\n return {\n canChangeSettings\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAGO,IAAME,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAA,EAAS;EAC/B,IAAAE,YAAA,GAAoC,IAAAC,wBAAW,EAAC,CAAC;IAAzCC,QAAQ,GAAAF,YAAA,CAARE,QAAQ;IAAEC,aAAa,GAAAH,YAAA,CAAbG,aAAa;EAE/B,IAAMC,iBAAiB,GAAG,IAAAC,kBAAW,EAAC,YAAe;IACjD,IAAMC,UAAU,GAAGH,aAAa,CAA2B,iBAAiB,CAAC;IAC7E,OAAO,CAAC,CAACG,UAAU;EACvB,CAAC,EAAE,CAACJ,QAAQ,CAAC,CAAC;EAEd,OAAO;IACHE,iBAAiB,EAAjBA;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useSecurity","useCallback","usePermission","identity","getPermission","canChangeSettings","permission"],"sources":["usePermission.ts"],"sourcesContent":["import { useSecurity } from \"@webiny/app-security\";\nimport { useCallback } from \"react\";\nimport { MailerSecurityPermission } from \"~/types\";\n\nexport const usePermission = () => {\n const { identity, getPermission } = useSecurity();\n\n const canChangeSettings = useCallback((): boolean => {\n const permission = getPermission<MailerSecurityPermission>(\"mailer.settings\");\n return !!permission;\n }, [identity]);\n\n return {\n canChangeSettings\n };\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,sBAAsB;AAClD,SAASC,WAAW,QAAQ,OAAO;AAGnC,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EAC/B,MAAM;IAAEC,QAAQ;IAAEC;EAAc,CAAC,GAAGJ,WAAW,CAAC,CAAC;EAEjD,MAAMK,iBAAiB,GAAGJ,WAAW,CAAC,MAAe;IACjD,MAAMK,UAAU,GAAGF,aAAa,CAA2B,iBAAiB,CAAC;IAC7E,OAAO,CAAC,CAACE,UAAU;EACvB,CAAC,EAAE,CAACH,QAAQ,CAAC,CAAC;EAEd,OAAO;IACHE;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
package/index.js CHANGED
@@ -1,14 +1,4 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "Module", {
7
- enumerable: true,
8
- get: function get() {
9
- return _Module.Module;
10
- }
11
- });
12
- var _Module = require("./plugins/Module");
1
+ import { Module } from "./plugins/Module";
2
+ export { Module };
13
3
 
14
4
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_Module","require"],"sources":["index.tsx"],"sourcesContent":["import { Module } from \"~/plugins/Module\";\n\nexport { Module };\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["Module"],"sources":["index.tsx"],"sourcesContent":["import { Module } from \"~/plugins/Module\";\n\nexport { Module };\n"],"mappings":"AAAA,SAASA,MAAM;AAEf,SAASA,MAAM","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-mailer",
3
- "version": "5.43.2-beta.0",
3
+ "version": "6.0.0-alpha.0",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -10,12 +10,12 @@
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@apollo/react-components": "3.1.5",
13
- "@emotion/react": "11.10.8",
14
- "@webiny/app-admin": "5.43.2-beta.0",
15
- "@webiny/app-security": "5.43.2-beta.0",
16
- "@webiny/form": "5.43.2-beta.0",
17
- "@webiny/ui": "5.43.2-beta.0",
18
- "@webiny/validation": "5.43.2-beta.0",
13
+ "@webiny/admin-ui": "6.0.0-alpha.0",
14
+ "@webiny/app-admin": "6.0.0-alpha.0",
15
+ "@webiny/app-security": "6.0.0-alpha.0",
16
+ "@webiny/form": "6.0.0-alpha.0",
17
+ "@webiny/ui": "6.0.0-alpha.0",
18
+ "@webiny/validation": "6.0.0-alpha.0",
19
19
  "apollo-cache": "1.3.5",
20
20
  "apollo-client": "2.6.10",
21
21
  "apollo-link": "1.2.14",
@@ -29,9 +29,8 @@
29
29
  "react-helmet": "6.1.0"
30
30
  },
31
31
  "devDependencies": {
32
- "@emotion/babel-plugin": "11.11.0",
33
32
  "@types/react": "18.2.79",
34
- "@webiny/project-utils": "5.43.2-beta.0",
33
+ "@webiny/project-utils": "6.0.0-alpha.0",
35
34
  "rimraf": "6.0.1",
36
35
  "typescript": "5.3.3"
37
36
  },
@@ -48,5 +47,5 @@
48
47
  "removeViewBox": false
49
48
  }
50
49
  },
51
- "gitHead": "ec6176f001f6350221d992981e110a0351addbaf"
50
+ "gitHead": "a5b28fed7a242d8f56712197a8ea83aa6d2ed101"
52
51
  }
package/plugins/Module.js CHANGED
@@ -1,60 +1,54 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.Module = void 0;
9
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
- var _react = _interopRequireWildcard(require("react"));
11
- var _appAdmin = require("@webiny/app-admin");
12
- var _appSecurity = require("@webiny/app-security");
13
- var _AdminLayout = require("@webiny/app-admin/components/AdminLayout");
14
- var _reactHelmet = _interopRequireDefault(require("react-helmet"));
15
- var _usePermission2 = require("../hooks/usePermission");
16
- var _Progress = require("@webiny/ui/Progress");
17
- var _excluded = ["children"];
18
- var Settings = /*#__PURE__*/(0, _react.lazy)(function () {
19
- return import(/* webpackChunkName: "MailerModuleSettings" */"../views/settings");
20
- });
21
- var Loader = function Loader(_ref) {
22
- var children = _ref.children,
23
- props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
24
- return /*#__PURE__*/_react.default.createElement(_react.Suspense, {
25
- fallback: /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, null)
26
- }, /*#__PURE__*/_react.default.cloneElement(children, props));
27
- };
28
- var MailerSettings = function MailerSettings() {
29
- var _usePermission = (0, _usePermission2.usePermission)(),
30
- canChangeSettings = _usePermission.canChangeSettings;
31
- var changeSettings = canChangeSettings();
1
+ import React, { lazy, Suspense } from "react";
2
+ import { AdminConfig, Plugins, Layout } from "@webiny/app-admin";
3
+ import { HasPermission } from "@webiny/app-security";
4
+ import Helmet from "react-helmet";
5
+ import { usePermission } from "../hooks/usePermission";
6
+ import { CircularProgress } from "@webiny/ui/Progress";
7
+ const {
8
+ Menu,
9
+ Route
10
+ } = AdminConfig;
11
+ const Settings = /*#__PURE__*/lazy(() => import(/* webpackChunkName: "MailerModuleSettings" */"../views/settings"));
12
+ const Loader = ({
13
+ children,
14
+ ...props
15
+ }) => /*#__PURE__*/React.createElement(Suspense, {
16
+ fallback: /*#__PURE__*/React.createElement(CircularProgress, null)
17
+ }, /*#__PURE__*/React.cloneElement(children, props));
18
+ const MailerSettings = () => {
19
+ const {
20
+ canChangeSettings
21
+ } = usePermission();
22
+ const changeSettings = canChangeSettings();
32
23
  if (!changeSettings) {
33
24
  return null;
34
25
  }
35
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
36
- name: "settings"
37
- }, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
38
- name: "settings.mailer",
39
- label: "Mailer"
40
- }, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
41
- name: "settings.mailer.settings",
42
- label: "Settings",
43
- path: "/mailer/settings"
44
- }))), /*#__PURE__*/_react.default.createElement(_appAdmin.AddRoute, {
26
+ return /*#__PURE__*/React.createElement(AdminConfig, null, /*#__PURE__*/React.createElement(HasPermission, {
27
+ name: "mailer.settings"
28
+ }, /*#__PURE__*/React.createElement(Route, {
29
+ name: "mailer.settings",
45
30
  exact: true,
46
31
  path: "/mailer/settings",
47
- render: function render() {
48
- return /*#__PURE__*/_react.default.createElement(_appSecurity.SecureRoute, {
49
- permission: "mailer.settings"
50
- }, /*#__PURE__*/_react.default.createElement(_AdminLayout.AdminLayout, null, /*#__PURE__*/_react.default.createElement(_reactHelmet.default, {
51
- title: "Mailer - Settings"
52
- }), /*#__PURE__*/_react.default.createElement(Loader, null, /*#__PURE__*/_react.default.createElement(Settings, null))));
53
- }
54
- }));
32
+ element: /*#__PURE__*/React.createElement(Layout, null, /*#__PURE__*/React.createElement(Helmet, {
33
+ title: "Mailer - Settings"
34
+ }), /*#__PURE__*/React.createElement(Loader, null, /*#__PURE__*/React.createElement(Settings, null)))
35
+ }), /*#__PURE__*/React.createElement(Menu, {
36
+ name: "mailer.settings",
37
+ parent: "settings",
38
+ element: /*#__PURE__*/React.createElement(Menu.Group, {
39
+ text: "Mailer"
40
+ })
41
+ }), /*#__PURE__*/React.createElement(Menu, {
42
+ name: "mailer.settings.general",
43
+ parent: "settings",
44
+ element: /*#__PURE__*/React.createElement(Menu.Link, {
45
+ text: "Settings",
46
+ to: "/mailer/settings"
47
+ })
48
+ })));
55
49
  };
56
- var Module = exports.Module = function Module() {
57
- return /*#__PURE__*/_react.default.createElement(_appAdmin.Plugins, null, /*#__PURE__*/_react.default.createElement(MailerSettings, null));
50
+ export const Module = () => {
51
+ return /*#__PURE__*/React.createElement(Plugins, null, /*#__PURE__*/React.createElement(MailerSettings, null));
58
52
  };
59
53
 
60
54
  //# sourceMappingURL=Module.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_appSecurity","_AdminLayout","_reactHelmet","_interopRequireDefault","_usePermission2","_Progress","_excluded","Settings","lazy","Loader","_ref","children","props","_objectWithoutProperties2","default","createElement","Suspense","fallback","CircularProgress","React","cloneElement","MailerSettings","_usePermission","usePermission","canChangeSettings","changeSettings","Fragment","AddMenu","name","label","path","AddRoute","exact","render","SecureRoute","permission","AdminLayout","title","Module","exports","Plugins"],"sources":["Module.tsx"],"sourcesContent":["import React, { lazy, Suspense } from \"react\";\nimport { AddMenu as Menu, AddRoute, Plugins } from \"@webiny/app-admin\";\nimport { SecureRoute } from \"@webiny/app-security\";\nimport { AdminLayout } from \"@webiny/app-admin/components/AdminLayout\";\nimport Helmet from \"react-helmet\";\nimport { usePermission } from \"~/hooks/usePermission\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\n\nconst Settings = lazy(\n () =>\n import(\n /* webpackChunkName: \"MailerModuleSettings\" */\n \"~/views/settings\"\n )\n);\n\ninterface LoaderProps {\n children: React.ReactElement;\n}\nconst Loader = ({ children, ...props }: LoaderProps) => (\n <Suspense fallback={<CircularProgress />}>{React.cloneElement(children, props)}</Suspense>\n);\n\nconst MailerSettings = () => {\n const { canChangeSettings } = usePermission();\n\n const changeSettings = canChangeSettings();\n\n if (!changeSettings) {\n return null;\n }\n\n return (\n <>\n <Menu name={\"settings\"}>\n <Menu name={\"settings.mailer\"} label={\"Mailer\"}>\n <Menu\n name={\"settings.mailer.settings\"}\n label={\"Settings\"}\n path={\"/mailer/settings\"}\n />\n </Menu>\n </Menu>\n <AddRoute\n exact\n path={\"/mailer/settings\"}\n render={() => (\n <SecureRoute permission={\"mailer.settings\"}>\n <AdminLayout>\n <Helmet title={\"Mailer - Settings\"} />\n <Loader>\n <Settings />\n </Loader>\n </AdminLayout>\n </SecureRoute>\n )}\n />\n </>\n );\n};\n\nexport const Module = () => {\n return (\n <Plugins>\n <MailerSettings />\n </Plugins>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","lazy","Suspense","AdminConfig","Plugins","Layout","HasPermission","Helmet","usePermission","CircularProgress","Menu","Route","Settings","Loader","children","props","createElement","fallback","cloneElement","MailerSettings","canChangeSettings","changeSettings","name","exact","path","element","title","parent","Group","text","Link","to","Module"],"sources":["Module.tsx"],"sourcesContent":["import React, { lazy, Suspense } from \"react\";\nimport { AdminConfig, Plugins, Layout } from \"@webiny/app-admin\";\nimport { HasPermission } from \"@webiny/app-security\";\nimport Helmet from \"react-helmet\";\nimport { usePermission } from \"~/hooks/usePermission\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\n\nconst { Menu, Route } = AdminConfig;\n\nconst Settings = lazy(\n () =>\n import(\n /* webpackChunkName: \"MailerModuleSettings\" */\n \"~/views/settings\"\n )\n);\n\ninterface LoaderProps {\n children: React.ReactElement;\n}\n\nconst Loader = ({ children, ...props }: LoaderProps) => (\n <Suspense fallback={<CircularProgress />}>{React.cloneElement(children, props)}</Suspense>\n);\n\nconst MailerSettings = () => {\n const { canChangeSettings } = usePermission();\n\n const changeSettings = canChangeSettings();\n\n if (!changeSettings) {\n return null;\n }\n\n return (\n <AdminConfig>\n <HasPermission name={\"mailer.settings\"}>\n <Route\n name={\"mailer.settings\"}\n exact\n path={\"/mailer/settings\"}\n element={\n <Layout>\n <Helmet title={\"Mailer - Settings\"} />\n <Loader>\n <Settings />\n </Loader>\n </Layout>\n }\n />\n <Menu\n name={\"mailer.settings\"}\n parent={\"settings\"}\n element={<Menu.Group text={\"Mailer\"} />}\n />\n <Menu\n name={\"mailer.settings.general\"}\n parent={\"settings\"}\n element={<Menu.Link text={\"Settings\"} to={\"/mailer/settings\"} />}\n />\n </HasPermission>\n </AdminConfig>\n );\n};\n\nexport const Module = () => {\n return (\n <Plugins>\n <MailerSettings />\n </Plugins>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,QAAQ,QAAQ,OAAO;AAC7C,SAASC,WAAW,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAmB;AAChE,SAASC,aAAa,QAAQ,sBAAsB;AACpD,OAAOC,MAAM,MAAM,cAAc;AACjC,SAASC,aAAa;AACtB,SAASC,gBAAgB,QAAQ,qBAAqB;AAEtD,MAAM;EAAEC,IAAI;EAAEC;AAAM,CAAC,GAAGR,WAAW;AAEnC,MAAMS,QAAQ,gBAAGX,IAAI,CACjB,MACI,MAAM,CACF,iEAEJ,CACR,CAAC;AAMD,MAAMY,MAAM,GAAGA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAmB,CAAC,kBAC/Cf,KAAA,CAAAgB,aAAA,CAACd,QAAQ;EAACe,QAAQ,eAAEjB,KAAA,CAAAgB,aAAA,CAACP,gBAAgB,MAAE;AAAE,gBAAET,KAAK,CAACkB,YAAY,CAACJ,QAAQ,EAAEC,KAAK,CAAY,CAC5F;AAED,MAAMI,cAAc,GAAGA,CAAA,KAAM;EACzB,MAAM;IAAEC;EAAkB,CAAC,GAAGZ,aAAa,CAAC,CAAC;EAE7C,MAAMa,cAAc,GAAGD,iBAAiB,CAAC,CAAC;EAE1C,IAAI,CAACC,cAAc,EAAE;IACjB,OAAO,IAAI;EACf;EAEA,oBACIrB,KAAA,CAAAgB,aAAA,CAACb,WAAW,qBACRH,KAAA,CAAAgB,aAAA,CAACV,aAAa;IAACgB,IAAI,EAAE;EAAkB,gBACnCtB,KAAA,CAAAgB,aAAA,CAACL,KAAK;IACFW,IAAI,EAAE,iBAAkB;IACxBC,KAAK;IACLC,IAAI,EAAE,kBAAmB;IACzBC,OAAO,eACHzB,KAAA,CAAAgB,aAAA,CAACX,MAAM,qBACHL,KAAA,CAAAgB,aAAA,CAACT,MAAM;MAACmB,KAAK,EAAE;IAAoB,CAAE,CAAC,eACtC1B,KAAA,CAAAgB,aAAA,CAACH,MAAM,qBACHb,KAAA,CAAAgB,aAAA,CAACJ,QAAQ,MAAE,CACP,CACJ;EACX,CACJ,CAAC,eACFZ,KAAA,CAAAgB,aAAA,CAACN,IAAI;IACDY,IAAI,EAAE,iBAAkB;IACxBK,MAAM,EAAE,UAAW;IACnBF,OAAO,eAAEzB,KAAA,CAAAgB,aAAA,CAACN,IAAI,CAACkB,KAAK;MAACC,IAAI,EAAE;IAAS,CAAE;EAAE,CAC3C,CAAC,eACF7B,KAAA,CAAAgB,aAAA,CAACN,IAAI;IACDY,IAAI,EAAE,yBAA0B;IAChCK,MAAM,EAAE,UAAW;IACnBF,OAAO,eAAEzB,KAAA,CAAAgB,aAAA,CAACN,IAAI,CAACoB,IAAI;MAACD,IAAI,EAAE,UAAW;MAACE,EAAE,EAAE;IAAmB,CAAE;EAAE,CACpE,CACU,CACN,CAAC;AAEtB,CAAC;AAED,OAAO,MAAMC,MAAM,GAAGA,CAAA,KAAM;EACxB,oBACIhC,KAAA,CAAAgB,aAAA,CAACZ,OAAO,qBACJJ,KAAA,CAAAgB,aAAA,CAACG,cAAc,MAAE,CACZ,CAAC;AAElB,CAAC","ignoreList":[]}
package/types.js CHANGED
@@ -1,7 +1,3 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
1
+ export {};
6
2
 
7
3
  //# sourceMappingURL=types.js.map
@@ -1,192 +1,184 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.Settings = void 0;
9
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
- var _react = _interopRequireWildcard(require("react"));
12
- var _appAdmin = require("@webiny/app-admin");
13
- var _reactComponents = require("@apollo/react-components");
14
- var _form = require("@webiny/form");
15
- var _SimpleForm = require("@webiny/app-admin/components/SimpleForm");
16
- var _Progress = require("@webiny/ui/Progress");
17
- var _Grid = require("@webiny/ui/Grid");
18
- var _Input = require("@webiny/ui/Input");
19
- var _validation = require("@webiny/validation");
20
- var _Button = require("@webiny/ui/Button");
21
- var _graphql = require("./graphql");
22
- var _Alert = require("@webiny/ui/Alert");
23
- var _dotPropImmutable = _interopRequireDefault(require("dot-prop-immutable"));
24
- var displayErrors = function displayErrors(errors) {
1
+ import React, { useEffect, useRef, useState } from "react";
2
+ import { CenteredView, useSnackbar } from "@webiny/app-admin";
3
+ import { Mutation, Query } from "@apollo/react-components";
4
+ import { Form } from "@webiny/form";
5
+ import { SimpleForm, SimpleFormContent, SimpleFormFooter, SimpleFormHeader } from "@webiny/app-admin/components/SimpleForm";
6
+ import { validation } from "@webiny/validation";
7
+ import { GET_SETTINGS_QUERY, SAVE_SETTINGS_MUTATION } from "./graphql";
8
+ import dotPropImmutable from "dot-prop-immutable";
9
+ import { Alert, Button, Grid, Input, OverlayLoader } from "@webiny/admin-ui";
10
+ const displayErrors = errors => {
25
11
  if (!errors) {
26
12
  return null;
27
13
  }
28
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, errors.map(function (error) {
29
- var field = error.path[0];
14
+ return /*#__PURE__*/React.createElement(React.Fragment, null, errors.map(error => {
15
+ const field = error.path[0];
30
16
  if (!field) {
31
17
  return null;
32
18
  }
33
- return /*#__PURE__*/_react.default.createElement(_Alert.Alert, {
34
- key: "".concat(field),
35
- title: error.message,
19
+ return /*#__PURE__*/React.createElement(Alert, {
20
+ key: `${field}`,
21
+ title: "Error",
36
22
  type: "danger"
37
- });
23
+ }, error.message, "ssss");
38
24
  }));
39
25
  };
40
- var Settings = exports.Settings = function Settings() {
41
- var _useSnackbar = (0, _appAdmin.useSnackbar)(),
42
- showSnackbar = _useSnackbar.showSnackbar;
43
- var password = (0, _react.useRef)();
44
- var _useState = (0, _react.useState)(),
45
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
46
- errors = _useState2[0],
47
- setErrors = _useState2[1];
48
- (0, _react.useEffect)(function () {
49
- var t = setTimeout(function () {
26
+ export const Settings = () => {
27
+ const {
28
+ showSnackbar
29
+ } = useSnackbar();
30
+ const password = useRef();
31
+ const [errors, setErrors] = useState();
32
+ useEffect(() => {
33
+ const t = setTimeout(() => {
50
34
  if (!password.current) {
51
35
  return;
52
36
  }
53
37
  password.current.value = "";
54
38
  }, 300);
55
- return function () {
39
+ return () => {
56
40
  clearTimeout(t);
57
41
  };
58
42
  }, []);
59
- return /*#__PURE__*/_react.default.createElement(_reactComponents.Query, {
60
- query: _graphql.GET_SETTINGS_QUERY
61
- }, function (_ref) {
62
- var response = _ref.data,
63
- queryInProgress = _ref.loading;
64
- return /*#__PURE__*/_react.default.createElement(_reactComponents.Mutation, {
65
- mutation: _graphql.SAVE_SETTINGS_MUTATION
66
- }, function (update, result) {
67
- var _ref2 = response?.mailer.settings || {},
68
- settingsData = _ref2.data,
69
- settingsError = _ref2.error;
70
- var mutationInProgress = result.loading;
71
- var _onSubmit = async function onSubmit(data) {
72
- setErrors([]);
73
- await update({
74
- variables: {
75
- data: data
76
- },
77
- update: function update(cache, result) {
78
- var data = structuredClone(cache.readQuery({
79
- query: _graphql.GET_SETTINGS_QUERY
80
- }));
81
- var _ref3 = result.data?.mailer.settings || {},
82
- updateData = _ref3.data,
83
- updateError = _ref3.error;
84
- var errors = updateError?.data.errors;
85
- if (errors) {
86
- setErrors(errors);
87
- showSnackbar("Settings not updated! Please check your network and console logs for detailed information.");
88
- return;
89
- }
90
- cache.writeQuery({
91
- query: _graphql.GET_SETTINGS_QUERY,
92
- data: _dotPropImmutable.default.set(data, "mailer.settings.data", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, settingsData), updateData))
93
- });
94
- showSnackbar("Settings updated successfully.");
95
- }
96
- });
97
- };
98
- if (settingsError) {
99
- return /*#__PURE__*/_react.default.createElement(_appAdmin.CenteredView, null, /*#__PURE__*/_react.default.createElement(_SimpleForm.SimpleFormHeader, {
100
- title: "Mailer Settings"
101
- }), /*#__PURE__*/_react.default.createElement(_Grid.Grid, {
102
- style: {
103
- backgroundColor: "#FFFFFF"
43
+ return /*#__PURE__*/React.createElement(Query, {
44
+ query: GET_SETTINGS_QUERY
45
+ }, ({
46
+ data: response,
47
+ loading: queryInProgress
48
+ }) => /*#__PURE__*/React.createElement(Mutation, {
49
+ mutation: SAVE_SETTINGS_MUTATION
50
+ }, (update, result) => {
51
+ const {
52
+ data: settingsData,
53
+ error: settingsError
54
+ } = response?.mailer.settings || {};
55
+ const {
56
+ loading: mutationInProgress
57
+ } = result;
58
+ const onSubmit = async data => {
59
+ setErrors([]);
60
+ await update({
61
+ variables: {
62
+ data
63
+ },
64
+ update: (cache, result) => {
65
+ const data = structuredClone(cache.readQuery({
66
+ query: GET_SETTINGS_QUERY
67
+ }));
68
+ const {
69
+ data: updateData,
70
+ error: updateError
71
+ } = result.data?.mailer.settings || {};
72
+ const errors = updateError?.data.errors;
73
+ if (errors) {
74
+ setErrors(errors);
75
+ showSnackbar("Settings not updated! Please check your network and console logs for detailed information.");
76
+ return;
104
77
  }
105
- }, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
106
- span: 12
107
- }, /*#__PURE__*/_react.default.createElement(_Alert.Alert, {
108
- title: settingsError.message,
109
- type: "danger"
110
- }), settingsError.data?.description && /*#__PURE__*/_react.default.createElement("p", null, settingsError.data.description))));
78
+ cache.writeQuery({
79
+ query: GET_SETTINGS_QUERY,
80
+ data: dotPropImmutable.set(data, "mailer.settings.data", {
81
+ ...settingsData,
82
+ ...updateData
83
+ })
84
+ });
85
+ showSnackbar("Settings updated successfully.");
86
+ }
87
+ });
88
+ };
89
+ if (settingsError) {
90
+ return /*#__PURE__*/React.createElement(SimpleForm, null, /*#__PURE__*/React.createElement(SimpleFormHeader, {
91
+ title: "Mailer Settings"
92
+ }), /*#__PURE__*/React.createElement(SimpleFormContent, null, /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement(Grid.Column, {
93
+ span: 12
94
+ }, /*#__PURE__*/React.createElement(Alert, {
95
+ title: settingsError.message,
96
+ type: "danger"
97
+ }, settingsError.data?.description && /*#__PURE__*/React.createElement("p", null, settingsError.data.description))))), /*#__PURE__*/React.createElement(SimpleFormFooter, null, ""));
98
+ }
99
+ const passwordValidators = [];
100
+ if (!settingsData?.user) {
101
+ passwordValidators.push(validation.create("required,minLength:5"));
102
+ }
103
+ return /*#__PURE__*/React.createElement(CenteredView, null, /*#__PURE__*/React.createElement(Form, {
104
+ data: settingsData || {},
105
+ onSubmit: data => {
106
+ /**
107
+ * We are positive that data is TransportSettings.
108
+ */
109
+ onSubmit(data);
111
110
  }
112
- var passwordValidators = [];
113
- if (!settingsData?.user) {
114
- passwordValidators.push(_validation.validation.create("required,minLength:5"));
111
+ }, ({
112
+ Bind,
113
+ form
114
+ }) => /*#__PURE__*/React.createElement(SimpleForm, null, (queryInProgress || mutationInProgress) && /*#__PURE__*/React.createElement(OverlayLoader, null), /*#__PURE__*/React.createElement(SimpleFormHeader, {
115
+ title: "Mailer Settings"
116
+ }), /*#__PURE__*/React.createElement(SimpleFormContent, null, displayErrors(errors), /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement(Grid.Column, {
117
+ span: 12
118
+ }, /*#__PURE__*/React.createElement(Bind, {
119
+ name: "host",
120
+ validators: [validation.create("required,minLength:1")]
121
+ }, /*#__PURE__*/React.createElement(Input, {
122
+ size: "lg",
123
+ type: "text",
124
+ label: "Hostname"
125
+ }))), /*#__PURE__*/React.createElement(Grid.Column, {
126
+ span: 12
127
+ }, /*#__PURE__*/React.createElement(Bind, {
128
+ name: "port"
129
+ }, /*#__PURE__*/React.createElement(Input, {
130
+ size: "lg",
131
+ type: "number",
132
+ label: "Port"
133
+ }))), /*#__PURE__*/React.createElement(Grid.Column, {
134
+ span: 12
135
+ }, /*#__PURE__*/React.createElement(Bind, {
136
+ name: "user",
137
+ validators: [validation.create("required,minLength:1")]
138
+ }, /*#__PURE__*/React.createElement(Input, {
139
+ size: "lg",
140
+ type: "text",
141
+ label: "User",
142
+ autoComplete: "new-password"
143
+ }))), /*#__PURE__*/React.createElement(Grid.Column, {
144
+ span: 12
145
+ }, /*#__PURE__*/React.createElement(Bind, {
146
+ name: "password",
147
+ validators: passwordValidators
148
+ }, /*#__PURE__*/React.createElement(Input, {
149
+ size: "lg",
150
+ label: "Password",
151
+ type: "password",
152
+ autoComplete: "new-password",
153
+ value: ""
154
+ // @ts-expect-error
155
+ ,
156
+ inputRef: password
157
+ }))), /*#__PURE__*/React.createElement(Grid.Column, {
158
+ span: 12
159
+ }, /*#__PURE__*/React.createElement(Bind, {
160
+ name: "from",
161
+ validators: [validation.create("required,minLength:1,email")]
162
+ }, /*#__PURE__*/React.createElement(Input, {
163
+ size: "lg",
164
+ type: "text",
165
+ label: "Mail from"
166
+ }))), /*#__PURE__*/React.createElement(Grid.Column, {
167
+ span: 12
168
+ }, /*#__PURE__*/React.createElement(Bind, {
169
+ name: "replyTo",
170
+ validators: [validation.create("email")]
171
+ }, /*#__PURE__*/React.createElement(Input, {
172
+ size: "lg",
173
+ type: "text",
174
+ label: "Mail reply-to"
175
+ }))))), /*#__PURE__*/React.createElement(SimpleFormFooter, null, /*#__PURE__*/React.createElement(Button, {
176
+ text: "Save",
177
+ onClick: ev => {
178
+ form.submit(ev);
115
179
  }
116
- return /*#__PURE__*/_react.default.createElement(_appAdmin.CenteredView, null, /*#__PURE__*/_react.default.createElement(_form.Form, {
117
- data: settingsData || {},
118
- onSubmit: function onSubmit(data) {
119
- /**
120
- * We are positive that data is TransportSettings.
121
- */
122
- _onSubmit(data);
123
- }
124
- }, function (_ref4) {
125
- var Bind = _ref4.Bind,
126
- form = _ref4.form;
127
- return /*#__PURE__*/_react.default.createElement(_SimpleForm.SimpleForm, null, (queryInProgress || mutationInProgress) && /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, null), /*#__PURE__*/_react.default.createElement(_SimpleForm.SimpleFormHeader, {
128
- title: "Mailer Settings"
129
- }), /*#__PURE__*/_react.default.createElement(_SimpleForm.SimpleFormContent, null, displayErrors(errors), /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
130
- span: 12
131
- }, /*#__PURE__*/_react.default.createElement(Bind, {
132
- name: "host",
133
- validators: [_validation.validation.create("required,minLength:1")]
134
- }, /*#__PURE__*/_react.default.createElement(_Input.Input, {
135
- type: "text",
136
- label: "Hostname"
137
- }))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
138
- span: 12
139
- }, /*#__PURE__*/_react.default.createElement(Bind, {
140
- name: "port"
141
- }, /*#__PURE__*/_react.default.createElement(_Input.Input, {
142
- type: "number",
143
- label: "Port"
144
- }))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
145
- span: 12
146
- }, /*#__PURE__*/_react.default.createElement(Bind, {
147
- name: "user",
148
- validators: [_validation.validation.create("required,minLength:1")]
149
- }, /*#__PURE__*/_react.default.createElement(_Input.Input, {
150
- type: "text",
151
- label: "User",
152
- autoComplete: "new-password"
153
- }))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
154
- span: 12
155
- }, /*#__PURE__*/_react.default.createElement(Bind, {
156
- name: "password",
157
- validators: passwordValidators
158
- }, /*#__PURE__*/_react.default.createElement(_Input.Input, {
159
- label: "Password",
160
- type: "password",
161
- autoComplete: "new-password",
162
- value: ""
163
- // @ts-expect-error
164
- ,
165
- inputRef: password
166
- }))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
167
- span: 12
168
- }, /*#__PURE__*/_react.default.createElement(Bind, {
169
- name: "from",
170
- validators: [_validation.validation.create("required,minLength:1,email")]
171
- }, /*#__PURE__*/_react.default.createElement(_Input.Input, {
172
- type: "text",
173
- label: "Mail from"
174
- }))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
175
- span: 12
176
- }, /*#__PURE__*/_react.default.createElement(Bind, {
177
- name: "replyTo",
178
- validators: [_validation.validation.create("email")]
179
- }, /*#__PURE__*/_react.default.createElement(_Input.Input, {
180
- type: "text",
181
- label: "Mail reply-to"
182
- }))))), /*#__PURE__*/_react.default.createElement(_SimpleForm.SimpleFormFooter, null, /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
183
- onClick: function onClick(ev) {
184
- form.submit(ev);
185
- }
186
- }, "Save Settings")));
187
- }));
188
- });
189
- });
180
+ })))));
181
+ }));
190
182
  };
191
183
 
192
184
  //# sourceMappingURL=Settings.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_reactComponents","_form","_SimpleForm","_Progress","_Grid","_Input","_validation","_Button","_graphql","_Alert","_dotPropImmutable","_interopRequireDefault","displayErrors","errors","default","createElement","Fragment","map","error","field","path","Alert","key","concat","title","message","type","Settings","exports","_useSnackbar","useSnackbar","showSnackbar","password","useRef","_useState","useState","_useState2","_slicedToArray2","setErrors","useEffect","t","setTimeout","current","value","clearTimeout","Query","query","GET_SETTINGS_QUERY","_ref","response","data","queryInProgress","loading","Mutation","mutation","SAVE_SETTINGS_MUTATION","update","result","_ref2","mailer","settings","settingsData","settingsError","mutationInProgress","onSubmit","variables","cache","structuredClone","readQuery","_ref3","updateData","updateError","writeQuery","dotPropImmutable","set","_objectSpread2","CenteredView","SimpleFormHeader","Grid","style","backgroundColor","Cell","span","description","passwordValidators","user","push","validation","create","Form","_ref4","Bind","form","SimpleForm","CircularProgress","SimpleFormContent","name","validators","Input","label","autoComplete","inputRef","SimpleFormFooter","ButtonPrimary","onClick","ev","submit"],"sources":["Settings.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport { CenteredView, useSnackbar } from \"@webiny/app-admin\";\nimport { Mutation, Query } from \"@apollo/react-components\";\nimport { Form } from \"@webiny/form\";\nimport {\n SimpleForm,\n SimpleFormContent,\n SimpleFormFooter,\n SimpleFormHeader\n} from \"@webiny/app-admin/components/SimpleForm\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { validation } from \"@webiny/validation\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport {\n GET_SETTINGS_QUERY,\n SAVE_SETTINGS_MUTATION,\n SaveSettingsMutationResponse,\n SaveSettingsMutationVariables,\n SettingsQueryResponse\n} from \"./graphql\";\nimport { TransportSettings, ValidationError } from \"~/types\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { Validator } from \"@webiny/validation/types\";\nimport dotPropImmutable from \"dot-prop-immutable\";\n\nconst displayErrors = (errors?: ValidationError[]) => {\n if (!errors) {\n return null;\n }\n return (\n <>\n {errors.map(error => {\n const field = error.path[0];\n if (!field) {\n return null;\n }\n return <Alert key={`${field}`} title={error.message} type=\"danger\" />;\n })}\n </>\n );\n};\n\nexport const Settings = () => {\n const { showSnackbar } = useSnackbar();\n\n const password = useRef<HTMLInputElement>();\n\n const [errors, setErrors] = useState<ValidationError[] | undefined>();\n\n useEffect(() => {\n const t = setTimeout(() => {\n if (!password.current) {\n return;\n }\n password.current.value = \"\";\n }, 300);\n\n return () => {\n clearTimeout(t);\n };\n }, []);\n\n return (\n <Query<SettingsQueryResponse> query={GET_SETTINGS_QUERY}>\n {({ data: response, loading: queryInProgress }) => (\n <Mutation<SaveSettingsMutationResponse, SaveSettingsMutationVariables>\n mutation={SAVE_SETTINGS_MUTATION}\n >\n {(update, result) => {\n const { data: settingsData, error: settingsError } =\n response?.mailer.settings || {};\n const { loading: mutationInProgress } = result;\n\n const onSubmit = async (data: TransportSettings): Promise<void> => {\n setErrors([]);\n await update({\n variables: {\n data\n },\n update: (cache, result) => {\n const data = structuredClone(\n cache.readQuery<SettingsQueryResponse>({\n query: GET_SETTINGS_QUERY\n })\n );\n\n const { data: updateData, error: updateError } =\n result.data?.mailer.settings || {};\n\n const errors = updateError?.data.errors;\n if (errors) {\n setErrors(errors);\n showSnackbar(\n \"Settings not updated! Please check your network and console logs for detailed information.\"\n );\n return;\n }\n\n cache.writeQuery({\n query: GET_SETTINGS_QUERY,\n data: dotPropImmutable.set(data, \"mailer.settings.data\", {\n ...settingsData,\n ...updateData\n })\n });\n showSnackbar(\"Settings updated successfully.\");\n }\n });\n };\n if (settingsError) {\n return (\n <CenteredView>\n <SimpleFormHeader title=\"Mailer Settings\" />\n <Grid style={{ backgroundColor: \"#FFFFFF\" }}>\n <Cell span={12}>\n <Alert title={settingsError.message} type=\"danger\" />\n {settingsError.data?.description && (\n <p>{settingsError.data.description}</p>\n )}\n </Cell>\n </Grid>\n </CenteredView>\n );\n }\n\n const passwordValidators: Validator[] = [];\n if (!settingsData?.user) {\n passwordValidators.push(validation.create(\"required,minLength:5\"));\n }\n\n return (\n <CenteredView>\n <Form\n data={settingsData || {}}\n onSubmit={data => {\n /**\n * We are positive that data is TransportSettings.\n */\n onSubmit(data as unknown as TransportSettings);\n }}\n >\n {({ Bind, form }) => (\n <SimpleForm>\n {(queryInProgress || mutationInProgress) && (\n <CircularProgress />\n )}\n <SimpleFormHeader title=\"Mailer Settings\" />\n <SimpleFormContent>\n {displayErrors(errors)}\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"host\"}\n validators={[\n validation.create(\n \"required,minLength:1\"\n )\n ]}\n >\n <Input type=\"text\" label=\"Hostname\" />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"port\"}>\n <Input type=\"number\" label=\"Port\" />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"user\"}\n validators={[\n validation.create(\n \"required,minLength:1\"\n )\n ]}\n >\n <Input\n type=\"text\"\n label=\"User\"\n autoComplete=\"new-password\"\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"password\"}\n validators={passwordValidators}\n >\n <Input\n label=\"Password\"\n type=\"password\"\n autoComplete=\"new-password\"\n value={\"\"}\n // @ts-expect-error\n inputRef={password}\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"from\"}\n validators={[\n validation.create(\n \"required,minLength:1,email\"\n )\n ]}\n >\n <Input type=\"text\" label=\"Mail from\" />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"replyTo\"}\n validators={[\n validation.create(\"email\")\n ]}\n >\n <Input\n type=\"text\"\n label=\"Mail reply-to\"\n />\n </Bind>\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useRef","useState","CenteredView","useSnackbar","Mutation","Query","Form","SimpleForm","SimpleFormContent","SimpleFormFooter","SimpleFormHeader","validation","GET_SETTINGS_QUERY","SAVE_SETTINGS_MUTATION","dotPropImmutable","Alert","Button","Grid","Input","OverlayLoader","displayErrors","errors","createElement","Fragment","map","error","field","path","key","title","type","message","Settings","showSnackbar","password","setErrors","t","setTimeout","current","value","clearTimeout","query","data","response","loading","queryInProgress","mutation","update","result","settingsData","settingsError","mailer","settings","mutationInProgress","onSubmit","variables","cache","structuredClone","readQuery","updateData","updateError","writeQuery","set","Column","span","description","passwordValidators","user","push","create","Bind","form","name","validators","size","label","autoComplete","inputRef","text","onClick","ev","submit"],"sources":["Settings.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport { CenteredView, useSnackbar } from \"@webiny/app-admin\";\nimport { Mutation, Query } from \"@apollo/react-components\";\nimport { Form } from \"@webiny/form\";\nimport {\n SimpleForm,\n SimpleFormContent,\n SimpleFormFooter,\n SimpleFormHeader\n} from \"@webiny/app-admin/components/SimpleForm\";\nimport { validation } from \"@webiny/validation\";\nimport {\n GET_SETTINGS_QUERY,\n SAVE_SETTINGS_MUTATION,\n SaveSettingsMutationResponse,\n SaveSettingsMutationVariables,\n SettingsQueryResponse\n} from \"./graphql\";\nimport { TransportSettings, ValidationError } from \"~/types\";\nimport { Validator } from \"@webiny/validation/types\";\nimport dotPropImmutable from \"dot-prop-immutable\";\nimport { Alert, Button, Grid, Input, OverlayLoader } from \"@webiny/admin-ui\";\n\nconst displayErrors = (errors?: ValidationError[]) => {\n if (!errors) {\n return null;\n }\n return (\n <>\n {errors.map(error => {\n const field = error.path[0];\n if (!field) {\n return null;\n }\n return (\n <Alert key={`${field}`} title={\"Error\"} type=\"danger\">\n {error.message}\n {\"ssss\"}\n </Alert>\n );\n })}\n </>\n );\n};\n\nexport const Settings = () => {\n const { showSnackbar } = useSnackbar();\n\n const password = useRef<HTMLInputElement>();\n\n const [errors, setErrors] = useState<ValidationError[] | undefined>();\n\n useEffect(() => {\n const t = setTimeout(() => {\n if (!password.current) {\n return;\n }\n password.current.value = \"\";\n }, 300);\n\n return () => {\n clearTimeout(t);\n };\n }, []);\n\n return (\n <Query<SettingsQueryResponse> query={GET_SETTINGS_QUERY}>\n {({ data: response, loading: queryInProgress }) => (\n <Mutation<SaveSettingsMutationResponse, SaveSettingsMutationVariables>\n mutation={SAVE_SETTINGS_MUTATION}\n >\n {(update, result) => {\n const { data: settingsData, error: settingsError } =\n response?.mailer.settings || {};\n const { loading: mutationInProgress } = result;\n\n const onSubmit = async (data: TransportSettings): Promise<void> => {\n setErrors([]);\n await update({\n variables: {\n data\n },\n update: (cache, result) => {\n const data = structuredClone(\n cache.readQuery<SettingsQueryResponse>({\n query: GET_SETTINGS_QUERY\n })\n );\n\n const { data: updateData, error: updateError } =\n result.data?.mailer.settings || {};\n\n const errors = updateError?.data.errors;\n if (errors) {\n setErrors(errors);\n showSnackbar(\n \"Settings not updated! Please check your network and console logs for detailed information.\"\n );\n return;\n }\n\n cache.writeQuery({\n query: GET_SETTINGS_QUERY,\n data: dotPropImmutable.set(data, \"mailer.settings.data\", {\n ...settingsData,\n ...updateData\n })\n });\n showSnackbar(\"Settings updated successfully.\");\n }\n });\n };\n if (settingsError) {\n return (\n <SimpleForm>\n <SimpleFormHeader title=\"Mailer Settings\" />\n <SimpleFormContent>\n <Grid>\n <Grid.Column span={12}>\n <Alert title={settingsError.message} type=\"danger\">\n {settingsError.data?.description && (\n <p>{settingsError.data.description}</p>\n )}\n </Alert>\n </Grid.Column>\n </Grid>\n </SimpleFormContent>\n <SimpleFormFooter>{\"\"}</SimpleFormFooter>\n </SimpleForm>\n );\n }\n\n const passwordValidators: Validator[] = [];\n if (!settingsData?.user) {\n passwordValidators.push(validation.create(\"required,minLength:5\"));\n }\n\n return (\n <CenteredView>\n <Form\n data={settingsData || {}}\n onSubmit={data => {\n /**\n * We are positive that data is TransportSettings.\n */\n onSubmit(data as unknown as TransportSettings);\n }}\n >\n {({ Bind, form }) => (\n <SimpleForm>\n {(queryInProgress || mutationInProgress) && (\n <OverlayLoader />\n )}\n <SimpleFormHeader title=\"Mailer Settings\" />\n <SimpleFormContent>\n {displayErrors(errors)}\n <Grid>\n <Grid.Column span={12}>\n <Bind\n name={\"host\"}\n validators={[\n validation.create(\n \"required,minLength:1\"\n )\n ]}\n >\n <Input\n size={\"lg\"}\n type=\"text\"\n label=\"Hostname\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name={\"port\"}>\n <Input\n size={\"lg\"}\n type=\"number\"\n label=\"Port\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind\n name={\"user\"}\n validators={[\n validation.create(\n \"required,minLength:1\"\n )\n ]}\n >\n <Input\n size={\"lg\"}\n type=\"text\"\n label=\"User\"\n autoComplete=\"new-password\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind\n name={\"password\"}\n validators={passwordValidators}\n >\n <Input\n size={\"lg\"}\n label=\"Password\"\n type=\"password\"\n autoComplete=\"new-password\"\n value={\"\"}\n // @ts-expect-error\n inputRef={password}\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind\n name={\"from\"}\n validators={[\n validation.create(\n \"required,minLength:1,email\"\n )\n ]}\n >\n <Input\n size={\"lg\"}\n type=\"text\"\n label=\"Mail from\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind\n name={\"replyTo\"}\n validators={[\n validation.create(\"email\")\n ]}\n >\n <Input\n size={\"lg\"}\n type=\"text\"\n label=\"Mail reply-to\"\n />\n </Bind>\n </Grid.Column>\n </Grid>\n </SimpleFormContent>\n <SimpleFormFooter>\n <Button\n text={\"Save\"}\n onClick={ev => {\n form.submit(ev);\n }}\n />\n </SimpleFormFooter>\n </SimpleForm>\n )}\n </Form>\n </CenteredView>\n );\n }}\n </Mutation>\n )}\n </Query>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,16 +1,39 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.SAVE_SETTINGS_MUTATION = exports.GET_SETTINGS_QUERY = void 0;
8
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
- var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
10
- var _templateObject, _templateObject2;
11
- var SETTINGS_FIELDS = "\n {\n host\n port\n user\n from\n replyTo\n }\n";
12
- var ERROR_FIELDS = "\n {\n message\n code\n data\n }\n";
13
- var GET_SETTINGS_QUERY = exports.GET_SETTINGS_QUERY = (0, _graphqlTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n query GetMailerSettings {\n mailer {\n settings: getSettings {\n data ", "\n error ", "\n }\n }\n }\n"])), SETTINGS_FIELDS, ERROR_FIELDS);
14
- var SAVE_SETTINGS_MUTATION = exports.SAVE_SETTINGS_MUTATION = (0, _graphqlTag.default)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n mutation SaveTransportSettings($data: MailerTransportSettingsInput!) {\n mailer {\n settings: saveSettings(data: $data) {\n data ", "\n error ", "\n }\n }\n }\n"])), SETTINGS_FIELDS, ERROR_FIELDS);
1
+ import gql from "graphql-tag";
2
+ const SETTINGS_FIELDS = `
3
+ {
4
+ host
5
+ port
6
+ user
7
+ from
8
+ replyTo
9
+ }
10
+ `;
11
+ const ERROR_FIELDS = `
12
+ {
13
+ message
14
+ code
15
+ data
16
+ }
17
+ `;
18
+ export const GET_SETTINGS_QUERY = gql`
19
+ query GetMailerSettings {
20
+ mailer {
21
+ settings: getSettings {
22
+ data ${SETTINGS_FIELDS}
23
+ error ${ERROR_FIELDS}
24
+ }
25
+ }
26
+ }
27
+ `;
28
+ export const SAVE_SETTINGS_MUTATION = gql`
29
+ mutation SaveTransportSettings($data: MailerTransportSettingsInput!) {
30
+ mailer {
31
+ settings: saveSettings(data: $data) {
32
+ data ${SETTINGS_FIELDS}
33
+ error ${ERROR_FIELDS}
34
+ }
35
+ }
36
+ }
37
+ `;
15
38
 
16
39
  //# sourceMappingURL=graphql.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_graphqlTag","_interopRequireDefault","require","_templateObject","_templateObject2","SETTINGS_FIELDS","ERROR_FIELDS","GET_SETTINGS_QUERY","exports","gql","_taggedTemplateLiteral2","default","SAVE_SETTINGS_MUTATION"],"sources":["graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport { ApiError, TransportSettings, ValidationErrors } from \"~/types\";\n\nconst SETTINGS_FIELDS = `\n {\n host\n port\n user\n from\n replyTo\n }\n`;\n\nconst ERROR_FIELDS = `\n {\n message\n code\n data\n }\n`;\n\nexport interface SettingsQueryResponse {\n mailer: {\n settings: {\n data: TransportSettings | null;\n error: ApiError | null;\n };\n };\n}\nexport const GET_SETTINGS_QUERY = gql`\n query GetMailerSettings {\n mailer {\n settings: getSettings {\n data ${SETTINGS_FIELDS}\n error ${ERROR_FIELDS}\n }\n }\n }\n`;\n\nexport interface SaveSettingsMutationVariables {\n data: TransportSettings & {\n password?: string;\n };\n}\n\nexport interface SaveSettingsMutationResponse {\n mailer: {\n settings: {\n data: TransportSettings | null;\n error: ApiError<ValidationErrors> | null;\n };\n };\n}\nexport const SAVE_SETTINGS_MUTATION = gql`\n mutation SaveTransportSettings($data: MailerTransportSettingsInput!) {\n mailer {\n settings: saveSettings(data: $data) {\n data ${SETTINGS_FIELDS}\n error ${ERROR_FIELDS}\n }\n }\n }\n`;\n"],"mappings":";;;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8B,IAAAC,eAAA,EAAAC,gBAAA;AAG9B,IAAMC,eAAe,8FAQpB;AAED,IAAMC,YAAY,kEAMjB;AAUM,IAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,OAAGE,mBAAG,EAAAN,eAAA,KAAAA,eAAA,OAAAO,uBAAA,CAAAC,OAAA,0LAIdN,eAAe,EACdC,YAAY,CAInC;AAgBM,IAAMM,sBAAsB,GAAAJ,OAAA,CAAAI,sBAAA,OAAGH,mBAAG,EAAAL,gBAAA,KAAAA,gBAAA,OAAAM,uBAAA,CAAAC,OAAA,qPAIlBN,eAAe,EACdC,YAAY,CAInC","ignoreList":[]}
1
+ {"version":3,"names":["gql","SETTINGS_FIELDS","ERROR_FIELDS","GET_SETTINGS_QUERY","SAVE_SETTINGS_MUTATION"],"sources":["graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport { ApiError, TransportSettings, ValidationErrors } from \"~/types\";\n\nconst SETTINGS_FIELDS = `\n {\n host\n port\n user\n from\n replyTo\n }\n`;\n\nconst ERROR_FIELDS = `\n {\n message\n code\n data\n }\n`;\n\nexport interface SettingsQueryResponse {\n mailer: {\n settings: {\n data: TransportSettings | null;\n error: ApiError | null;\n };\n };\n}\nexport const GET_SETTINGS_QUERY = gql`\n query GetMailerSettings {\n mailer {\n settings: getSettings {\n data ${SETTINGS_FIELDS}\n error ${ERROR_FIELDS}\n }\n }\n }\n`;\n\nexport interface SaveSettingsMutationVariables {\n data: TransportSettings & {\n password?: string;\n };\n}\n\nexport interface SaveSettingsMutationResponse {\n mailer: {\n settings: {\n data: TransportSettings | null;\n error: ApiError<ValidationErrors> | null;\n };\n };\n}\nexport const SAVE_SETTINGS_MUTATION = gql`\n mutation SaveTransportSettings($data: MailerTransportSettingsInput!) {\n mailer {\n settings: saveSettings(data: $data) {\n data ${SETTINGS_FIELDS}\n error ${ERROR_FIELDS}\n }\n }\n }\n`;\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,aAAa;AAG7B,MAAMC,eAAe,GAAG;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,YAAY,GAAG;AACrB;AACA;AACA;AACA;AACA;AACA,CAAC;AAUD,OAAO,MAAMC,kBAAkB,GAAGH,GAAG;AACrC;AACA;AACA;AACA,uBAAuBC,eAAe;AACtC,wBAAwBC,YAAY;AACpC;AACA;AACA;AACA,CAAC;AAgBD,OAAO,MAAME,sBAAsB,GAAGJ,GAAG;AACzC;AACA;AACA;AACA,uBAAuBC,eAAe;AACtC,wBAAwBC,YAAY;AACpC;AACA;AACA;AACA,CAAC","ignoreList":[]}
@@ -1,10 +1,4 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _Settings = require("./Settings");
8
- var _default = exports.default = _Settings.Settings;
1
+ import { Settings } from "./Settings";
2
+ export default Settings;
9
3
 
10
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_Settings","require","_default","exports","default","Settings"],"sources":["index.ts"],"sourcesContent":["import { Settings } from \"./Settings\";\n\nexport default Settings;\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAsC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEvBC,kBAAQ","ignoreList":[]}
1
+ {"version":3,"names":["Settings"],"sources":["index.ts"],"sourcesContent":["import { Settings } from \"./Settings\";\n\nexport default Settings;\n"],"mappings":"AAAA,SAASA,QAAQ;AAEjB,eAAeA,QAAQ","ignoreList":[]}