UNPKG

@true-directive/grid

Version:

Angular Data Grid from Yopsilon.

86 lines 9.56 kB
/** * Copyright (c) 2018-2019 Aleksey Melnikov, True Directive Company. * @link https://truedirective.com/ * @license MIT */ /** * Cell data */ export class RowCell { constructor(fieldName, value, element) { this.fieldName = fieldName; this.value = value; this.element = element; this._disabled = false; this._selected = 0; this._cellSelected = false; this._disClass = 'true-cell-disabled'; this._cfClass = 'true-cell-focused'; this._rsClass = 'true-range-selected'; this._maxLevel = 5; this.rendered = false; this.added = false; this.skipped = false; } toggleClass(cls, v) { if (v) { this.element.classList.add(cls); } else { this.element.classList.remove(cls); } return v; } setDisabled(v) { if (this._disabled === v) { return; } this._disabled = this.toggleClass(this._disClass, v); } setCellFocused(v) { if (this._cellSelected === v) { return; } this._cellSelected = this.toggleClass(this._cfClass, v); } setSelected(v) { if (this._selected === v) { return; } if (v > this._maxLevel) { // Более 5 раз одну и ту же ячейку выбрать можно. v = this._maxLevel; // Но дальше пятого уровня различию по рендерингу у них нет. } if (this._selected > 0) { this.element.classList.remove(this._rsClass); this.element.classList.remove(this._rsClass + this._selected); } if (v > 0) { this.element.classList.add(this._rsClass); this.element.classList.add(this._rsClass + v); } this._selected = v; } // Установка классов чекбокса setChecked(v) { if (!this.cbElement) { return; } this.value = v; if (v) { this.cbElement.classList.remove('indeterminate'); this.cbElement.classList.add('checked'); } else { if (v === null || v === undefined) { this.cbElement.classList.remove('checked'); this.cbElement.classList.add('indeterminate'); } else { this.cbElement.classList.remove('checked'); this.cbElement.classList.remove('indeterminate'); } } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNlbGwuY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdHJ1ZS1kaXJlY3RpdmUvZ3JpZC8iLCJzb3VyY2VzIjpbInNyYy9yb3ctY2VsbC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztFQUlFO0FBQ0Y7O0dBRUc7QUFDSCxNQUFNLE9BQU8sT0FBTztJQW1GbEIsWUFDUyxTQUFnQixFQUNoQixLQUFVLEVBQ1YsT0FBb0I7UUFGcEIsY0FBUyxHQUFULFNBQVMsQ0FBTztRQUNoQixVQUFLLEdBQUwsS0FBSyxDQUFLO1FBQ1YsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQXBGckIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxvQkFBb0IsQ0FBQztRQUNqQyxhQUFRLEdBQUcsbUJBQW1CLENBQUM7UUFDL0IsYUFBUSxHQUFHLHFCQUFxQixDQUFDO1FBQ2pDLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFHeEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsWUFBTyxHQUFHLEtBQUssQ0FBQztJQTBFbkIsQ0FBQztJQXhFRyxXQUFXLENBQUMsR0FBVyxFQUFFLENBQVU7UUFDekMsSUFBSSxDQUFDLEVBQUU7WUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDakM7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNwQztRQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLFdBQVcsQ0FBQyxDQUFVO1FBQzNCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVNLGNBQWMsQ0FBQyxDQUFVO1FBQzlCLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxDQUFDLEVBQUU7WUFDNUIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVNLFdBQVcsQ0FBQyxDQUFTO1FBRTFCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN0QixpREFBaUQ7WUFDakQsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBRSw0REFBNEQ7U0FDbEY7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQy9EO1FBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMvQztRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCw2QkFBNkI7SUFDdEIsVUFBVSxDQUFDLENBQVU7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsRUFBRTtZQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDekM7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFO2dCQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUMvQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUNsRDtTQUNGO0lBQ0gsQ0FBQztDQU9GIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IEFsZWtzZXkgTWVsbmlrb3YsIFRydWUgRGlyZWN0aXZlIENvbXBhbnkuXHJcbiAqIEBsaW5rIGh0dHBzOi8vdHJ1ZWRpcmVjdGl2ZS5jb20vXHJcbiAqIEBsaWNlbnNlIE1JVFxyXG4qL1xyXG4vKipcclxuICogQ2VsbCBkYXRhXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgUm93Q2VsbCB7XHJcblxyXG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfc2VsZWN0ZWQ6IG51bWJlciA9IDA7XHJcbiAgcHJpdmF0ZSBfY2VsbFNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGlzQ2xhc3MgPSAndHJ1ZS1jZWxsLWRpc2FibGVkJztcclxuICBwcml2YXRlIHJlYWRvbmx5IF9jZkNsYXNzID0gJ3RydWUtY2VsbC1mb2N1c2VkJztcclxuICBwcml2YXRlIHJlYWRvbmx5IF9yc0NsYXNzID0gJ3RydWUtcmFuZ2Utc2VsZWN0ZWQnO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX21heExldmVsID0gNTtcclxuXHJcbiAgcHVibGljIGNiRWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcbiAgcHVibGljIHJlbmRlcmVkID0gZmFsc2U7XHJcbiAgcHVibGljIGFkZGVkID0gZmFsc2U7XHJcbiAgcHVibGljIHNraXBwZWQgPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSB0b2dnbGVDbGFzcyhjbHM6IHN0cmluZywgdjogYm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHYpIHtcclxuICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNscyk7IFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHY7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RGlzYWJsZWQodjogYm9vbGVhbikge1xyXG4gICAgaWYgKHRoaXMuX2Rpc2FibGVkID09PSB2KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX2Rpc2FibGVkID0gdGhpcy50b2dnbGVDbGFzcyh0aGlzLl9kaXNDbGFzcywgdik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Q2VsbEZvY3VzZWQodjogYm9vbGVhbikge1xyXG4gICAgaWYgKHRoaXMuX2NlbGxTZWxlY3RlZCA9PT0gdikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl9jZWxsU2VsZWN0ZWQgPSB0aGlzLnRvZ2dsZUNsYXNzKHRoaXMuX2NmQ2xhc3MsIHYpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFNlbGVjdGVkKHY6IG51bWJlcikge1xyXG5cclxuICAgIGlmICh0aGlzLl9zZWxlY3RlZCA9PT0gdikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHYgPiB0aGlzLl9tYXhMZXZlbCkge1xyXG4gICAgICAvLyDQkdC+0LvQtdC1IDUg0YDQsNC3INC+0LTQvdGDINC4INGC0YMg0LbQtSDRj9GH0LXQudC60YMg0LLRi9Cx0YDQsNGC0Ywg0LzQvtC20L3Qvi5cclxuICAgICAgdiA9IHRoaXMuX21heExldmVsOyAgLy8g0J3QviDQtNCw0LvRjNGI0LUg0L/Rj9GC0L7Qs9C+INGD0YDQvtCy0L3RjyDRgNCw0LfQu9C40YfQuNGOINC/0L4g0YDQtdC90LTQtdGA0LjQvdCz0YMg0YMg0L3QuNGFINC90LXRgi5cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5fc2VsZWN0ZWQgPiAwKSB7XHJcbiAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuX3JzQ2xhc3MpO1xyXG4gICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9yc0NsYXNzICsgdGhpcy5fc2VsZWN0ZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh2ID4gMCkge1xyXG4gICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCh0aGlzLl9yc0NsYXNzKTtcclxuICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5fcnNDbGFzcyArIHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3NlbGVjdGVkID0gdjtcclxuICB9XHJcblxyXG4gIC8vINCj0YHRgtCw0L3QvtCy0LrQsCDQutC70LDRgdGB0L7QsiDRh9C10LrQsdC+0LrRgdCwXHJcbiAgcHVibGljIHNldENoZWNrZWQodjogYm9vbGVhbikge1xyXG4gICAgaWYgKCF0aGlzLmNiRWxlbWVudCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy52YWx1ZSA9IHY7XHJcbiAgICBpZiAodikge1xyXG4gICAgICB0aGlzLmNiRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdpbmRldGVybWluYXRlJyk7XHJcbiAgICAgIHRoaXMuY2JFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2NoZWNrZWQnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh2ID09PSBudWxsIHx8IHYgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuY2JFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2NoZWNrZWQnKTtcclxuICAgICAgICB0aGlzLmNiRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdpbmRldGVybWluYXRlJyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jYkVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnY2hlY2tlZCcpO1xyXG4gICAgICAgIHRoaXMuY2JFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2luZGV0ZXJtaW5hdGUnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZmllbGROYW1lOnN0cmluZyxcclxuICAgIHB1YmxpYyB2YWx1ZTogYW55LFxyXG4gICAgcHVibGljIGVsZW1lbnQ6IEhUTUxFbGVtZW50XHJcbiAgKSB7IH1cclxufVxyXG4iXX0=