@operato/flow 9.0.0-beta.56 → 9.0.0-beta.62

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.
Files changed (117) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/tsconfig.tsbuildinfo +1 -1
  3. package/package.json +4 -4
  4. package/dist/src/api/tasks.d.ts +0 -7
  5. package/dist/src/api/tasks.js +0 -2517
  6. package/dist/src/api/tasks.js.map +0 -1
  7. package/dist/src/base/anchor-instance.d.ts +0 -30
  8. package/dist/src/base/anchor-instance.js +0 -82
  9. package/dist/src/base/anchor-instance.js.map +0 -1
  10. package/dist/src/base/flow-edge-instance.d.ts +0 -31
  11. package/dist/src/base/flow-edge-instance.js +0 -170
  12. package/dist/src/base/flow-edge-instance.js.map +0 -1
  13. package/dist/src/base/flow-node-abstract.d.ts +0 -49
  14. package/dist/src/base/flow-node-abstract.js +0 -199
  15. package/dist/src/base/flow-node-abstract.js.map +0 -1
  16. package/dist/src/components/flow-debug-panel.d.ts +0 -22
  17. package/dist/src/components/flow-debug-panel.js +0 -156
  18. package/dist/src/components/flow-debug-panel.js.map +0 -1
  19. package/dist/src/components/flow-executor.d.ts +0 -29
  20. package/dist/src/components/flow-executor.js +0 -88
  21. package/dist/src/components/flow-executor.js.map +0 -1
  22. package/dist/src/components/flow-options-builder.d.ts +0 -18
  23. package/dist/src/components/flow-options-builder.js +0 -145
  24. package/dist/src/components/flow-options-builder.js.map +0 -1
  25. package/dist/src/components/flow-properties-panel.d.ts +0 -22
  26. package/dist/src/components/flow-properties-panel.js +0 -232
  27. package/dist/src/components/flow-properties-panel.js.map +0 -1
  28. package/dist/src/components/flow-side-panel.d.ts +0 -9
  29. package/dist/src/components/flow-side-panel.js +0 -83
  30. package/dist/src/components/flow-side-panel.js.map +0 -1
  31. package/dist/src/components/flow-sidebar.d.ts +0 -7
  32. package/dist/src/components/flow-sidebar.js +0 -84
  33. package/dist/src/components/flow-sidebar.js.map +0 -1
  34. package/dist/src/components/flow-toolbar.d.ts +0 -15
  35. package/dist/src/components/flow-toolbar.js +0 -161
  36. package/dist/src/components/flow-toolbar.js.map +0 -1
  37. package/dist/src/components/property-editor.d.ts +0 -34
  38. package/dist/src/components/property-editor.js +0 -76
  39. package/dist/src/components/property-editor.js.map +0 -1
  40. package/dist/src/components/property-panel/data-mapper-popup.d.ts +0 -11
  41. package/dist/src/components/property-panel/data-mapper-popup.js +0 -86
  42. package/dist/src/components/property-panel/data-mapper-popup.js.map +0 -1
  43. package/dist/src/components/property-panel/task-selection-popup.d.ts +0 -10
  44. package/dist/src/components/property-panel/task-selection-popup.js +0 -106
  45. package/dist/src/components/property-panel/task-selection-popup.js.map +0 -1
  46. package/dist/src/context/flow-context.d.ts +0 -21
  47. package/dist/src/context/flow-context.js +0 -3
  48. package/dist/src/context/flow-context.js.map +0 -1
  49. package/dist/src/context/flow-debug-context.d.ts +0 -16
  50. package/dist/src/context/flow-debug-context.js +0 -3
  51. package/dist/src/context/flow-debug-context.js.map +0 -1
  52. package/dist/src/context/flow-edit-context.d.ts +0 -11
  53. package/dist/src/context/flow-edit-context.js +0 -3
  54. package/dist/src/context/flow-edit-context.js.map +0 -1
  55. package/dist/src/handlers/dnd-event-handler.d.ts +0 -9
  56. package/dist/src/handlers/dnd-event-handler.js +0 -41
  57. package/dist/src/handlers/dnd-event-handler.js.map +0 -1
  58. package/dist/src/handlers/flow-event-handler.d.ts +0 -20
  59. package/dist/src/handlers/flow-event-handler.js +0 -75
  60. package/dist/src/handlers/flow-event-handler.js.map +0 -1
  61. package/dist/src/handlers/keydown-event-handler.d.ts +0 -6
  62. package/dist/src/handlers/keydown-event-handler.js +0 -24
  63. package/dist/src/handlers/keydown-event-handler.js.map +0 -1
  64. package/dist/src/handlers/pointer-event-handler.d.ts +0 -9
  65. package/dist/src/handlers/pointer-event-handler.js +0 -118
  66. package/dist/src/handlers/pointer-event-handler.js.map +0 -1
  67. package/dist/src/index.d.ts +0 -2
  68. package/dist/src/index.js +0 -3
  69. package/dist/src/index.js.map +0 -1
  70. package/dist/src/nodes/decision.d.ts +0 -16
  71. package/dist/src/nodes/decision.js +0 -43
  72. package/dist/src/nodes/decision.js.map +0 -1
  73. package/dist/src/nodes/end-event.d.ts +0 -14
  74. package/dist/src/nodes/end-event.js +0 -47
  75. package/dist/src/nodes/end-event.js.map +0 -1
  76. package/dist/src/nodes/index.d.ts +0 -5
  77. package/dist/src/nodes/index.js +0 -19
  78. package/dist/src/nodes/index.js.map +0 -1
  79. package/dist/src/nodes/intermediate-event.d.ts +0 -14
  80. package/dist/src/nodes/intermediate-event.js +0 -52
  81. package/dist/src/nodes/intermediate-event.js.map +0 -1
  82. package/dist/src/nodes/iterator.d.ts +0 -12
  83. package/dist/src/nodes/iterator.js +0 -29
  84. package/dist/src/nodes/iterator.js.map +0 -1
  85. package/dist/src/nodes/select.d.ts +0 -17
  86. package/dist/src/nodes/select.js +0 -71
  87. package/dist/src/nodes/select.js.map +0 -1
  88. package/dist/src/nodes/start-event.d.ts +0 -15
  89. package/dist/src/nodes/start-event.js +0 -46
  90. package/dist/src/nodes/start-event.js.map +0 -1
  91. package/dist/src/nodes/subflow.d.ts +0 -12
  92. package/dist/src/nodes/subflow.js +0 -30
  93. package/dist/src/nodes/subflow.js.map +0 -1
  94. package/dist/src/nodes/task.d.ts +0 -17
  95. package/dist/src/nodes/task.js +0 -60
  96. package/dist/src/nodes/task.js.map +0 -1
  97. package/dist/src/ox-flow-editor.d.ts +0 -94
  98. package/dist/src/ox-flow-editor.js +0 -426
  99. package/dist/src/ox-flow-editor.js.map +0 -1
  100. package/dist/src/ox-flow-monitor.d.ts +0 -24
  101. package/dist/src/ox-flow-monitor.js +0 -117
  102. package/dist/src/ox-flow-monitor.js.map +0 -1
  103. package/dist/src/property-editors/ox-input-anchors.d.ts +0 -12
  104. package/dist/src/property-editors/ox-input-anchors.js +0 -163
  105. package/dist/src/property-editors/ox-input-anchors.js.map +0 -1
  106. package/dist/src/property-editors/ox-property-editor-anchors.d.ts +0 -6
  107. package/dist/src/property-editors/ox-property-editor-anchors.js +0 -25
  108. package/dist/src/property-editors/ox-property-editor-anchors.js.map +0 -1
  109. package/dist/src/types.d.ts +0 -97
  110. package/dist/src/types.js +0 -2
  111. package/dist/src/types.js.map +0 -1
  112. package/dist/src/utils/generate-mapping-scheme.d.ts +0 -6
  113. package/dist/src/utils/generate-mapping-scheme.js +0 -50
  114. package/dist/src/utils/generate-mapping-scheme.js.map +0 -1
  115. package/dist/stories/ox-flow-editor.stories.d.ts +0 -24
  116. package/dist/stories/ox-flow-editor.stories.js +0 -249
  117. package/dist/stories/ox-flow-editor.stories.js.map +0 -1
@@ -1,161 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { LitElement, html, css } from 'lit';
3
- import { customElement, state } from 'lit/decorators.js';
4
- import { consume } from '@lit/context';
5
- import { flowContext } from '../context/flow-context.js';
6
- import { flowEditContext } from '../context/flow-edit-context.js';
7
- import { flowDebugContext } from '../context/flow-debug-context.js';
8
- let FlowToolbar = class FlowToolbar extends LitElement {
9
- constructor() {
10
- super(...arguments);
11
- this.currentMode = 'edit';
12
- }
13
- render() {
14
- var _a, _b, _c, _d, _e, _f, _g, _h;
15
- const mode = this.currentMode;
16
- const debugMode = mode === 'debug';
17
- return html `
18
- <div class="mode">
19
- <md-icon @click=${this.toggleMode}>${mode == 'edit' ? 'edit' : 'bug_report'}</md-icon>
20
- </div>
21
-
22
- <div class="subtools">
23
- ${debugMode
24
- ? html `
25
- <!-- 기본 실행 컨트롤 -->
26
- <md-icon @click=${(_a = this.flowDebugContext) === null || _a === void 0 ? void 0 : _a.executeFlow}>play_arrow</md-icon>
27
- <md-icon @click=${(_b = this.flowDebugContext) === null || _b === void 0 ? void 0 : _b.pauseFlow}>pause</md-icon>
28
- <md-icon @click=${(_c = this.flowDebugContext) === null || _c === void 0 ? void 0 : _c.stopFlow}>stop</md-icon>
29
-
30
- <!-- 디버깅 스텝 실행 기능 -->
31
- <div class="debug-tools">
32
- <md-icon @click=${(_d = this.flowDebugContext) === null || _d === void 0 ? void 0 : _d.stepOver} title="Step Over">arrow_forward</md-icon>
33
- <md-icon @click=${(_e = this.flowDebugContext) === null || _e === void 0 ? void 0 : _e.stepInto} title="Step Into">call_split</md-icon>
34
- <md-icon @click=${(_f = this.flowDebugContext) === null || _f === void 0 ? void 0 : _f.stepOut} title="Step Out">exit_to_app</md-icon>
35
- <md-icon @click=${(_g = this.flowDebugContext) === null || _g === void 0 ? void 0 : _g.continueExecution} title="Continue">fast_forward</md-icon>
36
- </div>
37
-
38
- <!-- 브레이크포인트 관리 -->
39
- <div class="breakpoint-toggle" @click=${this.toggleBreakpoint}>
40
- <span>Toggle Breakpoint</span>
41
- <md-icon>${this.hasBreakpoint ? 'radio_button_checked' : 'radio_button_unchecked'}</md-icon>
42
- </div>
43
- `
44
- : html ` <md-icon @click=${(_h = this.flowEditContext) === null || _h === void 0 ? void 0 : _h.runLayout}>graph_4</md-icon> `}
45
- </div>
46
- `;
47
- }
48
- /** 모드 전환 */
49
- toggleMode() {
50
- var _a;
51
- this.currentMode = this.currentMode === 'edit' ? 'debug' : 'edit';
52
- (_a = this.flowContext) === null || _a === void 0 ? void 0 : _a.setMode(this.currentMode);
53
- }
54
- /** 브레이크포인트 설정 / 해제 */
55
- toggleBreakpoint() {
56
- var _a;
57
- if (!this.flowDebugContext || !((_a = this.flowContext) === null || _a === void 0 ? void 0 : _a.selected))
58
- return;
59
- const nodeId = this.flowContext.selected.id;
60
- if (this.flowDebugContext.breakpoints.has(nodeId)) {
61
- this.flowDebugContext.breakpoints.delete(nodeId);
62
- }
63
- else {
64
- this.flowDebugContext.breakpoints.add(nodeId);
65
- }
66
- this.requestUpdate();
67
- }
68
- /** 현재 선택된 노드가 브레이크포인트인지 여부 */
69
- get hasBreakpoint() {
70
- var _a, _b;
71
- return ((_a = this.flowContext) === null || _a === void 0 ? void 0 : _a.selected) ? (_b = this.flowDebugContext) === null || _b === void 0 ? void 0 : _b.breakpoints.has(this.flowContext.selected.id) : false;
72
- }
73
- };
74
- FlowToolbar.styles = css `
75
- :host {
76
- display: flex;
77
- flex-direction: column;
78
- gap: 10px;
79
- }
80
-
81
- div.mode {
82
- background: #f9f9f9;
83
- border-radius: 8px;
84
- padding: 8px;
85
- box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
86
- }
87
-
88
- div.subtools {
89
- display: flex;
90
- flex-direction: column;
91
- gap: 8px;
92
- background: #ffffff;
93
- border-radius: 8px;
94
- padding: 8px;
95
- box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
96
- }
97
-
98
- md-icon {
99
- cursor: pointer;
100
- transition: transform 0.2s;
101
- color: #001d84;
102
- font-variation-settings:
103
- 'FILL' 1,
104
- 'wght' 400,
105
- 'GRAD' 0,
106
- 'opsz' 48;
107
- }
108
-
109
- md-icon:hover {
110
- transform: scale(1.1);
111
- }
112
-
113
- .subtools md-icon {
114
- color: #007bff;
115
- }
116
-
117
- .debug-tools {
118
- display: flex;
119
- flex-direction: column;
120
- gap: 6px;
121
- background: #eef5ff;
122
- padding: 8px;
123
- border-radius: 8px;
124
- }
125
-
126
- .debug-tools md-icon {
127
- color: #ff9800;
128
- }
129
-
130
- .breakpoint-toggle {
131
- display: flex;
132
- justify-content: space-between;
133
- align-items: center;
134
- padding: 6px;
135
- background: #f5f5f5;
136
- border-radius: 6px;
137
- cursor: pointer;
138
- font-size: 14px;
139
- }
140
-
141
- .breakpoint-toggle:hover {
142
- background: #ddd;
143
- }
144
- `;
145
- __decorate([
146
- consume({ context: flowContext, subscribe: true })
147
- ], FlowToolbar.prototype, "flowContext", void 0);
148
- __decorate([
149
- consume({ context: flowDebugContext, subscribe: true })
150
- ], FlowToolbar.prototype, "flowDebugContext", void 0);
151
- __decorate([
152
- consume({ context: flowEditContext, subscribe: true })
153
- ], FlowToolbar.prototype, "flowEditContext", void 0);
154
- __decorate([
155
- state()
156
- ], FlowToolbar.prototype, "currentMode", void 0);
157
- FlowToolbar = __decorate([
158
- customElement('flow-toolbar')
159
- ], FlowToolbar);
160
- export { FlowToolbar };
161
- //# sourceMappingURL=flow-toolbar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flow-toolbar.js","sourceRoot":"","sources":["../../../src/components/flow-toolbar.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, css } from 'lit'\nimport { customElement, state } from 'lit/decorators.js'\nimport { consume } from '@lit/context'\n\nimport { flowContext, FlowContextType } from '../context/flow-context.js'\nimport { flowEditContext, FlowEditContextType } from '../context/flow-edit-context.js'\nimport { flowDebugContext, FlowDebugContextType } from '../context/flow-debug-context.js'\n\n@customElement('flow-toolbar')\nexport class FlowToolbar extends LitElement {\n static styles = css`\n :host {\n display: flex;\n flex-direction: column;\n gap: 10px;\n }\n\n div.mode {\n background: #f9f9f9;\n border-radius: 8px;\n padding: 8px;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n }\n\n div.subtools {\n display: flex;\n flex-direction: column;\n gap: 8px;\n background: #ffffff;\n border-radius: 8px;\n padding: 8px;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n }\n\n md-icon {\n cursor: pointer;\n transition: transform 0.2s;\n color: #001d84;\n font-variation-settings:\n 'FILL' 1,\n 'wght' 400,\n 'GRAD' 0,\n 'opsz' 48;\n }\n\n md-icon:hover {\n transform: scale(1.1);\n }\n\n .subtools md-icon {\n color: #007bff;\n }\n\n .debug-tools {\n display: flex;\n flex-direction: column;\n gap: 6px;\n background: #eef5ff;\n padding: 8px;\n border-radius: 8px;\n }\n\n .debug-tools md-icon {\n color: #ff9800;\n }\n\n .breakpoint-toggle {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 6px;\n background: #f5f5f5;\n border-radius: 6px;\n cursor: pointer;\n font-size: 14px;\n }\n\n .breakpoint-toggle:hover {\n background: #ddd;\n }\n `\n\n @consume({ context: flowContext, subscribe: true }) private flowContext?: FlowContextType\n @consume({ context: flowDebugContext, subscribe: true }) private flowDebugContext?: FlowDebugContextType\n @consume({ context: flowEditContext, subscribe: true }) private flowEditContext?: FlowEditContextType\n\n @state() private currentMode: 'edit' | 'debug' = 'edit'\n\n render() {\n const mode = this.currentMode\n const debugMode = mode === 'debug'\n\n return html`\n <div class=\"mode\">\n <md-icon @click=${this.toggleMode}>${mode == 'edit' ? 'edit' : 'bug_report'}</md-icon>\n </div>\n\n <div class=\"subtools\">\n ${debugMode\n ? html`\n <!-- 기본 실행 컨트롤 -->\n <md-icon @click=${this.flowDebugContext?.executeFlow}>play_arrow</md-icon>\n <md-icon @click=${this.flowDebugContext?.pauseFlow}>pause</md-icon>\n <md-icon @click=${this.flowDebugContext?.stopFlow}>stop</md-icon>\n\n <!-- 디버깅 스텝 실행 기능 -->\n <div class=\"debug-tools\">\n <md-icon @click=${this.flowDebugContext?.stepOver} title=\"Step Over\">arrow_forward</md-icon>\n <md-icon @click=${this.flowDebugContext?.stepInto} title=\"Step Into\">call_split</md-icon>\n <md-icon @click=${this.flowDebugContext?.stepOut} title=\"Step Out\">exit_to_app</md-icon>\n <md-icon @click=${this.flowDebugContext?.continueExecution} title=\"Continue\">fast_forward</md-icon>\n </div>\n\n <!-- 브레이크포인트 관리 -->\n <div class=\"breakpoint-toggle\" @click=${this.toggleBreakpoint}>\n <span>Toggle Breakpoint</span>\n <md-icon>${this.hasBreakpoint ? 'radio_button_checked' : 'radio_button_unchecked'}</md-icon>\n </div>\n `\n : html` <md-icon @click=${this.flowEditContext?.runLayout}>graph_4</md-icon> `}\n </div>\n `\n }\n\n /** 모드 전환 */\n private toggleMode() {\n this.currentMode = this.currentMode === 'edit' ? 'debug' : 'edit'\n this.flowContext?.setMode(this.currentMode)\n }\n\n /** 브레이크포인트 설정 / 해제 */\n private toggleBreakpoint() {\n if (!this.flowDebugContext || !this.flowContext?.selected) return\n\n const nodeId = this.flowContext.selected.id\n\n if (this.flowDebugContext.breakpoints.has(nodeId)) {\n this.flowDebugContext.breakpoints.delete(nodeId)\n } else {\n this.flowDebugContext.breakpoints.add(nodeId)\n }\n\n this.requestUpdate()\n }\n\n /** 현재 선택된 노드가 브레이크포인트인지 여부 */\n private get hasBreakpoint() {\n return this.flowContext?.selected ? this.flowDebugContext?.breakpoints.has(this.flowContext.selected.id) : false\n }\n}\n"]}
@@ -1,34 +0,0 @@
1
- import '@operato/property-editor/ox-property-editor-3axis.js';
2
- import '@operato/property-editor/ox-property-editor-3dish.js';
3
- import '@operato/property-editor/ox-property-editor-legend.js';
4
- import '@operato/property-editor/ox-property-editor-number.js';
5
- import '@operato/property-editor/ox-property-editor-unit-number.js';
6
- import '@operato/property-editor/ox-property-editor-password.js';
7
- import '@operato/property-editor/ox-property-editor-action.js';
8
- import '@operato/property-editor/ox-property-editor-angle.js';
9
- import '@operato/property-editor/ox-property-editor-string.js';
10
- import '@operato/property-editor/ox-property-editor-data.js';
11
- import '@operato/property-editor/ox-property-editor-date.js';
12
- import '@operato/property-editor/ox-property-editor-month.js';
13
- import '@operato/property-editor/ox-property-editor-time.js';
14
- import '@operato/property-editor/ox-property-editor-datetime.js';
15
- import '@operato/property-editor/ox-property-editor-checkbox.js';
16
- import '@operato/property-editor/ox-property-editor-options.js';
17
- import '@operato/property-editor/ox-property-editor-select.js';
18
- import '@operato/property-editor/ox-property-editor-scene-component-id.js';
19
- import '@operato/property-editor/ox-property-editor-color.js';
20
- import '@operato/property-editor/ox-property-editor-multiple-colors.js';
21
- import '@operato/property-editor/ox-property-editor-solid-colorstops.js';
22
- import '@operato/property-editor/ox-property-editor-gradient-colorstops.js';
23
- import '@operato/property-editor/ox-property-editor-textarea.js';
24
- import '@operato/property-editor/ox-property-editor-table.js';
25
- import '@operato/property-editor/ox-property-editor-key-values.js';
26
- import '@operato/property-editor/ox-property-editor-partition-keys.js';
27
- import '@operato/property-editor/ox-property-editor-value-map.js';
28
- import '@operato/property-editor/ox-property-editor-value-ranges.js';
29
- import '@operato/property-editor/ox-property-editor-hashtags.js';
30
- import '@operato/property-editor/ox-property-editor-image.js';
31
- import '@operato/property-editor/ox-property-editor-file.js';
32
- import '@operato/attachment/ox-property-editor-attachment-selector.js';
33
- import '@operato/attachment/ox-property-editor-image-selector.js';
34
- import '@operato/font/ox-property-editor-font-selector.js';
@@ -1,76 +0,0 @@
1
- import '@operato/property-editor/ox-property-editor-3axis.js';
2
- import '@operato/property-editor/ox-property-editor-3dish.js';
3
- import '@operato/property-editor/ox-property-editor-legend.js';
4
- import '@operato/property-editor/ox-property-editor-number.js';
5
- import '@operato/property-editor/ox-property-editor-unit-number.js';
6
- import '@operato/property-editor/ox-property-editor-password.js';
7
- import '@operato/property-editor/ox-property-editor-action.js';
8
- import '@operato/property-editor/ox-property-editor-angle.js';
9
- import '@operato/property-editor/ox-property-editor-string.js';
10
- import '@operato/property-editor/ox-property-editor-data.js';
11
- import '@operato/property-editor/ox-property-editor-date.js';
12
- import '@operato/property-editor/ox-property-editor-month.js';
13
- import '@operato/property-editor/ox-property-editor-time.js';
14
- import '@operato/property-editor/ox-property-editor-datetime.js';
15
- import '@operato/property-editor/ox-property-editor-checkbox.js';
16
- import '@operato/property-editor/ox-property-editor-options.js';
17
- import '@operato/property-editor/ox-property-editor-select.js';
18
- import '@operato/property-editor/ox-property-editor-scene-component-id.js';
19
- import '@operato/property-editor/ox-property-editor-color.js';
20
- import '@operato/property-editor/ox-property-editor-multiple-colors.js';
21
- import '@operato/property-editor/ox-property-editor-solid-colorstops.js';
22
- import '@operato/property-editor/ox-property-editor-gradient-colorstops.js';
23
- import '@operato/property-editor/ox-property-editor-textarea.js';
24
- import '@operato/property-editor/ox-property-editor-table.js';
25
- import '@operato/property-editor/ox-property-editor-key-values.js';
26
- import '@operato/property-editor/ox-property-editor-partition-keys.js';
27
- import '@operato/property-editor/ox-property-editor-value-map.js';
28
- import '@operato/property-editor/ox-property-editor-value-ranges.js';
29
- import '@operato/property-editor/ox-property-editor-hashtags.js';
30
- import '@operato/property-editor/ox-property-editor-image.js';
31
- import '@operato/property-editor/ox-property-editor-file.js';
32
- import '@operato/attachment/ox-property-editor-attachment-selector.js';
33
- import '@operato/attachment/ox-property-editor-image-selector.js';
34
- import '@operato/font/ox-property-editor-font-selector.js';
35
- import { OxPropertyEditor } from '@operato/property-editor';
36
- OxPropertyEditor.register({
37
- legend: 'ox-property-editor-legend',
38
- number: 'ox-property-editor-number',
39
- 'unit-number': 'ox-property-editor-unit-number',
40
- slider: 'ox-property-editor-range',
41
- password: 'ox-property-editor-password',
42
- action: 'ox-property-editor-action',
43
- angle: 'ox-property-editor-angle',
44
- string: 'ox-property-editor-string',
45
- textarea: 'ox-property-editor-textarea',
46
- javascript: 'ox-property-editor-textarea',
47
- script: 'ox-property-editor-textarea',
48
- checkbox: 'ox-property-editor-checkbox',
49
- boolean: 'ox-property-editor-checkbox',
50
- select: 'ox-property-editor-select',
51
- date: 'ox-property-editor-date',
52
- month: 'ox-property-editor-month',
53
- datetime: 'ox-property-editor-datetime',
54
- time: 'ox-property-editor-time',
55
- options: 'ox-property-editor-options',
56
- data: 'ox-property-editor-data',
57
- file: 'ox-property-editor-file',
58
- image: 'ox-property-editor-image',
59
- 'range-input': 'ox-property-editor-range',
60
- 'attachment-selector': 'ox-property-editor-attachment-selector',
61
- 'gltf-selector': 'ox-property-editor-attachment-selector',
62
- 'image-selector': 'ox-property-editor-image-selector',
63
- color: 'ox-property-editor-color',
64
- 'solid-color-stops': 'ox-property-editor-solid-colorstops',
65
- 'gradient-color-stops': 'ox-property-editor-gradient-colorstops',
66
- 'multiple-color': 'ox-property-editor-multiple-colors',
67
- map: 'ox-property-editor-value-map',
68
- range: 'ox-property-editor-value-ranges',
69
- 'editor-table': 'ox-property-editor-table',
70
- 'id-input': 'ox-property-editor-scene-component-id',
71
- 'font-selector': 'ox-property-editor-font-selector',
72
- 'partition-keys': 'ox-property-editor-partion-keys',
73
- 'key-values': 'ox-property-editor-key-values',
74
- hashtags: 'ox-property-editor-hashtags'
75
- });
76
- //# sourceMappingURL=property-editor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"property-editor.js","sourceRoot":"","sources":["../../../src/components/property-editor.ts"],"names":[],"mappings":"AAAA,OAAO,sDAAsD,CAAA;AAC7D,OAAO,sDAAsD,CAAA;AAC7D,OAAO,uDAAuD,CAAA;AAC9D,OAAO,uDAAuD,CAAA;AAC9D,OAAO,4DAA4D,CAAA;AACnE,OAAO,yDAAyD,CAAA;AAChE,OAAO,uDAAuD,CAAA;AAC9D,OAAO,sDAAsD,CAAA;AAC7D,OAAO,uDAAuD,CAAA;AAC9D,OAAO,qDAAqD,CAAA;AAC5D,OAAO,qDAAqD,CAAA;AAC5D,OAAO,sDAAsD,CAAA;AAC7D,OAAO,qDAAqD,CAAA;AAC5D,OAAO,yDAAyD,CAAA;AAChE,OAAO,yDAAyD,CAAA;AAChE,OAAO,wDAAwD,CAAA;AAC/D,OAAO,uDAAuD,CAAA;AAC9D,OAAO,mEAAmE,CAAA;AAC1E,OAAO,sDAAsD,CAAA;AAC7D,OAAO,gEAAgE,CAAA;AACvE,OAAO,iEAAiE,CAAA;AACxE,OAAO,oEAAoE,CAAA;AAC3E,OAAO,yDAAyD,CAAA;AAChE,OAAO,sDAAsD,CAAA;AAC7D,OAAO,2DAA2D,CAAA;AAClE,OAAO,+DAA+D,CAAA;AACtE,OAAO,0DAA0D,CAAA;AACjE,OAAO,6DAA6D,CAAA;AACpE,OAAO,yDAAyD,CAAA;AAChE,OAAO,sDAAsD,CAAA;AAC7D,OAAO,qDAAqD,CAAA;AAC5D,OAAO,+DAA+D,CAAA;AACtE,OAAO,0DAA0D,CAAA;AACjE,OAAO,mDAAmD,CAAA;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3D,gBAAgB,CAAC,QAAQ,CAAC;IACxB,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,2BAA2B;IACnC,aAAa,EAAE,gCAAgC;IAC/C,MAAM,EAAE,0BAA0B;IAClC,QAAQ,EAAE,6BAA6B;IACvC,MAAM,EAAE,2BAA2B;IACnC,KAAK,EAAE,0BAA0B;IACjC,MAAM,EAAE,2BAA2B;IACnC,QAAQ,EAAE,6BAA6B;IACvC,UAAU,EAAE,6BAA6B;IACzC,MAAM,EAAE,6BAA6B;IACrC,QAAQ,EAAE,6BAA6B;IACvC,OAAO,EAAE,6BAA6B;IACtC,MAAM,EAAE,2BAA2B;IACnC,IAAI,EAAE,yBAAyB;IAC/B,KAAK,EAAE,0BAA0B;IACjC,QAAQ,EAAE,6BAA6B;IACvC,IAAI,EAAE,yBAAyB;IAC/B,OAAO,EAAE,4BAA4B;IACrC,IAAI,EAAE,yBAAyB;IAC/B,IAAI,EAAE,yBAAyB;IAC/B,KAAK,EAAE,0BAA0B;IACjC,aAAa,EAAE,0BAA0B;IACzC,qBAAqB,EAAE,wCAAwC;IAC/D,eAAe,EAAE,wCAAwC;IACzD,gBAAgB,EAAE,mCAAmC;IACrD,KAAK,EAAE,0BAA0B;IACjC,mBAAmB,EAAE,qCAAqC;IAC1D,sBAAsB,EAAE,wCAAwC;IAChE,gBAAgB,EAAE,oCAAoC;IACtD,GAAG,EAAE,8BAA8B;IACnC,KAAK,EAAE,iCAAiC;IACxC,cAAc,EAAE,0BAA0B;IAC1C,UAAU,EAAE,uCAAuC;IACnD,eAAe,EAAE,kCAAkC;IACnD,gBAAgB,EAAE,iCAAiC;IACnD,YAAY,EAAE,+BAA+B;IAC7C,QAAQ,EAAE,6BAA6B;CACxC,CAAC,CAAA","sourcesContent":["import '@operato/property-editor/ox-property-editor-3axis.js'\nimport '@operato/property-editor/ox-property-editor-3dish.js'\nimport '@operato/property-editor/ox-property-editor-legend.js'\nimport '@operato/property-editor/ox-property-editor-number.js'\nimport '@operato/property-editor/ox-property-editor-unit-number.js'\nimport '@operato/property-editor/ox-property-editor-password.js'\nimport '@operato/property-editor/ox-property-editor-action.js'\nimport '@operato/property-editor/ox-property-editor-angle.js'\nimport '@operato/property-editor/ox-property-editor-string.js'\nimport '@operato/property-editor/ox-property-editor-data.js'\nimport '@operato/property-editor/ox-property-editor-date.js'\nimport '@operato/property-editor/ox-property-editor-month.js'\nimport '@operato/property-editor/ox-property-editor-time.js'\nimport '@operato/property-editor/ox-property-editor-datetime.js'\nimport '@operato/property-editor/ox-property-editor-checkbox.js'\nimport '@operato/property-editor/ox-property-editor-options.js'\nimport '@operato/property-editor/ox-property-editor-select.js'\nimport '@operato/property-editor/ox-property-editor-scene-component-id.js'\nimport '@operato/property-editor/ox-property-editor-color.js'\nimport '@operato/property-editor/ox-property-editor-multiple-colors.js'\nimport '@operato/property-editor/ox-property-editor-solid-colorstops.js'\nimport '@operato/property-editor/ox-property-editor-gradient-colorstops.js'\nimport '@operato/property-editor/ox-property-editor-textarea.js'\nimport '@operato/property-editor/ox-property-editor-table.js'\nimport '@operato/property-editor/ox-property-editor-key-values.js'\nimport '@operato/property-editor/ox-property-editor-partition-keys.js'\nimport '@operato/property-editor/ox-property-editor-value-map.js'\nimport '@operato/property-editor/ox-property-editor-value-ranges.js'\nimport '@operato/property-editor/ox-property-editor-hashtags.js'\nimport '@operato/property-editor/ox-property-editor-image.js'\nimport '@operato/property-editor/ox-property-editor-file.js'\nimport '@operato/attachment/ox-property-editor-attachment-selector.js'\nimport '@operato/attachment/ox-property-editor-image-selector.js'\nimport '@operato/font/ox-property-editor-font-selector.js'\n\nimport { OxPropertyEditor } from '@operato/property-editor'\n\nOxPropertyEditor.register({\n legend: 'ox-property-editor-legend',\n number: 'ox-property-editor-number',\n 'unit-number': 'ox-property-editor-unit-number',\n slider: 'ox-property-editor-range',\n password: 'ox-property-editor-password',\n action: 'ox-property-editor-action',\n angle: 'ox-property-editor-angle',\n string: 'ox-property-editor-string',\n textarea: 'ox-property-editor-textarea',\n javascript: 'ox-property-editor-textarea',\n script: 'ox-property-editor-textarea',\n checkbox: 'ox-property-editor-checkbox',\n boolean: 'ox-property-editor-checkbox',\n select: 'ox-property-editor-select',\n date: 'ox-property-editor-date',\n month: 'ox-property-editor-month',\n datetime: 'ox-property-editor-datetime',\n time: 'ox-property-editor-time',\n options: 'ox-property-editor-options',\n data: 'ox-property-editor-data',\n file: 'ox-property-editor-file',\n image: 'ox-property-editor-image',\n 'range-input': 'ox-property-editor-range',\n 'attachment-selector': 'ox-property-editor-attachment-selector',\n 'gltf-selector': 'ox-property-editor-attachment-selector',\n 'image-selector': 'ox-property-editor-image-selector',\n color: 'ox-property-editor-color',\n 'solid-color-stops': 'ox-property-editor-solid-colorstops',\n 'gradient-color-stops': 'ox-property-editor-gradient-colorstops',\n 'multiple-color': 'ox-property-editor-multiple-colors',\n map: 'ox-property-editor-value-map',\n range: 'ox-property-editor-value-ranges',\n 'editor-table': 'ox-property-editor-table',\n 'id-input': 'ox-property-editor-scene-component-id',\n 'font-selector': 'ox-property-editor-font-selector',\n 'partition-keys': 'ox-property-editor-partion-keys',\n 'key-values': 'ox-property-editor-key-values',\n hashtags: 'ox-property-editor-hashtags'\n})\n"]}
@@ -1,11 +0,0 @@
1
- import '@operato/data-mapper';
2
- import { LitElement } from 'lit';
3
- import { FlowEdge, FlowNode } from '../../types.js';
4
- export declare class DataMapperPopup extends LitElement {
5
- static styles: import("lit").CSSResult[];
6
- edge: FlowEdge;
7
- nodes: FlowNode[];
8
- render(): import("lit-html").TemplateResult<1>;
9
- onChangeMappings: (e: CustomEvent) => void;
10
- private updateMapping;
11
- }
@@ -1,86 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import '@operato/data-mapper';
3
- import { LitElement, html, css } from 'lit';
4
- import { customElement, property } from 'lit/decorators.js';
5
- import { CommonHeaderStyles } from '@operato/styles';
6
- import { i18next } from '@operato/i18n';
7
- import { convertNodesToTree, convertSchemaToTree /*convertMappings*/ } from '../../utils/generate-mapping-scheme.js';
8
- let DataMapperPopup = class DataMapperPopup extends LitElement {
9
- constructor() {
10
- super(...arguments);
11
- this.onChangeMappings = (e) => {
12
- e.stopPropagation();
13
- this.edge.dataMappings = e.detail;
14
- };
15
- this.updateMapping = (e) => {
16
- e.stopPropagation();
17
- this.dispatchEvent(new CustomEvent('change', {
18
- detail: this.edge.dataMappings
19
- }));
20
- };
21
- }
22
- render() {
23
- const { toAnchor, dataMappings } = this.edge;
24
- const inputSchema = toAnchor === null || toAnchor === void 0 ? void 0 : toAnchor.node.inputSchema;
25
- const toNode = toAnchor === null || toAnchor === void 0 ? void 0 : toAnchor.node;
26
- const sourceSchema = convertNodesToTree(this.nodes, toNode ? [toNode] : []);
27
- const targetSchema = convertSchemaToTree(inputSchema, toAnchor === null || toAnchor === void 0 ? void 0 : toAnchor.node.label);
28
- return html `
29
- <div class="header">
30
- <div class="title">Function Box</div>
31
- </div>
32
-
33
- <ox-data-mapper
34
- .sourceSchema=${sourceSchema}
35
- .targetSchema=${targetSchema}
36
- .mappings=${dataMappings}
37
- @change=${this.onChangeMappings}
38
- >
39
- </ox-data-mapper>
40
-
41
- <div class="footer">
42
- <div filler></div>
43
- <button @click=${this.updateMapping} done><md-icon>save</md-icon>${i18next.t('button.save')}</button>
44
- </div>
45
- `;
46
- }
47
- };
48
- DataMapperPopup.styles = [
49
- CommonHeaderStyles,
50
- css `
51
- :host {
52
- display: flex;
53
- flex-direction: column;
54
- height: 100%;
55
- background: white;
56
- background-color: var(--md-sys-color-surface);
57
- color: var(--md-sys-color-primary);
58
-
59
- z-index: 1;
60
- }
61
-
62
- .header {
63
- display: flex;
64
- justify-content: space-between;
65
- align-items: center;
66
- margin-bottom: 10px;
67
- }
68
-
69
- ox-data-mapper {
70
- flex: 1;
71
- padding: 0 20px;
72
- overflow-y: auto;
73
- }
74
- `
75
- ];
76
- __decorate([
77
- property({ type: Object })
78
- ], DataMapperPopup.prototype, "edge", void 0);
79
- __decorate([
80
- property({ type: Array })
81
- ], DataMapperPopup.prototype, "nodes", void 0);
82
- DataMapperPopup = __decorate([
83
- customElement('data-mapper-popup')
84
- ], DataMapperPopup);
85
- export { DataMapperPopup };
86
- //# sourceMappingURL=data-mapper-popup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-mapper-popup.js","sourceRoot":"","sources":["../../../../src/components/property-panel/data-mapper-popup.ts"],"names":[],"mappings":";AAAA,OAAO,sBAAsB,CAAA;AAE7B,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAS,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAIvC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAG7G,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QA8DL,qBAAgB,GAAG,CAAC,CAAc,EAAE,EAAE;YACpC,CAAC,CAAC,eAAe,EAAE,CAAA;YAEnB,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,MAAM,CAAA;QACnC,CAAC,CAAA;QAEO,kBAAa,GAAG,CAAC,CAAQ,EAAE,EAAE;YACnC,CAAC,CAAC,eAAe,EAAE,CAAA;YAEnB,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,QAAQ,EAAE;gBACxB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;aAC/B,CAAC,CACH,CAAA;QACH,CAAC,CAAA;IACH,CAAC;IA5CC,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;QAE5C,MAAM,WAAW,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,WAAW,CAAA;QAC9C,MAAM,MAAM,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAA;QAE7B,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC3E,MAAM,YAAY,GAAa,mBAAmB,CAAC,WAAY,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAE,KAAM,CAAC,CAAA;QAExF,OAAO,IAAI,CAAA;;;;;;wBAMS,YAAY;wBACZ,YAAY;oBAChB,YAAY;kBACd,IAAI,CAAC,gBAAgB;;;;;;yBAMd,IAAI,CAAC,aAAa,gCAAgC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;;KAE9F,CAAA;IACH,CAAC;;AA3DM,sBAAM,GAAG;IACd,kBAAkB;IAClB,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;KAwBF;CACF,AA3BY,CA2BZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAgB;AAChB;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;8CAAmB;AA/BlC,eAAe;IAD3B,aAAa,CAAC,mBAAmB,CAAC;GACtB,eAAe,CA6E3B","sourcesContent":["import '@operato/data-mapper'\n\nimport { LitElement, html, css } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\nimport { CommonHeaderStyles } from '@operato/styles'\nimport { i18next } from '@operato/i18n'\nimport { TreeNode } from '@operato/data-mapper'\n\nimport { FlowEdge, FlowNode } from '../../types.js'\nimport { convertNodesToTree, convertSchemaToTree /*convertMappings*/ } from '../../utils/generate-mapping-scheme.js'\n\n@customElement('data-mapper-popup')\nexport class DataMapperPopup extends LitElement {\n static styles = [\n CommonHeaderStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n background-color: var(--md-sys-color-surface);\n color: var(--md-sys-color-primary);\n\n z-index: 1;\n }\n\n .header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n }\n\n ox-data-mapper {\n flex: 1;\n padding: 0 20px;\n overflow-y: auto;\n }\n `\n ]\n\n @property({ type: Object }) edge!: FlowEdge\n @property({ type: Array }) nodes!: FlowNode[]\n\n render() {\n const { toAnchor, dataMappings } = this.edge\n\n const inputSchema = toAnchor?.node.inputSchema\n const toNode = toAnchor?.node\n\n const sourceSchema = convertNodesToTree(this.nodes, toNode ? [toNode] : [])\n const targetSchema: TreeNode = convertSchemaToTree(inputSchema!, toAnchor?.node!.label!)\n\n return html`\n <div class=\"header\">\n <div class=\"title\">Function Box</div>\n </div>\n\n <ox-data-mapper\n .sourceSchema=${sourceSchema}\n .targetSchema=${targetSchema}\n .mappings=${dataMappings}\n @change=${this.onChangeMappings}\n >\n </ox-data-mapper>\n\n <div class=\"footer\">\n <div filler></div>\n <button @click=${this.updateMapping} done><md-icon>save</md-icon>${i18next.t('button.save')}</button>\n </div>\n `\n }\n\n onChangeMappings = (e: CustomEvent) => {\n e.stopPropagation()\n\n this.edge.dataMappings = e.detail\n }\n\n private updateMapping = (e: Event) => {\n e.stopPropagation()\n\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.edge.dataMappings\n })\n )\n }\n}\n"]}
@@ -1,10 +0,0 @@
1
- import { LitElement } from 'lit';
2
- export declare class TaskSelectionPopup extends LitElement {
3
- static styles: import("lit").CSSResult;
4
- private searchQuery;
5
- private selectedGroup;
6
- render(): import("lit-html").TemplateResult<1>;
7
- private onSearchInput;
8
- private toggleGroup;
9
- private selectTask;
10
- }
@@ -1,106 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { LitElement, html, css } from 'lit';
3
- import { customElement, state } from 'lit/decorators.js';
4
- import { TaskGroups } from '../../api/tasks.js';
5
- let TaskSelectionPopup = class TaskSelectionPopup extends LitElement {
6
- constructor() {
7
- super(...arguments);
8
- this.searchQuery = '';
9
- this.selectedGroup = null;
10
- }
11
- render() {
12
- return html `
13
- <div class="header">
14
- <h3>Select a Task</h3>
15
- </div>
16
-
17
- <input class="search-box" type="text" placeholder="Search..." @input=${this.onSearchInput} />
18
-
19
- <div>
20
- ${Object.entries(TaskGroups).map(([group, tasks]) => this.searchQuery && !tasks.some(task => task.name.includes(this.searchQuery))
21
- ? ''
22
- : html `
23
- <div class="task-group" @click=${() => this.toggleGroup(group)}>${group}</div>
24
- ${this.selectedGroup === group
25
- ? html `
26
- <div class="task-list">
27
- ${tasks
28
- .filter(task => task.name.includes(this.searchQuery))
29
- .map(task => html `
30
- <div class="task-item" @click=${() => this.selectTask(task)}>${task.name}</div>
31
- `)}
32
- </div>
33
- `
34
- : ''}
35
- `)}
36
- </div>
37
- `;
38
- }
39
- onSearchInput(e) {
40
- this.searchQuery = e.target.value;
41
- }
42
- toggleGroup(group) {
43
- this.selectedGroup = this.selectedGroup === group ? null : group;
44
- }
45
- selectTask(task) {
46
- this.dispatchEvent(new CustomEvent('task-selected', { detail: task, bubbles: true }));
47
- }
48
- };
49
- TaskSelectionPopup.styles = css `
50
- :host {
51
- display: block;
52
- height: 100%;
53
- background: white;
54
- padding: 20px;
55
- overflow-y: auto;
56
- z-index: 1;
57
- }
58
-
59
- .header {
60
- display: flex;
61
- justify-content: space-between;
62
- align-items: center;
63
- margin-bottom: 10px;
64
- }
65
-
66
- .search-box {
67
- width: 100%;
68
- padding: 8px;
69
- margin-bottom: 10px;
70
- border: 1px solid #ccc;
71
- border-radius: 4px;
72
- }
73
-
74
- .task-group {
75
- font-weight: bold;
76
- padding: 6px;
77
- background-color: #f4f4f4;
78
- border-radius: 4px;
79
- cursor: pointer;
80
- }
81
-
82
- .task-list {
83
- padding-left: 12px;
84
- }
85
-
86
- .task-item {
87
- padding: 4px;
88
- cursor: pointer;
89
- border-radius: 4px;
90
- }
91
-
92
- .task-item:hover {
93
- background-color: #e0e0e0;
94
- }
95
- `;
96
- __decorate([
97
- state()
98
- ], TaskSelectionPopup.prototype, "searchQuery", void 0);
99
- __decorate([
100
- state()
101
- ], TaskSelectionPopup.prototype, "selectedGroup", void 0);
102
- TaskSelectionPopup = __decorate([
103
- customElement('task-selection-popup')
104
- ], TaskSelectionPopup);
105
- export { TaskSelectionPopup };
106
- //# sourceMappingURL=task-selection-popup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-selection-popup.js","sourceRoot":"","sources":["../../../../src/components/property-panel/task-selection-popup.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAIxC,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAA3C;;QAiDY,gBAAW,GAAW,EAAE,CAAA;QACxB,kBAAa,GAAkB,IAAI,CAAA;IA8CtD,CAAC;IA5CC,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;6EAK8D,IAAI,CAAC,aAAa;;;UAGrF,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAClD,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3E,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,CAAA;iDAC+B,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK;kBACrE,IAAI,CAAC,aAAa,KAAK,KAAK;gBAC5B,CAAC,CAAC,IAAI,CAAA;;0BAEE,KAAK;qBACJ,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;qBACpD,GAAG,CACF,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA;8DACsB,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;6BACzE,CACF;;qBAEN;gBACH,CAAC,CAAC,EAAE;eACP,CACN;;KAEJ,CAAA;IACH,CAAC;IAEO,aAAa,CAAC,CAAQ;QAC5B,IAAI,CAAC,WAAW,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAA;IACzD,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;IAClE,CAAC;IAEO,UAAU,CAAC,IAAc;QAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACvF,CAAC;;AA9FM,yBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8ClB,AA9CY,CA8CZ;AAEgB;IAAhB,KAAK,EAAE;uDAAiC;AACxB;IAAhB,KAAK,EAAE;yDAA4C;AAlDzC,kBAAkB;IAD9B,aAAa,CAAC,sBAAsB,CAAC;GACzB,kBAAkB,CAgG9B","sourcesContent":["import { LitElement, html, css } from 'lit'\nimport { customElement, state } from 'lit/decorators.js'\nimport { TaskGroups } from '../../api/tasks.js'\nimport { TaskType } from '../../types.js'\n\n@customElement('task-selection-popup')\nexport class TaskSelectionPopup extends LitElement {\n static styles = css`\n :host {\n display: block;\n height: 100%;\n background: white;\n padding: 20px;\n overflow-y: auto;\n z-index: 1;\n }\n\n .header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n }\n\n .search-box {\n width: 100%;\n padding: 8px;\n margin-bottom: 10px;\n border: 1px solid #ccc;\n border-radius: 4px;\n }\n\n .task-group {\n font-weight: bold;\n padding: 6px;\n background-color: #f4f4f4;\n border-radius: 4px;\n cursor: pointer;\n }\n\n .task-list {\n padding-left: 12px;\n }\n\n .task-item {\n padding: 4px;\n cursor: pointer;\n border-radius: 4px;\n }\n\n .task-item:hover {\n background-color: #e0e0e0;\n }\n `\n\n @state() private searchQuery: string = ''\n @state() private selectedGroup: string | null = null\n\n render() {\n return html`\n <div class=\"header\">\n <h3>Select a Task</h3>\n </div>\n\n <input class=\"search-box\" type=\"text\" placeholder=\"Search...\" @input=${this.onSearchInput} />\n\n <div>\n ${Object.entries(TaskGroups).map(([group, tasks]) =>\n this.searchQuery && !tasks.some(task => task.name.includes(this.searchQuery))\n ? ''\n : html`\n <div class=\"task-group\" @click=${() => this.toggleGroup(group)}>${group}</div>\n ${this.selectedGroup === group\n ? html`\n <div class=\"task-list\">\n ${tasks\n .filter(task => task.name.includes(this.searchQuery))\n .map(\n task => html`\n <div class=\"task-item\" @click=${() => this.selectTask(task)}>${task.name}</div>\n `\n )}\n </div>\n `\n : ''}\n `\n )}\n </div>\n `\n }\n\n private onSearchInput(e: Event) {\n this.searchQuery = (e.target as HTMLInputElement).value\n }\n\n private toggleGroup(group: string) {\n this.selectedGroup = this.selectedGroup === group ? null : group\n }\n\n private selectTask(task: TaskType) {\n this.dispatchEvent(new CustomEvent('task-selected', { detail: task, bubbles: true }))\n }\n}\n"]}
@@ -1,21 +0,0 @@
1
- import { FlowNodeImplementation, EditorMode, FlowNode, FlowEdge, FlowEntity, TaskType } from '../types.js';
2
- export interface FlowContextType {
3
- nodes: FlowNode[];
4
- edges: FlowEdge[];
5
- mode: EditorMode;
6
- setMode: (mode: EditorMode) => void;
7
- addLog: (log: string) => void;
8
- logs: string[];
9
- availableNodeTypes: {
10
- [type: string]: FlowNodeImplementation;
11
- };
12
- setAvailableNodeTypes: (nodeTypes: {
13
- [type: string]: FlowNodeImplementation;
14
- }) => void;
15
- selected: FlowEntity | null;
16
- getTaskTypes(): TaskType[];
17
- getTaskType: (taskType: string) => TaskType;
18
- }
19
- export declare const flowContext: {
20
- __context__: FlowContextType;
21
- };
@@ -1,3 +0,0 @@
1
- import { createContext } from '@lit/context';
2
- export const flowContext = createContext('flow-context');
3
- //# sourceMappingURL=flow-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flow-context.js","sourceRoot":"","sources":["../../../src/context/flow-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAsB5C,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAkB,cAAc,CAAC,CAAA","sourcesContent":["import { createContext } from '@lit/context'\nimport { FlowNodeImplementation, EditorMode, FlowNode, FlowEdge, FlowEntity, TaskType } from '../types.js'\n\nexport interface FlowContextType {\n nodes: FlowNode[]\n edges: FlowEdge[]\n\n mode: EditorMode\n setMode: (mode: EditorMode) => void\n\n addLog: (log: string) => void\n logs: string[]\n\n availableNodeTypes: { [type: string]: FlowNodeImplementation }\n setAvailableNodeTypes: (nodeTypes: { [type: string]: FlowNodeImplementation }) => void\n\n selected: FlowEntity | null\n\n getTaskTypes(): TaskType[]\n getTaskType: (taskType: string) => TaskType\n}\n\nexport const flowContext = createContext<FlowContextType>('flow-context')\n"]}
@@ -1,16 +0,0 @@
1
- export interface FlowDebugContextType {
2
- executeFlow: () => void;
3
- pauseFlow: () => void;
4
- stopFlow: () => void;
5
- stepOver: () => void;
6
- stepInto: () => void;
7
- stepOut: () => void;
8
- continueExecution: () => void;
9
- breakpoints: Set<string>;
10
- setBreakpoint: (nodeId: string) => void;
11
- currentExecutionNode: string | null;
12
- setCurrentExecutionNode: (nodeId: string | null) => void;
13
- }
14
- export declare const flowDebugContext: {
15
- __context__: FlowDebugContextType;
16
- };
@@ -1,3 +0,0 @@
1
- import { createContext } from '@lit/context';
2
- export const flowDebugContext = createContext('flow-debug-context');
3
- //# sourceMappingURL=flow-debug-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flow-debug-context.js","sourceRoot":"","sources":["../../../src/context/flow-debug-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAkB5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAuB,oBAAoB,CAAC,CAAA","sourcesContent":["import { createContext } from '@lit/context'\n\nexport interface FlowDebugContextType {\n executeFlow: () => void\n pauseFlow: () => void\n stopFlow: () => void\n stepOver: () => void\n stepInto: () => void\n stepOut: () => void\n continueExecution: () => void\n\n breakpoints: Set<string>\n setBreakpoint: (nodeId: string) => void\n\n currentExecutionNode: string | null\n setCurrentExecutionNode: (nodeId: string | null) => void\n}\n\nexport const flowDebugContext = createContext<FlowDebugContextType>('flow-debug-context')\n"]}
@@ -1,11 +0,0 @@
1
- import { FlowEntityModel, FlowEntity } from '../types.js';
2
- export interface FlowEditContextType {
3
- runLayout: () => void;
4
- updateEntity: (entity: FlowEntity, model: Partial<FlowEntityModel>) => void;
5
- updateOptions: (entity: FlowEntity, options: {
6
- [key: string]: any;
7
- }) => void;
8
- }
9
- export declare const flowEditContext: {
10
- __context__: FlowEditContextType;
11
- };
@@ -1,3 +0,0 @@
1
- import { createContext } from '@lit/context';
2
- export const flowEditContext = createContext('flow-edit-context');
3
- //# sourceMappingURL=flow-edit-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flow-edit-context.js","sourceRoot":"","sources":["../../../src/context/flow-edit-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAU5C,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAsB,mBAAmB,CAAC,CAAA","sourcesContent":["import { createContext } from '@lit/context'\nimport { FlowNode, FlowEdge, FlowNodeModel, FlowEdgeModel, FlowEntityModel, FlowEntity } from '../types.js'\n\nexport interface FlowEditContextType {\n runLayout: () => void\n\n updateEntity: (entity: FlowEntity, model: Partial<FlowEntityModel>) => void\n updateOptions: (entity: FlowEntity, options: { [key: string]: any }) => void\n}\n\nexport const flowEditContext = createContext<FlowEditContextType>('flow-edit-context')\n"]}
@@ -1,9 +0,0 @@
1
- import { FlowEventHandler } from './flow-event-handler';
2
- export declare class DndEventHandler extends FlowEventHandler {
3
- addEventListeners(): void;
4
- removeEventListeners(): void;
5
- /** 드래그 오버 허용 */
6
- private allowDrop;
7
- /** 노드 드롭 처리 */
8
- private onDrop;
9
- }