diff --git a/.bowerrc b/.bowerrc index d4c450c..e818e6b 100644 --- a/.bowerrc +++ b/.bowerrc @@ -1,6 +1,7 @@ { - "directory" : "public/assets/libs", + "directory": "public/assets/libs", "ignoredDependencies": [ + "es6-promise", "file-saver", "html2canvas", "jspdf", diff --git a/bower.json b/bower.json index ec051d8..174f802 100755 --- a/bower.json +++ b/bower.json @@ -9,7 +9,7 @@ "jquery": "^2.1.4", "bootstrap": "^3.3.7", "font-awesome": "^4.6.1", - "bootstrap-table": "~1.11.0", + "bootstrap-table": "fastadmin-bootstraptable#~1.11.3", "jstree": "~3.3.2", "moment": "^2.20.1", "plupload": "~2.2.0", diff --git a/public/assets/js/require-backend.js b/public/assets/js/require-backend.js index d960221..712e1da 100644 --- a/public/assets/js/require-backend.js +++ b/public/assets/js/require-backend.js @@ -29,7 +29,7 @@ require.config({ 'bootstrap-daterangepicker': '../libs/bootstrap-daterangepicker/daterangepicker', 'bootstrap-select': '../libs/bootstrap-select/dist/js/bootstrap-select.min', 'bootstrap-select-lang': '../libs/bootstrap-select/dist/js/i18n/defaults-zh_CN', - 'bootstrap-table': '../libs/bootstrap-table/dist/bootstrap-table', + 'bootstrap-table': '../libs/bootstrap-table/dist/bootstrap-table.min', 'bootstrap-table-export': '../libs/bootstrap-table/dist/extensions/export/bootstrap-table-export.min', 'bootstrap-table-mobile': '../libs/bootstrap-table/dist/extensions/mobile/bootstrap-table-mobile', 'bootstrap-table-lang': '../libs/bootstrap-table/dist/locale/bootstrap-table-zh-CN', diff --git a/public/assets/js/require-backend.min.js b/public/assets/js/require-backend.min.js index 22ab220..6038c71 100644 --- a/public/assets/js/require-backend.min.js +++ b/public/assets/js/require-backend.min.js @@ -42,7 +42,7 @@ require.config({ 'bootstrap-daterangepicker': '../libs/bootstrap-daterangepicker/daterangepicker', 'bootstrap-select': '../libs/bootstrap-select/dist/js/bootstrap-select.min', 'bootstrap-select-lang': '../libs/bootstrap-select/dist/js/i18n/defaults-zh_CN', - 'bootstrap-table': '../libs/bootstrap-table/dist/bootstrap-table', + 'bootstrap-table': '../libs/bootstrap-table/dist/bootstrap-table.min', 'bootstrap-table-export': '../libs/bootstrap-table/dist/extensions/export/bootstrap-table-export.min', 'bootstrap-table-mobile': '../libs/bootstrap-table/dist/extensions/mobile/bootstrap-table-mobile', 'bootstrap-table-lang': '../libs/bootstrap-table/dist/locale/bootstrap-table-zh-CN', @@ -5997,3106 +5997,7 @@ define('backend-init',['backend'], function (Backend) { }))); -/** - * @author zhixin wen <wenzhixin2010@gmail.com> - * version: 1.11.1 - * https://github.com/wenzhixin/bootstrap-table/ - */ - -(function ($) { - 'use strict'; - - // TOOLS DEFINITION - // ====================== - - var cachedWidth = null; - - // it only does '%s', and return '' when arguments are undefined - var sprintf = function (str) { - var args = arguments, - flag = true, - i = 1; - - str = str.replace(/%s/g, function () { - var arg = args[i++]; - - if (typeof arg === 'undefined') { - flag = false; - return ''; - } - return arg; - }); - return flag ? str : ''; - }; - - var getPropertyFromOther = function (list, from, to, value) { - var result = ''; - $.each(list, function (i, item) { - if (item[from] === value) { - result = item[to]; - return false; - } - return true; - }); - return result; - }; - - var getFieldIndex = function (columns, field) { - var index = -1; - - $.each(columns, function (i, column) { - if (column.field === field) { - index = i; - return false; - } - return true; - }); - return index; - }; - - // http://jsfiddle.net/wenyi/47nz7ez9/3/ - var setFieldIndex = function (columns) { - var i, j, k, - totalCol = 0, - flag = []; - - for (i = 0; i < columns[0].length; i++) { - totalCol += columns[0][i].colspan || 1; - } - - for (i = 0; i < columns.length; i++) { - flag[i] = []; - for (j = 0; j < totalCol; j++) { - flag[i][j] = false; - } - } - - for (i = 0; i < columns.length; i++) { - for (j = 0; j < columns[i].length; j++) { - var r = columns[i][j], - rowspan = r.rowspan || 1, - colspan = r.colspan || 1, - index = $.inArray(false, flag[i]); - - if (colspan === 1) { - r.fieldIndex = index; - // when field is undefined, use index instead - if (typeof r.field === 'undefined') { - r.field = index; - } - } - - for (k = 0; k < rowspan; k++) { - flag[i + k][index] = true; - } - for (k = 0; k < colspan; k++) { - flag[i][index + k] = true; - } - } - } - }; - - var getScrollBarWidth = function () { - if (cachedWidth === null) { - var inner = $('<p/>').addClass('fixed-table-scroll-inner'), - outer = $('<div/>').addClass('fixed-table-scroll-outer'), - w1, w2; - - outer.append(inner); - $('body').append(outer); - - w1 = inner[0].offsetWidth; - outer.css('overflow', 'scroll'); - w2 = inner[0].offsetWidth; - - if (w1 === w2) { - w2 = outer[0].clientWidth; - } - - outer.remove(); - cachedWidth = w1 - w2; - } - return cachedWidth; - }; - - var calculateObjectValue = function (self, name, args, defaultValue) { - var func = name; - - if (typeof name === 'string') { - // support obj.func1.func2 - var names = name.split('.'); - - if (names.length > 1) { - func = window; - $.each(names, function (i, f) { - func = func[f]; - }); - } else { - func = window[name]; - } - } - if (typeof func === 'object') { - return func; - } - if (typeof func === 'function') { - return func.apply(self, args || []); - } - if (!func && typeof name === 'string' && sprintf.apply(this, [name].concat(args))) { - return sprintf.apply(this, [name].concat(args)); - } - return defaultValue; - }; - - var compareObjects = function (objectA, objectB, compareLength) { - // Create arrays of property names - var objectAProperties = Object.getOwnPropertyNames(objectA), - objectBProperties = Object.getOwnPropertyNames(objectB), - propName = ''; - - if (compareLength) { - // If number of properties is different, objects are not equivalent - if (objectAProperties.length !== objectBProperties.length) { - return false; - } - } - - for (var i = 0; i < objectAProperties.length; i++) { - propName = objectAProperties[i]; - - // If the property is not in the object B properties, continue with the next property - if ($.inArray(propName, objectBProperties) > -1) { - // If values of same property are not equal, objects are not equivalent - if (objectA[propName] !== objectB[propName]) { - return false; - } - } - } - - // If we made it this far, objects are considered equivalent - return true; - }; - - var escapeHTML = function (text) { - if (typeof text === 'string') { - return text - .replace(/&/g, '&') - .replace(/</g, '<') - .replace(/>/g, '>') - .replace(/"/g, '"') - .replace(/'/g, ''') - .replace(/`/g, '`'); - } - return text; - }; - - var getRealDataAttr = function (dataAttr) { - for (var attr in dataAttr) { - var auxAttr = attr.split(/(?=[A-Z])/).join('-').toLowerCase(); - if (auxAttr !== attr) { - dataAttr[auxAttr] = dataAttr[attr]; - delete dataAttr[attr]; - } - } - - return dataAttr; - }; - - var getItemField = function (item, field, escape) { - var value = item; - - if (typeof field !== 'string' || item.hasOwnProperty(field)) { - return escape ? escapeHTML(item[field]) : item[field]; - } - var props = field.split('.'); - for (var p in props) { - if (props.hasOwnProperty(p)) { - value = value && value[props[p]]; - } - } - return escape ? escapeHTML(value) : value; - }; - - var isIEBrowser = function () { - return !!(navigator.userAgent.indexOf("MSIE ") > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)); - }; - - var objectKeys = function () { - // From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys - if (!Object.keys) { - Object.keys = (function() { - var hasOwnProperty = Object.prototype.hasOwnProperty, - hasDontEnumBug = !({ toString: null }).propertyIsEnumerable('toString'), - dontEnums = [ - 'toString', - 'toLocaleString', - 'valueOf', - 'hasOwnProperty', - 'isPrototypeOf', - 'propertyIsEnumerable', - 'constructor' - ], - dontEnumsLength = dontEnums.length; - - return function(obj) { - if (typeof obj !== 'object' && (typeof obj !== 'function' || obj === null)) { - throw new TypeError('Object.keys called on non-object'); - } - - var result = [], prop, i; - - for (prop in obj) { - if (hasOwnProperty.call(obj, prop)) { - result.push(prop); - } - } - - if (hasDontEnumBug) { - for (i = 0; i < dontEnumsLength; i++) { - if (hasOwnProperty.call(obj, dontEnums[i])) { - result.push(dontEnums[i]); - } - } - } - return result; - }; - }()); - } - }; - - // BOOTSTRAP TABLE CLASS DEFINITION - // ====================== - - var BootstrapTable = function (el, options) { - this.options = options; - this.$el = $(el); - this.$el_ = this.$el.clone(); - this.timeoutId_ = 0; - this.timeoutFooter_ = 0; - - this.init(); - }; - - BootstrapTable.DEFAULTS = { - classes: 'table table-hover', - sortClass: undefined, - locale: undefined, - height: undefined, - undefinedText: '-', - sortName: undefined, - sortOrder: 'asc', - sortStable: false, - striped: false, - columns: [[]], - data: [], - totalField: 'total', - dataField: 'rows', - method: 'get', - url: undefined, - ajax: undefined, - cache: true, - contentType: 'application/json', - dataType: 'json', - ajaxOptions: {}, - queryParams: function (params) { - return params; - }, - queryParamsType: 'limit', // undefined - responseHandler: function (res) { - return res; - }, - pagination: false, - onlyInfoPagination: false, - paginationLoop: true, - sidePagination: 'client', // client or server - totalRows: 0, // server side need to set - pageNumber: 1, - pageSize: 10, - pageList: [10, 25, 50, 100], - paginationHAlign: 'right', //right, left - paginationVAlign: 'bottom', //bottom, top, both - paginationDetailHAlign: 'left', //right, left - paginationPreText: '‹', - paginationNextText: '›', - search: false, - searchOnEnterKey: false, - strictSearch: false, - searchAlign: 'right', - selectItemName: 'btSelectItem', - showHeader: true, - showFooter: false, - showColumns: false, - showPaginationSwitch: false, - showRefresh: false, - showToggle: false, - buttonsAlign: 'right', - smartDisplay: true, - escape: false, - minimumCountColumns: 1, - idField: undefined, - uniqueId: undefined, - cardView: false, - detailView: false, - detailFormatter: function (index, row) { - return ''; - }, - trimOnSearch: true, - clickToSelect: false, - singleSelect: false, - toolbar: undefined, - toolbarAlign: 'left', - checkboxHeader: true, - sortable: true, - silentSort: true, - maintainSelected: false, - searchTimeOut: 500, - searchText: '', - iconSize: undefined, - buttonsClass: 'default', - iconsPrefix: 'glyphicon', // glyphicon of fa (font awesome) - icons: { - paginationSwitchDown: 'glyphicon-collapse-down icon-chevron-down', - paginationSwitchUp: 'glyphicon-collapse-up icon-chevron-up', - refresh: 'glyphicon-refresh icon-refresh', - toggle: 'glyphicon-list-alt icon-list-alt', - columns: 'glyphicon-th icon-th', - detailOpen: 'glyphicon-plus icon-plus', - detailClose: 'glyphicon-minus icon-minus' - }, - - customSearch: $.noop, - - customSort: $.noop, - - rowStyle: function (row, index) { - return {}; - }, - - rowAttributes: function (row, index) { - return {}; - }, - - footerStyle: function (row, index) { - return {}; - }, - - onAll: function (name, args) { - return false; - }, - onClickCell: function (field, value, row, $element) { - return false; - }, - onDblClickCell: function (field, value, row, $element) { - return false; - }, - onClickRow: function (item, $element) { - return false; - }, - onDblClickRow: function (item, $element) { - return false; - }, - onSort: function (name, order) { - return false; - }, - onCheck: function (row) { - return false; - }, - onUncheck: function (row) { - return false; - }, - onCheckAll: function (rows) { - return false; - }, - onUncheckAll: function (rows) { - return false; - }, - onCheckSome: function (rows) { - return false; - }, - onUncheckSome: function (rows) { - return false; - }, - onLoadSuccess: function (data) { - return false; - }, - onLoadError: function (status) { - return false; - }, - onColumnSwitch: function (field, checked) { - return false; - }, - onPageChange: function (number, size) { - return false; - }, - onSearch: function (text) { - return false; - }, - onToggle: function (cardView) { - return false; - }, - onPreBody: function (data) { - return false; - }, - onPostBody: function () { - return false; - }, - onPostHeader: function () { - return false; - }, - onExpandRow: function (index, row, $detail) { - return false; - }, - onCollapseRow: function (index, row) { - return false; - }, - onRefreshOptions: function (options) { - return false; - }, - onRefresh: function (params) { - return false; - }, - onResetView: function () { - return false; - } - }; - - BootstrapTable.LOCALES = {}; - - BootstrapTable.LOCALES['en-US'] = BootstrapTable.LOCALES.en = { - formatLoadingMessage: function () { - return 'Loading, please wait...'; - }, - formatRecordsPerPage: function (pageNumber) { - return sprintf('%s rows per page', pageNumber); - }, - formatShowingRows: function (pageFrom, pageTo, totalRows) { - return sprintf('Showing %s to %s of %s rows', pageFrom, pageTo, totalRows); - }, - formatDetailPagination: function (totalRows) { - return sprintf('Showing %s rows', totalRows); - }, - formatSearch: function () { - return 'Search'; - }, - formatNoMatches: function () { - return 'No matching records found'; - }, - formatPaginationSwitch: function () { - return 'Hide/Show pagination'; - }, - formatRefresh: function () { - return 'Refresh'; - }, - formatToggle: function () { - return 'Toggle'; - }, - formatColumns: function () { - return 'Columns'; - }, - formatAllRows: function () { - return 'All'; - } - }; - - $.extend(BootstrapTable.DEFAULTS, BootstrapTable.LOCALES['en-US']); - - BootstrapTable.COLUMN_DEFAULTS = { - radio: false, - checkbox: false, - checkboxEnabled: true, - field: undefined, - title: undefined, - titleTooltip: undefined, - 'class': undefined, - align: undefined, // left, right, center - halign: undefined, // left, right, center - falign: undefined, // left, right, center - valign: undefined, // top, middle, bottom - width: undefined, - sortable: false, - order: 'asc', // asc, desc - visible: true, - switchable: true, - clickToSelect: true, - formatter: undefined, - footerFormatter: undefined, - events: undefined, - sorter: undefined, - sortName: undefined, - cellStyle: undefined, - searchable: true, - searchFormatter: true, - cardVisible: true, - escape : false - }; - - BootstrapTable.EVENTS = { - 'all.bs.table': 'onAll', - 'click-cell.bs.table': 'onClickCell', - 'dbl-click-cell.bs.table': 'onDblClickCell', - 'click-row.bs.table': 'onClickRow', - 'dbl-click-row.bs.table': 'onDblClickRow', - 'sort.bs.table': 'onSort', - 'check.bs.table': 'onCheck', - 'uncheck.bs.table': 'onUncheck', - 'check-all.bs.table': 'onCheckAll', - 'uncheck-all.bs.table': 'onUncheckAll', - 'check-some.bs.table': 'onCheckSome', - 'uncheck-some.bs.table': 'onUncheckSome', - 'load-success.bs.table': 'onLoadSuccess', - 'load-error.bs.table': 'onLoadError', - 'column-switch.bs.table': 'onColumnSwitch', - 'page-change.bs.table': 'onPageChange', - 'search.bs.table': 'onSearch', - 'toggle.bs.table': 'onToggle', - 'pre-body.bs.table': 'onPreBody', - 'post-body.bs.table': 'onPostBody', - 'post-header.bs.table': 'onPostHeader', - 'expand-row.bs.table': 'onExpandRow', - 'collapse-row.bs.table': 'onCollapseRow', - 'refresh-options.bs.table': 'onRefreshOptions', - 'reset-view.bs.table': 'onResetView', - 'refresh.bs.table': 'onRefresh' - }; - - BootstrapTable.prototype.init = function () { - this.initLocale(); - this.initContainer(); - this.initTable(); - this.initHeader(); - this.initData(); - this.initHiddenRows(); - this.initFooter(); - this.initToolbar(); - this.initPagination(); - this.initBody(); - this.initSearchText(); - this.initServer(); - }; - - BootstrapTable.prototype.initLocale = function () { - if (this.options.locale) { - var parts = this.options.locale.split(/-|_/); - parts[0].toLowerCase(); - if (parts[1]) parts[1].toUpperCase(); - if ($.fn.bootstrapTable.locales[this.options.locale]) { - // locale as requested - $.extend(this.options, $.fn.bootstrapTable.locales[this.options.locale]); - } else if ($.fn.bootstrapTable.locales[parts.join('-')]) { - // locale with sep set to - (in case original was specified with _) - $.extend(this.options, $.fn.bootstrapTable.locales[parts.join('-')]); - } else if ($.fn.bootstrapTable.locales[parts[0]]) { - // short locale language code (i.e. 'en') - $.extend(this.options, $.fn.bootstrapTable.locales[parts[0]]); - } - } - }; - - BootstrapTable.prototype.initContainer = function () { - this.$container = $([ - '<div class="bootstrap-table">', - '<div class="fixed-table-toolbar"></div>', - this.options.paginationVAlign === 'top' || this.options.paginationVAlign === 'both' ? - '<div class="fixed-table-pagination" style="clear: both;"></div>' : - '', - '<div class="fixed-table-container">', - '<div class="fixed-table-header"><table></table></div>', - '<div class="fixed-table-body">', - '<div class="fixed-table-loading">', - this.options.formatLoadingMessage(), - '</div>', - '</div>', - '<div class="fixed-table-footer"><table><tr></tr></table></div>', - this.options.paginationVAlign === 'bottom' || this.options.paginationVAlign === 'both' ? - '<div class="fixed-table-pagination"></div>' : - '', - '</div>', - '</div>' - ].join('')); - - this.$container.insertAfter(this.$el); - this.$tableContainer = this.$container.find('.fixed-table-container'); - this.$tableHeader = this.$container.find('.fixed-table-header'); - this.$tableBody = this.$container.find('.fixed-table-body'); - this.$tableLoading = this.$container.find('.fixed-table-loading'); - this.$tableFooter = this.$container.find('.fixed-table-footer'); - this.$toolbar = this.$container.find('.fixed-table-toolbar'); - this.$pagination = this.$container.find('.fixed-table-pagination'); - - this.$tableBody.append(this.$el); - this.$container.after('<div class="clearfix"></div>'); - - this.$el.addClass(this.options.classes); - if (this.options.striped) { - this.$el.addClass('table-striped'); - } - if ($.inArray('table-no-bordered', this.options.classes.split(' ')) !== -1) { - this.$tableContainer.addClass('table-no-bordered'); - } - }; - - BootstrapTable.prototype.initTable = function () { - var that = this, - columns = [], - data = []; - - this.$header = this.$el.find('>thead'); - if (!this.$header.length) { - this.$header = $('<thead></thead>').appendTo(this.$el); - } - this.$header.find('tr').each(function () { - var column = []; - - $(this).find('th').each(function () { - // Fix #2014 - getFieldIndex and elsewhere assume this is string, causes issues if not - if (typeof $(this).data('field') !== 'undefined') { - $(this).data('field', $(this).data('field') + ''); - } - column.push($.extend({}, { - title: $(this).html(), - 'class': $(this).attr('class'), - titleTooltip: $(this).attr('title'), - rowspan: $(this).attr('rowspan') ? +$(this).attr('rowspan') : undefined, - colspan: $(this).attr('colspan') ? +$(this).attr('colspan') : undefined - }, $(this).data())); - }); - columns.push(column); - }); - if (!$.isArray(this.options.columns[0])) { - this.options.columns = [this.options.columns]; - } - this.options.columns = $.extend(true, [], columns, this.options.columns); - this.columns = []; - - setFieldIndex(this.options.columns); - $.each(this.options.columns, function (i, columns) { - $.each(columns, function (j, column) { - column = $.extend({}, BootstrapTable.COLUMN_DEFAULTS, column); - - if (typeof column.fieldIndex !== 'undefined') { - that.columns[column.fieldIndex] = column; - } - - that.options.columns[i][j] = column; - }); - }); - - // if options.data is setting, do not process tbody data - if (this.options.data.length) { - return; - } - - var m = []; - this.$el.find('>tbody>tr').each(function (y) { - var row = {}; - - // save tr's id, class and data-* attributes - row._id = $(this).attr('id'); - row._class = $(this).attr('class'); - row._data = getRealDataAttr($(this).data()); - - $(this).find('>td').each(function (x) { - var $this = $(this), - cspan = +$this.attr('colspan') || 1, - rspan = +$this.attr('rowspan') || 1, - tx, ty; - - for (; m[y] && m[y][x]; x++); //skip already occupied cells in current row - - for (tx = x; tx < x + cspan; tx++) { //mark matrix elements occupied by current cell with true - for (ty = y; ty < y + rspan; ty++) { - if (!m[ty]) { //fill missing rows - m[ty] = []; - } - m[ty][tx] = true; - } - } - - var field = that.columns[x].field; - - row[field] = $(this).html(); - // save td's id, class and data-* attributes - row['_' + field + '_id'] = $(this).attr('id'); - row['_' + field + '_class'] = $(this).attr('class'); - row['_' + field + '_rowspan'] = $(this).attr('rowspan'); - row['_' + field + '_colspan'] = $(this).attr('colspan'); - row['_' + field + '_title'] = $(this).attr('title'); - row['_' + field + '_data'] = getRealDataAttr($(this).data()); - }); - data.push(row); - }); - this.options.data = data; - if (data.length) this.fromHtml = true; - }; - - BootstrapTable.prototype.initHeader = function () { - var that = this, - visibleColumns = {}, - html = []; - - this.header = { - fields: [], - styles: [], - classes: [], - formatters: [], - events: [], - sorters: [], - sortNames: [], - cellStyles: [], - searchables: [] - }; - - $.each(this.options.columns, function (i, columns) { - html.push('<tr>'); - - if (i === 0 && !that.options.cardView && that.options.detailView) { - html.push(sprintf('<th class="detail" rowspan="%s"><div class="fht-cell"></div></th>', - that.options.columns.length)); - } - - $.each(columns, function (j, column) { - var text = '', - halign = '', // header align style - align = '', // body align style - style = '', - class_ = sprintf(' class="%s"', column['class']), - order = that.options.sortOrder || column.order, - unitWidth = 'px', - width = column.width; - - if (column.width !== undefined && (!that.options.cardView)) { - if (typeof column.width === 'string') { - if (column.width.indexOf('%') !== -1) { - unitWidth = '%'; - } - } - } - if (column.width && typeof column.width === 'string') { - width = column.width.replace('%', '').replace('px', ''); - } - - halign = sprintf('text-align: %s; ', column.halign ? column.halign : column.align); - align = sprintf('text-align: %s; ', column.align); - style = sprintf('vertical-align: %s; ', column.valign); - style += sprintf('width: %s; ', (column.checkbox || column.radio) && !width ? - '36px' : (width ? width + unitWidth : undefined)); - - if (typeof column.fieldIndex !== 'undefined') { - that.header.fields[column.fieldIndex] = column.field; - that.header.styles[column.fieldIndex] = align + style; - that.header.classes[column.fieldIndex] = class_; - that.header.formatters[column.fieldIndex] = column.formatter; - that.header.events[column.fieldIndex] = column.events; - that.header.sorters[column.fieldIndex] = column.sorter; - that.header.sortNames[column.fieldIndex] = column.sortName; - that.header.cellStyles[column.fieldIndex] = column.cellStyle; - that.header.searchables[column.fieldIndex] = column.searchable; - - if (!column.visible) { - return; - } - - if (that.options.cardView && (!column.cardVisible)) { - return; - } - - visibleColumns[column.field] = column; - } - - html.push('<th' + sprintf(' title="%s"', column.titleTooltip), - column.checkbox || column.radio ? - sprintf(' class="bs-checkbox %s"', column['class'] || '') : - class_, - sprintf(' style="%s"', halign + style), - sprintf(' rowspan="%s"', column.rowspan), - sprintf(' colspan="%s"', column.colspan), - sprintf(' data-field="%s"', column.field), - '>'); - - html.push(sprintf('<div class="th-inner %s">', that.options.sortable && column.sortable ? - 'sortable both' : '')); - - text = that.options.escape ? escapeHTML(column.title) : column.title; - - if (column.checkbox) { - if (!that.options.singleSelect && that.options.checkboxHeader) { - text = '<input name="btSelectAll" type="checkbox" />'; - } - that.header.stateField = column.field; - } - if (column.radio) { - text = ''; - that.header.stateField = column.field; - that.options.singleSelect = true; - } - - html.push(text); - html.push('</div>'); - html.push('<div class="fht-cell"></div>'); - html.push('</div>'); - html.push('</th>'); - }); - html.push('</tr>'); - }); - - this.$header.html(html.join('')); - this.$header.find('th[data-field]').each(function (i) { - $(this).data(visibleColumns[$(this).data('field')]); - }); - this.$container.off('click', '.th-inner').on('click', '.th-inner', function (event) { - var target = $(this); - - if (that.options.detailView) { - if (target.closest('.bootstrap-table')[0] !== that.$container[0]) - return false; - } - - if (that.options.sortable && target.parent().data().sortable) { - that.onSort(event); - } - }); - - this.$header.children().children().off('keypress').on('keypress', function (event) { - if (that.options.sortable && $(this).data().sortable) { - var code = event.keyCode || event.which; - if (code == 13) { //Enter keycode - that.onSort(event); - } - } - }); - - $(window).off('resize.bootstrap-table'); - if (!this.options.showHeader || this.options.cardView) { - this.$header.hide(); - this.$tableHeader.hide(); - this.$tableLoading.css('top', 0); - } else { - this.$header.show(); - this.$tableHeader.show(); - this.$tableLoading.css('top', this.$header.outerHeight() + 1); - // Assign the correct sortable arrow - this.getCaret(); - $(window).on('resize.bootstrap-table', $.proxy(this.resetWidth, this)); - } - - this.$selectAll = this.$header.find('[name="btSelectAll"]'); - this.$selectAll.off('click').on('click', function () { - var checked = $(this).prop('checked'); - that[checked ? 'checkAll' : 'uncheckAll'](); - that.updateSelected(); - }); - }; - - BootstrapTable.prototype.initFooter = function () { - if (!this.options.showFooter || this.options.cardView) { - this.$tableFooter.hide(); - } else { - this.$tableFooter.show(); - } - }; - - /** - * @param data - * @param type: append / prepend - */ - BootstrapTable.prototype.initData = function (data, type) { - if (type === 'append') { - this.data = this.data.concat(data); - } else if (type === 'prepend') { - this.data = [].concat(data).concat(this.data); - } else { - this.data = data || this.options.data; - } - - // Fix #839 Records deleted when adding new row on filtered table - if (type === 'append') { - this.options.data = this.options.data.concat(data); - } else if (type === 'prepend') { - this.options.data = [].concat(data).concat(this.options.data); - } else { - this.options.data = this.data; - } - - if (this.options.sidePagination === 'server') { - return; - } - this.initSort(); - }; - - BootstrapTable.prototype.initSort = function () { - var that = this, - name = this.options.sortName, - order = this.options.sortOrder === 'desc' ? -1 : 1, - index = $.inArray(this.options.sortName, this.header.fields), - timeoutId = 0; - - if (this.options.customSort !== $.noop) { - this.options.customSort.apply(this, [this.options.sortName, this.options.sortOrder]); - return; - } - - if (index !== -1) { - if (this.options.sortStable) { - $.each(this.data, function (i, row) { - if (!row.hasOwnProperty('_position')) row._position = i; - }); - } - - this.data.sort(function (a, b) { - if (that.header.sortNames[index]) { - name = that.header.sortNames[index]; - } - var aa = getItemField(a, name, that.options.escape), - bb = getItemField(b, name, that.options.escape), - value = calculateObjectValue(that.header, that.header.sorters[index], [aa, bb]); - - if (value !== undefined) { - return order * value; - } - - // Fix #161: undefined or null string sort bug. - if (aa === undefined || aa === null) { - aa = ''; - } - if (bb === undefined || bb === null) { - bb = ''; - } - - if (that.options.sortStable && aa === bb) { - aa = a._position; - bb = b._position; - } - - // IF both values are numeric, do a numeric comparison - if ($.isNumeric(aa) && $.isNumeric(bb)) { - // Convert numerical values form string to float. - aa = parseFloat(aa); - bb = parseFloat(bb); - if (aa < bb) { - return order * -1; - } - return order; - } - - if (aa === bb) { - return 0; - } - - // If value is not a string, convert to string - if (typeof aa !== 'string') { - aa = aa.toString(); - } - - if (aa.localeCompare(bb) === -1) { - return order * -1; - } - - return order; - }); - - if (this.options.sortClass !== undefined) { - clearTimeout(timeoutId); - timeoutId = setTimeout(function () { - that.$el.removeClass(that.options.sortClass); - var index = that.$header.find(sprintf('[data-field="%s"]', - that.options.sortName).index() + 1); - that.$el.find(sprintf('tr td:nth-child(%s)', index)) - .addClass(that.options.sortClass); - }, 250); - } - } - }; - - BootstrapTable.prototype.onSort = function (event) { - var $this = event.type === "keypress" ? $(event.currentTarget) : $(event.currentTarget).parent(), - $this_ = this.$header.find('th').eq($this.index()); - - this.$header.add(this.$header_).find('span.order').remove(); - - if (this.options.sortName === $this.data('field')) { - this.options.sortOrder = this.options.sortOrder === 'asc' ? 'desc' : 'asc'; - } else { - this.options.sortName = $this.data('field'); - this.options.sortOrder = $this.data('order') === 'asc' ? 'desc' : 'asc'; - } - this.trigger('sort', this.options.sortName, this.options.sortOrder); - - $this.add($this_).data('order', this.options.sortOrder); - - // Assign the correct sortable arrow - this.getCaret(); - - if (this.options.sidePagination === 'server') { - this.initServer(this.options.silentSort); - return; - } - - this.initSort(); - this.initBody(); - }; - - BootstrapTable.prototype.initToolbar = function () { - var that = this, - html = [], - timeoutId = 0, - $keepOpen, - $search, - switchableCount = 0; - - if (this.$toolbar.find('.bs-bars').children().length) { - $('body').append($(this.options.toolbar)); - } - this.$toolbar.html(''); - - if (typeof this.options.toolbar === 'string' || typeof this.options.toolbar === 'object') { - $(sprintf('<div class="bs-bars pull-%s"></div>', this.options.toolbarAlign)) - .appendTo(this.$toolbar) - .append($(this.options.toolbar)); - } - - // showColumns, showToggle, showRefresh - html = [sprintf('<div class="columns columns-%s btn-group pull-%s">', - this.options.buttonsAlign, this.options.buttonsAlign)]; - - if (typeof this.options.icons === 'string') { - this.options.icons = calculateObjectValue(null, this.options.icons); - } - - if (this.options.showPaginationSwitch) { - html.push(sprintf('<button class="btn' + - sprintf(' btn-%s', this.options.buttonsClass) + - sprintf(' btn-%s', this.options.iconSize) + - '" type="button" name="paginationSwitch" aria-label="pagination Switch" title="%s">', - this.options.formatPaginationSwitch()), - sprintf('<i class="%s %s"></i>', this.options.iconsPrefix, this.options.icons.paginationSwitchDown), - '</button>'); - } - - if (this.options.showRefresh) { - html.push(sprintf('<button class="btn' + - sprintf(' btn-%s', this.options.buttonsClass) + - sprintf(' btn-%s', this.options.iconSize) + - '" type="button" name="refresh" aria-label="refresh" title="%s">', - this.options.formatRefresh()), - sprintf('<i class="%s %s"></i>', this.options.iconsPrefix, this.options.icons.refresh), - '</button>'); - } - - if (this.options.showToggle) { - html.push(sprintf('<button class="btn' + - sprintf(' btn-%s', this.options.buttonsClass) + - sprintf(' btn-%s', this.options.iconSize) + - '" type="button" name="toggle" aria-label="toggle" title="%s">', - this.options.formatToggle()), - sprintf('<i class="%s %s"></i>', this.options.iconsPrefix, this.options.icons.toggle), - '</button>'); - } - - if (this.options.showColumns) { - html.push(sprintf('<div class="keep-open btn-group" title="%s">', - this.options.formatColumns()), - '<button type="button" aria-label="columns" class="btn' + - sprintf(' btn-%s', this.options.buttonsClass) + - sprintf(' btn-%s', this.options.iconSize) + - ' dropdown-toggle" data-toggle="dropdown">', - sprintf('<i class="%s %s"></i>', this.options.iconsPrefix, this.options.icons.columns), - ' <span class="caret"></span>', - '</button>', - '<ul class="dropdown-menu" role="menu">'); - - $.each(this.columns, function (i, column) { - if (column.radio || column.checkbox) { - return; - } - - if (that.options.cardView && !column.cardVisible) { - return; - } - - var checked = column.visible ? ' checked="checked"' : ''; - - if (column.switchable) { - html.push(sprintf('<li role="menuitem">' + - '<label><input type="checkbox" data-field="%s" value="%s"%s> %s</label>' + - '</li>', column.field, i, checked, column.title)); - switchableCount++; - } - }); - html.push('</ul>', - '</div>'); - } - - html.push('</div>'); - - // Fix #188: this.showToolbar is for extensions - if (this.showToolbar || html.length > 2) { - this.$toolbar.append(html.join('')); - } - - if (this.options.showPaginationSwitch) { - this.$toolbar.find('button[name="paginationSwitch"]') - .off('click').on('click', $.proxy(this.togglePagination, this)); - } - - if (this.options.showRefresh) { - this.$toolbar.find('button[name="refresh"]') - .off('click').on('click', $.proxy(this.refresh, this)); - } - - if (this.options.showToggle) { - this.$toolbar.find('button[name="toggle"]') - .off('click').on('click', function () { - that.toggleView(); - }); - } - - if (this.options.showColumns) { - $keepOpen = this.$toolbar.find('.keep-open'); - - if (switchableCount <= this.options.minimumCountColumns) { - $keepOpen.find('input').prop('disabled', true); - } - - $keepOpen.find('li').off('click').on('click', function (event) { - event.stopImmediatePropagation(); - }); - $keepOpen.find('input').off('click').on('click', function () { - var $this = $(this); - - that.toggleColumn($(this).val(), $this.prop('checked'), false); - that.trigger('column-switch', $(this).data('field'), $this.prop('checked')); - }); - } - - if (this.options.search) { - html = []; - html.push( - '<div class="pull-' + this.options.searchAlign + ' search">', - sprintf('<input class="form-control' + - sprintf(' input-%s', this.options.iconSize) + - '" type="text" placeholder="%s">', - this.options.formatSearch()), - '</div>'); - - this.$toolbar.append(html.join('')); - $search = this.$toolbar.find('.search input'); - $search.off('keyup drop blur').on('keyup drop blur', function (event) { - if (that.options.searchOnEnterKey && event.keyCode !== 13) { - return; - } - - if ($.inArray(event.keyCode, [37, 38, 39, 40]) > -1) { - return; - } - - clearTimeout(timeoutId); // doesn't matter if it's 0 - timeoutId = setTimeout(function () { - that.onSearch(event); - }, that.options.searchTimeOut); - }); - - if (isIEBrowser()) { - $search.off('mouseup').on('mouseup', function (event) { - clearTimeout(timeoutId); // doesn't matter if it's 0 - timeoutId = setTimeout(function () { - that.onSearch(event); - }, that.options.searchTimeOut); - }); - } - } - }; - - BootstrapTable.prototype.onSearch = function (event) { - var text = $.trim($(event.currentTarget).val()); - - // trim search input - if (this.options.trimOnSearch && $(event.currentTarget).val() !== text) { - $(event.currentTarget).val(text); - } - - if (text === this.searchText) { - return; - } - this.searchText = text; - this.options.searchText = text; - - this.options.pageNumber = 1; - this.initSearch(); - this.updatePagination(); - this.trigger('search', text); - }; - - BootstrapTable.prototype.initSearch = function () { - var that = this; - - if (this.options.sidePagination !== 'server') { - if (this.options.customSearch !== $.noop) { - this.options.customSearch.apply(this, [this.searchText]); - return; - } - - var s = this.searchText && (this.options.escape ? - escapeHTML(this.searchText) : this.searchText).toLowerCase(); - var f = $.isEmptyObject(this.filterColumns) ? null : this.filterColumns; - - // Check filter - this.data = f ? $.grep(this.options.data, function (item, i) { - for (var key in f) { - if ($.isArray(f[key]) && $.inArray(item[key], f[key]) === -1 || - !$.isArray(f[key]) && item[key] !== f[key]) { - return false; - } - } - return true; - }) : this.options.data; - - this.data = s ? $.grep(this.data, function (item, i) { - for (var j = 0; j < that.header.fields.length; j++) { - - if (!that.header.searchables[j]) { - continue; - } - - var key = $.isNumeric(that.header.fields[j]) ? parseInt(that.header.fields[j], 10) : that.header.fields[j]; - var column = that.columns[getFieldIndex(that.columns, key)]; - var value; - - if (typeof key === 'string') { - value = item; - var props = key.split('.'); - for (var prop_index = 0; prop_index < props.length; prop_index++) { - value = value[props[prop_index]]; - } - - // Fix #142: respect searchForamtter boolean - if (column && column.searchFormatter) { - value = calculateObjectValue(column, - that.header.formatters[j], [value, item, i], value); - } - } else { - value = item[key]; - } - - if (typeof value === 'string' || typeof value === 'number') { - if (that.options.strictSearch) { - if ((value + '').toLowerCase() === s) { - return true; - } - } else { - if ((value + '').toLowerCase().indexOf(s) !== -1) { - return true; - } - } - } - } - return false; - }) : this.data; - } - }; - - BootstrapTable.prototype.initPagination = function () { - if (!this.options.pagination) { - this.$pagination.hide(); - return; - } else { - this.$pagination.show(); - } - - var that = this, - html = [], - $allSelected = false, - i, from, to, - $pageList, - $first, $pre, - $next, $last, - $number, - data = this.getData(), - pageList = this.options.pageList; - - if (this.options.sidePagination !== 'server') { - this.options.totalRows = data.length; - } - - this.totalPages = 0; - if (this.options.totalRows) { - if (this.options.pageSize === this.options.formatAllRows()) { - this.options.pageSize = this.options.totalRows; - $allSelected = true; - } else if (this.options.pageSize === this.options.totalRows) { - // Fix #667 Table with pagination, - // multiple pages and a search that matches to one page throws exception - var pageLst = typeof this.options.pageList === 'string' ? - this.options.pageList.replace('[', '').replace(']', '') - .replace(/ /g, '').toLowerCase().split(',') : this.options.pageList; - if ($.inArray(this.options.formatAllRows().toLowerCase(), pageLst) > -1) { - $allSelected = true; - } - } - - this.totalPages = ~~((this.options.totalRows - 1) / this.options.pageSize) + 1; - - this.options.totalPages = this.totalPages; - } - if (this.totalPages > 0 && this.options.pageNumber > this.totalPages) { - this.options.pageNumber = this.totalPages; - } - - this.pageFrom = (this.options.pageNumber - 1) * this.options.pageSize + 1; - this.pageTo = this.options.pageNumber * this.options.pageSize; - if (this.pageTo > this.options.totalRows) { - this.pageTo = this.options.totalRows; - } - - html.push( - '<div class="pull-' + this.options.paginationDetailHAlign + ' pagination-detail">', - '<span class="pagination-info">', - this.options.onlyInfoPagination ? this.options.formatDetailPagination(this.options.totalRows) : - this.options.formatShowingRows(this.pageFrom, this.pageTo, this.options.totalRows), - '</span>'); - - if (!this.options.onlyInfoPagination) { - html.push('<span class="page-list">'); - - var pageNumber = [ - sprintf('<span class="btn-group %s">', - this.options.paginationVAlign === 'top' || this.options.paginationVAlign === 'both' ? - 'dropdown' : 'dropup'), - '<button type="button" class="btn' + - sprintf(' btn-%s', this.options.buttonsClass) + - sprintf(' btn-%s', this.options.iconSize) + - ' dropdown-toggle" data-toggle="dropdown">', - '<span class="page-size">', - $allSelected ? this.options.formatAllRows() : this.options.pageSize, - '</span>', - ' <span class="caret"></span>', - '</button>', - '<ul class="dropdown-menu" role="menu">' - ]; - - if (typeof this.options.pageList === 'string') { - var list = this.options.pageList.replace('[', '').replace(']', '') - .replace(/ /g, '').split(','); - - pageList = []; - $.each(list, function (i, value) { - pageList.push(value.toUpperCase() === that.options.formatAllRows().toUpperCase() ? - that.options.formatAllRows() : +value); - }); - } - - $.each(pageList, function (i, page) { - if (!that.options.smartDisplay || i === 0 || pageList[i - 1] < that.options.totalRows) { - var active; - if ($allSelected) { - active = page === that.options.formatAllRows() ? ' class="active"' : ''; - } else { - active = page === that.options.pageSize ? ' class="active"' : ''; - } - pageNumber.push(sprintf('<li role="menuitem"%s><a href="#">%s</a></li>', active, page)); - } - }); - pageNumber.push('</ul></span>'); - - html.push(this.options.formatRecordsPerPage(pageNumber.join(''))); - html.push('</span>'); - - html.push('</div>', - '<div class="pull-' + this.options.paginationHAlign + ' pagination">', - '<ul class="pagination' + sprintf(' pagination-%s', this.options.iconSize) + '">', - '<li class="page-pre"><a href="#">' + this.options.paginationPreText + '</a></li>'); - - if (this.totalPages < 5) { - from = 1; - to = this.totalPages; - } else { - from = this.options.pageNumber - 2; - to = from + 4; - if (from < 1) { - from = 1; - to = 5; - } - if (to > this.totalPages) { - to = this.totalPages; - from = to - 4; - } - } - - if (this.totalPages >= 6) { - if (this.options.pageNumber >= 3) { - html.push('<li class="page-first' + (1 === this.options.pageNumber ? ' active' : '') + '">', - '<a href="#">', 1, '</a>', - '</li>'); - - from++; - } - - if (this.options.pageNumber >= 4) { - if (this.options.pageNumber == 4 || this.totalPages == 6 || this.totalPages == 7) { - from--; - } else { - html.push('<li class="page-first-separator disabled">', - '<a href="#">...</a>', - '</li>'); - } - - to--; - } - } - - if (this.totalPages >= 7) { - if (this.options.pageNumber >= (this.totalPages - 2)) { - from--; - } - } - - if (this.totalPages == 6) { - if (this.options.pageNumber >= (this.totalPages - 2)) { - to++; - } - } else if (this.totalPages >= 7) { - if (this.totalPages == 7 || this.options.pageNumber >= (this.totalPages - 3)) { - to++; - } - } - - for (i = from; i <= to; i++) { - html.push('<li class="page-number' + (i === this.options.pageNumber ? ' active' : '') + '">', - '<a href="#">', i, '</a>', - '</li>'); - } - - if (this.totalPages >= 8) { - if (this.options.pageNumber <= (this.totalPages - 4)) { - html.push('<li class="page-last-separator disabled">', - '<a href="#">...</a>', - '</li>'); - } - } - - if (this.totalPages >= 6) { - if (this.options.pageNumber <= (this.totalPages - 3)) { - html.push('<li class="page-last' + (this.totalPages === this.options.pageNumber ? ' active' : '') + '">', - '<a href="#">', this.totalPages, '</a>', - '</li>'); - } - } - - html.push( - '<li class="page-next"><a href="#">' + this.options.paginationNextText + '</a></li>', - '</ul>', - '</div>'); - } - this.$pagination.html(html.join('')); - - if (!this.options.onlyInfoPagination) { - $pageList = this.$pagination.find('.page-list a'); - $first = this.$pagination.find('.page-first'); - $pre = this.$pagination.find('.page-pre'); - $next = this.$pagination.find('.page-next'); - $last = this.$pagination.find('.page-last'); - $number = this.$pagination.find('.page-number'); - - if (this.options.smartDisplay) { - if (this.totalPages <= 1) { - this.$pagination.find('div.pagination').hide(); - } - if (pageList.length < 2 || this.options.totalRows <= pageList[0]) { - this.$pagination.find('span.page-list').hide(); - } - - // when data is empty, hide the pagination - this.$pagination[this.getData().length ? 'show' : 'hide'](); - } - - if (!this.options.paginationLoop) { - if (this.options.pageNumber === 1) { - $pre.addClass('disabled'); - } - if (this.options.pageNumber === this.totalPages) { - $next.addClass('disabled'); - } - } - - if ($allSelected) { - this.options.pageSize = this.options.formatAllRows(); - } - $pageList.off('click').on('click', $.proxy(this.onPageListChange, this)); - $first.off('click').on('click', $.proxy(this.onPageFirst, this)); - $pre.off('click').on('click', $.proxy(this.onPagePre, this)); - $next.off('click').on('click', $.proxy(this.onPageNext, this)); - $last.off('click').on('click', $.proxy(this.onPageLast, this)); - $number.off('click').on('click', $.proxy(this.onPageNumber, this)); - } - }; - - BootstrapTable.prototype.updatePagination = function (event) { - // Fix #171: IE disabled button can be clicked bug. - if (event && $(event.currentTarget).hasClass('disabled')) { - return; - } - - if (!this.options.maintainSelected) { - this.resetRows(); - } - - this.initPagination(); - if (this.options.sidePagination === 'server') { - this.initServer(); - } else { - this.initBody(); - } - - this.trigger('page-change', this.options.pageNumber, this.options.pageSize); - }; - - BootstrapTable.prototype.onPageListChange = function (event) { - var $this = $(event.currentTarget); - - $this.parent().addClass('active').siblings().removeClass('active'); - this.options.pageSize = $this.text().toUpperCase() === this.options.formatAllRows().toUpperCase() ? - this.options.formatAllRows() : +$this.text(); - this.$toolbar.find('.page-size').text(this.options.pageSize); - - this.updatePagination(event); - return false; - }; - - BootstrapTable.prototype.onPageFirst = function (event) { - this.options.pageNumber = 1; - this.updatePagination(event); - return false; - }; - - BootstrapTable.prototype.onPagePre = function (event) { - if ((this.options.pageNumber - 1) === 0) { - this.options.pageNumber = this.options.totalPages; - } else { - this.options.pageNumber--; - } - this.updatePagination(event); - return false; - }; - - BootstrapTable.prototype.onPageNext = function (event) { - if ((this.options.pageNumber + 1) > this.options.totalPages) { - this.options.pageNumber = 1; - } else { - this.options.pageNumber++; - } - this.updatePagination(event); - return false; - }; - - BootstrapTable.prototype.onPageLast = function (event) { - this.options.pageNumber = this.totalPages; - this.updatePagination(event); - return false; - }; - - BootstrapTable.prototype.onPageNumber = function (event) { - if (this.options.pageNumber === +$(event.currentTarget).text()) { - return; - } - this.options.pageNumber = +$(event.currentTarget).text(); - this.updatePagination(event); - return false; - }; - - BootstrapTable.prototype.initRow = function(item, i, data, parentDom) { - var that=this, - key, - html = [], - style = {}, - csses = [], - data_ = '', - attributes = {}, - htmlAttributes = []; - - if ($.inArray(item, this.hiddenRows) > -1) { - return; - } - - style = calculateObjectValue(this.options, this.options.rowStyle, [item, i], style); - - if (style && style.css) { - for (key in style.css) { - csses.push(key + ': ' + style.css[key]); - } - } - - attributes = calculateObjectValue(this.options, - this.options.rowAttributes, [item, i], attributes); - - if (attributes) { - for (key in attributes) { - htmlAttributes.push(sprintf('%s="%s"', key, escapeHTML(attributes[key]))); - } - } - - if (item._data && !$.isEmptyObject(item._data)) { - $.each(item._data, function(k, v) { - // ignore data-index - if (k === 'index') { - return; - } - data_ += sprintf(' data-%s="%s"', k, v); - }); - } - - html.push('<tr', - sprintf(' %s', htmlAttributes.join(' ')), - sprintf(' id="%s"', $.isArray(item) ? undefined : item._id), - sprintf(' class="%s"', style.classes || ($.isArray(item) ? undefined : item._class)), - sprintf(' data-index="%s"', i), - sprintf(' data-uniqueid="%s"', item[this.options.uniqueId]), - sprintf('%s', data_), - '>' - ); - - if (this.options.cardView) { - html.push(sprintf('<td colspan="%s"><div class="card-views">', this.header.fields.length)); - } - - if (!this.options.cardView && this.options.detailView) { - html.push('<td>', - '<a class="detail-icon" href="#">', - sprintf('<i class="%s %s"></i>', this.options.iconsPrefix, this.options.icons.detailOpen), - '</a>', - '</td>'); - } - - $.each(this.header.fields, function(j, field) { - var text = '', - value_ = getItemField(item, field, that.options.escape), - value = '', - type = '', - cellStyle = {}, - id_ = '', - class_ = that.header.classes[j], - data_ = '', - rowspan_ = '', - colspan_ = '', - title_ = '', - column = that.columns[j]; - - if (that.fromHtml && typeof value_ === 'undefined') { - return; - } - - if (!column.visible) { - return; - } - - if (that.options.cardView && (!column.cardVisible)) { - return; - } - - if (column.escape) { - value_ = escapeHTML(value_); - } - - style = sprintf('style="%s"', csses.concat(that.header.styles[j]).join('; ')); - - // handle td's id and class - if (item['_' + field + '_id']) { - id_ = sprintf(' id="%s"', item['_' + field + '_id']); - } - if (item['_' + field + '_class']) { - class_ = sprintf(' class="%s"', item['_' + field + '_class']); - } - if (item['_' + field + '_rowspan']) { - rowspan_ = sprintf(' rowspan="%s"', item['_' + field + '_rowspan']); - } - if (item['_' + field + '_colspan']) { - colspan_ = sprintf(' colspan="%s"', item['_' + field + '_colspan']); - } - if (item['_' + field + '_title']) { - title_ = sprintf(' title="%s"', item['_' + field + '_title']); - } - cellStyle = calculateObjectValue(that.header, - that.header.cellStyles[j], [value_, item, i, field], cellStyle); - if (cellStyle.classes) { - class_ = sprintf(' class="%s"', cellStyle.classes); - } - if (cellStyle.css) { - var csses_ = []; - for (var key in cellStyle.css) { - csses_.push(key + ': ' + cellStyle.css[key]); - } - style = sprintf('style="%s"', csses_.concat(that.header.styles[j]).join('; ')); - } - - value = calculateObjectValue(column, - that.header.formatters[j], [value_, item, i], value_); - - if (item['_' + field + '_data'] && !$.isEmptyObject(item['_' + field + '_data'])) { - $.each(item['_' + field + '_data'], function(k, v) { - // ignore data-index - if (k === 'index') { - return; - } - data_ += sprintf(' data-%s="%s"', k, v); - }); - } - - if (column.checkbox || column.radio) { - type = column.checkbox ? 'checkbox' : type; - type = column.radio ? 'radio' : type; - - text = [sprintf(that.options.cardView ? - '<div class="card-view %s">' : '<td class="bs-checkbox %s">', column['class'] || ''), - '<input' + - sprintf(' data-index="%s"', i) + - sprintf(' name="%s"', that.options.selectItemName) + - sprintf(' type="%s"', type) + - sprintf(' value="%s"', item[that.options.idField]) + - sprintf(' checked="%s"', value === true || - (value_ || value && value.checked) ? 'checked' : undefined) + - sprintf(' disabled="%s"', !column.checkboxEnabled || - (value && value.disabled) ? 'disabled' : undefined) + - ' />', - that.header.formatters[j] && typeof value === 'string' ? value : '', - that.options.cardView ? '</div>' : '</td>' - ].join(''); - - item[that.header.stateField] = value === true || (value && value.checked); - } else { - value = typeof value === 'undefined' || value === null ? - that.options.undefinedText : value; - - text = that.options.cardView ? ['<div class="card-view">', - that.options.showHeader ? sprintf('<span class="title" %s>%s</span>', style, - getPropertyFromOther(that.columns, 'field', 'title', field)) : '', - sprintf('<span class="value">%s</span>', value), - '</div>' - ].join('') : [sprintf('<td%s %s %s %s %s %s %s>', - id_, class_, style, data_, rowspan_, colspan_, title_), - value, - '</td>' - ].join(''); - - // Hide empty data on Card view when smartDisplay is set to true. - if (that.options.cardView && that.options.smartDisplay && value === '') { - // Should set a placeholder for event binding correct fieldIndex - text = '<div class="card-view"></div>'; - } - } - - html.push(text); - }); - - if (this.options.cardView) { - html.push('</div></td>'); - } - html.push('</tr>'); - - return html.join(' '); - }; - - BootstrapTable.prototype.initBody = function (fixedScroll) { - var that = this, - html = [], - data = this.getData(); - - this.trigger('pre-body', data); - - this.$body = this.$el.find('>tbody'); - if (!this.$body.length) { - this.$body = $('<tbody></tbody>').appendTo(this.$el); - } - - //Fix #389 Bootstrap-table-flatJSON is not working - - if (!this.options.pagination || this.options.sidePagination === 'server') { - this.pageFrom = 1; - this.pageTo = data.length; - } - - var trFragments = $(document.createDocumentFragment()); - var hasTr; - - for (var i = this.pageFrom - 1; i < this.pageTo; i++) { - var item = data[i]; - var tr = this.initRow(item, i, data, trFragments); - hasTr = hasTr || !!tr; - if (tr&&tr!==true) { - trFragments.append(tr); - } - } - - // show no records - if (!hasTr) { - trFragments.append('<tr class="no-records-found">' + - sprintf('<td colspan="%s">%s</td>', - this.$header.find('th').length, - this.options.formatNoMatches()) + - '</tr>'); - } - - this.$body.html(trFragments); - - if (!fixedScroll) { - this.scrollTo(0); - } - - // click to select by column - this.$body.find('> tr[data-index] > td').off('click dblclick').on('click dblclick', function (e) { - var $td = $(this), - $tr = $td.parent(), - item = that.data[$tr.data('index')], - index = $td[0].cellIndex, - fields = that.getVisibleFields(), - field = fields[that.options.detailView && !that.options.cardView ? index - 1 : index], - column = that.columns[getFieldIndex(that.columns, field)], - value = getItemField(item, field, that.options.escape); - - if ($td.find('.detail-icon').length) { - return; - } - - that.trigger(e.type === 'click' ? 'click-cell' : 'dbl-click-cell', field, value, item, $td); - that.trigger(e.type === 'click' ? 'click-row' : 'dbl-click-row', item, $tr, field); - - // if click to select - then trigger the checkbox/radio click - if (e.type === 'click' && that.options.clickToSelect && column.clickToSelect) { - var $selectItem = $tr.find(sprintf('[name="%s"]', that.options.selectItemName)); - if ($selectItem.length) { - $selectItem[0].click(); // #144: .trigger('click') bug - } - } - }); - - this.$body.find('> tr[data-index] > td > .detail-icon').off('click').on('click', function () { - var $this = $(this), - $tr = $this.parent().parent(), - index = $tr.data('index'), - row = data[index]; // Fix #980 Detail view, when searching, returns wrong row - - // remove and update - if ($tr.next().is('tr.detail-view')) { - $this.find('i').attr('class', sprintf('%s %s', that.options.iconsPrefix, that.options.icons.detailOpen)); - that.trigger('collapse-row', index, row); - $tr.next().remove(); - } else { - $this.find('i').attr('class', sprintf('%s %s', that.options.iconsPrefix, that.options.icons.detailClose)); - $tr.after(sprintf('<tr class="detail-view"><td colspan="%s"></td></tr>', $tr.find('td').length)); - var $element = $tr.next().find('td'); - var content = calculateObjectValue(that.options, that.options.detailFormatter, [index, row, $element], ''); - if($element.length === 1) { - $element.append(content); - } - that.trigger('expand-row', index, row, $element); - } - that.resetView(); - return false; - }); - - this.$selectItem = this.$body.find(sprintf('[name="%s"]', this.options.selectItemName)); - this.$selectItem.off('click').on('click', function (event) { - event.stopImmediatePropagation(); - - var $this = $(this), - checked = $this.prop('checked'), - row = that.data[$this.data('index')]; - - if (that.options.maintainSelected && $(this).is(':radio')) { - $.each(that.options.data, function (i, row) { - row[that.header.stateField] = false; - }); - } - - row[that.header.stateField] = checked; - - if (that.options.singleSelect) { - that.$selectItem.not(this).each(function () { - that.data[$(this).data('index')][that.header.stateField] = false; - }); - that.$selectItem.filter(':checked').not(this).prop('checked', false); - } - - that.updateSelected(); - that.trigger(checked ? 'check' : 'uncheck', row, $this); - }); - - $.each(this.header.events, function (i, events) { - if (!events) { - return; - } - // fix bug, if events is defined with namespace - if (typeof events === 'string') { - events = calculateObjectValue(null, events); - } - - var field = that.header.fields[i], - fieldIndex = $.inArray(field, that.getVisibleFields()); - - if (that.options.detailView && !that.options.cardView) { - fieldIndex += 1; - } - - for (var key in events) { - that.$body.find('>tr:not(.no-records-found)').each(function () { - var $tr = $(this), - $td = $tr.find(that.options.cardView ? '.card-view' : 'td').eq(fieldIndex), - index = key.indexOf(' '), - name = key.substring(0, index), - el = key.substring(index + 1), - func = events[key]; - - $td.find(el).off(name).on(name, function (e) { - var index = $tr.data('index'), - row = that.data[index], - value = row[field]; - var props = field.split('.'); - if(props.length > 1) { - value = row; - for (var prop_index = 0; prop_index < props.length; prop_index++) { - value = value[props[prop_index]]; - } - } - func.apply(this, [e, value, row, index]); - }); - }); - } - }); - - this.updateSelected(); - this.resetView(); - - this.trigger('post-body', data); - }; - - BootstrapTable.prototype.initServer = function (silent, query, url) { - var that = this, - data = {}, - params = { - searchText: this.searchText, - sortName: this.options.sortName, - sortOrder: this.options.sortOrder - }, - request; - - if (this.options.pagination) { - params.pageSize = this.options.pageSize === this.options.formatAllRows() ? - this.options.totalRows : this.options.pageSize; - params.pageNumber = this.options.pageNumber; - } - - if (!(url || this.options.url) && !this.options.ajax) { - return; - } - - if (this.options.queryParamsType === 'limit') { - params = { - search: params.searchText, - sort: params.sortName, - order: params.sortOrder - }; - - if (this.options.pagination) { - params.offset = this.options.pageSize === this.options.formatAllRows() ? - 0 : this.options.pageSize * (this.options.pageNumber - 1); - params.limit = this.options.pageSize === this.options.formatAllRows() ? - this.options.totalRows : this.options.pageSize; - } - } - - if (!($.isEmptyObject(this.filterColumnsPartial))) { - params.filter = JSON.stringify(this.filterColumnsPartial, null); - } - - data = calculateObjectValue(this.options, this.options.queryParams, [params], data); - - $.extend(data, query || {}); - - // false to stop request - if (data === false) { - return; - } - - if (!silent) { - this.$tableLoading.show(); - } - request = $.extend({}, calculateObjectValue(null, this.options.ajaxOptions), { - type: this.options.method, - url: url || this.options.url, - data: this.options.contentType === 'application/json' && this.options.method === 'post' ? - JSON.stringify(data) : data, - cache: this.options.cache, - contentType: this.options.contentType, - dataType: this.options.dataType, - success: function (res) { - res = calculateObjectValue(that.options, that.options.responseHandler, [res], res); - - that.load(res); - that.trigger('load-success', res); - if (!silent) that.$tableLoading.hide(); - }, - error: function (res) { - that.trigger('load-error', res.status, res); - if (!silent) that.$tableLoading.hide(); - } - }); - - if (this.options.ajax) { - calculateObjectValue(this, this.options.ajax, [request], null); - } else { - if (this._xhr && this._xhr.readyState !== 4) { - this._xhr.abort(); - } - this._xhr = $.ajax(request); - } - }; - - BootstrapTable.prototype.initSearchText = function () { - if (this.options.search) { - if (this.options.searchText !== '') { - var $search = this.$toolbar.find('.search input'); - $search.val(this.options.searchText); - this.onSearch({currentTarget: $search}); - } - } - }; - - BootstrapTable.prototype.getCaret = function () { - var that = this; - - $.each(this.$header.find('th'), function (i, th) { - $(th).find('.sortable').removeClass('desc asc').addClass($(th).data('field') === that.options.sortName ? that.options.sortOrder : 'both'); - }); - }; - - BootstrapTable.prototype.updateSelected = function () { - var checkAll = this.$selectItem.filter(':enabled').length && - this.$selectItem.filter(':enabled').length === - this.$selectItem.filter(':enabled').filter(':checked').length; - - this.$selectAll.add(this.$selectAll_).prop('checked', checkAll); - - this.$selectItem.each(function () { - $(this).closest('tr')[$(this).prop('checked') ? 'addClass' : 'removeClass']('selected'); - }); - }; - - BootstrapTable.prototype.updateRows = function () { - var that = this; - - this.$selectItem.each(function () { - that.data[$(this).data('index')][that.header.stateField] = $(this).prop('checked'); - }); - }; - - BootstrapTable.prototype.resetRows = function () { - var that = this; - - $.each(this.data, function (i, row) { - that.$selectAll.prop('checked', false); - that.$selectItem.prop('checked', false); - if (that.header.stateField) { - row[that.header.stateField] = false; - } - }); - this.initHiddenRows(); - }; - - BootstrapTable.prototype.trigger = function (name) { - var args = Array.prototype.slice.call(arguments, 1); - - name += '.bs.table'; - this.options[BootstrapTable.EVENTS[name]].apply(this.options, args); - this.$el.trigger($.Event(name), args); - - this.options.onAll(name, args); - this.$el.trigger($.Event('all.bs.table'), [name, args]); - }; - - BootstrapTable.prototype.resetHeader = function () { - // fix #61: the hidden table reset header bug. - // fix bug: get $el.css('width') error sometime (height = 500) - clearTimeout(this.timeoutId_); - this.timeoutId_ = setTimeout($.proxy(this.fitHeader, this), this.$el.is(':hidden') ? 100 : 0); - }; - - BootstrapTable.prototype.fitHeader = function () { - var that = this, - fixedBody, - scrollWidth, - focused, - focusedTemp; - - if (that.$el.is(':hidden')) { - that.timeoutId_ = setTimeout($.proxy(that.fitHeader, that), 100); - return; - } - fixedBody = this.$tableBody.get(0); - - scrollWidth = fixedBody.scrollWidth > fixedBody.clientWidth && - fixedBody.scrollHeight > fixedBody.clientHeight + this.$header.outerHeight() ? - getScrollBarWidth() : 0; - - this.$el.css('margin-top', -this.$header.outerHeight()); - - focused = $(':focus'); - if (focused.length > 0) { - var $th = focused.parents('th'); - if ($th.length > 0) { - var dataField = $th.attr('data-field'); - if (dataField !== undefined) { - var $headerTh = this.$header.find("[data-field='" + dataField + "']"); - if ($headerTh.length > 0) { - $headerTh.find(":input").addClass("focus-temp"); - } - } - } - } - - this.$header_ = this.$header.clone(true, true); - this.$selectAll_ = this.$header_.find('[name="btSelectAll"]'); - this.$tableHeader.css({ - 'margin-right': scrollWidth - }).find('table').css('width', this.$el.outerWidth()) - .html('').attr('class', this.$el.attr('class')) - .append(this.$header_); - - - focusedTemp = $('.focus-temp:visible:eq(0)'); - if (focusedTemp.length > 0) { - focusedTemp.focus(); - this.$header.find('.focus-temp').removeClass('focus-temp'); - } - - // fix bug: $.data() is not working as expected after $.append() - this.$header.find('th[data-field]').each(function (i) { - that.$header_.find(sprintf('th[data-field="%s"]', $(this).data('field'))).data($(this).data()); - }); - - var visibleFields = this.getVisibleFields(), - $ths = this.$header_.find('th'); - - this.$body.find('>tr:first-child:not(.no-records-found) > *').each(function (i) { - var $this = $(this), - index = i; - - if (that.options.detailView && !that.options.cardView) { - if (i === 0) { - that.$header_.find('th.detail').find('.fht-cell').width($this.innerWidth()); - } - index = i - 1; - } - - var $th = that.$header_.find(sprintf('th[data-field="%s"]', visibleFields[index])); - if ($th.length > 1) { - $th = $($ths[$this[0].cellIndex]); - } - - $th.find('.fht-cell').width($this.innerWidth()); - }); - // horizontal scroll event - // TODO: it's probably better improving the layout than binding to scroll event - this.$tableBody.off('scroll').on('scroll', function () { - that.$tableHeader.scrollLeft($(this).scrollLeft()); - - if (that.options.showFooter && !that.options.cardView) { - that.$tableFooter.scrollLeft($(this).scrollLeft()); - } - }); - that.trigger('post-header'); - }; - - BootstrapTable.prototype.resetFooter = function () { - var that = this, - data = that.getData(), - html = []; - - if (!this.options.showFooter || this.options.cardView) { //do nothing - return; - } - - if (!this.options.cardView && this.options.detailView) { - html.push('<td><div class="th-inner"> </div><div class="fht-cell"></div></td>'); - } - - $.each(this.columns, function (i, column) { - var key, - falign = '', // footer align style - valign = '', - csses = [], - style = {}, - class_ = sprintf(' class="%s"', column['class']); - - if (!column.visible) { - return; - } - - if (that.options.cardView && (!column.cardVisible)) { - return; - } - - falign = sprintf('text-align: %s; ', column.falign ? column.falign : column.align); - valign = sprintf('vertical-align: %s; ', column.valign); - - style = calculateObjectValue(null, that.options.footerStyle); - - if (style && style.css) { - for (key in style.css) { - csses.push(key + ': ' + style.css[key]); - } - } - - html.push('<td', class_, sprintf(' style="%s"', falign + valign + csses.concat().join('; ')), '>'); - html.push('<div class="th-inner">'); - - html.push(calculateObjectValue(column, column.footerFormatter, [data], ' ') || ' '); - - html.push('</div>'); - html.push('<div class="fht-cell"></div>'); - html.push('</div>'); - html.push('</td>'); - }); - - this.$tableFooter.find('tr').html(html.join('')); - this.$tableFooter.show(); - clearTimeout(this.timeoutFooter_); - this.timeoutFooter_ = setTimeout($.proxy(this.fitFooter, this), - this.$el.is(':hidden') ? 100 : 0); - }; - - BootstrapTable.prototype.fitFooter = function () { - var that = this, - $footerTd, - elWidth, - scrollWidth; - - clearTimeout(this.timeoutFooter_); - if (this.$el.is(':hidden')) { - this.timeoutFooter_ = setTimeout($.proxy(this.fitFooter, this), 100); - return; - } - - elWidth = this.$el.css('width'); - scrollWidth = elWidth > this.$tableBody.width() ? getScrollBarWidth() : 0; - - this.$tableFooter.css({ - 'margin-right': scrollWidth - }).find('table').css('width', elWidth) - .attr('class', this.$el.attr('class')); - - $footerTd = this.$tableFooter.find('td'); - - this.$body.find('>tr:first-child:not(.no-records-found) > *').each(function (i) { - var $this = $(this); - - $footerTd.eq(i).find('.fht-cell').width($this.innerWidth()); - }); - }; - - BootstrapTable.prototype.toggleColumn = function (index, checked, needUpdate) { - if (index === -1) { - return; - } - this.columns[index].visible = checked; - this.initHeader(); - this.initSearch(); - this.initPagination(); - this.initBody(); - - if (this.options.showColumns) { - var $items = this.$toolbar.find('.keep-open input').prop('disabled', false); - - if (needUpdate) { - $items.filter(sprintf('[value="%s"]', index)).prop('checked', checked); - } - - if ($items.filter(':checked').length <= this.options.minimumCountColumns) { - $items.filter(':checked').prop('disabled', true); - } - } - }; - - BootstrapTable.prototype.getVisibleFields = function () { - var that = this, - visibleFields = []; - - $.each(this.header.fields, function (j, field) { - var column = that.columns[getFieldIndex(that.columns, field)]; - - if (!column.visible) { - return; - } - visibleFields.push(field); - }); - return visibleFields; - }; - - // PUBLIC FUNCTION DEFINITION - // ======================= - - BootstrapTable.prototype.resetView = function (params) { - var padding = 0; - - if (params && params.height) { - this.options.height = params.height; - } - - this.$selectAll.prop('checked', this.$selectItem.length > 0 && - this.$selectItem.length === this.$selectItem.filter(':checked').length); - - if (this.options.height) { - var toolbarHeight = this.$toolbar.outerHeight(true), - paginationHeight = this.$pagination.outerHeight(true), - height = this.options.height - toolbarHeight - paginationHeight; - - this.$tableContainer.css('height', height + 'px'); - } - - if (this.options.cardView) { - // remove the element css - this.$el.css('margin-top', '0'); - this.$tableContainer.css('padding-bottom', '0'); - this.$tableFooter.hide(); - return; - } - - if (this.options.showHeader && this.options.height) { - this.$tableHeader.show(); - this.resetHeader(); - padding += this.$header.outerHeight(); - } else { - this.$tableHeader.hide(); - this.trigger('post-header'); - } - - if (this.options.showFooter) { - this.resetFooter(); - if (this.options.height) { - padding += this.$tableFooter.outerHeight() + 1; - } - } - - // Assign the correct sortable arrow - this.getCaret(); - this.$tableContainer.css('padding-bottom', padding + 'px'); - this.trigger('reset-view'); - }; - - BootstrapTable.prototype.getData = function (useCurrentPage) { - return (this.searchText || !$.isEmptyObject(this.filterColumns) || !$.isEmptyObject(this.filterColumnsPartial)) ? - (useCurrentPage ? this.data.slice(this.pageFrom - 1, this.pageTo) : this.data) : - (useCurrentPage ? this.options.data.slice(this.pageFrom - 1, this.pageTo) : this.options.data); - }; - - BootstrapTable.prototype.load = function (data) { - var fixedScroll = false; - - // #431: support pagination - if (this.options.sidePagination === 'server') { - this.options.totalRows = data[this.options.totalField]; - fixedScroll = data.fixedScroll; - data = data[this.options.dataField]; - } else if (!$.isArray(data)) { // support fixedScroll - fixedScroll = data.fixedScroll; - data = data.data; - } - - this.initData(data); - this.initSearch(); - this.initPagination(); - this.initBody(fixedScroll); - }; - - BootstrapTable.prototype.append = function (data) { - this.initData(data, 'append'); - this.initSearch(); - this.initPagination(); - this.initSort(); - this.initBody(true); - }; - - BootstrapTable.prototype.prepend = function (data) { - this.initData(data, 'prepend'); - this.initSearch(); - this.initPagination(); - this.initSort(); - this.initBody(true); - }; - - BootstrapTable.prototype.remove = function (params) { - var len = this.options.data.length, - i, row; - - if (!params.hasOwnProperty('field') || !params.hasOwnProperty('values')) { - return; - } - - for (i = len - 1; i >= 0; i--) { - row = this.options.data[i]; - - if (!row.hasOwnProperty(params.field)) { - continue; - } - if ($.inArray(row[params.field], params.values) !== -1) { - this.options.data.splice(i, 1); - if (this.options.sidePagination === 'server') { - this.options.totalRows -= 1; - } - } - } - - if (len === this.options.data.length) { - return; - } - - this.initSearch(); - this.initPagination(); - this.initSort(); - this.initBody(true); - }; - - BootstrapTable.prototype.removeAll = function () { - if (this.options.data.length > 0) { - this.options.data.splice(0, this.options.data.length); - this.initSearch(); - this.initPagination(); - this.initBody(true); - } - }; - - BootstrapTable.prototype.getRowByUniqueId = function (id) { - var uniqueId = this.options.uniqueId, - len = this.options.data.length, - dataRow = null, - i, row, rowUniqueId; - - for (i = len - 1; i >= 0; i--) { - row = this.options.data[i]; - - if (row.hasOwnProperty(uniqueId)) { // uniqueId is a column - rowUniqueId = row[uniqueId]; - } else if(row._data.hasOwnProperty(uniqueId)) { // uniqueId is a row data property - rowUniqueId = row._data[uniqueId]; - } else { - continue; - } - - if (typeof rowUniqueId === 'string') { - id = id.toString(); - } else if (typeof rowUniqueId === 'number') { - if ((Number(rowUniqueId) === rowUniqueId) && (rowUniqueId % 1 === 0)) { - id = parseInt(id); - } else if ((rowUniqueId === Number(rowUniqueId)) && (rowUniqueId !== 0)) { - id = parseFloat(id); - } - } - - if (rowUniqueId === id) { - dataRow = row; - break; - } - } - - return dataRow; - }; - - BootstrapTable.prototype.removeByUniqueId = function (id) { - var len = this.options.data.length, - row = this.getRowByUniqueId(id); - - if (row) { - this.options.data.splice(this.options.data.indexOf(row), 1); - } - - if (len === this.options.data.length) { - return; - } - - this.initSearch(); - this.initPagination(); - this.initBody(true); - }; - - BootstrapTable.prototype.updateByUniqueId = function (params) { - var that = this; - var allParams = $.isArray(params) ? params : [ params ]; - - $.each(allParams, function(i, params) { - var rowId; - - if (!params.hasOwnProperty('id') || !params.hasOwnProperty('row')) { - return; - } - - rowId = $.inArray(that.getRowByUniqueId(params.id), that.options.data); - - if (rowId === -1) { - return; - } - $.extend(that.options.data[rowId], params.row); - }); - - this.initSearch(); - this.initPagination(); - this.initSort(); - this.initBody(true); - }; - - BootstrapTable.prototype.insertRow = function (params) { - if (!params.hasOwnProperty('index') || !params.hasOwnProperty('row')) { - return; - } - this.data.splice(params.index, 0, params.row); - this.initSearch(); - this.initPagination(); - this.initSort(); - this.initBody(true); - }; - - BootstrapTable.prototype.updateRow = function (params) { - var that = this; - var allParams = $.isArray(params) ? params : [ params ]; - - $.each(allParams, function(i, params) { - if (!params.hasOwnProperty('index') || !params.hasOwnProperty('row')) { - return; - } - $.extend(that.options.data[params.index], params.row); - }); - - this.initSearch(); - this.initPagination(); - this.initSort(); - this.initBody(true); - }; - - BootstrapTable.prototype.initHiddenRows = function () { - this.hiddenRows = []; - }; - - BootstrapTable.prototype.showRow = function (params) { - this.toggleRow(params, true); - }; - - BootstrapTable.prototype.hideRow = function (params) { - this.toggleRow(params, false); - }; - - BootstrapTable.prototype.toggleRow = function (params, visible) { - var row, index; - - if (params.hasOwnProperty('index')) { - row = this.getData()[params.index]; - } else if (params.hasOwnProperty('uniqueId')) { - row = this.getRowByUniqueId(params.uniqueId); - } - - if (!row) { - return; - } - - index = $.inArray(row, this.hiddenRows); - - if (!visible && index === -1) { - this.hiddenRows.push(row); - } else if (visible && index > -1) { - this.hiddenRows.splice(index, 1); - } - this.initBody(true); - }; - - BootstrapTable.prototype.getHiddenRows = function (show) { - var that = this, - data = this.getData(), - rows = []; - - $.each(data, function (i, row) { - if ($.inArray(row, that.hiddenRows) > -1) { - rows.push(row); - } - }); - this.hiddenRows = rows; - return rows; - }; - - BootstrapTable.prototype.mergeCells = function (options) { - var row = options.index, - col = $.inArray(options.field, this.getVisibleFields()), - rowspan = options.rowspan || 1, - colspan = options.colspan || 1, - i, j, - $tr = this.$body.find('>tr'), - $td; - - if (this.options.detailView && !this.options.cardView) { - col += 1; - } - - $td = $tr.eq(row).find('>td').eq(col); - - if (row < 0 || col < 0 || row >= this.data.length) { - return; - } - - for (i = row; i < row + rowspan; i++) { - for (j = col; j < col + colspan; j++) { - $tr.eq(i).find('>td').eq(j).hide(); - } - } - - $td.attr('rowspan', rowspan).attr('colspan', colspan).show(); - }; - - BootstrapTable.prototype.updateCell = function (params) { - if (!params.hasOwnProperty('index') || - !params.hasOwnProperty('field') || - !params.hasOwnProperty('value')) { - return; - } - this.data[params.index][params.field] = params.value; - - if (params.reinit === false) { - return; - } - this.initSort(); - this.initBody(true); - }; - - BootstrapTable.prototype.getOptions = function () { - return this.options; - }; - - BootstrapTable.prototype.getSelections = function () { - var that = this; - - return $.grep(this.options.data, function (row) { - // fix #2424: from html with checkbox - return row[that.header.stateField] === true; - }); - }; - - BootstrapTable.prototype.getAllSelections = function () { - var that = this; - - return $.grep(this.options.data, function (row) { - return row[that.header.stateField]; - }); - }; - - BootstrapTable.prototype.checkAll = function () { - this.checkAll_(true); - }; - - BootstrapTable.prototype.uncheckAll = function () { - this.checkAll_(false); - }; - - BootstrapTable.prototype.checkInvert = function () { - var that = this; - var rows = that.$selectItem.filter(':enabled'); - var checked = rows.filter(':checked'); - rows.each(function() { - $(this).prop('checked', !$(this).prop('checked')); - }); - that.updateRows(); - that.updateSelected(); - that.trigger('uncheck-some', checked); - checked = that.getSelections(); - that.trigger('check-some', checked); - }; - - BootstrapTable.prototype.checkAll_ = function (checked) { - var rows; - if (!checked) { - rows = this.getSelections(); - } - this.$selectAll.add(this.$selectAll_).prop('checked', checked); - this.$selectItem.filter(':enabled').prop('checked', checked); - this.updateRows(); - if (checked) { - rows = this.getSelections(); - } - this.trigger(checked ? 'check-all' : 'uncheck-all', rows); - }; - - BootstrapTable.prototype.check = function (index) { - this.check_(true, index); - }; - - BootstrapTable.prototype.uncheck = function (index) { - this.check_(false, index); - }; - - BootstrapTable.prototype.check_ = function (checked, index) { - var $el = this.$selectItem.filter(sprintf('[data-index="%s"]', index)).prop('checked', checked); - this.data[index][this.header.stateField] = checked; - this.updateSelected(); - this.trigger(checked ? 'check' : 'uncheck', this.data[index], $el); - }; - - BootstrapTable.prototype.checkBy = function (obj) { - this.checkBy_(true, obj); - }; - - BootstrapTable.prototype.uncheckBy = function (obj) { - this.checkBy_(false, obj); - }; - - BootstrapTable.prototype.checkBy_ = function (checked, obj) { - if (!obj.hasOwnProperty('field') || !obj.hasOwnProperty('values')) { - return; - } - - var that = this, - rows = []; - $.each(this.options.data, function (index, row) { - if (!row.hasOwnProperty(obj.field)) { - return false; - } - if ($.inArray(row[obj.field], obj.values) !== -1) { - var $el = that.$selectItem.filter(':enabled') - .filter(sprintf('[data-index="%s"]', index)).prop('checked', checked); - row[that.header.stateField] = checked; - rows.push(row); - that.trigger(checked ? 'check' : 'uncheck', row, $el); - } - }); - this.updateSelected(); - this.trigger(checked ? 'check-some' : 'uncheck-some', rows); - }; - - BootstrapTable.prototype.destroy = function () { - this.$el.insertBefore(this.$container); - $(this.options.toolbar).insertBefore(this.$el); - this.$container.next().remove(); - this.$container.remove(); - this.$el.html(this.$el_.html()) - .css('margin-top', '0') - .attr('class', this.$el_.attr('class') || ''); // reset the class - }; - - BootstrapTable.prototype.showLoading = function () { - this.$tableLoading.show(); - }; - - BootstrapTable.prototype.hideLoading = function () { - this.$tableLoading.hide(); - }; - - BootstrapTable.prototype.togglePagination = function () { - this.options.pagination = !this.options.pagination; - var button = this.$toolbar.find('button[name="paginationSwitch"] i'); - if (this.options.pagination) { - button.attr("class", this.options.iconsPrefix + " " + this.options.icons.paginationSwitchDown); - } else { - button.attr("class", this.options.iconsPrefix + " " + this.options.icons.paginationSwitchUp); - } - this.updatePagination(); - }; - - BootstrapTable.prototype.refresh = function (params) { - if (params && params.url) { - this.options.url = params.url; - } - if (params && params.pageNumber) { - this.options.pageNumber = params.pageNumber; - } - if (params && params.pageSize) { - this.options.pageSize = params.pageSize; - } - this.initServer(params && params.silent, - params && params.query, params && params.url); - this.trigger('refresh', params); - }; - - BootstrapTable.prototype.resetWidth = function () { - if (this.options.showHeader && this.options.height) { - this.fitHeader(); - } - if (this.options.showFooter) { - this.fitFooter(); - } - }; - - BootstrapTable.prototype.showColumn = function (field) { - this.toggleColumn(getFieldIndex(this.columns, field), true, true); - }; - - BootstrapTable.prototype.hideColumn = function (field) { - this.toggleColumn(getFieldIndex(this.columns, field), false, true); - }; - - BootstrapTable.prototype.getHiddenColumns = function () { - return $.grep(this.columns, function (column) { - return !column.visible; - }); - }; - - BootstrapTable.prototype.getVisibleColumns = function () { - return $.grep(this.columns, function (column) { - return column.visible; - }); - }; - - BootstrapTable.prototype.toggleAllColumns = function (visible) { - $.each(this.columns, function (i, column) { - this.columns[i].visible = visible; - }); - - this.initHeader(); - this.initSearch(); - this.initPagination(); - this.initBody(); - if (this.options.showColumns) { - var $items = this.$toolbar.find('.keep-open input').prop('disabled', false); - - if ($items.filter(':checked').length <= this.options.minimumCountColumns) { - $items.filter(':checked').prop('disabled', true); - } - } - }; - - BootstrapTable.prototype.showAllColumns = function () { - this.toggleAllColumns(true); - }; - - BootstrapTable.prototype.hideAllColumns = function () { - this.toggleAllColumns(false); - }; - - BootstrapTable.prototype.filterBy = function (columns) { - this.filterColumns = $.isEmptyObject(columns) ? {} : columns; - this.options.pageNumber = 1; - this.initSearch(); - this.updatePagination(); - }; - - BootstrapTable.prototype.scrollTo = function (value) { - if (typeof value === 'string') { - value = value === 'bottom' ? this.$tableBody[0].scrollHeight : 0; - } - if (typeof value === 'number') { - this.$tableBody.scrollTop(value); - } - if (typeof value === 'undefined') { - return this.$tableBody.scrollTop(); - } - }; - - BootstrapTable.prototype.getScrollPosition = function () { - return this.scrollTo(); - }; - - BootstrapTable.prototype.selectPage = function (page) { - if (page > 0 && page <= this.options.totalPages) { - this.options.pageNumber = page; - this.updatePagination(); - } - }; - - BootstrapTable.prototype.prevPage = function () { - if (this.options.pageNumber > 1) { - this.options.pageNumber--; - this.updatePagination(); - } - }; - - BootstrapTable.prototype.nextPage = function () { - if (this.options.pageNumber < this.options.totalPages) { - this.options.pageNumber++; - this.updatePagination(); - } - }; - - BootstrapTable.prototype.toggleView = function () { - this.options.cardView = !this.options.cardView; - this.initHeader(); - // Fixed remove toolbar when click cardView button. - //that.initToolbar(); - this.initBody(); - this.trigger('toggle', this.options.cardView); - }; - - BootstrapTable.prototype.refreshOptions = function (options) { - //If the objects are equivalent then avoid the call of destroy / init methods - if (compareObjects(this.options, options, true)) { - return; - } - this.options = $.extend(this.options, options); - this.trigger('refresh-options', this.options); - this.destroy(); - this.init(); - }; - - BootstrapTable.prototype.resetSearch = function (text) { - var $search = this.$toolbar.find('.search input'); - $search.val(text || ''); - this.onSearch({currentTarget: $search}); - }; - - BootstrapTable.prototype.expandRow_ = function (expand, index) { - var $tr = this.$body.find(sprintf('> tr[data-index="%s"]', index)); - if ($tr.next().is('tr.detail-view') === (expand ? false : true)) { - $tr.find('> td > .detail-icon').click(); - } - }; - - BootstrapTable.prototype.expandRow = function (index) { - this.expandRow_(true, index); - }; - - BootstrapTable.prototype.collapseRow = function (index) { - this.expandRow_(false, index); - }; - - BootstrapTable.prototype.expandAllRows = function (isSubTable) { - if (isSubTable) { - var $tr = this.$body.find(sprintf('> tr[data-index="%s"]', 0)), - that = this, - detailIcon = null, - executeInterval = false, - idInterval = -1; - - if (!$tr.next().is('tr.detail-view')) { - $tr.find('> td > .detail-icon').click(); - executeInterval = true; - } else if (!$tr.next().next().is('tr.detail-view')) { - $tr.next().find(".detail-icon").click(); - executeInterval = true; - } - - if (executeInterval) { - try { - idInterval = setInterval(function () { - detailIcon = that.$body.find("tr.detail-view").last().find(".detail-icon"); - if (detailIcon.length > 0) { - detailIcon.click(); - } else { - clearInterval(idInterval); - } - }, 1); - } catch (ex) { - clearInterval(idInterval); - } - } - } else { - var trs = this.$body.children(); - for (var i = 0; i < trs.length; i++) { - this.expandRow_(true, $(trs[i]).data("index")); - } - } - }; - - BootstrapTable.prototype.collapseAllRows = function (isSubTable) { - if (isSubTable) { - this.expandRow_(false, 0); - } else { - var trs = this.$body.children(); - for (var i = 0; i < trs.length; i++) { - this.expandRow_(false, $(trs[i]).data("index")); - } - } - }; - - BootstrapTable.prototype.updateFormatText = function (name, text) { - if (this.options[sprintf('format%s', name)]) { - if (typeof text === 'string') { - this.options[sprintf('format%s', name)] = function () { - return text; - }; - } else if (typeof text === 'function') { - this.options[sprintf('format%s', name)] = text; - } - } - this.initToolbar(); - this.initPagination(); - this.initBody(); - }; - - // BOOTSTRAP TABLE PLUGIN DEFINITION - // ======================= - - var allowedMethods = [ - 'getOptions', - 'getSelections', 'getAllSelections', 'getData', - 'load', 'append', 'prepend', 'remove', 'removeAll', - 'insertRow', 'updateRow', 'updateCell', 'updateByUniqueId', 'removeByUniqueId', - 'getRowByUniqueId', 'showRow', 'hideRow', 'getHiddenRows', - 'mergeCells', - 'checkAll', 'uncheckAll', 'checkInvert', - 'check', 'uncheck', - 'checkBy', 'uncheckBy', - 'refresh', - 'resetView', - 'resetWidth', - 'destroy', - 'showLoading', 'hideLoading', - 'showColumn', 'hideColumn', 'getHiddenColumns', 'getVisibleColumns', - 'showAllColumns', 'hideAllColumns', - 'filterBy', - 'scrollTo', - 'getScrollPosition', - 'selectPage', 'prevPage', 'nextPage', - 'togglePagination', - 'toggleView', - 'refreshOptions', - 'resetSearch', - 'expandRow', 'collapseRow', 'expandAllRows', 'collapseAllRows', - 'updateFormatText' - ]; - - $.fn.bootstrapTable = function (option) { - var value, - args = Array.prototype.slice.call(arguments, 1); - - this.each(function () { - var $this = $(this), - data = $this.data('bootstrap.table'), - options = $.extend({}, BootstrapTable.DEFAULTS, $this.data(), - typeof option === 'object' && option); - - if (typeof option === 'string') { - if ($.inArray(option, allowedMethods) < 0) { - throw new Error("Unknown method: " + option); - } - - if (!data) { - return; - } - - value = data[option].apply(data, args); - - if (option === 'destroy') { - $this.removeData('bootstrap.table'); - } - } - - if (!data) { - $this.data('bootstrap.table', (data = new BootstrapTable(this, options))); - } - }); - - return typeof value === 'undefined' ? this : value; - }; - - $.fn.bootstrapTable.Constructor = BootstrapTable; - $.fn.bootstrapTable.defaults = BootstrapTable.DEFAULTS; - $.fn.bootstrapTable.columnDefaults = BootstrapTable.COLUMN_DEFAULTS; - $.fn.bootstrapTable.locales = BootstrapTable.LOCALES; - $.fn.bootstrapTable.methods = allowedMethods; - $.fn.bootstrapTable.utils = { - sprintf: sprintf, - getFieldIndex: getFieldIndex, - compareObjects: compareObjects, - calculateObjectValue: calculateObjectValue, - getItemField: getItemField, - objectKeys: objectKeys, - isIEBrowser: isIEBrowser - }; - - // BOOTSTRAP TABLE INIT - // ======================= - - $(function () { - $('[data-toggle="table"]').bootstrapTable(); - }); -})(jQuery); +(function($){"use strict";var cachedWidth=null;var sprintf=function(str){var args=arguments,flag=true,i=1;str=str.replace(/%s/g,function(){var arg=args[i++];if(typeof arg==="undefined"){flag=false;return""}return arg});return flag?str:""};var getPropertyFromOther=function(list,from,to,value){var result="";$.each(list,function(i,item){if(item[from]===value){result=item[to];return false}return true});return result};var getFieldIndex=function(columns,field){var index=-1;$.each(columns,function(i,column){if(column.field===field){index=i;return false}return true});return index};var setFieldIndex=function(columns){var i,j,k,totalCol=0,flag=[];for(i=0;i<columns[0].length;i++){totalCol+=columns[0][i].colspan||1}for(i=0;i<columns.length;i++){flag[i]=[];for(j=0;j<totalCol;j++){flag[i][j]=false}}for(i=0;i<columns.length;i++){for(j=0;j<columns[i].length;j++){var r=columns[i][j],rowspan=r.rowspan||1,colspan=r.colspan||1,index=$.inArray(false,flag[i]);if(colspan===1){r.fieldIndex=index;if(typeof r.field==="undefined"){r.field=index}}for(k=0;k<rowspan;k++){flag[i+k][index]=true}for(k=0;k<colspan;k++){flag[i][index+k]=true}}}};var getScrollBarWidth=function(){if(cachedWidth===null){var inner=$("<p/>").addClass("fixed-table-scroll-inner"),outer=$("<div/>").addClass("fixed-table-scroll-outer"),w1,w2;outer.append(inner);$("body").append(outer);w1=inner[0].offsetWidth;outer.css("overflow","scroll");w2=inner[0].offsetWidth;if(w1===w2){w2=outer[0].clientWidth}outer.remove();cachedWidth=w1-w2}return cachedWidth};var calculateObjectValue=function(self,name,args,defaultValue){var func=name;if(typeof name==="string"){var names=name.split(".");if(names.length>1){func=window;$.each(names,function(i,f){func=func[f]})}else{func=window[name]}}if(typeof func==="object"){return func}if(typeof func==="function"){return func.apply(self,args||[])}if(!func&&typeof name==="string"&&sprintf.apply(this,[name].concat(args))){return sprintf.apply(this,[name].concat(args))}return defaultValue};var compareObjects=function(objectA,objectB,compareLength){var objectAProperties=Object.getOwnPropertyNames(objectA),objectBProperties=Object.getOwnPropertyNames(objectB),propName="";if(compareLength){if(objectAProperties.length!==objectBProperties.length){return false}}for(var i=0;i<objectAProperties.length;i++){propName=objectAProperties[i];if($.inArray(propName,objectBProperties)>-1){if(objectA[propName]!==objectB[propName]){return false}}}return true};var escapeHTML=function(text){if(typeof text==="string"){return text.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/`/g,"`")}return text};var getRealDataAttr=function(dataAttr){for(var attr in dataAttr){var auxAttr=attr.split(/(?=[A-Z])/).join("-").toLowerCase();if(auxAttr!==attr){dataAttr[auxAttr]=dataAttr[attr];delete dataAttr[attr]}}return dataAttr};var getItemField=function(item,field,escape){var value=item;if(typeof field!=="string"||item.hasOwnProperty(field)){return escape?escapeHTML(item[field]):item[field]}var props=field.split(".");for(var p in props){if(props.hasOwnProperty(p)){value=value&&value[props[p]]}}return escape?escapeHTML(value):value};var isIEBrowser=function(){return!!(navigator.userAgent.indexOf("MSIE ")>0||!!navigator.userAgent.match(/Trident.*rv\:11\./))};var objectKeys=function(){if(!Object.keys){Object.keys=function(){var hasOwnProperty=Object.prototype.hasOwnProperty,hasDontEnumBug=!{toString:null}.propertyIsEnumerable("toString"),dontEnums=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],dontEnumsLength=dontEnums.length;return function(obj){if(typeof obj!=="object"&&(typeof obj!=="function"||obj===null)){throw new TypeError("Object.keys called on non-object")}var result=[],prop,i;for(prop in obj){if(hasOwnProperty.call(obj,prop)){result.push(prop)}}if(hasDontEnumBug){for(i=0;i<dontEnumsLength;i++){if(hasOwnProperty.call(obj,dontEnums[i])){result.push(dontEnums[i])}}}return result}}()}};var BootstrapTable=function(el,options){this.options=options;this.$el=$(el);this.$el_=this.$el.clone();this.timeoutId_=0;this.timeoutFooter_=0;this.init()};BootstrapTable.DEFAULTS={classes:"table table-hover",sortClass:undefined,locale:undefined,height:undefined,undefinedText:"-",sortName:undefined,sortOrder:"asc",sortStable:false,striped:false,columns:[[]],data:[],totalField:"total",dataField:"rows",method:"get",url:undefined,ajax:undefined,cache:true,contentType:"application/json",dataType:"json",ajaxOptions:{},queryParams:function(params){return params},queryParamsType:"limit",responseHandler:function(res){return res},pagination:false,onlyInfoPagination:false,paginationLoop:true,sidePagination:"client",totalRows:0,pageNumber:1,pageSize:10,pageList:[10,25,50,100],paginationHAlign:"right",paginationVAlign:"bottom",paginationDetailHAlign:"left",paginationPreText:"‹",paginationNextText:"›",search:false,searchOnEnterKey:false,strictSearch:false,searchAlign:"right",selectItemName:"btSelectItem",showHeader:true,showFooter:false,showColumns:false,showPaginationSwitch:false,showRefresh:false,showToggle:false,buttonsAlign:"right",smartDisplay:true,escape:false,minimumCountColumns:1,idField:undefined,uniqueId:undefined,cardView:false,detailView:false,detailFormatter:function(index,row){return""},trimOnSearch:true,clickToSelect:false,singleSelect:false,toolbar:undefined,toolbarAlign:"left",checkboxHeader:true,sortable:true,silentSort:true,maintainSelected:false,searchTimeOut:500,searchText:"",iconSize:undefined,buttonsClass:"default",iconsPrefix:"glyphicon",icons:{paginationSwitchDown:"glyphicon-collapse-down icon-chevron-down",paginationSwitchUp:"glyphicon-collapse-up icon-chevron-up",refresh:"glyphicon-refresh icon-refresh",toggle:"glyphicon-list-alt icon-list-alt",columns:"glyphicon-th icon-th",detailOpen:"glyphicon-plus icon-plus",detailClose:"glyphicon-minus icon-minus"},customSearch:$.noop,customSort:$.noop,rowStyle:function(row,index){return{}},rowAttributes:function(row,index){return{}},footerStyle:function(row,index){return{}},onAll:function(name,args){return false},onClickCell:function(field,value,row,$element){return false},onDblClickCell:function(field,value,row,$element){return false},onClickRow:function(item,$element){return false},onDblClickRow:function(item,$element){return false},onSort:function(name,order){return false},onCheck:function(row){return false},onUncheck:function(row){return false},onCheckAll:function(rows){return false},onUncheckAll:function(rows){return false},onCheckSome:function(rows){return false},onUncheckSome:function(rows){return false},onLoadSuccess:function(data){return false},onLoadError:function(status){return false},onColumnSwitch:function(field,checked){return false},onPageChange:function(number,size){return false},onSearch:function(text){return false},onToggle:function(cardView){return false},onPreBody:function(data){return false},onPostBody:function(){return false},onPostHeader:function(){return false},onExpandRow:function(index,row,$detail){return false},onCollapseRow:function(index,row){return false},onRefreshOptions:function(options){return false},onRefresh:function(params){return false},onResetView:function(){return false}};BootstrapTable.LOCALES={};BootstrapTable.LOCALES["en-US"]=BootstrapTable.LOCALES.en={formatLoadingMessage:function(){return"Loading, please wait..."},formatRecordsPerPage:function(pageNumber){return sprintf("%s rows per page",pageNumber)},formatShowingRows:function(pageFrom,pageTo,totalRows){return sprintf("Showing %s to %s of %s rows",pageFrom,pageTo,totalRows)},formatDetailPagination:function(totalRows){return sprintf("Showing %s rows",totalRows)},formatSearch:function(){return"Search"},formatNoMatches:function(){return"No matching records found"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatColumns:function(){return"Columns"},formatAllRows:function(){return"All"}};$.extend(BootstrapTable.DEFAULTS,BootstrapTable.LOCALES["en-US"]);BootstrapTable.COLUMN_DEFAULTS={radio:false,checkbox:false,checkboxEnabled:true,field:undefined,title:undefined,titleTooltip:undefined,class:undefined,align:undefined,halign:undefined,falign:undefined,valign:undefined,width:undefined,sortable:false,order:"asc",visible:true,switchable:true,clickToSelect:true,formatter:undefined,footerFormatter:undefined,events:undefined,sorter:undefined,sortName:undefined,cellStyle:undefined,searchable:true,searchFormatter:true,cardVisible:true,escape:false};BootstrapTable.EVENTS={"all.bs.table":"onAll","click-cell.bs.table":"onClickCell","dbl-click-cell.bs.table":"onDblClickCell","click-row.bs.table":"onClickRow","dbl-click-row.bs.table":"onDblClickRow","sort.bs.table":"onSort","check.bs.table":"onCheck","uncheck.bs.table":"onUncheck","check-all.bs.table":"onCheckAll","uncheck-all.bs.table":"onUncheckAll","check-some.bs.table":"onCheckSome","uncheck-some.bs.table":"onUncheckSome","load-success.bs.table":"onLoadSuccess","load-error.bs.table":"onLoadError","column-switch.bs.table":"onColumnSwitch","page-change.bs.table":"onPageChange","search.bs.table":"onSearch","toggle.bs.table":"onToggle","pre-body.bs.table":"onPreBody","post-body.bs.table":"onPostBody","post-header.bs.table":"onPostHeader","expand-row.bs.table":"onExpandRow","collapse-row.bs.table":"onCollapseRow","refresh-options.bs.table":"onRefreshOptions","reset-view.bs.table":"onResetView","refresh.bs.table":"onRefresh"};BootstrapTable.prototype.init=function(){this.initLocale();this.initContainer();this.initTable();this.initHeader();this.initData();this.initHiddenRows();this.initFooter();this.initToolbar();this.initPagination();this.initBody();this.initSearchText();this.initServer()};BootstrapTable.prototype.initLocale=function(){if(this.options.locale){var parts=this.options.locale.split(/-|_/);parts[0].toLowerCase();if(parts[1])parts[1].toUpperCase();if($.fn.bootstrapTable.locales[this.options.locale]){$.extend(this.options,$.fn.bootstrapTable.locales[this.options.locale])}else if($.fn.bootstrapTable.locales[parts.join("-")]){$.extend(this.options,$.fn.bootstrapTable.locales[parts.join("-")])}else if($.fn.bootstrapTable.locales[parts[0]]){$.extend(this.options,$.fn.bootstrapTable.locales[parts[0]])}}};BootstrapTable.prototype.initContainer=function(){this.$container=$(['<div class="bootstrap-table">','<div class="fixed-table-toolbar"></div>',this.options.paginationVAlign==="top"||this.options.paginationVAlign==="both"?'<div class="fixed-table-pagination" style="clear: both;"></div>':"",'<div class="fixed-table-container">','<div class="fixed-table-header"><table></table></div>','<div class="fixed-table-body">','<div class="fixed-table-loading">',this.options.formatLoadingMessage(),"</div>","</div>",'<div class="fixed-table-footer"><table><tr></tr></table></div>',this.options.paginationVAlign==="bottom"||this.options.paginationVAlign==="both"?'<div class="fixed-table-pagination"></div>':"","</div>","</div>"].join(""));this.$container.insertAfter(this.$el);this.$tableContainer=this.$container.find(".fixed-table-container");this.$tableHeader=this.$container.find(".fixed-table-header");this.$tableBody=this.$container.find(".fixed-table-body");this.$tableLoading=this.$container.find(".fixed-table-loading");this.$tableFooter=this.$container.find(".fixed-table-footer");this.$toolbar=this.$container.find(".fixed-table-toolbar");this.$pagination=this.$container.find(".fixed-table-pagination");this.$tableBody.append(this.$el);this.$container.after('<div class="clearfix"></div>');this.$el.addClass(this.options.classes);if(this.options.striped){this.$el.addClass("table-striped")}if($.inArray("table-no-bordered",this.options.classes.split(" "))!==-1){this.$tableContainer.addClass("table-no-bordered")}};BootstrapTable.prototype.initTable=function(){var that=this,columns=[],data=[];this.$header=this.$el.find(">thead");if(!this.$header.length){this.$header=$("<thead></thead>").appendTo(this.$el)}this.$header.find("tr").each(function(){var column=[];$(this).find("th").each(function(){if(typeof $(this).data("field")!=="undefined"){$(this).data("field",$(this).data("field")+"")}column.push($.extend({},{title:$(this).html(),class:$(this).attr("class"),titleTooltip:$(this).attr("title"),rowspan:$(this).attr("rowspan")?+$(this).attr("rowspan"):undefined,colspan:$(this).attr("colspan")?+$(this).attr("colspan"):undefined},$(this).data()))});columns.push(column)});if(!$.isArray(this.options.columns[0])){this.options.columns=[this.options.columns]}this.options.columns=$.extend(true,[],columns,this.options.columns);this.columns=[];setFieldIndex(this.options.columns);$.each(this.options.columns,function(i,columns){$.each(columns,function(j,column){column=$.extend({},BootstrapTable.COLUMN_DEFAULTS,column);if(typeof column.fieldIndex!=="undefined"){that.columns[column.fieldIndex]=column}that.options.columns[i][j]=column})});if(this.options.data.length){return}var m=[];this.$el.find(">tbody>tr").each(function(y){var row={};row._id=$(this).attr("id");row._class=$(this).attr("class");row._data=getRealDataAttr($(this).data());$(this).find(">td").each(function(x){var $this=$(this),cspan=+$this.attr("colspan")||1,rspan=+$this.attr("rowspan")||1,tx,ty;for(;m[y]&&m[y][x];x++);for(tx=x;tx<x+cspan;tx++){for(ty=y;ty<y+rspan;ty++){if(!m[ty]){m[ty]=[]}m[ty][tx]=true}}var field=that.columns[x].field;row[field]=$(this).html();row["_"+field+"_id"]=$(this).attr("id");row["_"+field+"_class"]=$(this).attr("class");row["_"+field+"_rowspan"]=$(this).attr("rowspan");row["_"+field+"_colspan"]=$(this).attr("colspan");row["_"+field+"_title"]=$(this).attr("title");row["_"+field+"_data"]=getRealDataAttr($(this).data())});data.push(row)});this.options.data=data;if(data.length)this.fromHtml=true};BootstrapTable.prototype.initHeader=function(){var that=this,visibleColumns={},html=[];this.header={fields:[],styles:[],classes:[],formatters:[],events:[],sorters:[],sortNames:[],cellStyles:[],searchables:[]};$.each(this.options.columns,function(i,columns){html.push("<tr>");if(i===0&&!that.options.cardView&&that.options.detailView){html.push(sprintf('<th class="detail" rowspan="%s"><div class="fht-cell"></div></th>',that.options.columns.length))}$.each(columns,function(j,column){var text="",halign="",align="",style="",class_=sprintf(' class="%s"',column["class"]),order=that.options.sortOrder||column.order,unitWidth="px",width=column.width;if(column.width!==undefined&&!that.options.cardView){if(typeof column.width==="string"){if(column.width.indexOf("%")!==-1){unitWidth="%"}}}if(column.width&&typeof column.width==="string"){width=column.width.replace("%","").replace("px","")}halign=sprintf("text-align: %s; ",column.halign?column.halign:column.align);align=sprintf("text-align: %s; ",column.align);style=sprintf("vertical-align: %s; ",column.valign);style+=sprintf("width: %s; ",(column.checkbox||column.radio)&&!width?"36px":width?width+unitWidth:undefined);if(typeof column.fieldIndex!=="undefined"){that.header.fields[column.fieldIndex]=column.field;that.header.styles[column.fieldIndex]=align+style;that.header.classes[column.fieldIndex]=class_;that.header.formatters[column.fieldIndex]=column.formatter;that.header.events[column.fieldIndex]=column.events;that.header.sorters[column.fieldIndex]=column.sorter;that.header.sortNames[column.fieldIndex]=column.sortName;that.header.cellStyles[column.fieldIndex]=column.cellStyle;that.header.searchables[column.fieldIndex]=column.searchable;if(!column.visible){return}if(that.options.cardView&&!column.cardVisible){return}visibleColumns[column.field]=column}html.push("<th"+sprintf(' title="%s"',column.titleTooltip),column.checkbox||column.radio?sprintf(' class="bs-checkbox %s"',column["class"]||""):class_,sprintf(' style="%s"',halign+style),sprintf(' rowspan="%s"',column.rowspan),sprintf(' colspan="%s"',column.colspan),sprintf(' data-field="%s"',column.field),">");html.push(sprintf('<div class="th-inner %s">',that.options.sortable&&column.sortable?"sortable both":""));text=that.options.escape?escapeHTML(column.title):column.title;if(column.checkbox){if(!that.options.singleSelect&&that.options.checkboxHeader){text='<input name="btSelectAll" type="checkbox" />'}that.header.stateField=column.field}if(column.radio){text="";that.header.stateField=column.field;that.options.singleSelect=true}html.push(text);html.push("</div>");html.push('<div class="fht-cell"></div>');html.push("</div>");html.push("</th>")});html.push("</tr>")});this.$header.html(html.join(""));this.$header.find("th[data-field]").each(function(i){$(this).data(visibleColumns[$(this).data("field")])});this.$container.off("click",".th-inner").on("click",".th-inner",function(event){var target=$(this);if(that.options.detailView){if(target.closest(".bootstrap-table")[0]!==that.$container[0])return false}if(that.options.sortable&&target.parent().data().sortable){that.onSort(event)}});this.$header.children().children().off("keypress").on("keypress",function(event){if(that.options.sortable&&$(this).data().sortable){var code=event.keyCode||event.which;if(code==13){that.onSort(event)}}});$(window).off("resize.bootstrap-table");if(!this.options.showHeader||this.options.cardView){this.$header.hide();this.$tableHeader.hide();this.$tableLoading.css("top",0)}else{this.$header.show();this.$tableHeader.show();this.$tableLoading.css("top",this.$header.outerHeight()+1);this.getCaret();$(window).on("resize.bootstrap-table",$.proxy(this.resetWidth,this))}this.$selectAll=this.$header.find('[name="btSelectAll"]');this.$selectAll.off("click").on("click",function(){var checked=$(this).prop("checked");that[checked?"checkAll":"uncheckAll"]();that.updateSelected()})};BootstrapTable.prototype.initFooter=function(){if(!this.options.showFooter||this.options.cardView){this.$tableFooter.hide()}else{this.$tableFooter.show()}};BootstrapTable.prototype.initData=function(data,type){if(type==="append"){this.data=this.data.concat(data)}else if(type==="prepend"){this.data=[].concat(data).concat(this.data)}else{this.data=data||this.options.data}if(type==="append"){this.options.data=this.options.data.concat(data)}else if(type==="prepend"){this.options.data=[].concat(data).concat(this.options.data)}else{this.options.data=this.data}if(this.options.sidePagination==="server"){return}this.initSort()};BootstrapTable.prototype.initSort=function(){var that=this,name=this.options.sortName,order=this.options.sortOrder==="desc"?-1:1,index=$.inArray(this.options.sortName,this.header.fields),timeoutId=0;if(this.options.customSort!==$.noop){this.options.customSort.apply(this,[this.options.sortName,this.options.sortOrder]);return}if(index!==-1){if(this.options.sortStable){$.each(this.data,function(i,row){if(!row.hasOwnProperty("_position"))row._position=i})}this.data.sort(function(a,b){if(that.header.sortNames[index]){name=that.header.sortNames[index]}var aa=getItemField(a,name,that.options.escape),bb=getItemField(b,name,that.options.escape),value=calculateObjectValue(that.header,that.header.sorters[index],[aa,bb]);if(value!==undefined){return order*value}if(aa===undefined||aa===null){aa=""}if(bb===undefined||bb===null){bb=""}if(that.options.sortStable&&aa===bb){aa=a._position;bb=b._position}if($.isNumeric(aa)&&$.isNumeric(bb)){aa=parseFloat(aa);bb=parseFloat(bb);if(aa<bb){return order*-1}return order}if(aa===bb){return 0}if(typeof aa!=="string"){aa=aa.toString()}if(aa.localeCompare(bb)===-1){return order*-1}return order});if(this.options.sortClass!==undefined){clearTimeout(timeoutId);timeoutId=setTimeout(function(){that.$el.removeClass(that.options.sortClass);var index=that.$header.find(sprintf('[data-field="%s"]',that.options.sortName).index()+1);that.$el.find(sprintf("tr td:nth-child(%s)",index)).addClass(that.options.sortClass)},250)}}};BootstrapTable.prototype.onSort=function(event){var $this=event.type==="keypress"?$(event.currentTarget):$(event.currentTarget).parent(),$this_=this.$header.find("th").eq($this.index());this.$header.add(this.$header_).find("span.order").remove();if(this.options.sortName===$this.data("field")){this.options.sortOrder=this.options.sortOrder==="asc"?"desc":"asc"}else{this.options.sortName=$this.data("field");this.options.sortOrder=$this.data("order")==="asc"?"desc":"asc"}this.trigger("sort",this.options.sortName,this.options.sortOrder);$this.add($this_).data("order",this.options.sortOrder);this.getCaret();if(this.options.sidePagination==="server"){this.initServer(this.options.silentSort);return}this.initSort();this.initBody()};BootstrapTable.prototype.initToolbar=function(){var that=this,html=[],timeoutId=0,$keepOpen,$search,switchableCount=0;if(this.$toolbar.find(".bs-bars").children().length){$("body").append($(this.options.toolbar))}this.$toolbar.html("");if(typeof this.options.toolbar==="string"||typeof this.options.toolbar==="object"){$(sprintf('<div class="bs-bars pull-%s"></div>',this.options.toolbarAlign)).appendTo(this.$toolbar).append($(this.options.toolbar))}html=[sprintf('<div class="columns columns-%s btn-group pull-%s">',this.options.buttonsAlign,this.options.buttonsAlign)];if(typeof this.options.icons==="string"){this.options.icons=calculateObjectValue(null,this.options.icons)}if(this.options.showPaginationSwitch){html.push(sprintf('<button class="btn'+sprintf(" btn-%s",this.options.buttonsClass)+sprintf(" btn-%s",this.options.iconSize)+'" type="button" name="paginationSwitch" aria-label="pagination Switch" title="%s">',this.options.formatPaginationSwitch()),sprintf('<i class="%s %s"></i>',this.options.iconsPrefix,this.options.icons.paginationSwitchDown),"</button>")}if(this.options.showRefresh){html.push(sprintf('<button class="btn'+sprintf(" btn-%s",this.options.buttonsClass)+sprintf(" btn-%s",this.options.iconSize)+'" type="button" name="refresh" aria-label="refresh" title="%s">',this.options.formatRefresh()),sprintf('<i class="%s %s"></i>',this.options.iconsPrefix,this.options.icons.refresh),"</button>")}if(this.options.showToggle){html.push(sprintf('<button class="btn'+sprintf(" btn-%s",this.options.buttonsClass)+sprintf(" btn-%s",this.options.iconSize)+'" type="button" name="toggle" aria-label="toggle" title="%s">',this.options.formatToggle()),sprintf('<i class="%s %s"></i>',this.options.iconsPrefix,this.options.icons.toggle),"</button>")}if(this.options.showColumns){html.push(sprintf('<div class="keep-open btn-group" title="%s">',this.options.formatColumns()),'<button type="button" aria-label="columns" class="btn'+sprintf(" btn-%s",this.options.buttonsClass)+sprintf(" btn-%s",this.options.iconSize)+' dropdown-toggle" data-toggle="dropdown">',sprintf('<i class="%s %s"></i>',this.options.iconsPrefix,this.options.icons.columns),' <span class="caret"></span>',"</button>",'<ul class="dropdown-menu" role="menu">');$.each(this.columns,function(i,column){if(column.radio||column.checkbox){return}if(that.options.cardView&&!column.cardVisible){return}var checked=column.visible?' checked="checked"':"";if(column.switchable){html.push(sprintf('<li role="menuitem">'+'<label><input type="checkbox" data-field="%s" value="%s"%s> %s</label>'+"</li>",column.field,i,checked,column.title));switchableCount++}});html.push("</ul>","</div>")}html.push("</div>");if(this.showToolbar||html.length>2){this.$toolbar.append(html.join(""))}if(this.options.showPaginationSwitch){this.$toolbar.find('button[name="paginationSwitch"]').off("click").on("click",$.proxy(this.togglePagination,this))}if(this.options.showRefresh){this.$toolbar.find('button[name="refresh"]').off("click").on("click",$.proxy(this.refresh,this))}if(this.options.showToggle){this.$toolbar.find('button[name="toggle"]').off("click").on("click",function(){that.toggleView()})}if(this.options.showColumns){$keepOpen=this.$toolbar.find(".keep-open");if(switchableCount<=this.options.minimumCountColumns){$keepOpen.find("input").prop("disabled",true)}$keepOpen.find("li").off("click").on("click",function(event){event.stopImmediatePropagation()});$keepOpen.find("input").off("click").on("click",function(){var $this=$(this);that.toggleColumn($(this).val(),$this.prop("checked"),false);that.trigger("column-switch",$(this).data("field"),$this.prop("checked"))})}if(this.options.search){html=[];html.push('<div class="pull-'+this.options.searchAlign+' search">',sprintf('<input class="form-control'+sprintf(" input-%s",this.options.iconSize)+'" type="text" placeholder="%s">',this.options.formatSearch()),"</div>");this.$toolbar.append(html.join(""));$search=this.$toolbar.find(".search input");$search.off("keyup drop blur").on("keyup drop blur",function(event){if(that.options.searchOnEnterKey&&event.keyCode!==13){return}if($.inArray(event.keyCode,[37,38,39,40])>-1){return}clearTimeout(timeoutId);timeoutId=setTimeout(function(){that.onSearch(event)},that.options.searchTimeOut)});if(isIEBrowser()){$search.off("mouseup").on("mouseup",function(event){clearTimeout(timeoutId);timeoutId=setTimeout(function(){that.onSearch(event)},that.options.searchTimeOut)})}}};BootstrapTable.prototype.onSearch=function(event){var text=$.trim($(event.currentTarget).val());if(this.options.trimOnSearch&&$(event.currentTarget).val()!==text){$(event.currentTarget).val(text)}if(text===this.searchText){return}this.searchText=text;this.options.searchText=text;this.options.pageNumber=1;this.initSearch();this.updatePagination();this.trigger("search",text)};BootstrapTable.prototype.initSearch=function(){var that=this;if(this.options.sidePagination!=="server"){if(this.options.customSearch!==$.noop){this.options.customSearch.apply(this,[this.searchText]);return}var s=this.searchText&&(this.options.escape?escapeHTML(this.searchText):this.searchText).toLowerCase();var f=$.isEmptyObject(this.filterColumns)?null:this.filterColumns;this.data=f?$.grep(this.options.data,function(item,i){for(var key in f){if($.isArray(f[key])&&$.inArray(item[key],f[key])===-1||!$.isArray(f[key])&&item[key]!==f[key]){return false}}return true}):this.options.data;this.data=s?$.grep(this.data,function(item,i){for(var j=0;j<that.header.fields.length;j++){if(!that.header.searchables[j]){continue}var key=$.isNumeric(that.header.fields[j])?parseInt(that.header.fields[j],10):that.header.fields[j];var column=that.columns[getFieldIndex(that.columns,key)];var value;if(typeof key==="string"){value=item;var props=key.split(".");for(var prop_index=0;prop_index<props.length;prop_index++){value=value[props[prop_index]]}if(column&&column.searchFormatter){value=calculateObjectValue(column,that.header.formatters[j],[value,item,i],value)}}else{value=item[key]}if(typeof value==="string"||typeof value==="number"){if(that.options.strictSearch){if((value+"").toLowerCase()===s){return true}}else{if((value+"").toLowerCase().indexOf(s)!==-1){return true}}}}return false}):this.data}};BootstrapTable.prototype.initPagination=function(){if(!this.options.pagination){this.$pagination.hide();return}else{this.$pagination.show()}var that=this,html=[],$allSelected=false,i,from,to,$pageList,$first,$pre,$next,$last,$number,data=this.getData(),pageList=this.options.pageList;if(this.options.sidePagination!=="server"){this.options.totalRows=data.length}this.totalPages=0;if(this.options.totalRows){if(this.options.pageSize===this.options.formatAllRows()){this.options.pageSize=this.options.totalRows;$allSelected=true}else if(this.options.pageSize===this.options.totalRows){var pageLst=typeof this.options.pageList==="string"?this.options.pageList.replace("[","").replace("]","").replace(/ /g,"").toLowerCase().split(","):this.options.pageList;if($.inArray(this.options.formatAllRows().toLowerCase(),pageLst)>-1){$allSelected=true}}this.totalPages=~~((this.options.totalRows-1)/this.options.pageSize)+1;this.options.totalPages=this.totalPages}if(this.totalPages>0&&this.options.pageNumber>this.totalPages){this.options.pageNumber=this.totalPages}this.pageFrom=(this.options.pageNumber-1)*this.options.pageSize+1;this.pageTo=this.options.pageNumber*this.options.pageSize;if(this.pageTo>this.options.totalRows){this.pageTo=this.options.totalRows}html.push('<div class="pull-'+this.options.paginationDetailHAlign+' pagination-detail">','<span class="pagination-info">',this.options.onlyInfoPagination?this.options.formatDetailPagination(this.options.totalRows):this.options.formatShowingRows(this.pageFrom,this.pageTo,this.options.totalRows),"</span>");if(!this.options.onlyInfoPagination){html.push('<span class="page-list">');var pageNumber=[sprintf('<span class="btn-group %s">',this.options.paginationVAlign==="top"||this.options.paginationVAlign==="both"?"dropdown":"dropup"),'<button type="button" class="btn'+sprintf(" btn-%s",this.options.buttonsClass)+sprintf(" btn-%s",this.options.iconSize)+' dropdown-toggle" data-toggle="dropdown">','<span class="page-size">',$allSelected?this.options.formatAllRows():this.options.pageSize,"</span>",' <span class="caret"></span>',"</button>",'<ul class="dropdown-menu" role="menu">'];if(typeof this.options.pageList==="string"){var list=this.options.pageList.replace("[","").replace("]","").replace(/ /g,"").split(",");pageList=[];$.each(list,function(i,value){pageList.push(value.toUpperCase()===that.options.formatAllRows().toUpperCase()?that.options.formatAllRows():+value)})}$.each(pageList,function(i,page){if(!that.options.smartDisplay||i===0||pageList[i-1]<that.options.totalRows){var active;if($allSelected){active=page===that.options.formatAllRows()?' class="active"':""}else{active=page===that.options.pageSize?' class="active"':""}pageNumber.push(sprintf('<li role="menuitem"%s><a href="#">%s</a></li>',active,page))}});pageNumber.push("</ul></span>");html.push(this.options.formatRecordsPerPage(pageNumber.join("")));html.push("</span>");html.push("</div>",'<div class="pull-'+this.options.paginationHAlign+' pagination">','<ul class="pagination'+sprintf(" pagination-%s",this.options.iconSize)+'">','<li class="page-pre"><a href="#">'+this.options.paginationPreText+"</a></li>");if(this.totalPages<5){from=1;to=this.totalPages}else{from=this.options.pageNumber-2;to=from+4;if(from<1){from=1;to=5}if(to>this.totalPages){to=this.totalPages;from=to-4}}if(this.totalPages>=6){if(this.options.pageNumber>=3){html.push('<li class="page-first'+(1===this.options.pageNumber?" active":"")+'">','<a href="#">',1,"</a>","</li>");from++}if(this.options.pageNumber>=4){if(this.options.pageNumber==4||this.totalPages==6||this.totalPages==7){from--}else{html.push('<li class="page-first-separator disabled">','<a href="#">...</a>',"</li>")}to--}}if(this.totalPages>=7){if(this.options.pageNumber>=this.totalPages-2){from--}}if(this.totalPages==6){if(this.options.pageNumber>=this.totalPages-2){to++}}else if(this.totalPages>=7){if(this.totalPages==7||this.options.pageNumber>=this.totalPages-3){to++}}for(i=from;i<=to;i++){html.push('<li class="page-number'+(i===this.options.pageNumber?" active":"")+'">','<a href="#">',i,"</a>","</li>")}if(this.totalPages>=8){if(this.options.pageNumber<=this.totalPages-4){html.push('<li class="page-last-separator disabled">','<a href="#">...</a>',"</li>")}}if(this.totalPages>=6){if(this.options.pageNumber<=this.totalPages-3){html.push('<li class="page-last'+(this.totalPages===this.options.pageNumber?" active":"")+'">','<a href="#">',this.totalPages,"</a>","</li>")}}html.push('<li class="page-next"><a href="#">'+this.options.paginationNextText+"</a></li>","</ul>","</div>")}this.$pagination.html(html.join(""));if(!this.options.onlyInfoPagination){$pageList=this.$pagination.find(".page-list a");$first=this.$pagination.find(".page-first");$pre=this.$pagination.find(".page-pre");$next=this.$pagination.find(".page-next");$last=this.$pagination.find(".page-last");$number=this.$pagination.find(".page-number");if(this.options.smartDisplay){if(this.totalPages<=1){this.$pagination.find("div.pagination").hide()}if(pageList.length<2||this.options.totalRows<=pageList[0]){this.$pagination.find("span.page-list").hide()}this.$pagination[this.getData().length?"show":"hide"]()}if(!this.options.paginationLoop){if(this.options.pageNumber===1){$pre.addClass("disabled")}if(this.options.pageNumber===this.totalPages){$next.addClass("disabled")}}if($allSelected){this.options.pageSize=this.options.formatAllRows()}$pageList.off("click").on("click",$.proxy(this.onPageListChange,this));$first.off("click").on("click",$.proxy(this.onPageFirst,this));$pre.off("click").on("click",$.proxy(this.onPagePre,this));$next.off("click").on("click",$.proxy(this.onPageNext,this));$last.off("click").on("click",$.proxy(this.onPageLast,this));$number.off("click").on("click",$.proxy(this.onPageNumber,this))}};BootstrapTable.prototype.updatePagination=function(event){if(event&&$(event.currentTarget).hasClass("disabled")){return}if(!this.options.maintainSelected){this.resetRows()}this.initPagination();if(this.options.sidePagination==="server"){this.initServer()}else{this.initBody()}this.trigger("page-change",this.options.pageNumber,this.options.pageSize)};BootstrapTable.prototype.onPageListChange=function(event){var $this=$(event.currentTarget);$this.parent().addClass("active").siblings().removeClass("active");this.options.pageSize=$this.text().toUpperCase()===this.options.formatAllRows().toUpperCase()?this.options.formatAllRows():+$this.text();this.$toolbar.find(".page-size").text(this.options.pageSize);this.updatePagination(event);return false};BootstrapTable.prototype.onPageFirst=function(event){this.options.pageNumber=1;this.updatePagination(event);return false};BootstrapTable.prototype.onPagePre=function(event){if(this.options.pageNumber-1===0){this.options.pageNumber=this.options.totalPages}else{this.options.pageNumber--}this.updatePagination(event);return false};BootstrapTable.prototype.onPageNext=function(event){if(this.options.pageNumber+1>this.options.totalPages){this.options.pageNumber=1}else{this.options.pageNumber++}this.updatePagination(event);return false};BootstrapTable.prototype.onPageLast=function(event){this.options.pageNumber=this.totalPages;this.updatePagination(event);return false};BootstrapTable.prototype.onPageNumber=function(event){if(this.options.pageNumber===+$(event.currentTarget).text()){return}this.options.pageNumber=+$(event.currentTarget).text();this.updatePagination(event);return false};BootstrapTable.prototype.initRow=function(item,i,data,parentDom){var that=this,key,html=[],style={},csses=[],data_="",attributes={},htmlAttributes=[];if($.inArray(item,this.hiddenRows)>-1){return}style=calculateObjectValue(this.options,this.options.rowStyle,[item,i],style);if(style&&style.css){for(key in style.css){csses.push(key+": "+style.css[key])}}attributes=calculateObjectValue(this.options,this.options.rowAttributes,[item,i],attributes);if(attributes){for(key in attributes){htmlAttributes.push(sprintf('%s="%s"',key,escapeHTML(attributes[key])))}}if(item._data&&!$.isEmptyObject(item._data)){$.each(item._data,function(k,v){if(k==="index"){return}data_+=sprintf(' data-%s="%s"',k,v)})}html.push("<tr",sprintf(" %s",htmlAttributes.join(" ")),sprintf(' id="%s"',$.isArray(item)?undefined:item._id),sprintf(' class="%s"',style.classes||($.isArray(item)?undefined:item._class)),sprintf(' data-index="%s"',i),sprintf(' data-uniqueid="%s"',item[this.options.uniqueId]),sprintf("%s",data_),">");if(this.options.cardView){html.push(sprintf('<td colspan="%s"><div class="card-views">',this.header.fields.length))}if(!this.options.cardView&&this.options.detailView){html.push("<td>",'<a class="detail-icon" href="#">',sprintf('<i class="%s %s"></i>',this.options.iconsPrefix,this.options.icons.detailOpen),"</a>","</td>")}$.each(this.header.fields,function(j,field){var text="",value_=getItemField(item,field,that.options.escape),value="",type="",cellStyle={},id_="",class_=that.header.classes[j],data_="",rowspan_="",colspan_="",title_="",column=that.columns[j];if(that.fromHtml&&typeof value_==="undefined"){return}if(!column.visible){return}if(that.options.cardView&&!column.cardVisible){return}if(column.escape){value_=escapeHTML(value_)}style=sprintf('style="%s"',csses.concat(that.header.styles[j]).join("; "));if(item["_"+field+"_id"]){id_=sprintf(' id="%s"',item["_"+field+"_id"])}if(item["_"+field+"_class"]){class_=sprintf(' class="%s"',item["_"+field+"_class"])}if(item["_"+field+"_rowspan"]){rowspan_=sprintf(' rowspan="%s"',item["_"+field+"_rowspan"])}if(item["_"+field+"_colspan"]){colspan_=sprintf(' colspan="%s"',item["_"+field+"_colspan"])}if(item["_"+field+"_title"]){title_=sprintf(' title="%s"',item["_"+field+"_title"])}cellStyle=calculateObjectValue(that.header,that.header.cellStyles[j],[value_,item,i,field],cellStyle);if(cellStyle.classes){class_=sprintf(' class="%s"',cellStyle.classes)}if(cellStyle.css){var csses_=[];for(var key in cellStyle.css){csses_.push(key+": "+cellStyle.css[key])}style=sprintf('style="%s"',csses_.concat(that.header.styles[j]).join("; "))}value=calculateObjectValue(column,that.header.formatters[j],[value_,item,i],value_);if(item["_"+field+"_data"]&&!$.isEmptyObject(item["_"+field+"_data"])){$.each(item["_"+field+"_data"],function(k,v){if(k==="index"){return}data_+=sprintf(' data-%s="%s"',k,v)})}if(column.checkbox||column.radio){type=column.checkbox?"checkbox":type;type=column.radio?"radio":type;text=[sprintf(that.options.cardView?'<div class="card-view %s">':'<td class="bs-checkbox %s">',column["class"]||""),"<input"+sprintf(' data-index="%s"',i)+sprintf(' name="%s"',that.options.selectItemName)+sprintf(' type="%s"',type)+sprintf(' value="%s"',item[that.options.idField])+sprintf(' checked="%s"',value===true||(value_||value&&value.checked)?"checked":undefined)+sprintf(' disabled="%s"',!column.checkboxEnabled||value&&value.disabled?"disabled":undefined)+" />",that.header.formatters[j]&&typeof value==="string"?value:"",that.options.cardView?"</div>":"</td>"].join("");item[that.header.stateField]=value===true||value&&value.checked}else{value=typeof value==="undefined"||value===null?that.options.undefinedText:value;text=that.options.cardView?['<div class="card-view">',that.options.showHeader?sprintf('<span class="title" %s>%s</span>',style,getPropertyFromOther(that.columns,"field","title",field)):"",sprintf('<span class="value">%s</span>',value),"</div>"].join(""):[sprintf("<td%s %s %s %s %s %s %s>",id_,class_,style,data_,rowspan_,colspan_,title_),value,"</td>"].join("");if(that.options.cardView&&that.options.smartDisplay&&value===""){text='<div class="card-view"></div>'}}html.push(text)});if(this.options.cardView){html.push("</div></td>")}html.push("</tr>");return html.join(" ")};BootstrapTable.prototype.initBody=function(fixedScroll){var that=this,html=[],data=this.getData();this.trigger("pre-body",data);this.$body=this.$el.find(">tbody");if(!this.$body.length){this.$body=$("<tbody></tbody>").appendTo(this.$el)}if(!this.options.pagination||this.options.sidePagination==="server"){this.pageFrom=1;this.pageTo=data.length}var trFragments=$(document.createDocumentFragment());var hasTr;for(var i=this.pageFrom-1;i<this.pageTo;i++){var item=data[i];var tr=this.initRow(item,i,data,trFragments);hasTr=hasTr||!!tr;if(tr&&tr!==true){trFragments.append(tr)}}if(!hasTr){trFragments.append('<tr class="no-records-found">'+sprintf('<td colspan="%s">%s</td>',this.$header.find("th").length,this.options.formatNoMatches())+"</tr>")}this.$body.html(trFragments);if(!fixedScroll){this.scrollTo(0)}this.$body.find("> tr[data-index] > td").off("click dblclick").on("click dblclick",function(e){var $td=$(this),$tr=$td.parent(),item=that.data[$tr.data("index")],index=$td[0].cellIndex,fields=that.getVisibleFields(),field=fields[that.options.detailView&&!that.options.cardView?index-1:index],column=that.columns[getFieldIndex(that.columns,field)],value=getItemField(item,field,that.options.escape);if($td.find(".detail-icon").length){return}that.trigger(e.type==="click"?"click-cell":"dbl-click-cell",field,value,item,$td);that.trigger(e.type==="click"?"click-row":"dbl-click-row",item,$tr,field);if(e.type==="click"&&that.options.clickToSelect&&column.clickToSelect){var $selectItem=$tr.find(sprintf('[name="%s"]',that.options.selectItemName));if($selectItem.length){$selectItem[0].click()}}});this.$body.find("> tr[data-index] > td > .detail-icon").off("click").on("click",function(){var $this=$(this),$tr=$this.parent().parent(),index=$tr.data("index"),row=data[index];if($tr.next().is("tr.detail-view")){$this.find("i").attr("class",sprintf("%s %s",that.options.iconsPrefix,that.options.icons.detailOpen));that.trigger("collapse-row",index,row);$tr.next().remove()}else{$this.find("i").attr("class",sprintf("%s %s",that.options.iconsPrefix,that.options.icons.detailClose));$tr.after(sprintf('<tr class="detail-view"><td colspan="%s"></td></tr>',$tr.find("td").length));var $element=$tr.next().find("td");var content=calculateObjectValue(that.options,that.options.detailFormatter,[index,row,$element],"");if($element.length===1){$element.append(content)}that.trigger("expand-row",index,row,$element)}that.resetView();return false});this.$selectItem=this.$body.find(sprintf('[name="%s"]',this.options.selectItemName));this.$selectItem.off("click").on("click",function(event){event.stopImmediatePropagation();var $this=$(this),checked=$this.prop("checked"),row=that.data[$this.data("index")];if(that.options.maintainSelected&&$(this).is(":radio")){$.each(that.options.data,function(i,row){row[that.header.stateField]=false})}row[that.header.stateField]=checked;if(that.options.singleSelect){that.$selectItem.not(this).each(function(){that.data[$(this).data("index")][that.header.stateField]=false});that.$selectItem.filter(":checked").not(this).prop("checked",false)}that.updateSelected();that.trigger(checked?"check":"uncheck",row,$this)});$.each(this.header.events,function(i,events){if(!events){return}if(typeof events==="string"){events=calculateObjectValue(null,events)}var field=that.header.fields[i],fieldIndex=$.inArray(field,that.getVisibleFields());if(that.options.detailView&&!that.options.cardView){fieldIndex+=1}for(var key in events){that.$body.find(">tr:not(.no-records-found)").each(function(){var $tr=$(this),$td=$tr.find(that.options.cardView?".card-view":"td").eq(fieldIndex),index=key.indexOf(" "),name=key.substring(0,index),el=key.substring(index+1),func=events[key];$td.find(el).off(name).on(name,function(e){var index=$tr.data("index"),row=that.data[index],value=row[field];var props=field.split(".");if(props.length>1){value=row;for(var prop_index=0;prop_index<props.length;prop_index++){value=value[props[prop_index]]}}func.apply(this,[e,value,row,index])})})}});this.updateSelected();this.resetView();this.trigger("post-body",data)};BootstrapTable.prototype.initServer=function(silent,query,url){var that=this,data={},params={searchText:this.searchText,sortName:this.options.sortName,sortOrder:this.options.sortOrder},request;if(this.options.pagination){params.pageSize=this.options.pageSize===this.options.formatAllRows()?this.options.totalRows:this.options.pageSize;params.pageNumber=this.options.pageNumber}if(!(url||this.options.url)&&!this.options.ajax){return}if(this.options.queryParamsType==="limit"){params={search:params.searchText,sort:params.sortName,order:params.sortOrder};if(this.options.pagination){params.offset=this.options.pageSize===this.options.formatAllRows()?0:this.options.pageSize*(this.options.pageNumber-1);params.limit=this.options.pageSize===this.options.formatAllRows()?this.options.totalRows:this.options.pageSize}}if(!$.isEmptyObject(this.filterColumnsPartial)){params.filter=JSON.stringify(this.filterColumnsPartial,null)}data=calculateObjectValue(this.options,this.options.queryParams,[params],data);$.extend(data,query||{});if(data===false){return}if(!silent){this.$tableLoading.show()}request=$.extend({},calculateObjectValue(null,this.options.ajaxOptions),{type:this.options.method,url:url||this.options.url,data:this.options.contentType==="application/json"&&this.options.method==="post"?JSON.stringify(data):data,cache:this.options.cache,contentType:this.options.contentType,dataType:this.options.dataType,success:function(res){res=calculateObjectValue(that.options,that.options.responseHandler,[res],res);that.load(res);that.trigger("load-success",res);if(!silent)that.$tableLoading.hide()},error:function(res){that.trigger("load-error",res.status,res);if(!silent)that.$tableLoading.hide()}});if(this.options.ajax){calculateObjectValue(this,this.options.ajax,[request],null)}else{if(this._xhr&&this._xhr.readyState!==4){this._xhr.abort()}this._xhr=$.ajax(request)}};BootstrapTable.prototype.initSearchText=function(){if(this.options.search){if(this.options.searchText!==""){var $search=this.$toolbar.find(".search input");$search.val(this.options.searchText);this.onSearch({currentTarget:$search})}}};BootstrapTable.prototype.getCaret=function(){var that=this;$.each(this.$header.find("th"),function(i,th){$(th).find(".sortable").removeClass("desc asc").addClass($(th).data("field")===that.options.sortName?that.options.sortOrder:"both")})};BootstrapTable.prototype.updateSelected=function(){var checkAll=this.$selectItem.filter(":enabled").length&&this.$selectItem.filter(":enabled").length===this.$selectItem.filter(":enabled").filter(":checked").length;this.$selectAll.add(this.$selectAll_).prop("checked",checkAll);this.$selectItem.each(function(){$(this).closest("tr")[$(this).prop("checked")?"addClass":"removeClass"]("selected")})};BootstrapTable.prototype.updateRows=function(){var that=this;this.$selectItem.each(function(){that.data[$(this).data("index")][that.header.stateField]=$(this).prop("checked")})};BootstrapTable.prototype.resetRows=function(){var that=this;$.each(this.data,function(i,row){that.$selectAll.prop("checked",false);that.$selectItem.prop("checked",false);if(that.header.stateField){row[that.header.stateField]=false}});this.initHiddenRows()};BootstrapTable.prototype.trigger=function(name){var args=Array.prototype.slice.call(arguments,1);name+=".bs.table";this.options[BootstrapTable.EVENTS[name]].apply(this.options,args);this.$el.trigger($.Event(name),args);this.options.onAll(name,args);this.$el.trigger($.Event("all.bs.table"),[name,args])};BootstrapTable.prototype.resetHeader=function(){clearTimeout(this.timeoutId_);this.timeoutId_=setTimeout($.proxy(this.fitHeader,this),this.$el.is(":hidden")?100:0)};BootstrapTable.prototype.fitHeader=function(){var that=this,fixedBody,scrollWidth,focused,focusedTemp;if(that.$el.is(":hidden")){that.timeoutId_=setTimeout($.proxy(that.fitHeader,that),100);return}fixedBody=this.$tableBody.get(0);scrollWidth=fixedBody.scrollWidth>fixedBody.clientWidth&&fixedBody.scrollHeight>fixedBody.clientHeight+this.$header.outerHeight()?getScrollBarWidth():0;this.$el.css("margin-top",-this.$header.outerHeight());focused=$(":focus");if(focused.length>0){var $th=focused.parents("th");if($th.length>0){var dataField=$th.attr("data-field");if(dataField!==undefined){var $headerTh=this.$header.find("[data-field='"+dataField+"']");if($headerTh.length>0){$headerTh.find(":input").addClass("focus-temp")}}}}this.$header_=this.$header.clone(true,true);this.$selectAll_=this.$header_.find('[name="btSelectAll"]');this.$tableHeader.css({"margin-right":scrollWidth}).find("table").css("width",this.$el.outerWidth()).html("").attr("class",this.$el.attr("class")).append(this.$header_);focusedTemp=$(".focus-temp:visible:eq(0)");if(focusedTemp.length>0){focusedTemp.focus();this.$header.find(".focus-temp").removeClass("focus-temp")}this.$header.find("th[data-field]").each(function(i){that.$header_.find(sprintf('th[data-field="%s"]',$(this).data("field"))).data($(this).data())});var visibleFields=this.getVisibleFields(),$ths=this.$header_.find("th");this.$body.find(">tr:first-child:not(.no-records-found) > *").each(function(i){var $this=$(this),index=i;if(that.options.detailView&&!that.options.cardView){if(i===0){that.$header_.find("th.detail").find(".fht-cell").width($this.innerWidth())}index=i-1}var $th=that.$header_.find(sprintf('th[data-field="%s"]',visibleFields[index]));if($th.length>1){$th=$($ths[$this[0].cellIndex])}$th.find(".fht-cell").width($this.innerWidth())});this.$tableBody.off("scroll").on("scroll",function(){that.$tableHeader.scrollLeft($(this).scrollLeft());if(that.options.showFooter&&!that.options.cardView){that.$tableFooter.scrollLeft($(this).scrollLeft())}});that.trigger("post-header")};BootstrapTable.prototype.resetFooter=function(){var that=this,data=that.getData(),html=[];if(!this.options.showFooter||this.options.cardView){return}if(!this.options.cardView&&this.options.detailView){html.push('<td><div class="th-inner"> </div><div class="fht-cell"></div></td>')}$.each(this.columns,function(i,column){var key,falign="",valign="",csses=[],style={},class_=sprintf(' class="%s"',column["class"]);if(!column.visible){return}if(that.options.cardView&&!column.cardVisible){return}falign=sprintf("text-align: %s; ",column.falign?column.falign:column.align);valign=sprintf("vertical-align: %s; ",column.valign);style=calculateObjectValue(null,that.options.footerStyle);if(style&&style.css){for(key in style.css){csses.push(key+": "+style.css[key])}}html.push("<td",class_,sprintf(' style="%s"',falign+valign+csses.concat().join("; ")),">");html.push('<div class="th-inner">');html.push(calculateObjectValue(column,column.footerFormatter,[data]," ")||" ");html.push("</div>");html.push('<div class="fht-cell"></div>');html.push("</div>");html.push("</td>")});this.$tableFooter.find("tr").html(html.join(""));this.$tableFooter.show();clearTimeout(this.timeoutFooter_);this.timeoutFooter_=setTimeout($.proxy(this.fitFooter,this),this.$el.is(":hidden")?100:0)};BootstrapTable.prototype.fitFooter=function(){var that=this,$footerTd,elWidth,scrollWidth;clearTimeout(this.timeoutFooter_);if(this.$el.is(":hidden")){this.timeoutFooter_=setTimeout($.proxy(this.fitFooter,this),100);return}elWidth=this.$el.css("width");scrollWidth=elWidth>this.$tableBody.width()?getScrollBarWidth():0;this.$tableFooter.css({"margin-right":scrollWidth}).find("table").css("width",elWidth).attr("class",this.$el.attr("class"));$footerTd=this.$tableFooter.find("td");this.$body.find(">tr:first-child:not(.no-records-found) > *").each(function(i){var $this=$(this);$footerTd.eq(i).find(".fht-cell").width($this.innerWidth())})};BootstrapTable.prototype.toggleColumn=function(index,checked,needUpdate){if(index===-1){return}this.columns[index].visible=checked;this.initHeader();this.initSearch();this.initPagination();this.initBody();if(this.options.showColumns){var $items=this.$toolbar.find(".keep-open input").prop("disabled",false);if(needUpdate){$items.filter(sprintf('[value="%s"]',index)).prop("checked",checked)}if($items.filter(":checked").length<=this.options.minimumCountColumns){$items.filter(":checked").prop("disabled",true)}}};BootstrapTable.prototype.getVisibleFields=function(){var that=this,visibleFields=[];$.each(this.header.fields,function(j,field){var column=that.columns[getFieldIndex(that.columns,field)];if(!column.visible){return}visibleFields.push(field)});return visibleFields};BootstrapTable.prototype.resetView=function(params){var padding=0;if(params&¶ms.height){this.options.height=params.height}this.$selectAll.prop("checked",this.$selectItem.length>0&&this.$selectItem.length===this.$selectItem.filter(":checked").length);if(this.options.height){var toolbarHeight=this.$toolbar.outerHeight(true),paginationHeight=this.$pagination.outerHeight(true),height=this.options.height-toolbarHeight-paginationHeight;this.$tableContainer.css("height",height+"px")}if(this.options.cardView){this.$el.css("margin-top","0");this.$tableContainer.css("padding-bottom","0");this.$tableFooter.hide();return}if(this.options.showHeader&&this.options.height){this.$tableHeader.show();this.resetHeader();padding+=this.$header.outerHeight()}else{this.$tableHeader.hide();this.trigger("post-header")}if(this.options.showFooter){this.resetFooter();if(this.options.height){padding+=this.$tableFooter.outerHeight()+1}}this.getCaret();this.$tableContainer.css("padding-bottom",padding+"px");this.trigger("reset-view")};BootstrapTable.prototype.getData=function(useCurrentPage){return this.searchText||!$.isEmptyObject(this.filterColumns)||!$.isEmptyObject(this.filterColumnsPartial)?useCurrentPage?this.data.slice(this.pageFrom-1,this.pageTo):this.data:useCurrentPage?this.options.data.slice(this.pageFrom-1,this.pageTo):this.options.data};BootstrapTable.prototype.load=function(data){var fixedScroll=false;if(this.options.sidePagination==="server"){this.options.totalRows=data[this.options.totalField];fixedScroll=data.fixedScroll;data=data[this.options.dataField]}else if(!$.isArray(data)){fixedScroll=data.fixedScroll;data=data.data}this.initData(data);this.initSearch();this.initPagination();this.initBody(fixedScroll)};BootstrapTable.prototype.append=function(data){this.initData(data,"append");this.initSearch();this.initPagination();this.initSort();this.initBody(true)};BootstrapTable.prototype.prepend=function(data){this.initData(data,"prepend");this.initSearch();this.initPagination();this.initSort();this.initBody(true)};BootstrapTable.prototype.remove=function(params){var len=this.options.data.length,i,row;if(!params.hasOwnProperty("field")||!params.hasOwnProperty("values")){return}for(i=len-1;i>=0;i--){row=this.options.data[i];if(!row.hasOwnProperty(params.field)){continue}if($.inArray(row[params.field],params.values)!==-1){this.options.data.splice(i,1);if(this.options.sidePagination==="server"){this.options.totalRows-=1}}}if(len===this.options.data.length){return}this.initSearch();this.initPagination();this.initSort();this.initBody(true)};BootstrapTable.prototype.removeAll=function(){if(this.options.data.length>0){this.options.data.splice(0,this.options.data.length);this.initSearch();this.initPagination();this.initBody(true)}};BootstrapTable.prototype.getRowByUniqueId=function(id){var uniqueId=this.options.uniqueId,len=this.options.data.length,dataRow=null,i,row,rowUniqueId;for(i=len-1;i>=0;i--){row=this.options.data[i];if(row.hasOwnProperty(uniqueId)){rowUniqueId=row[uniqueId]}else if(row._data.hasOwnProperty(uniqueId)){rowUniqueId=row._data[uniqueId]}else{continue}if(typeof rowUniqueId==="string"){id=id.toString()}else if(typeof rowUniqueId==="number"){if(Number(rowUniqueId)===rowUniqueId&&rowUniqueId%1===0){id=parseInt(id)}else if(rowUniqueId===Number(rowUniqueId)&&rowUniqueId!==0){id=parseFloat(id)}}if(rowUniqueId===id){dataRow=row;break}}return dataRow};BootstrapTable.prototype.removeByUniqueId=function(id){var len=this.options.data.length,row=this.getRowByUniqueId(id);if(row){this.options.data.splice(this.options.data.indexOf(row),1)}if(len===this.options.data.length){return}this.initSearch();this.initPagination();this.initBody(true)};BootstrapTable.prototype.updateByUniqueId=function(params){var that=this;var allParams=$.isArray(params)?params:[params];$.each(allParams,function(i,params){var rowId;if(!params.hasOwnProperty("id")||!params.hasOwnProperty("row")){return}rowId=$.inArray(that.getRowByUniqueId(params.id),that.options.data);if(rowId===-1){return}$.extend(that.options.data[rowId],params.row)});this.initSearch();this.initPagination();this.initSort();this.initBody(true)};BootstrapTable.prototype.insertRow=function(params){if(!params.hasOwnProperty("index")||!params.hasOwnProperty("row")){return}this.data.splice(params.index,0,params.row);this.initSearch();this.initPagination();this.initSort();this.initBody(true)};BootstrapTable.prototype.updateRow=function(params){var that=this;var allParams=$.isArray(params)?params:[params];$.each(allParams,function(i,params){if(!params.hasOwnProperty("index")||!params.hasOwnProperty("row")){return}$.extend(that.options.data[params.index],params.row)});this.initSearch();this.initPagination();this.initSort();this.initBody(true)};BootstrapTable.prototype.initHiddenRows=function(){this.hiddenRows=[]};BootstrapTable.prototype.showRow=function(params){this.toggleRow(params,true)};BootstrapTable.prototype.hideRow=function(params){this.toggleRow(params,false)};BootstrapTable.prototype.toggleRow=function(params,visible){var row,index;if(params.hasOwnProperty("index")){row=this.getData()[params.index]}else if(params.hasOwnProperty("uniqueId")){row=this.getRowByUniqueId(params.uniqueId)}if(!row){return}index=$.inArray(row,this.hiddenRows);if(!visible&&index===-1){this.hiddenRows.push(row)}else if(visible&&index>-1){this.hiddenRows.splice(index,1)}this.initBody(true)};BootstrapTable.prototype.getHiddenRows=function(show){var that=this,data=this.getData(),rows=[];$.each(data,function(i,row){if($.inArray(row,that.hiddenRows)>-1){rows.push(row)}});this.hiddenRows=rows;return rows};BootstrapTable.prototype.mergeCells=function(options){var row=options.index,col=$.inArray(options.field,this.getVisibleFields()),rowspan=options.rowspan||1,colspan=options.colspan||1,i,j,$tr=this.$body.find(">tr"),$td;if(this.options.detailView&&!this.options.cardView){col+=1}$td=$tr.eq(row).find(">td").eq(col);if(row<0||col<0||row>=this.data.length){return}for(i=row;i<row+rowspan;i++){for(j=col;j<col+colspan;j++){$tr.eq(i).find(">td").eq(j).hide()}}$td.attr("rowspan",rowspan).attr("colspan",colspan).show()};BootstrapTable.prototype.updateCell=function(params){if(!params.hasOwnProperty("index")||!params.hasOwnProperty("field")||!params.hasOwnProperty("value")){return}this.data[params.index][params.field]=params.value;if(params.reinit===false){return}this.initSort();this.initBody(true)};BootstrapTable.prototype.getOptions=function(){return this.options};BootstrapTable.prototype.getSelections=function(){var that=this;return $.grep(this.options.data,function(row){return row[that.header.stateField]===true})};BootstrapTable.prototype.getAllSelections=function(){var that=this;return $.grep(this.options.data,function(row){return row[that.header.stateField]})};BootstrapTable.prototype.checkAll=function(){this.checkAll_(true)};BootstrapTable.prototype.uncheckAll=function(){this.checkAll_(false)};BootstrapTable.prototype.checkInvert=function(){var that=this;var rows=that.$selectItem.filter(":enabled");var checked=rows.filter(":checked");rows.each(function(){$(this).prop("checked",!$(this).prop("checked"))});that.updateRows();that.updateSelected();that.trigger("uncheck-some",checked);checked=that.getSelections();that.trigger("check-some",checked)};BootstrapTable.prototype.checkAll_=function(checked){var rows;if(!checked){rows=this.getSelections()}this.$selectAll.add(this.$selectAll_).prop("checked",checked);this.$selectItem.filter(":enabled").prop("checked",checked);this.updateRows();if(checked){rows=this.getSelections()}this.trigger(checked?"check-all":"uncheck-all",rows)};BootstrapTable.prototype.check=function(index){this.check_(true,index)};BootstrapTable.prototype.uncheck=function(index){this.check_(false,index)};BootstrapTable.prototype.check_=function(checked,index){var $el=this.$selectItem.filter(sprintf('[data-index="%s"]',index)).prop("checked",checked);this.data[index][this.header.stateField]=checked;this.updateSelected();this.trigger(checked?"check":"uncheck",this.data[index],$el)};BootstrapTable.prototype.checkBy=function(obj){this.checkBy_(true,obj)};BootstrapTable.prototype.uncheckBy=function(obj){this.checkBy_(false,obj)};BootstrapTable.prototype.checkBy_=function(checked,obj){if(!obj.hasOwnProperty("field")||!obj.hasOwnProperty("values")){return}var that=this,rows=[];$.each(this.options.data,function(index,row){if(!row.hasOwnProperty(obj.field)){return false}if($.inArray(row[obj.field],obj.values)!==-1){var $el=that.$selectItem.filter(":enabled").filter(sprintf('[data-index="%s"]',index)).prop("checked",checked);row[that.header.stateField]=checked;rows.push(row);that.trigger(checked?"check":"uncheck",row,$el)}});this.updateSelected();this.trigger(checked?"check-some":"uncheck-some",rows)};BootstrapTable.prototype.destroy=function(){this.$el.insertBefore(this.$container);$(this.options.toolbar).insertBefore(this.$el);this.$container.next().remove();this.$container.remove();this.$el.html(this.$el_.html()).css("margin-top","0").attr("class",this.$el_.attr("class")||"")};BootstrapTable.prototype.showLoading=function(){this.$tableLoading.show()};BootstrapTable.prototype.hideLoading=function(){this.$tableLoading.hide()};BootstrapTable.prototype.togglePagination=function(){this.options.pagination=!this.options.pagination;var button=this.$toolbar.find('button[name="paginationSwitch"] i');if(this.options.pagination){button.attr("class",this.options.iconsPrefix+" "+this.options.icons.paginationSwitchDown)}else{button.attr("class",this.options.iconsPrefix+" "+this.options.icons.paginationSwitchUp)}this.updatePagination()};BootstrapTable.prototype.refresh=function(params){if(params&¶ms.url){this.options.url=params.url}if(params&¶ms.pageNumber){this.options.pageNumber=params.pageNumber}if(params&¶ms.pageSize){this.options.pageSize=params.pageSize}this.initServer(params&¶ms.silent,params&¶ms.query,params&¶ms.url);this.trigger("refresh",params)};BootstrapTable.prototype.resetWidth=function(){if(this.options.showHeader&&this.options.height){this.fitHeader()}if(this.options.showFooter){this.fitFooter()}};BootstrapTable.prototype.showColumn=function(field){this.toggleColumn(getFieldIndex(this.columns,field),true,true)};BootstrapTable.prototype.hideColumn=function(field){this.toggleColumn(getFieldIndex(this.columns,field),false,true)};BootstrapTable.prototype.getHiddenColumns=function(){return $.grep(this.columns,function(column){return!column.visible})};BootstrapTable.prototype.getVisibleColumns=function(){return $.grep(this.columns,function(column){return column.visible})};BootstrapTable.prototype.toggleAllColumns=function(visible){$.each(this.columns,function(i,column){this.columns[i].visible=visible});this.initHeader();this.initSearch();this.initPagination();this.initBody();if(this.options.showColumns){var $items=this.$toolbar.find(".keep-open input").prop("disabled",false);if($items.filter(":checked").length<=this.options.minimumCountColumns){$items.filter(":checked").prop("disabled",true)}}};BootstrapTable.prototype.showAllColumns=function(){this.toggleAllColumns(true)};BootstrapTable.prototype.hideAllColumns=function(){this.toggleAllColumns(false)};BootstrapTable.prototype.filterBy=function(columns){this.filterColumns=$.isEmptyObject(columns)?{}:columns;this.options.pageNumber=1;this.initSearch();this.updatePagination()};BootstrapTable.prototype.scrollTo=function(value){if(typeof value==="string"){value=value==="bottom"?this.$tableBody[0].scrollHeight:0}if(typeof value==="number"){this.$tableBody.scrollTop(value)}if(typeof value==="undefined"){return this.$tableBody.scrollTop()}};BootstrapTable.prototype.getScrollPosition=function(){return this.scrollTo()};BootstrapTable.prototype.selectPage=function(page){if(page>0&&page<=this.options.totalPages){this.options.pageNumber=page;this.updatePagination()}};BootstrapTable.prototype.prevPage=function(){if(this.options.pageNumber>1){this.options.pageNumber--;this.updatePagination()}};BootstrapTable.prototype.nextPage=function(){if(this.options.pageNumber<this.options.totalPages){this.options.pageNumber++;this.updatePagination()}};BootstrapTable.prototype.toggleView=function(){this.options.cardView=!this.options.cardView;this.initHeader();this.initBody();this.trigger("toggle",this.options.cardView)};BootstrapTable.prototype.refreshOptions=function(options){if(compareObjects(this.options,options,true)){return}this.options=$.extend(this.options,options);this.trigger("refresh-options",this.options);this.destroy();this.init()};BootstrapTable.prototype.resetSearch=function(text){var $search=this.$toolbar.find(".search input");$search.val(text||"");this.onSearch({currentTarget:$search})};BootstrapTable.prototype.expandRow_=function(expand,index){var $tr=this.$body.find(sprintf('> tr[data-index="%s"]',index));if($tr.next().is("tr.detail-view")===(expand?false:true)){$tr.find("> td > .detail-icon").click()}};BootstrapTable.prototype.expandRow=function(index){this.expandRow_(true,index)};BootstrapTable.prototype.collapseRow=function(index){this.expandRow_(false,index)};BootstrapTable.prototype.expandAllRows=function(isSubTable){if(isSubTable){var $tr=this.$body.find(sprintf('> tr[data-index="%s"]',0)),that=this,detailIcon=null,executeInterval=false,idInterval=-1;if(!$tr.next().is("tr.detail-view")){$tr.find("> td > .detail-icon").click();executeInterval=true}else if(!$tr.next().next().is("tr.detail-view")){$tr.next().find(".detail-icon").click();executeInterval=true}if(executeInterval){try{idInterval=setInterval(function(){detailIcon=that.$body.find("tr.detail-view").last().find(".detail-icon");if(detailIcon.length>0){detailIcon.click()}else{clearInterval(idInterval)}},1)}catch(ex){clearInterval(idInterval)}}}else{var trs=this.$body.children();for(var i=0;i<trs.length;i++){this.expandRow_(true,$(trs[i]).data("index"))}}};BootstrapTable.prototype.collapseAllRows=function(isSubTable){if(isSubTable){this.expandRow_(false,0)}else{var trs=this.$body.children();for(var i=0;i<trs.length;i++){this.expandRow_(false,$(trs[i]).data("index"))}}};BootstrapTable.prototype.updateFormatText=function(name,text){if(this.options[sprintf("format%s",name)]){if(typeof text==="string"){this.options[sprintf("format%s",name)]=function(){return text}}else if(typeof text==="function"){this.options[sprintf("format%s",name)]=text}}this.initToolbar();this.initPagination();this.initBody()};var allowedMethods=["getOptions","getSelections","getAllSelections","getData","load","append","prepend","remove","removeAll","insertRow","updateRow","updateCell","updateByUniqueId","removeByUniqueId","getRowByUniqueId","showRow","hideRow","getHiddenRows","mergeCells","checkAll","uncheckAll","checkInvert","check","uncheck","checkBy","uncheckBy","refresh","resetView","resetWidth","destroy","showLoading","hideLoading","showColumn","hideColumn","getHiddenColumns","getVisibleColumns","showAllColumns","hideAllColumns","filterBy","scrollTo","getScrollPosition","selectPage","prevPage","nextPage","togglePagination","toggleView","refreshOptions","resetSearch","expandRow","collapseRow","expandAllRows","collapseAllRows","updateFormatText"];$.fn.bootstrapTable=function(option){var value,args=Array.prototype.slice.call(arguments,1);this.each(function(){var $this=$(this),data=$this.data("bootstrap.table"),options=$.extend({},BootstrapTable.DEFAULTS,$this.data(),typeof option==="object"&&option);if(typeof option==="string"){if($.inArray(option,allowedMethods)<0){throw new Error("Unknown method: "+option)}if(!data){return}value=data[option].apply(data,args);if(option==="destroy"){$this.removeData("bootstrap.table")}}if(!data){$this.data("bootstrap.table",data=new BootstrapTable(this,options))}});return typeof value==="undefined"?this:value};$.fn.bootstrapTable.Constructor=BootstrapTable;$.fn.bootstrapTable.defaults=BootstrapTable.DEFAULTS;$.fn.bootstrapTable.columnDefaults=BootstrapTable.COLUMN_DEFAULTS;$.fn.bootstrapTable.locales=BootstrapTable.LOCALES;$.fn.bootstrapTable.methods=allowedMethods;$.fn.bootstrapTable.utils={sprintf:sprintf,getFieldIndex:getFieldIndex,compareObjects:compareObjects,calculateObjectValue:calculateObjectValue,getItemField:getItemField,objectKeys:objectKeys,isIEBrowser:isIEBrowser};$(function(){$('[data-toggle="table"]').bootstrapTable()})})(jQuery); define("bootstrap-table", ["bootstrap"], (function (global) { return function () { @@ -9162,7 +6063,7 @@ define("bootstrap-table-lang", ["bootstrap-table"], (function (global) { /* tableExport.jquery.plugin - Version 1.10.3 + Version 1.10.11 Copyright (c) 2015-2019 hhurz, https://github.com/hhurz @@ -9170,77 +6071,85 @@ define("bootstrap-table-lang", ["bootstrap-table"], (function (global) { Licensed under the MIT License */ -var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(c,m,u){c instanceof String&&(c=String(c));for(var x=c.length,w=0;w<x;w++){var P=c[w];if(m.call(u,P,w,c))return{i:w,v:P}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(c,m,u){c!=Array.prototype&&c!=Object.prototype&&(c[m]=u.value)}; -$jscomp.getGlobal=function(c){return"undefined"!=typeof window&&window===c?c:"undefined"!=typeof global&&null!=global?global:c};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(c,m,u,x){if(m){u=$jscomp.global;c=c.split(".");for(x=0;x<c.length-1;x++){var w=c[x];w in u||(u[w]={});u=u[w]}c=c[c.length-1];x=u[c];m=m(x);m!=x&&null!=m&&$jscomp.defineProperty(u,c,{configurable:!0,writable:!0,value:m})}}; -$jscomp.polyfill("Array.prototype.find",function(c){return c?c:function(c,u){return $jscomp.findInternal(this,c,u).v}},"es6","es3"); -(function(c){c.fn.tableExport=function(m){function u(b){var d=[];w(b,"thead").each(function(){d.push.apply(d,w(c(this),a.theadSelector).toArray())});return d}function x(b){var d=[];w(b,"tbody").each(function(){d.push.apply(d,w(c(this),a.tbodySelector).toArray())});a.tfootSelector.length&&w(b,"tfoot").each(function(){d.push.apply(d,w(c(this),a.tfootSelector).toArray())});return d}function w(b,d){var a=b[0].tagName,h=b.parents(a).length;return b.find(d).filter(function(){return h===c(this).closest(a).parents(a).length})} -function P(b){var d=[];c(b).find("thead").first().find("th").each(function(b,a){void 0!==c(a).attr("data-field")?d[b]=c(a).attr("data-field"):d[b]=b.toString()});return d}function L(b){var d="undefined"!==typeof b[0].cellIndex,a="undefined"!==typeof b[0].rowIndex,h=d||a?Ca(b):b.is(":visible"),g=b.data("tableexport-display");d&&"none"!==g&&"always"!==g&&(b=c(b[0].parentNode),a="undefined"!==typeof b[0].rowIndex,g=b.data("tableexport-display"));a&&"none"!==g&&"always"!==g&&(g=b.closest("table").data("tableexport-display")); -return"none"!==g&&(!0===h||"always"===g)}function Ca(b){var a=[];R&&(a=G.filter(function(){var a=!1;this.nodeType===b[0].nodeType&&("undefined"!==typeof this.rowIndex&&this.rowIndex===b[0].rowIndex?a=!0:"undefined"!==typeof this.cellIndex&&this.cellIndex===b[0].cellIndex&&"undefined"!==typeof this.parentNode.rowIndex&&"undefined"!==typeof b[0].parentNode.rowIndex&&this.parentNode.rowIndex===b[0].parentNode.rowIndex&&(a=!0));return a}));return!1===R||0===a.length}function Da(b,d,e){var h=!1;L(b)?0< -a.ignoreColumn.length&&(-1!==c.inArray(e,a.ignoreColumn)||-1!==c.inArray(e-d,a.ignoreColumn)||Q.length>e&&"undefined"!==typeof Q[e]&&-1!==c.inArray(Q[e],a.ignoreColumn))&&(h=!0):h=!0;return h}function C(b,d,e,h,g){if("function"===typeof g){var l=!1;"function"===typeof a.onIgnoreRow&&(l=a.onIgnoreRow(c(b),e));if(!1===l&&-1===c.inArray(e,a.ignoreRow)&&-1===c.inArray(e-h,a.ignoreRow)&&L(c(b))){var y=w(c(b),d),q=0;y.each(function(b){var a=c(this),d,l=S(this),h=T(this);c.each(E,function(){if(e>=this.s.r&& -e<=this.e.r&&q>=this.s.c&&q<=this.e.c)for(d=0;d<=this.e.c-this.s.c;++d)g(null,e,q++)});if(!1===Da(a,y.length,b)){if(h||l)l=l||1,E.push({s:{r:e,c:q},e:{r:e+(h||1)-1,c:q+l-1}});g(this,e,q++)}if(l)for(d=0;d<l-1;++d)g(null,e,q++)});c.each(E,function(){if(e>=this.s.r&&e<=this.e.r&&q>=this.s.c&&q<=this.e.c)for(Z=0;Z<=this.e.c-this.s.c;++Z)g(null,e,q++)})}}}function na(b,a,e,c){if("undefined"!==typeof c.images&&(e=c.images[e],"undefined"!==typeof e)){a=a.getBoundingClientRect();var d=b.width/b.height,l= -a.width/a.height,h=b.width,q=b.height,f=19.049976/25.4,k=0;l<=d?(q=Math.min(b.height,a.height),h=a.width*q/a.height):l>d&&(h=Math.min(b.width,a.width),q=a.height*h/a.width);h*=f;q*=f;q<b.height&&(k=(b.height-q)/2);try{c.doc.addImage(e.src,b.textPos.x,b.y+k,h,q)}catch(Ia){}b.textPos.x+=h}}function oa(b,d){if("string"===a.outputMode)return b.output();if("base64"===a.outputMode)return H(b.output());if("window"===a.outputMode)window.URL=window.URL||window.webkitURL,window.open(window.URL.createObjectURL(b.output("blob"))); -else try{var e=b.output("blob");saveAs(e,a.fileName+".pdf")}catch(h){fa(a.fileName+".pdf","data:application/pdf"+(d?"":";base64")+",",d?b.output("blob"):b.output())}}function pa(b,a,e){var d=0;"undefined"!==typeof e&&(d=e.colspan);if(0<=d){for(var c=b.width,l=b.textPos.x,y=a.table.columns.indexOf(a.column),q=1;q<d;q++)c+=a.table.columns[y+q].width;1<d&&("right"===b.styles.halign?l=b.textPos.x+c-b.width:"center"===b.styles.halign&&(l=b.textPos.x+(c-b.width)/2));b.width=c;b.textPos.x=l;"undefined"!== -typeof e&&1<e.rowspan&&(b.height*=e.rowspan);if("middle"===b.styles.valign||"bottom"===b.styles.valign)e=("string"===typeof b.text?b.text.split(/\r\n|\r|\n/g):b.text).length||1,2<e&&(b.textPos.y-=(2-1.15)/2*a.row.styles.fontSize*(e-2)/3);return!0}return!1}function qa(b,a,e){"undefined"!==typeof b&&null!==b&&(b.hasAttribute("data-tableexport-canvas")?(a=(new Date).getTime(),c(b).attr("data-tableexport-canvas",a),e.images[a]={url:'[data-tableexport-canvas="'+a+'"]',src:null}):"undefined"!==a&&null!= -a&&a.each(function(){if(c(this).is("img")){var a=ra(this.src);e.images[a]={url:this.src,src:this.src}}qa(b,c(this).children(),e)}))}function Ea(b,a){function d(b){if(b.url)if(b.src){var d=new Image;h=++g;d.crossOrigin="Anonymous";d.onerror=d.onload=function(){if(d.complete&&(0===d.src.indexOf("data:image/")&&(d.width=b.width||d.width||0,d.height=b.height||d.height||0),d.width+d.height)){var c=document.createElement("canvas"),e=c.getContext("2d");c.width=d.width;c.height=d.height;e.drawImage(d,0,0); -b.src=c.toDataURL("image/png")}--g||a(h)};d.src=b.url}else{var e=c(b.url);e.length&&(h=++g,html2canvas(e[0]).then(function(d){b.src=d.toDataURL("image/png");--g||a(h)}))}}var h=0,g=0;if("undefined"!==typeof b.images)for(var l in b.images)b.images.hasOwnProperty(l)&&d(b.images[l]);(b=g)||(a(h),b=void 0);return b}function sa(b,d,e){d.each(function(){if(c(this).is("div")){var d=aa(I(this,"background-color"),[255,255,255]),g=aa(I(this,"border-top-color"),[0,0,0]),l=ba(this,"border-top-width",a.jspdf.unit), -y=this.getBoundingClientRect(),q=this.offsetLeft*e.wScaleFactor,f=this.offsetTop*e.hScaleFactor,k=y.width*e.wScaleFactor;y=y.height*e.hScaleFactor;e.doc.setDrawColor.apply(void 0,g);e.doc.setFillColor.apply(void 0,d);e.doc.setLineWidth(l);e.doc.rect(b.x+q,b.y+f,k,y,l?"FD":"F")}else c(this).is("img")&&(d=ra(this.src),na(b,this,d,e));sa(b,c(this).children(),e)})}function ta(b,d,e){if("function"===typeof e.onAutotableText)e.onAutotableText(e.doc,b,d);else{var h=b.textPos.x,g=b.textPos.y,l={halign:b.styles.halign, -valign:b.styles.valign};if(d.length){for(d=d[0];d.previousSibling;)d=d.previousSibling;for(var y=!1,q=!1;d;){var f=d.innerText||d.textContent||"",k=f.length&&" "===f[0]?" ":"",m=1<f.length&&" "===f[f.length-1]?" ":"";!0!==a.preserve.leadingWS&&(f=k+ha(f));!0!==a.preserve.trailingWS&&(f=ia(f)+m);c(d).is("br")&&(h=b.textPos.x,g+=e.doc.internal.getFontSize());c(d).is("b")?y=!0:c(d).is("i")&&(q=!0);(y||q)&&e.doc.setFontType(y&&q?"bolditalic":y?"bold":"italic");if(k=e.doc.getStringUnitWidth(f)*e.doc.internal.getFontSize()){"linebreak"=== -b.styles.overflow&&h>b.textPos.x&&h+k>b.textPos.x+b.width&&(0<=".,!%*;:=-".indexOf(f.charAt(0))&&(m=f.charAt(0),k=e.doc.getStringUnitWidth(m)*e.doc.internal.getFontSize(),h+k<=b.textPos.x+b.width&&(e.doc.autoTableText(m,h,g,l),f=f.substring(1,f.length)),k=e.doc.getStringUnitWidth(f)*e.doc.internal.getFontSize()),h=b.textPos.x,g+=e.doc.internal.getFontSize());if("visible"!==b.styles.overflow)for(;f.length&&h+k>b.textPos.x+b.width;)f=f.substring(0,f.length-1),k=e.doc.getStringUnitWidth(f)*e.doc.internal.getFontSize(); -e.doc.autoTableText(f,h,g,l);h+=k}if(y||q)c(d).is("b")?y=!1:c(d).is("i")&&(q=!1),e.doc.setFontType(y||q?y?"bold":"italic":"normal");d=d.nextSibling}b.textPos.x=h;b.textPos.y=g}else e.doc.autoTableText(b.text,b.textPos.x,b.textPos.y,l)}}function ca(b,a,c){return null==b?"":b.toString().replace(new RegExp(null==a?"":a.toString().replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),c)}function ha(b){return null==b?"":b.toString().replace(/^\s+/,"")}function ia(b){return null==b?"":b.toString().replace(/\s+$/, -"")}function ja(b){b=ca(b||"0",a.numbers.html.thousandsSeparator,"");b=ca(b,a.numbers.html.decimalMark,".");return"number"===typeof b||!1!==jQuery.isNumeric(b)?b:!1}function Fa(b){-1<b.indexOf("%")?(b=ja(b.replace(/%/g,"")),!1!==b&&(b/=100)):b=!1;return b}function B(b,d,e){var h="";if(null!==b){var g=c(b);if(g[0].hasAttribute("data-tableexport-canvas"))var l="";else if(g[0].hasAttribute("data-tableexport-value"))l=(l=g.data("tableexport-value"))?l+"":"";else if(l=g.html(),"function"===typeof a.onCellHtmlData)l= -a.onCellHtmlData(g,d,e,l);else if(""!==l){var f=c.parseHTML(l),q=0,k=0;l="";c.each(f,function(){if(c(this).is("input"))l+=g.find("input").eq(q++).val();else if(c(this).is("select"))l+=g.find("select option:selected").eq(k++).text();else if(c(this).is("br"))l+="<br>";else if("undefined"===typeof c(this).html())l+=c(this).text();else if(void 0===jQuery().bootstrapTable||!0!==c(this).hasClass("filterControl")&&0===c(b).parents(".detail-view").length)l+=c(this).html()})}if(!0===a.htmlContent)h=c.trim(l); -else if(l&&""!==l)if(""!==c(b).data("tableexport-cellformat")){var m=l.replace(/\n/g,"\u2028").replace(/(<\s*br([^>]*)>)/gi,"\u2060"),n=c("<div/>").html(m).contents();f=!1;m="";c.each(n.text().split("\u2028"),function(b,d){0<b&&(m+=" ");!0!==a.preserve.leadingWS&&(d=ha(d));m+=!0!==a.preserve.trailingWS?ia(d):d});c.each(m.split("\u2060"),function(b,d){0<b&&(h+="\n");!0!==a.preserve.leadingWS&&(d=ha(d));!0!==a.preserve.trailingWS&&(d=ia(d));h+=d.replace(/\u00AD/g,"")});h=h.replace(/\u00A0/g," ");if("json"=== -a.type||"excel"===a.type&&"xmlss"===a.mso.fileFormat||!1===a.numbers.output)f=ja(h),!1!==f&&(h=Number(f));else if(a.numbers.html.decimalMark!==a.numbers.output.decimalMark||a.numbers.html.thousandsSeparator!==a.numbers.output.thousandsSeparator)if(f=ja(h),!1!==f){n=(""+f.substr(0>f?1:0)).split(".");1===n.length&&(n[1]="");var p=3<n[0].length?n[0].length%3:0;h=(0>f?"-":"")+(a.numbers.output.thousandsSeparator?(p?n[0].substr(0,p)+a.numbers.output.thousandsSeparator:"")+n[0].substr(p).replace(/(\d{3})(?=\d)/g, -"$1"+a.numbers.output.thousandsSeparator):n[0])+(n[1].length?a.numbers.output.decimalMark+n[1]:"")}}else h=l;!0===a.escape&&(h=escape(h));"function"===typeof a.onCellData&&(h=a.onCellData(g,d,e,h))}return h}function ua(b){return 0<b.length&&!0===a.preventInjection&&0<="=+-@".indexOf(b.charAt(0))?"'"+b:b}function Ga(b,a,c){return a+"-"+c.toLowerCase()}function aa(b,a){(b=/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/.exec(b))&&(a=[parseInt(b[1]),parseInt(b[2]),parseInt(b[3])]);return a}function va(b){var a= -I(b,"text-align"),c=I(b,"font-weight"),h=I(b,"font-style"),g="";"start"===a&&(a="rtl"===I(b,"direction")?"right":"left");700<=c&&(g="bold");"italic"===h&&(g+=h);""===g&&(g="normal");a={style:{align:a,bcolor:aa(I(b,"background-color"),[255,255,255]),color:aa(I(b,"color"),[0,0,0]),fstyle:g},colspan:S(b),rowspan:T(b)};null!==b&&(b=b.getBoundingClientRect(),a.rect={width:b.width,height:b.height});return a}function S(b){var a=c(b).data("tableexport-colspan");"undefined"===typeof a&&c(b).is("[colspan]")&& -(a=c(b).attr("colspan"));return parseInt(a)||0}function T(b){var a=c(b).data("tableexport-rowspan");"undefined"===typeof a&&c(b).is("[rowspan]")&&(a=c(b).attr("rowspan"));return parseInt(a)||0}function I(b,a){try{return window.getComputedStyle?(a=a.replace(/([a-z])([A-Z])/,Ga),window.getComputedStyle(b,null).getPropertyValue(a)):b.currentStyle?b.currentStyle[a]:b.style[a]}catch(e){}return""}function ba(b,a,c){a=I(b,a).match(/\d+/);if(null!==a){a=a[0];b=b.parentElement;var d=document.createElement("div"); -d.style.overflow="hidden";d.style.visibility="hidden";b.appendChild(d);d.style.width=100+c;c=100/d.offsetWidth;b.removeChild(d);return a*c}return 0}function Ha(a){for(var b=new ArrayBuffer(a.length),c=new Uint8Array(b),h=0;h!==a.length;++h)c[h]=a.charCodeAt(h)&255;return b}function ra(a){var b=0,c;if(0===a.length)return b;var h=0;for(c=a.length;h<c;h++){var g=a.charCodeAt(h);b=(b<<5)-b+g;b|=0}return b}function J(b,d,c,h,g,l){var e=!0;"function"===typeof a.onBeforeSaveToFile&&(e=a.onBeforeSaveToFile(b, -d,c,h,g),"boolean"!==typeof e&&(e=!0));if(e)try{if(wa=new Blob([b],{type:c+";charset="+h}),saveAs(wa,d,!1===l),"function"===typeof a.onAfterSaveToFile)a.onAfterSaveToFile(b,d)}catch(q){fa(d,"data:"+c+(h.length?";charset="+h:"")+(g.length?";"+g:"")+","+(l?"\ufeff":""),b)}}function fa(b,d,c){var e=window.navigator.userAgent;if(!1!==b&&window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(new Blob([c]),b);else if(!1!==b&&(0<e.indexOf("MSIE ")||e.match(/Trident.*rv\:11\./))){if(d=document.createElement("iframe")){document.body.appendChild(d); -d.setAttribute("style","display:none");d.contentDocument.open("txt/plain","replace");d.contentDocument.write(c);d.contentDocument.close();d.contentDocument.focus();switch(b.substr(b.lastIndexOf(".")+1)){case "doc":case "json":case "png":case "pdf":case "xls":case "xlsx":b+=".txt"}d.contentDocument.execCommand("SaveAs",!0,b);document.body.removeChild(d)}}else{var g=document.createElement("a");if(g){var l=null;g.style.display="none";!1!==b?g.download=b:g.target="_blank";"object"===typeof c?(window.URL= -window.URL||window.webkitURL,e=[],e.push(c),l=window.URL.createObjectURL(new Blob(e,{type:d})),g.href=l):0<=d.toLowerCase().indexOf("base64,")?g.href=d+H(c):g.href=d+encodeURIComponent(c);document.body.appendChild(g);if(document.createEvent)null===da&&(da=document.createEvent("MouseEvents")),da.initEvent("click",!0,!1),g.dispatchEvent(da);else if(document.createEventObject)g.fireEvent("onclick");else if("function"===typeof g.onclick)g.onclick();setTimeout(function(){l&&window.URL.revokeObjectURL(l); -document.body.removeChild(g);if("function"===typeof a.onAfterSaveToFile)a.onAfterSaveToFile(c,b)},100)}}}function H(a){var b,c="",h=0;if("string"===typeof a){a=a.replace(/\x0d\x0a/g,"\n");var g="";for(b=0;b<a.length;b++){var l=a.charCodeAt(b);128>l?g+=String.fromCharCode(l):(127<l&&2048>l?g+=String.fromCharCode(l>>6|192):(g+=String.fromCharCode(l>>12|224),g+=String.fromCharCode(l>>6&63|128)),g+=String.fromCharCode(l&63|128))}a=g}for(;h<a.length;){var f=a.charCodeAt(h++);g=a.charCodeAt(h++);b=a.charCodeAt(h++); -l=f>>2;f=(f&3)<<4|g>>4;var q=(g&15)<<2|b>>6;var k=b&63;isNaN(g)?q=k=64:isNaN(b)&&(k=64);c=c+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(l)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(f)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(q)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(k)}return c}var a={csvEnclosure:'"',csvSeparator:",",csvUseBOM:!0,displayTableName:!1,escape:!1,exportHiddenCells:!1, -fileName:"tableExport",htmlContent:!1,ignoreColumn:[],ignoreRow:[],jsonScope:"all",jspdf:{orientation:"p",unit:"pt",format:"a4",margins:{left:20,right:10,top:10,bottom:10},onDocCreated:null,autotable:{styles:{cellPadding:2,rowHeight:12,fontSize:8,fillColor:255,textColor:50,fontStyle:"normal",overflow:"ellipsize",halign:"inherit",valign:"middle"},headerStyles:{fillColor:[52,73,94],textColor:255,fontStyle:"bold",halign:"inherit",valign:"middle"},alternateRowStyles:{fillColor:245},tableExport:{doc:null, -onAfterAutotable:null,onBeforeAutotable:null,onAutotableText:null,onTable:null,outputImages:!0}}},mso:{fileFormat:"xlshtml",onMsoNumberFormat:null,pageFormat:"a4",pageOrientation:"portrait",rtl:!1,styles:[],worksheetName:""},numbers:{html:{decimalMark:".",thousandsSeparator:","},output:{decimalMark:".",thousandsSeparator:","}},onAfterSaveToFile:null,onBeforeSaveToFile:null,onCellData:null,onCellHtmlData:null,onIgnoreRow:null,outputMode:"file",pdfmake:{enabled:!1,docDefinition:{pageOrientation:"portrait", -defaultStyle:{font:"Roboto"}},fonts:{}},preserve:{leadingWS:!1,trailingWS:!1},preventInjection:!0,tbodySelector:"tr",tfootSelector:"tr",theadSelector:"tr",tableName:"Table",type:"csv"},K={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63], -b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],"government-letter":[576,756],legal:[612,1008],"junior-legal":[576,360],ledger:[1224,792],tabloid:[792,1224],"credit-card":[153,243]},v=this, -da=null,r=[],t=[],n=0,p="",Q=[],E=[],wa,G=[],R=!1;c.extend(!0,a,m);"xlsx"===a.type&&(a.mso.fileFormat=a.type,a.type="excel");"undefined"!==typeof a.excelFileFormat&&"undefined"===a.mso.fileFormat&&(a.mso.fileFormat=a.excelFileFormat);"undefined"!==typeof a.excelPageFormat&&"undefined"===a.mso.pageFormat&&(a.mso.pageFormat=a.excelPageFormat);"undefined"!==typeof a.excelPageOrientation&&"undefined"===a.mso.pageOrientation&&(a.mso.pageOrientation=a.excelPageOrientation);"undefined"!==typeof a.excelRTL&& -"undefined"===a.mso.rtl&&(a.mso.rtl=a.excelRTL);"undefined"!==typeof a.excelstyles&&"undefined"===a.mso.styles&&(a.mso.styles=a.excelstyles);"undefined"!==typeof a.onMsoNumberFormat&&"undefined"===a.mso.onMsoNumberFormat&&(a.mso.onMsoNumberFormat=a.onMsoNumberFormat);"undefined"!==typeof a.worksheetName&&"undefined"===a.mso.worksheetName&&(a.mso.worksheetName=a.worksheetName);a.mso.pageOrientation="l"===a.mso.pageOrientation.substr(0,1)?"landscape":"portrait";Q=P(v);if("csv"===a.type||"tsv"===a.type|| -"txt"===a.type){var M="",W=0;E=[];n=0;var ka=function(b,d,e){b.each(function(){p="";C(this,d,n,e+b.length,function(b,c,d){var g=p,e="";if(null!==b)if(b=B(b,c,d),c=null===b||""===b?"":b.toString(),"tsv"===a.type)b instanceof Date&&b.toLocaleString(),e=ca(c,"\t"," ");else if(b instanceof Date)e=a.csvEnclosure+b.toLocaleString()+a.csvEnclosure;else if(e=ua(c),e=ca(e,a.csvEnclosure,a.csvEnclosure+a.csvEnclosure),0<=e.indexOf(a.csvSeparator)||/[\r\n ]/g.test(e))e=a.csvEnclosure+e+a.csvEnclosure;p=g+(e+ -("tsv"===a.type?"\t":a.csvSeparator))});p=c.trim(p).substring(0,p.length-1);0<p.length&&(0<M.length&&(M+="\n"),M+=p);n++});return b.length};W+=ka(c(v).find("thead").first().find(a.theadSelector),"th,td",W);w(c(v),"tbody").each(function(){W+=ka(w(c(this),a.tbodySelector),"td,th",W)});a.tfootSelector.length&&ka(c(v).find("tfoot").first().find(a.tfootSelector),"td,th",W);M+="\n";if("string"===a.outputMode)return M;if("base64"===a.outputMode)return H(M);if("window"===a.outputMode){fa(!1,"data:text/"+ -("csv"===a.type?"csv":"plain")+";charset=utf-8,",M);return}J(M,a.fileName+"."+a.type,"text/"+("csv"===a.type?"csv":"plain"),"utf-8","","csv"===a.type&&a.csvUseBOM)}else if("sql"===a.type){n=0;E=[];var A="INSERT INTO `"+a.tableName+"` (";r=u(c(v));c(r).each(function(){C(this,"th,td",n,r.length,function(a,c,e){A+="'"+B(a,c,e)+"',"});n++;A=c.trim(A).substring(0,A.length-1)});A+=") VALUES ";t=x(c(v));c(t).each(function(){p="";C(this,"td,th",n,r.length+t.length,function(a,c,e){p+="'"+B(a,c,e)+"',"});3< -p.length&&(A+="("+p,A=c.trim(A).substring(0,A.length-1),A+="),");n++});A=c.trim(A).substring(0,A.length-1);A+=";";if("string"===a.outputMode)return A;if("base64"===a.outputMode)return H(A);J(A,a.fileName+".sql","application/sql","utf-8","",!1)}else if("json"===a.type){var U=[];E=[];r=u(c(v));c(r).each(function(){var a=[];C(this,"th,td",n,r.length,function(b,c,f){a.push(B(b,c,f))});U.push(a)});var la=[];t=x(c(v));c(t).each(function(){var a={},d=0;C(this,"td,th",n,r.length+t.length,function(b,c,g){U.length? -a[U[U.length-1][d]]=B(b,c,g):a[d]=B(b,c,g);d++});!1===c.isEmptyObject(a)&&la.push(a);n++});m="";m="head"===a.jsonScope?JSON.stringify(U):"data"===a.jsonScope?JSON.stringify(la):JSON.stringify({header:U,data:la});if("string"===a.outputMode)return m;if("base64"===a.outputMode)return H(m);J(m,a.fileName+".json","application/json","utf-8","base64",!1)}else if("xml"===a.type){n=0;E=[];var N='<?xml version="1.0" encoding="utf-8"?>';N+="<tabledata><fields>";r=u(c(v));c(r).each(function(){C(this,"th,td", -n,r.length,function(a,c,e){N+="<field>"+B(a,c,e)+"</field>"});n++});N+="</fields><data>";var xa=1;t=x(c(v));c(t).each(function(){var a=1;p="";C(this,"td,th",n,r.length+t.length,function(b,c,f){p+="<column-"+a+">"+B(b,c,f)+"</column-"+a+">";a++});0<p.length&&"<column-1></column-1>"!==p&&(N+='<row id="'+xa+'">'+p+"</row>",xa++);n++});N+="</data></tabledata>";if("string"===a.outputMode)return N;if("base64"===a.outputMode)return H(N);J(N,a.fileName+".xml","application/xml","utf-8","base64",!1)}else if("excel"=== -a.type&&"xmlss"===a.mso.fileFormat){var ma=[],z=[];c(v).filter(function(){return L(c(this))}).each(function(){function b(a,b,d){var e=[];c(a).each(function(){var b=0,g=0;p="";C(this,"td,th",n,d+a.length,function(a,d,l){if(null!==a){var f="";d=B(a,d,l);l="String";if(!1!==jQuery.isNumeric(d))l="Number";else{var h=Fa(d);!1!==h&&(d=h,l="Number",f+=' ss:StyleID="pct1"')}"Number"!==l&&(d=d.replace(/\n/g,"<br>"));h=S(a);a=T(a);c.each(e,function(){if(n>=this.s.r&&n<=this.e.r&&g>=this.s.c&&g<=this.e.c)for(var a= -0;a<=this.e.c-this.s.c;++a)g++,b++});if(a||h)a=a||1,h=h||1,e.push({s:{r:n,c:g},e:{r:n+a-1,c:g+h-1}});1<h&&(f+=' ss:MergeAcross="'+(h-1)+'"',g+=h-1);1<a&&(f+=' ss:MergeDown="'+(a-1)+'" ss:StyleID="rsp1"');0<b&&(f+=' ss:Index="'+(g+1)+'"',b=0);p+="<Cell"+f+'><Data ss:Type="'+l+'">'+c("<div />").text(d).html()+"</Data></Cell>\r";g++}});0<p.length&&(F+='<Row ss:AutoFitHeight="0">\r'+p+"</Row>\r");n++});return a.length}var d=c(this),e="";"string"===typeof a.mso.worksheetName&&a.mso.worksheetName.length? -e=a.mso.worksheetName+" "+(z.length+1):"undefined"!==typeof a.mso.worksheetName[z.length]&&(e=a.mso.worksheetName[z.length]);e.length||(e=d.find("caption").text()||"");e.length||(e="Table "+(z.length+1));e=c.trim(e.replace(/[\\\/[\]*:?'"]/g,"").substring(0,31));z.push(c("<div />").text(e).html());!1===a.exportHiddenCells&&(G=d.find("tr, th, td").filter(":hidden"),R=0<G.length);n=0;Q=P(this);F="<Table>\r";var f=b(u(d),"th,td",f);b(x(d),"td,th",f);F+="</Table>\r";ma.push(F)});m={};for(var D={},k,O, -V=0,Z=z.length;V<Z;V++)k=z[V],O=m[k],O=m[k]=null==O?1:O+1,2===O&&(z[D[k]]=z[D[k]].substring(0,29)+"-1"),1<m[k]?z[V]=z[V].substring(0,29)+"-"+m[k]:D[k]=V;m='<?xml version="1.0" encoding="UTF-8"?>\r<?mso-application progid="Excel.Sheet"?>\r<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"\r xmlns:o="urn:schemas-microsoft-com:office:office"\r xmlns:x="urn:schemas-microsoft-com:office:excel"\r xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"\r xmlns:html="http://www.w3.org/TR/REC-html40">\r<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">\r <Created>'+ +var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(c,h,x){c instanceof String&&(c=String(c));for(var B=c.length,D=0;D<B;D++){var T=c[D];if(h.call(x,T,D,c))return{i:D,v:T}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(c,h,x){c!=Array.prototype&&c!=Object.prototype&&(c[h]=x.value)}; +$jscomp.getGlobal=function(c){return"undefined"!=typeof window&&window===c?c:"undefined"!=typeof global&&null!=global?global:c};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(c,h,x,B){if(h){x=$jscomp.global;c=c.split(".");for(B=0;B<c.length-1;B++){var D=c[B];D in x||(x[D]={});x=x[D]}c=c[c.length-1];B=x[c];h=h(B);h!=B&&null!=h&&$jscomp.defineProperty(x,c,{configurable:!0,writable:!0,value:h})}}; +$jscomp.polyfill("Array.prototype.find",function(c){return c?c:function(c,x){return $jscomp.findInternal(this,c,x).v}},"es6","es3"); +(function(c){c.fn.tableExport=function(h){function x(b){var d=[];D(b,"thead").each(function(){d.push.apply(d,D(c(this),a.theadSelector).toArray())});return d}function B(b){var d=[];D(b,"tbody").each(function(){d.push.apply(d,D(c(this),a.tbodySelector).toArray())});a.tfootSelector.length&&D(b,"tfoot").each(function(){d.push.apply(d,D(c(this),a.tfootSelector).toArray())});return d}function D(b,a){var d=b[0].tagName,q=b.parents(d).length;return b.find(a).filter(function(){return q===c(this).closest(d).parents(d).length})} +function T(b){var a=[];c(b).find("thead").first().find("th").each(function(b,d){void 0!==c(d).attr("data-field")?a[b]=c(d).attr("data-field"):a[b]=b.toString()});return a}function J(b){var a="undefined"!==typeof b[0].rowIndex,e=!1===a&&"undefined"!==typeof b[0].cellIndex,q=e||a?La(b):b.is(":visible"),f=b.attr("data-tableexport-display");e&&"none"!==f&&"always"!==f&&(b=c(b[0].parentNode),a="undefined"!==typeof b[0].rowIndex,f=b.attr("data-tableexport-display"));a&&"none"!==f&&"always"!==f&&(f=b.closest("table").attr("data-tableexport-display")); +return"none"!==f&&(!0===q||"always"===f)}function La(b){var a=[];W&&(a=K.filter(function(){var a=!1;this.nodeType===b[0].nodeType&&("undefined"!==typeof this.rowIndex&&this.rowIndex===b[0].rowIndex?a=!0:"undefined"!==typeof this.cellIndex&&this.cellIndex===b[0].cellIndex&&"undefined"!==typeof this.parentNode.rowIndex&&"undefined"!==typeof b[0].parentNode.rowIndex&&this.parentNode.rowIndex===b[0].parentNode.rowIndex&&(a=!0));return a}));return!1===W||0===a.length}function ua(b,d,e){var q=!1;J(b)?0< +a.ignoreColumn.length&&(-1!==c.inArray(e,a.ignoreColumn)||-1!==c.inArray(e-d,a.ignoreColumn)||U.length>e&&"undefined"!==typeof U[e]&&-1!==c.inArray(U[e],a.ignoreColumn))&&(q=!0):q=!0;return q}function C(b,d,e,q,f){if("function"===typeof f){var m=!1;"function"===typeof a.onIgnoreRow&&(m=a.onIgnoreRow(c(b),e));if(!1===m&&(0===a.ignoreRow.length||-1===c.inArray(e,a.ignoreRow)&&-1===c.inArray(e-q,a.ignoreRow))&&J(c(b))){var r=D(c(b),d),k=0;r.each(function(b){var a=c(this),d,m=P(this),q=V(this);c.each(H, +function(){if(e>=this.s.r&&e<=this.e.r&&k>=this.s.c&&k<=this.e.c)for(d=0;d<=this.e.c-this.s.c;++d)f(null,e,k++)});if(!1===ua(a,r.length,b)){if(q||m)m=m||1,H.push({s:{r:e,c:k},e:{r:e+(q||1)-1,c:k+m-1}});f(this,e,k++)}if(m)for(d=0;d<m-1;++d)f(null,e,k++)});c.each(H,function(){if(e>=this.s.r&&e<=this.e.r&&k>=this.s.c&&k<=this.e.c)for(da=0;da<=this.e.c-this.s.c;++da)f(null,e,k++)})}}}function va(b,a,e,c){if("undefined"!==typeof c.images&&(e=c.images[e],"undefined"!==typeof e)){a=a.getBoundingClientRect(); +var d=b.width/b.height,m=a.width/a.height,q=b.width,k=b.height,y=19.049976/25.4,g=0;m<=d?(k=Math.min(b.height,a.height),q=a.width*k/a.height):m>d&&(q=Math.min(b.width,a.width),k=a.height*q/a.width);q*=y;k*=y;k<b.height&&(g=(b.height-k)/2);try{c.doc.addImage(e.src,b.textPos.x,b.y+g,q,k)}catch(Qa){}b.textPos.x+=q}}function wa(b,d){if("string"===a.outputMode)return b.output();if("base64"===a.outputMode)return L(b.output());if("window"===a.outputMode)window.URL=window.URL||window.webkitURL,window.open(window.URL.createObjectURL(b.output("blob"))); +else try{var e=b.output("blob");saveAs(e,a.fileName+".pdf")}catch(q){ka(a.fileName+".pdf","data:application/pdf"+(d?"":";base64")+",",d?b.output("blob"):b.output())}}function xa(b,a,e){var d=0;"undefined"!==typeof e&&(d=e.colspan);if(0<=d){for(var f=b.width,c=b.textPos.x,r=a.table.columns.indexOf(a.column),k=1;k<d;k++)f+=a.table.columns[r+k].width;1<d&&("right"===b.styles.halign?c=b.textPos.x+f-b.width:"center"===b.styles.halign&&(c=b.textPos.x+(f-b.width)/2));b.width=f;b.textPos.x=c;"undefined"!== +typeof e&&1<e.rowspan&&(b.height*=e.rowspan);if("middle"===b.styles.valign||"bottom"===b.styles.valign)e=("string"===typeof b.text?b.text.split(/\r\n|\r|\n/g):b.text).length||1,2<e&&(b.textPos.y-=(2-1.15)/2*a.row.styles.fontSize*(e-2)/3);return!0}return!1}function ya(b,a,e){"undefined"!==typeof b&&null!==b&&(b.hasAttribute("data-tableexport-canvas")?(a=(new Date).getTime(),c(b).attr("data-tableexport-canvas",a),e.images[a]={url:'[data-tableexport-canvas="'+a+'"]',src:null}):"undefined"!==a&&null!= +a&&a.each(function(){if(c(this).is("img")){var a=za(this.src);e.images[a]={url:this.src,src:this.src}}ya(b,c(this).children(),e)}))}function Ma(b,a){function d(b){if(b.url)if(b.src){var d=new Image;q=++f;d.crossOrigin="Anonymous";d.onerror=d.onload=function(){if(d.complete&&(0===d.src.indexOf("data:image/")&&(d.width=b.width||d.width||0,d.height=b.height||d.height||0),d.width+d.height)){var e=document.createElement("canvas"),c=e.getContext("2d");e.width=d.width;e.height=d.height;c.drawImage(d,0,0); +b.src=e.toDataURL("image/png")}--f||a(q)};d.src=b.url}else{var e=c(b.url);e.length&&(q=++f,html2canvas(e[0]).then(function(d){b.src=d.toDataURL("image/png");--f||a(q)}))}}var q=0,f=0;if("undefined"!==typeof b.images)for(var m in b.images)b.images.hasOwnProperty(m)&&d(b.images[m]);(b=f)||(a(q),b=void 0);return b}function Aa(b,d,e){d.each(function(){if(c(this).is("div")){var d=ea(M(this,"background-color"),[255,255,255]),f=ea(M(this,"border-top-color"),[0,0,0]),m=fa(this,"border-top-width",a.jspdf.unit), +r=this.getBoundingClientRect(),k=this.offsetLeft*e.wScaleFactor,y=this.offsetTop*e.hScaleFactor,g=r.width*e.wScaleFactor;r=r.height*e.hScaleFactor;e.doc.setDrawColor.apply(void 0,f);e.doc.setFillColor.apply(void 0,d);e.doc.setLineWidth(m);e.doc.rect(b.x+k,b.y+y,g,r,m?"FD":"F")}else c(this).is("img")&&(d=za(this.src),va(b,this,d,e));Aa(b,c(this).children(),e)})}function Ba(b,d,e){if("function"===typeof e.onAutotableText)e.onAutotableText(e.doc,b,d);else{var q=b.textPos.x,f=b.textPos.y,m={halign:b.styles.halign, +valign:b.styles.valign};if(d.length){for(d=d[0];d.previousSibling;)d=d.previousSibling;for(var r=!1,k=!1;d;){var y=d.innerText||d.textContent||"",g=y.length&&" "===y[0]?" ":"",h=1<y.length&&" "===y[y.length-1]?" ":"";!0!==a.preserve.leadingWS&&(y=g+la(y));!0!==a.preserve.trailingWS&&(y=ma(y)+h);c(d).is("br")&&(q=b.textPos.x,f+=e.doc.internal.getFontSize());c(d).is("b")?r=!0:c(d).is("i")&&(k=!0);(r||k)&&e.doc.setFontType(r&&k?"bolditalic":r?"bold":"italic");if(g=e.doc.getStringUnitWidth(y)*e.doc.internal.getFontSize()){"linebreak"=== +b.styles.overflow&&q>b.textPos.x&&q+g>b.textPos.x+b.width&&(0<=".,!%*;:=-".indexOf(y.charAt(0))&&(h=y.charAt(0),g=e.doc.getStringUnitWidth(h)*e.doc.internal.getFontSize(),q+g<=b.textPos.x+b.width&&(e.doc.autoTableText(h,q,f,m),y=y.substring(1,y.length)),g=e.doc.getStringUnitWidth(y)*e.doc.internal.getFontSize()),q=b.textPos.x,f+=e.doc.internal.getFontSize());if("visible"!==b.styles.overflow)for(;y.length&&q+g>b.textPos.x+b.width;)y=y.substring(0,y.length-1),g=e.doc.getStringUnitWidth(y)*e.doc.internal.getFontSize(); +e.doc.autoTableText(y,q,f,m);q+=g}if(r||k)c(d).is("b")?r=!1:c(d).is("i")&&(k=!1),e.doc.setFontType(r||k?r?"bold":"italic":"normal");d=d.nextSibling}b.textPos.x=q;b.textPos.y=f}else e.doc.autoTableText(b.text,b.textPos.x,b.textPos.y,m)}}function ha(b,a,e){return null==b?"":b.toString().replace(new RegExp(null==a?"":a.toString().replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),e)}function la(b){return null==b?"":b.toString().replace(/^\s+/,"")}function ma(b){return null==b?"":b.toString().replace(/\s+$/, +"")}function Ca(b){a.date.pattern.lastIndex=0;var d=a.date.pattern.exec(b);if(null==d)return!1;b=+d[a.date.match_y];if(0>b||8099<b)return!1;var e=1*d[a.date.match_m];d=1*d[a.date.match_d];if(isNaN(d))return!1;var c=new Date(b,e-1,d);return c.getFullYear()===b&&c.getMonth()===e-1&&c.getDate()===d?c:!1}function na(b){b=b||"0";""!==a.numbers.html.thousandsSeparator&&(b=ha(b,a.numbers.html.thousandsSeparator,""));"."!==a.numbers.html.decimalMark&&(b=ha(b,a.numbers.html.decimalMark,"."));return"number"=== +typeof b||!1!==jQuery.isNumeric(b)?b:!1}function Na(b){-1<b.indexOf("%")?(b=na(b.replace(/%/g,"")),!1!==b&&(b/=100)):b=!1;return b}function F(b,d,e,q){var f="",m="text";if(null!==b){var r=c(b);if(r[0].hasAttribute("data-tableexport-canvas"))var k="";else if(r[0].hasAttribute("data-tableexport-value"))k=(k=r.attr("data-tableexport-value"))?k+"":"";else if(k=r.html(),"function"===typeof a.onCellHtmlData)k=a.onCellHtmlData(r,d,e,k);else if(""!==k){b=c.parseHTML(k);var g=0,h=0;k="";c.each(b,function(){if(c(this).is("input"))k+= +r.find("input").eq(g++).val();else if(c(this).is("select"))k+=r.find("select option:selected").eq(h++).text();else if(c(this).is("br"))k+="<br>";else{if("undefined"===typeof c(this).html())k+=c(this).text();else if(void 0===jQuery().bootstrapTable||!1===c(this).hasClass("fht-cell")&&!1===c(this).hasClass("filterControl")&&0===r.parents(".detail-view").length)k+=c(this).html();if(c(this).is("a")){var b=r.find("a").attr("href")||"";f="function"===typeof a.onCellHtmlHyperlink?a.onCellHtmlHyperlink(r, +d,e,b,k):"href"===a.htmlHyperlink?b:k;k=""}}})}if(k&&""!==k&&!0===a.htmlContent)f=c.trim(k);else if(k&&""!==k)if(""!==r.attr("data-tableexport-cellformat")){var l=k.replace(/\n/g,"\u2028").replace(/(<\s*br([^>]*)>)/gi,"\u2060"),p=c("<div/>").html(l).contents();b=!1;l="";c.each(p.text().split("\u2028"),function(b,d){0<b&&(l+=" ");!0!==a.preserve.leadingWS&&(d=la(d));l+=!0!==a.preserve.trailingWS?ma(d):d});c.each(l.split("\u2060"),function(b,d){0<b&&(f+="\n");!0!==a.preserve.leadingWS&&(d=la(d));!0!== +a.preserve.trailingWS&&(d=ma(d));f+=d.replace(/\u00AD/g,"")});f=f.replace(/\u00A0/g," ");if("json"===a.type||"excel"===a.type&&"xmlss"===a.mso.fileFormat||!1===a.numbers.output)b=na(f),!1!==b&&(m="number",f=Number(b));else if(a.numbers.html.decimalMark!==a.numbers.output.decimalMark||a.numbers.html.thousandsSeparator!==a.numbers.output.thousandsSeparator)if(b=na(f),!1!==b){p=(""+b.substr(0>b?1:0)).split(".");1===p.length&&(p[1]="");var n=3<p[0].length?p[0].length%3:0;m="number";f=(0>b?"-":"")+(a.numbers.output.thousandsSeparator? +(n?p[0].substr(0,n)+a.numbers.output.thousandsSeparator:"")+p[0].substr(n).replace(/(\d{3})(?=\d)/g,"$1"+a.numbers.output.thousandsSeparator):p[0])+(p[1].length?a.numbers.output.decimalMark+p[1]:"")}}else f=k;!0===a.escape&&(f=escape(f));"function"===typeof a.onCellData&&(f=a.onCellData(r,d,e,f,m))}void 0!==q&&(q.type=m);return f}function Da(b){return 0<b.length&&!0===a.preventInjection&&0<="=+-@".indexOf(b.charAt(0))?"'"+b:b}function Oa(b,a,e){return a+"-"+e.toLowerCase()}function ea(b,a){(b=/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/.exec(b))&& +(a=[parseInt(b[1]),parseInt(b[2]),parseInt(b[3])]);return a}function Ea(b){var a=M(b,"text-align"),e=M(b,"font-weight"),c=M(b,"font-style"),f="";"start"===a&&(a="rtl"===M(b,"direction")?"right":"left");700<=e&&(f="bold");"italic"===c&&(f+=c);""===f&&(f="normal");a={style:{align:a,bcolor:ea(M(b,"background-color"),[255,255,255]),color:ea(M(b,"color"),[0,0,0]),fstyle:f},colspan:P(b),rowspan:V(b)};null!==b&&(b=b.getBoundingClientRect(),a.rect={width:b.width,height:b.height});return a}function P(b){var a= +c(b).attr("data-tableexport-colspan");"undefined"===typeof a&&c(b).is("[colspan]")&&(a=c(b).attr("colspan"));return parseInt(a)||0}function V(b){var a=c(b).attr("data-tableexport-rowspan");"undefined"===typeof a&&c(b).is("[rowspan]")&&(a=c(b).attr("rowspan"));return parseInt(a)||0}function M(b,a){try{return window.getComputedStyle?(a=a.replace(/([a-z])([A-Z])/,Oa),window.getComputedStyle(b,null).getPropertyValue(a)):b.currentStyle?b.currentStyle[a]:b.style[a]}catch(e){}return""}function fa(a,d,e){d= +M(a,d).match(/\d+/);if(null!==d){d=d[0];a=a.parentElement;var b=document.createElement("div");b.style.overflow="hidden";b.style.visibility="hidden";a.appendChild(b);b.style.width=100+e;e=100/b.offsetWidth;a.removeChild(b);return d*e}return 0}function Pa(a){for(var b=new ArrayBuffer(a.length),e=new Uint8Array(b),c=0;c!==a.length;++c)e[c]=a.charCodeAt(c)&255;return b}function oa(a){var b=a.c,e="";for(++b;b;b=Math.floor((b-1)/26))e=String.fromCharCode((b-1)%26+65)+e;return e+(""+(a.r+1))}function pa(a, +d){if("undefined"===typeof d||"number"===typeof d)return pa(a.s,a.e);"string"!==typeof a&&(a=oa(a));"string"!==typeof d&&(d=oa(d));return a===d?a:a+":"+d}function Fa(a,d){var b=Number(a);if(!isNaN(b))return b;var c=1;""!==d.thousandsSeparator&&(a=a.replace(new RegExp("([\\d])"+d.thousandsSeparator+"([\\d])","g"),"$1$2"));"."!==d.decimalMark&&(a=a.replace(new RegExp("([\\d])"+d.decimalMark+"([\\d])","g"),"$1.$2"));a=a.replace(/[$]/g,"").replace(/[%]/g,function(){c*=100;return""});if(!isNaN(b=Number(a)))return b/ +c;a=a.replace(/[(](.*)[)]/,function(a,b){c=-c;return b});return isNaN(b=Number(a))?b:b/c}function za(a){var b=0,c;if(0===a.length)return b;var q=0;for(c=a.length;q<c;q++){var f=a.charCodeAt(q);b=(b<<5)-b+f;b|=0}return b}function N(b,d,c,q,f,m){var e=!0;"function"===typeof a.onBeforeSaveToFile&&(e=a.onBeforeSaveToFile(b,d,c,q,f),"boolean"!==typeof e&&(e=!0));if(e)try{if(Ga=new Blob([b],{type:c+";charset="+q}),saveAs(Ga,d,!1===m),"function"===typeof a.onAfterSaveToFile)a.onAfterSaveToFile(b,d)}catch(k){ka(d, +"data:"+c+(q.length?";charset="+q:"")+(f.length?";"+f:"")+",",m?"\ufeff"+b:b)}}function ka(b,d,c){var e=window.navigator.userAgent;if(!1!==b&&window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(new Blob([c]),b);else if(!1!==b&&(0<e.indexOf("MSIE ")||e.match(/Trident.*rv\:11\./))){if(d=document.createElement("iframe")){document.body.appendChild(d);d.setAttribute("style","display:none");d.contentDocument.open("txt/plain","replace");d.contentDocument.write(c);d.contentDocument.close(); +d.contentWindow.focus();switch(b.substr(b.lastIndexOf(".")+1)){case "doc":case "json":case "png":case "pdf":case "xls":case "xlsx":b+=".txt"}d.contentDocument.execCommand("SaveAs",!0,b);document.body.removeChild(d)}}else{var f=document.createElement("a");if(f){var m=null;f.style.display="none";!1!==b?f.download=b:f.target="_blank";"object"===typeof c?(window.URL=window.URL||window.webkitURL,e=[],e.push(c),m=window.URL.createObjectURL(new Blob(e,{type:d})),f.href=m):0<=d.toLowerCase().indexOf("base64,")? +f.href=d+L(c):f.href=d+encodeURIComponent(c);document.body.appendChild(f);if(document.createEvent)null===ia&&(ia=document.createEvent("MouseEvents")),ia.initEvent("click",!0,!1),f.dispatchEvent(ia);else if(document.createEventObject)f.fireEvent("onclick");else if("function"===typeof f.onclick)f.onclick();setTimeout(function(){m&&window.URL.revokeObjectURL(m);document.body.removeChild(f);if("function"===typeof a.onAfterSaveToFile)a.onAfterSaveToFile(c,b)},100)}}}function L(a){var b,c="",q=0;if("string"=== +typeof a){a=a.replace(/\x0d\x0a/g,"\n");var f="";for(b=0;b<a.length;b++){var m=a.charCodeAt(b);128>m?f+=String.fromCharCode(m):(127<m&&2048>m?f+=String.fromCharCode(m>>6|192):(f+=String.fromCharCode(m>>12|224),f+=String.fromCharCode(m>>6&63|128)),f+=String.fromCharCode(m&63|128))}a=f}for(;q<a.length;){var r=a.charCodeAt(q++);f=a.charCodeAt(q++);b=a.charCodeAt(q++);m=r>>2;r=(r&3)<<4|f>>4;var k=(f&15)<<2|b>>6;var g=b&63;isNaN(f)?k=g=64:isNaN(b)&&(g=64);c=c+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(m)+ +"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(r)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(k)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(g)}return c}var a={csvEnclosure:'"',csvSeparator:",",csvUseBOM:!0,date:{html:"dd/mm/yyyy"},displayTableName:!1,escape:!1,exportHiddenCells:!1,fileName:"tableExport",htmlContent:!1,htmlHyperlink:"content",ignoreColumn:[],ignoreRow:[],jsonScope:"all",jspdf:{orientation:"p", +unit:"pt",format:"a4",margins:{left:20,right:10,top:10,bottom:10},onDocCreated:null,autotable:{styles:{cellPadding:2,rowHeight:12,fontSize:8,fillColor:255,textColor:50,fontStyle:"normal",overflow:"ellipsize",halign:"inherit",valign:"middle"},headerStyles:{fillColor:[52,73,94],textColor:255,fontStyle:"bold",halign:"inherit",valign:"middle"},alternateRowStyles:{fillColor:245},tableExport:{doc:null,onAfterAutotable:null,onBeforeAutotable:null,onAutotableText:null,onTable:null,outputImages:!0}}},mso:{fileFormat:"xlshtml", +onMsoNumberFormat:null,pageFormat:"a4",pageOrientation:"portrait",rtl:!1,styles:[],worksheetName:"",xslx:{formatId:{date:14,numbers:2}}},numbers:{html:{decimalMark:".",thousandsSeparator:","},output:{decimalMark:".",thousandsSeparator:","}},onAfterSaveToFile:null,onBeforeSaveToFile:null,onCellData:null,onCellHtmlData:null,onCellHtmlHyperlink:null,onIgnoreRow:null,outputMode:"file",pdfmake:{enabled:!1,docDefinition:{pageOrientation:"portrait",defaultStyle:{font:"Roboto"}},fonts:{}},preserve:{leadingWS:!1, +trailingWS:!1},preventInjection:!0,sql:{tableEnclosure:"`",columnEnclosure:"`"},tbodySelector:"tr",tfootSelector:"tr",theadSelector:"tr",tableName:"Table",type:"csv"},O={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66], +b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],"government-letter":[576,756],legal:[612,1008],"junior-legal":[576,360],ledger:[1224,792],tabloid:[792,1224],"credit-card":[153,243]},A=this,ia=null,u=[],t= +[],p=0,n="",U=[],H=[],Ga,K=[],W=!1;c.extend(!0,a,h);"xlsx"===a.type&&(a.mso.fileFormat=a.type,a.type="excel");"undefined"!==typeof a.excelFileFormat&&"undefined"===a.mso.fileFormat&&(a.mso.fileFormat=a.excelFileFormat);"undefined"!==typeof a.excelPageFormat&&"undefined"===a.mso.pageFormat&&(a.mso.pageFormat=a.excelPageFormat);"undefined"!==typeof a.excelPageOrientation&&"undefined"===a.mso.pageOrientation&&(a.mso.pageOrientation=a.excelPageOrientation);"undefined"!==typeof a.excelRTL&&"undefined"=== +a.mso.rtl&&(a.mso.rtl=a.excelRTL);"undefined"!==typeof a.excelstyles&&"undefined"===a.mso.styles&&(a.mso.styles=a.excelstyles);"undefined"!==typeof a.onMsoNumberFormat&&"undefined"===a.mso.onMsoNumberFormat&&(a.mso.onMsoNumberFormat=a.onMsoNumberFormat);"undefined"!==typeof a.worksheetName&&"undefined"===a.mso.worksheetName&&(a.mso.worksheetName=a.worksheetName);a.mso.pageOrientation="l"===a.mso.pageOrientation.substr(0,1)?"landscape":"portrait";a.date.html=a.date.html||"";if(a.date.html.length){h= +[];h.dd="(3[01]|[12][0-9]|0?[1-9])";h.mm="(1[012]|0?[1-9])";h.yyyy="((?:1[6-9]|2[0-2])\\d{2})";h.yy="(\\d{2})";var v=a.date.html.match(/[^a-zA-Z0-9]/)[0];v=a.date.html.toLowerCase().split(v);a.date.regex="^\\s*";a.date.regex+=h[v[0]];a.date.regex+="(.)";a.date.regex+=h[v[1]];a.date.regex+="\\2";a.date.regex+=h[v[2]];a.date.regex+="\\s*$";a.date.pattern=new RegExp(a.date.regex,"g");h=v.indexOf("dd")+1;a.date.match_d=h+(1<h?1:0);h=v.indexOf("mm")+1;a.date.match_m=h+(1<h?1:0);h=(0<=v.indexOf("yyyy")? +v.indexOf("yyyy"):v.indexOf("yy"))+1;a.date.match_y=h+(1<h?1:0)}U=T(A);if("csv"===a.type||"tsv"===a.type||"txt"===a.type){var Q="",Z=0;H=[];p=0;var qa=function(b,d,e){b.each(function(){n="";C(this,d,p,e+b.length,function(b,c,d){var e=n,f="";if(null!==b)if(b=F(b,c,d),c=null===b||""===b?"":b.toString(),"tsv"===a.type)b instanceof Date&&b.toLocaleString(),f=ha(c,"\t"," ");else if(b instanceof Date)f=a.csvEnclosure+b.toLocaleString()+a.csvEnclosure;else if(f=Da(c),f=ha(f,a.csvEnclosure,a.csvEnclosure+ +a.csvEnclosure),0<=f.indexOf(a.csvSeparator)||/[\r\n ]/g.test(f))f=a.csvEnclosure+f+a.csvEnclosure;n=e+(f+("tsv"===a.type?"\t":a.csvSeparator))});n=c.trim(n).substring(0,n.length-1);0<n.length&&(0<Q.length&&(Q+="\n"),Q+=n);p++});return b.length};Z+=qa(c(A).find("thead").first().find(a.theadSelector),"th,td",Z);D(c(A),"tbody").each(function(){Z+=qa(D(c(this),a.tbodySelector),"td,th",Z)});a.tfootSelector.length&&qa(c(A).find("tfoot").first().find(a.tfootSelector),"td,th",Z);Q+="\n";if("string"===a.outputMode)return Q; +if("base64"===a.outputMode)return L(Q);if("window"===a.outputMode){ka(!1,"data:text/"+("csv"===a.type?"csv":"plain")+";charset=utf-8,",Q);return}N(Q,a.fileName+"."+a.type,"text/"+("csv"===a.type?"csv":"plain"),"utf-8","","csv"===a.type&&a.csvUseBOM)}else if("sql"===a.type){p=0;H=[];var z="INSERT INTO "+a.sql.tableEnclosure+a.tableName+a.sql.tableEnclosure+" (";u=x(c(A));c(u).each(function(){C(this,"th,td",p,u.length,function(b,c,e){z+=a.sql.columnEnclosure+F(b,c,e)+a.sql.columnEnclosure+","});p++; +z=c.trim(z).substring(0,z.length-1)});z+=") VALUES ";t=B(c(A));c(t).each(function(){n="";C(this,"td,th",p,u.length+t.length,function(a,c,e){n+="'"+F(a,c,e)+"',"});3<n.length&&(z+="("+n,z=c.trim(z).substring(0,z.length-1),z+="),");p++});z=c.trim(z).substring(0,z.length-1);z+=";";if("string"===a.outputMode)return z;if("base64"===a.outputMode)return L(z);N(z,a.fileName+".sql","application/sql","utf-8","",!1)}else if("json"===a.type){var X=[];H=[];u=x(c(A));c(u).each(function(){var a=[];C(this,"th,td", +p,u.length,function(b,c,g){a.push(F(b,c,g))});X.push(a)});var ra=[];t=B(c(A));c(t).each(function(){var a={},d=0;C(this,"td,th",p,u.length+t.length,function(b,c,f){X.length?a[X[X.length-1][d]]=F(b,c,f):a[d]=F(b,c,f);d++});!1===c.isEmptyObject(a)&&ra.push(a);p++});h="";h="head"===a.jsonScope?JSON.stringify(X):"data"===a.jsonScope?JSON.stringify(ra):JSON.stringify({header:X,data:ra});if("string"===a.outputMode)return h;if("base64"===a.outputMode)return L(h);N(h,a.fileName+".json","application/json", +"utf-8","base64",!1)}else if("xml"===a.type){p=0;H=[];var R='<?xml version="1.0" encoding="utf-8"?>';R+="<tabledata><fields>";u=x(c(A));c(u).each(function(){C(this,"th,td",p,u.length,function(a,c,e){R+="<field>"+F(a,c,e)+"</field>"});p++});R+="</fields><data>";var sa=1;t=B(c(A));c(t).each(function(){var a=1;n="";C(this,"td,th",p,u.length+t.length,function(b,c,g){n+="<column-"+a+">"+F(b,c,g)+"</column-"+a+">";a++});0<n.length&&"<column-1></column-1>"!==n&&(R+='<row id="'+sa+'">'+n+"</row>",sa++);p++}); +R+="</data></tabledata>";if("string"===a.outputMode)return R;if("base64"===a.outputMode)return L(R);N(R,a.fileName+".xml","application/xml","utf-8","base64",!1)}else if("excel"===a.type&&"xmlss"===a.mso.fileFormat){var ta=[],G=[];c(A).filter(function(){return J(c(this))}).each(function(){function b(a,b,d){var f=[];c(a).each(function(){var b=0,e=0;n="";C(this,"td,th",p,d+a.length,function(a,d,m){if(null!==a){var k="";d=F(a,d,m);m="String";if(!1!==jQuery.isNumeric(d))m="Number";else{var g=Na(d);!1!== +g&&(d=g,m="Number",k+=' ss:StyleID="pct1"')}"Number"!==m&&(d=d.replace(/\n/g,"<br>"));g=P(a);a=V(a);c.each(f,function(){if(p>=this.s.r&&p<=this.e.r&&e>=this.s.c&&e<=this.e.c)for(var a=0;a<=this.e.c-this.s.c;++a)e++,b++});if(a||g)a=a||1,g=g||1,f.push({s:{r:p,c:e},e:{r:p+a-1,c:e+g-1}});1<g&&(k+=' ss:MergeAcross="'+(g-1)+'"',e+=g-1);1<a&&(k+=' ss:MergeDown="'+(a-1)+'" ss:StyleID="rsp1"');0<b&&(k+=' ss:Index="'+(e+1)+'"',b=0);n+="<Cell"+k+'><Data ss:Type="'+m+'">'+c("<div />").text(d).html()+"</Data></Cell>\r"; +e++}});0<n.length&&(I+='<Row ss:AutoFitHeight="0">\r'+n+"</Row>\r");p++});return a.length}var d=c(this),e="";"string"===typeof a.mso.worksheetName&&a.mso.worksheetName.length?e=a.mso.worksheetName+" "+(G.length+1):"undefined"!==typeof a.mso.worksheetName[G.length]&&(e=a.mso.worksheetName[G.length]);e.length||(e=d.find("caption").text()||"");e.length||(e="Table "+(G.length+1));e=c.trim(e.replace(/[\\\/[\]*:?'"]/g,"").substring(0,31));G.push(c("<div />").text(e).html());!1===a.exportHiddenCells&&(K= +d.find("tr, th, td").filter(":hidden"),W=0<K.length);p=0;U=T(this);I="<Table>\r";e=b(x(d),"th,td",0);b(B(d),"td,th",e);I+="</Table>\r";ta.push(I)});h={};v={};for(var l,S,Y=0,da=G.length;Y<da;Y++)l=G[Y],S=h[l],S=h[l]=null==S?1:S+1,2===S&&(G[v[l]]=G[v[l]].substring(0,29)+"-1"),1<h[l]?G[Y]=G[Y].substring(0,29)+"-"+h[l]:v[l]=Y;h='<?xml version="1.0" encoding="UTF-8"?>\r<?mso-application progid="Excel.Sheet"?>\r<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"\r xmlns:o="urn:schemas-microsoft-com:office:office"\r xmlns:x="urn:schemas-microsoft-com:office:excel"\r xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"\r xmlns:html="http://www.w3.org/TR/REC-html40">\r<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">\r <Created>'+ (new Date).toISOString()+'</Created>\r</DocumentProperties>\r<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">\r <AllowPNG/>\r</OfficeDocumentSettings>\r<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">\r <WindowHeight>9000</WindowHeight>\r <WindowWidth>13860</WindowWidth>\r <WindowTopX>0</WindowTopX>\r <WindowTopY>0</WindowTopY>\r <ProtectStructure>False</ProtectStructure>\r <ProtectWindows>False</ProtectWindows>\r</ExcelWorkbook>\r<Styles>\r <Style ss:ID="Default" ss:Name="Normal">\r <Alignment ss:Vertical="Bottom"/>\r <Borders/>\r <Font/>\r <Interior/>\r <NumberFormat/>\r <Protection/>\r </Style>\r <Style ss:ID="rsp1">\r <Alignment ss:Vertical="Center"/>\r </Style>\r <Style ss:ID="pct1">\r <NumberFormat ss:Format="Percent"/>\r </Style>\r</Styles>\r'; -for(D=0;D<ma.length;D++)m+='<Worksheet ss:Name="'+z[D]+'" ss:RightToLeft="'+(a.mso.rtl?"1":"0")+'">\r'+ma[D],m=a.mso.rtl?m+'<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">\r<DisplayRightToLeft/>\r</WorksheetOptions>\r':m+'<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"/>\r',m+="</Worksheet>\r";m+="</Workbook>\r";if("string"===a.outputMode)return m;if("base64"===a.outputMode)return H(m);J(m,a.fileName+".xml","application/xml","utf-8","base64",!1)}else if("excel"=== -a.type&&"xlsx"===a.mso.fileFormat){z=[];var ya=XLSX.utils.book_new();c(v).filter(function(){return L(c(this))}).each(function(){var b=c(this),d=XLSX.utils.table_to_sheet(this),e="";"string"===typeof a.mso.worksheetName&&a.mso.worksheetName.length?e=a.mso.worksheetName+" "+(z.length+1):"undefined"!==typeof a.mso.worksheetName[z.length]&&(e=a.mso.worksheetName[z.length]);e.length||(e=b.find("caption").text()||"");e.length||(e="Table "+(z.length+1));e=c.trim(e.replace(/[\\\/[\]*:?'"]/g,"").substring(0, -31));z.push(e);XLSX.utils.book_append_sheet(ya,d,e)});m=XLSX.write(ya,{type:"binary",bookType:a.mso.fileFormat,bookSST:!1});J(Ha(m),a.fileName+"."+a.mso.fileFormat,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","UTF-8","",!1)}else if("excel"===a.type||"xls"===a.type||"word"===a.type||"doc"===a.type){m="excel"===a.type||"xls"===a.type?"excel":"word";D="excel"===m?"xls":"doc";k='xmlns:x="urn:schemas-microsoft-com:office:'+m+'"';var F="",X="";c(v).filter(function(){return L(c(this))}).each(function(){var b= -c(this);""===X&&(X=a.mso.worksheetName||b.find("caption").text()||"Table",X=c.trim(X.replace(/[\\\/[\]*:?'"]/g,"").substring(0,31)));!1===a.exportHiddenCells&&(G=b.find("tr, th, td").filter(":hidden"),R=0<G.length);n=0;E=[];Q=P(this);F+="<table><thead>";r=u(b);c(r).each(function(){var b=c(this);p="";C(this,"th,td",n,r.length,function(c,d,g){if(null!==c){var e="",f=document.defaultView.getComputedStyle(c,null),h=document.defaultView.getComputedStyle(b[0],null);p+="<th";for(var k in a.mso.styles){var m= -f[a.mso.styles[k]];""===m&&(m=h[a.mso.styles[k]]);""!==m&&"0px none rgb(0, 0, 0)"!==m&&"rgba(0, 0, 0, 0)"!==m&&(e+=""===e?'style="':";",e+=a.mso.styles[k]+":"+m)}""!==e&&(p+=" "+e+'"');e=S(c);0<e&&(p+=' colspan="'+e+'"');e=T(c);0<e&&(p+=' rowspan="'+e+'"');p+=">"+B(c,d,g)+"</th>"}});0<p.length&&(F+="<tr>"+p+"</tr>");n++});F+="</thead><tbody>";t=x(b);c(t).each(function(){var b=c(this);p="";C(this,"td,th",n,r.length+t.length,function(d,f,g){if(null!==d){var e=B(d,f,g),h="",k=c(d).data("tableexport-msonumberformat"), -m=document.defaultView.getComputedStyle(d,null),n=document.defaultView.getComputedStyle(b[0],null);"undefined"===typeof k&&"function"===typeof a.mso.onMsoNumberFormat&&(k=a.mso.onMsoNumberFormat(d,f,g));"undefined"!==typeof k&&""!==k&&(h="style=\"mso-number-format:'"+k+"'");for(var r in a.mso.styles)k=m[a.mso.styles[r]],""===k&&(k=n[a.mso.styles[r]]),""!==k&&"0px none rgb(0, 0, 0)"!==k&&"rgba(0, 0, 0, 0)"!==k&&(h+=""===h?'style="':";",h+=a.mso.styles[r]+":"+k);p+="<td";""!==h&&(p+=" "+h+'"');f=S(d); -0<f&&(p+=' colspan="'+f+'"');d=T(d);0<d&&(p+=' rowspan="'+d+'"');"string"===typeof e&&""!==e&&(e=ua(e),e=e.replace(/\n/g,"<br>"));p+=">"+e+"</td>"}});0<p.length&&(F+="<tr>"+p+"</tr>");n++});a.displayTableName&&(F+="<tr><td></td></tr><tr><td></td></tr><tr><td>"+B(c("<p>"+a.tableName+"</p>"))+"</td></tr>");F+="</tbody></table>"});k='<html xmlns:o="urn:schemas-microsoft-com:office:office" '+k+' xmlns="http://www.w3.org/TR/REC-html40">'+('<meta http-equiv="content-type" content="application/vnd.ms-'+ -m+'; charset=UTF-8">')+"<head>";"excel"===m&&(k+="\x3c!--[if gte mso 9]>",k+="<xml>",k+="<x:ExcelWorkbook>",k+="<x:ExcelWorksheets>",k+="<x:ExcelWorksheet>",k+="<x:Name>",k+=X,k+="</x:Name>",k+="<x:WorksheetOptions>",k+="<x:DisplayGridlines/>",a.mso.rtl&&(k+="<x:DisplayRightToLeft/>"),k+="</x:WorksheetOptions>",k+="</x:ExcelWorksheet>",k+="</x:ExcelWorksheets>",k+="</x:ExcelWorkbook>",k+="</xml>",k+="<![endif]--\x3e");k+="<style>";k+="@page { size:"+a.mso.pageOrientation+"; mso-page-orientation:"+ -a.mso.pageOrientation+"; }";k+="@page Section1 {size:"+K[a.mso.pageFormat][0]+"pt "+K[a.mso.pageFormat][1]+"pt";k+="; margin:1.0in 1.25in 1.0in 1.25in;mso-header-margin:.5in;mso-footer-margin:.5in;mso-paper-source:0;}";k+="div.Section1 {page:Section1;}";k+="@page Section2 {size:"+K[a.mso.pageFormat][1]+"pt "+K[a.mso.pageFormat][0]+"pt";k+=";mso-page-orientation:"+a.mso.pageOrientation+";margin:1.25in 1.0in 1.25in 1.0in;mso-header-margin:.5in;mso-footer-margin:.5in;mso-paper-source:0;}";k+="div.Section2 {page:Section2;}"; -k+="br {mso-data-placement:same-cell;}";k+="</style>";k+="</head>";k+="<body>";k+='<div class="Section'+("landscape"===a.mso.pageOrientation?"2":"1")+'">';k+=F;k+="</div>";k+="</body>";k+="</html>";if("string"===a.outputMode)return k;if("base64"===a.outputMode)return H(k);J(k,a.fileName+"."+D,"application/vnd.ms-"+m,"","base64",!1)}else if("png"===a.type)html2canvas(c(v)[0]).then(function(b){b=b.toDataURL();for(var c=atob(b.substring(22)),e=new ArrayBuffer(c.length),f=new Uint8Array(e),g=0;g<c.length;g++)f[g]= -c.charCodeAt(g);if("string"===a.outputMode)return c;if("base64"===a.outputMode)return H(b);"window"===a.outputMode?window.open(b):J(e,a.fileName+".png","image/png","","",!1)});else if("pdf"===a.type)if(!0===a.pdfmake.enabled){m=[];var za=[];n=0;E=[];D=function(a,d,e){var b=0;c(a).each(function(){var a=[];C(this,d,n,e,function(b,c,d){if("undefined"!==typeof b&&null!==b){var e=S(b),g=T(b);b=B(b,c,d)||" ";1<e||1<g?a.push({colSpan:e||1,rowSpan:g||1,text:b}):a.push(b)}else a.push(" ")});a.length&&za.push(a); -b<a.length&&(b=a.length);n++});return b};r=u(c(this));k=D(r,"th,td",r.length);for(O=m.length;O<k;O++)m.push("*");t=x(c(this));D(t,"th,td",r.length+t.length);m={content:[{table:{headerRows:r.length,widths:m,body:za}}]};c.extend(!0,m,a.pdfmake.docDefinition);pdfMake.fonts={Roboto:{normal:"Roboto-Regular.ttf",bold:"Roboto-Medium.ttf",italics:"Roboto-Italic.ttf",bolditalics:"Roboto-MediumItalic.ttf"}};c.extend(!0,pdfMake.fonts,a.pdfmake.fonts);pdfMake.createPdf(m).getBuffer(function(b){J(b,a.fileName+ -".pdf","application/pdf","","",!1)})}else if(!1===a.jspdf.autotable){m={dim:{w:ba(c(v).first().get(0),"width","mm"),h:ba(c(v).first().get(0),"height","mm")},pagesplit:!1};var Aa=new jsPDF(a.jspdf.orientation,a.jspdf.unit,a.jspdf.format);Aa.addHTML(c(v).first(),a.jspdf.margins.left,a.jspdf.margins.top,m,function(){oa(Aa,!1)})}else{var f=a.jspdf.autotable.tableExport;if("string"===typeof a.jspdf.format&&"bestfit"===a.jspdf.format.toLowerCase()){var ea="",Y="",Ba=0;c(v).each(function(){if(L(c(this))){var a= -ba(c(this).get(0),"width","pt");if(a>Ba){a>K.a0[0]&&(ea="a0",Y="l");for(var d in K)K.hasOwnProperty(d)&&K[d][1]>a&&(ea=d,Y="l",K[d][0]>a&&(Y="p"));Ba=a}}});a.jspdf.format=""===ea?"a4":ea;a.jspdf.orientation=""===Y?"w":Y}if(null==f.doc&&(f.doc=new jsPDF(a.jspdf.orientation,a.jspdf.unit,a.jspdf.format),f.wScaleFactor=1,f.hScaleFactor=1,"function"===typeof a.jspdf.onDocCreated))a.jspdf.onDocCreated(f.doc);!0===f.outputImages&&(f.images={});"undefined"!==typeof f.images&&(c(v).filter(function(){return L(c(this))}).each(function(){var b= -0;E=[];!1===a.exportHiddenCells&&(G=c(this).find("tr, th, td").filter(":hidden"),R=0<G.length);r=u(c(this));t=x(c(this));c(t).each(function(){C(this,"td,th",r.length+b,r.length+t.length,function(a){qa(a,c(a).children(),f)});b++})}),r=[],t=[]);Ea(f,function(){c(v).filter(function(){return L(c(this))}).each(function(){var b;n=0;E=[];!1===a.exportHiddenCells&&(G=c(this).find("tr, th, td").filter(":hidden"),R=0<G.length);Q=P(this);f.columns=[];f.rows=[];f.teCells={};if("function"===typeof f.onTable&& -!1===f.onTable(c(this),a))return!0;a.jspdf.autotable.tableExport=null;var d=c.extend(!0,{},a.jspdf.autotable);a.jspdf.autotable.tableExport=f;d.margin={};c.extend(!0,d.margin,a.jspdf.margins);d.tableExport=f;"function"!==typeof d.beforePageContent&&(d.beforePageContent=function(a){if(1===a.pageCount){var b=a.table.rows.concat(a.table.headerRow);c.each(b,function(){0<this.height&&(this.height+=(2-1.15)/2*this.styles.fontSize,a.table.height+=(2-1.15)/2*this.styles.fontSize)})}});"function"!==typeof d.createdHeaderCell&& -(d.createdHeaderCell=function(a,b){a.styles=c.extend({},b.row.styles);if("undefined"!==typeof f.columns[b.column.dataKey]){var e=f.columns[b.column.dataKey];if("undefined"!==typeof e.rect){a.contentWidth=e.rect.width;if("undefined"===typeof f.heightRatio||0===f.heightRatio){var g=b.row.raw[b.column.dataKey].rowspan?b.row.raw[b.column.dataKey].rect.height/b.row.raw[b.column.dataKey].rowspan:b.row.raw[b.column.dataKey].rect.height;f.heightRatio=a.styles.rowHeight/g}g=b.row.raw[b.column.dataKey].rect.height* -f.heightRatio;g>a.styles.rowHeight&&(a.styles.rowHeight=g)}a.styles.halign="inherit"===d.headerStyles.halign?"center":d.headerStyles.halign;a.styles.valign=d.headerStyles.valign;"undefined"!==typeof e.style&&!0!==e.style.hidden&&("inherit"===d.headerStyles.halign&&(a.styles.halign=e.style.align),"inherit"===d.styles.fillColor&&(a.styles.fillColor=e.style.bcolor),"inherit"===d.styles.textColor&&(a.styles.textColor=e.style.color),"inherit"===d.styles.fontStyle&&(a.styles.fontStyle=e.style.fstyle))}}); -"function"!==typeof d.createdCell&&(d.createdCell=function(a,b){b=f.teCells[b.row.index+":"+b.column.dataKey];a.styles.halign="inherit"===d.styles.halign?"center":d.styles.halign;a.styles.valign=d.styles.valign;"undefined"!==typeof b&&"undefined"!==typeof b.style&&!0!==b.style.hidden&&("inherit"===d.styles.halign&&(a.styles.halign=b.style.align),"inherit"===d.styles.fillColor&&(a.styles.fillColor=b.style.bcolor),"inherit"===d.styles.textColor&&(a.styles.textColor=b.style.color),"inherit"===d.styles.fontStyle&& -(a.styles.fontStyle=b.style.fstyle))});"function"!==typeof d.drawHeaderCell&&(d.drawHeaderCell=function(a,b){var c=f.columns[b.column.dataKey];return(!0!==c.style.hasOwnProperty("hidden")||!0!==c.style.hidden)&&0<=c.rowIndex?pa(a,b,c):!1});"function"!==typeof d.drawCell&&(d.drawCell=function(a,b){var d=f.teCells[b.row.index+":"+b.column.dataKey];if(!0!==("undefined"!==typeof d&&d.isCanvas))pa(a,b,d)&&(f.doc.rect(a.x,a.y,a.width,a.height,a.styles.fillStyle),"undefined"!==typeof d&&"undefined"!==typeof d.elements&& -d.elements.length?(b=a.height/d.rect.height,b>f.hScaleFactor&&(f.hScaleFactor=b),f.wScaleFactor=a.width/d.rect.width,b=a.textPos.y,sa(a,d.elements,f),a.textPos.y=b,ta(a,d.elements,f)):ta(a,{},f));else{d=d.elements[0];var e=c(d).attr("data-tableexport-canvas"),g=d.getBoundingClientRect();a.width=g.width*f.wScaleFactor;a.height=g.height*f.hScaleFactor;b.row.height=a.height;na(a,d,e,f)}return!1});f.headerrows=[];r=u(c(this));c(r).each(function(){b=0;f.headerrows[n]=[];C(this,"th,td",n,r.length,function(a, -c,d){var e=va(a);e.title=B(a,c,d);e.key=b++;e.rowIndex=n;f.headerrows[n].push(e)});n++});if(0<n)for(var e=n-1;0<=e;)c.each(f.headerrows[e],function(){var a=this;0<e&&null===this.rect&&(a=f.headerrows[e-1][this.key]);null!==a&&0<=a.rowIndex&&(!0!==a.style.hasOwnProperty("hidden")||!0!==a.style.hidden)&&f.columns.push(a)}),e=0<f.columns.length?-1:e-1;var h=0;t=[];t=x(c(this));c(t).each(function(){var a=[];b=0;C(this,"td,th",n,r.length+t.length,function(d,e,g){if("undefined"===typeof f.columns[b]){var k= -{title:"",key:b,style:{hidden:!0}};f.columns.push(k)}"undefined"!==typeof d&&null!==d?(k=va(d),k.isCanvas=d.hasAttribute("data-tableexport-canvas"),k.elements=k.isCanvas?c(d):c(d).children()):(k=c.extend(!0,{},f.teCells[h+":"+(b-1)]),k.colspan=-1);f.teCells[h+":"+b++]=k;a.push(B(d,e,g))});a.length&&(f.rows.push(a),h++);n++});if("function"===typeof f.onBeforeAutotable)f.onBeforeAutotable(c(this),f.columns,f.rows,d);f.doc.autoTable(f.columns,f.rows,d);if("function"===typeof f.onAfterAutotable)f.onAfterAutotable(c(this), -d);a.jspdf.autotable.startY=f.doc.autoTableEndPosY()+d.margin.top});oa(f.doc,"undefined"!==typeof f.images&&!1===jQuery.isEmptyObject(f.images));"undefined"!==typeof f.headerrows&&(f.headerrows.length=0);"undefined"!==typeof f.columns&&(f.columns.length=0);"undefined"!==typeof f.rows&&(f.rows.length=0);delete f.doc;f.doc=null})}return this}})(jQuery); +for(v=0;v<ta.length;v++)h+='<Worksheet ss:Name="'+G[v]+'" ss:RightToLeft="'+(a.mso.rtl?"1":"0")+'">\r'+ta[v],h=a.mso.rtl?h+'<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">\r<DisplayRightToLeft/>\r</WorksheetOptions>\r':h+'<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"/>\r',h+="</Worksheet>\r";h+="</Workbook>\r";if("string"===a.outputMode)return h;if("base64"===a.outputMode)return L(h);N(h,a.fileName+".xml","application/xml","utf-8","base64",!1)}else if("excel"=== +a.type&&"xlsx"===a.mso.fileFormat){var aa=[],Ha=XLSX.utils.book_new();c(A).filter(function(){return J(c(this))}).each(function(){for(var b=c(this),d={},e=this.getElementsByTagName("tr"),g={s:{r:0,c:0},e:{r:0,c:0}},f=[],m,r=[],k=0,h=0,l,n,u,v,t,x=XLSX.SSF.get_table();k<e.length&&1E7>h;++k)if(l=e[k],n=!1,"function"===typeof a.onIgnoreRow&&(n=a.onIgnoreRow(c(l),k)),!1===n&&-1===c.inArray(p,a.ignoreRow)&&-1===c.inArray(p-sa,a.ignoreRow)&&J(c(l))){var A=l.children,D=0;for(l=0;l<A.length;++l)t=A[l],v=+P(t)|| +1,D+=v;var B=0;for(l=n=0;l<A.length;++l)if(t=A[l],v=+P(t)||1,m=l+B,!ua(c(t),D,m+(m<n?n-m:0))){B+=v-1;for(m=0;m<f.length;++m){var E=f[m];E.s.c==n&&E.s.r<=h&&h<=E.e.r&&(n=E.e.c+1,m=-1)}(0<(u=+V(t))||1<v)&&f.push({s:{r:h,c:n},e:{r:h+(u||1)-1,c:n+v-1}});m={type:""};E=F(t,k,l+B,m);var z={t:"s",v:E},C="",w=parseInt(c(t).attr("data-tableexport-xlsxformatid")||0);0===w&&"function"===typeof a.mso.xslx.formatId.numbers&&(w=a.mso.xslx.formatId.numbers(c(t),k,l+B));0===w&&"function"===typeof a.mso.xslx.formatId.date&& +(w=a.mso.xslx.formatId.date(c(t),k,l+B));if(49===w||"@"===w)C="s";else if("number"===m.type||0<w&&14>w||36<w&&41>w||48===w)C="n";else if("date"===m.type||13<w&&37>w||44<w&&48>w||56===w)C="d";null!=E&&(0===E.length?z.t=C||"z":0!==E.trim().length&&"s"!==C&&("function"===m.type?z={f:E}:"TRUE"===E?z={t:"b",v:!0}:"FALSE"===E?z={t:"b",v:!1}:"n"!==C&&isNaN(Fa(E,a.numbers.output))?"d"===C||!1!==Ca(E)?(0===w&&"function"!==typeof a.mso.xslx.formatId.date&&(w=a.mso.xslx.formatId.date),z={t:"d",v:Ca(E),z:"string"=== +typeof w?w:w in x?x[w]:"m/d/yy"}):""===C&&c(t).find("a").length&&(E="href"!==a.htmlHyperlink?E:"",z={f:'=HYPERLINK("'+c(t).find("a").attr("href")+(E.length?'","'+E:"")+'")'}):(0===w&&"function"!==typeof a.mso.xslx.formatId.numbers&&(w=a.mso.xslx.formatId.numbers),z={t:"n",v:Fa(E,a.numbers.output),z:"string"===typeof w?w:w in x?x[w]:"0.00"})));d[oa({c:n,r:h})]=z;g.e.c<n&&(g.e.c=n);n+=v}++h}f.length&&(d["!merges"]=f);r.length&&(d["!rows"]=r);g.e.r=h-1;d["!ref"]=pa(g);1E7<=h&&(d["!fullref"]=pa((g.e.r= +e.length-k+h-1,g)));e="";"string"===typeof a.mso.worksheetName&&a.mso.worksheetName.length?e=a.mso.worksheetName+" "+(aa.length+1):"undefined"!==typeof a.mso.worksheetName[aa.length]&&(e=a.mso.worksheetName[aa.length]);e.length||(e=b.find("caption").text()||"");e.length||(e="Table "+(aa.length+1));e=c.trim(e.replace(/[\\\/[\]*:?'"]/g,"").substring(0,31));aa.push(e);XLSX.utils.book_append_sheet(Ha,d,e)});h=XLSX.write(Ha,{type:"binary",bookType:a.mso.fileFormat,bookSST:!1});N(Pa(h),a.fileName+"."+a.mso.fileFormat, +"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","UTF-8","",!1)}else if("excel"===a.type||"xls"===a.type||"word"===a.type||"doc"===a.type){h="excel"===a.type||"xls"===a.type?"excel":"word";v="excel"===h?"xls":"doc";l='xmlns:x="urn:schemas-microsoft-com:office:'+h+'"';var I="",ba="";c(A).filter(function(){return J(c(this))}).each(function(){var b=c(this);""===ba&&(ba=a.mso.worksheetName||b.find("caption").text()||"Table",ba=c.trim(ba.replace(/[\\\/[\]*:?'"]/g,"").substring(0,31))); +!1===a.exportHiddenCells&&(K=b.find("tr, th, td").filter(":hidden"),W=0<K.length);p=0;H=[];U=T(this);I+="<table><thead>";u=x(b);c(u).each(function(){var b=c(this);n="";C(this,"th,td",p,u.length,function(c,d,f){if(null!==c){var e="";n+="<th";if(a.mso.styles.length){var g=document.defaultView.getComputedStyle(c,null),k=document.defaultView.getComputedStyle(b[0],null),h;for(h in a.mso.styles){var l=g[a.mso.styles[h]];""===l&&(l=k[a.mso.styles[h]]);""!==l&&"0px none rgb(0, 0, 0)"!==l&&"rgba(0, 0, 0, 0)"!== +l&&(e+=""===e?'style="':";",e+=a.mso.styles[h]+":"+l)}}""!==e&&(n+=" "+e+'"');e=P(c);0<e&&(n+=' colspan="'+e+'"');e=V(c);0<e&&(n+=' rowspan="'+e+'"');n+=">"+F(c,d,f)+"</th>"}});0<n.length&&(I+="<tr>"+n+"</tr>");p++});I+="</thead><tbody>";t=B(b);c(t).each(function(){var b=c(this);n="";C(this,"td,th",p,u.length+t.length,function(d,g,f){if(null!==d){var e=F(d,g,f),h="",k=c(d).attr("data-tableexport-msonumberformat");"undefined"===typeof k&&"function"===typeof a.mso.onMsoNumberFormat&&(k=a.mso.onMsoNumberFormat(d, +g,f));"undefined"!==typeof k&&""!==k&&(h="style=\"mso-number-format:'"+k+"'");if(a.mso.styles.length){g=document.defaultView.getComputedStyle(d,null);f=document.defaultView.getComputedStyle(b[0],null);for(var l in a.mso.styles)k=g[a.mso.styles[l]],""===k&&(k=f[a.mso.styles[l]]),""!==k&&"0px none rgb(0, 0, 0)"!==k&&"rgba(0, 0, 0, 0)"!==k&&(h+=""===h?'style="':";",h+=a.mso.styles[l]+":"+k)}n+="<td";""!==h&&(n+=" "+h+'"');h=P(d);0<h&&(n+=' colspan="'+h+'"');d=V(d);0<d&&(n+=' rowspan="'+d+'"');"string"=== +typeof e&&""!==e&&(e=Da(e),e=e.replace(/\n/g,"<br>"));n+=">"+e+"</td>"}});0<n.length&&(I+="<tr>"+n+"</tr>");p++});a.displayTableName&&(I+="<tr><td></td></tr><tr><td></td></tr><tr><td>"+F(c("<p>"+a.tableName+"</p>"))+"</td></tr>");I+="</tbody></table>"});l='<html xmlns:o="urn:schemas-microsoft-com:office:office" '+l+' xmlns="http://www.w3.org/TR/REC-html40">'+('<meta http-equiv="content-type" content="application/vnd.ms-'+h+'; charset=UTF-8">');l+="<head>";"excel"===h&&(l+="\x3c!--[if gte mso 9]>", +l+="<xml>",l+="<x:ExcelWorkbook>",l+="<x:ExcelWorksheets>",l+="<x:ExcelWorksheet>",l+="<x:Name>",l+=ba,l+="</x:Name>",l+="<x:WorksheetOptions>",l+="<x:DisplayGridlines/>",a.mso.rtl&&(l+="<x:DisplayRightToLeft/>"),l+="</x:WorksheetOptions>",l+="</x:ExcelWorksheet>",l+="</x:ExcelWorksheets>",l+="</x:ExcelWorkbook>",l+="</xml>",l+="<![endif]--\x3e");l+="<style>";l+="@page { size:"+a.mso.pageOrientation+"; mso-page-orientation:"+a.mso.pageOrientation+"; }";l+="@page Section1 {size:"+O[a.mso.pageFormat][0]+ +"pt "+O[a.mso.pageFormat][1]+"pt";l+="; margin:1.0in 1.25in 1.0in 1.25in;mso-header-margin:.5in;mso-footer-margin:.5in;mso-paper-source:0;}";l+="div.Section1 {page:Section1;}";l+="@page Section2 {size:"+O[a.mso.pageFormat][1]+"pt "+O[a.mso.pageFormat][0]+"pt";l+=";mso-page-orientation:"+a.mso.pageOrientation+";margin:1.25in 1.0in 1.25in 1.0in;mso-header-margin:.5in;mso-footer-margin:.5in;mso-paper-source:0;}";l+="div.Section2 {page:Section2;}";l+="br {mso-data-placement:same-cell;}";l+="</style>"; +l+="</head>";l+="<body>";l+='<div class="Section'+("landscape"===a.mso.pageOrientation?"2":"1")+'">';l+=I;l+="</div>";l+="</body>";l+="</html>";if("string"===a.outputMode)return l;if("base64"===a.outputMode)return L(l);N(l,a.fileName+"."+v,"application/vnd.ms-"+h,"","base64",!1)}else if("png"===a.type)html2canvas(c(A)[0]).then(function(b){b=b.toDataURL();for(var c=atob(b.substring(22)),e=new ArrayBuffer(c.length),g=new Uint8Array(e),f=0;f<c.length;f++)g[f]=c.charCodeAt(f);if("string"===a.outputMode)return c; +if("base64"===a.outputMode)return L(b);"window"===a.outputMode?window.open(b):N(e,a.fileName+".png","image/png","","",!1)});else if("pdf"===a.type)if(!0===a.pdfmake.enabled){h=[];var Ia=[];p=0;H=[];v=function(a,d,e){var b=0;c(a).each(function(){var a=[];C(this,d,p,e,function(b,c,d){if("undefined"!==typeof b&&null!==b){var e=P(b),f=V(b);b=F(b,c,d)||" ";1<e||1<f?a.push({colSpan:e||1,rowSpan:f||1,text:b}):a.push(b)}else a.push(" ")});a.length&&Ia.push(a);b<a.length&&(b=a.length);p++});return b};u=x(c(this)); +l=v(u,"th,td",u.length);for(S=h.length;S<l;S++)h.push("*");t=B(c(this));v(t,"th,td",u.length+t.length);h={content:[{table:{headerRows:u.length,widths:h,body:Ia}}]};c.extend(!0,h,a.pdfmake.docDefinition);pdfMake.fonts={Roboto:{normal:"Roboto-Regular.ttf",bold:"Roboto-Medium.ttf",italics:"Roboto-Italic.ttf",bolditalics:"Roboto-MediumItalic.ttf"}};c.extend(!0,pdfMake.fonts,a.pdfmake.fonts);pdfMake.createPdf(h).getBuffer(function(b){N(b,a.fileName+".pdf","application/pdf","","",!1)})}else if(!1===a.jspdf.autotable){h= +{dim:{w:fa(c(A).first().get(0),"width","mm"),h:fa(c(A).first().get(0),"height","mm")},pagesplit:!1};var Ja=new jsPDF(a.jspdf.orientation,a.jspdf.unit,a.jspdf.format);Ja.addHTML(c(A).first(),a.jspdf.margins.left,a.jspdf.margins.top,h,function(){wa(Ja,!1)})}else{var g=a.jspdf.autotable.tableExport;if("string"===typeof a.jspdf.format&&"bestfit"===a.jspdf.format.toLowerCase()){var ja="",ca="",Ka=0;c(A).each(function(){if(J(c(this))){var a=fa(c(this).get(0),"width","pt");if(a>Ka){a>O.a0[0]&&(ja="a0",ca= +"l");for(var d in O)O.hasOwnProperty(d)&&O[d][1]>a&&(ja=d,ca="l",O[d][0]>a&&(ca="p"));Ka=a}}});a.jspdf.format=""===ja?"a4":ja;a.jspdf.orientation=""===ca?"w":ca}if(null==g.doc&&(g.doc=new jsPDF(a.jspdf.orientation,a.jspdf.unit,a.jspdf.format),g.wScaleFactor=1,g.hScaleFactor=1,"function"===typeof a.jspdf.onDocCreated))a.jspdf.onDocCreated(g.doc);!0===g.outputImages&&(g.images={});"undefined"!==typeof g.images&&(c(A).filter(function(){return J(c(this))}).each(function(){var b=0;H=[];!1===a.exportHiddenCells&& +(K=c(this).find("tr, th, td").filter(":hidden"),W=0<K.length);u=x(c(this));t=B(c(this));c(t).each(function(){C(this,"td,th",u.length+b,u.length+t.length,function(a){ya(a,c(a).children(),g)});b++})}),u=[],t=[]);Ma(g,function(){c(A).filter(function(){return J(c(this))}).each(function(){var b;p=0;H=[];!1===a.exportHiddenCells&&(K=c(this).find("tr, th, td").filter(":hidden"),W=0<K.length);U=T(this);g.columns=[];g.rows=[];g.teCells={};if("function"===typeof g.onTable&&!1===g.onTable(c(this),a))return!0; +a.jspdf.autotable.tableExport=null;var d=c.extend(!0,{},a.jspdf.autotable);a.jspdf.autotable.tableExport=g;d.margin={};c.extend(!0,d.margin,a.jspdf.margins);d.tableExport=g;"function"!==typeof d.beforePageContent&&(d.beforePageContent=function(a){if(1===a.pageCount){var b=a.table.rows.concat(a.table.headerRow);c.each(b,function(){0<this.height&&(this.height+=(2-1.15)/2*this.styles.fontSize,a.table.height+=(2-1.15)/2*this.styles.fontSize)})}});"function"!==typeof d.createdHeaderCell&&(d.createdHeaderCell= +function(a,b){a.styles=c.extend({},b.row.styles);if("undefined"!==typeof g.columns[b.column.dataKey]){var e=g.columns[b.column.dataKey];if("undefined"!==typeof e.rect){a.contentWidth=e.rect.width;if("undefined"===typeof g.heightRatio||0===g.heightRatio){var f=b.row.raw[b.column.dataKey].rowspan?b.row.raw[b.column.dataKey].rect.height/b.row.raw[b.column.dataKey].rowspan:b.row.raw[b.column.dataKey].rect.height;g.heightRatio=a.styles.rowHeight/f}f=b.row.raw[b.column.dataKey].rect.height*g.heightRatio; +f>a.styles.rowHeight&&(a.styles.rowHeight=f)}a.styles.halign="inherit"===d.headerStyles.halign?"center":d.headerStyles.halign;a.styles.valign=d.headerStyles.valign;"undefined"!==typeof e.style&&!0!==e.style.hidden&&("inherit"===d.headerStyles.halign&&(a.styles.halign=e.style.align),"inherit"===d.styles.fillColor&&(a.styles.fillColor=e.style.bcolor),"inherit"===d.styles.textColor&&(a.styles.textColor=e.style.color),"inherit"===d.styles.fontStyle&&(a.styles.fontStyle=e.style.fstyle))}});"function"!== +typeof d.createdCell&&(d.createdCell=function(a,b){b=g.teCells[b.row.index+":"+b.column.dataKey];a.styles.halign="inherit"===d.styles.halign?"center":d.styles.halign;a.styles.valign=d.styles.valign;"undefined"!==typeof b&&"undefined"!==typeof b.style&&!0!==b.style.hidden&&("inherit"===d.styles.halign&&(a.styles.halign=b.style.align),"inherit"===d.styles.fillColor&&(a.styles.fillColor=b.style.bcolor),"inherit"===d.styles.textColor&&(a.styles.textColor=b.style.color),"inherit"===d.styles.fontStyle&& +(a.styles.fontStyle=b.style.fstyle))});"function"!==typeof d.drawHeaderCell&&(d.drawHeaderCell=function(a,b){var c=g.columns[b.column.dataKey];return(!0!==c.style.hasOwnProperty("hidden")||!0!==c.style.hidden)&&0<=c.rowIndex?xa(a,b,c):!1});"function"!==typeof d.drawCell&&(d.drawCell=function(a,b){var d=g.teCells[b.row.index+":"+b.column.dataKey];if(!0!==("undefined"!==typeof d&&d.isCanvas))xa(a,b,d)&&(g.doc.rect(a.x,a.y,a.width,a.height,a.styles.fillStyle),"undefined"!==typeof d&&"undefined"!==typeof d.elements&& +d.elements.length?(b=a.height/d.rect.height,b>g.hScaleFactor&&(g.hScaleFactor=b),g.wScaleFactor=a.width/d.rect.width,b=a.textPos.y,Aa(a,d.elements,g),a.textPos.y=b,Ba(a,d.elements,g)):Ba(a,{},g));else{d=d.elements[0];var e=c(d).attr("data-tableexport-canvas"),f=d.getBoundingClientRect();a.width=f.width*g.wScaleFactor;a.height=f.height*g.hScaleFactor;b.row.height=a.height;va(a,d,e,g)}return!1});g.headerrows=[];u=x(c(this));c(u).each(function(){b=0;g.headerrows[p]=[];C(this,"th,td",p,u.length,function(a, +c,d){var e=Ea(a);e.title=F(a,c,d);e.key=b++;e.rowIndex=p;g.headerrows[p].push(e)});p++});if(0<p)for(var e=p-1;0<=e;)c.each(g.headerrows[e],function(){var a=this;0<e&&null===this.rect&&(a=g.headerrows[e-1][this.key]);null!==a&&0<=a.rowIndex&&(!0!==a.style.hasOwnProperty("hidden")||!0!==a.style.hidden)&&g.columns.push(a)}),e=0<g.columns.length?-1:e-1;var h=0;t=[];t=B(c(this));c(t).each(function(){var a=[];b=0;C(this,"td,th",p,u.length+t.length,function(d,e,f){if("undefined"===typeof g.columns[b]){var k= +{title:"",key:b,style:{hidden:!0}};g.columns.push(k)}"undefined"!==typeof d&&null!==d?(k=Ea(d),k.isCanvas=d.hasAttribute("data-tableexport-canvas"),k.elements=k.isCanvas?c(d):c(d).children()):(k=c.extend(!0,{},g.teCells[h+":"+(b-1)]),k.colspan=-1);g.teCells[h+":"+b++]=k;a.push(F(d,e,f))});a.length&&(g.rows.push(a),h++);p++});if("function"===typeof g.onBeforeAutotable)g.onBeforeAutotable(c(this),g.columns,g.rows,d);g.doc.autoTable(g.columns,g.rows,d);if("function"===typeof g.onAfterAutotable)g.onAfterAutotable(c(this), +d);a.jspdf.autotable.startY=g.doc.autoTableEndPosY()+d.margin.top});wa(g.doc,"undefined"!==typeof g.images&&!1===jQuery.isEmptyObject(g.images));"undefined"!==typeof g.headerrows&&(g.headerrows.length=0);"undefined"!==typeof g.columns&&(g.columns.length=0);"undefined"!==typeof g.rows&&(g.rows.length=0);delete g.doc;g.doc=null})}return this}})(jQuery); define("tableexport", ["jquery"], (function (global) { return function () {