@operato/property-panel 9.0.0-beta.41 → 9.0.0-beta.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/src/property-panel/effects/property-emphasize.d.ts +23 -0
- package/dist/src/property-panel/effects/property-emphasize.js +71 -0
- package/dist/src/property-panel/effects/property-emphasize.js.map +1 -0
- package/dist/src/property-panel/effects/property-event-hover-emphasize.d.ts +23 -0
- package/dist/src/property-panel/effects/property-event-hover-emphasize.js +66 -0
- package/dist/src/property-panel/effects/property-event-hover-emphasize.js.map +1 -0
- package/dist/src/property-panel/effects/property-event-hover.d.ts +8 -1
- package/dist/src/property-panel/effects/property-event-hover.js +54 -10
- package/dist/src/property-panel/effects/property-event-hover.js.map +1 -1
- package/dist/src/property-panel/effects/property-event-tap.js +1 -1
- package/dist/src/property-panel/effects/property-event-tap.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/property-panel/effects/property-event-hover-emphasize.ts +77 -0
- package/src/property-panel/effects/property-event-hover.ts +52 -9
- package/src/property-panel/effects/property-event-tap.ts +1 -1
- package/translations/en.json +7 -2
- package/translations/ja.json +6 -1
- package/translations/ko.json +6 -1
- package/translations/ms.json +4 -0
- package/translations/zh.json +6 -1
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@operato/property-panel",
|
|
3
3
|
"description": "Webcomponent property-panel following open-wc recommendations",
|
|
4
4
|
"author": "heartyoh",
|
|
5
|
-
"version": "9.0.0-beta.
|
|
5
|
+
"version": "9.0.0-beta.43",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/src/index.js",
|
|
8
8
|
"module": "dist/src/index.js",
|
|
@@ -104,5 +104,5 @@
|
|
|
104
104
|
"prettier --write"
|
|
105
105
|
]
|
|
106
106
|
},
|
|
107
|
-
"gitHead": "
|
|
107
|
+
"gitHead": "1ec5808ee69aea5f9fd84b47a9e037f620e2112c"
|
|
108
108
|
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright © HatioLab Inc. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import '@operato/i18n/ox-i18n.js'
|
|
6
|
+
import '@operato/input/ox-input-color.js'
|
|
7
|
+
|
|
8
|
+
import { css, html, LitElement } from 'lit'
|
|
9
|
+
import { property } from 'lit/decorators.js'
|
|
10
|
+
|
|
11
|
+
import { Properties } from '@hatiolab/things-scene'
|
|
12
|
+
import { PropertyGridStyles } from '@operato/styles/property-grid-styles.js'
|
|
13
|
+
|
|
14
|
+
import { convert } from './value-converter.js'
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 컴포넌트의 강조 속성을 편집하는 element
|
|
18
|
+
*
|
|
19
|
+
* Example:
|
|
20
|
+
* <property-event-hover-emphasize
|
|
21
|
+
* @change="${e => { this.emphasize = e.target.value }}"
|
|
22
|
+
* value="${this.emphasize}"
|
|
23
|
+
* ></property-event-hover-emphasize>
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
export class PropertyEventHoverEmphasize extends LitElement {
|
|
27
|
+
static styles = [
|
|
28
|
+
PropertyGridStyles,
|
|
29
|
+
css`
|
|
30
|
+
:host {
|
|
31
|
+
display: flex;
|
|
32
|
+
}
|
|
33
|
+
`
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
@property({ type: Object }) value?: Properties
|
|
37
|
+
|
|
38
|
+
firstUpdated() {
|
|
39
|
+
this.renderRoot.addEventListener('change', this.onValueChange.bind(this))
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
render() {
|
|
43
|
+
const { distance, lineWidth, animation, color, fillStyle } = this.value || {}
|
|
44
|
+
|
|
45
|
+
return html`
|
|
46
|
+
<div class="property-grid">
|
|
47
|
+
<label class="icon-only-label color"><md-icon>format_color_fill</md-icon></label>
|
|
48
|
+
<ox-input-color value-key="fillStyle" .value=${fillStyle}> </ox-input-color>
|
|
49
|
+
|
|
50
|
+
<label class="icon-only-label color"><md-icon>border_color</md-icon></label>
|
|
51
|
+
<ox-input-color value-key="color" .value=${color}> </ox-input-color>
|
|
52
|
+
|
|
53
|
+
<label> <ox-i18n msgid="label.emphasize-distance">emphasize distance</ox-i18n> </label>
|
|
54
|
+
<input type="number" value-key="distance" .value=${distance} />
|
|
55
|
+
|
|
56
|
+
<label> <ox-i18n msgid="label.emphasize-line-width">line width</ox-i18n> </label>
|
|
57
|
+
<input type="number" value-key="lineWidth" .value=${lineWidth} />
|
|
58
|
+
</div>
|
|
59
|
+
`
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
onValueChange(e: Event) {
|
|
63
|
+
var element = e.target as HTMLElement
|
|
64
|
+
var key = element.getAttribute('value-key')
|
|
65
|
+
|
|
66
|
+
if (!key) {
|
|
67
|
+
return
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
this.value = {
|
|
71
|
+
...this.value,
|
|
72
|
+
[key]: convert(element)
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }))
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -5,21 +5,27 @@
|
|
|
5
5
|
import '@operato/input/ox-input-data.js'
|
|
6
6
|
import '@operato/i18n/ox-i18n.js'
|
|
7
7
|
|
|
8
|
-
import { css, html, LitElement } from 'lit'
|
|
8
|
+
import { css, html, LitElement, nothing } from 'lit'
|
|
9
9
|
import { property } from 'lit/decorators.js'
|
|
10
10
|
import { ifDefined } from 'lit/directives/if-defined.js'
|
|
11
|
+
import { ScopedElementsMixin } from '@open-wc/scoped-elements'
|
|
11
12
|
|
|
12
13
|
import { Properties, Scene } from '@hatiolab/things-scene'
|
|
13
14
|
import { PropertyGridStyles } from '@operato/styles/property-grid-styles.js'
|
|
14
15
|
|
|
15
16
|
import { convert } from './value-converter.js'
|
|
17
|
+
import { PropertyEventHoverEmphasize } from './property-event-hover-emphasize.js'
|
|
16
18
|
|
|
17
19
|
const SETS_ACTION = ['data-set', 'partial-data-set', 'value-set', 'partial-value-set']
|
|
18
20
|
|
|
19
|
-
export class PropertyEventHover extends LitElement {
|
|
21
|
+
export class PropertyEventHover extends ScopedElementsMixin(LitElement) {
|
|
20
22
|
static styles = [
|
|
21
23
|
PropertyGridStyles,
|
|
22
24
|
css`
|
|
25
|
+
property-event-hover-emphasize {
|
|
26
|
+
padding-bottom: var(--spacing-large);
|
|
27
|
+
}
|
|
28
|
+
|
|
23
29
|
datalist option.cursor-auto {
|
|
24
30
|
cursor: auto;
|
|
25
31
|
}
|
|
@@ -65,6 +71,14 @@ export class PropertyEventHover extends LitElement {
|
|
|
65
71
|
@property({ type: Object }) value?: Properties
|
|
66
72
|
@property({ type: Object }) scene?: Scene
|
|
67
73
|
|
|
74
|
+
private useEmphasize: boolean = false
|
|
75
|
+
|
|
76
|
+
static get scopedElements() {
|
|
77
|
+
return {
|
|
78
|
+
'property-event-hover-emphasize': PropertyEventHoverEmphasize
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
68
82
|
firstUpdated() {
|
|
69
83
|
this.renderRoot.addEventListener('change', this.onValueChange.bind(this))
|
|
70
84
|
}
|
|
@@ -72,14 +86,36 @@ export class PropertyEventHover extends LitElement {
|
|
|
72
86
|
render() {
|
|
73
87
|
var { action, value = '', target = '', emphasize, restore } = this.value || {}
|
|
74
88
|
|
|
89
|
+
if (emphasize === true) {
|
|
90
|
+
emphasize = {
|
|
91
|
+
distance: 0,
|
|
92
|
+
animation: false
|
|
93
|
+
}
|
|
94
|
+
} else if (emphasize === false) {
|
|
95
|
+
emphasize = null
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
this.useEmphasize = !!emphasize
|
|
99
|
+
|
|
75
100
|
return html`
|
|
76
101
|
<div class="property-grid">
|
|
77
|
-
<input id="checkbox-emphasize" type="checkbox" value-key="emphasize" .checked=${
|
|
78
|
-
<label for="checkbox-emphasize" class="checkbox-label">
|
|
102
|
+
<input id="checkbox-use-emphasize" type="checkbox" value-key="use-emphasize" .checked=${!!this.useEmphasize} />
|
|
103
|
+
<label for="checkbox-use-emphasize" class="checkbox-label">
|
|
79
104
|
<ox-i18n msgid="label.emphasize">emphasize</ox-i18n>
|
|
80
105
|
</label>
|
|
81
106
|
|
|
82
|
-
|
|
107
|
+
${!!this.useEmphasize
|
|
108
|
+
? html`
|
|
109
|
+
<property-event-hover-emphasize
|
|
110
|
+
id="emphasize"
|
|
111
|
+
class="fullwidth"
|
|
112
|
+
value-key="emphasize"
|
|
113
|
+
.value=${emphasize}
|
|
114
|
+
></property-event-hover-emphasize>
|
|
115
|
+
`
|
|
116
|
+
: nothing}
|
|
117
|
+
|
|
118
|
+
<label> <ox-i18n msgid="label.hover-action">hover action</ox-i18n> </label>
|
|
83
119
|
<select id="tap-select" value-key="action" .value=${action || ''}>
|
|
84
120
|
<option value=""></option>
|
|
85
121
|
<option value="popup">popup target board</option>
|
|
@@ -131,7 +167,7 @@ export class PropertyEventHover extends LitElement {
|
|
|
131
167
|
|
|
132
168
|
<input id="checkbox-restore" type="checkbox" value-key="restore" .checked=${restore} />
|
|
133
169
|
<label for="checkbox-restore" class="checkbox-label">
|
|
134
|
-
<ox-i18n msgid="label.
|
|
170
|
+
<ox-i18n msgid="label.reset-on-leave">restore on leave</ox-i18n>
|
|
135
171
|
</label>
|
|
136
172
|
</div>
|
|
137
173
|
`
|
|
@@ -202,9 +238,16 @@ export class PropertyEventHover extends LitElement {
|
|
|
202
238
|
return
|
|
203
239
|
}
|
|
204
240
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
241
|
+
if (key == 'use-emphasize') {
|
|
242
|
+
this.value = {
|
|
243
|
+
...this.value,
|
|
244
|
+
emphasize: (element as HTMLInputElement).checked ? {} : null
|
|
245
|
+
}
|
|
246
|
+
} else {
|
|
247
|
+
this.value = {
|
|
248
|
+
...this.value,
|
|
249
|
+
[key]: convert(element)
|
|
250
|
+
}
|
|
208
251
|
}
|
|
209
252
|
|
|
210
253
|
this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }))
|
|
@@ -47,7 +47,7 @@ export class PropertyEventTap extends LitElement {
|
|
|
47
47
|
<input id="checkbox-pressed" type="checkbox" value-key="pressed" .checked=${pressed} />
|
|
48
48
|
<label for="checkbox-pressed" class="checkbox-label"> <ox-i18n msgid="label.pressed">pressed</ox-i18n> </label>
|
|
49
49
|
|
|
50
|
-
<label> <ox-i18n msgid="label.action">action</ox-i18n> </label>
|
|
50
|
+
<label> <ox-i18n msgid="label.tap-action">tap action</ox-i18n> </label>
|
|
51
51
|
<select
|
|
52
52
|
id="tap-select"
|
|
53
53
|
value-key="action"
|
package/translations/en.json
CHANGED
|
@@ -243,7 +243,10 @@
|
|
|
243
243
|
"label.duration": "Duration",
|
|
244
244
|
"label.email-id": "email ID",
|
|
245
245
|
"label.email_address": "Email Address",
|
|
246
|
-
"label.emphasize": "
|
|
246
|
+
"label.emphasize": "emphasize",
|
|
247
|
+
"label.emphasize-animation": "emphasize animation",
|
|
248
|
+
"label.emphasize-distance": "border gap",
|
|
249
|
+
"label.emphasize-line-width": "border width",
|
|
247
250
|
"label.end-alpha": "End Alpha",
|
|
248
251
|
"label.end-angle": "end angle",
|
|
249
252
|
"label.end-size": "end size",
|
|
@@ -281,6 +284,7 @@
|
|
|
281
284
|
"label.hide-rack-frame": "hide rack frame",
|
|
282
285
|
"label.horizontal": "horizontal",
|
|
283
286
|
"label.hour-width": "Hour Width",
|
|
287
|
+
"label.hover-action": "hover action",
|
|
284
288
|
"label.hover-event": "Hover Event",
|
|
285
289
|
"label.href": "href",
|
|
286
290
|
"label.id": "ID",
|
|
@@ -429,7 +433,7 @@
|
|
|
429
433
|
"label.requester": "requester",
|
|
430
434
|
"label.reset-password": "Reset Password",
|
|
431
435
|
"label.reset_password": "Reset Password",
|
|
432
|
-
"label.
|
|
436
|
+
"label.reset-on-leave": "reset on leave",
|
|
433
437
|
"label.retain": "retain",
|
|
434
438
|
"label.retention": "retention",
|
|
435
439
|
"label.reverse": "reverse",
|
|
@@ -518,6 +522,7 @@
|
|
|
518
522
|
"label.tab-active-index": "tab active index",
|
|
519
523
|
"label.tab-reference": "tab reference",
|
|
520
524
|
"label.tag": "tag",
|
|
525
|
+
"label.tap-action": "tap action",
|
|
521
526
|
"label.tap-event": "Tap Event",
|
|
522
527
|
"label.target": "target",
|
|
523
528
|
"label.target-axis": "Target Axis",
|
package/translations/ja.json
CHANGED
|
@@ -248,6 +248,9 @@
|
|
|
248
248
|
"label.email-id": "メールID",
|
|
249
249
|
"label.email_address": "メール",
|
|
250
250
|
"label.emphasize": "強調",
|
|
251
|
+
"label.emphasize-animation": "強調アニメーション",
|
|
252
|
+
"label.emphasize-distance": "強調距離",
|
|
253
|
+
"label.emphasize-line-width": "強調線幅",
|
|
251
254
|
"label.end-alpha": "終了透明度",
|
|
252
255
|
"label.end-angle": "端の角度",
|
|
253
256
|
"label.end-size": "端のサイズ",
|
|
@@ -285,6 +288,7 @@
|
|
|
285
288
|
"label.hide-rack-frame": "ラック フレーム非表示",
|
|
286
289
|
"label.horizontal": "横",
|
|
287
290
|
"label.hour-width": "時針の厚さ",
|
|
291
|
+
"label.hover-action": "ホバー アクション",
|
|
288
292
|
"label.hover-event": "ホバー イベント",
|
|
289
293
|
"label.href": "href",
|
|
290
294
|
"label.id": "ID",
|
|
@@ -432,7 +436,7 @@
|
|
|
432
436
|
"label.requester": "申請者",
|
|
433
437
|
"label.reset-password": "暗号リセット",
|
|
434
438
|
"label.reset_password": "パースワード リセット",
|
|
435
|
-
"label.
|
|
439
|
+
"label.reset-on-leave": "出る時元の状態に復旧",
|
|
436
440
|
"label.retain": "維持",
|
|
437
441
|
"label.retention": "維持期間",
|
|
438
442
|
"label.reverse": "逆方向",
|
|
@@ -521,6 +525,7 @@
|
|
|
521
525
|
"label.tab-active-index": "アクティブ タブ インデックス",
|
|
522
526
|
"label.tab-reference": "タブ参照",
|
|
523
527
|
"label.tag": "タグ",
|
|
528
|
+
"label.tap-action": "タップ アクション",
|
|
524
529
|
"label.tap-event": "タブ イベント",
|
|
525
530
|
"label.target": "対象",
|
|
526
531
|
"label.target-axis": "対象軸",
|
package/translations/ko.json
CHANGED
|
@@ -248,6 +248,9 @@
|
|
|
248
248
|
"label.email-id": "이메일 ID",
|
|
249
249
|
"label.email_address": "메일",
|
|
250
250
|
"label.emphasize": "강조",
|
|
251
|
+
"label.emphasize-animation": "강조 라인 애니메이션",
|
|
252
|
+
"label.emphasize-distance": "강조 라인 거리",
|
|
253
|
+
"label.emphasize-line-width": "강조 라인 두께",
|
|
251
254
|
"label.end-alpha": "종료 투명도",
|
|
252
255
|
"label.end-angle": "끝부분 각도",
|
|
253
256
|
"label.end-size": "끝 크기",
|
|
@@ -285,6 +288,7 @@
|
|
|
285
288
|
"label.hide-rack-frame": "랙 기둥 숨기기",
|
|
286
289
|
"label.horizontal": "가로",
|
|
287
290
|
"label.hour-width": "시침 두께",
|
|
291
|
+
"label.hover-action": "호버 액션",
|
|
288
292
|
"label.hover-event": "호버 이벤트",
|
|
289
293
|
"label.href": "href",
|
|
290
294
|
"label.id": "ID",
|
|
@@ -432,7 +436,7 @@
|
|
|
432
436
|
"label.requester": "신청자",
|
|
433
437
|
"label.reset-password": "암호초기화",
|
|
434
438
|
"label.reset_password": "비밀번호 초기화",
|
|
435
|
-
"label.
|
|
439
|
+
"label.reset-on-leave": "나갈 때 원상태로 복구",
|
|
436
440
|
"label.retain": "유지",
|
|
437
441
|
"label.retention": "유지기간",
|
|
438
442
|
"label.reverse": "역방향",
|
|
@@ -521,6 +525,7 @@
|
|
|
521
525
|
"label.tab-active-index": "활성탭 인덱스",
|
|
522
526
|
"label.tab-reference": "탭 참조",
|
|
523
527
|
"label.tag": "태그",
|
|
528
|
+
"label.tap-action": "탭 액션",
|
|
524
529
|
"label.tap-event": "탭 이벤트",
|
|
525
530
|
"label.target": "대상",
|
|
526
531
|
"label.target-axis": "대상 축",
|
package/translations/ms.json
CHANGED
|
@@ -236,6 +236,10 @@
|
|
|
236
236
|
"label.edit_group": "Edit Kumpulan",
|
|
237
237
|
"label.email": "E-mel",
|
|
238
238
|
"label.email_verified": "E-mel Disahkan",
|
|
239
|
+
"label.emphasize": "Tekankan",
|
|
240
|
+
"label.emphasize-animation": "Animasi Garis Penekanan",
|
|
241
|
+
"label.emphasize-distance": "Jarak Garis Penekanan",
|
|
242
|
+
"label.emphasize-line-width": "Lebar Garis Penekanan",
|
|
239
243
|
"label.enable": "Aktifkan",
|
|
240
244
|
"label.enter-verification-code": "Masukkan Kod Pengesahan",
|
|
241
245
|
"label.environment": "Persekitaran",
|
package/translations/zh.json
CHANGED
|
@@ -246,6 +246,9 @@
|
|
|
246
246
|
"label.email-id": "邮件ID",
|
|
247
247
|
"label.email_address": "邮件地址",
|
|
248
248
|
"label.emphasize": "强调",
|
|
249
|
+
"label.emphasize-animation": "强调线动画",
|
|
250
|
+
"label.emphasize-distance": "强调线距离",
|
|
251
|
+
"label.emphasize-line-width": "强调线宽度",
|
|
249
252
|
"label.end-alpha": "结束阿尔法",
|
|
250
253
|
"label.end-angle": "结束角度",
|
|
251
254
|
"label.end-size": "结束大小",
|
|
@@ -283,6 +286,7 @@
|
|
|
283
286
|
"label.hide-rack-frame": "隐藏货架框",
|
|
284
287
|
"label.horizontal": "水平对齐",
|
|
285
288
|
"label.hour-width": "时针厚度",
|
|
289
|
+
"label.hover-action": "悬停操作",
|
|
286
290
|
"label.hover-event": "悬停事件",
|
|
287
291
|
"label.href": "href",
|
|
288
292
|
"label.id": "ID",
|
|
@@ -431,7 +435,7 @@
|
|
|
431
435
|
"label.requester": "申请人",
|
|
432
436
|
"label.reset-password": "重置密码",
|
|
433
437
|
"label.reset_password": "重置密码",
|
|
434
|
-
"label.
|
|
438
|
+
"label.reset-on-leave": "离开时恢复",
|
|
435
439
|
"label.retain": "保持",
|
|
436
440
|
"label.retention": "保存期间",
|
|
437
441
|
"label.reverse": "反转",
|
|
@@ -520,6 +524,7 @@
|
|
|
520
524
|
"label.tab-active-index": "标签激活指数",
|
|
521
525
|
"label.tab-reference": "标签参考",
|
|
522
526
|
"label.tag": "标签",
|
|
527
|
+
"label.tap-action": "点击操作",
|
|
523
528
|
"label.tap-event": "点击事件",
|
|
524
529
|
"label.target": "目标",
|
|
525
530
|
"label.target-axis": "对象轴",
|