@dlh.io/bideux 0.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.
Files changed (90) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +90 -0
  3. package/dist/all.d.ts +14 -0
  4. package/dist/all.js +15 -0
  5. package/dist/all.js.map +1 -0
  6. package/dist/chunk-62IQGXLW.js +11470 -0
  7. package/dist/chunk-62IQGXLW.js.map +1 -0
  8. package/dist/chunk-75CRTQK7.js +315 -0
  9. package/dist/chunk-75CRTQK7.js.map +1 -0
  10. package/dist/chunk-FVO6E22Z.js +225 -0
  11. package/dist/chunk-FVO6E22Z.js.map +1 -0
  12. package/dist/chunk-GRITOB4M.js +337 -0
  13. package/dist/chunk-GRITOB4M.js.map +1 -0
  14. package/dist/chunk-HPFHIZWO.js +40 -0
  15. package/dist/chunk-HPFHIZWO.js.map +1 -0
  16. package/dist/chunk-IMNUQGHE.js +2864 -0
  17. package/dist/chunk-IMNUQGHE.js.map +1 -0
  18. package/dist/chunk-LHD445PJ.js +571 -0
  19. package/dist/chunk-LHD445PJ.js.map +1 -0
  20. package/dist/chunk-LPLBBHOW.js +386 -0
  21. package/dist/chunk-LPLBBHOW.js.map +1 -0
  22. package/dist/chunk-NGM5R3LW.js +881 -0
  23. package/dist/chunk-NGM5R3LW.js.map +1 -0
  24. package/dist/chunk-OMPR32AR.js +1320 -0
  25. package/dist/chunk-OMPR32AR.js.map +1 -0
  26. package/dist/chunk-QDQ5VVTC.js +255 -0
  27. package/dist/chunk-QDQ5VVTC.js.map +1 -0
  28. package/dist/chunk-RRWZKNDZ.js +1004 -0
  29. package/dist/chunk-RRWZKNDZ.js.map +1 -0
  30. package/dist/chunk-SRWIBMEB.js +178 -0
  31. package/dist/chunk-SRWIBMEB.js.map +1 -0
  32. package/dist/element/chunk-AOKCBPMV.js +1646 -0
  33. package/dist/element/chunk-AOKCBPMV.js.map +1 -0
  34. package/dist/element/chunk-B67SYRQP.js +281 -0
  35. package/dist/element/chunk-B67SYRQP.js.map +1 -0
  36. package/dist/element/chunk-FNRVFA2C.js +55 -0
  37. package/dist/element/chunk-FNRVFA2C.js.map +1 -0
  38. package/dist/element/chunk-G3C722QP.js +4707 -0
  39. package/dist/element/chunk-G3C722QP.js.map +1 -0
  40. package/dist/element/chunk-H5IFOSQP.js +346 -0
  41. package/dist/element/chunk-H5IFOSQP.js.map +1 -0
  42. package/dist/element/chunk-LXR3CLCN.js +30 -0
  43. package/dist/element/chunk-LXR3CLCN.js.map +1 -0
  44. package/dist/element/chunk-TFV4CJR4.js +183 -0
  45. package/dist/element/chunk-TFV4CJR4.js.map +1 -0
  46. package/dist/element/chunk-TXSK3CIN.js +859 -0
  47. package/dist/element/chunk-TXSK3CIN.js.map +1 -0
  48. package/dist/element/chunk-WDTTBY3S.js +45 -0
  49. package/dist/element/chunk-WDTTBY3S.js.map +1 -0
  50. package/dist/element/chunk-ZI3RYCAR.js +233 -0
  51. package/dist/element/chunk-ZI3RYCAR.js.map +1 -0
  52. package/dist/element/element.d.ts +3044 -0
  53. package/dist/element/element.js +146554 -0
  54. package/dist/element/element.js.map +1 -0
  55. package/dist/element/revo-grid.entry-7FHEBN3O.js +4817 -0
  56. package/dist/element/revo-grid.entry-7FHEBN3O.js.map +1 -0
  57. package/dist/element/revogr-attribution_7.entry-LSOFVZRA.js +1328 -0
  58. package/dist/element/revogr-attribution_7.entry-LSOFVZRA.js.map +1 -0
  59. package/dist/element/revogr-clipboard_3.entry-V74UIBPJ.js +494 -0
  60. package/dist/element/revogr-clipboard_3.entry-V74UIBPJ.js.map +1 -0
  61. package/dist/element/revogr-data_4.entry-2UBOKTFN.js +1041 -0
  62. package/dist/element/revogr-data_4.entry-2UBOKTFN.js.map +1 -0
  63. package/dist/element/revogr-filter-panel.entry-B24PLQU4.js +552 -0
  64. package/dist/element/revogr-filter-panel.entry-B24PLQU4.js.map +1 -0
  65. package/dist/index.d.ts +1041 -0
  66. package/dist/index.js +10 -0
  67. package/dist/index.js.map +1 -0
  68. package/dist/react.d.ts +1915 -0
  69. package/dist/react.js +14 -0
  70. package/dist/react.js.map +1 -0
  71. package/dist/renderers/echarts.d.ts +44 -0
  72. package/dist/renderers/echarts.js +6 -0
  73. package/dist/renderers/echarts.js.map +1 -0
  74. package/dist/renderers/index.d.ts +48 -0
  75. package/dist/renderers/index.js +12 -0
  76. package/dist/renderers/index.js.map +1 -0
  77. package/dist/renderers/revogrid.d.ts +76 -0
  78. package/dist/renderers/revogrid.js +6 -0
  79. package/dist/renderers/revogrid.js.map +1 -0
  80. package/dist/renderers/tabulator.d.ts +37 -0
  81. package/dist/renderers/tabulator.js +6 -0
  82. package/dist/renderers/tabulator.js.map +1 -0
  83. package/dist/result-table-CPls-277.d.ts +1885 -0
  84. package/dist/schema/dashboard.schema.json +4374 -0
  85. package/dist/schema/semantic-model.schema.json +1200 -0
  86. package/dist/schema/widget.schema.json +1793 -0
  87. package/dist/styles.css +156 -0
  88. package/dist/theme.css +1789 -0
  89. package/dist/types-CHFSsU_X.d.ts +1007 -0
  90. package/package.json +119 -0
@@ -0,0 +1,494 @@
1
+ import { isEditorCtrConstructible, isEnterKeyValue, isTab } from './chunk-FNRVFA2C.js';
2
+ import { timeout } from './chunk-LXR3CLCN.js';
3
+ import { EDIT_INPUT_WR, DRAGG_TEXT, getSourceItem, getItemByPosition } from './chunk-AOKCBPMV.js';
4
+ import { debounce } from './chunk-TFV4CJR4.js';
5
+ import { registerInstance, createEvent, h, Host, getElement } from './chunk-G3C722QP.js';
6
+
7
+ // ../../node_modules/.pnpm/@revolist+revogrid@4.25.2/node_modules/@revolist/revogrid/dist/esm/text-editor-DlMnLkRK.js
8
+ var TextEditor = class {
9
+ constructor(data, saveCallback) {
10
+ this.data = data;
11
+ this.saveCallback = saveCallback;
12
+ this.editInput = null;
13
+ this.element = null;
14
+ this.editCell = void 0;
15
+ }
16
+ /**
17
+ * Callback triggered on cell editor render
18
+ */
19
+ async componentDidRender() {
20
+ var _a;
21
+ if (this.editInput) {
22
+ await timeout();
23
+ (_a = this.editInput) === null || _a === void 0 ? void 0 : _a.focus();
24
+ }
25
+ }
26
+ onKeyDown(e) {
27
+ const isEnter = isEnterKeyValue(e.key);
28
+ const isKeyTab = isTab(e.key);
29
+ if ((isKeyTab || isEnter) && e.target && this.saveCallback && !e.isComposing) {
30
+ this.beforeDisconnect();
31
+ this.saveCallback(this.getValue(), isKeyTab);
32
+ }
33
+ }
34
+ /**
35
+ * IMPORTANT: Prevent scroll glitches when editor is closed and focus is on current input element.
36
+ */
37
+ beforeDisconnect() {
38
+ var _a;
39
+ (_a = this.editInput) === null || _a === void 0 ? void 0 : _a.blur();
40
+ }
41
+ /**
42
+ * Get value from input
43
+ */
44
+ getValue() {
45
+ var _a;
46
+ return (_a = this.editInput) === null || _a === void 0 ? void 0 : _a.value;
47
+ }
48
+ /**
49
+ * Render method for Editor plugin.
50
+ * Renders input element with passed data from cell.
51
+ * @param {Function} h - h function from stencil render.
52
+ * @param {Object} _additionalData - additional data from plugin.
53
+ * @returns {VNode} - input element.
54
+ */
55
+ render(h2, _additionalData) {
56
+ var _a, _b;
57
+ return h2("input", {
58
+ type: "text",
59
+ enterKeyHint: "enter",
60
+ // set input value from cell data
61
+ value: (_b = (_a = this.editCell) === null || _a === void 0 ? void 0 : _a.val) !== null && _b !== void 0 ? _b : "",
62
+ // save input element as ref for further usage
63
+ ref: (el) => {
64
+ this.editInput = el;
65
+ },
66
+ // listen to keydown event on input element
67
+ onKeyDown: (e) => this.onKeyDown(e)
68
+ });
69
+ }
70
+ };
71
+
72
+ // ../../node_modules/.pnpm/@revolist+revogrid@4.25.2/node_modules/@revolist/revogrid/dist/esm/revogr-clipboard_3.entry.js
73
+ var Clipboard = class {
74
+ constructor(hostRef) {
75
+ registerInstance(this, hostRef);
76
+ this.beforePaste = createEvent(this, "beforepaste", 7);
77
+ this.beforePasteApply = createEvent(this, "beforepasteapply", 7);
78
+ this.pasteRegion = createEvent(this, "pasteregion", 7);
79
+ this.afterPasteApply = createEvent(this, "afterpasteapply", 7);
80
+ this.beforeCut = createEvent(this, "beforecut", 7);
81
+ this.clearRegion = createEvent(this, "clearregion", 7);
82
+ this.beforeCopy = createEvent(this, "beforecopy", 7);
83
+ this.beforeCopyApply = createEvent(this, "beforecopyapply", 7);
84
+ this.copyRegion = createEvent(this, "copyregion", 7);
85
+ }
86
+ onPaste(e) {
87
+ if (this.readonly) {
88
+ return;
89
+ }
90
+ const clipboardData = this.getData(e);
91
+ const isHTML = ((clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.types.indexOf("text/html")) || -1) > -1;
92
+ const data = (isHTML ? clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.getData("text/html") : clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.getData("text")) || "";
93
+ const dataText = (clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.getData("text")) || "";
94
+ const beforePaste = this.beforePaste.emit({
95
+ raw: data,
96
+ dataText,
97
+ isHTML,
98
+ event: e
99
+ });
100
+ if (beforePaste.defaultPrevented) {
101
+ return;
102
+ }
103
+ let parsedData;
104
+ if (beforePaste.detail.isHTML) {
105
+ const table = this.htmlParse(beforePaste.detail.raw);
106
+ parsedData = table || this.textParse(dataText || "");
107
+ } else {
108
+ parsedData = this.textParse(beforePaste.detail.raw);
109
+ }
110
+ const beforePasteApply = this.beforePasteApply.emit({
111
+ raw: data,
112
+ parsed: parsedData,
113
+ dataText,
114
+ event: e
115
+ });
116
+ if (beforePasteApply.defaultPrevented) {
117
+ return;
118
+ }
119
+ this.pasteRegion.emit(beforePasteApply.detail.parsed);
120
+ const afterPasteApply = this.afterPasteApply.emit({
121
+ raw: data,
122
+ parsed: parsedData,
123
+ dataText,
124
+ event: e
125
+ });
126
+ if (afterPasteApply.defaultPrevented) {
127
+ return;
128
+ }
129
+ e.preventDefault();
130
+ }
131
+ /**
132
+ * Listen to copy event and emit copy region event
133
+ */
134
+ copyStarted(e) {
135
+ const beforeCopy = this.beforeCopy.emit({
136
+ event: e
137
+ });
138
+ if (beforeCopy.defaultPrevented) {
139
+ return;
140
+ }
141
+ const data = this.getData(beforeCopy.detail.event);
142
+ e.preventDefault();
143
+ this.copyRegion.emit(data || void 0);
144
+ }
145
+ /**
146
+ * Listen to copy event and emit copy region event
147
+ */
148
+ cutStarted(e) {
149
+ const beforeCut = this.beforeCut.emit({
150
+ event: e
151
+ });
152
+ if (beforeCut.defaultPrevented) {
153
+ return;
154
+ }
155
+ const data = this.getData(beforeCut.detail.event);
156
+ this.copyStarted(e);
157
+ if (this.readonly) {
158
+ return;
159
+ }
160
+ this.clearRegion.emit(data || void 0);
161
+ e.preventDefault();
162
+ }
163
+ async doCopy(e, data) {
164
+ const beforeCopyApply = this.beforeCopyApply.emit({
165
+ event: e,
166
+ data
167
+ });
168
+ if (beforeCopyApply.defaultPrevented) {
169
+ return;
170
+ }
171
+ const parsed = data ? this.parserCopy(data) : "";
172
+ e.setData("text/plain", parsed);
173
+ }
174
+ parserCopy(data) {
175
+ return data.map((rgRow) => rgRow.join(" ")).join("\n");
176
+ }
177
+ textParse(data) {
178
+ const result = [];
179
+ const rows = data.split(/\r\n|\n|\r/);
180
+ for (let y in rows) {
181
+ result.push(rows[y].split(" "));
182
+ }
183
+ return result;
184
+ }
185
+ htmlParse(data) {
186
+ const result = [];
187
+ const fragment = document.createRange().createContextualFragment(data);
188
+ const table = fragment.querySelector("table");
189
+ if (!table) {
190
+ return null;
191
+ }
192
+ for (const rgRow of Array.from(table.rows)) {
193
+ result.push(Array.from(rgRow.cells).map((cell) => cell.innerText));
194
+ }
195
+ return result;
196
+ }
197
+ getData(e) {
198
+ return e.clipboardData || (globalThis === null || globalThis === void 0 ? void 0 : globalThis.clipboardData);
199
+ }
200
+ };
201
+ var revogrEditStyleCss = () => `revogr-edit{display:block;position:absolute;background-color:var(--rg-theme-background)}revogr-edit input{height:100%;width:100%;box-sizing:border-box;background-color:var(--rg-theme-background)}revogr-edit revo-dropdown{height:100%}revogr-edit revo-dropdown.shrink fieldset legend>span{display:none}`;
202
+ var RevoEdit = class {
203
+ constructor(hostRef) {
204
+ registerInstance(this, hostRef);
205
+ this.cellEdit = createEvent(this, "celleditinit", 7);
206
+ this.closeEdit = createEvent(this, "closeedit", 7);
207
+ this.saveOnClose = false;
208
+ this.currentEditor = null;
209
+ this.preventSaveOnClose = false;
210
+ }
211
+ /**
212
+ * Cancel pending changes flag. Editor will be closed without autosave.
213
+ */
214
+ async cancelChanges() {
215
+ this.preventSaveOnClose = true;
216
+ }
217
+ /**
218
+ * Before editor got disconnected.
219
+ * Can be triggered multiple times before actual disconnect.
220
+ */
221
+ async beforeDisconnect() {
222
+ var _a, _b;
223
+ (_b = (_a = this.currentEditor) === null || _a === void 0 ? void 0 : _a.beforeDisconnect) === null || _b === void 0 ? void 0 : _b.call(_a);
224
+ }
225
+ onAutoSave() {
226
+ var _a, _b, _c;
227
+ this.preventSaveOnClose = true;
228
+ const val = (_b = (_a = this.currentEditor) === null || _a === void 0 ? void 0 : _a.getValue) === null || _b === void 0 ? void 0 : _b.call(_a);
229
+ if ((_c = this.currentEditor) === null || _c === void 0 ? void 0 : _c.beforeAutoSave) {
230
+ const canSave = this.currentEditor.beforeAutoSave(val);
231
+ if (canSave === false) {
232
+ return;
233
+ }
234
+ }
235
+ this.onSave(val, true);
236
+ }
237
+ /**
238
+ * Callback triggered when cell editor saved.
239
+ * Closes editor when called.
240
+ * @param preventFocus - if true, editor will not be closed & next cell will not be focused.
241
+ */
242
+ onSave(val, preventFocus) {
243
+ this.preventSaveOnClose = true;
244
+ if (this.editCell) {
245
+ this.cellEdit.emit({
246
+ rgCol: this.editCell.x,
247
+ rgRow: this.editCell.y,
248
+ type: this.editCell.type,
249
+ prop: this.editCell.prop,
250
+ val,
251
+ preventFocus
252
+ });
253
+ }
254
+ }
255
+ componentWillRender() {
256
+ if (this.currentEditor || !this.column) {
257
+ return;
258
+ }
259
+ this.preventSaveOnClose = false;
260
+ if (this.editor) {
261
+ if (isEditorCtrConstructible(this.editor)) {
262
+ this.currentEditor = new this.editor(
263
+ this.column,
264
+ // save callback
265
+ (e, preventFocus) => {
266
+ this.onSave(e, preventFocus);
267
+ },
268
+ // cancel callback
269
+ (focusNext) => {
270
+ this.preventSaveOnClose = true;
271
+ this.closeEdit.emit(focusNext);
272
+ }
273
+ );
274
+ } else {
275
+ this.currentEditor = this.editor(
276
+ this.column,
277
+ // save callback
278
+ (e, preventFocus) => {
279
+ this.onSave(e, preventFocus);
280
+ },
281
+ // cancel callback
282
+ (focusNext) => {
283
+ this.preventSaveOnClose = true;
284
+ this.closeEdit.emit(focusNext);
285
+ }
286
+ );
287
+ }
288
+ return;
289
+ }
290
+ this.currentEditor = new TextEditor(this.column, (e, preventFocus) => this.onSave(e, preventFocus));
291
+ }
292
+ componentDidRender() {
293
+ var _a, _b;
294
+ if (!this.currentEditor) {
295
+ return;
296
+ }
297
+ this.currentEditor.element = this.element.firstElementChild;
298
+ (_b = (_a = this.currentEditor).componentDidRender) === null || _b === void 0 ? void 0 : _b.call(_a);
299
+ }
300
+ disconnectedCallback() {
301
+ var _a, _b;
302
+ if (this.saveOnClose) {
303
+ if (!this.preventSaveOnClose) {
304
+ this.onAutoSave();
305
+ }
306
+ }
307
+ this.preventSaveOnClose = false;
308
+ if (!this.currentEditor) {
309
+ return;
310
+ }
311
+ (_b = (_a = this.currentEditor).disconnectedCallback) === null || _b === void 0 ? void 0 : _b.call(_a);
312
+ this.currentEditor.element = null;
313
+ this.currentEditor = null;
314
+ }
315
+ render() {
316
+ if (this.currentEditor) {
317
+ this.currentEditor.editCell = this.editCell;
318
+ return h(Host, { class: EDIT_INPUT_WR }, this.currentEditor.render(h, this.additionalData));
319
+ }
320
+ return "";
321
+ }
322
+ get element() {
323
+ return getElement(this);
324
+ }
325
+ };
326
+ RevoEdit.style = revogrEditStyleCss();
327
+ var RowOrderService = class {
328
+ constructor(config) {
329
+ this.config = config;
330
+ this.currentCell = null;
331
+ this.previousRow = null;
332
+ }
333
+ /** Drag finished, calculate and apply changes */
334
+ endOrder(e, data) {
335
+ if (this.currentCell === null) {
336
+ return;
337
+ }
338
+ const newRow = this.getCell(e, data);
339
+ if (newRow.y < 0) {
340
+ newRow.y = 0;
341
+ } else if (newRow.y < this.currentCell.y) {
342
+ newRow.y++;
343
+ }
344
+ if (newRow.y !== this.currentCell.y) {
345
+ this.config.positionChanged(this.currentCell.y, newRow.y);
346
+ }
347
+ this.clear();
348
+ }
349
+ /** Drag started, reserve initial cell for farther use */
350
+ startOrder(e, data) {
351
+ this.currentCell = this.getCell(e, data);
352
+ return this.currentCell;
353
+ }
354
+ move(y, data) {
355
+ const rgRow = this.getRow(y, data);
356
+ if (this.previousRow === rgRow.itemIndex || rgRow.itemIndex < -1) {
357
+ return null;
358
+ }
359
+ this.previousRow = rgRow.itemIndex;
360
+ return rgRow;
361
+ }
362
+ /** Drag stopped, probably cursor outside of document area */
363
+ clear() {
364
+ this.currentCell = null;
365
+ this.previousRow = null;
366
+ }
367
+ /** Calculate cell based on x, y position */
368
+ getRow(y, { el, rows }) {
369
+ const { top } = el.getBoundingClientRect();
370
+ const topRelative = y - top;
371
+ const rowOffset = rows.renderOffset || 0;
372
+ const rgRow = getItemByPosition(rows, topRelative + rowOffset);
373
+ const absolutePosition = {
374
+ itemIndex: rgRow.itemIndex,
375
+ start: rgRow.start - rowOffset + top,
376
+ end: rgRow.end - rowOffset + top
377
+ };
378
+ return absolutePosition;
379
+ }
380
+ /** Calculate cell based on x, y position */
381
+ getCell({ x, y }, { el, rows, cols }) {
382
+ const { top, left } = el.getBoundingClientRect();
383
+ const topRelative = y - top;
384
+ const leftRelative = x - left;
385
+ const rgRow = getItemByPosition(rows, topRelative + (rows.renderOffset || 0));
386
+ const rgCol = getItemByPosition(cols, leftRelative + (cols.renderOffset || 0));
387
+ return { x: rgCol.itemIndex, y: rgRow.itemIndex };
388
+ }
389
+ };
390
+ var OrderEditor = class {
391
+ constructor(hostRef) {
392
+ registerInstance(this, hostRef);
393
+ this.rowDragStart = createEvent(this, "rowdragstartinit", 7);
394
+ this.rowDragEnd = createEvent(this, "rowdragendinit", 7);
395
+ this.rowDrag = createEvent(this, "rowdragmoveinit", 7);
396
+ this.rowMouseMove = createEvent(this, "rowdragmousemove", 7);
397
+ this.rowDropped = createEvent(this, "rowdropinit", 7);
398
+ this.rowOrderChange = createEvent(this, "roworderchange", 7);
399
+ this.events = [];
400
+ this.rowMoveFunc = debounce((y) => {
401
+ const rgRow = this.rowOrderService.move(y, this.getData());
402
+ if (rgRow !== null) {
403
+ this.rowDrag.emit(Object.assign(Object.assign({}, rgRow), { rowType: this.rowType }));
404
+ }
405
+ }, 5);
406
+ }
407
+ // #endregion
408
+ // #region Methods
409
+ async dragStart(e) {
410
+ e.originalEvent.preventDefault();
411
+ if (this.events.length) {
412
+ this.clearOrder();
413
+ }
414
+ const data = this.getData();
415
+ const cell = this.rowOrderService.startOrder(e.originalEvent, data);
416
+ const pos = this.rowOrderService.getRow(e.originalEvent.y, data);
417
+ const dragStartEvent = this.rowDragStart.emit({
418
+ cell,
419
+ text: DRAGG_TEXT,
420
+ pos,
421
+ event: e.originalEvent,
422
+ rowType: this.rowType,
423
+ model: getSourceItem(this.dataStore, pos.itemIndex)
424
+ });
425
+ if (dragStartEvent.defaultPrevented) {
426
+ return;
427
+ }
428
+ const moveMove = (e2) => this.move(e2);
429
+ const mouseUp = (e2) => this.endOrder(e2);
430
+ const mouseLeave = () => this.clearOrder();
431
+ this.events.push({
432
+ name: "mousemove",
433
+ listener: moveMove
434
+ }, {
435
+ name: "mouseup",
436
+ listener: mouseUp
437
+ }, {
438
+ name: "mouseleave",
439
+ listener: mouseLeave
440
+ });
441
+ document.addEventListener("mousemove", moveMove);
442
+ document.addEventListener("mouseup", mouseUp);
443
+ document.addEventListener("mouseleave", mouseLeave);
444
+ }
445
+ async endOrder(e) {
446
+ this.rowOrderService.endOrder(e, this.getData());
447
+ this.clearOrder();
448
+ }
449
+ async clearOrder() {
450
+ this.rowOrderService.clear();
451
+ this.events.forEach((v) => document.removeEventListener(v.name, v.listener));
452
+ this.events.length = 0;
453
+ this.rowDragEnd.emit({ rowType: this.rowType });
454
+ }
455
+ // #endregion
456
+ move({ x, y }) {
457
+ this.rowMouseMove.emit({ x, y, rowType: this.rowType });
458
+ this.rowMoveFunc(y);
459
+ }
460
+ connectedCallback() {
461
+ this.rowOrderService = new RowOrderService({
462
+ positionChanged: (from, to) => {
463
+ const dropEvent = this.rowDropped.emit({
464
+ from,
465
+ to,
466
+ rowType: this.rowType
467
+ });
468
+ if (dropEvent.defaultPrevented) {
469
+ return;
470
+ }
471
+ this.rowOrderChange.emit(dropEvent.detail);
472
+ }
473
+ });
474
+ }
475
+ getData() {
476
+ return {
477
+ el: this.parent,
478
+ rows: this.dimensionRow.state,
479
+ cols: this.dimensionCol.state
480
+ };
481
+ }
482
+ };
483
+ /*! Bundled license information:
484
+
485
+ @revolist/revogrid/dist/esm/text-editor-DlMnLkRK.js:
486
+ @revolist/revogrid/dist/esm/revogr-clipboard_3.entry.js:
487
+ (*!
488
+ * Built by Revolist OU ❤️
489
+ *)
490
+ */
491
+
492
+ export { Clipboard as revogr_clipboard, RevoEdit as revogr_edit, OrderEditor as revogr_order_editor };
493
+ //# sourceMappingURL=revogr-clipboard_3.entry-V74UIBPJ.js.map
494
+ //# sourceMappingURL=revogr-clipboard_3.entry-V74UIBPJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../node_modules/.pnpm/@revolist+revogrid@4.25.2/node_modules/@revolist/revogrid/dist/esm/text-editor-DlMnLkRK.js","../../../../node_modules/.pnpm/@revolist+revogrid@4.25.2/node_modules/@revolist/revogrid/dist/esm/revogr-clipboard_3.entry.js"],"names":["h","e"],"mappings":"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","file":"revogr-clipboard_3.entry-V74UIBPJ.js","sourcesContent":["/*!\n * Built by Revolist OU ❤️\n */\nimport { d as isTab, f as isEnterKeyValue } from './edit.utils-4e9fsqOR.js';\nimport { t as timeout } from './index-D24ku9ej.js';\n\nclass TextEditor {\n constructor(data, saveCallback) {\n this.data = data;\n this.saveCallback = saveCallback;\n this.editInput = null;\n this.element = null;\n this.editCell = undefined;\n }\n /**\n * Callback triggered on cell editor render\n */\n async componentDidRender() {\n var _a;\n if (this.editInput) {\n await timeout();\n (_a = this.editInput) === null || _a === void 0 ? void 0 : _a.focus();\n }\n }\n onKeyDown(e) {\n const isEnter = isEnterKeyValue(e.key);\n const isKeyTab = isTab(e.key);\n if ((isKeyTab || isEnter) &&\n e.target &&\n this.saveCallback &&\n !e.isComposing) {\n // blur is needed to avoid autoscroll\n this.beforeDisconnect();\n // request callback which will close cell after all\n this.saveCallback(this.getValue(), isKeyTab);\n }\n }\n /**\n * IMPORTANT: Prevent scroll glitches when editor is closed and focus is on current input element.\n */\n beforeDisconnect() {\n var _a;\n (_a = this.editInput) === null || _a === void 0 ? void 0 : _a.blur();\n }\n /**\n * Get value from input\n */\n getValue() {\n var _a;\n return (_a = this.editInput) === null || _a === void 0 ? void 0 : _a.value;\n }\n /**\n * Render method for Editor plugin.\n * Renders input element with passed data from cell.\n * @param {Function} h - h function from stencil render.\n * @param {Object} _additionalData - additional data from plugin.\n * @returns {VNode} - input element.\n */\n render(h, _additionalData) {\n var _a, _b;\n return h('input', {\n type: 'text',\n enterKeyHint: 'enter',\n // set input value from cell data\n value: (_b = (_a = this.editCell) === null || _a === void 0 ? void 0 : _a.val) !== null && _b !== void 0 ? _b : '',\n // save input element as ref for further usage\n ref: (el) => {\n this.editInput = el;\n },\n // listen to keydown event on input element\n onKeyDown: (e) => this.onKeyDown(e),\n });\n }\n}\n\nexport { TextEditor as T };\n","/*!\n * Built by Revolist OU ❤️\n */\nimport { r as registerInstance, a as createEvent, h, d as Host, g as getElement } from './index-CtimkLsB.js';\nimport { E as EDIT_INPUT_WR, j as getItemByPosition, b as getSourceItem, A as DRAGG_TEXT } from './dimension.helpers-fl4HSSK9.js';\nimport { T as TextEditor } from './text-editor-DlMnLkRK.js';\nimport { n as isEditorCtrConstructible } from './edit.utils-4e9fsqOR.js';\nimport { d as debounce } from './debounce-PCRWZliA.js';\nimport './index-D24ku9ej.js';\n\nconst Clipboard = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.beforePaste = createEvent(this, \"beforepaste\", 7);\n this.beforePasteApply = createEvent(this, \"beforepasteapply\", 7);\n this.pasteRegion = createEvent(this, \"pasteregion\", 7);\n this.afterPasteApply = createEvent(this, \"afterpasteapply\", 7);\n this.beforeCut = createEvent(this, \"beforecut\", 7);\n this.clearRegion = createEvent(this, \"clearregion\", 7);\n this.beforeCopy = createEvent(this, \"beforecopy\", 7);\n this.beforeCopyApply = createEvent(this, \"beforecopyapply\", 7);\n this.copyRegion = createEvent(this, \"copyregion\", 7);\n }\n onPaste(e) {\n // if readonly do nothing\n if (this.readonly) {\n return;\n }\n const clipboardData = this.getData(e);\n const isHTML = ((clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.types.indexOf('text/html')) || -1) > -1;\n const data = (isHTML\n ? clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.getData('text/html')\n : clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.getData('text')) || '';\n const dataText = (clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.getData('text')) || '';\n const beforePaste = this.beforePaste.emit({\n raw: data,\n dataText,\n isHTML,\n event: e,\n });\n if (beforePaste.defaultPrevented) {\n return;\n }\n let parsedData;\n // if html, then search for table if no table fallback to regular text parsing\n if (beforePaste.detail.isHTML) {\n const table = this.htmlParse(beforePaste.detail.raw);\n // fallback to text if not possible to parse as html\n parsedData = table || this.textParse(dataText || '');\n }\n else {\n parsedData = this.textParse(beforePaste.detail.raw);\n }\n const beforePasteApply = this.beforePasteApply.emit({\n raw: data,\n parsed: parsedData,\n dataText,\n event: e,\n });\n if (beforePasteApply.defaultPrevented) {\n return;\n }\n this.pasteRegion.emit(beforePasteApply.detail.parsed);\n // post paste action\n const afterPasteApply = this.afterPasteApply.emit({\n raw: data,\n parsed: parsedData,\n dataText,\n event: e,\n });\n // keep default behavior if needed\n if (afterPasteApply.defaultPrevented) {\n return;\n }\n e.preventDefault();\n }\n /**\n * Listen to copy event and emit copy region event\n */\n copyStarted(e) {\n const beforeCopy = this.beforeCopy.emit({\n event: e,\n });\n if (beforeCopy.defaultPrevented) {\n return;\n }\n const data = this.getData(beforeCopy.detail.event);\n e.preventDefault();\n this.copyRegion.emit(data || undefined);\n }\n /**\n * Listen to copy event and emit copy region event\n */\n cutStarted(e) {\n const beforeCut = this.beforeCut.emit({\n event: e,\n });\n if (beforeCut.defaultPrevented) {\n return;\n }\n const data = this.getData(beforeCut.detail.event);\n this.copyStarted(e);\n // if readonly do nothing\n if (this.readonly) {\n return;\n }\n this.clearRegion.emit(data || undefined);\n e.preventDefault();\n }\n async doCopy(e, data) {\n const beforeCopyApply = this.beforeCopyApply.emit({\n event: e,\n data,\n });\n if (beforeCopyApply.defaultPrevented) {\n return;\n }\n const parsed = data ? this.parserCopy(data) : '';\n e.setData('text/plain', parsed);\n }\n parserCopy(data) {\n return data.map(rgRow => rgRow.join('\\t')).join('\\n');\n }\n textParse(data) {\n const result = [];\n const rows = data.split(/\\r\\n|\\n|\\r/);\n for (let y in rows) {\n result.push(rows[y].split('\\t'));\n }\n return result;\n }\n htmlParse(data) {\n const result = [];\n const fragment = document.createRange().createContextualFragment(data);\n const table = fragment.querySelector('table');\n if (!table) {\n return null;\n }\n for (const rgRow of Array.from(table.rows)) {\n result.push(Array.from(rgRow.cells).map(cell => cell.innerText));\n }\n return result;\n }\n getData(e) {\n return (e.clipboardData ||\n (globalThis === null || globalThis === void 0 ? void 0 : globalThis.clipboardData));\n }\n};\n\nconst revogrEditStyleCss = () => `revogr-edit{display:block;position:absolute;background-color:var(--rg-theme-background)}revogr-edit input{height:100%;width:100%;box-sizing:border-box;background-color:var(--rg-theme-background)}revogr-edit revo-dropdown{height:100%}revogr-edit revo-dropdown.shrink fieldset legend>span{display:none}`;\n\nconst RevoEdit = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.cellEdit = createEvent(this, \"celleditinit\", 7);\n this.closeEdit = createEvent(this, \"closeedit\", 7);\n /**\n * Save on editor close. Defines if data should be saved on editor close.\n */\n this.saveOnClose = false;\n this.currentEditor = null;\n this.preventSaveOnClose = false;\n }\n /**\n * Cancel pending changes flag. Editor will be closed without autosave.\n */\n async cancelChanges() {\n this.preventSaveOnClose = true;\n }\n /**\n * Before editor got disconnected.\n * Can be triggered multiple times before actual disconnect.\n */\n async beforeDisconnect() {\n var _a, _b;\n (_b = (_a = this.currentEditor) === null || _a === void 0 ? void 0 : _a.beforeDisconnect) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n onAutoSave() {\n var _a, _b, _c;\n this.preventSaveOnClose = true;\n const val = (_b = (_a = this.currentEditor) === null || _a === void 0 ? void 0 : _a.getValue) === null || _b === void 0 ? void 0 : _b.call(_a);\n // For Editor plugin internal usage.\n // When you want to prevent save and use custom save of your own.\n if ((_c = this.currentEditor) === null || _c === void 0 ? void 0 : _c.beforeAutoSave) {\n const canSave = this.currentEditor.beforeAutoSave(val);\n if (canSave === false) {\n return;\n }\n }\n this.onSave(val, true);\n }\n /**\n * Callback triggered when cell editor saved.\n * Closes editor when called.\n * @param preventFocus - if true, editor will not be closed & next cell will not be focused.\n */\n onSave(val, preventFocus) {\n this.preventSaveOnClose = true;\n if (this.editCell) {\n this.cellEdit.emit({\n rgCol: this.editCell.x,\n rgRow: this.editCell.y,\n type: this.editCell.type,\n prop: this.editCell.prop,\n val,\n preventFocus,\n });\n }\n }\n componentWillRender() {\n // Active editor present and not yet closed.\n if (this.currentEditor || !this.column) {\n return;\n }\n this.preventSaveOnClose = false;\n // Custom editor usage.\n // Start with TextEditor (editors/text.tsx) for Custom editor.\n // It can be class or function\n if (this.editor) {\n // if editor is constructible\n if (isEditorCtrConstructible(this.editor)) {\n this.currentEditor = new this.editor(this.column, \n // save callback\n (e, preventFocus) => {\n this.onSave(e, preventFocus);\n }, \n // cancel callback\n focusNext => {\n this.preventSaveOnClose = true;\n this.closeEdit.emit(focusNext);\n });\n // if editor is function\n }\n else {\n this.currentEditor = this.editor(this.column, \n // save callback\n (e, preventFocus) => {\n this.onSave(e, preventFocus);\n }, \n // cancel callback\n focusNext => {\n this.preventSaveOnClose = true;\n this.closeEdit.emit(focusNext);\n });\n }\n return;\n }\n // Default text editor usage\n this.currentEditor = new TextEditor(this.column, (e, preventFocus) => this.onSave(e, preventFocus));\n }\n componentDidRender() {\n var _a, _b;\n if (!this.currentEditor) {\n return;\n }\n this.currentEditor.element = this.element.firstElementChild;\n (_b = (_a = this.currentEditor).componentDidRender) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n disconnectedCallback() {\n var _a, _b;\n if (this.saveOnClose) {\n // Can not be cancelled by `preventSaveOnClose` prop.\n // Editor requires `getValue` to be able to save.\n if (!this.preventSaveOnClose) {\n this.onAutoSave();\n }\n }\n this.preventSaveOnClose = false;\n if (!this.currentEditor) {\n return;\n }\n (_b = (_a = this.currentEditor).disconnectedCallback) === null || _b === void 0 ? void 0 : _b.call(_a);\n this.currentEditor.element = null;\n this.currentEditor = null;\n }\n render() {\n if (this.currentEditor) {\n this.currentEditor.editCell = this.editCell;\n return (h(Host, { class: EDIT_INPUT_WR }, this.currentEditor.render(h, this.additionalData)));\n }\n return '';\n }\n get element() { return getElement(this); }\n};\nRevoEdit.style = revogrEditStyleCss();\n\nclass RowOrderService {\n constructor(config) {\n this.config = config;\n this.currentCell = null;\n this.previousRow = null;\n }\n /** Drag finished, calculate and apply changes */\n endOrder(e, data) {\n if (this.currentCell === null) {\n return;\n }\n const newRow = this.getCell(e, data);\n // rgRow dragged out table\n if (newRow.y < 0) {\n newRow.y = 0;\n }\n // rgRow dragged to the top\n else if (newRow.y < this.currentCell.y) {\n newRow.y++;\n }\n // if position changed\n if (newRow.y !== this.currentCell.y) {\n this.config.positionChanged(this.currentCell.y, newRow.y);\n }\n this.clear();\n }\n /** Drag started, reserve initial cell for farther use */\n startOrder(e, data) {\n this.currentCell = this.getCell(e, data);\n return this.currentCell;\n }\n move(y, data) {\n const rgRow = this.getRow(y, data);\n // if rgRow same as previous or below range (-1 = 0) do nothing\n if (this.previousRow === rgRow.itemIndex || rgRow.itemIndex < -1) {\n return null;\n }\n this.previousRow = rgRow.itemIndex;\n return rgRow;\n }\n /** Drag stopped, probably cursor outside of document area */\n clear() {\n this.currentCell = null;\n this.previousRow = null;\n }\n /** Calculate cell based on x, y position */\n getRow(y, { el, rows }) {\n const { top } = el.getBoundingClientRect();\n const topRelative = y - top;\n const rowOffset = rows.renderOffset || 0;\n const rgRow = getItemByPosition(rows, topRelative + rowOffset);\n const absolutePosition = {\n itemIndex: rgRow.itemIndex,\n start: rgRow.start - rowOffset + top,\n end: rgRow.end - rowOffset + top,\n };\n return absolutePosition;\n }\n /** Calculate cell based on x, y position */\n getCell({ x, y }, { el, rows, cols }) {\n const { top, left } = el.getBoundingClientRect();\n const topRelative = y - top;\n const leftRelative = x - left;\n const rgRow = getItemByPosition(rows, topRelative + (rows.renderOffset || 0));\n const rgCol = getItemByPosition(cols, leftRelative + (cols.renderOffset || 0));\n return { x: rgCol.itemIndex, y: rgRow.itemIndex };\n }\n}\n\nconst OrderEditor = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.rowDragStart = createEvent(this, \"rowdragstartinit\", 7);\n this.rowDragEnd = createEvent(this, \"rowdragendinit\", 7);\n this.rowDrag = createEvent(this, \"rowdragmoveinit\", 7);\n this.rowMouseMove = createEvent(this, \"rowdragmousemove\", 7);\n this.rowDropped = createEvent(this, \"rowdropinit\", 7);\n this.rowOrderChange = createEvent(this, \"roworderchange\", 7);\n this.events = [];\n this.rowMoveFunc = debounce((y) => {\n const rgRow = this.rowOrderService.move(y, this.getData());\n if (rgRow !== null) {\n this.rowDrag.emit(Object.assign(Object.assign({}, rgRow), { rowType: this.rowType }));\n }\n }, 5);\n }\n // #endregion\n // #region Methods\n async dragStart(e) {\n e.originalEvent.preventDefault();\n // extra check if previous ended\n if (this.events.length) {\n this.clearOrder();\n }\n const data = this.getData();\n const cell = this.rowOrderService.startOrder(e.originalEvent, data);\n const pos = this.rowOrderService.getRow(e.originalEvent.y, data);\n const dragStartEvent = this.rowDragStart.emit({\n cell,\n text: DRAGG_TEXT,\n pos,\n event: e.originalEvent,\n rowType: this.rowType,\n model: getSourceItem(this.dataStore, pos.itemIndex),\n });\n if (dragStartEvent.defaultPrevented) {\n return;\n }\n const moveMove = (e) => this.move(e);\n const mouseUp = (e) => this.endOrder(e);\n const mouseLeave = () => this.clearOrder();\n this.events.push({\n name: 'mousemove',\n listener: moveMove,\n }, {\n name: 'mouseup',\n listener: mouseUp,\n }, {\n name: 'mouseleave',\n listener: mouseLeave,\n });\n document.addEventListener('mousemove', moveMove);\n // Action finished inside of the document\n document.addEventListener('mouseup', mouseUp);\n document.addEventListener('mouseleave', mouseLeave);\n }\n async endOrder(e) {\n this.rowOrderService.endOrder(e, this.getData());\n this.clearOrder();\n }\n async clearOrder() {\n this.rowOrderService.clear();\n this.events.forEach(v => document.removeEventListener(v.name, v.listener));\n this.events.length = 0;\n this.rowDragEnd.emit({ rowType: this.rowType });\n }\n // #endregion\n move({ x, y }) {\n this.rowMouseMove.emit({ x, y, rowType: this.rowType });\n this.rowMoveFunc(y);\n }\n connectedCallback() {\n this.rowOrderService = new RowOrderService({\n positionChanged: (from, to) => {\n const dropEvent = this.rowDropped.emit({\n from,\n to,\n rowType: this.rowType,\n });\n if (dropEvent.defaultPrevented) {\n return;\n }\n this.rowOrderChange.emit(dropEvent.detail);\n },\n });\n }\n getData() {\n return {\n el: this.parent,\n rows: this.dimensionRow.state,\n cols: this.dimensionCol.state,\n };\n }\n};\n\nexport { Clipboard as revogr_clipboard, RevoEdit as revogr_edit, OrderEditor as revogr_order_editor };\n"]}