@webiny/app-security-access-management 5.36.2 → 5.37.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.
Files changed (70) hide show
  1. package/components/GroupAutocomplete/graphql.js.map +1 -1
  2. package/components/GroupAutocomplete/index.js.map +1 -1
  3. package/components/GroupsMultiAutocomplete/graphql.d.ts +1 -0
  4. package/components/GroupsMultiAutocomplete/graphql.js +12 -0
  5. package/components/GroupsMultiAutocomplete/graphql.js.map +1 -0
  6. package/components/GroupsMultiAutocomplete/index.d.ts +5 -0
  7. package/components/GroupsMultiAutocomplete/index.js +24 -0
  8. package/components/GroupsMultiAutocomplete/index.js.map +1 -0
  9. package/components/NotAuthorizedError/NotAuthorizedError.js.map +1 -1
  10. package/components/NotAuthorizedError/index.js.map +1 -1
  11. package/components/TeamAutocomplete/graphql.d.ts +1 -0
  12. package/components/TeamAutocomplete/graphql.js +12 -0
  13. package/components/TeamAutocomplete/graphql.js.map +1 -0
  14. package/components/TeamAutocomplete/index.d.ts +5 -0
  15. package/components/TeamAutocomplete/index.js +23 -0
  16. package/components/TeamAutocomplete/index.js.map +1 -0
  17. package/index.js +28 -7
  18. package/index.js.map +1 -1
  19. package/package.json +19 -18
  20. package/plugins/constants.d.ts +1 -0
  21. package/plugins/constants.js +5 -4
  22. package/plugins/constants.js.map +1 -1
  23. package/plugins/index.js.map +1 -1
  24. package/plugins/installation.js.map +1 -1
  25. package/plugins/permissionRenderer/SecurityPermissions.js +60 -5
  26. package/plugins/permissionRenderer/SecurityPermissions.js.map +1 -1
  27. package/plugins/permissionRenderer/index.js.map +1 -1
  28. package/plugins/routes.js.map +1 -1
  29. package/plugins/secureRouteError.js.map +1 -1
  30. package/types.d.ts +7 -0
  31. package/types.js.map +1 -1
  32. package/ui/elements/GroupAutocompleteElement.js.map +1 -1
  33. package/ui/elements/GroupsMultiAutocompleteElement.d.ts +6 -0
  34. package/ui/elements/GroupsMultiAutocompleteElement.js +49 -0
  35. package/ui/elements/GroupsMultiAutocompleteElement.js.map +1 -0
  36. package/ui/elements/TeamAutocompleteElement.d.ts +6 -0
  37. package/ui/elements/TeamAutocompleteElement.js +49 -0
  38. package/ui/elements/TeamAutocompleteElement.js.map +1 -0
  39. package/ui/views/ApiKeys/ApiKeyForm.js +19 -1
  40. package/ui/views/ApiKeys/ApiKeyForm.js.map +1 -1
  41. package/ui/views/ApiKeys/ApiKeys.js.map +1 -1
  42. package/ui/views/ApiKeys/ApiKeysDataList.js.map +1 -1
  43. package/ui/views/ApiKeys/graphql.js.map +1 -1
  44. package/ui/views/ApiKeys/index.js.map +1 -1
  45. package/ui/views/ApiKeys/utils.js +2 -2
  46. package/ui/views/ApiKeys/utils.js.map +1 -1
  47. package/ui/views/Groups/Groups.js.map +1 -1
  48. package/ui/views/Groups/GroupsDataList.js +8 -8
  49. package/ui/views/Groups/GroupsDataList.js.map +1 -1
  50. package/ui/views/Groups/GroupsForm.js +30 -17
  51. package/ui/views/Groups/GroupsForm.js.map +1 -1
  52. package/ui/views/Groups/graphql.js +1 -1
  53. package/ui/views/Groups/graphql.js.map +1 -1
  54. package/ui/views/Groups/index.js.map +1 -1
  55. package/ui/views/Teams/Teams.d.ts +8 -0
  56. package/ui/views/Teams/Teams.js +19 -0
  57. package/ui/views/Teams/Teams.js.map +1 -0
  58. package/ui/views/Teams/TeamsDataList.d.ts +5 -0
  59. package/ui/views/Teams/TeamsDataList.js +192 -0
  60. package/ui/views/Teams/TeamsDataList.js.map +1 -0
  61. package/ui/views/Teams/TeamsForm.d.ts +5 -0
  62. package/ui/views/Teams/TeamsForm.js +196 -0
  63. package/ui/views/Teams/TeamsForm.js.map +1 -0
  64. package/ui/views/Teams/graphql.d.ts +5 -0
  65. package/ui/views/Teams/graphql.js +21 -0
  66. package/ui/views/Teams/graphql.js.map +1 -0
  67. package/ui/views/Teams/index.d.ts +1 -0
  68. package/ui/views/Teams/index.js +16 -0
  69. package/ui/views/Teams/index.js.map +1 -0
  70. package/ui/views/utils.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["Groups","formProps","listProps"],"sources":["Groups.tsx"],"sourcesContent":["import React from \"react\";\nimport { SplitView, LeftPanel, RightPanel } from \"@webiny/app-admin/components/SplitView\";\nimport { GroupsDataList, GroupsDataListProps } from \"./GroupsDataList\";\nimport { GroupsForm, GroupsFormProps } from \"./GroupsForm\";\n\nexport interface GroupsProps {\n listProps?: GroupsDataListProps;\n formProps?: GroupsFormProps;\n}\nexport const Groups: React.FC<GroupsProps> = ({ formProps = {}, listProps = {} }) => {\n return (\n <SplitView>\n <LeftPanel>\n <GroupsDataList {...listProps} />\n </LeftPanel>\n <RightPanel>\n <GroupsForm {...formProps} />\n </RightPanel>\n </SplitView>\n );\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AAMO,IAAMA,MAA6B,GAAG,SAAhCA,MAA6B,OAA2C;EAAA,0BAArCC,SAAS;IAATA,SAAS,+BAAG,CAAC,CAAC;IAAA,sBAAEC,SAAS;IAATA,SAAS,+BAAG,CAAC,CAAC;EAC1E,oBACI,6BAAC,oBAAS,qBACN,6BAAC,oBAAS,qBACN,6BAAC,8BAAc,EAAKA,SAAS,CAAI,CACzB,eACZ,6BAAC,qBAAU,qBACP,6BAAC,sBAAU,EAAKD,SAAS,CAAI,CACpB,CACL;AAEpB,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_SplitView","_GroupsDataList","_GroupsForm","Groups","_ref","_ref$formProps","formProps","_ref$listProps","listProps","default","createElement","SplitView","LeftPanel","GroupsDataList","RightPanel","GroupsForm","exports"],"sources":["Groups.tsx"],"sourcesContent":["import React from \"react\";\nimport { SplitView, LeftPanel, RightPanel } from \"@webiny/app-admin/components/SplitView\";\nimport { GroupsDataList, GroupsDataListProps } from \"./GroupsDataList\";\nimport { GroupsForm, GroupsFormProps } from \"./GroupsForm\";\n\nexport interface GroupsProps {\n listProps?: GroupsDataListProps;\n formProps?: GroupsFormProps;\n}\nexport const Groups: React.FC<GroupsProps> = ({ formProps = {}, listProps = {} }) => {\n return (\n <SplitView>\n <LeftPanel>\n <GroupsDataList {...listProps} />\n </LeftPanel>\n <RightPanel>\n <GroupsForm {...formProps} />\n </RightPanel>\n </SplitView>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAMO,IAAMI,MAA6B,GAAG,SAAhCA,MAA6BA,CAAAC,IAAA,EAA2C;EAAA,IAAAC,cAAA,GAAAD,IAAA,CAArCE,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,CAAC,CAAC,GAAAA,cAAA;IAAAE,cAAA,GAAAH,IAAA,CAAEI,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,CAAC,CAAC,GAAAA,cAAA;EAC1E,oBACIV,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACV,UAAA,CAAAW,SAAS,qBACNd,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACV,UAAA,CAAAY,SAAS,qBACNf,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACT,eAAA,CAAAY,cAAc,EAAKL,SAAY,CACzB,CAAC,eACZX,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACV,UAAA,CAAAc,UAAU,qBACPjB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACR,WAAA,CAAAa,UAAU,EAAKT,SAAY,CACpB,CACL,CAAC;AAEpB,CAAC;AAACU,OAAA,CAAAb,MAAA,GAAAA,MAAA"}
@@ -29,7 +29,7 @@ var _add18px = require("@webiny/app-admin/assets/icons/add-18px.svg");
29
29
  var _filter24px = require("@webiny/app-admin/assets/icons/filter-24px.svg");
30
30
  var _utils = require("../utils");
31
31
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
32
- var t = _i18n.i18n.ns("app-security/admin/groups/data-list");
32
+ var t = _i18n.i18n.ns("app-security/admin/roles/data-list");
33
33
  var SORTERS = [{
34
34
  label: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Newest to oldest"]))),
35
35
  sorter: "createdOn_DESC"
@@ -110,11 +110,11 @@ var GroupsDataList = function GroupsDataList() {
110
110
  }
111
111
  return _context.abrupt("return", showSnackbar(error.message));
112
112
  case 7:
113
- showSnackbar(t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["Group \"{slug}\" deleted."])))({
113
+ showSnackbar(t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["Role \"{slug}\" deleted."])))({
114
114
  slug: item.slug
115
115
  }));
116
116
  if (id === item.id) {
117
- history.push("/access-management/groups");
117
+ history.push("/access-management/roles");
118
118
  }
119
119
  case 9:
120
120
  case "end":
@@ -142,21 +142,21 @@ var GroupsDataList = function GroupsDataList() {
142
142
  var filteredData = filter === "" ? data : data.filter(filterGroup);
143
143
  var groupList = sortGroups(filteredData);
144
144
  return /*#__PURE__*/_react.default.createElement(_List.DataList, {
145
- title: t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Groups"]))),
145
+ title: t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Roles"]))),
146
146
  actions: /*#__PURE__*/_react.default.createElement(_Button.ButtonSecondary, {
147
147
  "data-testid": "new-record-button",
148
148
  onClick: function onClick() {
149
- return history.push("/access-management/groups?new=true");
149
+ return history.push("/access-management/roles?new=true");
150
150
  }
151
151
  }, /*#__PURE__*/_react.default.createElement(_Button.ButtonIcon, {
152
152
  icon: /*#__PURE__*/_react.default.createElement(_add18px.ReactComponent, null)
153
- }), " ", t(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["New Group"])))),
153
+ }), " ", t(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["New Role"])))),
154
154
  data: groupList,
155
155
  loading: listLoading || deleteLoading,
156
156
  search: /*#__PURE__*/_react.default.createElement(_SearchUI.default, {
157
157
  value: filter,
158
158
  onChange: setFilter,
159
- inputPlaceholder: t(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["Search Groups"])))
159
+ inputPlaceholder: t(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["Search Roles"])))
160
160
  }),
161
161
  modalOverlay: groupsDataListModalOverlay,
162
162
  modalOverlayAction: /*#__PURE__*/_react.default.createElement(_List.DataListModalOverlayAction, {
@@ -173,7 +173,7 @@ var GroupsDataList = function GroupsDataList() {
173
173
  selected: item.id === id
174
174
  }, /*#__PURE__*/_react.default.createElement(_List.ListItemText, {
175
175
  onClick: function onClick() {
176
- return history.push("/access-management/groups?id=".concat(item.id));
176
+ return history.push("/access-management/roles?id=".concat(item.id));
177
177
  }
178
178
  }, item.name, /*#__PURE__*/_react.default.createElement(_List.ListItemTextSecondary, null, item.description)), /*#__PURE__*/_react.default.createElement(_List.ListItemMeta, null, /*#__PURE__*/_react.default.createElement(_List.ListActions, null, !item.system ? /*#__PURE__*/_react.default.createElement(_icons.DeleteIcon, {
179
179
  onClick: function onClick() {
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","SORTERS","label","sorter","GroupsDataList","useState","filter","setFilter","sort","setSort","useRouter","history","location","useSnackbar","showSnackbar","useConfirmationDialog","dataTestId","showConfirmation","useQuery","LIST_GROUPS","listResponse","data","listLoading","loading","useMutation","DELETE_GROUP","refetchQueries","query","deleteIt","deleteLoading","security","groups","id","URLSearchParams","search","get","filterGroup","useCallback","name","slug","description","toLowerCase","includes","sortGroups","deserializeSorters","key","sortBy","orderBy","deleteItem","item","variables","error","deleteGroup","message","push","groupsDataListModalOverlay","useMemo","map","filteredData","groupList","system"],"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 } 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/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];\n\nexport interface GroupsDataListProps {\n // TODO @ts-refactor delete and go up the tree and sort it out\n [key: string]: any;\n}\nexport const GroupsDataList: React.FC<GroupsDataListProps> = () => {\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(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 }) => {\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 => {\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 => {\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`Group \"{slug}\" deleted.`({ slug: item.slug }));\n\n if (id === item.id) {\n history.push(`/access-management/groups`);\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`Groups`}\n actions={\n <ButtonSecondary\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/access-management/groups?new=true\")}\n >\n <ButtonIcon icon={<AddIcon />} /> {t`New Group`}\n </ButtonSecondary>\n }\n data={groupList}\n loading={listLoading || deleteLoading}\n search={\n <SearchUI value={filter} onChange={setFilter} inputPlaceholder={t`Search Groups`} />\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/groups?id=${item.id}`)\n }\n >\n {item.name}\n <ListItemTextSecondary>{item.description}</ListItemTextSecondary>\n </ListItemText>\n\n <ListItemMeta>\n <ListActions>\n {!item.system ? (\n <DeleteIcon\n onClick={() => deleteItem(item)}\n data-testid={\"default-data-list.delete\"}\n />\n ) : (\n <Tooltip\n placement={\"bottom\"}\n content={<span>{t`You can't delete this group.`}</span>}\n >\n <DeleteIcon disabled />\n </Tooltip>\n )}\n </ListActions>\n </ListItemMeta>\n </ListItem>\n ))}\n </ScrollList>\n )}\n </DataList>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAA8C;AAG9C,IAAMA,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,qCAAqC,CAAC;AAExD,IAAMC,OAAO,GAAG,CACZ;EACIC,KAAK,EAAEJ,CAAC,mGAAkB;EAC1BK,MAAM,EAAE;AACZ,CAAC,EACD;EACID,KAAK,EAAEJ,CAAC,qGAAkB;EAC1BK,MAAM,EAAE;AACZ,CAAC,EACD;EACID,KAAK,EAAEJ,CAAC,6FAAU;EAClBK,MAAM,EAAE;AACZ,CAAC,EACD;EACID,KAAK,EAAEJ,CAAC,6FAAU;EAClBK,MAAM,EAAE;AACZ,CAAC,CACJ;AAMM,IAAMC,cAA6C,GAAG,SAAhDA,cAA6C,GAAS;EAC/D,gBAA4B,IAAAC,eAAQ,EAAC,EAAE,CAAC;IAAA;IAAjCC,MAAM;IAAEC,SAAS;EACxB,iBAAwB,IAAAF,eAAQ,EAACJ,OAAO,CAAC,CAAC,CAAC,CAACE,MAAM,CAAC;IAAA;IAA5CK,IAAI;IAAEC,OAAO;EACpB,iBAA8B,IAAAC,sBAAS,GAAE;IAAjCC,OAAO,cAAPA,OAAO;IAAEC,QAAQ,cAARA,QAAQ;EACzB,mBAAyB,IAAAC,yBAAW,GAAE;IAA9BC,YAAY,gBAAZA,YAAY;EACpB,4BAA6B,IAAAC,4CAAqB,EAAC;MAC/CC,UAAU,EAAE;IAChB,CAAC,CAAC;IAFMC,gBAAgB,yBAAhBA,gBAAgB;EAIxB,gBAAqD,IAAAC,oBAAQ,EAACC,oBAAW,CAAC;IAA5DC,YAAY,aAAlBC,IAAI;IAAyBC,WAAW,aAApBC,OAAO;EAEnC,mBAA+C,IAAAC,uBAAW,EAACC,qBAAY,EAAE;MACrEC,cAAc,EAAE,CAAC;QAAEC,KAAK,EAAER;MAAY,CAAC;IAC3C,CAAC,CAAC;IAAA;IAFKS,QAAQ;IAAaC,aAAa,oBAAtBN,OAAO;EAI1B,IAAMF,IAAI,GAAGC,WAAW,IAAI,CAACF,YAAY,GAAG,EAAE,GAAGA,YAAY,CAACU,QAAQ,CAACC,MAAM,CAACV,IAAI;EAClF,IAAMW,EAAE,GAAG,IAAIC,eAAe,CAACrB,QAAQ,CAACsB,MAAM,CAAC,CAACC,GAAG,CAAC,IAAI,CAAC;EAEzD,IAAMC,WAAW,GAAG,IAAAC,kBAAW,EAC3B,gBAAiC;IAAA,IAA9BC,IAAI,QAAJA,IAAI;MAAEC,IAAI,QAAJA,IAAI;MAAEC,WAAW,QAAXA,WAAW;IACtB,OACIF,IAAI,CAACG,WAAW,EAAE,CAACC,QAAQ,CAACpC,MAAM,CAAC,IACnCiC,IAAI,CAACE,WAAW,EAAE,CAACC,QAAQ,CAACpC,MAAM,CAAC,IAClCkC,WAAW,IAAIA,WAAW,CAACC,WAAW,EAAE,CAACC,QAAQ,CAACpC,MAAM,CAAE;EAEnE,CAAC,EACD,CAACA,MAAM,CAAC,CACX;EAED,IAAMqC,UAAU,GAAG,IAAAN,kBAAW,EAC1B,UAAAN,MAAM,EAAI;IACN,IAAI,CAACvB,IAAI,EAAE;MACP,OAAOuB,MAAM;IACjB;IACA,0BAAsB,IAAAa,yBAAkB,EAACpC,IAAI,CAAC;MAAA;MAAvCqC,GAAG;MAAEC,MAAM;IAClB,OAAO,IAAAC,gBAAO,EAAChB,MAAM,EAAE,CAACc,GAAG,CAAC,EAAE,CAACC,MAAM,CAAC,CAAC;EAC3C,CAAC,EACD,CAACtC,IAAI,CAAC,CACT;EAED,IAAMwC,UAAU,GAAG,IAAAX,kBAAW,EAC1B,UAAAY,IAAI,EAAI;IACJhC,gBAAgB,sGAAC;MAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OACUW,QAAQ,CAAC;cAC5BsB,SAAS,EAAED;YACf,CAAC,CAAC;UAAA;YAAA;YAFM5B,IAAI,mBAAJA,IAAI;YAIJ8B,KAAK,GAAK9B,IAAI,CAACS,QAAQ,CAACsB,WAAW,CAAnCD,KAAK;YAAA,KACTA,KAAK;cAAA;cAAA;YAAA;YAAA,iCACErC,YAAY,CAACqC,KAAK,CAACE,OAAO,CAAC;UAAA;YAGtCvC,YAAY,CAAChB,CAAC,+GAA0B;cAAEyC,IAAI,EAAEU,IAAI,CAACV;YAAK,CAAC,CAAC,CAAC;YAE7D,IAAIP,EAAE,KAAKiB,IAAI,CAACjB,EAAE,EAAE;cAChBrB,OAAO,CAAC2C,IAAI,6BAA6B;YAC7C;UAAC;UAAA;YAAA;QAAA;MAAA;IAAA,CACJ,GAAC;EACN,CAAC,EACD,CAACtB,EAAE,CAAC,CACP;EAED,IAAMuB,0BAA0B,GAAG,IAAAC,cAAO,EACtC;IAAA,oBACI,6BAAC,0BAAoB,qBACjB,6BAAC,UAAI,qBACD,6BAAC,UAAI;MAAC,IAAI,EAAE;IAAG,gBACX,6BAAC,cAAM;MAAC,KAAK,EAAEhD,IAAK;MAAC,QAAQ,EAAEC,OAAQ;MAAC,KAAK,EAAEX,CAAC;IAAU,GACrDG,OAAO,CAACwD,GAAG,CAAC,iBAAuB;MAAA,IAApBvD,KAAK,SAALA,KAAK;QAAEC,MAAM,SAANA,MAAM;MACzB,oBACI;QAAQ,GAAG,EAAED,KAAM;QAAC,KAAK,EAAEC;MAAO,GAC7BD,KAAK,CACD;IAEjB,CAAC,CAAC,CACG,CACN,CACJ,CACY;EAAA,CAC1B,EACD,CAACM,IAAI,CAAC,CACT;EAED,IAAMkD,YAAY,GAAGpD,MAAM,KAAK,EAAE,GAAGe,IAAI,GAAGA,IAAI,CAACf,MAAM,CAAC8B,WAAW,CAAC;EACpE,IAAMuB,SAAS,GAAGhB,UAAU,CAACe,YAAY,CAAC;EAE1C,oBACI,6BAAC,cAAQ;IACL,KAAK,EAAE5D,CAAC,2FAAS;IACjB,OAAO,eACH,6BAAC,uBAAe;MACZ,eAAY,mBAAmB;MAC/B,OAAO,EAAE;QAAA,OAAMa,OAAO,CAAC2C,IAAI,CAAC,oCAAoC,CAAC;MAAA;IAAC,gBAElE,6BAAC,kBAAU;MAAC,IAAI,eAAE,6BAAC,uBAAO;IAAI,EAAG,KAAC,EAACxD,CAAC,+FAE3C;IACD,IAAI,EAAE6D,SAAU;IAChB,OAAO,EAAErC,WAAW,IAAIO,aAAc;IACtC,MAAM,eACF,6BAAC,iBAAQ;MAAC,KAAK,EAAEvB,MAAO;MAAC,QAAQ,EAAEC,SAAU;MAAC,gBAAgB,EAAET,CAAC;IAAgB,EACpF;IACD,YAAY,EAAEyD,0BAA2B;IACzC,kBAAkB,eACd,6BAAC,gCAA0B;MACvB,IAAI,eAAE,6BAAC,0BAAU,OAAI;MACrB,eAAa;IAA2B;EAE/C,GAEA;IAAA,IAAGlC,IAAI,SAAJA,IAAI;IAAA,oBACJ,6BAAC,gBAAU;MAAC,eAAY;IAAmB,GACtCA,IAAI,CAACoC,GAAG,CAAC,UAAAR,IAAI;MAAA,oBACV,6BAAC,cAAQ;QAAC,GAAG,EAAEA,IAAI,CAACjB,EAAG;QAAC,QAAQ,EAAEiB,IAAI,CAACjB,EAAE,KAAKA;MAAG,gBAC7C,6BAAC,kBAAY;QACT,OAAO,EAAE;UAAA,OACLrB,OAAO,CAAC2C,IAAI,wCAAiCL,IAAI,CAACjB,EAAE,EAAG;QAAA;MAC1D,GAEAiB,IAAI,CAACX,IAAI,eACV,6BAAC,2BAAqB,QAAEW,IAAI,CAACT,WAAW,CAAyB,CACtD,eAEf,6BAAC,kBAAY,qBACT,6BAAC,iBAAW,QACP,CAACS,IAAI,CAACW,MAAM,gBACT,6BAAC,iBAAU;QACP,OAAO,EAAE;UAAA,OAAMZ,UAAU,CAACC,IAAI,CAAC;QAAA,CAAC;QAChC,eAAa;MAA2B,EAC1C,gBAEF,6BAAC,gBAAO;QACJ,SAAS,EAAE,QAAS;QACpB,OAAO,eAAE,2CAAOnD,CAAC;MAAuC,gBAExD,6BAAC,iBAAU;QAAC,QAAQ;MAAA,EAAG,CAE9B,CACS,CACH,CACR;IAAA,CACd,CAAC,CACO;EAAA,CAChB,CACM;AAEnB,CAAC;AAAC"}
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","t","i18n","ns","SORTERS","label","_taggedTemplateLiteral2","default","sorter","GroupsDataList","_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","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","_yield$deleteIt","error","wrap","_callee$","_context","prev","next","variables","sent","deleteGroup","abrupt","message","push","stop","groupsDataListModalOverlay","useMemo","createElement","DataListModalOverlay","Grid","Cell","span","Select","value","onChange","map","_ref3","filteredData","groupList","DataList","title","actions","ButtonSecondary","onClick","ButtonIcon","icon","ReactComponent","inputPlaceholder","modalOverlay","modalOverlayAction","DataListModalOverlayAction","_ref4","ScrollList","ListItem","selected","ListItemText","concat","ListItemTextSecondary","ListItemMeta","ListActions","system","DeleteIcon","Tooltip","placement","content","disabled","exports"],"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 } 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}\nexport const GroupsDataList: React.FC<GroupsDataListProps> = () => {\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(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 }) => {\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 => {\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 => {\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 ? (\n <DeleteIcon\n onClick={() => deleteItem(item)}\n data-testid={\"default-data-list.delete\"}\n />\n ) : (\n <Tooltip\n placement={\"bottom\"}\n content={<span>{t`You can't delete this group.`}</span>}\n >\n <DeleteIcon disabled />\n </Tooltip>\n )}\n </ListActions>\n </ListItemMeta>\n </ListItem>\n ))}\n </ScrollList>\n )}\n </DataList>\n );\n};\n"],"mappings":"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"}
@@ -33,15 +33,19 @@ var _Snackbar = require("@webiny/ui/Snackbar");
33
33
  var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
34
34
  var _EmptyView = _interopRequireDefault(require("@webiny/app-admin/components/EmptyView"));
35
35
  var _add18px = require("@webiny/app-admin/assets/icons/add-18px.svg");
36
+ var _Tooltip = require("@webiny/ui/Tooltip");
37
+ var _content_copy = require("@material-design-icons/svg/outlined/content_copy.svg");
38
+ var _featureFlags = require("@webiny/feature-flags");
36
39
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
37
- var t = _i18n.i18n.ns("app-security/admin/groups/form");
40
+ var t = _i18n.i18n.ns("app-security/admin/roles/form");
38
41
  var ButtonWrapper = /*#__PURE__*/(0, _styled.default)("div", {
39
- target: "euuiyav0",
40
- label: "ButtonWrapper"
41
- })({
42
- display: "flex",
43
- justifyContent: "space-between"
44
- });
42
+ label: "ButtonWrapper",
43
+ target: "euuiyav0"
44
+ })("display:flex;justify-content:space-between;");
45
+ var PermissionsTitleCell = /*#__PURE__*/(0, _styled.default)(_Grid.Cell, {
46
+ label: "PermissionsTitleCell",
47
+ target: "euuiyav1"
48
+ })("display:flex;align-items:center;");
45
49
  var GroupsForm = function GroupsForm() {
46
50
  var _useRouter = (0, _reactRouter.useRouter)(),
47
51
  location = _useRouter.location,
@@ -61,7 +65,7 @@ var GroupsForm = function GroupsForm() {
61
65
  }
62
66
  var error = data.security.group.error;
63
67
  if (error) {
64
- history.push("/access-management/groups");
68
+ history.push("/access-management/roles");
65
69
  showSnackbar(error.message);
66
70
  }
67
71
  }
@@ -126,8 +130,8 @@ var GroupsForm = function GroupsForm() {
126
130
  }
127
131
  return _context.abrupt("return", showSnackbar(error.message));
128
132
  case 11:
129
- !isUpdate && history.push("/access-management/groups?id=".concat(group.id));
130
- showSnackbar(t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["Group saved successfully!"]))));
133
+ !isUpdate && history.push("/access-management/roles?id=".concat(group.id));
134
+ showSnackbar(t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["Role saved successfully!"]))));
131
135
  case 13:
132
136
  case "end":
133
137
  return _context.stop();
@@ -144,15 +148,15 @@ var GroupsForm = function GroupsForm() {
144
148
  // Render "No content" selected view.
145
149
  if (showEmptyView) {
146
150
  return /*#__PURE__*/_react.default.createElement(_EmptyView.default, {
147
- title: t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Click on the left side list to display group details or create a..."]))),
151
+ title: t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Click on the left side list to display role details or create a..."]))),
148
152
  action: /*#__PURE__*/_react.default.createElement(_Button.ButtonDefault, {
149
153
  "data-testid": "new-record-button",
150
154
  onClick: function onClick() {
151
- return history.push("/access-management/groups?new=true");
155
+ return history.push("/access-management/roles?new=true");
152
156
  }
153
157
  }, /*#__PURE__*/_react.default.createElement(_Button.ButtonIcon, {
154
158
  icon: /*#__PURE__*/_react.default.createElement(_add18px.ReactComponent, null)
155
- }), t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["New Group"]))))
159
+ }), t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["New Role"]))))
156
160
  });
157
161
  }
158
162
  return /*#__PURE__*/_react.default.createElement(_form.Form, {
@@ -197,11 +201,20 @@ var GroupsForm = function GroupsForm() {
197
201
  }, /*#__PURE__*/_react.default.createElement(_Alert.Alert, {
198
202
  type: "info",
199
203
  title: "Permissions are locked"
200
- }, "This is a protected system group and you can't modify its permissions."))), !systemGroup && /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
204
+ }, "This is a protected system role and you can't modify its permissions."))), !systemGroup && /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(PermissionsTitleCell, {
201
205
  span: 12
202
206
  }, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
203
207
  use: "subtitle1"
204
- }, t(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["Permissions"]))))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
208
+ }, t(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["Permissions"])))), _featureFlags.featureFlags.copyPermissionsButton && /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
209
+ content: "Copy as JSON",
210
+ placement: "top"
211
+ }, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
212
+ icon: /*#__PURE__*/_react.default.createElement(_content_copy.ReactComponent, null),
213
+ onClick: function onClick() {
214
+ navigator.clipboard.writeText(JSON.stringify(data.permissions, null, 2));
215
+ showSnackbar("JSON data copied to clipboard.");
216
+ }
217
+ }))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
205
218
  span: 12
206
219
  }, /*#__PURE__*/_react.default.createElement(Bind, {
207
220
  name: "permissions",
@@ -212,14 +225,14 @@ var GroupsForm = function GroupsForm() {
212
225
  }, bind));
213
226
  })))), systemGroup ? null : /*#__PURE__*/_react.default.createElement(_SimpleForm.SimpleFormFooter, null, /*#__PURE__*/_react.default.createElement(ButtonWrapper, null, /*#__PURE__*/_react.default.createElement(_Button.ButtonDefault, {
214
227
  onClick: function onClick() {
215
- return history.push("/access-management/groups");
228
+ return history.push("/access-management/roles");
216
229
  }
217
230
  }, t(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["Cancel"])))), /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
218
231
  "data-testid": "admin.am.group.new.save",
219
232
  onClick: function onClick(ev) {
220
233
  form.submit(ev);
221
234
  }
222
- }, t(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["Save group"])))))));
235
+ }, t(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["Save role"])))))));
223
236
  });
224
237
  };
225
238
  exports.GroupsForm = GroupsForm;
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","ButtonWrapper","styled","display","justifyContent","GroupsForm","useRouter","location","history","useSnackbar","showSnackbar","newGroup","URLSearchParams","search","get","id","getQuery","useQuery","READ_GROUP","variables","skip","onCompleted","data","error","security","group","push","message","useMutation","CREATE_GROUP","refetchQueries","query","LIST_GROUPS","create","createMutation","UPDATE_GROUP","update","updateMutation","loading","find","item","onSubmit","useCallback","permissions","length","timeout","dismissesOnAction","action","isUpdate","createdOn","pick","operation","args","response","systemGroup","slug","showEmptyView","isEmpty","form","Bind","name","validation","Boolean","bind","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 } 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\";\n\nconst t = i18n.ns(\"app-security/admin/groups/form\");\n\nconst ButtonWrapper = styled(\"div\")({\n display: \"flex\",\n justifyContent: \"space-between\"\n});\n\nexport interface GroupsFormProps {\n // TODO @ts-refactor delete and go up the tree and sort it out\n [key: string]: any;\n}\nexport const GroupsForm: React.FC<GroupsFormProps> = () => {\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/groups\");\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 data => {\n if (!data.permissions || !data.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 = data.createdOn;\n const [operation, args] = isUpdate\n ? [\n update,\n {\n variables: {\n id: data.id,\n data: pick(data, [\"name\", \"description\", \"permissions\"])\n }\n }\n ]\n : [\n create,\n {\n variables: {\n data: pick(data, [\"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/groups?id=${group.id}`);\n showSnackbar(t`Group saved successfully!`);\n },\n [id]\n );\n\n const data = loading ? {} : get(getQuery, \"data.security.group.data\", {});\n\n const systemGroup = data.slug === \"full-access\";\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 group details or create a...`}\n action={\n <ButtonDefault\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/access-management/groups?new=true\")}\n >\n <ButtonIcon icon={<AddIcon />} />\n {t`New Group`}\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={6}>\n <Bind\n name=\"name\"\n validators={validation.create(\"required,minLength:3\")}\n >\n <Input\n label={t`Name`}\n disabled={systemGroup}\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={Boolean(data.id)}\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={systemGroup}\n data-testid=\"admin.am.group.new.description\"\n />\n </Bind>\n </Cell>\n </Grid>\n {systemGroup && (\n <Grid>\n <Cell span={12}>\n <Alert type={\"info\"} title={\"Permissions are locked\"}>\n This is a protected system group and you can&apos;t\n modify its permissions.\n </Alert>\n </Cell>\n </Grid>\n )}\n {!systemGroup && (\n <Grid>\n <Cell span={12}>\n <Typography use={\"subtitle1\"}>{t`Permissions`}</Typography>\n </Cell>\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 {systemGroup ? null : (\n <SimpleFormFooter>\n <ButtonWrapper>\n <ButtonDefault\n onClick={() => history.push(\"/access-management/groups\")}\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 group`}</ButtonPrimary>\n </ButtonWrapper>\n </SimpleFormFooter>\n )}\n </SimpleForm>\n );\n }}\n </Form>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_styled","_interopRequireDefault","_pick","_get","_reactRouter","_i18n","_form","_Grid","_Input","_Alert","_Button","_Progress","_validation","_SimpleForm","_Typography","_Permissions","_useSnackbar2","_graphql","_Snackbar","_isEmpty","_EmptyView","_add18px","_Tooltip","_content_copy","_featureFlags","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","t","i18n","ns","ButtonWrapper","styled","label","target","PermissionsTitleCell","Cell","GroupsForm","_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","default","create","createMutation","_useMutation3","UPDATE_GROUP","_useMutation4","update","updateMutation","loading","find","item","onSubmit","useCallback","_ref","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","isUpdate","_ref2","_ref3","operation","args","response","_response$data$securi","wrap","_callee$","_context","prev","next","permissions","length","_taggedTemplateLiteral2","timeout","dismissesOnAction","action","createElement","SnackbarAction","abrupt","createdOn","pick","sent","concat","stop","_x","apply","arguments","systemGroup","slug","showEmptyView","isEmpty","title","ButtonDefault","onClick","ButtonIcon","icon","ReactComponent","Form","_ref4","form","Bind","SimpleForm","CircularProgress","SimpleFormHeader","name","SimpleFormContent","Grid","span","validators","validation","Input","disabled","Boolean","rows","Alert","type","Typography","use","featureFlags","copyPermissionsButton","Tooltip","content","placement","IconButton","navigator","clipboard","writeText","JSON","stringify","defaultValue","bind","Permissions","Object","assign","SimpleFormFooter","ButtonPrimary","ev","submit","exports"],"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 { featureFlags } from \"@webiny/feature-flags\";\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: React.FC<GroupsFormProps> = () => {\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 data => {\n if (!data.permissions || !data.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 = data.createdOn;\n const [operation, args] = isUpdate\n ? [\n update,\n {\n variables: {\n id: data.id,\n data: pick(data, [\"name\", \"description\", \"permissions\"])\n }\n }\n ]\n : [\n create,\n {\n variables: {\n data: pick(data, [\"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 = loading ? {} : get(getQuery, \"data.security.group.data\", {});\n\n const systemGroup = data.slug === \"full-access\";\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 <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={systemGroup}\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={Boolean(data.id)}\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={systemGroup}\n data-testid=\"admin.am.group.new.description\"\n />\n </Bind>\n </Cell>\n </Grid>\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 {!systemGroup && (\n <Grid>\n <PermissionsTitleCell span={12}>\n <Typography use={\"subtitle1\"}>{t`Permissions`}</Typography>\n {featureFlags.copyPermissionsButton && (\n <Tooltip content=\"Copy as JSON\" placement={\"top\"}>\n <IconButton\n icon={<CopyIcon />}\n onClick={() => {\n navigator.clipboard.writeText(\n JSON.stringify(\n data.permissions,\n null,\n 2\n )\n );\n showSnackbar(\n \"JSON data copied to clipboard.\"\n );\n }}\n />\n </Tooltip>\n )}\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 {systemGroup ? null : (\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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"}
@@ -17,5 +17,5 @@ var CREATE_GROUP = (0, _graphqlTag.default)(_templateObject3 || (_templateObject
17
17
  exports.CREATE_GROUP = CREATE_GROUP;
18
18
  var UPDATE_GROUP = (0, _graphqlTag.default)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n mutation updateGroup($id: ID!, $data: SecurityGroupUpdateInput!){\n security {\n group: updateGroup(id: $id, data: $data) {\n data {\n ", "\n }\n error {\n code\n message\n data\n }\n }\n }\n }\n"])), fields);
19
19
  exports.UPDATE_GROUP = UPDATE_GROUP;
20
- var DELETE_GROUP = (0, _graphqlTag.default)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n mutation deleteGroup($id: ID!) {\n security {\n deleteGroup(id: $id) {\n data\n error {\n code\n message\n }\n }\n }\n }\n"])));
20
+ var DELETE_GROUP = (0, _graphqlTag.default)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n mutation deleteGroup($id: ID!) {\n security {\n deleteGroup(id: $id) {\n data\n error {\n code\n message\n data\n }\n }\n }\n }\n"])));
21
21
  exports.DELETE_GROUP = DELETE_GROUP;
@@ -1 +1 @@
1
- {"version":3,"names":["fields","LIST_GROUPS","gql","READ_GROUP","CREATE_GROUP","UPDATE_GROUP","DELETE_GROUP"],"sources":["graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\n\nconst fields = `\n id\n name\n slug\n description\n permissions\n system\n createdOn\n`;\n\nexport const LIST_GROUPS = gql`\n query listGroups {\n security {\n groups: listGroups {\n data {\n ${fields}\n }\n }\n }\n }\n`;\n\nexport const READ_GROUP = gql`\n query getGroup($id: ID!) {\n security {\n group: getGroup(where: { id: $id }){\n data {\n ${fields}\n }\n error {\n code\n message\n }\n }\n }\n }\n`;\n\nexport const CREATE_GROUP = gql`\n mutation createGroup($data: SecurityGroupCreateInput!){\n security {\n group: createGroup(data: $data) {\n data {\n ${fields}\n }\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n\nexport const UPDATE_GROUP = gql`\n mutation updateGroup($id: ID!, $data: SecurityGroupUpdateInput!){\n security {\n group: updateGroup(id: $id, data: $data) {\n data {\n ${fields}\n }\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n\nexport const DELETE_GROUP = gql`\n mutation deleteGroup($id: ID!) {\n security {\n deleteGroup(id: $id) {\n data\n error {\n code\n message\n }\n }\n }\n }\n`;\n"],"mappings":";;;;;;;;AAAA;AAA8B;AAE9B,IAAMA,MAAM,gGAQX;AAEM,IAAMC,WAAW,OAAGC,mBAAG,2QAKRF,MAAM,CAK3B;AAAC;AAEK,IAAMG,UAAU,OAAGD,mBAAG,wYAKPF,MAAM,CAS3B;AAAC;AAEK,IAAMI,YAAY,OAAGF,mBAAG,4bAKTF,MAAM,CAU3B;AAAC;AAEK,IAAMK,YAAY,OAAGH,mBAAG,+cAKTF,MAAM,CAU3B;AAAC;AAEK,IAAMM,YAAY,OAAGJ,mBAAG,gVAY9B;AAAC"}
1
+ {"version":3,"names":["_graphqlTag","_interopRequireDefault","require","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","fields","LIST_GROUPS","gql","_taggedTemplateLiteral2","default","exports","READ_GROUP","CREATE_GROUP","UPDATE_GROUP","DELETE_GROUP"],"sources":["graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\n\nconst fields = `\n id\n name\n slug\n description\n permissions\n system\n createdOn\n`;\n\nexport const LIST_GROUPS = gql`\n query listGroups {\n security {\n groups: listGroups {\n data {\n ${fields}\n }\n }\n }\n }\n`;\n\nexport const READ_GROUP = gql`\n query getGroup($id: ID!) {\n security {\n group: getGroup(where: { id: $id }){\n data {\n ${fields}\n }\n error {\n code\n message\n }\n }\n }\n }\n`;\n\nexport const CREATE_GROUP = gql`\n mutation createGroup($data: SecurityGroupCreateInput!){\n security {\n group: createGroup(data: $data) {\n data {\n ${fields}\n }\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n\nexport const UPDATE_GROUP = gql`\n mutation updateGroup($id: ID!, $data: SecurityGroupUpdateInput!){\n security {\n group: updateGroup(id: $id, data: $data) {\n data {\n ${fields}\n }\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n\nexport const DELETE_GROUP = gql`\n mutation deleteGroup($id: ID!) {\n security {\n deleteGroup(id: $id) {\n data\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n"],"mappings":";;;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8B,IAAAC,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA;AAE9B,IAAMC,MAAM,gGAQX;AAEM,IAAMC,WAAW,OAAGC,mBAAG,EAAAP,eAAA,KAAAA,eAAA,OAAAQ,uBAAA,CAAAC,OAAA,gMAKRJ,MAAM,CAK3B;AAACK,OAAA,CAAAJ,WAAA,GAAAA,WAAA;AAEK,IAAMK,UAAU,OAAGJ,mBAAG,EAAAN,gBAAA,KAAAA,gBAAA,OAAAO,uBAAA,CAAAC,OAAA,2TAKPJ,MAAM,CAS3B;AAACK,OAAA,CAAAC,UAAA,GAAAA,UAAA;AAEK,IAAMC,YAAY,OAAGL,mBAAG,EAAAL,gBAAA,KAAAA,gBAAA,OAAAM,uBAAA,CAAAC,OAAA,+WAKTJ,MAAM,CAU3B;AAACK,OAAA,CAAAE,YAAA,GAAAA,YAAA;AAEK,IAAMC,YAAY,OAAGN,mBAAG,EAAAJ,gBAAA,KAAAA,gBAAA,OAAAK,uBAAA,CAAAC,OAAA,kYAKTJ,MAAM,CAU3B;AAACK,OAAA,CAAAG,YAAA,GAAAA,YAAA;AAEK,IAAMC,YAAY,OAAGP,mBAAG,EAAAH,gBAAA,KAAAA,gBAAA,OAAAI,uBAAA,CAAAC,OAAA,6RAa9B;AAACC,OAAA,CAAAI,YAAA,GAAAA,YAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./Groups\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_Groups","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export * from \"./Groups\";\n"],"mappings":";;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { TeamsDataListProps } from "./TeamsDataList";
3
+ import { TeamsFormProps } from "./TeamsForm";
4
+ export interface TeamsProps {
5
+ listProps?: TeamsDataListProps;
6
+ formProps?: TeamsFormProps;
7
+ }
8
+ export declare const Teams: React.FC<TeamsProps>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Teams = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _SplitView = require("@webiny/app-admin/components/SplitView");
10
+ var _TeamsDataList = require("./TeamsDataList");
11
+ var _TeamsForm = require("./TeamsForm");
12
+ var Teams = function Teams(_ref) {
13
+ var _ref$formProps = _ref.formProps,
14
+ formProps = _ref$formProps === void 0 ? {} : _ref$formProps,
15
+ _ref$listProps = _ref.listProps,
16
+ listProps = _ref$listProps === void 0 ? {} : _ref$listProps;
17
+ return /*#__PURE__*/_react.default.createElement(_SplitView.SplitView, null, /*#__PURE__*/_react.default.createElement(_SplitView.LeftPanel, null, /*#__PURE__*/_react.default.createElement(_TeamsDataList.TeamsDataList, listProps)), /*#__PURE__*/_react.default.createElement(_SplitView.RightPanel, null, /*#__PURE__*/_react.default.createElement(_TeamsForm.TeamsForm, formProps)));
18
+ };
19
+ exports.Teams = Teams;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_SplitView","_TeamsDataList","_TeamsForm","Teams","_ref","_ref$formProps","formProps","_ref$listProps","listProps","default","createElement","SplitView","LeftPanel","TeamsDataList","RightPanel","TeamsForm","exports"],"sources":["Teams.tsx"],"sourcesContent":["import React from \"react\";\nimport { SplitView, LeftPanel, RightPanel } from \"@webiny/app-admin/components/SplitView\";\nimport { TeamsDataList, TeamsDataListProps } from \"./TeamsDataList\";\nimport { TeamsForm, TeamsFormProps } from \"./TeamsForm\";\n\nexport interface TeamsProps {\n listProps?: TeamsDataListProps;\n formProps?: TeamsFormProps;\n}\nexport const Teams: React.FC<TeamsProps> = ({ formProps = {}, listProps = {} }) => {\n return (\n <SplitView>\n <LeftPanel>\n <TeamsDataList {...listProps} />\n </LeftPanel>\n <RightPanel>\n <TeamsForm {...formProps} />\n </RightPanel>\n </SplitView>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAMO,IAAMI,KAA2B,GAAG,SAA9BA,KAA2BA,CAAAC,IAAA,EAA2C;EAAA,IAAAC,cAAA,GAAAD,IAAA,CAArCE,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,CAAC,CAAC,GAAAA,cAAA;IAAAE,cAAA,GAAAH,IAAA,CAAEI,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,CAAC,CAAC,GAAAA,cAAA;EACxE,oBACIV,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACV,UAAA,CAAAW,SAAS,qBACNd,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACV,UAAA,CAAAY,SAAS,qBACNf,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACT,cAAA,CAAAY,aAAa,EAAKL,SAAY,CACxB,CAAC,eACZX,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACV,UAAA,CAAAc,UAAU,qBACPjB,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACR,UAAA,CAAAa,SAAS,EAAKT,SAAY,CACnB,CACL,CAAC;AAEpB,CAAC;AAACU,OAAA,CAAAb,KAAA,GAAAA,KAAA"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ export interface TeamsDataListProps {
3
+ [key: string]: any;
4
+ }
5
+ export declare const TeamsDataList: React.FC<TeamsDataListProps>;