@ynput/ayon-frontend-shared 0.2.34 → 0.2.36
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 +34 -23
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/Feed.cjs.js +1 -1
- package/dist/Feed.es.js +20 -19
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +140 -126
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Views.cjs.js +1 -1
- package/dist/Views.cjs.js.map +1 -1
- package/dist/Views.es.js +10 -3
- package/dist/Views.es.js.map +1 -1
- package/dist/_virtual/attach-listener.cjs.js +2 -0
- package/dist/_virtual/attach-listener.cjs.js.map +1 -0
- package/dist/_virtual/attach-listener.es.js +5 -0
- package/dist/_virtual/attach-listener.es.js.map +1 -0
- package/dist/_virtual/attach-shared-listeners.cjs.js +2 -0
- package/dist/_virtual/attach-shared-listeners.cjs.js.map +1 -0
- package/dist/_virtual/attach-shared-listeners.es.js +5 -0
- package/dist/_virtual/attach-shared-listeners.es.js.map +1 -0
- package/dist/_virtual/constants.cjs.js +2 -0
- package/dist/_virtual/constants.cjs.js.map +1 -0
- package/dist/_virtual/constants.es.js +5 -0
- package/dist/_virtual/constants.es.js.map +1 -0
- package/dist/_virtual/create-or-join.cjs.js +2 -0
- package/dist/_virtual/create-or-join.cjs.js.map +1 -0
- package/dist/_virtual/create-or-join.es.js +5 -0
- package/dist/_virtual/create-or-join.es.js.map +1 -0
- package/dist/_virtual/get-url.cjs.js +2 -0
- package/dist/_virtual/get-url.cjs.js.map +1 -0
- package/dist/_virtual/get-url.es.js +5 -0
- package/dist/_virtual/get-url.es.js.map +1 -0
- package/dist/_virtual/globals.cjs.js +2 -0
- package/dist/_virtual/globals.cjs.js.map +1 -0
- package/dist/_virtual/globals.es.js +5 -0
- package/dist/_virtual/globals.es.js.map +1 -0
- package/dist/_virtual/heartbeat.cjs.js +2 -0
- package/dist/_virtual/heartbeat.cjs.js.map +1 -0
- package/dist/_virtual/heartbeat.es.js +5 -0
- package/dist/_virtual/heartbeat.es.js.map +1 -0
- package/dist/_virtual/index.cjs.js +1 -1
- package/dist/_virtual/index.cjs10.js +1 -1
- package/dist/_virtual/index.cjs11.js +2 -0
- package/dist/_virtual/index.cjs11.js.map +1 -0
- package/dist/_virtual/index.cjs12.js +2 -0
- package/dist/_virtual/index.cjs12.js.map +1 -0
- package/dist/_virtual/index.cjs2.js +1 -1
- package/dist/_virtual/index.cjs4.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.cjs6.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- package/dist/_virtual/index.cjs9.js +1 -1
- package/dist/_virtual/index.es.js +5 -4
- package/dist/_virtual/index.es10.js +5 -5
- package/dist/_virtual/index.es11.js +8 -0
- package/dist/_virtual/index.es11.js.map +1 -0
- package/dist/_virtual/index.es12.js +8 -0
- package/dist/_virtual/index.es12.js.map +1 -0
- package/dist/_virtual/index.es2.js +5 -2
- package/dist/_virtual/index.es2.js.map +1 -1
- package/dist/_virtual/index.es3.js +2 -2
- package/dist/_virtual/index.es4.js +2 -5
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es5.js +2 -2
- package/dist/_virtual/index.es6.js +5 -5
- package/dist/_virtual/index.es8.js +4 -4
- package/dist/_virtual/index.es9.js +2 -5
- package/dist/_virtual/index.es9.js.map +1 -1
- package/dist/_virtual/manage-subscribers.cjs.js +2 -0
- package/dist/_virtual/manage-subscribers.cjs.js.map +1 -0
- package/dist/_virtual/manage-subscribers.es.js +5 -0
- package/dist/_virtual/manage-subscribers.es.js.map +1 -0
- package/dist/_virtual/proxy.cjs.js +2 -0
- package/dist/_virtual/proxy.cjs.js.map +1 -0
- package/dist/_virtual/proxy.es.js +5 -0
- package/dist/_virtual/proxy.es.js.map +1 -0
- package/dist/_virtual/socket-io.cjs.js +2 -0
- package/dist/_virtual/socket-io.cjs.js.map +1 -0
- package/dist/_virtual/socket-io.es.js +5 -0
- package/dist/_virtual/socket-io.es.js.map +1 -0
- package/dist/_virtual/use-event-source.cjs.js +2 -0
- package/dist/_virtual/use-event-source.cjs.js.map +1 -0
- package/dist/_virtual/use-event-source.es.js +5 -0
- package/dist/_virtual/use-event-source.es.js.map +1 -0
- package/dist/_virtual/use-socket-io.cjs.js +2 -0
- package/dist/_virtual/use-socket-io.cjs.js.map +1 -0
- package/dist/_virtual/use-socket-io.es.js +5 -0
- package/dist/_virtual/use-socket-io.es.js.map +1 -0
- package/dist/_virtual/use-websocket.cjs.js +2 -0
- package/dist/_virtual/use-websocket.cjs.js.map +1 -0
- package/dist/_virtual/use-websocket.es.js +5 -0
- package/dist/_virtual/use-websocket.es.js.map +1 -0
- package/dist/_virtual/util.cjs.js +2 -0
- package/dist/_virtual/util.cjs.js.map +1 -0
- package/dist/_virtual/util.es.js +5 -0
- package/dist/_virtual/util.es.js.map +1 -0
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +371 -336
- package/dist/api.es.js.map +1 -1
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +109 -91
- package/dist/components.es.js.map +1 -1
- package/dist/context.cjs.js +1 -1
- package/dist/context.es.js +17 -13
- package/dist/context.es.js.map +1 -1
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.es.js +21 -17
- package/dist/hooks.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +21 -10
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.cjs.js +3 -3
- package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.cjs.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.es.js +275 -302
- package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.es.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js +5 -5
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js +1411 -1366
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js.map +1 -1
- package/dist/node_modules/decode-named-character-reference/index.dom.cjs.js.map +1 -1
- package/dist/node_modules/decode-named-character-reference/index.dom.es.js.map +1 -1
- package/dist/node_modules/immer/dist/immer.cjs.js +1 -1
- package/dist/node_modules/immer/dist/immer.cjs.js.map +1 -1
- package/dist/node_modules/immer/dist/immer.es.js +185 -185
- package/dist/node_modules/immer/dist/immer.es.js.map +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/node_modules/react-use-websocket/dist/index.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/index.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/index.es.js +36 -0
- package/dist/node_modules/react-use-websocket/dist/index.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-listener.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-listener.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-listener.es.js +79 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-listener.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-shared-listeners.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-shared-listeners.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-shared-listeners.es.js +72 -0
- package/dist/node_modules/react-use-websocket/dist/lib/attach-shared-listeners.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/constants.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/constants.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/constants.es.js +32 -0
- package/dist/node_modules/react-use-websocket/dist/lib/constants.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/create-or-join.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/create-or-join.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/create-or-join.es.js +53 -0
- package/dist/node_modules/react-use-websocket/dist/lib/create-or-join.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/get-url.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/get-url.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/get-url.es.js +144 -0
- package/dist/node_modules/react-use-websocket/dist/lib/get-url.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/globals.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/globals.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/globals.es.js +19 -0
- package/dist/node_modules/react-use-websocket/dist/lib/globals.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/heartbeat.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/heartbeat.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/heartbeat.es.js +35 -0
- package/dist/node_modules/react-use-websocket/dist/lib/heartbeat.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/manage-subscribers.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/manage-subscribers.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/manage-subscribers.es.js +36 -0
- package/dist/node_modules/react-use-websocket/dist/lib/manage-subscribers.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/proxy.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/proxy.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/proxy.es.js +24 -0
- package/dist/node_modules/react-use-websocket/dist/lib/proxy.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/socket-io.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/socket-io.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/socket-io.es.js +39 -0
- package/dist/node_modules/react-use-websocket/dist/lib/socket-io.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-event-source.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-event-source.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-event-source.es.js +51 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-event-source.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-socket-io.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-socket-io.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-socket-io.es.js +54 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-socket-io.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-websocket.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-websocket.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-websocket.es.js +198 -0
- package/dist/node_modules/react-use-websocket/dist/lib/use-websocket.es.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/util.cjs.js +2 -0
- package/dist/node_modules/react-use-websocket/dist/lib/util.cjs.js.map +1 -0
- package/dist/node_modules/react-use-websocket/dist/lib/util.es.js +21 -0
- package/dist/node_modules/react-use-websocket/dist/lib/util.es.js.map +1 -0
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js.map +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js.map +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js.map +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/node_modules/unist-util-is/lib/index.cjs.js.map +1 -1
- package/dist/node_modules/unist-util-is/lib/index.es.js +8 -1
- package/dist/node_modules/unist-util-is/lib/index.es.js.map +1 -1
- package/dist/node_modules/unist-util-visit-parents/lib/index.cjs.js.map +1 -1
- package/dist/node_modules/unist-util-visit-parents/lib/index.es.js.map +1 -1
- package/dist/shared/node_modules/primereact/hooks/hooks.esm.cjs.js +2 -2
- package/dist/shared/node_modules/primereact/hooks/hooks.esm.cjs.js.map +1 -1
- package/dist/shared/node_modules/primereact/hooks/hooks.esm.es.js +121 -98
- package/dist/shared/node_modules/primereact/hooks/hooks.esm.es.js.map +1 -1
- package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
- package/dist/shared/node_modules/prop-types/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/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js.map +1 -1
- package/dist/shared/src/api/base/client.es.js +8 -6
- package/dist/shared/src/api/base/client.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +209 -47
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +296 -118
- 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/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 +71 -60
- package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getCategories.cjs.js +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 +11 -6
- package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateActivities.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateActivities.es.js +1 -1
- package/dist/shared/src/api/queries/activities/updateActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.es.js +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +2 -0
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +110 -0
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -0
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +6 -5
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -3
- package/dist/shared/src/api/queries/entities/updateEntity.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 +27 -26
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js +77 -71
- package/dist/shared/src/api/queries/entityLists/updateLists.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 -49
- 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 +97 -74
- package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/filterRefetchUtils.cjs.js +2 -0
- package/dist/shared/src/api/queries/overview/filterRefetchUtils.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/overview/filterRefetchUtils.es.js +5 -0
- package/dist/shared/src/api/queries/overview/filterRefetchUtils.es.js.map +1 -0
- package/dist/shared/src/api/queries/overview/patchProducts.cjs.js +2 -0
- package/dist/shared/src/api/queries/overview/patchProducts.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/overview/patchProducts.es.js +41 -0
- package/dist/shared/src/api/queries/overview/patchProducts.es.js.map +1 -0
- package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +2 -0
- package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/overview/patchVersions.es.js +76 -0
- package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -0
- package/dist/shared/src/api/queries/overview/refetchFilteredEntities.cjs.js +2 -0
- package/dist/shared/src/api/queries/overview/refetchFilteredEntities.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/overview/refetchFilteredEntities.es.js +79 -0
- package/dist/shared/src/api/queries/overview/refetchFilteredEntities.es.js.map +1 -0
- 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 +198 -169
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +19 -18
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +2 -0
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +296 -0
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -0
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js +2 -0
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js +116 -0
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js.map +1 -0
- 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 +11 -10
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
- package/dist/shared/src/components/Badge/Badge.cjs.js +15 -7
- package/dist/shared/src/components/Badge/Badge.cjs.js.map +1 -1
- package/dist/shared/src/components/Badge/Badge.es.js +34 -13
- package/dist/shared/src/components/Badge/Badge.es.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +14 -12
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js +4 -4
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.es.js +36 -35
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.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 +5 -2
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.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 +16 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/EarlyPreview/EarlyPreview.cjs.js +18 -0
- package/dist/shared/src/components/EarlyPreview/EarlyPreview.cjs.js.map +1 -0
- package/dist/shared/src/components/EarlyPreview/EarlyPreview.es.js +26 -0
- package/dist/shared/src/components/EarlyPreview/EarlyPreview.es.js.map +1 -0
- 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 +38 -27
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.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 +3 -2
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js +58 -0
- package/dist/shared/src/components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js.map +1 -0
- package/dist/shared/src/components/FeaturedVersionOrder/FeaturedVersionOrder.es.js +158 -0
- package/dist/shared/src/components/FeaturedVersionOrder/FeaturedVersionOrder.es.js.map +1 -0
- 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 +5 -4
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LegacyBadge/LegacyBadge.cjs.js +2 -0
- package/dist/shared/src/components/LegacyBadge/LegacyBadge.cjs.js.map +1 -0
- package/dist/shared/src/components/LegacyBadge/LegacyBadge.es.js +10 -0
- package/dist/shared/src/components/LegacyBadge/LegacyBadge.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +14 -3
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
- package/dist/shared/src/components/LinksManager/LinkManagerItem.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 +14 -3
- 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 +59 -48
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.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 +3 -2
- 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 +14 -3
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/RequiredAddonVersion.cjs.js +9 -0
- package/dist/shared/src/components/Powerpack/RequiredAddonVersion.cjs.js.map +1 -0
- package/dist/shared/src/components/Powerpack/RequiredAddonVersion.es.js +30 -0
- package/dist/shared/src/components/Powerpack/RequiredAddonVersion.es.js.map +1 -0
- 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 +100 -43
- 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 +15 -4
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js +1 -0
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js.map +1 -1
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js +1 -0
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js.map +1 -1
- package/dist/shared/src/components/RefreshToast/RefreshToast.cjs.js +2 -0
- package/dist/shared/src/components/RefreshToast/RefreshToast.cjs.js.map +1 -0
- package/dist/shared/src/components/RefreshToast/RefreshToast.es.js +10 -0
- package/dist/shared/src/components/RefreshToast/RefreshToast.es.js.map +1 -0
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +2 -2
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +14 -3
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +11 -10
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.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 +14 -3
- 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 +15 -4
- 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 -3
- 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 +3 -2
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.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 +411 -243
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +8 -7
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +51 -47
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.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 +24 -13
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/SizeSlider/SizeSlider.cjs.js +56 -0
- package/dist/shared/src/components/SizeSlider/SizeSlider.cjs.js.map +1 -0
- package/dist/shared/src/components/SizeSlider/SizeSlider.es.js +113 -0
- package/dist/shared/src/components/SizeSlider/SizeSlider.es.js.map +1 -0
- package/dist/shared/src/components/SortingSetting/SortingSetting.cjs.js +2 -0
- package/dist/shared/src/components/SortingSetting/SortingSetting.cjs.js.map +1 -0
- package/dist/shared/src/components/SortingSetting/SortingSetting.es.js +11 -0
- package/dist/shared/src/components/SortingSetting/SortingSetting.es.js.map +1 -0
- package/dist/shared/src/components/SortingSetting/SortingSetting.styled.cjs.js +43 -0
- package/dist/shared/src/components/SortingSetting/SortingSetting.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/SortingSetting/SortingSetting.styled.es.js +51 -0
- package/dist/shared/src/components/SortingSetting/SortingSetting.styled.es.js.map +1 -0
- package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.cjs.js +2 -0
- package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.cjs.js.map +1 -0
- package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.es.js +39 -0
- package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.es.js.map +1 -0
- package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.styled.cjs.js +15 -0
- package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.styled.es.js +21 -0
- package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.styled.es.js.map +1 -0
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +6 -5
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +14 -3
- 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 +5 -4
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
- package/dist/shared/src/components/Watchers/Watchers.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 +14 -3
- package/dist/shared/src/containers/Actions/ActionConfigDialog.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 +5 -2
- package/dist/shared/src/containers/Actions/Actions.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 +14 -3
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js +6 -6
- 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 +176 -153
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +14 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +59 -48
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js +2 -7
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.es.js +0 -5
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +119 -114
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js +15 -15
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js +30 -30
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.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 +44 -19
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +14 -3
- 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 +14 -3
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +14 -3
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +14 -3
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.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 +5 -2
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.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 +4 -3
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js +2 -2
- 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 +42 -39
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js +18 -18
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js +3 -3
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.es.js +20 -13
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.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 +13 -12
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js +3 -3
- package/dist/shared/src/containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityStatus/ActivityStatus.es.js +11 -11
- package/dist/shared/src/containers/Feed/components/ActivityStatus/ActivityStatus.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 +7 -6
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.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 +258 -245
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +68 -11
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +75 -17
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.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 +13 -10
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.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 +6 -5
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.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 +63 -51
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.es.js +35 -31
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.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 +3 -2
- 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 +7 -5
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.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 +666 -595
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +51 -42
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +64 -54
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +384 -210
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +14 -3
- 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 +14 -3
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +14 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +158 -144
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.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 +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +145 -132
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +15 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.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 +3 -2
- 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 +124 -104
- 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 +84 -87
- 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 +110 -89
- 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 +14 -3
- 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 +14 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +204 -189
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +61 -24
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +263 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -0
- 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 +20 -8
- 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 +14 -3
- 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 +14 -3
- 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 +14 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.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 +173 -163
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/types/columnConfig.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/types/columnConfig.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/types/columnConfig.es.js +20 -0
- package/dist/shared/src/containers/ProjectTreeTable/types/columnConfig.es.js.map +1 -0
- 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 +25 -14
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +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 +77 -37
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js +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 +24 -38
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/metaRows.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/metaRows.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/metaRows.es.js +17 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/metaRows.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +49 -44
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js +9 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +8 -8
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +105 -91
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CollapsedWidget.es.js +6 -6
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CollapsedWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js +23 -13
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js +11 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EmptyWidget.es.js +16 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EmptyWidget.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js +11 -11
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js +38 -33
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +25 -19
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +75 -72
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js +11 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ErrorWidget.es.js +16 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ErrorWidget.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +53 -41
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js +8 -8
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MetaWidget.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MetaWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MetaWidget.es.js +17 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MetaWidget.es.js.map +1 -0
- 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 +14 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +79 -45
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.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 +14 -3
- 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 +205 -164
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +34 -7
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +34 -7
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +98 -73
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js +13 -7
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js +9 -7
- package/dist/shared/src/containers/Slicer/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 +69 -59
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.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 +5 -2
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +3 -2
- 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 +7 -4
- package/dist/shared/src/containers/Views/context/ViewsContext.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 +5 -2
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +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 +5 -2
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -2
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonContext.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +28 -13
- package/dist/shared/src/context/AddonProjectContext.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 +54 -48
- package/dist/shared/src/context/DetailsPanelContext.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 +18 -15
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +2 -0
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -0
- package/dist/shared/src/context/WebsocketContext.es.js +319 -0
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -0
- package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
- package/dist/shared/src/hooks/useActionTriggers.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 +4 -2
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +2 -0
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -0
- package/dist/shared/src/hooks/useGetEntityGroups.es.js +96 -0
- package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -0
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +2 -0
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -0
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +133 -0
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -0
- package/dist/shared/src/hooks/useGroupedPagination.cjs.js +2 -0
- package/dist/shared/src/hooks/useGroupedPagination.cjs.js.map +1 -0
- package/dist/shared/src/hooks/useGroupedPagination.es.js +23 -0
- package/dist/shared/src/hooks/useGroupedPagination.es.js.map +1 -0
- 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 +39 -23
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.cjs.js +1 -1
- package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.es.js +1 -1
- package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
- package/dist/shared/src/hooks/useScopedStatuses.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 +3 -2
- package/dist/shared/src/hooks/useUserProjectConfig.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 +6 -5
- package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
- package/dist/shared/src/util/getGroupByDataType.cjs.js +2 -0
- package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -0
- package/dist/shared/src/util/getGroupByDataType.es.js +16 -0
- package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -0
- package/dist/shared/src/util/productTypes.cjs.js.map +1 -1
- package/dist/shared/src/util/productTypes.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.es.js +3 -2
- package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +7 -6
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js +11 -10
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
- package/dist/types/api/generated/graphql.d.ts +378 -6
- package/dist/types/api/generated/graphqlLinks.d.ts +36 -1
- package/dist/types/api/generated/views.d.ts +52 -11
- package/dist/types/api/queries/actions/getActions.d.ts +192 -36
- package/dist/types/api/queries/activities/getActivities.d.ts +520 -89
- package/dist/types/api/queries/activities/getCategories.d.ts +64 -12
- package/dist/types/api/queries/activities/getMentions.d.ts +64 -12
- package/dist/types/api/queries/activities/index.d.ts +0 -1
- package/dist/types/api/queries/activities/updateActivities.d.ts +86 -0
- package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +40 -0
- package/dist/types/api/queries/addons/getAddons.d.ts +526 -48
- package/dist/types/api/queries/attributes/getAttributes.d.ts +128 -24
- package/dist/types/api/queries/authentication/getAuthentication.d.ts +64 -12
- package/dist/types/api/queries/cloud/cloud.d.ts +128 -24
- package/dist/types/api/queries/entities/getEntity.d.ts +381 -60
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +171 -24
- package/dist/types/api/queries/entities/updateEntity.d.ts +43 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +533 -168
- package/dist/types/api/queries/entityLists/getListsAttributes.d.ts +64 -12
- package/dist/types/api/queries/entityLists/listFolders.d.ts +64 -12
- package/dist/types/api/queries/folders/getFolders.d.ts +128 -24
- package/dist/types/api/queries/grouping/getGrouping.d.ts +64 -12
- package/dist/types/api/queries/index.d.ts +1 -0
- package/dist/types/api/queries/links/getEntityLinks.d.ts +64 -12
- package/dist/types/api/queries/links/getLinks.d.ts +40 -40
- package/dist/types/api/queries/overview/filterRefetchUtils.d.ts +5 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +529 -100
- package/dist/types/api/queries/overview/index.d.ts +2 -0
- package/dist/types/api/queries/overview/patchProducts.d.ts +13 -0
- package/dist/types/api/queries/overview/patchVersions.d.ts +13 -0
- package/dist/types/api/queries/overview/refetchFilteredEntities.d.ts +26 -0
- package/dist/types/api/queries/overview/updateOverview.d.ts +1 -10
- package/dist/types/api/queries/permissions/getPermissions.d.ts +128 -24
- package/dist/types/api/queries/project/getProject.d.ts +192 -36
- package/dist/types/api/queries/review/getReview.d.ts +192 -36
- package/dist/types/api/queries/share/share.d.ts +64 -12
- package/dist/types/api/queries/system/getSystem.d.ts +192 -36
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +265 -36
- package/dist/types/api/queries/users/getUsers.d.ts +731 -120
- package/dist/types/api/queries/users/guests.d.ts +64 -12
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +2931 -0
- package/dist/types/api/queries/versions/getVersionsProductsUtils.d.ts +31 -0
- package/dist/types/api/queries/versions/index.d.ts +2 -0
- package/dist/types/api/queries/versions/updateVersions.d.ts +262 -12
- package/dist/types/api/queries/views/getViews.d.ts +256 -48
- package/dist/types/api/queries/watchers/getWatchers.d.ts +64 -12
- package/dist/types/components/Badge/Badge.d.ts +5 -4
- package/dist/types/components/EarlyPreview/EarlyPreview.d.ts +5 -0
- package/dist/types/components/EarlyPreview/index.d.ts +1 -0
- package/dist/types/components/EnumEditor/EnumEditor.styled.d.ts +1 -1
- package/dist/types/components/FeaturedVersionOrder/FeaturedVersionOrder.d.ts +14 -0
- package/dist/types/components/FeaturedVersionOrder/index.d.ts +1 -0
- package/dist/types/components/LegacyBadge/LegacyBadge.d.ts +5 -0
- package/dist/types/components/LegacyBadge/index.d.ts +1 -0
- package/dist/types/components/Powerpack/RequiredAddonVersion.d.ts +12 -0
- package/dist/types/components/Powerpack/index.d.ts +1 -1
- package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +5 -0
- package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
- package/dist/types/components/RefreshToast/RefreshToast.d.ts +1 -0
- package/dist/types/components/RefreshToast/index.d.ts +1 -0
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +45 -6
- package/dist/types/components/SettingsPanel/SettingsPanel.d.ts +2 -1
- package/dist/types/components/SizeSlider/SizeSlider.d.ts +13 -0
- package/dist/types/components/SizeSlider/index.d.ts +1 -0
- package/dist/types/components/SortingSetting/SortingSetting.d.ts +6 -0
- package/dist/types/components/SortingSetting/SortingSetting.styled.d.ts +3 -0
- package/dist/types/components/SortingSetting/index.d.ts +1 -0
- package/dist/types/components/TableGridSwitch/TableGridSwitch.d.ts +6 -0
- package/dist/types/components/TableGridSwitch/TableGridSwitch.styled.d.ts +4 -0
- package/dist/types/components/TableGridSwitch/index.d.ts +1 -0
- package/dist/types/components/index.d.ts +7 -0
- package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.styled.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +2 -1
- package/dist/types/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.d.ts +10 -6
- package/dist/types/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.d.ts +5 -0
- package/dist/types/containers/Feed/components/FileUploadCard/FileUploadCard.d.ts +2 -1
- package/dist/types/containers/Feed/components/FilesGrid/FilesGrid.d.ts +6 -2
- package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +2 -2
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +10 -1
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +7 -2
- package/dist/types/containers/ProjectTreeTable/components/GroupSettingsFallback.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/context/DetailsPanelEntityContext.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +3 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +5 -3
- package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +0 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +3 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +5 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useGetGroupedFields.d.ts +12 -4
- package/dist/types/containers/ProjectTreeTable/hooks/useGroupBySettings.d.ts +11 -0
- package/dist/types/containers/ProjectTreeTable/types/columnConfig.d.ts +14 -0
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +3 -2
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +19 -4
- package/dist/types/containers/ProjectTreeTable/types/widgetDisplayConfig.d.ts +0 -0
- package/dist/types/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/utils/loadingUtils.d.ts +1 -6
- package/dist/types/containers/ProjectTreeTable/utils/metaRows.d.ts +33 -0
- package/dist/types/containers/ProjectTreeTable/utils/restrictedEntity.d.ts +13 -0
- package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/widgets/DateWidget.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/widgets/EmptyWidget.d.ts +9 -0
- package/dist/types/containers/ProjectTreeTable/widgets/EntityNameWidget.d.ts +4 -2
- package/dist/types/containers/ProjectTreeTable/widgets/EnumCellValue.d.ts +1 -2
- package/dist/types/containers/ProjectTreeTable/widgets/ErrorWidget.d.ts +9 -0
- package/dist/types/containers/ProjectTreeTable/widgets/LoadMoreWidget.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/widgets/MetaWidget.d.ts +10 -0
- package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +3 -0
- package/dist/types/containers/SimpleTable/SimpleTable.d.ts +4 -2
- package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +10 -0
- package/dist/types/containers/SimpleTable/hooks/useRowKeydown.d.ts +2 -1
- package/dist/types/containers/Slicer/types.d.ts +2 -0
- package/dist/types/containers/Views/ViewItem/ViewItem.d.ts +2 -2
- package/dist/types/containers/Views/index.d.ts +1 -1
- package/dist/types/context/AddonContext.d.ts +1 -0
- package/dist/types/context/AddonProjectContext.d.ts +6 -1
- package/dist/types/context/DetailsPanelContext.d.ts +10 -0
- package/dist/types/context/WebsocketContext.d.ts +21 -0
- package/dist/types/context/index.d.ts +1 -0
- package/dist/types/hooks/index.d.ts +3 -1
- package/dist/types/hooks/useGetEntityGroups.d.ts +11 -0
- package/dist/types/{containers/ProjectTreeTable/hooks/useProjectTableModules.d.ts → hooks/useGroupByRemoteModules.d.ts} +6 -5
- package/dist/types/hooks/useGroupedPagination.d.ts +25 -0
- package/dist/types/util/getGroupByDataType.d.ts +20 -0
- package/dist/types/util/index.d.ts +1 -0
- package/dist/types/util/productTypes.d.ts +1 -1
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +25 -23
- package/dist/util.es.js.map +1 -1
- package/package.json +1 -1
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js +0 -9
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js.map +0 -1
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js +0 -25
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js.map +0 -1
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js +0 -60
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js.map +0 -1
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js +0 -342
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +0 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +0 -95
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +0 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +0 -131
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +0 -1
- package/dist/shared/src/hooks/useTagStyling.cjs.js +0 -2
- package/dist/shared/src/hooks/useTagStyling.cjs.js.map +0 -1
- package/dist/shared/src/hooks/useTagStyling.es.js +0 -33
- package/dist/shared/src/hooks/useTagStyling.es.js.map +0 -1
- package/dist/types/components/Powerpack/RequiredPowerpackVersion.d.ts +0 -5
- package/dist/types/components/ProjectTableSettings/RowHeightSettings.d.ts +0 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useGetTaskGroups.d.ts +0 -10
- package/dist/types/hooks/useTagStyling.d.ts +0 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateLists.es.js","sources":["../../../../../../src/api/queries/entityLists/updateLists.ts"],"sourcesContent":["import { entityListsApi } from '@shared/api/generated'\nimport gqlApi from './getLists'\nimport { CreateSessionFromListApiArg, CreateSessionFromListApiResponse } from './types'\n\nconst updateListsEnhancedApi = entityListsApi.enhanceEndpoints({\n endpoints: {\n // LIST MUTATIONS\n createEntityList: {\n invalidatesTags: [{ type: 'entityList', id: 'LIST' }],\n },\n updateEntityList: {\n async onQueryStarted(\n { listId, entityListPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n const tags = [{ type: 'entityList', id: listId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListsInfinite')\n\n let patchResults: any[] = []\n\n // Update getListsInfinite cache (GraphQL)\n for (const entry of infiniteEntries) {\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListsInfinite', entry.originalArgs, (draft) => {\n for (const page of draft.pages) {\n const listIndex = page.lists.findIndex((list) => list.id === listId)\n if (listIndex !== -1) {\n const list = page.lists[listIndex]\n // Update the list with the new data\n Object.assign(list, entityListPatchModel)\n break\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n\n // Update getEntityList cache (REST API)\n const entityListEntries = entityListsApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getEntityList' && e.originalArgs.listId === listId)\n\n for (const entry of entityListEntries) {\n const patchResult = dispatch(\n entityListsApi.util.updateQueryData('getEntityList', entry.originalArgs, (draft) => {\n // Update the entity list with the new data\n Object.assign(draft, {\n ...draft,\n ...entityListPatchModel,\n })\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n transformErrorResponse: (error: any) => error.data.detail,\n invalidatesTags: (_s, _e, { listId }) => {\n const tags = [{ type: 'entityList', id: listId }]\n return tags\n },\n },\n deleteEntityList: {\n invalidatesTags: [{ type: 'entityList', id: 'LIST' }],\n },\n // LIST ITEM MUTATIONS\n updateEntityListItems: {\n async onQueryStarted(\n { listId, entityListMultiPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n // We are primarily interested in updating the items within a specific list\n const tags = [{ type: 'entityListItem', id: listId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListItemsInfinite')\n\n let patchResults: any[] = []\n\n if (!entityListMultiPatchModel.items || entityListMultiPatchModel.items.length === 0) {\n // No items to update, proceed without optimistic update\n await queryFulfilled\n return\n }\n\n for (const entry of infiniteEntries) {\n // only update entries that match the listId\n if (entry.originalArgs.listId !== listId) continue\n\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListItemsInfinite', entry.originalArgs, (draft) => {\n let overallPositionChanged = false\n // First pass: update items in place and check if any position changed\n for (const page of draft.pages) {\n entityListMultiPatchModel.items?.forEach((patchItem) => {\n const itemIndex = page.items.findIndex(\n (item) => item.id === patchItem.id || item.entityId === patchItem.entityId,\n )\n\n if (itemIndex !== -1) {\n const existingItem = page.items[itemIndex]\n // Merge existing item with patchItem, ensuring attrib is also merged\n const updatedItem = {\n ...existingItem,\n ...patchItem, // Apply all top-level fields from patchItem\n attrib: {\n ...existingItem.attrib,\n ...(patchItem.attrib || {}), // Merge attrib safely\n },\n }\n Object.assign(page.items[itemIndex], updatedItem)\n\n if (patchItem.position !== undefined) {\n overallPositionChanged = true\n }\n }\n })\n }\n\n if (overallPositionChanged) {\n // Collect all items from all pages for this specific cache entry\n let allItems = draft.pages.flatMap((page) => page.items)\n\n // Sort all items based on position\n allItems.sort((a, b) => {\n const posA = typeof a.position === 'number' ? a.position : Infinity\n const posB = typeof b.position === 'number' ? b.position : Infinity\n return posA - posB\n })\n\n // Re-distribute sorted items back into pages, maintaining original page sizes\n let currentItemIndex = 0\n for (const page of draft.pages) {\n const pageItemCount = page.items.length // Get original item count for this page\n // Replace page items with the corresponding slice from the globally sorted list\n page.items = allItems.slice(currentItemIndex, currentItemIndex + pageItemCount)\n currentItemIndex += pageItemCount\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n invalidatesTags: (_s, _e, { listId, entityListMultiPatchModel: { items } }) => {\n const tags = [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ...(items || []).flatMap((i) =>\n (i.id ? [{ type: 'entityListItem', id: i.id }] : []).concat(\n i.entityId ? [{ type: 'entityListItem', id: i.entityId }] : [],\n ),\n ),\n ]\n return tags\n },\n transformErrorResponse: (error: any) => error.data.detail,\n },\n updateEntityListItem: {\n async onQueryStarted(\n { listItemId, entityListItemPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n const tags = [{ type: 'entityListItem', id: listItemId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListItemsInfinite')\n\n let patchResults: any[] = []\n for (const entry of infiniteEntries) {\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListItemsInfinite', entry.originalArgs, (draft) => {\n for (const page of draft.pages) {\n const listIndex = page.items.findIndex((list) => list.id === listItemId)\n if (listIndex !== -1) {\n const list = page.items[listIndex]\n const newListItem = {\n ...list,\n attrib: {\n ...list.attrib,\n ...entityListItemPatchModel.attrib,\n },\n }\n // Update the list with the new data\n Object.assign(list, newListItem)\n break\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n },\n createEntityListItem: {\n invalidatesTags: (_s, _e, { listId }) => [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ],\n },\n deleteEntityListItem: {\n invalidatesTags: (_s, _e, { listId }) => [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ],\n },\n },\n})\n\n// inject review addon endpoint Create Session From List\nconst updateListsInjectedApi = updateListsEnhancedApi.injectEndpoints({\n endpoints: (build) => ({\n createSessionFromList: build.mutation<\n CreateSessionFromListApiResponse,\n CreateSessionFromListApiArg\n >({\n query: (queryArg) => ({\n url: `/api/addons/review/${queryArg.addonVersion}/${queryArg.projectName}/sessions/fromList`,\n method: 'POST',\n body: queryArg.sessionFromListRequest,\n }),\n transformErrorResponse: (error: any) => error.data.detail,\n invalidatesTags: () => [{ type: 'entityList', id: 'LIST' }],\n }),\n }),\n})\n\nexport const {\n // LIST MUTATIONS\n useCreateEntityListMutation,\n useUpdateEntityListMutation,\n useDeleteEntityListMutation,\n // LIST ITEM MUTATIONS\n useUpdateEntityListItemsMutation,\n useUpdateEntityListItemMutation,\n useCreateEntityListItemMutation,\n useDeleteEntityListItemMutation,\n // REVIEW SESSION MUTATIONS\n useCreateSessionFromListMutation,\n} = updateListsInjectedApi\nexport { updateListsInjectedApi as entityListsQueriesRest, gqlApi as entityListsQueriesGql }\n"],"names":["updateListsEnhancedApi","entityListsApi","listId","entityListPatchModel","dispatch","queryFulfilled","getState","state","tags","infiniteEntries","gqlApi","e","patchResults","entry","patchResult","draft","page","listIndex","list","entityListEntries","error","_s","_e","entityListMultiPatchModel","overallPositionChanged","_a","patchItem","itemIndex","item","existingItem","updatedItem","allItems","a","b","posA","posB","currentItemIndex","pageItemCount","items","i","listItemId","entityListItemPatchModel","newListItem","updateListsInjectedApi","build","queryArg","useCreateEntityListMutation","useUpdateEntityListMutation","useDeleteEntityListMutation","useUpdateEntityListItemsMutation","useUpdateEntityListItemMutation","useCreateEntityListItemMutation","useDeleteEntityListItemMutation","useCreateSessionFromListMutation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"updateLists.es.js","sources":["../../../../../../src/api/queries/entityLists/updateLists.ts"],"sourcesContent":["import { entityListsApi } from '@shared/api/generated'\nimport gqlApi from './getLists'\nimport { CreateSessionFromListApiArg, CreateSessionFromListApiResponse } from './types'\n\nconst updateListsEnhancedApi = entityListsApi.enhanceEndpoints({\n endpoints: {\n // LIST MUTATIONS\n createEntityList: {\n invalidatesTags: [{ type: 'entityList', id: 'LIST' }],\n },\n updateEntityList: {\n async onQueryStarted(\n { listId, entityListPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n const tags = [{ type: 'entityList', id: listId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListsInfinite')\n\n let patchResults: any[] = []\n\n // Update getListsInfinite cache (GraphQL)\n for (const entry of infiniteEntries) {\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListsInfinite', entry.originalArgs, (draft) => {\n for (const page of draft.pages) {\n const listIndex = page.lists.findIndex((list) => list.id === listId)\n if (listIndex !== -1) {\n const list = page.lists[listIndex]\n // Update the list with the new data\n Object.assign(list, entityListPatchModel)\n break\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n\n // Update getEntityList cache (REST API)\n const entityListEntries = entityListsApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getEntityList' && e.originalArgs.listId === listId)\n\n for (const entry of entityListEntries) {\n const patchResult = dispatch(\n entityListsApi.util.updateQueryData('getEntityList', entry.originalArgs, (draft) => {\n // Update the entity list with the new data\n Object.assign(draft, {\n ...draft,\n ...entityListPatchModel,\n })\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n transformErrorResponse: (error: any) => error.data.detail,\n invalidatesTags: (_s, _e, { listId }) => {\n const tags = [{ type: 'entityList', id: listId }]\n return tags\n },\n },\n deleteEntityList: {\n invalidatesTags: [{ type: 'entityList', id: 'LIST' }],\n },\n // LIST ITEM MUTATIONS\n updateEntityListItems: {\n async onQueryStarted(\n { listId, entityListMultiPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n // We are primarily interested in updating the items within a specific list\n const tags = [{ type: 'entityListItem', id: listId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListItemsInfinite')\n\n let patchResults: any[] = []\n\n if (!entityListMultiPatchModel.items || entityListMultiPatchModel.items.length === 0) {\n // No items to update, proceed without optimistic update\n await queryFulfilled\n return\n }\n\n for (const entry of infiniteEntries) {\n // only update entries that match the listId\n if (entry.originalArgs.listId !== listId) continue\n\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListItemsInfinite', entry.originalArgs, (draft) => {\n let overallPositionChanged = false\n // First pass: update items in place and check if any position changed\n for (const page of draft.pages) {\n entityListMultiPatchModel.items?.forEach((patchItem) => {\n const itemIndex = page.items.findIndex(\n (item) => item.id === patchItem.id || item.entityId === patchItem.entityId,\n )\n\n if (itemIndex !== -1) {\n const existingItem = page.items[itemIndex]\n // Merge existing item with patchItem, ensuring attrib is also merged\n const updatedItem = {\n ...existingItem,\n ...patchItem, // Apply all top-level fields from patchItem\n attrib: {\n ...existingItem.attrib,\n ...(patchItem.attrib || {}), // Merge attrib safely\n },\n }\n Object.assign(page.items[itemIndex], updatedItem)\n\n if (patchItem.position !== undefined) {\n overallPositionChanged = true\n }\n }\n })\n }\n\n if (overallPositionChanged) {\n // Collect all items from all pages for this specific cache entry\n let allItems = draft.pages.flatMap((page) => page.items)\n\n // Sort all items based on position, using updated positions from the map\n allItems.sort((a, b) => {\n const posA = typeof a.position === 'number' ? a.position : Infinity\n const posB = typeof b.position === 'number' ? b.position : Infinity\n return posA - posB\n })\n\n // Re-distribute sorted items back into pages, maintaining original page sizes\n let currentItemIndex = 0\n for (const page of draft.pages) {\n const pageItemCount = page.items.length // Get original item count for this page\n // Replace page items with the corresponding slice from the globally sorted list\n page.items = allItems.slice(currentItemIndex, currentItemIndex + pageItemCount)\n currentItemIndex += pageItemCount\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n invalidatesTags: (_s, _e, { listId, entityListMultiPatchModel: { items } }) => {\n // Check if this is a position-only update (reordering)\n const isReorderingOnly = items?.every((item) =>\n Object.keys(item).every((key) => key === 'id' || key === 'position'),\n )\n\n // Don't invalidate cache for reordering - the optimistic update is sufficient\n // This prevents the cache refetch from overwriting client-side positions of restricted entities\n if (isReorderingOnly) {\n return []\n }\n\n // For other updates, invalidate as normal\n const tags = [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ...(items || []).flatMap((i) =>\n (i.id ? [{ type: 'entityListItem', id: i.id }] : []).concat(\n i.entityId ? [{ type: 'entityListItem', id: i.entityId }] : [],\n ),\n ),\n ]\n return tags\n },\n transformErrorResponse: (error: any) => error.data.detail,\n },\n updateEntityListItem: {\n async onQueryStarted(\n { listItemId, entityListItemPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n const tags = [{ type: 'entityListItem', id: listItemId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListItemsInfinite')\n\n let patchResults: any[] = []\n for (const entry of infiniteEntries) {\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListItemsInfinite', entry.originalArgs, (draft) => {\n for (const page of draft.pages) {\n const listIndex = page.items.findIndex((list) => list.id === listItemId)\n if (listIndex !== -1) {\n const list = page.items[listIndex]\n const newListItem = {\n ...list,\n attrib: {\n ...list.attrib,\n ...entityListItemPatchModel.attrib,\n },\n }\n // Update the list with the new data\n Object.assign(list, newListItem)\n break\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n invalidatesTags: (_s, _e, { listId, listItemId }) => [\n { type: 'entityListItem', id: listId },\n { type: 'entityListItem', id: listItemId },\n ],\n },\n createEntityListItem: {\n invalidatesTags: (_s, _e, { listId }) => [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ],\n },\n deleteEntityListItem: {\n invalidatesTags: (_s, _e, { listId }) => [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ],\n },\n },\n})\n\n// inject review addon endpoint Create Session From List\nconst updateListsInjectedApi = updateListsEnhancedApi.injectEndpoints({\n endpoints: (build) => ({\n createSessionFromList: build.mutation<\n CreateSessionFromListApiResponse,\n CreateSessionFromListApiArg\n >({\n query: (queryArg) => ({\n url: `/api/addons/review/${queryArg.addonVersion}/${queryArg.projectName}/sessions/fromList`,\n method: 'POST',\n body: queryArg.sessionFromListRequest,\n }),\n transformErrorResponse: (error: any) => error.data.detail,\n invalidatesTags: () => [{ type: 'entityList', id: 'LIST' }],\n }),\n }),\n})\n\nexport const {\n // LIST MUTATIONS\n useCreateEntityListMutation,\n useUpdateEntityListMutation,\n useDeleteEntityListMutation,\n // LIST ITEM MUTATIONS\n useUpdateEntityListItemsMutation,\n useUpdateEntityListItemMutation,\n useCreateEntityListItemMutation,\n useDeleteEntityListItemMutation,\n // REVIEW SESSION MUTATIONS\n useCreateSessionFromListMutation,\n} = updateListsInjectedApi\nexport { updateListsInjectedApi as entityListsQueriesRest, gqlApi as entityListsQueriesGql }\n"],"names":["updateListsEnhancedApi","entityListsApi","listId","entityListPatchModel","dispatch","queryFulfilled","getState","state","tags","infiniteEntries","gqlApi","e","patchResults","entry","patchResult","draft","page","listIndex","list","entityListEntries","error","_s","_e","entityListMultiPatchModel","overallPositionChanged","_a","patchItem","itemIndex","item","existingItem","updatedItem","allItems","a","b","posA","posB","currentItemIndex","pageItemCount","items","key","i","listItemId","entityListItemPatchModel","newListItem","updateListsInjectedApi","build","queryArg","useCreateEntityListMutation","useUpdateEntityListMutation","useDeleteEntityListMutation","useUpdateEntityListItemsMutation","useUpdateEntityListItemMutation","useCreateEntityListItemMutation","useDeleteEntityListItemMutation","useCreateSessionFromListMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAMA,IAAyBC,EAAe,iBAAiB;AAAA,EAC7D,WAAW;AAAA;AAAA,IAET,kBAAkB;AAAA,MAChB,iBAAiB,CAAC,EAAE,MAAM,cAAc,IAAI,OAAQ,CAAA;AAAA,IACtD;AAAA,IACA,kBAAkB;AAAA,MAChB,MAAM,eACJ,EAAE,QAAAC,GAAQ,sBAAAC,EAAA,GACV,EAAE,UAAAC,GAAU,gBAAAC,GAAgB,UAAAC,KAC5B;AACA,cAAMC,IAAQD,EAAS,GAEjBE,IAAO,CAAC,EAAE,MAAM,cAAc,IAAIN,GAAQ,GAC1CO,IAAkBC,EAAO,KAC5B,oBAAoBH,GAAOC,CAAI,EAC/B,OAAO,CAACG,MAAMA,EAAE,iBAAiB,kBAAkB;AAEtD,YAAIC,IAAsB,CAAC;AAG3B,mBAAWC,KAASJ,GAAiB;AACnC,gBAAMK,IAAcV;AAAA,YAClBM,EAAO,KAAK,gBAAgB,oBAAoBG,EAAM,cAAc,CAACE,MAAU;AAClE,yBAAAC,KAAQD,EAAM,OAAO;AACxB,sBAAAE,IAAYD,EAAK,MAAM,UAAU,CAACE,MAASA,EAAK,OAAOhB,CAAM;AACnE,oBAAIe,MAAc,IAAI;AACd,wBAAAC,IAAOF,EAAK,MAAMC,CAAS;AAE1B,yBAAA,OAAOC,GAAMf,CAAoB;AACxC;AAAA,gBAAA;AAAA,cACF;AAAA,YAEH,CAAA;AAAA,UACH;AAEA,UAAAS,EAAa,KAAKE,CAAW;AAAA,QAAA;AAI/B,cAAMK,IAAoBlB,EAAe,KACtC,oBAAoBM,GAAOC,CAAI,EAC/B,OAAO,CAACG,MAAMA,EAAE,iBAAiB,mBAAmBA,EAAE,aAAa,WAAWT,CAAM;AAEvF,mBAAWW,KAASM,GAAmB;AACrC,gBAAML,IAAcV;AAAA,YAClBH,EAAe,KAAK,gBAAgB,iBAAiBY,EAAM,cAAc,CAACE,MAAU;AAElF,qBAAO,OAAOA,GAAO;AAAA,gBACnB,GAAGA;AAAA,gBACH,GAAGZ;AAAA,cAAA,CACJ;AAAA,YACF,CAAA;AAAA,UACH;AAEA,UAAAS,EAAa,KAAKE,CAAW;AAAA,QAAA;AAG3B,YAAA;AACI,gBAAAT;AAAA,QAAA,QACA;AACO,UAAAO,EAAA,QAAQ,CAACE,MAAgB;AAEpC,YAAAA,EAAY,KAAK;AAAA,UAAA,CAClB;AAAA,QAAA;AAAA,MAEL;AAAA,MACA,wBAAwB,CAACM,MAAeA,EAAM,KAAK;AAAA,MACnD,iBAAiB,CAACC,GAAIC,GAAI,EAAE,QAAApB,QACb,CAAC,EAAE,MAAM,cAAc,IAAIA,GAAQ;AAAA,IAGpD;AAAA,IACA,kBAAkB;AAAA,MAChB,iBAAiB,CAAC,EAAE,MAAM,cAAc,IAAI,OAAQ,CAAA;AAAA,IACtD;AAAA;AAAA,IAEA,uBAAuB;AAAA,MACrB,MAAM,eACJ,EAAE,QAAAA,GAAQ,2BAAAqB,EAAA,GACV,EAAE,UAAAnB,GAAU,gBAAAC,GAAgB,UAAAC,KAC5B;AACA,cAAMC,IAAQD,EAAS,GAGjBE,IAAO,CAAC,EAAE,MAAM,kBAAkB,IAAIN,GAAQ,GAC9CO,IAAkBC,EAAO,KAC5B,oBAAoBH,GAAOC,CAAI,EAC/B,OAAO,CAACG,MAAMA,EAAE,iBAAiB,sBAAsB;AAE1D,YAAIC,IAAsB,CAAC;AAE3B,YAAI,CAACW,EAA0B,SAASA,EAA0B,MAAM,WAAW,GAAG;AAE9E,gBAAAlB;AACN;AAAA,QAAA;AAGF,mBAAWQ,KAASJ,GAAiB;AAE/B,cAAAI,EAAM,aAAa,WAAWX,EAAQ;AAE1C,gBAAMY,IAAcV;AAAA,YAClBM,EAAO,KAAK,gBAAgB,wBAAwBG,EAAM,cAAc,CAACE,MAAU;;AACjF,kBAAIS,IAAyB;AAElB,yBAAAR,KAAQD,EAAM;AACG,iBAAAU,IAAAF,EAAA,UAAA,QAAAE,EAAO,QAAQ,CAACC,MAAc;AAChD,wBAAAC,IAAYX,EAAK,MAAM;AAAA,oBAC3B,CAACY,MAASA,EAAK,OAAOF,EAAU,MAAME,EAAK,aAAaF,EAAU;AAAA,kBACpE;AAEA,sBAAIC,MAAc,IAAI;AACd,0BAAAE,IAAeb,EAAK,MAAMW,CAAS,GAEnCG,IAAc;AAAA,sBAClB,GAAGD;AAAA,sBACH,GAAGH;AAAA;AAAA,sBACH,QAAQ;AAAA,wBACN,GAAGG,EAAa;AAAA,wBAChB,GAAIH,EAAU,UAAU,CAAA;AAAA;AAAA,sBAAC;AAAA,oBAE7B;AACA,2BAAO,OAAOV,EAAK,MAAMW,CAAS,GAAGG,CAAW,GAE5CJ,EAAU,aAAa,WACAF,IAAA;AAAA,kBAC3B;AAAA,gBACF;AAIJ,kBAAIA,GAAwB;AAE1B,oBAAIO,IAAWhB,EAAM,MAAM,QAAQ,CAACC,MAASA,EAAK,KAAK;AAG9C,gBAAAe,EAAA,KAAK,CAACC,GAAGC,MAAM;AACtB,wBAAMC,IAAO,OAAOF,EAAE,YAAa,WAAWA,EAAE,WAAW,OACrDG,IAAO,OAAOF,EAAE,YAAa,WAAWA,EAAE,WAAW;AAC3D,yBAAOC,IAAOC;AAAA,gBAAA,CACf;AAGD,oBAAIC,IAAmB;AACZ,2BAAApB,KAAQD,EAAM,OAAO;AACxB,wBAAAsB,IAAgBrB,EAAK,MAAM;AAEjC,kBAAAA,EAAK,QAAQe,EAAS,MAAMK,GAAkBA,IAAmBC,CAAa,GAC1DD,KAAAC;AAAA,gBAAA;AAAA,cACtB;AAAA,YAEH,CAAA;AAAA,UACH;AAEA,UAAAzB,EAAa,KAAKE,CAAW;AAAA,QAAA;AAG3B,YAAA;AACI,gBAAAT;AAAA,QAAA,QACA;AACO,UAAAO,EAAA,QAAQ,CAACE,MAAgB;AAEpC,YAAAA,EAAY,KAAK;AAAA,UAAA,CAClB;AAAA,QAAA;AAAA,MAEL;AAAA,MACA,iBAAiB,CAACO,GAAIC,GAAI,EAAE,QAAApB,GAAQ,2BAA2B,EAAE,OAAAoC,EAAM,SAE5CA,KAAA,gBAAAA,EAAO;AAAA,QAAM,CAACV,MACrC,OAAO,KAAKA,CAAI,EAAE,MAAM,CAACW,MAAQA,MAAQ,QAAQA,MAAQ,UAAU;AAAA,WAM5D,CAAC,IAIG;AAAA,QACX,EAAE,MAAM,cAAc,IAAIrC,EAAO;AAAA,QACjC,EAAE,MAAM,kBAAkB,IAAIA,EAAO;AAAA,QACrC,IAAIoC,KAAS,CAAA,GAAI;AAAA,UAAQ,CAACE,OACvBA,EAAE,KAAK,CAAC,EAAE,MAAM,kBAAkB,IAAIA,EAAE,IAAI,IAAI,CAAI,GAAA;AAAA,YACnDA,EAAE,WAAW,CAAC,EAAE,MAAM,kBAAkB,IAAIA,EAAE,SAAA,CAAU,IAAI,CAAA;AAAA,UAAC;AAAA,QAC/D;AAAA,MAEJ;AAAA,MAGF,wBAAwB,CAACpB,MAAeA,EAAM,KAAK;AAAA,IACrD;AAAA,IACA,sBAAsB;AAAA,MACpB,MAAM,eACJ,EAAE,YAAAqB,GAAY,0BAAAC,EAAA,GACd,EAAE,UAAAtC,GAAU,gBAAAC,GAAgB,UAAAC,KAC5B;AACA,cAAMC,IAAQD,EAAS,GAEjBE,IAAO,CAAC,EAAE,MAAM,kBAAkB,IAAIiC,GAAY,GAClDhC,IAAkBC,EAAO,KAC5B,oBAAoBH,GAAOC,CAAI,EAC/B,OAAO,CAACG,MAAMA,EAAE,iBAAiB,sBAAsB;AAE1D,YAAIC,IAAsB,CAAC;AAC3B,mBAAWC,KAASJ,GAAiB;AACnC,gBAAMK,IAAcV;AAAA,YAClBM,EAAO,KAAK,gBAAgB,wBAAwBG,EAAM,cAAc,CAACE,MAAU;AACtE,yBAAAC,KAAQD,EAAM,OAAO;AACxB,sBAAAE,IAAYD,EAAK,MAAM,UAAU,CAACE,MAASA,EAAK,OAAOuB,CAAU;AACvE,oBAAIxB,MAAc,IAAI;AACd,wBAAAC,IAAOF,EAAK,MAAMC,CAAS,GAC3B0B,IAAc;AAAA,oBAClB,GAAGzB;AAAA,oBACH,QAAQ;AAAA,sBACN,GAAGA,EAAK;AAAA,sBACR,GAAGwB,EAAyB;AAAA,oBAAA;AAAA,kBAEhC;AAEO,yBAAA,OAAOxB,GAAMyB,CAAW;AAC/B;AAAA,gBAAA;AAAA,cACF;AAAA,YAEH,CAAA;AAAA,UACH;AAEA,UAAA/B,EAAa,KAAKE,CAAW;AAAA,QAAA;AAE3B,YAAA;AACI,gBAAAT;AAAA,QAAA,QACA;AACO,UAAAO,EAAA,QAAQ,CAACE,MAAgB;AAEpC,YAAAA,EAAY,KAAK;AAAA,UAAA,CAClB;AAAA,QAAA;AAAA,MAEL;AAAA,MACA,iBAAiB,CAACO,GAAIC,GAAI,EAAE,QAAApB,GAAQ,YAAAuC,QAAiB;AAAA,QACnD,EAAE,MAAM,kBAAkB,IAAIvC,EAAO;AAAA,QACrC,EAAE,MAAM,kBAAkB,IAAIuC,EAAW;AAAA,MAAA;AAAA,IAE7C;AAAA,IACA,sBAAsB;AAAA,MACpB,iBAAiB,CAACpB,GAAIC,GAAI,EAAE,QAAApB,QAAa;AAAA,QACvC,EAAE,MAAM,cAAc,IAAIA,EAAO;AAAA,QACjC,EAAE,MAAM,kBAAkB,IAAIA,EAAO;AAAA,MAAA;AAAA,IAEzC;AAAA,IACA,sBAAsB;AAAA,MACpB,iBAAiB,CAACmB,GAAIC,GAAI,EAAE,QAAApB,QAAa;AAAA,QACvC,EAAE,MAAM,cAAc,IAAIA,EAAO;AAAA,QACjC,EAAE,MAAM,kBAAkB,IAAIA,EAAO;AAAA,MAAA;AAAA,IACvC;AAAA,EACF;AAEJ,CAAC,GAGK0C,IAAyB5C,EAAuB,gBAAgB;AAAA,EACpE,WAAW,CAAC6C,OAAW;AAAA,IACrB,uBAAuBA,EAAM,SAG3B;AAAA,MACA,OAAO,CAACC,OAAc;AAAA,QACpB,KAAK,sBAAsBA,EAAS,YAAY,IAAIA,EAAS,WAAW;AAAA,QACxE,QAAQ;AAAA,QACR,MAAMA,EAAS;AAAA,MAAA;AAAA,MAEjB,wBAAwB,CAAC1B,MAAeA,EAAM,KAAK;AAAA,MACnD,iBAAiB,MAAM,CAAC,EAAE,MAAM,cAAc,IAAI,OAAQ,CAAA;AAAA,IAC3D,CAAA;AAAA,EACH;AACF,CAAC,GAEY;AAAA;AAAA,EAEX,6BAAA2B;AAAA,EACA,6BAAAC;AAAA,EACA,6BAAAC;AAAA;AAAA,EAEA,kCAAAC;AAAA,EACA,iCAAAC;AAAA,EACA,iCAAAC;AAAA,EACA,iCAAAC;AAAA;AAAA,EAEA,kCAAAC;AACF,IAAIV;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");const v=require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");const A=require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const E=require("./utils/formatEntityLinks.cjs.js"),F=require("react-toastify");require("lodash");require("uuid");const G=require("../../../util/pubsub.cjs.js"),S={folder:"GetFoldersLinks",task:"GetTasksLinks",product:"GetProductsLinks",version:"GetVersionsLinks",representation:"GetRepresentationsLinks",workfile:"GetWorkfilesLinks"},$={folder:"folders",task:"tasks",product:"products",version:"versions",representation:"representations",workfile:"workfiles"},P=A.api.injectEndpoints({endpoints:z=>({getEntityLinks:z.query({queryFn:async({projectName:t,entityIds:u,entityType:r},{getState:n,dispatch:q,queryCacheKey:T,forced:m})=>{var h,d,L,w,k;try{const y=n(),R=JSON.stringify({projectName:t,entityType:r}),a=(d=(h=y.restApi)==null?void 0:h.queries)==null?void 0:d[T||`getEntityLinks(${R})`],f=(a==null?void 0:a.data)||[],i=new Set(f.map(s=>s.id)),c=u.filter(s=>!(i!=null&&i.has(s))||m);if(c.length===0)return{data:f};const o=S[r],b=$[r];return{data:((k=(w=(L=(await q(v.api.endpoints[o].initiate({projectName:t,entityIds:c},{forceRefetch:!0})).unwrap()).project)==null?void 0:L[b])==null?void 0:w.edges)==null?void 0:k.map(({node:s})=>{var p,l;return{id:s.id,links:((l=(p=s.links.edges)==null?void 0:p.filter(e=>!!(e!=null&&e.node)))==null?void 0:l.map(e=>({...e,node:{id:e.node.id,name:e.node.name,label:E.formatEntityLabel(e.node),parents:e.node.parents||[],subType:"subType"in e.node?e.node.subType:void 0}})))||[]}}))||[]}}catch(y){return console.error(`Error in getEntityLinks queryFn for ${r}:`,y),F.toast.error(`Error fetching ${r} links`),{error:{status:"FETCH_ERROR",error:y.message}}}},serializeQueryArgs:({queryArgs:t})=>({projectName:t.projectName,entityType:t.entityType}),forceRefetch:({currentArg:t,previousArg:u})=>{if(!t||!u)return!0;const r=new Set(t.entityIds),n=new Set(u.entityIds);if(r.size!==n.size)return!0;for(const q of r)if(!n.has(q))return!0;return!1},merge:(t,u)=>{if(!t)return u;const r=new Map(t.map(n=>[n.id,n]));for(const n of u)r.set(n.id,n);t.length=0,t.push(...r.values())},providesTags:(t,u,r)=>t?[...t.flatMap(n=>n.links.map(q=>({type:"link",id:q.node.id}))),{type:"link",id:`${r.projectName}-${r.entityType}`}]:[{type:"link",id:`${r.projectName}-${r.entityType}`}],async onCacheEntryAdded({projectName:t,entityIds:u,entityType:r},{cacheDataLoaded:n,cacheEntryRemoved:q,updateCachedData:T,dispatch:m}){let h;const d=new Set,L=100,w=500;let k=!1;const y=()=>{k||(k=!0,setTimeout(R,w))},R=async()=>{var f,i,c;if(k=!1,!d.size)return;const a=Array.from(d).slice(0,L);a.forEach(o=>d.delete(o));try{const o=S[r],b=$[r],j=((c=(i=(f=(await m(v.api.endpoints[o].initiate({projectName:t,entityIds:a},{forceRefetch:!0})).unwrap()).project)==null?void 0:f[b])==null?void 0:i.edges)==null?void 0:c.map(({node:s})=>{var p,l;return{id:s.id,links:((l=(p=s.links.edges)==null?void 0:p.filter(e=>!!(e!=null&&e.node)))==null?void 0:l.map(e=>({...e,node:{id:e.node.id,name:e.node.name,label:E.formatEntityLabel(e.node),parents:e.node.parents||[],subType:"subType"in e.node?e.node.subType:void 0}})))||[]}}))||[];T(s=>{for(const p of j){const l=s.findIndex(e=>e.id===p.id);l>-1?s[l]=p:s.push(p)}})}catch(o){console.error("Realtime link batch update failed",o)}finally{d.size&&y()}};try{await n;const a=async(f,i)=>{var b,I;if(!f.startsWith("link.created")&&!f.startsWith("link.deleted")||(i==null?void 0:i.project)!==t)return;const c=(b=i==null?void 0:i.summary)==null?void 0:b.inputId,o=(I=i==null?void 0:i.summary)==null?void 0:I.outputId;!c&&!o||(c&&d.add(c),o&&d.add(o),y())};h=G.subscribe("link",a)}catch{}await q,h&&G.unsubscribe(h)}})})}),{useGetEntityLinksQuery:M}=P;exports.entityLinksApi=P;exports.useGetEntityLinksQuery=M;
|
|
2
2
|
//# sourceMappingURL=getEntityLinks.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEntityLinks.cjs.js","sources":["../../../../../../src/api/queries/links/getEntityLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetFoldersLinksQuery,\n GetTasksLinksQuery,\n GetProductsLinksQuery,\n GetVersionsLinksQuery,\n GetRepresentationsLinksQuery,\n GetWorkfilesLinksQuery,\n gqlLinksApi,\n foldersApi,\n} from '@shared/api/generated'\nimport { formatEntityLabel } from './utils/formatEntityLinks'\nimport { toast } from 'react-toastify'\n\n/**\n * Custom queryFn for fetching entity links with optimized caching behavior.\n *\n * Key features:\n * 1. Single cache per project and entity type - different entityIds combinations don't create new caches\n * 2. Skips fetching entities that are already cached\n * 3. Force refetch when entityIds change\n * 4. Merges new entities into cache without duplicates\n * 5. Supports all entity types: folders, tasks, products, versions, representations, workfiles\n */\n\n// Define the arguments for the query\nexport type GetEntityLinksArgs = {\n projectName: string\n entityIds: string[]\n entityType: 'folder' | 'task' | 'product' | 'version' | 'representation' | 'workfile'\n}\n\n// Define link types for each entity\nexport type FolderLink =\n GetFoldersLinksQuery['project']['folders']['edges'][0]['node']['links']['edges'][0]\nexport type TaskLink =\n GetTasksLinksQuery['project']['tasks']['edges'][0]['node']['links']['edges'][0]\nexport type ProductLink =\n GetProductsLinksQuery['project']['products']['edges'][0]['node']['links']['edges'][0]\nexport type VersionLink =\n GetVersionsLinksQuery['project']['versions']['edges'][0]['node']['links']['edges'][0]\nexport type RepresentationLink =\n GetRepresentationsLinksQuery['project']['representations']['edges'][0]['node']['links']['edges'][0]\nexport type WorkfileLink =\n GetWorkfilesLinksQuery['project']['workfiles']['edges'][0]['node']['links']['edges'][0]\n\nexport type EntityLinkQuery =\n | FolderLink\n | TaskLink\n | ProductLink\n | VersionLink\n | RepresentationLink\n | WorkfileLink\nexport type EntityLink = Pick<EntityLinkQuery, 'direction' | 'entityType' | 'id' | 'linkType'> & {\n node: Pick<EntityLinkQuery['node'], 'name' | 'id'> & {\n label?: string | null\n parents: string[]\n subType: string | undefined\n }\n}\n\n// Define the result type for the query - simplified without edges wrapper\nexport type EntityWithLinks = {\n id: string\n links: EntityLink[]\n}\n\nexport type GetEntityLinksResult = EntityWithLinks[]\n\n// Map entity types to their corresponding GraphQL endpoints\nconst entityEndpoints = {\n folder: 'GetFoldersLinks',\n task: 'GetTasksLinks',\n product: 'GetProductsLinks',\n version: 'GetVersionsLinks',\n representation: 'GetRepresentationsLinks',\n workfile: 'GetWorkfilesLinks',\n} as const\n\n// Map entity types to their result path in the GraphQL response\nconst entityResultPaths = {\n folder: 'folders',\n task: 'tasks',\n product: 'products',\n version: 'versions',\n representation: 'representations',\n workfile: 'workfiles',\n} as const\n\nconst injectedQueries = foldersApi.injectEndpoints({\n endpoints: (build) => ({\n getEntityLinks: build.query<GetEntityLinksResult, GetEntityLinksArgs>({\n queryFn: async (\n { projectName, entityIds, entityType },\n { getState, dispatch, queryCacheKey, forced },\n ) => {\n try {\n // Get current state to access cached data\n const state = getState() as any\n const cacheKey = JSON.stringify({ projectName, entityType })\n\n // Access the cache entry for this project and entity type\n const cacheEntry =\n state.restApi?.queries?.[queryCacheKey || `getEntityLinks(${cacheKey})`]\n const cachedData = cacheEntry?.data || []\n\n // 1. When fetching new data for entityIds, we should skip entities that are already in the cache.\n const cachedEntityIds = new Set(cachedData.map((entity: EntityWithLinks) => entity.id))\n const entityIdsToFetch = entityIds.filter((id) => !cachedEntityIds?.has(id) || forced)\n\n // If all entities are already cached, return the cached data\n if (entityIdsToFetch.length === 0) {\n return { data: cachedData }\n }\n\n // Get the appropriate endpoint and parameter names\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n // Fetch only the entities that aren't already cached\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: entityIdsToFetch },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const newEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => ({\n id: node.id,\n links:\n node.links.edges\n ?.filter((e: EntityLinkQuery | null) => !!e?.node)\n ?.map((linkEdge: EntityLinkQuery) => ({\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n })) || [], // Flatten the edges structure\n })) || []\n\n // Return the new entities - the merge function will handle combining with existing cache\n return { data: newEntities }\n } catch (error: any) {\n console.error(`Error in getEntityLinks queryFn for ${entityType}:`, error)\n toast.error(`Error fetching ${entityType} links`)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n // 2. We should not create new caches when the entityIds argument changes.\n serializeQueryArgs: ({ queryArgs }) => {\n // Use only projectName and entityType for the cache key, ignoring entityIds\n return { projectName: queryArgs.projectName, entityType: queryArgs.entityType }\n },\n // 3. We should force a refetch every time the entityIds changes.\n forceRefetch: ({ currentArg, previousArg }) => {\n // Force refetch if entityIds array is different\n if (!currentArg || !previousArg) return true\n\n // Compare arrays by converting to sets\n const currentIds = new Set(currentArg.entityIds)\n const previousIds = new Set(previousArg.entityIds)\n\n if (currentIds.size !== previousIds.size) return true\n\n // Check if any IDs are different\n for (const id of currentIds) {\n if (!previousIds.has(id)) return true\n }\n\n return false\n },\n // 4. We should merge new entities into the cache ensuring there are no duplicates.\n merge: (currentCache, newItems) => {\n if (!currentCache) return newItems\n\n const cacheMap = new Map(currentCache.map((item) => [item.id, item]))\n for (const newItem of newItems) {\n cacheMap.set(newItem.id, newItem) // Overwrite if exists, add if not\n }\n // Update currentCache in-place\n currentCache.length = 0\n currentCache.push(...cacheMap.values())\n },\n // Provide tags for potential invalidation\n providesTags: (result, error, arg) =>\n result\n ? [\n ...result.flatMap((entity) =>\n entity.links.map((link) => ({ type: 'link', id: link.node.id })),\n ),\n { type: 'link', id: `${arg.projectName}-${arg.entityType}` },\n ]\n : [{ type: 'link', id: `${arg.projectName}-${arg.entityType}` }],\n }),\n }),\n})\n\nexport const { useGetEntityLinksQuery } = injectedQueries\nexport { injectedQueries as entityLinksApi }\n"],"names":["entityEndpoints","entityResultPaths","injectedQueries","foldersApi","build","projectName","entityIds","entityType","getState","dispatch","queryCacheKey","forced","state","cacheKey","cacheEntry","_b","_a","cachedData","cachedEntityIds","entity","entityIdsToFetch","id","endpoint","resultPath","_e","_d","_c","gqlLinksApi","node","e","linkEdge","formatEntityLabel","error","toast","queryArgs","currentArg","previousArg","currentIds","previousIds","currentCache","newItems","cacheMap","item","newItem","result","arg","link","useGetEntityLinksQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getEntityLinks.cjs.js","sources":["../../../../../../src/api/queries/links/getEntityLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetFoldersLinksQuery,\n GetTasksLinksQuery,\n GetProductsLinksQuery,\n GetVersionsLinksQuery,\n GetRepresentationsLinksQuery,\n GetWorkfilesLinksQuery,\n gqlLinksApi,\n foldersApi,\n} from '@shared/api/generated'\nimport { formatEntityLabel } from './utils/formatEntityLinks'\nimport { toast } from 'react-toastify'\nimport { PubSub } from '@shared/util'\n\n/**\n * Custom queryFn for fetching entity links with optimized caching behavior.\n *\n * Key features:\n * 1. Single cache per project and entity type - different entityIds combinations don't create new caches\n * 2. Skips fetching entities that are already cached\n * 3. Force refetch when entityIds change\n * 4. Merges new entities into cache without duplicates\n * 5. Supports all entity types: folders, tasks, products, versions, representations, workfiles\n */\n\n// Define the arguments for the query\nexport type GetEntityLinksArgs = {\n projectName: string\n entityIds: string[]\n entityType: 'folder' | 'task' | 'product' | 'version' | 'representation' | 'workfile'\n}\n\n// Define link types for each entity\nexport type FolderLink =\n GetFoldersLinksQuery['project']['folders']['edges'][0]['node']['links']['edges'][0]\nexport type TaskLink =\n GetTasksLinksQuery['project']['tasks']['edges'][0]['node']['links']['edges'][0]\nexport type ProductLink =\n GetProductsLinksQuery['project']['products']['edges'][0]['node']['links']['edges'][0]\nexport type VersionLink =\n GetVersionsLinksQuery['project']['versions']['edges'][0]['node']['links']['edges'][0]\nexport type RepresentationLink =\n GetRepresentationsLinksQuery['project']['representations']['edges'][0]['node']['links']['edges'][0]\nexport type WorkfileLink =\n GetWorkfilesLinksQuery['project']['workfiles']['edges'][0]['node']['links']['edges'][0]\n\nexport type EntityLinkQuery =\n | FolderLink\n | TaskLink\n | ProductLink\n | VersionLink\n | RepresentationLink\n | WorkfileLink\nexport type EntityLink = Pick<EntityLinkQuery, 'direction' | 'entityType' | 'id' | 'linkType'> & {\n node: Pick<EntityLinkQuery['node'], 'name' | 'id'> & {\n label?: string | null\n parents: string[]\n subType: string | undefined\n }\n}\n\n// Define the result type for the query - simplified without edges wrapper\nexport type EntityWithLinks = {\n id: string\n links: EntityLink[]\n}\n\nexport type GetEntityLinksResult = EntityWithLinks[]\n\n// Map entity types to their corresponding GraphQL endpoints\nconst entityEndpoints = {\n folder: 'GetFoldersLinks',\n task: 'GetTasksLinks',\n product: 'GetProductsLinks',\n version: 'GetVersionsLinks',\n representation: 'GetRepresentationsLinks',\n workfile: 'GetWorkfilesLinks',\n} as const\n\n// Map entity types to their result path in the GraphQL response\nconst entityResultPaths = {\n folder: 'folders',\n task: 'tasks',\n product: 'products',\n version: 'versions',\n representation: 'representations',\n workfile: 'workfiles',\n} as const\n\nconst injectedQueries = foldersApi.injectEndpoints({\n endpoints: (build) => ({\n getEntityLinks: build.query<GetEntityLinksResult, GetEntityLinksArgs>({\n queryFn: async (\n { projectName, entityIds, entityType },\n { getState, dispatch, queryCacheKey, forced },\n ) => {\n try {\n // Get current state to access cached data\n const state = getState() as any\n const cacheKey = JSON.stringify({ projectName, entityType })\n\n // Access the cache entry for this project and entity type\n const cacheEntry =\n state.restApi?.queries?.[queryCacheKey || `getEntityLinks(${cacheKey})`]\n const cachedData = cacheEntry?.data || []\n\n // 1. When fetching new data for entityIds, we should skip entities that are already in the cache.\n const cachedEntityIds = new Set(cachedData.map((entity: EntityWithLinks) => entity.id))\n const entityIdsToFetch = entityIds.filter((id) => !cachedEntityIds?.has(id) || forced)\n\n // If all entities are already cached, return the cached data\n if (entityIdsToFetch.length === 0) {\n return { data: cachedData }\n }\n\n // Get the appropriate endpoint and parameter names\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n // Fetch only the entities that aren't already cached\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: entityIdsToFetch },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const newEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => ({\n id: node.id,\n links:\n node.links.edges\n ?.filter((e: EntityLinkQuery | null) => !!e?.node)\n ?.map((linkEdge: EntityLinkQuery) => ({\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n })) || [], // Flatten the edges structure\n })) || []\n\n // Return the new entities - the merge function will handle combining with existing cache\n return { data: newEntities }\n } catch (error: any) {\n console.error(`Error in getEntityLinks queryFn for ${entityType}:`, error)\n toast.error(`Error fetching ${entityType} links`)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n // 2. We should not create new caches when the entityIds argument changes.\n serializeQueryArgs: ({ queryArgs }) => {\n // Use only projectName and entityType for the cache key, ignoring entityIds\n return { projectName: queryArgs.projectName, entityType: queryArgs.entityType }\n },\n // 3. We should force a refetch every time the entityIds changes.\n forceRefetch: ({ currentArg, previousArg }) => {\n // Force refetch if entityIds array is different\n if (!currentArg || !previousArg) return true\n\n // Compare arrays by converting to sets\n const currentIds = new Set(currentArg.entityIds)\n const previousIds = new Set(previousArg.entityIds)\n\n if (currentIds.size !== previousIds.size) return true\n\n // Check if any IDs are different\n for (const id of currentIds) {\n if (!previousIds.has(id)) return true\n }\n\n return false\n },\n // 4. We should merge new entities into the cache ensuring there are no duplicates.\n merge: (currentCache, newItems) => {\n if (!currentCache) return newItems\n\n const cacheMap = new Map(currentCache.map((item) => [item.id, item]))\n for (const newItem of newItems) {\n cacheMap.set(newItem.id, newItem) // Overwrite if exists, add if not\n }\n // Update currentCache in-place\n currentCache.length = 0\n currentCache.push(...cacheMap.values())\n },\n // Provide tags for potential invalidation\n providesTags: (result, error, arg) =>\n result\n ? [\n ...result.flatMap((entity) =>\n entity.links.map((link) => ({ type: 'link', id: link.node.id })),\n ),\n { type: 'link', id: `${arg.projectName}-${arg.entityType}` },\n ]\n : [{ type: 'link', id: `${arg.projectName}-${arg.entityType}` }],\n // Subscribe to link.created and link.deleted WebSocket events\n async onCacheEntryAdded(\n { projectName, entityIds, entityType },\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData, dispatch },\n ) {\n let token: any\n const pendingEntityIds = new Set<string>()\n const MAX_BATCH = 100\n const INTERVAL = 500\n let scheduled = false\n\n const schedule = () => {\n if (scheduled) return\n scheduled = true\n setTimeout(flush, INTERVAL)\n }\n\n const flush = async () => {\n scheduled = false\n if (!pendingEntityIds.size) return\n const batchIds = Array.from(pendingEntityIds).slice(0, MAX_BATCH)\n batchIds.forEach((id) => pendingEntityIds.delete(id))\n\n try {\n // Get the appropriate endpoint and parameter names\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n // Fetch fresh data for the affected entities\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: batchIds },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const updatedEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => ({\n id: node.id,\n links:\n node.links.edges\n ?.filter((e: EntityLinkQuery | null) => !!e?.node)\n ?.map((linkEdge: EntityLinkQuery) => ({\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n })) || [],\n })) || []\n\n updateCachedData((draft: EntityWithLinks[]) => {\n for (const updatedEntity of updatedEntities) {\n const idx = draft.findIndex((entity) => entity.id === updatedEntity.id)\n if (idx > -1) {\n // Update existing entity's links\n draft[idx] = updatedEntity\n } else {\n // Add new entity if not in cache\n draft.push(updatedEntity)\n }\n }\n })\n } catch (err) {\n console.error('Realtime link batch update failed', err)\n } finally {\n if (pendingEntityIds.size) schedule()\n }\n }\n\n try {\n await cacheDataLoaded\n\n const handlePubSub = async (_topic: string, message: any) => {\n // Only react to link.created and link.deleted events for this project\n if (!_topic.startsWith('link.created') && !_topic.startsWith('link.deleted')) return\n if (message?.project !== projectName) return\n\n // Link events have inputId and outputId in the summary (both entities affected by the link)\n const inputId = message?.summary?.inputId\n const outputId = message?.summary?.outputId\n if (!inputId && !outputId) return\n\n // Add both entities to pending list since both are affected by the link change\n if (inputId) pendingEntityIds.add(inputId)\n if (outputId) pendingEntityIds.add(outputId)\n schedule()\n }\n\n // Subscribe to link events\n // NOTE: backend emits topics like 'link.created' and 'link.deleted'.\n // PubSub supports prefix matching when subscribing.\n token = PubSub.subscribe('link', handlePubSub)\n } catch (e) {\n // cache entry removed before loaded - ignore\n }\n\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n },\n }),\n }),\n})\n\nexport const { useGetEntityLinksQuery } = injectedQueries\nexport { injectedQueries as entityLinksApi }\n"],"names":["entityEndpoints","entityResultPaths","injectedQueries","foldersApi","build","projectName","entityIds","entityType","getState","dispatch","queryCacheKey","forced","state","cacheKey","cacheEntry","_b","_a","cachedData","cachedEntityIds","entity","entityIdsToFetch","id","endpoint","resultPath","_e","_d","_c","gqlLinksApi","node","linkEdge","formatEntityLabel","error","toast","queryArgs","currentArg","previousArg","currentIds","previousIds","currentCache","newItems","cacheMap","item","newItem","result","arg","link","cacheDataLoaded","cacheEntryRemoved","updateCachedData","token","pendingEntityIds","MAX_BATCH","INTERVAL","scheduled","schedule","flush","batchIds","updatedEntities","draft","updatedEntity","idx","err","handlePubSub","_topic","message","inputId","outputId","PubSub","useGetEntityLinksQuery"],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ import "../../generated/desktop.es.js";
|
|
|
14
14
|
import "../../generated/entityLists.es.js";
|
|
15
15
|
import "../../generated/events.es.js";
|
|
16
16
|
import "../../generated/files.es.js";
|
|
17
|
-
import { api as
|
|
17
|
+
import { api as E } from "../../generated/folders.es.js";
|
|
18
18
|
import "../../generated/inbox.es.js";
|
|
19
19
|
import "../../generated/links.es.js";
|
|
20
20
|
import "../../generated/market.es.js";
|
|
@@ -36,89 +36,151 @@ import "../../generated/workfiles.es.js";
|
|
|
36
36
|
import "../../generated/ynputCloud.es.js";
|
|
37
37
|
import "../../generated/grouping.es.js";
|
|
38
38
|
import "../../generated/views.es.js";
|
|
39
|
-
import { formatEntityLabel as
|
|
39
|
+
import { formatEntityLabel as A } from "./utils/formatEntityLinks.es.js";
|
|
40
40
|
import { toast as F } from "react-toastify";
|
|
41
|
-
|
|
41
|
+
import "lodash";
|
|
42
|
+
import "uuid";
|
|
43
|
+
import G from "../../../util/pubsub.es.js";
|
|
44
|
+
const S = {
|
|
42
45
|
folder: "GetFoldersLinks",
|
|
43
46
|
task: "GetTasksLinks",
|
|
44
47
|
product: "GetProductsLinks",
|
|
45
48
|
version: "GetVersionsLinks",
|
|
46
49
|
representation: "GetRepresentationsLinks",
|
|
47
50
|
workfile: "GetWorkfilesLinks"
|
|
48
|
-
},
|
|
51
|
+
}, P = {
|
|
49
52
|
folder: "folders",
|
|
50
53
|
task: "tasks",
|
|
51
54
|
product: "products",
|
|
52
55
|
version: "versions",
|
|
53
56
|
representation: "representations",
|
|
54
57
|
workfile: "workfiles"
|
|
55
|
-
},
|
|
56
|
-
endpoints: (
|
|
57
|
-
getEntityLinks:
|
|
58
|
-
queryFn: async ({ projectName:
|
|
59
|
-
var
|
|
58
|
+
}, M = E.injectEndpoints({
|
|
59
|
+
endpoints: (z) => ({
|
|
60
|
+
getEntityLinks: z.query({
|
|
61
|
+
queryFn: async ({ projectName: e, entityIds: p, entityType: i }, { getState: o, dispatch: l, queryCacheKey: R, forced: T }) => {
|
|
62
|
+
var h, d, w, I, k;
|
|
60
63
|
try {
|
|
61
|
-
const
|
|
62
|
-
if (
|
|
63
|
-
return { data:
|
|
64
|
-
const
|
|
65
|
-
return { data: ((
|
|
66
|
-
v.endpoints[
|
|
67
|
-
{ projectName:
|
|
64
|
+
const y = o(), j = JSON.stringify({ projectName: e, entityType: i }), a = (d = (h = y.restApi) == null ? void 0 : h.queries) == null ? void 0 : d[R || `getEntityLinks(${j})`], m = (a == null ? void 0 : a.data) || [], r = new Set(m.map((n) => n.id)), c = p.filter((n) => !(r != null && r.has(n)) || T);
|
|
65
|
+
if (c.length === 0)
|
|
66
|
+
return { data: m };
|
|
67
|
+
const s = S[i], b = P[i];
|
|
68
|
+
return { data: ((k = (I = (w = (await l(
|
|
69
|
+
v.endpoints[s].initiate(
|
|
70
|
+
{ projectName: e, entityIds: c },
|
|
68
71
|
{ forceRefetch: !0 }
|
|
69
72
|
)
|
|
70
|
-
).unwrap()).project) == null ? void 0 :
|
|
71
|
-
var
|
|
73
|
+
).unwrap()).project) == null ? void 0 : w[b]) == null ? void 0 : I.edges) == null ? void 0 : k.map(({ node: n }) => {
|
|
74
|
+
var u, f;
|
|
72
75
|
return {
|
|
73
|
-
id:
|
|
74
|
-
links: ((
|
|
75
|
-
...
|
|
76
|
+
id: n.id,
|
|
77
|
+
links: ((f = (u = n.links.edges) == null ? void 0 : u.filter((t) => !!(t != null && t.node))) == null ? void 0 : f.map((t) => ({
|
|
78
|
+
...t,
|
|
76
79
|
node: {
|
|
77
|
-
id:
|
|
78
|
-
name:
|
|
79
|
-
label:
|
|
80
|
-
parents:
|
|
81
|
-
subType: "subType" in
|
|
80
|
+
id: t.node.id,
|
|
81
|
+
name: t.node.name,
|
|
82
|
+
label: A(t.node),
|
|
83
|
+
parents: t.node.parents || [],
|
|
84
|
+
subType: "subType" in t.node ? t.node.subType : void 0
|
|
82
85
|
}
|
|
83
86
|
}))) || []
|
|
84
87
|
// Flatten the edges structure
|
|
85
88
|
};
|
|
86
89
|
})) || [] };
|
|
87
|
-
} catch (
|
|
88
|
-
return console.error(`Error in getEntityLinks queryFn for ${
|
|
90
|
+
} catch (y) {
|
|
91
|
+
return console.error(`Error in getEntityLinks queryFn for ${i}:`, y), F.error(`Error fetching ${i} links`), { error: { status: "FETCH_ERROR", error: y.message } };
|
|
89
92
|
}
|
|
90
93
|
},
|
|
91
94
|
// 2. We should not create new caches when the entityIds argument changes.
|
|
92
|
-
serializeQueryArgs: ({ queryArgs:
|
|
95
|
+
serializeQueryArgs: ({ queryArgs: e }) => ({ projectName: e.projectName, entityType: e.entityType }),
|
|
93
96
|
// 3. We should force a refetch every time the entityIds changes.
|
|
94
|
-
forceRefetch: ({ currentArg:
|
|
95
|
-
if (!
|
|
96
|
-
const
|
|
97
|
-
if (
|
|
98
|
-
for (const
|
|
99
|
-
if (!
|
|
97
|
+
forceRefetch: ({ currentArg: e, previousArg: p }) => {
|
|
98
|
+
if (!e || !p) return !0;
|
|
99
|
+
const i = new Set(e.entityIds), o = new Set(p.entityIds);
|
|
100
|
+
if (i.size !== o.size) return !0;
|
|
101
|
+
for (const l of i)
|
|
102
|
+
if (!o.has(l)) return !0;
|
|
100
103
|
return !1;
|
|
101
104
|
},
|
|
102
105
|
// 4. We should merge new entities into the cache ensuring there are no duplicates.
|
|
103
|
-
merge: (
|
|
104
|
-
if (!
|
|
105
|
-
const
|
|
106
|
-
for (const
|
|
107
|
-
|
|
108
|
-
|
|
106
|
+
merge: (e, p) => {
|
|
107
|
+
if (!e) return p;
|
|
108
|
+
const i = new Map(e.map((o) => [o.id, o]));
|
|
109
|
+
for (const o of p)
|
|
110
|
+
i.set(o.id, o);
|
|
111
|
+
e.length = 0, e.push(...i.values());
|
|
109
112
|
},
|
|
110
113
|
// Provide tags for potential invalidation
|
|
111
|
-
providesTags: (
|
|
112
|
-
...
|
|
113
|
-
(
|
|
114
|
+
providesTags: (e, p, i) => e ? [
|
|
115
|
+
...e.flatMap(
|
|
116
|
+
(o) => o.links.map((l) => ({ type: "link", id: l.node.id }))
|
|
114
117
|
),
|
|
115
|
-
{ type: "link", id: `${
|
|
116
|
-
] : [{ type: "link", id: `${
|
|
118
|
+
{ type: "link", id: `${i.projectName}-${i.entityType}` }
|
|
119
|
+
] : [{ type: "link", id: `${i.projectName}-${i.entityType}` }],
|
|
120
|
+
// Subscribe to link.created and link.deleted WebSocket events
|
|
121
|
+
async onCacheEntryAdded({ projectName: e, entityIds: p, entityType: i }, { cacheDataLoaded: o, cacheEntryRemoved: l, updateCachedData: R, dispatch: T }) {
|
|
122
|
+
let h;
|
|
123
|
+
const d = /* @__PURE__ */ new Set(), w = 100, I = 500;
|
|
124
|
+
let k = !1;
|
|
125
|
+
const y = () => {
|
|
126
|
+
k || (k = !0, setTimeout(j, I));
|
|
127
|
+
}, j = async () => {
|
|
128
|
+
var m, r, c;
|
|
129
|
+
if (k = !1, !d.size) return;
|
|
130
|
+
const a = Array.from(d).slice(0, w);
|
|
131
|
+
a.forEach((s) => d.delete(s));
|
|
132
|
+
try {
|
|
133
|
+
const s = S[i], b = P[i], $ = ((c = (r = (m = (await T(
|
|
134
|
+
v.endpoints[s].initiate(
|
|
135
|
+
{ projectName: e, entityIds: a },
|
|
136
|
+
{ forceRefetch: !0 }
|
|
137
|
+
)
|
|
138
|
+
).unwrap()).project) == null ? void 0 : m[b]) == null ? void 0 : r.edges) == null ? void 0 : c.map(({ node: n }) => {
|
|
139
|
+
var u, f;
|
|
140
|
+
return {
|
|
141
|
+
id: n.id,
|
|
142
|
+
links: ((f = (u = n.links.edges) == null ? void 0 : u.filter((t) => !!(t != null && t.node))) == null ? void 0 : f.map((t) => ({
|
|
143
|
+
...t,
|
|
144
|
+
node: {
|
|
145
|
+
id: t.node.id,
|
|
146
|
+
name: t.node.name,
|
|
147
|
+
label: A(t.node),
|
|
148
|
+
parents: t.node.parents || [],
|
|
149
|
+
subType: "subType" in t.node ? t.node.subType : void 0
|
|
150
|
+
}
|
|
151
|
+
}))) || []
|
|
152
|
+
};
|
|
153
|
+
})) || [];
|
|
154
|
+
R((n) => {
|
|
155
|
+
for (const u of $) {
|
|
156
|
+
const f = n.findIndex((t) => t.id === u.id);
|
|
157
|
+
f > -1 ? n[f] = u : n.push(u);
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
} catch (s) {
|
|
161
|
+
console.error("Realtime link batch update failed", s);
|
|
162
|
+
} finally {
|
|
163
|
+
d.size && y();
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
try {
|
|
167
|
+
await o;
|
|
168
|
+
const a = async (m, r) => {
|
|
169
|
+
var b, L;
|
|
170
|
+
if (!m.startsWith("link.created") && !m.startsWith("link.deleted") || (r == null ? void 0 : r.project) !== e) return;
|
|
171
|
+
const c = (b = r == null ? void 0 : r.summary) == null ? void 0 : b.inputId, s = (L = r == null ? void 0 : r.summary) == null ? void 0 : L.outputId;
|
|
172
|
+
!c && !s || (c && d.add(c), s && d.add(s), y());
|
|
173
|
+
};
|
|
174
|
+
h = G.subscribe("link", a);
|
|
175
|
+
} catch {
|
|
176
|
+
}
|
|
177
|
+
await l, h && G.unsubscribe(h);
|
|
178
|
+
}
|
|
117
179
|
})
|
|
118
180
|
})
|
|
119
|
-
}), { useGetEntityLinksQuery:
|
|
181
|
+
}), { useGetEntityLinksQuery: jt } = M;
|
|
120
182
|
export {
|
|
121
|
-
|
|
122
|
-
|
|
183
|
+
M as entityLinksApi,
|
|
184
|
+
jt as useGetEntityLinksQuery
|
|
123
185
|
};
|
|
124
186
|
//# sourceMappingURL=getEntityLinks.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEntityLinks.es.js","sources":["../../../../../../src/api/queries/links/getEntityLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetFoldersLinksQuery,\n GetTasksLinksQuery,\n GetProductsLinksQuery,\n GetVersionsLinksQuery,\n GetRepresentationsLinksQuery,\n GetWorkfilesLinksQuery,\n gqlLinksApi,\n foldersApi,\n} from '@shared/api/generated'\nimport { formatEntityLabel } from './utils/formatEntityLinks'\nimport { toast } from 'react-toastify'\n\n/**\n * Custom queryFn for fetching entity links with optimized caching behavior.\n *\n * Key features:\n * 1. Single cache per project and entity type - different entityIds combinations don't create new caches\n * 2. Skips fetching entities that are already cached\n * 3. Force refetch when entityIds change\n * 4. Merges new entities into cache without duplicates\n * 5. Supports all entity types: folders, tasks, products, versions, representations, workfiles\n */\n\n// Define the arguments for the query\nexport type GetEntityLinksArgs = {\n projectName: string\n entityIds: string[]\n entityType: 'folder' | 'task' | 'product' | 'version' | 'representation' | 'workfile'\n}\n\n// Define link types for each entity\nexport type FolderLink =\n GetFoldersLinksQuery['project']['folders']['edges'][0]['node']['links']['edges'][0]\nexport type TaskLink =\n GetTasksLinksQuery['project']['tasks']['edges'][0]['node']['links']['edges'][0]\nexport type ProductLink =\n GetProductsLinksQuery['project']['products']['edges'][0]['node']['links']['edges'][0]\nexport type VersionLink =\n GetVersionsLinksQuery['project']['versions']['edges'][0]['node']['links']['edges'][0]\nexport type RepresentationLink =\n GetRepresentationsLinksQuery['project']['representations']['edges'][0]['node']['links']['edges'][0]\nexport type WorkfileLink =\n GetWorkfilesLinksQuery['project']['workfiles']['edges'][0]['node']['links']['edges'][0]\n\nexport type EntityLinkQuery =\n | FolderLink\n | TaskLink\n | ProductLink\n | VersionLink\n | RepresentationLink\n | WorkfileLink\nexport type EntityLink = Pick<EntityLinkQuery, 'direction' | 'entityType' | 'id' | 'linkType'> & {\n node: Pick<EntityLinkQuery['node'], 'name' | 'id'> & {\n label?: string | null\n parents: string[]\n subType: string | undefined\n }\n}\n\n// Define the result type for the query - simplified without edges wrapper\nexport type EntityWithLinks = {\n id: string\n links: EntityLink[]\n}\n\nexport type GetEntityLinksResult = EntityWithLinks[]\n\n// Map entity types to their corresponding GraphQL endpoints\nconst entityEndpoints = {\n folder: 'GetFoldersLinks',\n task: 'GetTasksLinks',\n product: 'GetProductsLinks',\n version: 'GetVersionsLinks',\n representation: 'GetRepresentationsLinks',\n workfile: 'GetWorkfilesLinks',\n} as const\n\n// Map entity types to their result path in the GraphQL response\nconst entityResultPaths = {\n folder: 'folders',\n task: 'tasks',\n product: 'products',\n version: 'versions',\n representation: 'representations',\n workfile: 'workfiles',\n} as const\n\nconst injectedQueries = foldersApi.injectEndpoints({\n endpoints: (build) => ({\n getEntityLinks: build.query<GetEntityLinksResult, GetEntityLinksArgs>({\n queryFn: async (\n { projectName, entityIds, entityType },\n { getState, dispatch, queryCacheKey, forced },\n ) => {\n try {\n // Get current state to access cached data\n const state = getState() as any\n const cacheKey = JSON.stringify({ projectName, entityType })\n\n // Access the cache entry for this project and entity type\n const cacheEntry =\n state.restApi?.queries?.[queryCacheKey || `getEntityLinks(${cacheKey})`]\n const cachedData = cacheEntry?.data || []\n\n // 1. When fetching new data for entityIds, we should skip entities that are already in the cache.\n const cachedEntityIds = new Set(cachedData.map((entity: EntityWithLinks) => entity.id))\n const entityIdsToFetch = entityIds.filter((id) => !cachedEntityIds?.has(id) || forced)\n\n // If all entities are already cached, return the cached data\n if (entityIdsToFetch.length === 0) {\n return { data: cachedData }\n }\n\n // Get the appropriate endpoint and parameter names\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n // Fetch only the entities that aren't already cached\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: entityIdsToFetch },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const newEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => ({\n id: node.id,\n links:\n node.links.edges\n ?.filter((e: EntityLinkQuery | null) => !!e?.node)\n ?.map((linkEdge: EntityLinkQuery) => ({\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n })) || [], // Flatten the edges structure\n })) || []\n\n // Return the new entities - the merge function will handle combining with existing cache\n return { data: newEntities }\n } catch (error: any) {\n console.error(`Error in getEntityLinks queryFn for ${entityType}:`, error)\n toast.error(`Error fetching ${entityType} links`)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n // 2. We should not create new caches when the entityIds argument changes.\n serializeQueryArgs: ({ queryArgs }) => {\n // Use only projectName and entityType for the cache key, ignoring entityIds\n return { projectName: queryArgs.projectName, entityType: queryArgs.entityType }\n },\n // 3. We should force a refetch every time the entityIds changes.\n forceRefetch: ({ currentArg, previousArg }) => {\n // Force refetch if entityIds array is different\n if (!currentArg || !previousArg) return true\n\n // Compare arrays by converting to sets\n const currentIds = new Set(currentArg.entityIds)\n const previousIds = new Set(previousArg.entityIds)\n\n if (currentIds.size !== previousIds.size) return true\n\n // Check if any IDs are different\n for (const id of currentIds) {\n if (!previousIds.has(id)) return true\n }\n\n return false\n },\n // 4. We should merge new entities into the cache ensuring there are no duplicates.\n merge: (currentCache, newItems) => {\n if (!currentCache) return newItems\n\n const cacheMap = new Map(currentCache.map((item) => [item.id, item]))\n for (const newItem of newItems) {\n cacheMap.set(newItem.id, newItem) // Overwrite if exists, add if not\n }\n // Update currentCache in-place\n currentCache.length = 0\n currentCache.push(...cacheMap.values())\n },\n // Provide tags for potential invalidation\n providesTags: (result, error, arg) =>\n result\n ? [\n ...result.flatMap((entity) =>\n entity.links.map((link) => ({ type: 'link', id: link.node.id })),\n ),\n { type: 'link', id: `${arg.projectName}-${arg.entityType}` },\n ]\n : [{ type: 'link', id: `${arg.projectName}-${arg.entityType}` }],\n }),\n }),\n})\n\nexport const { useGetEntityLinksQuery } = injectedQueries\nexport { injectedQueries as entityLinksApi }\n"],"names":["entityEndpoints","entityResultPaths","injectedQueries","foldersApi","build","projectName","entityIds","entityType","getState","dispatch","queryCacheKey","forced","state","cacheKey","cacheEntry","_b","_a","cachedData","cachedEntityIds","entity","entityIdsToFetch","id","endpoint","resultPath","_e","_d","_c","gqlLinksApi","node","e","linkEdge","formatEntityLabel","error","toast","queryArgs","currentArg","previousArg","currentIds","previousIds","currentCache","newItems","cacheMap","item","newItem","result","arg","link","useGetEntityLinksQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getEntityLinks.es.js","sources":["../../../../../../src/api/queries/links/getEntityLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetFoldersLinksQuery,\n GetTasksLinksQuery,\n GetProductsLinksQuery,\n GetVersionsLinksQuery,\n GetRepresentationsLinksQuery,\n GetWorkfilesLinksQuery,\n gqlLinksApi,\n foldersApi,\n} from '@shared/api/generated'\nimport { formatEntityLabel } from './utils/formatEntityLinks'\nimport { toast } from 'react-toastify'\nimport { PubSub } from '@shared/util'\n\n/**\n * Custom queryFn for fetching entity links with optimized caching behavior.\n *\n * Key features:\n * 1. Single cache per project and entity type - different entityIds combinations don't create new caches\n * 2. Skips fetching entities that are already cached\n * 3. Force refetch when entityIds change\n * 4. Merges new entities into cache without duplicates\n * 5. Supports all entity types: folders, tasks, products, versions, representations, workfiles\n */\n\n// Define the arguments for the query\nexport type GetEntityLinksArgs = {\n projectName: string\n entityIds: string[]\n entityType: 'folder' | 'task' | 'product' | 'version' | 'representation' | 'workfile'\n}\n\n// Define link types for each entity\nexport type FolderLink =\n GetFoldersLinksQuery['project']['folders']['edges'][0]['node']['links']['edges'][0]\nexport type TaskLink =\n GetTasksLinksQuery['project']['tasks']['edges'][0]['node']['links']['edges'][0]\nexport type ProductLink =\n GetProductsLinksQuery['project']['products']['edges'][0]['node']['links']['edges'][0]\nexport type VersionLink =\n GetVersionsLinksQuery['project']['versions']['edges'][0]['node']['links']['edges'][0]\nexport type RepresentationLink =\n GetRepresentationsLinksQuery['project']['representations']['edges'][0]['node']['links']['edges'][0]\nexport type WorkfileLink =\n GetWorkfilesLinksQuery['project']['workfiles']['edges'][0]['node']['links']['edges'][0]\n\nexport type EntityLinkQuery =\n | FolderLink\n | TaskLink\n | ProductLink\n | VersionLink\n | RepresentationLink\n | WorkfileLink\nexport type EntityLink = Pick<EntityLinkQuery, 'direction' | 'entityType' | 'id' | 'linkType'> & {\n node: Pick<EntityLinkQuery['node'], 'name' | 'id'> & {\n label?: string | null\n parents: string[]\n subType: string | undefined\n }\n}\n\n// Define the result type for the query - simplified without edges wrapper\nexport type EntityWithLinks = {\n id: string\n links: EntityLink[]\n}\n\nexport type GetEntityLinksResult = EntityWithLinks[]\n\n// Map entity types to their corresponding GraphQL endpoints\nconst entityEndpoints = {\n folder: 'GetFoldersLinks',\n task: 'GetTasksLinks',\n product: 'GetProductsLinks',\n version: 'GetVersionsLinks',\n representation: 'GetRepresentationsLinks',\n workfile: 'GetWorkfilesLinks',\n} as const\n\n// Map entity types to their result path in the GraphQL response\nconst entityResultPaths = {\n folder: 'folders',\n task: 'tasks',\n product: 'products',\n version: 'versions',\n representation: 'representations',\n workfile: 'workfiles',\n} as const\n\nconst injectedQueries = foldersApi.injectEndpoints({\n endpoints: (build) => ({\n getEntityLinks: build.query<GetEntityLinksResult, GetEntityLinksArgs>({\n queryFn: async (\n { projectName, entityIds, entityType },\n { getState, dispatch, queryCacheKey, forced },\n ) => {\n try {\n // Get current state to access cached data\n const state = getState() as any\n const cacheKey = JSON.stringify({ projectName, entityType })\n\n // Access the cache entry for this project and entity type\n const cacheEntry =\n state.restApi?.queries?.[queryCacheKey || `getEntityLinks(${cacheKey})`]\n const cachedData = cacheEntry?.data || []\n\n // 1. When fetching new data for entityIds, we should skip entities that are already in the cache.\n const cachedEntityIds = new Set(cachedData.map((entity: EntityWithLinks) => entity.id))\n const entityIdsToFetch = entityIds.filter((id) => !cachedEntityIds?.has(id) || forced)\n\n // If all entities are already cached, return the cached data\n if (entityIdsToFetch.length === 0) {\n return { data: cachedData }\n }\n\n // Get the appropriate endpoint and parameter names\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n // Fetch only the entities that aren't already cached\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: entityIdsToFetch },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const newEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => ({\n id: node.id,\n links:\n node.links.edges\n ?.filter((e: EntityLinkQuery | null) => !!e?.node)\n ?.map((linkEdge: EntityLinkQuery) => ({\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n })) || [], // Flatten the edges structure\n })) || []\n\n // Return the new entities - the merge function will handle combining with existing cache\n return { data: newEntities }\n } catch (error: any) {\n console.error(`Error in getEntityLinks queryFn for ${entityType}:`, error)\n toast.error(`Error fetching ${entityType} links`)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n // 2. We should not create new caches when the entityIds argument changes.\n serializeQueryArgs: ({ queryArgs }) => {\n // Use only projectName and entityType for the cache key, ignoring entityIds\n return { projectName: queryArgs.projectName, entityType: queryArgs.entityType }\n },\n // 3. We should force a refetch every time the entityIds changes.\n forceRefetch: ({ currentArg, previousArg }) => {\n // Force refetch if entityIds array is different\n if (!currentArg || !previousArg) return true\n\n // Compare arrays by converting to sets\n const currentIds = new Set(currentArg.entityIds)\n const previousIds = new Set(previousArg.entityIds)\n\n if (currentIds.size !== previousIds.size) return true\n\n // Check if any IDs are different\n for (const id of currentIds) {\n if (!previousIds.has(id)) return true\n }\n\n return false\n },\n // 4. We should merge new entities into the cache ensuring there are no duplicates.\n merge: (currentCache, newItems) => {\n if (!currentCache) return newItems\n\n const cacheMap = new Map(currentCache.map((item) => [item.id, item]))\n for (const newItem of newItems) {\n cacheMap.set(newItem.id, newItem) // Overwrite if exists, add if not\n }\n // Update currentCache in-place\n currentCache.length = 0\n currentCache.push(...cacheMap.values())\n },\n // Provide tags for potential invalidation\n providesTags: (result, error, arg) =>\n result\n ? [\n ...result.flatMap((entity) =>\n entity.links.map((link) => ({ type: 'link', id: link.node.id })),\n ),\n { type: 'link', id: `${arg.projectName}-${arg.entityType}` },\n ]\n : [{ type: 'link', id: `${arg.projectName}-${arg.entityType}` }],\n // Subscribe to link.created and link.deleted WebSocket events\n async onCacheEntryAdded(\n { projectName, entityIds, entityType },\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData, dispatch },\n ) {\n let token: any\n const pendingEntityIds = new Set<string>()\n const MAX_BATCH = 100\n const INTERVAL = 500\n let scheduled = false\n\n const schedule = () => {\n if (scheduled) return\n scheduled = true\n setTimeout(flush, INTERVAL)\n }\n\n const flush = async () => {\n scheduled = false\n if (!pendingEntityIds.size) return\n const batchIds = Array.from(pendingEntityIds).slice(0, MAX_BATCH)\n batchIds.forEach((id) => pendingEntityIds.delete(id))\n\n try {\n // Get the appropriate endpoint and parameter names\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n // Fetch fresh data for the affected entities\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: batchIds },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const updatedEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => ({\n id: node.id,\n links:\n node.links.edges\n ?.filter((e: EntityLinkQuery | null) => !!e?.node)\n ?.map((linkEdge: EntityLinkQuery) => ({\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n })) || [],\n })) || []\n\n updateCachedData((draft: EntityWithLinks[]) => {\n for (const updatedEntity of updatedEntities) {\n const idx = draft.findIndex((entity) => entity.id === updatedEntity.id)\n if (idx > -1) {\n // Update existing entity's links\n draft[idx] = updatedEntity\n } else {\n // Add new entity if not in cache\n draft.push(updatedEntity)\n }\n }\n })\n } catch (err) {\n console.error('Realtime link batch update failed', err)\n } finally {\n if (pendingEntityIds.size) schedule()\n }\n }\n\n try {\n await cacheDataLoaded\n\n const handlePubSub = async (_topic: string, message: any) => {\n // Only react to link.created and link.deleted events for this project\n if (!_topic.startsWith('link.created') && !_topic.startsWith('link.deleted')) return\n if (message?.project !== projectName) return\n\n // Link events have inputId and outputId in the summary (both entities affected by the link)\n const inputId = message?.summary?.inputId\n const outputId = message?.summary?.outputId\n if (!inputId && !outputId) return\n\n // Add both entities to pending list since both are affected by the link change\n if (inputId) pendingEntityIds.add(inputId)\n if (outputId) pendingEntityIds.add(outputId)\n schedule()\n }\n\n // Subscribe to link events\n // NOTE: backend emits topics like 'link.created' and 'link.deleted'.\n // PubSub supports prefix matching when subscribing.\n token = PubSub.subscribe('link', handlePubSub)\n } catch (e) {\n // cache entry removed before loaded - ignore\n }\n\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n },\n }),\n }),\n})\n\nexport const { useGetEntityLinksQuery } = injectedQueries\nexport { injectedQueries as entityLinksApi }\n"],"names":["entityEndpoints","entityResultPaths","injectedQueries","foldersApi","build","projectName","entityIds","entityType","getState","dispatch","queryCacheKey","forced","state","cacheKey","cacheEntry","_b","_a","cachedData","cachedEntityIds","entity","entityIdsToFetch","id","endpoint","resultPath","_e","_d","_c","gqlLinksApi","node","e","linkEdge","formatEntityLabel","error","toast","queryArgs","currentArg","previousArg","currentIds","previousIds","currentCache","newItems","cacheMap","item","newItem","result","arg","link","cacheDataLoaded","cacheEntryRemoved","updateCachedData","token","pendingEntityIds","MAX_BATCH","INTERVAL","scheduled","schedule","flush","batchIds","updatedEntities","draft","updatedEntity","idx","err","handlePubSub","_topic","message","inputId","outputId","PubSub","useGetEntityLinksQuery"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");const s=require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");require("lodash");require("react-toastify");require("uuid");const I=require("../../../util/pubsub.cjs.js"),E=50,m=s.api.injectEndpoints({endpoints:N=>({getSearchedEntitiesLinks:N.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:(d,h,i)=>{const n=d.pageInfo;if(!(!n.hasNextPage||!n.endCursor))return{cursor:n.endCursor}}},providesTags:[{type:"linkSearchItem",id:"LIST"}],queryFn:async({queryArg:d,pageParam:h},i)=>{var n;try{const{projectName:a,entityType:u,search:y,parentIds:e}=d,{cursor:b}=h,r={projectName:a,first:E};b&&(r.after=b),r.search=y||"",r.parentIds=e;let t;switch(u){case"folder":t=await i.dispatch(s.api.endpoints.GetSearchedFolders.initiate(r,{forceRefetch:!0})).unwrap();break;case"product":t=await i.dispatch(s.api.endpoints.GetSearchedProducts.initiate(r,{forceRefetch:!0})).unwrap();break;case"task":t=await i.dispatch(s.api.endpoints.GetSearchedTasks.initiate(r,{forceRefetch:!0})).unwrap();break;case"version":t=await i.dispatch(s.api.endpoints.GetSearchedVersions.initiate(r,{forceRefetch:!0})).unwrap();break;case"representation":t=await i.dispatch(s.api.endpoints.GetSearchedRepresentations.initiate(r,{forceRefetch:!0})).unwrap();break;case"workfile":t=await i.dispatch(s.api.endpoints.GetSearchedWorkfiles.initiate(r,{forceRefetch:!0})).unwrap();break;default:throw new Error(`Unsupported entity type: ${u}`)}const l=t.project;if(!l)throw new Error("No project data returned");const q=l[u+"s"],S=(n=q==null?void 0:q.edges)==null?void 0:n.map(({node:o})=>{switch(u){case"task":const c=o;return{entityType:"task",id:c.id,name:c.name,label:c.label||c.name,parents:c.parents||[],subType:c.subType};case"folder":const p=o;return{entityType:"folder",id:p.id,name:p.name,label:p.label||p.name,parents:p.parents||[],subType:p.subType};case"product":const f=o;return{entityType:"product",id:f.id,name:f.name,label:f.name,parents:f.parents||[],subType:f.subType};case"version":const T=o;return{entityType:"version",id:T.id,name:T.name,label:T.name,parents:T.parents||[]};case"representation":const k=o;return{entityType:"representation",id:k.id,name:k.name,label:k.name,parents:k.parents||[]};case"workfile":const w=o;return{entityType:"workfile",id:w.id,name:w.name,label:w.name,parents:w.parents||[]};default:return null}}).filter(Boolean);if(!q)throw new Error(`No ${u} data returned`);return{data:{pageInfo:q.pageInfo,entities:S}}}catch(a){return console.error("Error in getSearchedEntitiesLinks queryFn:",a),{error:{status:"FETCH_ERROR",error:a.message}}}},async onCacheEntryAdded({projectName:d},{cacheDataLoaded:h,cacheEntryRemoved:i,dispatch:n}){let a;try{await h;const u=async(y,e)=>{var t,l;if(!y.startsWith("link.created")&&!y.startsWith("link.deleted")||(e==null?void 0:e.project)!==d)return;const b=(t=e==null?void 0:e.summary)==null?void 0:t.inputId,r=(l=e==null?void 0:e.summary)==null?void 0:l.outputId;!b&&!r||n(s.api.util.invalidateTags([{type:"linkSearchItem",id:"LIST"}]))};a=I.subscribe("link",u)}catch{}await i,a&&I.unsubscribe(a)}})})}),{useGetSearchedEntitiesLinksInfiniteQuery:R}=m;exports.ENTITIES_INFINITE_QUERY_COUNT=E;exports.useGetSearchedEntitiesLinksInfiniteQuery=R;
|
|
2
2
|
//# sourceMappingURL=getLinks.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLinks.cjs.js","sources":["../../../../../../src/api/queries/links/getLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetSearchedFoldersQuery,\n GetSearchedProductsQuery,\n GetSearchedRepresentationsQuery,\n GetSearchedTasksQuery,\n GetSearchedVersionsQuery,\n GetSearchedWorkfilesQuery,\n gqlLinksApi,\n} from '@shared/api/generated'\n\nexport const ENTITIES_INFINITE_QUERY_COUNT = 50 // Number of items to fetch per page\n\n// Define page param type for infinite query\ntype EntitySearchPageParam = {\n cursor: string\n}\n\nexport type SearchEntityLink = {\n id: string\n name: string\n entityType: string\n parents: string[]\n label: string\n icon: string | undefined\n subType: string | undefined\n}\n\nexport type GetSearchedEntitiesLinksResult = {\n pageInfo: any\n entities: SearchEntityLink[]\n}\n\nexport type GetSearchedEntitiesLinksArgs = {\n projectName: string\n entityType: string // 'folder' | 'product' | 'version' | 'task' | 'representation' | 'workfile'\n search?: string\n parentIds?: string[] // Optional parent IDs to filter entities\n sortBy?: string\n}\n\ntype GetSearchedEntity =\n | GetSearchedTasksQuery\n | GetSearchedFoldersQuery\n | GetSearchedProductsQuery\n | GetSearchedVersionsQuery\n | GetSearchedRepresentationsQuery\n | GetSearchedWorkfilesQuery\ntype SearchedTaskNode = GetSearchedTasksQuery['project']['tasks']['edges'][0]['node']\ntype SearchedFolderNode = GetSearchedFoldersQuery['project']['folders']['edges'][0]['node']\ntype SearchedProductNode = GetSearchedProductsQuery['project']['products']['edges'][0]['node']\ntype SearchedVersionNode = GetSearchedVersionsQuery['project']['versions']['edges'][0]['node']\ntype SearchedRepresentationNode =\n GetSearchedRepresentationsQuery['project']['representations']['edges'][0]['node']\ntype SearchedWorkfileNode = GetSearchedWorkfilesQuery['project']['workfiles']['edges'][0]['node']\n\nconst injectedQueries = gqlLinksApi.injectEndpoints({\n endpoints: (build) => ({\n getSearchedEntitiesLinks: build.infiniteQuery<\n GetSearchedEntitiesLinksResult,\n GetSearchedEntitiesLinksArgs,\n EntitySearchPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage, _allPages, lastPageParam) => {\n const pageInfo = lastPage.pageInfo\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n return { cursor: pageInfo.endCursor }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { projectName, entityType, search, parentIds } = queryArg\n const { cursor } = pageParam\n\n // Build query variables\n const variables: any = {\n projectName,\n first: ENTITIES_INFINITE_QUERY_COUNT,\n }\n\n // Add cursor-based pagination\n if (cursor) {\n variables.after = cursor\n }\n\n variables.search = search || ''\n variables.parentIds = parentIds\n\n let result: GetSearchedEntity\n // Use the appropriate generated query based on entity type\n switch (entityType) {\n case 'folder':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedFolders.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'product':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedProducts.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'task':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedTasks.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'version':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedVersions.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'representation':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedRepresentations.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'workfile':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedWorkfiles.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n default:\n throw new Error(`Unsupported entity type: ${entityType}`)\n }\n\n const projectData = result.project\n if (!projectData) {\n throw new Error('No project data returned')\n }\n\n // @ts-expect-error - TypeScript doesn't know the structure of projectData\n const entityData = projectData[entityType + 's']\n\n // Transform entity data to search link format\n const entities: SearchEntityLink[] = entityData?.edges\n ?.map(({ node }: any) => {\n switch (entityType) {\n case 'task':\n const taskNode = node as SearchedTaskNode\n return {\n entityType: 'task',\n id: taskNode.id,\n name: taskNode.name,\n label: taskNode.label || taskNode.name,\n parents: taskNode.parents || [],\n subType: taskNode.subType,\n }\n case 'folder':\n const folderNode = node as SearchedFolderNode\n return {\n entityType: 'folder',\n id: folderNode.id,\n name: folderNode.name,\n label: folderNode.label || folderNode.name,\n parents: folderNode.parents || [],\n subType: folderNode.subType,\n }\n case 'product':\n const productNode = node as SearchedProductNode\n return {\n entityType: 'product',\n id: productNode.id,\n name: productNode.name,\n label: productNode.name,\n parents: productNode.parents || [],\n subType: productNode.subType,\n }\n case 'version':\n const versionNode = node as SearchedVersionNode\n return {\n entityType: 'version',\n id: versionNode.id,\n name: versionNode.name,\n label: versionNode.name,\n parents: versionNode.parents || [],\n }\n case 'representation':\n const representationNode = node as SearchedRepresentationNode\n return {\n entityType: 'representation',\n id: representationNode.id,\n name: representationNode.name,\n label: representationNode.name,\n parents: representationNode.parents || [],\n }\n case 'workfile':\n const workfileNode = node as SearchedWorkfileNode\n return {\n entityType: 'workfile',\n id: workfileNode.id,\n name: workfileNode.name,\n label: workfileNode.name,\n parents: workfileNode.parents || [],\n }\n default:\n return null\n }\n })\n .filter(Boolean) as SearchEntityLink[] // Remove nulls, ensure correct type\n\n if (!entityData) {\n throw new Error(`No ${entityType} data returned`)\n }\n\n return {\n data: {\n pageInfo: entityData.pageInfo,\n entities: entities,\n },\n }\n } catch (error: any) {\n console.error('Error in getSearchedEntitiesLinks queryFn:', error)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n }),\n }),\n})\n\nexport const { useGetSearchedEntitiesLinksInfiniteQuery } = injectedQueries\n"],"names":["ENTITIES_INFINITE_QUERY_COUNT","injectedQueries","gqlLinksApi","build","lastPage","_allPages","lastPageParam","pageInfo","queryArg","pageParam","api","projectName","entityType","search","parentIds","cursor","variables","result","projectData","entityData","entities","_a","node","taskNode","folderNode","productNode","versionNode","representationNode","workfileNode","error","useGetSearchedEntitiesLinksInfiniteQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getLinks.cjs.js","sources":["../../../../../../src/api/queries/links/getLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetSearchedFoldersQuery,\n GetSearchedProductsQuery,\n GetSearchedRepresentationsQuery,\n GetSearchedTasksQuery,\n GetSearchedVersionsQuery,\n GetSearchedWorkfilesQuery,\n gqlLinksApi,\n} from '@shared/api/generated'\nimport { PubSub } from '@shared/util'\n\nexport const ENTITIES_INFINITE_QUERY_COUNT = 50 // Number of items to fetch per page\n\n// Define page param type for infinite query\ntype EntitySearchPageParam = {\n cursor: string\n}\n\nexport type SearchEntityLink = {\n id: string\n name: string\n entityType: string\n parents: string[]\n label: string\n icon: string | undefined\n subType: string | undefined\n}\n\nexport type GetSearchedEntitiesLinksResult = {\n pageInfo: any\n entities: SearchEntityLink[]\n}\n\nexport type GetSearchedEntitiesLinksArgs = {\n projectName: string\n entityType: string // 'folder' | 'product' | 'version' | 'task' | 'representation' | 'workfile'\n search?: string\n parentIds?: string[] // Optional parent IDs to filter entities\n sortBy?: string\n}\n\ntype GetSearchedEntity =\n | GetSearchedTasksQuery\n | GetSearchedFoldersQuery\n | GetSearchedProductsQuery\n | GetSearchedVersionsQuery\n | GetSearchedRepresentationsQuery\n | GetSearchedWorkfilesQuery\ntype SearchedTaskNode = GetSearchedTasksQuery['project']['tasks']['edges'][0]['node']\ntype SearchedFolderNode = GetSearchedFoldersQuery['project']['folders']['edges'][0]['node']\ntype SearchedProductNode = GetSearchedProductsQuery['project']['products']['edges'][0]['node']\ntype SearchedVersionNode = GetSearchedVersionsQuery['project']['versions']['edges'][0]['node']\ntype SearchedRepresentationNode =\n GetSearchedRepresentationsQuery['project']['representations']['edges'][0]['node']\ntype SearchedWorkfileNode = GetSearchedWorkfilesQuery['project']['workfiles']['edges'][0]['node']\n\nconst injectedQueries = gqlLinksApi.injectEndpoints({\n endpoints: (build) => ({\n getSearchedEntitiesLinks: build.infiniteQuery<\n GetSearchedEntitiesLinksResult,\n GetSearchedEntitiesLinksArgs,\n EntitySearchPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage, _allPages, lastPageParam) => {\n const pageInfo = lastPage.pageInfo\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n return { cursor: pageInfo.endCursor }\n },\n },\n providesTags: [{ type: 'linkSearchItem', id: 'LIST' }],\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { projectName, entityType, search, parentIds } = queryArg\n const { cursor } = pageParam\n\n // Build query variables\n const variables: any = {\n projectName,\n first: ENTITIES_INFINITE_QUERY_COUNT,\n }\n\n // Add cursor-based pagination\n if (cursor) {\n variables.after = cursor\n }\n\n variables.search = search || ''\n variables.parentIds = parentIds\n\n let result: GetSearchedEntity\n // Use the appropriate generated query based on entity type\n switch (entityType) {\n case 'folder':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedFolders.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'product':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedProducts.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'task':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedTasks.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'version':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedVersions.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'representation':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedRepresentations.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'workfile':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedWorkfiles.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n default:\n throw new Error(`Unsupported entity type: ${entityType}`)\n }\n\n const projectData = result.project\n if (!projectData) {\n throw new Error('No project data returned')\n }\n\n // @ts-expect-error - TypeScript doesn't know the structure of projectData\n const entityData = projectData[entityType + 's']\n\n // Transform entity data to search link format\n const entities: SearchEntityLink[] = entityData?.edges\n ?.map(({ node }: any) => {\n switch (entityType) {\n case 'task':\n const taskNode = node as SearchedTaskNode\n return {\n entityType: 'task',\n id: taskNode.id,\n name: taskNode.name,\n label: taskNode.label || taskNode.name,\n parents: taskNode.parents || [],\n subType: taskNode.subType,\n }\n case 'folder':\n const folderNode = node as SearchedFolderNode\n return {\n entityType: 'folder',\n id: folderNode.id,\n name: folderNode.name,\n label: folderNode.label || folderNode.name,\n parents: folderNode.parents || [],\n subType: folderNode.subType,\n }\n case 'product':\n const productNode = node as SearchedProductNode\n return {\n entityType: 'product',\n id: productNode.id,\n name: productNode.name,\n label: productNode.name,\n parents: productNode.parents || [],\n subType: productNode.subType,\n }\n case 'version':\n const versionNode = node as SearchedVersionNode\n return {\n entityType: 'version',\n id: versionNode.id,\n name: versionNode.name,\n label: versionNode.name,\n parents: versionNode.parents || [],\n }\n case 'representation':\n const representationNode = node as SearchedRepresentationNode\n return {\n entityType: 'representation',\n id: representationNode.id,\n name: representationNode.name,\n label: representationNode.name,\n parents: representationNode.parents || [],\n }\n case 'workfile':\n const workfileNode = node as SearchedWorkfileNode\n return {\n entityType: 'workfile',\n id: workfileNode.id,\n name: workfileNode.name,\n label: workfileNode.name,\n parents: workfileNode.parents || [],\n }\n default:\n return null\n }\n })\n .filter(Boolean) as SearchEntityLink[] // Remove nulls, ensure correct type\n\n if (!entityData) {\n throw new Error(`No ${entityType} data returned`)\n }\n\n return {\n data: {\n pageInfo: entityData.pageInfo,\n entities: entities,\n },\n }\n } catch (error: any) {\n console.error('Error in getSearchedEntitiesLinks queryFn:', error)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n // Subscribe to link.created and link.deleted WebSocket events\n async onCacheEntryAdded(\n { projectName },\n { cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token: any\n\n try {\n await cacheDataLoaded\n\n const handlePubSub = async (_topic: string, message: any) => {\n // Only react to link.created and link.deleted events for this project\n if (!_topic.startsWith('link.created') && !_topic.startsWith('link.deleted')) return\n if (message?.project !== projectName) return\n\n // Link events have inputId and outputId in the summary\n const inputId = message?.summary?.inputId\n const outputId = message?.summary?.outputId\n if (!inputId && !outputId) return\n\n // Invalidate the search query cache when a link is created or deleted\n // This ensures the search results are fresh and don't show stale data\n dispatch(\n gqlLinksApi.util.invalidateTags([{ type: 'linkSearchItem', id: 'LIST' }]),\n )\n }\n\n // Subscribe to link events\n // NOTE: backend emits topics like 'link.created' and 'link.deleted'.\n // PubSub supports prefix matching when subscribing.\n token = PubSub.subscribe('link', handlePubSub)\n } catch (e) {\n // cache entry removed before loaded - ignore\n }\n\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n },\n }),\n }),\n})\n\nexport const { useGetSearchedEntitiesLinksInfiniteQuery } = injectedQueries\n"],"names":["ENTITIES_INFINITE_QUERY_COUNT","injectedQueries","gqlLinksApi","build","lastPage","_allPages","lastPageParam","pageInfo","queryArg","pageParam","api","projectName","entityType","search","parentIds","cursor","variables","result","projectData","entityData","entities","_a","node","taskNode","folderNode","productNode","versionNode","representationNode","workfileNode","error","cacheDataLoaded","cacheEntryRemoved","dispatch","token","handlePubSub","_topic","message","inputId","outputId","_b","PubSub","useGetSearchedEntitiesLinksInfiniteQuery"],"mappings":"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"}
|