@webiny/app-security-access-management 5.41.4 → 5.42.0-beta.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-security-access-management",
3
- "version": "5.41.4",
3
+ "version": "5.42.0-beta.1",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -16,14 +16,14 @@
16
16
  "@apollo/react-hooks": "3.1.5",
17
17
  "@emotion/styled": "11.10.6",
18
18
  "@material-design-icons/svg": "0.14.13",
19
- "@webiny/app": "5.41.4",
20
- "@webiny/app-admin": "5.41.4",
21
- "@webiny/app-security": "5.41.4",
22
- "@webiny/form": "5.41.4",
23
- "@webiny/plugins": "5.41.4",
24
- "@webiny/react-router": "5.41.4",
25
- "@webiny/ui": "5.41.4",
26
- "@webiny/validation": "5.41.4",
19
+ "@webiny/app": "5.42.0-beta.1",
20
+ "@webiny/app-admin": "5.42.0-beta.1",
21
+ "@webiny/app-security": "5.42.0-beta.1",
22
+ "@webiny/form": "5.42.0-beta.1",
23
+ "@webiny/plugins": "5.42.0-beta.1",
24
+ "@webiny/react-router": "5.42.0-beta.1",
25
+ "@webiny/ui": "5.42.0-beta.1",
26
+ "@webiny/validation": "5.42.0-beta.1",
27
27
  "emotion": "10.0.27",
28
28
  "graphql-tag": "2.12.6",
29
29
  "lodash": "4.17.21",
@@ -32,17 +32,11 @@
32
32
  "react-helmet": "6.1.0"
33
33
  },
34
34
  "devDependencies": {
35
- "@babel/cli": "7.24.1",
36
- "@babel/core": "7.24.3",
37
- "@babel/plugin-proposal-class-properties": "7.18.6",
38
- "@babel/preset-env": "7.24.3",
39
- "@babel/preset-react": "7.24.1",
40
- "@babel/preset-typescript": "7.24.1",
41
35
  "@emotion/babel-plugin": "11.11.0",
42
- "@types/react-helmet": "6.1.6",
43
- "@webiny/cli": "5.41.4",
44
- "@webiny/project-utils": "5.41.4",
45
- "rimraf": "5.0.5",
36
+ "@types/react-helmet": "6.1.11",
37
+ "@webiny/cli": "5.42.0-beta.1",
38
+ "@webiny/project-utils": "5.42.0-beta.1",
39
+ "rimraf": "6.0.1",
46
40
  "ttypescript": "1.5.15",
47
41
  "typescript": "4.9.5"
48
42
  },
@@ -61,5 +55,5 @@
61
55
  ]
62
56
  }
63
57
  },
64
- "gitHead": "94922b33af59db5afe75127bb07443ce7f1448c4"
58
+ "gitHead": "5e69da579efa4f2c8268e0c97ac6407ddc3f5f07"
65
59
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_graphqlTag","_interopRequireDefault","_reactHooks","_Alert","_Progress","_SimpleForm","_templateObject","_templateObject2","_EMOTION_STRINGIFIED_CSS_ERROR__","SimpleFormPlaceholder","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","IS_INSTALLED","gql","_taggedTemplateLiteral2","INSTALL","SecurityInstaller","_ref","onInstalled","client","useApolloClient","_useState","useState","_useState2","_slicedToArray2","error","setError","useEffect","mutate","mutation","then","_ref2","data","security","install","message","setTimeout","createElement","Alert","title","type","SimpleForm","CircularProgress","SimpleFormContent","plugin","dependencies","secure","getInstalledVersion","_ref3","_await$client$query","query","version","render","_ref4","_default","exports"],"sources":["installation.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport gql from \"graphql-tag\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\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 { AdminInstallationPlugin } from \"@webiny/app-admin/types\";\n\nconst SimpleFormPlaceholder = styled.div({\n minHeight: 300,\n minWidth: 400\n});\n\nconst IS_INSTALLED = gql`\n query IsSecurityInstalled {\n security {\n version\n }\n }\n`;\n\nconst INSTALL = gql`\n mutation InstallSecurity {\n security {\n install {\n data\n error {\n code\n message\n }\n }\n }\n }\n`;\n\ninterface SecurityInstallerProps {\n onInstalled: () => void;\n}\nconst SecurityInstaller = ({ onInstalled }: SecurityInstallerProps) => {\n const client = useApolloClient();\n const [error, setError] = useState(null);\n\n useEffect(() => {\n client.mutate({ mutation: INSTALL }).then(({ data }) => {\n const { error } = data.security.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={`Something went wrong`} type={\"danger\"}>\n {error}\n </Alert>\n ) : (\n `Installing Security...`\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-security\",\n type: \"admin-installation\",\n title: `Security`,\n dependencies: [`admin-installation-tenancy`],\n secure: false,\n async getInstalledVersion({ client }) {\n const { data } = await client.query({ query: IS_INSTALLED });\n return data.security.version;\n },\n render({ onInstalled }) {\n return <SecurityInstaller onInstalled={onInstalled} />;\n }\n};\n\nexport default plugin;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_graphqlTag","_interopRequireDefault","_reactHooks","_Alert","_Progress","_SimpleForm","_templateObject","_templateObject2","_EMOTION_STRINGIFIED_CSS_ERROR__","SimpleFormPlaceholder","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","IS_INSTALLED","gql","_taggedTemplateLiteral2","INSTALL","SecurityInstaller","_ref","onInstalled","client","useApolloClient","_useState","useState","_useState2","_slicedToArray2","error","setError","useEffect","mutate","mutation","then","_ref2","data","security","install","message","setTimeout","createElement","Alert","title","type","SimpleForm","CircularProgress","SimpleFormContent","plugin","dependencies","secure","getInstalledVersion","_ref3","_await$client$query","query","version","render","_ref4","_default","exports"],"sources":["installation.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport gql from \"graphql-tag\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\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 { AdminInstallationPlugin } from \"@webiny/app-admin/types\";\n\nconst SimpleFormPlaceholder = styled.div({\n minHeight: 300,\n minWidth: 400\n});\n\nconst IS_INSTALLED = gql`\n query IsSecurityInstalled {\n security {\n version\n }\n }\n`;\n\nconst INSTALL = gql`\n mutation InstallSecurity {\n security {\n install {\n data\n error {\n code\n message\n }\n }\n }\n }\n`;\n\ninterface SecurityInstallerProps {\n onInstalled: () => void;\n}\nconst SecurityInstaller = ({ onInstalled }: SecurityInstallerProps) => {\n const client = useApolloClient();\n const [error, setError] = useState(null);\n\n useEffect(() => {\n client.mutate({ mutation: INSTALL }).then(({ data }) => {\n const { error } = data.security.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={`Something went wrong`} type={\"danger\"}>\n {error}\n </Alert>\n ) : (\n `Installing Security...`\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-security\",\n type: \"admin-installation\",\n title: `Security`,\n dependencies: [`admin-installation-tenancy`],\n secure: false,\n async getInstalledVersion({ client }) {\n const { data } = await client.query({ query: IS_INSTALLED });\n return data.security.version;\n },\n render({ onInstalled }) {\n return <SecurityInstaller onInstalled={onInstalled} />;\n }\n};\n\nexport default plugin;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_i18n","_Accordion","_baselineSecurity24px","_SecurityPermissions","_PermissionRendererPlugin","_templateObject","_templateObject2","t","i18n","ns","_default","exports","default","PermissionRendererPlugin","render","props","createElement","AccordionItem","icon","ReactComponent","title","_taggedTemplateLiteral2","description","SecurityPermissions"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { AccordionItem } from \"@webiny/ui/Accordion\";\nimport { ReactComponent as SecurityIcon } from \"@webiny/app-admin/assets/icons/baseline-security-24px.svg\";\nimport { SecurityPermissions } from \"./SecurityPermissions\";\nimport { PermissionRendererPlugin } from \"@webiny/app-admin/plugins/PermissionRendererPlugin\";\n\nconst t = i18n.ns(\"app-security-admin-users/plugins/permissionRenderer\");\n\nexport default new PermissionRendererPlugin({\n render(props) {\n return (\n <AccordionItem\n icon={<SecurityIcon />}\n title={t`Security`}\n description={t`Manage Security app access permissions.`}\n data-testid={\"permission.security\"}\n >\n <SecurityPermissions {...props} />\n </AccordionItem>\n );\n }\n});\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AACA,IAAAK,yBAAA,GAAAL,OAAA;AAA8F,IAAAM,eAAA,EAAAC,gBAAA;AAE9F,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,qDAAqD,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE1D,IAAIC,kDAAwB,CAAC;EACxCC,MAAM,WAAAA,OAACC,KAAK,EAAE;IACV,oBACIlB,MAAA,CAAAe,OAAA,CAAAI,aAAA,CAACf,UAAA,CAAAgB,aAAa;MACVC,IAAI,eAAErB,MAAA,CAAAe,OAAA,CAAAI,aAAA,CAACd,qBAAA,CAAAiB,cAAY,MAAE,CAAE;MACvBC,KAAK,EAAEb,CAAC,CAAAF,eAAA,KAAAA,eAAA,OAAAgB,uBAAA,CAAAT,OAAA,iBAAW;MACnBU,WAAW,EAAEf,CAAC,CAAAD,gBAAA,KAAAA,gBAAA,OAAAe,uBAAA,CAAAT,OAAA,gDAA0C;MACxD,eAAa;IAAsB,gBAEnCf,MAAA,CAAAe,OAAA,CAAAI,aAAA,CAACb,oBAAA,CAAAoB,mBAAmB,EAAKR,KAAQ,CACtB,CAAC;EAExB;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_i18n","_Accordion","_baselineSecurity24px","_SecurityPermissions","_PermissionRendererPlugin","_templateObject","_templateObject2","t","i18n","ns","_default","exports","default","PermissionRendererPlugin","render","props","createElement","AccordionItem","icon","ReactComponent","title","_taggedTemplateLiteral2","description","SecurityPermissions"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { AccordionItem } from \"@webiny/ui/Accordion\";\nimport { ReactComponent as SecurityIcon } from \"@webiny/app-admin/assets/icons/baseline-security-24px.svg\";\nimport { SecurityPermissions } from \"./SecurityPermissions\";\nimport { PermissionRendererPlugin } from \"@webiny/app-admin/plugins/PermissionRendererPlugin\";\n\nconst t = i18n.ns(\"app-security-admin-users/plugins/permissionRenderer\");\n\nexport default new PermissionRendererPlugin({\n render(props) {\n return (\n <AccordionItem\n icon={<SecurityIcon />}\n title={t`Security`}\n description={t`Manage Security app access permissions.`}\n data-testid={\"permission.security\"}\n >\n <SecurityPermissions {...props} />\n </AccordionItem>\n );\n }\n});\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AACA,IAAAK,yBAAA,GAAAL,OAAA;AAA8F,IAAAM,eAAA,EAAAC,gBAAA;AAE9F,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,qDAAqD,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE1D,IAAIC,kDAAwB,CAAC;EACxCC,MAAM,WAANA,MAAMA,CAACC,KAAK,EAAE;IACV,oBACIlB,MAAA,CAAAe,OAAA,CAAAI,aAAA,CAACf,UAAA,CAAAgB,aAAa;MACVC,IAAI,eAAErB,MAAA,CAAAe,OAAA,CAAAI,aAAA,CAACd,qBAAA,CAAAiB,cAAY,MAAE,CAAE;MACvBC,KAAK,EAAEb,CAAC,CAAAF,eAAA,KAAAA,eAAA,OAAAgB,uBAAA,CAAAT,OAAA,iBAAW;MACnBU,WAAW,EAAEf,CAAC,CAAAD,gBAAA,KAAAA,gBAAA,OAAAe,uBAAA,CAAAT,OAAA,gDAA0C;MACxD,eAAa;IAAsB,gBAEnCf,MAAA,CAAAe,OAAA,CAAAI,aAAA,CAACb,oBAAA,CAAAoB,mBAAmB,EAAKR,KAAQ,CACtB,CAAC;EAExB;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactHelmet","_reactRouter","_AdminLayout","_components","_Groups","_ApiKeys","_constants","plugins","name","type","route","default","createElement","Route","exact","path","render","SecureRoute","permission","Permission","Groups","AdminLayout","title","ApiKeys","_default","exports"],"sources":["routes.tsx"],"sourcesContent":["import React from \"react\";\nimport Helmet from \"react-helmet\";\nimport { Route } from \"@webiny/react-router\";\nimport { AdminLayout } from \"@webiny/app-admin/components/AdminLayout\";\nimport { SecureRoute } from \"@webiny/app-security/components\";\nimport { RoutePlugin } from \"@webiny/app/types\";\nimport { Groups } from \"~/ui/views/Groups\";\nimport { ApiKeys } from \"~/ui/views/ApiKeys\";\nimport { Permission } from \"./constants\";\n\nconst plugins: RoutePlugin[] = [\n {\n name: \"route-security-groups\",\n type: \"route\",\n route: (\n <Route\n exact\n path={\"/access-management/groups\"}\n render={() => (\n <SecureRoute permission={Permission.Groups}>\n <AdminLayout>\n <Helmet title={\"Access Management - Groups\"} />\n <Groups />\n </AdminLayout>\n </SecureRoute>\n )}\n />\n )\n },\n {\n name: \"route-security-api-keys\",\n type: \"route\",\n route: (\n <Route\n exact\n path={\"/access-management/api-keys\"}\n render={() => (\n <SecureRoute permission={Permission.ApiKeys}>\n <AdminLayout title={\"Access Management - API Keys\"}>\n <ApiKeys />\n </AdminLayout>\n </SecureRoute>\n )}\n />\n )\n }\n];\n\nexport default plugins;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAEA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AAEA,IAAMQ,OAAsB,GAAG,CAC3B;EACIC,IAAI,EAAE,uBAAuB;EAC7BC,IAAI,EAAE,OAAO;EACbC,KAAK,eACDb,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACX,YAAA,CAAAY,KAAK;IACFC,KAAK;IACLC,IAAI,EAAE,2BAA4B;IAClCC,MAAM,EAAE,SAAAA,OAAA;MAAA,oBACJnB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACT,WAAA,CAAAc,WAAW;QAACC,UAAU,EAAEC,qBAAU,CAACC;MAAO,gBACvCvB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACV,YAAA,CAAAmB,WAAW,qBACRxB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACZ,YAAA,CAAAW,OAAM;QAACW,KAAK,EAAE;MAA6B,CAAE,CAAC,eAC/CzB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACR,OAAA,CAAAgB,MAAM,MAAE,CACA,CACJ,CAAC;IAAA;EAChB,CACL;AAET,CAAC,EACD;EACIZ,IAAI,EAAE,yBAAyB;EAC/BC,IAAI,EAAE,OAAO;EACbC,KAAK,eACDb,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACX,YAAA,CAAAY,KAAK;IACFC,KAAK;IACLC,IAAI,EAAE,6BAA8B;IACpCC,MAAM,EAAE,SAAAA,OAAA;MAAA,oBACJnB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACT,WAAA,CAAAc,WAAW;QAACC,UAAU,EAAEC,qBAAU,CAACI;MAAQ,gBACxC1B,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACV,YAAA,CAAAmB,WAAW;QAACC,KAAK,EAAE;MAA+B,gBAC/CzB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACP,QAAA,CAAAkB,OAAO,MAAE,CACD,CACJ,CAAC;IAAA;EAChB,CACL;AAET,CAAC,CACJ;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAd,OAAA,GAEaJ,OAAO","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactHelmet","_reactRouter","_AdminLayout","_components","_Groups","_ApiKeys","_constants","plugins","name","type","route","default","createElement","Route","exact","path","render","SecureRoute","permission","Permission","Groups","AdminLayout","title","ApiKeys","_default","exports"],"sources":["routes.tsx"],"sourcesContent":["import React from \"react\";\nimport Helmet from \"react-helmet\";\nimport { Route } from \"@webiny/react-router\";\nimport { AdminLayout } from \"@webiny/app-admin/components/AdminLayout\";\nimport { SecureRoute } from \"@webiny/app-security/components\";\nimport { RoutePlugin } from \"@webiny/app/types\";\nimport { Groups } from \"~/ui/views/Groups\";\nimport { ApiKeys } from \"~/ui/views/ApiKeys\";\nimport { Permission } from \"./constants\";\n\nconst plugins: RoutePlugin[] = [\n {\n name: \"route-security-groups\",\n type: \"route\",\n route: (\n <Route\n exact\n path={\"/access-management/groups\"}\n render={() => (\n <SecureRoute permission={Permission.Groups}>\n <AdminLayout>\n <Helmet title={\"Access Management - Groups\"} />\n <Groups />\n </AdminLayout>\n </SecureRoute>\n )}\n />\n )\n },\n {\n name: \"route-security-api-keys\",\n type: \"route\",\n route: (\n <Route\n exact\n path={\"/access-management/api-keys\"}\n render={() => (\n <SecureRoute permission={Permission.ApiKeys}>\n <AdminLayout title={\"Access Management - API Keys\"}>\n <ApiKeys />\n </AdminLayout>\n </SecureRoute>\n )}\n />\n )\n }\n];\n\nexport default plugins;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAEA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AAEA,IAAMQ,OAAsB,GAAG,CAC3B;EACIC,IAAI,EAAE,uBAAuB;EAC7BC,IAAI,EAAE,OAAO;EACbC,KAAK,eACDb,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACX,YAAA,CAAAY,KAAK;IACFC,KAAK;IACLC,IAAI,EAAE,2BAA4B;IAClCC,MAAM,EAAE,SAARA,MAAMA,CAAA;MAAA,oBACFnB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACT,WAAA,CAAAc,WAAW;QAACC,UAAU,EAAEC,qBAAU,CAACC;MAAO,gBACvCvB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACV,YAAA,CAAAmB,WAAW,qBACRxB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACZ,YAAA,CAAAW,OAAM;QAACW,KAAK,EAAE;MAA6B,CAAE,CAAC,eAC/CzB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACR,OAAA,CAAAgB,MAAM,MAAE,CACA,CACJ,CAAC;IAAA;EAChB,CACL;AAET,CAAC,EACD;EACIZ,IAAI,EAAE,yBAAyB;EAC/BC,IAAI,EAAE,OAAO;EACbC,KAAK,eACDb,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACX,YAAA,CAAAY,KAAK;IACFC,KAAK;IACLC,IAAI,EAAE,6BAA8B;IACpCC,MAAM,EAAE,SAARA,MAAMA,CAAA;MAAA,oBACFnB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACT,WAAA,CAAAc,WAAW;QAACC,UAAU,EAAEC,qBAAU,CAACI;MAAQ,gBACxC1B,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACV,YAAA,CAAAmB,WAAW;QAACC,KAAK,EAAE;MAA+B,gBAC/CzB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACP,QAAA,CAAAkB,OAAO,MAAE,CACD,CACJ,CAAC;IAAA;EAChB,CACL;AAET,CAAC,CACJ;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAd,OAAA,GAEaJ,OAAO","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_NotAuthorizedError","plugin","type","name","render","createElement","NotAuthorizedError","_default","exports","default"],"sources":["secureRouteError.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Plugin } from \"@webiny/plugins/types\";\nimport { NotAuthorizedError } from \"~/components/NotAuthorizedError\";\n\ntype SecureRouteErrorPlugin = Plugin & { render: () => React.ReactNode };\n\nconst plugin: SecureRouteErrorPlugin = {\n type: \"secure-route-error\",\n name: \"secure-route-error\",\n render(): React.ReactElement {\n return <NotAuthorizedError />;\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,mBAAA,GAAAD,OAAA;AAIA,IAAME,MAA8B,GAAG;EACnCC,IAAI,EAAE,oBAAoB;EAC1BC,IAAI,EAAE,oBAAoB;EAC1BC,MAAM,WAAAA,OAAA,EAAuB;IACzB,oBAAOP,KAAA,CAAAQ,aAAA,CAACL,mBAAA,CAAAM,kBAAkB,MAAE,CAAC;EACjC;AACJ,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaR,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_NotAuthorizedError","plugin","type","name","render","createElement","NotAuthorizedError","_default","exports","default"],"sources":["secureRouteError.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Plugin } from \"@webiny/plugins/types\";\nimport { NotAuthorizedError } from \"~/components/NotAuthorizedError\";\n\ntype SecureRouteErrorPlugin = Plugin & { render: () => React.ReactNode };\n\nconst plugin: SecureRouteErrorPlugin = {\n type: \"secure-route-error\",\n name: \"secure-route-error\",\n render(): React.ReactElement {\n return <NotAuthorizedError />;\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,mBAAA,GAAAD,OAAA;AAIA,IAAME,MAA8B,GAAG;EACnCC,IAAI,EAAE,oBAAoB;EAC1BC,IAAI,EAAE,oBAAoB;EAC1BC,MAAM,WAANA,MAAMA,CAAA,EAAuB;IACzB,oBAAOP,KAAA,CAAAQ,aAAA,CAACL,mBAAA,CAAAM,kBAAkB,MAAE,CAAC;EACjC;AACJ,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaR,MAAM","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_InputElement2","_GroupAutocomplete","GroupAutocompleteElement","exports","_InputElement","_classCallCheck2","default","_callSuper2","arguments","_inherits2","_createClass2","key","value","render","props","formProps","_ref","Bind","validators","config","console","log","createElement","name","id","GroupAutocomplete","label","InputElement"],"sources":["GroupAutocompleteElement.tsx"],"sourcesContent":["import React from \"react\";\nimport { FormRenderPropParams } from \"@webiny/form\";\nimport { InputElement } from \"@webiny/app-admin/ui/elements/form/InputElement\";\nimport { GroupAutocomplete } from \"~/components/GroupAutocomplete\";\nimport { FormFieldElementRenderProps } from \"@webiny/app-admin/ui/elements/form/FormFieldElement\";\n\nexport class GroupAutocompleteElement extends InputElement {\n public override render(props: FormFieldElementRenderProps): React.ReactElement {\n const { formProps } = props;\n const { Bind } = formProps as FormRenderPropParams;\n const validators = this.config.validators;\n /**\n * TODO @ts-refactor @bruno\n * Figure out what can validators be.\n */\n if (validators && typeof validators !== \"function\") {\n console.log(\n \"packages/app-security-access-management/src/ui/elements/GroupAutocompleteElement.tsx validators is set but not a function.\"\n );\n console.log(validators);\n }\n return (\n <Bind\n name={this.id}\n validators={typeof validators === \"function\" ? validators({ formProps }) : []}\n >\n <GroupAutocomplete label={\"Group\"} />\n </Bind>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AAAmE,IAGtDG,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,0BAAAE,aAAA;EAAA,SAAAF,yBAAA;IAAA,IAAAG,gBAAA,CAAAC,OAAA,QAAAJ,wBAAA;IAAA,WAAAK,WAAA,CAAAD,OAAA,QAAAJ,wBAAA,EAAAM,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAH,OAAA,EAAAJ,wBAAA,EAAAE,aAAA;EAAA,WAAAM,aAAA,CAAAJ,OAAA,EAAAJ,wBAAA;IAAAS,GAAA;IAAAC,KAAA,EACjC,SAAAC,OAAuBC,KAAkC,EAAsB;MAC3E,IAAQC,SAAS,GAAKD,KAAK,CAAnBC,SAAS;MACjB,IAAAC,IAAA,GAAiBD,SAAS;QAAlBE,IAAI,GAAAD,IAAA,CAAJC,IAAI;MACZ,IAAMC,UAAU,GAAG,IAAI,CAACC,MAAM,CAACD,UAAU;MACzC;AACR;AACA;AACA;MACQ,IAAIA,UAAU,IAAI,OAAOA,UAAU,KAAK,UAAU,EAAE;QAChDE,OAAO,CAACC,GAAG,CACP,4HACJ,CAAC;QACDD,OAAO,CAACC,GAAG,CAACH,UAAU,CAAC;MAC3B;MACA,oBACIrB,MAAA,CAAAS,OAAA,CAAAgB,aAAA,CAACL,IAAI;QACDM,IAAI,EAAE,IAAI,CAACC,EAAG;QACdN,UAAU,EAAE,OAAOA,UAAU,KAAK,UAAU,GAAGA,UAAU,CAAC;UAAEH,SAAS,EAATA;QAAU,CAAC,CAAC,GAAG;MAAG,gBAE9ElB,MAAA,CAAAS,OAAA,CAAAgB,aAAA,CAACrB,kBAAA,CAAAwB,iBAAiB;QAACC,KAAK,EAAE;MAAQ,CAAE,CAClC,CAAC;IAEf;EAAC;AAAA,EAvByCC,2BAAY","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_InputElement2","_GroupAutocomplete","GroupAutocompleteElement","exports","_InputElement","_classCallCheck2","default","_callSuper2","arguments","_inherits2","_createClass2","key","value","render","props","formProps","_ref","Bind","validators","config","console","log","createElement","name","id","GroupAutocomplete","label","InputElement"],"sources":["GroupAutocompleteElement.tsx"],"sourcesContent":["import React from \"react\";\nimport { FormRenderPropParams } from \"@webiny/form\";\nimport { InputElement } from \"@webiny/app-admin/ui/elements/form/InputElement\";\nimport { GroupAutocomplete } from \"~/components/GroupAutocomplete\";\nimport { FormFieldElementRenderProps } from \"@webiny/app-admin/ui/elements/form/FormFieldElement\";\n\nexport class GroupAutocompleteElement extends InputElement {\n public override render(props: FormFieldElementRenderProps): React.ReactElement {\n const { formProps } = props;\n const { Bind } = formProps as FormRenderPropParams;\n const validators = this.config.validators;\n /**\n * TODO @ts-refactor @bruno\n * Figure out what can validators be.\n */\n if (validators && typeof validators !== \"function\") {\n console.log(\n \"packages/app-security-access-management/src/ui/elements/GroupAutocompleteElement.tsx validators is set but not a function.\"\n );\n console.log(validators);\n }\n return (\n <Bind\n name={this.id}\n validators={typeof validators === \"function\" ? validators({ formProps }) : []}\n >\n <GroupAutocomplete label={\"Group\"} />\n </Bind>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AAAmE,IAGtDG,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,0BAAAE,aAAA;EAAA,SAAAF,yBAAA;IAAA,IAAAG,gBAAA,CAAAC,OAAA,QAAAJ,wBAAA;IAAA,WAAAK,WAAA,CAAAD,OAAA,QAAAJ,wBAAA,EAAAM,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAH,OAAA,EAAAJ,wBAAA,EAAAE,aAAA;EAAA,WAAAM,aAAA,CAAAJ,OAAA,EAAAJ,wBAAA;IAAAS,GAAA;IAAAC,KAAA,EACjC,SAAgBC,MAAMA,CAACC,KAAkC,EAAsB;MAC3E,IAAQC,SAAS,GAAKD,KAAK,CAAnBC,SAAS;MACjB,IAAAC,IAAA,GAAiBD,SAAS;QAAlBE,IAAI,GAAAD,IAAA,CAAJC,IAAI;MACZ,IAAMC,UAAU,GAAG,IAAI,CAACC,MAAM,CAACD,UAAU;MACzC;AACR;AACA;AACA;MACQ,IAAIA,UAAU,IAAI,OAAOA,UAAU,KAAK,UAAU,EAAE;QAChDE,OAAO,CAACC,GAAG,CACP,4HACJ,CAAC;QACDD,OAAO,CAACC,GAAG,CAACH,UAAU,CAAC;MAC3B;MACA,oBACIrB,MAAA,CAAAS,OAAA,CAAAgB,aAAA,CAACL,IAAI;QACDM,IAAI,EAAE,IAAI,CAACC,EAAG;QACdN,UAAU,EAAE,OAAOA,UAAU,KAAK,UAAU,GAAGA,UAAU,CAAC;UAAEH,SAAS,EAATA;QAAU,CAAC,CAAC,GAAG;MAAG,gBAE9ElB,MAAA,CAAAS,OAAA,CAAAgB,aAAA,CAACrB,kBAAA,CAAAwB,iBAAiB;QAACC,KAAK,EAAE;MAAQ,CAAE,CAClC,CAAC;IAEf;EAAC;AAAA,EAvByCC,2BAAY","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_InputElement2","_GroupsMultiAutocomplete","GroupsAutocompleteElement","exports","_InputElement","_classCallCheck2","default","_callSuper2","arguments","_inherits2","_createClass2","key","value","render","props","formProps","_ref","Bind","validators","config","console","log","createElement","name","id","GroupsMultiAutocomplete","label","InputElement"],"sources":["GroupsMultiAutocompleteElement.tsx"],"sourcesContent":["import React from \"react\";\nimport { FormRenderPropParams } from \"@webiny/form\";\nimport { InputElement } from \"@webiny/app-admin/ui/elements/form/InputElement\";\nimport { GroupsMultiAutocomplete } from \"~/components/GroupsMultiAutocomplete\";\nimport { FormFieldElementRenderProps } from \"@webiny/app-admin/ui/elements/form/FormFieldElement\";\n\nexport class GroupsAutocompleteElement extends InputElement {\n public override render(props: FormFieldElementRenderProps): React.ReactElement {\n const { formProps } = props;\n const { Bind } = formProps as FormRenderPropParams;\n const validators = this.config.validators;\n /**\n * TODO @ts-refactor @bruno\n * Figure out what can validators be.\n */\n if (validators && typeof validators !== \"function\") {\n console.log(\n \"packages/app-security-access-management/src/ui/elements/GroupsAutocompleteElement.tsx validators is set but not a function.\"\n );\n console.log(validators);\n }\n return (\n <Bind\n name={this.id}\n validators={typeof validators === \"function\" ? validators({ formProps }) : []}\n >\n <GroupsMultiAutocomplete label={\"Groups\"} />\n </Bind>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,wBAAA,GAAAF,OAAA;AAA+E,IAGlEG,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,0BAAAE,aAAA;EAAA,SAAAF,0BAAA;IAAA,IAAAG,gBAAA,CAAAC,OAAA,QAAAJ,yBAAA;IAAA,WAAAK,WAAA,CAAAD,OAAA,QAAAJ,yBAAA,EAAAM,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAH,OAAA,EAAAJ,yBAAA,EAAAE,aAAA;EAAA,WAAAM,aAAA,CAAAJ,OAAA,EAAAJ,yBAAA;IAAAS,GAAA;IAAAC,KAAA,EAClC,SAAAC,OAAuBC,KAAkC,EAAsB;MAC3E,IAAQC,SAAS,GAAKD,KAAK,CAAnBC,SAAS;MACjB,IAAAC,IAAA,GAAiBD,SAAS;QAAlBE,IAAI,GAAAD,IAAA,CAAJC,IAAI;MACZ,IAAMC,UAAU,GAAG,IAAI,CAACC,MAAM,CAACD,UAAU;MACzC;AACR;AACA;AACA;MACQ,IAAIA,UAAU,IAAI,OAAOA,UAAU,KAAK,UAAU,EAAE;QAChDE,OAAO,CAACC,GAAG,CACP,6HACJ,CAAC;QACDD,OAAO,CAACC,GAAG,CAACH,UAAU,CAAC;MAC3B;MACA,oBACIrB,MAAA,CAAAS,OAAA,CAAAgB,aAAA,CAACL,IAAI;QACDM,IAAI,EAAE,IAAI,CAACC,EAAG;QACdN,UAAU,EAAE,OAAOA,UAAU,KAAK,UAAU,GAAGA,UAAU,CAAC;UAAEH,SAAS,EAATA;QAAU,CAAC,CAAC,GAAG;MAAG,gBAE9ElB,MAAA,CAAAS,OAAA,CAAAgB,aAAA,CAACrB,wBAAA,CAAAwB,uBAAuB;QAACC,KAAK,EAAE;MAAS,CAAE,CACzC,CAAC;IAEf;EAAC;AAAA,EAvB0CC,2BAAY","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_InputElement2","_GroupsMultiAutocomplete","GroupsAutocompleteElement","exports","_InputElement","_classCallCheck2","default","_callSuper2","arguments","_inherits2","_createClass2","key","value","render","props","formProps","_ref","Bind","validators","config","console","log","createElement","name","id","GroupsMultiAutocomplete","label","InputElement"],"sources":["GroupsMultiAutocompleteElement.tsx"],"sourcesContent":["import React from \"react\";\nimport { FormRenderPropParams } from \"@webiny/form\";\nimport { InputElement } from \"@webiny/app-admin/ui/elements/form/InputElement\";\nimport { GroupsMultiAutocomplete } from \"~/components/GroupsMultiAutocomplete\";\nimport { FormFieldElementRenderProps } from \"@webiny/app-admin/ui/elements/form/FormFieldElement\";\n\nexport class GroupsAutocompleteElement extends InputElement {\n public override render(props: FormFieldElementRenderProps): React.ReactElement {\n const { formProps } = props;\n const { Bind } = formProps as FormRenderPropParams;\n const validators = this.config.validators;\n /**\n * TODO @ts-refactor @bruno\n * Figure out what can validators be.\n */\n if (validators && typeof validators !== \"function\") {\n console.log(\n \"packages/app-security-access-management/src/ui/elements/GroupsAutocompleteElement.tsx validators is set but not a function.\"\n );\n console.log(validators);\n }\n return (\n <Bind\n name={this.id}\n validators={typeof validators === \"function\" ? validators({ formProps }) : []}\n >\n <GroupsMultiAutocomplete label={\"Groups\"} />\n </Bind>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,wBAAA,GAAAF,OAAA;AAA+E,IAGlEG,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,0BAAAE,aAAA;EAAA,SAAAF,0BAAA;IAAA,IAAAG,gBAAA,CAAAC,OAAA,QAAAJ,yBAAA;IAAA,WAAAK,WAAA,CAAAD,OAAA,QAAAJ,yBAAA,EAAAM,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAH,OAAA,EAAAJ,yBAAA,EAAAE,aAAA;EAAA,WAAAM,aAAA,CAAAJ,OAAA,EAAAJ,yBAAA;IAAAS,GAAA;IAAAC,KAAA,EAClC,SAAgBC,MAAMA,CAACC,KAAkC,EAAsB;MAC3E,IAAQC,SAAS,GAAKD,KAAK,CAAnBC,SAAS;MACjB,IAAAC,IAAA,GAAiBD,SAAS;QAAlBE,IAAI,GAAAD,IAAA,CAAJC,IAAI;MACZ,IAAMC,UAAU,GAAG,IAAI,CAACC,MAAM,CAACD,UAAU;MACzC;AACR;AACA;AACA;MACQ,IAAIA,UAAU,IAAI,OAAOA,UAAU,KAAK,UAAU,EAAE;QAChDE,OAAO,CAACC,GAAG,CACP,6HACJ,CAAC;QACDD,OAAO,CAACC,GAAG,CAACH,UAAU,CAAC;MAC3B;MACA,oBACIrB,MAAA,CAAAS,OAAA,CAAAgB,aAAA,CAACL,IAAI;QACDM,IAAI,EAAE,IAAI,CAACC,EAAG;QACdN,UAAU,EAAE,OAAOA,UAAU,KAAK,UAAU,GAAGA,UAAU,CAAC;UAAEH,SAAS,EAATA;QAAU,CAAC,CAAC,GAAG;MAAG,gBAE9ElB,MAAA,CAAAS,OAAA,CAAAgB,aAAA,CAACrB,wBAAA,CAAAwB,uBAAuB;QAACC,KAAK,EAAE;MAAS,CAAE,CACzC,CAAC;IAEf;EAAC;AAAA,EAvB0CC,2BAAY","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_InputElement2","_TeamAutocomplete","TeamAutocompleteElement","exports","_InputElement","_classCallCheck2","default","_callSuper2","arguments","_inherits2","_createClass2","key","value","render","props","formProps","_ref","Bind","validators","config","console","log","createElement","name","id","TeamAutocomplete","label","InputElement"],"sources":["TeamAutocompleteElement.tsx"],"sourcesContent":["import React from \"react\";\nimport { FormRenderPropParams } from \"@webiny/form\";\nimport { InputElement } from \"@webiny/app-admin/ui/elements/form/InputElement\";\nimport { TeamAutocomplete } from \"~/components/TeamAutocomplete\";\nimport { FormFieldElementRenderProps } from \"@webiny/app-admin/ui/elements/form/FormFieldElement\";\n\nexport class TeamAutocompleteElement extends InputElement {\n public override render(props: FormFieldElementRenderProps): React.ReactElement {\n const { formProps } = props;\n const { Bind } = formProps as FormRenderPropParams;\n const validators = this.config.validators;\n /**\n * TODO @ts-refactor @bruno\n * Figure out what can validators be.\n */\n if (validators && typeof validators !== \"function\") {\n console.log(\n \"packages/app-security-access-management/src/ui/elements/TeamAutocompleteElement.tsx validators is set but not a function.\"\n );\n console.log(validators);\n }\n return (\n <Bind\n name={this.id}\n validators={typeof validators === \"function\" ? validators({ formProps }) : []}\n >\n <TeamAutocomplete label={\"Team\"} />\n </Bind>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAAiE,IAGpDG,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,0BAAAE,aAAA;EAAA,SAAAF,wBAAA;IAAA,IAAAG,gBAAA,CAAAC,OAAA,QAAAJ,uBAAA;IAAA,WAAAK,WAAA,CAAAD,OAAA,QAAAJ,uBAAA,EAAAM,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAH,OAAA,EAAAJ,uBAAA,EAAAE,aAAA;EAAA,WAAAM,aAAA,CAAAJ,OAAA,EAAAJ,uBAAA;IAAAS,GAAA;IAAAC,KAAA,EAChC,SAAAC,OAAuBC,KAAkC,EAAsB;MAC3E,IAAQC,SAAS,GAAKD,KAAK,CAAnBC,SAAS;MACjB,IAAAC,IAAA,GAAiBD,SAAS;QAAlBE,IAAI,GAAAD,IAAA,CAAJC,IAAI;MACZ,IAAMC,UAAU,GAAG,IAAI,CAACC,MAAM,CAACD,UAAU;MACzC;AACR;AACA;AACA;MACQ,IAAIA,UAAU,IAAI,OAAOA,UAAU,KAAK,UAAU,EAAE;QAChDE,OAAO,CAACC,GAAG,CACP,2HACJ,CAAC;QACDD,OAAO,CAACC,GAAG,CAACH,UAAU,CAAC;MAC3B;MACA,oBACIrB,MAAA,CAAAS,OAAA,CAAAgB,aAAA,CAACL,IAAI;QACDM,IAAI,EAAE,IAAI,CAACC,EAAG;QACdN,UAAU,EAAE,OAAOA,UAAU,KAAK,UAAU,GAAGA,UAAU,CAAC;UAAEH,SAAS,EAATA;QAAU,CAAC,CAAC,GAAG;MAAG,gBAE9ElB,MAAA,CAAAS,OAAA,CAAAgB,aAAA,CAACrB,iBAAA,CAAAwB,gBAAgB;QAACC,KAAK,EAAE;MAAO,CAAE,CAChC,CAAC;IAEf;EAAC;AAAA,EAvBwCC,2BAAY","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_InputElement2","_TeamAutocomplete","TeamAutocompleteElement","exports","_InputElement","_classCallCheck2","default","_callSuper2","arguments","_inherits2","_createClass2","key","value","render","props","formProps","_ref","Bind","validators","config","console","log","createElement","name","id","TeamAutocomplete","label","InputElement"],"sources":["TeamAutocompleteElement.tsx"],"sourcesContent":["import React from \"react\";\nimport { FormRenderPropParams } from \"@webiny/form\";\nimport { InputElement } from \"@webiny/app-admin/ui/elements/form/InputElement\";\nimport { TeamAutocomplete } from \"~/components/TeamAutocomplete\";\nimport { FormFieldElementRenderProps } from \"@webiny/app-admin/ui/elements/form/FormFieldElement\";\n\nexport class TeamAutocompleteElement extends InputElement {\n public override render(props: FormFieldElementRenderProps): React.ReactElement {\n const { formProps } = props;\n const { Bind } = formProps as FormRenderPropParams;\n const validators = this.config.validators;\n /**\n * TODO @ts-refactor @bruno\n * Figure out what can validators be.\n */\n if (validators && typeof validators !== \"function\") {\n console.log(\n \"packages/app-security-access-management/src/ui/elements/TeamAutocompleteElement.tsx validators is set but not a function.\"\n );\n console.log(validators);\n }\n return (\n <Bind\n name={this.id}\n validators={typeof validators === \"function\" ? validators({ formProps }) : []}\n >\n <TeamAutocomplete label={\"Team\"} />\n </Bind>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAAiE,IAGpDG,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,0BAAAE,aAAA;EAAA,SAAAF,wBAAA;IAAA,IAAAG,gBAAA,CAAAC,OAAA,QAAAJ,uBAAA;IAAA,WAAAK,WAAA,CAAAD,OAAA,QAAAJ,uBAAA,EAAAM,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAH,OAAA,EAAAJ,uBAAA,EAAAE,aAAA;EAAA,WAAAM,aAAA,CAAAJ,OAAA,EAAAJ,uBAAA;IAAAS,GAAA;IAAAC,KAAA,EAChC,SAAgBC,MAAMA,CAACC,KAAkC,EAAsB;MAC3E,IAAQC,SAAS,GAAKD,KAAK,CAAnBC,SAAS;MACjB,IAAAC,IAAA,GAAiBD,SAAS;QAAlBE,IAAI,GAAAD,IAAA,CAAJC,IAAI;MACZ,IAAMC,UAAU,GAAG,IAAI,CAACC,MAAM,CAACD,UAAU;MACzC;AACR;AACA;AACA;MACQ,IAAIA,UAAU,IAAI,OAAOA,UAAU,KAAK,UAAU,EAAE;QAChDE,OAAO,CAACC,GAAG,CACP,2HACJ,CAAC;QACDD,OAAO,CAACC,GAAG,CAACH,UAAU,CAAC;MAC3B;MACA,oBACIrB,MAAA,CAAAS,OAAA,CAAAgB,aAAA,CAACL,IAAI;QACDM,IAAI,EAAE,IAAI,CAACC,EAAG;QACdN,UAAU,EAAE,OAAOA,UAAU,KAAK,UAAU,GAAGA,UAAU,CAAC;UAAEH,SAAS,EAATA;QAAU,CAAC,CAAC,GAAG;MAAG,gBAE9ElB,MAAA,CAAAS,OAAA,CAAAgB,aAAA,CAACrB,iBAAA,CAAAwB,gBAAgB;QAACC,KAAK,EAAE;MAAO,CAAE,CAChC,CAAC;IAEf;EAAC;AAAA,EAvBwCC,2BAAY","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_get","_interopRequireDefault","_reactRouter","_i18n","_form","_Grid","_Input","_Button","_Progress","_FormElementMessage","_Permissions","_validation","_SimpleForm","_Typography","_useSnackbar2","_utils","GQL","_Snackbar","_isEmpty","_EmptyView","_add18px","_content_copy","_Tooltip","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_EMOTION_STRINGIFIED_CSS_ERROR__","t","i18n","ns","ButtonWrapper","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","PermissionsTitleCell","Cell","ApiKeyForm","exports","_useRouter","useRouter","location","history","_useSnackbar","useSnackbar","showSnackbar","newEntry","URLSearchParams","search","get","id","getQuery","useQuery","READ_API_KEY","variables","skip","onCompleted","data","error","security","apiKey","push","message","_useMutation","useMutation","CREATE_API_KEY","refetchQueries","query","LIST_API_KEYS","_useMutation2","_slicedToArray2","create","createMutation","_useMutation3","UPDATE_API_KEY","_useMutation4","update","updateMutation","loading","find","item","onSubmit","useCallback","formData","permissions","length","_taggedTemplateLiteral2","timeout","dismissesOnAction","action","createElement","SnackbarAction","isUpdate","createdOn","_ref","pickDataForAPI","_ref2","operation","args","response","concat","showEmptyView","isEmpty","title","ButtonDefault","onClick","ButtonIcon","icon","ReactComponent","Form","_ref3","form","Bind","SimpleForm","CircularProgress","SimpleFormHeader","SimpleFormContent","Grid","span","validators","validation","Input","rows","Typography","use","token","style","background","padding","paddingLeft","lineHeight","verticalAlign","position","right","CopyButton","value","onCopy","FormElementMessage","Tooltip","content","placement","IconButton","navigator","clipboard","writeText","JSON","stringify","defaultValue","bind","Permissions","Object","assign","SimpleFormFooter","ButtonPrimary","ev","submit"],"sources":["ApiKeyForm.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { useMutation, useQuery } from \"@apollo/react-hooks\";\nimport get from \"lodash/get\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Form } from \"@webiny/form\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport {\n ButtonDefault,\n ButtonIcon,\n ButtonPrimary,\n CopyButton,\n IconButton\n} from \"@webiny/ui/Button\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { Permissions } from \"@webiny/app-admin/components/Permissions\";\nimport { validation } from \"@webiny/validation\";\nimport {\n SimpleForm,\n SimpleFormFooter,\n SimpleFormContent,\n SimpleFormHeader\n} from \"@webiny/app-admin/components/SimpleForm\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { pickDataForAPI } from \"./utils\";\nimport * as GQL from \"./graphql\";\nimport { SnackbarAction } from \"@webiny/ui/Snackbar\";\nimport isEmpty from \"lodash/isEmpty\";\nimport EmptyView from \"@webiny/app-admin/components/EmptyView\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { ReactComponent as CopyIcon } from \"@material-design-icons/svg/outlined/content_copy.svg\";\nimport styled from \"@emotion/styled\";\nimport { ApiKey } from \"~/types\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\n\nconst t = i18n.ns(\"app-security-admin-users/admin/api-keys/form\");\n\nconst ButtonWrapper = styled(\"div\")({\n display: \"flex\",\n justifyContent: \"space-between\"\n});\n\nconst PermissionsTitleCell = styled(Cell)`\n display: flex;\n align-items: center;\n`;\n\nexport interface ApiKeyFormProps {\n // TODO @ts-refactor delete and go up the tree and sort it out\n [key: string]: any;\n}\n\nexport const ApiKeyForm = () => {\n const { location, history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const newEntry = new URLSearchParams(location.search).get(\"new\") === \"true\";\n const id = new URLSearchParams(location.search).get(\"id\");\n\n const getQuery = useQuery(GQL.READ_API_KEY, {\n variables: { id },\n skip: !id,\n onCompleted: data => {\n if (!data) {\n return;\n }\n\n const { error } = data.security.apiKey;\n if (error) {\n history.push(\"/access-management/api-keys\");\n showSnackbar(error.message);\n }\n }\n });\n\n const [create, createMutation] = useMutation(GQL.CREATE_API_KEY, {\n refetchQueries: [{ query: GQL.LIST_API_KEYS }]\n });\n\n const [update, updateMutation] = useMutation(GQL.UPDATE_API_KEY, {\n refetchQueries: [{ query: GQL.LIST_API_KEYS }]\n });\n\n const loading = [getQuery, createMutation, updateMutation].find(item => item.loading);\n\n const onSubmit = useCallback(\n async (formData: ApiKey) => {\n if (!formData.permissions || !formData.permissions.length) {\n showSnackbar(t`You must configure permissions before saving!`, {\n timeout: 60000,\n dismissesOnAction: true,\n action: <SnackbarAction label={\"OK\"} />\n });\n return;\n }\n\n const isUpdate = formData.createdOn;\n const [operation, args] = isUpdate\n ? [update, { variables: { id: formData.id, data: pickDataForAPI(formData) } }]\n : [create, { variables: { data: pickDataForAPI(formData) } }];\n\n const response = await operation(args);\n\n const { error } = response.data.security.apiKey;\n if (error) {\n return showSnackbar(error.message);\n }\n\n const { id } = response.data.security.apiKey.data;\n\n !isUpdate && history.push(`/access-management/api-keys?id=${id}`);\n showSnackbar(t`API key saved successfully.`);\n },\n [id]\n );\n\n const data: ApiKey = get(getQuery, \"data.security.apiKey.data\", {});\n\n const showEmptyView = !newEntry && !loading && isEmpty(data);\n // Render \"No content\" selected view.\n if (showEmptyView) {\n return (\n <EmptyView\n title={t`Click on the left side list to display API key details or create a...`}\n action={\n <ButtonDefault\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/access-management/api-keys?new=true\")}\n >\n <ButtonIcon icon={<AddIcon />} /> {t`New API Key`}\n </ButtonDefault>\n }\n />\n );\n }\n\n return (\n <Form data={data} onSubmit={onSubmit}>\n {({ data, form, Bind }) => {\n return (\n <SimpleForm>\n {loading && <CircularProgress />}\n <SimpleFormHeader title={data.name ? data.name : \"Untitled\"} />\n <SimpleFormContent>\n <Grid>\n <Cell span={12}>\n <Bind name=\"name\" validators={validation.create(\"required\")}>\n <Input\n label={t`Name`}\n data-testid=\"sam.key.new.form.name\"\n />\n </Bind>\n </Cell>\n </Grid>\n <Grid>\n <Cell span={12}>\n <Bind\n name=\"description\"\n validators={validation.create(\"required\")}\n >\n <Input\n label={t`Description`}\n rows={4}\n data-testid=\"sam.key.new.form.description\"\n />\n </Bind>\n </Cell>\n </Grid>\n <Grid>\n <Cell span={12}>\n <div>\n <Typography use={\"subtitle1\"}>{t`Token`}</Typography>\n {data.token ? (\n <div\n style={{\n background: \"var(--mdc-theme-background)\",\n padding: \"8px\",\n paddingLeft: \"16px\"\n }}\n >\n <span\n style={{\n lineHeight: \"48px\",\n verticalAlign: \"middle\"\n }}\n >\n {data.token}\n </span>\n <span\n style={{ position: \"absolute\", right: \"32px\" }}\n >\n <CopyButton\n value={data.token}\n onCopy={() =>\n showSnackbar(\"Successfully copied!\")\n }\n />\n </span>\n </div>\n ) : (\n <FormElementMessage>\n Your token will be shown once you submit the form.\n </FormElementMessage>\n )}\n </div>\n </Cell>\n </Grid>\n <Grid>\n <Cell span={12}>\n <PermissionsTitleCell span={12}>\n <Typography use={\"subtitle1\"}>{t`Permissions`}</Typography>\n <Tooltip\n content=\"Copy permissions as JSON\"\n placement={\"top\"}\n >\n <IconButton\n icon={<CopyIcon />}\n onClick={() => {\n navigator.clipboard.writeText(\n JSON.stringify(data.permissions, null, 2)\n );\n showSnackbar(\"JSON data copied to clipboard.\");\n }}\n />\n </Tooltip>\n </PermissionsTitleCell>\n </Cell>\n <Cell span={12}>\n <Bind name={\"permissions\"} defaultValue={[]}>\n {bind => <Permissions id={data.id || \"new\"} {...bind} />}\n </Bind>\n </Cell>\n </Grid>\n </SimpleFormContent>\n <SimpleFormFooter>\n <ButtonWrapper>\n <ButtonDefault\n onClick={() => history.push(\"/access-management/api-keys\")}\n data-testid=\"sam.key.new.form.button.cancel\"\n >{t`Cancel`}</ButtonDefault>\n <ButtonPrimary\n onClick={ev => {\n form.submit(ev);\n }}\n data-testid=\"sam.key.new.form.button.save\"\n >{t`Save API key`}</ButtonPrimary>\n </ButtonWrapper>\n </SimpleFormFooter>\n </SimpleForm>\n );\n }}\n </Form>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_get","_interopRequireDefault","_reactRouter","_i18n","_form","_Grid","_Input","_Button","_Progress","_FormElementMessage","_Permissions","_validation","_SimpleForm","_Typography","_useSnackbar2","_utils","GQL","_Snackbar","_isEmpty","_EmptyView","_add18px","_content_copy","_Tooltip","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_EMOTION_STRINGIFIED_CSS_ERROR__","t","i18n","ns","ButtonWrapper","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","PermissionsTitleCell","Cell","ApiKeyForm","exports","_useRouter","useRouter","location","history","_useSnackbar","useSnackbar","showSnackbar","newEntry","URLSearchParams","search","get","id","getQuery","useQuery","READ_API_KEY","variables","skip","onCompleted","data","error","security","apiKey","push","message","_useMutation","useMutation","CREATE_API_KEY","refetchQueries","query","LIST_API_KEYS","_useMutation2","_slicedToArray2","create","createMutation","_useMutation3","UPDATE_API_KEY","_useMutation4","update","updateMutation","loading","find","item","onSubmit","useCallback","formData","permissions","length","_taggedTemplateLiteral2","timeout","dismissesOnAction","action","createElement","SnackbarAction","isUpdate","createdOn","_ref","pickDataForAPI","_ref2","operation","args","response","concat","showEmptyView","isEmpty","title","ButtonDefault","onClick","ButtonIcon","icon","ReactComponent","Form","_ref3","form","Bind","SimpleForm","CircularProgress","SimpleFormHeader","SimpleFormContent","Grid","span","validators","validation","Input","rows","Typography","use","token","style","background","padding","paddingLeft","lineHeight","verticalAlign","position","right","CopyButton","value","onCopy","FormElementMessage","Tooltip","content","placement","IconButton","navigator","clipboard","writeText","JSON","stringify","defaultValue","bind","Permissions","Object","assign","SimpleFormFooter","ButtonPrimary","ev","submit"],"sources":["ApiKeyForm.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { useMutation, useQuery } from \"@apollo/react-hooks\";\nimport get from \"lodash/get\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Form } from \"@webiny/form\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport {\n ButtonDefault,\n ButtonIcon,\n ButtonPrimary,\n CopyButton,\n IconButton\n} from \"@webiny/ui/Button\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { Permissions } from \"@webiny/app-admin/components/Permissions\";\nimport { validation } from \"@webiny/validation\";\nimport {\n SimpleForm,\n SimpleFormFooter,\n SimpleFormContent,\n SimpleFormHeader\n} from \"@webiny/app-admin/components/SimpleForm\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { pickDataForAPI } from \"./utils\";\nimport * as GQL from \"./graphql\";\nimport { SnackbarAction } from \"@webiny/ui/Snackbar\";\nimport isEmpty from \"lodash/isEmpty\";\nimport EmptyView from \"@webiny/app-admin/components/EmptyView\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { ReactComponent as CopyIcon } from \"@material-design-icons/svg/outlined/content_copy.svg\";\nimport styled from \"@emotion/styled\";\nimport { ApiKey } from \"~/types\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\n\nconst t = i18n.ns(\"app-security-admin-users/admin/api-keys/form\");\n\nconst ButtonWrapper = styled(\"div\")({\n display: \"flex\",\n justifyContent: \"space-between\"\n});\n\nconst PermissionsTitleCell = styled(Cell)`\n display: flex;\n align-items: center;\n`;\n\nexport interface ApiKeyFormProps {\n // TODO @ts-refactor delete and go up the tree and sort it out\n [key: string]: any;\n}\n\nexport const ApiKeyForm = () => {\n const { location, history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const newEntry = new URLSearchParams(location.search).get(\"new\") === \"true\";\n const id = new URLSearchParams(location.search).get(\"id\");\n\n const getQuery = useQuery(GQL.READ_API_KEY, {\n variables: { id },\n skip: !id,\n onCompleted: data => {\n if (!data) {\n return;\n }\n\n const { error } = data.security.apiKey;\n if (error) {\n history.push(\"/access-management/api-keys\");\n showSnackbar(error.message);\n }\n }\n });\n\n const [create, createMutation] = useMutation(GQL.CREATE_API_KEY, {\n refetchQueries: [{ query: GQL.LIST_API_KEYS }]\n });\n\n const [update, updateMutation] = useMutation(GQL.UPDATE_API_KEY, {\n refetchQueries: [{ query: GQL.LIST_API_KEYS }]\n });\n\n const loading = [getQuery, createMutation, updateMutation].find(item => item.loading);\n\n const onSubmit = useCallback(\n async (formData: ApiKey) => {\n if (!formData.permissions || !formData.permissions.length) {\n showSnackbar(t`You must configure permissions before saving!`, {\n timeout: 60000,\n dismissesOnAction: true,\n action: <SnackbarAction label={\"OK\"} />\n });\n return;\n }\n\n const isUpdate = formData.createdOn;\n const [operation, args] = isUpdate\n ? [update, { variables: { id: formData.id, data: pickDataForAPI(formData) } }]\n : [create, { variables: { data: pickDataForAPI(formData) } }];\n\n const response = await operation(args);\n\n const { error } = response.data.security.apiKey;\n if (error) {\n return showSnackbar(error.message);\n }\n\n const { id } = response.data.security.apiKey.data;\n\n !isUpdate && history.push(`/access-management/api-keys?id=${id}`);\n showSnackbar(t`API key saved successfully.`);\n },\n [id]\n );\n\n const data: ApiKey = get(getQuery, \"data.security.apiKey.data\", {});\n\n const showEmptyView = !newEntry && !loading && isEmpty(data);\n // Render \"No content\" selected view.\n if (showEmptyView) {\n return (\n <EmptyView\n title={t`Click on the left side list to display API key details or create a...`}\n action={\n <ButtonDefault\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/access-management/api-keys?new=true\")}\n >\n <ButtonIcon icon={<AddIcon />} /> {t`New API Key`}\n </ButtonDefault>\n }\n />\n );\n }\n\n return (\n <Form data={data} onSubmit={onSubmit}>\n {({ data, form, Bind }) => {\n return (\n <SimpleForm>\n {loading && <CircularProgress />}\n <SimpleFormHeader title={data.name ? data.name : \"Untitled\"} />\n <SimpleFormContent>\n <Grid>\n <Cell span={12}>\n <Bind name=\"name\" validators={validation.create(\"required\")}>\n <Input\n label={t`Name`}\n data-testid=\"sam.key.new.form.name\"\n />\n </Bind>\n </Cell>\n </Grid>\n <Grid>\n <Cell span={12}>\n <Bind\n name=\"description\"\n validators={validation.create(\"required\")}\n >\n <Input\n label={t`Description`}\n rows={4}\n data-testid=\"sam.key.new.form.description\"\n />\n </Bind>\n </Cell>\n </Grid>\n <Grid>\n <Cell span={12}>\n <div>\n <Typography use={\"subtitle1\"}>{t`Token`}</Typography>\n {data.token ? (\n <div\n style={{\n background: \"var(--mdc-theme-background)\",\n padding: \"8px\",\n paddingLeft: \"16px\"\n }}\n >\n <span\n style={{\n lineHeight: \"48px\",\n verticalAlign: \"middle\"\n }}\n >\n {data.token}\n </span>\n <span\n style={{ position: \"absolute\", right: \"32px\" }}\n >\n <CopyButton\n value={data.token}\n onCopy={() =>\n showSnackbar(\"Successfully copied!\")\n }\n />\n </span>\n </div>\n ) : (\n <FormElementMessage>\n Your token will be shown once you submit the form.\n </FormElementMessage>\n )}\n </div>\n </Cell>\n </Grid>\n <Grid>\n <Cell span={12}>\n <PermissionsTitleCell span={12}>\n <Typography use={\"subtitle1\"}>{t`Permissions`}</Typography>\n <Tooltip\n content=\"Copy permissions as JSON\"\n placement={\"top\"}\n >\n <IconButton\n icon={<CopyIcon />}\n onClick={() => {\n navigator.clipboard.writeText(\n JSON.stringify(data.permissions, null, 2)\n );\n showSnackbar(\"JSON data copied to clipboard.\");\n }}\n />\n </Tooltip>\n </PermissionsTitleCell>\n </Cell>\n <Cell span={12}>\n <Bind name={\"permissions\"} defaultValue={[]}>\n {bind => <Permissions id={data.id || \"new\"} {...bind} />}\n </Bind>\n </Cell>\n </Grid>\n </SimpleFormContent>\n <SimpleFormFooter>\n <ButtonWrapper>\n <ButtonDefault\n onClick={() => history.push(\"/access-management/api-keys\")}\n data-testid=\"sam.key.new.form.button.cancel\"\n >{t`Cancel`}</ButtonDefault>\n <ButtonPrimary\n onClick={ev => {\n form.submit(ev);\n }}\n data-testid=\"sam.key.new.form.button.save\"\n >{t`Save API key`}</ButtonPrimary>\n </ButtonWrapper>\n </SimpleFormFooter>\n </SimpleForm>\n );\n }}\n </Form>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_orderBy","_interopRequireDefault","_i18n","_List","_Button","_icons","_Grid","_Select","_reactRouter","_SearchUI","_useSnackbar2","_reactHooks","_useConfirmationDialog","GQL","_add18px","_filter24px","_utils","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","t","i18n","ns","SORTERS","label","_taggedTemplateLiteral2","default","sorter","ApiKeysDataList","exports","_useState","useState","_useState2","_slicedToArray2","filter","setFilter","_useState3","_useState4","sort","setSort","_useRouter","useRouter","history","location","_useSnackbar","useSnackbar","showSnackbar","_useConfirmationDialo","useConfirmationDialog","dataTestId","showConfirmation","filterAPIKey","useCallback","_ref","description","name","toLowerCase","includes","sortKeys","list","_deserializeSorters","deserializeSorters","_deserializeSorters2","key","value","orderBy","_useQuery","useQuery","LIST_API_KEYS","listResponse","data","listLoading","loading","_useMutation","useMutation","DELETE_API_KEY","refetchQueries","query","_useMutation2","deleteIt","deleteLoading","security","apiKeys","id","URLSearchParams","search","get","deleteItem","item","_await$deleteIt","variables","error","deleteApiKey","message","push","groupsDataListModalOverlay","useMemo","createElement","DataListModalOverlay","Grid","Cell","span","Select","onChange","map","_ref2","filteredData","DataList","title","actions","ButtonSecondary","onClick","ButtonIcon","icon","ReactComponent","inputPlaceholder","modalOverlay","modalOverlayAction","DataListModalOverlayAction","_ref3","ScrollList","ListItem","selected","ListItemText","concat","ListItemTextSecondary","ListItemMeta","ListActions","DeleteIcon"],"sources":["ApiKeysDataList.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport orderBy from \"lodash/orderBy\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport {\n DataList,\n ScrollList,\n ListItem,\n ListItemText,\n ListItemTextSecondary,\n ListItemMeta,\n ListActions,\n DataListModalOverlayAction,\n DataListModalOverlay\n} from \"@webiny/ui/List\";\nimport { ButtonIcon, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { DeleteIcon } from \"@webiny/ui/List/DataList/icons\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { useRouter } from \"@webiny/react-router\";\nimport SearchUI from \"@webiny/app-admin/components/SearchUI\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { useQuery, useMutation } from \"@apollo/react-hooks\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport * as GQL from \"./graphql\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { ReactComponent as FilterIcon } from \"@webiny/app-admin/assets/icons/filter-24px.svg\";\nimport { deserializeSorters } from \"../utils\";\nimport { ApiKey } from \"~/types\";\n\nconst t = i18n.ns(\"app-security/admin/groups/data-list\");\n\nconst SORTERS = [\n {\n label: t`Newest to oldest`,\n sorter: \"createdOn_DESC\"\n },\n {\n label: t`Oldest to newest`,\n sorter: \"createdOn_ASC\"\n },\n {\n label: t`Name A-Z`,\n sorter: \"name_ASC\"\n },\n {\n label: t`Name Z-A`,\n sorter: \"name_DESC\"\n }\n];\nexport interface ApiKeysDataListProps {\n // TODO @ts-refactor delete and go up the tree and sort it out\n [key: string]: any;\n}\nexport const ApiKeysDataList = () => {\n const [filter, setFilter] = useState(\"\");\n const [sort, setSort] = useState<string>(SORTERS[0].sorter);\n const { history, location } = useRouter();\n const { showSnackbar } = useSnackbar();\n const { showConfirmation } = useConfirmationDialog({\n dataTestId: \"default-data-list.delete-dialog\"\n });\n\n const filterAPIKey = useCallback(\n ({ description, name }: ApiKey) => {\n return (\n (description && description.toLowerCase().includes(filter)) ||\n name.toLowerCase().includes(filter)\n );\n },\n [filter]\n );\n\n const sortKeys = useCallback(\n (list: ApiKey[]) => {\n if (!sort) {\n return list;\n }\n const [key, value] = deserializeSorters(sort);\n return orderBy(list, [key], [value]);\n },\n [sort]\n );\n\n const { data: listResponse, loading: listLoading } = useQuery<GQL.ListApiKeysResponse>(\n GQL.LIST_API_KEYS\n );\n\n const [deleteIt, { loading: deleteLoading }] = useMutation(GQL.DELETE_API_KEY, {\n refetchQueries: [{ query: GQL.LIST_API_KEYS }]\n });\n\n const data = listLoading && !listResponse ? [] : listResponse?.security.apiKeys.data || [];\n const id = new URLSearchParams(location.search).get(\"id\");\n\n const deleteItem = useCallback(\n (item: ApiKey) => {\n showConfirmation(async () => {\n const { data } = await deleteIt({\n variables: item\n });\n\n const { error } = data.security.deleteApiKey;\n if (error) {\n return showSnackbar(error.message);\n }\n\n showSnackbar(t`Api key \"{id}\" deleted.`({ id: item.id }));\n\n if (id === item.id) {\n history.push(`/access-management/api-keys`);\n }\n });\n },\n [id]\n );\n\n const groupsDataListModalOverlay = useMemo(\n () => (\n <DataListModalOverlay>\n <Grid>\n <Cell span={12}>\n <Select value={sort} onChange={setSort} label={t`Sort by`}>\n {SORTERS.map(({ label, sorter }) => {\n return (\n <option key={label} value={sorter}>\n {label}\n </option>\n );\n })}\n </Select>\n </Cell>\n </Grid>\n </DataListModalOverlay>\n ),\n [sort]\n );\n\n const filteredData = filter === \"\" ? data : data.filter(filterAPIKey);\n const list = sortKeys(filteredData);\n\n return (\n <DataList\n title={t`API Keys`}\n actions={\n <ButtonSecondary\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/access-management/api-keys?new=true\")}\n >\n <ButtonIcon icon={<AddIcon />} /> {t`New API Key`}\n </ButtonSecondary>\n }\n data={list}\n loading={listLoading || deleteLoading}\n search={\n <SearchUI\n value={filter}\n onChange={setFilter}\n inputPlaceholder={t`Search API keys`}\n />\n }\n modalOverlay={groupsDataListModalOverlay}\n modalOverlayAction={\n <DataListModalOverlayAction\n icon={<FilterIcon />}\n data-testid={\"default-data-list.filter\"}\n />\n }\n >\n {({ data }: { data: ApiKey[] }) => (\n <ScrollList data-testid=\"default-data-list\">\n {data.map(item => (\n <ListItem key={item.id} selected={item.id === id}>\n <ListItemText\n onClick={() =>\n history.push(`/access-management/api-keys?id=${item.id}`)\n }\n >\n {item.name}\n <ListItemTextSecondary>{item.description}</ListItemTextSecondary>\n </ListItemText>\n\n <ListItemMeta>\n <ListActions>\n <DeleteIcon\n onClick={() => deleteItem(item)}\n data-testid={\"default-data-list.delete\"}\n />\n </ListActions>\n </ListItemMeta>\n </ListItem>\n ))}\n </ScrollList>\n )}\n </DataList>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_orderBy","_interopRequireDefault","_i18n","_List","_Button","_icons","_Grid","_Select","_reactRouter","_SearchUI","_useSnackbar2","_reactHooks","_useConfirmationDialog","GQL","_add18px","_filter24px","_utils","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","t","i18n","ns","SORTERS","label","_taggedTemplateLiteral2","default","sorter","ApiKeysDataList","exports","_useState","useState","_useState2","_slicedToArray2","filter","setFilter","_useState3","_useState4","sort","setSort","_useRouter","useRouter","history","location","_useSnackbar","useSnackbar","showSnackbar","_useConfirmationDialo","useConfirmationDialog","dataTestId","showConfirmation","filterAPIKey","useCallback","_ref","description","name","toLowerCase","includes","sortKeys","list","_deserializeSorters","deserializeSorters","_deserializeSorters2","key","value","orderBy","_useQuery","useQuery","LIST_API_KEYS","listResponse","data","listLoading","loading","_useMutation","useMutation","DELETE_API_KEY","refetchQueries","query","_useMutation2","deleteIt","deleteLoading","security","apiKeys","id","URLSearchParams","search","get","deleteItem","item","_await$deleteIt","variables","error","deleteApiKey","message","push","groupsDataListModalOverlay","useMemo","createElement","DataListModalOverlay","Grid","Cell","span","Select","onChange","map","_ref2","filteredData","DataList","title","actions","ButtonSecondary","onClick","ButtonIcon","icon","ReactComponent","inputPlaceholder","modalOverlay","modalOverlayAction","DataListModalOverlayAction","_ref3","ScrollList","ListItem","selected","ListItemText","concat","ListItemTextSecondary","ListItemMeta","ListActions","DeleteIcon"],"sources":["ApiKeysDataList.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport orderBy from \"lodash/orderBy\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport {\n DataList,\n ScrollList,\n ListItem,\n ListItemText,\n ListItemTextSecondary,\n ListItemMeta,\n ListActions,\n DataListModalOverlayAction,\n DataListModalOverlay\n} from \"@webiny/ui/List\";\nimport { ButtonIcon, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { DeleteIcon } from \"@webiny/ui/List/DataList/icons\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { useRouter } from \"@webiny/react-router\";\nimport SearchUI from \"@webiny/app-admin/components/SearchUI\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { useQuery, useMutation } from \"@apollo/react-hooks\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport * as GQL from \"./graphql\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { ReactComponent as FilterIcon } from \"@webiny/app-admin/assets/icons/filter-24px.svg\";\nimport { deserializeSorters } from \"../utils\";\nimport { ApiKey } from \"~/types\";\n\nconst t = i18n.ns(\"app-security/admin/groups/data-list\");\n\nconst SORTERS = [\n {\n label: t`Newest to oldest`,\n sorter: \"createdOn_DESC\"\n },\n {\n label: t`Oldest to newest`,\n sorter: \"createdOn_ASC\"\n },\n {\n label: t`Name A-Z`,\n sorter: \"name_ASC\"\n },\n {\n label: t`Name Z-A`,\n sorter: \"name_DESC\"\n }\n];\nexport interface ApiKeysDataListProps {\n // TODO @ts-refactor delete and go up the tree and sort it out\n [key: string]: any;\n}\nexport const ApiKeysDataList = () => {\n const [filter, setFilter] = useState(\"\");\n const [sort, setSort] = useState<string>(SORTERS[0].sorter);\n const { history, location } = useRouter();\n const { showSnackbar } = useSnackbar();\n const { showConfirmation } = useConfirmationDialog({\n dataTestId: \"default-data-list.delete-dialog\"\n });\n\n const filterAPIKey = useCallback(\n ({ description, name }: ApiKey) => {\n return (\n (description && description.toLowerCase().includes(filter)) ||\n name.toLowerCase().includes(filter)\n );\n },\n [filter]\n );\n\n const sortKeys = useCallback(\n (list: ApiKey[]) => {\n if (!sort) {\n return list;\n }\n const [key, value] = deserializeSorters(sort);\n return orderBy(list, [key], [value]);\n },\n [sort]\n );\n\n const { data: listResponse, loading: listLoading } = useQuery<GQL.ListApiKeysResponse>(\n GQL.LIST_API_KEYS\n );\n\n const [deleteIt, { loading: deleteLoading }] = useMutation(GQL.DELETE_API_KEY, {\n refetchQueries: [{ query: GQL.LIST_API_KEYS }]\n });\n\n const data = listLoading && !listResponse ? [] : listResponse?.security.apiKeys.data || [];\n const id = new URLSearchParams(location.search).get(\"id\");\n\n const deleteItem = useCallback(\n (item: ApiKey) => {\n showConfirmation(async () => {\n const { data } = await deleteIt({\n variables: item\n });\n\n const { error } = data.security.deleteApiKey;\n if (error) {\n return showSnackbar(error.message);\n }\n\n showSnackbar(t`Api key \"{id}\" deleted.`({ id: item.id }));\n\n if (id === item.id) {\n history.push(`/access-management/api-keys`);\n }\n });\n },\n [id]\n );\n\n const groupsDataListModalOverlay = useMemo(\n () => (\n <DataListModalOverlay>\n <Grid>\n <Cell span={12}>\n <Select value={sort} onChange={setSort} label={t`Sort by`}>\n {SORTERS.map(({ label, sorter }) => {\n return (\n <option key={label} value={sorter}>\n {label}\n </option>\n );\n })}\n </Select>\n </Cell>\n </Grid>\n </DataListModalOverlay>\n ),\n [sort]\n );\n\n const filteredData = filter === \"\" ? data : data.filter(filterAPIKey);\n const list = sortKeys(filteredData);\n\n return (\n <DataList\n title={t`API Keys`}\n actions={\n <ButtonSecondary\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/access-management/api-keys?new=true\")}\n >\n <ButtonIcon icon={<AddIcon />} /> {t`New API Key`}\n </ButtonSecondary>\n }\n data={list}\n loading={listLoading || deleteLoading}\n search={\n <SearchUI\n value={filter}\n onChange={setFilter}\n inputPlaceholder={t`Search API keys`}\n />\n }\n modalOverlay={groupsDataListModalOverlay}\n modalOverlayAction={\n <DataListModalOverlayAction\n icon={<FilterIcon />}\n data-testid={\"default-data-list.filter\"}\n />\n }\n >\n {({ data }: { data: ApiKey[] }) => (\n <ScrollList data-testid=\"default-data-list\">\n {data.map(item => (\n <ListItem key={item.id} selected={item.id === id}>\n <ListItemText\n onClick={() =>\n history.push(`/access-management/api-keys?id=${item.id}`)\n }\n >\n {item.name}\n <ListItemTextSecondary>{item.description}</ListItemTextSecondary>\n </ListItemText>\n\n <ListItemMeta>\n <ListActions>\n <DeleteIcon\n onClick={() => deleteItem(item)}\n data-testid={\"default-data-list.delete\"}\n />\n </ListActions>\n </ListItemMeta>\n </ListItem>\n ))}\n </ScrollList>\n )}\n </DataList>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_orderBy","_interopRequireDefault","_i18n","_List","_icons","_reactRouter","_useSnackbar2","_reactHooks","_useConfirmationDialog","_graphql","_Tooltip","_Button","_Grid","_Select","_SearchUI","_add18px","_filter24px","_utils","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","t","i18n","ns","SORTERS","label","_taggedTemplateLiteral2","default","sorter","GroupsDataList","exports","_useState","useState","_useState2","_slicedToArray2","filter","setFilter","_useState3","_useState4","sort","setSort","_useRouter","useRouter","history","location","_useSnackbar","useSnackbar","showSnackbar","_useConfirmationDialo","useConfirmationDialog","dataTestId","showConfirmation","_useQuery","useQuery","LIST_GROUPS","listResponse","data","listLoading","loading","_useMutation","useMutation","DELETE_GROUP","refetchQueries","query","_useMutation2","deleteIt","deleteLoading","security","groups","id","URLSearchParams","search","get","filterGroup","useCallback","_ref","name","slug","description","toLowerCase","includes","sortGroups","_deserializeSorters","deserializeSorters","_deserializeSorters2","key","sortBy","orderBy","deleteItem","item","_await$deleteIt","variables","error","deleteGroup","message","push","groupsDataListModalOverlay","useMemo","createElement","DataListModalOverlay","Grid","Cell","span","Select","value","onChange","map","_ref2","filteredData","groupList","DataList","title","actions","ButtonSecondary","onClick","ButtonIcon","icon","ReactComponent","inputPlaceholder","modalOverlay","modalOverlayAction","DataListModalOverlayAction","_ref3","ScrollList","ListItem","selected","ListItemText","concat","ListItemTextSecondary","ListItemMeta","ListActions","system","plugin","Tooltip","placement","content","DeleteIcon","disabled"],"sources":["GroupsDataList.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport orderBy from \"lodash/orderBy\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport {\n DataList,\n ScrollList,\n ListItem,\n ListItemText,\n ListItemTextSecondary,\n ListItemMeta,\n ListActions,\n DataListModalOverlayAction,\n DataListModalOverlay\n} from \"@webiny/ui/List\";\nimport { DeleteIcon } from \"@webiny/ui/List/DataList/icons\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { useQuery, useMutation } from \"@apollo/react-hooks\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport { LIST_GROUPS, DELETE_GROUP, ListGroupsResponse } from \"./graphql\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { ButtonIcon, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport SearchUI from \"@webiny/app-admin/components/SearchUI\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { ReactComponent as FilterIcon } from \"@webiny/app-admin/assets/icons/filter-24px.svg\";\nimport { deserializeSorters } from \"../utils\";\nimport { Group } from \"~/types\";\n\nconst t = i18n.ns(\"app-security/admin/roles/data-list\");\n\nconst SORTERS = [\n {\n label: t`Newest to oldest`,\n sorter: \"createdOn_DESC\"\n },\n {\n label: t`Oldest to newest`,\n sorter: \"createdOn_ASC\"\n },\n {\n label: t`Name A-Z`,\n sorter: \"name_ASC\"\n },\n {\n label: t`Name Z-A`,\n sorter: \"name_DESC\"\n }\n];\n\nexport interface GroupsDataListProps {\n // TODO @ts-refactor delete and go up the tree and sort it out\n [key: string]: any;\n}\n\nexport const GroupsDataList = () => {\n const [filter, setFilter] = useState(\"\");\n const [sort, setSort] = useState(SORTERS[0].sorter);\n const { history, location } = useRouter();\n const { showSnackbar } = useSnackbar();\n const { showConfirmation } = useConfirmationDialog({\n dataTestId: \"default-data-list.delete-dialog\"\n });\n\n const { data: listResponse, loading: listLoading } = useQuery<ListGroupsResponse>(LIST_GROUPS);\n\n const [deleteIt, { loading: deleteLoading }] = useMutation(DELETE_GROUP, {\n refetchQueries: [{ query: LIST_GROUPS }]\n });\n\n const data = listLoading && !listResponse ? [] : listResponse?.security.groups.data || [];\n const id = new URLSearchParams(location.search).get(\"id\");\n\n const filterGroup = useCallback(\n ({ name, slug, description }: Group) => {\n return (\n name.toLowerCase().includes(filter) ||\n slug.toLowerCase().includes(filter) ||\n (description && description.toLowerCase().includes(filter))\n );\n },\n [filter]\n );\n\n const sortGroups = useCallback(\n (groups: Group[]) => {\n if (!sort) {\n return groups;\n }\n const [key, sortBy] = deserializeSorters(sort);\n return orderBy(groups, [key], [sortBy]);\n },\n [sort]\n );\n\n const deleteItem = useCallback(\n (item: Group) => {\n showConfirmation(async () => {\n const { data } = await deleteIt({\n variables: item\n });\n\n const { error } = data.security.deleteGroup;\n if (error) {\n return showSnackbar(error.message);\n }\n\n showSnackbar(t`Role \"{slug}\" deleted.`({ slug: item.slug }));\n\n if (id === item.id) {\n history.push(`/access-management/roles`);\n }\n });\n },\n [id]\n );\n\n const groupsDataListModalOverlay = useMemo(\n () => (\n <DataListModalOverlay>\n <Grid>\n <Cell span={12}>\n <Select value={sort} onChange={setSort} label={t`Sort by`}>\n {SORTERS.map(({ label, sorter }) => {\n return (\n <option key={label} value={sorter}>\n {label}\n </option>\n );\n })}\n </Select>\n </Cell>\n </Grid>\n </DataListModalOverlay>\n ),\n [sort]\n );\n\n const filteredData = filter === \"\" ? data : data.filter(filterGroup);\n const groupList = sortGroups(filteredData);\n\n return (\n <DataList\n title={t`Roles`}\n actions={\n <ButtonSecondary\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/access-management/roles?new=true\")}\n >\n <ButtonIcon icon={<AddIcon />} /> {t`New Role`}\n </ButtonSecondary>\n }\n data={groupList}\n loading={listLoading || deleteLoading}\n search={\n <SearchUI value={filter} onChange={setFilter} inputPlaceholder={t`Search Roles`} />\n }\n modalOverlay={groupsDataListModalOverlay}\n modalOverlayAction={\n <DataListModalOverlayAction\n icon={<FilterIcon />}\n data-testid={\"default-data-list.filter\"}\n />\n }\n >\n {({ data }: { data: Group[] }) => (\n <ScrollList data-testid=\"default-data-list\">\n {data.map(item => (\n <ListItem key={item.id} selected={item.id === id}>\n <ListItemText\n onClick={() =>\n history.push(`/access-management/roles?id=${item.id}`)\n }\n >\n {item.name}\n <ListItemTextSecondary>{item.description}</ListItemTextSecondary>\n </ListItemText>\n\n <ListItemMeta>\n <ListActions>\n {item.system || item.plugin ? (\n <Tooltip\n placement={\"bottom\"}\n content={\n <span>\n {item.system\n ? t`Cannot delete system roles.`\n : t`Cannot delete roles registered via extensions.`}\n </span>\n }\n >\n <DeleteIcon disabled />\n </Tooltip>\n ) : (\n <DeleteIcon\n onClick={() => deleteItem(item)}\n data-testid={\"default-data-list.delete\"}\n />\n )}\n </ListActions>\n </ListItemMeta>\n </ListItem>\n ))}\n </ScrollList>\n )}\n </DataList>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAWA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,sBAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AACA,IAAAY,OAAA,GAAAZ,OAAA;AACA,IAAAa,KAAA,GAAAb,OAAA;AACA,IAAAc,OAAA,GAAAd,OAAA;AACA,IAAAe,SAAA,GAAAb,sBAAA,CAAAF,OAAA;AACA,IAAAgB,QAAA,GAAAhB,OAAA;AACA,IAAAiB,WAAA,GAAAjB,OAAA;AACA,IAAAkB,MAAA,GAAAlB,OAAA;AAA8C,IAAAmB,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,iBAAA,EAAAC,iBAAA;AAG9C,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,oCAAoC,CAAC;AAEvD,IAAMC,OAAO,GAAG,CACZ;EACIC,KAAK,EAAEJ,CAAC,CAAAX,eAAA,KAAAA,eAAA,OAAAgB,uBAAA,CAAAC,OAAA,yBAAkB;EAC1BC,MAAM,EAAE;AACZ,CAAC,EACD;EACIH,KAAK,EAAEJ,CAAC,CAAAV,gBAAA,KAAAA,gBAAA,OAAAe,uBAAA,CAAAC,OAAA,yBAAkB;EAC1BC,MAAM,EAAE;AACZ,CAAC,EACD;EACIH,KAAK,EAAEJ,CAAC,CAAAT,gBAAA,KAAAA,gBAAA,OAAAc,uBAAA,CAAAC,OAAA,iBAAU;EAClBC,MAAM,EAAE;AACZ,CAAC,EACD;EACIH,KAAK,EAAEJ,CAAC,CAAAR,gBAAA,KAAAA,gBAAA,OAAAa,uBAAA,CAAAC,OAAA,iBAAU;EAClBC,MAAM,EAAE;AACZ,CAAC,CACJ;AAOM,IAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CAAA,EAAS;EAChC,IAAAE,SAAA,GAA4B,IAAAC,eAAQ,EAAC,EAAE,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAP,OAAA,EAAAI,SAAA;IAAjCI,MAAM,GAAAF,UAAA;IAAEG,SAAS,GAAAH,UAAA;EACxB,IAAAI,UAAA,GAAwB,IAAAL,eAAQ,EAACR,OAAO,CAAC,CAAC,CAAC,CAACI,MAAM,CAAC;IAAAU,UAAA,OAAAJ,eAAA,CAAAP,OAAA,EAAAU,UAAA;IAA5CE,IAAI,GAAAD,UAAA;IAAEE,OAAO,GAAAF,UAAA;EACpB,IAAAG,UAAA,GAA8B,IAAAC,sBAAS,EAAC,CAAC;IAAjCC,OAAO,GAAAF,UAAA,CAAPE,OAAO;IAAEC,QAAQ,GAAAH,UAAA,CAARG,QAAQ;EACzB,IAAAC,YAAA,GAAyB,IAAAC,yBAAW,EAAC,CAAC;IAA9BC,YAAY,GAAAF,YAAA,CAAZE,YAAY;EACpB,IAAAC,qBAAA,GAA6B,IAAAC,4CAAqB,EAAC;MAC/CC,UAAU,EAAE;IAChB,CAAC,CAAC;IAFMC,gBAAgB,GAAAH,qBAAA,CAAhBG,gBAAgB;EAIxB,IAAAC,SAAA,GAAqD,IAAAC,oBAAQ,EAAqBC,oBAAW,CAAC;IAAhFC,YAAY,GAAAH,SAAA,CAAlBI,IAAI;IAAyBC,WAAW,GAAAL,SAAA,CAApBM,OAAO;EAEnC,IAAAC,YAAA,GAA+C,IAAAC,uBAAW,EAACC,qBAAY,EAAE;MACrEC,cAAc,EAAE,CAAC;QAAEC,KAAK,EAAET;MAAY,CAAC;IAC3C,CAAC,CAAC;IAAAU,aAAA,OAAA9B,eAAA,CAAAP,OAAA,EAAAgC,YAAA;IAFKM,QAAQ,GAAAD,aAAA;IAAaE,aAAa,GAAAF,aAAA,IAAtBN,OAAO;EAI1B,IAAMF,IAAI,GAAGC,WAAW,IAAI,CAACF,YAAY,GAAG,EAAE,GAAGA,YAAY,EAAEY,QAAQ,CAACC,MAAM,CAACZ,IAAI,IAAI,EAAE;EACzF,IAAMa,EAAE,GAAG,IAAIC,eAAe,CAAC1B,QAAQ,CAAC2B,MAAM,CAAC,CAACC,GAAG,CAAC,IAAI,CAAC;EAEzD,IAAMC,WAAW,GAAG,IAAAC,kBAAW,EAC3B,UAAAC,IAAA,EAAwC;IAAA,IAArCC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;MAAEC,WAAW,GAAAH,IAAA,CAAXG,WAAW;IACtB,OACIF,IAAI,CAACG,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC7C,MAAM,CAAC,IACnC0C,IAAI,CAACE,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC7C,MAAM,CAAC,IAClC2C,WAAW,IAAIA,WAAW,CAACC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC7C,MAAM,CAAE;EAEnE,CAAC,EACD,CAACA,MAAM,CACX,CAAC;EAED,IAAM8C,UAAU,GAAG,IAAAP,kBAAW,EAC1B,UAACN,MAAe,EAAK;IACjB,IAAI,CAAC7B,IAAI,EAAE;MACP,OAAO6B,MAAM;IACjB;IACA,IAAAc,mBAAA,GAAsB,IAAAC,yBAAkB,EAAC5C,IAAI,CAAC;MAAA6C,oBAAA,OAAAlD,eAAA,CAAAP,OAAA,EAAAuD,mBAAA;MAAvCG,GAAG,GAAAD,oBAAA;MAAEE,MAAM,GAAAF,oBAAA;IAClB,OAAO,IAAAG,gBAAO,EAACnB,MAAM,EAAE,CAACiB,GAAG,CAAC,EAAE,CAACC,MAAM,CAAC,CAAC;EAC3C,CAAC,EACD,CAAC/C,IAAI,CACT,CAAC;EAED,IAAMiD,UAAU,GAAG,IAAAd,kBAAW,EAC1B,UAACe,IAAW,EAAK;IACbtC,gBAAgB,CAAC,kBAAY;MACzB,IAAAuC,eAAA,GAAiB,MAAMzB,QAAQ,CAAC;UAC5B0B,SAAS,EAAEF;QACf,CAAC,CAAC;QAFMjC,IAAI,GAAAkC,eAAA,CAAJlC,IAAI;MAIZ,IAAQoC,KAAK,GAAKpC,IAAI,CAACW,QAAQ,CAAC0B,WAAW,CAAnCD,KAAK;MACb,IAAIA,KAAK,EAAE;QACP,OAAO7C,YAAY,CAAC6C,KAAK,CAACE,OAAO,CAAC;MACtC;MAEA/C,YAAY,CAAC1B,CAAC,CAAAP,gBAAA,KAAAA,gBAAA,OAAAY,uBAAA,CAAAC,OAAA,kCAAyB;QAAEkD,IAAI,EAAEY,IAAI,CAACZ;MAAK,CAAC,CAAC,CAAC;MAE5D,IAAIR,EAAE,KAAKoB,IAAI,CAACpB,EAAE,EAAE;QAChB1B,OAAO,CAACoD,IAAI,2BAA2B,CAAC;MAC5C;IACJ,CAAC,CAAC;EACN,CAAC,EACD,CAAC1B,EAAE,CACP,CAAC;EAED,IAAM2B,0BAA0B,GAAG,IAAAC,cAAO,EACtC;IAAA,oBACI5G,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAACvG,KAAA,CAAAwG,oBAAoB,qBACjB9G,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAAC9F,KAAA,CAAAgG,IAAI,qBACD/G,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAAC9F,KAAA,CAAAiG,IAAI;MAACC,IAAI,EAAE;IAAG,gBACXjH,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAAC7F,OAAA,CAAAkG,MAAM;MAACC,KAAK,EAAEjE,IAAK;MAACkE,QAAQ,EAAEjE,OAAQ;MAACf,KAAK,EAAEJ,CAAC,CAAAN,gBAAA,KAAAA,gBAAA,OAAAW,uBAAA,CAAAC,OAAA;IAAU,GACrDH,OAAO,CAACkF,GAAG,CAAC,UAAAC,KAAA,EAAuB;MAAA,IAApBlF,KAAK,GAAAkF,KAAA,CAALlF,KAAK;QAAEG,MAAM,GAAA+E,KAAA,CAAN/E,MAAM;MACzB,oBACIvC,MAAA,CAAAsC,OAAA,CAAAuE,aAAA;QAAQb,GAAG,EAAE5D,KAAM;QAAC+E,KAAK,EAAE5E;MAAO,GAC7BH,KACG,CAAC;IAEjB,CAAC,CACG,CACN,CACJ,CACY,CAAC;EAAA,CAC1B,EACD,CAACc,IAAI,CACT,CAAC;EAED,IAAMqE,YAAY,GAAGzE,MAAM,KAAK,EAAE,GAAGqB,IAAI,GAAGA,IAAI,CAACrB,MAAM,CAACsC,WAAW,CAAC;EACpE,IAAMoC,SAAS,GAAG5B,UAAU,CAAC2B,YAAY,CAAC;EAE1C,oBACIvH,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAACvG,KAAA,CAAAmH,QAAQ;IACLC,KAAK,EAAE1F,CAAC,CAAAL,gBAAA,KAAAA,gBAAA,OAAAU,uBAAA,CAAAC,OAAA,cAAQ;IAChBqF,OAAO,eACH3H,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAAC/F,OAAA,CAAA8G,eAAe;MACZ,eAAY,mBAAmB;MAC/BC,OAAO,EAAE,SAAAA,QAAA;QAAA,OAAMvE,OAAO,CAACoD,IAAI,CAAC,mCAAmC,CAAC;MAAA;IAAC,gBAEjE1G,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAAC/F,OAAA,CAAAgH,UAAU;MAACC,IAAI,eAAE/H,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAAC3F,QAAA,CAAA8G,cAAO,MAAE;IAAE,CAAE,CAAC,KAAC,EAAChG,CAAC,CAAAJ,gBAAA,KAAAA,gBAAA,OAAAS,uBAAA,CAAAC,OAAA,iBACvB,CACpB;IACD6B,IAAI,EAAEqD,SAAU;IAChBnD,OAAO,EAAED,WAAW,IAAIS,aAAc;IACtCK,MAAM,eACFlF,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAAC5F,SAAA,CAAAqB,OAAQ;MAAC6E,KAAK,EAAErE,MAAO;MAACsE,QAAQ,EAAErE,SAAU;MAACkF,gBAAgB,EAAEjG,CAAC,CAAAH,gBAAA,KAAAA,gBAAA,OAAAQ,uBAAA,CAAAC,OAAA;IAAe,CAAE,CACrF;IACD4F,YAAY,EAAEvB,0BAA2B;IACzCwB,kBAAkB,eACdnI,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAACvG,KAAA,CAAA8H,0BAA0B;MACvBL,IAAI,eAAE/H,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAAC1F,WAAA,CAAA6G,cAAU,MAAE,CAAE;MACrB,eAAa;IAA2B,CAC3C;EACJ,GAEA,UAAAK,KAAA;IAAA,IAAGlE,IAAI,GAAAkE,KAAA,CAAJlE,IAAI;IAAA,oBACJnE,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAACvG,KAAA,CAAAgI,UAAU;MAAC,eAAY;IAAmB,GACtCnE,IAAI,CAACkD,GAAG,CAAC,UAAAjB,IAAI;MAAA,oBACVpG,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAACvG,KAAA,CAAAiI,QAAQ;QAACvC,GAAG,EAAEI,IAAI,CAACpB,EAAG;QAACwD,QAAQ,EAAEpC,IAAI,CAACpB,EAAE,KAAKA;MAAG,gBAC7ChF,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAACvG,KAAA,CAAAmI,YAAY;QACTZ,OAAO,EAAE,SAAAA,QAAA;UAAA,OACLvE,OAAO,CAACoD,IAAI,gCAAAgC,MAAA,CAAgCtC,IAAI,CAACpB,EAAE,CAAE,CAAC;QAAA;MACzD,GAEAoB,IAAI,CAACb,IAAI,eACVvF,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAACvG,KAAA,CAAAqI,qBAAqB,QAAEvC,IAAI,CAACX,WAAmC,CACtD,CAAC,eAEfzF,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAACvG,KAAA,CAAAsI,YAAY,qBACT5I,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAACvG,KAAA,CAAAuI,WAAW,QACPzC,IAAI,CAAC0C,MAAM,IAAI1C,IAAI,CAAC2C,MAAM,gBACvB/I,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAAChG,QAAA,CAAAmI,OAAO;QACJC,SAAS,EAAE,QAAS;QACpBC,OAAO,eACHlJ,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,eACKT,IAAI,CAAC0C,MAAM,GACN9G,CAAC,CAAAF,iBAAA,KAAAA,iBAAA,OAAAO,uBAAA,CAAAC,OAAA,uCACDN,CAAC,CAAAD,iBAAA,KAAAA,iBAAA,OAAAM,uBAAA,CAAAC,OAAA,uDACL;MACT,gBAEDtC,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAACtG,MAAA,CAAA4I,UAAU;QAACC,QAAQ;MAAA,CAAE,CACjB,CAAC,gBAEVpJ,MAAA,CAAAsC,OAAA,CAAAuE,aAAA,CAACtG,MAAA,CAAA4I,UAAU;QACPtB,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAM1B,UAAU,CAACC,IAAI,CAAC;QAAA,CAAC;QAChC,eAAa;MAA2B,CAC3C,CAEI,CACH,CACR,CAAC;IAAA,CACd,CACO,CAAC;EAAA,CAEX,CAAC;AAEnB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_orderBy","_interopRequireDefault","_i18n","_List","_icons","_reactRouter","_useSnackbar2","_reactHooks","_useConfirmationDialog","_graphql","_Tooltip","_Button","_Grid","_Select","_SearchUI","_add18px","_filter24px","_utils","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","t","i18n","ns","SORTERS","label","_taggedTemplateLiteral2","default","sorter","GroupsDataList","exports","_useState","useState","_useState2","_slicedToArray2","filter","setFilter","_useState3","_useState4","sort","setSort","_useRouter","useRouter","history","location","_useSnackbar","useSnackbar","showSnackbar","_useConfirmationDialo","useConfirmationDialog","dataTestId","showConfirmation","_useQuery","useQuery","LIST_GROUPS","listResponse","data","listLoading","loading","_useMutation","useMutation","DELETE_GROUP","refetchQueries","query","_useMutation2","deleteIt","deleteLoading","security","groups","id","URLSearchParams","search","get","filterGroup","useCallback","_ref","name","slug","description","toLowerCase","includes","sortGroups","_deserializeSorters","deserializeSorters","_deserializeSorters2","key","sortBy","orderBy","deleteItem","item","_await$deleteIt","variables","error","deleteGroup","message","push","groupsDataListModalOverlay","useMemo","createElement","DataListModalOverlay","Grid","Cell","span","Select","value","onChange","map","_ref2","filteredData","groupList","DataList","title","actions","ButtonSecondary","onClick","ButtonIcon","icon","ReactComponent","inputPlaceholder","modalOverlay","modalOverlayAction","DataListModalOverlayAction","_ref3","ScrollList","ListItem","selected","ListItemText","concat","ListItemTextSecondary","ListItemMeta","ListActions","system","plugin","Tooltip","placement","content","DeleteIcon","disabled"],"sources":["GroupsDataList.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport orderBy from \"lodash/orderBy\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport {\n DataList,\n ScrollList,\n ListItem,\n ListItemText,\n ListItemTextSecondary,\n ListItemMeta,\n ListActions,\n DataListModalOverlayAction,\n DataListModalOverlay\n} from \"@webiny/ui/List\";\nimport { DeleteIcon } from \"@webiny/ui/List/DataList/icons\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { useQuery, useMutation } from \"@apollo/react-hooks\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport { LIST_GROUPS, DELETE_GROUP, ListGroupsResponse } from \"./graphql\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { ButtonIcon, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport SearchUI from \"@webiny/app-admin/components/SearchUI\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { ReactComponent as FilterIcon } from \"@webiny/app-admin/assets/icons/filter-24px.svg\";\nimport { deserializeSorters } from \"../utils\";\nimport { Group } from \"~/types\";\n\nconst t = i18n.ns(\"app-security/admin/roles/data-list\");\n\nconst SORTERS = [\n {\n label: t`Newest to oldest`,\n sorter: \"createdOn_DESC\"\n },\n {\n label: t`Oldest to newest`,\n sorter: \"createdOn_ASC\"\n },\n {\n label: t`Name A-Z`,\n sorter: \"name_ASC\"\n },\n {\n label: t`Name Z-A`,\n sorter: \"name_DESC\"\n }\n];\n\nexport interface GroupsDataListProps {\n // TODO @ts-refactor delete and go up the tree and sort it out\n [key: string]: any;\n}\n\nexport const GroupsDataList = () => {\n const [filter, setFilter] = useState(\"\");\n const [sort, setSort] = useState(SORTERS[0].sorter);\n const { history, location } = useRouter();\n const { showSnackbar } = useSnackbar();\n const { showConfirmation } = useConfirmationDialog({\n dataTestId: \"default-data-list.delete-dialog\"\n });\n\n const { data: listResponse, loading: listLoading } = useQuery<ListGroupsResponse>(LIST_GROUPS);\n\n const [deleteIt, { loading: deleteLoading }] = useMutation(DELETE_GROUP, {\n refetchQueries: [{ query: LIST_GROUPS }]\n });\n\n const data = listLoading && !listResponse ? [] : listResponse?.security.groups.data || [];\n const id = new URLSearchParams(location.search).get(\"id\");\n\n const filterGroup = useCallback(\n ({ name, slug, description }: Group) => {\n return (\n name.toLowerCase().includes(filter) ||\n slug.toLowerCase().includes(filter) ||\n (description && description.toLowerCase().includes(filter))\n );\n },\n [filter]\n );\n\n const sortGroups = useCallback(\n (groups: Group[]) => {\n if (!sort) {\n return groups;\n }\n const [key, sortBy] = deserializeSorters(sort);\n return orderBy(groups, [key], [sortBy]);\n },\n [sort]\n );\n\n const deleteItem = useCallback(\n (item: Group) => {\n showConfirmation(async () => {\n const { data } = await deleteIt({\n variables: item\n });\n\n const { error } = data.security.deleteGroup;\n if (error) {\n return showSnackbar(error.message);\n }\n\n showSnackbar(t`Role \"{slug}\" deleted.`({ slug: item.slug }));\n\n if (id === item.id) {\n history.push(`/access-management/roles`);\n }\n });\n },\n [id]\n );\n\n const groupsDataListModalOverlay = useMemo(\n () => (\n <DataListModalOverlay>\n <Grid>\n <Cell span={12}>\n <Select value={sort} onChange={setSort} label={t`Sort by`}>\n {SORTERS.map(({ label, sorter }) => {\n return (\n <option key={label} value={sorter}>\n {label}\n </option>\n );\n })}\n </Select>\n </Cell>\n </Grid>\n </DataListModalOverlay>\n ),\n [sort]\n );\n\n const filteredData = filter === \"\" ? data : data.filter(filterGroup);\n const groupList = sortGroups(filteredData);\n\n return (\n <DataList\n title={t`Roles`}\n actions={\n <ButtonSecondary\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/access-management/roles?new=true\")}\n >\n <ButtonIcon icon={<AddIcon />} /> {t`New Role`}\n </ButtonSecondary>\n }\n data={groupList}\n loading={listLoading || deleteLoading}\n search={\n <SearchUI value={filter} onChange={setFilter} inputPlaceholder={t`Search Roles`} />\n }\n modalOverlay={groupsDataListModalOverlay}\n modalOverlayAction={\n <DataListModalOverlayAction\n icon={<FilterIcon />}\n data-testid={\"default-data-list.filter\"}\n />\n }\n >\n {({ data }: { data: Group[] }) => (\n <ScrollList data-testid=\"default-data-list\">\n {data.map(item => (\n <ListItem key={item.id} selected={item.id === id}>\n <ListItemText\n onClick={() =>\n history.push(`/access-management/roles?id=${item.id}`)\n }\n >\n {item.name}\n <ListItemTextSecondary>{item.description}</ListItemTextSecondary>\n </ListItemText>\n\n <ListItemMeta>\n <ListActions>\n {item.system || item.plugin ? (\n <Tooltip\n placement={\"bottom\"}\n content={\n <span>\n {item.system\n ? t`Cannot delete system roles.`\n : t`Cannot delete roles registered via extensions.`}\n </span>\n }\n >\n <DeleteIcon disabled />\n </Tooltip>\n ) : (\n <DeleteIcon\n onClick={() => deleteItem(item)}\n data-testid={\"default-data-list.delete\"}\n />\n )}\n </ListActions>\n </ListItemMeta>\n </ListItem>\n ))}\n </ScrollList>\n )}\n </DataList>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_pick","_interopRequireDefault","_get","_reactRouter","_i18n","_form","_Grid","_Input","_Alert","_Button","_Progress","_validation","_SimpleForm","_Typography","_Permissions","_useSnackbar2","_graphql","_Snackbar","_isEmpty","_EmptyView","_add18px","_Tooltip","_content_copy","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_EMOTION_STRINGIFIED_CSS_ERROR__","t","i18n","ns","ButtonWrapper","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","PermissionsTitleCell","Cell","GroupsForm","exports","_useRouter","useRouter","location","history","_useSnackbar","useSnackbar","showSnackbar","newGroup","URLSearchParams","search","get","id","getQuery","useQuery","READ_GROUP","variables","skip","onCompleted","data","error","security","group","push","message","_useMutation","useMutation","CREATE_GROUP","refetchQueries","query","LIST_GROUPS","_useMutation2","_slicedToArray2","create","createMutation","_useMutation3","UPDATE_GROUP","_useMutation4","update","updateMutation","loading","find","item","onSubmit","useCallback","formData","permissions","length","_taggedTemplateLiteral2","timeout","dismissesOnAction","action","createElement","SnackbarAction","isUpdate","createdOn","_ref","pick","_ref2","operation","args","response","_response$data$securi","concat","systemGroup","slug","system","pluginGroup","plugin","canModifyGroup","showEmptyView","isEmpty","title","ButtonDefault","onClick","ButtonIcon","icon","ReactComponent","Form","_ref3","form","Bind","SimpleForm","CircularProgress","SimpleFormHeader","SimpleFormContent","Grid","span","Alert","type","validators","validation","Input","disabled","rows","Typography","use","Tooltip","content","placement","IconButton","navigator","clipboard","writeText","JSON","stringify","defaultValue","bind","Permissions","Object","assign","SimpleFormFooter","ButtonPrimary","ev","submit"],"sources":["GroupsForm.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { useMutation, useQuery } from \"@apollo/react-hooks\";\nimport styled from \"@emotion/styled\";\nimport pick from \"lodash/pick\";\nimport get from \"lodash/get\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Form } from \"@webiny/form\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { ButtonDefault, ButtonIcon, ButtonPrimary, IconButton } from \"@webiny/ui/Button\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { validation } from \"@webiny/validation\";\nimport {\n SimpleForm,\n SimpleFormFooter,\n SimpleFormContent,\n SimpleFormHeader\n} from \"@webiny/app-admin/components/SimpleForm\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Permissions } from \"@webiny/app-admin/components/Permissions\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { CREATE_GROUP, LIST_GROUPS, READ_GROUP, UPDATE_GROUP } from \"./graphql\";\nimport { SnackbarAction } from \"@webiny/ui/Snackbar\";\nimport isEmpty from \"lodash/isEmpty\";\nimport EmptyView from \"@webiny/app-admin/components/EmptyView\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { ReactComponent as CopyIcon } from \"@material-design-icons/svg/outlined/content_copy.svg\";\nimport { Group } from \"~/types\";\n\nconst t = i18n.ns(\"app-security/admin/roles/form\");\n\nconst ButtonWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n`;\n\nconst PermissionsTitleCell = styled(Cell)`\n display: flex;\n align-items: center;\n`;\n\nexport interface GroupsFormProps {\n // TODO @ts-refactor delete and go up the tree and sort it out\n [key: string]: any;\n}\n\nexport const GroupsForm = () => {\n const { location, history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const newGroup = new URLSearchParams(location.search).get(\"new\") === \"true\";\n const id = new URLSearchParams(location.search).get(\"id\");\n\n const getQuery = useQuery(READ_GROUP, {\n variables: { id },\n skip: !id,\n onCompleted: data => {\n if (!data) {\n return;\n }\n\n const { error } = data.security.group;\n if (error) {\n history.push(\"/access-management/roles\");\n showSnackbar(error.message);\n }\n }\n });\n\n const [create, createMutation] = useMutation(CREATE_GROUP, {\n refetchQueries: [{ query: LIST_GROUPS }]\n });\n\n const [update, updateMutation] = useMutation(UPDATE_GROUP, {\n refetchQueries: [{ query: LIST_GROUPS }]\n });\n\n const loading = [getQuery, createMutation, updateMutation].find(item => item.loading);\n\n const onSubmit = useCallback(\n async (formData: Group) => {\n if (!formData.permissions || !formData.permissions.length) {\n showSnackbar(t`You must configure permissions before saving!`, {\n timeout: 60000,\n dismissesOnAction: true,\n action: <SnackbarAction label={\"OK\"} />\n });\n return;\n }\n\n const isUpdate = formData.createdOn;\n const [operation, args] = isUpdate\n ? [\n update,\n {\n variables: {\n id: formData.id,\n data: pick(formData, [\"name\", \"description\", \"permissions\"])\n }\n }\n ]\n : [\n create,\n {\n variables: {\n data: pick(formData, [\"name\", \"slug\", \"description\", \"permissions\"])\n }\n }\n ];\n\n const response = await operation(args);\n\n const { data: group, error } = response.data.security.group;\n if (error) {\n return showSnackbar(error.message);\n }\n\n !isUpdate && history.push(`/access-management/roles?id=${group.id}`);\n showSnackbar(t`Role saved successfully!`);\n },\n [id]\n );\n\n const data: Group = loading ? {} : get(getQuery, \"data.security.group.data\", {});\n\n const systemGroup = data.slug === \"full-access\" || data.system;\n const pluginGroup = data.plugin;\n const canModifyGroup = !systemGroup && !pluginGroup;\n\n const showEmptyView = !newGroup && !loading && isEmpty(data);\n // Render \"No content\" selected view.\n if (showEmptyView) {\n return (\n <EmptyView\n title={t`Click on the left side list to display role details or create a...`}\n action={\n <ButtonDefault\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/access-management/roles?new=true\")}\n >\n <ButtonIcon icon={<AddIcon />} />\n {t`New Role`}\n </ButtonDefault>\n }\n />\n );\n }\n\n return (\n <Form data={data} onSubmit={onSubmit}>\n {({ data, form, Bind }) => {\n return (\n <SimpleForm>\n {loading && <CircularProgress />}\n <SimpleFormHeader title={data.name ? data.name : \"Untitled\"} />\n <SimpleFormContent>\n {systemGroup && (\n <Grid>\n <Cell span={12}>\n <Alert type={\"info\"} title={\"Permissions are locked\"}>\n This is a protected system role and you can&apos;t\n modify its permissions.\n </Alert>\n </Cell>\n </Grid>\n )}\n {pluginGroup && (\n <Grid>\n <Cell span={12}>\n <Alert type={\"info\"} title={\"Permissions are locked\"}>\n This role is registered via an extension, and cannot be\n modified.\n </Alert>\n </Cell>\n </Grid>\n )}\n <Grid>\n <Cell span={6}>\n <Bind\n name=\"name\"\n validators={validation.create(\"required,minLength:3\")}\n >\n <Input\n label={t`Name`}\n disabled={!canModifyGroup}\n data-testid=\"admin.am.group.new.name\"\n />\n </Bind>\n </Cell>\n <Cell span={6}>\n <Bind\n name=\"slug\"\n validators={validation.create(\"required,minLength:3\")}\n >\n <Input\n disabled={!canModifyGroup || !newGroup}\n label={t`Slug`}\n data-testid=\"admin.am.group.new.slug\"\n />\n </Bind>\n </Cell>\n </Grid>\n <Grid>\n <Cell span={12}>\n <Bind\n name=\"description\"\n validators={validation.create(\"maxLength:500\")}\n >\n <Input\n label={t`Description`}\n rows={3}\n disabled={!canModifyGroup}\n data-testid=\"admin.am.group.new.description\"\n />\n </Bind>\n </Cell>\n </Grid>\n {canModifyGroup && (\n <Grid>\n <PermissionsTitleCell span={12}>\n <Typography use={\"subtitle1\"}>{t`Permissions`}</Typography>\n <Tooltip\n content=\"Copy permissions as JSON\"\n placement={\"top\"}\n >\n <IconButton\n icon={<CopyIcon />}\n onClick={() => {\n navigator.clipboard.writeText(\n JSON.stringify(data.permissions, null, 2)\n );\n showSnackbar(\"JSON data copied to clipboard.\");\n }}\n />\n </Tooltip>\n </PermissionsTitleCell>\n <Cell span={12}>\n <Bind name={\"permissions\"} defaultValue={[]}>\n {bind => (\n <Permissions id={data.id || \"new\"} {...bind} />\n )}\n </Bind>\n </Cell>\n </Grid>\n )}\n </SimpleFormContent>\n {canModifyGroup && (\n <SimpleFormFooter>\n <ButtonWrapper>\n <ButtonDefault\n onClick={() => history.push(\"/access-management/roles\")}\n >{t`Cancel`}</ButtonDefault>\n <ButtonPrimary\n data-testid=\"admin.am.group.new.save\"\n onClick={ev => {\n form.submit(ev);\n }}\n >{t`Save role`}</ButtonPrimary>\n </ButtonWrapper>\n </SimpleFormFooter>\n )}\n </SimpleForm>\n );\n }}\n </Form>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_pick","_interopRequireDefault","_get","_reactRouter","_i18n","_form","_Grid","_Input","_Alert","_Button","_Progress","_validation","_SimpleForm","_Typography","_Permissions","_useSnackbar2","_graphql","_Snackbar","_isEmpty","_EmptyView","_add18px","_Tooltip","_content_copy","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_EMOTION_STRINGIFIED_CSS_ERROR__","t","i18n","ns","ButtonWrapper","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","PermissionsTitleCell","Cell","GroupsForm","exports","_useRouter","useRouter","location","history","_useSnackbar","useSnackbar","showSnackbar","newGroup","URLSearchParams","search","get","id","getQuery","useQuery","READ_GROUP","variables","skip","onCompleted","data","error","security","group","push","message","_useMutation","useMutation","CREATE_GROUP","refetchQueries","query","LIST_GROUPS","_useMutation2","_slicedToArray2","create","createMutation","_useMutation3","UPDATE_GROUP","_useMutation4","update","updateMutation","loading","find","item","onSubmit","useCallback","formData","permissions","length","_taggedTemplateLiteral2","timeout","dismissesOnAction","action","createElement","SnackbarAction","isUpdate","createdOn","_ref","pick","_ref2","operation","args","response","_response$data$securi","concat","systemGroup","slug","system","pluginGroup","plugin","canModifyGroup","showEmptyView","isEmpty","title","ButtonDefault","onClick","ButtonIcon","icon","ReactComponent","Form","_ref3","form","Bind","SimpleForm","CircularProgress","SimpleFormHeader","SimpleFormContent","Grid","span","Alert","type","validators","validation","Input","disabled","rows","Typography","use","Tooltip","content","placement","IconButton","navigator","clipboard","writeText","JSON","stringify","defaultValue","bind","Permissions","Object","assign","SimpleFormFooter","ButtonPrimary","ev","submit"],"sources":["GroupsForm.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { useMutation, useQuery } from \"@apollo/react-hooks\";\nimport styled from \"@emotion/styled\";\nimport pick from \"lodash/pick\";\nimport get from \"lodash/get\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Form } from \"@webiny/form\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { ButtonDefault, ButtonIcon, ButtonPrimary, IconButton } from \"@webiny/ui/Button\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { validation } from \"@webiny/validation\";\nimport {\n SimpleForm,\n SimpleFormFooter,\n SimpleFormContent,\n SimpleFormHeader\n} from \"@webiny/app-admin/components/SimpleForm\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Permissions } from \"@webiny/app-admin/components/Permissions\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { CREATE_GROUP, LIST_GROUPS, READ_GROUP, UPDATE_GROUP } from \"./graphql\";\nimport { SnackbarAction } from \"@webiny/ui/Snackbar\";\nimport isEmpty from \"lodash/isEmpty\";\nimport EmptyView from \"@webiny/app-admin/components/EmptyView\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { ReactComponent as CopyIcon } from \"@material-design-icons/svg/outlined/content_copy.svg\";\nimport { Group } from \"~/types\";\n\nconst t = i18n.ns(\"app-security/admin/roles/form\");\n\nconst ButtonWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n`;\n\nconst PermissionsTitleCell = styled(Cell)`\n display: flex;\n align-items: center;\n`;\n\nexport interface GroupsFormProps {\n // TODO @ts-refactor delete and go up the tree and sort it out\n [key: string]: any;\n}\n\nexport const GroupsForm = () => {\n const { location, history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const newGroup = new URLSearchParams(location.search).get(\"new\") === \"true\";\n const id = new URLSearchParams(location.search).get(\"id\");\n\n const getQuery = useQuery(READ_GROUP, {\n variables: { id },\n skip: !id,\n onCompleted: data => {\n if (!data) {\n return;\n }\n\n const { error } = data.security.group;\n if (error) {\n history.push(\"/access-management/roles\");\n showSnackbar(error.message);\n }\n }\n });\n\n const [create, createMutation] = useMutation(CREATE_GROUP, {\n refetchQueries: [{ query: LIST_GROUPS }]\n });\n\n const [update, updateMutation] = useMutation(UPDATE_GROUP, {\n refetchQueries: [{ query: LIST_GROUPS }]\n });\n\n const loading = [getQuery, createMutation, updateMutation].find(item => item.loading);\n\n const onSubmit = useCallback(\n async (formData: Group) => {\n if (!formData.permissions || !formData.permissions.length) {\n showSnackbar(t`You must configure permissions before saving!`, {\n timeout: 60000,\n dismissesOnAction: true,\n action: <SnackbarAction label={\"OK\"} />\n });\n return;\n }\n\n const isUpdate = formData.createdOn;\n const [operation, args] = isUpdate\n ? [\n update,\n {\n variables: {\n id: formData.id,\n data: pick(formData, [\"name\", \"description\", \"permissions\"])\n }\n }\n ]\n : [\n create,\n {\n variables: {\n data: pick(formData, [\"name\", \"slug\", \"description\", \"permissions\"])\n }\n }\n ];\n\n const response = await operation(args);\n\n const { data: group, error } = response.data.security.group;\n if (error) {\n return showSnackbar(error.message);\n }\n\n !isUpdate && history.push(`/access-management/roles?id=${group.id}`);\n showSnackbar(t`Role saved successfully!`);\n },\n [id]\n );\n\n const data: Group = loading ? {} : get(getQuery, \"data.security.group.data\", {});\n\n const systemGroup = data.slug === \"full-access\" || data.system;\n const pluginGroup = data.plugin;\n const canModifyGroup = !systemGroup && !pluginGroup;\n\n const showEmptyView = !newGroup && !loading && isEmpty(data);\n // Render \"No content\" selected view.\n if (showEmptyView) {\n return (\n <EmptyView\n title={t`Click on the left side list to display role details or create a...`}\n action={\n <ButtonDefault\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/access-management/roles?new=true\")}\n >\n <ButtonIcon icon={<AddIcon />} />\n {t`New Role`}\n </ButtonDefault>\n }\n />\n );\n }\n\n return (\n <Form data={data} onSubmit={onSubmit}>\n {({ data, form, Bind }) => {\n return (\n <SimpleForm>\n {loading && <CircularProgress />}\n <SimpleFormHeader title={data.name ? data.name : \"Untitled\"} />\n <SimpleFormContent>\n {systemGroup && (\n <Grid>\n <Cell span={12}>\n <Alert type={\"info\"} title={\"Permissions are locked\"}>\n This is a protected system role and you can&apos;t\n modify its permissions.\n </Alert>\n </Cell>\n </Grid>\n )}\n {pluginGroup && (\n <Grid>\n <Cell span={12}>\n <Alert type={\"info\"} title={\"Permissions are locked\"}>\n This role is registered via an extension, and cannot be\n modified.\n </Alert>\n </Cell>\n </Grid>\n )}\n <Grid>\n <Cell span={6}>\n <Bind\n name=\"name\"\n validators={validation.create(\"required,minLength:3\")}\n >\n <Input\n label={t`Name`}\n disabled={!canModifyGroup}\n data-testid=\"admin.am.group.new.name\"\n />\n </Bind>\n </Cell>\n <Cell span={6}>\n <Bind\n name=\"slug\"\n validators={validation.create(\"required,minLength:3\")}\n >\n <Input\n disabled={!canModifyGroup || !newGroup}\n label={t`Slug`}\n data-testid=\"admin.am.group.new.slug\"\n />\n </Bind>\n </Cell>\n </Grid>\n <Grid>\n <Cell span={12}>\n <Bind\n name=\"description\"\n validators={validation.create(\"maxLength:500\")}\n >\n <Input\n label={t`Description`}\n rows={3}\n disabled={!canModifyGroup}\n data-testid=\"admin.am.group.new.description\"\n />\n </Bind>\n </Cell>\n </Grid>\n {canModifyGroup && (\n <Grid>\n <PermissionsTitleCell span={12}>\n <Typography use={\"subtitle1\"}>{t`Permissions`}</Typography>\n <Tooltip\n content=\"Copy permissions as JSON\"\n placement={\"top\"}\n >\n <IconButton\n icon={<CopyIcon />}\n onClick={() => {\n navigator.clipboard.writeText(\n JSON.stringify(data.permissions, null, 2)\n );\n showSnackbar(\"JSON data copied to clipboard.\");\n }}\n />\n </Tooltip>\n </PermissionsTitleCell>\n <Cell span={12}>\n <Bind name={\"permissions\"} defaultValue={[]}>\n {bind => (\n <Permissions id={data.id || \"new\"} {...bind} />\n )}\n </Bind>\n </Cell>\n </Grid>\n )}\n </SimpleFormContent>\n {canModifyGroup && (\n <SimpleFormFooter>\n <ButtonWrapper>\n <ButtonDefault\n onClick={() => history.push(\"/access-management/roles\")}\n >{t`Cancel`}</ButtonDefault>\n <ButtonPrimary\n data-testid=\"admin.am.group.new.save\"\n onClick={ev => {\n form.submit(ev);\n }}\n >{t`Save role`}</ButtonPrimary>\n </ButtonWrapper>\n </SimpleFormFooter>\n )}\n </SimpleForm>\n );\n }}\n </Form>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_orderBy","_interopRequireDefault","_i18n","_List","_icons","_reactRouter","_useSnackbar2","_reactHooks","_useConfirmationDialog","_graphql","_Tooltip","_Button","_Grid","_Select","_SearchUI","_add18px","_filter24px","_utils","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","t","i18n","ns","SORTERS","label","_taggedTemplateLiteral2","default","sorter","TeamsDataList","exports","_useState","useState","_useState2","_slicedToArray2","filter","setFilter","_useState3","_useState4","sort","setSort","_useRouter","useRouter","history","location","_useSnackbar","useSnackbar","showSnackbar","_useConfirmationDialo","useConfirmationDialog","dataTestId","showConfirmation","_useQuery","useQuery","LIST_TEAMS","listResponse","data","listLoading","loading","_useMutation","useMutation","DELETE_TEAM","refetchQueries","query","_useMutation2","deleteIt","deleteLoading","security","teams","id","URLSearchParams","search","get","filterTeam","useCallback","_ref","name","slug","description","toLowerCase","includes","sortTeams","_deserializeSorters","deserializeSorters","_deserializeSorters2","key","sortBy","orderBy","deleteItem","item","_await$deleteIt","variables","error","deleteTeam","message","push","teamsDataListModalOverlay","useMemo","createElement","DataListModalOverlay","Grid","Cell","span","Select","value","onChange","map","_ref2","filteredData","teamList","DataList","title","actions","ButtonSecondary","onClick","ButtonIcon","icon","ReactComponent","inputPlaceholder","modalOverlay","modalOverlayAction","DataListModalOverlayAction","_ref3","ScrollList","ListItem","selected","ListItemText","concat","ListItemTextSecondary","ListItemMeta","system","plugin","Tooltip","placement","content","DeleteIcon","disabled"],"sources":["TeamsDataList.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport orderBy from \"lodash/orderBy\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport {\n DataList,\n ScrollList,\n ListItem,\n ListItemText,\n ListItemTextSecondary,\n ListItemMeta,\n DataListModalOverlayAction,\n DataListModalOverlay\n} from \"@webiny/ui/List\";\nimport { DeleteIcon } from \"@webiny/ui/List/DataList/icons\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { useQuery, useMutation } from \"@apollo/react-hooks\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport { LIST_TEAMS, DELETE_TEAM, ListTeamsResponse } from \"./graphql\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { ButtonIcon, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport SearchUI from \"@webiny/app-admin/components/SearchUI\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { ReactComponent as FilterIcon } from \"@webiny/app-admin/assets/icons/filter-24px.svg\";\nimport { deserializeSorters } from \"../utils\";\nimport { Team } from \"~/types\";\n\nconst t = i18n.ns(\"app-security/admin/teams/data-list\");\n\nconst SORTERS = [\n {\n label: t`Newest to oldest`,\n sorter: \"createdOn_DESC\"\n },\n {\n label: t`Oldest to newest`,\n sorter: \"createdOn_ASC\"\n },\n {\n label: t`Name A-Z`,\n sorter: \"name_ASC\"\n },\n {\n label: t`Name Z-A`,\n sorter: \"name_DESC\"\n }\n];\n\nexport interface TeamsDataListProps {\n // TODO @ts-refactor delete and go up the tree and sort it out\n [key: string]: any;\n}\n\nexport const TeamsDataList = () => {\n const [filter, setFilter] = useState(\"\");\n const [sort, setSort] = useState(SORTERS[0].sorter);\n const { history, location } = useRouter();\n const { showSnackbar } = useSnackbar();\n const { showConfirmation } = useConfirmationDialog({\n dataTestId: \"default-data-list.delete-dialog\"\n });\n\n const { data: listResponse, loading: listLoading } = useQuery<ListTeamsResponse>(LIST_TEAMS);\n\n const [deleteIt, { loading: deleteLoading }] = useMutation(DELETE_TEAM, {\n refetchQueries: [{ query: LIST_TEAMS }]\n });\n\n const data = listLoading && !listResponse ? [] : listResponse?.security.teams.data || [];\n const id = new URLSearchParams(location.search).get(\"id\");\n\n const filterTeam = useCallback(\n ({ name, slug, description }: Team) => {\n return (\n name.toLowerCase().includes(filter) ||\n slug.toLowerCase().includes(filter) ||\n (description && description.toLowerCase().includes(filter))\n );\n },\n [filter]\n );\n\n const sortTeams = useCallback(\n (teams: Team[]) => {\n if (!sort) {\n return teams;\n }\n const [key, sortBy] = deserializeSorters(sort);\n return orderBy(teams, [key], [sortBy]);\n },\n [sort]\n );\n\n const deleteItem = useCallback(\n (item: Team) => {\n showConfirmation(async () => {\n const { data } = await deleteIt({\n variables: item\n });\n\n const { error } = data.security.deleteTeam;\n if (error) {\n return showSnackbar(error.message);\n }\n\n showSnackbar(t`Team \"{slug}\" deleted.`({ slug: item.slug }));\n\n if (id === item.id) {\n history.push(`/access-management/teams`);\n }\n });\n },\n [id]\n );\n\n const teamsDataListModalOverlay = useMemo(\n () => (\n <DataListModalOverlay>\n <Grid>\n <Cell span={12}>\n <Select value={sort} onChange={setSort} label={t`Sort by`}>\n {SORTERS.map(({ label, sorter }) => {\n return (\n <option key={label} value={sorter}>\n {label}\n </option>\n );\n })}\n </Select>\n </Cell>\n </Grid>\n </DataListModalOverlay>\n ),\n [sort]\n );\n\n const filteredData = filter === \"\" ? data : data.filter(filterTeam);\n const teamList = sortTeams(filteredData);\n\n return (\n <DataList\n title={t`Teams`}\n actions={\n <ButtonSecondary\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/access-management/teams?new=true\")}\n >\n <ButtonIcon icon={<AddIcon />} /> {t`New Team`}\n </ButtonSecondary>\n }\n data={teamList}\n loading={listLoading || deleteLoading}\n search={\n <SearchUI value={filter} onChange={setFilter} inputPlaceholder={t`Search Teams`} />\n }\n modalOverlay={teamsDataListModalOverlay}\n modalOverlayAction={\n <DataListModalOverlayAction\n icon={<FilterIcon />}\n data-testid={\"default-data-list.filter\"}\n />\n }\n >\n {({ data }: { data: Team[] }) => (\n <ScrollList data-testid=\"default-data-list\">\n {data.map(item => (\n <ListItem key={item.id} selected={item.id === id}>\n <ListItemText\n onClick={() =>\n history.push(`/access-management/teams?id=${item.id}`)\n }\n >\n {item.name}\n <ListItemTextSecondary>{item.description}</ListItemTextSecondary>\n </ListItemText>\n\n <ListItemMeta>\n {item.system || item.plugin ? (\n <Tooltip\n placement={\"bottom\"}\n content={\n <span>\n {item.system\n ? t`Cannot delete system teams.`\n : t`Cannot delete teams created via extensions.`}\n </span>\n }\n >\n <DeleteIcon disabled />\n </Tooltip>\n ) : (\n <DeleteIcon\n onClick={() => deleteItem(item)}\n data-testid={\"default-data-list.delete\"}\n />\n )}\n </ListItemMeta>\n </ListItem>\n ))}\n </ScrollList>\n )}\n </DataList>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_orderBy","_interopRequireDefault","_i18n","_List","_icons","_reactRouter","_useSnackbar2","_reactHooks","_useConfirmationDialog","_graphql","_Tooltip","_Button","_Grid","_Select","_SearchUI","_add18px","_filter24px","_utils","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","t","i18n","ns","SORTERS","label","_taggedTemplateLiteral2","default","sorter","TeamsDataList","exports","_useState","useState","_useState2","_slicedToArray2","filter","setFilter","_useState3","_useState4","sort","setSort","_useRouter","useRouter","history","location","_useSnackbar","useSnackbar","showSnackbar","_useConfirmationDialo","useConfirmationDialog","dataTestId","showConfirmation","_useQuery","useQuery","LIST_TEAMS","listResponse","data","listLoading","loading","_useMutation","useMutation","DELETE_TEAM","refetchQueries","query","_useMutation2","deleteIt","deleteLoading","security","teams","id","URLSearchParams","search","get","filterTeam","useCallback","_ref","name","slug","description","toLowerCase","includes","sortTeams","_deserializeSorters","deserializeSorters","_deserializeSorters2","key","sortBy","orderBy","deleteItem","item","_await$deleteIt","variables","error","deleteTeam","message","push","teamsDataListModalOverlay","useMemo","createElement","DataListModalOverlay","Grid","Cell","span","Select","value","onChange","map","_ref2","filteredData","teamList","DataList","title","actions","ButtonSecondary","onClick","ButtonIcon","icon","ReactComponent","inputPlaceholder","modalOverlay","modalOverlayAction","DataListModalOverlayAction","_ref3","ScrollList","ListItem","selected","ListItemText","concat","ListItemTextSecondary","ListItemMeta","system","plugin","Tooltip","placement","content","DeleteIcon","disabled"],"sources":["TeamsDataList.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport orderBy from \"lodash/orderBy\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport {\n DataList,\n ScrollList,\n ListItem,\n ListItemText,\n ListItemTextSecondary,\n ListItemMeta,\n DataListModalOverlayAction,\n DataListModalOverlay\n} from \"@webiny/ui/List\";\nimport { DeleteIcon } from \"@webiny/ui/List/DataList/icons\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { useQuery, useMutation } from \"@apollo/react-hooks\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport { LIST_TEAMS, DELETE_TEAM, ListTeamsResponse } from \"./graphql\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { ButtonIcon, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport SearchUI from \"@webiny/app-admin/components/SearchUI\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { ReactComponent as FilterIcon } from \"@webiny/app-admin/assets/icons/filter-24px.svg\";\nimport { deserializeSorters } from \"../utils\";\nimport { Team } from \"~/types\";\n\nconst t = i18n.ns(\"app-security/admin/teams/data-list\");\n\nconst SORTERS = [\n {\n label: t`Newest to oldest`,\n sorter: \"createdOn_DESC\"\n },\n {\n label: t`Oldest to newest`,\n sorter: \"createdOn_ASC\"\n },\n {\n label: t`Name A-Z`,\n sorter: \"name_ASC\"\n },\n {\n label: t`Name Z-A`,\n sorter: \"name_DESC\"\n }\n];\n\nexport interface TeamsDataListProps {\n // TODO @ts-refactor delete and go up the tree and sort it out\n [key: string]: any;\n}\n\nexport const TeamsDataList = () => {\n const [filter, setFilter] = useState(\"\");\n const [sort, setSort] = useState(SORTERS[0].sorter);\n const { history, location } = useRouter();\n const { showSnackbar } = useSnackbar();\n const { showConfirmation } = useConfirmationDialog({\n dataTestId: \"default-data-list.delete-dialog\"\n });\n\n const { data: listResponse, loading: listLoading } = useQuery<ListTeamsResponse>(LIST_TEAMS);\n\n const [deleteIt, { loading: deleteLoading }] = useMutation(DELETE_TEAM, {\n refetchQueries: [{ query: LIST_TEAMS }]\n });\n\n const data = listLoading && !listResponse ? [] : listResponse?.security.teams.data || [];\n const id = new URLSearchParams(location.search).get(\"id\");\n\n const filterTeam = useCallback(\n ({ name, slug, description }: Team) => {\n return (\n name.toLowerCase().includes(filter) ||\n slug.toLowerCase().includes(filter) ||\n (description && description.toLowerCase().includes(filter))\n );\n },\n [filter]\n );\n\n const sortTeams = useCallback(\n (teams: Team[]) => {\n if (!sort) {\n return teams;\n }\n const [key, sortBy] = deserializeSorters(sort);\n return orderBy(teams, [key], [sortBy]);\n },\n [sort]\n );\n\n const deleteItem = useCallback(\n (item: Team) => {\n showConfirmation(async () => {\n const { data } = await deleteIt({\n variables: item\n });\n\n const { error } = data.security.deleteTeam;\n if (error) {\n return showSnackbar(error.message);\n }\n\n showSnackbar(t`Team \"{slug}\" deleted.`({ slug: item.slug }));\n\n if (id === item.id) {\n history.push(`/access-management/teams`);\n }\n });\n },\n [id]\n );\n\n const teamsDataListModalOverlay = useMemo(\n () => (\n <DataListModalOverlay>\n <Grid>\n <Cell span={12}>\n <Select value={sort} onChange={setSort} label={t`Sort by`}>\n {SORTERS.map(({ label, sorter }) => {\n return (\n <option key={label} value={sorter}>\n {label}\n </option>\n );\n })}\n </Select>\n </Cell>\n </Grid>\n </DataListModalOverlay>\n ),\n [sort]\n );\n\n const filteredData = filter === \"\" ? data : data.filter(filterTeam);\n const teamList = sortTeams(filteredData);\n\n return (\n <DataList\n title={t`Teams`}\n actions={\n <ButtonSecondary\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/access-management/teams?new=true\")}\n >\n <ButtonIcon icon={<AddIcon />} /> {t`New Team`}\n </ButtonSecondary>\n }\n data={teamList}\n loading={listLoading || deleteLoading}\n search={\n <SearchUI value={filter} onChange={setFilter} inputPlaceholder={t`Search Teams`} />\n }\n modalOverlay={teamsDataListModalOverlay}\n modalOverlayAction={\n <DataListModalOverlayAction\n icon={<FilterIcon />}\n data-testid={\"default-data-list.filter\"}\n />\n }\n >\n {({ data }: { data: Team[] }) => (\n <ScrollList data-testid=\"default-data-list\">\n {data.map(item => (\n <ListItem key={item.id} selected={item.id === id}>\n <ListItemText\n onClick={() =>\n history.push(`/access-management/teams?id=${item.id}`)\n }\n >\n {item.name}\n <ListItemTextSecondary>{item.description}</ListItemTextSecondary>\n </ListItemText>\n\n <ListItemMeta>\n {item.system || item.plugin ? (\n <Tooltip\n placement={\"bottom\"}\n content={\n <span>\n {item.system\n ? t`Cannot delete system teams.`\n : t`Cannot delete teams created via extensions.`}\n </span>\n }\n >\n <DeleteIcon disabled />\n </Tooltip>\n ) : (\n <DeleteIcon\n onClick={() => deleteItem(item)}\n data-testid={\"default-data-list.delete\"}\n />\n )}\n </ListItemMeta>\n </ListItem>\n ))}\n </ScrollList>\n )}\n </DataList>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_pick","_interopRequireDefault","_get","_reactRouter","_i18n","_form","_Grid","_Input","_Button","_Progress","_validation","_SimpleForm","_useSnackbar2","_graphql","_isEmpty","_EmptyView","_add18px","_GroupsMultiAutocomplete","_Alert","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_EMOTION_STRINGIFIED_CSS_ERROR__","t","i18n","ns","ButtonWrapper","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","TeamsForm","exports","_useRouter","useRouter","location","history","_useSnackbar","useSnackbar","showSnackbar","newTeam","URLSearchParams","search","get","id","getQuery","useQuery","READ_TEAM","variables","skip","onCompleted","data","error","security","team","push","message","_useMutation","useMutation","CREATE_TEAM","refetchQueries","query","LIST_TEAMS","_useMutation2","_slicedToArray2","create","createMutation","_useMutation3","UPDATE_TEAM","_useMutation4","update","updateMutation","loading","find","item","onSubmit","useCallback","formData","isUpdate","createdOn","_ref","pick","_ref2","operation","args","response","_response$data$securi","concat","_taggedTemplateLiteral2","systemTeam","system","pluginTeam","plugin","canModifyTeam","showEmptyView","isEmpty","createElement","title","action","ButtonDefault","onClick","ButtonIcon","icon","ReactComponent","Form","_ref3","form","Bind","SimpleForm","CircularProgress","SimpleFormHeader","SimpleFormContent","Grid","Cell","span","Alert","type","validators","validation","Input","disabled","rows","GroupsMultiAutocomplete","SimpleFormFooter","ButtonPrimary","ev","submit"],"sources":["TeamsForm.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { useMutation, useQuery } from \"@apollo/react-hooks\";\nimport styled from \"@emotion/styled\";\nimport pick from \"lodash/pick\";\nimport get from \"lodash/get\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Form } from \"@webiny/form\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { ButtonDefault, ButtonIcon, ButtonPrimary } from \"@webiny/ui/Button\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { validation } from \"@webiny/validation\";\nimport {\n SimpleForm,\n SimpleFormFooter,\n SimpleFormContent,\n SimpleFormHeader\n} from \"@webiny/app-admin/components/SimpleForm\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { CREATE_TEAM, LIST_TEAMS, READ_TEAM, UPDATE_TEAM } from \"./graphql\";\nimport isEmpty from \"lodash/isEmpty\";\nimport EmptyView from \"@webiny/app-admin/components/EmptyView\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { GroupsMultiAutocomplete } from \"~/components/GroupsMultiAutocomplete\";\nimport { Team } from \"~/types\";\nimport { Alert } from \"@webiny/ui/Alert\";\n\nconst t = i18n.ns(\"app-security/admin/teams/form\");\n\nconst ButtonWrapper = styled(\"div\")({\n display: \"flex\",\n justifyContent: \"space-between\"\n});\n\nexport interface TeamsFormProps {\n // TODO @ts-refactor delete and go up the tree and sort it out\n [key: string]: any;\n}\n\nexport const TeamsForm = () => {\n const { location, history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const newTeam = new URLSearchParams(location.search).get(\"new\") === \"true\";\n const id = new URLSearchParams(location.search).get(\"id\");\n\n const getQuery = useQuery(READ_TEAM, {\n variables: { id },\n skip: !id,\n onCompleted: data => {\n if (!data) {\n return;\n }\n\n const { error } = data.security.team;\n if (error) {\n history.push(\"/access-management/teams\");\n showSnackbar(error.message);\n }\n }\n });\n\n const [create, createMutation] = useMutation(CREATE_TEAM, {\n refetchQueries: [{ query: LIST_TEAMS }]\n });\n\n const [update, updateMutation] = useMutation(UPDATE_TEAM, {\n refetchQueries: [{ query: LIST_TEAMS }]\n });\n\n const loading = [getQuery, createMutation, updateMutation].find(item => item.loading);\n\n const onSubmit = useCallback(\n async (formData: Team) => {\n const isUpdate = formData.createdOn;\n const [operation, args] = isUpdate\n ? [\n update,\n {\n variables: {\n id: formData.id,\n data: pick(formData, [\"name\", \"description\", \"groups\"])\n }\n }\n ]\n : [\n create,\n {\n variables: {\n data: pick(formData, [\"name\", \"slug\", \"description\", \"groups\"])\n }\n }\n ];\n\n const response = await operation(args);\n\n const { data: team, error } = response.data.security.team;\n if (error) {\n return showSnackbar(error.message);\n }\n\n !isUpdate && history.push(`/access-management/teams?id=${team.id}`);\n showSnackbar(t`Team saved successfully!`);\n },\n [id]\n );\n\n const data = loading ? {} : get(getQuery, \"data.security.team.data\", {});\n\n const systemTeam = data.system;\n const pluginTeam = data.plugin;\n const canModifyTeam = !systemTeam && !pluginTeam;\n\n const showEmptyView = !newTeam && !loading && isEmpty(data);\n // Render \"No content\" selected view.\n if (showEmptyView) {\n return (\n <EmptyView\n title={t`Click on the left side list to display team details or create a...`}\n action={\n <ButtonDefault\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/access-management/teams?new=true\")}\n >\n <ButtonIcon icon={<AddIcon />} />\n {t`New Team`}\n </ButtonDefault>\n }\n />\n );\n }\n\n return (\n <Form data={data} onSubmit={onSubmit}>\n {({ data, form, Bind }) => {\n return (\n <SimpleForm>\n {loading && <CircularProgress />}\n <SimpleFormHeader title={data.name ? data.name : \"Untitled\"} />\n <SimpleFormContent>\n {systemTeam && (\n <Grid>\n <Cell span={12}>\n <Alert type={\"info\"} title={\"Permissions are locked\"}>\n This is a protected system team and you can&apos;t\n modify its permissions.\n </Alert>\n </Cell>\n </Grid>\n )}\n {pluginTeam && (\n <Grid>\n <Cell span={12}>\n <Alert type={\"info\"} title={\"Important\"}>\n This team is registered via an extension, and cannot be\n modified.\n </Alert>\n </Cell>\n </Grid>\n )}\n <Grid>\n <Cell span={6}>\n <Bind\n name=\"name\"\n validators={validation.create(\"required,minLength:3\")}\n >\n <Input\n disabled={!canModifyTeam}\n label={t`Name`}\n data-testid=\"admin.am.team.new.name\"\n />\n </Bind>\n </Cell>\n <Cell span={6}>\n <Bind\n name=\"slug\"\n validators={validation.create(\"required,minLength:3\")}\n >\n <Input\n disabled={!canModifyTeam || !newTeam}\n label={t`Slug`}\n data-testid=\"admin.am.team.new.slug\"\n />\n </Bind>\n </Cell>\n </Grid>\n <Grid>\n <Cell span={12}>\n <Bind\n name=\"description\"\n validators={validation.create(\"maxLength:500\")}\n >\n <Input\n disabled={!canModifyTeam}\n label={t`Description`}\n rows={3}\n data-testid=\"admin.am.team.new.description\"\n />\n </Bind>\n </Cell>\n </Grid>\n <Grid>\n <Cell span={12}>\n <Bind name=\"groups\" validators={validation.create(\"required\")}>\n <GroupsMultiAutocomplete\n disabled={!canModifyTeam}\n label={t`Roles`}\n data-testid=\"admin.am.team.new.groups\"\n />\n </Bind>\n </Cell>\n </Grid>\n </SimpleFormContent>\n {canModifyTeam && (\n <SimpleFormFooter>\n <ButtonWrapper>\n <ButtonDefault\n onClick={() => history.push(\"/access-management/teams\")}\n >{t`Cancel`}</ButtonDefault>\n <ButtonPrimary\n data-testid=\"admin.am.team.new.save\"\n onClick={ev => {\n form.submit(ev);\n }}\n >{t`Save team`}</ButtonPrimary>\n </ButtonWrapper>\n </SimpleFormFooter>\n )}\n </SimpleForm>\n );\n }}\n </Form>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_pick","_interopRequireDefault","_get","_reactRouter","_i18n","_form","_Grid","_Input","_Button","_Progress","_validation","_SimpleForm","_useSnackbar2","_graphql","_isEmpty","_EmptyView","_add18px","_GroupsMultiAutocomplete","_Alert","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_EMOTION_STRINGIFIED_CSS_ERROR__","t","i18n","ns","ButtonWrapper","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","TeamsForm","exports","_useRouter","useRouter","location","history","_useSnackbar","useSnackbar","showSnackbar","newTeam","URLSearchParams","search","get","id","getQuery","useQuery","READ_TEAM","variables","skip","onCompleted","data","error","security","team","push","message","_useMutation","useMutation","CREATE_TEAM","refetchQueries","query","LIST_TEAMS","_useMutation2","_slicedToArray2","create","createMutation","_useMutation3","UPDATE_TEAM","_useMutation4","update","updateMutation","loading","find","item","onSubmit","useCallback","formData","isUpdate","createdOn","_ref","pick","_ref2","operation","args","response","_response$data$securi","concat","_taggedTemplateLiteral2","systemTeam","system","pluginTeam","plugin","canModifyTeam","showEmptyView","isEmpty","createElement","title","action","ButtonDefault","onClick","ButtonIcon","icon","ReactComponent","Form","_ref3","form","Bind","SimpleForm","CircularProgress","SimpleFormHeader","SimpleFormContent","Grid","Cell","span","Alert","type","validators","validation","Input","disabled","rows","GroupsMultiAutocomplete","SimpleFormFooter","ButtonPrimary","ev","submit"],"sources":["TeamsForm.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { useMutation, useQuery } from \"@apollo/react-hooks\";\nimport styled from \"@emotion/styled\";\nimport pick from \"lodash/pick\";\nimport get from \"lodash/get\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Form } from \"@webiny/form\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { ButtonDefault, ButtonIcon, ButtonPrimary } from \"@webiny/ui/Button\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { validation } from \"@webiny/validation\";\nimport {\n SimpleForm,\n SimpleFormFooter,\n SimpleFormContent,\n SimpleFormHeader\n} from \"@webiny/app-admin/components/SimpleForm\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { CREATE_TEAM, LIST_TEAMS, READ_TEAM, UPDATE_TEAM } from \"./graphql\";\nimport isEmpty from \"lodash/isEmpty\";\nimport EmptyView from \"@webiny/app-admin/components/EmptyView\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { GroupsMultiAutocomplete } from \"~/components/GroupsMultiAutocomplete\";\nimport { Team } from \"~/types\";\nimport { Alert } from \"@webiny/ui/Alert\";\n\nconst t = i18n.ns(\"app-security/admin/teams/form\");\n\nconst ButtonWrapper = styled(\"div\")({\n display: \"flex\",\n justifyContent: \"space-between\"\n});\n\nexport interface TeamsFormProps {\n // TODO @ts-refactor delete and go up the tree and sort it out\n [key: string]: any;\n}\n\nexport const TeamsForm = () => {\n const { location, history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const newTeam = new URLSearchParams(location.search).get(\"new\") === \"true\";\n const id = new URLSearchParams(location.search).get(\"id\");\n\n const getQuery = useQuery(READ_TEAM, {\n variables: { id },\n skip: !id,\n onCompleted: data => {\n if (!data) {\n return;\n }\n\n const { error } = data.security.team;\n if (error) {\n history.push(\"/access-management/teams\");\n showSnackbar(error.message);\n }\n }\n });\n\n const [create, createMutation] = useMutation(CREATE_TEAM, {\n refetchQueries: [{ query: LIST_TEAMS }]\n });\n\n const [update, updateMutation] = useMutation(UPDATE_TEAM, {\n refetchQueries: [{ query: LIST_TEAMS }]\n });\n\n const loading = [getQuery, createMutation, updateMutation].find(item => item.loading);\n\n const onSubmit = useCallback(\n async (formData: Team) => {\n const isUpdate = formData.createdOn;\n const [operation, args] = isUpdate\n ? [\n update,\n {\n variables: {\n id: formData.id,\n data: pick(formData, [\"name\", \"description\", \"groups\"])\n }\n }\n ]\n : [\n create,\n {\n variables: {\n data: pick(formData, [\"name\", \"slug\", \"description\", \"groups\"])\n }\n }\n ];\n\n const response = await operation(args);\n\n const { data: team, error } = response.data.security.team;\n if (error) {\n return showSnackbar(error.message);\n }\n\n !isUpdate && history.push(`/access-management/teams?id=${team.id}`);\n showSnackbar(t`Team saved successfully!`);\n },\n [id]\n );\n\n const data = loading ? {} : get(getQuery, \"data.security.team.data\", {});\n\n const systemTeam = data.system;\n const pluginTeam = data.plugin;\n const canModifyTeam = !systemTeam && !pluginTeam;\n\n const showEmptyView = !newTeam && !loading && isEmpty(data);\n // Render \"No content\" selected view.\n if (showEmptyView) {\n return (\n <EmptyView\n title={t`Click on the left side list to display team details or create a...`}\n action={\n <ButtonDefault\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/access-management/teams?new=true\")}\n >\n <ButtonIcon icon={<AddIcon />} />\n {t`New Team`}\n </ButtonDefault>\n }\n />\n );\n }\n\n return (\n <Form data={data} onSubmit={onSubmit}>\n {({ data, form, Bind }) => {\n return (\n <SimpleForm>\n {loading && <CircularProgress />}\n <SimpleFormHeader title={data.name ? data.name : \"Untitled\"} />\n <SimpleFormContent>\n {systemTeam && (\n <Grid>\n <Cell span={12}>\n <Alert type={\"info\"} title={\"Permissions are locked\"}>\n This is a protected system team and you can&apos;t\n modify its permissions.\n </Alert>\n </Cell>\n </Grid>\n )}\n {pluginTeam && (\n <Grid>\n <Cell span={12}>\n <Alert type={\"info\"} title={\"Important\"}>\n This team is registered via an extension, and cannot be\n modified.\n </Alert>\n </Cell>\n </Grid>\n )}\n <Grid>\n <Cell span={6}>\n <Bind\n name=\"name\"\n validators={validation.create(\"required,minLength:3\")}\n >\n <Input\n disabled={!canModifyTeam}\n label={t`Name`}\n data-testid=\"admin.am.team.new.name\"\n />\n </Bind>\n </Cell>\n <Cell span={6}>\n <Bind\n name=\"slug\"\n validators={validation.create(\"required,minLength:3\")}\n >\n <Input\n disabled={!canModifyTeam || !newTeam}\n label={t`Slug`}\n data-testid=\"admin.am.team.new.slug\"\n />\n </Bind>\n </Cell>\n </Grid>\n <Grid>\n <Cell span={12}>\n <Bind\n name=\"description\"\n validators={validation.create(\"maxLength:500\")}\n >\n <Input\n disabled={!canModifyTeam}\n label={t`Description`}\n rows={3}\n data-testid=\"admin.am.team.new.description\"\n />\n </Bind>\n </Cell>\n </Grid>\n <Grid>\n <Cell span={12}>\n <Bind name=\"groups\" validators={validation.create(\"required\")}>\n <GroupsMultiAutocomplete\n disabled={!canModifyTeam}\n label={t`Roles`}\n data-testid=\"admin.am.team.new.groups\"\n />\n </Bind>\n </Cell>\n </Grid>\n </SimpleFormContent>\n {canModifyTeam && (\n <SimpleFormFooter>\n <ButtonWrapper>\n <ButtonDefault\n onClick={() => history.push(\"/access-management/teams\")}\n >{t`Cancel`}</ButtonDefault>\n <ButtonPrimary\n data-testid=\"admin.am.team.new.save\"\n onClick={ev => {\n form.submit(ev);\n }}\n >{t`Save team`}</ButtonPrimary>\n </ButtonWrapper>\n </SimpleFormFooter>\n )}\n </SimpleForm>\n );\n }}\n </Form>\n );\n};\n"],"mappings":"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","ignoreList":[]}