@ynput/ayon-frontend-shared 0.3.48 → 0.3.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +25 -24
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +230 -229
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +30 -27
- package/dist/Slicer.es.js.map +1 -1
- package/dist/_virtual/index.cjs10.js +1 -1
- package/dist/_virtual/index.cjs11.js +1 -1
- package/dist/_virtual/index.cjs12.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.cjs7.js +1 -1
- package/dist/_virtual/index.cjs9.js +1 -1
- package/dist/_virtual/index.es10.js +5 -2
- package/dist/_virtual/index.es10.js.map +1 -1
- package/dist/_virtual/index.es11.js +5 -2
- package/dist/_virtual/index.es11.js.map +1 -1
- package/dist/_virtual/index.es12.js +5 -2
- package/dist/_virtual/index.es12.js.map +1 -1
- package/dist/_virtual/index.es4.js +5 -2
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es5.js +2 -5
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/_virtual/index.es6.js +5 -2
- package/dist/_virtual/index.es6.js.map +1 -1
- package/dist/_virtual/index.es7.js +2 -2
- package/dist/_virtual/index.es9.js +2 -2
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +178 -174
- package/dist/components.es.js.map +1 -1
- package/dist/context.cjs.js +1 -1
- package/dist/context.es.js +52 -46
- package/dist/context.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +12 -11
- package/dist/index.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.cjs.js.map +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 +1 -1
- package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +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.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.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/shared/node_modules/@module-federation/error-codes/dist/browser.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/browser.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/browser.es.js +4 -13
- package/dist/shared/node_modules/@module-federation/error-codes/dist/browser.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/desc.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/desc.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/desc.es.js +22 -30
- package/dist/shared/node_modules/@module-federation/error-codes/dist/desc.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/error-codes.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/error-codes.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/error-codes.es.js +16 -9
- package/dist/shared/node_modules/@module-federation/error-codes/dist/error-codes.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/getShortErrorMsg.cjs.js +3 -3
- package/dist/shared/node_modules/@module-federation/error-codes/dist/getShortErrorMsg.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/getShortErrorMsg.es.js +6 -13
- package/dist/shared/node_modules/@module-federation/error-codes/dist/getShortErrorMsg.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +16 -76
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/constant.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/constant.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/constant.es.js +3 -9
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/constant.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/core.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/core.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/core.es.js +125 -135
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/core.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/global.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/global.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/global.es.js +92 -102
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/global.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +11 -42
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +2 -2
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +216 -96
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.es.js +127 -137
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.es.js +172 -158
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.es.js +10 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +56 -59
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/disabled.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/disabled.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/disabled.es.js +34 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/disabled.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +347 -226
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/disabled.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/disabled.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/disabled.es.js +29 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/disabled.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +297 -207
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/context.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/context.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/context.es.js +33 -40
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/context.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/env.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/env.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/env.es.js +3 -10
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/env.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.es.js +13 -21
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.es.js +29 -36
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.es.js +24 -33
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.es.js +28 -34
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.es.js +29 -35
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/load.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/load.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/load.es.js +182 -156
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/load.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/logger.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/logger.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/logger.es.js +19 -24
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/logger.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/manifest.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/manifest.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/manifest.es.js +39 -41
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/manifest.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/plugin.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/plugin.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/plugin.es.js +18 -26
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/plugin.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/preload.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/preload.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/preload.es.js +189 -135
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/preload.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/compare.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/compare.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/compare.es.js +38 -45
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/compare.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/constants.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/constants.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/constants.es.js +11 -9
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/constants.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +55 -63
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/parser.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/parser.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/parser.es.js +40 -40
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/parser.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js +21 -25
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/share.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/share.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/share.es.js +197 -200
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/share.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/tool.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/tool.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/tool.es.js +51 -64
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/tool.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/constant.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/constant.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/constant.es.js +8 -33
- package/dist/shared/node_modules/@module-federation/sdk/dist/constant.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/dom.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/dom.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/dom.es.js +132 -120
- package/dist/shared/node_modules/@module-federation/sdk/dist/dom.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/env.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/env.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/env.es.js +20 -27
- package/dist/shared/node_modules/@module-federation/sdk/dist/env.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.es.js +71 -102
- package/dist/shared/node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/logger.cjs.js +4 -4
- package/dist/shared/node_modules/@module-federation/sdk/dist/logger.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/logger.es.js +99 -114
- package/dist/shared/node_modules/@module-federation/sdk/dist/logger.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/node.cjs.js +2 -2
- package/dist/shared/node_modules/@module-federation/sdk/dist/node.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/node.es.js +120 -88
- package/dist/shared/node_modules/@module-federation/sdk/dist/node.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.es.js +21 -78
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.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.cjs.js.map +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.cjs.js.map +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/generated/graphql.cjs.js +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +1 -1
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +1 -1
- package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/columnStats.es.js +56 -44
- package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/groupCounts.cjs.js +1 -1
- package/dist/shared/src/api/queries/columnStats/groupCounts.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/groupCounts.es.js +10 -8
- package/dist/shared/src/api/queries/columnStats/groupCounts.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/patchProducts.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/patchProducts.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/patchProducts.es.js +61 -29
- package/dist/shared/src/api/queries/overview/patchProducts.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.es.js +16 -15
- package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +232 -227
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +5 -4
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js +10 -0
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js.map +1 -0
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js +158 -0
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +5 -4
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +5 -4
- 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 +5 -4
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.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 +5 -4
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +5 -4
- package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +5 -4
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +5 -4
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.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 +5 -4
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +9 -8
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.es.js +5 -4
- package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +5 -4
- 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 +5 -4
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +5 -4
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.es.js +5 -4
- package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.es.js +3 -2
- package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.es.js +5 -4
- package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +5 -4
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +5 -4
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +5 -4
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +7 -6
- 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 +5 -4
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +5 -4
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +5 -4
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +5 -4
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +5 -4
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -5
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +5 -4
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +5 -4
- package/dist/shared/src/components/ReviewablesSelector/Card.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 +9 -8
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +5 -4
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +7 -6
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +5 -4
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +4 -3
- package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -1
- package/dist/shared/src/components/SyncButton/SyncButton.es.js +20 -18
- package/dist/shared/src/components/SyncButton/SyncButton.es.js.map +1 -1
- 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 +5 -4
- 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 +5 -4
- 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 +9 -8
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +5 -4
- 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 -4
- 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 +5 -4
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +225 -213
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +91 -71
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js +188 -81
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +19 -18
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +5 -4
- package/dist/shared/src/containers/DetailsPanel/containers/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 +5 -4
- 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 +5 -4
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +5 -4
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +5 -4
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +5 -4
- 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 -4
- 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 +6 -5
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +5 -4
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +5 -4
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +5 -4
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +7 -6
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.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 +5 -4
- 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 +1 -1
- 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 +5 -4
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +9 -8
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +5 -4
- 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 +5 -4
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +141 -129
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +5 -4
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +5 -4
- 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 +8 -7
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.es.js +5 -4
- package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js +5 -4
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +5 -4
- package/dist/shared/src/containers/ListTable/ListTableHeader.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 +157 -154
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -4
- 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 +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +5 -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 +5 -4
- 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 +8 -7
- 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 +5 -4
- 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 +62 -50
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +5 -4
- 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 +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +38 -84
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +249 -255
- 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 +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +88 -82
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +16 -15
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +6 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -4
- 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 +148 -145
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js +58 -49
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +5 -4
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +5 -4
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +9 -8
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +42 -41
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +5 -4
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +5 -4
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +319 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +5 -4
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +5 -4
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +5 -4
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +120 -105
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.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 -4
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +5 -4
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.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 +5 -4
- 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 -6
- 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 +8 -7
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/context/DeleteEntitiesContext.cjs.js +2 -0
- package/dist/shared/src/context/DeleteEntitiesContext.cjs.js.map +1 -0
- package/dist/shared/src/context/DeleteEntitiesContext.es.js +221 -0
- package/dist/shared/src/context/DeleteEntitiesContext.es.js.map +1 -0
- 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 +65 -62
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.es.js +11 -10
- package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +9 -8
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.es.js +43 -42
- package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.es.js +7 -6
- package/dist/shared/src/context/ProjectFoldersContext.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 +9 -9
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.es.js +7 -6
- package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +7 -6
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +5 -4
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +5 -4
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.es.js +5 -4
- 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 +11 -11
- package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.es.js +37 -37
- package/dist/shared/src/hooks/useLoadModules.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 +5 -4
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/confirmDelete.cjs.js +1 -1
- package/dist/shared/src/util/confirmDelete.cjs.js.map +1 -1
- package/dist/shared/src/util/confirmDelete.es.js +28 -24
- package/dist/shared/src/util/confirmDelete.es.js.map +1 -1
- package/dist/shared/src/util/pluralize.cjs.js +2 -0
- package/dist/shared/src/util/pluralize.cjs.js.map +1 -0
- package/dist/shared/src/util/pluralize.es.js +5 -0
- package/dist/shared/src/util/pluralize.es.js.map +1 -0
- package/dist/types/components/DeleteEntitiesConfirm/DeleteConfirmContent.d.ts +9 -0
- package/dist/types/components/DeleteEntitiesConfirm/index.d.ts +1 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.d.ts +5 -1
- package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/types.d.ts +21 -17
- package/dist/types/containers/Feed/components/FeedSearchFilter.d.ts +2 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useGroupCounts.d.ts +2 -3
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +8 -0
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +0 -1
- package/dist/types/containers/SimpleTable/SimpleTable.types.d.ts +1 -0
- package/dist/types/containers/Slicer/components/Slicer.d.ts +2 -0
- package/dist/types/containers/Slicer/hooks/index.d.ts +1 -0
- package/dist/types/containers/Slicer/hooks/useEntityListsSlice.d.ts +1 -1
- package/dist/types/containers/Slicer/hooks/useSlicerCounts.d.ts +17 -0
- package/dist/types/containers/Slicer/hooks/useTableDataBySlice.d.ts +5 -1
- package/dist/types/context/DeleteEntitiesContext.d.ts +26 -0
- package/dist/types/context/ProjectContext.d.ts +1 -0
- package/dist/types/context/index.d.ts +1 -0
- package/dist/types/util/confirmDelete.d.ts +3 -1
- package/dist/types/util/index.d.ts +1 -0
- package/dist/types/util/pluralize.d.ts +1 -0
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +78 -75
- package/dist/util.es.js.map +1 -1
- package/package.json +1 -1
- package/dist/_virtual/ConsumeSharedPlugin.cjs.js +0 -2
- package/dist/_virtual/ConsumeSharedPlugin.cjs.js.map +0 -1
- package/dist/_virtual/ConsumeSharedPlugin.es.js +0 -5
- package/dist/_virtual/ConsumeSharedPlugin.es.js.map +0 -1
- package/dist/_virtual/ContainerPlugin.cjs.js +0 -2
- package/dist/_virtual/ContainerPlugin.cjs.js.map +0 -1
- package/dist/_virtual/ContainerPlugin.es.js +0 -5
- package/dist/_virtual/ContainerPlugin.es.js.map +0 -1
- package/dist/_virtual/ContainerReferencePlugin.cjs.js +0 -2
- package/dist/_virtual/ContainerReferencePlugin.cjs.js.map +0 -1
- package/dist/_virtual/ContainerReferencePlugin.es.js +0 -5
- package/dist/_virtual/ContainerReferencePlugin.es.js.map +0 -1
- package/dist/_virtual/ModuleFederationPlugin.cjs.js +0 -2
- package/dist/_virtual/ModuleFederationPlugin.cjs.js.map +0 -1
- package/dist/_virtual/ModuleFederationPlugin.es.js +0 -5
- package/dist/_virtual/ModuleFederationPlugin.es.js.map +0 -1
- package/dist/_virtual/ProvideSharedPlugin.cjs.js +0 -2
- package/dist/_virtual/ProvideSharedPlugin.cjs.js.map +0 -1
- package/dist/_virtual/ProvideSharedPlugin.es.js +0 -5
- package/dist/_virtual/ProvideSharedPlugin.es.js.map +0 -1
- package/dist/_virtual/SharePlugin.cjs.js +0 -2
- package/dist/_virtual/SharePlugin.cjs.js.map +0 -1
- package/dist/_virtual/SharePlugin.es.js +0 -5
- package/dist/_virtual/SharePlugin.es.js.map +0 -1
- package/dist/_virtual/SnapshotHandler.cjs.js +0 -2
- package/dist/_virtual/SnapshotHandler.cjs.js.map +0 -1
- package/dist/_virtual/SnapshotHandler.es.js +0 -5
- package/dist/_virtual/SnapshotHandler.es.js.map +0 -1
- package/dist/_virtual/asyncHook.cjs.js +0 -2
- package/dist/_virtual/asyncHook.cjs.js.map +0 -1
- package/dist/_virtual/asyncHook.es.js +0 -5
- package/dist/_virtual/asyncHook.es.js.map +0 -1
- package/dist/_virtual/asyncWaterfallHooks.cjs.js +0 -2
- package/dist/_virtual/asyncWaterfallHooks.cjs.js.map +0 -1
- package/dist/_virtual/asyncWaterfallHooks.es.js +0 -5
- package/dist/_virtual/asyncWaterfallHooks.es.js.map +0 -1
- package/dist/_virtual/browser.cjs.js +0 -2
- package/dist/_virtual/browser.cjs.js.map +0 -1
- package/dist/_virtual/browser.es.js +0 -5
- package/dist/_virtual/browser.es.js.map +0 -1
- package/dist/_virtual/compare.cjs.js +0 -2
- package/dist/_virtual/compare.cjs.js.map +0 -1
- package/dist/_virtual/compare.es.js +0 -5
- package/dist/_virtual/compare.es.js.map +0 -1
- package/dist/_virtual/constant.cjs.js +0 -2
- package/dist/_virtual/constant.cjs.js.map +0 -1
- package/dist/_virtual/constant.cjs2.js +0 -2
- package/dist/_virtual/constant.cjs2.js.map +0 -1
- package/dist/_virtual/constant.es.js +0 -5
- package/dist/_virtual/constant.es.js.map +0 -1
- package/dist/_virtual/constant.es2.js +0 -5
- package/dist/_virtual/constant.es2.js.map +0 -1
- package/dist/_virtual/constants.cjs2.js +0 -2
- package/dist/_virtual/constants.cjs2.js.map +0 -1
- package/dist/_virtual/constants.es2.js +0 -5
- package/dist/_virtual/constants.es2.js.map +0 -1
- package/dist/_virtual/context.cjs.js +0 -2
- package/dist/_virtual/context.cjs.js.map +0 -1
- package/dist/_virtual/context.es.js +0 -5
- package/dist/_virtual/context.es.js.map +0 -1
- package/dist/_virtual/core.cjs.js +0 -2
- package/dist/_virtual/core.cjs.js.map +0 -1
- package/dist/_virtual/core.es.js +0 -5
- package/dist/_virtual/core.es.js.map +0 -1
- package/dist/_virtual/createModuleFederationConfig.cjs.js +0 -2
- package/dist/_virtual/createModuleFederationConfig.cjs.js.map +0 -1
- package/dist/_virtual/createModuleFederationConfig.es.js +0 -5
- package/dist/_virtual/createModuleFederationConfig.es.js.map +0 -1
- package/dist/_virtual/desc.cjs.js +0 -2
- package/dist/_virtual/desc.cjs.js.map +0 -1
- package/dist/_virtual/desc.es.js +0 -5
- package/dist/_virtual/desc.es.js.map +0 -1
- package/dist/_virtual/dom.cjs.js +0 -2
- package/dist/_virtual/dom.cjs.js.map +0 -1
- package/dist/_virtual/dom.es.js +0 -5
- package/dist/_virtual/dom.es.js.map +0 -1
- package/dist/_virtual/env.cjs.js +0 -2
- package/dist/_virtual/env.cjs.js.map +0 -1
- package/dist/_virtual/env.cjs2.js +0 -2
- package/dist/_virtual/env.cjs2.js.map +0 -1
- package/dist/_virtual/env.es.js +0 -5
- package/dist/_virtual/env.es.js.map +0 -1
- package/dist/_virtual/env.es2.js +0 -5
- package/dist/_virtual/env.es2.js.map +0 -1
- package/dist/_virtual/error-codes.cjs.js +0 -2
- package/dist/_virtual/error-codes.cjs.js.map +0 -1
- package/dist/_virtual/error-codes.es.js +0 -5
- package/dist/_virtual/error-codes.es.js.map +0 -1
- package/dist/_virtual/generate-preload-assets.cjs.js +0 -2
- package/dist/_virtual/generate-preload-assets.cjs.js.map +0 -1
- package/dist/_virtual/generate-preload-assets.es.js +0 -5
- package/dist/_virtual/generate-preload-assets.es.js.map +0 -1
- package/dist/_virtual/generateSnapshotFromManifest.cjs.js +0 -2
- package/dist/_virtual/generateSnapshotFromManifest.cjs.js.map +0 -1
- package/dist/_virtual/generateSnapshotFromManifest.es.js +0 -5
- package/dist/_virtual/generateSnapshotFromManifest.es.js.map +0 -1
- package/dist/_virtual/getShortErrorMsg.cjs.js +0 -2
- package/dist/_virtual/getShortErrorMsg.cjs.js.map +0 -1
- package/dist/_virtual/getShortErrorMsg.es.js +0 -5
- package/dist/_virtual/getShortErrorMsg.es.js.map +0 -1
- package/dist/_virtual/global.cjs.js +0 -2
- package/dist/_virtual/global.cjs.js.map +0 -1
- package/dist/_virtual/global.es.js +0 -5
- package/dist/_virtual/global.es.js.map +0 -1
- package/dist/_virtual/helpers.cjs.js +0 -2
- package/dist/_virtual/helpers.cjs.js.map +0 -1
- package/dist/_virtual/helpers.es.js +0 -5
- package/dist/_virtual/helpers.es.js.map +0 -1
- package/dist/_virtual/index.cjs13.js +0 -2
- package/dist/_virtual/index.cjs13.js.map +0 -1
- package/dist/_virtual/index.cjs14.js +0 -2
- package/dist/_virtual/index.cjs14.js.map +0 -1
- package/dist/_virtual/index.cjs15.js +0 -2
- package/dist/_virtual/index.cjs15.js.map +0 -1
- package/dist/_virtual/index.cjs16.js +0 -2
- package/dist/_virtual/index.cjs16.js.map +0 -1
- package/dist/_virtual/index.cjs17.js +0 -2
- package/dist/_virtual/index.cjs17.js.map +0 -1
- package/dist/_virtual/index.cjs18.js +0 -2
- package/dist/_virtual/index.cjs18.js.map +0 -1
- package/dist/_virtual/index.cjs19.js +0 -2
- package/dist/_virtual/index.cjs19.js.map +0 -1
- package/dist/_virtual/index.cjs20.js +0 -2
- package/dist/_virtual/index.cjs20.js.map +0 -1
- package/dist/_virtual/index.cjs21.js +0 -2
- package/dist/_virtual/index.cjs21.js.map +0 -1
- package/dist/_virtual/index.cjs22.js +0 -2
- package/dist/_virtual/index.cjs22.js.map +0 -1
- package/dist/_virtual/index.cjs23.js +0 -2
- package/dist/_virtual/index.cjs23.js.map +0 -1
- package/dist/_virtual/index.cjs24.js +0 -2
- package/dist/_virtual/index.cjs24.js.map +0 -1
- package/dist/_virtual/index.es13.js +0 -5
- package/dist/_virtual/index.es13.js.map +0 -1
- package/dist/_virtual/index.es14.js +0 -5
- package/dist/_virtual/index.es14.js.map +0 -1
- package/dist/_virtual/index.es15.js +0 -5
- package/dist/_virtual/index.es15.js.map +0 -1
- package/dist/_virtual/index.es16.js +0 -5
- package/dist/_virtual/index.es16.js.map +0 -1
- package/dist/_virtual/index.es17.js +0 -5
- package/dist/_virtual/index.es17.js.map +0 -1
- package/dist/_virtual/index.es18.js +0 -8
- package/dist/_virtual/index.es18.js.map +0 -1
- package/dist/_virtual/index.es19.js +0 -5
- package/dist/_virtual/index.es19.js.map +0 -1
- package/dist/_virtual/index.es20.js +0 -5
- package/dist/_virtual/index.es20.js.map +0 -1
- package/dist/_virtual/index.es21.js +0 -5
- package/dist/_virtual/index.es21.js.map +0 -1
- package/dist/_virtual/index.es22.js +0 -8
- package/dist/_virtual/index.es22.js.map +0 -1
- package/dist/_virtual/index.es23.js +0 -8
- package/dist/_virtual/index.es23.js.map +0 -1
- package/dist/_virtual/index.es24.js +0 -8
- package/dist/_virtual/index.es24.js.map +0 -1
- package/dist/_virtual/load.cjs.js +0 -2
- package/dist/_virtual/load.cjs.js.map +0 -1
- package/dist/_virtual/load.es.js +0 -5
- package/dist/_virtual/load.es.js.map +0 -1
- package/dist/_virtual/logger.cjs.js +0 -2
- package/dist/_virtual/logger.cjs.js.map +0 -1
- package/dist/_virtual/logger.cjs2.js +0 -2
- package/dist/_virtual/logger.cjs2.js.map +0 -1
- package/dist/_virtual/logger.es.js +0 -5
- package/dist/_virtual/logger.es.js.map +0 -1
- package/dist/_virtual/logger.es2.js +0 -5
- package/dist/_virtual/logger.es2.js.map +0 -1
- package/dist/_virtual/manifest.cjs.js +0 -2
- package/dist/_virtual/manifest.cjs.js.map +0 -1
- package/dist/_virtual/manifest.es.js +0 -5
- package/dist/_virtual/manifest.es.js.map +0 -1
- package/dist/_virtual/node.cjs.js +0 -2
- package/dist/_virtual/node.cjs.js.map +0 -1
- package/dist/_virtual/node.es.js +0 -5
- package/dist/_virtual/node.es.js.map +0 -1
- package/dist/_virtual/normalizeOptions.cjs.js +0 -2
- package/dist/_virtual/normalizeOptions.cjs.js.map +0 -1
- package/dist/_virtual/normalizeOptions.es.js +0 -5
- package/dist/_virtual/normalizeOptions.es.js.map +0 -1
- package/dist/_virtual/parser.cjs.js +0 -2
- package/dist/_virtual/parser.cjs.js.map +0 -1
- package/dist/_virtual/parser.es.js +0 -5
- package/dist/_virtual/parser.es.js.map +0 -1
- package/dist/_virtual/plugin.cjs.js +0 -2
- package/dist/_virtual/plugin.cjs.js.map +0 -1
- package/dist/_virtual/plugin.es.js +0 -5
- package/dist/_virtual/plugin.es.js.map +0 -1
- package/dist/_virtual/pluginSystem.cjs.js +0 -2
- package/dist/_virtual/pluginSystem.cjs.js.map +0 -1
- package/dist/_virtual/pluginSystem.es.js +0 -5
- package/dist/_virtual/pluginSystem.es.js.map +0 -1
- package/dist/_virtual/preload.cjs.js +0 -2
- package/dist/_virtual/preload.cjs.js.map +0 -1
- package/dist/_virtual/preload.es.js +0 -5
- package/dist/_virtual/preload.es.js.map +0 -1
- package/dist/_virtual/runtime.cjs.js +0 -2
- package/dist/_virtual/runtime.cjs.js.map +0 -1
- package/dist/_virtual/runtime.cjs2.js +0 -2
- package/dist/_virtual/runtime.cjs2.js.map +0 -1
- package/dist/_virtual/runtime.cjs3.js +0 -2
- package/dist/_virtual/runtime.cjs3.js.map +0 -1
- package/dist/_virtual/runtime.cjs4.js +0 -2
- package/dist/_virtual/runtime.cjs4.js.map +0 -1
- package/dist/_virtual/runtime.cjs5.js +0 -2
- package/dist/_virtual/runtime.cjs5.js.map +0 -1
- package/dist/_virtual/runtime.es.js +0 -6
- package/dist/_virtual/runtime.es.js.map +0 -1
- package/dist/_virtual/runtime.es2.js +0 -5
- package/dist/_virtual/runtime.es2.js.map +0 -1
- package/dist/_virtual/runtime.es3.js +0 -5
- package/dist/_virtual/runtime.es3.js.map +0 -1
- package/dist/_virtual/runtime.es4.js +0 -5
- package/dist/_virtual/runtime.es4.js.map +0 -1
- package/dist/_virtual/runtime.es5.js +0 -5
- package/dist/_virtual/runtime.es5.js.map +0 -1
- package/dist/_virtual/share.cjs.js +0 -2
- package/dist/_virtual/share.cjs.js.map +0 -1
- package/dist/_virtual/share.es.js +0 -5
- package/dist/_virtual/share.es.js.map +0 -1
- package/dist/_virtual/syncHook.cjs.js +0 -2
- package/dist/_virtual/syncHook.cjs.js.map +0 -1
- package/dist/_virtual/syncHook.es.js +0 -5
- package/dist/_virtual/syncHook.es.js.map +0 -1
- package/dist/_virtual/syncWaterfallHook.cjs.js +0 -2
- package/dist/_virtual/syncWaterfallHook.cjs.js.map +0 -1
- package/dist/_virtual/syncWaterfallHook.es.js +0 -5
- package/dist/_virtual/syncWaterfallHook.es.js.map +0 -1
- package/dist/_virtual/tool.cjs.js +0 -2
- package/dist/_virtual/tool.cjs.js.map +0 -1
- package/dist/_virtual/tool.es.js +0 -5
- package/dist/_virtual/tool.es.js.map +0 -1
- package/dist/_virtual/utils.cjs.js +0 -2
- package/dist/_virtual/utils.cjs.js.map +0 -1
- package/dist/_virtual/utils.cjs2.js +0 -2
- package/dist/_virtual/utils.cjs2.js.map +0 -1
- package/dist/_virtual/utils.cjs3.js +0 -2
- package/dist/_virtual/utils.cjs3.js.map +0 -1
- package/dist/_virtual/utils.es.js +0 -5
- package/dist/_virtual/utils.es.js.map +0 -1
- package/dist/_virtual/utils.es2.js +0 -5
- package/dist/_virtual/utils.es2.js.map +0 -1
- package/dist/_virtual/utils.es3.js +0 -5
- package/dist/_virtual/utils.es3.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/enhanced/dist/src/runtime.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/enhanced/dist/src/runtime.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/enhanced/dist/src/runtime.es.js +0 -21
- package/dist/shared/node_modules/@module-federation/enhanced/dist/src/runtime.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +0 -16
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/utils.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/runtime/dist/utils.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/utils.es.js +0 -20
- package/dist/shared/node_modules/@module-federation/runtime/dist/utils.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.es.js +0 -20
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/helpers.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/helpers.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/helpers.es.js +0 -50
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/helpers.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +0 -18
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +0 -14
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +0 -16
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime-tools/dist/runtime.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/runtime-tools/dist/runtime.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime-tools/dist/runtime.es.js +0 -20
- package/dist/shared/node_modules/@module-federation/runtime-tools/dist/runtime.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.es.js +0 -20
- package/dist/shared/node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/createModuleFederationConfig.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/sdk/dist/createModuleFederationConfig.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/createModuleFederationConfig.es.js +0 -12
- package/dist/shared/node_modules/@module-federation/sdk/dist/createModuleFederationConfig.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js +0 -58
- package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/normalizeOptions.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/sdk/dist/normalizeOptions.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/normalizeOptions.es.js +0 -23
- package/dist/shared/node_modules/@module-federation/sdk/dist/normalizeOptions.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.es.js +0 -18
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.es.js +0 -18
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.es.js +0 -18
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.es.js +0 -18
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.es.js +0 -18
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.es.js +0 -18
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js +0 -10
- package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.es.js +0 -25
- package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.es.js.map +0 -1
- package/dist/types/containers/ProjectTreeTable/components/DeleteConfirmContent.d.ts +0 -6
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=t=>t.replace(/_([a-z0-9])/g,(e,o)=>o.toUpperCase()),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=t=>t.replace(/_([a-z0-9])/g,(e,o)=>o.toUpperCase()),v={task_type:"subType",folder_type:"subType",product_type:"subType"},a=t=>t in v?v[t]:t.startsWith("project_attributes_")?"attrib_"+t.slice(19):t.startsWith("inherited_attributes_")?"attrib_"+t.slice(21):t.startsWith("attrib_")?t:g(t),p=t=>{if(Array.isArray(t))return t;if(typeof t=="string"){const e=t.trim();if(e.startsWith("[")&&e.endsWith("]"))try{const o=JSON.parse(e);if(Array.isArray(o))return o}catch{}}return[t]},C=t=>{if(t==null)return;let e=t;if(typeof e=="string")try{e=JSON.parse(e)}catch{return}if(Array.isArray(e)){const o=new Map;for(const n of e){if(!n||n.value==null)continue;const r=p(n.value);for(const u of r){const s=String(u),i=o.get(s);o.set(s,{...n,value:s,count:(i?.count??0)+(Number(n.count)||0)})}}return[...o.values()]}if(typeof e=="object")return Object.entries(e).map(([o,n])=>({value:o,count:Number(n)||0}))},d=(t,e)=>t==null&&e==null?void 0:(t??0)+(e??0),h=(t,e)=>t==null?e??void 0:e==null||t<e?t:e,y=(t,e)=>t==null?e??void 0:e==null||t>e?t:e,m=(t,e)=>t!=null&&e!=null&&t+e>0?Math.round(t/(t+e)*1e4)/100:void 0,F=(t,e)=>{const o=d(t.valueFilledCount,e.valueFilledCount),n=d(t.valueNotFilledCount,e.valueNotFilledCount),r=d(t.checkedCount,e.checkedCount),u=d(t.notCheckedCount,e.notCheckedCount);let s;if(t.avg!=null&&e.avg!=null){const c=t.valueFilledCount,l=e.valueFilledCount;s=c!=null&&l!=null&&c+l>0?(t.avg*c+e.avg*l)/(c+l):(t.avg+e.avg)/2,s=Math.round(s*100)/100}else s=t.avg??e.avg??void 0;let i;if(t.distribution?.length||e.distribution?.length){const c=new Map;for(const l of[...t.distribution??[],...e.distribution??[]]){const f=c.get(l.value);c.set(l.value,f?{...f,count:f.count+l.count}:{...l})}i=[...c.values()]}return{columnName:t.columnName,min:h(t.min,e.min),max:y(t.max,e.max),avg:s,sum:d(t.sum,e.sum),valueFilledCount:o,valueNotFilledCount:n,percentageFilled:m(o,n),percentageNotFilled:m(n,o),checkedCount:r,notCheckedCount:u,checkedPercentage:m(r,u),notCheckedPercentage:m(u,r),distribution:i,primaryCount:t.primaryCount??e.primaryCount,secondaryCount:t.secondaryCount??e.secondaryCount}},N=t=>t.map(e=>({...e,columnName:a(e.columnName),distribution:C(e.distribution)})),S=(t=[],e=[])=>{const o=new Map;for(const n of e)o.set(a(n.columnName),{...n});for(const n of t){const r=a(n.columnName),u={...o.get(r)||{columnName:n.columnName}};for(const[s,i]of Object.entries(n))i!=null&&(u[s]=i);o.set(r,u)}return[...o.values()]},_=t=>t.reduce((e,o)=>Math.max(e,(o.valueFilledCount??0)+(o.valueNotFilledCount??0)),0),k=(t,e=[])=>{const o=new Map;for(const r of t)o.set(a(r.columnName),r);const n=new Map(o);for(const r of e){const u=a(r.columnName),s=o.get(u);n.set(u,s?F(s,r):r)}return[...n.values()]},b=(t,e)=>{const o=t?.message??"Unknown stats error";return console.error(`Error fetching ${e} stats:`,t),o};exports.canonicalColumnId=a;exports.combineFieldStats=k;exports.mergeFieldStats=S;exports.normalizeFieldStats=N;exports.totalRowsFromStats=_;exports.transformStatsError=b;
|
|
2
2
|
//# sourceMappingURL=columnStats.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnStats.cjs.js","sources":["../../../../../../src/api/queries/columnStats/columnStats.ts"],"sourcesContent":["import { ColumnStats } from '@shared/api/generated'\n// Shape of the backend GraphQL `ColumnStats` (connection.fieldStats).\n// `sum` and `distribution` are typed ahead of backend support so wiring them is a no-op.\nexport interface FieldStats extends ColumnStats {\n primaryCount?: number | null\n secondaryCount?: number | null\n}\n\nconst snakeToCamel = (s: string): string => s.replace(/_([a-z0-9])/g, (_, c) => c.toUpperCase())\n\n// Per-entity \"type\" columns all map to the unified `subType` column in the table.\n// (`product_base_type` is a separate column — productBaseType — so not aliased.)\nconst COLUMN_ALIASES: Record<string, string> = {\n task_type: 'subType',\n folder_type: 'subType',\n product_type: 'subType',\n}\n\n// Canonical frontend column id for a backend column name. Attribute columns keep\n// their `attrib_` form; everything else is snake_case on the backend but camelCase\n// in the table (product_base_type → productBaseType, created_at → createdAt).\nexport const canonicalColumnId = (name: string): string => {\n if (name in COLUMN_ALIASES) return COLUMN_ALIASES[name]\n if (name.startsWith('project_attributes_')) {\n return 'attrib_' + name.slice('project_attributes_'.length)\n }\n if (name.startsWith('inherited_attributes_')) {\n return 'attrib_' + name.slice('inherited_attributes_'.length)\n }\n if (name.startsWith('attrib_')) return name\n return snakeToCamel(name)\n}\n\nconst normalizeDistribution = (raw: unknown): FieldStats['distribution'] => {\n if (raw == null) return undefined\n let value = raw\n if (typeof value === 'string') {\n try {\n value = JSON.parse(value)\n } catch {\n return undefined\n }\n }\n if (Array.isArray(value)) {\n // dedupe by value; array buckets (tags/assignees combos) unnest per value\n const byValue = new Map<string, { value: string; count: number }>()\n for (const d of value) {\n if (!d || d.value == null) continue\n const vals = Array.isArray(d.value) ? d.value : [d.value]\n for (const raw of vals) {\n const v = String(raw)\n const prev = byValue.get(v)\n byValue.set(v, { ...d, value: v, count: (prev?.count ?? 0) + (Number(d.count) || 0) })\n }\n }\n return [...byValue.values()]\n }\n if (typeof value === 'object') {\n return Object.entries(value as Record<string, unknown>).map(([v, count]) => ({\n value: v,\n count: Number(count) || 0,\n }))\n }\n return undefined\n}\n\nconst sumN = (a?: number | null, b?: number | null): number | undefined =>\n a == null && b == null ? undefined : (a ?? 0) + (b ?? 0)\nconst lowest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a < b ? a : b\nconst highest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a > b ? a : b\nconst pct = (part?: number, rest?: number): number | undefined =>\n part != null && rest != null && part + rest > 0\n ? Math.round((part / (part + rest)) * 10000) / 100\n : undefined\n\n// Additive combine of one column's stats from two entity sets (e.g. folder +\n// task). Counts sum, min/max widen, percentages recompute, avg is weighted by\n// filled counts when available.\nconst combineTwo = (a: FieldStats, b: FieldStats): FieldStats => {\n const filled = sumN(a.valueFilledCount, b.valueFilledCount)\n const notFilled = sumN(a.valueNotFilledCount, b.valueNotFilledCount)\n const checked = sumN(a.checkedCount, b.checkedCount)\n const notChecked = sumN(a.notCheckedCount, b.notCheckedCount)\n\n let avg: number | undefined\n if (a.avg != null && b.avg != null) {\n const wa = a.valueFilledCount\n const wb = b.valueFilledCount\n avg =\n wa != null && wb != null && wa + wb > 0\n ? (a.avg * wa + b.avg * wb) / (wa + wb)\n : (a.avg + b.avg) / 2\n avg = Math.round(avg * 100) / 100\n } else {\n avg = a.avg ?? b.avg ?? undefined\n }\n\n let distribution: FieldStats['distribution']\n if (a.distribution?.length || b.distribution?.length) {\n const byValue = new Map<string, NonNullable<FieldStats['distribution']>[number]>()\n for (const d of [...(a.distribution ?? []), ...(b.distribution ?? [])]) {\n const prev = byValue.get(d.value)\n byValue.set(d.value, prev ? { ...prev, count: prev.count + d.count } : { ...d })\n }\n distribution = [...byValue.values()]\n }\n\n return {\n columnName: a.columnName,\n min: lowest(a.min, b.min),\n max: highest(a.max, b.max),\n avg,\n sum: sumN(a.sum, b.sum),\n valueFilledCount: filled,\n valueNotFilledCount: notFilled,\n percentageFilled: pct(filled, notFilled),\n percentageNotFilled: pct(notFilled, filled),\n checkedCount: checked,\n notCheckedCount: notChecked,\n checkedPercentage: pct(checked, notChecked),\n notCheckedPercentage: pct(notChecked, checked),\n distribution,\n primaryCount: a.primaryCount ?? b.primaryCount,\n secondaryCount: a.secondaryCount ?? b.secondaryCount,\n }\n}\n\n// Normalize a raw fieldStats response (apply in transformResponse).\nexport const normalizeFieldStats = (stats: FieldStats[]): FieldStats[] =>\n stats.map((s) => ({\n ...s,\n columnName: canonicalColumnId(s.columnName),\n distribution: normalizeDistribution(s.distribution),\n }))\n\n// Merge stats lists by canonical column id, field-wise: overlay's non-null values\n// win, base fills the gaps. A single list also dedupes its own repeated columns.\nexport const mergeFieldStats = (\n overlay: FieldStats[] = [],\n base: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of base) byId.set(canonicalColumnId(s.columnName), { ...s })\n for (const s of overlay) {\n const id = canonicalColumnId(s.columnName)\n const merged: FieldStats = { ...(byId.get(id) || { columnName: s.columnName }) }\n for (const [k, v] of Object.entries(s)) {\n if (v !== null && v !== undefined) (merged as any)[k] = v\n }\n byId.set(id, merged)\n }\n return [...byId.values()]\n}\n\n// Total row count for an entity set = max(filled + not-filled) across its\n// stat columns. Feeds the main folders/tasks count cell.\nexport const totalRowsFromStats = (stats: FieldStats[]): number =>\n stats.reduce(\n (max, s) => Math.max(max, (s.valueFilledCount ?? 0) + (s.valueNotFilledCount ?? 0)),\n 0,\n )\n\n// Combine primary-entity stats (tasks/versions) with group-entity stats\n// (folders/products) for the \"include groups & folders\" row scope.\nexport const combineFieldStats = (\n primary: FieldStats[],\n group: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of primary) byId.set(canonicalColumnId(s.columnName), s)\n const out = new Map(byId)\n for (const g of group) {\n const id = canonicalColumnId(g.columnName)\n const p = byId.get(id)\n out.set(id, p ? combineTwo(p, g) : g)\n }\n return [...out.values()]\n}\n\nexport const transformStatsError = (error: any, entityType: string): string => {\n const message = error?.message ?? 'Unknown stats error'\n console.error(`Error fetching ${entityType} stats:`, error)\n return message\n}\n"],"names":["snakeToCamel","s","_","c","COLUMN_ALIASES","canonicalColumnId","name","normalizeDistribution","raw","value","byValue","d","vals","v","prev","count","sumN","a","b","lowest","highest","pct","part","rest","combineTwo","filled","notFilled","checked","notChecked","avg","wa","wb","distribution","normalizeFieldStats","stats","mergeFieldStats","overlay","base","byId","id","merged","k","totalRowsFromStats","max","combineFieldStats","primary","group","out","g","p","transformStatsError","error","entityType","message"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"columnStats.cjs.js","sources":["../../../../../../src/api/queries/columnStats/columnStats.ts"],"sourcesContent":["import { ColumnStats } from '@shared/api/generated'\n// Shape of the backend GraphQL `ColumnStats` (connection.fieldStats).\n// `sum` and `distribution` are typed ahead of backend support so wiring them is a no-op.\nexport interface FieldStats extends ColumnStats {\n primaryCount?: number | null\n secondaryCount?: number | null\n}\n\nconst snakeToCamel = (s: string): string => s.replace(/_([a-z0-9])/g, (_, c) => c.toUpperCase())\n\n// Per-entity \"type\" columns all map to the unified `subType` column in the table.\n// (`product_base_type` is a separate column — productBaseType — so not aliased.)\nconst COLUMN_ALIASES: Record<string, string> = {\n task_type: 'subType',\n folder_type: 'subType',\n product_type: 'subType',\n}\n\n// Canonical frontend column id for a backend column name. Attribute columns keep\n// their `attrib_` form; everything else is snake_case on the backend but camelCase\n// in the table (product_base_type → productBaseType, created_at → createdAt).\nexport const canonicalColumnId = (name: string): string => {\n if (name in COLUMN_ALIASES) return COLUMN_ALIASES[name]\n if (name.startsWith('project_attributes_')) {\n return 'attrib_' + name.slice('project_attributes_'.length)\n }\n if (name.startsWith('inherited_attributes_')) {\n return 'attrib_' + name.slice('inherited_attributes_'.length)\n }\n if (name.startsWith('attrib_')) return name\n return snakeToCamel(name)\n}\n\n// list_of_strings attrs arrive as one bucket keyed by the whole array serialized\n// to text (backend GROUP BY on attrib->>'name'); split it so each element counts.\nconst toDistributionValues = (v: unknown): unknown[] => {\n if (Array.isArray(v)) return v\n if (typeof v === 'string') {\n const t = v.trim()\n if (t.startsWith('[') && t.endsWith(']')) {\n try {\n const parsed = JSON.parse(t)\n if (Array.isArray(parsed)) return parsed\n } catch {}\n }\n }\n return [v]\n}\n\nconst normalizeDistribution = (raw: unknown): FieldStats['distribution'] => {\n if (raw == null) return undefined\n let value = raw\n if (typeof value === 'string') {\n try {\n value = JSON.parse(value)\n } catch {\n return undefined\n }\n }\n if (Array.isArray(value)) {\n // dedupe by value; array buckets (tags/assignees combos) unnest per value\n const byValue = new Map<string, { value: string; count: number }>()\n for (const d of value) {\n if (!d || d.value == null) continue\n const vals = toDistributionValues(d.value)\n for (const raw of vals) {\n const v = String(raw)\n const prev = byValue.get(v)\n byValue.set(v, { ...d, value: v, count: (prev?.count ?? 0) + (Number(d.count) || 0) })\n }\n }\n return [...byValue.values()]\n }\n if (typeof value === 'object') {\n return Object.entries(value as Record<string, unknown>).map(([v, count]) => ({\n value: v,\n count: Number(count) || 0,\n }))\n }\n return undefined\n}\n\nconst sumN = (a?: number | null, b?: number | null): number | undefined =>\n a == null && b == null ? undefined : (a ?? 0) + (b ?? 0)\nconst lowest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a < b ? a : b\nconst highest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a > b ? a : b\nconst pct = (part?: number, rest?: number): number | undefined =>\n part != null && rest != null && part + rest > 0\n ? Math.round((part / (part + rest)) * 10000) / 100\n : undefined\n\n// Additive combine of one column's stats from two entity sets (e.g. folder +\n// task). Counts sum, min/max widen, percentages recompute, avg is weighted by\n// filled counts when available.\nconst combineTwo = (a: FieldStats, b: FieldStats): FieldStats => {\n const filled = sumN(a.valueFilledCount, b.valueFilledCount)\n const notFilled = sumN(a.valueNotFilledCount, b.valueNotFilledCount)\n const checked = sumN(a.checkedCount, b.checkedCount)\n const notChecked = sumN(a.notCheckedCount, b.notCheckedCount)\n\n let avg: number | undefined\n if (a.avg != null && b.avg != null) {\n const wa = a.valueFilledCount\n const wb = b.valueFilledCount\n avg =\n wa != null && wb != null && wa + wb > 0\n ? (a.avg * wa + b.avg * wb) / (wa + wb)\n : (a.avg + b.avg) / 2\n avg = Math.round(avg * 100) / 100\n } else {\n avg = a.avg ?? b.avg ?? undefined\n }\n\n let distribution: FieldStats['distribution']\n if (a.distribution?.length || b.distribution?.length) {\n const byValue = new Map<string, NonNullable<FieldStats['distribution']>[number]>()\n for (const d of [...(a.distribution ?? []), ...(b.distribution ?? [])]) {\n const prev = byValue.get(d.value)\n byValue.set(d.value, prev ? { ...prev, count: prev.count + d.count } : { ...d })\n }\n distribution = [...byValue.values()]\n }\n\n return {\n columnName: a.columnName,\n min: lowest(a.min, b.min),\n max: highest(a.max, b.max),\n avg,\n sum: sumN(a.sum, b.sum),\n valueFilledCount: filled,\n valueNotFilledCount: notFilled,\n percentageFilled: pct(filled, notFilled),\n percentageNotFilled: pct(notFilled, filled),\n checkedCount: checked,\n notCheckedCount: notChecked,\n checkedPercentage: pct(checked, notChecked),\n notCheckedPercentage: pct(notChecked, checked),\n distribution,\n primaryCount: a.primaryCount ?? b.primaryCount,\n secondaryCount: a.secondaryCount ?? b.secondaryCount,\n }\n}\n\n// Normalize a raw fieldStats response (apply in transformResponse).\nexport const normalizeFieldStats = (stats: FieldStats[]): FieldStats[] =>\n stats.map((s) => ({\n ...s,\n columnName: canonicalColumnId(s.columnName),\n distribution: normalizeDistribution(s.distribution),\n }))\n\n// Merge stats lists by canonical column id, field-wise: overlay's non-null values\n// win, base fills the gaps. A single list also dedupes its own repeated columns.\nexport const mergeFieldStats = (\n overlay: FieldStats[] = [],\n base: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of base) byId.set(canonicalColumnId(s.columnName), { ...s })\n for (const s of overlay) {\n const id = canonicalColumnId(s.columnName)\n const merged: FieldStats = { ...(byId.get(id) || { columnName: s.columnName }) }\n for (const [k, v] of Object.entries(s)) {\n if (v !== null && v !== undefined) (merged as any)[k] = v\n }\n byId.set(id, merged)\n }\n return [...byId.values()]\n}\n\n// Total row count for an entity set = max(filled + not-filled) across its\n// stat columns. Feeds the main folders/tasks count cell.\nexport const totalRowsFromStats = (stats: FieldStats[]): number =>\n stats.reduce(\n (max, s) => Math.max(max, (s.valueFilledCount ?? 0) + (s.valueNotFilledCount ?? 0)),\n 0,\n )\n\n// Combine primary-entity stats (tasks/versions) with group-entity stats\n// (folders/products) for the \"include groups & folders\" row scope.\nexport const combineFieldStats = (\n primary: FieldStats[],\n group: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of primary) byId.set(canonicalColumnId(s.columnName), s)\n const out = new Map(byId)\n for (const g of group) {\n const id = canonicalColumnId(g.columnName)\n const p = byId.get(id)\n out.set(id, p ? combineTwo(p, g) : g)\n }\n return [...out.values()]\n}\n\nexport const transformStatsError = (error: any, entityType: string): string => {\n const message = error?.message ?? 'Unknown stats error'\n console.error(`Error fetching ${entityType} stats:`, error)\n return message\n}\n"],"names":["snakeToCamel","s","_","c","COLUMN_ALIASES","canonicalColumnId","name","toDistributionValues","v","t","parsed","normalizeDistribution","raw","value","byValue","d","vals","prev","count","sumN","a","b","lowest","highest","pct","part","rest","combineTwo","filled","notFilled","checked","notChecked","avg","wa","wb","distribution","normalizeFieldStats","stats","mergeFieldStats","overlay","base","byId","id","merged","k","totalRowsFromStats","max","combineFieldStats","primary","group","out","g","p","transformStatsError","error","entityType","message"],"mappings":"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"}
|
|
@@ -2,7 +2,19 @@ const g = (t) => t.replace(/_([a-z0-9])/g, (e, n) => n.toUpperCase()), f = {
|
|
|
2
2
|
task_type: "subType",
|
|
3
3
|
folder_type: "subType",
|
|
4
4
|
product_type: "subType"
|
|
5
|
-
}, d = (t) => t in f ? f[t] : t.startsWith("project_attributes_") ? "attrib_" + t.slice(19) : t.startsWith("inherited_attributes_") ? "attrib_" + t.slice(21) : t.startsWith("attrib_") ? t : g(t),
|
|
5
|
+
}, d = (t) => t in f ? f[t] : t.startsWith("project_attributes_") ? "attrib_" + t.slice(19) : t.startsWith("inherited_attributes_") ? "attrib_" + t.slice(21) : t.startsWith("attrib_") ? t : g(t), p = (t) => {
|
|
6
|
+
if (Array.isArray(t)) return t;
|
|
7
|
+
if (typeof t == "string") {
|
|
8
|
+
const e = t.trim();
|
|
9
|
+
if (e.startsWith("[") && e.endsWith("]"))
|
|
10
|
+
try {
|
|
11
|
+
const n = JSON.parse(e);
|
|
12
|
+
if (Array.isArray(n)) return n;
|
|
13
|
+
} catch {
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return [t];
|
|
17
|
+
}, C = (t) => {
|
|
6
18
|
if (t == null) return;
|
|
7
19
|
let e = t;
|
|
8
20
|
if (typeof e == "string")
|
|
@@ -15,10 +27,10 @@ const g = (t) => t.replace(/_([a-z0-9])/g, (e, n) => n.toUpperCase()), f = {
|
|
|
15
27
|
const n = /* @__PURE__ */ new Map();
|
|
16
28
|
for (const o of e) {
|
|
17
29
|
if (!o || o.value == null) continue;
|
|
18
|
-
const
|
|
19
|
-
for (const s of
|
|
20
|
-
const
|
|
21
|
-
n.set(
|
|
30
|
+
const r = p(o.value);
|
|
31
|
+
for (const s of r) {
|
|
32
|
+
const u = String(s), i = n.get(u);
|
|
33
|
+
n.set(u, { ...o, value: u, count: (i?.count ?? 0) + (Number(o.count) || 0) });
|
|
22
34
|
}
|
|
23
35
|
}
|
|
24
36
|
return [...n.values()];
|
|
@@ -28,77 +40,77 @@ const g = (t) => t.replace(/_([a-z0-9])/g, (e, n) => n.toUpperCase()), f = {
|
|
|
28
40
|
value: n,
|
|
29
41
|
count: Number(o) || 0
|
|
30
42
|
}));
|
|
31
|
-
}, a = (t, e) => t == null && e == null ? void 0 : (t ?? 0) + (e ?? 0),
|
|
32
|
-
const n = a(t.valueFilledCount, e.valueFilledCount), o = a(t.valueNotFilledCount, e.valueNotFilledCount),
|
|
33
|
-
let
|
|
43
|
+
}, a = (t, e) => t == null && e == null ? void 0 : (t ?? 0) + (e ?? 0), h = (t, e) => t == null ? e ?? void 0 : e == null || t < e ? t : e, y = (t, e) => t == null ? e ?? void 0 : e == null || t > e ? t : e, m = (t, e) => t != null && e != null && t + e > 0 ? Math.round(t / (t + e) * 1e4) / 100 : void 0, N = (t, e) => {
|
|
44
|
+
const n = a(t.valueFilledCount, e.valueFilledCount), o = a(t.valueNotFilledCount, e.valueNotFilledCount), r = a(t.checkedCount, e.checkedCount), s = a(t.notCheckedCount, e.notCheckedCount);
|
|
45
|
+
let u;
|
|
34
46
|
if (t.avg != null && e.avg != null) {
|
|
35
|
-
const
|
|
36
|
-
|
|
47
|
+
const c = t.valueFilledCount, l = e.valueFilledCount;
|
|
48
|
+
u = c != null && l != null && c + l > 0 ? (t.avg * c + e.avg * l) / (c + l) : (t.avg + e.avg) / 2, u = Math.round(u * 100) / 100;
|
|
37
49
|
} else
|
|
38
|
-
|
|
39
|
-
let
|
|
50
|
+
u = t.avg ?? e.avg ?? void 0;
|
|
51
|
+
let i;
|
|
40
52
|
if (t.distribution?.length || e.distribution?.length) {
|
|
41
|
-
const
|
|
42
|
-
for (const
|
|
43
|
-
const
|
|
44
|
-
|
|
53
|
+
const c = /* @__PURE__ */ new Map();
|
|
54
|
+
for (const l of [...t.distribution ?? [], ...e.distribution ?? []]) {
|
|
55
|
+
const v = c.get(l.value);
|
|
56
|
+
c.set(l.value, v ? { ...v, count: v.count + l.count } : { ...l });
|
|
45
57
|
}
|
|
46
|
-
|
|
58
|
+
i = [...c.values()];
|
|
47
59
|
}
|
|
48
60
|
return {
|
|
49
61
|
columnName: t.columnName,
|
|
50
|
-
min:
|
|
51
|
-
max:
|
|
52
|
-
avg:
|
|
62
|
+
min: h(t.min, e.min),
|
|
63
|
+
max: y(t.max, e.max),
|
|
64
|
+
avg: u,
|
|
53
65
|
sum: a(t.sum, e.sum),
|
|
54
66
|
valueFilledCount: n,
|
|
55
67
|
valueNotFilledCount: o,
|
|
56
|
-
percentageFilled:
|
|
57
|
-
percentageNotFilled:
|
|
58
|
-
checkedCount:
|
|
68
|
+
percentageFilled: m(n, o),
|
|
69
|
+
percentageNotFilled: m(o, n),
|
|
70
|
+
checkedCount: r,
|
|
59
71
|
notCheckedCount: s,
|
|
60
|
-
checkedPercentage:
|
|
61
|
-
notCheckedPercentage:
|
|
62
|
-
distribution:
|
|
72
|
+
checkedPercentage: m(r, s),
|
|
73
|
+
notCheckedPercentage: m(s, r),
|
|
74
|
+
distribution: i,
|
|
63
75
|
primaryCount: t.primaryCount ?? e.primaryCount,
|
|
64
76
|
secondaryCount: t.secondaryCount ?? e.secondaryCount
|
|
65
77
|
};
|
|
66
|
-
},
|
|
78
|
+
}, F = (t) => t.map((e) => ({
|
|
67
79
|
...e,
|
|
68
80
|
columnName: d(e.columnName),
|
|
69
81
|
distribution: C(e.distribution)
|
|
70
|
-
})),
|
|
82
|
+
})), _ = (t = [], e = []) => {
|
|
71
83
|
const n = /* @__PURE__ */ new Map();
|
|
72
84
|
for (const o of e) n.set(d(o.columnName), { ...o });
|
|
73
85
|
for (const o of t) {
|
|
74
|
-
const
|
|
75
|
-
for (const [
|
|
76
|
-
|
|
77
|
-
n.set(
|
|
86
|
+
const r = d(o.columnName), s = { ...n.get(r) || { columnName: o.columnName } };
|
|
87
|
+
for (const [u, i] of Object.entries(o))
|
|
88
|
+
i != null && (s[u] = i);
|
|
89
|
+
n.set(r, s);
|
|
78
90
|
}
|
|
79
91
|
return [...n.values()];
|
|
80
|
-
},
|
|
92
|
+
}, k = (t) => t.reduce(
|
|
81
93
|
(e, n) => Math.max(e, (n.valueFilledCount ?? 0) + (n.valueNotFilledCount ?? 0)),
|
|
82
94
|
0
|
|
83
|
-
),
|
|
95
|
+
), w = (t, e = []) => {
|
|
84
96
|
const n = /* @__PURE__ */ new Map();
|
|
85
|
-
for (const
|
|
97
|
+
for (const r of t) n.set(d(r.columnName), r);
|
|
86
98
|
const o = new Map(n);
|
|
87
|
-
for (const
|
|
88
|
-
const s = d(
|
|
89
|
-
o.set(s,
|
|
99
|
+
for (const r of e) {
|
|
100
|
+
const s = d(r.columnName), u = n.get(s);
|
|
101
|
+
o.set(s, u ? N(u, r) : r);
|
|
90
102
|
}
|
|
91
103
|
return [...o.values()];
|
|
92
|
-
},
|
|
104
|
+
}, S = (t, e) => {
|
|
93
105
|
const n = t?.message ?? "Unknown stats error";
|
|
94
106
|
return console.error(`Error fetching ${e} stats:`, t), n;
|
|
95
107
|
};
|
|
96
108
|
export {
|
|
97
109
|
d as canonicalColumnId,
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
110
|
+
w as combineFieldStats,
|
|
111
|
+
_ as mergeFieldStats,
|
|
112
|
+
F as normalizeFieldStats,
|
|
113
|
+
k as totalRowsFromStats,
|
|
114
|
+
S as transformStatsError
|
|
103
115
|
};
|
|
104
116
|
//# sourceMappingURL=columnStats.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnStats.es.js","sources":["../../../../../../src/api/queries/columnStats/columnStats.ts"],"sourcesContent":["import { ColumnStats } from '@shared/api/generated'\n// Shape of the backend GraphQL `ColumnStats` (connection.fieldStats).\n// `sum` and `distribution` are typed ahead of backend support so wiring them is a no-op.\nexport interface FieldStats extends ColumnStats {\n primaryCount?: number | null\n secondaryCount?: number | null\n}\n\nconst snakeToCamel = (s: string): string => s.replace(/_([a-z0-9])/g, (_, c) => c.toUpperCase())\n\n// Per-entity \"type\" columns all map to the unified `subType` column in the table.\n// (`product_base_type` is a separate column — productBaseType — so not aliased.)\nconst COLUMN_ALIASES: Record<string, string> = {\n task_type: 'subType',\n folder_type: 'subType',\n product_type: 'subType',\n}\n\n// Canonical frontend column id for a backend column name. Attribute columns keep\n// their `attrib_` form; everything else is snake_case on the backend but camelCase\n// in the table (product_base_type → productBaseType, created_at → createdAt).\nexport const canonicalColumnId = (name: string): string => {\n if (name in COLUMN_ALIASES) return COLUMN_ALIASES[name]\n if (name.startsWith('project_attributes_')) {\n return 'attrib_' + name.slice('project_attributes_'.length)\n }\n if (name.startsWith('inherited_attributes_')) {\n return 'attrib_' + name.slice('inherited_attributes_'.length)\n }\n if (name.startsWith('attrib_')) return name\n return snakeToCamel(name)\n}\n\nconst normalizeDistribution = (raw: unknown): FieldStats['distribution'] => {\n if (raw == null) return undefined\n let value = raw\n if (typeof value === 'string') {\n try {\n value = JSON.parse(value)\n } catch {\n return undefined\n }\n }\n if (Array.isArray(value)) {\n // dedupe by value; array buckets (tags/assignees combos) unnest per value\n const byValue = new Map<string, { value: string; count: number }>()\n for (const d of value) {\n if (!d || d.value == null) continue\n const vals = Array.isArray(d.value) ? d.value : [d.value]\n for (const raw of vals) {\n const v = String(raw)\n const prev = byValue.get(v)\n byValue.set(v, { ...d, value: v, count: (prev?.count ?? 0) + (Number(d.count) || 0) })\n }\n }\n return [...byValue.values()]\n }\n if (typeof value === 'object') {\n return Object.entries(value as Record<string, unknown>).map(([v, count]) => ({\n value: v,\n count: Number(count) || 0,\n }))\n }\n return undefined\n}\n\nconst sumN = (a?: number | null, b?: number | null): number | undefined =>\n a == null && b == null ? undefined : (a ?? 0) + (b ?? 0)\nconst lowest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a < b ? a : b\nconst highest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a > b ? a : b\nconst pct = (part?: number, rest?: number): number | undefined =>\n part != null && rest != null && part + rest > 0\n ? Math.round((part / (part + rest)) * 10000) / 100\n : undefined\n\n// Additive combine of one column's stats from two entity sets (e.g. folder +\n// task). Counts sum, min/max widen, percentages recompute, avg is weighted by\n// filled counts when available.\nconst combineTwo = (a: FieldStats, b: FieldStats): FieldStats => {\n const filled = sumN(a.valueFilledCount, b.valueFilledCount)\n const notFilled = sumN(a.valueNotFilledCount, b.valueNotFilledCount)\n const checked = sumN(a.checkedCount, b.checkedCount)\n const notChecked = sumN(a.notCheckedCount, b.notCheckedCount)\n\n let avg: number | undefined\n if (a.avg != null && b.avg != null) {\n const wa = a.valueFilledCount\n const wb = b.valueFilledCount\n avg =\n wa != null && wb != null && wa + wb > 0\n ? (a.avg * wa + b.avg * wb) / (wa + wb)\n : (a.avg + b.avg) / 2\n avg = Math.round(avg * 100) / 100\n } else {\n avg = a.avg ?? b.avg ?? undefined\n }\n\n let distribution: FieldStats['distribution']\n if (a.distribution?.length || b.distribution?.length) {\n const byValue = new Map<string, NonNullable<FieldStats['distribution']>[number]>()\n for (const d of [...(a.distribution ?? []), ...(b.distribution ?? [])]) {\n const prev = byValue.get(d.value)\n byValue.set(d.value, prev ? { ...prev, count: prev.count + d.count } : { ...d })\n }\n distribution = [...byValue.values()]\n }\n\n return {\n columnName: a.columnName,\n min: lowest(a.min, b.min),\n max: highest(a.max, b.max),\n avg,\n sum: sumN(a.sum, b.sum),\n valueFilledCount: filled,\n valueNotFilledCount: notFilled,\n percentageFilled: pct(filled, notFilled),\n percentageNotFilled: pct(notFilled, filled),\n checkedCount: checked,\n notCheckedCount: notChecked,\n checkedPercentage: pct(checked, notChecked),\n notCheckedPercentage: pct(notChecked, checked),\n distribution,\n primaryCount: a.primaryCount ?? b.primaryCount,\n secondaryCount: a.secondaryCount ?? b.secondaryCount,\n }\n}\n\n// Normalize a raw fieldStats response (apply in transformResponse).\nexport const normalizeFieldStats = (stats: FieldStats[]): FieldStats[] =>\n stats.map((s) => ({\n ...s,\n columnName: canonicalColumnId(s.columnName),\n distribution: normalizeDistribution(s.distribution),\n }))\n\n// Merge stats lists by canonical column id, field-wise: overlay's non-null values\n// win, base fills the gaps. A single list also dedupes its own repeated columns.\nexport const mergeFieldStats = (\n overlay: FieldStats[] = [],\n base: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of base) byId.set(canonicalColumnId(s.columnName), { ...s })\n for (const s of overlay) {\n const id = canonicalColumnId(s.columnName)\n const merged: FieldStats = { ...(byId.get(id) || { columnName: s.columnName }) }\n for (const [k, v] of Object.entries(s)) {\n if (v !== null && v !== undefined) (merged as any)[k] = v\n }\n byId.set(id, merged)\n }\n return [...byId.values()]\n}\n\n// Total row count for an entity set = max(filled + not-filled) across its\n// stat columns. Feeds the main folders/tasks count cell.\nexport const totalRowsFromStats = (stats: FieldStats[]): number =>\n stats.reduce(\n (max, s) => Math.max(max, (s.valueFilledCount ?? 0) + (s.valueNotFilledCount ?? 0)),\n 0,\n )\n\n// Combine primary-entity stats (tasks/versions) with group-entity stats\n// (folders/products) for the \"include groups & folders\" row scope.\nexport const combineFieldStats = (\n primary: FieldStats[],\n group: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of primary) byId.set(canonicalColumnId(s.columnName), s)\n const out = new Map(byId)\n for (const g of group) {\n const id = canonicalColumnId(g.columnName)\n const p = byId.get(id)\n out.set(id, p ? combineTwo(p, g) : g)\n }\n return [...out.values()]\n}\n\nexport const transformStatsError = (error: any, entityType: string): string => {\n const message = error?.message ?? 'Unknown stats error'\n console.error(`Error fetching ${entityType} stats:`, error)\n return message\n}\n"],"names":["snakeToCamel","s","_","c","COLUMN_ALIASES","canonicalColumnId","name","normalizeDistribution","raw","value","byValue","d","vals","v","prev","count","sumN","a","b","lowest","highest","pct","part","rest","combineTwo","filled","notFilled","checked","notChecked","avg","wa","wb","distribution","normalizeFieldStats","stats","mergeFieldStats","overlay","base","byId","id","merged","k","totalRowsFromStats","max","combineFieldStats","primary","group","out","g","p","transformStatsError","error","entityType","message"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"columnStats.es.js","sources":["../../../../../../src/api/queries/columnStats/columnStats.ts"],"sourcesContent":["import { ColumnStats } from '@shared/api/generated'\n// Shape of the backend GraphQL `ColumnStats` (connection.fieldStats).\n// `sum` and `distribution` are typed ahead of backend support so wiring them is a no-op.\nexport interface FieldStats extends ColumnStats {\n primaryCount?: number | null\n secondaryCount?: number | null\n}\n\nconst snakeToCamel = (s: string): string => s.replace(/_([a-z0-9])/g, (_, c) => c.toUpperCase())\n\n// Per-entity \"type\" columns all map to the unified `subType` column in the table.\n// (`product_base_type` is a separate column — productBaseType — so not aliased.)\nconst COLUMN_ALIASES: Record<string, string> = {\n task_type: 'subType',\n folder_type: 'subType',\n product_type: 'subType',\n}\n\n// Canonical frontend column id for a backend column name. Attribute columns keep\n// their `attrib_` form; everything else is snake_case on the backend but camelCase\n// in the table (product_base_type → productBaseType, created_at → createdAt).\nexport const canonicalColumnId = (name: string): string => {\n if (name in COLUMN_ALIASES) return COLUMN_ALIASES[name]\n if (name.startsWith('project_attributes_')) {\n return 'attrib_' + name.slice('project_attributes_'.length)\n }\n if (name.startsWith('inherited_attributes_')) {\n return 'attrib_' + name.slice('inherited_attributes_'.length)\n }\n if (name.startsWith('attrib_')) return name\n return snakeToCamel(name)\n}\n\n// list_of_strings attrs arrive as one bucket keyed by the whole array serialized\n// to text (backend GROUP BY on attrib->>'name'); split it so each element counts.\nconst toDistributionValues = (v: unknown): unknown[] => {\n if (Array.isArray(v)) return v\n if (typeof v === 'string') {\n const t = v.trim()\n if (t.startsWith('[') && t.endsWith(']')) {\n try {\n const parsed = JSON.parse(t)\n if (Array.isArray(parsed)) return parsed\n } catch {}\n }\n }\n return [v]\n}\n\nconst normalizeDistribution = (raw: unknown): FieldStats['distribution'] => {\n if (raw == null) return undefined\n let value = raw\n if (typeof value === 'string') {\n try {\n value = JSON.parse(value)\n } catch {\n return undefined\n }\n }\n if (Array.isArray(value)) {\n // dedupe by value; array buckets (tags/assignees combos) unnest per value\n const byValue = new Map<string, { value: string; count: number }>()\n for (const d of value) {\n if (!d || d.value == null) continue\n const vals = toDistributionValues(d.value)\n for (const raw of vals) {\n const v = String(raw)\n const prev = byValue.get(v)\n byValue.set(v, { ...d, value: v, count: (prev?.count ?? 0) + (Number(d.count) || 0) })\n }\n }\n return [...byValue.values()]\n }\n if (typeof value === 'object') {\n return Object.entries(value as Record<string, unknown>).map(([v, count]) => ({\n value: v,\n count: Number(count) || 0,\n }))\n }\n return undefined\n}\n\nconst sumN = (a?: number | null, b?: number | null): number | undefined =>\n a == null && b == null ? undefined : (a ?? 0) + (b ?? 0)\nconst lowest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a < b ? a : b\nconst highest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a > b ? a : b\nconst pct = (part?: number, rest?: number): number | undefined =>\n part != null && rest != null && part + rest > 0\n ? Math.round((part / (part + rest)) * 10000) / 100\n : undefined\n\n// Additive combine of one column's stats from two entity sets (e.g. folder +\n// task). Counts sum, min/max widen, percentages recompute, avg is weighted by\n// filled counts when available.\nconst combineTwo = (a: FieldStats, b: FieldStats): FieldStats => {\n const filled = sumN(a.valueFilledCount, b.valueFilledCount)\n const notFilled = sumN(a.valueNotFilledCount, b.valueNotFilledCount)\n const checked = sumN(a.checkedCount, b.checkedCount)\n const notChecked = sumN(a.notCheckedCount, b.notCheckedCount)\n\n let avg: number | undefined\n if (a.avg != null && b.avg != null) {\n const wa = a.valueFilledCount\n const wb = b.valueFilledCount\n avg =\n wa != null && wb != null && wa + wb > 0\n ? (a.avg * wa + b.avg * wb) / (wa + wb)\n : (a.avg + b.avg) / 2\n avg = Math.round(avg * 100) / 100\n } else {\n avg = a.avg ?? b.avg ?? undefined\n }\n\n let distribution: FieldStats['distribution']\n if (a.distribution?.length || b.distribution?.length) {\n const byValue = new Map<string, NonNullable<FieldStats['distribution']>[number]>()\n for (const d of [...(a.distribution ?? []), ...(b.distribution ?? [])]) {\n const prev = byValue.get(d.value)\n byValue.set(d.value, prev ? { ...prev, count: prev.count + d.count } : { ...d })\n }\n distribution = [...byValue.values()]\n }\n\n return {\n columnName: a.columnName,\n min: lowest(a.min, b.min),\n max: highest(a.max, b.max),\n avg,\n sum: sumN(a.sum, b.sum),\n valueFilledCount: filled,\n valueNotFilledCount: notFilled,\n percentageFilled: pct(filled, notFilled),\n percentageNotFilled: pct(notFilled, filled),\n checkedCount: checked,\n notCheckedCount: notChecked,\n checkedPercentage: pct(checked, notChecked),\n notCheckedPercentage: pct(notChecked, checked),\n distribution,\n primaryCount: a.primaryCount ?? b.primaryCount,\n secondaryCount: a.secondaryCount ?? b.secondaryCount,\n }\n}\n\n// Normalize a raw fieldStats response (apply in transformResponse).\nexport const normalizeFieldStats = (stats: FieldStats[]): FieldStats[] =>\n stats.map((s) => ({\n ...s,\n columnName: canonicalColumnId(s.columnName),\n distribution: normalizeDistribution(s.distribution),\n }))\n\n// Merge stats lists by canonical column id, field-wise: overlay's non-null values\n// win, base fills the gaps. A single list also dedupes its own repeated columns.\nexport const mergeFieldStats = (\n overlay: FieldStats[] = [],\n base: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of base) byId.set(canonicalColumnId(s.columnName), { ...s })\n for (const s of overlay) {\n const id = canonicalColumnId(s.columnName)\n const merged: FieldStats = { ...(byId.get(id) || { columnName: s.columnName }) }\n for (const [k, v] of Object.entries(s)) {\n if (v !== null && v !== undefined) (merged as any)[k] = v\n }\n byId.set(id, merged)\n }\n return [...byId.values()]\n}\n\n// Total row count for an entity set = max(filled + not-filled) across its\n// stat columns. Feeds the main folders/tasks count cell.\nexport const totalRowsFromStats = (stats: FieldStats[]): number =>\n stats.reduce(\n (max, s) => Math.max(max, (s.valueFilledCount ?? 0) + (s.valueNotFilledCount ?? 0)),\n 0,\n )\n\n// Combine primary-entity stats (tasks/versions) with group-entity stats\n// (folders/products) for the \"include groups & folders\" row scope.\nexport const combineFieldStats = (\n primary: FieldStats[],\n group: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of primary) byId.set(canonicalColumnId(s.columnName), s)\n const out = new Map(byId)\n for (const g of group) {\n const id = canonicalColumnId(g.columnName)\n const p = byId.get(id)\n out.set(id, p ? combineTwo(p, g) : g)\n }\n return [...out.values()]\n}\n\nexport const transformStatsError = (error: any, entityType: string): string => {\n const message = error?.message ?? 'Unknown stats error'\n console.error(`Error fetching ${entityType} stats:`, error)\n return message\n}\n"],"names":["snakeToCamel","s","_","c","COLUMN_ALIASES","canonicalColumnId","name","toDistributionValues","v","t","parsed","normalizeDistribution","raw","value","byValue","d","vals","prev","count","sumN","a","b","lowest","highest","pct","part","rest","combineTwo","filled","notFilled","checked","notChecked","avg","wa","wb","distribution","normalizeFieldStats","stats","mergeFieldStats","overlay","base","byId","id","merged","k","totalRowsFromStats","max","combineFieldStats","primary","group","out","g","p","transformStatsError","error","entityType","message"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const d=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.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/projectFolders.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 m=require("./columnStats.cjs.js"),p=[d.StatsOperation.Distribution,d.StatsOperation.Filled,d.StatsOperation.NotFilled],T={status:"status",assignees:"assignees",tags:"tags",taskType:"task_type"},
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const d=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.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/projectFolders.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 m=require("./columnStats.cjs.js"),p=[d.StatsOperation.Distribution,d.StatsOperation.Filled,d.StatsOperation.NotFilled],T={status:"status",assignees:"assignees",tags:"tags",taskType:"task_type"},h={status:"status",tags:"tags",author:"author",productType:"product_type"},F=(r,e)=>{const n=(e==="version"||e==="product"?h:T)[r.id];if(n)return{field:n,aggregations:p};if(r.id.startsWith("attrib.")){const s=r.id.slice(7);return{field:e==="task"||e==="folder"?`inherited_attributes.${s}`:`attrib.${s}`,aggregations:p}}return null},I=r=>{const e=r.indexOf(".");return e!==-1?"attrib_"+r.slice(e+1):m.canonicalColumnId(r)},O=(r,e)=>{const o=new Map,n={count:0,percentage:0};if(!e)return{counts:o,total:0,ungrouped:n,complete:!1};const s=I(e.field),i=r.find(t=>t.columnName===s),l=i?.distribution||[],u=i?.valueNotFilledCount??0,q=i?.valueFilledCount??0,S=!!i&&(l.length>0||q===0),g=l.reduce((t,c)=>t+(c.count||0),0),a=q?q+u:g+u;for(const t of l){const c=t.count||0,b=a>0?Math.round(c/a*100):0;o.set(String(t.value),{count:c,percentage:b})}const f={count:u,percentage:g>0&&u>0?Math.round(u/a*100):void 0};return{counts:o,total:a,ungrouped:f,complete:S}};exports.groupByToStatsTarget=F;exports.selectGroupCounts=O;
|
|
2
2
|
//# sourceMappingURL=groupCounts.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groupCounts.cjs.js","sources":["../../../../../../src/api/queries/columnStats/groupCounts.ts"],"sourcesContent":["// Pure helpers for per-group counts on grouped table rows. Reuse the existing\n// filter-aware column-stats distribution; no new endpoint. Kept free of query\n// hooks so it stays unit-testable and outside the api<->container import edge.\nimport { StatsOperation } from '@shared/api/generated'\nimport { canonicalColumnId, type FieldStats } from './columnStats'\nimport type { MetricTarget, StatsEntity } from './metricTargets'\n\nexport type GroupCount = { count: number; percentage?: number }\nexport type GroupCountsMap = Map<string, GroupCount>\nexport type GroupCountsSelection = {\n counts: GroupCountsMap\n total: number\n // the null/empty bucket (no value for the grouped field) -> Ungrouped row\n ungrouped: GroupCount\n complete: boolean\n}\n\n// Distribution = per-group counts; Filled/NotFilled = entity totals for the\n// percentage denominator (an entity with N values counts once, not N times).\nconst DISTRIBUTION_AGGS = [\n StatsOperation.Distribution,\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n]\n\n// groupBy.id -> backend stats field, per entity. Only the field-value groupings\n// the distribution endpoint covers; folder/folderType/hierarchy return null.\nconst TASK_FIELDS: Record<string, string> = {\n status: 'status',\n assignees: 'assignees',\n tags: 'tags',\n taskType: 'task_type',\n}\nconst VERSION_FIELDS: Record<string, string> = {\n status: 'status',\n tags: 'tags',\n}\n\nexport const groupByToStatsTarget = (\n groupBy: { id: string },\n entity: StatsEntity,\n): MetricTarget | null => {\n const fields = entity === 'version' || entity === 'product' ? VERSION_FIELDS : TASK_FIELDS\n const field = fields[groupBy.id]\n if (field) return { field, aggregations: DISTRIBUTION_AGGS }\n\n if (groupBy.id.startsWith('attrib.')) {\n const name = groupBy.id.slice('attrib.'.length)\n // tasks/folders display inherited attrib values; versions/products use own\n const attribField =\n entity === 'task' || entity === 'folder' ? `inherited_attributes.${name}` : `attrib.${name}`\n return { field: attribField, aggregations: DISTRIBUTION_AGGS }\n }\n\n return null\n}\n\n// Map a stats target field to the canonical fieldStats columnName. Attribute\n// targets are dot-paths (inherited_attributes.x / attrib.x) that canonicalColumnId\n// (underscore-based) won't normalize, so resolve those to attrib_<name> here.\nconst targetToColumnId = (field: string): string => {\n const dot = field.indexOf('.')\n if (dot !== -1) return 'attrib_' + field.slice(dot + 1)\n return canonicalColumnId(field)\n}\n\nexport const selectGroupCounts = (\n fieldStats: FieldStats[],\n target: MetricTarget | null,\n): GroupCountsSelection => {\n const counts: GroupCountsMap = new Map()\n const none: GroupCount = { count: 0, percentage: 0 }\n if (!target) return { counts, total: 0, ungrouped: none, complete: false }\n\n const columnId = targetToColumnId(target.field)\n const stat = fieldStats.find((s) => s.columnName === columnId)\n const distribution = (stat?.distribution || []) as { value: string; count?: number | null }[]\n const notFilled = stat?.valueNotFilledCount ?? 0\n const filled = stat?.valueFilledCount ?? 0\n const complete = !!stat && (distribution.length > 0 || filled === 0)\n\n const distSum = distribution.reduce((sum, d) => sum + (d.count || 0), 0)\n // entity total when valueFilledCount is available (an entity with N values\n // counts once); else fall back to the distribution sum (may over-count lists).\n const total = filled ? filled + notFilled : distSum + notFilled\n\n for (const d of distribution) {\n const count = d.count || 0\n const percentage = total > 0 ? Math.round((count / total) * 100) : 0\n counts.set(String(d.value), { count, percentage })\n }\n\n // No distribution (e.g. free-text fields like description) -> named groups carry\n // no %, so the Ungrouped remainder would be a meaningless 100%. Show count only.\n const ungrouped: GroupCount = {\n count: notFilled,\n percentage: distSum > 0 && notFilled > 0 ? Math.round((notFilled / total) * 100) : undefined,\n }\n return { counts, total, ungrouped, complete }\n}\n"],"names":["DISTRIBUTION_AGGS","StatsOperation","TASK_FIELDS","VERSION_FIELDS","groupByToStatsTarget","groupBy","entity","field","name","targetToColumnId","dot","canonicalColumnId","selectGroupCounts","fieldStats","target","counts","none","columnId","stat","s","distribution","notFilled","filled","complete","distSum","sum","d","total","count","percentage","ungrouped"],"mappings":"4zDAmBMA,EAAoB,CACxBC,EAAAA,eAAe,aACfA,EAAAA,eAAe,OACfA,iBAAe,SACjB,EAIMC,EAAsC,CAC1C,OAAQ,SACR,UAAW,YACX,KAAM,OACN,SAAU,WACZ,
|
|
1
|
+
{"version":3,"file":"groupCounts.cjs.js","sources":["../../../../../../src/api/queries/columnStats/groupCounts.ts"],"sourcesContent":["// Pure helpers for per-group counts on grouped table rows. Reuse the existing\n// filter-aware column-stats distribution; no new endpoint. Kept free of query\n// hooks so it stays unit-testable and outside the api<->container import edge.\nimport { StatsOperation } from '@shared/api/generated'\nimport { canonicalColumnId, type FieldStats } from './columnStats'\nimport type { MetricTarget, StatsEntity } from './metricTargets'\n\nexport type GroupCount = { count: number; percentage?: number }\nexport type GroupCountsMap = Map<string, GroupCount>\nexport type GroupCountsSelection = {\n counts: GroupCountsMap\n total: number\n // the null/empty bucket (no value for the grouped field) -> Ungrouped row\n ungrouped: GroupCount\n complete: boolean\n}\n\n// Distribution = per-group counts; Filled/NotFilled = entity totals for the\n// percentage denominator (an entity with N values counts once, not N times).\nconst DISTRIBUTION_AGGS = [\n StatsOperation.Distribution,\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n]\n\n// groupBy.id -> backend stats field, per entity. Only the field-value groupings\n// the distribution endpoint covers; folder/folderType/hierarchy return null.\nconst TASK_FIELDS: Record<string, string> = {\n status: 'status',\n assignees: 'assignees',\n tags: 'tags',\n taskType: 'task_type',\n}\n// Versions distribute over columns projected into their stats raw_data CTE: native\n// versions.* columns (status, tags, author, own attrib.*) plus the joined subtype\n// columns the backend now projects (product_type/task_type/folder_type).\n// Only ONE subtype field can back version counts at a time: product_type and task_type\n// both canonicalize to the `subType` columnName (COLUMN_ALIASES) and would clobber each\n// other in the merged stats cache. productType is the version slicer's primary\n// dimension, so it wins; taskType stays unmapped.\nconst VERSION_FIELDS: Record<string, string> = {\n status: 'status',\n tags: 'tags',\n author: 'author',\n productType: 'product_type',\n}\n\nexport const groupByToStatsTarget = (\n groupBy: { id: string },\n entity: StatsEntity,\n): MetricTarget | null => {\n const fields = entity === 'version' || entity === 'product' ? VERSION_FIELDS : TASK_FIELDS\n const field = fields[groupBy.id]\n if (field) return { field, aggregations: DISTRIBUTION_AGGS }\n\n if (groupBy.id.startsWith('attrib.')) {\n const name = groupBy.id.slice('attrib.'.length)\n // tasks/folders display inherited attrib values; versions/products use own\n const attribField =\n entity === 'task' || entity === 'folder' ? `inherited_attributes.${name}` : `attrib.${name}`\n return { field: attribField, aggregations: DISTRIBUTION_AGGS }\n }\n\n return null\n}\n\n// Map a stats target field to the canonical fieldStats columnName. Attribute\n// targets are dot-paths (inherited_attributes.x / attrib.x) that canonicalColumnId\n// (underscore-based) won't normalize, so resolve those to attrib_<name> here.\nconst targetToColumnId = (field: string): string => {\n const dot = field.indexOf('.')\n if (dot !== -1) return 'attrib_' + field.slice(dot + 1)\n return canonicalColumnId(field)\n}\n\nexport const selectGroupCounts = (\n fieldStats: FieldStats[],\n target: MetricTarget | null,\n): GroupCountsSelection => {\n const counts: GroupCountsMap = new Map()\n const none: GroupCount = { count: 0, percentage: 0 }\n if (!target) return { counts, total: 0, ungrouped: none, complete: false }\n\n const columnId = targetToColumnId(target.field)\n const stat = fieldStats.find((s) => s.columnName === columnId)\n const distribution = (stat?.distribution || []) as { value: string; count?: number | null }[]\n const notFilled = stat?.valueNotFilledCount ?? 0\n const filled = stat?.valueFilledCount ?? 0\n const complete = !!stat && (distribution.length > 0 || filled === 0)\n\n const distSum = distribution.reduce((sum, d) => sum + (d.count || 0), 0)\n // entity total when valueFilledCount is available (an entity with N values\n // counts once); else fall back to the distribution sum (may over-count lists).\n const total = filled ? filled + notFilled : distSum + notFilled\n\n for (const d of distribution) {\n const count = d.count || 0\n const percentage = total > 0 ? Math.round((count / total) * 100) : 0\n counts.set(String(d.value), { count, percentage })\n }\n\n // No distribution (e.g. free-text fields like description) -> named groups carry\n // no %, so the Ungrouped remainder would be a meaningless 100%. Show count only.\n const ungrouped: GroupCount = {\n count: notFilled,\n percentage: distSum > 0 && notFilled > 0 ? Math.round((notFilled / total) * 100) : undefined,\n }\n return { counts, total, ungrouped, complete }\n}\n"],"names":["DISTRIBUTION_AGGS","StatsOperation","TASK_FIELDS","VERSION_FIELDS","groupByToStatsTarget","groupBy","entity","field","name","targetToColumnId","dot","canonicalColumnId","selectGroupCounts","fieldStats","target","counts","none","columnId","stat","s","distribution","notFilled","filled","complete","distSum","sum","d","total","count","percentage","ungrouped"],"mappings":"4zDAmBMA,EAAoB,CACxBC,EAAAA,eAAe,aACfA,EAAAA,eAAe,OACfA,iBAAe,SACjB,EAIMC,EAAsC,CAC1C,OAAQ,SACR,UAAW,YACX,KAAM,OACN,SAAU,WACZ,EAQMC,EAAyC,CAC7C,OAAQ,SACR,KAAM,OACN,OAAQ,SACR,YAAa,cACf,EAEaC,EAAuB,CAClCC,EACAC,IACwB,CAExB,MAAMC,GADSD,IAAW,WAAaA,IAAW,UAAYH,EAAiBD,GAC1DG,EAAQ,EAAE,EAC/B,GAAIE,EAAO,MAAO,CAAE,MAAAA,EAAO,aAAcP,CAAA,EAEzC,GAAIK,EAAQ,GAAG,WAAW,SAAS,EAAG,CACpC,MAAMG,EAAOH,EAAQ,GAAG,MAAM,CAAgB,EAI9C,MAAO,CAAE,MADPC,IAAW,QAAUA,IAAW,SAAW,wBAAwBE,CAAI,GAAK,UAAUA,CAAI,GAC/D,aAAcR,CAAA,CAC7C,CAEA,OAAO,IACT,EAKMS,EAAoBF,GAA0B,CAClD,MAAMG,EAAMH,EAAM,QAAQ,GAAG,EAC7B,OAAIG,IAAQ,GAAW,UAAYH,EAAM,MAAMG,EAAM,CAAC,EAC/CC,EAAAA,kBAAkBJ,CAAK,CAChC,EAEaK,EAAoB,CAC/BC,EACAC,IACyB,CACzB,MAAMC,MAA6B,IAC7BC,EAAmB,CAAE,MAAO,EAAG,WAAY,CAAA,EACjD,GAAI,CAACF,EAAQ,MAAO,CAAE,OAAAC,EAAQ,MAAO,EAAG,UAAWC,EAAM,SAAU,EAAA,EAEnE,MAAMC,EAAWR,EAAiBK,EAAO,KAAK,EACxCI,EAAOL,EAAW,KAAMM,GAAMA,EAAE,aAAeF,CAAQ,EACvDG,EAAgBF,GAAM,cAAgB,CAAA,EACtCG,EAAYH,GAAM,qBAAuB,EACzCI,EAASJ,GAAM,kBAAoB,EACnCK,EAAW,CAAC,CAACL,IAASE,EAAa,OAAS,GAAKE,IAAW,GAE5DE,EAAUJ,EAAa,OAAO,CAACK,EAAKC,IAAMD,GAAOC,EAAE,OAAS,GAAI,CAAC,EAGjEC,EAAQL,EAASA,EAASD,EAAYG,EAAUH,EAEtD,UAAWK,KAAKN,EAAc,CAC5B,MAAMQ,EAAQF,EAAE,OAAS,EACnBG,EAAaF,EAAQ,EAAI,KAAK,MAAOC,EAAQD,EAAS,GAAG,EAAI,EACnEZ,EAAO,IAAI,OAAOW,EAAE,KAAK,EAAG,CAAE,MAAAE,EAAO,WAAAC,EAAY,CACnD,CAIA,MAAMC,EAAwB,CAC5B,MAAOT,EACP,WAAYG,EAAU,GAAKH,EAAY,EAAI,KAAK,MAAOA,EAAYM,EAAS,GAAG,EAAI,MAAA,EAErF,MAAO,CAAE,OAAAZ,EAAQ,MAAAY,EAAO,UAAAG,EAAW,SAAAP,CAAA,CACrC"}
|
|
@@ -48,27 +48,29 @@ const g = [
|
|
|
48
48
|
assignees: "assignees",
|
|
49
49
|
tags: "tags",
|
|
50
50
|
taskType: "task_type"
|
|
51
|
-
},
|
|
51
|
+
}, h = {
|
|
52
52
|
status: "status",
|
|
53
|
-
tags: "tags"
|
|
53
|
+
tags: "tags",
|
|
54
|
+
author: "author",
|
|
55
|
+
productType: "product_type"
|
|
54
56
|
}, at = (o, t) => {
|
|
55
|
-
const e = (t === "version" || t === "product" ?
|
|
57
|
+
const e = (t === "version" || t === "product" ? h : I)[o.id];
|
|
56
58
|
if (e) return { field: e, aggregations: g };
|
|
57
59
|
if (o.id.startsWith("attrib.")) {
|
|
58
60
|
const p = o.id.slice(7);
|
|
59
61
|
return { field: t === "task" || t === "folder" ? `inherited_attributes.${p}` : `attrib.${p}`, aggregations: g };
|
|
60
62
|
}
|
|
61
63
|
return null;
|
|
62
|
-
},
|
|
64
|
+
}, T = (o) => {
|
|
63
65
|
const t = o.indexOf(".");
|
|
64
66
|
return t !== -1 ? "attrib_" + o.slice(t + 1) : F(o);
|
|
65
67
|
}, ct = (o, t) => {
|
|
66
68
|
const s = /* @__PURE__ */ new Map(), e = { count: 0, percentage: 0 };
|
|
67
69
|
if (!t) return { counts: s, total: 0, ungrouped: e, complete: !1 };
|
|
68
|
-
const p =
|
|
69
|
-
for (const
|
|
70
|
-
const a =
|
|
71
|
-
s.set(String(
|
|
70
|
+
const p = T(t.field), i = o.find((r) => r.columnName === p), c = i?.distribution || [], n = i?.valueNotFilledCount ?? 0, u = i?.valueFilledCount ?? 0, f = !!i && (c.length > 0 || u === 0), d = c.reduce((r, a) => r + (a.count || 0), 0), m = u ? u + n : d + n;
|
|
71
|
+
for (const r of c) {
|
|
72
|
+
const a = r.count || 0, S = m > 0 ? Math.round(a / m * 100) : 0;
|
|
73
|
+
s.set(String(r.value), { count: a, percentage: S });
|
|
72
74
|
}
|
|
73
75
|
const b = {
|
|
74
76
|
count: n,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groupCounts.es.js","sources":["../../../../../../src/api/queries/columnStats/groupCounts.ts"],"sourcesContent":["// Pure helpers for per-group counts on grouped table rows. Reuse the existing\n// filter-aware column-stats distribution; no new endpoint. Kept free of query\n// hooks so it stays unit-testable and outside the api<->container import edge.\nimport { StatsOperation } from '@shared/api/generated'\nimport { canonicalColumnId, type FieldStats } from './columnStats'\nimport type { MetricTarget, StatsEntity } from './metricTargets'\n\nexport type GroupCount = { count: number; percentage?: number }\nexport type GroupCountsMap = Map<string, GroupCount>\nexport type GroupCountsSelection = {\n counts: GroupCountsMap\n total: number\n // the null/empty bucket (no value for the grouped field) -> Ungrouped row\n ungrouped: GroupCount\n complete: boolean\n}\n\n// Distribution = per-group counts; Filled/NotFilled = entity totals for the\n// percentage denominator (an entity with N values counts once, not N times).\nconst DISTRIBUTION_AGGS = [\n StatsOperation.Distribution,\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n]\n\n// groupBy.id -> backend stats field, per entity. Only the field-value groupings\n// the distribution endpoint covers; folder/folderType/hierarchy return null.\nconst TASK_FIELDS: Record<string, string> = {\n status: 'status',\n assignees: 'assignees',\n tags: 'tags',\n taskType: 'task_type',\n}\nconst VERSION_FIELDS: Record<string, string> = {\n status: 'status',\n tags: 'tags',\n}\n\nexport const groupByToStatsTarget = (\n groupBy: { id: string },\n entity: StatsEntity,\n): MetricTarget | null => {\n const fields = entity === 'version' || entity === 'product' ? VERSION_FIELDS : TASK_FIELDS\n const field = fields[groupBy.id]\n if (field) return { field, aggregations: DISTRIBUTION_AGGS }\n\n if (groupBy.id.startsWith('attrib.')) {\n const name = groupBy.id.slice('attrib.'.length)\n // tasks/folders display inherited attrib values; versions/products use own\n const attribField =\n entity === 'task' || entity === 'folder' ? `inherited_attributes.${name}` : `attrib.${name}`\n return { field: attribField, aggregations: DISTRIBUTION_AGGS }\n }\n\n return null\n}\n\n// Map a stats target field to the canonical fieldStats columnName. Attribute\n// targets are dot-paths (inherited_attributes.x / attrib.x) that canonicalColumnId\n// (underscore-based) won't normalize, so resolve those to attrib_<name> here.\nconst targetToColumnId = (field: string): string => {\n const dot = field.indexOf('.')\n if (dot !== -1) return 'attrib_' + field.slice(dot + 1)\n return canonicalColumnId(field)\n}\n\nexport const selectGroupCounts = (\n fieldStats: FieldStats[],\n target: MetricTarget | null,\n): GroupCountsSelection => {\n const counts: GroupCountsMap = new Map()\n const none: GroupCount = { count: 0, percentage: 0 }\n if (!target) return { counts, total: 0, ungrouped: none, complete: false }\n\n const columnId = targetToColumnId(target.field)\n const stat = fieldStats.find((s) => s.columnName === columnId)\n const distribution = (stat?.distribution || []) as { value: string; count?: number | null }[]\n const notFilled = stat?.valueNotFilledCount ?? 0\n const filled = stat?.valueFilledCount ?? 0\n const complete = !!stat && (distribution.length > 0 || filled === 0)\n\n const distSum = distribution.reduce((sum, d) => sum + (d.count || 0), 0)\n // entity total when valueFilledCount is available (an entity with N values\n // counts once); else fall back to the distribution sum (may over-count lists).\n const total = filled ? filled + notFilled : distSum + notFilled\n\n for (const d of distribution) {\n const count = d.count || 0\n const percentage = total > 0 ? Math.round((count / total) * 100) : 0\n counts.set(String(d.value), { count, percentage })\n }\n\n // No distribution (e.g. free-text fields like description) -> named groups carry\n // no %, so the Ungrouped remainder would be a meaningless 100%. Show count only.\n const ungrouped: GroupCount = {\n count: notFilled,\n percentage: distSum > 0 && notFilled > 0 ? Math.round((notFilled / total) * 100) : undefined,\n }\n return { counts, total, ungrouped, complete }\n}\n"],"names":["DISTRIBUTION_AGGS","StatsOperation","TASK_FIELDS","VERSION_FIELDS","groupByToStatsTarget","groupBy","entity","field","name","targetToColumnId","dot","canonicalColumnId","selectGroupCounts","fieldStats","target","counts","none","columnId","stat","s","distribution","notFilled","filled","complete","distSum","sum","d","total","count","percentage","ungrouped"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,MAAMA,IAAoB;AAAA,EACxBC,EAAe;AAAA,EACfA,EAAe;AAAA,EACfA,EAAe;AACjB,GAIMC,IAAsC;AAAA,EAC1C,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,MAAM;AAAA,EACN,UAAU;AACZ,
|
|
1
|
+
{"version":3,"file":"groupCounts.es.js","sources":["../../../../../../src/api/queries/columnStats/groupCounts.ts"],"sourcesContent":["// Pure helpers for per-group counts on grouped table rows. Reuse the existing\n// filter-aware column-stats distribution; no new endpoint. Kept free of query\n// hooks so it stays unit-testable and outside the api<->container import edge.\nimport { StatsOperation } from '@shared/api/generated'\nimport { canonicalColumnId, type FieldStats } from './columnStats'\nimport type { MetricTarget, StatsEntity } from './metricTargets'\n\nexport type GroupCount = { count: number; percentage?: number }\nexport type GroupCountsMap = Map<string, GroupCount>\nexport type GroupCountsSelection = {\n counts: GroupCountsMap\n total: number\n // the null/empty bucket (no value for the grouped field) -> Ungrouped row\n ungrouped: GroupCount\n complete: boolean\n}\n\n// Distribution = per-group counts; Filled/NotFilled = entity totals for the\n// percentage denominator (an entity with N values counts once, not N times).\nconst DISTRIBUTION_AGGS = [\n StatsOperation.Distribution,\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n]\n\n// groupBy.id -> backend stats field, per entity. Only the field-value groupings\n// the distribution endpoint covers; folder/folderType/hierarchy return null.\nconst TASK_FIELDS: Record<string, string> = {\n status: 'status',\n assignees: 'assignees',\n tags: 'tags',\n taskType: 'task_type',\n}\n// Versions distribute over columns projected into their stats raw_data CTE: native\n// versions.* columns (status, tags, author, own attrib.*) plus the joined subtype\n// columns the backend now projects (product_type/task_type/folder_type).\n// Only ONE subtype field can back version counts at a time: product_type and task_type\n// both canonicalize to the `subType` columnName (COLUMN_ALIASES) and would clobber each\n// other in the merged stats cache. productType is the version slicer's primary\n// dimension, so it wins; taskType stays unmapped.\nconst VERSION_FIELDS: Record<string, string> = {\n status: 'status',\n tags: 'tags',\n author: 'author',\n productType: 'product_type',\n}\n\nexport const groupByToStatsTarget = (\n groupBy: { id: string },\n entity: StatsEntity,\n): MetricTarget | null => {\n const fields = entity === 'version' || entity === 'product' ? VERSION_FIELDS : TASK_FIELDS\n const field = fields[groupBy.id]\n if (field) return { field, aggregations: DISTRIBUTION_AGGS }\n\n if (groupBy.id.startsWith('attrib.')) {\n const name = groupBy.id.slice('attrib.'.length)\n // tasks/folders display inherited attrib values; versions/products use own\n const attribField =\n entity === 'task' || entity === 'folder' ? `inherited_attributes.${name}` : `attrib.${name}`\n return { field: attribField, aggregations: DISTRIBUTION_AGGS }\n }\n\n return null\n}\n\n// Map a stats target field to the canonical fieldStats columnName. Attribute\n// targets are dot-paths (inherited_attributes.x / attrib.x) that canonicalColumnId\n// (underscore-based) won't normalize, so resolve those to attrib_<name> here.\nconst targetToColumnId = (field: string): string => {\n const dot = field.indexOf('.')\n if (dot !== -1) return 'attrib_' + field.slice(dot + 1)\n return canonicalColumnId(field)\n}\n\nexport const selectGroupCounts = (\n fieldStats: FieldStats[],\n target: MetricTarget | null,\n): GroupCountsSelection => {\n const counts: GroupCountsMap = new Map()\n const none: GroupCount = { count: 0, percentage: 0 }\n if (!target) return { counts, total: 0, ungrouped: none, complete: false }\n\n const columnId = targetToColumnId(target.field)\n const stat = fieldStats.find((s) => s.columnName === columnId)\n const distribution = (stat?.distribution || []) as { value: string; count?: number | null }[]\n const notFilled = stat?.valueNotFilledCount ?? 0\n const filled = stat?.valueFilledCount ?? 0\n const complete = !!stat && (distribution.length > 0 || filled === 0)\n\n const distSum = distribution.reduce((sum, d) => sum + (d.count || 0), 0)\n // entity total when valueFilledCount is available (an entity with N values\n // counts once); else fall back to the distribution sum (may over-count lists).\n const total = filled ? filled + notFilled : distSum + notFilled\n\n for (const d of distribution) {\n const count = d.count || 0\n const percentage = total > 0 ? Math.round((count / total) * 100) : 0\n counts.set(String(d.value), { count, percentage })\n }\n\n // No distribution (e.g. free-text fields like description) -> named groups carry\n // no %, so the Ungrouped remainder would be a meaningless 100%. Show count only.\n const ungrouped: GroupCount = {\n count: notFilled,\n percentage: distSum > 0 && notFilled > 0 ? Math.round((notFilled / total) * 100) : undefined,\n }\n return { counts, total, ungrouped, complete }\n}\n"],"names":["DISTRIBUTION_AGGS","StatsOperation","TASK_FIELDS","VERSION_FIELDS","groupByToStatsTarget","groupBy","entity","field","name","targetToColumnId","dot","canonicalColumnId","selectGroupCounts","fieldStats","target","counts","none","columnId","stat","s","distribution","notFilled","filled","complete","distSum","sum","d","total","count","percentage","ungrouped"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,MAAMA,IAAoB;AAAA,EACxBC,EAAe;AAAA,EACfA,EAAe;AAAA,EACfA,EAAe;AACjB,GAIMC,IAAsC;AAAA,EAC1C,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,MAAM;AAAA,EACN,UAAU;AACZ,GAQMC,IAAyC;AAAA,EAC7C,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,aAAa;AACf,GAEaC,KAAuB,CAClCC,GACAC,MACwB;AAExB,QAAMC,KADSD,MAAW,aAAaA,MAAW,YAAYH,IAAiBD,GAC1DG,EAAQ,EAAE;AAC/B,MAAIE,EAAO,QAAO,EAAE,OAAAA,GAAO,cAAcP,EAAA;AAEzC,MAAIK,EAAQ,GAAG,WAAW,SAAS,GAAG;AACpC,UAAMG,IAAOH,EAAQ,GAAG,MAAM,CAAgB;AAI9C,WAAO,EAAE,OADPC,MAAW,UAAUA,MAAW,WAAW,wBAAwBE,CAAI,KAAK,UAAUA,CAAI,IAC/D,cAAcR,EAAA;AAAA,EAC7C;AAEA,SAAO;AACT,GAKMS,IAAmB,CAACF,MAA0B;AAClD,QAAMG,IAAMH,EAAM,QAAQ,GAAG;AAC7B,SAAIG,MAAQ,KAAW,YAAYH,EAAM,MAAMG,IAAM,CAAC,IAC/CC,EAAkBJ,CAAK;AAChC,GAEaK,KAAoB,CAC/BC,GACAC,MACyB;AACzB,QAAMC,wBAA6B,IAAA,GAC7BC,IAAmB,EAAE,OAAO,GAAG,YAAY,EAAA;AACjD,MAAI,CAACF,EAAQ,QAAO,EAAE,QAAAC,GAAQ,OAAO,GAAG,WAAWC,GAAM,UAAU,GAAA;AAEnE,QAAMC,IAAWR,EAAiBK,EAAO,KAAK,GACxCI,IAAOL,EAAW,KAAK,CAACM,MAAMA,EAAE,eAAeF,CAAQ,GACvDG,IAAgBF,GAAM,gBAAgB,CAAA,GACtCG,IAAYH,GAAM,uBAAuB,GACzCI,IAASJ,GAAM,oBAAoB,GACnCK,IAAW,CAAC,CAACL,MAASE,EAAa,SAAS,KAAKE,MAAW,IAE5DE,IAAUJ,EAAa,OAAO,CAACK,GAAKC,MAAMD,KAAOC,EAAE,SAAS,IAAI,CAAC,GAGjEC,IAAQL,IAASA,IAASD,IAAYG,IAAUH;AAEtD,aAAWK,KAAKN,GAAc;AAC5B,UAAMQ,IAAQF,EAAE,SAAS,GACnBG,IAAaF,IAAQ,IAAI,KAAK,MAAOC,IAAQD,IAAS,GAAG,IAAI;AACnE,IAAAZ,EAAO,IAAI,OAAOW,EAAE,KAAK,GAAG,EAAE,OAAAE,GAAO,YAAAC,GAAY;AAAA,EACnD;AAIA,QAAMC,IAAwB;AAAA,IAC5B,OAAOT;AAAA,IACP,YAAYG,IAAU,KAAKH,IAAY,IAAI,KAAK,MAAOA,IAAYM,IAAS,GAAG,IAAI;AAAA,EAAA;AAErF,SAAO,EAAE,QAAAZ,GAAQ,OAAAY,GAAO,WAAAG,GAAW,UAAAP,EAAA;AACrC;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../versions/getVersionsProducts.cjs.js"),P=i=>[{type:"product",id:"LIST"},...i.map(n=>({type:"product",id:n.entityId}))],I=(i,n)=>{const s={...i};return Object.keys(n).forEach(o=>{o!=="attrib"&&n[o]!==void 0&&(s[o]=n[o])}),n.attrib&&(s.attrib={...s.attrib,...n.attrib}),s},m=(i,{state:n,dispatch:s},o)=>{if(!i.length)return;const h=P(i),V=a.injectedVersionsPageApi.util.selectInvalidatedBy(n,h),u=new Set(i.filter(e=>e.type==="delete").map(e=>e.entityId)),p=e=>{for(let t=e.length-1;t>=0;t--)u.has(e[t].product?.id)&&e.splice(t,1)};for(const e of V)if(e.endpointName==="getProductsInfinite"){const t=s(a.injectedVersionsPageApi.util.updateQueryData("getProductsInfinite",e.originalArgs,c=>{for(const d of c.pages){for(let r=d.products.length-1;r>=0;r--)u.has(d.products[r].id)&&d.products.splice(r,1);for(let r=0;r<d.products.length;r++){const l=d.products[r],f=i.find(y=>y.entityId===l.id&&y.type!=="delete");f?.data&&(d.products[r]=I(l,f.data))}}}));o?.push(t)}else if(u.size>0&&e.endpointName==="getVersionsInfinite"){const t=s(a.injectedVersionsPageApi.util.updateQueryData("getVersionsInfinite",e.originalArgs,c=>{for(const d of c.pages)p(d.versions)}));o?.push(t)}else if(u.size>0&&(e.endpointName==="getVersionsByProducts"||e.endpointName==="getGroupedVersionsList")){const t=s(a.injectedVersionsPageApi.util.updateQueryData(e.endpointName,e.originalArgs,c=>{p(c.versions)}));o?.push(t)}const g=i.filter(e=>e.type!=="delete");g.length>0&&s(a.injectedVersionsPageApi.util.invalidateTags(P(g)))};exports.patchProducts=m;
|
|
2
2
|
//# sourceMappingURL=patchProducts.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patchProducts.cjs.js","sources":["../../../../../../src/api/queries/overview/patchProducts.ts"],"sourcesContent":["/**\n * PATCH PRODUCTS - Cache patching for product updates\n *\n * This module handles optimistic updates for product entities and invalidates\n * affected caches to trigger refetching.\n *\n * When products are updated via operations, this module:\n * 1. Immediately patches caches with operation data (optimistic update)\n * 2. Invalidates affected caches to trigger automatic refetching\n */\n\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport { RootState } from '@reduxjs/toolkit/query'\nimport { PatchOperation } from './updateOverview'\nimport { injectedVersionsPageApi } from '../versions/getVersionsProducts'\nimport type { ProductNode } from '../versions/getVersionsProducts'\n\n// Helper to get product tags for selectInvalidatedBy and invalidation\nconst getProductTags = (products: Pick<PatchOperation, 'entityId'>[]) => {\n return [\n { type: 'product', id: 'LIST' },\n ...products.map((op) => ({ type: 'product', id: op.entityId })),\n ]\n}\n\n// Helper to merge operation data into a product entity\nconst updateProductWithOperation = (product: ProductNode, operationData: any): ProductNode => {\n const updated = { ...product } as any\n\n // Update top-level properties\n Object.keys(operationData).forEach((key) => {\n if (key === 'attrib') return // Handle separately\n if (operationData[key] !== undefined) {\n updated[key] = operationData[key]\n }\n })\n\n // Handle attrib merging\n if (operationData.attrib) {\n updated.attrib = {\n ...updated.attrib,\n ...operationData.attrib,\n }\n }\n\n return updated as ProductNode\n}\n\n/**\n * Patches product updates into all relevant caches and invalidates them for refetching:\n * 1. Optimistically update getProductsInfinite cache\n * 2. Invalidate all affected caches to trigger automatic refetching\n * 3. For delete operations, invalidate tags immediately\n */\nexport const patchProducts = (\n products: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n if (!products.length) return\n\n const tags = getProductTags(products)\n\n // Step 1: Get caches that need updating using selectInvalidatedBy for product tags\n const productEntries = injectedVersionsPageApi.util.selectInvalidatedBy(state, tags)\n\n // Step 2: Optimistically patch
|
|
1
|
+
{"version":3,"file":"patchProducts.cjs.js","sources":["../../../../../../src/api/queries/overview/patchProducts.ts"],"sourcesContent":["/**\n * PATCH PRODUCTS - Cache patching for product updates\n *\n * This module handles optimistic updates for product entities and invalidates\n * affected caches to trigger refetching.\n *\n * When products are updated via operations, this module:\n * 1. Immediately patches caches with operation data (optimistic update)\n * 2. Invalidates affected caches to trigger automatic refetching\n */\n\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport { RootState } from '@reduxjs/toolkit/query'\nimport { PatchOperation } from './updateOverview'\nimport { injectedVersionsPageApi } from '../versions/getVersionsProducts'\nimport type { ProductNode } from '../versions/getVersionsProducts'\n\n// Helper to get product tags for selectInvalidatedBy and invalidation\nconst getProductTags = (products: Pick<PatchOperation, 'entityId'>[]) => {\n return [\n { type: 'product', id: 'LIST' },\n ...products.map((op) => ({ type: 'product', id: op.entityId })),\n ]\n}\n\n// Helper to merge operation data into a product entity\nconst updateProductWithOperation = (product: ProductNode, operationData: any): ProductNode => {\n const updated = { ...product } as any\n\n // Update top-level properties\n Object.keys(operationData).forEach((key) => {\n if (key === 'attrib') return // Handle separately\n if (operationData[key] !== undefined) {\n updated[key] = operationData[key]\n }\n })\n\n // Handle attrib merging\n if (operationData.attrib) {\n updated.attrib = {\n ...updated.attrib,\n ...operationData.attrib,\n }\n }\n\n return updated as ProductNode\n}\n\n/**\n * Patches product updates into all relevant caches and invalidates them for refetching:\n * 1. Optimistically update getProductsInfinite cache\n * 2. Invalidate all affected caches to trigger automatic refetching\n * 3. For delete operations, invalidate tags immediately\n */\nexport const patchProducts = (\n products: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n if (!products.length) return\n\n const tags = getProductTags(products)\n\n // Step 1: Get caches that need updating using selectInvalidatedBy for product tags\n const productEntries = injectedVersionsPageApi.util.selectInvalidatedBy(state, tags)\n\n // Get IDs of products being deleted\n const deleteIds = new Set(products.filter((op) => op.type === 'delete').map((op) => op.entityId))\n\n // versions of a deleted product are cascade-deleted on the server\n const removeCascadedVersions = (versions: any[]) => {\n for (let i = versions.length - 1; i >= 0; i--) {\n if (deleteIds.has(versions[i].product?.id)) versions.splice(i, 1)\n }\n }\n\n // Step 2: Optimistically patch caches - handle both updates and deletes\n for (const entry of productEntries) {\n if (entry.endpointName === 'getProductsInfinite') {\n const patch = dispatch(\n injectedVersionsPageApi.util.updateQueryData(\n 'getProductsInfinite',\n entry.originalArgs,\n (draft: any) => {\n for (const page of draft.pages) {\n // Remove deleted products (iterate in reverse to avoid index issues)\n for (let i = page.products.length - 1; i >= 0; i--) {\n if (deleteIds.has(page.products[i].id)) {\n page.products.splice(i, 1)\n }\n }\n // Update remaining products\n for (let i = 0; i < page.products.length; i++) {\n const product = page.products[i]\n const operation = products.find(\n (op) => op.entityId === product.id && op.type !== 'delete',\n )\n if (operation?.data) {\n page.products[i] = updateProductWithOperation(product, operation.data)\n }\n }\n }\n },\n ),\n )\n patches?.push(patch)\n } else if (deleteIds.size > 0 && entry.endpointName === 'getVersionsInfinite') {\n const patch = dispatch(\n injectedVersionsPageApi.util.updateQueryData(\n 'getVersionsInfinite',\n entry.originalArgs,\n (draft: any) => {\n for (const page of draft.pages) {\n removeCascadedVersions(page.versions)\n }\n },\n ),\n )\n patches?.push(patch)\n } else if (\n deleteIds.size > 0 &&\n (entry.endpointName === 'getVersionsByProducts' ||\n entry.endpointName === 'getGroupedVersionsList')\n ) {\n const patch = dispatch(\n injectedVersionsPageApi.util.updateQueryData(\n entry.endpointName as 'getVersionsByProducts',\n entry.originalArgs,\n (draft: any) => {\n removeCascadedVersions(draft.versions)\n },\n ),\n )\n patches?.push(patch)\n }\n }\n\n // Invalidate updated rows only; deletes have nothing to refresh — reconciled by invalidatesTags.\n const nonDeleteOps = products.filter((op) => op.type !== 'delete')\n if (nonDeleteOps.length > 0) {\n dispatch(injectedVersionsPageApi.util.invalidateTags(getProductTags(nonDeleteOps)))\n }\n}\n"],"names":["getProductTags","products","op","updateProductWithOperation","product","operationData","updated","key","patchProducts","state","dispatch","patches","tags","productEntries","injectedVersionsPageApi","deleteIds","removeCascadedVersions","versions","i","entry","patch","draft","page","operation","nonDeleteOps"],"mappings":"0IAkBMA,EAAkBC,GACf,CACL,CAAE,KAAM,UAAW,GAAI,MAAA,EACvB,GAAGA,EAAS,IAAKC,IAAQ,CAAE,KAAM,UAAW,GAAIA,EAAG,UAAW,CAAA,EAK5DC,EAA6B,CAACC,EAAsBC,IAAoC,CAC5F,MAAMC,EAAU,CAAE,GAAGF,CAAA,EAGrB,cAAO,KAAKC,CAAa,EAAE,QAASE,GAAQ,CACtCA,IAAQ,UACRF,EAAcE,CAAG,IAAM,SACzBD,EAAQC,CAAG,EAAIF,EAAcE,CAAG,EAEpC,CAAC,EAGGF,EAAc,SAChBC,EAAQ,OAAS,CACf,GAAGA,EAAQ,OACX,GAAGD,EAAc,MAAA,GAIdC,CACT,EAQaE,EAAgB,CAC3BP,EACA,CACE,MAAAQ,EACA,SAAAC,CACF,EAIAC,IACG,CACH,GAAI,CAACV,EAAS,OAAQ,OAEtB,MAAMW,EAAOZ,EAAeC,CAAQ,EAG9BY,EAAiBC,EAAAA,wBAAwB,KAAK,oBAAoBL,EAAOG,CAAI,EAG7EG,EAAY,IAAI,IAAId,EAAS,OAAQC,GAAOA,EAAG,OAAS,QAAQ,EAAE,IAAKA,GAAOA,EAAG,QAAQ,CAAC,EAG1Fc,EAA0BC,GAAoB,CAClD,QAASC,EAAID,EAAS,OAAS,EAAGC,GAAK,EAAGA,IACpCH,EAAU,IAAIE,EAASC,CAAC,EAAE,SAAS,EAAE,GAAGD,EAAS,OAAOC,EAAG,CAAC,CAEpE,EAGA,UAAWC,KAASN,EAClB,GAAIM,EAAM,eAAiB,sBAAuB,CAChD,MAAMC,EAAQV,EACZI,EAAAA,wBAAwB,KAAK,gBAC3B,sBACAK,EAAM,aACLE,GAAe,CACd,UAAWC,KAAQD,EAAM,MAAO,CAE9B,QAASH,EAAII,EAAK,SAAS,OAAS,EAAGJ,GAAK,EAAGA,IACzCH,EAAU,IAAIO,EAAK,SAASJ,CAAC,EAAE,EAAE,GACnCI,EAAK,SAAS,OAAOJ,EAAG,CAAC,EAI7B,QAASA,EAAI,EAAGA,EAAII,EAAK,SAAS,OAAQJ,IAAK,CAC7C,MAAMd,EAAUkB,EAAK,SAASJ,CAAC,EACzBK,EAAYtB,EAAS,KACxBC,GAAOA,EAAG,WAAaE,EAAQ,IAAMF,EAAG,OAAS,QAAA,EAEhDqB,GAAW,OACbD,EAAK,SAASJ,CAAC,EAAIf,EAA2BC,EAASmB,EAAU,IAAI,EAEzE,CACF,CACF,CAAA,CACF,EAEFZ,GAAS,KAAKS,CAAK,CACrB,SAAWL,EAAU,KAAO,GAAKI,EAAM,eAAiB,sBAAuB,CAC7E,MAAMC,EAAQV,EACZI,EAAAA,wBAAwB,KAAK,gBAC3B,sBACAK,EAAM,aACLE,GAAe,CACd,UAAWC,KAAQD,EAAM,MACvBL,EAAuBM,EAAK,QAAQ,CAExC,CAAA,CACF,EAEFX,GAAS,KAAKS,CAAK,CACrB,SACEL,EAAU,KAAO,IAChBI,EAAM,eAAiB,yBACtBA,EAAM,eAAiB,0BACzB,CACA,MAAMC,EAAQV,EACZI,EAAAA,wBAAwB,KAAK,gBAC3BK,EAAM,aACNA,EAAM,aACLE,GAAe,CACdL,EAAuBK,EAAM,QAAQ,CACvC,CAAA,CACF,EAEFV,GAAS,KAAKS,CAAK,CACrB,CAIF,MAAMI,EAAevB,EAAS,OAAQC,GAAOA,EAAG,OAAS,QAAQ,EAC7DsB,EAAa,OAAS,GACxBd,EAASI,EAAAA,wBAAwB,KAAK,eAAed,EAAewB,CAAY,CAAC,CAAC,CAEtF"}
|
|
@@ -1,41 +1,73 @@
|
|
|
1
|
-
import { injectedVersionsPageApi as
|
|
2
|
-
const
|
|
1
|
+
import { injectedVersionsPageApi as c } from "../versions/getVersionsProducts.es.js";
|
|
2
|
+
const h = (i) => [
|
|
3
3
|
{ type: "product", id: "LIST" },
|
|
4
|
-
...i.map((
|
|
5
|
-
],
|
|
6
|
-
const
|
|
7
|
-
return Object.keys(
|
|
8
|
-
|
|
9
|
-
}),
|
|
10
|
-
...
|
|
11
|
-
...
|
|
12
|
-
}),
|
|
13
|
-
},
|
|
14
|
-
state:
|
|
15
|
-
dispatch:
|
|
16
|
-
},
|
|
4
|
+
...i.map((n) => ({ type: "product", id: n.entityId }))
|
|
5
|
+
], P = (i, n) => {
|
|
6
|
+
const s = { ...i };
|
|
7
|
+
return Object.keys(n).forEach((r) => {
|
|
8
|
+
r !== "attrib" && n[r] !== void 0 && (s[r] = n[r]);
|
|
9
|
+
}), n.attrib && (s.attrib = {
|
|
10
|
+
...s.attrib,
|
|
11
|
+
...n.attrib
|
|
12
|
+
}), s;
|
|
13
|
+
}, V = (i, {
|
|
14
|
+
state: n,
|
|
15
|
+
dispatch: s
|
|
16
|
+
}, r) => {
|
|
17
17
|
if (!i.length) return;
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
const m = h(i), I = c.util.selectInvalidatedBy(n, m), p = new Set(i.filter((t) => t.type === "delete").map((t) => t.entityId)), u = (t) => {
|
|
19
|
+
for (let e = t.length - 1; e >= 0; e--)
|
|
20
|
+
p.has(t[e].product?.id) && t.splice(e, 1);
|
|
21
|
+
};
|
|
22
|
+
for (const t of I)
|
|
23
|
+
if (t.endpointName === "getProductsInfinite") {
|
|
24
|
+
const e = s(
|
|
25
|
+
c.util.updateQueryData(
|
|
23
26
|
"getProductsInfinite",
|
|
24
|
-
|
|
25
|
-
(
|
|
26
|
-
for (const
|
|
27
|
-
for (let
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
t.originalArgs,
|
|
28
|
+
(a) => {
|
|
29
|
+
for (const d of a.pages) {
|
|
30
|
+
for (let o = d.products.length - 1; o >= 0; o--)
|
|
31
|
+
p.has(d.products[o].id) && d.products.splice(o, 1);
|
|
32
|
+
for (let o = 0; o < d.products.length; o++) {
|
|
33
|
+
const f = d.products[o], g = i.find(
|
|
34
|
+
(y) => y.entityId === f.id && y.type !== "delete"
|
|
35
|
+
);
|
|
36
|
+
g?.data && (d.products[o] = P(f, g.data));
|
|
30
37
|
}
|
|
38
|
+
}
|
|
31
39
|
}
|
|
32
40
|
)
|
|
33
41
|
);
|
|
34
|
-
|
|
42
|
+
r?.push(e);
|
|
43
|
+
} else if (p.size > 0 && t.endpointName === "getVersionsInfinite") {
|
|
44
|
+
const e = s(
|
|
45
|
+
c.util.updateQueryData(
|
|
46
|
+
"getVersionsInfinite",
|
|
47
|
+
t.originalArgs,
|
|
48
|
+
(a) => {
|
|
49
|
+
for (const d of a.pages)
|
|
50
|
+
u(d.versions);
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
);
|
|
54
|
+
r?.push(e);
|
|
55
|
+
} else if (p.size > 0 && (t.endpointName === "getVersionsByProducts" || t.endpointName === "getGroupedVersionsList")) {
|
|
56
|
+
const e = s(
|
|
57
|
+
c.util.updateQueryData(
|
|
58
|
+
t.endpointName,
|
|
59
|
+
t.originalArgs,
|
|
60
|
+
(a) => {
|
|
61
|
+
u(a.versions);
|
|
62
|
+
}
|
|
63
|
+
)
|
|
64
|
+
);
|
|
65
|
+
r?.push(e);
|
|
35
66
|
}
|
|
36
|
-
|
|
67
|
+
const l = i.filter((t) => t.type !== "delete");
|
|
68
|
+
l.length > 0 && s(c.util.invalidateTags(h(l)));
|
|
37
69
|
};
|
|
38
70
|
export {
|
|
39
|
-
|
|
71
|
+
V as patchProducts
|
|
40
72
|
};
|
|
41
73
|
//# sourceMappingURL=patchProducts.es.js.map
|