UNPKG

@stratio/egeo

Version:
164 lines 15.5 kB
/** * @fileoverview added by tsickle * Generated from: lib/st-dynamic-table/utils/st-dynamic-table.utils.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /* * © 2017 Stratio Big Data Inc., Sucursal en España. * * This software is licensed under the Apache License, Version 2.0. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the terms of the License for more details. * * SPDX-License-Identifier: Apache-2.0. */ import { formatDate } from '@angular/common'; var StDynamicTableUtils = /** @class */ (function () { function StDynamicTableUtils() { } /** * @param {?} jsonSchema * @param {?=} uiDefinitions * @return {?} */ StDynamicTableUtils.getHeaderFieldsFromJsonSchema = /** * @param {?} jsonSchema * @param {?=} uiDefinitions * @return {?} */ function (jsonSchema, uiDefinitions) { var _this = this; /** @type {?} */ var fields = []; if (jsonSchema && jsonSchema.properties) { /** @type {?} */ var properties = Object.keys(jsonSchema.properties); if (properties) { properties.forEach((/** * @param {?} _propertyKey * @return {?} */ function (_propertyKey) { /** @type {?} */ var _property = jsonSchema.properties[_propertyKey]; if (_property && _property.type !== 'object') { /** @type {?} */ var uiDefinition = uiDefinitions && uiDefinitions[_propertyKey]; /** @type {?} */ var visible = !uiDefinition || uiDefinition.visible !== false; if (visible) { /** @type {?} */ var filters = StDynamicTableUtils.getHeaderFiltersFromJsonSchema(_property, uiDefinition); /** @type {?} */ var isSortable = uiDefinition && uiDefinitions[_propertyKey].sortable; fields.push({ id: _propertyKey, label: _property.title || _propertyKey, fk: uiDefinition && uiDefinition.fk, group: uiDefinition && uiDefinition.group_field ? uiDefinition.group_field.view : null, filters: filters, filterable: filters && (filters.templateRef !== undefined || (filters.filterConfig && filters.filterConfig.length > 0)), sortable: isSortable, type: _property.type ? _this._getTypes(_propertyKey, _property.type.toString(), jsonSchema, uiDefinition) : null, clickable: uiDefinition && uiDefinition.clickable }); } } })); } } return fields; }; /** * @param {?} propertyDefinition * @param {?} uiDefinition * @return {?} */ StDynamicTableUtils.getHeaderFiltersFromJsonSchema = /** * @param {?} propertyDefinition * @param {?} uiDefinition * @return {?} */ function (propertyDefinition, uiDefinition) { /** @type {?} */ var filters; if (propertyDefinition.enum && propertyDefinition.enum.length) { filters = { title: propertyDefinition.title, filterConfig: [] }; propertyDefinition.enum.forEach((/** * @param {?} _value * @return {?} */ function (_value) { filters.filterConfig.push({ id: (/** @type {?} */ (_value)), name: (/** @type {?} */ (_value)) }); })); } else if (uiDefinition && uiDefinition.templateRef) { filters = { title: propertyDefinition.title, templateRef: uiDefinition.templateRef }; } return filters; }; /** * @param {?} date * @param {?} format * @param {?} locale * @return {?} */ StDynamicTableUtils.formatDate = /** * @param {?} date * @param {?} format * @param {?} locale * @return {?} */ function (date, format, locale) { try { return formatDate(date, format, locale); } catch (e) { return date; } }; /** * @private * @param {?} key * @param {?} type * @param {?} jsonSchema * @param {?} uiDefinition * @return {?} */ StDynamicTableUtils._getTypes = /** * @private * @param {?} key * @param {?} type * @param {?} jsonSchema * @param {?} uiDefinition * @return {?} */ function (key, type, jsonSchema, uiDefinition) { if (uiDefinition && uiDefinition.group_field && uiDefinition.group_field.view) { /** @type {?} */ var fields = uiDefinition.group_field.view.split(' - '); return fields.map((/** * @param {?} field * @return {?} */ function (field) { return ({ field: field, type: jsonSchema.properties[field] ? String(jsonSchema.properties[field].type) : '' }); })); } return [{ field: key, type: type }]; }; return StDynamicTableUtils; }()); export { StDynamicTableUtils }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3QtZHluYW1pYy10YWJsZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdHJhdGlvL2VnZW8vIiwic291cmNlcyI6WyJsaWIvc3QtZHluYW1pYy10YWJsZS91dGlscy9zdC1keW5hbWljLXRhYmxlLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQVlBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUs3QztJQUFBO0lBZ0ZBLENBQUM7Ozs7OztJQTlFZ0IsaURBQTZCOzs7OztJQUEzQyxVQUE0QyxVQUF1QixFQUFFLGFBQTJDO1FBQWhILGlCQWdDQzs7WUEvQlEsTUFBTSxHQUEyQixFQUFFO1FBRXpDLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxVQUFVLEVBQUU7O2dCQUNoQyxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1lBQ3JELElBQUksVUFBVSxFQUFFO2dCQUNiLFVBQVUsQ0FBQyxPQUFPOzs7O2dCQUFDLFVBQUEsWUFBWTs7d0JBQ3RCLFNBQVMsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztvQkFDckQsSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7OzRCQUNyQyxZQUFZLEdBQWtDLGFBQWEsSUFBSSxhQUFhLENBQUMsWUFBWSxDQUFDOzs0QkFDMUYsT0FBTyxHQUFZLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxPQUFPLEtBQUssS0FBSzt3QkFDeEUsSUFBSSxPQUFPLEVBQUU7O2dDQUNKLE9BQU8sR0FBbUIsbUJBQW1CLENBQUMsOEJBQThCLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQzs7Z0NBQ3JHLFVBQVUsR0FBRyxZQUFZLElBQUksYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVE7NEJBRXZFLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0NBQ1QsRUFBRSxFQUFFLFlBQVk7Z0NB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LENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7YUFDckYsQ0FDSCxFQUwwQixDQUsxQixFQUFDLENBQUM7U0FDTDtRQUNELE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNKLDBCQUFDO0FBQUQsQ0FBQyxBQWhGRCxJQWdGQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiDCqSAyMDE3IFN0cmF0aW8gQmlnIERhdGEgSW5jLiwgU3VjdXJzYWwgZW4gRXNwYcOxYS5cbiAqXG4gKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAuXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZO1xuICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS5cbiAqIFNlZSB0aGUgdGVybXMgb2YgdGhlIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMC5cbiAqL1xuXG5pbXBvcnQgeyBKU09OU2NoZW1hNCB9IGZyb20gJ2pzb24tc2NoZW1hJztcbmltcG9ydCB7IGZvcm1hdERhdGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBTdER5bmFtaWNUYWJsZUhlYWRlciwgU3REeW5hbWljVGFibGVVSVNwZWNpZmljYXRpb24sIFN0RHluYW1pY1RhYmxlVXNlckludGVyZmFjZSB9IGZyb20gJy4uL3N0LWR5bmFtaWMtdGFibGUubW9kZWwnO1xuaW1wb3J0IHsgU3RGaWx0ZXJIZWFkZXIgfSBmcm9tICcuLi8uLi9zdC10YWJsZS9zaGFyZWQvdGFibGUtaGVhZGVyLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBTdER5bmFtaWNUYWJsZVV0aWxzIHtcblxuICAgcHVibGljIHN0YXRpYyBnZXRIZWFkZXJGaWVsZHNGcm9tSnNvblNjaGVtYShqc29uU2NoZW1hOiBKU09OU2NoZW1hNCwgdWlEZWZpbml0aW9ucz86IFN0RHluYW1pY1RhYmxlVXNlckludGVyZmFjZSk6IFN0RHluYW1pY1RhYmxlSGVhZGVyW10ge1xuICAgICAgY29uc3QgZmllbGRzOiBTdER5bmFtaWNUYWJsZUhlYWRlcltdID0gW107XG5cbiAgICAgIGlmIChqc29uU2NoZW1hICYmIGpzb25TY2hlbWEucHJvcGVydGllcykge1xuICAgICAgICAgY29uc3QgcHJvcGVydGllcyA9IE9iamVjdC5rZXlzKGpzb25TY2hlbWEucHJvcGVydGllcyk7XG4gICAgICAgICBpZiAocHJvcGVydGllcykge1xuICAgICAgICAgICAgcHJvcGVydGllcy5mb3JFYWNoKF9wcm9wZXJ0eUtleSA9PiB7XG4gICAgICAgICAgICAgICBjb25zdCBfcHJvcGVydHkgPSBqc29uU2NoZW1hLnByb3BlcnRpZXNbX3Byb3BlcnR5S2V5XTtcbiAgICAgICAgICAgICAgIGlmIChfcHJvcGVydHkgJiYgX3Byb3BlcnR5LnR5cGUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCB1aURlZmluaXRpb246IFN0RHluYW1pY1RhYmxlVUlTcGVjaWZpY2F0aW9uID0gdWlEZWZpbml0aW9ucyAmJiB1aURlZmluaXRpb25zW19wcm9wZXJ0eUtleV07XG4gICAgICAgICAgICAgICAgICBjb25zdCB2aXNpYmxlOiBib29sZWFuID0gIXVpRGVmaW5pdGlvbiB8fCB1aURlZmluaXRpb24udmlzaWJsZSAhPT0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyczogU3RGaWx0ZXJIZWFkZXIgPSBTdER5bmFtaWNUYWJsZVV0aWxzLmdldEhlYWRlckZpbHRlcnNGcm9tSnNvblNjaGVtYShfcHJvcGVydHksIHVpRGVmaW5pdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICBjb25zdCBpc1NvcnRhYmxlID0gdWlEZWZpbml0aW9uICYmIHVpRGVmaW5pdGlvbnNbX3Byb3BlcnR5S2V5XS5zb3J0YWJsZTtcblxuICAgICAgICAgICAgICAgICAgICAgZmllbGRzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IF9wcm9wZXJ0eUtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfcHJvcGVydHkudGl0bGUgfHwgX3Byb3BlcnR5S2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZms6IHVpRGVmaW5pdGlvbiAmJiB1aURlZmluaXRpb24uZmssXG4gICAgICAgICAgICAgICAgICAgICAgICBncm91cDogdWlEZWZpbml0aW9uICYmIHVpRGVmaW5pdGlvbi5ncm91cF9maWVsZCA/IHVpRGVmaW5pdGlvbi5ncm91cF9maWVsZC52aWV3IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcnM6IGZpbHRlcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJhYmxlOiBmaWx0ZXJzICYmIChmaWx0ZXJzLnRlbXBsYXRlUmVmICE9PSB1bmRlZmluZWQgfHwgKGZpbHRlcnMuZmlsdGVyQ29uZmlnICYmIGZpbHRlcnMuZmlsdGVyQ29uZmlnLmxlbmd0aCA+IDApKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvcnRhYmxlOiBpc1NvcnRhYmxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogX3Byb3BlcnR5LnR5cGUgPyB0aGlzLl9nZXRUeXBlcyhfcHJvcGVydHlLZXksIF9wcm9wZXJ0eS50eXBlLnRvU3RyaW5nKCksIGpzb25TY2hlbWEsIHVpRGVmaW5pdGlvbikgOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2thYmxlOiB1aURlZmluaXRpb24gJiYgdWlEZWZpbml0aW9uLmNsaWNrYWJsZVxuICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmaWVsZHM7XG4gICB9XG5cbiAgIHB1YmxpYyBzdGF0aWMgZ2V0SGVhZGVyRmlsdGVyc0Zyb21Kc29uU2NoZW1hKHByb3BlcnR5RGVmaW5pdGlvbjogSlNPTlNjaGVtYTQsIHVpRGVmaW5pdGlvbjogU3REeW5hbWljVGFibGVVSVNwZWNpZmljYXRpb24pOiBTdEZpbHRlckhlYWRlciB7XG4gICAgICBsZXQgZmlsdGVyczogU3RGaWx0ZXJIZWFkZXI7XG4gICAgICBpZiAocHJvcGVydHlEZWZpbml0aW9uLmVudW0gJiYgcHJvcGVydHlEZWZpbml0aW9uLmVudW0ubGVuZ3RoKSB7XG4gICAgICAgICBmaWx0ZXJzID0ge1xuICAgICAgICAgICAgdGl0bGU6IHByb3BlcnR5RGVmaW5pdGlvbi50aXRsZSxcbiAgICAgICAgICAgIGZpbHRlckNvbmZpZzogW11cbiAgICAgICAgIH07XG4gICAgICAgICBwcm9wZXJ0eURlZmluaXRpb24uZW51bS5mb3JFYWNoKF92YWx1ZSA9PiB7XG4gICAgICAgICAgICBmaWx0ZXJzLmZpbHRlckNvbmZpZy5wdXNoKHtcbiAgICAgICAgICAgICAgIGlkOiA8YW55PiBfdmFsdWUsXG4gICAgICAgICAgICAgICBuYW1lOiA8YW55PiBfdmFsdWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHVpRGVmaW5pdGlvbiAmJiB1aURlZmluaXRpb24udGVtcGxhdGVSZWYpIHtcbiAgICAgICAgIGZpbHRlcnMgPSB7XG4gICAgICAgICAgICB0aXRsZTogcHJvcGVydHlEZWZpbml0aW9uLnRpdGxlLFxuICAgICAgICAgICAgdGVtcGxhdGVSZWY6IHVpRGVmaW5pdGlvbi50ZW1wbGF0ZVJlZlxuICAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZpbHRlcnM7XG4gICB9XG5cbiAgIHB1YmxpYyBzdGF0aWMgZm9ybWF0RGF0ZShkYXRlOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nLCBsb2NhbGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICB0cnkge1xuICAgICAgICAgcmV0dXJuIGZvcm1hdERhdGUoZGF0ZSwgZm9ybWF0LCBsb2NhbGUpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgcmV0dXJuIGRhdGU7XG4gICAgICB9XG4gICB9XG5cbiAgIHByaXZhdGUgc3RhdGljIF9nZXRUeXBlcyhrZXk6IHN0cmluZywgdHlwZTogc3RyaW5nLCBqc29uU2NoZW1hOiBKU09OU2NoZW1hNCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aURlZmluaXRpb246IFN0RHluYW1pY1RhYmxlVUlTcGVjaWZpY2F0aW9uKTogeyBmaWVsZDogc3RyaW5nOyB0eXBlOiBzdHJpbmcgfVtdIHtcbiAgICAgIGlmICh1aURlZmluaXRpb24gJiYgdWlEZWZpbml0aW9uLmdyb3VwX2ZpZWxkICYmIHVpRGVmaW5pdGlvbi5ncm91cF9maWVsZC52aWV3KSB7XG4gICAgICAgICBjb25zdCBmaWVsZHMgPSB1aURlZmluaXRpb24uZ3JvdXBfZmllbGQudmlldy5zcGxpdCgnIC0gJyk7XG4gICAgICAgICByZXR1cm4gZmllbGRzLm1hcChmaWVsZCA9PiAoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICBmaWVsZDogZmllbGQsXG4gICAgICAgICAgICAgICB0eXBlOiBqc29uU2NoZW1hLnByb3BlcnRpZXNbZmllbGRdID8gU3RyaW5nKGpzb25TY2hlbWEucHJvcGVydGllc1tmaWVsZF0udHlwZSkgOiAnJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gW3sgZmllbGQ6IGtleSwgdHlwZTogdHlwZSB9XTtcbiAgIH1cbn1cbiJdfQ==