UNPKG

dbweb-common

Version:

用`yarn add dbweb-common`安装,不要忘记修改`angular.json`里的 `architect\build\options\assets`,加上

187 lines 14.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ const toolbarShowDelay = 300; export class Header { /** * @param {?} col * @param {?} event * @return {?} */ headerMouseenter(col, event) { this.current.x = ((/** @type {?} */ (event.target))).cellIndex; this.headerToolbarShowTimer = setTimeout((/** * @return {?} */ () => { col.showToolbar = true; }), toolbarShowDelay); } /** * @param {?} col * @return {?} */ headerMouseleave(col) { if (this.headerToolbarShowTimer) { clearTimeout(this.headerToolbarShowTimer); this.headerToolbarShowTimer = undefined; } col.showToolbar = false; } /** * @param {?} event * @param {?} col * @return {?} */ lockButtonClick(event, col) { col.sticky = true; col.showToolbar = false; this.syncColumn(); event.stopPropagation(); event.preventDefault(); } /** * @param {?} event * @param {?} col * @return {?} */ unlockButtonClick(event, col) { col.sticky = false; col.showToolbar = false; this.syncColumn(); event.stopPropagation(); event.preventDefault(); } /** * @param {?} event * @param {?} col * @return {?} */ toLeftButtonClick(event, col) { /** @type {?} */ const realIndex = col.index; /** @type {?} */ const tmp = this.columns[realIndex]; tmp.showToolbar = false; this.columns[realIndex] = this.columns[realIndex - 1]; this.columns[realIndex - 1] = tmp; this.syncColumn(); event.stopPropagation(); event.preventDefault(); } /** * @param {?} event * @param {?} col * @return {?} */ toRightButtonClick(event, col) { /** @type {?} */ const realIndex = col.index; /** @type {?} */ const tmp = this.columns[realIndex]; tmp.showToolbar = false; this.columns[realIndex] = this.columns[realIndex + 1]; this.columns[realIndex + 1] = tmp; this.syncColumn(); event.stopPropagation(); event.preventDefault(); } /** * 返回一个列是不是固定列的最右边列 * @param {?} colIndex * @return {?} */ stickyColumnRight(colIndex) { return (colIndex < this._tableColumns.length - 1 && this._tableColumns[colIndex].sticky && !this._tableColumns[colIndex + 1].sticky); } // 同步列的设置,主要是重新根据固定列排定顺序 /** * @return {?} */ syncColumn() { /** * 先把上次存在的列照样输出,注意保留原有的顺序 * @type {?} */ let cols = (this.columns || []).filter((/** * @param {?} col * @return {?} */ col => this.displayColumns.find((/** * @param {?} vv * @return {?} */ vv => vv.Name === col.Name)) !== undefined)); /** * 再输出剩下的列 * @type {?} */ const cc = (this.displayColumns || []).filter((/** * @param {?} col * @return {?} */ col => cols.find((/** * @param {?} vv * @return {?} */ vv => vv.Name === col.Name)) === undefined)); cols = cols.concat(cc); // 把固定列提升到最前面 cols = cols.filter((/** * @param {?} v * @return {?} */ v => v.sticky)).concat(cols.filter((/** * @param {?} v * @return {?} */ v => !v.sticky))); cols.forEach((/** * @param {?} v1 * @param {?} idx * @return {?} */ (v1, idx) => (v1.index = idx))); this.columns = cols; this._tableColumns = [...this.fixStartColumns].concat( /**固定的列排在前面 */ this.columns, this.fixEndColumns); this.displayColumnNames = this._tableColumns.map((/** * @param {?} vv * @return {?} */ vv => vv.Name)); /**妈蛋,列内容变化,宽度还是算上一次的,造成列宽计算不对,只有变通的延后调用一次强制更新 */ setTimeout((/** * @return {?} */ () => { this.tabDataOrg.updateStickyColumnStyles(); }), 10); } } if (false) { /** @type {?} */ Header.prototype.current; /** @type {?} */ Header.prototype.columns; /** @type {?} */ Header.prototype._tableColumns; /** @type {?} */ Header.prototype.displayColumns; /** @type {?} */ Header.prototype.displayColumnNames; /** @type {?} */ Header.prototype.headerToolbarShowTimer; /** @type {?} */ Header.prototype.tabDataOrg; /** @type {?} */ Header.prototype.fixStartColumns; /** @type {?} */ Header.prototype.fixEndColumns; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vZGJ3ZWItY29tbW9uLyIsInNvdXJjZXMiOlsibGliL3JlY29yZC12aWV3L3RhYmxlL2hlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztNQUdNLGdCQUFnQixHQUFHLEdBQUc7QUFDNUIsTUFBTSxPQUFPLE1BQU07Ozs7OztJQVVsQixnQkFBZ0IsQ0FBQyxHQUFvQixFQUFFLEtBQWlCO1FBQ3ZELElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsbUJBQXNCLEtBQUssQ0FBQyxNQUFNLEVBQUEsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUVoRSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsVUFBVTs7O1FBQUMsR0FBRyxFQUFFO1lBQzdDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUMsR0FBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBQ0QsZ0JBQWdCLENBQUMsR0FBb0I7UUFDcEMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDaEMsWUFBWSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxTQUFTLENBQUM7U0FDeEM7UUFDRCxHQUFHLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDOzs7Ozs7SUFDRCxlQUFlLENBQUMsS0FBaUIsRUFBRSxHQUFvQjtRQUN0RCxHQUFHLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNsQixHQUFHLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs7Ozs7SUFDRCxpQkFBaUIsQ0FBQyxLQUFpQixFQUFFLEdBQW9CO1FBQ3hELEdBQUcsQ0FB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QUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxPQUFPOzs7OztRQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxFQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU07UUFDcEQsY0FBYztRQUNkLElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLGFBQWEsQ0FDbEIsQ0FBQztRQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUc7Ozs7UUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUMsQ0FBQztRQUNoRSxpREFBaUQ7UUFDakQsVUFBVTs7O1FBQUMsR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQzVDLENBQUMsR0FBRSxFQUFFLENBQUMsQ0FBQztJQUNSLENBQUM7Q0FDRDs7O0lBMUZBLHlCQUFnQjs7SUFDaEIseUJBQTJCOztJQUMzQiwrQkFBaUM7O0lBQ2pDLGdDQUFrQzs7SUFDbEMsb0NBQTZCOztJQUM3Qix3Q0FBcUM7O0lBQ3JDLDRCQUFpQzs7SUFDakMsaUNBQTRDOztJQUM1QywrQkFBMEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXRUYWJsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgSVJlbmRlclJvdywgVGFibGVDb2x1bW5UeXBlIH0gZnJvbSAnLi4vbW9kZWwvbW9kZWwnO1xyXG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuL3NlbGVjdG9yJztcclxuY29uc3QgdG9vbGJhclNob3dEZWxheSA9IDMwMDtcclxuZXhwb3J0IGNsYXNzIEhlYWRlciB7XHJcblx0Y3VycmVudDogSVBvaW50O1xyXG5cdGNvbHVtbnM6IFRhYmxlQ29sdW1uVHlwZVtdO1xyXG5cdF90YWJsZUNvbHVtbnM6IFRhYmxlQ29sdW1uVHlwZVtdO1xyXG5cdGRpc3BsYXlDb2x1bW5zOiBUYWJsZUNvbHVtblR5cGVbXTtcclxuXHRkaXNwbGF5Q29sdW1uTmFtZXM6IHN0cmluZ1tdO1xyXG5cdGhlYWRlclRvb2xiYXJTaG93VGltZXI6IE5vZGVKUy5UaW1lcjtcclxuXHR0YWJEYXRhT3JnOiBNYXRUYWJsZTxJUmVuZGVyUm93PjtcclxuXHRyZWFkb25seSBmaXhTdGFydENvbHVtbnM6IFRhYmxlQ29sdW1uVHlwZVtdO1xyXG5cdHJlYWRvbmx5IGZpeEVuZENvbHVtbnM6IFRhYmxlQ29sdW1uVHlwZVtdO1xyXG5cdGhlYWRlck1vdXNlZW50ZXIoY29sOiBUYWJsZUNvbHVtblR5cGUsIGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcblx0XHR0aGlzLmN1cnJlbnQueCA9ICg8SFRNTFRhYmxlQ2VsbEVsZW1lbnQ+ZXZlbnQudGFyZ2V0KS5jZWxsSW5kZXg7XHJcblxyXG5cdFx0dGhpcy5oZWFkZXJUb29sYmFyU2hvd1RpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdGNvbC5zaG93VG9vbGJhciA9IHRydWU7XHJcblx0XHR9LCB0b29sYmFyU2hvd0RlbGF5KTtcclxuXHR9XHJcblx0aGVhZGVyTW91c2VsZWF2ZShjb2w6IFRhYmxlQ29sdW1uVHlwZSkge1xyXG5cdFx0aWYgKHRoaXMuaGVhZGVyVG9vbGJhclNob3dUaW1lcikge1xyXG5cdFx0XHRjbGVhclRpbWVvdXQodGhpcy5oZWFkZXJUb29sYmFyU2hvd1RpbWVyKTtcclxuXHRcdFx0dGhpcy5oZWFkZXJUb29sYmFyU2hvd1RpbWVyID0gdW5kZWZpbmVkO1xyXG5cdFx0fVxyXG5cdFx0Y29sLnNob3dUb29sYmFyID0gZmFsc2U7XHJcblx0fVxyXG5cdGxvY2tCdXR0b25DbGljayhldmVudDogTW91c2VFdmVudCwgY29sOiBUYWJsZUNvbHVtblR5cGUpIHtcclxuXHRcdGNvbC5zdGlja3kgPSB0cnVlO1xyXG5cdFx0Y29sLnNob3dUb29sYmFyID0gZmFsc2U7XHJcblx0XHR0aGlzLnN5bmNDb2x1bW4oKTtcclxuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuXHR9XHJcblx0dW5sb2NrQnV0dG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQsIGNvbDogVGFibGVDb2x1bW5UeXBlKSB7XHJcblx0XHRjb2wuc3RpY2t5ID0gZmFsc2U7XHJcblx0XHRjb2wuc2hvd1Rvb2xiYXIgPSBmYWxzZTtcclxuXHRcdHRoaXMuc3luY0NvbHVtbigpO1xyXG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cdH1cclxuXHR0b0xlZnRCdXR0b25DbGljayhldmVudDogTW91c2VFdmVudCwgY29sOiBUYWJsZUNvbHVtblR5cGUpIHtcclxuXHRcdGNvbnN0IHJlYWxJbmRleCA9IGNvbC5pbmRleDtcclxuXHRcdGNvbnN0IHRtcCA9IHRoaXMuY29sdW1uc1tyZWFsSW5kZXhdO1xyXG5cdFx0dG1wLnNob3dUb29sYmFyID0gZmFsc2U7XHJcblx0XHR0aGlzLmNvbHVtbnNbcmVhbEluZGV4XSA9IHRoaXMuY29sdW1uc1tyZWFsSW5kZXggLSAxXTtcclxuXHRcdHRoaXMuY29sdW1uc1tyZWFsSW5kZXggLSAxXSA9IHRtcDtcclxuXHRcdHRoaXMuc3luY0NvbHVtbigpO1xyXG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cdH1cclxuXHR0b1JpZ2h0QnV0dG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQsIGNvbDogVGFibGVDb2x1bW5UeXBlKSB7XHJcblx0XHRjb25zdCByZWFsSW5kZXggPSBjb2wuaW5kZXg7XHJcblx0XHRjb25zdCB0bXAgPSB0aGlzLmNvbHVtbnNbcmVhbEluZGV4XTtcclxuXHRcdHRtcC5zaG93VG9vbGJhciA9IGZhbHNlO1xyXG5cdFx0dGhpcy5jb2x1bW5zW3JlYWxJbmRleF0gPSB0aGlzLmNvbHVtbnNbcmVhbEluZGV4ICsgMV07XHJcblx0XHR0aGlzLmNvbHVtbnNbcmVhbEluZGV4ICsgMV0gPSB0bXA7XHJcblx0XHR0aGlzLnN5bmNDb2x1bW4oKTtcclxuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuXHR9XHJcblx0Lyoq6L+U5Zue5LiA5Liq5YiX5piv5LiN5piv5Zu65a6a5YiX55qE5pyA5Y+z6L655YiXICovXHJcblx0c3RpY2t5Q29sdW1uUmlnaHQoY29sSW5kZXg6IG51bWJlcikge1xyXG5cdFx0cmV0dXJuIChcclxuXHRcdFx0Y29sSW5kZXggPCB0aGlzLl90YWJsZUNvbHVtbnMubGVuZ3RoIC0gMSAmJlxyXG5cdFx0XHR0aGlzLl90YWJsZUNvbHVtbnNbY29sSW5kZXhdLnN0aWNreSAmJlxyXG5cdFx0XHQhdGhpcy5fdGFibGVDb2x1bW5zW2NvbEluZGV4ICsgMV0uc3RpY2t5XHJcblx0XHQpO1xyXG5cdH1cclxuXHQvLyDlkIzmraXliJfnmoTorr7nva7vvIzkuLvopoHmmK/ph43mlrDmoLnmja7lm7rlrprliJfmjpLlrprpobrluo9cclxuXHRzeW5jQ29sdW1uKCkge1xyXG5cdFx0Lyoq5YWI5oqK5LiK5qyh5a2Y5Zyo55qE5YiX54Wn5qC36L6T5Ye6LOazqOaEj+S/neeVmeWOn+acieeahOmhuuW6jyAqL1xyXG5cdFx0bGV0IGNvbHMgPSAodGhpcy5jb2x1bW5zIHx8IFtdKS5maWx0ZXIoXHJcblx0XHRcdGNvbCA9PiB0aGlzLmRpc3BsYXlDb2x1bW5zLmZpbmQodnYgPT4gdnYuTmFtZSA9PT0gY29sLk5hbWUpICE9PSB1bmRlZmluZWRcclxuXHRcdCk7XHJcblxyXG5cdFx0Lyoq5YaN6L6T5Ye65Ymp5LiL55qE5YiXICovXHJcblx0XHRjb25zdCBjYyA9ICh0aGlzLmRpc3BsYXlDb2x1bW5zIHx8IFtdKS5maWx0ZXIoY29sID0+IGNvbHMuZmluZCh2diA9PiB2di5OYW1lID09PSBjb2wuTmFtZSkgPT09IHVuZGVmaW5lZCk7XHJcblx0XHRjb2xzID0gY29scy5jb25jYXQoY2MpO1xyXG5cdFx0Ly8g5oqK5Zu65a6a5YiX5o+Q5Y2H5Yiw5pyA5YmN6Z2iXHJcblx0XHRjb2xzID0gY29scy5maWx0ZXIodiA9PiB2LnN0aWNreSkuY29uY2F0KGNvbHMuZmlsdGVyKHYgPT4gIXYuc3RpY2t5KSk7XHJcblx0XHRjb2xzLmZvckVhY2goKHYxLCBpZHgpID0+ICh2MS5pbmRleCA9IGlkeCkpO1xyXG5cdFx0dGhpcy5jb2x1bW5zID0gY29scztcclxuXHRcdHRoaXMuX3RhYmxlQ29sdW1ucyA9IFsuLi50aGlzLmZpeFN0YXJ0Q29sdW1uc10uY29uY2F0KFxyXG5cdFx0XHQvKirlm7rlrprnmoTliJfmjpLlnKjliY3pnaIgKi9cclxuXHRcdFx0dGhpcy5jb2x1bW5zLFxyXG5cdFx0XHR0aGlzLmZpeEVuZENvbHVtbnNcclxuXHRcdCk7XHJcblx0XHR0aGlzLmRpc3BsYXlDb2x1bW5OYW1lcyA9IHRoaXMuX3RhYmxlQ29sdW1ucy5tYXAodnYgPT4gdnYuTmFtZSk7XHJcblx0XHQvKirlpojom4vvvIzliJflhoXlrrnlj5jljJbvvIzlrr3luqbov5jmmK/nrpfkuIrkuIDmrKHnmoTvvIzpgKDmiJDliJflrr3orqHnrpfkuI3lr7nvvIzlj6rmnInlj5jpgJrnmoTlu7blkI7osIPnlKjkuIDmrKHlvLrliLbmm7TmlrAgKi9cclxuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHR0aGlzLnRhYkRhdGFPcmcudXBkYXRlU3RpY2t5Q29sdW1uU3R5bGVzKCk7XHJcblx0XHR9LCAxMCk7XHJcblx0fVxyXG59XHJcbiJdfQ==