@fmsim/board 1.0.2 → 1.0.3

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.
@@ -1,70 +1,62 @@
1
1
  import { EventMap } from '@hatiolab/things-scene';
2
- function onmouseenter(event, hint) {
2
+ function dispatchFetchLvModelDataByMouseEvent(type, event, target) {
3
3
  var _a;
4
- const target = hint.origin;
5
- if (!((_a = target.model) === null || _a === void 0 ? void 0 : _a.id)) {
6
- return;
4
+ const parent = target.parentObject;
5
+ if ((_a = target.model) === null || _a === void 0 ? void 0 : _a.id) {
6
+ window.dispatchEvent(new CustomEvent('fetchLvModelDataByMouseEvent', {
7
+ detail: {
8
+ value: {
9
+ type,
10
+ event,
11
+ model: {
12
+ ...target.state,
13
+ parentObjectId: parent === null || parent === void 0 ? void 0 : parent.get('id')
14
+ },
15
+ data: target.data
16
+ }
17
+ }
18
+ }));
19
+ return parent || target;
7
20
  }
8
- event.stopPropagation();
9
- window.dispatchEvent(new CustomEvent('fetchLvModelDataByMouseEvent', {
10
- detail: {
11
- value: {
12
- type: 'hover',
13
- event,
14
- model: target.state,
15
- data: target.data
21
+ else if (parent) {
22
+ window.dispatchEvent(new CustomEvent('fetchLvModelDataByMouseEvent', {
23
+ detail: {
24
+ value: {
25
+ type,
26
+ event,
27
+ model: parent.state,
28
+ data: parent.data
29
+ }
16
30
  }
17
- }
18
- }));
31
+ }));
32
+ return parent;
33
+ }
34
+ }
35
+ function onmouseenter(event, hint) {
36
+ const target = hint.origin;
37
+ event.stopPropagation();
38
+ dispatchFetchLvModelDataByMouseEvent('hover', event, target);
19
39
  }
20
40
  function onclick(event, hint) {
21
41
  const target = hint.origin;
22
- // if (!target.model?.id) {
23
- // return
24
- // }
25
42
  event.stopPropagation();
26
43
  setTimeout(() => {
27
- var _a;
28
44
  if (target.currentEvent !== 'dblclick') {
29
- ((_a = target.model) === null || _a === void 0 ? void 0 : _a.id) &&
30
- window.dispatchEvent(new CustomEvent('fetchLvModelDataByMouseEvent', {
31
- detail: {
32
- value: {
33
- type: 'click',
34
- event,
35
- model: target.state,
36
- data: target.data
37
- }
38
- }
39
- }));
45
+ const realTarget = dispatchFetchLvModelDataByMouseEvent('click', event, target);
40
46
  window.dispatchEvent(new CustomEvent('clickComponent', {
41
- detail: target
47
+ detail: realTarget || target
42
48
  }));
43
49
  }
44
50
  }, 300);
45
51
  }
46
52
  function ondblclick(event, hint) {
47
- var _a;
48
53
  const target = hint.origin;
49
54
  setTimeout(() => {
50
55
  target.currentEvent = '';
51
56
  }, 500);
52
- // if (!target.model?.id) {
53
- // return
54
- // }
55
57
  event.stopPropagation();
56
58
  target.currentEvent = 'dblclick';
57
- ((_a = target.model) === null || _a === void 0 ? void 0 : _a.id) &&
58
- window.dispatchEvent(new CustomEvent('fetchLvModelDataByMouseEvent', {
59
- detail: {
60
- value: {
61
- type: 'dblclick',
62
- event,
63
- model: target.state,
64
- data: target.data
65
- }
66
- }
67
- }));
59
+ dispatchFetchLvModelDataByMouseEvent('dblclick', event, target);
68
60
  }
69
61
  EventMap.register('mcs-event-handler', {
70
62
  'model-layer': {
@@ -1 +1 @@
1
- {"version":3,"file":"mcs-mouse-event-handler.js","sourceRoot":"","sources":["../../../src/layers/mcs-mouse-event-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,SAAS,YAAY,CAAC,KAAiB,EAAE,IAAS;;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,IAAI,CAAC,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,EAAE,CAAA,EAAE,CAAC;QACtB,OAAM;IACR,CAAC;IAED,KAAK,CAAC,eAAe,EAAE,CAAA;IAEvB,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,8BAA8B,EAAE;QAC9C,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK;gBACL,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB;SACF;KACF,CAAC,CACH,CAAA;AACH,CAAC;AAED,SAAS,OAAO,CAAC,KAAiB,EAAE,IAAS;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,2BAA2B;IAC3B,WAAW;IACX,IAAI;IAEJ,KAAK,CAAC,eAAe,EAAE,CAAA;IAEvB,UAAU,CAAC,GAAG,EAAE;;QACd,IAAI,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YACvC,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,EAAE;gBACd,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,8BAA8B,EAAE;oBAC9C,MAAM,EAAE;wBACN,KAAK,EAAE;4BACL,IAAI,EAAE,OAAO;4BACb,KAAK;4BACL,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,IAAI,EAAE,MAAM,CAAC,IAAI;yBAClB;qBACF;iBACF,CAAC,CACH,CAAA;YAEH,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,gBAAgB,EAAE;gBAChC,MAAM,EAAE,MAAM;aACf,CAAC,CACH,CAAA;QACH,CAAC;IACH,CAAC,EAAE,GAAG,CAAC,CAAA;AACT,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB,EAAE,IAAS;;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,CAAC,YAAY,GAAG,EAAE,CAAA;IAC1B,CAAC,EAAE,GAAG,CAAC,CAAA;IAEP,2BAA2B;IAC3B,WAAW;IACX,IAAI;IAEJ,KAAK,CAAC,eAAe,EAAE,CAAA;IAEvB,MAAM,CAAC,YAAY,GAAG,UAAU,CAAA;IAChC,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,EAAE;QACd,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,8BAA8B,EAAE;YAC9C,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL,IAAI,EAAE,UAAU;oBAChB,KAAK;oBACL,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB;aACF;SACF,CAAC,CACH,CAAA;AACL,CAAC;AAED,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,EAAE;IACrC,aAAa,EAAE;QACb,OAAO,EAAE;YACP,6CAA6C;YAC7C,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,UAAU;SACrB;KACF;CACF,CAAC,CAAA","sourcesContent":["import { EventMap } from '@hatiolab/things-scene'\n\nfunction onmouseenter(event: MouseEvent, hint: any) {\n const target = hint.origin\n\n if (!target.model?.id) {\n return\n }\n\n event.stopPropagation()\n\n window.dispatchEvent(\n new CustomEvent('fetchLvModelDataByMouseEvent', {\n detail: {\n value: {\n type: 'hover',\n event,\n model: target.state,\n data: target.data\n }\n }\n })\n )\n}\n\nfunction onclick(event: MouseEvent, hint: any) {\n const target = hint.origin\n\n // if (!target.model?.id) {\n // return\n // }\n\n event.stopPropagation()\n\n setTimeout(() => {\n if (target.currentEvent !== 'dblclick') {\n target.model?.id &&\n window.dispatchEvent(\n new CustomEvent('fetchLvModelDataByMouseEvent', {\n detail: {\n value: {\n type: 'click',\n event,\n model: target.state,\n data: target.data\n }\n }\n })\n )\n\n window.dispatchEvent(\n new CustomEvent('clickComponent', {\n detail: target\n })\n )\n }\n }, 300)\n}\n\nfunction ondblclick(event: MouseEvent, hint: any) {\n const target = hint.origin\n\n setTimeout(() => {\n target.currentEvent = ''\n }, 500)\n\n // if (!target.model?.id) {\n // return\n // }\n\n event.stopPropagation()\n\n target.currentEvent = 'dblclick'\n target.model?.id &&\n window.dispatchEvent(\n new CustomEvent('fetchLvModelDataByMouseEvent', {\n detail: {\n value: {\n type: 'dblclick',\n event,\n model: target.state,\n data: target.data\n }\n }\n })\n )\n}\n\nEventMap.register('mcs-event-handler', {\n 'model-layer': {\n '(all)': {\n // mouseenter: onmouseenter, /* 사용되지 않고 있음 */\n click: onclick,\n dblclick: ondblclick\n }\n }\n})\n"]}
1
+ {"version":3,"file":"mcs-mouse-event-handler.js","sourceRoot":"","sources":["../../../src/layers/mcs-mouse-event-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAE5D,SAAS,oCAAoC,CAC3C,IAAoC,EACpC,KAAiB,EACjB,MAAgD;;IAEhD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAA;IAElC,IAAI,MAAA,MAAM,CAAC,KAAK,0CAAE,EAAE,EAAE,CAAC;QACrB,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,8BAA8B,EAAE;YAC9C,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL,IAAI;oBACJ,KAAK;oBACL,KAAK,EAAE;wBACL,GAAG,MAAM,CAAC,KAAK;wBACf,cAAc,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,IAAI,CAAC;qBAClC;oBACD,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB;aACF;SACF,CAAC,CACH,CAAA;QAED,OAAO,MAAM,IAAI,MAAM,CAAA;IACzB,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,8BAA8B,EAAE;YAC9C,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL,IAAI;oBACJ,KAAK;oBACL,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB;aACF;SACF,CAAC,CACH,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAiB,EAAE,IAAS;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,KAAK,CAAC,eAAe,EAAE,CAAA;IAEvB,oCAAoC,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AAC9D,CAAC;AAED,SAAS,OAAO,CAAC,KAAiB,EAAE,IAAS;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,KAAK,CAAC,eAAe,EAAE,CAAA;IAEvB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,oCAAoC,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;YAE/E,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,gBAAgB,EAAE;gBAChC,MAAM,EAAE,UAAU,IAAI,MAAM;aAC7B,CAAC,CACH,CAAA;QACH,CAAC;IACH,CAAC,EAAE,GAAG,CAAC,CAAA;AACT,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB,EAAE,IAAS;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,CAAC,YAAY,GAAG,EAAE,CAAA;IAC1B,CAAC,EAAE,GAAG,CAAC,CAAA;IAEP,KAAK,CAAC,eAAe,EAAE,CAAA;IAEvB,MAAM,CAAC,YAAY,GAAG,UAAU,CAAA;IAEhC,oCAAoC,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AACjE,CAAC;AAED,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,EAAE;IACrC,aAAa,EAAE;QACb,OAAO,EAAE;YACP,6CAA6C;YAC7C,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,UAAU;SACrB;KACF;CACF,CAAC,CAAA","sourcesContent":["import { Component, EventMap } from '@hatiolab/things-scene'\n\nfunction dispatchFetchLvModelDataByMouseEvent(\n type: 'hover' | 'click' | 'dblclick',\n event: MouseEvent,\n target: Component & { parentObject?: Component }\n): Component | undefined {\n const parent = target.parentObject\n\n if (target.model?.id) {\n window.dispatchEvent(\n new CustomEvent('fetchLvModelDataByMouseEvent', {\n detail: {\n value: {\n type,\n event,\n model: {\n ...target.state,\n parentObjectId: parent?.get('id')\n },\n data: target.data\n }\n }\n })\n )\n\n return parent || target\n } else if (parent) {\n window.dispatchEvent(\n new CustomEvent('fetchLvModelDataByMouseEvent', {\n detail: {\n value: {\n type,\n event,\n model: parent.state,\n data: parent.data\n }\n }\n })\n )\n\n return parent\n }\n}\n\nfunction onmouseenter(event: MouseEvent, hint: any) {\n const target = hint.origin\n\n event.stopPropagation()\n\n dispatchFetchLvModelDataByMouseEvent('hover', event, target)\n}\n\nfunction onclick(event: MouseEvent, hint: any) {\n const target = hint.origin\n\n event.stopPropagation()\n\n setTimeout(() => {\n if (target.currentEvent !== 'dblclick') {\n const realTarget = dispatchFetchLvModelDataByMouseEvent('click', event, target)\n\n window.dispatchEvent(\n new CustomEvent('clickComponent', {\n detail: realTarget || target\n })\n )\n }\n }, 300)\n}\n\nfunction ondblclick(event: MouseEvent, hint: any) {\n const target = hint.origin\n\n setTimeout(() => {\n target.currentEvent = ''\n }, 500)\n\n event.stopPropagation()\n\n target.currentEvent = 'dblclick'\n\n dispatchFetchLvModelDataByMouseEvent('dblclick', event, target)\n}\n\nEventMap.register('mcs-event-handler', {\n 'model-layer': {\n '(all)': {\n // mouseenter: onmouseenter, /* 사용되지 않고 있음 */\n click: onclick,\n dblclick: ondblclick\n }\n }\n})\n"]}