From 9b2f451e20a5ceceef3bc8fce1245da9d62d2dae Mon Sep 17 00:00:00 2001 From: Vicary Archangel <vicrry@yahoo.com.hk> Date: Thu, 27 Oct 2016 18:32:41 +0800 Subject: [PATCH] Make use of the new builder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Because `ng-model=“$$value$$”` doesn’t work on arrays. --- src/bootstrap-datepicker.js | 13 +++++-------- src/datepicker.html | 9 +++++---- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/bootstrap-datepicker.js b/src/bootstrap-datepicker.js index ccc3a96..91f8fbf 100644 --- a/src/bootstrap-datepicker.js +++ b/src/bootstrap-datepicker.js @@ -1,6 +1,6 @@ angular.module('schemaForm').config( -['schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfPathProvider', - function(schemaFormProvider, schemaFormDecoratorsProvider, sfPathProvider) { +['schemaFormProvider', 'schemaFormDecoratorsProvider', 'sfPathProvider', 'sfBuilderProvider', + function(schemaFormProvider, schemaFormDecoratorsProvider, sfPathProvider, sfBuilderProvider) { var datepicker = function(name, schema, options) { if (schema.type === 'string' && (schema.format === 'date' || schema.format === 'date-time')) { @@ -15,14 +15,11 @@ angular.module('schemaForm').config( schemaFormProvider.defaults.string.unshift(datepicker); //Add to the bootstrap directive - schemaFormDecoratorsProvider.addMapping( + schemaFormDecoratorsProvider.defineAddOn( 'bootstrapDecorator', 'datepicker', - 'directives/decorators/bootstrap/datepicker/datepicker.html' - ); - schemaFormDecoratorsProvider.createDirective( - 'datepicker', - 'directives/decorators/bootstrap/datepicker/datepicker.html' + 'directives/decorators/bootstrap/datepicker/datepicker.html', + sfBuilderProvider.stdBuilders ); } ]); diff --git a/src/datepicker.html b/src/datepicker.html index 12a5b82..6bb350c 100644 --- a/src/datepicker.html +++ b/src/datepicker.html @@ -1,14 +1,14 @@ <div class="form-group {{form.htmlClass}}" ng-class="{'has-error': hasError()}"> - <label class="control-label {{form.labelHtmlClass}}" ng-show="showTitle()">{{form.title}}</label> + <label class="control-label {{form.labelHtmlClass}}" ng-class="{'sr-only': !showTitle()}" for="{{form.key.slice(-1)[0]}}">{{form.title}}</label> <div ng-class="{'input-group': (form.fieldAddonLeft || form.fieldAddonRight)}"> <span ng-if="form.fieldAddonLeft" class="input-group-addon" ng-bind-html="form.fieldAddonLeft"></span> - <input ng-show="form.key" + <input id="{{form.key.slice(-1)[0]}}" + ng-show="form.key" type="text" class="form-control {{form.fieldHtmlClass}}" schema-validate="form" - ng-model="$$value$$" ng-disabled="form.readonly" pick-a-date="form.pickadate" min-date="form.minDate" @@ -16,7 +16,8 @@ select-years="form.selectYears" select-months="form.selectMonths" name="{{form.key.slice(-1)[0]}}" - format="form.format" /> + format="form.format" + sf-field-model /> <span ng-if="form.fieldAddonRight" class="input-group-addon" ng-bind-html="form.fieldAddonRight"></span>