@hxui/angular
Version:
* * *
89 lines • 6.92 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
import { FilterType } from './filters-type.enum';
export class FiltersModel {
/**
* @param {?=} data
*/
constructor(data) {
this.defaultIndex = 0;
this.charLimit = 2;
Object.assign(this, data);
if (this.type !== FilterType.Search) {
this.setSelectedOption();
}
this.isIconised();
}
/**
* @param {?=} option
* @return {?}
*/
setSelectedOption(option) {
if (option) {
option.selected = true;
this.selected = option;
}
else {
if (this.options.length && !this.selected) {
this.selected = this.options.find((opt) => {
return opt.selected;
});
}
}
}
/**
* @return {?}
*/
setDefaultOption() {
if (this.options.length) {
this.selected = this.options[this.defaultIndex];
}
}
/**
* @return {?}
*/
isDefaultOptionActive() {
if (this.type === FilterType.SingleSelect) {
return (this.selected === this.options[this.defaultIndex]);
}
else if (this.type === FilterType.Search) {
return (this.value === '' || this.value === undefined);
}
}
/**
* @return {?}
*/
isIconised() {
if (this.options) {
/** @type {?} */
const hasIcons = this.options.find((option) => {
return (typeof option.icon !== 'undefined' && option.icon !== '');
});
return (typeof hasIcons !== 'undefined');
}
return false;
}
}
if (false) {
/** @type {?} */
FiltersModel.prototype.id;
/** @type {?} */
FiltersModel.prototype.type;
/** @type {?} */
FiltersModel.prototype.label;
/** @type {?} */
FiltersModel.prototype.options;
/** @type {?} */
FiltersModel.prototype.value;
/** @type {?} */
FiltersModel.prototype.callback;
/** @type {?} */
FiltersModel.prototype.selected;
/** @type {?} */
FiltersModel.prototype.defaultIndex;
/** @type {?} */
FiltersModel.prototype.charLimit;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BoeHVpL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvZmlsdGVycy9maWx0ZXJzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFL0MsTUFBTSxPQUFPLFlBQVk7Ozs7SUFZdkIsWUFBWSxJQUFxQjtRQUhqQyxpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBR1osTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDMUI7UUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7Ozs7SUFFQSxpQkFBaUIsQ0FBQyxNQUFzQjtRQUN2QyxJQUFJLE1BQU0sRUFBRTtZQUNWLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO1NBQ3hCO2FBQU07WUFDTCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUN4QyxPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtJQUNILENBQUM7Ozs7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDOzs7O0lBRUQscUJBQXFCO1FBQ25CLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFO1lBQ3pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7U0FDNUQ7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLE1BQU0sRUFBRTtZQUMxQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7Ozs7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFOztrQkFDVixRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDNUMsT0FBTyxDQUFDLE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxXQUFXLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNwRSxDQUFDLENBQUM7WUFDRixPQUFPLENBQUMsT0FBTyxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUM7U0FDMUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRjs7O0lBdERDLDBCQUFXOztJQUNYLDRCQUFpQjs7SUFDakIsNkJBQWM7O0lBQ2QsK0JBQTBCOztJQUMxQiw2QkFBZTs7SUFDZixnQ0FBYzs7SUFDZCxnQ0FBd0I7O0lBQ3hCLG9DQUFpQjs7SUFDakIsaUNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lGaWx0ZXJPcHRpb24sIElGaWx0ZXJzQ29uZmlnfSBmcm9tICcuL2ZpbHRlcnMtY29uZmlnLmludGVyZmFjZSc7XHJcbmltcG9ydCB7RmlsdGVyVHlwZX0gZnJvbSAnLi9maWx0ZXJzLXR5cGUuZW51bSc7XHJcblxyXG5leHBvcnQgY2xhc3MgRmlsdGVyc01vZGVsIGltcGxlbWVudHMgSUZpbHRlcnNDb25maWcge1xyXG5cclxuICBpZDogc3RyaW5nO1xyXG4gIHR5cGU6IEZpbHRlclR5cGU7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBvcHRpb25zPzogSUZpbHRlck9wdGlvbltdO1xyXG4gIHZhbHVlPzogc3RyaW5nO1xyXG4gIGNhbGxiYWNrOiBhbnk7XHJcbiAgc2VsZWN0ZWQ6IElGaWx0ZXJPcHRpb247XHJcbiAgZGVmYXVsdEluZGV4ID0gMDtcclxuICBjaGFyTGltaXQgPSAyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihkYXRhPzogSUZpbHRlcnNDb25maWcpIHtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcywgZGF0YSk7XHJcbiAgICBpZiAodGhpcy50eXBlICE9PSBGaWx0ZXJUeXBlLlNlYXJjaCkge1xyXG4gICAgICB0aGlzLnNldFNlbGVjdGVkT3B0aW9uKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzSWNvbmlzZWQoKTtcclxuICB9XHJcblxyXG4gICBzZXRTZWxlY3RlZE9wdGlvbihvcHRpb24/OiBJRmlsdGVyT3B0aW9uKSB7XHJcbiAgICBpZiAob3B0aW9uKSB7XHJcbiAgICAgIG9wdGlvbi5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSBvcHRpb247XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5vcHRpb25zLmxlbmd0aCAmJiAhdGhpcy5zZWxlY3RlZCkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLm9wdGlvbnMuZmluZCgob3B0KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gb3B0LnNlbGVjdGVkO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0T3B0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMub3B0aW9uc1t0aGlzLmRlZmF1bHRJbmRleF07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0RlZmF1bHRPcHRpb25BY3RpdmUoKSB7XHJcbiAgICBpZiAodGhpcy50eXBlID09PSBGaWx0ZXJUeXBlLlNpbmdsZVNlbGVjdCkge1xyXG4gICAgICByZXR1cm4gKHRoaXMuc2VsZWN0ZWQgPT09IHRoaXMub3B0aW9uc1t0aGlzLmRlZmF1bHRJbmRleF0pO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09IEZpbHRlclR5cGUuU2VhcmNoKSB7XHJcbiAgICAgIHJldHVybiAodGhpcy52YWx1ZSA9PT0gJycgfHwgdGhpcy52YWx1ZSA9PT0gdW5kZWZpbmVkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzSWNvbmlzZWQoKSB7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IGhhc0ljb25zID0gdGhpcy5vcHRpb25zLmZpbmQoKG9wdGlvbikgPT4ge1xyXG4gICAgICAgIHJldHVybiAodHlwZW9mIG9wdGlvbi5pY29uICE9PSAndW5kZWZpbmVkJyAmJiBvcHRpb24uaWNvbiAhPT0gJycpO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuICh0eXBlb2YgaGFzSWNvbnMgIT09ICd1bmRlZmluZWQnKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19