| .. | .. |
|---|
| 1 | 1 | (function() { |
|---|
| 2 | 2 | 'use strict'; |
|---|
| 3 | 3 | |
|---|
| 4 | | - var app = angular.module('app', [ 'ngRoute', 'ngAnimate', 'ngResource', 'toaster', 'catalogs' ]); |
|---|
| 4 | + var app = angular.module('app', [ 'ngRoute', 'ngResource', 'toaster', 'localytics.directives', 'catalogs' ]); |
|---|
| 5 | 5 | |
|---|
| 6 | 6 | app.directive( |
|---|
| 7 | 7 | 'catalogField', |
|---|
| .. | .. |
|---|
| 35 | 35 | $scope.catalogsList = null; |
|---|
| 36 | 36 | $scope.list = null; |
|---|
| 37 | 37 | |
|---|
| 38 | + |
|---|
| 38 | 39 | var _changeCatalog = function(index) { |
|---|
| 40 | + $scope.showForm = false; |
|---|
| 41 | + $scope.formu = {}; |
|---|
| 39 | 42 | if (!$scope.catalogsList) $scope.catalogsList = Catalogs.getList(); // catalog list is also in index.data |
|---|
| 40 | 43 | if (typeof index === 'number') $scope.catalogIndex = index; |
|---|
| 41 | 44 | Catalogs.setCurrent($scope.catalogIndex); |
|---|
| .. | .. |
|---|
| 43 | 46 | $scope.list = Catalogs.query(); |
|---|
| 44 | 47 | $scope.refs = {} |
|---|
| 45 | 48 | Catalogs.loadRefs($scope.refs) |
|---|
| 46 | | - console.log($scope.refs) |
|---|
| 47 | 49 | } |
|---|
| 48 | 50 | |
|---|
| 49 | 51 | Catalogs.init().then(_changeCatalog); |
|---|
| .. | .. |
|---|
| 55 | 57 | $scope.isNew = false; |
|---|
| 56 | 58 | $scope.formu = {} |
|---|
| 57 | 59 | for (var k in data) { |
|---|
| 58 | | - if (k.indexOf('$') !== 0) $scope.formu[k] = data[k] |
|---|
| 60 | + if (k.indexOf('$') !== 0 && !Catalogs.getField(k).listingOnly) $scope.formu[k] = data[k] |
|---|
| 59 | 61 | } |
|---|
| 60 | | - console.log('$scope.edit') |
|---|
| 61 | | - console.log($scope.formu) |
|---|
| 62 | | - $('#'+ Catalogs.getFFF()).focus(); |
|---|
| 63 | 62 | |
|---|
| 64 | | - |
|---|
| 63 | + setTimeout(function() { |
|---|
| 64 | + $('#'+Catalogs.getFFF()).focus(); |
|---|
| 65 | + }, 0); |
|---|
| 65 | 66 | } |
|---|
| 67 | + |
|---|
| 66 | 68 | $scope.delete = function(data) { |
|---|
| 67 | 69 | BootstrapDialog.confirm('The record will be deleted, are you sure?', function(result){ |
|---|
| 68 | 70 | if(result) { |
|---|
| .. | .. |
|---|
| 89 | 91 | |
|---|
| 90 | 92 | if (field.readOnly && field.type === 'date') |
|---|
| 91 | 93 | return 'readonly_date'; |
|---|
| 92 | | - if (field.readOnly) |
|---|
| 94 | + if (field.readOnly && (!field.pk || !$scope.isNew )) |
|---|
| 93 | 95 | return 'readonly'; |
|---|
| 94 | 96 | if (field.type === 'select') |
|---|
| 95 | 97 | return 'select'; |
|---|
| 98 | + if (field.type === 'multiselect') |
|---|
| 99 | + return 'multiselect'; |
|---|
| 96 | 100 | if (!field.multiline) |
|---|
| 97 | 101 | return 'normal'; |
|---|
| 98 | 102 | if (field.multiline) |
|---|
| .. | .. |
|---|
| 101 | 105 | } |
|---|
| 102 | 106 | |
|---|
| 103 | 107 | $scope.editNew = function() { |
|---|
| 104 | | - $('#'+ Catalogs.getFFF()).focus(); |
|---|
| 105 | | - $scope.$parent.showForm = true; |
|---|
| 106 | 108 | $scope.$parent.isNew = true; |
|---|
| 109 | + $scope.$parent.showForm = true; |
|---|
| 107 | 110 | $scope.$parent.formu = {}; |
|---|
| 111 | + setTimeout(function() { |
|---|
| 112 | + $('#'+Catalogs.getFFF()).focus(); |
|---|
| 113 | + }, 0); |
|---|
| 114 | + |
|---|
| 108 | 115 | } |
|---|
| 109 | 116 | $scope.cancel = function() { |
|---|
| 110 | 117 | $scope.$parent.showForm = false; |
|---|
| .. | .. |
|---|
| 139 | 146 | var type = Catalogs.getField(name).type; |
|---|
| 140 | 147 | var printedValue = type === 'date' ? $filter('date')(value, 'yyyy-MM-dd') : value; |
|---|
| 141 | 148 | if (printedValue !== value) // this line is a work around to allow search in formatted fields |
|---|
| 142 | | - row['_display_'+name] = printedValue; |
|---|
| 149 | + row['$display_'+name] = printedValue; |
|---|
| 143 | 150 | return printedValue; |
|---|
| 144 | 151 | } |
|---|
| 145 | 152 | |
|---|