Commit 9162d1699546b1338c89c5c4194f95eaf2fddc2a

Authored by Benjamin Renard
1 parent 21baafbc

Add symbolic link to color map definition into spectro form

js/app/views/PlotComponents/PlotColorAxisForm.js
... ... @@ -15,68 +15,11 @@ Ext.define('amdaPlotComp.PlotColorAxisForm', {
15 15 showTickGridOptions : false,
16 16  
17 17 getFormItems: function() {
18   - var data = [];
19   - amdaPlotObj.PlotObjectConfig.availableColorMaps.forEach(function(color){
20   - data.push({key:color.key,name:color.value, iconUrl:'generic_data/colormaps/'+ color.svgFile})
21   - });
22   -
23   - var combo = new Ext.form.ComboBox({
24   - name: 'axis-color-map',
25   - fieldLabel: 'Colour Map&nbsp;<img amda_clicktip="colourMaps" style="vertical-align:bottom" src="js/resources/images/16x16/info_mini.png"',
26   - store: new Ext.data.Store({
27   - fields: ['key','name', 'iconUrl'],
28   - data: data
29   - }),
30   - displayField: 'name',
31   - valueField: 'key',
32   - tpl: '<tpl for="."><div class="x-boundlist-item"><span data-qtip="{name}"> \
33   - <img src="{iconUrl}" class="svg-icon" style="height: 26px;"> \
34   - </span>\
35   - </div></tpl>',
36   - editable: false,
37   - queryMode: 'local',
38   - listeners: {
39   - change: function (combo, newValue, oldValue, eOpts) {
40   - var iconUrl="";
41   - var colorName = "";
42   - data.forEach(function(colorData){
43   - if(colorData.key == newValue ){
44   - iconUrl= colorData.iconUrl;
45   - colorName = colorData.name;
46   - }
47   - });
48   - combo.inputEl.setStyle('background-image', 'url(' + iconUrl + ')');
49   - combo.inputEl.setStyle('background-size', '100%');
50   - combo.inputEl.setStyle('background-repeat', 'no-repeat');
51   - combo.inputEl.setStyle('background-position', 'center');
52   - combo.inputEl.setStyle('font-size', '0');
53   -
54   - combo.inputEl.set({ "data-qtip": Ext.String.htmlDecode(colorName) });
55   -
56   - this.object.set('axis-color-map', newValue);
57   - },
58   - click: {
59   - element: 'el',
60   - fn: function(e,t) {
61   - var me = t,
62   - text = me.getAttribute('amda_clicktip');
63   - if (text) {
64   - e.preventDefault();
65   - AmdaAction.getInfo({name : text}, function(res,e) {
66   - if (res.success) myDesktopApp.infoMsg(res.result);
67   - });
68   - }
69   - }
70   - },
71   - scope:this
72   - },
73   - });
74   -
75   -
76 18  
77   - var timeItems = [combo,
78   - this.addColorsPicker('axis-color-minval', 'Min. Val. Color', amdaPlotObj.PlotObjectConfig.availableColorsNew, 'none'),
79   - this.addColorsPicker('axis-color-maxval', 'Max. Val. Color', amdaPlotObj.PlotObjectConfig.availableColorsNew, 'none')
  19 + var timeItems = [
  20 + this.addColorMapCombo('axis-color-map'),
  21 + this.addColorsPicker('axis-color-minval', 'Min. Val. Color', amdaPlotObj.PlotObjectConfig.availableColorsNew, 'none'),
  22 + this.addColorsPicker('axis-color-maxval', 'Max. Val. Color', amdaPlotObj.PlotObjectConfig.availableColorsNew, 'none')
80 23 ];
81 24  
82 25 return Ext.Array.merge(timeItems, this.callParent());
... ...
js/app/views/PlotComponents/PlotSpectroForm.js
... ... @@ -21,6 +21,16 @@ Ext.define(&#39;amdaPlotComp.PlotSpectroForm&#39;, {
21 21 this.loadRecord(this.object);
22 22 },
23 23  
  24 + setParentObject: function (parentObject) {
  25 + this.callParent(arguments);
  26 + this.updateColorMap();
  27 + },
  28 +
  29 + updateColorMap: function() {
  30 + var colorAxisObj = this.parentObject.axes().getById('color');
  31 + this.getForm().findField('spectro-color-map').setValue(colorAxisObj.get('axis-color-map'));
  32 + },
  33 +
24 34 getValuesRangeItems: function () {
25 35 return [
26 36 this.addStandardFloat2('spectro-value-min', 'Min value', -Number.MAX_VALUE, Number.MAX_VALUE, true),
... ... @@ -267,6 +277,9 @@ Ext.define(&#39;amdaPlotComp.PlotSpectroForm&#39;, {
267 277 });
268 278  
269 279 return [
  280 + this.addColorMapCombo('spectro-color-map', function(name, newValue, oldValue){
  281 + ref.parentObject.axes().getById('color').set('axis-color-map', newValue);
  282 + }),
270 283 this.addStandardCombo('spectro-resolution', 'Points per plot', amdaPlotObj.PlotObjectConfig.availableResolutions, function (name, value, oldValue) {
271 284 ref.object.set('spectro-resolution', value);
272 285 }),
... ...
js/app/views/PlotComponents/PlotStandardForm.js
... ... @@ -435,6 +435,69 @@ Ext.define(&#39;amdaPlotComp.PlotStandardForm&#39;, {
435 435 }});
436 436 },
437 437  
  438 + addColorMapCombo: function (name, onChange) {
  439 + var data = [];
  440 + amdaPlotObj.PlotObjectConfig.availableColorMaps.forEach(function(color){
  441 + data.push({key:color.key,name:color.value, iconUrl:'generic_data/colormaps/'+ color.svgFile})
  442 + });
  443 +
  444 + var combo = new Ext.form.ComboBox({
  445 + name: name,
  446 + fieldLabel: 'Colour Map&nbsp;<img amda_clicktip="colourMaps" style="vertical-align:bottom" src="js/resources/images/16x16/info_mini.png"',
  447 + store: new Ext.data.Store({
  448 + fields: ['key','name', 'iconUrl'],
  449 + data: data
  450 + }),
  451 + displayField: 'name',
  452 + valueField: 'key',
  453 + tpl: '<tpl for="."><div class="x-boundlist-item"><span data-qtip="{name}"> \
  454 + <img src="{iconUrl}" class="svg-icon" style="height: 26px;"> \
  455 + </span>\
  456 + </div></tpl>',
  457 + editable: false,
  458 + queryMode: 'local',
  459 + listeners: {
  460 + change: function (combo, newValue, oldValue, eOpts) {
  461 + var iconUrl="";
  462 + var colorName = "";
  463 + data.forEach(function(colorData){
  464 + if(colorData.key == newValue ){
  465 + iconUrl= colorData.iconUrl;
  466 + colorName = colorData.name;
  467 + }
  468 + });
  469 + combo.inputEl.setStyle('background-image', 'url(' + iconUrl + ')');
  470 + combo.inputEl.setStyle('background-size', '100%');
  471 + combo.inputEl.setStyle('background-repeat', 'no-repeat');
  472 + combo.inputEl.setStyle('background-position', 'center');
  473 + combo.inputEl.setStyle('font-size', '0');
  474 +
  475 + combo.inputEl.set({ "data-qtip": Ext.String.htmlDecode(colorName) });
  476 +
  477 + this.object.set(name, newValue);
  478 + if (onChange != null)
  479 + onChange(name, newValue, oldValue);
  480 + },
  481 + click: {
  482 + element: 'el',
  483 + fn: function(e,t) {
  484 + var me = t,
  485 + text = me.getAttribute('amda_clicktip');
  486 + if (text) {
  487 + e.preventDefault();
  488 + AmdaAction.getInfo({name : text}, function(res,e) {
  489 + if (res.success) myDesktopApp.infoMsg(res.result);
  490 + });
  491 + }
  492 + }
  493 + },
  494 + scope:this
  495 + },
  496 + });
  497 +
  498 + return combo;
  499 + },
  500 +
438 501 init: function (config) {
439 502 var me = this;
440 503  
... ...