Public Access
fix(freelancer): the 15-point rule is now one shared constant, in both forms
The edit form's legend read "Skill areas" and carried no directive, while the application form read "Skill profile — 15 points to distribute" and said what to do. Same rule, worded in two places — and the edit form lost the sentence. - New static/focus-rule.js exposes window.O4PFocus: LEGEND, DIRECTIVE, TOTAL, MAX and message(sum). Both forms render the legend, the directive and the wrong-total message from it, so the two cannot drift apart again. - Edit form: legend from the constant, the application form's directive under it, and the blocked-save message now names the direction. - Application form: legend set from the constant, live warn and sum gate use the same message(); the all-zero gate keeps the directive. - Message wording: over -> "remove N", under -> "add N", zero -> "place all 15 points"; the total, aria-live, data-bad, the blocked save and the fieldset/legend structure are unchanged. The rule text now appears once: "You have 17 of 15 — remove 2."
This commit is contained in:
1 parent
1a1b62136f
commit
768dc1151a
3 files changed
+40
-22
No files matched your search
@@ -146,6 +146,9 @@
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- The 15-point rule, in ONE copy for both forms (this one and the application form). -->
|
||||
<script src="/static/focus-rule.js"></script>
|
||||
|
||||
<!-- 1) Read the credential, then take it OUT of the address bar.
|
||||
The hash arrives as ?has=... or ?hash=... (both spellings accepted, 'has' first — the
|
||||
same list the answer page reads, so the two emailed links behave identically). The page
|
||||
@@ -186,7 +189,7 @@
|
||||
functional: "Functional", system: "System", modules: "Modules",
|
||||
integration: "Integration", ai: "AI"
|
||||
},
|
||||
focusTotal: 15,
|
||||
focusTotal: window.O4PFocus.TOTAL,
|
||||
focusMax: 5,
|
||||
focusMaxChars: 70,
|
||||
descMaxChars: 230,
|
||||
@@ -256,6 +259,7 @@
|
||||
<script>
|
||||
(function () {
|
||||
var C = window.O4E;
|
||||
var CG = window.O4PFocus; // the shared 15-point rule (static/focus-rule.js)
|
||||
var app = document.getElementById("app");
|
||||
var hash = window.__EDIT_HASH || "";
|
||||
var rec = null; // this person's record, once loaded
|
||||
@@ -496,7 +500,9 @@
|
||||
// The five axes. An axis the record does not carry keeps the application form's
|
||||
// default of 3, so the block always totals 15 and can be saved.
|
||||
var axesSet = el("fieldset", "");
|
||||
axesSet.appendChild(el("legend", "", "Skill areas"));
|
||||
axesSet.appendChild(el("legend", "", CG.LEGEND));
|
||||
// The same directive the application form carries, so both forms state the rule.
|
||||
axesSet.appendChild(el("p", "hint", CG.DIRECTIVE));
|
||||
C.focusAxes.forEach(function (axis) {
|
||||
var v = readField(record, axis);
|
||||
if (v === undefined || v === null || v === "") v = 3; // → the block totals 15
|
||||
@@ -556,8 +562,7 @@
|
||||
if (focusSum() !== C.focusTotal) {
|
||||
var sum = focusSum();
|
||||
line.className = "status state-err";
|
||||
line.textContent = "The five skill numbers total " + sum + ". They must total exactly " +
|
||||
C.focusTotal + " before this can be saved.";
|
||||
line.textContent = CG.message(sum); // names the direction: remove / add / place all
|
||||
focusTotalLine.setAttribute("data-bad", "1");
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user