diff --git a/www/js/zui/kanban/min.css b/www/js/zui/kanban/min.css index 8ad90d1e07..317afde6ea 100644 --- a/www/js/zui/kanban/min.css +++ b/www/js/zui/kanban/min.css @@ -3,4 +3,4 @@ * http://openzui.com * GitHub: https://github.com/easysoft/zui.git * Copyright (c) 2021 cnezsoft.com; Licensed MIT - */.kanban{min-height:300px}.kanban-header{background-color:rgba(0,0,0,.07)}.use-flex .kanban-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-direction:row;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.kanban-col{min-width:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.no-flex .kanban-col{float:left}.kanban-col+.kanban-col{border-left:2px solid #fff}.kanban-header-col{position:relative}.kanban-header-col>.title>.icon{display:inline-block}.kanban-header-col>.title>.text{display:inline-block;margin:0 5px;overflow:hidden;font-weight:700;text-overflow:clip;white-space:nowrap}.kanban-header-col>.title>.count{display:inline-block;color:#8b91a2}.kanban-affixed .kanban-header-col>.title>.count{color:#ededed}.use-flex .kanban-header-col{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:0;min-height:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0 30px;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row}.use-flex .kanban-header-col>.title{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-width:100%;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;-webkit-box-flex:1;-webkit-flex:auto;-ms-flex:auto;flex:auto;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.no-flex .kanban-header-col>.title{position:absolute;top:50%;right:30px;left:30px;margin-top:-10px;line-height:20px;text-align:center;white-space:nowrap}.kanban-header-col>.actions{position:absolute;top:0;right:0}.kanban-header-col>.actions>.btn{min-width:32px}.kanban-header-col>.actions>.btn>.icon{opacity:.5}.use-flex .kanban-header-parent-col{padding:0;flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.use-flex .kanban-header-parent-col>.kanban-header-col,.use-flex .kanban-header-parent-col>.kanban-header-sub-cols{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.kanban-header-sub-cols{margin-top:-1px;margin-left:-2px;border-top:2px solid #fff}.use-flex .kanban-header-sub-cols{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-direction:row;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row}.use-flex .kanban-header-sub-cols>.kanban-col{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.no-flex .kanban-header-sub-cols{display:table;table-layout:fixed}.no-flex .kanban-header-sub-cols>.kanban-col{width:50%}.kanban-col:first-child>.kanban-header-sub-cols{margin-left:0}.kanban-lane,.kanban-sub-lane{position:relative;background-color:#f1f3f5}.use-flex .kanban-lane,.use-flex .kanban-sub-lane{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:0;flex-direction:row;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.kanban-lane+.kanban-lane{margin-top:2px}.kanban-lane>*{opacity:1;-webkit-transition:opacity .1s;-o-transition:opacity .1s;transition:opacity .1s}.kanban-lane.virtual-pending>*{opacity:0}.kanban-lane .has-sub-lane{background:0 0}.kanban-sub-lane{-webkit-box-flex:1;-webkit-flex:auto;-ms-flex:auto;flex:auto}.kanban-lane-name{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:20px;overflow:hidden;color:#fff;text-align:center;background-color:#3dc6fd;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-flex:0;-webkit-flex:none;-ms-flex:none;flex:none}.kanban-lane-name>.text{position:absolute;top:5px;right:1px;bottom:5px;display:block;overflow:hidden;line-height:20px;text-align:center;white-space:normal;-webkit-writing-mode:tb-rl;-ms-writing-mode:tb-rl;writing-mode:tb-rl;-webkit-writing-mode:vertical-rl;writing-mode:vertical-rl}.no-flex .kanban-lane-name{position:absolute;top:0;bottom:0;left:0}.use-flex .kanban-sub-lanes{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-direction:column;-webkit-box-flex:1;-webkit-flex:auto;-ms-flex:auto;flex:auto;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:stretch;-webkit-justify-content:stretch;-ms-flex-pack:stretch;justify-content:stretch;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column}.kanban-sub-lanes.no-sub-lane{background-color:#f1f3f5}.kanban-dragging .kanban-lane-col{-webkit-transition:-webkit-box-shadow .1s;-o-transition:box-shadow .1s;transition:-webkit-box-shadow .1s;transition:box-shadow .1s;transition:box-shadow .1s,-webkit-box-shadow .1s}.kanban-lane-col.drop-target{-webkit-box-shadow:inset 0 0 0 3px rgba(255,152,0,.25);box-shadow:inset 0 0 0 3px rgba(255,152,0,.25)}.kanban-lane-col.drop-to{-webkit-box-shadow:inset 0 0 1px 4px rgba(255,152,0,.75);box-shadow:inset 0 0 1px 4px rgba(255,152,0,.75)}.kanban-lane-col.drop-to .kanban-lane-actions>.btn{background-color:rgba(255,152,0,.25);border:1px dotted #ff9800}.kanban-lane-col.drop-to .kanban-lane-actions>.btn>span{opacity:0}.kanban-lane-col[data-type=EMPTY]{background-color:#fff}.kanban-lane-items{max-height:100%;overflow:auto}.kanban-lane-actions{padding:10px 15px}.kanban-item{padding:8px 10px;margin:10px;background:#fff;border:1px solid #fff;border-radius:4px;-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);-webkit-transition:-webkit-box-shadow .2s,-webkit-transform .2s;-o-transition:box-shadow .2s,-o-transform .2s;transition:-webkit-box-shadow .2s,-webkit-transform .2s;transition:box-shadow .2s,transform .2s;transition:box-shadow .2s,transform .2s,-webkit-box-shadow .2s,-webkit-transform .2s,-o-transform .2s}.kanban-item.drag-from{background-color:#aaa;opacity:.2}.kanban-item:hover{border-color:rgba(0,0,0,.1);-webkit-box-shadow:0 4px 10px 0 rgba(0,0,0,.09);box-shadow:0 4px 10px 0 rgba(0,0,0,.09)}.kanban-item.drag-shadow{z-index:10;border-color:rgba(0,0,0,.2);-webkit-box-shadow:0 4px 10px 0 rgba(0,0,0,.05),0 4px 20px 0 rgba(0,0,0,.3);box-shadow:0 4px 10px 0 rgba(0,0,0,.05),0 4px 20px 0 rgba(0,0,0,.3);-webkit-transition:-webkit-box-shadow .2s,-webkit-transform .4s!important;-o-transition:box-shadow .2s,-o-transform .4s!important;transition:-webkit-box-shadow .2s,-webkit-transform .4s!important;transition:box-shadow .2s,transform .4s!important;transition:box-shadow .2s,transform .4s,-webkit-box-shadow .2s,-webkit-transform .4s,-o-transform .4s!important}.kanban-item.drag-shadow.in{-webkit-transform:scale(1.1) rotate(5deg);-ms-transform:scale(1.1) rotate(5deg);-o-transform:scale(1.1) rotate(5deg);transform:scale(1.1) rotate(5deg)}.kanban-dragging{cursor:move} \ No newline at end of file + */.kanban{min-height:300px}.kanban-header{background-color:rgba(0,0,0,.07)}.use-flex .kanban-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-direction:row;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.kanban-col{min-width:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.no-flex .kanban-col{float:left}.kanban-col+.kanban-col{border-left:2px solid #fff}.kanban-header-col{position:relative}.kanban-header-col>.title>.icon{display:inline-block}.kanban-header-col>.title>.text{display:inline-block;margin:0 5px;overflow:hidden;font-weight:700;text-overflow:clip;white-space:nowrap}.kanban-header-col>.title>.count{display:inline-block;color:#8b91a2}.kanban-affixed .kanban-header-col>.title>.count{color:#ededed}.use-flex .kanban-header-col{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:0;min-height:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0 30px;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row}.use-flex .kanban-header-col>.title{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-width:100%;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;-webkit-box-flex:1;-webkit-flex:auto;-ms-flex:auto;flex:auto;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.no-flex .kanban-header-col>.title{position:absolute;top:50%;right:30px;left:30px;margin-top:-10px;line-height:20px;text-align:center;white-space:nowrap}.kanban-header-col>.actions{position:absolute;top:0;right:0}.kanban-header-col>.actions>.btn{min-width:32px}.kanban-header-col>.actions>.btn>.icon{opacity:.5}.use-flex .kanban-header-parent-col{padding:0;flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.use-flex .kanban-header-parent-col>.kanban-header-col,.use-flex .kanban-header-parent-col>.kanban-header-sub-cols{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.kanban-header-sub-cols{margin-top:-1px;margin-left:-2px;border-top:2px solid #fff}.use-flex .kanban-header-sub-cols{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-direction:row;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row}.use-flex .kanban-header-sub-cols>.kanban-col{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.no-flex .kanban-header-sub-cols{display:table;table-layout:fixed}.no-flex .kanban-header-sub-cols>.kanban-col{width:50%}.kanban-col:first-child>.kanban-header-sub-cols{margin-left:0}.kanban-lane,.kanban-sub-lane{position:relative;background-color:#f1f3f5}.use-flex .kanban-lane,.use-flex .kanban-sub-lane{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:0;flex-direction:row;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.kanban-lane+.kanban-lane{margin-top:2px}.kanban-lane>*{opacity:1;-webkit-transition:opacity .1s;-o-transition:opacity .1s;transition:opacity .1s}.kanban-lane.virtual-pending>*{opacity:0}.kanban-lane .has-sub-lane{background:0 0}.kanban-sub-lane{-webkit-box-flex:1;-webkit-flex:auto;-ms-flex:auto;flex:auto}.kanban-lane-name{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:20px;overflow:hidden;color:#fff;text-align:center;background-color:#3dc6fd;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-flex:0;-webkit-flex:none;-ms-flex:none;flex:none}.kanban-lane-name>.text{position:absolute;top:5px;bottom:5px;display:block;overflow:hidden;line-height:20px;text-align:center;white-space:normal;-webkit-writing-mode:tb-rl;-ms-writing-mode:tb-rl;writing-mode:tb-rl;-webkit-writing-mode:vertical-rl;writing-mode:vertical-rl}.no-flex .kanban-lane-name{position:absolute;top:0;bottom:0;left:0}.use-flex .kanban-sub-lanes{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-direction:column;-webkit-box-flex:1;-webkit-flex:auto;-ms-flex:auto;flex:auto;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:stretch;-webkit-justify-content:stretch;-ms-flex-pack:stretch;justify-content:stretch;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column}.kanban-sub-lanes.no-sub-lane{background-color:#f1f3f5}.kanban-dragging .kanban-lane-col{-webkit-transition:-webkit-box-shadow .1s;-o-transition:box-shadow .1s;transition:-webkit-box-shadow .1s;transition:box-shadow .1s;transition:box-shadow .1s,-webkit-box-shadow .1s}.kanban-lane-col.drop-target{-webkit-box-shadow:inset 0 0 0 3px rgba(255,152,0,.25);box-shadow:inset 0 0 0 3px rgba(255,152,0,.25)}.kanban-lane-col.drop-to{-webkit-box-shadow:inset 0 0 1px 4px rgba(255,152,0,.75);box-shadow:inset 0 0 1px 4px rgba(255,152,0,.75)}.kanban-lane-col.drop-to .kanban-lane-actions>.btn{background-color:rgba(255,152,0,.25);border:1px dotted #ff9800}.kanban-lane-col.drop-to .kanban-lane-actions>.btn>span{opacity:0}.kanban-lane-col[data-type=EMPTY]{background-color:#fff}.kanban-lane-items{max-height:100%;overflow:auto}.kanban-lane-actions{padding:10px 15px}.kanban-item{padding:8px 10px;margin:10px;background:#fff;border:1px solid #fff;border-radius:4px;-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);-webkit-transition:-webkit-box-shadow .2s,-webkit-transform .2s;-o-transition:box-shadow .2s,-o-transform .2s;transition:-webkit-box-shadow .2s,-webkit-transform .2s;transition:box-shadow .2s,transform .2s;transition:box-shadow .2s,transform .2s,-webkit-box-shadow .2s,-webkit-transform .2s,-o-transform .2s}.kanban-item.drag-from{background-color:#aaa;opacity:.2}.kanban-item:hover{border-color:rgba(0,0,0,.1);-webkit-box-shadow:0 4px 10px 0 rgba(0,0,0,.09);box-shadow:0 4px 10px 0 rgba(0,0,0,.09)}.kanban-item.drag-shadow{z-index:10;border-color:rgba(0,0,0,.2);-webkit-box-shadow:0 4px 10px 0 rgba(0,0,0,.05),0 4px 20px 0 rgba(0,0,0,.3);box-shadow:0 4px 10px 0 rgba(0,0,0,.05),0 4px 20px 0 rgba(0,0,0,.3);-webkit-transition:-webkit-box-shadow .2s,-webkit-transform .4s!important;-o-transition:box-shadow .2s,-o-transform .4s!important;transition:-webkit-box-shadow .2s,-webkit-transform .4s!important;transition:box-shadow .2s,transform .4s!important;transition:box-shadow .2s,transform .4s,-webkit-box-shadow .2s,-webkit-transform .4s,-o-transform .4s!important}.kanban-item.drag-shadow.in{-webkit-transform:scale(1.1) rotate(5deg);-ms-transform:scale(1.1) rotate(5deg);-o-transform:scale(1.1) rotate(5deg);transform:scale(1.1) rotate(5deg)}.kanban-dragging{cursor:move} \ No newline at end of file diff --git a/www/js/zui/kanban/min.js b/www/js/zui/kanban/min.js index 89a544cf0f..ae8555ed7d 100644 --- a/www/js/zui/kanban/min.js +++ b/www/js/zui/kanban/min.js @@ -4,4 +4,4 @@ * GitHub: https://github.com/easysoft/zui.git * Copyright (c) 2021 cnezsoft.com; Licensed MIT */ -!function(){"use strict";function a(a,n){return e&&!n?requestAnimationFrame(a):setTimeout(a,n||0)}function n(a){return e?cancelAnimationFrame(a):void clearTimeout(a)}var e="function"==typeof window.requestAnimationFrame;$.zui({asap:a,clearAsap:n})}(),function(a){"use strict";function n(n,e,t){"boolean"==typeof e&&(t=e,e=null);var i=a(n),r=a(e?e:window),d=r.scrollTop(),o=d+r.height(),s=i.offset().top,l=s+i.height();return t?dl:s<=o&&l>=d}var e="zui.virtualRender",t=function(n,i){"function"==typeof i&&(i={render:i});var r=this;r.name=e,r.$=a(n),r.options=i=a.extend({},t.DEFAULTS,this.$.data(),i),r.rendered=!1;var d=r.options.conatiner,o=a(d?d:window);r.tryRender()||(r.$container=o,r.scrollListener=r.tryRender.bind(r),i.pendingClass&&r.$.addClass(i.pendingClass),o.on("scroll",r.scrollListener))};t.prototype.tryRender=function(){var e=this;return!(e.rendered||!n(e.$))&&(e.renderTaskID&&a.zui.clearAsap(e.renderTaskID),e.renderTaskID=a.zui.asap(function(){e.renderTaskID=null;var a=e.options.render(e.$);a!==!1&&(e.rendered=!0,e.destroy())},e.options.delay),!0)},t.prototype.destroy=function(){var n=this;n.renderTaskID&&a.zui.clearAsap(n.renderTaskID),n.scrollListener&&(n.$container.off("scroll",n.scrollListener),n.scrollListener=null);var t=n.options.pendingClass;t&&n.$.removeClass(t),n.$.removeData(e)},t.DEFAULTS={pendingClass:"virtual-pending"},a.fn.virtualRender=function(n){return this.each(function(){var i=a(this),r=i.data(e),d=n;if(r){if("string"==typeof n)return r[n]();r.destroy()}i.data(e,r=new t(this,d))})},a.zui.isScrolledIntoView=n}(jQuery),function(a){"use strict";var n="zui.kanban",e="object"==typeof CSS&&CSS.supports("display","flex"),t=function(i,r){var d=(a.zui.uuid(),this);d.name=n,d.$=a(i).addClass("kanban"),d.options=r=a.extend({},t.DEFAULTS,this.$.data(),r),r.useFlex&&!e&&(r.useFlex=!1),d.$.toggleClass("no-flex",!r.useFlex).toggleClass("use-flex",!!r.useFlex);var o=!!a.fn.virtualRender&&d.options.virtualize;if(o&&("object"!=typeof o&&(o={lane:!0}),d.virtualize=a.extend({},o)),d.data=r.data||[],d.timers={},d.render(d.data),r.onAction){var s=function(n){var e=a(this);r.onAction(e.data("action"),e,n,d)};d.$.on("click",".action",s).on("dblclick",".action-dbc",s)}if("auto"===r.droppable&&(r.droppable=!r.readonly),r.droppable){var l=0,c={dropOnMouseleave:!0,selector:".kanban-item",target:'.kanban-lane-col:not([data-type="EMPTY"])',drop:function(a){"function"==typeof r.droppable?r.droppable(a):r.onAction&&r.onAction("dropItem",a.element,a,d)},start:function(n){d.$.addClass("kanban-dragging"),l&&clearTimeout(l),l=setTimeout(function(){a(n.shadowElement).addClass("in"),l=0},50)},always:function(){d.$.removeClass("kanban-dragging"),l&&(clearTimeout(l),l=0)}};"object"==typeof r.droppable&&a.extend(c,r.droppable),d.$.droppable(c)}if(!r.useFlex){var h=0;a(window).on("resize",function(){h&&a.zui.clearAsap(h),h=a.zui.asap(function(){h=0,d.adjustSize()})})}r.onCreate&&r.onCreate(d)};t.prototype.render=function(a){var n=this;a&&(n.data=a),n.data&&!Array.isArray(n.data)&&(n.data=[n.data]);var t=n.data||[];n.options.beforeRender&&n.options.beforeRender(n,t),n.$.toggleClass("kanban-readonly",!!n.options.readonly).toggleClass("kanban-no-lane-name",!!n.options.noLaneName),n.$.children(".kanban-board").addClass("kanban-expired");for(var i=0;i-1){var i=e.data[t];n=a.extend(i,n),e.data[t]=n}else e.data.push(n)}n.id||(n.id=a.zui.uuid());var r=n.id,d=e.options,o=e.$,s=o.children('.kanban-board[data-id="'+r+'"]');s.length?s.removeClass("kanban-expired"):s=a('
').appendTo(o);for(var l=n.columns,c=d.noLaneName?0:d.laneNameWidth,h=0,u={},p=!1,b=0;b0&&d.subLaneSpace&&(y.$height+=d.subLaneSpace)}}else for(var w=y.items||y.cards||{},L=0;L').prependTo(e),i.useFlex||d.addClass("clearfix")),d.css({height:(r?2:1)*i.headerHeight,paddingLeft:i.noLaneName?0:i.laneNameWidth}).toggleClass("kanban-header-has-parent",!!r),d.children(".kanban-col").addClass("kanban-expired");for(var o=n.columns,s=n.$layout.columnsMap||{},l=null,c=null,h=0;h.kanban-col").addClass("kanban-expired"):o=a(['
','
','
','','',d.showCount?'':"","
","
",'
',"
","
"].join("")),s&&s.length?s.after(o):e.prepend(o),o.data("col",n).attr("data-type",n.type);var l=n.subs.length*i.$layout.columnWidth;d.useFlex?o.css("flex",n.subs.length+" "+n.subs.length/i.$layout.columnsCount+" "+l+"px"):o.css("width",l);var c=o.children(".kanban-header-col");c.find(".title>.icon").attr("class","icon icon-"+(n.icon||""));var h=c.find(".title>.text").text(n.name);if(n.color&&h.css("color",n.color),d.showCount){var u=void 0!==n.count?n.count:n.$cardsCount;d.showZeroCount||u||(u="");var p=c.find(".title>.count").text(u);d.onRenderCount&&d.onRenderCount(p,u,n,r)}d.onRenderHeaderCol&&d.onRenderHeaderCol(o,n,e,i)},t.prototype.renderHeaderCol=function(n,e,t,i,r){var d=this,o=d.options;if(n.parentType&&t){var s=e.children('.kanban-header-parent-col[data-id="'+t.id+'"]');e=s.children(".kanban-header-sub-cols")}var l=e.children('.kanban-header-col[data-id="'+n.id+'"]'),c=i?e.children('.kanban-header-col[data-id="'+i.id+'"]:not(.kanban-expired)'):null;l.length?l.removeClass("kanban-expired"):l=a(['
','
','','',o.showCount?'':"","
",'
',"
"].join("")),c&&c.length?c.after(l):e.prepend(l),l.data("col",n).attr("data-type",n.type),o.useFlex?l.css("flex","1 1 "+r.$layout.columnWidth+"px"):l.css("width",r.$layout.columnWidth),l.find(".title>.icon").attr("class","icon icon-"+(n.icon||""));var h=l.find(".title>.text").text(n.name);if(n.color&&h.css("color",n.color),o.showCount){var u=void 0!==n.count?n.count:n.$cardsCount;o.showZeroCount||u||(u="");var p=l.find(".title>.count").text(u);o.onRenderCount&&o.onRenderCount(p,u,n,d)}o.onRenderHeaderCol&&o.onRenderHeaderCol(l,n,e,r)},t.prototype.renderLane=function(n,t,i,r){var d=this,o=d.options;i=i||d.$.children('.kanban-board[data-id="'+n.kanban+'"]');var s=i.children('.kanban-lane[data-id="'+n.id+'"]');s.length?s.removeClass("kanban-expired"):(s=a('
').appendTo(i),e||s.addClass("clearfix"));var l=n.subLanes?n.subLanes.length:0;s.attr("data-index",n.$index).data("lane",n).toggleClass("has-sub-lane",l>0).css({height:n.$height}),d.virtualizeRender(r,"lane",s,function(){if(!o.noLaneName){var e=s.children('.kanban-lane-name[data-id="'+n.id+'"]');e.length||(e=a('
').appendTo(s)),e.empty().css("width",o.laneNameWidth).attr("title",n.name).append(a('').text(n.name)),n.color&&e.css("background-color",n.color),o.onRenderLaneName&&o.onRenderLaneName(e,n,i,t,r)}s.children(".kanban-col,.kanban-sub-lanes").addClass("kanban-expired"),n.subLanes?d.renderSubLanes(n,t,s,r):d.renderLaneCards(t,n.items||n.cards||{},s,n,r),s.children(".kanban-expired").remove()},{lane:n,columns:t,kanban:r})},t.prototype.virtualizeRender=function(a,n,e,t,i){var r=this,d=r.virtualize,o=d?d[n]:null;return o?("function"==typeof o&&(o=o(i,e)),"number"==typeof o&&e.height(o),void e.virtualRender(t)):t()},t.prototype.renderSubLanes=function(n,e,t,i){var r=this,d=t.children('.kanban-sub-lanes[data-id="'+n.id+'"]');d.length?d.removeClass("kanban-expired"):d=a('
').appendTo(t),d.data("lane",n),d.children(".kanban-sub-lane").addClass("kanban-expired");for(var o=0;o').appendTo(i),e||o.addClass("clearfix")),o.attr("data-index",d).data("lane",n).css({height:n.$height}),o.children(".kanban-col").addClass("kanban-expired");var s=n.items||n.cards;s&&this.renderLaneCards(t,s,o,n,r),o.children(".kanban-expired").remove()},t.prototype.renderLaneCards=function(a,n,e,t,i){for(var r=this,d=null,o=0;o'),"EMPTY"!==n.id&&(d.append('
'),i.options.readonly||d.append(['
','","
"].join(""))),r.laneItemsClass&&d.find(".kanban-lane-items").addClass(r.laneItemsClass),r.laneColClass&&d.addClass(r.laneColClass)),o&&o.length)o.after(d);else{var s=e.children(".kanban-lane-name").first();s.length?s.after(d):e.prepend(d)}return d.attr({"data-parent":n.parentType?n.parentType:null,"data-type":n.type}),r.useFlex?d.css("flex","1 1 "+n.$kanbanData.$layout.columnWidth+"px"):d.css("width",n.$kanbanData.$layout.columnWidth),d},t.prototype.renderCard=function(n,e,t,i,r){var d=e.children('.kanban-item[data-id="'+n.id+'"]');if(d.length?d.removeClass("kanban-expired"):d=a('
').appendTo(e),d.data("item",n),this.options.itemRender)this.options.itemRender(n,d,t,i,r);else{var o=d.find(".title");o.length||(o=a('
').appendTo(d)),o.text(n.name||n.title)}return d},t.prototype.tryAdjustKanbanSize=function(a,n,e){},t.prototype.adjustKanbanSize=function(n,t){var i=this;"number"==typeof n&&(n=i.data[n]),i.timers[n.id]&&(a.zui.clearAsap(i.timers[n.id]),delete i.timers[n.id]);for(var r=n.columns,d=i.options.noLaneName?0:i.options.laneNameWidth,o=0,s=0;s0&&(t.children(".kanban-lane").each(function(){var n=a(this),e=n.height();n.children(".kanban-col,.kanban-sub-lanes").css("min-height",e)}),t.find(".kanban-lane:not(.has-sub-lane),.kanban-sub-lane").each(function(){var n=a(this),e=n.height(),t=n.children(".kanban-lane-col").css("height","auto");t.each(function(){e=Math.max(e,a(this).outerHeight())}),t.css("height",e)})),t.addClass("kanban-size-inited")}},t.prototype.adjustLaneSize=function(n,e){var t=this,i=t.options.maxColHeight,e=e||n.data("column-width"),r=n.children(".kanban-sub-lanes,.kanban-col");return i&&r.css("min-height",n.height()),n.hasClass("has-sub-lane")?r.children(".kanban-sub-lane").each(function(){t.adjustLaneSize(a(this),e)}):void n.find(".kanban-col").each(function(){var n=a(this),t=e;n.hasClass("kanban-header-parent-col")&&(t*=n.attr("data-subs-count")),n.css("width",t)})},t.prototype.adjustSize=function(){for(var a=0;al:s<=o&&l>=d}var e="zui.virtualRender",t=function(n,i){"function"==typeof i&&(i={render:i});var r=this;r.name=e,r.$=a(n),r.options=i=a.extend({},t.DEFAULTS,this.$.data(),i),r.rendered=!1;var d=r.options.conatiner,o=a(d?d:window);r.tryRender()||(r.$container=o,r.scrollListener=r.tryRender.bind(r),i.pendingClass&&r.$.addClass(i.pendingClass),o.on("scroll",r.scrollListener))};t.prototype.tryRender=function(){var e=this;return!(e.rendered||!n(e.$))&&(e.renderTaskID&&a.zui.clearAsap(e.renderTaskID),e.renderTaskID=a.zui.asap(function(){e.renderTaskID=null;var a=e.options.render(e.$);a!==!1&&(e.rendered=!0,e.destroy())},e.options.delay),!0)},t.prototype.destroy=function(){var n=this;n.renderTaskID&&a.zui.clearAsap(n.renderTaskID),n.scrollListener&&(n.$container.off("scroll",n.scrollListener),n.scrollListener=null);var t=n.options.pendingClass;t&&n.$.removeClass(t),n.$.removeData(e)},t.DEFAULTS={pendingClass:"virtual-pending"},a.fn.virtualRender=function(n){return this.each(function(){var i=a(this),r=i.data(e),d=n;if(r){if("string"==typeof n)return r[n]();r.destroy()}i.data(e,r=new t(this,d))})},a.zui.isScrolledIntoView=n}(jQuery),function(a){"use strict";var n="zui.kanban",e="object"==typeof CSS&&CSS.supports("display","flex"),t=function(i,r){var d=(a.zui.uuid(),this);d.name=n,d.$=a(i).addClass("kanban"),d.options=r=a.extend({},t.DEFAULTS,this.$.data(),r),r.useFlex&&!e&&(r.useFlex=!1),d.$.toggleClass("no-flex",!r.useFlex).toggleClass("use-flex",!!r.useFlex);var o=!!a.fn.virtualRender&&d.options.virtualize;if(o&&("object"!=typeof o&&(o={lane:!0}),d.virtualize=a.extend({},o)),d.data=r.data||[],d.timers={},d.render(d.data),r.onAction){var s=function(n){var e=a(this);r.onAction(e.data("action"),e,n,d)};d.$.on("click",".action",s).on("dblclick",".action-dbc",s)}if("auto"===r.droppable&&(r.droppable=!r.readonly),r.droppable){var l=0,c={dropOnMouseleave:!0,selector:".kanban-item",target:'.kanban-lane-col:not([data-type="EMPTY"])',drop:function(a){"function"==typeof r.droppable?r.droppable(a):r.onAction&&r.onAction("dropItem",a.element,a,d)},start:function(n){d.$.addClass("kanban-dragging"),l&&clearTimeout(l),l=setTimeout(function(){a(n.shadowElement).addClass("in"),l=0},50)},always:function(){d.$.removeClass("kanban-dragging"),l&&(clearTimeout(l),l=0)}};"object"==typeof r.droppable&&a.extend(c,r.droppable),d.$.droppable(c)}if(!r.useFlex){var h=0;a(window).on("resize",function(){h&&a.zui.clearAsap(h),h=a.zui.asap(function(){h=0,d.adjustSize()})})}r.onCreate&&r.onCreate(d)};t.prototype.render=function(a){var n=this;a&&(n.data=a),n.data&&!Array.isArray(n.data)&&(n.data=[n.data]);var t=n.data||[];n.options.beforeRender&&n.options.beforeRender(n,t),n.$.toggleClass("kanban-readonly",!!n.options.readonly).toggleClass("kanban-no-lane-name",!!n.options.noLaneName),n.$.children(".kanban-board").addClass("kanban-expired");for(var i=0;i-1){var i=e.data[t];n=a.extend(i,n),e.data[t]=n}else e.data.push(n)}n.id||(n.id=a.zui.uuid());var r=n.id,d=e.options,o=e.$,s=o.children('.kanban-board[data-id="'+r+'"]');s.length?s.removeClass("kanban-expired"):s=a('
').appendTo(o);for(var l=n.columns,c=d.noLaneName?0:d.laneNameWidth,h=0,u={},p=!1,b=0;b0&&d.subLaneSpace&&(y.$height+=d.subLaneSpace)}}else for(var w=y.items||y.cards||{},L=0;L').prependTo(e),i.useFlex||d.addClass("clearfix")),d.css({height:(r?2:1)*i.headerHeight,paddingLeft:i.noLaneName?0:i.laneNameWidth}).toggleClass("kanban-header-has-parent",!!r),d.children(".kanban-col").addClass("kanban-expired");for(var o=n.columns,s=n.$layout.columnsMap||{},l=null,c=null,h=0;h.kanban-col").addClass("kanban-expired"):o=a(['
','
','
','','',d.showCount?'':"","
","
",'
',"
","
"].join("")),s&&s.length?s.after(o):e.prepend(o),o.data("col",n).attr("data-type",n.type);var l=n.subs.length*i.$layout.columnWidth;d.useFlex?o.css("flex",n.subs.length+" "+n.subs.length+" "+l+"px"):o.css("width",l);var c=o.children(".kanban-header-col");c.find(".title>.icon").attr("class","icon icon-"+(n.icon||""));var h=c.find(".title>.text").text(n.name);if(n.color&&h.css("color",n.color),d.showCount){var u=void 0!==n.count?n.count:n.$cardsCount;d.showZeroCount||u||(u="");var p=c.find(".title>.count").text(u);d.onRenderCount&&d.onRenderCount(p,u,n,r)}d.onRenderHeaderCol&&d.onRenderHeaderCol(o,n,e,i)},t.prototype.renderHeaderCol=function(n,e,t,i,r){var d=this,o=d.options;if(n.parentType&&t){var s=e.children('.kanban-header-parent-col[data-id="'+t.id+'"]');e=s.children(".kanban-header-sub-cols")}var l=e.children('.kanban-header-col[data-id="'+n.id+'"]'),c=i?e.children('.kanban-header-col[data-id="'+i.id+'"]:not(.kanban-expired)'):null;l.length?l.removeClass("kanban-expired"):l=a(['
','
','','',o.showCount?'':"","
",'
',"
"].join("")),c&&c.length?c.after(l):e.prepend(l),l.data("col",n).attr("data-type",n.type),o.useFlex?l.css("flex","1 1 "+r.$layout.columnWidth+"px"):l.css("width",r.$layout.columnWidth),l.find(".title>.icon").attr("class","icon icon-"+(n.icon||""));var h=l.find(".title>.text").text(n.name);if(n.color&&h.css("color",n.color),o.showCount){var u=void 0!==n.count?n.count:n.$cardsCount;o.showZeroCount||u||(u="");var p=l.find(".title>.count").text(u);o.onRenderCount&&o.onRenderCount(p,u,n,d)}o.onRenderHeaderCol&&o.onRenderHeaderCol(l,n,e,r)},t.prototype.renderLane=function(n,t,i,r){var d=this,o=d.options;i=i||d.$.children('.kanban-board[data-id="'+n.kanban+'"]');var s=i.children('.kanban-lane[data-id="'+n.id+'"]');s.length?s.removeClass("kanban-expired"):(s=a('
').appendTo(i),e||s.addClass("clearfix"));var l=n.subLanes?n.subLanes.length:0;s.attr("data-index",n.$index).data("lane",n).toggleClass("has-sub-lane",l>0).css({height:n.$height}),d.virtualizeRender(r,"lane",s,function(){if(!o.noLaneName){var e=s.children('.kanban-lane-name[data-id="'+n.id+'"]');e.length||(e=a('
').appendTo(s)),e.empty().css("width",o.laneNameWidth).attr("title",n.name).append(a('').text(n.name)),n.color&&e.css("background-color",n.color),o.onRenderLaneName&&o.onRenderLaneName(e,n,i,t,r)}s.children(".kanban-col,.kanban-sub-lanes").addClass("kanban-expired"),n.subLanes?d.renderSubLanes(n,t,s,r):d.renderLaneCards(t,n.items||n.cards||{},s,n,r),s.children(".kanban-expired").remove()},{lane:n,columns:t,kanban:r})},t.prototype.virtualizeRender=function(a,n,e,t,i){var r=this,d=r.virtualize,o=d?d[n]:null;return o?("function"==typeof o&&(o=o(i,e)),"number"==typeof o&&e.height(o),void e.virtualRender(t)):t()},t.prototype.renderSubLanes=function(n,e,t,i){var r=this,d=t.children('.kanban-sub-lanes[data-id="'+n.id+'"]');d.length?d.removeClass("kanban-expired"):d=a('
').appendTo(t),d.data("lane",n),d.children(".kanban-sub-lane").addClass("kanban-expired");for(var o=0;o').appendTo(i),e||o.addClass("clearfix")),o.attr("data-index",d).data("lane",n).css({height:n.$height}),o.children(".kanban-col").addClass("kanban-expired");var s=n.items||n.cards;s&&this.renderLaneCards(t,s,o,n,r),o.children(".kanban-expired").remove()},t.prototype.renderLaneCards=function(a,n,e,t,i){for(var r=this,d=null,o=0;o'),"EMPTY"!==n.id&&(d.append('
'),i.options.readonly||d.append(['
','","
"].join(""))),r.laneItemsClass&&d.find(".kanban-lane-items").addClass(r.laneItemsClass),r.laneColClass&&d.addClass(r.laneColClass)),o&&o.length)o.after(d);else{var s=e.children(".kanban-lane-name").first();s.length?s.after(d):e.prepend(d)}return d.attr({"data-parent":n.parentType?n.parentType:null,"data-type":n.type}),r.useFlex?d.css("flex","1 1 "+n.$kanbanData.$layout.columnWidth+"px"):d.css("width",n.$kanbanData.$layout.columnWidth),d},t.prototype.renderCard=function(n,e,t,i,r){var d=e.children('.kanban-item[data-id="'+n.id+'"]');if(d.length?d.removeClass("kanban-expired"):d=a('
').appendTo(e),d.data("item",n),this.options.itemRender)this.options.itemRender(n,d,t,i,r);else{var o=d.find(".title");o.length||(o=a('
').appendTo(d)),o.text(n.name||n.title)}return d},t.prototype.tryAdjustKanbanSize=function(a,n,e){},t.prototype.adjustKanbanSize=function(n,t){var i=this;"number"==typeof n&&(n=i.data[n]),i.timers[n.id]&&(a.zui.clearAsap(i.timers[n.id]),delete i.timers[n.id]);for(var r=n.columns,d=i.options.noLaneName?0:i.options.laneNameWidth,o=0,s=0;s0&&(t.children(".kanban-lane").each(function(){var n=a(this),e=n.height();n.children(".kanban-col,.kanban-sub-lanes").css("min-height",e)}),t.find(".kanban-lane:not(.has-sub-lane),.kanban-sub-lane").each(function(){var n=a(this),e=n.height(),t=n.children(".kanban-lane-col").css("height","auto");t.each(function(){e=Math.max(e,a(this).outerHeight())}),t.css("height",e)})),t.addClass("kanban-size-inited")}},t.prototype.adjustLaneSize=function(n,e){var t=this,i=t.options.maxColHeight,e=e||n.data("column-width"),r=n.children(".kanban-sub-lanes,.kanban-col");return i&&r.css("min-height",n.height()),n.hasClass("has-sub-lane")?r.children(".kanban-sub-lane").each(function(){t.adjustLaneSize(a(this),e)}):void n.find(".kanban-col").each(function(){var n=a(this),t=e;n.hasClass("kanban-header-parent-col")&&(t*=n.attr("data-subs-count")),n.css("width",t)})},t.prototype.adjustSize=function(){for(var a=0;a