PlotTabResultUI.js
3.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
/**
* Project : AMDA-NG
* Name : PlotTabResultUI.js
* @class amdaUI.PlotTabResultUI
* @extends Ext. panel.Panel
* @brief Plot Tab Result UI definition (View)
* @author
* @version $Id: PlotTabResultUI.js benjamin $
********************************************************************************
* FT Id : Date : Name - Description
*******************************************************************************
*
*/
Ext.define('amdaUI.PlotTabResultUI', {
extend: 'Ext.panel.Panel',
alias: 'widget.plotTabResult',
requires: [
'amdaUI.InteractiveIntervalPlugin'
],
isPortrait : false,
pageWidth : 0,
pageHeight : 0,
constructor: function(config) {
this.addEvents({'pagesize':true});
this.init(config);
this.callParent(arguments);
},
getImageSize : function() {
var size = {
width : this.pageWidth * this.sliderPage.getValue()/100.,
height : this.pageHeight * this.sliderPage.getValue()/100.
}
return size;
},
getImageUrl: function(resultFolder, plotFile) {
return 'data/'+sessionID +'/RES/'+resultFolder+ '/' + plotFile;
},
createPlotImage: function(resultFolder, plotFile, context) {
var size = this.getImageSize();
this.panelImage = Ext.create('Ext.Img', {
src : this.getImageUrl(resultFolder, plotFile),
width : size.width,
height : size.height,
refreshMe : function(){
var el;
if(el = this.el){
el.dom.src = this.src + '?dc=' + new Date().getTime();
}
},
listeners : {
render : function(){
this.refreshMe();
}
}
});
return this.panelImage;
},
updatePlotImage: function(configResult) {
this.isPortrait = configResult.context.page.portrait;
this.pageWidth = configResult.context.page.width;
this.pageHeight = configResult.context.page.height;
this.panelImage.setSrc(this.getImageUrl(configResult.folder, configResult.plotFile));
var size = this.getImageSize();
this.panelImage.setSize(size.width, size.height);
this.panelImage.refreshMe();
},
init: function(configResult){
this.isPortrait = configResult.context.page.portrait;
this.pageWidth = configResult.context.page.width;
this.pageHeight = configResult.context.page.height;
this.sliderPage = new Ext.slider.Single({
width: 130,
value: 75,
increment: 5,
minValue: 50,
maxValue: 100,
fieldLabel : 'Resize',
labelWidth : 40,
listeners: {
scope : this,
changecomplete: function(s, v)
{
//ToDo - this.resetMire();
var size = this.getImageSize();
this.panelImage.width = size.width;
this.panelImage.height = size.height;
this.panelImage.doComponentLayout();
this.fireEvent('pagesize',this,v);
}
}
});
var plotResultTabPanelConfig = {
preventHeader : true,
autoScroll: true,
items: [
this.createPlotImage(configResult.folder, configResult.plotFile, configResult.context)
]
};
Ext.apply(this , plotResultTabPanelConfig);
}
});