Mercurial > hg > dml-open-vis
comparison src/DML/MainVisBundle/Resources/assets/marionette/modules/DataModule/DataModule.33-DymanicDefinitionProviderForRecordings.js @ 0:493bcb69166c
added public content
author | Daniel Wolff |
---|---|
date | Tue, 09 Feb 2016 20:54:02 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:493bcb69166c |
---|---|
1 "use strict"; | |
2 | |
3 App.module("DataModule", function(DataModule, App, Backbone, Marionette, $, _, Logger) { | |
4 // Prevent auto start | |
5 //CollectionDefinitionProvider.startWithParent = false; | |
6 | |
7 // Define private variables | |
8 var logger = null; | |
9 | |
10 /** | |
11 * Module initializer | |
12 * | |
13 */ | |
14 DataModule.addInitializer(function(){ | |
15 | |
16 logger = Logger.get("App.DataModule"); | |
17 | |
18 DataModule.DynamicDefinitionForRecording = DataModule.DynamicDefinition.extend({}); | |
19 DataModule.DymanicDefinitionProviderForRecordings = DataModule.DynamicDefinitionProvider.extend({ | |
20 | |
21 options: { | |
22 DynamicDefinition: DataModule.DynamicDefinitionForRecording, | |
23 apiMethod: "getRecordingPerspective", | |
24 customAttributesWhenNotApplicable: {label: undefined}, | |
25 customAttributesWhileBeingUpdated: {label: null}, | |
26 customAttributesWhenFaulty: {label: false} | |
27 }, | |
28 | |
29 isFaulty: function(dynamicDefinition) { | |
30 return dynamicDefinition.attributes.label === false; | |
31 }, | |
32 | |
33 isBeingUpdated: function(dynamicDefinition) { | |
34 return dynamicDefinition.attributes.label === null; | |
35 }, | |
36 | |
37 configParametersToRequestParameters: function(config) { | |
38 var rawConfigParameters = config.attributes.parameters.attributes; | |
39 if (rawConfigParameters.recordingURI) { | |
40 return {"uri": rawConfigParameters.recordingURI, "pid": "properties"}; | |
41 } else { | |
42 return null; | |
43 } | |
44 }, | |
45 | |
46 apiResponseToAttributes: function(data, query) { | |
47 var attributes = {}; | |
48 | |
49 if (data && data.label) { | |
50 attributes = data; | |
51 } else { | |
52 attributes = {label: false}; | |
53 if (data.errors) { | |
54 attributes = _.clone(this.options.customAttributesWhenFaulty) | |
55 attributes.errors = data.errors; | |
56 } | |
57 logger.warn("An error occured when attempting to obtain new recording definition. Query / response:", query, data); | |
58 }; | |
59 attributes.query = query; | |
60 return attributes; | |
61 } | |
62 }); | |
63 }); | |
64 }, Logger); |