@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.
- package/LICENSE +202 -0
- package/README.md +90 -0
- package/dist/all.d.ts +14 -0
- package/dist/all.js +15 -0
- package/dist/all.js.map +1 -0
- package/dist/chunk-62IQGXLW.js +11470 -0
- package/dist/chunk-62IQGXLW.js.map +1 -0
- package/dist/chunk-75CRTQK7.js +315 -0
- package/dist/chunk-75CRTQK7.js.map +1 -0
- package/dist/chunk-FVO6E22Z.js +225 -0
- package/dist/chunk-FVO6E22Z.js.map +1 -0
- package/dist/chunk-GRITOB4M.js +337 -0
- package/dist/chunk-GRITOB4M.js.map +1 -0
- package/dist/chunk-HPFHIZWO.js +40 -0
- package/dist/chunk-HPFHIZWO.js.map +1 -0
- package/dist/chunk-IMNUQGHE.js +2864 -0
- package/dist/chunk-IMNUQGHE.js.map +1 -0
- package/dist/chunk-LHD445PJ.js +571 -0
- package/dist/chunk-LHD445PJ.js.map +1 -0
- package/dist/chunk-LPLBBHOW.js +386 -0
- package/dist/chunk-LPLBBHOW.js.map +1 -0
- package/dist/chunk-NGM5R3LW.js +881 -0
- package/dist/chunk-NGM5R3LW.js.map +1 -0
- package/dist/chunk-OMPR32AR.js +1320 -0
- package/dist/chunk-OMPR32AR.js.map +1 -0
- package/dist/chunk-QDQ5VVTC.js +255 -0
- package/dist/chunk-QDQ5VVTC.js.map +1 -0
- package/dist/chunk-RRWZKNDZ.js +1004 -0
- package/dist/chunk-RRWZKNDZ.js.map +1 -0
- package/dist/chunk-SRWIBMEB.js +178 -0
- package/dist/chunk-SRWIBMEB.js.map +1 -0
- package/dist/element/chunk-AOKCBPMV.js +1646 -0
- package/dist/element/chunk-AOKCBPMV.js.map +1 -0
- package/dist/element/chunk-B67SYRQP.js +281 -0
- package/dist/element/chunk-B67SYRQP.js.map +1 -0
- package/dist/element/chunk-FNRVFA2C.js +55 -0
- package/dist/element/chunk-FNRVFA2C.js.map +1 -0
- package/dist/element/chunk-G3C722QP.js +4707 -0
- package/dist/element/chunk-G3C722QP.js.map +1 -0
- package/dist/element/chunk-H5IFOSQP.js +346 -0
- package/dist/element/chunk-H5IFOSQP.js.map +1 -0
- package/dist/element/chunk-LXR3CLCN.js +30 -0
- package/dist/element/chunk-LXR3CLCN.js.map +1 -0
- package/dist/element/chunk-TFV4CJR4.js +183 -0
- package/dist/element/chunk-TFV4CJR4.js.map +1 -0
- package/dist/element/chunk-TXSK3CIN.js +859 -0
- package/dist/element/chunk-TXSK3CIN.js.map +1 -0
- package/dist/element/chunk-WDTTBY3S.js +45 -0
- package/dist/element/chunk-WDTTBY3S.js.map +1 -0
- package/dist/element/chunk-ZI3RYCAR.js +233 -0
- package/dist/element/chunk-ZI3RYCAR.js.map +1 -0
- package/dist/element/element.d.ts +3044 -0
- package/dist/element/element.js +146554 -0
- package/dist/element/element.js.map +1 -0
- package/dist/element/revo-grid.entry-7FHEBN3O.js +4817 -0
- package/dist/element/revo-grid.entry-7FHEBN3O.js.map +1 -0
- package/dist/element/revogr-attribution_7.entry-LSOFVZRA.js +1328 -0
- package/dist/element/revogr-attribution_7.entry-LSOFVZRA.js.map +1 -0
- package/dist/element/revogr-clipboard_3.entry-V74UIBPJ.js +494 -0
- package/dist/element/revogr-clipboard_3.entry-V74UIBPJ.js.map +1 -0
- package/dist/element/revogr-data_4.entry-2UBOKTFN.js +1041 -0
- package/dist/element/revogr-data_4.entry-2UBOKTFN.js.map +1 -0
- package/dist/element/revogr-filter-panel.entry-B24PLQU4.js +552 -0
- package/dist/element/revogr-filter-panel.entry-B24PLQU4.js.map +1 -0
- package/dist/index.d.ts +1041 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/react.d.ts +1915 -0
- package/dist/react.js +14 -0
- package/dist/react.js.map +1 -0
- package/dist/renderers/echarts.d.ts +44 -0
- package/dist/renderers/echarts.js +6 -0
- package/dist/renderers/echarts.js.map +1 -0
- package/dist/renderers/index.d.ts +48 -0
- package/dist/renderers/index.js +12 -0
- package/dist/renderers/index.js.map +1 -0
- package/dist/renderers/revogrid.d.ts +76 -0
- package/dist/renderers/revogrid.js +6 -0
- package/dist/renderers/revogrid.js.map +1 -0
- package/dist/renderers/tabulator.d.ts +37 -0
- package/dist/renderers/tabulator.js +6 -0
- package/dist/renderers/tabulator.js.map +1 -0
- package/dist/result-table-CPls-277.d.ts +1885 -0
- package/dist/schema/dashboard.schema.json +4374 -0
- package/dist/schema/semantic-model.schema.json +1200 -0
- package/dist/schema/widget.schema.json +1793 -0
- package/dist/styles.css +156 -0
- package/dist/theme.css +1789 -0
- package/dist/types-CHFSsU_X.d.ts +1007 -0
- package/package.json +119 -0
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import { doPropMerge } from './chunk-TXSK3CIN.js';
|
|
2
|
+
import { h } from './chunk-G3C722QP.js';
|
|
3
|
+
|
|
4
|
+
// ../../node_modules/.pnpm/@revolist+revogrid@4.25.2/node_modules/@revolist/revogrid/dist/esm/header-cell-renderer-Cqtg1ETB.js
|
|
5
|
+
function dispatch(target, eventName, detail) {
|
|
6
|
+
const event = new CustomEvent(eventName, {
|
|
7
|
+
detail,
|
|
8
|
+
cancelable: true,
|
|
9
|
+
// Indicates whether the event can be canceled.
|
|
10
|
+
bubbles: true
|
|
11
|
+
// Indicates whether the event bubbles up through the DOM.
|
|
12
|
+
});
|
|
13
|
+
target === null || target === void 0 ? void 0 : target.dispatchEvent(event);
|
|
14
|
+
return event;
|
|
15
|
+
}
|
|
16
|
+
var ResizeEvents;
|
|
17
|
+
(function(ResizeEvents2) {
|
|
18
|
+
ResizeEvents2["start"] = "resize:start";
|
|
19
|
+
ResizeEvents2["move"] = "resize:move";
|
|
20
|
+
ResizeEvents2["end"] = "resize:end";
|
|
21
|
+
})(ResizeEvents || (ResizeEvents = {}));
|
|
22
|
+
var RESIZE_MASK = {
|
|
23
|
+
"resizable-r": { bit: 1, cursor: "ew-resize" },
|
|
24
|
+
"resizable-rb": { bit: 3, cursor: "se-resize" },
|
|
25
|
+
"resizable-b": { bit: 2, cursor: "s-resize" },
|
|
26
|
+
"resizable-lb": { bit: 6, cursor: "sw-resize" },
|
|
27
|
+
"resizable-l": { bit: 4, cursor: "w-resize" },
|
|
28
|
+
"resizable-lt": { bit: 12, cursor: "nw-resize" },
|
|
29
|
+
"resizable-t": { bit: 8, cursor: "n-resize" },
|
|
30
|
+
"resizable-rt": { bit: 9, cursor: "ne-resize" }
|
|
31
|
+
};
|
|
32
|
+
var DISABLE_MASK = {
|
|
33
|
+
w: 4,
|
|
34
|
+
h: 8
|
|
35
|
+
};
|
|
36
|
+
var defaultProps = (props) => {
|
|
37
|
+
return Object.assign(Object.assign({}, props), { fitParent: props.fitParent || false, active: props.active || [], disableAttributes: props.disableAttributes || [], minWidth: props.minWidth || 0, minHeight: props.minHeight || 0 });
|
|
38
|
+
};
|
|
39
|
+
var ResizeDirective = class _ResizeDirective {
|
|
40
|
+
constructor(initialProps, $event) {
|
|
41
|
+
var _a, _b;
|
|
42
|
+
this.initialProps = initialProps;
|
|
43
|
+
this.$event = $event;
|
|
44
|
+
this.mouseX = 0;
|
|
45
|
+
this.mouseY = 0;
|
|
46
|
+
this.width = 0;
|
|
47
|
+
this.height = 0;
|
|
48
|
+
this.changeX = 0;
|
|
49
|
+
this.changeY = 0;
|
|
50
|
+
this.disableCalcMap = 15;
|
|
51
|
+
this.props = defaultProps(initialProps);
|
|
52
|
+
this.mouseMoveFunc = this.handleMove.bind(this);
|
|
53
|
+
this.mouseUpFunc = this.handleUp.bind(this);
|
|
54
|
+
this.minW = this.props.minWidth;
|
|
55
|
+
this.minH = this.props.minHeight;
|
|
56
|
+
this.maxW = (_a = this.props.maxWidth) !== null && _a !== void 0 ? _a : 0;
|
|
57
|
+
this.maxH = (_b = this.props.maxHeight) !== null && _b !== void 0 ? _b : 0;
|
|
58
|
+
this.parent = { width: 0, height: 0 };
|
|
59
|
+
this.resizeState = 0;
|
|
60
|
+
}
|
|
61
|
+
set($el) {
|
|
62
|
+
this.$el = $el;
|
|
63
|
+
this.props.disableAttributes.forEach((attr) => {
|
|
64
|
+
switch (attr) {
|
|
65
|
+
case "l":
|
|
66
|
+
this.disableCalcMap &= -2;
|
|
67
|
+
break;
|
|
68
|
+
case "t":
|
|
69
|
+
this.disableCalcMap &= -3;
|
|
70
|
+
break;
|
|
71
|
+
case "w":
|
|
72
|
+
this.disableCalcMap &= -5;
|
|
73
|
+
break;
|
|
74
|
+
case "h":
|
|
75
|
+
this.disableCalcMap &= -9;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
emitEvent(eventName, additionalOptions) {
|
|
80
|
+
var _a;
|
|
81
|
+
if (!this.$event) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const isLeft = (_a = this.activeResizer) === null || _a === void 0 ? void 0 : _a.classList.contains("resizable-l");
|
|
85
|
+
this.$event(Object.assign({ eventName, width: this.width + this.changeX * (isLeft ? -1 : 1), height: this.height + this.changeY, changedX: this.changeX, changedY: this.changeY }, additionalOptions));
|
|
86
|
+
}
|
|
87
|
+
static isTouchEvent(e) {
|
|
88
|
+
var _a;
|
|
89
|
+
const event = e;
|
|
90
|
+
return ((_a = event.touches) === null || _a === void 0 ? void 0 : _a.length) >= 0;
|
|
91
|
+
}
|
|
92
|
+
handleMove(event) {
|
|
93
|
+
var _a;
|
|
94
|
+
if (!this.resizeState) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
let eventY, eventX;
|
|
98
|
+
if (_ResizeDirective.isTouchEvent(event)) {
|
|
99
|
+
eventY = event.touches[0].clientY;
|
|
100
|
+
eventX = event.touches[0].clientX;
|
|
101
|
+
} else {
|
|
102
|
+
eventY = event.clientY;
|
|
103
|
+
eventX = event.clientX;
|
|
104
|
+
}
|
|
105
|
+
let isX = this.resizeState & RESIZE_MASK["resizable-r"].bit || this.resizeState & RESIZE_MASK["resizable-l"].bit;
|
|
106
|
+
let isY = this.resizeState & RESIZE_MASK["resizable-t"].bit || this.resizeState & RESIZE_MASK["resizable-b"].bit;
|
|
107
|
+
if (isY && this.disableCalcMap & DISABLE_MASK.h) {
|
|
108
|
+
let diffY = eventY - this.mouseY;
|
|
109
|
+
let changedY = this.changeY + diffY;
|
|
110
|
+
const newHeight = this.height + changedY;
|
|
111
|
+
if (newHeight < this.minH) {
|
|
112
|
+
changedY = -(this.height - this.minH);
|
|
113
|
+
}
|
|
114
|
+
if (this.maxH && newHeight > this.maxH) {
|
|
115
|
+
changedY = this.maxH - this.height;
|
|
116
|
+
}
|
|
117
|
+
this.changeY = changedY;
|
|
118
|
+
this.mouseY = eventY;
|
|
119
|
+
if (this.activeResizer) {
|
|
120
|
+
this.activeResizer.style.bottom = `${-this.changeY}px`;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
if (isX && this.disableCalcMap & DISABLE_MASK.w) {
|
|
124
|
+
const isLeft = (_a = this.activeResizer) === null || _a === void 0 ? void 0 : _a.classList.contains("resizable-l");
|
|
125
|
+
let diffX = eventX - this.mouseX;
|
|
126
|
+
let changedX = this.changeX + diffX;
|
|
127
|
+
const newWidth = this.width + changedX * (isLeft ? -1 : 1);
|
|
128
|
+
if (newWidth < this.minW) {
|
|
129
|
+
changedX = -(this.width - this.minW);
|
|
130
|
+
}
|
|
131
|
+
if (this.maxW && newWidth > this.maxW) {
|
|
132
|
+
changedX = this.maxW - this.width;
|
|
133
|
+
}
|
|
134
|
+
this.changeX = changedX;
|
|
135
|
+
this.mouseX = eventX;
|
|
136
|
+
if (this.activeResizer) {
|
|
137
|
+
if (!isLeft) {
|
|
138
|
+
this.activeResizer.style.right = `${-this.changeX}px`;
|
|
139
|
+
} else {
|
|
140
|
+
this.activeResizer.style.left = `${this.changeX}px`;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
this.emitEvent(ResizeEvents.move);
|
|
145
|
+
}
|
|
146
|
+
handleDown(event) {
|
|
147
|
+
if (event.defaultPrevented) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
event.preventDefault();
|
|
151
|
+
this.dropInitial();
|
|
152
|
+
for (let elClass in RESIZE_MASK) {
|
|
153
|
+
const target = event.target;
|
|
154
|
+
if (this.$el.contains(target) && (target === null || target === void 0 ? void 0 : target.classList.contains(elClass))) {
|
|
155
|
+
document.body.style.cursor = RESIZE_MASK[elClass].cursor;
|
|
156
|
+
if (_ResizeDirective.isTouchEvent(event)) {
|
|
157
|
+
this.setInitials(event.touches[0], target);
|
|
158
|
+
} else {
|
|
159
|
+
event.preventDefault && event.preventDefault();
|
|
160
|
+
this.setInitials(event, target);
|
|
161
|
+
}
|
|
162
|
+
this.resizeState = RESIZE_MASK[elClass].bit;
|
|
163
|
+
const eventName = ResizeEvents.start;
|
|
164
|
+
this.emitEvent(eventName);
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
this.bindMove();
|
|
169
|
+
}
|
|
170
|
+
handleUp(e) {
|
|
171
|
+
e.preventDefault();
|
|
172
|
+
if (this.resizeState !== 0) {
|
|
173
|
+
this.resizeState = 0;
|
|
174
|
+
document.body.style.cursor = "";
|
|
175
|
+
const eventName = ResizeEvents.end;
|
|
176
|
+
this.emitEvent(eventName);
|
|
177
|
+
}
|
|
178
|
+
this.dropInitial();
|
|
179
|
+
this.unbindMove();
|
|
180
|
+
}
|
|
181
|
+
setInitials({ clientX, clientY }, target) {
|
|
182
|
+
var _a, _b, _c, _d;
|
|
183
|
+
const computedStyle = getComputedStyle(this.$el);
|
|
184
|
+
this.$el.classList.add("active");
|
|
185
|
+
this.activeResizer = target;
|
|
186
|
+
if (this.disableCalcMap & DISABLE_MASK.w) {
|
|
187
|
+
this.mouseX = clientX;
|
|
188
|
+
this.width = this.$el.clientWidth;
|
|
189
|
+
this.parent.width = (_b = (_a = this.$el.parentElement) === null || _a === void 0 ? void 0 : _a.clientWidth) !== null && _b !== void 0 ? _b : 0;
|
|
190
|
+
const minPaddingX = parseFloat(computedStyle.paddingLeft) + parseFloat(computedStyle.paddingRight);
|
|
191
|
+
this.minW = Math.max(minPaddingX, this.initialProps.minWidth || 0);
|
|
192
|
+
if (this.initialProps.maxWidth) {
|
|
193
|
+
this.maxW = Math.max(this.width, this.initialProps.maxWidth);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
if (this.disableCalcMap & DISABLE_MASK.h) {
|
|
197
|
+
this.mouseY = clientY;
|
|
198
|
+
this.height = this.$el.clientHeight;
|
|
199
|
+
this.parent.height = (_d = (_c = this.$el.parentElement) === null || _c === void 0 ? void 0 : _c.clientHeight) !== null && _d !== void 0 ? _d : 0;
|
|
200
|
+
const minPaddingY = parseFloat(computedStyle.paddingTop) + parseFloat(computedStyle.paddingBottom);
|
|
201
|
+
this.minH = Math.max(minPaddingY, this.initialProps.minHeight || 0);
|
|
202
|
+
if (this.initialProps.maxHeight) {
|
|
203
|
+
this.maxH = Math.max(this.height, this.initialProps.maxHeight);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
dropInitial() {
|
|
208
|
+
this.changeX = this.changeY = this.minW = this.minH;
|
|
209
|
+
this.width = this.height = 0;
|
|
210
|
+
if (this.activeResizer) {
|
|
211
|
+
this.activeResizer.removeAttribute("style");
|
|
212
|
+
}
|
|
213
|
+
this.$el.classList.remove("active");
|
|
214
|
+
this.activeResizer = void 0;
|
|
215
|
+
}
|
|
216
|
+
bindMove() {
|
|
217
|
+
document.documentElement.addEventListener("mouseup", this.mouseUpFunc, true);
|
|
218
|
+
document.documentElement.addEventListener("touchend", this.mouseUpFunc, true);
|
|
219
|
+
document.documentElement.addEventListener("mousemove", this.mouseMoveFunc, true);
|
|
220
|
+
document.documentElement.addEventListener("touchmove", this.mouseMoveFunc, true);
|
|
221
|
+
document.documentElement.addEventListener("mouseleave", this.mouseUpFunc);
|
|
222
|
+
}
|
|
223
|
+
unbindMove() {
|
|
224
|
+
document.documentElement.removeEventListener("mouseup", this.mouseUpFunc, true);
|
|
225
|
+
document.documentElement.removeEventListener("touchend", this.mouseUpFunc, true);
|
|
226
|
+
document.documentElement.removeEventListener("mousemove", this.mouseMoveFunc, true);
|
|
227
|
+
document.documentElement.removeEventListener("touchmove", this.mouseMoveFunc, true);
|
|
228
|
+
document.documentElement.removeEventListener("mouseleave", this.mouseUpFunc);
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
var ResizableElement = (props, children) => {
|
|
232
|
+
const resizeEls = [];
|
|
233
|
+
const directive = props.canResize && new ResizeDirective(props, (e) => {
|
|
234
|
+
var _a;
|
|
235
|
+
if (e.eventName === ResizeEvents.end) {
|
|
236
|
+
(_a = props.onResize) === null || _a === void 0 ? void 0 : _a.call(props, e);
|
|
237
|
+
}
|
|
238
|
+
}) || null;
|
|
239
|
+
if (props.active && props.canResize) {
|
|
240
|
+
for (let p in props.active) {
|
|
241
|
+
resizeEls.push(h("div", { onClick: (e) => e.preventDefault(), onDblClick: (e) => {
|
|
242
|
+
var _a;
|
|
243
|
+
e.preventDefault();
|
|
244
|
+
(_a = props.onDblClick) === null || _a === void 0 ? void 0 : _a.call(props, e);
|
|
245
|
+
}, onMouseDown: (e) => directive === null || directive === void 0 ? void 0 : directive.handleDown(e), onTouchStart: (e) => directive === null || directive === void 0 ? void 0 : directive.handleDown(e), class: `resizable resizable-${props.active[p]}` }));
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
return h("div", Object.assign({}, props, { ref: (e) => e && (directive === null || directive === void 0 ? void 0 : directive.set(e)) }), children, resizeEls);
|
|
249
|
+
};
|
|
250
|
+
var ON_COLUMN_CLICK = "columnclick";
|
|
251
|
+
var HeaderCellRenderer = ({ data, props, additionalData }, children) => {
|
|
252
|
+
let colTemplate = (data === null || data === void 0 ? void 0 : data.name) || "";
|
|
253
|
+
let cellProps = props;
|
|
254
|
+
if (data === null || data === void 0 ? void 0 : data.columnTemplate) {
|
|
255
|
+
colTemplate = data.columnTemplate(h, data, additionalData);
|
|
256
|
+
}
|
|
257
|
+
if (data === null || data === void 0 ? void 0 : data.columnProperties) {
|
|
258
|
+
const extra = data.columnProperties(data);
|
|
259
|
+
if (extra) {
|
|
260
|
+
cellProps = doPropMerge(props, extra);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
const resizeProps = Object.assign(Object.assign({}, cellProps), { onMouseDown(e) {
|
|
264
|
+
dispatch(e.currentTarget, ON_COLUMN_CLICK, {
|
|
265
|
+
data,
|
|
266
|
+
event: e
|
|
267
|
+
});
|
|
268
|
+
} });
|
|
269
|
+
return h(ResizableElement, Object.assign({}, resizeProps), h("div", { class: "header-content" }, colTemplate), children);
|
|
270
|
+
};
|
|
271
|
+
/*! Bundled license information:
|
|
272
|
+
|
|
273
|
+
@revolist/revogrid/dist/esm/header-cell-renderer-Cqtg1ETB.js:
|
|
274
|
+
(*!
|
|
275
|
+
* Built by Revolist OU ❤️
|
|
276
|
+
*)
|
|
277
|
+
*/
|
|
278
|
+
|
|
279
|
+
export { HeaderCellRenderer, ON_COLUMN_CLICK, dispatch };
|
|
280
|
+
//# sourceMappingURL=chunk-B67SYRQP.js.map
|
|
281
|
+
//# sourceMappingURL=chunk-B67SYRQP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/.pnpm/@revolist+revogrid@4.25.2/node_modules/@revolist/revogrid/dist/esm/header-cell-renderer-Cqtg1ETB.js"],"names":["ResizeEvents"],"mappings":"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","file":"chunk-B67SYRQP.js","sourcesContent":["/*!\n * Built by Revolist OU ❤️\n */\nimport { h } from './index-CtimkLsB.js';\nimport { Q as doPropMerge } from './column.service-Cfw3L0PN.js';\n\n/**\n * Dispatches a custom event to a specified target element.\n *\n * @param target - The target element to dispatch the event to.\n * @param eventName - The name of the custom event.\n * @param detail - Optional. The detail of the custom event.\n * @returns The custom event that was dispatched.\n */\nfunction dispatch(target, eventName, detail) {\n // Create a new CustomEvent with the specified event name and detail.\n const event = new CustomEvent(eventName, {\n detail,\n cancelable: true, // Indicates whether the event can be canceled.\n bubbles: true, // Indicates whether the event bubbles up through the DOM.\n });\n // Dispatch the event on the target element.\n target === null || target === void 0 ? void 0 : target.dispatchEvent(event);\n // Return the custom event that was dispatched.\n return event;\n}\n/**\n * Dispatches a custom event based on an existing event object and prevents the default behavior of the original event.\n *\n * @param e - The original event object containing the target and preventDefault method.\n * @param eventName - The name of the custom event.\n * @param detail - Optional. The detail of the custom event.\n * @returns The custom event that was dispatched.\n */\nfunction dispatchByEvent(e, // The original event object containing the target and preventDefault method.\neventName, // The name of the custom event.\ndetail) {\n // Prevent the default behavior of the original event.\n e.preventDefault();\n // Dispatch the custom event to the target element specified in the original event object.\n return dispatch(e.target, eventName, detail);\n}\n\nvar ResizeEvents;\n(function (ResizeEvents) {\n ResizeEvents[\"start\"] = \"resize:start\";\n ResizeEvents[\"move\"] = \"resize:move\";\n ResizeEvents[\"end\"] = \"resize:end\";\n})(ResizeEvents || (ResizeEvents = {}));\nconst RESIZE_MASK = {\n 'resizable-r': { bit: 0b0001, cursor: 'ew-resize' },\n 'resizable-rb': { bit: 0b0011, cursor: 'se-resize' },\n 'resizable-b': { bit: 0b0010, cursor: 's-resize' },\n 'resizable-lb': { bit: 0b0110, cursor: 'sw-resize' },\n 'resizable-l': { bit: 0b0100, cursor: 'w-resize' },\n 'resizable-lt': { bit: 0b1100, cursor: 'nw-resize' },\n 'resizable-t': { bit: 0b1000, cursor: 'n-resize' },\n 'resizable-rt': { bit: 0b1001, cursor: 'ne-resize' },\n};\nconst DISABLE_MASK = {\n w: 0b0100,\n h: 0b1000,\n};\nconst defaultProps = (props) => {\n return Object.assign(Object.assign({}, props), { fitParent: props.fitParent || false, active: props.active || [], disableAttributes: props.disableAttributes || [], minWidth: props.minWidth || 0, minHeight: props.minHeight || 0 });\n};\nclass ResizeDirective {\n constructor(initialProps, $event) {\n var _a, _b;\n this.initialProps = initialProps;\n this.$event = $event;\n this.mouseX = 0;\n this.mouseY = 0;\n this.width = 0;\n this.height = 0;\n this.changeX = 0;\n this.changeY = 0;\n this.disableCalcMap = 0b1111;\n this.props = defaultProps(initialProps);\n this.mouseMoveFunc = this.handleMove.bind(this);\n this.mouseUpFunc = this.handleUp.bind(this);\n this.minW = this.props.minWidth;\n this.minH = this.props.minHeight;\n this.maxW = (_a = this.props.maxWidth) !== null && _a !== void 0 ? _a : 0;\n this.maxH = (_b = this.props.maxHeight) !== null && _b !== void 0 ? _b : 0;\n this.parent = { width: 0, height: 0 };\n this.resizeState = 0;\n }\n set($el) {\n this.$el = $el;\n this.props.disableAttributes.forEach(attr => {\n switch (attr) {\n case 'l':\n this.disableCalcMap &= -2;\n break;\n case 't':\n this.disableCalcMap &= -3;\n break;\n case 'w':\n this.disableCalcMap &= -5;\n break;\n case 'h':\n this.disableCalcMap &= -9;\n }\n });\n }\n emitEvent(eventName, additionalOptions) {\n var _a;\n if (!this.$event) {\n return;\n }\n const isLeft = (_a = this.activeResizer) === null || _a === void 0 ? void 0 : _a.classList.contains('resizable-l');\n this.$event(Object.assign({ eventName, width: this.width + this.changeX * (isLeft ? -1 : 1), height: this.height + this.changeY, changedX: this.changeX, changedY: this.changeY }, additionalOptions));\n }\n static isTouchEvent(e) {\n var _a;\n const event = e;\n return ((_a = event.touches) === null || _a === void 0 ? void 0 : _a.length) >= 0;\n }\n handleMove(event) {\n var _a;\n if (!this.resizeState) {\n return;\n }\n let eventY, eventX;\n if (ResizeDirective.isTouchEvent(event)) {\n eventY = event.touches[0].clientY;\n eventX = event.touches[0].clientX;\n }\n else {\n eventY = event.clientY;\n eventX = event.clientX;\n }\n let isX = this.resizeState & RESIZE_MASK['resizable-r'].bit ||\n this.resizeState & RESIZE_MASK['resizable-l'].bit;\n let isY = this.resizeState & RESIZE_MASK['resizable-t'].bit ||\n this.resizeState & RESIZE_MASK['resizable-b'].bit;\n if (isY && this.disableCalcMap & DISABLE_MASK.h) {\n let diffY = eventY - this.mouseY;\n let changedY = this.changeY + diffY;\n const newHeight = this.height + changedY;\n // if overcrossed min height\n if (newHeight < this.minH) {\n changedY = -(this.height - this.minH);\n }\n // if overcrossed max heiht\n if (this.maxH && newHeight > this.maxH) {\n changedY = this.maxH - this.height;\n }\n this.changeY = changedY;\n this.mouseY = eventY;\n if (this.activeResizer) {\n this.activeResizer.style.bottom = `${-this.changeY}px`;\n }\n }\n if (isX && this.disableCalcMap & DISABLE_MASK.w) {\n const isLeft = (_a = this.activeResizer) === null || _a === void 0 ? void 0 : _a.classList.contains('resizable-l');\n let diffX = eventX - this.mouseX;\n let changedX = this.changeX + diffX;\n const newWidth = this.width + changedX * (isLeft ? -1 : 1);\n // if overcrossed min width\n if (newWidth < this.minW) {\n changedX = -(this.width - this.minW);\n }\n // if overcrossed max width\n if (this.maxW && newWidth > this.maxW) {\n changedX = this.maxW - this.width;\n }\n this.changeX = changedX;\n this.mouseX = eventX;\n if (this.activeResizer) {\n if (!isLeft) {\n this.activeResizer.style.right = `${-this.changeX}px`;\n }\n else {\n this.activeResizer.style.left = `${this.changeX}px`;\n }\n }\n }\n this.emitEvent(ResizeEvents.move);\n }\n handleDown(event) {\n if (event.defaultPrevented) {\n return;\n }\n // stop other events if resize in progress\n event.preventDefault();\n this.dropInitial();\n for (let elClass in RESIZE_MASK) {\n const target = event.target;\n if (this.$el.contains(target) && (target === null || target === void 0 ? void 0 : target.classList.contains(elClass))) {\n document.body.style.cursor = RESIZE_MASK[elClass].cursor;\n if (ResizeDirective.isTouchEvent(event)) {\n this.setInitials(event.touches[0], target);\n }\n else {\n event.preventDefault && event.preventDefault();\n this.setInitials(event, target);\n }\n this.resizeState = RESIZE_MASK[elClass].bit;\n const eventName = ResizeEvents.start;\n this.emitEvent(eventName);\n break;\n }\n }\n this.bindMove();\n }\n handleUp(e) {\n e.preventDefault();\n if (this.resizeState !== 0) {\n this.resizeState = 0;\n document.body.style.cursor = '';\n const eventName = ResizeEvents.end;\n this.emitEvent(eventName);\n }\n this.dropInitial();\n this.unbindMove();\n }\n setInitials({ clientX, clientY }, target) {\n var _a, _b, _c, _d;\n const computedStyle = getComputedStyle(this.$el);\n this.$el.classList.add('active');\n this.activeResizer = target;\n if (this.disableCalcMap & DISABLE_MASK.w) {\n this.mouseX = clientX;\n this.width = this.$el.clientWidth;\n this.parent.width = (_b = (_a = this.$el.parentElement) === null || _a === void 0 ? void 0 : _a.clientWidth) !== null && _b !== void 0 ? _b : 0;\n // min width\n const minPaddingX = parseFloat(computedStyle.paddingLeft) +\n parseFloat(computedStyle.paddingRight);\n this.minW = Math.max(minPaddingX, this.initialProps.minWidth || 0);\n // max width\n if (this.initialProps.maxWidth) {\n this.maxW = Math.max(this.width, this.initialProps.maxWidth);\n }\n }\n if (this.disableCalcMap & DISABLE_MASK.h) {\n this.mouseY = clientY;\n this.height = this.$el.clientHeight;\n this.parent.height = (_d = (_c = this.$el.parentElement) === null || _c === void 0 ? void 0 : _c.clientHeight) !== null && _d !== void 0 ? _d : 0;\n // min height\n const minPaddingY = parseFloat(computedStyle.paddingTop) +\n parseFloat(computedStyle.paddingBottom);\n this.minH = Math.max(minPaddingY, this.initialProps.minHeight || 0);\n // max height\n if (this.initialProps.maxHeight) {\n this.maxH = Math.max(this.height, this.initialProps.maxHeight);\n }\n }\n }\n dropInitial() {\n this.changeX = this.changeY = this.minW = this.minH;\n this.width = this.height = 0;\n if (this.activeResizer) {\n this.activeResizer.removeAttribute('style');\n }\n this.$el.classList.remove('active');\n this.activeResizer = undefined;\n }\n bindMove() {\n document.documentElement.addEventListener('mouseup', this.mouseUpFunc, true);\n document.documentElement.addEventListener('touchend', this.mouseUpFunc, true);\n document.documentElement.addEventListener('mousemove', this.mouseMoveFunc, true);\n document.documentElement.addEventListener('touchmove', this.mouseMoveFunc, true);\n document.documentElement.addEventListener('mouseleave', this.mouseUpFunc);\n }\n unbindMove() {\n document.documentElement.removeEventListener('mouseup', this.mouseUpFunc, true);\n document.documentElement.removeEventListener('touchend', this.mouseUpFunc, true);\n document.documentElement.removeEventListener('mousemove', this.mouseMoveFunc, true);\n document.documentElement.removeEventListener('touchmove', this.mouseMoveFunc, true);\n document.documentElement.removeEventListener('mouseleave', this.mouseUpFunc);\n }\n}\n\nconst ResizableElement = (props, children) => {\n const resizeEls = [];\n const directive = (props.canResize &&\n new ResizeDirective(props, e => {\n var _a;\n if (e.eventName === ResizeEvents.end) {\n (_a = props.onResize) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }\n })) ||\n null;\n if (props.active && props.canResize) {\n for (let p in props.active) {\n resizeEls.push(h(\"div\", { onClick: e => e.preventDefault(), onDblClick: e => {\n var _a;\n e.preventDefault();\n (_a = props.onDblClick) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }, onMouseDown: (e) => directive === null || directive === void 0 ? void 0 : directive.handleDown(e), onTouchStart: (e) => directive === null || directive === void 0 ? void 0 : directive.handleDown(e), class: `resizable resizable-${props.active[p]}` }));\n }\n }\n return (h(\"div\", Object.assign({}, props, { ref: e => e && (directive === null || directive === void 0 ? void 0 : directive.set(e)) }), children, resizeEls));\n};\n\nconst ON_COLUMN_CLICK = 'columnclick';\nconst HeaderCellRenderer = ({ data, props, additionalData }, children) => {\n let colTemplate = (data === null || data === void 0 ? void 0 : data.name) || '';\n let cellProps = props;\n if (data === null || data === void 0 ? void 0 : data.columnTemplate) {\n colTemplate = data.columnTemplate(h, data, additionalData);\n }\n if (data === null || data === void 0 ? void 0 : data.columnProperties) {\n const extra = data.columnProperties(data);\n if (extra) {\n cellProps = doPropMerge(props, extra);\n }\n }\n const resizeProps = Object.assign(Object.assign({}, cellProps), { onMouseDown(e) {\n dispatch(e.currentTarget, ON_COLUMN_CLICK, {\n data,\n event: e,\n });\n } });\n return (h(ResizableElement, Object.assign({}, resizeProps), h(\"div\", { class: \"header-content\" }, colTemplate), children));\n};\n\nexport { HeaderCellRenderer as H, ON_COLUMN_CLICK as O, dispatchByEvent as a, dispatch as d };\n"]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { codesLetter, keyValues, EDIT_INPUT_WR } from './chunk-AOKCBPMV.js';
|
|
2
|
+
|
|
3
|
+
// ../../node_modules/.pnpm/@revolist+revogrid@4.25.2/node_modules/@revolist/revogrid/dist/esm/edit.utils-4e9fsqOR.js
|
|
4
|
+
function isClear(code) {
|
|
5
|
+
return codesLetter.BACKSPACE === code || codesLetter.DELETE === code;
|
|
6
|
+
}
|
|
7
|
+
function isTab(code) {
|
|
8
|
+
return codesLetter.TAB === code;
|
|
9
|
+
}
|
|
10
|
+
function isEnterKeyValue(key) {
|
|
11
|
+
return keyValues.ENTER === key;
|
|
12
|
+
}
|
|
13
|
+
function isCut(event) {
|
|
14
|
+
return event.ctrlKey && event.code === "KeyX" || // Ctrl + X on Windows
|
|
15
|
+
event.metaKey && event.code === "KeyX";
|
|
16
|
+
}
|
|
17
|
+
function isCopy(event) {
|
|
18
|
+
return event.ctrlKey && event.code === "KeyC" || // Ctrl + C on Windows
|
|
19
|
+
event.metaKey && event.code === "KeyC";
|
|
20
|
+
}
|
|
21
|
+
function isPaste(event) {
|
|
22
|
+
return event.ctrlKey && event.code === "KeyV" || // Ctrl + V on Windows
|
|
23
|
+
event.metaKey && event.code === "KeyV";
|
|
24
|
+
}
|
|
25
|
+
function isAll(event) {
|
|
26
|
+
return event.ctrlKey && event.code === "KeyA" || // Ctrl + A on Windows
|
|
27
|
+
event.metaKey && event.code === "KeyA";
|
|
28
|
+
}
|
|
29
|
+
function isShortcutModifier(event) {
|
|
30
|
+
var _a;
|
|
31
|
+
if ((_a = event.getModifierState) === null || _a === void 0 ? void 0 : _a.call(event, "AltGraph")) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
if (event.ctrlKey && event.altKey && !event.metaKey && event.key.length === 1) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
return event.ctrlKey || event.metaKey;
|
|
38
|
+
}
|
|
39
|
+
function isEditInput(el) {
|
|
40
|
+
return !!(el === null || el === void 0 ? void 0 : el.closest(`.${EDIT_INPUT_WR}`));
|
|
41
|
+
}
|
|
42
|
+
function isEditorCtrConstructible(editor) {
|
|
43
|
+
return typeof editor === "function" && typeof editor.prototype === "object";
|
|
44
|
+
}
|
|
45
|
+
/*! Bundled license information:
|
|
46
|
+
|
|
47
|
+
@revolist/revogrid/dist/esm/edit.utils-4e9fsqOR.js:
|
|
48
|
+
(*!
|
|
49
|
+
* Built by Revolist OU ❤️
|
|
50
|
+
*)
|
|
51
|
+
*/
|
|
52
|
+
|
|
53
|
+
export { isAll, isClear, isCopy, isCut, isEditInput, isEditorCtrConstructible, isEnterKeyValue, isPaste, isShortcutModifier, isTab };
|
|
54
|
+
//# sourceMappingURL=chunk-FNRVFA2C.js.map
|
|
55
|
+
//# sourceMappingURL=chunk-FNRVFA2C.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/.pnpm/@revolist+revogrid@4.25.2/node_modules/@revolist/revogrid/dist/esm/edit.utils-4e9fsqOR.js"],"names":[],"mappings":";;;AAyDA,SAAS,QAAQ,IAAA,EAAM;AACnB,EAAA,OAAO,WAAA,CAAY,SAAA,KAAc,IAAA,IAAQ,WAAA,CAAY,MAAA,KAAW,IAAA;AACpE;AACA,SAAS,MAAM,IAAA,EAAM;AACjB,EAAA,OAAO,YAAY,GAAA,KAAQ,IAAA;AAC/B;AAIA,SAAS,gBAAgB,GAAA,EAAK;AAC1B,EAAA,OAAO,UAAU,KAAA,KAAU,GAAA;AAC/B;AACA,SAAS,MAAM,KAAA,EAAO;AAClB,EAAA,OAAS,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,IAAA,KAAS,MAAA;AAAA,EACpC,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,IAAA,KAAS,MAAA;AACzC;AACA,SAAS,OAAO,KAAA,EAAO;AACnB,EAAA,OAAS,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,IAAA,KAAS,MAAA;AAAA,EACpC,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,IAAA,KAAS,MAAA;AACzC;AACA,SAAS,QAAQ,KAAA,EAAO;AACpB,EAAA,OAAS,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,IAAA,KAAS,MAAA;AAAA,EACpC,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,IAAA,KAAS,MAAA;AACzC;AACA,SAAS,MAAM,KAAA,EAAO;AAClB,EAAA,OAAS,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,IAAA,KAAS,MAAA;AAAA,EACpC,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,IAAA,KAAS,MAAA;AACzC;AAQA,SAAS,mBAAmB,KAAA,EAAO;AAC/B,EAAA,IAAI,EAAA;AACJ,EAAA,IAAA,CAAK,EAAA,GAAK,KAAA,CAAM,gBAAA,MAAsB,IAAA,IAAQ,EAAA,KAAO,MAAA,GAAS,MAAA,GAAS,EAAA,CAAG,IAAA,CAAK,KAAA,EAAO,UAAU,CAAA,EAAG;AAC/F,IAAA,OAAO,KAAA;AAAA,EACX;AACA,EAAA,IAAI,KAAA,CAAM,OAAA,IACN,KAAA,CAAM,MAAA,IACN,CAAC,MAAM,OAAA,IACP,KAAA,CAAM,GAAA,CAAI,MAAA,KAAW,CAAA,EAAG;AACxB,IAAA,OAAO,KAAA;AAAA,EACX;AACA,EAAA,OAAO,KAAA,CAAM,WAAW,KAAA,CAAM,OAAA;AAClC;AAGA,SAAS,YAAY,EAAA,EAAI;AACrB,EAAA,OAAO,CAAC,EAAE,EAAA,KAAO,IAAA,IAAQ,EAAA,KAAO,MAAA,GAAS,MAAA,GAAS,EAAA,CAAG,OAAA,CAAQ,CAAA,CAAA,EAAI,aAAa,CAAA,CAAE,CAAA,CAAA;AACpF;AAEA,SAAS,yBAAyB,MAAA,EAAQ;AACtC,EAAA,OAAO,OAAO,MAAA,KAAW,UAAA,IAAc,OAAO,OAAO,SAAA,KAAc,QAAA;AACvE","file":"chunk-FNRVFA2C.js","sourcesContent":["/*!\n * Built by Revolist OU ❤️\n */\nimport { O as KeyCodesEnum, P as OsPlatform, I as codesLetter, J as keyValues, E as EDIT_INPUT_WR } from './dimension.helpers-fl4HSSK9.js';\n\nfunction isMetaKey(code) {\n const keys = [\n KeyCodesEnum.ARROW_DOWN,\n KeyCodesEnum.ARROW_UP,\n KeyCodesEnum.ARROW_LEFT,\n KeyCodesEnum.ARROW_RIGHT,\n KeyCodesEnum.HOME,\n KeyCodesEnum.END,\n KeyCodesEnum.DELETE,\n KeyCodesEnum.BACKSPACE,\n KeyCodesEnum.F1,\n KeyCodesEnum.F2,\n KeyCodesEnum.F3,\n KeyCodesEnum.F4,\n KeyCodesEnum.F5,\n KeyCodesEnum.F6,\n KeyCodesEnum.F7,\n KeyCodesEnum.F8,\n KeyCodesEnum.F9,\n KeyCodesEnum.F10,\n KeyCodesEnum.F11,\n KeyCodesEnum.F12,\n KeyCodesEnum.TAB,\n KeyCodesEnum.PAGE_DOWN,\n KeyCodesEnum.PAGE_UP,\n KeyCodesEnum.ENTER,\n KeyCodesEnum.ESCAPE,\n KeyCodesEnum.SHIFT,\n KeyCodesEnum.CAPS_LOCK,\n KeyCodesEnum.ALT,\n ];\n return keys.indexOf(code) !== -1;\n}\n// navigator.platform\nfunction isCtrlKey(code, platform) {\n if (platform.includes(OsPlatform.mac)) {\n return [\n KeyCodesEnum.COMMAND_LEFT,\n KeyCodesEnum.COMMAND_RIGHT,\n KeyCodesEnum.COMMAND_FIREFOX,\n ].includes(code);\n }\n return code === KeyCodesEnum.CONTROL;\n}\nfunction isCtrlMetaKey(code) {\n return [\n KeyCodesEnum.CONTROL,\n KeyCodesEnum.COMMAND_LEFT,\n KeyCodesEnum.COMMAND_RIGHT,\n KeyCodesEnum.COMMAND_FIREFOX,\n ].includes(code);\n}\nfunction isClear(code) {\n return codesLetter.BACKSPACE === code || codesLetter.DELETE === code;\n}\nfunction isTab(code) {\n return codesLetter.TAB === code;\n}\nfunction isTabKeyValue(key) {\n return keyValues.TAB === key;\n}\nfunction isEnterKeyValue(key) {\n return keyValues.ENTER === key;\n}\nfunction isCut(event) {\n return ((event.ctrlKey && event.code === 'KeyX') || // Ctrl + X on Windows\n (event.metaKey && event.code === 'KeyX')); // Cmd + X on Mac\n}\nfunction isCopy(event) {\n return ((event.ctrlKey && event.code === 'KeyC') || // Ctrl + C on Windows\n (event.metaKey && event.code === 'KeyC')); // Cmd + C on Mac\n}\nfunction isPaste(event) {\n return ((event.ctrlKey && event.code === 'KeyV') || // Ctrl + V on Windows\n (event.metaKey && event.code === 'KeyV')); // Cmd + V on Mac\n}\nfunction isAll(event) {\n return ((event.ctrlKey && event.code === 'KeyA') || // Ctrl + A on Windows\n (event.metaKey && event.code === 'KeyA')); // Cmd + A on Mac\n}\n/**\n * Returns true when a keyboard event represents a shortcut modifier that\n * should not start cell editing from printable `event.key` input.\n *\n * AltGr is intentionally excluded because many Windows/Linux layouts expose\n * printable AltGr characters as Ctrl+Alt key events.\n */\nfunction isShortcutModifier(event) {\n var _a;\n if ((_a = event.getModifierState) === null || _a === void 0 ? void 0 : _a.call(event, 'AltGraph')) {\n return false;\n }\n if (event.ctrlKey &&\n event.altKey &&\n !event.metaKey &&\n event.key.length === 1) {\n return false;\n }\n return event.ctrlKey || event.metaKey;\n}\n\n// is edit input\nfunction isEditInput(el) {\n return !!(el === null || el === void 0 ? void 0 : el.closest(`.${EDIT_INPUT_WR}`));\n}\n// Type guard for EditorCtrConstructible\nfunction isEditorCtrConstructible(editor) {\n return typeof editor === 'function' && typeof editor.prototype === 'object';\n}\n\nexport { isCtrlKey as a, isCtrlMetaKey as b, isClear as c, isTab as d, isTabKeyValue as e, isEnterKeyValue as f, isCut as g, isCopy as h, isMetaKey as i, isPaste as j, isAll as k, isShortcutModifier as l, isEditInput as m, isEditorCtrConstructible as n };\n"]}
|