@omegagrid/grid 0.6.112 → 0.6.114
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/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/ui/comment.d.ts +5 -1
- package/dist/ui/comment.d.ts.map +1 -1
- package/dist/ui/comment.js +24 -2
- package/dist/ui/comment.js.map +1 -1
- package/dist/ui/comment.style.d.ts.map +1 -1
- package/dist/ui/comment.style.js +5 -1
- package/dist/ui/comment.style.js.map +1 -1
- package/dist/ui/grid.events.d.ts.map +1 -1
- package/dist/ui/grid.events.js +3 -1
- package/dist/ui/grid.events.js.map +1 -1
- package/package.json +7 -7
package/dist/constants.d.ts
CHANGED
|
@@ -56,6 +56,8 @@ declare const _default: {
|
|
|
56
56
|
AUTOSCROLL_INTERVAL: number;
|
|
57
57
|
DEFAULT_SPARKLINE_OPTIONS: import("@omegagrid/grid-core").SparklineOptions;
|
|
58
58
|
DEFAULT_OPTIONS: import("@omegagrid/grid-core").Options;
|
|
59
|
+
MAX_COMMENT_AUTOHEIGHT: number;
|
|
60
|
+
MIN_COMMENT_AUTOHEIGHT: number;
|
|
59
61
|
};
|
|
60
62
|
export default _default;
|
|
61
63
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;;mCAMoM,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;;mCAMoM,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO,2BAA2B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AALjkB,wBAKE"}
|
package/dist/ui/comment.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Container } from '@omegagrid/core';
|
|
1
2
|
import { LitElement } from 'lit';
|
|
2
3
|
import { CellModel, CommentItem } from '@omegagrid/grid-core';
|
|
3
4
|
import { TableCell } from './table';
|
|
@@ -13,6 +14,8 @@ export declare class Comment extends LitElement {
|
|
|
13
14
|
items: CommentItem[];
|
|
14
15
|
cellModel: CellModel;
|
|
15
16
|
editIndex: number;
|
|
17
|
+
container: Container;
|
|
18
|
+
head: HTMLDivElement;
|
|
16
19
|
bodies: NodeList;
|
|
17
20
|
get editBody(): HTMLDivElement;
|
|
18
21
|
get editing(): boolean;
|
|
@@ -29,7 +32,7 @@ export declare class Comment extends LitElement {
|
|
|
29
32
|
show: () => HTMLElement;
|
|
30
33
|
constructor();
|
|
31
34
|
add(): void;
|
|
32
|
-
startEdit(index: number): void
|
|
35
|
+
startEdit(index: number): Promise<void>;
|
|
33
36
|
endEdit(): void;
|
|
34
37
|
delete(index: number): void;
|
|
35
38
|
commit(): void;
|
|
@@ -50,6 +53,7 @@ export declare class Comment extends LitElement {
|
|
|
50
53
|
deatach(timeout?: number): void;
|
|
51
54
|
get zIndex(): number;
|
|
52
55
|
updateConnector(): void;
|
|
56
|
+
setDefaultSize(): Promise<void>;
|
|
53
57
|
attachTo(cell: TableCell, cellModel: CellModel, startEdit?: boolean): void;
|
|
54
58
|
}
|
|
55
59
|
//# sourceMappingURL=comment.d.ts.map
|
package/dist/ui/comment.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comment.d.ts","sourceRoot":"","sources":["../../src/ui/comment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"comment.d.ts","sourceRoot":"","sources":["../../src/ui/comment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAiB,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIpC,qBAAa,YAAa,SAAQ,KAAK;aAIrB,KAAK,EAAE,WAAW,EAAE;aACpB,OAAO,EAAE,WAAW;aACpB,KAAK,EAAE,MAAM;aACb,IAAI,EAAE,SAAS;gBAJ/B,IAAI,EAAE,MAAM,EACI,KAAK,EAAE,WAAW,EAAE,EACpB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,SAAS;CAKhC;AAED,qBACa,OAAQ,SAAQ,UAAU;IAEtC,MAAM,CAAC,MAAM,4BAAW;IAGxB,KAAK,EAAE,WAAW,EAAE,CAAC;IAGrB,SAAS,EAAE,SAAS,CAAC;IAGrB,SAAS,SAAM;IAGf,SAAS,EAAE,SAAS,CAAC;IAGrB,IAAI,EAAE,cAAc,CAAC;IAGrB,MAAM,EAAE,QAAQ,CAAC;IAEjB,IAAI,QAAQ,IAA2C,cAAc,CAAE;IACvE,IAAI,OAAO,YAAiC;IAC5C,IAAI,QAAQ,gBAAwC;IACpD,IAAI,aAAa,kDAAoD;IAErE,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,UAAU,CAAgB;IAElC,IAAI,UAAU,gBAA8B;IAC5C,IAAI,UAAU,YAAgC;IAE9C,IAAI,oBAA+B;IACnC,IAAI,oBAA+B;;IAQnC,GAAG;IAQG,SAAS,CAAC,KAAK,EAAE,MAAM;IAS7B,OAAO;IAKP,MAAM,CAAC,KAAK,EAAE,MAAM;IAMpB,MAAM;IAQN,oBAAoB;IAIpB,OAAO;IAIP,YAAY,MAAO,UAAU,UAE3B;IAEF,YAAY,aAMV;IAEF,kBAAkB,aAGhB;IAEF,gBAAgB,aAGd;IAEF,kBAAkB,MAAO,UAAU,UAIjC;IAEF,kBAAkB,MAAO,UAAU,UAMjC;IAEF,OAAO;IAmBP,OAAO,CAAC,KAAK,EAAE,MAAM;IAIrB,IAAI,MAAM,YAET;IAED,gBAAgB,SAAU,WAAW,SAAS,MAAM,+CAwB7C;IAEP,UAAU,SAAU,WAAW,SAAS,MAAM,0CAM5C;IAEF,MAAM,6CAcJ;IAEF,OAAO,CAAC,OAAO,SAAI;IAcnB,IAAI,MAAM,WAGT;IAED,eAAe;IA8BT,cAAc;IAapB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,UAAQ;CAwBjE"}
|
package/dist/ui/comment.js
CHANGED
|
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { dom, utils } from '@omegagrid/core';
|
|
8
8
|
import { LitElement, html } from 'lit';
|
|
9
|
-
import { customElement, property, queryAll, state } from 'lit/decorators.js';
|
|
9
|
+
import { customElement, property, query, queryAll, state } from 'lit/decorators.js';
|
|
10
10
|
import { CommentItem, gridConstants } from '@omegagrid/grid-core';
|
|
11
11
|
import { style } from './comment.style';
|
|
12
12
|
import { map } from 'lit/directives/map.js';
|
|
@@ -122,9 +122,13 @@ let Comment = class Comment extends LitElement {
|
|
|
122
122
|
}));
|
|
123
123
|
this.startEdit(0);
|
|
124
124
|
}
|
|
125
|
-
startEdit(index) {
|
|
125
|
+
async startEdit(index) {
|
|
126
126
|
this.editIndex = index;
|
|
127
127
|
this.requestUpdate();
|
|
128
|
+
await this.updateComplete;
|
|
129
|
+
if (this.offsetHeight < this.container.inner.offsetHeight) {
|
|
130
|
+
dom.setSize(this, { h: this.container.inner.offsetHeight + this.head.offsetHeight + 10 });
|
|
131
|
+
}
|
|
128
132
|
}
|
|
129
133
|
endEdit() {
|
|
130
134
|
this.commit();
|
|
@@ -220,6 +224,15 @@ let Comment = class Comment extends LitElement {
|
|
|
220
224
|
stroke="#8b7600" stroke-width="1"/>
|
|
221
225
|
`;
|
|
222
226
|
}
|
|
227
|
+
async setDefaultSize() {
|
|
228
|
+
new Promise(resolve => {
|
|
229
|
+
setTimeout(() => {
|
|
230
|
+
const h = Math.max(gridConstants.MIN_COMMENT_AUTOHEIGHT, Math.min(gridConstants.MAX_COMMENT_AUTOHEIGHT, this.container.inner.offsetHeight));
|
|
231
|
+
dom.setSize(this, { h: this.head.offsetHeight + h });
|
|
232
|
+
resolve();
|
|
233
|
+
}, 100);
|
|
234
|
+
});
|
|
235
|
+
}
|
|
223
236
|
attachTo(cell, cellModel, startEdit = false) {
|
|
224
237
|
this._attachedTo = cell;
|
|
225
238
|
this.items = cellModel.comments;
|
|
@@ -231,6 +244,8 @@ let Comment = class Comment extends LitElement {
|
|
|
231
244
|
if (this.parentElement != document.body)
|
|
232
245
|
document.body.appendChild(this);
|
|
233
246
|
document.body.addEventListener('mousedown', this._onParentMouseDown);
|
|
247
|
+
if (dom.isHidden(this))
|
|
248
|
+
this.setDefaultSize();
|
|
234
249
|
this.show();
|
|
235
250
|
const offset = dom.getElementOffset(cell, document.body);
|
|
236
251
|
dom.setPosition(this, {
|
|
@@ -238,6 +253,7 @@ let Comment = class Comment extends LitElement {
|
|
|
238
253
|
t: offset.top + cellModel.model.options.comments.offsetY
|
|
239
254
|
});
|
|
240
255
|
this.style.zIndex = this.zIndex.toString();
|
|
256
|
+
this.setDefaultSize();
|
|
241
257
|
this.updateConnector();
|
|
242
258
|
if (startEdit)
|
|
243
259
|
this.startEdit(0);
|
|
@@ -253,6 +269,12 @@ __decorate([
|
|
|
253
269
|
__decorate([
|
|
254
270
|
state()
|
|
255
271
|
], Comment.prototype, "editIndex", void 0);
|
|
272
|
+
__decorate([
|
|
273
|
+
query('og-container')
|
|
274
|
+
], Comment.prototype, "container", void 0);
|
|
275
|
+
__decorate([
|
|
276
|
+
query('.head')
|
|
277
|
+
], Comment.prototype, "head", void 0);
|
|
256
278
|
__decorate([
|
|
257
279
|
queryAll('.comment-body')
|
|
258
280
|
], Comment.prototype, "bodies", void 0);
|
package/dist/ui/comment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comment.js","sourceRoot":"","sources":["../../src/ui/comment.ts"],"names":[],"mappings":"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","sourcesContent":["import { dom, utils } from '@omegagrid/core';\nimport { LitElement, html } from 'lit';\nimport { customElement, property, queryAll, state } from 'lit/decorators.js';\nimport { CellModel, CommentItem, gridConstants } from '@omegagrid/grid-core';\nimport { style } from './comment.style';\nimport { TableCell } from './table';\nimport { map } from 'lit/directives/map.js';\nimport { msg } from '@omegagrid/localize';\n\nexport class CommentEvent extends Event {\n\n\tconstructor(\n\t\ttype: string,\n\t\tpublic readonly items: CommentItem[],\n\t\tpublic readonly comment: CommentItem,\n\t\tpublic readonly index: number,\n\t\tpublic readonly cell: CellModel\n\t) {\n\t\tsuper(`comment.${type}`, {bubbles: true, composed: true});\n\t}\n\n}\n\n@customElement('og-grid-comment')\nexport class Comment extends LitElement {\n\n\tstatic styles = [style];\n\n\t@property({type: Array})\n\titems: CommentItem[];\n\n\t@state()\n\tcellModel: CellModel;\n\n\t@state()\n\teditIndex = -1;\n\n\t@queryAll('.comment-body')\n\tbodies: NodeList;\n\t\n\tget editBody() { return this.bodies[this.editIndex] as HTMLDivElement }\n\tget editing() { return this.editIndex > -1 }\n\tget editItem() { return this.items[this.editIndex] }\n\tget globalOptions() { return this.cellModel?.model.options.comments }\n\n\tprivate _attachedTo: HTMLElement;\n\tprivate _hideTimer: number = null;\n\tprivate _hideTimerDisabled = false;\n\tprivate _movingOffset: {x: number, y: number} = null;\n\tprivate _connector: SVGSVGElement;\n\n\tget attachedTo() { return this._attachedTo }\n\tget isAttached() { return !!this._attachedTo }\n\n\thide = () => dom.hideElement(this);\n\tshow = () => dom.showElement(this);\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.addEventListener('mousedown', this._onMouseDown);\n\t\tthis.addEventListener('mouseover', this._onMouseOver);\n\t}\n\n\tadd() {\n\t\tthis.items.unshift(new CommentItem({\n\t\t\ttext: '', \n\t\t\tauthor: this.cellModel.model.options.user\n\t\t}));\n\t\tthis.startEdit(0);\n\t}\n\n\tstartEdit(index: number) {\n\t\tthis.editIndex = index;\n\t\tthis.requestUpdate();\n\t}\n\n\tendEdit() {\n\t\tthis.commit();\n\t\tthis.editIndex = -1;\n\t}\n\n\tdelete(index: number) {\n\t\tconst deleted = this.items.splice(index, 1);\n\t\tthis.requestUpdate();\n\t\tthis.dispatchEvent(new CommentEvent('delete', this.items, deleted ? deleted[0] : null, null, this.cellModel));\n\t}\n\n\tcommit() {\n\t\tif (!this.editItem) return;\n\t\tif (this.editItem.text == this.editBody.innerText) return;\n\t\tthis.editItem.text = this.editBody.innerText;\n\t\tthis.editItem.date = new Date();\n\t\tthis.dispatchEvent(new CommentEvent('commit', this.items, this.editItem, this.editIndex, this.cellModel));\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.destroy();\n\t}\n\t\n\tdestroy() {\n\t\tif (this._connector?.parentElement) this._connector.remove();\n\t}\n\n\t_onMouseDown = (e: MouseEvent) => {\n\t\te.stopPropagation();\n\t};\n\n\t_onMouseOver = () => {\n\t\tthis._hideTimerDisabled = true;\n\t\tif (this._hideTimer) {\n\t\t\twindow.clearTimeout(this._hideTimer);\n\t\t\tthis._hideTimer = null;\n\t\t}\n\t};\n\n\t_onParentMouseDown = () => {\n\t\tthis._hideTimerDisabled = false;\n\t\tthis.deatach(0);\n\t};\n\n\t_onParentMouseUp = () => {\n\t\tthis.parentElement.removeEventListener('mouseup', this._onParentMouseUp);\n\t\tthis.parentElement.removeEventListener('mousemove', this._onParentMouseMove);\n\t};\n\n\t_onHeaderMouseDown = (e: MouseEvent) => {\n\t\tthis._movingOffset = {x: e.offsetX, y: e.offsetY};\n\t\tthis.parentElement.addEventListener('mouseup', this._onParentMouseUp);\n\t\tthis.parentElement.addEventListener('mousemove', this._onParentMouseMove);\n\t};\n\n\t_onParentMouseMove = (e: MouseEvent) => {\n\t\tdom.setPosition(this, {\n\t\t\tl: e.pageX - this._movingOffset.x,\n\t\t\tt: e.pageY - this._movingOffset.y,\n\t\t});\n\t\tthis.updateConnector();\n\t};\n\n\tupdated() {\n\t\tif (this.editBody) {\n\t\t\tthis.editBody.focus();\n\t\t\tthis.editBody.addEventListener('blur', () => this.endEdit(), {once: true});\n\t\t}\n\n\t\tthis.items?.forEach((item, i) => {\n\t\t\tconst body = this.bodies[i] as HTMLDivElement;\n\t\t\t\n\t\t\tif (utils.isFunction(this.cellModel?.commentRenderer)) {\n\t\t\t\tbody.style.whiteSpace = 'normal';\n\t\t\t\tthis.cellModel?.commentRenderer(body, item, this.cellModel);\n\t\t\t} else {\n\t\t\t\tbody.style.whiteSpace = 'pre-wrap';\n\t\t\t\tbody.textContent = item?.text ?? '';\n\t\t\t}\n\t\t});\n\t}\n\n\tcanEdit(index: number) {\n\t\treturn this.cellModel?.commentable && !this.items[index].readOnly;\n\t}\n\n\tget canAdd() {\n\t\treturn this.cellModel?.commentable;\n\t}\n\n\trenderItemHeader = (item: CommentItem, index: number) => item?.author || item?.date || this.canEdit(index) ? html`\n\t\t<div class=\"comment-title\">\n\t\t\t<div class=\"author\">${item.author?.name ?? item.author?.id ?? \"\"}</div>\n\t\t\t${item?.date ? html`\n\t\t\t\t<div class=\"date\">\n\t\t\t\t\t${this.cellModel.model.options.dateFormatter(item?.date, this.cellModel.model.options.dateFormat + ' HH:mm')}\n\t\t\t\t</div>\n\t\t\t` : ``}\n\n\t\t\t${this.canEdit(index) ? html`\n\t\t\t\t<og-dropdown-menu\n\t\t\t\t\tnoCaret\n\t\t\t\t\tdynamicWidth\n\t\t\t\t\tcolor=\"gray\"\n\t\t\t\t\talignment=\"right\"\n\t\t\t\t\tstyle=\"width: 20px; text-align: center\"\n\t\t\t\t\ticon=\"ellipsis-vertical\"\n\t\t\t\t\t.items=\"${[\n\t\t\t\t\t\t{key: 'edit', icon: \"pen\", value: msg('Edit'), exec: () => this.startEdit(index)},\n\t\t\t\t\t\t{key: 'delete', icon: \"trash\", value: msg('Delete'), exec: () => this.delete(index)},\n\t\t\t\t\t]}\">\n\t\t\t\t</og-dropdown-menu>\n\t\t\t` : ``}\n\t\t</div>\n\t` : ``;\n\t\n\trenderItem = (item: CommentItem, index: number) => html`\n\t\t<div class=\"comment\">\n\t\t\t${this.globalOptions?.headerPosition == 'top' ? this.renderItemHeader(item, index) : null}\n\t\t\t<div class=\"comment-body\" ?contenteditable=\"${this.editIndex == index}\"></div>\n\t\t\t${this.globalOptions?.headerPosition == 'bottom' ? this.renderItemHeader(item, index) : null}\n\t\t</div>\n\t`;\n\n\trender = () => html`\n\t\t<div class=\"container\">\n\t\t\t<div class=\"head\" @mousedown=\"${this._onHeaderMouseDown}\"></div>\n\t\t\t<og-container>\n\t\t\t\t<div class=\"body\" slot=\"content\">\n\t\t\t\t\t${this.canAdd ? html`\n\t\t\t\t\t\t<div class=\"controls\">\n\t\t\t\t\t\t\t<og-button icon=\"plus\" color=\"gray\" @click=\"${() => this.add()}\"></og-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t` : null}\n\t\t\t\t\t${map(this.items, this.renderItem)}\n\t\t\t\t</div>\n\t\t\t</og-container>\n\t\t</div>\n\t`;\n\n\tdeatach(timeout = 0) {\n\t\tif (!this.isAttached) return;\n\t\tif ((!this._hideTimerDisabled) && !this._hideTimer) {\n\t\t\tthis._hideTimer = window.setTimeout(() => {\n\t\t\t\tthis._attachedTo = null;\n\t\t\t\tthis.hide();\n\t\t\t\tif (this._connector) this._connector.style.display = 'none';\n\t\t\t\tif (this.parentElement) {\n\t\t\t\t\tthis.parentElement.removeEventListener('mousemove', this._onParentMouseDown);\n\t\t\t\t}\n\t\t\t}, timeout);\n\t\t}\n\t}\n\n\tget zIndex() {\n\t\treturn this.cellModel?.model?.options?.comments?.zIndex\n\t\t\t?? gridConstants.DEFAULT_OPTIONS.comments.zIndex;\n\t}\n\n\tupdateConnector() {\n\t\tif (!this.isAttached) return;\n\t\tif (!this._connector) {\n\t\t\tthis._connector = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n\t\t\tdocument.body.appendChild(this._connector);\n\t\t}\n\n\t\tconst cellOffset = dom.getElementOffset(this.attachedTo, document.body);\n\t\tconst leftToRight = cellOffset.left + this._attachedTo.offsetWidth < this.offsetLeft + this.offsetWidth / 2;\n\t\tconst topToBottom = cellOffset.top < this.offsetTop + this.offsetHeight / 2;\n\t\tconst x1 = leftToRight ? cellOffset.left + this._attachedTo.offsetWidth : this.offsetLeft + this.offsetWidth / 2;\n\t\tconst y1 = topToBottom ? cellOffset.top : this.offsetTop + this.offsetHeight / 2;\n\t\tconst x2 = !leftToRight ? cellOffset.left + this._attachedTo.offsetWidth : this.offsetLeft + this.offsetWidth / 2;\n\t\tconst y2 = !topToBottom ? cellOffset.top : this.offsetTop + this.offsetHeight / 2;\n\n\t\tthis._connector.setAttribute(\"width\", (x2 - x1).toString());\n\t\tthis._connector.setAttribute(\"height\", (y2 - y1).toString());\n\t\tthis._connector.style.pointerEvents = \"none\";\n\t\tthis._connector.style.zIndex = (this.zIndex - 1).toString();\n\t\t\n\t\tdom.setPosition(this._connector, {l: x1, t: y1});\n\t\tthis._connector.style.display = 'block';\n\t\tthis._connector.innerHTML = `\n\t\t\t<line \n\t\t\t\tx1=\"${leftToRight ? 0 : (x2 - x1)}\" y1=\"${topToBottom ? 0 : (y2 - y1)}\" \n\t\t\t\tx2=\"${!leftToRight ? 0 : (x2 - x1)}\" y2=\"${!topToBottom ? 0 : (y2 - y1)}\" \n\t\t\t\tstroke=\"#8b7600\" stroke-width=\"1\"/>\n\t\t`;\n\t}\n\n\tattachTo(cell: TableCell, cellModel: CellModel, startEdit = false) {\n\t\tthis._attachedTo = cell;\n\t\tthis.items = cellModel.comments;\n\t\tthis.cellModel = cellModel;\n\t\tthis._hideTimerDisabled = startEdit;\n\t\tif (this._hideTimer) window.clearTimeout(this._hideTimer);\n\t\tthis._hideTimer = null;\n\t\tif (this.parentElement != document.body) document.body.appendChild(this);\n\t\tdocument.body.addEventListener('mousedown', this._onParentMouseDown);\n\t\tthis.show();\n\t\tconst offset = dom.getElementOffset(cell, document.body);\n\t\tdom.setPosition(this, {\n\t\t\tl: offset.left + cell.offsetWidth + cellModel.model.options.comments.offsetX, \n\t\t\tt: offset.top + cellModel.model.options.comments.offsetY\n\t\t});\n\t\tthis.style.zIndex = this.zIndex.toString();\n\n\t\tthis.updateConnector();\n\t\tif (startEdit) this.startEdit(0);\n\t}\n\t\n}"]}
|
|
1
|
+
{"version":3,"file":"comment.js","sourceRoot":"","sources":["../../src/ui/comment.ts"],"names":[],"mappings":"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","sourcesContent":["import { Container, dom, utils } from '@omegagrid/core';\nimport { LitElement, html } from 'lit';\nimport { customElement, property, query, queryAll, state } from 'lit/decorators.js';\nimport { CellModel, CommentItem, gridConstants } from '@omegagrid/grid-core';\nimport { style } from './comment.style';\nimport { TableCell } from './table';\nimport { map } from 'lit/directives/map.js';\nimport { msg } from '@omegagrid/localize';\n\nexport class CommentEvent extends Event {\n\n\tconstructor(\n\t\ttype: string,\n\t\tpublic readonly items: CommentItem[],\n\t\tpublic readonly comment: CommentItem,\n\t\tpublic readonly index: number,\n\t\tpublic readonly cell: CellModel\n\t) {\n\t\tsuper(`comment.${type}`, {bubbles: true, composed: true});\n\t}\n\n}\n\n@customElement('og-grid-comment')\nexport class Comment extends LitElement {\n\n\tstatic styles = [style];\n\n\t@property({type: Array})\n\titems: CommentItem[];\n\n\t@state()\n\tcellModel: CellModel;\n\n\t@state()\n\teditIndex = -1;\n\n\t@query('og-container')\n\tcontainer: Container;\n\n\t@query('.head')\n\thead: HTMLDivElement;\n\n\t@queryAll('.comment-body')\n\tbodies: NodeList;\n\t\n\tget editBody() { return this.bodies[this.editIndex] as HTMLDivElement }\n\tget editing() { return this.editIndex > -1 }\n\tget editItem() { return this.items[this.editIndex] }\n\tget globalOptions() { return this.cellModel?.model.options.comments }\n\n\tprivate _attachedTo: HTMLElement;\n\tprivate _hideTimer: number = null;\n\tprivate _hideTimerDisabled = false;\n\tprivate _movingOffset: {x: number, y: number} = null;\n\tprivate _connector: SVGSVGElement;\n\n\tget attachedTo() { return this._attachedTo }\n\tget isAttached() { return !!this._attachedTo }\n\n\thide = () => dom.hideElement(this);\n\tshow = () => dom.showElement(this);\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.addEventListener('mousedown', this._onMouseDown);\n\t\tthis.addEventListener('mouseover', this._onMouseOver);\n\t}\n\n\tadd() {\n\t\tthis.items.unshift(new CommentItem({\n\t\t\ttext: '', \n\t\t\tauthor: this.cellModel.model.options.user\n\t\t}));\n\t\tthis.startEdit(0);\n\t}\n\n\tasync startEdit(index: number) {\n\t\tthis.editIndex = index;\n\t\tthis.requestUpdate();\n\t\tawait this.updateComplete;\n\t\tif (this.offsetHeight < this.container.inner.offsetHeight) {\n\t\t\tdom.setSize(this, {h: this.container.inner.offsetHeight + this.head.offsetHeight + 10});\n\t\t}\n\t}\n\n\tendEdit() {\n\t\tthis.commit();\n\t\tthis.editIndex = -1;\n\t}\n\n\tdelete(index: number) {\n\t\tconst deleted = this.items.splice(index, 1);\n\t\tthis.requestUpdate();\n\t\tthis.dispatchEvent(new CommentEvent('delete', this.items, deleted ? deleted[0] : null, null, this.cellModel));\n\t}\n\n\tcommit() {\n\t\tif (!this.editItem) return;\n\t\tif (this.editItem.text == this.editBody.innerText) return;\n\t\tthis.editItem.text = this.editBody.innerText;\n\t\tthis.editItem.date = new Date();\n\t\tthis.dispatchEvent(new CommentEvent('commit', this.items, this.editItem, this.editIndex, this.cellModel));\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.destroy();\n\t}\n\t\n\tdestroy() {\n\t\tif (this._connector?.parentElement) this._connector.remove();\n\t}\n\n\t_onMouseDown = (e: MouseEvent) => {\n\t\te.stopPropagation();\n\t};\n\n\t_onMouseOver = () => {\n\t\tthis._hideTimerDisabled = true;\n\t\tif (this._hideTimer) {\n\t\t\twindow.clearTimeout(this._hideTimer);\n\t\t\tthis._hideTimer = null;\n\t\t}\n\t};\n\n\t_onParentMouseDown = () => {\n\t\tthis._hideTimerDisabled = false;\n\t\tthis.deatach(0);\n\t};\n\n\t_onParentMouseUp = () => {\n\t\tthis.parentElement.removeEventListener('mouseup', this._onParentMouseUp);\n\t\tthis.parentElement.removeEventListener('mousemove', this._onParentMouseMove);\n\t};\n\n\t_onHeaderMouseDown = (e: MouseEvent) => {\n\t\tthis._movingOffset = {x: e.offsetX, y: e.offsetY};\n\t\tthis.parentElement.addEventListener('mouseup', this._onParentMouseUp);\n\t\tthis.parentElement.addEventListener('mousemove', this._onParentMouseMove);\n\t};\n\n\t_onParentMouseMove = (e: MouseEvent) => {\n\t\tdom.setPosition(this, {\n\t\t\tl: e.pageX - this._movingOffset.x,\n\t\t\tt: e.pageY - this._movingOffset.y,\n\t\t});\n\t\tthis.updateConnector();\n\t};\n\n\tupdated() {\n\t\tif (this.editBody) {\n\t\t\tthis.editBody.focus();\n\t\t\tthis.editBody.addEventListener('blur', () => this.endEdit(), {once: true});\n\t\t}\n\n\t\tthis.items?.forEach((item, i) => {\n\t\t\tconst body = this.bodies[i] as HTMLDivElement;\n\t\t\t\n\t\t\tif (utils.isFunction(this.cellModel?.commentRenderer)) {\n\t\t\t\tbody.style.whiteSpace = 'normal';\n\t\t\t\tthis.cellModel?.commentRenderer(body, item, this.cellModel);\n\t\t\t} else {\n\t\t\t\tbody.style.whiteSpace = 'pre-wrap';\n\t\t\t\tbody.textContent = item?.text ?? '';\n\t\t\t}\n\t\t});\n\t}\n\n\tcanEdit(index: number) {\n\t\treturn this.cellModel?.commentable && !this.items[index].readOnly;\n\t}\n\n\tget canAdd() {\n\t\treturn this.cellModel?.commentable;\n\t}\n\n\trenderItemHeader = (item: CommentItem, index: number) => item?.author || item?.date || this.canEdit(index) ? html`\n\t\t<div class=\"comment-title\">\n\t\t\t<div class=\"author\">${item.author?.name ?? item.author?.id ?? \"\"}</div>\n\t\t\t${item?.date ? html`\n\t\t\t\t<div class=\"date\">\n\t\t\t\t\t${this.cellModel.model.options.dateFormatter(item?.date, this.cellModel.model.options.dateFormat + ' HH:mm')}\n\t\t\t\t</div>\n\t\t\t` : ``}\n\n\t\t\t${this.canEdit(index) ? html`\n\t\t\t\t<og-dropdown-menu\n\t\t\t\t\tnoCaret\n\t\t\t\t\tdynamicWidth\n\t\t\t\t\tcolor=\"gray\"\n\t\t\t\t\talignment=\"right\"\n\t\t\t\t\tstyle=\"width: 20px; text-align: center\"\n\t\t\t\t\ticon=\"ellipsis-vertical\"\n\t\t\t\t\t.items=\"${[\n\t\t\t\t\t\t{key: 'edit', icon: \"pen\", value: msg('Edit'), exec: () => this.startEdit(index)},\n\t\t\t\t\t\t{key: 'delete', icon: \"trash\", value: msg('Delete'), exec: () => this.delete(index)},\n\t\t\t\t\t]}\">\n\t\t\t\t</og-dropdown-menu>\n\t\t\t` : ``}\n\t\t</div>\n\t` : ``;\n\t\n\trenderItem = (item: CommentItem, index: number) => html`\n\t\t<div class=\"comment\">\n\t\t\t${this.globalOptions?.headerPosition == 'top' ? this.renderItemHeader(item, index) : null}\n\t\t\t<div class=\"comment-body\" ?contenteditable=\"${this.editIndex == index}\"></div>\n\t\t\t${this.globalOptions?.headerPosition == 'bottom' ? this.renderItemHeader(item, index) : null}\n\t\t</div>\n\t`;\n\n\trender = () => html`\n\t\t<div class=\"container\">\n\t\t\t<div class=\"head\" @mousedown=\"${this._onHeaderMouseDown}\"></div>\n\t\t\t<og-container>\n\t\t\t\t<div class=\"body\" slot=\"content\">\n\t\t\t\t\t${this.canAdd ? html`\n\t\t\t\t\t\t<div class=\"controls\">\n\t\t\t\t\t\t\t<og-button icon=\"plus\" color=\"gray\" @click=\"${() => this.add()}\"></og-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t` : null}\n\t\t\t\t\t${map(this.items, this.renderItem)}\n\t\t\t\t</div>\n\t\t\t</og-container>\n\t\t</div>\n\t`;\n\n\tdeatach(timeout = 0) {\n\t\tif (!this.isAttached) return;\n\t\tif ((!this._hideTimerDisabled) && !this._hideTimer) {\n\t\t\tthis._hideTimer = window.setTimeout(() => {\n\t\t\t\tthis._attachedTo = null;\n\t\t\t\tthis.hide();\n\t\t\t\tif (this._connector) this._connector.style.display = 'none';\n\t\t\t\tif (this.parentElement) {\n\t\t\t\t\tthis.parentElement.removeEventListener('mousemove', this._onParentMouseDown);\n\t\t\t\t}\n\t\t\t}, timeout);\n\t\t}\n\t}\n\n\tget zIndex() {\n\t\treturn this.cellModel?.model?.options?.comments?.zIndex\n\t\t\t?? gridConstants.DEFAULT_OPTIONS.comments.zIndex;\n\t}\n\n\tupdateConnector() {\n\t\tif (!this.isAttached) return;\n\t\tif (!this._connector) {\n\t\t\tthis._connector = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n\t\t\tdocument.body.appendChild(this._connector);\n\t\t}\n\n\t\tconst cellOffset = dom.getElementOffset(this.attachedTo, document.body);\n\t\tconst leftToRight = cellOffset.left + this._attachedTo.offsetWidth < this.offsetLeft + this.offsetWidth / 2;\n\t\tconst topToBottom = cellOffset.top < this.offsetTop + this.offsetHeight / 2;\n\t\tconst x1 = leftToRight ? cellOffset.left + this._attachedTo.offsetWidth : this.offsetLeft + this.offsetWidth / 2;\n\t\tconst y1 = topToBottom ? cellOffset.top : this.offsetTop + this.offsetHeight / 2;\n\t\tconst x2 = !leftToRight ? cellOffset.left + this._attachedTo.offsetWidth : this.offsetLeft + this.offsetWidth / 2;\n\t\tconst y2 = !topToBottom ? cellOffset.top : this.offsetTop + this.offsetHeight / 2;\n\n\t\tthis._connector.setAttribute(\"width\", (x2 - x1).toString());\n\t\tthis._connector.setAttribute(\"height\", (y2 - y1).toString());\n\t\tthis._connector.style.pointerEvents = \"none\";\n\t\tthis._connector.style.zIndex = (this.zIndex - 1).toString();\n\t\t\n\t\tdom.setPosition(this._connector, {l: x1, t: y1});\n\t\tthis._connector.style.display = 'block';\n\t\tthis._connector.innerHTML = `\n\t\t\t<line \n\t\t\t\tx1=\"${leftToRight ? 0 : (x2 - x1)}\" y1=\"${topToBottom ? 0 : (y2 - y1)}\" \n\t\t\t\tx2=\"${!leftToRight ? 0 : (x2 - x1)}\" y2=\"${!topToBottom ? 0 : (y2 - y1)}\" \n\t\t\t\tstroke=\"#8b7600\" stroke-width=\"1\"/>\n\t\t`;\n\t}\n\n\tasync setDefaultSize() {\n\t\tnew Promise<void>(resolve => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst h = Math.max(\n\t\t\t\t\tgridConstants.MIN_COMMENT_AUTOHEIGHT,\n\t\t\t\t\tMath.min(gridConstants.MAX_COMMENT_AUTOHEIGHT, this.container.inner.offsetHeight)\n\t\t\t\t);\n\t\t\t\tdom.setSize(this, {h: this.head.offsetHeight + h});\n\t\t\t\tresolve();\n\t\t\t}, 100);\n\t\t});\n\t}\n\n\tattachTo(cell: TableCell, cellModel: CellModel, startEdit = false) {\n\t\tthis._attachedTo = cell;\n\t\tthis.items = cellModel.comments;\n\t\tthis.cellModel = cellModel;\n\t\tthis._hideTimerDisabled = startEdit;\n\t\tif (this._hideTimer) window.clearTimeout(this._hideTimer);\n\t\tthis._hideTimer = null;\n\t\tif (this.parentElement != document.body) document.body.appendChild(this);\n\t\tdocument.body.addEventListener('mousedown', this._onParentMouseDown);\n\n\t\tif (dom.isHidden(this)) this.setDefaultSize();\n\t\tthis.show();\n\t\tconst offset = dom.getElementOffset(cell, document.body);\n\t\tdom.setPosition(this, {\n\t\t\tl: offset.left + cell.offsetWidth + cellModel.model.options.comments.offsetX, \n\t\t\tt: offset.top + cellModel.model.options.comments.offsetY\n\t\t});\n\t\tthis.style.zIndex = this.zIndex.toString();\n\n\t\tthis.setDefaultSize();\n\t\tthis.updateConnector();\n\t\tif (startEdit) this.startEdit(0);\n\t}\n\t\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comment.style.d.ts","sourceRoot":"","sources":["../../src/ui/comment.style.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"comment.style.d.ts","sourceRoot":"","sources":["../../src/ui/comment.style.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,yBAuFjB,CAAC"}
|
package/dist/ui/comment.style.js
CHANGED
|
@@ -13,7 +13,7 @@ export const style = css `
|
|
|
13
13
|
font-size: var(--og-font-size);
|
|
14
14
|
font-family: var(--og-font-family);
|
|
15
15
|
width: 250px;
|
|
16
|
-
|
|
16
|
+
height: 100px;
|
|
17
17
|
resize: both;
|
|
18
18
|
overflow: hidden;
|
|
19
19
|
}
|
|
@@ -82,5 +82,9 @@ export const style = css `
|
|
|
82
82
|
.comment {
|
|
83
83
|
border-bottom: 1px solid var(--og-colortype-yellow-border-color);
|
|
84
84
|
}
|
|
85
|
+
|
|
86
|
+
.comment:last-child {
|
|
87
|
+
border-bottom: none;
|
|
88
|
+
}
|
|
85
89
|
`;
|
|
86
90
|
//# sourceMappingURL=comment.style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comment.style.js","sourceRoot":"","sources":["../../src/ui/comment.style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"comment.style.js","sourceRoot":"","sources":["../../src/ui/comment.style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuFvB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const style = css`\n\t* {\n\t\tbox-sizing: border-box;\n\t}\n\n\t:host {\n\t\tz-index: 500;\n\t\tposition: absolute;\n\t\tbackground-color: var(--og-colortype-yellow-background-color);\n\t\tborder: 1px solid var(--og-colortype-yellow-border-color);\n\t\tcolor: var(--og-colortype-yellow-text-color);\n\t\tfont-size: var(--og-font-size);\n\t\tfont-family: var(--og-font-family);\n\t\twidth: 250px;\n\t\theight: 100px;\n\t\tresize: both;\n\t\toverflow: hidden;\n\t}\n\n\t.container {\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\theight: 100%;\n\t}\n\n\t.head {\n\t\tcursor: move;\n\t\tuser-select: none;\n\t\tbackground: var(--og-colortype-yellow-border-color);\n\t\tmin-height: 10px;\n\t\tflex: 0;\n\t}\n\n\t.controls {\n\t\tpadding: 2px;\n\t}\n\n\t.controls og-button {\n\t\twidth: 100%;\n\t}\n\n\tog-container {\n\t\tflex: 1;\n\t}\n\n\t.comment > div:last-child {\n\t\tpadding-top: 0;\n\t}\n\n\t.comment-title {\n\t\tpadding: 5px;\n\t\tuser-select: none;\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tgap: 5px;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twhite-space: nowrap;\n\t\tcolor: var(--og-colortype-yellow-border-color);\n\t}\n\n\t.comment-title > div {\n\t\tflex: 1;\n\t}\n\n\t.comment-title > div.date {\n\t\ttext-align: right;\n\t}\n\n\t.comment-body {\n\t\ttext-align: justify;\n\t\tpadding: 5px;\n\t\toutline: none;\n\t}\n\n\t.comment-body[contenteditable] {\n\t\tborder: 2px solid var(--og-text-color);\n\t}\n\n\t.comment {\n\t\tborder-bottom: 1px solid var(--og-colortype-yellow-border-color);\n\t}\n\n\t.comment:last-child {\n\t\tborder-bottom: none;\n\t}\n`;"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.events.d.ts","sourceRoot":"","sources":["../../src/ui/grid.events.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAY,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAgB,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAChJ,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIzC,qBAAa,SAAU,SAAQ,KAAK;IAEnC,IAAI,SAAS,kDAA2C;IACxD,IAAI,UAAU,cAAuC;IAErD,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;gBAEC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;CAUnD;AAED,qBAAa,aAAc,SAAQ,SAAS;IAE3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAErB,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;CAGzC;AAED,qBAAa,eAAgB,SAAQ,WAAW;IAC/C,SAAgB,IAAI,EAAE,IAAI,CAAC;gBACf,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;CAIjE;AAED,qBAAa,qBAAsB,SAAQ,eAAe;IACzD,SAAgB,MAAM,EAAE,WAAW,CAAC;gBACxB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;CAItF;AAED,qBAAa,kBAAmB,SAAQ,eAAe;IACtD,SAAgB,GAAG,EAAE,QAAQ,CAAC;gBAClB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;CAIhF;AAED,qBAAa,UAAU;IAWV,QAAQ,CAAC,IAAI,EAAE,IAAI;IAT/B,IAAI,KAAK,6CAA6B;IACtC,IAAI,SAAS,kDAAiC;IAC9C,IAAI,KAAK,4BAA6B;IAEtC,aAAa,UAAS;IACtB,YAAY,UAAS;IACrB,OAAO,UAAS;IAChB,WAAW,EAAE;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC,CAAgB;gBAE9B,IAAI,EAAE,IAAI;IAE/B,IAAI,SAAS,YAAoE;IAEjF,YAAY,gBAAmC;IAC/C,WAAW,4BAOV;IAED,UAAU,MAAO,aAAa,UAgF7B;IAED,YAAY,MAAO,YAAY,
|
|
1
|
+
{"version":3,"file":"grid.events.d.ts","sourceRoot":"","sources":["../../src/ui/grid.events.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/grid.events.js
CHANGED
|
@@ -207,7 +207,9 @@ export class GridEvents {
|
|
|
207
207
|
}
|
|
208
208
|
if (cellModel && cellModel.hasComment) {
|
|
209
209
|
hidePopups = false;
|
|
210
|
-
this.grid.comment.
|
|
210
|
+
if (this.grid.comment.attachedTo !== cell) {
|
|
211
|
+
this.grid.comment.attachTo(cell, cellModel);
|
|
212
|
+
}
|
|
211
213
|
}
|
|
212
214
|
}
|
|
213
215
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.events.js","sourceRoot":"","sources":["../../src/ui/grid.events.ts"],"names":[],"mappings":"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","sourcesContent":["import constants from \"../constants\";\nimport { dom, ResizeEvent, SlideEvent } from \"@omegagrid/core\";\nimport { debounce } from \"ts-debounce\";\nimport { CellModel, ColumnModel, autofill, CellRange, CellValueType, EditType, ElementModel, RowModel, CellSource } from \"@omegagrid/grid-core\";\nimport { Grid } from \"./grid\";\nimport { TableCell, TableHeaderCell } from \"./table\";\nimport { SelectorEvent, SelectorMoveEvent } from \"./selector\";\nimport { CommentEvent } from \"./comment\";\n\nconst IGNORED_KEYS = ['F5', 'F12'];\n\nexport class GridEvent extends Event {\n\n\tget selection() { return this.grid.selecting.selection }\n\tget activeCell() { return this.selection.activeCell }\n\t\n\tcells?: CellModel[];\n\tcell: CellModel;\n\trow: RowModel;\n\tcolumn: ColumnModel;\n\taction: string;\n\tgrid: Grid;\n\n\tconstructor(type: string, args?: Partial<GridEvent>) {\n\t\tsuper(`grid.${type}`, {bubbles: true, composed: true});\n\t\tObject.assign(this, args);\n\n\t\tif (this.cell) {\n\t\t\tthis.row = this.cell.row;\n\t\t\tthis.column = this.cell.column;\n\t\t}\n\t}\n\n}\n\nexport class GridEditEvent extends GridEvent {\n\n\tfromHistory?: boolean;\n\teditType?: EditType;\n\toldValues?: CellValueType[];\n\toldProps?: Partial<CellSource>[];\n\tnewValues?: CellValueType[];\n\tnewProps?: Partial<CellSource>[];\n\n\tconstructor(args?: Partial<GridEditEvent>) {\n\t\tsuper('edit', args);\n\t}\n}\n\nexport class GridResizeEvent extends ResizeEvent {\n\tpublic readonly grid: Grid;\n\tconstructor(type: string, grid: Grid, args?: Partial<ResizeEvent>) {\n\t\tsuper(`grid.${type}`, args);\n\t\tthis.grid = grid;\n\t}\n}\n\nexport class GridColumnResizeEvent extends GridResizeEvent {\n\tpublic readonly column: ColumnModel;\n\tconstructor(type: string, grid: Grid, column: ColumnModel, args?: Partial<ResizeEvent>) {\n\t\tsuper(type, grid, args);\n\t\tthis.column = column;\n\t}\n}\n\nexport class GridRowResizeEvent extends GridResizeEvent {\n\tpublic readonly row: RowModel;\n\tconstructor(type: string, grid: Grid, row: RowModel, args?: Partial<ResizeEvent>) {\n\t\tsuper(type, grid, args);\n\t\tthis.row = row;\n\t}\n}\n\nexport class GridEvents {\n\n\tget model() { return this.grid.model }\n\tget selection() { return this.grid.selection }\n\tget table() { return this.grid.table }\n\t\n\tclickDisabled = false;\n\teditDisabled = false;\n\tclicked = false;\n\tstartOffset: {x: number, y: number} = {x: 0, y: 0};\n\n\tconstructor(readonly grid: Grid) { }\n\n\tget isSliding() { return this.grid.hSlider.sliding || this.grid.vSlider.sliding }\n\n\tsuspendClick = () => this.clickDisabled = true;\n\tresumeClick = (delay = false) => { \n\t\tif (this.isSliding) return;\n\t\tif (delay) {\n\t\t\tsetTimeout(() => this.clickDisabled = false, 100)\n\t\t} else {\n\t\t\tthis.clickDisabled = false;\n\t\t}\n\t}\n\t\n\t_onKeyDown = (e: KeyboardEvent) => {\n\t\tif (!IGNORED_KEYS.includes(e.key)) e.preventDefault();\n\t\t\n\t\tswitch (e.key) {\n\t\t\tcase 'Tab':\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.grid.selecting.shiftActiveCell(e.shiftKey ? -1 : 1, true);\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowRight':\n\t\t\t\tthis.grid.selecting.debounceMoveSelector(1, 0);\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tthis.grid.selecting.debounceMoveSelector(-1, 0);\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\tthis.grid.selecting.debounceMoveSelector(0, 1);\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\tthis.grid.selecting.debounceMoveSelector(0, -1);\n\t\t\t\tbreak;\n\t\t\tcase 'PageUp':\n\t\t\t\tthis.grid.selecting.debounceMoveSelector(0, -this.table.viewport.rows.length);\n\t\t\t\tbreak;\n\t\t\tcase 'PageDown':\n\t\t\t\tthis.grid.selecting.debounceMoveSelector(0, this.table.viewport.rows.length);\n\t\t\t\tbreak;\n\t\t\tcase 'Home':\n\t\t\t\tthis.grid.selecting.debounceMoveSelector(\n\t\t\t\t\t-this.selection.range.c1, \n\t\t\t\t\te.ctrlKey ? -this.selection.range.r1 : 0\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'End':\n\t\t\t\tthis.grid.selecting.debounceMoveSelector(\n\t\t\t\t\tthis.model.gridRange.c2 - this.selection.range.c1,\n\t\t\t\t\te.ctrlKey ? this.model.gridRange.r2 - this.selection.range.r1 : 0\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'Enter':\n\t\t\t\tthis.grid.selecting.enter();\n\t\t\t\tbreak;\n\t\t\tcase 'Escape':\n\t\t\t\tthis.grid.selecting.hideCopySelector();\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\tcase 'C':\n\t\t\t\tif (e.ctrlKey) this.grid.editing.copySelection();\n\t\t\t\tbreak;\n\t\t\tcase 'v':\n\t\t\tcase 'V':\n\t\t\t\tif (e.ctrlKey) this.grid.editing.paste();\n\t\t\t\tbreak;\n\t\t\tcase 'z':\n\t\t\tcase 'Z':\n\t\t\t\tif (!this.grid.options.undoRedo) return;\n\t\t\t\tif (e.ctrlKey) this.grid.editing.undo();\n\t\t\t\tbreak;\n\t\t\tcase 'y':\n\t\t\tcase 'Y':\n\t\t\t\tif (!this.grid.options.undoRedo) return;\n\t\t\t\tif (e.ctrlKey) this.grid.editing.redo();\n\t\t\t\tbreak;\n\t\t\tcase 'F2':\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.grid.editing.startEdit();\n\t\t\t\tbreak;\n\t\t\tcase 'Delete':\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.grid.objects.delete();\n\t\t\t\tthis.grid.editing.clearSelection();\n\t\t\t\tbreak;\n\t\t\tcase 'Backspace':\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.grid.editing.clearSelection();\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (e.key.length == 1 && !e.ctrlKey) {\n\t\t\tthis.grid.editing.startEdit(e.key);\n\t\t}\n\t}\n\n\t_onMouseMove = (e: PointerEvent) => {\n\t\tlet hidePopups = true;\n\t\tconst hSizer = this.grid.hSizer;\n\t\tconst vSizer = this.grid.vSizer;\n\n\t\tconst { offsetX, offsetY} = e;\n\t\tlet scrollbarVisibilityTreshold = this.model.options.scrolling.scrollbarVisibilityTreshold;\n\t\tif (scrollbarVisibilityTreshold <= 0) scrollbarVisibilityTreshold = Math.max(this.grid.clientWidth, this.grid.clientHeight);\n\n\t\tif (offsetX > this.grid.clientWidth - scrollbarVisibilityTreshold) {\n\t\t\tthis.grid.vSlider.show();\n\t\t} else {\n\t\t\tthis.grid.vSlider.hide();\n\t\t}\n\n\t\tif (offsetY > this.grid.clientHeight - scrollbarVisibilityTreshold) {\n\t\t\tthis.grid.hSlider.show();\n\t\t} else {\n\t\t\tthis.grid.hSlider.hide();\n\t\t}\n\n\t\tconst [cell, exactCell] = this.table.findNearestTableCellByOffset(offsetX, offsetY);\n\t\t\n\t\tif (exactCell && exactCell.tagName == 'TH') {\n\t\t\tif (this.model.options.columnResize && !hSizer.resizing && exactCell.classList.contains('hlabel')) {\n\t\t\t\tif (exactCell.offsetWidth - e.offsetX + exactCell.offsetLeft < constants.RESIZE_TRESHOLD) {\n\t\t\t\t\thSizer.snap(exactCell, this.grid);\n\t\t\t\t\tthis.grid.rendering.currentResizedColumn = this.model.columns[exactCell.c];\n\t\t\t\t} else {\n\t\t\t\t\tdom.hideElement(hSizer);\n\t\t\t\t}\n\t\t\t} else if (this.model.options.rowResize && !vSizer.resizing && exactCell.classList.contains('vlabel')) {\n\t\t\t\tif (exactCell.offsetHeight - e.offsetY + exactCell.offsetTop < constants.RESIZE_TRESHOLD) {\n\t\t\t\t\tvSizer.snap(exactCell, this.grid);\n\t\t\t\t\tthis.grid.rendering.currentResizedRow = this.model.rows[exactCell.r];\n\t\t\t\t} else {\n\t\t\t\t\tdom.hideElement(vSizer);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (cell && cell.tagName == 'TH') {\n\t\t\tif (this.grid.selecting.isSelecting) {\n\t\t\t\tthis.suspendClick();\n\t\t\t\tthis.grid.selecting.updateSelecting(cell.c, cell.r);\n\t\t\t}\n\t\t\treturn;\n\t\t} else if (cell && cell.tagName == 'TD') {\n\t\t\tif (this.grid.selecting.isSelectorOperationActive || this.grid.selecting.isFormulaSelectorOperationActive) {\n\t\t\t\tconst { top, left } = dom.getElementOffset(cell, this.grid);\n\t\t\t\tthis.grid.rendering.autoscroll({\n\t\t\t\t\tx: left - this.table.totalHeaderWidth + e.offsetX - cell.offsetLeft,\n\t\t\t\t\ty: top - this.table.thead.clientHeight + e.offsetY - cell.offsetTop\n\t\t\t\t});\n\t\t\t\tif (this.grid.selecting.isSelecting) {\n\t\t\t\t\tthis.suspendClick();\n\t\t\t\t}\n\t\t\t\tthis.grid.selecting.updateSelecting(cell.c, cell.r);\n\t\t\t} else {\n\t\t\t\tconst cellModel = this.model.rows[cell.r]?.cell(cell.c);\n\t\t\t\tif (cellModel && cellModel.hasTooltip) {\n\t\t\t\t\thidePopups = false;\n\t\t\t\t\tthis.grid.tooltip.attachToCell(cell, cellModel);\n\t\t\t\t}\n\n\t\t\t\tif (cellModel && cellModel.hasComment) {\n\t\t\t\t\thidePopups = false;\n\t\t\t\t\tthis.grid.comment.attachTo(cell, cellModel);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (hidePopups) {\n\t\t\tthis.grid.tooltip.deatach();\n\t\t\tthis.grid.comment.deatach(this.model.options.comments.hideTimeout);\n\t\t}\n\n\t\tdom.hideElement(hSizer);\n\t\tdom.hideElement(vSizer);\n\t}\n\n\t_onMouseDown = (e: PointerEvent) => {\n\t\tif ((e.buttons & 1) == 0) return;\n\t\t\n\t\tthis.grid.setPointerCapture(e.pointerId);\n\t\tthis.startOffset = {x: e.offsetX, y: e.offsetY};\n\n\t\tfor (const elm of e.composedPath() as HTMLElement[]) {\n\t\t\tif (elm.tagName == 'TD') {\n\t\t\t\tconst td = elm as TableCell;\n\t\t\t\tthis.grid.selecting.startCellSelecting(new CellRange(td.c, td.r));\n\t\t\t\tbreak;\n\t\t\t} else if (elm.tagName == 'TH') {\n\t\t\t\tconst th = elm as TableHeaderCell;\n\t\t\t\tif (elm.matches('.sort')) {\n\t\t\t\t\tthis.grid.sorting.sort(th.c);\n\t\t\t\t} else if (th.classList.contains('filter')) {\n\t\t\t\t\tthis.grid.filtering.openFilter(this.model.columns[th.c], th);\n\t\t\t\t} else if (th.classList.contains('hlabel')) {\n\t\t\t\t\tthis.grid.selecting.startColumnSelecting(th.c);\n\t\t\t\t} else if (th.classList.contains('vlabel')) {\n\t\t\t\t\tthis.grid.selecting.startRowSelecting(th.r);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t_onMouseUp = (e: PointerEvent) => {\n\t\tif (e.buttons != 0) return;\n\n\t\tconst x = Math.abs(this.startOffset.x - e.offsetX);\n\t\tconst y = Math.abs(this.startOffset.y - e.offsetY);\n\t\tif (Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)) < this.model.options.events.click.mouseMoveTreshold) {\n\t\t\tthis.resumeClick();\n\t\t}\n\n\t\tthis.grid.releasePointerCapture(e.pointerId);\n\t\tthis.grid.selecting.stopSelectOperations();\n\t}\n\n\t_onClick = (e: PointerEvent) => {\n\t\tif (this.clickDisabled) return;\n\n\t\t// TODO: find better way to prevent clicks on scrollbars\n\t\tif (this.grid.clientHeight - e.offsetY < this.grid.hSlider.offsetHeight) return;\n\t\tif (this.grid.clientWidth - e.offsetX < this.grid.vSlider.offsetWidth) return;\n\n\t\tconst cell = this.table.findTableCellByOffset(e.offsetX, e.offsetY);\n\t\tconst cellModel = cell?.tagName == 'TD' ? this.model.rows[cell.r]?.cell(cell.c) : null;\n\t\tthis.grid.dispatchEvent(new GridEvent('click', {grid: this.grid, cell: cellModel}));\n\t}\n\n\t_onContextMenu = (e: MouseEvent) => {\n\t\te.preventDefault();\n\t\tfor (const elm of e.composedPath() as HTMLElement[]) {\n\t\t\tif (elm.tagName == 'TD') {\n\t\t\t\tconst td = elm as TableCell;\n\t\t\t\tthis.grid.menus.openCellMenu(this.model.rows[td.r].cell(td.c), {x: e.pageX, y: e.pageY});\n\t\t\t} else if (elm.tagName == 'TH') {\n\t\t\t\tconst th = elm as TableHeaderCell;\n\t\t\t\tif (th.classList.contains('hlabel')) {\n\t\t\t\t\tthis.grid.menus.openColumnMenu(this.model.columns[th.c], {x: e.pageX, y: e.pageY});\n\t\t\t\t} else if (th.classList.contains('vlabel')) {\n\t\t\t\t\tthis.grid.menus.openRowMenu(this.model.rows[th.r], {x: e.pageX, y: e.pageY});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t_onVerticalSlide = (e: SlideEvent) => {\n\t\tthis.table.rowOffset = Math.min(e.value, this.model.visibleRows.length - 1);\n\t\tthis.grid.rendering.requireVerticalUpdate = true;\n\t\t// this.grid.logger.info(`v-slide: ${e.value}`);\n\t\tthis.grid.rendering.renderCells();\n\t}\n\t\n\t_onHorizontalSlide = (e: SlideEvent) => {\n\t\tthis.table.colOffset = Math.min(e.value, this.model.visibleColumns.length - 1);\n\t\tthis.grid.rendering.requireHorizontalUpdate = true;\n\t\t// this.grid.logger.info(`h-slide: ${e.value}`);\n\t\tthis.grid.rendering.renderCells();\n\t}\n\n\t_onSlideStart = () => {\n\t\tthis.suspendClick();\n\t}\n\n\t_onSlideStop = () => {\n\t\tthis.resumeClick(true);\n\t}\n\n\t_denbounceHorizontalScroll = debounce((dx: number) => this.grid.rendering.scrollHorizontalByPixels(dx), 50);\n\t_onWheel = (e: WheelEvent) => {\n\t\tif (e.ctrlKey) return;\n\t\tif (e.deltaY != 0) this.grid.rendering.scrollVerticalByPixels(e.deltaY);\n\t\tif (e.deltaX != 0) {\n\t\t\tthis._denbounceHorizontalScroll(Math.sign(e.deltaX) * Math.min(100, Math.abs(e.deltaX)));\n\t\t}\n\t}\n\n\t_onTouchStart = (e: TouchEvent) => {\n\t\tthis.grid.rendering.touchStartX = e.touches[0];\n\t\tthis.grid.rendering.touchStartY = e.touches[0];\n\t}\n\n\t_onTouchEnd = (e: TouchEvent) => {\n\t\tthis.grid.rendering.touchStartX = e.touches[0];\n\t\tthis.grid.rendering.touchStartY = e.touches[0];\n\t}\n\n\t_onTouchMove = (e: TouchEvent) => {\n\t\tconst rendering = this.grid.rendering;\n\t\tif (rendering.touchStartY) {\n\t\t\tconst deltaY = rendering.touchStartY.clientY - e.touches[0].clientY;\n\t\t\tif (Math.abs(deltaY) > this.model.options.rowHeight && this.table.viewport.rows.length > 0) {\n\t\t\t\trendering.scrollVerticalByPixels(deltaY);\n\t\t\t\trendering.touchStartY = e.touches[0];\n\t\t\t}\n\t\t}\n\n\t\tif (rendering.touchStartX) {\n\t\t\tconst deltaX = rendering.touchStartX.clientX - e.touches[0].clientX;\n\t\t\tif (Math.abs(deltaX) > this.model.options.columnWidth && this.table.viewport.columns.length > 0) {\n\t\t\t\trendering.scrollHorizontalByPixels(deltaX);\n\t\t\t\trendering.touchStartX = e.touches[0];\n\t\t\t}\n\t\t}\n\t}\n\n\t_onHorizontalResizeStart = () => {\n\t\tthis.grid.rendering.resizing = true;\n\t\tthis.grid.rendering.currentResizedColumnWidth = this.grid.rendering.currentResizedColumn.width;\n\t}\n\n\t_onHorizontalResizeStop = (e: ResizeEvent) => {\n\t\tthis.suspendClick();\n\t\tthis.grid.rendering.resizing = false;\n\t\tthis.table.clearHeaderCache();\n\t\tthis.table.renderCells({horizontal: true});\n\t\tthis.grid.dispatchEvent(\n\t\t\tnew GridColumnResizeEvent('column.resize', this.grid, this.grid.rendering.currentResizedColumn, e)\n\t\t);\n\t}\n\n\t_onHorizontalResize = (e: ResizeEvent) => {\n\t\tconst rendering = this.grid.rendering;\n\t\t// if (this.resizing) e.stopPropagation();\n\t\trendering.currentResizedColumn.width = rendering.currentResizedColumnWidth + e.deltaX;\n\t\t// this.showMouseTooltip(`${columnModel.width.toString()}px`, {t: e.mouseY, l: e.mouseX});\n\t\tdom.setSize(this.table.getColumnByModelIndex(rendering.currentResizedColumn.index), {w: rendering.currentResizedColumn.width}, true);\n\t\tthis.grid.selecting.updateSelector();\n\t}\n\n\t_onVerticalResizeStart = () => {\n\t\tthis.grid.rendering.resizing = true;\n\t\tthis.grid.rendering.currentResizedRowHeight = this.grid.rendering.currentResizedRow.height;\n\t}\n\n\t_onVerticalResizeStop = (e: ResizeEvent) => {\n\t\tthis.suspendClick();\n\t\tthis.grid.rendering.resizing = false;\n\t\tthis.table.clearBodyCache();\n\t\tthis.table.renderCells({vertical: true});\n\t\tthis.grid.dispatchEvent(\n\t\t\tnew GridRowResizeEvent('row.resize', this.grid, this.grid.rendering.currentResizedRow, e)\n\t\t);\n\t}\n\n\t_onVerticalResize = (e: ResizeEvent) => {\n\t\tconst rendering = this.grid.rendering;\n\t\t// if (this.resizing) e.stopPropagation();\n\t\trendering.currentResizedRow.height = rendering.currentResizedRowHeight + e.deltaY;\n\t\t// this.showMouseTooltip(`${columnModel.width.toString()}px`, {t: e.mouseY, l: e.mouseX});\n\t\tdom.setSize(this.table.getRowByModelIndex(rendering.currentResizedRow.index), {h: rendering.currentResizedRow.height}, false);\n\t\tthis.grid.selecting.updateSelector();\n\t}\n\n\t_onCommentCommit = (e: CommentEvent) => {\n\t\tthis.grid.model.comments.set(e.cell.address, e.items);\n\t\te.cell.invalidateStyle();\n\t\tthis.grid.rendering.updateCells([e.cell]);\n\t}\n\n\t_onAutofill = (e: SelectorEvent) => {\n\t\tthis.suspendClick();\n\t\tif (this.grid.selection.range.equals(e.selector.autofillRange)) return;\n\t\tconst {\n\t\t\tcells, oldValues\n\t\t} = autofill(this.model, this.grid.selection.range, e.selector.autofillRange, e.selector.autofillDirection);\n\t\tthis.grid.rendering.updateCells(cells, true);\n\t\tthis.grid.selection.setRange(this.grid.selection.range.unite(e.selector.autofillRange));\n\t\tthis.grid.selecting.updateSelector();\n\n\t\tthis.grid.dispatchEvent(new GridEditEvent({\n\t\t\tgrid: this.grid,\n\t\t\teditType: 'autofill',\n\t\t\tcells: cells,\n\t\t\toldValues: oldValues, \n\t\t\tnewValues: cells.map(cell => cell.value2 as CellValueType)\n\t\t}));\n\t}\n\n\t_onEdit = (e: GridEditEvent) => {\n\t\tif (e.fromHistory) return;\n\t\tconst addresses: string[] = [];\n\t\tconst names: string[] = [];\n\t\tconst nameRangeMap = this.model.names.rangeMap;\n\t\tlet newValues: CellValueType[] = [];\n\t\tlet newProps: Partial<CellSource>[] = [];\n\t\tlet oldValues: CellValueType[] = [];\n\t\tlet oldProps: Partial<CellSource>[] = [];\n\n\t\tswitch (e.editType) {\n\t\t\tcase 'value':\n\t\t\t\tnewValues = e.newValues;\n\t\t\t\tnewProps = e.newProps;\n\t\t\t\toldValues = e.oldValues;\n\t\t\t\toldProps = e.oldProps;\n\t\t\t\te.cells.forEach(cell => {\n\t\t\t\t\tconst a = cell.address;\n\t\t\t\t\taddresses.push(a);\n\t\t\t\t\tnames.push(nameRangeMap.get(a));\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 'insert_column':\n\t\t\tcase 'insert_row':\n\t\t\t\t(e.newValues as ElementModel[]).forEach(row => {\n\t\t\t\t\tconst a = row.address;\n\t\t\t\t\taddresses.push(a);\n\t\t\t\t\tnames.push(nameRangeMap.get(a));\n\t\t\t\t\tnewValues.push(row.getSourceData());\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t}\n\n\t\tthis.grid.history.push({\n\t\t\ttype: e.editType,\n\t\t\taddresses,\n\t\t\tnames,\n\t\t\toldValues,\n\t\t\toldProps,\n\t\t\tnewValues,\n\t\t\tnewProps\n\t\t});\n\t}\n\n\t_onSelectorMove = (e: SelectorMoveEvent) => {\n\t\tthis.suspendClick();\n\t\tthis.selection.setRange(e.toRange);\n\t\tif (e.fromRange.isRow) {\n\t\t\tthis.grid.editing.moveRows({\n\t\t\t\tindex: e.fromRange.r1,\n\t\t\t\tcount: e.fromRange.size.rows,\n\t\t\t\ttargetIndex: e.toRange.r1\n\t\t\t});\n\t\t} else if (e.fromRange.isColumn) {\n\t\t\tthis.grid.editing.moveColumns({\n\t\t\t\tindex: e.fromRange.c1,\n\t\t\t\tcount: e.fromRange.size.columns,\n\t\t\t\ttargetIndex: e.toRange.c1\n\t\t\t});\n\t\t} else {\n\t\t\tconsole.log(e);\n\t\t}\n\t}\n\n\t_onMouseLeave = () => {\n\t\tthis.grid.rendering.hideSliders();\n\t}\n\n\t// _debounceMouseMove: ReturnType<typeof debounce>;\n\t// registerMouseMove() {\n\t// \tif (this._debounceMouseMove) return;\n\t// \tthis._debounceMouseMove = debounce(this._onMouseMove, 20, {maxWait: 50, isImmediate: true});\n\t// \tthis.grid.addEventListener('pointermove', this._debounceMouseMove);\n\t// }\n\n\t// unregisterMouseMove() {\n\t// \tif (!this._debounceMouseMove) return;\n\t// \tthis.grid.removeEventListener('pointermove', this._debounceMouseMove);\n\t// \tthis._debounceMouseMove = null;\n\t// }\n\n\tdebounceHideSliders = debounce(() => this.grid.rendering.hideSliders(), 1000, {isImmediate: false});\t\n\n\t_onRender = () => {\n\t\tconst grid = this.grid;\n\t\tgrid.selecting.updateSelectors();\n\n\t\tgrid.dispatchEvent(new GridEvent('render', {grid: this.grid}));\n\n\t\tif (grid.adapter && grid.options.pageSize && grid.rendering.isLastRowInViewport()) {\n\t\t\tgrid.rendering.loadNextPage();\n\t\t}\n\n\t\tgrid.rendering.updateSliderVisibility();\n\t\tif (this.model.options.scrolling.scrollbarVisibilityTreshold > 0) {\n\t\t\tthis.debounceHideSliders();\n\t\t}\n\t}\n\n\t_onHorizontalSizerDblClick = (e: MouseEvent) => {\n\t\te.stopPropagation();\n\t\tthis.editDisabled = true;\n\t\tthis.grid.rendering.autofitColumn(this.grid.rendering.currentResizedColumn.index);\n\t\tthis.grid.dispatchEvent(\n\t\t\tnew GridColumnResizeEvent('column.resize', this.grid, this.grid.rendering.currentResizedColumn, e)\n\t\t);\n\t}\n\n\t_onVerticalSizerDblClick = (e: MouseEvent) => {\n\t\te.stopPropagation();\n\t\tthis.editDisabled = true;\n\t\tthis.grid.rendering.autofitRow(this.grid.rendering.currentResizedRow.index);\n\t\tthis.grid.dispatchEvent(\n\t\t\tnew GridRowResizeEvent('row.resize', this.grid, this.grid.rendering.currentResizedRow, e)\n\t\t);\n\t}\n\n\t_onDblClick = () => {\n\t\tif (this.editDisabled) {\n\t\t\tthis.editDisabled = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.grid.editing.startEdit();\n\t}\n\n\tasync init() {\n\t\tawait this.grid.updateComplete;\n\t\tawait this.table.updateComplete;\n\t\tconst grid = this.grid;\n\t\t\n\t\t// wheel scroling\n\t\tgrid.addEventListener('wheel', this._onWheel, {passive: true});\n\n\t\t// touch scrolling\n\t\tgrid.addEventListener('touchstart', this._onTouchStart, {passive: true});\n\t\tgrid.addEventListener('touchend', this._onTouchEnd, {passive: true});\n\t\tgrid.addEventListener('touchmove', this._onTouchMove, {passive: true});\n\n\t\t// col/row resize\n\t\tgrid.hSizer.addEventListener('resizestart', this._onHorizontalResizeStart);\n\t\tgrid.hSizer.addEventListener('resizestop', this._onHorizontalResizeStop);\n\t\tgrid.hSizer.addEventListener('resize', this._onHorizontalResize);\n\t\tgrid.hSizer.addEventListener('dblclick', this._onHorizontalSizerDblClick);\n\t\tgrid.vSizer.addEventListener('resizestart', this._onVerticalResizeStart);\n\t\tgrid.vSizer.addEventListener('resizestop', this._onVerticalResizeStop);\n\t\tgrid.vSizer.addEventListener('resize', this._onVerticalResize);\n\t\tgrid.vSizer.addEventListener('dblclick', this._onVerticalSizerDblClick);\n\t\t\n\t\t// comments\n\t\tgrid.comment.addEventListener('comment.commit', this._onCommentCommit);\n\n\t\tgrid.addEventListener('keydown', this._onKeyDown);\n\t\tgrid.addEventListener('click', this._onClick);\n\t\tgrid.addEventListener('contextmenu', this._onContextMenu);\n\t\tgrid.addEventListener('toggle', () => grid.rendering.debounceCalculateViewport());\n\t\t\n\t\tgrid.addEventListener('pointerup', this._onMouseUp);\n\t\tgrid.addEventListener('pointerdown', this._onMouseDown);\n\t\t// grid.addEventListener('pointermove', this._onMouseMove);\n\t\tconst debounceMouseMove = debounce(this._onMouseMove, 20, {maxWait: 50, isImmediate: true});\n\t\tgrid.addEventListener('pointermove', debounceMouseMove);\n\n\t\tgrid.addEventListener('mouseleave', this._onMouseLeave);\n\n\t\t// table event handlers\n\t\tgrid.table.addEventListener('rendercells', this._onRender);\n\t\t\n\t\t// selector event handlers\n\t\tgrid.selector.addEventListener('grid.selector.autofill', this._onAutofill);\n\t\tgrid.selector.addEventListener('grid.selector.move', this._onSelectorMove);\n\n\t\t// editing event handlers\n\t\tgrid.addEventListener('dblclick', this._onDblClick);\n\t\tgrid.addEventListener('grid.edit', this._onEdit);\n\t}\n\n}"]}
|
|
1
|
+
{"version":3,"file":"grid.events.js","sourceRoot":"","sources":["../../src/ui/grid.events.ts"],"names":[],"mappings":"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","sourcesContent":["import constants from \"../constants\";\nimport { dom, ResizeEvent, SlideEvent } from \"@omegagrid/core\";\nimport { debounce } from \"ts-debounce\";\nimport { CellModel, ColumnModel, autofill, CellRange, CellValueType, EditType, ElementModel, RowModel, CellSource } from \"@omegagrid/grid-core\";\nimport { Grid } from \"./grid\";\nimport { TableCell, TableHeaderCell } from \"./table\";\nimport { SelectorEvent, SelectorMoveEvent } from \"./selector\";\nimport { CommentEvent } from \"./comment\";\n\nconst IGNORED_KEYS = ['F5', 'F12'];\n\nexport class GridEvent extends Event {\n\n\tget selection() { return this.grid.selecting.selection }\n\tget activeCell() { return this.selection.activeCell }\n\t\n\tcells?: CellModel[];\n\tcell: CellModel;\n\trow: RowModel;\n\tcolumn: ColumnModel;\n\taction: string;\n\tgrid: Grid;\n\n\tconstructor(type: string, args?: Partial<GridEvent>) {\n\t\tsuper(`grid.${type}`, {bubbles: true, composed: true});\n\t\tObject.assign(this, args);\n\n\t\tif (this.cell) {\n\t\t\tthis.row = this.cell.row;\n\t\t\tthis.column = this.cell.column;\n\t\t}\n\t}\n\n}\n\nexport class GridEditEvent extends GridEvent {\n\n\tfromHistory?: boolean;\n\teditType?: EditType;\n\toldValues?: CellValueType[];\n\toldProps?: Partial<CellSource>[];\n\tnewValues?: CellValueType[];\n\tnewProps?: Partial<CellSource>[];\n\n\tconstructor(args?: Partial<GridEditEvent>) {\n\t\tsuper('edit', args);\n\t}\n}\n\nexport class GridResizeEvent extends ResizeEvent {\n\tpublic readonly grid: Grid;\n\tconstructor(type: string, grid: Grid, args?: Partial<ResizeEvent>) {\n\t\tsuper(`grid.${type}`, args);\n\t\tthis.grid = grid;\n\t}\n}\n\nexport class GridColumnResizeEvent extends GridResizeEvent {\n\tpublic readonly column: ColumnModel;\n\tconstructor(type: string, grid: Grid, column: ColumnModel, args?: Partial<ResizeEvent>) {\n\t\tsuper(type, grid, args);\n\t\tthis.column = column;\n\t}\n}\n\nexport class GridRowResizeEvent extends GridResizeEvent {\n\tpublic readonly row: RowModel;\n\tconstructor(type: string, grid: Grid, row: RowModel, args?: Partial<ResizeEvent>) {\n\t\tsuper(type, grid, args);\n\t\tthis.row = row;\n\t}\n}\n\nexport class GridEvents {\n\n\tget model() { return this.grid.model }\n\tget selection() { return this.grid.selection }\n\tget table() { return this.grid.table }\n\t\n\tclickDisabled = false;\n\teditDisabled = false;\n\tclicked = false;\n\tstartOffset: {x: number, y: number} = {x: 0, y: 0};\n\n\tconstructor(readonly grid: Grid) { }\n\n\tget isSliding() { return this.grid.hSlider.sliding || this.grid.vSlider.sliding }\n\n\tsuspendClick = () => this.clickDisabled = true;\n\tresumeClick = (delay = false) => { \n\t\tif (this.isSliding) return;\n\t\tif (delay) {\n\t\t\tsetTimeout(() => this.clickDisabled = false, 100)\n\t\t} else {\n\t\t\tthis.clickDisabled = false;\n\t\t}\n\t}\n\t\n\t_onKeyDown = (e: KeyboardEvent) => {\n\t\tif (!IGNORED_KEYS.includes(e.key)) e.preventDefault();\n\t\t\n\t\tswitch (e.key) {\n\t\t\tcase 'Tab':\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.grid.selecting.shiftActiveCell(e.shiftKey ? -1 : 1, true);\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowRight':\n\t\t\t\tthis.grid.selecting.debounceMoveSelector(1, 0);\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tthis.grid.selecting.debounceMoveSelector(-1, 0);\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\tthis.grid.selecting.debounceMoveSelector(0, 1);\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\tthis.grid.selecting.debounceMoveSelector(0, -1);\n\t\t\t\tbreak;\n\t\t\tcase 'PageUp':\n\t\t\t\tthis.grid.selecting.debounceMoveSelector(0, -this.table.viewport.rows.length);\n\t\t\t\tbreak;\n\t\t\tcase 'PageDown':\n\t\t\t\tthis.grid.selecting.debounceMoveSelector(0, this.table.viewport.rows.length);\n\t\t\t\tbreak;\n\t\t\tcase 'Home':\n\t\t\t\tthis.grid.selecting.debounceMoveSelector(\n\t\t\t\t\t-this.selection.range.c1, \n\t\t\t\t\te.ctrlKey ? -this.selection.range.r1 : 0\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'End':\n\t\t\t\tthis.grid.selecting.debounceMoveSelector(\n\t\t\t\t\tthis.model.gridRange.c2 - this.selection.range.c1,\n\t\t\t\t\te.ctrlKey ? this.model.gridRange.r2 - this.selection.range.r1 : 0\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'Enter':\n\t\t\t\tthis.grid.selecting.enter();\n\t\t\t\tbreak;\n\t\t\tcase 'Escape':\n\t\t\t\tthis.grid.selecting.hideCopySelector();\n\t\t\t\tbreak;\n\t\t\tcase 'c':\n\t\t\tcase 'C':\n\t\t\t\tif (e.ctrlKey) this.grid.editing.copySelection();\n\t\t\t\tbreak;\n\t\t\tcase 'v':\n\t\t\tcase 'V':\n\t\t\t\tif (e.ctrlKey) this.grid.editing.paste();\n\t\t\t\tbreak;\n\t\t\tcase 'z':\n\t\t\tcase 'Z':\n\t\t\t\tif (!this.grid.options.undoRedo) return;\n\t\t\t\tif (e.ctrlKey) this.grid.editing.undo();\n\t\t\t\tbreak;\n\t\t\tcase 'y':\n\t\t\tcase 'Y':\n\t\t\t\tif (!this.grid.options.undoRedo) return;\n\t\t\t\tif (e.ctrlKey) this.grid.editing.redo();\n\t\t\t\tbreak;\n\t\t\tcase 'F2':\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.grid.editing.startEdit();\n\t\t\t\tbreak;\n\t\t\tcase 'Delete':\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.grid.objects.delete();\n\t\t\t\tthis.grid.editing.clearSelection();\n\t\t\t\tbreak;\n\t\t\tcase 'Backspace':\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.grid.editing.clearSelection();\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (e.key.length == 1 && !e.ctrlKey) {\n\t\t\tthis.grid.editing.startEdit(e.key);\n\t\t}\n\t}\n\n\t_onMouseMove = (e: PointerEvent) => {\n\t\tlet hidePopups = true;\n\t\tconst hSizer = this.grid.hSizer;\n\t\tconst vSizer = this.grid.vSizer;\n\n\t\tconst { offsetX, offsetY} = e;\n\t\tlet scrollbarVisibilityTreshold = this.model.options.scrolling.scrollbarVisibilityTreshold;\n\t\tif (scrollbarVisibilityTreshold <= 0) scrollbarVisibilityTreshold = Math.max(this.grid.clientWidth, this.grid.clientHeight);\n\n\t\tif (offsetX > this.grid.clientWidth - scrollbarVisibilityTreshold) {\n\t\t\tthis.grid.vSlider.show();\n\t\t} else {\n\t\t\tthis.grid.vSlider.hide();\n\t\t}\n\n\t\tif (offsetY > this.grid.clientHeight - scrollbarVisibilityTreshold) {\n\t\t\tthis.grid.hSlider.show();\n\t\t} else {\n\t\t\tthis.grid.hSlider.hide();\n\t\t}\n\n\t\tconst [cell, exactCell] = this.table.findNearestTableCellByOffset(offsetX, offsetY);\n\t\t\n\t\tif (exactCell && exactCell.tagName == 'TH') {\n\t\t\tif (this.model.options.columnResize && !hSizer.resizing && exactCell.classList.contains('hlabel')) {\n\t\t\t\tif (exactCell.offsetWidth - e.offsetX + exactCell.offsetLeft < constants.RESIZE_TRESHOLD) {\n\t\t\t\t\thSizer.snap(exactCell, this.grid);\n\t\t\t\t\tthis.grid.rendering.currentResizedColumn = this.model.columns[exactCell.c];\n\t\t\t\t} else {\n\t\t\t\t\tdom.hideElement(hSizer);\n\t\t\t\t}\n\t\t\t} else if (this.model.options.rowResize && !vSizer.resizing && exactCell.classList.contains('vlabel')) {\n\t\t\t\tif (exactCell.offsetHeight - e.offsetY + exactCell.offsetTop < constants.RESIZE_TRESHOLD) {\n\t\t\t\t\tvSizer.snap(exactCell, this.grid);\n\t\t\t\t\tthis.grid.rendering.currentResizedRow = this.model.rows[exactCell.r];\n\t\t\t\t} else {\n\t\t\t\t\tdom.hideElement(vSizer);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (cell && cell.tagName == 'TH') {\n\t\t\tif (this.grid.selecting.isSelecting) {\n\t\t\t\tthis.suspendClick();\n\t\t\t\tthis.grid.selecting.updateSelecting(cell.c, cell.r);\n\t\t\t}\n\t\t\treturn;\n\t\t} else if (cell && cell.tagName == 'TD') {\n\t\t\tif (this.grid.selecting.isSelectorOperationActive || this.grid.selecting.isFormulaSelectorOperationActive) {\n\t\t\t\tconst { top, left } = dom.getElementOffset(cell, this.grid);\n\t\t\t\tthis.grid.rendering.autoscroll({\n\t\t\t\t\tx: left - this.table.totalHeaderWidth + e.offsetX - cell.offsetLeft,\n\t\t\t\t\ty: top - this.table.thead.clientHeight + e.offsetY - cell.offsetTop\n\t\t\t\t});\n\t\t\t\tif (this.grid.selecting.isSelecting) {\n\t\t\t\t\tthis.suspendClick();\n\t\t\t\t}\n\t\t\t\tthis.grid.selecting.updateSelecting(cell.c, cell.r);\n\t\t\t} else {\n\t\t\t\tconst cellModel = this.model.rows[cell.r]?.cell(cell.c);\n\t\t\t\tif (cellModel && cellModel.hasTooltip) {\n\t\t\t\t\thidePopups = false;\n\t\t\t\t\tthis.grid.tooltip.attachToCell(cell, cellModel);\n\t\t\t\t}\n\n\t\t\t\tif (cellModel && cellModel.hasComment) {\n\t\t\t\t\thidePopups = false;\n\t\t\t\t\tif (this.grid.comment.attachedTo !== cell) {\n\t\t\t\t\t\tthis.grid.comment.attachTo(cell, cellModel);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (hidePopups) {\n\t\t\tthis.grid.tooltip.deatach();\n\t\t\tthis.grid.comment.deatach(this.model.options.comments.hideTimeout);\n\t\t}\n\n\t\tdom.hideElement(hSizer);\n\t\tdom.hideElement(vSizer);\n\t}\n\n\t_onMouseDown = (e: PointerEvent) => {\n\t\tif ((e.buttons & 1) == 0) return;\n\t\t\n\t\tthis.grid.setPointerCapture(e.pointerId);\n\t\tthis.startOffset = {x: e.offsetX, y: e.offsetY};\n\n\t\tfor (const elm of e.composedPath() as HTMLElement[]) {\n\t\t\tif (elm.tagName == 'TD') {\n\t\t\t\tconst td = elm as TableCell;\n\t\t\t\tthis.grid.selecting.startCellSelecting(new CellRange(td.c, td.r));\n\t\t\t\tbreak;\n\t\t\t} else if (elm.tagName == 'TH') {\n\t\t\t\tconst th = elm as TableHeaderCell;\n\t\t\t\tif (elm.matches('.sort')) {\n\t\t\t\t\tthis.grid.sorting.sort(th.c);\n\t\t\t\t} else if (th.classList.contains('filter')) {\n\t\t\t\t\tthis.grid.filtering.openFilter(this.model.columns[th.c], th);\n\t\t\t\t} else if (th.classList.contains('hlabel')) {\n\t\t\t\t\tthis.grid.selecting.startColumnSelecting(th.c);\n\t\t\t\t} else if (th.classList.contains('vlabel')) {\n\t\t\t\t\tthis.grid.selecting.startRowSelecting(th.r);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t_onMouseUp = (e: PointerEvent) => {\n\t\tif (e.buttons != 0) return;\n\n\t\tconst x = Math.abs(this.startOffset.x - e.offsetX);\n\t\tconst y = Math.abs(this.startOffset.y - e.offsetY);\n\t\tif (Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)) < this.model.options.events.click.mouseMoveTreshold) {\n\t\t\tthis.resumeClick();\n\t\t}\n\n\t\tthis.grid.releasePointerCapture(e.pointerId);\n\t\tthis.grid.selecting.stopSelectOperations();\n\t}\n\n\t_onClick = (e: PointerEvent) => {\n\t\tif (this.clickDisabled) return;\n\n\t\t// TODO: find better way to prevent clicks on scrollbars\n\t\tif (this.grid.clientHeight - e.offsetY < this.grid.hSlider.offsetHeight) return;\n\t\tif (this.grid.clientWidth - e.offsetX < this.grid.vSlider.offsetWidth) return;\n\n\t\tconst cell = this.table.findTableCellByOffset(e.offsetX, e.offsetY);\n\t\tconst cellModel = cell?.tagName == 'TD' ? this.model.rows[cell.r]?.cell(cell.c) : null;\n\t\tthis.grid.dispatchEvent(new GridEvent('click', {grid: this.grid, cell: cellModel}));\n\t}\n\n\t_onContextMenu = (e: MouseEvent) => {\n\t\te.preventDefault();\n\t\tfor (const elm of e.composedPath() as HTMLElement[]) {\n\t\t\tif (elm.tagName == 'TD') {\n\t\t\t\tconst td = elm as TableCell;\n\t\t\t\tthis.grid.menus.openCellMenu(this.model.rows[td.r].cell(td.c), {x: e.pageX, y: e.pageY});\n\t\t\t} else if (elm.tagName == 'TH') {\n\t\t\t\tconst th = elm as TableHeaderCell;\n\t\t\t\tif (th.classList.contains('hlabel')) {\n\t\t\t\t\tthis.grid.menus.openColumnMenu(this.model.columns[th.c], {x: e.pageX, y: e.pageY});\n\t\t\t\t} else if (th.classList.contains('vlabel')) {\n\t\t\t\t\tthis.grid.menus.openRowMenu(this.model.rows[th.r], {x: e.pageX, y: e.pageY});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t_onVerticalSlide = (e: SlideEvent) => {\n\t\tthis.table.rowOffset = Math.min(e.value, this.model.visibleRows.length - 1);\n\t\tthis.grid.rendering.requireVerticalUpdate = true;\n\t\t// this.grid.logger.info(`v-slide: ${e.value}`);\n\t\tthis.grid.rendering.renderCells();\n\t}\n\t\n\t_onHorizontalSlide = (e: SlideEvent) => {\n\t\tthis.table.colOffset = Math.min(e.value, this.model.visibleColumns.length - 1);\n\t\tthis.grid.rendering.requireHorizontalUpdate = true;\n\t\t// this.grid.logger.info(`h-slide: ${e.value}`);\n\t\tthis.grid.rendering.renderCells();\n\t}\n\n\t_onSlideStart = () => {\n\t\tthis.suspendClick();\n\t}\n\n\t_onSlideStop = () => {\n\t\tthis.resumeClick(true);\n\t}\n\n\t_denbounceHorizontalScroll = debounce((dx: number) => this.grid.rendering.scrollHorizontalByPixels(dx), 50);\n\t_onWheel = (e: WheelEvent) => {\n\t\tif (e.ctrlKey) return;\n\t\tif (e.deltaY != 0) this.grid.rendering.scrollVerticalByPixels(e.deltaY);\n\t\tif (e.deltaX != 0) {\n\t\t\tthis._denbounceHorizontalScroll(Math.sign(e.deltaX) * Math.min(100, Math.abs(e.deltaX)));\n\t\t}\n\t}\n\n\t_onTouchStart = (e: TouchEvent) => {\n\t\tthis.grid.rendering.touchStartX = e.touches[0];\n\t\tthis.grid.rendering.touchStartY = e.touches[0];\n\t}\n\n\t_onTouchEnd = (e: TouchEvent) => {\n\t\tthis.grid.rendering.touchStartX = e.touches[0];\n\t\tthis.grid.rendering.touchStartY = e.touches[0];\n\t}\n\n\t_onTouchMove = (e: TouchEvent) => {\n\t\tconst rendering = this.grid.rendering;\n\t\tif (rendering.touchStartY) {\n\t\t\tconst deltaY = rendering.touchStartY.clientY - e.touches[0].clientY;\n\t\t\tif (Math.abs(deltaY) > this.model.options.rowHeight && this.table.viewport.rows.length > 0) {\n\t\t\t\trendering.scrollVerticalByPixels(deltaY);\n\t\t\t\trendering.touchStartY = e.touches[0];\n\t\t\t}\n\t\t}\n\n\t\tif (rendering.touchStartX) {\n\t\t\tconst deltaX = rendering.touchStartX.clientX - e.touches[0].clientX;\n\t\t\tif (Math.abs(deltaX) > this.model.options.columnWidth && this.table.viewport.columns.length > 0) {\n\t\t\t\trendering.scrollHorizontalByPixels(deltaX);\n\t\t\t\trendering.touchStartX = e.touches[0];\n\t\t\t}\n\t\t}\n\t}\n\n\t_onHorizontalResizeStart = () => {\n\t\tthis.grid.rendering.resizing = true;\n\t\tthis.grid.rendering.currentResizedColumnWidth = this.grid.rendering.currentResizedColumn.width;\n\t}\n\n\t_onHorizontalResizeStop = (e: ResizeEvent) => {\n\t\tthis.suspendClick();\n\t\tthis.grid.rendering.resizing = false;\n\t\tthis.table.clearHeaderCache();\n\t\tthis.table.renderCells({horizontal: true});\n\t\tthis.grid.dispatchEvent(\n\t\t\tnew GridColumnResizeEvent('column.resize', this.grid, this.grid.rendering.currentResizedColumn, e)\n\t\t);\n\t}\n\n\t_onHorizontalResize = (e: ResizeEvent) => {\n\t\tconst rendering = this.grid.rendering;\n\t\t// if (this.resizing) e.stopPropagation();\n\t\trendering.currentResizedColumn.width = rendering.currentResizedColumnWidth + e.deltaX;\n\t\t// this.showMouseTooltip(`${columnModel.width.toString()}px`, {t: e.mouseY, l: e.mouseX});\n\t\tdom.setSize(this.table.getColumnByModelIndex(rendering.currentResizedColumn.index), {w: rendering.currentResizedColumn.width}, true);\n\t\tthis.grid.selecting.updateSelector();\n\t}\n\n\t_onVerticalResizeStart = () => {\n\t\tthis.grid.rendering.resizing = true;\n\t\tthis.grid.rendering.currentResizedRowHeight = this.grid.rendering.currentResizedRow.height;\n\t}\n\n\t_onVerticalResizeStop = (e: ResizeEvent) => {\n\t\tthis.suspendClick();\n\t\tthis.grid.rendering.resizing = false;\n\t\tthis.table.clearBodyCache();\n\t\tthis.table.renderCells({vertical: true});\n\t\tthis.grid.dispatchEvent(\n\t\t\tnew GridRowResizeEvent('row.resize', this.grid, this.grid.rendering.currentResizedRow, e)\n\t\t);\n\t}\n\n\t_onVerticalResize = (e: ResizeEvent) => {\n\t\tconst rendering = this.grid.rendering;\n\t\t// if (this.resizing) e.stopPropagation();\n\t\trendering.currentResizedRow.height = rendering.currentResizedRowHeight + e.deltaY;\n\t\t// this.showMouseTooltip(`${columnModel.width.toString()}px`, {t: e.mouseY, l: e.mouseX});\n\t\tdom.setSize(this.table.getRowByModelIndex(rendering.currentResizedRow.index), {h: rendering.currentResizedRow.height}, false);\n\t\tthis.grid.selecting.updateSelector();\n\t}\n\n\t_onCommentCommit = (e: CommentEvent) => {\n\t\tthis.grid.model.comments.set(e.cell.address, e.items);\n\t\te.cell.invalidateStyle();\n\t\tthis.grid.rendering.updateCells([e.cell]);\n\t}\n\n\t_onAutofill = (e: SelectorEvent) => {\n\t\tthis.suspendClick();\n\t\tif (this.grid.selection.range.equals(e.selector.autofillRange)) return;\n\t\tconst {\n\t\t\tcells, oldValues\n\t\t} = autofill(this.model, this.grid.selection.range, e.selector.autofillRange, e.selector.autofillDirection);\n\t\tthis.grid.rendering.updateCells(cells, true);\n\t\tthis.grid.selection.setRange(this.grid.selection.range.unite(e.selector.autofillRange));\n\t\tthis.grid.selecting.updateSelector();\n\n\t\tthis.grid.dispatchEvent(new GridEditEvent({\n\t\t\tgrid: this.grid,\n\t\t\teditType: 'autofill',\n\t\t\tcells: cells,\n\t\t\toldValues: oldValues, \n\t\t\tnewValues: cells.map(cell => cell.value2 as CellValueType)\n\t\t}));\n\t}\n\n\t_onEdit = (e: GridEditEvent) => {\n\t\tif (e.fromHistory) return;\n\t\tconst addresses: string[] = [];\n\t\tconst names: string[] = [];\n\t\tconst nameRangeMap = this.model.names.rangeMap;\n\t\tlet newValues: CellValueType[] = [];\n\t\tlet newProps: Partial<CellSource>[] = [];\n\t\tlet oldValues: CellValueType[] = [];\n\t\tlet oldProps: Partial<CellSource>[] = [];\n\n\t\tswitch (e.editType) {\n\t\t\tcase 'value':\n\t\t\t\tnewValues = e.newValues;\n\t\t\t\tnewProps = e.newProps;\n\t\t\t\toldValues = e.oldValues;\n\t\t\t\toldProps = e.oldProps;\n\t\t\t\te.cells.forEach(cell => {\n\t\t\t\t\tconst a = cell.address;\n\t\t\t\t\taddresses.push(a);\n\t\t\t\t\tnames.push(nameRangeMap.get(a));\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 'insert_column':\n\t\t\tcase 'insert_row':\n\t\t\t\t(e.newValues as ElementModel[]).forEach(row => {\n\t\t\t\t\tconst a = row.address;\n\t\t\t\t\taddresses.push(a);\n\t\t\t\t\tnames.push(nameRangeMap.get(a));\n\t\t\t\t\tnewValues.push(row.getSourceData());\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t}\n\n\t\tthis.grid.history.push({\n\t\t\ttype: e.editType,\n\t\t\taddresses,\n\t\t\tnames,\n\t\t\toldValues,\n\t\t\toldProps,\n\t\t\tnewValues,\n\t\t\tnewProps\n\t\t});\n\t}\n\n\t_onSelectorMove = (e: SelectorMoveEvent) => {\n\t\tthis.suspendClick();\n\t\tthis.selection.setRange(e.toRange);\n\t\tif (e.fromRange.isRow) {\n\t\t\tthis.grid.editing.moveRows({\n\t\t\t\tindex: e.fromRange.r1,\n\t\t\t\tcount: e.fromRange.size.rows,\n\t\t\t\ttargetIndex: e.toRange.r1\n\t\t\t});\n\t\t} else if (e.fromRange.isColumn) {\n\t\t\tthis.grid.editing.moveColumns({\n\t\t\t\tindex: e.fromRange.c1,\n\t\t\t\tcount: e.fromRange.size.columns,\n\t\t\t\ttargetIndex: e.toRange.c1\n\t\t\t});\n\t\t} else {\n\t\t\tconsole.log(e);\n\t\t}\n\t}\n\n\t_onMouseLeave = () => {\n\t\tthis.grid.rendering.hideSliders();\n\t}\n\n\t// _debounceMouseMove: ReturnType<typeof debounce>;\n\t// registerMouseMove() {\n\t// \tif (this._debounceMouseMove) return;\n\t// \tthis._debounceMouseMove = debounce(this._onMouseMove, 20, {maxWait: 50, isImmediate: true});\n\t// \tthis.grid.addEventListener('pointermove', this._debounceMouseMove);\n\t// }\n\n\t// unregisterMouseMove() {\n\t// \tif (!this._debounceMouseMove) return;\n\t// \tthis.grid.removeEventListener('pointermove', this._debounceMouseMove);\n\t// \tthis._debounceMouseMove = null;\n\t// }\n\n\tdebounceHideSliders = debounce(() => this.grid.rendering.hideSliders(), 1000, {isImmediate: false});\t\n\n\t_onRender = () => {\n\t\tconst grid = this.grid;\n\t\tgrid.selecting.updateSelectors();\n\n\t\tgrid.dispatchEvent(new GridEvent('render', {grid: this.grid}));\n\n\t\tif (grid.adapter && grid.options.pageSize && grid.rendering.isLastRowInViewport()) {\n\t\t\tgrid.rendering.loadNextPage();\n\t\t}\n\n\t\tgrid.rendering.updateSliderVisibility();\n\t\tif (this.model.options.scrolling.scrollbarVisibilityTreshold > 0) {\n\t\t\tthis.debounceHideSliders();\n\t\t}\n\t}\n\n\t_onHorizontalSizerDblClick = (e: MouseEvent) => {\n\t\te.stopPropagation();\n\t\tthis.editDisabled = true;\n\t\tthis.grid.rendering.autofitColumn(this.grid.rendering.currentResizedColumn.index);\n\t\tthis.grid.dispatchEvent(\n\t\t\tnew GridColumnResizeEvent('column.resize', this.grid, this.grid.rendering.currentResizedColumn, e)\n\t\t);\n\t}\n\n\t_onVerticalSizerDblClick = (e: MouseEvent) => {\n\t\te.stopPropagation();\n\t\tthis.editDisabled = true;\n\t\tthis.grid.rendering.autofitRow(this.grid.rendering.currentResizedRow.index);\n\t\tthis.grid.dispatchEvent(\n\t\t\tnew GridRowResizeEvent('row.resize', this.grid, this.grid.rendering.currentResizedRow, e)\n\t\t);\n\t}\n\n\t_onDblClick = () => {\n\t\tif (this.editDisabled) {\n\t\t\tthis.editDisabled = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.grid.editing.startEdit();\n\t}\n\n\tasync init() {\n\t\tawait this.grid.updateComplete;\n\t\tawait this.table.updateComplete;\n\t\tconst grid = this.grid;\n\t\t\n\t\t// wheel scroling\n\t\tgrid.addEventListener('wheel', this._onWheel, {passive: true});\n\n\t\t// touch scrolling\n\t\tgrid.addEventListener('touchstart', this._onTouchStart, {passive: true});\n\t\tgrid.addEventListener('touchend', this._onTouchEnd, {passive: true});\n\t\tgrid.addEventListener('touchmove', this._onTouchMove, {passive: true});\n\n\t\t// col/row resize\n\t\tgrid.hSizer.addEventListener('resizestart', this._onHorizontalResizeStart);\n\t\tgrid.hSizer.addEventListener('resizestop', this._onHorizontalResizeStop);\n\t\tgrid.hSizer.addEventListener('resize', this._onHorizontalResize);\n\t\tgrid.hSizer.addEventListener('dblclick', this._onHorizontalSizerDblClick);\n\t\tgrid.vSizer.addEventListener('resizestart', this._onVerticalResizeStart);\n\t\tgrid.vSizer.addEventListener('resizestop', this._onVerticalResizeStop);\n\t\tgrid.vSizer.addEventListener('resize', this._onVerticalResize);\n\t\tgrid.vSizer.addEventListener('dblclick', this._onVerticalSizerDblClick);\n\t\t\n\t\t// comments\n\t\tgrid.comment.addEventListener('comment.commit', this._onCommentCommit);\n\n\t\tgrid.addEventListener('keydown', this._onKeyDown);\n\t\tgrid.addEventListener('click', this._onClick);\n\t\tgrid.addEventListener('contextmenu', this._onContextMenu);\n\t\tgrid.addEventListener('toggle', () => grid.rendering.debounceCalculateViewport());\n\t\t\n\t\tgrid.addEventListener('pointerup', this._onMouseUp);\n\t\tgrid.addEventListener('pointerdown', this._onMouseDown);\n\t\t// grid.addEventListener('pointermove', this._onMouseMove);\n\t\tconst debounceMouseMove = debounce(this._onMouseMove, 20, {maxWait: 50, isImmediate: true});\n\t\tgrid.addEventListener('pointermove', debounceMouseMove);\n\n\t\tgrid.addEventListener('mouseleave', this._onMouseLeave);\n\n\t\t// table event handlers\n\t\tgrid.table.addEventListener('rendercells', this._onRender);\n\t\t\n\t\t// selector event handlers\n\t\tgrid.selector.addEventListener('grid.selector.autofill', this._onAutofill);\n\t\tgrid.selector.addEventListener('grid.selector.move', this._onSelectorMove);\n\n\t\t// editing event handlers\n\t\tgrid.addEventListener('dblclick', this._onDblClick);\n\t\tgrid.addEventListener('grid.edit', this._onEdit);\n\t}\n\n}"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omegagrid/grid",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.114",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"description": "Universal datagrid component",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
"_prepublish": "yarn test && yarn lint"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@omegagrid/commands": "^0.6.
|
|
39
|
-
"@omegagrid/core": "^0.6.
|
|
40
|
-
"@omegagrid/grid-core": "^0.6.
|
|
41
|
-
"@omegagrid/localize": "^0.6.
|
|
42
|
-
"@omegagrid/tabs": "^0.6.
|
|
43
|
-
"@omegagrid/tree": "^0.6.
|
|
38
|
+
"@omegagrid/commands": "^0.6.114",
|
|
39
|
+
"@omegagrid/core": "^0.6.114",
|
|
40
|
+
"@omegagrid/grid-core": "^0.6.114",
|
|
41
|
+
"@omegagrid/localize": "^0.6.114",
|
|
42
|
+
"@omegagrid/tabs": "^0.6.114",
|
|
43
|
+
"@omegagrid/tree": "^0.6.114",
|
|
44
44
|
"@stdlib/stats": "^0.0.13",
|
|
45
45
|
"date-fns": "^3.2.0",
|
|
46
46
|
"lit": "^3.1.1",
|