| .. | .. |
|---|
| 215 | 215 | refs[field.name] = comboData; |
|---|
| 216 | 216 | }) |
|---|
| 217 | 217 | } |
|---|
| 218 | | - this.loadRefs = function(refs, refsFields) { |
|---|
| 218 | + this.loadRefs = function(callback, refsFields) { |
|---|
| 219 | 219 | if (!refsFields || refsFields.length === 0) { |
|---|
| 220 | 220 | if (!_current) |
|---|
| 221 | 221 | throw new Error('There is no current catalog selected'); |
|---|
| .. | .. |
|---|
| 229 | 229 | |
|---|
| 230 | 230 | var that = this; |
|---|
| 231 | 231 | var promises = [] |
|---|
| 232 | + var refs = [] |
|---|
| 232 | 233 | refsFields.forEach(function(f) { |
|---|
| 233 | 234 | var resource = that |
|---|
| 234 | 235 | .getResource(f.resource); |
|---|
| .. | .. |
|---|
| 239 | 240 | |
|---|
| 240 | 241 | $q.all(promises) |
|---|
| 241 | 242 | .then(function() { |
|---|
| 242 | | - for(var i in refsFields) { |
|---|
| 243 | | - //for ( var k in refs) { |
|---|
| 244 | | - var rf = refsFields[i]; |
|---|
| 243 | + refsFields.forEach(function(rf) { |
|---|
| 245 | 244 | var cat = that.getResource(rf.resource); |
|---|
| 246 | 245 | var pk = that.getPk(that.getMetadata(rf.resource)) |
|---|
| 247 | 246 | //console.log('PK field for ' + rf.name + ' is ' + pk) |
|---|
| .. | .. |
|---|
| 258 | 257 | }); |
|---|
| 259 | 258 | }) |
|---|
| 260 | 259 | refs[rf.name] = comboData; |
|---|
| 261 | | - } |
|---|
| 260 | + }); |
|---|
| 261 | + // Next lines are to load special catalogs with predefined values, just like user roles |
|---|
| 262 | 262 | _current && _current.fields.forEach(function(f) { |
|---|
| 263 | 263 | if (f.values) |
|---|
| 264 | 264 | refs[f.name] = f.values; |
|---|
| 265 | 265 | }); |
|---|
| 266 | + callback(refs); |
|---|
| 266 | 267 | }) |
|---|
| 267 | | - |
|---|
| 268 | | - return refs; |
|---|
| 269 | 268 | } |
|---|
| 270 | 269 | |
|---|
| 271 | 270 | } ]) |
|---|