@fmsim/board 0.0.97 → 0.0.99
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/custom-elements.json +1164 -2566
- package/dist/src/layers/mcs-mouse-event-handler.js.map +1 -1
- package/dist/src/layers/movement-layer.js.map +1 -1
- package/dist/src/layers/tooltip-decorator.js.map +1 -1
- package/dist/src/modeller/component-toolbar/component-detail.d.ts +1 -1
- package/dist/src/modeller/component-toolbar/component-menu.d.ts +1 -1
- package/dist/src/modeller/component-toolbar/component-menu.js.map +1 -1
- package/dist/src/modeller/component-toolbar/component-toolbar.d.ts +1 -1
- package/dist/src/modeller/component-toolbar/component-toolbar.js.map +1 -1
- package/dist/src/modeller/edit-toolbar.d.ts +1 -1
- package/dist/src/modeller/edit-toolbar.js.map +1 -1
- package/dist/src/modeller/property-sidebar/abstract-property.js.map +1 -1
- package/dist/src/modeller/property-sidebar/data-binding/data-binding-mapper.d.ts +1 -1
- package/dist/src/modeller/property-sidebar/data-binding/data-binding-mapper.js.map +1 -1
- package/dist/src/modeller/property-sidebar/data-binding/data-binding-value-map.d.ts +1 -1
- package/dist/src/modeller/property-sidebar/data-binding/data-binding-value-map.js.map +1 -1
- package/dist/src/modeller/property-sidebar/data-binding/data-binding-value-range.d.ts +1 -1
- package/dist/src/modeller/property-sidebar/data-binding/data-binding-value-range.js.map +1 -1
- package/dist/src/modeller/property-sidebar/data-binding/data-binding.d.ts +1 -1
- package/dist/src/modeller/property-sidebar/data-binding/data-binding.js.map +1 -1
- package/dist/src/modeller/property-sidebar/effects/effects.d.ts +3 -2
- package/dist/src/modeller/property-sidebar/effects/effects.js +11 -2
- package/dist/src/modeller/property-sidebar/effects/effects.js.map +1 -1
- package/dist/src/modeller/property-sidebar/effects/property-event-hover.d.ts +1 -1
- package/dist/src/modeller/property-sidebar/effects/property-event-hover.js.map +1 -1
- package/dist/src/modeller/property-sidebar/effects/property-event-tap.d.ts +1 -9
- package/dist/src/modeller/property-sidebar/effects/property-event-tap.js +5 -110
- package/dist/src/modeller/property-sidebar/effects/property-event-tap.js.map +1 -1
- package/dist/src/modeller/property-sidebar/effects/property-event.d.ts +1 -3
- package/dist/src/modeller/property-sidebar/effects/property-event.js +0 -2
- package/dist/src/modeller/property-sidebar/effects/property-event.js.map +1 -1
- package/dist/src/modeller/property-sidebar/effects/property-shadow.d.ts +1 -1
- package/dist/src/modeller/property-sidebar/effects/property-shadow.js.map +1 -1
- package/dist/src/modeller/property-sidebar/effects/value-converter.js.map +1 -1
- package/dist/src/modeller/property-sidebar/inspector/inspector.js.map +1 -1
- package/dist/src/modeller/property-sidebar/property-sidebar.d.ts +1 -1
- package/dist/src/modeller/property-sidebar/property-sidebar.js +6 -1
- package/dist/src/modeller/property-sidebar/property-sidebar.js.map +1 -1
- package/dist/src/modeller/property-sidebar/shapes/shapes.d.ts +1 -1
- package/dist/src/modeller/property-sidebar/shapes/shapes.js.map +1 -1
- package/dist/src/modeller/property-sidebar/specifics/specific-properties-builder.d.ts +1 -1
- package/dist/src/modeller/property-sidebar/specifics/specific-properties-builder.js.map +1 -1
- package/dist/src/modeller/property-sidebar/specifics/specifics.d.ts +1 -1
- package/dist/src/modeller/property-sidebar/specifics/specifics.js.map +1 -1
- package/dist/src/modeller/property-sidebar/styles/styles.d.ts +1 -1
- package/dist/src/modeller/property-sidebar/styles/styles.js.map +1 -1
- package/dist/src/modeller/scene-viewer/ox-scene-handler.d.ts +1 -1
- package/dist/src/modeller/scene-viewer/ox-scene-handler.js.map +1 -1
- package/dist/src/modeller/scene-viewer/ox-scene-layer.d.ts +1 -1
- package/dist/src/modeller/scene-viewer/ox-scene-layer.js.map +1 -1
- package/dist/src/modeller/scene-viewer/ox-scene-viewer.d.ts +1 -1
- package/dist/src/modeller/scene-viewer/ox-scene-viewer.js.map +1 -1
- package/dist/src/ox-board-component-info.d.ts +1 -1
- package/dist/src/ox-board-component-info.js.map +1 -1
- package/dist/src/ox-board-list.js.map +1 -1
- package/dist/src/ox-board-modeller.d.ts +2 -2
- package/dist/src/ox-board-modeller.js.map +1 -1
- package/dist/src/ox-board-viewer.d.ts +1 -1
- package/dist/src/ox-board-viewer.js +2 -1
- package/dist/src/ox-board-viewer.js.map +1 -1
- package/dist/src/ox-editor-board-selector.d.ts +1 -1
- package/dist/src/ox-editor-board-selector.js.map +1 -1
- package/dist/src/ox-property-editor-theme.js.map +1 -1
- package/dist/src/selector/board-creation-popup.d.ts +1 -1
- package/dist/src/selector/board-creation-popup.js.map +1 -1
- package/dist/src/selector/board-thumbnail-card.d.ts +1 -1
- package/dist/src/selector/board-thumbnail-card.js.map +1 -1
- package/dist/src/selector/ox-board-creation-card.d.ts +1 -1
- package/dist/src/selector/ox-board-creation-card.js.map +1 -1
- package/dist/src/selector/ox-board-selector.d.ts +1 -1
- package/dist/src/selector/ox-board-selector.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/dist/src/layers/mcs-mouse-event-layer.d.ts +0 -30
- package/dist/src/layers/mcs-mouse-event-layer.js +0 -114
- package/dist/src/layers/mcs-mouse-event-layer.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fmsim/board",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.99",
|
|
4
4
|
"description": "보드 구성을 위한 기본 UI (웹)컴포넌트들을 제공합니다.",
|
|
5
5
|
"author": "heartyoh",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"storybook:build": "tsc && npm run analyze -- --exclude dist && build-storybook"
|
|
85
85
|
},
|
|
86
86
|
"dependencies": {
|
|
87
|
-
"@fmsim/api": "^0.0.
|
|
87
|
+
"@fmsim/api": "^0.0.99",
|
|
88
88
|
"@open-wc/scoped-elements": "^2.0.0-next.6",
|
|
89
89
|
"@operato/app": "^1.3.7",
|
|
90
90
|
"@operato/data-grist": "^1.3.5",
|
|
@@ -145,5 +145,5 @@
|
|
|
145
145
|
"prettier --write"
|
|
146
146
|
]
|
|
147
147
|
},
|
|
148
|
-
"gitHead": "
|
|
148
|
+
"gitHead": "754fce061cd861f273a7c2a9e448c694e0efff43"
|
|
149
149
|
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Component, Layer } from '@hatiolab/things-scene';
|
|
2
|
-
export default class MCSMouseEventLayer extends Layer {
|
|
3
|
-
private _anim_alpha;
|
|
4
|
-
private _lastTargets;
|
|
5
|
-
private _decoTargets;
|
|
6
|
-
private _animate;
|
|
7
|
-
animOnTargetChange(decoTargets: Component[]): void;
|
|
8
|
-
decorate(component: Component, context: CanvasRenderingContext2D, delta: number): boolean;
|
|
9
|
-
render(context: CanvasRenderingContext2D): void;
|
|
10
|
-
get decoTargets(): Component[];
|
|
11
|
-
set decoTargets(decoTargets: Component[]);
|
|
12
|
-
get eventMap(): {
|
|
13
|
-
'model-layer': {
|
|
14
|
-
'(descendant)': {
|
|
15
|
-
mouseenter: (e: MouseEvent, hint: any) => void;
|
|
16
|
-
mouseleave: (e: MouseEvent, hint: any) => void;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
onmouseclick(e: MouseEvent, hint: any): void;
|
|
21
|
-
onmouseenter(e: MouseEvent, hint: any): void;
|
|
22
|
-
onmouseleave(e: MouseEvent, hint: any): void;
|
|
23
|
-
onhoverreset(hint: any): void;
|
|
24
|
-
onhover(hint: any): void;
|
|
25
|
-
offhover(e: MouseEvent, hint: any): void;
|
|
26
|
-
_onhover(target: Component): void;
|
|
27
|
-
_offhover(target: Component): void;
|
|
28
|
-
_hoverreset(): void;
|
|
29
|
-
_onpopup(unit: Component): void;
|
|
30
|
-
}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
import { Component, Layer } from '@hatiolab/things-scene';
|
|
5
|
-
import tooltipDecorator from './tooltip-decorator';
|
|
6
|
-
/*
|
|
7
|
-
* MCSMouseEventLayer 선택된 컴포넌트에 대한 정보를 보여준다.
|
|
8
|
-
*
|
|
9
|
-
* Tooltip 을 통해서 id, class 설정 정보를 보여준다.
|
|
10
|
-
* 변수에 의한 데이타 흐름은 선을 통해서 보여준다.
|
|
11
|
-
*/
|
|
12
|
-
export default class MCSMouseEventLayer extends Layer {
|
|
13
|
-
constructor() {
|
|
14
|
-
super(...arguments);
|
|
15
|
-
this._anim_alpha = 1;
|
|
16
|
-
this._lastTargets = [];
|
|
17
|
-
this._decoTargets = [];
|
|
18
|
-
}
|
|
19
|
-
animOnTargetChange(decoTargets) {
|
|
20
|
-
if (decoTargets === this._lastTargets)
|
|
21
|
-
return;
|
|
22
|
-
this._lastTargets = decoTargets;
|
|
23
|
-
this._anim_alpha = 1;
|
|
24
|
-
this.animate({
|
|
25
|
-
step: (delta) => {
|
|
26
|
-
this._anim_alpha = 1 - delta;
|
|
27
|
-
this.invalidate();
|
|
28
|
-
},
|
|
29
|
-
duration: 5000,
|
|
30
|
-
delta: 'circ',
|
|
31
|
-
ease: 'in'
|
|
32
|
-
}).start();
|
|
33
|
-
}
|
|
34
|
-
decorate(component, context, delta) {
|
|
35
|
-
var rendered = false;
|
|
36
|
-
const result = tooltipDecorator(component, context, 1 - delta);
|
|
37
|
-
rendered || (rendered = result);
|
|
38
|
-
return rendered;
|
|
39
|
-
}
|
|
40
|
-
render(context) {
|
|
41
|
-
var decoTargets = this.decoTargets && this.decoTargets.filter(target => target.rootModel);
|
|
42
|
-
if (!decoTargets || decoTargets.length == 0) {
|
|
43
|
-
this._animate && this._animate.stop();
|
|
44
|
-
delete this._animate;
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
context.globalAlpha *= this._anim_alpha;
|
|
48
|
-
var needAnimation = false;
|
|
49
|
-
decoTargets.forEach(target => {
|
|
50
|
-
if (this.decorate(target, context, 1 - this._anim_alpha)) {
|
|
51
|
-
needAnimation = true;
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
needAnimation && this.animOnTargetChange(this.decoTargets);
|
|
55
|
-
}
|
|
56
|
-
get decoTargets() {
|
|
57
|
-
return this._decoTargets;
|
|
58
|
-
}
|
|
59
|
-
set decoTargets(decoTargets) {
|
|
60
|
-
this._decoTargets = decoTargets && decoTargets.filter(target => !target.isLayer());
|
|
61
|
-
this.invalidate();
|
|
62
|
-
}
|
|
63
|
-
get eventMap() {
|
|
64
|
-
return {
|
|
65
|
-
'model-layer': {
|
|
66
|
-
'(descendant)': {
|
|
67
|
-
// tag: this.onhover,
|
|
68
|
-
// tagreset: this.onhoverreset,
|
|
69
|
-
mouseenter: this.onmouseenter,
|
|
70
|
-
mouseleave: this.onmouseleave
|
|
71
|
-
// mouseclick: this.onmouseclick
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
onmouseclick(e, hint) {
|
|
77
|
-
this._hoverreset();
|
|
78
|
-
this._onpopup(hint.origin);
|
|
79
|
-
}
|
|
80
|
-
onmouseenter(e, hint) {
|
|
81
|
-
this._hoverreset();
|
|
82
|
-
this._onhover(hint.origin);
|
|
83
|
-
}
|
|
84
|
-
onmouseleave(e, hint) {
|
|
85
|
-
this._hoverreset();
|
|
86
|
-
}
|
|
87
|
-
onhoverreset(hint) {
|
|
88
|
-
this._hoverreset();
|
|
89
|
-
}
|
|
90
|
-
onhover(hint) {
|
|
91
|
-
this._onhover(hint.origin);
|
|
92
|
-
}
|
|
93
|
-
offhover(e, hint) {
|
|
94
|
-
this._offhover(hint.origin);
|
|
95
|
-
}
|
|
96
|
-
_onhover(target) {
|
|
97
|
-
if (this.decoTargets && this.decoTargets.lastIndexOf(target) !== -1)
|
|
98
|
-
return;
|
|
99
|
-
this.decoTargets = (this.decoTargets || []).concat(target);
|
|
100
|
-
}
|
|
101
|
-
_offhover(target) {
|
|
102
|
-
if (!this.decoTargets)
|
|
103
|
-
return;
|
|
104
|
-
var copied = this.decoTargets.slice();
|
|
105
|
-
copied.splice(this.decoTargets.lastIndexOf(target), 1);
|
|
106
|
-
this.decoTargets = copied;
|
|
107
|
-
}
|
|
108
|
-
_hoverreset() {
|
|
109
|
-
this.decoTargets = [];
|
|
110
|
-
}
|
|
111
|
-
_onpopup(unit) { }
|
|
112
|
-
}
|
|
113
|
-
Component.register('mcs-mouse-event-layer', MCSMouseEventLayer);
|
|
114
|
-
//# sourceMappingURL=mcs-mouse-event-layer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcs-mouse-event-layer.js","sourceRoot":"","sources":["../../../src/layers/mcs-mouse-event-layer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,gBAAgB,MAAM,qBAAqB,CAAA;AAElD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,KAAK;IAArD;;QACU,gBAAW,GAAG,CAAC,CAAA;QACf,iBAAY,GAAgB,EAAE,CAAA;QAC9B,iBAAY,GAAgB,EAAE,CAAA;IAuHxC,CAAC;IApHC,kBAAkB,CAAC,WAAwB;QACzC,IAAI,WAAW,KAAK,IAAI,CAAC,YAAY;YAAE,OAAM;QAE7C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;QAE/B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;QAEpB,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,CAAC,KAAa,EAAE,EAAE;gBACtB,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,KAAK,CAAA;gBAC5B,IAAI,CAAC,UAAU,EAAE,CAAA;YACnB,CAAC;YACD,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,IAAI;SACX,CAAC,CAAC,KAAK,EAAE,CAAA;IACZ,CAAC;IAED,QAAQ,CAAC,SAAoB,EAAE,OAAiC,EAAE,KAAa;QAC7E,IAAI,QAAQ,GAAG,KAAK,CAAA;QAEpB,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,CAAA;QAC9D,QAAQ,KAAR,QAAQ,GAAK,MAAM,EAAA;QAEnB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM,CAAC,OAAiC;QACtC,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACzF,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3C,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;YACrC,OAAO,IAAI,CAAC,QAAQ,CAAA;YACpB,OAAM;SACP;QAED,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAA;QAEvC,IAAI,aAAa,GAAG,KAAK,CAAA;QAEzB,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE;gBACxD,aAAa,GAAG,IAAI,CAAA;aACrB;QACH,CAAC,CAAC,CAAA;QAEF,aAAa,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,IAAI,WAAW,CAAC,WAAW;QACzB,IAAI,CAAC,YAAY,GAAG,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;QAClF,IAAI,CAAC,UAAU,EAAE,CAAA;IACnB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO;YACL,aAAa,EAAE;gBACb,cAAc,EAAE;oBACd,qBAAqB;oBACrB,+BAA+B;oBAC/B,UAAU,EAAE,IAAI,CAAC,YAAY;oBAC7B,UAAU,EAAE,IAAI,CAAC,YAAY;oBAC7B,gCAAgC;iBACjC;aACF;SACF,CAAA;IACH,CAAC;IAED,YAAY,CAAC,CAAa,EAAE,IAAS;QACnC,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC5B,CAAC;IAED,YAAY,CAAC,CAAa,EAAE,IAAS;QACnC,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC5B,CAAC;IAED,YAAY,CAAC,CAAa,EAAE,IAAS;QACnC,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAED,YAAY,CAAC,IAAS;QACpB,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAED,OAAO,CAAC,IAAS;QACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC5B,CAAC;IAED,QAAQ,CAAC,CAAa,EAAE,IAAS;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED,QAAQ,CAAC,MAAiB;QACxB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAAE,OAAM;QAE3E,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC5D,CAAC;IAED,SAAS,CAAC,MAAiB;QACzB,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAM;QAE7B,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QACtD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAA;IAC3B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;IACvB,CAAC;IAED,QAAQ,CAAC,IAAe,IAAG,CAAC;CAC7B;AAED,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,CAAA","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { Component, Layer } from '@hatiolab/things-scene'\n\nimport tooltipDecorator from './tooltip-decorator'\n\n/*\n * MCSMouseEventLayer 선택된 컴포넌트에 대한 정보를 보여준다.\n *\n * Tooltip 을 통해서 id, class 설정 정보를 보여준다.\n * 변수에 의한 데이타 흐름은 선을 통해서 보여준다.\n */\nexport default class MCSMouseEventLayer extends Layer {\n private _anim_alpha = 1\n private _lastTargets: Component[] = []\n private _decoTargets: Component[] = []\n private _animate: any\n\n animOnTargetChange(decoTargets: Component[]) {\n if (decoTargets === this._lastTargets) return\n\n this._lastTargets = decoTargets\n\n this._anim_alpha = 1\n\n this.animate({\n step: (delta: number) => {\n this._anim_alpha = 1 - delta\n this.invalidate()\n },\n duration: 5000,\n delta: 'circ',\n ease: 'in'\n }).start()\n }\n\n decorate(component: Component, context: CanvasRenderingContext2D, delta: number) {\n var rendered = false\n\n const result = tooltipDecorator(component, context, 1 - delta)\n rendered ||= result\n\n return rendered\n }\n\n render(context: CanvasRenderingContext2D) {\n var decoTargets = this.decoTargets && this.decoTargets.filter(target => target.rootModel)\n if (!decoTargets || decoTargets.length == 0) {\n this._animate && this._animate.stop()\n delete this._animate\n return\n }\n\n context.globalAlpha *= this._anim_alpha\n\n var needAnimation = false\n\n decoTargets.forEach(target => {\n if (this.decorate(target, context, 1 - this._anim_alpha)) {\n needAnimation = true\n }\n })\n\n needAnimation && this.animOnTargetChange(this.decoTargets)\n }\n\n get decoTargets(): Component[] {\n return this._decoTargets\n }\n\n set decoTargets(decoTargets) {\n this._decoTargets = decoTargets && decoTargets.filter(target => !target.isLayer())\n this.invalidate()\n }\n\n get eventMap() {\n return {\n 'model-layer': {\n '(descendant)': {\n // tag: this.onhover,\n // tagreset: this.onhoverreset,\n mouseenter: this.onmouseenter,\n mouseleave: this.onmouseleave\n // mouseclick: this.onmouseclick\n }\n }\n }\n }\n\n onmouseclick(e: MouseEvent, hint: any) {\n this._hoverreset()\n this._onpopup(hint.origin)\n }\n\n onmouseenter(e: MouseEvent, hint: any) {\n this._hoverreset()\n this._onhover(hint.origin)\n }\n\n onmouseleave(e: MouseEvent, hint: any) {\n this._hoverreset()\n }\n\n onhoverreset(hint: any) {\n this._hoverreset()\n }\n\n onhover(hint: any) {\n this._onhover(hint.origin)\n }\n\n offhover(e: MouseEvent, hint: any) {\n this._offhover(hint.origin)\n }\n\n _onhover(target: Component) {\n if (this.decoTargets && this.decoTargets.lastIndexOf(target) !== -1) return\n\n this.decoTargets = (this.decoTargets || []).concat(target)\n }\n\n _offhover(target: Component) {\n if (!this.decoTargets) return\n\n var copied = this.decoTargets.slice()\n copied.splice(this.decoTargets.lastIndexOf(target), 1)\n this.decoTargets = copied\n }\n\n _hoverreset() {\n this.decoTargets = []\n }\n\n _onpopup(unit: Component) {}\n}\n\nComponent.register('mcs-mouse-event-layer', MCSMouseEventLayer)\n"]}
|