@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,5 +1,5 @@
|
|
|
1
1
|
import "../../base/client.es.js";
|
|
2
|
-
import { api as
|
|
2
|
+
import { api as E } from "../../generated/graphql.es.js";
|
|
3
3
|
import "../../generated/graphqlLinks.es.js";
|
|
4
4
|
import "../../generated/access.es.js";
|
|
5
5
|
import "../../generated/actions.es.js";
|
|
@@ -11,7 +11,7 @@ import "../../generated/authentication.es.js";
|
|
|
11
11
|
import "../../generated/bundles.es.js";
|
|
12
12
|
import "../../generated/configuration.es.js";
|
|
13
13
|
import "../../generated/desktop.es.js";
|
|
14
|
-
import "../../generated/entityLists.es.js";
|
|
14
|
+
import { api as w } from "../../generated/entityLists.es.js";
|
|
15
15
|
import "../../generated/events.es.js";
|
|
16
16
|
import "../../generated/files.es.js";
|
|
17
17
|
import "../../generated/folders.es.js";
|
|
@@ -43,59 +43,69 @@ import "lodash";
|
|
|
43
43
|
import "react-toastify";
|
|
44
44
|
import "uuid";
|
|
45
45
|
import d from "../../../util/pubsub.es.js";
|
|
46
|
-
const T =
|
|
46
|
+
const T = (i) => {
|
|
47
|
+
if (!i) return {};
|
|
48
|
+
try {
|
|
49
|
+
return typeof i != "string" ? i ?? {} : JSON.parse(i);
|
|
50
|
+
} catch (t) {
|
|
51
|
+
return console.warn("Failed to parse entity list data field:", t), {};
|
|
52
|
+
}
|
|
53
|
+
}, R = 500, v = 100, h = E.enhanceEndpoints({
|
|
47
54
|
endpoints: {
|
|
48
55
|
GetLists: {
|
|
49
|
-
transformResponse: (
|
|
56
|
+
transformResponse: (i) => ({
|
|
50
57
|
// @ts-expect-error - entityType is string
|
|
51
|
-
lists:
|
|
52
|
-
|
|
58
|
+
lists: i.project.entityLists.edges.map((t) => ({
|
|
59
|
+
...t.node,
|
|
60
|
+
data: T(t.node.data)
|
|
61
|
+
})),
|
|
62
|
+
pageInfo: i.project.entityLists.pageInfo
|
|
53
63
|
})
|
|
54
64
|
},
|
|
55
65
|
GetListItems: {
|
|
56
|
-
transformResponse: (
|
|
57
|
-
items:
|
|
58
|
-
(
|
|
59
|
-
...
|
|
66
|
+
transformResponse: (i) => ({
|
|
67
|
+
items: i.project.entityLists.edges.flatMap(
|
|
68
|
+
(t) => t.node.items.edges.map(({ node: e, ...n }) => ({
|
|
69
|
+
...e,
|
|
60
70
|
...n,
|
|
61
71
|
attrib: C(n.allAttrib)
|
|
62
72
|
}))
|
|
63
73
|
),
|
|
64
|
-
pageInfo:
|
|
74
|
+
pageInfo: i.project.entityLists.edges[0].node.items.pageInfo
|
|
65
75
|
})
|
|
66
76
|
},
|
|
67
77
|
GetListsItemsForReviewSession: {
|
|
68
|
-
transformResponse: (
|
|
69
|
-
lists:
|
|
70
|
-
pageInfo:
|
|
78
|
+
transformResponse: (i) => ({
|
|
79
|
+
lists: i.project.entityLists.edges.map((t) => t.node),
|
|
80
|
+
pageInfo: i.project.entityLists.pageInfo
|
|
71
81
|
})
|
|
72
82
|
}
|
|
73
83
|
}
|
|
74
|
-
}),
|
|
75
|
-
endpoints: (
|
|
76
|
-
getListsInfinite:
|
|
84
|
+
}), G = h.injectEndpoints({
|
|
85
|
+
endpoints: (i) => ({
|
|
86
|
+
getListsInfinite: i.infiniteQuery({
|
|
77
87
|
infiniteQueryOptions: {
|
|
78
88
|
initialPageParam: { cursor: "" },
|
|
79
|
-
getNextPageParam: (
|
|
80
|
-
const { pageInfo:
|
|
81
|
-
if (!(!
|
|
89
|
+
getNextPageParam: (t) => {
|
|
90
|
+
const { pageInfo: e } = t;
|
|
91
|
+
if (!(!e.hasNextPage || !e.endCursor))
|
|
82
92
|
return {
|
|
83
|
-
cursor:
|
|
93
|
+
cursor: e.endCursor
|
|
84
94
|
};
|
|
85
95
|
}
|
|
86
96
|
},
|
|
87
|
-
queryFn: async ({ queryArg:
|
|
97
|
+
queryFn: async ({ queryArg: t, pageParam: e }, n) => {
|
|
88
98
|
try {
|
|
89
|
-
const { cursor:
|
|
90
|
-
...
|
|
91
|
-
first:
|
|
92
|
-
after:
|
|
93
|
-
},
|
|
94
|
-
h.endpoints.GetLists.initiate(
|
|
99
|
+
const { cursor: s } = e, r = {
|
|
100
|
+
...t,
|
|
101
|
+
first: R,
|
|
102
|
+
after: s || void 0
|
|
103
|
+
}, a = await n.dispatch(
|
|
104
|
+
h.endpoints.GetLists.initiate(r, { forceRefetch: !0 })
|
|
95
105
|
);
|
|
96
|
-
if (
|
|
106
|
+
if (a.error) throw a.error;
|
|
97
107
|
return {
|
|
98
|
-
data:
|
|
108
|
+
data: a.data || {
|
|
99
109
|
lists: [],
|
|
100
110
|
pageInfo: {
|
|
101
111
|
hasNextPage: !1,
|
|
@@ -105,68 +115,68 @@ const T = 500, v = 100, h = R.enhanceEndpoints({
|
|
|
105
115
|
}
|
|
106
116
|
}
|
|
107
117
|
};
|
|
108
|
-
} catch (
|
|
109
|
-
return console.error("Error in getListsInfinite queryFn:",
|
|
118
|
+
} catch (s) {
|
|
119
|
+
return console.error("Error in getListsInfinite queryFn:", s), { error: { status: "FETCH_ERROR", error: s.message } };
|
|
110
120
|
}
|
|
111
121
|
},
|
|
112
|
-
providesTags: (
|
|
122
|
+
providesTags: (t) => [
|
|
113
123
|
{ type: "entityList", id: "LIST" },
|
|
114
|
-
...((
|
|
124
|
+
...((t == null ? void 0 : t.pages.flatMap((e) => e.lists)) || []).map((e) => ({
|
|
115
125
|
type: "entityList",
|
|
116
|
-
id:
|
|
126
|
+
id: e.id
|
|
117
127
|
})),
|
|
118
|
-
...((
|
|
128
|
+
...((t == null ? void 0 : t.pages.flatMap((e) => e.lists)) || []).map((e) => ({
|
|
119
129
|
type: "entityList",
|
|
120
|
-
id:
|
|
130
|
+
id: e.entityListType
|
|
121
131
|
}))
|
|
122
132
|
],
|
|
123
|
-
async onCacheEntryAdded(
|
|
124
|
-
let
|
|
133
|
+
async onCacheEntryAdded(t, { cacheDataLoaded: e, cacheEntryRemoved: n, dispatch: s, updateCachedData: r }) {
|
|
134
|
+
let a;
|
|
125
135
|
try {
|
|
126
|
-
await
|
|
127
|
-
const p = (
|
|
128
|
-
if (
|
|
129
|
-
const
|
|
130
|
-
f && (
|
|
131
|
-
const u =
|
|
136
|
+
await e;
|
|
137
|
+
const p = (o, c) => {
|
|
138
|
+
if (o !== "entity_list.changed") return;
|
|
139
|
+
const m = c.summary, f = m.id;
|
|
140
|
+
f && (r((l) => {
|
|
141
|
+
const u = l.pages.flatMap((g) => g.lists).find((g) => g.id === f);
|
|
132
142
|
if (!u) return;
|
|
133
143
|
const I = {
|
|
134
144
|
...u,
|
|
135
|
-
label:
|
|
136
|
-
entityType:
|
|
137
|
-
entityListType:
|
|
138
|
-
count:
|
|
145
|
+
label: m.label,
|
|
146
|
+
entityType: m.entity_type,
|
|
147
|
+
entityListType: m.entity_list_type,
|
|
148
|
+
count: m.count
|
|
139
149
|
};
|
|
140
150
|
Object.assign(u, I);
|
|
141
|
-
}),
|
|
151
|
+
}), s(E.util.invalidateTags([{ type: "entityList", id: "LIST" }])));
|
|
142
152
|
};
|
|
143
|
-
|
|
153
|
+
a = d.subscribe("entity_list.changed", p);
|
|
144
154
|
} catch {
|
|
145
155
|
}
|
|
146
|
-
await n, d.unsubscribe(
|
|
156
|
+
await n, d.unsubscribe(a);
|
|
147
157
|
}
|
|
148
158
|
}),
|
|
149
|
-
getListItemsInfinite:
|
|
159
|
+
getListItemsInfinite: i.infiniteQuery({
|
|
150
160
|
infiniteQueryOptions: {
|
|
151
161
|
initialPageParam: { cursor: "" },
|
|
152
|
-
getNextPageParam: (
|
|
153
|
-
const { pageInfo:
|
|
154
|
-
if (!(!
|
|
162
|
+
getNextPageParam: (t) => {
|
|
163
|
+
const { pageInfo: e } = t;
|
|
164
|
+
if (!(!e.hasNextPage || !e.endCursor))
|
|
155
165
|
return {
|
|
156
|
-
cursor:
|
|
166
|
+
cursor: e.endCursor
|
|
157
167
|
};
|
|
158
168
|
}
|
|
159
169
|
},
|
|
160
|
-
queryFn: async ({ queryArg:
|
|
170
|
+
queryFn: async ({ queryArg: t, pageParam: e }, n) => {
|
|
161
171
|
try {
|
|
162
|
-
const { sortBy:
|
|
163
|
-
...
|
|
172
|
+
const { sortBy: s, desc: r, ...a } = t, { cursor: p } = e, o = {
|
|
173
|
+
...a,
|
|
164
174
|
first: v,
|
|
165
175
|
after: p || void 0
|
|
166
176
|
};
|
|
167
|
-
|
|
177
|
+
o.after = p || void 0, o.first = v, s && (o.sortBy = s, r && (o.before = p || void 0, o.after = void 0, o.last = v, o.first = void 0));
|
|
168
178
|
const c = await n.dispatch(
|
|
169
|
-
h.endpoints.GetListItems.initiate(
|
|
179
|
+
h.endpoints.GetListItems.initiate(o, {
|
|
170
180
|
forceRefetch: !0
|
|
171
181
|
})
|
|
172
182
|
);
|
|
@@ -182,71 +192,71 @@ const T = 500, v = 100, h = R.enhanceEndpoints({
|
|
|
182
192
|
}
|
|
183
193
|
}
|
|
184
194
|
};
|
|
185
|
-
} catch (
|
|
186
|
-
return console.error("Error in getListsInfinite queryFn:",
|
|
195
|
+
} catch (s) {
|
|
196
|
+
return console.error("Error in getListsInfinite queryFn:", s), { error: { status: "FETCH_ERROR", error: s.message } };
|
|
187
197
|
}
|
|
188
198
|
},
|
|
189
|
-
providesTags: (
|
|
199
|
+
providesTags: (t, e, { listId: n, projectName: s }) => [
|
|
190
200
|
{ type: "entityListItem", id: "LIST" },
|
|
191
201
|
{ type: "entityListItem", id: n },
|
|
192
|
-
{ type: "entityListItem", id:
|
|
193
|
-
...((
|
|
202
|
+
{ type: "entityListItem", id: s },
|
|
203
|
+
...((t == null ? void 0 : t.pages.flatMap((r) => r.items)) || []).filter((r) => !!r).flatMap((r) => [
|
|
194
204
|
{
|
|
195
205
|
type: "entityListItem",
|
|
196
|
-
id:
|
|
206
|
+
id: r.id
|
|
197
207
|
},
|
|
198
208
|
{
|
|
199
209
|
type: "entityListItem",
|
|
200
|
-
id:
|
|
210
|
+
id: r.entityId
|
|
201
211
|
}
|
|
202
212
|
])
|
|
203
213
|
],
|
|
204
|
-
async onCacheEntryAdded(
|
|
214
|
+
async onCacheEntryAdded(t, { cacheDataLoaded: e, cacheEntryRemoved: n, dispatch: s }) {
|
|
205
215
|
var p;
|
|
206
|
-
let
|
|
216
|
+
let r, a;
|
|
207
217
|
try {
|
|
208
|
-
const f = (p = (await
|
|
209
|
-
|
|
210
|
-
}, g = (
|
|
211
|
-
if (
|
|
212
|
-
const
|
|
213
|
-
|
|
214
|
-
}, b = (
|
|
215
|
-
if (!
|
|
216
|
-
const
|
|
217
|
-
|
|
218
|
+
const f = (p = (await e).data.pages.flatMap((y) => y.items)[0]) == null ? void 0 : p.entityType, l = "entity_list.changed", u = `entity.${f}`, I = (y) => {
|
|
219
|
+
s(E.util.invalidateTags([{ type: "entityListItem", id: y }]));
|
|
220
|
+
}, g = (y, P) => {
|
|
221
|
+
if (y !== l) return;
|
|
222
|
+
const L = P.summary.id;
|
|
223
|
+
L && I(L);
|
|
224
|
+
}, b = (y, P) => {
|
|
225
|
+
if (!y.startsWith(u)) return;
|
|
226
|
+
const L = P.summary.entityId;
|
|
227
|
+
L && I(L);
|
|
218
228
|
};
|
|
219
|
-
|
|
229
|
+
r = d.subscribe(l, g), f && (a = d.subscribe(u, b));
|
|
220
230
|
} catch {
|
|
221
231
|
}
|
|
222
|
-
await n, d.unsubscribe(
|
|
232
|
+
await n, d.unsubscribe(r), d.unsubscribe(a);
|
|
223
233
|
}
|
|
224
234
|
}),
|
|
225
|
-
getListsItemsForReviewSession:
|
|
235
|
+
getListsItemsForReviewSession: i.infiniteQuery({
|
|
226
236
|
infiniteQueryOptions: {
|
|
227
237
|
initialPageParam: { cursor: "" },
|
|
228
|
-
getNextPageParam: (
|
|
229
|
-
const { pageInfo:
|
|
230
|
-
if (!(!
|
|
238
|
+
getNextPageParam: (t) => {
|
|
239
|
+
const { pageInfo: e } = t;
|
|
240
|
+
if (!(!e.hasNextPage || !e.endCursor))
|
|
231
241
|
return {
|
|
232
|
-
cursor:
|
|
242
|
+
cursor: e.endCursor
|
|
233
243
|
};
|
|
234
244
|
}
|
|
235
245
|
},
|
|
236
|
-
queryFn: async ({ queryArg:
|
|
246
|
+
queryFn: async ({ queryArg: t, pageParam: e }, n) => {
|
|
237
247
|
try {
|
|
238
|
-
const { cursor:
|
|
239
|
-
...
|
|
240
|
-
first:
|
|
241
|
-
after:
|
|
242
|
-
},
|
|
243
|
-
h.endpoints.GetListsItemsForReviewSession.initiate(
|
|
248
|
+
const { cursor: s } = e, r = {
|
|
249
|
+
...t,
|
|
250
|
+
first: R,
|
|
251
|
+
after: s || void 0
|
|
252
|
+
}, a = await n.dispatch(
|
|
253
|
+
h.endpoints.GetListsItemsForReviewSession.initiate(r, {
|
|
244
254
|
forceRefetch: !0
|
|
245
255
|
})
|
|
246
256
|
);
|
|
247
|
-
if (
|
|
257
|
+
if (a.error) throw a.error;
|
|
248
258
|
return {
|
|
249
|
-
data:
|
|
259
|
+
data: a.data || {
|
|
250
260
|
lists: [],
|
|
251
261
|
pageInfo: {
|
|
252
262
|
hasNextPage: !1,
|
|
@@ -256,36 +266,51 @@ const T = 500, v = 100, h = R.enhanceEndpoints({
|
|
|
256
266
|
}
|
|
257
267
|
}
|
|
258
268
|
};
|
|
259
|
-
} catch (
|
|
260
|
-
return console.error("Error in getListsInfinite queryFn:",
|
|
269
|
+
} catch (s) {
|
|
270
|
+
return console.error("Error in getListsInfinite queryFn:", s), { error: { status: "FETCH_ERROR", error: s.message } };
|
|
261
271
|
}
|
|
262
272
|
},
|
|
263
|
-
providesTags: (
|
|
273
|
+
providesTags: (t) => [
|
|
264
274
|
{ type: "entityList", id: "LIST" },
|
|
265
|
-
...((
|
|
275
|
+
...((t == null ? void 0 : t.pages.flatMap((e) => e.lists)) || []).map((e) => ({
|
|
266
276
|
type: "entityList",
|
|
267
|
-
id:
|
|
277
|
+
id: e.id
|
|
268
278
|
}))
|
|
269
279
|
]
|
|
270
280
|
})
|
|
271
281
|
})
|
|
282
|
+
}), S = w.enhanceEndpoints({
|
|
283
|
+
endpoints: {
|
|
284
|
+
getEntityList: {
|
|
285
|
+
transformResponse: (i) => ({
|
|
286
|
+
...i,
|
|
287
|
+
data: T(i.data)
|
|
288
|
+
}),
|
|
289
|
+
providesTags: (i, t, { listId: e, projectName: n }) => [
|
|
290
|
+
{ type: "entityList", id: e },
|
|
291
|
+
{ type: "entityList", id: n },
|
|
292
|
+
...i ? [{ type: "entityList", id: i.entityListType }] : []
|
|
293
|
+
]
|
|
294
|
+
}
|
|
295
|
+
}
|
|
272
296
|
}), {
|
|
273
|
-
useGetListsInfiniteInfiniteQuery:
|
|
274
|
-
useGetListItemsInfiniteInfiniteQuery:
|
|
275
|
-
useGetListsItemsForReviewSessionInfiniteQuery:
|
|
276
|
-
useLazyGetListsQuery:
|
|
277
|
-
useLazyGetListsItemsForReviewSessionQuery:
|
|
278
|
-
useLazyGetListItemsQuery:
|
|
279
|
-
} =
|
|
297
|
+
useGetListsInfiniteInfiniteQuery: Et,
|
|
298
|
+
useGetListItemsInfiniteInfiniteQuery: Rt,
|
|
299
|
+
useGetListsItemsForReviewSessionInfiniteQuery: Tt,
|
|
300
|
+
useLazyGetListsQuery: bt,
|
|
301
|
+
useLazyGetListsItemsForReviewSessionQuery: _t,
|
|
302
|
+
useLazyGetListItemsQuery: wt
|
|
303
|
+
} = G, { useGetEntityListQuery: Ct } = S;
|
|
280
304
|
export {
|
|
281
|
-
|
|
305
|
+
R as LISTS_PER_PAGE,
|
|
282
306
|
v as LIST_ITEMS_PER_PAGE,
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
307
|
+
G as default,
|
|
308
|
+
Ct as useGetEntityListQuery,
|
|
309
|
+
Rt as useGetListItemsInfiniteInfiniteQuery,
|
|
310
|
+
Et as useGetListsInfiniteInfiniteQuery,
|
|
311
|
+
Tt as useGetListsItemsForReviewSessionInfiniteQuery,
|
|
312
|
+
wt as useLazyGetListItemsQuery,
|
|
313
|
+
_t as useLazyGetListsItemsForReviewSessionQuery,
|
|
314
|
+
bt as useLazyGetListsQuery
|
|
290
315
|
};
|
|
291
316
|
//# sourceMappingURL=getLists.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLists.es.js","sources":["../../../../../../src/api/queries/entityLists/getLists.ts"],"sourcesContent":["import { gqlApi } from '@shared/api/generated'\nimport {\n FetchBaseQueryError,\n DefinitionsFromApi,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport type {\n GetListItemsQuery,\n GetListItemsQueryVariables,\n GetListsItemsForReviewSessionQuery,\n GetListsItemsForReviewSessionResult,\n GetListsQuery,\n GetListsQueryVariables,\n} from '@shared/api'\nimport { parseAllAttribs } from '../overview'\nimport { PubSub } from '@shared/util'\nimport {\n GetListItemsResult,\n GetListsResult,\n ListItemMessage,\n ListItemsPageParam,\n ListsPageParam,\n} from './types'\n\n// GRAPHQL API (getLists and getListItems)\n// Define the LISTS_PER_PAGE constant for pagination\nexport const LISTS_PER_PAGE = 500\nexport const LIST_ITEMS_PER_PAGE = 100\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetLists' | 'GetListItems'> & {\n GetLists: OverrideResultType<Definitions['GetLists'], GetListsResult>\n GetListItems: OverrideResultType<Definitions['GetListItems'], GetListItemsResult>\n GetListsItemsForReviewSession: OverrideResultType<\n Definitions['GetListsItemsForReviewSession'],\n GetListsItemsForReviewSessionResult\n >\n}\n\nconst getListsGqlApiEnhanced = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetLists: {\n transformResponse: (response: GetListsQuery): GetListsResult => {\n return {\n // @ts-expect-error - entityType is string\n lists: response.project.entityLists.edges.map((edge) => edge.node),\n pageInfo: response.project.entityLists.pageInfo,\n }\n },\n },\n GetListItems: {\n transformResponse: (response: GetListItemsQuery): GetListItemsResult => {\n return {\n items: response.project.entityLists.edges.flatMap((listEdge) =>\n listEdge.node.items.edges.map(({ node, ...edge }) => {\n return {\n ...node,\n ...edge,\n attrib: parseAllAttribs(edge.allAttrib),\n } as GetListItemsResult['items'][number]\n }),\n ),\n pageInfo: response.project.entityLists.edges[0].node.items.pageInfo,\n }\n },\n },\n GetListsItemsForReviewSession: {\n transformResponse: (\n response: GetListsItemsForReviewSessionQuery,\n ): GetListsItemsForReviewSessionResult => {\n return {\n lists: response.project.entityLists.edges.map((edge) => edge.node),\n pageInfo: response.project.entityLists.pageInfo,\n }\n },\n },\n },\n})\n\nconst getListsGqlApiInjected = getListsGqlApiEnhanced.injectEndpoints({\n endpoints: (build) => ({\n getListsInfinite: build.infiniteQuery<\n GetListsResult,\n Omit<GetListsQueryVariables, 'first' | 'after' | 'before'>,\n ListsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams = {\n ...queryArg,\n first: LISTS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetLists.initiate(queryParams, { forceRefetch: true }),\n )\n\n if (result.error) throw result.error\n\n return {\n data: result.data || {\n lists: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result) => [\n { type: 'entityList', id: 'LIST' },\n ...(result?.pages.flatMap((page) => page.lists) || []).map((list) => ({\n type: 'entityList' as const,\n id: list.id,\n })),\n ...(result?.pages.flatMap((page) => page.lists) || []).map((list) => ({\n type: 'entityList' as const,\n id: list.entityListType,\n })),\n ],\n async onCacheEntryAdded(\n _args,\n { cacheDataLoaded, cacheEntryRemoved, dispatch, updateCachedData },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = (topic: string, message: ListItemMessage) => {\n if (topic !== 'entity_list.changed') return\n const summary = message.summary\n const id = summary.id\n if (!id) return\n\n // We have all the data we need to update the cache\n updateCachedData((draft) => {\n const list = draft.pages.flatMap((page) => page.lists).find((l) => l.id === id)\n if (!list) return\n const newList = {\n ...list,\n label: summary.label,\n entityType: summary.entity_type,\n entityListType: summary.entity_list_type,\n count: summary.count,\n }\n\n Object.assign(list, newList)\n })\n // NOTE: We have to invalidate here as we don't know if other fields are updated not included in the updateCachedData\n // invalidates lists list cache\n dispatch(gqlApi.util.invalidateTags([{ type: 'entityList', id: `LIST` }]))\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('entity_list.changed', handlePubSub)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n },\n }),\n getListItemsInfinite: build.infiniteQuery<\n GetListItemsResult,\n Omit<GetListItemsQueryVariables, 'first' | 'after' | 'before' | 'last'> & { desc?: boolean },\n ListItemsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { sortBy, desc, ...rest } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams: GetListItemsQueryVariables = {\n ...rest,\n first: LIST_ITEMS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Add cursor-based pagination\n queryParams.after = cursor || undefined\n queryParams.first = LIST_ITEMS_PER_PAGE\n\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.after = undefined\n queryParams.last = LIST_ITEMS_PER_PAGE\n queryParams.first = undefined\n }\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetListItems.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n\n return {\n data: result.data || {\n items: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result, _e, { listId, projectName }) => [\n { type: 'entityListItem', id: 'LIST' },\n { type: 'entityListItem', id: listId },\n { type: 'entityListItem', id: projectName },\n ...(result?.pages.flatMap((page) => page.items) || [])\n .filter((i) => !!i)\n .flatMap((item) => [\n {\n type: 'entityListItem',\n id: item.id,\n },\n {\n type: 'entityListItem',\n id: item.entityId,\n },\n ]),\n ],\n async onCacheEntryAdded(_args, { cacheDataLoaded, cacheEntryRemoved, dispatch }) {\n let token, token2\n try {\n // wait for the initial query to resolve before proceeding\n const cache = await cacheDataLoaded\n const pages = cache.data.pages\n const items = pages.flatMap((page) => page.items)\n // get entityType of first item\n const entityType = items[0]?.entityType\n\n const listTopic = `entity_list.changed`\n const entityTypeTopic = `entity.${entityType}`\n\n const invalidateListItems = (id: string) => {\n dispatch(gqlApi.util.invalidateTags([{ type: 'entityListItem', id: id }]))\n }\n\n const handleListMessage = (topic: string, message: ListItemMessage) => {\n if (topic !== listTopic) return\n const summary = message.summary\n const id = summary.id\n if (!id) return\n invalidateListItems(id)\n }\n\n const handleEntityMessage = (topic: string, message: ListItemMessage) => {\n if (!topic.startsWith(entityTypeTopic)) return\n const summary = message.summary\n const id = summary.entityId\n // check for id\n if (!id) return\n invalidateListItems(id)\n }\n\n // sub to websocket topic\n token = PubSub.subscribe(listTopic, handleListMessage)\n if (entityType) token2 = PubSub.subscribe(entityTypeTopic, handleEntityMessage)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n PubSub.unsubscribe(token2)\n },\n }),\n getListsItemsForReviewSession: build.infiniteQuery<\n GetListsItemsForReviewSessionResult,\n Omit<GetListsQueryVariables, 'first' | 'after' | 'before' | 'filter'>,\n ListsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams = {\n ...queryArg,\n first: LISTS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetListsItemsForReviewSession.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n\n return {\n data: result.data || {\n lists: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result) => [\n { type: 'entityList', id: 'LIST' },\n ...(result?.pages.flatMap((page) => page.lists) || []).map((list) => ({\n type: 'entityList' as const,\n id: list.id,\n })),\n ],\n }),\n }),\n})\n\nexport default getListsGqlApiInjected\n\nexport const {\n useGetListsInfiniteInfiniteQuery,\n useGetListItemsInfiniteInfiniteQuery,\n useGetListsItemsForReviewSessionInfiniteQuery,\n useLazyGetListsQuery,\n useLazyGetListsItemsForReviewSessionQuery,\n useLazyGetListItemsQuery,\n} = getListsGqlApiInjected\n"],"names":["LISTS_PER_PAGE","LIST_ITEMS_PER_PAGE","getListsGqlApiEnhanced","gqlApi","response","edge","listEdge","node","parseAllAttribs","getListsGqlApiInjected","build","lastPage","pageInfo","queryArg","pageParam","api","cursor","queryParams","result","e","page","list","_args","cacheDataLoaded","cacheEntryRemoved","dispatch","updateCachedData","token","handlePubSub","topic","message","summary","id","draft","l","newList","PubSub","sortBy","desc","rest","_e","listId","projectName","i","item","token2","entityType","_a","listTopic","entityTypeTopic","invalidateListItems","handleListMessage","handleEntityMessage","useGetListsInfiniteInfiniteQuery","useGetListItemsInfiniteInfiniteQuery","useGetListsItemsForReviewSessionInfiniteQuery","useLazyGetListsQuery","useLazyGetListsItemsForReviewSessionQuery","useLazyGetListItemsQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BO,MAAMA,IAAiB,KACjBC,IAAsB,KAc7BC,IAAyBC,EAAO,iBAA+C;AAAA,EACnF,WAAW;AAAA,IACT,UAAU;AAAA,MACR,mBAAmB,CAACC,OACX;AAAA;AAAA,QAEL,OAAOA,EAAS,QAAQ,YAAY,MAAM,IAAI,CAACC,MAASA,EAAK,IAAI;AAAA,QACjE,UAAUD,EAAS,QAAQ,YAAY;AAAA,MACzC;AAAA,IAEJ;AAAA,IACA,cAAc;AAAA,MACZ,mBAAmB,CAACA,OACX;AAAA,QACL,OAAOA,EAAS,QAAQ,YAAY,MAAM;AAAA,UAAQ,CAACE,MACjDA,EAAS,KAAK,MAAM,MAAM,IAAI,CAAC,EAAE,MAAAC,GAAM,GAAGF,SACjC;AAAA,YACL,GAAGE;AAAA,YACH,GAAGF;AAAA,YACH,QAAQG,EAAgBH,EAAK,SAAS;AAAA,UACxC,EACD;AAAA,QACH;AAAA,QACA,UAAUD,EAAS,QAAQ,YAAY,MAAM,CAAC,EAAE,KAAK,MAAM;AAAA,MAC7D;AAAA,IAEJ;AAAA,IACA,+BAA+B;AAAA,MAC7B,mBAAmB,CACjBA,OAEO;AAAA,QACL,OAAOA,EAAS,QAAQ,YAAY,MAAM,IAAI,CAACC,MAASA,EAAK,IAAI;AAAA,QACjE,UAAUD,EAAS,QAAQ,YAAY;AAAA,MACzC;AAAA,IACF;AAAA,EACF;AAEJ,CAAC,GAEKK,IAAyBP,EAAuB,gBAAgB;AAAA,EACpE,WAAW,CAACQ,OAAW;AAAA,IACrB,kBAAkBA,EAAM,cAItB;AAAA,MACA,sBAAsB;AAAA,QACpB,kBAAkB,EAAE,QAAQ,GAAG;AAAA,QAC/B,kBAAkB,CAACC,MAAa;AACxB,gBAAA,EAAE,UAAAC,MAAaD;AACrB,cAAI,GAACC,EAAS,eAAe,CAACA,EAAS;AAEhC,mBAAA;AAAA,cACL,QAAQA,EAAS;AAAA,YACnB;AAAA,QAAA;AAAA,MAEJ;AAAA,MACA,SAAS,OAAO,EAAE,UAAAC,GAAU,WAAAC,EAAA,GAAaC,MAAQ;AAC3C,YAAA;AACI,gBAAA,EAAE,QAAAC,MAAWF,GAGbG,IAAc;AAAA,YAClB,GAAGJ;AAAA,YACH,OAAOb;AAAA,YACP,OAAOgB,KAAU;AAAA,UACnB,GAGME,IAAS,MAAMH,EAAI;AAAA,YACvBb,EAAuB,UAAU,SAAS,SAASe,GAAa,EAAE,cAAc,GAAM,CAAA;AAAA,UACxF;AAEI,cAAAC,EAAO,MAAO,OAAMA,EAAO;AAExB,iBAAA;AAAA,YACL,MAAMA,EAAO,QAAQ;AAAA,cACnB,OAAO,CAAC;AAAA,cACR,UAAU;AAAA,gBACR,aAAa;AAAA,gBACb,WAAW;AAAA,gBACX,aAAa;AAAA,gBACb,iBAAiB;AAAA,cAAA;AAAA,YACnB;AAAA,UAEJ;AAAA,iBACOC,GAAQ;AACP,yBAAA,MAAM,sCAAsCA,CAAC,GAC9C,EAAE,OAAO,EAAE,QAAQ,eAAe,OAAOA,EAAE,UAAiC;AAAA,QAAA;AAAA,MAEvF;AAAA,MACA,cAAc,CAACD,MAAW;AAAA,QACxB,EAAE,MAAM,cAAc,IAAI,OAAO;AAAA,QACjC,KAAIA,KAAA,gBAAAA,EAAQ,MAAM,QAAQ,CAACE,MAASA,EAAK,WAAU,CAAA,GAAI,IAAI,CAACC,OAAU;AAAA,UACpE,MAAM;AAAA,UACN,IAAIA,EAAK;AAAA,QAAA,EACT;AAAA,QACF,KAAIH,KAAA,gBAAAA,EAAQ,MAAM,QAAQ,CAACE,MAASA,EAAK,WAAU,CAAA,GAAI,IAAI,CAACC,OAAU;AAAA,UACpE,MAAM;AAAA,UACN,IAAIA,EAAK;AAAA,QAAA,EACT;AAAA,MACJ;AAAA,MACA,MAAM,kBACJC,GACA,EAAE,iBAAAC,GAAiB,mBAAAC,GAAmB,UAAAC,GAAU,kBAAAC,KAChD;AACI,YAAAC;AACA,YAAA;AAEI,gBAAAJ;AAEA,gBAAAK,IAAe,CAACC,GAAeC,MAA6B;AAChE,gBAAID,MAAU,sBAAuB;AACrC,kBAAME,IAAUD,EAAQ,SAClBE,IAAKD,EAAQ;AACnB,YAAKC,MAGLN,EAAiB,CAACO,MAAU;AAC1B,oBAAMZ,IAAOY,EAAM,MAAM,QAAQ,CAACb,MAASA,EAAK,KAAK,EAAE,KAAK,CAACc,MAAMA,EAAE,OAAOF,CAAE;AAC9E,kBAAI,CAACX,EAAM;AACX,oBAAMc,IAAU;AAAA,gBACd,GAAGd;AAAA,gBACH,OAAOU,EAAQ;AAAA,gBACf,YAAYA,EAAQ;AAAA,gBACpB,gBAAgBA,EAAQ;AAAA,gBACxB,OAAOA,EAAQ;AAAA,cACjB;AAEO,qBAAA,OAAOV,GAAMc,CAAO;AAAA,YAAA,CAC5B,GAGQV,EAAAtB,EAAO,KAAK,eAAe,CAAC,EAAE,MAAM,cAAc,IAAI,OAAA,CAAQ,CAAC,CAAC;AAAA,UAC3E;AAGQ,UAAAwB,IAAAS,EAAO,UAAU,uBAAuBR,CAAY;AAAA,QAAA,QACtD;AAAA,QAAA;AAKF,cAAAJ,GAENY,EAAO,YAAYT,CAAK;AAAA,MAAA;AAAA,IAC1B,CACD;AAAA,IACD,sBAAsBjB,EAAM,cAI1B;AAAA,MACA,sBAAsB;AAAA,QACpB,kBAAkB,EAAE,QAAQ,GAAG;AAAA,QAC/B,kBAAkB,CAACC,MAAa;AACxB,gBAAA,EAAE,UAAAC,MAAaD;AACrB,cAAI,GAACC,EAAS,eAAe,CAACA,EAAS;AAEhC,mBAAA;AAAA,cACL,QAAQA,EAAS;AAAA,YACnB;AAAA,QAAA;AAAA,MAEJ;AAAA,MACA,SAAS,OAAO,EAAE,UAAAC,GAAU,WAAAC,EAAA,GAAaC,MAAQ;AAC3C,YAAA;AACF,gBAAM,EAAE,QAAAsB,GAAQ,MAAAC,GAAM,GAAGC,EAAS,IAAA1B,GAC5B,EAAE,QAAAG,MAAWF,GAGbG,IAA0C;AAAA,YAC9C,GAAGsB;AAAA,YACH,OAAOtC;AAAA,YACP,OAAOe,KAAU;AAAA,UACnB;AAGA,UAAAC,EAAY,QAAQD,KAAU,QAC9BC,EAAY,QAAQhB,GAEhBoC,MACFpB,EAAY,SAASoB,GACjBC,MACFrB,EAAY,SAASD,KAAU,QAC/BC,EAAY,QAAQ,QACpBA,EAAY,OAAOhB,GACnBgB,EAAY,QAAQ;AAKlB,gBAAAC,IAAS,MAAMH,EAAI;AAAA,YACvBb,EAAuB,UAAU,aAAa,SAASe,GAAa;AAAA,cAClE,cAAc;AAAA,YACf,CAAA;AAAA,UACH;AAEI,cAAAC,EAAO,MAAO,OAAMA,EAAO;AAExB,iBAAA;AAAA,YACL,MAAMA,EAAO,QAAQ;AAAA,cACnB,OAAO,CAAC;AAAA,cACR,UAAU;AAAA,gBACR,aAAa;AAAA,gBACb,WAAW;AAAA,gBACX,aAAa;AAAA,gBACb,iBAAiB;AAAA,cAAA;AAAA,YACnB;AAAA,UAEJ;AAAA,iBACOC,GAAQ;AACP,yBAAA,MAAM,sCAAsCA,CAAC,GAC9C,EAAE,OAAO,EAAE,QAAQ,eAAe,OAAOA,EAAE,UAAiC;AAAA,QAAA;AAAA,MAEvF;AAAA,MACA,cAAc,CAACD,GAAQsB,GAAI,EAAE,QAAAC,GAAQ,aAAAC,QAAkB;AAAA,QACrD,EAAE,MAAM,kBAAkB,IAAI,OAAO;AAAA,QACrC,EAAE,MAAM,kBAAkB,IAAID,EAAO;AAAA,QACrC,EAAE,MAAM,kBAAkB,IAAIC,EAAY;AAAA,QAC1C,KAAIxB,KAAA,gBAAAA,EAAQ,MAAM,QAAQ,CAACE,MAASA,EAAK,WAAU,IAChD,OAAO,CAACuB,MAAM,CAAC,CAACA,CAAC,EACjB,QAAQ,CAACC,MAAS;AAAA,UACjB;AAAA,YACE,MAAM;AAAA,YACN,IAAIA,EAAK;AAAA,UACX;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,IAAIA,EAAK;AAAA,UAAA;AAAA,QAEZ,CAAA;AAAA,MACL;AAAA,MACA,MAAM,kBAAkBtB,GAAO,EAAE,iBAAAC,GAAiB,mBAAAC,GAAmB,UAAAC,KAAY;;AAC/E,YAAIE,GAAOkB;AACP,YAAA;AAMI,gBAAAC,KAAaC,KAJL,MAAMxB,GACA,KAAK,MACL,QAAQ,CAACH,MAASA,EAAK,KAAK,EAEvB,CAAC,MAAP,gBAAA2B,EAAU,YAEvBC,IAAY,uBACZC,IAAkB,UAAUH,CAAU,IAEtCI,IAAsB,CAAClB,MAAe;AACjC,YAAAP,EAAAtB,EAAO,KAAK,eAAe,CAAC,EAAE,MAAM,kBAAkB,IAAA6B,EAAQ,CAAA,CAAC,CAAC;AAAA,UAC3E,GAEMmB,IAAoB,CAACtB,GAAeC,MAA6B;AACrE,gBAAID,MAAUmB,EAAW;AAEzB,kBAAMhB,IADUF,EAAQ,QACL;AACnB,YAAKE,KACLkB,EAAoBlB,CAAE;AAAA,UACxB,GAEMoB,IAAsB,CAACvB,GAAeC,MAA6B;AACvE,gBAAI,CAACD,EAAM,WAAWoB,CAAe,EAAG;AAExC,kBAAMjB,IADUF,EAAQ,QACL;AAEnB,YAAKE,KACLkB,EAAoBlB,CAAE;AAAA,UACxB;AAGQ,UAAAL,IAAAS,EAAO,UAAUY,GAAWG,CAAiB,GACjDL,MAAYD,IAAST,EAAO,UAAUa,GAAiBG,CAAmB;AAAA,QAAA,QACxE;AAAA,QAAA;AAKF,cAAA5B,GAENY,EAAO,YAAYT,CAAK,GACxBS,EAAO,YAAYS,CAAM;AAAA,MAAA;AAAA,IAC3B,CACD;AAAA,IACD,+BAA+BnC,EAAM,cAInC;AAAA,MACA,sBAAsB;AAAA,QACpB,kBAAkB,EAAE,QAAQ,GAAG;AAAA,QAC/B,kBAAkB,CAACC,MAAa;AACxB,gBAAA,EAAE,UAAAC,MAAaD;AACrB,cAAI,GAACC,EAAS,eAAe,CAACA,EAAS;AAEhC,mBAAA;AAAA,cACL,QAAQA,EAAS;AAAA,YACnB;AAAA,QAAA;AAAA,MAEJ;AAAA,MACA,SAAS,OAAO,EAAE,UAAAC,GAAU,WAAAC,EAAA,GAAaC,MAAQ;AAC3C,YAAA;AACI,gBAAA,EAAE,QAAAC,MAAWF,GAGbG,IAAc;AAAA,YAClB,GAAGJ;AAAA,YACH,OAAOb;AAAA,YACP,OAAOgB,KAAU;AAAA,UACnB,GAGME,IAAS,MAAMH,EAAI;AAAA,YACvBb,EAAuB,UAAU,8BAA8B,SAASe,GAAa;AAAA,cACnF,cAAc;AAAA,YACf,CAAA;AAAA,UACH;AAEI,cAAAC,EAAO,MAAO,OAAMA,EAAO;AAExB,iBAAA;AAAA,YACL,MAAMA,EAAO,QAAQ;AAAA,cACnB,OAAO,CAAC;AAAA,cACR,UAAU;AAAA,gBACR,aAAa;AAAA,gBACb,WAAW;AAAA,gBACX,aAAa;AAAA,gBACb,iBAAiB;AAAA,cAAA;AAAA,YACnB;AAAA,UAEJ;AAAA,iBACOC,GAAQ;AACP,yBAAA,MAAM,sCAAsCA,CAAC,GAC9C,EAAE,OAAO,EAAE,QAAQ,eAAe,OAAOA,EAAE,UAAiC;AAAA,QAAA;AAAA,MAEvF;AAAA,MACA,cAAc,CAACD,MAAW;AAAA,QACxB,EAAE,MAAM,cAAc,IAAI,OAAO;AAAA,QACjC,KAAIA,KAAA,gBAAAA,EAAQ,MAAM,QAAQ,CAACE,MAASA,EAAK,WAAU,CAAA,GAAI,IAAI,CAACC,OAAU;AAAA,UACpE,MAAM;AAAA,UACN,IAAIA,EAAK;AAAA,QAAA,EACT;AAAA,MAAA;AAAA,IAEL,CAAA;AAAA,EACH;AACF,CAAC,GAIY;AAAA,EACX,kCAAAgC;AAAA,EACA,sCAAAC;AAAA,EACA,+CAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,2CAAAC;AAAA,EACA,0BAAAC;AACF,IAAIjD;"}
|
|
1
|
+
{"version":3,"file":"getLists.es.js","sources":["../../../../../../src/api/queries/entityLists/getLists.ts"],"sourcesContent":["import { entityListsApi, gqlApi } from '@shared/api/generated'\nimport {\n FetchBaseQueryError,\n DefinitionsFromApi,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport type {\n GetListItemsQuery,\n GetListItemsQueryVariables,\n GetListsItemsForReviewSessionQuery,\n GetListsItemsForReviewSessionResult,\n GetListsQuery,\n GetListsQueryVariables,\n} from '@shared/api'\nimport { parseAllAttribs } from '../overview'\nimport { PubSub } from '@shared/util'\nimport {\n GetListItemsResult,\n GetListsResult,\n ListItemMessage,\n ListItemsPageParam,\n ListsPageParam,\n} from './types'\n\n// Helper function to safely parse entity list data field from JSON string to object\nconst parseEntityListData = (data: string | null | undefined): Record<string, any> => {\n if (!data) return {}\n\n try {\n if (typeof data !== 'string') {\n return (data as unknown as Record<string, any>) ?? {}\n }\n return JSON.parse(data)\n } catch (e) {\n console.warn('Failed to parse entity list data field:', e)\n return {}\n }\n}\n\n// GRAPHQL API (getLists and getListItems)\n// Define the LISTS_PER_PAGE constant for pagination\nexport const LISTS_PER_PAGE = 500\nexport const LIST_ITEMS_PER_PAGE = 100\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetLists' | 'GetListItems'> & {\n GetLists: OverrideResultType<Definitions['GetLists'], GetListsResult>\n GetListItems: OverrideResultType<Definitions['GetListItems'], GetListItemsResult>\n GetListsItemsForReviewSession: OverrideResultType<\n Definitions['GetListsItemsForReviewSession'],\n GetListsItemsForReviewSessionResult\n >\n}\n\nconst getListsGqlApiEnhanced = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetLists: {\n transformResponse: (response: GetListsQuery): GetListsResult => {\n return {\n // @ts-expect-error - entityType is string\n lists: response.project.entityLists.edges.map((edge) => ({\n ...edge.node,\n data: parseEntityListData(edge.node.data),\n })),\n pageInfo: response.project.entityLists.pageInfo,\n }\n },\n },\n GetListItems: {\n transformResponse: (response: GetListItemsQuery): GetListItemsResult => {\n return {\n items: response.project.entityLists.edges.flatMap((listEdge) =>\n listEdge.node.items.edges.map(({ node, ...edge }) => {\n return {\n ...node,\n ...edge,\n attrib: parseAllAttribs(edge.allAttrib),\n } as GetListItemsResult['items'][number]\n }),\n ),\n pageInfo: response.project.entityLists.edges[0].node.items.pageInfo,\n }\n },\n },\n GetListsItemsForReviewSession: {\n transformResponse: (\n response: GetListsItemsForReviewSessionQuery,\n ): GetListsItemsForReviewSessionResult => {\n return {\n lists: response.project.entityLists.edges.map((edge) => edge.node),\n pageInfo: response.project.entityLists.pageInfo,\n }\n },\n },\n },\n})\n\nconst getListsGqlApiInjected = getListsGqlApiEnhanced.injectEndpoints({\n endpoints: (build) => ({\n getListsInfinite: build.infiniteQuery<\n GetListsResult,\n Omit<GetListsQueryVariables, 'first' | 'after' | 'before'>,\n ListsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams = {\n ...queryArg,\n first: LISTS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetLists.initiate(queryParams, { forceRefetch: true }),\n )\n\n if (result.error) throw result.error\n\n return {\n data: result.data || {\n lists: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result) => [\n { type: 'entityList', id: 'LIST' },\n ...(result?.pages.flatMap((page) => page.lists) || []).map((list) => ({\n type: 'entityList' as const,\n id: list.id,\n })),\n ...(result?.pages.flatMap((page) => page.lists) || []).map((list) => ({\n type: 'entityList' as const,\n id: list.entityListType,\n })),\n ],\n async onCacheEntryAdded(\n _args,\n { cacheDataLoaded, cacheEntryRemoved, dispatch, updateCachedData },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = (topic: string, message: ListItemMessage) => {\n if (topic !== 'entity_list.changed') return\n const summary = message.summary\n const id = summary.id\n if (!id) return\n\n // We have all the data we need to update the cache\n updateCachedData((draft) => {\n const list = draft.pages.flatMap((page) => page.lists).find((l) => l.id === id)\n if (!list) return\n const newList = {\n ...list,\n label: summary.label,\n entityType: summary.entity_type,\n entityListType: summary.entity_list_type,\n count: summary.count,\n }\n\n Object.assign(list, newList)\n })\n // NOTE: We have to invalidate here as we don't know if other fields are updated not included in the updateCachedData\n // invalidates lists list cache\n dispatch(gqlApi.util.invalidateTags([{ type: 'entityList', id: `LIST` }]))\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('entity_list.changed', handlePubSub)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n },\n }),\n getListItemsInfinite: build.infiniteQuery<\n GetListItemsResult,\n Omit<GetListItemsQueryVariables, 'first' | 'after' | 'before' | 'last'> & { desc?: boolean },\n ListItemsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { sortBy, desc, ...rest } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams: GetListItemsQueryVariables = {\n ...rest,\n first: LIST_ITEMS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Add cursor-based pagination\n queryParams.after = cursor || undefined\n queryParams.first = LIST_ITEMS_PER_PAGE\n\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.after = undefined\n queryParams.last = LIST_ITEMS_PER_PAGE\n queryParams.first = undefined\n }\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetListItems.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n\n return {\n data: result.data || {\n items: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result, _e, { listId, projectName }) => [\n { type: 'entityListItem', id: 'LIST' },\n { type: 'entityListItem', id: listId },\n { type: 'entityListItem', id: projectName },\n ...(result?.pages.flatMap((page) => page.items) || [])\n .filter((i) => !!i)\n .flatMap((item) => [\n {\n type: 'entityListItem',\n id: item.id,\n },\n {\n type: 'entityListItem',\n id: item.entityId,\n },\n ]),\n ],\n async onCacheEntryAdded(_args, { cacheDataLoaded, cacheEntryRemoved, dispatch }) {\n let token, token2\n try {\n // wait for the initial query to resolve before proceeding\n const cache = await cacheDataLoaded\n const pages = cache.data.pages\n const items = pages.flatMap((page) => page.items)\n // get entityType of first item\n const entityType = items[0]?.entityType\n\n const listTopic = `entity_list.changed`\n const entityTypeTopic = `entity.${entityType}`\n\n const invalidateListItems = (id: string) => {\n dispatch(gqlApi.util.invalidateTags([{ type: 'entityListItem', id: id }]))\n }\n\n const handleListMessage = (topic: string, message: ListItemMessage) => {\n if (topic !== listTopic) return\n const summary = message.summary\n const id = summary.id\n if (!id) return\n invalidateListItems(id)\n }\n\n const handleEntityMessage = (topic: string, message: ListItemMessage) => {\n if (!topic.startsWith(entityTypeTopic)) return\n const summary = message.summary\n const id = summary.entityId\n // check for id\n if (!id) return\n invalidateListItems(id)\n }\n\n // sub to websocket topic\n token = PubSub.subscribe(listTopic, handleListMessage)\n if (entityType) token2 = PubSub.subscribe(entityTypeTopic, handleEntityMessage)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n PubSub.unsubscribe(token2)\n },\n }),\n getListsItemsForReviewSession: build.infiniteQuery<\n GetListsItemsForReviewSessionResult,\n Omit<GetListsQueryVariables, 'first' | 'after' | 'before' | 'filter'>,\n ListsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams = {\n ...queryArg,\n first: LISTS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetListsItemsForReviewSession.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n\n return {\n data: result.data || {\n lists: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result) => [\n { type: 'entityList', id: 'LIST' },\n ...(result?.pages.flatMap((page) => page.lists) || []).map((list) => ({\n type: 'entityList' as const,\n id: list.id,\n })),\n ],\n }),\n }),\n})\n\nconst getListsApiEnhanced = entityListsApi.enhanceEndpoints({\n endpoints: {\n getEntityList: {\n transformResponse: (response: any) => {\n return {\n ...response,\n data: parseEntityListData(response.data),\n }\n },\n providesTags: (result, _e, { listId, projectName }) => [\n { type: 'entityList', id: listId },\n { type: 'entityList', id: projectName },\n ...(result ? [{ type: 'entityList', id: result.entityListType }] : []),\n ],\n },\n },\n})\n\nexport default getListsGqlApiInjected\n\nexport const {\n useGetListsInfiniteInfiniteQuery,\n useGetListItemsInfiniteInfiniteQuery,\n useGetListsItemsForReviewSessionInfiniteQuery,\n useLazyGetListsQuery,\n useLazyGetListsItemsForReviewSessionQuery,\n useLazyGetListItemsQuery,\n} = getListsGqlApiInjected\n\nexport const { useGetEntityListQuery } = getListsApiEnhanced\n"],"names":["parseEntityListData","data","e","LISTS_PER_PAGE","LIST_ITEMS_PER_PAGE","getListsGqlApiEnhanced","gqlApi","response","edge","listEdge","node","parseAllAttribs","getListsGqlApiInjected","build","lastPage","pageInfo","queryArg","pageParam","api","cursor","queryParams","result","page","list","_args","cacheDataLoaded","cacheEntryRemoved","dispatch","updateCachedData","token","handlePubSub","topic","message","summary","id","draft","l","newList","PubSub","sortBy","desc","rest","_e","listId","projectName","i","item","token2","entityType","_a","listTopic","entityTypeTopic","invalidateListItems","handleListMessage","handleEntityMessage","getListsApiEnhanced","entityListsApi","useGetListsInfiniteInfiniteQuery","useGetListItemsInfiniteInfiniteQuery","useGetListsItemsForReviewSessionInfiniteQuery","useLazyGetListsQuery","useLazyGetListsItemsForReviewSessionQuery","useLazyGetListItemsQuery","useGetEntityListQuery"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/desktop.cjs.js");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/desktop.cjs.js");const E=require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const f=require("./getLists.cjs.js"),M=E.api.enhanceEndpoints({endpoints:{createEntityList:{invalidatesTags:[{type:"entityList",id:"LIST"}]},updateEntityList:{async onQueryStarted({listId:n,entityListPatchModel:t},{dispatch:e,queryFulfilled:l,getState:m}){const o=m(),g=[{type:"entityList",id:n}],I=f.default.util.selectInvalidatedBy(o,g).filter(a=>a.endpointName==="getListsInfinite");let c=[];for(const a of I){const p=e(f.default.util.updateQueryData("getListsInfinite",a.originalArgs,y=>{for(const L of y.pages){const i=L.lists.findIndex(s=>s.id===n);if(i!==-1){const s=L.lists[i];Object.assign(s,t);break}}}));c.push(p)}const r=E.api.util.selectInvalidatedBy(o,g).filter(a=>a.endpointName==="getEntityList"&&a.originalArgs.listId===n);for(const a of r){const p=e(E.api.util.updateQueryData("getEntityList",a.originalArgs,y=>{Object.assign(y,{...y,...t})}));c.push(p)}try{await l}catch{c.forEach(a=>{a.undo()})}}},deleteEntityList:{invalidatesTags:[{type:"entityList",id:"LIST"}]},updateEntityListItems:{async onQueryStarted({listId:n,entityListMultiPatchModel:t},{dispatch:e,queryFulfilled:l,getState:m}){const o=m(),g=[{type:"entityListItem",id:n}],I=f.default.util.selectInvalidatedBy(o,g).filter(r=>r.endpointName==="getListItemsInfinite");let c=[];if(!t.items||t.items.length===0){await l;return}for(const r of I){if(r.originalArgs.listId!==n)continue;const a=e(f.default.util.updateQueryData("getListItemsInfinite",r.originalArgs,p=>{var L;let y=!1;for(const i of p.pages)(L=t.items)==null||L.forEach(s=>{const u=i.items.findIndex(d=>d.id===s.id||d.entityId===s.entityId);if(u!==-1){const d=i.items[u],q={...d,...s,attrib:{...d.attrib,...s.attrib||{}}};Object.assign(i.items[u],q),s.position!==void 0&&(y=!0)}});if(y){let i=p.pages.flatMap(u=>u.items);i.sort((u,d)=>{const q=typeof u.position=="number"?u.position:1/0,b=typeof d.position=="number"?d.position:1/0;return q-b});let s=0;for(const u of p.pages){const d=u.items.length;u.items=i.slice(s,s+d),s+=d}}}));c.push(a)}try{await l}catch{c.forEach(r=>{r.undo()})}},invalidatesTags:(n,t,{listId:e,entityListMultiPatchModel:{items:l}})=>[{type:"entityList",id:e},{type:"entityListItem",id:e},...(l||[]).flatMap(o=>(o.id?[{type:"entityListItem",id:o.id}]:[]).concat(o.entityId?[{type:"entityListItem",id:o.entityId}]:[]))]},updateEntityListItem:{async onQueryStarted({listItemId:n,entityListItemPatchModel:t},{dispatch:e,queryFulfilled:l,getState:m}){const o=m(),g=[{type:"entityListItem",id:n}],I=f.default.util.selectInvalidatedBy(o,g).filter(r=>r.endpointName==="getListItemsInfinite");let c=[];for(const r of I){const a=e(f.default.util.updateQueryData("getListItemsInfinite",r.originalArgs,p=>{for(const y of p.pages){const L=y.items.findIndex(i=>i.id===n);if(L!==-1){const i=y.items[L],s={...i,attrib:{...i.attrib,...t.attrib}};Object.assign(i,s);break}}}));c.push(a)}try{await l}catch{c.forEach(r=>{r.undo()})}}},createEntityListItem:{invalidatesTags:(n,t,{listId:e})=>[{type:"entityList",id:e},{type:"entityListItem",id:e}]},deleteEntityListItem:{invalidatesTags:(n,t,{listId:e})=>[{type:"entityList",id:e},{type:"entityListItem",id:e}]}}}),h=M.injectEndpoints({endpoints:n=>({createSessionFromList:n.mutation({query:t=>({url:`/api/addons/review/${t.addonVersion}/${t.projectName}/sessions/fromList`,method:"POST",body:t.sessionFromListRequest}),transformErrorResponse:t=>t.data.detail,invalidatesTags:()=>[{type:"entityList",id:"LIST"}]})})}),{useCreateEntityListMutation:v,useUpdateEntityListMutation:S,useDeleteEntityListMutation:T,useUpdateEntityListItemsMutation:R,useUpdateEntityListItemMutation:Q,useCreateEntityListItemMutation:j,useDeleteEntityListItemMutation:x,useCreateSessionFromListMutation:C}=h;exports.entityListsQueriesGql=f.default;exports.entityListsQueriesRest=h;exports.useCreateEntityListItemMutation=j;exports.useCreateEntityListMutation=v;exports.useCreateSessionFromListMutation=C;exports.useDeleteEntityListItemMutation=x;exports.useDeleteEntityListMutation=T;exports.useUpdateEntityListItemMutation=Q;exports.useUpdateEntityListItemsMutation=R;exports.useUpdateEntityListMutation=S;
|
|
2
2
|
//# sourceMappingURL=updateLists.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateLists.cjs.js","sources":["../../../../../../src/api/queries/entityLists/updateLists.ts"],"sourcesContent":["import { entityListsApi } from '@shared/api/generated'\nimport gqlApi from './getLists'\nimport { CreateSessionFromListApiArg, CreateSessionFromListApiResponse } from './types'\n\nconst updateListsEnhancedApi = entityListsApi.enhanceEndpoints({\n endpoints: {\n // LIST MUTATIONS\n createEntityList: {\n invalidatesTags: [{ type: 'entityList', id: 'LIST' }],\n },\n updateEntityList: {\n async onQueryStarted(\n { listId, entityListPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n const tags = [{ type: 'entityList', id: listId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListsInfinite')\n\n let patchResults: any[] = []\n for (const entry of infiniteEntries) {\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListsInfinite', entry.originalArgs, (draft) => {\n for (const page of draft.pages) {\n const listIndex = page.lists.findIndex((list) => list.id === listId)\n if (listIndex !== -1) {\n const list = page.lists[listIndex]\n // Update the list with the new data\n Object.assign(list, entityListPatchModel)\n break\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n invalidatesTags: (_s, _e, { listId }) => {\n const tags = [{ type: 'entityList', id: listId }]\n return tags\n },\n },\n deleteEntityList: {\n invalidatesTags: [{ type: 'entityList', id: 'LIST' }],\n },\n // LIST ITEM MUTATIONS\n updateEntityListItems: {\n async onQueryStarted(\n { listId, entityListMultiPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n // We are primarily interested in updating the items within a specific list\n const tags = [{ type: 'entityListItem', id: listId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListItemsInfinite')\n\n let patchResults: any[] = []\n\n if (!entityListMultiPatchModel.items || entityListMultiPatchModel.items.length === 0) {\n // No items to update, proceed without optimistic update\n await queryFulfilled\n return\n }\n\n for (const entry of infiniteEntries) {\n // only update entries that match the listId\n if (entry.originalArgs.listId !== listId) continue\n\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListItemsInfinite', entry.originalArgs, (draft) => {\n let overallPositionChanged = false\n // First pass: update items in place and check if any position changed\n for (const page of draft.pages) {\n entityListMultiPatchModel.items?.forEach((patchItem) => {\n const itemIndex = page.items.findIndex(\n (item) => item.id === patchItem.id || item.entityId === patchItem.entityId,\n )\n\n if (itemIndex !== -1) {\n const existingItem = page.items[itemIndex]\n // Merge existing item with patchItem, ensuring attrib is also merged\n const updatedItem = {\n ...existingItem,\n ...patchItem, // Apply all top-level fields from patchItem\n attrib: {\n ...existingItem.attrib,\n ...(patchItem.attrib || {}), // Merge attrib safely\n },\n }\n Object.assign(page.items[itemIndex], updatedItem)\n\n if (patchItem.position !== undefined) {\n overallPositionChanged = true\n }\n }\n })\n }\n\n if (overallPositionChanged) {\n // Collect all items from all pages for this specific cache entry\n let allItems = draft.pages.flatMap((page) => page.items)\n\n // Sort all items based on position\n allItems.sort((a, b) => {\n const posA = typeof a.position === 'number' ? a.position : Infinity\n const posB = typeof b.position === 'number' ? b.position : Infinity\n return posA - posB\n })\n\n // Re-distribute sorted items back into pages, maintaining original page sizes\n let currentItemIndex = 0\n for (const page of draft.pages) {\n const pageItemCount = page.items.length // Get original item count for this page\n // Replace page items with the corresponding slice from the globally sorted list\n page.items = allItems.slice(currentItemIndex, currentItemIndex + pageItemCount)\n currentItemIndex += pageItemCount\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n invalidatesTags: (_s, _e, { listId, entityListMultiPatchModel: { items } }) => {\n const tags = [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ...(items || []).flatMap((i) =>\n (i.id ? [{ type: 'entityListItem', id: i.id }] : []).concat(\n i.entityId ? [{ type: 'entityListItem', id: i.entityId }] : [],\n ),\n ),\n ]\n return tags\n },\n },\n updateEntityListItem: {\n async onQueryStarted(\n { listItemId, entityListItemPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n const tags = [{ type: 'entityListItem', id: listItemId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListItemsInfinite')\n\n let patchResults: any[] = []\n for (const entry of infiniteEntries) {\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListItemsInfinite', entry.originalArgs, (draft) => {\n for (const page of draft.pages) {\n const listIndex = page.items.findIndex((list) => list.id === listItemId)\n if (listIndex !== -1) {\n const list = page.items[listIndex]\n const newListItem = {\n ...list,\n attrib: {\n ...list.attrib,\n ...entityListItemPatchModel.attrib,\n },\n }\n // Update the list with the new data\n Object.assign(list, newListItem)\n break\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n },\n createEntityListItem: {\n invalidatesTags: (_s, _e, { listId }) => [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ],\n },\n deleteEntityListItem: {\n invalidatesTags: (_s, _e, { listId }) => [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ],\n },\n },\n})\n\n// inject review addon endpoint Create Session From List\nconst updateListsInjectedApi = updateListsEnhancedApi.injectEndpoints({\n endpoints: (build) => ({\n createSessionFromList: build.mutation<\n CreateSessionFromListApiResponse,\n CreateSessionFromListApiArg\n >({\n query: (queryArg) => ({\n url: `/api/addons/review/${queryArg.addonVersion}/${queryArg.projectName}/sessions/fromList`,\n method: 'POST',\n body: queryArg.sessionFromListRequest,\n }),\n transformErrorResponse: (error: any) => error.data.detail,\n invalidatesTags: () => [{ type: 'entityList', id: 'LIST' }],\n }),\n }),\n})\n\nexport const {\n // LIST MUTATIONS\n useCreateEntityListMutation,\n useUpdateEntityListMutation,\n useDeleteEntityListMutation,\n // LIST ITEM MUTATIONS\n useUpdateEntityListItemsMutation,\n useUpdateEntityListItemMutation,\n useCreateEntityListItemMutation,\n useDeleteEntityListItemMutation,\n // REVIEW SESSION MUTATIONS\n useCreateSessionFromListMutation,\n} = updateListsInjectedApi\nexport { updateListsInjectedApi as entityListsQueriesRest, gqlApi as entityListsQueriesGql }\n"],"names":["updateListsEnhancedApi","entityListsApi","listId","entityListPatchModel","dispatch","queryFulfilled","getState","state","tags","infiniteEntries","gqlApi","e","patchResults","entry","patchResult","draft","page","listIndex","list","_s","_e","entityListMultiPatchModel","overallPositionChanged","_a","patchItem","itemIndex","item","existingItem","updatedItem","allItems","b","posA","posB","currentItemIndex","pageItemCount","items","i","listItemId","entityListItemPatchModel","newListItem","updateListsInjectedApi","build","queryArg","error","useCreateEntityListMutation","useUpdateEntityListMutation","useDeleteEntityListMutation","useUpdateEntityListItemsMutation","useUpdateEntityListItemMutation","useCreateEntityListItemMutation","useDeleteEntityListItemMutation","useCreateSessionFromListMutation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"updateLists.cjs.js","sources":["../../../../../../src/api/queries/entityLists/updateLists.ts"],"sourcesContent":["import { entityListsApi } from '@shared/api/generated'\nimport gqlApi from './getLists'\nimport { CreateSessionFromListApiArg, CreateSessionFromListApiResponse } from './types'\n\nconst updateListsEnhancedApi = entityListsApi.enhanceEndpoints({\n endpoints: {\n // LIST MUTATIONS\n createEntityList: {\n invalidatesTags: [{ type: 'entityList', id: 'LIST' }],\n },\n updateEntityList: {\n async onQueryStarted(\n { listId, entityListPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n const tags = [{ type: 'entityList', id: listId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListsInfinite')\n\n let patchResults: any[] = []\n\n // Update getListsInfinite cache (GraphQL)\n for (const entry of infiniteEntries) {\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListsInfinite', entry.originalArgs, (draft) => {\n for (const page of draft.pages) {\n const listIndex = page.lists.findIndex((list) => list.id === listId)\n if (listIndex !== -1) {\n const list = page.lists[listIndex]\n // Update the list with the new data\n Object.assign(list, entityListPatchModel)\n break\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n\n // Update getEntityList cache (REST API)\n const entityListEntries = entityListsApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getEntityList' && e.originalArgs.listId === listId)\n\n for (const entry of entityListEntries) {\n const patchResult = dispatch(\n entityListsApi.util.updateQueryData('getEntityList', entry.originalArgs, (draft) => {\n // Update the entity list with the new data\n Object.assign(draft, {\n ...draft,\n ...entityListPatchModel,\n })\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n // invalidatesTags: (_s, _e, { listId }) => {\n // const tags = [{ type: 'entityList', id: listId }]\n // return tags\n // },\n },\n deleteEntityList: {\n invalidatesTags: [{ type: 'entityList', id: 'LIST' }],\n },\n // LIST ITEM MUTATIONS\n updateEntityListItems: {\n async onQueryStarted(\n { listId, entityListMultiPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n // We are primarily interested in updating the items within a specific list\n const tags = [{ type: 'entityListItem', id: listId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListItemsInfinite')\n\n let patchResults: any[] = []\n\n if (!entityListMultiPatchModel.items || entityListMultiPatchModel.items.length === 0) {\n // No items to update, proceed without optimistic update\n await queryFulfilled\n return\n }\n\n for (const entry of infiniteEntries) {\n // only update entries that match the listId\n if (entry.originalArgs.listId !== listId) continue\n\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListItemsInfinite', entry.originalArgs, (draft) => {\n let overallPositionChanged = false\n // First pass: update items in place and check if any position changed\n for (const page of draft.pages) {\n entityListMultiPatchModel.items?.forEach((patchItem) => {\n const itemIndex = page.items.findIndex(\n (item) => item.id === patchItem.id || item.entityId === patchItem.entityId,\n )\n\n if (itemIndex !== -1) {\n const existingItem = page.items[itemIndex]\n // Merge existing item with patchItem, ensuring attrib is also merged\n const updatedItem = {\n ...existingItem,\n ...patchItem, // Apply all top-level fields from patchItem\n attrib: {\n ...existingItem.attrib,\n ...(patchItem.attrib || {}), // Merge attrib safely\n },\n }\n Object.assign(page.items[itemIndex], updatedItem)\n\n if (patchItem.position !== undefined) {\n overallPositionChanged = true\n }\n }\n })\n }\n\n if (overallPositionChanged) {\n // Collect all items from all pages for this specific cache entry\n let allItems = draft.pages.flatMap((page) => page.items)\n\n // Sort all items based on position\n allItems.sort((a, b) => {\n const posA = typeof a.position === 'number' ? a.position : Infinity\n const posB = typeof b.position === 'number' ? b.position : Infinity\n return posA - posB\n })\n\n // Re-distribute sorted items back into pages, maintaining original page sizes\n let currentItemIndex = 0\n for (const page of draft.pages) {\n const pageItemCount = page.items.length // Get original item count for this page\n // Replace page items with the corresponding slice from the globally sorted list\n page.items = allItems.slice(currentItemIndex, currentItemIndex + pageItemCount)\n currentItemIndex += pageItemCount\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n invalidatesTags: (_s, _e, { listId, entityListMultiPatchModel: { items } }) => {\n const tags = [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ...(items || []).flatMap((i) =>\n (i.id ? [{ type: 'entityListItem', id: i.id }] : []).concat(\n i.entityId ? [{ type: 'entityListItem', id: i.entityId }] : [],\n ),\n ),\n ]\n return tags\n },\n },\n updateEntityListItem: {\n async onQueryStarted(\n { listItemId, entityListItemPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n const tags = [{ type: 'entityListItem', id: listItemId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListItemsInfinite')\n\n let patchResults: any[] = []\n for (const entry of infiniteEntries) {\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListItemsInfinite', entry.originalArgs, (draft) => {\n for (const page of draft.pages) {\n const listIndex = page.items.findIndex((list) => list.id === listItemId)\n if (listIndex !== -1) {\n const list = page.items[listIndex]\n const newListItem = {\n ...list,\n attrib: {\n ...list.attrib,\n ...entityListItemPatchModel.attrib,\n },\n }\n // Update the list with the new data\n Object.assign(list, newListItem)\n break\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n },\n createEntityListItem: {\n invalidatesTags: (_s, _e, { listId }) => [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ],\n },\n deleteEntityListItem: {\n invalidatesTags: (_s, _e, { listId }) => [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ],\n },\n },\n})\n\n// inject review addon endpoint Create Session From List\nconst updateListsInjectedApi = updateListsEnhancedApi.injectEndpoints({\n endpoints: (build) => ({\n createSessionFromList: build.mutation<\n CreateSessionFromListApiResponse,\n CreateSessionFromListApiArg\n >({\n query: (queryArg) => ({\n url: `/api/addons/review/${queryArg.addonVersion}/${queryArg.projectName}/sessions/fromList`,\n method: 'POST',\n body: queryArg.sessionFromListRequest,\n }),\n transformErrorResponse: (error: any) => error.data.detail,\n invalidatesTags: () => [{ type: 'entityList', id: 'LIST' }],\n }),\n }),\n})\n\nexport const {\n // LIST MUTATIONS\n useCreateEntityListMutation,\n useUpdateEntityListMutation,\n useDeleteEntityListMutation,\n // LIST ITEM MUTATIONS\n useUpdateEntityListItemsMutation,\n useUpdateEntityListItemMutation,\n useCreateEntityListItemMutation,\n useDeleteEntityListItemMutation,\n // REVIEW SESSION MUTATIONS\n useCreateSessionFromListMutation,\n} = updateListsInjectedApi\nexport { updateListsInjectedApi as entityListsQueriesRest, gqlApi as entityListsQueriesGql }\n"],"names":["updateListsEnhancedApi","entityListsApi","listId","entityListPatchModel","dispatch","queryFulfilled","getState","state","tags","infiniteEntries","gqlApi","e","patchResults","entry","patchResult","draft","page","listIndex","list","entityListEntries","entityListMultiPatchModel","overallPositionChanged","_a","patchItem","itemIndex","item","existingItem","updatedItem","allItems","a","b","posA","posB","currentItemIndex","pageItemCount","_s","_e","items","i","listItemId","entityListItemPatchModel","newListItem","updateListsInjectedApi","build","queryArg","error","useCreateEntityListMutation","useUpdateEntityListMutation","useDeleteEntityListMutation","useUpdateEntityListItemsMutation","useUpdateEntityListItemMutation","useCreateEntityListItemMutation","useDeleteEntityListItemMutation","useCreateSessionFromListMutation"],"mappings":"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"}
|