@ynput/ayon-frontend-shared 0.3.37 → 0.3.39
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 -24
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/_virtual/index.cjs6.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- package/dist/_virtual/index.es6.js +2 -2
- package/dist/_virtual/index.es8.js +2 -2
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +12 -11
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.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/@module-federation/error-codes/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.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/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
- 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 -4
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +5 -4
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.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 -4
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +5 -4
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.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 +5 -4
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.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 +5 -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 +5 -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 +5 -4
- 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 +5 -4
- 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 -5
- 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 -4
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +5 -4
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +254 -240
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +7 -6
- package/dist/shared/src/components/SimpleFormDialog/FormFile.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 +5 -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 +5 -4
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +9 -8
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.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 -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 +5 -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 +5 -4
- 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 +5 -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 +5 -4
- 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 +5 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.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 +17 -16
- 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 +5 -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 +5 -4
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.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 -4
- 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 -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 +5 -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 +5 -4
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.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 +5 -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 +5 -4
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.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 +5 -4
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +7 -6
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.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 +5 -4
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +9 -8
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.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 +5 -4
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.es.js +5 -4
- package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js +3 -2
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +5 -4
- package/dist/shared/src/containers/ListTable/ListTableHeader.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 +171 -168
- 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 +87 -85
- 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 +5 -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 +5 -4
- 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 -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 +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +63 -58
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.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 -4
- 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 +8 -7
- 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 +5 -4
- 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 +3 -2
- 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 +3 -2
- 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 +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +248 -207
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.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 -4
- 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 +5 -4
- 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 +3 -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 -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 +5 -4
- 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 -4
- 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 +5 -4
- 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 +16 -15
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +66 -55
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.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 +5 -4
- 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 +47 -45
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +11 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +76 -51
- 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 +5 -4
- 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 +5 -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.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -4
- 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 +5 -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 +5 -4
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +5 -4
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.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 +5 -4
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.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 +7 -6
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUpdateLinks.es.js","sources":["../../../../../../src/components/LinksManager/hooks/useUpdateLinks.ts"],"sourcesContent":["import { useCreateEntityLinkMutation, useDeleteEntityLinkMutation } from '@shared/api'\nimport { useCellEditing } from '@shared/containers'\nimport { useCallback } from 'react'\nimport {\n addMultipleLinks,\n removeMultipleLinks,\n LinkToAdd,\n LinkToRemove,\n} from '../utils/linkUpdates'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n projectName: string\n entityId: string\n entityType: string\n targetEntityType: string // the entity type of the out links\n linkType: string\n direction?: 'in' | 'out'\n}\n\ntype RemoveLinks = (\n links: { id: string; target: { entityId: string; entityType: string } }[],\n addToHistory?: boolean,\n) => Promise<void>\ntype AddLinks = (\n links: { targetEntityId: string; linkId: string }[],\n addToHistory?: boolean,\n) => Promise<void>\n\nconst useUpdateLinks = ({\n projectName,\n direction,\n entityId,\n entityType,\n targetEntityType,\n linkType,\n}: Props) => {\n const { history } = useCellEditing()\n\n const [deleteLink] = useDeleteEntityLinkMutation()\n const [addLink] = useCreateEntityLinkMutation()\n\n // create new links between this entity and another entity\n const addLinks = useCallback<AddLinks>(\n async (links, addToHistory = true) => {\n try {\n // prevent self-referential links\n const hasSelf = links.some((l) => l.targetEntityId === entityId)\n if (hasSelf) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n\n const linksToAdd: LinkToAdd[] = links.map((link) => ({\n targetEntityId: link.targetEntityId,\n linkId: link.linkId,\n sourceEntityId: entityId,\n sourceEntityType: entityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n }))\n\n await addMultipleLinks(linksToAdd, addLink)\n\n // add to history stack\n if (addToHistory && history) {\n history.pushHistory([\n () =>\n removeLinks(\n links.map((link) => ({\n id: link.linkId,\n target: { entityId: link.targetEntityId, entityType: targetEntityType },\n })),\n false,\n ),\n ])\n }\n } catch (error: any) {\n // Error handling is done in the utility function\n }\n },\n [addLink, projectName, entityId, entityType, targetEntityType, linkType, direction, history],\n )\n\n // Internal function to avoid circular dependency\n const removeLinks = useCallback<RemoveLinks>(\n async (\n links: { id: string; target: { entityId: string; entityType: string } }[],\n addToHistory: boolean = true,\n ) => {\n try {\n // prevent removing if any link is self-referential (shouldn't happen, but guard)\n const hasSelf = links.some((l) => l.target.entityId === entityId)\n if (hasSelf) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n\n const linksToRemove: LinkToRemove[] = links.map((link) => ({\n id: link.id,\n target: link.target,\n source: { entityType, entityId },\n linkType,\n direction,\n projectName,\n }))\n\n await removeMultipleLinks(linksToRemove, deleteLink)\n\n // add to history stack\n // if there is a history, push it\n if (addToHistory && history) {\n history.pushHistory(\n links.map(\n (link) => () =>\n addLinks([{ targetEntityId: link.target.entityId, linkId: link.id }], false),\n ),\n )\n }\n } catch (error: any) {\n // Error handling is done in the utility function\n }\n },\n [deleteLink, projectName, entityId, entityType, targetEntityType, linkType, direction, history],\n )\n\n return { remove: removeLinks, add: addLinks }\n}\n\nexport default useUpdateLinks\n"],"names":["useUpdateLinks","projectName","direction","entityId","entityType","targetEntityType","linkType","history","useCellEditing","deleteLink","useDeleteEntityLinkMutation","addLink","useCreateEntityLinkMutation","addLinks","useCallback","links","addToHistory","l","toast","linksToAdd","link","addMultipleLinks","removeLinks","linksToRemove","removeMultipleLinks"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useUpdateLinks.es.js","sources":["../../../../../../src/components/LinksManager/hooks/useUpdateLinks.ts"],"sourcesContent":["import { useCreateEntityLinkMutation, useDeleteEntityLinkMutation } from '@shared/api'\nimport { useCellEditing } from '@shared/containers'\nimport { useCallback } from 'react'\nimport {\n addMultipleLinks,\n removeMultipleLinks,\n LinkToAdd,\n LinkToRemove,\n} from '../utils/linkUpdates'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n projectName: string\n entityId: string\n entityType: string\n targetEntityType: string // the entity type of the out links\n linkType: string\n direction?: 'in' | 'out'\n}\n\ntype RemoveLinks = (\n links: { id: string; target: { entityId: string; entityType: string } }[],\n addToHistory?: boolean,\n) => Promise<void>\ntype AddLinks = (\n links: { targetEntityId: string; linkId: string }[],\n addToHistory?: boolean,\n) => Promise<void>\n\nconst useUpdateLinks = ({\n projectName,\n direction,\n entityId,\n entityType,\n targetEntityType,\n linkType,\n}: Props) => {\n const { history } = useCellEditing()\n\n const [deleteLink] = useDeleteEntityLinkMutation()\n const [addLink] = useCreateEntityLinkMutation()\n\n // create new links between this entity and another entity\n const addLinks = useCallback<AddLinks>(\n async (links, addToHistory = true) => {\n try {\n // prevent self-referential links\n const hasSelf = links.some((l) => l.targetEntityId === entityId)\n if (hasSelf) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n\n const linksToAdd: LinkToAdd[] = links.map((link) => ({\n targetEntityId: link.targetEntityId,\n linkId: link.linkId,\n sourceEntityId: entityId,\n sourceEntityType: entityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n }))\n\n await addMultipleLinks(linksToAdd, addLink)\n\n // add to history stack\n if (addToHistory && history) {\n history.pushHistory([\n () =>\n removeLinks(\n links.map((link) => ({\n id: link.linkId,\n target: { entityId: link.targetEntityId, entityType: targetEntityType },\n })),\n false,\n ),\n ])\n }\n } catch (error: any) {\n // Error handling is done in the utility function\n }\n },\n [addLink, projectName, entityId, entityType, targetEntityType, linkType, direction, history],\n )\n\n // Internal function to avoid circular dependency\n const removeLinks = useCallback<RemoveLinks>(\n async (\n links: { id: string; target: { entityId: string; entityType: string } }[],\n addToHistory: boolean = true,\n ) => {\n try {\n // prevent removing if any link is self-referential (shouldn't happen, but guard)\n const hasSelf = links.some((l) => l.target.entityId === entityId)\n if (hasSelf) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n\n const linksToRemove: LinkToRemove[] = links.map((link) => ({\n id: link.id,\n target: link.target,\n source: { entityType, entityId },\n linkType,\n direction,\n projectName,\n }))\n\n await removeMultipleLinks(linksToRemove, deleteLink)\n\n // add to history stack\n // if there is a history, push it\n if (addToHistory && history) {\n history.pushHistory(\n links.map(\n (link) => () =>\n addLinks([{ targetEntityId: link.target.entityId, linkId: link.id }], false),\n ),\n )\n }\n } catch (error: any) {\n // Error handling is done in the utility function\n }\n },\n [deleteLink, projectName, entityId, entityType, targetEntityType, linkType, direction, history],\n )\n\n return { remove: removeLinks, add: addLinks }\n}\n\nexport default useUpdateLinks\n"],"names":["useUpdateLinks","projectName","direction","entityId","entityType","targetEntityType","linkType","history","useCellEditing","deleteLink","useDeleteEntityLinkMutation","addLink","useCreateEntityLinkMutation","addLinks","useCallback","links","addToHistory","l","toast","linksToAdd","link","addMultipleLinks","removeLinks","linksToRemove","removeMultipleLinks"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,MAAMA,KAAiB,CAAC;AAAA,EACtB,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,UAAAC;AACF,MAAa;AACX,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GAEd,CAACC,CAAU,IAAIC,EAAA,GACf,CAACC,CAAO,IAAIC,EAAA,GAGZC,IAAWC;AAAA,IACf,OAAOC,GAAOC,IAAe,OAAS;AACpC,UAAI;AAGF,YADgBD,EAAM,KAAK,CAACE,MAAMA,EAAE,mBAAmBd,CAAQ,GAClD;AACX,UAAAe,EAAM,MAAM,oCAAoC;AAChD;AAAA,QACF;AAEA,cAAMC,IAA0BJ,EAAM,IAAI,CAACK,OAAU;AAAA,UACnD,gBAAgBA,EAAK;AAAA,UACrB,QAAQA,EAAK;AAAA,UACb,gBAAgBjB;AAAA,UAChB,kBAAkBC;AAAA,UAClB,kBAAAC;AAAA,UACA,UAAAC;AAAA,UACA,WAAAJ;AAAA,UACA,aAAAD;AAAA,QAAA,EACA;AAEF,cAAMoB,EAAiBF,GAAYR,CAAO,GAGtCK,KAAgBT,KAClBA,EAAQ,YAAY;AAAA,UAClB,MACEe;AAAA,YACEP,EAAM,IAAI,CAACK,OAAU;AAAA,cACnB,IAAIA,EAAK;AAAA,cACT,QAAQ,EAAE,UAAUA,EAAK,gBAAgB,YAAYf,EAAA;AAAA,YAAiB,EACtE;AAAA,YACF;AAAA,UAAA;AAAA,QACF,CACH;AAAA,MAEL,QAAqB;AAAA,MAErB;AAAA,IACF;AAAA,IACA,CAACM,GAASV,GAAaE,GAAUC,GAAYC,GAAkBC,GAAUJ,GAAWK,CAAO;AAAA,EAAA,GAIvFe,IAAcR;AAAA,IAClB,OACEC,GACAC,IAAwB,OACrB;AACH,UAAI;AAGF,YADgBD,EAAM,KAAK,CAACE,MAAMA,EAAE,OAAO,aAAad,CAAQ,GACnD;AACX,UAAAe,EAAM,MAAM,oCAAoC;AAChD;AAAA,QACF;AAEA,cAAMK,IAAgCR,EAAM,IAAI,CAACK,OAAU;AAAA,UACzD,IAAIA,EAAK;AAAA,UACT,QAAQA,EAAK;AAAA,UACb,QAAQ,EAAE,YAAAhB,GAAY,UAAAD,EAAA;AAAA,UACtB,UAAAG;AAAA,UACA,WAAAJ;AAAA,UACA,aAAAD;AAAA,QAAA,EACA;AAEF,cAAMuB,EAAoBD,GAAed,CAAU,GAI/CO,KAAgBT,KAClBA,EAAQ;AAAA,UACNQ,EAAM;AAAA,YACJ,CAACK,MAAS,MACRP,EAAS,CAAC,EAAE,gBAAgBO,EAAK,OAAO,UAAU,QAAQA,EAAK,GAAA,CAAI,GAAG,EAAK;AAAA,UAAA;AAAA,QAC/E;AAAA,MAGN,QAAqB;AAAA,MAErB;AAAA,IACF;AAAA,IACA,CAACX,GAAYR,GAAaE,GAAUC,GAAYC,GAAkBC,GAAUJ,GAAWK,CAAO;AAAA,EAAA;AAGhG,SAAO,EAAE,QAAQe,GAAa,KAAKT,EAAA;AACrC;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../../../_virtual/jsx-runtime.cjs.js"),l=require("react"),K=require("styled-components"),$=require("./TableSettings.styled.cjs.js"),me=require("../../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js"),pe=require("./ColumnItem.cjs.js"),B=require("./SortableColumnItem.cjs.js"),C=require("@dnd-kit/core"),R=require("@dnd-kit/sortable"),je=require("react-toastify");require("@ynput/ayon-react-components");require("../SearchFilter/filterDates.cjs.js");require("date-fns");require("short-uuid");require("lodash");require("uuid");require("../../util/pubsub.cjs.js");require("clsx");require("../../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../AccessUser/AccessUser.cjs.js");require("../AttributeEditor/AttributeEditor.cjs.js");require("../AttributeEditor/attributeTypeMap.cjs.js");require("../Badge/Badge.cjs.js");require("../Chips/Chips.cjs.js");require("react-dom");require("../DateRangePicker/DateRangePicker.styled.cjs.js");require("../LinksManager/CellEditingDialog.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/dataImport.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/projectFolders.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/activities/getCategories.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/columnStats/metricTargets.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/versions/getVersionsProducts.cjs.js");require("../../api/queries/links/getEntityLinks.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/listItemsColumnStats.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/products/getFolderProducts.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/teams/getTeams.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/users/guests.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("../../api/queries/uris/getUris.cjs.js");require("../../../../_virtual/index.cjs.js");require("../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../DetailsPanelDetails/BorderedSection.cjs.js");require("../QuillListStyles/QuillListStyles.cjs.js");require("../DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../containers/Feed/components/CommentInput/modules/index.cjs.js");require("../../context/RemoteModulesContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../context/PowerpackContextInstance.cjs.js");require("../../context/UriContext.cjs.js");require("../../context/DetailsPanelContextInstance.cjs.js");require("../../context/SubtasksModulesContextInstance.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../DetailsPanelDetails/DetailsSection.cjs.js");require("../DetailsPanelDetails/FieldLabel.cjs.js");require("../DoneCheckbox/DoneCheckbox.cjs.js");require("../EarlyPreview/EarlyPreview.cjs.js");require("../EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../EnumEditor/EnumEditor.styled.cjs.js");require("../../containers/ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../containers/Feed/context/FeedContext.cjs.js");require("../../containers/Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../../containers/Feed/components/ActivityDate.cjs.js");require("../../containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../containers/Feed/Feed.styled.cjs.js");require("../../containers/Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js");require("../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../LinksManager/LinksManager.styled.cjs.js");require("../../containers/ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js");require("../../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../containers/ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("../../containers/ProjectTreeTable/components/TableFooterRow.cjs.js");require("../../containers/EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../containers/Slicer/components/Slicer.cjs.js");require("../../containers/Slicer/context/SlicerContext.cjs.js");require("../../containers/Slicer/hooks/useTableDataBySlice.cjs.js");require("../../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../PlayableIcon/PlayableIcon.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../containers/Actions/Actions.styled.cjs.js");require("../../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../containers/Actions/ActionIcon.cjs.js");require("../../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../../containers/Views/context/ViewsContextInstance.cjs.js");require("../../containers/Views/Views.styled.cjs.js");require("../../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../containers/ListTable/ListTableRow.cjs.js");require("../../containers/ListTable/ListTable.styled.cjs.js");require("../EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../ReviewablesList/ReviewablesList.styled.cjs.js");require("../ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../EntityPath/EntityPath.styled.cjs.js");require("../EntityPath/SegmentProvider.cjs.js");require("../FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../Feedback/FeedbackContextInstance.cjs.js");require("../Feedback/SupportBubble.cjs.js");require("../FileThumbnail/FileThumbnail.cjs.js");require("../LegacyBadge/LegacyBadge.cjs.js");require("../Powerpack/PowerpackButton.cjs.js");require("../Powerpack/FreeTrialLink.cjs.js");require("../Powerpack/PowerpackDialog.styled.cjs.js");require("../Powerpack/CTAButton.cjs.js");require("../Powerpack/RequiredAddonVersion.cjs.js");require("./ProjectTableSettings.cjs.js");require("../SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../ReviewableCard/ReviewableCard.cjs.js");require("../ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../SearchFilter/CustomDateRangeDialog.cjs.js");require("../SettingsPanel/SettingsPanel.cjs.js");require("../SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../ShareOptionIcon/ShareOptionIcon.cjs.js");require("../SimpleFormDialog/SimpleFormDialog.cjs.js");require("../StyledLink/StyledLink.cjs.js");require("../TableGridSwitch/TableGridSwitch.cjs.js");require("../Thumbnail/Thumbnail.styled.cjs.js");require("../Thumbnail/StackedThumbnails.cjs.js");require("../ThumbnailSimple/ThumbnailSimple.cjs.js");require("../VersionUploader/components/UploadVersionDialog.cjs.js");require("../VersionUploader/context/VersionUploadContext.cjs.js");require("../Watchers/Watchers.cjs.js");require("../Menu/Menu.styled.cjs.js");require("../Menu/MenuItem.cjs.js");require("../ReviewablesSelector/ReviewablesSelector.cjs.js");require("../ColumnHeaderMenuUI.cjs.js");const v=require("../../containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js"),te=({columns:b,highlighted:g,columnVisibility:t,updateColumnVisibility:O,columnPinning:o,updateColumnPinning:w,columnOrder:d,setColumnsConfig:S,columnSizing:I,groupBy:m,sorting:k,rowHeight:T,defaultColumnVisibility:f})=>{const[Q,U]=l.useState(null),[qe,X]=l.useState(!1),[oe,Y]=l.useState(!1),[Z,ee]=l.useState(!1),[le,M]=l.useState(!1),[ae,A]=l.useState(!1),ce=C.useSensors(C.useSensor(C.PointerSensor,{activationConstraint:{distance:5}})),L=l.useRef(null);l.useEffect(()=>{if(L.current&&g){const e=L.current.querySelector(`#column-settings-${g}`);e&&e.scrollIntoView({behavior:"smooth",block:"center"})}},[g]);const{visibleColumns:h,hiddenColumns:P,pinnedColumns:p}=l.useMemo(()=>{const e=b.filter(u=>v.checkColumnVisibility(t,u.value,f)),r=b.filter(u=>!v.checkColumnVisibility(t,u.value,f)),i=e.filter(u=>o.left?.includes(u.value));return{visibleColumns:e.filter(u=>!o.left?.includes(u.value)),hiddenColumns:r,pinnedColumns:i}},[b,t,o,f]),y=l.useMemo(()=>{const e=[...h];return d.length>0&&e.sort((r,i)=>{const a=d.indexOf(r.value),u=d.indexOf(i.value);return a===-1?1:u===-1?-1:a-u}),e},[h,d]),D=l.useMemo(()=>{const e=[...p];return d.length>0&&e.sort((r,i)=>{const a=d.indexOf(r.value),u=d.indexOf(i.value);return a===-1?1:u===-1?-1:a-u}),e},[p,d]),re=l.useMemo(()=>y.map(e=>e.value),[y]),ie=l.useMemo(()=>D.map(e=>e.value),[D]),N=e=>{const r=v.checkColumnVisibility(t,e,f),i={...t,[e]:!r};console.log("Toggling visibility for",e,"to",!r),O(i)},z=e=>{const r={...o},i={...t};r.left?.includes(e)?r.left=r.left.filter(a=>a!==e):(r.left=[...r.left||[],e],v.checkColumnVisibility(t,e,f)||(i[e]=!0,O(i))),w(r)},de=e=>{const r=e.active.id;U(r),ee(o.left?.includes(r)||!1)},fe=e=>{const{active:r,over:i}=e;if(i&&r.id!==i.id){const a=v.checkColumnVisibility(t,r.id,f),u=v.checkColumnVisibility(t,i.id,f),s=o.left?.includes(i.id)||!1,j=!u;X(!a&&u&&!s),Y(u&&s),A(j),M(u&&!s)}else M(!1),A(!1)},ge=e=>{X(!1),Y(!1),ee(!1),M(!1),A(!1);const{active:r,over:i}=e;if(i&&r.id!==i.id){const a=[...h,...P,...p].find(s=>s.value===r.id),u=[...h,...P,...p].find(s=>s.value===i.id);if(a&&u){const s=r.id,j=i.id,F=v.checkColumnVisibility(t,s,f),W=v.checkColumnVisibility(t,j,f),H=o.left?.includes(s)||!1,V=o.left?.includes(j)||!1,xe=!W,q={columnVisibility:{...t},columnOrder:[...d],columnPinning:{...o},columnSizing:{...I},groupBy:m,sorting:k,rowHeight:T};if(F&&W){let c=[...q.columnPinning.left||[]];H!==V&&(H&&!V?c=c.filter(_=>_!==s):!H&&V&&(c=[...c,s]));const x=[...ie,...re],ue=x.indexOf(s),se=x.indexOf(j);if(ue===-1||se===-1){console.error("Invalid column order state"),je.toast.error("Invalid column order state");return}const ne=R.arrayMove(x,ue,se),ve=ne.filter(_=>c.includes(_));q.columnOrder=ne,q.columnPinning={...q.columnPinning,left:ve},S(q)}else if(!F&&W){if(q.columnVisibility[s]=!0,V){const x=[...q.columnPinning.left||[],s];q.columnPinning.left=x}const c=[...ie,...re];if(!c.includes(s)){const x=c.indexOf(j);c.splice(x,0,s)}q.columnOrder=c,S(q)}else if(F&&xe){if(q.columnVisibility[s]=!1,H){const c=(q.columnPinning.left||[]).filter(x=>x!==s);q.columnPinning.left=c}S(q)}}}U(null)},E=Q?[...h,...P,...p].find(e=>e.value===Q):null;return n.jsxRuntimeExports.jsx(C.DndContext,{sensors:ce,collisionDetection:C.closestCenter,onDragStart:de,onDragOver:fe,onDragEnd:ge,children:n.jsxRuntimeExports.jsxs(Ce,{children:[p.length>0&&n.jsxRuntimeExports.jsxs(G,{className:oe&&!Z?"drop-target":"",children:[n.jsxRuntimeExports.jsx(J,{children:"Pinned Columns"}),n.jsxRuntimeExports.jsx(R.SortableContext,{items:D.map(e=>e.value),strategy:R.verticalListSortingStrategy,children:n.jsxRuntimeExports.jsx($.Menu,{children:D.map(e=>n.jsxRuntimeExports.jsx(B,{id:e.value,column:e,isPinned:!0,isHidden:!1,isDisabled:!!m&&e.value==="name",isHighlighted:g===e.value,onTogglePinning:z,onToggleVisibility:N},e.value))})})]}),n.jsxRuntimeExports.jsxs(G,{className:qe||Z&&le?"drop-target":"",children:[n.jsxRuntimeExports.jsx(J,{children:"Visible Columns"}),n.jsxRuntimeExports.jsx(R.SortableContext,{items:y.map(e=>e.value),strategy:R.verticalListSortingStrategy,children:n.jsxRuntimeExports.jsx($.Menu,{children:y.map(e=>n.jsxRuntimeExports.jsx(B,{id:e.value,column:e,isPinned:!1,isHidden:!1,isHighlighted:g===e.value,isDisabled:!!m&&e.value==="name",onTogglePinning:z,onToggleVisibility:N},e.value))})})]}),P.length>0&&n.jsxRuntimeExports.jsxs(G,{className:ae?"drop-target":"",children:[n.jsxRuntimeExports.jsx(J,{children:"Hidden Columns"}),n.jsxRuntimeExports.jsx($.Menu,{ref:L,children:P.map(e=>n.jsxRuntimeExports.jsx(B,{id:e.value,column:e,isPinned:o.left?.includes(e.value)||!1,isHidden:!0,isHighlighted:g===e.value,isDisabled:!!m&&e.value==="name",onTogglePinning:z,onToggleVisibility:N},e.value))})]}),n.jsxRuntimeExports.jsx(C.DragOverlay,{children:E&&n.jsxRuntimeExports.jsx(pe,{column:E,isPinned:o.left?.includes(E.value)||!1,isHidden:!v.checkColumnVisibility(t,E.value,f),isHighlighted:g===E.value,dragOverlay:!0})})]})})},Ce=K.div`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../../../_virtual/jsx-runtime.cjs.js"),l=require("react"),K=require("styled-components"),$=require("./TableSettings.styled.cjs.js"),me=require("../../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js"),pe=require("./ColumnItem.cjs.js"),B=require("./SortableColumnItem.cjs.js"),C=require("@dnd-kit/core"),R=require("@dnd-kit/sortable"),je=require("react-toastify");require("@ynput/ayon-react-components");require("../SearchFilter/filterDates.cjs.js");require("date-fns");require("short-uuid");require("lodash");require("uuid");require("../../util/pubsub.cjs.js");require("clsx");require("../../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../AccessUser/AccessUser.cjs.js");require("../AttributeEditor/AttributeEditor.cjs.js");require("../AttributeEditor/attributeTypeMap.cjs.js");require("../Badge/Badge.cjs.js");require("../Chips/Chips.cjs.js");require("react-dom");require("../DateRangePicker/DateRangePicker.styled.cjs.js");require("../LinksManager/CellEditingDialog.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/dataImport.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/projectFolders.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/activities/getCategories.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/columnStats/metricTargets.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/versions/getVersionsProducts.cjs.js");require("../../api/queries/links/getEntityLinks.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/listItemsColumnStats.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/products/getFolderProducts.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/teams/getTeams.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/users/guests.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("../../api/queries/uris/getUris.cjs.js");require("../../../../_virtual/index.cjs.js");require("../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../DetailsPanelDetails/BorderedSection.cjs.js");require("../QuillListStyles/QuillListStyles.cjs.js");require("../DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../containers/Feed/components/CommentInput/modules/index.cjs.js");require("../../context/RemoteModulesContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../context/PowerpackContextInstance.cjs.js");require("../../context/UriContext.cjs.js");require("../../context/DetailsPanelContextInstance.cjs.js");require("../../context/SubtasksModulesContextInstance.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../DetailsPanelDetails/DetailsSection.cjs.js");require("../DetailsPanelDetails/FieldLabel.cjs.js");require("../DoneCheckbox/DoneCheckbox.cjs.js");require("../EarlyPreview/EarlyPreview.cjs.js");require("../EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../EnumEditor/EnumEditor.styled.cjs.js");require("../../containers/ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../containers/Feed/context/FeedContext.cjs.js");require("../../containers/Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../../containers/Feed/components/ActivityDate.cjs.js");require("../../containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../containers/Feed/Feed.styled.cjs.js");require("../../containers/Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js");require("../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/LinksWidget.cjs.js");require("../LinksManager/LinksManager.styled.cjs.js");require("../../containers/ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js");require("../../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../containers/ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("../../containers/ProjectTreeTable/components/TableFooterRow.cjs.js");require("../../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../containers/EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../containers/Slicer/components/Slicer.cjs.js");require("../../containers/Slicer/context/SlicerContext.cjs.js");require("../../containers/Slicer/hooks/useTableDataBySlice.cjs.js");require("../../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../PlayableIcon/PlayableIcon.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../containers/Actions/Actions.styled.cjs.js");require("../../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../containers/Actions/ActionIcon.cjs.js");require("../../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../../containers/Views/context/ViewsContextInstance.cjs.js");require("../../containers/Views/Views.styled.cjs.js");require("../../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../containers/ListTable/ListTableRow.cjs.js");require("../../containers/ListTable/ListTable.styled.cjs.js");require("../EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../ReviewablesList/ReviewablesList.styled.cjs.js");require("../ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../EntityPath/EntityPath.styled.cjs.js");require("../EntityPath/SegmentProvider.cjs.js");require("../FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../Feedback/FeedbackContextInstance.cjs.js");require("../Feedback/SupportBubble.cjs.js");require("../FileThumbnail/FileThumbnail.cjs.js");require("../LegacyBadge/LegacyBadge.cjs.js");require("../Powerpack/PowerpackButton.cjs.js");require("../Powerpack/FreeTrialLink.cjs.js");require("../Powerpack/PowerpackDialog.styled.cjs.js");require("../Powerpack/CTAButton.cjs.js");require("../Powerpack/RequiredAddonVersion.cjs.js");require("./ProjectTableSettings.cjs.js");require("../SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../ReviewableCard/ReviewableCard.cjs.js");require("../ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../SearchFilter/CustomDateRangeDialog.cjs.js");require("../SettingsPanel/SettingsPanel.cjs.js");require("../SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../ShareOptionIcon/ShareOptionIcon.cjs.js");require("../SimpleFormDialog/SimpleFormDialog.cjs.js");require("../StyledLink/StyledLink.cjs.js");require("../TableGridSwitch/TableGridSwitch.cjs.js");require("../Thumbnail/Thumbnail.styled.cjs.js");require("../Thumbnail/StackedThumbnails.cjs.js");require("../ThumbnailSimple/ThumbnailSimple.cjs.js");require("../VersionUploader/components/UploadVersionDialog.cjs.js");require("../VersionUploader/context/VersionUploadContext.cjs.js");require("../Watchers/Watchers.cjs.js");require("../Menu/Menu.styled.cjs.js");require("../Menu/MenuItem.cjs.js");require("../ReviewablesSelector/ReviewablesSelector.cjs.js");require("../ColumnHeaderMenuUI.cjs.js");const v=require("../../containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js"),te=({columns:b,highlighted:g,columnVisibility:t,updateColumnVisibility:O,columnPinning:o,updateColumnPinning:w,columnOrder:d,setColumnsConfig:S,columnSizing:I,groupBy:m,sorting:k,rowHeight:T,defaultColumnVisibility:f})=>{const[Q,U]=l.useState(null),[qe,X]=l.useState(!1),[oe,Y]=l.useState(!1),[Z,ee]=l.useState(!1),[le,M]=l.useState(!1),[ae,A]=l.useState(!1),ce=C.useSensors(C.useSensor(C.PointerSensor,{activationConstraint:{distance:5}})),L=l.useRef(null);l.useEffect(()=>{if(L.current&&g){const e=L.current.querySelector(`#column-settings-${g}`);e&&e.scrollIntoView({behavior:"smooth",block:"center"})}},[g]);const{visibleColumns:h,hiddenColumns:P,pinnedColumns:p}=l.useMemo(()=>{const e=b.filter(u=>v.checkColumnVisibility(t,u.value,f)),r=b.filter(u=>!v.checkColumnVisibility(t,u.value,f)),i=e.filter(u=>o.left?.includes(u.value));return{visibleColumns:e.filter(u=>!o.left?.includes(u.value)),hiddenColumns:r,pinnedColumns:i}},[b,t,o,f]),y=l.useMemo(()=>{const e=[...h];return d.length>0&&e.sort((r,i)=>{const a=d.indexOf(r.value),u=d.indexOf(i.value);return a===-1?1:u===-1?-1:a-u}),e},[h,d]),D=l.useMemo(()=>{const e=[...p];return d.length>0&&e.sort((r,i)=>{const a=d.indexOf(r.value),u=d.indexOf(i.value);return a===-1?1:u===-1?-1:a-u}),e},[p,d]),re=l.useMemo(()=>y.map(e=>e.value),[y]),ie=l.useMemo(()=>D.map(e=>e.value),[D]),N=e=>{const r=v.checkColumnVisibility(t,e,f),i={...t,[e]:!r};console.log("Toggling visibility for",e,"to",!r),O(i)},z=e=>{const r={...o},i={...t};r.left?.includes(e)?r.left=r.left.filter(a=>a!==e):(r.left=[...r.left||[],e],v.checkColumnVisibility(t,e,f)||(i[e]=!0,O(i))),w(r)},de=e=>{const r=e.active.id;U(r),ee(o.left?.includes(r)||!1)},fe=e=>{const{active:r,over:i}=e;if(i&&r.id!==i.id){const a=v.checkColumnVisibility(t,r.id,f),u=v.checkColumnVisibility(t,i.id,f),s=o.left?.includes(i.id)||!1,j=!u;X(!a&&u&&!s),Y(u&&s),A(j),M(u&&!s)}else M(!1),A(!1)},ge=e=>{X(!1),Y(!1),ee(!1),M(!1),A(!1);const{active:r,over:i}=e;if(i&&r.id!==i.id){const a=[...h,...P,...p].find(s=>s.value===r.id),u=[...h,...P,...p].find(s=>s.value===i.id);if(a&&u){const s=r.id,j=i.id,F=v.checkColumnVisibility(t,s,f),W=v.checkColumnVisibility(t,j,f),H=o.left?.includes(s)||!1,V=o.left?.includes(j)||!1,xe=!W,q={columnVisibility:{...t},columnOrder:[...d],columnPinning:{...o},columnSizing:{...I},groupBy:m,sorting:k,rowHeight:T};if(F&&W){let c=[...q.columnPinning.left||[]];H!==V&&(H&&!V?c=c.filter(_=>_!==s):!H&&V&&(c=[...c,s]));const x=[...ie,...re],ue=x.indexOf(s),se=x.indexOf(j);if(ue===-1||se===-1){console.error("Invalid column order state"),je.toast.error("Invalid column order state");return}const ne=R.arrayMove(x,ue,se),ve=ne.filter(_=>c.includes(_));q.columnOrder=ne,q.columnPinning={...q.columnPinning,left:ve},S(q)}else if(!F&&W){if(q.columnVisibility[s]=!0,V){const x=[...q.columnPinning.left||[],s];q.columnPinning.left=x}const c=[...ie,...re];if(!c.includes(s)){const x=c.indexOf(j);c.splice(x,0,s)}q.columnOrder=c,S(q)}else if(F&&xe){if(q.columnVisibility[s]=!1,H){const c=(q.columnPinning.left||[]).filter(x=>x!==s);q.columnPinning.left=c}S(q)}}}U(null)},E=Q?[...h,...P,...p].find(e=>e.value===Q):null;return n.jsxRuntimeExports.jsx(C.DndContext,{sensors:ce,collisionDetection:C.closestCenter,onDragStart:de,onDragOver:fe,onDragEnd:ge,children:n.jsxRuntimeExports.jsxs(Ce,{children:[p.length>0&&n.jsxRuntimeExports.jsxs(G,{className:oe&&!Z?"drop-target":"",children:[n.jsxRuntimeExports.jsx(J,{children:"Pinned Columns"}),n.jsxRuntimeExports.jsx(R.SortableContext,{items:D.map(e=>e.value),strategy:R.verticalListSortingStrategy,children:n.jsxRuntimeExports.jsx($.Menu,{children:D.map(e=>n.jsxRuntimeExports.jsx(B,{id:e.value,column:e,isPinned:!0,isHidden:!1,isDisabled:!!m&&e.value==="name",isHighlighted:g===e.value,onTogglePinning:z,onToggleVisibility:N},e.value))})})]}),n.jsxRuntimeExports.jsxs(G,{className:qe||Z&&le?"drop-target":"",children:[n.jsxRuntimeExports.jsx(J,{children:"Visible Columns"}),n.jsxRuntimeExports.jsx(R.SortableContext,{items:y.map(e=>e.value),strategy:R.verticalListSortingStrategy,children:n.jsxRuntimeExports.jsx($.Menu,{children:y.map(e=>n.jsxRuntimeExports.jsx(B,{id:e.value,column:e,isPinned:!1,isHidden:!1,isHighlighted:g===e.value,isDisabled:!!m&&e.value==="name",onTogglePinning:z,onToggleVisibility:N},e.value))})})]}),P.length>0&&n.jsxRuntimeExports.jsxs(G,{className:ae?"drop-target":"",children:[n.jsxRuntimeExports.jsx(J,{children:"Hidden Columns"}),n.jsxRuntimeExports.jsx($.Menu,{ref:L,children:P.map(e=>n.jsxRuntimeExports.jsx(B,{id:e.value,column:e,isPinned:o.left?.includes(e.value)||!1,isHidden:!0,isHighlighted:g===e.value,isDisabled:!!m&&e.value==="name",onTogglePinning:z,onToggleVisibility:N},e.value))})]}),n.jsxRuntimeExports.jsx(C.DragOverlay,{children:E&&n.jsxRuntimeExports.jsx(pe,{column:E,isPinned:o.left?.includes(E.value)||!1,isHidden:!v.checkColumnVisibility(t,E.value,f),isHighlighted:g===E.value,dragOverlay:!0})})]})})},Ce=K.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
gap: var(--base-gap-large);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnsSettings.cjs.js","sources":["../../../../../src/components/ProjectTableSettings/ColumnsSettings.tsx"],"sourcesContent":["// React and Styling imports\nimport { FC, useEffect, useMemo, useRef, useState } from 'react'\nimport styled from 'styled-components'\nimport * as Styled from './TableSettings.styled'\nimport {\n ColumnOrderState,\n ColumnPinningState,\n ColumnSizingState,\n SortingState,\n VisibilityState,\n} from '@tanstack/react-table'\n\n// Context and Components imports\nimport {\n ColumnsConfig,\n TableGroupBy,\n useColumnSettingsContext,\n} from '@shared/containers/ProjectTreeTable/context/ColumnSettingsContext'\nimport ColumnItem from './ColumnItem'\nimport SortableColumnItem from './SortableColumnItem'\n\n// DND (Drag and Drop) imports\nimport {\n DndContext,\n closestCenter,\n DragEndEvent,\n DragStartEvent,\n useSensor,\n useSensors,\n PointerSensor,\n DragOverlay,\n DragOverEvent,\n} from '@dnd-kit/core'\nimport { SortableContext, verticalListSortingStrategy, arrayMove } from '@dnd-kit/sortable'\n\n// Notification imports\nimport { toast } from 'react-toastify'\nimport { checkColumnVisibility } from '../../containers/ProjectTreeTable/utils'\nimport { SettingsPanelItem } from '../SettingsPanel/SettingsPanelItemTemplate'\nimport { SettingHighlightedId } from '@shared/context'\n\ninterface ColumnsSettingsProps {\n columns: SettingsPanelItem[]\n highlighted?: SettingHighlightedId\n columnVisibility: VisibilityState\n updateColumnVisibility: (visibility: VisibilityState) => void\n columnPinning: ColumnPinningState\n updateColumnPinning: (pinning: ColumnPinningState) => void\n columnOrder: ColumnOrderState\n setColumnsConfig: (config: ColumnsConfig) => void\n columnSizing: ColumnSizingState\n groupBy?: TableGroupBy\n sorting: SortingState\n rowHeight?: number\n defaultColumnVisibility?: VisibilityState\n}\n\nexport const ColumnsSettings: FC<ColumnsSettingsProps> = ({\n columns,\n highlighted,\n columnVisibility,\n updateColumnVisibility,\n columnPinning,\n updateColumnPinning,\n columnOrder,\n setColumnsConfig,\n columnSizing,\n groupBy,\n sorting,\n rowHeight,\n defaultColumnVisibility,\n}) => {\n // State for the currently dragged column\n const [activeId, setActiveId] = useState<string | null>(null)\n const [isHiddenOverVisible, setIsHiddenOverVisible] = useState(false)\n const [isDraggingOverPinned, setIsDraggingOverPinned] = useState(false)\n const [isDraggingFromPinned, setIsDraggingFromPinned] = useState(false)\n // Add a new state to track if we're hovering over the visible section\n const [isHoveringVisibleSection, setIsHoveringVisibleSection] = useState(false)\n // Add state to track if dragging over the hidden section\n const [isDraggingOverHidden, setIsDraggingOverHidden] = useState(false)\n\n // Setup sensors for dnd-kit\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: 5,\n },\n }),\n )\n\n const menuRef = useRef<HTMLUListElement | null>(null)\n\n // if highlighted is set, scroll to the highlighted column\n useEffect(() => {\n if (menuRef.current && highlighted) {\n const highlightedElement = menuRef.current.querySelector(`#column-settings-${highlighted}`)\n if (highlightedElement) {\n highlightedElement.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n })\n }\n }\n }, [highlighted])\n\n // Separate columns into visible, hidden, and pinned\n const { visibleColumns, hiddenColumns, pinnedColumns } = useMemo(() => {\n // First filter columns by visibility\n const visible = columns.filter((col) =>\n checkColumnVisibility(columnVisibility, col.value, defaultColumnVisibility),\n )\n const hidden = columns.filter(\n (col) => !checkColumnVisibility(columnVisibility, col.value, defaultColumnVisibility),\n )\n\n // Then separate out pinned columns from visible\n const pinned = visible.filter((col) => columnPinning.left?.includes(col.value))\n const unpinnedVisible = visible.filter((col) => !columnPinning.left?.includes(col.value))\n\n return {\n visibleColumns: unpinnedVisible,\n hiddenColumns: hidden,\n pinnedColumns: pinned,\n }\n }, [columns, columnVisibility, columnPinning, defaultColumnVisibility])\n\n // Sort columns based on columnOrder\n const sortedVisibleColumns = useMemo(() => {\n // Create a copy of visible columns\n const visibleCopy = [...visibleColumns]\n\n // If we have a column order, use it to sort\n if (columnOrder.length > 0) {\n visibleCopy.sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n\n // If column is not in order array, place at end\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n\n return indexA - indexB\n })\n }\n\n return visibleCopy\n }, [visibleColumns, columnOrder])\n\n // Sort pinned columns based on columnOrder\n const sortedPinnedColumns = useMemo(() => {\n // Create a copy of pinned columns\n const pinnedCopy = [...pinnedColumns]\n\n // If we have a column order, use it to sort\n if (columnOrder.length > 0) {\n pinnedCopy.sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n\n // If column is not in order array, place at end\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n\n return indexA - indexB\n })\n }\n\n return pinnedCopy\n }, [pinnedColumns, columnOrder])\n\n const sortedVisibleColumnsIds = useMemo(\n () => sortedVisibleColumns.map((col) => col.value),\n [sortedVisibleColumns],\n )\n\n const sortedPinnedColumnsIds = useMemo(\n () => sortedPinnedColumns.map((col) => col.value),\n [sortedPinnedColumns],\n )\n\n // Toggle column visibility\n const toggleVisibility = (columnId: string) => {\n const isVisible = checkColumnVisibility(columnVisibility, columnId, defaultColumnVisibility)\n const newState = { ...columnVisibility, [columnId]: !isVisible }\n console.log('Toggling visibility for', columnId, 'to', !isVisible)\n updateColumnVisibility(newState)\n }\n\n // Toggle column pinning\n const togglePinning = (columnId: string) => {\n const newState = { ...columnPinning }\n const newVisibility = { ...columnVisibility }\n\n // If column is currently pinned, unpin it\n if (newState.left?.includes(columnId)) {\n newState.left = newState.left.filter((id) => id !== columnId)\n } else {\n // If column is currently unpinned, pin it\n newState.left = [...(newState.left || []), columnId]\n // If column is hidden, show it\n if (!checkColumnVisibility(columnVisibility, columnId, defaultColumnVisibility)) {\n newVisibility[columnId] = true\n updateColumnVisibility(newVisibility)\n }\n }\n updateColumnPinning(newState)\n }\n\n // When drag starts\n const handleDragStart = (event: DragStartEvent) => {\n const id = event.active.id as string\n setActiveId(id)\n setIsDraggingFromPinned(columnPinning.left?.includes(id) || false)\n }\n\n // Track when dragging over different sections\n const handleDragOver = (event: DragOverEvent) => {\n const { active, over } = event\n\n if (over && active.id !== over.id) {\n // Check if we're dragging a hidden column over a visible column\n const isActiveVisible = checkColumnVisibility(\n columnVisibility,\n active.id as string,\n defaultColumnVisibility,\n )\n const isOverVisible = checkColumnVisibility(\n columnVisibility,\n over.id as string,\n defaultColumnVisibility,\n )\n const isOverPinned = columnPinning.left?.includes(over.id as string) || false\n const isOverHidden = !isOverVisible\n\n setIsHiddenOverVisible(!isActiveVisible && isOverVisible && !isOverPinned)\n setIsDraggingOverPinned(isOverVisible && isOverPinned)\n setIsDraggingOverHidden(isOverHidden)\n\n // Set if we're hovering over the visible (unpinned) section\n setIsHoveringVisibleSection(isOverVisible && !isOverPinned)\n } else {\n // Reset when not over any column\n setIsHoveringVisibleSection(false)\n setIsDraggingOverHidden(false)\n }\n }\n\n // When drag ends, reset all states\n const handleDragEnd = (event: DragEndEvent) => {\n // Reset states\n setIsHiddenOverVisible(false)\n setIsDraggingOverPinned(false)\n setIsDraggingFromPinned(false)\n setIsHoveringVisibleSection(false)\n setIsDraggingOverHidden(false)\n\n const { active, over } = event\n\n if (over && active.id !== over.id) {\n // Find the dragged column and target column\n const activeColumn = [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find(\n (col) => col.value === active.id,\n )\n const overColumn = [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find(\n (col) => col.value === over.id,\n )\n\n if (activeColumn && overColumn) {\n const activeId = active.id as string\n const overId = over.id as string\n const isActiveVisible = checkColumnVisibility(\n columnVisibility,\n activeId,\n defaultColumnVisibility,\n )\n const isOverVisible = checkColumnVisibility(\n columnVisibility,\n overId,\n defaultColumnVisibility,\n )\n const isActivePinned = columnPinning.left?.includes(activeId) || false\n const isOverPinned = columnPinning.left?.includes(overId) || false\n const isOverHidden = !isOverVisible\n\n // Create a new config object that we'll update and apply at the end\n const newConfig: ColumnsConfig = {\n columnVisibility: { ...columnVisibility },\n columnOrder: [...columnOrder],\n columnPinning: { ...columnPinning },\n columnSizing: { ...columnSizing },\n groupBy,\n sorting,\n rowHeight,\n }\n\n // If we're moving a column between visible columns (including pinned)\n if (isActiveVisible && isOverVisible) {\n let newPinningLeft = [...(newConfig.columnPinning.left || [])]\n\n // Handle pinning/unpinning based on target section\n if (isActivePinned !== isOverPinned) {\n if (isActivePinned && !isOverPinned) {\n // Moving from pinned to unpinned section\n newPinningLeft = newPinningLeft.filter((id) => id !== activeId)\n } else if (!isActivePinned && isOverPinned) {\n // Moving from unpinned to pinned section\n newPinningLeft = [...newPinningLeft, activeId]\n }\n }\n\n // Update order within the appropriate section\n const allVisibleIds = [...sortedPinnedColumnsIds, ...sortedVisibleColumnsIds]\n const oldIndex = allVisibleIds.indexOf(activeId)\n const newIndex = allVisibleIds.indexOf(overId)\n\n if (oldIndex === -1 || newIndex === -1) {\n console.error('Invalid column order state')\n toast.error('Invalid column order state')\n return\n }\n\n const newOrder = arrayMove(allVisibleIds, oldIndex, newIndex)\n\n // new pinning left should be ordered by the new order\n const newPinningLeftOrdered = newOrder.filter((id) => newPinningLeft.includes(id))\n\n // Update config object\n newConfig.columnOrder = newOrder\n newConfig.columnPinning = {\n ...newConfig.columnPinning,\n left: newPinningLeftOrdered,\n }\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n\n // If we're dragging from hidden to visible\n else if (!isActiveVisible && isOverVisible) {\n // Make the column visible\n newConfig.columnVisibility[activeId] = true\n\n // If dropping into pinned section, also pin the column\n if (isOverPinned) {\n const newPinningLeft = [...(newConfig.columnPinning.left || []), activeId]\n newConfig.columnPinning.left = newPinningLeft\n }\n\n // Update order to place it near the over column\n const allVisibleIds = [...sortedPinnedColumnsIds, ...sortedVisibleColumnsIds]\n\n // Add the column to order if not already there\n if (!allVisibleIds.includes(activeId)) {\n const overIndex = allVisibleIds.indexOf(overId)\n allVisibleIds.splice(overIndex, 0, activeId)\n }\n\n newConfig.columnOrder = allVisibleIds\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n\n // If we're dragging from visible to hidden\n else if (isActiveVisible && isOverHidden) {\n // Make the active column hidden\n newConfig.columnVisibility[activeId] = false\n\n // If the column was pinned, remove it from pinned\n if (isActivePinned) {\n const newPinningLeft = (newConfig.columnPinning.left || []).filter(\n (id) => id !== activeId,\n )\n newConfig.columnPinning.left = newPinningLeft\n }\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n }\n }\n\n setActiveId(null)\n }\n\n // Find the active column for the drag overlay\n const activeColumn = activeId\n ? [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find((col) => col.value === activeId)\n : null\n\n return (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragStart={handleDragStart}\n onDragOver={handleDragOver}\n onDragEnd={handleDragEnd}\n >\n <ColumnsContainer>\n {/* Pinned Columns Section */}\n {pinnedColumns.length > 0 && (\n <Section className={isDraggingOverPinned && !isDraggingFromPinned ? 'drop-target' : ''}>\n <SectionTitle>Pinned Columns</SectionTitle>\n <SortableContext\n items={sortedPinnedColumns.map((col) => col.value)}\n strategy={verticalListSortingStrategy}\n >\n <Styled.Menu>\n {sortedPinnedColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={true}\n isHidden={false}\n isDisabled={!!groupBy && column.value === 'name'} // Disable 'name' column if grouping is enabled\n isHighlighted={highlighted === column.value}\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Styled.Menu>\n </SortableContext>\n </Section>\n )}\n\n {/* Visible Columns Section */}\n <Section\n className={\n isHiddenOverVisible || (isDraggingFromPinned && isHoveringVisibleSection)\n ? 'drop-target'\n : ''\n }\n >\n <SectionTitle>Visible Columns</SectionTitle>\n <SortableContext\n items={sortedVisibleColumns.map((col) => col.value)}\n strategy={verticalListSortingStrategy}\n >\n <Styled.Menu>\n {sortedVisibleColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={false}\n isHidden={false}\n isHighlighted={highlighted === column.value}\n isDisabled={!!groupBy && column.value === 'name'} // Disable 'name' column if grouping is enabled\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Styled.Menu>\n </SortableContext>\n </Section>\n\n {/* Hidden Columns Section */}\n {hiddenColumns.length > 0 && (\n <Section className={isDraggingOverHidden ? 'drop-target' : ''}>\n <SectionTitle>Hidden Columns</SectionTitle>\n <Styled.Menu ref={menuRef}>\n {hiddenColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={columnPinning.left?.includes(column.value) || false}\n isHidden={true}\n isHighlighted={highlighted === column.value}\n isDisabled={!!groupBy && column.value === 'name'} // Disable 'name' column if grouping is enabled\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Styled.Menu>\n </Section>\n )}\n\n {/* Drag Overlay */}\n <DragOverlay>\n {activeColumn && (\n <ColumnItem\n column={activeColumn}\n isPinned={columnPinning.left?.includes(activeColumn.value) || false}\n isHidden={\n !checkColumnVisibility(\n columnVisibility,\n activeColumn.value,\n defaultColumnVisibility,\n )\n }\n isHighlighted={highlighted === activeColumn.value}\n dragOverlay={true}\n />\n )}\n </DragOverlay>\n </ColumnsContainer>\n </DndContext>\n )\n}\n\n// Styled components\nconst ColumnsContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n`\n\nconst Section = styled.section`\n position: relative;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n transition: background-color 0.2s ease;\n border-radius: 4px;\n\n &.drop-target {\n background-color: var(--md-sys-color-surface-container);\n box-shadow: 0 0 0 1px var(--md-sys-color-outline);\n }\n`\n\nconst SectionTitle = styled.div`\n font-weight: 500;\n color: var(--md-sys-color-outline);\n padding: 4px 0;\n`\n\nexport default ColumnsSettings\n\n// Backward-compat wrapper that reads all data from ColumnSettingsContext\ntype ColumnsSettingsWithContextProps = Pick<ColumnsSettingsProps, 'columns' | 'highlighted'>\n\nexport const ColumnsSettingsWithContext: FC<ColumnsSettingsWithContextProps> = (props) => {\n const {\n columnVisibility,\n defaultColumnVisibility,\n updateColumnVisibility,\n columnPinning,\n updateColumnPinning,\n columnOrder,\n setColumnsConfig,\n columnSizing,\n groupBy,\n sorting,\n rowHeight,\n } = useColumnSettingsContext()\n\n return (\n <ColumnsSettings\n {...props}\n columnVisibility={columnVisibility}\n defaultColumnVisibility={defaultColumnVisibility}\n updateColumnVisibility={updateColumnVisibility}\n columnPinning={columnPinning}\n updateColumnPinning={updateColumnPinning}\n columnOrder={columnOrder}\n setColumnsConfig={setColumnsConfig}\n columnSizing={columnSizing}\n groupBy={groupBy}\n sorting={sorting}\n rowHeight={rowHeight}\n />\n )\n}\n"],"names":["ColumnsSettings","columns","highlighted","columnVisibility","updateColumnVisibility","columnPinning","updateColumnPinning","columnOrder","setColumnsConfig","columnSizing","groupBy","sorting","rowHeight","defaultColumnVisibility","activeId","setActiveId","useState","isHiddenOverVisible","setIsHiddenOverVisible","isDraggingOverPinned","setIsDraggingOverPinned","isDraggingFromPinned","setIsDraggingFromPinned","isHoveringVisibleSection","setIsHoveringVisibleSection","isDraggingOverHidden","setIsDraggingOverHidden","sensors","useSensors","useSensor","PointerSensor","menuRef","useRef","useEffect","highlightedElement","visibleColumns","hiddenColumns","pinnedColumns","useMemo","visible","col","checkColumnVisibility","hidden","pinned","sortedVisibleColumns","visibleCopy","a","b","indexA","indexB","sortedPinnedColumns","pinnedCopy","sortedVisibleColumnsIds","sortedPinnedColumnsIds","toggleVisibility","columnId","isVisible","newState","togglePinning","newVisibility","id","handleDragStart","event","handleDragOver","active","over","isActiveVisible","isOverVisible","isOverPinned","isOverHidden","handleDragEnd","activeColumn","overColumn","overId","isActivePinned","newConfig","newPinningLeft","allVisibleIds","oldIndex","newIndex","toast","newOrder","arrayMove","newPinningLeftOrdered","overIndex","jsx","DndContext","closestCenter","ColumnsContainer","jsxs","Section","SectionTitle","SortableContext","verticalListSortingStrategy","Styled.Menu","column","SortableColumnItem","DragOverlay","ColumnItem","styled","ColumnsSettingsWithContext","props","useColumnSettingsContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ColumnsSettings.cjs.js","sources":["../../../../../src/components/ProjectTableSettings/ColumnsSettings.tsx"],"sourcesContent":["// React and Styling imports\nimport { FC, useEffect, useMemo, useRef, useState } from 'react'\nimport styled from 'styled-components'\nimport * as Styled from './TableSettings.styled'\nimport {\n ColumnOrderState,\n ColumnPinningState,\n ColumnSizingState,\n SortingState,\n VisibilityState,\n} from '@tanstack/react-table'\n\n// Context and Components imports\nimport {\n ColumnsConfig,\n TableGroupBy,\n useColumnSettingsContext,\n} from '@shared/containers/ProjectTreeTable/context/ColumnSettingsContext'\nimport ColumnItem from './ColumnItem'\nimport SortableColumnItem from './SortableColumnItem'\n\n// DND (Drag and Drop) imports\nimport {\n DndContext,\n closestCenter,\n DragEndEvent,\n DragStartEvent,\n useSensor,\n useSensors,\n PointerSensor,\n DragOverlay,\n DragOverEvent,\n} from '@dnd-kit/core'\nimport { SortableContext, verticalListSortingStrategy, arrayMove } from '@dnd-kit/sortable'\n\n// Notification imports\nimport { toast } from 'react-toastify'\nimport { checkColumnVisibility } from '../../containers/ProjectTreeTable/utils'\nimport { SettingsPanelItem } from '../SettingsPanel/SettingsPanelItemTemplate'\nimport { SettingHighlightedId } from '@shared/context'\n\ninterface ColumnsSettingsProps {\n columns: SettingsPanelItem[]\n highlighted?: SettingHighlightedId\n columnVisibility: VisibilityState\n updateColumnVisibility: (visibility: VisibilityState) => void\n columnPinning: ColumnPinningState\n updateColumnPinning: (pinning: ColumnPinningState) => void\n columnOrder: ColumnOrderState\n setColumnsConfig: (config: ColumnsConfig) => void\n columnSizing: ColumnSizingState\n groupBy?: TableGroupBy\n sorting: SortingState\n rowHeight?: number\n defaultColumnVisibility?: VisibilityState\n}\n\nexport const ColumnsSettings: FC<ColumnsSettingsProps> = ({\n columns,\n highlighted,\n columnVisibility,\n updateColumnVisibility,\n columnPinning,\n updateColumnPinning,\n columnOrder,\n setColumnsConfig,\n columnSizing,\n groupBy,\n sorting,\n rowHeight,\n defaultColumnVisibility,\n}) => {\n // State for the currently dragged column\n const [activeId, setActiveId] = useState<string | null>(null)\n const [isHiddenOverVisible, setIsHiddenOverVisible] = useState(false)\n const [isDraggingOverPinned, setIsDraggingOverPinned] = useState(false)\n const [isDraggingFromPinned, setIsDraggingFromPinned] = useState(false)\n // Add a new state to track if we're hovering over the visible section\n const [isHoveringVisibleSection, setIsHoveringVisibleSection] = useState(false)\n // Add state to track if dragging over the hidden section\n const [isDraggingOverHidden, setIsDraggingOverHidden] = useState(false)\n\n // Setup sensors for dnd-kit\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: 5,\n },\n }),\n )\n\n const menuRef = useRef<HTMLUListElement | null>(null)\n\n // if highlighted is set, scroll to the highlighted column\n useEffect(() => {\n if (menuRef.current && highlighted) {\n const highlightedElement = menuRef.current.querySelector(`#column-settings-${highlighted}`)\n if (highlightedElement) {\n highlightedElement.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n })\n }\n }\n }, [highlighted])\n\n // Separate columns into visible, hidden, and pinned\n const { visibleColumns, hiddenColumns, pinnedColumns } = useMemo(() => {\n // First filter columns by visibility\n const visible = columns.filter((col) =>\n checkColumnVisibility(columnVisibility, col.value, defaultColumnVisibility),\n )\n const hidden = columns.filter(\n (col) => !checkColumnVisibility(columnVisibility, col.value, defaultColumnVisibility),\n )\n\n // Then separate out pinned columns from visible\n const pinned = visible.filter((col) => columnPinning.left?.includes(col.value))\n const unpinnedVisible = visible.filter((col) => !columnPinning.left?.includes(col.value))\n\n return {\n visibleColumns: unpinnedVisible,\n hiddenColumns: hidden,\n pinnedColumns: pinned,\n }\n }, [columns, columnVisibility, columnPinning, defaultColumnVisibility])\n\n // Sort columns based on columnOrder\n const sortedVisibleColumns = useMemo(() => {\n // Create a copy of visible columns\n const visibleCopy = [...visibleColumns]\n\n // If we have a column order, use it to sort\n if (columnOrder.length > 0) {\n visibleCopy.sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n\n // If column is not in order array, place at end\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n\n return indexA - indexB\n })\n }\n\n return visibleCopy\n }, [visibleColumns, columnOrder])\n\n // Sort pinned columns based on columnOrder\n const sortedPinnedColumns = useMemo(() => {\n // Create a copy of pinned columns\n const pinnedCopy = [...pinnedColumns]\n\n // If we have a column order, use it to sort\n if (columnOrder.length > 0) {\n pinnedCopy.sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n\n // If column is not in order array, place at end\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n\n return indexA - indexB\n })\n }\n\n return pinnedCopy\n }, [pinnedColumns, columnOrder])\n\n const sortedVisibleColumnsIds = useMemo(\n () => sortedVisibleColumns.map((col) => col.value),\n [sortedVisibleColumns],\n )\n\n const sortedPinnedColumnsIds = useMemo(\n () => sortedPinnedColumns.map((col) => col.value),\n [sortedPinnedColumns],\n )\n\n // Toggle column visibility\n const toggleVisibility = (columnId: string) => {\n const isVisible = checkColumnVisibility(columnVisibility, columnId, defaultColumnVisibility)\n const newState = { ...columnVisibility, [columnId]: !isVisible }\n console.log('Toggling visibility for', columnId, 'to', !isVisible)\n updateColumnVisibility(newState)\n }\n\n // Toggle column pinning\n const togglePinning = (columnId: string) => {\n const newState = { ...columnPinning }\n const newVisibility = { ...columnVisibility }\n\n // If column is currently pinned, unpin it\n if (newState.left?.includes(columnId)) {\n newState.left = newState.left.filter((id) => id !== columnId)\n } else {\n // If column is currently unpinned, pin it\n newState.left = [...(newState.left || []), columnId]\n // If column is hidden, show it\n if (!checkColumnVisibility(columnVisibility, columnId, defaultColumnVisibility)) {\n newVisibility[columnId] = true\n updateColumnVisibility(newVisibility)\n }\n }\n updateColumnPinning(newState)\n }\n\n // When drag starts\n const handleDragStart = (event: DragStartEvent) => {\n const id = event.active.id as string\n setActiveId(id)\n setIsDraggingFromPinned(columnPinning.left?.includes(id) || false)\n }\n\n // Track when dragging over different sections\n const handleDragOver = (event: DragOverEvent) => {\n const { active, over } = event\n\n if (over && active.id !== over.id) {\n // Check if we're dragging a hidden column over a visible column\n const isActiveVisible = checkColumnVisibility(\n columnVisibility,\n active.id as string,\n defaultColumnVisibility,\n )\n const isOverVisible = checkColumnVisibility(\n columnVisibility,\n over.id as string,\n defaultColumnVisibility,\n )\n const isOverPinned = columnPinning.left?.includes(over.id as string) || false\n const isOverHidden = !isOverVisible\n\n setIsHiddenOverVisible(!isActiveVisible && isOverVisible && !isOverPinned)\n setIsDraggingOverPinned(isOverVisible && isOverPinned)\n setIsDraggingOverHidden(isOverHidden)\n\n // Set if we're hovering over the visible (unpinned) section\n setIsHoveringVisibleSection(isOverVisible && !isOverPinned)\n } else {\n // Reset when not over any column\n setIsHoveringVisibleSection(false)\n setIsDraggingOverHidden(false)\n }\n }\n\n // When drag ends, reset all states\n const handleDragEnd = (event: DragEndEvent) => {\n // Reset states\n setIsHiddenOverVisible(false)\n setIsDraggingOverPinned(false)\n setIsDraggingFromPinned(false)\n setIsHoveringVisibleSection(false)\n setIsDraggingOverHidden(false)\n\n const { active, over } = event\n\n if (over && active.id !== over.id) {\n // Find the dragged column and target column\n const activeColumn = [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find(\n (col) => col.value === active.id,\n )\n const overColumn = [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find(\n (col) => col.value === over.id,\n )\n\n if (activeColumn && overColumn) {\n const activeId = active.id as string\n const overId = over.id as string\n const isActiveVisible = checkColumnVisibility(\n columnVisibility,\n activeId,\n defaultColumnVisibility,\n )\n const isOverVisible = checkColumnVisibility(\n columnVisibility,\n overId,\n defaultColumnVisibility,\n )\n const isActivePinned = columnPinning.left?.includes(activeId) || false\n const isOverPinned = columnPinning.left?.includes(overId) || false\n const isOverHidden = !isOverVisible\n\n // Create a new config object that we'll update and apply at the end\n const newConfig: ColumnsConfig = {\n columnVisibility: { ...columnVisibility },\n columnOrder: [...columnOrder],\n columnPinning: { ...columnPinning },\n columnSizing: { ...columnSizing },\n groupBy,\n sorting,\n rowHeight,\n }\n\n // If we're moving a column between visible columns (including pinned)\n if (isActiveVisible && isOverVisible) {\n let newPinningLeft = [...(newConfig.columnPinning.left || [])]\n\n // Handle pinning/unpinning based on target section\n if (isActivePinned !== isOverPinned) {\n if (isActivePinned && !isOverPinned) {\n // Moving from pinned to unpinned section\n newPinningLeft = newPinningLeft.filter((id) => id !== activeId)\n } else if (!isActivePinned && isOverPinned) {\n // Moving from unpinned to pinned section\n newPinningLeft = [...newPinningLeft, activeId]\n }\n }\n\n // Update order within the appropriate section\n const allVisibleIds = [...sortedPinnedColumnsIds, ...sortedVisibleColumnsIds]\n const oldIndex = allVisibleIds.indexOf(activeId)\n const newIndex = allVisibleIds.indexOf(overId)\n\n if (oldIndex === -1 || newIndex === -1) {\n console.error('Invalid column order state')\n toast.error('Invalid column order state')\n return\n }\n\n const newOrder = arrayMove(allVisibleIds, oldIndex, newIndex)\n\n // new pinning left should be ordered by the new order\n const newPinningLeftOrdered = newOrder.filter((id) => newPinningLeft.includes(id))\n\n // Update config object\n newConfig.columnOrder = newOrder\n newConfig.columnPinning = {\n ...newConfig.columnPinning,\n left: newPinningLeftOrdered,\n }\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n\n // If we're dragging from hidden to visible\n else if (!isActiveVisible && isOverVisible) {\n // Make the column visible\n newConfig.columnVisibility[activeId] = true\n\n // If dropping into pinned section, also pin the column\n if (isOverPinned) {\n const newPinningLeft = [...(newConfig.columnPinning.left || []), activeId]\n newConfig.columnPinning.left = newPinningLeft\n }\n\n // Update order to place it near the over column\n const allVisibleIds = [...sortedPinnedColumnsIds, ...sortedVisibleColumnsIds]\n\n // Add the column to order if not already there\n if (!allVisibleIds.includes(activeId)) {\n const overIndex = allVisibleIds.indexOf(overId)\n allVisibleIds.splice(overIndex, 0, activeId)\n }\n\n newConfig.columnOrder = allVisibleIds\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n\n // If we're dragging from visible to hidden\n else if (isActiveVisible && isOverHidden) {\n // Make the active column hidden\n newConfig.columnVisibility[activeId] = false\n\n // If the column was pinned, remove it from pinned\n if (isActivePinned) {\n const newPinningLeft = (newConfig.columnPinning.left || []).filter(\n (id) => id !== activeId,\n )\n newConfig.columnPinning.left = newPinningLeft\n }\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n }\n }\n\n setActiveId(null)\n }\n\n // Find the active column for the drag overlay\n const activeColumn = activeId\n ? [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find((col) => col.value === activeId)\n : null\n\n return (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragStart={handleDragStart}\n onDragOver={handleDragOver}\n onDragEnd={handleDragEnd}\n >\n <ColumnsContainer>\n {/* Pinned Columns Section */}\n {pinnedColumns.length > 0 && (\n <Section className={isDraggingOverPinned && !isDraggingFromPinned ? 'drop-target' : ''}>\n <SectionTitle>Pinned Columns</SectionTitle>\n <SortableContext\n items={sortedPinnedColumns.map((col) => col.value)}\n strategy={verticalListSortingStrategy}\n >\n <Styled.Menu>\n {sortedPinnedColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={true}\n isHidden={false}\n isDisabled={!!groupBy && column.value === 'name'} // Disable 'name' column if grouping is enabled\n isHighlighted={highlighted === column.value}\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Styled.Menu>\n </SortableContext>\n </Section>\n )}\n\n {/* Visible Columns Section */}\n <Section\n className={\n isHiddenOverVisible || (isDraggingFromPinned && isHoveringVisibleSection)\n ? 'drop-target'\n : ''\n }\n >\n <SectionTitle>Visible Columns</SectionTitle>\n <SortableContext\n items={sortedVisibleColumns.map((col) => col.value)}\n strategy={verticalListSortingStrategy}\n >\n <Styled.Menu>\n {sortedVisibleColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={false}\n isHidden={false}\n isHighlighted={highlighted === column.value}\n isDisabled={!!groupBy && column.value === 'name'} // Disable 'name' column if grouping is enabled\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Styled.Menu>\n </SortableContext>\n </Section>\n\n {/* Hidden Columns Section */}\n {hiddenColumns.length > 0 && (\n <Section className={isDraggingOverHidden ? 'drop-target' : ''}>\n <SectionTitle>Hidden Columns</SectionTitle>\n <Styled.Menu ref={menuRef}>\n {hiddenColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={columnPinning.left?.includes(column.value) || false}\n isHidden={true}\n isHighlighted={highlighted === column.value}\n isDisabled={!!groupBy && column.value === 'name'} // Disable 'name' column if grouping is enabled\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Styled.Menu>\n </Section>\n )}\n\n {/* Drag Overlay */}\n <DragOverlay>\n {activeColumn && (\n <ColumnItem\n column={activeColumn}\n isPinned={columnPinning.left?.includes(activeColumn.value) || false}\n isHidden={\n !checkColumnVisibility(\n columnVisibility,\n activeColumn.value,\n defaultColumnVisibility,\n )\n }\n isHighlighted={highlighted === activeColumn.value}\n dragOverlay={true}\n />\n )}\n </DragOverlay>\n </ColumnsContainer>\n </DndContext>\n )\n}\n\n// Styled components\nconst ColumnsContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n`\n\nconst Section = styled.section`\n position: relative;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n transition: background-color 0.2s ease;\n border-radius: 4px;\n\n &.drop-target {\n background-color: var(--md-sys-color-surface-container);\n box-shadow: 0 0 0 1px var(--md-sys-color-outline);\n }\n`\n\nconst SectionTitle = styled.div`\n font-weight: 500;\n color: var(--md-sys-color-outline);\n padding: 4px 0;\n`\n\nexport default ColumnsSettings\n\n// Backward-compat wrapper that reads all data from ColumnSettingsContext\ntype ColumnsSettingsWithContextProps = Pick<ColumnsSettingsProps, 'columns' | 'highlighted'>\n\nexport const ColumnsSettingsWithContext: FC<ColumnsSettingsWithContextProps> = (props) => {\n const {\n columnVisibility,\n defaultColumnVisibility,\n updateColumnVisibility,\n columnPinning,\n updateColumnPinning,\n columnOrder,\n setColumnsConfig,\n columnSizing,\n groupBy,\n sorting,\n rowHeight,\n } = useColumnSettingsContext()\n\n return (\n <ColumnsSettings\n {...props}\n columnVisibility={columnVisibility}\n defaultColumnVisibility={defaultColumnVisibility}\n updateColumnVisibility={updateColumnVisibility}\n columnPinning={columnPinning}\n updateColumnPinning={updateColumnPinning}\n columnOrder={columnOrder}\n setColumnsConfig={setColumnsConfig}\n columnSizing={columnSizing}\n groupBy={groupBy}\n sorting={sorting}\n rowHeight={rowHeight}\n />\n )\n}\n"],"names":["ColumnsSettings","columns","highlighted","columnVisibility","updateColumnVisibility","columnPinning","updateColumnPinning","columnOrder","setColumnsConfig","columnSizing","groupBy","sorting","rowHeight","defaultColumnVisibility","activeId","setActiveId","useState","isHiddenOverVisible","setIsHiddenOverVisible","isDraggingOverPinned","setIsDraggingOverPinned","isDraggingFromPinned","setIsDraggingFromPinned","isHoveringVisibleSection","setIsHoveringVisibleSection","isDraggingOverHidden","setIsDraggingOverHidden","sensors","useSensors","useSensor","PointerSensor","menuRef","useRef","useEffect","highlightedElement","visibleColumns","hiddenColumns","pinnedColumns","useMemo","visible","col","checkColumnVisibility","hidden","pinned","sortedVisibleColumns","visibleCopy","a","b","indexA","indexB","sortedPinnedColumns","pinnedCopy","sortedVisibleColumnsIds","sortedPinnedColumnsIds","toggleVisibility","columnId","isVisible","newState","togglePinning","newVisibility","id","handleDragStart","event","handleDragOver","active","over","isActiveVisible","isOverVisible","isOverPinned","isOverHidden","handleDragEnd","activeColumn","overColumn","overId","isActivePinned","newConfig","newPinningLeft","allVisibleIds","oldIndex","newIndex","toast","newOrder","arrayMove","newPinningLeftOrdered","overIndex","jsx","DndContext","closestCenter","ColumnsContainer","jsxs","Section","SectionTitle","SortableContext","verticalListSortingStrategy","Styled.Menu","column","SortableColumnItem","DragOverlay","ColumnItem","styled","ColumnsSettingsWithContext","props","useColumnSettingsContext"],"mappings":"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"}
|
|
@@ -212,8 +212,7 @@ import "../../containers/ProjectTreeTable/widgets/CellWidget.es.js";
|
|
|
212
212
|
import "../../containers/ProjectTreeTable/widgets/EntityNameWidget.es.js";
|
|
213
213
|
import "../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js";
|
|
214
214
|
import "../../containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js";
|
|
215
|
-
import "../../containers/ProjectTreeTable/
|
|
216
|
-
import "../../containers/ProjectTreeTable/context/SelectedRowsContext.es.js";
|
|
215
|
+
import "../../containers/ProjectTreeTable/widgets/LinksWidget.es.js";
|
|
217
216
|
import "../LinksManager/LinksManager.styled.es.js";
|
|
218
217
|
import "../../containers/ProjectTreeTable/context/ProjectTableContext.es.js";
|
|
219
218
|
import "../../containers/ProjectTreeTable/widgets/EmptyWidget.es.js";
|
|
@@ -230,6 +229,8 @@ import "../../containers/ProjectTreeTable/context/SelectionCellsContext.es.js";
|
|
|
230
229
|
import "../../containers/ProjectTreeTable/context/ProjectDataContext.es.js";
|
|
231
230
|
import "../../containers/ProjectTreeTable/context/CellEditingContext.es.js";
|
|
232
231
|
import "../../containers/ProjectTreeTable/components/TableFooterRow.es.js";
|
|
232
|
+
import "../../containers/ProjectTreeTable/context/SelectedRowsContext.es.js";
|
|
233
|
+
import "../../containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js";
|
|
233
234
|
import "../../containers/EntityPickerDialog/EntityPickerDialog.es.js";
|
|
234
235
|
import "../../containers/Slicer/components/Slicer.es.js";
|
|
235
236
|
import "../../containers/Slicer/context/SlicerContext.es.js";
|
|
@@ -557,7 +558,7 @@ const Ti = ({
|
|
|
557
558
|
font-weight: 500;
|
|
558
559
|
color: var(--md-sys-color-outline);
|
|
559
560
|
padding: 4px 0;
|
|
560
|
-
`,
|
|
561
|
+
`, rm = (b) => {
|
|
561
562
|
const {
|
|
562
563
|
columnVisibility: f,
|
|
563
564
|
defaultColumnVisibility: m,
|
|
@@ -591,6 +592,6 @@ const Ti = ({
|
|
|
591
592
|
};
|
|
592
593
|
export {
|
|
593
594
|
Ti as ColumnsSettings,
|
|
594
|
-
|
|
595
|
+
rm as ColumnsSettingsWithContext
|
|
595
596
|
};
|
|
596
597
|
//# sourceMappingURL=ColumnsSettings.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnsSettings.es.js","sources":["../../../../../src/components/ProjectTableSettings/ColumnsSettings.tsx"],"sourcesContent":["// React and Styling imports\nimport { FC, useEffect, useMemo, useRef, useState } from 'react'\nimport styled from 'styled-components'\nimport * as Styled from './TableSettings.styled'\nimport {\n ColumnOrderState,\n ColumnPinningState,\n ColumnSizingState,\n SortingState,\n VisibilityState,\n} from '@tanstack/react-table'\n\n// Context and Components imports\nimport {\n ColumnsConfig,\n TableGroupBy,\n useColumnSettingsContext,\n} from '@shared/containers/ProjectTreeTable/context/ColumnSettingsContext'\nimport ColumnItem from './ColumnItem'\nimport SortableColumnItem from './SortableColumnItem'\n\n// DND (Drag and Drop) imports\nimport {\n DndContext,\n closestCenter,\n DragEndEvent,\n DragStartEvent,\n useSensor,\n useSensors,\n PointerSensor,\n DragOverlay,\n DragOverEvent,\n} from '@dnd-kit/core'\nimport { SortableContext, verticalListSortingStrategy, arrayMove } from '@dnd-kit/sortable'\n\n// Notification imports\nimport { toast } from 'react-toastify'\nimport { checkColumnVisibility } from '../../containers/ProjectTreeTable/utils'\nimport { SettingsPanelItem } from '../SettingsPanel/SettingsPanelItemTemplate'\nimport { SettingHighlightedId } from '@shared/context'\n\ninterface ColumnsSettingsProps {\n columns: SettingsPanelItem[]\n highlighted?: SettingHighlightedId\n columnVisibility: VisibilityState\n updateColumnVisibility: (visibility: VisibilityState) => void\n columnPinning: ColumnPinningState\n updateColumnPinning: (pinning: ColumnPinningState) => void\n columnOrder: ColumnOrderState\n setColumnsConfig: (config: ColumnsConfig) => void\n columnSizing: ColumnSizingState\n groupBy?: TableGroupBy\n sorting: SortingState\n rowHeight?: number\n defaultColumnVisibility?: VisibilityState\n}\n\nexport const ColumnsSettings: FC<ColumnsSettingsProps> = ({\n columns,\n highlighted,\n columnVisibility,\n updateColumnVisibility,\n columnPinning,\n updateColumnPinning,\n columnOrder,\n setColumnsConfig,\n columnSizing,\n groupBy,\n sorting,\n rowHeight,\n defaultColumnVisibility,\n}) => {\n // State for the currently dragged column\n const [activeId, setActiveId] = useState<string | null>(null)\n const [isHiddenOverVisible, setIsHiddenOverVisible] = useState(false)\n const [isDraggingOverPinned, setIsDraggingOverPinned] = useState(false)\n const [isDraggingFromPinned, setIsDraggingFromPinned] = useState(false)\n // Add a new state to track if we're hovering over the visible section\n const [isHoveringVisibleSection, setIsHoveringVisibleSection] = useState(false)\n // Add state to track if dragging over the hidden section\n const [isDraggingOverHidden, setIsDraggingOverHidden] = useState(false)\n\n // Setup sensors for dnd-kit\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: 5,\n },\n }),\n )\n\n const menuRef = useRef<HTMLUListElement | null>(null)\n\n // if highlighted is set, scroll to the highlighted column\n useEffect(() => {\n if (menuRef.current && highlighted) {\n const highlightedElement = menuRef.current.querySelector(`#column-settings-${highlighted}`)\n if (highlightedElement) {\n highlightedElement.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n })\n }\n }\n }, [highlighted])\n\n // Separate columns into visible, hidden, and pinned\n const { visibleColumns, hiddenColumns, pinnedColumns } = useMemo(() => {\n // First filter columns by visibility\n const visible = columns.filter((col) =>\n checkColumnVisibility(columnVisibility, col.value, defaultColumnVisibility),\n )\n const hidden = columns.filter(\n (col) => !checkColumnVisibility(columnVisibility, col.value, defaultColumnVisibility),\n )\n\n // Then separate out pinned columns from visible\n const pinned = visible.filter((col) => columnPinning.left?.includes(col.value))\n const unpinnedVisible = visible.filter((col) => !columnPinning.left?.includes(col.value))\n\n return {\n visibleColumns: unpinnedVisible,\n hiddenColumns: hidden,\n pinnedColumns: pinned,\n }\n }, [columns, columnVisibility, columnPinning, defaultColumnVisibility])\n\n // Sort columns based on columnOrder\n const sortedVisibleColumns = useMemo(() => {\n // Create a copy of visible columns\n const visibleCopy = [...visibleColumns]\n\n // If we have a column order, use it to sort\n if (columnOrder.length > 0) {\n visibleCopy.sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n\n // If column is not in order array, place at end\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n\n return indexA - indexB\n })\n }\n\n return visibleCopy\n }, [visibleColumns, columnOrder])\n\n // Sort pinned columns based on columnOrder\n const sortedPinnedColumns = useMemo(() => {\n // Create a copy of pinned columns\n const pinnedCopy = [...pinnedColumns]\n\n // If we have a column order, use it to sort\n if (columnOrder.length > 0) {\n pinnedCopy.sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n\n // If column is not in order array, place at end\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n\n return indexA - indexB\n })\n }\n\n return pinnedCopy\n }, [pinnedColumns, columnOrder])\n\n const sortedVisibleColumnsIds = useMemo(\n () => sortedVisibleColumns.map((col) => col.value),\n [sortedVisibleColumns],\n )\n\n const sortedPinnedColumnsIds = useMemo(\n () => sortedPinnedColumns.map((col) => col.value),\n [sortedPinnedColumns],\n )\n\n // Toggle column visibility\n const toggleVisibility = (columnId: string) => {\n const isVisible = checkColumnVisibility(columnVisibility, columnId, defaultColumnVisibility)\n const newState = { ...columnVisibility, [columnId]: !isVisible }\n console.log('Toggling visibility for', columnId, 'to', !isVisible)\n updateColumnVisibility(newState)\n }\n\n // Toggle column pinning\n const togglePinning = (columnId: string) => {\n const newState = { ...columnPinning }\n const newVisibility = { ...columnVisibility }\n\n // If column is currently pinned, unpin it\n if (newState.left?.includes(columnId)) {\n newState.left = newState.left.filter((id) => id !== columnId)\n } else {\n // If column is currently unpinned, pin it\n newState.left = [...(newState.left || []), columnId]\n // If column is hidden, show it\n if (!checkColumnVisibility(columnVisibility, columnId, defaultColumnVisibility)) {\n newVisibility[columnId] = true\n updateColumnVisibility(newVisibility)\n }\n }\n updateColumnPinning(newState)\n }\n\n // When drag starts\n const handleDragStart = (event: DragStartEvent) => {\n const id = event.active.id as string\n setActiveId(id)\n setIsDraggingFromPinned(columnPinning.left?.includes(id) || false)\n }\n\n // Track when dragging over different sections\n const handleDragOver = (event: DragOverEvent) => {\n const { active, over } = event\n\n if (over && active.id !== over.id) {\n // Check if we're dragging a hidden column over a visible column\n const isActiveVisible = checkColumnVisibility(\n columnVisibility,\n active.id as string,\n defaultColumnVisibility,\n )\n const isOverVisible = checkColumnVisibility(\n columnVisibility,\n over.id as string,\n defaultColumnVisibility,\n )\n const isOverPinned = columnPinning.left?.includes(over.id as string) || false\n const isOverHidden = !isOverVisible\n\n setIsHiddenOverVisible(!isActiveVisible && isOverVisible && !isOverPinned)\n setIsDraggingOverPinned(isOverVisible && isOverPinned)\n setIsDraggingOverHidden(isOverHidden)\n\n // Set if we're hovering over the visible (unpinned) section\n setIsHoveringVisibleSection(isOverVisible && !isOverPinned)\n } else {\n // Reset when not over any column\n setIsHoveringVisibleSection(false)\n setIsDraggingOverHidden(false)\n }\n }\n\n // When drag ends, reset all states\n const handleDragEnd = (event: DragEndEvent) => {\n // Reset states\n setIsHiddenOverVisible(false)\n setIsDraggingOverPinned(false)\n setIsDraggingFromPinned(false)\n setIsHoveringVisibleSection(false)\n setIsDraggingOverHidden(false)\n\n const { active, over } = event\n\n if (over && active.id !== over.id) {\n // Find the dragged column and target column\n const activeColumn = [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find(\n (col) => col.value === active.id,\n )\n const overColumn = [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find(\n (col) => col.value === over.id,\n )\n\n if (activeColumn && overColumn) {\n const activeId = active.id as string\n const overId = over.id as string\n const isActiveVisible = checkColumnVisibility(\n columnVisibility,\n activeId,\n defaultColumnVisibility,\n )\n const isOverVisible = checkColumnVisibility(\n columnVisibility,\n overId,\n defaultColumnVisibility,\n )\n const isActivePinned = columnPinning.left?.includes(activeId) || false\n const isOverPinned = columnPinning.left?.includes(overId) || false\n const isOverHidden = !isOverVisible\n\n // Create a new config object that we'll update and apply at the end\n const newConfig: ColumnsConfig = {\n columnVisibility: { ...columnVisibility },\n columnOrder: [...columnOrder],\n columnPinning: { ...columnPinning },\n columnSizing: { ...columnSizing },\n groupBy,\n sorting,\n rowHeight,\n }\n\n // If we're moving a column between visible columns (including pinned)\n if (isActiveVisible && isOverVisible) {\n let newPinningLeft = [...(newConfig.columnPinning.left || [])]\n\n // Handle pinning/unpinning based on target section\n if (isActivePinned !== isOverPinned) {\n if (isActivePinned && !isOverPinned) {\n // Moving from pinned to unpinned section\n newPinningLeft = newPinningLeft.filter((id) => id !== activeId)\n } else if (!isActivePinned && isOverPinned) {\n // Moving from unpinned to pinned section\n newPinningLeft = [...newPinningLeft, activeId]\n }\n }\n\n // Update order within the appropriate section\n const allVisibleIds = [...sortedPinnedColumnsIds, ...sortedVisibleColumnsIds]\n const oldIndex = allVisibleIds.indexOf(activeId)\n const newIndex = allVisibleIds.indexOf(overId)\n\n if (oldIndex === -1 || newIndex === -1) {\n console.error('Invalid column order state')\n toast.error('Invalid column order state')\n return\n }\n\n const newOrder = arrayMove(allVisibleIds, oldIndex, newIndex)\n\n // new pinning left should be ordered by the new order\n const newPinningLeftOrdered = newOrder.filter((id) => newPinningLeft.includes(id))\n\n // Update config object\n newConfig.columnOrder = newOrder\n newConfig.columnPinning = {\n ...newConfig.columnPinning,\n left: newPinningLeftOrdered,\n }\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n\n // If we're dragging from hidden to visible\n else if (!isActiveVisible && isOverVisible) {\n // Make the column visible\n newConfig.columnVisibility[activeId] = true\n\n // If dropping into pinned section, also pin the column\n if (isOverPinned) {\n const newPinningLeft = [...(newConfig.columnPinning.left || []), activeId]\n newConfig.columnPinning.left = newPinningLeft\n }\n\n // Update order to place it near the over column\n const allVisibleIds = [...sortedPinnedColumnsIds, ...sortedVisibleColumnsIds]\n\n // Add the column to order if not already there\n if (!allVisibleIds.includes(activeId)) {\n const overIndex = allVisibleIds.indexOf(overId)\n allVisibleIds.splice(overIndex, 0, activeId)\n }\n\n newConfig.columnOrder = allVisibleIds\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n\n // If we're dragging from visible to hidden\n else if (isActiveVisible && isOverHidden) {\n // Make the active column hidden\n newConfig.columnVisibility[activeId] = false\n\n // If the column was pinned, remove it from pinned\n if (isActivePinned) {\n const newPinningLeft = (newConfig.columnPinning.left || []).filter(\n (id) => id !== activeId,\n )\n newConfig.columnPinning.left = newPinningLeft\n }\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n }\n }\n\n setActiveId(null)\n }\n\n // Find the active column for the drag overlay\n const activeColumn = activeId\n ? [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find((col) => col.value === activeId)\n : null\n\n return (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragStart={handleDragStart}\n onDragOver={handleDragOver}\n onDragEnd={handleDragEnd}\n >\n <ColumnsContainer>\n {/* Pinned Columns Section */}\n {pinnedColumns.length > 0 && (\n <Section className={isDraggingOverPinned && !isDraggingFromPinned ? 'drop-target' : ''}>\n <SectionTitle>Pinned Columns</SectionTitle>\n <SortableContext\n items={sortedPinnedColumns.map((col) => col.value)}\n strategy={verticalListSortingStrategy}\n >\n <Styled.Menu>\n {sortedPinnedColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={true}\n isHidden={false}\n isDisabled={!!groupBy && column.value === 'name'} // Disable 'name' column if grouping is enabled\n isHighlighted={highlighted === column.value}\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Styled.Menu>\n </SortableContext>\n </Section>\n )}\n\n {/* Visible Columns Section */}\n <Section\n className={\n isHiddenOverVisible || (isDraggingFromPinned && isHoveringVisibleSection)\n ? 'drop-target'\n : ''\n }\n >\n <SectionTitle>Visible Columns</SectionTitle>\n <SortableContext\n items={sortedVisibleColumns.map((col) => col.value)}\n strategy={verticalListSortingStrategy}\n >\n <Styled.Menu>\n {sortedVisibleColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={false}\n isHidden={false}\n isHighlighted={highlighted === column.value}\n isDisabled={!!groupBy && column.value === 'name'} // Disable 'name' column if grouping is enabled\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Styled.Menu>\n </SortableContext>\n </Section>\n\n {/* Hidden Columns Section */}\n {hiddenColumns.length > 0 && (\n <Section className={isDraggingOverHidden ? 'drop-target' : ''}>\n <SectionTitle>Hidden Columns</SectionTitle>\n <Styled.Menu ref={menuRef}>\n {hiddenColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={columnPinning.left?.includes(column.value) || false}\n isHidden={true}\n isHighlighted={highlighted === column.value}\n isDisabled={!!groupBy && column.value === 'name'} // Disable 'name' column if grouping is enabled\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Styled.Menu>\n </Section>\n )}\n\n {/* Drag Overlay */}\n <DragOverlay>\n {activeColumn && (\n <ColumnItem\n column={activeColumn}\n isPinned={columnPinning.left?.includes(activeColumn.value) || false}\n isHidden={\n !checkColumnVisibility(\n columnVisibility,\n activeColumn.value,\n defaultColumnVisibility,\n )\n }\n isHighlighted={highlighted === activeColumn.value}\n dragOverlay={true}\n />\n )}\n </DragOverlay>\n </ColumnsContainer>\n </DndContext>\n )\n}\n\n// Styled components\nconst ColumnsContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n`\n\nconst Section = styled.section`\n position: relative;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n transition: background-color 0.2s ease;\n border-radius: 4px;\n\n &.drop-target {\n background-color: var(--md-sys-color-surface-container);\n box-shadow: 0 0 0 1px var(--md-sys-color-outline);\n }\n`\n\nconst SectionTitle = styled.div`\n font-weight: 500;\n color: var(--md-sys-color-outline);\n padding: 4px 0;\n`\n\nexport default ColumnsSettings\n\n// Backward-compat wrapper that reads all data from ColumnSettingsContext\ntype ColumnsSettingsWithContextProps = Pick<ColumnsSettingsProps, 'columns' | 'highlighted'>\n\nexport const ColumnsSettingsWithContext: FC<ColumnsSettingsWithContextProps> = (props) => {\n const {\n columnVisibility,\n defaultColumnVisibility,\n updateColumnVisibility,\n columnPinning,\n updateColumnPinning,\n columnOrder,\n setColumnsConfig,\n columnSizing,\n groupBy,\n sorting,\n rowHeight,\n } = useColumnSettingsContext()\n\n return (\n <ColumnsSettings\n {...props}\n columnVisibility={columnVisibility}\n defaultColumnVisibility={defaultColumnVisibility}\n updateColumnVisibility={updateColumnVisibility}\n columnPinning={columnPinning}\n updateColumnPinning={updateColumnPinning}\n columnOrder={columnOrder}\n setColumnsConfig={setColumnsConfig}\n columnSizing={columnSizing}\n groupBy={groupBy}\n sorting={sorting}\n rowHeight={rowHeight}\n />\n )\n}\n"],"names":["ColumnsSettings","columns","highlighted","columnVisibility","updateColumnVisibility","columnPinning","updateColumnPinning","columnOrder","setColumnsConfig","columnSizing","groupBy","sorting","rowHeight","defaultColumnVisibility","activeId","setActiveId","useState","isHiddenOverVisible","setIsHiddenOverVisible","isDraggingOverPinned","setIsDraggingOverPinned","isDraggingFromPinned","setIsDraggingFromPinned","isHoveringVisibleSection","setIsHoveringVisibleSection","isDraggingOverHidden","setIsDraggingOverHidden","sensors","useSensors","useSensor","PointerSensor","menuRef","useRef","useEffect","highlightedElement","visibleColumns","hiddenColumns","pinnedColumns","useMemo","visible","col","checkColumnVisibility","hidden","pinned","sortedVisibleColumns","visibleCopy","a","b","indexA","indexB","sortedPinnedColumns","pinnedCopy","sortedVisibleColumnsIds","sortedPinnedColumnsIds","toggleVisibility","columnId","isVisible","newState","togglePinning","newVisibility","id","handleDragStart","event","handleDragOver","active","over","isActiveVisible","isOverVisible","isOverPinned","isOverHidden","handleDragEnd","activeColumn","overColumn","overId","isActivePinned","newConfig","newPinningLeft","allVisibleIds","oldIndex","newIndex","toast","newOrder","arrayMove","newPinningLeftOrdered","overIndex","jsx","DndContext","closestCenter","ColumnsContainer","jsxs","Section","SectionTitle","SortableContext","verticalListSortingStrategy","Styled.Menu","column","SortableColumnItem","DragOverlay","ColumnItem","styled","ColumnsSettingsWithContext","props","useColumnSettingsContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ColumnsSettings.es.js","sources":["../../../../../src/components/ProjectTableSettings/ColumnsSettings.tsx"],"sourcesContent":["// React and Styling imports\nimport { FC, useEffect, useMemo, useRef, useState } from 'react'\nimport styled from 'styled-components'\nimport * as Styled from './TableSettings.styled'\nimport {\n ColumnOrderState,\n ColumnPinningState,\n ColumnSizingState,\n SortingState,\n VisibilityState,\n} from '@tanstack/react-table'\n\n// Context and Components imports\nimport {\n ColumnsConfig,\n TableGroupBy,\n useColumnSettingsContext,\n} from '@shared/containers/ProjectTreeTable/context/ColumnSettingsContext'\nimport ColumnItem from './ColumnItem'\nimport SortableColumnItem from './SortableColumnItem'\n\n// DND (Drag and Drop) imports\nimport {\n DndContext,\n closestCenter,\n DragEndEvent,\n DragStartEvent,\n useSensor,\n useSensors,\n PointerSensor,\n DragOverlay,\n DragOverEvent,\n} from '@dnd-kit/core'\nimport { SortableContext, verticalListSortingStrategy, arrayMove } from '@dnd-kit/sortable'\n\n// Notification imports\nimport { toast } from 'react-toastify'\nimport { checkColumnVisibility } from '../../containers/ProjectTreeTable/utils'\nimport { SettingsPanelItem } from '../SettingsPanel/SettingsPanelItemTemplate'\nimport { SettingHighlightedId } from '@shared/context'\n\ninterface ColumnsSettingsProps {\n columns: SettingsPanelItem[]\n highlighted?: SettingHighlightedId\n columnVisibility: VisibilityState\n updateColumnVisibility: (visibility: VisibilityState) => void\n columnPinning: ColumnPinningState\n updateColumnPinning: (pinning: ColumnPinningState) => void\n columnOrder: ColumnOrderState\n setColumnsConfig: (config: ColumnsConfig) => void\n columnSizing: ColumnSizingState\n groupBy?: TableGroupBy\n sorting: SortingState\n rowHeight?: number\n defaultColumnVisibility?: VisibilityState\n}\n\nexport const ColumnsSettings: FC<ColumnsSettingsProps> = ({\n columns,\n highlighted,\n columnVisibility,\n updateColumnVisibility,\n columnPinning,\n updateColumnPinning,\n columnOrder,\n setColumnsConfig,\n columnSizing,\n groupBy,\n sorting,\n rowHeight,\n defaultColumnVisibility,\n}) => {\n // State for the currently dragged column\n const [activeId, setActiveId] = useState<string | null>(null)\n const [isHiddenOverVisible, setIsHiddenOverVisible] = useState(false)\n const [isDraggingOverPinned, setIsDraggingOverPinned] = useState(false)\n const [isDraggingFromPinned, setIsDraggingFromPinned] = useState(false)\n // Add a new state to track if we're hovering over the visible section\n const [isHoveringVisibleSection, setIsHoveringVisibleSection] = useState(false)\n // Add state to track if dragging over the hidden section\n const [isDraggingOverHidden, setIsDraggingOverHidden] = useState(false)\n\n // Setup sensors for dnd-kit\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: 5,\n },\n }),\n )\n\n const menuRef = useRef<HTMLUListElement | null>(null)\n\n // if highlighted is set, scroll to the highlighted column\n useEffect(() => {\n if (menuRef.current && highlighted) {\n const highlightedElement = menuRef.current.querySelector(`#column-settings-${highlighted}`)\n if (highlightedElement) {\n highlightedElement.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n })\n }\n }\n }, [highlighted])\n\n // Separate columns into visible, hidden, and pinned\n const { visibleColumns, hiddenColumns, pinnedColumns } = useMemo(() => {\n // First filter columns by visibility\n const visible = columns.filter((col) =>\n checkColumnVisibility(columnVisibility, col.value, defaultColumnVisibility),\n )\n const hidden = columns.filter(\n (col) => !checkColumnVisibility(columnVisibility, col.value, defaultColumnVisibility),\n )\n\n // Then separate out pinned columns from visible\n const pinned = visible.filter((col) => columnPinning.left?.includes(col.value))\n const unpinnedVisible = visible.filter((col) => !columnPinning.left?.includes(col.value))\n\n return {\n visibleColumns: unpinnedVisible,\n hiddenColumns: hidden,\n pinnedColumns: pinned,\n }\n }, [columns, columnVisibility, columnPinning, defaultColumnVisibility])\n\n // Sort columns based on columnOrder\n const sortedVisibleColumns = useMemo(() => {\n // Create a copy of visible columns\n const visibleCopy = [...visibleColumns]\n\n // If we have a column order, use it to sort\n if (columnOrder.length > 0) {\n visibleCopy.sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n\n // If column is not in order array, place at end\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n\n return indexA - indexB\n })\n }\n\n return visibleCopy\n }, [visibleColumns, columnOrder])\n\n // Sort pinned columns based on columnOrder\n const sortedPinnedColumns = useMemo(() => {\n // Create a copy of pinned columns\n const pinnedCopy = [...pinnedColumns]\n\n // If we have a column order, use it to sort\n if (columnOrder.length > 0) {\n pinnedCopy.sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n\n // If column is not in order array, place at end\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n\n return indexA - indexB\n })\n }\n\n return pinnedCopy\n }, [pinnedColumns, columnOrder])\n\n const sortedVisibleColumnsIds = useMemo(\n () => sortedVisibleColumns.map((col) => col.value),\n [sortedVisibleColumns],\n )\n\n const sortedPinnedColumnsIds = useMemo(\n () => sortedPinnedColumns.map((col) => col.value),\n [sortedPinnedColumns],\n )\n\n // Toggle column visibility\n const toggleVisibility = (columnId: string) => {\n const isVisible = checkColumnVisibility(columnVisibility, columnId, defaultColumnVisibility)\n const newState = { ...columnVisibility, [columnId]: !isVisible }\n console.log('Toggling visibility for', columnId, 'to', !isVisible)\n updateColumnVisibility(newState)\n }\n\n // Toggle column pinning\n const togglePinning = (columnId: string) => {\n const newState = { ...columnPinning }\n const newVisibility = { ...columnVisibility }\n\n // If column is currently pinned, unpin it\n if (newState.left?.includes(columnId)) {\n newState.left = newState.left.filter((id) => id !== columnId)\n } else {\n // If column is currently unpinned, pin it\n newState.left = [...(newState.left || []), columnId]\n // If column is hidden, show it\n if (!checkColumnVisibility(columnVisibility, columnId, defaultColumnVisibility)) {\n newVisibility[columnId] = true\n updateColumnVisibility(newVisibility)\n }\n }\n updateColumnPinning(newState)\n }\n\n // When drag starts\n const handleDragStart = (event: DragStartEvent) => {\n const id = event.active.id as string\n setActiveId(id)\n setIsDraggingFromPinned(columnPinning.left?.includes(id) || false)\n }\n\n // Track when dragging over different sections\n const handleDragOver = (event: DragOverEvent) => {\n const { active, over } = event\n\n if (over && active.id !== over.id) {\n // Check if we're dragging a hidden column over a visible column\n const isActiveVisible = checkColumnVisibility(\n columnVisibility,\n active.id as string,\n defaultColumnVisibility,\n )\n const isOverVisible = checkColumnVisibility(\n columnVisibility,\n over.id as string,\n defaultColumnVisibility,\n )\n const isOverPinned = columnPinning.left?.includes(over.id as string) || false\n const isOverHidden = !isOverVisible\n\n setIsHiddenOverVisible(!isActiveVisible && isOverVisible && !isOverPinned)\n setIsDraggingOverPinned(isOverVisible && isOverPinned)\n setIsDraggingOverHidden(isOverHidden)\n\n // Set if we're hovering over the visible (unpinned) section\n setIsHoveringVisibleSection(isOverVisible && !isOverPinned)\n } else {\n // Reset when not over any column\n setIsHoveringVisibleSection(false)\n setIsDraggingOverHidden(false)\n }\n }\n\n // When drag ends, reset all states\n const handleDragEnd = (event: DragEndEvent) => {\n // Reset states\n setIsHiddenOverVisible(false)\n setIsDraggingOverPinned(false)\n setIsDraggingFromPinned(false)\n setIsHoveringVisibleSection(false)\n setIsDraggingOverHidden(false)\n\n const { active, over } = event\n\n if (over && active.id !== over.id) {\n // Find the dragged column and target column\n const activeColumn = [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find(\n (col) => col.value === active.id,\n )\n const overColumn = [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find(\n (col) => col.value === over.id,\n )\n\n if (activeColumn && overColumn) {\n const activeId = active.id as string\n const overId = over.id as string\n const isActiveVisible = checkColumnVisibility(\n columnVisibility,\n activeId,\n defaultColumnVisibility,\n )\n const isOverVisible = checkColumnVisibility(\n columnVisibility,\n overId,\n defaultColumnVisibility,\n )\n const isActivePinned = columnPinning.left?.includes(activeId) || false\n const isOverPinned = columnPinning.left?.includes(overId) || false\n const isOverHidden = !isOverVisible\n\n // Create a new config object that we'll update and apply at the end\n const newConfig: ColumnsConfig = {\n columnVisibility: { ...columnVisibility },\n columnOrder: [...columnOrder],\n columnPinning: { ...columnPinning },\n columnSizing: { ...columnSizing },\n groupBy,\n sorting,\n rowHeight,\n }\n\n // If we're moving a column between visible columns (including pinned)\n if (isActiveVisible && isOverVisible) {\n let newPinningLeft = [...(newConfig.columnPinning.left || [])]\n\n // Handle pinning/unpinning based on target section\n if (isActivePinned !== isOverPinned) {\n if (isActivePinned && !isOverPinned) {\n // Moving from pinned to unpinned section\n newPinningLeft = newPinningLeft.filter((id) => id !== activeId)\n } else if (!isActivePinned && isOverPinned) {\n // Moving from unpinned to pinned section\n newPinningLeft = [...newPinningLeft, activeId]\n }\n }\n\n // Update order within the appropriate section\n const allVisibleIds = [...sortedPinnedColumnsIds, ...sortedVisibleColumnsIds]\n const oldIndex = allVisibleIds.indexOf(activeId)\n const newIndex = allVisibleIds.indexOf(overId)\n\n if (oldIndex === -1 || newIndex === -1) {\n console.error('Invalid column order state')\n toast.error('Invalid column order state')\n return\n }\n\n const newOrder = arrayMove(allVisibleIds, oldIndex, newIndex)\n\n // new pinning left should be ordered by the new order\n const newPinningLeftOrdered = newOrder.filter((id) => newPinningLeft.includes(id))\n\n // Update config object\n newConfig.columnOrder = newOrder\n newConfig.columnPinning = {\n ...newConfig.columnPinning,\n left: newPinningLeftOrdered,\n }\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n\n // If we're dragging from hidden to visible\n else if (!isActiveVisible && isOverVisible) {\n // Make the column visible\n newConfig.columnVisibility[activeId] = true\n\n // If dropping into pinned section, also pin the column\n if (isOverPinned) {\n const newPinningLeft = [...(newConfig.columnPinning.left || []), activeId]\n newConfig.columnPinning.left = newPinningLeft\n }\n\n // Update order to place it near the over column\n const allVisibleIds = [...sortedPinnedColumnsIds, ...sortedVisibleColumnsIds]\n\n // Add the column to order if not already there\n if (!allVisibleIds.includes(activeId)) {\n const overIndex = allVisibleIds.indexOf(overId)\n allVisibleIds.splice(overIndex, 0, activeId)\n }\n\n newConfig.columnOrder = allVisibleIds\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n\n // If we're dragging from visible to hidden\n else if (isActiveVisible && isOverHidden) {\n // Make the active column hidden\n newConfig.columnVisibility[activeId] = false\n\n // If the column was pinned, remove it from pinned\n if (isActivePinned) {\n const newPinningLeft = (newConfig.columnPinning.left || []).filter(\n (id) => id !== activeId,\n )\n newConfig.columnPinning.left = newPinningLeft\n }\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n }\n }\n\n setActiveId(null)\n }\n\n // Find the active column for the drag overlay\n const activeColumn = activeId\n ? [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find((col) => col.value === activeId)\n : null\n\n return (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragStart={handleDragStart}\n onDragOver={handleDragOver}\n onDragEnd={handleDragEnd}\n >\n <ColumnsContainer>\n {/* Pinned Columns Section */}\n {pinnedColumns.length > 0 && (\n <Section className={isDraggingOverPinned && !isDraggingFromPinned ? 'drop-target' : ''}>\n <SectionTitle>Pinned Columns</SectionTitle>\n <SortableContext\n items={sortedPinnedColumns.map((col) => col.value)}\n strategy={verticalListSortingStrategy}\n >\n <Styled.Menu>\n {sortedPinnedColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={true}\n isHidden={false}\n isDisabled={!!groupBy && column.value === 'name'} // Disable 'name' column if grouping is enabled\n isHighlighted={highlighted === column.value}\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Styled.Menu>\n </SortableContext>\n </Section>\n )}\n\n {/* Visible Columns Section */}\n <Section\n className={\n isHiddenOverVisible || (isDraggingFromPinned && isHoveringVisibleSection)\n ? 'drop-target'\n : ''\n }\n >\n <SectionTitle>Visible Columns</SectionTitle>\n <SortableContext\n items={sortedVisibleColumns.map((col) => col.value)}\n strategy={verticalListSortingStrategy}\n >\n <Styled.Menu>\n {sortedVisibleColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={false}\n isHidden={false}\n isHighlighted={highlighted === column.value}\n isDisabled={!!groupBy && column.value === 'name'} // Disable 'name' column if grouping is enabled\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Styled.Menu>\n </SortableContext>\n </Section>\n\n {/* Hidden Columns Section */}\n {hiddenColumns.length > 0 && (\n <Section className={isDraggingOverHidden ? 'drop-target' : ''}>\n <SectionTitle>Hidden Columns</SectionTitle>\n <Styled.Menu ref={menuRef}>\n {hiddenColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={columnPinning.left?.includes(column.value) || false}\n isHidden={true}\n isHighlighted={highlighted === column.value}\n isDisabled={!!groupBy && column.value === 'name'} // Disable 'name' column if grouping is enabled\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Styled.Menu>\n </Section>\n )}\n\n {/* Drag Overlay */}\n <DragOverlay>\n {activeColumn && (\n <ColumnItem\n column={activeColumn}\n isPinned={columnPinning.left?.includes(activeColumn.value) || false}\n isHidden={\n !checkColumnVisibility(\n columnVisibility,\n activeColumn.value,\n defaultColumnVisibility,\n )\n }\n isHighlighted={highlighted === activeColumn.value}\n dragOverlay={true}\n />\n )}\n </DragOverlay>\n </ColumnsContainer>\n </DndContext>\n )\n}\n\n// Styled components\nconst ColumnsContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n`\n\nconst Section = styled.section`\n position: relative;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n transition: background-color 0.2s ease;\n border-radius: 4px;\n\n &.drop-target {\n background-color: var(--md-sys-color-surface-container);\n box-shadow: 0 0 0 1px var(--md-sys-color-outline);\n }\n`\n\nconst SectionTitle = styled.div`\n font-weight: 500;\n color: var(--md-sys-color-outline);\n padding: 4px 0;\n`\n\nexport default ColumnsSettings\n\n// Backward-compat wrapper that reads all data from ColumnSettingsContext\ntype ColumnsSettingsWithContextProps = Pick<ColumnsSettingsProps, 'columns' | 'highlighted'>\n\nexport const ColumnsSettingsWithContext: FC<ColumnsSettingsWithContextProps> = (props) => {\n const {\n columnVisibility,\n defaultColumnVisibility,\n updateColumnVisibility,\n columnPinning,\n updateColumnPinning,\n columnOrder,\n setColumnsConfig,\n columnSizing,\n groupBy,\n sorting,\n rowHeight,\n } = useColumnSettingsContext()\n\n return (\n <ColumnsSettings\n {...props}\n columnVisibility={columnVisibility}\n defaultColumnVisibility={defaultColumnVisibility}\n updateColumnVisibility={updateColumnVisibility}\n columnPinning={columnPinning}\n updateColumnPinning={updateColumnPinning}\n columnOrder={columnOrder}\n setColumnsConfig={setColumnsConfig}\n columnSizing={columnSizing}\n groupBy={groupBy}\n sorting={sorting}\n rowHeight={rowHeight}\n />\n )\n}\n"],"names":["ColumnsSettings","columns","highlighted","columnVisibility","updateColumnVisibility","columnPinning","updateColumnPinning","columnOrder","setColumnsConfig","columnSizing","groupBy","sorting","rowHeight","defaultColumnVisibility","activeId","setActiveId","useState","isHiddenOverVisible","setIsHiddenOverVisible","isDraggingOverPinned","setIsDraggingOverPinned","isDraggingFromPinned","setIsDraggingFromPinned","isHoveringVisibleSection","setIsHoveringVisibleSection","isDraggingOverHidden","setIsDraggingOverHidden","sensors","useSensors","useSensor","PointerSensor","menuRef","useRef","useEffect","highlightedElement","visibleColumns","hiddenColumns","pinnedColumns","useMemo","visible","col","checkColumnVisibility","hidden","pinned","sortedVisibleColumns","visibleCopy","a","b","indexA","indexB","sortedPinnedColumns","pinnedCopy","sortedVisibleColumnsIds","sortedPinnedColumnsIds","toggleVisibility","columnId","isVisible","newState","togglePinning","newVisibility","id","handleDragStart","event","handleDragOver","active","over","isActiveVisible","isOverVisible","isOverPinned","isOverHidden","handleDragEnd","activeColumn","overColumn","overId","isActivePinned","newConfig","newPinningLeft","allVisibleIds","oldIndex","newIndex","toast","newOrder","arrayMove","newPinningLeftOrdered","overIndex","jsx","DndContext","closestCenter","ColumnsContainer","jsxs","Section","SectionTitle","SortableContext","verticalListSortingStrategy","Styled.Menu","column","SortableColumnItem","DragOverlay","ColumnItem","styled","ColumnsSettingsWithContext","props","useColumnSettingsContext"],"mappings":"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"}
|