profoundjs 7.5.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.
- package/LICENSE.txt +27 -25
- package/htdocs/jszip/FileSaver.min.js +2 -2
- package/htdocs/profoundui/proddata/css/atrium.css +201 -201
- package/htdocs/profoundui/proddata/css/designer_respeditor.css +91 -91
- package/htdocs/profoundui/proddata/css/ipademulator.css +38 -38
- package/htdocs/profoundui/proddata/css/iphoneemulator.css +29 -29
- package/htdocs/profoundui/proddata/css/jumpstart.css +442 -442
- package/htdocs/profoundui/proddata/css/key_management.css +122 -122
- package/htdocs/profoundui/proddata/css/logic.css +1669 -1669
- package/htdocs/profoundui/proddata/css/markdown.css +754 -754
- package/htdocs/profoundui/proddata/css/profoundai.css +42 -0
- package/htdocs/profoundui/proddata/css/puisplash.css +186 -186
- package/htdocs/profoundui/proddata/css/qtips.css +32 -32
- package/htdocs/profoundui/proddata/html/genieframe.html +25 -25
- package/htdocs/profoundui/proddata/js/designer.js +3794 -3782
- package/htdocs/profoundui/proddata/js/key_management.js +34 -34
- package/htdocs/profoundui/proddata/js/profoundai.js +26 -0
- package/htdocs/profoundui/proddata/js/rich-display-react-component.js +45 -45
- package/htdocs/profoundui/proddata/js/rich-display-vue-component.js +28 -28
- package/htdocs/profoundui/proddata/js/runtime.js +1404 -1401
- package/htdocs/profoundui/proddata/js/soapclient.js +419 -419
- package/htdocs/profoundui/proddata/typings/profoundjs.d.ts +881 -881
- package/htdocs/profoundui/proddata/typings/profoundui.d.ts +388 -388
- package/htdocs/profoundui/userdata/atrium themes/css/xtheme-gray.css +414 -414
- package/htdocs/profoundui/userdata/atrium themes/css/xtheme-olive.css +623 -623
- package/htdocs/profoundui/userdata/atrium themes/css/xtheme-slate.css +672 -672
- package/htdocs/profoundui/userdata/atrium themes/css/xtheme-steel.css +10437 -10437
- package/htdocs/profoundui/userdata/css/atrium_banner.css +13 -13
- package/htdocs/profoundui/userdata/css/atrium_home.css +37 -37
- package/htdocs/profoundui/userdata/custom/themes/enhanced.js +104 -104
- package/htdocs/profoundui/userdata/custom/themes/hybrid.js +109 -109
- package/htdocs/profoundui/userdata/custom/themes/standard.js +68 -68
- package/htdocs/profoundui/userdata/custom/widgets/googlemaps.js +139 -139
- package/htdocs/profoundui/userdata/custom/widgets/listbox.js +37 -37
- package/htdocs/profoundui/userdata/custom/widgets/panel.js +74 -74
- package/htdocs/profoundui/userdata/custom/widgets/styled_button.js +71 -71
- package/htdocs/profoundui/userdata/custom/widgets/tabpanel.js +61 -61
- package/htdocs/profoundui/userdata/genie skins/Classic/Classic.css +562 -562
- package/htdocs/profoundui/userdata/genie skins/Classic/custom.js +3 -3
- package/htdocs/profoundui/userdata/genie skins/Gradient/Gradient.css +616 -616
- package/htdocs/profoundui/userdata/genie skins/Gradient/adjusted columns custom.js +83 -83
- package/htdocs/profoundui/userdata/genie skins/Gradient/custom.js +83 -83
- package/htdocs/profoundui/userdata/genie skins/Hybrid/Hybrid.css +616 -616
- package/htdocs/profoundui/userdata/genie skins/Hybrid/custom.js +330 -330
- package/htdocs/profoundui/userdata/genie skins/Plain/Plain.css +546 -546
- package/htdocs/profoundui/userdata/genie skins/Plain/custom.js +6 -6
- package/htdocs/profoundui/userdata/genie skins/Skyline/Skyline.css +753 -753
- package/htdocs/profoundui/userdata/genie skins/Skyline/adjusted columns custom.js +97 -97
- package/htdocs/profoundui/userdata/genie skins/Skyline/custom.js +97 -97
- package/htdocs/profoundui/userdata/genie skins/Tablet/Tablet.css +743 -743
- package/htdocs/profoundui/userdata/genie skins/Tablet/custom.js +153 -153
- package/htdocs/profoundui/userdata/samples/ordentry/OrdEntry.js +92 -92
- package/package.json +2 -2
- package/profound.jse +1 -1
- package/setup/pjsdist.savf +0 -0
|
@@ -1,153 +1,153 @@
|
|
|
1
|
-
|
|
2
|
-
pui["close browser text"] = "To complete the log off process, please close your browser.";
|
|
3
|
-
|
|
4
|
-
var Tab = {};
|
|
5
|
-
Tab.autoHideKeypad = true; // Set this to close the keypad (or not) after pressing a key.
|
|
6
|
-
|
|
7
|
-
Tab.rendered = false;
|
|
8
|
-
Tab.container;
|
|
9
|
-
Tab.multX;
|
|
10
|
-
Tab.multY;
|
|
11
|
-
Tab.multXWide = 7.5;
|
|
12
|
-
Tab.multYWide = 20;
|
|
13
|
-
|
|
14
|
-
Tab.sizeDisplay = function() {
|
|
15
|
-
|
|
16
|
-
if (!Tab.rendered) {
|
|
17
|
-
|
|
18
|
-
Tab.container = document.getElementById("main");
|
|
19
|
-
Tab.multX = pui.multX;
|
|
20
|
-
Tab.multY = pui.multY;
|
|
21
|
-
Tab.rendered = true;
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
// Assign classes and adjust multipliers for screen size and display mode.
|
|
26
|
-
var cls;
|
|
27
|
-
if (screen.width <= 768) {
|
|
28
|
-
|
|
29
|
-
cls = "lowres-";
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
|
|
34
|
-
cls = "highres-";
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (pui.genie.displaySize == 132) {
|
|
39
|
-
|
|
40
|
-
pui.multX = Tab.multXWide;
|
|
41
|
-
pui.multY = Tab.multYWide;
|
|
42
|
-
document.body.className = cls + "wide";
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
|
|
47
|
-
pui.multX = Tab.multX;
|
|
48
|
-
pui.multY = Tab.multY;
|
|
49
|
-
document.body.className = cls + "normal";
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
Tab.showKeypad = function(e) {
|
|
56
|
-
|
|
57
|
-
e = e || window.event;
|
|
58
|
-
|
|
59
|
-
document.getElementById("keypad").style.display = "block";
|
|
60
|
-
|
|
61
|
-
if (e.preventDefault) e.preventDefault();
|
|
62
|
-
if (e.stopPropagation) e.stopPropagation();
|
|
63
|
-
e.cancelBubble = true;
|
|
64
|
-
e.returnValue = false;
|
|
65
|
-
return false;
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
Tab.hideKeypad = function(e) {
|
|
70
|
-
|
|
71
|
-
e = e || window.event;
|
|
72
|
-
|
|
73
|
-
document.getElementById("keypad").style.display = "none";
|
|
74
|
-
|
|
75
|
-
if (e.preventDefault) e.preventDefault();
|
|
76
|
-
if (e.stopPropagation) e.stopPropagation();
|
|
77
|
-
e.cancelBubble = true;
|
|
78
|
-
e.returnValue = false;
|
|
79
|
-
return false;
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
Tab.pressKey = function(key, e) {
|
|
84
|
-
|
|
85
|
-
e = e || window.event;
|
|
86
|
-
|
|
87
|
-
if (key == "Help" && pui["5250"]["state"] == "P") {
|
|
88
|
-
|
|
89
|
-
key = "ErrorHelp";
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
pressKey(key);
|
|
94
|
-
|
|
95
|
-
if (Tab.autoHideKeypad == true) {
|
|
96
|
-
|
|
97
|
-
Tab.hideKeypad(e);
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
|
|
102
|
-
if (e.preventDefault) e.preventDefault();
|
|
103
|
-
if (e.stopPropagation) e.stopPropagation();
|
|
104
|
-
e.cancelBubble = true;
|
|
105
|
-
e.returnValue = false;
|
|
106
|
-
return false;
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
function beforeLoad() {
|
|
113
|
-
|
|
114
|
-
// Hide content area until screen has rendered.
|
|
115
|
-
document.getElementById("5250").style.visibility = "hidden";
|
|
116
|
-
|
|
117
|
-
// Show main content area on first display.
|
|
118
|
-
document.getElementById("main").style.display = "block";
|
|
119
|
-
|
|
120
|
-
Tab.sizeDisplay();
|
|
121
|
-
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
function customize() {
|
|
125
|
-
pui["loading animation"]["css"] = 'pui-tablet-animation';
|
|
126
|
-
var userDiv = document.getElementById("user");
|
|
127
|
-
if (userDiv) {
|
|
128
|
-
|
|
129
|
-
if (pui.appJob.user != "") {
|
|
130
|
-
|
|
131
|
-
userDiv.innerHTML = "User: " + pui.appJob.user;
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
|
|
136
|
-
userDiv.innerHTML = "";
|
|
137
|
-
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
var quitButton = document.getElementById("quit_button");
|
|
143
|
-
if (quitButton) {
|
|
144
|
-
|
|
145
|
-
quitButton.style.width = "75px";
|
|
146
|
-
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
function afterLoad() {
|
|
152
|
-
|
|
153
|
-
}
|
|
1
|
+
|
|
2
|
+
pui["close browser text"] = "To complete the log off process, please close your browser.";
|
|
3
|
+
|
|
4
|
+
var Tab = {};
|
|
5
|
+
Tab.autoHideKeypad = true; // Set this to close the keypad (or not) after pressing a key.
|
|
6
|
+
|
|
7
|
+
Tab.rendered = false;
|
|
8
|
+
Tab.container;
|
|
9
|
+
Tab.multX;
|
|
10
|
+
Tab.multY;
|
|
11
|
+
Tab.multXWide = 7.5;
|
|
12
|
+
Tab.multYWide = 20;
|
|
13
|
+
|
|
14
|
+
Tab.sizeDisplay = function() {
|
|
15
|
+
|
|
16
|
+
if (!Tab.rendered) {
|
|
17
|
+
|
|
18
|
+
Tab.container = document.getElementById("main");
|
|
19
|
+
Tab.multX = pui.multX;
|
|
20
|
+
Tab.multY = pui.multY;
|
|
21
|
+
Tab.rendered = true;
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Assign classes and adjust multipliers for screen size and display mode.
|
|
26
|
+
var cls;
|
|
27
|
+
if (screen.width <= 768) {
|
|
28
|
+
|
|
29
|
+
cls = "lowres-";
|
|
30
|
+
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
|
|
34
|
+
cls = "highres-";
|
|
35
|
+
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (pui.genie.displaySize == 132) {
|
|
39
|
+
|
|
40
|
+
pui.multX = Tab.multXWide;
|
|
41
|
+
pui.multY = Tab.multYWide;
|
|
42
|
+
document.body.className = cls + "wide";
|
|
43
|
+
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
|
|
47
|
+
pui.multX = Tab.multX;
|
|
48
|
+
pui.multY = Tab.multY;
|
|
49
|
+
document.body.className = cls + "normal";
|
|
50
|
+
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
Tab.showKeypad = function(e) {
|
|
56
|
+
|
|
57
|
+
e = e || window.event;
|
|
58
|
+
|
|
59
|
+
document.getElementById("keypad").style.display = "block";
|
|
60
|
+
|
|
61
|
+
if (e.preventDefault) e.preventDefault();
|
|
62
|
+
if (e.stopPropagation) e.stopPropagation();
|
|
63
|
+
e.cancelBubble = true;
|
|
64
|
+
e.returnValue = false;
|
|
65
|
+
return false;
|
|
66
|
+
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
Tab.hideKeypad = function(e) {
|
|
70
|
+
|
|
71
|
+
e = e || window.event;
|
|
72
|
+
|
|
73
|
+
document.getElementById("keypad").style.display = "none";
|
|
74
|
+
|
|
75
|
+
if (e.preventDefault) e.preventDefault();
|
|
76
|
+
if (e.stopPropagation) e.stopPropagation();
|
|
77
|
+
e.cancelBubble = true;
|
|
78
|
+
e.returnValue = false;
|
|
79
|
+
return false;
|
|
80
|
+
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
Tab.pressKey = function(key, e) {
|
|
84
|
+
|
|
85
|
+
e = e || window.event;
|
|
86
|
+
|
|
87
|
+
if (key == "Help" && pui["5250"]["state"] == "P") {
|
|
88
|
+
|
|
89
|
+
key = "ErrorHelp";
|
|
90
|
+
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
pressKey(key);
|
|
94
|
+
|
|
95
|
+
if (Tab.autoHideKeypad == true) {
|
|
96
|
+
|
|
97
|
+
Tab.hideKeypad(e);
|
|
98
|
+
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
|
|
102
|
+
if (e.preventDefault) e.preventDefault();
|
|
103
|
+
if (e.stopPropagation) e.stopPropagation();
|
|
104
|
+
e.cancelBubble = true;
|
|
105
|
+
e.returnValue = false;
|
|
106
|
+
return false;
|
|
107
|
+
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
function beforeLoad() {
|
|
113
|
+
|
|
114
|
+
// Hide content area until screen has rendered.
|
|
115
|
+
document.getElementById("5250").style.visibility = "hidden";
|
|
116
|
+
|
|
117
|
+
// Show main content area on first display.
|
|
118
|
+
document.getElementById("main").style.display = "block";
|
|
119
|
+
|
|
120
|
+
Tab.sizeDisplay();
|
|
121
|
+
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
function customize() {
|
|
125
|
+
pui["loading animation"]["css"] = 'pui-tablet-animation';
|
|
126
|
+
var userDiv = document.getElementById("user");
|
|
127
|
+
if (userDiv) {
|
|
128
|
+
|
|
129
|
+
if (pui.appJob.user != "") {
|
|
130
|
+
|
|
131
|
+
userDiv.innerHTML = "User: " + pui.appJob.user;
|
|
132
|
+
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
|
|
136
|
+
userDiv.innerHTML = "";
|
|
137
|
+
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
var quitButton = document.getElementById("quit_button");
|
|
143
|
+
if (quitButton) {
|
|
144
|
+
|
|
145
|
+
quitButton.style.width = "75px";
|
|
146
|
+
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
function afterLoad() {
|
|
152
|
+
|
|
153
|
+
}
|
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
|
|
2
|
-
var oe = {}; // namespace for order entry application
|
|
3
|
-
|
|
4
|
-
oe.forceOffline = false;
|
|
5
|
-
|
|
6
|
-
oe.ctlName = "OrdCtl";
|
|
7
|
-
oe.sflName = "OrdSfl";
|
|
8
|
-
oe.localDisplayPath = "profoundui/userdata/dspf/OrdEntryD.json";
|
|
9
|
-
oe.offlineModeText = "Offline Mode";
|
|
10
|
-
|
|
11
|
-
oe.count = 0;
|
|
12
|
-
oe.headerData = {};
|
|
13
|
-
|
|
14
|
-
// show offline order entry screen
|
|
15
|
-
oe.show = function() {
|
|
16
|
-
var gridData = [];
|
|
17
|
-
for (var line = 1; line <= 10; line++) {
|
|
18
|
-
gridData.push({ "Line": line });
|
|
19
|
-
}
|
|
20
|
-
var data = {
|
|
21
|
-
"Mode": oe.offlineModeText,
|
|
22
|
-
};
|
|
23
|
-
data[oe.sflName] = gridData;
|
|
24
|
-
for (var varName in oe.headerData) {
|
|
25
|
-
data[varName] = oe.headerData[varName];
|
|
26
|
-
}
|
|
27
|
-
pui.show({
|
|
28
|
-
path: oe.localDisplayPath,
|
|
29
|
-
format: oe.ctlName,
|
|
30
|
-
data: data,
|
|
31
|
-
handler: function(response) {
|
|
32
|
-
if (response["btnExit"] == "1") {
|
|
33
|
-
getObj("pui").innerHTML = "Exiting order entry...";
|
|
34
|
-
if (navigator["app"] != null && navigator["app"]["exitApp"] != null) { // Check for exitApp api in PhoneGap
|
|
35
|
-
navigator["app"]["exitApp"]();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
var order = {};
|
|
40
|
-
for (var varName in response) {
|
|
41
|
-
if (varName == "aid") continue;
|
|
42
|
-
var fmt = oe.sflName.toUpperCase();
|
|
43
|
-
var value = response[varName];
|
|
44
|
-
if (varName.indexOf(".") == -1) {
|
|
45
|
-
oe.headerData[varName] = value; // save header data, so it can be redisplayed
|
|
46
|
-
fmt = oe.ctlName.toUpperCase();
|
|
47
|
-
}
|
|
48
|
-
if (varName.indexOf(".rrn") >= 0) varName = "rrn";
|
|
49
|
-
else varName = varName.toUpperCase();
|
|
50
|
-
order[fmt + "." + varName] = value; // save info to local storage in the same format we post to the RPG program
|
|
51
|
-
}
|
|
52
|
-
order[oe.ctlName.toUpperCase() + ".AUTO"] = "1"; // this flag indicates auto-submitted order
|
|
53
|
-
var orders = localStorage["orders"];
|
|
54
|
-
if (orders == null || orders == "") orders = [];
|
|
55
|
-
else orders = JSON.parse(orders);
|
|
56
|
-
orders.push(order);
|
|
57
|
-
localStorage["orders"] = JSON.stringify(orders);
|
|
58
|
-
oe.show();
|
|
59
|
-
alert("Order saved locally to your device.");
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// this function is assigned to the onload event of the order entry screen
|
|
66
|
-
// it will synchrnize any orders stored in local storage when we're reconnected to the server again
|
|
67
|
-
oe.onload = function() {
|
|
68
|
-
if (get("Mode") == oe.offlineModeText) return;
|
|
69
|
-
if (oe.forceOffline) {
|
|
70
|
-
oe.show();
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
var orders = localStorage["orders"];
|
|
74
|
-
if (orders == null || orders == "") orders = [];
|
|
75
|
-
else orders = JSON.parse(orders);
|
|
76
|
-
if (orders.length == 0) {
|
|
77
|
-
if (get("Saved") == "1") {
|
|
78
|
-
alert("Order submitted to server.");
|
|
79
|
-
}
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
var order = orders.splice(0,1)[0];
|
|
83
|
-
oe.count++;
|
|
84
|
-
localStorage["orders"] = JSON.stringify(orders);
|
|
85
|
-
pui.submitResponse(order);
|
|
86
|
-
if (orders.length == 0) {
|
|
87
|
-
alert(oe.count + " locally stored order(s) successfully submitted to server.");
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
pui.onoffline = function() {
|
|
92
|
-
oe.show();
|
|
1
|
+
|
|
2
|
+
var oe = {}; // namespace for order entry application
|
|
3
|
+
|
|
4
|
+
oe.forceOffline = false;
|
|
5
|
+
|
|
6
|
+
oe.ctlName = "OrdCtl";
|
|
7
|
+
oe.sflName = "OrdSfl";
|
|
8
|
+
oe.localDisplayPath = "profoundui/userdata/dspf/OrdEntryD.json";
|
|
9
|
+
oe.offlineModeText = "Offline Mode";
|
|
10
|
+
|
|
11
|
+
oe.count = 0;
|
|
12
|
+
oe.headerData = {};
|
|
13
|
+
|
|
14
|
+
// show offline order entry screen
|
|
15
|
+
oe.show = function() {
|
|
16
|
+
var gridData = [];
|
|
17
|
+
for (var line = 1; line <= 10; line++) {
|
|
18
|
+
gridData.push({ "Line": line });
|
|
19
|
+
}
|
|
20
|
+
var data = {
|
|
21
|
+
"Mode": oe.offlineModeText,
|
|
22
|
+
};
|
|
23
|
+
data[oe.sflName] = gridData;
|
|
24
|
+
for (var varName in oe.headerData) {
|
|
25
|
+
data[varName] = oe.headerData[varName];
|
|
26
|
+
}
|
|
27
|
+
pui.show({
|
|
28
|
+
path: oe.localDisplayPath,
|
|
29
|
+
format: oe.ctlName,
|
|
30
|
+
data: data,
|
|
31
|
+
handler: function(response) {
|
|
32
|
+
if (response["btnExit"] == "1") {
|
|
33
|
+
getObj("pui").innerHTML = "Exiting order entry...";
|
|
34
|
+
if (navigator["app"] != null && navigator["app"]["exitApp"] != null) { // Check for exitApp api in PhoneGap
|
|
35
|
+
navigator["app"]["exitApp"]();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
var order = {};
|
|
40
|
+
for (var varName in response) {
|
|
41
|
+
if (varName == "aid") continue;
|
|
42
|
+
var fmt = oe.sflName.toUpperCase();
|
|
43
|
+
var value = response[varName];
|
|
44
|
+
if (varName.indexOf(".") == -1) {
|
|
45
|
+
oe.headerData[varName] = value; // save header data, so it can be redisplayed
|
|
46
|
+
fmt = oe.ctlName.toUpperCase();
|
|
47
|
+
}
|
|
48
|
+
if (varName.indexOf(".rrn") >= 0) varName = "rrn";
|
|
49
|
+
else varName = varName.toUpperCase();
|
|
50
|
+
order[fmt + "." + varName] = value; // save info to local storage in the same format we post to the RPG program
|
|
51
|
+
}
|
|
52
|
+
order[oe.ctlName.toUpperCase() + ".AUTO"] = "1"; // this flag indicates auto-submitted order
|
|
53
|
+
var orders = localStorage["orders"];
|
|
54
|
+
if (orders == null || orders == "") orders = [];
|
|
55
|
+
else orders = JSON.parse(orders);
|
|
56
|
+
orders.push(order);
|
|
57
|
+
localStorage["orders"] = JSON.stringify(orders);
|
|
58
|
+
oe.show();
|
|
59
|
+
alert("Order saved locally to your device.");
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// this function is assigned to the onload event of the order entry screen
|
|
66
|
+
// it will synchrnize any orders stored in local storage when we're reconnected to the server again
|
|
67
|
+
oe.onload = function() {
|
|
68
|
+
if (get("Mode") == oe.offlineModeText) return;
|
|
69
|
+
if (oe.forceOffline) {
|
|
70
|
+
oe.show();
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
var orders = localStorage["orders"];
|
|
74
|
+
if (orders == null || orders == "") orders = [];
|
|
75
|
+
else orders = JSON.parse(orders);
|
|
76
|
+
if (orders.length == 0) {
|
|
77
|
+
if (get("Saved") == "1") {
|
|
78
|
+
alert("Order submitted to server.");
|
|
79
|
+
}
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
var order = orders.splice(0,1)[0];
|
|
83
|
+
oe.count++;
|
|
84
|
+
localStorage["orders"] = JSON.stringify(orders);
|
|
85
|
+
pui.submitResponse(order);
|
|
86
|
+
if (orders.length == 0) {
|
|
87
|
+
alert(oe.count + " locally stored order(s) successfully submitted to server.");
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
pui.onoffline = function() {
|
|
92
|
+
oe.show();
|
|
93
93
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "profoundjs",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.6.0",
|
|
4
4
|
"min-profoundui-version": "6.20.0",
|
|
5
5
|
"description": "Profound.js Framework and Server",
|
|
6
6
|
"keywords": [
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
"progress": "^2.0.3",
|
|
114
114
|
"prompts": "^2.3.2",
|
|
115
115
|
"randomatic": "^3.1.1",
|
|
116
|
-
"rotating-file-stream": "^3.1
|
|
116
|
+
"rotating-file-stream": "^3.2.1",
|
|
117
117
|
"semver": "^7.3.8",
|
|
118
118
|
"soap": "^0.45.0",
|
|
119
119
|
"ssh2": "^1.11.0",
|