]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/web/js/ui/default/staff/admin/server/config/copy_tag_type.js
5d367eba05b5088597a189c823100f3c99eb32ec
[Evergreen.git] / Open-ILS / web / js / ui / default / staff / admin / server / config / copy_tag_type.js
1 angular.module('egAdminConfig',
2     ['ngRoute','ui.bootstrap','egCoreMod','egUiMod','egGridMod','egFmRecordEditorMod'])
3
4 .controller('CopyTagType',
5        ['$scope','$q','$timeout','$location','$window','$uibModal','egCore','egGridDataProvider',
6         'egConfirmDialog',
7 function($scope , $q , $timeout , $location , $window , $uibModal , egCore , egGridDataProvider ,
8          egConfirmDialog) {
9
10     egCore.startup.go(); // standalone mode requires manual startup
11
12     $scope.new_record = function() {
13         spawn_editor();
14     }
15
16     $scope.edit_record = function(items) {
17         if (items.length != 1) return;
18         spawn_editor(items[0].code);
19     }
20
21     spawn_editor = function(code) {
22         var templ;
23         if (arguments.length == 1) {
24             templ = '<eg-edit-fm-record idl-class="cctt" mode="update" record-id="code" on-save="ok" on-cancel="cancel"></eg-edit-fm-record>';
25         } else {
26             templ = '<eg-edit-fm-record idl-class="cctt" mode="create" on-save="ok" on-cancel="cancel"></eg-edit-fm-record>';
27         }
28         gridControls = $scope.gridControls;
29         $uibModal.open({
30             template : templ,
31             controller : [
32                         '$scope', '$uibModalInstance',
33                 function($scope ,  $uibModalInstance) {
34                     $scope.code = code;
35
36                     $scope.ok = function($event) {
37                         $uibModalInstance.close();
38                         gridControls.refresh();
39                     }
40     
41                     $scope.cancel = function($event) {
42                         $uibModalInstance.dismiss();
43                     }
44                 }
45             ]
46         });
47     }
48
49     $scope.delete_record = function(selected) {
50         if (!selected || !selected.length) return;
51
52         egCore.pcrud.retrieve('cctt', selected[0].code).then(function(rec) {
53             egConfirmDialog.open(
54                 egCore.strings.EG_CONFIRM_DELETE_RECORD_TITLE,
55                 egCore.strings.EG_CONFIRM_DELETE_RECORD_BODY,
56                 { code : rec.code() }
57             ).result.then(function() {
58                 egCore.pcrud.remove(rec).then(function() {
59                     $scope.gridControls.refresh();
60                 });
61             });
62         });
63     }
64
65     $scope.gridControls = {
66         setQuery : function() {
67             return { 'code' : { '!=' : null } };
68         },
69         setSort : function() {
70             return ['code'];
71         }
72     }
73 }])