@ynput/ayon-frontend-shared 0.2.26 → 0.2.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +25 -22
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/Views.cjs.js +1 -1
- package/dist/Views.cjs.js.map +1 -1
- package/dist/Views.es.js +13 -11
- package/dist/Views.es.js.map +1 -1
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +153 -151
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +62 -51
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +12 -6
- package/dist/index.es.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
- package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/users.es.js.map +1 -1
- package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/views.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +142 -117
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js +110 -95
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +21 -17
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/components/AccessUser/AccessUser.cjs.js +2 -0
- package/dist/shared/src/components/AccessUser/AccessUser.cjs.js.map +1 -0
- package/dist/shared/src/components/AccessUser/AccessUser.es.js +33 -0
- package/dist/shared/src/components/AccessUser/AccessUser.es.js.map +1 -0
- package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js +42 -0
- package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js +46 -0
- package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js.map +1 -0
- package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js +34 -0
- package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js.map +1 -0
- package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js +46 -0
- package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +20 -10
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +81 -67
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +59 -52
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +5 -2
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +5 -2
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +5 -2
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +2 -0
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -0
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +205 -0
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -0
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +2 -0
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -0
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +25 -0
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +3 -3
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +5 -5
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +5 -2
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js +9 -0
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js.map +1 -0
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js +25 -0
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +7 -4
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +18 -21
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +5 -2
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -3
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +5 -2
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js +2 -0
- package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js.map +1 -0
- package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js +17 -0
- package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js.map +1 -0
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +5 -2
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +5 -2
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +5 -2
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +5 -2
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +146 -157
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +7 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +13 -6
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +6 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +5 -2
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +5 -2
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +5 -2
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +5 -2
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +413 -396
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +104 -25
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +131 -52
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +136 -129
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +16 -53
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +100 -120
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +7 -3
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +12 -8
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +250 -235
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +24 -21
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +10 -10
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +13 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +65 -60
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +16 -13
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js +41 -14
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +7 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +110 -104
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +8 -8
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +44 -43
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +7 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -2
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +118 -103
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +16 -4
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +13 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +62 -50
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js +2 -0
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js +64 -0
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js.map +1 -0
- package/dist/shared/src/context/MenuContext.cjs.js +2 -0
- package/dist/shared/src/context/MenuContext.cjs.js.map +1 -0
- package/dist/shared/src/context/MenuContext.es.js +28 -0
- package/dist/shared/src/context/MenuContext.es.js.map +1 -0
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +20 -15
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +19 -19
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +2 -0
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/Menu.es.js +55 -0
- package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js +254 -0
- package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js +265 -0
- package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js +2 -0
- package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js +80 -0
- package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +2 -0
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +59 -0
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +2 -0
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js +112 -0
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js +2 -0
- package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js +35 -0
- package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js.map +1 -0
- package/dist/types/api/generated/entityLists.d.ts +8 -8
- package/dist/types/api/generated/users.d.ts +18 -14
- package/dist/types/api/generated/views.d.ts +47 -9
- package/dist/types/api/queries/entityLists/getLists.d.ts +133 -0
- package/dist/types/api/queries/entityLists/types.d.ts +2 -1
- package/dist/types/api/queries/permissions/getPermissions.d.ts +22 -22
- package/dist/types/api/queries/users/getUsers.d.ts +132 -0
- package/dist/types/api/queries/users/updateUsers.d.ts +3 -3
- package/dist/types/components/AccessUser/AccessUser.d.ts +22 -0
- package/dist/types/components/AccessUser/AccessUser.styled.d.ts +1 -0
- package/dist/types/components/AccessUser/index.d.ts +1 -0
- package/dist/types/components/DetailsMetaData/DetailsMetaData.d.ts +8 -0
- package/dist/types/components/DetailsMetaData/index.d.ts +1 -0
- package/dist/types/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.d.ts +4 -0
- package/dist/types/components/ListAttributeForm/ListAttributeForm.d.ts +13 -0
- package/dist/types/components/ListAttributeForm/index.d.ts +1 -0
- package/dist/types/components/ListMetaData/ListMetaData.d.ts +8 -0
- package/dist/types/components/ListMetaData/index.d.ts +1 -0
- package/dist/types/components/Powerpack/RequiredPowerpackVersion.d.ts +5 -0
- package/dist/types/components/Powerpack/index.d.ts +1 -0
- package/dist/types/components/ShareOptionIcon/ShareOptionIcon.d.ts +10 -0
- package/dist/types/components/ShareOptionIcon/index.d.ts +2 -0
- package/dist/types/components/index.d.ts +4 -0
- package/dist/types/containers/DetailsPanel/DetailsPanel.styled.d.ts +7 -0
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +3 -1
- package/dist/types/containers/ProjectTreeTable/components/ColumnHeaderMenu.d.ts +4 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardTypes.d.ts +3 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useAttributesList.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/utils/getReadOnlyLists.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/widgets/BooleanWidget.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/widgets/EnumCellValue.d.ts +2 -2
- package/dist/types/containers/SimpleTable/SimpleTable.d.ts +3 -0
- package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +5 -1
- package/dist/types/containers/Views/hooks/pages/useReportsViewSettings.d.ts +11 -0
- package/dist/types/containers/Views/index.d.ts +6 -2
- package/dist/types/context/MenuContext.d.ts +12 -0
- package/dist/types/context/PowerpackContext.d.ts +1 -1
- package/dist/types/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleTable.styled.es.js","sources":["../../../../../src/containers/SimpleTable/SimpleTable.styled.ts"],"sourcesContent":["import { Button, theme } from '@ynput/ayon-react-components'\nimport styled from 'styled-components'\n\nexport const TableContainer = styled.div`\n display: flex;\n\n height: 100%;\n width: 100%;\n overflow: auto;\n padding: 4px;\n padding-top: 8px;\n\n &.isLoading {\n overflow: hidden;\n }\n\n /* make error icon smaller */\n .empty-placeholder {\n width: 100%;\n padding: 8px;\n max-width: 240px;\n .icon {\n font-size: 32px;\n }\n h3 {\n ${theme.titleMedium}\n }\n }\n\n table {\n height: fit-content;\n width: 100%;\n display: grid;\n }\n\n thead {\n display: none;\n }\n\n tbody {\n position: relative;\n display: grid;\n }\n\n tr {\n position: absolute;\n display: flex;\n width: 100%;\n /* transform: set on dynamically */\n }\n\n td {\n padding: 1px 0px;\n width: 100%;\n }\n`\n\nexport const Cell = styled.div`\n width: 100%;\n min-height: 32px;\n user-select: none;\n padding: 0px 4px;\n\n display: flex;\n gap: var(--base-gap-small);\n align-items: center;\n cursor: pointer;\n\n border-radius: var(--border-radius-m);\n\n .value {\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .path {\n display: flex;\n gap: var(--base-gap-small);\n }\n\n .loading {\n pointer-events: none;\n }\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-hover);\n }\n\n &.selected {\n background-color: var(--md-sys-color-primary-container);\n\n &,\n .icon {\n color: var(--md-sys-color-on-primary-container);\n }\n }\n\n &.disabled {\n opacity: 0.5;\n cursor: not-allowed !important;\n
|
|
1
|
+
{"version":3,"file":"SimpleTable.styled.es.js","sources":["../../../../../src/containers/SimpleTable/SimpleTable.styled.ts"],"sourcesContent":["import { Button, theme } from '@ynput/ayon-react-components'\nimport styled from 'styled-components'\n\nexport const TableContainer = styled.div`\n display: flex;\n\n height: 100%;\n width: 100%;\n overflow: auto;\n padding: 4px;\n padding-top: 8px;\n\n &.isLoading {\n overflow: hidden;\n }\n\n /* make error icon smaller */\n .empty-placeholder {\n width: 100%;\n padding: 8px;\n max-width: 240px;\n .icon {\n font-size: 32px;\n }\n h3 {\n ${theme.titleMedium}\n }\n }\n\n table {\n height: fit-content;\n width: 100%;\n display: grid;\n }\n\n thead {\n display: none;\n }\n\n tbody {\n position: relative;\n display: grid;\n }\n\n tr {\n position: absolute;\n display: flex;\n width: 100%;\n /* transform: set on dynamically */\n }\n\n td {\n padding: 1px 0px;\n width: 100%;\n }\n`\n\nexport const Cell = styled.div`\n width: 100%;\n min-height: 32px;\n user-select: none;\n padding: 0px 4px;\n\n display: flex;\n gap: var(--base-gap-small);\n align-items: center;\n cursor: pointer;\n\n border-radius: var(--border-radius-m);\n\n .value {\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .path {\n display: flex;\n gap: var(--base-gap-small);\n }\n\n .loading {\n pointer-events: none;\n }\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-hover);\n }\n\n &.selected {\n background-color: var(--md-sys-color-primary-container);\n\n &,\n .icon {\n color: var(--md-sys-color-on-primary-container);\n }\n }\n\n &.inactive {\n .icon,\n .value {\n color: var(--md-sys-color-outline);\n }\n }\n\n &.disabled {\n opacity: 0.5;\n cursor: not-allowed !important;\n\n &,\n .value,\n .icon {\n color: var(--md-sys-color-outline);\n }\n\n &:hover {\n background-color: transparent;\n }\n\n .value {\n text-decoration: line-through;\n }\n }\n\n /* filled icon */\n .icon.filled {\n font-variation-settings: 'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20;\n }\n`\n\nexport const Expander = styled(Button)`\n &.expander {\n background-color: unset;\n padding: 2px;\n cursor: pointer;\n &:hover {\n background-color: var(--md-sys-color-surface-container-high-hover);\n }\n }\n`\n\n// utility styles for wrapping the table\nexport const Container = styled.div`\n border-radius: var(--border-radius-m);\n overflow: hidden;\n background-color: var(--md-sys-color-surface-container-low);\n height: 100%;\n flex: 1;\n\n display: flex;\n flex-direction: column;\n position: relative;\n`\n\nexport const Header = styled.div`\n padding: 2px;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n position: relative;\n\n display: flex;\n gap: var(--base-gap-small);\n\n border-bottom: 1px solid var(--md-sys-color-outline-variant);\n`\n\nexport const HeaderButton = styled(Button)`\n background-color: unset !important;\n z-index: 110;\n position: relative;\n\n &.hasIcon {\n padding: 4px;\n }\n\n &.open {\n background-color: unset !important;\n }\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-hover) !important;\n }\n\n &.active {\n background-color: var(--md-sys-color-surface-container-hover) !important;\n }\n`\n"],"names":["TableContainer","styled","theme","Cell","Expander","Button","Container","Header","HeaderButton"],"mappings":";;AAGO,MAAMA,IAAiBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAsB7BC,EAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgCZC,IAAOF,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA0EdG,IAAWH,EAAOI,CAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYxBC,IAAYL,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYnBM,IAASN,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAahBO,IAAeP,EAAOI,CAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/jsx-runtime.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/jsx-runtime.cjs.js"),p=require("react"),c=require("./SimpleTable.styled.cjs.js"),f=require("@ynput/ayon-react-components"),q=require("clsx"),m=({isRowExpandable:l,isRowExpanded:t,enableNonFolderIndent:r=!0,isTableExpandable:i,onExpandClick:s})=>l?e.jsxRuntimeExports.jsx(c.Expander,{onClick:a=>{a.stopPropagation(),s==null||s()},icon:t?"expand_more":"chevron_right",className:"expander",style:{cursor:"pointer"}}):i&&r&&e.jsxRuntimeExports.jsx("div",{style:{display:"inline-block",minWidth:24}}),S=p.forwardRef(({value:l,icon:t,parents:r,iconColor:i,iconFilled:s,isRowExpandable:a,isRowExpanded:u,isTableExpandable:j,enableNonFolderIndent:R=!0,onExpandClick:d,startContent:n,endContent:x,depth:h=0,isDisabled:y,disabledMessage:E,active:N,style:b,...g},v)=>e.jsxRuntimeExports.jsxs(c.Cell,{...g,ref:v,style:{...b,paddingLeft:`calc(${h*.5}rem + 4px)`},title:y?E:void 0,children:[e.jsxRuntimeExports.jsx(m,{isRowExpandable:a,isRowExpanded:u,isTableExpandable:j,onExpandClick:d,enableNonFolderIndent:R}),n&&n,t&&e.jsxRuntimeExports.jsx(f.Icon,{icon:t,className:q({filled:s}),style:{color:i}}),r&&e.jsxRuntimeExports.jsx("span",{className:"path",children:r.map((T,o)=>e.jsxRuntimeExports.jsxs(p.Fragment,{children:[e.jsxRuntimeExports.jsx("span",{children:T},o+"-path"),e.jsxRuntimeExports.jsx("span",{children:"/"},o+"-separator")]},o))}),e.jsxRuntimeExports.jsx("span",{className:"value",children:l}),x&&x]}));exports.RowExpander=m;exports.SimpleTableCellTemplate=S;
|
|
2
2
|
//# sourceMappingURL=SimpleTableRowTemplate.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleTableRowTemplate.cjs.js","sources":["../../../../../src/containers/SimpleTable/SimpleTableRowTemplate.tsx"],"sourcesContent":["import { forwardRef, Fragment } from 'react'\nimport * as Styled from './SimpleTable.styled'\nimport { Icon } from '@ynput/ayon-react-components'\n\nexport type RowExpanderProps = {\n isRowExpandable?: boolean\n isRowExpanded?: boolean\n isTableExpandable?: boolean\n onExpandClick?: () => void\n}\n\nexport const RowExpander = ({\n isRowExpandable,\n isRowExpanded,\n isTableExpandable,\n onExpandClick,\n}: RowExpanderProps) =>\n isRowExpandable ? (\n <Styled.Expander\n onClick={(e) => {\n e.stopPropagation()\n onExpandClick?.()\n }}\n icon={isRowExpanded ? 'expand_more' : 'chevron_right'}\n className=\"expander\"\n style={{ cursor: 'pointer' }}\n />\n ) : (\n isTableExpandable && <div style={{ display: 'inline-block', minWidth: 24 }} />\n )\n\nexport interface SimpleTableCellTemplateProps extends React.HTMLAttributes<HTMLDivElement> {\n value: string\n icon?: string\n parents?: string[]\n iconColor?: string\n isRowExpandable?: boolean\n isRowExpanded?: boolean\n isTableExpandable?: boolean\n onExpandClick?: () => void\n // when used as a template\n startContent?: React.ReactNode\n endContent?: React.ReactNode\n depth?: number\n isDisabled?: boolean\n disabledMessage?: string\n}\n\nexport const SimpleTableCellTemplate = forwardRef<HTMLDivElement, SimpleTableCellTemplateProps>(\n (\n {\n value,\n icon,\n parents,\n iconColor,\n isRowExpandable,\n isRowExpanded,\n isTableExpandable,\n onExpandClick,\n startContent,\n endContent,\n depth = 0,\n isDisabled,\n disabledMessage,\n style,\n ...props\n },\n ref,\n ) => {\n return (\n <Styled.Cell\n {...props}\n ref={ref}\n style={{\n ...style,\n paddingLeft: `calc(${depth * 0.5}rem + 4px)`,\n
|
|
1
|
+
{"version":3,"file":"SimpleTableRowTemplate.cjs.js","sources":["../../../../../src/containers/SimpleTable/SimpleTableRowTemplate.tsx"],"sourcesContent":["import { forwardRef, Fragment } from 'react'\nimport * as Styled from './SimpleTable.styled'\nimport { Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\n\nexport type RowExpanderProps = {\n isRowExpandable?: boolean\n isRowExpanded?: boolean\n enableNonFolderIndent?: boolean\n isTableExpandable?: boolean\n onExpandClick?: () => void\n}\n\nexport const RowExpander = ({\n isRowExpandable,\n isRowExpanded,\n enableNonFolderIndent = true,\n isTableExpandable,\n onExpandClick,\n}: RowExpanderProps) =>\n isRowExpandable ? (\n <Styled.Expander\n onClick={(e) => {\n e.stopPropagation()\n onExpandClick?.()\n }}\n icon={isRowExpanded ? 'expand_more' : 'chevron_right'}\n className=\"expander\"\n style={{ cursor: 'pointer' }}\n />\n ) : (\n isTableExpandable &&\n enableNonFolderIndent && <div style={{ display: 'inline-block', minWidth: 24 }} />\n )\n\nexport interface SimpleTableCellTemplateProps extends React.HTMLAttributes<HTMLDivElement> {\n value: string\n icon?: string\n parents?: string[]\n iconColor?: string\n iconFilled?: boolean\n isRowExpandable?: boolean\n isRowExpanded?: boolean\n isTableExpandable?: boolean\n enableNonFolderIndent?: boolean\n onExpandClick?: () => void\n // when used as a template\n startContent?: React.ReactNode\n endContent?: React.ReactNode\n depth?: number\n isDisabled?: boolean\n disabledMessage?: string\n active?: boolean\n}\n\nexport const SimpleTableCellTemplate = forwardRef<HTMLDivElement, SimpleTableCellTemplateProps>(\n (\n {\n value,\n icon,\n parents,\n iconColor,\n iconFilled,\n isRowExpandable,\n isRowExpanded,\n isTableExpandable,\n enableNonFolderIndent = true,\n onExpandClick,\n startContent,\n endContent,\n depth = 0,\n isDisabled,\n disabledMessage,\n active,\n style,\n ...props\n },\n ref,\n ) => {\n return (\n <Styled.Cell\n {...props}\n ref={ref}\n style={{\n ...style,\n paddingLeft: `calc(${depth * 0.5}rem + 4px)`,\n }}\n title={isDisabled ? disabledMessage : undefined}\n >\n <RowExpander\n isRowExpandable={isRowExpandable}\n isRowExpanded={isRowExpanded}\n isTableExpandable={isTableExpandable}\n onExpandClick={onExpandClick}\n enableNonFolderIndent={enableNonFolderIndent}\n />\n {startContent && startContent}\n {icon && (\n <Icon\n icon={icon}\n className={clsx({ filled: iconFilled })}\n style={{\n color: iconColor,\n }}\n />\n )}\n {parents && (\n <span className=\"path\">\n {parents.map((part, index) => (\n <Fragment key={index}>\n <span key={index + '-path'}>{part}</span>\n <span key={index + '-separator'}>/</span>\n </Fragment>\n ))}\n </span>\n )}\n <span className=\"value\">{value}</span>\n {endContent && endContent}\n </Styled.Cell>\n )\n },\n)\n"],"names":["RowExpander","isRowExpandable","isRowExpanded","enableNonFolderIndent","isTableExpandable","onExpandClick","jsx","Styled.Expander","e","SimpleTableCellTemplate","forwardRef","value","icon","parents","iconColor","iconFilled","startContent","endContent","depth","isDisabled","disabledMessage","active","style","props","ref","jsxs","Styled.Cell","Icon","clsx","part","index","Fragment"],"mappings":"mQAaaA,EAAc,CAAC,CAC1B,gBAAAC,EACA,cAAAC,EACA,sBAAAC,EAAwB,GACxB,kBAAAC,EACA,cAAAC,CACF,IACEJ,EACEK,EAAA,kBAAA,IAACC,EAAO,SAAP,CACC,QAAUC,GAAM,CACdA,EAAE,gBAAgB,EACFH,GAAA,MAAAA,GAClB,EACA,KAAMH,EAAgB,cAAgB,gBACtC,UAAU,WACV,MAAO,CAAE,OAAQ,SAAU,CAAA,CAC7B,EAEAE,GACAD,GAAyBG,EAAA,kBAAA,IAAC,MAAI,CAAA,MAAO,CAAE,QAAS,eAAgB,SAAU,EAAA,CAAM,CAAA,EAuBvEG,EAA0BC,EAAA,WACrC,CACE,CACE,MAAAC,EACA,KAAAC,EACA,QAAAC,EACA,UAAAC,EACA,WAAAC,EACA,gBAAAd,EACA,cAAAC,EACA,kBAAAE,EACA,sBAAAD,EAAwB,GACxB,cAAAE,EACA,aAAAW,EACA,WAAAC,EACA,MAAAC,EAAQ,EACR,WAAAC,EACA,gBAAAC,EACA,OAAAC,EACA,MAAAC,EACA,GAAGC,GAELC,IAGEC,EAAA,kBAAA,KAACC,EAAO,KAAP,CACE,GAAGH,EACJ,IAAAC,EACA,MAAO,CACL,GAAGF,EACH,YAAa,QAAQJ,EAAQ,EAAG,YAClC,EACA,MAAOC,EAAaC,EAAkB,OAEtC,SAAA,CAAAd,EAAA,kBAAA,IAACN,EAAA,CACC,gBAAAC,EACA,cAAAC,EACA,kBAAAE,EACA,cAAAC,EACA,sBAAAF,CAAA,CACF,EACCa,GAAgBA,EAChBJ,GACCN,EAAA,kBAAA,IAACqB,EAAA,KAAA,CACC,KAAAf,EACA,UAAWgB,EAAK,CAAE,OAAQb,EAAY,EACtC,MAAO,CACL,MAAOD,CAAA,CACT,CACF,EAEDD,GACEP,EAAA,kBAAA,IAAA,OAAA,CAAK,UAAU,OACb,SAAQO,EAAA,IAAI,CAACgB,EAAMC,IAClBL,EAAA,kBAAA,KAACM,EACC,SAAA,CAAA,SAAA,CAACzB,EAAA,kBAAA,IAAA,OAAA,CAA4B,SAAlBuB,CAAA,EAAAC,EAAQ,OAAe,EACjCxB,EAAA,kBAAA,IAAA,OAAA,CAAgC,SAAtB,GAAA,EAAAwB,EAAQ,YAAe,CAAA,GAFrBA,CAGf,CACD,EACH,EAEDxB,EAAA,kBAAA,IAAA,OAAA,CAAK,UAAU,QAAS,SAAMK,EAAA,EAC9BM,GAAcA,CAAA,CAAA,CACjB,CAGN"}
|
|
@@ -1,76 +1,88 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { Cell as
|
|
4
|
-
import { Icon as
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { j as e } from "../../../../_virtual/jsx-runtime.es.js";
|
|
2
|
+
import { forwardRef as N, Fragment as R } from "react";
|
|
3
|
+
import { Cell as b, Expander as w } from "./SimpleTable.styled.es.js";
|
|
4
|
+
import { Icon as T } from "@ynput/ayon-react-components";
|
|
5
|
+
import _ from "clsx";
|
|
6
|
+
const F = ({
|
|
7
|
+
isRowExpandable: a,
|
|
7
8
|
isRowExpanded: s,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
enableNonFolderIndent: l = !0,
|
|
10
|
+
isTableExpandable: o,
|
|
11
|
+
onExpandClick: r
|
|
12
|
+
}) => a ? /* @__PURE__ */ e.jsx(
|
|
13
|
+
w,
|
|
12
14
|
{
|
|
13
|
-
onClick: (
|
|
14
|
-
|
|
15
|
+
onClick: (t) => {
|
|
16
|
+
t.stopPropagation(), r == null || r();
|
|
15
17
|
},
|
|
16
18
|
icon: s ? "expand_more" : "chevron_right",
|
|
17
19
|
className: "expander",
|
|
18
20
|
style: { cursor: "pointer" }
|
|
19
21
|
}
|
|
20
|
-
) : l && /* @__PURE__ */
|
|
22
|
+
) : o && l && /* @__PURE__ */ e.jsx("div", { style: { display: "inline-block", minWidth: 24 } }), q = N(
|
|
21
23
|
({
|
|
22
|
-
value:
|
|
24
|
+
value: a,
|
|
23
25
|
icon: s,
|
|
24
26
|
parents: l,
|
|
25
|
-
iconColor:
|
|
26
|
-
|
|
27
|
+
iconColor: o,
|
|
28
|
+
iconFilled: r,
|
|
29
|
+
isRowExpandable: t,
|
|
27
30
|
isRowExpanded: c,
|
|
28
|
-
isTableExpandable:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
31
|
+
isTableExpandable: x,
|
|
32
|
+
enableNonFolderIndent: j = !0,
|
|
33
|
+
onExpandClick: n,
|
|
34
|
+
startContent: m,
|
|
35
|
+
endContent: p,
|
|
36
|
+
depth: d = 0,
|
|
37
|
+
isDisabled: h,
|
|
38
|
+
disabledMessage: f,
|
|
39
|
+
active: I,
|
|
40
|
+
style: u,
|
|
41
|
+
...v
|
|
42
|
+
}, y) => /* @__PURE__ */ e.jsxs(
|
|
43
|
+
b,
|
|
39
44
|
{
|
|
40
|
-
...
|
|
41
|
-
ref:
|
|
45
|
+
...v,
|
|
46
|
+
ref: y,
|
|
42
47
|
style: {
|
|
43
|
-
...
|
|
44
|
-
paddingLeft: `calc(${
|
|
45
|
-
...i && {
|
|
46
|
-
cursor: "not-allowed"
|
|
47
|
-
}
|
|
48
|
+
...u,
|
|
49
|
+
paddingLeft: `calc(${d * 0.5}rem + 4px)`
|
|
48
50
|
},
|
|
49
|
-
title:
|
|
51
|
+
title: h ? f : void 0,
|
|
50
52
|
children: [
|
|
51
|
-
/* @__PURE__ */
|
|
52
|
-
|
|
53
|
+
/* @__PURE__ */ e.jsx(
|
|
54
|
+
F,
|
|
53
55
|
{
|
|
54
|
-
isRowExpandable:
|
|
56
|
+
isRowExpandable: t,
|
|
55
57
|
isRowExpanded: c,
|
|
56
|
-
isTableExpandable:
|
|
57
|
-
onExpandClick:
|
|
58
|
+
isTableExpandable: x,
|
|
59
|
+
onExpandClick: n,
|
|
60
|
+
enableNonFolderIndent: j
|
|
61
|
+
}
|
|
62
|
+
),
|
|
63
|
+
m && m,
|
|
64
|
+
s && /* @__PURE__ */ e.jsx(
|
|
65
|
+
T,
|
|
66
|
+
{
|
|
67
|
+
icon: s,
|
|
68
|
+
className: _({ filled: r }),
|
|
69
|
+
style: {
|
|
70
|
+
color: o
|
|
71
|
+
}
|
|
58
72
|
}
|
|
59
73
|
),
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
/* @__PURE__ */ r.jsx("span", { className: "value", children: o }),
|
|
67
|
-
m && m
|
|
74
|
+
l && /* @__PURE__ */ e.jsx("span", { className: "path", children: l.map((g, i) => /* @__PURE__ */ e.jsxs(R, { children: [
|
|
75
|
+
/* @__PURE__ */ e.jsx("span", { children: g }, i + "-path"),
|
|
76
|
+
/* @__PURE__ */ e.jsx("span", { children: "/" }, i + "-separator")
|
|
77
|
+
] }, i)) }),
|
|
78
|
+
/* @__PURE__ */ e.jsx("span", { className: "value", children: a }),
|
|
79
|
+
p && p
|
|
68
80
|
]
|
|
69
81
|
}
|
|
70
82
|
)
|
|
71
83
|
);
|
|
72
84
|
export {
|
|
73
|
-
|
|
74
|
-
|
|
85
|
+
F as RowExpander,
|
|
86
|
+
q as SimpleTableCellTemplate
|
|
75
87
|
};
|
|
76
88
|
//# sourceMappingURL=SimpleTableRowTemplate.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleTableRowTemplate.es.js","sources":["../../../../../src/containers/SimpleTable/SimpleTableRowTemplate.tsx"],"sourcesContent":["import { forwardRef, Fragment } from 'react'\nimport * as Styled from './SimpleTable.styled'\nimport { Icon } from '@ynput/ayon-react-components'\n\nexport type RowExpanderProps = {\n isRowExpandable?: boolean\n isRowExpanded?: boolean\n isTableExpandable?: boolean\n onExpandClick?: () => void\n}\n\nexport const RowExpander = ({\n isRowExpandable,\n isRowExpanded,\n isTableExpandable,\n onExpandClick,\n}: RowExpanderProps) =>\n isRowExpandable ? (\n <Styled.Expander\n onClick={(e) => {\n e.stopPropagation()\n onExpandClick?.()\n }}\n icon={isRowExpanded ? 'expand_more' : 'chevron_right'}\n className=\"expander\"\n style={{ cursor: 'pointer' }}\n />\n ) : (\n isTableExpandable && <div style={{ display: 'inline-block', minWidth: 24 }} />\n )\n\nexport interface SimpleTableCellTemplateProps extends React.HTMLAttributes<HTMLDivElement> {\n value: string\n icon?: string\n parents?: string[]\n iconColor?: string\n isRowExpandable?: boolean\n isRowExpanded?: boolean\n isTableExpandable?: boolean\n onExpandClick?: () => void\n // when used as a template\n startContent?: React.ReactNode\n endContent?: React.ReactNode\n depth?: number\n isDisabled?: boolean\n disabledMessage?: string\n}\n\nexport const SimpleTableCellTemplate = forwardRef<HTMLDivElement, SimpleTableCellTemplateProps>(\n (\n {\n value,\n icon,\n parents,\n iconColor,\n isRowExpandable,\n isRowExpanded,\n isTableExpandable,\n onExpandClick,\n startContent,\n endContent,\n depth = 0,\n isDisabled,\n disabledMessage,\n style,\n ...props\n },\n ref,\n ) => {\n return (\n <Styled.Cell\n {...props}\n ref={ref}\n style={{\n ...style,\n paddingLeft: `calc(${depth * 0.5}rem + 4px)`,\n
|
|
1
|
+
{"version":3,"file":"SimpleTableRowTemplate.es.js","sources":["../../../../../src/containers/SimpleTable/SimpleTableRowTemplate.tsx"],"sourcesContent":["import { forwardRef, Fragment } from 'react'\nimport * as Styled from './SimpleTable.styled'\nimport { Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\n\nexport type RowExpanderProps = {\n isRowExpandable?: boolean\n isRowExpanded?: boolean\n enableNonFolderIndent?: boolean\n isTableExpandable?: boolean\n onExpandClick?: () => void\n}\n\nexport const RowExpander = ({\n isRowExpandable,\n isRowExpanded,\n enableNonFolderIndent = true,\n isTableExpandable,\n onExpandClick,\n}: RowExpanderProps) =>\n isRowExpandable ? (\n <Styled.Expander\n onClick={(e) => {\n e.stopPropagation()\n onExpandClick?.()\n }}\n icon={isRowExpanded ? 'expand_more' : 'chevron_right'}\n className=\"expander\"\n style={{ cursor: 'pointer' }}\n />\n ) : (\n isTableExpandable &&\n enableNonFolderIndent && <div style={{ display: 'inline-block', minWidth: 24 }} />\n )\n\nexport interface SimpleTableCellTemplateProps extends React.HTMLAttributes<HTMLDivElement> {\n value: string\n icon?: string\n parents?: string[]\n iconColor?: string\n iconFilled?: boolean\n isRowExpandable?: boolean\n isRowExpanded?: boolean\n isTableExpandable?: boolean\n enableNonFolderIndent?: boolean\n onExpandClick?: () => void\n // when used as a template\n startContent?: React.ReactNode\n endContent?: React.ReactNode\n depth?: number\n isDisabled?: boolean\n disabledMessage?: string\n active?: boolean\n}\n\nexport const SimpleTableCellTemplate = forwardRef<HTMLDivElement, SimpleTableCellTemplateProps>(\n (\n {\n value,\n icon,\n parents,\n iconColor,\n iconFilled,\n isRowExpandable,\n isRowExpanded,\n isTableExpandable,\n enableNonFolderIndent = true,\n onExpandClick,\n startContent,\n endContent,\n depth = 0,\n isDisabled,\n disabledMessage,\n active,\n style,\n ...props\n },\n ref,\n ) => {\n return (\n <Styled.Cell\n {...props}\n ref={ref}\n style={{\n ...style,\n paddingLeft: `calc(${depth * 0.5}rem + 4px)`,\n }}\n title={isDisabled ? disabledMessage : undefined}\n >\n <RowExpander\n isRowExpandable={isRowExpandable}\n isRowExpanded={isRowExpanded}\n isTableExpandable={isTableExpandable}\n onExpandClick={onExpandClick}\n enableNonFolderIndent={enableNonFolderIndent}\n />\n {startContent && startContent}\n {icon && (\n <Icon\n icon={icon}\n className={clsx({ filled: iconFilled })}\n style={{\n color: iconColor,\n }}\n />\n )}\n {parents && (\n <span className=\"path\">\n {parents.map((part, index) => (\n <Fragment key={index}>\n <span key={index + '-path'}>{part}</span>\n <span key={index + '-separator'}>/</span>\n </Fragment>\n ))}\n </span>\n )}\n <span className=\"value\">{value}</span>\n {endContent && endContent}\n </Styled.Cell>\n )\n },\n)\n"],"names":["RowExpander","isRowExpandable","isRowExpanded","enableNonFolderIndent","isTableExpandable","onExpandClick","jsx","Styled.Expander","e","SimpleTableCellTemplate","forwardRef","value","icon","parents","iconColor","iconFilled","startContent","endContent","depth","isDisabled","disabledMessage","active","style","props","ref","jsxs","Styled.Cell","Icon","clsx","part","index","Fragment"],"mappings":";;;;;AAaO,MAAMA,IAAc,CAAC;AAAA,EAC1B,iBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,uBAAAC,IAAwB;AAAA,EACxB,mBAAAC;AAAA,EACA,eAAAC;AACF,MACEJ,IACEK,gBAAAA,EAAA;AAAA,EAACC;AAAAA,EAAA;AAAA,IACC,SAAS,CAACC,MAAM;AACd,MAAAA,EAAE,gBAAgB,GACFH,KAAA,QAAAA;AAAA,IAClB;AAAA,IACA,MAAMH,IAAgB,gBAAgB;AAAA,IACtC,WAAU;AAAA,IACV,OAAO,EAAE,QAAQ,UAAU;AAAA,EAAA;AAC7B,IAEAE,KACAD,KAAyBG,gBAAAA,EAAA,IAAC,OAAI,EAAA,OAAO,EAAE,SAAS,gBAAgB,UAAU,GAAA,EAAM,CAAA,GAuBvEG,IAA0BC;AAAA,EACrC,CACE;AAAA,IACE,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,SAAAC;AAAA,IACA,WAAAC;AAAA,IACA,YAAAC;AAAA,IACA,iBAAAd;AAAA,IACA,eAAAC;AAAA,IACA,mBAAAE;AAAA,IACA,uBAAAD,IAAwB;AAAA,IACxB,eAAAE;AAAA,IACA,cAAAW;AAAA,IACA,YAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,YAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,GAAGC;AAAA,KAELC,MAGEC,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACE,GAAGH;AAAA,MACJ,KAAAC;AAAA,MACA,OAAO;AAAA,QACL,GAAGF;AAAA,QACH,aAAa,QAAQJ,IAAQ,GAAG;AAAA,MAClC;AAAA,MACA,OAAOC,IAAaC,IAAkB;AAAA,MAEtC,UAAA;AAAA,QAAAd,gBAAAA,EAAA;AAAA,UAACN;AAAA,UAAA;AAAA,YACC,iBAAAC;AAAA,YACA,eAAAC;AAAA,YACA,mBAAAE;AAAA,YACA,eAAAC;AAAA,YACA,uBAAAF;AAAA,UAAA;AAAA,QACF;AAAA,QACCa,KAAgBA;AAAA,QAChBJ,KACCN,gBAAAA,EAAA;AAAA,UAACqB;AAAA,UAAA;AAAA,YACC,MAAAf;AAAA,YACA,WAAWgB,EAAK,EAAE,QAAQb,GAAY;AAAA,YACtC,OAAO;AAAA,cACL,OAAOD;AAAA,YAAA;AAAA,UACT;AAAA,QACF;AAAA,QAEDD,KACEP,gBAAAA,EAAA,IAAA,QAAA,EAAK,WAAU,QACb,UAAQO,EAAA,IAAI,CAACgB,GAAMC,MAClBL,gBAAAA,EAAA,KAACM,GACC,EAAA,UAAA;AAAA,UAACzB,gBAAAA,EAAA,IAAA,QAAA,EAA4B,UAAlBuB,EAAA,GAAAC,IAAQ,OAAe;AAAA,UACjCxB,gBAAAA,EAAA,IAAA,QAAA,EAAgC,UAAtB,IAAA,GAAAwB,IAAQ,YAAe;AAAA,QAAA,KAFrBA,CAGf,CACD,GACH;AAAA,QAEDxB,gBAAAA,EAAA,IAAA,QAAA,EAAK,WAAU,SAAS,UAAMK,GAAA;AAAA,QAC9BM,KAAcA;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB;AAGN;"}
|
|
@@ -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 useGetCurrentUserQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n} from '@shared/api'\nimport useBuildViewMenuItems from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\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 workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: boolean\n isViewWorking: 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 // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any\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 { data: currentUser } = useGetCurrentUserQuery()\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 const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n onCreate: handleOnViewCreated,\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\n const { currentData: viewsList = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\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 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 // 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,\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 workingSettings,\n editingViewData,\n isLoadingEditingViewData,\n viewsList,\n workingView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n isViewWorking,\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","useGetCurrentUserQuery","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsList","isLoadingViews","useListViewsQuery","workingView","useGetWorkingViewQuery","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","useMemo","onSaveViewFromCurrent","useSaveViewFromCurrent","resetWorkingView","useCallback","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, viewTypes, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetCurrentUserQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n} from '@shared/api'\nimport useBuildViewMenuItems from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\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 workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: boolean\n isViewWorking: 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 // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any\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 { data: currentUser } = useGetCurrentUserQuery()\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 const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n onCreate: handleOnViewCreated,\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\n const { currentData: viewsList = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\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 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 // 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,\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 workingSettings,\n editingViewData,\n isLoadingEditingViewData,\n viewsList,\n workingView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n isViewWorking,\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}"],"names":["ViewsContext","createContext","ViewsProvider","children","viewTypeProp","projectName","dispatch","debug","viewType","viewTypes","powerLicense","usePowerpack","currentUser","useGetCurrentUserQuery","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsList","isLoadingViews","useListViewsQuery","workingView","useGetWorkingViewQuery","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","useMemo","onSaveViewFromCurrent","useSaveViewFromCurrent","resetWorkingView","useCallback","error","viewMenuItems","useBuildViewMenuItems","viewId","value","viewsQueries","jsx","useViewsContext","context","useContext","v"],"mappings":"okLAyEMA,EAAeC,gBAAwC,IAAI,EAYpDC,GAAwC,CAAC,CACpD,SAAAC,EACA,SAAUC,EACV,YAAAC,EACA,SAAAC,EACA,MAAAC,CACF,IAAM,CAEJ,MAAMC,EAAWC,EAAAA,UAAU,SAASL,CAAwB,EACvDA,EACD,OAEA,GAAA,CAAE,aAAAM,CAAa,EAAIC,eAAa,GAChCJ,GAAA,YAAAA,EAAO,gBAAiB,SAClB,QAAA,KAAK,6BAA8BA,EAAM,YAAY,EAC7DG,EAAeH,EAAM,cAGvB,KAAM,CAAE,KAAMK,CAAY,EAAIC,yBAAuB,EAE/C,CAACC,EAAYC,CAAa,EAAIC,EAAAA,SAAS,EAAK,EAC5C,CAACC,EAAaC,CAAc,EAAIF,EAAAA,SAA2B,IAAI,EAE/DG,EAAW,qBAEX,CAACC,EAAmBC,CAAoB,EAAIC,GAAA,gBAChDH,EACA,CAAA,CACF,EAGMI,EAAuBC,GAAmB,CAC9C,MAAMC,EAAMD,EAAK,aAAe,UAAY,UAAY,cAEpD,GAAAJ,EAAkBK,CAAG,EAAG,CACpB,MAAAC,EAAuB,CAAE,GAAGN,CAAkB,EACpDM,EAAqBD,CAAG,EAAI,GAC5BJ,EAAqBK,CAAoB,CAAA,CAE7C,EAEM,CAAE,aAAAC,EAAc,aAAAC,EAAc,aAAAC,EAAc,mBAAAC,CAAA,EAAuBC,GAAAA,kBAAkB,CACzF,SAAAvB,EACA,YAAAH,EACA,SAAUkB,CAAA,CACX,EAGK,CAAE,KAAMS,CAAA,EAAiBC,EAAA,wBAC7B,CAAE,YAAA5B,CAAY,EACd,CAAE,KAAM,CAACK,GAAgB,CAACO,CAAY,CACxC,EAGM,CAACiB,EAAcC,EAAiBC,CAAsB,EAAIC,GAAAA,gBAAgB,CAC9E,SAAA7B,EACA,YAAAH,CAAA,CACD,EAEK,CAACiC,EAAqBC,CAAsB,EAAIC,0BAAuB,CAC3E,SAAAhC,CAAA,CACD,EAGK,CAAE,YAAaiC,EAAY,CAAI,EAAA,UAAWC,GAAmBC,EAAA,kBACjE,CAAE,YAAAtC,EAA0B,SAAAG,CAA6B,EACzD,CAAE,KAAM,CAACA,CAAS,CACpB,EAGM,CAAE,YAAaoC,CAAA,EAAgBC,EAAA,uBACnC,CAAE,YAAAxC,EAA0B,SAAAG,CAA6B,EACzD,CAAE,KAAM,CAACA,CAAS,CACpB,EAEMsC,EAAkBF,GAAA,YAAAA,EAAa,SAG/BG,EACJ,CAACb,GAAgBA,EAAa,KAAOc,mBAAkBF,EAAkBZ,GAAA,YAAAA,EAAc,SAGnFe,GAAgBf,GAAA,YAAAA,EAAc,OAAOU,GAAA,YAAAA,EAAa,IAElDM,EACJZ,GACAW,GACEb,GACFA,KAA2BQ,GAAA,YAAAA,EAAa,IACpCR,EACA,OAGA,CAAE,YAAae,EAAqB,WAAYC,CACpD,EAAAC,EAAA,gBACE,CACE,OAAQpC,EACR,YAAaqC,EAAkBrC,EAAuBwB,CAAS,EAAI,OAAYpC,EAC/E,SAAAG,CACF,EACA,CAAE,KAAQ,OAAOS,GAAgB,UAAa,CAACP,CAAa,CAC9D,EAEI6C,EAAkBC,EAAA,QACtB,IAAOvC,KAAgBkC,GAAA,YAAAA,EAAqB,IAAKA,EAAsB,OACvE,CAAClC,EAAakC,CAAmB,CACnC,EAEM,CAAE,sBAAAM,CAAsB,EAAIC,0BAAuB,CACvD,SAAAlD,EACA,YAAAH,EACA,UAAAoC,EACA,eAAgBM,EAChB,aAAAlB,CAAA,CACD,EAGK8B,EAAmBC,EAAAA,YAAY,SAAY,CAC3C,GAAA,CACF,MAAM9B,EAAmB,CACvB,sBAAuBc,GAAA,YAAAA,EAAa,GACpC,eAAgBV,GAAA,YAAAA,EAAc,GAC9B,gBAAAC,EACA,mBAAoBI,EACpB,OAAQ,EAAA,CACT,QACMsB,EAAO,CACN,QAAA,MAAM,wBAAyBA,CAAK,CAAA,CAC9C,EACC,CAACjB,EAAad,EAAoBI,EAAcC,EAAiBI,CAAsB,CAAC,EAGrFuB,EAAgBC,EAAAA,QAAsB,CAC1C,UAAAtB,EACA,YAAAG,EACA,SAAApC,EACA,YAAAH,EACA,YAAAO,EACA,eAAgB,CAACF,EACjB,cAAAwC,EACA,WAAYhB,GAAA,YAAAA,EAAc,GAC1B,UAAWd,EACX,aAAcC,EACd,mBAAAS,EACA,SAAWkC,GAAW,CACpB7B,EAAgB6B,CAAM,EAEtBzB,EAAuB,EAAK,EAE5BxB,EAAc,EAAK,CACrB,EACA,OAASiD,GAAW9C,EAAe8C,CAAM,EACzC,OAAQ,MAAOA,GAAWP,EAAsBO,CAAM,CAAA,CACvD,EAEKC,EAA2B,CAC/B,SAAAzD,EACA,YAAAH,EACA,WAAAS,EACA,YAAAG,EACA,YAAAL,EACA,aAAAsB,EACA,aAAAa,EACA,gBAAAD,EACA,gBAAAS,EACA,yBAAAH,EACA,UAAAX,EACA,YAAAG,EACA,cAAAM,EACA,cAAAY,EACA,eAAApB,EACA,cAAAO,EAEA,aAAAjB,EACA,cAAAjB,EACA,eAAAG,EACA,gBAAAiB,EACA,kBAAmBI,EAEnB,aAAAZ,EACA,aAAAE,EACA,aAAAD,EAEA,iBAAA+B,EAEA,IAAKO,EAAA,aACL,SAAA5D,CACF,EAEA,OAAQ6D,EAAAA,kBAAAA,IAAAnE,EAAa,SAAb,CAAsB,MAAAiE,EAAe,SAAA9D,CAAS,CAAA,CACxD,EAEaiE,GAAkB,IAAyB,CAChD,MAAAC,EAAUC,aAAWtE,CAAY,EACvC,GAAI,CAACqE,EACG,MAAA,IAAI,MAAM,qDAAqD,EAEhE,OAAAA,CACT,EAEaf,EAAoB,CAACU,EAA4BvB,IAAmC,CAC3F,GAAA,CAACuB,EAAe,MAAA,GACpB,MAAMxC,EAAOiB,EAAU,KAAM8B,GAAMA,EAAE,KAAOP,CAAM,EAClD,OAAOxC,GAAA,YAAAA,EAAM,SAAU,QACzB"}
|
|
@@ -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 useGetCurrentUserQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n} from '@shared/api'\nimport useBuildViewMenuItems from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\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 workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: boolean\n isViewWorking: 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 // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any\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 { data: currentUser } = useGetCurrentUserQuery()\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 const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n onCreate: handleOnViewCreated,\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\n const { currentData: viewsList = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\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 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 // 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,\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 workingSettings,\n editingViewData,\n isLoadingEditingViewData,\n viewsList,\n workingView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n isViewWorking,\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","useGetCurrentUserQuery","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsList","isLoadingViews","useListViewsQuery","workingView","useGetWorkingViewQuery","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","useMemo","onSaveViewFromCurrent","useSaveViewFromCurrent","resetWorkingView","useCallback","error","viewMenuItems","useBuildViewMenuItems","viewId","value","viewsQueries","jsx","useViewsContext","context","useContext","v"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEA,MAAMA,IAAeC,EAAwC,IAAI,GAYpDC,KAAwC,CAAC;AAAA,EACpD,UAAAC;AAAA,EACA,UAAUC;AAAA,EACV,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AAEJ,QAAMC,IAAWC,EAAU,SAASL,CAAwB,IACvDA,IACD;AAEA,MAAA,EAAE,cAAAM,EAAa,IAAIC,GAAa;AAChC,GAAAJ,KAAA,gBAAAA,EAAO,kBAAiB,WAClB,QAAA,KAAK,8BAA8BA,EAAM,YAAY,GAC7DG,IAAeH,EAAM;AAGvB,QAAM,EAAE,MAAMK,EAAY,IAAIC,EAAuB,GAE/C,CAACC,GAAYC,CAAa,IAAIC,EAAS,EAAK,GAC5C,CAACC,GAAaC,CAAc,IAAIF,EAA2B,IAAI,GAE/DG,IAAW,sBAEX,CAACC,GAAmBC,CAAoB,IAAIC;AAAA,IAChDH;AAAA,IACA,CAAA;AAAA,EACF,GAGMI,IAAsB,CAACC,MAAmB;AAC9C,UAAMC,IAAMD,EAAK,eAAe,YAAY,YAAY;AAEpD,QAAAJ,EAAkBK,CAAG,GAAG;AACpB,YAAAC,IAAuB,EAAE,GAAGN,EAAkB;AACpD,MAAAM,EAAqBD,CAAG,IAAI,IAC5BJ,EAAqBK,CAAoB;AAAA,IAAA;AAAA,EAE7C,GAEM,EAAE,cAAAC,GAAc,cAAAC,GAAc,cAAAC,GAAc,oBAAAC,EAAA,IAAuBC,GAAkB;AAAA,IACzF,UAAAvB;AAAA,IACA,aAAAH;AAAA,IACA,UAAUkB;AAAA,EAAA,CACX,GAGK,EAAE,MAAMS,EAAA,IAAiBC;AAAA,IAC7B,EAAE,aAAA5B,EAAY;AAAA,IACd,EAAE,MAAM,CAACK,KAAgB,CAACO,EAAY;AAAA,EACxC,GAGM,CAACiB,GAAcC,GAAiBC,CAAsB,IAAIC,GAAgB;AAAA,IAC9E,UAAA7B;AAAA,IACA,aAAAH;AAAA,EAAA,CACD,GAEK,CAACiC,GAAqBC,CAAsB,IAAIC,GAAuB;AAAA,IAC3E,UAAAhC;AAAA,EAAA,CACD,GAGK,EAAE,aAAaiC,IAAY,CAAI,GAAA,WAAWC,MAAmBC;AAAA,IACjE,EAAE,aAAAtC,GAA0B,UAAAG,EAA6B;AAAA,IACzD,EAAE,MAAM,CAACA,EAAS;AAAA,EACpB,GAGM,EAAE,aAAaoC,EAAA,IAAgBC;AAAA,IACnC,EAAE,aAAAxC,GAA0B,UAAAG,EAA6B;AAAA,IACzD,EAAE,MAAM,CAACA,EAAS;AAAA,EACpB,GAEMsC,IAAkBF,KAAA,gBAAAA,EAAa,UAG/BG,IACJ,CAACb,KAAgBA,EAAa,OAAOc,KAAkBF,IAAkBZ,KAAA,gBAAAA,EAAc,UAGnFe,KAAgBf,KAAA,gBAAAA,EAAc,SAAOU,KAAA,gBAAAA,EAAa,KAElDM,IACJZ,KACAW,KACEb,KACFA,OAA2BQ,KAAA,gBAAAA,EAAa,MACpCR,IACA,QAGA,EAAE,aAAae,GAAqB,YAAYC,EACpD,IAAAC;AAAA,IACE;AAAA,MACE,QAAQpC;AAAA,MACR,aAAaqC,GAAkBrC,GAAuBwB,CAAS,IAAI,SAAYpC;AAAA,MAC/E,UAAAG;AAAA,IACF;AAAA,IACA,EAAE,MAAQ,OAAOS,KAAgB,YAAa,CAACP,EAAa;AAAA,EAC9D,GAEI6C,IAAkBC;AAAA,IACtB,MAAOvC,OAAgBkC,KAAA,gBAAAA,EAAqB,MAAKA,IAAsB;AAAA,IACvE,CAAClC,GAAakC,CAAmB;AAAA,EACnC,GAEM,EAAE,uBAAAM,EAAsB,IAAIC,GAAuB;AAAA,IACvD,UAAAlD;AAAA,IACA,aAAAH;AAAA,IACA,WAAAoC;AAAA,IACA,gBAAgBM;AAAA,IAChB,cAAAlB;AAAA,EAAA,CACD,GAGK8B,IAAmBC,EAAY,YAAY;AAC3C,QAAA;AACF,YAAM9B,EAAmB;AAAA,QACvB,uBAAuBc,KAAA,gBAAAA,EAAa;AAAA,QACpC,gBAAgBV,KAAA,gBAAAA,EAAc;AAAA,QAC9B,iBAAAC;AAAA,QACA,oBAAoBI;AAAA,QACpB,QAAQ;AAAA,MAAA,CACT;AAAA,aACMsB,GAAO;AACN,cAAA,MAAM,yBAAyBA,CAAK;AAAA,IAAA;AAAA,EAC9C,GACC,CAACjB,GAAad,GAAoBI,GAAcC,GAAiBI,CAAsB,CAAC,GAGrFuB,IAAgBC,GAAsB;AAAA,IAC1C,WAAAtB;AAAA,IACA,aAAAG;AAAA,IACA,UAAApC;AAAA,IACA,aAAAH;AAAA,IACA,aAAAO;AAAA,IACA,gBAAgB,CAACF;AAAA,IACjB,eAAAwC;AAAA,IACA,YAAYhB,KAAA,gBAAAA,EAAc;AAAA,IAC1B,WAAWd;AAAA,IACX,cAAcC;AAAA,IACd,oBAAAS;AAAA,IACA,UAAU,CAACkC,MAAW;AACpB,MAAA7B,EAAgB6B,CAAM,GAEtBzB,EAAuB,EAAK,GAE5BxB,EAAc,EAAK;AAAA,IACrB;AAAA,IACA,QAAQ,CAACiD,MAAW9C,EAAe8C,CAAM;AAAA,IACzC,QAAQ,OAAOA,MAAWP,EAAsBO,CAAM;AAAA,EAAA,CACvD,GAEKC,IAA2B;AAAA,IAC/B,UAAAzD;AAAA,IACA,aAAAH;AAAA,IACA,YAAAS;AAAA,IACA,aAAAG;AAAA,IACA,aAAAL;AAAA,IACA,cAAAsB;AAAA,IACA,cAAAa;AAAA,IACA,iBAAAD;AAAA,IACA,iBAAAS;AAAA,IACA,0BAAAH;AAAA,IACA,WAAAX;AAAA,IACA,aAAAG;AAAA,IACA,eAAAM;AAAA,IACA,eAAAY;AAAA,IACA,gBAAApB;AAAA,IACA,eAAAO;AAAA;AAAA,IAEA,cAAAjB;AAAA,IACA,eAAAjB;AAAA,IACA,gBAAAG;AAAA,IACA,iBAAAiB;AAAA,IACA,mBAAmBI;AAAA;AAAA,IAEnB,cAAAZ;AAAA,IACA,cAAAE;AAAA,IACA,cAAAD;AAAA;AAAA,IAEA,kBAAA+B;AAAA;AAAA,IAEA,KAAKO;AAAAA,IACL,UAAA5D;AAAA,EACF;AAEA,SAAQ6D,gBAAAA,EAAAA,IAAAnE,EAAa,UAAb,EAAsB,OAAAiE,GAAe,UAAA9D,EAAS,CAAA;AACxD,GAEaiE,KAAkB,MAAyB;AAChD,QAAAC,IAAUC,EAAWtE,CAAY;AACvC,MAAI,CAACqE;AACG,UAAA,IAAI,MAAM,qDAAqD;AAEhE,SAAAA;AACT,GAEaf,KAAoB,CAACU,GAA4BvB,MAAmC;AAC3F,MAAA,CAACuB,EAAe,QAAA;AACpB,QAAMxC,IAAOiB,EAAU,KAAK,CAAC8B,MAAMA,EAAE,OAAOP,CAAM;AAClD,UAAOxC,KAAA,gBAAAA,EAAM,WAAU;AACzB;"}
|
|
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 useGetCurrentUserQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n} from '@shared/api'\nimport useBuildViewMenuItems from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\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 workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: boolean\n isViewWorking: 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 // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any\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 { data: currentUser } = useGetCurrentUserQuery()\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 const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n onCreate: handleOnViewCreated,\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\n const { currentData: viewsList = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\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 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 // 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,\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 workingSettings,\n editingViewData,\n isLoadingEditingViewData,\n viewsList,\n workingView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n isViewWorking,\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}"],"names":["ViewsContext","createContext","ViewsProvider","children","viewTypeProp","projectName","dispatch","debug","viewType","viewTypes","powerLicense","usePowerpack","currentUser","useGetCurrentUserQuery","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsList","isLoadingViews","useListViewsQuery","workingView","useGetWorkingViewQuery","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","useMemo","onSaveViewFromCurrent","useSaveViewFromCurrent","resetWorkingView","useCallback","error","viewMenuItems","useBuildViewMenuItems","viewId","value","viewsQueries","jsx","useViewsContext","context","useContext","v"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("../../context/ViewsContext.cjs.js"),C=require("../../utils/viewUpdateHelper.cjs.js"),s=require("react"),U=()=>{const{viewSettings:l}=v.useViewsContext(),[c,r]=s.useState(null),[i,d]=s.useState(null),[u,p]=s.useState(null),{updateViewSettings:n}=C.useViewUpdateHelper(),a=l,e=(a==null?void 0:a.slicer)||{},S=e.rowSelection||{},w=e.expanded||{},g=e.persistentRowSelectionData||{};s.useEffect(()=>{r(null),d(null),p(null)},[JSON.stringify(l)]);const R=c!==null?c:S,x=i!==null?i:w,y=u!==null?u:g,D=s.useCallback(async t=>{const o={...e,rowSelection:t};await n({slicer:o},r,t,{errorMessage:"Failed to update row selection"})},[n,e]),V=s.useCallback(async t=>{const o={...e,expanded:t};await n({slicer:o},d,t,{errorMessage:"Failed to update expanded state"})},[n,e]),b=s.useCallback(async t=>{const o={...e,persistentRowSelectionData:t};await n({slicer:o},p,t,{errorMessage:"Failed to update persistent row selection data"})},[n,e]);return{rowSelection:R,onUpdateRowSelection:D,expanded:x,onUpdateExpanded:V,persistentRowSelectionData:y,onUpdatePersistentRowSelectionData:b}};exports.useReportsViewSettings=U;
|
|
2
|
+
//# sourceMappingURL=useReportsViewSettings.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useReportsViewSettings.cjs.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useReportsViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing reports page view settings.\n *\n * The hook handles:\n * - Slicer row selection state\n * - Slicer expanded state\n * - Slicer slice type (hierarchy, assignees, status, etc.)\n * - Slicer persistent row selection data\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback } from 'react'\nimport { RowSelectionState, ExpandedState } from '@tanstack/react-table'\nimport { SelectionData } from '@shared/containers/Slicer'\n\ninterface SlicerSettings {\n rowSelection?: RowSelectionState\n expanded?: ExpandedState\n persistentRowSelectionData?: SelectionData\n}\n\nexport type ReportsViewSettings = {\n // Slicer state management\n rowSelection: RowSelectionState\n onUpdateRowSelection: (rowSelection: RowSelectionState) => void\n\n expanded: ExpandedState\n onUpdateExpanded: (expanded: ExpandedState) => void\n\n persistentRowSelectionData: SelectionData\n onUpdatePersistentRowSelectionData: (persistentRowSelectionData: SelectionData) => void\n}\n\nexport const useReportsViewSettings = (): ReportsViewSettings => {\n // Get views context\n const { viewSettings } = useViewsContext()\n\n // Local state for immediate updates\n const [localRowSelection, setLocalRowSelection] = useState<RowSelectionState | null>(null)\n const [localExpanded, setLocalExpanded] = useState<ExpandedState | null>(null)\n const [localPersistentData, setLocalPersistentData] = useState<SelectionData | null>(null)\n\n // Get view update helper\n const { updateViewSettings } = useViewUpdateHelper()\n\n // Get server settings from view\n const overviewSettings = viewSettings as OverviewSettings\n const serverSettings = (overviewSettings as any)?.slicer || {} as SlicerSettings\n\n // Extract individual settings from server\n const serverRowSelection = (serverSettings.rowSelection as RowSelectionState) || {}\n const serverExpanded = (serverSettings.expanded as ExpandedState) || {}\n const serverPersistentData = (serverSettings.persistentRowSelectionData as SelectionData) || {}\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalRowSelection(null)\n setLocalExpanded(null)\n setLocalPersistentData(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const rowSelection = localRowSelection !== null ? localRowSelection : serverRowSelection\n const expanded = localExpanded !== null ? localExpanded : serverExpanded\n const persistentRowSelectionData = localPersistentData !== null ? localPersistentData : serverPersistentData\n\n // Update handlers for each setting\n const onUpdateRowSelection = useCallback(\n async (newRowSelection: RowSelectionState) => {\n const updatedSlicer = {\n ...serverSettings,\n rowSelection: newRowSelection,\n }\n await updateViewSettings(\n { slicer: updatedSlicer },\n setLocalRowSelection,\n newRowSelection,\n { errorMessage: 'Failed to update row selection' }\n )\n },\n [updateViewSettings, serverSettings]\n )\n\n const onUpdateExpanded = useCallback(\n async (newExpanded: ExpandedState) => {\n const updatedSlicer = {\n ...serverSettings,\n expanded: newExpanded,\n }\n await updateViewSettings(\n { slicer: updatedSlicer },\n setLocalExpanded,\n newExpanded,\n { errorMessage: 'Failed to update expanded state' }\n )\n },\n [updateViewSettings, serverSettings]\n )\n\n const onUpdatePersistentRowSelectionData = useCallback(\n async (newPersistentData: SelectionData) => {\n const updatedSlicer = {\n ...serverSettings,\n persistentRowSelectionData: newPersistentData,\n }\n await updateViewSettings(\n { slicer: updatedSlicer },\n setLocalPersistentData,\n newPersistentData,\n { errorMessage: 'Failed to update persistent row selection data' }\n )\n },\n [updateViewSettings, serverSettings]\n )\n\n return {\n rowSelection,\n onUpdateRowSelection,\n expanded,\n onUpdateExpanded,\n persistentRowSelectionData,\n onUpdatePersistentRowSelectionData,\n }\n}\n"],"names":["useReportsViewSettings","viewSettings","useViewsContext","localRowSelection","setLocalRowSelection","useState","localExpanded","setLocalExpanded","localPersistentData","setLocalPersistentData","updateViewSettings","useViewUpdateHelper","overviewSettings","serverSettings","serverRowSelection","serverExpanded","serverPersistentData","useEffect","rowSelection","expanded","persistentRowSelectionData","onUpdateRowSelection","useCallback","newRowSelection","updatedSlicer","onUpdateExpanded","newExpanded","onUpdatePersistentRowSelectionData","newPersistentData"],"mappings":"yMAqCaA,EAAyB,IAA2B,CAEzD,KAAA,CAAE,aAAAC,CAAa,EAAIC,kBAAgB,EAGnC,CAACC,EAAmBC,CAAoB,EAAIC,EAAAA,SAAmC,IAAI,EACnF,CAACC,EAAeC,CAAgB,EAAIF,EAAAA,SAA+B,IAAI,EACvE,CAACG,EAAqBC,CAAsB,EAAIJ,EAAAA,SAA+B,IAAI,EAGnF,CAAE,mBAAAK,CAAmB,EAAIC,sBAAoB,EAG7CC,EAAmBX,EACnBY,GAAkBD,GAAA,YAAAA,EAA0B,SAAU,CAAC,EAGvDE,EAAsBD,EAAe,cAAsC,CAAC,EAC5EE,EAAkBF,EAAe,UAA8B,CAAC,EAChEG,EAAwBH,EAAe,4BAAgD,CAAC,EAG9FI,EAAAA,UAAU,IAAM,CACdb,EAAqB,IAAI,EACzBG,EAAiB,IAAI,EACrBE,EAAuB,IAAI,GAC1B,CAAC,KAAK,UAAUR,CAAY,CAAC,CAAC,EAG3B,MAAAiB,EAAef,IAAsB,KAAOA,EAAoBW,EAChEK,EAAWb,IAAkB,KAAOA,EAAgBS,EACpDK,EAA6BZ,IAAwB,KAAOA,EAAsBQ,EAGlFK,EAAuBC,EAAA,YAC3B,MAAOC,GAAuC,CAC5C,MAAMC,EAAgB,CACpB,GAAGX,EACH,aAAcU,CAChB,EACM,MAAAb,EACJ,CAAE,OAAQc,CAAc,EACxBpB,EACAmB,EACA,CAAE,aAAc,gCAAiC,CACnD,CACF,EACA,CAACb,EAAoBG,CAAc,CACrC,EAEMY,EAAmBH,EAAA,YACvB,MAAOI,GAA+B,CACpC,MAAMF,EAAgB,CACpB,GAAGX,EACH,SAAUa,CACZ,EACM,MAAAhB,EACJ,CAAE,OAAQc,CAAc,EACxBjB,EACAmB,EACA,CAAE,aAAc,iCAAkC,CACpD,CACF,EACA,CAAChB,EAAoBG,CAAc,CACrC,EAEMc,EAAqCL,EAAA,YACzC,MAAOM,GAAqC,CAC1C,MAAMJ,EAAgB,CACpB,GAAGX,EACH,2BAA4Be,CAC9B,EACM,MAAAlB,EACJ,CAAE,OAAQc,CAAc,EACxBf,EACAmB,EACA,CAAE,aAAc,gDAAiD,CACnE,CACF,EACA,CAAClB,EAAoBG,CAAc,CACrC,EAEO,MAAA,CACL,aAAAK,EACA,qBAAAG,EACA,SAAAF,EACA,iBAAAM,EACA,2BAAAL,EACA,mCAAAO,CACF,CACF"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { useViewsContext as U } from "../../context/ViewsContext.es.js";
|
|
2
|
+
import { useViewUpdateHelper as V } from "../../utils/viewUpdateHelper.es.js";
|
|
3
|
+
import { useState as a, useEffect as v, useCallback as l } from "react";
|
|
4
|
+
const P = () => {
|
|
5
|
+
const { viewSettings: c } = U(), [r, i] = a(null), [d, p] = a(null), [u, S] = a(null), { updateViewSettings: s } = V(), n = c, e = (n == null ? void 0 : n.slicer) || {}, w = e.rowSelection || {}, x = e.expanded || {}, R = e.persistentRowSelectionData || {};
|
|
6
|
+
v(() => {
|
|
7
|
+
i(null), p(null), S(null);
|
|
8
|
+
}, [JSON.stringify(c)]);
|
|
9
|
+
const g = r !== null ? r : w, f = d !== null ? d : x, m = u !== null ? u : R, D = l(
|
|
10
|
+
async (t) => {
|
|
11
|
+
const o = {
|
|
12
|
+
...e,
|
|
13
|
+
rowSelection: t
|
|
14
|
+
};
|
|
15
|
+
await s(
|
|
16
|
+
{ slicer: o },
|
|
17
|
+
i,
|
|
18
|
+
t,
|
|
19
|
+
{ errorMessage: "Failed to update row selection" }
|
|
20
|
+
);
|
|
21
|
+
},
|
|
22
|
+
[s, e]
|
|
23
|
+
), y = l(
|
|
24
|
+
async (t) => {
|
|
25
|
+
const o = {
|
|
26
|
+
...e,
|
|
27
|
+
expanded: t
|
|
28
|
+
};
|
|
29
|
+
await s(
|
|
30
|
+
{ slicer: o },
|
|
31
|
+
p,
|
|
32
|
+
t,
|
|
33
|
+
{ errorMessage: "Failed to update expanded state" }
|
|
34
|
+
);
|
|
35
|
+
},
|
|
36
|
+
[s, e]
|
|
37
|
+
), E = l(
|
|
38
|
+
async (t) => {
|
|
39
|
+
const o = {
|
|
40
|
+
...e,
|
|
41
|
+
persistentRowSelectionData: t
|
|
42
|
+
};
|
|
43
|
+
await s(
|
|
44
|
+
{ slicer: o },
|
|
45
|
+
S,
|
|
46
|
+
t,
|
|
47
|
+
{ errorMessage: "Failed to update persistent row selection data" }
|
|
48
|
+
);
|
|
49
|
+
},
|
|
50
|
+
[s, e]
|
|
51
|
+
);
|
|
52
|
+
return {
|
|
53
|
+
rowSelection: g,
|
|
54
|
+
onUpdateRowSelection: D,
|
|
55
|
+
expanded: f,
|
|
56
|
+
onUpdateExpanded: y,
|
|
57
|
+
persistentRowSelectionData: m,
|
|
58
|
+
onUpdatePersistentRowSelectionData: E
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
export {
|
|
62
|
+
P as useReportsViewSettings
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=useReportsViewSettings.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useReportsViewSettings.es.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useReportsViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing reports page view settings.\n *\n * The hook handles:\n * - Slicer row selection state\n * - Slicer expanded state\n * - Slicer slice type (hierarchy, assignees, status, etc.)\n * - Slicer persistent row selection data\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback } from 'react'\nimport { RowSelectionState, ExpandedState } from '@tanstack/react-table'\nimport { SelectionData } from '@shared/containers/Slicer'\n\ninterface SlicerSettings {\n rowSelection?: RowSelectionState\n expanded?: ExpandedState\n persistentRowSelectionData?: SelectionData\n}\n\nexport type ReportsViewSettings = {\n // Slicer state management\n rowSelection: RowSelectionState\n onUpdateRowSelection: (rowSelection: RowSelectionState) => void\n\n expanded: ExpandedState\n onUpdateExpanded: (expanded: ExpandedState) => void\n\n persistentRowSelectionData: SelectionData\n onUpdatePersistentRowSelectionData: (persistentRowSelectionData: SelectionData) => void\n}\n\nexport const useReportsViewSettings = (): ReportsViewSettings => {\n // Get views context\n const { viewSettings } = useViewsContext()\n\n // Local state for immediate updates\n const [localRowSelection, setLocalRowSelection] = useState<RowSelectionState | null>(null)\n const [localExpanded, setLocalExpanded] = useState<ExpandedState | null>(null)\n const [localPersistentData, setLocalPersistentData] = useState<SelectionData | null>(null)\n\n // Get view update helper\n const { updateViewSettings } = useViewUpdateHelper()\n\n // Get server settings from view\n const overviewSettings = viewSettings as OverviewSettings\n const serverSettings = (overviewSettings as any)?.slicer || {} as SlicerSettings\n\n // Extract individual settings from server\n const serverRowSelection = (serverSettings.rowSelection as RowSelectionState) || {}\n const serverExpanded = (serverSettings.expanded as ExpandedState) || {}\n const serverPersistentData = (serverSettings.persistentRowSelectionData as SelectionData) || {}\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalRowSelection(null)\n setLocalExpanded(null)\n setLocalPersistentData(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const rowSelection = localRowSelection !== null ? localRowSelection : serverRowSelection\n const expanded = localExpanded !== null ? localExpanded : serverExpanded\n const persistentRowSelectionData = localPersistentData !== null ? localPersistentData : serverPersistentData\n\n // Update handlers for each setting\n const onUpdateRowSelection = useCallback(\n async (newRowSelection: RowSelectionState) => {\n const updatedSlicer = {\n ...serverSettings,\n rowSelection: newRowSelection,\n }\n await updateViewSettings(\n { slicer: updatedSlicer },\n setLocalRowSelection,\n newRowSelection,\n { errorMessage: 'Failed to update row selection' }\n )\n },\n [updateViewSettings, serverSettings]\n )\n\n const onUpdateExpanded = useCallback(\n async (newExpanded: ExpandedState) => {\n const updatedSlicer = {\n ...serverSettings,\n expanded: newExpanded,\n }\n await updateViewSettings(\n { slicer: updatedSlicer },\n setLocalExpanded,\n newExpanded,\n { errorMessage: 'Failed to update expanded state' }\n )\n },\n [updateViewSettings, serverSettings]\n )\n\n const onUpdatePersistentRowSelectionData = useCallback(\n async (newPersistentData: SelectionData) => {\n const updatedSlicer = {\n ...serverSettings,\n persistentRowSelectionData: newPersistentData,\n }\n await updateViewSettings(\n { slicer: updatedSlicer },\n setLocalPersistentData,\n newPersistentData,\n { errorMessage: 'Failed to update persistent row selection data' }\n )\n },\n [updateViewSettings, serverSettings]\n )\n\n return {\n rowSelection,\n onUpdateRowSelection,\n expanded,\n onUpdateExpanded,\n persistentRowSelectionData,\n onUpdatePersistentRowSelectionData,\n }\n}\n"],"names":["useReportsViewSettings","viewSettings","useViewsContext","localRowSelection","setLocalRowSelection","useState","localExpanded","setLocalExpanded","localPersistentData","setLocalPersistentData","updateViewSettings","useViewUpdateHelper","overviewSettings","serverSettings","serverRowSelection","serverExpanded","serverPersistentData","useEffect","rowSelection","expanded","persistentRowSelectionData","onUpdateRowSelection","useCallback","newRowSelection","updatedSlicer","onUpdateExpanded","newExpanded","onUpdatePersistentRowSelectionData","newPersistentData"],"mappings":";;;AAqCO,MAAMA,IAAyB,MAA2B;AAEzD,QAAA,EAAE,cAAAC,EAAa,IAAIC,EAAgB,GAGnC,CAACC,GAAmBC,CAAoB,IAAIC,EAAmC,IAAI,GACnF,CAACC,GAAeC,CAAgB,IAAIF,EAA+B,IAAI,GACvE,CAACG,GAAqBC,CAAsB,IAAIJ,EAA+B,IAAI,GAGnF,EAAE,oBAAAK,EAAmB,IAAIC,EAAoB,GAG7CC,IAAmBX,GACnBY,KAAkBD,KAAA,gBAAAA,EAA0B,WAAU,CAAC,GAGvDE,IAAsBD,EAAe,gBAAsC,CAAC,GAC5EE,IAAkBF,EAAe,YAA8B,CAAC,GAChEG,IAAwBH,EAAe,8BAAgD,CAAC;AAG9F,EAAAI,EAAU,MAAM;AACd,IAAAb,EAAqB,IAAI,GACzBG,EAAiB,IAAI,GACrBE,EAAuB,IAAI;AAAA,KAC1B,CAAC,KAAK,UAAUR,CAAY,CAAC,CAAC;AAG3B,QAAAiB,IAAef,MAAsB,OAAOA,IAAoBW,GAChEK,IAAWb,MAAkB,OAAOA,IAAgBS,GACpDK,IAA6BZ,MAAwB,OAAOA,IAAsBQ,GAGlFK,IAAuBC;AAAA,IAC3B,OAAOC,MAAuC;AAC5C,YAAMC,IAAgB;AAAA,QACpB,GAAGX;AAAA,QACH,cAAcU;AAAA,MAChB;AACM,YAAAb;AAAA,QACJ,EAAE,QAAQc,EAAc;AAAA,QACxBpB;AAAA,QACAmB;AAAA,QACA,EAAE,cAAc,iCAAiC;AAAA,MACnD;AAAA,IACF;AAAA,IACA,CAACb,GAAoBG,CAAc;AAAA,EACrC,GAEMY,IAAmBH;AAAA,IACvB,OAAOI,MAA+B;AACpC,YAAMF,IAAgB;AAAA,QACpB,GAAGX;AAAA,QACH,UAAUa;AAAA,MACZ;AACM,YAAAhB;AAAA,QACJ,EAAE,QAAQc,EAAc;AAAA,QACxBjB;AAAA,QACAmB;AAAA,QACA,EAAE,cAAc,kCAAkC;AAAA,MACpD;AAAA,IACF;AAAA,IACA,CAAChB,GAAoBG,CAAc;AAAA,EACrC,GAEMc,IAAqCL;AAAA,IACzC,OAAOM,MAAqC;AAC1C,YAAMJ,IAAgB;AAAA,QACpB,GAAGX;AAAA,QACH,4BAA4Be;AAAA,MAC9B;AACM,YAAAlB;AAAA,QACJ,EAAE,QAAQc,EAAc;AAAA,QACxBf;AAAA,QACAmB;AAAA,QACA,EAAE,cAAc,iDAAiD;AAAA,MACnE;AAAA,IACF;AAAA,IACA,CAAClB,GAAoBG,CAAc;AAAA,EACrC;AAEO,SAAA;AAAA,IACL,cAAAK;AAAA,IACA,sBAAAG;AAAA,IACA,UAAAF;AAAA,IACA,kBAAAM;AAAA,IACA,4BAAAL;AAAA,IACA,oCAAAO;AAAA,EACF;AACF;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../../_virtual/jsx-runtime.cjs.js"),o=require("react"),u=o.createContext(void 0),c=({children:t})=>{const[s,n]=o.useState(!1),r={menuOpen:s,setMenuOpen:e=>{n(e)},toggleMenuOpen:e=>{if(!e){n(!1);return}n(e===s?!1:e)}};return i.jsxRuntimeExports.jsx(u.Provider,{value:r,children:t})},M=()=>{const t=o.useContext(u);if(t===void 0)throw new Error("useMenuContext must be used within a MenuProvider");return t};exports.MenuProvider=c;exports.useMenuContext=M;
|
|
2
|
+
//# sourceMappingURL=MenuContext.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuContext.cjs.js","sources":["../../../../src/context/MenuContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useState, ReactNode } from 'react'\n\ninterface MenuContextType {\n menuOpen: string | false\n setMenuOpen: (menuId: string | false) => void\n toggleMenuOpen: (menuId: string | false) => void\n}\n\nconst MenuContext = createContext<MenuContextType | undefined>(undefined)\n\ninterface MenuProviderProps {\n children: ReactNode\n}\n\nexport const MenuProvider: React.FC<MenuProviderProps> = ({ children }) => {\n const [menuOpen, setMenuOpenState] = useState<string | false>(false)\n\n const setMenuOpen = (menuId: string | false) => {\n setMenuOpenState(menuId)\n }\n\n const toggleMenuOpen = (menuId: string | false) => {\n // no payload means toggle off\n if (!menuId) {\n setMenuOpenState(false)\n return\n }\n\n // if payload is same as current state, toggle off\n if (menuId === menuOpen) {\n setMenuOpenState(false)\n } else {\n // else set payload\n setMenuOpenState(menuId)\n }\n }\n\n const value: MenuContextType = {\n menuOpen,\n setMenuOpen,\n toggleMenuOpen,\n }\n\n return <MenuContext.Provider value={value}>{children}</MenuContext.Provider>\n}\n\nexport const useMenuContext = (): MenuContextType => {\n const context = useContext(MenuContext)\n if (context === undefined) {\n throw new Error('useMenuContext must be used within a MenuProvider')\n }\n return context\n}\n"],"names":["MenuContext","createContext","MenuProvider","children","menuOpen","setMenuOpenState","useState","value","menuId","jsx","useMenuContext","context","useContext"],"mappings":"2JAQMA,EAAcC,gBAA2C,MAAS,EAM3DC,EAA4C,CAAC,CAAE,SAAAC,KAAe,CACzE,KAAM,CAACC,EAAUC,CAAgB,EAAIC,EAAAA,SAAyB,EAAK,EAsB7DC,EAAyB,CAC7B,SAAAH,EACA,YAtBmBI,GAA2B,CAC9CH,EAAiBG,CAAM,CACzB,EAqBE,eAnBsBA,GAA2B,CAEjD,GAAI,CAACA,EAAQ,CACXH,EAAiB,EAAK,EACtB,MAAA,CAKAA,EADEG,IAAWJ,EACI,GAGAI,CAHK,CAK1B,CAMA,EAEA,OAAQC,EAAAA,kBAAAA,IAAAT,EAAY,SAAZ,CAAqB,MAAAO,EAAe,SAAAJ,CAAS,CAAA,CACvD,EAEaO,EAAiB,IAAuB,CAC7C,MAAAC,EAAUC,aAAWZ,CAAW,EACtC,GAAIW,IAAY,OACR,MAAA,IAAI,MAAM,mDAAmD,EAE9D,OAAAA,CACT"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { j as u } from "../../../_virtual/jsx-runtime.es.js";
|
|
2
|
+
import { createContext as i, useState as c, useContext as p } from "react";
|
|
3
|
+
const s = i(void 0), l = ({ children: t }) => {
|
|
4
|
+
const [o, n] = c(!1), r = {
|
|
5
|
+
menuOpen: o,
|
|
6
|
+
setMenuOpen: (e) => {
|
|
7
|
+
n(e);
|
|
8
|
+
},
|
|
9
|
+
toggleMenuOpen: (e) => {
|
|
10
|
+
if (!e) {
|
|
11
|
+
n(!1);
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
n(e === o ? !1 : e);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
return /* @__PURE__ */ u.jsx(s.Provider, { value: r, children: t });
|
|
18
|
+
}, v = () => {
|
|
19
|
+
const t = p(s);
|
|
20
|
+
if (t === void 0)
|
|
21
|
+
throw new Error("useMenuContext must be used within a MenuProvider");
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
export {
|
|
25
|
+
l as MenuProvider,
|
|
26
|
+
v as useMenuContext
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=MenuContext.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuContext.es.js","sources":["../../../../src/context/MenuContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useState, ReactNode } from 'react'\n\ninterface MenuContextType {\n menuOpen: string | false\n setMenuOpen: (menuId: string | false) => void\n toggleMenuOpen: (menuId: string | false) => void\n}\n\nconst MenuContext = createContext<MenuContextType | undefined>(undefined)\n\ninterface MenuProviderProps {\n children: ReactNode\n}\n\nexport const MenuProvider: React.FC<MenuProviderProps> = ({ children }) => {\n const [menuOpen, setMenuOpenState] = useState<string | false>(false)\n\n const setMenuOpen = (menuId: string | false) => {\n setMenuOpenState(menuId)\n }\n\n const toggleMenuOpen = (menuId: string | false) => {\n // no payload means toggle off\n if (!menuId) {\n setMenuOpenState(false)\n return\n }\n\n // if payload is same as current state, toggle off\n if (menuId === menuOpen) {\n setMenuOpenState(false)\n } else {\n // else set payload\n setMenuOpenState(menuId)\n }\n }\n\n const value: MenuContextType = {\n menuOpen,\n setMenuOpen,\n toggleMenuOpen,\n }\n\n return <MenuContext.Provider value={value}>{children}</MenuContext.Provider>\n}\n\nexport const useMenuContext = (): MenuContextType => {\n const context = useContext(MenuContext)\n if (context === undefined) {\n throw new Error('useMenuContext must be used within a MenuProvider')\n }\n return context\n}\n"],"names":["MenuContext","createContext","MenuProvider","children","menuOpen","setMenuOpenState","useState","value","menuId","jsx","useMenuContext","context","useContext"],"mappings":";;AAQA,MAAMA,IAAcC,EAA2C,MAAS,GAM3DC,IAA4C,CAAC,EAAE,UAAAC,QAAe;AACzE,QAAM,CAACC,GAAUC,CAAgB,IAAIC,EAAyB,EAAK,GAsB7DC,IAAyB;AAAA,IAC7B,UAAAH;AAAA,IACA,aAtBkB,CAACI,MAA2B;AAC9C,MAAAH,EAAiBG,CAAM;AAAA,IACzB;AAAA,IAqBE,gBAnBqB,CAACA,MAA2B;AAEjD,UAAI,CAACA,GAAQ;AACX,QAAAH,EAAiB,EAAK;AACtB;AAAA,MAAA;AAIF,MACEA,EADEG,MAAWJ,IACI,KAGAI,CAHK;AAAA,IAK1B;AAAA,EAMA;AAEA,SAAQC,gBAAAA,EAAAA,IAAAT,EAAY,UAAZ,EAAqB,OAAAO,GAAe,UAAAJ,EAAS,CAAA;AACvD,GAEaO,IAAiB,MAAuB;AAC7C,QAAAC,IAAUC,EAAWZ,CAAW;AACtC,MAAIW,MAAY;AACR,UAAA,IAAI,MAAM,mDAAmD;AAE9D,SAAAA;AACT;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../../../_virtual/jsx-runtime.cjs.js"),r=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../../../_virtual/jsx-runtime.cjs.js"),r=require("react"),v=require("../hooks/useLoadModule.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/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("lodash");require("react-toastify");require("./RemoteModulesContext.cjs.js");require("./DetailsPanelContext.cjs.js");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("react-dom");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");require("./MoveEntityContext.cjs.js");require("react-redux");require("custom-protocol-check");const l={slicer:{label:"Slicer",description:"Advanced filtering system for project organization.",bullet:"Powerful project filtering tools"},annotations:{label:"Annotations",description:"Create detailed visual feedback directly on media files.",bullet:"Advanced media review tools"},releases:{label:"Release History",description:"Access and download the complete archive of releases",bullet:"Full release archive access"},advancedFilters:{label:"Advanced Filters",description:"Customize your view and find your data with powerful filtering options",bullet:"Advanced filtering options"},listAttributes:{label:"List Attributes",description:"Add custom attributes to your lists for better collaboration and organization.",bullet:"Custom attributes for lists"},listAccess:{label:"List Access",description:"Manage and control access to your lists with advanced sharing options.",bullet:"Advanced list sharing options"},groupAttributes:{label:"Group Attributes",description:"Group tasks by assignees, status, or other attributes for better organization.",bullet:"Group tasks by attributes"},sharedViews:{label:"Shared Views",description:"Save custom views and share them with team members for better collaboration.",bullet:"Save and share custom views"}},d=r.createContext(void 0),k=({children:i,debug:e})=>{const[t,a]=r.useState(null),p=o=>o?l[o]:null,[c,u]=r.useState(!1),w=async()=>!1,[n,{isLoaded:q,isLoading:P}]=v.useLoadModule({addon:"powerpack",remote:"license",module:"checkPowerLicense",fallback:w});r.useEffect(()=>{(async()=>{if((e==null?void 0:e.powerLicense)!==void 0)console.warn("Using debug power license:",e.powerLicense),u(e.powerLicense);else if(q)try{const s=await n();u(s)}catch(s){console.error("Error checking power license:",s),u(!1)}})()},[e,q,n]);const b=r.useMemo(()=>({powerLicense:c,selectedPowerPack:t,setPowerpackDialog:a,powerpackDialog:p(t)}),[c,t,a]);return f.jsxRuntimeExports.jsx(d.Provider,{value:b,children:i})},h=()=>{const i=r.useContext(d);if(i===void 0)throw new Error("usePowerpack must be used within a PowerpackProvider");return i};exports.PowerpackProvider=k;exports.powerpackFeatures=l;exports.usePowerpack=h;
|
|
2
2
|
//# sourceMappingURL=PowerpackContext.cjs.js.map
|