ngnz-time-input
Version:
Material design time input for Angular 8
59 lines • 6.82 kB
JavaScript
import * as tslib_1 from "tslib";
var CssClassCreator = /** @class */ (function () {
function CssClassCreator(initVal) {
this._classes = {};
if (!!initVal) {
this.appendCssClasses(initVal);
}
}
CssClassCreator.prototype.appendCssClasses = function (classes, trigger) {
if (trigger === void 0) { trigger = true; }
if (!!classes) {
if (typeof classes === 'string') {
this._createFromString(classes, trigger);
}
else if (Array.isArray(classes)) {
this._createFromArray(classes, trigger);
}
else if (typeof classes === 'object') {
Object.assign(this._classes, classes);
}
}
return this;
};
CssClassCreator.prototype.generate = function () {
var out = {};
for (var item in this._classes) {
if (this._classes.hasOwnProperty(item)) {
out[item] =
typeof this._classes[item] === 'function'
? this._classes[item].call(this)
: !!this._classes[item];
}
}
return out;
};
CssClassCreator.prototype._createFromArray = function (classes, trigger) {
var e_1, _a;
try {
for (var classes_1 = tslib_1.__values(classes), classes_1_1 = classes_1.next(); !classes_1_1.done; classes_1_1 = classes_1.next()) {
var cls = classes_1_1.value;
this._classes['' + cls] = true;
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (classes_1_1 && !classes_1_1.done && (_a = classes_1.return)) _a.call(classes_1);
}
finally { if (e_1) throw e_1.error; }
}
};
CssClassCreator.prototype._createFromString = function (classes, trigger) {
var splitted = classes.split(/[\s,;]+/).filter(function (item) { return !!item; });
this._createFromArray(splitted, trigger);
};
return CssClassCreator;
}());
export { CssClassCreator };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLWNsYXNzLWNyZWF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ256LXRpbWUtaW5wdXQvIiwic291cmNlcyI6WyJsaWIvY2xhc3Nlcy9jc3MtY2xhc3MtY3JlYXRvci9jc3MtY2xhc3MtY3JlYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBS0E7SUFFSSx5QkFBWSxPQUE4QjtRQURoQyxhQUFRLEdBQWUsRUFBRSxDQUFDO1FBRWhDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNsQztJQUNMLENBQUM7SUFFRCwwQ0FBZ0IsR0FBaEIsVUFDSSxPQUE2QixFQUM3QixPQUE4QjtRQUE5Qix3QkFBQSxFQUFBLGNBQThCO1FBRTlCLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUNYLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO2dCQUM3QixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQzVDO2lCQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQzthQUMzQztpQkFBTSxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtnQkFDcEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ3pDO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsa0NBQVEsR0FBUjtRQUNJLElBQU0sR0FBRyxHQUFlLEVBQUUsQ0FBQztRQUMzQixLQUFLLElBQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDOUIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEMsR0FBRyxDQUFDLElBQUksQ0FBQztvQkFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVTt3QkFDckMsQ0FBQyxDQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7d0JBQ3JELENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNuQztTQUNKO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBQ1MsMENBQWdCLEdBQTFCLFVBQTJCLE9BQWlCLEVBQUUsT0FBdUI7OztZQUNqRSxLQUFrQixJQUFBLFlBQUEsaUJBQUEsT0FBTyxDQUFBLGdDQUFBLHFEQUFFO2dCQUF0QixJQUFNLEdBQUcsb0JBQUE7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO2FBQ2xDOzs7Ozs7Ozs7SUFDTCxDQUFDO0lBQ1MsMkNBQWlCLEdBQTNCLFVBQTRCLE9BQWUsRUFBRSxPQUF1QjtRQUNoRSxJQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFDLElBQUksSUFBSyxPQUFBLENBQUMsQ0FBQyxJQUFJLEVBQU4sQ0FBTSxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0wsc0JBQUM7QUFBRCxDQUFDLEFBN0NELElBNkNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbkZ1bmN0aW9uIH0gZnJvbSAnLi4vLi4vZGF0YXR5cGVzL2Jvb2xlYW4tZnVuY3Rpb24nO1xuaW1wb3J0IHsgQm9vbGVhblRyaWdnZXIgfSBmcm9tICcuLi8uLi9kYXRhdHlwZXMvYm9vbGVhbi10cmlnZ2VyJztcbmltcG9ydCB7IENzc0NsYXNzZXMgfSBmcm9tICcuLi8uLi9kYXRhdHlwZXMvY3NzLWNsYXNzZXMnO1xuaW1wb3J0IHsgQ3NzQ2xhc3Nlc0RlZmluaXRpb24gfSBmcm9tICcuLi8uLi9kYXRhdHlwZXMvY3NzLWNsYXNzZXMtZGVmaW5pdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBDc3NDbGFzc0NyZWF0b3Ige1xuICAgIHByb3RlY3RlZCBfY2xhc3NlczogQ3NzQ2xhc3NlcyA9IHt9O1xuICAgIGNvbnN0cnVjdG9yKGluaXRWYWw/OiBDc3NDbGFzc2VzRGVmaW5pdGlvbikge1xuICAgICAgICBpZiAoISFpbml0VmFsKSB7XG4gICAgICAgICAgICB0aGlzLmFwcGVuZENzc0NsYXNzZXMoaW5pdFZhbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhcHBlbmRDc3NDbGFzc2VzKFxuICAgICAgICBjbGFzc2VzOiBDc3NDbGFzc2VzRGVmaW5pdGlvbixcbiAgICAgICAgdHJpZ2dlcjogQm9vbGVhblRyaWdnZXIgPSB0cnVlXG4gICAgKSB7XG4gICAgICAgIGlmICghIWNsYXNzZXMpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY2xhc3NlcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jcmVhdGVGcm9tU3RyaW5nKGNsYXNzZXMsIHRyaWdnZXIpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGNsYXNzZXMpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY3JlYXRlRnJvbUFycmF5KGNsYXNzZXMsIHRyaWdnZXIpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgY2xhc3NlcyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuX2NsYXNzZXMsIGNsYXNzZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGdlbmVyYXRlKCkge1xuICAgICAgICBjb25zdCBvdXQ6IENzc0NsYXNzZXMgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIGluIHRoaXMuX2NsYXNzZXMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jbGFzc2VzLmhhc093blByb3BlcnR5KGl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgb3V0W2l0ZW1dID1cbiAgICAgICAgICAgICAgICAgICAgdHlwZW9mIHRoaXMuX2NsYXNzZXNbaXRlbV0gPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICAgICAgICAgID8gKHRoaXMuX2NsYXNzZXNbaXRlbV0gYXMgQm9vbGVhbkZ1bmN0aW9uKS5jYWxsKHRoaXMpXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICEhdGhpcy5fY2xhc3Nlc1tpdGVtXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3V0O1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2NyZWF0ZUZyb21BcnJheShjbGFzc2VzOiBzdHJpbmdbXSwgdHJpZ2dlcjogQm9vbGVhblRyaWdnZXIpIHtcbiAgICAgICAgZm9yIChjb25zdCBjbHMgb2YgY2xhc3Nlcykge1xuICAgICAgICAgICAgdGhpcy5fY2xhc3Nlc1snJyArIGNsc10gPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByb3RlY3RlZCBfY3JlYXRlRnJvbVN0cmluZyhjbGFzc2VzOiBzdHJpbmcsIHRyaWdnZXI6IEJvb2xlYW5UcmlnZ2VyKSB7XG4gICAgICAgIGNvbnN0IHNwbGl0dGVkID0gY2xhc3Nlcy5zcGxpdCgvW1xccyw7XSsvKS5maWx0ZXIoKGl0ZW0pID0+ICEhaXRlbSk7XG4gICAgICAgIHRoaXMuX2NyZWF0ZUZyb21BcnJheShzcGxpdHRlZCwgdHJpZ2dlcik7XG4gICAgfVxufVxuIl19