@gooddata/sdk-ui-ext 9.4.0-beta.0 → 9.5.0-alpha.2
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/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/internal/components/dialogs/userManagementDialogs/AddUserGroupsToUsersDialog.d.ts +15 -0
- package/esm/internal/components/dialogs/userManagementDialogs/AddUserGroupsToUsersDialog.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/AddUserGroupsToUsersDialog.js +16 -0
- package/esm/internal/components/dialogs/userManagementDialogs/AddUserGroupsToUsersDialog.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/AddUsersToUserGroupsDialog.d.ts +15 -0
- package/esm/internal/components/dialogs/userManagementDialogs/AddUsersToUserGroupsDialog.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/AddUsersToUserGroupsDialog.js +16 -0
- package/esm/internal/components/dialogs/userManagementDialogs/AddUsersToUserGroupsDialog.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/AddWorkspaceToSubjects.d.ts +17 -0
- package/esm/internal/components/dialogs/userManagementDialogs/AddWorkspaceToSubjects.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/AddWorkspaceToSubjects.js +16 -0
- package/esm/internal/components/dialogs/userManagementDialogs/AddWorkspaceToSubjects.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/ConfirmDialogs/DeleteConfirmDialog.d.ts +9 -0
- package/esm/internal/components/dialogs/userManagementDialogs/ConfirmDialogs/DeleteConfirmDialog.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/ConfirmDialogs/DeleteConfirmDialog.js +11 -0
- package/esm/internal/components/dialogs/userManagementDialogs/ConfirmDialogs/DeleteConfirmDialog.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/CreateUserGroupDialog.d.ts +14 -0
- package/esm/internal/components/dialogs/userManagementDialogs/CreateUserGroupDialog.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/CreateUserGroupDialog.js +40 -0
- package/esm/internal/components/dialogs/userManagementDialogs/CreateUserGroupDialog.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteLink.d.ts +9 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteLink.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteLink.js +13 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteLink.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserDialog.d.ts +15 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserDialog.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserDialog.js +15 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserDialog.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupDialog.d.ts +15 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupDialog.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupDialog.js +15 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupDialog.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupsDialog.d.ts +15 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupsDialog.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupsDialog.js +34 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupsDialog.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteUsersDialog.d.ts +15 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteUsersDialog.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteUsersDialog.js +33 -0
- package/esm/internal/components/dialogs/userManagementDialogs/DeleteUsersDialog.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/DetailRow.d.ts +11 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/DetailRow.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/DetailRow.js +20 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/DetailRow.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserDetails.d.ts +14 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserDetails.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserDetails.js +25 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserDetails.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserGroupDetails.d.ts +11 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserGroupDetails.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserGroupDetails.js +18 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserGroupDetails.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/OrganizationMemberDropdown.d.ts +8 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/OrganizationMemberDropdown.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/OrganizationMemberDropdown.js +37 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/OrganizationMemberDropdown.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/UserDetailsView.d.ts +12 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/UserDetailsView.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/UserDetailsView.js +27 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/UserDetailsView.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/UserGroupDetailsView.d.ts +10 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/UserGroupDetailsView.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/UserGroupDetailsView.js +16 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/UserGroupDetailsView.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/detailsHooks.d.ts +16 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/detailsHooks.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/detailsHooks.js +94 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Details/detailsHooks.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/OrganizationIdContext.d.ts +8 -0
- package/esm/internal/components/dialogs/userManagementDialogs/OrganizationIdContext.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/OrganizationIdContext.js +14 -0
- package/esm/internal/components/dialogs/userManagementDialogs/OrganizationIdContext.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.d.ts +19 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.js +71 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.d.ts +18 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.js +73 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroup.d.ts +12 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroup.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroup.js +17 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroup.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupContent.d.ts +10 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupContent.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupContent.js +10 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupContent.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupSelect.d.ts +9 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupSelect.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupSelect.js +64 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupSelect.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AsyncSelectComponents.d.ts +12 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AsyncSelectComponents.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AsyncSelectComponents.js +54 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AsyncSelectComponents.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupItem.d.ts +10 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupItem.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupItem.js +28 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupItem.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsList.d.ts +9 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsList.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsList.js +17 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsList.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsListEmpty.d.ts +7 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsListEmpty.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsListEmpty.js +12 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsListEmpty.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/backend/loadUserGroupOptionsPromise.d.ts +5 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/backend/loadUserGroupOptionsPromise.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/backend/loadUserGroupOptionsPromise.js +38 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/backend/loadUserGroupOptionsPromise.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/userGroupHooks.d.ts +8 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/userGroupHooks.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/userGroupHooks.js +64 -0
- package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/userGroupHooks.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUser.d.ts +12 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUser.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUser.js +17 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUser.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserContent.d.ts +10 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserContent.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserContent.js +10 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserContent.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserSelect.d.ts +9 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserSelect.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserSelect.js +64 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserSelect.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.d.ts +12 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.js +56 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/UserItem.d.ts +10 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/UserItem.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/UserItem.js +29 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/UserItem.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/UsersList.d.ts +9 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/UsersList.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/UsersList.js +17 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/UsersList.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/UsersListEmpty.d.ts +7 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/UsersListEmpty.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/UsersListEmpty.js +12 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/UsersListEmpty.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.d.ts +5 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.js +39 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/usersHooks.d.ts +8 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/usersHooks.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/usersHooks.js +58 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Users/usersHooks.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/ViewDialog.d.ts +16 -0
- package/esm/internal/components/dialogs/userManagementDialogs/ViewDialog.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/ViewDialog.js +25 -0
- package/esm/internal/components/dialogs/userManagementDialogs/ViewDialog.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.d.ts +13 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.js +19 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspaceSelect.d.ts +4 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspaceSelect.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspaceSelect.js +60 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspaceSelect.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AsyncSelectComponents.d.ts +12 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AsyncSelectComponents.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AsyncSelectComponents.js +60 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AsyncSelectComponents.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionDropdownItem.d.ts +10 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionDropdownItem.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionDropdownItem.js +22 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionDropdownItem.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionsDropdown.d.ts +13 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionsDropdown.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionsDropdown.js +33 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionsDropdown.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionsDropdownList.d.ts +11 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionsDropdownList.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionsDropdownList.js +24 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionsDropdownList.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionDropdownItem.d.ts +12 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionDropdownItem.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionDropdownItem.js +24 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionDropdownItem.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdown.d.ts +15 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdown.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdown.js +58 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdown.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdownList.d.ts +15 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdownList.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdownList.js +51 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdownList.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/QuestionMarkIcon.d.ts +3 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/QuestionMarkIcon.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/QuestionMarkIcon.js +11 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/QuestionMarkIcon.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceItem.d.ts +11 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceItem.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceItem.js +26 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceItem.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/locales.d.ts +29 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/locales.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/locales.js +15 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/locales.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/usePermissionsDropdownState.d.ts +5 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/usePermissionsDropdownState.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/usePermissionsDropdownState.js +8 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/usePermissionsDropdownState.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceList.d.ts +11 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceList.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceList.js +17 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceList.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceListEmpty.d.ts +7 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceListEmpty.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceListEmpty.js +12 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceListEmpty.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/backend/loadWorkspaceOptionsPromise.d.ts +5 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/backend/loadWorkspaceOptionsPromise.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/backend/loadWorkspaceOptionsPromise.js +36 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/backend/loadWorkspaceOptionsPromise.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/workspaceHooks.d.ts +10 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/workspaceHooks.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/workspaceHooks.js +75 -0
- package/esm/internal/components/dialogs/userManagementDialogs/Workspace/workspaceHooks.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/dialogHooks.d.ts +67 -0
- package/esm/internal/components/dialogs/userManagementDialogs/dialogHooks.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/dialogHooks.js +351 -0
- package/esm/internal/components/dialogs/userManagementDialogs/dialogHooks.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/index.d.ts +12 -0
- package/esm/internal/components/dialogs/userManagementDialogs/index.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/index.js +12 -0
- package/esm/internal/components/dialogs/userManagementDialogs/index.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/locales.d.ts +340 -0
- package/esm/internal/components/dialogs/userManagementDialogs/locales.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/locales.js +120 -0
- package/esm/internal/components/dialogs/userManagementDialogs/locales.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/types.d.ts +61 -0
- package/esm/internal/components/dialogs/userManagementDialogs/types.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/types.js +15 -0
- package/esm/internal/components/dialogs/userManagementDialogs/types.js.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/utils.d.ts +16 -0
- package/esm/internal/components/dialogs/userManagementDialogs/utils.d.ts.map +1 -0
- package/esm/internal/components/dialogs/userManagementDialogs/utils.js +84 -0
- package/esm/internal/components/dialogs/userManagementDialogs/utils.js.map +1 -0
- package/esm/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.d.ts +1 -1
- package/esm/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.d.ts.map +1 -1
- package/esm/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.js +2 -2
- package/esm/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.js.map +1 -1
- package/esm/sdk-ui-ext.d.ts +170 -0
- package/package.json +22 -18
- package/styles/css/main.css +123 -0
- package/styles/css/main.css.map +1 -1
- package/styles/internal/css/user_management_dialogs.css +124 -0
- package/styles/internal/css/user_management_dialogs.css.map +1 -0
- package/styles/internal/scss/user_management_dialogs.scss +136 -0
- package/styles/scss/main.scss +1 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// (C) 2023 GoodData Corporation
|
|
2
|
+
import React, { useCallback, useEffect, useMemo, useRef } from "react";
|
|
3
|
+
import debounce from "debounce-promise";
|
|
4
|
+
import { useIntl } from "react-intl";
|
|
5
|
+
import AsyncSelect from "react-select/async";
|
|
6
|
+
import { useBackendStrict } from "@gooddata/sdk-ui";
|
|
7
|
+
import { isUserItem } from "../types.js";
|
|
8
|
+
import { useOrganizationId } from "../OrganizationIdContext.js";
|
|
9
|
+
import { messages } from "../locales.js";
|
|
10
|
+
import { EmptyRenderer, GroupHeadingRenderer, InputRendered, LoadingMessageRenderer, MenuListRendered, NoOptionsMessageRenderer, OptionRenderer, } from "./AsyncSelectComponents.js";
|
|
11
|
+
import { loadUsersOptionsPromise } from "./backend/loadUsersOptionsPromise.js";
|
|
12
|
+
const SEARCH_INTERVAL = 400;
|
|
13
|
+
export const AddUserSelect = ({ addedUsers, grantedUsers, onSelect }) => {
|
|
14
|
+
const intl = useIntl();
|
|
15
|
+
const selectRef = useRef(null);
|
|
16
|
+
const backend = useBackendStrict();
|
|
17
|
+
const organizationId = useOrganizationId();
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
selectRef.current.focus();
|
|
20
|
+
}, []);
|
|
21
|
+
const onChange = useCallback((value) => {
|
|
22
|
+
const user = value.value;
|
|
23
|
+
if (isUserItem(user)) {
|
|
24
|
+
onSelect(user);
|
|
25
|
+
}
|
|
26
|
+
}, [onSelect]);
|
|
27
|
+
const noOptionsMessage = useMemo(() => () => intl.formatMessage(messages.searchUserNoMatch), [intl]);
|
|
28
|
+
const loadOptions = useMemo(() => debounce(loadUsersOptionsPromise(backend, organizationId, intl), SEARCH_INTERVAL, {
|
|
29
|
+
leading: true,
|
|
30
|
+
}), [backend, organizationId, intl]);
|
|
31
|
+
const onKeyDownCallback = useCallback((e) => {
|
|
32
|
+
const target = e.target;
|
|
33
|
+
// react-select has default behavior on space and tab key - open menu / select first option etc.
|
|
34
|
+
// We need disable this behavior for space key by set e.preventDefault when input is empty and for tab key completely
|
|
35
|
+
//space
|
|
36
|
+
if (e.keyCode === 32 && !target.value) {
|
|
37
|
+
e.preventDefault();
|
|
38
|
+
}
|
|
39
|
+
// tab
|
|
40
|
+
if (e.keyCode === 9) {
|
|
41
|
+
e.preventDefault();
|
|
42
|
+
}
|
|
43
|
+
}, []);
|
|
44
|
+
const usedUsers = useMemo(() => (grantedUsers ? [...addedUsers, ...grantedUsers] : []), [addedUsers, grantedUsers]);
|
|
45
|
+
const filterOption = (option) => {
|
|
46
|
+
const user = option.value;
|
|
47
|
+
return !usedUsers.some((usedUser) => {
|
|
48
|
+
return usedUser.id === user.id;
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
return (React.createElement("div", { className: "gd-share-dialog-content-select s-user-management-user-select" },
|
|
52
|
+
React.createElement(AsyncSelect, { ref: selectRef, defaultMenuIsOpen: true, classNamePrefix: "gd-share-dialog", components: {
|
|
53
|
+
DropdownIndicator: EmptyRenderer,
|
|
54
|
+
IndicatorSeparator: EmptyRenderer,
|
|
55
|
+
Input: InputRendered,
|
|
56
|
+
Option: OptionRenderer,
|
|
57
|
+
GroupHeading: GroupHeadingRenderer,
|
|
58
|
+
LoadingMessage: LoadingMessageRenderer,
|
|
59
|
+
LoadingIndicator: EmptyRenderer,
|
|
60
|
+
MenuList: MenuListRendered,
|
|
61
|
+
NoOptionsMessage: NoOptionsMessageRenderer,
|
|
62
|
+
}, loadOptions: loadOptions, defaultOptions: true, placeholder: intl.formatMessage(messages.searchUserPlaceholder), onKeyDown: onKeyDownCallback, noOptionsMessage: noOptionsMessage, onChange: onChange, value: null, filterOption: filterOption })));
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=AddUserSelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddUserSelect.js","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/AddUserSelect.tsx"],"names":[],"mappings":"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"}
|
package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { InputProps, GroupHeadingProps, OptionProps, MenuListProps, NoticeProps } from "react-select";
|
|
3
|
+
import { IUserSelectOption, ISelectErrorOption } from "../types.js";
|
|
4
|
+
export declare const EmptyRenderer: () => JSX.Element;
|
|
5
|
+
export declare const LoadingMessageRenderer: () => JSX.Element;
|
|
6
|
+
export declare const NoOptionsMessageRenderer: (props: NoticeProps) => JSX.Element;
|
|
7
|
+
export declare const MenuListRendered: (props: MenuListProps<IUserSelectOption, false>) => JSX.Element;
|
|
8
|
+
export declare const InputRendered: (props: InputProps) => JSX.Element;
|
|
9
|
+
export declare const ErrorOptionRenderer: (errorOption: ISelectErrorOption) => JSX.Element;
|
|
10
|
+
export declare const OptionRenderer: (props: OptionProps<IUserSelectOption, false>) => JSX.Element;
|
|
11
|
+
export declare const GroupHeadingRenderer: (props: GroupHeadingProps) => JSX.Element;
|
|
12
|
+
//# sourceMappingURL=AsyncSelectComponents.d.ts.map
|
package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsyncSelectComponents.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.tsx"],"names":[],"mappings":";AAEA,OAAO,EAEH,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,WAAW,EACd,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,iBAAiB,EAAc,kBAAkB,EAAuB,MAAM,aAAa,CAAC;AAGrG,eAAO,MAAM,aAAa,QAAO,WAEhC,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO,WAMzC,CAAC;AAEF,eAAO,MAAM,wBAAwB,UAAW,WAAW,KAAG,WAM7D,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,cAAc,iBAAiB,EAAE,KAAK,CAAC,KAAG,WAQjF,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,UAAU,KAAG,WAMjD,CAAC;AAWF,eAAO,MAAM,mBAAmB,gBAAiB,kBAAkB,KAAG,WASrE,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,YAAY,iBAAiB,EAAE,KAAK,CAAC,KAAG,WAsB7E,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAAW,iBAAiB,KAAG,WAO/D,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// (C) 2023 GoodData Corporation
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { components as ReactSelectComponents, } from "react-select";
|
|
4
|
+
import { Typography, LoadingMask } from "@gooddata/sdk-ui-kit";
|
|
5
|
+
import { isUserItem, isSelectErrorOption } from "../types.js";
|
|
6
|
+
import { getUserItemTestId } from "../utils.js";
|
|
7
|
+
export const EmptyRenderer = () => {
|
|
8
|
+
return null;
|
|
9
|
+
};
|
|
10
|
+
export const LoadingMessageRenderer = () => {
|
|
11
|
+
return (React.createElement("div", { className: "gd-share-dialog-loading-mask-container" },
|
|
12
|
+
React.createElement(LoadingMask, { size: "small" })));
|
|
13
|
+
};
|
|
14
|
+
export const NoOptionsMessageRenderer = (props) => {
|
|
15
|
+
return (React.createElement("div", { className: "s-user-management-no-option", "aria-label": "Share dialog no match" },
|
|
16
|
+
React.createElement(ReactSelectComponents.NoOptionsMessage, Object.assign({}, props))));
|
|
17
|
+
};
|
|
18
|
+
export const MenuListRendered = (props) => {
|
|
19
|
+
return (React.createElement(ReactSelectComponents.MenuList, Object.assign({}, props),
|
|
20
|
+
React.createElement("div", { className: "s-user-management-dialog-menu", "aria-label": "Share dialog menu list" }, props.children)));
|
|
21
|
+
};
|
|
22
|
+
export const InputRendered = (props) => {
|
|
23
|
+
return (React.createElement("div", { className: "gd-share-dialog-input s-user-management-input" },
|
|
24
|
+
React.createElement(ReactSelectComponents.Input, Object.assign({}, props))));
|
|
25
|
+
};
|
|
26
|
+
const OptionContentRenderer = (item) => {
|
|
27
|
+
return (React.createElement(React.Fragment, null,
|
|
28
|
+
" ",
|
|
29
|
+
item.label,
|
|
30
|
+
" ",
|
|
31
|
+
React.createElement("span", { className: "option-email" }, item.value.email),
|
|
32
|
+
" "));
|
|
33
|
+
};
|
|
34
|
+
export const ErrorOptionRenderer = (errorOption) => {
|
|
35
|
+
return (React.createElement("div", { className: "gd-share-dialog-option-error s-user-management-option-error", "aria-label": "Share dialog error" },
|
|
36
|
+
React.createElement("span", { className: "gd-share-dialog-option-error-content" }, errorOption.label)));
|
|
37
|
+
};
|
|
38
|
+
export const OptionRenderer = (props) => {
|
|
39
|
+
const { className, cx, isFocused, innerRef, innerProps, data } = props;
|
|
40
|
+
if (isSelectErrorOption(data)) {
|
|
41
|
+
return ErrorOptionRenderer(data);
|
|
42
|
+
}
|
|
43
|
+
const sTestStyle = isUserItem(data.value) ? getUserItemTestId(data.value) : "";
|
|
44
|
+
const componentStyle = cx({
|
|
45
|
+
option: true,
|
|
46
|
+
"option--is-focused": isFocused,
|
|
47
|
+
}, className);
|
|
48
|
+
return (React.createElement("div", Object.assign({ ref: innerRef, className: `${componentStyle} ${sTestStyle}` }, innerProps),
|
|
49
|
+
React.createElement("div", { className: "option-content" }, OptionContentRenderer(data))));
|
|
50
|
+
};
|
|
51
|
+
export const GroupHeadingRenderer = (props) => {
|
|
52
|
+
const { label } = props.data;
|
|
53
|
+
return (React.createElement("div", { className: "gd-share-dialog-select-group-heading" },
|
|
54
|
+
React.createElement(Typography, { tagName: "h3" }, label)));
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=AsyncSelectComponents.js.map
|
package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsyncSelectComponents.js","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ListMode, IUserMember } from "../types.js";
|
|
3
|
+
interface IUserItemProps {
|
|
4
|
+
user: IUserMember;
|
|
5
|
+
mode: ListMode;
|
|
6
|
+
onDelete: (user: IUserMember) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const UserItem: React.FC<IUserItemProps>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=UserItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserItem.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/UserItem.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAoCpD,UAAU,cAAc;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;CACzC;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAa7C,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// (C) 2023 GoodData Corporation
|
|
2
|
+
import { useIntl } from "react-intl";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import cx from "classnames";
|
|
5
|
+
import { BubbleHoverTrigger, Bubble } from "@gooddata/sdk-ui-kit";
|
|
6
|
+
import { messages } from "../locales.js";
|
|
7
|
+
const GranteeUserIcon = () => {
|
|
8
|
+
return (React.createElement("div", { className: "gd-grantee-item-icon-left-background" },
|
|
9
|
+
React.createElement("span", { className: "gd-grantee-item-icon gd-grantee-icon-user gd-grantee-item-icon-left" })));
|
|
10
|
+
};
|
|
11
|
+
const alignPoints = [{ align: "cr cl" }];
|
|
12
|
+
const RemoveIcon = ({ mode, onClick }) => {
|
|
13
|
+
const intl = useIntl();
|
|
14
|
+
return (React.createElement(BubbleHoverTrigger, { showDelay: 0, hideDelay: 0, className: "gd-grantee-item-delete" },
|
|
15
|
+
React.createElement("span", { className: "gd-grantee-item-icon gd-grantee-icon-trash gd-grantee-item-icon-right s-user-management-item-delete", onClick: onClick, "aria-label": "Group dialog user member delete" }),
|
|
16
|
+
React.createElement(Bubble, { className: "bubble-primary", alignPoints: alignPoints }, mode === "VIEW"
|
|
17
|
+
? intl.formatMessage(messages.removeSavedUserTooltip)
|
|
18
|
+
: intl.formatMessage(messages.removeUnsavedUserTooltip))));
|
|
19
|
+
};
|
|
20
|
+
export const UserItem = ({ mode, onDelete, user }) => {
|
|
21
|
+
const itemClassName = cx("s-user-management-item", "gd-share-dialog-grantee-item");
|
|
22
|
+
return (React.createElement("div", { className: itemClassName },
|
|
23
|
+
React.createElement(RemoveIcon, { mode: mode, onClick: () => onDelete(user) }),
|
|
24
|
+
React.createElement("div", { className: "gd-grantee-content" },
|
|
25
|
+
React.createElement("div", { className: "gd-grantee-content-label" }, user.title),
|
|
26
|
+
React.createElement("div", { className: "gd-grantee-content-label gd-grantee-content-email" }, user.email)),
|
|
27
|
+
React.createElement(GranteeUserIcon, null)));
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=UserItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserItem.js","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/UserItem.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGlE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,eAAe,GAAa,GAAG,EAAE;IACnC,OAAO,CACH,6BAAK,SAAS,EAAC,sCAAsC;QACjD,8BAAM,SAAS,EAAC,qEAAqE,GAAG,CACtF,CACT,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAOzC,MAAM,UAAU,GAA+B,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IACjE,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,OAAO,CACH,oBAAC,kBAAkB,IAAC,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAC,wBAAwB;QAC9E,8BACI,SAAS,EAAC,qGAAqG,EAC/G,OAAO,EAAE,OAAO,gBACL,iCAAiC,GAC9C;QACF,oBAAC,MAAM,IAAC,SAAS,EAAC,gBAAgB,EAAC,WAAW,EAAE,WAAW,IACtD,IAAI,KAAK,MAAM;YACZ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CACtD,CACQ,CACxB,CAAC;AACN,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,QAAQ,GAA6B,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;IAC3E,MAAM,aAAa,GAAG,EAAE,CAAC,wBAAwB,EAAE,8BAA8B,CAAC,CAAC;IAEnF,OAAO,CACH,6BAAK,SAAS,EAAE,aAAa;QACzB,oBAAC,UAAU,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAI;QACzD,6BAAK,SAAS,EAAC,oBAAoB;YAC/B,6BAAK,SAAS,EAAC,0BAA0B,IAAE,IAAI,CAAC,KAAK,CAAO;YAC5D,6BAAK,SAAS,EAAC,mDAAmD,IAAE,IAAI,CAAC,KAAK,CAAO,CACnF;QACN,oBAAC,eAAe,OAAG,CACjB,CACT,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ListMode, IUserMember } from "../types.js";
|
|
3
|
+
export interface IUsersListProps {
|
|
4
|
+
users: IUserMember[];
|
|
5
|
+
mode: ListMode;
|
|
6
|
+
onDelete: (user: IUserMember) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const UsersList: React.FC<IUsersListProps>;
|
|
9
|
+
//# sourceMappingURL=UsersList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UsersList.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/UsersList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAIpD,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;CACzC;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAgB/C,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// (C) 2021-2023 GoodData Corporation
|
|
2
|
+
import React, { useMemo } from "react";
|
|
3
|
+
import { sortByName } from "../utils.js";
|
|
4
|
+
import { UsersListEmpty } from "./UsersListEmpty.js";
|
|
5
|
+
import { UserItem } from "./UserItem.js";
|
|
6
|
+
export const UsersList = ({ users, mode, onDelete }) => {
|
|
7
|
+
const sortedUsers = useMemo(() => {
|
|
8
|
+
return users ? [...users].sort(sortByName) : [];
|
|
9
|
+
}, [users]);
|
|
10
|
+
if (sortedUsers.length === 0) {
|
|
11
|
+
return React.createElement(UsersListEmpty, { mode: mode });
|
|
12
|
+
}
|
|
13
|
+
return (React.createElement("div", { className: "gd-share-dialog-grantee-list s-user-management-users-list" }, sortedUsers.map((user) => {
|
|
14
|
+
return React.createElement(UserItem, { key: user.id, user: user, onDelete: onDelete, mode: mode });
|
|
15
|
+
})));
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=UsersList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UsersList.js","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/UsersList.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQzC,MAAM,CAAC,MAAM,SAAS,GAA8B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC9E,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAO,oBAAC,cAAc,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;KACzC;IAED,OAAO,CACH,6BAAK,SAAS,EAAC,2DAA2D,IACrE,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACtB,OAAO,oBAAC,QAAQ,IAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;IAClF,CAAC,CAAC,CACA,CACT,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UsersListEmpty.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/UsersListEmpty.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,QAAQ,CAAC;CAClB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAUzD,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// (C) 2021 GoodData Corporation
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { useIntl } from "react-intl";
|
|
4
|
+
import { messages } from "../locales.js";
|
|
5
|
+
export const UsersListEmpty = ({ mode }) => {
|
|
6
|
+
const intl = useIntl();
|
|
7
|
+
return (React.createElement("div", { className: "gd-share-dialog-grantee-list-empty-selection s-user-management-empty-selection gd-user-management-dialog-list-empty" },
|
|
8
|
+
React.createElement("span", null,
|
|
9
|
+
mode === "VIEW" && intl.formatMessage(messages.viewUserListEmpty),
|
|
10
|
+
mode === "EDIT" && intl.formatMessage(messages.editUserListEmpty))));
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=UsersListEmpty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UsersListEmpty.js","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/UsersListEmpty.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAMzC,MAAM,CAAC,MAAM,cAAc,GAAmC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACvE,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,OAAO,CACH,6BAAK,SAAS,EAAC,qHAAqH;QAChI;YACK,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACjE,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAC/D,CACL,CACT,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IntlShape } from "react-intl";
|
|
2
|
+
import { IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
|
|
3
|
+
import { IUserSelectOption, ISelectErrorOption } from "../../types.js";
|
|
4
|
+
export declare const loadUsersOptionsPromise: (backend: IAnalyticalBackend, organizationId: string, intl: IntlShape) => (inputValue: string) => Promise<IUserSelectOption[] | ISelectErrorOption[]>;
|
|
5
|
+
//# sourceMappingURL=loadUsersOptionsPromise.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadUsersOptionsPromise.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAe,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAcpF,eAAO,MAAM,uBAAuB,YACtB,kBAAkB,kBAAkB,MAAM,QAAQ,SAAS,kBAClD,MAAM,KAAG,QAAQ,iBAAiB,EAAE,GAAG,kBAAkB,EAAE,CAmC7E,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// (C) 2023 GoodData Corporation
|
|
2
|
+
import { sortByName, extractUserName } from "../../utils.js";
|
|
3
|
+
import { messages } from "../../locales.js";
|
|
4
|
+
const createErrorOption = (intl) => {
|
|
5
|
+
return [
|
|
6
|
+
{
|
|
7
|
+
isDisabled: true,
|
|
8
|
+
type: "error",
|
|
9
|
+
label: intl.formatMessage(messages.searchUserError),
|
|
10
|
+
},
|
|
11
|
+
];
|
|
12
|
+
};
|
|
13
|
+
export const loadUsersOptionsPromise = (backend, organizationId, intl) => async (inputValue) => {
|
|
14
|
+
try {
|
|
15
|
+
return await backend
|
|
16
|
+
.organization(organizationId)
|
|
17
|
+
.users()
|
|
18
|
+
.getUsers()
|
|
19
|
+
.then((users) => users.filter((user) => inputValue === "" ||
|
|
20
|
+
extractUserName(user).toLowerCase().includes(inputValue.toLowerCase())))
|
|
21
|
+
.then((users) => users
|
|
22
|
+
.map((user) => ({
|
|
23
|
+
id: user.id,
|
|
24
|
+
title: extractUserName(user),
|
|
25
|
+
email: user.email,
|
|
26
|
+
}))
|
|
27
|
+
.sort(sortByName))
|
|
28
|
+
.then((matchingUsers) => matchingUsers.map((user) => {
|
|
29
|
+
return {
|
|
30
|
+
label: user.title,
|
|
31
|
+
value: user,
|
|
32
|
+
};
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
catch (_a) {
|
|
36
|
+
return createErrorOption(intl);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=loadUsersOptionsPromise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadUsersOptionsPromise.js","sourceRoot":"","sources":["../../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAMhC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,iBAAiB,GAAG,CAAC,IAAe,EAAwB,EAAE;IAChE,OAAO;QACH;YACI,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC;SACtD;KACJ,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAChC,CAAC,OAA2B,EAAE,cAAsB,EAAE,IAAe,EAAE,EAAE,CACzE,KAAK,EAAE,UAAkB,EAAuD,EAAE;IAC9E,IAAI;QACA,OAAO,MAAM,OAAO;aACf,YAAY,CAAC,cAAc,CAAC;aAC5B,KAAK,EAAE;aACP,QAAQ,EAAE;aACV,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACZ,KAAK,CAAC,MAAM,CACR,CAAC,IAAI,EAAE,EAAE,CACL,UAAU,KAAK,EAAE;YACjB,eAAe,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAC7E,CACJ;aACA,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACZ,KAAK;aACA,GAAG,CACA,CAAC,IAAI,EAAe,EAAE,CAAC,CAAC;YACpB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC;YAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CACL;aACA,IAAI,CAAC,UAAU,CAAC,CACxB;aACA,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE,CACpB,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,OAAO;gBACH,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI;aACd,CAAC;QACN,CAAC,CAAC,CACL,CAAC;KACT;IAAC,WAAM;QACJ,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;KAClC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IUserMember } from "../types.js";
|
|
2
|
+
export declare const useAddUsers: (userGroupIds: string[], onSave: (users: IUserMember[]) => void, onCancel: () => void) => {
|
|
3
|
+
addedUsers: IUserMember[];
|
|
4
|
+
onDelete: (user: IUserMember) => void;
|
|
5
|
+
onAdd: () => void;
|
|
6
|
+
onSelect: (user: IUserMember) => void;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=usersHooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usersHooks.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/usersHooks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS1C,eAAO,MAAM,WAAW,iBACN,MAAM,EAAE,kBACN,WAAW,EAAE,KAAK,IAAI,YAC5B,MAAM,IAAI;;qBAOI,WAAW;;qBA0CX,WAAW;CAUtC,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// (C) 2023 GoodData Corporation
|
|
2
|
+
import { useBackendStrict } from "@gooddata/sdk-ui";
|
|
3
|
+
import { useOrganizationId } from "../OrganizationIdContext.js";
|
|
4
|
+
import { useState } from "react";
|
|
5
|
+
import { useToastMessage } from "@gooddata/sdk-ui-kit";
|
|
6
|
+
import { messages } from "../locales.js";
|
|
7
|
+
import { sortByName } from "../utils.js";
|
|
8
|
+
export const useAddUsers = (userGroupIds, onSave, onCancel) => {
|
|
9
|
+
const backend = useBackendStrict();
|
|
10
|
+
const organizationId = useOrganizationId();
|
|
11
|
+
const [addedUsers, setAddedUsers] = useState([]);
|
|
12
|
+
const { addSuccess, addError } = useToastMessage();
|
|
13
|
+
const onDelete = (user) => {
|
|
14
|
+
setAddedUsers(addedUsers.filter((item) => item.id !== user.id));
|
|
15
|
+
};
|
|
16
|
+
const onAdd = () => {
|
|
17
|
+
if (userGroupIds.length === 1) {
|
|
18
|
+
backend
|
|
19
|
+
.organization(organizationId)
|
|
20
|
+
.users()
|
|
21
|
+
.addUsersToUserGroups(addedUsers.map((user) => user.id), userGroupIds)
|
|
22
|
+
.then(() => {
|
|
23
|
+
addSuccess(messages.usersAddedSuccess);
|
|
24
|
+
onSave(addedUsers);
|
|
25
|
+
onCancel();
|
|
26
|
+
})
|
|
27
|
+
.catch((error) => {
|
|
28
|
+
console.error("Addition of user group members failed", error);
|
|
29
|
+
addError(messages.usersAddedFailure);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
backend
|
|
34
|
+
.organization(organizationId)
|
|
35
|
+
.users()
|
|
36
|
+
.addUsersToUserGroups(addedUsers.map((user) => user.id), userGroupIds)
|
|
37
|
+
.then(() => {
|
|
38
|
+
addSuccess(messages.usersAddedToUserGroupsSuccess);
|
|
39
|
+
onSave(addedUsers);
|
|
40
|
+
onCancel();
|
|
41
|
+
})
|
|
42
|
+
.catch((error) => {
|
|
43
|
+
console.error("Addition of user groups members failed", error);
|
|
44
|
+
addError(messages.usersAddedToUserGroupsFailure);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const onSelect = (user) => {
|
|
49
|
+
setAddedUsers([...addedUsers, user].sort(sortByName));
|
|
50
|
+
};
|
|
51
|
+
return {
|
|
52
|
+
addedUsers,
|
|
53
|
+
onDelete,
|
|
54
|
+
onAdd,
|
|
55
|
+
onSelect,
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=usersHooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usersHooks.js","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Users/usersHooks.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,MAAM,WAAW,GAAG,CACvB,YAAsB,EACtB,MAAsC,EACtC,QAAoB,EACtB,EAAE;IACA,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAgB,EAAE,CAAC,CAAC;IAChE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAC;IAEnD,MAAM,QAAQ,GAAG,CAAC,IAAiB,EAAE,EAAE;QACnC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,GAAG,EAAE;QACf,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,OAAO;iBACF,YAAY,CAAC,cAAc,CAAC;iBAC5B,KAAK,EAAE;iBACP,oBAAoB,CACjB,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EACjC,YAAY,CACf;iBACA,IAAI,CAAC,GAAG,EAAE;gBACP,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBACvC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACnB,QAAQ,EAAE,CAAC;YACf,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACb,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;gBAC9D,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;SACV;aAAM;YACH,OAAO;iBACF,YAAY,CAAC,cAAc,CAAC;iBAC5B,KAAK,EAAE;iBACP,oBAAoB,CACjB,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EACjC,YAAY,CACf;iBACA,IAAI,CAAC,GAAG,EAAE;gBACP,UAAU,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;gBACnD,MAAM,CAAC,UAAU,CAAC,CAAC;gBACnB,QAAQ,EAAE,CAAC;YACf,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACb,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;gBAC/D,QAAQ,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;SACV;IACL,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,IAAiB,EAAE,EAAE;QACnC,aAAa,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,OAAO;QACH,UAAU;QACV,QAAQ;QACR,KAAK;QACL,QAAQ;KACX,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface IViewDialogProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
dialogTitle: string;
|
|
5
|
+
isAdmin: boolean;
|
|
6
|
+
isDeleteLinkEnabled: boolean;
|
|
7
|
+
deleteLinkDisabledTooltipTextId?: string;
|
|
8
|
+
deleteLinkText: string;
|
|
9
|
+
onOpenDeleteDialog: () => void;
|
|
10
|
+
onClose: () => void;
|
|
11
|
+
editButtonText: string;
|
|
12
|
+
editButtonIconClassName: string;
|
|
13
|
+
onEdit: () => void;
|
|
14
|
+
}
|
|
15
|
+
export declare const ViewDialog: React.FC<IViewDialogProps>;
|
|
16
|
+
//# sourceMappingURL=ViewDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewDialog.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/dialogs/userManagementDialogs/ViewDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB,EAAE,MAAM,CAAC;IAChC,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA6DjD,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// (C) 2023 GoodData Corporation
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { useIntl } from "react-intl";
|
|
4
|
+
import cx from "classnames";
|
|
5
|
+
import { DialogBase, Typography, Button } from "@gooddata/sdk-ui-kit";
|
|
6
|
+
import { messages } from "./locales.js";
|
|
7
|
+
import { DeleteLink } from "./DeleteLink.js";
|
|
8
|
+
export const ViewDialog = ({ dialogTitle, isAdmin, onEdit, editButtonIconClassName, editButtonText, children, deleteLinkText, isDeleteLinkEnabled, deleteLinkDisabledTooltipTextId, onOpenDeleteDialog, onClose, }) => {
|
|
9
|
+
const intl = useIntl();
|
|
10
|
+
return (React.createElement(DialogBase, { className: "gd-share-dialog gd-share-dialog-add-users gd-user-management-dialog-view s-user-management-view-mode", displayCloseButton: true, isPositive: true, onClose: onClose },
|
|
11
|
+
React.createElement("div", { className: "gd-dialog-header-wrapper" },
|
|
12
|
+
React.createElement("div", { className: "gd-dialog-header" },
|
|
13
|
+
React.createElement(Typography, { tagName: "h3", className: "gd-dialog-header-title" },
|
|
14
|
+
React.createElement("span", null, dialogTitle),
|
|
15
|
+
isAdmin ? (React.createElement("span", { className: "gd-setting-widget-status-pill" }, intl.formatMessage(messages.adminPill))) : null))),
|
|
16
|
+
React.createElement("div", { className: "gd-dialog-content" }, children),
|
|
17
|
+
React.createElement("div", { className: "gd-dialog-footer" },
|
|
18
|
+
React.createElement("div", { className: "gd-user-management-dialog-buttons" },
|
|
19
|
+
React.createElement("div", { className: "gd-user-management-dialog-buttons-left" },
|
|
20
|
+
React.createElement(Button, { className: "gd-button gd-button-secondary", iconLeft: cx(editButtonIconClassName, "gd-user-management-dialog-edit-mode-icon"), value: editButtonText, onClick: onEdit })),
|
|
21
|
+
React.createElement("div", { className: "gd-user-management-dialog-buttons-right" },
|
|
22
|
+
React.createElement(DeleteLink, { deleteLinkText: deleteLinkText, onOpenDeleteDialog: onOpenDeleteDialog, isDeleteLinkEnabled: isDeleteLinkEnabled, disabledLinkTooltipTextId: deleteLinkDisabledTooltipTextId }),
|
|
23
|
+
React.createElement(Button, { className: "gd-button gd-button-secondary", value: intl.formatMessage(messages.closeDialog), onClick: onClose }))))));
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=ViewDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewDialog.js","sourceRoot":"","sources":["../../../../../src/internal/components/dialogs/userManagementDialogs/ViewDialog.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAgB7C,MAAM,CAAC,MAAM,UAAU,GAA+B,CAAC,EACnD,WAAW,EACX,OAAO,EACP,MAAM,EACN,uBAAuB,EACvB,cAAc,EACd,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,+BAA+B,EAC/B,kBAAkB,EAClB,OAAO,GACV,EAAE,EAAE;IACD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,OAAO,CACH,oBAAC,UAAU,IACP,SAAS,EAAC,sGAAsG,EAChH,kBAAkB,EAAE,IAAI,EACxB,UAAU,EAAE,IAAI,EAChB,OAAO,EAAE,OAAO;QAEhB,6BAAK,SAAS,EAAC,0BAA0B;YACrC,6BAAK,SAAS,EAAC,kBAAkB;gBAC7B,oBAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,SAAS,EAAC,wBAAwB;oBACvD,kCAAO,WAAW,CAAQ;oBACzB,OAAO,CAAC,CAAC,CAAC,CACP,8BAAM,SAAS,EAAC,+BAA+B,IAC1C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CACpC,CACV,CAAC,CAAC,CAAC,IAAI,CACC,CACX,CACJ;QACN,6BAAK,SAAS,EAAC,mBAAmB,IAAE,QAAQ,CAAO;QACnD,6BAAK,SAAS,EAAC,kBAAkB;YAC7B,6BAAK,SAAS,EAAC,mCAAmC;gBAC9C,6BAAK,SAAS,EAAC,wCAAwC;oBACnD,oBAAC,MAAM,IACH,SAAS,EAAC,+BAA+B,EACzC,QAAQ,EAAE,EAAE,CAAC,uBAAuB,EAAE,0CAA0C,CAAC,EACjF,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,MAAM,GACjB,CACA;gBACN,6BAAK,SAAS,EAAC,yCAAyC;oBACpD,oBAAC,UAAU,IACP,cAAc,EAAE,cAAc,EAC9B,kBAAkB,EAAE,kBAAkB,EACtC,mBAAmB,EAAE,mBAAmB,EACxC,yBAAyB,EAAE,+BAA+B,GAC5D;oBACF,oBAAC,MAAM,IACH,SAAS,EAAC,+BAA+B,EACzC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC/C,OAAO,EAAE,OAAO,GAClB,CACA,CACJ,CACJ,CACG,CAChB,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IGrantedWorkspace, WorkspacePermissionSubject } from "../types.js";
|
|
3
|
+
export interface IAddWorkspaceProps {
|
|
4
|
+
ids: string[];
|
|
5
|
+
subjectType: WorkspacePermissionSubject;
|
|
6
|
+
grantedWorkspaces: IGrantedWorkspace[];
|
|
7
|
+
enableBackButton?: boolean;
|
|
8
|
+
onSubmit: (workspaces: IGrantedWorkspace[]) => void;
|
|
9
|
+
onCancel: () => void;
|
|
10
|
+
onClose: () => void;
|
|
11
|
+
}
|
|
12
|
+
export declare const AddWorkspace: React.FC<IAddWorkspaceProps>;
|
|
13
|
+
//# sourceMappingURL=AddWorkspace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddWorkspace.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAG3C,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAO5E,MAAM,WAAW,kBAAkB;IAC/B,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,WAAW,EAAE,0BAA0B,CAAC;IACxC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IACpD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAiDrD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// (C) 2023 GoodData Corporation
|
|
2
|
+
import { useIntl } from "react-intl";
|
|
3
|
+
import React, { useCallback } from "react";
|
|
4
|
+
import { BackButton, ConfirmDialogBase } from "@gooddata/sdk-ui-kit";
|
|
5
|
+
import { messages } from "../locales.js";
|
|
6
|
+
import { AddWorkspaceSelect } from "./AddWorkspaceSelect.js";
|
|
7
|
+
import { WorkspaceList } from "./WorkspaceList.js";
|
|
8
|
+
import { useAddWorkspace } from "./workspaceHooks.js";
|
|
9
|
+
export const AddWorkspace = ({ ids, subjectType, grantedWorkspaces, enableBackButton, onSubmit, onCancel, onClose, }) => {
|
|
10
|
+
const intl = useIntl();
|
|
11
|
+
const { addedWorkspaces, onAdd, onDelete, onChange, onSelect } = useAddWorkspace(ids, subjectType, onSubmit, onCancel);
|
|
12
|
+
const backButtonRenderer = useCallback(() => {
|
|
13
|
+
return React.createElement(BackButton, { onClick: onCancel, className: "s-user-management-navigate-back" });
|
|
14
|
+
}, [onCancel]);
|
|
15
|
+
return (React.createElement(ConfirmDialogBase, { className: "gd-share-dialog gd-share-dialog-add-users s-user-management-add-workspace", displayCloseButton: true, isPositive: true, isSubmitDisabled: addedWorkspaces.length === 0, headline: intl.formatMessage(messages.addWorkspaceDialogTitle), cancelButtonText: intl.formatMessage(messages.addWorkspaceDialogCloseButton), submitButtonText: intl.formatMessage(messages.addWorkspaceDialogSaveButton), onCancel: onCancel, onSubmit: onAdd, onClose: onClose, headerLeftButtonRenderer: enableBackButton ? backButtonRenderer : undefined },
|
|
16
|
+
React.createElement(AddWorkspaceSelect, { addedWorkspaces: addedWorkspaces, grantedWorkspaces: grantedWorkspaces, onSelectWorkspace: onSelect }),
|
|
17
|
+
React.createElement(WorkspaceList, { subjectType: subjectType, mode: "EDIT", workspaces: addedWorkspaces, onDelete: onDelete, onChange: onChange })));
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=AddWorkspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddWorkspace.js","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAYtD,MAAM,CAAC,MAAM,YAAY,GAAiC,CAAC,EACvD,GAAG,EACH,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,OAAO,GACV,EAAE,EAAE;IACD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,eAAe,CAC5E,GAAG,EACH,WAAW,EACX,QAAQ,EACR,QAAQ,CACX,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,OAAO,oBAAC,UAAU,IAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAC,iCAAiC,GAAG,CAAC;IACzF,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACH,oBAAC,iBAAiB,IACd,SAAS,EAAC,2EAA2E,EACrF,kBAAkB,EAAE,IAAI,EACxB,UAAU,EAAE,IAAI,EAChB,gBAAgB,EAAE,eAAe,CAAC,MAAM,KAAK,CAAC,EAC9C,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAC9D,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAC5E,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAC3E,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,KAAK,EACf,OAAO,EAAE,OAAO,EAChB,wBAAwB,EAAE,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;QAE3E,oBAAC,kBAAkB,IACf,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,QAAQ,GAC7B;QACF,oBAAC,aAAa,IACV,WAAW,EAAE,WAAW,EACxB,IAAI,EAAC,MAAM,EACX,UAAU,EAAE,eAAe,EAC3B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GACpB,CACc,CACvB,CAAC;AACN,CAAC,CAAC"}
|
package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspaceSelect.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddWorkspaceSelect.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspaceSelect.tsx"],"names":[],"mappings":"AACA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAQ7F,OAAO,EAAiB,wBAAwB,EAAmB,MAAM,aAAa,CAAC;AAgBvF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAwFjE,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// (C) 2021-2023 GoodData Corporation
|
|
2
|
+
import React, { useCallback, useEffect, useMemo, useRef } from "react";
|
|
3
|
+
import debounce from "debounce-promise";
|
|
4
|
+
import { useIntl } from "react-intl";
|
|
5
|
+
import AsyncSelect from "react-select/async";
|
|
6
|
+
import { useBackendStrict } from "@gooddata/sdk-ui";
|
|
7
|
+
import { isWorkspaceItem } from "../types.js";
|
|
8
|
+
import { messages } from "../locales.js";
|
|
9
|
+
import { EmptyRenderer, GroupHeadingRenderer, InputRendered, LoadingMessageRenderer, MenuListRendered, NoOptionsMessageRenderer, OptionRenderer, } from "./AsyncSelectComponents.js";
|
|
10
|
+
import { loadWorkspaceOptionsPromise } from "./backend/loadWorkspaceOptionsPromise.js";
|
|
11
|
+
const SEARCH_INTERVAL = 400;
|
|
12
|
+
export const AddWorkspaceSelect = ({ addedWorkspaces, grantedWorkspaces, onSelectWorkspace, }) => {
|
|
13
|
+
const backend = useBackendStrict();
|
|
14
|
+
const intl = useIntl();
|
|
15
|
+
const selectRef = useRef(null);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
selectRef.current.focus();
|
|
18
|
+
}, []);
|
|
19
|
+
const onSelect = useCallback((value) => {
|
|
20
|
+
const workspace = value.value;
|
|
21
|
+
if (isWorkspaceItem(workspace)) {
|
|
22
|
+
onSelectWorkspace(workspace);
|
|
23
|
+
}
|
|
24
|
+
}, [onSelectWorkspace]);
|
|
25
|
+
const noOptionsMessage = useMemo(() => () => intl.formatMessage(messages.searchWorkspaceNoMatch), [intl]);
|
|
26
|
+
const loadOptions = useMemo(() => debounce(loadWorkspaceOptionsPromise(backend, intl), SEARCH_INTERVAL, { leading: true }), [backend, intl]);
|
|
27
|
+
const onKeyDownCallback = useCallback((e) => {
|
|
28
|
+
const target = e.target;
|
|
29
|
+
// react-select has default behavior on space and tab key - open menu / select first option etc.
|
|
30
|
+
// We need disable this behavior for space key by set e.preventDefault when input is empty and for tab key completely
|
|
31
|
+
//space
|
|
32
|
+
if (e.keyCode === 32 && !target.value) {
|
|
33
|
+
e.preventDefault();
|
|
34
|
+
}
|
|
35
|
+
// tab
|
|
36
|
+
if (e.keyCode === 9) {
|
|
37
|
+
e.preventDefault();
|
|
38
|
+
}
|
|
39
|
+
}, []);
|
|
40
|
+
const usedWorkspace = useMemo(() => (grantedWorkspaces ? [...addedWorkspaces, ...grantedWorkspaces] : []), [addedWorkspaces, grantedWorkspaces]);
|
|
41
|
+
const filterOption = (option) => {
|
|
42
|
+
const workspace = option.value;
|
|
43
|
+
return !usedWorkspace.some((usedWorkspace) => {
|
|
44
|
+
return usedWorkspace.id === workspace.id;
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
return (React.createElement("div", { className: "gd-share-dialog-content-select s-user-management-workspace-select" },
|
|
48
|
+
React.createElement(AsyncSelect, { ref: selectRef, defaultMenuIsOpen: true, classNamePrefix: "gd-share-dialog", components: {
|
|
49
|
+
DropdownIndicator: EmptyRenderer,
|
|
50
|
+
IndicatorSeparator: EmptyRenderer,
|
|
51
|
+
Input: InputRendered,
|
|
52
|
+
Option: OptionRenderer,
|
|
53
|
+
GroupHeading: GroupHeadingRenderer,
|
|
54
|
+
LoadingMessage: LoadingMessageRenderer,
|
|
55
|
+
LoadingIndicator: EmptyRenderer,
|
|
56
|
+
MenuList: MenuListRendered,
|
|
57
|
+
NoOptionsMessage: NoOptionsMessageRenderer,
|
|
58
|
+
}, loadOptions: loadOptions, defaultOptions: true, placeholder: intl.formatMessage(messages.searchWorkspacePlaceholder), onKeyDown: onKeyDownCallback, noOptionsMessage: noOptionsMessage, onChange: onSelect, value: null, filterOption: filterOption })));
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=AddWorkspaceSelect.js.map
|
package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspaceSelect.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddWorkspaceSelect.js","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspaceSelect.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAwB,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,EAA2C,eAAe,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EACH,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,GACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAEvF,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,MAAM,CAAC,MAAM,kBAAkB,GAAuC,CAAC,EACnE,eAAe,EACf,iBAAiB,EACjB,iBAAiB,GACpB,EAAE,EAAE;IACD,MAAM,OAAO,GAAuB,gBAAgB,EAAE,CAAC;IAEvD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,MAAM,CAA6B,IAAI,CAAC,CAAC;IAE3D,SAAS,CAAC,GAAG,EAAE;QACX,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,QAAQ,GAAG,WAAW,CACxB,CAAC,KAA4C,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAI,KAAuB,CAAC,KAAK,CAAC;QAEjD,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE;YAC5B,iBAAiB,CAAC,SAAS,CAAC,CAAC;SAChC;IACL,CAAC,EACD,CAAC,iBAAiB,CAAC,CACtB,CAAC;IAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1G,MAAM,WAAW,GAAG,OAAO,CACvB,GAAG,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAC9F,CAAC,OAAO,EAAE,IAAI,CAAC,CAClB,CAAC;IAEF,MAAM,iBAAiB,GAA2C,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;QAChF,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAC;QAC5C,iGAAiG;QACjG,qHAAqH;QAErH,OAAO;QACP,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACnC,CAAC,CAAC,cAAc,EAAE,CAAC;SACtB;QAED,MAAM;QACN,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE;YACjB,CAAC,CAAC,cAAc,EAAE,CAAC;SACtB;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC3E,CAAC,eAAe,EAAE,iBAAiB,CAAC,CACvC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,MAAW,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QAC/B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;YACzC,OAAO,aAAa,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAC,mEAAmE;QAC9E,oBAAC,WAAW,IACR,GAAG,EAAE,SAAS,EACd,iBAAiB,EAAE,IAAI,EACvB,eAAe,EAAC,iBAAiB,EACjC,UAAU,EAAE;gBACR,iBAAiB,EAAE,aAAa;gBAChC,kBAAkB,EAAE,aAAa;gBACjC,KAAK,EAAE,aAAa;gBACpB,MAAM,EAAE,cAAc;gBACtB,YAAY,EAAE,oBAAoB;gBAClC,cAAc,EAAE,sBAAsB;gBACtC,gBAAgB,EAAE,aAAa;gBAC/B,QAAQ,EAAE,gBAAgB;gBAC1B,gBAAgB,EAAE,wBAAwB;aAC7C,EACD,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,IAAI,EACpB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EACpE,SAAS,EAAE,iBAAiB,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,IAAI,EACX,YAAY,EAAE,YAAY,GAC5B,CACA,CACT,CAAC;AACN,CAAC,CAAC"}
|
package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AsyncSelectComponents.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { InputProps, GroupHeadingProps, OptionProps, MenuListProps, NoticeProps } from "react-select";
|
|
3
|
+
import { ISelectOption, ISelectErrorOption } from "../types.js";
|
|
4
|
+
export declare const EmptyRenderer: () => JSX.Element;
|
|
5
|
+
export declare const LoadingMessageRenderer: () => JSX.Element;
|
|
6
|
+
export declare const NoOptionsMessageRenderer: (props: NoticeProps) => JSX.Element;
|
|
7
|
+
export declare const MenuListRendered: (props: MenuListProps<ISelectOption, false>) => JSX.Element;
|
|
8
|
+
export declare const InputRendered: (props: InputProps) => JSX.Element;
|
|
9
|
+
export declare const ErrorOptionRenderer: (errorOption: ISelectErrorOption) => JSX.Element;
|
|
10
|
+
export declare const OptionRenderer: (props: OptionProps<ISelectOption, false>) => JSX.Element;
|
|
11
|
+
export declare const GroupHeadingRenderer: (props: GroupHeadingProps) => JSX.Element;
|
|
12
|
+
//# sourceMappingURL=AsyncSelectComponents.d.ts.map
|