Mercurial > hg > dml-open-vis
comparison src/DML/MainVisBundle/Resources/assets/marionette/modules/RepresentationModule/RepresentationModule.20-Master.entity._.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("RepresentationModule", function(RepresentationModule, App, Backbone, Marionette, $, _, Logger) { | |
4 | |
5 RepresentationModule.addInitializer(function(options){ | |
6 | |
7 RepresentationModule.registerMaster({ | |
8 id: "entity._", | |
9 inherit: "_", | |
10 | |
11 | |
12 // ================================================================= | |
13 // config grid header | |
14 | |
15 _generateCollectionConfigTitle: function(config) { | |
16 var rawConfigParameters = config.attributes.parameters.attributes; | |
17 var labelParts = []; | |
18 if (rawConfigParameters.library) { | |
19 if (rawConfigParameters.genre) { | |
20 labelParts.push(rawConfigParameters.genre); | |
21 } | |
22 if (rawConfigParameters.collection) { | |
23 if (!rawConfigParameters.place) { | |
24 labelParts.push("recordings"); | |
25 } | |
26 labelParts.push(" in ‘", rawConfigParameters.collection, "’ collection"); | |
27 } | |
28 if (rawConfigParameters.genre && (rawConfigParameters.title || rawConfigParameters.composer)) { | |
29 labelParts.push(" / "); | |
30 } | |
31 if (rawConfigParameters.composer) { | |
32 labelParts.push(rawConfigParameters.composer); | |
33 } | |
34 if (rawConfigParameters.title && rawConfigParameters.composer) { | |
35 labelParts.push(" – "); | |
36 } | |
37 if (rawConfigParameters.title) { | |
38 labelParts.push(rawConfigParameters.title); | |
39 } | |
40 if (rawConfigParameters.year) { | |
41 labelParts.push(" (", rawConfigParameters.year, ")"); | |
42 } | |
43 if (rawConfigParameters.place) { | |
44 labelParts.push(" from ", rawConfigParameters.place); | |
45 } | |
46 | |
47 if (labelParts.length) { | |
48 labelParts.unshift(": "); | |
49 } | |
50 if (!RepresentationModule.getMasterById("entity._")._cachedLibraryLabelsByLibraryId) { | |
51 var cachedLibraryLabelsByLibraryId = {}; | |
52 var $panelContents = $(Marionette.TemplateCache.get("#cgpma_collection_entity_default")()); | |
53 var $tickboxes = $panelContents.find(".cgpma__tickbox"); | |
54 $tickboxes.each(function() { | |
55 var $tickbox = $(this); | |
56 var id = $tickbox.getMod("cgpma_", "id"); | |
57 cachedLibraryLabelsByLibraryId[id] = $tickbox.text(); | |
58 }); | |
59 RepresentationModule.getMasterById("entity._")._cachedLibraryLabelsByLibraryId = cachedLibraryLabelsByLibraryId; | |
60 } | |
61 var libraries = rawConfigParameters.library.toLowerCase().split(";"); | |
62 var libraryLabels = []; | |
63 for (var i = 0; i < libraries.length; i++) { | |
64 libraryLabels.push(RepresentationModule.getMasterById("entity._")._cachedLibraryLabelsByLibraryId[_.str.trim(libraries[i])]); | |
65 } | |
66 labelParts.unshift(libraryLabels.join(", ")); | |
67 | |
68 } else { | |
69 labelParts.push("an empty collection"); | |
70 } | |
71 return labelParts.join(""); | |
72 }, | |
73 | |
74 | |
75 _doRenderHeaderContentRelatedToOwnData: function(entityHeaderView, instant) { | |
76 if (!entityHeaderView._$label1) { | |
77 entityHeaderView._$label1 = $.bem.generateElement("config-grid-cells", "entity-header-label").appendTo(entityHeaderView.$el); | |
78 entityHeaderView._$label2 = $.bem.generateElement("config-grid-cells", "entity-header-label", ["row2"]).appendTo(entityHeaderView.$el); | |
79 entityHeaderView._$labelFader = $.bem.generateElement("config-grid-cells", "entity-header-label-fader").appendTo(entityHeaderView.$el); | |
80 } | |
81 if (entityHeaderView.options.config.hasPlannedParameterUpdates()) { | |
82 entityHeaderView._$label1.html("<span class=\"config-grid-cells__view-header-label-part_modified\">" + this._generateHeaderLabel1(entityHeaderView) + "</span>"); | |
83 entityHeaderView._$label2.html("being modified"); | |
84 } else { | |
85 entityHeaderView._$label1.html(this._generateHeaderLabel1(entityHeaderView)); | |
86 entityHeaderView._$label2.html(this._generateHeaderLabel2(entityHeaderView)); | |
87 } | |
88 }, | |
89 | |
90 _generateHeaderLabel1: function(entityHeaderView) {return "";}, | |
91 _generateHeaderLabel2: function(entityHeaderView) {return "";}, | |
92 | |
93 | |
94 // ================================================================= | |
95 // dynamic derived vis instance data | |
96 | |
97 __coverTapActionThatUpdatesDynamicDerivedData: function() { | |
98 var $cover = $(this); | |
99 var visInstanceView = $cover.data("visInstanceView"); | |
100 var derivedDataToUpdate = $cover.data("attachedError").options.derivedDataToUpdate; | |
101 switch (derivedDataToUpdate) { | |
102 case "entity": | |
103 visInstanceView.dynamicDerivedConfigDataForEntity.update(); | |
104 break; | |
105 case "view": | |
106 visInstanceView.dynamicDerivedConfigDataForView.update(); | |
107 break; | |
108 case "base": | |
109 visInstanceView.dynamicDerivedVisInstanceDataForBase.update(); | |
110 break; | |
111 case "overlay": | |
112 visInstanceView.dynamicDerivedVisInstanceDataForOverlay.update(); | |
113 break; | |
114 case "temp": | |
115 visInstanceView.dynamicDerivedVisInstanceDataForTemp.update(); | |
116 break; | |
117 default: | |
118 throw _.str.sprintf("__coverTapActionThatUpdatesDynamicDerivedData cannot be called for derivedDataToUpdate = %s", derivedDataToUpdate); | |
119 } | |
120 }, | |
121 | |
122 | |
123 // ----------------------------------------------------------------- | |
124 // dynamic derived vis instance data - base | |
125 | |
126 _verifyThatViewIsNotEmptyOrUnknown: function(visInstanceView) { | |
127 if (!visInstanceView._cachedViewMaster.options.canHaveBase) { | |
128 if (visInstanceView._cachedViewMaster.id == "view._unknown") { | |
129 throw new RepresentationModule.Error({type: "view_unknown"}); | |
130 } | |
131 if (visInstanceView._cachedViewMaster.inherit == "view._default") { | |
132 throw new RepresentationModule.Error({type: "view_default"}); | |
133 } | |
134 else throw "Unknown view master without base " + visInstanceView._cachedViewMaster.id ; | |
135 } | |
136 }, | |
137 | |
138 | |
139 verifyAllDataForVisInstanceBase: function(visInstanceView) {}, | |
140 generateDynamicDerivedVisInstanceDataForBase: function(visInstanceView) { | |
141 return new RepresentationModule.DynamicDerivedVisInstanceData(); | |
142 }, | |
143 | |
144 | |
145 // ----------------------------------------------------------------- | |
146 // dynamic derived vis instance data - overlay | |
147 | |
148 verifyAllDataForVisInstanceOverlay: function(visInstanceView) {}, | |
149 generateDynamicDerivedVisInstanceDataForOverlay: function(visInstanceView) { | |
150 if (visInstanceView._cachedViewMaster.generateDynamicDerivedVisInstanceDataForOverlay) { | |
151 return visInstanceView._cachedViewMaster.generateDynamicDerivedVisInstanceDataForOverlay(visInstanceView); | |
152 } else { | |
153 return new RepresentationModule.DynamicDerivedVisInstanceData(); | |
154 } | |
155 }, | |
156 | |
157 | |
158 // ----------------------------------------------------------------- | |
159 // dynamic derived vis instance data - temp | |
160 | |
161 verifyAllDataForVisInstanceTemp: function(visInstanceView) {}, | |
162 generateDynamicDerivedVisInstanceDataForTemp: function(visInstanceView) { | |
163 return new RepresentationModule.DynamicDerivedVisInstanceData(); | |
164 }, | |
165 }); | |
166 }); | |
167 }, Logger); |