aboutsummaryrefslogtreecommitdiffstats
path: root/portal-common/src/main/webapp/common/thirdparty/bootstrap-table
diff options
context:
space:
mode:
Diffstat (limited to 'portal-common/src/main/webapp/common/thirdparty/bootstrap-table')
-rw-r--r--portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table-filter-control.min.js7
-rw-r--r--portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table.css313
-rw-r--r--portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table.js3062
-rw-r--r--portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table.min.css1
-rw-r--r--portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table.min.js8
-rw-r--r--portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap.min.css7
6 files changed, 0 insertions, 3398 deletions
diff --git a/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table-filter-control.min.js b/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table-filter-control.min.js
deleted file mode 100644
index 78dfa703..00000000
--- a/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table-filter-control.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
- * bootstrap-table - v1.11.0 - 2016-07-02
- * https://github.com/wenzhixin/bootstrap-table
- * Copyright (c) 2016 zhixin wen
- * Licensed MIT License
- */
-!function(a){"use strict";var b=a.fn.bootstrapTable.utils.sprintf,c=a.fn.bootstrapTable.utils.objectKeys,d=function(b,c,d){c=a.trim(c),b=a(b.get(b.length-1)),f(b,c)||b.append(a("<option></option>").attr("value",c).text(a("<div />").html(d).text()))},e=function(b){var c=b.find("option:gt(0)");c.sort(function(b,c){return b=a(b).text().toLowerCase(),c=a(c).text().toLowerCase(),a.isNumeric(b)&&a.isNumeric(c)&&(b=parseFloat(b),c=parseFloat(c)),b>c?1:c>b?-1:0}),b.find("option:gt(0)").remove(),b.append(c)},f=function(a,b){for(var c=a.get(a.length-1).options,d=0;d<c.length;d++)if(c[d].value===b.toString())return!0;return!1},g=function(a){a.$tableHeader.css("height","77px")},h=function(a){var b=a.$header;return a.options.height&&(b=a.$tableHeader),b},i=function(a){var b="select, input";return a.options.height&&(b="table select, table input"),b},j=function(b){if(a.fn.bootstrapTable.utils.isIEBrowser()){if(a(b).is("input")){var c=0;if("selectionStart"in b)c=b.selectionStart;else if("selection"in document){b.focus();var d=document.selection.createRange(),e=document.selection.createRange().text.length;d.moveStart("character",-b.value.length),c=d.text.length-e}return c}return-1}return-1},k=function(b,c){a.fn.bootstrapTable.utils.isIEBrowser()&&(void 0!==b.setSelectionRange?b.setSelectionRange(c,c):a(b).val(b.value))},l=function(b){var c=h(b),d=i(b);b.options.valuesFilterControl=[],c.find(d).each(function(){b.options.valuesFilterControl.push({field:a(this).closest("[data-field]").data("field"),value:a(this).val(),position:j(a(this).get(0))})})},m=function(b){var c=null,d=[],e=h(b),f=i(b);b.options.valuesFilterControl.length>0&&e.find(f).each(function(){c=a(this).closest("[data-field]").data("field"),d=a.grep(b.options.valuesFilterControl,function(a){return a.field===c}),d.length>0&&(a(this).val(d[0].value),k(a(this).get(0),d[0].position))})},n=function(){var b=[],c=document.cookie.match(/(?:bs.table.)(\w*)/g);return c?(a.each(c,function(c,d){/./.test(d)&&(d=d.split(".").pop()),-1===a.inArray(d,b)&&b.push(d)}),b):void 0},o=function(b){var c=b.options.data,f=(b.pageTo<b.options.data.length?b.options.data.length:b.pageTo,function(a){return a.filterControl&&"select"===a.filterControl.toLowerCase()&&a.searchable}),g=function(a){return void 0===a.filterData||"column"===a.filterData.toLowerCase()},h=function(a){return a&&a.length>0},i=b.options.pagination?"server"===b.options.sidePagination?b.pageTo:b.options.totalRows:b.pageTo;a.each(b.header.fields,function(j,k){var l=b.columns[a.fn.bootstrapTable.utils.getFieldIndex(b.columns,k)],m=a(".bootstrap-table-filter-control-"+p(l.field));if(f(l)&&g(l)&&h(m)){0===m.get(m.length-1).options.length&&d(m,"","");for(var n={},o=0;i>o;o++){var q=c[o][k],r=a.fn.bootstrapTable.utils.calculateObjectValue(b.header,b.header.formatters[j],[q,c[o],o],q);n[r]=q}for(var s in n)d(m,n[s],s);e(m)}})},p=function(a){return String(a).replace(/(:|\.|\[|\]|,)/g,"\\$1")},q=function(b,c){var f,g,h=!1,i=0;a.each(b.columns,function(i,j){if(f="hidden",g=[],j.visible){if(j.filterControl){g.push('<div style="margin: 0 2px 2px 2px;" class="filterControl">');var k=j.filterControl.toLowerCase();j.searchable&&b.options.filterTemplate[k]&&(h=!0,f="visible",g.push(b.options.filterTemplate[k](b,j.field,f)))}else g.push('<div style="height: 34px;"></div>');if(a.each(c.children().children(),function(b,c){return c=a(c),c.data("field")===j.field?(c.find(".fht-cell").append(g.join("")),!1):void 0}),void 0!==j.filterData&&"column"!==j.filterData.toLowerCase()){var l,m,n=t(s,j.filterData.substring(0,j.filterData.indexOf(":")));if(null===n)throw new SyntaxError('Error. You should use any of these allowed filter data methods: var, json, url. Use like this: var: {key: "value"}');l=j.filterData.substring(j.filterData.indexOf(":")+1,j.filterData.length),m=a(".bootstrap-table-filter-control-"+p(j.field)),d(m,"",""),n(l,m);var o,q;switch(n){case"url":a.ajax({url:l,dataType:"json",success:function(a){for(var b in a)d(m,b,a[b]);e(m)}});break;case"var":o=window[l];for(q in o)d(m,q,o[q]);e(m);break;case"jso":o=JSON.parse(l);for(q in o)d(m,q,o[q]);e(m)}}}}),h?(c.off("keyup","input").on("keyup","input",function(a){clearTimeout(i),i=setTimeout(function(){b.onColumnSearch(a)},b.options.searchTimeOut)}),c.off("change","select").on("change","select",function(a){clearTimeout(i),i=setTimeout(function(){b.onColumnSearch(a)},b.options.searchTimeOut)}),c.off("mouseup","input").on("mouseup","input",function(c){var d=a(this),e=d.val();""!==e&&setTimeout(function(){var a=d.val();""===a&&(clearTimeout(i),i=setTimeout(function(){b.onColumnSearch(c)},b.options.searchTimeOut))},1)}),c.find(".date-filter-control").length>0&&a.each(b.columns,function(b,d){void 0!==d.filterControl&&"datepicker"===d.filterControl.toLowerCase()&&c.find(".date-filter-control.bootstrap-table-filter-control-"+d.field).datepicker(d.filterDatepickerOptions).on("changeDate",function(b){a(b.currentTarget).keyup()})})):c.find(".filterControl").hide()},r=function(a){switch(a=void 0===a?"left":a.toLowerCase()){case"left":return"ltr";case"right":return"rtl";case"auto":return"auto";default:return"ltr"}},s={"var":function(a,b){var c=window[a];for(var f in c)d(b,f,c[f]);e(b)},url:function(b,c){a.ajax({url:b,dataType:"json",success:function(a){for(var b in a)d(c,b,a[b]);e(c)}})},json:function(a,b){var c=JSON.parse(a);for(var f in c)d(b,f,c[f]);e(b)}},t=function(a,b){for(var c=Object.keys(a),d=0;d<c.length;d++)if(c[d]===b)return a[b];return null};a.extend(a.fn.bootstrapTable.defaults,{filterControl:!1,onColumnSearch:function(){return!1},filterShowClear:!1,alignmentSelectControlOptions:void 0,filterTemplate:{input:function(a,c,d){return b('<input type="text" class="form-control bootstrap-table-filter-control-%s" style="width: 100%; visibility: %s">',c,d)},select:function(a,c,d){return b('<select class="form-control bootstrap-table-filter-control-%s" style="width: 100%; visibility: %s" dir="%s"></select>',c,d,r(a.options.alignmentSelectControlOptions))},datepicker:function(a,c,d){return b('<input type="text" class="form-control date-filter-control bootstrap-table-filter-control-%s" style="width: 100%; visibility: %s">',c,d)}},valuesFilterControl:[]}),a.extend(a.fn.bootstrapTable.COLUMN_DEFAULTS,{filterControl:void 0,filterData:void 0,filterDatepickerOptions:void 0,filterStrictSearch:!1,filterStartsWithSearch:!1}),a.extend(a.fn.bootstrapTable.Constructor.EVENTS,{"column-search.bs.table":"onColumnSearch"}),a.extend(a.fn.bootstrapTable.defaults.icons,{clear:"glyphicon-trash icon-clear"}),a.extend(a.fn.bootstrapTable.locales,{formatClearFilters:function(){return"Clear Filters"}}),a.extend(a.fn.bootstrapTable.defaults,a.fn.bootstrapTable.locales);var u=a.fn.bootstrapTable.Constructor,v=u.prototype.init,w=u.prototype.initToolbar,x=u.prototype.initHeader,y=u.prototype.initBody,z=u.prototype.initSearch;u.prototype.init=function(){if(this.options.filterControl){var a=this;Object.keys||c(),this.options.valuesFilterControl=[],this.$el.on("reset-view.bs.table",function(){a.options.height&&(a.$tableHeader.find("select").length>0||a.$tableHeader.find("input").length>0||q(a,a.$tableHeader))}).on("post-header.bs.table",function(){m(a)}).on("post-body.bs.table",function(){a.options.height&&g(a)}).on("column-switch.bs.table",function(){m(a)})}v.apply(this,Array.prototype.slice.apply(arguments))},u.prototype.initToolbar=function(){if(this.showToolbar=this.options.filterControl&&this.options.filterShowClear,w.apply(this,Array.prototype.slice.apply(arguments)),this.options.filterControl&&this.options.filterShowClear){var c=this.$toolbar.find(">.btn-group"),d=c.find(".filter-show-clear");d.length||(d=a(['<button class="btn btn-default filter-show-clear" ',b('type="button" title="%s">',this.options.formatClearFilters()),b('<i class="%s %s"></i> ',this.options.iconsPrefix,this.options.icons.clear),"</button>"].join("")).appendTo(c),d.off("click").on("click",a.proxy(this.clearFilterControl,this)))}},u.prototype.initHeader=function(){x.apply(this,Array.prototype.slice.apply(arguments)),this.options.filterControl&&q(this,this.$header)},u.prototype.initBody=function(){y.apply(this,Array.prototype.slice.apply(arguments)),o(this)},u.prototype.initSearch=function(){if(z.apply(this,Array.prototype.slice.apply(arguments)),"server"!==this.options.sidePagination){var b=this,c=a.isEmptyObject(this.filterColumnsPartial)?null:this.filterColumnsPartial;this.data=c?a.grep(this.data,function(d,e){for(var f in c){var g=b.columns[a.fn.bootstrapTable.utils.getFieldIndex(b.columns,f)],h=c[f].toLowerCase(),i=d[f];if(g&&g.searchFormatter&&(i=a.fn.bootstrapTable.utils.calculateObjectValue(b.header,b.header.formatters[a.inArray(f,b.header.fields)],[i,d,e],i)),g.filterStrictSearch){if(-1===a.inArray(f,b.header.fields)||"string"!=typeof i&&"number"!=typeof i||i.toString().toLowerCase()!==h.toString().toLowerCase())return!1}else if(g.filterStartsWithSearch){if(-1===a.inArray(f,b.header.fields)||"string"!=typeof i&&"number"!=typeof i||0!==(i+"").toLowerCase().indexOf(h))return!1}else if(-1===a.inArray(f,b.header.fields)||"string"!=typeof i&&"number"!=typeof i||-1===(i+"").toLowerCase().indexOf(h))return!1}return!0}):this.data}},u.prototype.initColumnSearch=function(a){if(l(this),a){this.filterColumnsPartial=a,this.updatePagination();for(var b in a)this.trigger("column-search",b,a[b])}},u.prototype.onColumnSearch=function(b){if(!(a.inArray(b.keyCode,[37,38,39,40])>-1)){l(this);var c=a.trim(a(b.currentTarget).val()),d=a(b.currentTarget).closest("[data-field]").data("field");a.isEmptyObject(this.filterColumnsPartial)&&(this.filterColumnsPartial={}),c?this.filterColumnsPartial[d]=c:delete this.filterColumnsPartial[d],this.searchText+="randomText",this.options.pageNumber=1,this.onSearch(b),this.trigger("column-search",d,c)}},u.prototype.clearFilterControl=function(){if(this.options.filterControl&&this.options.filterShowClear){var c=this,d=n(),e=h(c),f=e.closest("table"),g=e.find(i(c)),j=c.$toolbar.find(".search input"),k=0;if(a.each(c.options.valuesFilterControl,function(a,b){b.value=""}),m(c),!(g.length>0))return;if(this.filterColumnsPartial={},a(g[0]).trigger("INPUT"===g[0].tagName?"keyup":"change"),j.length>0&&c.resetSearch(),c.options.sortName!==f.data("sortName")||c.options.sortOrder!==f.data("sortOrder")){var l=e.find(b('[data-field="%s"]',a(g[0]).closest("table").data("sortName")));l.length>0&&(c.onSort(f.data("sortName"),f.data("sortName")),a(l).find(".sortable").trigger("click"))}clearTimeout(k),k=setTimeout(function(){d&&d.length>0&&a.each(d,function(a,b){void 0!==c.deleteCookie&&c.deleteCookie(b)})},c.options.searchTimeOut)}}}(jQuery); \ No newline at end of file
diff --git a/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table.css b/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table.css
deleted file mode 100644
index f6e78873..00000000
--- a/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table.css
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
-* bootstrap-table - v1.11.0 - 2016-07-02
-* https://github.com/wenzhixin/bootstrap-table
-* Copyright (c) 2016 zhixin wen
-* Licensed MIT License
-*/
-.bootstrap-table .table {
- margin-bottom: 0 !important;
- border-bottom: 1px solid #dddddd;
- border-collapse: collapse !important;
- border-radius: 1px;
-}
-
-.bootstrap-table .table:not(.table-condensed),
-.bootstrap-table .table:not(.table-condensed) > tbody > tr > th,
-.bootstrap-table .table:not(.table-condensed) > tfoot > tr > th,
-.bootstrap-table .table:not(.table-condensed) > thead > tr > td,
-.bootstrap-table .table:not(.table-condensed) > tbody > tr > td,
-.bootstrap-table .table:not(.table-condensed) > tfoot > tr > td {
- padding: 8px;
-}
-
-.bootstrap-table .table.table-no-bordered > thead > tr > th,
-.bootstrap-table .table.table-no-bordered > tbody > tr > td {
- border-right: 2px solid transparent;
-}
-
-.bootstrap-table .table.table-no-bordered > tbody > tr > td:last-child {
- border-right: none;
-}
-
-.fixed-table-container {
- position: relative;
- clear: both;
- border: 1px solid #dddddd;
- border-radius: 4px;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
-}
-
-.fixed-table-container.table-no-bordered {
- border: 1px solid transparent;
-}
-
-.fixed-table-footer,
-.fixed-table-header {
- overflow: hidden;
-}
-
-.fixed-table-footer {
- border-top: 1px solid #dddddd;
-}
-
-.fixed-table-body {
- overflow-x: auto;
- overflow-y: auto;
- height: 100%;
-}
-
-.fixed-table-container table {
- width: 100%;
-}
-
-.fixed-table-container thead th {
- height: 0;
- padding: 0;
- margin: 0;
- border-left: 1px solid #dddddd;
-}
-
-.fixed-table-container thead th:focus {
- outline: 0 solid transparent;
-}
-
-.fixed-table-container thead th:first-child {
- border-left: none;
- border-top-left-radius: 4px;
- -webkit-border-top-left-radius: 4px;
- -moz-border-radius-topleft: 4px;
-}
-
-.fixed-table-container thead th .th-inner,
-.fixed-table-container tbody td .th-inner {
- padding: 8px;
- line-height: 24px;
- vertical-align: top;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.fixed-table-container thead th .sortable {
- cursor: pointer;
- background-position: right;
- background-repeat: no-repeat;
- padding-right: 30px;
-}
-
-.fixed-table-container thead th .both {
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC');
-}
-
-.fixed-table-container thead th .asc {
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==');
-}
-
-.fixed-table-container thead th .desc {
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII= ');
-}
-
-.fixed-table-container th.detail {
- width: 30px;
-}
-
-.fixed-table-container tbody td {
- border-left: 1px solid #dddddd;
-}
-
-.fixed-table-container tbody tr:first-child td {
- border-top: none;
-}
-
-.fixed-table-container tbody td:first-child {
- border-left: none;
-}
-
-/* the same color with .active */
-.fixed-table-container tbody .selected td {
- background-color: #f5f5f5;
-}
-
-.fixed-table-container .bs-checkbox {
- text-align: center;
-}
-
-.fixed-table-container .bs-checkbox .th-inner {
- padding: 8px 0;
-}
-
-.fixed-table-container input[type="radio"],
-.fixed-table-container input[type="checkbox"] {
- margin: 0 auto !important;
-}
-
-.fixed-table-container .no-records-found {
- text-align: center;
-}
-
-.fixed-table-pagination div.pagination,
-.fixed-table-pagination .pagination-detail {
- margin-top: 10px;
- margin-bottom: 10px;
-}
-
-.fixed-table-pagination div.pagination .pagination {
- margin: 0;
-}
-
-.fixed-table-pagination .pagination a {
- padding: 6px 12px;
- line-height: 1.428571429;
-}
-
-.fixed-table-pagination .pagination-info {
- line-height: 34px;
- margin-right: 5px;
-}
-
-.fixed-table-pagination .btn-group {
- position: relative;
- display: inline-block;
- vertical-align: middle;
-}
-
-.fixed-table-pagination .dropup .dropdown-menu {
- margin-bottom: 0;
-}
-
-.fixed-table-pagination .page-list {
- display: inline-block;
-}
-
-.fixed-table-toolbar .columns-left {
- margin-right: 5px;
-}
-
-.fixed-table-toolbar .columns-right {
- margin-left: 5px;
-}
-
-.fixed-table-toolbar .columns label {
- display: block;
- padding: 3px 20px;
- clear: both;
- font-weight: normal;
- line-height: 1.428571429;
-}
-
-.fixed-table-toolbar .bs-bars,
-.fixed-table-toolbar .search,
-.fixed-table-toolbar .columns {
- position: relative;
- margin-top: 10px;
- margin-bottom: 10px;
- line-height: 34px;
-}
-
-.fixed-table-pagination li.disabled a {
- pointer-events: none;
- cursor: default;
-}
-
-.fixed-table-loading {
- display: none;
- position: absolute;
- top: 42px;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 99;
- background-color: #fff;
- text-align: center;
-}
-
-.fixed-table-body .card-view .title {
- font-weight: bold;
- display: inline-block;
- min-width: 30%;
- text-align: left !important;
-}
-
-/* support bootstrap 2 */
-.fixed-table-body thead th .th-inner {
- box-sizing: border-box;
-}
-
-.table th, .table td {
- vertical-align: middle;
- box-sizing: border-box;
-}
-
-.fixed-table-toolbar .dropdown-menu {
- text-align: left;
- max-height: 300px;
- overflow: auto;
-}
-
-.fixed-table-toolbar .btn-group > .btn-group {
- display: inline-block;
- margin-left: -1px !important;
-}
-
-.fixed-table-toolbar .btn-group > .btn-group > .btn {
- border-radius: 0;
-}
-
-.fixed-table-toolbar .btn-group > .btn-group:first-child > .btn {
- border-top-left-radius: 4px;
- border-bottom-left-radius: 4px;
-}
-
-.fixed-table-toolbar .btn-group > .btn-group:last-child > .btn {
- border-top-right-radius: 4px;
- border-bottom-right-radius: 4px;
-}
-
-.bootstrap-table .table > thead > tr > th {
- vertical-align: bottom;
- border-bottom: 1px solid #ddd;
-}
-
-/* support bootstrap 3 */
-.bootstrap-table .table thead > tr > th {
- padding: 0;
- margin: 0;
-}
-
-.bootstrap-table .fixed-table-footer tbody > tr > td {
- padding: 0 !important;
-}
-
-.bootstrap-table .fixed-table-footer .table {
- border-bottom: none;
- border-radius: 0;
- padding: 0 !important;
-}
-
-.bootstrap-table .pull-right .dropdown-menu {
- right: 0;
- left: auto;
-}
-
-/* calculate scrollbar width */
-p.fixed-table-scroll-inner {
- width: 100%;
- height: 200px;
-}
-
-div.fixed-table-scroll-outer {
- top: 0;
- left: 0;
- visibility: hidden;
- width: 200px;
- height: 150px;
- overflow: hidden;
-}
-
-/* for get correct heights */
-.fixed-table-toolbar:after, .fixed-table-pagination:after {
- content: "";
- display: block;
- clear: both;
-}
diff --git a/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table.js b/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table.js
deleted file mode 100644
index 9890c65c..00000000
--- a/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table.js
+++ /dev/null
@@ -1,3062 +0,0 @@
-/*
-* bootstrap-table - v1.11.0 - 2016-07-02
-* https://github.com/wenzhixin/bootstrap-table
-* Copyright (c) 2016 zhixin wen
-* Licensed MIT License
-*/
-(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, '&amp;')
- .replace(/</g, '&lt;')
- .replace(/>/g, '&gt;')
- .replace(/"/g, '&quot;')
- .replace(/'/g, '&#039;')
- .replace(/`/g, '&#x60;');
- }
- 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: '&lsaquo;',
- paginationNextText: '&rsaquo;',
- 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
- };
-
- 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),
- "tabindex='0'",
- '>');
-
- html.push(sprintf('<div class="th-inner %s">', that.options.sortable && column.sortable ?
- 'sortable both' : ''));
-
- text = 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" 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" 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" 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" 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>' +
- '<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%s><a href="javascript:void(0)">%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="javascript:void(0)">' + 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="javascript:void(0)">', 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="javascript:void(0)">...</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="javascript:void(0)">', i, '</a>',
- '</li>');
- }
-
- if (this.totalPages >= 8) {
- if (this.options.pageNumber <= (this.totalPages - 4)) {
- html.push('<li class="page-last-separator disabled">',
- '<a href="javascript:void(0)">...</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="javascript:void(0)">', this.totalPages, '</a>',
- '</li>');
- }
- }
-
- html.push(
- '<li class="page-next"><a href="javascript:void(0)">' + 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);
- };
-
- BootstrapTable.prototype.onPageFirst = function (event) {
- this.options.pageNumber = 1;
- this.updatePagination(event);
- };
-
- BootstrapTable.prototype.onPagePre = function (event) {
- if ((this.options.pageNumber - 1) === 0) {
- this.options.pageNumber = this.options.totalPages;
- } else {
- this.options.pageNumber--;
- }
- this.updatePagination(event);
- };
-
- BootstrapTable.prototype.onPageNext = function (event) {
- if ((this.options.pageNumber + 1) > this.options.totalPages) {
- this.options.pageNumber = 1;
- } else {
- this.options.pageNumber++;
- }
- this.updatePagination(event);
- };
-
- BootstrapTable.prototype.onPageLast = function (event) {
- this.options.pageNumber = this.totalPages;
- this.updatePagination(event);
- };
-
- BootstrapTable.prototype.onPageNumber = function (event) {
- if (this.options.pageNumber === +$(event.currentTarget).text()) {
- return;
- }
- this.options.pageNumber = +$(event.currentTarget).text();
- this.updatePagination(event);
- };
-
- 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;
- }
-
- for (var i = this.pageFrom - 1; i < this.pageTo; i++) {
- var key,
- item = data[i],
- style = {},
- csses = [],
- data_ = '',
- attributes = {},
- htmlAttributes = [];
-
- if ($.inArray(item, this.hiddenRows) > -1) {
- continue;
- }
-
- 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="javascript:">',
- 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;
- }
-
- 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>');
- }
-
- // show no records
- if (!html.length) {
- html.push('<tr class="no-records-found">',
- sprintf('<td colspan="%s">%s</td>',
- this.$header.find('th').length, this.options.formatNoMatches()),
- '</tr>');
- }
-
- this.$body.html(html.join(''));
-
- 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));
- $tr.next().remove();
- that.trigger('collapse-row', index, row);
- } 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();
- });
-
- 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];
-
- 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">&nbsp;</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], '&nbsp;') || '&nbsp;');
-
- 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.pageNumber = 1;
- }
- 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);
diff --git a/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table.min.css b/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table.min.css
deleted file mode 100644
index d72d0655..00000000
--- a/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.fixed-table-container .bs-checkbox,.fixed-table-container .no-records-found{text-align:center}.fixed-table-body thead th .th-inner,.table td,.table th{box-sizing:border-box}.bootstrap-table .table{margin-bottom:0!important;border-bottom:1px solid #ddd;border-collapse:collapse!important;border-radius:1px}.bootstrap-table .table:not(.table-condensed),.bootstrap-table .table:not(.table-condensed)>tbody>tr>td,.bootstrap-table .table:not(.table-condensed)>tbody>tr>th,.bootstrap-table .table:not(.table-condensed)>tfoot>tr>td,.bootstrap-table .table:not(.table-condensed)>tfoot>tr>th,.bootstrap-table .table:not(.table-condensed)>thead>tr>td{padding:8px}.bootstrap-table .table.table-no-bordered>tbody>tr>td,.bootstrap-table .table.table-no-bordered>thead>tr>th{border-right:2px solid transparent}.bootstrap-table .table.table-no-bordered>tbody>tr>td:last-child{border-right:none}.fixed-table-container{position:relative;clear:both;border:1px solid #ddd;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.fixed-table-container.table-no-bordered{border:1px solid transparent}.fixed-table-footer,.fixed-table-header{overflow:hidden}.fixed-table-footer{border-top:1px solid #ddd}.fixed-table-body{overflow-x:auto;overflow-y:auto;height:100%}.fixed-table-container table{width:100%}.fixed-table-container thead th{height:0;padding:0;margin:0;border-left:1px solid #ddd}.fixed-table-container thead th:focus{outline:transparent solid 0}.fixed-table-container thead th:first-child{border-left:none;border-top-left-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px}.fixed-table-container tbody td .th-inner,.fixed-table-container thead th .th-inner{padding:8px;line-height:24px;vertical-align:top;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fixed-table-container thead th .sortable{cursor:pointer;background-position:right;background-repeat:no-repeat;padding-right:30px}.fixed-table-container thead th .both{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC')}.fixed-table-container thead th .asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==)}.fixed-table-container thead th .desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII=)}.fixed-table-container th.detail{width:30px}.fixed-table-container tbody td{border-left:1px solid #ddd}.fixed-table-container tbody tr:first-child td{border-top:none}.fixed-table-container tbody td:first-child{border-left:none}.fixed-table-container tbody .selected td{background-color:#f5f5f5}.fixed-table-container .bs-checkbox .th-inner{padding:8px 0}.fixed-table-container input[type=radio],.fixed-table-container input[type=checkbox]{margin:0 auto!important}.fixed-table-pagination .pagination-detail,.fixed-table-pagination div.pagination{margin-top:10px;margin-bottom:10px}.fixed-table-pagination div.pagination .pagination{margin:0}.fixed-table-pagination .pagination a{padding:6px 12px;line-height:1.428571429}.fixed-table-pagination .pagination-info{line-height:34px;margin-right:5px}.fixed-table-pagination .btn-group{position:relative;display:inline-block;vertical-align:middle}.fixed-table-pagination .dropup .dropdown-menu{margin-bottom:0}.fixed-table-pagination .page-list{display:inline-block}.fixed-table-toolbar .columns-left{margin-right:5px}.fixed-table-toolbar .columns-right{margin-left:5px}.fixed-table-toolbar .columns label{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429}.fixed-table-toolbar .bs-bars,.fixed-table-toolbar .columns,.fixed-table-toolbar .search{position:relative;margin-top:10px;margin-bottom:10px;line-height:34px}.fixed-table-pagination li.disabled a{pointer-events:none;cursor:default}.fixed-table-loading{display:none;position:absolute;top:42px;right:0;bottom:0;left:0;z-index:99;background-color:#fff;text-align:center}.fixed-table-body .card-view .title{font-weight:700;display:inline-block;min-width:30%;text-align:left!important}.table td,.table th{vertical-align:middle}.fixed-table-toolbar .dropdown-menu{text-align:left;max-height:300px;overflow:auto}.fixed-table-toolbar .btn-group>.btn-group{display:inline-block;margin-left:-1px!important}.fixed-table-toolbar .btn-group>.btn-group>.btn{border-radius:0}.fixed-table-toolbar .btn-group>.btn-group:first-child>.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.fixed-table-toolbar .btn-group>.btn-group:last-child>.btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.bootstrap-table .table>thead>tr>th{vertical-align:bottom;border-bottom:1px solid #ddd}.bootstrap-table .table thead>tr>th{padding:0;margin:0}.bootstrap-table .fixed-table-footer tbody>tr>td{padding:0!important}.bootstrap-table .fixed-table-footer .table{border-bottom:none;border-radius:0;padding:0!important}.pull-right .dropdown-menu{right:0;left:auto}p.fixed-table-scroll-inner{width:100%;height:200px}div.fixed-table-scroll-outer{top:0;left:0;visibility:hidden;width:200px;height:150px;overflow:hidden} \ No newline at end of file
diff --git a/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table.min.js b/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table.min.js
deleted file mode 100644
index 9dc8ca51..00000000
--- a/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap-table.min.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
-* bootstrap-table - v1.11.0 - 2016-07-02
-* https://github.com/wenzhixin/bootstrap-table
-* Copyright 2016 zhixin wen
-* Licensed MIT License
-*/
-!function(a){"use strict";var b=null,c=function(a){var b=arguments,c=!0,d=1;return a=a.replace(/%s/g,function(){var a=b[d++];return"undefined"==typeof a?(c=!1,""):a}),c?a:""},d=function(b,c,d,e){var f="";return a.each(b,function(a,b){return b[c]===e?(f=b[d],!1):!0}),f},e=function(b,c){var d=-1;return a.each(b,function(a,b){return b.field===c?(d=a,!1):!0}),d},f=function(b){var c,d,e,f=0,g=[];for(c=0;c<b[0].length;c++)f+=b[0][c].colspan||1;for(c=0;c<b.length;c++)for(g[c]=[],d=0;f>d;d++)g[c][d]=!1;for(c=0;c<b.length;c++)for(d=0;d<b[c].length;d++){var h=b[c][d],i=h.rowspan||1,j=h.colspan||1,k=a.inArray(!1,g[c]);for(1===j&&(h.fieldIndex=k,"undefined"==typeof h.field&&(h.field=k)),e=0;i>e;e++)g[c+e][k]=!0;for(e=0;j>e;e++)g[c][k+e]=!0}},g=function(){if(null===b){var c,d,e=a("<p/>").addClass("fixed-table-scroll-inner"),f=a("<div/>").addClass("fixed-table-scroll-outer");f.append(e),a("body").append(f),c=e[0].offsetWidth,f.css("overflow","scroll"),d=e[0].offsetWidth,c===d&&(d=f[0].clientWidth),f.remove(),b=c-d}return b},h=function(b,d,e,f){var g=d;if("string"==typeof d){var h=d.split(".");h.length>1?(g=window,a.each(h,function(a,b){g=g[b]})):g=window[d]}return"object"==typeof g?g:"function"==typeof g?g.apply(b,e):!g&&"string"==typeof d&&c.apply(this,[d].concat(e))?c.apply(this,[d].concat(e)):f},i=function(b,c,d){var e=Object.getOwnPropertyNames(b),f=Object.getOwnPropertyNames(c),g="";if(d&&e.length!==f.length)return!1;for(var h=0;h<e.length;h++)if(g=e[h],a.inArray(g,f)>-1&&b[g]!==c[g])return!1;return!0},j=function(a){return"string"==typeof a?a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/`/g,"&#x60;"):a},k=function(b){var c=0;return b.children().each(function(){c<a(this).outerHeight(!0)&&(c=a(this).outerHeight(!0))}),c},l=function(a){for(var b in a){var c=b.split(/(?=[A-Z])/).join("-").toLowerCase();c!==b&&(a[c]=a[b],delete a[b])}return a},m=function(a,b,c){var d=a;if("string"!=typeof b||a.hasOwnProperty(b))return c?j(a[b]):a[b];var e=b.split(".");for(var f in e)d=d&&d[e[f]];return c?j(d):d},n=function(){return!!(navigator.userAgent.indexOf("MSIE ")>0||navigator.userAgent.match(/Trident.*rv\:11\./))},o=function(){Object.keys||(Object.keys=function(){var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=c.length;return function(e){if("object"!=typeof e&&("function"!=typeof e||null===e))throw new TypeError("Object.keys called on non-object");var f,g,h=[];for(f in e)a.call(e,f)&&h.push(f);if(b)for(g=0;d>g;g++)a.call(e,c[g])&&h.push(c[g]);return h}}())},p=function(b,c){this.options=c,this.$el=a(b),this.$el_=this.$el.clone(),this.timeoutId_=0,this.timeoutFooter_=0,this.init()};p.DEFAULTS={classes:"table table-hover",locale:void 0,height:void 0,undefinedText:"-",sortName:void 0,sortOrder:"asc",sortStable:!1,striped:!1,columns:[[]],data:[],dataField:"rows",method:"get",url:void 0,ajax:void 0,cache:!0,contentType:"application/json",dataType:"json",ajaxOptions:{},queryParams:function(a){return a},queryParamsType:"limit",responseHandler:function(a){return a},pagination:!1,onlyInfoPagination:!1,sidePagination:"client",totalRows:0,pageNumber:1,pageSize:10,pageList:[10,25,50,100],paginationHAlign:"right",paginationVAlign:"bottom",paginationDetailHAlign:"left",paginationPreText:"&lsaquo;",paginationNextText:"&rsaquo;",search:!1,searchOnEnterKey:!1,strictSearch:!1,searchAlign:"right",selectItemName:"btSelectItem",showHeader:!0,showFooter:!1,showColumns:!1,showPaginationSwitch:!1,showRefresh:!1,showToggle:!1,buttonsAlign:"right",smartDisplay:!0,escape:!1,minimumCountColumns:1,idField:void 0,uniqueId:void 0,cardView:!1,detailView:!1,detailFormatter:function(){return""},trimOnSearch:!0,clickToSelect:!1,singleSelect:!1,toolbar:void 0,toolbarAlign:"left",checkboxHeader:!0,sortable:!0,silentSort:!0,maintainSelected:!1,searchTimeOut:500,searchText:"",iconSize:void 0,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:a.noop,customSort:a.noop,rowStyle:function(){return{}},rowAttributes:function(){return{}},footerStyle:function(){return{}},onAll:function(){return!1},onClickCell:function(){return!1},onDblClickCell:function(){return!1},onClickRow:function(){return!1},onDblClickRow:function(){return!1},onSort:function(){return!1},onCheck:function(){return!1},onUncheck:function(){return!1},onCheckAll:function(){return!1},onUncheckAll:function(){return!1},onCheckSome:function(){return!1},onUncheckSome:function(){return!1},onLoadSuccess:function(){return!1},onLoadError:function(){return!1},onColumnSwitch:function(){return!1},onPageChange:function(){return!1},onSearch:function(){return!1},onToggle:function(){return!1},onPreBody:function(){return!1},onPostBody:function(){return!1},onPostHeader:function(){return!1},onExpandRow:function(){return!1},onCollapseRow:function(){return!1},onRefreshOptions:function(){return!1},onRefresh:function(){return!1},onResetView:function(){return!1}},p.LOCALES={},p.LOCALES["en-US"]=p.LOCALES.en={formatLoadingMessage:function(){return"Loading, please wait..."},formatRecordsPerPage:function(a){return c("%s rows per page",a)},formatShowingRows:function(a,b,d){return c("Showing %s to %s of %s rows",a,b,d)},formatDetailPagination:function(a){return c("Showing %s rows",a)},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"}},a.extend(p.DEFAULTS,p.LOCALES["en-US"]),p.COLUMN_DEFAULTS={radio:!1,checkbox:!1,checkboxEnabled:!0,field:void 0,title:void 0,titleTooltip:void 0,"class":void 0,align:void 0,halign:void 0,falign:void 0,valign:void 0,width:void 0,sortable:!1,order:"asc",visible:!0,switchable:!0,clickToSelect:!0,formatter:void 0,footerFormatter:void 0,events:void 0,sorter:void 0,sortName:void 0,cellStyle:void 0,searchable:!0,searchFormatter:!0,cardVisible:!0},p.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"},p.prototype.init=function(){this.initLocale(),this.initContainer(),this.initTable(),this.initHeader(),this.initData(),this.initFooter(),this.initToolbar(),this.initPagination(),this.initBody(),this.initSearchText(),this.initServer()},p.prototype.initLocale=function(){if(this.options.locale){var b=this.options.locale.split(/-|_/);b[0].toLowerCase(),b[1]&&b[1].toUpperCase(),a.fn.bootstrapTable.locales[this.options.locale]?a.extend(this.options,a.fn.bootstrapTable.locales[this.options.locale]):a.fn.bootstrapTable.locales[b.join("-")]?a.extend(this.options,a.fn.bootstrapTable.locales[b.join("-")]):a.fn.bootstrapTable.locales[b[0]]&&a.extend(this.options,a.fn.bootstrapTable.locales[b[0]])}},p.prototype.initContainer=function(){this.$container=a(['<div class="bootstrap-table">','<div class="fixed-table-toolbar"></div>',"top"===this.options.paginationVAlign||"both"===this.options.paginationVAlign?'<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>',"bottom"===this.options.paginationVAlign||"both"===this.options.paginationVAlign?'<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),this.options.striped&&this.$el.addClass("table-striped"),-1!==a.inArray("table-no-bordered",this.options.classes.split(" "))&&this.$tableContainer.addClass("table-no-bordered")},p.prototype.initTable=function(){var b=this,c=[],d=[];if(this.$header=this.$el.find(">thead"),this.$header.length||(this.$header=a("<thead></thead>").appendTo(this.$el)),this.$header.find("tr").each(function(){var b=[];a(this).find("th").each(function(){"undefined"!=typeof a(this).data("field")&&a(this).data("field",a(this).data("field")+""),b.push(a.extend({},{title:a(this).html(),"class":a(this).attr("class"),titleTooltip:a(this).attr("title"),rowspan:a(this).attr("rowspan")?+a(this).attr("rowspan"):void 0,colspan:a(this).attr("colspan")?+a(this).attr("colspan"):void 0},a(this).data()))}),c.push(b)}),a.isArray(this.options.columns[0])||(this.options.columns=[this.options.columns]),this.options.columns=a.extend(!0,[],c,this.options.columns),this.columns=[],f(this.options.columns),a.each(this.options.columns,function(c,d){a.each(d,function(d,e){e=a.extend({},p.COLUMN_DEFAULTS,e),"undefined"!=typeof e.fieldIndex&&(b.columns[e.fieldIndex]=e),b.options.columns[c][d]=e})}),!this.options.data.length){var e=[];this.$el.find(">tbody>tr").each(function(c){var f={};f._id=a(this).attr("id"),f._class=a(this).attr("class"),f._data=l(a(this).data()),a(this).find(">td").each(function(d){for(var g,h,i=a(this),j=+i.attr("colspan")||1,k=+i.attr("rowspan")||1;e[c]&&e[c][d];d++);for(g=d;d+j>g;g++)for(h=c;c+k>h;h++)e[h]||(e[h]=[]),e[h][g]=!0;var m=b.columns[d].field;f[m]=a(this).html(),f["_"+m+"_id"]=a(this).attr("id"),f["_"+m+"_class"]=a(this).attr("class"),f["_"+m+"_rowspan"]=a(this).attr("rowspan"),f["_"+m+"_colspan"]=a(this).attr("colspan"),f["_"+m+"_title"]=a(this).attr("title"),f["_"+m+"_data"]=l(a(this).data())}),d.push(f)}),this.options.data=d,d.length&&(this.fromHtml=!0)}},p.prototype.initHeader=function(){var b=this,d={},e=[];this.header={fields:[],styles:[],classes:[],formatters:[],events:[],sorters:[],sortNames:[],cellStyles:[],searchables:[]},a.each(this.options.columns,function(f,g){e.push("<tr>"),0===f&&!b.options.cardView&&b.options.detailView&&e.push(c('<th class="detail" rowspan="%s"><div class="fht-cell"></div></th>',b.options.columns.length)),a.each(g,function(a,f){var g="",h="",i="",j="",k=c(' class="%s"',f["class"]),l=(b.options.sortOrder||f.order,"px"),m=f.width;if(void 0===f.width||b.options.cardView||"string"==typeof f.width&&-1!==f.width.indexOf("%")&&(l="%"),f.width&&"string"==typeof f.width&&(m=f.width.replace("%","").replace("px","")),h=c("text-align: %s; ",f.halign?f.halign:f.align),i=c("text-align: %s; ",f.align),j=c("vertical-align: %s; ",f.valign),j+=c("width: %s; ",!f.checkbox&&!f.radio||m?m?m+l:void 0:"36px"),"undefined"!=typeof f.fieldIndex){if(b.header.fields[f.fieldIndex]=f.field,b.header.styles[f.fieldIndex]=i+j,b.header.classes[f.fieldIndex]=k,b.header.formatters[f.fieldIndex]=f.formatter,b.header.events[f.fieldIndex]=f.events,b.header.sorters[f.fieldIndex]=f.sorter,b.header.sortNames[f.fieldIndex]=f.sortName,b.header.cellStyles[f.fieldIndex]=f.cellStyle,b.header.searchables[f.fieldIndex]=f.searchable,!f.visible)return;if(b.options.cardView&&!f.cardVisible)return;d[f.field]=f}e.push("<th"+c(' title="%s"',f.titleTooltip),f.checkbox||f.radio?c(' class="bs-checkbox %s"',f["class"]||""):k,c(' style="%s"',h+j),c(' rowspan="%s"',f.rowspan),c(' colspan="%s"',f.colspan),c(' data-field="%s"',f.field),"tabindex='0'",">"),e.push(c('<div class="th-inner %s">',b.options.sortable&&f.sortable?"sortable both":"")),g=f.title,f.checkbox&&(!b.options.singleSelect&&b.options.checkboxHeader&&(g='<input name="btSelectAll" type="checkbox" />'),b.header.stateField=f.field),f.radio&&(g="",b.header.stateField=f.field,b.options.singleSelect=!0),e.push(g),e.push("</div>"),e.push('<div class="fht-cell"></div>'),e.push("</div>"),e.push("</th>")}),e.push("</tr>")}),this.$header.html(e.join("")),this.$header.find("th[data-field]").each(function(){a(this).data(d[a(this).data("field")])}),this.$container.off("click",".th-inner").on("click",".th-inner",function(c){var d=a(this);return b.options.detailView&&d.closest(".bootstrap-table")[0]!==b.$container[0]?!1:void(b.options.sortable&&d.parent().data().sortable&&b.onSort(c))}),this.$header.children().children().off("keypress").on("keypress",function(c){if(b.options.sortable&&a(this).data().sortable){var d=c.keyCode||c.which;13==d&&b.onSort(c)}}),a(window).off("resize.bootstrap-table"),!this.options.showHeader||this.options.cardView?(this.$header.hide(),this.$tableHeader.hide(),this.$tableLoading.css("top",0)):(this.$header.show(),this.$tableHeader.show(),this.$tableLoading.css("top",this.$header.outerHeight()+1),this.getCaret(),a(window).on("resize.bootstrap-table",a.proxy(this.resetWidth,this))),this.$selectAll=this.$header.find('[name="btSelectAll"]'),this.$selectAll.off("click").on("click",function(){var c=a(this).prop("checked");b[c?"checkAll":"uncheckAll"](),b.updateSelected()})},p.prototype.initFooter=function(){!this.options.showFooter||this.options.cardView?this.$tableFooter.hide():this.$tableFooter.show()},p.prototype.initData=function(a,b){this.data="append"===b?this.data.concat(a):"prepend"===b?[].concat(a).concat(this.data):a||this.options.data,this.options.data="append"===b?this.options.data.concat(a):"prepend"===b?[].concat(a).concat(this.options.data):this.data,"server"!==this.options.sidePagination&&this.initSort()},p.prototype.initSort=function(){var b=this,c=this.options.sortName,d="desc"===this.options.sortOrder?-1:1,e=a.inArray(this.options.sortName,this.header.fields);return this.options.customSort!==a.noop?void this.options.customSort.apply(this,[this.options.sortName,this.options.sortOrder]):void(-1!==e&&(this.options.sortStable&&a.each(this.data,function(a,b){b.hasOwnProperty("_position")||(b._position=a)}),this.data.sort(function(f,g){b.header.sortNames[e]&&(c=b.header.sortNames[e]);var i=m(f,c,b.options.escape),j=m(g,c,b.options.escape),k=h(b.header,b.header.sorters[e],[i,j]);return void 0!==k?d*k:((void 0===i||null===i)&&(i=""),(void 0===j||null===j)&&(j=""),b.options.sortStable&&i===j&&(i=f._position,j=g._position),a.isNumeric(i)&&a.isNumeric(j)?(i=parseFloat(i),j=parseFloat(j),j>i?-1*d:d):i===j?0:("string"!=typeof i&&(i=i.toString()),-1===i.localeCompare(j)?-1*d:d))})))},p.prototype.onSort=function(b){var c="keypress"===b.type?a(b.currentTarget):a(b.currentTarget).parent(),d=this.$header.find("th").eq(c.index());return this.$header.add(this.$header_).find("span.order").remove(),this.options.sortName===c.data("field")?this.options.sortOrder="asc"===this.options.sortOrder?"desc":"asc":(this.options.sortName=c.data("field"),this.options.sortOrder="asc"===c.data("order")?"desc":"asc"),this.trigger("sort",this.options.sortName,this.options.sortOrder),c.add(d).data("order",this.options.sortOrder),this.getCaret(),"server"===this.options.sidePagination?void this.initServer(this.options.silentSort):(this.initSort(),void this.initBody())},p.prototype.initToolbar=function(){var b,d,e=this,f=[],g=0,i=0;this.$toolbar.find(".bs-bars").children().length&&a("body").append(a(this.options.toolbar)),this.$toolbar.html(""),("string"==typeof this.options.toolbar||"object"==typeof this.options.toolbar)&&a(c('<div class="bs-bars pull-%s"></div>',this.options.toolbarAlign)).appendTo(this.$toolbar).append(a(this.options.toolbar)),f=[c('<div class="columns columns-%s btn-group pull-%s">',this.options.buttonsAlign,this.options.buttonsAlign)],"string"==typeof this.options.icons&&(this.options.icons=h(null,this.options.icons)),this.options.showPaginationSwitch&&f.push(c('<button class="btn'+c(" btn-%s",this.options.buttonsClass)+c(" btn-%s",this.options.iconSize)+'" type="button" name="paginationSwitch" title="%s">',this.options.formatPaginationSwitch()),c('<i class="%s %s"></i>',this.options.iconsPrefix,this.options.icons.paginationSwitchDown),"</button>"),this.options.showRefresh&&f.push(c('<button class="btn'+c(" btn-%s",this.options.buttonsClass)+c(" btn-%s",this.options.iconSize)+'" type="button" name="refresh" title="%s">',this.options.formatRefresh()),c('<i class="%s %s"></i>',this.options.iconsPrefix,this.options.icons.refresh),"</button>"),this.options.showToggle&&f.push(c('<button class="btn'+c(" btn-%s",this.options.buttonsClass)+c(" btn-%s",this.options.iconSize)+'" type="button" name="toggle" title="%s">',this.options.formatToggle()),c('<i class="%s %s"></i>',this.options.iconsPrefix,this.options.icons.toggle),"</button>"),this.options.showColumns&&(f.push(c('<div class="keep-open btn-group" title="%s">',this.options.formatColumns()),'<button type="button" class="btn'+c(" btn-%s",this.options.buttonsClass)+c(" btn-%s",this.options.iconSize)+' dropdown-toggle" data-toggle="dropdown">',c('<i class="%s %s"></i>',this.options.iconsPrefix,this.options.icons.columns),' <span class="caret"></span>',"</button>",'<ul class="dropdown-menu" role="menu">'),a.each(this.columns,function(a,b){if(!(b.radio||b.checkbox||e.options.cardView&&!b.cardVisible)){var d=b.visible?' checked="checked"':"";b.switchable&&(f.push(c('<li><label><input type="checkbox" data-field="%s" value="%s"%s> %s</label></li>',b.field,a,d,b.title)),i++)}}),f.push("</ul>","</div>")),f.push("</div>"),(this.showToolbar||f.length>2)&&this.$toolbar.append(f.join("")),this.options.showPaginationSwitch&&this.$toolbar.find('button[name="paginationSwitch"]').off("click").on("click",a.proxy(this.togglePagination,this)),this.options.showRefresh&&this.$toolbar.find('button[name="refresh"]').off("click").on("click",a.proxy(this.refresh,this)),this.options.showToggle&&this.$toolbar.find('button[name="toggle"]').off("click").on("click",function(){e.toggleView()}),this.options.showColumns&&(b=this.$toolbar.find(".keep-open"),i<=this.options.minimumCountColumns&&b.find("input").prop("disabled",!0),b.find("li").off("click").on("click",function(a){a.stopImmediatePropagation()}),b.find("input").off("click").on("click",function(){var b=a(this);e.toggleColumn(a(this).val(),b.prop("checked"),!1),e.trigger("column-switch",a(this).data("field"),b.prop("checked"))})),this.options.search&&(f=[],f.push('<div class="pull-'+this.options.searchAlign+' search">',c('<input class="form-control'+c(" input-%s",this.options.iconSize)+'" type="text" placeholder="%s">',this.options.formatSearch()),"</div>"),this.$toolbar.append(f.join("")),d=this.$toolbar.find(".search input"),d.off("keyup drop").on("keyup drop",function(b){e.options.searchOnEnterKey&&13!==b.keyCode||a.inArray(b.keyCode,[37,38,39,40])>-1||(clearTimeout(g),g=setTimeout(function(){e.onSearch(b)},e.options.searchTimeOut))}),n()&&d.off("mouseup").on("mouseup",function(a){clearTimeout(g),g=setTimeout(function(){e.onSearch(a)},e.options.searchTimeOut)}))},p.prototype.onSearch=function(b){var c=a.trim(a(b.currentTarget).val());this.options.trimOnSearch&&a(b.currentTarget).val()!==c&&a(b.currentTarget).val(c),c!==this.searchText&&(this.searchText=c,this.options.searchText=c,this.options.pageNumber=1,this.initSearch(),this.updatePagination(),this.trigger("search",c))},p.prototype.initSearch=function(){var b=this;if("server"!==this.options.sidePagination){if(this.options.customSearch!==a.noop)return void this.options.customSearch.apply(this,[this.searchText]);var c=this.searchText&&(this.options.escape?j(this.searchText):this.searchText).toLowerCase(),d=a.isEmptyObject(this.filterColumns)?null:this.filterColumns;this.data=d?a.grep(this.options.data,function(b){for(var c in d)if(a.isArray(d[c])&&-1===a.inArray(b[c],d[c])||b[c]!==d[c])return!1;return!0}):this.options.data,this.data=c?a.grep(this.data,function(d,f){for(var g=0;g<b.header.fields.length;g++)if(b.header.searchables[g]){var i,j=a.isNumeric(b.header.fields[g])?parseInt(b.header.fields[g],10):b.header.fields[g],k=b.columns[e(b.columns,j)];if("string"==typeof j){i=d;for(var l=j.split("."),m=0;m<l.length;m++)i=i[l[m]];k&&k.searchFormatter&&(i=h(k,b.header.formatters[g],[i,d,f],i))}else i=d[j];if("string"==typeof i||"number"==typeof i)if(b.options.strictSearch){if((i+"").toLowerCase()===c)return!0}else if(-1!==(i+"").toLowerCase().indexOf(c))return!0}return!1}):this.data}},p.prototype.initPagination=function(){if(!this.options.pagination)return void this.$pagination.hide();this.$pagination.show();var b,d,e,f,g,h,i,j,k,l=this,m=[],n=!1,o=this.getData(),p=this.options.pageList;if("server"!==this.options.sidePagination&&(this.options.totalRows=o.length),this.totalPages=0,this.options.totalRows){if(this.options.pageSize===this.options.formatAllRows())this.options.pageSize=this.options.totalRows,n=!0;else if(this.options.pageSize===this.options.totalRows){var q="string"==typeof this.options.pageList?this.options.pageList.replace("[","").replace("]","").replace(/ /g,"").toLowerCase().split(","):this.options.pageList;a.inArray(this.options.formatAllRows().toLowerCase(),q)>-1&&(n=!0)}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,this.pageTo>this.options.totalRows&&(this.pageTo=this.options.totalRows),m.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>"),!this.options.onlyInfoPagination){m.push('<span class="page-list">');var r=[c('<span class="btn-group %s">',"top"===this.options.paginationVAlign||"both"===this.options.paginationVAlign?"dropdown":"dropup"),'<button type="button" class="btn'+c(" btn-%s",this.options.buttonsClass)+c(" btn-%s",this.options.iconSize)+' dropdown-toggle" data-toggle="dropdown">','<span class="page-size">',n?this.options.formatAllRows():this.options.pageSize,"</span>",' <span class="caret"></span>',"</button>",'<ul class="dropdown-menu" role="menu">'];if("string"==typeof this.options.pageList){var s=this.options.pageList.replace("[","").replace("]","").replace(/ /g,"").split(",");p=[],a.each(s,function(a,b){p.push(b.toUpperCase()===l.options.formatAllRows().toUpperCase()?l.options.formatAllRows():+b)})}for(a.each(p,function(a,b){if(!l.options.smartDisplay||0===a||p[a-1]<=l.options.totalRows){var d;d=n?b===l.options.formatAllRows()?' class="active"':"":b===l.options.pageSize?' class="active"':"",r.push(c('<li%s><a href="javascript:void(0)">%s</a></li>',d,b))}}),r.push("</ul></span>"),m.push(this.options.formatRecordsPerPage(r.join(""))),m.push("</span>"),m.push("</div>",'<div class="pull-'+this.options.paginationHAlign+' pagination">','<ul class="pagination'+c(" pagination-%s",this.options.iconSize)+'">','<li class="page-pre"><a href="javascript:void(0)">'+this.options.paginationPreText+"</a></li>"),this.totalPages<5?(d=1,e=this.totalPages):(d=this.options.pageNumber-2,e=d+4,1>d&&(d=1,e=5),e>this.totalPages&&(e=this.totalPages,d=e-4)),this.totalPages>=6&&(this.options.pageNumber>=3&&(m.push('<li class="page-first'+(1===this.options.pageNumber?" active":"")+'">','<a href="javascript:void(0)">',1,"</a>","</li>"),d++),this.options.pageNumber>=4&&(4==this.options.pageNumber||6==this.totalPages||7==this.totalPages?d--:m.push('<li class="page-first-separator disabled">','<a href="javascript:void(0)">...</a>',"</li>"),e--)),this.totalPages>=7&&this.options.pageNumber>=this.totalPages-2&&d--,6==this.totalPages?this.options.pageNumber>=this.totalPages-2&&e++:this.totalPages>=7&&(7==this.totalPages||this.options.pageNumber>=this.totalPages-3)&&e++,b=d;e>=b;b++)m.push('<li class="page-number'+(b===this.options.pageNumber?" active":"")+'">','<a href="javascript:void(0)">',b,"</a>","</li>");this.totalPages>=8&&this.options.pageNumber<=this.totalPages-4&&m.push('<li class="page-last-separator disabled">','<a href="javascript:void(0)">...</a>',"</li>"),this.totalPages>=6&&this.options.pageNumber<=this.totalPages-3&&m.push('<li class="page-last'+(this.totalPages===this.options.pageNumber?" active":"")+'">','<a href="javascript:void(0)">',this.totalPages,"</a>","</li>"),m.push('<li class="page-next"><a href="javascript:void(0)">'+this.options.paginationNextText+"</a></li>","</ul>","</div>")}this.$pagination.html(m.join("")),this.options.onlyInfoPagination||(f=this.$pagination.find(".page-list a"),g=this.$pagination.find(".page-first"),h=this.$pagination.find(".page-pre"),i=this.$pagination.find(".page-next"),j=this.$pagination.find(".page-last"),k=this.$pagination.find(".page-number"),this.options.smartDisplay&&(this.totalPages<=1&&this.$pagination.find("div.pagination").hide(),(p.length<2||this.options.totalRows<=p[0])&&this.$pagination.find("span.page-list").hide(),this.$pagination[this.getData().length?"show":"hide"]()),n&&(this.options.pageSize=this.options.formatAllRows()),f.off("click").on("click",a.proxy(this.onPageListChange,this)),g.off("click").on("click",a.proxy(this.onPageFirst,this)),h.off("click").on("click",a.proxy(this.onPagePre,this)),i.off("click").on("click",a.proxy(this.onPageNext,this)),j.off("click").on("click",a.proxy(this.onPageLast,this)),k.off("click").on("click",a.proxy(this.onPageNumber,this)))},p.prototype.updatePagination=function(b){b&&a(b.currentTarget).hasClass("disabled")||(this.options.maintainSelected||this.resetRows(),this.initPagination(),"server"===this.options.sidePagination?this.initServer():this.initBody(),this.trigger("page-change",this.options.pageNumber,this.options.pageSize))},p.prototype.onPageListChange=function(b){var c=a(b.currentTarget);c.parent().addClass("active").siblings().removeClass("active"),this.options.pageSize=c.text().toUpperCase()===this.options.formatAllRows().toUpperCase()?this.options.formatAllRows():+c.text(),this.$toolbar.find(".page-size").text(this.options.pageSize),this.updatePagination(b)},p.prototype.onPageFirst=function(a){this.options.pageNumber=1,this.updatePagination(a)},p.prototype.onPagePre=function(a){this.options.pageNumber-1===0?this.options.pageNumber=this.options.totalPages:this.options.pageNumber--,this.updatePagination(a)},p.prototype.onPageNext=function(a){this.options.pageNumber+1>this.options.totalPages?this.options.pageNumber=1:this.options.pageNumber++,this.updatePagination(a)},p.prototype.onPageLast=function(a){this.options.pageNumber=this.totalPages,this.updatePagination(a)},p.prototype.onPageNumber=function(b){this.options.pageNumber!==+a(b.currentTarget).text()&&(this.options.pageNumber=+a(b.currentTarget).text(),this.updatePagination(b))},p.prototype.initBody=function(b){var f=this,g=[],i=this.getData();this.trigger("pre-body",i),this.$body=this.$el.find(">tbody"),this.$body.length||(this.$body=a("<tbody></tbody>").appendTo(this.$el)),this.options.pagination&&"server"!==this.options.sidePagination||(this.pageFrom=1,this.pageTo=i.length);for(var k=this.pageFrom-1;k<this.pageTo;k++){var l,n=i[k],o={},p=[],q="",r={},s=[];if(o=h(this.options,this.options.rowStyle,[n,k],o),o&&o.css)for(l in o.css)p.push(l+": "+o.css[l]);if(r=h(this.options,this.options.rowAttributes,[n,k],r))for(l in r)s.push(c('%s="%s"',l,j(r[l])));n._data&&!a.isEmptyObject(n._data)&&a.each(n._data,function(a,b){"index"!==a&&(q+=c(' data-%s="%s"',a,b))}),g.push("<tr",c(" %s",s.join(" ")),c(' id="%s"',a.isArray(n)?void 0:n._id),c(' class="%s"',o.classes||(a.isArray(n)?void 0:n._class)),c(' data-index="%s"',k),c(' data-uniqueid="%s"',n[this.options.uniqueId]),c("%s",q),">"),this.options.cardView&&g.push(c('<td colspan="%s"><div class="card-views">',this.header.fields.length)),!this.options.cardView&&this.options.detailView&&g.push("<td>",'<a class="detail-icon" href="javascript:">',c('<i class="%s %s"></i>',this.options.iconsPrefix,this.options.icons.detailOpen),"</a>","</td>"),a.each(this.header.fields,function(b,e){var i="",j=m(n,e,f.options.escape),l="",q={},r="",s=f.header.classes[b],t="",u="",v="",w="",x=f.columns[b];if(!(f.fromHtml&&"undefined"==typeof j||!x.visible||f.options.cardView&&!x.cardVisible)){if(o=c('style="%s"',p.concat(f.header.styles[b]).join("; ")),n["_"+e+"_id"]&&(r=c(' id="%s"',n["_"+e+"_id"])),n["_"+e+"_class"]&&(s=c(' class="%s"',n["_"+e+"_class"])),n["_"+e+"_rowspan"]&&(u=c(' rowspan="%s"',n["_"+e+"_rowspan"])),n["_"+e+"_colspan"]&&(v=c(' colspan="%s"',n["_"+e+"_colspan"])),n["_"+e+"_title"]&&(w=c(' title="%s"',n["_"+e+"_title"])),q=h(f.header,f.header.cellStyles[b],[j,n,k,e],q),q.classes&&(s=c(' class="%s"',q.classes)),q.css){var y=[];for(var z in q.css)y.push(z+": "+q.css[z]);o=c('style="%s"',y.concat(f.header.styles[b]).join("; "))}j=h(x,f.header.formatters[b],[j,n,k],j),n["_"+e+"_data"]&&!a.isEmptyObject(n["_"+e+"_data"])&&a.each(n["_"+e+"_data"],function(a,b){"index"!==a&&(t+=c(' data-%s="%s"',a,b))}),x.checkbox||x.radio?(l=x.checkbox?"checkbox":l,l=x.radio?"radio":l,i=[c(f.options.cardView?'<div class="card-view %s">':'<td class="bs-checkbox %s">',x["class"]||""),"<input"+c(' data-index="%s"',k)+c(' name="%s"',f.options.selectItemName)+c(' type="%s"',l)+c(' value="%s"',n[f.options.idField])+c(' checked="%s"',j===!0||j&&j.checked?"checked":void 0)+c(' disabled="%s"',!x.checkboxEnabled||j&&j.disabled?"disabled":void 0)+" />",f.header.formatters[b]&&"string"==typeof j?j:"",f.options.cardView?"</div>":"</td>"].join(""),n[f.header.stateField]=j===!0||j&&j.checked):(j="undefined"==typeof j||null===j?f.options.undefinedText:j,i=f.options.cardView?['<div class="card-view">',f.options.showHeader?c('<span class="title" %s>%s</span>',o,d(f.columns,"field","title",e)):"",c('<span class="value">%s</span>',j),"</div>"].join(""):[c("<td%s %s %s %s %s %s %s>",r,s,o,t,u,v,w),j,"</td>"].join(""),f.options.cardView&&f.options.smartDisplay&&""===j&&(i='<div class="card-view"></div>')),g.push(i)}}),this.options.cardView&&g.push("</div></td>"),g.push("</tr>")}g.length||g.push('<tr class="no-records-found">',c('<td colspan="%s">%s</td>',this.$header.find("th").length,this.options.formatNoMatches()),"</tr>"),this.$body.html(g.join("")),b||this.scrollTo(0),this.$body.find("> tr[data-index] > td").off("click dblclick").on("click dblclick",function(b){var d=a(this),g=d.parent(),h=f.data[g.data("index")],i=d[0].cellIndex,j=f.getVisibleFields(),k=j[f.options.detailView&&!f.options.cardView?i-1:i],l=f.columns[e(f.columns,k)],n=m(h,k,f.options.escape);if(!d.find(".detail-icon").length&&(f.trigger("click"===b.type?"click-cell":"dbl-click-cell",k,n,h,d),f.trigger("click"===b.type?"click-row":"dbl-click-row",h,g,k),
-"click"===b.type&&f.options.clickToSelect&&l.clickToSelect)){var o=g.find(c('[name="%s"]',f.options.selectItemName));o.length&&o[0].click()}}),this.$body.find("> tr[data-index] > td > .detail-icon").off("click").on("click",function(){var b=a(this),d=b.parent().parent(),e=d.data("index"),g=i[e];if(d.next().is("tr.detail-view"))b.find("i").attr("class",c("%s %s",f.options.iconsPrefix,f.options.icons.detailOpen)),d.next().remove(),f.trigger("collapse-row",e,g);else{b.find("i").attr("class",c("%s %s",f.options.iconsPrefix,f.options.icons.detailClose)),d.after(c('<tr class="detail-view"><td colspan="%s"></td></tr>',d.find("td").length));var j=d.next().find("td"),k=h(f.options,f.options.detailFormatter,[e,g,j],"");1===j.length&&j.append(k),f.trigger("expand-row",e,g,j)}f.resetView()}),this.$selectItem=this.$body.find(c('[name="%s"]',this.options.selectItemName)),this.$selectItem.off("click").on("click",function(b){b.stopImmediatePropagation();var c=a(this),d=c.prop("checked"),e=f.data[c.data("index")];f.options.maintainSelected&&a(this).is(":radio")&&a.each(f.options.data,function(a,b){b[f.header.stateField]=!1}),e[f.header.stateField]=d,f.options.singleSelect&&(f.$selectItem.not(this).each(function(){f.data[a(this).data("index")][f.header.stateField]=!1}),f.$selectItem.filter(":checked").not(this).prop("checked",!1)),f.updateSelected(),f.trigger(d?"check":"uncheck",e,c)}),a.each(this.header.events,function(b,c){if(c){"string"==typeof c&&(c=h(null,c));var d=f.header.fields[b],e=a.inArray(d,f.getVisibleFields());f.options.detailView&&!f.options.cardView&&(e+=1);for(var g in c)f.$body.find(">tr:not(.no-records-found)").each(function(){var b=a(this),h=b.find(f.options.cardView?".card-view":"td").eq(e),i=g.indexOf(" "),j=g.substring(0,i),k=g.substring(i+1),l=c[g];h.find(k).off(j).on(j,function(a){var c=b.data("index"),e=f.data[c],g=e[d];l.apply(this,[a,g,e,c])})})}}),this.updateSelected(),this.resetView(),this.trigger("post-body",i)},p.prototype.initServer=function(b,c,d){var e,f=this,g={},i={searchText:this.searchText,sortName:this.options.sortName,sortOrder:this.options.sortOrder};this.options.pagination&&(i.pageSize=this.options.pageSize===this.options.formatAllRows()?this.options.totalRows:this.options.pageSize,i.pageNumber=this.options.pageNumber),(d||this.options.url||this.options.ajax)&&("limit"===this.options.queryParamsType&&(i={search:i.searchText,sort:i.sortName,order:i.sortOrder},this.options.pagination&&(i.offset=this.options.pageSize===this.options.formatAllRows()?0:this.options.pageSize*(this.options.pageNumber-1),i.limit=this.options.pageSize===this.options.formatAllRows()?this.options.totalRows:this.options.pageSize)),a.isEmptyObject(this.filterColumnsPartial)||(i.filter=JSON.stringify(this.filterColumnsPartial,null)),g=h(this.options,this.options.queryParams,[i],g),a.extend(g,c||{}),g!==!1&&(b||this.$tableLoading.show(),e=a.extend({},h(null,this.options.ajaxOptions),{type:this.options.method,url:d||this.options.url,data:"application/json"===this.options.contentType&&"post"===this.options.method?JSON.stringify(g):g,cache:this.options.cache,contentType:this.options.contentType,dataType:this.options.dataType,success:function(a){a=h(f.options,f.options.responseHandler,[a],a),f.load(a),f.trigger("load-success",a),b||f.$tableLoading.hide()},error:function(a){f.trigger("load-error",a.status,a),b||f.$tableLoading.hide()}}),this.options.ajax?h(this,this.options.ajax,[e],null):(this._xhr&&4!==this._xhr.readyState&&this._xhr.abort(),this._xhr=a.ajax(e))))},p.prototype.initSearchText=function(){if(this.options.search&&""!==this.options.searchText){var a=this.$toolbar.find(".search input");a.val(this.options.searchText),this.onSearch({currentTarget:a})}},p.prototype.getCaret=function(){var b=this;a.each(this.$header.find("th"),function(c,d){a(d).find(".sortable").removeClass("desc asc").addClass(a(d).data("field")===b.options.sortName?b.options.sortOrder:"both")})},p.prototype.updateSelected=function(){var b=this.$selectItem.filter(":enabled").length&&this.$selectItem.filter(":enabled").length===this.$selectItem.filter(":enabled").filter(":checked").length;this.$selectAll.add(this.$selectAll_).prop("checked",b),this.$selectItem.each(function(){a(this).closest("tr")[a(this).prop("checked")?"addClass":"removeClass"]("selected")})},p.prototype.updateRows=function(){var b=this;this.$selectItem.each(function(){b.data[a(this).data("index")][b.header.stateField]=a(this).prop("checked")})},p.prototype.resetRows=function(){var b=this;a.each(this.data,function(a,c){b.$selectAll.prop("checked",!1),b.$selectItem.prop("checked",!1),b.header.stateField&&(c[b.header.stateField]=!1)})},p.prototype.trigger=function(b){var c=Array.prototype.slice.call(arguments,1);b+=".bs.table",this.options[p.EVENTS[b]].apply(this.options,c),this.$el.trigger(a.Event(b),c),this.options.onAll(b,c),this.$el.trigger(a.Event("all.bs.table"),[b,c])},p.prototype.resetHeader=function(){clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(a.proxy(this.fitHeader,this),this.$el.is(":hidden")?100:0)},p.prototype.fitHeader=function(){var b,d,e,f,h=this;if(h.$el.is(":hidden"))return void(h.timeoutId_=setTimeout(a.proxy(h.fitHeader,h),100));if(b=this.$tableBody.get(0),d=b.scrollWidth>b.clientWidth&&b.scrollHeight>b.clientHeight+this.$header.outerHeight()?g():0,this.$el.css("margin-top",-this.$header.outerHeight()),e=a(":focus"),e.length>0){var i=e.parents("th");if(i.length>0){var j=i.attr("data-field");if(void 0!==j){var k=this.$header.find("[data-field='"+j+"']");k.length>0&&k.find(":input").addClass("focus-temp")}}}this.$header_=this.$header.clone(!0,!0),this.$selectAll_=this.$header_.find('[name="btSelectAll"]'),this.$tableHeader.css({"margin-right":d}).find("table").css("width",this.$el.outerWidth()).html("").attr("class",this.$el.attr("class")).append(this.$header_),f=a(".focus-temp:visible:eq(0)"),f.length>0&&(f.focus(),this.$header.find(".focus-temp").removeClass("focus-temp")),this.$header.find("th[data-field]").each(function(){h.$header_.find(c('th[data-field="%s"]',a(this).data("field"))).data(a(this).data())});var l=this.getVisibleFields(),m=this.$header_.find("th");this.$body.find(">tr:first-child:not(.no-records-found) > *").each(function(b){var d=a(this),e=b;h.options.detailView&&!h.options.cardView&&(0===b&&h.$header_.find("th.detail").find(".fht-cell").width(d.innerWidth()),e=b-1);var f=h.$header_.find(c('th[data-field="%s"]',l[e]));f.length>1&&(f=a(m[d[0].cellIndex])),f.find(".fht-cell").width(d.innerWidth())}),this.$tableBody.off("scroll").on("scroll",function(){h.$tableHeader.scrollLeft(a(this).scrollLeft()),h.options.showFooter&&!h.options.cardView&&h.$tableFooter.scrollLeft(a(this).scrollLeft())}),h.trigger("post-header")},p.prototype.resetFooter=function(){var b=this,d=b.getData(),e=[];this.options.showFooter&&!this.options.cardView&&(!this.options.cardView&&this.options.detailView&&e.push('<td><div class="th-inner">&nbsp;</div><div class="fht-cell"></div></td>'),a.each(this.columns,function(a,f){var g,i="",j="",k=[],l={},m=c(' class="%s"',f["class"]);if(f.visible&&(!b.options.cardView||f.cardVisible)){if(i=c("text-align: %s; ",f.falign?f.falign:f.align),j=c("vertical-align: %s; ",f.valign),l=h(null,b.options.footerStyle),l&&l.css)for(g in l.css)k.push(g+": "+l.css[g]);e.push("<td",m,c(' style="%s"',i+j+k.concat().join("; ")),">"),e.push('<div class="th-inner">'),e.push(h(f,f.footerFormatter,[d],"&nbsp;")||"&nbsp;"),e.push("</div>"),e.push('<div class="fht-cell"></div>'),e.push("</div>"),e.push("</td>")}}),this.$tableFooter.find("tr").html(e.join("")),this.$tableFooter.show(),clearTimeout(this.timeoutFooter_),this.timeoutFooter_=setTimeout(a.proxy(this.fitFooter,this),this.$el.is(":hidden")?100:0))},p.prototype.fitFooter=function(){var b,c,d;return clearTimeout(this.timeoutFooter_),this.$el.is(":hidden")?void(this.timeoutFooter_=setTimeout(a.proxy(this.fitFooter,this),100)):(c=this.$el.css("width"),d=c>this.$tableBody.width()?g():0,this.$tableFooter.css({"margin-right":d}).find("table").css("width",c).attr("class",this.$el.attr("class")),b=this.$tableFooter.find("td"),void this.$body.find(">tr:first-child:not(.no-records-found) > *").each(function(c){var d=a(this);b.eq(c).find(".fht-cell").width(d.innerWidth())}))},p.prototype.toggleColumn=function(a,b,d){if(-1!==a&&(this.columns[a].visible=b,this.initHeader(),this.initSearch(),this.initPagination(),this.initBody(),this.options.showColumns)){var e=this.$toolbar.find(".keep-open input").prop("disabled",!1);d&&e.filter(c('[value="%s"]',a)).prop("checked",b),e.filter(":checked").length<=this.options.minimumCountColumns&&e.filter(":checked").prop("disabled",!0)}},p.prototype.toggleRow=function(a,b,d){-1!==a&&this.$body.find("undefined"!=typeof a?c('tr[data-index="%s"]',a):c('tr[data-uniqueid="%s"]',b))[d?"show":"hide"]()},p.prototype.getVisibleFields=function(){var b=this,c=[];return a.each(this.header.fields,function(a,d){var f=b.columns[e(b.columns,d)];f.visible&&c.push(d)}),c},p.prototype.resetView=function(a){var b=0;if(a&&a.height&&(this.options.height=a.height),this.$selectAll.prop("checked",this.$selectItem.length>0&&this.$selectItem.length===this.$selectItem.filter(":checked").length),this.options.height){var c=k(this.$toolbar),d=k(this.$pagination),e=this.options.height-c-d;this.$tableContainer.css("height",e+"px")}return this.options.cardView?(this.$el.css("margin-top","0"),this.$tableContainer.css("padding-bottom","0"),void this.$tableFooter.hide()):(this.options.showHeader&&this.options.height?(this.$tableHeader.show(),this.resetHeader(),b+=this.$header.outerHeight()):(this.$tableHeader.hide(),this.trigger("post-header")),this.options.showFooter&&(this.resetFooter(),this.options.height&&(b+=this.$tableFooter.outerHeight()+1)),this.getCaret(),this.$tableContainer.css("padding-bottom",b+"px"),void this.trigger("reset-view"))},p.prototype.getData=function(b){return!this.searchText&&a.isEmptyObject(this.filterColumns)&&a.isEmptyObject(this.filterColumnsPartial)?b?this.options.data.slice(this.pageFrom-1,this.pageTo):this.options.data:b?this.data.slice(this.pageFrom-1,this.pageTo):this.data},p.prototype.load=function(b){var c=!1;"server"===this.options.sidePagination?(this.options.totalRows=b.total,c=b.fixedScroll,b=b[this.options.dataField]):a.isArray(b)||(c=b.fixedScroll,b=b.data),this.initData(b),this.initSearch(),this.initPagination(),this.initBody(c)},p.prototype.append=function(a){this.initData(a,"append"),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0)},p.prototype.prepend=function(a){this.initData(a,"prepend"),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0)},p.prototype.remove=function(b){var c,d,e=this.options.data.length;if(b.hasOwnProperty("field")&&b.hasOwnProperty("values")){for(c=e-1;c>=0;c--)d=this.options.data[c],d.hasOwnProperty(b.field)&&-1!==a.inArray(d[b.field],b.values)&&this.options.data.splice(c,1);e!==this.options.data.length&&(this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0))}},p.prototype.removeAll=function(){this.options.data.length>0&&(this.options.data.splice(0,this.options.data.length),this.initSearch(),this.initPagination(),this.initBody(!0))},p.prototype.getRowByUniqueId=function(a){var b,c,d,e=this.options.uniqueId,f=this.options.data.length,g=null;for(b=f-1;b>=0;b--){if(c=this.options.data[b],c.hasOwnProperty(e))d=c[e];else{if(!c._data.hasOwnProperty(e))continue;d=c._data[e]}if("string"==typeof d?a=a.toString():"number"==typeof d&&(Number(d)===d&&d%1===0?a=parseInt(a):d===Number(d)&&0!==d&&(a=parseFloat(a))),d===a){g=c;break}}return g},p.prototype.removeByUniqueId=function(a){var b=this.options.data.length,c=this.getRowByUniqueId(a);c&&this.options.data.splice(this.options.data.indexOf(c),1),b!==this.options.data.length&&(this.initSearch(),this.initPagination(),this.initBody(!0))},p.prototype.updateByUniqueId=function(b){var c=this,d=a.isArray(b)?b:[b];a.each(d,function(b,d){var e;d.hasOwnProperty("id")&&d.hasOwnProperty("row")&&(e=a.inArray(c.getRowByUniqueId(d.id),c.options.data),-1!==e&&a.extend(c.options.data[e],d.row))}),this.initSearch(),this.initSort(),this.initBody(!0)},p.prototype.insertRow=function(a){a.hasOwnProperty("index")&&a.hasOwnProperty("row")&&(this.data.splice(a.index,0,a.row),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0))},p.prototype.updateRow=function(b){var c=this,d=a.isArray(b)?b:[b];a.each(d,function(b,d){d.hasOwnProperty("index")&&d.hasOwnProperty("row")&&a.extend(c.options.data[d.index],d.row)}),this.initSearch(),this.initSort(),this.initBody(!0)},p.prototype.showRow=function(a){(a.hasOwnProperty("index")||a.hasOwnProperty("uniqueId"))&&this.toggleRow(a.index,a.uniqueId,!0)},p.prototype.hideRow=function(a){(a.hasOwnProperty("index")||a.hasOwnProperty("uniqueId"))&&this.toggleRow(a.index,a.uniqueId,!1)},p.prototype.getRowsHidden=function(b){var c=a(this.$body[0]).children().filter(":hidden"),d=0;if(b)for(;d<c.length;d++)a(c[d]).show();return c},p.prototype.mergeCells=function(b){var c,d,e,f=b.index,g=a.inArray(b.field,this.getVisibleFields()),h=b.rowspan||1,i=b.colspan||1,j=this.$body.find(">tr");if(this.options.detailView&&!this.options.cardView&&(g+=1),e=j.eq(f).find(">td").eq(g),!(0>f||0>g||f>=this.data.length)){for(c=f;f+h>c;c++)for(d=g;g+i>d;d++)j.eq(c).find(">td").eq(d).hide();e.attr("rowspan",h).attr("colspan",i).show()}},p.prototype.updateCell=function(a){a.hasOwnProperty("index")&&a.hasOwnProperty("field")&&a.hasOwnProperty("value")&&(this.data[a.index][a.field]=a.value,a.reinit!==!1&&(this.initSort(),this.initBody(!0)))},p.prototype.getOptions=function(){return this.options},p.prototype.getSelections=function(){var b=this;return a.grep(this.options.data,function(a){return a[b.header.stateField]})},p.prototype.getAllSelections=function(){var b=this;return a.grep(this.options.data,function(a){return a[b.header.stateField]})},p.prototype.checkAll=function(){this.checkAll_(!0)},p.prototype.uncheckAll=function(){this.checkAll_(!1)},p.prototype.checkInvert=function(){var b=this,c=b.$selectItem.filter(":enabled"),d=c.filter(":checked");c.each(function(){a(this).prop("checked",!a(this).prop("checked"))}),b.updateRows(),b.updateSelected(),b.trigger("uncheck-some",d),d=b.getSelections(),b.trigger("check-some",d)},p.prototype.checkAll_=function(a){var b;a||(b=this.getSelections()),this.$selectAll.add(this.$selectAll_).prop("checked",a),this.$selectItem.filter(":enabled").prop("checked",a),this.updateRows(),a&&(b=this.getSelections()),this.trigger(a?"check-all":"uncheck-all",b)},p.prototype.check=function(a){this.check_(!0,a)},p.prototype.uncheck=function(a){this.check_(!1,a)},p.prototype.check_=function(a,b){var d=this.$selectItem.filter(c('[data-index="%s"]',b)).prop("checked",a);this.data[b][this.header.stateField]=a,this.updateSelected(),this.trigger(a?"check":"uncheck",this.data[b],d)},p.prototype.checkBy=function(a){this.checkBy_(!0,a)},p.prototype.uncheckBy=function(a){this.checkBy_(!1,a)},p.prototype.checkBy_=function(b,d){if(d.hasOwnProperty("field")&&d.hasOwnProperty("values")){var e=this,f=[];a.each(this.options.data,function(g,h){if(!h.hasOwnProperty(d.field))return!1;if(-1!==a.inArray(h[d.field],d.values)){var i=e.$selectItem.filter(":enabled").filter(c('[data-index="%s"]',g)).prop("checked",b);h[e.header.stateField]=b,f.push(h),e.trigger(b?"check":"uncheck",h,i)}}),this.updateSelected(),this.trigger(b?"check-some":"uncheck-some",f)}},p.prototype.destroy=function(){this.$el.insertBefore(this.$container),a(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")||"")},p.prototype.showLoading=function(){this.$tableLoading.show()},p.prototype.hideLoading=function(){this.$tableLoading.hide()},p.prototype.togglePagination=function(){this.options.pagination=!this.options.pagination;var a=this.$toolbar.find('button[name="paginationSwitch"] i');this.options.pagination?a.attr("class",this.options.iconsPrefix+" "+this.options.icons.paginationSwitchDown):a.attr("class",this.options.iconsPrefix+" "+this.options.icons.paginationSwitchUp),this.updatePagination()},p.prototype.refresh=function(a){a&&a.url&&(this.options.pageNumber=1),this.initServer(a&&a.silent,a&&a.query,a&&a.url),this.trigger("refresh",a)},p.prototype.resetWidth=function(){this.options.showHeader&&this.options.height&&this.fitHeader(),this.options.showFooter&&this.fitFooter()},p.prototype.showColumn=function(a){this.toggleColumn(e(this.columns,a),!0,!0)},p.prototype.hideColumn=function(a){this.toggleColumn(e(this.columns,a),!1,!0)},p.prototype.getHiddenColumns=function(){return a.grep(this.columns,function(a){return!a.visible})},p.prototype.getVisibleColumns=function(){return a.grep(this.columns,function(a){return a.visible})},p.prototype.toggleAllColumns=function(b){if(a.each(this.columns,function(a){this.columns[a].visible=b}),this.initHeader(),this.initSearch(),this.initPagination(),this.initBody(),this.options.showColumns){var c=this.$toolbar.find(".keep-open input").prop("disabled",!1);c.filter(":checked").length<=this.options.minimumCountColumns&&c.filter(":checked").prop("disabled",!0)}},p.prototype.showAllColumns=function(){this.toggleAllColumns(!0)},p.prototype.hideAllColumns=function(){this.toggleAllColumns(!1)},p.prototype.filterBy=function(b){this.filterColumns=a.isEmptyObject(b)?{}:b,this.options.pageNumber=1,this.initSearch(),this.updatePagination()},p.prototype.scrollTo=function(a){return"string"==typeof a&&(a="bottom"===a?this.$tableBody[0].scrollHeight:0),"number"==typeof a&&this.$tableBody.scrollTop(a),"undefined"==typeof a?this.$tableBody.scrollTop():void 0},p.prototype.getScrollPosition=function(){return this.scrollTo()},p.prototype.selectPage=function(a){a>0&&a<=this.options.totalPages&&(this.options.pageNumber=a,this.updatePagination())},p.prototype.prevPage=function(){this.options.pageNumber>1&&(this.options.pageNumber--,this.updatePagination())},p.prototype.nextPage=function(){this.options.pageNumber<this.options.totalPages&&(this.options.pageNumber++,this.updatePagination())},p.prototype.toggleView=function(){this.options.cardView=!this.options.cardView,this.initHeader(),this.initBody(),this.trigger("toggle",this.options.cardView)},p.prototype.refreshOptions=function(b){i(this.options,b,!0)||(this.options=a.extend(this.options,b),this.trigger("refresh-options",this.options),this.destroy(),this.init())},p.prototype.resetSearch=function(a){var b=this.$toolbar.find(".search input");b.val(a||""),this.onSearch({currentTarget:b})},p.prototype.expandRow_=function(a,b){var d=this.$body.find(c('> tr[data-index="%s"]',b));d.next().is("tr.detail-view")===(a?!1:!0)&&d.find("> td > .detail-icon").click()},p.prototype.expandRow=function(a){this.expandRow_(!0,a)},p.prototype.collapseRow=function(a){this.expandRow_(!1,a)},p.prototype.expandAllRows=function(b){if(b){var d=this.$body.find(c('> tr[data-index="%s"]',0)),e=this,f=null,g=!1,h=-1;if(d.next().is("tr.detail-view")?d.next().next().is("tr.detail-view")||(d.next().find(".detail-icon").click(),g=!0):(d.find("> td > .detail-icon").click(),g=!0),g)try{h=setInterval(function(){f=e.$body.find("tr.detail-view").last().find(".detail-icon"),f.length>0?f.click():clearInterval(h)},1)}catch(i){clearInterval(h)}}else for(var j=this.$body.children(),k=0;k<j.length;k++)this.expandRow_(!0,a(j[k]).data("index"))},p.prototype.collapseAllRows=function(b){if(b)this.expandRow_(!1,0);else for(var c=this.$body.children(),d=0;d<c.length;d++)this.expandRow_(!1,a(c[d]).data("index"))},p.prototype.updateFormatText=function(a,b){this.options[c("format%s",a)]&&("string"==typeof b?this.options[c("format%s",a)]=function(){return b}:"function"==typeof b&&(this.options[c("format%s",a)]=b)),this.initToolbar(),this.initPagination(),this.initBody()};var q=["getOptions","getSelections","getAllSelections","getData","load","append","prepend","remove","removeAll","insertRow","updateRow","updateCell","updateByUniqueId","removeByUniqueId","getRowByUniqueId","showRow","hideRow","getRowsHidden","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"];a.fn.bootstrapTable=function(b){var c,d=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=a(this),f=e.data("bootstrap.table"),g=a.extend({},p.DEFAULTS,e.data(),"object"==typeof b&&b);if("string"==typeof b){if(a.inArray(b,q)<0)throw new Error("Unknown method: "+b);if(!f)return;c=f[b].apply(f,d),"destroy"===b&&e.removeData("bootstrap.table")}f||e.data("bootstrap.table",f=new p(this,g))}),"undefined"==typeof c?this:c},a.fn.bootstrapTable.Constructor=p,a.fn.bootstrapTable.defaults=p.DEFAULTS,a.fn.bootstrapTable.columnDefaults=p.COLUMN_DEFAULTS,a.fn.bootstrapTable.locales=p.LOCALES,a.fn.bootstrapTable.methods=q,a.fn.bootstrapTable.utils={sprintf:c,getFieldIndex:e,compareObjects:i,calculateObjectValue:h,getItemField:m,objectKeys:o,isIEBrowser:n},a(function(){a('[data-toggle="table"]').bootstrapTable()})}(jQuery); \ No newline at end of file
diff --git a/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap.min.css b/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap.min.css
deleted file mode 100644
index 0ed4ee27..00000000
--- a/portal-common/src/main/webapp/common/thirdparty/bootstrap-table/bootstrap.min.css
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v3.1.1 (http://getbootstrap.com)
- * Copyright 2011-2014 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-
-/*! normalize.css v3.0.0 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@media print{*{text-shadow:none!important;color:#000!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#999}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-muted{color:#999}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#999}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;white-space:nowrap;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:0}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:0}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date]{line-height:34px}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:20px;margin-top:10px;margin-bottom:10px;padding-left:20px}.radio label,.checkbox label{display:inline;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.has-feedback .form-control-feedback{position:absolute;top:25px;right:0;display:block;width:34px;height:34px;line-height:34px;text-align:center}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{float:none;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#428bca;font-weight:400;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#999}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{float:none;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#428bca;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:gray}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#999;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px;overflow:hidden}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:auto;overflow-y:scroll;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{margin-top:15px;padding:19px 20px 20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file