@ynput/ayon-frontend-shared 0.2.26 → 0.2.28
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 +25 -22
- 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 +13 -11
- package/dist/Views.es.js.map +1 -1
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +153 -151
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +62 -51
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +12 -6
- package/dist/index.es.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.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/api/generated/views.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/views.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +142 -117
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js +110 -95
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +21 -17
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/components/AccessUser/AccessUser.cjs.js +2 -0
- package/dist/shared/src/components/AccessUser/AccessUser.cjs.js.map +1 -0
- package/dist/shared/src/components/AccessUser/AccessUser.es.js +33 -0
- package/dist/shared/src/components/AccessUser/AccessUser.es.js.map +1 -0
- package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js +42 -0
- package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js +46 -0
- package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js.map +1 -0
- package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js +34 -0
- package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js.map +1 -0
- package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js +46 -0
- package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +20 -10
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +81 -67
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +59 -52
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.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 +5 -2
- 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 +5 -2
- package/dist/shared/src/components/LinksManager/AddNewLinks.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 +5 -2
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +2 -0
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -0
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +205 -0
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -0
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +2 -0
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -0
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +25 -0
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +3 -3
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +5 -5
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- 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 +5 -2
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js +9 -0
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js.map +1 -0
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js +25 -0
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js.map +1 -0
- 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 +7 -4
- 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 +18 -21
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.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 +5 -2
- 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 +6 -3
- 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 +5 -2
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js +2 -0
- package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js.map +1 -0
- package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js +17 -0
- package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js.map +1 -0
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +5 -2
- 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 +5 -2
- 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 +5 -2
- 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 +5 -2
- 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 +146 -157
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +7 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +13 -6
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +6 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +5 -2
- 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 +5 -2
- 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 +5 -2
- 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 +5 -2
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.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 +413 -396
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +104 -25
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +131 -52
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.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 +136 -129
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +16 -53
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +100 -120
- 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 +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +7 -3
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +12 -8
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.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 +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +250 -235
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +24 -21
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.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 +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +10 -10
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +13 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.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 +65 -60
- 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 +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.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 +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.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 +5 -2
- 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 +5 -2
- 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 +5 -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 +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.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 +16 -13
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js +41 -14
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +7 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +110 -104
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +8 -8
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +44 -43
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.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 +7 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -2
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- 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 +118 -103
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +16 -4
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +13 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +62 -50
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +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.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js +2 -0
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js +64 -0
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js.map +1 -0
- package/dist/shared/src/context/MenuContext.cjs.js +2 -0
- package/dist/shared/src/context/MenuContext.cjs.js.map +1 -0
- package/dist/shared/src/context/MenuContext.es.js +28 -0
- package/dist/shared/src/context/MenuContext.es.js.map +1 -0
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +20 -15
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +19 -19
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +2 -0
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/Menu.es.js +55 -0
- package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js +254 -0
- package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js +265 -0
- package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js +2 -0
- package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js +80 -0
- package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +2 -0
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +59 -0
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +2 -0
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js +112 -0
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js +2 -0
- package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js +35 -0
- package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js.map +1 -0
- package/dist/types/api/generated/entityLists.d.ts +8 -8
- package/dist/types/api/generated/users.d.ts +18 -14
- package/dist/types/api/generated/views.d.ts +47 -9
- package/dist/types/api/queries/entityLists/getLists.d.ts +133 -0
- package/dist/types/api/queries/entityLists/types.d.ts +2 -1
- package/dist/types/api/queries/permissions/getPermissions.d.ts +22 -22
- package/dist/types/api/queries/users/getUsers.d.ts +132 -0
- package/dist/types/api/queries/users/updateUsers.d.ts +3 -3
- package/dist/types/components/AccessUser/AccessUser.d.ts +22 -0
- package/dist/types/components/AccessUser/AccessUser.styled.d.ts +1 -0
- package/dist/types/components/AccessUser/index.d.ts +1 -0
- package/dist/types/components/DetailsMetaData/DetailsMetaData.d.ts +8 -0
- package/dist/types/components/DetailsMetaData/index.d.ts +1 -0
- package/dist/types/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.d.ts +4 -0
- package/dist/types/components/ListAttributeForm/ListAttributeForm.d.ts +13 -0
- package/dist/types/components/ListAttributeForm/index.d.ts +1 -0
- package/dist/types/components/ListMetaData/ListMetaData.d.ts +8 -0
- package/dist/types/components/ListMetaData/index.d.ts +1 -0
- package/dist/types/components/Powerpack/RequiredPowerpackVersion.d.ts +5 -0
- package/dist/types/components/Powerpack/index.d.ts +1 -0
- package/dist/types/components/ShareOptionIcon/ShareOptionIcon.d.ts +10 -0
- package/dist/types/components/ShareOptionIcon/index.d.ts +2 -0
- package/dist/types/components/index.d.ts +4 -0
- package/dist/types/containers/DetailsPanel/DetailsPanel.styled.d.ts +7 -0
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +3 -1
- package/dist/types/containers/ProjectTreeTable/components/ColumnHeaderMenu.d.ts +4 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardTypes.d.ts +3 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useAttributesList.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/utils/getReadOnlyLists.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/widgets/BooleanWidget.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/widgets/EnumCellValue.d.ts +2 -2
- package/dist/types/containers/SimpleTable/SimpleTable.d.ts +3 -0
- package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +5 -1
- package/dist/types/containers/Views/hooks/pages/useReportsViewSettings.d.ts +11 -0
- package/dist/types/containers/Views/index.d.ts +6 -2
- package/dist/types/context/MenuContext.d.ts +12 -0
- package/dist/types/context/PowerpackContext.d.ts +1 -1
- package/dist/types/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as c } from "../../../../../_virtual/jsx-runtime.es.js";
|
|
2
2
|
import { forwardRef as n } from "react";
|
|
3
3
|
import i from "styled-components";
|
|
4
|
-
const
|
|
4
|
+
const s = i.input`
|
|
5
5
|
margin: auto;
|
|
6
6
|
z-index: 1;
|
|
7
7
|
cursor: pointer;
|
|
@@ -22,14 +22,14 @@ const p = i.input`
|
|
|
22
22
|
border-color: var(--md-sys-color-primary);
|
|
23
23
|
appearance: auto;
|
|
24
24
|
}
|
|
25
|
-
`,
|
|
26
|
-
({ value: o, onChange: e, isReadOnly: r, isEditing:
|
|
27
|
-
|
|
25
|
+
`, b = n(
|
|
26
|
+
({ value: o, onChange: e, isReadOnly: r, isEditing: p, onCancelEdit: l, isInherited: m, ...t }, a) => /* @__PURE__ */ c.jsx(
|
|
27
|
+
s,
|
|
28
28
|
{
|
|
29
|
-
...
|
|
29
|
+
...t,
|
|
30
30
|
checked: o,
|
|
31
31
|
onChange: (d) => e(d.target.checked),
|
|
32
|
-
ref:
|
|
32
|
+
ref: a,
|
|
33
33
|
type: "checkbox",
|
|
34
34
|
disabled: r,
|
|
35
35
|
readOnly: r
|
|
@@ -37,6 +37,6 @@ const p = i.input`
|
|
|
37
37
|
)
|
|
38
38
|
);
|
|
39
39
|
export {
|
|
40
|
-
|
|
40
|
+
b as BooleanWidget
|
|
41
41
|
};
|
|
42
42
|
//# sourceMappingURL=BooleanWidget.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/BooleanWidget.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport styled from 'styled-components'\nimport { WidgetBaseProps } from './CellWidget'\n\nconst StyledCheckbox = styled.input`\n margin: auto;\n z-index: 1;\n cursor: pointer;\n\n width: 16px;\n height: 16px;\n background-color: transparent;\n border: 1px solid var(--md-sys-color-outline);\n appearance: none;\n border-radius: 2px;\n\n &:hover {\n border-color: hsl(212.31deg 16.83% 74.65%);\n }\n\n &:checked {\n background-color: var(--md-sys-color-primary);\n border-color: var(--md-sys-color-primary);\n appearance: auto;\n }\n`\n\nexport interface BooleanWidgetProps\n extends Omit<React.HTMLAttributes<HTMLInputElement>, 'onChange'>,\n WidgetBaseProps {\n value: boolean\n isReadOnly?: boolean\n}\n\nexport const BooleanWidget = forwardRef<HTMLInputElement, BooleanWidgetProps>(\n ({ value, onChange, isReadOnly, isEditing, onCancelEdit, ...props }, ref) => {\n return (\n <StyledCheckbox\n {...props}\n checked={value}\n onChange={(e) => onChange((e.target as HTMLInputElement).checked)}\n ref={ref}\n type=\"checkbox\"\n disabled={isReadOnly}\n readOnly={isReadOnly}\n />\n )\n },\n)\n"],"names":["StyledCheckbox","styled","BooleanWidget","forwardRef","value","onChange","isReadOnly","isEditing","onCancelEdit","props","ref","jsx","e"],"mappings":";;;AAIA,MAAMA,IAAiBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"BooleanWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/BooleanWidget.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport styled from 'styled-components'\nimport { WidgetBaseProps } from './CellWidget'\n\nconst StyledCheckbox = styled.input`\n margin: auto;\n z-index: 1;\n cursor: pointer;\n\n width: 16px;\n height: 16px;\n background-color: transparent;\n border: 1px solid var(--md-sys-color-outline);\n appearance: none;\n border-radius: 2px;\n\n &:hover {\n border-color: hsl(212.31deg 16.83% 74.65%);\n }\n\n &:checked {\n background-color: var(--md-sys-color-primary);\n border-color: var(--md-sys-color-primary);\n appearance: auto;\n }\n`\n\nexport interface BooleanWidgetProps\n extends Omit<React.HTMLAttributes<HTMLInputElement>, 'onChange'>,\n WidgetBaseProps {\n value: boolean\n isReadOnly?: boolean\n isInherited?: boolean\n}\n\nexport const BooleanWidget = forwardRef<HTMLInputElement, BooleanWidgetProps>(\n ({ value, onChange, isReadOnly, isEditing, onCancelEdit, isInherited, ...props }, ref) => {\n return (\n <StyledCheckbox\n {...props}\n checked={value}\n onChange={(e) => onChange((e.target as HTMLInputElement).checked)}\n ref={ref}\n type=\"checkbox\"\n disabled={isReadOnly}\n readOnly={isReadOnly}\n />\n )\n },\n)\n"],"names":["StyledCheckbox","styled","BooleanWidget","forwardRef","value","onChange","isReadOnly","isEditing","onCancelEdit","isInherited","props","ref","jsx","e"],"mappings":";;;AAIA,MAAMA,IAAiBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA+BjBC,IAAgBC;AAAA,EAC3B,CAAC,EAAE,OAAAC,GAAO,UAAAC,GAAU,YAAAC,GAAY,WAAAC,GAAW,cAAAC,GAAc,aAAAC,GAAa,GAAGC,EAAM,GAAGC,MAE9EC,gBAAAA,EAAA;AAAA,IAACZ;AAAA,IAAA;AAAA,MACE,GAAGU;AAAA,MACJ,SAASN;AAAA,MACT,UAAU,CAACS,MAAMR,EAAUQ,EAAE,OAA4B,OAAO;AAAA,MAChE,KAAAF;AAAA,MACA,MAAK;AAAA,MACL,UAAUL;AAAA,MACV,UAAUA;AAAA,IAAA;AAAA,EACZ;AAGN;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../../../../../_virtual/jsx-runtime.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../../../../../_virtual/jsx-runtime.cjs.js"),f=require("react"),U=require("styled-components"),z=require("./BooleanWidget.cjs.js"),H=require("./CollapsedWidget.cjs.js"),J=require("./DateWidget.cjs.js"),K=require("./EnumWidget.cjs.js"),Q=require("./TextWidget.cjs.js"),y=require("./LinksWidget.cjs.js"),X=require("../context/CellEditingContext.cjs.js"),S=require("../utils/cellUtils.cjs.js"),Y=require("clsx"),Z=require("../context/SelectionCellsContext.cjs.js");require("react-toastify");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("@ynput/ayon-react-components");require("@tanstack/react-table");require("./EntityNameWidget.cjs.js");require("./GroupHeaderWidget.cjs.js");require("./ThumbnailWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("./LoadMoreWidget.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");const $=require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../ProjectTreeTable.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");;/* empty css */require("../../ContextMenu/ContextMenuContext.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../context/ProjectDataContext.cjs.js");const O=require("./EnumCellValue.cjs.js"),V=U.div`
|
|
2
2
|
position: absolute;
|
|
3
3
|
inset: 0;
|
|
4
4
|
padding: 4px 8px;
|
|
@@ -19,5 +19,5 @@
|
|
|
19
19
|
border-radius: 4px;
|
|
20
20
|
opacity: 1;
|
|
21
21
|
}
|
|
22
|
-
`,
|
|
22
|
+
`,ee="edit-trigger",re=({rowId:j,columnId:T,value:i,valueData:w,attributeData:C,options:d=[],isCollapsed:R,isInherited:a,isPlaceholder:E,isReadOnly:o,enableCustomValues:h,folderId:A,onChange:m,pt:u,...W})=>{const b=f.useRef(null),t=C==null?void 0:C.type,{projectName:L}=$.useProjectTableContext(),{isEditing:M,setEditingCellId:l}=X.useCellEditing(),{isCellFocused:k,gridMap:I,selectCell:G,focusCell:N}=Z.useSelectionCellsContext(),n=S.getCellId(j,T),x=M(n),_=k(n),v=f.useCallback(()=>{E||o||l(n)},[n,l,E]),B=()=>{x||l(null)},D=()=>{const r=I.rowIdToIndex.get(j);if(r===void 0)return;const q=I.indexToRowId.get(r+1);if(q){const e=S.getCellId(q,T);G(e,!1,!1),N(e),l(e)}},F=(r,q)=>{l(null),!o&&(q==="Enter"&&D(),(r!==i||q==="Enter")&&(m==null||m(r,q)))},P=()=>{var q;l(null);const r=(q=b.current)==null?void 0:q.closest("td");r&&r.focus()},p=f.useMemo(()=>{const r={onChange:F,onCancelEdit:P,isEditing:x},q=["string","integer","float"];switch(!0){case R:{const e=t!=null&&t.includes("list")?d.find(g=>Array.isArray(i)?i.includes(g.value):i===g.value):void 0,c=e==null?void 0:e.color;return s.jsxRuntimeExports.jsx(H.CollapsedWidget,{color:c})}case t==="links":{const e=w,c=y.isLinkEditable((e==null?void 0:e.direction)||"out",(e==null?void 0:e.link.linkType)||"",(e==null?void 0:e.entityType)||"");return o=!c,s.jsxRuntimeExports.jsx(y.LinksWidget,{value:e,cellId:n,projectName:L,disabled:!c,folderId:A,...r})}case!!d.length:{const e=Array.isArray(i)?i:[i];if(o){const c=d.filter(g=>e.includes(g.value));return s.jsxRuntimeExports.jsx(O.EnumCellValue,{selectedOptions:c,isReadOnly:!0,hasMultipleValues:e.length>1,isMultiSelect:t==null?void 0:t.includes("list")})}return s.jsxRuntimeExports.jsx(K.EnumWidget,{value:e,options:d,type:t,onOpen:()=>l(n),enableCustomValues:h,...r,...u==null?void 0:u.enum})}case q.includes(t):return s.jsxRuntimeExports.jsx(Q.TextWidget,{value:i,isInherited:a,...r,...u==null?void 0:u.text});case t==="datetime":return s.jsxRuntimeExports.jsx(J.DateWidget,{value:i||void 0,isInherited:a,...r,...u==null?void 0:u.date});case t==="boolean":return s.jsxRuntimeExports.jsx(z.BooleanWidget,{value:i,...r,...u==null?void 0:u.boolean});case E:return null;default:return null}},[n,i,t,x,d,R]);return s.jsxRuntimeExports.jsx(V,{...W,className:Y(W.className,{inherited:a&&!x,readonly:o,editable:!o}),ref:b,onDoubleClick:v,onClick:B,id:n,"data-tooltip":a&&!x&&_?"Inherited":void 0,"data-tooltip-delay":200,children:p})};exports.CellWidget=re;exports.EDIT_TRIGGER_CLASS=ee;
|
|
23
23
|
//# sourceMappingURL=CellWidget.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { useMemo, useCallback, useRef, FC } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\nimport { isLinkEditable, LinksWidget, LinkWidgetData } from './LinksWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { AttributeData, AttributeEnumItem } from '../types'\nimport { useProjectTableContext } from '../context'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\n// use this class to trigger the editing mode on a single click\nexport const EDIT_TRIGGER_CLASS = 'edit-trigger'\n\ntype WidgetAttributeData = { type: AttributeData['type'] | 'links' }\n\nexport type CellValue = string | number | boolean\nexport type CellValueData = Record<string, any>\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n valueData?: CellValueData | CellValueData[] // extra data for the value\n attributeData?: WidgetAttributeData\n options?: AttributeEnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n folderId?: string | null\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nexport const CellWidget: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n valueData,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n folderId,\n onChange,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { projectName } = useProjectTableContext()\n const { isEditing, setEditingCellId } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const handleDoubleClick = useCallback(() => {\n if (isPlaceholder || isReadOnly) return\n setEditingCellId(cellId)\n }, [cellId, setEditingCellId, isPlaceholder])\n\n const handleSingleClick = () => {\n // clicking a cell that is not editing will close the editor on this cell\n // NOTE: the selection of a cell is handled in ProjectTreeTable.tsx line 1079\n if (!isCurrentCellEditing) {\n setEditingCellId(null)\n }\n }\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) return\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n setEditingCellId(null)\n if (isReadOnly) return\n // move to the next cell row\n key === 'Enter' && moveToNextRow()\n // make change if the value is different or if the key is 'Enter'\n if (newValue !== value || key === 'Enter') {\n onChange?.(newValue, key)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n // ensure the browser focus moves back to the parent <td>\n const td = ref.current?.closest('td') as HTMLElement | null\n if (td) td.focus()\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n\n case type === 'links': {\n const linksValue = valueData as LinkWidgetData | undefined\n\n const isEditable = isLinkEditable(\n linksValue?.direction || 'out',\n linksValue?.link.linkType || '',\n linksValue?.entityType || '',\n )\n\n // overwrite readonly state if the cell is currently being edited\n isReadOnly = !isEditable\n return (\n <LinksWidget\n value={linksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={!isEditable}\n folderId={folderId}\n {...sharedProps}\n />\n )\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n return (\n <TextWidget\n value={enumValue.join(', ')}\n option={\n enumValue.length === 1 ? options.find((o) => o.value === enumValue[0]) : undefined\n }\n {...sharedProps}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => !isReadOnly && setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, {\n inherited: isInherited && !isCurrentCellEditing,\n readonly: isReadOnly,\n editable: !isReadOnly,\n })}\n ref={ref}\n onDoubleClick={handleDoubleClick}\n onClick={handleSingleClick}\n id={cellId}\n data-tooltip={\n isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n"],"names":["Cell","styled","EDIT_TRIGGER_CLASS","CellWidget","rowId","columnId","value","valueData","attributeData","options","isCollapsed","isInherited","isPlaceholder","isReadOnly","enableCustomValues","folderId","onChange","pt","props","ref","useRef","type","projectName","useProjectTableContext","isEditing","setEditingCellId","useCellEditing","isCellFocused","gridMap","selectCell","focusCell","useSelectionCellsContext","cellId","getCellId","isCurrentCellEditing","isCurrentCellFocused","handleDoubleClick","useCallback","handleSingleClick","moveToNextRow","rowIndex","newRowId","newCellId","handleOnChange","newValue","key","handleCancel","td","_a","widget","useMemo","sharedProps","textTypes","firstSelectedOption","option","color","jsx","CollapsedWidget","linksValue","isEditable","isLinkEditable","LinksWidget","enumValue","TextWidget","o","EnumWidget","DateWidget","BooleanWidget","clsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CellWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { useMemo, useCallback, useRef, FC } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\nimport { isLinkEditable, LinksWidget, LinkWidgetData } from './LinksWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { AttributeData, AttributeEnumItem } from '../types'\nimport { useProjectTableContext } from '../context'\nimport { EnumCellValue } from './EnumCellValue'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\n// use this class to trigger the editing mode on a single click\nexport const EDIT_TRIGGER_CLASS = 'edit-trigger'\n\ntype WidgetAttributeData = { type: AttributeData['type'] | 'links' }\n\nexport type CellValue = string | number | boolean\nexport type CellValueData = Record<string, any>\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n valueData?: CellValueData | CellValueData[] // extra data for the value\n attributeData?: WidgetAttributeData\n options?: AttributeEnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n folderId?: string | null\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nexport const CellWidget: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n valueData,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n folderId,\n onChange,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { projectName } = useProjectTableContext()\n const { isEditing, setEditingCellId } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const handleDoubleClick = useCallback(() => {\n if (isPlaceholder || isReadOnly) return\n setEditingCellId(cellId)\n }, [cellId, setEditingCellId, isPlaceholder])\n\n const handleSingleClick = () => {\n // clicking a cell that is not editing will close the editor on this cell\n // NOTE: the selection of a cell is handled in ProjectTreeTable.tsx line 1079\n if (!isCurrentCellEditing) {\n setEditingCellId(null)\n }\n }\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) return\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n setEditingCellId(null)\n if (isReadOnly) return\n // move to the next cell row\n key === 'Enter' && moveToNextRow()\n // make change if the value is different or if the key is 'Enter'\n if (newValue !== value || key === 'Enter') {\n onChange?.(newValue, key)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n // ensure the browser focus moves back to the parent <td>\n const td = ref.current?.closest('td') as HTMLElement | null\n if (td) td.focus()\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n\n case type === 'links': {\n const linksValue = valueData as LinkWidgetData | undefined\n\n const isEditable = isLinkEditable(\n linksValue?.direction || 'out',\n linksValue?.link.linkType || '',\n linksValue?.entityType || '',\n )\n\n // overwrite readonly state if the cell is currently being edited\n isReadOnly = !isEditable\n return (\n <LinksWidget\n value={linksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={!isEditable}\n folderId={folderId}\n {...sharedProps}\n />\n )\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n const selectedOptions = options.filter((option) => enumValue.includes(option.value))\n return (\n <EnumCellValue\n selectedOptions={selectedOptions}\n isReadOnly\n hasMultipleValues={enumValue.length > 1}\n isMultiSelect={type?.includes('list')}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, {\n inherited: isInherited && !isCurrentCellEditing,\n readonly: isReadOnly,\n editable: !isReadOnly,\n })}\n ref={ref}\n onDoubleClick={handleDoubleClick}\n onClick={handleSingleClick}\n id={cellId}\n data-tooltip={\n isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n"],"names":["Cell","styled","EDIT_TRIGGER_CLASS","CellWidget","rowId","columnId","value","valueData","attributeData","options","isCollapsed","isInherited","isPlaceholder","isReadOnly","enableCustomValues","folderId","onChange","pt","props","ref","useRef","type","projectName","useProjectTableContext","isEditing","setEditingCellId","useCellEditing","isCellFocused","gridMap","selectCell","focusCell","useSelectionCellsContext","cellId","getCellId","isCurrentCellEditing","isCurrentCellFocused","handleDoubleClick","useCallback","handleSingleClick","moveToNextRow","rowIndex","newRowId","newCellId","handleOnChange","newValue","key","handleCancel","td","_a","widget","useMemo","sharedProps","textTypes","firstSelectedOption","option","color","jsx","CollapsedWidget","linksValue","isEditable","isLinkEditable","LinksWidget","enumValue","selectedOptions","EnumCellValue","EnumWidget","TextWidget","DateWidget","BooleanWidget","clsx"],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { j as n } from "../../../../../_virtual/jsx-runtime.es.js";
|
|
2
|
-
import { useRef as
|
|
3
|
-
import
|
|
4
|
-
import { BooleanWidget as
|
|
5
|
-
import { CollapsedWidget as
|
|
6
|
-
import { DateWidget as
|
|
7
|
-
import { EnumWidget as
|
|
8
|
-
import { TextWidget as
|
|
2
|
+
import { useRef as z, useCallback as D, useMemo as H } from "react";
|
|
3
|
+
import J from "styled-components";
|
|
4
|
+
import { BooleanWidget as K } from "./BooleanWidget.es.js";
|
|
5
|
+
import { CollapsedWidget as P } from "./CollapsedWidget.es.js";
|
|
6
|
+
import { DateWidget as Q } from "./DateWidget.es.js";
|
|
7
|
+
import { EnumWidget as U } from "./EnumWidget.es.js";
|
|
8
|
+
import { TextWidget as X } from "./TextWidget.es.js";
|
|
9
9
|
import { isLinkEditable as Y, LinksWidget as Z } from "./LinksWidget.es.js";
|
|
10
10
|
import { useCellEditing as $ } from "../context/CellEditingContext.es.js";
|
|
11
|
-
import { getCellId as
|
|
11
|
+
import { getCellId as I } from "../utils/cellUtils.es.js";
|
|
12
12
|
import O from "clsx";
|
|
13
13
|
import { useSelectionCellsContext as V } from "../context/SelectionCellsContext.es.js";
|
|
14
14
|
import "react-toastify";
|
|
@@ -25,7 +25,7 @@ import "../components/SelectionCell.es.js";
|
|
|
25
25
|
import "../components/RowSelectionHeader.es.js";
|
|
26
26
|
import "./LoadMoreWidget.es.js";
|
|
27
27
|
import "../context/ProjectTableQueriesContext.es.js";
|
|
28
|
-
import { useProjectTableContext as
|
|
28
|
+
import { useProjectTableContext as tt } from "../context/ProjectTableContext.es.js";
|
|
29
29
|
import "../context/ClipboardContext.es.js";
|
|
30
30
|
import "../ProjectTreeTable.es.js";
|
|
31
31
|
import "../context/ColumnSettingsContext.es.js";
|
|
@@ -128,7 +128,8 @@ import "react-redux";
|
|
|
128
128
|
import "custom-protocol-check";
|
|
129
129
|
import "../components/GroupSettingsFallback.es.js";
|
|
130
130
|
import "../context/ProjectDataContext.es.js";
|
|
131
|
-
|
|
131
|
+
import { EnumCellValue as ot } from "./EnumCellValue.es.js";
|
|
132
|
+
const it = J.div`
|
|
132
133
|
position: absolute;
|
|
133
134
|
inset: 0;
|
|
134
135
|
padding: 4px 8px;
|
|
@@ -149,145 +150,150 @@ const to = K.div`
|
|
|
149
150
|
border-radius: 4px;
|
|
150
151
|
opacity: 1;
|
|
151
152
|
}
|
|
152
|
-
`,
|
|
153
|
-
rowId:
|
|
154
|
-
columnId:
|
|
153
|
+
`, Ai = "edit-trigger", Mi = ({
|
|
154
|
+
rowId: E,
|
|
155
|
+
columnId: j,
|
|
155
156
|
value: i,
|
|
156
|
-
valueData:
|
|
157
|
-
attributeData:
|
|
157
|
+
valueData: W,
|
|
158
|
+
attributeData: x,
|
|
158
159
|
options: d = [],
|
|
159
|
-
isCollapsed:
|
|
160
|
-
isInherited:
|
|
161
|
-
isPlaceholder:
|
|
162
|
-
isReadOnly:
|
|
163
|
-
enableCustomValues:
|
|
164
|
-
folderId:
|
|
165
|
-
onChange:
|
|
160
|
+
isCollapsed: T,
|
|
161
|
+
isInherited: f,
|
|
162
|
+
isPlaceholder: g,
|
|
163
|
+
isReadOnly: l,
|
|
164
|
+
enableCustomValues: h,
|
|
165
|
+
folderId: A,
|
|
166
|
+
onChange: C,
|
|
166
167
|
pt: r,
|
|
167
|
-
...
|
|
168
|
+
...b
|
|
168
169
|
}) => {
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
}, [
|
|
172
|
-
|
|
173
|
-
},
|
|
174
|
-
const
|
|
175
|
-
if (
|
|
176
|
-
const
|
|
177
|
-
if (
|
|
178
|
-
const
|
|
179
|
-
|
|
170
|
+
const w = z(null), m = x == null ? void 0 : x.type, { projectName: M } = tt(), { isEditing: N, setEditingCellId: s } = $(), { isCellFocused: S, gridMap: y, selectCell: k, focusCell: L } = V(), p = I(E, j), u = N(p), R = S(p), v = D(() => {
|
|
171
|
+
g || l || s(p);
|
|
172
|
+
}, [p, s, g]), F = () => {
|
|
173
|
+
u || s(null);
|
|
174
|
+
}, G = () => {
|
|
175
|
+
const o = y.rowIdToIndex.get(E);
|
|
176
|
+
if (o === void 0) return;
|
|
177
|
+
const e = y.indexToRowId.get(o + 1);
|
|
178
|
+
if (e) {
|
|
179
|
+
const t = I(e, j);
|
|
180
|
+
k(t, !1, !1), L(t), s(t);
|
|
180
181
|
}
|
|
181
|
-
},
|
|
182
|
-
|
|
183
|
-
},
|
|
184
|
-
var
|
|
185
|
-
|
|
186
|
-
const
|
|
187
|
-
|
|
188
|
-
},
|
|
189
|
-
const
|
|
190
|
-
onChange:
|
|
191
|
-
onCancelEdit:
|
|
192
|
-
isEditing:
|
|
193
|
-
},
|
|
182
|
+
}, _ = (o, e) => {
|
|
183
|
+
s(null), !l && (e === "Enter" && G(), (o !== i || e === "Enter") && (C == null || C(o, e)));
|
|
184
|
+
}, B = () => {
|
|
185
|
+
var e;
|
|
186
|
+
s(null);
|
|
187
|
+
const o = (e = w.current) == null ? void 0 : e.closest("td");
|
|
188
|
+
o && o.focus();
|
|
189
|
+
}, q = H(() => {
|
|
190
|
+
const o = {
|
|
191
|
+
onChange: _,
|
|
192
|
+
onCancelEdit: B,
|
|
193
|
+
isEditing: u
|
|
194
|
+
}, e = ["string", "integer", "float"];
|
|
194
195
|
switch (!0) {
|
|
195
196
|
// this is showing the collapsed widget (dot)
|
|
196
|
-
case
|
|
197
|
-
const
|
|
198
|
-
(
|
|
199
|
-
) : void 0, c =
|
|
200
|
-
return /* @__PURE__ */ n.jsx(
|
|
197
|
+
case T: {
|
|
198
|
+
const t = m != null && m.includes("list") ? d.find(
|
|
199
|
+
(a) => Array.isArray(i) ? i.includes(a.value) : i === a.value
|
|
200
|
+
) : void 0, c = t == null ? void 0 : t.color;
|
|
201
|
+
return /* @__PURE__ */ n.jsx(P, { color: c });
|
|
201
202
|
}
|
|
202
|
-
case
|
|
203
|
-
const
|
|
204
|
-
(
|
|
205
|
-
(
|
|
206
|
-
(
|
|
203
|
+
case m === "links": {
|
|
204
|
+
const t = W, c = Y(
|
|
205
|
+
(t == null ? void 0 : t.direction) || "out",
|
|
206
|
+
(t == null ? void 0 : t.link.linkType) || "",
|
|
207
|
+
(t == null ? void 0 : t.entityType) || ""
|
|
207
208
|
);
|
|
208
|
-
return
|
|
209
|
+
return l = !c, /* @__PURE__ */ n.jsx(
|
|
209
210
|
Z,
|
|
210
211
|
{
|
|
211
|
-
value:
|
|
212
|
-
cellId:
|
|
213
|
-
projectName:
|
|
212
|
+
value: t,
|
|
213
|
+
cellId: p,
|
|
214
|
+
projectName: M,
|
|
214
215
|
disabled: !c,
|
|
215
|
-
folderId:
|
|
216
|
-
...
|
|
216
|
+
folderId: A,
|
|
217
|
+
...o
|
|
217
218
|
}
|
|
218
219
|
);
|
|
219
220
|
}
|
|
220
221
|
case !!d.length: {
|
|
221
|
-
const
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
222
|
+
const t = Array.isArray(i) ? i : [i];
|
|
223
|
+
if (l) {
|
|
224
|
+
const c = d.filter((a) => t.includes(a.value));
|
|
225
|
+
return /* @__PURE__ */ n.jsx(
|
|
226
|
+
ot,
|
|
227
|
+
{
|
|
228
|
+
selectedOptions: c,
|
|
229
|
+
isReadOnly: !0,
|
|
230
|
+
hasMultipleValues: t.length > 1,
|
|
231
|
+
isMultiSelect: m == null ? void 0 : m.includes("list")
|
|
232
|
+
}
|
|
233
|
+
);
|
|
234
|
+
}
|
|
235
|
+
return /* @__PURE__ */ n.jsx(
|
|
236
|
+
U,
|
|
231
237
|
{
|
|
232
|
-
value:
|
|
238
|
+
value: t,
|
|
233
239
|
options: d,
|
|
234
|
-
type:
|
|
235
|
-
onOpen: () =>
|
|
236
|
-
enableCustomValues:
|
|
237
|
-
...
|
|
240
|
+
type: m,
|
|
241
|
+
onOpen: () => s(p),
|
|
242
|
+
enableCustomValues: h,
|
|
243
|
+
...o,
|
|
238
244
|
...r == null ? void 0 : r.enum
|
|
239
245
|
}
|
|
240
246
|
);
|
|
241
247
|
}
|
|
242
|
-
case
|
|
248
|
+
case e.includes(m):
|
|
243
249
|
return /* @__PURE__ */ n.jsx(
|
|
244
|
-
|
|
250
|
+
X,
|
|
245
251
|
{
|
|
246
252
|
value: i,
|
|
247
|
-
isInherited:
|
|
248
|
-
...
|
|
253
|
+
isInherited: f,
|
|
254
|
+
...o,
|
|
249
255
|
...r == null ? void 0 : r.text
|
|
250
256
|
}
|
|
251
257
|
);
|
|
252
|
-
case
|
|
258
|
+
case m === "datetime":
|
|
253
259
|
return /* @__PURE__ */ n.jsx(
|
|
254
|
-
|
|
260
|
+
Q,
|
|
255
261
|
{
|
|
256
262
|
value: i || void 0,
|
|
257
|
-
isInherited:
|
|
258
|
-
...
|
|
263
|
+
isInherited: f,
|
|
264
|
+
...o,
|
|
259
265
|
...r == null ? void 0 : r.date
|
|
260
266
|
}
|
|
261
267
|
);
|
|
262
|
-
case
|
|
263
|
-
return /* @__PURE__ */ n.jsx(
|
|
264
|
-
case
|
|
268
|
+
case m === "boolean":
|
|
269
|
+
return /* @__PURE__ */ n.jsx(K, { value: i, ...o, ...r == null ? void 0 : r.boolean });
|
|
270
|
+
case g:
|
|
265
271
|
return null;
|
|
266
272
|
default:
|
|
267
273
|
return null;
|
|
268
274
|
}
|
|
269
|
-
}, [
|
|
275
|
+
}, [p, i, m, u, d, T]);
|
|
270
276
|
return /* @__PURE__ */ n.jsx(
|
|
271
|
-
|
|
277
|
+
it,
|
|
272
278
|
{
|
|
273
|
-
...
|
|
274
|
-
className: O(
|
|
275
|
-
inherited:
|
|
276
|
-
readonly:
|
|
277
|
-
editable: !
|
|
279
|
+
...b,
|
|
280
|
+
className: O(b.className, {
|
|
281
|
+
inherited: f && !u,
|
|
282
|
+
readonly: l,
|
|
283
|
+
editable: !l
|
|
278
284
|
}),
|
|
279
|
-
ref:
|
|
280
|
-
onDoubleClick:
|
|
281
|
-
onClick:
|
|
282
|
-
id:
|
|
283
|
-
"data-tooltip":
|
|
285
|
+
ref: w,
|
|
286
|
+
onDoubleClick: v,
|
|
287
|
+
onClick: F,
|
|
288
|
+
id: p,
|
|
289
|
+
"data-tooltip": f && !u && R ? "Inherited" : void 0,
|
|
284
290
|
"data-tooltip-delay": 200,
|
|
285
|
-
children:
|
|
291
|
+
children: q
|
|
286
292
|
}
|
|
287
293
|
);
|
|
288
294
|
};
|
|
289
295
|
export {
|
|
290
|
-
|
|
291
|
-
|
|
296
|
+
Mi as CellWidget,
|
|
297
|
+
Ai as EDIT_TRIGGER_CLASS
|
|
292
298
|
};
|
|
293
299
|
//# sourceMappingURL=CellWidget.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { useMemo, useCallback, useRef, FC } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\nimport { isLinkEditable, LinksWidget, LinkWidgetData } from './LinksWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { AttributeData, AttributeEnumItem } from '../types'\nimport { useProjectTableContext } from '../context'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\n// use this class to trigger the editing mode on a single click\nexport const EDIT_TRIGGER_CLASS = 'edit-trigger'\n\ntype WidgetAttributeData = { type: AttributeData['type'] | 'links' }\n\nexport type CellValue = string | number | boolean\nexport type CellValueData = Record<string, any>\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n valueData?: CellValueData | CellValueData[] // extra data for the value\n attributeData?: WidgetAttributeData\n options?: AttributeEnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n folderId?: string | null\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nexport const CellWidget: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n valueData,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n folderId,\n onChange,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { projectName } = useProjectTableContext()\n const { isEditing, setEditingCellId } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const handleDoubleClick = useCallback(() => {\n if (isPlaceholder || isReadOnly) return\n setEditingCellId(cellId)\n }, [cellId, setEditingCellId, isPlaceholder])\n\n const handleSingleClick = () => {\n // clicking a cell that is not editing will close the editor on this cell\n // NOTE: the selection of a cell is handled in ProjectTreeTable.tsx line 1079\n if (!isCurrentCellEditing) {\n setEditingCellId(null)\n }\n }\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) return\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n setEditingCellId(null)\n if (isReadOnly) return\n // move to the next cell row\n key === 'Enter' && moveToNextRow()\n // make change if the value is different or if the key is 'Enter'\n if (newValue !== value || key === 'Enter') {\n onChange?.(newValue, key)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n // ensure the browser focus moves back to the parent <td>\n const td = ref.current?.closest('td') as HTMLElement | null\n if (td) td.focus()\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n\n case type === 'links': {\n const linksValue = valueData as LinkWidgetData | undefined\n\n const isEditable = isLinkEditable(\n linksValue?.direction || 'out',\n linksValue?.link.linkType || '',\n linksValue?.entityType || '',\n )\n\n // overwrite readonly state if the cell is currently being edited\n isReadOnly = !isEditable\n return (\n <LinksWidget\n value={linksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={!isEditable}\n folderId={folderId}\n {...sharedProps}\n />\n )\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n return (\n <TextWidget\n value={enumValue.join(', ')}\n option={\n enumValue.length === 1 ? options.find((o) => o.value === enumValue[0]) : undefined\n }\n {...sharedProps}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => !isReadOnly && setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, {\n inherited: isInherited && !isCurrentCellEditing,\n readonly: isReadOnly,\n editable: !isReadOnly,\n })}\n ref={ref}\n onDoubleClick={handleDoubleClick}\n onClick={handleSingleClick}\n id={cellId}\n data-tooltip={\n isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n"],"names":["Cell","styled","EDIT_TRIGGER_CLASS","CellWidget","rowId","columnId","value","valueData","attributeData","options","isCollapsed","isInherited","isPlaceholder","isReadOnly","enableCustomValues","folderId","onChange","pt","props","ref","useRef","type","projectName","useProjectTableContext","isEditing","setEditingCellId","useCellEditing","isCellFocused","gridMap","selectCell","focusCell","useSelectionCellsContext","cellId","getCellId","isCurrentCellEditing","isCurrentCellFocused","handleDoubleClick","useCallback","handleSingleClick","moveToNextRow","rowIndex","newRowId","newCellId","handleOnChange","newValue","key","handleCancel","td","_a","widget","useMemo","sharedProps","textTypes","firstSelectedOption","option","color","jsx","CollapsedWidget","linksValue","isEditable","isLinkEditable","LinksWidget","enumValue","TextWidget","o","EnumWidget","DateWidget","BooleanWidget","clsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CellWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { useMemo, useCallback, useRef, FC } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\nimport { isLinkEditable, LinksWidget, LinkWidgetData } from './LinksWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { AttributeData, AttributeEnumItem } from '../types'\nimport { useProjectTableContext } from '../context'\nimport { EnumCellValue } from './EnumCellValue'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\n// use this class to trigger the editing mode on a single click\nexport const EDIT_TRIGGER_CLASS = 'edit-trigger'\n\ntype WidgetAttributeData = { type: AttributeData['type'] | 'links' }\n\nexport type CellValue = string | number | boolean\nexport type CellValueData = Record<string, any>\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n valueData?: CellValueData | CellValueData[] // extra data for the value\n attributeData?: WidgetAttributeData\n options?: AttributeEnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n folderId?: string | null\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nexport const CellWidget: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n valueData,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n folderId,\n onChange,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { projectName } = useProjectTableContext()\n const { isEditing, setEditingCellId } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const handleDoubleClick = useCallback(() => {\n if (isPlaceholder || isReadOnly) return\n setEditingCellId(cellId)\n }, [cellId, setEditingCellId, isPlaceholder])\n\n const handleSingleClick = () => {\n // clicking a cell that is not editing will close the editor on this cell\n // NOTE: the selection of a cell is handled in ProjectTreeTable.tsx line 1079\n if (!isCurrentCellEditing) {\n setEditingCellId(null)\n }\n }\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) return\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n setEditingCellId(null)\n if (isReadOnly) return\n // move to the next cell row\n key === 'Enter' && moveToNextRow()\n // make change if the value is different or if the key is 'Enter'\n if (newValue !== value || key === 'Enter') {\n onChange?.(newValue, key)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n // ensure the browser focus moves back to the parent <td>\n const td = ref.current?.closest('td') as HTMLElement | null\n if (td) td.focus()\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n\n case type === 'links': {\n const linksValue = valueData as LinkWidgetData | undefined\n\n const isEditable = isLinkEditable(\n linksValue?.direction || 'out',\n linksValue?.link.linkType || '',\n linksValue?.entityType || '',\n )\n\n // overwrite readonly state if the cell is currently being edited\n isReadOnly = !isEditable\n return (\n <LinksWidget\n value={linksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={!isEditable}\n folderId={folderId}\n {...sharedProps}\n />\n )\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n const selectedOptions = options.filter((option) => enumValue.includes(option.value))\n return (\n <EnumCellValue\n selectedOptions={selectedOptions}\n isReadOnly\n hasMultipleValues={enumValue.length > 1}\n isMultiSelect={type?.includes('list')}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, {\n inherited: isInherited && !isCurrentCellEditing,\n readonly: isReadOnly,\n editable: !isReadOnly,\n })}\n ref={ref}\n onDoubleClick={handleDoubleClick}\n onClick={handleSingleClick}\n id={cellId}\n data-tooltip={\n isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n"],"names":["Cell","styled","EDIT_TRIGGER_CLASS","CellWidget","rowId","columnId","value","valueData","attributeData","options","isCollapsed","isInherited","isPlaceholder","isReadOnly","enableCustomValues","folderId","onChange","pt","props","ref","useRef","type","projectName","useProjectTableContext","isEditing","setEditingCellId","useCellEditing","isCellFocused","gridMap","selectCell","focusCell","useSelectionCellsContext","cellId","getCellId","isCurrentCellEditing","isCurrentCellFocused","handleDoubleClick","useCallback","handleSingleClick","moveToNextRow","rowIndex","newRowId","newCellId","handleOnChange","newValue","key","handleCancel","td","_a","widget","useMemo","sharedProps","textTypes","firstSelectedOption","option","color","jsx","CollapsedWidget","linksValue","isEditable","isLinkEditable","LinksWidget","enumValue","selectedOptions","EnumCellValue","EnumWidget","TextWidget","DateWidget","BooleanWidget","clsx"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../../../../../_virtual/jsx-runtime.cjs.js"),o=require("@ynput/ayon-react-components"),t=require("clsx"),r=require("styled-components"),F="edit-trigger",H=r.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
gap: var(--base-gap-small);
|
|
4
4
|
align-items: center;
|
|
@@ -77,5 +77,5 @@
|
|
|
77
77
|
}
|
|
78
78
|
`,U=r(o.Icon)`
|
|
79
79
|
transition: rotate 0.2s;
|
|
80
|
-
`,X=({selectedOptions:
|
|
80
|
+
`,X=({selectedOptions:a,placeholder:n,hasMultipleValues:p,isMultiSelect:c,isOpen:i,isItem:l,isSelected:d,isReadOnly:g,className:h,pt:v,...y})=>{const{icon:b={},img:j={},value:f={},expand:R={},close:E={}}=v||{},{style:N,className:S,...w}=b,{style:C,className:k,...I}=j,{style:W,className:V,...q}=f,{style:L,className:T,..._}=R,{style:A,className:D,...G}=E,m=a.every(e=>e.icon),P=!p||!m,u=!m&&c&&!l,x=!a.length&&n;return x&&(a=[{label:n,value:""}]),s.jsxRuntimeExports.jsxs(H,{className:t(h,{selected:d,item:l}),...y,children:[s.jsxRuntimeExports.jsx(z,{children:a.map((e,B)=>s.jsxRuntimeExports.jsxs(J,{children:[e.icon&&Y(e.icon)?s.jsxRuntimeExports.jsx(M,{src:e.icon,className:t({avatar:Z(e.icon)},k),style:C,"data-tooltip":e.label,...I}):e.icon?s.jsxRuntimeExports.jsx(o.Icon,{icon:e.icon,style:{color:e.color,...N},className:S,...w}):null,(P||!e.icon)&&s.jsxRuntimeExports.jsx(K,{style:{color:u?"inherit":e.color,backgroundColor:u?e.color||"var(--md-sys-color-surface-container)":"transparent",...W},className:t({placeholder:x},V),"aria-label":e.label,...q,children:e.label})]},e.value.toString()+B))}),!l&&!g&&s.jsxRuntimeExports.jsx(Q,{className:t("expand",F,{open:i},T),children:s.jsxRuntimeExports.jsx(U,{icon:"expand_more",style:{rotate:i?"180deg":"0",...L},"aria-label":"Expand options",..._})}),l&&d&&c&&s.jsxRuntimeExports.jsx(o.Icon,{icon:"close",style:{marginLeft:"auto",marginRight:4,...A},"aria-label":"Deselect item",className:t("close",D),...G})]})},Y=(a="")=>a.startsWith("/")||a.startsWith("./")||a.startsWith("../")||a.startsWith("http://")||a.startsWith("https://"),Z=a=>a.includes("avatar");exports.EnumCellValue=X;
|
|
81
81
|
//# sourceMappingURL=EnumCellValue.cjs.js.map
|