rete-angular-plugin 2.0.0 → 2.1.0
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/12/bundles/rete-angular-plugin-ng12.umd.js +55 -23
- package/12/bundles/rete-angular-plugin-ng12.umd.js.map +1 -1
- package/12/core.d.ts +21 -1
- package/12/esm2015/core.js +17 -1
- package/12/esm2015/index.js +2 -1
- package/12/esm2015/module.js +3 -2
- package/12/esm2015/presets/classic/components/control/control.component.js +1 -1
- package/12/esm2015/presets/classic/components/node/node.component.js +4 -24
- package/12/esm2015/presets/classic/index.js +4 -1
- package/12/esm2015/presets/context-menu/index.js +4 -1
- package/12/esm2015/presets/index.js +5 -1
- package/12/esm2015/presets/minimap/index.js +4 -1
- package/12/esm2015/presets/reroute/index.js +4 -1
- package/12/esm2015/ref.js +27 -0
- package/12/fesm2015/rete-angular-plugin-ng12.js +57 -20
- package/12/fesm2015/rete-angular-plugin-ng12.js.map +1 -1
- package/12/index.d.ts +1 -0
- package/12/module.d.ts +8 -7
- package/12/presets/classic/components/node/node.component.d.ts +1 -10
- package/12/presets/classic/index.d.ts +3 -0
- package/12/presets/context-menu/index.d.ts +3 -0
- package/12/presets/index.d.ts +4 -0
- package/12/presets/minimap/index.d.ts +3 -0
- package/12/presets/reroute/index.d.ts +3 -0
- package/12/ref.d.ts +12 -0
- package/13/core.d.ts +21 -1
- package/13/esm2020/core.mjs +17 -1
- package/13/esm2020/index.mjs +2 -1
- package/13/esm2020/module.mjs +3 -2
- package/13/esm2020/presets/classic/components/control/control.component.mjs +1 -1
- package/13/esm2020/presets/classic/components/node/node.component.mjs +4 -24
- package/13/esm2020/presets/classic/index.mjs +4 -1
- package/13/esm2020/presets/context-menu/index.mjs +4 -1
- package/13/esm2020/presets/index.mjs +5 -1
- package/13/esm2020/presets/minimap/index.mjs +4 -1
- package/13/esm2020/presets/reroute/index.mjs +4 -1
- package/13/esm2020/ref.mjs +27 -0
- package/13/fesm2015/rete-angular-plugin-ng13.mjs +59 -22
- package/13/fesm2015/rete-angular-plugin-ng13.mjs.map +1 -1
- package/13/fesm2020/rete-angular-plugin-ng13.mjs +57 -20
- package/13/fesm2020/rete-angular-plugin-ng13.mjs.map +1 -1
- package/13/index.d.ts +1 -0
- package/13/module.d.ts +8 -7
- package/13/presets/classic/components/node/node.component.d.ts +1 -10
- package/13/presets/classic/index.d.ts +3 -0
- package/13/presets/context-menu/index.d.ts +3 -0
- package/13/presets/index.d.ts +4 -0
- package/13/presets/minimap/index.d.ts +3 -0
- package/13/presets/reroute/index.d.ts +3 -0
- package/13/ref.d.ts +12 -0
- package/14/core.d.ts +21 -1
- package/14/esm2020/core.mjs +17 -1
- package/14/esm2020/index.mjs +2 -1
- package/14/esm2020/module.mjs +3 -2
- package/14/esm2020/presets/classic/components/control/control.component.mjs +1 -1
- package/14/esm2020/presets/classic/components/node/node.component.mjs +4 -24
- package/14/esm2020/presets/classic/index.mjs +4 -1
- package/14/esm2020/presets/context-menu/index.mjs +4 -1
- package/14/esm2020/presets/index.mjs +5 -1
- package/14/esm2020/presets/minimap/index.mjs +4 -1
- package/14/esm2020/presets/reroute/index.mjs +4 -1
- package/14/esm2020/ref.mjs +27 -0
- package/14/fesm2015/rete-angular-plugin-ng14.mjs +59 -22
- package/14/fesm2015/rete-angular-plugin-ng14.mjs.map +1 -1
- package/14/fesm2020/rete-angular-plugin-ng14.mjs +57 -20
- package/14/fesm2020/rete-angular-plugin-ng14.mjs.map +1 -1
- package/14/index.d.ts +1 -0
- package/14/module.d.ts +8 -7
- package/14/presets/classic/components/node/node.component.d.ts +1 -10
- package/14/presets/classic/index.d.ts +3 -0
- package/14/presets/context-menu/index.d.ts +3 -0
- package/14/presets/index.d.ts +4 -0
- package/14/presets/minimap/index.d.ts +3 -0
- package/14/presets/reroute/index.d.ts +3 -0
- package/14/ref.d.ts +12 -0
- package/15/core.d.ts +21 -1
- package/15/esm2020/core.mjs +17 -1
- package/15/esm2020/index.mjs +2 -1
- package/15/esm2020/module.mjs +3 -2
- package/15/esm2020/presets/classic/components/control/control.component.mjs +1 -1
- package/15/esm2020/presets/classic/components/node/node.component.mjs +4 -24
- package/15/esm2020/presets/classic/index.mjs +4 -1
- package/15/esm2020/presets/context-menu/index.mjs +4 -1
- package/15/esm2020/presets/index.mjs +5 -1
- package/15/esm2020/presets/minimap/index.mjs +4 -1
- package/15/esm2020/presets/reroute/index.mjs +4 -1
- package/15/esm2020/ref.mjs +27 -0
- package/15/fesm2015/rete-angular-plugin-ng15.mjs +59 -22
- package/15/fesm2015/rete-angular-plugin-ng15.mjs.map +1 -1
- package/15/fesm2020/rete-angular-plugin-ng15.mjs +57 -20
- package/15/fesm2020/rete-angular-plugin-ng15.mjs.map +1 -1
- package/15/index.d.ts +1 -0
- package/15/module.d.ts +8 -7
- package/15/presets/classic/components/node/node.component.d.ts +1 -10
- package/15/presets/classic/index.d.ts +3 -0
- package/15/presets/context-menu/index.d.ts +3 -0
- package/15/presets/index.d.ts +4 -0
- package/15/presets/minimap/index.d.ts +3 -0
- package/15/presets/reroute/index.d.ts +3 -0
- package/15/ref.d.ts +12 -0
- package/16/core.d.ts +21 -1
- package/16/esm2022/core.mjs +17 -1
- package/16/esm2022/index.mjs +2 -1
- package/16/esm2022/module.mjs +3 -2
- package/16/esm2022/presets/classic/components/control/control.component.mjs +1 -1
- package/16/esm2022/presets/classic/components/node/node.component.mjs +4 -27
- package/16/esm2022/presets/classic/index.mjs +4 -1
- package/16/esm2022/presets/context-menu/index.mjs +4 -1
- package/16/esm2022/presets/index.mjs +5 -1
- package/16/esm2022/presets/minimap/index.mjs +4 -1
- package/16/esm2022/presets/reroute/index.mjs +4 -1
- package/16/esm2022/ref.mjs +30 -0
- package/16/fesm2022/rete-angular-plugin-ng16.mjs +60 -23
- package/16/fesm2022/rete-angular-plugin-ng16.mjs.map +1 -1
- package/16/index.d.ts +1 -0
- package/16/module.d.ts +8 -7
- package/16/presets/classic/components/node/node.component.d.ts +1 -10
- package/16/presets/classic/index.d.ts +3 -0
- package/16/presets/context-menu/index.d.ts +3 -0
- package/16/presets/index.d.ts +4 -0
- package/16/presets/minimap/index.d.ts +3 -0
- package/16/presets/reroute/index.d.ts +3 -0
- package/16/ref.d.ts +12 -0
- package/17/core.d.ts +68 -0
- package/17/esm2022/core.mjs +127 -0
- package/17/esm2022/index.mjs +12 -0
- package/17/esm2022/module.mjs +50 -0
- package/17/esm2022/presets/classic/components/connection/connection-wrapper.component.mjs +91 -0
- package/17/esm2022/presets/classic/components/connection/connection.component.mjs +33 -0
- package/17/esm2022/presets/classic/components/control/control.component.mjs +55 -0
- package/17/esm2022/presets/classic/components/index.mjs +6 -0
- package/17/esm2022/presets/classic/components/node/node.component.mjs +122 -0
- package/17/esm2022/presets/classic/components/socket/socket.component.mjs +35 -0
- package/17/esm2022/presets/classic/index.mjs +114 -0
- package/17/esm2022/presets/classic/types.mjs +2 -0
- package/17/esm2022/presets/context-menu/components/index.mjs +4 -0
- package/17/esm2022/presets/context-menu/components/item/item.component.mjs +115 -0
- package/17/esm2022/presets/context-menu/components/menu/menu.component.mjs +111 -0
- package/17/esm2022/presets/context-menu/components/search/search.component.mjs +24 -0
- package/17/esm2022/presets/context-menu/debounce.mjs +17 -0
- package/17/esm2022/presets/context-menu/index.mjs +41 -0
- package/17/esm2022/presets/context-menu/module.mjs +35 -0
- package/17/esm2022/presets/context-menu/types.mjs +2 -0
- package/17/esm2022/presets/index.mjs +9 -0
- package/17/esm2022/presets/minimap/components/index.mjs +4 -0
- package/17/esm2022/presets/minimap/components/mini-node/mini-node.component.mjs +55 -0
- package/17/esm2022/presets/minimap/components/mini-viewport/mini-viewport.component.mjs +81 -0
- package/17/esm2022/presets/minimap/components/minimap/minimap.component.mjs +110 -0
- package/17/esm2022/presets/minimap/index.mjs +45 -0
- package/17/esm2022/presets/minimap/module.mjs +35 -0
- package/17/esm2022/presets/minimap/types.mjs +2 -0
- package/17/esm2022/presets/reroute/components/index.mjs +3 -0
- package/17/esm2022/presets/reroute/components/pin/pin.component.mjs +86 -0
- package/17/esm2022/presets/reroute/components/pins/pins.component.mjs +58 -0
- package/17/esm2022/presets/reroute/index.mjs +43 -0
- package/17/esm2022/presets/reroute/module.mjs +30 -0
- package/17/esm2022/presets/reroute/types.mjs +2 -0
- package/17/esm2022/presets/types.mjs +2 -0
- package/17/esm2022/ref.mjs +30 -0
- package/17/esm2022/rete-angular-plugin-ng17.mjs +5 -0
- package/17/esm2022/shared/drag.mjs +23 -0
- package/17/esm2022/types.mjs +2 -0
- package/17/fesm2022/rete-angular-plugin-ng17.mjs +1527 -0
- package/17/fesm2022/rete-angular-plugin-ng17.mjs.map +1 -0
- package/17/index.d.ts +13 -0
- package/17/module.d.ts +13 -0
- package/17/package.json +24 -0
- package/17/presets/classic/components/connection/connection-wrapper.component.d.ts +30 -0
- package/17/presets/classic/components/connection/connection.component.d.ts +11 -0
- package/17/presets/classic/components/control/control.component.d.ts +14 -0
- package/17/presets/classic/components/index.d.ts +5 -0
- package/17/presets/classic/components/node/node.component.d.ts +19 -0
- package/17/presets/classic/components/socket/socket.component.d.ts +12 -0
- package/17/presets/classic/index.d.ts +21 -0
- package/17/presets/classic/types.d.ts +49 -0
- package/17/presets/context-menu/components/index.d.ts +3 -0
- package/17/presets/context-menu/components/item/item.component.d.ts +26 -0
- package/17/presets/context-menu/components/menu/menu.component.d.ts +27 -0
- package/17/presets/context-menu/components/search/search.component.d.ts +8 -0
- package/17/presets/context-menu/debounce.d.ts +5 -0
- package/17/presets/context-menu/index.d.ts +9 -0
- package/17/presets/context-menu/module.d.ts +10 -0
- package/17/presets/context-menu/types.d.ts +12 -0
- package/17/presets/index.d.ts +8 -0
- package/17/presets/minimap/components/index.d.ts +3 -0
- package/17/presets/minimap/components/mini-node/mini-node.component.d.ts +14 -0
- package/17/presets/minimap/components/mini-viewport/mini-viewport.component.d.ts +27 -0
- package/17/presets/minimap/components/minimap/minimap.component.d.ts +25 -0
- package/17/presets/minimap/index.d.ts +9 -0
- package/17/presets/minimap/module.d.ts +10 -0
- package/17/presets/minimap/types.d.ts +22 -0
- package/17/presets/reroute/components/index.d.ts +2 -0
- package/17/presets/reroute/components/pin/pin.component.d.ts +30 -0
- package/17/presets/reroute/components/pins/pins.component.d.ts +17 -0
- package/17/presets/reroute/index.d.ts +13 -0
- package/17/presets/reroute/module.d.ts +9 -0
- package/17/presets/reroute/types.d.ts +18 -0
- package/17/presets/types.d.ts +15 -0
- package/17/ref.d.ts +12 -0
- package/17/shared/drag.d.ts +10 -0
- package/17/types.d.ts +29 -0
- package/CHANGELOG.md +50 -0
- package/bundles/rete-angular-plugin.umd.js +66 -35
- package/bundles/rete-angular-plugin.umd.js.map +1 -1
- package/core.d.ts +21 -1
- package/esm2015/core.js +17 -1
- package/esm2015/index.js +2 -1
- package/esm2015/module.js +3 -2
- package/esm2015/presets/classic/components/control/control.component.js +1 -1
- package/esm2015/presets/classic/components/node/node.component.js +2 -23
- package/esm2015/presets/classic/index.js +4 -1
- package/esm2015/presets/context-menu/index.js +4 -1
- package/esm2015/presets/index.js +1 -1
- package/esm2015/presets/minimap/index.js +4 -1
- package/esm2015/presets/reroute/index.js +4 -1
- package/esm2015/ref.js +26 -0
- package/esm2015/rete-angular-plugin.js +14 -14
- package/fesm2015/rete-angular-plugin.js +54 -22
- package/fesm2015/rete-angular-plugin.js.map +1 -1
- package/index.d.ts +1 -0
- package/package.json +8 -8
- package/presets/classic/components/node/node.component.d.ts +1 -8
- package/presets/classic/index.d.ts +3 -0
- package/presets/context-menu/index.d.ts +3 -0
- package/presets/index.d.ts +4 -0
- package/presets/minimap/index.d.ts +3 -0
- package/presets/reroute/index.d.ts +3 -0
- package/ref.d.ts +9 -0
- package/rete-angular-plugin.d.ts +13 -13
- package/rete-angular-plugin.metadata.json +1 -1
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { Component, Input, HostBinding, ChangeDetectorRef } from '@angular/core';
|
|
2
|
+
import { ClassicPreset as Classic } from 'rete';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "../../../../ref";
|
|
6
|
+
const _c0 = (a2, a3, a4, a5) => ({ type: "socket", side: "output", key: a2, nodeId: a3, payload: a4, seed: a5 });
|
|
7
|
+
function NodeComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
i0.ɵɵelementStart(0, "div", 4)(1, "div", 5);
|
|
9
|
+
i0.ɵɵtext(2);
|
|
10
|
+
i0.ɵɵelementEnd();
|
|
11
|
+
i0.ɵɵelement(3, "div", 6);
|
|
12
|
+
i0.ɵɵelementEnd();
|
|
13
|
+
} if (rf & 2) {
|
|
14
|
+
const output_r3 = ctx.$implicit;
|
|
15
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
16
|
+
i0.ɵɵattribute("data-testid", "output-" + output_r3.key);
|
|
17
|
+
i0.ɵɵadvance(2);
|
|
18
|
+
i0.ɵɵtextInterpolate(output_r3.value == null ? null : output_r3.value.label);
|
|
19
|
+
i0.ɵɵadvance(1);
|
|
20
|
+
i0.ɵɵproperty("data", i0.ɵɵpureFunction4(4, _c0, output_r3.key, ctx_r0.data.id, output_r3.value == null ? null : output_r3.value.socket, ctx_r0.seed))("emit", ctx_r0.emit);
|
|
21
|
+
} }
|
|
22
|
+
const _c1 = a1 => ({ type: "control", payload: a1 });
|
|
23
|
+
function NodeComponent_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
24
|
+
i0.ɵɵelement(0, "div", 7);
|
|
25
|
+
} if (rf & 2) {
|
|
26
|
+
const control_r4 = ctx.$implicit;
|
|
27
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
28
|
+
i0.ɵɵproperty("data", i0.ɵɵpureFunction1(3, _c1, control_r4.value))("emit", ctx_r1.emit);
|
|
29
|
+
i0.ɵɵattribute("data-testid", "control-" + control_r4.key);
|
|
30
|
+
} }
|
|
31
|
+
function NodeComponent_div_6_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
+
i0.ɵɵelementStart(0, "div", 12);
|
|
33
|
+
i0.ɵɵtext(1);
|
|
34
|
+
i0.ɵɵelementEnd();
|
|
35
|
+
} if (rf & 2) {
|
|
36
|
+
const input_r5 = i0.ɵɵnextContext().$implicit;
|
|
37
|
+
i0.ɵɵadvance(1);
|
|
38
|
+
i0.ɵɵtextInterpolate(input_r5.value == null ? null : input_r5.value.label);
|
|
39
|
+
} }
|
|
40
|
+
const _c2 = (a2, a3, a4, a5) => ({ type: "socket", side: "input", key: a2, nodeId: a3, payload: a4, seed: a5 });
|
|
41
|
+
function NodeComponent_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
42
|
+
i0.ɵɵelementStart(0, "div", 8);
|
|
43
|
+
i0.ɵɵelement(1, "div", 9);
|
|
44
|
+
i0.ɵɵtemplate(2, NodeComponent_div_6_div_2_Template, 2, 1, "div", 10);
|
|
45
|
+
i0.ɵɵelement(3, "div", 11);
|
|
46
|
+
i0.ɵɵelementEnd();
|
|
47
|
+
} if (rf & 2) {
|
|
48
|
+
const input_r5 = ctx.$implicit;
|
|
49
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
50
|
+
i0.ɵɵattribute("data-testid", "input-" + input_r5.key);
|
|
51
|
+
i0.ɵɵadvance(1);
|
|
52
|
+
i0.ɵɵproperty("data", i0.ɵɵpureFunction4(8, _c2, input_r5.key, ctx_r2.data.id, input_r5.value == null ? null : input_r5.value.socket, ctx_r2.seed))("emit", ctx_r2.emit);
|
|
53
|
+
i0.ɵɵadvance(1);
|
|
54
|
+
i0.ɵɵproperty("ngIf", !(input_r5.value == null ? null : input_r5.value.control) || !(input_r5.value == null ? null : input_r5.value.showControl));
|
|
55
|
+
i0.ɵɵadvance(1);
|
|
56
|
+
i0.ɵɵstyleProp("display", (input_r5.value == null ? null : input_r5.value.control) && (input_r5.value == null ? null : input_r5.value.showControl) ? "" : "none");
|
|
57
|
+
i0.ɵɵproperty("data", i0.ɵɵpureFunction1(13, _c1, input_r5.value == null ? null : input_r5.value.control))("emit", ctx_r2.emit);
|
|
58
|
+
} }
|
|
59
|
+
export class NodeComponent {
|
|
60
|
+
cdr;
|
|
61
|
+
data;
|
|
62
|
+
emit;
|
|
63
|
+
rendered;
|
|
64
|
+
seed = 0;
|
|
65
|
+
get selected() {
|
|
66
|
+
return this.data.selected;
|
|
67
|
+
}
|
|
68
|
+
constructor(cdr) {
|
|
69
|
+
this.cdr = cdr;
|
|
70
|
+
this.cdr.detach();
|
|
71
|
+
}
|
|
72
|
+
ngOnChanges() {
|
|
73
|
+
this.cdr.detectChanges();
|
|
74
|
+
requestAnimationFrame(() => this.rendered());
|
|
75
|
+
this.seed++; // force render sockets
|
|
76
|
+
}
|
|
77
|
+
sortByIndex(a, b) {
|
|
78
|
+
const ai = a.value?.index || 0;
|
|
79
|
+
const bi = b.value?.index || 0;
|
|
80
|
+
return ai - bi;
|
|
81
|
+
}
|
|
82
|
+
static ɵfac = function NodeComponent_Factory(t) { return new (t || NodeComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
83
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NodeComponent, selectors: [["ng-component"]], hostAttrs: ["data-testid", "node"], hostVars: 2, hostBindings: function NodeComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
84
|
+
i0.ɵɵclassProp("selected", ctx.selected);
|
|
85
|
+
} }, inputs: { data: "data", emit: "emit", rendered: "rendered" }, features: [i0.ɵɵNgOnChangesFeature], decls: 8, vars: 13, consts: [["data-testid", "title", 1, "title"], ["class", "output", 4, "ngFor", "ngForOf"], ["class", "control", "refComponent", "", 3, "data", "emit", 4, "ngFor", "ngForOf"], ["class", "input", 4, "ngFor", "ngForOf"], [1, "output"], ["data-testid", "output-title", 1, "output-title"], ["refComponent", "", "data-testid", "output-socket", 1, "output-socket", 3, "data", "emit"], ["refComponent", "", 1, "control", 3, "data", "emit"], [1, "input"], ["refComponent", "", "data-testid", "input-socket", 1, "input-socket", 3, "data", "emit"], ["class", "input-title", "data-testid", "input-title", 4, "ngIf"], ["refComponent", "", "data-testid", "input-control", 1, "input-control", 3, "data", "emit"], ["data-testid", "input-title", 1, "input-title"]], template: function NodeComponent_Template(rf, ctx) { if (rf & 1) {
|
|
86
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
87
|
+
i0.ɵɵtext(1);
|
|
88
|
+
i0.ɵɵelementEnd();
|
|
89
|
+
i0.ɵɵtemplate(2, NodeComponent_div_2_Template, 4, 9, "div", 1);
|
|
90
|
+
i0.ɵɵpipe(3, "keyvalue");
|
|
91
|
+
i0.ɵɵtemplate(4, NodeComponent_div_4_Template, 1, 5, "div", 2);
|
|
92
|
+
i0.ɵɵpipe(5, "keyvalue");
|
|
93
|
+
i0.ɵɵtemplate(6, NodeComponent_div_6_Template, 4, 15, "div", 3);
|
|
94
|
+
i0.ɵɵpipe(7, "keyvalue");
|
|
95
|
+
} if (rf & 2) {
|
|
96
|
+
i0.ɵɵadvance(1);
|
|
97
|
+
i0.ɵɵtextInterpolate(ctx.data.label);
|
|
98
|
+
i0.ɵɵadvance(1);
|
|
99
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(3, 4, ctx.data.outputs, ctx.sortByIndex));
|
|
100
|
+
i0.ɵɵadvance(2);
|
|
101
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(5, 7, ctx.data.controls, ctx.sortByIndex));
|
|
102
|
+
i0.ɵɵadvance(2);
|
|
103
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(7, 10, ctx.data.inputs, ctx.sortByIndex));
|
|
104
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, i2.RefDirective, i1.KeyValuePipe], styles: ["[_nghost-%COMP%]{display:block;background:rgba(110,136,255,.8);border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;min-width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}[_nghost-%COMP%]:hover{background:rgba(130,153,255,.8)}.selected[_nghost-%COMP%]{background:#ffd92c;border-color:#e3c000}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}[_nghost-%COMP%] .output[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .input[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .input-title[_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[_ngcontent-%COMP%]{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}[_nghost-%COMP%] .input-title[hidden][_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[hidden][_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .output-socket[_ngcontent-%COMP%]{text-align:right;margin-right:-18px;display:inline-block}[_nghost-%COMP%] .input-socket[_ngcontent-%COMP%]{text-align:left;margin-left:-18px;display:inline-block}[_nghost-%COMP%] .input-control[_ngcontent-%COMP%]{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}[_nghost-%COMP%] .control[_ngcontent-%COMP%]{padding:6px 18px}"] });
|
|
105
|
+
}
|
|
106
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NodeComponent, [{
|
|
107
|
+
type: Component,
|
|
108
|
+
args: [{ host: {
|
|
109
|
+
'data-testid': 'node'
|
|
110
|
+
}, template: "<div class=\"title\" data-testid=\"title\">{{data.label}}</div>\n<div class=\"output\" *ngFor=\"let output of data.outputs | keyvalue: sortByIndex\" [attr.data-testid]=\"'output-'+output.key\">\n <div class=\"output-title\" data-testid=\"output-title\">{{output.value?.label}}</div>\n <div\n class=\"output-socket\"\n refComponent\n [data]=\"{type: 'socket', side: 'output', key: output.key, nodeId: data.id, payload: output.value?.socket, seed: seed }\"\n [emit]=\"emit\"\n data-testid=\"output-socket\"\n ></div>\n</div>\n<div\n class=\"control\"\n *ngFor=\"let control of data.controls | keyvalue: sortByIndex\"\n refComponent\n [data]=\"{type: 'control', payload: control.value }\"\n [emit]=\"emit\"\n [attr.data-testid]=\"'control-'+control.key\"\n></div>\n<div class=\"input\" *ngFor=\"let input of data.inputs | keyvalue: sortByIndex\" [attr.data-testid]=\"'input-'+input.key\">\n <div\n class=\"input-socket\"\n refComponent\n [data]=\"{type: 'socket', side: 'input', key: input.key, nodeId: data.id, payload: input.value?.socket, seed: seed }\"\n [emit]=\"emit\"\n data-testid=\"input-socket\"\n ></div>\n <div class=\"input-title\" data-testid=\"input-title\" *ngIf=\"!input.value?.control || !input.value?.showControl\">{{input.value?.label}}</div>\n <div\n class=\"input-control\"\n [style.display]=\"input.value?.control && input.value?.showControl ? '' : 'none'\"\n refComponent\n [data]=\"{type: 'control', payload: input.value?.control }\"\n [emit]=\"emit\"\n data-testid=\"input-control\"\n ></div>\n</div>\n", styles: [":host{display:block;background:rgba(110,136,255,.8);border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;min-width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}:host:hover{background:rgba(130,153,255,.8)}:host.selected{background:#ffd92c;border-color:#e3c000}:host .title{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}:host .output{text-align:right}:host .input{text-align:left}:host .input-title,:host .output-title{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}:host .input-title[hidden],:host .output-title[hidden]{display:none}:host .output-socket{text-align:right;margin-right:-18px;display:inline-block}:host .input-socket{text-align:left;margin-left:-18px;display:inline-block}:host .input-control{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}:host .control{padding:6px 18px}\n"] }]
|
|
111
|
+
}], () => [{ type: i0.ChangeDetectorRef }], { data: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}], emit: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], rendered: [{
|
|
116
|
+
type: Input
|
|
117
|
+
}], selected: [{
|
|
118
|
+
type: HostBinding,
|
|
119
|
+
args: ['class.selected']
|
|
120
|
+
}] }); })();
|
|
121
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NodeComponent, { className: "NodeComponent", filePath: "presets/classic/components/node/node.component.ts", lineNumber: 14 }); })();
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvbm9kZS9ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTcvLnNyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9ub2RlL25vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxhQUFhLElBQUksT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7SUNBaEQsOEJBQTBILGFBQUE7SUFDakUsWUFBdUI7SUFBQSxpQkFBTTtJQUNsRix5QkFNTztJQUNYLGlCQUFNOzs7O0lBVDBFLHdEQUF5QztJQUNoRSxlQUF1QjtJQUF2Qiw0RUFBdUI7SUFJeEUsZUFBdUg7SUFBdkgsc0pBQXVILHFCQUFBOzs7O0lBSy9ILHlCQU9POzs7O0lBSEgsbUVBQW1ELHFCQUFBO0lBRW5ELDBEQUEyQzs7O0lBVTNDLCtCQUE4RztJQUFBLFlBQXNCO0lBQUEsaUJBQU07OztJQUE1QixlQUFzQjtJQUF0QiwwRUFBc0I7Ozs7SUFSeEksOEJBQXFIO0lBQ2pILHlCQU1PO0lBQ1AscUVBQTBJO0lBQzFJLDBCQU9PO0lBQ1gsaUJBQU07Ozs7SUFqQnVFLHNEQUF1QztJQUk1RyxlQUFvSDtJQUFwSCxtSkFBb0gscUJBQUE7SUFJcEUsZUFBd0Q7SUFBeEQsaUpBQXdEO0lBR3hHLGVBQWdGO0lBQWhGLGlLQUFnRjtJQUVoRiwwR0FBMEQscUJBQUE7O0FEbkJsRSxNQUFNLE9BQU8sYUFBYTtJQVdKO0lBVlgsSUFBSSxDQUFnQjtJQUNwQixJQUFJLENBQXNCO0lBQzFCLFFBQVEsQ0FBYTtJQUU5QixJQUFJLEdBQUcsQ0FBQyxDQUFBO0lBRVIsSUFBbUMsUUFBUTtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQzNCLENBQUM7SUFFRCxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN4QixxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUEsQ0FBQyx1QkFBdUI7SUFDckMsQ0FBQztJQUVELFdBQVcsQ0FBbUUsQ0FBSSxFQUFFLENBQUk7UUFDdEYsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFBO1FBQzlCLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQTtRQUU5QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUE7SUFDaEIsQ0FBQzt1RUExQlUsYUFBYTs2REFBYixhQUFhOzs7WUNiMUIsOEJBQXVDO1lBQUEsWUFBYztZQUFBLGlCQUFNO1lBQzNELDhEQVNNOztZQUNOLDhEQU9POztZQUNQLCtEQWlCTTs7O1lBcENpQyxlQUFjO1lBQWQsb0NBQWM7WUFDZCxlQUF1QztZQUF2QyxpRkFBdUM7WUFZdEQsZUFBd0M7WUFBeEMsa0ZBQXdDO1lBTTNCLGVBQXNDO1lBQXRDLGlGQUFzQzs7O2lGRE45RCxhQUFhO2NBUHpCLFNBQVM7dUJBR0Y7b0JBQ0osYUFBYSxFQUFFLE1BQU07aUJBQ3RCO2tEQUdRLElBQUk7a0JBQVosS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFJNkIsUUFBUTtrQkFBMUMsV0FBVzttQkFBQyxnQkFBZ0I7O2tGQVBsQixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcsIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsYXNzaWNQcmVzZXQgYXMgQ2xhc3NpYyB9IGZyb20gJ3JldGUnO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG50eXBlIFNvcnRWYWx1ZTxOIGV4dGVuZHMgQ2xhc3NpYy5Ob2RlPiA9IChOWydjb250cm9scyddIHwgTlsnaW5wdXRzJ10gfCBOWydvdXRwdXRzJ10pW3N0cmluZ11cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9ub2RlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm9kZS5jb21wb25lbnQuc2FzcyddLFxuICBob3N0OiB7XG4gICAgJ2RhdGEtdGVzdGlkJzogJ25vZGUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTm9kZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGRhdGEhOiBDbGFzc2ljLk5vZGU7XG4gIEBJbnB1dCgpIGVtaXQhOiAoZGF0YTogYW55KSA9PiB2b2lkXG4gIEBJbnB1dCgpIHJlbmRlcmVkITogKCkgPT4gdm9pZFxuXG4gIHNlZWQgPSAwXG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpIGdldCBzZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLnNlbGVjdGVkXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmNkci5kZXRhY2goKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMucmVuZGVyZWQoKSlcbiAgICB0aGlzLnNlZWQrKyAvLyBmb3JjZSByZW5kZXIgc29ja2V0c1xuICB9XG5cbiAgc29ydEJ5SW5kZXg8TiBleHRlbmRzIENsYXNzaWMuTm9kZSwgSSBleHRlbmRzIEtleVZhbHVlPHN0cmluZywgU29ydFZhbHVlPE4+Pj4oYTogSSwgYjogSSkge1xuICAgIGNvbnN0IGFpID0gYS52YWx1ZT8uaW5kZXggfHwgMFxuICAgIGNvbnN0IGJpID0gYi52YWx1ZT8uaW5kZXggfHwgMFxuXG4gICAgcmV0dXJuIGFpIC0gYmlcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRpdGxlXCIgZGF0YS10ZXN0aWQ9XCJ0aXRsZVwiPnt7ZGF0YS5sYWJlbH19PC9kaXY+XG48ZGl2IGNsYXNzPVwib3V0cHV0XCIgKm5nRm9yPVwibGV0IG91dHB1dCBvZiBkYXRhLm91dHB1dHMgfCBrZXl2YWx1ZTogc29ydEJ5SW5kZXhcIiBbYXR0ci5kYXRhLXRlc3RpZF09XCInb3V0cHV0LScrb3V0cHV0LmtleVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvdXRwdXQtdGl0bGVcIiBkYXRhLXRlc3RpZD1cIm91dHB1dC10aXRsZVwiPnt7b3V0cHV0LnZhbHVlPy5sYWJlbH19PC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm91dHB1dC1zb2NrZXRcIlxuICAgICAgICByZWZDb21wb25lbnRcbiAgICAgICAgW2RhdGFdPVwie3R5cGU6ICdzb2NrZXQnLCBzaWRlOiAnb3V0cHV0Jywga2V5OiBvdXRwdXQua2V5LCBub2RlSWQ6IGRhdGEuaWQsIHBheWxvYWQ6IG91dHB1dC52YWx1ZT8uc29ja2V0LCBzZWVkOiBzZWVkIH1cIlxuICAgICAgICBbZW1pdF09XCJlbWl0XCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJvdXRwdXQtc29ja2V0XCJcbiAgICA+PC9kaXY+XG48L2Rpdj5cbjxkaXZcbiAgICBjbGFzcz1cImNvbnRyb2xcIlxuICAgICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIGRhdGEuY29udHJvbHMgfCBrZXl2YWx1ZTogc29ydEJ5SW5kZXhcIlxuICAgIHJlZkNvbXBvbmVudFxuICAgIFtkYXRhXT1cInt0eXBlOiAnY29udHJvbCcsIHBheWxvYWQ6IGNvbnRyb2wudmFsdWUgfVwiXG4gICAgW2VtaXRdPVwiZW1pdFwiXG4gICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ2NvbnRyb2wtJytjb250cm9sLmtleVwiXG4+PC9kaXY+XG48ZGl2IGNsYXNzPVwiaW5wdXRcIiAqbmdGb3I9XCJsZXQgaW5wdXQgb2YgZGF0YS5pbnB1dHMgfCBrZXl2YWx1ZTogc29ydEJ5SW5kZXhcIiBbYXR0ci5kYXRhLXRlc3RpZF09XCInaW5wdXQtJytpbnB1dC5rZXlcIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaW5wdXQtc29ja2V0XCJcbiAgICAgICAgcmVmQ29tcG9uZW50XG4gICAgICAgIFtkYXRhXT1cInt0eXBlOiAnc29ja2V0Jywgc2lkZTogJ2lucHV0Jywga2V5OiBpbnB1dC5rZXksIG5vZGVJZDogZGF0YS5pZCwgcGF5bG9hZDogaW5wdXQudmFsdWU/LnNvY2tldCwgc2VlZDogc2VlZCB9XCJcbiAgICAgICAgW2VtaXRdPVwiZW1pdFwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiaW5wdXQtc29ja2V0XCJcbiAgICA+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LXRpdGxlXCIgZGF0YS10ZXN0aWQ9XCJpbnB1dC10aXRsZVwiICpuZ0lmPVwiIWlucHV0LnZhbHVlPy5jb250cm9sIHx8ICFpbnB1dC52YWx1ZT8uc2hvd0NvbnRyb2xcIj57e2lucHV0LnZhbHVlPy5sYWJlbH19PC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImlucHV0LWNvbnRyb2xcIlxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJpbnB1dC52YWx1ZT8uY29udHJvbCAmJiBpbnB1dC52YWx1ZT8uc2hvd0NvbnRyb2wgPyAnJyA6ICdub25lJ1wiXG4gICAgICAgIHJlZkNvbXBvbmVudFxuICAgICAgICBbZGF0YV09XCJ7dHlwZTogJ2NvbnRyb2wnLCBwYXlsb2FkOiBpbnB1dC52YWx1ZT8uY29udHJvbCB9XCJcbiAgICAgICAgW2VtaXRdPVwiZW1pdFwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiaW5wdXQtY29udHJvbFwiXG4gICAgPjwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Component, Input, HostBinding, ChangeDetectorRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class SocketComponent {
|
|
4
|
+
cdr;
|
|
5
|
+
data;
|
|
6
|
+
rendered;
|
|
7
|
+
get title() {
|
|
8
|
+
return this.data.name;
|
|
9
|
+
}
|
|
10
|
+
constructor(cdr) {
|
|
11
|
+
this.cdr = cdr;
|
|
12
|
+
this.cdr.detach();
|
|
13
|
+
}
|
|
14
|
+
ngOnChanges() {
|
|
15
|
+
this.cdr.detectChanges();
|
|
16
|
+
requestAnimationFrame(() => this.rendered());
|
|
17
|
+
}
|
|
18
|
+
static ɵfac = function SocketComponent_Factory(t) { return new (t || SocketComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
19
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SocketComponent, selectors: [["ng-component"]], hostVars: 1, hostBindings: function SocketComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
20
|
+
i0.ɵɵhostProperty("title", ctx.title);
|
|
21
|
+
} }, inputs: { data: "data", rendered: "rendered" }, features: [i0.ɵɵNgOnChangesFeature], decls: 0, vars: 0, template: function SocketComponent_Template(rf, ctx) { }, styles: ["[_nghost-%COMP%]{display:inline-block;cursor:pointer;border:1px solid white;border-radius:12px;width:24px;height:24px;margin:6px;vertical-align:middle;background:#96b38a;z-index:2;box-sizing:border-box}[_nghost-%COMP%]:hover{border-width:4px}.multiple[_nghost-%COMP%]{border-color:#ff0}.output[_nghost-%COMP%]{margin-right:-12px}.input[_nghost-%COMP%]{margin-left:-12px}"] });
|
|
22
|
+
}
|
|
23
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SocketComponent, [{
|
|
24
|
+
type: Component,
|
|
25
|
+
args: [{ template: ``, styles: [":host{display:inline-block;cursor:pointer;border:1px solid white;border-radius:12px;width:24px;height:24px;margin:6px;vertical-align:middle;background:#96b38a;z-index:2;box-sizing:border-box}:host:hover{border-width:4px}:host.multiple{border-color:#ff0}:host.output{margin-right:-12px}:host.input{margin-left:-12px}\n"] }]
|
|
26
|
+
}], () => [{ type: i0.ChangeDetectorRef }], { data: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}], rendered: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}], title: [{
|
|
31
|
+
type: HostBinding,
|
|
32
|
+
args: ['title']
|
|
33
|
+
}] }); })();
|
|
34
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SocketComponent, { className: "SocketComponent", filePath: "presets/classic/components/socket/socket.component.ts", lineNumber: 7 }); })();
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTcvLnNyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9zb2NrZXQvc29ja2V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQW9CLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDOztBQU05RyxNQUFNLE9BQU8sZUFBZTtJQVNOO0lBUlgsSUFBSSxDQUFPO0lBQ1gsUUFBUSxDQUFPO0lBR3hCLElBQTBCLEtBQUs7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtJQUN2QixDQUFDO0lBRUQsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDeEIscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDOUMsQ0FBQzt5RUFoQlUsZUFBZTs2REFBZixlQUFlOzs7O2lGQUFmLGVBQWU7Y0FKM0IsU0FBUzsyQkFDRSxFQUFFO2tEQUlILElBQUk7a0JBQVosS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFHb0IsS0FBSztrQkFBOUIsV0FBVzttQkFBQyxPQUFPOztrRkFMVCxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcsIEFmdGVyVmlld0NoZWNrZWQsIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVVcmxzOiBbJy4vc29ja2V0LmNvbXBvbmVudC5zYXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgU29ja2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZGF0YSE6IGFueTtcbiAgQElucHV0KCkgcmVuZGVyZWQhOiBhbnk7XG5cblxuICBASG9zdEJpbmRpbmcoJ3RpdGxlJykgZ2V0IHRpdGxlKCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEubmFtZVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSAge1xuICAgIHRoaXMuY2RyLmRldGFjaCgpXG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5yZW5kZXJlZCgpKVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { ClassicPreset, getUID } from 'rete';
|
|
2
|
+
import { classicConnectionPath, loopConnectionPath, getDOMSocketPosition } from 'rete-render-utils';
|
|
3
|
+
import { NodeComponent } from './components/node/node.component';
|
|
4
|
+
import { SocketComponent } from './components/socket/socket.component';
|
|
5
|
+
import { ControlComponent } from './components/control/control.component';
|
|
6
|
+
import { ConnectionComponent } from './components/connection/connection.component';
|
|
7
|
+
import { ConnectionWrapperComponent } from './components/connection/connection-wrapper.component';
|
|
8
|
+
/**
|
|
9
|
+
* Classic preset for rendering nodes, connections, controls and sockets.
|
|
10
|
+
*/
|
|
11
|
+
export function setup(props) {
|
|
12
|
+
const positionWatcher = typeof props?.socketPositionWatcher === 'undefined'
|
|
13
|
+
? getDOMSocketPosition() // fix Type instantiation is excessively deep and possibly infinite.
|
|
14
|
+
: props?.socketPositionWatcher;
|
|
15
|
+
const { node, connection, socket, control } = props?.customize || {};
|
|
16
|
+
return {
|
|
17
|
+
attach(plugin) {
|
|
18
|
+
positionWatcher.attach(plugin);
|
|
19
|
+
},
|
|
20
|
+
update(context) {
|
|
21
|
+
const data = context.data.payload;
|
|
22
|
+
if (context.data.type === 'connection') {
|
|
23
|
+
const { start, end } = context.data;
|
|
24
|
+
return {
|
|
25
|
+
data,
|
|
26
|
+
...(start ? { start } : {}),
|
|
27
|
+
...(end ? { end } : {}),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return { data };
|
|
31
|
+
},
|
|
32
|
+
mount(context, plugin) {
|
|
33
|
+
const parent = plugin.parentScope();
|
|
34
|
+
const emit = parent.emit.bind(parent);
|
|
35
|
+
const rendered = () => {
|
|
36
|
+
emit({ type: 'rendered', data: context.data });
|
|
37
|
+
};
|
|
38
|
+
if (context.data.type === 'node') {
|
|
39
|
+
const component = node ? node(context.data) : NodeComponent;
|
|
40
|
+
return {
|
|
41
|
+
key: `node-${context.data.payload.id}`,
|
|
42
|
+
component,
|
|
43
|
+
props: {
|
|
44
|
+
data: context.data.payload,
|
|
45
|
+
emit,
|
|
46
|
+
rendered
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
if (context.data.type === 'connection') {
|
|
51
|
+
const component = connection ? connection(context.data) : ConnectionComponent;
|
|
52
|
+
const id = context.data.payload.id;
|
|
53
|
+
const { sourceOutput, targetInput, source, target } = context.data.payload;
|
|
54
|
+
const { start, end, payload } = context.data;
|
|
55
|
+
return {
|
|
56
|
+
key: `connection-${id}`,
|
|
57
|
+
component: ConnectionWrapperComponent,
|
|
58
|
+
props: {
|
|
59
|
+
connectionComponent: component,
|
|
60
|
+
data: payload,
|
|
61
|
+
start: start || ((change) => positionWatcher.listen(source, 'output', sourceOutput, change)),
|
|
62
|
+
end: end || ((change) => positionWatcher.listen(target, 'input', targetInput, change)),
|
|
63
|
+
path: async (start, end) => {
|
|
64
|
+
const response = await plugin.emit({ type: 'connectionpath', data: { payload, points: [start, end] } });
|
|
65
|
+
if (!response)
|
|
66
|
+
return '';
|
|
67
|
+
const { path, points } = response.data;
|
|
68
|
+
const curvature = 0.3;
|
|
69
|
+
if (!path && points.length !== 2)
|
|
70
|
+
throw new Error('cannot render connection with a custom number of points');
|
|
71
|
+
if (!path)
|
|
72
|
+
return payload.isLoop
|
|
73
|
+
? loopConnectionPath(points, curvature, 120)
|
|
74
|
+
: classicConnectionPath(points, curvature);
|
|
75
|
+
return path;
|
|
76
|
+
},
|
|
77
|
+
rendered
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
if (context.data.type === 'socket') {
|
|
82
|
+
const component = socket ? socket(context.data) : SocketComponent;
|
|
83
|
+
return {
|
|
84
|
+
key: `socket-${getUID()}`,
|
|
85
|
+
component,
|
|
86
|
+
props: {
|
|
87
|
+
data: context.data.payload,
|
|
88
|
+
rendered
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
if (context.data.type === 'control') {
|
|
93
|
+
const component = control
|
|
94
|
+
? control(context.data)
|
|
95
|
+
: (context.data.payload instanceof ClassicPreset.InputControl
|
|
96
|
+
? ControlComponent
|
|
97
|
+
: null);
|
|
98
|
+
if (component) {
|
|
99
|
+
return {
|
|
100
|
+
key: `control-${context.data.payload.id}`,
|
|
101
|
+
component,
|
|
102
|
+
props: {
|
|
103
|
+
data: context.data.payload,
|
|
104
|
+
rendered
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9jbGFzc2ljL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFTLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBeUIsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUzSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBaUJsRzs7R0FFRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQ25CLEtBQWdDO0lBRWhDLE1BQU0sZUFBZSxHQUFHLE9BQU8sS0FBSyxFQUFFLHFCQUFxQixLQUFLLFdBQVc7UUFDekUsQ0FBQyxDQUFDLG9CQUFvQixFQUFnQixDQUFDLG9FQUFvRTtRQUMzRyxDQUFDLENBQUMsS0FBSyxFQUFFLHFCQUFxQixDQUFBO0lBQ2hDLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQTtJQUdwRSxPQUFPO1FBQ0wsTUFBTSxDQUFDLE1BQU07WUFDWCxlQUFlLENBQUMsTUFBTSxDQUFDLE1BQXNDLENBQUMsQ0FBQTtRQUNoRSxDQUFDO1FBQ0QsTUFBTSxDQUFDLE9BQU87WUFDWixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtZQUVq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U0FBUyxFQUFFO2dCQUNuQyxNQUFNLFNBQVMsR0FBRyxPQUFPO29CQUN2QixDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ3ZCLENBQUMsQ0FBQyxDQUNBLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxZQUFZLGFBQWEsQ0FBQyxZQUFZO3dCQUN4RCxDQUFDLENBQUMsZ0JBQWdCO3dCQUNsQixDQUFDLENBQUMsSUFBSSxDQUNULENBQUE7Z0JBRUgsSUFBSSxTQUFTLEVBQUU7b0JBQ2IsT0FBTzt3QkFDTCxHQUFHLEVBQUUsV0FBVyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUU7d0JBQ3pDLFNBQVM7d0JBQ1QsS0FBSyxFQUFFOzRCQUNMLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU87NEJBQzFCLFFBQVE7eUJBQ1Q7cUJBQ0YsQ0FBQTtpQkFDRjtnQkFDRCxPQUFNO2FBQ1A7WUFDRCxPQUFNO1FBQ1IsQ0FBQztLQUNGLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xhc3NpY1ByZXNldCwgZ2V0VUlELCBTY29wZSB9IGZyb20gJ3JldGUnO1xuaW1wb3J0IHsgY2xhc3NpY0Nvbm5lY3Rpb25QYXRoLCBsb29wQ29ubmVjdGlvblBhdGgsIFNvY2tldFBvc2l0aW9uV2F0Y2hlciwgZ2V0RE9NU29ja2V0UG9zaXRpb24gfSBmcm9tICdyZXRlLXJlbmRlci11dGlscyc7XG5pbXBvcnQgeyBBbmd1bGFyQXJlYTJELCBDbGFzc2ljU2NoZW1lLCBFeHRyYWN0UGF5bG9hZCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgTm9kZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ub2RlL25vZGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNvY2tldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zb2NrZXQvc29ja2V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbnRyb2wvY29udHJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29ubmVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25uZWN0aW9uL2Nvbm5lY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IENvbm5lY3Rpb25XcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nvbm5lY3Rpb24vY29ubmVjdGlvbi13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IFJlbmRlclByZXNldCB9IGZyb20gJy4uL3R5cGVzJ1xuXG50eXBlIEFuZ3VsYXJDb21wb25lbnQgPSBUeXBlPGFueT5cbnR5cGUgQ3VzdG9taXphdGlvblByb3BzPFNjaGVtZXMgZXh0ZW5kcyBDbGFzc2ljU2NoZW1lPiA9IHtcbiAgbm9kZT86IChkYXRhOiBFeHRyYWN0UGF5bG9hZDxTY2hlbWVzLCAnbm9kZSc+KSA9PiBBbmd1bGFyQ29tcG9uZW50IHwgbnVsbFxuICBjb25uZWN0aW9uPzogKGRhdGE6IEV4dHJhY3RQYXlsb2FkPFNjaGVtZXMsICdjb25uZWN0aW9uJz4pID0+IEFuZ3VsYXJDb21wb25lbnQgfCBudWxsXG4gIHNvY2tldD86IChkYXRhOiBFeHRyYWN0UGF5bG9hZDxTY2hlbWVzLCAnc29ja2V0Jz4pID0+IEFuZ3VsYXJDb21wb25lbnQgfCBudWxsXG4gIGNvbnRyb2w/OiAoZGF0YTogRXh0cmFjdFBheWxvYWQ8U2NoZW1lcywgJ2NvbnRyb2wnPikgPT4gQW5ndWxhckNvbXBvbmVudCB8IG51bGxcbn1cblxudHlwZSBDbGFzc2ljUHJvcHM8U2NoZW1lcyBleHRlbmRzIENsYXNzaWNTY2hlbWUsIEs+ID0ge1xuICBzb2NrZXRQb3NpdGlvbldhdGNoZXI/OiBTb2NrZXRQb3NpdGlvbldhdGNoZXI8U2NvcGU8bmV2ZXIsIFtLXT4+XG4gIGN1c3RvbWl6ZT86IEN1c3RvbWl6YXRpb25Qcm9wczxTY2hlbWVzPlxufVxuXG4vKipcbiAqIENsYXNzaWMgcHJlc2V0IGZvciByZW5kZXJpbmcgbm9kZXMsIGNvbm5lY3Rpb25zLCBjb250cm9scyBhbmQgc29ja2V0cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldHVwPFNjaGVtZXMgZXh0ZW5kcyBDbGFzc2ljU2NoZW1lLCBLIGV4dGVuZHMgQW5ndWxhckFyZWEyRDxTY2hlbWVzPj4oXG4gIHByb3BzPzogQ2xhc3NpY1Byb3BzPFNjaGVtZXMsIEs+XG4pOiBSZW5kZXJQcmVzZXQ8U2NoZW1lcywgSz4ge1xuICBjb25zdCBwb3NpdGlvbldhdGNoZXIgPSB0eXBlb2YgcHJvcHM/LnNvY2tldFBvc2l0aW9uV2F0Y2hlciA9PT0gJ3VuZGVmaW5lZCdcbiAgICA/IGdldERPTVNvY2tldFBvc2l0aW9uPFNjaGVtZXMsIGFueT4oKSAvLyBmaXggVHlwZSBpbnN0YW50aWF0aW9uIGlzIGV4Y2Vzc2l2ZWx5IGRlZXAgYW5kIHBvc3NpYmx5IGluZmluaXRlLlxuICAgIDogcHJvcHM/LnNvY2tldFBvc2l0aW9uV2F0Y2hlclxuICBjb25zdCB7IG5vZGUsIGNvbm5lY3Rpb24sIHNvY2tldCwgY29udHJvbCB9ID0gcHJvcHM/LmN1c3RvbWl6ZSB8fCB7fVxuXG5cbiAgcmV0dXJuIHtcbiAgICBhdHRhY2gocGx1Z2luKSB7XG4gICAgICBwb3NpdGlvbldhdGNoZXIuYXR0YWNoKHBsdWdpbiBhcyB1bmtub3duIGFzIFNjb3BlPG5ldmVyLCBbS10+KVxuICAgIH0sXG4gICAgdXBkYXRlKGNvbnRleHQpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSBjb250ZXh0LmRhdGEucGF5bG9hZFxuXG4gICAgICBpZiAoY29udGV4dC5kYXRhLnR5cGUgPT09ICdjb25uZWN0aW9uJykge1xuICAgICAgICBjb25zdCB7IHN0YXJ0LCBlbmQgfSA9IGNvbnRleHQuZGF0YVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICAuLi4oc3RhcnQgPyB7IHN0YXJ0IH0gOiB7fSksXG4gICAgICAgICAgLi4uKGVuZCA/IHsgZW5kIH0gOiB7fSksXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7IGRhdGEgfVxuICAgIH0sXG4gICAgbW91bnQoY29udGV4dCwgcGx1Z2luKSB7XG4gICAgICBjb25zdCBwYXJlbnQgPSBwbHVnaW4ucGFyZW50U2NvcGUoKVxuICAgICAgY29uc3QgZW1pdCA9IHBhcmVudC5lbWl0LmJpbmQocGFyZW50KVxuICAgICAgY29uc3QgcmVuZGVyZWQgPSAoKSA9PiB7XG4gICAgICAgIGVtaXQoeyB0eXBlOiAncmVuZGVyZWQnLCBkYXRhOiBjb250ZXh0LmRhdGEgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbnRleHQuZGF0YS50eXBlID09PSAnbm9kZScpIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gbm9kZSA/IG5vZGUoY29udGV4dC5kYXRhKSA6IE5vZGVDb21wb25lbnRcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGtleTogYG5vZGUtJHtjb250ZXh0LmRhdGEucGF5bG9hZC5pZH1gLFxuICAgICAgICAgIGNvbXBvbmVudCxcbiAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgZGF0YTogY29udGV4dC5kYXRhLnBheWxvYWQsXG4gICAgICAgICAgICBlbWl0LFxuICAgICAgICAgICAgcmVuZGVyZWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChjb250ZXh0LmRhdGEudHlwZSA9PT0gJ2Nvbm5lY3Rpb24nKSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IGNvbm5lY3Rpb24gPyBjb25uZWN0aW9uKGNvbnRleHQuZGF0YSkgOiBDb25uZWN0aW9uQ29tcG9uZW50XG4gICAgICAgIGNvbnN0IGlkID0gY29udGV4dC5kYXRhLnBheWxvYWQuaWRcbiAgICAgICAgY29uc3QgeyBzb3VyY2VPdXRwdXQsIHRhcmdldElucHV0LCBzb3VyY2UsIHRhcmdldCB9ID0gY29udGV4dC5kYXRhLnBheWxvYWRcbiAgICAgICAgY29uc3QgeyBzdGFydCwgZW5kLCBwYXlsb2FkIH0gPSBjb250ZXh0LmRhdGFcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGtleTogYGNvbm5lY3Rpb24tJHtpZH1gLFxuICAgICAgICAgIGNvbXBvbmVudDogQ29ubmVjdGlvbldyYXBwZXJDb21wb25lbnQsXG4gICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgIGNvbm5lY3Rpb25Db21wb25lbnQ6IGNvbXBvbmVudCxcbiAgICAgICAgICAgIGRhdGE6IHBheWxvYWQsXG4gICAgICAgICAgICBzdGFydDogc3RhcnQgfHwgKChjaGFuZ2U6IGFueSkgPT4gcG9zaXRpb25XYXRjaGVyLmxpc3Rlbihzb3VyY2UsICdvdXRwdXQnLCBzb3VyY2VPdXRwdXQsIGNoYW5nZSkpLFxuICAgICAgICAgICAgZW5kOiBlbmQgfHwgKChjaGFuZ2U6IGFueSkgPT4gcG9zaXRpb25XYXRjaGVyLmxpc3Rlbih0YXJnZXQsICdpbnB1dCcsIHRhcmdldElucHV0LCBjaGFuZ2UpKSxcbiAgICAgICAgICAgIHBhdGg6IGFzeW5jIChzdGFydCwgZW5kKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcGx1Z2luLmVtaXQoeyB0eXBlOiAnY29ubmVjdGlvbnBhdGgnLCBkYXRhOiB7IHBheWxvYWQsIHBvaW50czogW3N0YXJ0LCBlbmRdIH0gfSlcblxuICAgICAgICAgICAgICBpZiAoIXJlc3BvbnNlKSByZXR1cm4gJydcblxuICAgICAgICAgICAgICBjb25zdCB7IHBhdGgsIHBvaW50cyB9ID0gcmVzcG9uc2UuZGF0YVxuICAgICAgICAgICAgICBjb25zdCBjdXJ2YXR1cmUgPSAwLjNcblxuICAgICAgICAgICAgICBpZiAoIXBhdGggJiYgcG9pbnRzLmxlbmd0aCAhPT0gMikgdGhyb3cgbmV3IEVycm9yKCdjYW5ub3QgcmVuZGVyIGNvbm5lY3Rpb24gd2l0aCBhIGN1c3RvbSBudW1iZXIgb2YgcG9pbnRzJylcbiAgICAgICAgICAgICAgaWYgKCFwYXRoKSByZXR1cm4gcGF5bG9hZC5pc0xvb3BcbiAgICAgICAgICAgICAgICA/IGxvb3BDb25uZWN0aW9uUGF0aChwb2ludHMgYXMgW1Bvc2l0aW9uLCBQb3NpdGlvbl0sIGN1cnZhdHVyZSwgMTIwKVxuICAgICAgICAgICAgICAgIDogY2xhc3NpY0Nvbm5lY3Rpb25QYXRoKHBvaW50cyBhcyBbUG9zaXRpb24sIFBvc2l0aW9uXSwgY3VydmF0dXJlKVxuXG4gICAgICAgICAgICAgIHJldHVybiBwYXRoXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVuZGVyZWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChjb250ZXh0LmRhdGEudHlwZSA9PT0gJ3NvY2tldCcpIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gc29ja2V0ID8gc29ja2V0KGNvbnRleHQuZGF0YSkgOiBTb2NrZXRDb21wb25lbnRcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGtleTogYHNvY2tldC0ke2dldFVJRCgpfWAsXG4gICAgICAgICAgY29tcG9uZW50LFxuICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICBkYXRhOiBjb250ZXh0LmRhdGEucGF5bG9hZCxcbiAgICAgICAgICAgIHJlbmRlcmVkXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY29udGV4dC5kYXRhLnR5cGUgPT09ICdjb250cm9sJykge1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBjb250cm9sXG4gICAgICAgICAgPyBjb250cm9sKGNvbnRleHQuZGF0YSlcbiAgICAgICAgICA6IChcbiAgICAgICAgICAgIGNvbnRleHQuZGF0YS5wYXlsb2FkIGluc3RhbmNlb2YgQ2xhc3NpY1ByZXNldC5JbnB1dENvbnRyb2xcbiAgICAgICAgICAgICAgPyBDb250cm9sQ29tcG9uZW50XG4gICAgICAgICAgICAgIDogbnVsbFxuICAgICAgICAgIClcblxuICAgICAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGtleTogYGNvbnRyb2wtJHtjb250ZXh0LmRhdGEucGF5bG9hZC5pZH1gLFxuICAgICAgICAgICAgY29tcG9uZW50LFxuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgZGF0YTogY29udGV4dC5kYXRhLnBheWxvYWQsXG4gICAgICAgICAgICAgIHJlbmRlcmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgcmV0dXJuXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9jbGFzc2ljL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlSWQsIENsYXNzaWNQcmVzZXQgYXMgQ2xhc3NpYywgR2V0U2NoZW1lcyB9IGZyb20gJ3JldGUnXG5pbXBvcnQgeyBQb3NpdGlvbiwgUmVuZGVyU2lnbmFsIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5cbnR5cGUgVW5pb25Ub0ludGVyc2VjdGlvbjxVPiA9IChVIGV4dGVuZHMgYW55ID8gKGs6IFUpID0+IHZvaWQgOiBuZXZlcikgZXh0ZW5kcyAoKGs6IGluZmVyIEkpID0+IHZvaWQpXG4gID8gSVxuICA6IG5ldmVyXG50eXBlIEdldENvbnRyb2xzPFxuICBUIGV4dGVuZHMgQ2xhc3NpY1NjaGVtZVsnTm9kZSddLFxuICBJbnRlcnNlY3Rpb24gPSBVbmlvblRvSW50ZXJzZWN0aW9uPFRbJ2NvbnRyb2xzJ10+XG4+ID0gSW50ZXJzZWN0aW9uW2tleW9mIEludGVyc2VjdGlvbl0gZXh0ZW5kcyBDbGFzc2ljLkNvbnRyb2wgPyBJbnRlcnNlY3Rpb25ba2V5b2YgSW50ZXJzZWN0aW9uXSA6IENsYXNzaWMuQ29udHJvbFxudHlwZSBHZXRTb2NrZXRzPFxuICBUIGV4dGVuZHMgQ2xhc3NpY1NjaGVtZVsnTm9kZSddLFxuICBJbnRlcnNlY3Rpb24gPSBVbmlvblRvSW50ZXJzZWN0aW9uPFRbJ2lucHV0cyddIHwgVFsnb3V0cHV0cyddPixcbiAgVW5pb24gPSBFeGNsdWRlPEludGVyc2VjdGlvbltrZXlvZiBJbnRlcnNlY3Rpb25dLCB1bmRlZmluZWQ+XG4+ID0gVW5pb24gZXh0ZW5kcyB7IHNvY2tldDogYW55IH0gPyBVbmlvblsnc29ja2V0J10gOiBDbGFzc2ljLlNvY2tldFxuXG5cbmV4cG9ydCB0eXBlIFNpZGUgPSAnaW5wdXQnIHwgJ291dHB1dCdcbmV4cG9ydCB0eXBlIEFuZ3VsYXJSZW5kZXJEYXRhPFQgZXh0ZW5kcyBDbGFzc2ljU2NoZW1lPiA9XG4gIHwge1xuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAgIHR5cGU6ICdzb2NrZXQnLFxuICAgIHBheWxvYWQ6IEdldFNvY2tldHM8VFsnTm9kZSddPlxuICAgIG5vZGVJZDogTm9kZUlkXG4gICAgc2lkZTogU2lkZVxuICAgIGtleTogc3RyaW5nXG4gIH1cbiAgfCB7XG4gICAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICAgdHlwZTogJ2NvbnRyb2wnLFxuICAgIHBheWxvYWQ6IEdldENvbnRyb2xzPFRbJ05vZGUnXT5cbiAgfVxuXG5leHBvcnQgdHlwZSBFeHRyYWN0UGF5bG9hZDxUIGV4dGVuZHMgQ2xhc3NpY1NjaGVtZSwgSyBleHRlbmRzIHN0cmluZz4gPSBFeHRyYWN0PEFuZ3VsYXJBcmVhMkQ8VD4sIHsgdHlwZTogJ3JlbmRlcicsIGRhdGE6IHsgdHlwZTogSyB9IH0+WydkYXRhJ11cbmV4cG9ydCB0eXBlIEFuZ3VsYXJBcmVhMkQ8VCBleHRlbmRzIENsYXNzaWNTY2hlbWU+ID1cbiAgfCBSZW5kZXJTaWduYWw8J25vZGUnLCB7IHBheWxvYWQ6IFRbJ05vZGUnXSB9PlxuICB8IFJlbmRlclNpZ25hbDwnY29ubmVjdGlvbicsIHsgcGF5bG9hZDogVFsnQ29ubmVjdGlvbiddLCBzdGFydD86IFBvc2l0aW9uLCBlbmQ/OiBQb3NpdGlvbiB9PlxuICB8IFJlbmRlclNpZ25hbDwnc29ja2V0Jywge1xuICAgIHBheWxvYWQ6IEdldFNvY2tldHM8VFsnTm9kZSddPlxuICAgIG5vZGVJZDogTm9kZUlkXG4gICAgc2lkZTogU2lkZVxuICAgIGtleTogc3RyaW5nXG4gIH0+XG4gIHwgUmVuZGVyU2lnbmFsPCdjb250cm9sJywge1xuICAgIHBheWxvYWQ6IEdldENvbnRyb2xzPFRbJ05vZGUnXT5cbiAgfT5cbiAgfCB7IHR5cGU6ICd1bm1vdW50JywgZGF0YTogeyBlbGVtZW50OiBIVE1MRWxlbWVudCB9IH1cblxuZXhwb3J0IHR5cGUgQ2xhc3NpY1NjaGVtZSA9IEdldFNjaGVtZXM8Q2xhc3NpYy5Ob2RlLCBDbGFzc2ljLkNvbm5lY3Rpb248Q2xhc3NpYy5Ob2RlLCBDbGFzc2ljLk5vZGU+ICYgeyBpc0xvb3A/OiBib29sZWFuIH0+XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './item/item.component';
|
|
2
|
+
export * from './menu/menu.component';
|
|
3
|
+
export * from './search/search.component';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9jb250ZXh0LW1lbnUvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFBO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYywyQkFBMkIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaXRlbS9pdGVtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbWVudS9tZW51LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnXG4iXX0=
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';
|
|
2
|
+
import { debounce } from '../../debounce';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
function ContextMenuItemComponent_div_1_context_menu_item_1_Template(rf, ctx) { if (rf & 1) {
|
|
6
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
7
|
+
i0.ɵɵelementStart(0, "context-menu-item", 3);
|
|
8
|
+
i0.ɵɵlistener("select", function ContextMenuItemComponent_div_1_context_menu_item_1_Template_context_menu_item_select_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r4); const item_r2 = restoredCtx.$implicit; return i0.ɵɵresetView(item_r2.handler()); })("hide", function ContextMenuItemComponent_div_1_context_menu_item_1_Template_context_menu_item_hide_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r5 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r5.hide.emit()); });
|
|
9
|
+
i0.ɵɵtext(1);
|
|
10
|
+
i0.ɵɵelementEnd();
|
|
11
|
+
} if (rf & 2) {
|
|
12
|
+
const item_r2 = ctx.$implicit;
|
|
13
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
14
|
+
i0.ɵɵproperty("delay", ctx_r1.delay);
|
|
15
|
+
i0.ɵɵadvance(1);
|
|
16
|
+
i0.ɵɵtextInterpolate1(" ", item_r2.label, " ");
|
|
17
|
+
} }
|
|
18
|
+
function ContextMenuItemComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
+
i0.ɵɵelementStart(0, "div", 1);
|
|
20
|
+
i0.ɵɵtemplate(1, ContextMenuItemComponent_div_1_context_menu_item_1_Template, 2, 2, "context-menu-item", 2);
|
|
21
|
+
i0.ɵɵelementEnd();
|
|
22
|
+
} if (rf & 2) {
|
|
23
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
24
|
+
i0.ɵɵadvance(1);
|
|
25
|
+
i0.ɵɵproperty("ngForOf", ctx_r0.subitems);
|
|
26
|
+
} }
|
|
27
|
+
const _c0 = ["*"];
|
|
28
|
+
export class ContextMenuItemComponent {
|
|
29
|
+
cdr;
|
|
30
|
+
subitems;
|
|
31
|
+
delay;
|
|
32
|
+
select = new EventEmitter();
|
|
33
|
+
hide = new EventEmitter();
|
|
34
|
+
get block() { return true; }
|
|
35
|
+
get hasSubitems() { return this.subitems; }
|
|
36
|
+
click(event) {
|
|
37
|
+
event.stopPropagation();
|
|
38
|
+
this.select.emit();
|
|
39
|
+
this.hide.emit();
|
|
40
|
+
}
|
|
41
|
+
pointerdown(event) {
|
|
42
|
+
event.stopPropagation();
|
|
43
|
+
}
|
|
44
|
+
wheel(event) {
|
|
45
|
+
event.stopPropagation();
|
|
46
|
+
}
|
|
47
|
+
hideSubitems = debounce(() => {
|
|
48
|
+
this.visibleSubitems = false;
|
|
49
|
+
this.cdr.detectChanges();
|
|
50
|
+
});
|
|
51
|
+
visibleSubitems = false;
|
|
52
|
+
pointerover() {
|
|
53
|
+
this.hideSubitems.cancel();
|
|
54
|
+
this.visibleSubitems = true;
|
|
55
|
+
this.cdr.detectChanges();
|
|
56
|
+
}
|
|
57
|
+
pointerleave() {
|
|
58
|
+
this.hideSubitems.call(this.delay);
|
|
59
|
+
this.cdr.detectChanges();
|
|
60
|
+
}
|
|
61
|
+
constructor(cdr) {
|
|
62
|
+
this.cdr = cdr;
|
|
63
|
+
this.cdr.detach();
|
|
64
|
+
}
|
|
65
|
+
static ɵfac = function ContextMenuItemComponent_Factory(t) { return new (t || ContextMenuItemComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
66
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContextMenuItemComponent, selectors: [["context-menu-item"]], hostAttrs: ["data-testid", "context-menu-item"], hostVars: 4, hostBindings: function ContextMenuItemComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
67
|
+
i0.ɵɵlistener("click", function ContextMenuItemComponent_click_HostBindingHandler($event) { return ctx.click($event); })("pointerdown", function ContextMenuItemComponent_pointerdown_HostBindingHandler($event) { return ctx.pointerdown($event); })("wheel", function ContextMenuItemComponent_wheel_HostBindingHandler($event) { return ctx.wheel($event); })("pointerover", function ContextMenuItemComponent_pointerover_HostBindingHandler() { return ctx.pointerover(); })("pointerleave", function ContextMenuItemComponent_pointerleave_HostBindingHandler() { return ctx.pointerleave(); });
|
|
68
|
+
} if (rf & 2) {
|
|
69
|
+
i0.ɵɵclassProp("block", ctx.block)("hasSubitems", ctx.hasSubitems);
|
|
70
|
+
} }, inputs: { subitems: "subitems", delay: "delay" }, outputs: { select: "select", hide: "hide" }, ngContentSelectors: _c0, decls: 2, vars: 1, consts: [["class", "subitems", 4, "ngIf"], [1, "subitems"], [3, "delay", "select", "hide", 4, "ngFor", "ngForOf"], [3, "delay", "select", "hide"]], template: function ContextMenuItemComponent_Template(rf, ctx) { if (rf & 1) {
|
|
71
|
+
i0.ɵɵprojectionDef();
|
|
72
|
+
i0.ɵɵprojection(0);
|
|
73
|
+
i0.ɵɵtemplate(1, ContextMenuItemComponent_div_1_Template, 2, 1, "div", 0);
|
|
74
|
+
} if (rf & 2) {
|
|
75
|
+
i0.ɵɵadvance(1);
|
|
76
|
+
i0.ɵɵproperty("ngIf", ctx.subitems && ctx.visibleSubitems);
|
|
77
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, ContextMenuItemComponent], styles: ["@charset \"UTF-8\";.hasSubitems[_nghost-%COMP%]:after{content:\"\\25ba\";position:absolute;opacity:.6;right:5px;top:5px;font-family:initial}.subitems[_ngcontent-%COMP%]{position:absolute;top:0;left:100%;width:120px}", ".block[_ngcontent-%COMP%]{display:block;color:#fff;padding:4px;border-bottom:1px solid rgba(69,103,255,.8);background-color:#6e88ffcc;cursor:pointer;width:100%;position:relative}.block[_ngcontent-%COMP%]:first-child{border-top-left-radius:5px;border-top-right-radius:5px}.block[_ngcontent-%COMP%]:last-child{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.block[_ngcontent-%COMP%]:hover{background-color:#8299ffcc}"] });
|
|
78
|
+
}
|
|
79
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextMenuItemComponent, [{
|
|
80
|
+
type: Component,
|
|
81
|
+
args: [{ selector: 'context-menu-item', host: {
|
|
82
|
+
'data-testid': 'context-menu-item'
|
|
83
|
+
}, template: "<ng-content></ng-content>\n<div class=\"subitems\" *ngIf=\"subitems && visibleSubitems\">\n <context-menu-item *ngFor=\"let item of subitems\" [delay]=\"delay\" (select)=\"item.handler()\" (hide)=\"hide.emit()\">\n {{ item.label }}\n </context-menu-item>\n</div>\n", styles: ["@charset \"UTF-8\";:host(.hasSubitems):after{content:\"\\25ba\";position:absolute;opacity:.6;right:5px;top:5px;font-family:initial}.subitems{position:absolute;top:0;left:100%;width:120px}\n", ".block{display:block;color:#fff;padding:4px;border-bottom:1px solid rgba(69,103,255,.8);background-color:#6e88ffcc;cursor:pointer;width:100%;position:relative}.block:first-child{border-top-left-radius:5px;border-top-right-radius:5px}.block:last-child{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.block:hover{background-color:#8299ffcc}\n"] }]
|
|
84
|
+
}], () => [{ type: i0.ChangeDetectorRef }], { subitems: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], delay: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], select: [{
|
|
89
|
+
type: Output
|
|
90
|
+
}], hide: [{
|
|
91
|
+
type: Output
|
|
92
|
+
}], block: [{
|
|
93
|
+
type: HostBinding,
|
|
94
|
+
args: ['class.block']
|
|
95
|
+
}], hasSubitems: [{
|
|
96
|
+
type: HostBinding,
|
|
97
|
+
args: ['class.hasSubitems']
|
|
98
|
+
}], click: [{
|
|
99
|
+
type: HostListener,
|
|
100
|
+
args: ['click', ['$event']]
|
|
101
|
+
}], pointerdown: [{
|
|
102
|
+
type: HostListener,
|
|
103
|
+
args: ['pointerdown', ['$event']]
|
|
104
|
+
}], wheel: [{
|
|
105
|
+
type: HostListener,
|
|
106
|
+
args: ['wheel', ['$event']]
|
|
107
|
+
}], pointerover: [{
|
|
108
|
+
type: HostListener,
|
|
109
|
+
args: ['pointerover']
|
|
110
|
+
}], pointerleave: [{
|
|
111
|
+
type: HostListener,
|
|
112
|
+
args: ['pointerleave']
|
|
113
|
+
}] }); })();
|
|
114
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContextMenuItemComponent, { className: "ContextMenuItemComponent", filePath: "presets/context-menu/components/item/item.component.ts", lineNumber: 13 }); })();
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9jb250ZXh0LW1lbnUvY29tcG9uZW50cy9pdGVtL2l0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbmcxNy8uc3JjL3ByZXNldHMvY29udGV4dC1tZW51L2NvbXBvbmVudHMvaXRlbS9pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVySCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0lDQXhDLDRDQUFnSDtJQUEvQyw4TkFBVSxlQUFBLGlCQUFjLENBQUEsSUFBQyxzTEFBUyxlQUFBLGtCQUFXLENBQUEsSUFBcEI7SUFDeEYsWUFDRjtJQUFBLGlCQUFvQjs7OztJQUY2QixvQ0FBZTtJQUM5RCxlQUNGO0lBREUsOENBQ0Y7OztJQUhGLDhCQUEwRDtJQUN4RCwyR0FFb0I7SUFDdEIsaUJBQU07OztJQUhnQyxlQUFXO0lBQVgseUNBQVc7OztBRFVqRCxNQUFNLE9BQU8sd0JBQXdCO0lBcUNmO0lBcENYLFFBQVEsQ0FBUztJQUNqQixLQUFLLENBQVM7SUFDYixNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUNsQyxJQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUUxQyxJQUFnQyxLQUFLLEtBQUssT0FBTyxJQUFJLENBQUEsQ0FBQyxDQUFDO0lBQ3ZELElBQXNDLFdBQVcsS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUEsQ0FBQyxDQUFDO0lBRXpDLEtBQUssQ0FBQyxLQUFpQjtRQUN4RCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQ2xCLENBQUM7SUFDd0MsV0FBVyxDQUFDLEtBQW1CO1FBQ3RFLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQTtJQUN6QixDQUFDO0lBQ2tDLEtBQUssQ0FBQyxLQUFpQjtRQUN4RCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7SUFDekIsQ0FBQztJQUVELFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFBO1FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDMUIsQ0FBQyxDQUFDLENBQUE7SUFDRixlQUFlLEdBQUcsS0FBSyxDQUFBO0lBRU0sV0FBVztRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFBO1FBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFBO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUM2QixZQUFZO1FBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFFRCxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ25CLENBQUM7a0ZBdkNVLHdCQUF3Qjs2REFBeEIsd0JBQXdCOytHQUF4QixpQkFBYSxzR0FBYix1QkFBbUIsMEZBQW5CLGlCQUFhLGdHQUFiLGlCQUFhLGtHQUFiLGtCQUFjOzs7OztZQ1ozQixrQkFBeUI7WUFDekIseUVBSU07O1lBSmlCLGVBQWlDO1lBQWpDLDBEQUFpQztpRERXM0Msd0JBQXdCOztpRkFBeEIsd0JBQXdCO2NBUnBDLFNBQVM7MkJBQ0UsbUJBQW1CLFFBR3ZCO29CQUNKLGFBQWEsRUFBRSxtQkFBbUI7aUJBQ25DO2tEQUdRLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDSSxNQUFNO2tCQUFmLE1BQU07WUFDRyxJQUFJO2tCQUFiLE1BQU07WUFFeUIsS0FBSztrQkFBcEMsV0FBVzttQkFBQyxhQUFhO1lBQ1ksV0FBVztrQkFBaEQsV0FBVzttQkFBQyxtQkFBbUI7WUFFRyxLQUFLO2tCQUF2QyxZQUFZO21CQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUtRLFdBQVc7a0JBQW5ELFlBQVk7bUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDO1lBR0osS0FBSztrQkFBdkMsWUFBWTttQkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFVSixXQUFXO2tCQUF2QyxZQUFZO21CQUFDLGFBQWE7WUFLRyxZQUFZO2tCQUF6QyxZQUFZO21CQUFDLGNBQWM7O2tGQWhDakIsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdGVtIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgZGVib3VuY2UgfSBmcm9tICcuLi8uLi9kZWJvdW5jZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvbnRleHQtbWVudS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2l0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pdGVtLmNvbXBvbmVudC5zYXNzJywgJy4uLy4uL2Jsb2NrLnNhc3MnXSxcbiAgaG9zdDoge1xuICAgICdkYXRhLXRlc3RpZCc6ICdjb250ZXh0LW1lbnUtaXRlbSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0TWVudUl0ZW1Db21wb25lbnQge1xuICBASW5wdXQoKSBzdWJpdGVtcz86IEl0ZW1bXVxuICBASW5wdXQoKSBkZWxheSE6IG51bWJlclxuICBAT3V0cHV0KCkgc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgaGlkZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmJsb2NrJykgZ2V0IGJsb2NrKCkgeyByZXR1cm4gdHJ1ZSB9XG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGFzU3ViaXRlbXMnKSBnZXQgaGFzU3ViaXRlbXMoKSB7IHJldHVybiB0aGlzLnN1Yml0ZW1zIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIGNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB0aGlzLnNlbGVjdC5lbWl0KClcbiAgICB0aGlzLmhpZGUuZW1pdCgpXG4gIH1cbiAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcmRvd24nLCBbJyRldmVudCddKSBwb2ludGVyZG93bihldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgfVxuICBASG9zdExpc3RlbmVyKCd3aGVlbCcsIFsnJGV2ZW50J10pIHdoZWVsKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgfVxuXG4gIGhpZGVTdWJpdGVtcyA9IGRlYm91bmNlKCgpID0+IHtcbiAgICB0aGlzLnZpc2libGVTdWJpdGVtcyA9IGZhbHNlXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH0pXG4gIHZpc2libGVTdWJpdGVtcyA9IGZhbHNlXG5cbiAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcm92ZXInKSBwb2ludGVyb3ZlcigpIHtcbiAgICB0aGlzLmhpZGVTdWJpdGVtcy5jYW5jZWwoKVxuICAgIHRoaXMudmlzaWJsZVN1Yml0ZW1zID0gdHJ1ZVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJsZWF2ZScpIHBvaW50ZXJsZWF2ZSgpIHtcbiAgICB0aGlzLmhpZGVTdWJpdGVtcy5jYWxsKHRoaXMuZGVsYXkpXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmNkci5kZXRhY2goKVxuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48ZGl2IGNsYXNzPVwic3ViaXRlbXNcIiAqbmdJZj1cInN1Yml0ZW1zICYmIHZpc2libGVTdWJpdGVtc1wiPlxuICA8Y29udGV4dC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc3ViaXRlbXNcIiBbZGVsYXldPVwiZGVsYXlcIiAoc2VsZWN0KT1cIml0ZW0uaGFuZGxlcigpXCIgKGhpZGUpPVwiaGlkZS5lbWl0KClcIj5cbiAgICB7eyBpdGVtLmxhYmVsIH19XG4gIDwvY29udGV4dC1tZW51LWl0ZW0+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { Component, Input, ChangeDetectorRef, HostListener, HostBinding } from '@angular/core';
|
|
2
|
+
import { debounce } from '../../debounce';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "../search/search.component";
|
|
6
|
+
import * as i3 from "../item/item.component";
|
|
7
|
+
function ContextMenuComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
9
|
+
i0.ɵɵelementStart(0, "div", 2)(1, "context-menu-search", 3);
|
|
10
|
+
i0.ɵɵlistener("update", function ContextMenuComponent_div_0_Template_context_menu_search_update_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setFilter($event)); });
|
|
11
|
+
i0.ɵɵelementEnd()();
|
|
12
|
+
} if (rf & 2) {
|
|
13
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
14
|
+
i0.ɵɵadvance(1);
|
|
15
|
+
i0.ɵɵproperty("value", ctx_r0.filter);
|
|
16
|
+
} }
|
|
17
|
+
function ContextMenuComponent_context_menu_item_1_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
19
|
+
i0.ɵɵelementStart(0, "context-menu-item", 4);
|
|
20
|
+
i0.ɵɵlistener("select", function ContextMenuComponent_context_menu_item_1_Template_context_menu_item_select_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r6); const item_r4 = restoredCtx.$implicit; return i0.ɵɵresetView(item_r4.handler()); })("hide", function ContextMenuComponent_context_menu_item_1_Template_context_menu_item_hide_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.onHide()); });
|
|
21
|
+
i0.ɵɵtext(1);
|
|
22
|
+
i0.ɵɵelementEnd();
|
|
23
|
+
} if (rf & 2) {
|
|
24
|
+
const item_r4 = ctx.$implicit;
|
|
25
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
26
|
+
i0.ɵɵproperty("delay", ctx_r1.delay)("subitems", item_r4.subitems);
|
|
27
|
+
i0.ɵɵadvance(1);
|
|
28
|
+
i0.ɵɵtextInterpolate1(" ", item_r4.label, "\n");
|
|
29
|
+
} }
|
|
30
|
+
export class ContextMenuComponent {
|
|
31
|
+
cdr;
|
|
32
|
+
items;
|
|
33
|
+
delay;
|
|
34
|
+
searchBar;
|
|
35
|
+
onHide;
|
|
36
|
+
rendered;
|
|
37
|
+
filter = '';
|
|
38
|
+
hide = debounce(() => {
|
|
39
|
+
this.onHide();
|
|
40
|
+
this.cdr.detectChanges();
|
|
41
|
+
});
|
|
42
|
+
customAttribute = '';
|
|
43
|
+
pointerover() {
|
|
44
|
+
this.hide.cancel();
|
|
45
|
+
this.cdr.detectChanges();
|
|
46
|
+
}
|
|
47
|
+
pointerleave() {
|
|
48
|
+
this.hide.call(this.delay);
|
|
49
|
+
this.cdr.detectChanges();
|
|
50
|
+
}
|
|
51
|
+
constructor(cdr) {
|
|
52
|
+
this.cdr = cdr;
|
|
53
|
+
this.cdr.detach();
|
|
54
|
+
}
|
|
55
|
+
ngOnChanges() {
|
|
56
|
+
this.cdr.detectChanges();
|
|
57
|
+
requestAnimationFrame(() => this.rendered());
|
|
58
|
+
}
|
|
59
|
+
setFilter(value) {
|
|
60
|
+
this.filter = value;
|
|
61
|
+
this.cdr.detectChanges();
|
|
62
|
+
}
|
|
63
|
+
getItems() {
|
|
64
|
+
const filterRegexp = new RegExp(this.filter, 'i');
|
|
65
|
+
const filteredList = this.items.filter(item => (item.label.match(filterRegexp)));
|
|
66
|
+
return filteredList;
|
|
67
|
+
}
|
|
68
|
+
ngOnDestroy() {
|
|
69
|
+
if (this.hide)
|
|
70
|
+
this.hide.cancel();
|
|
71
|
+
}
|
|
72
|
+
static ɵfac = function ContextMenuComponent_Factory(t) { return new (t || ContextMenuComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
73
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContextMenuComponent, selectors: [["ng-component"]], hostAttrs: ["data-testid", "context-menu"], hostVars: 1, hostBindings: function ContextMenuComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
74
|
+
i0.ɵɵlistener("mouseover", function ContextMenuComponent_mouseover_HostBindingHandler() { return ctx.pointerover(); })("mouseleave", function ContextMenuComponent_mouseleave_HostBindingHandler() { return ctx.pointerleave(); });
|
|
75
|
+
} if (rf & 2) {
|
|
76
|
+
i0.ɵɵattribute("rete-context-menu", ctx.customAttribute);
|
|
77
|
+
} }, inputs: { items: "items", delay: "delay", searchBar: "searchBar", onHide: "onHide", rendered: "rendered" }, features: [i0.ɵɵNgOnChangesFeature], decls: 2, vars: 2, consts: [["class", "block", 4, "ngIf"], [3, "delay", "subitems", "select", "hide", 4, "ngFor", "ngForOf"], [1, "block"], [3, "value", "update"], [3, "delay", "subitems", "select", "hide"]], template: function ContextMenuComponent_Template(rf, ctx) { if (rf & 1) {
|
|
78
|
+
i0.ɵɵtemplate(0, ContextMenuComponent_div_0_Template, 2, 1, "div", 0)(1, ContextMenuComponent_context_menu_item_1_Template, 2, 3, "context-menu-item", 1);
|
|
79
|
+
} if (rf & 2) {
|
|
80
|
+
i0.ɵɵproperty("ngIf", ctx.searchBar);
|
|
81
|
+
i0.ɵɵadvance(1);
|
|
82
|
+
i0.ɵɵproperty("ngForOf", ctx.getItems());
|
|
83
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, i2.ContextMenuSearchComponent, i3.ContextMenuItemComponent], styles: ["[_nghost-%COMP%]{display:block;padding:10px;width:120px;margin-top:-20px;margin-left:-60px}", ".block[_ngcontent-%COMP%]{display:block;color:#fff;padding:4px;border-bottom:1px solid rgba(69,103,255,.8);background-color:#6e88ffcc;cursor:pointer;width:100%;position:relative}.block[_ngcontent-%COMP%]:first-child{border-top-left-radius:5px;border-top-right-radius:5px}.block[_ngcontent-%COMP%]:last-child{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.block[_ngcontent-%COMP%]:hover{background-color:#8299ffcc}"] });
|
|
84
|
+
}
|
|
85
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextMenuComponent, [{
|
|
86
|
+
type: Component,
|
|
87
|
+
args: [{ host: {
|
|
88
|
+
'data-testid': 'context-menu'
|
|
89
|
+
}, template: "<div class=\"block\" *ngIf=\"searchBar\">\n <context-menu-search [value]=\"filter\" (update)=\"setFilter($event)\"></context-menu-search>\n</div>\n\n<context-menu-item *ngFor=\"let item of getItems()\" [delay]=\"delay\" (select)=\"item.handler()\" [subitems]=\"item.subitems\"\n (hide)=\"onHide()\">\n {{ item.label }}\n</context-menu-item>\n", styles: [":host{display:block;padding:10px;width:120px;margin-top:-20px;margin-left:-60px}\n", ".block{display:block;color:#fff;padding:4px;border-bottom:1px solid rgba(69,103,255,.8);background-color:#6e88ffcc;cursor:pointer;width:100%;position:relative}.block:first-child{border-top-left-radius:5px;border-top-right-radius:5px}.block:last-child{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.block:hover{background-color:#8299ffcc}\n"] }]
|
|
90
|
+
}], () => [{ type: i0.ChangeDetectorRef }], { items: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], delay: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], searchBar: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], onHide: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], rendered: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], customAttribute: [{
|
|
101
|
+
type: HostBinding,
|
|
102
|
+
args: ['attr.rete-context-menu']
|
|
103
|
+
}], pointerover: [{
|
|
104
|
+
type: HostListener,
|
|
105
|
+
args: ['mouseover']
|
|
106
|
+
}], pointerleave: [{
|
|
107
|
+
type: HostListener,
|
|
108
|
+
args: ['mouseleave']
|
|
109
|
+
}] }); })();
|
|
110
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContextMenuComponent, { className: "ContextMenuComponent", filePath: "presets/context-menu/components/menu/menu.component.ts", lineNumber: 12 }); })();
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9jb250ZXh0LW1lbnUvY29tcG9uZW50cy9tZW51L21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbmcxNy8uc3JjL3ByZXNldHMvY29udGV4dC1tZW51L2NvbXBvbmVudHMvbWVudS9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUF3QixZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztJQ0YxQyw4QkFBcUMsNkJBQUE7SUFDRyxzTEFBVSxlQUFBLHdCQUFpQixDQUFBLElBQUM7SUFBQyxpQkFBc0IsRUFBQTs7O0lBQXBFLGVBQWdCO0lBQWhCLHFDQUFnQjs7OztJQUd2Qyw0Q0FDb0I7SUFEK0Msb05BQVUsZUFBQSxpQkFBYyxDQUFBLElBQUMsMktBQ2xGLGVBQUEsZUFBUSxDQUFBLElBRDBFO0lBRTFGLFlBQ0Y7SUFBQSxpQkFBb0I7Ozs7SUFIK0Isb0NBQWUsOEJBQUE7SUFFaEUsZUFDRjtJQURFLCtDQUNGOztBRElBLE1BQU0sT0FBTyxvQkFBb0I7SUF5Qlg7SUF4QlgsS0FBSyxDQUFTO0lBQ2QsS0FBSyxDQUFTO0lBQ2QsU0FBUyxDQUFVO0lBQ25CLE1BQU0sQ0FBYTtJQUNuQixRQUFRLENBQWE7SUFFdkIsTUFBTSxHQUFXLEVBQUUsQ0FBQTtJQUUxQixJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUNuQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDYixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzFCLENBQUMsQ0FBQyxDQUFBO0lBRXFDLGVBQWUsR0FBRyxFQUFFLENBQUE7SUFFaEMsV0FBVztRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFBO1FBQ2xCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUMyQixZQUFZO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFFRCxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN4QixxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7UUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sWUFBWSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDakQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FDL0IsQ0FBQyxDQUFBO1FBRUYsT0FBTyxZQUFZLENBQUE7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUNuQyxDQUFDOzhFQWxEVSxvQkFBb0I7NkRBQXBCLG9CQUFvQjs2R0FBcEIsaUJBQWEsMEZBQWIsa0JBQWM7Ozs7WUNYM0IscUVBRU0sb0ZBQUE7O1lBRmMsb0NBQWU7WUFJQyxlQUFhO1lBQWIsd0NBQWE7OztpRkRPcEMsb0JBQW9CO2NBUGhDLFNBQVM7dUJBR0Y7b0JBQ0osYUFBYSxFQUFFLGNBQWM7aUJBQzlCO2tEQUdRLEtBQUs7a0JBQWIsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBU2lDLGVBQWU7a0JBQXJELFdBQVc7bUJBQUMsd0JBQXdCO1lBRVYsV0FBVztrQkFBckMsWUFBWTttQkFBQyxXQUFXO1lBSUcsWUFBWTtrQkFBdkMsWUFBWTttQkFBQyxZQUFZOztrRkFwQmYsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBIb3N0TGlzdGVuZXIsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdGVtIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgZGVib3VuY2UgfSBmcm9tICcuLi8uLi9kZWJvdW5jZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lbnUuY29tcG9uZW50LnNhc3MnLCAnLi4vLi4vYmxvY2suc2FzcyddLFxuICBob3N0OiB7XG4gICAgJ2RhdGEtdGVzdGlkJzogJ2NvbnRleHQtbWVudSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCkgaXRlbXMhOiBJdGVtW11cbiAgQElucHV0KCkgZGVsYXkhOiBudW1iZXJcbiAgQElucHV0KCkgc2VhcmNoQmFyPzogYm9vbGVhblxuICBASW5wdXQoKSBvbkhpZGUhOiAoKSA9PiB2b2lkXG4gIEBJbnB1dCgpIHJlbmRlcmVkITogKCkgPT4gdm9pZFxuXG4gIHB1YmxpYyBmaWx0ZXI6IHN0cmluZyA9ICcnXG5cbiAgaGlkZSA9IGRlYm91bmNlKCgpID0+IHtcbiAgICB0aGlzLm9uSGlkZSgpXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH0pXG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJldGUtY29udGV4dC1tZW51JykgY3VzdG9tQXR0cmlidXRlID0gJydcblxuICBASG9zdExpc3RlbmVyKCdtb3VzZW92ZXInKSBwb2ludGVyb3ZlcigpIHtcbiAgICB0aGlzLmhpZGUuY2FuY2VsKClcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJykgcG9pbnRlcmxlYXZlKCkge1xuICAgIHRoaXMuaGlkZS5jYWxsKHRoaXMuZGVsYXkpXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmNkci5kZXRhY2goKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMucmVuZGVyZWQoKSlcbiAgfVxuXG4gIHNldEZpbHRlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5maWx0ZXIgPSB2YWx1ZVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgZ2V0SXRlbXMoKSB7XG4gICAgY29uc3QgZmlsdGVyUmVnZXhwID0gbmV3IFJlZ0V4cCh0aGlzLmZpbHRlciwgJ2knKVxuICAgIGNvbnN0IGZpbHRlcmVkTGlzdCA9IHRoaXMuaXRlbXMuZmlsdGVyKGl0ZW0gPT4gKFxuICAgICAgaXRlbS5sYWJlbC5tYXRjaChmaWx0ZXJSZWdleHApXG4gICAgKSlcblxuICAgIHJldHVybiBmaWx0ZXJlZExpc3RcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhpZGUpIHRoaXMuaGlkZS5jYW5jZWwoKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYmxvY2tcIiAqbmdJZj1cInNlYXJjaEJhclwiPlxuICA8Y29udGV4dC1tZW51LXNlYXJjaCBbdmFsdWVdPVwiZmlsdGVyXCIgKHVwZGF0ZSk9XCJzZXRGaWx0ZXIoJGV2ZW50KVwiPjwvY29udGV4dC1tZW51LXNlYXJjaD5cbjwvZGl2PlxuXG48Y29udGV4dC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0SXRlbXMoKVwiIFtkZWxheV09XCJkZWxheVwiIChzZWxlY3QpPVwiaXRlbS5oYW5kbGVyKClcIiBbc3ViaXRlbXNdPVwiaXRlbS5zdWJpdGVtc1wiXG4gIChoaWRlKT1cIm9uSGlkZSgpXCI+XG4gIHt7IGl0ZW0ubGFiZWwgfX1cbjwvY29udGV4dC1tZW51LWl0ZW0+XG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ContextMenuSearchComponent {
|
|
4
|
+
value;
|
|
5
|
+
update = new EventEmitter();
|
|
6
|
+
static ɵfac = function ContextMenuSearchComponent_Factory(t) { return new (t || ContextMenuSearchComponent)(); };
|
|
7
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContextMenuSearchComponent, selectors: [["context-menu-search"]], inputs: { value: "value" }, outputs: { update: "update" }, decls: 1, vars: 1, consts: [["data-testid", "context-menu-search-input", 1, "search", 3, "value", "input"]], template: function ContextMenuSearchComponent_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
i0.ɵɵelementStart(0, "input", 0);
|
|
9
|
+
i0.ɵɵlistener("input", function ContextMenuSearchComponent_Template_input_input_0_listener($event) { let tmp_b_0; return ctx.update.emit(((tmp_b_0 = $event.target) == null ? null : tmp_b_0.value) || ""); });
|
|
10
|
+
i0.ɵɵelementEnd();
|
|
11
|
+
} if (rf & 2) {
|
|
12
|
+
i0.ɵɵproperty("value", ctx.value);
|
|
13
|
+
} }, styles: [".search[_ngcontent-%COMP%]{color:#fff;padding:1px 8px;border:1px solid white;border-radius:10px;font-size:16px;font-family:serif;width:100%;box-sizing:border-box;background:transparent}"] });
|
|
14
|
+
}
|
|
15
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContextMenuSearchComponent, [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'context-menu-search', template: "<input class=\"search\" [value]=\"value\" (input)=\"update.emit($any($event.target)?.value || '')\"\n data-testid=\"context-menu-search-input\" />\n", styles: [".search{color:#fff;padding:1px 8px;border:1px solid white;border-radius:10px;font-size:16px;font-family:serif;width:100%;box-sizing:border-box;background:transparent}\n"] }]
|
|
18
|
+
}], null, { value: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}], update: [{
|
|
21
|
+
type: Output
|
|
22
|
+
}] }); })();
|
|
23
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContextMenuSearchComponent, { className: "ContextMenuSearchComponent", filePath: "presets/context-menu/components/search/search.component.ts", lineNumber: 8 }); })();
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTcvLnNyYy9wcmVzZXRzL2NvbnRleHQtbWVudS9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbmcxNy8uc3JjL3ByZXNldHMvY29udGV4dC1tZW51L2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU92RSxNQUFNLE9BQU8sMEJBQTBCO0lBQzVCLEtBQUssQ0FBUztJQUNiLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFBO29GQUZsQywwQkFBMEI7NkRBQTFCLDBCQUEwQjtZQ1B2QyxnQ0FDNEM7WUFETix5SEFBUyw4RUFBMEMsRUFBRSxDQUFDLElBQUM7WUFBN0YsaUJBQzRDOztZQUR0QixpQ0FBZTs7O2lGRE94QiwwQkFBMEI7Y0FMdEMsU0FBUzsyQkFDRSxxQkFBcUI7Z0JBS3RCLEtBQUs7a0JBQWIsS0FBSztZQUNJLE1BQU07a0JBQWYsTUFBTTs7a0ZBRkksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29udGV4dC1tZW51LXNlYXJjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2guY29tcG9uZW50LnNhc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZXh0TWVudVNlYXJjaENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHZhbHVlITogc3RyaW5nXG4gIEBPdXRwdXQoKSB1cGRhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxufVxuIiwiPGlucHV0IGNsYXNzPVwic2VhcmNoXCIgW3ZhbHVlXT1cInZhbHVlXCIgKGlucHV0KT1cInVwZGF0ZS5lbWl0KCRhbnkoJGV2ZW50LnRhcmdldCk/LnZhbHVlIHx8ICcnKVwiXG4gIGRhdGEtdGVzdGlkPVwiY29udGV4dC1tZW51LXNlYXJjaC1pbnB1dFwiIC8+XG4iXX0=
|