@ynput/ayon-frontend-shared 0.2.45 → 0.3.1
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 +72 -65
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +104 -102
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +113 -4
- package/dist/Slicer.es.js.map +1 -1
- package/dist/Views.cjs.js.map +1 -1
- package/dist/Views.es.js.map +1 -1
- package/dist/_virtual/index.cjs4.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.es4.js +2 -5
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es5.js +5 -2
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +141 -139
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +61 -54
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js +5 -5
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js +313 -305
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js.map +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/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +95 -95
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
- package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.es.js +1 -1
- package/dist/shared/src/api/queries/views/updateViews.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 +57 -50
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +45 -38
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +47 -40
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +49 -42
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +44 -37
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +48 -41
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +2 -0
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -0
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +282 -0
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -0
- 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 +48 -41
- 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 +64 -57
- 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 +54 -47
- 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 +53 -46
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.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 +42 -41
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.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 +52 -45
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +2 -2
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +56 -49
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +53 -46
- 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 +54 -47
- 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 +93 -86
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +49 -42
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +68 -61
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +93 -86
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +47 -40
- package/dist/shared/src/containers/DetailsPanel/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 +46 -43
- 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 +49 -46
- 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 +49 -46
- 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 +49 -46
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.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 +50 -42
- 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 +55 -48
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
- 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 +70 -63
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.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 +47 -40
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +483 -462
- 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 +105 -98
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.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 +47 -40
- 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 +57 -50
- 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 +54 -47
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +142 -146
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.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 -68
- 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 +49 -41
- 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 +74 -67
- 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 +48 -41
- 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 +55 -48
- 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 +54 -47
- 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 +51 -44
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.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 +141 -132
- 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 +51 -44
- 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 +51 -44
- 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 +54 -47
- 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 +46 -39
- 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 +46 -39
- 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 +81 -67
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +62 -55
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js +11 -6
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +16 -13
- 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 +342 -116
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js +47 -40
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +7 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +69 -62
- 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 +51 -44
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +29 -33
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.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 +118 -111
- 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 +49 -46
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js +82 -0
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +27 -0
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +71 -0
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +10 -0
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +294 -0
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +215 -0
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +25 -0
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +28 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +304 -0
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +99 -0
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -0
- 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 +95 -88
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +32 -31
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +125 -121
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +47 -49
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +6 -5
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonContext.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.es.js +62 -49
- package/dist/shared/src/context/ProjectFoldersContext.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 +51 -44
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.es.js +7 -7
- package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.es.js +69 -46
- package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
- package/dist/shared/src/util/getGroupByDataType.cjs.js +1 -1
- package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
- package/dist/shared/src/util/getGroupByDataType.es.js +4 -4
- package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
- package/dist/types/api/queries/activities/getActivities.d.ts +1 -1
- package/dist/types/api/queries/entityLists/getLists.d.ts +183 -183
- package/dist/types/api/queries/links/getLinks.d.ts +1 -1
- package/dist/types/api/queries/overview/getOverview.d.ts +2 -1
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +2 -2
- package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +29 -0
- package/dist/types/components/RemotePage/index.d.ts +1 -0
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -0
- package/dist/types/components/index.d.ts +31 -30
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +0 -2
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +1 -4
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +4 -1
- package/dist/types/containers/ProjectTreeTable/utils/restrictedEntity.d.ts +3 -3
- package/dist/types/containers/Slicer/components/Slicer.d.ts +9 -0
- package/dist/types/containers/Slicer/components/SlicerDropdownFallback.d.ts +7 -0
- package/dist/types/containers/Slicer/components/SlicerSearch.d.ts +6 -0
- package/dist/types/containers/Slicer/context/SlicerContext.d.ts +48 -0
- package/dist/types/containers/Slicer/hooks/index.d.ts +5 -0
- package/dist/types/containers/Slicer/{useFiltersWithHierarchy.d.ts → hooks/useFiltersWithHierarchy.d.ts} +1 -1
- package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +51 -0
- package/dist/types/containers/Slicer/hooks/useSlicerAttributesData.d.ts +7 -0
- package/dist/types/containers/Slicer/hooks/useTableDataBySlice.d.ts +8 -0
- package/dist/types/containers/Slicer/hooks/useUsersTable.d.ts +10 -0
- package/dist/types/containers/Slicer/index.d.ts +4 -2
- package/dist/types/containers/Slicer/types.d.ts +35 -0
- package/dist/types/containers/Slicer/{createFilterFromSlicer.d.ts → util/createFilterFromSlicer.d.ts} +2 -2
- package/dist/types/containers/Slicer/util/index.d.ts +1 -0
- package/dist/types/containers/Views/ViewsMenuContainer/BaseViewsTags.d.ts +4 -1
- package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +7 -1
- package/dist/types/containers/Views/index.d.ts +1 -1
- package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +1 -1
- package/dist/types/context/AddonContext.d.ts +10 -1
- package/dist/types/context/AddonProjectContext.d.ts +7 -12
- package/dist/types/context/ProjectFoldersContext.d.ts +1 -0
- package/dist/types/hooks/useGroupByRemoteModules.d.ts +2 -1
- package/package.json +1 -1
- package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js.map +0 -1
- package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js.map +0 -1
- package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.cjs.js.map +0 -1
- package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.es.js.map +0 -1
- /package/dist/shared/src/containers/Slicer/{useFiltersWithHierarchy.cjs.js → hooks/useFiltersWithHierarchy.cjs.js} +0 -0
- /package/dist/shared/src/containers/Slicer/{useFiltersWithHierarchy.es.js → hooks/useFiltersWithHierarchy.es.js} +0 -0
- /package/dist/shared/src/containers/Slicer/{createFilterFromSlicer.cjs.js → util/createFilterFromSlicer.cjs.js} +0 -0
- /package/dist/shared/src/containers/Slicer/{createFilterFromSlicer.es.js → util/createFilterFromSlicer.es.js} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ee=require("../../../../../_virtual/jsx-runtime.cjs.js"),u=require("react");require("react-dom");require("../Views.styled.cjs.js");require("clsx");const re=require("../ViewsMenuContainer/ViewsMenuContainer.cjs.js"),ie=require("../../../hooks/useLocalStorage.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/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/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/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");const te=require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");const c=require("../../../api/queries/views/getViews.cjs.js"),se=require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");require("../../../context/DetailsPanelContext.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");const ue=require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");const ne=require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("@ynput/ayon-react-components");require("../ViewsMenu/ViewsMenu.cjs.js");require("uuid");const G=require("../hooks/useBuildViewMenuItems.cjs.js"),oe=require("../hooks/useBaseViewMutations.cjs.js"),qe=require("../hooks/useSaveViewFromCurrent.cjs.js"),ae=require("../hooks/useSelectedView.cjs.js"),ce=require("../hooks/useViewsMutations.cjs.js");require("../../../util/pubsub.cjs.js");const we=require("../hooks/useViewSettingsChanged.cjs.js"),O=u.createContext(null),de=({children:n,viewType:e,projectName:r,dispatch:w,debug:S})=>{let{powerLicense:d}=ue.usePowerpack();S?.powerLicense!==void 0&&(console.warn("Using debug power license:",S.powerLicense),d=S.powerLicense);const{user:h}=ne.useGlobalContext(),[Q,v]=u.useState(!1),[o,p]=u.useState(null),R="viewsMenuCollapsed",[C,D]=ie.useLocalStorage(R,{}),F=i=>{const g=i.visibility==="private"?"myViews":"sharedViews";if(C[g]){const E={...C};E[g]=!1,D(E)}},{data:U}=te.useGetShareOptionsQuery({projectName:r},{skip:!d||!o}),[s,q,k]=ae.useSelectedView({viewType:e,projectName:r}),[_,V]=we.useViewSettingsChanged({viewType:e}),{currentData:I=[],isLoading:m}=c.useListViewsQuery({projectName:r,viewType:e},{skip:!e}),a=u.useMemo(()=>I.filter(i=>i.label!==G.BASE_VIEW_ID),[I]),{onCreateView:y,onDeleteView:K,onUpdateView:l,onResetWorkingView:M}=ce.useViewsMutations({viewType:e,projectName:r,viewsList:a,onCreate:F}),{currentData:t}=c.useGetWorkingViewQuery({projectName:r,viewType:e},{skip:!e}),{currentData:A}=c.useGetBaseViewQuery({projectName:r,viewType:e},{skip:!e}),{currentData:z}=c.useGetBaseViewQuery({projectName:void 0,viewType:e},{skip:!e}),f=t?.settings,L=!s||s.id===re.WORKING_VIEW_ID?f:s?.settings,B=s?.id===t?.id,W=_&&B&&k&&k!==t?.id?k:void 0,{currentData:x,isFetching:H}=c.useGetViewQuery({viewId:o,projectName:P(o,a)?void 0:r,viewType:e},{skip:typeof o!="string"||!d}),J=u.useMemo(()=>o===x?.id?x:void 0,[o,x]),{onSaveViewFromCurrent:X}=qe.useSaveViewFromCurrent({viewType:e,projectName:r,viewsList:a,sourceSettings:L,onUpdateView:l}),{onCreateBaseView:Y,onUpdateBaseView:Z,onDeleteBaseView:$}=oe.useBaseViewMutations({viewType:e,projectName:r,workingSettings:f,dispatch:w}),j=u.useCallback(async(i,{selectView:g}={})=>{if(!t?.id){console.error("No working view to update");return}await l(t.id,i,!r),g&&q(t.id)},[l,t]),b=u.useCallback(async()=>{try{await M({existingWorkingViewId:t?.id,selectedViewId:s?.id,setSelectedView:q,setSettingsChanged:V,notify:!0})}catch(i){console.error("Failed to reset view:",i)}},[t,M,s,q,V]),N=G.default({viewsList:a,workingView:t,viewType:e,projectName:r,currentUser:h,useWorkingView:!d,editingViewId:W,selectedId:s?.id,collapsed:C,setCollapsed:D,onResetWorkingView:b,onSelect:i=>{q(i),V(!1),v(!1)},onEdit:i=>p(i),onSave:async i=>X(i)}),T={viewType:e,projectName:r,isMenuOpen:Q,editingView:o,currentUser:h,selectedView:s,viewSettings:L,editingViewData:J,isLoadingEditingViewData:H,viewsList:a,workingSettings:f,workingView:t,isViewWorking:B,onUpdateWorkingView:j,projectBaseView:A,studioBaseView:z,onCreateBaseView:Y,onUpdateBaseView:Z,onDeleteBaseView:$,editingViewId:W,viewMenuItems:N,isLoadingViews:m,shareOptions:U,setIsMenuOpen:v,setEditingView:p,setSelectedView:q,onSettingsChanged:V,onCreateView:y,onUpdateView:l,onDeleteView:K,resetWorkingView:b,api:se.viewsQueries,dispatch:w};return ee.jsxRuntimeExports.jsx(O.Provider,{value:T,children:n})},Ve=()=>{const n=u.useContext(O);if(!n)throw new Error("useViewsContext must be used within a ViewsProvider");return n},P=(n,e)=>n?e.find(w=>w.id===n)?.scope==="studio":!0;exports.ViewsProvider=de;exports.isViewStudioScope=P;exports.useViewsContext=Ve;
|
|
2
2
|
//# sourceMappingURL=ViewsContext.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewsContext.cjs.js","sources":["../../../../../../src/containers/Views/context/ViewsContext.tsx"],"sourcesContent":["import { createContext, useContext, FC, ReactNode, useState, useMemo, useCallback } from 'react'\nimport { ViewType, viewTypes, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n useGetBaseViewQuery,\n} from '@shared/api'\nimport useBuildViewMenuItems, { BASE_VIEW_ID } from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { useGlobalContext, usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useBaseViewMutations } from '../hooks/useBaseViewMutations'\nimport { useSaveViewFromCurrent } from '../hooks/useSaveViewFromCurrent'\nimport { useViewSettingsChanged } from '../hooks/useViewSettingsChanged'\nimport { useLocalStorage } from '@shared/hooks'\n\nexport type ViewData = GetDefaultViewApiResponse\nexport type ViewSettings = GetDefaultViewApiResponse['settings']\nexport type SelectedViewState = ViewData | undefined // id of view otherwise null with use working\nexport type EditingViewState = string | true | null // id of view being edited otherwise null\n\nexport type CollapsedViewState = Record<string, boolean>\n\nexport interface ViewsContextValue {\n // State\n viewType?: ViewType\n projectName?: string\n currentUser?: UserModel\n isMenuOpen: boolean\n editingView: EditingViewState\n selectedView: SelectedViewState\n\n // Views data\n viewsList: ViewListItemModel[]\n viewSettings: ViewSettings | undefined\n // Working view\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n isViewWorking: boolean\n onUpdateWorkingView: (\n payload: Partial<ViewData>,\n options?: { selectView?: boolean },\n ) => Promise<void>\n // base views\n projectBaseView: ViewListItemModel | undefined\n studioBaseView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: boolean\n\n // Data\n shareOptions?: ShareOption[] // available users to share with (undefined means loading)\n\n // Actions\n setIsMenuOpen: (open: boolean) => void\n setEditingView: (editing: EditingViewState) => void\n setSelectedView: (viewId: string) => void\n onSettingsChanged: (changed: boolean) => void\n\n // Mutations\n onCreateView: UseViewMutations['onCreateView']\n onDeleteView: UseViewMutations['onDeleteView']\n onUpdateView: UseViewMutations['onUpdateView']\n\n // Base view mutations\n onCreateBaseView: (isStudioScope: boolean) => Promise<void>\n onUpdateBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onDeleteBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n\n // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any // dispatch is used to dispatch api mutations in pp like the share one.\n}\n\nconst ViewsContext = createContext<ViewsContextValue | null>(null)\n\nexport interface ViewsProviderProps {\n children: ReactNode\n viewType?: string\n projectName?: string\n dispatch?: any\n debug?: {\n powerLicense?: boolean\n }\n}\n\nexport const ViewsProvider: FC<ViewsProviderProps> = ({\n children,\n viewType: viewTypeProp,\n projectName,\n dispatch,\n debug,\n}) => {\n // validate viewType\n const viewType = viewTypes.includes(viewTypeProp as ViewType)\n ? (viewTypeProp as ViewType)\n : undefined\n\n let { powerLicense } = usePowerpack()\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n powerLicense = debug.powerLicense\n }\n\n const { user: currentUser } = useGlobalContext()\n\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [editingView, setEditingView] = useState<EditingViewState>(null)\n // Collapsed state persisted globally across all viewTypes and projects\n const stateKey = 'viewsMenuCollapsed'\n\n const [collapsedSections, setCollapsedSections] = useLocalStorage<CollapsedViewState>(\n stateKey,\n {},\n )\n\n // anything extra to do when a view is created successfully\n const handleOnViewCreated = (view: ViewData) => {\n const key = view.visibility === 'private' ? 'myViews' : 'sharedViews'\n // if the section is collapsed, expand it\n if (collapsedSections[key]) {\n const newCollapsedSections = { ...collapsedSections }\n newCollapsedSections[key] = false\n setCollapsedSections(newCollapsedSections)\n }\n }\n\n // when editing the view, get all users that can be shared to that view\n const { data: shareOptions } = useGetShareOptionsQuery(\n { projectName },\n { skip: !powerLicense || !editingView },\n )\n\n // setting of default views\n const [selectedView, setSelectedView, previousSelectedViewId] = useSelectedView({\n viewType: viewType as string,\n projectName: projectName,\n })\n\n const [viewSettingsChanged, setViewSettingsChanged] = useViewSettingsChanged({\n viewType: viewType as ViewType,\n })\n\n // Fetch views data and filter out base views\n const { currentData: viewsListRaw = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // Filter out base views from the list\n const viewsList = useMemo(\n () => viewsListRaw.filter((view) => view.label !== BASE_VIEW_ID),\n [viewsListRaw],\n )\n\n const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n viewsList,\n onCreate: handleOnViewCreated,\n })\n\n // always get your working view\n const { currentData: workingView } = useGetWorkingViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // Fetch both project and studio base views\n const { currentData: projectBaseView } = useGetBaseViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n const { currentData: studioBaseView } = useGetBaseViewQuery(\n { projectName: undefined, viewType: viewType as string },\n { skip: !viewType },\n )\n\n const workingSettings = workingView?.settings\n\n // which settings to use for the view\n const viewSettings =\n !selectedView || selectedView.id === WORKING_VIEW_ID ? workingSettings : selectedView?.settings\n\n // is the working view selected?\n const isViewWorking = selectedView?.id === workingView?.id\n // were we just on a custom view and then edited it and ended up on the working view\n const editingViewId =\n viewSettingsChanged &&\n isViewWorking &&\n !!previousSelectedViewId &&\n previousSelectedViewId !== workingView?.id\n ? previousSelectedViewId\n : undefined\n\n // get data for the view we are editing\n const { currentData: editingViewDataData, isFetching: isLoadingEditingViewData } =\n useGetViewQuery(\n {\n viewId: editingView as string,\n projectName: isViewStudioScope(editingView as string, viewsList) ? undefined : projectName,\n viewType: viewType as string,\n },\n { skip: !(typeof editingView === 'string') || !powerLicense },\n )\n\n const editingViewData = useMemo(\n () => (editingView === editingViewDataData?.id ? editingViewDataData : undefined),\n [editingView, editingViewDataData],\n )\n\n const { onSaveViewFromCurrent } = useSaveViewFromCurrent({\n viewType: viewType,\n projectName,\n viewsList,\n sourceSettings: viewSettings,\n onUpdateView: onUpdateView,\n })\n\n // Base view mutations\n const { onCreateBaseView, onUpdateBaseView, onDeleteBaseView } = useBaseViewMutations({\n viewType: viewType as string,\n projectName,\n workingSettings,\n dispatch,\n })\n\n const onUpdateWorkingView = useCallback(\n async (payload: Partial<ViewData>, { selectView }: { selectView?: boolean } = {}) => {\n if (!workingView?.id) {\n console.error('No working view to update')\n return\n }\n await onUpdateView(workingView.id, payload, !projectName)\n if (selectView) {\n setSelectedView(workingView.id)\n }\n },\n [onUpdateView, workingView],\n )\n\n // Reset working view to default (empty) settings\n const resetWorkingView = useCallback(async () => {\n try {\n await onResetWorkingView({\n existingWorkingViewId: workingView?.id,\n selectedViewId: selectedView?.id,\n setSelectedView,\n setSettingsChanged: setViewSettingsChanged,\n notify: true,\n })\n } catch (error) {\n console.error('Failed to reset view:', error)\n }\n }, [workingView, onResetWorkingView, selectedView, setSelectedView, setViewSettingsChanged])\n\n // build the menu items for the views\n const viewMenuItems = useBuildViewMenuItems({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView: !powerLicense,\n editingViewId,\n selectedId: selectedView?.id,\n collapsed: collapsedSections,\n setCollapsed: setCollapsedSections,\n onResetWorkingView: resetWorkingView,\n onSelect: (viewId) => {\n setSelectedView(viewId)\n // reset the settings changed state when switching views\n setViewSettingsChanged(false)\n // close the menu when selecting a view\n setIsMenuOpen(false)\n },\n onEdit: (viewId) => setEditingView(viewId),\n onSave: async (viewId) => onSaveViewFromCurrent(viewId),\n })\n\n const value: ViewsContextValue = {\n viewType,\n projectName,\n isMenuOpen,\n editingView,\n currentUser,\n selectedView,\n viewSettings,\n editingViewData,\n isLoadingEditingViewData,\n viewsList,\n // Working view\n workingSettings,\n workingView,\n isViewWorking,\n onUpdateWorkingView,\n // base views\n projectBaseView,\n studioBaseView,\n // base view mutations\n onCreateBaseView,\n onUpdateBaseView,\n onDeleteBaseView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n // data\n shareOptions,\n setIsMenuOpen,\n setEditingView,\n setSelectedView,\n onSettingsChanged: setViewSettingsChanged,\n // mutations\n onCreateView,\n onUpdateView,\n onDeleteView,\n // shared actions\n resetWorkingView,\n // api\n api: viewsQueries,\n dispatch,\n }\n\n return <ViewsContext.Provider value={value}>{children}</ViewsContext.Provider>\n}\n\nexport const useViewsContext = (): ViewsContextValue => {\n const context = useContext(ViewsContext)\n if (!context) {\n throw new Error('useViewsContext must be used within a ViewsProvider')\n }\n return context\n}\n\nexport const isViewStudioScope = (viewId: string | undefined, viewsList: ViewListItemModel[]) => {\n if (!viewId) return true\n const view = viewsList.find((v) => v.id === viewId)\n return view?.scope === 'studio'\n}\n"],"names":["ViewsContext","createContext","ViewsProvider","children","viewTypeProp","projectName","dispatch","debug","viewType","viewTypes","powerLicense","usePowerpack","currentUser","useGlobalContext","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsListRaw","isLoadingViews","useListViewsQuery","viewsList","useMemo","BASE_VIEW_ID","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","workingView","useGetWorkingViewQuery","projectBaseView","useGetBaseViewQuery","studioBaseView","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","onSaveViewFromCurrent","useSaveViewFromCurrent","onCreateBaseView","onUpdateBaseView","onDeleteBaseView","useBaseViewMutations","onUpdateWorkingView","useCallback","payload","selectView","resetWorkingView","error","viewMenuItems","useBuildViewMenuItems","viewId","value","viewsQueries","jsx","useViewsContext","context","useContext","v"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ViewsContext.cjs.js","sources":["../../../../../../src/containers/Views/context/ViewsContext.tsx"],"sourcesContent":["import { createContext, useContext, FC, ReactNode, useState, useMemo, useCallback } from 'react'\nimport { ViewType, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n useGetBaseViewQuery,\n} from '@shared/api'\nimport useBuildViewMenuItems, { BASE_VIEW_ID } from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { useGlobalContext, usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useBaseViewMutations } from '../hooks/useBaseViewMutations'\nimport { useSaveViewFromCurrent } from '../hooks/useSaveViewFromCurrent'\nimport { useViewSettingsChanged } from '../hooks/useViewSettingsChanged'\nimport { useLocalStorage } from '@shared/hooks'\n\nexport type ViewData = GetDefaultViewApiResponse\nexport type ViewSettings = GetDefaultViewApiResponse['settings']\nexport type SelectedViewState = ViewData | undefined // id of view otherwise null with use working\nexport type EditingViewState = string | true | null // id of view being edited otherwise null\n\nexport type CollapsedViewState = Record<string, boolean>\n\nexport interface ViewsContextValue {\n // State\n viewType?: ViewType\n projectName?: string\n currentUser?: UserModel\n isMenuOpen: boolean\n editingView: EditingViewState\n selectedView: SelectedViewState\n\n // Views data\n viewsList: ViewListItemModel[]\n viewSettings: ViewSettings | undefined\n // Working view\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n isViewWorking: boolean\n onUpdateWorkingView: (\n payload: Partial<ViewData>,\n options?: { selectView?: boolean },\n ) => Promise<void>\n // base views\n projectBaseView: ViewListItemModel | undefined\n studioBaseView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: boolean\n\n // Data\n shareOptions?: ShareOption[] // available users to share with (undefined means loading)\n\n // Actions\n setIsMenuOpen: (open: boolean) => void\n setEditingView: (editing: EditingViewState) => void\n setSelectedView: (viewId: string) => void\n onSettingsChanged: (changed: boolean) => void\n\n // Mutations\n onCreateView: UseViewMutations['onCreateView']\n onDeleteView: UseViewMutations['onDeleteView']\n onUpdateView: UseViewMutations['onUpdateView']\n\n // Base view mutations\n onCreateBaseView: (isStudioScope: boolean) => Promise<void>\n onUpdateBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onDeleteBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n\n // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any // dispatch is used to dispatch api mutations in pp like the share one.\n}\n\nconst ViewsContext = createContext<ViewsContextValue | null>(null)\n\nexport interface ViewsProviderProps {\n children: ReactNode\n viewType?: string\n projectName?: string\n dispatch?: any\n debug?: {\n powerLicense?: boolean\n }\n}\n\nexport const ViewsProvider: FC<ViewsProviderProps> = ({\n children,\n viewType,\n projectName,\n dispatch,\n debug,\n}) => {\n let { powerLicense } = usePowerpack()\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n powerLicense = debug.powerLicense\n }\n\n const { user: currentUser } = useGlobalContext()\n\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [editingView, setEditingView] = useState<EditingViewState>(null)\n // Collapsed state persisted globally across all viewTypes and projects\n const stateKey = 'viewsMenuCollapsed'\n\n const [collapsedSections, setCollapsedSections] = useLocalStorage<CollapsedViewState>(\n stateKey,\n {},\n )\n\n // anything extra to do when a view is created successfully\n const handleOnViewCreated = (view: ViewData) => {\n const key = view.visibility === 'private' ? 'myViews' : 'sharedViews'\n // if the section is collapsed, expand it\n if (collapsedSections[key]) {\n const newCollapsedSections = { ...collapsedSections }\n newCollapsedSections[key] = false\n setCollapsedSections(newCollapsedSections)\n }\n }\n\n // when editing the view, get all users that can be shared to that view\n const { data: shareOptions } = useGetShareOptionsQuery(\n { projectName },\n { skip: !powerLicense || !editingView },\n )\n\n // setting of default views\n const [selectedView, setSelectedView, previousSelectedViewId] = useSelectedView({\n viewType: viewType as string,\n projectName: projectName,\n })\n\n const [viewSettingsChanged, setViewSettingsChanged] = useViewSettingsChanged({\n viewType: viewType as ViewType,\n })\n\n // Fetch views data and filter out base views\n const { currentData: viewsListRaw = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // Filter out base views from the list\n const viewsList = useMemo(\n () => viewsListRaw.filter((view) => view.label !== BASE_VIEW_ID),\n [viewsListRaw],\n )\n\n const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n viewsList,\n onCreate: handleOnViewCreated,\n })\n\n // always get your working view\n const { currentData: workingView } = useGetWorkingViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // Fetch both project and studio base views\n const { currentData: projectBaseView } = useGetBaseViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n const { currentData: studioBaseView } = useGetBaseViewQuery(\n { projectName: undefined, viewType: viewType as string },\n { skip: !viewType },\n )\n\n const workingSettings = workingView?.settings\n\n // which settings to use for the view\n const viewSettings =\n !selectedView || selectedView.id === WORKING_VIEW_ID ? workingSettings : selectedView?.settings\n\n // is the working view selected?\n const isViewWorking = selectedView?.id === workingView?.id\n // were we just on a custom view and then edited it and ended up on the working view\n const editingViewId =\n viewSettingsChanged &&\n isViewWorking &&\n !!previousSelectedViewId &&\n previousSelectedViewId !== workingView?.id\n ? previousSelectedViewId\n : undefined\n\n // get data for the view we are editing\n const { currentData: editingViewDataData, isFetching: isLoadingEditingViewData } =\n useGetViewQuery(\n {\n viewId: editingView as string,\n projectName: isViewStudioScope(editingView as string, viewsList) ? undefined : projectName,\n viewType: viewType as string,\n },\n { skip: !(typeof editingView === 'string') || !powerLicense },\n )\n\n const editingViewData = useMemo(\n () => (editingView === editingViewDataData?.id ? editingViewDataData : undefined),\n [editingView, editingViewDataData],\n )\n\n const { onSaveViewFromCurrent } = useSaveViewFromCurrent({\n viewType: viewType,\n projectName,\n viewsList,\n sourceSettings: viewSettings,\n onUpdateView: onUpdateView,\n })\n\n // Base view mutations\n const { onCreateBaseView, onUpdateBaseView, onDeleteBaseView } = useBaseViewMutations({\n viewType: viewType as string,\n projectName,\n workingSettings,\n dispatch,\n })\n\n const onUpdateWorkingView = useCallback(\n async (payload: Partial<ViewData>, { selectView }: { selectView?: boolean } = {}) => {\n if (!workingView?.id) {\n console.error('No working view to update')\n return\n }\n await onUpdateView(workingView.id, payload, !projectName)\n if (selectView) {\n setSelectedView(workingView.id)\n }\n },\n [onUpdateView, workingView],\n )\n\n // Reset working view to default (empty) settings\n const resetWorkingView = useCallback(async () => {\n try {\n await onResetWorkingView({\n existingWorkingViewId: workingView?.id,\n selectedViewId: selectedView?.id,\n setSelectedView,\n setSettingsChanged: setViewSettingsChanged,\n notify: true,\n })\n } catch (error) {\n console.error('Failed to reset view:', error)\n }\n }, [workingView, onResetWorkingView, selectedView, setSelectedView, setViewSettingsChanged])\n\n // build the menu items for the views\n const viewMenuItems = useBuildViewMenuItems({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView: !powerLicense,\n editingViewId,\n selectedId: selectedView?.id,\n collapsed: collapsedSections,\n setCollapsed: setCollapsedSections,\n onResetWorkingView: resetWorkingView,\n onSelect: (viewId) => {\n setSelectedView(viewId)\n // reset the settings changed state when switching views\n setViewSettingsChanged(false)\n // close the menu when selecting a view\n setIsMenuOpen(false)\n },\n onEdit: (viewId) => setEditingView(viewId),\n onSave: async (viewId) => onSaveViewFromCurrent(viewId),\n })\n\n const value: ViewsContextValue = {\n viewType,\n projectName,\n isMenuOpen,\n editingView,\n currentUser,\n selectedView,\n viewSettings,\n editingViewData,\n isLoadingEditingViewData,\n viewsList,\n // Working view\n workingSettings,\n workingView,\n isViewWorking,\n onUpdateWorkingView,\n // base views\n projectBaseView,\n studioBaseView,\n // base view mutations\n onCreateBaseView,\n onUpdateBaseView,\n onDeleteBaseView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n // data\n shareOptions,\n setIsMenuOpen,\n setEditingView,\n setSelectedView,\n onSettingsChanged: setViewSettingsChanged,\n // mutations\n onCreateView,\n onUpdateView,\n onDeleteView,\n // shared actions\n resetWorkingView,\n // api\n api: viewsQueries,\n dispatch,\n }\n\n return <ViewsContext.Provider value={value}>{children}</ViewsContext.Provider>\n}\n\nexport const useViewsContext = (): ViewsContextValue => {\n const context = useContext(ViewsContext)\n if (!context) {\n throw new Error('useViewsContext must be used within a ViewsProvider')\n }\n return context\n}\n\nexport const isViewStudioScope = (viewId: string | undefined, viewsList: ViewListItemModel[]) => {\n if (!viewId) return true\n const view = viewsList.find((v) => v.id === viewId)\n return view?.scope === 'studio'\n}\n"],"names":["ViewsContext","createContext","ViewsProvider","children","viewType","projectName","dispatch","debug","powerLicense","usePowerpack","currentUser","useGlobalContext","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsListRaw","isLoadingViews","useListViewsQuery","viewsList","useMemo","BASE_VIEW_ID","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","workingView","useGetWorkingViewQuery","projectBaseView","useGetBaseViewQuery","studioBaseView","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","onSaveViewFromCurrent","useSaveViewFromCurrent","onCreateBaseView","onUpdateBaseView","onDeleteBaseView","useBaseViewMutations","onUpdateWorkingView","useCallback","payload","selectView","resetWorkingView","error","viewMenuItems","useBuildViewMenuItems","viewId","value","viewsQueries","jsx","useViewsContext","context","useContext","v"],"mappings":"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"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { createContext as
|
|
3
|
-
import
|
|
1
|
+
import { j as tt } from "../../../../../_virtual/jsx-runtime.es.js";
|
|
2
|
+
import { createContext as it, useState as M, useMemo as G, useCallback as O, useContext as ot } from "react";
|
|
3
|
+
import "react-dom";
|
|
4
|
+
import "../Views.styled.es.js";
|
|
5
|
+
import "clsx";
|
|
6
|
+
import { WORKING_VIEW_ID as et } from "../ViewsMenuContainer/ViewsMenuContainer.es.js";
|
|
7
|
+
import { useLocalStorage as rt } from "../../../hooks/useLocalStorage.es.js";
|
|
8
|
+
import "../../../context/RemoteModulesContext.es.js";
|
|
9
|
+
import "../../../../../_virtual/runtime.es.js";
|
|
10
|
+
import "../../../../../_virtual/semver.es.js";
|
|
4
11
|
import "../../../api/base/client.es.js";
|
|
5
12
|
import "../../../api/generated/graphql.es.js";
|
|
6
13
|
import "../../../api/generated/graphqlLinks.es.js";
|
|
@@ -75,173 +82,170 @@ import "../../../api/queries/project/getProject.es.js";
|
|
|
75
82
|
import "../../../api/queries/project/updateProject.es.js";
|
|
76
83
|
import "../../../api/queries/review/getReview.es.js";
|
|
77
84
|
import "../../../api/queries/review/updateReview.es.js";
|
|
78
|
-
import { useGetShareOptionsQuery as
|
|
85
|
+
import { useGetShareOptionsQuery as st } from "../../../api/queries/share/share.es.js";
|
|
79
86
|
import "../../../api/queries/system/getSystem.es.js";
|
|
80
87
|
import "../../../api/queries/userDashboard/getUserDashboard.es.js";
|
|
81
88
|
import "../../../api/queries/users/getUsers.es.js";
|
|
82
89
|
import "../../../api/queries/users/updateUsers.es.js";
|
|
83
90
|
import "../../../api/queries/users/guests.es.js";
|
|
84
91
|
import "../../../api/queries/versions/updateVersions.es.js";
|
|
85
|
-
import { useListViewsQuery as
|
|
86
|
-
import { viewsQueries as
|
|
92
|
+
import { useListViewsQuery as nt, useGetWorkingViewQuery as mt, useGetBaseViewQuery as Q, useGetViewQuery as pt } from "../../../api/queries/views/getViews.es.js";
|
|
93
|
+
import { viewsQueries as at } from "../../../api/queries/views/updateViews.es.js";
|
|
87
94
|
import "../../../api/queries/watchers/getWatchers.es.js";
|
|
88
95
|
import "../../../api/queries/uris/getUris.es.js";
|
|
89
|
-
import
|
|
90
|
-
import "
|
|
96
|
+
import "lodash";
|
|
97
|
+
import "react-toastify";
|
|
91
98
|
import "../../../context/DetailsPanelContext.es.js";
|
|
92
99
|
import "../../../context/ThumbnailUploaderContext.es.js";
|
|
93
100
|
import "../../../context/SettingsPanelContext.es.js";
|
|
94
101
|
import "../../../context/pip/PiPProvider.es.js";
|
|
95
|
-
import "react-dom";
|
|
96
102
|
import "../../../context/pip/PiPWrapper.es.js";
|
|
97
103
|
import "../../../context/AddonProjectContext.es.js";
|
|
98
104
|
import "../../../context/AddonContext.es.js";
|
|
99
|
-
import { usePowerpack as
|
|
105
|
+
import { usePowerpack as ct } from "../../../context/PowerpackContext.es.js";
|
|
100
106
|
import "../../../context/MoveEntityContext.es.js";
|
|
101
107
|
import "../../../context/MenuContext.es.js";
|
|
102
108
|
import "../../../context/WebsocketContext.es.js";
|
|
103
|
-
import { useGlobalContext as
|
|
109
|
+
import { useGlobalContext as dt } from "../../../context/GlobalContext.es.js";
|
|
104
110
|
import "../../../context/ProjectContext.es.js";
|
|
105
111
|
import "../../../context/ProjectFoldersContext.es.js";
|
|
106
112
|
import "../../../context/UriContext.es.js";
|
|
107
|
-
import { useSelectedView as Vi } from "../hooks/useSelectedView.es.js";
|
|
108
|
-
import { useViewsMutations as li } from "../hooks/useViewsMutations.es.js";
|
|
109
|
-
import { useBaseViewMutations as gi } from "../hooks/useBaseViewMutations.es.js";
|
|
110
|
-
import { useSaveViewFromCurrent as fi } from "../hooks/useSaveViewFromCurrent.es.js";
|
|
111
|
-
import { useViewSettingsChanged as vi } from "../hooks/useViewSettingsChanged.es.js";
|
|
112
|
-
import { useLocalStorage as Si } from "../../../hooks/useLocalStorage.es.js";
|
|
113
|
-
import "../../../../../_virtual/runtime.es.js";
|
|
114
|
-
import "../../../../../_virtual/semver.es.js";
|
|
115
|
-
import "lodash";
|
|
116
|
-
import "react-toastify";
|
|
117
113
|
import "react-redux";
|
|
118
114
|
import "custom-protocol-check";
|
|
119
115
|
import "../../ProjectTreeTable/components/GroupSettingsFallback.es.js";
|
|
120
|
-
import
|
|
121
|
-
|
|
116
|
+
import "@ynput/ayon-react-components";
|
|
117
|
+
import "../ViewsMenu/ViewsMenu.es.js";
|
|
118
|
+
import "uuid";
|
|
119
|
+
import ut, { BASE_VIEW_ID as wt } from "../hooks/useBuildViewMenuItems.es.js";
|
|
120
|
+
import { useBaseViewMutations as Vt } from "../hooks/useBaseViewMutations.es.js";
|
|
121
|
+
import { useSaveViewFromCurrent as lt } from "../hooks/useSaveViewFromCurrent.es.js";
|
|
122
|
+
import { useSelectedView as gt } from "../hooks/useSelectedView.es.js";
|
|
123
|
+
import { useViewsMutations as ft } from "../hooks/useViewsMutations.es.js";
|
|
124
|
+
import "../../../util/pubsub.es.js";
|
|
125
|
+
import { useViewSettingsChanged as St } from "../hooks/useViewSettingsChanged.es.js";
|
|
126
|
+
const R = it(null), Po = ({
|
|
122
127
|
children: s,
|
|
123
|
-
viewType:
|
|
124
|
-
projectName:
|
|
125
|
-
dispatch:
|
|
126
|
-
debug:
|
|
128
|
+
viewType: t,
|
|
129
|
+
projectName: i,
|
|
130
|
+
dispatch: a,
|
|
131
|
+
debug: V
|
|
127
132
|
}) => {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
const { user: C } = ui(), [U, k] = M(!1), [p, y] = M(null), b = "viewsMenuCollapsed", [g, D] = Si(
|
|
133
|
+
let { powerLicense: c } = ct();
|
|
134
|
+
V?.powerLicense !== void 0 && (console.warn("Using debug power license:", V.powerLicense), c = V.powerLicense);
|
|
135
|
+
const { user: C } = dt(), [U, k] = M(!1), [n, D] = M(null), b = "viewsMenuCollapsed", [l, I] = rt(
|
|
132
136
|
b,
|
|
133
137
|
{}
|
|
134
|
-
), F = (
|
|
135
|
-
const
|
|
136
|
-
if (
|
|
137
|
-
const E = { ...
|
|
138
|
-
E[
|
|
138
|
+
), F = (o) => {
|
|
139
|
+
const w = o.visibility === "private" ? "myViews" : "sharedViews";
|
|
140
|
+
if (l[w]) {
|
|
141
|
+
const E = { ...l };
|
|
142
|
+
E[w] = !1, I(E);
|
|
139
143
|
}
|
|
140
|
-
}, { data:
|
|
141
|
-
{ projectName:
|
|
142
|
-
{ skip: !c || !
|
|
143
|
-
), [r,
|
|
144
|
-
viewType:
|
|
145
|
-
projectName:
|
|
146
|
-
}), [
|
|
147
|
-
viewType:
|
|
148
|
-
}), { currentData:
|
|
149
|
-
{ projectName:
|
|
150
|
-
{ skip: !
|
|
151
|
-
),
|
|
152
|
-
() =>
|
|
153
|
-
[
|
|
154
|
-
), { onCreateView: K, onDeleteView:
|
|
155
|
-
viewType:
|
|
156
|
-
projectName:
|
|
157
|
-
viewsList:
|
|
144
|
+
}, { data: P } = st(
|
|
145
|
+
{ projectName: i },
|
|
146
|
+
{ skip: !c || !n }
|
|
147
|
+
), [r, m, g] = gt({
|
|
148
|
+
viewType: t,
|
|
149
|
+
projectName: i
|
|
150
|
+
}), [_, d] = St({
|
|
151
|
+
viewType: t
|
|
152
|
+
}), { currentData: h = [], isLoading: A } = nt(
|
|
153
|
+
{ projectName: i, viewType: t },
|
|
154
|
+
{ skip: !t }
|
|
155
|
+
), p = G(
|
|
156
|
+
() => h.filter((o) => o.label !== wt),
|
|
157
|
+
[h]
|
|
158
|
+
), { onCreateView: K, onDeleteView: q, onUpdateView: u, onResetWorkingView: x } = ft({
|
|
159
|
+
viewType: t,
|
|
160
|
+
projectName: i,
|
|
161
|
+
viewsList: p,
|
|
158
162
|
onCreate: F
|
|
159
|
-
}), { currentData:
|
|
160
|
-
{ projectName:
|
|
161
|
-
{ skip: !
|
|
162
|
-
), { currentData:
|
|
163
|
-
{ projectName:
|
|
164
|
-
{ skip: !
|
|
163
|
+
}), { currentData: e } = mt(
|
|
164
|
+
{ projectName: i, viewType: t },
|
|
165
|
+
{ skip: !t }
|
|
166
|
+
), { currentData: y } = Q(
|
|
167
|
+
{ projectName: i, viewType: t },
|
|
168
|
+
{ skip: !t }
|
|
165
169
|
), { currentData: z } = Q(
|
|
166
|
-
{ projectName: void 0, viewType:
|
|
167
|
-
{ skip: !
|
|
168
|
-
),
|
|
170
|
+
{ projectName: void 0, viewType: t },
|
|
171
|
+
{ skip: !t }
|
|
172
|
+
), f = e?.settings, v = !r || r.id === et ? f : r?.settings, L = r?.id === e?.id, W = _ && L && g && g !== e?.id ? g : void 0, { currentData: S, isFetching: H } = pt(
|
|
169
173
|
{
|
|
170
|
-
viewId:
|
|
171
|
-
projectName:
|
|
172
|
-
viewType:
|
|
174
|
+
viewId: n,
|
|
175
|
+
projectName: Ct(n, p) ? void 0 : i,
|
|
176
|
+
viewType: t
|
|
173
177
|
},
|
|
174
|
-
{ skip: typeof
|
|
178
|
+
{ skip: typeof n != "string" || !c }
|
|
175
179
|
), J = G(
|
|
176
|
-
() =>
|
|
177
|
-
[
|
|
178
|
-
), { onSaveViewFromCurrent: X } =
|
|
179
|
-
viewType:
|
|
180
|
-
projectName:
|
|
181
|
-
viewsList:
|
|
182
|
-
sourceSettings:
|
|
180
|
+
() => n === S?.id ? S : void 0,
|
|
181
|
+
[n, S]
|
|
182
|
+
), { onSaveViewFromCurrent: X } = lt({
|
|
183
|
+
viewType: t,
|
|
184
|
+
projectName: i,
|
|
185
|
+
viewsList: p,
|
|
186
|
+
sourceSettings: v,
|
|
183
187
|
onUpdateView: u
|
|
184
|
-
}), { onCreateBaseView: Y, onUpdateBaseView: Z, onDeleteBaseView: $ } =
|
|
185
|
-
viewType:
|
|
186
|
-
projectName:
|
|
187
|
-
workingSettings:
|
|
188
|
-
dispatch:
|
|
188
|
+
}), { onCreateBaseView: Y, onUpdateBaseView: Z, onDeleteBaseView: $ } = Vt({
|
|
189
|
+
viewType: t,
|
|
190
|
+
projectName: i,
|
|
191
|
+
workingSettings: f,
|
|
192
|
+
dispatch: a
|
|
189
193
|
}), j = O(
|
|
190
|
-
async (
|
|
191
|
-
if (!
|
|
194
|
+
async (o, { selectView: w } = {}) => {
|
|
195
|
+
if (!e?.id) {
|
|
192
196
|
console.error("No working view to update");
|
|
193
197
|
return;
|
|
194
198
|
}
|
|
195
|
-
await u(
|
|
199
|
+
await u(e.id, o, !i), w && m(e.id);
|
|
196
200
|
},
|
|
197
|
-
[u,
|
|
201
|
+
[u, e]
|
|
198
202
|
), B = O(async () => {
|
|
199
203
|
try {
|
|
200
|
-
await
|
|
201
|
-
existingWorkingViewId:
|
|
204
|
+
await x({
|
|
205
|
+
existingWorkingViewId: e?.id,
|
|
202
206
|
selectedViewId: r?.id,
|
|
203
|
-
setSelectedView:
|
|
207
|
+
setSelectedView: m,
|
|
204
208
|
setSettingsChanged: d,
|
|
205
209
|
notify: !0
|
|
206
210
|
});
|
|
207
|
-
} catch (
|
|
208
|
-
console.error("Failed to reset view:",
|
|
211
|
+
} catch (o) {
|
|
212
|
+
console.error("Failed to reset view:", o);
|
|
209
213
|
}
|
|
210
|
-
}, [
|
|
211
|
-
viewsList:
|
|
212
|
-
workingView:
|
|
213
|
-
viewType:
|
|
214
|
-
projectName:
|
|
214
|
+
}, [e, x, r, m, d]), N = ut({
|
|
215
|
+
viewsList: p,
|
|
216
|
+
workingView: e,
|
|
217
|
+
viewType: t,
|
|
218
|
+
projectName: i,
|
|
215
219
|
currentUser: C,
|
|
216
220
|
useWorkingView: !c,
|
|
217
221
|
editingViewId: W,
|
|
218
222
|
selectedId: r?.id,
|
|
219
|
-
collapsed:
|
|
220
|
-
setCollapsed:
|
|
223
|
+
collapsed: l,
|
|
224
|
+
setCollapsed: I,
|
|
221
225
|
onResetWorkingView: B,
|
|
222
|
-
onSelect: (
|
|
223
|
-
|
|
226
|
+
onSelect: (o) => {
|
|
227
|
+
m(o), d(!1), k(!1);
|
|
224
228
|
},
|
|
225
|
-
onEdit: (
|
|
226
|
-
onSave: async (
|
|
227
|
-
}),
|
|
228
|
-
viewType:
|
|
229
|
-
projectName:
|
|
229
|
+
onEdit: (o) => D(o),
|
|
230
|
+
onSave: async (o) => X(o)
|
|
231
|
+
}), T = {
|
|
232
|
+
viewType: t,
|
|
233
|
+
projectName: i,
|
|
230
234
|
isMenuOpen: U,
|
|
231
|
-
editingView:
|
|
235
|
+
editingView: n,
|
|
232
236
|
currentUser: C,
|
|
233
237
|
selectedView: r,
|
|
234
|
-
viewSettings:
|
|
238
|
+
viewSettings: v,
|
|
235
239
|
editingViewData: J,
|
|
236
240
|
isLoadingEditingViewData: H,
|
|
237
|
-
viewsList:
|
|
241
|
+
viewsList: p,
|
|
238
242
|
// Working view
|
|
239
|
-
workingSettings:
|
|
240
|
-
workingView:
|
|
243
|
+
workingSettings: f,
|
|
244
|
+
workingView: e,
|
|
241
245
|
isViewWorking: L,
|
|
242
246
|
onUpdateWorkingView: j,
|
|
243
247
|
// base views
|
|
244
|
-
projectBaseView:
|
|
248
|
+
projectBaseView: y,
|
|
245
249
|
studioBaseView: z,
|
|
246
250
|
// base view mutations
|
|
247
251
|
onCreateBaseView: Y,
|
|
@@ -251,31 +255,31 @@ const R = ei(null), Qe = ({
|
|
|
251
255
|
viewMenuItems: N,
|
|
252
256
|
isLoadingViews: A,
|
|
253
257
|
// data
|
|
254
|
-
shareOptions:
|
|
258
|
+
shareOptions: P,
|
|
255
259
|
setIsMenuOpen: k,
|
|
256
|
-
setEditingView:
|
|
257
|
-
setSelectedView:
|
|
260
|
+
setEditingView: D,
|
|
261
|
+
setSelectedView: m,
|
|
258
262
|
onSettingsChanged: d,
|
|
259
263
|
// mutations
|
|
260
264
|
onCreateView: K,
|
|
261
265
|
onUpdateView: u,
|
|
262
|
-
onDeleteView:
|
|
266
|
+
onDeleteView: q,
|
|
263
267
|
// shared actions
|
|
264
268
|
resetWorkingView: B,
|
|
265
269
|
// api
|
|
266
|
-
api:
|
|
267
|
-
dispatch:
|
|
270
|
+
api: at,
|
|
271
|
+
dispatch: a
|
|
268
272
|
};
|
|
269
|
-
return /* @__PURE__ */
|
|
270
|
-
},
|
|
271
|
-
const s =
|
|
273
|
+
return /* @__PURE__ */ tt.jsx(R.Provider, { value: T, children: s });
|
|
274
|
+
}, _o = () => {
|
|
275
|
+
const s = ot(R);
|
|
272
276
|
if (!s)
|
|
273
277
|
throw new Error("useViewsContext must be used within a ViewsProvider");
|
|
274
278
|
return s;
|
|
275
|
-
},
|
|
279
|
+
}, Ct = (s, t) => s ? t.find((a) => a.id === s)?.scope === "studio" : !0;
|
|
276
280
|
export {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
281
|
+
Po as ViewsProvider,
|
|
282
|
+
Ct as isViewStudioScope,
|
|
283
|
+
_o as useViewsContext
|
|
280
284
|
};
|
|
281
285
|
//# sourceMappingURL=ViewsContext.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewsContext.es.js","sources":["../../../../../../src/containers/Views/context/ViewsContext.tsx"],"sourcesContent":["import { createContext, useContext, FC, ReactNode, useState, useMemo, useCallback } from 'react'\nimport { ViewType, viewTypes, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n useGetBaseViewQuery,\n} from '@shared/api'\nimport useBuildViewMenuItems, { BASE_VIEW_ID } from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { useGlobalContext, usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useBaseViewMutations } from '../hooks/useBaseViewMutations'\nimport { useSaveViewFromCurrent } from '../hooks/useSaveViewFromCurrent'\nimport { useViewSettingsChanged } from '../hooks/useViewSettingsChanged'\nimport { useLocalStorage } from '@shared/hooks'\n\nexport type ViewData = GetDefaultViewApiResponse\nexport type ViewSettings = GetDefaultViewApiResponse['settings']\nexport type SelectedViewState = ViewData | undefined // id of view otherwise null with use working\nexport type EditingViewState = string | true | null // id of view being edited otherwise null\n\nexport type CollapsedViewState = Record<string, boolean>\n\nexport interface ViewsContextValue {\n // State\n viewType?: ViewType\n projectName?: string\n currentUser?: UserModel\n isMenuOpen: boolean\n editingView: EditingViewState\n selectedView: SelectedViewState\n\n // Views data\n viewsList: ViewListItemModel[]\n viewSettings: ViewSettings | undefined\n // Working view\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n isViewWorking: boolean\n onUpdateWorkingView: (\n payload: Partial<ViewData>,\n options?: { selectView?: boolean },\n ) => Promise<void>\n // base views\n projectBaseView: ViewListItemModel | undefined\n studioBaseView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: boolean\n\n // Data\n shareOptions?: ShareOption[] // available users to share with (undefined means loading)\n\n // Actions\n setIsMenuOpen: (open: boolean) => void\n setEditingView: (editing: EditingViewState) => void\n setSelectedView: (viewId: string) => void\n onSettingsChanged: (changed: boolean) => void\n\n // Mutations\n onCreateView: UseViewMutations['onCreateView']\n onDeleteView: UseViewMutations['onDeleteView']\n onUpdateView: UseViewMutations['onUpdateView']\n\n // Base view mutations\n onCreateBaseView: (isStudioScope: boolean) => Promise<void>\n onUpdateBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onDeleteBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n\n // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any // dispatch is used to dispatch api mutations in pp like the share one.\n}\n\nconst ViewsContext = createContext<ViewsContextValue | null>(null)\n\nexport interface ViewsProviderProps {\n children: ReactNode\n viewType?: string\n projectName?: string\n dispatch?: any\n debug?: {\n powerLicense?: boolean\n }\n}\n\nexport const ViewsProvider: FC<ViewsProviderProps> = ({\n children,\n viewType: viewTypeProp,\n projectName,\n dispatch,\n debug,\n}) => {\n // validate viewType\n const viewType = viewTypes.includes(viewTypeProp as ViewType)\n ? (viewTypeProp as ViewType)\n : undefined\n\n let { powerLicense } = usePowerpack()\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n powerLicense = debug.powerLicense\n }\n\n const { user: currentUser } = useGlobalContext()\n\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [editingView, setEditingView] = useState<EditingViewState>(null)\n // Collapsed state persisted globally across all viewTypes and projects\n const stateKey = 'viewsMenuCollapsed'\n\n const [collapsedSections, setCollapsedSections] = useLocalStorage<CollapsedViewState>(\n stateKey,\n {},\n )\n\n // anything extra to do when a view is created successfully\n const handleOnViewCreated = (view: ViewData) => {\n const key = view.visibility === 'private' ? 'myViews' : 'sharedViews'\n // if the section is collapsed, expand it\n if (collapsedSections[key]) {\n const newCollapsedSections = { ...collapsedSections }\n newCollapsedSections[key] = false\n setCollapsedSections(newCollapsedSections)\n }\n }\n\n // when editing the view, get all users that can be shared to that view\n const { data: shareOptions } = useGetShareOptionsQuery(\n { projectName },\n { skip: !powerLicense || !editingView },\n )\n\n // setting of default views\n const [selectedView, setSelectedView, previousSelectedViewId] = useSelectedView({\n viewType: viewType as string,\n projectName: projectName,\n })\n\n const [viewSettingsChanged, setViewSettingsChanged] = useViewSettingsChanged({\n viewType: viewType as ViewType,\n })\n\n // Fetch views data and filter out base views\n const { currentData: viewsListRaw = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // Filter out base views from the list\n const viewsList = useMemo(\n () => viewsListRaw.filter((view) => view.label !== BASE_VIEW_ID),\n [viewsListRaw],\n )\n\n const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n viewsList,\n onCreate: handleOnViewCreated,\n })\n\n // always get your working view\n const { currentData: workingView } = useGetWorkingViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // Fetch both project and studio base views\n const { currentData: projectBaseView } = useGetBaseViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n const { currentData: studioBaseView } = useGetBaseViewQuery(\n { projectName: undefined, viewType: viewType as string },\n { skip: !viewType },\n )\n\n const workingSettings = workingView?.settings\n\n // which settings to use for the view\n const viewSettings =\n !selectedView || selectedView.id === WORKING_VIEW_ID ? workingSettings : selectedView?.settings\n\n // is the working view selected?\n const isViewWorking = selectedView?.id === workingView?.id\n // were we just on a custom view and then edited it and ended up on the working view\n const editingViewId =\n viewSettingsChanged &&\n isViewWorking &&\n !!previousSelectedViewId &&\n previousSelectedViewId !== workingView?.id\n ? previousSelectedViewId\n : undefined\n\n // get data for the view we are editing\n const { currentData: editingViewDataData, isFetching: isLoadingEditingViewData } =\n useGetViewQuery(\n {\n viewId: editingView as string,\n projectName: isViewStudioScope(editingView as string, viewsList) ? undefined : projectName,\n viewType: viewType as string,\n },\n { skip: !(typeof editingView === 'string') || !powerLicense },\n )\n\n const editingViewData = useMemo(\n () => (editingView === editingViewDataData?.id ? editingViewDataData : undefined),\n [editingView, editingViewDataData],\n )\n\n const { onSaveViewFromCurrent } = useSaveViewFromCurrent({\n viewType: viewType,\n projectName,\n viewsList,\n sourceSettings: viewSettings,\n onUpdateView: onUpdateView,\n })\n\n // Base view mutations\n const { onCreateBaseView, onUpdateBaseView, onDeleteBaseView } = useBaseViewMutations({\n viewType: viewType as string,\n projectName,\n workingSettings,\n dispatch,\n })\n\n const onUpdateWorkingView = useCallback(\n async (payload: Partial<ViewData>, { selectView }: { selectView?: boolean } = {}) => {\n if (!workingView?.id) {\n console.error('No working view to update')\n return\n }\n await onUpdateView(workingView.id, payload, !projectName)\n if (selectView) {\n setSelectedView(workingView.id)\n }\n },\n [onUpdateView, workingView],\n )\n\n // Reset working view to default (empty) settings\n const resetWorkingView = useCallback(async () => {\n try {\n await onResetWorkingView({\n existingWorkingViewId: workingView?.id,\n selectedViewId: selectedView?.id,\n setSelectedView,\n setSettingsChanged: setViewSettingsChanged,\n notify: true,\n })\n } catch (error) {\n console.error('Failed to reset view:', error)\n }\n }, [workingView, onResetWorkingView, selectedView, setSelectedView, setViewSettingsChanged])\n\n // build the menu items for the views\n const viewMenuItems = useBuildViewMenuItems({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView: !powerLicense,\n editingViewId,\n selectedId: selectedView?.id,\n collapsed: collapsedSections,\n setCollapsed: setCollapsedSections,\n onResetWorkingView: resetWorkingView,\n onSelect: (viewId) => {\n setSelectedView(viewId)\n // reset the settings changed state when switching views\n setViewSettingsChanged(false)\n // close the menu when selecting a view\n setIsMenuOpen(false)\n },\n onEdit: (viewId) => setEditingView(viewId),\n onSave: async (viewId) => onSaveViewFromCurrent(viewId),\n })\n\n const value: ViewsContextValue = {\n viewType,\n projectName,\n isMenuOpen,\n editingView,\n currentUser,\n selectedView,\n viewSettings,\n editingViewData,\n isLoadingEditingViewData,\n viewsList,\n // Working view\n workingSettings,\n workingView,\n isViewWorking,\n onUpdateWorkingView,\n // base views\n projectBaseView,\n studioBaseView,\n // base view mutations\n onCreateBaseView,\n onUpdateBaseView,\n onDeleteBaseView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n // data\n shareOptions,\n setIsMenuOpen,\n setEditingView,\n setSelectedView,\n onSettingsChanged: setViewSettingsChanged,\n // mutations\n onCreateView,\n onUpdateView,\n onDeleteView,\n // shared actions\n resetWorkingView,\n // api\n api: viewsQueries,\n dispatch,\n }\n\n return <ViewsContext.Provider value={value}>{children}</ViewsContext.Provider>\n}\n\nexport const useViewsContext = (): ViewsContextValue => {\n const context = useContext(ViewsContext)\n if (!context) {\n throw new Error('useViewsContext must be used within a ViewsProvider')\n }\n return context\n}\n\nexport const isViewStudioScope = (viewId: string | undefined, viewsList: ViewListItemModel[]) => {\n if (!viewId) return true\n const view = viewsList.find((v) => v.id === viewId)\n return view?.scope === 'studio'\n}\n"],"names":["ViewsContext","createContext","ViewsProvider","children","viewTypeProp","projectName","dispatch","debug","viewType","viewTypes","powerLicense","usePowerpack","currentUser","useGlobalContext","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsListRaw","isLoadingViews","useListViewsQuery","viewsList","useMemo","BASE_VIEW_ID","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","workingView","useGetWorkingViewQuery","projectBaseView","useGetBaseViewQuery","studioBaseView","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","onSaveViewFromCurrent","useSaveViewFromCurrent","onCreateBaseView","onUpdateBaseView","onDeleteBaseView","useBaseViewMutations","onUpdateWorkingView","useCallback","payload","selectView","resetWorkingView","error","viewMenuItems","useBuildViewMenuItems","viewId","value","viewsQueries","jsx","useViewsContext","context","useContext","v"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ViewsContext.es.js","sources":["../../../../../../src/containers/Views/context/ViewsContext.tsx"],"sourcesContent":["import { createContext, useContext, FC, ReactNode, useState, useMemo, useCallback } from 'react'\nimport { ViewType, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n useGetBaseViewQuery,\n} from '@shared/api'\nimport useBuildViewMenuItems, { BASE_VIEW_ID } from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { useGlobalContext, usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useBaseViewMutations } from '../hooks/useBaseViewMutations'\nimport { useSaveViewFromCurrent } from '../hooks/useSaveViewFromCurrent'\nimport { useViewSettingsChanged } from '../hooks/useViewSettingsChanged'\nimport { useLocalStorage } from '@shared/hooks'\n\nexport type ViewData = GetDefaultViewApiResponse\nexport type ViewSettings = GetDefaultViewApiResponse['settings']\nexport type SelectedViewState = ViewData | undefined // id of view otherwise null with use working\nexport type EditingViewState = string | true | null // id of view being edited otherwise null\n\nexport type CollapsedViewState = Record<string, boolean>\n\nexport interface ViewsContextValue {\n // State\n viewType?: ViewType\n projectName?: string\n currentUser?: UserModel\n isMenuOpen: boolean\n editingView: EditingViewState\n selectedView: SelectedViewState\n\n // Views data\n viewsList: ViewListItemModel[]\n viewSettings: ViewSettings | undefined\n // Working view\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n isViewWorking: boolean\n onUpdateWorkingView: (\n payload: Partial<ViewData>,\n options?: { selectView?: boolean },\n ) => Promise<void>\n // base views\n projectBaseView: ViewListItemModel | undefined\n studioBaseView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: boolean\n\n // Data\n shareOptions?: ShareOption[] // available users to share with (undefined means loading)\n\n // Actions\n setIsMenuOpen: (open: boolean) => void\n setEditingView: (editing: EditingViewState) => void\n setSelectedView: (viewId: string) => void\n onSettingsChanged: (changed: boolean) => void\n\n // Mutations\n onCreateView: UseViewMutations['onCreateView']\n onDeleteView: UseViewMutations['onDeleteView']\n onUpdateView: UseViewMutations['onUpdateView']\n\n // Base view mutations\n onCreateBaseView: (isStudioScope: boolean) => Promise<void>\n onUpdateBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onDeleteBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n\n // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any // dispatch is used to dispatch api mutations in pp like the share one.\n}\n\nconst ViewsContext = createContext<ViewsContextValue | null>(null)\n\nexport interface ViewsProviderProps {\n children: ReactNode\n viewType?: string\n projectName?: string\n dispatch?: any\n debug?: {\n powerLicense?: boolean\n }\n}\n\nexport const ViewsProvider: FC<ViewsProviderProps> = ({\n children,\n viewType,\n projectName,\n dispatch,\n debug,\n}) => {\n let { powerLicense } = usePowerpack()\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n powerLicense = debug.powerLicense\n }\n\n const { user: currentUser } = useGlobalContext()\n\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [editingView, setEditingView] = useState<EditingViewState>(null)\n // Collapsed state persisted globally across all viewTypes and projects\n const stateKey = 'viewsMenuCollapsed'\n\n const [collapsedSections, setCollapsedSections] = useLocalStorage<CollapsedViewState>(\n stateKey,\n {},\n )\n\n // anything extra to do when a view is created successfully\n const handleOnViewCreated = (view: ViewData) => {\n const key = view.visibility === 'private' ? 'myViews' : 'sharedViews'\n // if the section is collapsed, expand it\n if (collapsedSections[key]) {\n const newCollapsedSections = { ...collapsedSections }\n newCollapsedSections[key] = false\n setCollapsedSections(newCollapsedSections)\n }\n }\n\n // when editing the view, get all users that can be shared to that view\n const { data: shareOptions } = useGetShareOptionsQuery(\n { projectName },\n { skip: !powerLicense || !editingView },\n )\n\n // setting of default views\n const [selectedView, setSelectedView, previousSelectedViewId] = useSelectedView({\n viewType: viewType as string,\n projectName: projectName,\n })\n\n const [viewSettingsChanged, setViewSettingsChanged] = useViewSettingsChanged({\n viewType: viewType as ViewType,\n })\n\n // Fetch views data and filter out base views\n const { currentData: viewsListRaw = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // Filter out base views from the list\n const viewsList = useMemo(\n () => viewsListRaw.filter((view) => view.label !== BASE_VIEW_ID),\n [viewsListRaw],\n )\n\n const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n viewsList,\n onCreate: handleOnViewCreated,\n })\n\n // always get your working view\n const { currentData: workingView } = useGetWorkingViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // Fetch both project and studio base views\n const { currentData: projectBaseView } = useGetBaseViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n const { currentData: studioBaseView } = useGetBaseViewQuery(\n { projectName: undefined, viewType: viewType as string },\n { skip: !viewType },\n )\n\n const workingSettings = workingView?.settings\n\n // which settings to use for the view\n const viewSettings =\n !selectedView || selectedView.id === WORKING_VIEW_ID ? workingSettings : selectedView?.settings\n\n // is the working view selected?\n const isViewWorking = selectedView?.id === workingView?.id\n // were we just on a custom view and then edited it and ended up on the working view\n const editingViewId =\n viewSettingsChanged &&\n isViewWorking &&\n !!previousSelectedViewId &&\n previousSelectedViewId !== workingView?.id\n ? previousSelectedViewId\n : undefined\n\n // get data for the view we are editing\n const { currentData: editingViewDataData, isFetching: isLoadingEditingViewData } =\n useGetViewQuery(\n {\n viewId: editingView as string,\n projectName: isViewStudioScope(editingView as string, viewsList) ? undefined : projectName,\n viewType: viewType as string,\n },\n { skip: !(typeof editingView === 'string') || !powerLicense },\n )\n\n const editingViewData = useMemo(\n () => (editingView === editingViewDataData?.id ? editingViewDataData : undefined),\n [editingView, editingViewDataData],\n )\n\n const { onSaveViewFromCurrent } = useSaveViewFromCurrent({\n viewType: viewType,\n projectName,\n viewsList,\n sourceSettings: viewSettings,\n onUpdateView: onUpdateView,\n })\n\n // Base view mutations\n const { onCreateBaseView, onUpdateBaseView, onDeleteBaseView } = useBaseViewMutations({\n viewType: viewType as string,\n projectName,\n workingSettings,\n dispatch,\n })\n\n const onUpdateWorkingView = useCallback(\n async (payload: Partial<ViewData>, { selectView }: { selectView?: boolean } = {}) => {\n if (!workingView?.id) {\n console.error('No working view to update')\n return\n }\n await onUpdateView(workingView.id, payload, !projectName)\n if (selectView) {\n setSelectedView(workingView.id)\n }\n },\n [onUpdateView, workingView],\n )\n\n // Reset working view to default (empty) settings\n const resetWorkingView = useCallback(async () => {\n try {\n await onResetWorkingView({\n existingWorkingViewId: workingView?.id,\n selectedViewId: selectedView?.id,\n setSelectedView,\n setSettingsChanged: setViewSettingsChanged,\n notify: true,\n })\n } catch (error) {\n console.error('Failed to reset view:', error)\n }\n }, [workingView, onResetWorkingView, selectedView, setSelectedView, setViewSettingsChanged])\n\n // build the menu items for the views\n const viewMenuItems = useBuildViewMenuItems({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView: !powerLicense,\n editingViewId,\n selectedId: selectedView?.id,\n collapsed: collapsedSections,\n setCollapsed: setCollapsedSections,\n onResetWorkingView: resetWorkingView,\n onSelect: (viewId) => {\n setSelectedView(viewId)\n // reset the settings changed state when switching views\n setViewSettingsChanged(false)\n // close the menu when selecting a view\n setIsMenuOpen(false)\n },\n onEdit: (viewId) => setEditingView(viewId),\n onSave: async (viewId) => onSaveViewFromCurrent(viewId),\n })\n\n const value: ViewsContextValue = {\n viewType,\n projectName,\n isMenuOpen,\n editingView,\n currentUser,\n selectedView,\n viewSettings,\n editingViewData,\n isLoadingEditingViewData,\n viewsList,\n // Working view\n workingSettings,\n workingView,\n isViewWorking,\n onUpdateWorkingView,\n // base views\n projectBaseView,\n studioBaseView,\n // base view mutations\n onCreateBaseView,\n onUpdateBaseView,\n onDeleteBaseView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n // data\n shareOptions,\n setIsMenuOpen,\n setEditingView,\n setSelectedView,\n onSettingsChanged: setViewSettingsChanged,\n // mutations\n onCreateView,\n onUpdateView,\n onDeleteView,\n // shared actions\n resetWorkingView,\n // api\n api: viewsQueries,\n dispatch,\n }\n\n return <ViewsContext.Provider value={value}>{children}</ViewsContext.Provider>\n}\n\nexport const useViewsContext = (): ViewsContextValue => {\n const context = useContext(ViewsContext)\n if (!context) {\n throw new Error('useViewsContext must be used within a ViewsProvider')\n }\n return context\n}\n\nexport const isViewStudioScope = (viewId: string | undefined, viewsList: ViewListItemModel[]) => {\n if (!viewId) return true\n const view = viewsList.find((v) => v.id === viewId)\n return view?.scope === 'studio'\n}\n"],"names":["ViewsContext","createContext","ViewsProvider","children","viewType","projectName","dispatch","debug","powerLicense","usePowerpack","currentUser","useGlobalContext","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsListRaw","isLoadingViews","useListViewsQuery","viewsList","useMemo","BASE_VIEW_ID","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","workingView","useGetWorkingViewQuery","projectBaseView","useGetBaseViewQuery","studioBaseView","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","onSaveViewFromCurrent","useSaveViewFromCurrent","onCreateBaseView","onUpdateBaseView","onDeleteBaseView","useBaseViewMutations","onUpdateWorkingView","useCallback","payload","selectView","resetWorkingView","error","viewMenuItems","useBuildViewMenuItems","viewId","value","viewsQueries","jsx","useViewsContext","context","useContext","v"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("lodash");require("react-toastify");require("uuid");const i=require("../../../../util/columnConfigConverter.cjs.js");require("../../../../util/pubsub.cjs.js");const r=require("react"),L=({viewSettings:t,updateViewSettings:o})=>{const[f,y]=r.useState(null),[m,s]=r.useState(null),[v,c]=r.useState(null),a=t,d=a?.filter??{},g=a?.showHierarchy??!0,O=r.useMemo(()=>i.convertColumnConfigToTanstackStates(a),[JSON.stringify(t)]);r.useEffect(()=>{y(null),s(null),c(null)},[JSON.stringify(t)]);const k=f!==null?f:d,F=m!==null?m:g,n=v||O,T=r.useCallback(async e=>{await o({filter:e},y,e,{errorMessage:"Failed to update filter settings"})},[o]),p=r.useCallback(async e=>{if(e&&n?.groupBy){const l={...n,groupBy:void 0};c(l);const u=i.convertTanstackStatesToColumnConfig(l);await o({...u,showHierarchy:!0},s,e,{errorMessage:"Failed to update hierarchy setting"});return}await o({showHierarchy:e},s,e,{errorMessage:"Failed to update hierarchy setting"})},[o,n]),q=r.useCallback(async(e,l)=>{const u=l||[...e.columnOrder||[],...Object.keys(e.columnVisibility||{}),...e.columnPinning?.left||[],...e.columnPinning?.right||[]].filter(Boolean).filter((H,M,B)=>B.indexOf(H)===M),C=i.convertTanstackStatesToColumnConfig(e,u),h=!!e.groupBy;h&&s(!1),await o(h?{...C,showHierarchy:!1}:C,c,e,{errorMessage:"Failed to update columns"})},[o]);return{filters:k,onUpdateFilters:T,showHierarchy:F,onUpdateHierarchy:p,columns:n,onUpdateColumns:q}};exports.useOverviewViewSettings=L;
|
|
2
2
|
//# sourceMappingURL=useOverviewViewSettings.cjs.js.map
|