From 0ee2b63cecbf422de2d02dd79323269365de4042 Mon Sep 17 00:00:00 2001 From: Catouse Date: Tue, 28 Oct 2014 10:56:17 +0800 Subject: [PATCH] * moved datatable to common. --- module/project/js/task.js | 8 -------- module/project/view/task.html.php | 1 + www/js/datatable/min.css | 6 ++++++ www/js/datatable/min.js | 8 ++++++++ www/js/zui/min.js | 4 ++-- www/theme/zui/css/min.css | 4 ++-- 6 files changed, 19 insertions(+), 12 deletions(-) create mode 100644 www/js/datatable/min.css create mode 100644 www/js/datatable/min.js diff --git a/module/project/js/task.js b/module/project/js/task.js index b9d1352bc2..b0367af308 100644 --- a/module/project/js/task.js +++ b/module/project/js/task.js @@ -6,11 +6,3 @@ $(function() $('#module' + moduleID).addClass('active'); $('#product' + productID).addClass('active'); - -$('table.datatable').datatable({ - customizable: false, - checkable: false, - sortable: false, - fixedLeftWidth: '450px', - fixedRightWidth: '150px' -}); diff --git a/module/project/view/task.html.php b/module/project/view/task.html.php index 7f254eb365..5a54f21d77 100644 --- a/module/project/view/task.html.php +++ b/module/project/view/task.html.php @@ -13,6 +13,7 @@ + diff --git a/www/js/datatable/min.css b/www/js/datatable/min.css new file mode 100644 index 0000000000..a7208d3982 --- /dev/null +++ b/www/js/datatable/min.css @@ -0,0 +1,6 @@ +/*! + * ZUI - v1.2.0 - 2014-10-28 + * http://zui.sexy + * GitHub: https://github.com/easysoft/zui.git + * Copyright (c) 2014 cnezsoft.com; Licensed MIT + */.datatable-head,.datatable-rows{display:table;width:100%;table-layout:fixed}.datatable{margin-bottom:20px}.datatable>.datatable-head{-webkit-transition:-webkit-box-shadow .2s;-o-transition:box-shadow .2s;transition:box-shadow .2s}.datatable .table{margin:0;table-layout:fixed}.datatable .table>tbody>tr>td,.datatable .table>thead>tr>th{min-width:20px}.datatable .table>tbody>tr>td.check-btn,.datatable .table>thead>tr>th.check-btn{width:30px;color:#999;text-align:center;cursor:pointer}.datatable .table>tbody>tr.hover>td.check-btn,.datatable .table>tbody>tr.active>td.check-btn,.datatable .table>thead>tr>th.check-btn:hover,.datatable .table>tbody>tr>td.check-btn:hover,.datatable .table>thead>tr>th.check-btn.checked,.datatable .table>tbody>tr>td.check-btn.checked{color:#4d4d4d}.datatable .table>thead>tr>th.check-btn.checked>.icon-check-empty:before,.datatable .table>tbody>tr>td.check-btn.checked>.icon-check-empty:before,.datatable .table>tbody>tr.active>td.check-btn>.icon-check-empty:before{content:"\e642"}.datatable .table>thead>tr>th.col-hover{background-color:#e2e2e2}.datatable .table>tbody>tr>td.col-hover,.datatable .table>tbody>tr.hover>td{background-color:#ebf2f9}.datatable .table>tbody>tr.active.hover td{background-color:#ffdfb2}.datatable.head-fixed>.datatable-head{position:fixed;z-index:10000;-webkit-box-shadow:0 1px 4px 0 rgba(0,0,0,.15);box-shadow:0 1px 4px 0 rgba(0,0,0,.15)}.datatable.sortable .datatable-head-span .table>thead>tr>th{overflow:hidden;white-space:nowrap;cursor:pointer}.datatable.sortable .datatable-head-span .table>thead>tr>th.text-center{padding-right:0;padding-left:0}.datatable.sortable .datatable-head-span .table>thead>tr>th:after{display:inline-block;margin-left:5px;font-family:ZenIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;color:gray;text-transform:none;content:"\e6bd";speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.datatable.sortable .datatable-head-span .table>thead>tr>th.sort-down:after{color:#145ccd;content:"\e6b8"}.datatable.sortable .datatable-head-span .table>thead>tr>th.sort-up:after{color:#145ccd;content:"\e6b9"}.datatable.sortable .datatable-head-span .table>thead>tr>th.check-btn:after,.datatable.sortable .datatable-head-span .table>thead>tr>th.sort-disabled:after{display:none}.datatable.sortable .datatable-head-span .table>thead>tr>th.sort-disabled{cursor:default}.datatable .size-handle{display:none}.datatable.customizable.size-changing{cursor:e-resize!important}.datatable.customizable .size-handle{position:absolute;top:0;display:block;width:3px;height:100%;cursor:w-resize;border:1px dotted transparent;border-top:none;border-bottom:none;-webkit-transition:all .5s cubic-bezier(.175,.885,.32,1);-o-transition:all .5s cubic-bezier(.175,.885,.32,1);transition:all .5s cubic-bezier(.175,.885,.32,1)}.datatable.customizable .datatable-head-span{position:relative}.datatable.customizable .datatable-head-span.fixed-left .size-handle{right:0}.datatable.customizable .datatable-head-span.fixed-right .size-handle{left:0}.datatable.customizable .datatable-head-span .table>thead>tr>th{position:relative}.datatable.customizable .datatable-head-span .table>thead>tr>th .size-handle{right:0}.datatable.customizable .datatable-head:hover .size-handle{background-color:#fff;border-color:gray}.datatable.customizable.size-changing .table>thead>tr>th,.datatable.customizable.size-changing .table>tbody>tr>td{-webkit-transition:none;-o-transition:none;transition:none}.datatable-wrapper{position:relative}.datatable-span{display:table-cell;vertical-align:top}.datatable-span.flexarea{overflow:hidden}.datatable-span.flexarea.datatable-head-span.dragging{cursor:move!important}.datatable-span.flexarea .table{position:relative;top:0;left:0}.datatable-span.flexarea .scrolled-shadow{position:absolute;top:0;bottom:0;display:none;width:20px;-webkit-box-shadow:0 0 10px rgba(0,0,0,.15);box-shadow:0 0 10px rgba(0,0,0,.15);opacity:0;-webkit-transition:all .5s cubic-bezier(.175,.885,.32,1);-o-transition:all .5s cubic-bezier(.175,.885,.32,1);transition:all .5s cubic-bezier(.175,.885,.32,1)}.datatable-span.flexarea .scrolled-in-shadow{left:-30px}.datatable-span.flexarea .scrolled-out-shadow{right:-30px}.datatable-span.flexarea .scroll-slide{position:absolute;right:-1px;bottom:0;left:-1px;display:none;height:10px;background:#e5e5e5;background:rgba(128,128,128,.1);border:1px solid #e5e5e5;border-bottom:none;opacity:0;-webkit-transition:opacity .5s,background .3s;-o-transition:opacity .5s,background .3s;transition:opacity .5s,background .3s}.datatable-span.flexarea .scroll-slide>.bar{position:absolute;top:0;left:0;min-width:50px;height:9px;background-color:#a6a6a6}.datatable-span.flexarea .scroll-slide:hover>.bar{background-color:gray}.datatable.show-scroll-slide:hover .scroll-slide,.datatable.show-scroll-slide.scrolling .scroll-slide,.datatable.show-scroll-slide:hover .scrolled-shadow,.datatable.show-scroll-slide.scrolling .scrolled-shadow{opacity:1}.datatable.show-scroll-slide .scroll-slide,.datatable.show-scroll-slide .scrolled-shadow{display:block}.datatable.show-scroll-slide.scrolled-in .scrolled-in-shadow{left:-20px}.datatable.show-scroll-slide.scrolled-out .scrolled-out-shadow{right:-20px} \ No newline at end of file diff --git a/www/js/datatable/min.js b/www/js/datatable/min.js new file mode 100644 index 0000000000..598d0f66ca --- /dev/null +++ b/www/js/datatable/min.js @@ -0,0 +1,8 @@ +/*! + * ZUI - v1.2.0 - 2014-10-28 + * http://zui.sexy + * GitHub: https://github.com/easysoft/zui.git + * Copyright (c) 2014 cnezsoft.com; Licensed MIT + */ + ++function(a,b,c,d){"use strict";var e="zui.datatable",f=function(b,c){this.name=e,this.$=a(b),this.isTable="TABLE"===this.$[0].tagName,this.isTable?this.id="datatable-"+(this.$.attr("id")||a.uuid()):(this.$datatable=this.$.addClass("datatable"),this.$.attr("id")?this.id=this.$.attr("id"):(this.id="datatable-"+a.uuid(),this.$.attr("id",this.id))),this.getOptions(c),this.load(),this.render()};f.DEFAULTS={checkable:!1,checkByClickRow:!0,checkedClass:"active",sortable:!1,fixedHeader:!0,fixedHeaderOffset:0,fixedLeftWidth:"30%",fixedRightWidth:"30%",flexHeadDrag:!0,rowHover:!0,colHover:!0,customizable:!1,minColWidth:20,minFixedLeftWidth:200,minFixedRightWidth:200,minFlexAreaWidth:200},f.prototype.getOptions=function(b){var c=this.$,b=a.extend({},f.DEFAULTS,this.$.data(),b);b.tableClass?b.tableClass=" "+b.tableClass:(b.tableClass=" table-datatable",c.hasClass("table-bordered")&&(b.tableClass+=" table-bordered"),(c.hasClass("table-hover")||b.rowHover)&&(b.tableClass+=" table-hover"),c.hasClass("table-striped")&&(b.tableClass+=" table-striped"),c.hasClass("table-condensed")&&(b.tableClass+=" table-condensed"),c.hasClass("table-fixed")&&(b.tableClass+=" table-fixed")),this.options=b},f.prototype.load=function(){var b=this.options.data,c=this.options,d=this.$;if(!b){if(!this.isTable)throw new Error("No data avaliable!");b={cols:[],rows:[]};var e,f,g,h,i=b.cols,j=b.rows;d.find("thead > tr:first").children("th").each(function(){e=a(this),i.push(a.extend({text:e.html(),flex:!1||e.hasClass("flex-col"),width:"auto",cssClass:e.attr("class"),css:e.attr("style"),type:"string",sort:!e.hasClass("sort-disabled")},e.data()))}),d.find("tbody > tr").each(function(){f=a(this),h=a.extend({data:[],checked:!1,cssClass:f.attr("class"),css:f.attr("style"),id:f.attr("id")},f.data()),f.children("td").each(function(){g=a(this),h.data.push(a.extend({cssClass:g.attr("class"),css:g.attr("style"),text:g.html()},g.data()))}),j.push(h)});var k=d.find("tfoot");k.length&&(b.footer=''+a("
").append(k).html()+"
")}b.flexStart=-1,b.flexEnd=-1;var i=b.cols;b.colsLength=i.length;for(var l=0;l=0,b.fixedRight=b.flexEnd>=0&&b.flexEnd0,b.flexStart<0&&b.flexEnd<0&&(b.fixedLeft=!0,b.flexStart=i.length,b.flexEnd=i.length),this.data=b,this.callEvent("afterLoad",{data:b})},f.prototype.html=function(){var b=!a("#"+this.id).empty().length,c="",d=this.options,e=this.data,f=this.data.cols,g="",h="",i="",j=this.data.rows,k='
{1}
{2}
',l='
{1}
{2}
';b?c+='
':this.$datatable.toggleClass("sortable",d.sortable).toggleClass("customizable",d.customizable),c+='
';for(var m,n,o,p=0;p'+n.text+(n.customizable&&p!=e.flexStart-1&&p!=e.flexEnd&&p
':"")+"",0==p&&d.checkable&&(m=''+m),p=e.flexStart&&p<=e.flexEnd?i+=m:p>e.flexEnd&&(h+=m);e.fixedLeft&&(c+=l.format("fixed-left",g,'
')),e.flexArea&&(c+=l.format("flexarea",i,'
')),e.fixedRight&&(c+=l.format("fixed-right",h,'
')),c+="
",c+='
';var q,r,p,s,t,u;g="",h="",i="";for(var v=0;v',g+=q,h+=q,i+=q,p=0;p'+u.text+"",0==p&&d.checkable&&(s=''+s),p=e.flexStart&&p<=e.flexEnd?i+=s:p>e.flexEnd&&(h+=s);g+="",h+="",i+=""}return e.fixedLeft&&(c+=k.format("fixed-left",g,"")),e.flexArea&&(c+=k.format("flexarea",i,'
')),e.fixedRight&&(c+=k.format("fixed-right",h,"")),c+="
",e.footer&&(c+='"),b&&(c+=""),c},f.prototype.render=function(){this.isTable?(this.$.attr("data-datatable-id",this.id).hide(),this.$.after(this.html()),this.$datatable=a("#"+this.id)):this.$.html(this.html()),this.$dataSpans=this.$datatable.children(".datatable-head, .datatable-rows").find(".datatable-span"),this.$rowsSpans=this.$datatable.children(".datatable-rows").children(".datatable-rows-span"),this.$headSpans=this.$datatable.children(".datatable-head").children(".datatable-head-span"),this.$cells=this.$dataSpans.find("td, th"),this.$dataCells=this.$cells.filter("td"),this.$headCells=this.$cells.filter("th"),this.$rows=this.$rowsSpans.find(".table > tbody > tr");var c=this.options,e=this,f=this.data,g=this.$cells,h=this.$dataCells,i=(this.$headCells,this.$datatable);if(c.rowHover){var j="hover";this.$rowsSpans.on("mouseenter","td",function(){h.filter("."+j).removeClass(j),e.$rows.filter("."+j).removeClass(j),e.$rows.filter('[data-index="'+a(this).addClass(j).closest("tr").data("index")+'"]').addClass(j)}).on("mouseleave","td",function(){h.filter("."+j).removeClass(j),e.$rows.filter("."+j).removeClass(j)})}if(c.colHover){var k="col-hover";this.$headSpans.on("mouseenter","th",function(){g.filter("."+k).removeClass(k),g.filter('[data-index="'+a(this).data("index")+'"]').addClass(k)}).on("mouseleave","th",function(){g.filter("."+k).removeClass(k)})}if(this.data.flexArea){var l,m,n,o,p,q,r,s=i.find(".scroll-slide"),t=i.find(".datatable-span.flexarea .table"),u=i.find(".datatable-rows-span.flexarea .table"),v=s.children(".bar"),w=e.id+"_scrollOffset";this.width=i.width(),i.resize(function(){e.width=i.width()});var x=function(a,b){p=d.max(0,d.min(l-m,a)),b||i.addClass("scrolling"),v.css("left",p),r=0-d.floor((n-l)*p/(l-m)),t.css("left",r),o=p,i.toggleClass("scrolled-in",p>2).toggleClass("scrolled-out",l-m-2>p),store.pageSet(w,p)},y=function(){l=s.width(),n=u.width(),m=d.floor(l*l/n),v.css("width",m),u.css("min-width",l),i.toggleClass("show-scroll-slide",n>l),q||l===m||(q=!0,x(store.pageGet(w,0),!0)),i.hasClass("size-changing")&&x(p,!0)};s.resize(y),u.resize(y),y();var z={move:!1,stopPropagation:!0,drag:function(a){x(v.position().left+a.smallOffset.x*(a.element.hasClass("bar")?1:-1))},finish:function(){i.removeClass("scrolling")}};v.draggable(z),c.flexHeadDrag&&i.find(".datatable-head-span.flexarea").draggable(z),s.mousedown(function(a){var b=a.pageX-s.offset().left;x(b-m/2)})}if(c.checkable){var A,B=e.id+"_"+E,C=c.checkedClass,D=function(){var b=e.$rowsSpans.first().find(".table > tbody > tr"),c=b.filter("."+C),d={checkedAll:b.length===c.length&&c.length>0,checks:c.map(function(){return A=a(this).data("id")}).toArray()};a.each(f.rows,function(b,c){c.checked=a.inArray(c.id,d.checks)>-1}),e.$headSpans.find(".check-all").toggleClass("checked",d.checkedAll),store.pageSet(B,d),e.callEvent("checksChanged",{checks:d})};this.$rowsSpans.on("click",c.checkByClickRow?"tr":".check-row",function(){e.$rows.filter('[data-index="'+a(this).closest("tr").data("index")+'"]').toggleClass(C),D()}),this.$headSpans.find(".check-all").click(function(){e.$rows.toggleClass(C,a(this).toggleClass("checked").hasClass("checked")),D()});var E=store.pageGet(B);E&&(this.$headSpans.find(".check-all").toggleClass("checked",E.checkedAll),E.checkedAll?e.$rows.addClass(C):(e.$rows.removeClass(C),a.each(E.checks,function(a,b){e.$rows.filter('[data-id="'+b+'"]').addClass(C)})))}if(c.fixedHeader){var F,G,H,I=i.children(".datatable-head"),J=c.fixedHeaderOffset||a(".navbar.navbar-fixed-top").height()||0,K=function(){F=i.offset().top,H=a(b).scrollTop(),G=i.height(),i.toggleClass("head-fixed",H+J>F&&F+G>H+J),i.hasClass("head-fixed")?I.css({width:i.width(),top:J}):I.attr("style","")};a(b).scroll(K),K()}if(c.sortable){var L;this.$headSpans.on("click","th:not(.sort-disabled, .check-btn)",function(){i.hasClass("size-changing")||e.sortTable(a(this))})}if(c.customizable){var M,L,N,O,P=this.$headSpans.find(".size-handle"),Q=function(a,b){var g={};a.hasClass("size-handle-head")?(M=a.closest(".datatable-head-span").width(),a.hasClass("size-handle-left")?(g.change="fixedLeftWidth",g.oldWidth=e.fixedLeftWidth,e.fixedLeftWidth=d.min(e.width-(e.fixedRightWidth||e.$headSpans.filter(".fixed-right").width())-c.minFlexAreaWidth,d.max(c.minFixedLeftWidth,M+b)),g.newWidth=e.fixedLeftWidth):(g.change="fixedRightWidth",g.oldWidth=e.fixedRightWidth,e.fixedRightWidth=d.min(e.width-(e.fixedLeftWidth||e.$headSpans.filter(".fixed-left").width())-c.minFlexAreaWidth,d.max(c.minFixedRightWidth,M-b)),g.newWidth=e.fixedRightWidth)):(L=a.closest("th"),N=f.cols[L.data("index")],M=N.width,"auto"===M?(a=L.closest(".datatable-head-span"),M=a.width(),a.hasClass("fixed-left")?(g.change="fixedLeftWidth",g.oldWidth=e.fixedLeftWidth,e.fixedLeftWidth=d.min(e.width-(e.fixedRightWidth||e.$headSpans.filter(".fixed-right").width())-c.minFlexAreaWidth,d.max(c.minFixedLeftWidth,M+b)),g.newWidth=e.fixedLeftWidth):a.hasClass("fixed-right")&&(g.change="fixedRightWidth",g.oldWidth=e.fixedRightWidth,e.fixedRightWidth=d.min(e.width-(e.fixedLeftWidth||e.$headSpans.filter(".fixed-left").width())-c.minFlexAreaWidth,d.max(c.minFixedRightWidth,M-b)),g.newWidth=e.fixedRightWidth)):(g.change="colWidth",g.oldWidth=N.width,g.colIndex=N.index,N.width=d.max(c.minColWidth,M+b),g.newWidth=N.width)),e.refreshSize(),e.callEvent("sizeChanged",{changes:g})};P.draggable({move:!1,stopPropagation:!0,before:function(){O=null,i.addClass("size-changing")},drag:function(a){Q(a.element,a.smallOffset.x)},finish:function(){i.removeClass("size-changing")}})}this.refresh(),this.callEvent("ready")},f.prototype.sortTable=function(b){var c=self.id+"_datatableSorter",d=store.pageGet(c);if(b||(b=d?this.$headCells.filter('[data-index="'+d.index+'"]').addClass("sort-"+d.type):this.$headCells.filter(".sort-up, .sort-down").first()),b.length){var e,f,g,h=this.data,i=h.cols,j=h.rows,k=this.$headCells;e=!b.hasClass("sort-up"),k.removeClass("sort-up sort-down"),b.addClass(e?"sort-up":"sort-down"),g=b.data("index"),e=b.hasClass("sort-up"),a.each(i,function(a,b){a==g||"up"!==b.sort&&"down"!==b.sort?a==g&&(b.sort=e?"up":"down",f=b.type):b.sort=!0});var l,m,n,o=this.$dataCells.filter('[data-index="'+g+'"]');j.sort(function(a,b){return a=a.data[g],b=b.data[g],l=o.filter('[data-row="'+a.row+'"]').text(),m=o.filter('[data-row="'+b.row+'"]').text(),"number"===f?(l=parseFloat(l),m=parseFloat(m)):"date"===f?(l=Date.parse(l),m=Date.parse(m)):(l=l.toLowerCase(),m=m.toLowerCase()),n=l>m?1:m>l?-1:0,e&&(n=-1*n),n});var p,q,r,s=this.$rows,t=[];a.each(j,function(b,c){p=s.filter('[data-index="'+c.index+'"]'),p.each(function(b){r=a(this),q=t[b],q?q.after(r):r.parent().prepend(r),t[b]=r})});var d={index:g,type:e?"up":"down"};store.pageSet(c,d),this.callEvent("sort",{sorter:d})}},f.prototype.callEvent=function(a,b){var c=this.$.callEvent(a+"."+this.name,b,this).result;return!(void 0!=c&&!c)},f.prototype.refreshSize=function(){var b=this.$datatable,c=this.options,e=this.data.rows,f=this.data.cols;b.find(".datatable-span.fixed-left").css("width",this.fixedLeftWidth||c.fixedLeftWidth),b.find(".datatable-span.fixed-right").css("width",this.fixedRightWidth||c.fixedRightWidth);for(var g=function(b){var c=0;return b.css("height","auto"),b.each(function(){c=d.max(c,a(this).height())}),c},h=this.$dataCells,i=this.$cells,j=this.$headCells,k=0;ka;)a*=10;return a+d.floor(9999*d.random())},getPropertyCount:function(a){return"object"!=typeof a||null==a?0:Object.getOwnPropertyNames(a).length},callEvent:function(b,c,d){return a.isFunction(b)?("undefined"!=typeof d&&(b=a.proxy(b,d)),c.result=b(c),!(void 0!=c.result&&!c.result)):1},clientLang:function(){var c;if("undefined"!=typeof b.config&&b.config.clientLang)c=b.config.clientLang;else{var d=a("html").attr("lang");c=d?d:navigator.userLanguage||navigator.userLanguage||"zh_cn"}return c.replace("-","_").toLowerCase()}}),a.fn.callEvent=function(b,c,d){var e=a(this),f=b.indexOf(".zui."),g=b;0>f&&d&&d.name?b+="."+d.name:g=b.substring(0,f);{var h=a.Event(b,c);e.trigger(h)}if("undefined"==typeof d&&f>0&&(d=e.data(b.substring(f+1))),d&&d.options){var i=d.options[g];a.isFunction(i)&&a.callEvent(d.options[g],h,d)}return h}}(jQuery,window,document,Math),function(){String.prototype.format=function(a){var b=this;if(arguments.length>0){var c;if(1==arguments.length&&"object"==typeof a)for(var d in a)void 0!=a[d]&&(c=new RegExp("({"+d+"})","g"),b=b.replace(c,a[d]));else for(var e=0;e=0;c--)delete this.page[a[c]];this.set(f,this.page)}},g.prototype.pageRemove=function(a){"undefined"!=typeof this.page[a]&&(this.page[a]=null,this.pageSave())},g.prototype.pageClear=function(){this.page={},this.pageSave()},g.prototype.pageGet=function(a,b){var c=this.page[a];return void 0===b||null!==c&&void 0!==c?c:b},g.prototype.pageSet=function(a,c){b.isPlainObject(a)?b.extend(!0,this.page,a):this.page[this.serialize(a)]=c,this.pageSave()},g.prototype.check=function(){if(!this.enable&&!this.slience)throw new Error("Browser not support localStorage or enable status been set true.");return this.enable},g.prototype.length=function(){return this.check()?d.length:0},g.prototype.removeItem=function(a){d.removeItem(a)},g.prototype.remove=function(a){this.removeItem(a)},g.prototype.getItem=function(a){return d.getItem(a)},g.prototype.get=function(a,b){var c=this.deserialize(this.getItem(a));return void 0===b||null!==c&&void 0!==c?c:b},g.prototype.key=function(a){return d.key(a)},g.prototype.setItem=function(a,b){d.setItem(a,b)},g.prototype.set=function(a,b){return void 0===b?this.remove(a):void this.setItem(a,this.serialize(b))},g.prototype.clear=function(){d.clear()},g.prototype.forEach=function(a){for(var b=0;b .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(window.jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('