Commit e4d1f20f authored by Sven Franck's avatar Sven Franck

jslint

parent b286b8c0
......@@ -4836,7 +4836,7 @@
zero_no_show = (no_limit === 0 && use_total !== 0) ? 1 : no_limit;
if (no_total) {
min = ((no_limit + no_items === 0) ? use_total :
no_limit + no_items);
no_limit + no_items);
total_records = "";
} else {
min = Math.min(
......@@ -4966,8 +4966,8 @@
};
}
// NOTE: currentTarget needed for bubbling (eg tree)
current = e.currentTarget;
element = (current === document ? undefined : current) || e.target || e;
current = e.currentTarget === document ? undefined : e.currentTarget;
element = current || e.target || e;
// NOTE: used to be if no popup/panel, use data-ref or data-url else if
// no href use data-url else href. Should work if element (button) does
......@@ -4982,7 +4982,8 @@
"gadget": document.getElementById(id)
};
return util.mergeObject({
return util.mergeObject(
{
"form": response.gadget.getElementsByTagName("form")[0],
"state": (response.gadget || {}).state
},
......@@ -5018,15 +5019,15 @@
* @param {object} data Data passed along with this (JQM) event
*/
app.parsePage = function (e, data) {
var page, base, create, config, raw_url, handle, clean_url, parsed_url,
destination, first;
var page, base, config, raw_url, handle, clean_url, parsed_url, first;
if (data) {
// update page title on backwards transition to the first page (still
// is in DOM, so no new page created, so no title update...)
// TODO: not bulletproof i18n handling... we expect i18n to be defined
if (typeof data.toPage === "object") {
if ($.mobile.firstPage[0].getAttribute("data-url") === data.toPage[0].getAttribute("data-url")) {
if ($.mobile.firstPage[0].getAttribute("data-url") ===
data.toPage[0].getAttribute("data-url")) {
app.setPageTitle("global_dict.home");
}
}
......@@ -5052,7 +5053,8 @@
if (e) {
page = util.getPage(raw_url.split("#").pop());
base = page ? page.getAttribute("data-external-page") : null;
first = $.mobile.firstPage[0].getAttribute("data-url") === config.data_url;
first = $.mobile.firstPage[0].getAttribute("data-url") ===
config.data_url;
if (first || (page && base) || raw_url === $.mobile.getDocumentUrl() ||
data.options.role === "popup") {
......@@ -5146,7 +5148,7 @@
// panel close (since default does not work on dynamic content
// TODO: integrate this into action if there is no other way!
.on("click", "div.ui-panel a.ui-panel-close", function (e) {
.on("click", "div.ui-panel a.ui-panel-close", function () {
$(this).closest("div.ui-panel").panel("close");
})
......@@ -5188,13 +5190,13 @@
// popup content loading
.find(".ui-popup, .ui-panel")
.on("popupbeforeposition panelopen", function (e) {
factory.util.generateDynamicContents(app.parseAction(e));
factory.util.generateDynamicContents(app.parseAction(e));
});
// remove focus from active elements on key-tab switches
window.onblur = function () {
document.activeElement.blur();
};
window.onblur = function () {
document.activeElement.blur();
};
};
......@@ -5255,7 +5257,7 @@
},
//customValidations: util.declareJS(),
form: {
onInvalid: function (error) {
onInvalid: function () {
util.return_out();
}
}
......@@ -5295,10 +5297,11 @@
**/
util.format = function (str, spec) {
switch (spec.type) {
case "integer":
if (!isNaN(parseFloat(str)) && isFinite(str)) {
return Math.round(str).toFixed(spec.digits);
}
case "integer":
if (!isNaN(parseFloat(str)) && isFinite(str)) {
return Math.round(str).toFixed(spec.digits);
}
return str;
}
return str;
};
......@@ -5332,7 +5335,7 @@
* @param {array} arr Path leading to a value
* @return {string} value
**/
util.fetchByArray = function(obj, arr) {
util.fetchByArray = function (obj, arr) {
var n, key;
for (n = 0; n < arr.length; n += 1) {
......@@ -5644,7 +5647,7 @@
* @return {object} promise
**/
app.content.set = function (content_dict, url_dict, create, purge) {
var pass, set_url_dict, set_content_dict;
var pass;
if (!content_dict) {
util.loader("", "status_dict.parse_error", "ban-circle");
......@@ -5667,19 +5670,20 @@
// and go
return storage.fetchConfigAttachment({
"storage": app.storage_dict.settings,
"file": pass.url_dict.href ? app.storage_dict.property_dict.name_dict.gadgets :
app.storage_dict.property_dict.name_dict.settings,
"file": (pass.url_dict.href ?
app.storage_dict.property_dict.name_dict.gadgets :
app.storage_dict.property_dict.name_dict.settings),
"attachment": pass.url_dict.href ||
app.storage_dict.property_dict.name_dict.configuration,
"pass": pass
})
.then(app.content.fields)
.then(app.content.test)
.then(app.content.sample)
.then(app.content.total)
.then(app.content.query)
.then(app.content.make)
.fail(app.util.error);
.then(app.content.fields)
.then(app.content.test)
.then(app.content.sample)
.then(app.content.total)
.then(app.content.query)
.then(app.content.make)
.fail(app.util.error);
};
......@@ -5732,15 +5736,16 @@
// try to get 1 record for this portal_type
if (app.storage_dict.property_dict.allow_sample_data && pass.grant &&
(pass.create !== false || pass.purge) && pass.config_dict.initial_query
) {
(pass.create !== false || pass.purge) &&
pass.config_dict.initial_query
) {
return storage.fetch({
"pass": pass,
"storage": "items",
"query": storage.parseQuery(
{"limit": [0, 1]},
pass.config_dict.portal_type_source
),
)
});
}
}
......@@ -5766,43 +5771,47 @@
{"url": "data/" + pass.config_dict.portal_type_title + "_sample.json"}
)
// STORE SAMPLE DATA HERE!
.then(function (e) {
var response, i, len, promise_list, record;
response = util.parse(e.target.responseText);
len = response.length;
promise_list = [];
// NOTE: no more need to test for and fetch fields, because they
// will be defined, as this method is only called inside the
// content-loop.
// NOTE: do we still validate against field_dict?
for (i = 0; i < len; i += 1) {
record = response[i];
record.portal_type = pass.config_dict.portal_type_source;
promise_list[i] = storage.write({
"sample_data": record,
"sample_store": true,
"state": {}
});
}
.then(function (e) {
var response, i, len, promise_list, record;
response = util.parse(e.target.responseText);
len = response.length;
promise_list = [];
// NOTE: no more need to test for and fetch fields, because they
// will be defined, as this method is only called inside the
// content-loop.
// NOTE: do we still validate against field_dict?
for (i = 0; i < len; i += 1) {
record = response[i];
record.portal_type = pass.config_dict.portal_type_source;
promise_list[i] = storage.write({
"sample_data": record,
"sample_store": true,
"state": {}
});
}
return RSVP.all(promise_list)
.then(function(response_list) {
if (!response_list[0]) {
app.util.loader("", "status_dict.internal_error", "ban-circle");
} else {
app.util.loader("", "status_dict.success", "check");
}
// just return pass and continue
return {
"pass": pass
};
})
.fail(app.util.error);
})
.fail(app.util.error);
return RSVP.all(promise_list)
.then(function (response_list) {
if (!response_list[0]) {
app.util.loader(
"",
"status_dict.internal_error",
"ban-circle"
);
} else {
app.util.loader("", "status_dict.success", "check");
}
// just return pass and continue
return {
"pass": pass
};
})
.fail(app.util.error);
})
.fail(app.util.error);
}
}
return {
......@@ -5874,10 +5883,10 @@
// TODO: get ALL RECORDS matching query (and make this if disappear ...)
if ((!app.storage_dict.property_dict.skip_total_records &&
pass.config_dict.skip_total_records !== true) &&
(pass.grant || (pass.url_dict.mode === "new" || pass.purge) &&
((pass.grant || (pass.url_dict.mode === "new" || pass.purge)) &&
(pass.state && pass.state.query._id === undefined) &&
pass.config_dict.initial_query)
) {
) {
// reset limit from sampling [0,1] and store query
pass.state.query.limit = [];
app.util.loader("", "status_dict.loading_total");
......@@ -5911,7 +5920,8 @@
// fetch full documents (unless force_field_definitions is set)
if (pass.create === false) {
if (!storage || (storage && !app.storage_dict.property_dict.force_field_definitions)) {
if (!storage || (storage &&
!app.storage_dict.property_dict.force_field_definitions)) {
pass.state.query.include_docs = true;
}
pass.state.query.limit = pass.store_limit;
......@@ -5919,9 +5929,10 @@
// only fetch columns based on gadget configuration
} else {
if (pass.data_dict.field_dict &&
storage && app.storage_dict.property_dict.force_field_definitions &&
storage &&
app.storage_dict.property_dict.force_field_definitions &&
pass.config_dict.scheme
) {
) {
pass.data_dict.field_list = storage.makeSelectList(
pass.config_dict.scheme
);
......@@ -5939,7 +5950,7 @@
// get items/item
if (pass.grant &&
(pass.url_dict.mode !== "new" || !pass.config_dict.initial_query)
) {
) {
app.util.loader("", "status_dict.loading_set");
return storage.fetch({
"storage": "items",
......@@ -6009,22 +6020,24 @@
}
switch (route) {
case "input":
case "select":
case "textarea":
case "force_form_element":
generator = {"fragment": factory.widget.formElement(pass.content_dict)};
break;
case "divider":
case "item":
generator = {"fragment": pass.content_dict.content};
break;
case (undefined):
generator = {"fragment": document.createDocumentFragment()};
break;
default:
generator = {"fragment": factory.element(pass.content_dict)};
break;
case "input":
case "select":
case "textarea":
case "force_form_element":
generator = {
"fragment": factory.widget.formElement(pass.content_dict)
};
break;
case "divider":
case "item":
generator = {"fragment": pass.content_dict.content};
break;
case undefined:
generator = {"fragment": document.createDocumentFragment()};
break;
default:
generator = {"fragment": factory.element(pass.content_dict)};
break;
}
}
}
......@@ -6101,7 +6114,7 @@
// add caption
if (quirk_dict.caption) {
kids.push({
"generate":"widget",
"generate": "widget",
"type": "controlbar",
"property_dict": {"slot": quirk_dict.caption.slot || 1},
"children": [{
......@@ -6121,16 +6134,16 @@
}
// add popup (local/global)
switch(quirk_dict.need_popup) {
case "local":
if (util.getPage().querySelectorAll("div.local_popup") === null) {
target.appendChild(factory.widget.popup({}));
}
switch (quirk_dict.need_popup) {
case "local":
if (util.getPage().querySelectorAll("div.local_popup") === null) {
target.appendChild(factory.widget.popup({}));
}
break;
case "global":
if (document.getElementById("global_popup") === null) {
document.documentElement.appendChild(factory.widget.popup({}));
}
case "global":
if (document.getElementById("global_popup") === null) {
document.documentElement.appendChild(factory.widget.popup({}));
}
break;
}
}
......@@ -6159,7 +6172,8 @@
kid.direct.href = kid.direct.href.replace("__id__", is_id);
} else if (kid.property_dict) {
// continue inheriting to all widgets
kid.property_dict.item_identifier = window.encodeURIComponent(is_id);
kid.property_dict.item_identifier =
window.encodeURIComponent(is_id);
}
}
......@@ -6187,11 +6201,11 @@
if (kid.logic && kid.logic.setParam) {
kid.direct.href += kid.direct.href.indexOf("?") > 0 ? "&" : "?";
switch (kid.logic.setParam[1]) {
case "location":
target = window.location.origin +
window.location.pathname +
window.location.hash.split("?")[0];
break;
case "location":
target = window.location.origin +
window.location.pathname +
window.location.hash.split("?")[0];
break;
}
kid.direct.href += window.encodeURIComponent(kid.logic.setParam[0]) +
"=" + window.encodeURIComponent(target);
......@@ -6213,16 +6227,12 @@
// reference
if (quirk_dict.reference) {
switch (true) {
case !!kid.attributes:
kid.attributes["data-reference"] = quirk_dict.reference;
break;
case !!kid.property_dict:
kid.property_dict.reference = quirk_dict.reference;
break;
default:
kid.reference = quirk_dict.reference;
break;
if (!!kid.attribute) {
kid.attributes["data-reference"] = quirk_dict.reference;
} else if (!!kid.property_dict) {
kid.property_dict.reference = quirk_dict.reference;
} else {
kid.reference = quirk_dict.reference;
}
}
......@@ -6236,11 +6246,11 @@
// go-go-gadget-o-promise...
promise_list[i] = map.element(kid, wrapper, i)
.then(function(mapping) {
.then(function (mapping) {
if (mapping.inherit) {
return app.content.set({}, mapping);
}
return app.content.set(mapping)
return app.content.set(mapping);
})
.fail(util.error);
}
......@@ -6249,11 +6259,11 @@
return RSVP.all(promise_list)
.then(function (response_list) {
var k, l, target, wrapper_selector, response, content;
var k, l, done_target, wrapper_selector, response, content;
for (k = 0, l = response_list.length; k < l; k += 1) {
response = response_list[k];
target = undefined;
done_target = undefined;
if (response) {
// generate target for and append response
// NOTE: wrapper.spec is used for header only.
......@@ -6268,9 +6278,10 @@
);
// NOTE: wrapper_selector will return a fragment (set to
// first/last-ElementChild or a DOM node
target = wrapper_selector[wrapper.target_selector + "ElementChild"]
done_target =
wrapper_selector[wrapper.target_selector + "ElementChild"]
|| wrapper_selector;
target.appendChild(response);
done_target.appendChild(response);
}
content = wrapper_selector || response;
......@@ -6289,14 +6300,18 @@
if (util.testForString("ui-footer", last.className)) {
document.body.insertBefore(wrapper.fragment, last);
} else {
document.body.insertBefore(content, document.body.children[0]);
document.body.insertBefore(
content,
document.body.children[0]
);
}
} else {
// TODO: terrible. what about footer/header/popup.
if (content.querySelector("div.panel")) {
wrapper.fragment.appendChild(content);
} else {
(wrapper.child_selector || wrapper.fragment).appendChild(content);
(wrapper.child_selector || wrapper.fragment)
.appendChild(content);
}
}
}
......@@ -6321,7 +6336,7 @@
}
//and add new dynamic content
update_target.appendChild(wrapper.fragment)
update_target.appendChild(wrapper.fragment);
// CREATE
} else {
selector = wrapper.fragment.firstElementChild || wrapper.fragment;
......@@ -6339,7 +6354,7 @@
}
// tuck to gadget
// WARNING: this should use data(), it is BAD practice to store like this
// WARNING: this should use data(), it BAD to store like this
selector.state = pass.state;
// not auth, no mojo!
......@@ -6474,7 +6489,7 @@
level = spec.layout_level || 0;
core = spec.link_core || (spec.fragment_list ?
spec.fragment_list.slice(0, level + 1).join("/") : "");
spec.fragment_list.slice(0, level + 1).join("/") : "");
return ("#" + core + "/" + window.encodeURIComponent(id)
);
......@@ -6599,7 +6614,7 @@
**/
app.init.config = function (content_dict) {
var i, j, arr, promise_list, len, feature, feature_len, name, dict,
set, child_len, type, nav, language, target, initializer, solver;
set, type, nav, language, target, initializer;
arr = app.empty_array;
promise_list = [];
......@@ -6611,11 +6626,16 @@
// test support
if (app.init.testSupport(feature.modernizr || [])) {
set = feature.set_on;
feature_len = (feature.scheme || arr).length;
type = feature.type;
initializer = feature.initializer;
target = (set ? app[feature.set_on] = {} : undefined) || app;
set = feature.set_on;
if (set) {
target = app[feature.set_on] = {};
} else {
target = app;
}
//target = (set ? app[set] = {} : undefined) || app;
// merge properties on target
target.property_dict = util.mergeObject(
......@@ -6633,25 +6653,26 @@
// TODO: Force browser language for i18n - not generic, remove
switch (feature.handle) {
case "language":
nav = window.navigator;
language = nav.userLanguage || nav.language;
if (language && target.property_dict.use_browser_language) {
dict.fallbackLng = dict.lng;
dict.lng = language;
}
break;
case "language":
nav = window.navigator;
language = nav.userLanguage || nav.language;
if (language && target.property_dict.use_browser_language) {
dict.fallbackLng = dict.lng;
dict.lng = language;
}
break;
}
// set promise and access to this module
target[name] = promise_list[j] = initializer ?
window[type][feature.initializer](dict.property_dict) : window[type];
window[type][feature.initializer](dict.property_dict) :
window[type];
}
}
if ((feature.children || arr).length > 0) {
promise_list[j + 1] = app.content.set(feature);
};
}
}
return RSVP.all(promise_list);
};
......
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