@ynput/ayon-frontend-shared 0.3.15 → 0.3.17
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/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +28 -24
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/Views.cjs.js +1 -1
- package/dist/Views.cjs.js.map +1 -1
- package/dist/Views.es.js +36 -41
- package/dist/Views.es.js.map +1 -1
- package/dist/_virtual/index.cjs.js +1 -1
- package/dist/_virtual/index.cjs2.js +1 -1
- package/dist/_virtual/index.cjs3.js +1 -1
- package/dist/_virtual/index.cjs4.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.cjs6.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- package/dist/_virtual/index.es.js +4 -5
- package/dist/_virtual/index.es2.js +6 -2
- package/dist/_virtual/index.es2.js.map +1 -1
- package/dist/_virtual/index.es3.js +2 -5
- package/dist/_virtual/index.es3.js.map +1 -1
- package/dist/_virtual/index.es4.js +5 -2
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es5.js +2 -5
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/_virtual/index.es6.js +5 -2
- package/dist/_virtual/index.es6.js.map +1 -1
- package/dist/_virtual/index.es7.js +2 -2
- package/dist/_virtual/index.es8.js +2 -5
- package/dist/_virtual/index.es8.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +15 -11
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
- package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
- package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js.map +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
- package/dist/shared/node_modules/prop-types/index.es.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/index.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/generated/access.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/access.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +5 -3
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +2 -0
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/users.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +99 -90
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +13 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +72 -25
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +25 -21
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +14 -14
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js +23 -23
- package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +71 -36
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.es.js +120 -89
- package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +52 -12
- package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +63 -21
- package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +8 -4
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/utils/groupLinks.cjs.js +2 -0
- package/dist/shared/src/components/LinksManager/utils/groupLinks.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/utils/groupLinks.es.js +18 -0
- package/dist/shared/src/components/LinksManager/utils/groupLinks.es.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +8 -4
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +10 -6
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +8 -4
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +8 -4
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +8 -4
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +9 -5
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +139 -128
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +90 -81
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +8 -4
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js +9 -5
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +8 -4
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +8 -4
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +8 -4
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +8 -4
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +20 -16
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +8 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +9 -5
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +12 -8
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +22 -18
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +8 -4
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +8 -4
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +57 -45
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +8 -4
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +8 -4
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +8 -4
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/usePreserveChildSelectionByName.cjs.js +2 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/usePreserveChildSelectionByName.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/usePreserveChildSelectionByName.es.js +70 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/usePreserveChildSelectionByName.es.js.map +1 -0
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +247 -151
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -4
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +6 -2
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +9 -5
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +8 -4
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.es.js +3 -3
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +8 -4
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +59 -55
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +9 -5
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +16 -16
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +9 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +17 -13
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +7 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +60 -48
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +24 -24
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +8 -4
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +8 -4
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +8 -4
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +24 -23
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +83 -88
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +56 -53
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +23 -144
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewSettingsChanged.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewSettingsChanged.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/types.cjs.js +2 -0
- package/dist/shared/src/containers/Views/types.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/types.es.js +15 -0
- package/dist/shared/src/containers/Views/types.es.js.map +1 -0
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/isViewStudioScope.cjs.js +2 -0
- package/dist/shared/src/containers/Views/utils/isViewStudioScope.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/utils/isViewStudioScope.es.js +5 -0
- package/dist/shared/src/containers/Views/utils/isViewStudioScope.es.js.map +1 -0
- package/dist/shared/src/containers/Views/utils/portalUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/portalUtils.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +76 -77
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +9 -5
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/types/api/generated/access.d.ts +6 -0
- package/dist/types/api/generated/graphql.d.ts +8 -4
- package/dist/types/api/generated/users.d.ts +6 -1
- package/dist/types/components/AttributeEditor/AttributeEditor.d.ts +1 -0
- package/dist/types/components/LinksManager/LinkManagerItem.d.ts +2 -0
- package/dist/types/components/LinksManager/LinksManager.styled.d.ts +6 -0
- package/dist/types/components/LinksManager/utils/groupLinks.d.ts +14 -0
- package/dist/types/components/ReviewablesList/ReviewablesUpload.d.ts +1 -0
- package/dist/types/containers/EntityPickerDialog/hooks/useGetEntityPickerData.d.ts +1 -1
- package/dist/types/containers/EntityPickerDialog/hooks/usePreserveChildSelectionByName.d.ts +11 -0
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +1 -0
- package/dist/types/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.d.ts +2 -1
- package/dist/types/containers/Views/ViewsMenuContainer/ViewsMenuContainer.d.ts +2 -2
- package/dist/types/containers/Views/context/ViewsContext.d.ts +3 -2
- package/dist/types/containers/Views/hooks/useBaseViewMutations.d.ts +1 -1
- package/dist/types/containers/Views/hooks/useBuildViewMenuItems.d.ts +2 -3
- package/dist/types/containers/Views/hooks/useSaveViewFromCurrent.d.ts +2 -1
- package/dist/types/containers/Views/hooks/useViewSettingsChanged.d.ts +1 -1
- package/dist/types/containers/Views/index.d.ts +1 -7
- package/dist/types/containers/Views/types.d.ts +10 -0
- package/dist/types/containers/Views/utils/isViewStudioScope.d.ts +2 -0
- package/dist/types/containers/Views/utils/portalUtils.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.cjs.js","sources":["../../../../../src/api/generated/users.ts"],"sourcesContent":["import { api } from '@shared/api/base'\nconst injectedRtkApi = api.injectEndpoints({\n endpoints: (build) => ({\n getUserPools: build.query<GetUserPoolsApiResponse, GetUserPoolsApiArg>({\n query: () => ({ url: `/api/auth/pools` }),\n }),\n getUserApiKeys: build.query<GetUserApiKeysApiResponse, GetUserApiKeysApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/apikeys` }),\n }),\n createUserApiKey: build.mutation<CreateUserApiKeyApiResponse, CreateUserApiKeyApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/apikeys`,\n method: 'POST',\n body: queryArg.apiKeyPostModel,\n }),\n }),\n deleteUserApiKey: build.mutation<DeleteUserApiKeyApiResponse, DeleteUserApiKeyApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/apikeys/${queryArg.entityId}`,\n method: 'DELETE',\n }),\n }),\n updateUserApiKey: build.mutation<UpdateUserApiKeyApiResponse, UpdateUserApiKeyApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/apikeys/${queryArg.entityId}`,\n method: 'PATCH',\n body: queryArg.apiKeyPatchModel,\n }),\n }),\n getAvatar: build.query<GetAvatarApiResponse, GetAvatarApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/avatar` }),\n }),\n uploadAvatar: build.mutation<UploadAvatarApiResponse, UploadAvatarApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/avatar`, method: 'PUT' }),\n }),\n deleteAvatar: build.mutation<DeleteAvatarApiResponse, DeleteAvatarApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/avatar`, method: 'DELETE' }),\n }),\n passwordResetRequest: build.mutation<\n PasswordResetRequestApiResponse,\n PasswordResetRequestApiArg\n >({\n query: (queryArg) => ({\n url: `/api/users/passwordResetRequest`,\n method: 'POST',\n body: queryArg.passwordResetRequestModel,\n }),\n }),\n passwordReset: build.mutation<PasswordResetApiResponse, PasswordResetApiArg>({\n query: (queryArg) => ({\n url: `/api/users/passwordReset`,\n method: 'POST',\n body: queryArg.passwordResetModel,\n }),\n }),\n getMyPermissions: build.query<GetMyPermissionsApiResponse, GetMyPermissionsApiArg>({\n query: () => ({ url: `/api/users/me/permissions` }),\n }),\n getMyProjectPermissions: build.query<\n GetMyProjectPermissionsApiResponse,\n GetMyProjectPermissionsApiArg\n >({\n query: (queryArg) => ({ url: `/api/users/me/permissions/${queryArg.projectName}` }),\n }),\n getUserStudioPermissions: build.query<\n GetUserStudioPermissionsApiResponse,\n GetUserStudioPermissionsApiArg\n >({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/permissions` }),\n }),\n getUserProjectPermissions: build.query<\n GetUserProjectPermissionsApiResponse,\n GetUserProjectPermissionsApiArg\n >({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/permissions/${queryArg.projectName}`,\n }),\n }),\n getCurrentUser: build.query<GetCurrentUserApiResponse, GetCurrentUserApiArg>({\n query: () => ({ url: `/api/users/me` }),\n }),\n getUser: build.query<GetUserApiResponse, GetUserApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}` }),\n }),\n createUser: build.mutation<CreateUserApiResponse, CreateUserApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}`,\n method: 'PUT',\n body: queryArg.newUserModel,\n headers: {\n 'x-sender': queryArg['x-sender'],\n 'x-sender-type': queryArg['x-sender-type'],\n },\n }),\n }),\n deleteUser: build.mutation<DeleteUserApiResponse, DeleteUserApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}`,\n method: 'DELETE',\n headers: {\n 'x-sender': queryArg['x-sender'],\n 'x-sender-type': queryArg['x-sender-type'],\n },\n }),\n }),\n patchUser: build.mutation<PatchUserApiResponse, PatchUserApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}`,\n method: 'PATCH',\n body: queryArg.userPatchModel,\n }),\n }),\n changePassword: build.mutation<ChangePasswordApiResponse, ChangePasswordApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/password`,\n method: 'PATCH',\n body: queryArg.changePasswordRequestModel,\n }),\n }),\n checkPassword: build.mutation<CheckPasswordApiResponse, CheckPasswordApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/checkPassword`,\n method: 'POST',\n body: queryArg.checkPasswordRequestModel,\n }),\n }),\n changeUserName: build.mutation<ChangeUserNameApiResponse, ChangeUserNameApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/rename`,\n method: 'PATCH',\n body: queryArg.changeUserNameRequestModel,\n headers: {\n 'x-sender': queryArg['x-sender'],\n 'x-sender-type': queryArg['x-sender-type'],\n },\n }),\n }),\n getUserSessions: build.query<GetUserSessionsApiResponse, GetUserSessionsApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/sessions` }),\n }),\n deleteUserSession: build.mutation<DeleteUserSessionApiResponse, DeleteUserSessionApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/sessions/${queryArg.sessionId}`,\n method: 'DELETE',\n }),\n }),\n assignAccessGroups: build.mutation<AssignAccessGroupsApiResponse, AssignAccessGroupsApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/accessGroups`,\n method: 'PATCH',\n body: queryArg.assignAccessGroupsRequestModel,\n }),\n }),\n setFrontendPreferences: build.mutation<\n SetFrontendPreferencesApiResponse,\n SetFrontendPreferencesApiArg\n >({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/frontendPreferences`,\n method: 'PATCH',\n body: queryArg.patchData,\n }),\n }),\n }),\n overrideExisting: false,\n})\nexport { injectedRtkApi as api }\nexport type GetUserPoolsApiResponse = /** status 200 Successful Response */ UserPoolModel[]\nexport type GetUserPoolsApiArg = void\nexport type GetUserApiKeysApiResponse = /** status 200 Successful Response */ ApiKeyModel[]\nexport type GetUserApiKeysApiArg = {\n userName: string\n}\nexport type CreateUserApiKeyApiResponse = /** status 200 Successful Response */ any\nexport type CreateUserApiKeyApiArg = {\n userName: string\n apiKeyPostModel: ApiKeyPostModel\n}\nexport type DeleteUserApiKeyApiResponse = /** status 200 Successful Response */ any\nexport type DeleteUserApiKeyApiArg = {\n userName: string\n entityId: string\n}\nexport type UpdateUserApiKeyApiResponse = /** status 200 Successful Response */ any\nexport type UpdateUserApiKeyApiArg = {\n userName: string\n entityId: string\n apiKeyPatchModel: ApiKeyPatchModel\n}\nexport type GetAvatarApiResponse = /** status 200 Successful Response */ any\nexport type GetAvatarApiArg = {\n userName: string\n}\nexport type UploadAvatarApiResponse = /** status 200 Successful Response */ any\nexport type UploadAvatarApiArg = {\n userName: string\n}\nexport type DeleteAvatarApiResponse = /** status 200 Successful Response */ any\nexport type DeleteAvatarApiArg = {\n userName: string\n}\nexport type PasswordResetRequestApiResponse = /** status 200 Successful Response */ any\nexport type PasswordResetRequestApiArg = {\n passwordResetRequestModel: PasswordResetRequestModel\n}\nexport type PasswordResetApiResponse = /** status 200 Successful Response */ LoginResponseModel\nexport type PasswordResetApiArg = {\n passwordResetModel: PasswordResetModel\n}\nexport type GetMyPermissionsApiResponse = /** status 200 Successful Response */ UserPermissionsModel\nexport type GetMyPermissionsApiArg = void\nexport type GetMyProjectPermissionsApiResponse = /** status 200 Successful Response */ Permissions\nexport type GetMyProjectPermissionsApiArg = {\n projectName: string\n}\nexport type GetUserStudioPermissionsApiResponse = /** status 200 Successful Response */ Permissions\nexport type GetUserStudioPermissionsApiArg = {\n userName: string\n}\nexport type GetUserProjectPermissionsApiResponse = /** status 200 Successful Response */ Permissions\nexport type GetUserProjectPermissionsApiArg = {\n projectName: string\n userName: string\n}\nexport type GetCurrentUserApiResponse = /** status 200 Successful Response */ UserModel\nexport type GetCurrentUserApiArg = void\nexport type GetUserApiResponse = /** status 200 Successful Response */\n | UserModel\n | {\n [key: string]: string\n }\nexport type GetUserApiArg = {\n userName: string\n}\nexport type CreateUserApiResponse = /** status 200 Successful Response */ any\nexport type CreateUserApiArg = {\n userName: string\n 'x-sender'?: string\n 'x-sender-type'?: string\n newUserModel: NewUserModel\n}\nexport type DeleteUserApiResponse = /** status 200 Successful Response */ any\nexport type DeleteUserApiArg = {\n userName: string\n 'x-sender'?: string\n 'x-sender-type'?: string\n}\nexport type PatchUserApiResponse = /** status 200 Successful Response */ any\nexport type PatchUserApiArg = {\n userName: string\n userPatchModel: UserPatchModel\n}\nexport type ChangePasswordApiResponse = /** status 200 Successful Response */ any\nexport type ChangePasswordApiArg = {\n userName: string\n changePasswordRequestModel: ChangePasswordRequestModel\n}\nexport type CheckPasswordApiResponse = /** status 200 Successful Response */ any\nexport type CheckPasswordApiArg = {\n userName: string\n checkPasswordRequestModel: CheckPasswordRequestModel\n}\nexport type ChangeUserNameApiResponse = /** status 200 Successful Response */ any\nexport type ChangeUserNameApiArg = {\n userName: string\n 'x-sender'?: string\n 'x-sender-type'?: string\n changeUserNameRequestModel: ChangeUserNameRequestModel\n}\nexport type GetUserSessionsApiResponse =\n /** status 200 Successful Response */ UserSessionsResponseModel\nexport type GetUserSessionsApiArg = {\n userName: string\n}\nexport type DeleteUserSessionApiResponse = /** status 200 Successful Response */ any\nexport type DeleteUserSessionApiArg = {\n sessionId: string\n userName: string\n}\nexport type AssignAccessGroupsApiResponse = /** status 200 Successful Response */ any\nexport type AssignAccessGroupsApiArg = {\n userName: string\n assignAccessGroupsRequestModel: AssignAccessGroupsRequestModel\n}\nexport type SetFrontendPreferencesApiResponse = /** status 200 Successful Response */ any\nexport type SetFrontendPreferencesApiArg = {\n userName: string\n patchData: object\n}\nexport type UserPoolModel = {\n id: string\n label: string\n type: 'fixed' | 'metered'\n valid: boolean\n note: string\n exp: number\n max: number\n used: number\n meta?: object\n}\nexport type ApiKeyModel = {\n id: string\n label: string\n preview: string\n created: number\n expires?: number\n}\nexport type ValidationError = {\n loc: (string | number)[]\n msg: string\n type: string\n}\nexport type HttpValidationError = {\n detail?: ValidationError[]\n}\nexport type ApiKeyPostModel = {\n label: string\n key: string\n expires?: number\n}\nexport type ApiKeyPatchModel = {\n label?: string\n expires?: number\n}\nexport type PasswordResetRequestModel = {\n email: string\n url: string\n}\nexport type UserAttribModel = {\n fullName?: string\n email?: string\n avatarUrl?: string\n developerMode?: boolean\n}\nexport type UserModel = {\n /** Name is an unique id of the {entity_name} */\n name: string\n uiExposureLevel?: number\n attrib?: UserAttribModel\n data?: Record<string, any>\n /** Whether the user is active */\n active?: boolean\n ownAttrib?: string[]\n /** Time of creation */\n createdAt?: string\n /** Time of last update */\n updatedAt?: string\n}\nexport type LoginResponseModel = {\n /** Text message, which may be displayed to the user */\n detail?: string\n error?: string\n token?: string\n user?: UserModel\n /** URL to redirect the user after login */\n redirectUrl?: string\n}\nexport type PasswordResetModel = {\n token: string\n password?: string\n}\nexport type StudioManagementPermissions = {\n /** Allow users to create new projects */\n create_projects?: boolean\n /** Allow users to list all users in the studio */\n list_all_users?: boolean\n}\nexport type ProjectManagementPermissions = {\n /** Allow users to view or edit the project anatomy */\n anatomy?: number\n /** Allow users to view or assign users to project access groups */\n access?: number\n /** Allow users to view or edit the project addon settings */\n settings?: number\n}\nexport type FolderAccess = {\n access_type?: string\n /** The path of the folder to allow access to. Required for access_type 'hierarchy and 'children' */\n path?: string\n}\nexport type FolderAccessList = {\n enabled?: boolean\n access_list?: FolderAccess[]\n}\nexport type AttributeReadAccessList = {\n enabled?: boolean\n attributes?: string[]\n}\nexport type AttributeWriteAccessList = {\n enabled?: boolean\n attributes?: string[]\n fields?: string[]\n}\nexport type ActionsAccessList = {\n enabled?: boolean\n actions?: string[]\n}\nexport type EntityLinksAccessList = {\n enabled?: boolean\n link_types?: string[]\n}\nexport type EndpointsAccessList = {\n enabled?: boolean\n endpoints?: string[]\n}\nexport type ProjectAdvancedPermissions = {\n /** If a user can access a task through the 'Assigned' permission, enabling this will also show all sibling tasks in the same folder. When disabled, only the assigned task is visible. */\n show_sibling_tasks?: boolean\n}\nexport type Permissions = {\n studio?: StudioManagementPermissions\n project?: ProjectManagementPermissions\n /** Whitelist folders a user can create */\n create?: FolderAccessList\n /** Whitelist folders a user can read */\n read?: FolderAccessList\n /** Whitelist folders a user can update */\n update?: FolderAccessList\n /** Whitelist folders a user can publish to */\n publish?: FolderAccessList\n /** Whitelist folders a user can delete */\n delete?: FolderAccessList\n /** Whitelist attributes a user can read */\n attrib_read?: AttributeReadAccessList\n /** Whitelist attributes a user can write */\n attrib_write?: AttributeWriteAccessList\n /** Whitelist actions a user can perform */\n actions?: ActionsAccessList\n /** Whitelist link types a user can create between entities */\n links?: EntityLinksAccessList\n /** Whitelist REST endpoints a user can access */\n endpoints?: EndpointsAccessList\n advanced?: ProjectAdvancedPermissions\n}\nexport type UserPermissionsModel = {\n user_level?: 'admin' | 'manager' | 'user'\n /** Permissions for the studio */\n studio?: StudioManagementPermissions\n /** Permissions for individual projects */\n projects?: {\n [key: string]: Permissions\n }\n}\nexport type NewUserModel = {\n attrib?: UserAttribModel\n data?: Record<string, any>\n /** Whether the user is active */\n active?: boolean\n /** Password for the new user */\n password?: string\n /** API Key for the new service user */\n apiKey?: string\n}\nexport type UserPatchModel = {\n attrib?: UserAttribModel\n data?: Record<string, any>\n /** Whether the user is active */\n active?: boolean\n}\nexport type ChangePasswordRequestModel = {\n /** New password */\n password?: string\n /** API Key to set to a service user */\n apiKey?: string\n}\nexport type CheckPasswordRequestModel = {\n password: string\n}\nexport type ChangeUserNameRequestModel = {\n /** New user name */\n newName: string\n}\nexport type LocationInfo = {\n country?: string\n subdivision?: string\n city?: string\n}\nexport type AgentInfo = {\n platform?: string\n client?: string\n device?: string\n}\nexport type ClientInfo = {\n ip: string\n languages?: string[]\n location?: LocationInfo\n agent?: AgentInfo\n site_id?: string\n}\nexport type UserSessionModel = {\n token: string\n isService: boolean\n lastUsed: number\n clientInfo?: ClientInfo\n}\nexport type UserSessionsResponseModel = {\n sessions: UserSessionModel[]\n}\nexport type AccessGroupsOnProject = {\n /** Project name */\n project: string\n /** List of access groups on the project */\n accessGroups: string[]\n}\nexport type AssignAccessGroupsRequestModel = {\n /** List of access groups to assign */\n accessGroups?: AccessGroupsOnProject[]\n}\n"],"names":["injectedRtkApi","api","build","queryArg"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"users.cjs.js","sources":["../../../../../src/api/generated/users.ts"],"sourcesContent":["import { api } from '@shared/api/base'\nconst injectedRtkApi = api.injectEndpoints({\n endpoints: (build) => ({\n getUserPools: build.query<GetUserPoolsApiResponse, GetUserPoolsApiArg>({\n query: () => ({ url: `/api/auth/pools` }),\n }),\n getUserApiKeys: build.query<GetUserApiKeysApiResponse, GetUserApiKeysApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/apikeys` }),\n }),\n createUserApiKey: build.mutation<CreateUserApiKeyApiResponse, CreateUserApiKeyApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/apikeys`,\n method: 'POST',\n body: queryArg.apiKeyPostModel,\n }),\n }),\n deleteUserApiKey: build.mutation<DeleteUserApiKeyApiResponse, DeleteUserApiKeyApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/apikeys/${queryArg.entityId}`,\n method: 'DELETE',\n }),\n }),\n updateUserApiKey: build.mutation<UpdateUserApiKeyApiResponse, UpdateUserApiKeyApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/apikeys/${queryArg.entityId}`,\n method: 'PATCH',\n body: queryArg.apiKeyPatchModel,\n }),\n }),\n getAvatar: build.query<GetAvatarApiResponse, GetAvatarApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/avatar` }),\n }),\n uploadAvatar: build.mutation<UploadAvatarApiResponse, UploadAvatarApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/avatar`, method: 'PUT' }),\n }),\n deleteAvatar: build.mutation<DeleteAvatarApiResponse, DeleteAvatarApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/avatar`, method: 'DELETE' }),\n }),\n passwordResetRequest: build.mutation<\n PasswordResetRequestApiResponse,\n PasswordResetRequestApiArg\n >({\n query: (queryArg) => ({\n url: `/api/users/passwordResetRequest`,\n method: 'POST',\n body: queryArg.passwordResetRequestModel,\n }),\n }),\n passwordReset: build.mutation<PasswordResetApiResponse, PasswordResetApiArg>({\n query: (queryArg) => ({\n url: `/api/users/passwordReset`,\n method: 'POST',\n body: queryArg.passwordResetModel,\n }),\n }),\n getMyPermissions: build.query<GetMyPermissionsApiResponse, GetMyPermissionsApiArg>({\n query: () => ({ url: `/api/users/me/permissions` }),\n }),\n getMyProjectPermissions: build.query<\n GetMyProjectPermissionsApiResponse,\n GetMyProjectPermissionsApiArg\n >({\n query: (queryArg) => ({ url: `/api/users/me/permissions/${queryArg.projectName}` }),\n }),\n getUserStudioPermissions: build.query<\n GetUserStudioPermissionsApiResponse,\n GetUserStudioPermissionsApiArg\n >({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/permissions` }),\n }),\n getUserProjectPermissions: build.query<\n GetUserProjectPermissionsApiResponse,\n GetUserProjectPermissionsApiArg\n >({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/permissions/${queryArg.projectName}`,\n }),\n }),\n getCurrentUser: build.query<GetCurrentUserApiResponse, GetCurrentUserApiArg>({\n query: () => ({ url: `/api/users/me` }),\n }),\n getUser: build.query<GetUserApiResponse, GetUserApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}` }),\n }),\n createUser: build.mutation<CreateUserApiResponse, CreateUserApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}`,\n method: 'PUT',\n body: queryArg.newUserModel,\n headers: {\n 'x-sender': queryArg['x-sender'],\n 'x-sender-type': queryArg['x-sender-type'],\n },\n }),\n }),\n deleteUser: build.mutation<DeleteUserApiResponse, DeleteUserApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}`,\n method: 'DELETE',\n headers: {\n 'x-sender': queryArg['x-sender'],\n 'x-sender-type': queryArg['x-sender-type'],\n },\n }),\n }),\n patchUser: build.mutation<PatchUserApiResponse, PatchUserApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}`,\n method: 'PATCH',\n body: queryArg.userPatchModel,\n }),\n }),\n changePassword: build.mutation<ChangePasswordApiResponse, ChangePasswordApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/password`,\n method: 'PATCH',\n body: queryArg.changePasswordRequestModel,\n }),\n }),\n checkPassword: build.mutation<CheckPasswordApiResponse, CheckPasswordApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/checkPassword`,\n method: 'POST',\n body: queryArg.checkPasswordRequestModel,\n }),\n }),\n changeUserName: build.mutation<ChangeUserNameApiResponse, ChangeUserNameApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/rename`,\n method: 'PATCH',\n body: queryArg.changeUserNameRequestModel,\n headers: {\n 'x-sender': queryArg['x-sender'],\n 'x-sender-type': queryArg['x-sender-type'],\n },\n }),\n }),\n getUserSessions: build.query<GetUserSessionsApiResponse, GetUserSessionsApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/sessions` }),\n }),\n deleteUserSession: build.mutation<DeleteUserSessionApiResponse, DeleteUserSessionApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/sessions/${queryArg.sessionId}`,\n method: 'DELETE',\n }),\n }),\n assignAccessGroups: build.mutation<AssignAccessGroupsApiResponse, AssignAccessGroupsApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/accessGroups`,\n method: 'PATCH',\n body: queryArg.assignAccessGroupsRequestModel,\n }),\n }),\n setFrontendPreferences: build.mutation<\n SetFrontendPreferencesApiResponse,\n SetFrontendPreferencesApiArg\n >({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/frontendPreferences`,\n method: 'PATCH',\n body: queryArg.patchData,\n }),\n }),\n }),\n overrideExisting: false,\n})\nexport { injectedRtkApi as api }\nexport type GetUserPoolsApiResponse = /** status 200 Successful Response */ UserPoolModel[]\nexport type GetUserPoolsApiArg = void\nexport type GetUserApiKeysApiResponse = /** status 200 Successful Response */ ApiKeyModel[]\nexport type GetUserApiKeysApiArg = {\n userName: string\n}\nexport type CreateUserApiKeyApiResponse = /** status 200 Successful Response */ any\nexport type CreateUserApiKeyApiArg = {\n userName: string\n apiKeyPostModel: ApiKeyPostModel\n}\nexport type DeleteUserApiKeyApiResponse = /** status 200 Successful Response */ any\nexport type DeleteUserApiKeyApiArg = {\n userName: string\n entityId: string\n}\nexport type UpdateUserApiKeyApiResponse = /** status 200 Successful Response */ any\nexport type UpdateUserApiKeyApiArg = {\n userName: string\n entityId: string\n apiKeyPatchModel: ApiKeyPatchModel\n}\nexport type GetAvatarApiResponse = /** status 200 Successful Response */ any\nexport type GetAvatarApiArg = {\n userName: string\n}\nexport type UploadAvatarApiResponse = /** status 200 Successful Response */ any\nexport type UploadAvatarApiArg = {\n userName: string\n}\nexport type DeleteAvatarApiResponse = /** status 200 Successful Response */ any\nexport type DeleteAvatarApiArg = {\n userName: string\n}\nexport type PasswordResetRequestApiResponse = /** status 200 Successful Response */ any\nexport type PasswordResetRequestApiArg = {\n passwordResetRequestModel: PasswordResetRequestModel\n}\nexport type PasswordResetApiResponse = /** status 200 Successful Response */ LoginResponseModel\nexport type PasswordResetApiArg = {\n passwordResetModel: PasswordResetModel\n}\nexport type GetMyPermissionsApiResponse = /** status 200 Successful Response */ UserPermissionsModel\nexport type GetMyPermissionsApiArg = void\nexport type GetMyProjectPermissionsApiResponse = /** status 200 Successful Response */ Permissions\nexport type GetMyProjectPermissionsApiArg = {\n projectName: string\n}\nexport type GetUserStudioPermissionsApiResponse = /** status 200 Successful Response */ Permissions\nexport type GetUserStudioPermissionsApiArg = {\n userName: string\n}\nexport type GetUserProjectPermissionsApiResponse = /** status 200 Successful Response */ Permissions\nexport type GetUserProjectPermissionsApiArg = {\n projectName: string\n userName: string\n}\nexport type GetCurrentUserApiResponse = /** status 200 Successful Response */ UserModel\nexport type GetCurrentUserApiArg = void\nexport type GetUserApiResponse = /** status 200 Successful Response */\n | UserModel\n | {\n [key: string]: string\n }\nexport type GetUserApiArg = {\n userName: string\n}\nexport type CreateUserApiResponse = /** status 200 Successful Response */ any\nexport type CreateUserApiArg = {\n userName: string\n 'x-sender'?: string\n 'x-sender-type'?: string\n newUserModel: NewUserModel\n}\nexport type DeleteUserApiResponse = /** status 200 Successful Response */ any\nexport type DeleteUserApiArg = {\n userName: string\n 'x-sender'?: string\n 'x-sender-type'?: string\n}\nexport type PatchUserApiResponse = /** status 200 Successful Response */ any\nexport type PatchUserApiArg = {\n userName: string\n userPatchModel: UserPatchModel\n}\nexport type ChangePasswordApiResponse = /** status 200 Successful Response */ any\nexport type ChangePasswordApiArg = {\n userName: string\n changePasswordRequestModel: ChangePasswordRequestModel\n}\nexport type CheckPasswordApiResponse = /** status 200 Successful Response */ any\nexport type CheckPasswordApiArg = {\n userName: string\n checkPasswordRequestModel: CheckPasswordRequestModel\n}\nexport type ChangeUserNameApiResponse = /** status 200 Successful Response */ any\nexport type ChangeUserNameApiArg = {\n userName: string\n 'x-sender'?: string\n 'x-sender-type'?: string\n changeUserNameRequestModel: ChangeUserNameRequestModel\n}\nexport type GetUserSessionsApiResponse =\n /** status 200 Successful Response */ UserSessionsResponseModel\nexport type GetUserSessionsApiArg = {\n userName: string\n}\nexport type DeleteUserSessionApiResponse = /** status 200 Successful Response */ any\nexport type DeleteUserSessionApiArg = {\n sessionId: string\n userName: string\n}\nexport type AssignAccessGroupsApiResponse = /** status 200 Successful Response */ any\nexport type AssignAccessGroupsApiArg = {\n userName: string\n assignAccessGroupsRequestModel: AssignAccessGroupsRequestModel\n}\nexport type SetFrontendPreferencesApiResponse = /** status 200 Successful Response */ any\nexport type SetFrontendPreferencesApiArg = {\n userName: string\n patchData: object\n}\nexport type UserPoolModel = {\n id: string\n label: string\n type: 'fixed' | 'metered'\n valid: boolean\n note: string\n exp: number\n max: number\n used: number\n meta?: object\n}\nexport type ApiKeyModel = {\n id: string\n label: string\n preview: string\n created: number\n expires?: number\n}\nexport type ValidationError = {\n loc: (string | number)[]\n msg: string\n type: string\n}\nexport type HttpValidationError = {\n detail?: ValidationError[]\n}\nexport type ApiKeyPostModel = {\n label: string\n key: string\n expires?: number\n}\nexport type ApiKeyPatchModel = {\n label?: string\n expires?: number\n}\nexport type PasswordResetRequestModel = {\n email: string\n}\nexport type UserAttribModel = {\n fullName?: string\n email?: string\n avatarUrl?: string\n developerMode?: boolean\n}\nexport type UserModel = {\n /** Name is an unique id of the {entity_name} */\n name: string\n uiExposureLevel?: number\n attrib?: UserAttribModel\n data?: Record<string, any>\n /** Whether the user is active */\n active?: boolean\n ownAttrib?: string[]\n /** Time of creation */\n createdAt?: string\n /** Time of last update */\n updatedAt?: string\n}\nexport type LoginResponseModel = {\n /** Text message, which may be displayed to the user */\n detail?: string\n error?: string\n token?: string\n user?: UserModel\n /** URL to redirect the user after login */\n redirectUrl?: string\n}\nexport type PasswordResetModel = {\n token: string\n password?: string\n}\nexport type StudioManagementPermissions = {\n /** Allow users to create new projects */\n create_projects?: boolean\n /** Allow users to list all users in the studio */\n list_all_users?: boolean\n}\nexport type ProjectManagementPermissions = {\n /** Allow users to view or edit the project anatomy */\n anatomy?: number\n /** Allow users to view or assign users to project access groups */\n access?: number\n /** Allow users to view or edit the project addon settings */\n settings?: number\n}\nexport type FolderAccess = {\n access_type?: string\n /** The path of the folder to allow access to. Required for access_type 'hierarchy and 'children' */\n path?: string\n}\nexport type FolderAccessList = {\n enabled?: boolean\n access_list?: FolderAccess[]\n}\nexport type AttributeReadAccessList = {\n enabled?: boolean\n attributes?: string[]\n}\nexport type AttributeWriteAccessList = {\n enabled?: boolean\n attributes?: string[]\n fields?: string[]\n}\nexport type ActivitiesAccessList = {\n enabled?: boolean\n activities?: string[]\n}\nexport type ActionsAccessList = {\n enabled?: boolean\n actions?: string[]\n}\nexport type EntityLinksAccessList = {\n enabled?: boolean\n link_types?: string[]\n}\nexport type EndpointsAccessList = {\n enabled?: boolean\n endpoints?: string[]\n}\nexport type ProjectAdvancedPermissions = {\n /** If a user can access a task through the 'Assigned' permission, enabling this will also show all sibling tasks in the same folder. When disabled, only the assigned task is visible. */\n show_sibling_tasks?: boolean\n}\nexport type Permissions = {\n studio?: StudioManagementPermissions\n project?: ProjectManagementPermissions\n /** Whitelist folders a user can create */\n create?: FolderAccessList\n /** Whitelist folders a user can read */\n read?: FolderAccessList\n /** Whitelist folders a user can update */\n update?: FolderAccessList\n /** Whitelist folders a user can publish to */\n publish?: FolderAccessList\n /** Whitelist folders a user can delete */\n delete?: FolderAccessList\n /** Whitelist attributes a user can read */\n attrib_read?: AttributeReadAccessList\n /** Whitelist attributes a user can write */\n attrib_write?: AttributeWriteAccessList\n /** Whitelist activities a user can perform */\n activities?: ActivitiesAccessList\n /** Whitelist actions a user can perform */\n actions?: ActionsAccessList\n /** Whitelist link types a user can create between entities */\n links?: EntityLinksAccessList\n /** Whitelist REST endpoints a user can access */\n endpoints?: EndpointsAccessList\n advanced?: ProjectAdvancedPermissions\n}\nexport type UserPermissionsModel = {\n user_level?: 'admin' | 'manager' | 'user'\n /** Permissions for the studio */\n studio?: StudioManagementPermissions\n /** Permissions for individual projects */\n projects?: {\n [key: string]: Permissions\n }\n}\nexport type NewUserModel = {\n attrib?: UserAttribModel\n data?: Record<string, any>\n /** Whether the user is active */\n active?: boolean\n /** Password for the new user */\n password?: string\n /** API Key for the new service user */\n apiKey?: string\n}\nexport type UserPatchModel = {\n attrib?: UserAttribModel\n data?: Record<string, any>\n /** Whether the user is active */\n active?: boolean\n}\nexport type ChangePasswordRequestModel = {\n /** New password */\n password?: string\n /** API Key to set to a service user */\n apiKey?: string\n}\nexport type CheckPasswordRequestModel = {\n password: string\n}\nexport type ChangeUserNameRequestModel = {\n /** New user name */\n newName: string\n}\nexport type LocationInfo = {\n country?: string\n subdivision?: string\n city?: string\n}\nexport type AgentInfo = {\n platform?: string\n client?: string\n device?: string\n}\nexport type ClientInfo = {\n ip: string\n languages?: string[]\n location?: LocationInfo\n agent?: AgentInfo\n site_id?: string\n}\nexport type UserSessionModel = {\n token: string\n isService: boolean\n lastUsed: number\n clientInfo?: ClientInfo\n}\nexport type UserSessionsResponseModel = {\n sessions: UserSessionModel[]\n}\nexport type AccessGroupsOnProject = {\n /** Project name */\n project: string\n /** List of access groups on the project */\n accessGroups: string[]\n}\nexport type AssignAccessGroupsRequestModel = {\n /** List of access groups to assign */\n accessGroups?: AccessGroupsOnProject[]\n}\n"],"names":["injectedRtkApi","api","build","queryArg"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.es.js","sources":["../../../../../src/api/generated/users.ts"],"sourcesContent":["import { api } from '@shared/api/base'\nconst injectedRtkApi = api.injectEndpoints({\n endpoints: (build) => ({\n getUserPools: build.query<GetUserPoolsApiResponse, GetUserPoolsApiArg>({\n query: () => ({ url: `/api/auth/pools` }),\n }),\n getUserApiKeys: build.query<GetUserApiKeysApiResponse, GetUserApiKeysApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/apikeys` }),\n }),\n createUserApiKey: build.mutation<CreateUserApiKeyApiResponse, CreateUserApiKeyApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/apikeys`,\n method: 'POST',\n body: queryArg.apiKeyPostModel,\n }),\n }),\n deleteUserApiKey: build.mutation<DeleteUserApiKeyApiResponse, DeleteUserApiKeyApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/apikeys/${queryArg.entityId}`,\n method: 'DELETE',\n }),\n }),\n updateUserApiKey: build.mutation<UpdateUserApiKeyApiResponse, UpdateUserApiKeyApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/apikeys/${queryArg.entityId}`,\n method: 'PATCH',\n body: queryArg.apiKeyPatchModel,\n }),\n }),\n getAvatar: build.query<GetAvatarApiResponse, GetAvatarApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/avatar` }),\n }),\n uploadAvatar: build.mutation<UploadAvatarApiResponse, UploadAvatarApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/avatar`, method: 'PUT' }),\n }),\n deleteAvatar: build.mutation<DeleteAvatarApiResponse, DeleteAvatarApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/avatar`, method: 'DELETE' }),\n }),\n passwordResetRequest: build.mutation<\n PasswordResetRequestApiResponse,\n PasswordResetRequestApiArg\n >({\n query: (queryArg) => ({\n url: `/api/users/passwordResetRequest`,\n method: 'POST',\n body: queryArg.passwordResetRequestModel,\n }),\n }),\n passwordReset: build.mutation<PasswordResetApiResponse, PasswordResetApiArg>({\n query: (queryArg) => ({\n url: `/api/users/passwordReset`,\n method: 'POST',\n body: queryArg.passwordResetModel,\n }),\n }),\n getMyPermissions: build.query<GetMyPermissionsApiResponse, GetMyPermissionsApiArg>({\n query: () => ({ url: `/api/users/me/permissions` }),\n }),\n getMyProjectPermissions: build.query<\n GetMyProjectPermissionsApiResponse,\n GetMyProjectPermissionsApiArg\n >({\n query: (queryArg) => ({ url: `/api/users/me/permissions/${queryArg.projectName}` }),\n }),\n getUserStudioPermissions: build.query<\n GetUserStudioPermissionsApiResponse,\n GetUserStudioPermissionsApiArg\n >({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/permissions` }),\n }),\n getUserProjectPermissions: build.query<\n GetUserProjectPermissionsApiResponse,\n GetUserProjectPermissionsApiArg\n >({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/permissions/${queryArg.projectName}`,\n }),\n }),\n getCurrentUser: build.query<GetCurrentUserApiResponse, GetCurrentUserApiArg>({\n query: () => ({ url: `/api/users/me` }),\n }),\n getUser: build.query<GetUserApiResponse, GetUserApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}` }),\n }),\n createUser: build.mutation<CreateUserApiResponse, CreateUserApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}`,\n method: 'PUT',\n body: queryArg.newUserModel,\n headers: {\n 'x-sender': queryArg['x-sender'],\n 'x-sender-type': queryArg['x-sender-type'],\n },\n }),\n }),\n deleteUser: build.mutation<DeleteUserApiResponse, DeleteUserApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}`,\n method: 'DELETE',\n headers: {\n 'x-sender': queryArg['x-sender'],\n 'x-sender-type': queryArg['x-sender-type'],\n },\n }),\n }),\n patchUser: build.mutation<PatchUserApiResponse, PatchUserApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}`,\n method: 'PATCH',\n body: queryArg.userPatchModel,\n }),\n }),\n changePassword: build.mutation<ChangePasswordApiResponse, ChangePasswordApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/password`,\n method: 'PATCH',\n body: queryArg.changePasswordRequestModel,\n }),\n }),\n checkPassword: build.mutation<CheckPasswordApiResponse, CheckPasswordApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/checkPassword`,\n method: 'POST',\n body: queryArg.checkPasswordRequestModel,\n }),\n }),\n changeUserName: build.mutation<ChangeUserNameApiResponse, ChangeUserNameApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/rename`,\n method: 'PATCH',\n body: queryArg.changeUserNameRequestModel,\n headers: {\n 'x-sender': queryArg['x-sender'],\n 'x-sender-type': queryArg['x-sender-type'],\n },\n }),\n }),\n getUserSessions: build.query<GetUserSessionsApiResponse, GetUserSessionsApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/sessions` }),\n }),\n deleteUserSession: build.mutation<DeleteUserSessionApiResponse, DeleteUserSessionApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/sessions/${queryArg.sessionId}`,\n method: 'DELETE',\n }),\n }),\n assignAccessGroups: build.mutation<AssignAccessGroupsApiResponse, AssignAccessGroupsApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/accessGroups`,\n method: 'PATCH',\n body: queryArg.assignAccessGroupsRequestModel,\n }),\n }),\n setFrontendPreferences: build.mutation<\n SetFrontendPreferencesApiResponse,\n SetFrontendPreferencesApiArg\n >({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/frontendPreferences`,\n method: 'PATCH',\n body: queryArg.patchData,\n }),\n }),\n }),\n overrideExisting: false,\n})\nexport { injectedRtkApi as api }\nexport type GetUserPoolsApiResponse = /** status 200 Successful Response */ UserPoolModel[]\nexport type GetUserPoolsApiArg = void\nexport type GetUserApiKeysApiResponse = /** status 200 Successful Response */ ApiKeyModel[]\nexport type GetUserApiKeysApiArg = {\n userName: string\n}\nexport type CreateUserApiKeyApiResponse = /** status 200 Successful Response */ any\nexport type CreateUserApiKeyApiArg = {\n userName: string\n apiKeyPostModel: ApiKeyPostModel\n}\nexport type DeleteUserApiKeyApiResponse = /** status 200 Successful Response */ any\nexport type DeleteUserApiKeyApiArg = {\n userName: string\n entityId: string\n}\nexport type UpdateUserApiKeyApiResponse = /** status 200 Successful Response */ any\nexport type UpdateUserApiKeyApiArg = {\n userName: string\n entityId: string\n apiKeyPatchModel: ApiKeyPatchModel\n}\nexport type GetAvatarApiResponse = /** status 200 Successful Response */ any\nexport type GetAvatarApiArg = {\n userName: string\n}\nexport type UploadAvatarApiResponse = /** status 200 Successful Response */ any\nexport type UploadAvatarApiArg = {\n userName: string\n}\nexport type DeleteAvatarApiResponse = /** status 200 Successful Response */ any\nexport type DeleteAvatarApiArg = {\n userName: string\n}\nexport type PasswordResetRequestApiResponse = /** status 200 Successful Response */ any\nexport type PasswordResetRequestApiArg = {\n passwordResetRequestModel: PasswordResetRequestModel\n}\nexport type PasswordResetApiResponse = /** status 200 Successful Response */ LoginResponseModel\nexport type PasswordResetApiArg = {\n passwordResetModel: PasswordResetModel\n}\nexport type GetMyPermissionsApiResponse = /** status 200 Successful Response */ UserPermissionsModel\nexport type GetMyPermissionsApiArg = void\nexport type GetMyProjectPermissionsApiResponse = /** status 200 Successful Response */ Permissions\nexport type GetMyProjectPermissionsApiArg = {\n projectName: string\n}\nexport type GetUserStudioPermissionsApiResponse = /** status 200 Successful Response */ Permissions\nexport type GetUserStudioPermissionsApiArg = {\n userName: string\n}\nexport type GetUserProjectPermissionsApiResponse = /** status 200 Successful Response */ Permissions\nexport type GetUserProjectPermissionsApiArg = {\n projectName: string\n userName: string\n}\nexport type GetCurrentUserApiResponse = /** status 200 Successful Response */ UserModel\nexport type GetCurrentUserApiArg = void\nexport type GetUserApiResponse = /** status 200 Successful Response */\n | UserModel\n | {\n [key: string]: string\n }\nexport type GetUserApiArg = {\n userName: string\n}\nexport type CreateUserApiResponse = /** status 200 Successful Response */ any\nexport type CreateUserApiArg = {\n userName: string\n 'x-sender'?: string\n 'x-sender-type'?: string\n newUserModel: NewUserModel\n}\nexport type DeleteUserApiResponse = /** status 200 Successful Response */ any\nexport type DeleteUserApiArg = {\n userName: string\n 'x-sender'?: string\n 'x-sender-type'?: string\n}\nexport type PatchUserApiResponse = /** status 200 Successful Response */ any\nexport type PatchUserApiArg = {\n userName: string\n userPatchModel: UserPatchModel\n}\nexport type ChangePasswordApiResponse = /** status 200 Successful Response */ any\nexport type ChangePasswordApiArg = {\n userName: string\n changePasswordRequestModel: ChangePasswordRequestModel\n}\nexport type CheckPasswordApiResponse = /** status 200 Successful Response */ any\nexport type CheckPasswordApiArg = {\n userName: string\n checkPasswordRequestModel: CheckPasswordRequestModel\n}\nexport type ChangeUserNameApiResponse = /** status 200 Successful Response */ any\nexport type ChangeUserNameApiArg = {\n userName: string\n 'x-sender'?: string\n 'x-sender-type'?: string\n changeUserNameRequestModel: ChangeUserNameRequestModel\n}\nexport type GetUserSessionsApiResponse =\n /** status 200 Successful Response */ UserSessionsResponseModel\nexport type GetUserSessionsApiArg = {\n userName: string\n}\nexport type DeleteUserSessionApiResponse = /** status 200 Successful Response */ any\nexport type DeleteUserSessionApiArg = {\n sessionId: string\n userName: string\n}\nexport type AssignAccessGroupsApiResponse = /** status 200 Successful Response */ any\nexport type AssignAccessGroupsApiArg = {\n userName: string\n assignAccessGroupsRequestModel: AssignAccessGroupsRequestModel\n}\nexport type SetFrontendPreferencesApiResponse = /** status 200 Successful Response */ any\nexport type SetFrontendPreferencesApiArg = {\n userName: string\n patchData: object\n}\nexport type UserPoolModel = {\n id: string\n label: string\n type: 'fixed' | 'metered'\n valid: boolean\n note: string\n exp: number\n max: number\n used: number\n meta?: object\n}\nexport type ApiKeyModel = {\n id: string\n label: string\n preview: string\n created: number\n expires?: number\n}\nexport type ValidationError = {\n loc: (string | number)[]\n msg: string\n type: string\n}\nexport type HttpValidationError = {\n detail?: ValidationError[]\n}\nexport type ApiKeyPostModel = {\n label: string\n key: string\n expires?: number\n}\nexport type ApiKeyPatchModel = {\n label?: string\n expires?: number\n}\nexport type PasswordResetRequestModel = {\n email: string\n url: string\n}\nexport type UserAttribModel = {\n fullName?: string\n email?: string\n avatarUrl?: string\n developerMode?: boolean\n}\nexport type UserModel = {\n /** Name is an unique id of the {entity_name} */\n name: string\n uiExposureLevel?: number\n attrib?: UserAttribModel\n data?: Record<string, any>\n /** Whether the user is active */\n active?: boolean\n ownAttrib?: string[]\n /** Time of creation */\n createdAt?: string\n /** Time of last update */\n updatedAt?: string\n}\nexport type LoginResponseModel = {\n /** Text message, which may be displayed to the user */\n detail?: string\n error?: string\n token?: string\n user?: UserModel\n /** URL to redirect the user after login */\n redirectUrl?: string\n}\nexport type PasswordResetModel = {\n token: string\n password?: string\n}\nexport type StudioManagementPermissions = {\n /** Allow users to create new projects */\n create_projects?: boolean\n /** Allow users to list all users in the studio */\n list_all_users?: boolean\n}\nexport type ProjectManagementPermissions = {\n /** Allow users to view or edit the project anatomy */\n anatomy?: number\n /** Allow users to view or assign users to project access groups */\n access?: number\n /** Allow users to view or edit the project addon settings */\n settings?: number\n}\nexport type FolderAccess = {\n access_type?: string\n /** The path of the folder to allow access to. Required for access_type 'hierarchy and 'children' */\n path?: string\n}\nexport type FolderAccessList = {\n enabled?: boolean\n access_list?: FolderAccess[]\n}\nexport type AttributeReadAccessList = {\n enabled?: boolean\n attributes?: string[]\n}\nexport type AttributeWriteAccessList = {\n enabled?: boolean\n attributes?: string[]\n fields?: string[]\n}\nexport type ActionsAccessList = {\n enabled?: boolean\n actions?: string[]\n}\nexport type EntityLinksAccessList = {\n enabled?: boolean\n link_types?: string[]\n}\nexport type EndpointsAccessList = {\n enabled?: boolean\n endpoints?: string[]\n}\nexport type ProjectAdvancedPermissions = {\n /** If a user can access a task through the 'Assigned' permission, enabling this will also show all sibling tasks in the same folder. When disabled, only the assigned task is visible. */\n show_sibling_tasks?: boolean\n}\nexport type Permissions = {\n studio?: StudioManagementPermissions\n project?: ProjectManagementPermissions\n /** Whitelist folders a user can create */\n create?: FolderAccessList\n /** Whitelist folders a user can read */\n read?: FolderAccessList\n /** Whitelist folders a user can update */\n update?: FolderAccessList\n /** Whitelist folders a user can publish to */\n publish?: FolderAccessList\n /** Whitelist folders a user can delete */\n delete?: FolderAccessList\n /** Whitelist attributes a user can read */\n attrib_read?: AttributeReadAccessList\n /** Whitelist attributes a user can write */\n attrib_write?: AttributeWriteAccessList\n /** Whitelist actions a user can perform */\n actions?: ActionsAccessList\n /** Whitelist link types a user can create between entities */\n links?: EntityLinksAccessList\n /** Whitelist REST endpoints a user can access */\n endpoints?: EndpointsAccessList\n advanced?: ProjectAdvancedPermissions\n}\nexport type UserPermissionsModel = {\n user_level?: 'admin' | 'manager' | 'user'\n /** Permissions for the studio */\n studio?: StudioManagementPermissions\n /** Permissions for individual projects */\n projects?: {\n [key: string]: Permissions\n }\n}\nexport type NewUserModel = {\n attrib?: UserAttribModel\n data?: Record<string, any>\n /** Whether the user is active */\n active?: boolean\n /** Password for the new user */\n password?: string\n /** API Key for the new service user */\n apiKey?: string\n}\nexport type UserPatchModel = {\n attrib?: UserAttribModel\n data?: Record<string, any>\n /** Whether the user is active */\n active?: boolean\n}\nexport type ChangePasswordRequestModel = {\n /** New password */\n password?: string\n /** API Key to set to a service user */\n apiKey?: string\n}\nexport type CheckPasswordRequestModel = {\n password: string\n}\nexport type ChangeUserNameRequestModel = {\n /** New user name */\n newName: string\n}\nexport type LocationInfo = {\n country?: string\n subdivision?: string\n city?: string\n}\nexport type AgentInfo = {\n platform?: string\n client?: string\n device?: string\n}\nexport type ClientInfo = {\n ip: string\n languages?: string[]\n location?: LocationInfo\n agent?: AgentInfo\n site_id?: string\n}\nexport type UserSessionModel = {\n token: string\n isService: boolean\n lastUsed: number\n clientInfo?: ClientInfo\n}\nexport type UserSessionsResponseModel = {\n sessions: UserSessionModel[]\n}\nexport type AccessGroupsOnProject = {\n /** Project name */\n project: string\n /** List of access groups on the project */\n accessGroups: string[]\n}\nexport type AssignAccessGroupsRequestModel = {\n /** List of access groups to assign */\n accessGroups?: AccessGroupsOnProject[]\n}\n"],"names":["injectedRtkApi","api","build","queryArg"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"users.es.js","sources":["../../../../../src/api/generated/users.ts"],"sourcesContent":["import { api } from '@shared/api/base'\nconst injectedRtkApi = api.injectEndpoints({\n endpoints: (build) => ({\n getUserPools: build.query<GetUserPoolsApiResponse, GetUserPoolsApiArg>({\n query: () => ({ url: `/api/auth/pools` }),\n }),\n getUserApiKeys: build.query<GetUserApiKeysApiResponse, GetUserApiKeysApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/apikeys` }),\n }),\n createUserApiKey: build.mutation<CreateUserApiKeyApiResponse, CreateUserApiKeyApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/apikeys`,\n method: 'POST',\n body: queryArg.apiKeyPostModel,\n }),\n }),\n deleteUserApiKey: build.mutation<DeleteUserApiKeyApiResponse, DeleteUserApiKeyApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/apikeys/${queryArg.entityId}`,\n method: 'DELETE',\n }),\n }),\n updateUserApiKey: build.mutation<UpdateUserApiKeyApiResponse, UpdateUserApiKeyApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/apikeys/${queryArg.entityId}`,\n method: 'PATCH',\n body: queryArg.apiKeyPatchModel,\n }),\n }),\n getAvatar: build.query<GetAvatarApiResponse, GetAvatarApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/avatar` }),\n }),\n uploadAvatar: build.mutation<UploadAvatarApiResponse, UploadAvatarApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/avatar`, method: 'PUT' }),\n }),\n deleteAvatar: build.mutation<DeleteAvatarApiResponse, DeleteAvatarApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/avatar`, method: 'DELETE' }),\n }),\n passwordResetRequest: build.mutation<\n PasswordResetRequestApiResponse,\n PasswordResetRequestApiArg\n >({\n query: (queryArg) => ({\n url: `/api/users/passwordResetRequest`,\n method: 'POST',\n body: queryArg.passwordResetRequestModel,\n }),\n }),\n passwordReset: build.mutation<PasswordResetApiResponse, PasswordResetApiArg>({\n query: (queryArg) => ({\n url: `/api/users/passwordReset`,\n method: 'POST',\n body: queryArg.passwordResetModel,\n }),\n }),\n getMyPermissions: build.query<GetMyPermissionsApiResponse, GetMyPermissionsApiArg>({\n query: () => ({ url: `/api/users/me/permissions` }),\n }),\n getMyProjectPermissions: build.query<\n GetMyProjectPermissionsApiResponse,\n GetMyProjectPermissionsApiArg\n >({\n query: (queryArg) => ({ url: `/api/users/me/permissions/${queryArg.projectName}` }),\n }),\n getUserStudioPermissions: build.query<\n GetUserStudioPermissionsApiResponse,\n GetUserStudioPermissionsApiArg\n >({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/permissions` }),\n }),\n getUserProjectPermissions: build.query<\n GetUserProjectPermissionsApiResponse,\n GetUserProjectPermissionsApiArg\n >({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/permissions/${queryArg.projectName}`,\n }),\n }),\n getCurrentUser: build.query<GetCurrentUserApiResponse, GetCurrentUserApiArg>({\n query: () => ({ url: `/api/users/me` }),\n }),\n getUser: build.query<GetUserApiResponse, GetUserApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}` }),\n }),\n createUser: build.mutation<CreateUserApiResponse, CreateUserApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}`,\n method: 'PUT',\n body: queryArg.newUserModel,\n headers: {\n 'x-sender': queryArg['x-sender'],\n 'x-sender-type': queryArg['x-sender-type'],\n },\n }),\n }),\n deleteUser: build.mutation<DeleteUserApiResponse, DeleteUserApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}`,\n method: 'DELETE',\n headers: {\n 'x-sender': queryArg['x-sender'],\n 'x-sender-type': queryArg['x-sender-type'],\n },\n }),\n }),\n patchUser: build.mutation<PatchUserApiResponse, PatchUserApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}`,\n method: 'PATCH',\n body: queryArg.userPatchModel,\n }),\n }),\n changePassword: build.mutation<ChangePasswordApiResponse, ChangePasswordApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/password`,\n method: 'PATCH',\n body: queryArg.changePasswordRequestModel,\n }),\n }),\n checkPassword: build.mutation<CheckPasswordApiResponse, CheckPasswordApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/checkPassword`,\n method: 'POST',\n body: queryArg.checkPasswordRequestModel,\n }),\n }),\n changeUserName: build.mutation<ChangeUserNameApiResponse, ChangeUserNameApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/rename`,\n method: 'PATCH',\n body: queryArg.changeUserNameRequestModel,\n headers: {\n 'x-sender': queryArg['x-sender'],\n 'x-sender-type': queryArg['x-sender-type'],\n },\n }),\n }),\n getUserSessions: build.query<GetUserSessionsApiResponse, GetUserSessionsApiArg>({\n query: (queryArg) => ({ url: `/api/users/${queryArg.userName}/sessions` }),\n }),\n deleteUserSession: build.mutation<DeleteUserSessionApiResponse, DeleteUserSessionApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/sessions/${queryArg.sessionId}`,\n method: 'DELETE',\n }),\n }),\n assignAccessGroups: build.mutation<AssignAccessGroupsApiResponse, AssignAccessGroupsApiArg>({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/accessGroups`,\n method: 'PATCH',\n body: queryArg.assignAccessGroupsRequestModel,\n }),\n }),\n setFrontendPreferences: build.mutation<\n SetFrontendPreferencesApiResponse,\n SetFrontendPreferencesApiArg\n >({\n query: (queryArg) => ({\n url: `/api/users/${queryArg.userName}/frontendPreferences`,\n method: 'PATCH',\n body: queryArg.patchData,\n }),\n }),\n }),\n overrideExisting: false,\n})\nexport { injectedRtkApi as api }\nexport type GetUserPoolsApiResponse = /** status 200 Successful Response */ UserPoolModel[]\nexport type GetUserPoolsApiArg = void\nexport type GetUserApiKeysApiResponse = /** status 200 Successful Response */ ApiKeyModel[]\nexport type GetUserApiKeysApiArg = {\n userName: string\n}\nexport type CreateUserApiKeyApiResponse = /** status 200 Successful Response */ any\nexport type CreateUserApiKeyApiArg = {\n userName: string\n apiKeyPostModel: ApiKeyPostModel\n}\nexport type DeleteUserApiKeyApiResponse = /** status 200 Successful Response */ any\nexport type DeleteUserApiKeyApiArg = {\n userName: string\n entityId: string\n}\nexport type UpdateUserApiKeyApiResponse = /** status 200 Successful Response */ any\nexport type UpdateUserApiKeyApiArg = {\n userName: string\n entityId: string\n apiKeyPatchModel: ApiKeyPatchModel\n}\nexport type GetAvatarApiResponse = /** status 200 Successful Response */ any\nexport type GetAvatarApiArg = {\n userName: string\n}\nexport type UploadAvatarApiResponse = /** status 200 Successful Response */ any\nexport type UploadAvatarApiArg = {\n userName: string\n}\nexport type DeleteAvatarApiResponse = /** status 200 Successful Response */ any\nexport type DeleteAvatarApiArg = {\n userName: string\n}\nexport type PasswordResetRequestApiResponse = /** status 200 Successful Response */ any\nexport type PasswordResetRequestApiArg = {\n passwordResetRequestModel: PasswordResetRequestModel\n}\nexport type PasswordResetApiResponse = /** status 200 Successful Response */ LoginResponseModel\nexport type PasswordResetApiArg = {\n passwordResetModel: PasswordResetModel\n}\nexport type GetMyPermissionsApiResponse = /** status 200 Successful Response */ UserPermissionsModel\nexport type GetMyPermissionsApiArg = void\nexport type GetMyProjectPermissionsApiResponse = /** status 200 Successful Response */ Permissions\nexport type GetMyProjectPermissionsApiArg = {\n projectName: string\n}\nexport type GetUserStudioPermissionsApiResponse = /** status 200 Successful Response */ Permissions\nexport type GetUserStudioPermissionsApiArg = {\n userName: string\n}\nexport type GetUserProjectPermissionsApiResponse = /** status 200 Successful Response */ Permissions\nexport type GetUserProjectPermissionsApiArg = {\n projectName: string\n userName: string\n}\nexport type GetCurrentUserApiResponse = /** status 200 Successful Response */ UserModel\nexport type GetCurrentUserApiArg = void\nexport type GetUserApiResponse = /** status 200 Successful Response */\n | UserModel\n | {\n [key: string]: string\n }\nexport type GetUserApiArg = {\n userName: string\n}\nexport type CreateUserApiResponse = /** status 200 Successful Response */ any\nexport type CreateUserApiArg = {\n userName: string\n 'x-sender'?: string\n 'x-sender-type'?: string\n newUserModel: NewUserModel\n}\nexport type DeleteUserApiResponse = /** status 200 Successful Response */ any\nexport type DeleteUserApiArg = {\n userName: string\n 'x-sender'?: string\n 'x-sender-type'?: string\n}\nexport type PatchUserApiResponse = /** status 200 Successful Response */ any\nexport type PatchUserApiArg = {\n userName: string\n userPatchModel: UserPatchModel\n}\nexport type ChangePasswordApiResponse = /** status 200 Successful Response */ any\nexport type ChangePasswordApiArg = {\n userName: string\n changePasswordRequestModel: ChangePasswordRequestModel\n}\nexport type CheckPasswordApiResponse = /** status 200 Successful Response */ any\nexport type CheckPasswordApiArg = {\n userName: string\n checkPasswordRequestModel: CheckPasswordRequestModel\n}\nexport type ChangeUserNameApiResponse = /** status 200 Successful Response */ any\nexport type ChangeUserNameApiArg = {\n userName: string\n 'x-sender'?: string\n 'x-sender-type'?: string\n changeUserNameRequestModel: ChangeUserNameRequestModel\n}\nexport type GetUserSessionsApiResponse =\n /** status 200 Successful Response */ UserSessionsResponseModel\nexport type GetUserSessionsApiArg = {\n userName: string\n}\nexport type DeleteUserSessionApiResponse = /** status 200 Successful Response */ any\nexport type DeleteUserSessionApiArg = {\n sessionId: string\n userName: string\n}\nexport type AssignAccessGroupsApiResponse = /** status 200 Successful Response */ any\nexport type AssignAccessGroupsApiArg = {\n userName: string\n assignAccessGroupsRequestModel: AssignAccessGroupsRequestModel\n}\nexport type SetFrontendPreferencesApiResponse = /** status 200 Successful Response */ any\nexport type SetFrontendPreferencesApiArg = {\n userName: string\n patchData: object\n}\nexport type UserPoolModel = {\n id: string\n label: string\n type: 'fixed' | 'metered'\n valid: boolean\n note: string\n exp: number\n max: number\n used: number\n meta?: object\n}\nexport type ApiKeyModel = {\n id: string\n label: string\n preview: string\n created: number\n expires?: number\n}\nexport type ValidationError = {\n loc: (string | number)[]\n msg: string\n type: string\n}\nexport type HttpValidationError = {\n detail?: ValidationError[]\n}\nexport type ApiKeyPostModel = {\n label: string\n key: string\n expires?: number\n}\nexport type ApiKeyPatchModel = {\n label?: string\n expires?: number\n}\nexport type PasswordResetRequestModel = {\n email: string\n}\nexport type UserAttribModel = {\n fullName?: string\n email?: string\n avatarUrl?: string\n developerMode?: boolean\n}\nexport type UserModel = {\n /** Name is an unique id of the {entity_name} */\n name: string\n uiExposureLevel?: number\n attrib?: UserAttribModel\n data?: Record<string, any>\n /** Whether the user is active */\n active?: boolean\n ownAttrib?: string[]\n /** Time of creation */\n createdAt?: string\n /** Time of last update */\n updatedAt?: string\n}\nexport type LoginResponseModel = {\n /** Text message, which may be displayed to the user */\n detail?: string\n error?: string\n token?: string\n user?: UserModel\n /** URL to redirect the user after login */\n redirectUrl?: string\n}\nexport type PasswordResetModel = {\n token: string\n password?: string\n}\nexport type StudioManagementPermissions = {\n /** Allow users to create new projects */\n create_projects?: boolean\n /** Allow users to list all users in the studio */\n list_all_users?: boolean\n}\nexport type ProjectManagementPermissions = {\n /** Allow users to view or edit the project anatomy */\n anatomy?: number\n /** Allow users to view or assign users to project access groups */\n access?: number\n /** Allow users to view or edit the project addon settings */\n settings?: number\n}\nexport type FolderAccess = {\n access_type?: string\n /** The path of the folder to allow access to. Required for access_type 'hierarchy and 'children' */\n path?: string\n}\nexport type FolderAccessList = {\n enabled?: boolean\n access_list?: FolderAccess[]\n}\nexport type AttributeReadAccessList = {\n enabled?: boolean\n attributes?: string[]\n}\nexport type AttributeWriteAccessList = {\n enabled?: boolean\n attributes?: string[]\n fields?: string[]\n}\nexport type ActivitiesAccessList = {\n enabled?: boolean\n activities?: string[]\n}\nexport type ActionsAccessList = {\n enabled?: boolean\n actions?: string[]\n}\nexport type EntityLinksAccessList = {\n enabled?: boolean\n link_types?: string[]\n}\nexport type EndpointsAccessList = {\n enabled?: boolean\n endpoints?: string[]\n}\nexport type ProjectAdvancedPermissions = {\n /** If a user can access a task through the 'Assigned' permission, enabling this will also show all sibling tasks in the same folder. When disabled, only the assigned task is visible. */\n show_sibling_tasks?: boolean\n}\nexport type Permissions = {\n studio?: StudioManagementPermissions\n project?: ProjectManagementPermissions\n /** Whitelist folders a user can create */\n create?: FolderAccessList\n /** Whitelist folders a user can read */\n read?: FolderAccessList\n /** Whitelist folders a user can update */\n update?: FolderAccessList\n /** Whitelist folders a user can publish to */\n publish?: FolderAccessList\n /** Whitelist folders a user can delete */\n delete?: FolderAccessList\n /** Whitelist attributes a user can read */\n attrib_read?: AttributeReadAccessList\n /** Whitelist attributes a user can write */\n attrib_write?: AttributeWriteAccessList\n /** Whitelist activities a user can perform */\n activities?: ActivitiesAccessList\n /** Whitelist actions a user can perform */\n actions?: ActionsAccessList\n /** Whitelist link types a user can create between entities */\n links?: EntityLinksAccessList\n /** Whitelist REST endpoints a user can access */\n endpoints?: EndpointsAccessList\n advanced?: ProjectAdvancedPermissions\n}\nexport type UserPermissionsModel = {\n user_level?: 'admin' | 'manager' | 'user'\n /** Permissions for the studio */\n studio?: StudioManagementPermissions\n /** Permissions for individual projects */\n projects?: {\n [key: string]: Permissions\n }\n}\nexport type NewUserModel = {\n attrib?: UserAttribModel\n data?: Record<string, any>\n /** Whether the user is active */\n active?: boolean\n /** Password for the new user */\n password?: string\n /** API Key for the new service user */\n apiKey?: string\n}\nexport type UserPatchModel = {\n attrib?: UserAttribModel\n data?: Record<string, any>\n /** Whether the user is active */\n active?: boolean\n}\nexport type ChangePasswordRequestModel = {\n /** New password */\n password?: string\n /** API Key to set to a service user */\n apiKey?: string\n}\nexport type CheckPasswordRequestModel = {\n password: string\n}\nexport type ChangeUserNameRequestModel = {\n /** New user name */\n newName: string\n}\nexport type LocationInfo = {\n country?: string\n subdivision?: string\n city?: string\n}\nexport type AgentInfo = {\n platform?: string\n client?: string\n device?: string\n}\nexport type ClientInfo = {\n ip: string\n languages?: string[]\n location?: LocationInfo\n agent?: AgentInfo\n site_id?: string\n}\nexport type UserSessionModel = {\n token: string\n isService: boolean\n lastUsed: number\n clientInfo?: ClientInfo\n}\nexport type UserSessionsResponseModel = {\n sessions: UserSessionModel[]\n}\nexport type AccessGroupsOnProject = {\n /** Project name */\n project: string\n /** List of access groups on the project */\n accessGroups: string[]\n}\nexport type AssignAccessGroupsRequestModel = {\n /** List of access groups to assign */\n accessGroups?: AccessGroupsOnProject[]\n}\n"],"names":["injectedRtkApi","api","build","queryArg"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../../../_virtual/jsx-runtime.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../../../_virtual/jsx-runtime.cjs.js"),O=require("react"),l=require("@ynput/ayon-react-components"),S=require("lodash"),T=require("./components/MinMaxField.cjs.js"),q=require("../EnumEditor/EnumEditor.cjs.js");require("../EnumEditor/EnumEditor.styled.cjs.js");const M=[{value:"project",label:"Project"},{value:"folder",label:"Folder"},{value:"task",label:"Task"},{value:"product",label:"Product"},{value:"version",label:"Version"},{value:"representation",label:"Representation"},{value:"user",label:"User"},{value:"list",label:"List"}],_=[{value:"description",scope:null},{value:"example",scope:null},{value:"default",scope:["project"]},{value:"inherit",scope:["project","folder","task","product","version","representation","user"]}],R={string:{value:"string",label:"String",fields:["minLength","maxLength","enum","regex"]},integer:{value:"integer",label:"Integer",fields:["ge","gt","le","lt"]},float:{value:"float",label:"Decimal number",fields:["ge","gt","le","lt"]},list_of_strings:{value:"list_of_strings",label:"List Of Strings",fields:["minItems","maxItems","enum"]},boolean:{value:"boolean",label:"Boolean",fields:[],exclude:["example"]},datetime:{value:"datetime",label:"Datetime",fields:[]}},P={name:"",scope:["folder","task"],builtin:!1,position:0,data:{type:"string",title:"",description:"",example:"",default:void 0,enum:void 0,minLength:void 0,maxLength:void 0,regex:"",minItems:void 0,maxItems:void 0,ge:void 0,gt:void 0,le:void 0,lt:void 0}},A=(c,u)=>{const r=JSON.parse(JSON.stringify(P)),x=["name"];Object.keys(r).forEach(i=>{!x.includes(i)&&c.includes(i)&&i!=="data"&&delete r[i]});const j=["title"];return r.data&&Object.keys(r.data).forEach(i=>{!j.includes(i)&&c.includes(i)&&delete r.data[i]}),u&&Object.keys(u).forEach(i=>{const p=i;p==="data"&&u.data&&r.data?r.data={...r.data,...u.data}:u[p]!==void 0&&(r[p]=u[p])}),r},B=({attribute:c,defaultData:u,existingNames:r,error:x="",isUpdating:j,excludes:i=[],onHide:p,onEdit:D,onDelete:I})=>{const F=u?{...u,name:u.name||(u.data?.title?S.camelCase(u.data.title):void 0)}:void 0,[t,b]=O.useState(c||A(i,{position:r.length,...F}));O.useEffect(()=>{c&&b(c)},[c]);const g=!c,y=(e,a)=>{b(s=>s&&{...s,[e]:a})},m=(e,a)=>{b(s=>{if(!s||!s.data)return s;const o={...s.data,[e]:a};return{...s,data:o}})};let v="";t&&g&&(r.includes(t.name)?v="This attribute already exists":t.name.match("^[a-zA-Z_]{2,64}$")||(x="Invalid attribute name"));const C=()=>{t&&D(t)},L=n.jsxRuntimeExports.jsxs("div",{style:{display:"flex",width:"100%",flexDirection:"row"},children:[I&&c&&n.jsxRuntimeExports.jsx(l.Button,{variant:"danger",label:"Delete attribute",icon:"delete",disabled:j,onClick:I}),n.jsxRuntimeExports.jsx(l.Spacer,{}),n.jsxRuntimeExports.jsx(l.SaveButton,{label:g?"Create Attribute":"Save Attribute",icon:"check",disabled:!!v||!t,active:!v&&!!t,saving:j,onClick:C})]});let f=[];if(_.forEach(e=>{(!e?.scope||e?.scope?.some(a=>t?.scope?.includes(a)))&&f.push(e.value)}),t?.data.type&&R[t.data.type]){const e=R[t.data.type];f=[...f,...e.fields].filter(a=>!e.exclude?.includes(a))}const w={enum:(e=[],a)=>n.jsxRuntimeExports.jsx(q.EnumEditor,{values:e,onChange:s=>{a(s?.length?s:void 0)}}),inherit:(e,a)=>n.jsxRuntimeExports.jsx(l.InputSwitch,{checked:e,onChange:s=>a(s.target.checked)}),booleanDefault:(e,a)=>n.jsxRuntimeExports.jsx(l.InputSwitch,{checked:e,onChange:s=>a(s.target.checked)})},N=e=>{const a=e.target.value;m("title",a),g&&y("name",S.camelCase(a))};return n.jsxRuntimeExports.jsx(l.Dialog,{header:t?.data?.title||t?.name||"New attribute",footer:L,onClose:p,isOpen:!0,style:{width:700,zIndex:999},size:"full",enableBackdropClose:!1,onKeyDown:e=>{e.key==="Enter"&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),C())},children:t&&n.jsxRuntimeExports.jsxs(l.FormLayout,{children:[!i.includes("title")&&n.jsxRuntimeExports.jsx(l.FormRow,{label:"Title",children:n.jsxRuntimeExports.jsx(l.InputText,{value:t?.data.title,onChange:N,autoFocus:!0})},"title"),!i.includes("name")&&n.jsxRuntimeExports.jsx(l.FormRow,{label:"Name",children:n.jsxRuntimeExports.jsx(l.LockedInput,{value:t.name,disabled:!g,onSubmit:e=>y("name",e),label:"name"})},"name"),!i.includes("scope")&&n.jsxRuntimeExports.jsx(l.FormRow,{label:"Scope",children:n.jsxRuntimeExports.jsx(l.Dropdown,{options:M,disabled:t.builtin,value:t.scope||[],onChange:e=>y("scope",e),multiSelect:!0,widthExpand:!0})}),!i.includes("type")&&n.jsxRuntimeExports.jsx(l.FormRow,{label:"Type",children:n.jsxRuntimeExports.jsx(l.Dropdown,{value:[t?.data?.type],disabled:t.builtin||!g,options:Object.values(R),onChange:e=>{const a=e[0],o=R[a]?.fields?.includes("regex");m("type",a),!o&&t?.data?.regex&&m("regex","")},minSelected:1,widthExpand:!0})}),f.map(e=>{if(i.includes(e))return null;let a=null,s=S.upperFirst(e);if(e==="enum"||e==="inherit"){const o=w[e];a=o(t?.data[e],h=>m(e,h))}else if(e==="default"&&t?.data?.type==="boolean")a=w.booleanDefault(t?.data[e],o=>m(e,o));else if(["ge","gt","le","lt"].includes(e)){if(["gt","lt"].includes(e))return null;a=n.jsxRuntimeExports.jsx(T.MinMaxField,{value:t?.data,isMin:e==="ge",isFloat:t?.data?.type==="float",onChange:o=>{const h=o.ge!==void 0?Number(o.ge):void 0,E=o.le!==void 0?Number(o.le):void 0;o.ge!==void 0&&isNaN(h)||o.le!==void 0&&isNaN(E)||b(d=>{if(!d||!d.data)return d;const k={...d.data,...o};return{...d,data:k}})}}),s=e==="ge"?"Min":"Max"}else{const o=h=>{const E=h.target.value;switch(e){case"minLength":case"maxLength":case"minItems":case"maxItems":{const d=parseInt(E,10);m(e,isNaN(d)?void 0:d);break}default:m(e,E);break}};a=n.jsxRuntimeExports.jsx(l.InputText,{value:String(t?.data[e]??""),onChange:o})}return n.jsxRuntimeExports.jsx(l.FormRow,{label:s,style:{alignItems:"flex-start"},children:a},e)}),n.jsxRuntimeExports.jsx("span",{children:(v||x)&&n.jsxRuntimeExports.jsx("span",{className:"form-error-text",children:v||x})})]})})};exports.AttributeEditor=B;
|
|
2
2
|
//# sourceMappingURL=AttributeEditor.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeEditor.cjs.js","sources":["../../../../../src/components/AttributeEditor/AttributeEditor.tsx"],"sourcesContent":["import { FC, useEffect, useState } from 'react'\nimport {\n SaveButton,\n Spacer,\n FormLayout,\n FormRow,\n InputText,\n InputSwitch,\n LockedInput,\n Dropdown,\n Dialog,\n Button,\n} from '@ynput/ayon-react-components'\nimport { camelCase, upperFirst } from 'lodash'\nimport { MinMaxField } from './components'\nimport { EnumEditor } from '@shared/components/EnumEditor'\nimport { AttributeData, AttributeModel, AttributeEnumItem } from '@shared/api'\n\nconst SCOPE_OPTIONS = [\n { value: 'project', label: 'Project' },\n { value: 'folder', label: 'Folder' },\n { value: 'task', label: 'Task' },\n { value: 'product', label: 'Product' },\n { value: 'version', label: 'Version' },\n { value: 'representation', label: 'Representation' },\n { value: 'user', label: 'User' },\n { value: 'list', label: 'List' },\n]\n\n// Define types for constants\ninterface GlobalFieldEntry {\n value: keyof AttributeData\n scope: (AttributeModel['scope'] | '')[] | null\n}\n\nconst GLOBAL_FIELDS: GlobalFieldEntry[] = [\n { value: 'description', scope: null },\n { value: 'example', scope: null },\n // @ts-expect-error - project is not a scope?\n { value: 'default', scope: ['project'] },\n {\n value: 'inherit',\n scope: ['project', 'folder', 'task', 'product', 'version', 'representation', 'user'],\n },\n]\n\ninterface TypeOptionDef {\n value: AttributeData['type']\n label: string\n fields: (keyof AttributeData)[]\n exclude?: (keyof AttributeData)[]\n}\n\ninterface TypeOptionsMap {\n [key: string]: TypeOptionDef\n}\n\nconst TYPE_OPTIONS: TypeOptionsMap = {\n string: {\n value: 'string',\n label: 'String',\n fields: ['minLength', 'maxLength', 'enum', 'regex'],\n },\n integer: {\n value: 'integer',\n label: 'Integer',\n fields: ['ge', 'gt', 'le', 'lt'],\n },\n float: {\n value: 'float',\n label: 'Decimal number',\n fields: ['ge', 'gt', 'le', 'lt'],\n },\n list_of_strings: {\n value: 'list_of_strings',\n label: 'List Of Strings',\n fields: ['minItems', 'maxItems', 'enum'],\n },\n boolean: {\n value: 'boolean',\n label: 'Boolean',\n fields: [],\n exclude: ['example'],\n },\n datetime: {\n value: 'datetime',\n label: 'Datetime',\n fields: [],\n },\n}\n\ntype Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>\ntype PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>\nexport type AttributeForm = PartialBy<AttributeModel, 'scope' | 'position'>\ntype Excludes = (keyof Omit<AttributeModel, 'data'> | keyof AttributeData)[]\n\nconst initFormData: AttributeForm = {\n name: '',\n scope: ['folder', 'task'],\n builtin: false,\n position: 0,\n data: {\n type: 'string',\n title: '',\n description: '',\n example: '',\n default: undefined,\n enum: undefined,\n minLength: undefined,\n maxLength: undefined,\n regex: '',\n minItems: undefined,\n maxItems: undefined,\n ge: undefined,\n gt: undefined,\n le: undefined,\n lt: undefined,\n },\n}\n\n// build the form data based on excludes and to update any data\nconst buildInitFormData = (excludes: Excludes, data?: Partial<AttributeForm>) => {\n // Create a deep clone of init form data\n const formData = JSON.parse(JSON.stringify(initFormData)) as AttributeForm\n\n // Filter out top-level excludes if not in required\n const required = ['name']\n Object.keys(formData).forEach((key) => {\n if (\n !required.includes(key) &&\n excludes.includes(key as keyof Omit<AttributeModel, 'data'>) &&\n key !== 'data'\n ) {\n delete formData[key as keyof AttributeForm]\n }\n })\n\n // Filter out data field excludes if not in in required\n const requiredData = ['title']\n if (formData.data) {\n Object.keys(formData.data).forEach((key) => {\n if (!requiredData.includes(key) && excludes.includes(key as keyof AttributeData)) {\n delete formData.data[key as keyof AttributeData]\n }\n })\n }\n\n // Merge with provided data if any\n if (data) {\n // Merge top-level fields\n Object.keys(data).forEach((key) => {\n const typedKey = key as keyof AttributeForm\n if (typedKey !== 'data' && excludes.includes(typedKey)) return\n\n if (typedKey === 'data' && data.data && formData.data) {\n // Deep merge of data fields\n formData.data = { ...formData.data, ...data.data }\n } else if (data[typedKey] !== undefined) {\n // @ts-ignore - We know these properties exist\n formData[typedKey] = data[typedKey]\n }\n })\n }\n\n return formData\n}\n\nexport interface AttributeEditorProps {\n attribute: AttributeForm | null\n existingNames: string[]\n error?: string\n isUpdating?: boolean\n excludes?: Excludes\n onHide: () => void\n onEdit: (attribute: AttributeForm) => void\n onDelete?: () => void\n}\n\nexport const AttributeEditor: FC<AttributeEditorProps> = ({\n attribute,\n existingNames,\n error = '',\n isUpdating,\n excludes = [],\n onHide,\n onEdit,\n onDelete,\n}) => {\n const initForm = buildInitFormData(excludes, { position: existingNames.length })\n const [formData, setFormData] = useState<AttributeForm | null>(attribute || initForm)\n\n useEffect(() => {\n if (!!attribute) setFormData(attribute)\n }, [attribute])\n\n const isNew = !attribute\n\n // const setTopLevelData = (key: string, value: string) => {\n const setTopLevelData = <K extends keyof Omit<AttributeModel, 'data'>>(\n key: K,\n value: AttributeModel[K],\n ) => {\n setFormData((d) => {\n if (!d) {\n return d\n }\n return { ...d, [key]: value }\n })\n }\n\n // const setData = (key, value) => {\n const setData = <K extends keyof AttributeData>(key: K, value: AttributeData[K]) => {\n setFormData((d) => {\n // Add a check for d and d.data\n if (!d || !d.data) {\n return d\n }\n const dt = { ...d.data, [key]: value }\n return { ...d, data: dt }\n })\n }\n\n let internalError = ''\n if (formData) {\n if (isNew) {\n if (existingNames.includes(formData.name)) internalError = 'This attribute already exists'\n else if (!formData.name.match('^[a-zA-Z_]{2,64}$')) error = 'Invalid attribute name'\n } // name validation\n }\n\n const handleSubmit = () => {\n if (formData) {\n onEdit(formData)\n }\n }\n\n const footer = (\n <div style={{ display: 'flex', width: '100%', flexDirection: 'row' }}>\n {onDelete && attribute && (\n <Button\n variant=\"danger\"\n label={'Delete attribute'}\n icon={'delete'}\n disabled={isUpdating}\n onClick={onDelete}\n />\n )}\n <Spacer />\n <SaveButton\n label={isNew ? 'Create Attribute' : 'Save Attribute'}\n icon={'check'}\n disabled={!!internalError || !formData}\n active={!internalError && !!formData}\n saving={isUpdating}\n onClick={handleSubmit}\n />\n </div>\n )\n\n let dataFields: (keyof AttributeData)[] = []\n\n // add global fields, only if scope are null (all) or the scope is included\n GLOBAL_FIELDS.forEach((globalField) => {\n // @ts-expect-error - project scope will never be found here?\n if (!globalField?.scope || globalField?.scope?.some((s) => formData?.scope?.includes(s))) {\n dataFields.push(globalField.value)\n }\n })\n\n if (formData?.data.type && TYPE_OPTIONS[formData.data.type]) {\n const typeOpt = TYPE_OPTIONS[formData.data.type]\n dataFields = [...dataFields, ...typeOpt.fields].filter((f) => !typeOpt.exclude?.includes(f))\n }\n\n type CustomFieldRenderer = (value: any, onChange: (newValue: any) => void) => JSX.Element | null\n const customFields: {\n enum: CustomFieldRenderer\n inherit: CustomFieldRenderer\n booleanDefault: CustomFieldRenderer\n } = {\n enum: (value = [], onChange) => (\n <EnumEditor\n values={value as AttributeEnumItem[]}\n onChange={(val) => {\n onChange(val?.length ? val : undefined)\n }}\n />\n ),\n inherit: (value, onChange) => (\n <InputSwitch\n checked={value}\n onChange={(e) => onChange((e.target as HTMLInputElement).checked)}\n />\n ),\n booleanDefault: (value, onChange) => (\n <InputSwitch\n checked={value}\n onChange={(e) => onChange((e.target as HTMLInputElement).checked)}\n />\n ),\n }\n\n const handleTitleChange = (e: React.ChangeEvent) => {\n const v = (e.target as HTMLInputElement).value\n setData('title', v)\n\n if (isNew) {\n setTopLevelData('name', camelCase(v))\n }\n }\n\n return (\n <Dialog\n header={formData?.data?.title || formData?.name || 'New attribute'}\n footer={footer}\n onClose={onHide}\n isOpen={true}\n style={{ width: 700, zIndex: 999 }}\n size=\"full\"\n enableBackdropClose={false}\n onKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n handleSubmit()\n }\n }}\n >\n {formData && (\n <FormLayout>\n {!excludes.includes('title') && (\n <FormRow label={'Title'} key={'title'}>\n <InputText value={formData?.data['title']} onChange={handleTitleChange} autoFocus />\n </FormRow>\n )}\n {!excludes.includes('name') && (\n <FormRow label={'Name'} key={'name'}>\n <LockedInput\n value={formData.name}\n disabled={!isNew}\n onSubmit={(v) => setTopLevelData('name', v)}\n label=\"name\"\n />\n </FormRow>\n )}\n {!excludes.includes('scope') && (\n <FormRow label=\"Scope\">\n <Dropdown\n options={SCOPE_OPTIONS}\n disabled={formData.builtin}\n value={formData.scope || []}\n onChange={(v) => setTopLevelData('scope', v as AttributeModel['scope'])}\n multiSelect\n widthExpand\n />\n </FormRow>\n )}\n {!excludes.includes('type') && (\n <FormRow label=\"Type\">\n <Dropdown\n value={[formData?.data?.type]}\n disabled={formData.builtin || !isNew}\n options={Object.values(TYPE_OPTIONS)}\n onChange={(v) => {\n const newType = v[0] as AttributeData['type']\n // Check if regex is supported for the new type\n const typeOpt = TYPE_OPTIONS[newType]\n const supportsRegex = typeOpt?.fields?.includes('regex')\n\n setData('type', newType)\n // Clear regex if not supported by the new type\n if (!supportsRegex && formData?.data?.regex) {\n setData('regex', '')\n }\n }}\n minSelected={1}\n widthExpand\n />\n </FormRow>\n )}\n {dataFields.map((field) => {\n // skip if field is excluded\n if (excludes.includes(field)) return null\n\n let fieldComp = null\n let fieldLabel = upperFirst(field)\n\n if (field === 'enum' || field === 'inherit') {\n const renderer = customFields[field as 'enum' | 'inherit']\n fieldComp = renderer(formData?.data[field], (value) => setData(field, value))\n } else if (field === 'default' && formData?.data?.type === 'boolean') {\n fieldComp = customFields['booleanDefault'](\n formData?.data[field] as boolean,\n (value) => setData(field, value as AttributeData['default']),\n )\n } else if (['ge', 'gt', 'le', 'lt'].includes(field)) {\n // ignore gt and lt\n if (['gt', 'lt'].includes(field)) return null\n fieldComp = (\n <MinMaxField\n value={formData?.data}\n isMin={field === 'ge'}\n isFloat={formData?.data?.type === 'float'}\n onChange={(v) => {\n const geValue = v.ge !== undefined ? Number(v.ge) : undefined\n const leValue = v.le !== undefined ? Number(v.le) : undefined\n\n if (\n // @ts-expect-error\n (v.ge !== undefined && isNaN(geValue)) ||\n // @ts-expect-error\n (v.le !== undefined && isNaN(leValue))\n ) {\n // Do not update the form if the value is not a valid number\n return\n }\n\n setFormData((d) => {\n if (!d || !d.data) return d\n const dt = { ...d.data, ...v }\n return { ...d, data: dt }\n })\n }}\n />\n )\n\n // rewrite field to min or max for display label\n fieldLabel = field === 'ge' ? 'Min' : 'Max'\n } else {\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const strValue = e.target.value\n switch (field) {\n case 'minLength':\n case 'maxLength':\n case 'minItems':\n case 'maxItems': {\n const num = parseInt(strValue, 10)\n setData(field, isNaN(num) ? undefined : num)\n break\n }\n default:\n // For string fields ('description', 'regex') or 'any' type fields ('example', 'default')\n setData(field, strValue as AttributeData[typeof field])\n break\n }\n }\n\n fieldComp = (\n <InputText\n value={String(formData?.data[field] ?? '')}\n onChange={handleInputChange}\n />\n )\n }\n\n return (\n <FormRow\n label={fieldLabel}\n key={field}\n style={{\n alignItems: 'flex-start',\n }}\n >\n {fieldComp}\n </FormRow>\n )\n })}\n <span>\n {(internalError || error) && (\n <span className=\"form-error-text\">{internalError || error}</span>\n )}\n </span>\n </FormLayout>\n )}\n </Dialog>\n )\n}\n"],"names":["SCOPE_OPTIONS","GLOBAL_FIELDS","TYPE_OPTIONS","initFormData","buildInitFormData","excludes","data","formData","required","key","requiredData","typedKey","AttributeEditor","attribute","existingNames","error","isUpdating","onHide","onEdit","onDelete","initForm","setFormData","useState","useEffect","isNew","setTopLevelData","value","d","setData","dt","internalError","handleSubmit","footer","jsxs","jsx","Button","Spacer","SaveButton","dataFields","globalField","s","typeOpt","f","customFields","onChange","EnumEditor","val","InputSwitch","e","handleTitleChange","v","camelCase","Dialog","FormLayout","FormRow","InputText","LockedInput","Dropdown","newType","supportsRegex","field","fieldComp","fieldLabel","upperFirst","renderer","MinMaxField","geValue","leValue","handleInputChange","strValue","num"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AttributeEditor.cjs.js","sources":["../../../../../src/components/AttributeEditor/AttributeEditor.tsx"],"sourcesContent":["import { FC, useEffect, useState } from 'react'\nimport {\n SaveButton,\n Spacer,\n FormLayout,\n FormRow,\n InputText,\n InputSwitch,\n LockedInput,\n Dropdown,\n Dialog,\n Button,\n} from '@ynput/ayon-react-components'\nimport { camelCase, upperFirst } from 'lodash'\nimport { MinMaxField } from './components'\nimport { EnumEditor } from '@shared/components/EnumEditor'\nimport { AttributeData, AttributeModel, AttributeEnumItem } from '@shared/api'\n\nconst SCOPE_OPTIONS = [\n { value: 'project', label: 'Project' },\n { value: 'folder', label: 'Folder' },\n { value: 'task', label: 'Task' },\n { value: 'product', label: 'Product' },\n { value: 'version', label: 'Version' },\n { value: 'representation', label: 'Representation' },\n { value: 'user', label: 'User' },\n { value: 'list', label: 'List' },\n]\n\n// Define types for constants\ninterface GlobalFieldEntry {\n value: keyof AttributeData\n scope: (AttributeModel['scope'] | '')[] | null\n}\n\nconst GLOBAL_FIELDS: GlobalFieldEntry[] = [\n { value: 'description', scope: null },\n { value: 'example', scope: null },\n // @ts-expect-error - project is not a scope?\n { value: 'default', scope: ['project'] },\n {\n value: 'inherit',\n scope: ['project', 'folder', 'task', 'product', 'version', 'representation', 'user'],\n },\n]\n\ninterface TypeOptionDef {\n value: AttributeData['type']\n label: string\n fields: (keyof AttributeData)[]\n exclude?: (keyof AttributeData)[]\n}\n\ninterface TypeOptionsMap {\n [key: string]: TypeOptionDef\n}\n\nconst TYPE_OPTIONS: TypeOptionsMap = {\n string: {\n value: 'string',\n label: 'String',\n fields: ['minLength', 'maxLength', 'enum', 'regex'],\n },\n integer: {\n value: 'integer',\n label: 'Integer',\n fields: ['ge', 'gt', 'le', 'lt'],\n },\n float: {\n value: 'float',\n label: 'Decimal number',\n fields: ['ge', 'gt', 'le', 'lt'],\n },\n list_of_strings: {\n value: 'list_of_strings',\n label: 'List Of Strings',\n fields: ['minItems', 'maxItems', 'enum'],\n },\n boolean: {\n value: 'boolean',\n label: 'Boolean',\n fields: [],\n exclude: ['example'],\n },\n datetime: {\n value: 'datetime',\n label: 'Datetime',\n fields: [],\n },\n}\n\ntype Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>\ntype PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>\nexport type AttributeForm = PartialBy<AttributeModel, 'scope' | 'position'>\ntype Excludes = (keyof Omit<AttributeModel, 'data'> | keyof AttributeData)[]\n\nconst initFormData: AttributeForm = {\n name: '',\n scope: ['folder', 'task'],\n builtin: false,\n position: 0,\n data: {\n type: 'string',\n title: '',\n description: '',\n example: '',\n default: undefined,\n enum: undefined,\n minLength: undefined,\n maxLength: undefined,\n regex: '',\n minItems: undefined,\n maxItems: undefined,\n ge: undefined,\n gt: undefined,\n le: undefined,\n lt: undefined,\n },\n}\n\n// build the form data based on excludes and to update any data\nconst buildInitFormData = (excludes: Excludes, data?: Partial<AttributeForm>) => {\n // Create a deep clone of init form data\n const formData = JSON.parse(JSON.stringify(initFormData)) as AttributeForm\n\n // Filter out top-level excludes if not in required\n const required = ['name']\n Object.keys(formData).forEach((key) => {\n if (\n !required.includes(key) &&\n excludes.includes(key as keyof Omit<AttributeModel, 'data'>) &&\n key !== 'data'\n ) {\n delete formData[key as keyof AttributeForm]\n }\n })\n\n // Filter out data field excludes if not in in required\n const requiredData = ['title']\n if (formData.data) {\n Object.keys(formData.data).forEach((key) => {\n if (!requiredData.includes(key) && excludes.includes(key as keyof AttributeData)) {\n delete formData.data[key as keyof AttributeData]\n }\n })\n }\n\n // Merge with provided data if any\n if (data) {\n // Merge top-level fields\n Object.keys(data).forEach((key) => {\n const typedKey = key as keyof AttributeForm\n\n if (typedKey === 'data' && data.data && formData.data) {\n // Deep merge of data fields\n formData.data = { ...formData.data, ...data.data }\n } else if (data[typedKey] !== undefined) {\n // @ts-ignore - We know these properties exist\n formData[typedKey] = data[typedKey]\n }\n })\n }\n\n return formData\n}\n\nexport interface AttributeEditorProps {\n attribute: AttributeForm | null\n defaultData?: Partial<AttributeForm>\n existingNames: string[]\n error?: string\n isUpdating?: boolean\n excludes?: Excludes\n onHide: () => void\n onEdit: (attribute: AttributeForm) => void\n onDelete?: () => void\n}\n\nexport const AttributeEditor: FC<AttributeEditorProps> = ({\n attribute,\n defaultData,\n existingNames,\n error = '',\n isUpdating,\n excludes = [],\n onHide,\n onEdit,\n onDelete,\n}) => {\n const resolvedDefaultData = defaultData\n ? {\n ...defaultData,\n name:\n defaultData.name ||\n (defaultData.data?.title ? camelCase(defaultData.data.title) : undefined),\n }\n : undefined\n\n const [formData, setFormData] = useState<AttributeForm | null>(\n attribute ||\n buildInitFormData(excludes, {\n position: existingNames.length,\n ...resolvedDefaultData,\n }),\n )\n\n useEffect(() => {\n if (!!attribute) setFormData(attribute)\n }, [attribute])\n\n const isNew = !attribute\n\n // const setTopLevelData = (key: string, value: string) => {\n const setTopLevelData = <K extends keyof Omit<AttributeModel, 'data'>>(\n key: K,\n value: AttributeModel[K],\n ) => {\n setFormData((d) => {\n if (!d) {\n return d\n }\n return { ...d, [key]: value }\n })\n }\n\n // const setData = (key, value) => {\n const setData = <K extends keyof AttributeData>(key: K, value: AttributeData[K]) => {\n setFormData((d) => {\n // Add a check for d and d.data\n if (!d || !d.data) {\n return d\n }\n const dt = { ...d.data, [key]: value }\n return { ...d, data: dt }\n })\n }\n\n let internalError = ''\n if (formData) {\n if (isNew) {\n if (existingNames.includes(formData.name)) internalError = 'This attribute already exists'\n else if (!formData.name.match('^[a-zA-Z_]{2,64}$')) error = 'Invalid attribute name'\n } // name validation\n }\n\n const handleSubmit = () => {\n if (formData) {\n onEdit(formData)\n }\n }\n\n const footer = (\n <div style={{ display: 'flex', width: '100%', flexDirection: 'row' }}>\n {onDelete && attribute && (\n <Button\n variant=\"danger\"\n label={'Delete attribute'}\n icon={'delete'}\n disabled={isUpdating}\n onClick={onDelete}\n />\n )}\n <Spacer />\n <SaveButton\n label={isNew ? 'Create Attribute' : 'Save Attribute'}\n icon={'check'}\n disabled={!!internalError || !formData}\n active={!internalError && !!formData}\n saving={isUpdating}\n onClick={handleSubmit}\n />\n </div>\n )\n\n let dataFields: (keyof AttributeData)[] = []\n\n // add global fields, only if scope are null (all) or the scope is included\n GLOBAL_FIELDS.forEach((globalField) => {\n // @ts-expect-error - project scope will never be found here?\n if (!globalField?.scope || globalField?.scope?.some((s) => formData?.scope?.includes(s))) {\n dataFields.push(globalField.value)\n }\n })\n\n if (formData?.data.type && TYPE_OPTIONS[formData.data.type]) {\n const typeOpt = TYPE_OPTIONS[formData.data.type]\n dataFields = [...dataFields, ...typeOpt.fields].filter((f) => !typeOpt.exclude?.includes(f))\n }\n\n type CustomFieldRenderer = (value: any, onChange: (newValue: any) => void) => JSX.Element | null\n const customFields: {\n enum: CustomFieldRenderer\n inherit: CustomFieldRenderer\n booleanDefault: CustomFieldRenderer\n } = {\n enum: (value = [], onChange) => (\n <EnumEditor\n values={value as AttributeEnumItem[]}\n onChange={(val) => {\n onChange(val?.length ? val : undefined)\n }}\n />\n ),\n inherit: (value, onChange) => (\n <InputSwitch\n checked={value}\n onChange={(e) => onChange((e.target as HTMLInputElement).checked)}\n />\n ),\n booleanDefault: (value, onChange) => (\n <InputSwitch\n checked={value}\n onChange={(e) => onChange((e.target as HTMLInputElement).checked)}\n />\n ),\n }\n\n const handleTitleChange = (e: React.ChangeEvent) => {\n const v = (e.target as HTMLInputElement).value\n setData('title', v)\n\n if (isNew) {\n setTopLevelData('name', camelCase(v))\n }\n }\n\n return (\n <Dialog\n header={formData?.data?.title || formData?.name || 'New attribute'}\n footer={footer}\n onClose={onHide}\n isOpen={true}\n style={{ width: 700, zIndex: 999 }}\n size=\"full\"\n enableBackdropClose={false}\n onKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n handleSubmit()\n }\n }}\n >\n {formData && (\n <FormLayout>\n {!excludes.includes('title') && (\n <FormRow label={'Title'} key={'title'}>\n <InputText value={formData?.data['title']} onChange={handleTitleChange} autoFocus />\n </FormRow>\n )}\n {!excludes.includes('name') && (\n <FormRow label={'Name'} key={'name'}>\n <LockedInput\n value={formData.name}\n disabled={!isNew}\n onSubmit={(v) => setTopLevelData('name', v)}\n label=\"name\"\n />\n </FormRow>\n )}\n {!excludes.includes('scope') && (\n <FormRow label=\"Scope\">\n <Dropdown\n options={SCOPE_OPTIONS}\n disabled={formData.builtin}\n value={formData.scope || []}\n onChange={(v) => setTopLevelData('scope', v as AttributeModel['scope'])}\n multiSelect\n widthExpand\n />\n </FormRow>\n )}\n {!excludes.includes('type') && (\n <FormRow label=\"Type\">\n <Dropdown\n value={[formData?.data?.type]}\n disabled={formData.builtin || !isNew}\n options={Object.values(TYPE_OPTIONS)}\n onChange={(v) => {\n const newType = v[0] as AttributeData['type']\n // Check if regex is supported for the new type\n const typeOpt = TYPE_OPTIONS[newType]\n const supportsRegex = typeOpt?.fields?.includes('regex')\n\n setData('type', newType)\n // Clear regex if not supported by the new type\n if (!supportsRegex && formData?.data?.regex) {\n setData('regex', '')\n }\n }}\n minSelected={1}\n widthExpand\n />\n </FormRow>\n )}\n {dataFields.map((field) => {\n // skip if field is excluded\n if (excludes.includes(field)) return null\n\n let fieldComp = null\n let fieldLabel = upperFirst(field)\n\n if (field === 'enum' || field === 'inherit') {\n const renderer = customFields[field as 'enum' | 'inherit']\n fieldComp = renderer(formData?.data[field], (value) => setData(field, value))\n } else if (field === 'default' && formData?.data?.type === 'boolean') {\n fieldComp = customFields['booleanDefault'](\n formData?.data[field] as boolean,\n (value) => setData(field, value as AttributeData['default']),\n )\n } else if (['ge', 'gt', 'le', 'lt'].includes(field)) {\n // ignore gt and lt\n if (['gt', 'lt'].includes(field)) return null\n fieldComp = (\n <MinMaxField\n value={formData?.data}\n isMin={field === 'ge'}\n isFloat={formData?.data?.type === 'float'}\n onChange={(v) => {\n const geValue = v.ge !== undefined ? Number(v.ge) : undefined\n const leValue = v.le !== undefined ? Number(v.le) : undefined\n\n if (\n // @ts-expect-error\n (v.ge !== undefined && isNaN(geValue)) ||\n // @ts-expect-error\n (v.le !== undefined && isNaN(leValue))\n ) {\n // Do not update the form if the value is not a valid number\n return\n }\n\n setFormData((d) => {\n if (!d || !d.data) return d\n const dt = { ...d.data, ...v }\n return { ...d, data: dt }\n })\n }}\n />\n )\n\n // rewrite field to min or max for display label\n fieldLabel = field === 'ge' ? 'Min' : 'Max'\n } else {\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const strValue = e.target.value\n switch (field) {\n case 'minLength':\n case 'maxLength':\n case 'minItems':\n case 'maxItems': {\n const num = parseInt(strValue, 10)\n setData(field, isNaN(num) ? undefined : num)\n break\n }\n default:\n // For string fields ('description', 'regex') or 'any' type fields ('example', 'default')\n setData(field, strValue as AttributeData[typeof field])\n break\n }\n }\n\n fieldComp = (\n <InputText\n value={String(formData?.data[field] ?? '')}\n onChange={handleInputChange}\n />\n )\n }\n\n return (\n <FormRow\n label={fieldLabel}\n key={field}\n style={{\n alignItems: 'flex-start',\n }}\n >\n {fieldComp}\n </FormRow>\n )\n })}\n <span>\n {(internalError || error) && (\n <span className=\"form-error-text\">{internalError || error}</span>\n )}\n </span>\n </FormLayout>\n )}\n </Dialog>\n )\n}\n"],"names":["SCOPE_OPTIONS","GLOBAL_FIELDS","TYPE_OPTIONS","initFormData","buildInitFormData","excludes","data","formData","required","key","requiredData","typedKey","AttributeEditor","attribute","defaultData","existingNames","error","isUpdating","onHide","onEdit","onDelete","resolvedDefaultData","camelCase","setFormData","useState","useEffect","isNew","setTopLevelData","value","d","setData","dt","internalError","handleSubmit","footer","jsxs","jsx","Button","Spacer","SaveButton","dataFields","globalField","s","typeOpt","f","customFields","onChange","EnumEditor","val","InputSwitch","e","handleTitleChange","v","Dialog","FormLayout","FormRow","InputText","LockedInput","Dropdown","newType","supportsRegex","field","fieldComp","fieldLabel","upperFirst","renderer","MinMaxField","geValue","leValue","handleInputChange","strValue","num"],"mappings":"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"}
|