Commit a8348118 authored by Evren Kutar's avatar Evren Kutar

resolves #47

parent 6a8e69c5
......@@ -18,7 +18,7 @@ crud.service('CrudUtility', function () {
// define api request url path
scope.url = routeParams.wf;
angular.forEach(routeParams, function (value, key) {
if (key.indexOf('_id') > -1) {
if (key.indexOf('_id') > -1 && key !== 'param_id') {
scope.param = key;
scope.param_id = value;
}
......@@ -26,16 +26,16 @@ crud.service('CrudUtility', function () {
scope.form_params = {
cmd: cmd,
model: routeParams.model,
param: scope.param,
id: scope.param_id,
param: scope.param || routeParams.param,
id: scope.param_id || routeParams.param_id,
wf: routeParams.wf,
object_id: routeParams.key
};
return scope;
},
listPageItems: function (scope, pageData) {
angular.forEach(['objects', 'model', 'addLink'], function (value, key) {
scope[value] = pageData[value];
angular.forEach(pageData, function (value, key) {
scope[key] = value;
});
}
}
......@@ -56,12 +56,12 @@ crud.controller('CRUDCtrl', function ($scope, $routeParams, Generator, CrudUtili
*/
crud.controller('CRUDAddEditCtrl', function ($scope, $rootScope, $location, $http, $log, $modal, $timeout, Generator, $routeParams, CrudUtility) {
CrudUtility.generateParam($scope, $routeParams, 'form');
// get form with generator
if ($routeParams.pageData) {
CrudUtility.generateParam($scope, Generator.getPageData(), 'form');
Generator.generate($scope, Generator.getPageData());
} else {
CrudUtility.generateParam($scope, $routeParams, 'form');
Generator.get_form($scope);
}
......@@ -92,6 +92,10 @@ crud.controller('CRUDListCtrl', function ($scope, $rootScope, Generator, $routeP
CrudUtility.listPageItems($scope, res.Data);
});
}
$scope.do_action = function (key, action) {
Generator.doItemAction($scope, key, action);
}
});
/**
......
......@@ -43,9 +43,11 @@
</td>
<td>
<button class="btn btn-primary" style="margin-right: 5px;" ng-repeat="action in object.actions"
ng-if="action.show_as==='button'" ng-click="do_action(object)">{{action.name}}</button>
ng-if="action.show_as==='button'" ng-click="do_action(object.key, action)">{{action
.name}}
</button>
<a ng-href="javascript:void(0)" ng-repeat="action in object.actions"
ng-if="action.show_as==='link'" ng-click="do_action(object)">{{action.name}}</a>
ng-if="action.show_as==='link'" ng-click="do_action(object.key, action)">{{action.name}}</a>
<br>
</td>
</tr>
......
......@@ -89,6 +89,7 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c
// generically change _id fields model value
if ('form_params' in scope) {
debugger;
if (k == scope.form_params.param) {
scope.model[k] = scope.form_params.id;
scope.form.splice(scope.form.indexOf(k), 1);
......@@ -276,8 +277,12 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c
return newdatearray.join('.');
}
};
generator.doItemAction = function (object) {
debugger;
generator.doItemAction = function ($scope, key, action) {
$scope.form_params.cmd = action.cmd;
$scope.form_params.object_id = key;
$scope.form_params.param = $scope.param;
$scope.form_params.id = $scope.param_id;
generator.get_wf($scope);
};
/**
* itemLinksGenerator function used for generic links for list items
......@@ -449,6 +454,11 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c
$location.path(pathUrl).search(angular.fromJson({pageData: true}));
}
if (client_cmd.indexOf('form') > -1 && client_cmd.indexOf('list') < 0) {
data[$scope.form_params.param] = $scope.form_params.id;
data['model'] = $scope.form_params.model;
data['wf'] = $scope.form_params.wf;
data['param'] = $scope.form_params.param;
data['param_id'] = $scope.form_params.id;
generator.setPageData(data);
redirectTo($scope, 'add');
}
......@@ -457,6 +467,8 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c
data[$scope.form_params.param] = $scope.form_params.id;
data['model'] = $scope.form_params.model;
data['wf'] = $scope.form_params.wf;
data['param'] = $scope.form_params.param;
data['param_id'] = $scope.form_params.id;
generator.setPageData(data);
generator.itemLinksGenerator($scope, data);
......
This diff is collapsed.
......@@ -122,9 +122,11 @@ angular.module("components/crud/templates/list.html", []).run(["$templateCache",
" </td>\n" +
" <td>\n" +
" <button class=\"btn btn-primary\" style=\"margin-right: 5px;\" ng-repeat=\"action in object.actions\"\n" +
" ng-if=\"action.show_as==='button'\" ng-click=\"do_action(object)\">{{action.name}}</button>\n" +
" ng-if=\"action.show_as==='button'\" ng-click=\"do_action(object.key, action)\">{{action\n" +
" .name}}\n" +
" </button>\n" +
" <a ng-href=\"javascript:void(0)\" ng-repeat=\"action in object.actions\"\n" +
" ng-if=\"action.show_as==='link'\" ng-click=\"do_action(object)\">{{action.name}}</a>\n" +
" ng-if=\"action.show_as==='link'\" ng-click=\"do_action(object.key, action)\">{{action.name}}</a>\n" +
" <br>\n" +
" </td>\n" +
" </tr>\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