profoundjs 7.14.1 → 7.15.1
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/htdocs/profoundui/proddata/js/designer.js +3658 -3656
- package/htdocs/profoundui/proddata/js/key_management.js +2 -0
- package/htdocs/profoundui/proddata/js/rich-display-react-component.js +1 -0
- package/htdocs/profoundui/proddata/js/runtime.js +1486 -1486
- package/htdocs/profoundui/userdata/custom/themes/enhanced.js +15 -18
- package/htdocs/profoundui/userdata/custom/themes/hybrid.js +14 -17
- package/htdocs/profoundui/userdata/custom/themes/standard.js +12 -15
- package/htdocs/profoundui/userdata/custom/widgets/googlemaps.js +26 -42
- package/htdocs/profoundui/userdata/custom/widgets/listbox.js +6 -10
- package/htdocs/profoundui/userdata/custom/widgets/panel.js +20 -29
- package/htdocs/profoundui/userdata/custom/widgets/styled_button.js +19 -26
- package/htdocs/profoundui/userdata/custom/widgets/tabpanel.js +23 -30
- package/htdocs/profoundui/userdata/genie skins/Classic/custom.js +3 -3
- package/htdocs/profoundui/userdata/genie skins/Gradient/adjusted columns custom.js +57 -57
- package/htdocs/profoundui/userdata/genie skins/Gradient/custom.js +57 -57
- package/htdocs/profoundui/userdata/genie skins/Hybrid/custom.js +135 -143
- package/htdocs/profoundui/userdata/genie skins/Plain/custom.js +1 -3
- package/htdocs/profoundui/userdata/genie skins/Skyline/adjusted columns custom.js +70 -70
- package/htdocs/profoundui/userdata/genie skins/Skyline/custom.js +69 -69
- package/htdocs/profoundui/userdata/genie skins/Tablet/custom.js +20 -56
- package/htdocs/profoundui/userdata/samples/ordentry/OrdEntry.js +26 -27
- package/htdocs/vlog/rpglog.js +47 -46
- package/htdocs/vlog/vlog.js +50 -50
- package/package.json +1 -2
- package/profound.jse +1 -1
- package/setup/pjsdist.savf +0 -0
package/htdocs/vlog/vlog.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
1
|
let slider, stepSpan, fileDropdown, codeContainer, transformedCodeButton, coverageButton, currentStep, currentStepNumber, stepListDiv;
|
|
3
2
|
|
|
3
|
+
// eslint-disable-next-line no-unused-vars
|
|
4
4
|
function init() {
|
|
5
5
|
slider = document.querySelector("input.log-slider");
|
|
6
6
|
stepSpan = document.querySelector("span.step");
|
|
@@ -8,21 +8,21 @@ function init() {
|
|
|
8
8
|
codeContainer = document.querySelector("div.code-container");
|
|
9
9
|
transformedCodeButton = document.querySelector("button.transformed-code-button");
|
|
10
10
|
coverageButton = document.querySelector("button.coverage-button");
|
|
11
|
-
stepListDiv = document.querySelector("div.step-list");
|
|
12
|
-
|
|
11
|
+
stepListDiv = document.querySelector("div.step-list");
|
|
12
|
+
|
|
13
13
|
fileDropdown.onchange = function() {
|
|
14
|
-
|
|
14
|
+
const entry = vlog[fileDropdown.value];
|
|
15
15
|
loadCode(entry.lines, entry.map);
|
|
16
|
-
slider.focus();
|
|
17
|
-
}
|
|
18
|
-
|
|
16
|
+
slider.focus();
|
|
17
|
+
};
|
|
18
|
+
|
|
19
19
|
transformedCodeButton.onclick = showTransformedCodeButtonClick;
|
|
20
20
|
coverageButton.onclick = showCoverage;
|
|
21
21
|
|
|
22
22
|
loadFiles();
|
|
23
|
-
|
|
23
|
+
const max = vlog.log.length;
|
|
24
24
|
slider.max = max;
|
|
25
|
-
slider.value = max;
|
|
25
|
+
slider.value = max;
|
|
26
26
|
changeStep(max);
|
|
27
27
|
slider.oninput = changeStep;
|
|
28
28
|
slider.focus();
|
|
@@ -32,28 +32,28 @@ function changeStep(stepNumber) {
|
|
|
32
32
|
stepListDiv.style.display = "none";
|
|
33
33
|
let text = "";
|
|
34
34
|
if (typeof stepNumber !== "number") stepNumber = Number(this.value);
|
|
35
|
-
text = "Step " + stepNumber;
|
|
35
|
+
text = "Step " + stepNumber;
|
|
36
36
|
stepSpan.innerText = text;
|
|
37
|
-
|
|
37
|
+
const step = vlog.log[stepNumber - 1];
|
|
38
38
|
if (!step) return;
|
|
39
39
|
currentStep = step;
|
|
40
40
|
currentStepNumber = stepNumber;
|
|
41
41
|
setFile(step.file);
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
|
|
43
|
+
const transformedView = (transformedCodeButton.innerText !== "Show Tranformed Code");
|
|
44
44
|
|
|
45
45
|
// Remove old current-line
|
|
46
|
-
let curLine = codeContainer.querySelector("pre.current-line");
|
|
46
|
+
let curLine = codeContainer.querySelector("pre.current-line"); // get old current line
|
|
47
47
|
if (curLine) {
|
|
48
48
|
let contentEl = curLine.querySelector(".jscode");
|
|
49
49
|
if (!contentEl) contentEl = curLine;
|
|
50
50
|
curLine.classList.remove("current-line");
|
|
51
|
-
|
|
51
|
+
const lineNumberStr = contentEl.innerHTML.split(":")[0] + ": ";
|
|
52
52
|
let lines;
|
|
53
53
|
if (transformedView) lines = vlog[fileDropdown.value].transformedLines;
|
|
54
54
|
else lines = vlog[fileDropdown.value].lines;
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
const lineNumber = Number(lineNumberStr.trim().split(":")[0]);
|
|
56
|
+
const line = lines[lineNumber - 1].split("pjs.log(")[0];
|
|
57
57
|
contentEl.innerHTML = lineNumberStr + hiLine(line);
|
|
58
58
|
}
|
|
59
59
|
|
|
@@ -62,21 +62,21 @@ function changeStep(stepNumber) {
|
|
|
62
62
|
if (curLine) {
|
|
63
63
|
let contentEl = curLine.querySelector(".jscode");
|
|
64
64
|
if (!contentEl) contentEl = curLine;
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
const lineNumberStr = contentEl.innerHTML.split(":")[0] + ": ";
|
|
66
|
+
// const line = step.line;
|
|
67
67
|
if (!transformedView) contentEl.innerHTML = lineNumberStr + hiLine(step.line);
|
|
68
68
|
curLine.classList.add("current-line");
|
|
69
69
|
setTimeout(function() {
|
|
70
70
|
curLine.scrollIntoView({
|
|
71
|
-
behavior:
|
|
72
|
-
block:
|
|
71
|
+
behavior: "smooth",
|
|
72
|
+
block: "center"
|
|
73
73
|
});
|
|
74
74
|
}, 0);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
function hiLine(line) {
|
|
79
|
-
return "<code>" + hljs.highlight(line, {language:
|
|
79
|
+
return "<code>" + hljs.highlight(line, { language: "JavaScript" }).value + "</code>";
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
function loadFiles() {
|
|
@@ -86,19 +86,19 @@ function loadFiles() {
|
|
|
86
86
|
}
|
|
87
87
|
// Load last file
|
|
88
88
|
fileDropdown.value = file;
|
|
89
|
-
|
|
89
|
+
const entry = vlog[file];
|
|
90
90
|
loadCode(entry.lines, entry.map);
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
function setFile(file) {
|
|
94
94
|
if (fileDropdown.value === file) return;
|
|
95
95
|
fileDropdown.value = file;
|
|
96
|
-
|
|
96
|
+
const entry = vlog[file];
|
|
97
97
|
loadCode(entry.lines, entry.map);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
function showTransformedCodeButtonClick() {
|
|
101
|
-
|
|
101
|
+
const entry = vlog[fileDropdown.value];
|
|
102
102
|
if (!entry) return;
|
|
103
103
|
if (transformedCodeButton.innerText === "Show Tranformed Code") {
|
|
104
104
|
loadCode(entry.transformedLines, entry.map, true);
|
|
@@ -115,21 +115,21 @@ function showTransformedCodeButtonClick() {
|
|
|
115
115
|
function loadCode(lines, map, transformed) {
|
|
116
116
|
codeContainer.innerHTML = "";
|
|
117
117
|
if (!lines) return;
|
|
118
|
-
|
|
118
|
+
const lineNumWidth = String(lines.length).length;
|
|
119
119
|
for (let i = 0; i < lines.length; i++) {
|
|
120
120
|
let line = lines[i];
|
|
121
|
-
if (transformed) line = line.split("pjs.log(")[0];
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
121
|
+
if (transformed) line = line.split("pjs.log(")[0];
|
|
122
|
+
const pre = document.createElement("pre");
|
|
123
|
+
const lineNumber = i + 1;
|
|
124
|
+
const lineNumberStr = (" " + lineNumber).substr(-lineNumWidth) + ": ";
|
|
125
125
|
let html = lineNumberStr + hiLine(line);
|
|
126
126
|
if (map) {
|
|
127
127
|
let prevMapEntry = map[i - 1];
|
|
128
128
|
if (!prevMapEntry) prevMapEntry = {};
|
|
129
|
-
|
|
129
|
+
const mapEntry = map[i];
|
|
130
130
|
let rpgLine = "";
|
|
131
131
|
if (mapEntry && mapEntry.lineNum && prevMapEntry.lineNum !== mapEntry.lineNum) {
|
|
132
|
-
|
|
132
|
+
const rpgLineNumberStr = (" " + mapEntry.lineNum).substr(-6) + ": ";
|
|
133
133
|
rpgLine = rpgLineNumberStr + mapEntry.code;
|
|
134
134
|
}
|
|
135
135
|
html = `
|
|
@@ -146,22 +146,21 @@ function loadCode(lines, map, transformed) {
|
|
|
146
146
|
else {
|
|
147
147
|
transformedCodeButton.innerText = "Show Tranformed Code";
|
|
148
148
|
}
|
|
149
|
-
|
|
150
149
|
}
|
|
151
150
|
|
|
152
151
|
function showCoverage() {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
152
|
+
const covered = {};
|
|
153
|
+
const lineEls = codeContainer.children;
|
|
154
|
+
const log = vlog.log;
|
|
156
155
|
for (let i = 0; i < log.length; i++) {
|
|
157
|
-
|
|
156
|
+
const step = log[i];
|
|
158
157
|
if (step.file !== fileDropdown.value) continue;
|
|
159
158
|
if (!covered[step.lineNum - 1]) covered[step.lineNum - 1] = [];
|
|
160
159
|
step.stepNumber = i + 1;
|
|
161
160
|
covered[step.lineNum - 1].push(step);
|
|
162
161
|
}
|
|
163
162
|
for (let i = 0; i < lineEls.length; i++) {
|
|
164
|
-
|
|
163
|
+
const el = lineEls[i];
|
|
165
164
|
if (covered[i]) {
|
|
166
165
|
el.classList.add("covered");
|
|
167
166
|
el.steps = covered[i];
|
|
@@ -171,10 +170,11 @@ function showCoverage() {
|
|
|
171
170
|
slider.focus();
|
|
172
171
|
}
|
|
173
172
|
|
|
173
|
+
// eslint-disable-next-line no-unused-vars
|
|
174
174
|
function hideCoverage() {
|
|
175
|
-
|
|
175
|
+
const lineEls = codeContainer.children;
|
|
176
176
|
for (let i = 0; i < lineEls.length; i++) {
|
|
177
|
-
|
|
177
|
+
const el = lineEls[i];
|
|
178
178
|
el.classList.remove("covered");
|
|
179
179
|
el.onmouseover = function() {};
|
|
180
180
|
}
|
|
@@ -182,11 +182,11 @@ function hideCoverage() {
|
|
|
182
182
|
|
|
183
183
|
function setupMouseOver(el) {
|
|
184
184
|
el.onmouseover = function(e) {
|
|
185
|
-
|
|
186
|
-
let html = "";
|
|
185
|
+
const steps = el.steps;
|
|
186
|
+
let html = "";
|
|
187
187
|
steps.forEach(step => {
|
|
188
|
-
|
|
189
|
-
|
|
188
|
+
const line = step.line;
|
|
189
|
+
const parts = line.split("//");
|
|
190
190
|
html += `<a href="JavaScript:changeStep(${step.stepNumber}); hideCoverage(); slider.value = ${step.stepNumber}; slider.focus();">
|
|
191
191
|
Step ${step.stepNumber}
|
|
192
192
|
</a>
|
|
@@ -200,11 +200,11 @@ function setupMouseOver(el) {
|
|
|
200
200
|
stepListDiv.style.left = e.clientX + 5 + "px";
|
|
201
201
|
stepListDiv.style.top = e.clientY - 5 + "px";
|
|
202
202
|
stepListDiv.style.display = "";
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
el.onmouseout = stepListDiv.onmouseout = function(e) {
|
|
206
|
-
|
|
207
|
-
if (toElement === stepListDiv || stepListDiv.contains(toElement)) return;
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
el.onmouseout = stepListDiv.onmouseout = function(e) {
|
|
206
|
+
const toElement = e.toElement || e.relatedTarget;
|
|
207
|
+
if (toElement === stepListDiv || stepListDiv.contains(toElement)) return;
|
|
208
208
|
stepListDiv.style.display = "none";
|
|
209
|
-
}
|
|
209
|
+
};
|
|
210
210
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "profoundjs",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.15.1",
|
|
4
4
|
"min-profoundui-version": "6.20.0",
|
|
5
5
|
"description": "Profound.js Framework and Server",
|
|
6
6
|
"keywords": [
|
|
@@ -84,7 +84,6 @@
|
|
|
84
84
|
"hasbin": "^1.2.3",
|
|
85
85
|
"highlight.js": "^10.4.1",
|
|
86
86
|
"hpagent": "^1.2.0",
|
|
87
|
-
"htmlencode": "0.0.4",
|
|
88
87
|
"http-proxy-middleware": "^1.0.6",
|
|
89
88
|
"int64-buffer": "^1.0.0",
|
|
90
89
|
"jimp": "^0.22.10",
|