@operato/scene-grist 10.0.0-beta.22 → 10.0.0-beta.30
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/grist-action.d.ts
CHANGED
|
@@ -53,7 +53,7 @@ declare const GristAction_base: (new (...args: any[]) => {
|
|
|
53
53
|
get disposed(): boolean;
|
|
54
54
|
isLayer(): boolean;
|
|
55
55
|
isGroup(): boolean;
|
|
56
|
-
isContainer(): this is import("@hatiolab/things-scene
|
|
56
|
+
isContainer(): this is import("@hatiolab/things-scene").Container;
|
|
57
57
|
isLine(): boolean;
|
|
58
58
|
isRoot(): boolean;
|
|
59
59
|
isRootModel(): boolean;
|
|
@@ -69,9 +69,9 @@ declare const GristAction_base: (new (...args: any[]) => {
|
|
|
69
69
|
get(property: any): any;
|
|
70
70
|
set(props: any, propval?: any): any;
|
|
71
71
|
getState(property: any): any;
|
|
72
|
-
setState(props:
|
|
72
|
+
setState(props: Partial<import("@hatiolab/things-scene").State> | string, propval?: any): any;
|
|
73
73
|
get model(): any;
|
|
74
|
-
get state():
|
|
74
|
+
get state(): import("@hatiolab/things-scene").State;
|
|
75
75
|
get hierarchy(): any;
|
|
76
76
|
get volatile(): never[];
|
|
77
77
|
_applyProps(target: any, props: any, options: any): any;
|
|
@@ -293,7 +293,7 @@ declare const GristAction_base: (new (...args: any[]) => {
|
|
|
293
293
|
get disposed(): boolean;
|
|
294
294
|
isLayer(): boolean;
|
|
295
295
|
isGroup(): boolean;
|
|
296
|
-
isContainer(): this is import("@hatiolab/things-scene
|
|
296
|
+
isContainer(): this is import("@hatiolab/things-scene").Container;
|
|
297
297
|
isLine(): boolean;
|
|
298
298
|
isRoot(): boolean;
|
|
299
299
|
isRootModel(): boolean;
|
|
@@ -309,9 +309,9 @@ declare const GristAction_base: (new (...args: any[]) => {
|
|
|
309
309
|
get(property: any): any;
|
|
310
310
|
set(props: any, propval?: any): any;
|
|
311
311
|
getState(property: any): any;
|
|
312
|
-
setState(props:
|
|
312
|
+
setState(props: Partial<import("@hatiolab/things-scene").State> | string, propval?: any): any;
|
|
313
313
|
get model(): any;
|
|
314
|
-
get state():
|
|
314
|
+
get state(): import("@hatiolab/things-scene").State;
|
|
315
315
|
get hierarchy(): any;
|
|
316
316
|
get volatile(): never[];
|
|
317
317
|
_applyProps(target: any, props: any, options: any): any;
|
package/dist/grist-action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grist-action.js","sourceRoot":"","sources":["../src/grist-action.ts"],"names":[],"mappings":";AAAA;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAA+B,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAMtH,MAAM,CAAN,IAAY,OASX;AATD,WAAY,OAAO;IACjB,sCAA2B,CAAA;IAC3B,4BAAiB,CAAA;IACjB,2CAAgC,CAAA;IAChC,qCAA0B,CAAA;IAC1B,6BAAkB,CAAA;IAClB,4DAAiD,CAAA;IACjD,wCAA6B,CAAA;IAC7B,0CAA+B,CAAA;AACjC,CAAC,EATW,OAAO,KAAP,OAAO,QASlB;AAED,MAAM,MAAM,GAAoB;IAC9B,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE;QACV;YACE,WAAW;YACX,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE;gBACR,SAAS,EAAE,OAAO;aACnB;SACF;QACD;YACE,KAAK;YACL,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE;gBACR,OAAO,EAAE;oBACP;wBACE,iBAAiB;wBACjB,OAAO,EAAE,sBAAsB;wBAC/B,KAAK,EAAE,OAAO,CAAC,aAAa;qBAC7B;oBACD;wBACE,iBAAiB;wBACjB,OAAO,EAAE,eAAe;wBACxB,KAAK,EAAE,OAAO,CAAC,cAAc;qBAC9B;oBACD;wBACE,kBAAkB;wBAClB,OAAO,EAAE,cAAc;wBACvB,KAAK,EAAE,OAAO,CAAC,YAAY;qBAC5B;oBACD;wBACE,mBAAmB;wBACnB,OAAO,EAAE,mBAAmB;wBAC5B,KAAK,EAAE,OAAO,CAAC,YAAY;qBAC5B;oBACD;wBACE,qBAAqB;wBACrB,OAAO,EAAE,gBAAgB;wBACzB,KAAK,EAAE,OAAO,CAAC,SAAS;qBACzB;oBACD;wBACE,OAAO;wBACP,OAAO,EAAE,WAAW;wBACpB,KAAK,EAAE,OAAO,CAAC,OAAO;qBACvB;oBACD;wBACE,UAAU;wBACV,OAAO,EAAE,sBAAsB;wBAC/B,KAAK,EAAE,OAAO,CAAC,oBAAoB;qBACpC;oBACD;wBACE,iBAAiB;wBACjB,OAAO,EAAE,QAAQ;wBACjB,KAAK,EAAE,OAAO,CAAC,MAAM;qBACtB;iBACF;aACF;SACF;QACD;YACE,mBAAmB;YACnB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,cAAc;SACrB;QACD;YACE,aAAa;YACb,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,qBAAqB;YAC5B,IAAI,EAAE,cAAc;SACrB;KACF;IACD,IAAI,EAAE,8BAA8B;CACrC,CAAA;AAGc,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/D,KAAK,CAAK;IAElB,IAAI,MAAM;QACR,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QAEnB,+EAA+E;QAC/E,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;QAC5C,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YAC5B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAA;IACjB,CAAC;IAED,OAAO;QACL,eAAe;QACf,IAAI,CAAC,QAAQ,EAAE,CAAA;IACjB,CAAC;IAED,QAAQ,CAAC,KAAiB;QACxB,kBAAkB;QAClB,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,EAAE,CAAA;QACjB,CAAC;QAED,kEAAkE;QAClE,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAA;YAChD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;YAE5B,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC1C,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,WAKzC,EAAE,EAAE;wBACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;wBACnD,IAAI,CAAC,SAAS,EAAE,CAAA;oBAClB,CAAC,CAAA;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;oBAClD,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,WAKzC,EAAE,EAAE;wBACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;wBACpD,IAAI,CAAC,SAAS,EAAE,CAAA;oBAClB,CAAC,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,eAAe;QACb,OAAO,CAAC,KAAK,CACX,mJAAmJ,CACpJ,CAAA;IACH,CAAC;IAED,6BAA6B;IAC7B,SAAS;QACP,KAAK,CAAC,eAAe,EAAE,CAAA;IACzB,CAAC;IAED,kBAAkB;IAClB,QAAQ,CAAC,MAAgB;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACzB,OAAM;QACR,CAAC;QAED,2CAA2C;QAC3C,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QACzC,MAAM,GAAG,MAAM,IAAI,YAAY,CAAA;QAE/B,gBAAgB;QAChB,IAAI,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAA;QACnC,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,IAAI,IAAI,CAAA;QACR,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,OAAO,CAAC,YAAY;gBACvB,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAA;gBACvB,MAAK;YACP,KAAK,OAAO,CAAC,MAAM;gBACjB,KAAK,CAAC,MAAM,EAAE,CAAA;gBACd,MAAK;YACP,KAAK,OAAO,CAAC,YAAY;gBACvB,IAAI,GAAG;oBACL,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAC1C,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBACzB,CAAA;gBACD,MAAK;YACP,KAAK,OAAO,CAAC,SAAS;gBACpB,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;gBAChC,MAAK;YACP,KAAK,OAAO,CAAC,OAAO;gBAClB,CAAC;oBACC,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAA;oBAC3C,IAAI,YAAY,CAAA;oBAChB,IAAI,CAAC;wBACH,YAAY,GAAG,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,CAAA;oBACtE,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,CAAC,GAAG,CAAC,4DAA4D,EAAE,CAAC,CAAC,CAAA;wBAC5E,YAAY,GAAG,EAAE,CAAA;oBACnB,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAA;oBACjD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;gBAC1B,CAAC;gBACD,MAAK;YACP,KAAK,OAAO,CAAC,oBAAoB;gBAC/B,CAAC;oBACC,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAA;oBAE3C,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;wBAC9B,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;4BAC3B,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG;gCAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;;gCAC9C,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAA;wBAChC,CAAC;oBACH,CAAC,CAAC,CAAA;oBACF,KAAK,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;oBACxC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;gBAC1B,CAAC;gBACD,MAAK;YACP,KAAK,OAAO,CAAC,aAAa;gBACxB,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;gBAClC,MAAK;YACP,KAAK,OAAO,CAAC,cAAc;gBACzB,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;gBACnC,MAAK;QACT,CAAC;QAED,uCAAuC;QACvC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;YAChB,IAAI,CAAC,SAAS,EAAE,CAAA;QAClB,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,YAAY,CAAC,KAAgB;QAC3B,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,kBAAkB,CAAA;QACxC,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,KAAK,CAAC,OAAO,EAAE,CAAA;QACf,sCAAsC;QACtC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;IAC3C,CAAC;IAED,mCAAmC;IACnC,aAAa,CAAC,KAAgB;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAA;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACxC,IAAI,OAAO,GAAG;YACZ,QAAQ,EAAE,OAAO;YACjB,OAAO;YACP,OAAO,EAAE,EAAmB;YAC5B,OAAO,EAAE,EAAmB;YAC5B,OAAO,EAAE,EAAmB;SAC7B,CAAA;QAED,OAAO,CAAC,OAAO,CAAC,CAAC,MAAmB,EAAE,EAAE;YACtC,QAAQ,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,KAAK,GAAG;oBACN,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;oBAC5B,MAAK;gBACP,KAAK,GAAG;oBACN,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;oBAC5B,MAAK;gBACP,KAAK,GAAG;oBACN,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;oBAC5B,MAAK;YACT,CAAC;QACH,CAAC,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,iBAAiB;IACjB,eAAe,CAAC,KAAuB,EAAE,WAAuB;QAC9D,IAAI,MAAM,GAAQ,WAAW,IAAI,CAAC,KAAK,IAAK,KAAa,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,KAAM,CAAC,CAAA;QAC7F,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;QAEnD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAoB,EAAE,EAAE;YAC7C,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;YACxC,OAAO,MAAM,CAAA;QACf,CAAC,CAAC,CAAA;QACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;QAE/B,SAAS,UAAU,CAAC,KAAgB;YAClC,IAAI,MAAM,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAA;YAC7D,IAAI,MAAM;gBACR,OAAO;oBACL,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACzD,CAAA;;gBACE,OAAO,EAAE,CAAA;QAChB,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,gBAAgB,CAAC,KAAuB,EAAE,WAAuB;QAC/D,IAAI,MAAM,GAAQ,WAAW,IAAI,CAAC,KAAK,IAAK,KAAa,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,KAAM,CAAC,CAAA;QAC7F,IAAI,EACF,IAAI,GAAG,CAAC,EACR,KAAK,GAAG,EAAE,EACV,OAAO,EACP,QAAQ,EACR,OAAO,GAAG,EAAE,EACZ,SAAS,EACT,OAAO,EACR,GAAG,MAAM,CAAA;QAEV,OAAO;YACL,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YAC3B,QAAQ,EAAE,OAAO,IAAI,QAAQ;YAC7B,OAAO;YACP,SAAS;YACT,OAAO;SACR,CAAA;QAED,SAAS,UAAU,CAAC,KAAgB;YAClC,IAAI,MAAM,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAA;YAC7D,IAAI,MAAM;gBACR,OAAO;oBACL,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACzD,CAAA;;gBACE,OAAO,EAAE,CAAA;QAChB,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,YAAY,CAAC,OAAsB;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACzB,IAAI,UAAU,GAA2B,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACzE,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,CAAA;YAEzC,KAAK,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC5B,UAAU,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAA;YAC1C,CAAC;YACD,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;YAEnC,OAAO,UAAU,CAAA;QACnB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,OAAiC;QACtC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAExE,iBAAiB;QACjB,OAAO,CAAC,SAAS,EAAE,CAAA;QACnB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QAEtC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;QAC7B,OAAO,CAAC,IAAI,EAAE,CAAA;QAEd,YAAY;QACZ,OAAO,CAAC,SAAS,EAAE,CAAA;QAEnB,IAAI,SAAS,GAAG,KAAK,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;QAClF,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QAEnD,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS,EAAE,GAAG,EAAE,KAAK,GAAG,SAAS,EAAE,MAAM,CAAC,CAAA;QAE9D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAEtB,OAAO,CAAC,SAAS,EAAE,CAAA;QAEnB,OAAO,CAAC,SAAS,EAAE,CAAA;QAEnB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACxC,CAAC;IAED,UAAU,CAAC,OAAiC;QAC1C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACxB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,oBAAoB;QACtB,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC3B,OAAO,MAAM,CAAC,CAAC,CAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAA4B,CAAC,CAAC,CAAC,SAAS,CAAA;IACtF,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAA;IACzC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,IAAI,IAAI,CAAC,IAAI;QACX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;CACF,CAAA;AAtToB,WAAW;IAD/B,cAAc,CAAC,cAAc,CAAC;GACV,WAAW,CAsT/B;eAtToB,WAAW","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n *\n * grist 컴포넌트를 보조하여 grist의 각종 동작을 수행하는 컴포넌트.\n */\nimport { Component, ComponentNature, Properties, RectPath, ValueHolder, sceneComponent } from '@hatiolab/things-scene'\nimport { DataGrist } from '@operato/data-grist'\nimport { GristData, GristRecord, SorterConfig } from '@operato/data-grist'\n\nimport SceneGrist from './grist.js'\n\nexport enum ACTIONS {\n GET_ALL_ROWS = 'getAllRows',\n COMMIT = 'commit',\n GET_SELECTED = 'getSelectedRows',\n GET_DIRTY = 'getDirtyRows',\n ADD_ROW = 'addRow',\n DELETE_SELECTED_ROWS = 'deleteSelectedRowsSoftly',\n GET_PAGE_INFO = 'getPageInfo',\n GET_LIST_PARAM = 'getListParam'\n}\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n // 대상 Grist\n type: 'id-input',\n label: 'target-grist',\n name: 'target',\n property: {\n component: 'grist'\n }\n },\n {\n // 동작\n type: 'select',\n label: 'action',\n name: 'action',\n property: {\n options: [\n {\n // 페이지네이션 정보 가져오기\n display: 'Get page information',\n value: ACTIONS.GET_PAGE_INFO\n },\n {\n // 페이지네이션 정보 가져오기\n display: 'Get ListParam',\n value: ACTIONS.GET_LIST_PARAM\n },\n {\n // 모든 레코드 데이터 가져오기\n display: 'Get all rows',\n value: ACTIONS.GET_ALL_ROWS\n },\n {\n // 체크된 레코드 데이터 가져오기\n display: 'Get selected rows',\n value: ACTIONS.GET_SELECTED\n },\n {\n // 변경 사항이 있는 데이터 가져오기\n display: 'Get dirty rows',\n value: ACTIONS.GET_DIRTY\n },\n {\n // 행 추가\n display: 'Add a row',\n value: ACTIONS.ADD_ROW\n },\n {\n // 선택 행 삭제\n display: 'Delete selected rows',\n value: ACTIONS.DELETE_SELECTED_ROWS\n },\n {\n // 변경 사항을 데이터에 적용\n display: 'Commit',\n value: ACTIONS.COMMIT\n }\n ]\n }\n },\n {\n // 뷰어 시작 시 자동 실행 여부\n type: 'checkbox',\n label: 'run-at-startup',\n name: 'runAtStartup'\n },\n {\n // 행 추가 시의 포맷\n type: 'textarea',\n label: 'record-adder-format',\n name: 'recordFormat'\n }\n ],\n help: 'scene/component/grist-action'\n}\n\n@sceneComponent('grist-action')\nexport default class GristAction extends ValueHolder(RectPath(Component)) {\n private _data: any\n\n get nature() {\n return NATURE\n }\n\n async ready() {\n await super.ready()\n\n // 뷰어 시작시에도 action 값이 getPageInfo로 되어 있을 경우 fetchHandler를 등록하기 위해 onchange를 호출함\n this.onchange({ action: this.state.action })\n if (this.state.runAtStartup) {\n setTimeout(() => this.doAction(), 100)\n }\n }\n\n dispose() {\n super.dispose()\n }\n\n onclick() {\n // 컴포넌트 클릭 시 동작\n this.doAction()\n }\n\n onchange(after: Properties) {\n // value 값이 바뀌면 동작\n if ('value' in after) {\n this.doAction()\n }\n\n // action 값이 바뀌면 getPageInfo인지 확인하고 grist에 fetchHandler를 등록하거나 폐기함\n if ('action' in after) {\n const gristComponent = this.targetGristComponent\n const { refid } = this.state\n\n if (gristComponent) {\n if (after.action == ACTIONS.GET_PAGE_INFO) {\n gristComponent.beforeFetchFuncs[refid] = (fetchedData: {\n page: number\n limit: number\n total: number\n records: GristRecord[]\n }) => {\n this.data = this.getPageInfoFrom(null, fetchedData)\n this.doDataMap()\n }\n } else if (after.action == ACTIONS.GET_LIST_PARAM) {\n gristComponent.beforeFetchFuncs[refid] = (fetchedData: {\n page: number\n limit: number\n total: number\n records: GristRecord[]\n }) => {\n this.data = this.getListParamFrom(null, fetchedData)\n this.doDataMap()\n }\n } else {\n delete gristComponent.beforeFetchFuncs[refid]\n }\n }\n }\n }\n\n // 데이터 매핑을 수동으로 실행하기 위해 기존의 메소드를 무효화\n executeMappings() {\n console.debug(\n \"[@operato/data-grist] The method 'executeMappings' is overriden in the component 'grist-action', because of to prevent executing when initialize.\"\n )\n }\n\n // 데이터 매핑을 수동으로 조작하기 위한 새 메소드\n doDataMap() {\n super.executeMappings()\n }\n\n // action 값에 따라 동작\n doAction(action?: ACTIONS) {\n if (!this.app.isViewMode) {\n return\n }\n\n // 파라미터가 명시되어있지 않으면 컴포넌트 속성에서 action 값을 가져옴\n var { action: storedAction } = this.state\n action = action || storedAction\n\n // 대상 Grist 컴포넌트\n var grist = this.targetGristElement\n if (!grist) return\n\n var data\n switch (action) {\n case ACTIONS.GET_ALL_ROWS:\n data = grist.grist.data\n break\n case ACTIONS.COMMIT:\n grist.commit()\n break\n case ACTIONS.GET_SELECTED:\n data = {\n patches: this.buildPatches(grist.selected),\n original: grist.selected\n }\n break\n case ACTIONS.GET_DIRTY:\n data = this.assortDirties(grist)\n break\n case ACTIONS.ADD_ROW:\n {\n var records = grist.dirtyData.records || []\n let recordFormat\n try {\n recordFormat = new Function(`return (${this.state.recordFormat})`)()\n } catch (e) {\n console.log('Invalid JSON format. It will be assumed as empty object.\\n', e)\n recordFormat = {}\n }\n records.push({ ...recordFormat, __dirty__: '+' })\n this.refreshGrist(grist)\n }\n break\n case ACTIONS.DELETE_SELECTED_ROWS:\n {\n var records = grist.dirtyData.records || []\n\n records.forEach((record, idx) => {\n if (record['__selected__']) {\n if (record['__dirty__'] == '+') delete records[idx]\n else record['__dirty__'] = '-'\n }\n })\n grist.dirtyData.records = records.flat()\n this.refreshGrist(grist)\n }\n break\n case ACTIONS.GET_PAGE_INFO:\n data = this.getPageInfoFrom(grist)\n break\n case ACTIONS.GET_LIST_PARAM:\n data = this.getListParamFrom(grist)\n break\n }\n\n // 이 컴포넌트의 data 값이 바뀌는 동작은 데이터 매핑까지 실행함\n if (data) {\n this.data = data\n this.doDataMap()\n }\n }\n\n // 대상 grist 컴포넌트의 레코드를 새로고침\n refreshGrist(grist: DataGrist) {\n grist = grist || this.targetGristElement\n if (!grist) return\n\n grist.refresh()\n // grist.dataProvider.onRecordChange()\n grist.grist.data = { ...grist.dirtyData }\n }\n\n // 변경 사항이 있는 레코드의 경우, CUD를 분류해서 반환함\n assortDirties(grist: DataGrist) {\n const dirties = grist.dirtyRecords\n var patches = this.buildPatches(dirties)\n var records = {\n original: dirties,\n patches,\n created: [] as GristRecord[],\n updated: [] as GristRecord[],\n deleted: [] as GristRecord[]\n }\n\n patches.forEach((record: GristRecord) => {\n switch (record['cuFlag']) {\n case 'M':\n records.updated.push(record)\n break\n case '+':\n records.created.push(record)\n break\n case '-':\n records.deleted.push(record)\n break\n }\n })\n return records\n }\n\n // 페이지네이션 정보를 가져옴\n getPageInfoFrom(grist: DataGrist | null, fetchedData?: GristData) {\n var source: any = fetchedData || (grist && (grist as any).dataProvider) || pagination(grist!)\n var { page = 1, limit = 20, sorters = [] } = source\n\n sorters = sorters.map((sorter: SorterConfig) => {\n sorter.desc = sorter.desc ? true : false\n return sorter\n })\n return { page, limit, sorters }\n\n function pagination(grist: DataGrist) {\n var config = grist && grist.config && grist.config.pagination\n if (config)\n return {\n page: config.page,\n limit: config.limit || (config.pages && config.pages[0])\n }\n else return {}\n }\n }\n\n // Grist로부터 ListParam 정보를 가져옴\n getListParamFrom(grist: DataGrist | null, fetchedData?: GristData) {\n var source: any = fetchedData || (grist && (grist as any).dataProvider) || pagination(grist!)\n var {\n page = 1,\n limit = 20,\n sorters,\n sortings,\n filters = [],\n inherited,\n options\n } = source\n\n return {\n pagination: { page, limit },\n sortings: sorters || sortings,\n filters,\n inherited,\n options\n }\n\n function pagination(grist: DataGrist) {\n var config = grist && grist.config && grist.config.pagination\n if (config)\n return {\n page: config.page,\n limit: config.limit || (config.pages && config.pages[0])\n }\n else return {}\n }\n }\n\n // 레코드들을 서버 공통 resolver에 맞는 포맷으로 만듦\n buildPatches(patches: GristRecord[]): GristRecord[] {\n return patches.map(patch => {\n let patchField: { [key: string]: any } = patch.id ? { id: patch.id } : {}\n const dirtyFields = patch.__dirtyfields__\n\n for (let key in dirtyFields) {\n patchField[key] = dirtyFields[key].after\n }\n patchField.cuFlag = patch.__dirty__\n\n return patchField\n })\n }\n\n render(context: CanvasRenderingContext2D) {\n var { top, left, height, width, fillStyle = 'transparent' } = this.state\n\n // background의 색상\n context.beginPath()\n context.rect(left, top, width, height)\n\n context.fillStyle = fillStyle\n context.fill()\n\n // value의 색상\n context.beginPath()\n\n var drawValue = width - (width * Math.max(Math.min(this.animValue, 100), 0)) / 100\n drawValue = Math.max(Math.min(drawValue, width), 0)\n\n context.rect(left + drawValue, top, width - drawValue, height)\n\n this.drawFill(context)\n\n context.closePath()\n\n context.beginPath()\n\n context.rect(left, top, width, height)\n }\n\n postrender(context: CanvasRenderingContext2D) {\n this.drawStroke(context)\n this.drawText(context)\n }\n\n get controls() {\n return []\n }\n\n get targetGristComponent(): SceneGrist | undefined {\n var { target } = this.state\n return target ? (this.root.findById?.(target) as SceneGrist | undefined) : undefined\n }\n\n get targetGristElement(): DataGrist | undefined {\n return this.targetGristComponent?.grist\n }\n\n get data() {\n return this._data\n }\n\n set data(data) {\n this._data = data\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"grist-action.js","sourceRoot":"","sources":["../src/grist-action.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n *\n * grist 컴포넌트를 보조하여 grist의 각종 동작을 수행하는 컴포넌트.\n */\nimport { Component, ComponentNature, Properties, RectPath, ValueHolder, sceneComponent } from '@hatiolab/things-scene'\nimport { DataGrist } from '@operato/data-grist'\nimport { GristData, GristRecord, SorterConfig } from '@operato/data-grist'\n\nimport SceneGrist from './grist.js'\n\nexport enum ACTIONS {\n GET_ALL_ROWS = 'getAllRows',\n COMMIT = 'commit',\n GET_SELECTED = 'getSelectedRows',\n GET_DIRTY = 'getDirtyRows',\n ADD_ROW = 'addRow',\n DELETE_SELECTED_ROWS = 'deleteSelectedRowsSoftly',\n GET_PAGE_INFO = 'getPageInfo',\n GET_LIST_PARAM = 'getListParam'\n}\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n // 대상 Grist\n type: 'id-input',\n label: 'target-grist',\n name: 'target',\n property: {\n component: 'grist'\n }\n },\n {\n // 동작\n type: 'select',\n label: 'action',\n name: 'action',\n property: {\n options: [\n {\n // 페이지네이션 정보 가져오기\n display: 'Get page information',\n value: ACTIONS.GET_PAGE_INFO\n },\n {\n // 페이지네이션 정보 가져오기\n display: 'Get ListParam',\n value: ACTIONS.GET_LIST_PARAM\n },\n {\n // 모든 레코드 데이터 가져오기\n display: 'Get all rows',\n value: ACTIONS.GET_ALL_ROWS\n },\n {\n // 체크된 레코드 데이터 가져오기\n display: 'Get selected rows',\n value: ACTIONS.GET_SELECTED\n },\n {\n // 변경 사항이 있는 데이터 가져오기\n display: 'Get dirty rows',\n value: ACTIONS.GET_DIRTY\n },\n {\n // 행 추가\n display: 'Add a row',\n value: ACTIONS.ADD_ROW\n },\n {\n // 선택 행 삭제\n display: 'Delete selected rows',\n value: ACTIONS.DELETE_SELECTED_ROWS\n },\n {\n // 변경 사항을 데이터에 적용\n display: 'Commit',\n value: ACTIONS.COMMIT\n }\n ]\n }\n },\n {\n // 뷰어 시작 시 자동 실행 여부\n type: 'checkbox',\n label: 'run-at-startup',\n name: 'runAtStartup'\n },\n {\n // 행 추가 시의 포맷\n type: 'textarea',\n label: 'record-adder-format',\n name: 'recordFormat'\n }\n ],\n help: 'scene/component/grist-action'\n}\n\n@sceneComponent('grist-action')\nexport default class GristAction extends ValueHolder(RectPath(Component)) {\n private _data: any\n\n get nature() {\n return NATURE\n }\n\n async ready() {\n await super.ready()\n\n // 뷰어 시작시에도 action 값이 getPageInfo로 되어 있을 경우 fetchHandler를 등록하기 위해 onchange를 호출함\n this.onchange({ action: this.state.action })\n if (this.state.runAtStartup) {\n setTimeout(() => this.doAction(), 100)\n }\n }\n\n dispose() {\n super.dispose()\n }\n\n onclick() {\n // 컴포넌트 클릭 시 동작\n this.doAction()\n }\n\n onchange(after: Properties) {\n // value 값이 바뀌면 동작\n if ('value' in after) {\n this.doAction()\n }\n\n // action 값이 바뀌면 getPageInfo인지 확인하고 grist에 fetchHandler를 등록하거나 폐기함\n if ('action' in after) {\n const gristComponent = this.targetGristComponent\n const { refid } = this.state\n\n if (gristComponent) {\n if (after.action == ACTIONS.GET_PAGE_INFO) {\n gristComponent.beforeFetchFuncs[refid] = (fetchedData: {\n page: number\n limit: number\n total: number\n records: GristRecord[]\n }) => {\n this.data = this.getPageInfoFrom(null, fetchedData)\n this.doDataMap()\n }\n } else if (after.action == ACTIONS.GET_LIST_PARAM) {\n gristComponent.beforeFetchFuncs[refid] = (fetchedData: {\n page: number\n limit: number\n total: number\n records: GristRecord[]\n }) => {\n this.data = this.getListParamFrom(null, fetchedData)\n this.doDataMap()\n }\n } else {\n delete gristComponent.beforeFetchFuncs[refid]\n }\n }\n }\n }\n\n // 데이터 매핑을 수동으로 실행하기 위해 기존의 메소드를 무효화\n executeMappings() {\n console.debug(\n \"[@operato/data-grist] The method 'executeMappings' is overriden in the component 'grist-action', because of to prevent executing when initialize.\"\n )\n }\n\n // 데이터 매핑을 수동으로 조작하기 위한 새 메소드\n doDataMap() {\n super.executeMappings()\n }\n\n // action 값에 따라 동작\n doAction(action?: ACTIONS) {\n if (!this.app.isViewMode) {\n return\n }\n\n // 파라미터가 명시되어있지 않으면 컴포넌트 속성에서 action 값을 가져옴\n var { action: storedAction } = this.state\n action = action || storedAction\n\n // 대상 Grist 컴포넌트\n var grist = this.targetGristElement\n if (!grist) return\n\n var data\n switch (action) {\n case ACTIONS.GET_ALL_ROWS:\n data = grist.grist.data\n break\n case ACTIONS.COMMIT:\n grist.commit()\n break\n case ACTIONS.GET_SELECTED:\n data = {\n patches: this.buildPatches(grist.selected),\n original: grist.selected\n }\n break\n case ACTIONS.GET_DIRTY:\n data = this.assortDirties(grist)\n break\n case ACTIONS.ADD_ROW:\n {\n var records = grist.dirtyData.records || []\n let recordFormat\n try {\n recordFormat = new Function(`return (${this.state.recordFormat})`)()\n } catch (e) {\n console.log('Invalid JSON format. It will be assumed as empty object.\\n', e)\n recordFormat = {}\n }\n records.push({ ...recordFormat, __dirty__: '+' })\n this.refreshGrist(grist)\n }\n break\n case ACTIONS.DELETE_SELECTED_ROWS:\n {\n var records = grist.dirtyData.records || []\n\n records.forEach((record, idx) => {\n if (record['__selected__']) {\n if (record['__dirty__'] == '+') delete records[idx]\n else record['__dirty__'] = '-'\n }\n })\n grist.dirtyData.records = records.flat()\n this.refreshGrist(grist)\n }\n break\n case ACTIONS.GET_PAGE_INFO:\n data = this.getPageInfoFrom(grist)\n break\n case ACTIONS.GET_LIST_PARAM:\n data = this.getListParamFrom(grist)\n break\n }\n\n // 이 컴포넌트의 data 값이 바뀌는 동작은 데이터 매핑까지 실행함\n if (data) {\n this.data = data\n this.doDataMap()\n }\n }\n\n // 대상 grist 컴포넌트의 레코드를 새로고침\n refreshGrist(grist: DataGrist) {\n grist = grist || this.targetGristElement\n if (!grist) return\n\n grist.refresh()\n // grist.dataProvider.onRecordChange()\n grist.grist.data = { ...grist.dirtyData }\n }\n\n // 변경 사항이 있는 레코드의 경우, CUD를 분류해서 반환함\n assortDirties(grist: DataGrist) {\n const dirties = grist.dirtyRecords\n var patches = this.buildPatches(dirties)\n var records = {\n original: dirties,\n patches,\n created: [] as GristRecord[],\n updated: [] as GristRecord[],\n deleted: [] as GristRecord[]\n }\n\n patches.forEach((record: GristRecord) => {\n switch (record['cuFlag']) {\n case 'M':\n records.updated.push(record)\n break\n case '+':\n records.created.push(record)\n break\n case '-':\n records.deleted.push(record)\n break\n }\n })\n return records\n }\n\n // 페이지네이션 정보를 가져옴\n getPageInfoFrom(grist: DataGrist | null, fetchedData?: GristData) {\n var source: any = fetchedData || (grist && (grist as any).dataProvider) || pagination(grist!)\n var { page = 1, limit = 20, sorters = [] } = source\n\n sorters = sorters.map((sorter: SorterConfig) => {\n sorter.desc = sorter.desc ? true : false\n return sorter\n })\n return { page, limit, sorters }\n\n function pagination(grist: DataGrist) {\n var config = grist && grist.config && grist.config.pagination\n if (config)\n return {\n page: config.page,\n limit: config.limit || (config.pages && config.pages[0])\n }\n else return {}\n }\n }\n\n // Grist로부터 ListParam 정보를 가져옴\n getListParamFrom(grist: DataGrist | null, fetchedData?: GristData) {\n var source: any = fetchedData || (grist && (grist as any).dataProvider) || pagination(grist!)\n var {\n page = 1,\n limit = 20,\n sorters,\n sortings,\n filters = [],\n inherited,\n options\n } = source\n\n return {\n pagination: { page, limit },\n sortings: sorters || sortings,\n filters,\n inherited,\n options\n }\n\n function pagination(grist: DataGrist) {\n var config = grist && grist.config && grist.config.pagination\n if (config)\n return {\n page: config.page,\n limit: config.limit || (config.pages && config.pages[0])\n }\n else return {}\n }\n }\n\n // 레코드들을 서버 공통 resolver에 맞는 포맷으로 만듦\n buildPatches(patches: GristRecord[]): GristRecord[] {\n return patches.map(patch => {\n let patchField: { [key: string]: any } = patch.id ? { id: patch.id } : {}\n const dirtyFields = patch.__dirtyfields__\n\n for (let key in dirtyFields) {\n patchField[key] = dirtyFields[key].after\n }\n patchField.cuFlag = patch.__dirty__\n\n return patchField\n })\n }\n\n render(context: CanvasRenderingContext2D) {\n var { top, left, height, width, fillStyle = 'transparent' } = this.state\n\n // background의 색상\n context.beginPath()\n context.rect(left, top, width, height)\n\n context.fillStyle = fillStyle\n context.fill()\n\n // value의 색상\n context.beginPath()\n\n var drawValue = width - (width * Math.max(Math.min((this as any).animValue, 100), 0)) / 100\n drawValue = Math.max(Math.min(drawValue, width), 0)\n\n context.rect(left + drawValue, top, width - drawValue, height)\n\n this.drawFill(context)\n\n context.closePath()\n\n context.beginPath()\n\n context.rect(left, top, width, height)\n }\n\n postrender(context: CanvasRenderingContext2D) {\n this.drawStroke(context)\n this.drawText(context)\n }\n\n get controls() {\n return []\n }\n\n get targetGristComponent(): SceneGrist | undefined {\n var { target } = this.state\n return target ? (this.root.findById?.(target) as SceneGrist | undefined) : undefined\n }\n\n get targetGristElement(): DataGrist | undefined {\n return this.targetGristComponent?.grist\n }\n\n get data() {\n return this._data\n }\n\n set data(data) {\n this._data = data\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@operato/scene-grist",
|
|
3
3
|
"description": "Grist UI component for things-scene",
|
|
4
4
|
"author": "heartyoh",
|
|
5
|
-
"version": "10.0.0-beta.
|
|
5
|
+
"version": "10.0.0-beta.30",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/index.js",
|
|
8
8
|
"module": "dist/index.js",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"prettier --write"
|
|
62
62
|
]
|
|
63
63
|
},
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "06b35b1726ec4f27ee76657ce341c6c6f3ba1b3a"
|
|
65
65
|
}
|