Commit 8fce02e9 authored by Ad Schellevis's avatar Ad Schellevis Committed by Franco Fichtner

(ui) pull in latest bootgrid version

(cherry picked from commit 14c59c64)
(cherry picked from commit d37aff72)
parent a88ea880
/*! /*!
* jQuery Bootgrid v1.2.0 - 05/02/2015 * jQuery Bootgrid v1.3.1 - 09/11/2015
* Copyright (c) 2014-2015 Rafael Staib (http://www.jquery-bootgrid.com) * Copyright (c) 2014-2015 Rafael Staib (http://www.jquery-bootgrid.com)
* Licensed under MIT http://www.opensource.org/licenses/MIT * Licensed under MIT http://www.opensource.org/licenses/MIT
*/ */
......
/*! /*!
* jQuery Bootgrid v1.2.0 - 05/02/2015 * jQuery Bootgrid v1.3.1 - 09/11/2015
* Copyright (c) 2014-2015 Rafael Staib (http://www.jquery-bootgrid.com) * Copyright (c) 2014-2015 Rafael Staib (http://www.jquery-bootgrid.com)
* Licensed under MIT http://www.opensource.org/licenses/MIT * Licensed under MIT http://www.opensource.org/licenses/MIT
*/ */
...@@ -126,6 +126,7 @@ ...@@ -126,6 +126,7 @@
searchable: !(data.searchable === false), // default: true searchable: !(data.searchable === false), // default: true
sortable: !(data.sortable === false), // default: true sortable: !(data.sortable === false), // default: true
visible: !(data.visible === false), // default: true visible: !(data.visible === false), // default: true
visibleInSelection: !(data.visibleInSelection === false), // default: true
width: ($.isNumeric(data.width)) ? data.width + "px" : width: ($.isNumeric(data.width)) ? data.width + "px" :
(typeof(data.width) === "string") ? data.width : null (typeof(data.width) === "string") ? data.width : null
}; };
...@@ -382,27 +383,30 @@ ...@@ -382,27 +383,30 @@
$.each(this.columns, function (i, column) $.each(this.columns, function (i, column)
{ {
var item = $(tpl.actionDropDownCheckboxItem.resolve(getParams.call(that, if (column.visibleInSelection)
{ name: column.id, label: column.text, checked: column.visible }))) {
.on("click" + namespace, selector, function (e) var item = $(tpl.actionDropDownCheckboxItem.resolve(getParams.call(that,
{ { name: column.id, label: column.text, checked: column.visible })))
e.stopPropagation(); .on("click" + namespace, selector, function (e)
var $this = $(this),
checkbox = $this.find(checkboxSelector);
if (!checkbox.prop("disabled"))
{ {
column.visible = checkbox.prop("checked"); e.stopPropagation();
var enable = that.columns.where(isVisible).length > 1;
$this.parents(itemsSelector).find(selector + ":has(" + checkboxSelector + ":checked)")
._bgEnableAria(enable).find(checkboxSelector)._bgEnableField(enable);
that.element.find("tbody").empty(); // Fixes an column visualization bug var $this = $(this),
renderTableHeader.call(that); checkbox = $this.find(checkboxSelector);
loadData.call(that); if (!checkbox.prop("disabled"))
} {
}); column.visible = checkbox.prop("checked");
dropDown.find(getCssSelector(css.dropDownMenuItems)).append(item); var enable = that.columns.where(isVisible).length > 1;
$this.parents(itemsSelector).find(selector + ":has(" + checkboxSelector + ":checked)")
._bgEnableAria(enable).find(checkboxSelector)._bgEnableField(enable);
that.element.find("tbody").empty(); // Fixes an column visualization bug
renderTableHeader.call(that);
loadData.call(that);
}
});
dropDown.find(getCssSelector(css.dropDownMenuItems)).append(item);
}
}); });
actions.append(dropDown); actions.append(dropDown);
} }
...@@ -491,16 +495,17 @@ ...@@ -491,16 +495,17 @@
} }
} }
function renderPaginationItem(list, uri, text, markerCss) function renderPaginationItem(list, page, text, markerCss)
{ {
var that = this, var that = this,
tpl = this.options.templates, tpl = this.options.templates,
css = this.options.css, css = this.options.css,
values = getParams.call(this, { css: markerCss, text: text, uri: "#" + uri }), values = getParams.call(this, { css: markerCss, text: text, page: page }),
item = $(tpl.paginationItem.resolve(values)) item = $(tpl.paginationItem.resolve(values))
.on("click" + namespace, getCssSelector(css.paginationButton), function (e) .on("click" + namespace, getCssSelector(css.paginationButton), function (e)
{ {
e.stopPropagation(); e.stopPropagation();
e.preventDefault();
var $this = $(this), var $this = $(this),
parent = $this.parent(); parent = $this.parent();
...@@ -512,8 +517,8 @@ ...@@ -512,8 +517,8 @@
next: that.current + 1, next: that.current + 1,
last: that.totalPages last: that.totalPages
}; };
var command = $this.attr("href").substr(1); var command = $this.data("page");
that.current = commandList[command] || +command; // + converts string to int that.current = commandList[command] || command;
loadData.call(that); loadData.call(that);
} }
$this.trigger("blur"); $this.trigger("blur");
...@@ -546,14 +551,14 @@ ...@@ -546,14 +551,14 @@
$.each(rowCountList, function (index, value) $.each(rowCountList, function (index, value)
{ {
var item = $(tpl.actionDropDownItem.resolve(getParams.call(that, var item = $(tpl.actionDropDownItem.resolve(getParams.call(that,
{ text: getText(value), uri: "#" + value }))) { text: getText(value), action: value })))
._bgSelectAria(value === that.rowCount) ._bgSelectAria(value === that.rowCount)
.on("click" + namespace, menuItemSelector, function (e) .on("click" + namespace, menuItemSelector, function (e)
{ {
e.preventDefault(); e.preventDefault();
var $this = $(this), var $this = $(this),
newRowCount = +$this.attr("href").substr(1); newRowCount = $this.data("action");
if (newRowCount !== that.rowCount) if (newRowCount !== that.rowCount)
{ {
// todo: sophisticated solution needed for calculating which page is selected // todo: sophisticated solution needed for calculating which page is selected
...@@ -562,7 +567,7 @@ ...@@ -562,7 +567,7 @@
$this.parents(menuItemsSelector).children().each(function () $this.parents(menuItemsSelector).children().each(function ()
{ {
var $item = $(this), var $item = $(this),
currentRowCount = +$item.find(menuItemSelector).attr("href").substr(1); currentRowCount = $item.find(menuItemSelector).data("action");
$item._bgSelectAria(currentRowCount === newRowCount); $item._bgSelectAria(currentRowCount === newRowCount);
}); });
$this.parents(menuSelector).find(menuTextSelector).text(getText(newRowCount)); $this.parents(menuSelector).find(menuTextSelector).text(getText(newRowCount));
...@@ -1351,7 +1356,7 @@ ...@@ -1351,7 +1356,7 @@
templates: { templates: {
actionButton: "<button class=\"btn btn-default\" type=\"button\" title=\"{{ctx.text}}\">{{ctx.content}}</button>", actionButton: "<button class=\"btn btn-default\" type=\"button\" title=\"{{ctx.text}}\">{{ctx.content}}</button>",
actionDropDown: "<div class=\"{{css.dropDownMenu}}\"><button class=\"btn btn-default dropdown-toggle\" type=\"button\" data-toggle=\"dropdown\"><span class=\"{{css.dropDownMenuText}}\">{{ctx.content}}</span> <span class=\"caret\"></span></button><ul class=\"{{css.dropDownMenuItems}}\" role=\"menu\"></ul></div>", actionDropDown: "<div class=\"{{css.dropDownMenu}}\"><button class=\"btn btn-default dropdown-toggle\" type=\"button\" data-toggle=\"dropdown\"><span class=\"{{css.dropDownMenuText}}\">{{ctx.content}}</span> <span class=\"caret\"></span></button><ul class=\"{{css.dropDownMenuItems}}\" role=\"menu\"></ul></div>",
actionDropDownItem: "<li><a href=\"{{ctx.uri}}\" class=\"{{css.dropDownItem}} {{css.dropDownItemButton}}\">{{ctx.text}}</a></li>", actionDropDownItem: "<li><a data-action=\"{{ctx.action}}\" class=\"{{css.dropDownItem}} {{css.dropDownItemButton}}\">{{ctx.text}}</a></li>",
actionDropDownCheckboxItem: "<li><label class=\"{{css.dropDownItem}}\"><input name=\"{{ctx.name}}\" type=\"checkbox\" value=\"1\" class=\"{{css.dropDownItemCheckbox}}\" {{ctx.checked}} /> {{ctx.label}}</label></li>", actionDropDownCheckboxItem: "<li><label class=\"{{css.dropDownItem}}\"><input name=\"{{ctx.name}}\" type=\"checkbox\" value=\"1\" class=\"{{css.dropDownItemCheckbox}}\" {{ctx.checked}} /> {{ctx.label}}</label></li>",
actions: "<div class=\"{{css.actions}}\"></div>", actions: "<div class=\"{{css.actions}}\"></div>",
body: "<tbody></tbody>", body: "<tbody></tbody>",
...@@ -1364,7 +1369,7 @@ ...@@ -1364,7 +1369,7 @@
loading: "<tr><td colspan=\"{{ctx.columns}}\" class=\"loading\">{{lbl.loading}}</td></tr>", loading: "<tr><td colspan=\"{{ctx.columns}}\" class=\"loading\">{{lbl.loading}}</td></tr>",
noResults: "<tr><td colspan=\"{{ctx.columns}}\" class=\"no-results\">{{lbl.noResults}}</td></tr>", noResults: "<tr><td colspan=\"{{ctx.columns}}\" class=\"no-results\">{{lbl.noResults}}</td></tr>",
pagination: "<ul class=\"{{css.pagination}}\"></ul>", pagination: "<ul class=\"{{css.pagination}}\"></ul>",
paginationItem: "<li class=\"{{ctx.css}}\"><a href=\"{{ctx.uri}}\" class=\"{{css.paginationButton}}\">{{ctx.text}}</a></li>", paginationItem: "<li class=\"{{ctx.css}}\"><a data-page=\"{{ctx.page}}\" class=\"{{css.paginationButton}}\">{{ctx.text}}</a></li>",
rawHeaderCell: "<th class=\"{{ctx.css}}\">{{ctx.content}}</th>", // Used for the multi select box rawHeaderCell: "<th class=\"{{ctx.css}}\">{{ctx.content}}</th>", // Used for the multi select box
row: "<tr{{ctx.attr}}>{{ctx.cells}}</tr>", row: "<tr{{ctx.attr}}>{{ctx.cells}}</tr>",
search: "<div class=\"{{css.search}}\"><div class=\"input-group\"><span class=\"{{css.icon}} input-group-addon {{css.iconSearch}}\"></span> <input type=\"text\" class=\"{{css.searchField}}\" placeholder=\"{{lbl.search}}\" /></div></div>", search: "<div class=\"{{css.search}}\"><div class=\"input-group\"><span class=\"{{css.icon}} input-group-addon {{css.iconSearch}}\"></span> <input type=\"text\" class=\"{{css.searchField}}\" placeholder=\"{{lbl.search}}\" /></div></div>",
...@@ -1383,7 +1388,7 @@ ...@@ -1383,7 +1388,7 @@
{ {
if (this.options.ajax) if (this.options.ajax)
{ {
// todo: implement ajax DELETE // todo: implement ajax PUT
} }
else else
{ {
...@@ -1466,19 +1471,6 @@ ...@@ -1466,19 +1471,6 @@
return this; return this;
}; };
/**
* refresh grid (OPNsense addition)
*
* @method reload
* @chainable
**/
Grid.prototype.refresh = function()
{
loadData.call(this);
return this;
};
/** /**
* Removes rows by ids. Removes selected rows if no ids are provided. * Removes rows by ids. Removes selected rows if no ids are provided.
* *
......
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