diff --git a/dist/ts-build/components/form/form.d.ts b/dist/ts-build/components/form/form.d.ts new file mode 100644 index 000000000..ebad4291f --- /dev/null +++ b/dist/ts-build/components/form/form.d.ts @@ -0,0 +1,2 @@ +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/form/form.directive.d.ts b/dist/ts-build/components/form/form.directive.d.ts new file mode 100644 index 000000000..d8f8ddbfc --- /dev/null +++ b/dist/ts-build/components/form/form.directive.d.ts @@ -0,0 +1,71 @@ +import { UiSchemaRegistry } from '../ng-services/ui-schema-registry/ui-schema-registry.service'; +import { ISchemaGenerator } from '../generators/generators'; +import { RendererService } from '../renderers/renderer.service'; +import { IUISchemaElement } from '../../uischema'; +import { DataService } from '../ng-services/data/data.service'; +export declare class FormController { + private rendererService; + private UISchemaRegistry; + private dataService; + private SchemaGenerator; + private $compile; + private $q; + private scope; + private timeout; + static $inject: string[]; + element: any; + uiSchema: IUISchemaElement; + private isInitialized; + private childScope; + private static isDataProvider(testMe); + constructor(rendererService: RendererService, UISchemaRegistry: UiSchemaRegistry, dataService: DataService, SchemaGenerator: ISchemaGenerator, $compile: ng.ICompileService, $q: ng.IQService, scope: JsonFormsDirectiveScope, timeout: ng.ITimeoutService); + init(): void; + private render(schema, data, uischema); + private fetch(any); + private isPromise(data); +} +export interface JsonFormsDirectiveScope extends ng.IScope { + schema: any; + uischema: any; + data: any; +} +export declare class JsonFormsDirective implements ng.IDirective { + private DataService; + restrict: string; + templateUrl: string; + controller: typeof FormController; + controllerAs: string; + scope: { + schema: string; + uischema: string; + data: string; + }; + link: (scope: any, el: any, attrs: any, ctrl: any) => void; + constructor(DataService: DataService); +} +export declare class InnerFormController { + private rendererService; + private $compile; + private scope; + static $inject: string[]; + element: any; + private uischema; + constructor(rendererService: RendererService, $compile: ng.ICompileService, scope: JsonFormsInnerDirectiveScope); + init(): void; +} +export interface JsonFormsInnerDirectiveScope extends ng.IScope { + uischema: any; +} +export declare class JsonFormsInnerDirective implements ng.IDirective { + restrict: string; + templateUrl: string; + controller: typeof InnerFormController; + controllerAs: string; + bindToController: { + uischema: string; + }; + scope: boolean; + link: (scope: any, el: any, attrs: any, ctrl: any) => void; +} +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/form/form.directive.js b/dist/ts-build/components/form/form.directive.js new file mode 100644 index 000000000..beb5a3ebe --- /dev/null +++ b/dist/ts-build/components/form/form.directive.js @@ -0,0 +1,189 @@ +"use strict"; +require('angular'); +var JsonRefs = require('json-refs'); +var services_1 = require('../services/services'); +var services_2 = require('../services/services'); +var services_3 = require('../services/services'); +var services_4 = require('../services/services'); +var rule_service_1 = require('../services/rule/rule-service'); +var default_data_providers_1 = require('../services/data/default-data-providers'); +var FormController = (function () { + function FormController(rendererService, UISchemaRegistry, dataService, SchemaGenerator, $compile, $q, scope, timeout) { + this.rendererService = rendererService; + this.UISchemaRegistry = UISchemaRegistry; + this.dataService = dataService; + this.SchemaGenerator = SchemaGenerator; + this.$compile = $compile; + this.$q = $q; + this.scope = scope; + this.timeout = timeout; + this.isInitialized = false; + } + FormController.isDataProvider = function (testMe) { + return testMe !== undefined && testMe.hasOwnProperty('fetchData'); + }; + FormController.prototype.init = function () { + var _this = this; + if (this.isInitialized) { + var children = angular.element(this.element.find('form')).children(); + children.remove(); + if (this.childScope !== undefined) { + this.childScope.$destroy(); + } + } + this.isInitialized = true; + this.$q.all([ + this.fetch(this.scope.data), + this.fetch(this.scope.schema), + this.fetch(this.scope.uischema)]) + .then(function (values) { + var data = values[0]; + var schema = values[1]; + var uischema = values[2]; + if (data === undefined) { + throw new Error("The 'data' attribute must be specified."); + } + _this.dataService.setRoot(data); + var s = schema === undefined ? + _this.SchemaGenerator.generateDefaultSchema(data) : + schema; + var u = uischema === undefined ? + _this.UISchemaRegistry.getBestUiSchema(s, data) : + uischema; + var unresolvedRefs = JsonRefs.findRefs(s); + if (_.size(unresolvedRefs) === 0) { + _this.render(s, data, u); + } + else { + JsonRefs.resolveRefs(s).then(function (res) { + _this.render(res.resolved, data, u); + _this.scope.$digest(); + }, function (err) { return console.error(err.stack); }); + } + }); + }; + FormController.prototype.render = function (schema, data, uischema) { + var _this = this; + var dataProvider; + var services = new services_4.Services(); + services.add(new services_2.SchemaProvider(schema)); + services.add(new default_data_providers_1.DefaultDataProvider(this.$q, data)); + services.add(new services_3.ScopeProvider(this.scope)); + services.add(new services_1.ValidationService()); + services.add(new rule_service_1.RuleService()); + if (FormController.isDataProvider(this.scope.data)) { + dataProvider = this.scope.data; + } + else { + dataProvider = new default_data_providers_1.DefaultDataProvider(this.$q, data); + } + services.add(dataProvider); + this.childScope = this.scope.$new(); + this.childScope['services'] = services; + this.childScope['uischema'] = uischema; + var template = this.rendererService.getBestComponent(uischema, schema, dataProvider.getData()); + var compiledTemplate = this.$compile(template)(this.childScope); + angular.element(this.element.find('form')).append(compiledTemplate); + this.timeout(function () { return _this.scope.$root.$broadcast('jsonforms:change'); }, 0); + }; + FormController.prototype.fetch = function (any) { + if (_.isFunction(any)) { + var ret = any(); + if (this.isPromise(ret)) { + return ret; + } + else { + return this.$q.when(ret); + } + } + else { + return this.$q.when(any); + } + }; + FormController.prototype.isPromise = function (data) { + return _.isFunction(data['then']); + }; + FormController.$inject = ['RendererService', 'UiSchemaRegistry', 'DataService', + 'SchemaGenerator', '$compile', '$q', '$scope', '$timeout']; + return FormController; +}()); +exports.FormController = FormController; +var formTemplate = "\n
\n
\n
"; +var JsonFormsDirective = (function () { + function JsonFormsDirective(DataService) { + var _this = this; + this.DataService = DataService; + this.restrict = 'E'; + this.templateUrl = 'form.html'; + this.controller = FormController; + this.controllerAs = 'vm'; + this.scope = { + schema: '=', + uischema: '=', + data: '=' + }; + this.link = function (scope, el, attrs, ctrl) { + var parent = el.parent(); + if (parent === undefined && parent.controller('jsonforms') === undefined) { + _this.DataService.unset(); + } + ctrl.element = el; + scope.$watchGroup(['data', 'uischema', 'schema'], function (newValue) { + if (angular.isDefined(newValue)) { + ctrl.init(); + } + }); + }; + } + return JsonFormsDirective; +}()); +exports.JsonFormsDirective = JsonFormsDirective; +var InnerFormController = (function () { + function InnerFormController(rendererService, $compile, scope) { + this.rendererService = rendererService; + this.$compile = $compile; + this.scope = scope; + } + InnerFormController.prototype.init = function () { + var services = this.scope['services']; + var data = services.get(services_4.ServiceId.DataProvider).getData(); + var schema = services.get(services_4.ServiceId.SchemaProvider).getSchema(); + var template = this.rendererService.getBestComponent(this.uischema, schema, data); + this.scope['uischema'] = this.uischema; + var compiledTemplate = this.$compile(template)(this.scope); + angular.element(this.element.find('form')).append(compiledTemplate); + this.scope.$root.$broadcast('jsonforms:change'); + }; + InnerFormController.$inject = ['RendererService', '$compile', '$scope']; + return InnerFormController; +}()); +exports.InnerFormController = InnerFormController; +var JsonFormsInnerDirective = (function () { + function JsonFormsInnerDirective() { + this.restrict = 'E'; + this.templateUrl = 'form.html'; + this.controller = InnerFormController; + this.controllerAs = 'vm'; + this.bindToController = { + uischema: '=' + }; + this.scope = true; + this.link = function (scope, el, attrs, ctrl) { + ctrl.element = el; + ctrl.init(); + }; + } + return JsonFormsInnerDirective; +}()); +exports.JsonFormsInnerDirective = JsonFormsInnerDirective; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular.module('jsonforms.form.directives', ['jsonforms.form']) + .directive('jsonforms', ['DataService', function (DataService) { + return new JsonFormsDirective(DataService); + }]) + .directive('jsonformsInner', function () { return new JsonFormsInnerDirective(); }) + .run(['$templateCache', function ($templateCache) { + return $templateCache.put('form.html', formTemplate); + }]) + .name; +//# sourceMappingURL=form.directive.js.map \ No newline at end of file diff --git a/dist/ts-build/components/form/form.directive.js.map b/dist/ts-build/components/form/form.directive.js.map new file mode 100644 index 000000000..d69a0b35e --- /dev/null +++ b/dist/ts-build/components/form/form.directive.js.map @@ -0,0 +1 @@ +{"version":3,"file":"form.directive.js","sourceRoot":"","sources":["../../../../src/components/form/form.directive.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/ts-build/components/form/form.js b/dist/ts-build/components/form/form.js new file mode 100644 index 000000000..fb8108476 --- /dev/null +++ b/dist/ts-build/components/form/form.js @@ -0,0 +1,62 @@ +"use strict"; +var angular = require('angular'); +var renderer_service_1 = require('../renderers/renderer.service'); +var path_resolver_service_1 = require('../ng-services/path-resolver/path-resolver.service'); +var ui_schema_registry_service_1 = require('../ng-services/ui-schema-registry/ui-schema-registry.service'); +var data_service_1 = require('../ng-services/data/data.service'); +var generators_1 = require('../generators/generators'); +var ui_schema_gen_service_1 = require('../generators/ui-schema-gen.service'); +var schema_gen_service_1 = require('../generators/schema-gen.service'); +var layout_directive_1 = require('../renderers/layouts/layout.directive'); +var control_directive_1 = require('../renderers/controls/control.directive'); +var categorization_directive_1 = require('../renderers/layouts/categories/categorization.directive'); +var vertical_directive_1 = require('../renderers/layouts/vertical/vertical.directive'); +var horizontal_directive_1 = require('../renderers/layouts/horizontal/horizontal.directive'); +var masterdetail_directives_1 = require('../renderers/layouts/masterdetail/masterdetail.directives'); +var group_directive_1 = require('../renderers/layouts/group/group.directive'); +var label_directive_1 = require('../renderers/extras/label/label.directive'); +var string_directive_1 = require('../renderers/controls/string/string.directive'); +var integer_directive_1 = require('../renderers/controls/integer/integer.directive'); +var number_directive_1 = require('../renderers/controls/number/number.directive'); +var boolean_directive_1 = require('../renderers/controls/boolean/boolean.directive'); +var array_directive_1 = require('../renderers/controls/array/array.directive'); +var reference_directive_1 = require('../renderers/controls/reference/reference.directive'); +var datetime_directive_1 = require('../renderers/controls/datetime/datetime.directive'); +var enum_directive_1 = require('../renderers/controls/enum/enum.directive'); +var form_directive_1 = require('../form/form.directive'); +var abstract_control_1 = require('../renderers/controls/abstract-control'); +var testers_1 = require('../renderers/testers'); +var norenderer_directive_1 = require('../renderers/norenderer-directive'); +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular + .module('jsonforms.form', [ + renderer_service_1.default, + path_resolver_service_1.default, + ui_schema_registry_service_1.default, + data_service_1.default, + generators_1.default, + ui_schema_gen_service_1.default, + schema_gen_service_1.default, + form_directive_1.default, + control_directive_1.default, + layout_directive_1.default, + norenderer_directive_1.default, + array_directive_1.default, + string_directive_1.default, + integer_directive_1.default, + number_directive_1.default, + boolean_directive_1.default, + enum_directive_1.default, + reference_directive_1.default, + datetime_directive_1.default, + label_directive_1.default, + group_directive_1.default, + vertical_directive_1.default, + horizontal_directive_1.default, + categorization_directive_1.default, + masterdetail_directives_1.default, + abstract_control_1.default, + testers_1.default +]) + .name; +//# sourceMappingURL=form.js.map \ No newline at end of file diff --git a/dist/ts-build/components/form/form.js.map b/dist/ts-build/components/form/form.js.map new file mode 100644 index 000000000..fee9d325d --- /dev/null +++ b/dist/ts-build/components/form/form.js.map @@ -0,0 +1 @@ +{"version":3,"file":"form.js","sourceRoot":"","sources":["../../../../src/components/form/form.ts"],"names":[],"mappings":";AACA,IAAY,OAAO,WAAM,SAAS,CAAC,CAAA;AACnC,iCAA4B,+BAA+B,CAAC,CAAA;AAC5D,sCAAyB,oDAAoD,CAAC,CAAA;AAC9E,2CAA6B,8DAA8D,CAAC,CAAA;AAC5F,6BAA4B,kCAAkC,CAAC,CAAA;AAC/D,2BAAuB,0BAA0B,CAAC,CAAA;AAClD,sCAA8B,qCAAqC,CAAC,CAAA;AACpE,mCAA4B,kCAAkC,CAAC,CAAA;AAE/D,iCAA4B,uCAAuC,CAAC,CAAA;AACpE,kCAA6B,yCAAyC,CAAC,CAAA;AAEvE,yCAAoC,0DAA0D,CAAC,CAAA;AAE/F,mCAAoC,kDAAkD,CAAC,CAAA;AACvF,qCAAsC,sDAAsD,CAAC,CAAA;AAC7F,wCAAmC,2DAA2D,CAAC,CAAA;AAC/F,gCAAiC,4CAA4C,CAAC,CAAA;AAE9E,gCAA2B,2CAA2C,CAAC,CAAA;AAEvE,iCAAmC,+CAA+C,CAAC,CAAA;AACnF,kCAAoC,iDAAiD,CAAC,CAAA;AACtF,iCAAmC,+CAA+C,CAAC,CAAA;AACnF,kCAAoC,iDAAiD,CAAC,CAAA;AACtF,gCAAkC,6CAA6C,CAAC,CAAA;AAChF,oCAAsC,qDAAqD,CAAC,CAAA;AAC5F,mCAAqC,mDAAmD,CAAC,CAAA;AACzF,+BAAiC,2CAA2C,CAAC,CAAA;AAC7E,+BAA2B,wBAAwB,CAAC,CAAA;AAEpD,iCAAwB,wCAAwC,CAAC,CAAA;AAEjE,wBAAoB,sBAAsB,CAAC,CAAA;AAE3C,qCAAgC,mCAAmC,CAAC,CAAA;AAEpE;kBAAe,OAAO;KACjB,MAAM,CAAC,gBAAgB,EAAE;IACtB,0BAAe;IACf,+BAAY;IACZ,oCAAgB;IAChB,sBAAe;IACf,oBAAU;IACV,+BAAiB;IACjB,4BAAe;IAEf,wBAAc;IAEd,2BAAgB;IAChB,0BAAe;IACf,8BAAmB;IACnB,yBAAqB;IACrB,0BAAsB;IACtB,2BAAuB;IACvB,0BAAsB;IACtB,2BAAuB;IACvB,wBAAoB;IACpB,6BAAyB;IACzB,4BAAwB;IAExB,yBAAc;IAEd,yBAAoB;IACpB,4BAAuB;IACvB,8BAAyB;IACzB,kCAAuB;IACvB,iCAAsB;IAEtB,0BAAW;IACX,iBAAO;CACV,CAAC;KACD,IAAI,CAAC"} \ No newline at end of file diff --git a/dist/ts-build/components/generators/generators.d.ts b/dist/ts-build/components/generators/generators.d.ts new file mode 100644 index 000000000..57e664b51 --- /dev/null +++ b/dist/ts-build/components/generators/generators.d.ts @@ -0,0 +1,9 @@ +export interface ISchemaGenerator { + generateDefaultSchema(instance: Object): Object; + generateDefaultSchemaWithOptions(instance: Object, allowAdditionalProperties: (properties: Object) => boolean, requiredProperties: (properties: string[]) => string[]): Object; +} +export interface IUISchemaGenerator { + generateDefaultUISchema(jsonSchema: any, layoutType?: string): any; +} +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/generators/generators.js b/dist/ts-build/components/generators/generators.js new file mode 100644 index 000000000..d34038cf8 --- /dev/null +++ b/dist/ts-build/components/generators/generators.js @@ -0,0 +1,4 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular.module('jsonforms.generators', []).name; +//# sourceMappingURL=generators.js.map \ No newline at end of file diff --git a/dist/ts-build/components/generators/generators.js.map b/dist/ts-build/components/generators/generators.js.map new file mode 100644 index 000000000..53f825d5d --- /dev/null +++ b/dist/ts-build/components/generators/generators.js.map @@ -0,0 +1 @@ +{"version":3,"file":"generators.js","sourceRoot":"","sources":["../../../../src/components/generators/generators.ts"],"names":[],"mappings":";AAaA;kBAAe,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC"} \ No newline at end of file diff --git a/dist/ts-build/components/generators/schema-gen.service.d.ts b/dist/ts-build/components/generators/schema-gen.service.d.ts new file mode 100644 index 000000000..e8ed6fec3 --- /dev/null +++ b/dist/ts-build/components/generators/schema-gen.service.d.ts @@ -0,0 +1,15 @@ +import { ISchemaGenerator } from './generators'; +export declare class SchemaGenerator implements ISchemaGenerator { + protected static requiredProperties(properties: string[]): string[]; + protected static allowAdditionalProperties(properties: Object): boolean; + generateDefaultSchema(instance: Object): Object; + generateDefaultSchemaWithOptions(instance: Object, allowAdditionalProperties: (properties: Object) => boolean, requiredProperties: (properties: string[]) => string[]): Object; + private schemaObject(instance, allowAdditionalProperties, requiredProperties); + private properties; + private property(instance, allowAdditionalProperties, requiredProperties); + private schemaObjectOrNullOrArray(instance, allowAdditionalProperties, requiredProperties); + private schemaArray(instance, allowAdditionalProperties, requiredProperties); + private distinct(array, discriminator); +} +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/generators/schema-gen.service.js b/dist/ts-build/components/generators/schema-gen.service.js new file mode 100644 index 000000000..db3b98eea --- /dev/null +++ b/dist/ts-build/components/generators/schema-gen.service.js @@ -0,0 +1,110 @@ +"use strict"; +var SchemaGenerator = (function () { + function SchemaGenerator() { + var _this = this; + this.properties = function (instance, allowAdditionalProperties, requiredProperties) { + var generator = _this; + return _.keys(instance).reduce(function (acc, key) { + acc[key] = generator.property(instance[key], allowAdditionalProperties, requiredProperties); + return acc; + }, {}); + }; + } + SchemaGenerator.requiredProperties = function (properties) { + return properties; + }; + SchemaGenerator.allowAdditionalProperties = function (properties) { + return true; + }; + SchemaGenerator.prototype.generateDefaultSchema = function (instance) { + return this.schemaObject(instance, SchemaGenerator.allowAdditionalProperties, SchemaGenerator.requiredProperties); + }; + ; + SchemaGenerator.prototype.generateDefaultSchemaWithOptions = function (instance, allowAdditionalProperties, requiredProperties) { + return this.schemaObject(instance, allowAdditionalProperties, requiredProperties); + }; + SchemaGenerator.prototype.schemaObject = function (instance, allowAdditionalProperties, requiredProperties) { + var properties = this.properties(instance, allowAdditionalProperties, requiredProperties); + return { + 'type': 'object', + 'properties': properties, + 'additionalProperties': allowAdditionalProperties(properties), + 'required': requiredProperties(_.keys(properties)) + }; + }; + SchemaGenerator.prototype.property = function (instance, allowAdditionalProperties, requiredProperties) { + switch (typeof instance) { + case 'string': + return { 'type': 'string' }; + case 'boolean': + return { 'type': 'boolean' }; + case 'number': + if (_.toNumber(instance) % 1 === 0) { + return { 'type': 'integer' }; + } + return { 'type': 'number' }; + case 'object': + return this.schemaObjectOrNullOrArray(instance, allowAdditionalProperties, requiredProperties); + default: + return {}; + } + }; + SchemaGenerator.prototype.schemaObjectOrNullOrArray = function (instance, allowAdditionalProperties, requiredProperties) { + if (!_.isNull(instance)) { + if (_.isArray(instance)) { + return this.schemaArray(instance, allowAdditionalProperties, requiredProperties); + } + else { + return this.schemaObject(instance, allowAdditionalProperties, requiredProperties); + } + } + else { + return { 'type': 'null' }; + } + }; + SchemaGenerator.prototype.schemaArray = function (instance, allowAdditionalProperties, requiredProperties) { + if (instance.length) { + var generator_1 = this; + var allProperties = instance.map(function (object) { + return generator_1.property(object, allowAdditionalProperties, requiredProperties); + }); + var uniqueProperties = this.distinct(allProperties, JSON.stringify); + if (uniqueProperties.length === 1) { + return { + 'type': 'array', + 'items': uniqueProperties[0] + }; + } + else { + return { + 'type': 'array', + 'items': { + 'oneOf': uniqueProperties + } + }; + } + } + }; + ; + SchemaGenerator.prototype.distinct = function (array, discriminator) { + var known = {}; + return array.filter(function (item) { + var discriminatorValue = discriminator(item); + if (_.has(known, discriminatorValue)) { + return false; + } + else { + return (known[discriminatorValue] = true); + } + }); + }; + ; + return SchemaGenerator; +}()); +exports.SchemaGenerator = SchemaGenerator; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular + .module('jsonforms.generators.schema', ['jsonforms.generators']) + .service('SchemaGenerator', SchemaGenerator) + .name; +//# sourceMappingURL=schema-gen.service.js.map \ No newline at end of file diff --git a/dist/ts-build/components/generators/schema-gen.service.js.map b/dist/ts-build/components/generators/schema-gen.service.js.map new file mode 100644 index 000000000..8709ff3d7 --- /dev/null +++ b/dist/ts-build/components/generators/schema-gen.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"schema-gen.service.js","sourceRoot":"","sources":["../../../../src/components/generators/schema-gen.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/ts-build/components/generators/ui-schema-gen.service.d.ts b/dist/ts-build/components/generators/ui-schema-gen.service.d.ts new file mode 100644 index 000000000..be6bb41d2 --- /dev/null +++ b/dist/ts-build/components/generators/ui-schema-gen.service.d.ts @@ -0,0 +1,14 @@ +import { IUISchemaGenerator } from './generators'; +import { IUISchemaElement } from '../../uischema'; +export declare class UISchemaGenerator implements IUISchemaGenerator { + private static createLayout(layoutType); + private static isIgnoredProperty(propertyKey, propertyValue); + private static deriveType(jsonSchema); + private static getControlObject(label, ref); + private static wrapInLayoutIfNecessary(uiSchema, layoutType); + generateDefaultUISchema(jsonSchema: any, layoutType?: string): IUISchemaElement; + private generateUISchema(jsonSchema, schemaElements, currentRef, schemaName, layoutType); + private addLabel; +} +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/generators/ui-schema-gen.service.js b/dist/ts-build/components/generators/ui-schema-gen.service.js new file mode 100644 index 000000000..6fdb06652 --- /dev/null +++ b/dist/ts-build/components/generators/ui-schema-gen.service.js @@ -0,0 +1,98 @@ +"use strict"; +var pathutil_1 = require('../services/pathutil'); +var UISchemaGenerator = (function () { + function UISchemaGenerator() { + this.addLabel = function (layout, labelName) { + if (labelName && labelName !== '') { + var label = { + type: 'Label', + text: pathutil_1.PathUtil.beautify(labelName) + }; + layout.elements.push(label); + } + }; + } + UISchemaGenerator.createLayout = function (layoutType) { + return { + type: layoutType, + elements: [] + }; + }; + UISchemaGenerator.isIgnoredProperty = function (propertyKey, propertyValue) { + return propertyKey === 'id' && typeof propertyValue === 'string'; + }; + UISchemaGenerator.deriveType = function (jsonSchema) { + if (jsonSchema.type) { + return jsonSchema.type; + } + if (jsonSchema.properties || jsonSchema.additionalProperties) { + return 'object'; + } + return 'null'; + }; + UISchemaGenerator.getControlObject = function (label, ref) { + var control = { + type: 'Control', + scope: { + $ref: ref + } + }; + if (label) { + control.label = label; + } + return control; + }; + UISchemaGenerator.wrapInLayoutIfNecessary = function (uiSchema, layoutType) { + if (uiSchema['elements'] === undefined) { + var verticalLayout = UISchemaGenerator.createLayout(layoutType); + verticalLayout.elements.push(uiSchema); + return verticalLayout; + } + return uiSchema; + }; + UISchemaGenerator.prototype.generateDefaultUISchema = function (jsonSchema, layoutType) { + if (layoutType === void 0) { layoutType = 'VerticalLayout'; } + var uiSchema = this.generateUISchema(jsonSchema, [], '#', '', layoutType); + return UISchemaGenerator.wrapInLayoutIfNecessary(uiSchema, layoutType); + }; + ; + UISchemaGenerator.prototype.generateUISchema = function (jsonSchema, schemaElements, currentRef, schemaName, layoutType) { + var _this = this; + var type = UISchemaGenerator.deriveType(jsonSchema); + switch (type) { + case 'object': + var layout_1 = UISchemaGenerator.createLayout(layoutType); + schemaElements.push(layout_1); + this.addLabel(layout_1, schemaName); + if (jsonSchema.properties) { + var nextRef_1 = currentRef + '/properties'; + _.forOwn(jsonSchema.properties, function (value, key) { + if (!UISchemaGenerator.isIgnoredProperty(key, value)) { + _this.generateUISchema(value, layout_1.elements, nextRef_1 + "/" + key, key, layoutType); + } + }); + } + return layout_1; + case 'array': + case 'string': + case 'number': + case 'integer': + case 'boolean': + var controlObject = UISchemaGenerator.getControlObject(pathutil_1.PathUtil.beautify(schemaName), currentRef); + schemaElements.push(controlObject); + return controlObject; + case 'null': + return null; + default: + throw new Error('Unknown type: ' + JSON.stringify(jsonSchema)); + } + }; + ; + return UISchemaGenerator; +}()); +exports.UISchemaGenerator = UISchemaGenerator; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular + .module('jsonforms.generators.uischema', ['jsonforms.generators']) + .service('UISchemaGenerator', UISchemaGenerator).name; +//# sourceMappingURL=ui-schema-gen.service.js.map \ No newline at end of file diff --git a/dist/ts-build/components/generators/ui-schema-gen.service.js.map b/dist/ts-build/components/generators/ui-schema-gen.service.js.map new file mode 100644 index 000000000..708981865 --- /dev/null +++ b/dist/ts-build/components/generators/ui-schema-gen.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ui-schema-gen.service.js","sourceRoot":"","sources":["../../../../src/components/generators/ui-schema-gen.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/ts-build/components/ng-services/capitalize/capitalize.filter.d.ts b/dist/ts-build/components/ng-services/capitalize/capitalize.filter.d.ts new file mode 100644 index 000000000..ebad4291f --- /dev/null +++ b/dist/ts-build/components/ng-services/capitalize/capitalize.filter.d.ts @@ -0,0 +1,2 @@ +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/ng-services/capitalize/capitalize.filter.js b/dist/ts-build/components/ng-services/capitalize/capitalize.filter.js new file mode 100644 index 000000000..f3edd9097 --- /dev/null +++ b/dist/ts-build/components/ng-services/capitalize/capitalize.filter.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular + .module('jsonforms.filters.capitalize', []) + .filter('capitalize', function () { + return function (input) { return _.capitalize(input); }; +}).name; +//# sourceMappingURL=capitalize.filter.js.map \ No newline at end of file diff --git a/dist/ts-build/components/ng-services/capitalize/capitalize.filter.js.map b/dist/ts-build/components/ng-services/capitalize/capitalize.filter.js.map new file mode 100644 index 000000000..9feb82e8a --- /dev/null +++ b/dist/ts-build/components/ng-services/capitalize/capitalize.filter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"capitalize.filter.js","sourceRoot":"","sources":["../../../../../src/components/ng-services/capitalize/capitalize.filter.ts"],"names":[],"mappings":";AACA;kBAAe,OAAO;KACjB,MAAM,CAAC,8BAA8B,EAAE,EAAE,CAAC;KAC1C,MAAM,CAAC,YAAY,EAAE;IAClB,OAAA,UAAC,KAAK,IAAK,OAAA,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAnB,CAAmB;AAA9B,CAA8B,CACjC,CAAC,IAAI,CAAC"} \ No newline at end of file diff --git a/dist/ts-build/components/ng-services/data/data.service.d.ts b/dist/ts-build/components/ng-services/data/data.service.d.ts new file mode 100644 index 000000000..48caf3db8 --- /dev/null +++ b/dist/ts-build/components/ng-services/data/data.service.d.ts @@ -0,0 +1,8 @@ +export declare class DataService { + private root; + unset(): void; + setRoot(newRootData: any): void; + getRoot(): any; +} +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/ng-services/data/data.service.js b/dist/ts-build/components/ng-services/data/data.service.js new file mode 100644 index 000000000..1f70ba273 --- /dev/null +++ b/dist/ts-build/components/ng-services/data/data.service.js @@ -0,0 +1,25 @@ +"use strict"; +var angular = require('angular'); +var DataService = (function () { + function DataService() { + } + DataService.prototype.unset = function () { + this.root = undefined; + }; + DataService.prototype.setRoot = function (newRootData) { + if (this.root === undefined) { + this.root = newRootData; + } + }; + DataService.prototype.getRoot = function () { + return this.root; + }; + return DataService; +}()); +exports.DataService = DataService; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular + .module('jsonforms.service.data', []) + .service('DataService', DataService) + .name; +//# sourceMappingURL=data.service.js.map \ No newline at end of file diff --git a/dist/ts-build/components/ng-services/data/data.service.js.map b/dist/ts-build/components/ng-services/data/data.service.js.map new file mode 100644 index 000000000..9feeca705 --- /dev/null +++ b/dist/ts-build/components/ng-services/data/data.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"data.service.js","sourceRoot":"","sources":["../../../../../src/components/ng-services/data/data.service.ts"],"names":[],"mappings":";AAAA,IAAY,OAAO,WAAM,SAAS,CAAC,CAAA;AAEnC;IAAA;IAiBA,CAAC;IAbU,2BAAK,GAAZ;QACI,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IAC1B,CAAC;IAEM,6BAAO,GAAd,UAAe,WAAgB;QAC3B,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QAC5B,CAAC;IACL,CAAC;IAEM,6BAAO,GAAd;QACI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACL,kBAAC;AAAD,CAAC,AAjBD,IAiBC;AAjBY,mBAAW,cAiBvB,CAAA;AAGD;kBAAe,OAAO;KACjB,MAAM,CAAC,wBAAwB,EAAE,EAAE,CAAC;KACpC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC;KACnC,IAAI,CAAC"} \ No newline at end of file diff --git a/dist/ts-build/components/ng-services/label/label.service.d.ts b/dist/ts-build/components/ng-services/label/label.service.d.ts new file mode 100644 index 000000000..ebad4291f --- /dev/null +++ b/dist/ts-build/components/ng-services/label/label.service.d.ts @@ -0,0 +1,2 @@ +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/ng-services/label/label.service.js b/dist/ts-build/components/ng-services/label/label.service.js new file mode 100644 index 000000000..f2ac1ba56 --- /dev/null +++ b/dist/ts-build/components/ng-services/label/label.service.js @@ -0,0 +1,8 @@ +"use strict"; +var Labels_1 = require('../../renderers/Labels'); +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular + .module('jsonforms.service.label', []) + .service('LabelService', Labels_1.Labels) + .name; +//# sourceMappingURL=label.service.js.map \ No newline at end of file diff --git a/dist/ts-build/components/ng-services/label/label.service.js.map b/dist/ts-build/components/ng-services/label/label.service.js.map new file mode 100644 index 000000000..00fd472d0 --- /dev/null +++ b/dist/ts-build/components/ng-services/label/label.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"label.service.js","sourceRoot":"","sources":["../../../../../src/components/ng-services/label/label.service.ts"],"names":[],"mappings":";AACA,uBAAqB,wBAAwB,CAAC,CAAA;AAE9C;kBAAe,OAAO;KACjB,MAAM,CAAC,yBAAyB,EAAE,EAAE,CAAC;KACrC,OAAO,CAAC,cAAc,EAAE,eAAM,CAAC;KAC/B,IAAI,CAAC"} \ No newline at end of file diff --git a/dist/ts-build/components/ng-services/ng-services.d.ts b/dist/ts-build/components/ng-services/ng-services.d.ts new file mode 100644 index 000000000..ebad4291f --- /dev/null +++ b/dist/ts-build/components/ng-services/ng-services.d.ts @@ -0,0 +1,2 @@ +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/ng-services/ng-services.js b/dist/ts-build/components/ng-services/ng-services.js new file mode 100644 index 000000000..ed5d2684e --- /dev/null +++ b/dist/ts-build/components/ng-services/ng-services.js @@ -0,0 +1,22 @@ +"use strict"; +var ui_schema_registry_service_1 = require('./ui-schema-registry/ui-schema-registry.service'); +var path_resolver_service_1 = require('./path-resolver/path-resolver.service'); +var label_service_1 = require('./label/label.service'); +var capitalize_filter_1 = require('./capitalize/capitalize.filter'); +var services_1 = require("../services/services"); +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular.module('jsonforms.services', [ + ui_schema_registry_service_1.default, + path_resolver_service_1.default, + label_service_1.default, + capitalize_filter_1.default +]).value('ServiceIds', { + validation: services_1.ServiceId.Validation, + data: services_1.ServiceId.DataProvider, + schema: services_1.ServiceId.SchemaProvider, + uischema: services_1.ServiceId.UiSchemaProvider, + scope: services_1.ServiceId.ScopeProvider, + rule: services_1.ServiceId.RuleService, + path: services_1.ServiceId.PathResolver +}).name; +//# sourceMappingURL=ng-services.js.map \ No newline at end of file diff --git a/dist/ts-build/components/ng-services/ng-services.js.map b/dist/ts-build/components/ng-services/ng-services.js.map new file mode 100644 index 000000000..7549446cc --- /dev/null +++ b/dist/ts-build/components/ng-services/ng-services.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ng-services.js","sourceRoot":"","sources":["../../../../src/components/ng-services/ng-services.ts"],"names":[],"mappings":";AACA,2CAA6B,iDAAiD,CAAC,CAAA;AAC/E,sCAAyB,uCAAuC,CAAC,CAAA;AACjE,8BAAyB,uBAAuB,CAAC,CAAA;AACjD,kCAA6B,gCAAgC,CAAC,CAAA;AAC9D,yBAAwB,sBAAsB,CAAC,CAAA;AAE/C;kBAAe,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE;IAChD,oCAAgB;IAChB,+BAAY;IACZ,uBAAY;IACZ,2BAAgB;CACnB,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE;IACnB,UAAU,EAAE,oBAAS,CAAC,UAAU;IAChC,IAAI,EAAE,oBAAS,CAAC,YAAY;IAC5B,MAAM,EAAE,oBAAS,CAAC,cAAc;IAChC,QAAQ,EAAE,oBAAS,CAAC,gBAAgB;IACpC,KAAK,EAAE,oBAAS,CAAC,aAAa;IAC9B,IAAI,EAAE,oBAAS,CAAC,WAAW;IAC3B,IAAI,EAAE,oBAAS,CAAC,YAAY;CAC/B,CAAC,CAAC,IAAI,CAAC"} \ No newline at end of file diff --git a/dist/ts-build/components/ng-services/path-resolver/path-resolver.service.d.ts b/dist/ts-build/components/ng-services/path-resolver/path-resolver.service.d.ts new file mode 100644 index 000000000..ebad4291f --- /dev/null +++ b/dist/ts-build/components/ng-services/path-resolver/path-resolver.service.d.ts @@ -0,0 +1,2 @@ +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/ng-services/path-resolver/path-resolver.service.js b/dist/ts-build/components/ng-services/path-resolver/path-resolver.service.js new file mode 100644 index 000000000..99cff1a4f --- /dev/null +++ b/dist/ts-build/components/ng-services/path-resolver/path-resolver.service.js @@ -0,0 +1,8 @@ +"use strict"; +var path_resolver_1 = require('../../services/path-resolver/path-resolver'); +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular + .module('jsonforms.service.path-resolver', []) + .service('PathResolver', path_resolver_1.RefResolver) + .name; +//# sourceMappingURL=path-resolver.service.js.map \ No newline at end of file diff --git a/dist/ts-build/components/ng-services/path-resolver/path-resolver.service.js.map b/dist/ts-build/components/ng-services/path-resolver/path-resolver.service.js.map new file mode 100644 index 000000000..4527289a9 --- /dev/null +++ b/dist/ts-build/components/ng-services/path-resolver/path-resolver.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"path-resolver.service.js","sourceRoot":"","sources":["../../../../../src/components/ng-services/path-resolver/path-resolver.service.ts"],"names":[],"mappings":";AACA,8BAA0B,4CAA4C,CAAC,CAAA;AAEvE;kBAAe,OAAO;KACjB,MAAM,CAAC,iCAAiC,EAAE,EAAE,CAAC;KAC7C,OAAO,CAAC,cAAc,EAAE,2BAAW,CAAC;KACpC,IAAI,CAAC"} \ No newline at end of file diff --git a/dist/ts-build/components/ng-services/ui-schema-registry/ui-schema-registry.service.d.ts b/dist/ts-build/components/ng-services/ui-schema-registry/ui-schema-registry.service.d.ts new file mode 100644 index 000000000..0c286db59 --- /dev/null +++ b/dist/ts-build/components/ng-services/ui-schema-registry/ui-schema-registry.service.d.ts @@ -0,0 +1,21 @@ +import { IUISchemaElement } from '../../../uischema'; +import { IUISchemaGenerator } from '../../generators/generators'; +import { SchemaElement } from '../../../jsonschema'; +export interface UiSchemaRegistry { + register(uiSchema: IUISchemaElement, tester: UiSchemaTester): void; + getBestUiSchema(schema: SchemaElement, data: any): IUISchemaElement; +} +export interface UiSchemaTester { + (schema: SchemaElement, data: any): number; +} +export declare const NOT_FITTING: number; +export declare class UiSchemaRegistryImpl implements UiSchemaRegistry { + private uiSchemaGenerator; + static $inject: string[]; + private registry; + constructor(uiSchemaGenerator: IUISchemaGenerator); + register(uiSchema: IUISchemaElement, tester: UiSchemaTester): void; + getBestUiSchema(schema: SchemaElement, data: any): IUISchemaElement; +} +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/ng-services/ui-schema-registry/ui-schema-registry.service.js b/dist/ts-build/components/ng-services/ui-schema-registry/ui-schema-registry.service.js new file mode 100644 index 000000000..24e96df70 --- /dev/null +++ b/dist/ts-build/components/ng-services/ui-schema-registry/ui-schema-registry.service.js @@ -0,0 +1,31 @@ +"use strict"; +exports.NOT_FITTING = -1; +var NO_UISCHEMA_DEFINITION = { uiSchema: null, tester: function (schema) { return 0; } }; +var UiSchemaRegistryImpl = (function () { + function UiSchemaRegistryImpl(uiSchemaGenerator) { + this.uiSchemaGenerator = uiSchemaGenerator; + this.registry = []; + this.registry.push(NO_UISCHEMA_DEFINITION); + } + UiSchemaRegistryImpl.prototype.register = function (uiSchema, tester) { + this.registry.push({ uiSchema: uiSchema, tester: tester }); + }; + UiSchemaRegistryImpl.prototype.getBestUiSchema = function (schema, data) { + var bestSchema = _.maxBy(this.registry, function (renderer) { + return renderer.tester(schema, data); + }); + if (bestSchema === NO_UISCHEMA_DEFINITION) { + return this.uiSchemaGenerator.generateDefaultUISchema(schema); + } + return bestSchema.uiSchema; + }; + UiSchemaRegistryImpl.$inject = ['UISchemaGenerator']; + return UiSchemaRegistryImpl; +}()); +exports.UiSchemaRegistryImpl = UiSchemaRegistryImpl; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular + .module('jsonforms.service.uischema-registry', []) + .service('UiSchemaRegistry', UiSchemaRegistryImpl) + .name; +//# sourceMappingURL=ui-schema-registry.service.js.map \ No newline at end of file diff --git a/dist/ts-build/components/ng-services/ui-schema-registry/ui-schema-registry.service.js.map b/dist/ts-build/components/ng-services/ui-schema-registry/ui-schema-registry.service.js.map new file mode 100644 index 000000000..dda861f1b --- /dev/null +++ b/dist/ts-build/components/ng-services/ui-schema-registry/ui-schema-registry.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ui-schema-registry.service.js","sourceRoot":"","sources":["../../../../../src/components/ng-services/ui-schema-registry/ui-schema-registry.service.ts"],"names":[],"mappings":";AAea,mBAAW,GAAW,CAAC,CAAC,CAAC;AACtC,IAAM,sBAAsB,GAAG,EAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,UAAC,MAAM,IAAK,OAAA,CAAC,EAAD,CAAC,EAAC,CAAC;AACvE;IAGI,8BAAoB,iBAAqC;QAArC,sBAAiB,GAAjB,iBAAiB,CAAoB;QADjD,aAAQ,GAA8B,EAAE,CAAC;QAE7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC/C,CAAC;IAED,uCAAQ,GAAR,UAAS,QAA0B,EAAE,MAAsB;QACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;IAC7D,CAAC;IACD,8CAAe,GAAf,UAAgB,MAAqB,EAAE,IAAS;QAC5C,IAAI,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAA,QAAQ;YAC5C,OAAA,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;QAA7B,CAA6B,CAChC,CAAC;QACF,EAAE,CAAC,CAAC,UAAU,KAAK,sBAAsB,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAjBM,4BAAO,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAkB3C,2BAAC;AAAD,CAAC,AAnBD,IAmBC;AAnBY,4BAAoB,uBAmBhC,CAAA;AAED;kBAAe,OAAO;KACjB,MAAM,CAAC,qCAAqC,EAAE,EAAE,CAAC;KACjD,OAAO,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;KACjD,IAAI,CAAC"} \ No newline at end of file diff --git a/dist/ts-build/components/renderers/Labels.d.ts b/dist/ts-build/components/renderers/Labels.d.ts new file mode 100644 index 000000000..e23cf8e8d --- /dev/null +++ b/dist/ts-build/components/renderers/Labels.d.ts @@ -0,0 +1,6 @@ +import { ILabelObject, IWithLabel } from '../../uischema'; +export declare class Labels { + shouldShowLabel(withLabel: IWithLabel): boolean; + getElementLabelObject(withLabel: IWithLabel, schemaPath: string): ILabelObject; +} +export declare const LabelObjectUtil: Labels; diff --git a/dist/ts-build/components/renderers/Labels.js b/dist/ts-build/components/renderers/Labels.js new file mode 100644 index 000000000..cd182488a --- /dev/null +++ b/dist/ts-build/components/renderers/Labels.js @@ -0,0 +1,57 @@ +"use strict"; +var pathutil_1 = require('../services/pathutil'); +var Labels = (function () { + function Labels() { + } + Labels.prototype.shouldShowLabel = function (withLabel) { + var label = withLabel.label; + if (label === undefined) { + return true; + } + else if (_.isBoolean(label)) { + return label; + } + else if (_.isString(label)) { + return label !== ''; + } + else { + var labelObj = label; + return _.has(labelObj, 'show') ? labelObj.show : true; + } + }; + Labels.prototype.getElementLabelObject = function (withLabel, schemaPath) { + var labelProperty = withLabel.label; + if (_.isBoolean(labelProperty)) { + if (labelProperty) { + return new LabelObject(pathutil_1.PathUtil.beautifiedLastFragment(schemaPath), labelProperty); + } + else { + return new LabelObject(undefined, labelProperty); + } + } + else if (_.isString(labelProperty)) { + return new LabelObject(labelProperty, true); + } + else if (_.isObject(labelProperty)) { + var show = _.has(labelProperty, 'show') ? + labelProperty.show : true; + var label = _.has(labelProperty, 'text') ? + labelProperty.text : pathutil_1.PathUtil.beautifiedLastFragment(schemaPath); + return new LabelObject(label, show); + } + else { + return new LabelObject(pathutil_1.PathUtil.beautifiedLastFragment(schemaPath), true); + } + }; + return Labels; +}()); +exports.Labels = Labels; +exports.LabelObjectUtil = new Labels(); +var LabelObject = (function () { + function LabelObject(text, show) { + this.text = text; + this.show = show; + } + return LabelObject; +}()); +//# sourceMappingURL=Labels.js.map \ No newline at end of file diff --git a/dist/ts-build/components/renderers/Labels.js.map b/dist/ts-build/components/renderers/Labels.js.map new file mode 100644 index 000000000..dca0bb92b --- /dev/null +++ b/dist/ts-build/components/renderers/Labels.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Labels.js","sourceRoot":"","sources":["../../../../src/components/renderers/Labels.ts"],"names":[],"mappings":";AACA,yBAAuB,sBAAsB,CAAC,CAAA;AAG9C;IAAA;IAuCA,CAAC;IArCU,gCAAe,GAAtB,UAAuB,SAAqB;QACxC,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAC5B,EAAE,CAAC,CAAC,KAAK,KAAK,SAAU,CAAC,CAAC,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC;QAChB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAW,KAAK,CAAC;QAC3B,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAW,KAAM,KAAK,EAAE,CAAC;QACnC,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,IAAI,QAAQ,GAAkB,KAAK,CAAC;YACpC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1D,CAAC;IACL,CAAC;IAEM,sCAAqB,GAA5B,UAA6B,SAAqB,EACd,UAAkB;QAClD,IAAI,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC;QACpC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC7B,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBAChB,MAAM,CAAC,IAAI,WAAW,CAClB,mBAAQ,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAClC,aAAa,CAAC,CAAC;YAChC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,MAAM,CAAC,IAAI,WAAW,CAAC,SAAS,EAAW,aAAa,CAAC,CAAC;YAC9D,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,WAAW,CAAS,aAAa,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC;gBACpB,aAAc,CAAC,IAAI,GAAG,IAAI,CAAC;YAC9C,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC;gBACrB,aAAc,CAAC,IAAI,GAAG,mBAAQ,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;YACrF,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,IAAI,WAAW,CAAC,mBAAQ,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9E,CAAC;IACL,CAAC;IACL,aAAC;AAAD,CAAC,AAvCD,IAuCC;AAvCY,cAAM,SAuClB,CAAA;AACY,uBAAe,GAAG,IAAI,MAAM,EAAE,CAAC;AAE5C;IAII,qBAAY,IAAY,EAAE,IAAa;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IACL,kBAAC;AAAD,CAAC,AARD,IAQC"} \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/abstract-control.d.ts b/dist/ts-build/components/renderers/controls/abstract-control.d.ts new file mode 100644 index 000000000..ab9b2e301 --- /dev/null +++ b/dist/ts-build/components/renderers/controls/abstract-control.d.ts @@ -0,0 +1,28 @@ +import { IRuleServiceCallBack } from '../../services/rule/rule-service'; +import { IRule, IControlObject } from '../../../uischema'; +import { SchemaElement } from '../../../jsonschema'; +export declare class AbstractControl implements IRuleServiceCallBack { + protected scope: ng.IScope; + instance: any; + rule: IRule; + hide: boolean; + protected schemaPath: string; + protected resolvedData: any; + protected resolvedSchema: SchemaElement; + protected fragment: string; + protected uiSchema: IControlObject; + protected schema: SchemaElement; + protected data: any; + private services; + private alerts; + private showLabel; + protected label: string; + constructor(scope: ng.IScope); + protected id: string; + private static createLabel(uischema, schemaPath, isRequiredProperty); + protected triggerChangeEvent(): void; + private validate(); + private static isRequired(schema, schemaPath); +} +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/renderers/controls/abstract-control.js b/dist/ts-build/components/renderers/controls/abstract-control.js new file mode 100644 index 000000000..0a3b7d347 --- /dev/null +++ b/dist/ts-build/components/renderers/controls/abstract-control.js @@ -0,0 +1,84 @@ +"use strict"; +var pathutil_1 = require('../../services/pathutil'); +var path_resolver_1 = require('../../services/path-resolver/path-resolver'); +var services_1 = require('../../services/services'); +var Labels_1 = require('../Labels'); +var AbstractControl = (function () { + function AbstractControl(scope) { + var _this = this; + this.scope = scope; + this.alerts = []; + this.services = scope['services']; + this.uiSchema = scope['uischema']; + this.schema = this.services.get(services_1.ServiceId.SchemaProvider).getSchema(); + this.data = this.services.get(services_1.ServiceId.DataProvider).getData(); + var indexedSchemaPath = this.uiSchema['scope']['$ref']; + this.schemaPath = pathutil_1.PathUtil.filterIndexes(indexedSchemaPath); + this.fragment = path_resolver_1.PathResolver.lastFragment(this.uiSchema.scope.$ref); + this.resolvedData = path_resolver_1.PathResolver.resolveToLastModel(this.data, this.uiSchema.scope.$ref); + this.resolvedSchema = path_resolver_1.PathResolver.resolveSchema(this.schema, this.schemaPath); + this.showLabel = Labels_1.LabelObjectUtil.shouldShowLabel(this.uiSchema); + this.label = AbstractControl.createLabel(this.uiSchema, this.schemaPath, AbstractControl.isRequired(this.schema, this.schemaPath)); + this.scope.$on('jsonforms:change', function () { + if (_this.validate) { + _this.validate(); + } + _this.services.get(services_1.ServiceId.RuleService).reevaluateRules(_this.schemaPath); + }); + this.instance = this.data; + this.rule = this.uiSchema.rule; + this.services.get(services_1.ServiceId.RuleService).addRuleTrack(this); + } + Object.defineProperty(AbstractControl.prototype, "id", { + get: function () { + return this.schemaPath; + }, + enumerable: true, + configurable: true + }); + AbstractControl.createLabel = function (uischema, schemaPath, isRequiredProperty) { + var labelObject = Labels_1.LabelObjectUtil.getElementLabelObject(uischema, schemaPath); + var stringBuilder = labelObject.text; + if (isRequiredProperty) { + stringBuilder += '*'; + } + return stringBuilder; + }; + AbstractControl.prototype.triggerChangeEvent = function () { + this.scope.$root.$broadcast('jsonforms:change'); + }; + AbstractControl.prototype.validate = function () { + var validationService = this.services.get(services_1.ServiceId.Validation); + validationService.validate(this.data, this.schema); + var result = validationService.getResult(this.data, '/' + pathutil_1.PathUtil.normalize(this.schemaPath)); + this.alerts = []; + if (result !== undefined) { + var alert_1 = { + type: 'danger', + msg: result + }; + this.alerts.push(alert_1); + } + }; + AbstractControl.isRequired = function (schema, schemaPath) { + var path = pathutil_1.PathUtil.init(schemaPath); + var lastFragment = pathutil_1.PathUtil.lastFragment(path); + if (lastFragment === 'properties') { + path = pathutil_1.PathUtil.init(path); + } + var subSchema = path_resolver_1.PathResolver.resolveSchema(schema, path + '/required'); + if (subSchema !== undefined) { + if (subSchema.indexOf(pathutil_1.PathUtil.lastFragment(schemaPath)) !== -1) { + return true; + } + } + return false; + }; + return AbstractControl; +}()); +exports.AbstractControl = AbstractControl; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular.module('jsonforms.control.base', ['jsonforms.renderers.controls']) + .factory('BaseController', function () { return AbstractControl; }) + .name; +//# sourceMappingURL=abstract-control.js.map \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/abstract-control.js.map b/dist/ts-build/components/renderers/controls/abstract-control.js.map new file mode 100644 index 000000000..ef64a49ac --- /dev/null +++ b/dist/ts-build/components/renderers/controls/abstract-control.js.map @@ -0,0 +1 @@ +{"version":3,"file":"abstract-control.js","sourceRoot":"","sources":["../../../../../src/components/renderers/controls/abstract-control.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/array/array.directive.d.ts b/dist/ts-build/components/renderers/controls/array/array.directive.d.ts new file mode 100644 index 000000000..ebad4291f --- /dev/null +++ b/dist/ts-build/components/renderers/controls/array/array.directive.d.ts @@ -0,0 +1,2 @@ +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/renderers/controls/array/array.directive.js b/dist/ts-build/components/renderers/controls/array/array.directive.js new file mode 100644 index 000000000..0048dd0ea --- /dev/null +++ b/dist/ts-build/components/renderers/controls/array/array.directive.js @@ -0,0 +1,116 @@ +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +require('lodash'); +var pathutil_1 = require('../../../services/pathutil'); +var abstract_control_1 = require('../abstract-control'); +var path_resolver_1 = require('../../../services/path-resolver/path-resolver'); +var testers_1 = require('../../testers'); +var pluralize = require('pluralize'); +var readOnlyArrayTemplate = "\n \n
\n {{vm.label}}\n
\n
\n
\n {{prop | capitalize}}: {{data[prop]}}\n
\n
\n
\n
{{vm.emptyMsg}}
\n
\n
\n
"; +var ArrayReadOnlyDirective = (function () { + function ArrayReadOnlyDirective() { + this.restrict = 'E'; + this.templateUrl = 'read-only-array.html'; + this.controller = ArrayController; + this.controllerAs = 'vm'; + } + return ArrayReadOnlyDirective; +}()); +var arrayTemplate = "\n \n
\n {{vm.label}}\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
{{vm.emptyMsg}}
\n \n \n
\n
"; +var ArrayDirective = (function () { + function ArrayDirective() { + this.restrict = 'E'; + this.templateUrl = 'array.html'; + this.controller = ArrayController; + this.controllerAs = 'vm'; + } + return ArrayDirective; +}()); +var ArrayController = (function (_super) { + __extends(ArrayController, _super); + function ArrayController(scope, uiGenerator) { + _super.call(this, scope); + this.submitElement = {}; + var resolvedSubSchema = path_resolver_1.PathResolver.resolveSchema(this.schema, this.schemaPath); + var items = resolvedSubSchema.items; + this.arraySchema = items; + this.properties = _.keys(items['properties']); + var detailUiSchema = this.uiSchema['options'] ? + this.uiSchema['options']['detail-uischema'] : undefined; + this.arrayUiSchema = detailUiSchema ? detailUiSchema : + uiGenerator.generateDefaultUISchema(items, 'HorizontalLayout'); + } + Object.defineProperty(ArrayController.prototype, "buttonText", { + get: function () { + return pluralize(pathutil_1.PathUtil.beautifiedLastFragment(this.schemaPath), 1); + }, + enumerable: true, + configurable: true + }); + ArrayController.prototype.submitCallback = function () { + if (this.resolvedData[this.fragment] === undefined) { + this.resolvedData[this.fragment] = []; + } + this.resolvedData[this.fragment].push(_.clone(this.submitElement)); + this.submitElement = {}; + }; + ArrayController.prototype.deleteCallback = function (element) { + var index = this.resolvedData[this.fragment].indexOf(element); + if (index !== -1) { + this.resolvedData[this.fragment].splice(index, 1); + } + }; + Object.defineProperty(ArrayController.prototype, "supportsSubmit", { + get: function () { + return this.supports('submit'); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ArrayController.prototype, "supportsDelete", { + get: function () { + return this.supports('delete'); + }, + enumerable: true, + configurable: true + }); + ArrayController.prototype.supports = function (keyword) { + var options = this.uiSchema['options']; + return !(options !== undefined && options[keyword] === false); + }; + Object.defineProperty(ArrayController.prototype, "isEmpty", { + get: function () { + return _.isEmpty(this.resolvedData) || _.isEmpty(this.resolvedData[this.fragment]); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ArrayController.prototype, "emptyMsg", { + get: function () { + return 'No ' + pathutil_1.PathUtil.beautifiedLastFragment(this.schemaPath) + ' yet.'; + }, + enumerable: true, + configurable: true + }); + ArrayController.$inject = ['$scope', 'UISchemaGenerator']; + return ArrayController; +}(abstract_control_1.AbstractControl)); +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular + .module('jsonforms.renderers.controls.array', ['jsonforms.renderers.controls']) + .directive('arrayReadonlyControl', function () { return new ArrayReadOnlyDirective(); }) + .directive('arrayControl', function () { return new ArrayDirective(); }) + .run(['RendererService', function (RendererService) { + RendererService.register('array-readonly-control', testers_1.Testers.and(testers_1.schemaTypeIs('array'), testers_1.optionIs('simple', true)), 1); + RendererService.register('array-control', testers_1.schemaTypeIs('array'), 1); + }]) + .run(['$templateCache', function ($templateCache) { + $templateCache.put('read-only-array.html', readOnlyArrayTemplate); + $templateCache.put('array.html', arrayTemplate); + }]) + .name; +//# sourceMappingURL=array.directive.js.map \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/array/array.directive.js.map b/dist/ts-build/components/renderers/controls/array/array.directive.js.map new file mode 100644 index 000000000..4dff135a9 --- /dev/null +++ b/dist/ts-build/components/renderers/controls/array/array.directive.js.map @@ -0,0 +1 @@ +{"version":3,"file":"array.directive.js","sourceRoot":"","sources":["../../../../../../src/components/renderers/controls/array/array.directive.ts"],"names":[],"mappings":";;;;;;AAAA,QAAO,QAAQ,CAAC,CAAA;AAChB,yBAAyB,4BAA4B,CAAC,CAAA;AAEtD,iCAAgC,qBAAqB,CAAC,CAAA;AAGtD,8BAA6B,+CAA+C,CAAC,CAAA;AAC7E,wBAAgD,eAAe,CAAC,CAAA;AAChE,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAErC,IAAM,qBAAqB,GAAG,ulBAcL,CAAC;AAE1B;IAAA;QACE,aAAQ,GAAG,GAAG,CAAC;QACf,gBAAW,GAAG,sBAAsB,CAAC;QACrC,eAAU,GAAG,eAAe,CAAC;QAC7B,iBAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IAAD,6BAAC;AAAD,CAAC,AALD,IAKC;AAED,IAAM,aAAa,GAAG,wtEAiDE,CAAC;AAEzB;IAAA;QACE,aAAQ,GAAG,GAAG,CAAC;QACf,gBAAW,GAAG,YAAY,CAAC;QAC3B,eAAU,GAAG,eAAe,CAAC;QAC7B,iBAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IAAD,qBAAC;AAAD,CAAC,AALD,IAKC;AAKD;IAA8B,mCAAe;IAM3C,yBAAY,KAA2B,EAAE,WAA+B;QACtE,kBAAM,KAAK,CAAC,CAAC;QAJP,kBAAa,GAAG,EAAE,CAAC;QAKzB,IAAI,iBAAiB,GAAG,4BAAY,CAAC,aAAa,CAChD,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAgB,CAAC;QAC/C,IAAI,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAC9C,IAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;QAC1D,IAAI,CAAC,aAAa,GAAG,cAAc,GAAG,cAAc;YAClD,WAAW,CAAC,uBAAuB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACnE,CAAC;IAED,sBAAW,uCAAU;aAArB;YACE,MAAM,CAAC,SAAS,CAAC,mBAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC;;;OAAA;IACM,wCAAc,GAArB;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;IAC1B,CAAC;IACM,wCAAc,GAArB,UAAsB,OAAY;QAChC,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9D,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,sBAAW,2CAAc;aAAzB;YACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;;;OAAA;IACD,sBAAW,2CAAc;aAAzB;YACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;;;OAAA;IACO,kCAAQ,GAAhB,UAAiB,OAAe;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,sBAAW,oCAAO;aAAlB;YACE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrF,CAAC;;;OAAA;IAED,sBAAW,qCAAQ;aAAnB;YACE,MAAM,CAAC,KAAK,GAAG,mBAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;QAC5E,CAAC;;;OAAA;IAnDM,uBAAO,GAAG,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAoDnD,sBAAC;AAAD,CAAC,AArDD,CAA8B,kCAAe,GAqD5C;AAED;kBAAe,OAAO;KACnB,MAAM,CAAC,oCAAoC,EAAE,CAAC,8BAA8B,CAAC,CAAC;KAC9E,SAAS,CAAC,sBAAsB,EAAE,cAAM,OAAA,IAAI,sBAAsB,EAAE,EAA5B,CAA4B,CAAC;KACrE,SAAS,CAAC,cAAc,EAAE,cAAM,OAAA,IAAI,cAAc,EAAE,EAApB,CAAoB,CAAC;KACrD,GAAG,CAAC,CAAC,iBAAiB,EAAE,UAAA,eAAe;QACtC,eAAe,CAAC,QAAQ,CAAC,wBAAwB,EAC/C,iBAAO,CAAC,GAAG,CACT,sBAAY,CAAC,OAAO,CAAC,EACrB,kBAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CACzB,EAAE,CAAC,CAAC,CAAC;QACR,eAAe,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;KACF,GAAG,CAAC,CAAC,gBAAgB,EAAE,UAAA,cAAc;QACpC,cAAc,CAAC,GAAG,CAAC,sBAAsB,EAAE,qBAAqB,CAAC,CAAC;QAClE,cAAc,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;KACF,IAAI,CAAC"} \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/boolean/boolean.directive.d.ts b/dist/ts-build/components/renderers/controls/boolean/boolean.directive.d.ts new file mode 100644 index 000000000..ebad4291f --- /dev/null +++ b/dist/ts-build/components/renderers/controls/boolean/boolean.directive.d.ts @@ -0,0 +1,2 @@ +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/renderers/controls/boolean/boolean.directive.js b/dist/ts-build/components/renderers/controls/boolean/boolean.directive.js new file mode 100644 index 000000000..192a71c85 --- /dev/null +++ b/dist/ts-build/components/renderers/controls/boolean/boolean.directive.js @@ -0,0 +1,39 @@ +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var abstract_control_1 = require('../abstract-control'); +var testers_1 = require('../../testers'); +var BooleanDirective = (function () { + function BooleanDirective() { + this.restrict = 'E'; + this.templateUrl = 'boolean.html'; + this.controller = BooleanController; + this.controllerAs = 'vm'; + } + return BooleanDirective; +}()); +var BooleanController = (function (_super) { + __extends(BooleanController, _super); + function BooleanController(scope) { + _super.call(this, scope); + } + BooleanController.$inject = ['$scope']; + return BooleanController; +}(abstract_control_1.AbstractControl)); +var booleanTemplate = "\n \n"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular + .module('jsonforms.renderers.controls.boolean', ['jsonforms.renderers.controls']) + .directive('booleanControl', function () { return new BooleanDirective(); }) + .run(['RendererService', function (RendererService) { + return RendererService.register('boolean-control', testers_1.schemaTypeIs('boolean'), 1); + } +]) + .run(['$templateCache', function ($templateCache) { + $templateCache.put('boolean.html', booleanTemplate); + }]) + .name; +//# sourceMappingURL=boolean.directive.js.map \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/boolean/boolean.directive.js.map b/dist/ts-build/components/renderers/controls/boolean/boolean.directive.js.map new file mode 100644 index 000000000..9d8df4178 --- /dev/null +++ b/dist/ts-build/components/renderers/controls/boolean/boolean.directive.js.map @@ -0,0 +1 @@ +{"version":3,"file":"boolean.directive.js","sourceRoot":"","sources":["../../../../../../src/components/renderers/controls/boolean/boolean.directive.ts"],"names":[],"mappings":";;;;;;AAAA,iCAA8B,qBAAqB,CAAC,CAAA;AACpD,wBAA2B,eAAe,CAAC,CAAA;AAE3C;IAAA;QACI,aAAQ,GAAG,GAAG,CAAC;QACf,gBAAW,GAAG,cAAc,CAAC;QAC7B,eAAU,GAAG,iBAAiB,CAAC;QAC/B,iBAAY,GAAG,IAAI,CAAC;IACxB,CAAC;IAAD,uBAAC;AAAD,CAAC,AALD,IAKC;AAID;IAAgC,qCAAe;IAE3C,2BAAY,KAA6B;QACrC,kBAAM,KAAK,CAAC,CAAC;IACjB,CAAC;IAHM,yBAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;IAIhC,wBAAC;AAAD,CAAC,AALD,CAAgC,kCAAe,GAK9C;AAED,IAAM,eAAe,GAAG,6RAOH,CAAC;AAEtB;kBAAe,OAAO;KACjB,MAAM,CAAC,sCAAsC,EAAE,CAAC,8BAA8B,CAAC,CAAC;KAChF,SAAS,CAAC,gBAAgB,EAAE,cAAM,OAAA,IAAI,gBAAgB,EAAE,EAAtB,CAAsB,CAAC;KACzD,GAAG,CAAC,CAAC,iBAAiB,EAAE,UAAA,eAAe;QACpC,OAAA,eAAe,CAAC,QAAQ,CAAC,iBAAiB,EAAE,sBAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAAvE,CAAuE;CAC1E,CAAC;KACD,GAAG,CAAC,CAAC,gBAAgB,EAAE,UAAA,cAAc;QAClC,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;KACF,IAAI,CAAC"} \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/control.directive.d.ts b/dist/ts-build/components/renderers/controls/control.directive.d.ts new file mode 100644 index 000000000..ebad4291f --- /dev/null +++ b/dist/ts-build/components/renderers/controls/control.directive.d.ts @@ -0,0 +1,2 @@ +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/renderers/controls/control.directive.js b/dist/ts-build/components/renderers/controls/control.directive.js new file mode 100644 index 000000000..7f86d364f --- /dev/null +++ b/dist/ts-build/components/renderers/controls/control.directive.js @@ -0,0 +1,19 @@ +"use strict"; +var controlTemplate = "
0 ? 'has-error' : ''\"\" ng-hide=\"vm.hide\">\n \n
\n {{alert.msg}}\n
"; +var ControlDirective = (function () { + function ControlDirective() { + this.restrict = 'E'; + this.transclude = true; + this.templateUrl = 'control.html'; + } + return ControlDirective; +}()); +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular + .module('jsonforms.renderers.controls', ['jsonforms.renderers']) + .directive('jsonformsControl', function () { return new ControlDirective; }) + .run(['$templateCache', function ($templateCache) { + $templateCache.put('control.html', controlTemplate); + }]) + .name; +//# sourceMappingURL=control.directive.js.map \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/control.directive.js.map b/dist/ts-build/components/renderers/controls/control.directive.js.map new file mode 100644 index 000000000..1bcc4d96e --- /dev/null +++ b/dist/ts-build/components/renderers/controls/control.directive.js.map @@ -0,0 +1 @@ +{"version":3,"file":"control.directive.js","sourceRoot":"","sources":["../../../../../src/components/renderers/controls/control.directive.ts"],"names":[],"mappings":";AAAA,IAAM,eAAe,GAAG,mYAIjB,CAAC;AAER;IAAA;QACI,aAAQ,GAAM,GAAG,CAAC;QAClB,eAAU,GAAI,IAAI,CAAC;QACnB,gBAAW,GAAG,cAAc,CAAC;IACjC,CAAC;IAAD,uBAAC;AAAD,CAAC,AAJD,IAIC;AAED;kBAAe,OAAO;KACjB,MAAM,CAAC,8BAA8B,EAAE,CAAC,qBAAqB,CAAC,CAAC;KAC/D,SAAS,CAAC,kBAAkB,EAAE,cAAM,OAAA,IAAI,gBAAgB,EAApB,CAAoB,CAAC;KACzD,GAAG,CAAC,CAAC,gBAAgB,EAAE,UAAA,cAAc;QAClC,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;KACF,IAAI,CAAC"} \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/datetime/datetime.directive.d.ts b/dist/ts-build/components/renderers/controls/datetime/datetime.directive.d.ts new file mode 100644 index 000000000..cf3c118b8 --- /dev/null +++ b/dist/ts-build/components/renderers/controls/datetime/datetime.directive.d.ts @@ -0,0 +1,12 @@ +import { AbstractControl } from '../abstract-control'; +export interface DateTimeControllerScope extends ng.IScope { +} +export declare class DateTimeController extends AbstractControl { + static $inject: string[]; + protected dt: Date; + constructor(scope: DateTimeControllerScope); + protected triggerChangeEvent(): void; + protected updateDateObject(): void; +} +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/renderers/controls/datetime/datetime.directive.js b/dist/ts-build/components/renderers/controls/datetime/datetime.directive.js new file mode 100644 index 000000000..4752bbc0b --- /dev/null +++ b/dist/ts-build/components/renderers/controls/datetime/datetime.directive.js @@ -0,0 +1,58 @@ +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var abstract_control_1 = require('../abstract-control'); +var testers_1 = require('../../testers'); +var DateTimeDirective = (function () { + function DateTimeDirective() { + this.restrict = 'E'; + this.templateUrl = 'datetime.html'; + this.controller = DateTimeController; + this.controllerAs = 'vm'; + } + return DateTimeDirective; +}()); +var DateTimeController = (function (_super) { + __extends(DateTimeController, _super); + function DateTimeController(scope) { + var _this = this; + _super.call(this, scope); + var value = this.resolvedData[this.fragment]; + if (value) { + this.dt = new Date(value); + } + scope.$watch('vm.resolvedData[vm.fragment]', function (newValue) { _this.updateDateObject(); }); + } + DateTimeController.prototype.triggerChangeEvent = function () { + if (this.dt != null) { + this.resolvedData[this.fragment] = this.dt.toISOString().substr(0, 10); + } + else { + this.resolvedData[this.fragment] = null; + } + _super.prototype.triggerChangeEvent.call(this); + }; + DateTimeController.prototype.updateDateObject = function () { + this.dt = new Date(this.resolvedData[this.fragment]); + }; + DateTimeController.$inject = ['$scope']; + return DateTimeController; +}(abstract_control_1.AbstractControl)); +exports.DateTimeController = DateTimeController; +var datetimeTemplate = "\n \n"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular + .module('jsonforms.renderers.controls.datetime', ['jsonforms.renderers.controls']) + .directive('datetimeControl', function () { return new DateTimeDirective(); }) + .run(['RendererService', function (RendererService) { + return RendererService.register('datetime-control', testers_1.Testers.and(testers_1.schemaTypeIs('string'), testers_1.schemaTypeMatches(function (el) { return _.has(el, 'format') && el['format'] === 'date'; })), 2); + } +]) + .run(['$templateCache', function ($templateCache) { + $templateCache.put('datetime.html', datetimeTemplate); + }]) + .name; +//# sourceMappingURL=datetime.directive.js.map \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/datetime/datetime.directive.js.map b/dist/ts-build/components/renderers/controls/datetime/datetime.directive.js.map new file mode 100644 index 000000000..ce19c93f3 --- /dev/null +++ b/dist/ts-build/components/renderers/controls/datetime/datetime.directive.js.map @@ -0,0 +1 @@ +{"version":3,"file":"datetime.directive.js","sourceRoot":"","sources":["../../../../../../src/components/renderers/controls/datetime/datetime.directive.ts"],"names":[],"mappings":";;;;;;AAAA,iCAA8B,qBAAqB,CAAC,CAAA;AACpD,wBAAuD,eAAe,CAAC,CAAA;AAEvE;IAAA;QACI,aAAQ,GAAG,GAAG,CAAC;QACf,gBAAW,GAAG,eAAe,CAAC;QAC9B,eAAU,GAAG,kBAAkB,CAAC;QAChC,iBAAY,GAAG,IAAI,CAAC;IACxB,CAAC;IAAD,wBAAC;AAAD,CAAC,AALD,IAKC;AAGD;IAAwC,sCAAe;IAGnD,4BAAY,KAA8B;QAH9C,iBAuBC;QAnBO,kBAAM,KAAK,CAAC,CAAC;QACb,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACR,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,8BAA8B,EAAE,UAAC,QAAQ,IAAM,KAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IACS,+CAAkB,GAA5B;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;YAElB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3E,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QAC5C,CAAC;QACD,gBAAK,CAAC,kBAAkB,WAAE,CAAC;IAC/B,CAAC;IACS,6CAAgB,GAA1B;QACI,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,CAAC;IArBM,0BAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;IAsBhC,yBAAC;AAAD,CAAC,AAvBD,CAAwC,kCAAe,GAuBtD;AAvBY,0BAAkB,qBAuB9B,CAAA;AAED,IAAM,gBAAgB,GAAG,+WASJ,CAAC;AAEtB;kBAAe,OAAO;KACjB,MAAM,CAAC,uCAAuC,EAAE,CAAC,8BAA8B,CAAC,CAAC;KACjF,SAAS,CAAC,iBAAiB,EAAE,cAAM,OAAA,IAAI,iBAAiB,EAAE,EAAvB,CAAuB,CAAC;KAC3D,GAAG,CAAC,CAAC,iBAAiB,EAAE,UAAA,eAAe;QAChC,OAAA,eAAe,CAAC,QAAQ,CAAC,kBAAkB,EACvC,iBAAO,CAAC,GAAG,CACP,sBAAY,CAAC,QAAQ,CAAC,EACtB,2BAAiB,CAAC,UAAA,EAAE,IAAI,OAAA,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,MAAM,EAA9C,CAA8C,CAAC,CAC1E,EAAE,CAAC,CAAC;IAJT,CAIS;CAChB,CAAC;KACD,GAAG,CAAC,CAAC,gBAAgB,EAAE,UAAA,cAAc;QAClC,cAAc,CAAC,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;KACF,IAAI,CAAC"} \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/enum/enum.directive.d.ts b/dist/ts-build/components/renderers/controls/enum/enum.directive.d.ts new file mode 100644 index 000000000..ebad4291f --- /dev/null +++ b/dist/ts-build/components/renderers/controls/enum/enum.directive.d.ts @@ -0,0 +1,2 @@ +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/renderers/controls/enum/enum.directive.js b/dist/ts-build/components/renderers/controls/enum/enum.directive.js new file mode 100644 index 000000000..b33a4c191 --- /dev/null +++ b/dist/ts-build/components/renderers/controls/enum/enum.directive.js @@ -0,0 +1,46 @@ +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var abstract_control_1 = require('../abstract-control'); +var testers_1 = require('../../testers'); +var enumTemplate = "\n \n"; +var EnumDirective = (function () { + function EnumDirective() { + this.restrict = 'E'; + this.templateUrl = 'enum.html'; + this.controller = EnumController; + this.controllerAs = 'vm'; + } + return EnumDirective; +}()); +var EnumController = (function (_super) { + __extends(EnumController, _super); + function EnumController(scope) { + _super.call(this, scope); + } + Object.defineProperty(EnumController.prototype, "options", { + get: function () { + return this.resolvedSchema.enum; + }, + enumerable: true, + configurable: true + }); + EnumController.$inject = ['$scope']; + return EnumController; +}(abstract_control_1.AbstractControl)); +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular + .module('jsonforms.renderers.controls.enum', ['jsonforms.renderers.controls']) + .directive('enumControl', function () { return new EnumDirective(); }) + .run(['RendererService', function (RendererService) { + return RendererService.register('enum-control', testers_1.Testers.and(testers_1.uiTypeIs('Control'), testers_1.schemaTypeMatches(function (el) { return _.has(el, 'enum'); })), 5); + } +]) + .run(['$templateCache', function ($templateCache) { + $templateCache.put('enum.html', enumTemplate); + }]) + .name; +//# sourceMappingURL=enum.directive.js.map \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/enum/enum.directive.js.map b/dist/ts-build/components/renderers/controls/enum/enum.directive.js.map new file mode 100644 index 000000000..566f4b283 --- /dev/null +++ b/dist/ts-build/components/renderers/controls/enum/enum.directive.js.map @@ -0,0 +1 @@ +{"version":3,"file":"enum.directive.js","sourceRoot":"","sources":["../../../../../../src/components/renderers/controls/enum/enum.directive.ts"],"names":[],"mappings":";;;;;;AAAA,iCAA8B,qBAAqB,CAAC,CAAA;AACpD,wBAAmD,eAAe,CAAC,CAAA;AAEnE,IAAM,YAAY,GAAG,+XAQA,CAAC;AAEtB;IAAA;QACI,aAAQ,GAAG,GAAG,CAAC;QACf,gBAAW,GAAG,WAAW,CAAC;QAC1B,eAAU,GAAG,cAAc,CAAC;QAC5B,iBAAY,GAAG,IAAI,CAAC;IACxB,CAAC;IAAD,oBAAC;AAAD,CAAC,AALD,IAKC;AAKD;IAA6B,kCAAe;IAExC,wBAAY,KAA0B;QAClC,kBAAM,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,sBAAY,mCAAO;aAAnB;YACI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QACpC,CAAC;;;OAAA;IAPM,sBAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;IAQhC,qBAAC;AAAD,CAAC,AATD,CAA6B,kCAAe,GAS3C;AAED;kBAAe,OAAO;KACjB,MAAM,CAAC,mCAAmC,EAAE,CAAC,8BAA8B,CAAC,CAAC;KAC7E,SAAS,CAAC,aAAa,EAAE,cAAM,OAAA,IAAI,aAAa,EAAE,EAAnB,CAAmB,CAAC;KACnD,GAAG,CAAC,CAAC,iBAAiB,EAAE,UAAA,eAAe;QAChC,OAAA,eAAe,CAAC,QAAQ,CAAC,cAAc,EACnC,iBAAO,CAAC,GAAG,CACP,kBAAQ,CAAC,SAAS,CAAC,EACnB,2BAAiB,CAAC,UAAA,EAAE,IAAI,OAAA,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,EAAjB,CAAiB,CAAC,CAC7C,EAAE,CAAC,CAAC;IAJT,CAIS;CAChB,CAAC;KACD,GAAG,CAAC,CAAC,gBAAgB,EAAE,UAAA,cAAc;QAClC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;KACF,IAAI,CAAC"} \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/integer/integer.directive.d.ts b/dist/ts-build/components/renderers/controls/integer/integer.directive.d.ts new file mode 100644 index 000000000..ebad4291f --- /dev/null +++ b/dist/ts-build/components/renderers/controls/integer/integer.directive.d.ts @@ -0,0 +1,2 @@ +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/renderers/controls/integer/integer.directive.js b/dist/ts-build/components/renderers/controls/integer/integer.directive.js new file mode 100644 index 000000000..581f6b7eb --- /dev/null +++ b/dist/ts-build/components/renderers/controls/integer/integer.directive.js @@ -0,0 +1,38 @@ +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var abstract_control_1 = require('../abstract-control'); +var testers_1 = require('../../testers'); +var integerTemplate = "\n \n "; +var IntegerDirective = (function () { + function IntegerDirective() { + this.templateUrl = 'integer.html'; + this.controller = IntegerController; + this.controllerAs = 'vm'; + } + return IntegerDirective; +}()); +var IntegerController = (function (_super) { + __extends(IntegerController, _super); + function IntegerController(scope) { + _super.call(this, scope); + } + IntegerController.$inject = ['$scope']; + return IntegerController; +}(abstract_control_1.AbstractControl)); +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular + .module('jsonforms.renderers.controls.integer', ['jsonforms.renderers.controls']) + .directive('integerControl', function () { return new IntegerDirective(); }) + .run(['RendererService', function (RendererService) { + return RendererService.register('integer-control', testers_1.Testers.and(testers_1.schemaTypeIs('integer'), testers_1.uiTypeIs('Control')), 1); + } +]) + .run(['$templateCache', function ($templateCache) { + $templateCache.put('integer.html', integerTemplate); + }]) + .name; +//# sourceMappingURL=integer.directive.js.map \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/integer/integer.directive.js.map b/dist/ts-build/components/renderers/controls/integer/integer.directive.js.map new file mode 100644 index 000000000..f24336704 --- /dev/null +++ b/dist/ts-build/components/renderers/controls/integer/integer.directive.js.map @@ -0,0 +1 @@ +{"version":3,"file":"integer.directive.js","sourceRoot":"","sources":["../../../../../../src/components/renderers/controls/integer/integer.directive.ts"],"names":[],"mappings":";;;;;;AAAA,iCAA8B,qBAAqB,CAAC,CAAA;AACpD,wBAA8C,eAAe,CAAC,CAAA;AAE9D,IAAM,eAAe,GAAG,mWAQC,CAAC;AAE1B;IAAA;QACI,gBAAW,GAAG,cAAc,CAAC;QAC7B,eAAU,GAAG,iBAAiB,CAAC;QAC/B,iBAAY,GAAG,IAAI,CAAC;IACxB,CAAC;IAAD,uBAAC;AAAD,CAAC,AAJD,IAIC;AAGD;IAAgC,qCAAe;IAE3C,2BAAY,KAA6B;QACrC,kBAAM,KAAK,CAAC,CAAC;IACjB,CAAC;IAHM,yBAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;IAIhC,wBAAC;AAAD,CAAC,AALD,CAAgC,kCAAe,GAK9C;AAED;kBAAe,OAAO;KACjB,MAAM,CAAC,sCAAsC,EAAE,CAAC,8BAA8B,CAAC,CAAC;KAChF,SAAS,CAAC,gBAAgB,EAAE,cAAM,OAAA,IAAI,gBAAgB,EAAE,EAAtB,CAAsB,CAAC;KACzD,GAAG,CAAC,CAAC,iBAAiB,EAAE,UAAA,eAAe;QACpC,OAAA,eAAe,CAAC,QAAQ,CAAC,iBAAiB,EAClC,iBAAO,CAAC,GAAG,CACP,sBAAY,CAAC,SAAS,CAAC,EACvB,kBAAQ,CAAC,SAAS,CAAC,CACtB,EAAE,CAAC,CAAC;IAJb,CAIa;CAChB,CAAC;KACD,GAAG,CAAC,CAAC,gBAAgB,EAAE,UAAA,cAAc;QAClC,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;KACF,IAAI,CAAC"} \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/number/number.directive.d.ts b/dist/ts-build/components/renderers/controls/number/number.directive.d.ts new file mode 100644 index 000000000..ebad4291f --- /dev/null +++ b/dist/ts-build/components/renderers/controls/number/number.directive.d.ts @@ -0,0 +1,2 @@ +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/renderers/controls/number/number.directive.js b/dist/ts-build/components/renderers/controls/number/number.directive.js new file mode 100644 index 000000000..53daaccac --- /dev/null +++ b/dist/ts-build/components/renderers/controls/number/number.directive.js @@ -0,0 +1,39 @@ +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var abstract_control_1 = require('../abstract-control'); +var testers_1 = require('../../testers'); +var numberTemplate = "\n \n "; +var NumberDirective = (function () { + function NumberDirective() { + this.restrict = 'E'; + this.templateUrl = 'number.html'; + this.controller = NumberController; + this.controllerAs = 'vm'; + } + return NumberDirective; +}()); +var NumberController = (function (_super) { + __extends(NumberController, _super); + function NumberController(scope) { + _super.call(this, scope); + } + NumberController.$inject = ['$scope']; + return NumberController; +}(abstract_control_1.AbstractControl)); +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular + .module('jsonforms.renderers.controls.number', ['jsonforms.renderers.controls']) + .directive('numberControl', function () { return new NumberDirective(); }) + .run(['RendererService', function (RendererService) { + return RendererService.register('number-control', testers_1.schemaTypeIs('number'), 1); + } +]) + .run(['$templateCache', function ($templateCache) { + $templateCache.put('number.html', numberTemplate); + }]) + .name; +//# sourceMappingURL=number.directive.js.map \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/number/number.directive.js.map b/dist/ts-build/components/renderers/controls/number/number.directive.js.map new file mode 100644 index 000000000..f6da1ff09 --- /dev/null +++ b/dist/ts-build/components/renderers/controls/number/number.directive.js.map @@ -0,0 +1 @@ +{"version":3,"file":"number.directive.js","sourceRoot":"","sources":["../../../../../../src/components/renderers/controls/number/number.directive.ts"],"names":[],"mappings":";;;;;;AAAA,iCAA8B,qBAAqB,CAAC,CAAA;AACpD,wBAA2B,eAAe,CAAC,CAAA;AAE3C,IAAM,cAAc,GAAG,qWAQE,CAAA;AAEzB;IAAA;QACI,aAAQ,GAAG,GAAG,CAAC;QACf,gBAAW,GAAG,aAAa,CAAC;QAC5B,eAAU,GAAG,gBAAgB,CAAC;QAC9B,iBAAY,GAAG,IAAI,CAAC;IACxB,CAAC;IAAD,sBAAC;AAAD,CAAC,AALD,IAKC;AAGD;IAA+B,oCAAe;IAE1C,0BAAY,KAA4B;QACpC,kBAAM,KAAK,CAAC,CAAC;IACjB,CAAC;IAHM,wBAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;IAIhC,uBAAC;AAAD,CAAC,AALD,CAA+B,kCAAe,GAK7C;AAED;kBAAe,OAAO;KACjB,MAAM,CAAC,qCAAqC,EAAE,CAAC,8BAA8B,CAAC,CAAC;KAC/E,SAAS,CAAC,eAAe,EAAE,cAAM,OAAA,IAAI,eAAe,EAAE,EAArB,CAAqB,CAAC;KACvD,GAAG,CAAC,CAAC,iBAAiB,EAAE,UAAA,eAAe;QAChC,OAAA,eAAe,CAAC,QAAQ,CAAC,gBAAgB,EAAE,sBAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAArE,CAAqE;CAC5E,CAAC;KACD,GAAG,CAAC,CAAC,gBAAgB,EAAE,UAAA,cAAc;QAClC,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;KACF,IAAI,CAAC"} \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/reference/reference.directive.d.ts b/dist/ts-build/components/renderers/controls/reference/reference.directive.d.ts new file mode 100644 index 000000000..ebad4291f --- /dev/null +++ b/dist/ts-build/components/renderers/controls/reference/reference.directive.d.ts @@ -0,0 +1,2 @@ +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/renderers/controls/reference/reference.directive.js b/dist/ts-build/components/renderers/controls/reference/reference.directive.js new file mode 100644 index 000000000..550f22596 --- /dev/null +++ b/dist/ts-build/components/renderers/controls/reference/reference.directive.js @@ -0,0 +1,59 @@ +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var abstract_control_1 = require('../abstract-control'); +var path_resolver_1 = require('../../../services/path-resolver/path-resolver'); +var testers_1 = require('../../testers'); +var ReferenceDirective = (function () { + function ReferenceDirective() { + this.restrict = 'E'; + this.template = "
{{vm.prefix}} {{vm.linkText}}
"; + this.controller = ReferenceController; + this.controllerAs = 'vm'; + } + return ReferenceDirective; +}()); +var ReferenceController = (function (_super) { + __extends(ReferenceController, _super); + function ReferenceController(scope) { + _super.call(this, scope); + } + Object.defineProperty(ReferenceController.prototype, "link", { + get: function () { + var normalizedPath = path_resolver_1.PathResolver.toInstancePath(this.schemaPath); + return '#' + this.uiSchema['href']['url'] + '/' + this.data[normalizedPath]; + }, + enumerable: true, + configurable: true + }); + ; + Object.defineProperty(ReferenceController.prototype, "linkText", { + get: function () { + return this.uiSchema['href']['label'] ? this.uiSchema['href']['label'] : this.label; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ReferenceController.prototype, "prefix", { + get: function () { + return this.uiSchema.label ? this.uiSchema.label : 'Go to'; + }, + enumerable: true, + configurable: true + }); + ReferenceController.$inject = ['$scope']; + return ReferenceController; +}(abstract_control_1.AbstractControl)); +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = angular + .module('jsonforms.renderers.controls.reference', ['jsonforms.renderers.controls']) + .directive('referenceControl', function () { return new ReferenceDirective(); }) + .run(['RendererService', function (RendererService) { + return RendererService.register('reference-control', testers_1.uiTypeIs('ReferenceControl'), 2); + } +]) + .name; +//# sourceMappingURL=reference.directive.js.map \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/reference/reference.directive.js.map b/dist/ts-build/components/renderers/controls/reference/reference.directive.js.map new file mode 100644 index 000000000..47c630a83 --- /dev/null +++ b/dist/ts-build/components/renderers/controls/reference/reference.directive.js.map @@ -0,0 +1 @@ +{"version":3,"file":"reference.directive.js","sourceRoot":"","sources":["../../../../../../src/components/renderers/controls/reference/reference.directive.ts"],"names":[],"mappings":";;;;;;AAAA,iCAA8B,qBAAqB,CAAC,CAAA;AACpD,8BAA2B,+CAA+C,CAAC,CAAA;AAC3E,wBAAuB,eAAe,CAAC,CAAA;AAEvC;IAAA;QACI,aAAQ,GAAG,GAAG,CAAC;QACf,aAAQ,GAAG,sEAAoE,CAAC;QAChF,eAAU,GAAG,mBAAmB,CAAC;QACjC,iBAAY,GAAG,IAAI,CAAC;IACxB,CAAC;IAAD,yBAAC;AAAD,CAAC,AALD,IAKC;AAGD;IAAkC,uCAAe;IAE7C,6BAAY,KAA+B;QACvC,kBAAM,KAAK,CAAC,CAAC;IACjB,CAAC;IACD,sBAAW,qCAAI;aAAf;YACI,IAAI,cAAc,GAAG,4BAAY,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChF,CAAC;;;OAAA;;IACD,sBAAW,yCAAQ;aAAnB;YACI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACxF,CAAC;;;OAAA;IACD,sBAAW,uCAAM;aAAjB;YACI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC;QAC/D,CAAC;;;OAAA;IAbM,2BAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;IAchC,0BAAC;AAAD,CAAC,AAfD,CAAkC,kCAAe,GAehD;AAED;kBAAe,OAAO;KACjB,MAAM,CAAC,wCAAwC,EAAE,CAAC,8BAA8B,CAAC,CAAC;KAClF,SAAS,CAAC,kBAAkB,EAAE,cAAM,OAAA,IAAI,kBAAkB,EAAE,EAAxB,CAAwB,CAAC;KAC7D,GAAG,CAAC,CAAC,iBAAiB,EAAE,UAAA,eAAe;QAChC,OAAA,eAAe,CAAC,QAAQ,CAAC,mBAAmB,EAAE,kBAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAA9E,CAA8E;CACrF,CAAC;KACD,IAAI,CAAC"} \ No newline at end of file diff --git a/dist/ts-build/components/renderers/controls/string/string.directive.d.ts b/dist/ts-build/components/renderers/controls/string/string.directive.d.ts new file mode 100644 index 000000000..ebad4291f --- /dev/null +++ b/dist/ts-build/components/renderers/controls/string/string.directive.d.ts @@ -0,0 +1,2 @@ +declare var _default: string; +export default _default; diff --git a/dist/ts-build/components/renderers/controls/string/string.directive.js b/dist/ts-build/components/renderers/controls/string/string.directive.js new file mode 100644 index 000000000..8452890b3 --- /dev/null +++ b/dist/ts-build/components/renderers/controls/string/string.directive.js @@ -0,0 +1,52 @@ +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var abstract_control_1 = require('../abstract-control'); +var testers_1 = require('../../testers'); +var stringTemplate = "\n \n"; +var StringDirective = (function () { + function StringDirective() { + this.restrict = 'E'; + this.templateUrl = 'string.html'; + this.controller = StringController; + this.controllerAs = 'vm'; + } + return StringDirective; +}()); +var textAreaTemplate = "\n