UNPKG

@catull/igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

84 lines 11.2 kB
import { SimpleChange } from '@angular/core'; /** * @hidden */ export function WatchChanges() { return function (target, key, propDesc) { var privateKey = '_' + key.toString(); propDesc = propDesc || { configurable: true, enumerable: true, }; propDesc.get = propDesc.get || (function () { return this[privateKey]; }); var originalSetter = propDesc.set || (function (val) { this[privateKey] = val; }); propDesc.set = function (val) { var _a; var init = this._init; var oldValue = this[key]; if (val !== oldValue || (typeof val === 'object' && val === oldValue)) { originalSetter.call(this, val); if (this.ngOnChanges && !init) { // in case wacthed prop changes trigger ngOnChanges manually var changes = (_a = {}, _a[key] = new SimpleChange(oldValue, val, false), _a); this.ngOnChanges(changes); } } }; return propDesc; }; } export function WatchColumnChanges() { return function (target, key, propDesc) { var privateKey = '_' + key.toString(); propDesc = propDesc || { configurable: true, enumerable: true, }; propDesc.get = propDesc.get || (function () { return this[privateKey]; }); var originalSetter = propDesc.set || (function (val) { this[privateKey] = val; }); propDesc.set = function (val) { var init = this._init; var oldValue = this[key]; originalSetter.call(this, val); if (val !== oldValue || (typeof val === 'object' && val === oldValue)) { if (this.rowIslandAPI.rowIsland) { this.rowIslandAPI.rowIsland.updateColumnList(); } } }; return propDesc; }; } export function notifyChanges(repaint) { if (repaint === void 0) { repaint = false; } return function (_, key, propDesc) { var privateKey = "__" + key; propDesc = propDesc || { enumerable: true, configurable: true }; var originalSetter = propDesc ? propDesc.set : null; propDesc.get = propDesc.get || (function () { return this[privateKey]; }); propDesc.set = function (newValue) { if (originalSetter) { originalSetter.call(this, newValue); if (this.grid) { this.grid.notifyChanges(repaint); } } else { if (newValue === this[key]) { return; } this[privateKey] = newValue; if (this.grid) { this.grid.notifyChanges(repaint); } } }; return propDesc; }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2gtY2hhbmdlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2lnbml0ZXVpLWFuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvZ3JpZHMvd2F0Y2gtY2hhbmdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1RDs7RUFFRTtBQUNGLE1BQU0sVUFBVSxZQUFZO0lBQ3hCLE9BQU8sVUFBQyxNQUFXLEVBQUUsR0FBVyxFQUFFLFFBQTZCO1FBQzNELElBQU0sVUFBVSxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEMsUUFBUSxHQUFHLFFBQVEsSUFBSTtZQUNuQixZQUFZLEVBQUUsSUFBSTtZQUNsQixVQUFVLEVBQUUsSUFBSTtTQUNuQixDQUFDO1FBQ0YsUUFBUSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBdUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRixJQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBcUIsR0FBUSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVwRyxRQUFRLENBQUMsR0FBRyxHQUFHLFVBQXFCLEdBQVE7O1lBQ3hDLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDeEIsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLElBQUksR0FBRyxLQUFLLFFBQVEsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssUUFBUSxDQUFDLEVBQUU7Z0JBQ25FLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLEVBQUU7b0JBQzNCLDREQUE0RDtvQkFDNUQsSUFBTSxPQUFPO3dCQUNULEdBQUMsR0FBRyxJQUFHLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDOzJCQUNoRCxDQUFDO29CQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQzlCO2FBQ0g7UUFDTCxDQUFDLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQjtJQUM5QixPQUFPLFVBQUMsTUFBVyxFQUFFLEdBQVcsRUFBRSxRQUE2QjtRQUMzRCxJQUFNLFVBQVUsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hDLFFBQVEsR0FBRyxRQUFRLElBQUk7WUFDbkIsWUFBWSxFQUFFLElBQUk7WUFDbEIsVUFBVSxFQUFFLElBQUk7U0FDbkIsQ0FBQztRQUNGLFFBQVEsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQXVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkYsSUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQXFCLEdBQVEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEcsUUFBUSxDQUFDLEdBQUcsR0FBRyxVQUFxQixHQUFRO1lBQ3hDLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDeEIsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQy9CLElBQUksR0FBRyxLQUFLLFFBQVEsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssUUFBUSxDQUFDLEVBQUU7Z0JBQ25FLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUU7b0JBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLENBQUM7aUJBQ25EO2FBQ0g7UUFDTCxDQUFDLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxPQUFlO0lBQWYsd0JBQUEsRUFBQSxlQUFlO0lBQ3pDLE9BQU8sVUFBQyxDQUFNLEVBQUUsR0FBVyxFQUFFLFFBQTZCO1FBRXRELElBQU0sVUFBVSxHQUFHLE9BQUssR0FBSyxDQUFDO1FBRTlCLFFBQVEsR0FBRyxRQUFRLElBQUk7WUFDbkIsVUFBVSxFQUFFLElBQUk7WUFDaEIsWUFBWSxFQUFFLElBQUk7U0FDckIsQ0FBQztRQUdGLElBQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRXRELFFBQVEsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWlCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFN0UsUUFBUSxDQUFDLEdBQUcsR0FBRyxVQUFlLFFBQVE7WUFDbEMsSUFBSSxjQUFjLEVBQUU7Z0JBQ2hCLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUNwQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7b0JBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ3BDO2FBQ0o7aUJBQU07Z0JBQ0gsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUFFLE9BQU87aUJBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxRQUFRLENBQUM7Z0JBQzVCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtvQkFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDcEM7YUFDSjtRQUNMLENBQUMsQ0FBQztRQUNGLE9BQU8sUUFBZSxDQUFDO0lBQzNCLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaW1wbGVDaGFuZ2VzLCBTaW1wbGVDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4qIEBoaWRkZW5cbiovXG5leHBvcnQgZnVuY3Rpb24gV2F0Y2hDaGFuZ2VzKCk6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgICByZXR1cm4gKHRhcmdldDogYW55LCBrZXk6IHN0cmluZywgcHJvcERlc2M/OiBQcm9wZXJ0eURlc2NyaXB0b3IpID0+IHtcbiAgICAgICAgY29uc3QgcHJpdmF0ZUtleSA9ICdfJyArIGtleS50b1N0cmluZygpO1xuICAgICAgICBwcm9wRGVzYyA9IHByb3BEZXNjIHx8IHtcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIH07XG4gICAgICAgIHByb3BEZXNjLmdldCA9IHByb3BEZXNjLmdldCB8fCAoZnVuY3Rpb24gKHRoaXM6IGFueSkgeyByZXR1cm4gdGhpc1twcml2YXRlS2V5XTsgfSk7XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsU2V0dGVyID0gcHJvcERlc2Muc2V0IHx8IChmdW5jdGlvbiAodGhpczogYW55LCB2YWw6IGFueSkgeyB0aGlzW3ByaXZhdGVLZXldID0gdmFsOyB9KTtcblxuICAgICAgICBwcm9wRGVzYy5zZXQgPSBmdW5jdGlvbiAodGhpczogYW55LCB2YWw6IGFueSkge1xuICAgICAgICAgICAgY29uc3QgaW5pdCA9IHRoaXMuX2luaXQ7XG4gICAgICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXNba2V5XTtcbiAgICAgICAgICAgIGlmICh2YWwgIT09IG9sZFZhbHVlIHx8ICh0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiB2YWwgPT09IG9sZFZhbHVlKSkge1xuICAgICAgICAgICAgICAgIG9yaWdpbmFsU2V0dGVyLmNhbGwodGhpcywgdmFsKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5uZ09uQ2hhbmdlcyAmJiAhaW5pdCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBpbiBjYXNlIHdhY3RoZWQgcHJvcCBjaGFuZ2VzIHRyaWdnZXIgbmdPbkNoYW5nZXMgbWFudWFsbHlcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhbmdlczogU2ltcGxlQ2hhbmdlcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFtrZXldOiBuZXcgU2ltcGxlQ2hhbmdlKG9sZFZhbHVlLCB2YWwsIGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gcHJvcERlc2M7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdhdGNoQ29sdW1uQ2hhbmdlcygpOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gICAgcmV0dXJuICh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcsIHByb3BEZXNjPzogUHJvcGVydHlEZXNjcmlwdG9yKSA9PiB7XG4gICAgICAgIGNvbnN0IHByaXZhdGVLZXkgPSAnXycgKyBrZXkudG9TdHJpbmcoKTtcbiAgICAgICAgcHJvcERlc2MgPSBwcm9wRGVzYyB8fCB7XG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB9O1xuICAgICAgICBwcm9wRGVzYy5nZXQgPSBwcm9wRGVzYy5nZXQgfHwgKGZ1bmN0aW9uICh0aGlzOiBhbnkpIHsgcmV0dXJuIHRoaXNbcHJpdmF0ZUtleV07IH0pO1xuICAgICAgICBjb25zdCBvcmlnaW5hbFNldHRlciA9IHByb3BEZXNjLnNldCB8fCAoZnVuY3Rpb24gKHRoaXM6IGFueSwgdmFsOiBhbnkpIHsgdGhpc1twcml2YXRlS2V5XSA9IHZhbDsgfSk7XG5cbiAgICAgICAgcHJvcERlc2Muc2V0ID0gZnVuY3Rpb24gKHRoaXM6IGFueSwgdmFsOiBhbnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGluaXQgPSB0aGlzLl9pbml0O1xuICAgICAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzW2tleV07XG4gICAgICAgICAgICBvcmlnaW5hbFNldHRlci5jYWxsKHRoaXMsIHZhbCk7XG4gICAgICAgICAgICBpZiAodmFsICE9PSBvbGRWYWx1ZSB8fCAodHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsID09PSBvbGRWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5yb3dJc2xhbmRBUEkucm93SXNsYW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm93SXNsYW5kQVBJLnJvd0lzbGFuZC51cGRhdGVDb2x1bW5MaXN0KCk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBwcm9wRGVzYztcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm90aWZ5Q2hhbmdlcyhyZXBhaW50ID0gZmFsc2UpIHtcbiAgICByZXR1cm4gKF86IGFueSwga2V5OiBzdHJpbmcsIHByb3BEZXNjPzogUHJvcGVydHlEZXNjcmlwdG9yKSA9PiB7XG5cbiAgICAgICAgY29uc3QgcHJpdmF0ZUtleSA9IGBfXyR7a2V5fWA7XG5cbiAgICAgICAgcHJvcERlc2MgPSBwcm9wRGVzYyB8fCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICAgIH07XG5cblxuICAgICAgICBjb25zdCBvcmlnaW5hbFNldHRlciA9IHByb3BEZXNjID8gcHJvcERlc2Muc2V0IDogbnVsbDtcblxuICAgICAgICBwcm9wRGVzYy5nZXQgPSBwcm9wRGVzYy5nZXQgfHwgKGZ1bmN0aW9uKHRoaXMpIHsgcmV0dXJuIHRoaXNbcHJpdmF0ZUtleV07IH0pO1xuXG4gICAgICAgIHByb3BEZXNjLnNldCA9IGZ1bmN0aW9uKHRoaXMsIG5ld1ZhbHVlKSB7XG4gICAgICAgICAgICBpZiAob3JpZ2luYWxTZXR0ZXIpIHtcbiAgICAgICAgICAgICAgICBvcmlnaW5hbFNldHRlci5jYWxsKHRoaXMsIG5ld1ZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ncmlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZC5ub3RpZnlDaGFuZ2VzKHJlcGFpbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKG5ld1ZhbHVlID09PSB0aGlzW2tleV0pIHsgcmV0dXJuOyB9XG4gICAgICAgICAgICAgICAgdGhpc1twcml2YXRlS2V5XSA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmdyaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkLm5vdGlmeUNoYW5nZXMocmVwYWludCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gcHJvcERlc2MgYXMgYW55O1xuICAgIH07XG59XG4iXX0=