"SELECTED_SCAP": "Have you selected a valid caption and pattern?",
"NO_CAPTIONS_IN_SELECTED_SCAP": "No caption subfields in selected caption and pattern",
"NO_BLANKS_BOSS": "A valid holding code cannot be produced with any blank fields.",
- "WIZARD": "Wizard"
+ "WIZARD": "Wizard",
+ "SUBFIELD_O": "Title of Unit"
}
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.form.DropDownButton");
dojo.require("dijit.form.TextBox");
+ dojo.require("dojo.string");
/* XXX These variables and functions preceding the call to dojo.declar()
* all pollute the window namespace. They're not written as methods for
}
function _generate_dijit_for_field(field, tr) {
- dojo.create("td", {"innerHTML": field.caption}, tr);
+ dojo.create(
+ "td", {
+ "innerHTML": field.caption,
+ "className": "serial-holding-code-wizard-subfield-" + field.subfield
+ }, tr
+ );
/* Any more special cases than this and we should switch to a dispatch
* table or something. */
return input;
}
+ function _interleave_subfields_o(fields) {
+ var result = [];
+ for (var i = 0; i < fields.length; i++) {
+ result.push(fields[i]);
+ if (fields[i].subfield <= "h") {
+ var caption = openils.widget.HoldingCode.localeStrings.SUBFIELD_O;
+ result.push({
+ "subfield": "o",
+ "caption": caption, "pattern_value": caption
+ });
+ }
+ }
+
+ return result;
+ }
+
function _prepare_ttip_dialog_fields(div, fields, wizard) {
/* XXX TODO Don't assume these defaults for the indicators and $8, and
* provide reasonable control over them. */
wizard.wizard_button.attr("disabled", true);
var table = dojo.create("table", {"className": "serial-holding-code"});
+
+ fields = _interleave_subfields_o(fields);
+
fields.forEach(
function(field) {
var tr = dojo.create("tr", null, table);