@things-factory/board-ui 4.0.13 → 4.0.18

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 (37) hide show
  1. package/client/index.js +0 -2
  2. package/client/pages/board-modeller-page.js +6 -75
  3. package/client/pages/board-player-page.js +1 -1
  4. package/client/pages/board-viewer-page.js +1 -1
  5. package/package.json +9 -9
  6. package/assets/images/icon-properties-ipattern.png +0 -0
  7. package/client/board-modeller/board-modeller.js +0 -229
  8. package/client/board-modeller/component-toolbar/component-menu.js +0 -153
  9. package/client/board-modeller/component-toolbar/component-toolbar.js +0 -193
  10. package/client/board-modeller/edit-toolbar-style.js +0 -228
  11. package/client/board-modeller/edit-toolbar.js +0 -637
  12. package/client/board-modeller/property-sidebar/abstract-property.js +0 -73
  13. package/client/board-modeller/property-sidebar/data-binding/data-binding-mapper.js +0 -366
  14. package/client/board-modeller/property-sidebar/data-binding/data-binding.js +0 -476
  15. package/client/board-modeller/property-sidebar/effects/effects-shared-style.js +0 -58
  16. package/client/board-modeller/property-sidebar/effects/effects.js +0 -64
  17. package/client/board-modeller/property-sidebar/effects/property-animation.js +0 -141
  18. package/client/board-modeller/property-sidebar/effects/property-animations.js +0 -92
  19. package/client/board-modeller/property-sidebar/effects/property-event-hover.js +0 -144
  20. package/client/board-modeller/property-sidebar/effects/property-event-tap.js +0 -146
  21. package/client/board-modeller/property-sidebar/effects/property-event.js +0 -72
  22. package/client/board-modeller/property-sidebar/effects/property-shadow.js +0 -122
  23. package/client/board-modeller/property-sidebar/effects/value-converter.js +0 -26
  24. package/client/board-modeller/property-sidebar/inspector/inspector.js +0 -338
  25. package/client/board-modeller/property-sidebar/property-shared-style.js +0 -132
  26. package/client/board-modeller/property-sidebar/property-sidebar.js +0 -324
  27. package/client/board-modeller/property-sidebar/shapes/box-padding-editor-styles.js +0 -94
  28. package/client/board-modeller/property-sidebar/shapes/shapes.js +0 -421
  29. package/client/board-modeller/property-sidebar/specifics/specific-properties-builder.js +0 -149
  30. package/client/board-modeller/property-sidebar/specifics/specifics.js +0 -248
  31. package/client/board-modeller/property-sidebar/styles/styles.js +0 -591
  32. package/client/board-modeller/scene-viewer/confidential-overlay.js +0 -18
  33. package/client/board-modeller/scene-viewer/things-scene-handler.js +0 -50
  34. package/client/board-modeller/scene-viewer/things-scene-layer.js +0 -52
  35. package/client/board-modeller/scene-viewer/things-scene-player.js +0 -115
  36. package/client/board-modeller/scene-viewer/things-scene-property.js +0 -25
  37. package/client/board-modeller/scene-viewer/things-scene-viewer.js +0 -312
@@ -1,591 +0,0 @@
1
- /**
2
- * @license Copyright © HatioLab Inc. All rights reserved.
3
- */
4
-
5
- import '@polymer/paper-dropdown-menu/paper-dropdown-menu'
6
- import { css, html } from 'lit-element'
7
-
8
- import '@things-factory/help'
9
- import '@things-factory/modeller-ui/client/editors/things-editor-angle-input'
10
- import '@things-factory/modeller-ui/client/editors/things-editor-color'
11
- import '@things-factory/modeller-ui/client/editors/things-editor-color-style'
12
- import '@things-factory/modeller-ui/client/editors/things-editor-font-selector'
13
- import { AbstractProperty } from '../abstract-property'
14
- import { PropertySharedStyle } from '../property-shared-style'
15
-
16
- class PropertyStyles extends AbstractProperty {
17
- static get is() {
18
- return 'property-style'
19
- }
20
-
21
- static get properties() {
22
- return {
23
- value: Object,
24
- selected: Array,
25
- fonts: Array
26
- }
27
- }
28
-
29
- static get styles() {
30
- return [
31
- PropertySharedStyle,
32
- css`
33
- paper-slider {
34
- width: 100%;
35
- }
36
-
37
- .btn-group {
38
- height: 24px;
39
- }
40
-
41
- .btn-group paper-button {
42
- width: 30px;
43
- height: 24px;
44
- min-width: initial;
45
- margin: 0 4px 0 0;
46
- padding: 0;
47
- border-radius: 0;
48
- display: inline-block;
49
- border-bottom: 2px solid #fff;
50
-
51
- background: url(/assets/images/icon-properties.png) no-repeat;
52
- background-size: 70%;
53
- }
54
-
55
- .btn-group paper-button.tbold {
56
- background-position: 50% -170px;
57
- }
58
-
59
- .btn-group paper-button.titalic {
60
- background-position: 50% -205px;
61
- }
62
-
63
- .btn-group paper-button.tunderline {
64
- background-position: 50% -240px;
65
- }
66
-
67
- .btn-group paper-button.tstrikethrough {
68
- background-position: 50% -415px;
69
- }
70
-
71
- .btn-group paper-button[active] {
72
- border-color: #f2471c;
73
- }
74
-
75
- .line-type paper-listbox {
76
- overflow: hidden;
77
- max-width: 100px;
78
- }
79
- .line-type paper-item {
80
- background: url(/assets/images/icon-properties-line-type.png) 50% 0 no-repeat;
81
- min-height: 25px;
82
- padding: 3px 9px;
83
- width: 80px;
84
- }
85
-
86
- .line-type paper-item.solid {
87
- background-position: 50% 10px;
88
- }
89
- .line-type paper-item.round-dot {
90
- background-position: 50% -40px;
91
- }
92
- .line-type paper-item.square-dot {
93
- background-position: 50% -90px;
94
- }
95
- .line-type paper-item.dash {
96
- background-position: 50% -140px;
97
- }
98
- .line-type paper-item.dash-dot {
99
- background-position: 50% -190px;
100
- }
101
- .line-type paper-item.long-dash {
102
- background-position: 50% -240px;
103
- }
104
- .line-type paper-item.long-dash-dot {
105
- background-position: 50% -290px;
106
- }
107
- .line-type paper-item.long-dash-dot-dot {
108
- background-position: 50% -340px;
109
- }
110
-
111
- .line-type .paper-input-container input {
112
- background: url(/assets/images/icon-properties-line-type.png) 50% 0 no-repeat !important;
113
- }
114
- .line-type.solid .paper-input-container input {
115
- background-position: 50% 5px !important;
116
- }
117
- .line-type.round-dot .paper-input-container input {
118
- background-position: 50% -45px !important;
119
- }
120
- .line-type.square-dot .paper-input-container input {
121
- background-position: 50% -85px !important;
122
- }
123
- .line-type.dash .paper-input-container input {
124
- background-position: 50% -145px !important;
125
- }
126
- .line-type.dash-dot .paper-input-container input {
127
- background-position: 50% -185px !important;
128
- }
129
- .line-type.long-dash .paper-input-container input {
130
- background-position: 50% -245px !important;
131
- }
132
- .line-type.long-dash-dot .paper-input-container input {
133
- background-position: 50% -285px !important;
134
- }
135
- .line-type.long-dash-dot-dot .paper-input-container input {
136
- background-position: 50% -345px !important;
137
- }
138
-
139
- .arrow-type paper-menu {
140
- overflow: hidden;
141
- max-width: 140px;
142
- }
143
- .arrow-type paper-item {
144
- background: url(/assets/images/icon-properties-arrow-type.png) 50% 0 no-repeat;
145
- min-height: 30px;
146
- padding: 3px 7px;
147
- width: 30px;
148
- float: left;
149
- }
150
- .arrow-type paper-item.begin-no {
151
- background-position: 50% 16px;
152
- }
153
- .arrow-type paper-item.begin-arrow {
154
- background-position: 50% -39px;
155
- }
156
- .arrow-type paper-item.begin-open-arrow {
157
- background-position: 50% -89px;
158
- }
159
- .arrow-type paper-item.begin-stealth-arrow {
160
- background-position: 50% -139px;
161
- }
162
- .arrow-type paper-item.begin-diamond-arrow {
163
- background-position: 50% -190px;
164
- }
165
- .arrow-type paper-item.begin-oval-arrow {
166
- background-position: 50% -238px;
167
- }
168
- .arrow-type paper-item.begin-size1 {
169
- background-position: 50% -286px;
170
- }
171
- .arrow-type paper-item.begin-size2 {
172
- background-position: 50% -336px;
173
- }
174
- .arrow-type paper-item.begin-size3 {
175
- background-position: 50% -386px;
176
- }
177
- .arrow-type paper-item.begin-size4 {
178
- background-position: 50% -436px;
179
- }
180
- .arrow-type paper-item.begin-size5 {
181
- background-position: 50% -486px;
182
- }
183
- .arrow-type paper-item.begin-size6 {
184
- background-position: 50% -536px;
185
- }
186
- .arrow-type paper-item.begin-size7 {
187
- background-position: 50% -589px;
188
- }
189
- .arrow-type paper-item.begin-size8 {
190
- background-position: 50% -639px;
191
- }
192
- .arrow-type paper-item.begin-size9 {
193
- background-position: 50% -689px;
194
- }
195
- .arrow-type paper-item.end-no {
196
- background-position: 50% 16px;
197
- }
198
- .arrow-type paper-item.end-arrow {
199
- background-position: 50% -739px;
200
- }
201
- .arrow-type paper-item.end-open-arrow {
202
- background-position: 50% -789px;
203
- }
204
- .arrow-type paper-item.end-stealth-arrow {
205
- background-position: 50% -839px;
206
- }
207
- .arrow-type paper-item.end-diamond-arrow {
208
- background-position: 50% -890px;
209
- }
210
- .arrow-type paper-item.end-oval-arrow {
211
- background-position: 50% -938px;
212
- }
213
- .arrow-type paper-item.end-size1 {
214
- background-position: 50% -986px;
215
- }
216
- .arrow-type paper-item.end-size2 {
217
- background-position: 50% -1036px;
218
- }
219
- .arrow-type paper-item.end-size3 {
220
- background-position: 50% -1086px;
221
- }
222
- .arrow-type paper-item.end-size4 {
223
- background-position: 50% -1136px;
224
- }
225
- .arrow-type paper-item.end-size5 {
226
- background-position: 50% -1186px;
227
- }
228
- .arrow-type paper-item.end-size6 {
229
- background-position: 50% -1236px;
230
- }
231
- .arrow-type paper-item.end-size7 {
232
- background-position: 50% -1289px;
233
- }
234
- .arrow-type paper-item.end-size8 {
235
- background-position: 50% -1339px;
236
- }
237
- .arrow-type paper-item.end-size9 {
238
- background-position: 50% -1389px;
239
- }
240
-
241
- .arrow-type .paper-input-container input {
242
- background: url(/assets/images/icon-properties-arrow-type.png) 110% 0 no-repeat !important;
243
- }
244
- .arrow-type.begin-no .paper-input-container input {
245
- background-position: 110% 5px !important;
246
- }
247
- .arrow-type.begin-arrow .paper-input-container input {
248
- background-position: 110% -50px !important;
249
- }
250
- .arrow-type.begin-open-arrow .paper-input-container input {
251
- background-position: 110% -100px !important;
252
- }
253
- .arrow-type.begin-stealth-arrow .paper-input-container input {
254
- background-position: 110% -150px !important;
255
- }
256
- .arrow-type.begin-diamond-arrow .paper-input-container input {
257
- background-position: 110% -200px !important;
258
- }
259
- .arrow-type.begin-oval-arrow .paper-input-container input {
260
- background-position: 110% -250px !important;
261
- }
262
- .arrow-type.begin-size1 .paper-input-container input {
263
- background-position: 110% -298px !important;
264
- }
265
- .arrow-type.begin-size2 .paper-input-container input {
266
- background-position: 110% -348px !important;
267
- }
268
- .arrow-type.begin-size3 .paper-input-container input {
269
- background-position: 110% -398px !important;
270
- }
271
- .arrow-type.begin-size4 .paper-input-container input {
272
- background-position: 110% -448px !important;
273
- }
274
- .arrow-type.begin-size5 .paper-input-container input {
275
- background-position: 110% -498px !important;
276
- }
277
- .arrow-type.begin-size6 .paper-input-container input {
278
- background-position: 110% -548px !important;
279
- }
280
- .arrow-type.begin-size7 .paper-input-container input {
281
- background-position: 110% -600px !important;
282
- }
283
- .arrow-type.begin-size8 .paper-input-container input {
284
- background-position: 110% -650px !important;
285
- }
286
- .arrow-type.begin-size9 .paper-input-container input {
287
- background-position: 110% -700px !important;
288
- }
289
- .arrow-type.end-no .paper-input-container input {
290
- background-position: 110% 5px !important;
291
- }
292
- .arrow-type.end-arrow .paper-input-container input {
293
- background-position: 110% -750px !important;
294
- }
295
- .arrow-type.end-open-arrow .paper-input-container input {
296
- background-position: 110% -800px !important;
297
- }
298
- .arrow-type.end-stealth-arrow .paper-input-container input {
299
- background-position: 110% -850px !important;
300
- }
301
- .arrow-type.end-diamond-arrow .paper-input-container input {
302
- background-position: 110% -900px !important;
303
- }
304
- .arrow-type.end-oval-arrow .paper-input-container input {
305
- background-position: 110% -950px !important;
306
- }
307
- .arrow-type.end-size1 .paper-input-container input {
308
- background-position: 110% -998px !important;
309
- }
310
- .arrow-type.end-size2 .paper-input-container input {
311
- background-position: 110% -1048px !important;
312
- }
313
- .arrow-type.end-size3 .paper-input-container input {
314
- background-position: 110% -1098px !important;
315
- }
316
- .arrow-type.end-size4 .paper-input-container input {
317
- background-position: 110% -1148px !important;
318
- }
319
- .arrow-type.end-size5 .paper-input-container input {
320
- background-position: 110% -1198px !important;
321
- }
322
- .arrow-type.end-size6 .paper-input-container input {
323
- background-position: 110% -1248px !important;
324
- }
325
- .arrow-type.end-size7 .paper-input-container input {
326
- background-position: 110% -1300px !important;
327
- }
328
- .arrow-type.end-size8 .paper-input-container input {
329
- background-position: 110% -1350px !important;
330
- }
331
- .arrow-type.end-size9 .paper-input-container input {
332
- background-position: 110% -1400px !important;
333
- }
334
- `
335
- ]
336
- }
337
-
338
- constructor() {
339
- super()
340
-
341
- this.value = {}
342
- this.selected = []
343
- this.fonts = []
344
- }
345
-
346
- firstUpdated() {
347
- this.renderRoot.addEventListener('change', this._onValueChange.bind(this))
348
- }
349
-
350
- render() {
351
- var {
352
- alpha,
353
- fontFamily,
354
- fontSize,
355
- lineHeight,
356
- fontColor,
357
- bold,
358
- italic,
359
- fillStyle,
360
- lineWidth,
361
- strokeStyle,
362
- lineDash,
363
- lineCap,
364
- lineJoin,
365
- begin,
366
- beginSize,
367
- end,
368
- endSize
369
- } = this.value
370
-
371
- return html`
372
- <fieldset>
373
- <legend>
374
- <title-with-help topic="board-modeller/styles/opacity" msgid="label.opacity">opacity</title-with-help>
375
- </legend>
376
- <paper-slider min="0" max="1" step="0.1" value-key="alpha" .value=${alpha || 1} editable> </paper-slider>
377
- </fieldset>
378
-
379
- <fieldset>
380
- <legend>
381
- <title-with-help topic="board-modeller/styles/text-style" msgid="label.text-style">text style</title-with-help>
382
- </legend>
383
-
384
- <div class="property-grid">
385
- <label class="property-full-label">
386
- <i18n-msg msgid="label.font-family">Font Family</i18n-msg>
387
- </label>
388
-
389
- <things-editor-font-selector
390
- value-key="fontFamily"
391
- .value=${fontFamily}
392
- class="property-full-input"
393
- custom-editor
394
- ></things-editor-font-selector>
395
-
396
- <label class="property-half-label icon-only-label font-size"></label>
397
- <input type="number" value-key="fontSize" .value=${fontSize} class="property-half-input" />
398
-
399
- <label class="property-half-label icon-only-label lineHeight"></label>
400
- <input type="number" value-key="lineHeight" .value=${lineHeight} class="property-half-input" />
401
-
402
- <label class="property-half-label icon-only-label color"></label>
403
- <things-editor-color value-key="fontColor" .value=${fontColor} class="property-half-input">
404
- </things-editor-color>
405
-
406
- <label class="property-half-label"></label>
407
- <div class="property-half-input btn-group">
408
- <paper-button toggles value-key="bold" ?active=${bold} class="tbold"> </paper-button>
409
- <paper-button toggles value-key="italic" ?active=${italic} class="titalic"> </paper-button>
410
- </div>
411
- </div>
412
- </fieldset>
413
-
414
- <fieldset>
415
- <legend>
416
- <title-with-help topic="board-modeller/styles/fill-style" msgid="label.fill-style">fill style</title-with-help>
417
- </legend>
418
-
419
- <things-editor-color-style value-key="fillStyle" .value=${fillStyle}> </things-editor-color-style>
420
- </fieldset>
421
-
422
- <fieldset>
423
- <legend>
424
- <title-with-help msgid="label.line-style" topic="board-modeller/styles/line-style"></title-with-help>
425
- </legend>
426
-
427
- <div class="property-grid">
428
- <label class="property-half-label icon-only-label linewidth"></label>
429
- <input type="number" value-key="lineWidth" .value=${lineWidth} class="property-half-input" />
430
-
431
- <label class="property-half-label icon-only-label color"></label>
432
- <things-editor-color value-key="strokeStyle" .value=${strokeStyle} class="property-half-input">
433
- </things-editor-color>
434
-
435
- <label class="property-full-label">
436
- <i18n-msg msgid="label.line-type">line type</i18n-msg>
437
- </label>
438
- <paper-dropdown-menu no-label-float="true" class="property-full-input line-type solid">
439
- <!-- solid는 선택된 항목 보여주기위한 class로 하위 paper-item의 class와 동일하게 -->
440
- <paper-listbox
441
- value-key="lineDash"
442
- @selected-changed=${e => this._onValueChange(e)}
443
- slot="dropdown-content"
444
- .selected=${lineDash}
445
- attr-for-selected="name"
446
- >
447
- <paper-item class="solid" name="solid"></paper-item>
448
- <paper-item class="round-dot" name="round-dot"></paper-item>
449
- <paper-item class="square-dot" name="square-dot"></paper-item>
450
- <paper-item class="dash" name="dash"></paper-item>
451
- <paper-item class="dash-dot" name="dash-dot"></paper-item>
452
- <paper-item class="long-dash" name="long-dash"></paper-item>
453
- <paper-item class="long-dash-dot" name="long-dash-dot"></paper-item>
454
- <paper-item class="long-dash-dot-dot" name="long-dash-dot-dot"></paper-item>
455
- </paper-listbox>
456
- </paper-dropdown-menu>
457
-
458
- <label class="property-full-label">
459
- <i18n-msg msgid="label.cap-type">cap type</i18n-msg>
460
- </label>
461
- <select class="property-full-input select-content" value-key="lineCap" .value=${lineCap}>
462
- <option value="butt"><i18n-msg msgid="label.square">square</i18n-msg></option>
463
- <option value="round"><i18n-msg msgid="label.round">round</i18n-msg></option>
464
- </select>
465
-
466
- <label class="property-full-label">
467
- <i18n-msg msgid="label.join-type">join type</i18n-msg>
468
- </label>
469
- <select class="property-full-input select-content" value-key="lineJoin" .value=${lineJoin}>
470
- <option value="miter"><i18n-msg msgid="label.miter">miter</i18n-msg></option>
471
- <option value="round"><i18n-msg msgid="label.round">round</i18n-msg></option>
472
- <option value="bevel"><i18n-msg msgid="label.bevel">bevel</i18n-msg></option>
473
- </select>
474
-
475
- ${this._isLine(this.selected)
476
- ? html`
477
- <label class="property-full-label">
478
- <i18n-msg msgid="label.begin-type">begin type</i18n-msg>
479
- </label>
480
- <paper-dropdown-menu no-label-float="true" class="property-full-input arrow-type begin-no">
481
- <!-- begin-no는 선택된 항목 보여주기위한 class로 하위 paper-item의 class와 동일하게 -->
482
- <paper-listbox
483
- value-key="begin"
484
- @selected-changed=${e => this._onValueChange(e)}
485
- slot="dropdown-content"
486
- .selected=${begin}
487
- attr-for-selected="name"
488
- >
489
- <paper-item class="begin-no" name="none"></paper-item>
490
- <paper-item class="begin-arrow" name="arrow"></paper-item>
491
- <paper-item class="begin-open-arrow" name="open-arrow"></paper-item>
492
- <paper-item class="begin-stealth-arrow" name="sharp-arrow"></paper-item>
493
- <paper-item class="begin-diamond-arrow" name="diamond"></paper-item>
494
- <paper-item class="begin-oval-arrow" name="oval"></paper-item>
495
- </paper-listbox>
496
- </paper-dropdown-menu>
497
-
498
- <label class="property-full-label">
499
- <i18n-msg msgid="label.begin-size">begin size</i18n-msg>
500
- </label>
501
- <paper-dropdown-menu no-label-float="true" class="property-full-input arrow-type begin-size1">
502
- <!-- begin-size1는 선택된 항목 보여주기위한 class로 하위 paper-item의 class와 동일하게 -->
503
- <paper-listbox
504
- value-key="beginSize"
505
- @selected-changed=${e => this._onValueChange(e)}
506
- slot="dropdown-content"
507
- .selected=${beginSize}
508
- attr-for-selected="name"
509
- >
510
- <paper-item class="begin-size1" name="size1"></paper-item>
511
- <paper-item class="begin-size2" name="size2"></paper-item>
512
- <paper-item class="begin-size3" name="size3"></paper-item>
513
- <paper-item class="begin-size4" name="size4"></paper-item>
514
- <paper-item class="begin-size5" name="size5"></paper-item>
515
- <paper-item class="begin-size6" name="size6"></paper-item>
516
- <paper-item class="begin-size7" name="size7"></paper-item>
517
- <paper-item class="begin-size8" name="size8"></paper-item>
518
- <paper-item class="begin-size9" name="size9"></paper-item>
519
- </paper-listbox>
520
- </paper-dropdown-menu>
521
-
522
- <label class="property-full-label">
523
- <i18n-msg msgid="label.end-type">end type</i18n-msg>
524
- </label>
525
- <paper-dropdown-menu no-label-float="true" class="property-full-input arrow-type end-no">
526
- <!-- end-no는 선택된 항목 보여주기위한 class로 하위 paper-item의 class와 동일하게 -->
527
- <paper-listbox
528
- value-key="end"
529
- @selected-changed=${e => this._onValueChange(e)}
530
- slot="dropdown-content"
531
- .selected=${end}
532
- attr-for-selected="name"
533
- >
534
- <paper-item class="end-no" name="none"></paper-item>
535
- <paper-item class="end-arrow" name="arrow"></paper-item>
536
- <paper-item class="end-open-arrow" name="open-arrow"></paper-item>
537
- <paper-item class="end-stealth-arrow" name="sharp-arrow"></paper-item>
538
- <paper-item class="end-diamond-arrow" name="diamond"></paper-item>
539
- <paper-item class="end-oval-arrow" name="oval"></paper-item>
540
- </paper-listbox>
541
- </paper-dropdown-menu>
542
-
543
- <label class="property-full-label">
544
- <i18n-msg msgid="label.end-size">end size</i18n-msg>
545
- </label>
546
- <paper-dropdown-menu no-label-float="true" class="property-full-input arrow-type end-size1">
547
- <!-- end-size1는 선택된 항목 보여주기위한 class로 하위 paper-item의 class와 동일하게 -->
548
- <paper-listbox
549
- value-key="endSize"
550
- @selected-changed=${e => this._onValueChange(e)}
551
- slot="dropdown-content"
552
- .selected=${endSize}
553
- attr-for-selected="name"
554
- >
555
- <paper-item class="end-size1" name="size1"></paper-item>
556
- <paper-item class="end-size2" name="size2"></paper-item>
557
- <paper-item class="end-size3" name="size3"></paper-item>
558
- <paper-item class="end-size4" name="size4"></paper-item>
559
- <paper-item class="end-size5" name="size5"></paper-item>
560
- <paper-item class="end-size6" name="size6"></paper-item>
561
- <paper-item class="end-size7" name="size7"></paper-item>
562
- <paper-item class="end-size8" name="size8"></paper-item>
563
- <paper-item class="end-size9" name="size9"></paper-item>
564
- </paper-listbox>
565
- </paper-dropdown-menu>
566
- `
567
- : html``}
568
- </div>
569
- </fieldset>
570
- `
571
- }
572
-
573
- _isLine(selected) {
574
- var isLine = false
575
-
576
- for (var i = 0; i < selected.length; i++) {
577
- var comp = selected[i]
578
-
579
- if (!comp.isLine || !comp.isLine()) {
580
- isLine = false
581
- return isLine
582
- }
583
-
584
- isLine = true
585
- }
586
-
587
- return isLine
588
- }
589
- }
590
-
591
- window.customElements.define(PropertyStyles.is, PropertyStyles)
@@ -1,18 +0,0 @@
1
- /*
2
- * Copyright © HatioLab Inc. All rights reserved.
3
- */
4
-
5
- import { Layer as SceneLayer, Component as SceneComponent } from '@hatiolab/things-scene'
6
-
7
- export default class ConfidentialOverlay extends SceneLayer {
8
- _draw(context) {
9
- context.globalAlpha = 0.3
10
-
11
- context.font = '50px Verdana'
12
- context.fillStyle = 'red'
13
-
14
- context.fillText(this.get('text') || 'CONFIDENTIAL', 20, 60)
15
- }
16
- }
17
-
18
- SceneComponent.register('confidential-overlay', ConfidentialOverlay)
@@ -1,50 +0,0 @@
1
- import { LitElement, html } from 'lit-element'
2
-
3
- import './things-scene-property'
4
-
5
- export default class ThingsSceneHandler extends LitElement {
6
- static get is() {
7
- return 'things-scene-handler'
8
- }
9
-
10
- static get properties() {
11
- return {
12
- type: String,
13
- model: {
14
- type: Object,
15
- notify: true
16
- }
17
- }
18
- }
19
-
20
- render() {
21
- return html`
22
- <slot select="things-scene-property"></slot>
23
- `
24
- }
25
-
26
- connectedCallback() {
27
- super.connectedCallback()
28
-
29
- let model = {
30
- type: this.type
31
- }
32
-
33
- model = Array.from(this.querySelectorAll('things-scene-property')).reduce((model, property) => {
34
- const name = property.getAttribute('name')
35
- const value = property.getAttribute('value')
36
-
37
- if (name) {
38
- model[name] = value
39
- }
40
-
41
- return model
42
- }, model)
43
-
44
- model.__host__ = this
45
-
46
- this.model = model
47
- }
48
- }
49
-
50
- customElements.define(ThingsSceneHandler.is, ThingsSceneHandler)