@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.
Files changed (260) hide show
  1. package/esm/index.d.ts +1 -0
  2. package/esm/index.d.ts.map +1 -1
  3. package/esm/index.js +1 -0
  4. package/esm/index.js.map +1 -1
  5. package/esm/internal/components/dialogs/userManagementDialogs/AddUserGroupsToUsersDialog.d.ts +15 -0
  6. package/esm/internal/components/dialogs/userManagementDialogs/AddUserGroupsToUsersDialog.d.ts.map +1 -0
  7. package/esm/internal/components/dialogs/userManagementDialogs/AddUserGroupsToUsersDialog.js +16 -0
  8. package/esm/internal/components/dialogs/userManagementDialogs/AddUserGroupsToUsersDialog.js.map +1 -0
  9. package/esm/internal/components/dialogs/userManagementDialogs/AddUsersToUserGroupsDialog.d.ts +15 -0
  10. package/esm/internal/components/dialogs/userManagementDialogs/AddUsersToUserGroupsDialog.d.ts.map +1 -0
  11. package/esm/internal/components/dialogs/userManagementDialogs/AddUsersToUserGroupsDialog.js +16 -0
  12. package/esm/internal/components/dialogs/userManagementDialogs/AddUsersToUserGroupsDialog.js.map +1 -0
  13. package/esm/internal/components/dialogs/userManagementDialogs/AddWorkspaceToSubjects.d.ts +17 -0
  14. package/esm/internal/components/dialogs/userManagementDialogs/AddWorkspaceToSubjects.d.ts.map +1 -0
  15. package/esm/internal/components/dialogs/userManagementDialogs/AddWorkspaceToSubjects.js +16 -0
  16. package/esm/internal/components/dialogs/userManagementDialogs/AddWorkspaceToSubjects.js.map +1 -0
  17. package/esm/internal/components/dialogs/userManagementDialogs/ConfirmDialogs/DeleteConfirmDialog.d.ts +9 -0
  18. package/esm/internal/components/dialogs/userManagementDialogs/ConfirmDialogs/DeleteConfirmDialog.d.ts.map +1 -0
  19. package/esm/internal/components/dialogs/userManagementDialogs/ConfirmDialogs/DeleteConfirmDialog.js +11 -0
  20. package/esm/internal/components/dialogs/userManagementDialogs/ConfirmDialogs/DeleteConfirmDialog.js.map +1 -0
  21. package/esm/internal/components/dialogs/userManagementDialogs/CreateUserGroupDialog.d.ts +14 -0
  22. package/esm/internal/components/dialogs/userManagementDialogs/CreateUserGroupDialog.d.ts.map +1 -0
  23. package/esm/internal/components/dialogs/userManagementDialogs/CreateUserGroupDialog.js +40 -0
  24. package/esm/internal/components/dialogs/userManagementDialogs/CreateUserGroupDialog.js.map +1 -0
  25. package/esm/internal/components/dialogs/userManagementDialogs/DeleteLink.d.ts +9 -0
  26. package/esm/internal/components/dialogs/userManagementDialogs/DeleteLink.d.ts.map +1 -0
  27. package/esm/internal/components/dialogs/userManagementDialogs/DeleteLink.js +13 -0
  28. package/esm/internal/components/dialogs/userManagementDialogs/DeleteLink.js.map +1 -0
  29. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserDialog.d.ts +15 -0
  30. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserDialog.d.ts.map +1 -0
  31. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserDialog.js +15 -0
  32. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserDialog.js.map +1 -0
  33. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupDialog.d.ts +15 -0
  34. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupDialog.d.ts.map +1 -0
  35. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupDialog.js +15 -0
  36. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupDialog.js.map +1 -0
  37. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupsDialog.d.ts +15 -0
  38. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupsDialog.d.ts.map +1 -0
  39. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupsDialog.js +34 -0
  40. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUserGroupsDialog.js.map +1 -0
  41. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUsersDialog.d.ts +15 -0
  42. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUsersDialog.d.ts.map +1 -0
  43. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUsersDialog.js +33 -0
  44. package/esm/internal/components/dialogs/userManagementDialogs/DeleteUsersDialog.js.map +1 -0
  45. package/esm/internal/components/dialogs/userManagementDialogs/Details/DetailRow.d.ts +11 -0
  46. package/esm/internal/components/dialogs/userManagementDialogs/Details/DetailRow.d.ts.map +1 -0
  47. package/esm/internal/components/dialogs/userManagementDialogs/Details/DetailRow.js +20 -0
  48. package/esm/internal/components/dialogs/userManagementDialogs/Details/DetailRow.js.map +1 -0
  49. package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserDetails.d.ts +14 -0
  50. package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserDetails.d.ts.map +1 -0
  51. package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserDetails.js +25 -0
  52. package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserDetails.js.map +1 -0
  53. package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserGroupDetails.d.ts +11 -0
  54. package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserGroupDetails.d.ts.map +1 -0
  55. package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserGroupDetails.js +18 -0
  56. package/esm/internal/components/dialogs/userManagementDialogs/Details/EditUserGroupDetails.js.map +1 -0
  57. package/esm/internal/components/dialogs/userManagementDialogs/Details/OrganizationMemberDropdown.d.ts +8 -0
  58. package/esm/internal/components/dialogs/userManagementDialogs/Details/OrganizationMemberDropdown.d.ts.map +1 -0
  59. package/esm/internal/components/dialogs/userManagementDialogs/Details/OrganizationMemberDropdown.js +37 -0
  60. package/esm/internal/components/dialogs/userManagementDialogs/Details/OrganizationMemberDropdown.js.map +1 -0
  61. package/esm/internal/components/dialogs/userManagementDialogs/Details/UserDetailsView.d.ts +12 -0
  62. package/esm/internal/components/dialogs/userManagementDialogs/Details/UserDetailsView.d.ts.map +1 -0
  63. package/esm/internal/components/dialogs/userManagementDialogs/Details/UserDetailsView.js +27 -0
  64. package/esm/internal/components/dialogs/userManagementDialogs/Details/UserDetailsView.js.map +1 -0
  65. package/esm/internal/components/dialogs/userManagementDialogs/Details/UserGroupDetailsView.d.ts +10 -0
  66. package/esm/internal/components/dialogs/userManagementDialogs/Details/UserGroupDetailsView.d.ts.map +1 -0
  67. package/esm/internal/components/dialogs/userManagementDialogs/Details/UserGroupDetailsView.js +16 -0
  68. package/esm/internal/components/dialogs/userManagementDialogs/Details/UserGroupDetailsView.js.map +1 -0
  69. package/esm/internal/components/dialogs/userManagementDialogs/Details/detailsHooks.d.ts +16 -0
  70. package/esm/internal/components/dialogs/userManagementDialogs/Details/detailsHooks.d.ts.map +1 -0
  71. package/esm/internal/components/dialogs/userManagementDialogs/Details/detailsHooks.js +94 -0
  72. package/esm/internal/components/dialogs/userManagementDialogs/Details/detailsHooks.js.map +1 -0
  73. package/esm/internal/components/dialogs/userManagementDialogs/OrganizationIdContext.d.ts +8 -0
  74. package/esm/internal/components/dialogs/userManagementDialogs/OrganizationIdContext.d.ts.map +1 -0
  75. package/esm/internal/components/dialogs/userManagementDialogs/OrganizationIdContext.js +14 -0
  76. package/esm/internal/components/dialogs/userManagementDialogs/OrganizationIdContext.js.map +1 -0
  77. package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.d.ts +19 -0
  78. package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.d.ts.map +1 -0
  79. package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.js +71 -0
  80. package/esm/internal/components/dialogs/userManagementDialogs/UserEditDialog.js.map +1 -0
  81. package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.d.ts +18 -0
  82. package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.d.ts.map +1 -0
  83. package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.js +73 -0
  84. package/esm/internal/components/dialogs/userManagementDialogs/UserGroupEditDialog.js.map +1 -0
  85. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroup.d.ts +12 -0
  86. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroup.d.ts.map +1 -0
  87. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroup.js +17 -0
  88. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroup.js.map +1 -0
  89. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupContent.d.ts +10 -0
  90. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupContent.d.ts.map +1 -0
  91. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupContent.js +10 -0
  92. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupContent.js.map +1 -0
  93. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupSelect.d.ts +9 -0
  94. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupSelect.d.ts.map +1 -0
  95. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupSelect.js +64 -0
  96. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AddUserGroupSelect.js.map +1 -0
  97. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AsyncSelectComponents.d.ts +12 -0
  98. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AsyncSelectComponents.d.ts.map +1 -0
  99. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AsyncSelectComponents.js +54 -0
  100. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/AsyncSelectComponents.js.map +1 -0
  101. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupItem.d.ts +10 -0
  102. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupItem.d.ts.map +1 -0
  103. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupItem.js +28 -0
  104. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupItem.js.map +1 -0
  105. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsList.d.ts +9 -0
  106. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsList.d.ts.map +1 -0
  107. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsList.js +17 -0
  108. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsList.js.map +1 -0
  109. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsListEmpty.d.ts +7 -0
  110. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsListEmpty.d.ts.map +1 -0
  111. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsListEmpty.js +12 -0
  112. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/UserGroupsListEmpty.js.map +1 -0
  113. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/backend/loadUserGroupOptionsPromise.d.ts +5 -0
  114. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/backend/loadUserGroupOptionsPromise.d.ts.map +1 -0
  115. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/backend/loadUserGroupOptionsPromise.js +38 -0
  116. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/backend/loadUserGroupOptionsPromise.js.map +1 -0
  117. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/userGroupHooks.d.ts +8 -0
  118. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/userGroupHooks.d.ts.map +1 -0
  119. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/userGroupHooks.js +64 -0
  120. package/esm/internal/components/dialogs/userManagementDialogs/UserGroups/userGroupHooks.js.map +1 -0
  121. package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUser.d.ts +12 -0
  122. package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUser.d.ts.map +1 -0
  123. package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUser.js +17 -0
  124. package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUser.js.map +1 -0
  125. package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserContent.d.ts +10 -0
  126. package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserContent.d.ts.map +1 -0
  127. package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserContent.js +10 -0
  128. package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserContent.js.map +1 -0
  129. package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserSelect.d.ts +9 -0
  130. package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserSelect.d.ts.map +1 -0
  131. package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserSelect.js +64 -0
  132. package/esm/internal/components/dialogs/userManagementDialogs/Users/AddUserSelect.js.map +1 -0
  133. package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.d.ts +12 -0
  134. package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.d.ts.map +1 -0
  135. package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.js +56 -0
  136. package/esm/internal/components/dialogs/userManagementDialogs/Users/AsyncSelectComponents.js.map +1 -0
  137. package/esm/internal/components/dialogs/userManagementDialogs/Users/UserItem.d.ts +10 -0
  138. package/esm/internal/components/dialogs/userManagementDialogs/Users/UserItem.d.ts.map +1 -0
  139. package/esm/internal/components/dialogs/userManagementDialogs/Users/UserItem.js +29 -0
  140. package/esm/internal/components/dialogs/userManagementDialogs/Users/UserItem.js.map +1 -0
  141. package/esm/internal/components/dialogs/userManagementDialogs/Users/UsersList.d.ts +9 -0
  142. package/esm/internal/components/dialogs/userManagementDialogs/Users/UsersList.d.ts.map +1 -0
  143. package/esm/internal/components/dialogs/userManagementDialogs/Users/UsersList.js +17 -0
  144. package/esm/internal/components/dialogs/userManagementDialogs/Users/UsersList.js.map +1 -0
  145. package/esm/internal/components/dialogs/userManagementDialogs/Users/UsersListEmpty.d.ts +7 -0
  146. package/esm/internal/components/dialogs/userManagementDialogs/Users/UsersListEmpty.d.ts.map +1 -0
  147. package/esm/internal/components/dialogs/userManagementDialogs/Users/UsersListEmpty.js +12 -0
  148. package/esm/internal/components/dialogs/userManagementDialogs/Users/UsersListEmpty.js.map +1 -0
  149. package/esm/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.d.ts +5 -0
  150. package/esm/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.d.ts.map +1 -0
  151. package/esm/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.js +39 -0
  152. package/esm/internal/components/dialogs/userManagementDialogs/Users/backend/loadUsersOptionsPromise.js.map +1 -0
  153. package/esm/internal/components/dialogs/userManagementDialogs/Users/usersHooks.d.ts +8 -0
  154. package/esm/internal/components/dialogs/userManagementDialogs/Users/usersHooks.d.ts.map +1 -0
  155. package/esm/internal/components/dialogs/userManagementDialogs/Users/usersHooks.js +58 -0
  156. package/esm/internal/components/dialogs/userManagementDialogs/Users/usersHooks.js.map +1 -0
  157. package/esm/internal/components/dialogs/userManagementDialogs/ViewDialog.d.ts +16 -0
  158. package/esm/internal/components/dialogs/userManagementDialogs/ViewDialog.d.ts.map +1 -0
  159. package/esm/internal/components/dialogs/userManagementDialogs/ViewDialog.js +25 -0
  160. package/esm/internal/components/dialogs/userManagementDialogs/ViewDialog.js.map +1 -0
  161. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.d.ts +13 -0
  162. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.d.ts.map +1 -0
  163. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.js +19 -0
  164. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspace.js.map +1 -0
  165. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspaceSelect.d.ts +4 -0
  166. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspaceSelect.d.ts.map +1 -0
  167. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspaceSelect.js +60 -0
  168. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspaceSelect.js.map +1 -0
  169. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AsyncSelectComponents.d.ts +12 -0
  170. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AsyncSelectComponents.d.ts.map +1 -0
  171. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AsyncSelectComponents.js +60 -0
  172. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/AsyncSelectComponents.js.map +1 -0
  173. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionDropdownItem.d.ts +10 -0
  174. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionDropdownItem.d.ts.map +1 -0
  175. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionDropdownItem.js +22 -0
  176. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionDropdownItem.js.map +1 -0
  177. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionsDropdown.d.ts +13 -0
  178. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionsDropdown.d.ts.map +1 -0
  179. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionsDropdown.js +33 -0
  180. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionsDropdown.js.map +1 -0
  181. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionsDropdownList.d.ts +11 -0
  182. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionsDropdownList.d.ts.map +1 -0
  183. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionsDropdownList.js +24 -0
  184. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/HierarchicalPermissionsDropdownList.js.map +1 -0
  185. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionDropdownItem.d.ts +12 -0
  186. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionDropdownItem.d.ts.map +1 -0
  187. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionDropdownItem.js +24 -0
  188. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionDropdownItem.js.map +1 -0
  189. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdown.d.ts +15 -0
  190. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdown.d.ts.map +1 -0
  191. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdown.js +58 -0
  192. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdown.js.map +1 -0
  193. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdownList.d.ts +15 -0
  194. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdownList.d.ts.map +1 -0
  195. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdownList.js +51 -0
  196. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/PermissionsDropdownList.js.map +1 -0
  197. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/QuestionMarkIcon.d.ts +3 -0
  198. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/QuestionMarkIcon.d.ts.map +1 -0
  199. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/QuestionMarkIcon.js +11 -0
  200. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/QuestionMarkIcon.js.map +1 -0
  201. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceItem.d.ts +11 -0
  202. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceItem.d.ts.map +1 -0
  203. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceItem.js +26 -0
  204. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/WorkspaceItem.js.map +1 -0
  205. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/locales.d.ts +29 -0
  206. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/locales.d.ts.map +1 -0
  207. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/locales.js +15 -0
  208. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/locales.js.map +1 -0
  209. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/usePermissionsDropdownState.d.ts +5 -0
  210. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/usePermissionsDropdownState.d.ts.map +1 -0
  211. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/usePermissionsDropdownState.js +8 -0
  212. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceItem/usePermissionsDropdownState.js.map +1 -0
  213. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceList.d.ts +11 -0
  214. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceList.d.ts.map +1 -0
  215. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceList.js +17 -0
  216. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceList.js.map +1 -0
  217. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceListEmpty.d.ts +7 -0
  218. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceListEmpty.d.ts.map +1 -0
  219. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceListEmpty.js +12 -0
  220. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/WorkspaceListEmpty.js.map +1 -0
  221. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/backend/loadWorkspaceOptionsPromise.d.ts +5 -0
  222. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/backend/loadWorkspaceOptionsPromise.d.ts.map +1 -0
  223. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/backend/loadWorkspaceOptionsPromise.js +36 -0
  224. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/backend/loadWorkspaceOptionsPromise.js.map +1 -0
  225. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/workspaceHooks.d.ts +10 -0
  226. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/workspaceHooks.d.ts.map +1 -0
  227. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/workspaceHooks.js +75 -0
  228. package/esm/internal/components/dialogs/userManagementDialogs/Workspace/workspaceHooks.js.map +1 -0
  229. package/esm/internal/components/dialogs/userManagementDialogs/dialogHooks.d.ts +67 -0
  230. package/esm/internal/components/dialogs/userManagementDialogs/dialogHooks.d.ts.map +1 -0
  231. package/esm/internal/components/dialogs/userManagementDialogs/dialogHooks.js +351 -0
  232. package/esm/internal/components/dialogs/userManagementDialogs/dialogHooks.js.map +1 -0
  233. package/esm/internal/components/dialogs/userManagementDialogs/index.d.ts +12 -0
  234. package/esm/internal/components/dialogs/userManagementDialogs/index.d.ts.map +1 -0
  235. package/esm/internal/components/dialogs/userManagementDialogs/index.js +12 -0
  236. package/esm/internal/components/dialogs/userManagementDialogs/index.js.map +1 -0
  237. package/esm/internal/components/dialogs/userManagementDialogs/locales.d.ts +340 -0
  238. package/esm/internal/components/dialogs/userManagementDialogs/locales.d.ts.map +1 -0
  239. package/esm/internal/components/dialogs/userManagementDialogs/locales.js +120 -0
  240. package/esm/internal/components/dialogs/userManagementDialogs/locales.js.map +1 -0
  241. package/esm/internal/components/dialogs/userManagementDialogs/types.d.ts +61 -0
  242. package/esm/internal/components/dialogs/userManagementDialogs/types.d.ts.map +1 -0
  243. package/esm/internal/components/dialogs/userManagementDialogs/types.js +15 -0
  244. package/esm/internal/components/dialogs/userManagementDialogs/types.js.map +1 -0
  245. package/esm/internal/components/dialogs/userManagementDialogs/utils.d.ts +16 -0
  246. package/esm/internal/components/dialogs/userManagementDialogs/utils.d.ts.map +1 -0
  247. package/esm/internal/components/dialogs/userManagementDialogs/utils.js +84 -0
  248. package/esm/internal/components/dialogs/userManagementDialogs/utils.js.map +1 -0
  249. package/esm/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.d.ts +1 -1
  250. package/esm/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.d.ts.map +1 -1
  251. package/esm/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.js +2 -2
  252. package/esm/internal/utils/uiConfigHelpers/pivotTableUiConfigHelper.js.map +1 -1
  253. package/esm/sdk-ui-ext.d.ts +170 -0
  254. package/package.json +22 -18
  255. package/styles/css/main.css +123 -0
  256. package/styles/css/main.css.map +1 -1
  257. package/styles/internal/css/user_management_dialogs.css +124 -0
  258. package/styles/internal/css/user_management_dialogs.css.map +1 -0
  259. package/styles/internal/scss/user_management_dialogs.scss +136 -0
  260. 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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"}
@@ -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
@@ -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
@@ -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,7 @@
1
+ import React from "react";
2
+ import { ListMode } from "../types.js";
3
+ export interface IUsersListEmptyProps {
4
+ mode: ListMode;
5
+ }
6
+ export declare const UsersListEmpty: React.FC<IUsersListEmptyProps>;
7
+ //# sourceMappingURL=UsersListEmpty.d.ts.map
@@ -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"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { IAddWorkspaceSelectProps } from "../types.js";
3
+ export declare const AddWorkspaceSelect: React.FC<IAddWorkspaceSelectProps>;
4
+ //# sourceMappingURL=AddWorkspaceSelect.d.ts.map
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddWorkspaceSelect.js","sourceRoot":"","sources":["../../../../../../src/internal/components/dialogs/userManagementDialogs/Workspace/AddWorkspaceSelect.tsx"],"names":[],"mappings":"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"}
@@ -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