@platforma-sdk/ui-vue 1.58.5 → 1.58.9
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/.turbo/turbo-build.log +195 -181
- package/.turbo/turbo-formatter$colon$check.log +2 -2
- package/.turbo/turbo-linter$colon$check.log +2 -2
- package/.turbo/turbo-types$colon$check.log +1 -1
- package/CHANGELOG.md +14 -0
- package/dist/AgGridVue/createAgGridColDef.js +73 -43
- package/dist/AgGridVue/createAgGridColDef.js.map +1 -1
- package/dist/AgGridVue/selection.js +55 -47
- package/dist/AgGridVue/selection.js.map +1 -1
- package/dist/AgGridVue/useAgGridOptions.js +212 -229
- package/dist/AgGridVue/useAgGridOptions.js.map +1 -1
- package/dist/_virtual/_plugin-vue_export-helper.js +5 -9
- package/dist/_virtual/_rolldown/runtime.js +15 -0
- package/dist/aggrid.js +48 -46
- package/dist/aggrid.js.map +1 -1
- package/dist/assets/block.css +1 -1
- package/dist/assets/ui.css +1 -0
- package/dist/components/BlockLayout.js +7 -0
- package/dist/components/BlockLayout.js.map +1 -0
- package/dist/components/BlockLayout.style.js +4 -0
- package/dist/components/BlockLayout.style.js.map +1 -0
- package/dist/components/BlockLayout.vue.css +1 -0
- package/dist/components/BlockLayout.vue2.js +42 -54
- package/dist/components/BlockLayout.vue2.js.map +1 -1
- package/dist/components/BlockLoader.js +5 -0
- package/dist/components/BlockLoader.js.map +1 -0
- package/dist/components/BlockLoader.vue2.js +22 -5
- package/dist/components/BlockLoader.vue2.js.map +1 -1
- package/dist/components/LoaderPage.js +10 -0
- package/dist/components/LoaderPage.js.map +1 -0
- package/dist/components/NotFound.js +5 -0
- package/dist/components/NotFound.js.map +1 -0
- package/dist/components/NotFound.vue2.js +18 -5
- package/dist/components/NotFound.vue2.js.map +1 -1
- package/dist/components/PlAdvancedFilter/FilterEditor.js +7 -0
- package/dist/components/PlAdvancedFilter/FilterEditor.js.map +1 -0
- package/dist/components/PlAdvancedFilter/FilterEditor.style.js +18 -0
- package/dist/components/PlAdvancedFilter/FilterEditor.style.js.map +1 -0
- package/dist/components/PlAdvancedFilter/FilterEditor.vue.css +1 -0
- package/dist/components/PlAdvancedFilter/FilterEditor.vue2.js +291 -322
- package/dist/components/PlAdvancedFilter/FilterEditor.vue2.js.map +1 -1
- package/dist/components/PlAdvancedFilter/OperandButton.js +7 -0
- package/dist/components/PlAdvancedFilter/OperandButton.js.map +1 -0
- package/dist/components/PlAdvancedFilter/OperandButton.style.js +8 -0
- package/dist/components/PlAdvancedFilter/OperandButton.style.js.map +1 -0
- package/dist/components/PlAdvancedFilter/OperandButton.vue.css +1 -0
- package/dist/components/PlAdvancedFilter/OperandButton.vue2.js +19 -24
- package/dist/components/PlAdvancedFilter/OperandButton.vue2.js.map +1 -1
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.js +7 -0
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.js.map +1 -0
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.style.js +12 -0
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.style.js.map +1 -0
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.css +1 -0
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.d.ts +1 -3
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.d.ts.map +1 -1
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue2.js +239 -238
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue2.js.map +1 -1
- package/dist/components/PlAdvancedFilter/constants.js +115 -58
- package/dist/components/PlAdvancedFilter/constants.js.map +1 -1
- package/dist/components/PlAdvancedFilter/index.d.ts +1 -1
- package/dist/components/PlAdvancedFilter/index.d.ts.map +1 -1
- package/dist/components/PlAdvancedFilter/index.js +6 -6
- package/dist/components/PlAdvancedFilter/index.js.map +1 -1
- package/dist/components/PlAdvancedFilter/utils.js +49 -64
- package/dist/components/PlAdvancedFilter/utils.js.map +1 -1
- package/dist/components/PlAgCellFile/PlAgCellFile.js +5 -0
- package/dist/components/PlAgCellFile/PlAgCellFile.js.map +1 -0
- package/dist/components/PlAgCellFile/PlAgCellFile.vue2.js +36 -5
- package/dist/components/PlAgCellFile/PlAgCellFile.vue2.js.map +1 -1
- package/dist/components/PlAgCellProgress/PlAgCellProgress.js +5 -0
- package/dist/components/PlAgCellProgress/PlAgCellProgress.js.map +1 -0
- package/dist/components/PlAgCellProgress/PlAgCellProgress.vue2.js +13 -5
- package/dist/components/PlAgCellProgress/PlAgCellProgress.vue2.js.map +1 -1
- package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.js +6 -0
- package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.js.map +1 -0
- package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue2.js +12 -0
- package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue2.js.map +1 -0
- package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.js +6 -0
- package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.js.map +1 -0
- package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.style.css +1 -0
- package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue2.js +31 -0
- package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue2.js.map +1 -0
- package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.js +6 -0
- package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.js.map +1 -0
- package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.style.css +1 -0
- package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue2.js +19 -0
- package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue2.js.map +1 -0
- package/dist/components/PlAgColumnHeader/PlAgColumnHeader.js +5 -0
- package/dist/components/PlAgColumnHeader/PlAgColumnHeader.js.map +1 -0
- package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue2.js +68 -5
- package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue2.js.map +1 -1
- package/dist/components/PlAgColumnHeader/pl-ag-column-header.css +1 -1
- package/dist/components/PlAgCsvExporter/PlAgCsvExporter.js +5 -0
- package/dist/components/PlAgCsvExporter/PlAgCsvExporter.js.map +1 -0
- package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue2.js +26 -5
- package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue2.js.map +1 -1
- package/dist/components/PlAgCsvExporter/export-csv.js +36 -43
- package/dist/components/PlAgCsvExporter/export-csv.js.map +1 -1
- package/dist/components/PlAgDataTable/PlAgDataTableSheets.js +7 -0
- package/dist/components/PlAgDataTable/PlAgDataTableSheets.js.map +1 -0
- package/dist/components/PlAgDataTable/PlAgDataTableSheets.style.js +4 -0
- package/dist/components/PlAgDataTable/PlAgDataTableSheets.style.js.map +1 -0
- package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue.css +1 -0
- package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue2.js +68 -72
- package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue2.js.map +1 -1
- package/dist/components/PlAgDataTable/PlAgDataTableV2.js +7 -0
- package/dist/components/PlAgDataTable/PlAgDataTableV2.js.map +1 -0
- package/dist/components/PlAgDataTable/PlAgDataTableV2.style.js +7 -0
- package/dist/components/PlAgDataTable/PlAgDataTableV2.style.js.map +1 -0
- package/dist/components/PlAgDataTable/PlAgDataTableV2.vue.css +1 -0
- package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js +307 -336
- package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js.map +1 -1
- package/dist/components/PlAgDataTable/PlAgOverlayLoading.js +5 -0
- package/dist/components/PlAgDataTable/PlAgOverlayLoading.js.map +1 -0
- package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue2.js +26 -5
- package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue2.js.map +1 -1
- package/dist/components/PlAgDataTable/PlAgOverlayNoRows.js +6 -0
- package/dist/components/PlAgDataTable/PlAgOverlayNoRows.js.map +1 -0
- package/dist/components/PlAgDataTable/{PlAgOverlayNoRows.css → PlAgOverlayNoRows.style.css} +1 -1
- package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue2.js +14 -0
- package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue2.js.map +1 -0
- package/dist/components/PlAgDataTable/PlAgRowCount.js +5 -0
- package/dist/components/PlAgDataTable/PlAgRowCount.js.map +1 -0
- package/dist/components/PlAgDataTable/PlAgRowCount.vue2.js +23 -5
- package/dist/components/PlAgDataTable/PlAgRowCount.vue2.js.map +1 -1
- package/dist/components/PlAgDataTable/ag-override.js +4 -0
- package/dist/components/PlAgDataTable/ag-override.js.map +1 -0
- package/dist/components/PlAgDataTable/compositions/useFilterableColumns.js +25 -30
- package/dist/components/PlAgDataTable/compositions/useFilterableColumns.js.map +1 -1
- package/dist/components/PlAgDataTable/compositions/useGrid.js +102 -112
- package/dist/components/PlAgDataTable/compositions/useGrid.js.map +1 -1
- package/dist/components/PlAgDataTable/pl-ag-overlay-loading.css +1 -1
- package/dist/components/PlAgDataTable/pl-ag-overlay-loading.module.js +9 -0
- package/dist/components/PlAgDataTable/pl-ag-overlay-loading.module.js.map +1 -0
- package/dist/components/PlAgDataTable/sources/common.js +6 -8
- package/dist/components/PlAgDataTable/sources/common.js.map +1 -1
- package/dist/components/PlAgDataTable/sources/focus-row.js +36 -51
- package/dist/components/PlAgDataTable/sources/focus-row.js.map +1 -1
- package/dist/components/PlAgDataTable/sources/menu-items.js +10 -6
- package/dist/components/PlAgDataTable/sources/menu-items.js.map +1 -1
- package/dist/components/PlAgDataTable/sources/row-number.js +82 -94
- package/dist/components/PlAgDataTable/sources/row-number.js.map +1 -1
- package/dist/components/PlAgDataTable/sources/table-source-v2.js +178 -199
- package/dist/components/PlAgDataTable/sources/table-source-v2.js.map +1 -1
- package/dist/components/PlAgDataTable/sources/table-state-v2.js +155 -132
- package/dist/components/PlAgDataTable/sources/table-state-v2.js.map +1 -1
- package/dist/components/PlAgDataTable/sources/value-rendering.js +33 -38
- package/dist/components/PlAgDataTable/sources/value-rendering.js.map +1 -1
- package/dist/components/PlAgDataTable/types.js +54 -43
- package/dist/components/PlAgDataTable/types.js.map +1 -1
- package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.js +7 -0
- package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.js.map +1 -0
- package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.style.js +4 -0
- package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.style.js.map +1 -0
- package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue2.js +89 -100
- package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue2.js.map +1 -1
- package/dist/components/PlAgGridColumnManager/useFilteredItems.js +46 -33
- package/dist/components/PlAgGridColumnManager/useFilteredItems.js.map +1 -1
- package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.js +5 -0
- package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.js.map +1 -0
- package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.d.ts.map +1 -1
- package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue2.js +37 -5
- package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue2.js.map +1 -1
- package/dist/components/PlAgRowNumCheckbox/pl-ag-row-num-checkbox.css +1 -1
- package/dist/components/PlAgRowNumCheckbox/pl-ag-row-num-checkbox.module.js +10 -0
- package/dist/components/PlAgRowNumCheckbox/pl-ag-row-num-checkbox.module.js.map +1 -0
- package/dist/components/PlAgRowNumHeader.js +5 -0
- package/dist/components/PlAgRowNumHeader.js.map +1 -0
- package/dist/components/PlAgRowNumHeader.vue2.js +38 -5
- package/dist/components/PlAgRowNumHeader.vue2.js.map +1 -1
- package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.js +5 -0
- package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.js.map +1 -0
- package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue2.js +32 -5
- package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue2.js.map +1 -1
- package/dist/components/PlAgTextAndButtonCell/pl-ag-text-and-button-cell.css +1 -1
- package/dist/components/PlAnnotations/components/AnnotationsSidebar.js +7 -0
- package/dist/components/PlAnnotations/components/AnnotationsSidebar.js.map +1 -0
- package/dist/components/PlAnnotations/components/AnnotationsSidebar.style.js +11 -0
- package/dist/components/PlAnnotations/components/AnnotationsSidebar.style.js.map +1 -0
- package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue.css +1 -0
- package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js +102 -113
- package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js.map +1 -1
- package/dist/components/PlAnnotations/components/FilterSidebar.js +7 -0
- package/dist/components/PlAnnotations/components/FilterSidebar.js.map +1 -0
- package/dist/components/PlAnnotations/components/FilterSidebar.style.js +7 -0
- package/dist/components/PlAnnotations/components/FilterSidebar.style.js.map +1 -0
- package/dist/components/PlAnnotations/components/FilterSidebar.vue.css +1 -0
- package/dist/components/PlAnnotations/components/FilterSidebar.vue.d.ts +1 -2
- package/dist/components/PlAnnotations/components/FilterSidebar.vue.d.ts.map +1 -1
- package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js +121 -131
- package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js.map +1 -1
- package/dist/components/PlAnnotations/components/PlAnnotations.js +7 -0
- package/dist/components/PlAnnotations/components/PlAnnotations.js.map +1 -0
- package/dist/components/PlAnnotations/components/PlAnnotations.style.js +4 -0
- package/dist/components/PlAnnotations/components/PlAnnotations.style.js.map +1 -0
- package/dist/components/PlAnnotations/components/PlAnnotations.vue2.js +73 -65
- package/dist/components/PlAnnotations/components/PlAnnotations.vue2.js.map +1 -1
- package/dist/components/PlAnnotations/components/PlAnnotationsModal.js +7 -0
- package/dist/components/PlAnnotations/components/PlAnnotationsModal.js.map +1 -0
- package/dist/components/PlAnnotations/components/PlAnnotationsModal.style.js +7 -0
- package/dist/components/PlAnnotations/components/PlAnnotationsModal.style.js.map +1 -0
- package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue2.js +58 -52
- package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue2.js.map +1 -1
- package/dist/components/PlAnnotations/components/style.css +1 -1
- package/dist/components/PlAnnotations/components/style.module.js +8 -0
- package/dist/components/PlAnnotations/components/style.module.js.map +1 -0
- package/dist/components/PlAnnotations/utils.js +6 -8
- package/dist/components/PlAnnotations/utils.js.map +1 -1
- package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.js +5 -0
- package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.js.map +1 -0
- package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue2.js +57 -5
- package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue2.js.map +1 -1
- package/dist/components/PlAppErrorNotificationAlert/pl-app-error-notification-alert.css +1 -1
- package/dist/components/PlBtnExportArchive/Item.js +7 -0
- package/dist/components/PlBtnExportArchive/Item.js.map +1 -0
- package/dist/components/PlBtnExportArchive/Item.style.js +9 -0
- package/dist/components/PlBtnExportArchive/Item.style.js.map +1 -0
- package/dist/components/PlBtnExportArchive/Item.vue.css +1 -0
- package/dist/components/PlBtnExportArchive/Item.vue2.js +28 -42
- package/dist/components/PlBtnExportArchive/Item.vue2.js.map +1 -1
- package/dist/components/PlBtnExportArchive/PlBtnExportArchive.js +7 -0
- package/dist/components/PlBtnExportArchive/PlBtnExportArchive.js.map +1 -0
- package/dist/components/PlBtnExportArchive/PlBtnExportArchive.style.js +8 -0
- package/dist/components/PlBtnExportArchive/PlBtnExportArchive.style.js.map +1 -0
- package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.css +1 -0
- package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue2.js +161 -159
- package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue2.js.map +1 -1
- package/dist/components/PlBtnExportArchive/Summary.js +7 -0
- package/dist/components/PlBtnExportArchive/Summary.js.map +1 -0
- package/dist/components/PlBtnExportArchive/Summary.style.js +8 -0
- package/dist/components/PlBtnExportArchive/Summary.style.js.map +1 -0
- package/dist/components/PlBtnExportArchive/Summary.vue.css +1 -0
- package/dist/components/PlBtnExportArchive/Summary.vue2.js +26 -41
- package/dist/components/PlBtnExportArchive/Summary.vue2.js.map +1 -1
- package/dist/components/PlTableFastSearch/PlTableFastSearch.js +5 -0
- package/dist/components/PlTableFastSearch/PlTableFastSearch.js.map +1 -0
- package/dist/components/PlTableFastSearch/PlTableFastSearch.vue2.js +41 -5
- package/dist/components/PlTableFastSearch/PlTableFastSearch.vue2.js.map +1 -1
- package/dist/components/PlTableFilters/PlTableFiltersV2.js +7 -0
- package/dist/components/PlTableFilters/PlTableFiltersV2.js.map +1 -0
- package/dist/components/PlTableFilters/PlTableFiltersV2.style.js +4 -0
- package/dist/components/PlTableFilters/PlTableFiltersV2.style.js.map +1 -0
- package/dist/components/PlTableFilters/PlTableFiltersV2.vue.css +1 -0
- package/dist/components/PlTableFilters/PlTableFiltersV2.vue.d.ts.map +1 -1
- package/dist/components/PlTableFilters/PlTableFiltersV2.vue2.js +97 -106
- package/dist/components/PlTableFilters/PlTableFiltersV2.vue2.js.map +1 -1
- package/dist/composition/fileContent.js +169 -200
- package/dist/composition/fileContent.js.map +1 -1
- package/dist/computedResult.js +47 -18
- package/dist/computedResult.js.map +1 -1
- package/dist/createModel.js +44 -60
- package/dist/createModel.js.map +1 -1
- package/dist/defineApp.js +87 -113
- package/dist/defineApp.js.map +1 -1
- package/dist/defineStore.js +15 -16
- package/dist/defineStore.js.map +1 -1
- package/dist/index.js +39 -98
- package/dist/index.js.map +1 -1
- package/dist/internal/UpdateSerializer.js +50 -66
- package/dist/internal/UpdateSerializer.js.map +1 -1
- package/dist/internal/createAppModel.js +54 -68
- package/dist/internal/createAppModel.js.map +1 -1
- package/dist/internal/createAppV1.js +140 -193
- package/dist/internal/createAppV1.js.map +1 -1
- package/dist/internal/createAppV2.d.ts.map +1 -1
- package/dist/internal/createAppV2.js +149 -193
- package/dist/internal/createAppV2.js.map +1 -1
- package/dist/internal/createAppV3.d.ts.map +1 -1
- package/dist/internal/createAppV3.js +157 -202
- package/dist/internal/createAppV3.js.map +1 -1
- package/dist/internal/test-helpers/utils.d.ts.map +1 -1
- package/dist/lib/util/helpers/dist/error.js +1 -0
- package/dist/lib/util/helpers/dist/functions.js +8 -9
- package/dist/lib/util/helpers/dist/functions.js.map +1 -1
- package/dist/lib/util/helpers/dist/hash.js +5 -0
- package/dist/lib/util/helpers/dist/hash.js.map +1 -0
- package/dist/lib/util/helpers/dist/index.js +9 -0
- package/dist/lib/util/helpers/dist/objects.js +75 -42
- package/dist/lib/util/helpers/dist/objects.js.map +1 -1
- package/dist/lib/util/helpers/dist/prettyBytes.js +60 -26
- package/dist/lib/util/helpers/dist/prettyBytes.js.map +1 -1
- package/dist/lib/util/helpers/dist/random.js +6 -8
- package/dist/lib/util/helpers/dist/random.js.map +1 -1
- package/dist/lib/util/helpers/dist/strings.js +11 -14
- package/dist/lib/util/helpers/dist/strings.js.map +1 -1
- package/dist/lib/util/helpers/dist/uniqId.js +7 -0
- package/dist/lib/util/helpers/dist/uniqId.js.map +1 -0
- package/dist/lib/util/helpers/dist/utils.js +34 -50
- package/dist/lib/util/helpers/dist/utils.js.map +1 -1
- package/dist/lib.js +38 -0
- package/dist/objectHash.js +13 -10
- package/dist/objectHash.js.map +1 -1
- package/dist/plugins/Monetization/EndOfPeriod.js +7 -0
- package/dist/plugins/Monetization/EndOfPeriod.js.map +1 -0
- package/dist/plugins/Monetization/EndOfPeriod.style.js +4 -0
- package/dist/plugins/Monetization/EndOfPeriod.style.js.map +1 -0
- package/dist/plugins/Monetization/EndOfPeriod.vue.css +1 -0
- package/dist/plugins/Monetization/EndOfPeriod.vue2.js +15 -23
- package/dist/plugins/Monetization/EndOfPeriod.vue2.js.map +1 -1
- package/dist/plugins/Monetization/LimitCard.js +7 -0
- package/dist/plugins/Monetization/LimitCard.js.map +1 -0
- package/dist/plugins/Monetization/LimitCard.style.js +18 -0
- package/dist/plugins/Monetization/LimitCard.style.js.map +1 -0
- package/dist/plugins/Monetization/LimitCard.vue.css +1 -0
- package/dist/plugins/Monetization/LimitCard.vue2.js +47 -84
- package/dist/plugins/Monetization/LimitCard.vue2.js.map +1 -1
- package/dist/plugins/Monetization/MonetizationSidebar.js +5 -0
- package/dist/plugins/Monetization/MonetizationSidebar.js.map +1 -0
- package/dist/plugins/Monetization/MonetizationSidebar.vue2.js +106 -5
- package/dist/plugins/Monetization/MonetizationSidebar.vue2.js.map +1 -1
- package/dist/plugins/Monetization/RunStatus.js +7 -0
- package/dist/plugins/Monetization/RunStatus.js.map +1 -0
- package/dist/plugins/Monetization/RunStatus.style.js +13 -0
- package/dist/plugins/Monetization/RunStatus.style.js.map +1 -0
- package/dist/plugins/Monetization/RunStatus.vue.css +1 -0
- package/dist/plugins/Monetization/RunStatus.vue2.js +21 -40
- package/dist/plugins/Monetization/RunStatus.vue2.js.map +1 -1
- package/dist/plugins/Monetization/UserCabinetCard.js +7 -0
- package/dist/plugins/Monetization/UserCabinetCard.js.map +1 -0
- package/dist/plugins/Monetization/UserCabinetCard.style.js +12 -0
- package/dist/plugins/Monetization/UserCabinetCard.style.js.map +1 -0
- package/dist/plugins/Monetization/UserCabinetCard.vue.css +1 -0
- package/dist/plugins/Monetization/UserCabinetCard.vue2.js +50 -70
- package/dist/plugins/Monetization/UserCabinetCard.vue2.js.map +1 -1
- package/dist/plugins/Monetization/useButtonTarget.js +15 -16
- package/dist/plugins/Monetization/useButtonTarget.js.map +1 -1
- package/dist/plugins/Monetization/useInfo.js +36 -71
- package/dist/plugins/Monetization/useInfo.js.map +1 -1
- package/dist/plugins/Monetization/validation.js +34 -42
- package/dist/plugins/Monetization/validation.js.map +1 -1
- package/dist/urls.d.ts.map +1 -1
- package/dist/urls.js +4 -5
- package/dist/urls.js.map +1 -1
- package/dist/usePlugin.js +32 -12
- package/dist/usePlugin.js.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +29 -54
- package/dist/utils.js.map +1 -1
- package/package.json +8 -8
- package/src/components/PlAdvancedFilter/index.ts +1 -1
- package/src/components/PlAnnotations/components/FilterSidebar.vue +11 -6
- package/src/components/PlTableFilters/PlTableFiltersV2.vue +2 -1
- package/dist/_virtual/_plugin-vue_export-helper.js.map +0 -1
- package/dist/components/BlockLayout.css +0 -1
- package/dist/components/BlockLayout.vue.js +0 -10
- package/dist/components/BlockLayout.vue.js.map +0 -1
- package/dist/components/BlockLayout.vue3.js +0 -8
- package/dist/components/BlockLayout.vue3.js.map +0 -1
- package/dist/components/BlockLoader.vue.js +0 -26
- package/dist/components/BlockLoader.vue.js.map +0 -1
- package/dist/components/LoaderPage.vue.js +0 -15
- package/dist/components/LoaderPage.vue.js.map +0 -1
- package/dist/components/NotFound.vue.js +0 -26
- package/dist/components/NotFound.vue.js.map +0 -1
- package/dist/components/PlAdvancedFilter/FilterEditor.css +0 -1
- package/dist/components/PlAdvancedFilter/FilterEditor.vue.js +0 -10
- package/dist/components/PlAdvancedFilter/FilterEditor.vue.js.map +0 -1
- package/dist/components/PlAdvancedFilter/FilterEditor.vue3.js +0 -32
- package/dist/components/PlAdvancedFilter/FilterEditor.vue3.js.map +0 -1
- package/dist/components/PlAdvancedFilter/OperandButton.css +0 -1
- package/dist/components/PlAdvancedFilter/OperandButton.vue.js +0 -10
- package/dist/components/PlAdvancedFilter/OperandButton.vue.js.map +0 -1
- package/dist/components/PlAdvancedFilter/OperandButton.vue3.js +0 -12
- package/dist/components/PlAdvancedFilter/OperandButton.vue3.js.map +0 -1
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.css +0 -1
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.js +0 -10
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.js.map +0 -1
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue3.js +0 -20
- package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue3.js.map +0 -1
- package/dist/components/PlAgCellFile/PlAgCellFile.vue.js +0 -32
- package/dist/components/PlAgCellFile/PlAgCellFile.vue.js.map +0 -1
- package/dist/components/PlAgCellProgress/PlAgCellProgress.vue.js +0 -16
- package/dist/components/PlAgCellProgress/PlAgCellProgress.vue.js.map +0 -1
- package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue.js +0 -22
- package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue.js.map +0 -1
- package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue3.js +0 -6
- package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue3.js.map +0 -1
- package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.css +0 -1
- package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue.js +0 -32
- package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue.js.map +0 -1
- package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue3.js +0 -6
- package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue3.js.map +0 -1
- package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.css +0 -1
- package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.js +0 -24
- package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.js.map +0 -1
- package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue3.js +0 -6
- package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue3.js.map +0 -1
- package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue.js +0 -97
- package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue.js.map +0 -1
- package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue.js +0 -33
- package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue.js.map +0 -1
- package/dist/components/PlAgDataTable/PlAgDataTableSheets.css +0 -1
- package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue.js +0 -10
- package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue.js.map +0 -1
- package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue3.js +0 -8
- package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue3.js.map +0 -1
- package/dist/components/PlAgDataTable/PlAgDataTableV2.css +0 -1
- package/dist/components/PlAgDataTable/PlAgDataTableV2.vue.js +0 -10
- package/dist/components/PlAgDataTable/PlAgDataTableV2.vue.js.map +0 -1
- package/dist/components/PlAgDataTable/PlAgDataTableV2.vue3.js +0 -10
- package/dist/components/PlAgDataTable/PlAgDataTableV2.vue3.js.map +0 -1
- package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue.js +0 -48
- package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue.js.map +0 -1
- package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue.js +0 -22
- package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue.js.map +0 -1
- package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue3.js +0 -6
- package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue3.js.map +0 -1
- package/dist/components/PlAgDataTable/PlAgRowCount.vue.js +0 -26
- package/dist/components/PlAgDataTable/PlAgRowCount.vue.js.map +0 -1
- package/dist/components/PlAgDataTable/ag-override.css.js +0 -31
- package/dist/components/PlAgDataTable/ag-override.css.js.map +0 -1
- package/dist/components/PlAgDataTable/pl-ag-overlay-loading.module.scss.js +0 -14
- package/dist/components/PlAgDataTable/pl-ag-overlay-loading.module.scss.js.map +0 -1
- package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue.js +0 -10
- package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue.js.map +0 -1
- package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue3.js +0 -8
- package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue3.js.map +0 -1
- package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js +0 -48
- package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js.map +0 -1
- package/dist/components/PlAgRowNumCheckbox/pl-ag-row-num-checkbox.module.scss.js +0 -15
- package/dist/components/PlAgRowNumCheckbox/pl-ag-row-num-checkbox.module.scss.js.map +0 -1
- package/dist/components/PlAgRowNumHeader.vue.js +0 -39
- package/dist/components/PlAgRowNumHeader.vue.js.map +0 -1
- package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.js +0 -45
- package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.js.map +0 -1
- package/dist/components/PlAnnotations/components/AnnotationsSidebar.css +0 -1
- package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue.js +0 -10
- package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue.js.map +0 -1
- package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue3.js +0 -18
- package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue3.js.map +0 -1
- package/dist/components/PlAnnotations/components/FilterSidebar.css +0 -1
- package/dist/components/PlAnnotations/components/FilterSidebar.vue.js +0 -10
- package/dist/components/PlAnnotations/components/FilterSidebar.vue.js.map +0 -1
- package/dist/components/PlAnnotations/components/FilterSidebar.vue3.js +0 -10
- package/dist/components/PlAnnotations/components/FilterSidebar.vue3.js.map +0 -1
- package/dist/components/PlAnnotations/components/PlAnnotations.vue.js +0 -10
- package/dist/components/PlAnnotations/components/PlAnnotations.vue.js.map +0 -1
- package/dist/components/PlAnnotations/components/PlAnnotations.vue3.js +0 -8
- package/dist/components/PlAnnotations/components/PlAnnotations.vue3.js.map +0 -1
- package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue.js +0 -10
- package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue.js.map +0 -1
- package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue3.js +0 -10
- package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue3.js.map +0 -1
- package/dist/components/PlAnnotations/components/style.module.css.js +0 -12
- package/dist/components/PlAnnotations/components/style.module.css.js.map +0 -1
- package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue.js +0 -79
- package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue.js.map +0 -1
- package/dist/components/PlBtnExportArchive/Item.css +0 -1
- package/dist/components/PlBtnExportArchive/Item.vue.js +0 -10
- package/dist/components/PlBtnExportArchive/Item.vue.js.map +0 -1
- package/dist/components/PlBtnExportArchive/Item.vue3.js +0 -14
- package/dist/components/PlBtnExportArchive/Item.vue3.js.map +0 -1
- package/dist/components/PlBtnExportArchive/PlBtnExportArchive.css +0 -1
- package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.js +0 -10
- package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.js.map +0 -1
- package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue3.js +0 -12
- package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue3.js.map +0 -1
- package/dist/components/PlBtnExportArchive/Summary.css +0 -1
- package/dist/components/PlBtnExportArchive/Summary.vue.js +0 -10
- package/dist/components/PlBtnExportArchive/Summary.vue.js.map +0 -1
- package/dist/components/PlBtnExportArchive/Summary.vue3.js +0 -12
- package/dist/components/PlBtnExportArchive/Summary.vue3.js.map +0 -1
- package/dist/components/PlTableFastSearch/PlTableFastSearch.vue.js +0 -54
- package/dist/components/PlTableFastSearch/PlTableFastSearch.vue.js.map +0 -1
- package/dist/components/PlTableFilters/PlTableFiltersV2.css +0 -1
- package/dist/components/PlTableFilters/PlTableFiltersV2.vue.js +0 -10
- package/dist/components/PlTableFilters/PlTableFiltersV2.vue.js.map +0 -1
- package/dist/components/PlTableFilters/PlTableFiltersV2.vue3.js +0 -8
- package/dist/components/PlTableFilters/PlTableFiltersV2.vue3.js.map +0 -1
- package/dist/plugins/Monetization/EndOfPeriod.css +0 -1
- package/dist/plugins/Monetization/EndOfPeriod.vue.js +0 -10
- package/dist/plugins/Monetization/EndOfPeriod.vue.js.map +0 -1
- package/dist/plugins/Monetization/EndOfPeriod.vue3.js +0 -8
- package/dist/plugins/Monetization/EndOfPeriod.vue3.js.map +0 -1
- package/dist/plugins/Monetization/LimitCard.css +0 -1
- package/dist/plugins/Monetization/LimitCard.vue.js +0 -10
- package/dist/plugins/Monetization/LimitCard.vue.js.map +0 -1
- package/dist/plugins/Monetization/LimitCard.vue3.js +0 -32
- package/dist/plugins/Monetization/LimitCard.vue3.js.map +0 -1
- package/dist/plugins/Monetization/MonetizationSidebar.vue.js +0 -138
- package/dist/plugins/Monetization/MonetizationSidebar.vue.js.map +0 -1
- package/dist/plugins/Monetization/RunStatus.css +0 -1
- package/dist/plugins/Monetization/RunStatus.vue.js +0 -10
- package/dist/plugins/Monetization/RunStatus.vue.js.map +0 -1
- package/dist/plugins/Monetization/RunStatus.vue3.js +0 -20
- package/dist/plugins/Monetization/RunStatus.vue3.js.map +0 -1
- package/dist/plugins/Monetization/UserCabinetCard.css +0 -1
- package/dist/plugins/Monetization/UserCabinetCard.vue.js +0 -10
- package/dist/plugins/Monetization/UserCabinetCard.vue.js.map +0 -1
- package/dist/plugins/Monetization/UserCabinetCard.vue3.js +0 -20
- package/dist/plugins/Monetization/UserCabinetCard.vue3.js.map +0 -1
- /package/dist/components/PlAgCellStatusTag/{PlAgCellStatusTag.css → PlAgCellStatusTag.style.css} +0 -0
- /package/dist/components/PlAgGridColumnManager/{PlAgGridColumnManager.css → PlAgGridColumnManager.vue.css} +0 -0
- /package/dist/components/PlAnnotations/components/{PlAnnotations.css → PlAnnotations.vue.css} +0 -0
- /package/dist/components/PlAnnotations/components/{PlAnnotationsModal.css → PlAnnotationsModal.vue.css} +0 -0
|
@@ -1,139 +1,162 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
1
|
+
import { isJsonEqual as e } from "../../../lib/util/helpers/dist/objects.js";
|
|
2
|
+
import { randomInt as t } from "../../../lib/util/helpers/dist/random.js";
|
|
3
|
+
import "../../../lib/util/helpers/dist/index.js";
|
|
4
|
+
import { isNumericValueType as n, isStringValueType as r } from "../../PlAdvancedFilter/utils.js";
|
|
5
|
+
import { computed as i, ref as a, watch as o } from "vue";
|
|
6
|
+
import { canonicalizeJson as s, createDefaultPTableParams as c, distillFilterSpec as l, getPTableColumnId as u, parseJson as d, upgradePlDataTableStateV2 as f } from "@platforma-sdk/model";
|
|
7
|
+
import { computedCached as p } from "@milaboratories/uikit";
|
|
8
|
+
import { debounce as m, isNil as h } from "es-toolkit";
|
|
9
|
+
function g(n, r, s) {
|
|
10
|
+
let l = p({
|
|
11
|
+
get: () => f(n.value),
|
|
12
|
+
set: m((e) => n.value = e, 300)
|
|
13
|
+
}), u = i({
|
|
14
|
+
get: () => {
|
|
15
|
+
let e = _(), t = r.value.sourceId;
|
|
16
|
+
return t ? l.value.stateCache.find((e) => e.sourceId === t) || {
|
|
17
|
+
...e,
|
|
18
|
+
sourceId: t
|
|
19
|
+
} : e;
|
|
20
|
+
},
|
|
21
|
+
set: (t) => {
|
|
22
|
+
let n = {
|
|
23
|
+
...l.value,
|
|
24
|
+
pTableParams: c()
|
|
25
|
+
};
|
|
26
|
+
if (t.sourceId) {
|
|
27
|
+
n.pTableParams = S(t, s.value);
|
|
28
|
+
let e = n.stateCache.findIndex((e) => e.sourceId === t.sourceId);
|
|
29
|
+
e === -1 ? (n.stateCache.push(t), n.stateCache = n.stateCache.slice(-5)) : n.stateCache[e] = t;
|
|
30
|
+
}
|
|
31
|
+
e(l.value, n) || (l.value = n);
|
|
32
|
+
}
|
|
33
|
+
}), d = i({
|
|
34
|
+
get: () => u.value.gridState,
|
|
35
|
+
set: (e) => {
|
|
36
|
+
let t = u.value;
|
|
37
|
+
t.sourceId && (u.value = {
|
|
38
|
+
...t,
|
|
39
|
+
gridState: e
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}), h = i({
|
|
43
|
+
get: () => u.value.sheetsState,
|
|
44
|
+
set: (e) => {
|
|
45
|
+
let t = u.value;
|
|
46
|
+
t.sourceId && (u.value = {
|
|
47
|
+
...t,
|
|
48
|
+
sheetsState: e
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}), g = i({
|
|
52
|
+
get: () => {
|
|
53
|
+
let e = u.value.filtersState;
|
|
54
|
+
return e && (e.type === "and" || e.type === "or") && "filters" in e && Array.isArray(e.filters) ? e : {
|
|
55
|
+
id: t(),
|
|
56
|
+
type: "and",
|
|
57
|
+
isExpanded: !0,
|
|
58
|
+
filters: []
|
|
59
|
+
};
|
|
60
|
+
},
|
|
61
|
+
set: (e) => {
|
|
62
|
+
let t = u.value;
|
|
63
|
+
t.sourceId && (u.value = {
|
|
64
|
+
...t,
|
|
65
|
+
filtersState: e
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}), v = a(g);
|
|
69
|
+
return o(() => v.value, (e) => g.value = e, { deep: !0 }), {
|
|
70
|
+
gridState: d,
|
|
71
|
+
sheetsState: h,
|
|
72
|
+
filtersState: v,
|
|
73
|
+
searchString: i({
|
|
74
|
+
get: () => u.value.searchString ?? "",
|
|
75
|
+
set: (e) => {
|
|
76
|
+
let t = u.value;
|
|
77
|
+
t.sourceId && (u.value = {
|
|
78
|
+
...t,
|
|
79
|
+
searchString: e
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
})
|
|
83
|
+
};
|
|
82
84
|
}
|
|
83
|
-
function
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
function _() {
|
|
86
|
+
return {
|
|
87
|
+
sourceId: null,
|
|
88
|
+
gridState: {},
|
|
89
|
+
sheetsState: [],
|
|
90
|
+
filtersState: null
|
|
91
|
+
};
|
|
90
92
|
}
|
|
91
|
-
function
|
|
92
|
-
|
|
93
|
-
return ((a = r == null ? void 0 : r.hiddenColIds) == null ? void 0 : a.map(m).reduce((o, n) => (n.source.type === "column" && o.push(n.source.id), o), [])) ?? null;
|
|
93
|
+
function v(e) {
|
|
94
|
+
return e?.hiddenColIds?.map(d).reduce((e, t) => (t.source.type === "column" && e.push(t.source.id), e), []) ?? null;
|
|
94
95
|
}
|
|
95
|
-
function
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
96
|
+
function y(e) {
|
|
97
|
+
return e.map((e) => {
|
|
98
|
+
let t = s({
|
|
99
|
+
type: "axis",
|
|
100
|
+
id: e.axisId
|
|
101
|
+
});
|
|
102
|
+
return typeof e.value == "number" ? {
|
|
103
|
+
type: "equal",
|
|
104
|
+
column: t,
|
|
105
|
+
x: e.value
|
|
106
|
+
} : {
|
|
107
|
+
type: "patternEquals",
|
|
108
|
+
column: t,
|
|
109
|
+
value: e.value
|
|
110
|
+
};
|
|
111
|
+
});
|
|
100
112
|
}
|
|
101
|
-
function
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
113
|
+
function b(e) {
|
|
114
|
+
return e?.sortModel.map((e) => {
|
|
115
|
+
let { spec: t, ...n } = d(e.colId).labeled;
|
|
116
|
+
return {
|
|
117
|
+
column: n,
|
|
118
|
+
ascending: e.sort === "asc",
|
|
119
|
+
naAndAbsentAreLeastValues: e.sort === "asc"
|
|
120
|
+
};
|
|
121
|
+
}) ?? [];
|
|
110
122
|
}
|
|
111
|
-
function
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
123
|
+
function x(e, t) {
|
|
124
|
+
let i = t?.trim();
|
|
125
|
+
if (h(i) || i.length === 0) return null;
|
|
126
|
+
let a = [], o = Number(i), c = i.length > 0 && !isNaN(o) && isFinite(o);
|
|
127
|
+
for (let t of e) {
|
|
128
|
+
let e = s(u(t)), l = t.spec;
|
|
129
|
+
r(l) && a.push({
|
|
130
|
+
type: "patternEquals",
|
|
131
|
+
column: e,
|
|
132
|
+
value: i
|
|
133
|
+
}), n(l) && c && a.push({
|
|
134
|
+
type: "equal",
|
|
135
|
+
column: e,
|
|
136
|
+
x: o
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
return a.length === 0 ? null : {
|
|
140
|
+
type: "or",
|
|
141
|
+
filters: a
|
|
142
|
+
};
|
|
120
143
|
}
|
|
121
|
-
function
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
144
|
+
function S(e, t) {
|
|
145
|
+
let n = x(t, e.searchString), r = [
|
|
146
|
+
...y(e.sheetsState),
|
|
147
|
+
...e.filtersState ? [e.filtersState] : [],
|
|
148
|
+
...n ? [n] : []
|
|
149
|
+
], i = l(r.length === 0 ? null : r.length === 1 ? r[0] : {
|
|
150
|
+
type: "and",
|
|
151
|
+
filters: r
|
|
152
|
+
});
|
|
153
|
+
return {
|
|
154
|
+
sourceId: e.sourceId,
|
|
155
|
+
hiddenColIds: v(e.gridState.columnVisibility),
|
|
156
|
+
filters: i,
|
|
157
|
+
sorting: b(e.gridState.sort)
|
|
158
|
+
};
|
|
135
159
|
}
|
|
136
|
-
export {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
//# sourceMappingURL=table-state-v2.js.map
|
|
160
|
+
export { g as useTableState };
|
|
161
|
+
|
|
162
|
+
//# sourceMappingURL=table-state-v2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-state-v2.js","sources":["../../../../src/components/PlAgDataTable/sources/table-state-v2.ts"],"sourcesContent":["import {\n createDefaultPTableParams,\n parseJson,\n canonicalizeJson,\n upgradePlDataTableStateV2,\n type FilterSpec,\n type FilterSpecLeaf,\n type PTableColumnId,\n type PTableColumnSpec,\n type PlDataTableGridStateCore,\n type PlDataTableSheetState,\n type PlDataTableStateV2,\n type PlDataTableStateV2CacheEntry,\n type PlDataTableStateV2Normalized,\n type PObjectId,\n type PTableParamsV2,\n type PTableSorting,\n type PlDataTableFilters,\n distillFilterSpec,\n PlDataTableFiltersWithMeta,\n getPTableColumnId,\n CanonicalizedJson,\n} from \"@platforma-sdk/model\";\nimport { computed, ref, watch, type Ref, type WritableComputedRef } from \"vue\";\nimport type { PlDataTableSettingsV2 } from \"../types\";\nimport { isJsonEqual, randomInt } from \"@milaboratories/helpers\";\nimport { computedCached } from \"@milaboratories/uikit\";\nimport { isStringValueType, isNumericValueType } from \"../../PlAdvancedFilter/utils\";\nimport { debounce, isNil } from \"es-toolkit\";\n\nexport function useTableState(\n tableStateDenormalized: Ref<PlDataTableStateV2>,\n settings: Ref<PlDataTableSettingsV2>,\n columns: Ref<PTableColumnSpec[]>,\n): {\n gridState: WritableComputedRef<PlDataTableGridStateCore>;\n sheetsState: WritableComputedRef<PlDataTableSheetState[]>;\n filtersState: Ref<PlDataTableFiltersWithMeta>;\n searchString: WritableComputedRef<string>;\n} {\n const tableStateNormalized = computedCached<PlDataTableStateV2Normalized>({\n get: () => upgradePlDataTableStateV2(tableStateDenormalized.value),\n set: debounce((newState) => (tableStateDenormalized.value = newState), 300),\n });\n\n const tableState = computed<PlDataTableStateV2CacheEntryNullable>({\n get: () => {\n const defaultState = makeDefaultState();\n\n const sourceId = settings.value.sourceId;\n if (!sourceId) return defaultState;\n\n const cachedState = tableStateNormalized.value.stateCache.find(\n (entry) => entry.sourceId === sourceId,\n );\n if (!cachedState) return { ...defaultState, sourceId };\n\n return cachedState;\n },\n set: (state) => {\n const newState: PlDataTableStateV2Normalized = {\n ...tableStateNormalized.value,\n pTableParams: createDefaultPTableParams(),\n };\n\n if (state.sourceId) {\n newState.pTableParams = createPTableParams(state, columns.value);\n\n const stateIdx = newState.stateCache.findIndex(\n (entry) => entry.sourceId === state.sourceId,\n );\n if (stateIdx !== -1) {\n newState.stateCache[stateIdx] = state;\n } else {\n const CacheDepth = 5;\n newState.stateCache.push(state);\n newState.stateCache = newState.stateCache.slice(-CacheDepth);\n }\n }\n\n if (!isJsonEqual(tableStateNormalized.value, newState)) {\n tableStateNormalized.value = newState;\n }\n },\n });\n\n const gridState = computed<PlDataTableGridStateCore>({\n get: () => tableState.value.gridState,\n set: (gridState) => {\n const oldState = tableState.value;\n if (oldState.sourceId) {\n tableState.value = {\n ...oldState,\n gridState,\n };\n }\n },\n });\n\n const sheetsState = computed<PlDataTableSheetState[]>({\n get: () => tableState.value.sheetsState,\n set: (sheetsState) => {\n const oldState = tableState.value;\n if (oldState.sourceId) {\n tableState.value = {\n ...oldState,\n sheetsState,\n };\n }\n },\n });\n\n const filtersState = computed<PlDataTableFiltersWithMeta>({\n get: () => {\n const raw = tableState.value.filtersState;\n const isCorrect =\n raw &&\n (raw.type === \"and\" || raw.type === \"or\") &&\n \"filters\" in raw &&\n Array.isArray(raw.filters);\n\n return isCorrect\n ? (raw satisfies PlDataTableFiltersWithMeta)\n : { id: randomInt(), type: \"and\" as const, isExpanded: true, filters: [] };\n },\n set: (filtersState: PlDataTableFiltersWithMeta) => {\n const oldState = tableState.value;\n if (oldState.sourceId) {\n tableState.value = {\n ...oldState,\n filtersState,\n };\n }\n },\n });\n const filtersStateDeepReactive = ref(filtersState);\n watch(\n () => filtersStateDeepReactive.value,\n (newValue) => (filtersState.value = newValue),\n { deep: true },\n );\n\n const searchString = computed<string>({\n get: () => tableState.value.searchString ?? \"\",\n set: (searchString: string) => {\n const oldState = tableState.value;\n if (oldState.sourceId) {\n tableState.value = {\n ...oldState,\n searchString,\n };\n }\n },\n });\n\n return { gridState, sheetsState, filtersState: filtersStateDeepReactive, searchString };\n}\n\ntype PlDataTableStateV2CacheEntryNullable =\n | PlDataTableStateV2CacheEntry\n | {\n sourceId: null;\n gridState: Record<string, never>;\n sheetsState: [];\n filtersState: null;\n searchString?: string;\n };\n\nfunction makeDefaultState(): PlDataTableStateV2CacheEntryNullable {\n return {\n sourceId: null,\n gridState: {},\n sheetsState: [],\n filtersState: null,\n };\n}\n\nfunction getHiddenColIds(state: PlDataTableGridStateCore[\"columnVisibility\"]): PObjectId[] | null {\n return (\n state?.hiddenColIds?.map(parseJson).reduce((acc, c) => {\n if (c.source.type === \"column\") {\n acc.push(c.source.id);\n }\n return acc;\n }, [] as PObjectId[]) ?? null\n );\n}\n\nfunction convertPartitionFiltersToFilterSpec(\n sheetsState: PlDataTableSheetState[],\n): FilterSpec<FilterSpecLeaf<CanonicalizedJson<PTableColumnId>>>[] {\n return sheetsState.map((s) => {\n const column = canonicalizeJson<PTableColumnId>({ type: \"axis\", id: s.axisId });\n return typeof s.value === \"number\"\n ? { type: \"equal\" as const, column, x: s.value }\n : { type: \"patternEquals\" as const, column, value: s.value };\n });\n}\n\nfunction convertAgSortingToPTableSorting(state: PlDataTableGridStateCore[\"sort\"]): PTableSorting[] {\n return (\n state?.sortModel.map((item) => {\n const { spec: _, ...column } = parseJson(item.colId).labeled;\n return {\n column,\n ascending: item.sort === \"asc\",\n naAndAbsentAreLeastValues: item.sort === \"asc\",\n };\n }) ?? []\n );\n}\n\nfunction createSearchFilterNode(\n columns: PTableColumnSpec[],\n search: null | undefined | string,\n): null | FilterSpec<FilterSpecLeaf<CanonicalizedJson<PTableColumnId>>> {\n const trimmed = search?.trim();\n if (isNil(trimmed) || trimmed.length === 0) return null;\n\n const parts: FilterSpec<FilterSpecLeaf<CanonicalizedJson<PTableColumnId>>>[] = [];\n const numericValue = Number(trimmed);\n const isValidNumber = trimmed.length > 0 && !isNaN(numericValue) && isFinite(numericValue);\n\n for (const col of columns) {\n const column = canonicalizeJson<PTableColumnId>(getPTableColumnId(col));\n const spec = col.spec;\n\n if (isStringValueType(spec)) {\n parts.push({ type: \"patternEquals\", column, value: trimmed });\n }\n\n if (isNumericValueType(spec) && isValidNumber) {\n parts.push({ type: \"equal\", column, x: numericValue });\n }\n }\n\n if (parts.length === 0) return null;\n\n return { type: \"or\", filters: parts };\n}\n\nfunction createPTableParams(\n state: PlDataTableStateV2CacheEntry,\n filterableColumns: PTableColumnSpec[],\n): PTableParamsV2 {\n const searchNode = createSearchFilterNode(filterableColumns, state.searchString);\n const parts = [\n ...convertPartitionFiltersToFilterSpec(state.sheetsState),\n ...(state.filtersState ? [state.filtersState] : []),\n ...(searchNode ? [searchNode] : []),\n ];\n const filters: null | PlDataTableFilters = distillFilterSpec(\n parts.length === 0 ? null : parts.length === 1 ? parts[0] : { type: \"and\", filters: parts },\n );\n\n return {\n sourceId: state.sourceId,\n hiddenColIds: getHiddenColIds(state.gridState.columnVisibility),\n filters,\n sorting: convertAgSortingToPTableSorting(state.gridState.sort),\n };\n}\n"],"names":["useTableState","tableStateDenormalized","settings","columns","tableStateNormalized","computedCached","upgradePlDataTableStateV2","debounce","newState","tableState","computed","defaultState","makeDefaultState","sourceId","cachedState","entry","state","createDefaultPTableParams","createPTableParams","stateIdx","isJsonEqual","gridState","oldState","sheetsState","filtersState","raw","randomInt","filtersStateDeepReactive","ref","watch","newValue","searchString","getHiddenColIds","_a","parseJson","acc","c","convertPartitionFiltersToFilterSpec","s","column","canonicalizeJson","convertAgSortingToPTableSorting","item","_","createSearchFilterNode","search","trimmed","isNil","parts","numericValue","isValidNumber","col","getPTableColumnId","spec","isStringValueType","isNumericValueType","filterableColumns","searchNode","filters","distillFilterSpec"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table-state-v2.js","names":[],"sources":["../../../../src/components/PlAgDataTable/sources/table-state-v2.ts"],"sourcesContent":["import {\n createDefaultPTableParams,\n parseJson,\n canonicalizeJson,\n upgradePlDataTableStateV2,\n type FilterSpec,\n type FilterSpecLeaf,\n type PTableColumnId,\n type PTableColumnSpec,\n type PlDataTableGridStateCore,\n type PlDataTableSheetState,\n type PlDataTableStateV2,\n type PlDataTableStateV2CacheEntry,\n type PlDataTableStateV2Normalized,\n type PObjectId,\n type PTableParamsV2,\n type PTableSorting,\n type PlDataTableFilters,\n distillFilterSpec,\n PlDataTableFiltersWithMeta,\n getPTableColumnId,\n CanonicalizedJson,\n} from \"@platforma-sdk/model\";\nimport { computed, ref, watch, type Ref, type WritableComputedRef } from \"vue\";\nimport type { PlDataTableSettingsV2 } from \"../types\";\nimport { isJsonEqual, randomInt } from \"@milaboratories/helpers\";\nimport { computedCached } from \"@milaboratories/uikit\";\nimport { isStringValueType, isNumericValueType } from \"../../PlAdvancedFilter/utils\";\nimport { debounce, isNil } from \"es-toolkit\";\n\nexport function useTableState(\n tableStateDenormalized: Ref<PlDataTableStateV2>,\n settings: Ref<PlDataTableSettingsV2>,\n columns: Ref<PTableColumnSpec[]>,\n): {\n gridState: WritableComputedRef<PlDataTableGridStateCore>;\n sheetsState: WritableComputedRef<PlDataTableSheetState[]>;\n filtersState: Ref<PlDataTableFiltersWithMeta>;\n searchString: WritableComputedRef<string>;\n} {\n const tableStateNormalized = computedCached<PlDataTableStateV2Normalized>({\n get: () => upgradePlDataTableStateV2(tableStateDenormalized.value),\n set: debounce((newState) => (tableStateDenormalized.value = newState), 300),\n });\n\n const tableState = computed<PlDataTableStateV2CacheEntryNullable>({\n get: () => {\n const defaultState = makeDefaultState();\n\n const sourceId = settings.value.sourceId;\n if (!sourceId) return defaultState;\n\n const cachedState = tableStateNormalized.value.stateCache.find(\n (entry) => entry.sourceId === sourceId,\n );\n if (!cachedState) return { ...defaultState, sourceId };\n\n return cachedState;\n },\n set: (state) => {\n const newState: PlDataTableStateV2Normalized = {\n ...tableStateNormalized.value,\n pTableParams: createDefaultPTableParams(),\n };\n\n if (state.sourceId) {\n newState.pTableParams = createPTableParams(state, columns.value);\n\n const stateIdx = newState.stateCache.findIndex(\n (entry) => entry.sourceId === state.sourceId,\n );\n if (stateIdx !== -1) {\n newState.stateCache[stateIdx] = state;\n } else {\n const CacheDepth = 5;\n newState.stateCache.push(state);\n newState.stateCache = newState.stateCache.slice(-CacheDepth);\n }\n }\n\n if (!isJsonEqual(tableStateNormalized.value, newState)) {\n tableStateNormalized.value = newState;\n }\n },\n });\n\n const gridState = computed<PlDataTableGridStateCore>({\n get: () => tableState.value.gridState,\n set: (gridState) => {\n const oldState = tableState.value;\n if (oldState.sourceId) {\n tableState.value = {\n ...oldState,\n gridState,\n };\n }\n },\n });\n\n const sheetsState = computed<PlDataTableSheetState[]>({\n get: () => tableState.value.sheetsState,\n set: (sheetsState) => {\n const oldState = tableState.value;\n if (oldState.sourceId) {\n tableState.value = {\n ...oldState,\n sheetsState,\n };\n }\n },\n });\n\n const filtersState = computed<PlDataTableFiltersWithMeta>({\n get: () => {\n const raw = tableState.value.filtersState;\n const isCorrect =\n raw &&\n (raw.type === \"and\" || raw.type === \"or\") &&\n \"filters\" in raw &&\n Array.isArray(raw.filters);\n\n return isCorrect\n ? (raw satisfies PlDataTableFiltersWithMeta)\n : { id: randomInt(), type: \"and\" as const, isExpanded: true, filters: [] };\n },\n set: (filtersState: PlDataTableFiltersWithMeta) => {\n const oldState = tableState.value;\n if (oldState.sourceId) {\n tableState.value = {\n ...oldState,\n filtersState,\n };\n }\n },\n });\n const filtersStateDeepReactive = ref(filtersState);\n watch(\n () => filtersStateDeepReactive.value,\n (newValue) => (filtersState.value = newValue),\n { deep: true },\n );\n\n const searchString = computed<string>({\n get: () => tableState.value.searchString ?? \"\",\n set: (searchString: string) => {\n const oldState = tableState.value;\n if (oldState.sourceId) {\n tableState.value = {\n ...oldState,\n searchString,\n };\n }\n },\n });\n\n return { gridState, sheetsState, filtersState: filtersStateDeepReactive, searchString };\n}\n\ntype PlDataTableStateV2CacheEntryNullable =\n | PlDataTableStateV2CacheEntry\n | {\n sourceId: null;\n gridState: Record<string, never>;\n sheetsState: [];\n filtersState: null;\n searchString?: string;\n };\n\nfunction makeDefaultState(): PlDataTableStateV2CacheEntryNullable {\n return {\n sourceId: null,\n gridState: {},\n sheetsState: [],\n filtersState: null,\n };\n}\n\nfunction getHiddenColIds(state: PlDataTableGridStateCore[\"columnVisibility\"]): PObjectId[] | null {\n return (\n state?.hiddenColIds?.map(parseJson).reduce((acc, c) => {\n if (c.source.type === \"column\") {\n acc.push(c.source.id);\n }\n return acc;\n }, [] as PObjectId[]) ?? null\n );\n}\n\nfunction convertPartitionFiltersToFilterSpec(\n sheetsState: PlDataTableSheetState[],\n): FilterSpec<FilterSpecLeaf<CanonicalizedJson<PTableColumnId>>>[] {\n return sheetsState.map((s) => {\n const column = canonicalizeJson<PTableColumnId>({ type: \"axis\", id: s.axisId });\n return typeof s.value === \"number\"\n ? { type: \"equal\" as const, column, x: s.value }\n : { type: \"patternEquals\" as const, column, value: s.value };\n });\n}\n\nfunction convertAgSortingToPTableSorting(state: PlDataTableGridStateCore[\"sort\"]): PTableSorting[] {\n return (\n state?.sortModel.map((item) => {\n const { spec: _, ...column } = parseJson(item.colId).labeled;\n return {\n column,\n ascending: item.sort === \"asc\",\n naAndAbsentAreLeastValues: item.sort === \"asc\",\n };\n }) ?? []\n );\n}\n\nfunction createSearchFilterNode(\n columns: PTableColumnSpec[],\n search: null | undefined | string,\n): null | FilterSpec<FilterSpecLeaf<CanonicalizedJson<PTableColumnId>>> {\n const trimmed = search?.trim();\n if (isNil(trimmed) || trimmed.length === 0) return null;\n\n const parts: FilterSpec<FilterSpecLeaf<CanonicalizedJson<PTableColumnId>>>[] = [];\n const numericValue = Number(trimmed);\n const isValidNumber = trimmed.length > 0 && !isNaN(numericValue) && isFinite(numericValue);\n\n for (const col of columns) {\n const column = canonicalizeJson<PTableColumnId>(getPTableColumnId(col));\n const spec = col.spec;\n\n if (isStringValueType(spec)) {\n parts.push({ type: \"patternEquals\", column, value: trimmed });\n }\n\n if (isNumericValueType(spec) && isValidNumber) {\n parts.push({ type: \"equal\", column, x: numericValue });\n }\n }\n\n if (parts.length === 0) return null;\n\n return { type: \"or\", filters: parts };\n}\n\nfunction createPTableParams(\n state: PlDataTableStateV2CacheEntry,\n filterableColumns: PTableColumnSpec[],\n): PTableParamsV2 {\n const searchNode = createSearchFilterNode(filterableColumns, state.searchString);\n const parts = [\n ...convertPartitionFiltersToFilterSpec(state.sheetsState),\n ...(state.filtersState ? [state.filtersState] : []),\n ...(searchNode ? [searchNode] : []),\n ];\n const filters: null | PlDataTableFilters = distillFilterSpec(\n parts.length === 0 ? null : parts.length === 1 ? parts[0] : { type: \"and\", filters: parts },\n );\n\n return {\n sourceId: state.sourceId,\n hiddenColIds: getHiddenColIds(state.gridState.columnVisibility),\n filters,\n sorting: convertAgSortingToPTableSorting(state.gridState.sort),\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,40 +1,35 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import * as
|
|
4
|
-
function
|
|
5
|
-
|
|
1
|
+
import { isPTableHidden as e } from "./common.js";
|
|
2
|
+
import { Annotation as t, PTableNA as n, ValueType as r, isPTableAbsent as i, readAnnotation as a } from "@platforma-sdk/model";
|
|
3
|
+
import * as o from "d3-format";
|
|
4
|
+
function s(t) {
|
|
5
|
+
if (t === void 0) return "undefined";
|
|
6
|
+
if (e(t)) return "loading...";
|
|
7
|
+
if (i(t) || t === n) return "";
|
|
6
8
|
}
|
|
7
|
-
function
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
};
|
|
31
|
-
break;
|
|
32
|
-
}
|
|
33
|
-
const i = u(e.spec, f.Table.FontFamily);
|
|
34
|
-
return i && (n.fontFamily = i), n;
|
|
9
|
+
function c(e) {
|
|
10
|
+
let n = e.type === "axis" ? e.spec.type : e.spec.valueType, i;
|
|
11
|
+
switch (n) {
|
|
12
|
+
case r.Int:
|
|
13
|
+
case r.Long:
|
|
14
|
+
case r.Float:
|
|
15
|
+
case r.Double: {
|
|
16
|
+
let n = a(e.spec, t.Format), r = n ? o.format(n) : void 0;
|
|
17
|
+
i = { valueFormatter: (e) => {
|
|
18
|
+
let t = s(e.value);
|
|
19
|
+
return t === void 0 ? r ? r(Number(e.value)) : e.value.toString() : t;
|
|
20
|
+
} };
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
default:
|
|
24
|
+
i = { valueFormatter: (e) => {
|
|
25
|
+
let t = s(e.value);
|
|
26
|
+
return t === void 0 ? e.value.toString() : t;
|
|
27
|
+
} };
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
let c = a(e.spec, t.Table.FontFamily);
|
|
31
|
+
return c && (i.fontFamily = c), i;
|
|
35
32
|
}
|
|
36
|
-
export {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
};
|
|
40
|
-
//# sourceMappingURL=value-rendering.js.map
|
|
33
|
+
export { c as getColumnRenderingSpec };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=value-rendering.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value-rendering.js","sources":["../../../../src/components/PlAgDataTable/sources/value-rendering.ts"],"sourcesContent":["import {\n Annotation,\n isPTableAbsent,\n PTableNA,\n readAnnotation,\n ValueType,\n type PTableColumnSpec,\n type PTableValue,\n} from \"@platforma-sdk/model\";\nimport type { ValueFormatterFunc } from \"ag-grid-enterprise\";\nimport type { PTableHidden } from \"./common\";\nimport { isPTableHidden } from \"./common\";\nimport * as d3 from \"d3-format\";\nimport type { PlAgDataTableV2Row } from \"../types\";\n\nexport function formatSpecialValues(\n value: PTableValue | PTableHidden | undefined,\n): string | undefined {\n if (value === undefined) {\n return \"undefined\";\n } else if (isPTableHidden(value)) {\n return \"loading...\";\n } else if (isPTableAbsent(value) || value === PTableNA) {\n return \"\";\n } else {\n return undefined;\n }\n}\n\nexport type ColumnRenderingSpec = {\n valueFormatter: ValueFormatterFunc<PlAgDataTableV2Row, PTableValue | PTableHidden>;\n fontFamily?: string;\n};\n\nexport function getColumnRenderingSpec(spec: PTableColumnSpec): ColumnRenderingSpec {\n const valueType = spec.type === \"axis\" ? spec.spec.type : spec.spec.valueType;\n let renderSpec: ColumnRenderingSpec;\n switch (valueType) {\n case ValueType.Int:\n case ValueType.Long:\n case ValueType.Float:\n case ValueType.Double: {\n const format = readAnnotation(spec.spec, Annotation.Format);\n const formatFn = format ? d3.format(format) : undefined;\n renderSpec = {\n valueFormatter: (params) => {\n const formatted = formatSpecialValues(params.value);\n if (formatted !== undefined) return formatted;\n return formatFn ? formatFn(Number(params.value)) : params.value!.toString();\n },\n };\n break;\n }\n default:\n renderSpec = {\n valueFormatter: (params) => {\n const formatted = formatSpecialValues(params.value);\n if (formatted !== undefined) return formatted;\n return params.value!.toString();\n },\n };\n break;\n }\n const fontFamily = readAnnotation(spec.spec, Annotation.Table.FontFamily);\n if (fontFamily) renderSpec.fontFamily = fontFamily;\n return renderSpec;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"value-rendering.js","names":[],"sources":["../../../../src/components/PlAgDataTable/sources/value-rendering.ts"],"sourcesContent":["import {\n Annotation,\n isPTableAbsent,\n PTableNA,\n readAnnotation,\n ValueType,\n type PTableColumnSpec,\n type PTableValue,\n} from \"@platforma-sdk/model\";\nimport type { ValueFormatterFunc } from \"ag-grid-enterprise\";\nimport type { PTableHidden } from \"./common\";\nimport { isPTableHidden } from \"./common\";\nimport * as d3 from \"d3-format\";\nimport type { PlAgDataTableV2Row } from \"../types\";\n\nexport function formatSpecialValues(\n value: PTableValue | PTableHidden | undefined,\n): string | undefined {\n if (value === undefined) {\n return \"undefined\";\n } else if (isPTableHidden(value)) {\n return \"loading...\";\n } else if (isPTableAbsent(value) || value === PTableNA) {\n return \"\";\n } else {\n return undefined;\n }\n}\n\nexport type ColumnRenderingSpec = {\n valueFormatter: ValueFormatterFunc<PlAgDataTableV2Row, PTableValue | PTableHidden>;\n fontFamily?: string;\n};\n\nexport function getColumnRenderingSpec(spec: PTableColumnSpec): ColumnRenderingSpec {\n const valueType = spec.type === \"axis\" ? spec.spec.type : spec.spec.valueType;\n let renderSpec: ColumnRenderingSpec;\n switch (valueType) {\n case ValueType.Int:\n case ValueType.Long:\n case ValueType.Float:\n case ValueType.Double: {\n const format = readAnnotation(spec.spec, Annotation.Format);\n const formatFn = format ? d3.format(format) : undefined;\n renderSpec = {\n valueFormatter: (params) => {\n const formatted = formatSpecialValues(params.value);\n if (formatted !== undefined) return formatted;\n return formatFn ? formatFn(Number(params.value)) : params.value!.toString();\n },\n };\n break;\n }\n default:\n renderSpec = {\n valueFormatter: (params) => {\n const formatted = formatSpecialValues(params.value);\n if (formatted !== undefined) return formatted;\n return params.value!.toString();\n },\n };\n break;\n }\n const fontFamily = readAnnotation(spec.spec, Annotation.Table.FontFamily);\n if (fontFamily) renderSpec.fontFamily = fontFamily;\n return renderSpec;\n}\n"],"mappings":";;;AAeA,SAAgB,EACd,GACoB;AACpB,KAAI,MAAU,KAAA,EACZ,QAAO;KACE,EAAe,EAAM,CAC9B,QAAO;KACE,EAAe,EAAM,IAAI,MAAU,EAC5C,QAAO;;AAWX,SAAgB,EAAuB,GAA6C;CAClF,IAAM,IAAY,EAAK,SAAS,SAAS,EAAK,KAAK,OAAO,EAAK,KAAK,WAChE;AACJ,SAAQ,GAAR;EACE,KAAK,EAAU;EACf,KAAK,EAAU;EACf,KAAK,EAAU;EACf,KAAK,EAAU,QAAQ;GACrB,IAAM,IAAS,EAAe,EAAK,MAAM,EAAW,OAAO,EACrD,IAAW,IAAS,EAAG,OAAO,EAAO,GAAG,KAAA;AAC9C,OAAa,EACX,iBAAiB,MAAW;IAC1B,IAAM,IAAY,EAAoB,EAAO,MAAM;AAEnD,WADI,MAAc,KAAA,IACX,IAAW,EAAS,OAAO,EAAO,MAAM,CAAC,GAAG,EAAO,MAAO,UAAU,GADvC;MAGvC;AACD;;EAEF;AACE,OAAa,EACX,iBAAiB,MAAW;IAC1B,IAAM,IAAY,EAAoB,EAAO,MAAM;AAEnD,WADI,MAAc,KAAA,IACX,EAAO,MAAO,UAAU,GADK;MAGvC;AACD;;CAEJ,IAAM,IAAa,EAAe,EAAK,MAAM,EAAW,MAAM,WAAW;AAEzE,QADI,MAAY,EAAW,aAAa,IACjC"}
|
|
@@ -1,44 +1,55 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
1
|
+
import { deepClone as e } from "../../lib/util/helpers/dist/objects.js";
|
|
2
|
+
import "../../lib/util/helpers/dist/index.js";
|
|
3
|
+
import { computed as t, toValue as n } from "vue";
|
|
4
|
+
import r from "canonicalize";
|
|
5
|
+
function i(i) {
|
|
6
|
+
return t(() => {
|
|
7
|
+
let t = e(n(i.model)), a;
|
|
8
|
+
if (!t.ok) t.errors.forEach((e) => console.error("Error in PlDataTableModel:", e)), a = {
|
|
9
|
+
sourceId: null,
|
|
10
|
+
pending: !1
|
|
11
|
+
};
|
|
12
|
+
else if ("sourceId" in i) {
|
|
13
|
+
let o = e(n(i.sourceId));
|
|
14
|
+
if (i.sheets) {
|
|
15
|
+
let s = e(n(i.sheets));
|
|
16
|
+
a = o && s ? {
|
|
17
|
+
sourceId: r(o),
|
|
18
|
+
sheets: s,
|
|
19
|
+
model: t.value
|
|
20
|
+
} : {
|
|
21
|
+
sourceId: null,
|
|
22
|
+
pending: !t.stable
|
|
23
|
+
};
|
|
24
|
+
} else a = o ? {
|
|
25
|
+
sourceId: r(o),
|
|
26
|
+
sheets: [],
|
|
27
|
+
model: t.value
|
|
28
|
+
} : {
|
|
29
|
+
sourceId: null,
|
|
30
|
+
pending: !t.stable
|
|
31
|
+
};
|
|
32
|
+
} else if (i.sheets) {
|
|
33
|
+
let o = e(n(i.sheets));
|
|
34
|
+
a = o ? {
|
|
35
|
+
sourceId: r("static"),
|
|
36
|
+
sheets: o,
|
|
37
|
+
model: t.value
|
|
38
|
+
} : {
|
|
39
|
+
sourceId: null,
|
|
40
|
+
pending: !t.stable
|
|
41
|
+
};
|
|
42
|
+
} else a = t.value ? {
|
|
43
|
+
sourceId: r("static"),
|
|
44
|
+
sheets: [],
|
|
45
|
+
model: t.value
|
|
46
|
+
} : {
|
|
47
|
+
sourceId: null,
|
|
48
|
+
pending: !t.stable
|
|
49
|
+
};
|
|
50
|
+
return a;
|
|
51
|
+
});
|
|
40
52
|
}
|
|
41
|
-
export {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
//# sourceMappingURL=types.js.map
|
|
53
|
+
export { i as usePlDataTableSettingsV2 };
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../src/components/PlAgDataTable/types.ts"],"sourcesContent":["import {\n type AxisId,\n type CanonicalizedJson,\n type ListOptionBase,\n type PlDataTableModel,\n type PlDataTableSheet,\n type PlDataTableSheetState,\n type PTableKey,\n type PTableValue,\n type OutputWithStatus,\n} from \"@platforma-sdk/model\";\nimport type { PTableHidden } from \"./sources/common\";\nimport type { ComputedRef, MaybeRefOrGetter } from \"vue\";\nimport { computed, toValue } from \"vue\";\nimport canonicalize from \"canonicalize\";\nimport { deepClone } from \"@milaboratories/helpers\";\n\nexport type PlDataTableSettingsV2Base =\n | { sourceId: null; pending: boolean }\n | {\n /** Unique source id for state caching */\n sourceId: string;\n /** Sheets that we want to show in our table */\n sheets: PlDataTableSheet[];\n /** Result of `createPlDataTableV2` */\n model: PlDataTableModel | undefined;\n };\n\n/** Data table V2 settings */\nexport type PlDataTableSettingsV2 = PlDataTableSettingsV2Base;\n\ntype OptionsBasic = {\n /** Block output created by `createPlDataTableV2` */\n model: MaybeRefOrGetter<OutputWithStatus<PlDataTableModel | undefined>>;\n /**\n * Sheets for partitioned data sources.\n * Do not set if data source is never partitioned.\n */\n sheets?: MaybeRefOrGetter<PlDataTableSheet[] | undefined>;\n};\n\ntype OptionsSimple = OptionsBasic;\n\ntype OptionsAdvanced<T> = OptionsBasic & {\n /**\n * Block property (such as inputAnchor) used to produce the data source.\n * Mandatory for cases when the table can change without block run.\n * Skip when the table is changed only after block run.\n * Ask developers for help if you don't know what to set here.\n */\n sourceId: MaybeRefOrGetter<T | undefined>;\n};\n\nexport function usePlDataTableSettingsV2<T>(\n options: OptionsAdvanced<T>,\n): ComputedRef<PlDataTableSettingsV2>;\nexport function usePlDataTableSettingsV2(\n options: OptionsSimple,\n): ComputedRef<PlDataTableSettingsV2>;\nexport function usePlDataTableSettingsV2<T>(\n options: OptionsAdvanced<T> | OptionsSimple,\n): ComputedRef<PlDataTableSettingsV2> {\n return computed(() => {\n const model = deepClone(toValue(options.model));\n let settingsBase: PlDataTableSettingsV2Base;\n\n if (!model.ok) {\n model.errors.forEach((e) => console.error(\"Error in PlDataTableModel:\", e));\n settingsBase = { sourceId: null, pending: false };\n } else if (\"sourceId\" in options) {\n const sourceIdValue = deepClone(toValue(options.sourceId));\n if (options.sheets) {\n const sheetsValue = deepClone(toValue(options.sheets));\n settingsBase =\n sourceIdValue && sheetsValue\n ? {\n sourceId: canonicalize(sourceIdValue)!,\n sheets: sheetsValue,\n model: model.value,\n }\n : { sourceId: null, pending: !model.stable };\n } else {\n settingsBase = sourceIdValue\n ? {\n sourceId: canonicalize(sourceIdValue)!,\n sheets: [],\n model: model.value,\n }\n : { sourceId: null, pending: !model.stable };\n }\n } else {\n if (options.sheets) {\n const sheetsValue = deepClone(toValue(options.sheets));\n settingsBase = sheetsValue\n ? {\n sourceId: canonicalize(\"static\")!,\n sheets: sheetsValue,\n model: model.value,\n }\n : { sourceId: null, pending: !model.stable };\n } else {\n settingsBase = model.value\n ? {\n sourceId: canonicalize(\"static\")!,\n sheets: [],\n model: model.value,\n }\n : { sourceId: null, pending: !model.stable };\n }\n }\n return settingsBase;\n });\n}\n\n/** PlAgDataTable controller contains all exported methods */\nexport type PlAgDataTableV2Controller = {\n /**\n * Scroll table to make row with provided key visible\n * Warning: works reliably only in client side mode.\n * @returns `true` if row was found and focused, `false` otherwise\n */\n focusRow: (rowKey: PTableKey) => Promise<boolean>;\n /**\n * Update selection in the table.\n * @param axesIds - axes ids identifying axes key values in `selectedKeys`\n * @param selectedKeys - axes keys of the rows to select\n * Warning: update will be ignored if axes ids cannot be correctly resolved\n * @returns `true` if selection was updated, `false` otherwise\n */\n updateSelection: ({\n axesSpec,\n selectedKeys,\n }: {\n axesSpec: AxisId[];\n selectedKeys: PTableKey[];\n }) => Promise<boolean>;\n};\n\nexport type PlTableRowId = PTableKey;\n\nexport type PlTableRowIdJson = CanonicalizedJson<PTableKey>;\n\n/** PlAgDataTableV2 row */\nexport type PlAgDataTableV2Row = {\n /** Axes key */\n axesKey: PTableKey;\n /** Unique row identifier */\n id: PlTableRowIdJson;\n /** Row values by column; sheet axes and labeled axes are excluded */\n [field: `${number}`]: PTableValue | PTableHidden;\n};\n\nexport type PlAgOverlayLoadingParams = {\n /**\n * Required flag, that shows catInBag icon with message if `true`, shows PlSplash component if `false`.\n */\n variant: \"not-ready\" | \"running\" | \"loading\";\n /**\n * Prop to override default \"Loading data...\" text and the subtitles\n */\n loadingText?:\n | string\n | {\n title: string;\n subtitle: string | string[];\n };\n /**\n * Prop to override default \"Running analysis...\" text and the subtitles\n */\n runningText?:\n | string\n | {\n title: string;\n subtitle: string | string[];\n };\n /**\n * Prop to override default \"Data is not computed\" text (So why props name is notReady? Good question)\n */\n notReadyText?: string;\n};\n\nexport type PlAgOverlayNoRowsParams = {\n /**\n * Prop to override default \"Empty\" text\n */\n text?: string;\n};\n\nexport type PlDataTableSheetsSettings = {\n /** User-provided sheets for the sourceId */\n sheets: PlDataTableSheet[];\n /** Persisted selection for the sourceId */\n cachedState: PlDataTableSheetState[];\n};\n\nexport type PlDataTableSheetNormalized = {\n /** id of the axis */\n axisId: AxisId;\n /** sheet prefix */\n prefix: string;\n /** options to show in the filter dropdown */\n options: ListOptionBase<string | number>[];\n /** default (selected) value */\n defaultValue: string | number;\n};\n"],"
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/components/PlAgDataTable/types.ts"],"sourcesContent":["import {\n type AxisId,\n type CanonicalizedJson,\n type ListOptionBase,\n type PlDataTableModel,\n type PlDataTableSheet,\n type PlDataTableSheetState,\n type PTableKey,\n type PTableValue,\n type OutputWithStatus,\n} from \"@platforma-sdk/model\";\nimport type { PTableHidden } from \"./sources/common\";\nimport type { ComputedRef, MaybeRefOrGetter } from \"vue\";\nimport { computed, toValue } from \"vue\";\nimport canonicalize from \"canonicalize\";\nimport { deepClone } from \"@milaboratories/helpers\";\n\nexport type PlDataTableSettingsV2Base =\n | { sourceId: null; pending: boolean }\n | {\n /** Unique source id for state caching */\n sourceId: string;\n /** Sheets that we want to show in our table */\n sheets: PlDataTableSheet[];\n /** Result of `createPlDataTableV2` */\n model: PlDataTableModel | undefined;\n };\n\n/** Data table V2 settings */\nexport type PlDataTableSettingsV2 = PlDataTableSettingsV2Base;\n\ntype OptionsBasic = {\n /** Block output created by `createPlDataTableV2` */\n model: MaybeRefOrGetter<OutputWithStatus<PlDataTableModel | undefined>>;\n /**\n * Sheets for partitioned data sources.\n * Do not set if data source is never partitioned.\n */\n sheets?: MaybeRefOrGetter<PlDataTableSheet[] | undefined>;\n};\n\ntype OptionsSimple = OptionsBasic;\n\ntype OptionsAdvanced<T> = OptionsBasic & {\n /**\n * Block property (such as inputAnchor) used to produce the data source.\n * Mandatory for cases when the table can change without block run.\n * Skip when the table is changed only after block run.\n * Ask developers for help if you don't know what to set here.\n */\n sourceId: MaybeRefOrGetter<T | undefined>;\n};\n\nexport function usePlDataTableSettingsV2<T>(\n options: OptionsAdvanced<T>,\n): ComputedRef<PlDataTableSettingsV2>;\nexport function usePlDataTableSettingsV2(\n options: OptionsSimple,\n): ComputedRef<PlDataTableSettingsV2>;\nexport function usePlDataTableSettingsV2<T>(\n options: OptionsAdvanced<T> | OptionsSimple,\n): ComputedRef<PlDataTableSettingsV2> {\n return computed(() => {\n const model = deepClone(toValue(options.model));\n let settingsBase: PlDataTableSettingsV2Base;\n\n if (!model.ok) {\n model.errors.forEach((e) => console.error(\"Error in PlDataTableModel:\", e));\n settingsBase = { sourceId: null, pending: false };\n } else if (\"sourceId\" in options) {\n const sourceIdValue = deepClone(toValue(options.sourceId));\n if (options.sheets) {\n const sheetsValue = deepClone(toValue(options.sheets));\n settingsBase =\n sourceIdValue && sheetsValue\n ? {\n sourceId: canonicalize(sourceIdValue)!,\n sheets: sheetsValue,\n model: model.value,\n }\n : { sourceId: null, pending: !model.stable };\n } else {\n settingsBase = sourceIdValue\n ? {\n sourceId: canonicalize(sourceIdValue)!,\n sheets: [],\n model: model.value,\n }\n : { sourceId: null, pending: !model.stable };\n }\n } else {\n if (options.sheets) {\n const sheetsValue = deepClone(toValue(options.sheets));\n settingsBase = sheetsValue\n ? {\n sourceId: canonicalize(\"static\")!,\n sheets: sheetsValue,\n model: model.value,\n }\n : { sourceId: null, pending: !model.stable };\n } else {\n settingsBase = model.value\n ? {\n sourceId: canonicalize(\"static\")!,\n sheets: [],\n model: model.value,\n }\n : { sourceId: null, pending: !model.stable };\n }\n }\n return settingsBase;\n });\n}\n\n/** PlAgDataTable controller contains all exported methods */\nexport type PlAgDataTableV2Controller = {\n /**\n * Scroll table to make row with provided key visible\n * Warning: works reliably only in client side mode.\n * @returns `true` if row was found and focused, `false` otherwise\n */\n focusRow: (rowKey: PTableKey) => Promise<boolean>;\n /**\n * Update selection in the table.\n * @param axesIds - axes ids identifying axes key values in `selectedKeys`\n * @param selectedKeys - axes keys of the rows to select\n * Warning: update will be ignored if axes ids cannot be correctly resolved\n * @returns `true` if selection was updated, `false` otherwise\n */\n updateSelection: ({\n axesSpec,\n selectedKeys,\n }: {\n axesSpec: AxisId[];\n selectedKeys: PTableKey[];\n }) => Promise<boolean>;\n};\n\nexport type PlTableRowId = PTableKey;\n\nexport type PlTableRowIdJson = CanonicalizedJson<PTableKey>;\n\n/** PlAgDataTableV2 row */\nexport type PlAgDataTableV2Row = {\n /** Axes key */\n axesKey: PTableKey;\n /** Unique row identifier */\n id: PlTableRowIdJson;\n /** Row values by column; sheet axes and labeled axes are excluded */\n [field: `${number}`]: PTableValue | PTableHidden;\n};\n\nexport type PlAgOverlayLoadingParams = {\n /**\n * Required flag, that shows catInBag icon with message if `true`, shows PlSplash component if `false`.\n */\n variant: \"not-ready\" | \"running\" | \"loading\";\n /**\n * Prop to override default \"Loading data...\" text and the subtitles\n */\n loadingText?:\n | string\n | {\n title: string;\n subtitle: string | string[];\n };\n /**\n * Prop to override default \"Running analysis...\" text and the subtitles\n */\n runningText?:\n | string\n | {\n title: string;\n subtitle: string | string[];\n };\n /**\n * Prop to override default \"Data is not computed\" text (So why props name is notReady? Good question)\n */\n notReadyText?: string;\n};\n\nexport type PlAgOverlayNoRowsParams = {\n /**\n * Prop to override default \"Empty\" text\n */\n text?: string;\n};\n\nexport type PlDataTableSheetsSettings = {\n /** User-provided sheets for the sourceId */\n sheets: PlDataTableSheet[];\n /** Persisted selection for the sourceId */\n cachedState: PlDataTableSheetState[];\n};\n\nexport type PlDataTableSheetNormalized = {\n /** id of the axis */\n axisId: AxisId;\n /** sheet prefix */\n prefix: string;\n /** options to show in the filter dropdown */\n options: ListOptionBase<string | number>[];\n /** default (selected) value */\n defaultValue: string | number;\n};\n"],"mappings":";;;;AA2DA,SAAgB,EACd,GACoC;AACpC,QAAO,QAAe;EACpB,IAAM,IAAQ,EAAU,EAAQ,EAAQ,MAAM,CAAC,EAC3C;AAEJ,MAAI,CAAC,EAAM,GAET,CADA,EAAM,OAAO,SAAS,MAAM,QAAQ,MAAM,8BAA8B,EAAE,CAAC,EAC3E,IAAe;GAAE,UAAU;GAAM,SAAS;GAAO;WACxC,cAAc,GAAS;GAChC,IAAM,IAAgB,EAAU,EAAQ,EAAQ,SAAS,CAAC;AAC1D,OAAI,EAAQ,QAAQ;IAClB,IAAM,IAAc,EAAU,EAAQ,EAAQ,OAAO,CAAC;AACtD,QACE,KAAiB,IACb;KACE,UAAU,EAAa,EAAc;KACrC,QAAQ;KACR,OAAO,EAAM;KACd,GACD;KAAE,UAAU;KAAM,SAAS,CAAC,EAAM;KAAQ;SAEhD,KAAe,IACX;IACE,UAAU,EAAa,EAAc;IACrC,QAAQ,EAAE;IACV,OAAO,EAAM;IACd,GACD;IAAE,UAAU;IAAM,SAAS,CAAC,EAAM;IAAQ;aAG5C,EAAQ,QAAQ;GAClB,IAAM,IAAc,EAAU,EAAQ,EAAQ,OAAO,CAAC;AACtD,OAAe,IACX;IACE,UAAU,EAAa,SAAS;IAChC,QAAQ;IACR,OAAO,EAAM;IACd,GACD;IAAE,UAAU;IAAM,SAAS,CAAC,EAAM;IAAQ;QAE9C,KAAe,EAAM,QACjB;GACE,UAAU,EAAa,SAAS;GAChC,QAAQ,EAAE;GACV,OAAO,EAAM;GACd,GACD;GAAE,UAAU;GAAM,SAAS,CAAC,EAAM;GAAQ;AAGlD,SAAO;GACP"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./PlAgGridColumnManager.vue2.js";
|
|
3
|
+
import n from "./PlAgGridColumnManager.style.js";
|
|
4
|
+
var r = /* @__PURE__ */ e(t, [["__cssModules", { $style: n }]]);
|
|
5
|
+
export { r as default };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=PlAgGridColumnManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlAgGridColumnManager.js","names":[],"sources":["../../../src/components/PlAgGridColumnManager/PlAgGridColumnManager.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n PlBtnGhost,\n PlElementList,\n PlSearchField,\n PlSlideModal,\n usePlBlockPageTitleTeleportTarget,\n} from \"@milaboratories/uikit\";\nimport { type Column, type DisplayedColumnsChangedEvent, type GridApi } from \"ag-grid-enterprise\";\nimport { computed, ref, toRefs, watch } from \"vue\";\nimport { PlAgDataTableRowNumberColId } from \"../PlAgDataTable/sources/row-number\";\nimport { useFilteredItems } from \"./useFilteredItems\";\n\nconst props = defineProps<{\n /**\n * The GridApi is an API interface provided by the table/grid component\n * for interacting programmatically with the grid's features and functionality.\n * It allows you to control and manipulate grid behavior, access data, and\n * trigger specific actions.\n */\n api: GridApi;\n /**\n * Css Column Manager (Panel) modal width (default value is `368px`)\n */\n width?: string;\n}>();\n\nconst { api: gridApi } = toRefs(props);\n\nconst columns = ref<Column[]>([]);\nwatch(\n () => gridApi.value,\n (gridApi) => {\n if (gridApi.isDestroyed()) return;\n\n gridApi.addEventListener(\"displayedColumnsChanged\", (event: DisplayedColumnsChangedEvent) => {\n columns.value = event.api.getAllGridColumns();\n });\n\n columns.value = gridApi.getAllGridColumns();\n if (columns.value.length > 0) {\n gridApi.moveColumns(columns.value, 0);\n }\n },\n { immediate: true },\n);\n\nconst items = computed(() => {\n return columns.value.map((col) => ({\n column: col,\n id: col.getId(),\n label: col.getColDef().headerName!,\n }));\n});\n\nconst query = ref(\"\");\n\nconst slideModal = ref(false);\nconst teleportTarget = usePlBlockPageTitleTeleportTarget(\"PlAgGridColumnManager\");\n\nconst { filteredItems, segments } = useFilteredItems(() => ({\n items: items.value,\n query: query.value,\n getStrings: (item) => [item.label],\n}));\n</script>\n\n<template>\n <Teleport v-if=\"teleportTarget\" :to=\"teleportTarget\">\n <PlBtnGhost icon=\"columns\" @click.stop=\"slideModal = !slideModal\"> Columns </PlBtnGhost>\n </Teleport>\n\n <PlSlideModal v-model=\"slideModal\" :width=\"width\" close-on-outside-click>\n <template #title>Manage Columns</template>\n <PlSearchField v-model=\"query\" clearable />\n <PlElementList\n :items=\"filteredItems\"\n :get-item-key=\"(item) => item.id\"\n :is-draggable=\"(item) => !item.column.getColDef().lockPosition\"\n :on-sort=\"\n (fromIndex, toIndex) => {\n if (!gridApi.isDestroyed()) {\n const columnToMove = columns[fromIndex];\n gridApi.moveColumns([columnToMove], toIndex);\n }\n return true; // Let PlElementList handle the visual update\n }\n \"\n :on-toggle=\"\n (item) => {\n if (!gridApi.isDestroyed()) {\n gridApi.setColumnsVisible([item.column], !item.column.isVisible());\n }\n }\n \"\n :is-toggled=\"(item) => !item.column.isVisible()\"\n :is-toggable=\"(item) => item.id !== PlAgDataTableRowNumberColId\"\n :is-pinned=\"(item) => !!item.column.getColDef().lockPosition\"\n :is-pinnable=\"() => false\"\n :disable-dragging=\"query.length > 0\"\n disable-removing\n >\n <template #item-title=\"{ item }\">\n <span>\n <span\n v-for=\"(segment, i) of segments.get(item.label)\"\n :key=\"i\"\n :class=\"{ [$style.match]: segment.match }\"\n >{{ segment.value }}</span\n >\n </span>\n </template>\n </PlElementList>\n </PlSlideModal>\n</template>\n\n<style module>\n.match {\n background-color: var(--color-active-select);\n border-radius: 2px;\n}\n</style>\n"],"mappings":""}
|