diff --git a/.gitignore b/.gitignore index 17b4f6be17..3b3fc94b1c 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ dist/ temp/ coverage/ +reports/ # npm node_modules/ diff --git a/examples/app/local/local.controller.js b/examples/app/local/local.controller.js index cdf7b92d07..ec1059954c 100644 --- a/examples/app/local/local.controller.js +++ b/examples/app/local/local.controller.js @@ -217,7 +217,7 @@ angular.module('makeithappen').controller('LocalController', function() { vm.data = { name: 'John Doe', vegetarian: false, - birthDate: "02.06.1985" + birthDate: "1985-06-02" }; vm.users ={ "users": diff --git a/src/components/renderers/controls/datetime/datetime-directive.ts b/src/components/renderers/controls/datetime/datetime-directive.ts index 5dbcbd2880..5edc7855e1 100644 --- a/src/components/renderers/controls/datetime/datetime-directive.ts +++ b/src/components/renderers/controls/datetime/datetime-directive.ts @@ -8,17 +8,18 @@ class DateTimeDirective implements ng.IDirective { template = `
- - @@ -32,14 +33,26 @@ interface DateTimeControllerScope extends ng.IScope { class DateTimeController extends AbstractControl { static $inject = ['$scope', 'PathResolver']; private isOpen: boolean = false; + private dt: Date; constructor(scope: DateTimeControllerScope, pathResolver: IPathResolver) { super(scope, pathResolver); + let value = this.modelValue[this.fragment]; + if (value) { + this.dt = new Date(value); + } } - public openDate($event) { - $event.preventDefault(); - $event.stopPropagation(); + public openDate() { this.isOpen = true; } + protected modelChanged() { + if (this.dt != null) { + // returns a string in the form 'yyyy-mm-dd' + this.modelValue[this.fragment] = this.dt.toISOString().substr(0, 10); + } else { + this.modelValue[this.fragment] = null; + } + super.modelChanged(); + } } const DateTimeControlRendererTester: RendererTester = function(element: IUISchemaElement, dataSchema: any, diff --git a/src/components/renderers/layouts/categories/categorization-directive.ts b/src/components/renderers/layouts/categories/categorization-directive.ts index 47cc6d40c5..a8118f76ab 100644 --- a/src/components/renderers/layouts/categories/categorization-directive.ts +++ b/src/components/renderers/layouts/categories/categorization-directive.ts @@ -9,15 +9,18 @@ class CategorizationDirective implements ng.IDirective {
- - -
- + + +
+
- - +
+
`; @@ -28,9 +31,13 @@ interface CategorizationControllerScope extends ng.IScope { } class CategorizationController extends AbstractLayout { static $inject = ['$scope']; + private selectedCategory; constructor(scope: CategorizationControllerScope) { super(scope); } + public changeSelectedCategory(category) { + this.selectedCategory = category; + } } const CategorizationLayoutRendererTester: RendererTester = function(element: IUISchemaElement, dataSchema: any, diff --git a/src/components/renderers/layouts/categories/categorization.spec.ts b/src/components/renderers/layouts/categories/categorization.spec.ts index cc9f60e661..ce585bf417 100644 --- a/src/components/renderers/layouts/categories/categorization.spec.ts +++ b/src/components/renderers/layouts/categories/categorization.spec.ts @@ -52,8 +52,8 @@ describe('Categorization', () => { scope.data = { "name": "John Doe "}; let el = $compile('')(scope); scope.$digest(); - expect(el.html()).toContain(""); //this is not resolved completly - expect(el.html()).toContain(""); //this is not resolved completly + expect(el.html()).toContain(""); //this is not resolved completly + expect(el.html()).toContain(""); //this is not resolved completly expect(el.html()).toContain('heading="Tab1"'); expect(el.html()).toContain('heading="MyTab2"'); })); diff --git a/src/components/renderers/layouts/masterdetail/masterdetail-directives.ts b/src/components/renderers/layouts/masterdetail/masterdetail-directives.ts index 0366c01903..aeb2c76a0e 100644 --- a/src/components/renderers/layouts/masterdetail/masterdetail-directives.ts +++ b/src/components/renderers/layouts/masterdetail/masterdetail-directives.ts @@ -9,15 +9,15 @@ class MasterDetailDirective implements ng.IDirective { template = `
-
-
`; @@ -62,51 +62,50 @@ class MasterDetailCollectionDirective implements ng.IDirective { select: '&' }; template = `
- - - - {{key}} - + + + {{key}} + - + - - - - + + {{child.name!=undefined?child.name:child}} - - - + + - - - - + + + +
`; link = (scope) => { scope.filter = (properties) => { @@ -147,9 +146,9 @@ class MasterDetailMember implements angular.IDirective { link = (scope, element) => { if (Object.keys(scope.filter(scope.childSchema.properties)).length !== 0) { this.$compile( - ` ` ) diff --git a/src/components/renderers/layouts/masterdetail/masterdetail.spec.ts b/src/components/renderers/layouts/masterdetail/masterdetail.spec.ts index 27cb9090e6..528446ee83 100644 --- a/src/components/renderers/layouts/masterdetail/masterdetail.spec.ts +++ b/src/components/renderers/layouts/masterdetail/masterdetail.spec.ts @@ -69,7 +69,7 @@ describe('MasterDetail', () => { let nameInput_empty = el[0].querySelector("#\\#\\/properties\\/name"); expect(nameInput_empty).toBeNull(); - let x1 = el[0].querySelector("accordion accordion accordion-heading span"); + let x1 = el[0].querySelector("uib-accordion uib-accordion uib-accordion-heading span"); angular.element(x1).triggerHandler("click"); expect(el.html()).toContain("