@things-factory/integration-ui 9.0.0-beta.24 → 9.0.0-beta.27

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.
Files changed (120) hide show
  1. package/package.json +6 -6
  2. package/dist-client/analysis/graph-data.d.ts +0 -36
  3. package/dist-client/analysis/graph-data.js +0 -2
  4. package/dist-client/analysis/graph-data.js.map +0 -1
  5. package/dist-client/analysis/graph-viewer-style.d.ts +0 -1
  6. package/dist-client/analysis/graph-viewer-style.js +0 -121
  7. package/dist-client/analysis/graph-viewer-style.js.map +0 -1
  8. package/dist-client/analysis/graph-viewer.d.ts +0 -36
  9. package/dist-client/analysis/graph-viewer.js +0 -294
  10. package/dist-client/analysis/graph-viewer.js.map +0 -1
  11. package/dist-client/analysis/node.d.ts +0 -4
  12. package/dist-client/analysis/node.js +0 -59
  13. package/dist-client/analysis/node.js.map +0 -1
  14. package/dist-client/analysis/relationship.d.ts +0 -4
  15. package/dist-client/analysis/relationship.js +0 -13
  16. package/dist-client/analysis/relationship.js.map +0 -1
  17. package/dist-client/analysis/utils.d.ts +0 -20
  18. package/dist-client/analysis/utils.js +0 -31
  19. package/dist-client/analysis/utils.js.map +0 -1
  20. package/dist-client/bootstrap.d.ts +0 -3
  21. package/dist-client/bootstrap.js +0 -30
  22. package/dist-client/bootstrap.js.map +0 -1
  23. package/dist-client/editors/entity-editor.d.ts +0 -10
  24. package/dist-client/editors/entity-editor.js +0 -46
  25. package/dist-client/editors/entity-editor.js.map +0 -1
  26. package/dist-client/editors/entity-selector.d.ts +0 -31
  27. package/dist-client/editors/entity-selector.js +0 -301
  28. package/dist-client/editors/entity-selector.js.map +0 -1
  29. package/dist-client/editors/property-editor.d.ts +0 -30
  30. package/dist-client/editors/property-editor.js +0 -105
  31. package/dist-client/editors/property-editor.js.map +0 -1
  32. package/dist-client/editors/things-editor-db-procedure.d.ts +0 -52
  33. package/dist-client/editors/things-editor-db-procedure.js +0 -495
  34. package/dist-client/editors/things-editor-db-procedure.js.map +0 -1
  35. package/dist-client/editors/things-editor-entity-selector.d.ts +0 -15
  36. package/dist-client/editors/things-editor-entity-selector.js +0 -94
  37. package/dist-client/editors/things-editor-entity-selector.js.map +0 -1
  38. package/dist-client/editors/things-editor-http-body.d.ts +0 -22
  39. package/dist-client/editors/things-editor-http-body.js +0 -137
  40. package/dist-client/editors/things-editor-http-body.js.map +0 -1
  41. package/dist-client/editors/things-editor-http-headers.d.ts +0 -29
  42. package/dist-client/editors/things-editor-http-headers.js +0 -167
  43. package/dist-client/editors/things-editor-http-headers.js.map +0 -1
  44. package/dist-client/editors/things-editor-http-parameters.d.ts +0 -29
  45. package/dist-client/editors/things-editor-http-parameters.js +0 -167
  46. package/dist-client/editors/things-editor-http-parameters.js.map +0 -1
  47. package/dist-client/editors/things-editor-tag-scenarios.d.ts +0 -32
  48. package/dist-client/editors/things-editor-tag-scenarios.js +0 -226
  49. package/dist-client/editors/things-editor-tag-scenarios.js.map +0 -1
  50. package/dist-client/grist/connection-selector.d.ts +0 -4
  51. package/dist-client/grist/connection-selector.js +0 -30
  52. package/dist-client/grist/connection-selector.js.map +0 -1
  53. package/dist-client/grist/connector-selector.d.ts +0 -4
  54. package/dist-client/grist/connector-selector.js +0 -30
  55. package/dist-client/grist/connector-selector.js.map +0 -1
  56. package/dist-client/grist/dynamic-selector.d.ts +0 -10
  57. package/dist-client/grist/dynamic-selector.js +0 -32
  58. package/dist-client/grist/dynamic-selector.js.map +0 -1
  59. package/dist-client/grist/task-type-selector.d.ts +0 -7
  60. package/dist-client/grist/task-type-selector.js +0 -58
  61. package/dist-client/grist/task-type-selector.js.map +0 -1
  62. package/dist-client/index.d.ts +0 -2
  63. package/dist-client/index.js +0 -3
  64. package/dist-client/index.js.map +0 -1
  65. package/dist-client/pages/connection-importer.d.ts +0 -10
  66. package/dist-client/pages/connection-importer.js +0 -102
  67. package/dist-client/pages/connection-importer.js.map +0 -1
  68. package/dist-client/pages/connection.d.ts +0 -64
  69. package/dist-client/pages/connection.js +0 -478
  70. package/dist-client/pages/connection.js.map +0 -1
  71. package/dist-client/pages/integration-analysis.d.ts +0 -24
  72. package/dist-client/pages/integration-analysis.js +0 -238
  73. package/dist-client/pages/integration-analysis.js.map +0 -1
  74. package/dist-client/pages/integration-monitor.d.ts +0 -28
  75. package/dist-client/pages/integration-monitor.js +0 -343
  76. package/dist-client/pages/integration-monitor.js.map +0 -1
  77. package/dist-client/pages/scenario-detail.d.ts +0 -2
  78. package/dist-client/pages/scenario-detail.js +0 -298
  79. package/dist-client/pages/scenario-detail.js.map +0 -1
  80. package/dist-client/pages/scenario-importer.d.ts +0 -10
  81. package/dist-client/pages/scenario-importer.js +0 -108
  82. package/dist-client/pages/scenario-importer.js.map +0 -1
  83. package/dist-client/pages/scenario.d.ts +0 -69
  84. package/dist-client/pages/scenario.js +0 -632
  85. package/dist-client/pages/scenario.js.map +0 -1
  86. package/dist-client/pages/state-register.d.ts +0 -50
  87. package/dist-client/pages/state-register.js +0 -278
  88. package/dist-client/pages/state-register.js.map +0 -1
  89. package/dist-client/route.d.ts +0 -1
  90. package/dist-client/route.js +0 -20
  91. package/dist-client/route.js.map +0 -1
  92. package/dist-client/tsconfig.tsbuildinfo +0 -1
  93. package/dist-client/viewparts/connections-monitor.d.ts +0 -10
  94. package/dist-client/viewparts/connections-monitor.js +0 -172
  95. package/dist-client/viewparts/connections-monitor.js.map +0 -1
  96. package/dist-client/viewparts/monitoring-summary.d.ts +0 -13
  97. package/dist-client/viewparts/monitoring-summary.js +0 -142
  98. package/dist-client/viewparts/monitoring-summary.js.map +0 -1
  99. package/dist-client/viewparts/pending-q-monitor.d.ts +0 -18
  100. package/dist-client/viewparts/pending-q-monitor.js +0 -248
  101. package/dist-client/viewparts/pending-q-monitor.js.map +0 -1
  102. package/dist-client/viewparts/scenario-instance-log-view.d.ts +0 -24
  103. package/dist-client/viewparts/scenario-instance-log-view.js +0 -141
  104. package/dist-client/viewparts/scenario-instance-log-view.js.map +0 -1
  105. package/dist-client/viewparts/scenario-instance-monitor.d.ts +0 -15
  106. package/dist-client/viewparts/scenario-instance-monitor.js +0 -173
  107. package/dist-client/viewparts/scenario-instance-monitor.js.map +0 -1
  108. package/dist-client/viewparts/scenario-instance-view.d.ts +0 -29
  109. package/dist-client/viewparts/scenario-instance-view.js +0 -263
  110. package/dist-client/viewparts/scenario-instance-view.js.map +0 -1
  111. package/dist-client/viewparts/scenario-monitor.d.ts +0 -16
  112. package/dist-client/viewparts/scenario-monitor.js +0 -285
  113. package/dist-client/viewparts/scenario-monitor.js.map +0 -1
  114. package/dist-client/viewparts/scenarios-monitor.d.ts +0 -16
  115. package/dist-client/viewparts/scenarios-monitor.js +0 -170
  116. package/dist-client/viewparts/scenarios-monitor.js.map +0 -1
  117. package/dist-server/index.d.ts +0 -0
  118. package/dist-server/index.js +0 -1
  119. package/dist-server/index.js.map +0 -1
  120. package/dist-server/tsconfig.tsbuildinfo +0 -1
@@ -1,167 +0,0 @@
1
- /**
2
- * @license Copyright © HatioLab Inc. All rights reserved.
3
- */
4
- import { __decorate, __metadata } from "tslib";
5
- import { css, html, LitElement } from 'lit';
6
- import { customElement, property } from 'lit/decorators.js';
7
- /**
8
- http parameters editor element
9
-
10
- Example:
11
-
12
- <things-editor-http-parameters value=${map}>
13
- </things-editor-http-parameters>
14
- */
15
- let ThingsEditorHttpParameters = class ThingsEditorHttpParameters extends LitElement {
16
- constructor() {
17
- super(...arguments);
18
- this.value = {};
19
- this._changingNow = false;
20
- }
21
- firstUpdated() {
22
- this.renderRoot.addEventListener('change', this._onChange.bind(this));
23
- }
24
- render() {
25
- return html `
26
- ${this._toArray(this.value).map(item => html `
27
- <div data-record>
28
- <input type="text" data-key placeholder="key" .value=${item.key} />
29
- <input type="text" data-value placeholder="value" .value=${item.value} />
30
- <button class="record-action" @click=${e => this._delete(e)} tabindex="-1">x</button>
31
- </div>
32
- `)}
33
-
34
- <div data-record-new>
35
- <input type="text" data-key placeholder="key" value="" />
36
- <input type="text" data-value placeholder="value" value="" />
37
- <button class="record-action" @click=${e => this._add()} tabindex="-1">+</button>
38
- </div>
39
- `;
40
- }
41
- _onChange(e) {
42
- if (this._changingNow) {
43
- return;
44
- }
45
- this._changingNow = true;
46
- var input = e.target;
47
- var value = input.value;
48
- var div = input.parentElement;
49
- if (div.hasAttribute('data-record')) {
50
- var dataList = div.querySelectorAll('[data-value]:not([hidden])');
51
- for (var i = 0; i < dataList.length; i++) {
52
- if (dataList[i] !== input) {
53
- dataList[i].value = value || '';
54
- }
55
- }
56
- }
57
- if (div.hasAttribute('data-record')) {
58
- this._build();
59
- }
60
- else if (div.hasAttribute('data-record-new') && input.hasAttribute('data-value')) {
61
- this._add();
62
- }
63
- this._changingNow = false;
64
- }
65
- _build(includeNewRecord) {
66
- if (includeNewRecord)
67
- var records = this.renderRoot.querySelectorAll('[data-record],[data-record-new]');
68
- else
69
- var records = this.renderRoot.querySelectorAll('[data-record]');
70
- var newmap = {};
71
- for (var i = 0; i < records.length; i++) {
72
- var record = records[i];
73
- var key = record.querySelector('[data-key]').value;
74
- var inputs = record.querySelectorAll('[data-value]:not([style*="display: none"])');
75
- if (!inputs || inputs.length == 0)
76
- continue;
77
- var input = inputs[inputs.length - 1];
78
- var value = input.value;
79
- if (key)
80
- newmap[key] = value || '';
81
- }
82
- this.value = newmap;
83
- this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }));
84
- }
85
- /* map아이템들을 template(dom-repeat)용 배열로 변환하는 함수 */
86
- _toArray(map) {
87
- var array = [];
88
- for (var key in map) {
89
- array.push({
90
- key: key,
91
- value: map[key]
92
- });
93
- }
94
- return array;
95
- }
96
- _add() {
97
- this._build(true);
98
- var inputs = this.renderRoot.querySelectorAll('[data-record-new] input:not([style*="display: none"])');
99
- for (var i = 0; i < inputs.length; i++) {
100
- let input = inputs[i];
101
- input.value = '';
102
- }
103
- ;
104
- inputs[0].focus();
105
- }
106
- _delete(e) {
107
- var record = e.target.parentElement;
108
- record.querySelector('[data-key]').value = '';
109
- this._build();
110
- }
111
- };
112
- ThingsEditorHttpParameters.styles = [
113
- css `
114
- :host {
115
- display: flex;
116
- flex-direction: column;
117
- align-content: center;
118
-
119
- width: 100%;
120
- overflow: hidden;
121
- border: 1px solid #ccc;
122
- margin: 5px 0;
123
-
124
- background-color: #ddd;
125
- }
126
-
127
- div {
128
- display: flex;
129
- flex-flow: row nowrap;
130
- align-items: center;
131
- }
132
-
133
- div > * {
134
- min-width: 0px;
135
- min-height: 20px;
136
- margin: 2px;
137
- padding: 0;
138
- }
139
-
140
- button {
141
- width: 20px;
142
- text-align: center;
143
- border-radius: 50%;
144
- font-size: 1em;
145
- }
146
-
147
- input {
148
- flex: 1;
149
- }
150
-
151
- select,
152
- ox-select,
153
- input:not([type='checkbox']) {
154
- border: 1px solid rgba(0, 0, 0, 0.2);
155
- border-radius: 4px;
156
- }
157
- `
158
- ];
159
- __decorate([
160
- property({ type: Object }),
161
- __metadata("design:type", Object)
162
- ], ThingsEditorHttpParameters.prototype, "value", void 0);
163
- ThingsEditorHttpParameters = __decorate([
164
- customElement('things-editor-http-parameters')
165
- ], ThingsEditorHttpParameters);
166
- export default ThingsEditorHttpParameters;
167
- //# sourceMappingURL=things-editor-http-parameters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"things-editor-http-parameters.js","sourceRoot":"","sources":["../../client/editors/things-editor-http-parameters.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE3D;;;;;;;EAOE;AAEa,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,UAAU;IAAnD;;QAiDe,UAAK,GAA8B,EAAE,CAAA;QAEjE,iBAAY,GAAY,KAAK,CAAA;IAgH/B,CAAC;IA9GC,YAAY;QACV,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAC7B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA;;mEAE+C,IAAI,CAAC,GAAG;uEACJ,IAAI,CAAC,KAAK;mDAC9B,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;;SAE9D,CACF;;;;;+CAKwC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;;KAE1D,CAAA;IACH,CAAC;IAED,SAAS,CAAC,CAAC;QACT,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QAExB,IAAI,KAAK,GAAG,CAAC,CAAC,MAAM,CAAA;QACpB,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QAEvB,IAAI,GAAG,GAAG,KAAK,CAAC,aAAa,CAAA;QAE7B,IAAI,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,IAAI,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,CAAA;YACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;oBAC1B,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAA;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,EAAE,CAAA;QACf,CAAC;aAAM,IAAI,GAAG,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC,IAAI,EAAE,CAAA;QACb,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;IAC3B,CAAC;IAED,MAAM,CAAC,gBAAiB;QACtB,IAAI,gBAAgB;YAAE,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,iCAAiC,CAAC,CAAA;;YAClG,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAA;QAEpE,IAAI,MAAM,GAAG,EAAE,CAAA;QAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YAEvB,IAAI,GAAG,GAAI,MAAM,CAAC,aAAa,CAAC,YAAY,CAAsB,CAAC,KAAK,CAAA;YACxE,IAAI,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,4CAA4C,CAAC,CAAA;YAClF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;gBAAE,SAAQ;YAE3C,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAqB,CAAA;YAEzD,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;YAEvB,IAAI,GAAG;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,CAAA;QACpC,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,MAAM,CAAA;QACnB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAClF,CAAC;IAED,gDAAgD;IAChD,QAAQ,CAAC,GAAG;QACV,IAAI,KAAK,GAA+B,EAAE,CAAA;QAE1C,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,EAAE,GAAG;gBACR,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC;aAChB,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAEjB,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,uDAAuD,CAAC,CAAA;QAEtG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAqB,CAAA;YACzC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAA;QAClB,CAAC;QAED,CAAC;QAAC,MAAM,CAAC,CAAC,CAAsB,CAAC,KAAK,EAAE,CAAA;IAC1C,CAAC;IAED,OAAO,CAAC,CAAC;QACP,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAA;QACnC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,KAAK,GAAG,EAAE,CAAA;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAA;IACf,CAAC;;AAjKM,iCAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4CF;CACF,AA9CY,CA8CZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;yDAAsC;AAjD9C,0BAA0B;IAD9C,aAAa,CAAC,+BAA+B,CAAC;GAC1B,0BAA0B,CAmK9C;eAnKoB,0BAA0B","sourcesContent":["/**\n * @license Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\nhttp parameters editor element\n\nExample:\n\n <things-editor-http-parameters value=${map}>\n </things-editor-http-parameters>\n*/\n@customElement('things-editor-http-parameters')\nexport default class ThingsEditorHttpParameters extends LitElement {\n static styles = [\n css`\n :host {\n display: flex;\n flex-direction: column;\n align-content: center;\n\n width: 100%;\n overflow: hidden;\n border: 1px solid #ccc;\n margin: 5px 0;\n\n background-color: #ddd;\n }\n\n div {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n }\n\n div > * {\n min-width: 0px;\n min-height: 20px;\n margin: 2px;\n padding: 0;\n }\n\n button {\n width: 20px;\n text-align: center;\n border-radius: 50%;\n font-size: 1em;\n }\n\n input {\n flex: 1;\n }\n\n select,\n ox-select,\n input:not([type='checkbox']) {\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 4px;\n }\n `\n ]\n\n @property({ type: Object }) value: { [key: string]: string } = {}\n\n _changingNow: boolean = false\n\n firstUpdated() {\n this.renderRoot.addEventListener('change', this._onChange.bind(this))\n }\n\n render() {\n return html`\n ${this._toArray(this.value).map(\n item => html`\n <div data-record>\n <input type=\"text\" data-key placeholder=\"key\" .value=${item.key} />\n <input type=\"text\" data-value placeholder=\"value\" .value=${item.value} />\n <button class=\"record-action\" @click=${e => this._delete(e)} tabindex=\"-1\">x</button>\n </div>\n `\n )}\n\n <div data-record-new>\n <input type=\"text\" data-key placeholder=\"key\" value=\"\" />\n <input type=\"text\" data-value placeholder=\"value\" value=\"\" />\n <button class=\"record-action\" @click=${e => this._add()} tabindex=\"-1\">+</button>\n </div>\n `\n }\n\n _onChange(e) {\n if (this._changingNow) {\n return\n }\n\n this._changingNow = true\n\n var input = e.target\n var value = input.value\n\n var div = input.parentElement\n\n if (div.hasAttribute('data-record')) {\n var dataList = div.querySelectorAll('[data-value]:not([hidden])')\n for (var i = 0; i < dataList.length; i++) {\n if (dataList[i] !== input) {\n dataList[i].value = value || ''\n }\n }\n }\n\n if (div.hasAttribute('data-record')) {\n this._build()\n } else if (div.hasAttribute('data-record-new') && input.hasAttribute('data-value')) {\n this._add()\n }\n\n this._changingNow = false\n }\n\n _build(includeNewRecord?) {\n if (includeNewRecord) var records = this.renderRoot.querySelectorAll('[data-record],[data-record-new]')\n else var records = this.renderRoot.querySelectorAll('[data-record]')\n\n var newmap = {}\n\n for (var i = 0; i < records.length; i++) {\n var record = records[i]\n\n var key = (record.querySelector('[data-key]') as HTMLInputElement).value\n var inputs = record.querySelectorAll('[data-value]:not([style*=\"display: none\"])')\n if (!inputs || inputs.length == 0) continue\n\n var input = inputs[inputs.length - 1] as HTMLInputElement\n\n var value = input.value\n\n if (key) newmap[key] = value || ''\n }\n\n this.value = newmap\n this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }))\n }\n\n /* map아이템들을 template(dom-repeat)용 배열로 변환하는 함수 */\n _toArray(map) {\n var array: { key: any; value: any }[] = []\n\n for (var key in map) {\n array.push({\n key: key,\n value: map[key]\n })\n }\n\n return array\n }\n\n _add() {\n this._build(true)\n\n var inputs = this.renderRoot.querySelectorAll('[data-record-new] input:not([style*=\"display: none\"])')\n\n for (var i = 0; i < inputs.length; i++) {\n let input = inputs[i] as HTMLInputElement\n input.value = ''\n }\n\n ;(inputs[0] as HTMLInputElement).focus()\n }\n\n _delete(e) {\n var record = e.target.parentElement\n record.querySelector('[data-key]').value = ''\n this._build()\n }\n}\n"]}
@@ -1,32 +0,0 @@
1
- /**
2
- * @license Copyright © HatioLab Inc. All rights reserved.
3
- */
4
- import '@operato/input/ox-select.js';
5
- import { LitElement } from 'lit';
6
- /**
7
- tag-scenarios map editor element
8
-
9
- Example:
10
-
11
- <things-editor-tag-scenarios value=${map}>
12
- </things-editor-tag-scenarios>
13
- */
14
- export default class ThingsEditorTagScenarios extends LitElement {
15
- static styles: import("lit").CSSResult[];
16
- value: {
17
- [key: string]: string;
18
- };
19
- _changingNow: boolean;
20
- private scenarios;
21
- firstUpdated(): void;
22
- fetchScenarios(): Promise<void>;
23
- render(): import("lit-html").TemplateResult<1>;
24
- _onChange(e: any): void;
25
- _build(includeNewRecord?: any): void;
26
- _toArray(map: any): {
27
- key: any;
28
- value: any;
29
- }[];
30
- _add(): void;
31
- _delete(e: any): void;
32
- }
@@ -1,226 +0,0 @@
1
- /**
2
- * @license Copyright © HatioLab Inc. All rights reserved.
3
- */
4
- import { __decorate, __metadata } from "tslib";
5
- import '@operato/input/ox-select.js';
6
- import gql from 'graphql-tag';
7
- import { css, html, LitElement } from 'lit';
8
- import { customElement, property, state } from 'lit/decorators.js';
9
- import { keyed } from 'lit/directives/keyed.js';
10
- import { client } from '@operato/graphql';
11
- /**
12
- tag-scenarios map editor element
13
-
14
- Example:
15
-
16
- <things-editor-tag-scenarios value=${map}>
17
- </things-editor-tag-scenarios>
18
- */
19
- let ThingsEditorTagScenarios = class ThingsEditorTagScenarios extends LitElement {
20
- constructor() {
21
- super(...arguments);
22
- this.value = {};
23
- this._changingNow = false;
24
- this.scenarios = [];
25
- }
26
- firstUpdated() {
27
- this.renderRoot.addEventListener('change', this._onChange.bind(this));
28
- this.fetchScenarios();
29
- }
30
- async fetchScenarios() {
31
- const { data, errors } = await client.query({
32
- query: gql `
33
- query {
34
- scenarios {
35
- items {
36
- id
37
- name
38
- }
39
- }
40
- }
41
- `
42
- });
43
- if (data) {
44
- this.scenarios = ((data === null || data === void 0 ? void 0 : data.scenarios.items) || []).map(item => item.name);
45
- }
46
- }
47
- render() {
48
- const spec = {
49
- queryName: 'scenarios'
50
- };
51
- return html `
52
- ${this._toArray(this.value).map(item => html `
53
- <div data-record>
54
- <input type="text" data-key placeholder="(set tag)" .value=${item.key} />
55
- <ox-select data-value placeholder="(select scenario)" .value=${item.value}>
56
- <ox-popup-list with-search>
57
- <div option value="">&nbsp;</div>
58
- ${this.scenarios.map(scenario => html ` <div option value=${scenario}>${scenario}</div> `)}
59
- </ox-popup-list>
60
- </ox-select>
61
-
62
- <button class="record-action" @click=${e => this._delete(e)} tabindex="-1">x</button>
63
- </div>
64
- `)}
65
-
66
- <div data-record-new>
67
- <input type="text" data-key placeholder="(set tag)" value="" />
68
- ${keyed(Date.now(), html `
69
- <ox-select data-value placeholder="(select scenario)" value="">
70
- <ox-popup-list with-search>
71
- <div option value="">&nbsp;</div>
72
- ${this.scenarios.map(scenario => html ` <div option value=${scenario}>${scenario}</div> `)}
73
- </ox-popup-list>
74
- </ox-select>
75
- `)}
76
-
77
- <button class="record-action" @click=${e => this._add()} tabindex="-1">+</button>
78
- </div>
79
- `;
80
- }
81
- _onChange(e) {
82
- if (this._changingNow) {
83
- return;
84
- }
85
- this._changingNow = true;
86
- var input = e.target;
87
- var value = input.value;
88
- var div = input.parentElement;
89
- if (div.hasAttribute('data-record')) {
90
- var dataList = div.querySelectorAll('[data-value]:not([hidden])');
91
- for (var i = 0; i < dataList.length; i++) {
92
- if (dataList[i] !== input) {
93
- dataList[i].value = value || '';
94
- }
95
- }
96
- }
97
- if (div.hasAttribute('data-record')) {
98
- this._build();
99
- }
100
- else if (div.hasAttribute('data-record-new') && input.hasAttribute('data-value')) {
101
- this._add();
102
- }
103
- this._changingNow = false;
104
- }
105
- _build(includeNewRecord) {
106
- if (includeNewRecord)
107
- var records = this.renderRoot.querySelectorAll('[data-record],[data-record-new]');
108
- else
109
- var records = this.renderRoot.querySelectorAll('[data-record]');
110
- var newmap = {};
111
- for (var i = 0; i < records.length; i++) {
112
- var record = records[i];
113
- var key = record.querySelector('[data-key]').value;
114
- var inputs = record.querySelectorAll('[data-value]:not([style*="display: none"])');
115
- if (!inputs || inputs.length == 0)
116
- continue;
117
- var input = inputs[inputs.length - 1];
118
- var value = input.value;
119
- if (key)
120
- newmap[key] = value || '';
121
- }
122
- this.value = newmap;
123
- this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }));
124
- }
125
- /* map아이템들을 template(dom-repeat)용 배열로 변환하는 함수 */
126
- _toArray(map) {
127
- var array = [];
128
- for (var key in map) {
129
- array.push({
130
- key: key,
131
- value: map[key]
132
- });
133
- }
134
- return array;
135
- }
136
- _add() {
137
- this._build(true);
138
- var inputs = this.renderRoot.querySelectorAll('[data-record-new] input:not([style*="display: none"])');
139
- for (var i = 0; i < inputs.length; i++) {
140
- let input = inputs[i];
141
- input.value = '';
142
- }
143
- ;
144
- inputs[0].focus();
145
- }
146
- _delete(e) {
147
- var record = e.target.parentElement;
148
- record.querySelector('[data-key]').value = '';
149
- this._build();
150
- }
151
- };
152
- ThingsEditorTagScenarios.styles = [
153
- css `
154
- :host {
155
- display: flex;
156
- flex-direction: column;
157
- align-content: center;
158
-
159
- width: 100%;
160
- overflow: visible;
161
- border: 1px solid #ccc;
162
- margin: 5px 0;
163
-
164
- background-color: #ddd;
165
- }
166
-
167
- div[data-record],
168
- div[data-record-new] {
169
- display: flex;
170
- flex-flow: row nowrap;
171
- align-items: center;
172
- }
173
-
174
- div[data-record] > *,
175
- div[data-record-new] > * {
176
- min-height: 20px;
177
- margin: 2px;
178
- }
179
-
180
- button {
181
- text-align: center;
182
- border-radius: 50%;
183
- font-size: 1em;
184
- }
185
-
186
- input,
187
- ox-select {
188
- flex: 1;
189
- }
190
-
191
- input {
192
- padding: 5px;
193
- box-sizing: border-box;
194
- }
195
-
196
- ox-select {
197
- --input-padding: 4px;
198
- }
199
-
200
- ox-popup-list {
201
- max-height: 300px;
202
- overflow: auto;
203
- }
204
-
205
- select,
206
- ox-select,
207
- input:not([type='checkbox']) {
208
- border: 1px solid rgba(0, 0, 0, 0.2);
209
- border-radius: 4px;
210
- background-color: var(--md-sys-color-surface);
211
- }
212
- `
213
- ];
214
- __decorate([
215
- property({ type: Object }),
216
- __metadata("design:type", Object)
217
- ], ThingsEditorTagScenarios.prototype, "value", void 0);
218
- __decorate([
219
- state(),
220
- __metadata("design:type", Array)
221
- ], ThingsEditorTagScenarios.prototype, "scenarios", void 0);
222
- ThingsEditorTagScenarios = __decorate([
223
- customElement('things-editor-tag-scenarios')
224
- ], ThingsEditorTagScenarios);
225
- export default ThingsEditorTagScenarios;
226
- //# sourceMappingURL=things-editor-tag-scenarios.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"things-editor-tag-scenarios.js","sourceRoot":"","sources":["../../client/editors/things-editor-tag-scenarios.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport '@operato/input/ox-select.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { keyed } from 'lit/directives/keyed.js'\n\nimport { client } from '@operato/graphql'\n\n/**\ntag-scenarios map editor element\n\nExample:\n\n <things-editor-tag-scenarios value=${map}>\n </things-editor-tag-scenarios>\n*/\n@customElement('things-editor-tag-scenarios')\nexport default class ThingsEditorTagScenarios extends LitElement {\n static styles = [\n css`\n :host {\n display: flex;\n flex-direction: column;\n align-content: center;\n\n width: 100%;\n overflow: visible;\n border: 1px solid #ccc;\n margin: 5px 0;\n\n background-color: #ddd;\n }\n\n div[data-record],\n div[data-record-new] {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n }\n\n div[data-record] > *,\n div[data-record-new] > * {\n min-height: 20px;\n margin: 2px;\n }\n\n button {\n text-align: center;\n border-radius: 50%;\n font-size: 1em;\n }\n\n input,\n ox-select {\n flex: 1;\n }\n\n input {\n padding: 5px;\n box-sizing: border-box;\n }\n\n ox-select {\n --input-padding: 4px;\n }\n\n ox-popup-list {\n max-height: 300px;\n overflow: auto;\n }\n\n select,\n ox-select,\n input:not([type='checkbox']) {\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 4px;\n background-color: var(--md-sys-color-surface);\n }\n `\n ]\n\n @property({ type: Object }) value: { [key: string]: string } = {}\n\n _changingNow: boolean = false\n\n @state() private scenarios: string[] = []\n\n firstUpdated() {\n this.renderRoot.addEventListener('change', this._onChange.bind(this))\n this.fetchScenarios()\n }\n\n async fetchScenarios() {\n const { data, errors } = await client.query({\n query: gql`\n query {\n scenarios {\n items {\n id\n name\n }\n }\n }\n `\n })\n\n if (data) {\n this.scenarios = (data?.scenarios.items || []).map(item => item.name)\n }\n }\n\n render() {\n const spec = {\n queryName: 'scenarios'\n }\n\n return html`\n ${this._toArray(this.value).map(\n item => html`\n <div data-record>\n <input type=\"text\" data-key placeholder=\"(set tag)\" .value=${item.key} />\n <ox-select data-value placeholder=\"(select scenario)\" .value=${item.value}>\n <ox-popup-list with-search>\n <div option value=\"\">&nbsp;</div>\n ${this.scenarios.map(scenario => html` <div option value=${scenario}>${scenario}</div> `)}\n </ox-popup-list>\n </ox-select>\n\n <button class=\"record-action\" @click=${e => this._delete(e)} tabindex=\"-1\">x</button>\n </div>\n `\n )}\n\n <div data-record-new>\n <input type=\"text\" data-key placeholder=\"(set tag)\" value=\"\" />\n ${keyed(\n Date.now(),\n html`\n <ox-select data-value placeholder=\"(select scenario)\" value=\"\">\n <ox-popup-list with-search>\n <div option value=\"\">&nbsp;</div>\n ${this.scenarios.map(scenario => html` <div option value=${scenario}>${scenario}</div> `)}\n </ox-popup-list>\n </ox-select>\n `\n )}\n\n <button class=\"record-action\" @click=${e => this._add()} tabindex=\"-1\">+</button>\n </div>\n `\n }\n\n _onChange(e) {\n if (this._changingNow) {\n return\n }\n\n this._changingNow = true\n\n var input = e.target\n var value = input.value\n\n var div = input.parentElement\n\n if (div.hasAttribute('data-record')) {\n var dataList = div.querySelectorAll('[data-value]:not([hidden])')\n for (var i = 0; i < dataList.length; i++) {\n if (dataList[i] !== input) {\n dataList[i].value = value || ''\n }\n }\n }\n\n if (div.hasAttribute('data-record')) {\n this._build()\n } else if (div.hasAttribute('data-record-new') && input.hasAttribute('data-value')) {\n this._add()\n }\n\n this._changingNow = false\n }\n\n _build(includeNewRecord?) {\n if (includeNewRecord) var records = this.renderRoot.querySelectorAll('[data-record],[data-record-new]')\n else var records = this.renderRoot.querySelectorAll('[data-record]')\n\n var newmap = {}\n\n for (var i = 0; i < records.length; i++) {\n var record = records[i]\n\n var key = (record.querySelector('[data-key]') as HTMLInputElement).value\n var inputs = record.querySelectorAll('[data-value]:not([style*=\"display: none\"])')\n if (!inputs || inputs.length == 0) continue\n\n var input = inputs[inputs.length - 1] as HTMLInputElement\n\n var value = input.value\n\n if (key) newmap[key] = value || ''\n }\n\n this.value = newmap\n this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }))\n }\n\n /* map아이템들을 template(dom-repeat)용 배열로 변환하는 함수 */\n _toArray(map) {\n var array: { key: any; value: any }[] = []\n\n for (var key in map) {\n array.push({\n key: key,\n value: map[key]\n })\n }\n\n return array\n }\n\n _add() {\n this._build(true)\n\n var inputs = this.renderRoot.querySelectorAll('[data-record-new] input:not([style*=\"display: none\"])')\n\n for (var i = 0; i < inputs.length; i++) {\n let input = inputs[i] as HTMLInputElement\n input.value = ''\n }\n\n ;(inputs[0] as HTMLInputElement).focus()\n }\n\n _delete(e) {\n var record = e.target.parentElement\n record.querySelector('[data-key]').value = ''\n this._build()\n }\n}\n"]}
@@ -1,4 +0,0 @@
1
- import { DynamicSelector } from './dynamic-selector.js';
2
- export declare class ConnectionSelector extends DynamicSelector {
3
- getOptions(): Promise<any>;
4
- }
@@ -1,30 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import gql from 'graphql-tag';
3
- import { customElement } from 'lit/decorators.js';
4
- import { client } from '@operato/graphql';
5
- import { DynamicSelector } from './dynamic-selector.js';
6
- const FETCH_CONNECTIONS_GQL = gql `
7
- {
8
- connections {
9
- items {
10
- name
11
- description
12
- }
13
-
14
- total
15
- }
16
- }
17
- `;
18
- let ConnectionSelector = class ConnectionSelector extends DynamicSelector {
19
- async getOptions() {
20
- var response = await client.query({
21
- query: FETCH_CONNECTIONS_GQL
22
- });
23
- return (response && response.data && response.data.connections.items) || [];
24
- }
25
- };
26
- ConnectionSelector = __decorate([
27
- customElement('connection-selector')
28
- ], ConnectionSelector);
29
- export { ConnectionSelector };
30
- //# sourceMappingURL=connection-selector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection-selector.js","sourceRoot":"","sources":["../../client/grist/connection-selector.ts"],"names":[],"mappings":";AAAA,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,MAAM,qBAAqB,GAAG,GAAG,CAAA;;;;;;;;;;;CAWhC,CAAA;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,eAAe;IACrD,KAAK,CAAC,UAAU;QACd,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;YAChC,KAAK,EAAE,qBAAqB;SAC7B,CAAC,CAAA;QAEF,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAC7E,CAAC;CACF,CAAA;AARY,kBAAkB;IAD9B,aAAa,CAAC,qBAAqB,CAAC;GACxB,kBAAkB,CAQ9B","sourcesContent":["import gql from 'graphql-tag'\nimport { customElement } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\n\nimport { DynamicSelector } from './dynamic-selector.js'\n\nconst FETCH_CONNECTIONS_GQL = gql`\n {\n connections {\n items {\n name\n description\n }\n\n total\n }\n }\n`\n\n@customElement('connection-selector')\nexport class ConnectionSelector extends DynamicSelector {\n async getOptions() {\n var response = await client.query({\n query: FETCH_CONNECTIONS_GQL\n })\n\n return (response && response.data && response.data.connections.items) || []\n }\n}\n"]}
@@ -1,4 +0,0 @@
1
- import { DynamicSelector } from './dynamic-selector.js';
2
- export declare class ConnectorSelector extends DynamicSelector {
3
- getOptions(): Promise<any>;
4
- }
@@ -1,30 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import gql from 'graphql-tag';
3
- import { customElement } from 'lit/decorators.js';
4
- import { client } from '@operato/graphql';
5
- import { DynamicSelector } from './dynamic-selector.js';
6
- const FETCH_CONNECTORS_GQL = gql `
7
- {
8
- connectors {
9
- items {
10
- name
11
- description
12
- }
13
-
14
- total
15
- }
16
- }
17
- `;
18
- let ConnectorSelector = class ConnectorSelector extends DynamicSelector {
19
- async getOptions() {
20
- var response = await client.query({
21
- query: FETCH_CONNECTORS_GQL
22
- });
23
- return (response && response.data && response.data.connectors.items) || [];
24
- }
25
- };
26
- ConnectorSelector = __decorate([
27
- customElement('connector-selector')
28
- ], ConnectorSelector);
29
- export { ConnectorSelector };
30
- //# sourceMappingURL=connector-selector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connector-selector.js","sourceRoot":"","sources":["../../client/grist/connector-selector.ts"],"names":[],"mappings":";AAAA,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,MAAM,oBAAoB,GAAG,GAAG,CAAA;;;;;;;;;;;CAW/B,CAAA;AAGM,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,eAAe;IACpD,KAAK,CAAC,UAAU;QACd,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;YAChC,KAAK,EAAE,oBAAoB;SAC5B,CAAC,CAAA;QAEF,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5E,CAAC;CACF,CAAA;AARY,iBAAiB;IAD7B,aAAa,CAAC,oBAAoB,CAAC;GACvB,iBAAiB,CAQ7B","sourcesContent":["import gql from 'graphql-tag'\nimport { customElement } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\n\nimport { DynamicSelector } from './dynamic-selector.js'\n\nconst FETCH_CONNECTORS_GQL = gql`\n {\n connectors {\n items {\n name\n description\n }\n\n total\n }\n }\n`\n\n@customElement('connector-selector')\nexport class ConnectorSelector extends DynamicSelector {\n async getOptions() {\n var response = await client.query({\n query: FETCH_CONNECTORS_GQL\n })\n\n return (response && response.data && response.data.connectors.items) || []\n }\n}\n"]}
@@ -1,10 +0,0 @@
1
- import { OxGristEditor } from '@operato/data-grist';
2
- export declare class DynamicSelector extends OxGristEditor {
3
- options: any;
4
- getOptions(): Promise<{
5
- name: string;
6
- description: string;
7
- }[]>;
8
- firstUpdated(): Promise<void>;
9
- get editorTemplate(): import("lit-html").TemplateResult<1>;
10
- }
@@ -1,32 +0,0 @@
1
- import { OxGristEditor } from '@operato/data-grist';
2
- import { html } from 'lit';
3
- const EMPTY_OPTION = { name: '', value: '' };
4
- export class DynamicSelector extends OxGristEditor {
5
- async getOptions() {
6
- return [];
7
- }
8
- async firstUpdated() {
9
- super.firstUpdated();
10
- var { options } = this.column.record || [];
11
- if (!options) {
12
- var dynamic = await this.getOptions();
13
- if (dynamic.unshift) {
14
- dynamic.unshift(EMPTY_OPTION);
15
- }
16
- else {
17
- dynamic = [EMPTY_OPTION];
18
- }
19
- this.column.record.options = dynamic;
20
- this.requestUpdate();
21
- }
22
- }
23
- get editorTemplate() {
24
- var { options = [EMPTY_OPTION] } = this.column.record || {};
25
- return html `
26
- <select>
27
- ${options.map(option => html ` <option ?selected=${option.name == this.value} value=${option.name}>${option.name}</option> `)}
28
- </select>
29
- `;
30
- }
31
- }
32
- //# sourceMappingURL=dynamic-selector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dynamic-selector.js","sourceRoot":"","sources":["../../client/grist/dynamic-selector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAE1B,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;AAE5C,MAAM,OAAO,eAAgB,SAAQ,aAAa;IAGhD,KAAK,CAAC,UAAU;QACd,OAAO,EAAE,CAAA;IACX,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,KAAK,CAAC,YAAY,EAAE,CAAA;QAEpB,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAA;QAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,OAAO,GAAQ,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;YAC1C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YAC/B,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,CAAC,YAAY,CAAC,CAAA;YAC1B,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;YACpC,IAAI,CAAC,aAAa,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;IAED,IAAI,cAAc;QAChB,IAAI,EAAE,OAAO,GAAG,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAA;QAE3D,OAAO,IAAI,CAAA;;UAEL,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAA,sBAAsB,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,UAAU,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,YAAY,CAAC;;KAE/H,CAAA;IACH,CAAC;CACF","sourcesContent":["import { OxGristEditor } from '@operato/data-grist'\nimport { html } from 'lit'\n\nconst EMPTY_OPTION = { name: '', value: '' }\n\nexport class DynamicSelector extends OxGristEditor {\n options: any\n\n async getOptions(): Promise<{ name: string; description: string }[]> {\n return []\n }\n\n async firstUpdated() {\n super.firstUpdated()\n\n var { options } = this.column.record || []\n\n if (!options) {\n var dynamic: any = await this.getOptions()\n if (dynamic.unshift) {\n dynamic.unshift(EMPTY_OPTION)\n } else {\n dynamic = [EMPTY_OPTION]\n }\n\n this.column.record.options = dynamic\n this.requestUpdate()\n }\n }\n\n get editorTemplate() {\n var { options = [EMPTY_OPTION] } = this.column.record || {}\n\n return html`\n <select>\n ${options.map(option => html` <option ?selected=${option.name == this.value} value=${option.name}>${option.name}</option> `)}\n </select>\n `\n }\n}\n"]}
@@ -1,7 +0,0 @@
1
- import { OxGristEditor } from '@operato/data-grist';
2
- export declare class TaskTypeSelector extends OxGristEditor {
3
- options: any;
4
- getOptions(): Promise<any>;
5
- firstUpdated(): Promise<void>;
6
- get editorTemplate(): import("lit-html").TemplateResult<1>;
7
- }