Commit 497c6db7 authored by Sven Franck's avatar Sven Franck

cleanup

parent bc1320d5
......@@ -4195,6 +4195,7 @@
}
fragment.appendChild(content);
}
// actions
if (box.actions) {
for (l = 0; l < box.actions.length; l += 1) {
content.appendChild(priv.generateControlgroup(box.actions[l]));
......@@ -4287,148 +4288,23 @@
for (k = 0; k < box.fields.length; k += 1) {
field = box.fields[k];
config = priv.field_definitions[portal_type][field];
// TODO: this should be in a separate function to be able to
// be called from other gadgets aswell
// set to overrides or {} to speed up generation
overrides = box.overrides[field] || {};
// set based on field properties and overrides
if (config !== undefined ||
(overrides.enabled ||
config.validator.enabled) !== true) {
// validation string
// NOTE: assumes using validval client validation plugin
// sets custom validation rules as "foo|bar|baz"
if (overrides.external || config.validator.external) {
validate = overrides.external_validator || config.validator.external_validator;
}
if (overrides.maximum_length || config.validator.maximum_length) {
validate += "|" + "max_length:"+(overrides.maximum_length || config.validator.maximum_length) + "&truncate" + (overrides.truncate || config.validator.truncate);
}
if (overrides.maximum_lines || config.validator.maximum_lines) {
validate += "|" + "max_lines:" + (overrides.maximum_lines || config.validator.maximum_lines);
}
if (overrides.maximum_lenght_of_line || config.validator.maximum_lenght_of_line) {
validate += "|" + "max_length_lines:" + (overrides.maximum_lenght_of_line || config.validator.maximum_lenght_of_line);
}
if (overrides.preserve_whitespace || config.validator.preserve_whitespace) {
validate += "|preserve_whitespace:true";
}
if (overrides.start || config.validator.start) {
validate += "|start:" + (overrides.start || config.validator.start);
}
if (overrides.end || config.validator.end) {
validate += "|end:" + (overrides.start || config.validator.start);
}
// wrapper element
wrap = priv.generateElement(
"div",
{"className":"ui-fieldcontain translate"},
{
"title": (overrides.description || config.widget.description || "" ),
"data-i18n": (overrides.description_i18n || config.widget.description_i18n || "")
}
);
// field label
wrap.appendChild(priv.generateElement(
"label",
{"className": "translate"},
{
"for": overrides.id || config.widget.id,
"data-i18n": overrides.title_i18n || config.widget.title_i18n
},
{"text": overrides.title || config.widget.title}
));
if (overrides.type === "RelationStringField" ||
config.type === "RelationStringField") {
element_wrap = priv.generateElement("div",
{"className": "ui-input-text ui-body-inherit ui-corner-all ui-shadow-inset ui-input-has-clear ui-input-has-action"}
);
element_wrap.appendChild(priv.generateElement("input",
{
"id": overrides.id || config.widget.id,
"className": ""
}, {
"data-enhanced": "true",
"data-inset":"false",
"data-clear-btn":"true"
}
));
element_wrap.appendChild(priv.generateElement("a",
{
"href":"",
"className": "ui-input-clear ui-input-clear-hidden ui-btn ui-icon-delete ui-btn-icon-notext ui-corner-all",
"title": "Clear input element"
}, {
"data-role": "button",
"data-i18n": "[title]generic.buttons.clear;generic.buttons.clear"
}, {
"text":"clear input element"
}
));
element_wrap.appendChild(priv.generateElement("a",
{
"href":"",
"className": "ui-disabled ui-input-action ui-btn ui-icon-plane ui-btn-icon-notext ui-corner-all",
"title": "jump to selected object"
}, {
"data-role": "button",
"data-i18n": "[title]generic.buttons.jump;generic.buttons.jump"
}, {
"text": "jump to selected object"
}
));
wrap.appendChild(element_wrap);
wrap.appendChild(priv.generateElement("ul",
{
"className":""
},{
"data-role":"listview",
"data-inset":"true",
"data-enhanced":"true",
"data-filter":"true",
"data-filter-reveal":"true",
"data-input": "#relation-" + portal_type
}
));
} else {
// element
wrap.appendChild(priv.generateElement(
priv.mapFieldType(overrides.type || config.type),
{
"className": (overrides.css_class || config.widget.css_class || "") + ((overrides.required || config.widget.required) ? "required" : ""),
"id": overrides.id || config.widget.id
},
{},
{
"data-relation": overrides.portal_type || config.widget.portal_type || null,
"size": overrides.display_width || config.widget.display_width || overrides.size || config.widget.size || undefined,
"rows": overrides.width || config.widget.width || undefined,
"cols": overrides.height || config.widget.height || undefined,
"disabled": (overrides.enabled || config.validator.enabled) ? undefined : true,
"name": overrides.alternate_name || config.validator.alternate_name || undefined,
"value": (properties[field] || (overrides.default === 0 ? "0" : overrides.default) || config.widget.default || undefined),
"data-vv-validations": validate || null,
"type": (overrides.hidden || config.widget.hidden) === true ? "hidden" : priv.mapInputType(overrides.type || config.type),
"extra": overrides.extra || config.widget.extra || null,
"readonly": (overrides.editable === false || config.validator.editable === false ) ? true : undefined,
"options": (overrides.items || config.widget.items) ? ([overrides.items || config.widget.items || null, overrides.extra_per_item || config.widget.extra_per_item || null, overrides.select_first_item || config.widget.select_first_item || null]) : null
}
));
}
content.appendChild(wrap);
}
// all-in-one...
content.appendChild(priv.generateFormField(config, overrides));
}
fragment.appendChild(content);
}
// actions
if (box.actions) {
for (l = 0; l < box.actions.length; l += 1) {
content.appendChild(priv.generateControlgroup(box.actions[l]));
}
}
// nested gadgets ASYNC
if (box.view) {
// tag the target
$.when(priv[box.view.renderWith](content, box.view.gadget_id)).then(function(fragment) {
$(fragment.target).append(fragment.element).enhanceWithin();
});
// $.when(priv[box.view.renderWith](content, box.view.gadget_id)).then(function(fragment) {
// $(fragment.target).append(fragment.element).enhanceWithin();
// });
}
collapsible.appendChild(content);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment