##// END OF EJS Templates
Font-awesome icons for toggle buttons
Sylvain Corlay -
Show More
@@ -307,17 +307,21 b' define(['
307 307 if (options === undefined || options.updated_view != this) {
308 308 // Add missing items to the DOM.
309 309 var items = this.model.get('_options_labels');
310 var icons = this.model.get('icons');
311 var previous_icons = this.model.previous('icons') || [];
310 312 var disabled = this.model.get('disabled');
311 313 var that = this;
312 314 var item_html;
313 315 _.each(items, function(item, index) {
314 if (item.trim().length === 0) {
316 if (item.trim().length === 0 && (!icons[index] ||
317 icons[index].trim().length === 0)) {
315 318 item_html = " ";
316 319 } else {
317 320 item_html = utils.escape_html(item);
318 321 }
319 322 var item_query = '[data-value="' + encodeURIComponent(item) + '"]';
320 323 var $item_element = that.$buttongroup.find(item_query);
324 var $icon_element = $item_element.find('.fa');
321 325 if (!$item_element.length) {
322 326 $item_element = $('<button/>')
323 327 .attr('type', 'button')
@@ -329,6 +333,7 b' define(['
329 333 .attr('value', item)
330 334 .on('click', $.proxy(that.handle_click, that));
331 335 that.update_style_traits($item_element);
336 $icon_element = $('<i class="fa"></i>').prependTo($item_element);
332 337 }
333 338 if (that.model.get('selected_label') == item) {
334 339 $item_element.addClass('active');
@@ -336,7 +341,10 b' define(['
336 341 $item_element.removeClass('active');
337 342 }
338 343 $item_element.prop('disabled', disabled);
339 $item_element.attr('title', that.model.get('tooltips')[index]);
344 $item_element.attr('title', that.model.get('tooltips')[index]);
345 $icon_element
346 .removeClass(previous_icons[index])
347 .addClass(icons[index]);
340 348 });
341 349
342 350 // Remove items that no longer exist.
@@ -201,6 +201,7 b' class ToggleButtons(_Selection):'
201 201 button can be toggled at any point in time."""
202 202 _view_name = Unicode('ToggleButtonsView', sync=True)
203 203 tooltips = List(Unicode(), sync=True)
204 icons = List(Unicode(), sync=True)
204 205
205 206 button_style = CaselessStrEnum(
206 207 values=['primary', 'success', 'info', 'warning', 'danger', ''],
General Comments 0
You need to be logged in to leave comments. Login now