@webiny/app-aco 5.43.0-beta.1 → 5.43.0-beta.3
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/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js +39 -25
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -1
- package/dialogs/useSetPermissionsDialog.js +1 -1
- package/dialogs/useSetPermissionsDialog.js.map +1 -1
- package/package.json +16 -16
- package/types.d.ts +1 -1
- package/types.js.map +1 -1
|
@@ -18,6 +18,10 @@ var _appSecurity = require("@webiny/app-security");
|
|
|
18
18
|
var _Tooltip = require("@webiny/ui/Tooltip");
|
|
19
19
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
20
20
|
var TARGET_LEVELS = [{
|
|
21
|
+
id: "no-access",
|
|
22
|
+
label: "No Access",
|
|
23
|
+
description: "Cannot view or modify content"
|
|
24
|
+
}, {
|
|
21
25
|
id: "viewer",
|
|
22
26
|
label: "Viewer",
|
|
23
27
|
description: "Can view content, but not modify it"
|
|
@@ -38,7 +42,7 @@ var StyledHandle = /*#__PURE__*/(0, _base.default)("div", process.env.NODE_ENV =
|
|
|
38
42
|
})("display:flex;color:var(--mdc-theme-text-primary-on-background);cursor:pointer;padding:20px 0 20px 20px;", function (_ref) {
|
|
39
43
|
var disabled = _ref.disabled;
|
|
40
44
|
return disabled && "opacity: 0.5; pointer-events: none;";
|
|
41
|
-
}, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
45
|
+
}, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxpc3RJdGVtTWV0YS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0NzRCIsImZpbGUiOiJMaXN0SXRlbU1ldGEudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IExpc3RBY3Rpb25zLCBMaXN0SXRlbU1ldGEgYXMgVWlMaXN0SXRlbU1ldGEgfSBmcm9tIFwiQHdlYmlueS91aS9MaXN0XCI7XG5pbXBvcnQgeyBNZW51LCBNZW51RGl2aWRlciwgTWVudUl0ZW0gfSBmcm9tIFwiQHdlYmlueS91aS9NZW51XCI7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBNb3JlIH0gZnJvbSBcIkBtYXRlcmlhbC1kZXNpZ24taWNvbnMvc3ZnL291dGxpbmVkL2Fycm93X2Ryb3BfZG93bi5zdmdcIjtcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIENoZWNrIH0gZnJvbSBcIkBtYXRlcmlhbC1kZXNpZ24taWNvbnMvc3ZnL291dGxpbmVkL2NoZWNrLnN2Z1wiO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gXCJAd2ViaW55L3VpL1R5cG9ncmFwaHlcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdXNlU2VjdXJpdHkgfSBmcm9tIFwiQHdlYmlueS9hcHAtc2VjdXJpdHlcIjtcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tIFwiQHdlYmlueS91aS9Ub29sdGlwXCI7XG5pbXBvcnQgeyBGb2xkZXJBY2Nlc3NMZXZlbCwgRm9sZGVyTGV2ZWxQZXJtaXNzaW9uc1RhcmdldCwgRm9sZGVyUGVybWlzc2lvbiB9IGZyb20gXCJ+L3R5cGVzXCI7XG5cbmNvbnN0IFRBUkdFVF9MRVZFTFMgPSBbXG4gICAge1xuICAgICAgICBpZDogXCJuby1hY2Nlc3NcIixcbiAgICAgICAgbGFiZWw6IFwiTm8gQWNjZXNzXCIsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIkNhbm5vdCB2aWV3IG9yIG1vZGlmeSBjb250ZW50XCJcbiAgICB9LFxuICAgIHtcbiAgICAgICAgaWQ6IFwidmlld2VyXCIsXG4gICAgICAgIGxhYmVsOiBcIlZpZXdlclwiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJDYW4gdmlldyBjb250ZW50LCBidXQgbm90IG1vZGlmeSBpdFwiXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGlkOiBcImVkaXRvclwiLFxuICAgICAgICBsYWJlbDogXCJFZGl0b3JcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiQ2FuIHZpZXcgYW5kIG1vZGlmeSBjb250ZW50XCJcbiAgICB9LFxuICAgIHtcbiAgICAgICAgaWQ6IFwib3duZXJcIixcbiAgICAgICAgbGFiZWw6IFwiT3duZXJcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiQ2FuIGVkaXQgYW5kIG1hbmFnZSBjb250ZW50IHBlcm1pc3Npb25zXCJcbiAgICB9XG5dO1xuXG5jb25zdCBTdHlsZWRIYW5kbGUgPSBzdHlsZWQuZGl2PHsgZGlzYWJsZWQ6IGJvb2xlYW4gfT5gXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogMjBweCAwIDIwcHggMjBweDtcbiAgICAkeyh7IGRpc2FibGVkIH0pID0+IGRpc2FibGVkICYmIGBvcGFjaXR5OiAwLjU7IHBvaW50ZXItZXZlbnRzOiBub25lO2B9XG5gO1xuXG5jb25zdCBTdHlsZWRNZW51SXRlbSA9IHN0eWxlZChNZW51SXRlbSlgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG5cbiAgICBkaXYuc2VsZWN0ZWQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRpdi5pbmZvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuYDtcblxuaW50ZXJmYWNlIExpc3RJdGVtTWV0YVByb3BzIHtcbiAgICBwZXJtaXNzaW9uOiBGb2xkZXJQZXJtaXNzaW9uO1xuICAgIHRhcmdldDogRm9sZGVyTGV2ZWxQZXJtaXNzaW9uc1RhcmdldDtcbiAgICB0YXJnZXRzTGlzdDogRm9sZGVyTGV2ZWxQZXJtaXNzaW9uc1RhcmdldFtdO1xuICAgIG9uUmVtb3ZlQWNjZXNzOiAocGFyYW1zOiB7IHBlcm1pc3Npb246IEZvbGRlclBlcm1pc3Npb24gfSkgPT4gdm9pZDtcbiAgICBvblVwZGF0ZVBlcm1pc3Npb246IChwYXJhbXM6IHsgcGVybWlzc2lvbjogRm9sZGVyUGVybWlzc2lvbiB9KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgTGlzdEl0ZW1NZXRhID0gKHtcbiAgICBwZXJtaXNzaW9uLFxuICAgIHRhcmdldCxcbiAgICB0YXJnZXRzTGlzdCxcbiAgICBvblJlbW92ZUFjY2VzcyxcbiAgICBvblVwZGF0ZVBlcm1pc3Npb25cbn06IExpc3RJdGVtTWV0YVByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBpZGVudGl0eSB9ID0gdXNlU2VjdXJpdHkoKTtcblxuICAgIGNvbnN0IGN1cnJlbnRMZXZlbCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICByZXR1cm4gVEFSR0VUX0xFVkVMUy5maW5kKGxldmVsID0+IGxldmVsLmlkID09PSBwZXJtaXNzaW9uLmxldmVsKSE7XG4gICAgfSwgW3Blcm1pc3Npb24ubGV2ZWxdKTtcblxuICAgIGNvbnN0IHsgaXNEaXNhYmxlZCwgdG9vbHRpcE1lc3NhZ2UgfSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBsZXQgbWVzc2FnZSA9IG51bGw7XG4gICAgICAgIGxldCBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChwZXJtaXNzaW9uLmluaGVyaXRlZEZyb20/LnN0YXJ0c1dpdGgoXCJwYXJlbnQ6XCIpKSB7XG4gICAgICAgICAgICBtZXNzYWdlID0gXCJJbmhlcml0ZWQgZnJvbSBwYXJlbnQgZm9sZGVyLlwiO1xuICAgICAgICAgICAgZGlzYWJsZWQgPSBmYWxzZTsgLy8gU3RpbGwgYWxsb3cgaW50ZXJhY3Rpb24sIGp1c3QgaW5mb3JtIHVzZXJcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpZGVudGl0eSEuaWQgPT09IHRhcmdldC5pZCkge1xuICAgICAgICAgICAgbWVzc2FnZSA9IFwiWW91IGNhbid0IGNoYW5nZSB5b3VyIG93biBwZXJtaXNzaW9ucy5cIjtcbiAgICAgICAgICAgIGlmIChwZXJtaXNzaW9uLmluaGVyaXRlZEZyb20/LnN0YXJ0c1dpdGgoXCJ0ZWFtOlwiKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRlYW0gPSB0YXJnZXRzTGlzdC5maW5kKHQgPT4gdC50YXJnZXQgPT09IHBlcm1pc3Npb24uaW5oZXJpdGVkRnJvbSk7XG4gICAgICAgICAgICAgICAgbWVzc2FnZSArPSBcIiBBY2Nlc3MgdG8gdGhpcyBmb2xkZXIgaXMgbWFuYWdlZCBieSBhIHRlYW1cIjtcbiAgICAgICAgICAgICAgICBpZiAodGVhbSkge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlICs9IGAgKCR7dGVhbS5uYW1lfSlgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtZXNzYWdlICs9IFwiLlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHsgaXNEaXNhYmxlZDogZGlzYWJsZWQsIHRvb2x0aXBNZXNzYWdlOiBtZXNzYWdlIH07XG4gICAgfSwgW3Blcm1pc3Npb24sIGlkZW50aXR5LCB0YXJnZXQsIHRhcmdldHNMaXN0XSk7XG5cbiAgICBjb25zdCBoYW5kbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgbGV0IGhhbmRsZSA9IChcbiAgICAgICAgICAgIDxTdHlsZWRIYW5kbGUgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9PlxuICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5IHVzZT1cImJvZHkxXCI+e2N1cnJlbnRMZXZlbC5sYWJlbH08L1R5cG9ncmFwaHk+XG4gICAgICAgICAgICAgICAgPE1vcmUgLz5cbiAgICAgICAgICAgIDwvU3R5bGVkSGFuZGxlPlxuICAgICAgICApO1xuXG4gICAgICAgIGlmICh0b29sdGlwTWVzc2FnZSkge1xuICAgICAgICAgICAgaGFuZGxlID0gPFRvb2x0aXAgY29udGVudD17dG9vbHRpcE1lc3NhZ2V9PntoYW5kbGV9PC9Ub29sdGlwPjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBoYW5kbGU7XG4gICAgfSwgW3Rvb2x0aXBNZXNzYWdlLCBpc0Rpc2FibGVkLCBjdXJyZW50TGV2ZWwubGFiZWxdKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxVaUxpc3RJdGVtTWV0YT5cbiAgICAgICAgICAgIDxMaXN0QWN0aW9ucz5cbiAgICAgICAgICAgICAgICA8TWVudVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2hhbmRsZX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIC8vIFNob3VsZCBwcmV2ZW50IGZpcnN0IGl0ZW0gZnJvbSBiZWluZyBhdXRvZm9jdXNlZCwgYnV0IGl0IGRvZXNuJ3QuIPCfpLfigI1cbiAgICAgICAgICAgICAgICAgICAgZm9jdXNPbk9wZW49e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHRoZSB6LWluZGV4IHZhbHVlIGlzIHNldCBpbiBgcGFja2FnZXMvYXBwLWFkbWluL3NyYy9jb21wb25lbnRzL0RpYWxvZ3Mvc3R5bGVkLnRzeGBcbiAgICAgICAgICAgICAgICAgICAgcG9ydGFsWkluZGV4PXsxMDF9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7VEFSR0VUX0xFVkVMUy5tYXAobGV2ZWwgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZE1lbnVJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtsZXZlbC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5lZWRlZCB0byBkbyB0aGlzIHdpdGggYSBzaG9ydCBkZWxheSBiZWNhdXNlIG9mIGEgdmlzdWFsIGdsaXRjaC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblVwZGF0ZVBlcm1pc3Npb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucGVybWlzc2lvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5oZXJpdGVkRnJvbTogdW5kZWZpbmVkLCAvLyBSZXNldCBpbmhlcml0ZWQgcGVybWlzc2lvbnMgdG8gYWxsb3cgdXNlci1kZWZpbmVkIGNoYW5nZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw6IGxldmVsLmlkIGFzIEZvbGRlckFjY2Vzc0xldmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDc1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2VsZWN0ZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRMZXZlbC5pZCA9PT0gbGV2ZWwuaWQgJiYgPENoZWNrIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5mb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeSB1c2U9XCJib2R5MVwiPntsZXZlbC5sYWJlbH08L1R5cG9ncmFwaHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5IHVzZT1cImNhcHRpb25cIj57bGV2ZWwuZGVzY3JpcHRpb259PC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRNZW51SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgIDxNZW51RGl2aWRlciAvPlxuICAgICAgICAgICAgICAgICAgICA8TWVudUl0ZW0gb25DbGljaz17KCkgPT4gb25SZW1vdmVBY2Nlc3MoeyBwZXJtaXNzaW9uIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIFJlbW92ZSBhY2Nlc3NcbiAgICAgICAgICAgICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgICAgICAgICA8L01lbnU+XG4gICAgICAgICAgICA8L0xpc3RBY3Rpb25zPlxuICAgICAgICA8L1VpTGlzdEl0ZW1NZXRhPlxuICAgICk7XG59O1xuIl19 */"));
|
|
42
46
|
var StyledMenuItem = /*#__PURE__*/(0, _base.default)(_Menu.MenuItem, process.env.NODE_ENV === "production" ? {
|
|
43
47
|
target: "e1pth4430"
|
|
44
48
|
} : {
|
|
@@ -50,7 +54,7 @@ var StyledMenuItem = /*#__PURE__*/(0, _base.default)(_Menu.MenuItem, process.env
|
|
|
50
54
|
} : {
|
|
51
55
|
name: "e05fop",
|
|
52
56
|
styles: "display:flex;padding-top:5px;padding-bottom:5px;div.selected{margin-right:15px;width:20px;height:20px;svg{fill:var(--mdc-theme-primary);}}div.info{display:flex;flex-direction:column;justify-content:center;}",
|
|
53
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
57
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxpc3RJdGVtTWV0YS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEN1QyIsImZpbGUiOiJMaXN0SXRlbU1ldGEudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IExpc3RBY3Rpb25zLCBMaXN0SXRlbU1ldGEgYXMgVWlMaXN0SXRlbU1ldGEgfSBmcm9tIFwiQHdlYmlueS91aS9MaXN0XCI7XG5pbXBvcnQgeyBNZW51LCBNZW51RGl2aWRlciwgTWVudUl0ZW0gfSBmcm9tIFwiQHdlYmlueS91aS9NZW51XCI7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBNb3JlIH0gZnJvbSBcIkBtYXRlcmlhbC1kZXNpZ24taWNvbnMvc3ZnL291dGxpbmVkL2Fycm93X2Ryb3BfZG93bi5zdmdcIjtcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIENoZWNrIH0gZnJvbSBcIkBtYXRlcmlhbC1kZXNpZ24taWNvbnMvc3ZnL291dGxpbmVkL2NoZWNrLnN2Z1wiO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gXCJAd2ViaW55L3VpL1R5cG9ncmFwaHlcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdXNlU2VjdXJpdHkgfSBmcm9tIFwiQHdlYmlueS9hcHAtc2VjdXJpdHlcIjtcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tIFwiQHdlYmlueS91aS9Ub29sdGlwXCI7XG5pbXBvcnQgeyBGb2xkZXJBY2Nlc3NMZXZlbCwgRm9sZGVyTGV2ZWxQZXJtaXNzaW9uc1RhcmdldCwgRm9sZGVyUGVybWlzc2lvbiB9IGZyb20gXCJ+L3R5cGVzXCI7XG5cbmNvbnN0IFRBUkdFVF9MRVZFTFMgPSBbXG4gICAge1xuICAgICAgICBpZDogXCJuby1hY2Nlc3NcIixcbiAgICAgICAgbGFiZWw6IFwiTm8gQWNjZXNzXCIsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIkNhbm5vdCB2aWV3IG9yIG1vZGlmeSBjb250ZW50XCJcbiAgICB9LFxuICAgIHtcbiAgICAgICAgaWQ6IFwidmlld2VyXCIsXG4gICAgICAgIGxhYmVsOiBcIlZpZXdlclwiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJDYW4gdmlldyBjb250ZW50LCBidXQgbm90IG1vZGlmeSBpdFwiXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGlkOiBcImVkaXRvclwiLFxuICAgICAgICBsYWJlbDogXCJFZGl0b3JcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiQ2FuIHZpZXcgYW5kIG1vZGlmeSBjb250ZW50XCJcbiAgICB9LFxuICAgIHtcbiAgICAgICAgaWQ6IFwib3duZXJcIixcbiAgICAgICAgbGFiZWw6IFwiT3duZXJcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiQ2FuIGVkaXQgYW5kIG1hbmFnZSBjb250ZW50IHBlcm1pc3Npb25zXCJcbiAgICB9XG5dO1xuXG5jb25zdCBTdHlsZWRIYW5kbGUgPSBzdHlsZWQuZGl2PHsgZGlzYWJsZWQ6IGJvb2xlYW4gfT5gXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogMjBweCAwIDIwcHggMjBweDtcbiAgICAkeyh7IGRpc2FibGVkIH0pID0+IGRpc2FibGVkICYmIGBvcGFjaXR5OiAwLjU7IHBvaW50ZXItZXZlbnRzOiBub25lO2B9XG5gO1xuXG5jb25zdCBTdHlsZWRNZW51SXRlbSA9IHN0eWxlZChNZW51SXRlbSlgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG5cbiAgICBkaXYuc2VsZWN0ZWQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRpdi5pbmZvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuYDtcblxuaW50ZXJmYWNlIExpc3RJdGVtTWV0YVByb3BzIHtcbiAgICBwZXJtaXNzaW9uOiBGb2xkZXJQZXJtaXNzaW9uO1xuICAgIHRhcmdldDogRm9sZGVyTGV2ZWxQZXJtaXNzaW9uc1RhcmdldDtcbiAgICB0YXJnZXRzTGlzdDogRm9sZGVyTGV2ZWxQZXJtaXNzaW9uc1RhcmdldFtdO1xuICAgIG9uUmVtb3ZlQWNjZXNzOiAocGFyYW1zOiB7IHBlcm1pc3Npb246IEZvbGRlclBlcm1pc3Npb24gfSkgPT4gdm9pZDtcbiAgICBvblVwZGF0ZVBlcm1pc3Npb246IChwYXJhbXM6IHsgcGVybWlzc2lvbjogRm9sZGVyUGVybWlzc2lvbiB9KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgTGlzdEl0ZW1NZXRhID0gKHtcbiAgICBwZXJtaXNzaW9uLFxuICAgIHRhcmdldCxcbiAgICB0YXJnZXRzTGlzdCxcbiAgICBvblJlbW92ZUFjY2VzcyxcbiAgICBvblVwZGF0ZVBlcm1pc3Npb25cbn06IExpc3RJdGVtTWV0YVByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBpZGVudGl0eSB9ID0gdXNlU2VjdXJpdHkoKTtcblxuICAgIGNvbnN0IGN1cnJlbnRMZXZlbCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICByZXR1cm4gVEFSR0VUX0xFVkVMUy5maW5kKGxldmVsID0+IGxldmVsLmlkID09PSBwZXJtaXNzaW9uLmxldmVsKSE7XG4gICAgfSwgW3Blcm1pc3Npb24ubGV2ZWxdKTtcblxuICAgIGNvbnN0IHsgaXNEaXNhYmxlZCwgdG9vbHRpcE1lc3NhZ2UgfSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBsZXQgbWVzc2FnZSA9IG51bGw7XG4gICAgICAgIGxldCBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChwZXJtaXNzaW9uLmluaGVyaXRlZEZyb20/LnN0YXJ0c1dpdGgoXCJwYXJlbnQ6XCIpKSB7XG4gICAgICAgICAgICBtZXNzYWdlID0gXCJJbmhlcml0ZWQgZnJvbSBwYXJlbnQgZm9sZGVyLlwiO1xuICAgICAgICAgICAgZGlzYWJsZWQgPSBmYWxzZTsgLy8gU3RpbGwgYWxsb3cgaW50ZXJhY3Rpb24sIGp1c3QgaW5mb3JtIHVzZXJcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpZGVudGl0eSEuaWQgPT09IHRhcmdldC5pZCkge1xuICAgICAgICAgICAgbWVzc2FnZSA9IFwiWW91IGNhbid0IGNoYW5nZSB5b3VyIG93biBwZXJtaXNzaW9ucy5cIjtcbiAgICAgICAgICAgIGlmIChwZXJtaXNzaW9uLmluaGVyaXRlZEZyb20/LnN0YXJ0c1dpdGgoXCJ0ZWFtOlwiKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRlYW0gPSB0YXJnZXRzTGlzdC5maW5kKHQgPT4gdC50YXJnZXQgPT09IHBlcm1pc3Npb24uaW5oZXJpdGVkRnJvbSk7XG4gICAgICAgICAgICAgICAgbWVzc2FnZSArPSBcIiBBY2Nlc3MgdG8gdGhpcyBmb2xkZXIgaXMgbWFuYWdlZCBieSBhIHRlYW1cIjtcbiAgICAgICAgICAgICAgICBpZiAodGVhbSkge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlICs9IGAgKCR7dGVhbS5uYW1lfSlgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtZXNzYWdlICs9IFwiLlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHsgaXNEaXNhYmxlZDogZGlzYWJsZWQsIHRvb2x0aXBNZXNzYWdlOiBtZXNzYWdlIH07XG4gICAgfSwgW3Blcm1pc3Npb24sIGlkZW50aXR5LCB0YXJnZXQsIHRhcmdldHNMaXN0XSk7XG5cbiAgICBjb25zdCBoYW5kbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgbGV0IGhhbmRsZSA9IChcbiAgICAgICAgICAgIDxTdHlsZWRIYW5kbGUgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9PlxuICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5IHVzZT1cImJvZHkxXCI+e2N1cnJlbnRMZXZlbC5sYWJlbH08L1R5cG9ncmFwaHk+XG4gICAgICAgICAgICAgICAgPE1vcmUgLz5cbiAgICAgICAgICAgIDwvU3R5bGVkSGFuZGxlPlxuICAgICAgICApO1xuXG4gICAgICAgIGlmICh0b29sdGlwTWVzc2FnZSkge1xuICAgICAgICAgICAgaGFuZGxlID0gPFRvb2x0aXAgY29udGVudD17dG9vbHRpcE1lc3NhZ2V9PntoYW5kbGV9PC9Ub29sdGlwPjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBoYW5kbGU7XG4gICAgfSwgW3Rvb2x0aXBNZXNzYWdlLCBpc0Rpc2FibGVkLCBjdXJyZW50TGV2ZWwubGFiZWxdKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxVaUxpc3RJdGVtTWV0YT5cbiAgICAgICAgICAgIDxMaXN0QWN0aW9ucz5cbiAgICAgICAgICAgICAgICA8TWVudVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2hhbmRsZX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIC8vIFNob3VsZCBwcmV2ZW50IGZpcnN0IGl0ZW0gZnJvbSBiZWluZyBhdXRvZm9jdXNlZCwgYnV0IGl0IGRvZXNuJ3QuIPCfpLfigI1cbiAgICAgICAgICAgICAgICAgICAgZm9jdXNPbk9wZW49e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHRoZSB6LWluZGV4IHZhbHVlIGlzIHNldCBpbiBgcGFja2FnZXMvYXBwLWFkbWluL3NyYy9jb21wb25lbnRzL0RpYWxvZ3Mvc3R5bGVkLnRzeGBcbiAgICAgICAgICAgICAgICAgICAgcG9ydGFsWkluZGV4PXsxMDF9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7VEFSR0VUX0xFVkVMUy5tYXAobGV2ZWwgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZE1lbnVJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtsZXZlbC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5lZWRlZCB0byBkbyB0aGlzIHdpdGggYSBzaG9ydCBkZWxheSBiZWNhdXNlIG9mIGEgdmlzdWFsIGdsaXRjaC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblVwZGF0ZVBlcm1pc3Npb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucGVybWlzc2lvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5oZXJpdGVkRnJvbTogdW5kZWZpbmVkLCAvLyBSZXNldCBpbmhlcml0ZWQgcGVybWlzc2lvbnMgdG8gYWxsb3cgdXNlci1kZWZpbmVkIGNoYW5nZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw6IGxldmVsLmlkIGFzIEZvbGRlckFjY2Vzc0xldmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDc1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2VsZWN0ZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRMZXZlbC5pZCA9PT0gbGV2ZWwuaWQgJiYgPENoZWNrIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5mb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeSB1c2U9XCJib2R5MVwiPntsZXZlbC5sYWJlbH08L1R5cG9ncmFwaHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5IHVzZT1cImNhcHRpb25cIj57bGV2ZWwuZGVzY3JpcHRpb259PC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRNZW51SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgIDxNZW51RGl2aWRlciAvPlxuICAgICAgICAgICAgICAgICAgICA8TWVudUl0ZW0gb25DbGljaz17KCkgPT4gb25SZW1vdmVBY2Nlc3MoeyBwZXJtaXNzaW9uIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIFJlbW92ZSBhY2Nlc3NcbiAgICAgICAgICAgICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgICAgICAgICA8L01lbnU+XG4gICAgICAgICAgICA8L0xpc3RBY3Rpb25zPlxuICAgICAgICA8L1VpTGlzdEl0ZW1NZXRhPlxuICAgICk7XG59O1xuIl19 */",
|
|
54
58
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
55
59
|
});
|
|
56
60
|
var ListItemMeta = exports.ListItemMeta = function ListItemMeta(_ref2) {
|
|
@@ -66,42 +70,50 @@ var ListItemMeta = exports.ListItemMeta = function ListItemMeta(_ref2) {
|
|
|
66
70
|
return level.id === permission.level;
|
|
67
71
|
});
|
|
68
72
|
}, [permission.level]);
|
|
69
|
-
var
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
73
|
+
var _useMemo = (0, _react.useMemo)(function () {
|
|
74
|
+
var message = null;
|
|
75
|
+
var disabled = false;
|
|
76
|
+
if (permission.inheritedFrom?.startsWith("parent:")) {
|
|
77
|
+
message = "Inherited from parent folder.";
|
|
78
|
+
disabled = false; // Still allow interaction, just inform user
|
|
79
|
+
}
|
|
80
|
+
if (identity.id === target.id) {
|
|
81
|
+
message = "You can't change your own permissions.";
|
|
82
|
+
if (permission.inheritedFrom?.startsWith("team:")) {
|
|
83
|
+
var team = targetsList.find(function (t) {
|
|
84
|
+
return t.target === permission.inheritedFrom;
|
|
85
|
+
});
|
|
86
|
+
message += " Access to this folder is managed by a team";
|
|
87
|
+
if (team) {
|
|
88
|
+
message += " (".concat(team.name, ")");
|
|
89
|
+
}
|
|
90
|
+
message += ".";
|
|
82
91
|
}
|
|
83
|
-
|
|
92
|
+
disabled = true;
|
|
84
93
|
}
|
|
85
|
-
return
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
94
|
+
return {
|
|
95
|
+
isDisabled: disabled,
|
|
96
|
+
tooltipMessage: message
|
|
97
|
+
};
|
|
98
|
+
}, [permission, identity, target, targetsList]),
|
|
99
|
+
isDisabled = _useMemo.isDisabled,
|
|
100
|
+
tooltipMessage = _useMemo.tooltipMessage;
|
|
89
101
|
var handle = (0, _react.useMemo)(function () {
|
|
90
102
|
var handle = /*#__PURE__*/_react.default.createElement(StyledHandle, {
|
|
91
|
-
disabled:
|
|
103
|
+
disabled: isDisabled
|
|
92
104
|
}, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
93
105
|
use: "body1"
|
|
94
106
|
}, currentLevel.label), /*#__PURE__*/_react.default.createElement(_arrow_drop_down.ReactComponent, null));
|
|
95
|
-
if (
|
|
107
|
+
if (tooltipMessage) {
|
|
96
108
|
handle = /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
97
|
-
content:
|
|
109
|
+
content: tooltipMessage
|
|
98
110
|
}, handle);
|
|
99
111
|
}
|
|
100
112
|
return handle;
|
|
101
|
-
}, [
|
|
113
|
+
}, [tooltipMessage, isDisabled, currentLevel.label]);
|
|
102
114
|
return /*#__PURE__*/_react.default.createElement(_List.ListItemMeta, null, /*#__PURE__*/_react.default.createElement(_List.ListActions, null, /*#__PURE__*/_react.default.createElement(_Menu.Menu, {
|
|
103
115
|
handle: handle,
|
|
104
|
-
disabled:
|
|
116
|
+
disabled: isDisabled
|
|
105
117
|
// Should prevent first item from being autofocused, but it doesn't. 🤷
|
|
106
118
|
,
|
|
107
119
|
focusOnOpen: false
|
|
@@ -116,6 +128,8 @@ var ListItemMeta = exports.ListItemMeta = function ListItemMeta(_ref2) {
|
|
|
116
128
|
setTimeout(function () {
|
|
117
129
|
onUpdatePermission({
|
|
118
130
|
permission: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, permission), {}, {
|
|
131
|
+
inheritedFrom: undefined,
|
|
132
|
+
// Reset inherited permissions to allow user-defined changes
|
|
119
133
|
level: level.id
|
|
120
134
|
})
|
|
121
135
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_List","_Menu","_arrow_drop_down","_check","_Typography","_appSecurity","_Tooltip","_EMOTION_STRINGIFIED_CSS_ERROR__","TARGET_LEVELS","id","label","description","StyledHandle","_base","default","process","env","NODE_ENV","target","_ref","disabled","StyledMenuItem","MenuItem","name","styles","map","toString","ListItemMeta","exports","_ref2","permission","targetsList","onRemoveAccess","onUpdatePermission","_useSecurity","useSecurity","identity","currentLevel","useMemo","find","level","disabledReason","inheritedFrom","startsWith","message","team","t","concat","handle","createElement","Typography","use","ReactComponent","Tooltip","content","ListActions","Menu","focusOnOpen","portalZIndex","key","onClick","setTimeout","_objectSpread2","className","MenuDivider"],"sources":["ListItemMeta.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { ListActions, ListItemMeta as UiListItemMeta } from \"@webiny/ui/List\";\nimport { Menu, MenuDivider, MenuItem } from \"@webiny/ui/Menu\";\nimport { ReactComponent as More } from \"@material-design-icons/svg/outlined/arrow_drop_down.svg\";\nimport { ReactComponent as Check } from \"@material-design-icons/svg/outlined/check.svg\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport styled from \"@emotion/styled\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { FolderAccessLevel, FolderLevelPermissionsTarget, FolderPermission } from \"~/types\";\n\nconst TARGET_LEVELS = [\n {\n id: \"viewer\",\n label: \"Viewer\",\n description: \"Can view content, but not modify it\"\n },\n {\n id: \"editor\",\n label: \"Editor\",\n description: \"Can view and modify content\"\n },\n {\n id: \"owner\",\n label: \"Owner\",\n description: \"Can edit and manage content permissions\"\n }\n];\n\nconst StyledHandle = styled.div<{ disabled: boolean }>`\n display: flex;\n color: var(--mdc-theme-text-primary-on-background);\n cursor: pointer;\n padding: 20px 0 20px 20px;\n ${({ disabled }) => disabled && `opacity: 0.5; pointer-events: none;`}\n`;\n\nconst StyledMenuItem = styled(MenuItem)`\n display: flex;\n padding-top: 5px;\n padding-bottom: 5px;\n\n div.selected {\n margin-right: 15px;\n width: 20px;\n height: 20px;\n\n svg {\n fill: var(--mdc-theme-primary);\n }\n }\n\n div.info {\n display: flex;\n flex-direction: column;\n justify-content: center;\n }\n`;\n\ninterface ListItemMetaProps {\n permission: FolderPermission;\n target: FolderLevelPermissionsTarget;\n targetsList: FolderLevelPermissionsTarget[];\n onRemoveAccess: (params: { permission: FolderPermission }) => void;\n onUpdatePermission: (params: { permission: FolderPermission }) => void;\n}\n\nexport const ListItemMeta = ({\n permission,\n target,\n targetsList,\n onRemoveAccess,\n onUpdatePermission\n}: ListItemMetaProps) => {\n const { identity } = useSecurity();\n\n const currentLevel = useMemo(() => {\n return TARGET_LEVELS.find(level => level.id === permission.level)!;\n }, [permission.level]);\n\n const disabledReason = useMemo(() => {\n if (permission.inheritedFrom?.startsWith(\"parent:\")) {\n return \"Inherited from parent folder.\";\n }\n\n if (identity!.id === target.id) {\n let message = \"You can't change your own permissions.\";\n if (permission.inheritedFrom?.startsWith(\"team:\")) {\n const team = targetsList.find(t => t.target === permission.inheritedFrom);\n message += \" Access to this folder is managed by a team\";\n if (team) {\n message += ` (${team.name})`;\n }\n message += \".\";\n }\n return message;\n }\n\n return null;\n }, [permission]);\n\n const handle = useMemo(() => {\n let handle = (\n <StyledHandle disabled={!!disabledReason}>\n <Typography use=\"body1\">{currentLevel.label}</Typography>\n <More />\n </StyledHandle>\n );\n\n if (disabledReason) {\n handle = <Tooltip content={disabledReason}>{handle}</Tooltip>;\n }\n\n return handle;\n }, [disabledReason, currentLevel.label]);\n\n return (\n <UiListItemMeta>\n <ListActions>\n <Menu\n handle={handle}\n disabled={!!disabledReason}\n // Should prevent first item from being autofocused, but it doesn't. 🤷\n focusOnOpen={false}\n // This is needed because the z-index value is set in `packages/app-admin/src/components/Dialogs/styled.tsx`\n portalZIndex={101}\n >\n {TARGET_LEVELS.map(level => (\n <StyledMenuItem\n key={level.id}\n onClick={() => {\n // Needed to do this with a short delay because of a visual glitch.\n setTimeout(() => {\n onUpdatePermission({\n permission: {\n ...permission,\n level: level.id as FolderAccessLevel\n }\n });\n }, 75);\n }}\n >\n <div className=\"selected\">\n {currentLevel.id === level.id && <Check />}\n </div>\n <div className=\"info\">\n <Typography use=\"body1\">{level.label}</Typography>\n <Typography use=\"caption\">{level.description}</Typography>\n </div>\n </StyledMenuItem>\n ))}\n <MenuDivider />\n <MenuItem onClick={() => onRemoveAccess({ permission })}>\n Remove access\n </MenuItem>\n </Menu>\n </ListActions>\n </UiListItemMeta>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_List","_Menu","_arrow_drop_down","_check","_Typography","_appSecurity","_Tooltip","_EMOTION_STRINGIFIED_CSS_ERROR__","TARGET_LEVELS","id","label","description","StyledHandle","_base","default","process","env","NODE_ENV","target","_ref","disabled","StyledMenuItem","MenuItem","name","styles","map","toString","ListItemMeta","exports","_ref2","permission","targetsList","onRemoveAccess","onUpdatePermission","_useSecurity","useSecurity","identity","currentLevel","useMemo","find","level","_useMemo","message","inheritedFrom","startsWith","team","t","concat","isDisabled","tooltipMessage","handle","createElement","Typography","use","ReactComponent","Tooltip","content","ListActions","Menu","focusOnOpen","portalZIndex","key","onClick","setTimeout","_objectSpread2","undefined","className","MenuDivider"],"sources":["ListItemMeta.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { ListActions, ListItemMeta as UiListItemMeta } from \"@webiny/ui/List\";\nimport { Menu, MenuDivider, MenuItem } from \"@webiny/ui/Menu\";\nimport { ReactComponent as More } from \"@material-design-icons/svg/outlined/arrow_drop_down.svg\";\nimport { ReactComponent as Check } from \"@material-design-icons/svg/outlined/check.svg\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport styled from \"@emotion/styled\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { FolderAccessLevel, FolderLevelPermissionsTarget, FolderPermission } from \"~/types\";\n\nconst TARGET_LEVELS = [\n {\n id: \"no-access\",\n label: \"No Access\",\n description: \"Cannot view or modify content\"\n },\n {\n id: \"viewer\",\n label: \"Viewer\",\n description: \"Can view content, but not modify it\"\n },\n {\n id: \"editor\",\n label: \"Editor\",\n description: \"Can view and modify content\"\n },\n {\n id: \"owner\",\n label: \"Owner\",\n description: \"Can edit and manage content permissions\"\n }\n];\n\nconst StyledHandle = styled.div<{ disabled: boolean }>`\n display: flex;\n color: var(--mdc-theme-text-primary-on-background);\n cursor: pointer;\n padding: 20px 0 20px 20px;\n ${({ disabled }) => disabled && `opacity: 0.5; pointer-events: none;`}\n`;\n\nconst StyledMenuItem = styled(MenuItem)`\n display: flex;\n padding-top: 5px;\n padding-bottom: 5px;\n\n div.selected {\n margin-right: 15px;\n width: 20px;\n height: 20px;\n\n svg {\n fill: var(--mdc-theme-primary);\n }\n }\n\n div.info {\n display: flex;\n flex-direction: column;\n justify-content: center;\n }\n`;\n\ninterface ListItemMetaProps {\n permission: FolderPermission;\n target: FolderLevelPermissionsTarget;\n targetsList: FolderLevelPermissionsTarget[];\n onRemoveAccess: (params: { permission: FolderPermission }) => void;\n onUpdatePermission: (params: { permission: FolderPermission }) => void;\n}\n\nexport const ListItemMeta = ({\n permission,\n target,\n targetsList,\n onRemoveAccess,\n onUpdatePermission\n}: ListItemMetaProps) => {\n const { identity } = useSecurity();\n\n const currentLevel = useMemo(() => {\n return TARGET_LEVELS.find(level => level.id === permission.level)!;\n }, [permission.level]);\n\n const { isDisabled, tooltipMessage } = useMemo(() => {\n let message = null;\n let disabled = false;\n\n if (permission.inheritedFrom?.startsWith(\"parent:\")) {\n message = \"Inherited from parent folder.\";\n disabled = false; // Still allow interaction, just inform user\n }\n\n if (identity!.id === target.id) {\n message = \"You can't change your own permissions.\";\n if (permission.inheritedFrom?.startsWith(\"team:\")) {\n const team = targetsList.find(t => t.target === permission.inheritedFrom);\n message += \" Access to this folder is managed by a team\";\n if (team) {\n message += ` (${team.name})`;\n }\n message += \".\";\n }\n disabled = true;\n }\n\n return { isDisabled: disabled, tooltipMessage: message };\n }, [permission, identity, target, targetsList]);\n\n const handle = useMemo(() => {\n let handle = (\n <StyledHandle disabled={isDisabled}>\n <Typography use=\"body1\">{currentLevel.label}</Typography>\n <More />\n </StyledHandle>\n );\n\n if (tooltipMessage) {\n handle = <Tooltip content={tooltipMessage}>{handle}</Tooltip>;\n }\n\n return handle;\n }, [tooltipMessage, isDisabled, currentLevel.label]);\n\n return (\n <UiListItemMeta>\n <ListActions>\n <Menu\n handle={handle}\n disabled={isDisabled}\n // Should prevent first item from being autofocused, but it doesn't. 🤷\n focusOnOpen={false}\n // This is needed because the z-index value is set in `packages/app-admin/src/components/Dialogs/styled.tsx`\n portalZIndex={101}\n >\n {TARGET_LEVELS.map(level => (\n <StyledMenuItem\n key={level.id}\n onClick={() => {\n // Needed to do this with a short delay because of a visual glitch.\n setTimeout(() => {\n onUpdatePermission({\n permission: {\n ...permission,\n inheritedFrom: undefined, // Reset inherited permissions to allow user-defined changes\n level: level.id as FolderAccessLevel\n }\n });\n }, 75);\n }}\n >\n <div className=\"selected\">\n {currentLevel.id === level.id && <Check />}\n </div>\n <div className=\"info\">\n <Typography use=\"body1\">{level.label}</Typography>\n <Typography use=\"caption\">{level.description}</Typography>\n </div>\n </StyledMenuItem>\n ))}\n <MenuDivider />\n <MenuItem onClick={() => onRemoveAccess({ permission })}>\n Remove access\n </MenuItem>\n </Menu>\n </ListActions>\n </UiListItemMeta>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -36,7 +36,7 @@ var FormComponent = function FormComponent(_ref) {
|
|
|
36
36
|
var selectedUserOrTeam = value[value.length - 1];
|
|
37
37
|
var newPermission = {
|
|
38
38
|
target: selectedUserOrTeam.target,
|
|
39
|
-
level: "
|
|
39
|
+
level: "viewer"
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
// We want to add the new permission to the 2nd position in the array.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_appAdmin","_form","_Grid","_UsersTeamsMultiAutocomplete","_UsersTeamsSelection","_graphql","_features","FormComponent","_ref","folder","_useState","useState","permissions","_useState2","_slicedToArray2","default","setPermissions","listTargetsQuery","useQuery","LIST_FOLDER_LEVEL_PERMISSIONS_TARGETS","targetsList","data","aco","listFolderLevelPermissionsTargets","bind","useBind","name","useEffect","onChange","addPermission","useCallback","value","selectedUserOrTeam","length","newPermission","target","level","concat","_toConsumableArray2","slice","updatePermission","_ref2","updatedPermission","permission","map","removeUserTeam","item","filter","createElement","Grid","Cell","span","UsersTeamsMultiAutocomplete","options","UsersTeamsSelection","onRemoveAccess","onUpdatePermission","useSetPermissionsDialog","exports","dialogs","useDialogs","_useUpdateFolder","useUpdateFolder","updateFolder","_useSnackbar","useSnackbar","showSnackbar","onAccept","updateData","_objectSpread2","error","message","showDialog","_ref3","title","content","acceptLabel","cancelLabel","loadingLabel"],"sources":["useSetPermissionsDialog.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { useQuery } from \"@apollo/react-hooks\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { GenericFormData, useBind } from \"@webiny/form\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\n\nimport { UsersTeamsMultiAutocomplete } from \"./DialogSetPermissions/UsersTeamsMultiAutocomplete\";\nimport { UsersTeamsSelection } from \"./DialogSetPermissions/UsersTeamsSelection\";\nimport { LIST_FOLDER_LEVEL_PERMISSIONS_TARGETS } from \"./DialogSetPermissions/graphql\";\n\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { useUpdateFolder } from \"~/features\";\nimport { FolderItem, FolderLevelPermissionsTarget, FolderPermission } from \"~/types\";\n\ninterface ShowDialogParams {\n folder: FolderItem;\n}\n\ninterface UseSetPermissionsDialogResponse {\n showDialog: (params: ShowDialogParams) => void;\n}\n\ninterface FormComponentProps {\n folder: FolderItem;\n}\n\ninterface UpdatePermissionCallableParams {\n permission: FolderPermission;\n}\n\ninterface UpdatePermissionCallable {\n (params: UpdatePermissionCallableParams): void;\n}\n\ninterface RemoveUserTeamCallableParams {\n permission: FolderPermission;\n}\n\ninterface RemoveUserTeamCallable {\n (params: RemoveUserTeamCallableParams): void;\n}\n\nconst FormComponent = ({ folder }: FormComponentProps) => {\n const [permissions, setPermissions] = useState<FolderPermission[]>(folder.permissions || []); // Moved useState outside showDialog\n const listTargetsQuery = useQuery(LIST_FOLDER_LEVEL_PERMISSIONS_TARGETS);\n const targetsList: FolderLevelPermissionsTarget[] =\n listTargetsQuery.data?.aco.listFolderLevelPermissionsTargets.data || [];\n\n const bind = useBind({\n name: \"permissions\"\n });\n\n useEffect(() => {\n bind.onChange(permissions);\n }, [permissions]);\n\n const addPermission = useCallback(\n (value: FolderPermission[]) => {\n const selectedUserOrTeam = value[value.length - 1];\n const newPermission: FolderPermission = {\n target: selectedUserOrTeam.target,\n level: \"
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_appAdmin","_form","_Grid","_UsersTeamsMultiAutocomplete","_UsersTeamsSelection","_graphql","_features","FormComponent","_ref","folder","_useState","useState","permissions","_useState2","_slicedToArray2","default","setPermissions","listTargetsQuery","useQuery","LIST_FOLDER_LEVEL_PERMISSIONS_TARGETS","targetsList","data","aco","listFolderLevelPermissionsTargets","bind","useBind","name","useEffect","onChange","addPermission","useCallback","value","selectedUserOrTeam","length","newPermission","target","level","concat","_toConsumableArray2","slice","updatePermission","_ref2","updatedPermission","permission","map","removeUserTeam","item","filter","createElement","Grid","Cell","span","UsersTeamsMultiAutocomplete","options","UsersTeamsSelection","onRemoveAccess","onUpdatePermission","useSetPermissionsDialog","exports","dialogs","useDialogs","_useUpdateFolder","useUpdateFolder","updateFolder","_useSnackbar","useSnackbar","showSnackbar","onAccept","updateData","_objectSpread2","error","message","showDialog","_ref3","title","content","acceptLabel","cancelLabel","loadingLabel"],"sources":["useSetPermissionsDialog.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { useQuery } from \"@apollo/react-hooks\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { GenericFormData, useBind } from \"@webiny/form\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\n\nimport { UsersTeamsMultiAutocomplete } from \"./DialogSetPermissions/UsersTeamsMultiAutocomplete\";\nimport { UsersTeamsSelection } from \"./DialogSetPermissions/UsersTeamsSelection\";\nimport { LIST_FOLDER_LEVEL_PERMISSIONS_TARGETS } from \"./DialogSetPermissions/graphql\";\n\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { useUpdateFolder } from \"~/features\";\nimport { FolderItem, FolderLevelPermissionsTarget, FolderPermission } from \"~/types\";\n\ninterface ShowDialogParams {\n folder: FolderItem;\n}\n\ninterface UseSetPermissionsDialogResponse {\n showDialog: (params: ShowDialogParams) => void;\n}\n\ninterface FormComponentProps {\n folder: FolderItem;\n}\n\ninterface UpdatePermissionCallableParams {\n permission: FolderPermission;\n}\n\ninterface UpdatePermissionCallable {\n (params: UpdatePermissionCallableParams): void;\n}\n\ninterface RemoveUserTeamCallableParams {\n permission: FolderPermission;\n}\n\ninterface RemoveUserTeamCallable {\n (params: RemoveUserTeamCallableParams): void;\n}\n\nconst FormComponent = ({ folder }: FormComponentProps) => {\n const [permissions, setPermissions] = useState<FolderPermission[]>(folder.permissions || []); // Moved useState outside showDialog\n const listTargetsQuery = useQuery(LIST_FOLDER_LEVEL_PERMISSIONS_TARGETS);\n const targetsList: FolderLevelPermissionsTarget[] =\n listTargetsQuery.data?.aco.listFolderLevelPermissionsTargets.data || [];\n\n const bind = useBind({\n name: \"permissions\"\n });\n\n useEffect(() => {\n bind.onChange(permissions);\n }, [permissions]);\n\n const addPermission = useCallback(\n (value: FolderPermission[]) => {\n const selectedUserOrTeam = value[value.length - 1];\n const newPermission: FolderPermission = {\n target: selectedUserOrTeam.target,\n level: \"viewer\"\n };\n\n // We want to add the new permission to the 2nd position in the array.\n // The 1st position is reserved for the \"current user\" permission.\n setPermissions([permissions[0], newPermission, ...permissions.slice(1)]);\n },\n [permissions]\n );\n\n const updatePermission = useCallback<UpdatePermissionCallable>(\n ({ permission: updatedPermission }) => {\n setPermissions(\n permissions.map(permission => {\n if (permission.target === updatedPermission.target) {\n return updatedPermission;\n }\n return permission;\n })\n );\n },\n [permissions]\n );\n\n const removeUserTeam = useCallback<RemoveUserTeamCallable>(\n item => {\n setPermissions(\n permissions.filter(permission => permission.target !== item.permission.target)\n );\n },\n [permissions]\n );\n\n return (\n <Grid>\n <Cell span={12}>\n <UsersTeamsMultiAutocomplete\n options={targetsList}\n value={permissions}\n onChange={addPermission}\n />\n </Cell>\n <Cell span={12}>\n <UsersTeamsSelection\n permissions={permissions}\n targetsList={targetsList}\n onRemoveAccess={removeUserTeam}\n onUpdatePermission={updatePermission}\n />\n </Cell>\n </Grid>\n );\n};\n\nexport const useSetPermissionsDialog = (): UseSetPermissionsDialogResponse => {\n const dialogs = useDialogs();\n const { updateFolder } = useUpdateFolder();\n const { showSnackbar } = useSnackbar();\n\n const onAccept = useCallback(async (folder: FolderItem, data: Partial<FolderItem>) => {\n const updateData = { ...folder, ...data };\n\n try {\n await updateFolder(updateData);\n showSnackbar(\"Folder permissions updated successfully!\");\n } catch (error) {\n showSnackbar(error.message);\n }\n }, []);\n\n const showDialog = ({ folder }: ShowDialogParams) => {\n dialogs.showDialog({\n title: `Manage permissions - ${folder.title}`,\n content: <FormComponent folder={folder} />,\n acceptLabel: \"Save\",\n cancelLabel: \"Cancel\",\n loadingLabel: \"Updating permissions...\",\n onAccept: (data: GenericFormData) => onAccept(folder, data)\n });\n };\n\n return {\n showDialog\n };\n};\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAEA,IAAAK,4BAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AAGA,IAAAQ,SAAA,GAAAR,OAAA;AA+BA,IAAMS,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAAuC;EAAA,IAAjCC,MAAM,GAAAD,IAAA,CAANC,MAAM;EAC3B,IAAAC,SAAA,GAAsC,IAAAC,eAAQ,EAAqBF,MAAM,CAACG,WAAW,IAAI,EAAE,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAL,SAAA;IAArFE,WAAW,GAAAC,UAAA;IAAEG,cAAc,GAAAH,UAAA,IAA2D,CAAC;EAC9F,IAAMI,gBAAgB,GAAG,IAAAC,oBAAQ,EAACC,8CAAqC,CAAC;EACxE,IAAMC,WAA2C,GAC7CH,gBAAgB,CAACI,IAAI,EAAEC,GAAG,CAACC,iCAAiC,CAACF,IAAI,IAAI,EAAE;EAE3E,IAAMG,IAAI,GAAG,IAAAC,aAAO,EAAC;IACjBC,IAAI,EAAE;EACV,CAAC,CAAC;EAEF,IAAAC,gBAAS,EAAC,YAAM;IACZH,IAAI,CAACI,QAAQ,CAAChB,WAAW,CAAC;EAC9B,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,IAAMiB,aAAa,GAAG,IAAAC,kBAAW,EAC7B,UAACC,KAAyB,EAAK;IAC3B,IAAMC,kBAAkB,GAAGD,KAAK,CAACA,KAAK,CAACE,MAAM,GAAG,CAAC,CAAC;IAClD,IAAMC,aAA+B,GAAG;MACpCC,MAAM,EAAEH,kBAAkB,CAACG,MAAM;MACjCC,KAAK,EAAE;IACX,CAAC;;IAED;IACA;IACApB,cAAc,EAAEJ,WAAW,CAAC,CAAC,CAAC,EAAEsB,aAAa,EAAAG,MAAA,KAAAC,mBAAA,CAAAvB,OAAA,EAAKH,WAAW,CAAC2B,KAAK,CAAC,CAAC,CAAC,EAAC,CAAC;EAC5E,CAAC,EACD,CAAC3B,WAAW,CAChB,CAAC;EAED,IAAM4B,gBAAgB,GAAG,IAAAV,kBAAW,EAChC,UAAAW,KAAA,EAAuC;IAAA,IAAxBC,iBAAiB,GAAAD,KAAA,CAA7BE,UAAU;IACT3B,cAAc,CACVJ,WAAW,CAACgC,GAAG,CAAC,UAAAD,UAAU,EAAI;MAC1B,IAAIA,UAAU,CAACR,MAAM,KAAKO,iBAAiB,CAACP,MAAM,EAAE;QAChD,OAAOO,iBAAiB;MAC5B;MACA,OAAOC,UAAU;IACrB,CAAC,CACL,CAAC;EACL,CAAC,EACD,CAAC/B,WAAW,CAChB,CAAC;EAED,IAAMiC,cAAc,GAAG,IAAAf,kBAAW,EAC9B,UAAAgB,IAAI,EAAI;IACJ9B,cAAc,CACVJ,WAAW,CAACmC,MAAM,CAAC,UAAAJ,UAAU;MAAA,OAAIA,UAAU,CAACR,MAAM,KAAKW,IAAI,CAACH,UAAU,CAACR,MAAM;IAAA,EACjF,CAAC;EACL,CAAC,EACD,CAACvB,WAAW,CAChB,CAAC;EAED,oBACIhB,MAAA,CAAAmB,OAAA,CAAAiC,aAAA,CAAC9C,KAAA,CAAA+C,IAAI,qBACDrD,MAAA,CAAAmB,OAAA,CAAAiC,aAAA,CAAC9C,KAAA,CAAAgD,IAAI;IAACC,IAAI,EAAE;EAAG,gBACXvD,MAAA,CAAAmB,OAAA,CAAAiC,aAAA,CAAC7C,4BAAA,CAAAiD,2BAA2B;IACxBC,OAAO,EAAEjC,WAAY;IACrBW,KAAK,EAAEnB,WAAY;IACnBgB,QAAQ,EAAEC;EAAc,CAC3B,CACC,CAAC,eACPjC,MAAA,CAAAmB,OAAA,CAAAiC,aAAA,CAAC9C,KAAA,CAAAgD,IAAI;IAACC,IAAI,EAAE;EAAG,gBACXvD,MAAA,CAAAmB,OAAA,CAAAiC,aAAA,CAAC5C,oBAAA,CAAAkD,mBAAmB;IAChB1C,WAAW,EAAEA,WAAY;IACzBQ,WAAW,EAAEA,WAAY;IACzBmC,cAAc,EAAEV,cAAe;IAC/BW,kBAAkB,EAAEhB;EAAiB,CACxC,CACC,CACJ,CAAC;AAEf,CAAC;AAEM,IAAMiB,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,SAA1BA,uBAAuBA,CAAA,EAA0C;EAC1E,IAAME,OAAO,GAAG,IAAAC,oBAAU,EAAC,CAAC;EAC5B,IAAAC,gBAAA,GAAyB,IAAAC,yBAAe,EAAC,CAAC;IAAlCC,YAAY,GAAAF,gBAAA,CAAZE,YAAY;EACpB,IAAAC,YAAA,GAAyB,IAAAC,qBAAW,EAAC,CAAC;IAA9BC,YAAY,GAAAF,YAAA,CAAZE,YAAY;EAEpB,IAAMC,SAAQ,GAAG,IAAArC,kBAAW,EAAC,gBAAOrB,MAAkB,EAAEY,IAAyB,EAAK;IAClF,IAAM+C,UAAU,OAAAC,cAAA,CAAAtD,OAAA,MAAAsD,cAAA,CAAAtD,OAAA,MAAQN,MAAM,GAAKY,IAAI,CAAE;IAEzC,IAAI;MACA,MAAM0C,YAAY,CAACK,UAAU,CAAC;MAC9BF,YAAY,CAAC,0CAA0C,CAAC;IAC5D,CAAC,CAAC,OAAOI,KAAK,EAAE;MACZJ,YAAY,CAACI,KAAK,CAACC,OAAO,CAAC;IAC/B;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAC,KAAA,EAAqC;IAAA,IAA/BhE,MAAM,GAAAgE,KAAA,CAANhE,MAAM;IACxBkD,OAAO,CAACa,UAAU,CAAC;MACfE,KAAK,0BAAArC,MAAA,CAA0B5B,MAAM,CAACiE,KAAK,CAAE;MAC7CC,OAAO,eAAE/E,MAAA,CAAAmB,OAAA,CAAAiC,aAAA,CAACzC,aAAa;QAACE,MAAM,EAAEA;MAAO,CAAE,CAAC;MAC1CmE,WAAW,EAAE,MAAM;MACnBC,WAAW,EAAE,QAAQ;MACrBC,YAAY,EAAE,yBAAyB;MACvCX,QAAQ,EAAE,SAAVA,QAAQA,CAAG9C,IAAqB;QAAA,OAAK8C,SAAQ,CAAC1D,MAAM,EAAEY,IAAI,CAAC;MAAA;IAC/D,CAAC,CAAC;EACN,CAAC;EAED,OAAO;IACHmD,UAAU,EAAVA;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-aco",
|
|
3
|
-
"version": "5.43.0-beta.
|
|
3
|
+
"version": "5.43.0-beta.3",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,19 +17,19 @@
|
|
|
17
17
|
"@material-design-icons/svg": "0.14.13",
|
|
18
18
|
"@material-symbols/svg-400": "0.4.3",
|
|
19
19
|
"@minoru/react-dnd-treeview": "3.2.1",
|
|
20
|
-
"@webiny/app": "5.43.0-beta.
|
|
21
|
-
"@webiny/app-admin": "5.43.0-beta.
|
|
22
|
-
"@webiny/app-headless-cms-common": "5.43.0-beta.
|
|
23
|
-
"@webiny/app-security": "5.43.0-beta.
|
|
24
|
-
"@webiny/app-utils": "5.43.0-beta.
|
|
25
|
-
"@webiny/app-wcp": "5.43.0-beta.
|
|
26
|
-
"@webiny/form": "5.43.0-beta.
|
|
27
|
-
"@webiny/plugins": "5.43.0-beta.
|
|
28
|
-
"@webiny/react-properties": "5.43.0-beta.
|
|
29
|
-
"@webiny/react-router": "5.43.0-beta.
|
|
30
|
-
"@webiny/ui": "5.43.0-beta.
|
|
31
|
-
"@webiny/utils": "5.43.0-beta.
|
|
32
|
-
"@webiny/validation": "5.43.0-beta.
|
|
20
|
+
"@webiny/app": "5.43.0-beta.3",
|
|
21
|
+
"@webiny/app-admin": "5.43.0-beta.3",
|
|
22
|
+
"@webiny/app-headless-cms-common": "5.43.0-beta.3",
|
|
23
|
+
"@webiny/app-security": "5.43.0-beta.3",
|
|
24
|
+
"@webiny/app-utils": "5.43.0-beta.3",
|
|
25
|
+
"@webiny/app-wcp": "5.43.0-beta.3",
|
|
26
|
+
"@webiny/form": "5.43.0-beta.3",
|
|
27
|
+
"@webiny/plugins": "5.43.0-beta.3",
|
|
28
|
+
"@webiny/react-properties": "5.43.0-beta.3",
|
|
29
|
+
"@webiny/react-router": "5.43.0-beta.3",
|
|
30
|
+
"@webiny/ui": "5.43.0-beta.3",
|
|
31
|
+
"@webiny/utils": "5.43.0-beta.3",
|
|
32
|
+
"@webiny/validation": "5.43.0-beta.3",
|
|
33
33
|
"dot-prop-immutable": "2.1.1",
|
|
34
34
|
"graphql": "15.9.0",
|
|
35
35
|
"graphql-tag": "2.12.6",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@types/react": "18.2.79",
|
|
50
|
-
"@webiny/project-utils": "5.43.0-beta.
|
|
50
|
+
"@webiny/project-utils": "5.43.0-beta.3",
|
|
51
51
|
"apollo-client": "2.6.10",
|
|
52
52
|
"apollo-link": "1.2.14",
|
|
53
53
|
"rimraf": "6.0.1",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"build": "node ../cli/bin.js run build",
|
|
62
62
|
"watch": "node ../cli/bin.js run watch"
|
|
63
63
|
},
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "bb3de95f65a48bc7264719fcd2d78bf78749fc69"
|
|
65
65
|
}
|
package/types.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { CmsIdentity, CmsModel, CmsModelField, CmsModelFieldSettings } from "@we
|
|
|
2
2
|
export { CmsIdentity } from "@webiny/app-headless-cms-common/types";
|
|
3
3
|
export * from "./graphql/records/types";
|
|
4
4
|
export * from "./table.types";
|
|
5
|
-
export type FolderAccessLevel = "owner" | "viewer" | "editor" | "public";
|
|
5
|
+
export type FolderAccessLevel = "owner" | "viewer" | "editor" | "public" | "no-access";
|
|
6
6
|
export interface FolderPermission {
|
|
7
7
|
target: `admin:${string}` | `team:${string}`;
|
|
8
8
|
level: FolderAccessLevel;
|
package/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_types","require","_types2","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_table","LoadingActionsEnum","init","list","listMore","create","update","delete","move"],"sources":["types.ts"],"sourcesContent":["import {\n CmsIdentity,\n CmsModel,\n CmsModelField,\n CmsModelFieldSettings\n} from \"@webiny/app-headless-cms-common/types\";\n\nexport { CmsIdentity } from \"@webiny/app-headless-cms-common/types\";\nexport * from \"~/graphql/records/types\";\nexport * from \"~/table.types\";\nexport type FolderAccessLevel = \"owner\" | \"viewer\" | \"editor\" | \"public\";\n\nexport interface FolderPermission {\n target: `admin:${string}` | `team:${string}`;\n level: FolderAccessLevel;\n inheritedFrom?: string;\n}\n\nexport interface FolderLevelPermissionsTarget<TMeta = Record<string, any>> {\n id: string;\n target: string;\n name: string;\n type: string;\n meta: TMeta;\n}\n\nexport interface FolderItem {\n id: string;\n title: string;\n slug: string;\n permissions: FolderPermission[];\n hasNonInheritedPermissions: boolean;\n canManagePermissions: boolean;\n canManageStructure: boolean;\n canManageContent: boolean;\n type: string;\n parentId: string | null;\n createdBy: CmsIdentity;\n createdOn: string;\n savedBy: CmsIdentity;\n savedOn: string;\n modifiedBy: CmsIdentity | null;\n modifiedOn: string | null;\n extensions: Record<string, any>;\n}\n\nexport type GenericSearchData = {\n [key: string]: any;\n};\n\nexport interface Location {\n folderId: string;\n}\n\nexport interface TagItem {\n tag: string;\n}\n\nexport type Loading<T extends string> = { [P in T]?: boolean };\n\nexport type LoadingActions =\n | \"INIT\"\n | \"LIST\"\n | \"LIST_MORE\"\n | \"GET\"\n | \"CREATE\"\n | \"UPDATE\"\n | \"DELETE\"\n | \"MOVE\";\n\nexport const LoadingActionsEnum = {\n init: \"INIT\",\n list: \"LIST\",\n listMore: \"LIST_MORE\",\n get: \"GET\",\n create: \"CREATE\",\n update: \"UPDATE\",\n delete: \"DELETE\",\n move: \"MOVE\"\n};\n\nexport interface AcoError {\n code: string;\n message: string;\n data?: Record<string, any> | null;\n}\n\nexport type ListSearchRecordsSortItem = `${string}_ASC` | `${string}_DESC`;\nexport type ListSearchRecordsSort = ListSearchRecordsSortItem[];\n\nexport interface ListMeta {\n cursor: string | null;\n totalCount: number;\n hasMoreItems: boolean;\n}\n\nexport interface ListFoldersResponse {\n aco: {\n listFolders: {\n data: FolderItem[] | null;\n error: AcoError | null;\n };\n };\n}\n\nexport interface ListFoldersQueryVariables {\n type: string;\n limit: number;\n sort?: Record<string, any>;\n after?: string | null;\n}\n\nexport interface GetFolderResponse {\n aco: {\n getFolder: {\n data: FolderItem | null;\n error: AcoError | null;\n };\n };\n}\n\nexport interface GetFolderQueryVariables {\n id: string;\n}\n\nexport interface UpdateFolderResponse {\n aco: {\n updateFolder: {\n data: FolderItem;\n error: AcoError | null;\n };\n };\n}\n\nexport interface UpdateFolderVariables {\n id: string;\n data: Partial<\n Omit<\n FolderItem,\n \"id\" | \"createdOn\" | \"createdBy\" | \"savedOn\" | \"savedBy\" | \"modifiedOn\" | \"modifiedBy\"\n >\n >;\n}\n\nexport interface CreateFolderResponse {\n aco: {\n createFolder: {\n data: FolderItem;\n error: AcoError | null;\n };\n };\n}\n\nexport interface CreateFolderVariables {\n data: Omit<\n FolderItem,\n | \"id\"\n | \"createdOn\"\n | \"createdBy\"\n | \"savedOn\"\n | \"savedBy\"\n | \"modifiedOn\"\n | \"modifiedBy\"\n | \"hasNonInheritedPermissions\"\n | \"canManageContent\"\n | \"canManagePermissions\"\n | \"canManageStructure\"\n >;\n}\n\nexport interface DeleteFolderVariables {\n id: string;\n}\n\nexport interface DeleteFolderResponse {\n aco: {\n deleteFolder: {\n data: boolean;\n error: AcoError | null;\n };\n };\n}\n\nexport interface DndFolderItemData {\n isFocused?: boolean;\n}\n\n/**\n * This type will be removed when all apps migrate to the CMS.\n * @deprecated\n */\nexport type AcoAppMode = \"aco\" | \"cms\";\n\n/**\n * Apps.\n */\nexport interface AcoModel extends CmsModel {\n fields: AcoModelField[];\n}\n\nexport interface AcoModelFieldSettingsAco {\n enabled?: boolean;\n header?: boolean;\n}\n\nexport interface AcoModelFieldSettings {\n aco?: AcoModelFieldSettingsAco;\n}\n\nexport interface AcoModelField extends CmsModelField {\n settings?: CmsModelFieldSettings & AcoModelFieldSettings;\n}\n\nexport interface AcoApp {\n id: string;\n model: AcoModel;\n getFields: () => AcoModelField[];\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAOA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,MAAA,GAAAd,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAW,MAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,MAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,MAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AA6DO,IAAMU,kBAAkB,GAAAL,OAAA,CAAAK,kBAAA,GAAG;EAC9BC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,WAAW;EACrBL,GAAG,EAAE,KAAK;EACVM,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,IAAI,EAAE;AACV,CAAC;;AA4GD;AACA;AACA;AACA;;AAGA;AACA;AACA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_types","require","_types2","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_table","LoadingActionsEnum","init","list","listMore","create","update","delete","move"],"sources":["types.ts"],"sourcesContent":["import {\n CmsIdentity,\n CmsModel,\n CmsModelField,\n CmsModelFieldSettings\n} from \"@webiny/app-headless-cms-common/types\";\n\nexport { CmsIdentity } from \"@webiny/app-headless-cms-common/types\";\nexport * from \"~/graphql/records/types\";\nexport * from \"~/table.types\";\nexport type FolderAccessLevel = \"owner\" | \"viewer\" | \"editor\" | \"public\" | \"no-access\";\n\nexport interface FolderPermission {\n target: `admin:${string}` | `team:${string}`;\n level: FolderAccessLevel;\n inheritedFrom?: string;\n}\n\nexport interface FolderLevelPermissionsTarget<TMeta = Record<string, any>> {\n id: string;\n target: string;\n name: string;\n type: string;\n meta: TMeta;\n}\n\nexport interface FolderItem {\n id: string;\n title: string;\n slug: string;\n permissions: FolderPermission[];\n hasNonInheritedPermissions: boolean;\n canManagePermissions: boolean;\n canManageStructure: boolean;\n canManageContent: boolean;\n type: string;\n parentId: string | null;\n createdBy: CmsIdentity;\n createdOn: string;\n savedBy: CmsIdentity;\n savedOn: string;\n modifiedBy: CmsIdentity | null;\n modifiedOn: string | null;\n extensions: Record<string, any>;\n}\n\nexport type GenericSearchData = {\n [key: string]: any;\n};\n\nexport interface Location {\n folderId: string;\n}\n\nexport interface TagItem {\n tag: string;\n}\n\nexport type Loading<T extends string> = { [P in T]?: boolean };\n\nexport type LoadingActions =\n | \"INIT\"\n | \"LIST\"\n | \"LIST_MORE\"\n | \"GET\"\n | \"CREATE\"\n | \"UPDATE\"\n | \"DELETE\"\n | \"MOVE\";\n\nexport const LoadingActionsEnum = {\n init: \"INIT\",\n list: \"LIST\",\n listMore: \"LIST_MORE\",\n get: \"GET\",\n create: \"CREATE\",\n update: \"UPDATE\",\n delete: \"DELETE\",\n move: \"MOVE\"\n};\n\nexport interface AcoError {\n code: string;\n message: string;\n data?: Record<string, any> | null;\n}\n\nexport type ListSearchRecordsSortItem = `${string}_ASC` | `${string}_DESC`;\nexport type ListSearchRecordsSort = ListSearchRecordsSortItem[];\n\nexport interface ListMeta {\n cursor: string | null;\n totalCount: number;\n hasMoreItems: boolean;\n}\n\nexport interface ListFoldersResponse {\n aco: {\n listFolders: {\n data: FolderItem[] | null;\n error: AcoError | null;\n };\n };\n}\n\nexport interface ListFoldersQueryVariables {\n type: string;\n limit: number;\n sort?: Record<string, any>;\n after?: string | null;\n}\n\nexport interface GetFolderResponse {\n aco: {\n getFolder: {\n data: FolderItem | null;\n error: AcoError | null;\n };\n };\n}\n\nexport interface GetFolderQueryVariables {\n id: string;\n}\n\nexport interface UpdateFolderResponse {\n aco: {\n updateFolder: {\n data: FolderItem;\n error: AcoError | null;\n };\n };\n}\n\nexport interface UpdateFolderVariables {\n id: string;\n data: Partial<\n Omit<\n FolderItem,\n \"id\" | \"createdOn\" | \"createdBy\" | \"savedOn\" | \"savedBy\" | \"modifiedOn\" | \"modifiedBy\"\n >\n >;\n}\n\nexport interface CreateFolderResponse {\n aco: {\n createFolder: {\n data: FolderItem;\n error: AcoError | null;\n };\n };\n}\n\nexport interface CreateFolderVariables {\n data: Omit<\n FolderItem,\n | \"id\"\n | \"createdOn\"\n | \"createdBy\"\n | \"savedOn\"\n | \"savedBy\"\n | \"modifiedOn\"\n | \"modifiedBy\"\n | \"hasNonInheritedPermissions\"\n | \"canManageContent\"\n | \"canManagePermissions\"\n | \"canManageStructure\"\n >;\n}\n\nexport interface DeleteFolderVariables {\n id: string;\n}\n\nexport interface DeleteFolderResponse {\n aco: {\n deleteFolder: {\n data: boolean;\n error: AcoError | null;\n };\n };\n}\n\nexport interface DndFolderItemData {\n isFocused?: boolean;\n}\n\n/**\n * This type will be removed when all apps migrate to the CMS.\n * @deprecated\n */\nexport type AcoAppMode = \"aco\" | \"cms\";\n\n/**\n * Apps.\n */\nexport interface AcoModel extends CmsModel {\n fields: AcoModelField[];\n}\n\nexport interface AcoModelFieldSettingsAco {\n enabled?: boolean;\n header?: boolean;\n}\n\nexport interface AcoModelFieldSettings {\n aco?: AcoModelFieldSettingsAco;\n}\n\nexport interface AcoModelField extends CmsModelField {\n settings?: CmsModelFieldSettings & AcoModelFieldSettings;\n}\n\nexport interface AcoApp {\n id: string;\n model: AcoModel;\n getFields: () => AcoModelField[];\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAOA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,MAAA,GAAAd,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAW,MAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,MAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,MAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AA6DO,IAAMU,kBAAkB,GAAAL,OAAA,CAAAK,kBAAA,GAAG;EAC9BC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,WAAW;EACrBL,GAAG,EAAE,KAAK;EACVM,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,IAAI,EAAE;AACV,CAAC;;AA4GD;AACA;AACA;AACA;;AAGA;AACA;AACA","ignoreList":[]}
|