profoundjs 7.4.0 → 7.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/LICENSE.txt +27 -25
  2. package/htdocs/jszip/FileSaver.min.js +2 -2
  3. package/htdocs/profoundui/proddata/css/atrium.css +201 -201
  4. package/htdocs/profoundui/proddata/css/designer_respeditor.css +91 -91
  5. package/htdocs/profoundui/proddata/css/ipademulator.css +38 -38
  6. package/htdocs/profoundui/proddata/css/iphoneemulator.css +29 -29
  7. package/htdocs/profoundui/proddata/css/jumpstart.css +442 -442
  8. package/htdocs/profoundui/proddata/css/key_management.css +122 -122
  9. package/htdocs/profoundui/proddata/css/logic.css +1669 -1665
  10. package/htdocs/profoundui/proddata/css/markdown.css +754 -754
  11. package/htdocs/profoundui/proddata/css/profoundai.css +42 -0
  12. package/htdocs/profoundui/proddata/css/puisplash.css +186 -186
  13. package/htdocs/profoundui/proddata/css/qtips.css +32 -32
  14. package/htdocs/profoundui/proddata/html/genieframe.html +25 -25
  15. package/htdocs/profoundui/proddata/js/designer.js +4022 -4002
  16. package/htdocs/profoundui/proddata/js/key_management.js +34 -34
  17. package/htdocs/profoundui/proddata/js/profoundai.js +26 -0
  18. package/htdocs/profoundui/proddata/js/rich-display-react-component.js +45 -45
  19. package/htdocs/profoundui/proddata/js/rich-display-vue-component.js +28 -28
  20. package/htdocs/profoundui/proddata/js/runtime.js +1373 -1369
  21. package/htdocs/profoundui/proddata/js/soapclient.js +419 -419
  22. package/htdocs/profoundui/proddata/typings/profoundjs.d.ts +881 -881
  23. package/htdocs/profoundui/proddata/typings/profoundui.d.ts +388 -388
  24. package/htdocs/profoundui/userdata/atrium themes/css/xtheme-gray.css +414 -414
  25. package/htdocs/profoundui/userdata/atrium themes/css/xtheme-olive.css +623 -623
  26. package/htdocs/profoundui/userdata/atrium themes/css/xtheme-slate.css +672 -672
  27. package/htdocs/profoundui/userdata/atrium themes/css/xtheme-steel.css +10437 -10437
  28. package/htdocs/profoundui/userdata/css/atrium_banner.css +13 -13
  29. package/htdocs/profoundui/userdata/css/atrium_home.css +37 -37
  30. package/htdocs/profoundui/userdata/custom/themes/enhanced.js +104 -104
  31. package/htdocs/profoundui/userdata/custom/themes/hybrid.js +109 -109
  32. package/htdocs/profoundui/userdata/custom/themes/standard.js +68 -68
  33. package/htdocs/profoundui/userdata/custom/widgets/googlemaps.js +139 -139
  34. package/htdocs/profoundui/userdata/custom/widgets/listbox.js +37 -37
  35. package/htdocs/profoundui/userdata/custom/widgets/panel.js +74 -74
  36. package/htdocs/profoundui/userdata/custom/widgets/styled_button.js +71 -71
  37. package/htdocs/profoundui/userdata/custom/widgets/tabpanel.js +61 -61
  38. package/htdocs/profoundui/userdata/genie skins/Classic/Classic.css +562 -562
  39. package/htdocs/profoundui/userdata/genie skins/Classic/custom.js +3 -3
  40. package/htdocs/profoundui/userdata/genie skins/Gradient/Gradient.css +616 -616
  41. package/htdocs/profoundui/userdata/genie skins/Gradient/adjusted columns custom.js +83 -83
  42. package/htdocs/profoundui/userdata/genie skins/Gradient/custom.js +83 -83
  43. package/htdocs/profoundui/userdata/genie skins/Hybrid/Hybrid.css +616 -616
  44. package/htdocs/profoundui/userdata/genie skins/Hybrid/custom.js +330 -330
  45. package/htdocs/profoundui/userdata/genie skins/Plain/Plain.css +546 -546
  46. package/htdocs/profoundui/userdata/genie skins/Plain/custom.js +6 -6
  47. package/htdocs/profoundui/userdata/genie skins/Skyline/Skyline.css +753 -753
  48. package/htdocs/profoundui/userdata/genie skins/Skyline/adjusted columns custom.js +97 -97
  49. package/htdocs/profoundui/userdata/genie skins/Skyline/custom.js +97 -97
  50. package/htdocs/profoundui/userdata/genie skins/Tablet/Tablet.css +743 -743
  51. package/htdocs/profoundui/userdata/genie skins/Tablet/custom.js +153 -153
  52. package/htdocs/profoundui/userdata/samples/ordentry/OrdEntry.js +92 -92
  53. package/package.json +3 -2
  54. package/profound.jse +1 -1
  55. package/setup/pjsdist.savf +0 -0
@@ -1,330 +1,330 @@
1
- var hybridSkin = {};
2
-
3
- function customize() {
4
-
5
- // Customize Sign-On Screen
6
- if (detectScreen('D_1_23',' Sign On',
7
- 'D_2_48','System . . . . . :',
8
- 'D_3_48','Subsystem . . . . :',
9
- 'D_4_48','Display . . . . . :')) {
10
- hideElements('D_1_23', 'D_2_48', 'D_3_48', 'D_4_48', 'D_2_70', 'D_3_70', 'D_4_70', 'I_11_53', 'I_12_53', 'D_11_17', 'D_12_17',
11
- 'D_8_17', 'D_9_17', 'D_10_17', 'I_8_53', 'I_9_53', 'I_10_53', 'D_24_40');
12
- changeElementValue('D_6_17', '    User:');
13
- changeElementClass('D_6_17', 'BigText');
14
- changeElementValue('D_7_17', 'Password:');
15
- changeElementClass('D_7_17', 'BigText');
16
- setDOMAttribute("D_7_17", "transparent", true);
17
- setDOMAttribute("D_6_17", "transparent", true);
18
- moveElement('D_6_17', 8.9, 15);
19
- moveElement('D_7_17', 10.9, 15);
20
- moveElement('I_6_53', 8.9, 49);
21
- moveElement('I_7_53', 10.9, 49);
22
- if (getObj('I_6_53') != null) getObj('I_6_53').style.width = "90px";
23
- if (getObj('I_7_53') != null) getObj('I_7_53').style.width = "90px";
24
- var loginButton = newElement(12.7, 49, 'button', 'Login', 'login_button');
25
- loginButton.onclick = function() { pressKey('Enter') };
26
- moveElement('quit_button', 12.7, 57);
27
- changeElementValue('quit_button', 'Exit');
28
- var backdrop = newElement(5, 15, "img", "/profoundui/proddata/images/login.gif", "backdrop_image");
29
- backdrop.style.zIndex = 5;
30
-
31
- // Format signon differently when using 128 char passwords:
32
- if (getObj("I_7_53")!=null
33
- && getObj("I_8_1")!=null
34
- && getObj("I_9_1")!=null) {
35
- var pwlength = 0;
36
- pwlength = getObj("I_7_53").fieldInfo.size;
37
- pwlength += getObj("I_8_1").fieldInfo.size;
38
- pwlength += getObj("I_9_1").fieldInfo.size;
39
- if (pwlength == 128) {
40
- moveElement("D_6_17", 6.9, 15);
41
- moveElement("D_7_17", 8.9, 15);
42
- moveElement('I_6_53', 6.9, 49);
43
- moveElement('I_7_53', 8.9, 49);
44
- moveElement('I_8_1', 10, 49);
45
- moveElement('I_9_1', 11.1, 49);
46
- getObj("I_7_53").style.width = "150px";
47
- getObj("I_8_1").style.width = "150px";
48
- getObj("I_9_1").style.width = "150px";
49
- }
50
- }
51
-
52
- var msg = get('D_24_1');
53
- if (msg!='' && pui.genie.alertMsg=='') {
54
- pui.genie.alertMsg = msg;
55
- if (pui.genie.alertMsg.substr(0,3) == 'CPF') pui.genie.alertMsg = pui.genie.alertMsg.substr(8);
56
- if (pui.genie.alertMsg.substr(0,1) == '-') pui.genie.alertMsg = pui.genie.alertMsg.substr(1);
57
- }
58
- hideElement('D_24_1');
59
- hybridSkin.signon = true;
60
- }
61
- else {
62
- hybridSkin.signon = false;
63
- }
64
- pui["loading animation"]["css"] = 'pui-hybrid-animation';
65
- if (pui.genie.afterInit == null) {
66
- pui.genie.afterInit = function() {
67
-
68
- if (pui.genie.displaySize == 132) hybridSkin.screenWidth = 1100;
69
- else hybridSkin.screenWidth = 775;
70
-
71
- hybridSkin.displayLogo();
72
- hybridSkin.displayUser();
73
- hybridSkin.removeHeader();
74
- hybridSkin.createHeader();
75
- hybridSkin.createSideMenu();
76
- }
77
- }
78
- }
79
-
80
-
81
- function afterLoad() {
82
- if (hybridSkin.signon) document.body.className = "hybrid-signon";
83
- else document.body.className = "hybrid";
84
-
85
- pui["vertical button spacing"] = 24;
86
-
87
- hybridSkin.resizeArea();
88
- window.onresize = function() {
89
- hybridSkin.resizeArea();
90
- }
91
-
92
-
93
- }
94
-
95
-
96
- hybridSkin.removeHeader = function() {
97
- if (hybridSkin.heading1 != null && hybridSkin.heading1.parentNode != null) {
98
- hybridSkin.heading1.parentNode.removeChild(hybridSkin.heading1);
99
- }
100
- if (hybridSkin.heading2 != null && hybridSkin.heading2.parentNode != null) {
101
- hybridSkin.heading2.parentNode.removeChild(hybridSkin.heading2);
102
- }
103
- }
104
-
105
-
106
- hybridSkin.fixLinks = function() {
107
-
108
- if (pui.genie.middleDiv != null) {
109
- links = pui.genie.middleDiv.getElementsByTagName("A");
110
- var count = 0;
111
- for (var i = 0; i < links.length; i++) {
112
- var link = links[i];
113
- var div = link.parentNode;
114
- if (div.className == "hybrid-link" && div.style.visibility != "hidden" && div.style.display != "none") {
115
- count++;
116
- var arrow = newElement("div", "", "arrow" + i + "_" + div.id);
117
- arrow.className = "fkey-arrow";
118
- arrow.innerHTML = "&gt;";
119
- arrow.style.left = (parseInt(div.style.left) - 12) + "px";
120
- arrow.style.top = (parseInt(div.style.top) - 2) + "px";
121
- }
122
- }
123
- }
124
-
125
- var panel = getObj("ActionsPanel");
126
- if (panel != null) {
127
- var height = count * 30 + 100;
128
- if (height < 450) height = 450;
129
- panel.style.height = height + "px";
130
- }
131
- }
132
-
133
-
134
- hybridSkin.resizeArea = function() {
135
- if (pui.genie.middleDiv != null) {
136
- var div5250 = getObj("5250");
137
- if (div5250 != null && div5250.style.width != "100%") {
138
- var windowWidth = pui.getWindowSize().width;
139
- if (pui.genie.displaySize == 132) {
140
- pui.genie.middleDiv.style.height = "640px";
141
- div5250.style.position = "absolute";
142
- var position = (windowWidth - 950) / 2;
143
- if (position < 180) position = 180;
144
- div5250.style.left = position + "px";
145
- }
146
- else {
147
- pui.genie.middleDiv.style.height = "560px";
148
- div5250.style.position = "absolute";
149
- var position = (windowWidth - 620) / 2;
150
- if (position < 180) position = 180;
151
- div5250.style.left = position + "px";
152
- }
153
- }
154
- }
155
- }
156
-
157
-
158
- hybridSkin.displayLogo = function(dspf) {
159
- var logo = "logo.png";
160
- var logoElement = newElement("img", "/profoundui/userdata/genie skins/Hybrid/" + logo);
161
- logoElement.style.top = "-72px";
162
- if (dspf) logoElement.style.left = "5px";
163
- else logoElement.style.left = "-170px";
164
- }
165
-
166
-
167
- hybridSkin.displayUser = function(dspf) {
168
- var user = pui["appJob"]["user"];
169
- if (user == null) user = "";
170
- if (user != "") user = "User:&nbsp;" + user;
171
- var userElement = newElement("div", user);
172
- userElement.style.top = "-62px";
173
- var left = hybridSkin.screenWidth;
174
- if (dspf) left = parseInt(pui.genie.middleDiv.style.width);
175
- left = left - 150;
176
- userElement.style.left = left + "px";
177
- userElement.style.fontWeight = "bold";
178
- userElement.style.fontFamily = "sans-serif";
179
- userElement.style.color = "#ffffff";
180
- }
181
-
182
-
183
- hybridSkin.createHeader = function() {
184
-
185
- hybridSkin.headingRows = 3;
186
- if (!hybridSkin.signon) {
187
- hybridSkin.heading1 = document.createElement("div");
188
- hybridSkin.heading1.id = "hybrid-heading1";
189
- hybridSkin.heading1.className = "hybrid-heading1";
190
- getObj("5250").parentNode.parentNode.appendChild(hybridSkin.heading1);
191
- }
192
- hybridSkin.heading2 = document.createElement("div");
193
- hybridSkin.heading2.id = "hybrid-heading2";
194
- getObj("5250").parentNode.parentNode.appendChild(hybridSkin.heading2);
195
-
196
- pui["loading animation"]["left"] = -165;
197
-
198
- var height = 67;
199
- // if (some condition should trigger 2 rows vs. 3) {
200
- height = height - pui.multY;
201
- hybridSkin.headingRows -= 1;
202
- // }
203
- hybridSkin.heading2.style.height = height + "px";
204
- hybridSkin.heading2.className = "hybrid-heading2";
205
-
206
- var divs = document.getElementById("5250").getElementsByTagName("div");
207
- for (var i = 0; i < divs.length; i++) {
208
- var div = divs[i];
209
- var id = div.id;
210
- if (id.substr(0,4) == "D_1_" || id.substr(0,4) == "D_2_") {
211
- if (id.indexOf("_W") == -1) {
212
- div.style.color = "white";
213
- if (id.substr(0,4) == "D_1_") {
214
- div.style.fontFamily = "sans-serif";
215
- div.style.fontSize = "15px";
216
- }
217
- }
218
- }
219
- }
220
- }
221
-
222
-
223
- hybridSkin.createSideMenu = function() {
224
- var inputs = document.getElementById("5250").getElementsByTagName("input");
225
- var buttons = [];
226
- var dups = {};
227
- var gotEnter = false;
228
- for (var i = 0; i < inputs.length; i++) {
229
- var input = inputs[i];
230
- if (input.type != "button" || input.fkey == null) continue;
231
- // don't add a nondisplay button to the side menu
232
- if (input.className.indexOf("hide") >= 0) continue;
233
- // don't add buttons in window formats to side menu, but do
234
- // do style them as 'hybrid-button'
235
- if (input.id.indexOf("W") != -1) {
236
- changeElementClass(input.id, "hybrid-button");
237
- continue;
238
- }
239
- // don't add buttons created for PSHBTNFLD/PSHBTNCHC keywords.
240
- if (input.id.indexOf("S_") === 0) {
241
- continue;
242
- }
243
-
244
- input.style.visibility = "hidden";
245
- if (dups[input.value] == true) continue;
246
- buttons.push({
247
- fkey: input.fkey,
248
- text: input.value
249
- });
250
- dups[input.value] = true;
251
- if (input.fkey.toLowerCase() == "enter") gotEnter = true;
252
- }
253
-
254
- if (buttons.length > 0) {
255
- // sort buttons
256
- buttons.sort(function(a, b) {
257
- if (a.fkey < b.fkey) return -1;
258
- else if (a.fkey == b.fkey) return 0;
259
- else return 1;
260
- });
261
- if (!gotEnter) {
262
- buttons.splice(0, 0, {
263
- fkey: "Enter",
264
- text: "Continue"
265
- });
266
- }
267
-
268
- // create panel
269
- var panel = newElement("div", "", "side");
270
- var panelTop = 75;
271
- if (hybridSkin.headingRows == 2) panelTop -= pui.multY;
272
- panel.style.top = panelTop + "px";
273
- panel.style.left = "-175px";
274
- panel.style.width = "165px";
275
- var height = buttons.length * 30 + 100;
276
- if (height < 450) height = 450;
277
- panel.style.height = height + "px";
278
-
279
- panel.className = "hybrid-actions";
280
-
281
- var top = 90;
282
- if (hybridSkin.headingRows == 2) top -= pui.multY;
283
- for (var i = 0; i < buttons.length; i++) {
284
- var arrow = newElement("div", "", "arrow" + i);
285
- arrow.className = "fkey-arrow";
286
- arrow.innerHTML = "&gt;";
287
- arrow.style.left = "-162px";
288
-
289
- var fkeyLink = newElement("div", "", "fkey" + i);
290
- fkeyLink.className = "fkey-link";
291
- fkeyLink.innerHTML = buttons[i].text;
292
- fkeyLink.style.left = "-150px";
293
- fkeyLink.style.width = "140px";
294
- fkeyLink.style.whiteSpace = "normal";
295
- fkeyLink.fkey = buttons[i].fkey;
296
- fkeyLink.onclick = function(e) {
297
- var target = getTarget(e);
298
- if (target.fkey == null) target = target.parentNode;
299
- var fkey = target.fkey;
300
- pressKey(fkey);
301
- }
302
-
303
- if (i > 0) {
304
- top = (prevLink.offsetTop + prevLink.offsetHeight + 7);
305
- }
306
- arrow.style.top = (top-2) + "px";
307
- fkeyLink.style.top = top + "px";
308
-
309
- var prevLink = fkeyLink;
310
- }
311
- }
312
-
313
- }
314
-
315
- pui.onload = function() {
316
- pui["loading animation"]["left"] = 10;
317
- pui["loading animation"]["css"] = 'pui-animation';
318
- window.onresize = function() { };
319
- setTimeout(function() {
320
- var headingPanel = getObj("HeadingPanel");
321
- if (headingPanel != null) headingPanel.parentNode.removeChild(headingPanel);
322
- headingPanel = getObj("HeadingPanel");
323
- if (headingPanel != null) headingPanel.parentNode.removeChild(headingPanel);
324
- hybridSkin.fixLinks();
325
- hybridSkin.removeHeader();
326
- hybridSkin.createHeader();
327
- hybridSkin.displayLogo(true);
328
- hybridSkin.displayUser(true);
329
- }, 0);
330
- }
1
+ var hybridSkin = {};
2
+
3
+ function customize() {
4
+
5
+ // Customize Sign-On Screen
6
+ if (detectScreen('D_1_23',' Sign On',
7
+ 'D_2_48','System . . . . . :',
8
+ 'D_3_48','Subsystem . . . . :',
9
+ 'D_4_48','Display . . . . . :')) {
10
+ hideElements('D_1_23', 'D_2_48', 'D_3_48', 'D_4_48', 'D_2_70', 'D_3_70', 'D_4_70', 'I_11_53', 'I_12_53', 'D_11_17', 'D_12_17',
11
+ 'D_8_17', 'D_9_17', 'D_10_17', 'I_8_53', 'I_9_53', 'I_10_53', 'D_24_40');
12
+ changeElementValue('D_6_17', '&nbsp;&nbsp;&nbsp;&nbsp;User:');
13
+ changeElementClass('D_6_17', 'BigText');
14
+ changeElementValue('D_7_17', 'Password:');
15
+ changeElementClass('D_7_17', 'BigText');
16
+ setDOMAttribute("D_7_17", "transparent", true);
17
+ setDOMAttribute("D_6_17", "transparent", true);
18
+ moveElement('D_6_17', 8.9, 15);
19
+ moveElement('D_7_17', 10.9, 15);
20
+ moveElement('I_6_53', 8.9, 49);
21
+ moveElement('I_7_53', 10.9, 49);
22
+ if (getObj('I_6_53') != null) getObj('I_6_53').style.width = "90px";
23
+ if (getObj('I_7_53') != null) getObj('I_7_53').style.width = "90px";
24
+ var loginButton = newElement(12.7, 49, 'button', 'Login', 'login_button');
25
+ loginButton.onclick = function() { pressKey('Enter') };
26
+ moveElement('quit_button', 12.7, 57);
27
+ changeElementValue('quit_button', 'Exit');
28
+ var backdrop = newElement(5, 15, "img", "/profoundui/proddata/images/login.gif", "backdrop_image");
29
+ backdrop.style.zIndex = 5;
30
+
31
+ // Format signon differently when using 128 char passwords:
32
+ if (getObj("I_7_53")!=null
33
+ && getObj("I_8_1")!=null
34
+ && getObj("I_9_1")!=null) {
35
+ var pwlength = 0;
36
+ pwlength = getObj("I_7_53").fieldInfo.size;
37
+ pwlength += getObj("I_8_1").fieldInfo.size;
38
+ pwlength += getObj("I_9_1").fieldInfo.size;
39
+ if (pwlength == 128) {
40
+ moveElement("D_6_17", 6.9, 15);
41
+ moveElement("D_7_17", 8.9, 15);
42
+ moveElement('I_6_53', 6.9, 49);
43
+ moveElement('I_7_53', 8.9, 49);
44
+ moveElement('I_8_1', 10, 49);
45
+ moveElement('I_9_1', 11.1, 49);
46
+ getObj("I_7_53").style.width = "150px";
47
+ getObj("I_8_1").style.width = "150px";
48
+ getObj("I_9_1").style.width = "150px";
49
+ }
50
+ }
51
+
52
+ var msg = get('D_24_1');
53
+ if (msg!='' && pui.genie.alertMsg=='') {
54
+ pui.genie.alertMsg = msg;
55
+ if (pui.genie.alertMsg.substr(0,3) == 'CPF') pui.genie.alertMsg = pui.genie.alertMsg.substr(8);
56
+ if (pui.genie.alertMsg.substr(0,1) == '-') pui.genie.alertMsg = pui.genie.alertMsg.substr(1);
57
+ }
58
+ hideElement('D_24_1');
59
+ hybridSkin.signon = true;
60
+ }
61
+ else {
62
+ hybridSkin.signon = false;
63
+ }
64
+ pui["loading animation"]["css"] = 'pui-hybrid-animation';
65
+ if (pui.genie.afterInit == null) {
66
+ pui.genie.afterInit = function() {
67
+
68
+ if (pui.genie.displaySize == 132) hybridSkin.screenWidth = 1100;
69
+ else hybridSkin.screenWidth = 775;
70
+
71
+ hybridSkin.displayLogo();
72
+ hybridSkin.displayUser();
73
+ hybridSkin.removeHeader();
74
+ hybridSkin.createHeader();
75
+ hybridSkin.createSideMenu();
76
+ }
77
+ }
78
+ }
79
+
80
+
81
+ function afterLoad() {
82
+ if (hybridSkin.signon) document.body.className = "hybrid-signon";
83
+ else document.body.className = "hybrid";
84
+
85
+ pui["vertical button spacing"] = 24;
86
+
87
+ hybridSkin.resizeArea();
88
+ window.onresize = function() {
89
+ hybridSkin.resizeArea();
90
+ }
91
+
92
+
93
+ }
94
+
95
+
96
+ hybridSkin.removeHeader = function() {
97
+ if (hybridSkin.heading1 != null && hybridSkin.heading1.parentNode != null) {
98
+ hybridSkin.heading1.parentNode.removeChild(hybridSkin.heading1);
99
+ }
100
+ if (hybridSkin.heading2 != null && hybridSkin.heading2.parentNode != null) {
101
+ hybridSkin.heading2.parentNode.removeChild(hybridSkin.heading2);
102
+ }
103
+ }
104
+
105
+
106
+ hybridSkin.fixLinks = function() {
107
+
108
+ if (pui.genie.middleDiv != null) {
109
+ links = pui.genie.middleDiv.getElementsByTagName("A");
110
+ var count = 0;
111
+ for (var i = 0; i < links.length; i++) {
112
+ var link = links[i];
113
+ var div = link.parentNode;
114
+ if (div.className == "hybrid-link" && div.style.visibility != "hidden" && div.style.display != "none") {
115
+ count++;
116
+ var arrow = newElement("div", "", "arrow" + i + "_" + div.id);
117
+ arrow.className = "fkey-arrow";
118
+ arrow.innerHTML = "&gt;";
119
+ arrow.style.left = (parseInt(div.style.left) - 12) + "px";
120
+ arrow.style.top = (parseInt(div.style.top) - 2) + "px";
121
+ }
122
+ }
123
+ }
124
+
125
+ var panel = getObj("ActionsPanel");
126
+ if (panel != null) {
127
+ var height = count * 30 + 100;
128
+ if (height < 450) height = 450;
129
+ panel.style.height = height + "px";
130
+ }
131
+ }
132
+
133
+
134
+ hybridSkin.resizeArea = function() {
135
+ if (pui.genie.middleDiv != null) {
136
+ var div5250 = getObj("5250");
137
+ if (div5250 != null && div5250.style.width != "100%") {
138
+ var windowWidth = pui.getWindowSize().width;
139
+ if (pui.genie.displaySize == 132) {
140
+ pui.genie.middleDiv.style.height = "640px";
141
+ div5250.style.position = "absolute";
142
+ var position = (windowWidth - 950) / 2;
143
+ if (position < 180) position = 180;
144
+ div5250.style.left = position + "px";
145
+ }
146
+ else {
147
+ pui.genie.middleDiv.style.height = "560px";
148
+ div5250.style.position = "absolute";
149
+ var position = (windowWidth - 620) / 2;
150
+ if (position < 180) position = 180;
151
+ div5250.style.left = position + "px";
152
+ }
153
+ }
154
+ }
155
+ }
156
+
157
+
158
+ hybridSkin.displayLogo = function(dspf) {
159
+ var logo = "logo.png";
160
+ var logoElement = newElement("img", "/profoundui/userdata/genie skins/Hybrid/" + logo);
161
+ logoElement.style.top = "-72px";
162
+ if (dspf) logoElement.style.left = "5px";
163
+ else logoElement.style.left = "-170px";
164
+ }
165
+
166
+
167
+ hybridSkin.displayUser = function(dspf) {
168
+ var user = pui["appJob"]["user"];
169
+ if (user == null) user = "";
170
+ if (user != "") user = "User:&nbsp;" + user;
171
+ var userElement = newElement("div", user);
172
+ userElement.style.top = "-62px";
173
+ var left = hybridSkin.screenWidth;
174
+ if (dspf) left = parseInt(pui.genie.middleDiv.style.width);
175
+ left = left - 150;
176
+ userElement.style.left = left + "px";
177
+ userElement.style.fontWeight = "bold";
178
+ userElement.style.fontFamily = "sans-serif";
179
+ userElement.style.color = "#ffffff";
180
+ }
181
+
182
+
183
+ hybridSkin.createHeader = function() {
184
+
185
+ hybridSkin.headingRows = 3;
186
+ if (!hybridSkin.signon) {
187
+ hybridSkin.heading1 = document.createElement("div");
188
+ hybridSkin.heading1.id = "hybrid-heading1";
189
+ hybridSkin.heading1.className = "hybrid-heading1";
190
+ getObj("5250").parentNode.parentNode.appendChild(hybridSkin.heading1);
191
+ }
192
+ hybridSkin.heading2 = document.createElement("div");
193
+ hybridSkin.heading2.id = "hybrid-heading2";
194
+ getObj("5250").parentNode.parentNode.appendChild(hybridSkin.heading2);
195
+
196
+ pui["loading animation"]["left"] = -165;
197
+
198
+ var height = 67;
199
+ // if (some condition should trigger 2 rows vs. 3) {
200
+ height = height - pui.multY;
201
+ hybridSkin.headingRows -= 1;
202
+ // }
203
+ hybridSkin.heading2.style.height = height + "px";
204
+ hybridSkin.heading2.className = "hybrid-heading2";
205
+
206
+ var divs = document.getElementById("5250").getElementsByTagName("div");
207
+ for (var i = 0; i < divs.length; i++) {
208
+ var div = divs[i];
209
+ var id = div.id;
210
+ if (id.substr(0,4) == "D_1_" || id.substr(0,4) == "D_2_") {
211
+ if (id.indexOf("_W") == -1) {
212
+ div.style.color = "white";
213
+ if (id.substr(0,4) == "D_1_") {
214
+ div.style.fontFamily = "sans-serif";
215
+ div.style.fontSize = "15px";
216
+ }
217
+ }
218
+ }
219
+ }
220
+ }
221
+
222
+
223
+ hybridSkin.createSideMenu = function() {
224
+ var inputs = document.getElementById("5250").getElementsByTagName("input");
225
+ var buttons = [];
226
+ var dups = {};
227
+ var gotEnter = false;
228
+ for (var i = 0; i < inputs.length; i++) {
229
+ var input = inputs[i];
230
+ if (input.type != "button" || input.fkey == null) continue;
231
+ // don't add a nondisplay button to the side menu
232
+ if (input.className.indexOf("hide") >= 0) continue;
233
+ // don't add buttons in window formats to side menu, but do
234
+ // do style them as 'hybrid-button'
235
+ if (input.id.indexOf("W") != -1) {
236
+ changeElementClass(input.id, "hybrid-button");
237
+ continue;
238
+ }
239
+ // don't add buttons created for PSHBTNFLD/PSHBTNCHC keywords.
240
+ if (input.id.indexOf("S_") === 0) {
241
+ continue;
242
+ }
243
+
244
+ input.style.visibility = "hidden";
245
+ if (dups[input.value] == true) continue;
246
+ buttons.push({
247
+ fkey: input.fkey,
248
+ text: input.value
249
+ });
250
+ dups[input.value] = true;
251
+ if (input.fkey.toLowerCase() == "enter") gotEnter = true;
252
+ }
253
+
254
+ if (buttons.length > 0) {
255
+ // sort buttons
256
+ buttons.sort(function(a, b) {
257
+ if (a.fkey < b.fkey) return -1;
258
+ else if (a.fkey == b.fkey) return 0;
259
+ else return 1;
260
+ });
261
+ if (!gotEnter) {
262
+ buttons.splice(0, 0, {
263
+ fkey: "Enter",
264
+ text: "Continue"
265
+ });
266
+ }
267
+
268
+ // create panel
269
+ var panel = newElement("div", "", "side");
270
+ var panelTop = 75;
271
+ if (hybridSkin.headingRows == 2) panelTop -= pui.multY;
272
+ panel.style.top = panelTop + "px";
273
+ panel.style.left = "-175px";
274
+ panel.style.width = "165px";
275
+ var height = buttons.length * 30 + 100;
276
+ if (height < 450) height = 450;
277
+ panel.style.height = height + "px";
278
+
279
+ panel.className = "hybrid-actions";
280
+
281
+ var top = 90;
282
+ if (hybridSkin.headingRows == 2) top -= pui.multY;
283
+ for (var i = 0; i < buttons.length; i++) {
284
+ var arrow = newElement("div", "", "arrow" + i);
285
+ arrow.className = "fkey-arrow";
286
+ arrow.innerHTML = "&gt;";
287
+ arrow.style.left = "-162px";
288
+
289
+ var fkeyLink = newElement("div", "", "fkey" + i);
290
+ fkeyLink.className = "fkey-link";
291
+ fkeyLink.innerHTML = buttons[i].text;
292
+ fkeyLink.style.left = "-150px";
293
+ fkeyLink.style.width = "140px";
294
+ fkeyLink.style.whiteSpace = "normal";
295
+ fkeyLink.fkey = buttons[i].fkey;
296
+ fkeyLink.onclick = function(e) {
297
+ var target = getTarget(e);
298
+ if (target.fkey == null) target = target.parentNode;
299
+ var fkey = target.fkey;
300
+ pressKey(fkey);
301
+ }
302
+
303
+ if (i > 0) {
304
+ top = (prevLink.offsetTop + prevLink.offsetHeight + 7);
305
+ }
306
+ arrow.style.top = (top-2) + "px";
307
+ fkeyLink.style.top = top + "px";
308
+
309
+ var prevLink = fkeyLink;
310
+ }
311
+ }
312
+
313
+ }
314
+
315
+ pui.onload = function() {
316
+ pui["loading animation"]["left"] = 10;
317
+ pui["loading animation"]["css"] = 'pui-animation';
318
+ window.onresize = function() { };
319
+ setTimeout(function() {
320
+ var headingPanel = getObj("HeadingPanel");
321
+ if (headingPanel != null) headingPanel.parentNode.removeChild(headingPanel);
322
+ headingPanel = getObj("HeadingPanel");
323
+ if (headingPanel != null) headingPanel.parentNode.removeChild(headingPanel);
324
+ hybridSkin.fixLinks();
325
+ hybridSkin.removeHeader();
326
+ hybridSkin.createHeader();
327
+ hybridSkin.displayLogo(true);
328
+ hybridSkin.displayUser(true);
329
+ }, 0);
330
+ }