ddata-ui-input
Version:
DData UI Input module, components, models & services
29 lines • 3.86 kB
JavaScript
// tslint:disable: variable-name
import { faCog } from '@fortawesome/free-solid-svg-icons';
import { BaseModel } from 'ddata-core';
export class SearchModelFunctions extends BaseModel {
constructor() {
super(...arguments);
this.icons = {
cog: faCog,
};
}
init(data) {
data = !!data ? data : {};
this.initAsNumberWithDefaults(['id'], data);
this.initAsStringWithDefaults(['name', 'description', 'type', 'found_model_name'], data);
this.icon = this.setIcon(this.type);
this.url = this.setUrl(this.type);
return this;
}
setUrl(type) {
return type.replace(new RegExp(/_/, 'g'), '/');
}
setIcon(type) {
if (!type) {
return this.icons.cog;
}
return this.icons[type] ?? this.icons.cog;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLW1vZGVsLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkYXRhLXVpLWlucHV0L3NyYy9saWIvbW9kZWxzL3NlYXJjaC9zZWFyY2gtbW9kZWwtZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdDQUFnQztBQUNoQyxPQUFPLEVBQUUsS0FBSyxFQUFrQixNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQU0sTUFBTSxZQUFZLENBQUM7QUFHM0MsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFNBQVM7SUFBbkQ7O1FBUUUsVUFBSyxHQUFxQjtZQUN4QixHQUFHLEVBQUUsS0FBSztTQUNYLENBQUM7SUE4QkosQ0FBQztJQTVCQyxJQUFJLENBQUMsSUFBVTtRQUNiLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsd0JBQXdCLENBQzNCLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsa0JBQWtCLENBQUMsRUFDbkQsSUFBSSxDQUNMLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRVMsTUFBTSxDQUFDLElBQVk7UUFDM0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRVMsT0FBTyxDQUFDLElBQVk7UUFDNUIsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDdkI7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDNUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6IHZhcmlhYmxlLW5hbWVcbmltcG9ydCB7IGZhQ29nLCBJY29uRGVmaW5pdGlvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBCYXNlTW9kZWwsIElEIH0gZnJvbSAnZGRhdGEtY29yZSc7XG5pbXBvcnQgeyBJY29uU2V0SW50ZXJmYWNlIH0gZnJvbSAnLi4vaWNvbi1zZXQvaWNvbi1zZXQuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIFNlYXJjaE1vZGVsRnVuY3Rpb25zIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgaWQ6IElEO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgZm91bmRfbW9kZWxfbmFtZTogc3RyaW5nO1xuICBpY29uOiBJY29uRGVmaW5pdGlvbjtcbiAgdXJsOiBzdHJpbmc7XG4gIGljb25zOiBJY29uU2V0SW50ZXJmYWNlID0ge1xuICAgIGNvZzogZmFDb2csXG4gIH07XG5cbiAgaW5pdChkYXRhPzogYW55KTogYW55IHtcbiAgICBkYXRhID0gISFkYXRhID8gZGF0YSA6IHt9O1xuXG4gICAgdGhpcy5pbml0QXNOdW1iZXJXaXRoRGVmYXVsdHMoWydpZCddLCBkYXRhKTtcblxuICAgIHRoaXMuaW5pdEFzU3RyaW5nV2l0aERlZmF1bHRzKFxuICAgICAgWyduYW1lJywgJ2Rlc2NyaXB0aW9uJywgJ3R5cGUnLCAnZm91bmRfbW9kZWxfbmFtZSddLFxuICAgICAgZGF0YVxuICAgICk7XG5cbiAgICB0aGlzLmljb24gPSB0aGlzLnNldEljb24odGhpcy50eXBlKTtcblxuICAgIHRoaXMudXJsID0gdGhpcy5zZXRVcmwodGhpcy50eXBlKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFVybCh0eXBlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlLnJlcGxhY2UobmV3IFJlZ0V4cCgvXy8sICdnJyksICcvJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0SWNvbih0eXBlOiBzdHJpbmcpOiBJY29uRGVmaW5pdGlvbiB7XG4gICAgaWYgKCF0eXBlKSB7XG4gICAgICByZXR1cm4gdGhpcy5pY29ucy5jb2c7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaWNvbnNbdHlwZV0gPz8gdGhpcy5pY29ucy5jb2c7XG4gIH1cbn1cbiJdfQ==