@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,194 +1,141 @@
|
|
|
1
|
-
import { tap as
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
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
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
* @param cb - Callback to modify the current navigation state.
|
|
139
|
-
* @returns A promise resolving after the update is applied.
|
|
140
|
-
*/
|
|
141
|
-
updateNavigationState(e) {
|
|
142
|
-
const t = S();
|
|
143
|
-
return e(t), a.setNavigationState(t);
|
|
144
|
-
},
|
|
145
|
-
/**
|
|
146
|
-
* Navigates to a specific href by updating the navigation state.
|
|
147
|
-
*
|
|
148
|
-
* @param href - The target href to navigate to.
|
|
149
|
-
* @returns A promise resolving after the navigation state is updated.
|
|
150
|
-
*/
|
|
151
|
-
navigateTo(e) {
|
|
152
|
-
const t = S();
|
|
153
|
-
return t.href = e, a.setNavigationState(t);
|
|
154
|
-
}
|
|
155
|
-
}, U = u(() => {
|
|
156
|
-
const e = Object.entries(r.outputs).map(
|
|
157
|
-
([t, o]) => a.blockModelInfo.outputs[t].withStatus ? [t, q(o)] : [
|
|
158
|
-
t,
|
|
159
|
-
o.ok && o.value !== void 0 ? o.value : void 0
|
|
160
|
-
]
|
|
161
|
-
);
|
|
162
|
-
return Object.fromEntries(e);
|
|
163
|
-
}), z = u(() => {
|
|
164
|
-
const e = Object.entries(r.outputs).map(([t, o]) => [
|
|
165
|
-
t,
|
|
166
|
-
o && o.ok === !1 ? new F(o.errors) : void 0
|
|
167
|
-
]);
|
|
168
|
-
return Object.fromEntries(e);
|
|
169
|
-
}), B = {
|
|
170
|
-
snapshot: r,
|
|
171
|
-
queryParams: u(() => h(r.navigationState.href)),
|
|
172
|
-
href: u(() => r.navigationState.href),
|
|
173
|
-
hasErrors: u(() => Object.values(r.outputs).some((e) => !(e != null && e.ok)))
|
|
174
|
-
}, y = N(
|
|
175
|
-
{
|
|
176
|
-
get() {
|
|
177
|
-
return { args: r.args, ui: r.ui };
|
|
178
|
-
},
|
|
179
|
-
autoSave: !0,
|
|
180
|
-
onSave(e) {
|
|
181
|
-
j(e.args, e.ui);
|
|
182
|
-
}
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
outputs: U,
|
|
186
|
-
outputErrors: z
|
|
187
|
-
}
|
|
188
|
-
);
|
|
189
|
-
return d(Object.assign(y, w, B));
|
|
1
|
+
import { tap as e } from "../lib/util/helpers/dist/utils.js";
|
|
2
|
+
import { deepClone as t, isJsonEqual as n } from "../lib/util/helpers/dist/objects.js";
|
|
3
|
+
import "../lib/util/helpers/dist/index.js";
|
|
4
|
+
import { MultiError as r, ensureOutputHasStableFlag as i, unwrapOutput as a } from "../utils.js";
|
|
5
|
+
import { createModel as o } from "../createModel.js";
|
|
6
|
+
import { createAppModel as s } from "./createAppModel.js";
|
|
7
|
+
import { parseQuery as c } from "../urls.js";
|
|
8
|
+
import { computed as l, nextTick as u, reactive as d, watch as f } from "vue";
|
|
9
|
+
import { useDebounceFn as p } from "@vueuse/core";
|
|
10
|
+
/**
|
|
11
|
+
* Creates an application instance with reactive state management, outputs, and methods for state updates and navigation.
|
|
12
|
+
*
|
|
13
|
+
* @template Args - The type of arguments used in the application.
|
|
14
|
+
* @template Outputs - The type of block outputs extending `BlockOutputsBase`.
|
|
15
|
+
* @template UiState - The type of the UI state.
|
|
16
|
+
* @template Href - The type of navigation href, defaulting to a string starting with `/`.
|
|
17
|
+
*
|
|
18
|
+
* @param state - Initial state of the application, including args, outputs, UI state, and navigation state.
|
|
19
|
+
* @param platforma - A platform interface for interacting with block states.
|
|
20
|
+
* @param settings - Application settings, such as debug flags.
|
|
21
|
+
*
|
|
22
|
+
* @returns A reactive application object with methods, getters, and state.
|
|
23
|
+
*/
|
|
24
|
+
function m(m, h, g) {
|
|
25
|
+
let _ = (e, ...t) => {
|
|
26
|
+
g.debug && console.log(`%c>>> %c${e}`, "color: orange; font-weight: bold", "color: orange", ...t);
|
|
27
|
+
}, v = d({
|
|
28
|
+
args: Object.freeze(m.args),
|
|
29
|
+
outputs: Object.freeze(m.outputs),
|
|
30
|
+
ui: Object.freeze(m.ui),
|
|
31
|
+
navigationState: Object.freeze(m.navigationState)
|
|
32
|
+
}), y = g.debounceSpan ?? 200, b = e(g.debounceMaxWait ?? 0, (e) => e < 2e4 ? 2e4 : e < y ? y * 100 : e), x = p((e) => {
|
|
33
|
+
n(e, v.args) || h.setBlockArgs(e);
|
|
34
|
+
}, y, { maxWait: b }), S = p((e) => {
|
|
35
|
+
n(e, v.ui) || h.setBlockUiState(e);
|
|
36
|
+
}, y, { maxWait: b }), C = p((e, t) => {
|
|
37
|
+
(!n(e, v.args) || !n(t, v.ui)) && h.setBlockArgsAndUiState(e, t);
|
|
38
|
+
}, y, { maxWait: b });
|
|
39
|
+
h.onStateUpdates(async (e) => {
|
|
40
|
+
e.forEach((e) => {
|
|
41
|
+
e.key === "args" && !n(v.args, e.value) && (v.args = Object.freeze(e.value), _("args patch", v.args)), e.key === "ui" && !n(v.ui, e.value) && (v.ui = Object.freeze(e.value), _("ui patch", v.ui)), e.key === "outputs" && !n(v.outputs, e.value) && (v.outputs = Object.freeze(e.value), _("outputs patch", v.outputs)), e.key === "navigationState" && !n(v.navigationState, e.value) && (v.navigationState = Object.freeze(e.value), _("navigationState patch", v.navigationState));
|
|
42
|
+
}), await u();
|
|
43
|
+
});
|
|
44
|
+
let w = () => t(v.args), T = () => t(v.ui), E = () => t(v.navigationState), D = {
|
|
45
|
+
createArgsModel(e = {}) {
|
|
46
|
+
return o({
|
|
47
|
+
get() {
|
|
48
|
+
return e.transform ? e.transform(v.args) : v.args;
|
|
49
|
+
},
|
|
50
|
+
validate: e.validate,
|
|
51
|
+
autoSave: !0,
|
|
52
|
+
onSave(e) {
|
|
53
|
+
x(e);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
},
|
|
57
|
+
createUiModel(e = {}, t) {
|
|
58
|
+
return o({
|
|
59
|
+
get() {
|
|
60
|
+
return e.transform ? e.transform(v.ui) : v.ui ?? t();
|
|
61
|
+
},
|
|
62
|
+
validate: e.validate,
|
|
63
|
+
autoSave: !0,
|
|
64
|
+
onSave(e) {
|
|
65
|
+
S(e);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
},
|
|
69
|
+
useOutputs(...e) {
|
|
70
|
+
let t = d({
|
|
71
|
+
errors: void 0,
|
|
72
|
+
value: void 0
|
|
73
|
+
});
|
|
74
|
+
return f(() => v.outputs, () => {
|
|
75
|
+
try {
|
|
76
|
+
Object.assign(t, {
|
|
77
|
+
value: this.unwrapOutputs(...e),
|
|
78
|
+
errors: void 0
|
|
79
|
+
});
|
|
80
|
+
} catch (e) {
|
|
81
|
+
Object.assign(t, {
|
|
82
|
+
value: void 0,
|
|
83
|
+
errors: [String(e)]
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}, {
|
|
87
|
+
immediate: !0,
|
|
88
|
+
deep: !0
|
|
89
|
+
}), t;
|
|
90
|
+
},
|
|
91
|
+
unwrapOutputs(...e) {
|
|
92
|
+
let t = v.outputs, n = e.map((e) => [e, a(t[e])]);
|
|
93
|
+
return Object.fromEntries(n);
|
|
94
|
+
},
|
|
95
|
+
updateArgs(e) {
|
|
96
|
+
let t = w();
|
|
97
|
+
return e(t), h.setBlockArgs(t);
|
|
98
|
+
},
|
|
99
|
+
updateUiState(e) {
|
|
100
|
+
let t = T();
|
|
101
|
+
return h.setBlockUiState(e(t));
|
|
102
|
+
},
|
|
103
|
+
updateNavigationState(e) {
|
|
104
|
+
let t = E();
|
|
105
|
+
return e(t), h.setNavigationState(t);
|
|
106
|
+
},
|
|
107
|
+
navigateTo(e) {
|
|
108
|
+
let t = E();
|
|
109
|
+
return t.href = e, h.setNavigationState(t);
|
|
110
|
+
}
|
|
111
|
+
}, O = l(() => {
|
|
112
|
+
let e = Object.entries(v.outputs).map(([e, t]) => h.blockModelInfo.outputs[e].withStatus ? [e, i(t)] : [e, t.ok && t.value !== void 0 ? t.value : void 0]);
|
|
113
|
+
return Object.fromEntries(e);
|
|
114
|
+
}), k = l(() => {
|
|
115
|
+
let e = Object.entries(v.outputs).map(([e, t]) => [e, t && t.ok === !1 ? new r(t.errors) : void 0]);
|
|
116
|
+
return Object.fromEntries(e);
|
|
117
|
+
}), A = {
|
|
118
|
+
snapshot: v,
|
|
119
|
+
queryParams: l(() => c(v.navigationState.href)),
|
|
120
|
+
href: l(() => v.navigationState.href),
|
|
121
|
+
hasErrors: l(() => Object.values(v.outputs).some((e) => !e?.ok))
|
|
122
|
+
}, j = s({
|
|
123
|
+
get() {
|
|
124
|
+
return {
|
|
125
|
+
args: v.args,
|
|
126
|
+
ui: v.ui
|
|
127
|
+
};
|
|
128
|
+
},
|
|
129
|
+
autoSave: !0,
|
|
130
|
+
onSave(e) {
|
|
131
|
+
C(e.args, e.ui);
|
|
132
|
+
}
|
|
133
|
+
}, {
|
|
134
|
+
outputs: O,
|
|
135
|
+
outputErrors: k
|
|
136
|
+
}, g);
|
|
137
|
+
return d(Object.assign(j, D, A));
|
|
190
138
|
}
|
|
191
|
-
export {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
//# sourceMappingURL=createAppV1.js.map
|
|
139
|
+
export { m as createAppV1 };
|
|
140
|
+
|
|
141
|
+
//# sourceMappingURL=createAppV1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAppV1.js","sources":["../../src/internal/createAppV1.ts"],"sourcesContent":["import { deepClone, isJsonEqual, tap } from \"@milaboratories/helpers\";\nimport type { Mutable } from \"@milaboratories/helpers\";\nimport type {\n NavigationState,\n BlockOutputsBase,\n BlockState,\n PlatformaV1,\n PlatformaExtended,\n} from \"@platforma-sdk/model\";\nimport { reactive, nextTick, computed, watch } from \"vue\";\nimport type {\n StateModelOptions,\n UnwrapOutputs,\n OptionalResult,\n OutputValues,\n OutputErrors,\n AppSettings,\n} from \"../types\";\nimport { createModel } from \"../createModel\";\nimport { createAppModel } from \"./createAppModel\";\nimport { parseQuery } from \"../urls\";\nimport { ensureOutputHasStableFlag, MultiError, unwrapOutput } from \"../utils\";\nimport { useDebounceFn } from \"@vueuse/core\";\n/**\n * Creates an application instance with reactive state management, outputs, and methods for state updates and navigation.\n *\n * @template Args - The type of arguments used in the application.\n * @template Outputs - The type of block outputs extending `BlockOutputsBase`.\n * @template UiState - The type of the UI state.\n * @template Href - The type of navigation href, defaulting to a string starting with `/`.\n *\n * @param state - Initial state of the application, including args, outputs, UI state, and navigation state.\n * @param platforma - A platform interface for interacting with block states.\n * @param settings - Application settings, such as debug flags.\n *\n * @returns A reactive application object with methods, getters, and state.\n */\nexport function createAppV1<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n>(\n state: BlockState<Args, Outputs, UiState, Href>,\n platforma: PlatformaExtended<PlatformaV1<Args, Outputs, UiState, Href>>,\n settings: AppSettings,\n) {\n type AppModel = {\n args: Args;\n ui: UiState;\n };\n\n const log = (msg: string, ...rest: unknown[]) => {\n if (settings.debug) {\n console.log(`%c>>> %c${msg}`, \"color: orange; font-weight: bold\", \"color: orange\", ...rest);\n }\n };\n\n /**\n * Reactive snapshot of the application state, including args, outputs, UI state, and navigation state.\n */\n const snapshot = reactive({\n args: Object.freeze(state.args),\n outputs: Object.freeze(state.outputs),\n ui: Object.freeze(state.ui),\n navigationState: Object.freeze(state.navigationState) as NavigationState<Href>,\n }) as {\n args: Readonly<Args>;\n outputs: Partial<Readonly<Outputs>>;\n ui: Readonly<UiState>;\n navigationState: Readonly<NavigationState<Href>>;\n };\n\n const debounceSpan = settings.debounceSpan ?? 200;\n\n const maxWait = tap(settings.debounceMaxWait ?? 0, (v) =>\n v < 20_000 ? 20_000 : v < debounceSpan ? debounceSpan * 100 : v,\n );\n\n const setBlockArgs = useDebounceFn(\n (args: Args) => {\n if (!isJsonEqual(args, snapshot.args)) {\n platforma.setBlockArgs(args);\n }\n },\n debounceSpan,\n { maxWait },\n );\n\n const setBlockUiState = useDebounceFn(\n (ui: UiState) => {\n if (!isJsonEqual(ui, snapshot.ui)) {\n platforma.setBlockUiState(ui);\n }\n },\n debounceSpan,\n { maxWait },\n );\n\n const setBlockArgsAndUiState = useDebounceFn(\n (args: Args, ui: UiState) => {\n if (!isJsonEqual(args, snapshot.args) || !isJsonEqual(ui, snapshot.ui)) {\n platforma.setBlockArgsAndUiState(args, ui);\n }\n },\n debounceSpan,\n { maxWait },\n );\n\n (platforma as unknown as PlatformaV1<Args, Outputs, UiState, Href>).onStateUpdates(\n async (updates) => {\n updates.forEach((patch) => {\n if (patch.key === \"args\" && !isJsonEqual(snapshot.args, patch.value)) {\n snapshot.args = Object.freeze(patch.value);\n log(\"args patch\", snapshot.args);\n }\n\n if (patch.key === \"ui\" && !isJsonEqual(snapshot.ui, patch.value)) {\n snapshot.ui = Object.freeze(patch.value);\n log(\"ui patch\", snapshot.ui);\n }\n\n if (patch.key === \"outputs\" && !isJsonEqual(snapshot.outputs, patch.value)) {\n snapshot.outputs = Object.freeze(patch.value);\n log(\"outputs patch\", snapshot.outputs);\n }\n\n if (\n patch.key === \"navigationState\" &&\n !isJsonEqual(snapshot.navigationState, patch.value)\n ) {\n snapshot.navigationState = Object.freeze(patch.value);\n log(\"navigationState patch\", snapshot.navigationState);\n }\n });\n\n await nextTick();\n },\n );\n\n const cloneArgs = () => deepClone(snapshot.args) as Args;\n const cloneUiState = () => deepClone(snapshot.ui) as UiState;\n const cloneNavigationState = () =>\n deepClone(snapshot.navigationState) as Mutable<NavigationState<Href>>;\n\n const methods = {\n createArgsModel<T = Args>(options: StateModelOptions<Args, T> = {}) {\n return createModel<T, Args>({\n get() {\n if (options.transform) {\n return options.transform(snapshot.args);\n }\n\n return snapshot.args as T;\n },\n validate: options.validate,\n autoSave: true,\n onSave(newArgs) {\n setBlockArgs(newArgs);\n },\n });\n },\n /**\n * defaultUiState is temporarily here, remove it after implementing initialUiState\n */\n createUiModel<T = UiState>(\n options: StateModelOptions<UiState, T> = {},\n defaultUiState: () => UiState,\n ) {\n return createModel<T, UiState>({\n get() {\n if (options.transform) {\n return options.transform(snapshot.ui);\n }\n\n return (snapshot.ui ?? defaultUiState()) as T;\n },\n validate: options.validate,\n autoSave: true,\n onSave(newData) {\n setBlockUiState(newData);\n },\n });\n },\n /**\n * Note: Don't forget to list the output names, like: useOutputs('output1', 'output2', ...etc)\n * @param keys - List of output names\n * @returns {OptionalResult<UnwrapOutputs<Outputs, K>>}\n */\n useOutputs<K extends keyof Outputs>(...keys: K[]): OptionalResult<UnwrapOutputs<Outputs, K>> {\n const data = reactive({\n errors: undefined,\n value: undefined,\n });\n\n watch(\n () => snapshot.outputs,\n () => {\n try {\n Object.assign(data, {\n value: this.unwrapOutputs<K>(...keys),\n errors: undefined,\n });\n } catch (error) {\n Object.assign(data, {\n value: undefined,\n errors: [String(error)],\n });\n }\n },\n { immediate: true, deep: true },\n );\n\n return data as OptionalResult<UnwrapOutputs<Outputs, K>>;\n },\n /**\n * Retrieves the unwrapped values of outputs for the given keys.\n *\n * @template K - Keys of the outputs to unwrap.\n * @param keys - List of output names.\n * @throws Error if the outputs contain errors.\n * @returns An object with unwrapped output values.\n */\n unwrapOutputs<K extends keyof Outputs>(...keys: K[]): UnwrapOutputs<Outputs, K> {\n const outputs = snapshot.outputs;\n const entries = keys.map((key) => [key, unwrapOutput(outputs[key])]);\n return Object.fromEntries(entries);\n },\n /**\n * Updates the arguments state by applying a callback.\n *\n * @param cb - Callback to modify the current arguments.\n * @returns A promise resolving after the update is applied.\n */\n updateArgs(cb: (args: Args) => void) {\n const newArgs = cloneArgs();\n cb(newArgs);\n return platforma.setBlockArgs(newArgs);\n },\n /**\n * Updates the UI state by applying a callback.\n *\n * @param cb - Callback to modify the current UI state.\n * @returns A promise resolving after the update is applied.\n * @todo Make it mutable since there is already an initial one\n */\n updateUiState(cb: (args: UiState) => UiState): Promise<void> {\n const newUiState = cloneUiState();\n return platforma.setBlockUiState(cb(newUiState));\n },\n /**\n * Updates the navigation state by applying a callback.\n *\n * @param cb - Callback to modify the current navigation state.\n * @returns A promise resolving after the update is applied.\n */\n updateNavigationState(cb: (args: Mutable<NavigationState<Href>>) => void) {\n const newState = cloneNavigationState();\n cb(newState);\n return platforma.setNavigationState(newState);\n },\n /**\n * Navigates to a specific href by updating the navigation state.\n *\n * @param href - The target href to navigate to.\n * @returns A promise resolving after the navigation state is updated.\n */\n navigateTo(href: Href) {\n const newState = cloneNavigationState();\n newState.href = href;\n return platforma.setNavigationState(newState);\n },\n };\n\n const outputs = computed<OutputValues<Outputs>>(() => {\n const entries = Object.entries(snapshot.outputs).map(([k, outputWithStatus]) =>\n platforma.blockModelInfo.outputs[k].withStatus\n ? [k, ensureOutputHasStableFlag(outputWithStatus)]\n : [\n k,\n outputWithStatus.ok && outputWithStatus.value !== undefined\n ? outputWithStatus.value\n : undefined,\n ],\n );\n return Object.fromEntries(entries);\n });\n\n const outputErrors = computed<OutputErrors<Outputs>>(() => {\n const entries = Object.entries(snapshot.outputs).map(([k, vOrErr]) => [\n k,\n vOrErr && vOrErr.ok === false ? new MultiError(vOrErr.errors) : undefined,\n ]);\n return Object.fromEntries(entries);\n });\n\n const getters = {\n snapshot,\n queryParams: computed(() => parseQuery<Href>(snapshot.navigationState.href)),\n href: computed(() => snapshot.navigationState.href),\n hasErrors: computed(() => Object.values(snapshot.outputs).some((v) => !v?.ok)),\n };\n\n const model = createAppModel(\n {\n get() {\n return { args: snapshot.args, ui: snapshot.ui } as AppModel;\n },\n autoSave: true,\n onSave(newData: AppModel) {\n setBlockArgsAndUiState(newData.args, newData.ui);\n },\n },\n {\n outputs,\n outputErrors,\n },\n settings,\n );\n\n return reactive(Object.assign(model, methods, getters));\n}\n\nexport type BaseAppV1<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n> = ReturnType<typeof createAppV1<Args, Outputs, UiState, Href>>;\n"],"names":["createAppV1","state","platforma","settings","log","msg","rest","snapshot","reactive","debounceSpan","maxWait","tap","v","setBlockArgs","useDebounceFn","args","isJsonEqual","setBlockUiState","ui","setBlockArgsAndUiState","updates","patch","nextTick","cloneArgs","deepClone","cloneUiState","cloneNavigationState","methods","options","createModel","newArgs","defaultUiState","newData","keys","data","watch","error","outputs","entries","key","unwrapOutput","cb","newUiState","newState","href","computed","k","outputWithStatus","ensureOutputHasStableFlag","outputErrors","vOrErr","MultiError","getters","parseQuery","model","createAppModel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createAppV1.js","names":[],"sources":["../../src/internal/createAppV1.ts"],"sourcesContent":["import { deepClone, isJsonEqual, tap } from \"@milaboratories/helpers\";\nimport type { Mutable } from \"@milaboratories/helpers\";\nimport type {\n NavigationState,\n BlockOutputsBase,\n BlockState,\n PlatformaV1,\n PlatformaExtended,\n} from \"@platforma-sdk/model\";\nimport { reactive, nextTick, computed, watch } from \"vue\";\nimport type {\n StateModelOptions,\n UnwrapOutputs,\n OptionalResult,\n OutputValues,\n OutputErrors,\n AppSettings,\n} from \"../types\";\nimport { createModel } from \"../createModel\";\nimport { createAppModel } from \"./createAppModel\";\nimport { parseQuery } from \"../urls\";\nimport { ensureOutputHasStableFlag, MultiError, unwrapOutput } from \"../utils\";\nimport { useDebounceFn } from \"@vueuse/core\";\n/**\n * Creates an application instance with reactive state management, outputs, and methods for state updates and navigation.\n *\n * @template Args - The type of arguments used in the application.\n * @template Outputs - The type of block outputs extending `BlockOutputsBase`.\n * @template UiState - The type of the UI state.\n * @template Href - The type of navigation href, defaulting to a string starting with `/`.\n *\n * @param state - Initial state of the application, including args, outputs, UI state, and navigation state.\n * @param platforma - A platform interface for interacting with block states.\n * @param settings - Application settings, such as debug flags.\n *\n * @returns A reactive application object with methods, getters, and state.\n */\nexport function createAppV1<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n>(\n state: BlockState<Args, Outputs, UiState, Href>,\n platforma: PlatformaExtended<PlatformaV1<Args, Outputs, UiState, Href>>,\n settings: AppSettings,\n) {\n type AppModel = {\n args: Args;\n ui: UiState;\n };\n\n const log = (msg: string, ...rest: unknown[]) => {\n if (settings.debug) {\n console.log(`%c>>> %c${msg}`, \"color: orange; font-weight: bold\", \"color: orange\", ...rest);\n }\n };\n\n /**\n * Reactive snapshot of the application state, including args, outputs, UI state, and navigation state.\n */\n const snapshot = reactive({\n args: Object.freeze(state.args),\n outputs: Object.freeze(state.outputs),\n ui: Object.freeze(state.ui),\n navigationState: Object.freeze(state.navigationState) as NavigationState<Href>,\n }) as {\n args: Readonly<Args>;\n outputs: Partial<Readonly<Outputs>>;\n ui: Readonly<UiState>;\n navigationState: Readonly<NavigationState<Href>>;\n };\n\n const debounceSpan = settings.debounceSpan ?? 200;\n\n const maxWait = tap(settings.debounceMaxWait ?? 0, (v) =>\n v < 20_000 ? 20_000 : v < debounceSpan ? debounceSpan * 100 : v,\n );\n\n const setBlockArgs = useDebounceFn(\n (args: Args) => {\n if (!isJsonEqual(args, snapshot.args)) {\n platforma.setBlockArgs(args);\n }\n },\n debounceSpan,\n { maxWait },\n );\n\n const setBlockUiState = useDebounceFn(\n (ui: UiState) => {\n if (!isJsonEqual(ui, snapshot.ui)) {\n platforma.setBlockUiState(ui);\n }\n },\n debounceSpan,\n { maxWait },\n );\n\n const setBlockArgsAndUiState = useDebounceFn(\n (args: Args, ui: UiState) => {\n if (!isJsonEqual(args, snapshot.args) || !isJsonEqual(ui, snapshot.ui)) {\n platforma.setBlockArgsAndUiState(args, ui);\n }\n },\n debounceSpan,\n { maxWait },\n );\n\n (platforma as unknown as PlatformaV1<Args, Outputs, UiState, Href>).onStateUpdates(\n async (updates) => {\n updates.forEach((patch) => {\n if (patch.key === \"args\" && !isJsonEqual(snapshot.args, patch.value)) {\n snapshot.args = Object.freeze(patch.value);\n log(\"args patch\", snapshot.args);\n }\n\n if (patch.key === \"ui\" && !isJsonEqual(snapshot.ui, patch.value)) {\n snapshot.ui = Object.freeze(patch.value);\n log(\"ui patch\", snapshot.ui);\n }\n\n if (patch.key === \"outputs\" && !isJsonEqual(snapshot.outputs, patch.value)) {\n snapshot.outputs = Object.freeze(patch.value);\n log(\"outputs patch\", snapshot.outputs);\n }\n\n if (\n patch.key === \"navigationState\" &&\n !isJsonEqual(snapshot.navigationState, patch.value)\n ) {\n snapshot.navigationState = Object.freeze(patch.value);\n log(\"navigationState patch\", snapshot.navigationState);\n }\n });\n\n await nextTick();\n },\n );\n\n const cloneArgs = () => deepClone(snapshot.args) as Args;\n const cloneUiState = () => deepClone(snapshot.ui) as UiState;\n const cloneNavigationState = () =>\n deepClone(snapshot.navigationState) as Mutable<NavigationState<Href>>;\n\n const methods = {\n createArgsModel<T = Args>(options: StateModelOptions<Args, T> = {}) {\n return createModel<T, Args>({\n get() {\n if (options.transform) {\n return options.transform(snapshot.args);\n }\n\n return snapshot.args as T;\n },\n validate: options.validate,\n autoSave: true,\n onSave(newArgs) {\n setBlockArgs(newArgs);\n },\n });\n },\n /**\n * defaultUiState is temporarily here, remove it after implementing initialUiState\n */\n createUiModel<T = UiState>(\n options: StateModelOptions<UiState, T> = {},\n defaultUiState: () => UiState,\n ) {\n return createModel<T, UiState>({\n get() {\n if (options.transform) {\n return options.transform(snapshot.ui);\n }\n\n return (snapshot.ui ?? defaultUiState()) as T;\n },\n validate: options.validate,\n autoSave: true,\n onSave(newData) {\n setBlockUiState(newData);\n },\n });\n },\n /**\n * Note: Don't forget to list the output names, like: useOutputs('output1', 'output2', ...etc)\n * @param keys - List of output names\n * @returns {OptionalResult<UnwrapOutputs<Outputs, K>>}\n */\n useOutputs<K extends keyof Outputs>(...keys: K[]): OptionalResult<UnwrapOutputs<Outputs, K>> {\n const data = reactive({\n errors: undefined,\n value: undefined,\n });\n\n watch(\n () => snapshot.outputs,\n () => {\n try {\n Object.assign(data, {\n value: this.unwrapOutputs<K>(...keys),\n errors: undefined,\n });\n } catch (error) {\n Object.assign(data, {\n value: undefined,\n errors: [String(error)],\n });\n }\n },\n { immediate: true, deep: true },\n );\n\n return data as OptionalResult<UnwrapOutputs<Outputs, K>>;\n },\n /**\n * Retrieves the unwrapped values of outputs for the given keys.\n *\n * @template K - Keys of the outputs to unwrap.\n * @param keys - List of output names.\n * @throws Error if the outputs contain errors.\n * @returns An object with unwrapped output values.\n */\n unwrapOutputs<K extends keyof Outputs>(...keys: K[]): UnwrapOutputs<Outputs, K> {\n const outputs = snapshot.outputs;\n const entries = keys.map((key) => [key, unwrapOutput(outputs[key])]);\n return Object.fromEntries(entries);\n },\n /**\n * Updates the arguments state by applying a callback.\n *\n * @param cb - Callback to modify the current arguments.\n * @returns A promise resolving after the update is applied.\n */\n updateArgs(cb: (args: Args) => void) {\n const newArgs = cloneArgs();\n cb(newArgs);\n return platforma.setBlockArgs(newArgs);\n },\n /**\n * Updates the UI state by applying a callback.\n *\n * @param cb - Callback to modify the current UI state.\n * @returns A promise resolving after the update is applied.\n * @todo Make it mutable since there is already an initial one\n */\n updateUiState(cb: (args: UiState) => UiState): Promise<void> {\n const newUiState = cloneUiState();\n return platforma.setBlockUiState(cb(newUiState));\n },\n /**\n * Updates the navigation state by applying a callback.\n *\n * @param cb - Callback to modify the current navigation state.\n * @returns A promise resolving after the update is applied.\n */\n updateNavigationState(cb: (args: Mutable<NavigationState<Href>>) => void) {\n const newState = cloneNavigationState();\n cb(newState);\n return platforma.setNavigationState(newState);\n },\n /**\n * Navigates to a specific href by updating the navigation state.\n *\n * @param href - The target href to navigate to.\n * @returns A promise resolving after the navigation state is updated.\n */\n navigateTo(href: Href) {\n const newState = cloneNavigationState();\n newState.href = href;\n return platforma.setNavigationState(newState);\n },\n };\n\n const outputs = computed<OutputValues<Outputs>>(() => {\n const entries = Object.entries(snapshot.outputs).map(([k, outputWithStatus]) =>\n platforma.blockModelInfo.outputs[k].withStatus\n ? [k, ensureOutputHasStableFlag(outputWithStatus)]\n : [\n k,\n outputWithStatus.ok && outputWithStatus.value !== undefined\n ? outputWithStatus.value\n : undefined,\n ],\n );\n return Object.fromEntries(entries);\n });\n\n const outputErrors = computed<OutputErrors<Outputs>>(() => {\n const entries = Object.entries(snapshot.outputs).map(([k, vOrErr]) => [\n k,\n vOrErr && vOrErr.ok === false ? new MultiError(vOrErr.errors) : undefined,\n ]);\n return Object.fromEntries(entries);\n });\n\n const getters = {\n snapshot,\n queryParams: computed(() => parseQuery<Href>(snapshot.navigationState.href)),\n href: computed(() => snapshot.navigationState.href),\n hasErrors: computed(() => Object.values(snapshot.outputs).some((v) => !v?.ok)),\n };\n\n const model = createAppModel(\n {\n get() {\n return { args: snapshot.args, ui: snapshot.ui } as AppModel;\n },\n autoSave: true,\n onSave(newData: AppModel) {\n setBlockArgsAndUiState(newData.args, newData.ui);\n },\n },\n {\n outputs,\n outputErrors,\n },\n settings,\n );\n\n return reactive(Object.assign(model, methods, getters));\n}\n\nexport type BaseAppV1<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n> = ReturnType<typeof createAppV1<Args, Outputs, UiState, Href>>;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAppV2.d.ts","sourceRoot":"","sources":["../../src/internal/createAppV2.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,aAAa,EACb,YAAY,EACZ,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,UAAU,CAAC;AAQlB,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"createAppV2.d.ts","sourceRoot":"","sources":["../../src/internal/createAppV2.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,aAAa,EACb,YAAY,EACZ,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,UAAU,CAAC;AAQlB,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,eAAO,MAAM,sBAAsB,GAAI,QAAQ,YAAY,GAAG,SAAS,KAAG,YAGxE,CAAC;AAUH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,OAAO,GAAG,OAAO,EACjB,IAAI,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,EAExC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,EAC9D,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,EACvE,QAAQ,EAAE,WAAW;WAgHZ,MAAM;;;;;;;qBAsF2C,IAAI;wBACH,OAAO;gCAEnB,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;sBAM3D,CAAC,SAAS,IAAI,mBAAkB,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;oBAmB5D,CAAC,SAAS,OAAO,qBACpB,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,8BACtB,MAAM,OAAO;oBAyBjB,CAAC,SAAS,MAAM,OAAO,WAAW,CAAC,EAAE,KAAG,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;qBAWhE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,KAAG,OAAO,CAAC,OAAO,CAAC;wBAcpC,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,KAAG,OAAO,CAAC,OAAO,CAAC;uBAY9C,IAAI;;;;cA1Of,IAAI;iBACD,OAAO,CAAC,OAAO,CAAC;YACrB,OAAO;yBACM,eAAe,CAAC,IAAI,CAAC;;;;;EAoQzC;AAED,MAAM,MAAM,SAAS,CACnB,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,OAAO,GAAG,OAAO,EACjB,IAAI,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,IACtC,UAAU,CAAC,OAAO,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC"}
|