@operato/board 0.3.18 → 0.3.22

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 (41) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/custom-elements.json +202 -202
  3. package/dist/src/modeller/property-sidebar/data-binding/data-binding-mapper.d.ts +1 -0
  4. package/dist/src/modeller/property-sidebar/data-binding/data-binding-mapper.js +9 -8
  5. package/dist/src/modeller/property-sidebar/data-binding/data-binding-mapper.js.map +1 -1
  6. package/dist/src/modeller/property-sidebar/data-binding/data-binding.d.ts +1 -0
  7. package/dist/src/modeller/property-sidebar/data-binding/data-binding.js +8 -7
  8. package/dist/src/modeller/property-sidebar/data-binding/data-binding.js.map +1 -1
  9. package/dist/src/modeller/property-sidebar/effects/effects.d.ts +1 -0
  10. package/dist/src/modeller/property-sidebar/effects/effects.js +3 -2
  11. package/dist/src/modeller/property-sidebar/effects/effects.js.map +1 -1
  12. package/dist/src/modeller/property-sidebar/effects/property-animation.d.ts +1 -0
  13. package/dist/src/modeller/property-sidebar/effects/property-animation.js +11 -10
  14. package/dist/src/modeller/property-sidebar/effects/property-animation.js.map +1 -1
  15. package/dist/src/modeller/property-sidebar/effects/property-event-hover.d.ts +1 -0
  16. package/dist/src/modeller/property-sidebar/effects/property-event-hover.js +6 -5
  17. package/dist/src/modeller/property-sidebar/effects/property-event-hover.js.map +1 -1
  18. package/dist/src/modeller/property-sidebar/effects/property-event-tap.d.ts +1 -0
  19. package/dist/src/modeller/property-sidebar/effects/property-event-tap.js +5 -4
  20. package/dist/src/modeller/property-sidebar/effects/property-event-tap.js.map +1 -1
  21. package/dist/src/modeller/property-sidebar/effects/property-shadow.d.ts +1 -0
  22. package/dist/src/modeller/property-sidebar/effects/property-shadow.js +4 -3
  23. package/dist/src/modeller/property-sidebar/effects/property-shadow.js.map +1 -1
  24. package/dist/src/modeller/property-sidebar/shapes/shapes.d.ts +1 -0
  25. package/dist/src/modeller/property-sidebar/shapes/shapes.js +21 -20
  26. package/dist/src/modeller/property-sidebar/shapes/shapes.js.map +1 -1
  27. package/dist/src/modeller/property-sidebar/styles/styles.d.ts +1 -0
  28. package/dist/src/modeller/property-sidebar/styles/styles.js +14 -13
  29. package/dist/src/modeller/property-sidebar/styles/styles.js.map +1 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/package.json +13 -12
  32. package/src/modeller/property-sidebar/data-binding/data-binding-mapper.ts +9 -8
  33. package/src/modeller/property-sidebar/data-binding/data-binding.ts +8 -7
  34. package/src/modeller/property-sidebar/effects/effects.ts +5 -3
  35. package/src/modeller/property-sidebar/effects/property-animation.ts +11 -10
  36. package/src/modeller/property-sidebar/effects/property-event-hover.ts +6 -5
  37. package/src/modeller/property-sidebar/effects/property-event-tap.ts +5 -4
  38. package/src/modeller/property-sidebar/effects/property-shadow.ts +4 -3
  39. package/src/modeller/property-sidebar/shapes/shapes.ts +21 -20
  40. package/src/modeller/property-sidebar/styles/styles.ts +14 -13
  41. package/yarn-error.log +0 -18355
package/CHANGELOG.md CHANGED
@@ -3,6 +3,41 @@
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
+ ### [0.3.22](https://github.com/hatiolab/operato/compare/v0.3.21...v0.3.22) (2022-01-30)
7
+
8
+
9
+ ### :rocket: New Features
10
+
11
+ * started help and layout module ([08f875c](https://github.com/hatiolab/operato/commit/08f875cd30aa914901c249c8c0b462ce4a151c23))
12
+
13
+
14
+
15
+ ### [0.3.21](https://github.com/hatiolab/operato/compare/v0.3.20...v0.3.21) (2022-01-29)
16
+
17
+
18
+ ### :rocket: New Features
19
+
20
+ * i18n module added, shell module started to cover client core part ([a976dad](https://github.com/hatiolab/operato/commit/a976dad6353962e489d8e648af9598b6a51e5ec7))
21
+
22
+
23
+
24
+ ### [0.3.20](https://github.com/hatiolab/operato/compare/v0.3.19...v0.3.20) (2022-01-28)
25
+
26
+
27
+ ### :bug: Bug Fix
28
+
29
+ * operato/graphql ApolloClient create parameter ([6b591ed](https://github.com/hatiolab/operato/commit/6b591edaa873c343793b33195f7076d9617d7ebf))
30
+
31
+
32
+
33
+ ### [0.3.19](https://github.com/hatiolab/operato/compare/v0.3.18...v0.3.19) (2022-01-25)
34
+
35
+ **Note:** Version bump only for package @operato/board
36
+
37
+
38
+
39
+
40
+
6
41
  ### [0.3.18](https://github.com/hatiolab/operato/compare/v0.3.17...v0.3.18) (2022-01-23)
7
42
 
8
43
  **Note:** Version bump only for package @operato/board
@@ -5197,208 +5197,6 @@
5197
5197
  }
5198
5198
  ]
5199
5199
  },
5200
- {
5201
- "kind": "javascript-module",
5202
- "path": "src/modeller/property-sidebar/inspector/inspector.ts",
5203
- "declarations": [
5204
- {
5205
- "kind": "class",
5206
- "description": "",
5207
- "name": "SceneInspector",
5208
- "members": [
5209
- {
5210
- "kind": "field",
5211
- "name": "scene",
5212
- "type": {
5213
- "text": "Scene | undefined"
5214
- },
5215
- "attribute": "scene"
5216
- },
5217
- {
5218
- "kind": "field",
5219
- "name": "_extendedMap",
5220
- "type": {
5221
- "text": "any"
5222
- },
5223
- "privacy": "private"
5224
- },
5225
- {
5226
- "kind": "field",
5227
- "name": "show",
5228
- "type": {
5229
- "text": "boolean"
5230
- },
5231
- "privacy": "private",
5232
- "default": "false"
5233
- },
5234
- {
5235
- "kind": "field",
5236
- "name": "sortableConfig",
5237
- "type": {
5238
- "text": "Sortable.Options"
5239
- },
5240
- "default": "{\n group: 'inspector',\n animation: 150,\n draggable: '.component',\n swapThreshold: 1,\n onSort: this.onSort.bind(this)\n }"
5241
- },
5242
- {
5243
- "kind": "method",
5244
- "name": "onSort",
5245
- "parameters": [
5246
- {
5247
- "name": "e",
5248
- "type": {
5249
- "text": "Sortable.SortableEvent"
5250
- }
5251
- }
5252
- ]
5253
- },
5254
- {
5255
- "kind": "method",
5256
- "name": "_onclick",
5257
- "parameters": [
5258
- {
5259
- "name": "e",
5260
- "type": {
5261
- "text": "MouseEvent"
5262
- }
5263
- }
5264
- ]
5265
- },
5266
- {
5267
- "kind": "method",
5268
- "name": "_ondblclick",
5269
- "parameters": [
5270
- {
5271
- "name": "e",
5272
- "type": {
5273
- "text": "MouseEvent"
5274
- }
5275
- }
5276
- ]
5277
- },
5278
- {
5279
- "kind": "field",
5280
- "name": "extendedMap"
5281
- },
5282
- {
5283
- "kind": "method",
5284
- "name": "getNodeHandleClass",
5285
- "parameters": [
5286
- {
5287
- "name": "component",
5288
- "type": {
5289
- "text": "Component"
5290
- }
5291
- }
5292
- ]
5293
- },
5294
- {
5295
- "kind": "method",
5296
- "name": "isExtended",
5297
- "parameters": [
5298
- {
5299
- "name": "component",
5300
- "type": {
5301
- "text": "Component"
5302
- }
5303
- }
5304
- ]
5305
- },
5306
- {
5307
- "kind": "method",
5308
- "name": "toggleExtended",
5309
- "parameters": [
5310
- {
5311
- "name": "component",
5312
- "type": {
5313
- "text": "Component"
5314
- }
5315
- }
5316
- ]
5317
- },
5318
- {
5319
- "kind": "method",
5320
- "name": "toggleHidden",
5321
- "parameters": [
5322
- {
5323
- "name": "component",
5324
- "type": {
5325
- "text": "Component"
5326
- }
5327
- }
5328
- ]
5329
- },
5330
- {
5331
- "kind": "method",
5332
- "name": "selectComponent",
5333
- "parameters": [
5334
- {
5335
- "name": "component",
5336
- "type": {
5337
- "text": "Component"
5338
- }
5339
- }
5340
- ]
5341
- },
5342
- {
5343
- "kind": "method",
5344
- "name": "renderComponent",
5345
- "return": {
5346
- "type": {
5347
- "text": "TemplateResult"
5348
- }
5349
- },
5350
- "parameters": [
5351
- {
5352
- "name": "component",
5353
- "type": {
5354
- "text": "Component"
5355
- }
5356
- },
5357
- {
5358
- "name": "depth",
5359
- "type": {
5360
- "text": "number"
5361
- }
5362
- }
5363
- ]
5364
- }
5365
- ],
5366
- "attributes": [
5367
- {
5368
- "name": "scene",
5369
- "type": {
5370
- "text": "Scene | undefined"
5371
- },
5372
- "fieldName": "scene"
5373
- }
5374
- ],
5375
- "superclass": {
5376
- "name": "LitElement",
5377
- "package": "lit"
5378
- },
5379
- "tagName": "scene-inspector",
5380
- "customElement": true
5381
- }
5382
- ],
5383
- "exports": [
5384
- {
5385
- "kind": "js",
5386
- "name": "default",
5387
- "declaration": {
5388
- "name": "SceneInspector",
5389
- "module": "src/modeller/property-sidebar/inspector/inspector.ts"
5390
- }
5391
- },
5392
- {
5393
- "kind": "custom-element-definition",
5394
- "name": "scene-inspector",
5395
- "declaration": {
5396
- "name": "SceneInspector",
5397
- "module": "src/modeller/property-sidebar/inspector/inspector.ts"
5398
- }
5399
- }
5400
- ]
5401
- },
5402
5200
  {
5403
5201
  "kind": "javascript-module",
5404
5202
  "path": "src/modeller/property-sidebar/effects/effects-shared-style.ts",
@@ -6118,6 +5916,208 @@
6118
5916
  }
6119
5917
  ]
6120
5918
  },
5919
+ {
5920
+ "kind": "javascript-module",
5921
+ "path": "src/modeller/property-sidebar/inspector/inspector.ts",
5922
+ "declarations": [
5923
+ {
5924
+ "kind": "class",
5925
+ "description": "",
5926
+ "name": "SceneInspector",
5927
+ "members": [
5928
+ {
5929
+ "kind": "field",
5930
+ "name": "scene",
5931
+ "type": {
5932
+ "text": "Scene | undefined"
5933
+ },
5934
+ "attribute": "scene"
5935
+ },
5936
+ {
5937
+ "kind": "field",
5938
+ "name": "_extendedMap",
5939
+ "type": {
5940
+ "text": "any"
5941
+ },
5942
+ "privacy": "private"
5943
+ },
5944
+ {
5945
+ "kind": "field",
5946
+ "name": "show",
5947
+ "type": {
5948
+ "text": "boolean"
5949
+ },
5950
+ "privacy": "private",
5951
+ "default": "false"
5952
+ },
5953
+ {
5954
+ "kind": "field",
5955
+ "name": "sortableConfig",
5956
+ "type": {
5957
+ "text": "Sortable.Options"
5958
+ },
5959
+ "default": "{\n group: 'inspector',\n animation: 150,\n draggable: '.component',\n swapThreshold: 1,\n onSort: this.onSort.bind(this)\n }"
5960
+ },
5961
+ {
5962
+ "kind": "method",
5963
+ "name": "onSort",
5964
+ "parameters": [
5965
+ {
5966
+ "name": "e",
5967
+ "type": {
5968
+ "text": "Sortable.SortableEvent"
5969
+ }
5970
+ }
5971
+ ]
5972
+ },
5973
+ {
5974
+ "kind": "method",
5975
+ "name": "_onclick",
5976
+ "parameters": [
5977
+ {
5978
+ "name": "e",
5979
+ "type": {
5980
+ "text": "MouseEvent"
5981
+ }
5982
+ }
5983
+ ]
5984
+ },
5985
+ {
5986
+ "kind": "method",
5987
+ "name": "_ondblclick",
5988
+ "parameters": [
5989
+ {
5990
+ "name": "e",
5991
+ "type": {
5992
+ "text": "MouseEvent"
5993
+ }
5994
+ }
5995
+ ]
5996
+ },
5997
+ {
5998
+ "kind": "field",
5999
+ "name": "extendedMap"
6000
+ },
6001
+ {
6002
+ "kind": "method",
6003
+ "name": "getNodeHandleClass",
6004
+ "parameters": [
6005
+ {
6006
+ "name": "component",
6007
+ "type": {
6008
+ "text": "Component"
6009
+ }
6010
+ }
6011
+ ]
6012
+ },
6013
+ {
6014
+ "kind": "method",
6015
+ "name": "isExtended",
6016
+ "parameters": [
6017
+ {
6018
+ "name": "component",
6019
+ "type": {
6020
+ "text": "Component"
6021
+ }
6022
+ }
6023
+ ]
6024
+ },
6025
+ {
6026
+ "kind": "method",
6027
+ "name": "toggleExtended",
6028
+ "parameters": [
6029
+ {
6030
+ "name": "component",
6031
+ "type": {
6032
+ "text": "Component"
6033
+ }
6034
+ }
6035
+ ]
6036
+ },
6037
+ {
6038
+ "kind": "method",
6039
+ "name": "toggleHidden",
6040
+ "parameters": [
6041
+ {
6042
+ "name": "component",
6043
+ "type": {
6044
+ "text": "Component"
6045
+ }
6046
+ }
6047
+ ]
6048
+ },
6049
+ {
6050
+ "kind": "method",
6051
+ "name": "selectComponent",
6052
+ "parameters": [
6053
+ {
6054
+ "name": "component",
6055
+ "type": {
6056
+ "text": "Component"
6057
+ }
6058
+ }
6059
+ ]
6060
+ },
6061
+ {
6062
+ "kind": "method",
6063
+ "name": "renderComponent",
6064
+ "return": {
6065
+ "type": {
6066
+ "text": "TemplateResult"
6067
+ }
6068
+ },
6069
+ "parameters": [
6070
+ {
6071
+ "name": "component",
6072
+ "type": {
6073
+ "text": "Component"
6074
+ }
6075
+ },
6076
+ {
6077
+ "name": "depth",
6078
+ "type": {
6079
+ "text": "number"
6080
+ }
6081
+ }
6082
+ ]
6083
+ }
6084
+ ],
6085
+ "attributes": [
6086
+ {
6087
+ "name": "scene",
6088
+ "type": {
6089
+ "text": "Scene | undefined"
6090
+ },
6091
+ "fieldName": "scene"
6092
+ }
6093
+ ],
6094
+ "superclass": {
6095
+ "name": "LitElement",
6096
+ "package": "lit"
6097
+ },
6098
+ "tagName": "scene-inspector",
6099
+ "customElement": true
6100
+ }
6101
+ ],
6102
+ "exports": [
6103
+ {
6104
+ "kind": "js",
6105
+ "name": "default",
6106
+ "declaration": {
6107
+ "name": "SceneInspector",
6108
+ "module": "src/modeller/property-sidebar/inspector/inspector.ts"
6109
+ }
6110
+ },
6111
+ {
6112
+ "kind": "custom-element-definition",
6113
+ "name": "scene-inspector",
6114
+ "declaration": {
6115
+ "name": "SceneInspector",
6116
+ "module": "src/modeller/property-sidebar/inspector/inspector.ts"
6117
+ }
6118
+ }
6119
+ ]
6120
+ },
6121
6121
  {
6122
6122
  "kind": "javascript-module",
6123
6123
  "path": "src/modeller/property-sidebar/shapes/box-padding-editor-styles.ts",
@@ -5,6 +5,7 @@ import '@things-factory/modeller-ui/client/editors/things-editor-value-map';
5
5
  import '@things-factory/modeller-ui/client/editors/things-editor-value-range';
6
6
  import '@operato/input/ox-buttons-radio.js';
7
7
  import '@operato/input/ox-input-code.js';
8
+ import '@operato/i18n/ox-i18n.js';
8
9
  import { LitElement, PropertyValues } from 'lit';
9
10
  import { Properties, Scene } from '@hatiolab/things-scene';
10
11
  export declare type Rule = {
@@ -6,6 +6,7 @@ import '@things-factory/modeller-ui/client/editors/things-editor-value-map';
6
6
  import '@things-factory/modeller-ui/client/editors/things-editor-value-range';
7
7
  import '@operato/input/ox-buttons-radio.js';
8
8
  import '@operato/input/ox-input-code.js';
9
+ import '@operato/i18n/ox-i18n.js';
9
10
  import { css, html, LitElement } from 'lit';
10
11
  import { customElement, property, query, state } from 'lit/decorators.js';
11
12
  /**
@@ -54,7 +55,7 @@ let DataBindingMapper = class DataBindingMapper extends LitElement {
54
55
  rule: 'value'
55
56
  };
56
57
  return html `
57
- <label for="accessor-input"> <i18n-msg msgid="label.accessor">accessor</i18n-msg> </label>
58
+ <label for="accessor-input"> <ox-i18n msgid="label.accessor">accessor</ox-i18n> </label>
58
59
  <input
59
60
  id="accessor-input"
60
61
  value-key="accessor"
@@ -63,7 +64,7 @@ let DataBindingMapper = class DataBindingMapper extends LitElement {
63
64
  .value=${mapping.accessor || ''}
64
65
  />
65
66
 
66
- <label for="target-input"> <i18n-msg msgid="label.target">target</i18n-msg> </label>
67
+ <label for="target-input"> <ox-i18n msgid="label.target">target</ox-i18n> </label>
67
68
  <input
68
69
  id="target-input"
69
70
  type="text"
@@ -84,17 +85,17 @@ let DataBindingMapper = class DataBindingMapper extends LitElement {
84
85
  : html ``}
85
86
  </datalist>
86
87
 
87
- <label for="property-input"> <i18n-msg msgid="label.property">property</i18n-msg> </label>
88
+ <label for="property-input"> <ox-i18n msgid="label.property">property</ox-i18n> </label>
88
89
  <select id="property-input" value-key="property" .value=${mapping.property}>
89
90
  ${this.properties.map(item => html ` <option .value=${item.name} ?selected=${item.name == mapping.property}>${item.label}</option> `)}
90
91
  </select>
91
92
 
92
- <label> <i18n-msg msgid="label.rule-type">rule type</i18n-msg> </label>
93
+ <label> <ox-i18n msgid="label.rule-type">rule type</ox-i18n> </label>
93
94
  <ox-buttons-radio .value=${mapping.rule} @change=${(e) => this._onChangeRule(e)}>
94
- <div data-value="value"><i18n-msg msgid="label.value"></i18n-msg></div>
95
- <div data-value="map"><i18n-msg msgid="label.map"></i18n-msg></div>
96
- <div data-value="range"><i18n-msg msgid="label.range"></i18n-msg></div>
97
- <div data-value="eval"><i18n-msg msgid="label.eval"></i18n-msg></div>
95
+ <div data-value="value"><ox-i18n msgid="label.value"></ox-i18n></div>
96
+ <div data-value="map"><ox-i18n msgid="label.map"></ox-i18n></div>
97
+ <div data-value="range"><ox-i18n msgid="label.range"></ox-i18n></div>
98
+ <div data-value="eval"><ox-i18n msgid="label.eval"></ox-i18n></div>
98
99
  </ox-buttons-radio>
99
100
 
100
101
  <div rule-editors class="content" ?hidden=${mapping.rule == 'value'}>
@@ -1 +1 @@
1
- {"version":3,"file":"data-binding-mapper.js","sourceRoot":"","sources":["../../../../../src/modeller/property-sidebar/data-binding/data-binding-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport '@things-factory/modeller-ui/client/editors/things-editor-value-map'\nimport '@things-factory/modeller-ui/client/editors/things-editor-value-range'\nimport '@operato/input/ox-buttons-radio.js'\nimport '@operato/input/ox-input-code.js'\n\nimport { css, html, LitElement, PropertyValues } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { Properties, Scene } from '@hatiolab/things-scene'\n\nexport type Rule =\n | {\n map?: Properties\n range?: Properties[]\n eval?: string\n }\n | any\n\nexport type Mapping = {\n rule: 'map' | 'range' | 'eval' | 'value'\n accessor?: string\n target?: string\n property?: string\n param?: Rule\n}\n\n/**\nelement for mapping data value editing\n\nExample:\n\n <data-binding-mapper mapping=${mapping}>\n </data-binding-mapper>\n*/\n\n@customElement('data-binding-mapper')\nexport default class DataBindingMapper extends LitElement {\n static styles = [\n css`\n :host {\n background-color: rgba(255, 255, 255, 0.5);\n overflow: hidden;\n padding: 7px 0 0 0;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-width: 0 1px 1px 1px;\n padding: 4px;\n line-height: 2;\n\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n grid-gap: 4px;\n grid-auto-rows: minmax(24px, auto);\n\n align-items: center;\n }\n\n :host > * {\n align-self: stretch;\n }\n\n label {\n grid-column: span 3;\n text-align: right;\n text-transform: capitalize;\n }\n\n input,\n select,\n ox-buttons-radio,\n [mapping-rule] {\n grid-column: span 7;\n }\n input,\n select {\n border: var(--property-sidebar-fieldset-border);\n }\n\n ox-buttons-radio {\n display: flex;\n padding: 0 4px;\n }\n\n ox-buttons-radio > * {\n text-align: center;\n flex: 1;\n margin: 2px;\n border-bottom: 2px solid #fff;\n }\n\n ox-buttons-radio div[active] {\n border-color: #f2471c;\n }\n\n select {\n height: 22px;\n }\n\n [mapping-rule] {\n display: flex;\n }\n\n [mapping-rule] * {\n flex: auto;\n margin: 0;\n text-align: left;\n align-self: center;\n }\n\n [rule-editors] {\n grid-column: span 10;\n\n display: 'flex';\n align-content: auto;\n }\n\n [rule-editors] :not([active]) {\n display: none;\n }\n\n ox-input-code {\n height: 300px;\n overflow: auto;\n }\n `\n ]\n\n @property({ type: Object }) mapping: Mapping = {\n rule: 'value'\n }\n @property({ type: Object }) rule: Rule = {}\n @property({ type: Array }) properties: Properties[] = []\n @property({ type: Object }) scene?: Scene\n\n @state() _valueTypes: any = {\n play: 'boolean',\n hidden: 'boolean',\n started: 'boolean',\n\n rotation: 'number',\n value: 'number',\n\n fillStyle: 'color',\n strokeStyle: 'color',\n fontColor: 'color',\n\n data: 'object',\n source: 'object',\n location: 'object',\n dimension: 'object',\n\n text: 'string',\n ref: 'string'\n }\n @state() _componentIds: any[] = []\n\n @query('#eval-editor') editor!: HTMLInputElement\n @query('#target-input') target!: HTMLInputElement\n\n firstUpdated() {\n this.renderRoot.addEventListener('change', e => this._onChange(e))\n }\n\n updated(changes: PropertyValues<this>) {\n changes.has('mapping') && this._onChangedMapping()\n }\n\n render() {\n const mapping = this.mapping || {\n rule: 'value'\n }\n\n return html`\n <label for=\"accessor-input\"> <i18n-msg msgid=\"label.accessor\">accessor</i18n-msg> </label>\n <input\n id=\"accessor-input\"\n value-key=\"accessor\"\n type=\"text\"\n data-mapping-accessor\n .value=${mapping.accessor || ''}\n />\n\n <label for=\"target-input\"> <i18n-msg msgid=\"label.target\">target</i18n-msg> </label>\n <input\n id=\"target-input\"\n type=\"text\"\n value-key=\"target\"\n list=\"target-list\"\n .value=${mapping.target || ''}\n @focusin=${() => {\n if (!this.scene) this._componentIds = []\n this._componentIds = this.scene!.ids.map(info => info.key).filter(id => !!id)\n }}\n />\n <datalist id=\"target-list\">\n <option value=\"(self)\"></option>\n <option value=\"(key)\"></option>\n ${this._componentIds.length\n ? html` ${this._componentIds.map(id => html` <option value=${id}></option> `)} `\n : html``}\n </datalist>\n\n <label for=\"property-input\"> <i18n-msg msgid=\"label.property\">property</i18n-msg> </label>\n <select id=\"property-input\" value-key=\"property\" .value=${mapping.property}>\n ${this.properties.map(\n item => html` <option .value=${item.name} ?selected=${item.name == mapping.property}>${item.label}</option> `\n )}\n </select>\n\n <label> <i18n-msg msgid=\"label.rule-type\">rule type</i18n-msg> </label>\n <ox-buttons-radio .value=${mapping.rule} @change=${(e: Event) => this._onChangeRule(e)}>\n <div data-value=\"value\"><i18n-msg msgid=\"label.value\"></i18n-msg></div>\n <div data-value=\"map\"><i18n-msg msgid=\"label.map\"></i18n-msg></div>\n <div data-value=\"range\"><i18n-msg msgid=\"label.range\"></i18n-msg></div>\n <div data-value=\"eval\"><i18n-msg msgid=\"label.eval\"></i18n-msg></div>\n </ox-buttons-radio>\n\n <div rule-editors class=\"content\" ?hidden=${mapping.rule == 'value'}>\n <things-editor-value-map\n value-key=\"map\"\n .value=${this.rule.map || {}}\n .valuetype=${this._valuetype(mapping.property!)}\n ?active=${mapping.rule == 'map'}\n >\n </things-editor-value-map>\n\n <things-editor-value-range\n value-key=\"range\"\n .value=${this.rule.range || []}\n .valuetype=${this._valuetype(mapping.property!)}\n ?active=${mapping.rule == 'range'}\n >\n </things-editor-value-range>\n\n <ox-input-code\n value-key=\"eval\"\n id=\"eval-editor\"\n .value=${this.rule.eval || ''}\n ?active=${mapping.rule == 'eval'}\n >\n </ox-input-code>\n </div>\n `\n }\n\n _valuetype(property: string) {\n return this._valueTypes[property] || 'string'\n }\n\n private _keep_saved_rule_params: boolean = false\n\n async _onChangedMapping() {\n if (this._keep_saved_rule_params) {\n this._keep_saved_rule_params = false\n } else {\n await this.updateComplete\n\n var rule: Rule = {}\n\n if (this.mapping) {\n switch (this.mapping.rule) {\n case 'map':\n rule.map = this.mapping.param || {}\n break\n case 'range':\n rule.range = this.mapping.param || []\n break\n case 'eval':\n rule.eval = this.mapping.param || ''\n break\n default:\n this.mapping.rule = 'value'\n break\n }\n }\n\n this.rule = rule\n this.requestUpdate()\n }\n }\n\n _onChangeRule(e: Event) {\n var element = e.target as HTMLInputElement\n var value = element.value\n\n let param\n\n switch (value) {\n case 'map':\n param = this.rule.map\n break\n case 'range':\n param = this.rule.range\n break\n case 'eval':\n param = this.rule.eval || ''\n\n // rule.eval에 값이 없을 때, ace-editor 내용이 초기화되지 않는 문제때문에 처리함.\n if (!param) {\n this.editor.value = 'return'\n }\n break\n default:\n }\n\n this.mapping = {\n ...this.mapping,\n rule: value as 'value' | 'map' | 'range' | 'eval',\n param\n }\n\n this._keep_saved_rule_params = true\n this.dispatchEvent(new CustomEvent('value-change', { bubbles: true, composed: true }))\n }\n\n _onChange(e: Event) {\n var element = e.target as HTMLInputElement\n var key = element.getAttribute('value-key')\n\n if (!key) return\n\n var value = element.value\n\n if (key == 'target') {\n if (value.length > 0 && !/^[.#(\\[]/.test(value)) {\n value = '#' + value.trim()\n\n this.target.value = value\n }\n\n this.mapping = {\n ...this.mapping,\n target: value\n }\n } else if (key == 'accessor') {\n this.mapping = {\n ...this.mapping,\n accessor: (value || '').trim()\n }\n } else if (key == 'property') {\n this.mapping = {\n ...this.mapping,\n property: (value || '').trim()\n }\n } else if (key == 'map' || key == 'range' || key == 'eval') {\n this.rule[key] = value\n this.mapping = {\n ...this.mapping,\n param: value\n }\n }\n\n if (!this.mapping.rule) this.mapping.rule = 'value'\n\n this._keep_saved_rule_params = true\n this.dispatchEvent(\n new CustomEvent('value-change', {\n bubbles: true,\n composed: true,\n detail: {\n changed: {\n [key]: value\n }\n }\n })\n )\n }\n}\n"]}
1
+ {"version":3,"file":"data-binding-mapper.js","sourceRoot":"","sources":["../../../../../src/modeller/property-sidebar/data-binding/data-binding-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport '@things-factory/modeller-ui/client/editors/things-editor-value-map'\nimport '@things-factory/modeller-ui/client/editors/things-editor-value-range'\nimport '@operato/input/ox-buttons-radio.js'\nimport '@operato/input/ox-input-code.js'\nimport '@operato/i18n/ox-i18n.js'\n\nimport { css, html, LitElement, PropertyValues } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { Properties, Scene } from '@hatiolab/things-scene'\n\nexport type Rule =\n | {\n map?: Properties\n range?: Properties[]\n eval?: string\n }\n | any\n\nexport type Mapping = {\n rule: 'map' | 'range' | 'eval' | 'value'\n accessor?: string\n target?: string\n property?: string\n param?: Rule\n}\n\n/**\nelement for mapping data value editing\n\nExample:\n\n <data-binding-mapper mapping=${mapping}>\n </data-binding-mapper>\n*/\n\n@customElement('data-binding-mapper')\nexport default class DataBindingMapper extends LitElement {\n static styles = [\n css`\n :host {\n background-color: rgba(255, 255, 255, 0.5);\n overflow: hidden;\n padding: 7px 0 0 0;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-width: 0 1px 1px 1px;\n padding: 4px;\n line-height: 2;\n\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n grid-gap: 4px;\n grid-auto-rows: minmax(24px, auto);\n\n align-items: center;\n }\n\n :host > * {\n align-self: stretch;\n }\n\n label {\n grid-column: span 3;\n text-align: right;\n text-transform: capitalize;\n }\n\n input,\n select,\n ox-buttons-radio,\n [mapping-rule] {\n grid-column: span 7;\n }\n input,\n select {\n border: var(--property-sidebar-fieldset-border);\n }\n\n ox-buttons-radio {\n display: flex;\n padding: 0 4px;\n }\n\n ox-buttons-radio > * {\n text-align: center;\n flex: 1;\n margin: 2px;\n border-bottom: 2px solid #fff;\n }\n\n ox-buttons-radio div[active] {\n border-color: #f2471c;\n }\n\n select {\n height: 22px;\n }\n\n [mapping-rule] {\n display: flex;\n }\n\n [mapping-rule] * {\n flex: auto;\n margin: 0;\n text-align: left;\n align-self: center;\n }\n\n [rule-editors] {\n grid-column: span 10;\n\n display: 'flex';\n align-content: auto;\n }\n\n [rule-editors] :not([active]) {\n display: none;\n }\n\n ox-input-code {\n height: 300px;\n overflow: auto;\n }\n `\n ]\n\n @property({ type: Object }) mapping: Mapping = {\n rule: 'value'\n }\n @property({ type: Object }) rule: Rule = {}\n @property({ type: Array }) properties: Properties[] = []\n @property({ type: Object }) scene?: Scene\n\n @state() _valueTypes: any = {\n play: 'boolean',\n hidden: 'boolean',\n started: 'boolean',\n\n rotation: 'number',\n value: 'number',\n\n fillStyle: 'color',\n strokeStyle: 'color',\n fontColor: 'color',\n\n data: 'object',\n source: 'object',\n location: 'object',\n dimension: 'object',\n\n text: 'string',\n ref: 'string'\n }\n @state() _componentIds: any[] = []\n\n @query('#eval-editor') editor!: HTMLInputElement\n @query('#target-input') target!: HTMLInputElement\n\n firstUpdated() {\n this.renderRoot.addEventListener('change', e => this._onChange(e))\n }\n\n updated(changes: PropertyValues<this>) {\n changes.has('mapping') && this._onChangedMapping()\n }\n\n render() {\n const mapping = this.mapping || {\n rule: 'value'\n }\n\n return html`\n <label for=\"accessor-input\"> <ox-i18n msgid=\"label.accessor\">accessor</ox-i18n> </label>\n <input\n id=\"accessor-input\"\n value-key=\"accessor\"\n type=\"text\"\n data-mapping-accessor\n .value=${mapping.accessor || ''}\n />\n\n <label for=\"target-input\"> <ox-i18n msgid=\"label.target\">target</ox-i18n> </label>\n <input\n id=\"target-input\"\n type=\"text\"\n value-key=\"target\"\n list=\"target-list\"\n .value=${mapping.target || ''}\n @focusin=${() => {\n if (!this.scene) this._componentIds = []\n this._componentIds = this.scene!.ids.map(info => info.key).filter(id => !!id)\n }}\n />\n <datalist id=\"target-list\">\n <option value=\"(self)\"></option>\n <option value=\"(key)\"></option>\n ${this._componentIds.length\n ? html` ${this._componentIds.map(id => html` <option value=${id}></option> `)} `\n : html``}\n </datalist>\n\n <label for=\"property-input\"> <ox-i18n msgid=\"label.property\">property</ox-i18n> </label>\n <select id=\"property-input\" value-key=\"property\" .value=${mapping.property}>\n ${this.properties.map(\n item => html` <option .value=${item.name} ?selected=${item.name == mapping.property}>${item.label}</option> `\n )}\n </select>\n\n <label> <ox-i18n msgid=\"label.rule-type\">rule type</ox-i18n> </label>\n <ox-buttons-radio .value=${mapping.rule} @change=${(e: Event) => this._onChangeRule(e)}>\n <div data-value=\"value\"><ox-i18n msgid=\"label.value\"></ox-i18n></div>\n <div data-value=\"map\"><ox-i18n msgid=\"label.map\"></ox-i18n></div>\n <div data-value=\"range\"><ox-i18n msgid=\"label.range\"></ox-i18n></div>\n <div data-value=\"eval\"><ox-i18n msgid=\"label.eval\"></ox-i18n></div>\n </ox-buttons-radio>\n\n <div rule-editors class=\"content\" ?hidden=${mapping.rule == 'value'}>\n <things-editor-value-map\n value-key=\"map\"\n .value=${this.rule.map || {}}\n .valuetype=${this._valuetype(mapping.property!)}\n ?active=${mapping.rule == 'map'}\n >\n </things-editor-value-map>\n\n <things-editor-value-range\n value-key=\"range\"\n .value=${this.rule.range || []}\n .valuetype=${this._valuetype(mapping.property!)}\n ?active=${mapping.rule == 'range'}\n >\n </things-editor-value-range>\n\n <ox-input-code\n value-key=\"eval\"\n id=\"eval-editor\"\n .value=${this.rule.eval || ''}\n ?active=${mapping.rule == 'eval'}\n >\n </ox-input-code>\n </div>\n `\n }\n\n _valuetype(property: string) {\n return this._valueTypes[property] || 'string'\n }\n\n private _keep_saved_rule_params: boolean = false\n\n async _onChangedMapping() {\n if (this._keep_saved_rule_params) {\n this._keep_saved_rule_params = false\n } else {\n await this.updateComplete\n\n var rule: Rule = {}\n\n if (this.mapping) {\n switch (this.mapping.rule) {\n case 'map':\n rule.map = this.mapping.param || {}\n break\n case 'range':\n rule.range = this.mapping.param || []\n break\n case 'eval':\n rule.eval = this.mapping.param || ''\n break\n default:\n this.mapping.rule = 'value'\n break\n }\n }\n\n this.rule = rule\n this.requestUpdate()\n }\n }\n\n _onChangeRule(e: Event) {\n var element = e.target as HTMLInputElement\n var value = element.value\n\n let param\n\n switch (value) {\n case 'map':\n param = this.rule.map\n break\n case 'range':\n param = this.rule.range\n break\n case 'eval':\n param = this.rule.eval || ''\n\n // rule.eval에 값이 없을 때, ace-editor 내용이 초기화되지 않는 문제때문에 처리함.\n if (!param) {\n this.editor.value = 'return'\n }\n break\n default:\n }\n\n this.mapping = {\n ...this.mapping,\n rule: value as 'value' | 'map' | 'range' | 'eval',\n param\n }\n\n this._keep_saved_rule_params = true\n this.dispatchEvent(new CustomEvent('value-change', { bubbles: true, composed: true }))\n }\n\n _onChange(e: Event) {\n var element = e.target as HTMLInputElement\n var key = element.getAttribute('value-key')\n\n if (!key) return\n\n var value = element.value\n\n if (key == 'target') {\n if (value.length > 0 && !/^[.#(\\[]/.test(value)) {\n value = '#' + value.trim()\n\n this.target.value = value\n }\n\n this.mapping = {\n ...this.mapping,\n target: value\n }\n } else if (key == 'accessor') {\n this.mapping = {\n ...this.mapping,\n accessor: (value || '').trim()\n }\n } else if (key == 'property') {\n this.mapping = {\n ...this.mapping,\n property: (value || '').trim()\n }\n } else if (key == 'map' || key == 'range' || key == 'eval') {\n this.rule[key] = value\n this.mapping = {\n ...this.mapping,\n param: value\n }\n }\n\n if (!this.mapping.rule) this.mapping.rule = 'value'\n\n this._keep_saved_rule_params = true\n this.dispatchEvent(\n new CustomEvent('value-change', {\n bubbles: true,\n composed: true,\n detail: {\n changed: {\n [key]: value\n }\n }\n })\n )\n }\n}\n"]}
@@ -6,3 +6,4 @@ import '@material/mwc-icon';
6
6
  import '@things-factory/help';
7
7
  import '@operato/input/ox-buttons-radio.js';
8
8
  import '@operato/input/ox-input-data.js';
9
+ import '@operato/i18n/ox-i18n.js';
@@ -7,6 +7,7 @@ import '@material/mwc-icon';
7
7
  import '@things-factory/help';
8
8
  import '@operato/input/ox-buttons-radio.js';
9
9
  import '@operato/input/ox-input-data.js';
10
+ import '@operato/i18n/ox-i18n.js';
10
11
  import { css, html } from 'lit';
11
12
  import { customElement, property, query, state } from 'lit/decorators.js';
12
13
  import { AbstractProperty } from '../abstract-property';
@@ -67,24 +68,24 @@ let PropertyDataBinding = class PropertyDataBinding extends AbstractProperty {
67
68
  <title-with-help topic="board-modeller/data-binding" msgid="label.identifier">identifier</title-with-help>
68
69
  </legend>
69
70
  <div class="property-grid">
70
- <label> <i18n-msg msgid="label.id">ID</i18n-msg> </label>
71
+ <label> <ox-i18n msgid="label.id">ID</ox-i18n> </label>
71
72
  <input value-key="id" .value=${value.id || ''} />
72
73
 
73
- <label> <i18n-msg msgid="label.class">Class</i18n-msg> </label>
74
+ <label> <ox-i18n msgid="label.class">Class</ox-i18n> </label>
74
75
  <input value-key="class" .value=${value.class || ''} />
75
76
 
76
- <label> <i18n-msg msgid="label.template-prefix">Template Prefix</i18n-msg> </label>
77
+ <label> <ox-i18n msgid="label.template-prefix">Template Prefix</ox-i18n> </label>
77
78
  <input value-key="templatePrefix" .value=${value.templatePrefix || ''} />
78
79
 
79
80
  <div class="checkbox-row">
80
81
  <input id="checkbox-ndns" type="checkbox" value-key="ndns" .checked=${value.ndns} />
81
- <label for="checkbox-ndns"> <i18n-msg msgid="label.ndns">No Data No Show</i18n-msg> </label>
82
+ <label for="checkbox-ndns"> <ox-i18n msgid="label.ndns">No Data No Show</ox-i18n> </label>
82
83
  </div>
83
84
 
84
85
  <div class="checkbox-row">
85
86
  <input id="checkbox-sensitive" type="checkbox" value-key="sensitive" .checked=${value.sensitive} />
86
87
  <label for="checkbox-sensitive">
87
- <i18n-msg msgid="label.intent-sensitive">Intent Sensitive</i18n-msg>
88
+ <ox-i18n msgid="label.intent-sensitive">Intent Sensitive</ox-i18n>
88
89
  </label>
89
90
  </div>
90
91
  </div>
@@ -92,7 +93,7 @@ let PropertyDataBinding = class PropertyDataBinding extends AbstractProperty {
92
93
 
93
94
  <fieldset collapsable ?collapsed=${!this._dataExpanded}>
94
95
  <legend>
95
- <i18n-msg msgid="label.initial-data">initial value</i18n-msg>
96
+ <ox-i18n msgid="label.initial-data">initial value</ox-i18n>
96
97
  <mwc-icon
97
98
  @click=${() => {
98
99
  this._dataExpanded = !this._dataExpanded;
@@ -104,7 +105,7 @@ let PropertyDataBinding = class PropertyDataBinding extends AbstractProperty {
104
105
  </fieldset>
105
106
 
106
107
  <fieldset>
107
- <legend><i18n-msg msgid="label.data-spread">Data Spread</i18n-msg></legend>
108
+ <legend><ox-i18n msgid="label.data-spread">Data Spread</ox-i18n></legend>
108
109
  <div id="tab-header">
109
110
  <mwc-icon
110
111
  id="tab-nav-left-button"