@ynput/ayon-frontend-shared 0.4.0 → 0.4.2
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 +37 -198
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +248 -496
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +31 -230
- package/dist/Slicer.es.js.map +1 -1
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +93 -93
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +131 -126
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +33 -128
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/index.es.js +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +45 -25
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +54 -34
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.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/actions/getActions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.es.js +4 -4
- package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +99 -201
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
- package/dist/shared/src/api/queries/addons/updateAddons.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/addons/updateAddons.es.js.map +1 -1
- package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +133 -142
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.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 +151 -202
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.es.js +40 -95
- package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +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.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.es.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.es.js +80 -129
- package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js +111 -167
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
- package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/getLinks.es.js +58 -73
- package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +344 -345
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.es.js +130 -77
- package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +136 -132
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/products/getFolderProducts.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/products/getFolderProducts.es.js.map +1 -1
- package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +80 -134
- package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
- package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.es.js +105 -86
- package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
- package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +151 -184
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -2
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +2 -2
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +486 -490
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
- package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
- package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.cjs.js.map +1 -1
- package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +28 -30
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +29 -125
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js.map +1 -1
- package/dist/shared/src/components/Chips/Chips.cjs.js +1 -1
- package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
- package/dist/shared/src/components/Chips/Chips.es.js +18 -17
- package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +3 -3
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +16 -307
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js +5 -5
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js.map +1 -1
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js +49 -145
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -5
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +45 -141
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +27 -180
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +9 -192
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +5 -197
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +18 -114
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +2 -2
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +13 -109
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +11 -313
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +23 -119
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +0 -111
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +13 -311
- package/dist/shared/src/components/EntityIcon/EntityIcon.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 +86 -270
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +34 -332
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/EntityPath.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/EntityPath.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +15 -307
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +89 -290
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js +2 -2
- package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js.map +1 -1
- package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js +10 -106
- package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js.map +1 -1
- package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js +1 -1
- package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js.map +1 -1
- package/dist/shared/src/components/InfoMessage/InfoMessage.es.js +6 -5
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.es.js +51 -343
- package/dist/shared/src/components/LinksManager/LinksManager.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 +7 -209
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +2 -202
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +4 -182
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.es.js +48 -340
- package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.es.js +20 -313
- package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.es.js +74 -370
- package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +2 -2
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +16 -312
- 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 +48 -343
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +226 -368
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +89 -375
- 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 +3 -296
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +34 -331
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +30 -328
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +5 -5
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +77 -369
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +114 -312
- 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 +66 -362
- 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 +14 -313
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +70 -72
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +24 -323
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js +2 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +441 -523
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +7 -7
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +29 -326
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +8 -5
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +36 -22
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +4 -4
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +53 -352
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
- 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 +95 -391
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +2 -2
- package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -1
- package/dist/shared/src/components/SyncButton/SyncButton.es.js +52 -165
- package/dist/shared/src/components/SyncButton/SyncButton.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +3 -3
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +35 -331
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +26 -122
- package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +22 -118
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +13 -13
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +99 -297
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +61 -259
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/config/plannerFeatures.cjs.js.map +1 -1
- package/dist/shared/src/config/plannerFeatures.es.js.map +1 -1
- package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -1
- package/dist/shared/src/config/powerpackFeatures.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 +6 -207
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionIcon.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionIcon.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +51 -247
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.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 +20 -320
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.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 +143 -324
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +3 -3
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +27 -326
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +39 -233
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +65 -252
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +16 -314
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +61 -351
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js +5 -5
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js +20 -116
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +2 -303
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js +51 -147
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +2 -199
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js +12 -12
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +9 -9
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +18 -317
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +13 -214
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +22 -320
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +27 -304
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/buildDetailsPanelTitles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/buildDetailsPanelTitles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getAllProjectsStatuses.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getAllProjectsStatuses.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +10 -106
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -206
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +74 -370
- 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 +20 -321
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +6 -6
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +32 -335
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +3 -3
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +12 -315
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +11 -107
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +23 -225
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +27 -123
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +65 -242
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -306
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +145 -418
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +18 -314
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +24 -120
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +42 -328
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +227 -369
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +38 -338
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +22 -321
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +9 -105
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +21 -321
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js +16 -26
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.cjs.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.es.js +14 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.es.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/types.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/types.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/types.es.js +2 -15
- package/dist/shared/src/containers/Feed/components/CommentInput/types.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +63 -359
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +57 -353
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +14 -307
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +34 -235
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +67 -163
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js +18 -8
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +10 -106
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +13 -109
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.es.js +116 -282
- package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js +58 -188
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +46 -340
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableWidgets.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableWidgets.es.js.map +1 -1
- package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.es.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +3 -3
- package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +170 -456
- package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/TypeEditor.cjs.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/TypeEditor.es.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js +1 -1
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js +117 -311
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.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 +603 -869
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +605 -579
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +75 -372
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +32 -201
- 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 +28 -122
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +7 -7
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +35 -131
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.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 +107 -299
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +334 -515
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +158 -329
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.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 +4 -205
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +121 -418
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.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 +73 -244
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.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 +83 -179
- 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 -314
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +60 -231
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +75 -246
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +149 -438
- 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 +25 -196
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +32 -203
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +32 -329
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +174 -371
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.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 +29 -200
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +36 -201
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.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 +93 -383
- 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 +78 -279
- 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 +31 -229
- 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 +25 -196
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +39 -221
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +167 -464
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.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 +41 -212
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.es.js +45 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js.map +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.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +37 -21
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +14 -312
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +121 -399
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +40 -329
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js +30 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js +198 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +50 -343
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +77 -361
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +28 -199
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +36 -330
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +130 -421
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +80 -176
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +12 -108
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.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 +20 -214
- 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 +231 -524
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js +69 -364
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +2 -2
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +18 -315
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +2 -2
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +24 -325
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +69 -367
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +27 -225
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js +34 -233
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +5 -306
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +7 -308
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +11 -311
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +13 -313
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +34 -335
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +11 -313
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +72 -365
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +24 -120
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +35 -333
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +55 -351
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +40 -332
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +59 -259
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +17 -113
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +45 -141
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +22 -213
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
- package/dist/shared/src/containers/Views/types.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/types.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/generateWorkingView.es.js.map +1 -1
- package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonContext.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +19 -115
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DeleteEntitiesContext.cjs.js +1 -1
- package/dist/shared/src/context/DeleteEntitiesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DeleteEntitiesContext.es.js +1 -1
- package/dist/shared/src/context/DeleteEntitiesContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +66 -359
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.es.js +79 -356
- package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
- 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 +42 -341
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.es.js +26 -228
- package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.es.js +23 -321
- package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js +1 -1
- package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ThumbnailUploaderContext.es.js +17 -21
- package/dist/shared/src/context/ThumbnailUploaderContext.es.js.map +1 -1
- package/dist/shared/src/context/UriContext.cjs.js +1 -1
- package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
- package/dist/shared/src/context/UriContext.es.js +2 -2
- package/dist/shared/src/context/UriContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +28 -226
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +2 -205
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +11 -311
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.es.js +30 -330
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +19 -115
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +6 -209
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -1
- package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -1
- package/dist/shared/src/util/checkName.cjs.js.map +1 -1
- package/dist/shared/src/util/checkName.es.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.es.js +33 -33
- package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.es.js +2 -1
- package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
- package/dist/shared/src/util/getBundleMode.cjs.js +1 -1
- package/dist/shared/src/util/getBundleMode.cjs.js.map +1 -1
- package/dist/shared/src/util/getBundleMode.es.js +16 -112
- package/dist/shared/src/util/getBundleMode.es.js.map +1 -1
- package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
- package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
- package/dist/shared/src/util/getPriorityOptions.cjs.js.map +1 -1
- package/dist/shared/src/util/getPriorityOptions.es.js.map +1 -1
- package/dist/shared/src/util/iconUtils.cjs.js.map +1 -1
- package/dist/shared/src/util/iconUtils.es.js.map +1 -1
- package/dist/shared/src/util/mentionTypeOptions.cjs.js +2 -0
- package/dist/shared/src/util/mentionTypeOptions.cjs.js.map +1 -0
- package/dist/shared/src/util/mentionTypeOptions.es.js +16 -0
- package/dist/shared/src/util/mentionTypeOptions.es.js.map +1 -0
- package/dist/shared/src/util/parseFilename.cjs.js +2 -0
- package/dist/shared/src/util/parseFilename.cjs.js.map +1 -0
- package/dist/shared/src/util/parseFilename.es.js +8 -0
- package/dist/shared/src/util/parseFilename.es.js.map +1 -0
- package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js +1 -1
- package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js.map +1 -1
- package/dist/shared/src/util/realtimeUpdatesUtils.es.js +33 -27
- package/dist/shared/src/util/realtimeUpdatesUtils.es.js.map +1 -1
- package/dist/shared/src/util/uriUtils.cjs.js.map +1 -1
- package/dist/shared/src/util/uriUtils.es.js.map +1 -1
- package/dist/types/api/base/index.d.ts +1 -1
- package/dist/types/api/generated/graphql.d.ts +50 -4
- package/dist/types/api/generated/graphqlLinks.d.ts +15 -2
- package/dist/types/api/generated/views.d.ts +13 -4
- package/dist/types/api/queries/activities/getActivities.d.ts +28 -2
- package/dist/types/api/queries/activities/getCategories.d.ts +1 -1
- package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +1 -4
- package/dist/types/api/queries/entities/getEntity.d.ts +14 -1
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +14 -1
- package/dist/types/api/queries/entities/updateEntity.d.ts +14 -1
- package/dist/types/api/queries/entityLists/getLists.d.ts +317 -312
- package/dist/types/api/queries/entityLists/types.d.ts +7 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +49 -20
- package/dist/types/api/queries/overview/patchVersions.d.ts +9 -0
- package/dist/types/api/queries/project/getProject.d.ts +74 -61
- package/dist/types/api/queries/system/getSystem.d.ts +1 -1
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +14 -1
- package/dist/types/api/queries/users/getUsers.d.ts +14 -1
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +159 -2
- package/dist/types/api/queries/views/getViews.d.ts +1 -1
- package/dist/types/components/DetailsPanelDetails/DetailsSection.d.ts +1 -1
- package/dist/types/components/EntityIcon/EntityIcon.d.ts +4 -4
- package/dist/types/components/Menu/Menu.d.ts +1 -1
- package/dist/types/components/Menu/MenuList.d.ts +1 -1
- package/dist/types/components/Powerpack/PowerpackButton.d.ts +1 -1
- package/dist/types/components/ProjectTableSettings/ColumnsSettings.d.ts +10 -2
- package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +2 -2
- package/dist/types/components/ProjectTableSettings/TableSettingsFallback.d.ts +1 -1
- package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
- package/dist/types/components/RemotePage/ProjectPageRemote.d.ts +1 -1
- package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +5 -3
- package/dist/types/components/RenameForm/RenameForm.d.ts +1 -1
- package/dist/types/components/ReviewablesList/SortableReviewableCard.d.ts +1 -1
- package/dist/types/components/ReviewablesList/useReviewablesUpload.d.ts +2 -2
- package/dist/types/components/ReviewablesSelector/Card.d.ts +1 -1
- package/dist/types/components/SearchFilter/filterScopeRegistry.d.ts +1 -1
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +6 -3
- package/dist/types/components/SettingsPanel/SettingsPanel.d.ts +1 -1
- package/dist/types/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +1 -0
- package/dist/types/components/SyncButton/SyncButton.d.ts +1 -1
- package/dist/types/components/Thumbnail/StackedThumbnails.d.ts +1 -2
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/config/plannerFeatures.d.ts +1 -1
- package/dist/types/config/powerpackFeatures.d.ts +1 -1
- package/dist/types/containers/Actions/Actions.d.ts +2 -2
- package/dist/types/containers/ContextMenu/ContextMenuItem.d.ts +1 -1
- package/dist/types/containers/ContextMenu/useCreateContextMenu.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.d.ts +2 -2
- package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.d.ts +2 -2
- package/dist/types/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.d.ts +3 -3
- package/dist/types/containers/DetailsPanel/containers/DetailsPanelSubtasks.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/helpers/buildEntityTypeIcons.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/helpers/getEntityPathData.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/hooks/useGetEntityPath.d.ts +1 -1
- package/dist/types/containers/EntityPickerDialog/components/EntityTypeTable.d.ts +1 -1
- package/dist/types/containers/EntityPickerDialog/hooks/useGetEntityPickerData.d.ts +1 -1
- package/dist/types/containers/EntityPickerDialog/util/buildEntityPickerTableData.d.ts +1 -1
- package/dist/types/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.d.ts +1 -1
- package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.styled.d.ts +2 -2
- package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.d.ts +1 -1
- package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.styled.d.ts +1 -1
- package/dist/types/containers/Feed/components/CommentInput/modules/index.d.ts +1 -1
- package/dist/types/containers/Feed/components/CommentInput/quillFormats.d.ts +1 -0
- package/dist/types/containers/Feed/components/CommentInput/types.d.ts +1 -12
- package/dist/types/containers/Feed/components/FileUploadCard/FileUploadCard.d.ts +1 -1
- package/dist/types/containers/Feed/context/FeedContext.d.ts +1 -1
- package/dist/types/containers/Feed/hooks/useLastVersionReview.d.ts +1 -1
- package/dist/types/containers/Feed/mentionHelpers/getMentionTasks.d.ts +1 -1
- package/dist/types/containers/Feed/mentionHelpers/getMentionUsers.d.ts +1 -1
- package/dist/types/containers/Feed/mentionHelpers/getMentionVersions.d.ts +2 -2
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +4 -2
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +22 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +4 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +4 -5
- package/dist/types/containers/ProjectTreeTable/hooks/useFolderRelationships.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +2 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useGroupCounts.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useMoveEntities.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/usePasteLinks.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +6 -5
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +3 -0
- package/dist/types/containers/ProjectTreeTable/utils/columnIds.d.ts +10 -0
- package/dist/types/containers/ProjectTreeTable/utils/getEntityViewerIds.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/utils/linksToTableData.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/utils/sanitizeQueryFilter.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/widgets/EntityWidget.d.ts +15 -0
- package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/widgets/NameWidget.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/widgets/TextWidget.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
- package/dist/types/containers/Slicer/components/Slicer.d.ts +2 -2
- package/dist/types/containers/Slicer/components/SlicerDropdownFallback.d.ts +1 -1
- package/dist/types/containers/Slicer/context/SlicerContext.d.ts +3 -4
- package/dist/types/containers/Slicer/hooks/useEntityListsSlice.d.ts +1 -1
- package/dist/types/containers/Slicer/hooks/useHierarchyContextMenuItems.d.ts +3 -3
- package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +1 -1
- package/dist/types/containers/Slicer/hooks/useSlicerCounts.d.ts +1 -1
- package/dist/types/containers/Slicer/hooks/useUsersTable.d.ts +1 -1
- package/dist/types/containers/Slicer/types.d.ts +1 -1
- package/dist/types/containers/Views/hooks/pages/useListsViewSettings.d.ts +1 -1
- package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +1 -1
- package/dist/types/containers/Views/types.d.ts +1 -1
- package/dist/types/context/AddonContext.d.ts +1 -1
- package/dist/types/context/AddonProjectContext.d.ts +2 -2
- package/dist/types/context/DetailsPanelContext.d.ts +2 -2
- package/dist/types/context/SubtasksModulesContext.d.ts +1 -1
- package/dist/types/hooks/useHierarchyTable.d.ts +1 -1
- package/dist/types/util/buildHierarchicalTableRows.d.ts +1 -1
- package/dist/types/util/columnConfigConverter.d.ts +1 -1
- package/dist/types/util/getBundleMode.d.ts +1 -1
- package/dist/types/util/getGroupByDataType.d.ts +1 -1
- package/dist/types/util/index.d.ts +2 -0
- package/dist/types/util/mentionTypeOptions.d.ts +12 -0
- package/dist/types/util/parseFilename.d.ts +1 -0
- package/dist/types/util/realtimeUpdatesUtils.d.ts +6 -3
- package/dist/types/util/uriUtils.d.ts +1 -1
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +52 -47
- package/dist/util.es.js.map +1 -1
- package/package.json +4 -4
- package/dist/shared/src/components/ThumbnailSimple/index.cjs.js +0 -2
- package/dist/shared/src/components/ThumbnailSimple/index.cjs.js.map +0 -1
- package/dist/shared/src/components/ThumbnailSimple/index.es.js +0 -6
- package/dist/shared/src/components/ThumbnailSimple/index.es.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linksToTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/linksToTableData.ts"],"sourcesContent":["// converts the links array to the data shown in the table (object of link keys with list of link entity names)\n// we split the links by direction (in/out) and store them in an object\n\nimport { LinkEntity } from '@shared/components'\nimport { getLinkKey } from '../buildTreeTableColumns'\nimport { EntityLink } from '@shared/api'\nimport { getEntityColor, getEntityIcon, IconAnatomy } from '@shared/util/iconUtils'\n\nexport type LinkId = string\nexport type LinkValue = LinkEntity[]\nexport type LinksTableData = Record<LinkId, LinkValue>\n\nexport const linksToTableData = (\n links: EntityLink[] | undefined,\n entityType: string,\n anatomy: IconAnatomy,\n): LinksTableData =>\n links?.reduce((acc, edge) => {\n const { linkType, direction, entityType: linkEntityType, id, node, isRestricted } = edge\n\n // Handle restricted links (node is null)\n if (isRestricted || !node) {\n const entityData: LinkEntity = {\n label: '',\n parents: [],\n linkId: id,\n entityId: '',\n entityType: linkEntityType,\n icon: getEntityIcon(linkEntityType, undefined, anatomy),\n color: undefined,\n isRestricted: true,\n }\n\n const linkTypeName = linkTypeToLinkName(linkType, entityType, linkEntityType, direction)\n const tableId = getLinkKey({ name: linkTypeName }, direction)\n\n if (!acc[tableId]) {\n acc[tableId] = []\n }\n\n if (!acc[tableId].includes(entityData)) {\n acc[tableId].push(entityData)\n }\n\n return acc\n }\n\n // Handle normal links\n const entityData: LinkEntity = {\n label: (node.label || node.name) as string,\n parents: node.parents,\n linkId: id,\n entityId: node.id as string,\n entityType: linkEntityType,\n icon: getEntityIcon(linkEntityType, node.subType, anatomy),\n color: getEntityColor(linkEntityType, node.subType, anatomy),\n }\n\n // we must build the entity link type name based on the direction and entity types\n // e.g. \"linkType|inEntityType|outEntityType\"\n const linkTypeName = linkTypeToLinkName(linkType, entityType, linkEntityType, direction)\n\n const tableId = getLinkKey({ name: linkTypeName }, direction)\n\n if (!acc[tableId]) {\n acc[tableId] = []\n }\n\n // add the entity name to the link type\n if (!acc[tableId].includes(entityData)) {\n acc[tableId].push(entityData)\n }\n\n return acc\n }, {} as LinksTableData) || {}\n\n// converts the link type + in/out entity types to a link name format {linkType}|in|out\nconst linkTypeToLinkName = (\n linkType: string,\n baseEntityType: string,\n linkEntityType: string,\n direction: 'in' | 'out' | string,\n): string => {\n const firstType = direction === 'in' ? linkEntityType : baseEntityType\n const secondType = direction === 'in' ? baseEntityType : linkEntityType\n return `${linkType}|${firstType}|${secondType}`\n}\n"],"names":["linksToTableData","links","entityType","anatomy","acc","edge","linkType","direction","linkEntityType","id","node","isRestricted","entityData","getEntityIcon","linkTypeName","linkTypeToLinkName","tableId","getLinkKey","getEntityColor","baseEntityType"],"mappings":";;AAYO,MAAMA,IAAmB,CAC9BC,GACAC,GACAC,MAEAF,GAAO,OAAO,CAACG,GAAKC,MAAS;AAC3B,QAAM,EAAE,UAAAC,GAAU,WAAAC,GAAW,YAAYC,GAAgB,IAAAC,GAAI,MAAAC,GAAM,cAAAC,MAAiBN;AAGpF,MAAIM,KAAgB,CAACD,GAAM;AACzB,UAAME,IAAyB;AAAA,MAC7B,OAAO;AAAA,MACP,SAAS,CAAA;AAAA,MACT,QAAQH;AAAA,MACR,UAAU;AAAA,MACV,YAAYD;AAAA,MACZ,MAAMK,EAAcL,GAAgB,QAAWL,CAAO;AAAA,MACtD,OAAO;AAAA,MACP,cAAc;AAAA,IAAA,GAGVW,IAAeC,EAAmBT,GAAUJ,GAAYM,GAAgBD,CAAS,GACjFS,IAAUC,EAAW,EAAE,MAAMH,EAAAA,GAAgBP,CAAS;AAE5D,WAAKH,EAAIY,CAAO,MACdZ,EAAIY,CAAO,IAAI,CAAA,IAGZZ,EAAIY,CAAO,EAAE,SAASJ,CAAU,KACnCR,EAAIY,CAAO,EAAE,KAAKJ,CAAU,GAGvBR;AAAA,EACT;AAGA,QAAMQ,IAAyB;AAAA,IAC7B,OAAQF,EAAK,SAASA,EAAK;AAAA,IAC3B,SAASA,EAAK;AAAA,IACd,QAAQD;AAAA,IACR,UAAUC,EAAK;AAAA,IACf,YAAYF;AAAA,IACZ,MAAMK,EAAcL,GAAgBE,EAAK,SAASP,CAAO;AAAA,IACzD,OAAOe,EAAeV,GAAgBE,EAAK,SAASP,CAAO;AAAA,EAAA,GAKvDW,IAAeC,EAAmBT,GAAUJ,GAAYM,GAAgBD,CAAS,GAEjFS,IAAUC,EAAW,EAAE,MAAMH,EAAA,GAAgBP,CAAS;AAE5D,SAAKH,EAAIY,CAAO,MACdZ,EAAIY,CAAO,IAAI,CAAA,IAIZZ,EAAIY,CAAO,EAAE,SAASJ,CAAU,KACnCR,EAAIY,CAAO,EAAE,KAAKJ,CAAU,GAGvBR;AACT,GAAG,CAAA,CAAoB,KAAK,CAAA,GAGxBW,IAAqB,CACzBT,GACAa,GACAX,GACAD,MAIO,GAAGD,CAAQ,IAFAC,MAAc,OAAOC,IAAiBW,CAEzB,IADZZ,MAAc,OAAOY,IAAiBX,CACZ;"}
|
|
1
|
+
{"version":3,"file":"linksToTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/linksToTableData.ts"],"sourcesContent":["// converts the links array to the data shown in the table (object of link keys with list of link entity names)\n// we split the links by direction (in/out) and store them in an object\n\nimport type { LinkEntity } from '@shared/components/LinksManager/LinksManager'\nimport { getLinkKey } from '../buildTreeTableColumns'\nimport { EntityLink } from '@shared/api'\nimport { getEntityColor, getEntityIcon, IconAnatomy } from '@shared/util/iconUtils'\n\nexport type LinkId = string\nexport type LinkValue = LinkEntity[]\nexport type LinksTableData = Record<LinkId, LinkValue>\n\nexport const linksToTableData = (\n links: EntityLink[] | undefined,\n entityType: string,\n anatomy: IconAnatomy,\n): LinksTableData =>\n links?.reduce((acc, edge) => {\n const { linkType, direction, entityType: linkEntityType, id, node, isRestricted } = edge\n\n // Handle restricted links (node is null)\n if (isRestricted || !node) {\n const entityData: LinkEntity = {\n label: '',\n parents: [],\n linkId: id,\n entityId: '',\n entityType: linkEntityType,\n icon: getEntityIcon(linkEntityType, undefined, anatomy),\n color: undefined,\n isRestricted: true,\n }\n\n const linkTypeName = linkTypeToLinkName(linkType, entityType, linkEntityType, direction)\n const tableId = getLinkKey({ name: linkTypeName }, direction)\n\n if (!acc[tableId]) {\n acc[tableId] = []\n }\n\n if (!acc[tableId].includes(entityData)) {\n acc[tableId].push(entityData)\n }\n\n return acc\n }\n\n // Handle normal links\n const entityData: LinkEntity = {\n label: (node.label || node.name) as string,\n parents: node.parents,\n linkId: id,\n entityId: node.id as string,\n entityType: linkEntityType,\n icon: getEntityIcon(linkEntityType, node.subType, anatomy),\n color: getEntityColor(linkEntityType, node.subType, anatomy),\n }\n\n // we must build the entity link type name based on the direction and entity types\n // e.g. \"linkType|inEntityType|outEntityType\"\n const linkTypeName = linkTypeToLinkName(linkType, entityType, linkEntityType, direction)\n\n const tableId = getLinkKey({ name: linkTypeName }, direction)\n\n if (!acc[tableId]) {\n acc[tableId] = []\n }\n\n // add the entity name to the link type\n if (!acc[tableId].includes(entityData)) {\n acc[tableId].push(entityData)\n }\n\n return acc\n }, {} as LinksTableData) || {}\n\n// converts the link type + in/out entity types to a link name format {linkType}|in|out\nconst linkTypeToLinkName = (\n linkType: string,\n baseEntityType: string,\n linkEntityType: string,\n direction: 'in' | 'out' | string,\n): string => {\n const firstType = direction === 'in' ? linkEntityType : baseEntityType\n const secondType = direction === 'in' ? baseEntityType : linkEntityType\n return `${linkType}|${firstType}|${secondType}`\n}\n"],"names":["linksToTableData","links","entityType","anatomy","acc","edge","linkType","direction","linkEntityType","id","node","isRestricted","entityData","getEntityIcon","linkTypeName","linkTypeToLinkName","tableId","getLinkKey","getEntityColor","baseEntityType"],"mappings":";;AAYO,MAAMA,IAAmB,CAC9BC,GACAC,GACAC,MAEAF,GAAO,OAAO,CAACG,GAAKC,MAAS;AAC3B,QAAM,EAAE,UAAAC,GAAU,WAAAC,GAAW,YAAYC,GAAgB,IAAAC,GAAI,MAAAC,GAAM,cAAAC,MAAiBN;AAGpF,MAAIM,KAAgB,CAACD,GAAM;AACzB,UAAME,IAAyB;AAAA,MAC7B,OAAO;AAAA,MACP,SAAS,CAAA;AAAA,MACT,QAAQH;AAAA,MACR,UAAU;AAAA,MACV,YAAYD;AAAA,MACZ,MAAMK,EAAcL,GAAgB,QAAWL,CAAO;AAAA,MACtD,OAAO;AAAA,MACP,cAAc;AAAA,IAAA,GAGVW,IAAeC,EAAmBT,GAAUJ,GAAYM,GAAgBD,CAAS,GACjFS,IAAUC,EAAW,EAAE,MAAMH,EAAAA,GAAgBP,CAAS;AAE5D,WAAKH,EAAIY,CAAO,MACdZ,EAAIY,CAAO,IAAI,CAAA,IAGZZ,EAAIY,CAAO,EAAE,SAASJ,CAAU,KACnCR,EAAIY,CAAO,EAAE,KAAKJ,CAAU,GAGvBR;AAAA,EACT;AAGA,QAAMQ,IAAyB;AAAA,IAC7B,OAAQF,EAAK,SAASA,EAAK;AAAA,IAC3B,SAASA,EAAK;AAAA,IACd,QAAQD;AAAA,IACR,UAAUC,EAAK;AAAA,IACf,YAAYF;AAAA,IACZ,MAAMK,EAAcL,GAAgBE,EAAK,SAASP,CAAO;AAAA,IACzD,OAAOe,EAAeV,GAAgBE,EAAK,SAASP,CAAO;AAAA,EAAA,GAKvDW,IAAeC,EAAmBT,GAAUJ,GAAYM,GAAgBD,CAAS,GAEjFS,IAAUC,EAAW,EAAE,MAAMH,EAAA,GAAgBP,CAAS;AAE5D,SAAKH,EAAIY,CAAO,MACdZ,EAAIY,CAAO,IAAI,CAAA,IAIZZ,EAAIY,CAAO,EAAE,SAASJ,CAAU,KACnCR,EAAIY,CAAO,EAAE,KAAKJ,CAAU,GAGvBR;AACT,GAAG,CAAA,CAAoB,KAAK,CAAA,GAGxBW,IAAqB,CACzBT,GACAa,GACAX,GACAD,MAIO,GAAGD,CAAQ,IAFAC,MAAc,OAAOC,IAAiBW,CAEzB,IADZZ,MAAc,OAAOY,IAAiBX,CACZ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadingUtils.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/loadingUtils.ts"],"sourcesContent":["import { TableRow } from '../types/table'\nimport { FolderNodeMap } from '../types/table'\nimport { LoadingTasks } from '../types'\nimport { AttributeModel } from '@shared/api'\nimport { uuid } from 'short-uuid'\n\n/**\n * Generates an array of placeholder rows for loading state\n * @param attribs - Attribute models used to populate empty attribute fields\n * @param count - Number of loading rows to generate (default: 50)\n * @returns Array of TableRow objects with loading state\n */\nexport const generateLoadingRows = (count = 50, attrib = {}): TableRow[] => {\n // @ts-ignore\n return new Array(count).fill(0).map((_, index) => ({\n id: uuid(),\n isLoading: true,\n ...attrib,\n }))\n}\n\n/**\n * Generates an array of dummy attribute models for loading states\n * @param count - Number of dummy attributes to generate (default: 10)\n * @returns Array of AttributeModel objects\n */\nexport const generateDummyAttributes = (count = 10): AttributeModel[] => {\n return Array(count)\n .fill(null)\n .map((_, i): AttributeModel => {\n return {\n name: `loading-attribute${i}`,\n scope: ['folder', 'task'],\n data: {\n type: 'string',\n },\n position: i,\n }\n })\n}\n\n/**\n * Parameters for determineLoadingTaskFolders function\n */\nexport type DetermineLoadingTaskFoldersParams = {\n expandedFoldersTasks: { folderId: string | null }[]\n expandedParentIds: string[]\n foldersMap: FolderNodeMap\n}\n\n/**\n * Determines which folders are currently loading tasks\n * @param params - Object containing parameters for determining loading folders\n * @returns Array of folder IDs that are in loading state\n */\nexport const determineLoadingTaskFolders = ({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n}: DetermineLoadingTaskFoldersParams): LoadingTasks => {\n // find the folderIds that are being fetched (not the ones that are already loaded)\n const folderIds = expandedFoldersTasks.map((task) => task.folderId)\n const expandedParentIdsThatHaveTasks = expandedParentIds.filter(\n (id) => foldersMap.get(id)?.hasTasks,\n )\n const folderIdsSet = new Set(folderIds)\n const loadingParentIds = new Set<string>()\n for (const folderId of expandedParentIdsThatHaveTasks) {\n if (!folderIdsSet.has(folderId)) {\n loadingParentIds.add(folderId)\n }\n }\n\n const loadingTasks: LoadingTasks = {}\n for (const folderId of loadingParentIds) {\n // find the folder by id\n const folder = foldersMap.get(folderId)\n if (folder) {\n loadingTasks[folderId] = folder.taskNames?.length || 0\n }\n }\n\n return loadingTasks\n}\n"],"names":["generateLoadingRows","count","attrib","_","index","uuid","generateDummyAttributes","i","determineLoadingTaskFolders","expandedFoldersTasks","expandedParentIds","foldersMap","folderIds","task","expandedParentIdsThatHaveTasks","id","folderIdsSet","loadingParentIds","folderId","loadingTasks","folder"],"mappings":"8GAYaA,EAAsB,CAACC,EAAQ,GAAIC,EAAS,CAAA,IAEhD,IAAI,MAAMD,CAAK,EAAE,KAAK,CAAC,EAAE,IAAI,CAACE,EAAGC,KAAW,CACjD,GAAIC,EAAAA,KAAA,EACJ,UAAW,GACX,GAAGH,CAAA,EACH,EAQSI,EAA0B,CAACL,EAAQ,KACvC,MAAMA,CAAK,EACf,KAAK,IAAI,EACT,IAAI,CAACE,EAAGI,KACA,CACL,KAAM,oBAAoBA,CAAC,GAC3B,MAAO,CAAC,SAAU,MAAM,EACxB,KAAM,CACJ,KAAM,QAAA,EAER,SAAUA,CAAA,EAEb,EAiBQC,EAA8B,CAAC,CAC1C,qBAAAC,EACA,kBAAAC,EACA,WAAAC,CACF,IAAuD,CAErD,MAAMC,EAAYH,EAAqB,IAAKI,GAASA,EAAK,QAAQ,EAC5DC,EAAiCJ,EAAkB,OACtDK,GAAOJ,EAAW,IAAII,CAAE,GAAG,QAAA,EAExBC,EAAe,IAAI,IAAIJ,CAAS,EAChCK,MAAuB,IAC7B,UAAWC,KAAYJ,EAChBE,EAAa,IAAIE,CAAQ,GAC5BD,EAAiB,IAAIC,CAAQ,EAIjC,MAAMC,EAA6B,CAAA,EACnC,UAAWD,KAAYD,EAAkB,CAEvC,MAAMG,EAAST,EAAW,IAAIO,CAAQ,EAClCE,IACFD,EAAaD,CAAQ,EAAIE,EAAO,WAAW,QAAU,EAEzD,CAEA,OAAOD,CACT"}
|
|
1
|
+
{"version":3,"file":"loadingUtils.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/loadingUtils.ts"],"sourcesContent":["import { TableRow } from '../types/table'\nimport { FolderNodeMap } from '../types/table'\nimport { LoadingTasks } from '../types'\nimport type { AttributeModel } from '@shared/api'\nimport { uuid } from 'short-uuid'\n\n/**\n * Generates an array of placeholder rows for loading state\n * @param attribs - Attribute models used to populate empty attribute fields\n * @param count - Number of loading rows to generate (default: 50)\n * @returns Array of TableRow objects with loading state\n */\nexport const generateLoadingRows = (count = 50, attrib = {}): TableRow[] => {\n // @ts-ignore\n return new Array(count).fill(0).map((_, index) => ({\n id: uuid(),\n isLoading: true,\n ...attrib,\n }))\n}\n\n/**\n * Generates an array of dummy attribute models for loading states\n * @param count - Number of dummy attributes to generate (default: 10)\n * @returns Array of AttributeModel objects\n */\nexport const generateDummyAttributes = (count = 10): AttributeModel[] => {\n return Array(count)\n .fill(null)\n .map((_, i): AttributeModel => {\n return {\n name: `loading-attribute${i}`,\n scope: ['folder', 'task'],\n data: {\n type: 'string',\n },\n position: i,\n }\n })\n}\n\n/**\n * Parameters for determineLoadingTaskFolders function\n */\nexport type DetermineLoadingTaskFoldersParams = {\n expandedFoldersTasks: { folderId: string | null }[]\n expandedParentIds: string[]\n foldersMap: FolderNodeMap\n}\n\n/**\n * Determines which folders are currently loading tasks\n * @param params - Object containing parameters for determining loading folders\n * @returns Array of folder IDs that are in loading state\n */\nexport const determineLoadingTaskFolders = ({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n}: DetermineLoadingTaskFoldersParams): LoadingTasks => {\n // find the folderIds that are being fetched (not the ones that are already loaded)\n const folderIds = expandedFoldersTasks.map((task) => task.folderId)\n const expandedParentIdsThatHaveTasks = expandedParentIds.filter(\n (id) => foldersMap.get(id)?.hasTasks,\n )\n const folderIdsSet = new Set(folderIds)\n const loadingParentIds = new Set<string>()\n for (const folderId of expandedParentIdsThatHaveTasks) {\n if (!folderIdsSet.has(folderId)) {\n loadingParentIds.add(folderId)\n }\n }\n\n const loadingTasks: LoadingTasks = {}\n for (const folderId of loadingParentIds) {\n // find the folder by id\n const folder = foldersMap.get(folderId)\n if (folder) {\n loadingTasks[folderId] = folder.taskNames?.length || 0\n }\n }\n\n return loadingTasks\n}\n"],"names":["generateLoadingRows","count","attrib","_","index","uuid","generateDummyAttributes","i","determineLoadingTaskFolders","expandedFoldersTasks","expandedParentIds","foldersMap","folderIds","task","expandedParentIdsThatHaveTasks","id","folderIdsSet","loadingParentIds","folderId","loadingTasks","folder"],"mappings":"8GAYaA,EAAsB,CAACC,EAAQ,GAAIC,EAAS,CAAA,IAEhD,IAAI,MAAMD,CAAK,EAAE,KAAK,CAAC,EAAE,IAAI,CAACE,EAAGC,KAAW,CACjD,GAAIC,EAAAA,KAAA,EACJ,UAAW,GACX,GAAGH,CAAA,EACH,EAQSI,EAA0B,CAACL,EAAQ,KACvC,MAAMA,CAAK,EACf,KAAK,IAAI,EACT,IAAI,CAACE,EAAGI,KACA,CACL,KAAM,oBAAoBA,CAAC,GAC3B,MAAO,CAAC,SAAU,MAAM,EACxB,KAAM,CACJ,KAAM,QAAA,EAER,SAAUA,CAAA,EAEb,EAiBQC,EAA8B,CAAC,CAC1C,qBAAAC,EACA,kBAAAC,EACA,WAAAC,CACF,IAAuD,CAErD,MAAMC,EAAYH,EAAqB,IAAKI,GAASA,EAAK,QAAQ,EAC5DC,EAAiCJ,EAAkB,OACtDK,GAAOJ,EAAW,IAAII,CAAE,GAAG,QAAA,EAExBC,EAAe,IAAI,IAAIJ,CAAS,EAChCK,MAAuB,IAC7B,UAAWC,KAAYJ,EAChBE,EAAa,IAAIE,CAAQ,GAC5BD,EAAiB,IAAIC,CAAQ,EAIjC,MAAMC,EAA6B,CAAA,EACnC,UAAWD,KAAYD,EAAkB,CAEvC,MAAMG,EAAST,EAAW,IAAIO,CAAQ,EAClCE,IACFD,EAAaD,CAAQ,EAAIE,EAAO,WAAW,QAAU,EAEzD,CAEA,OAAOD,CACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadingUtils.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/loadingUtils.ts"],"sourcesContent":["import { TableRow } from '../types/table'\nimport { FolderNodeMap } from '../types/table'\nimport { LoadingTasks } from '../types'\nimport { AttributeModel } from '@shared/api'\nimport { uuid } from 'short-uuid'\n\n/**\n * Generates an array of placeholder rows for loading state\n * @param attribs - Attribute models used to populate empty attribute fields\n * @param count - Number of loading rows to generate (default: 50)\n * @returns Array of TableRow objects with loading state\n */\nexport const generateLoadingRows = (count = 50, attrib = {}): TableRow[] => {\n // @ts-ignore\n return new Array(count).fill(0).map((_, index) => ({\n id: uuid(),\n isLoading: true,\n ...attrib,\n }))\n}\n\n/**\n * Generates an array of dummy attribute models for loading states\n * @param count - Number of dummy attributes to generate (default: 10)\n * @returns Array of AttributeModel objects\n */\nexport const generateDummyAttributes = (count = 10): AttributeModel[] => {\n return Array(count)\n .fill(null)\n .map((_, i): AttributeModel => {\n return {\n name: `loading-attribute${i}`,\n scope: ['folder', 'task'],\n data: {\n type: 'string',\n },\n position: i,\n }\n })\n}\n\n/**\n * Parameters for determineLoadingTaskFolders function\n */\nexport type DetermineLoadingTaskFoldersParams = {\n expandedFoldersTasks: { folderId: string | null }[]\n expandedParentIds: string[]\n foldersMap: FolderNodeMap\n}\n\n/**\n * Determines which folders are currently loading tasks\n * @param params - Object containing parameters for determining loading folders\n * @returns Array of folder IDs that are in loading state\n */\nexport const determineLoadingTaskFolders = ({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n}: DetermineLoadingTaskFoldersParams): LoadingTasks => {\n // find the folderIds that are being fetched (not the ones that are already loaded)\n const folderIds = expandedFoldersTasks.map((task) => task.folderId)\n const expandedParentIdsThatHaveTasks = expandedParentIds.filter(\n (id) => foldersMap.get(id)?.hasTasks,\n )\n const folderIdsSet = new Set(folderIds)\n const loadingParentIds = new Set<string>()\n for (const folderId of expandedParentIdsThatHaveTasks) {\n if (!folderIdsSet.has(folderId)) {\n loadingParentIds.add(folderId)\n }\n }\n\n const loadingTasks: LoadingTasks = {}\n for (const folderId of loadingParentIds) {\n // find the folder by id\n const folder = foldersMap.get(folderId)\n if (folder) {\n loadingTasks[folderId] = folder.taskNames?.length || 0\n }\n }\n\n return loadingTasks\n}\n"],"names":["generateLoadingRows","count","attrib","_","index","uuid","generateDummyAttributes","i","determineLoadingTaskFolders","expandedFoldersTasks","expandedParentIds","foldersMap","folderIds","task","expandedParentIdsThatHaveTasks","id","folderIdsSet","loadingParentIds","folderId","loadingTasks","folder"],"mappings":";AAYO,MAAMA,IAAsB,CAACC,IAAQ,IAAIC,IAAS,CAAA,MAEhD,IAAI,MAAMD,CAAK,EAAE,KAAK,CAAC,EAAE,IAAI,CAACE,GAAGC,OAAW;AAAA,EACjD,IAAIC,EAAA;AAAA,EACJ,WAAW;AAAA,EACX,GAAGH;AAAA,EACH,GAQSI,IAA0B,CAACL,IAAQ,OACvC,MAAMA,CAAK,EACf,KAAK,IAAI,EACT,IAAI,CAACE,GAAGI,OACA;AAAA,EACL,MAAM,oBAAoBA,CAAC;AAAA,EAC3B,OAAO,CAAC,UAAU,MAAM;AAAA,EACxB,MAAM;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,UAAUA;AAAA,EAEb,GAiBQC,IAA8B,CAAC;AAAA,EAC1C,sBAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,YAAAC;AACF,MAAuD;AAErD,QAAMC,IAAYH,EAAqB,IAAI,CAACI,MAASA,EAAK,QAAQ,GAC5DC,IAAiCJ,EAAkB;AAAA,IACvD,CAACK,MAAOJ,EAAW,IAAII,CAAE,GAAG;AAAA,EAAA,GAExBC,IAAe,IAAI,IAAIJ,CAAS,GAChCK,wBAAuB,IAAA;AAC7B,aAAWC,KAAYJ;AACrB,IAAKE,EAAa,IAAIE,CAAQ,KAC5BD,EAAiB,IAAIC,CAAQ;AAIjC,QAAMC,IAA6B,CAAA;AACnC,aAAWD,KAAYD,GAAkB;AAEvC,UAAMG,IAAST,EAAW,IAAIO,CAAQ;AACtC,IAAIE,MACFD,EAAaD,CAAQ,IAAIE,EAAO,WAAW,UAAU;AAAA,EAEzD;AAEA,SAAOD;AACT;"}
|
|
1
|
+
{"version":3,"file":"loadingUtils.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/loadingUtils.ts"],"sourcesContent":["import { TableRow } from '../types/table'\nimport { FolderNodeMap } from '../types/table'\nimport { LoadingTasks } from '../types'\nimport type { AttributeModel } from '@shared/api'\nimport { uuid } from 'short-uuid'\n\n/**\n * Generates an array of placeholder rows for loading state\n * @param attribs - Attribute models used to populate empty attribute fields\n * @param count - Number of loading rows to generate (default: 50)\n * @returns Array of TableRow objects with loading state\n */\nexport const generateLoadingRows = (count = 50, attrib = {}): TableRow[] => {\n // @ts-ignore\n return new Array(count).fill(0).map((_, index) => ({\n id: uuid(),\n isLoading: true,\n ...attrib,\n }))\n}\n\n/**\n * Generates an array of dummy attribute models for loading states\n * @param count - Number of dummy attributes to generate (default: 10)\n * @returns Array of AttributeModel objects\n */\nexport const generateDummyAttributes = (count = 10): AttributeModel[] => {\n return Array(count)\n .fill(null)\n .map((_, i): AttributeModel => {\n return {\n name: `loading-attribute${i}`,\n scope: ['folder', 'task'],\n data: {\n type: 'string',\n },\n position: i,\n }\n })\n}\n\n/**\n * Parameters for determineLoadingTaskFolders function\n */\nexport type DetermineLoadingTaskFoldersParams = {\n expandedFoldersTasks: { folderId: string | null }[]\n expandedParentIds: string[]\n foldersMap: FolderNodeMap\n}\n\n/**\n * Determines which folders are currently loading tasks\n * @param params - Object containing parameters for determining loading folders\n * @returns Array of folder IDs that are in loading state\n */\nexport const determineLoadingTaskFolders = ({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n}: DetermineLoadingTaskFoldersParams): LoadingTasks => {\n // find the folderIds that are being fetched (not the ones that are already loaded)\n const folderIds = expandedFoldersTasks.map((task) => task.folderId)\n const expandedParentIdsThatHaveTasks = expandedParentIds.filter(\n (id) => foldersMap.get(id)?.hasTasks,\n )\n const folderIdsSet = new Set(folderIds)\n const loadingParentIds = new Set<string>()\n for (const folderId of expandedParentIdsThatHaveTasks) {\n if (!folderIdsSet.has(folderId)) {\n loadingParentIds.add(folderId)\n }\n }\n\n const loadingTasks: LoadingTasks = {}\n for (const folderId of loadingParentIds) {\n // find the folder by id\n const folder = foldersMap.get(folderId)\n if (folder) {\n loadingTasks[folderId] = folder.taskNames?.length || 0\n }\n }\n\n return loadingTasks\n}\n"],"names":["generateLoadingRows","count","attrib","_","index","uuid","generateDummyAttributes","i","determineLoadingTaskFolders","expandedFoldersTasks","expandedParentIds","foldersMap","folderIds","task","expandedParentIdsThatHaveTasks","id","folderIdsSet","loadingParentIds","folderId","loadingTasks","folder"],"mappings":";AAYO,MAAMA,IAAsB,CAACC,IAAQ,IAAIC,IAAS,CAAA,MAEhD,IAAI,MAAMD,CAAK,EAAE,KAAK,CAAC,EAAE,IAAI,CAACE,GAAGC,OAAW;AAAA,EACjD,IAAIC,EAAA;AAAA,EACJ,WAAW;AAAA,EACX,GAAGH;AAAA,EACH,GAQSI,IAA0B,CAACL,IAAQ,OACvC,MAAMA,CAAK,EACf,KAAK,IAAI,EACT,IAAI,CAACE,GAAGI,OACA;AAAA,EACL,MAAM,oBAAoBA,CAAC;AAAA,EAC3B,OAAO,CAAC,UAAU,MAAM;AAAA,EACxB,MAAM;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAER,UAAUA;AAAA,EAEb,GAiBQC,IAA8B,CAAC;AAAA,EAC1C,sBAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,YAAAC;AACF,MAAuD;AAErD,QAAMC,IAAYH,EAAqB,IAAI,CAACI,MAASA,EAAK,QAAQ,GAC5DC,IAAiCJ,EAAkB;AAAA,IACvD,CAACK,MAAOJ,EAAW,IAAII,CAAE,GAAG;AAAA,EAAA,GAExBC,IAAe,IAAI,IAAIJ,CAAS,GAChCK,wBAAuB,IAAA;AAC7B,aAAWC,KAAYJ;AACrB,IAAKE,EAAa,IAAIE,CAAQ,KAC5BD,EAAiB,IAAIC,CAAQ;AAIjC,QAAMC,IAA6B,CAAA;AACnC,aAAWD,KAAYD,GAAkB;AAEvC,UAAMG,IAAST,EAAW,IAAIO,CAAQ;AACtC,IAAIE,MACFD,EAAaD,CAAQ,IAAIE,EAAO,WAAW,UAAU;AAAA,EAEzD;AAEA,SAAOD;AACT;"}
|
package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryFilterToClientFilter.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.ts"],"sourcesContent":["import { Filter, FilterValue, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { QueryFilter, QueryCondition } from '../types/operations'\nimport { format, parseISO, isValid } from 'date-fns'\nimport { detectRelativeDatePattern } from '@shared/components/SearchFilter/filterDates'\nimport { isRelativeDateValue, resolveRelativeValue } from './expandRelativeDates'\n\n// Option interface for filter options (from useBuildFilterOptions)\ninterface Option {\n id: string\n type?: string\n label: string\n icon?: string | null\n img?: string | null\n inverted?: boolean\n operator?: 'AND' | 'OR'\n values?: FilterValue[]\n allowsCustomValues?: boolean\n allowHasValue?: boolean\n allowNoValue?: boolean\n allowExcludes?: boolean\n operatorChangeable?: boolean\n singleSelect?: boolean\n}\n\n/**\n * Converts a QueryFilter back to Filter[] objects that can be consumed by the SearchFilter component\n * This requires the filter options to properly reconstruct the Filter objects with all their metadata\n */\nexport const queryFilterToClientFilter = (\n queryFilter: QueryFilter | undefined,\n filterOptions: Option[],\n): Filter[] => {\n if (!queryFilter?.conditions || queryFilter.conditions.length === 0) {\n return []\n }\n\n const filters: Filter[] = []\n const processedConditions = new Set<string>()\n\n // Process each condition in the query filter\n queryFilter.conditions.forEach((condition) => {\n if ('key' in condition) {\n // This is a QueryCondition\n const filter = convertConditionToFilter(condition, filterOptions, processedConditions)\n if (filter) {\n filters.push(filter)\n }\n } else {\n // This is a nested QueryFilter - check if it's a datetime range (gte+lte same key)\n const datetimeFilter = tryMergeDatetimeRange(condition, filterOptions)\n const textNullnessFilter = datetimeFilter\n ? null\n : tryMergeTextNullness(condition, filterOptions)\n if (datetimeFilter) {\n filters.push(datetimeFilter)\n } else if (textNullnessFilter) {\n filters.push(textNullnessFilter)\n } else {\n // Recursively process other nested QueryFilters\n const nestedFilters = queryFilterToClientFilter(condition, filterOptions)\n filters.push(...nestedFilters)\n }\n }\n })\n\n return mergeFiltersById(filters)\n}\n\n/**\n * Merges filters that share the same id by combining their values.\n * This handles the case where custom + non-custom values for the same field\n * are stored as separate conditions in the query filter (e.g. `in` + `like`)\n * but should be represented as a single filter with all values combined.\n */\nconst mergeFiltersById = (filters: Filter[]): Filter[] => {\n const filterMap = new Map<string, Filter>()\n\n for (const filter of filters) {\n const existing = filterMap.get(filter.id)\n if (existing) {\n // Merge values, avoiding duplicates by id\n const existingValueIds = new Set((existing.values || []).map((v) => v.id))\n const newValues = (filter.values || []).filter((v) => !existingValueIds.has(v.id))\n existing.values = [...(existing.values || []), ...newValues]\n } else {\n filterMap.set(filter.id, { ...filter, values: [...(filter.values || [])] })\n }\n }\n\n return Array.from(filterMap.values())\n}\n\n/**\n * Detects nested QueryFilters that represent datetime ranges (gte+lte on the same key)\n * and merges them into a single datetime Filter with proper range values.\n */\nexport const tryMergeDatetimeRange = (\n nestedFilter: QueryFilter,\n filterOptions: Option[],\n): Filter | null => {\n if (!nestedFilter.conditions || nestedFilter.conditions.length < 1) return null\n\n // All conditions must be QueryConditions (not nested QueryFilters)\n const conditions = nestedFilter.conditions.filter((c): c is QueryCondition => 'key' in c)\n if (conditions.length !== nestedFilter.conditions.length) return null\n\n // All conditions must share the same key\n const key = conditions[0].key\n if (!conditions.every((c) => c.key === key)) return null\n\n // Find the matching filter option and check it's a datetime type\n const filterOption = findFilterOption(key, filterOptions)\n if (!filterOption || filterOption.type !== 'datetime') return null\n\n // Extract gte (start) and lte (end) values, resolving relative dates\n const gteCondition = conditions.find((c) => c.operator === 'gte')\n const lteCondition = conditions.find((c) => c.operator === 'lte')\n if (!gteCondition && !lteCondition) return null\n\n const rawStartValue = gteCondition?.value as string | undefined\n const rawEndValue = lteCondition?.value as string | undefined\n const startISO =\n rawStartValue && isRelativeDateValue(rawStartValue)\n ? resolveRelativeValue(rawStartValue)\n : rawStartValue\n const endISO =\n rawEndValue && isRelativeDateValue(rawEndValue)\n ? resolveRelativeValue(rawEndValue)\n : rawEndValue\n\n // Build the range label\n let label = 'Custom range'\n if (startISO && endISO) {\n // Check if it matches a relative date pattern first\n const relativePattern = detectRelativeDatePattern(startISO, endISO)\n if (relativePattern) {\n label = relativePattern.label\n } else {\n // Fall back to showing the date range\n const startDate = parseISO(startISO)\n const endDate = parseISO(endISO)\n if (isValid(startDate) && isValid(endDate)) {\n const currentYear = new Date().getFullYear()\n const endDateFormat = endDate.getFullYear() === currentYear ? 'MMM d' : 'MMM d, yyyy'\n label = `${format(startDate, 'MMM d')} – ${format(endDate, endDateFormat)}`\n }\n }\n }\n\n // `values` holds the gte/lte range pair — used by clientFilterToQueryFilter for round-trip\n // but not part of the FilterValue type, so we extend it at runtime\n const rangeValue = {\n id: `custom-${startISO || ''}-${endISO || ''}`,\n label,\n values: [\n ...(startISO\n ? [\n {\n id: startISO,\n label: isValid(parseISO(startISO))\n ? format(parseISO(startISO), 'MMM d, yyyy')\n : startISO,\n },\n ]\n : []),\n ...(endISO\n ? [\n {\n id: endISO,\n label: isValid(parseISO(endISO)) ? format(parseISO(endISO), 'MMM d, yyyy') : endISO,\n },\n ]\n : []),\n ],\n } as FilterValue\n\n return {\n id: filterOption.id,\n type: filterOption.type as Filter['type'],\n label: filterOption.label,\n icon: filterOption.icon,\n inverted: nestedFilter.operator === 'or',\n values: [rangeValue],\n singleSelect: filterOption.singleSelect,\n }\n}\n\n/**\n * Detects the composite nullness groups produced by clientFilterToQueryFilter for\n * text fields (isnull OR eq '' / notnull AND ne '') and restores the\n * noValue/hasValue chip instead of recursing into the group's conditions.\n */\nexport const tryMergeTextNullness = (\n nestedFilter: QueryFilter,\n filterOptions: Option[],\n): Filter | null => {\n const conditions = nestedFilter.conditions?.filter((c): c is QueryCondition => 'key' in c) ?? []\n if (conditions.length !== 2 || conditions.length !== nestedFilter.conditions?.length) return null\n\n const key = conditions[0].key\n if (!conditions.every((c) => c.key === key)) return null\n\n const isNoValue =\n nestedFilter.operator === 'or' &&\n conditions.some((c) => c.operator === 'isnull') &&\n conditions.some((c) => c.operator === 'eq' && c.value === '')\n const isHasValue =\n nestedFilter.operator === 'and' &&\n conditions.some((c) => c.operator === 'notnull') &&\n conditions.some((c) => c.operator === 'ne' && c.value === '')\n if (!isNoValue && !isHasValue) return null\n\n const filterOption = findFilterOption(key, filterOptions)\n if (!filterOption) return null\n\n return {\n id: filterOption.id,\n type: filterOption.type as Filter['type'],\n label: filterOption.label,\n inverted: false,\n operator: 'OR',\n icon: filterOption.icon,\n values: isNoValue\n ? [{ id: 'noValue', label: 'No Value' }]\n : [{ id: 'hasValue', label: 'Has Value' }],\n isCustom: filterOption.allowsCustomValues,\n singleSelect: filterOption.singleSelect,\n }\n}\n\nconst convertConditionToFilter = (\n condition: QueryCondition,\n filterOptions: Option[],\n processedConditions: Set<string>,\n): Filter | null => {\n const { key, value, operator } = condition\n\n // check if the filter is a text search filter\n if (key === SEARCH_FILTER_ID) {\n const valuesArray = Array.isArray(value) ? value : [value || '']\n const filter: Filter = {\n id: SEARCH_FILTER_ID,\n type: 'string',\n label: '',\n values: valuesArray.map((v) => ({ id: String(v), label: String(v) })),\n }\n\n return filter\n }\n\n // Find the matching filter option\n const filterOption = findFilterOption(key, filterOptions)\n if (!filterOption) {\n return null\n }\n\n // Create a unique key for this condition to avoid duplicates\n const conditionKey = `${key}_${operator}_${JSON.stringify(value)}`\n if (processedConditions.has(conditionKey)) {\n return null\n }\n processedConditions.add(conditionKey)\n\n // Convert the condition values to FilterValue objects\n const filterValues = convertConditionValueToFilterValues(value, operator, filterOption)\n\n // hasValue/noValue chips encode the null-check in the value itself — marking them\n // inverted would flip the operator back on the next conversion (notnull <-> isnull)\n const isNullnessCheck =\n filterValues.length === 1 && ['hasValue', 'noValue'].includes(String(filterValues[0].id))\n\n // Determine if the filter is inverted based on the operator\n const inverted = isNullnessCheck ? false : isInvertedOperator(operator, filterOption.type)\n\n // Determine the filter operator (AND/OR)\n const filterOperator = getFilterOperator(operator, filterOption.type)\n\n const filter: Filter = {\n id: filterOption.id,\n type: filterOption.type as Filter['type'],\n label: filterOption.label,\n inverted,\n operator: filterOperator,\n icon: filterOption.icon,\n values: filterValues,\n isCustom: filterOption.allowsCustomValues,\n singleSelect: filterOption.singleSelect,\n }\n\n return filter\n}\n\nconst findFilterOption = (key: string, filterOptions: Option[]): Option | undefined => {\n // Try exact match first\n let option = filterOptions.find((opt) => opt.id === key)\n if (option) return option\n\n // Try to find by the base key (without prefixes)\n option = filterOptions.find(\n (opt) =>\n opt.id.endsWith(key) ||\n opt.id.replace(/^[^.]*\\./, '') === key ||\n opt.id.split('_').pop() === key,\n )\n if (option) return option\n\n // Try to find by label match\n option = filterOptions.find((opt) => opt.label?.toLowerCase() === key.toLowerCase())\n\n return option\n}\n\nconst convertConditionValueToFilterValues = (\n value: QueryCondition['value'],\n operator: QueryCondition['operator'],\n filterOption: Option,\n): FilterValue[] => {\n // Handle special operators for null/empty checks\n if (operator === 'isnull' || operator === 'notnull') {\n return operator === 'isnull'\n ? [{ id: 'noValue', label: 'No Value' }]\n : [{ id: 'hasValue', label: 'Has Value' }]\n }\n\n // Handle empty array cases - these represent \"No Value\" and \"Has Value\" conditions\n if (Array.isArray(value) && value.length === 0) {\n if (operator === 'eq') {\n // Empty array with 'eq' operator means \"No Value\"\n return [{ id: 'noValue', label: 'No Value' }]\n } else if (operator === 'ne') {\n // Empty array with 'ne' operator means \"Has Value\"\n return [{ id: 'hasValue', label: 'Has Value' }]\n }\n }\n\n if (value === undefined || value === null) {\n return []\n }\n\n // Convert value(s) to FilterValue objects\n const values = Array.isArray(value) ? value : [value]\n\n return values.map((val) => {\n let stringValue = String(val)\n let isCustomValue = false\n\n // Handle LIKE operator with wildcards - strip them and mark as custom\n if (operator === 'like' && typeof val === 'string') {\n // Remove leading and trailing % wildcards\n stringValue = val.replace(/^%/, '').replace(/%$/, '')\n isCustomValue = true\n }\n\n // Try to find existing option value with metadata (only if not already marked as custom from LIKE)\n if (!isCustomValue) {\n const existingValue = filterOption.values?.find((v: FilterValue) => v.id === stringValue)\n if (existingValue) {\n return existingValue\n }\n }\n\n // Format datetime values nicely instead of showing raw ISO strings\n if (filterOption.type === 'datetime' && typeof val === 'string') {\n try {\n const date = parseISO(val)\n if (isValid(date)) {\n return {\n id: stringValue,\n label: format(date, 'MMM d, yyyy'),\n isCustom: true,\n }\n }\n } catch {\n // fall through to default\n }\n }\n\n // Create a basic FilterValue if no existing option found or if it's a LIKE value\n return {\n id: stringValue,\n label: stringValue,\n isCustom: true,\n }\n })\n}\n\nconst isInvertedOperator = (operator: QueryCondition['operator'], type?: string): boolean => {\n const invertedOperators = ['ne', 'notin', 'excludes', 'excludesall', 'excludesany', 'notnull']\n return operator ? invertedOperators.includes(operator) : false\n}\n\nconst getFilterOperator = (operator: QueryCondition['operator'], type?: string): 'AND' | 'OR' => {\n // For list types, determine AND/OR based on the operator\n if (type?.startsWith('list_of_')) {\n if (operator === 'includesall' || operator === 'excludesall') {\n return 'AND'\n }\n return 'OR'\n }\n\n // Default to OR for most cases\n return 'OR'\n}\n\nexport default queryFilterToClientFilter\n"],"names":["queryFilterToClientFilter","queryFilter","filterOptions","filters","processedConditions","condition","filter","convertConditionToFilter","datetimeFilter","tryMergeDatetimeRange","textNullnessFilter","tryMergeTextNullness","nestedFilters","mergeFiltersById","filterMap","existing","existingValueIds","v","newValues","nestedFilter","conditions","c","key","filterOption","findFilterOption","gteCondition","lteCondition","rawStartValue","rawEndValue","startISO","isRelativeDateValue","resolveRelativeValue","endISO","label","relativePattern","detectRelativeDatePattern","startDate","parseISO","endDate","isValid","currentYear","endDateFormat","format","rangeValue","isNoValue","isHasValue","value","operator","SEARCH_FILTER_ID","valuesArray","conditionKey","filterValues","convertConditionValueToFilterValues","inverted","isInvertedOperator","filterOperator","getFilterOperator","option","opt","val","stringValue","isCustomValue","existingValue","date","type"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queryFilterToClientFilter.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.ts"],"sourcesContent":["import { Filter, FilterValue, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport type { QueryFilter, QueryCondition } from '../types/operations'\nimport { format, parseISO, isValid } from 'date-fns'\nimport { detectRelativeDatePattern } from '@shared/components/SearchFilter/filterDates'\nimport { isRelativeDateValue, resolveRelativeValue } from './expandRelativeDates'\n\n// Option interface for filter options (from useBuildFilterOptions)\ninterface Option {\n id: string\n type?: string\n label: string\n icon?: string | null\n img?: string | null\n inverted?: boolean\n operator?: 'AND' | 'OR'\n values?: FilterValue[]\n allowsCustomValues?: boolean\n allowHasValue?: boolean\n allowNoValue?: boolean\n allowExcludes?: boolean\n operatorChangeable?: boolean\n singleSelect?: boolean\n}\n\n/**\n * Converts a QueryFilter back to Filter[] objects that can be consumed by the SearchFilter component\n * This requires the filter options to properly reconstruct the Filter objects with all their metadata\n */\nexport const queryFilterToClientFilter = (\n queryFilter: QueryFilter | undefined,\n filterOptions: Option[],\n): Filter[] => {\n if (!queryFilter?.conditions || queryFilter.conditions.length === 0) {\n return []\n }\n\n const filters: Filter[] = []\n const processedConditions = new Set<string>()\n\n // Process each condition in the query filter\n queryFilter.conditions.forEach((condition) => {\n if ('key' in condition) {\n // This is a QueryCondition\n const filter = convertConditionToFilter(condition, filterOptions, processedConditions)\n if (filter) {\n filters.push(filter)\n }\n } else {\n // This is a nested QueryFilter - check if it's a datetime range (gte+lte same key)\n const datetimeFilter = tryMergeDatetimeRange(condition, filterOptions)\n const textNullnessFilter = datetimeFilter\n ? null\n : tryMergeTextNullness(condition, filterOptions)\n if (datetimeFilter) {\n filters.push(datetimeFilter)\n } else if (textNullnessFilter) {\n filters.push(textNullnessFilter)\n } else {\n // Recursively process other nested QueryFilters\n const nestedFilters = queryFilterToClientFilter(condition, filterOptions)\n filters.push(...nestedFilters)\n }\n }\n })\n\n return mergeFiltersById(filters)\n}\n\n/**\n * Merges filters that share the same id by combining their values.\n * This handles the case where custom + non-custom values for the same field\n * are stored as separate conditions in the query filter (e.g. `in` + `like`)\n * but should be represented as a single filter with all values combined.\n */\nconst mergeFiltersById = (filters: Filter[]): Filter[] => {\n const filterMap = new Map<string, Filter>()\n\n for (const filter of filters) {\n const existing = filterMap.get(filter.id)\n if (existing) {\n // Merge values, avoiding duplicates by id\n const existingValueIds = new Set((existing.values || []).map((v) => v.id))\n const newValues = (filter.values || []).filter((v) => !existingValueIds.has(v.id))\n existing.values = [...(existing.values || []), ...newValues]\n } else {\n filterMap.set(filter.id, { ...filter, values: [...(filter.values || [])] })\n }\n }\n\n return Array.from(filterMap.values())\n}\n\n/**\n * Detects nested QueryFilters that represent datetime ranges (gte+lte on the same key)\n * and merges them into a single datetime Filter with proper range values.\n */\nexport const tryMergeDatetimeRange = (\n nestedFilter: QueryFilter,\n filterOptions: Option[],\n): Filter | null => {\n if (!nestedFilter.conditions || nestedFilter.conditions.length < 1) return null\n\n // All conditions must be QueryConditions (not nested QueryFilters)\n const conditions = nestedFilter.conditions.filter((c): c is QueryCondition => 'key' in c)\n if (conditions.length !== nestedFilter.conditions.length) return null\n\n // All conditions must share the same key\n const key = conditions[0].key\n if (!conditions.every((c) => c.key === key)) return null\n\n // Find the matching filter option and check it's a datetime type\n const filterOption = findFilterOption(key, filterOptions)\n if (!filterOption || filterOption.type !== 'datetime') return null\n\n // Extract gte (start) and lte (end) values, resolving relative dates\n const gteCondition = conditions.find((c) => c.operator === 'gte')\n const lteCondition = conditions.find((c) => c.operator === 'lte')\n if (!gteCondition && !lteCondition) return null\n\n const rawStartValue = gteCondition?.value as string | undefined\n const rawEndValue = lteCondition?.value as string | undefined\n const startISO =\n rawStartValue && isRelativeDateValue(rawStartValue)\n ? resolveRelativeValue(rawStartValue)\n : rawStartValue\n const endISO =\n rawEndValue && isRelativeDateValue(rawEndValue)\n ? resolveRelativeValue(rawEndValue)\n : rawEndValue\n\n // Build the range label\n let label = 'Custom range'\n if (startISO && endISO) {\n // Check if it matches a relative date pattern first\n const relativePattern = detectRelativeDatePattern(startISO, endISO)\n if (relativePattern) {\n label = relativePattern.label\n } else {\n // Fall back to showing the date range\n const startDate = parseISO(startISO)\n const endDate = parseISO(endISO)\n if (isValid(startDate) && isValid(endDate)) {\n const currentYear = new Date().getFullYear()\n const endDateFormat = endDate.getFullYear() === currentYear ? 'MMM d' : 'MMM d, yyyy'\n label = `${format(startDate, 'MMM d')} – ${format(endDate, endDateFormat)}`\n }\n }\n }\n\n // `values` holds the gte/lte range pair — used by clientFilterToQueryFilter for round-trip\n // but not part of the FilterValue type, so we extend it at runtime\n const rangeValue = {\n id: `custom-${startISO || ''}-${endISO || ''}`,\n label,\n values: [\n ...(startISO\n ? [\n {\n id: startISO,\n label: isValid(parseISO(startISO))\n ? format(parseISO(startISO), 'MMM d, yyyy')\n : startISO,\n },\n ]\n : []),\n ...(endISO\n ? [\n {\n id: endISO,\n label: isValid(parseISO(endISO)) ? format(parseISO(endISO), 'MMM d, yyyy') : endISO,\n },\n ]\n : []),\n ],\n } as FilterValue\n\n return {\n id: filterOption.id,\n type: filterOption.type as Filter['type'],\n label: filterOption.label,\n icon: filterOption.icon,\n inverted: nestedFilter.operator === 'or',\n values: [rangeValue],\n singleSelect: filterOption.singleSelect,\n }\n}\n\n/**\n * Detects the composite nullness groups produced by clientFilterToQueryFilter for\n * text fields (isnull OR eq '' / notnull AND ne '') and restores the\n * noValue/hasValue chip instead of recursing into the group's conditions.\n */\nexport const tryMergeTextNullness = (\n nestedFilter: QueryFilter,\n filterOptions: Option[],\n): Filter | null => {\n const conditions = nestedFilter.conditions?.filter((c): c is QueryCondition => 'key' in c) ?? []\n if (conditions.length !== 2 || conditions.length !== nestedFilter.conditions?.length) return null\n\n const key = conditions[0].key\n if (!conditions.every((c) => c.key === key)) return null\n\n const isNoValue =\n nestedFilter.operator === 'or' &&\n conditions.some((c) => c.operator === 'isnull') &&\n conditions.some((c) => c.operator === 'eq' && c.value === '')\n const isHasValue =\n nestedFilter.operator === 'and' &&\n conditions.some((c) => c.operator === 'notnull') &&\n conditions.some((c) => c.operator === 'ne' && c.value === '')\n if (!isNoValue && !isHasValue) return null\n\n const filterOption = findFilterOption(key, filterOptions)\n if (!filterOption) return null\n\n return {\n id: filterOption.id,\n type: filterOption.type as Filter['type'],\n label: filterOption.label,\n inverted: false,\n operator: 'OR',\n icon: filterOption.icon,\n values: isNoValue\n ? [{ id: 'noValue', label: 'No Value' }]\n : [{ id: 'hasValue', label: 'Has Value' }],\n isCustom: filterOption.allowsCustomValues,\n singleSelect: filterOption.singleSelect,\n }\n}\n\nconst convertConditionToFilter = (\n condition: QueryCondition,\n filterOptions: Option[],\n processedConditions: Set<string>,\n): Filter | null => {\n const { key, value, operator } = condition\n\n // check if the filter is a text search filter\n if (key === SEARCH_FILTER_ID) {\n const valuesArray = Array.isArray(value) ? value : [value || '']\n const filter: Filter = {\n id: SEARCH_FILTER_ID,\n type: 'string',\n label: '',\n values: valuesArray.map((v) => ({ id: String(v), label: String(v) })),\n }\n\n return filter\n }\n\n // Find the matching filter option\n const filterOption = findFilterOption(key, filterOptions)\n if (!filterOption) {\n return null\n }\n\n // Create a unique key for this condition to avoid duplicates\n const conditionKey = `${key}_${operator}_${JSON.stringify(value)}`\n if (processedConditions.has(conditionKey)) {\n return null\n }\n processedConditions.add(conditionKey)\n\n // Convert the condition values to FilterValue objects\n const filterValues = convertConditionValueToFilterValues(value, operator, filterOption)\n\n // hasValue/noValue chips encode the null-check in the value itself — marking them\n // inverted would flip the operator back on the next conversion (notnull <-> isnull)\n const isNullnessCheck =\n filterValues.length === 1 && ['hasValue', 'noValue'].includes(String(filterValues[0].id))\n\n // Determine if the filter is inverted based on the operator\n const inverted = isNullnessCheck ? false : isInvertedOperator(operator, filterOption.type)\n\n // Determine the filter operator (AND/OR)\n const filterOperator = getFilterOperator(operator, filterOption.type)\n\n const filter: Filter = {\n id: filterOption.id,\n type: filterOption.type as Filter['type'],\n label: filterOption.label,\n inverted,\n operator: filterOperator,\n icon: filterOption.icon,\n values: filterValues,\n isCustom: filterOption.allowsCustomValues,\n singleSelect: filterOption.singleSelect,\n }\n\n return filter\n}\n\nconst findFilterOption = (key: string, filterOptions: Option[]): Option | undefined => {\n // Try exact match first\n let option = filterOptions.find((opt) => opt.id === key)\n if (option) return option\n\n // Try to find by the base key (without prefixes)\n option = filterOptions.find(\n (opt) =>\n opt.id.endsWith(key) ||\n opt.id.replace(/^[^.]*\\./, '') === key ||\n opt.id.split('_').pop() === key,\n )\n if (option) return option\n\n // Try to find by label match\n option = filterOptions.find((opt) => opt.label?.toLowerCase() === key.toLowerCase())\n\n return option\n}\n\nconst convertConditionValueToFilterValues = (\n value: QueryCondition['value'],\n operator: QueryCondition['operator'],\n filterOption: Option,\n): FilterValue[] => {\n // Handle special operators for null/empty checks\n if (operator === 'isnull' || operator === 'notnull') {\n return operator === 'isnull'\n ? [{ id: 'noValue', label: 'No Value' }]\n : [{ id: 'hasValue', label: 'Has Value' }]\n }\n\n // Handle empty array cases - these represent \"No Value\" and \"Has Value\" conditions\n if (Array.isArray(value) && value.length === 0) {\n if (operator === 'eq') {\n // Empty array with 'eq' operator means \"No Value\"\n return [{ id: 'noValue', label: 'No Value' }]\n } else if (operator === 'ne') {\n // Empty array with 'ne' operator means \"Has Value\"\n return [{ id: 'hasValue', label: 'Has Value' }]\n }\n }\n\n if (value === undefined || value === null) {\n return []\n }\n\n // Convert value(s) to FilterValue objects\n const values = Array.isArray(value) ? value : [value]\n\n return values.map((val) => {\n let stringValue = String(val)\n let isCustomValue = false\n\n // Handle LIKE operator with wildcards - strip them and mark as custom\n if (operator === 'like' && typeof val === 'string') {\n // Remove leading and trailing % wildcards\n stringValue = val.replace(/^%/, '').replace(/%$/, '')\n isCustomValue = true\n }\n\n // Try to find existing option value with metadata (only if not already marked as custom from LIKE)\n if (!isCustomValue) {\n const existingValue = filterOption.values?.find((v: FilterValue) => v.id === stringValue)\n if (existingValue) {\n return existingValue\n }\n }\n\n // Format datetime values nicely instead of showing raw ISO strings\n if (filterOption.type === 'datetime' && typeof val === 'string') {\n try {\n const date = parseISO(val)\n if (isValid(date)) {\n return {\n id: stringValue,\n label: format(date, 'MMM d, yyyy'),\n isCustom: true,\n }\n }\n } catch {\n // fall through to default\n }\n }\n\n // Create a basic FilterValue if no existing option found or if it's a LIKE value\n return {\n id: stringValue,\n label: stringValue,\n isCustom: true,\n }\n })\n}\n\nconst isInvertedOperator = (operator: QueryCondition['operator'], type?: string): boolean => {\n const invertedOperators = ['ne', 'notin', 'excludes', 'excludesall', 'excludesany', 'notnull']\n return operator ? invertedOperators.includes(operator) : false\n}\n\nconst getFilterOperator = (operator: QueryCondition['operator'], type?: string): 'AND' | 'OR' => {\n // For list types, determine AND/OR based on the operator\n if (type?.startsWith('list_of_')) {\n if (operator === 'includesall' || operator === 'excludesall') {\n return 'AND'\n }\n return 'OR'\n }\n\n // Default to OR for most cases\n return 'OR'\n}\n\nexport default queryFilterToClientFilter\n"],"names":["queryFilterToClientFilter","queryFilter","filterOptions","filters","processedConditions","condition","filter","convertConditionToFilter","datetimeFilter","tryMergeDatetimeRange","textNullnessFilter","tryMergeTextNullness","nestedFilters","mergeFiltersById","filterMap","existing","existingValueIds","v","newValues","nestedFilter","conditions","c","key","filterOption","findFilterOption","gteCondition","lteCondition","rawStartValue","rawEndValue","startISO","isRelativeDateValue","resolveRelativeValue","endISO","label","relativePattern","detectRelativeDatePattern","startDate","parseISO","endDate","isValid","currentYear","endDateFormat","format","rangeValue","isNoValue","isHasValue","value","operator","SEARCH_FILTER_ID","valuesArray","conditionKey","filterValues","convertConditionValueToFilterValues","inverted","isInvertedOperator","filterOperator","getFilterOperator","option","opt","val","stringValue","isCustomValue","existingValue","date","type"],"mappings":"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"}
|
package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryFilterToClientFilter.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.ts"],"sourcesContent":["import { Filter, FilterValue, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { QueryFilter, QueryCondition } from '../types/operations'\nimport { format, parseISO, isValid } from 'date-fns'\nimport { detectRelativeDatePattern } from '@shared/components/SearchFilter/filterDates'\nimport { isRelativeDateValue, resolveRelativeValue } from './expandRelativeDates'\n\n// Option interface for filter options (from useBuildFilterOptions)\ninterface Option {\n id: string\n type?: string\n label: string\n icon?: string | null\n img?: string | null\n inverted?: boolean\n operator?: 'AND' | 'OR'\n values?: FilterValue[]\n allowsCustomValues?: boolean\n allowHasValue?: boolean\n allowNoValue?: boolean\n allowExcludes?: boolean\n operatorChangeable?: boolean\n singleSelect?: boolean\n}\n\n/**\n * Converts a QueryFilter back to Filter[] objects that can be consumed by the SearchFilter component\n * This requires the filter options to properly reconstruct the Filter objects with all their metadata\n */\nexport const queryFilterToClientFilter = (\n queryFilter: QueryFilter | undefined,\n filterOptions: Option[],\n): Filter[] => {\n if (!queryFilter?.conditions || queryFilter.conditions.length === 0) {\n return []\n }\n\n const filters: Filter[] = []\n const processedConditions = new Set<string>()\n\n // Process each condition in the query filter\n queryFilter.conditions.forEach((condition) => {\n if ('key' in condition) {\n // This is a QueryCondition\n const filter = convertConditionToFilter(condition, filterOptions, processedConditions)\n if (filter) {\n filters.push(filter)\n }\n } else {\n // This is a nested QueryFilter - check if it's a datetime range (gte+lte same key)\n const datetimeFilter = tryMergeDatetimeRange(condition, filterOptions)\n const textNullnessFilter = datetimeFilter\n ? null\n : tryMergeTextNullness(condition, filterOptions)\n if (datetimeFilter) {\n filters.push(datetimeFilter)\n } else if (textNullnessFilter) {\n filters.push(textNullnessFilter)\n } else {\n // Recursively process other nested QueryFilters\n const nestedFilters = queryFilterToClientFilter(condition, filterOptions)\n filters.push(...nestedFilters)\n }\n }\n })\n\n return mergeFiltersById(filters)\n}\n\n/**\n * Merges filters that share the same id by combining their values.\n * This handles the case where custom + non-custom values for the same field\n * are stored as separate conditions in the query filter (e.g. `in` + `like`)\n * but should be represented as a single filter with all values combined.\n */\nconst mergeFiltersById = (filters: Filter[]): Filter[] => {\n const filterMap = new Map<string, Filter>()\n\n for (const filter of filters) {\n const existing = filterMap.get(filter.id)\n if (existing) {\n // Merge values, avoiding duplicates by id\n const existingValueIds = new Set((existing.values || []).map((v) => v.id))\n const newValues = (filter.values || []).filter((v) => !existingValueIds.has(v.id))\n existing.values = [...(existing.values || []), ...newValues]\n } else {\n filterMap.set(filter.id, { ...filter, values: [...(filter.values || [])] })\n }\n }\n\n return Array.from(filterMap.values())\n}\n\n/**\n * Detects nested QueryFilters that represent datetime ranges (gte+lte on the same key)\n * and merges them into a single datetime Filter with proper range values.\n */\nexport const tryMergeDatetimeRange = (\n nestedFilter: QueryFilter,\n filterOptions: Option[],\n): Filter | null => {\n if (!nestedFilter.conditions || nestedFilter.conditions.length < 1) return null\n\n // All conditions must be QueryConditions (not nested QueryFilters)\n const conditions = nestedFilter.conditions.filter((c): c is QueryCondition => 'key' in c)\n if (conditions.length !== nestedFilter.conditions.length) return null\n\n // All conditions must share the same key\n const key = conditions[0].key\n if (!conditions.every((c) => c.key === key)) return null\n\n // Find the matching filter option and check it's a datetime type\n const filterOption = findFilterOption(key, filterOptions)\n if (!filterOption || filterOption.type !== 'datetime') return null\n\n // Extract gte (start) and lte (end) values, resolving relative dates\n const gteCondition = conditions.find((c) => c.operator === 'gte')\n const lteCondition = conditions.find((c) => c.operator === 'lte')\n if (!gteCondition && !lteCondition) return null\n\n const rawStartValue = gteCondition?.value as string | undefined\n const rawEndValue = lteCondition?.value as string | undefined\n const startISO =\n rawStartValue && isRelativeDateValue(rawStartValue)\n ? resolveRelativeValue(rawStartValue)\n : rawStartValue\n const endISO =\n rawEndValue && isRelativeDateValue(rawEndValue)\n ? resolveRelativeValue(rawEndValue)\n : rawEndValue\n\n // Build the range label\n let label = 'Custom range'\n if (startISO && endISO) {\n // Check if it matches a relative date pattern first\n const relativePattern = detectRelativeDatePattern(startISO, endISO)\n if (relativePattern) {\n label = relativePattern.label\n } else {\n // Fall back to showing the date range\n const startDate = parseISO(startISO)\n const endDate = parseISO(endISO)\n if (isValid(startDate) && isValid(endDate)) {\n const currentYear = new Date().getFullYear()\n const endDateFormat = endDate.getFullYear() === currentYear ? 'MMM d' : 'MMM d, yyyy'\n label = `${format(startDate, 'MMM d')} – ${format(endDate, endDateFormat)}`\n }\n }\n }\n\n // `values` holds the gte/lte range pair — used by clientFilterToQueryFilter for round-trip\n // but not part of the FilterValue type, so we extend it at runtime\n const rangeValue = {\n id: `custom-${startISO || ''}-${endISO || ''}`,\n label,\n values: [\n ...(startISO\n ? [\n {\n id: startISO,\n label: isValid(parseISO(startISO))\n ? format(parseISO(startISO), 'MMM d, yyyy')\n : startISO,\n },\n ]\n : []),\n ...(endISO\n ? [\n {\n id: endISO,\n label: isValid(parseISO(endISO)) ? format(parseISO(endISO), 'MMM d, yyyy') : endISO,\n },\n ]\n : []),\n ],\n } as FilterValue\n\n return {\n id: filterOption.id,\n type: filterOption.type as Filter['type'],\n label: filterOption.label,\n icon: filterOption.icon,\n inverted: nestedFilter.operator === 'or',\n values: [rangeValue],\n singleSelect: filterOption.singleSelect,\n }\n}\n\n/**\n * Detects the composite nullness groups produced by clientFilterToQueryFilter for\n * text fields (isnull OR eq '' / notnull AND ne '') and restores the\n * noValue/hasValue chip instead of recursing into the group's conditions.\n */\nexport const tryMergeTextNullness = (\n nestedFilter: QueryFilter,\n filterOptions: Option[],\n): Filter | null => {\n const conditions = nestedFilter.conditions?.filter((c): c is QueryCondition => 'key' in c) ?? []\n if (conditions.length !== 2 || conditions.length !== nestedFilter.conditions?.length) return null\n\n const key = conditions[0].key\n if (!conditions.every((c) => c.key === key)) return null\n\n const isNoValue =\n nestedFilter.operator === 'or' &&\n conditions.some((c) => c.operator === 'isnull') &&\n conditions.some((c) => c.operator === 'eq' && c.value === '')\n const isHasValue =\n nestedFilter.operator === 'and' &&\n conditions.some((c) => c.operator === 'notnull') &&\n conditions.some((c) => c.operator === 'ne' && c.value === '')\n if (!isNoValue && !isHasValue) return null\n\n const filterOption = findFilterOption(key, filterOptions)\n if (!filterOption) return null\n\n return {\n id: filterOption.id,\n type: filterOption.type as Filter['type'],\n label: filterOption.label,\n inverted: false,\n operator: 'OR',\n icon: filterOption.icon,\n values: isNoValue\n ? [{ id: 'noValue', label: 'No Value' }]\n : [{ id: 'hasValue', label: 'Has Value' }],\n isCustom: filterOption.allowsCustomValues,\n singleSelect: filterOption.singleSelect,\n }\n}\n\nconst convertConditionToFilter = (\n condition: QueryCondition,\n filterOptions: Option[],\n processedConditions: Set<string>,\n): Filter | null => {\n const { key, value, operator } = condition\n\n // check if the filter is a text search filter\n if (key === SEARCH_FILTER_ID) {\n const valuesArray = Array.isArray(value) ? value : [value || '']\n const filter: Filter = {\n id: SEARCH_FILTER_ID,\n type: 'string',\n label: '',\n values: valuesArray.map((v) => ({ id: String(v), label: String(v) })),\n }\n\n return filter\n }\n\n // Find the matching filter option\n const filterOption = findFilterOption(key, filterOptions)\n if (!filterOption) {\n return null\n }\n\n // Create a unique key for this condition to avoid duplicates\n const conditionKey = `${key}_${operator}_${JSON.stringify(value)}`\n if (processedConditions.has(conditionKey)) {\n return null\n }\n processedConditions.add(conditionKey)\n\n // Convert the condition values to FilterValue objects\n const filterValues = convertConditionValueToFilterValues(value, operator, filterOption)\n\n // hasValue/noValue chips encode the null-check in the value itself — marking them\n // inverted would flip the operator back on the next conversion (notnull <-> isnull)\n const isNullnessCheck =\n filterValues.length === 1 && ['hasValue', 'noValue'].includes(String(filterValues[0].id))\n\n // Determine if the filter is inverted based on the operator\n const inverted = isNullnessCheck ? false : isInvertedOperator(operator, filterOption.type)\n\n // Determine the filter operator (AND/OR)\n const filterOperator = getFilterOperator(operator, filterOption.type)\n\n const filter: Filter = {\n id: filterOption.id,\n type: filterOption.type as Filter['type'],\n label: filterOption.label,\n inverted,\n operator: filterOperator,\n icon: filterOption.icon,\n values: filterValues,\n isCustom: filterOption.allowsCustomValues,\n singleSelect: filterOption.singleSelect,\n }\n\n return filter\n}\n\nconst findFilterOption = (key: string, filterOptions: Option[]): Option | undefined => {\n // Try exact match first\n let option = filterOptions.find((opt) => opt.id === key)\n if (option) return option\n\n // Try to find by the base key (without prefixes)\n option = filterOptions.find(\n (opt) =>\n opt.id.endsWith(key) ||\n opt.id.replace(/^[^.]*\\./, '') === key ||\n opt.id.split('_').pop() === key,\n )\n if (option) return option\n\n // Try to find by label match\n option = filterOptions.find((opt) => opt.label?.toLowerCase() === key.toLowerCase())\n\n return option\n}\n\nconst convertConditionValueToFilterValues = (\n value: QueryCondition['value'],\n operator: QueryCondition['operator'],\n filterOption: Option,\n): FilterValue[] => {\n // Handle special operators for null/empty checks\n if (operator === 'isnull' || operator === 'notnull') {\n return operator === 'isnull'\n ? [{ id: 'noValue', label: 'No Value' }]\n : [{ id: 'hasValue', label: 'Has Value' }]\n }\n\n // Handle empty array cases - these represent \"No Value\" and \"Has Value\" conditions\n if (Array.isArray(value) && value.length === 0) {\n if (operator === 'eq') {\n // Empty array with 'eq' operator means \"No Value\"\n return [{ id: 'noValue', label: 'No Value' }]\n } else if (operator === 'ne') {\n // Empty array with 'ne' operator means \"Has Value\"\n return [{ id: 'hasValue', label: 'Has Value' }]\n }\n }\n\n if (value === undefined || value === null) {\n return []\n }\n\n // Convert value(s) to FilterValue objects\n const values = Array.isArray(value) ? value : [value]\n\n return values.map((val) => {\n let stringValue = String(val)\n let isCustomValue = false\n\n // Handle LIKE operator with wildcards - strip them and mark as custom\n if (operator === 'like' && typeof val === 'string') {\n // Remove leading and trailing % wildcards\n stringValue = val.replace(/^%/, '').replace(/%$/, '')\n isCustomValue = true\n }\n\n // Try to find existing option value with metadata (only if not already marked as custom from LIKE)\n if (!isCustomValue) {\n const existingValue = filterOption.values?.find((v: FilterValue) => v.id === stringValue)\n if (existingValue) {\n return existingValue\n }\n }\n\n // Format datetime values nicely instead of showing raw ISO strings\n if (filterOption.type === 'datetime' && typeof val === 'string') {\n try {\n const date = parseISO(val)\n if (isValid(date)) {\n return {\n id: stringValue,\n label: format(date, 'MMM d, yyyy'),\n isCustom: true,\n }\n }\n } catch {\n // fall through to default\n }\n }\n\n // Create a basic FilterValue if no existing option found or if it's a LIKE value\n return {\n id: stringValue,\n label: stringValue,\n isCustom: true,\n }\n })\n}\n\nconst isInvertedOperator = (operator: QueryCondition['operator'], type?: string): boolean => {\n const invertedOperators = ['ne', 'notin', 'excludes', 'excludesall', 'excludesany', 'notnull']\n return operator ? invertedOperators.includes(operator) : false\n}\n\nconst getFilterOperator = (operator: QueryCondition['operator'], type?: string): 'AND' | 'OR' => {\n // For list types, determine AND/OR based on the operator\n if (type?.startsWith('list_of_')) {\n if (operator === 'includesall' || operator === 'excludesall') {\n return 'AND'\n }\n return 'OR'\n }\n\n // Default to OR for most cases\n return 'OR'\n}\n\nexport default queryFilterToClientFilter\n"],"names":["queryFilterToClientFilter","queryFilter","filterOptions","filters","processedConditions","condition","filter","convertConditionToFilter","datetimeFilter","tryMergeDatetimeRange","textNullnessFilter","tryMergeTextNullness","nestedFilters","mergeFiltersById","filterMap","existing","existingValueIds","v","newValues","nestedFilter","conditions","c","key","filterOption","findFilterOption","gteCondition","lteCondition","rawStartValue","rawEndValue","startISO","isRelativeDateValue","resolveRelativeValue","endISO","label","relativePattern","detectRelativeDatePattern","startDate","parseISO","endDate","isValid","currentYear","endDateFormat","format","rangeValue","isNoValue","isHasValue","value","operator","SEARCH_FILTER_ID","valuesArray","conditionKey","filterValues","convertConditionValueToFilterValues","inverted","isInvertedOperator","filterOperator","getFilterOperator","option","opt","val","stringValue","isCustomValue","existingValue","date","type"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queryFilterToClientFilter.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.ts"],"sourcesContent":["import { Filter, FilterValue, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport type { QueryFilter, QueryCondition } from '../types/operations'\nimport { format, parseISO, isValid } from 'date-fns'\nimport { detectRelativeDatePattern } from '@shared/components/SearchFilter/filterDates'\nimport { isRelativeDateValue, resolveRelativeValue } from './expandRelativeDates'\n\n// Option interface for filter options (from useBuildFilterOptions)\ninterface Option {\n id: string\n type?: string\n label: string\n icon?: string | null\n img?: string | null\n inverted?: boolean\n operator?: 'AND' | 'OR'\n values?: FilterValue[]\n allowsCustomValues?: boolean\n allowHasValue?: boolean\n allowNoValue?: boolean\n allowExcludes?: boolean\n operatorChangeable?: boolean\n singleSelect?: boolean\n}\n\n/**\n * Converts a QueryFilter back to Filter[] objects that can be consumed by the SearchFilter component\n * This requires the filter options to properly reconstruct the Filter objects with all their metadata\n */\nexport const queryFilterToClientFilter = (\n queryFilter: QueryFilter | undefined,\n filterOptions: Option[],\n): Filter[] => {\n if (!queryFilter?.conditions || queryFilter.conditions.length === 0) {\n return []\n }\n\n const filters: Filter[] = []\n const processedConditions = new Set<string>()\n\n // Process each condition in the query filter\n queryFilter.conditions.forEach((condition) => {\n if ('key' in condition) {\n // This is a QueryCondition\n const filter = convertConditionToFilter(condition, filterOptions, processedConditions)\n if (filter) {\n filters.push(filter)\n }\n } else {\n // This is a nested QueryFilter - check if it's a datetime range (gte+lte same key)\n const datetimeFilter = tryMergeDatetimeRange(condition, filterOptions)\n const textNullnessFilter = datetimeFilter\n ? null\n : tryMergeTextNullness(condition, filterOptions)\n if (datetimeFilter) {\n filters.push(datetimeFilter)\n } else if (textNullnessFilter) {\n filters.push(textNullnessFilter)\n } else {\n // Recursively process other nested QueryFilters\n const nestedFilters = queryFilterToClientFilter(condition, filterOptions)\n filters.push(...nestedFilters)\n }\n }\n })\n\n return mergeFiltersById(filters)\n}\n\n/**\n * Merges filters that share the same id by combining their values.\n * This handles the case where custom + non-custom values for the same field\n * are stored as separate conditions in the query filter (e.g. `in` + `like`)\n * but should be represented as a single filter with all values combined.\n */\nconst mergeFiltersById = (filters: Filter[]): Filter[] => {\n const filterMap = new Map<string, Filter>()\n\n for (const filter of filters) {\n const existing = filterMap.get(filter.id)\n if (existing) {\n // Merge values, avoiding duplicates by id\n const existingValueIds = new Set((existing.values || []).map((v) => v.id))\n const newValues = (filter.values || []).filter((v) => !existingValueIds.has(v.id))\n existing.values = [...(existing.values || []), ...newValues]\n } else {\n filterMap.set(filter.id, { ...filter, values: [...(filter.values || [])] })\n }\n }\n\n return Array.from(filterMap.values())\n}\n\n/**\n * Detects nested QueryFilters that represent datetime ranges (gte+lte on the same key)\n * and merges them into a single datetime Filter with proper range values.\n */\nexport const tryMergeDatetimeRange = (\n nestedFilter: QueryFilter,\n filterOptions: Option[],\n): Filter | null => {\n if (!nestedFilter.conditions || nestedFilter.conditions.length < 1) return null\n\n // All conditions must be QueryConditions (not nested QueryFilters)\n const conditions = nestedFilter.conditions.filter((c): c is QueryCondition => 'key' in c)\n if (conditions.length !== nestedFilter.conditions.length) return null\n\n // All conditions must share the same key\n const key = conditions[0].key\n if (!conditions.every((c) => c.key === key)) return null\n\n // Find the matching filter option and check it's a datetime type\n const filterOption = findFilterOption(key, filterOptions)\n if (!filterOption || filterOption.type !== 'datetime') return null\n\n // Extract gte (start) and lte (end) values, resolving relative dates\n const gteCondition = conditions.find((c) => c.operator === 'gte')\n const lteCondition = conditions.find((c) => c.operator === 'lte')\n if (!gteCondition && !lteCondition) return null\n\n const rawStartValue = gteCondition?.value as string | undefined\n const rawEndValue = lteCondition?.value as string | undefined\n const startISO =\n rawStartValue && isRelativeDateValue(rawStartValue)\n ? resolveRelativeValue(rawStartValue)\n : rawStartValue\n const endISO =\n rawEndValue && isRelativeDateValue(rawEndValue)\n ? resolveRelativeValue(rawEndValue)\n : rawEndValue\n\n // Build the range label\n let label = 'Custom range'\n if (startISO && endISO) {\n // Check if it matches a relative date pattern first\n const relativePattern = detectRelativeDatePattern(startISO, endISO)\n if (relativePattern) {\n label = relativePattern.label\n } else {\n // Fall back to showing the date range\n const startDate = parseISO(startISO)\n const endDate = parseISO(endISO)\n if (isValid(startDate) && isValid(endDate)) {\n const currentYear = new Date().getFullYear()\n const endDateFormat = endDate.getFullYear() === currentYear ? 'MMM d' : 'MMM d, yyyy'\n label = `${format(startDate, 'MMM d')} – ${format(endDate, endDateFormat)}`\n }\n }\n }\n\n // `values` holds the gte/lte range pair — used by clientFilterToQueryFilter for round-trip\n // but not part of the FilterValue type, so we extend it at runtime\n const rangeValue = {\n id: `custom-${startISO || ''}-${endISO || ''}`,\n label,\n values: [\n ...(startISO\n ? [\n {\n id: startISO,\n label: isValid(parseISO(startISO))\n ? format(parseISO(startISO), 'MMM d, yyyy')\n : startISO,\n },\n ]\n : []),\n ...(endISO\n ? [\n {\n id: endISO,\n label: isValid(parseISO(endISO)) ? format(parseISO(endISO), 'MMM d, yyyy') : endISO,\n },\n ]\n : []),\n ],\n } as FilterValue\n\n return {\n id: filterOption.id,\n type: filterOption.type as Filter['type'],\n label: filterOption.label,\n icon: filterOption.icon,\n inverted: nestedFilter.operator === 'or',\n values: [rangeValue],\n singleSelect: filterOption.singleSelect,\n }\n}\n\n/**\n * Detects the composite nullness groups produced by clientFilterToQueryFilter for\n * text fields (isnull OR eq '' / notnull AND ne '') and restores the\n * noValue/hasValue chip instead of recursing into the group's conditions.\n */\nexport const tryMergeTextNullness = (\n nestedFilter: QueryFilter,\n filterOptions: Option[],\n): Filter | null => {\n const conditions = nestedFilter.conditions?.filter((c): c is QueryCondition => 'key' in c) ?? []\n if (conditions.length !== 2 || conditions.length !== nestedFilter.conditions?.length) return null\n\n const key = conditions[0].key\n if (!conditions.every((c) => c.key === key)) return null\n\n const isNoValue =\n nestedFilter.operator === 'or' &&\n conditions.some((c) => c.operator === 'isnull') &&\n conditions.some((c) => c.operator === 'eq' && c.value === '')\n const isHasValue =\n nestedFilter.operator === 'and' &&\n conditions.some((c) => c.operator === 'notnull') &&\n conditions.some((c) => c.operator === 'ne' && c.value === '')\n if (!isNoValue && !isHasValue) return null\n\n const filterOption = findFilterOption(key, filterOptions)\n if (!filterOption) return null\n\n return {\n id: filterOption.id,\n type: filterOption.type as Filter['type'],\n label: filterOption.label,\n inverted: false,\n operator: 'OR',\n icon: filterOption.icon,\n values: isNoValue\n ? [{ id: 'noValue', label: 'No Value' }]\n : [{ id: 'hasValue', label: 'Has Value' }],\n isCustom: filterOption.allowsCustomValues,\n singleSelect: filterOption.singleSelect,\n }\n}\n\nconst convertConditionToFilter = (\n condition: QueryCondition,\n filterOptions: Option[],\n processedConditions: Set<string>,\n): Filter | null => {\n const { key, value, operator } = condition\n\n // check if the filter is a text search filter\n if (key === SEARCH_FILTER_ID) {\n const valuesArray = Array.isArray(value) ? value : [value || '']\n const filter: Filter = {\n id: SEARCH_FILTER_ID,\n type: 'string',\n label: '',\n values: valuesArray.map((v) => ({ id: String(v), label: String(v) })),\n }\n\n return filter\n }\n\n // Find the matching filter option\n const filterOption = findFilterOption(key, filterOptions)\n if (!filterOption) {\n return null\n }\n\n // Create a unique key for this condition to avoid duplicates\n const conditionKey = `${key}_${operator}_${JSON.stringify(value)}`\n if (processedConditions.has(conditionKey)) {\n return null\n }\n processedConditions.add(conditionKey)\n\n // Convert the condition values to FilterValue objects\n const filterValues = convertConditionValueToFilterValues(value, operator, filterOption)\n\n // hasValue/noValue chips encode the null-check in the value itself — marking them\n // inverted would flip the operator back on the next conversion (notnull <-> isnull)\n const isNullnessCheck =\n filterValues.length === 1 && ['hasValue', 'noValue'].includes(String(filterValues[0].id))\n\n // Determine if the filter is inverted based on the operator\n const inverted = isNullnessCheck ? false : isInvertedOperator(operator, filterOption.type)\n\n // Determine the filter operator (AND/OR)\n const filterOperator = getFilterOperator(operator, filterOption.type)\n\n const filter: Filter = {\n id: filterOption.id,\n type: filterOption.type as Filter['type'],\n label: filterOption.label,\n inverted,\n operator: filterOperator,\n icon: filterOption.icon,\n values: filterValues,\n isCustom: filterOption.allowsCustomValues,\n singleSelect: filterOption.singleSelect,\n }\n\n return filter\n}\n\nconst findFilterOption = (key: string, filterOptions: Option[]): Option | undefined => {\n // Try exact match first\n let option = filterOptions.find((opt) => opt.id === key)\n if (option) return option\n\n // Try to find by the base key (without prefixes)\n option = filterOptions.find(\n (opt) =>\n opt.id.endsWith(key) ||\n opt.id.replace(/^[^.]*\\./, '') === key ||\n opt.id.split('_').pop() === key,\n )\n if (option) return option\n\n // Try to find by label match\n option = filterOptions.find((opt) => opt.label?.toLowerCase() === key.toLowerCase())\n\n return option\n}\n\nconst convertConditionValueToFilterValues = (\n value: QueryCondition['value'],\n operator: QueryCondition['operator'],\n filterOption: Option,\n): FilterValue[] => {\n // Handle special operators for null/empty checks\n if (operator === 'isnull' || operator === 'notnull') {\n return operator === 'isnull'\n ? [{ id: 'noValue', label: 'No Value' }]\n : [{ id: 'hasValue', label: 'Has Value' }]\n }\n\n // Handle empty array cases - these represent \"No Value\" and \"Has Value\" conditions\n if (Array.isArray(value) && value.length === 0) {\n if (operator === 'eq') {\n // Empty array with 'eq' operator means \"No Value\"\n return [{ id: 'noValue', label: 'No Value' }]\n } else if (operator === 'ne') {\n // Empty array with 'ne' operator means \"Has Value\"\n return [{ id: 'hasValue', label: 'Has Value' }]\n }\n }\n\n if (value === undefined || value === null) {\n return []\n }\n\n // Convert value(s) to FilterValue objects\n const values = Array.isArray(value) ? value : [value]\n\n return values.map((val) => {\n let stringValue = String(val)\n let isCustomValue = false\n\n // Handle LIKE operator with wildcards - strip them and mark as custom\n if (operator === 'like' && typeof val === 'string') {\n // Remove leading and trailing % wildcards\n stringValue = val.replace(/^%/, '').replace(/%$/, '')\n isCustomValue = true\n }\n\n // Try to find existing option value with metadata (only if not already marked as custom from LIKE)\n if (!isCustomValue) {\n const existingValue = filterOption.values?.find((v: FilterValue) => v.id === stringValue)\n if (existingValue) {\n return existingValue\n }\n }\n\n // Format datetime values nicely instead of showing raw ISO strings\n if (filterOption.type === 'datetime' && typeof val === 'string') {\n try {\n const date = parseISO(val)\n if (isValid(date)) {\n return {\n id: stringValue,\n label: format(date, 'MMM d, yyyy'),\n isCustom: true,\n }\n }\n } catch {\n // fall through to default\n }\n }\n\n // Create a basic FilterValue if no existing option found or if it's a LIKE value\n return {\n id: stringValue,\n label: stringValue,\n isCustom: true,\n }\n })\n}\n\nconst isInvertedOperator = (operator: QueryCondition['operator'], type?: string): boolean => {\n const invertedOperators = ['ne', 'notin', 'excludes', 'excludesall', 'excludesany', 'notnull']\n return operator ? invertedOperators.includes(operator) : false\n}\n\nconst getFilterOperator = (operator: QueryCondition['operator'], type?: string): 'AND' | 'OR' => {\n // For list types, determine AND/OR based on the operator\n if (type?.startsWith('list_of_')) {\n if (operator === 'includesall' || operator === 'excludesall') {\n return 'AND'\n }\n return 'OR'\n }\n\n // Default to OR for most cases\n return 'OR'\n}\n\nexport default queryFilterToClientFilter\n"],"names":["queryFilterToClientFilter","queryFilter","filterOptions","filters","processedConditions","condition","filter","convertConditionToFilter","datetimeFilter","tryMergeDatetimeRange","textNullnessFilter","tryMergeTextNullness","nestedFilters","mergeFiltersById","filterMap","existing","existingValueIds","v","newValues","nestedFilter","conditions","c","key","filterOption","findFilterOption","gteCondition","lteCondition","rawStartValue","rawEndValue","startISO","isRelativeDateValue","resolveRelativeValue","endISO","label","relativePattern","detectRelativeDatePattern","startDate","parseISO","endDate","isValid","currentYear","endDateFormat","format","rangeValue","isNoValue","isHasValue","value","operator","SEARCH_FILTER_ID","valuesArray","conditionKey","filterValues","convertConditionValueToFilterValues","inverted","isInvertedOperator","filterOperator","getFilterOperator","option","opt","val","stringValue","isCustomValue","existingValue","date","type"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitizeQueryFilter.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.ts"],"sourcesContent":["import { QueryCondition, QueryFilter } from '
|
|
1
|
+
{"version":3,"file":"sanitizeQueryFilter.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.ts"],"sourcesContent":["import type { QueryCondition, QueryFilter } from '../types/operations'\n\nconst isCondition = (c: QueryCondition | QueryFilter): c is QueryCondition => 'key' in c\n\n// Persisted filters come back from the views API with `value: null` filled in.\n// The server rejects null values even for isnull/notnull, so drop the key entirely.\nexport const sanitizeQueryFilter = (filter: QueryFilter): QueryFilter => ({\n ...filter,\n conditions: filter.conditions?.map((c) => {\n if (!isCondition(c)) return sanitizeQueryFilter(c)\n if ((c.operator === 'isnull' || c.operator === 'notnull') && c.value == null) {\n const { value, ...rest } = c\n return rest\n }\n return c\n }),\n})\n"],"names":["isCondition","c","sanitizeQueryFilter","filter","value","rest"],"mappings":"gFAEA,MAAMA,EAAeC,GAAyD,QAASA,EAI1EC,EAAuBC,IAAsC,CACxE,GAAGA,EACH,WAAYA,EAAO,YAAY,IAAKF,GAAM,CACxC,GAAI,CAACD,EAAYC,CAAC,EAAG,OAAOC,EAAoBD,CAAC,EACjD,IAAKA,EAAE,WAAa,UAAYA,EAAE,WAAa,YAAcA,EAAE,OAAS,KAAM,CAC5E,KAAM,CAAE,MAAAG,EAAO,GAAGC,CAAA,EAASJ,EAC3B,OAAOI,CACT,CACA,OAAOJ,CACT,CAAC,CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitizeQueryFilter.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.ts"],"sourcesContent":["import { QueryCondition, QueryFilter } from '
|
|
1
|
+
{"version":3,"file":"sanitizeQueryFilter.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.ts"],"sourcesContent":["import type { QueryCondition, QueryFilter } from '../types/operations'\n\nconst isCondition = (c: QueryCondition | QueryFilter): c is QueryCondition => 'key' in c\n\n// Persisted filters come back from the views API with `value: null` filled in.\n// The server rejects null values even for isnull/notnull, so drop the key entirely.\nexport const sanitizeQueryFilter = (filter: QueryFilter): QueryFilter => ({\n ...filter,\n conditions: filter.conditions?.map((c) => {\n if (!isCondition(c)) return sanitizeQueryFilter(c)\n if ((c.operator === 'isnull' || c.operator === 'notnull') && c.value == null) {\n const { value, ...rest } = c\n return rest\n }\n return c\n }),\n})\n"],"names":["isCondition","c","sanitizeQueryFilter","filter","value","rest"],"mappings":"AAEA,MAAMA,IAAc,CAACC,MAAyD,SAASA,GAI1EC,IAAsB,CAACC,OAAsC;AAAA,EACxE,GAAGA;AAAA,EACH,YAAYA,EAAO,YAAY,IAAI,CAACF,MAAM;AACxC,QAAI,CAACD,EAAYC,CAAC,EAAG,QAAOC,EAAoBD,CAAC;AACjD,SAAKA,EAAE,aAAa,YAAYA,EAAE,aAAa,cAAcA,EAAE,SAAS,MAAM;AAC5E,YAAM,EAAE,OAAAG,GAAO,GAAGC,EAAA,IAASJ;AAC3B,aAAOI;AAAA,IACT;AACA,WAAOJ;AAAA,EACT,CAAC;AACH;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateUpdateEntities.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/validateUpdateEntities.ts"],"sourcesContent":["import { ProjectTableAttribute } from '../types'\nimport { AttributeData } from '@shared/api'\nimport { EntityUpdate } from '../hooks/useUpdateTableData'\n\nconst validateUpdateEntities = (\n entities: EntityUpdate[] = [],\n attribFields: ProjectTableAttribute[],\n) => {\n // first validate the values are correct\n for (const { isAttrib, value: rawValue, field } of entities) {\n if (!isAttrib) continue\n const attribute = attribFields.find((attr) => attr.name === field)\n if (!attribute) continue\n\n // coerce numeric strings into numbers for integer/float types or fail\n let value: any = rawValue\n const { type } = attribute.data\n if (type === 'integer' || type === 'float') {\n if (typeof rawValue === 'string') {\n // empty or non‑numeric strings are invalid\n if (rawValue.trim() === '' || isNaN(Number(rawValue))) {\n throw new Error(`“${field}” must be a valid number`)\n }\n value = type === 'integer' ? parseInt(rawValue, 10) : parseFloat(rawValue)\n } else if (typeof rawValue !== 'number') {\n // any other type is invalid\n throw new Error(`“${field}” must be a valid number`)\n }\n }\n\n // collect numeric rules from attribute.data\n const validationKeys: (keyof AttributeData)[] = [\n 'ge',\n 'gt',\n 'le',\n 'lt',\n 'minLength',\n 'maxLength',\n 'minItems',\n 'maxItems',\n ]\n const validationValues = (\n Object.entries(attribute.data) as [keyof AttributeData, any][]\n ).reduce((acc, [key, v]) => {\n if (validationKeys.includes(key)) acc[key] = v as number\n return acc\n }, {} as Record<keyof AttributeData, number>)\n\n const { ge, gt, le, lt, minLength, maxLength, minItems, maxItems } = validationValues\n const pattern = attribute.data.regex\n\n if (typeof value === 'number') {\n if (ge != null && value < ge) throw new Error(`“${field}” must be ≥ ${ge}`)\n if (gt != null && value <= gt) throw new Error(`“${field}” must be > ${gt}`)\n if (le != null && value > le) throw new Error(`“${field}” must be ≤ ${le}`)\n if (lt != null && value >= lt) throw new Error(`“${field}” must be < ${lt}`)\n } else if (typeof value === 'string') {\n if (minLength != null && value.length < minLength)\n throw new Error(`“${field}” length must be ≥ ${minLength}`)\n if (maxLength != null && value.length > maxLength)\n throw new Error(`“${field}” length must be ≤ ${maxLength}`)\n if (pattern && !new RegExp(pattern).test(value))\n throw new Error(`“${field}” must match pattern ${pattern}`)\n } else if (Array.isArray(value)) {\n if (minItems != null && value.length < minItems)\n throw new Error(`“${field}” items must be ≥ ${minItems}`)\n if (maxItems != null && value.length > maxItems)\n throw new Error(`“${field}” items must be ≤ ${maxItems}`)\n }\n }\n}\n\nexport default validateUpdateEntities\n"],"names":["validateUpdateEntities","entities","attribFields","isAttrib","rawValue","field","attribute","attr","value","type","validationKeys","validationValues","acc","key","ge","gt","le","lt","minLength","maxLength","minItems","maxItems","pattern"],"mappings":"aAIA,MAAMA,EAAyB,CAC7BC,EAA2B,CAAA,EAC3BC,IACG,CAEH,SAAW,CAAE,SAAAC,EAAU,MAAOC,EAAU,MAAAC,CAAA,IAAWJ,EAAU,CAC3D,GAAI,CAACE,EAAU,SACf,MAAMG,EAAYJ,EAAa,KAAMK,GAASA,EAAK,OAASF,CAAK,EACjE,GAAI,CAACC,EAAW,SAGhB,IAAIE,EAAaJ,EACjB,KAAM,CAAE,KAAAK,GAASH,EAAU,KAC3B,GAAIG,IAAS,WAAaA,IAAS,SACjC,GAAI,OAAOL,GAAa,SAAU,CAEhC,GAAIA,EAAS,SAAW,IAAM,MAAM,OAAOA,CAAQ,CAAC,EAClD,MAAM,IAAI,MAAM,IAAIC,CAAK,0BAA0B,EAErDG,EAAQC,IAAS,UAAY,SAASL,EAAU,EAAE,EAAI,WAAWA,CAAQ,CAC3E,SAAW,OAAOA,GAAa,SAE7B,MAAM,IAAI,MAAM,IAAIC,CAAK,0BAA0B,EAKvD,MAAMK,EAA0C,CAC9C,KACA,KACA,KACA,KACA,YACA,YACA,WACA,UAAA,EAEIC,EACJ,OAAO,QAAQL,EAAU,IAAI,EAC7B,OAAO,CAACM,EAAK,CAACC,EAAK,CAAC,KAChBH,EAAe,SAASG,CAAG,IAAGD,EAAIC,CAAG,EAAI,GACtCD,GACN,CAAA,CAAyC,EAEtC,CAAE,GAAAE,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,UAAAC,EAAW,UAAAC,EAAW,SAAAC,EAAU,SAAAC,CAAA,EAAaV,EAC/DW,EAAUhB,EAAU,KAAK,MAE/B,GAAI,OAAOE,GAAU,SAAU,CAC7B,GAAIM,GAAM,MAAQN,EAAQM,EAAI,MAAM,IAAI,MAAM,IAAIT,CAAK,eAAeS,CAAE,EAAE,EAC1E,GAAIC,GAAM,MAAQP,GAASO,EAAI,MAAM,IAAI,MAAM,IAAIV,CAAK,eAAeU,CAAE,EAAE,EAC3E,GAAIC,GAAM,MAAQR,EAAQQ,EAAI,MAAM,IAAI,MAAM,IAAIX,CAAK,eAAeW,CAAE,EAAE,EAC1E,GAAIC,GAAM,MAAQT,GAASS,EAAI,MAAM,IAAI,MAAM,IAAIZ,CAAK,eAAeY,CAAE,EAAE,CAC7E,SAAW,OAAOT,GAAU,SAAU,CACpC,GAAIU,GAAa,MAAQV,EAAM,OAASU,EACtC,MAAM,IAAI,MAAM,IAAIb,CAAK,sBAAsBa,CAAS,EAAE,EAC5D,GAAIC,GAAa,MAAQX,EAAM,OAASW,EACtC,MAAM,IAAI,MAAM,IAAId,CAAK,sBAAsBc,CAAS,EAAE,EAC5D,GAAIG,GAAW,CAAC,IAAI,OAAOA,CAAO,EAAE,KAAKd,CAAK,EAC5C,MAAM,IAAI,MAAM,IAAIH,CAAK,wBAAwBiB,CAAO,EAAE,CAC9D,SAAW,MAAM,QAAQd,CAAK,EAAG,CAC/B,GAAIY,GAAY,MAAQZ,EAAM,OAASY,EACrC,MAAM,IAAI,MAAM,IAAIf,CAAK,qBAAqBe,CAAQ,EAAE,EAC1D,GAAIC,GAAY,MAAQb,EAAM,OAASa,EACrC,MAAM,IAAI,MAAM,IAAIhB,CAAK,qBAAqBgB,CAAQ,EAAE,CAC5D,CACF,CACF"}
|
|
1
|
+
{"version":3,"file":"validateUpdateEntities.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/validateUpdateEntities.ts"],"sourcesContent":["import { ProjectTableAttribute } from '../types'\nimport type { AttributeData } from '@shared/api'\nimport { EntityUpdate } from '../hooks/useUpdateTableData'\n\nconst validateUpdateEntities = (\n entities: EntityUpdate[] = [],\n attribFields: ProjectTableAttribute[],\n) => {\n // first validate the values are correct\n for (const { isAttrib, value: rawValue, field } of entities) {\n if (!isAttrib) continue\n const attribute = attribFields.find((attr) => attr.name === field)\n if (!attribute) continue\n\n // coerce numeric strings into numbers for integer/float types or fail\n let value: any = rawValue\n const { type } = attribute.data\n if (type === 'integer' || type === 'float') {\n if (typeof rawValue === 'string') {\n // empty or non‑numeric strings are invalid\n if (rawValue.trim() === '' || isNaN(Number(rawValue))) {\n throw new Error(`“${field}” must be a valid number`)\n }\n value = type === 'integer' ? parseInt(rawValue, 10) : parseFloat(rawValue)\n } else if (typeof rawValue !== 'number') {\n // any other type is invalid\n throw new Error(`“${field}” must be a valid number`)\n }\n }\n\n // collect numeric rules from attribute.data\n const validationKeys: (keyof AttributeData)[] = [\n 'ge',\n 'gt',\n 'le',\n 'lt',\n 'minLength',\n 'maxLength',\n 'minItems',\n 'maxItems',\n ]\n const validationValues = (\n Object.entries(attribute.data) as [keyof AttributeData, any][]\n ).reduce((acc, [key, v]) => {\n if (validationKeys.includes(key)) acc[key] = v as number\n return acc\n }, {} as Record<keyof AttributeData, number>)\n\n const { ge, gt, le, lt, minLength, maxLength, minItems, maxItems } = validationValues\n const pattern = attribute.data.regex\n\n if (typeof value === 'number') {\n if (ge != null && value < ge) throw new Error(`“${field}” must be ≥ ${ge}`)\n if (gt != null && value <= gt) throw new Error(`“${field}” must be > ${gt}`)\n if (le != null && value > le) throw new Error(`“${field}” must be ≤ ${le}`)\n if (lt != null && value >= lt) throw new Error(`“${field}” must be < ${lt}`)\n } else if (typeof value === 'string') {\n if (minLength != null && value.length < minLength)\n throw new Error(`“${field}” length must be ≥ ${minLength}`)\n if (maxLength != null && value.length > maxLength)\n throw new Error(`“${field}” length must be ≤ ${maxLength}`)\n if (pattern && !new RegExp(pattern).test(value))\n throw new Error(`“${field}” must match pattern ${pattern}`)\n } else if (Array.isArray(value)) {\n if (minItems != null && value.length < minItems)\n throw new Error(`“${field}” items must be ≥ ${minItems}`)\n if (maxItems != null && value.length > maxItems)\n throw new Error(`“${field}” items must be ≤ ${maxItems}`)\n }\n }\n}\n\nexport default validateUpdateEntities\n"],"names":["validateUpdateEntities","entities","attribFields","isAttrib","rawValue","field","attribute","attr","value","type","validationKeys","validationValues","acc","key","ge","gt","le","lt","minLength","maxLength","minItems","maxItems","pattern"],"mappings":"aAIA,MAAMA,EAAyB,CAC7BC,EAA2B,CAAA,EAC3BC,IACG,CAEH,SAAW,CAAE,SAAAC,EAAU,MAAOC,EAAU,MAAAC,CAAA,IAAWJ,EAAU,CAC3D,GAAI,CAACE,EAAU,SACf,MAAMG,EAAYJ,EAAa,KAAMK,GAASA,EAAK,OAASF,CAAK,EACjE,GAAI,CAACC,EAAW,SAGhB,IAAIE,EAAaJ,EACjB,KAAM,CAAE,KAAAK,GAASH,EAAU,KAC3B,GAAIG,IAAS,WAAaA,IAAS,SACjC,GAAI,OAAOL,GAAa,SAAU,CAEhC,GAAIA,EAAS,SAAW,IAAM,MAAM,OAAOA,CAAQ,CAAC,EAClD,MAAM,IAAI,MAAM,IAAIC,CAAK,0BAA0B,EAErDG,EAAQC,IAAS,UAAY,SAASL,EAAU,EAAE,EAAI,WAAWA,CAAQ,CAC3E,SAAW,OAAOA,GAAa,SAE7B,MAAM,IAAI,MAAM,IAAIC,CAAK,0BAA0B,EAKvD,MAAMK,EAA0C,CAC9C,KACA,KACA,KACA,KACA,YACA,YACA,WACA,UAAA,EAEIC,EACJ,OAAO,QAAQL,EAAU,IAAI,EAC7B,OAAO,CAACM,EAAK,CAACC,EAAK,CAAC,KAChBH,EAAe,SAASG,CAAG,IAAGD,EAAIC,CAAG,EAAI,GACtCD,GACN,CAAA,CAAyC,EAEtC,CAAE,GAAAE,EAAI,GAAAC,EAAI,GAAAC,EAAI,GAAAC,EAAI,UAAAC,EAAW,UAAAC,EAAW,SAAAC,EAAU,SAAAC,CAAA,EAAaV,EAC/DW,EAAUhB,EAAU,KAAK,MAE/B,GAAI,OAAOE,GAAU,SAAU,CAC7B,GAAIM,GAAM,MAAQN,EAAQM,EAAI,MAAM,IAAI,MAAM,IAAIT,CAAK,eAAeS,CAAE,EAAE,EAC1E,GAAIC,GAAM,MAAQP,GAASO,EAAI,MAAM,IAAI,MAAM,IAAIV,CAAK,eAAeU,CAAE,EAAE,EAC3E,GAAIC,GAAM,MAAQR,EAAQQ,EAAI,MAAM,IAAI,MAAM,IAAIX,CAAK,eAAeW,CAAE,EAAE,EAC1E,GAAIC,GAAM,MAAQT,GAASS,EAAI,MAAM,IAAI,MAAM,IAAIZ,CAAK,eAAeY,CAAE,EAAE,CAC7E,SAAW,OAAOT,GAAU,SAAU,CACpC,GAAIU,GAAa,MAAQV,EAAM,OAASU,EACtC,MAAM,IAAI,MAAM,IAAIb,CAAK,sBAAsBa,CAAS,EAAE,EAC5D,GAAIC,GAAa,MAAQX,EAAM,OAASW,EACtC,MAAM,IAAI,MAAM,IAAId,CAAK,sBAAsBc,CAAS,EAAE,EAC5D,GAAIG,GAAW,CAAC,IAAI,OAAOA,CAAO,EAAE,KAAKd,CAAK,EAC5C,MAAM,IAAI,MAAM,IAAIH,CAAK,wBAAwBiB,CAAO,EAAE,CAC9D,SAAW,MAAM,QAAQd,CAAK,EAAG,CAC/B,GAAIY,GAAY,MAAQZ,EAAM,OAASY,EACrC,MAAM,IAAI,MAAM,IAAIf,CAAK,qBAAqBe,CAAQ,EAAE,EAC1D,GAAIC,GAAY,MAAQb,EAAM,OAASa,EACrC,MAAM,IAAI,MAAM,IAAIhB,CAAK,qBAAqBgB,CAAQ,EAAE,CAC5D,CACF,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateUpdateEntities.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/validateUpdateEntities.ts"],"sourcesContent":["import { ProjectTableAttribute } from '../types'\nimport { AttributeData } from '@shared/api'\nimport { EntityUpdate } from '../hooks/useUpdateTableData'\n\nconst validateUpdateEntities = (\n entities: EntityUpdate[] = [],\n attribFields: ProjectTableAttribute[],\n) => {\n // first validate the values are correct\n for (const { isAttrib, value: rawValue, field } of entities) {\n if (!isAttrib) continue\n const attribute = attribFields.find((attr) => attr.name === field)\n if (!attribute) continue\n\n // coerce numeric strings into numbers for integer/float types or fail\n let value: any = rawValue\n const { type } = attribute.data\n if (type === 'integer' || type === 'float') {\n if (typeof rawValue === 'string') {\n // empty or non‑numeric strings are invalid\n if (rawValue.trim() === '' || isNaN(Number(rawValue))) {\n throw new Error(`“${field}” must be a valid number`)\n }\n value = type === 'integer' ? parseInt(rawValue, 10) : parseFloat(rawValue)\n } else if (typeof rawValue !== 'number') {\n // any other type is invalid\n throw new Error(`“${field}” must be a valid number`)\n }\n }\n\n // collect numeric rules from attribute.data\n const validationKeys: (keyof AttributeData)[] = [\n 'ge',\n 'gt',\n 'le',\n 'lt',\n 'minLength',\n 'maxLength',\n 'minItems',\n 'maxItems',\n ]\n const validationValues = (\n Object.entries(attribute.data) as [keyof AttributeData, any][]\n ).reduce((acc, [key, v]) => {\n if (validationKeys.includes(key)) acc[key] = v as number\n return acc\n }, {} as Record<keyof AttributeData, number>)\n\n const { ge, gt, le, lt, minLength, maxLength, minItems, maxItems } = validationValues\n const pattern = attribute.data.regex\n\n if (typeof value === 'number') {\n if (ge != null && value < ge) throw new Error(`“${field}” must be ≥ ${ge}`)\n if (gt != null && value <= gt) throw new Error(`“${field}” must be > ${gt}`)\n if (le != null && value > le) throw new Error(`“${field}” must be ≤ ${le}`)\n if (lt != null && value >= lt) throw new Error(`“${field}” must be < ${lt}`)\n } else if (typeof value === 'string') {\n if (minLength != null && value.length < minLength)\n throw new Error(`“${field}” length must be ≥ ${minLength}`)\n if (maxLength != null && value.length > maxLength)\n throw new Error(`“${field}” length must be ≤ ${maxLength}`)\n if (pattern && !new RegExp(pattern).test(value))\n throw new Error(`“${field}” must match pattern ${pattern}`)\n } else if (Array.isArray(value)) {\n if (minItems != null && value.length < minItems)\n throw new Error(`“${field}” items must be ≥ ${minItems}`)\n if (maxItems != null && value.length > maxItems)\n throw new Error(`“${field}” items must be ≤ ${maxItems}`)\n }\n }\n}\n\nexport default validateUpdateEntities\n"],"names":["validateUpdateEntities","entities","attribFields","isAttrib","rawValue","field","attribute","attr","value","type","validationKeys","validationValues","acc","key","ge","gt","le","lt","minLength","maxLength","minItems","maxItems","pattern"],"mappings":"AAIA,MAAMA,IAAyB,CAC7BC,IAA2B,CAAA,GAC3BC,MACG;AAEH,aAAW,EAAE,UAAAC,GAAU,OAAOC,GAAU,OAAAC,EAAA,KAAWJ,GAAU;AAC3D,QAAI,CAACE,EAAU;AACf,UAAMG,IAAYJ,EAAa,KAAK,CAACK,MAASA,EAAK,SAASF,CAAK;AACjE,QAAI,CAACC,EAAW;AAGhB,QAAIE,IAAaJ;AACjB,UAAM,EAAE,MAAAK,MAASH,EAAU;AAC3B,QAAIG,MAAS,aAAaA,MAAS;AACjC,UAAI,OAAOL,KAAa,UAAU;AAEhC,YAAIA,EAAS,WAAW,MAAM,MAAM,OAAOA,CAAQ,CAAC;AAClD,gBAAM,IAAI,MAAM,IAAIC,CAAK,0BAA0B;AAErD,QAAAG,IAAQC,MAAS,YAAY,SAASL,GAAU,EAAE,IAAI,WAAWA,CAAQ;AAAA,MAC3E,WAAW,OAAOA,KAAa;AAE7B,cAAM,IAAI,MAAM,IAAIC,CAAK,0BAA0B;AAAA;AAKvD,UAAMK,IAA0C;AAAA,MAC9C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,GAEIC,IACJ,OAAO,QAAQL,EAAU,IAAI,EAC7B,OAAO,CAACM,GAAK,CAACC,GAAK,CAAC,OAChBH,EAAe,SAASG,CAAG,MAAGD,EAAIC,CAAG,IAAI,IACtCD,IACN,CAAA,CAAyC,GAEtC,EAAE,IAAAE,GAAI,IAAAC,GAAI,IAAAC,GAAI,IAAAC,GAAI,WAAAC,GAAW,WAAAC,GAAW,UAAAC,GAAU,UAAAC,EAAA,IAAaV,GAC/DW,IAAUhB,EAAU,KAAK;AAE/B,QAAI,OAAOE,KAAU,UAAU;AAC7B,UAAIM,KAAM,QAAQN,IAAQM,EAAI,OAAM,IAAI,MAAM,IAAIT,CAAK,eAAeS,CAAE,EAAE;AAC1E,UAAIC,KAAM,QAAQP,KAASO,EAAI,OAAM,IAAI,MAAM,IAAIV,CAAK,eAAeU,CAAE,EAAE;AAC3E,UAAIC,KAAM,QAAQR,IAAQQ,EAAI,OAAM,IAAI,MAAM,IAAIX,CAAK,eAAeW,CAAE,EAAE;AAC1E,UAAIC,KAAM,QAAQT,KAASS,EAAI,OAAM,IAAI,MAAM,IAAIZ,CAAK,eAAeY,CAAE,EAAE;AAAA,IAC7E,WAAW,OAAOT,KAAU,UAAU;AACpC,UAAIU,KAAa,QAAQV,EAAM,SAASU;AACtC,cAAM,IAAI,MAAM,IAAIb,CAAK,sBAAsBa,CAAS,EAAE;AAC5D,UAAIC,KAAa,QAAQX,EAAM,SAASW;AACtC,cAAM,IAAI,MAAM,IAAId,CAAK,sBAAsBc,CAAS,EAAE;AAC5D,UAAIG,KAAW,CAAC,IAAI,OAAOA,CAAO,EAAE,KAAKd,CAAK;AAC5C,cAAM,IAAI,MAAM,IAAIH,CAAK,wBAAwBiB,CAAO,EAAE;AAAA,IAC9D,WAAW,MAAM,QAAQd,CAAK,GAAG;AAC/B,UAAIY,KAAY,QAAQZ,EAAM,SAASY;AACrC,cAAM,IAAI,MAAM,IAAIf,CAAK,qBAAqBe,CAAQ,EAAE;AAC1D,UAAIC,KAAY,QAAQb,EAAM,SAASa;AACrC,cAAM,IAAI,MAAM,IAAIhB,CAAK,qBAAqBgB,CAAQ,EAAE;AAAA,IAC5D;AAAA,EACF;AACF;"}
|
|
1
|
+
{"version":3,"file":"validateUpdateEntities.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/validateUpdateEntities.ts"],"sourcesContent":["import { ProjectTableAttribute } from '../types'\nimport type { AttributeData } from '@shared/api'\nimport { EntityUpdate } from '../hooks/useUpdateTableData'\n\nconst validateUpdateEntities = (\n entities: EntityUpdate[] = [],\n attribFields: ProjectTableAttribute[],\n) => {\n // first validate the values are correct\n for (const { isAttrib, value: rawValue, field } of entities) {\n if (!isAttrib) continue\n const attribute = attribFields.find((attr) => attr.name === field)\n if (!attribute) continue\n\n // coerce numeric strings into numbers for integer/float types or fail\n let value: any = rawValue\n const { type } = attribute.data\n if (type === 'integer' || type === 'float') {\n if (typeof rawValue === 'string') {\n // empty or non‑numeric strings are invalid\n if (rawValue.trim() === '' || isNaN(Number(rawValue))) {\n throw new Error(`“${field}” must be a valid number`)\n }\n value = type === 'integer' ? parseInt(rawValue, 10) : parseFloat(rawValue)\n } else if (typeof rawValue !== 'number') {\n // any other type is invalid\n throw new Error(`“${field}” must be a valid number`)\n }\n }\n\n // collect numeric rules from attribute.data\n const validationKeys: (keyof AttributeData)[] = [\n 'ge',\n 'gt',\n 'le',\n 'lt',\n 'minLength',\n 'maxLength',\n 'minItems',\n 'maxItems',\n ]\n const validationValues = (\n Object.entries(attribute.data) as [keyof AttributeData, any][]\n ).reduce((acc, [key, v]) => {\n if (validationKeys.includes(key)) acc[key] = v as number\n return acc\n }, {} as Record<keyof AttributeData, number>)\n\n const { ge, gt, le, lt, minLength, maxLength, minItems, maxItems } = validationValues\n const pattern = attribute.data.regex\n\n if (typeof value === 'number') {\n if (ge != null && value < ge) throw new Error(`“${field}” must be ≥ ${ge}`)\n if (gt != null && value <= gt) throw new Error(`“${field}” must be > ${gt}`)\n if (le != null && value > le) throw new Error(`“${field}” must be ≤ ${le}`)\n if (lt != null && value >= lt) throw new Error(`“${field}” must be < ${lt}`)\n } else if (typeof value === 'string') {\n if (minLength != null && value.length < minLength)\n throw new Error(`“${field}” length must be ≥ ${minLength}`)\n if (maxLength != null && value.length > maxLength)\n throw new Error(`“${field}” length must be ≤ ${maxLength}`)\n if (pattern && !new RegExp(pattern).test(value))\n throw new Error(`“${field}” must match pattern ${pattern}`)\n } else if (Array.isArray(value)) {\n if (minItems != null && value.length < minItems)\n throw new Error(`“${field}” items must be ≥ ${minItems}`)\n if (maxItems != null && value.length > maxItems)\n throw new Error(`“${field}” items must be ≤ ${maxItems}`)\n }\n }\n}\n\nexport default validateUpdateEntities\n"],"names":["validateUpdateEntities","entities","attribFields","isAttrib","rawValue","field","attribute","attr","value","type","validationKeys","validationValues","acc","key","ge","gt","le","lt","minLength","maxLength","minItems","maxItems","pattern"],"mappings":"AAIA,MAAMA,IAAyB,CAC7BC,IAA2B,CAAA,GAC3BC,MACG;AAEH,aAAW,EAAE,UAAAC,GAAU,OAAOC,GAAU,OAAAC,EAAA,KAAWJ,GAAU;AAC3D,QAAI,CAACE,EAAU;AACf,UAAMG,IAAYJ,EAAa,KAAK,CAACK,MAASA,EAAK,SAASF,CAAK;AACjE,QAAI,CAACC,EAAW;AAGhB,QAAIE,IAAaJ;AACjB,UAAM,EAAE,MAAAK,MAASH,EAAU;AAC3B,QAAIG,MAAS,aAAaA,MAAS;AACjC,UAAI,OAAOL,KAAa,UAAU;AAEhC,YAAIA,EAAS,WAAW,MAAM,MAAM,OAAOA,CAAQ,CAAC;AAClD,gBAAM,IAAI,MAAM,IAAIC,CAAK,0BAA0B;AAErD,QAAAG,IAAQC,MAAS,YAAY,SAASL,GAAU,EAAE,IAAI,WAAWA,CAAQ;AAAA,MAC3E,WAAW,OAAOA,KAAa;AAE7B,cAAM,IAAI,MAAM,IAAIC,CAAK,0BAA0B;AAAA;AAKvD,UAAMK,IAA0C;AAAA,MAC9C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,GAEIC,IACJ,OAAO,QAAQL,EAAU,IAAI,EAC7B,OAAO,CAACM,GAAK,CAACC,GAAK,CAAC,OAChBH,EAAe,SAASG,CAAG,MAAGD,EAAIC,CAAG,IAAI,IACtCD,IACN,CAAA,CAAyC,GAEtC,EAAE,IAAAE,GAAI,IAAAC,GAAI,IAAAC,GAAI,IAAAC,GAAI,WAAAC,GAAW,WAAAC,GAAW,UAAAC,GAAU,UAAAC,EAAA,IAAaV,GAC/DW,IAAUhB,EAAU,KAAK;AAE/B,QAAI,OAAOE,KAAU,UAAU;AAC7B,UAAIM,KAAM,QAAQN,IAAQM,EAAI,OAAM,IAAI,MAAM,IAAIT,CAAK,eAAeS,CAAE,EAAE;AAC1E,UAAIC,KAAM,QAAQP,KAASO,EAAI,OAAM,IAAI,MAAM,IAAIV,CAAK,eAAeU,CAAE,EAAE;AAC3E,UAAIC,KAAM,QAAQR,IAAQQ,EAAI,OAAM,IAAI,MAAM,IAAIX,CAAK,eAAeW,CAAE,EAAE;AAC1E,UAAIC,KAAM,QAAQT,KAASS,EAAI,OAAM,IAAI,MAAM,IAAIZ,CAAK,eAAeY,CAAE,EAAE;AAAA,IAC7E,WAAW,OAAOT,KAAU,UAAU;AACpC,UAAIU,KAAa,QAAQV,EAAM,SAASU;AACtC,cAAM,IAAI,MAAM,IAAIb,CAAK,sBAAsBa,CAAS,EAAE;AAC5D,UAAIC,KAAa,QAAQX,EAAM,SAASW;AACtC,cAAM,IAAI,MAAM,IAAId,CAAK,sBAAsBc,CAAS,EAAE;AAC5D,UAAIG,KAAW,CAAC,IAAI,OAAOA,CAAO,EAAE,KAAKd,CAAK;AAC5C,cAAM,IAAI,MAAM,IAAIH,CAAK,wBAAwBiB,CAAO,EAAE;AAAA,IAC9D,WAAW,MAAM,QAAQd,CAAK,GAAG;AAC/B,UAAIY,KAAY,QAAQZ,EAAM,SAASY;AACrC,cAAM,IAAI,MAAM,IAAIf,CAAK,qBAAqBe,CAAQ,EAAE;AAC1D,UAAIC,KAAY,QAAQb,EAAM,SAASa;AACrC,cAAM,IAAI,MAAM,IAAIhB,CAAK,qBAAqBgB,CAAQ,EAAE;AAAA,IAC5D;AAAA,EACF;AACF;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("../../../../../_virtual/jsx-runtime.cjs.js"),n=require("react"),a=require("styled-components");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("@ynput/ayon-react-components");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("clsx");require("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js");require("../../../components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContextInstance.cjs.js");require("../../../context/EntityUpdatesContextInstance.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityFieldChange/ActivityFieldChange.styled.cjs.js");require("../../Feed/components/ActivityFieldChange/FieldValue.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("./CollapsedWidget.cjs.js");require("./DateWidget.cjs.js");require("./EnumWidget.cjs.js");require("./EnumCellValue.cjs.js");require("./TextWidget.cjs.js");require("./MarkdownWidget.cjs.js");require("./CellWidget.cjs.js");require("./EntityNameWidget.cjs.js");require("./GroupHeaderWidget.cjs.js");require("./ThumbnailWidget.cjs.js");require("./LinksWidget.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("short-uuid");require("../../../components/SearchFilter/filterDates.cjs.js");require("../context/CellEditingContext.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../context/ProjectDataContextInstance.cjs.js");require("../../NewEntity/components/NewEntity.cjs.js");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContextInstance.cjs.js");require("../../Slicer/components/SlicerDropdownFallback.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("react-redux");require("../../NewEntity/context/NewEntityContextInstance.cjs.js");require("../../NewEntity/components/NewEntityForm.cjs.js");require("../context/ProjectTableContextInstance.cjs.js");require("./EmptyWidget.cjs.js");require("./ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("./LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../components/TableFooterRow.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");require("../../../context/DeleteEntitiesContext.cjs.js");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");const s=require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/InfoMessage/InfoMessage.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/SyncButton/SyncButton.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContextInstance.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");const d=a.input`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../../../../_virtual/jsx-runtime.cjs.js"),s=require("react"),d=require("styled-components"),l=require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js"),u=d.input`
|
|
2
2
|
margin: auto;
|
|
3
3
|
z-index: 1;
|
|
4
4
|
cursor: pointer;
|
|
@@ -19,5 +19,5 @@
|
|
|
19
19
|
border-color: var(--md-sys-color-primary);
|
|
20
20
|
appearance: auto;
|
|
21
21
|
}
|
|
22
|
-
`,
|
|
22
|
+
`,b=s.forwardRef(({value:e,onChange:n,isReadOnly:r,isEditing:x,onCancelEdit:p,isInherited:h,...o},a)=>r?c.jsxRuntimeExports.jsx(l.DoneCheckbox,{checked:e,isReadOnly:!0,className:o.className}):c.jsxRuntimeExports.jsx(u,{...o,checked:e,onChange:i=>{const t=i.target.checked;t!==e&&n(t,"Click")},ref:a,type:"checkbox",disabled:r,readOnly:r}));exports.BooleanWidget=b;
|
|
23
23
|
//# sourceMappingURL=BooleanWidget.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/BooleanWidget.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport styled from 'styled-components'\nimport { DoneCheckbox } from '@shared/components'\nimport { WidgetBaseProps } from './CellWidget'\n\nconst StyledCheckbox = styled.input`\n margin: auto;\n z-index: 1;\n cursor: pointer;\n\n width: 16px;\n height: 16px;\n background-color: transparent;\n border: 1px solid var(--md-sys-color-outline);\n appearance: none;\n border-radius: 2px;\n\n &:hover {\n border-color: var(--color-table-boolean-border);\n }\n\n &:checked {\n background-color: var(--md-sys-color-primary);\n border-color: var(--md-sys-color-primary);\n appearance: auto;\n }\n`\n\nexport interface BooleanWidgetProps\n extends Omit<React.HTMLAttributes<HTMLInputElement>, 'onChange'>,\n WidgetBaseProps {\n value: boolean\n isReadOnly?: boolean\n isInherited?: boolean\n}\n\nexport const BooleanWidget = forwardRef<HTMLInputElement, BooleanWidgetProps>(\n ({ value, onChange, isReadOnly, isEditing, onCancelEdit, isInherited, ...props }, ref) => {\n if (isReadOnly) {\n return <DoneCheckbox checked={value} isReadOnly className={props.className} />\n }\n\n return (\n <StyledCheckbox\n {...props}\n checked={value}\n onChange={(e) => {\n const newValue = (e.target as HTMLInputElement).checked\n // For checkboxes, every click is a value change, but we check anyway for consistency\n if (newValue !== value) {\n onChange(newValue, 'Click')\n }\n }}\n ref={ref}\n type=\"checkbox\"\n disabled={isReadOnly}\n readOnly={isReadOnly}\n />\n )\n },\n)\n"],"names":["StyledCheckbox","styled","BooleanWidget","forwardRef","value","onChange","isReadOnly","isEditing","onCancelEdit","isInherited","props","ref","jsx","DoneCheckbox","e","newValue"],"mappings":"
|
|
1
|
+
{"version":3,"file":"BooleanWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/BooleanWidget.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport styled from 'styled-components'\nimport { DoneCheckbox } from '@shared/components/DoneCheckbox/DoneCheckbox'\nimport { WidgetBaseProps } from './CellWidget'\n\nconst StyledCheckbox = styled.input`\n margin: auto;\n z-index: 1;\n cursor: pointer;\n\n width: 16px;\n height: 16px;\n background-color: transparent;\n border: 1px solid var(--md-sys-color-outline);\n appearance: none;\n border-radius: 2px;\n\n &:hover {\n border-color: var(--color-table-boolean-border);\n }\n\n &:checked {\n background-color: var(--md-sys-color-primary);\n border-color: var(--md-sys-color-primary);\n appearance: auto;\n }\n`\n\nexport interface BooleanWidgetProps\n extends Omit<React.HTMLAttributes<HTMLInputElement>, 'onChange'>,\n WidgetBaseProps {\n value: boolean\n isReadOnly?: boolean\n isInherited?: boolean\n}\n\nexport const BooleanWidget = forwardRef<HTMLInputElement, BooleanWidgetProps>(\n ({ value, onChange, isReadOnly, isEditing, onCancelEdit, isInherited, ...props }, ref) => {\n if (isReadOnly) {\n return <DoneCheckbox checked={value} isReadOnly className={props.className} />\n }\n\n return (\n <StyledCheckbox\n {...props}\n checked={value}\n onChange={(e) => {\n const newValue = (e.target as HTMLInputElement).checked\n // For checkboxes, every click is a value change, but we check anyway for consistency\n if (newValue !== value) {\n onChange(newValue, 'Click')\n }\n }}\n ref={ref}\n type=\"checkbox\"\n disabled={isReadOnly}\n readOnly={isReadOnly}\n />\n )\n },\n)\n"],"names":["StyledCheckbox","styled","BooleanWidget","forwardRef","value","onChange","isReadOnly","isEditing","onCancelEdit","isInherited","props","ref","jsx","DoneCheckbox","e","newValue"],"mappings":"kQAKMA,EAAiBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+BjBC,EAAgBC,EAAAA,WAC3B,CAAC,CAAE,MAAAC,EAAO,SAAAC,EAAU,WAAAC,EAAY,UAAAC,EAAW,aAAAC,EAAc,YAAAC,EAAa,GAAGC,CAAA,EAASC,IAC5EL,EACKM,wBAACC,EAAAA,cAAa,QAAST,EAAO,WAAU,GAAC,UAAWM,EAAM,UAAW,EAI5EE,EAAAA,kBAAAA,IAACZ,EAAA,CACE,GAAGU,EACJ,QAASN,EACT,SAAWU,GAAM,CACf,MAAMC,EAAYD,EAAE,OAA4B,QAE5CC,IAAaX,GACfC,EAASU,EAAU,OAAO,CAE9B,EACA,IAAAJ,EACA,KAAK,WACL,SAAUL,EACV,SAAUA,CAAA,CAAA,CAIlB"}
|