@platforma-sdk/ui-vue 1.57.3 → 1.58.0
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 +8 -8
- 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 +28 -0
- package/dist/defineApp.d.ts +5 -5
- package/dist/defineApp.d.ts.map +1 -1
- package/dist/defineApp.js.map +1 -1
- package/dist/index.js +8 -8
- package/dist/internal/createAppV3.d.ts +6 -10
- package/dist/internal/createAppV3.d.ts.map +1 -1
- package/dist/internal/createAppV3.js +140 -105
- package/dist/internal/createAppV3.js.map +1 -1
- package/dist/internal/createAppV3.test.d.ts +2 -0
- package/dist/internal/createAppV3.test.d.ts.map +1 -0
- package/dist/lib.d.ts +3 -1
- package/dist/lib.d.ts.map +1 -1
- package/dist/usePlugin.d.ts +44 -0
- package/dist/usePlugin.d.ts.map +1 -0
- package/dist/usePlugin.js +14 -0
- package/dist/usePlugin.js.map +1 -0
- package/package.json +6 -6
- package/src/defineApp.ts +21 -11
- package/src/internal/createAppV2.test.ts +3 -0
- package/src/internal/createAppV3.test.ts +540 -0
- package/src/internal/createAppV3.ts +109 -41
- package/src/lib.ts +9 -1
- package/src/usePlugin.ts +65 -0
- package/dist/usePluginData.d.ts +0 -30
- package/dist/usePluginData.d.ts.map +0 -1
- package/dist/usePluginData.js +0 -22
- package/dist/usePluginData.js.map +0 -1
- package/src/usePluginData.ts +0 -63
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
WARN Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
|
|
2
2
|
|
|
3
|
-
> @platforma-sdk/ui-vue@1.
|
|
3
|
+
> @platforma-sdk/ui-vue@1.58.0 build /home/runner/_work/platforma/platforma/sdk/ui-vue
|
|
4
4
|
> ts-builder build --target browser-lib
|
|
5
5
|
|
|
6
6
|
Building browser-lib project...
|
|
@@ -98,11 +98,12 @@ computing gzip size...
|
|
|
98
98
|
[2mdist/[22m[36mcomponents/PlAdvancedFilter/PlAdvancedFilter.vue.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
99
99
|
[2mdist/[22m[36mcomponents/PlBtnExportArchive/PlBtnExportArchive.vue.js [39m[1m[2m 0.31 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
100
100
|
[2mdist/[22m[36mcomponents/PlAnnotations/components/PlAnnotationsModal.vue.js [39m[1m[2m 0.31 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
101
|
-
[2mdist/[22m[36mcomponents/PlAnnotations/components/AnnotationsSidebar.vue.js [39m[1m[2m 0.31 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
102
101
|
[2mdist/[22m[36mcomponents/PlAgDataTable/PlAgDataTableSheets.vue.js [39m[1m[2m 0.31 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
102
|
+
[2mdist/[22m[36mcomponents/PlAnnotations/components/AnnotationsSidebar.vue.js [39m[1m[2m 0.31 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
103
103
|
[2mdist/[22m[36mcomponents/PlBtnExportArchive/PlBtnExportArchive.vue3.js [39m[1m[2m 0.32 kB[22m[1m[22m[2m │ gzip: 0.21 kB[22m[2m │ map: 0.64 kB[22m
|
|
104
104
|
[2mdist/[22m[36mcomponents/PlAgGridColumnManager/PlAgGridColumnManager.vue.js [39m[1m[2m 0.32 kB[22m[1m[22m[2m │ gzip: 0.23 kB[22m[2m │ map: 0.12 kB[22m
|
|
105
105
|
[2mdist/[22m[36mlib/util/helpers/dist/strings.js [39m[1m[2m 0.35 kB[22m[1m[22m[2m │ gzip: 0.24 kB[22m[2m │ map: 4.22 kB[22m
|
|
106
|
+
[2mdist/[22m[36musePlugin.js [39m[1m[2m 0.39 kB[22m[1m[22m[2m │ gzip: 0.28 kB[22m[2m │ map: 2.69 kB[22m
|
|
106
107
|
[2mdist/[22m[36mlib/util/helpers/dist/functions.js [39m[1m[2m 0.39 kB[22m[1m[22m[2m │ gzip: 0.26 kB[22m[2m │ map: 5.59 kB[22m
|
|
107
108
|
[2mdist/[22m[36mcomponents/PlAgDataTable/pl-ag-overlay-loading.module.scss.js [39m[1m[2m 0.40 kB[22m[1m[22m[2m │ gzip: 0.24 kB[22m[2m │ map: 0.83 kB[22m
|
|
108
109
|
[2mdist/[22m[36mcomputedResult.js [39m[1m[2m 0.40 kB[22m[1m[22m[2m │ gzip: 0.26 kB[22m[2m │ map: 2.43 kB[22m
|
|
@@ -119,7 +120,6 @@ computing gzip size...
|
|
|
119
120
|
[2mdist/[22m[36mcomponents/PlAgCellStatusTag/PlAgCellStatusTag.vue.js [39m[1m[2m 0.61 kB[22m[1m[22m[2m │ gzip: 0.40 kB[22m[2m │ map: 0.96 kB[22m
|
|
120
121
|
[2mdist/[22m[36mcomponents/PlAdvancedFilter/PlAdvancedFilter.vue3.js [39m[1m[2m 0.63 kB[22m[1m[22m[2m │ gzip: 0.30 kB[22m[2m │ map: 1.15 kB[22m
|
|
121
122
|
[2mdist/[22m[36mcomponents/PlAgDataTable/PlAgOverlayNoRows.vue.js [39m[1m[2m 0.69 kB[22m[1m[22m[2m │ gzip: 0.44 kB[22m[2m │ map: 1.74 kB[22m
|
|
122
|
-
[2mdist/[22m[36musePluginData.js [39m[1m[2m 0.69 kB[22m[1m[22m[2m │ gzip: 0.42 kB[22m[2m │ map: 3.01 kB[22m
|
|
123
123
|
[2mdist/[22m[36mcomponents/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.js [39m[1m[2m 0.77 kB[22m[1m[22m[2m │ gzip: 0.45 kB[22m[2m │ map: 1.51 kB[22m
|
|
124
124
|
[2mdist/[22m[36mplugins/Monetization/EndOfPeriod.vue2.js [39m[1m[2m 0.77 kB[22m[1m[22m[2m │ gzip: 0.47 kB[22m[2m │ map: 1.86 kB[22m
|
|
125
125
|
[2mdist/[22m[36mcomponents/BlockLoader.vue.js [39m[1m[2m 0.82 kB[22m[1m[22m[2m │ gzip: 0.48 kB[22m[2m │ map: 1.32 kB[22m
|
|
@@ -168,7 +168,7 @@ computing gzip size...
|
|
|
168
168
|
[2mdist/[22m[36mcomponents/PlAgColumnHeader/PlAgColumnHeader.vue.js [39m[1m[2m 3.02 kB[22m[1m[22m[2m │ gzip: 1.14 kB[22m[2m │ map: 9.22 kB[22m
|
|
169
169
|
[2mdist/[22m[36mcomponents/PlAgDataTable/sources/row-number.js [39m[1m[2m 3.14 kB[22m[1m[22m[2m │ gzip: 1.35 kB[22m[2m │ map: 8.45 kB[22m
|
|
170
170
|
[2mdist/[22m[36mcomponents/PlAgDataTable/compositions/useGrid.js [39m[1m[2m 3.23 kB[22m[1m[22m[2m │ gzip: 1.33 kB[22m[2m │ map: 8.23 kB[22m
|
|
171
|
-
[2mdist/[22m[36mdefineApp.js [39m[1m[2m 3.36 kB[22m[1m[22m[2m │ gzip: 1.15 kB[22m[2m │ map: 14.
|
|
171
|
+
[2mdist/[22m[36mdefineApp.js [39m[1m[2m 3.36 kB[22m[1m[22m[2m │ gzip: 1.15 kB[22m[2m │ map: 14.79 kB[22m
|
|
172
172
|
[2mdist/[22m[36mcomponents/PlTableFilters/PlTableFiltersV2.vue2.js [39m[1m[2m 3.76 kB[22m[1m[22m[2m │ gzip: 1.59 kB[22m[2m │ map: 7.35 kB[22m
|
|
173
173
|
[2mdist/[22m[36mplugins/Monetization/LimitCard.vue2.js [39m[1m[2m 3.84 kB[22m[1m[22m[2m │ gzip: 1.15 kB[22m[2m │ map: 9.62 kB[22m
|
|
174
174
|
[2mdist/[22m[36mcomponents/PlAgGridColumnManager/PlAgGridColumnManager.vue2.js [39m[1m[2m 3.85 kB[22m[1m[22m[2m │ gzip: 1.53 kB[22m[2m │ map: 6.85 kB[22m
|
|
@@ -176,18 +176,18 @@ computing gzip size...
|
|
|
176
176
|
[2mdist/[22m[36mcomponents/PlAnnotations/components/AnnotationsSidebar.vue2.js [39m[1m[2m 4.26 kB[22m[1m[22m[2m │ gzip: 1.61 kB[22m[2m │ map: 6.42 kB[22m
|
|
177
177
|
[2mdist/[22m[36mcomponents/PlAnnotations/components/FilterSidebar.vue2.js [39m[1m[2m 4.44 kB[22m[1m[22m[2m │ gzip: 1.57 kB[22m[2m │ map: 7.52 kB[22m
|
|
178
178
|
[2mdist/[22m[36mplugins/Monetization/MonetizationSidebar.vue.js [39m[1m[2m 4.71 kB[22m[1m[22m[2m │ gzip: 1.75 kB[22m[2m │ map: 6.78 kB[22m
|
|
179
|
-
[2mdist/[22m[36mindex.js [39m[1m[2m 5.
|
|
179
|
+
[2mdist/[22m[36mindex.js [39m[1m[2m 5.26 kB[22m[1m[22m[2m │ gzip: 1.34 kB[22m[2m │ map: 9.59 kB[22m
|
|
180
180
|
[2mdist/[22m[36mcomposition/fileContent.js [39m[1m[2m 5.84 kB[22m[1m[22m[2m │ gzip: 1.97 kB[22m[2m │ map: 14.42 kB[22m
|
|
181
181
|
[2mdist/[22m[36minternal/createAppV1.js [39m[1m[2m 5.98 kB[22m[1m[22m[2m │ gzip: 1.91 kB[22m[2m │ map: 16.18 kB[22m
|
|
182
182
|
[2mdist/[22m[36mcomponents/PlBtnExportArchive/PlBtnExportArchive.vue2.js [39m[1m[2m 5.99 kB[22m[1m[22m[2m │ gzip: 2.23 kB[22m[2m │ map: 12.13 kB[22m
|
|
183
|
-
[2mdist/[22m[36minternal/createAppV3.js [39m[1m[2m 6.14 kB[22m[1m[22m[2m │ gzip: 2.37 kB[22m[2m │ map: 19.04 kB[22m
|
|
184
183
|
[2mdist/[22m[36minternal/createAppV2.js [39m[1m[2m 7.01 kB[22m[1m[22m[2m │ gzip: 2.46 kB[22m[2m │ map: 20.24 kB[22m
|
|
185
184
|
[2mdist/[22m[36mcomponents/PlAgDataTable/sources/table-source-v2.js [39m[1m[2m 7.11 kB[22m[1m[22m[2m │ gzip: 2.61 kB[22m[2m │ map: 21.91 kB[22m
|
|
186
185
|
[2mdist/[22m[36mAgGridVue/useAgGridOptions.js [39m[1m[2m 7.12 kB[22m[1m[22m[2m │ gzip: 1.99 kB[22m[2m │ map: 18.71 kB[22m
|
|
186
|
+
[2mdist/[22m[36minternal/createAppV3.js [39m[1m[2m 7.21 kB[22m[1m[22m[2m │ gzip: 2.62 kB[22m[2m │ map: 22.62 kB[22m
|
|
187
187
|
[2mdist/[22m[36mcomponents/PlAdvancedFilter/PlAdvancedFilter.vue2.js [39m[1m[2m 8.35 kB[22m[1m[22m[2m │ gzip: 2.42 kB[22m[2m │ map: 16.95 kB[22m
|
|
188
188
|
[2mdist/[22m[36mcomponents/PlAdvancedFilter/FilterEditor.vue2.js [39m[1m[2m12.83 kB[22m[1m[22m[2m │ gzip: 3.28 kB[22m[2m │ map: 25.49 kB[22m
|
|
189
189
|
[2mdist/[22m[36mcomponents/PlAgDataTable/PlAgDataTableV2.vue2.js [39m[1m[2m12.92 kB[22m[1m[22m[2m │ gzip: 3.68 kB[22m[2m │ map: 29.49 kB[22m
|
|
190
|
-
[vite:dts] Declaration files built in
|
|
190
|
+
[vite:dts] Declaration files built in 8722ms.
|
|
191
191
|
|
|
192
|
-
[32m✓ built in
|
|
192
|
+
[32m✓ built in 10.12s[39m
|
|
193
193
|
Build completed successfully
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
WARN Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
|
|
2
2
|
|
|
3
|
-
> @platforma-sdk/ui-vue@1.
|
|
3
|
+
> @platforma-sdk/ui-vue@1.58.0 formatter:check /home/runner/_work/platforma/platforma/sdk/ui-vue
|
|
4
4
|
> ts-builder formatter --check
|
|
5
5
|
|
|
6
6
|
Checking formatting...
|
|
@@ -8,5 +8,5 @@ Checking formatting...
|
|
|
8
8
|
Checking formatting...
|
|
9
9
|
|
|
10
10
|
All matched files use the correct format.
|
|
11
|
-
Finished in
|
|
11
|
+
Finished in 1774ms on 126 files using 8 threads.
|
|
12
12
|
Format check completed successfully
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
WARN Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
|
|
2
2
|
|
|
3
|
-
> @platforma-sdk/ui-vue@1.
|
|
3
|
+
> @platforma-sdk/ui-vue@1.58.0 linter:check /home/runner/_work/platforma/platforma/sdk/ui-vue
|
|
4
4
|
> ts-builder linter --check
|
|
5
5
|
|
|
6
6
|
Linting project...
|
|
7
7
|
↳ oxlint --config /home/runner/_work/platforma/platforma/sdk/ui-vue/.oxlintrc.json --deny-warnings
|
|
8
8
|
Found 0 warnings and 0 errors.
|
|
9
|
-
Finished in
|
|
9
|
+
Finished in 36ms on 109 files with 98 rules using 8 threads.
|
|
10
10
|
Linting completed successfully
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
WARN Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
|
|
2
2
|
|
|
3
|
-
> @platforma-sdk/ui-vue@1.
|
|
3
|
+
> @platforma-sdk/ui-vue@1.58.0 types:check /home/runner/_work/platforma/platforma/sdk/ui-vue
|
|
4
4
|
> ts-builder type-check --target browser-lib
|
|
5
5
|
|
|
6
6
|
↳ vue-tsc.js --noEmit --project ./tsconfig.json --customConditions ,
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# @platforma-sdk/ui-vue
|
|
2
2
|
|
|
3
|
+
## 1.58.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- b5d19c6: Type-safe `usePlugin` composable with `PluginHandle` branded type.
|
|
8
|
+
|
|
9
|
+
**`@platforma-sdk/model`:**
|
|
10
|
+
|
|
11
|
+
- Added `PluginFactory` interface (public return type of `PluginModelBuilder.build()`)
|
|
12
|
+
- Added `PluginHandle<F>` branded type using `Branded` from `@milaboratories/helpers`
|
|
13
|
+
- Added `InferPluginHandles` type helper
|
|
14
|
+
- Added `pluginIds` to `BlockModelInfo`
|
|
15
|
+
- Added `pluginOutputKey`, `isPluginOutputKey`, `pluginOutputPrefix` helpers
|
|
16
|
+
|
|
17
|
+
**`@platforma-sdk/ui-vue`:**
|
|
18
|
+
|
|
19
|
+
- Added `usePlugin(handle)` composable — reactive `model.data`, computed `model.outputs` and `model.outputErrors`, isolated per plugin
|
|
20
|
+
- Added `app.plugins` record mapping plugin IDs to typed `PluginHandle` values
|
|
21
|
+
- Renamed `PluginSlot` to `PluginState<Data, Outputs>` (generic, avoids Vue naming conflict)
|
|
22
|
+
- Filtered plugin output keys from block-level `outputs` and `outputErrors` via helpers
|
|
23
|
+
- Removed `usePluginData` (replaced by `usePlugin`)
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- Updated dependencies [b5d19c6]
|
|
28
|
+
- @platforma-sdk/model@1.58.0
|
|
29
|
+
- @milaboratories/uikit@2.10.33
|
|
30
|
+
|
|
3
31
|
## 1.57.3
|
|
4
32
|
|
|
5
33
|
### Patch Changes
|
package/dist/defineApp.d.ts
CHANGED
|
@@ -12,16 +12,16 @@ export declare function defineApp<Args = unknown, Outputs extends BlockOutputsBa
|
|
|
12
12
|
export declare function defineApp<Args = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, UiState = unknown, Href extends `/${string}` = `/${string}`, Extend extends ExtendSettings<Href> = ExtendSettings<Href>>(platforma: PlatformaV2<Args, Outputs, UiState, Href> & {
|
|
13
13
|
blockModelInfo: BlockModelInfo;
|
|
14
14
|
}, extendApp: (app: BaseAppV2<Args, Outputs, UiState, Href>) => Extend, settings?: AppSettings): SdkPluginV2<Args, Outputs, UiState, Href, Extend>;
|
|
15
|
-
export declare function defineAppV3<Data = unknown, Args = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, Href extends `/${string}` = `/${string}`, Extend extends ExtendSettings<Href> = ExtendSettings<Href>>(platforma: PlatformaV3<Data, Args, Outputs, Href> & {
|
|
15
|
+
export declare function defineAppV3<Data = unknown, Args = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, Href extends `/${string}` = `/${string}`, Plugins extends Record<string, unknown> = Record<string, unknown>, Extend extends ExtendSettings<Href> = ExtendSettings<Href>>(platforma: PlatformaV3<Data, Args, Outputs, Href, Plugins> & {
|
|
16
16
|
blockModelInfo: BlockModelInfo;
|
|
17
|
-
}, extendApp: (app: BaseAppV3<Data, Args, Outputs, Href>) => Extend, settings?: AppSettings): SdkPluginV3<Data, Args, Outputs, Href, Extend>;
|
|
17
|
+
}, extendApp: (app: BaseAppV3<Data, Args, Outputs, Href, Plugins>) => Extend, settings?: AppSettings): SdkPluginV3<Data, Args, Outputs, Href, Plugins, Extend>;
|
|
18
18
|
export type AppV1<Args = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, UiState = unknown, Href extends `/${string}` = `/${string}`, Local extends ExtendSettings<Href> = ExtendSettings<Href>> = BaseAppV1<Args, Outputs, UiState, Href> & Reactive<Omit<Local, "routes">> & {
|
|
19
19
|
getRoute(href: Href): Component | undefined;
|
|
20
20
|
};
|
|
21
21
|
export type AppV2<Args = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, UiState = unknown, Href extends `/${string}` = `/${string}`, Local extends ExtendSettings<Href> = ExtendSettings<Href>> = BaseAppV2<Args, Outputs, UiState, Href> & Reactive<Omit<Local, "routes">> & {
|
|
22
22
|
getRoute(href: Href): Component | undefined;
|
|
23
23
|
};
|
|
24
|
-
export type AppV3<Data = unknown, Args = unknown, Outputs extends BlockOutputsBase = NonNullable<unknown>, Href extends `/${string}` = `/${string}`, Local extends ExtendSettings<Href> = ExtendSettings<Href>> = BaseAppV3<Data, Args, Outputs, Href> & Reactive<Omit<Local, "routes">> & {
|
|
24
|
+
export type AppV3<Data = unknown, Args = unknown, Outputs extends BlockOutputsBase = NonNullable<unknown>, Href extends `/${string}` = `/${string}`, Plugins extends Record<string, unknown> = Record<string, unknown>, Local extends ExtendSettings<Href> = ExtendSettings<Href>> = BaseAppV3<Data, Args, Outputs, Href, Plugins> & Reactive<Omit<Local, "routes">> & {
|
|
25
25
|
getRoute(href: Href): Component | undefined;
|
|
26
26
|
};
|
|
27
27
|
export type SdkPluginV1<Args = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, UiState = unknown, Href extends `/${string}` = `/${string}`, Local extends ExtendSettings<Href> = ExtendSettings<Href>> = {
|
|
@@ -38,11 +38,11 @@ export type SdkPluginV2<Args = unknown, Outputs extends BlockOutputsBase = Block
|
|
|
38
38
|
useApp<PageHref extends Href = Href>(): AppV2<Args, Outputs, UiState, PageHref, Local>;
|
|
39
39
|
install(app: VueApp): void;
|
|
40
40
|
};
|
|
41
|
-
export type SdkPluginV3<Data = unknown, Args = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, Href extends `/${string}` = `/${string}`, Local extends ExtendSettings<Href> = ExtendSettings<Href>> = {
|
|
41
|
+
export type SdkPluginV3<Data = unknown, Args = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, Href extends `/${string}` = `/${string}`, Plugins extends Record<string, unknown> = Record<string, unknown>, Local extends ExtendSettings<Href> = ExtendSettings<Href>> = {
|
|
42
42
|
apiVersion: 3;
|
|
43
43
|
loaded: boolean;
|
|
44
44
|
error: unknown;
|
|
45
|
-
useApp<PageHref extends Href = Href>(): AppV3<Data, Args, Outputs, PageHref, Local>;
|
|
45
|
+
useApp<PageHref extends Href = Href>(): AppV3<Data, Args, Outputs, PageHref, Plugins, Local>;
|
|
46
46
|
install(app: VueApp): void;
|
|
47
47
|
};
|
|
48
48
|
export type SdkPlugin = SdkPluginV1 | SdkPluginV2 | SdkPluginV3;
|
package/dist/defineApp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineApp.d.ts","sourceRoot":"","sources":["../src/defineApp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,WAAW,EACX,WAAW,EACX,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,GAAG,IAAI,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAE9D,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAU,MAAM,SAAS,CAAC;AAInE,eAAO,MAAM,aAAa,eAA+B,CAAC;AAE1D,wBAAgB,YAAY,IAAI,SAAS,CAExC;AAED,wBAAgB,SAAS,CACvB,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,OAAO,GAAG,OAAO,EACjB,IAAI,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,EACxC,MAAM,SAAS,cAAc,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,EAE1D,SAAS,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG;IACrD,cAAc,EAAE,cAAc,CAAC;CAChC,EACD,SAAS,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,MAAM,EACnE,QAAQ,CAAC,EAAE,WAAW,GACrB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAErD,wBAAgB,SAAS,CACvB,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,OAAO,GAAG,OAAO,EACjB,IAAI,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,EACxC,MAAM,SAAS,cAAc,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,EAE1D,SAAS,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG;IACrD,cAAc,EAAE,cAAc,CAAC;CAChC,EACD,SAAS,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,MAAM,EACnE,QAAQ,CAAC,EAAE,WAAW,GACrB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAwGrD,wBAAgB,WAAW,CACzB,IAAI,GAAG,OAAO,EACd,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,IAAI,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,EACxC,MAAM,SAAS,cAAc,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,EAE1D,SAAS,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG;
|
|
1
|
+
{"version":3,"file":"defineApp.d.ts","sourceRoot":"","sources":["../src/defineApp.ts"],"names":[],"mappings":"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"}
|
package/dist/defineApp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineApp.js","sources":["../src/defineApp.ts"],"sourcesContent":["import { notEmpty } from \"@milaboratories/helpers\";\nimport type {\n PlatformaExtended,\n PlatformaV3,\n PlatformaV1,\n PlatformaV2,\n} from \"@platforma-sdk/model\";\nimport {\n getPlatformaApiVersion,\n unwrapResult,\n type BlockOutputsBase,\n type BlockModelInfo,\n} from \"@platforma-sdk/model\";\nimport type { App as VueApp, Component, Reactive } from \"vue\";\nimport { inject, markRaw, reactive } from \"vue\";\nimport { createAppV1, type BaseAppV1 } from \"./internal/createAppV1\";\nimport { createAppV2, type BaseAppV2 } from \"./internal/createAppV2\";\nimport { createAppV3, type BaseAppV3 } from \"./internal/createAppV3\";\nimport type { AppSettings, ExtendSettings, Routes } from \"./types\";\nimport { activateAgGrid } from \"./aggrid\";\n\nconst pluginKey = Symbol(\"sdk-vue\");\nexport const pluginDataKey = Symbol(\"plugin-data-access\");\n\nexport function useSdkPlugin(): SdkPlugin {\n return inject(pluginKey)!;\n}\n\nexport function defineApp<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n Extend extends ExtendSettings<Href> = ExtendSettings<Href>,\n>(\n platforma: PlatformaV1<Args, Outputs, UiState, Href> & {\n blockModelInfo: BlockModelInfo;\n },\n extendApp: (app: BaseAppV1<Args, Outputs, UiState, Href>) => Extend,\n settings?: AppSettings,\n): SdkPluginV1<Args, Outputs, UiState, Href, Extend>;\n\nexport function defineApp<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n Extend extends ExtendSettings<Href> = ExtendSettings<Href>,\n>(\n platforma: PlatformaV2<Args, Outputs, UiState, Href> & {\n blockModelInfo: BlockModelInfo;\n },\n extendApp: (app: BaseAppV2<Args, Outputs, UiState, Href>) => Extend,\n settings?: AppSettings,\n): SdkPluginV2<Args, Outputs, UiState, Href, Extend>;\n\nexport function defineApp<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n Extend extends ExtendSettings<Href> = ExtendSettings<Href>,\n>(\n platforma: PlatformaExtended<\n PlatformaV1<Args, Outputs, UiState, Href> | PlatformaV2<Args, Outputs, UiState, Href>\n >,\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extendApp: (app: any) => Extend,\n settings: AppSettings = {},\n):\n | SdkPluginV1<Args, Outputs, UiState, Href, Extend>\n | SdkPluginV2<Args, Outputs, UiState, Href, Extend> {\n let app:\n | AppV1<Args, Outputs, UiState, Href, Extend>\n | AppV2<Args, Outputs, UiState, Href, Extend>\n | undefined = undefined;\n\n activateAgGrid();\n\n const runtimeApiVersion = platforma.apiVersion ?? 1; // undefined means 1 (backward compatibility)\n const blockRequestedApiVersion = getPlatformaApiVersion();\n\n const loadApp = async () => {\n if (blockRequestedApiVersion !== runtimeApiVersion) {\n throw new Error(`Block requested API version ${blockRequestedApiVersion} but runtime API version is ${runtimeApiVersion}.\n Please update the desktop app to use the latest API version.`);\n }\n\n if (platforma.apiVersion === undefined || platforma.apiVersion === 1) {\n await platforma.loadBlockState().then((state) => {\n plugin.loaded = true;\n const baseApp = createAppV1<Args, Outputs, UiState, Href>(state, platforma, settings);\n\n const localState = extendApp(baseApp);\n\n const routes = Object.fromEntries(\n Object.entries(localState.routes as Routes<Href>).map(([href, component]) => {\n const c = typeof component === \"function\" ? component() : component;\n return [href, markRaw(c as Component)];\n }),\n );\n\n app = Object.assign(baseApp, {\n ...localState,\n getRoute(href: Href): Component | undefined {\n return routes[href];\n },\n } as unknown as AppV1<Args, Outputs, UiState, Href, Extend>);\n });\n } else if (platforma.apiVersion === 2) {\n await platforma.loadBlockState().then((stateOrError) => {\n const state = unwrapResult(stateOrError);\n plugin.loaded = true;\n const baseApp = createAppV2<Args, Outputs, UiState, Href>(state, platforma, settings);\n\n const localState = extendApp(baseApp);\n\n const routes = Object.fromEntries(\n Object.entries(localState.routes as Routes<Href>).map(([href, component]) => {\n const c = typeof component === \"function\" ? component() : component;\n return [href, markRaw(c as Component)];\n }),\n );\n\n app = Object.assign(baseApp, {\n ...localState,\n getRoute(href: Href): Component | undefined {\n return routes[href];\n },\n } as unknown as AppV2<Args, Outputs, UiState, Href, Extend>);\n });\n }\n };\n\n const plugin = reactive({\n apiVersion: platforma.apiVersion ?? 1,\n loaded: false,\n error: undefined as unknown,\n useApp<PageHref extends Href = Href>() {\n return notEmpty(app, \"App is not loaded\") as\n | AppV1<Args, Outputs, UiState, PageHref, Extend>\n | AppV2<Args, Outputs, UiState, PageHref, Extend>;\n },\n install(app: VueApp) {\n app.provide(pluginKey, this);\n loadApp().catch((err) => {\n console.error(\"load initial state error\", err);\n plugin.error = err;\n });\n },\n });\n\n return plugin as\n | SdkPluginV1<Args, Outputs, UiState, Href, Extend>\n | SdkPluginV2<Args, Outputs, UiState, Href, Extend>;\n}\n\nexport function defineAppV3<\n Data = unknown,\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n Href extends `/${string}` = `/${string}`,\n Extend extends ExtendSettings<Href> = ExtendSettings<Href>,\n>(\n platforma: PlatformaV3<Data, Args, Outputs, Href> & {\n blockModelInfo: BlockModelInfo;\n },\n extendApp: (app: BaseAppV3<Data, Args, Outputs, Href>) => Extend,\n settings: AppSettings = {},\n): SdkPluginV3<Data, Args, Outputs, Href, Extend> {\n let app: AppV3<Data, Args, Outputs, Href, Extend> | undefined = undefined;\n\n // Captured during install() so V3 can provide plugin data access after async load\n let vueAppInstance: VueApp | undefined;\n\n activateAgGrid();\n\n const runtimeApiVersion = 3;\n const blockRequestedApiVersion = getPlatformaApiVersion();\n\n const loadApp = async () => {\n if (blockRequestedApiVersion !== runtimeApiVersion) {\n throw new Error(`Block requested API version ${blockRequestedApiVersion} but runtime API version is ${runtimeApiVersion}.\n Please update the desktop app to use the latest API version.`);\n }\n\n await platforma.loadBlockState().then((stateOrError) => {\n const state = unwrapResult(stateOrError);\n plugin.loaded = true;\n const { app: baseApp, pluginAccess } = createAppV3<Data, Args, Outputs, Href>(\n state,\n platforma,\n settings,\n );\n\n if (!vueAppInstance) {\n throw new Error(\n \"Plugin data injection failed: Vue app instance not captured during install()\",\n );\n }\n vueAppInstance.provide(pluginDataKey, pluginAccess);\n\n const localState = extendApp(baseApp);\n\n const routes = Object.fromEntries(\n Object.entries(localState.routes as Routes<Href>).map(([href, component]) => {\n const c = typeof component === \"function\" ? component() : component;\n return [href, markRaw(c as Component)];\n }),\n );\n\n app = Object.assign(baseApp, {\n ...localState,\n getRoute(href: Href): Component | undefined {\n return routes[href];\n },\n } as unknown as AppV3<Data, Args, Outputs, Href, Extend>);\n });\n };\n\n const plugin = reactive({\n apiVersion: 3,\n loaded: false,\n error: undefined as unknown,\n useApp<PageHref extends Href = Href>() {\n return notEmpty(app, \"App is not loaded\") as AppV3<Data, Args, Outputs, PageHref, Extend>;\n },\n install(app: VueApp) {\n vueAppInstance = app;\n app.provide(pluginKey, this);\n loadApp().catch((err) => {\n console.error(\"load initial state error\", err);\n plugin.error = err;\n });\n },\n });\n\n return plugin as SdkPluginV3<Data, Args, Outputs, Href, Extend>;\n}\n\nexport type AppV1<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n Local extends ExtendSettings<Href> = ExtendSettings<Href>,\n> = BaseAppV1<Args, Outputs, UiState, Href> &\n Reactive<Omit<Local, \"routes\">> & { getRoute(href: Href): Component | undefined };\n\nexport type AppV2<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n Local extends ExtendSettings<Href> = ExtendSettings<Href>,\n> = BaseAppV2<Args, Outputs, UiState, Href> &\n Reactive<Omit<Local, \"routes\">> & { getRoute(href: Href): Component | undefined };\n\nexport type AppV3<\n Data = unknown,\n Args = unknown,\n Outputs extends BlockOutputsBase = NonNullable<unknown>,\n Href extends `/${string}` = `/${string}`,\n Local extends ExtendSettings<Href> = ExtendSettings<Href>,\n> = BaseAppV3<Data, Args, Outputs, Href> &\n Reactive<Omit<Local, \"routes\">> & { getRoute(href: Href): Component | undefined };\n\n// ---------------------------------------------------------------------------\n// SdkPlugin types\n// ---------------------------------------------------------------------------\n\nexport type SdkPluginV1<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n Local extends ExtendSettings<Href> = ExtendSettings<Href>,\n> = {\n apiVersion: 1;\n loaded: boolean;\n error: unknown;\n useApp<PageHref extends Href = Href>(): AppV1<Args, Outputs, UiState, PageHref, Local>;\n install(app: VueApp): void;\n};\n\nexport type SdkPluginV2<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n Local extends ExtendSettings<Href> = ExtendSettings<Href>,\n> = {\n apiVersion: 2;\n loaded: boolean;\n error: unknown;\n useApp<PageHref extends Href = Href>(): AppV2<Args, Outputs, UiState, PageHref, Local>;\n install(app: VueApp): void;\n};\n\nexport type SdkPluginV3<\n Data = unknown,\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n Href extends `/${string}` = `/${string}`,\n Local extends ExtendSettings<Href> = ExtendSettings<Href>,\n> = {\n apiVersion: 3;\n loaded: boolean;\n error: unknown;\n useApp<PageHref extends Href = Href>(): AppV3<Data, Args, Outputs, PageHref, Local>;\n install(app: VueApp): void;\n};\n\nexport type SdkPlugin = SdkPluginV1 | SdkPluginV2 | SdkPluginV3;\n"],"names":["pluginKey","pluginDataKey","useSdkPlugin","inject","defineApp","platforma","extendApp","settings","app","activateAgGrid","runtimeApiVersion","blockRequestedApiVersion","getPlatformaApiVersion","loadApp","state","plugin","baseApp","createAppV1","localState","routes","href","component","c","markRaw","stateOrError","unwrapResult","createAppV2","reactive","notEmpty","err","defineAppV3","vueAppInstance","pluginAccess","createAppV3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"defineApp.js","sources":["../src/defineApp.ts"],"sourcesContent":["import { notEmpty } from \"@milaboratories/helpers\";\nimport type {\n PlatformaExtended,\n PlatformaV3,\n PlatformaV1,\n PlatformaV2,\n} from \"@platforma-sdk/model\";\nimport {\n getPlatformaApiVersion,\n unwrapResult,\n type BlockOutputsBase,\n type BlockModelInfo,\n} from \"@platforma-sdk/model\";\nimport type { App as VueApp, Component, Reactive } from \"vue\";\nimport { inject, markRaw, reactive } from \"vue\";\nimport { createAppV1, type BaseAppV1 } from \"./internal/createAppV1\";\nimport { createAppV2, type BaseAppV2 } from \"./internal/createAppV2\";\nimport { createAppV3, type BaseAppV3 } from \"./internal/createAppV3\";\nimport type { AppSettings, ExtendSettings, Routes } from \"./types\";\nimport { activateAgGrid } from \"./aggrid\";\n\nconst pluginKey = Symbol(\"sdk-vue\");\nexport const pluginDataKey = Symbol(\"plugin-data-access\");\n\nexport function useSdkPlugin(): SdkPlugin {\n return inject(pluginKey)!;\n}\n\nexport function defineApp<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n Extend extends ExtendSettings<Href> = ExtendSettings<Href>,\n>(\n platforma: PlatformaV1<Args, Outputs, UiState, Href> & {\n blockModelInfo: BlockModelInfo;\n },\n extendApp: (app: BaseAppV1<Args, Outputs, UiState, Href>) => Extend,\n settings?: AppSettings,\n): SdkPluginV1<Args, Outputs, UiState, Href, Extend>;\n\nexport function defineApp<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n Extend extends ExtendSettings<Href> = ExtendSettings<Href>,\n>(\n platforma: PlatformaV2<Args, Outputs, UiState, Href> & {\n blockModelInfo: BlockModelInfo;\n },\n extendApp: (app: BaseAppV2<Args, Outputs, UiState, Href>) => Extend,\n settings?: AppSettings,\n): SdkPluginV2<Args, Outputs, UiState, Href, Extend>;\n\nexport function defineApp<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n Extend extends ExtendSettings<Href> = ExtendSettings<Href>,\n>(\n platforma: PlatformaExtended<\n PlatformaV1<Args, Outputs, UiState, Href> | PlatformaV2<Args, Outputs, UiState, Href>\n >,\n\n //\n extendApp: (app: any) => Extend,\n settings: AppSettings = {},\n):\n | SdkPluginV1<Args, Outputs, UiState, Href, Extend>\n | SdkPluginV2<Args, Outputs, UiState, Href, Extend> {\n let app:\n | AppV1<Args, Outputs, UiState, Href, Extend>\n | AppV2<Args, Outputs, UiState, Href, Extend>\n | undefined = undefined;\n\n activateAgGrid();\n\n const runtimeApiVersion = platforma.apiVersion ?? 1; // undefined means 1 (backward compatibility)\n const blockRequestedApiVersion = getPlatformaApiVersion();\n\n const loadApp = async () => {\n if (blockRequestedApiVersion !== runtimeApiVersion) {\n throw new Error(`Block requested API version ${blockRequestedApiVersion} but runtime API version is ${runtimeApiVersion}.\n Please update the desktop app to use the latest API version.`);\n }\n\n if (platforma.apiVersion === undefined || platforma.apiVersion === 1) {\n await platforma.loadBlockState().then((state) => {\n plugin.loaded = true;\n const baseApp = createAppV1<Args, Outputs, UiState, Href>(state, platforma, settings);\n\n const localState = extendApp(baseApp);\n\n const routes = Object.fromEntries(\n Object.entries(localState.routes as Routes<Href>).map(([href, component]) => {\n const c = typeof component === \"function\" ? component() : component;\n return [href, markRaw(c as Component)];\n }),\n );\n\n app = Object.assign(baseApp, {\n ...localState,\n getRoute(href: Href): Component | undefined {\n return routes[href];\n },\n } as unknown as AppV1<Args, Outputs, UiState, Href, Extend>);\n });\n } else if (platforma.apiVersion === 2) {\n await platforma.loadBlockState().then((stateOrError) => {\n const state = unwrapResult(stateOrError);\n plugin.loaded = true;\n const baseApp = createAppV2<Args, Outputs, UiState, Href>(state, platforma, settings);\n\n const localState = extendApp(baseApp);\n\n const routes = Object.fromEntries(\n Object.entries(localState.routes as Routes<Href>).map(([href, component]) => {\n const c = typeof component === \"function\" ? component() : component;\n return [href, markRaw(c as Component)];\n }),\n );\n\n app = Object.assign(baseApp, {\n ...localState,\n getRoute(href: Href): Component | undefined {\n return routes[href];\n },\n } as unknown as AppV2<Args, Outputs, UiState, Href, Extend>);\n });\n }\n };\n\n const plugin = reactive({\n apiVersion: platforma.apiVersion ?? 1,\n loaded: false,\n error: undefined as unknown,\n useApp<PageHref extends Href = Href>() {\n return notEmpty(app, \"App is not loaded\") as\n | AppV1<Args, Outputs, UiState, PageHref, Extend>\n | AppV2<Args, Outputs, UiState, PageHref, Extend>;\n },\n install(app: VueApp) {\n app.provide(pluginKey, this);\n loadApp().catch((err) => {\n console.error(\"load initial state error\", err);\n plugin.error = err;\n });\n },\n });\n\n return plugin as\n | SdkPluginV1<Args, Outputs, UiState, Href, Extend>\n | SdkPluginV2<Args, Outputs, UiState, Href, Extend>;\n}\n\nexport function defineAppV3<\n Data = unknown,\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n Href extends `/${string}` = `/${string}`,\n Plugins extends Record<string, unknown> = Record<string, unknown>,\n Extend extends ExtendSettings<Href> = ExtendSettings<Href>,\n>(\n platforma: PlatformaV3<Data, Args, Outputs, Href, Plugins> & {\n blockModelInfo: BlockModelInfo;\n },\n extendApp: (app: BaseAppV3<Data, Args, Outputs, Href, Plugins>) => Extend,\n settings: AppSettings = {},\n): SdkPluginV3<Data, Args, Outputs, Href, Plugins, Extend> {\n let app: AppV3<Data, Args, Outputs, Href, Plugins, Extend> | undefined = undefined;\n\n // Captured during install() so V3 can provide plugin data access after async load\n let vueAppInstance: VueApp | undefined;\n\n activateAgGrid();\n\n const runtimeApiVersion = 3;\n const blockRequestedApiVersion = getPlatformaApiVersion();\n\n const loadApp = async () => {\n if (blockRequestedApiVersion !== runtimeApiVersion) {\n throw new Error(`Block requested API version ${blockRequestedApiVersion} but runtime API version is ${runtimeApiVersion}.\n Please update the desktop app to use the latest API version.`);\n }\n\n await platforma.loadBlockState().then((stateOrError) => {\n const state = unwrapResult(stateOrError);\n plugin.loaded = true;\n const { app: baseApp, pluginAccess } = createAppV3<Data, Args, Outputs, Href, Plugins>(\n state,\n platforma,\n settings,\n );\n\n if (!vueAppInstance) {\n throw new Error(\n \"Plugin data injection failed: Vue app instance not captured during install()\",\n );\n }\n vueAppInstance.provide(pluginDataKey, pluginAccess);\n\n const localState = extendApp(baseApp);\n\n const routes = Object.fromEntries(\n Object.entries(localState.routes as Routes<Href>).map(([href, component]) => {\n const c = typeof component === \"function\" ? component() : component;\n return [href, markRaw(c as Component)];\n }),\n );\n\n app = Object.assign(baseApp, {\n ...localState,\n getRoute(href: Href): Component | undefined {\n return routes[href];\n },\n } as unknown as AppV3<Data, Args, Outputs, Href, Plugins, Extend>);\n });\n };\n\n const plugin = reactive({\n apiVersion: 3,\n loaded: false,\n error: undefined as unknown,\n useApp<PageHref extends Href = Href>() {\n return notEmpty(app, \"App is not loaded\") as AppV3<\n Data,\n Args,\n Outputs,\n PageHref,\n Plugins,\n Extend\n >;\n },\n install(app: VueApp) {\n vueAppInstance = app;\n app.provide(pluginKey, this);\n loadApp().catch((err) => {\n console.error(\"load initial state error\", err);\n plugin.error = err;\n });\n },\n });\n\n return plugin as SdkPluginV3<Data, Args, Outputs, Href, Plugins, Extend>;\n}\n\nexport type AppV1<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n Local extends ExtendSettings<Href> = ExtendSettings<Href>,\n> = BaseAppV1<Args, Outputs, UiState, Href> &\n Reactive<Omit<Local, \"routes\">> & { getRoute(href: Href): Component | undefined };\n\nexport type AppV2<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n Local extends ExtendSettings<Href> = ExtendSettings<Href>,\n> = BaseAppV2<Args, Outputs, UiState, Href> &\n Reactive<Omit<Local, \"routes\">> & { getRoute(href: Href): Component | undefined };\n\nexport type AppV3<\n Data = unknown,\n Args = unknown,\n Outputs extends BlockOutputsBase = NonNullable<unknown>,\n Href extends `/${string}` = `/${string}`,\n Plugins extends Record<string, unknown> = Record<string, unknown>,\n Local extends ExtendSettings<Href> = ExtendSettings<Href>,\n> = BaseAppV3<Data, Args, Outputs, Href, Plugins> &\n Reactive<Omit<Local, \"routes\">> & { getRoute(href: Href): Component | undefined };\n\n// ---------------------------------------------------------------------------\n// SdkPlugin types\n// ---------------------------------------------------------------------------\n\nexport type SdkPluginV1<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n Local extends ExtendSettings<Href> = ExtendSettings<Href>,\n> = {\n apiVersion: 1;\n loaded: boolean;\n error: unknown;\n useApp<PageHref extends Href = Href>(): AppV1<Args, Outputs, UiState, PageHref, Local>;\n install(app: VueApp): void;\n};\n\nexport type SdkPluginV2<\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n UiState = unknown,\n Href extends `/${string}` = `/${string}`,\n Local extends ExtendSettings<Href> = ExtendSettings<Href>,\n> = {\n apiVersion: 2;\n loaded: boolean;\n error: unknown;\n useApp<PageHref extends Href = Href>(): AppV2<Args, Outputs, UiState, PageHref, Local>;\n install(app: VueApp): void;\n};\n\nexport type SdkPluginV3<\n Data = unknown,\n Args = unknown,\n Outputs extends BlockOutputsBase = BlockOutputsBase,\n Href extends `/${string}` = `/${string}`,\n Plugins extends Record<string, unknown> = Record<string, unknown>,\n Local extends ExtendSettings<Href> = ExtendSettings<Href>,\n> = {\n apiVersion: 3;\n loaded: boolean;\n error: unknown;\n useApp<PageHref extends Href = Href>(): AppV3<Data, Args, Outputs, PageHref, Plugins, Local>;\n install(app: VueApp): void;\n};\n\nexport type SdkPlugin = SdkPluginV1 | SdkPluginV2 | SdkPluginV3;\n"],"names":["pluginKey","pluginDataKey","useSdkPlugin","inject","defineApp","platforma","extendApp","settings","app","activateAgGrid","runtimeApiVersion","blockRequestedApiVersion","getPlatformaApiVersion","loadApp","state","plugin","baseApp","createAppV1","localState","routes","href","component","c","markRaw","stateOrError","unwrapResult","createAppV2","reactive","notEmpty","err","defineAppV3","vueAppInstance","pluginAccess","createAppV3"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -10,11 +10,11 @@ import { default as C } from "./components/PlAgChartHistogramCell/PlAgChartHisto
|
|
|
10
10
|
/* empty css */
|
|
11
11
|
import { default as b } from "./components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.js";
|
|
12
12
|
/* empty css */
|
|
13
|
-
import { default as
|
|
13
|
+
import { default as v } from "./components/PlAgCsvExporter/PlAgCsvExporter.vue.js";
|
|
14
14
|
import { default as R } from "./components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.js";
|
|
15
15
|
import { default as w } from "./components/BlockLayout.vue.js";
|
|
16
16
|
import { default as F, default as M } from "./components/PlAgDataTable/PlAgDataTableV2.vue.js";
|
|
17
|
-
import {
|
|
17
|
+
import { usePlugin as V } from "./usePlugin.js";
|
|
18
18
|
import { useAgGridOptions as y } from "./AgGridVue/useAgGridOptions.js";
|
|
19
19
|
import { createAgGridColDef as N } from "./AgGridVue/createAgGridColDef.js";
|
|
20
20
|
import { deselectAll as B, getSelectedRowsCount as H, getTotalRowsCount as I, isSelectionEnabled as L, selectAll as Z } from "./AgGridVue/selection.js";
|
|
@@ -31,15 +31,15 @@ import { default as me } from "./components/PlAdvancedFilter/PlAdvancedFilter.vu
|
|
|
31
31
|
import { PlAdvancedFilterSupportedFilters as ie } from "./components/PlAdvancedFilter/index.js";
|
|
32
32
|
import { defineApp as xe, defineAppV3 as ge, pluginDataKey as Ae, useSdkPlugin as Pe } from "./defineApp.js";
|
|
33
33
|
import { createModel as ce } from "./createModel.js";
|
|
34
|
-
import { defineStore as
|
|
35
|
-
import { AgGridTheme as
|
|
34
|
+
import { defineStore as Se } from "./defineStore.js";
|
|
35
|
+
import { AgGridTheme as De, activateAgGrid as Re } from "./aggrid.js";
|
|
36
36
|
import { MultiError as we, UnresolvedError as Ee, ensureError as Fe, ensureOutputHasStableFlag as Me, formatZodError as Oe, identity as Ve, isDefined as he, isZodError as ye, unwrapOutput as Ge, wrapOptionalResult as Ne } from "./utils.js";
|
|
37
37
|
import { objectHash as Be } from "./objectHash.js";
|
|
38
38
|
import { computedResult as Ie } from "./computedResult.js";
|
|
39
39
|
import { ReactiveFileContent as Ze } from "./composition/fileContent.js";
|
|
40
40
|
export * from "@milaboratories/uikit";
|
|
41
41
|
export {
|
|
42
|
-
|
|
42
|
+
De as AgGridTheme,
|
|
43
43
|
w as BlockLayout,
|
|
44
44
|
W as DeferredCircular,
|
|
45
45
|
we as MultiError,
|
|
@@ -51,7 +51,7 @@ export {
|
|
|
51
51
|
C as PlAgChartHistogramCell,
|
|
52
52
|
b as PlAgChartStackedBarCell,
|
|
53
53
|
m as PlAgColumnHeader,
|
|
54
|
-
|
|
54
|
+
v as PlAgCsvExporter,
|
|
55
55
|
U as PlAgDataTableRowNumberColId,
|
|
56
56
|
F as PlAgDataTableV2,
|
|
57
57
|
ee as PlAgGridColumnManager,
|
|
@@ -73,7 +73,7 @@ export {
|
|
|
73
73
|
_ as defaultMainMenuItems,
|
|
74
74
|
xe as defineApp,
|
|
75
75
|
ge as defineAppV3,
|
|
76
|
-
|
|
76
|
+
Se as defineStore,
|
|
77
77
|
B as deselectAll,
|
|
78
78
|
Fe as ensureError,
|
|
79
79
|
X as ensureNodeVisible,
|
|
@@ -92,7 +92,7 @@ export {
|
|
|
92
92
|
Ge as unwrapOutput,
|
|
93
93
|
y as useAgGridOptions,
|
|
94
94
|
z as usePlDataTableSettingsV2,
|
|
95
|
-
V as
|
|
95
|
+
V as usePlugin,
|
|
96
96
|
Pe as useSdkPlugin,
|
|
97
97
|
Ne as wrapOptionalResult
|
|
98
98
|
};
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import { Mutable } from '@milaboratories/helpers';
|
|
2
|
-
import { NavigationState, BlockOutputsBase, BlockStateV3, PlatformaV3, ValueWithUTag, AuthorMarker, PlatformaExtended } from '@platforma-sdk/model';
|
|
2
|
+
import { NavigationState, BlockOutputsBase, BlockStateV3, PlatformaV3, ValueWithUTag, AuthorMarker, PlatformaExtended, InferPluginHandles } from '@platforma-sdk/model';
|
|
3
3
|
import { OutputValues, OutputErrors, AppSettings } from '../types';
|
|
4
|
+
import { PluginAccess } from '../usePlugin';
|
|
4
5
|
export declare const patchPoolingDelay = 150;
|
|
5
|
-
/** Internal interface for plugin data access — injected separately from the app. */
|
|
6
|
-
export interface PluginDataAccess {
|
|
7
|
-
readonly pluginDataMap: Record<string, unknown>;
|
|
8
|
-
setPluginData(pluginId: string, value: unknown): Promise<boolean>;
|
|
9
|
-
initPluginDataSlot(pluginId: string): void;
|
|
10
|
-
}
|
|
11
6
|
export declare const createNextAuthorMarker: (marker: AuthorMarker | undefined) => AuthorMarker;
|
|
12
7
|
/**
|
|
13
8
|
* Creates an application instance with reactive state management, outputs, and methods for state updates and navigation.
|
|
@@ -23,7 +18,7 @@ export declare const createNextAuthorMarker: (marker: AuthorMarker | undefined)
|
|
|
23
18
|
*
|
|
24
19
|
* @returns A reactive application object with methods, getters, and state.
|
|
25
20
|
*/
|
|
26
|
-
export declare function createAppV3<Data = unknown, Args = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, Href extends `/${string}` = `/${string}
|
|
21
|
+
export declare function createAppV3<Data = unknown, Args = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, Href extends `/${string}` = `/${string}`, Plugins extends Record<string, unknown> = Record<string, unknown>>(state: ValueWithUTag<BlockStateV3<Data, Outputs, Href>>, platforma: PlatformaExtended<PlatformaV3<Data, Args, Outputs, Href, Plugins>>, settings: AppSettings): {
|
|
27
22
|
app: {
|
|
28
23
|
error: string;
|
|
29
24
|
model: {
|
|
@@ -37,6 +32,7 @@ export declare function createAppV3<Data = unknown, Args = unknown, Outputs exte
|
|
|
37
32
|
blockStorage: unknown;
|
|
38
33
|
navigationState: NavigationState<Href>;
|
|
39
34
|
};
|
|
35
|
+
plugins: import('vue').UnwrapRef<InferPluginHandles<Plugins>>;
|
|
40
36
|
queryParams: import('../types').ParseQuery<Href>;
|
|
41
37
|
href: Href;
|
|
42
38
|
hasErrors: boolean;
|
|
@@ -60,7 +56,7 @@ export declare function createAppV3<Data = unknown, Args = unknown, Outputs exte
|
|
|
60
56
|
navigateTo(href: Href): Promise<boolean>;
|
|
61
57
|
allSettled(): Promise<void>;
|
|
62
58
|
};
|
|
63
|
-
pluginAccess:
|
|
59
|
+
pluginAccess: PluginAccess;
|
|
64
60
|
};
|
|
65
|
-
export type BaseAppV3<Data = unknown, Args = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, Href extends `/${string}` = `/${string}
|
|
61
|
+
export type BaseAppV3<Data = unknown, Args = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, Href extends `/${string}` = `/${string}`, Plugins extends Record<string, unknown> = Record<string, unknown>> = ReturnType<typeof createAppV3<Data, Args, Outputs, Href, Plugins>>["app"];
|
|
66
62
|
//# sourceMappingURL=createAppV3.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAppV3.d.ts","sourceRoot":"","sources":["../../src/internal/createAppV3.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,YAAY,EACZ,iBAAiB,
|
|
1
|
+
{"version":3,"file":"createAppV3.d.ts","sourceRoot":"","sources":["../../src/internal/createAppV3.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAKnB,MAAM,sBAAsB,CAAC;AAW9B,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAMxE,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,cAAc,CAAC;AAE9D,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAUrC,eAAO,MAAM,sBAAsB,WAAY,YAAY,GAAG,SAAS,KAAG,YAGxE,CAAC;AAUH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,IAAI,GAAG,OAAO,EACd,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,IAAI,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,EACxC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEjE,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,EACvD,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,EAC7E,QAAQ,EAAE,WAAW;;eAuHZ,MAAM;;;;;;;;qBAvDJ,OAAO,CAAC,OAAO,CAAC;0BACX,OAAO;6BACJ,eAAe,CAAC,IAAI,CAAC;;;;;;;yBA+IkB,IAAI;oCAEf,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAK3E;;;;;;WAMG;uBACY,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAMtD;;;;;WAKG;yBACc,IAAI;;;;EA2GxB;AAED,MAAM,MAAM,SAAS,CACnB,IAAI,GAAG,OAAO,EACd,IAAI,GAAG,OAAO,EACd,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,IAAI,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,EACxC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC/D,UAAU,CAAC,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC"}
|