Commit 9233d51f authored by Evren Kutar's avatar Evren Kutar

v0.0.3.1

parent 4ec688a8
...@@ -28,7 +28,9 @@ crud.controller('CRUDAddEditCtrl', function ($scope, $rootScope, $location, $htt ...@@ -28,7 +28,9 @@ crud.controller('CRUDAddEditCtrl', function ($scope, $rootScope, $location, $htt
} }
// get form with generator // get form with generator
if ($routeParams.model) {
Generator.get_form($scope); Generator.get_form($scope);
}
$scope.onSubmit = function (form) { $scope.onSubmit = function (form) {
$scope.$broadcast('schemaFormValidate'); $scope.$broadcast('schemaFormValidate');
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
</a> </a>
</span> </span>
</h3> </h3>
<ng-include src="'shared/templates/nodeTable.html'" ng-if="node.lengthModels > 0"></ng-include> <ng-include src="'shared/templates/nodeTable.html'" ng-if="node.lengthModels > 0" ng-bind="node.lengthModels"></ng-include>
<hr> <hr>
</div> </div>
......
...@@ -46,11 +46,17 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal ...@@ -46,11 +46,17 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal
if (k.type == 'date') { if (k.type == 'date') {
k.type = 'string'; k.type = 'string';
scope.model[v] = generator.dateformatter(scope.model[v]);
// seek for datepicker field and initialize datepicker // seek for datepicker field and initialize datepicker
scope.$watch($('#'+v), function(){ scope.$watch($('#'+v), function(){
$timeout(function () { $timeout(function () {
jQuery('#' + v).datepicker(); jQuery('#' + v).datepicker({
dateFormat: "dd.mm.yy",
onSelect: function(date){
scope.model[v] = date;
}
});
}); });
}); });
} }
...@@ -96,8 +102,9 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal ...@@ -96,8 +102,9 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal
scope[k.type][k.title] = { scope[k.type][k.title] = {
title: k.title, title: k.title,
form: [], form: [],
schema: {properties: {}, required: [], title: k.title, type: "object"}, schema: {properties: {}, required: [], title: k.title, type: "object", formType: k.type},
model: {} model: {},
url: scope.url
}; };
angular.forEach(k.schema , function (item) { angular.forEach(k.schema , function (item) {
...@@ -105,7 +112,7 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal ...@@ -105,7 +112,7 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal
scope[k.type][k.title].model[item.name] = item.value; scope[k.type][k.title].model[item.name] = item.value;
// prepare required fields // prepare required fields
if (item.required == true) { if (item.required == true && item.name != 'idx') {
scope[k.type][k.title].schema.required.push(item.name); scope[k.type][k.title].schema.required.push(item.name);
} }
...@@ -127,11 +134,10 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal ...@@ -127,11 +134,10 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal
return scope; return scope;
}; };
generator.dateformatter = function (formObject) { generator.dateformatter = function (formObject) {
//angular.forEach(formObject.objects, function(k, v) { var ndate = new Date(formObject);
// check if date string and convert to date object if (ndate == 'Invalid Date') {return ''}
// todo: catch date object and convert var newdatearray = [ndate.getDate(), ndate.getMonth(), ndate.getFullYear()];
//}); return newdatearray.join('.');
return Date(formObject);
}; };
generator.get_form = function (scope) { generator.get_form = function (scope) {
return $http return $http
...@@ -145,7 +151,7 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal ...@@ -145,7 +151,7 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal
return $http return $http
.post(generator.makeUrl(scope.url), scope.form_params) .post(generator.makeUrl(scope.url), scope.form_params)
.then(function (res) { .then(function (res) {
generator.dateformatter(res); //generator.dateformatter(res);
return res; return res;
// todo: cover all other exceptions (4xx, 5xx) // todo: cover all other exceptions (4xx, 5xx)
}); });
...@@ -154,7 +160,7 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal ...@@ -154,7 +160,7 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal
return $http return $http
.post(generator.makeUrl(scope.url), scope.form_params) .post(generator.makeUrl(scope.url), scope.form_params)
.then(function (res) { .then(function (res) {
generator.dateformatter(res); //generator.dateformatter(res);
return res; return res;
// todo: cover all other exceptions (4xx, 5xx) // todo: cover all other exceptions (4xx, 5xx)
}); });
...@@ -187,11 +193,10 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal ...@@ -187,11 +193,10 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal
"token": $scope.token "token": $scope.token
}; };
if ($scope.object_id) { if ($scope.object_id) {
var get_diff = FormDiff.get_diff($scope.model, $scope.initialModel); //var get_diff = FormDiff.get_diff($scope.model, $scope.initialModel);
data.object_id = $scope.object_id; data.object_id = $scope.object_id;
data.form = get_diff; //data.form = get_diff;
} }
debugger;
$http.post(generator.makeUrl($scope.url), data) $http.post(generator.makeUrl($scope.url), data)
.success() .success()
.then(function(res){ .then(function(res){
...@@ -211,19 +216,22 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal ...@@ -211,19 +216,22 @@ form_generator.factory('Generator', function ($http, $q, $log, $location, $modal
*/ */
form_generator.controller('ModalCtrl', function ($scope, $modalInstance, Generator, $route, items) { form_generator.controller('ModalCtrl', function ($scope, $modalInstance, Generator, $route, items) {
angular.forEach(["model", "schema", "form"], function (key) { angular.forEach(items, function (value, key) {
$scope[key] = items[key]; $scope[key] = items[key];
}); });
console.log(items);
Generator.prepareFormItems($scope); Generator.prepareFormItems($scope);
$scope.onSubmit = function (form) { $scope.onSubmit = function (form) {
$scope.$broadcast('schemaFormValidate'); $scope.$broadcast('schemaFormValidate');
console.log(form.$valid); console.log(form.$valid);
if(form.$valid){ //if(form.$valid){
if(1==1){
// send form to modalinstance result function // send form to modalinstance result function
debugger;
$modalInstance.close($scope); $modalInstance.close($scope);
} }
}; };
$scope.cancel = function () { $scope.cancel = function () {
...@@ -259,9 +267,17 @@ form_generator.directive('modalForNodes', function ($modal) { ...@@ -259,9 +267,17 @@ form_generator.directive('modalForNodes', function ($modal) {
modalInstance.result.then(function (childmodel, key) { modalInstance.result.then(function (childmodel, key) {
// subfix will be removed // subfix will be removed
//var subfix = scope.schema.title.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase(); //var subfix = scope.schema.title.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase();
// todo: run form validator here
if (childmodel.schema.formType == 'Node'){
scope.$parent.model[childmodel.schema.title] = childmodel.model; scope.$parent.model[childmodel.schema.title] = childmodel.model;
console.log(scope.$parent.model); }
if (childmodel.schema.formType == 'ListNode'){
if (scope.$parent.model[childmodel.schema.title] == null){
scope.$parent.model[childmodel.schema.title] = [];
}
scope.$parent.model[childmodel.schema.title].push(childmodel.model);
}
childmodel.lengthModels += 1;
}); });
}); });
} }
......
This diff is collapsed.
This diff is collapsed.
...@@ -480,7 +480,7 @@ angular.module("shared/templates/add.html", []).run(["$templateCache", function( ...@@ -480,7 +480,7 @@ angular.module("shared/templates/add.html", []).run(["$templateCache", function(
" </a>\n" + " </a>\n" +
" </span>\n" + " </span>\n" +
" </h3>\n" + " </h3>\n" +
" <ng-include src=\"'shared/templates/nodeTable.html'\" ng-if=\"node.lengthModels > 0\"></ng-include>\n" + " <ng-include src=\"'shared/templates/nodeTable.html'\" ng-if=\"node.lengthModels > 0\" ng-bind=\"node.lengthModels\"></ng-include>\n" +
" <hr>\n" + " <hr>\n" +
"</div>\n" + "</div>\n" +
"\n" + "\n" +
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment