@fmsim/board 0.0.62 → 0.0.64
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 +2281 -1834
- package/dist/src/layers/mcs-mouse-event-layer.d.ts +30 -0
- package/dist/src/layers/mcs-mouse-event-layer.js +114 -0
- package/dist/src/layers/mcs-mouse-event-layer.js.map +1 -0
- package/dist/src/layers/tooltip-decorator.d.ts +2 -0
- package/dist/src/layers/tooltip-decorator.js +41 -0
- package/dist/src/layers/tooltip-decorator.js.map +1 -0
- package/dist/src/ox-board-component-info.d.ts +21 -0
- package/dist/src/ox-board-component-info.js +218 -0
- package/dist/src/ox-board-component-info.js.map +1 -0
- package/dist/src/ox-board-modeller.js +0 -1
- package/dist/src/ox-board-modeller.js.map +1 -1
- package/dist/src/ox-board-viewer.d.ts +5 -1
- package/dist/src/ox-board-viewer.js +49 -3
- package/dist/src/ox-board-viewer.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/dist/src/graphql/board.d.ts +0 -6
- package/dist/src/graphql/board.js +0 -139
- package/dist/src/graphql/board.js.map +0 -1
- package/dist/src/graphql/data-subscription.d.ts +0 -5
- package/dist/src/graphql/data-subscription.js +0 -24
- package/dist/src/graphql/data-subscription.js.map +0 -1
- package/dist/src/graphql/favorite-board.d.ts +0 -1
- package/dist/src/graphql/favorite-board.js +0 -23
- package/dist/src/graphql/favorite-board.js.map +0 -1
- package/dist/src/graphql/group.d.ts +0 -7
- package/dist/src/graphql/group.js +0 -125
- package/dist/src/graphql/group.js.map +0 -1
- package/dist/src/graphql/index.d.ts +0 -4
- package/dist/src/graphql/index.js +0 -5
- package/dist/src/graphql/index.js.map +0 -1
- package/dist/src/graphql/play-group.d.ts +0 -8
- package/dist/src/graphql/play-group.js +0 -173
- package/dist/src/graphql/play-group.js.map +0 -1
- package/dist/src/graphql/scenario.d.ts +0 -6
- package/dist/src/graphql/scenario.js +0 -69
- package/dist/src/graphql/scenario.js.map +0 -1
- package/dist/src/layers/bouncing-arrow-decorator.d.ts +0 -1
- package/dist/src/layers/bouncing-arrow-decorator.js +0 -40
- package/dist/src/layers/bouncing-arrow-decorator.js.map +0 -1
- package/dist/src/layers/event-handlers.d.ts +0 -1
- package/dist/src/layers/event-handlers.js +0 -70
- package/dist/src/layers/event-handlers.js.map +0 -1
- package/dist/src/layers/mcs-event-handlers.d.ts +0 -1
- package/dist/src/layers/mcs-event-handlers.js +0 -73
- package/dist/src/layers/mcs-event-handlers.js.map +0 -1
- package/dist/src/layers/ox-mini-map.d.ts +0 -1
- package/dist/src/layers/ox-mini-map.js +0 -189
- package/dist/src/layers/ox-mini-map.js.map +0 -1
- package/dist/src/layers/scroll-layer.d.ts +0 -24
- package/dist/src/layers/scroll-layer.js +0 -125
- package/dist/src/layers/scroll-layer.js.map +0 -1
- package/dist/src/layers/shift-handler.d.ts +0 -1
- package/dist/src/layers/shift-handler.js +0 -38
- package/dist/src/layers/shift-handler.js.map +0 -1
- package/dist/src/layers/zoom-handler.d.ts +0 -1
- package/dist/src/layers/zoom-handler.js +0 -36
- package/dist/src/layers/zoom-handler.js.map +0 -1
- package/dist/src/ox-board-viewer-backup.d.ts +0 -64
- package/dist/src/ox-board-viewer-backup.js +0 -529
- package/dist/src/ox-board-viewer-backup.js.map +0 -1
- package/dist/src/ox-board-viewer-other.d.ts +0 -19
- package/dist/src/ox-board-viewer-other.js +0 -82
- package/dist/src/ox-board-viewer-other.js.map +0 -1
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import gql from 'graphql-tag';
|
|
2
|
-
import { client } from '@operato/graphql';
|
|
3
|
-
export const scenarios = async () => {
|
|
4
|
-
var response = await client.query({
|
|
5
|
-
query: gql `
|
|
6
|
-
query {
|
|
7
|
-
scenarios {
|
|
8
|
-
items {
|
|
9
|
-
name
|
|
10
|
-
description
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
`
|
|
15
|
-
});
|
|
16
|
-
if (response.errors) {
|
|
17
|
-
return [];
|
|
18
|
-
}
|
|
19
|
-
return response.data.scenarios.items;
|
|
20
|
-
};
|
|
21
|
-
export const startScenario = async (scenarioName, instanceName, variables) => {
|
|
22
|
-
var _a, _b;
|
|
23
|
-
if (!scenarioName) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
if (client) {
|
|
27
|
-
var response = await client.query({
|
|
28
|
-
query: gql `
|
|
29
|
-
mutation ($instanceName: String, $scenarioName: String!, $variables: Object) {
|
|
30
|
-
startScenario(instanceName: $instanceName, scenarioName: $scenarioName, variables: $variables) {
|
|
31
|
-
state
|
|
32
|
-
message
|
|
33
|
-
data
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
`,
|
|
37
|
-
variables: {
|
|
38
|
-
instanceName: instanceName,
|
|
39
|
-
scenarioName: scenarioName,
|
|
40
|
-
variables
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
return (_b = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.startScenario) === null || _b === void 0 ? void 0 : _b.data;
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
export const runScenario = async (scenarioName, variables) => {
|
|
47
|
-
var _a, _b;
|
|
48
|
-
if (!scenarioName)
|
|
49
|
-
return;
|
|
50
|
-
if (client) {
|
|
51
|
-
var response = await client.query({
|
|
52
|
-
query: gql `
|
|
53
|
-
mutation ($scenarioName: String!, $variables: Object) {
|
|
54
|
-
runScenario(scenarioName: $scenarioName, variables: $variables) {
|
|
55
|
-
state
|
|
56
|
-
message
|
|
57
|
-
data
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
`,
|
|
61
|
-
variables: {
|
|
62
|
-
scenarioName: scenarioName,
|
|
63
|
-
variables
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
return (_b = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.runScenario) === null || _b === void 0 ? void 0 : _b.data;
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
//# sourceMappingURL=scenario.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scenario.js","sourceRoot":"","sources":["../../../src/graphql/scenario.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,aAAa,CAAA;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,IAAsD,EAAE;IACpF,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;QAChC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;KAST;KACF,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAA;KACV;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAA;AACtC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,YAAoB,EACpB,YAAoB,EACpB,SAAmC,EACnC,EAAE;;IACF,IAAI,CAAC,YAAY,EAAE;QACjB,OAAM;KACP;IAED,IAAI,MAAM,EAAE;QACV,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;YAChC,KAAK,EAAE,GAAG,CAAA;;;;;;;;OAQT;YACD,SAAS,EAAE;gBACT,YAAY,EAAE,YAAY;gBAC1B,YAAY,EAAE,YAAY;gBAC1B,SAAS;aACV;SACF,CAAC,CAAA;QAEF,OAAO,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,aAAa,0CAAE,IAAI,CAAA;KAC3C;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,YAAoB,EAAE,SAAmC,EAAE,EAAE;;IAC7F,IAAI,CAAC,YAAY;QAAE,OAAM;IAEzB,IAAI,MAAM,EAAE;QACV,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;YAChC,KAAK,EAAE,GAAG,CAAA;;;;;;;;OAQT;YACD,SAAS,EAAE;gBACT,YAAY,EAAE,YAAY;gBAC1B,SAAS;aACV;SACF,CAAC,CAAA;QAEF,OAAO,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,WAAW,0CAAE,IAAI,CAAA;KACzC;AACH,CAAC,CAAA","sourcesContent":["import gql from 'graphql-tag'\n\nimport { client } from '@operato/graphql'\n\nexport const scenarios = async (): Promise<{ name: string; description: string }[]> => {\n var response = await client.query({\n query: gql`\n query {\n scenarios {\n items {\n name\n description\n }\n }\n }\n `\n })\n\n if (response.errors) {\n return []\n }\n\n return response.data.scenarios.items\n}\n\nexport const startScenario = async (\n scenarioName: string,\n instanceName: string,\n variables: string | number | object\n) => {\n if (!scenarioName) {\n return\n }\n\n if (client) {\n var response = await client.query({\n query: gql`\n mutation ($instanceName: String, $scenarioName: String!, $variables: Object) {\n startScenario(instanceName: $instanceName, scenarioName: $scenarioName, variables: $variables) {\n state\n message\n data\n }\n }\n `,\n variables: {\n instanceName: instanceName,\n scenarioName: scenarioName,\n variables\n }\n })\n\n return response?.data?.startScenario?.data\n }\n}\n\nexport const runScenario = async (scenarioName: string, variables: string | number | object) => {\n if (!scenarioName) return\n\n if (client) {\n var response = await client.query({\n query: gql`\n mutation ($scenarioName: String!, $variables: Object) {\n runScenario(scenarioName: $scenarioName, variables: $variables) {\n state\n message\n data\n }\n }\n `,\n variables: {\n scenarioName: scenarioName,\n variables\n }\n })\n\n return response?.data?.runScenario?.data\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Component } from '@hatiolab/things-scene';
|
|
2
|
-
function bounce(delta) {
|
|
3
|
-
const progress = (1 - delta) * 100;
|
|
4
|
-
const round = progress / 10;
|
|
5
|
-
const bounce = progress % 10; /* 10회 바운스 */
|
|
6
|
-
return bounce < 5 ? bounce : 10 - bounce;
|
|
7
|
-
}
|
|
8
|
-
function bouncingArrowDecorator(component, context, delta /* 1 ~ 0 */) {
|
|
9
|
-
let { left, top, width } = component.bounds;
|
|
10
|
-
let decotag = component.decotag;
|
|
11
|
-
let { x, y } = component.transcoordS2C(left + width / 2, top, component.rootModel);
|
|
12
|
-
const BOUNCE = bounce(delta || 0) * 2;
|
|
13
|
-
x = Math.max(x, 20);
|
|
14
|
-
y = Math.max(y, 20);
|
|
15
|
-
context.beginPath();
|
|
16
|
-
context.moveTo(x - 10, y - 16 + BOUNCE);
|
|
17
|
-
context.lineTo(x + 10, y - 16 + BOUNCE);
|
|
18
|
-
context.lineTo(x + 10, y - 8 + BOUNCE);
|
|
19
|
-
context.lineTo(x + 16, y - 8 + BOUNCE);
|
|
20
|
-
context.lineTo(x, y + BOUNCE);
|
|
21
|
-
context.lineTo(x - 16, y - 8 + BOUNCE);
|
|
22
|
-
context.lineTo(x - 10, y - 8 + BOUNCE);
|
|
23
|
-
context.lineTo(x - 10, y - 16 + BOUNCE);
|
|
24
|
-
context.lineTo(x - 10, y - 16 + BOUNCE);
|
|
25
|
-
context.fillStyle = '#FF0000';
|
|
26
|
-
context.fill();
|
|
27
|
-
if (decotag) {
|
|
28
|
-
context.beginPath();
|
|
29
|
-
context.font = '12px Arial';
|
|
30
|
-
let metrics = context.measureText(decotag);
|
|
31
|
-
context.fillStyle = '#FF0000';
|
|
32
|
-
context.roundRect(x - metrics.actualBoundingBoxLeft - 3 + 20, y - metrics.actualBoundingBoxAscent - 3 - 6 + BOUNCE, metrics.actualBoundingBoxLeft + metrics.actualBoundingBoxRight + 3 * 2, metrics.actualBoundingBoxAscent + metrics.actualBoundingBoxDescent + 3 * 2, 3 /* round */);
|
|
33
|
-
context.fill();
|
|
34
|
-
context.fillStyle = 'white';
|
|
35
|
-
context.fillText(decotag, x + 20, y - 6 + BOUNCE);
|
|
36
|
-
}
|
|
37
|
-
return true; /* need animation */
|
|
38
|
-
}
|
|
39
|
-
Component.registerDecorator('bouncing-arrow', bouncingArrowDecorator);
|
|
40
|
-
//# sourceMappingURL=bouncing-arrow-decorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bouncing-arrow-decorator.js","sourceRoot":"","sources":["../../../src/layers/bouncing-arrow-decorator.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component } from '@hatiolab/things-scene'\n\nfunction bounce(delta: number): number {\n const progress = (1 - delta) * 100\n const round = progress / 10\n const bounce = progress % 10 /* 10회 바운스 */\n\n return bounce < 5 ? bounce : 10 - bounce\n}\n\nfunction bouncingArrowDecorator(component: Component, context: any, delta?: number /* 1 ~ 0 */) {\n let { left, top, width } = component.bounds\n let decotag = (component as any).decotag\n let { x, y } = (component as any).transcoordS2C(left + width / 2, top, component.rootModel)\n\n const BOUNCE = bounce(delta || 0) * 2\n\n x = Math.max(x, 20)\n y = Math.max(y, 20)\n\n context.beginPath()\n\n context.moveTo(x - 10, y - 16 + BOUNCE)\n context.lineTo(x + 10, y - 16 + BOUNCE)\n context.lineTo(x + 10, y - 8 + BOUNCE)\n context.lineTo(x + 16, y - 8 + BOUNCE)\n context.lineTo(x, y + BOUNCE)\n context.lineTo(x - 16, y - 8 + BOUNCE)\n context.lineTo(x - 10, y - 8 + BOUNCE)\n context.lineTo(x - 10, y - 16 + BOUNCE)\n context.lineTo(x - 10, y - 16 + BOUNCE)\n\n context.fillStyle = '#FF0000'\n\n context.fill()\n\n if (decotag) {\n context.beginPath()\n\n context.font = '12px Arial'\n let metrics = context.measureText(decotag)\n\n context.fillStyle = '#FF0000'\n context.roundRect(\n x - metrics.actualBoundingBoxLeft - 3 + 20,\n y - metrics.actualBoundingBoxAscent - 3 - 6 + BOUNCE,\n metrics.actualBoundingBoxLeft + metrics.actualBoundingBoxRight + 3 * 2,\n metrics.actualBoundingBoxAscent + metrics.actualBoundingBoxDescent + 3 * 2,\n 3 /* round */\n )\n\n context.fill()\n\n context.fillStyle = 'white'\n context.fillText(decotag, x + 20, y - 6 + BOUNCE)\n }\n\n return true /* need animation */\n}\n\nComponent.registerDecorator('bouncing-arrow', bouncingArrowDecorator)\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { EventMap } from '@hatiolab/things-scene';
|
|
2
|
-
function onmouseenter(event, hint) {
|
|
3
|
-
var _a;
|
|
4
|
-
const target = hint.origin;
|
|
5
|
-
if (!((_a = target.model) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
6
|
-
return;
|
|
7
|
-
}
|
|
8
|
-
event.stopPropagation();
|
|
9
|
-
window.dispatchEvent(new CustomEvent('fetchFmbModelDataByMouseEvent', {
|
|
10
|
-
detail: {
|
|
11
|
-
value: {
|
|
12
|
-
type: 'hover',
|
|
13
|
-
event,
|
|
14
|
-
model: target.model
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}));
|
|
18
|
-
}
|
|
19
|
-
function onclick(event, hint) {
|
|
20
|
-
var _a;
|
|
21
|
-
const target = hint.origin;
|
|
22
|
-
if (!((_a = target.model) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
event.stopPropagation();
|
|
26
|
-
setTimeout(() => {
|
|
27
|
-
if (target.currentEvent !== 'dblclick') {
|
|
28
|
-
window.dispatchEvent(new CustomEvent('fetchFmbModelDataByMouseEvent', {
|
|
29
|
-
detail: {
|
|
30
|
-
value: {
|
|
31
|
-
type: 'click',
|
|
32
|
-
event,
|
|
33
|
-
model: target.model
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}));
|
|
37
|
-
}
|
|
38
|
-
}, 300);
|
|
39
|
-
}
|
|
40
|
-
function ondblclick(event, hint) {
|
|
41
|
-
var _a;
|
|
42
|
-
const target = hint.origin;
|
|
43
|
-
if (!((_a = target.model) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
event.stopPropagation();
|
|
47
|
-
target.currentEvent = 'dblclick';
|
|
48
|
-
window.dispatchEvent(new CustomEvent('fetchFmbModelDataByMouseEvent', {
|
|
49
|
-
detail: {
|
|
50
|
-
value: {
|
|
51
|
-
type: 'dblclick',
|
|
52
|
-
event,
|
|
53
|
-
model: target.model
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}));
|
|
57
|
-
setTimeout(() => {
|
|
58
|
-
target.currentEvent = '';
|
|
59
|
-
}, 500);
|
|
60
|
-
}
|
|
61
|
-
EventMap.register('event-handler', {
|
|
62
|
-
'model-layer': {
|
|
63
|
-
'(all)': {
|
|
64
|
-
mouseenter: onmouseenter,
|
|
65
|
-
click: onclick,
|
|
66
|
-
dblclick: ondblclick
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
//# sourceMappingURL=event-handlers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-handlers.js","sourceRoot":"","sources":["../../../src/layers/event-handlers.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;QACrB,OAAM;KACP;IAED,KAAK,CAAC,eAAe,EAAE,CAAA;IAEvB,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,+BAA+B,EAAE;QAC/C,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK;gBACL,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB;SACF;KACF,CAAC,CACH,CAAA;AACH,CAAC;AAED,SAAS,OAAO,CAAC,KAAiB,EAAE,IAAS;;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,IAAI,CAAC,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,EAAE,CAAA,EAAE;QACrB,OAAM;KACP;IAED,KAAK,CAAC,eAAe,EAAE,CAAA;IAEvB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE;YACtC,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,+BAA+B,EAAE;gBAC/C,MAAM,EAAE;oBACN,KAAK,EAAE;wBACL,IAAI,EAAE,OAAO;wBACb,KAAK;wBACL,KAAK,EAAE,MAAM,CAAC,KAAK;qBACpB;iBACF;aACF,CAAC,CACH,CAAA;SACF;IACH,CAAC,EAAE,GAAG,CAAC,CAAA;AACT,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB,EAAE,IAAS;;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,IAAI,CAAC,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,EAAE,CAAA,EAAE;QACrB,OAAM;KACP;IAED,KAAK,CAAC,eAAe,EAAE,CAAA;IAEvB,MAAM,CAAC,YAAY,GAAG,UAAU,CAAA;IAChC,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,+BAA+B,EAAE;QAC/C,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,IAAI,EAAE,UAAU;gBAChB,KAAK;gBACL,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB;SACF;KACF,CAAC,CACH,CAAA;IAED,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,CAAC,YAAY,GAAG,EAAE,CAAA;IAC1B,CAAC,EAAE,GAAG,CAAC,CAAA;AACT,CAAC;AAED,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE;IACjC,aAAa,EAAE;QACb,OAAO,EAAE;YACP,UAAU,EAAE,YAAY;YACxB,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('fetchFmbModelDataByMouseEvent', {\n detail: {\n value: {\n type: 'hover',\n event,\n model: target.model\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 window.dispatchEvent(\n new CustomEvent('fetchFmbModelDataByMouseEvent', {\n detail: {\n value: {\n type: 'click',\n event,\n model: target.model\n }\n }\n })\n )\n }\n }, 300)\n}\n\nfunction ondblclick(event: MouseEvent, hint: any) {\n const target = hint.origin\n\n if (!target.model?.id) {\n return\n }\n\n event.stopPropagation()\n\n target.currentEvent = 'dblclick'\n window.dispatchEvent(\n new CustomEvent('fetchFmbModelDataByMouseEvent', {\n detail: {\n value: {\n type: 'dblclick',\n event,\n model: target.model\n }\n }\n })\n )\n\n setTimeout(() => {\n target.currentEvent = ''\n }, 500)\n}\n\nEventMap.register('event-handler', {\n 'model-layer': {\n '(all)': {\n mouseenter: onmouseenter,\n click: onclick,\n dblclick: ondblclick\n }\n }\n})\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { EventMap } from '@hatiolab/things-scene';
|
|
2
|
-
function onmouseenter(event, hint) {
|
|
3
|
-
var _a;
|
|
4
|
-
const target = hint.origin;
|
|
5
|
-
if (!((_a = target.model) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
6
|
-
return;
|
|
7
|
-
}
|
|
8
|
-
event.stopPropagation();
|
|
9
|
-
window.dispatchEvent(new CustomEvent('fetchFmbModelDataByMouseEvent', {
|
|
10
|
-
detail: {
|
|
11
|
-
value: {
|
|
12
|
-
type: 'hover',
|
|
13
|
-
event,
|
|
14
|
-
model: target.state,
|
|
15
|
-
data: target.data
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}));
|
|
19
|
-
}
|
|
20
|
-
function onclick(event, hint) {
|
|
21
|
-
var _a;
|
|
22
|
-
const target = hint.origin;
|
|
23
|
-
if (!((_a = target.model) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
event.stopPropagation();
|
|
27
|
-
setTimeout(() => {
|
|
28
|
-
if (target.currentEvent !== 'dblclick') {
|
|
29
|
-
window.dispatchEvent(new CustomEvent('fetchFmbModelDataByMouseEvent', {
|
|
30
|
-
detail: {
|
|
31
|
-
value: {
|
|
32
|
-
type: 'click',
|
|
33
|
-
event,
|
|
34
|
-
model: target.state,
|
|
35
|
-
data: target.data
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}));
|
|
39
|
-
}
|
|
40
|
-
}, 300);
|
|
41
|
-
}
|
|
42
|
-
function ondblclick(event, hint) {
|
|
43
|
-
var _a;
|
|
44
|
-
const target = hint.origin;
|
|
45
|
-
setTimeout(() => {
|
|
46
|
-
target.currentEvent = '';
|
|
47
|
-
}, 500);
|
|
48
|
-
if (!((_a = target.model) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
event.stopPropagation();
|
|
52
|
-
target.currentEvent = 'dblclick';
|
|
53
|
-
window.dispatchEvent(new CustomEvent('fetchFmbModelDataByMouseEvent', {
|
|
54
|
-
detail: {
|
|
55
|
-
value: {
|
|
56
|
-
type: 'dblclick',
|
|
57
|
-
event,
|
|
58
|
-
model: target.state,
|
|
59
|
-
data: target.data
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}));
|
|
63
|
-
}
|
|
64
|
-
EventMap.register('mcs-event-handler', {
|
|
65
|
-
'model-layer': {
|
|
66
|
-
'(all)': {
|
|
67
|
-
mouseenter: onmouseenter,
|
|
68
|
-
click: onclick,
|
|
69
|
-
dblclick: ondblclick
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
//# sourceMappingURL=mcs-event-handlers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcs-event-handlers.js","sourceRoot":"","sources":["../../../src/layers/mcs-event-handlers.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;QACrB,OAAM;KACP;IAED,KAAK,CAAC,eAAe,EAAE,CAAA;IAEvB,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,+BAA+B,EAAE;QAC/C,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,IAAI,CAAC,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,EAAE,CAAA,EAAE;QACrB,OAAM;KACP;IAED,KAAK,CAAC,eAAe,EAAE,CAAA;IAEvB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE;YACtC,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,+BAA+B,EAAE;gBAC/C,MAAM,EAAE;oBACN,KAAK,EAAE;wBACL,IAAI,EAAE,OAAO;wBACb,KAAK;wBACL,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;qBAClB;iBACF;aACF,CAAC,CACH,CAAA;SACF;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,IAAI,CAAC,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,EAAE,CAAA,EAAE;QACrB,OAAM;KACP;IAED,KAAK,CAAC,eAAe,EAAE,CAAA;IAEvB,MAAM,CAAC,YAAY,GAAG,UAAU,CAAA;IAChC,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,+BAA+B,EAAE;QAC/C,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,IAAI,EAAE,UAAU;gBAChB,KAAK;gBACL,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB;SACF;KACF,CAAC,CACH,CAAA;AACH,CAAC;AAED,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,EAAE;IACrC,aAAa,EAAE;QACb,OAAO,EAAE;YACP,UAAU,EAAE,YAAY;YACxB,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('fetchFmbModelDataByMouseEvent', {\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 window.dispatchEvent(\n new CustomEvent('fetchFmbModelDataByMouseEvent', {\n detail: {\n value: {\n type: 'click',\n event,\n model: target.state,\n data: target.data\n }\n }\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 window.dispatchEvent(\n new CustomEvent('fetchFmbModelDataByMouseEvent', {\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 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { html, css, LitElement } from 'lit';
|
|
3
|
-
import { customElement, property } from 'lit/decorators.js';
|
|
4
|
-
let OxminimapComponent = class OxminimapComponent extends LitElement {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this.target = null;
|
|
8
|
-
this.scene = null;
|
|
9
|
-
this.isDragging = false;
|
|
10
|
-
this.startX = 0;
|
|
11
|
-
this.startY = 0;
|
|
12
|
-
this.initialScrollLeft = 0;
|
|
13
|
-
this.initialScrollTop = 0;
|
|
14
|
-
}
|
|
15
|
-
connectedCallback() {
|
|
16
|
-
super.connectedCallback();
|
|
17
|
-
window.addEventListener('resize', this.handleResize.bind(this));
|
|
18
|
-
}
|
|
19
|
-
disconnectedCallback() {
|
|
20
|
-
super.disconnectedCallback();
|
|
21
|
-
window.removeEventListener('resize', this.handleResize.bind(this));
|
|
22
|
-
}
|
|
23
|
-
firstUpdated(changes) {
|
|
24
|
-
super.firstUpdated(changes);
|
|
25
|
-
this.updateTarget();
|
|
26
|
-
this.checkVisibilityX();
|
|
27
|
-
}
|
|
28
|
-
updated(changedProperties) {
|
|
29
|
-
if (changedProperties.has('target')) {
|
|
30
|
-
this.updateTarget();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
handleResize() {
|
|
34
|
-
this.updateTarget();
|
|
35
|
-
this.checkVisibilityX();
|
|
36
|
-
}
|
|
37
|
-
updateTarget() {
|
|
38
|
-
var _a, _b;
|
|
39
|
-
const target = this.target || this.parentElement;
|
|
40
|
-
if (!target || !this.scene) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
const { width, height } = this.scene.model;
|
|
44
|
-
const { x: scaleX, y: scaleY } = this.scene.scale;
|
|
45
|
-
const targetRatio = (width * scaleX) / (height * scaleY);
|
|
46
|
-
const thisRatio = this.offsetHeight / this.offsetWidth;
|
|
47
|
-
const scale = targetRatio > thisRatio ? this.offsetHeight / target.scrollHeight : this.offsetWidth / target.scrollWidth;
|
|
48
|
-
const minimapHeight = width * scaleX * scale;
|
|
49
|
-
const minimapWidth = height * scaleY * scale;
|
|
50
|
-
const viewportHeight = target.offsetHeight * scale;
|
|
51
|
-
const viewportWidth = target.offsetWidth * scale;
|
|
52
|
-
const minimap = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('minimap');
|
|
53
|
-
const viewport = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.getElementById('viewport');
|
|
54
|
-
minimap.style.width = `${minimapWidth}px`;
|
|
55
|
-
minimap.style.height = `${minimapHeight}px`;
|
|
56
|
-
viewport.style.width = `${viewportWidth}px`;
|
|
57
|
-
viewport.style.height = `${viewportHeight}px`;
|
|
58
|
-
const viewportLeft = target.scrollLeft * scale;
|
|
59
|
-
const viewportTop = target.scrollTop * scale;
|
|
60
|
-
viewport.style.width = `${viewportWidth}px`;
|
|
61
|
-
viewport.style.height = `${viewportHeight}px`;
|
|
62
|
-
viewport.style.left = `${viewportLeft}px`;
|
|
63
|
-
viewport.style.top = `${viewportTop}px`;
|
|
64
|
-
}
|
|
65
|
-
checkVisibilityX() {
|
|
66
|
-
var _a;
|
|
67
|
-
const parentElement = this.target || this.parentElement;
|
|
68
|
-
if (!parentElement)
|
|
69
|
-
return;
|
|
70
|
-
const parentRect = parentElement.getBoundingClientRect();
|
|
71
|
-
const minimap = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('minimap');
|
|
72
|
-
if (parentRect.width >= minimap.offsetWidth && parentRect.height >= minimap.offsetHeight) {
|
|
73
|
-
this.style.display = 'block';
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
this.style.display = 'none';
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
handleMouseDown(event) {
|
|
80
|
-
var _a;
|
|
81
|
-
const target = this.target || this.parentElement;
|
|
82
|
-
if (!target) {
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
const minimapViewport = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('viewport');
|
|
86
|
-
this.startX = event.clientX;
|
|
87
|
-
this.startY = event.clientY;
|
|
88
|
-
this.initialScrollLeft = target.scrollLeft || 0;
|
|
89
|
-
this.initialScrollTop = target.scrollTop || 0;
|
|
90
|
-
this.isDragging = true;
|
|
91
|
-
minimapViewport.classList.add('dragging');
|
|
92
|
-
event.preventDefault();
|
|
93
|
-
event.stopPropagation();
|
|
94
|
-
}
|
|
95
|
-
handleMouseMove(event) {
|
|
96
|
-
var _a;
|
|
97
|
-
if (!this.isDragging)
|
|
98
|
-
return;
|
|
99
|
-
const deltaX = event.clientX - this.startX;
|
|
100
|
-
const deltaY = event.clientY - this.startY;
|
|
101
|
-
const target = this.target || this.parentElement;
|
|
102
|
-
if (!target || !this.scene) {
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
const { width, height } = this.scene.model;
|
|
106
|
-
var { x: scale, y } = this.scene.scale;
|
|
107
|
-
const targetRatio = height / width;
|
|
108
|
-
const thisRatio = this.offsetHeight / this.offsetWidth;
|
|
109
|
-
// const scale = targetRatio > thisRatio ? this.offsetHeight / height : this.offsetWidth / width
|
|
110
|
-
const targetRect = target.getBoundingClientRect();
|
|
111
|
-
const viewportWidth = (targetRect.width * target.clientWidth) / width;
|
|
112
|
-
const viewportHeight = (targetRect.height * target.clientHeight) / height;
|
|
113
|
-
const scrollX = deltaX / scale;
|
|
114
|
-
const scrollY = deltaY / scale;
|
|
115
|
-
target.scrollTo(this.initialScrollLeft + scrollX, this.initialScrollTop + scrollY);
|
|
116
|
-
const minimapViewport = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('viewport');
|
|
117
|
-
minimapViewport.style.left = `${Math.max(0, Math.min(event.clientX - viewportWidth / 2, target.clientWidth - viewportWidth))}px`;
|
|
118
|
-
minimapViewport.style.top = `${Math.max(0, Math.min(event.clientY - viewportHeight / 2, target.clientHeight - viewportHeight))}px`;
|
|
119
|
-
this.updateTarget();
|
|
120
|
-
event.preventDefault();
|
|
121
|
-
event.stopPropagation();
|
|
122
|
-
}
|
|
123
|
-
handleMouseUp(event) {
|
|
124
|
-
var _a;
|
|
125
|
-
const minimapViewport = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('minimap');
|
|
126
|
-
this.isDragging = false;
|
|
127
|
-
minimapViewport.classList.remove('dragging');
|
|
128
|
-
event.preventDefault();
|
|
129
|
-
event.stopPropagation();
|
|
130
|
-
}
|
|
131
|
-
render() {
|
|
132
|
-
return html `
|
|
133
|
-
<div
|
|
134
|
-
id="minimap"
|
|
135
|
-
@dragstart=${(e) => e.stopPropagation()}
|
|
136
|
-
@drag=${(e) => e.stopPropagation()}
|
|
137
|
-
@dragend=${(e) => e.stopPropagation()}
|
|
138
|
-
@mousedown=${(e) => e.stopPropagation()}
|
|
139
|
-
@mousemove=${(e) => e.stopPropagation()}
|
|
140
|
-
@mouseup=${(e) => e.stopPropagation()}
|
|
141
|
-
>
|
|
142
|
-
<div
|
|
143
|
-
id="viewport"
|
|
144
|
-
@mousedown=${this.handleMouseDown}
|
|
145
|
-
@mousemove=${this.handleMouseMove}
|
|
146
|
-
@mouseup=${this.handleMouseUp}
|
|
147
|
-
></div>
|
|
148
|
-
</div>
|
|
149
|
-
`;
|
|
150
|
-
}
|
|
151
|
-
};
|
|
152
|
-
OxminimapComponent.styles = css `
|
|
153
|
-
:host {
|
|
154
|
-
display: flex;
|
|
155
|
-
position: relative;
|
|
156
|
-
background-color: gray;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
#minimap {
|
|
160
|
-
position: absolute;
|
|
161
|
-
top: 50%;
|
|
162
|
-
left: 50%;
|
|
163
|
-
transform: translate(-50%, -50%);
|
|
164
|
-
box-sizing: border-box;
|
|
165
|
-
|
|
166
|
-
background-color: white;
|
|
167
|
-
overflow: hidden;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
#viewport {
|
|
171
|
-
position: absolute;
|
|
172
|
-
border: 1px dashed blue;
|
|
173
|
-
box-sizing: border-box;
|
|
174
|
-
pointer-events: none;
|
|
175
|
-
background-color: white;
|
|
176
|
-
pointer-events: auto;
|
|
177
|
-
cursor: move;
|
|
178
|
-
}
|
|
179
|
-
`;
|
|
180
|
-
__decorate([
|
|
181
|
-
property({ type: Object })
|
|
182
|
-
], OxminimapComponent.prototype, "target", void 0);
|
|
183
|
-
__decorate([
|
|
184
|
-
property({ type: Object })
|
|
185
|
-
], OxminimapComponent.prototype, "scene", void 0);
|
|
186
|
-
OxminimapComponent = __decorate([
|
|
187
|
-
customElement('ox-mini-map')
|
|
188
|
-
], OxminimapComponent);
|
|
189
|
-
//# sourceMappingURL=ox-mini-map.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ox-mini-map.js","sourceRoot":"","sources":["../../../src/layers/ox-mini-map.ts"],"names":[],"mappings":"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","sourcesContent":["import { Scene } from '@hatiolab/things-scene'\nimport { html, css, LitElement, PropertyValueMap } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('ox-mini-map')\nclass OxminimapComponent extends LitElement {\n static styles = css`\n :host {\n display: flex;\n position: relative;\n background-color: gray;\n }\n\n #minimap {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n box-sizing: border-box;\n\n background-color: white;\n overflow: hidden;\n }\n\n #viewport {\n position: absolute;\n border: 1px dashed blue;\n box-sizing: border-box;\n pointer-events: none;\n background-color: white;\n pointer-events: auto;\n cursor: move;\n }\n `\n\n @property({ type: Object }) target: HTMLElement | null = null\n @property({ type: Object }) scene: Scene | null = null\n\n private isDragging = false\n private startX = 0\n private startY = 0\n private initialScrollLeft = 0\n private initialScrollTop = 0\n\n connectedCallback() {\n super.connectedCallback()\n window.addEventListener('resize', this.handleResize.bind(this))\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n window.removeEventListener('resize', this.handleResize.bind(this))\n }\n\n firstUpdated(changes: PropertyValueMap<any> | Map<PropertyKey, unknown>) {\n super.firstUpdated(changes)\n\n this.updateTarget()\n this.checkVisibilityX()\n }\n\n updated(changedProperties: Map<string, any>) {\n if (changedProperties.has('target')) {\n this.updateTarget()\n }\n }\n\n handleResize() {\n this.updateTarget()\n this.checkVisibilityX()\n }\n\n updateTarget() {\n const target = this.target || this.parentElement\n if (!target || !this.scene) {\n return\n }\n\n const { width, height } = this.scene.model\n const { x: scaleX, y: scaleY } = this.scene.scale\n\n const targetRatio = (width * scaleX) / (height * scaleY)\n const thisRatio = this.offsetHeight / this.offsetWidth\n\n const scale =\n targetRatio > thisRatio ? this.offsetHeight / target.scrollHeight : this.offsetWidth / target.scrollWidth\n\n const minimapHeight = width * scaleX * scale\n const minimapWidth = height * scaleY * scale\n\n const viewportHeight = target.offsetHeight * scale\n const viewportWidth = target.offsetWidth * scale\n\n const minimap = this.shadowRoot?.getElementById('minimap') as HTMLElement\n const viewport = this.shadowRoot?.getElementById('viewport') as HTMLElement\n\n minimap.style.width = `${minimapWidth}px`\n minimap.style.height = `${minimapHeight}px`\n\n viewport.style.width = `${viewportWidth}px`\n viewport.style.height = `${viewportHeight}px`\n\n const viewportLeft = target.scrollLeft * scale\n const viewportTop = target.scrollTop * scale\n\n viewport.style.width = `${viewportWidth}px`\n viewport.style.height = `${viewportHeight}px`\n viewport.style.left = `${viewportLeft}px`\n viewport.style.top = `${viewportTop}px`\n }\n\n checkVisibilityX() {\n const parentElement = this.target || this.parentElement\n if (!parentElement) return\n\n const parentRect = parentElement.getBoundingClientRect()\n const minimap = this.shadowRoot?.getElementById('minimap') as HTMLElement\n if (parentRect.width >= minimap.offsetWidth && parentRect.height >= minimap.offsetHeight) {\n this.style.display = 'block'\n } else {\n this.style.display = 'none'\n }\n }\n\n handleMouseDown(event: MouseEvent) {\n const target = this.target || this.parentElement\n\n if (!target) {\n return\n }\n\n const minimapViewport = this.shadowRoot?.getElementById('viewport') as HTMLElement\n this.startX = event.clientX\n this.startY = event.clientY\n this.initialScrollLeft = target.scrollLeft || 0\n this.initialScrollTop = target.scrollTop || 0\n this.isDragging = true\n minimapViewport.classList.add('dragging')\n event.preventDefault()\n event.stopPropagation()\n }\n\n handleMouseMove(event: MouseEvent) {\n if (!this.isDragging) return\n const deltaX = event.clientX - this.startX\n const deltaY = event.clientY - this.startY\n\n const target = this.target || this.parentElement\n\n if (!target || !this.scene) {\n return\n }\n\n const { width, height } = this.scene.model\n var { x: scale, y } = this.scene.scale\n\n const targetRatio = height / width\n const thisRatio = this.offsetHeight / this.offsetWidth\n\n // const scale = targetRatio > thisRatio ? this.offsetHeight / height : this.offsetWidth / width\n\n const targetRect = target.getBoundingClientRect()\n const viewportWidth = (targetRect.width * target.clientWidth) / width\n const viewportHeight = (targetRect.height * target.clientHeight) / height\n const scrollX = deltaX / scale\n const scrollY = deltaY / scale\n target.scrollTo(this.initialScrollLeft + scrollX, this.initialScrollTop + scrollY)\n const minimapViewport = this.shadowRoot?.getElementById('viewport') as HTMLElement\n minimapViewport.style.left = `${Math.max(\n 0,\n Math.min(event.clientX - viewportWidth / 2, target.clientWidth - viewportWidth)\n )}px`\n minimapViewport.style.top = `${Math.max(\n 0,\n Math.min(event.clientY - viewportHeight / 2, target.clientHeight - viewportHeight)\n )}px`\n\n this.updateTarget()\n event.preventDefault()\n event.stopPropagation()\n }\n\n handleMouseUp(event: MouseEvent) {\n const minimapViewport = this.shadowRoot?.getElementById('minimap') as HTMLElement\n this.isDragging = false\n minimapViewport.classList.remove('dragging')\n event.preventDefault()\n event.stopPropagation()\n }\n\n render() {\n return html`\n <div\n id=\"minimap\"\n @dragstart=${(e: Event) => e.stopPropagation()}\n @drag=${(e: Event) => e.stopPropagation()}\n @dragend=${(e: Event) => e.stopPropagation()}\n @mousedown=${(e: Event) => e.stopPropagation()}\n @mousemove=${(e: Event) => e.stopPropagation()}\n @mouseup=${(e: Event) => e.stopPropagation()}\n >\n <div\n id=\"viewport\"\n @mousedown=${this.handleMouseDown}\n @mousemove=${this.handleMouseMove}\n @mouseup=${this.handleMouseUp}\n ></div>\n </div>\n `\n }\n}\n"]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Layer, Properties } from '@hatiolab/things-scene';
|
|
2
|
-
export default class ScrollLayer extends Layer {
|
|
3
|
-
get capturable(): boolean;
|
|
4
|
-
private _scale?;
|
|
5
|
-
private _translate?;
|
|
6
|
-
private lastPosition?;
|
|
7
|
-
private vscroller;
|
|
8
|
-
private hscroller;
|
|
9
|
-
render(ctx: CanvasRenderingContext2D): void;
|
|
10
|
-
contains(x: number, y: number): boolean;
|
|
11
|
-
get eventMap(): {
|
|
12
|
-
'(root)': {
|
|
13
|
-
'model-layer': {
|
|
14
|
-
change: (after: any, before: any, hint: any) => void;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
onchange(after: Properties): void;
|
|
19
|
-
ondragstart(e: DragEvent, hint: any): void;
|
|
20
|
-
ondragmove(e: DragEvent, hint: any): void;
|
|
21
|
-
ondragend(): void;
|
|
22
|
-
calcScrollerBounds(): void;
|
|
23
|
-
onchangeModelLayer(after: any, before: any, hint: any): void;
|
|
24
|
-
}
|