comparison core.js @ 835:84db2932ef02

Bug #1445: Should be fixed, entire popup is now dynamically scaled as needed.
author Nicholas Jillings <nicholas.jillings@eecs.qmul.ac.uk>
date Fri, 27 Nov 2015 15:35:18 +0000
parents 2647dd909229
children 1640c08ae2e8
comparison
equal deleted inserted replaced
834:2647dd909229 835:84db2932ef02
71 this.popup.style.top = (window.innerHeight/2)-125 + 'px'; 71 this.popup.style.top = (window.innerHeight/2)-125 + 'px';
72 72
73 this.popupContent = document.createElement('div'); 73 this.popupContent = document.createElement('div');
74 this.popupContent.id = 'popupContent'; 74 this.popupContent.id = 'popupContent';
75 this.popupContent.style.marginTop = '20px'; 75 this.popupContent.style.marginTop = '20px';
76 this.popupContent.align = 'center'; 76 this.popupContent.style.marginBottom = '5px';
77 this.popup.appendChild(this.popupContent); 77 this.popup.appendChild(this.popupContent);
78 78
79 var titleHolder = document.createElement('div'); 79 var titleHolder = document.createElement('div');
80 titleHolder.id = 'popupTitleHolder'; 80 titleHolder.id = 'popupTitleHolder';
81 titleHolder.align = 'center';
81 titleHolder.style.width = 'inherit'; 82 titleHolder.style.width = 'inherit';
82 titleHolder.style.height = '25px'; 83 titleHolder.style.minHeight = '25px';
84 titleHolder.style.maxHeight = '250px';
85 titleHolder.style.overflow = 'auto';
83 titleHolder.style.marginBottom = '5px'; 86 titleHolder.style.marginBottom = '5px';
84 87
85 this.popupTitle = document.createElement('span'); 88 this.popupTitle = document.createElement('span');
86 this.popupTitle.id = 'popupTitle'; 89 this.popupTitle.id = 'popupTitle';
87 titleHolder.appendChild(this.popupTitle); 90 titleHolder.appendChild(this.popupTitle);
88 this.popupContent.appendChild(titleHolder); 91 this.popupContent.appendChild(titleHolder);
89 92
90 this.popupResponse = document.createElement('div'); 93 this.popupResponse = document.createElement('div');
91 this.popupResponse.id = 'popupResponse'; 94 this.popupResponse.id = 'popupResponse';
95 this.popupResponse.align = 'center';
92 this.popupResponse.style.width = 'inherit'; 96 this.popupResponse.style.width = 'inherit';
93 this.popupResponse.style.minHeight = '170px'; 97 this.popupResponse.style.minHeight = '50px';
94 this.popupResponse.style.maxHeight = '320px'; 98 this.popupResponse.style.maxHeight = '320px';
95 this.popupResponse.style.overflow = 'auto'; 99 this.popupResponse.style.overflow = 'auto';
96 this.popupContent.appendChild(this.popupResponse); 100 this.popupContent.appendChild(this.popupResponse);
97 101
98 var buttonHolder = document.createElement('div');
99 buttonHolder.id='buttonHolder';
100 buttonHolder.width = 'inherit';
101 buttonHolder.style.height= '30px';
102 buttonHolder.align = 'left';
103 this.popupContent.appendChild(buttonHolder);
104
105 this.buttonProceed = document.createElement('button'); 102 this.buttonProceed = document.createElement('button');
106 this.buttonProceed.className = 'popupButton'; 103 this.buttonProceed.className = 'popupButton';
104 this.buttonProceed.position = 'relative';
107 this.buttonProceed.style.left = '390px'; 105 this.buttonProceed.style.left = '390px';
108 this.buttonProceed.style.top = '2px';
109 this.buttonProceed.innerHTML = 'Next'; 106 this.buttonProceed.innerHTML = 'Next';
110 this.buttonProceed.onclick = function(){popup.proceedClicked();}; 107 this.buttonProceed.onclick = function(){popup.proceedClicked();};
111 108
112 this.buttonPrevious = document.createElement('button'); 109 this.buttonPrevious = document.createElement('button');
113 this.buttonPrevious.className = 'popupButton'; 110 this.buttonPrevious.className = 'popupButton';
111 this.buttonPrevious.position = 'relative';
114 this.buttonPrevious.style.left = '10px'; 112 this.buttonPrevious.style.left = '10px';
115 this.buttonPrevious.style.top = '2px';
116 this.buttonPrevious.innerHTML = 'Back'; 113 this.buttonPrevious.innerHTML = 'Back';
117 this.buttonPrevious.onclick = function(){popup.previousClick();}; 114 this.buttonPrevious.onclick = function(){popup.previousClick();};
118 115
119 buttonHolder.appendChild(this.buttonPrevious); 116 this.popupContent.appendChild(this.buttonPrevious);
120 buttonHolder.appendChild(this.buttonProceed); 117 this.popupContent.appendChild(this.buttonProceed);
121 118
122 this.popup.style.zIndex = -1; 119 this.popup.style.zIndex = -1;
123 this.popup.style.visibility = 'hidden'; 120 this.popup.style.visibility = 'hidden';
124 blank.style.zIndex = -2; 121 blank.style.zIndex = -2;
125 blank.style.visibility = 'hidden'; 122 blank.style.visibility = 'hidden';
228 if (node.min != null) {input.min = node.min;} 225 if (node.min != null) {input.min = node.min;}
229 if (node.max != null) {input.max = node.max;} 226 if (node.max != null) {input.max = node.max;}
230 if (node.step != null) {input.step = node.step;} 227 if (node.step != null) {input.step = node.step;}
231 this.popupResponse.appendChild(input); 228 this.popupResponse.appendChild(input);
232 } 229 }
230 var content_height = Number(this.popup.offsetHeight.toFixed());
231 content_height -= Number(this.popupContent.offsetHeight.toFixed());
232 content_height -=Number(this.buttonProceed.offsetHeight.toFixed());
233 content_height = content_height + "px";
234 this.buttonProceed.style.top = content_height;
235 this.buttonPrevious.style.top = content_height;
233 if(this.currentIndex+1 == this.popupOptions.length) { 236 if(this.currentIndex+1 == this.popupOptions.length) {
234 if (this.responses.nodeName == "PRETEST") { 237 if (this.responses.nodeName == "PRETEST") {
235 this.buttonProceed.textContent = 'Start'; 238 this.buttonProceed.textContent = 'Start';
236 } else { 239 } else {
237 this.buttonProceed.textContent = 'Submit'; 240 this.buttonProceed.textContent = 'Submit';