ag-studio-vue3 2.0.1 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.mjs +9 -5
- package/dist/main.umd.js +1 -1
- package/dist/typings/components/utils.d.ts +10 -2
- package/package.json +3 -3
package/dist/main.mjs
CHANGED
|
@@ -18,6 +18,7 @@ function X() {
|
|
|
18
18
|
getDocument: void 0,
|
|
19
19
|
suppressTouch: void 0,
|
|
20
20
|
localeText: void 0,
|
|
21
|
+
aiText: void 0,
|
|
21
22
|
getLocaleText: void 0,
|
|
22
23
|
studioId: void 0,
|
|
23
24
|
context: void 0,
|
|
@@ -36,6 +37,7 @@ function X() {
|
|
|
36
37
|
"onState-updated": void 0,
|
|
37
38
|
"onApi-ready": void 0,
|
|
38
39
|
"onStudio-ready": void 0,
|
|
40
|
+
"onRender-state-changed": void 0,
|
|
39
41
|
"onStudio-pre-destroyed": void 0,
|
|
40
42
|
"onError-raised": void 0
|
|
41
43
|
// @END_EVENT_PROPS@
|
|
@@ -253,6 +255,7 @@ const re = { ref: "root" }, ce = /* @__PURE__ */ b({
|
|
|
253
255
|
getDocument: { type: Function },
|
|
254
256
|
suppressTouch: { type: Boolean },
|
|
255
257
|
localeText: {},
|
|
258
|
+
aiText: {},
|
|
256
259
|
getLocaleText: { type: Function },
|
|
257
260
|
studioId: {},
|
|
258
261
|
context: {},
|
|
@@ -269,21 +272,22 @@ const re = { ref: "root" }, ce = /* @__PURE__ */ b({
|
|
|
269
272
|
"onState-updated": {},
|
|
270
273
|
"onApi-ready": {},
|
|
271
274
|
"onStudio-ready": {},
|
|
275
|
+
"onRender-state-changed": {},
|
|
272
276
|
"onStudio-pre-destroyed": {},
|
|
273
277
|
"onError-raised": {}
|
|
274
278
|
}, X()),
|
|
275
279
|
setup(c, { expose: e }) {
|
|
276
280
|
const t = c, o = M("root"), s = m(void 0), a = m(!1), n = m(!1), d = m(!1);
|
|
277
281
|
let r = {}, i = !1;
|
|
278
|
-
const
|
|
282
|
+
const T = D(t), R = new Set(H());
|
|
279
283
|
A().filter((l) => l != "studioProperties").forEach((l) => {
|
|
280
|
-
const u =
|
|
284
|
+
const u = T[l];
|
|
281
285
|
u && W(
|
|
282
286
|
u,
|
|
283
287
|
(p, g) => {
|
|
284
|
-
|
|
288
|
+
k(l, p);
|
|
285
289
|
},
|
|
286
|
-
|
|
290
|
+
R.has(l) ? void 0 : { deep: !0 }
|
|
287
291
|
);
|
|
288
292
|
});
|
|
289
293
|
const C = (l) => (u) => {
|
|
@@ -291,7 +295,7 @@ const re = { ref: "root" }, ce = /* @__PURE__ */ b({
|
|
|
291
295
|
return;
|
|
292
296
|
u === "apiReady" && (d.value = !0);
|
|
293
297
|
const p = Q.has(u);
|
|
294
|
-
},
|
|
298
|
+
}, k = (l, u, p) => {
|
|
295
299
|
if (a.value) {
|
|
296
300
|
let g = u;
|
|
297
301
|
r[l] = g, i || (i = !0, queueMicrotask(() => {
|
package/dist/main.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(f,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("ag-studio")):typeof define=="function"&&define.amd?define(["exports","vue","ag-studio"],n):(f=typeof globalThis<"u"?globalThis:f||self,n(f.AgStudio={},f.Vue,f.agStudio))})(this,function(f,n,d){"use strict";var L=Object.defineProperty;var F=(f,n,d)=>n in f?L(f,n,{enumerable:!0,configurable:!0,writable:!0,value:d}):f[n]=d;var y=(f,n,d)=>F(f,typeof n!="symbol"?n+"":n,d);function x(){return{studioProperties:{},tabIndex:void 0,enableRtl:void 0,popupParent:void 0,theme:void 0,loadThemeGoogleFonts:void 0,themeCssLayer:void 0,styleNonce:void 0,themeStyleContainer:void 0,getDocument:void 0,suppressTouch:void 0,localeText:void 0,getLocaleText:void 0,studioId:void 0,context:void 0,initialState:void 0,data:void 0,mode:void 0,layout:void 0,ai:void 0,dataOptions:void 0,panels:void 0,page:void 0,widgets:void 0,components:void 0,"onState-updated":void 0,"onApi-ready":void 0,"onStudio-ready":void 0,"onStudio-pre-destroyed":void 0,"onError-raised":void 0}}function
|
|
1
|
+
(function(f,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("ag-studio")):typeof define=="function"&&define.amd?define(["exports","vue","ag-studio"],n):(f=typeof globalThis<"u"?globalThis:f||self,n(f.AgStudio={},f.Vue,f.agStudio))})(this,function(f,n,d){"use strict";var L=Object.defineProperty;var F=(f,n,d)=>n in f?L(f,n,{enumerable:!0,configurable:!0,writable:!0,value:d}):f[n]=d;var y=(f,n,d)=>F(f,typeof n!="symbol"?n+"":n,d);function x(){return{studioProperties:{},tabIndex:void 0,enableRtl:void 0,popupParent:void 0,theme:void 0,loadThemeGoogleFonts:void 0,themeCssLayer:void 0,styleNonce:void 0,themeStyleContainer:void 0,getDocument:void 0,suppressTouch:void 0,localeText:void 0,aiText:void 0,getLocaleText:void 0,studioId:void 0,context:void 0,initialState:void 0,data:void 0,mode:void 0,layout:void 0,ai:void 0,dataOptions:void 0,panels:void 0,page:void 0,widgets:void 0,components:void 0,"onState-updated":void 0,"onApi-ready":void 0,"onStudio-ready":void 0,"onRender-state-changed":void 0,"onStudio-pre-destroyed":void 0,"onError-raised":void 0}}function g(u){if(!u||typeof u!="object"||Array.isArray(u))return!1;const e=Object.getPrototypeOf(u);return e!==null&&e!==Object.prototype}function P(u){if(u==null||typeof u!="object")return u;const e=new WeakSet,o=t=>{if(t==null||typeof t!="object")return t;if(n.isRef(t))return o(t.value);if(n.isReactive(t)||n.isProxy(t))return o(n.toRaw(t));if(g(t))return n.toRaw(t);if(Array.isArray(t)){let r=!1;for(let l=0;l<t.length;l++){const s=t[l];if(s!==null&&typeof s=="object"){if(n.isRef(s)||n.isReactive(s)||n.isProxy(s)){r=!0;break}r=!0;break}}return r?t.map(l=>o(l)):t}if(e.has(t))return t;e.add(t);const i=Object.keys(t),a={};for(let r=0;r<i.length;r++)a[i[r]]=o(t[i[r]]);return a};return o(u)}const v=class v{static getComponentDefinition(e,o){let t;return typeof e=="string"?t=this.searchForComponentInstance(o,e):t={extends:n.defineComponent({...e})},t||d._AgLogger.error(`Could not find component with name of ${e}. Is it in Vue.components?`),t.extends?(t.extends.setup&&(t.setup=t.extends.setup),t.extends.props=this.addParamsToProps(t.extends.props)):t.props=this.addParamsToProps(t.props),t}static addParamsToProps(e){return!e||Array.isArray(e)&&e.indexOf("params")===-1?e=["params",...e||[]]:typeof e=="object"&&!e.params&&(e.params={type:Object}),e}static createAndMountComponent(e,o,t,i){const a=v.getComponentDefinition(e,t);if(!a)return;const{vNode:r,destroy:l,el:s}=this.mount(a,{params:Object.freeze(o)},t,i||{});return{componentInstance:r.component.proxy,element:s,destroy:l}}static mount(e,o,t,i){let a=n.createVNode(e,o);a.appContext={...t.appContext,provides:i};let r=document.createDocumentFragment();return n.render(a,r),{vNode:a,destroy:()=>{r&&n.render(null,r),r=null,a=null},el:r}}static searchForComponentInstance(e,o,t=10,i=!1){let a=this.componentCache.get(e);if(a){const c=a.get(o);if(c!==void 0)return c}let r=null,l=0,s=e.parent;for(;!r&&s&&s.components&&++l<t;)s.components&&s.components[o]&&(r=s.components[o]),s=s.parent;for(l=0,s=e.parent;!r&&s&&s.$options&&++l<t;){const c=s;c.$options&&c.$options.components&&c.$options.components[o]?r=c.$options.components[o]:c[o]&&(r=c[o]),s=s.parent}for(l=0,s=e.parent;!r&&s&&++l<t;){if(s.exposed){const c=s;c.exposed&&c.exposed[o]?r=c.exposed[o]:c[o]&&(r=c[o])}s=s.parent}if(!r){const c=e.appContext.components;c&&c[o]&&(r=c[o])}return!r&&!i?(d._AgLogger.error(`Could not find component with name of ${o}. Is it in Vue.components?`),null):(r&&(a||(a=new Map,this.componentCache.set(e,a)),a.set(o,r)),r)}};y(v,"componentCache",new WeakMap);let C=v;class _ extends d._BaseComponentWrapper{constructor(o,t){super();y(this,"parent");y(this,"provides");this.parent=o,this.provides=t}createWrapper(o){return new A(this,o)}createComponent(o,t){return C.createAndMountComponent(o,t,this.parent,this.provides)}destroy(){this.parent=null}}class A{constructor(e,o){y(this,"componentInstance");y(this,"element");y(this,"unmount");this.frameworkCompWrapper=e,this.component=o}getGui(){return this.element}init(e){const{componentInstance:o,element:t,destroy:i}=this.frameworkCompWrapper.createComponent(this.component,e);this.componentInstance=o,this.unmount=i,this.element=t.firstElementChild??t}async refresh(e){var o,t;return(t=(o=this.componentInstance).refresh)==null?void 0:t.call(o,e)}hasMethod(e){var t,i;const o=this.componentInstance;return o[e]?!0:((t=o.$.exposed)==null?void 0:t[e])!=null||((i=o.exposed)==null?void 0:i[e])!=null||o.$.setupState[e]!=null}callMethod(e,o){var i,a;const t=this.componentInstance;if(t[e])return t[e](...o);{const r=((i=t.$.exposed)==null?void 0:i[e])||((a=t.exposed)==null?void 0:a[e])||t.$.setupState[e];return r==null?void 0:r.apply(t,o)}}addMethod(e,o){this[e]=o}processMethod(e,o){return e==="refresh"&&(this.componentInstance.params=Object.freeze(o[0])),this.hasMethod(e)?this.callMethod(e,o):e==="refresh"}getFrameworkComponentInstance(){return this.componentInstance}destroy(){var e,o;typeof((e=this.componentInstance)==null?void 0:e.destroy)=="function"&&this.componentInstance.destroy(),(o=this.unmount)==null||o.call(this)}}class R extends d._VanillaFrameworkOverrides{constructor(e){super("vue"),this.parent=e}frameworkComponent(e,o){let t=C.searchForComponentInstance(this.parent,e,10,!0)?e:null;if(!t&&o&&o[e]){const i=o[e];t=C.searchForComponentInstance(this.parent,i,10,!0)?i:null}return t}isFrameworkComponent(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}}const T={ref:"root"},b=n.defineComponent({__name:"AgStudio",props:n.mergeDefaults({studioProperties:{},modules:{},tabIndex:{},enableRtl:{type:Boolean},popupParent:{},theme:{},loadThemeGoogleFonts:{type:Boolean},themeCssLayer:{},styleNonce:{},themeStyleContainer:{type:Function},getDocument:{type:Function},suppressTouch:{type:Boolean},localeText:{},aiText:{},getLocaleText:{type:Function},studioId:{},context:{},initialState:{},data:{},mode:{},layout:{},ai:{},dataOptions:{},panels:{},page:{type:[Object,Function]},widgets:{type:[Object,Function]},components:{},"onState-updated":{},"onApi-ready":{},"onStudio-ready":{},"onRender-state-changed":{},"onStudio-pre-destroyed":{},"onError-raised":{}},x()),setup(u,{expose:e}){const o=u,t=n.useTemplateRef("root"),i=n.shallowRef(void 0),a=n.shallowRef(!1),r=n.shallowRef(!1),l=n.shallowRef(!1);let s={},c=!1;const S=n.toRefs(o),O=new Set(d._GET_SHALLOW_STUDIO_PROPERTIES());d._GET_ALL_STUDIO_PROPERTIES().filter(p=>p!="studioProperties").forEach(p=>{const h=S[p];h&&n.watch(h,(m,I)=>{k(p,m)},O.has(p)?void 0:{deep:!0})});const w=p=>h=>{if(r.value)return;h==="apiReady"&&(l.value=!0);const m=d._ALWAYS_SYNC_GLOBAL_EVENTS.has(h)},k=(p,h,m)=>{if(a.value){let I=h;s[p]=I,c||(c=!0,queueMicrotask(()=>{c=!1,!r.value&&i.value&&d._processPropertyChanges(s,i.value),s={}}))}},E=()=>Object.create(n.getCurrentInstance().provides);return n.onMounted(()=>{const p=new _(n.getCurrentInstance(),E()),h={globalListener:w(),globalSyncListener:w(!0),frameworkOverrides:new R(n.getCurrentInstance()),providedBeanInstances:{frameworkCompWrapper:p},modules:o.modules},m=n.markRaw(d._combineAttributesAndStudioProperties(P(o.studioProperties),o,[...d._GET_ALL_STUDIO_PROPERTIES(),...Object.values(d._PUBLIC_EVENT_HANDLERS_MAP)]));i.value=d._createStudio(t.value,m,h),a.value=!0}),n.onUnmounted(()=>{var p;a.value&&((p=i==null?void 0:i.value)==null||p.destroy(),r.value=!0)}),e({api:i}),(p,h)=>(n.openBlock(),n.createElementBlock("div",T,null,512))}});f.AgStudio=b,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { AgAiAssistant, AgDataEngine, AgDataOptions, AgDataSourcesDefinition, AgDefaultRegistry, AgPageConfig, AgPageLayoutState, AgPanelConfig, AgReportState, AgStudioGetLocaleTextParams, AgStudioLocaleText, AgStudioMode, AgStudioTheme, AgWidgetsConfig } from 'ag-studio';
|
|
2
|
-
import type { AgStudioApiReadyEvent, AgStudioErrorRaisedEvent, AgStudioPreDestroyedEvent, AgStudioReadyEvent, AgStudioStateUpdatedEvent } from 'ag-studio';
|
|
1
|
+
import type { AgAiAssistant, AgAiStrings, AgDataEngine, AgDataOptions, AgDataSourcesDefinition, AgDefaultRegistry, AgPageConfig, AgPageLayoutState, AgPanelConfig, AgReportState, AgStudioGetLocaleTextParams, AgStudioLocaleText, AgStudioMode, AgStudioTheme, AgWidgetsConfig } from 'ag-studio';
|
|
2
|
+
import type { AgStudioApiReadyEvent, AgStudioErrorRaisedEvent, AgStudioPreDestroyedEvent, AgStudioReadyEvent, AgStudioRenderStateChangedEvent, AgStudioStateUpdatedEvent } from 'ag-studio';
|
|
3
3
|
import type { AgStudioModule, AgStudioProperties } from 'ag-studio';
|
|
4
4
|
import type { AgRegistry } from './interfaces';
|
|
5
5
|
export interface Properties {
|
|
@@ -78,6 +78,11 @@ export interface Props<TRegistry extends AgRegistry = AgDefaultRegistry> {
|
|
|
78
78
|
* @initial
|
|
79
79
|
*/
|
|
80
80
|
localeText?: AgStudioLocaleText;
|
|
81
|
+
/** Override any AI-facing prose strings. Merged over AG defaults at initialisation time.
|
|
82
|
+
* Keys use dotted notation, e.g. `'tools.view_schema.description'`.
|
|
83
|
+
* @initial
|
|
84
|
+
*/
|
|
85
|
+
aiText?: Partial<AgAiStrings>;
|
|
81
86
|
/** A callback for localising text within Studio.
|
|
82
87
|
* @initial
|
|
83
88
|
*/
|
|
@@ -132,6 +137,7 @@ export interface Props<TRegistry extends AgRegistry = AgDefaultRegistry> {
|
|
|
132
137
|
'onState-updated'?: AgStudioStateUpdatedEvent;
|
|
133
138
|
'onApi-ready'?: AgStudioApiReadyEvent;
|
|
134
139
|
'onStudio-ready'?: AgStudioReadyEvent;
|
|
140
|
+
'onRender-state-changed'?: AgStudioRenderStateChangedEvent;
|
|
135
141
|
'onStudio-pre-destroyed'?: AgStudioPreDestroyedEvent;
|
|
136
142
|
'onError-raised'?: AgStudioErrorRaisedEvent;
|
|
137
143
|
}
|
|
@@ -148,6 +154,7 @@ export declare function getProps(): {
|
|
|
148
154
|
getDocument: undefined;
|
|
149
155
|
suppressTouch: undefined;
|
|
150
156
|
localeText: undefined;
|
|
157
|
+
aiText: undefined;
|
|
151
158
|
getLocaleText: undefined;
|
|
152
159
|
studioId: undefined;
|
|
153
160
|
context: undefined;
|
|
@@ -164,6 +171,7 @@ export declare function getProps(): {
|
|
|
164
171
|
'onState-updated': undefined;
|
|
165
172
|
'onApi-ready': undefined;
|
|
166
173
|
'onStudio-ready': undefined;
|
|
174
|
+
'onRender-state-changed': undefined;
|
|
167
175
|
'onStudio-pre-destroyed': undefined;
|
|
168
176
|
'onError-raised': undefined;
|
|
169
177
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ag-studio-vue3",
|
|
3
3
|
"description": "AG Studio Vue Component",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.1.1",
|
|
5
5
|
"author": "Sean Landsman <sean@thelandsmans.com>",
|
|
6
6
|
"license": "Commercial",
|
|
7
7
|
"files": [
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"build-only:watch": "vite build --watch"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"ag-stack": "~36.
|
|
38
|
-
"ag-studio": "2.
|
|
37
|
+
"ag-stack": "~36.1.0",
|
|
38
|
+
"ag-studio": "2.1.1"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"vue": "^3.5.0",
|