dbweb-common
Version:
用`yarn add dbweb-common`安装,不要忘记修改`angular.json`里的 `architect\build\options\assets`,加上
187 lines • 14.9 kB
JavaScript
/**
* @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==