$h4.text(header);
return $h4;
},
+ label : function(name, type) {
+ var $span = $(document.createElement('span'));
+ $span.addClass('label');
+ if (type !== undefined) {
+ $span.addClass(type);
+ } else if (type !== null) {
+ $span.addClass('label-info');
+ }
+ $span.append(name);
+ return $span;
+ },
list : function(list) {
var $ul = $(document.createElement('ul'));
$(list).each(function(index, value) {
return $clone;
},
// populate modal
- populate : function($modal, header, $body, footer) {
+ populate : function($modal, header, $body, footer, ajax) {
+ if (ajax === undefined && ajax !== false) {
+ $.getJSON('/web.json'); // session check per modal
+ }
var $h3 = $modal.find("h3");
$h3.text(header);
spawn : function(id, header, $body, footer) {
var $modal = one.lib.modal.clone(id);
one.lib.modal.populate($modal, header, $body, footer);
+ $modal.on('hide', function () {
+ $('.modal-body').scrollTop(0);
+ });
return $modal;
},
// empty modal
one.lib.form = {
// create select-option form element
select : {
- create : function(options, multiple) {
+ create : function(options, multiple, sort) {
// assert - auto assign
if (options == undefined)
options = {};
$select.attr("multiple", "multiple");
}
var optionArray = one.lib.form.select.options(options);
+
+ // If specified, sort the option elements based on their text field
+ if (sort == true && optionArray.length > 1) {
+ var shifted = true;
+ var limit = optionArray.length;
+ while (shifted) {
+ shifted = false;
+ for ( var i = 1; i < limit; i++) {
+ if (optionArray[i - 1].text() > optionArray[i].text()) {
+ var swap = optionArray[i - 1];
+ optionArray[i - 1] = optionArray[i];
+ optionArray[i] = swap;
+ shifted = true;
+ }
+ }
+ }
+ }
+
$(optionArray).each(function(index, value) {
$select.append(value);
});