14 one.lib.registry = {};
18 empty : function($dashlet) {
21 append : function($dashlet, $content) {
22 $dashlet.append($content);
24 header : function(header) {
25 var $h4 = $(document.createElement('h4'));
29 list : function(list) {
30 var $ul = $(document.createElement('ul'));
31 $(list).each(function(index, value) {
32 var $li = $(document.createElement('li'));
39 config : function(name, id, type, size) {
41 button['name'] = name;
43 button['type'] = type;
44 button['size'] = size;
47 single : function(name, id, type, size) {
49 var button = one.lib.dashlet.button.config(name, id, type, size);
50 buttonList.push(button);
53 button : function(buttonList) {
54 var $buttonGroup = $(document.createElement('div'));
55 $buttonGroup.addClass("btn-group");
56 $(buttonList).each(function(index, value) {
57 var $button = $(document.createElement('button'));
58 $button.text(value.name);
59 $button.addClass('btn');
60 $button.addClass(value['type']);
61 $button.addClass(value['size']);
62 if (!(typeof value.id === 'undefined')) {
63 $button.attr('id', value.id);
65 $buttonGroup.append($button);
71 table : function(classes, id) {
72 var $table = $(document.createElement('table'));
73 $table.addClass("table");
74 $(classes).each(function(index, value) {
75 $table.addClass(value);
77 if (!(typeof id === 'undefined'))
78 $table.attr("id", id);
81 header : function(headers) {
82 var $thead = $(document.createElement('thead'));
83 var $tr = $(document.createElement('tr'));
84 $(headers).each(function(index, value) {
85 $th = $(document.createElement('th'));
92 body : function(body, thead) {
93 var $tbody = $(document.createElement('tbody'));
95 if (body.length == 0 && !(typeof thead === 'undefined')) {
96 var $tr = $(document.createElement('tr'));
97 var $td = $(document.createElement('td'));
98 $td.attr("colspan", thead.length);
99 $td.text("No data available");
100 $td.addClass("empty");
105 // else, populate as usual
106 $(body).each(function(index, value) {
107 var $tr = $(document.createElement('tr'));
109 if (value['id'] != undefined) {
110 $tr.attr('data-id', value['id']);
113 $(value["type"]).each(function(index, value) {
117 $(value["entry"]).each(function(index, value) {
118 var $td = $(document.createElement('td'));
127 description : function(description, horizontal) {
128 var $dl = $(document.createElement('dl'));
129 if (horizontal == true) {
130 $dl.addClass("dl-horizontal");
132 $(description).each(function(index, value) {
133 var $dt = $(document.createElement('dt'));
135 var $dd = $(document.createElement('dd'));
137 $dl.append($dt).append($dd);
145 // clone default modal
146 clone : function(id) {
147 var $clone = $("#modal").clone(true);
148 $clone.attr("id", id);
152 populate : function($modal, header, $body, footer) {
153 var $h3 = $modal.find("h3");
156 var $modalBody = $modal.find(".modal-body");
157 $modalBody.append($body);
159 $(footer).each(function(index, value) {
160 $modal.find(".modal-footer").append(value);
163 // clone and populate modal
164 spawn : function(id, header, $body, footer) {
165 var $modal = one.lib.modal.clone(id);
166 one.lib.modal.populate($modal, header, $body, footer);
170 empty : function($modal) {
171 $modal.find("h3").empty();
172 $modal.find(".modal-body").empty();
173 $modal.find(".modal-footer").empty();
177 body : function($modal, $body) {
178 $modal.find(".modal-body").empty();
179 $modal.find(".modal-body").append($body);
186 // create select-option form element
188 create : function(options, multiple) {
189 // assert - auto assign
190 if (options == undefined)
193 var $select = $(document.createElement('select'));
194 if (multiple == true) {
195 $select.attr("multiple", "multiple");
197 var optionArray = one.lib.form.select.options(options);
198 $(optionArray).each(function(index, value) {
199 $select.append(value);
203 options : function(options) {
205 $.each(options, function(key, value) {
206 var $option = $(document.createElement('option'));
207 $option.attr("value", key);
209 result.push($option);
213 empty : function($select) {
216 inject : function($select, options) {
218 var options = one.lib.form.select.options(options);
219 $select.append(options);
221 prepend : function($select, options) {
222 var options = one.lib.form.select.options(options);
223 $select.prepend(options);
225 bubble : function($select, bubble) {
226 $($select.find("option")).each(function(index, value) {
227 if ($(value).attr("value") == bubble) {
228 var option = $(value);
230 $select.prepend(option);
236 // create legend form element
237 legend : function(name) {
238 var $legend = $(document.createElement('legend'));
242 // create label form element
243 label : function(name) {
244 var $label = $(document.createElement('label'));
248 // create help block form element
249 help : function(help) {
250 var $help = $(document.createElement('span'));
252 $help.addClass("help-block");
255 // create generic text input
256 input : function(placeholder) {
257 var $input = $(document.createElement('input'));
258 $input.attr('type', 'text');
259 $input.attr('placeholder', placeholder);
266 unfocus : function($nav) {
267 $($nav.find("li")).each(function(index, value) {
268 $(value).removeClass("active");
274 one.lib.alert = function(alert) {
275 $("#alert p").text(alert);
277 $("#alert").slideToggle();
278 clearTimeout(one.lib.registry.alert);
279 one.lib.registry.alert = setTimeout(function() {
280 $("#alert").slideUp();