@operato/scene-table 1.0.2 → 1.0.5

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/CHANGELOG.md CHANGED
@@ -3,6 +3,15 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ### [1.0.5](https://github.com/things-scene/operato-scene/compare/v1.0.4...v1.0.5) (2022-08-12)
7
+
8
+
9
+ ### :bug: Bug Fix
10
+
11
+ * scene-table data-cell component value property ([01f3b82](https://github.com/things-scene/operato-scene/commit/01f3b825110bb28404c797e3d9d605744a7410f8))
12
+
13
+
14
+
6
15
  ### [1.0.2](https://github.com/things-scene/operato-scene/compare/v1.0.1...v1.0.2) (2022-08-04)
7
16
 
8
17
 
@@ -2,7 +2,9 @@ import { Component, ComponentNature, Style } from '@hatiolab/things-scene';
2
2
  declare const DataCell_base: typeof Component;
3
3
  export default class DataCell extends DataCell_base {
4
4
  get nature(): ComponentNature;
5
- _drawBorder(context: CanvasRenderingContext2D, x: number, y: number, to_x: number, to_y: number, style: Style): void;
6
- _draw(context: CanvasRenderingContext2D): void;
5
+ get value(): any;
6
+ set value(value: any);
7
+ renderBorder(context: CanvasRenderingContext2D, x: number, y: number, to_x: number, to_y: number, style: Style): void;
8
+ render(context: CanvasRenderingContext2D): void;
7
9
  }
8
10
  export {};
@@ -17,13 +17,23 @@ const NATURE = {
17
17
  }
18
18
  }
19
19
  ],
20
+ 'value-property': 'value',
20
21
  help: 'scene/component/data-cell'
21
22
  };
22
23
  export default class DataCell extends RectPath(Component) {
23
24
  get nature() {
24
25
  return NATURE;
25
26
  }
26
- _drawBorder(context, x, y, to_x, to_y, style) {
27
+ get value() {
28
+ return this.state.value;
29
+ }
30
+ set value(value) {
31
+ this.setState({
32
+ value,
33
+ data: value
34
+ });
35
+ }
36
+ renderBorder(context, x, y, to_x, to_y, style) {
27
37
  if (style && style.strokeStyle && style.lineWidth && style.lineDash) {
28
38
  context.beginPath();
29
39
  context.moveTo(x, y);
@@ -31,7 +41,7 @@ export default class DataCell extends RectPath(Component) {
31
41
  Component.drawStroke(context, style);
32
42
  }
33
43
  }
34
- _draw(context) {
44
+ render(context) {
35
45
  var { left, top, width, height } = this.bounds;
36
46
  var border = this.model.border || {};
37
47
  // Cell 채우기.
@@ -43,13 +53,13 @@ export default class DataCell extends RectPath(Component) {
43
53
  var parent = this.parent;
44
54
  var idx = parent.components.indexOf(this);
45
55
  var columns = parent.columns || 1;
46
- this._drawBorder(context, left, top, left + width, top, border.top);
47
- this._drawBorder(context, left, top + height, left, top, border.left);
56
+ this.renderBorder(context, left, top, left + width, top, border.top);
57
+ this.renderBorder(context, left, top + height, left, top, border.left);
48
58
  if ((idx + 1) % columns == 0) {
49
59
  /* if this filed is right most, draw right side border. */
50
- this._drawBorder(context, left + width, top, left + width, top + height, border.right);
60
+ this.renderBorder(context, left + width, top, left + width, top + height, border.right);
51
61
  }
52
- this._drawBorder(context, left + width, top + height, left, top + height, border.bottom);
62
+ this.renderBorder(context, left + width, top + height, left, top + height, border.bottom);
53
63
  }
54
64
  }
55
65
  Component.register('data-cell', DataCell);
@@ -1 +1 @@
1
- {"version":3,"file":"data-cell.js","sourceRoot":"","sources":["../../src/data-list/data-cell.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAmB,QAAQ,EAAS,MAAM,wBAAwB,CAAA;AAIpF,MAAM,MAAM,GAAoB;IAC9B,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE;QACV;YACE,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE;gBACR,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;aACb;SACF;KACF;IACD,IAAI,EAAE,2BAA2B;CAClC,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,QAAQ,CAAC,SAAS,CAAC;IACvD,IAAI,MAAM;QACR,OAAO,MAAM,CAAA;IACf,CAAC;IAED,WAAW,CAAC,OAAiC,EAAE,CAAS,EAAE,CAAS,EAAE,IAAY,EAAE,IAAY,EAAE,KAAY;QAC3G,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE;YACnE,OAAO,CAAC,SAAS,EAAE,CAAA;YACnB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YACpB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAC1B,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;SACrC;IACH,CAAC;IAED,KAAK,CAAC,OAAiC;QACrC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAE9C,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;QAEpC,YAAY;QACZ,OAAO,CAAC,SAAS,EAAE,CAAA;QACnB,OAAO,CAAC,SAAS,GAAG,CAAC,CAAA;QACrB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAEtB,aAAa;QACb,IAAI,MAAM,GAAG,IAAI,CAAC,MAAe,CAAA;QACjC,IAAI,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAA;QAEjC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;QACnE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACrE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,EAAE;YAC5B,0DAA0D;YAC1D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,GAAG,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;SACvF;QACD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1F,CAAC;CACF;AAED,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\nimport { Component, ComponentNature, RectPath, Style } from '@hatiolab/things-scene'\n\nimport { Table } from '../'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'editor-table',\n label: '',\n name: '',\n property: {\n merge: false,\n split: false\n }\n }\n ],\n help: 'scene/component/data-cell'\n}\n\nexport default class DataCell extends RectPath(Component) {\n get nature() {\n return NATURE\n }\n\n _drawBorder(context: CanvasRenderingContext2D, x: number, y: number, to_x: number, to_y: number, style: Style) {\n if (style && style.strokeStyle && style.lineWidth && style.lineDash) {\n context.beginPath()\n context.moveTo(x, y)\n context.lineTo(to_x, to_y)\n Component.drawStroke(context, style)\n }\n }\n\n _draw(context: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.bounds\n\n var border = this.model.border || {}\n\n // Cell 채우기.\n context.beginPath()\n context.lineWidth = 0\n context.rect(left, top, width, height)\n this.drawFill(context)\n\n // Border 그리기\n var parent = this.parent as Table\n var idx = parent.components.indexOf(this)\n var columns = parent.columns || 1\n\n this._drawBorder(context, left, top, left + width, top, border.top)\n this._drawBorder(context, left, top + height, left, top, border.left)\n if ((idx + 1) % columns == 0) {\n /* if this filed is right most, draw right side border. */\n this._drawBorder(context, left + width, top, left + width, top + height, border.right)\n }\n this._drawBorder(context, left + width, top + height, left, top + height, border.bottom)\n }\n}\n\nComponent.register('data-cell', DataCell)\n"]}
1
+ {"version":3,"file":"data-cell.js","sourceRoot":"","sources":["../../src/data-list/data-cell.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\nimport { Component, ComponentNature, RectPath, Style } from '@hatiolab/things-scene'\n\nimport { Table } from '../'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'editor-table',\n label: '',\n name: '',\n property: {\n merge: false,\n split: false\n }\n }\n ],\n 'value-property': 'value',\n help: 'scene/component/data-cell'\n}\n\nexport default class DataCell extends RectPath(Component) {\n get nature() {\n return NATURE\n }\n\n get value() {\n return this.state.value\n }\n\n set value(value) {\n this.setState({\n value,\n data: value\n })\n }\n\n renderBorder(context: CanvasRenderingContext2D, x: number, y: number, to_x: number, to_y: number, style: Style) {\n if (style && style.strokeStyle && style.lineWidth && style.lineDash) {\n context.beginPath()\n context.moveTo(x, y)\n context.lineTo(to_x, to_y)\n Component.drawStroke(context, style)\n }\n }\n\n render(context: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.bounds\n\n var border = this.model.border || {}\n\n // Cell 채우기.\n context.beginPath()\n context.lineWidth = 0\n context.rect(left, top, width, height)\n this.drawFill(context)\n\n // Border 그리기\n var parent = this.parent as Table\n var idx = parent.components.indexOf(this)\n var columns = parent.columns || 1\n\n this.renderBorder(context, left, top, left + width, top, border.top)\n this.renderBorder(context, left, top + height, left, top, border.left)\n if ((idx + 1) % columns == 0) {\n /* if this filed is right most, draw right side border. */\n this.renderBorder(context, left + width, top, left + width, top + height, border.right)\n }\n this.renderBorder(context, left + width, top + height, left, top + height, border.bottom)\n }\n}\n\nComponent.register('data-cell', DataCell)\n"]}
@@ -263,7 +263,8 @@ export default class DataList extends Container {
263
263
  };
264
264
  let row = this.getCellsByRow(idx);
265
265
  row.forEach(field => {
266
- field.data = data;
266
+ // @ts-ignore TODO - remove this comment later
267
+ field.value = data;
267
268
  });
268
269
  });
269
270
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data-list.js","sourceRoot":"","sources":["../../src/data-list/data-list.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,aAAa,CAAA;AACpB,OAAO,oBAAoB,CAAA;AAE3B,OAAO,EAAE,SAAS,EAAmB,SAAS,EAAW,MAAM,EAAE,KAAK,EAAgB,MAAM,wBAAwB,CAAA;AAEpH,OAAO,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,MAAM,EACN,KAAK,EACL,eAAe,EACf,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,aAAa,EAEd,MAAM,qBAAqB,CAAA;AAE5B,MAAM,MAAM,GAAoB;IAC9B,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE;QACV;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,SAAS;SACpB;KACF;IACD,gBAAgB,EAAE,MAAM;IACxB,IAAI,EAAE,2BAA2B;CAClC,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,SAAS;IAC7C,UAAU,CAAC,OAAiC;QAC1C,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAEzB,6CAA6C;QAC7C,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE;YACvB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;SAC9B;IACH,CAAC;IAED,eAAe,CAAC,OAAiC;QAC/C,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAC9C,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAElD,IAAI,UAAU,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,CAAA;QAE7F,IAAI,UAAU,IAAI,MAAM,EAAE;YACxB,OAAM;SACP;QAED,IAAI,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,MAAM,CAAA;QAC7C,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,MAAM,CAAA;QAEtD,OAAO,CAAC,WAAW,GAAG,MAAM,CAAA;QAC5B,OAAO,CAAC,SAAS,GAAG,EAAE,CAAA;QACtB,OAAO,CAAC,WAAW,GAAG,GAAG,CAAA;QAEzB,OAAO,CAAC,SAAS,EAAE,CAAA;QACnB,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,GAAG,EAAE,EAAE,GAAG,GAAG,KAAK,CAAC,CAAA;QAC9C,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,CAAC,CAAA;QAE5C,OAAO,CAAC,MAAM,EAAE,CAAA;IAClB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAEnB,IAAI,IAAI,GAAG,CAAC,CAAA;QAEZ,IAAI,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAA;QAClC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAA;QAEhC,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,YAAY,EAAE,CAAA;SACpB;QAED,IAAI,GAAG,IAAI,CAAC,EAAE;YACZ,OAAM;SACP;aAAM,IAAI,GAAG,GAAG,CAAC,EAAE;YAClB,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;SACtB;aAAM;YACL,IAAI,OAAO,GAAG,EAAE,CAAA;YAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YAEhF,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;SAClB;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAEjC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5E,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI;YAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC1E,CAAC;IAED,QAAQ,CAAC,CAAa;QACpB,CAAC,CAAC,eAAe,EAAE,CAAA;QAEnB,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAC5B,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAE5C,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,MAAc,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAA;QAElH,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAErG,yCAAyC;QACzC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC;YAAE,OAAM;QAE1C,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAA;QAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAA;QAE5B,oCAAoC;QACpC,oCAAoC;QAEpC,IAAI,CAAC,QAAQ,CAAC;YACZ,MAAM,EAAE;gBACN,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC;gBACjC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC;aAClC;SACF,CAAC,CAAA;IACJ,CAAC;IAKD,aAAa,CAAC,CAAY;QACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI;YACzC,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,CAAA;IAC5B,CAAC;IAED,YAAY,CAAC,CAAY;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,OAAM;SACP;QAED,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAE5B,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,MAAc,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAA;QAClH,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAErG,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,SAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QAC5F,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAElC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAChD,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACtB,CAAC;gBACD,CAAC;aACF,CAAC,CAAA;YAEF,CAAC,CAAC,eAAe,EAAE,CAAA;SACpB;IACH,CAAC;IAED,WAAW,CAAC,CAAY;QACtB,OAAO,IAAI,CAAC,cAAc,CAAA;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAChC,CAAC;IAED,WAAW,CAAC,SAAoB;QAC9B,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,WAAW,CAAA;IAC7C,CAAC;IAED,IAAI,SAAS;QACX,yCAAyC;QACzC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACxB,OAAO,MAAM;YACX,CAAC,CAAC,MAAM;iBACH,MAAM,CAAC,CAAC,KAAa,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;iBACtD,MAAM,CAAC,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAA;IAClB,CAAC;IAED,IAAI,WAAW;QACb,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC1B,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IACpH,CAAC;IAED,IAAI,MAAM;QACR,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAE/B,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAE1C,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;aACzF,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAE3E,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,OAAO;QACT,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACjC,IAAI,IAAI,GAAG,CAAC,CAAA;QAEZ,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;SACtB;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;aAC5E,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI;YAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAE7D,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;IACpC,CAAC;IAED,IAAI,IAAI;QACN,yDAAyD;QACzD,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,MAAM;QACR,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC1B,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAA;QAE5B,IAAI,UAAU,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAA;QAC/C,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAA;QAElD,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAA;QACnB,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAA;QAElB,IAAI,QAAQ,GAAc,EAAE,CAAA;QAE5B,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAChD,CAAC,IAAI,KAAK,GAAG,UAAU,CAAA;YACvB,QAAQ,CAAC,IAAI,CAAC;gBACZ,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,MAAM,CAAC,GAAG;gBACb,OAAO,EAAE,oBAAoB;aAC9B,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC/C,CAAC,IAAI,MAAM,GAAG,WAAW,CAAA;YACzB,QAAQ,CAAC,IAAI,CAAC;gBACZ,CAAC,EAAE,MAAM,CAAC,IAAI;gBACd,CAAC,EAAE,CAAC;gBACJ,OAAO,EAAE,iBAAiB;aAC3B,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,QAAQ,CAAC,KAAY,EAAE,MAAa;QAClC,IAAI,MAAM,IAAI,KAAK,EAAE;YACnB,IAAI,CAAC,YAAY,EAAE,CAAA;SACpB;QAED,IAAI,SAAS,IAAI,KAAK,EAAE;YACtB,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;YAEtB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;SACjD;IACH,CAAC;IAED,IAAI,QAAQ;QACV,OAAO;YACL,QAAQ,EAAE;gBACR,OAAO,EAAE;oBACP,KAAK,EAAE,IAAI,CAAC,QAAQ;oBACpB,UAAU,EAAE,IAAI,CAAC,aAAa;oBAC9B,SAAS,EAAE,IAAI,CAAC,YAAY;oBAC5B,QAAQ,EAAE,IAAI,CAAC,WAAW;iBAC3B;aACF;SACF,CAAA;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE;YACxB,OAAM;SACP;QAED,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;QAC1B,IAAI,CAAC,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE;YAC5B,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;SACd;QAED,oCAAoC;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,wDAAwD,CAAC,CAAA;QAE/G,+BAA+B;QAC/B,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QACrC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,KAAK,CAAC,IAAI,GAAG,EAAE,CAAA;QACjB,CAAC,CAAC,CAAA;QAEF,4BAA4B;QAC5B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,IAAI,OAAO,GAAgB,EAAE,CAAA;YAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,OAAO,GAAG,OAAO,CAAC,MAAM,CACtB,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBACpB,OAAO,KAAK,CAAC,OAAO,CAClB;wBACE,GAAG,KAAK,CAAC,KAAK;wBACd,EAAE,EAAE,EAAE;wBACN,IAAI,EAAE,EAAE;wBACR,KAAK,EAAE,IAAI;qBACZ,EACD,IAAI,CAAC,GAAG,CACT,CAAA;gBACH,CAAC,CAAC,CACH,CAAA;aACF;YAED,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,wDAAwD,CAAC,CAAA;SACjF;QAED,IAAI,CAAC,OAAO,CAAC,CAAC,MAAa,EAAE,GAAW,EAAE,EAAE;YAC1C,IAAI,IAAI,GAAG;gBACT,IAAI,EAAE,GAAG;gBACT,GAAG,MAAM;aACV,CAAA;YACD,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;YACjC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAClB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;YACnB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,aAAa,CAAC,KAAkB,EAAE,KAAY,EAAE,KAAY;QAC1D,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QAChC,IAAI,KAAK,GAAG,UAAU,CAAC,MAAM,CAAA;QAC7B,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAEjC,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QACzD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAClB,IAAI,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;YAExB,QAAQ,KAAK,EAAE;gBACb,KAAK,KAAK;oBACR,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;oBAEjC,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;wBAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;oBACzG,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;wBAAE,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;oBACxG,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;wBAAE,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;oBACxG,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;wBAAE,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;oBACxG,MAAK;gBACP,KAAK,IAAI;oBACP,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;wBAC3C,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;qBACnC;oBACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;wBAC5C,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;qBACpC;oBACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;wBAC1C,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;qBAClC;oBACD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;wBAC7C,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;qBACrC;oBACD,MAAK;gBACP,KAAK,KAAK;oBACR,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;wBAC1C,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;wBAClC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;qBAC9D;oBACD,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;wBAC3C,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;wBACnC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;qBAC5D;oBACD,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;wBACzC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;wBACjC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;qBAC9D;oBACD,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;wBAC5C,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;wBACpC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;qBAC3D;oBACD,MAAK;gBACP,KAAK,MAAM;oBACT,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;wBAC1C,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;wBAClC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;qBAC9D;oBACD,MAAK;gBACP,KAAK,OAAO;oBACV,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;wBAC3C,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;wBACnC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;qBAC5D;oBACD,MAAK;gBACP,KAAK,QAAQ;oBACX,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;wBAC3C,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;qBACnC;oBACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;wBAC5C,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;qBACpC;oBACD,MAAK;gBACP,KAAK,QAAQ;oBACX,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;wBAC1C,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;qBAClC;oBACD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;wBAC7C,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;qBACrC;oBACD,MAAK;gBACP,KAAK,KAAK;oBACR,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;wBACzC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;wBACjC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;qBAC9D;oBACD,MAAK;gBACP,KAAK,QAAQ;oBACX,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;wBAC5C,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;wBACpC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;qBAC3D;oBACD,MAAK;gBACP,KAAK,OAAO;oBACV,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;oBAEvC,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;wBACxC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;oBACrE,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;wBAAE,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;oBAC9G,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;wBAAE,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;oBAC9G,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;wBAAE,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;aACjH;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,UAAU,CAAC,UAAkB,EAAE,UAAkB;QAC/C,IAAI,OAAO,GAAG,CAAC,CAAA;QAEf,IAAI,UAAU,GAAG,UAAU,EAAE;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;gBAChC,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;oBAC5C,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAA;iBAChF;aACF;SACF;aAAM,IAAI,UAAU,GAAG,UAAU,EAAE;YAClC,IAAI,QAAQ,GAAG,EAAE,CAAA;YAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;gBAChC,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;oBAC5C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAA;iBACnD;aACF;YAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;SACtB;QAED,IAAI,CAAC,GAAG,CAAC;YACP,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAA;QAEF,IAAI,CAAC,YAAY,EAAE,CAAA;IACrB,CAAC;IAED,YAAY,CAAC,IAAe;QAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAEvC,OAAO;YACL,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,OAAO;YAC1B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;SACpC,CAAA;IACH,CAAC;IAED,aAAa,CAAC,GAAW;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5E,CAAC;IAED,gBAAgB,CAAC,MAAc;QAC7B,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;QAE1F,OAAO,KAAK,CAAA;IACd,CAAC;IAED,UAAU,CAAC,KAAkB,IAAG,CAAC;IAEjC,UAAU,CAAC,KAAkB,IAAG,CAAC;IAEjC,UAAU,CAAC,KAAkB,IAAG,CAAC;IAEjC,aAAa,CAAC,KAAkB;QAC9B,+BAA+B;QAC/B,4CAA4C;QAE5C,uBAAuB;QACvB,IAAI,OAAO,GAAa,EAAE,CAAA;QAC1B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;YAC3C,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,CAAA;QACd,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,OAAO,EAAE,CAAA;QAEjB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAA;YAE1C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACxB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAA,CAAC,gDAAgD;YACxE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,gBAAgB,CAAC,KAAkB,IAAG,CAAC;IAEvC,gBAAgB,CAAC,KAAkB,IAAG,CAAC;IAEvC,eAAe,CAAC,KAAkB;QAChC,uBAAuB;QACvB,IAAI,OAAO,GAAa,EAAE,CAAA;QAC1B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;YAC3C,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,CAAA;QACd,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,OAAO,EAAE,CAAA;QAEjB,2BAA2B;QAC3B,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,KAAK,CAAA;QACrC,IAAI,uBAAuB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACxC,IAAI,kBAAkB,GAAa,EAAE,CAAA;QACrC,IAAI,WAAW,GAAgB,EAAE,CAAA;QACjC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE;gBAChC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YAC/F,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;YAE5C,IAAI,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAA;YACnC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAA;YACrB,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACnC,IAAI,KAAK,IAAI,CAAC,EAAE;oBACd,KAAK,GAAG,IAAI,CAAC,IAAI,CAAA;oBACjB,gBAAgB,EAAE,CAAA;iBACnB;gBAED,KAAK,EAAE,CAAA;gBACP,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,uBAAuB,GAAG,KAAK,GAAG,gBAAgB,CAAC,CAAA;YAClF,CAAC,CAAC,CAAA;YAEF,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YAChC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAA,CAAC,gDAAgD;YAErF,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,EAAE,GAAG,kBAAkB,CAAC,CAAA;YAEhE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,gBAAgB,CAAC,KAAkB;QACjC,uBAAuB;QACvB,IAAI,OAAO,GAAa,EAAE,CAAA;QAC1B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;YAC3C,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,CAAA;QACd,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,OAAO,EAAE,CAAA;QACjB,2BAA2B;QAC3B,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,KAAK,CAAA;QACrC,IAAI,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QAC7D,IAAI,kBAAkB,GAAa,EAAE,CAAA;QACrC,IAAI,WAAW,GAAgB,EAAE,CAAA;QACjC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE;gBAChC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YAC/F,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;YAE5C,IAAI,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAA;YACnC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAA;YACrB,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACnC,IAAI,KAAK,IAAI,CAAC,EAAE;oBACd,KAAK,GAAG,IAAI,CAAC,IAAI,CAAA;oBACjB,gBAAgB,EAAE,CAAA;iBACnB;gBAED,KAAK,EAAE,CAAA;gBACP,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,uBAAuB,GAAG,KAAK,GAAG,gBAAgB,CAAC,CAAA;YAClF,CAAC,CAAC,CAAA;YAEF,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YAChC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAA,CAAC,gDAAgD;YAErF,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,EAAE,GAAG,kBAAkB,CAAC,CAAA;YAEhE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,oBAAoB,CAAC,KAAkB;QACrC,IAAI,OAAO,GAAa,EAAE,CAAA;QAE1B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;YAEvC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAC7E,CAAC,CAAC,CAAA;QAEF,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvC,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAClC,CAAC,EAAE,CAAC,CAAC,CAAA;QAEL,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;QAC3D,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QAChC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC5B,CAAC;IAED,kBAAkB,CAAC,KAAkB,IAAG,CAAC;CAC1C;AAED,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport './data-cell'\nimport './data-list-layout'\n\nimport { Component, ComponentNature, Container, Control, Layout, Model, State, Style } from '@hatiolab/things-scene'\n\nimport {\n above,\n after,\n array,\n before,\n below,\n buildCopiedCell,\n buildNewCell,\n CLEAR_STYLE,\n columnControlHandler,\n isBottomMost,\n isLeftMost,\n isRightMost,\n isTopMost,\n rowControlHandler,\n setCellBorder,\n WHERE\n} from '../helper-functions'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'number',\n label: 'columns',\n name: 'columns',\n property: 'columns'\n }\n ],\n 'value-property': 'data',\n help: 'scene/component/data-list'\n}\n\nexport default class DataList extends Container {\n postrender(context: CanvasRenderingContext2D) {\n super.postrender(context)\n\n // child component들을 다 그린 후에 scrollbar를 표현한다.\n if (this.app.isViewMode) {\n this.renderScrollbar(context)\n }\n }\n\n renderScrollbar(context: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.bounds\n var { offset = { x: 0, y: 0 }, data } = this.state\n\n var fullHeight = ((data && data.length) || 0) * (this.heights[0] / this.heights_sum) * height\n\n if (fullHeight <= height) {\n return\n }\n\n var start = (-offset.y / fullHeight) * height\n var end = ((-offset.y + height) / fullHeight) * height\n\n context.strokeStyle = 'gray'\n context.lineWidth = 10\n context.globalAlpha = 0.3\n\n context.beginPath()\n context.moveTo(left + width - 10, top + start)\n context.lineTo(left + width - 10, top + end)\n\n context.stroke()\n }\n\n created() {\n this.set('rows', 2)\n\n var rows = 1\n\n var tobeSize = rows * this.columns\n var gap = this.size() - tobeSize\n\n if (this.data) {\n this.setCellsData()\n }\n\n if (gap == 0) {\n return\n } else if (gap > 0) {\n let removals = this.components.slice(gap)\n this.remove(removals)\n } else {\n let newbies = []\n\n for (let i = 0; i < -gap; i++) newbies.push(buildNewCell('data-cell', this.app))\n\n this.add(newbies)\n }\n\n var widths = this.get('widths')\n var heights = this.get('heights')\n\n if (!widths || widths.length < this.columns) this.set('widths', this.widths)\n if (!heights || heights.length < rows) this.set('heights', this.heights)\n }\n\n _onwheel(e: WheelEvent) {\n e.stopPropagation()\n\n var { height } = this.bounds\n var { offset = { x: 0, y: 0 } } = this.state\n\n var recordHeight = (this.heights[0] / this.heights.reduce((sum: number, height: number) => sum + height)) * height\n\n var minX = 0\n var minY = this.data && this.data.length ? Math.min(-recordHeight * this.data.length + height, 0) : 0\n\n /* shiftKey + wheel 은 deltaX 값을 변화시킨다. */\n if (e.deltaY == 0 && e.deltaX == 0) return\n\n var x = e.deltaX + offset.x\n var y = -e.deltaY + offset.y\n\n /* 휠을 밀면.. 화면은 위쪽으로 : scroll down */\n /* 휠을 당기면.. 화면은 아래쪽으로 : scroll up */\n\n this.setState({\n offset: {\n x: Math.max(Math.min(0, x), minX),\n y: Math.max(Math.min(0, y), minY)\n }\n })\n }\n\n private __START_OFFSET?: { x: number; y: number }\n private __START_Y?: number\n\n _ontouchstart(e: DragEvent) {\n this.__START_OFFSET = this.state.offset || {\n x: 0,\n y: 0\n }\n this.__START_Y = e.offsetY\n }\n\n _ontouchmove(e: DragEvent) {\n if (!this.__START_OFFSET) {\n return\n }\n\n var { height } = this.bounds\n\n var recordHeight = (this.heights[0] / this.heights.reduce((sum: number, height: number) => sum + height)) * height\n var minY = this.data && this.data.length ? Math.min(-recordHeight * this.data.length + height, 0) : 0\n\n var x = 0\n var y = this.__START_OFFSET.y + (e.offsetY - this.__START_Y!) / this.rootModel.state.scale.y\n y = Math.max(Math.min(0, y), minY)\n\n var offset = this.state.offset || { x: 0, y: 0 }\n if (offset.x !== x || offset.y !== y) {\n this.setState('offset', {\n x,\n y\n })\n\n e.stopPropagation()\n }\n }\n\n _ontouchend(e: DragEvent) {\n delete this.__START_OFFSET\n delete this.__START_Y\n }\n\n get layout() {\n return Layout.get('data-list')\n }\n\n containable(component: Component) {\n return component.get('type') == 'data-cell'\n }\n\n get focusible() {\n /* 이 컨테이너에는 컴포넌트를 임의로 추가 및 삭제할 수 없도록 함 */\n return false\n }\n\n get widths_sum(): number {\n var widths = this.widths\n return widths\n ? widths\n .filter((width: number, i: number) => i < this.columns)\n .reduce((sum: number, width: number) => sum + width, 0)\n : this.columns\n }\n\n get heights_sum(): number {\n var heights = this.heights\n return heights ? heights.filter((height, i) => i < this.rows).reduce((sum, height) => sum + height, 0) : this.rows\n }\n\n get widths(): number[] {\n var widths = this.get('widths')\n\n if (!widths) return array(1, this.columns)\n\n if (widths.length < this.columns) return widths.concat(array(1, this.columns - widths.length))\n else if (widths.length > this.columns) return widths.slice(0, this.columns)\n\n return widths\n }\n\n get heights(): number[] {\n var heights = this.get('heights')\n var rows = 2\n\n if (!heights) {\n return array(1, rows)\n }\n\n if (heights.length < rows) return heights.concat(array(1, rows - heights.length))\n else if (heights.length > rows) return heights.slice(0, rows)\n\n return heights\n }\n\n get columns() {\n return Number(this.get('columns'))\n }\n\n get rows(): number {\n /* 1 for first record fields, 1 for rest record fields */\n return 2\n }\n\n get nature(): ComponentNature {\n return NATURE\n }\n\n get controls(): Control[] {\n var widths = this.widths\n var heights = this.heights\n var inside = this.textBounds\n\n var width_unit = inside.width / this.widths_sum\n var height_unit = inside.height / this.heights_sum\n\n var x = inside.left\n var y = inside.top\n\n var controls: Control[] = []\n\n widths.slice(0, this.columns - 1).forEach(width => {\n x += width * width_unit\n controls.push({\n x: x,\n y: inside.top,\n handler: columnControlHandler\n })\n })\n\n heights.slice(0, this.rows - 1).forEach(height => {\n y += height * height_unit\n controls.push({\n x: inside.left,\n y: y,\n handler: rowControlHandler\n })\n })\n\n return controls\n }\n\n onchange(after: State, before: State) {\n if ('data' in after) {\n this.setCellsData()\n }\n\n if ('columns' in after) {\n let { columns } = this\n\n this.buildCells(columns, Number(before.columns))\n }\n }\n\n get eventMap() {\n return {\n '(self)': {\n '(all)': {\n wheel: this._onwheel,\n touchstart: this._ontouchstart,\n touchmove: this._ontouchmove,\n touchend: this._ontouchend\n }\n }\n }\n }\n\n setCellsData() {\n if (!this.app.isViewMode) {\n return\n }\n\n var data = this.data || []\n if (!(data instanceof Array)) {\n data = [data]\n }\n\n /* 기존의 레코드를 모두 삭제 (템플릿 레코드만 남긴다.) */\n this.remove(this.components.slice(this.columns), true /* silent - do not let root-container refreshMappings */)\n\n /* template 레코드의 데이타를 클리어시킨다 */\n var templates = this.getCellsByRow(0)\n templates.forEach(field => {\n field.data = ''\n })\n\n /* 데이타의 크기만큼 새로운 레코드를 만든다 */\n if (data.length > 1) {\n let newbies: Component[] = []\n\n for (let i = 1; i < data.length; i++) {\n newbies = newbies.concat(\n templates.map(field => {\n return Model.compile(\n {\n ...field.model,\n id: '',\n data: '',\n refid: null\n },\n this.app\n )\n })\n )\n }\n\n this.add(newbies, true /* silent - do not let root-container refreshMappings */)\n }\n\n data.forEach((record: any[], idx: number) => {\n let data = {\n _idx: idx,\n ...record\n }\n let row = this.getCellsByRow(idx)\n row.forEach(field => {\n field.data = data\n })\n })\n }\n\n setCellsStyle(cells: Component[], style: Style, where: WHERE) {\n var components = this.components\n var total = components.length\n var columns = this.get('columns')\n\n var indices = cells.map(cell => components.indexOf(cell))\n indices.forEach(i => {\n var cell = components[i]\n\n switch (where) {\n case 'all':\n setCellBorder(cell, style, where)\n\n if (isLeftMost(total, columns, indices, i)) setCellBorder(components[before(columns, i)], style, 'right')\n if (isRightMost(total, columns, indices, i)) setCellBorder(components[after(columns, i)], style, 'left')\n if (isTopMost(total, columns, indices, i)) setCellBorder(components[above(columns, i)], style, 'bottom')\n if (isBottomMost(total, columns, indices, i)) setCellBorder(components[below(columns, i)], style, 'top')\n break\n case 'in':\n if (!isLeftMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'left')\n }\n if (!isRightMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'right')\n }\n if (!isTopMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'top')\n }\n if (!isBottomMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'bottom')\n }\n break\n case 'out':\n if (isLeftMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'left')\n setCellBorder(components[before(columns, i)], style, 'right')\n }\n if (isRightMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'right')\n setCellBorder(components[after(columns, i)], style, 'left')\n }\n if (isTopMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'top')\n setCellBorder(components[above(columns, i)], style, 'bottom')\n }\n if (isBottomMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'bottom')\n setCellBorder(components[below(columns, i)], style, 'top')\n }\n break\n case 'left':\n if (isLeftMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'left')\n setCellBorder(components[before(columns, i)], style, 'right')\n }\n break\n case 'right':\n if (isRightMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'right')\n setCellBorder(components[after(columns, i)], style, 'left')\n }\n break\n case 'center':\n if (!isLeftMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'left')\n }\n if (!isRightMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'right')\n }\n break\n case 'middle':\n if (!isTopMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'top')\n }\n if (!isBottomMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'bottom')\n }\n break\n case 'top':\n if (isTopMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'top')\n setCellBorder(components[above(columns, i)], style, 'bottom')\n }\n break\n case 'bottom':\n if (isBottomMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'bottom')\n setCellBorder(components[below(columns, i)], style, 'top')\n }\n break\n case 'clear':\n setCellBorder(cell, CLEAR_STYLE, 'all')\n\n if (isLeftMost(total, columns, indices, i))\n setCellBorder(components[before(columns, i)], CLEAR_STYLE, 'right')\n if (isRightMost(total, columns, indices, i)) setCellBorder(components[after(columns, i)], CLEAR_STYLE, 'left')\n if (isTopMost(total, columns, indices, i)) setCellBorder(components[above(columns, i)], CLEAR_STYLE, 'bottom')\n if (isBottomMost(total, columns, indices, i)) setCellBorder(components[below(columns, i)], CLEAR_STYLE, 'top')\n }\n })\n }\n\n buildCells(newcolumns: number, oldcolumns: number) {\n var minrows = 1\n\n if (newcolumns > oldcolumns) {\n for (let r = 0; r < minrows; r++) {\n for (let c = oldcolumns; c < newcolumns; c++) {\n this.insertComponentAt(buildNewCell('data-cell', this.app), r * newcolumns + c)\n }\n }\n } else if (newcolumns < oldcolumns) {\n let removals = []\n\n for (let r = 0; r < minrows; r++) {\n for (let c = newcolumns; c < oldcolumns; c++) {\n removals.push(this.components[r * oldcolumns + c])\n }\n }\n\n this.remove(removals)\n }\n\n this.set({\n widths: this.widths,\n heights: this.heights\n })\n\n this.setCellsData()\n }\n\n getRowColumn(cell: Component) {\n var idx = this.components.indexOf(cell)\n\n return {\n column: idx % this.columns,\n row: Math.floor(idx / this.columns)\n }\n }\n\n getCellsByRow(row: number): Component[] {\n return this.components.slice(row * this.columns, (row + 1) * this.columns)\n }\n\n getCellsByColumn(column: number): Component[] {\n var cells = []\n for (let i = 0; i < this.rows; i++) cells.push(this.components[this.columns * i + column])\n\n return cells\n }\n\n mergeCells(cells: Component[]) {}\n\n splitCells(cells: Component[]) {}\n\n deleteRows(cells: Component[]) {}\n\n deleteColumns(cells: Component[]) {\n // 만약 선택한 셀이 병합된 셀이라면 삭제하지 않는다.\n // if (cells[0].merged == true) return false\n\n // 먼저 cells 위치의 열을 구한다.\n let columns: number[] = []\n cells.forEach(cell => {\n let column = this.getRowColumn(cell).column\n if (-1 == columns.indexOf(column)) columns.push(column)\n })\n columns.sort((a, b) => {\n return a - b\n })\n columns.reverse()\n\n columns.forEach(column => {\n var widths = this.widths.slice()\n this.remove(this.getCellsByColumn(column))\n\n widths.splice(column, 1)\n this.model.columns -= 1 // 고의적으로, change 이벤트가 발생하지 않도록 set(..)을 사용하지 않음.\n this.set('widths', widths)\n })\n }\n\n insertCellsAbove(cells: Component[]) {}\n\n insertCellsBelow(cells: Component[]) {}\n\n insertCellsLeft(cells: Component[]) {\n // 먼저 cells 위치의 열을 구한다.\n let columns: number[] = []\n cells.forEach(cell => {\n let column = this.getRowColumn(cell).column\n if (-1 == columns.indexOf(column)) columns.push(column)\n })\n columns.sort((a, b) => {\n return a - b\n })\n columns.reverse()\n\n // 열 2개 이상은 추가 안함. 임시로 막아놓음\n if (columns.length >= 2) return false\n let insertionColumnPosition = columns[0]\n let newbieColumnWidths: number[] = []\n let newbieCells: Component[] = []\n columns.forEach(column => {\n for (let i = 0; i < this.rows; i++)\n newbieCells.push(buildCopiedCell(this.components[column + this.columns * i].model, this.app))\n newbieColumnWidths.push(this.widths[column])\n\n let increasedColumns = this.columns\n let index = this.rows\n newbieCells.reverse().forEach(cell => {\n if (index == 0) {\n index = this.rows\n increasedColumns++\n }\n\n index--\n this.insertComponentAt(cell, insertionColumnPosition + index * increasedColumns)\n })\n\n let widths = this.widths.slice()\n this.model.columns += columns.length // 고의적으로, change 이벤트가 발생하지 않도록 set(..)을 사용하지 않음.\n\n widths.splice(insertionColumnPosition, 0, ...newbieColumnWidths)\n\n this.set('widths', widths)\n })\n }\n\n insertCellsRight(cells: Component[]) {\n // 먼저 cells 위치의 열을 구한다.\n let columns: number[] = []\n cells.forEach(cell => {\n let column = this.getRowColumn(cell).column\n if (-1 == columns.indexOf(column)) columns.push(column)\n })\n columns.sort((a, b) => {\n return a - b\n })\n columns.reverse()\n // 열 2개 이상은 추가 안함. 임시로 막아놓음\n if (columns.length >= 2) return false\n let insertionColumnPosition = columns[columns.length - 1] + 1\n let newbieColumnWidths: number[] = []\n let newbieCells: Component[] = []\n columns.forEach(column => {\n for (let i = 0; i < this.rows; i++)\n newbieCells.push(buildCopiedCell(this.components[column + this.columns * i].model, this.app))\n newbieColumnWidths.push(this.widths[column])\n\n let increasedColumns = this.columns\n let index = this.rows\n newbieCells.reverse().forEach(cell => {\n if (index == 0) {\n index = this.rows\n increasedColumns++\n }\n\n index--\n this.insertComponentAt(cell, insertionColumnPosition + index * increasedColumns)\n })\n\n let widths = this.widths.slice()\n this.model.columns += columns.length // 고의적으로, change 이벤트가 발생하지 않도록 set(..)을 사용하지 않음.\n\n widths.splice(insertionColumnPosition, 0, ...newbieColumnWidths)\n\n this.set('widths', widths)\n })\n }\n\n distributeHorizontal(cells: Component[]) {\n var columns: number[] = []\n\n cells.forEach(cell => {\n let rowcolumn = this.getRowColumn(cell)\n\n if (-1 == columns.indexOf(rowcolumn.column)) columns.push(rowcolumn.column)\n })\n\n var sum = columns.reduce((sum, column) => {\n return sum + this.widths[column]\n }, 0)\n\n var newval = Math.round((sum / columns.length) * 100) / 100\n var widths = this.widths.slice()\n columns.forEach(column => {\n widths[column] = newval\n })\n\n this.set('widths', widths)\n }\n\n distributeVertical(cells: Component[]) {}\n}\n\nComponent.register('data-list', DataList)\n"]}
1
+ {"version":3,"file":"data-list.js","sourceRoot":"","sources":["../../src/data-list/data-list.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport './data-cell'\nimport './data-list-layout'\n\nimport { Component, ComponentNature, Container, Control, Layout, Model, State, Style } from '@hatiolab/things-scene'\n\nimport {\n above,\n after,\n array,\n before,\n below,\n buildCopiedCell,\n buildNewCell,\n CLEAR_STYLE,\n columnControlHandler,\n isBottomMost,\n isLeftMost,\n isRightMost,\n isTopMost,\n rowControlHandler,\n setCellBorder,\n WHERE\n} from '../helper-functions'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'number',\n label: 'columns',\n name: 'columns',\n property: 'columns'\n }\n ],\n 'value-property': 'data',\n help: 'scene/component/data-list'\n}\n\nexport default class DataList extends Container {\n postrender(context: CanvasRenderingContext2D) {\n super.postrender(context)\n\n // child component들을 다 그린 후에 scrollbar를 표현한다.\n if (this.app.isViewMode) {\n this.renderScrollbar(context)\n }\n }\n\n renderScrollbar(context: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.bounds\n var { offset = { x: 0, y: 0 }, data } = this.state\n\n var fullHeight = ((data && data.length) || 0) * (this.heights[0] / this.heights_sum) * height\n\n if (fullHeight <= height) {\n return\n }\n\n var start = (-offset.y / fullHeight) * height\n var end = ((-offset.y + height) / fullHeight) * height\n\n context.strokeStyle = 'gray'\n context.lineWidth = 10\n context.globalAlpha = 0.3\n\n context.beginPath()\n context.moveTo(left + width - 10, top + start)\n context.lineTo(left + width - 10, top + end)\n\n context.stroke()\n }\n\n created() {\n this.set('rows', 2)\n\n var rows = 1\n\n var tobeSize = rows * this.columns\n var gap = this.size() - tobeSize\n\n if (this.data) {\n this.setCellsData()\n }\n\n if (gap == 0) {\n return\n } else if (gap > 0) {\n let removals = this.components.slice(gap)\n this.remove(removals)\n } else {\n let newbies = []\n\n for (let i = 0; i < -gap; i++) newbies.push(buildNewCell('data-cell', this.app))\n\n this.add(newbies)\n }\n\n var widths = this.get('widths')\n var heights = this.get('heights')\n\n if (!widths || widths.length < this.columns) this.set('widths', this.widths)\n if (!heights || heights.length < rows) this.set('heights', this.heights)\n }\n\n _onwheel(e: WheelEvent) {\n e.stopPropagation()\n\n var { height } = this.bounds\n var { offset = { x: 0, y: 0 } } = this.state\n\n var recordHeight = (this.heights[0] / this.heights.reduce((sum: number, height: number) => sum + height)) * height\n\n var minX = 0\n var minY = this.data && this.data.length ? Math.min(-recordHeight * this.data.length + height, 0) : 0\n\n /* shiftKey + wheel 은 deltaX 값을 변화시킨다. */\n if (e.deltaY == 0 && e.deltaX == 0) return\n\n var x = e.deltaX + offset.x\n var y = -e.deltaY + offset.y\n\n /* 휠을 밀면.. 화면은 위쪽으로 : scroll down */\n /* 휠을 당기면.. 화면은 아래쪽으로 : scroll up */\n\n this.setState({\n offset: {\n x: Math.max(Math.min(0, x), minX),\n y: Math.max(Math.min(0, y), minY)\n }\n })\n }\n\n private __START_OFFSET?: { x: number; y: number }\n private __START_Y?: number\n\n _ontouchstart(e: DragEvent) {\n this.__START_OFFSET = this.state.offset || {\n x: 0,\n y: 0\n }\n this.__START_Y = e.offsetY\n }\n\n _ontouchmove(e: DragEvent) {\n if (!this.__START_OFFSET) {\n return\n }\n\n var { height } = this.bounds\n\n var recordHeight = (this.heights[0] / this.heights.reduce((sum: number, height: number) => sum + height)) * height\n var minY = this.data && this.data.length ? Math.min(-recordHeight * this.data.length + height, 0) : 0\n\n var x = 0\n var y = this.__START_OFFSET.y + (e.offsetY - this.__START_Y!) / this.rootModel.state.scale.y\n y = Math.max(Math.min(0, y), minY)\n\n var offset = this.state.offset || { x: 0, y: 0 }\n if (offset.x !== x || offset.y !== y) {\n this.setState('offset', {\n x,\n y\n })\n\n e.stopPropagation()\n }\n }\n\n _ontouchend(e: DragEvent) {\n delete this.__START_OFFSET\n delete this.__START_Y\n }\n\n get layout() {\n return Layout.get('data-list')\n }\n\n containable(component: Component) {\n return component.get('type') == 'data-cell'\n }\n\n get focusible() {\n /* 이 컨테이너에는 컴포넌트를 임의로 추가 및 삭제할 수 없도록 함 */\n return false\n }\n\n get widths_sum(): number {\n var widths = this.widths\n return widths\n ? widths\n .filter((width: number, i: number) => i < this.columns)\n .reduce((sum: number, width: number) => sum + width, 0)\n : this.columns\n }\n\n get heights_sum(): number {\n var heights = this.heights\n return heights ? heights.filter((height, i) => i < this.rows).reduce((sum, height) => sum + height, 0) : this.rows\n }\n\n get widths(): number[] {\n var widths = this.get('widths')\n\n if (!widths) return array(1, this.columns)\n\n if (widths.length < this.columns) return widths.concat(array(1, this.columns - widths.length))\n else if (widths.length > this.columns) return widths.slice(0, this.columns)\n\n return widths\n }\n\n get heights(): number[] {\n var heights = this.get('heights')\n var rows = 2\n\n if (!heights) {\n return array(1, rows)\n }\n\n if (heights.length < rows) return heights.concat(array(1, rows - heights.length))\n else if (heights.length > rows) return heights.slice(0, rows)\n\n return heights\n }\n\n get columns() {\n return Number(this.get('columns'))\n }\n\n get rows(): number {\n /* 1 for first record fields, 1 for rest record fields */\n return 2\n }\n\n get nature(): ComponentNature {\n return NATURE\n }\n\n get controls(): Control[] {\n var widths = this.widths\n var heights = this.heights\n var inside = this.textBounds\n\n var width_unit = inside.width / this.widths_sum\n var height_unit = inside.height / this.heights_sum\n\n var x = inside.left\n var y = inside.top\n\n var controls: Control[] = []\n\n widths.slice(0, this.columns - 1).forEach(width => {\n x += width * width_unit\n controls.push({\n x: x,\n y: inside.top,\n handler: columnControlHandler\n })\n })\n\n heights.slice(0, this.rows - 1).forEach(height => {\n y += height * height_unit\n controls.push({\n x: inside.left,\n y: y,\n handler: rowControlHandler\n })\n })\n\n return controls\n }\n\n onchange(after: State, before: State) {\n if ('data' in after) {\n this.setCellsData()\n }\n\n if ('columns' in after) {\n let { columns } = this\n\n this.buildCells(columns, Number(before.columns))\n }\n }\n\n get eventMap() {\n return {\n '(self)': {\n '(all)': {\n wheel: this._onwheel,\n touchstart: this._ontouchstart,\n touchmove: this._ontouchmove,\n touchend: this._ontouchend\n }\n }\n }\n }\n\n setCellsData() {\n if (!this.app.isViewMode) {\n return\n }\n\n var data = this.data || []\n if (!(data instanceof Array)) {\n data = [data]\n }\n\n /* 기존의 레코드를 모두 삭제 (템플릿 레코드만 남긴다.) */\n this.remove(this.components.slice(this.columns), true /* silent - do not let root-container refreshMappings */)\n\n /* template 레코드의 데이타를 클리어시킨다 */\n var templates = this.getCellsByRow(0)\n templates.forEach(field => {\n field.data = ''\n })\n\n /* 데이타의 크기만큼 새로운 레코드를 만든다 */\n if (data.length > 1) {\n let newbies: Component[] = []\n\n for (let i = 1; i < data.length; i++) {\n newbies = newbies.concat(\n templates.map(field => {\n return Model.compile(\n {\n ...field.model,\n id: '',\n data: '',\n refid: null\n },\n this.app\n )\n })\n )\n }\n\n this.add(newbies, true /* silent - do not let root-container refreshMappings */)\n }\n\n data.forEach((record: any[], idx: number) => {\n let data = {\n _idx: idx,\n ...record\n }\n let row = this.getCellsByRow(idx)\n row.forEach(field => {\n // @ts-ignore TODO - remove this comment later\n field.value = data\n })\n })\n }\n\n setCellsStyle(cells: Component[], style: Style, where: WHERE) {\n var components = this.components\n var total = components.length\n var columns = this.get('columns')\n\n var indices = cells.map(cell => components.indexOf(cell))\n indices.forEach(i => {\n var cell = components[i]\n\n switch (where) {\n case 'all':\n setCellBorder(cell, style, where)\n\n if (isLeftMost(total, columns, indices, i)) setCellBorder(components[before(columns, i)], style, 'right')\n if (isRightMost(total, columns, indices, i)) setCellBorder(components[after(columns, i)], style, 'left')\n if (isTopMost(total, columns, indices, i)) setCellBorder(components[above(columns, i)], style, 'bottom')\n if (isBottomMost(total, columns, indices, i)) setCellBorder(components[below(columns, i)], style, 'top')\n break\n case 'in':\n if (!isLeftMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'left')\n }\n if (!isRightMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'right')\n }\n if (!isTopMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'top')\n }\n if (!isBottomMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'bottom')\n }\n break\n case 'out':\n if (isLeftMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'left')\n setCellBorder(components[before(columns, i)], style, 'right')\n }\n if (isRightMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'right')\n setCellBorder(components[after(columns, i)], style, 'left')\n }\n if (isTopMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'top')\n setCellBorder(components[above(columns, i)], style, 'bottom')\n }\n if (isBottomMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'bottom')\n setCellBorder(components[below(columns, i)], style, 'top')\n }\n break\n case 'left':\n if (isLeftMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'left')\n setCellBorder(components[before(columns, i)], style, 'right')\n }\n break\n case 'right':\n if (isRightMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'right')\n setCellBorder(components[after(columns, i)], style, 'left')\n }\n break\n case 'center':\n if (!isLeftMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'left')\n }\n if (!isRightMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'right')\n }\n break\n case 'middle':\n if (!isTopMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'top')\n }\n if (!isBottomMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'bottom')\n }\n break\n case 'top':\n if (isTopMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'top')\n setCellBorder(components[above(columns, i)], style, 'bottom')\n }\n break\n case 'bottom':\n if (isBottomMost(total, columns, indices, i)) {\n setCellBorder(cell, style, 'bottom')\n setCellBorder(components[below(columns, i)], style, 'top')\n }\n break\n case 'clear':\n setCellBorder(cell, CLEAR_STYLE, 'all')\n\n if (isLeftMost(total, columns, indices, i))\n setCellBorder(components[before(columns, i)], CLEAR_STYLE, 'right')\n if (isRightMost(total, columns, indices, i)) setCellBorder(components[after(columns, i)], CLEAR_STYLE, 'left')\n if (isTopMost(total, columns, indices, i)) setCellBorder(components[above(columns, i)], CLEAR_STYLE, 'bottom')\n if (isBottomMost(total, columns, indices, i)) setCellBorder(components[below(columns, i)], CLEAR_STYLE, 'top')\n }\n })\n }\n\n buildCells(newcolumns: number, oldcolumns: number) {\n var minrows = 1\n\n if (newcolumns > oldcolumns) {\n for (let r = 0; r < minrows; r++) {\n for (let c = oldcolumns; c < newcolumns; c++) {\n this.insertComponentAt(buildNewCell('data-cell', this.app), r * newcolumns + c)\n }\n }\n } else if (newcolumns < oldcolumns) {\n let removals = []\n\n for (let r = 0; r < minrows; r++) {\n for (let c = newcolumns; c < oldcolumns; c++) {\n removals.push(this.components[r * oldcolumns + c])\n }\n }\n\n this.remove(removals)\n }\n\n this.set({\n widths: this.widths,\n heights: this.heights\n })\n\n this.setCellsData()\n }\n\n getRowColumn(cell: Component) {\n var idx = this.components.indexOf(cell)\n\n return {\n column: idx % this.columns,\n row: Math.floor(idx / this.columns)\n }\n }\n\n getCellsByRow(row: number): Component[] {\n return this.components.slice(row * this.columns, (row + 1) * this.columns)\n }\n\n getCellsByColumn(column: number): Component[] {\n var cells = []\n for (let i = 0; i < this.rows; i++) cells.push(this.components[this.columns * i + column])\n\n return cells\n }\n\n mergeCells(cells: Component[]) {}\n\n splitCells(cells: Component[]) {}\n\n deleteRows(cells: Component[]) {}\n\n deleteColumns(cells: Component[]) {\n // 만약 선택한 셀이 병합된 셀이라면 삭제하지 않는다.\n // if (cells[0].merged == true) return false\n\n // 먼저 cells 위치의 열을 구한다.\n let columns: number[] = []\n cells.forEach(cell => {\n let column = this.getRowColumn(cell).column\n if (-1 == columns.indexOf(column)) columns.push(column)\n })\n columns.sort((a, b) => {\n return a - b\n })\n columns.reverse()\n\n columns.forEach(column => {\n var widths = this.widths.slice()\n this.remove(this.getCellsByColumn(column))\n\n widths.splice(column, 1)\n this.model.columns -= 1 // 고의적으로, change 이벤트가 발생하지 않도록 set(..)을 사용하지 않음.\n this.set('widths', widths)\n })\n }\n\n insertCellsAbove(cells: Component[]) {}\n\n insertCellsBelow(cells: Component[]) {}\n\n insertCellsLeft(cells: Component[]) {\n // 먼저 cells 위치의 열을 구한다.\n let columns: number[] = []\n cells.forEach(cell => {\n let column = this.getRowColumn(cell).column\n if (-1 == columns.indexOf(column)) columns.push(column)\n })\n columns.sort((a, b) => {\n return a - b\n })\n columns.reverse()\n\n // 열 2개 이상은 추가 안함. 임시로 막아놓음\n if (columns.length >= 2) return false\n let insertionColumnPosition = columns[0]\n let newbieColumnWidths: number[] = []\n let newbieCells: Component[] = []\n columns.forEach(column => {\n for (let i = 0; i < this.rows; i++)\n newbieCells.push(buildCopiedCell(this.components[column + this.columns * i].model, this.app))\n newbieColumnWidths.push(this.widths[column])\n\n let increasedColumns = this.columns\n let index = this.rows\n newbieCells.reverse().forEach(cell => {\n if (index == 0) {\n index = this.rows\n increasedColumns++\n }\n\n index--\n this.insertComponentAt(cell, insertionColumnPosition + index * increasedColumns)\n })\n\n let widths = this.widths.slice()\n this.model.columns += columns.length // 고의적으로, change 이벤트가 발생하지 않도록 set(..)을 사용하지 않음.\n\n widths.splice(insertionColumnPosition, 0, ...newbieColumnWidths)\n\n this.set('widths', widths)\n })\n }\n\n insertCellsRight(cells: Component[]) {\n // 먼저 cells 위치의 열을 구한다.\n let columns: number[] = []\n cells.forEach(cell => {\n let column = this.getRowColumn(cell).column\n if (-1 == columns.indexOf(column)) columns.push(column)\n })\n columns.sort((a, b) => {\n return a - b\n })\n columns.reverse()\n // 열 2개 이상은 추가 안함. 임시로 막아놓음\n if (columns.length >= 2) return false\n let insertionColumnPosition = columns[columns.length - 1] + 1\n let newbieColumnWidths: number[] = []\n let newbieCells: Component[] = []\n columns.forEach(column => {\n for (let i = 0; i < this.rows; i++)\n newbieCells.push(buildCopiedCell(this.components[column + this.columns * i].model, this.app))\n newbieColumnWidths.push(this.widths[column])\n\n let increasedColumns = this.columns\n let index = this.rows\n newbieCells.reverse().forEach(cell => {\n if (index == 0) {\n index = this.rows\n increasedColumns++\n }\n\n index--\n this.insertComponentAt(cell, insertionColumnPosition + index * increasedColumns)\n })\n\n let widths = this.widths.slice()\n this.model.columns += columns.length // 고의적으로, change 이벤트가 발생하지 않도록 set(..)을 사용하지 않음.\n\n widths.splice(insertionColumnPosition, 0, ...newbieColumnWidths)\n\n this.set('widths', widths)\n })\n }\n\n distributeHorizontal(cells: Component[]) {\n var columns: number[] = []\n\n cells.forEach(cell => {\n let rowcolumn = this.getRowColumn(cell)\n\n if (-1 == columns.indexOf(rowcolumn.column)) columns.push(rowcolumn.column)\n })\n\n var sum = columns.reduce((sum, column) => {\n return sum + this.widths[column]\n }, 0)\n\n var newval = Math.round((sum / columns.length) * 100) / 100\n var widths = this.widths.slice()\n columns.forEach(column => {\n widths[column] = newval\n })\n\n this.set('widths', widths)\n }\n\n distributeVertical(cells: Component[]) {}\n}\n\nComponent.register('data-list', DataList)\n"]}
@@ -1,6 +1,24 @@
1
1
  # data-list
2
- 여러개의 데이터를 테이블의 형태로 표현할 때 사용하는 컴포넌트.
3
- 행은 데이터의 수량에 따라 자동으로 변경이 되며 내용이 변두리를 초과하면 Scroll이 자동으로 생성된다.
2
+
3
+ 가변 크기 배열 형태의 데이터를 테이블의 형태로 표현하는 컴포넌트이다.
4
+ 배열 데이타가 value(또는 data)에 설정(또는 전파)되면, 배열의 크기에 따라 데이타 리스트의 행이 재구성되며,
5
+ 행의 크기가 컴포넌트의 크기를 초과하면 Vertical Scroll이 자동으로 생성된다.
6
+
4
7
  ## properties
5
8
 
6
9
  1. Column(Number) - 열의 개수를 조절
10
+
11
+ ## value-property
12
+
13
+ data-list 컴포넌트의 value property는 'data' 이다.
14
+ 따라서, value 속성에 설정되는 값은 바로 data가 되어 데이타 전파에 적용될 수 있다.
15
+ 또한, value(또는 data)에 설정된 값은 데이타 리스트를 재구성하며 데이타 셀에 원하는 정보를 표현할 수 있다.
16
+
17
+ data-list의 배열데이타를 기반으로 만들어지는 data-cell 컴포넌트는 data-list의 data 값을 text 속성설정을 통해서 표현할 수 있다.
18
+ data-list 배열의 각 엘리먼트는 data-cell의 value와 data에 저장된다.
19
+
20
+ ## usage
21
+
22
+ ![DataList 사용예][data-list-01]
23
+
24
+ [data-list-01]: ../images/data-list-01.png
@@ -1,6 +1,24 @@
1
1
  # data-list
2
- A component used to express multiple data in the form of a table.
3
- The row is automatically changed according to the amount of data, and when the content exceeds the edge, a scroll is automatically created.
2
+
3
+ data-list is a component that expresses variable-size array data in the form of a table.
4
+ When array data is set (or propagated) to value (or data), the rows of the data list are reorganized according to the size of the array,
5
+ If the size of the row exceeds the size of the component, a Vertical Scroll is automatically created.
6
+
4
7
  ## properties
5
8
 
6
9
  1. Column(Number)-Adjust the number of columns
10
+
11
+ ## value-property
12
+
13
+ The value property of this component is 'data'.
14
+ Therefore, the value set in the value attribute becomes data and can be applied to data propagation.
15
+ In addition, the value set in value (or data) reconstructs the data list, and desired information can be expressed in the data cell.
16
+
17
+ The data-cell component created based on the array data of the data-list can express the data value of the data-list through the text property setting.
18
+ Each element of the data-list array is stored in the data-cell value and data.
19
+
20
+ ## usage
21
+
22
+ ![DataList usage][data-list-01]
23
+
24
+ [data-list-01]: ../images/data-list-01.png
@@ -1,8 +1,24 @@
1
1
  # data-list
2
- 用于以表格形式表示多个数据的组件。
3
- 该行数量会根据数据量自动更改,并且当内容超过边框时,会自动出现滚动轴。
4
- 列宽可以使用鼠标更改。
2
+
3
+ data-list 是一个以表格形式表示可变大小数组数据的组件。
4
+ 当数组数据被设置(或传播)为值(或数据)时,数据列表的行会根据数组的大小重新组织,
5
+ 如果行的大小超过组件的大小,则会自动创建一个垂直滚动。
5
6
 
6
7
  ## properties
7
8
 
8
- 1. Column(Number)-调整列数
9
+ 1. Column(Number)-调整列数
10
+
11
+ ## value-property
12
+
13
+ 该组件的 value 属性是“data”。
14
+ 因此,在 value 属性中设置的值成为数据,可以应用于数据传播。
15
+ 此外,value(或 data)中设置的值重构了数据列表,并且可以在数据单元格中表达所需的信息。
16
+
17
+ 基于 data-list 的数组数据创建的 data-cell 组件可以通过 text 属性设置来表达 data-list 的数据值。
18
+ 数据列表数组的每个元素都存储在数据单元值和数据中。
19
+
20
+ ## usage
21
+
22
+ ![DataList usage][data-list-01]
23
+
24
+ [data-list-01]: ../images/data-list-01.png
@@ -6,29 +6,19 @@
6
6
  "auditLog": "logs/.08636eb59927f12972f6774f5947c8507b3564c2-audit.json",
7
7
  "files": [
8
8
  {
9
- "date": 1659593182533,
10
- "name": "logs/application-2022-08-04-15.log",
11
- "hash": "68193f6451e431d04171b418e8fea38f2fd7bfe12cc28e080d8f9735b4da2879"
9
+ "date": 1660259972102,
10
+ "name": "logs/application-2022-08-12-08.log",
11
+ "hash": "1a9bce1a268bd981454b1b60a9cdecd6b93483b75f0561bcde286c5936586367"
12
12
  },
13
13
  {
14
- "date": 1659611614545,
15
- "name": "logs/application-2022-08-04-20.log",
16
- "hash": "0041829966362bce21d93cf6074d36478c49e5deedfc99d0241cafa6951d8743"
14
+ "date": 1660263654975,
15
+ "name": "logs/application-2022-08-12-09.log",
16
+ "hash": "e41f47d34a95163e45b3823483204015fcc5a8e8e748051e4da8ad409055a453"
17
17
  },
18
18
  {
19
- "date": 1659614864383,
20
- "name": "logs/application-2022-08-04-21.log",
21
- "hash": "1cf3b4c230c6d8477559cde2e90c06ec40c960bd8fa5fb88c15bbd09edf9bd4c"
22
- },
23
- {
24
- "date": 1659620919239,
25
- "name": "logs/application-2022-08-04-22.log",
26
- "hash": "ac2f6fe5acfc26ae9c4266e364891e0d553e7c1318df972b29cdbbb44121cc86"
27
- },
28
- {
29
- "date": 1659622289439,
30
- "name": "logs/application-2022-08-04-23.log",
31
- "hash": "2fa043939695f92d73cee40b51687c23620bf74eee42796f629704ad5f7200f6"
19
+ "date": 1660280702067,
20
+ "name": "logs/application-2022-08-12-14.log",
21
+ "hash": "c00fad1ae139a12ac0d955e9aa50b73dc4cfd766a5a82c7b331b4b063f6cf03e"
32
22
  }
33
23
  ],
34
24
  "hashType": "sha256"
@@ -29,6 +29,26 @@
29
29
  "date": 1659622293444,
30
30
  "name": "logs/connections-2022-08-04-23.log",
31
31
  "hash": "5ea8779a8f5d961e7c5956b7c527c015c913215236b231058be9826a4cc83611"
32
+ },
33
+ {
34
+ "date": 1659626403865,
35
+ "name": "logs/connections-2022-08-05-00.log",
36
+ "hash": "6b5e392db3ac487ce9fb1f115d8ba9b31ab12095db639c978bad941c6e2fcafd"
37
+ },
38
+ {
39
+ "date": 1660259977393,
40
+ "name": "logs/connections-2022-08-12-08.log",
41
+ "hash": "d9c446bb05d91a0251982cb01b7d7df5569385bc4b0857224ea710746fa2f56b"
42
+ },
43
+ {
44
+ "date": 1660263658552,
45
+ "name": "logs/connections-2022-08-12-09.log",
46
+ "hash": "fa092cd07f82b1b17aff9b8c4b06ff9e26beb0c2430eb550ad4c1c5a49bab9b4"
47
+ },
48
+ {
49
+ "date": 1660280706064,
50
+ "name": "logs/connections-2022-08-12-14.log",
51
+ "hash": "d16ce8ab3b554246f9ea2229a2de4f5d8937b42f1abeb040d9455dec889f0ded"
32
52
  }
33
53
  ],
34
54
  "hashType": "sha256"
@@ -0,0 +1,5 @@
1
+ 2022-08-12T08:19:35+09:00 info: File Storage is Ready.
2
+ 2022-08-12T08:19:41+09:00 info: Database connection established
3
+ 2022-08-12T08:19:44+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
4
+ 2022-08-12T08:19:44+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
5
+ 2022-08-12T08:28:14+09:00 error: Cannot return null for non-nullable field Query.board.
@@ -0,0 +1,4 @@
1
+ 2022-08-12T09:20:56+09:00 info: File Storage is Ready.
2
+ 2022-08-12T09:21:02+09:00 info: Database connection established
3
+ 2022-08-12T09:21:04+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
4
+ 2022-08-12T09:21:04+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
@@ -0,0 +1,4 @@
1
+ 2022-08-12T14:05:04+09:00 info: File Storage is Ready.
2
+ 2022-08-12T14:05:09+09:00 info: Database connection established
3
+ 2022-08-12T14:05:11+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
4
+ 2022-08-12T14:05:11+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
@@ -0,0 +1,105 @@
1
+ 2022-08-04T15:20:08.982Z info: Initializing ConnectionManager...
2
+ 2022-08-04T15:20:08.982Z info: Connector 'echo-back-server' started to ready
3
+ 2022-08-04T15:20:08.982Z info: Connector 'echo-back' started to ready
4
+ 2022-08-04T15:20:08.983Z info: Connector 'http-connector' started to ready
5
+ 2022-08-04T15:20:08.983Z info: Connector 'graphql-connector' started to ready
6
+ 2022-08-04T15:20:08.983Z info: Connector 'sqlite-connector' started to ready
7
+ 2022-08-04T15:20:08.983Z info: Connector 'postgresql-connector' started to ready
8
+ 2022-08-04T15:20:08.983Z info: Connector 'mqtt-connector' started to ready
9
+ 2022-08-04T15:20:08.983Z info: Connector 'mssql-connector' started to ready
10
+ 2022-08-04T15:20:08.983Z info: Connector 'oracle-connector' started to ready
11
+ 2022-08-04T15:20:08.984Z info: Connector 'mysql-connector' started to ready
12
+ 2022-08-04T15:20:08.984Z info: Connector 'socket-server' started to ready
13
+ 2022-08-04T15:20:08.984Z info: echo-back-servers are ready
14
+ 2022-08-04T15:20:08.984Z info: echo-back connections are ready
15
+ 2022-08-04T15:20:08.984Z info: http-connector connections are ready
16
+ 2022-08-04T15:20:08.984Z info: graphql-connector connections are ready
17
+ 2022-08-04T15:20:08.984Z info: sqlite-connector connections are ready
18
+ 2022-08-04T15:20:08.984Z info: postgresql-connector connections are ready
19
+ 2022-08-04T15:20:08.984Z info: mqtt-connector connections are ready
20
+ 2022-08-04T15:20:08.984Z info: mssql-connector connections are ready
21
+ 2022-08-04T15:20:08.984Z info: oracle-connector connections are ready
22
+ 2022-08-04T15:20:08.984Z info: mysql-connector connections are ready
23
+ 2022-08-04T15:20:08.984Z info: socket servers are ready
24
+ 2022-08-04T15:20:08.985Z info: All connector for 'echo-back-server' ready
25
+ 2022-08-04T15:20:08.985Z info: All connector for 'echo-back' ready
26
+ 2022-08-04T15:20:08.985Z info: All connector for 'http-connector' ready
27
+ 2022-08-04T15:20:08.985Z info: All connector for 'graphql-connector' ready
28
+ 2022-08-04T15:20:08.985Z info: All connector for 'sqlite-connector' ready
29
+ 2022-08-04T15:20:08.985Z info: All connector for 'postgresql-connector' ready
30
+ 2022-08-04T15:20:08.985Z info: All connector for 'mqtt-connector' ready
31
+ 2022-08-04T15:20:08.985Z info: All connector for 'mssql-connector' ready
32
+ 2022-08-04T15:20:08.985Z info: All connector for 'oracle-connector' ready
33
+ 2022-08-04T15:20:08.985Z info: All connector for 'mysql-connector' ready
34
+ 2022-08-04T15:20:08.985Z info: All connector for 'socket-server' ready
35
+ 2022-08-04T15:20:08.985Z info: ConnectionManager initialization done:
36
+ 2022-08-04T15:30:29.159Z info: Initializing ConnectionManager...
37
+ 2022-08-04T15:30:29.224Z info: Connector 'echo-back-server' started to ready
38
+ 2022-08-04T15:30:29.225Z info: Connector 'echo-back' started to ready
39
+ 2022-08-04T15:30:29.230Z info: Connector 'http-connector' started to ready
40
+ 2022-08-04T15:30:29.230Z info: Connector 'graphql-connector' started to ready
41
+ 2022-08-04T15:30:29.231Z info: Connector 'sqlite-connector' started to ready
42
+ 2022-08-04T15:30:29.231Z info: Connector 'postgresql-connector' started to ready
43
+ 2022-08-04T15:30:29.231Z info: Connector 'mqtt-connector' started to ready
44
+ 2022-08-04T15:30:29.231Z info: Connector 'mssql-connector' started to ready
45
+ 2022-08-04T15:30:29.231Z info: Connector 'oracle-connector' started to ready
46
+ 2022-08-04T15:30:29.231Z info: Connector 'mysql-connector' started to ready
47
+ 2022-08-04T15:30:29.232Z info: Connector 'socket-server' started to ready
48
+ 2022-08-04T15:30:29.232Z info: echo-back-servers are ready
49
+ 2022-08-04T15:30:29.232Z info: echo-back connections are ready
50
+ 2022-08-04T15:30:29.232Z info: http-connector connections are ready
51
+ 2022-08-04T15:30:29.232Z info: graphql-connector connections are ready
52
+ 2022-08-04T15:30:29.232Z info: sqlite-connector connections are ready
53
+ 2022-08-04T15:30:29.232Z info: postgresql-connector connections are ready
54
+ 2022-08-04T15:30:29.232Z info: mqtt-connector connections are ready
55
+ 2022-08-04T15:30:29.232Z info: mssql-connector connections are ready
56
+ 2022-08-04T15:30:29.232Z info: oracle-connector connections are ready
57
+ 2022-08-04T15:30:29.232Z info: mysql-connector connections are ready
58
+ 2022-08-04T15:30:29.232Z info: socket servers are ready
59
+ 2022-08-04T15:30:29.232Z info: All connector for 'echo-back-server' ready
60
+ 2022-08-04T15:30:29.232Z info: All connector for 'echo-back' ready
61
+ 2022-08-04T15:30:29.232Z info: All connector for 'http-connector' ready
62
+ 2022-08-04T15:30:29.232Z info: All connector for 'graphql-connector' ready
63
+ 2022-08-04T15:30:29.232Z info: All connector for 'sqlite-connector' ready
64
+ 2022-08-04T15:30:29.233Z info: All connector for 'postgresql-connector' ready
65
+ 2022-08-04T15:30:29.233Z info: All connector for 'mqtt-connector' ready
66
+ 2022-08-04T15:30:29.236Z info: All connector for 'mssql-connector' ready
67
+ 2022-08-04T15:30:29.236Z info: All connector for 'oracle-connector' ready
68
+ 2022-08-04T15:30:29.236Z info: All connector for 'mysql-connector' ready
69
+ 2022-08-04T15:30:29.236Z info: All connector for 'socket-server' ready
70
+ 2022-08-04T15:30:29.236Z info: ConnectionManager initialization done:
71
+ 2022-08-04T15:43:10.153Z info: Initializing ConnectionManager...
72
+ 2022-08-04T15:43:10.157Z info: Connector 'echo-back-server' started to ready
73
+ 2022-08-04T15:43:10.157Z info: Connector 'echo-back' started to ready
74
+ 2022-08-04T15:43:10.157Z info: Connector 'http-connector' started to ready
75
+ 2022-08-04T15:43:10.158Z info: Connector 'graphql-connector' started to ready
76
+ 2022-08-04T15:43:10.158Z info: Connector 'sqlite-connector' started to ready
77
+ 2022-08-04T15:43:10.159Z info: Connector 'postgresql-connector' started to ready
78
+ 2022-08-04T15:43:10.159Z info: Connector 'mqtt-connector' started to ready
79
+ 2022-08-04T15:43:10.159Z info: Connector 'mssql-connector' started to ready
80
+ 2022-08-04T15:43:10.160Z info: Connector 'oracle-connector' started to ready
81
+ 2022-08-04T15:43:10.161Z info: Connector 'mysql-connector' started to ready
82
+ 2022-08-04T15:43:10.161Z info: Connector 'socket-server' started to ready
83
+ 2022-08-04T15:43:10.162Z info: echo-back-servers are ready
84
+ 2022-08-04T15:43:10.162Z info: echo-back connections are ready
85
+ 2022-08-04T15:43:10.162Z info: http-connector connections are ready
86
+ 2022-08-04T15:43:10.163Z info: graphql-connector connections are ready
87
+ 2022-08-04T15:43:10.163Z info: sqlite-connector connections are ready
88
+ 2022-08-04T15:43:10.163Z info: postgresql-connector connections are ready
89
+ 2022-08-04T15:43:10.163Z info: mqtt-connector connections are ready
90
+ 2022-08-04T15:43:10.163Z info: mssql-connector connections are ready
91
+ 2022-08-04T15:43:10.163Z info: oracle-connector connections are ready
92
+ 2022-08-04T15:43:10.164Z info: mysql-connector connections are ready
93
+ 2022-08-04T15:43:10.164Z info: socket servers are ready
94
+ 2022-08-04T15:43:10.164Z info: All connector for 'echo-back-server' ready
95
+ 2022-08-04T15:43:10.164Z info: All connector for 'echo-back' ready
96
+ 2022-08-04T15:43:10.164Z info: All connector for 'http-connector' ready
97
+ 2022-08-04T15:43:10.165Z info: All connector for 'graphql-connector' ready
98
+ 2022-08-04T15:43:10.165Z info: All connector for 'sqlite-connector' ready
99
+ 2022-08-04T15:43:10.165Z info: All connector for 'postgresql-connector' ready
100
+ 2022-08-04T15:43:10.165Z info: All connector for 'mqtt-connector' ready
101
+ 2022-08-04T15:43:10.166Z info: All connector for 'mssql-connector' ready
102
+ 2022-08-04T15:43:10.166Z info: All connector for 'oracle-connector' ready
103
+ 2022-08-04T15:43:10.166Z info: All connector for 'mysql-connector' ready
104
+ 2022-08-04T15:43:10.167Z info: All connector for 'socket-server' ready
105
+ 2022-08-04T15:43:10.167Z info: ConnectionManager initialization done:
@@ -0,0 +1,35 @@
1
+ 2022-08-12T08:19:44+09:00 info: Initializing ConnectionManager...
2
+ 2022-08-12T08:19:44+09:00 info: Connector 'echo-back-server' started to ready
3
+ 2022-08-12T08:19:44+09:00 info: Connector 'echo-back' started to ready
4
+ 2022-08-12T08:19:44+09:00 info: Connector 'http-connector' started to ready
5
+ 2022-08-12T08:19:44+09:00 info: Connector 'graphql-connector' started to ready
6
+ 2022-08-12T08:19:44+09:00 info: Connector 'sqlite-connector' started to ready
7
+ 2022-08-12T08:19:44+09:00 info: Connector 'postgresql-connector' started to ready
8
+ 2022-08-12T08:19:44+09:00 info: Connector 'mqtt-connector' started to ready
9
+ 2022-08-12T08:19:44+09:00 info: Connector 'mssql-connector' started to ready
10
+ 2022-08-12T08:19:44+09:00 info: Connector 'oracle-connector' started to ready
11
+ 2022-08-12T08:19:44+09:00 info: Connector 'mysql-connector' started to ready
12
+ 2022-08-12T08:19:44+09:00 info: Connector 'socket-server' started to ready
13
+ 2022-08-12T08:19:44+09:00 info: echo-back-servers are ready
14
+ 2022-08-12T08:19:44+09:00 info: echo-back connections are ready
15
+ 2022-08-12T08:19:44+09:00 info: http-connector connections are ready
16
+ 2022-08-12T08:19:44+09:00 info: graphql-connector connections are ready
17
+ 2022-08-12T08:19:44+09:00 info: sqlite-connector connections are ready
18
+ 2022-08-12T08:19:44+09:00 info: postgresql-connector connections are ready
19
+ 2022-08-12T08:19:44+09:00 info: mqtt-connector connections are ready
20
+ 2022-08-12T08:19:44+09:00 info: mssql-connector connections are ready
21
+ 2022-08-12T08:19:44+09:00 info: oracle-connector connections are ready
22
+ 2022-08-12T08:19:44+09:00 info: mysql-connector connections are ready
23
+ 2022-08-12T08:19:44+09:00 info: socket servers are ready
24
+ 2022-08-12T08:19:44+09:00 info: All connector for 'echo-back-server' ready
25
+ 2022-08-12T08:19:44+09:00 info: All connector for 'echo-back' ready
26
+ 2022-08-12T08:19:44+09:00 info: All connector for 'http-connector' ready
27
+ 2022-08-12T08:19:44+09:00 info: All connector for 'graphql-connector' ready
28
+ 2022-08-12T08:19:44+09:00 info: All connector for 'sqlite-connector' ready
29
+ 2022-08-12T08:19:44+09:00 info: All connector for 'postgresql-connector' ready
30
+ 2022-08-12T08:19:44+09:00 info: All connector for 'mqtt-connector' ready
31
+ 2022-08-12T08:19:44+09:00 info: All connector for 'mssql-connector' ready
32
+ 2022-08-12T08:19:44+09:00 info: All connector for 'oracle-connector' ready
33
+ 2022-08-12T08:19:44+09:00 info: All connector for 'mysql-connector' ready
34
+ 2022-08-12T08:19:44+09:00 info: All connector for 'socket-server' ready
35
+ 2022-08-12T08:19:44+09:00 info: ConnectionManager initialization done:
@@ -0,0 +1,35 @@
1
+ 2022-08-12T09:21:04+09:00 info: Initializing ConnectionManager...
2
+ 2022-08-12T09:21:04+09:00 info: Connector 'echo-back-server' started to ready
3
+ 2022-08-12T09:21:04+09:00 info: Connector 'echo-back' started to ready
4
+ 2022-08-12T09:21:04+09:00 info: Connector 'http-connector' started to ready
5
+ 2022-08-12T09:21:04+09:00 info: Connector 'graphql-connector' started to ready
6
+ 2022-08-12T09:21:04+09:00 info: Connector 'sqlite-connector' started to ready
7
+ 2022-08-12T09:21:04+09:00 info: Connector 'postgresql-connector' started to ready
8
+ 2022-08-12T09:21:04+09:00 info: Connector 'mqtt-connector' started to ready
9
+ 2022-08-12T09:21:04+09:00 info: Connector 'mssql-connector' started to ready
10
+ 2022-08-12T09:21:04+09:00 info: Connector 'oracle-connector' started to ready
11
+ 2022-08-12T09:21:04+09:00 info: Connector 'mysql-connector' started to ready
12
+ 2022-08-12T09:21:04+09:00 info: Connector 'socket-server' started to ready
13
+ 2022-08-12T09:21:04+09:00 info: echo-back-servers are ready
14
+ 2022-08-12T09:21:04+09:00 info: echo-back connections are ready
15
+ 2022-08-12T09:21:04+09:00 info: http-connector connections are ready
16
+ 2022-08-12T09:21:04+09:00 info: graphql-connector connections are ready
17
+ 2022-08-12T09:21:04+09:00 info: sqlite-connector connections are ready
18
+ 2022-08-12T09:21:04+09:00 info: postgresql-connector connections are ready
19
+ 2022-08-12T09:21:04+09:00 info: mqtt-connector connections are ready
20
+ 2022-08-12T09:21:04+09:00 info: mssql-connector connections are ready
21
+ 2022-08-12T09:21:04+09:00 info: oracle-connector connections are ready
22
+ 2022-08-12T09:21:04+09:00 info: mysql-connector connections are ready
23
+ 2022-08-12T09:21:04+09:00 info: socket servers are ready
24
+ 2022-08-12T09:21:04+09:00 info: All connector for 'echo-back-server' ready
25
+ 2022-08-12T09:21:04+09:00 info: All connector for 'echo-back' ready
26
+ 2022-08-12T09:21:04+09:00 info: All connector for 'http-connector' ready
27
+ 2022-08-12T09:21:04+09:00 info: All connector for 'graphql-connector' ready
28
+ 2022-08-12T09:21:04+09:00 info: All connector for 'sqlite-connector' ready
29
+ 2022-08-12T09:21:04+09:00 info: All connector for 'postgresql-connector' ready
30
+ 2022-08-12T09:21:04+09:00 info: All connector for 'mqtt-connector' ready
31
+ 2022-08-12T09:21:04+09:00 info: All connector for 'mssql-connector' ready
32
+ 2022-08-12T09:21:04+09:00 info: All connector for 'oracle-connector' ready
33
+ 2022-08-12T09:21:04+09:00 info: All connector for 'mysql-connector' ready
34
+ 2022-08-12T09:21:04+09:00 info: All connector for 'socket-server' ready
35
+ 2022-08-12T09:21:04+09:00 info: ConnectionManager initialization done:
@@ -0,0 +1,35 @@
1
+ 2022-08-12T14:05:11+09:00 info: Initializing ConnectionManager...
2
+ 2022-08-12T14:05:11+09:00 info: Connector 'echo-back-server' started to ready
3
+ 2022-08-12T14:05:11+09:00 info: Connector 'echo-back' started to ready
4
+ 2022-08-12T14:05:11+09:00 info: Connector 'http-connector' started to ready
5
+ 2022-08-12T14:05:11+09:00 info: Connector 'graphql-connector' started to ready
6
+ 2022-08-12T14:05:11+09:00 info: Connector 'sqlite-connector' started to ready
7
+ 2022-08-12T14:05:11+09:00 info: Connector 'postgresql-connector' started to ready
8
+ 2022-08-12T14:05:11+09:00 info: Connector 'mqtt-connector' started to ready
9
+ 2022-08-12T14:05:11+09:00 info: Connector 'mssql-connector' started to ready
10
+ 2022-08-12T14:05:11+09:00 info: Connector 'oracle-connector' started to ready
11
+ 2022-08-12T14:05:11+09:00 info: Connector 'mysql-connector' started to ready
12
+ 2022-08-12T14:05:11+09:00 info: Connector 'socket-server' started to ready
13
+ 2022-08-12T14:05:11+09:00 info: echo-back-servers are ready
14
+ 2022-08-12T14:05:11+09:00 info: echo-back connections are ready
15
+ 2022-08-12T14:05:11+09:00 info: http-connector connections are ready
16
+ 2022-08-12T14:05:11+09:00 info: graphql-connector connections are ready
17
+ 2022-08-12T14:05:11+09:00 info: sqlite-connector connections are ready
18
+ 2022-08-12T14:05:11+09:00 info: postgresql-connector connections are ready
19
+ 2022-08-12T14:05:11+09:00 info: mqtt-connector connections are ready
20
+ 2022-08-12T14:05:11+09:00 info: mssql-connector connections are ready
21
+ 2022-08-12T14:05:11+09:00 info: oracle-connector connections are ready
22
+ 2022-08-12T14:05:11+09:00 info: mysql-connector connections are ready
23
+ 2022-08-12T14:05:11+09:00 info: socket servers are ready
24
+ 2022-08-12T14:05:11+09:00 info: All connector for 'echo-back-server' ready
25
+ 2022-08-12T14:05:11+09:00 info: All connector for 'echo-back' ready
26
+ 2022-08-12T14:05:11+09:00 info: All connector for 'http-connector' ready
27
+ 2022-08-12T14:05:11+09:00 info: All connector for 'graphql-connector' ready
28
+ 2022-08-12T14:05:11+09:00 info: All connector for 'sqlite-connector' ready
29
+ 2022-08-12T14:05:11+09:00 info: All connector for 'postgresql-connector' ready
30
+ 2022-08-12T14:05:11+09:00 info: All connector for 'mqtt-connector' ready
31
+ 2022-08-12T14:05:11+09:00 info: All connector for 'mssql-connector' ready
32
+ 2022-08-12T14:05:11+09:00 info: All connector for 'oracle-connector' ready
33
+ 2022-08-12T14:05:11+09:00 info: All connector for 'mysql-connector' ready
34
+ 2022-08-12T14:05:11+09:00 info: All connector for 'socket-server' ready
35
+ 2022-08-12T14:05:11+09:00 info: ConnectionManager initialization done:
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@operato/scene-table",
3
3
  "description": "Things Scene Table Component.",
4
- "version": "1.0.2",
4
+ "version": "1.0.5",
5
5
  "license": "MIT",
6
6
  "author": "heartyoh",
7
7
  "main": "dist/index.js",
@@ -57,5 +57,5 @@
57
57
  "prettier --write"
58
58
  ]
59
59
  },
60
- "gitHead": "484b3aefc64bc7f15b67fae16f1b674f81767113"
60
+ "gitHead": "fa4f890ebbe869690cc2f10577a50accdc644010"
61
61
  }
@@ -20,6 +20,7 @@ const NATURE: ComponentNature = {
20
20
  }
21
21
  }
22
22
  ],
23
+ 'value-property': 'value',
23
24
  help: 'scene/component/data-cell'
24
25
  }
25
26
 
@@ -28,7 +29,18 @@ export default class DataCell extends RectPath(Component) {
28
29
  return NATURE
29
30
  }
30
31
 
31
- _drawBorder(context: CanvasRenderingContext2D, x: number, y: number, to_x: number, to_y: number, style: Style) {
32
+ get value() {
33
+ return this.state.value
34
+ }
35
+
36
+ set value(value) {
37
+ this.setState({
38
+ value,
39
+ data: value
40
+ })
41
+ }
42
+
43
+ renderBorder(context: CanvasRenderingContext2D, x: number, y: number, to_x: number, to_y: number, style: Style) {
32
44
  if (style && style.strokeStyle && style.lineWidth && style.lineDash) {
33
45
  context.beginPath()
34
46
  context.moveTo(x, y)
@@ -37,7 +49,7 @@ export default class DataCell extends RectPath(Component) {
37
49
  }
38
50
  }
39
51
 
40
- _draw(context: CanvasRenderingContext2D) {
52
+ render(context: CanvasRenderingContext2D) {
41
53
  var { left, top, width, height } = this.bounds
42
54
 
43
55
  var border = this.model.border || {}
@@ -53,13 +65,13 @@ export default class DataCell extends RectPath(Component) {
53
65
  var idx = parent.components.indexOf(this)
54
66
  var columns = parent.columns || 1
55
67
 
56
- this._drawBorder(context, left, top, left + width, top, border.top)
57
- this._drawBorder(context, left, top + height, left, top, border.left)
68
+ this.renderBorder(context, left, top, left + width, top, border.top)
69
+ this.renderBorder(context, left, top + height, left, top, border.left)
58
70
  if ((idx + 1) % columns == 0) {
59
71
  /* if this filed is right most, draw right side border. */
60
- this._drawBorder(context, left + width, top, left + width, top + height, border.right)
72
+ this.renderBorder(context, left + width, top, left + width, top + height, border.right)
61
73
  }
62
- this._drawBorder(context, left + width, top + height, left, top + height, border.bottom)
74
+ this.renderBorder(context, left + width, top + height, left, top + height, border.bottom)
63
75
  }
64
76
  }
65
77
 
@@ -350,7 +350,8 @@ export default class DataList extends Container {
350
350
  }
351
351
  let row = this.getCellsByRow(idx)
352
352
  row.forEach(field => {
353
- field.data = data
353
+ // @ts-ignore TODO - remove this comment later
354
+ field.value = data
354
355
  })
355
356
  })
356
357
  }
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/tslib/tslib.d.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../../node_modules/@hatiolab/things-scene/things-scene.d.ts","./src/table-cell.ts","./src/table.ts","./src/data-list/data-cell.ts","./src/data-list/data-list-layout.ts","./src/data-list/data-list.ts","./src/index.ts","./src/helper-functions.ts","./src/types.ts","./src/templates/data-list.ts","./src/templates/table.ts","./src/templates/index.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","ca59fe42b81228a317812e95a2e72ccc8c7f1911b5f0c2a032adf41a0161ec5d","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"3f3330f446d443c272775bcb8248b9118213fe9859df8ea514b97376bd0bc2e0",{"version":"c1c32f1e881c3d3a972b8c27a53b2a95da88cafff6cc061eac14c6b00b96ac1a","signature":"f7997f38d67351639cf11db44bc40302d5bee20bc69494344935fafbe2c6283b"},{"version":"675c62f43aad2a8cbcef73164ef6106ad25b2ca4f3ac8767f93d700480ac902f","signature":"9771db34432fea0b7061abd293588bbec695518584fe3ff2f0e92b78f09e64d2"},{"version":"240d962f514929697cd87f46277df4e3e62cf202738a3711cb7b3dee45774051","signature":"cca4228ed9b2968292594f3531afc8facc32c550f687903a0740f1bf045c45ae"},{"version":"81fbe68c23d1b73f96b13a7988eea843711dd4e1a7bf129b75b87bb84a0ed825","signature":"592c7e5ea2df68aa407be1398a544900b41b58ee0345428d34223fc30d978240"},{"version":"875af8e70d75ee0b1ab1446c3d1b152b708e15b472d6a402e6a6c122a92b79f3","signature":"37e9a757ead13a2bcc691e2647268fd03f249219023072a32a8dc0db3bc5cc6e"},{"version":"0f1377d787433323434405a062d09a1398f5d33e1576f9c613673d9f469a7e0f","signature":"7d02d97a7a65065e1d520da2d020a3f25be2e84759bc46753477fe9a9f8b538c"},{"version":"0625b726e4880b25716f71774f0664db839c34a3eefaad994001e9abc542e103","signature":"439fd5a81064a5dacd76c2a119ba2e46ad5b8e2e18baca7d658ab769ba603599"},{"version":"baa275c80f50945517e25fc292e3e96f84b484282ebbeb3cdc15a12249f855f9","signature":"66bcab35d001493a84cdf682f0e313872d10b6ed388efe767bb21fd883c4eac6"},{"version":"3fc4d42c1027b356c77c522b7a3daca6e87e23d89c111a432fce43e7c1d58e09","signature":"66ec166d01b5aea41847fb62680d88b5688b0aaf9496c73951a4a6239bcb878f"},{"version":"652be17ef64607e9eb0a0e87d9ffb1325f461a20362c877e0003f196b217f762","signature":"72d84e028e717c9076493b4a96f9523d24f3ebd0e08744c18d3ef714c70c2eaf"},{"version":"02b675f5beeeaf581b1b21b7bc72a1d67964dd9bccfb69ae19a79731e26f92c1","signature":"5ec5bde912e6a83d79b62a2d034bd2daf05071307bb667da8562163381f57662"},"9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"3e4624c306340ad303cc536a07004e81336c3f088308a9e4a9f4c957a3cda2fd","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","34ec1daf3566f26c43dbab380af0de1aac29166e57e4f9ef379a2f154e0cb290","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"249a2b90439cdfd51709539fbfa4dfe0791cbae6efce1e9b327ba8f8cd703f49","affectsGlobalScope":true},"acc8fa7e1d03f0d8c4af03c75027086d80bf1cb17edd2d71313bee7bd12dfb91","a9b6b0f7b1e30359283b131ba6d1c51ee2d3601a2f12e1623141e6a1a60c92a5","aeee0090b38de0dd47ca9a79ad5c2d156e3e09d92306719b0b45a3e96098e564","7bac475dcdd9f7e4e9da934d32c305bc889c4ce3c8ac0ef45a93a8d670fff607","09416dd69576b03a3f485adf329a02f043e4a481e060ef5b208194e488d31fd9","8acf99b1c8682276a63ea5bb68433782715892726b97e4604a415e4e56bce41c",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"3b145a2351f5cf16abf999c8d5f4481c74dffdc54ec1e9a89992e2622e1226c5","a907bf91df26df2400858ef75f749498fb5cf00062bf90a737ac3949cc07978d","cb92bc2e42b261e4299025756f1beb826b3d9666a3f0d46f8a7254ca512f57e4","4275d5f964e7fc7afc18538e26b3748c207dd772998346d17f409749aa1f3a63",{"version":"59a638a504490fecaacf0020b9814b6abee37edb66047eb1ab9f7c2274bf1da0","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","8c4c1a64db28930732033c31418f817dcb9d09d706766707ae6d38f23faf0c53","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","556bf5c36deb62cffa1bf697c1789fe008ec82db0273025001db66732714e9d9","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","653968fc1b35c5eb3d273d36fac1c1dc66f9537edf28f33485b8776bd956e23d",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","a381f079c4804442f179d742fdb2e495fe28d67a47cac673485f75ae2e77aeca","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"bfe39beb986d2a2e512c091cbe924f1c415bc65de54de0e2f6a0dc6f84c183d9","affectsGlobalScope":true},"2af17363f8a062e3a8cd1b26030af0058b3f86e783f4fc6aa9f57247f240ebaa","06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","dfe08140492cdc135fb7fd9c4a652c05207b61a436906079b87da1d3111314bf","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","089e1f8603cbc35ab977c8dcc662eb754b82fca32ed1dfb16bd682726c2d5432","8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"64d5585e08ad1ab194b18bf4e851f22a626eae33ac7312ca4ba90bb7ea7daf64"],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":false,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./dist","rootDir":"./src","sourceMap":true,"strict":true,"target":5},"fileIdsList":[[55,112],[43,45,46,47,48,49,50,51,52,53,54,55,112],[43,44,46,47,48,49,50,51,52,53,54,55,112],[44,45,46,47,48,49,50,51,52,53,54,55,112],[43,44,45,47,48,49,50,51,52,53,54,55,112],[43,44,45,46,48,49,50,51,52,53,54,55,112],[43,44,45,46,47,49,50,51,52,53,54,55,112],[43,44,45,46,47,48,50,51,52,53,54,55,112],[43,44,45,46,47,48,49,51,52,53,54,55,112],[43,44,45,46,47,48,49,50,52,53,54,55,112],[43,44,45,46,47,48,49,50,51,53,54,55,112],[43,44,45,46,47,48,49,50,51,52,54,55,112],[43,44,45,46,47,48,49,50,51,52,53,55,112],[43,44,45,46,47,48,49,50,51,52,53,54,112],[68,112],[71,112],[72,77,112],[73,83,84,91,100,111,112],[73,74,83,91,112],[75,112],[76,77,84,92,112],[77,100,108,112],[78,80,83,91,112],[79,112],[80,81,112],[82,83,112],[83,112],[83,84,85,100,111,112],[83,84,85,100,103,112],[112,116],[112],[86,91,100,111,112],[83,84,86,87,91,100,108,111,112],[86,88,100,108,111,112],[68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118],[83,89,112],[90,111,112],[80,83,91,100,112],[92,112],[93,112],[71,94,112],[95,110,112,116],[96,112],[97,112],[83,98,112],[98,99,112,114],[83,100,101,102,103,112],[100,102,112],[100,101,112],[103,112],[104,112],[83,106,107,112],[106,107,112],[77,91,100,108,112],[109,112],[91,110,112],[72,86,97,111,112],[77,112],[100,112,113],[112,114],[112,115],[72,77,83,85,94,100,111,112,114,116],[100,112,117],[42,56,62,112],[42,56,59,61,112],[42,56,59,60,63,112],[42,57,58,61,112],[42,56,58,112],[42,56,57,63,112],[42,112],[42,65,66,112],[42,56,63,112],[56],[56,59,60,63],[56,62],[57,58,61],[56,57,63],[56,63]],"referencedMap":[[56,1],[44,2],[45,3],[43,4],[46,5],[47,6],[48,7],[49,8],[50,9],[51,10],[52,11],[53,12],[54,13],[55,14],[68,15],[69,15],[71,16],[72,17],[73,18],[74,19],[75,20],[76,21],[77,22],[78,23],[79,24],[80,25],[81,25],[82,26],[83,27],[84,28],[85,29],[70,30],[118,31],[86,32],[87,33],[88,34],[119,35],[89,36],[90,37],[91,38],[92,39],[93,40],[94,41],[95,42],[96,43],[97,44],[98,45],[99,46],[100,47],[102,48],[101,49],[103,50],[104,51],[105,31],[106,52],[107,53],[108,54],[109,55],[110,56],[111,57],[112,58],[113,59],[114,60],[115,61],[116,62],[117,63],[42,31],[8,31],[10,31],[9,31],[2,31],[11,31],[12,31],[13,31],[14,31],[15,31],[16,31],[17,31],[18,31],[3,31],[4,31],[22,31],[19,31],[20,31],[21,31],[23,31],[24,31],[25,31],[5,31],[26,31],[27,31],[28,31],[29,31],[6,31],[30,31],[31,31],[32,31],[33,31],[7,31],[34,31],[39,31],[40,31],[35,31],[36,31],[37,31],[38,31],[1,31],[41,31],[59,64],[60,65],[61,66],[63,64],[62,67],[57,68],[58,69],[65,70],[67,71],[66,70],[64,72]],"exportedModulesMap":[[56,1],[44,2],[45,3],[43,4],[46,5],[47,6],[48,7],[49,8],[50,9],[51,10],[52,11],[53,12],[54,13],[55,14],[68,15],[69,15],[71,16],[72,17],[73,18],[74,19],[75,20],[76,21],[77,22],[78,23],[79,24],[80,25],[81,25],[82,26],[83,27],[84,28],[85,29],[70,30],[118,31],[86,32],[87,33],[88,34],[119,35],[89,36],[90,37],[91,38],[92,39],[93,40],[94,41],[95,42],[96,43],[97,44],[98,45],[99,46],[100,47],[102,48],[101,49],[103,50],[104,51],[105,31],[106,52],[107,53],[108,54],[109,55],[110,56],[111,57],[112,58],[113,59],[114,60],[115,61],[116,62],[117,63],[42,31],[8,31],[10,31],[9,31],[2,31],[11,31],[12,31],[13,31],[14,31],[15,31],[16,31],[17,31],[18,31],[3,31],[4,31],[22,31],[19,31],[20,31],[21,31],[23,31],[24,31],[25,31],[5,31],[26,31],[27,31],[28,31],[29,31],[6,31],[30,31],[31,31],[32,31],[33,31],[7,31],[34,31],[39,31],[40,31],[35,31],[36,31],[37,31],[38,31],[1,31],[41,31],[59,73],[60,73],[61,74],[63,75],[62,76],[57,73],[58,77],[64,78]],"semanticDiagnosticsPerFile":[56,44,45,43,46,47,48,49,50,51,52,53,54,55,68,69,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,70,118,86,87,88,119,89,90,91,92,93,94,95,96,97,98,99,100,102,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,42,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,30,31,32,33,7,34,39,40,35,36,37,38,1,41,59,60,61,63,62,57,58,65,67,66,64]},"version":"4.7.4"}
1
+ {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/tslib/tslib.d.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../../node_modules/@hatiolab/things-scene/things-scene.d.ts","./src/table-cell.ts","./src/table.ts","./src/data-list/data-cell.ts","./src/data-list/data-list-layout.ts","./src/data-list/data-list.ts","./src/index.ts","./src/helper-functions.ts","./src/types.ts","./src/templates/data-list.ts","./src/templates/table.ts","./src/templates/index.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","ca59fe42b81228a317812e95a2e72ccc8c7f1911b5f0c2a032adf41a0161ec5d","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"3f3330f446d443c272775bcb8248b9118213fe9859df8ea514b97376bd0bc2e0",{"version":"c1c32f1e881c3d3a972b8c27a53b2a95da88cafff6cc061eac14c6b00b96ac1a","signature":"f7997f38d67351639cf11db44bc40302d5bee20bc69494344935fafbe2c6283b"},{"version":"675c62f43aad2a8cbcef73164ef6106ad25b2ca4f3ac8767f93d700480ac902f","signature":"9771db34432fea0b7061abd293588bbec695518584fe3ff2f0e92b78f09e64d2"},{"version":"e5457b43e4987b6b5dadeefdd4ae11b2787ca809d8bfcab87459546ba3702c3d","signature":"e1c2b72c82d4b574bdfc7040fa1bf9ebac600104d61481824d3cef6b09de5dd1"},{"version":"81fbe68c23d1b73f96b13a7988eea843711dd4e1a7bf129b75b87bb84a0ed825","signature":"592c7e5ea2df68aa407be1398a544900b41b58ee0345428d34223fc30d978240"},{"version":"10078a53ba2e1f8051a540a1dc9317a4f6c6d2ef420b26c32f9e89c3cecc58dd","signature":"37e9a757ead13a2bcc691e2647268fd03f249219023072a32a8dc0db3bc5cc6e"},{"version":"0f1377d787433323434405a062d09a1398f5d33e1576f9c613673d9f469a7e0f","signature":"7d02d97a7a65065e1d520da2d020a3f25be2e84759bc46753477fe9a9f8b538c"},{"version":"0625b726e4880b25716f71774f0664db839c34a3eefaad994001e9abc542e103","signature":"439fd5a81064a5dacd76c2a119ba2e46ad5b8e2e18baca7d658ab769ba603599"},{"version":"baa275c80f50945517e25fc292e3e96f84b484282ebbeb3cdc15a12249f855f9","signature":"66bcab35d001493a84cdf682f0e313872d10b6ed388efe767bb21fd883c4eac6"},{"version":"3fc4d42c1027b356c77c522b7a3daca6e87e23d89c111a432fce43e7c1d58e09","signature":"66ec166d01b5aea41847fb62680d88b5688b0aaf9496c73951a4a6239bcb878f"},{"version":"652be17ef64607e9eb0a0e87d9ffb1325f461a20362c877e0003f196b217f762","signature":"72d84e028e717c9076493b4a96f9523d24f3ebd0e08744c18d3ef714c70c2eaf"},{"version":"02b675f5beeeaf581b1b21b7bc72a1d67964dd9bccfb69ae19a79731e26f92c1","signature":"5ec5bde912e6a83d79b62a2d034bd2daf05071307bb667da8562163381f57662"},"9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"002d6d5f044365b3fbfba0ba9be3bb57cac09b81547c8df4b0795755d2081d90","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","34ec1daf3566f26c43dbab380af0de1aac29166e57e4f9ef379a2f154e0cb290","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"bae4ea23beb8397755b935cb84d3cdc6cdb0b1b4a329b90de9fc6c8774d71994","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","a9b6b0f7b1e30359283b131ba6d1c51ee2d3601a2f12e1623141e6a1a60c92a5","aeee0090b38de0dd47ca9a79ad5c2d156e3e09d92306719b0b45a3e96098e564","acfbb5aaef964e1d441f961a1846197f03241dba3c63b1e4d1903684888ef465","09416dd69576b03a3f485adf329a02f043e4a481e060ef5b208194e488d31fd9","8acf99b1c8682276a63ea5bb68433782715892726b97e4604a415e4e56bce41c",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"9499ba4dcd1ee0596d8c98d01341bc874840c5291156513bda667fecad54d5be","a907bf91df26df2400858ef75f749498fb5cf00062bf90a737ac3949cc07978d","cb92bc2e42b261e4299025756f1beb826b3d9666a3f0d46f8a7254ca512f57e4","4275d5f964e7fc7afc18538e26b3748c207dd772998346d17f409749aa1f3a63",{"version":"59104b2e80c588b813d03d3a45f57117ca4601ae3fc216c5ffbcbafc4effc1c5","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","8c4c1a64db28930732033c31418f817dcb9d09d706766707ae6d38f23faf0c53","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","556bf5c36deb62cffa1bf697c1789fe008ec82db0273025001db66732714e9d9","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","653968fc1b35c5eb3d273d36fac1c1dc66f9537edf28f33485b8776bd956e23d",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","a381f079c4804442f179d742fdb2e495fe28d67a47cac673485f75ae2e77aeca","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"bfe39beb986d2a2e512c091cbe924f1c415bc65de54de0e2f6a0dc6f84c183d9","affectsGlobalScope":true},"2af17363f8a062e3a8cd1b26030af0058b3f86e783f4fc6aa9f57247f240ebaa","06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","d2ec52f565f0570e90b659811347bd689f8c6039b11eaaccd0f243759d46da6e","8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"64d5585e08ad1ab194b18bf4e851f22a626eae33ac7312ca4ba90bb7ea7daf64"],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":false,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./dist","rootDir":"./src","sourceMap":true,"strict":true,"target":5},"fileIdsList":[[55,112],[43,45,46,47,48,49,50,51,52,53,54,55,112],[43,44,46,47,48,49,50,51,52,53,54,55,112],[44,45,46,47,48,49,50,51,52,53,54,55,112],[43,44,45,47,48,49,50,51,52,53,54,55,112],[43,44,45,46,48,49,50,51,52,53,54,55,112],[43,44,45,46,47,49,50,51,52,53,54,55,112],[43,44,45,46,47,48,50,51,52,53,54,55,112],[43,44,45,46,47,48,49,51,52,53,54,55,112],[43,44,45,46,47,48,49,50,52,53,54,55,112],[43,44,45,46,47,48,49,50,51,53,54,55,112],[43,44,45,46,47,48,49,50,51,52,54,55,112],[43,44,45,46,47,48,49,50,51,52,53,55,112],[43,44,45,46,47,48,49,50,51,52,53,54,112],[68,112],[71,112],[72,77,112],[73,83,84,91,100,111,112],[73,74,83,91,112],[75,112],[76,77,84,92,112],[77,100,108,112],[78,80,83,91,112],[79,112],[80,81,112],[82,83,112],[83,112],[83,84,85,100,111,112],[83,84,85,100,103,112],[112,116],[112],[86,91,100,111,112],[83,84,86,87,91,100,108,111,112],[86,88,100,108,111,112],[68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118],[83,89,112],[90,111,112],[80,83,91,100,112],[92,112],[93,112],[71,94,112],[95,110,112,116],[96,112],[97,112],[83,98,112],[98,99,112,114],[83,100,101,102,103,112],[100,102,112],[100,101,112],[103,112],[104,112],[83,106,107,112],[106,107,112],[77,91,100,108,112],[109,112],[91,110,112],[72,86,97,111,112],[77,112],[100,112,113],[112,114],[112,115],[72,77,83,85,94,100,111,112,114,116],[100,112,117],[42,56,62,112],[42,56,59,61,112],[42,56,59,60,63,112],[42,57,58,61,112],[42,56,58,112],[42,56,57,63,112],[42,112],[42,65,66,112],[42,56,63,112],[56],[56,59,60,63],[56,62],[57,58,61],[56,57,63],[56,63]],"referencedMap":[[56,1],[44,2],[45,3],[43,4],[46,5],[47,6],[48,7],[49,8],[50,9],[51,10],[52,11],[53,12],[54,13],[55,14],[68,15],[69,15],[71,16],[72,17],[73,18],[74,19],[75,20],[76,21],[77,22],[78,23],[79,24],[80,25],[81,25],[82,26],[83,27],[84,28],[85,29],[70,30],[118,31],[86,32],[87,33],[88,34],[119,35],[89,36],[90,37],[91,38],[92,39],[93,40],[94,41],[95,42],[96,43],[97,44],[98,45],[99,46],[100,47],[102,48],[101,49],[103,50],[104,51],[105,31],[106,52],[107,53],[108,54],[109,55],[110,56],[111,57],[112,58],[113,59],[114,60],[115,61],[116,62],[117,63],[42,31],[8,31],[10,31],[9,31],[2,31],[11,31],[12,31],[13,31],[14,31],[15,31],[16,31],[17,31],[18,31],[3,31],[4,31],[22,31],[19,31],[20,31],[21,31],[23,31],[24,31],[25,31],[5,31],[26,31],[27,31],[28,31],[29,31],[6,31],[30,31],[31,31],[32,31],[33,31],[7,31],[34,31],[39,31],[40,31],[35,31],[36,31],[37,31],[38,31],[1,31],[41,31],[59,64],[60,65],[61,66],[63,64],[62,67],[57,68],[58,69],[65,70],[67,71],[66,70],[64,72]],"exportedModulesMap":[[56,1],[44,2],[45,3],[43,4],[46,5],[47,6],[48,7],[49,8],[50,9],[51,10],[52,11],[53,12],[54,13],[55,14],[68,15],[69,15],[71,16],[72,17],[73,18],[74,19],[75,20],[76,21],[77,22],[78,23],[79,24],[80,25],[81,25],[82,26],[83,27],[84,28],[85,29],[70,30],[118,31],[86,32],[87,33],[88,34],[119,35],[89,36],[90,37],[91,38],[92,39],[93,40],[94,41],[95,42],[96,43],[97,44],[98,45],[99,46],[100,47],[102,48],[101,49],[103,50],[104,51],[105,31],[106,52],[107,53],[108,54],[109,55],[110,56],[111,57],[112,58],[113,59],[114,60],[115,61],[116,62],[117,63],[42,31],[8,31],[10,31],[9,31],[2,31],[11,31],[12,31],[13,31],[14,31],[15,31],[16,31],[17,31],[18,31],[3,31],[4,31],[22,31],[19,31],[20,31],[21,31],[23,31],[24,31],[25,31],[5,31],[26,31],[27,31],[28,31],[29,31],[6,31],[30,31],[31,31],[32,31],[33,31],[7,31],[34,31],[39,31],[40,31],[35,31],[36,31],[37,31],[38,31],[1,31],[41,31],[59,73],[60,73],[61,74],[63,75],[62,76],[57,73],[58,77],[64,78]],"semanticDiagnosticsPerFile":[56,44,45,43,46,47,48,49,50,51,52,53,54,55,68,69,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,70,118,86,87,88,119,89,90,91,92,93,94,95,96,97,98,99,100,102,101,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,42,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,30,31,32,33,7,34,39,40,35,36,37,38,1,41,59,60,61,63,62,57,58,65,67,66,64]},"version":"4.7.4"}
@@ -1,8 +0,0 @@
1
- 2022-08-04T15:06:24+09:00 info: File Storage is Ready.
2
- 2022-08-04T15:06:33+09:00 info: Database connection established
3
- 2022-08-04T15:06:42+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
4
- 2022-08-04T15:06:42+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
5
- 2022-08-04T15:10:53+09:00 info: File Storage is Ready.
6
- 2022-08-04T15:10:56+09:00 info: Database connection established
7
- 2022-08-04T15:10:58+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
8
- 2022-08-04T15:10:58+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
@@ -1,4 +0,0 @@
1
- 2022-08-04T20:13:37+09:00 info: File Storage is Ready.
2
- 2022-08-04T20:13:43+09:00 info: Database connection established
3
- 2022-08-04T20:13:45+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
4
- 2022-08-04T20:13:45+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
@@ -1,4 +0,0 @@
1
- 2022-08-04T21:07:46+09:00 info: File Storage is Ready.
2
- 2022-08-04T21:07:52+09:00 info: Database connection established
3
- 2022-08-04T21:07:53+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
4
- 2022-08-04T21:07:53+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
@@ -1,4 +0,0 @@
1
- 2022-08-04T22:48:41+09:00 info: File Storage is Ready.
2
- 2022-08-04T22:48:47+09:00 info: Database connection established
3
- 2022-08-04T22:48:48+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
4
- 2022-08-04T22:48:48+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
@@ -1,8 +0,0 @@
1
- 2022-08-04T23:11:31+09:00 info: File Storage is Ready.
2
- 2022-08-04T23:11:37+09:00 info: Database connection established
3
- 2022-08-04T23:11:38+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
4
- 2022-08-04T23:11:38+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
5
- 2022-08-04T23:30:26+09:00 info: File Storage is Ready.
6
- 2022-08-04T23:30:32+09:00 info: Database connection established
7
- 2022-08-04T23:30:35+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
8
- 2022-08-04T23:30:35+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql