UNPKG

ngx-dynamic-dashboard

Version:
67 lines 9.67 kB
import { Injectable } from '@angular/core'; import { DropdownProperty } from '../../dynamic-form/property-dropdown'; import { TextboxProperty } from '../../dynamic-form/property-textbox'; import { HiddenProperty } from '../../dynamic-form/property-hidden'; import { CheckboxProperty } from '../../dynamic-form/property-checkbox'; import { DynamicDropdownProperty } from '../../dynamic-form/property-dynamicdropdown'; import { NumberProperty } from '../../dynamic-form/property-number'; export class GadgetPropertyService { constructor() { } setPropertiesAndValues(defaultProperties, properties) { let ctrl; properties.length = 0; defaultProperties.forEach(function (property) { if (property.controlType === 'dropdown') { ctrl = new DropdownProperty(property); properties.push(ctrl); } else if (property.controlType === 'textbox') { ctrl = new TextboxProperty(property); properties.push(ctrl); } else if (property.controlType === 'checkbox') { ctrl = new CheckboxProperty(property); properties.push(ctrl); } else if (property.controlType === 'hidden') { ctrl = new HiddenProperty(property); properties.push(ctrl); } else if (property.controlType === 'number') { ctrl = new NumberProperty(property); properties.push(ctrl); } else if (property.controlType === 'dynamicdropdown') { ctrl = new DynamicDropdownProperty(property); properties.push(ctrl); } }); properties.sort((a, b) => a.order - b.order); } setPropertyPagesAndProperties(defaultPropertyPages, propertyPages) { const me = this; // for each defaultPropertyPage object, get the properties defaultPropertyPages.forEach(function (propertyPage) { const newPropertyPage = {}; for (const property in propertyPage) { if (propertyPage.hasOwnProperty(property)) { if (property !== 'properties') { newPropertyPage[property] = propertyPage[property]; } else { const properties = []; me.setPropertiesAndValues(propertyPage.properties, properties); newPropertyPage['properties'] = properties; } } } propertyPages.push(newPropertyPage); }); } } GadgetPropertyService.decorators = [ { type: Injectable } ]; GadgetPropertyService.ctorParameters = () => []; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FkZ2V0LXByb3BlcnR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2JlbmxpL3dvcmtzcGFjZXMvbmd4LWR5bmFtaWMtZGFzaGJvYXJkLWZyYW1ld29yay9wcm9qZWN0cy9uZ3gtZHluYW1pYy1kYXNoYm9hcmQvc3JjLyIsInNvdXJjZXMiOlsiZGFzaGJvYXJkL2dhZGdldHMvX2NvbW1vbi9nYWRnZXQtcHJvcGVydHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBRXRFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDbEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDdEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBR2xFLE1BQU0sT0FBTyxxQkFBcUI7SUFFOUI7SUFDQSxDQUFDO0lBRUQsc0JBQXNCLENBQUMsaUJBQXdCLEVBQUUsVUFBK0I7UUFDNUUsSUFBSSxJQUF1QixDQUFDO1FBRTVCLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBRXRCLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxVQUFVLFFBQVE7WUFFeEMsSUFBSSxRQUFRLENBQUMsV0FBVyxLQUFLLFVBQVUsRUFBRTtnQkFDckMsSUFBSSxHQUFHLElBQUksZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3RDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDekI7aUJBQU0sSUFBSSxRQUFRLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRTtnQkFDM0MsSUFBSSxHQUFHLElBQUksZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNyQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3pCO2lCQUFNLElBQUksUUFBUSxDQUFDLFdBQVcsS0FBSyxVQUFVLEVBQUU7Z0JBQzVDLElBQUksR0FBRyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN0QyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3pCO2lCQUFNLElBQUksUUFBUSxDQUFDLFdBQVcsS0FBSyxRQUFRLEVBQUU7Z0JBQzFDLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDcEMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN6QjtpQkFBTSxJQUFJLFFBQVEsQ0FBQyxXQUFXLEtBQUssUUFBUSxFQUFFO2dCQUMxQyxJQUFJLEdBQUcsSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3BDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDekI7aUJBQU0sSUFBSSxRQUFRLENBQUMsV0FBVyxLQUFLLGlCQUFpQixFQUFFO2dCQUNuRCxJQUFJLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDN0MsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUV6QjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCw2QkFBNkIsQ0FBQyxvQkFBMkIsRUFBRSxhQUFvQjtRQUUzRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFaEIsMERBQTBEO1FBQzFELG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxVQUFVLFlBQVk7WUFFL0MsTUFBTSxlQUFlLEdBQVEsRUFBRSxDQUFDO1lBRWhDLEtBQUssTUFBTSxRQUFRLElBQUksWUFBWSxFQUFFO2dCQUVqQyxJQUFJLFlBQVksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBRXZDLElBQUksUUFBUSxLQUFLLFlBQVksRUFBRTt3QkFFM0IsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztxQkFFdEQ7eUJBQU07d0JBRUgsTUFBTSxVQUFVLEdBQXdCLEVBQUUsQ0FBQzt3QkFDM0MsRUFBRSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7d0JBQy9ELGVBQWUsQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUM7cUJBQzlDO2lCQUNKO2FBQ0o7WUFFRCxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXhDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7O1lBbkVKLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEcm9wZG93blByb3BlcnR5fSBmcm9tICcuLi8uLi9keW5hbWljLWZvcm0vcHJvcGVydHktZHJvcGRvd24nO1xuaW1wb3J0IHtQcm9wZXJ0eUJhc2V9IGZyb20gJy4uLy4uL2R5bmFtaWMtZm9ybS9wcm9wZXJ0eS1iYXNlJztcbmltcG9ydCB7VGV4dGJveFByb3BlcnR5fSBmcm9tICcuLi8uLi9keW5hbWljLWZvcm0vcHJvcGVydHktdGV4dGJveCc7XG5pbXBvcnQge0hpZGRlblByb3BlcnR5fSBmcm9tICcuLi8uLi9keW5hbWljLWZvcm0vcHJvcGVydHktaGlkZGVuJztcbmltcG9ydCB7Q2hlY2tib3hQcm9wZXJ0eX0gZnJvbSAnLi4vLi4vZHluYW1pYy1mb3JtL3Byb3BlcnR5LWNoZWNrYm94JztcbmltcG9ydCB7RHluYW1pY0Ryb3Bkb3duUHJvcGVydHl9IGZyb20gJy4uLy4uL2R5bmFtaWMtZm9ybS9wcm9wZXJ0eS1keW5hbWljZHJvcGRvd24nO1xuaW1wb3J0IHtOdW1iZXJQcm9wZXJ0eX0gZnJvbSAnLi4vLi4vZHluYW1pYy1mb3JtL3Byb3BlcnR5LW51bWJlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBHYWRnZXRQcm9wZXJ0eVNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgfVxuXG4gICAgc2V0UHJvcGVydGllc0FuZFZhbHVlcyhkZWZhdWx0UHJvcGVydGllczogYW55W10sIHByb3BlcnRpZXM6IFByb3BlcnR5QmFzZTxhbnk+W10pIHtcbiAgICAgICAgbGV0IGN0cmw6IFByb3BlcnR5QmFzZTxhbnk+O1xuXG4gICAgICAgIHByb3BlcnRpZXMubGVuZ3RoID0gMDtcblxuICAgICAgICBkZWZhdWx0UHJvcGVydGllcy5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wZXJ0eSkge1xuXG4gICAgICAgICAgICBpZiAocHJvcGVydHkuY29udHJvbFR5cGUgPT09ICdkcm9wZG93bicpIHtcbiAgICAgICAgICAgICAgICBjdHJsID0gbmV3IERyb3Bkb3duUHJvcGVydHkocHJvcGVydHkpO1xuICAgICAgICAgICAgICAgIHByb3BlcnRpZXMucHVzaChjdHJsKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocHJvcGVydHkuY29udHJvbFR5cGUgPT09ICd0ZXh0Ym94Jykge1xuICAgICAgICAgICAgICAgIGN0cmwgPSBuZXcgVGV4dGJveFByb3BlcnR5KHByb3BlcnR5KTtcbiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLnB1c2goY3RybCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BlcnR5LmNvbnRyb2xUeXBlID09PSAnY2hlY2tib3gnKSB7XG4gICAgICAgICAgICAgICAgY3RybCA9IG5ldyBDaGVja2JveFByb3BlcnR5KHByb3BlcnR5KTtcbiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLnB1c2goY3RybCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BlcnR5LmNvbnRyb2xUeXBlID09PSAnaGlkZGVuJykge1xuICAgICAgICAgICAgICAgIGN0cmwgPSBuZXcgSGlkZGVuUHJvcGVydHkocHJvcGVydHkpO1xuICAgICAgICAgICAgICAgIHByb3BlcnRpZXMucHVzaChjdHJsKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocHJvcGVydHkuY29udHJvbFR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgICAgY3RybCA9IG5ldyBOdW1iZXJQcm9wZXJ0eShwcm9wZXJ0eSk7XG4gICAgICAgICAgICAgICAgcHJvcGVydGllcy5wdXNoKGN0cmwpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eS5jb250cm9sVHlwZSA9PT0gJ2R5bmFtaWNkcm9wZG93bicpIHtcbiAgICAgICAgICAgICAgICBjdHJsID0gbmV3IER5bmFtaWNEcm9wZG93blByb3BlcnR5KHByb3BlcnR5KTtcbiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLnB1c2goY3RybCk7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcHJvcGVydGllcy5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcik7XG4gICAgfVxuXG4gICAgc2V0UHJvcGVydHlQYWdlc0FuZFByb3BlcnRpZXMoZGVmYXVsdFByb3BlcnR5UGFnZXM6IGFueVtdLCBwcm9wZXJ0eVBhZ2VzOiBhbnlbXSkge1xuXG4gICAgICAgIGNvbnN0IG1lID0gdGhpcztcblxuICAgICAgICAvLyBmb3IgZWFjaCBkZWZhdWx0UHJvcGVydHlQYWdlIG9iamVjdCwgZ2V0IHRoZSBwcm9wZXJ0aWVzXG4gICAgICAgIGRlZmF1bHRQcm9wZXJ0eVBhZ2VzLmZvckVhY2goZnVuY3Rpb24gKHByb3BlcnR5UGFnZSkge1xuXG4gICAgICAgICAgICBjb25zdCBuZXdQcm9wZXJ0eVBhZ2U6IGFueSA9IHt9O1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIHByb3BlcnR5UGFnZSkge1xuXG4gICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5UGFnZS5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSkpIHtcblxuICAgICAgICAgICAgICAgICAgICBpZiAocHJvcGVydHkgIT09ICdwcm9wZXJ0aWVzJykge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdQcm9wZXJ0eVBhZ2VbcHJvcGVydHldID0gcHJvcGVydHlQYWdlW3Byb3BlcnR5XTtcblxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcm9wZXJ0aWVzOiBQcm9wZXJ0eUJhc2U8YW55PltdID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICBtZS5zZXRQcm9wZXJ0aWVzQW5kVmFsdWVzKHByb3BlcnR5UGFnZS5wcm9wZXJ0aWVzLCBwcm9wZXJ0aWVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Byb3BlcnR5UGFnZVsncHJvcGVydGllcyddID0gcHJvcGVydGllcztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHJvcGVydHlQYWdlcy5wdXNoKG5ld1Byb3BlcnR5UGFnZSk7XG5cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19