Working Form
diff --git a/views/ngXosLib/xosHelpers/spec/ui/form.test.js b/views/ngXosLib/xosHelpers/spec/ui/form.test.js
index eac10f5..19fc438 100644
--- a/views/ngXosLib/xosHelpers/spec/ui/form.test.js
+++ b/views/ngXosLib/xosHelpers/spec/ui/form.test.js
@@ -130,7 +130,7 @@
expect($(element).find('[name="email"]')).toHaveAttr('type', 'email');
});
- describe('the boolean field', () => {
+ describe('the boolean field test', () => {
let setFalse, setTrue;
@@ -140,6 +140,7 @@
});
it('should change value to false', () => {
+ console.log(isolatedScope.ngModel.enabled);
expect(isolatedScope.ngModel.enabled).toEqual(true);
setFalse.click()
expect(isolatedScope.ngModel.enabled).toEqual(false);
diff --git a/views/ngXosLib/xosHelpers/src/services/rest/Images.js b/views/ngXosLib/xosHelpers/src/services/rest/Images.js
new file mode 100644
index 0000000..4fe9cb3
--- /dev/null
+++ b/views/ngXosLib/xosHelpers/src/services/rest/Images.js
@@ -0,0 +1,15 @@
+(function() {
+ 'use strict';
+
+ angular.module('xos.helpers')
+ /**
+ * @ngdoc service
+ * @name xos.helpers.Images
+ * @description Angular resource to fetch /api/core/images/
+ **/
+ .service('Images', function($resource){
+ return $resource('/api/core/images/:id/', { id: '@id' }, {
+ update: { method: 'PUT' }
+ });
+ })
+})();
\ No newline at end of file
diff --git a/views/ngXosLib/xosHelpers/src/ui_components/dumbComponents/field/field.component.js b/views/ngXosLib/xosHelpers/src/ui_components/dumbComponents/field/field.component.js
index ac4ba4d..fa673c4 100644
--- a/views/ngXosLib/xosHelpers/src/ui_components/dumbComponents/field/field.component.js
+++ b/views/ngXosLib/xosHelpers/src/ui_components/dumbComponents/field/field.component.js
@@ -194,8 +194,8 @@
if(!$attrs.ngModel){
throw new Error('[xosField] Please provide an ng-model');
}
- if(this.field.type === 'select' && !this.ngModel){
- this.ngModel = this.field.options[0].id;
+ if(this.field.type === 'select' && !this.ngModel ){
+ //this.ngModel = this.field.options[0].id;
}
this.getType = XosFormHelpers._getFieldFormat;
this.formatLabel = LabelFormatter.format;
diff --git a/views/ngXosLib/xosHelpers/src/ui_components/dumbComponents/form/form.component.js b/views/ngXosLib/xosHelpers/src/ui_components/dumbComponents/form/form.component.js
index 986e589..83a206a 100644
--- a/views/ngXosLib/xosHelpers/src/ui_components/dumbComponents/form/form.component.js
+++ b/views/ngXosLib/xosHelpers/src/ui_components/dumbComponents/form/form.component.js
@@ -171,15 +171,18 @@
<div class="alert alert-info" ng-show="(field.hint).length >0" role="alert">{{field.hint}}</div>
</div>
<div class="form-group" ng-if="vm.config.actions">
+ <!--<pre>{{vm.config.feedback}} | json</pre>-->
+
+ <xos-alert config="vm.config.feedback" show="vm.config.feedback.show">{{vm.config.feedback.message}}</xos-alert>
+
<button role="button" href=""
ng-repeat="action in vm.config.actions"
- ng-click="action.cb(vm.ngModel)"
+ ng-click="action.cb(vm.ngModel, vm[vm.config.formName || 'form'])"
class="btn btn-{{action.class}}"
title="{{action.label}}">
<i class="glyphicon glyphicon-{{action.icon}}"></i>
{{action.label}}
</button>
-
</div>
</form>
`,
@@ -202,15 +205,27 @@
this.formField = [];
- $scope.$watch(() => this.ngModel, (model) => {
+ $scope.$watch(() => this.config, ()=> {
+
+
+ if(!this.ngModel){
+ return;
+ }
+ let diff = _.difference(Object.keys(this.ngModel), this.excludedField);
+ let modelField = XosFormHelpers.parseModelField(diff);
+ this.formField = XosFormHelpers.buildFormStructure(modelField, this.config.fields, this.ngModel);
+
+
+ } ,true);
+
+
+ $scope.$watch(() => this.ngModel, (model) => {
// empty from old stuff
this.formField = {};
-
if(!model){
return;
}
-
let diff = _.difference(Object.keys(model), this.excludedField);
let modelField = XosFormHelpers.parseModelField(diff);
this.formField = XosFormHelpers.buildFormStructure(modelField, this.config.fields, model);