diff --git a/modules/backend/assets/css/october.css b/modules/backend/assets/css/october.css index 428bb0b9a..60a445180 100644 --- a/modules/backend/assets/css/october.css +++ b/modules/backend/assets/css/october.css @@ -383,7 +383,7 @@ div.control-scrollpad > .scrollpad-scrollbar[data-visible]{opacity:0.7} div.control-scrollpad > .scrollpad-scrollbar[data-hidden]{display:none} div.control-scrollpad[data-direction=horizontal] > .scrollpad-scrollbar{top:auto;left:0;width:auto;height:11px} div.control-scrollpad[data-direction=horizontal] > .scrollpad-scrollbar .drag-handle{right:auto;top:2px;height:7px;min-height:0;min-width:10px;width:auto} - html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%} + 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} @@ -678,6 +678,53 @@ select{background:#fff !important} .col-lg-offset-1{margin-left:8.33333333%} .col-lg-offset-0{margin-left:0%} } +.clearfix:before,.clearfix:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical > .btn-group:before,.btn-group-vertical > .btn-group:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.modal-footer:before,.modal-footer:after,.nav:before,.nav:after{content:" ";display:table} +.clearfix:after,.container:after,.container-fluid:after,.row:after,.btn-toolbar:after,.btn-group-vertical > .btn-group:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after{clear:both} +.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} +.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} +} 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:normal;line-height:1;color:#999999} h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px} @@ -1872,6 +1919,8 @@ label{font-weight:600} .form-preview.form-flush{border-top:none} .form-elements:before,.form-tabless-fields:before,.form-elements:after,.form-tabless-fields:after{content:" ";display:table} .form-elements:after,.form-tabless-fields:after{clear:both} +.form-elements:before,.form-tabless-fields:before,.form-elements:after,.form-tabless-fields:after{content:" ";display:table} +.form-elements:after,.form-tabless-fields:after{clear:both} label{font-size:12px} .radio.nolabel label,.checkbox.nolabel label{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0} .form-control{border:1px solid #e0e0e0;position:relative;-webkit-appearance:none;font-size:13px} @@ -1937,6 +1986,8 @@ label{font-size:12px} .form-buttons{padding-bottom:20px;font-size:0} .form-buttons:before,.form-buttons:after{content:" ";display:table} .form-buttons:after{clear:both} +.form-buttons:before,.form-buttons:after{content:" ";display:table} +.form-buttons:after{clear:both} .form-buttons .btn{margin-right:10px} .form-buttons .btn.no-margin-right{margin-right:0} .form-buttons .pull-right{margin-right:0;margin-left:10px} @@ -2628,6 +2679,8 @@ html.cssanimations .cursor-loading-indicator.hide{display:none} .control-tabs > div.tab-content > div.tab-pane{padding:20px 0 0 0;display:none} .control-tabs > div.tab-content > div.tab-pane:before,.control-tabs > div.tab-content > div.tab-pane:after{content:" ";display:table} .control-tabs > div.tab-content > div.tab-pane:after{clear:both} +.control-tabs > div.tab-content > div.tab-pane:before,.control-tabs > div.tab-content > div.tab-pane:after{content:" ";display:table} +.control-tabs > div.tab-content > div.tab-pane:after{clear:both} .control-tabs > div.tab-content > div.tab-pane.active{display:block} .control-tabs > div.tab-content > div.tab-pane.active.layout-cell{display:table-cell} .control-tabs > div.tab-content > div.tab-pane.pane-compact{padding:0} @@ -3034,6 +3087,8 @@ html.csstransitions body.outer.preload .outer-form-container{-webkit-transform:s .fancy-layout .form-tabless-fields{position:relative;background:#e67e22;padding:18px 23px 0 23px;-webkit-transition:all 0.5s;transition:all 0.5s} .fancy-layout .form-tabless-fields:before,.fancy-layout .form-tabless-fields:after{content:" ";display:table} .fancy-layout .form-tabless-fields:after{clear:both} +.fancy-layout .form-tabless-fields:before,.fancy-layout .form-tabless-fields:after{content:" ";display:table} +.fancy-layout .form-tabless-fields:after{clear:both} .fancy-layout .form-tabless-fields label{text-transform:uppercase;color:rgba(255,255,255,0.5);margin-bottom:0} .fancy-layout .form-tabless-fields input[type=text]{background:transparent;border:none;color:#ffffff;font-size:35px;font-weight:100;height:auto;padding:0} .fancy-layout .form-tabless-fields input[type=text]::-moz-placeholder{color:#f4c69e;opacity:1} diff --git a/modules/backend/assets/js/october-min.js b/modules/backend/assets/js/october-min.js index 8642d4787..ebcd50eb8 100644 --- a/modules/backend/assets/js/october-min.js +++ b/modules/backend/assets/js/october-min.js @@ -1,21 +1,5 @@ -(function(factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else if(typeof exports==='object'){module.exports=factory;}else{factory(jQuery);}}(function($){var toFix=['wheel','mousewheel','DOMMouseScroll','MozMousePixelScroll'],toBind=('onwheel'in document||document.documentMode>=9)?['wheel']:['mousewheel','DomMouseScroll','MozMousePixelScroll'],slice=Array.prototype.slice,nullLowestDeltaTimeout,lowestDelta;if($.event.fixHooks){for(var i=toFix.length;i;){$.event.fixHooks[toFix[--i]]=$.event.mouseHooks;}} -var special=$.event.special.mousewheel={version:'3.1.9',setup:function(){if(this.addEventListener){for(var i=toBind.length;i;){this.addEventListener(toBind[--i],handler,false);}}else{this.onmousewheel=handler;} -$.data(this,'mousewheel-line-height',special.getLineHeight(this));$.data(this,'mousewheel-page-height',special.getPageHeight(this));},teardown:function(){if(this.removeEventListener){for(var i=toBind.length;i;){this.removeEventListener(toBind[--i],handler,false);}}else{this.onmousewheel=null;}},getLineHeight:function(elem){return parseInt($(elem)['offsetParent'in $.fn?'offsetParent':'parent']().css('fontSize'),10);},getPageHeight:function(elem){return $(elem).height();},settings:{adjustOldDeltas:true}};$.fn.extend({mousewheel:function(fn){return fn?this.bind('mousewheel',fn):this.trigger('mousewheel');},unmousewheel:function(fn){return this.unbind('mousewheel',fn);}});function handler(event){var orgEvent=event||window.event,args=slice.call(arguments,1),delta=0,deltaX=0,deltaY=0,absDelta=0;event=$.event.fix(orgEvent);event.type='mousewheel';if('detail'in orgEvent){deltaY=orgEvent.detail*-1;} -if('wheelDelta'in orgEvent){deltaY=orgEvent.wheelDelta;} -if('wheelDeltaY'in orgEvent){deltaY=orgEvent.wheelDeltaY;} -if('wheelDeltaX'in orgEvent){deltaX=orgEvent.wheelDeltaX*-1;} -if('axis'in orgEvent&&orgEvent.axis===orgEvent.HORIZONTAL_AXIS){deltaX=deltaY*-1;deltaY=0;} -delta=deltaY===0?deltaX:deltaY;if('deltaY'in orgEvent){deltaY=orgEvent.deltaY*-1;delta=deltaY;} -if('deltaX'in orgEvent){deltaX=orgEvent.deltaX;if(deltaY===0){delta=deltaX*-1;}} -if(deltaY===0&&deltaX===0){return;} -if(orgEvent.deltaMode===1){var lineHeight=$.data(this,'mousewheel-line-height');delta*=lineHeight;deltaY*=lineHeight;deltaX*=lineHeight;}else if(orgEvent.deltaMode===2){var pageHeight=$.data(this,'mousewheel-page-height');delta*=pageHeight;deltaY*=pageHeight;deltaX*=pageHeight;} -absDelta=Math.max(Math.abs(deltaY),Math.abs(deltaX));if(!lowestDelta||absDelta=1?'floor':'ceil'](delta/lowestDelta);deltaX=Math[deltaX>=1?'floor':'ceil'](deltaX/lowestDelta);deltaY=Math[deltaY>=1?'floor':'ceil'](deltaY/lowestDelta);event.deltaX=deltaX;event.deltaY=deltaY;event.deltaFactor=lowestDelta;event.deltaMode=0;args.unshift(event,delta,deltaX,deltaY);if(nullLowestDeltaTimeout){clearTimeout(nullLowestDeltaTimeout);} -nullLowestDeltaTimeout=setTimeout(nullLowestDelta,200);return($.event.dispatch||$.event.handle).apply(this,args);} -function nullLowestDelta(){lowestDelta=null;} -function shouldAdjustOldDeltas(orgEvent,absDelta){return special.settings.adjustOldDeltas&&orgEvent.type==='mousewheel'&&absDelta%120===0;}}));(function($){$.fn.touchwipe=function(settings){var config={min_move_x:20,min_move_y:20,wipeLeft:function(){},wipeRight:function(){},wipeUp:function(){},wipeDown:function(){},preventDefaultEvents:true};if(settings)$.extend(config,settings);this.each(function(){var startX;var startY;var isMoving=false;function cancelTouch(){this.removeEventListener('touchmove',onTouchMove);startX=null;isMoving=false;} +(function($){$.fn.touchwipe=function(settings){var config={min_move_x:20,min_move_y:20,wipeLeft:function(){},wipeRight:function(){},wipeUp:function(){},wipeDown:function(){},preventDefaultEvents:true};if(settings)$.extend(config,settings);this.each(function(){var startX;var startY;var isMoving=false;function cancelTouch(){this.removeEventListener('touchmove',onTouchMove);startX=null;isMoving=false;} function onTouchMove(e){if(config.preventDefaultEvents){e.preventDefault();} if(isMoving){var x=e.touches[0].pageX;var y=e.touches[0].pageY;var dx=startX-x;var dy=startY-y;if(Math.abs(dx)>=config.min_move_x){cancelTouch();if(dx>0){config.wipeLeft();} else{config.wipeRight();}} @@ -1919,7 +1903,145 @@ if(!data)$this.data('bs.tooltip',(data=new Tooltip(this,options))) if(typeof option=='string')data[option]()})} $.fn.tooltip.Constructor=Tooltip $.fn.tooltip.noConflict=function(){$.fn.tooltip=old -return this}}(jQuery);(function($){$(document).render(function(){$('[data-toggle="tooltip"]').tooltip()})})(jQuery);+function($){"use strict";var Base=$.oc.foundation.base,BaseProto=Base.prototype +return this}}(jQuery);(function($){$(document).render(function(){$('[data-toggle="tooltip"]').tooltip()})})(jQuery);(function(factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else if(typeof exports==='object'){module.exports=factory;}else{factory(jQuery);}}(function($){var toFix=['wheel','mousewheel','DOMMouseScroll','MozMousePixelScroll'],toBind=('onwheel'in document||document.documentMode>=9)?['wheel']:['mousewheel','DomMouseScroll','MozMousePixelScroll'],slice=Array.prototype.slice,nullLowestDeltaTimeout,lowestDelta;if($.event.fixHooks){for(var i=toFix.length;i;){$.event.fixHooks[toFix[--i]]=$.event.mouseHooks;}} +var special=$.event.special.mousewheel={version:'3.1.9',setup:function(){if(this.addEventListener){for(var i=toBind.length;i;){this.addEventListener(toBind[--i],handler,false);}}else{this.onmousewheel=handler;} +$.data(this,'mousewheel-line-height',special.getLineHeight(this));$.data(this,'mousewheel-page-height',special.getPageHeight(this));},teardown:function(){if(this.removeEventListener){for(var i=toBind.length;i;){this.removeEventListener(toBind[--i],handler,false);}}else{this.onmousewheel=null;}},getLineHeight:function(elem){return parseInt($(elem)['offsetParent'in $.fn?'offsetParent':'parent']().css('fontSize'),10);},getPageHeight:function(elem){return $(elem).height();},settings:{adjustOldDeltas:true}};$.fn.extend({mousewheel:function(fn){return fn?this.bind('mousewheel',fn):this.trigger('mousewheel');},unmousewheel:function(fn){return this.unbind('mousewheel',fn);}});function handler(event){var orgEvent=event||window.event,args=slice.call(arguments,1),delta=0,deltaX=0,deltaY=0,absDelta=0;event=$.event.fix(orgEvent);event.type='mousewheel';if('detail'in orgEvent){deltaY=orgEvent.detail*-1;} +if('wheelDelta'in orgEvent){deltaY=orgEvent.wheelDelta;} +if('wheelDeltaY'in orgEvent){deltaY=orgEvent.wheelDeltaY;} +if('wheelDeltaX'in orgEvent){deltaX=orgEvent.wheelDeltaX*-1;} +if('axis'in orgEvent&&orgEvent.axis===orgEvent.HORIZONTAL_AXIS){deltaX=deltaY*-1;deltaY=0;} +delta=deltaY===0?deltaX:deltaY;if('deltaY'in orgEvent){deltaY=orgEvent.deltaY*-1;delta=deltaY;} +if('deltaX'in orgEvent){deltaX=orgEvent.deltaX;if(deltaY===0){delta=deltaX*-1;}} +if(deltaY===0&&deltaX===0){return;} +if(orgEvent.deltaMode===1){var lineHeight=$.data(this,'mousewheel-line-height');delta*=lineHeight;deltaY*=lineHeight;deltaX*=lineHeight;}else if(orgEvent.deltaMode===2){var pageHeight=$.data(this,'mousewheel-page-height');delta*=pageHeight;deltaY*=pageHeight;deltaX*=pageHeight;} +absDelta=Math.max(Math.abs(deltaY),Math.abs(deltaX));if(!lowestDelta||absDelta=1?'floor':'ceil'](delta/lowestDelta);deltaX=Math[deltaX>=1?'floor':'ceil'](deltaX/lowestDelta);deltaY=Math[deltaY>=1?'floor':'ceil'](deltaY/lowestDelta);event.deltaX=deltaX;event.deltaY=deltaY;event.deltaFactor=lowestDelta;event.deltaMode=0;args.unshift(event,delta,deltaX,deltaY);if(nullLowestDeltaTimeout){clearTimeout(nullLowestDeltaTimeout);} +nullLowestDeltaTimeout=setTimeout(nullLowestDelta,200);return($.event.dispatch||$.event.handle).apply(this,args);} +function nullLowestDelta(){lowestDelta=null;} +function shouldAdjustOldDeltas(orgEvent,absDelta){return special.settings.adjustOldDeltas&&orgEvent.type==='mousewheel'&&absDelta%120===0;}}));+function($){"use strict";var Base=$.oc.foundation.base,BaseProto=Base.prototype +var DragScroll=function(element,options){this.options=$.extend({},DragScroll.DEFAULTS,options) +var +$el=$(element),el=$el.get(0),dragStart=0,startOffset=0,self=this,dragging=false,eventElementName=this.options.vertical?'pageY':'pageX';this.el=$el +this.scrollClassContainer=this.options.scrollClassContainer?$(this.options.scrollClassContainer):$el +Base.call(this) +if(this.options.scrollMarkerContainer){$(this.options.scrollMarkerContainer).append($(''))} +$el.mousewheel(function(event){if(!self.options.allowScroll) +return;var offset=self.options.vertical?((event.deltaFactor*event.deltaY)*-1):(event.deltaFactor*event.deltaX) +return!scrollWheel(offset)}) +$el.on('mousedown.dragScroll',function(event){if(event.target&&event.target.tagName==='INPUT') +return +startDrag(event) +return false}) +$el.on('touchstart.dragScroll',function(event){var touchEvent=event.originalEvent;if(touchEvent.touches.length==1){startDrag(touchEvent.touches[0]) +event.stopPropagation()}}) +$el.on('click.dragScroll',function(){if($(document.body).hasClass('drag')) +return false}) +$(document).on('ready',this.proxy(this.fixScrollClasses)) +$(window).on('resize',this.proxy(this.fixScrollClasses)) +function startDrag(event){dragStart=event[eventElementName] +startOffset=self.options.vertical?$el.scrollTop():$el.scrollLeft() +if(Modernizr.touch){$(window).on('touchmove.dragScroll',function(event){var touchEvent=event.originalEvent +moveDrag(touchEvent.touches[0]) +event.preventDefault()}) +$(window).on('touchend.dragScroll',function(event){stopDrag()})} +else{$(window).on('mousemove.dragScroll',function(event){moveDrag(event) +$(document.body).addClass(self.options.dragClass) +return false}) +$(window).on('mouseup.dragScroll',function(mouseUpEvent){var isClick=event.pageX==mouseUpEvent.pageX&&event.pageY==mouseUpEvent.pageY +stopDrag(isClick) +return false})}} +function moveDrag(event){var current=event[eventElementName],offset=dragStart-current +if(Math.abs(offset)>2){if(!dragging){dragging=true +$el.trigger('start.oc.dragScroll') +self.options.start();} +self.options.vertical?$el.scrollTop(startOffset+offset):$el.scrollLeft(startOffset+offset) +$el.trigger('drag.oc.dragScroll') +self.options.drag()}} +function stopDrag(click){$(window).off('.dragScroll') +dragging=false;if(click) +$(document.body).removeClass(self.options.dragClass) +else +self.fixScrollClasses() +window.setTimeout(function(){if(!click){$(document.body).removeClass(self.options.dragClass) +$el.trigger('stop.oc.dragScroll') +self.options.stop() +self.fixScrollClasses()}},100)} +function scrollWheel(offset){startOffset=self.options.vertical?el.scrollTop:el.scrollLeft +self.options.vertical?$el.scrollTop(startOffset+offset):$el.scrollLeft(startOffset+offset) +var scrolled=self.options.vertical?el.scrollTop!=startOffset:el.scrollLeft!=startOffset +$el.trigger('drag.oc.dragScroll') +self.options.drag() +if(scrolled){if(self.wheelUpdateTimer!==undefined&&self.wheelUpdateTimer!==false) +window.clearInterval(self.wheelUpdateTimer);self.wheelUpdateTimer=window.setTimeout(function(){self.wheelUpdateTimer=false;self.fixScrollClasses()},100);} +return scrolled} +this.fixScrollClasses();} +DragScroll.prototype=Object.create(BaseProto) +DragScroll.prototype.constructor=DragScroll +DragScroll.DEFAULTS={vertical:false,allowScroll:true,scrollClassContainer:false,scrollMarkerContainer:false,dragClass:'drag',start:function(){},drag:function(){},stop:function(){}} +DragScroll.prototype.fixScrollClasses=function(){this.scrollClassContainer.toggleClass('scroll-before',!this.isStart()) +this.scrollClassContainer.toggleClass('scroll-after',!this.isEnd()) +this.scrollClassContainer.toggleClass('scroll-active-before',this.isActiveBefore()) +this.scrollClassContainer.toggleClass('scroll-active-after',this.isActiveAfter())} +DragScroll.prototype.isStart=function(){if(!this.options.vertical) +return this.el.scrollLeft()<=0;else +return this.el.scrollTop()<=0;} +DragScroll.prototype.isEnd=function(){if(!this.options.vertical) +return(this.el[0].scrollWidth-(this.el.scrollLeft()+this.el.width()))<=0 +else +return(this.el[0].scrollHeight-(this.el.scrollTop()+this.el.height()))<=0} +DragScroll.prototype.goToStart=function(){if(!this.options.vertical) +return this.el.scrollLeft(0) +else +return this.el.scrollTop(0)} +DragScroll.prototype.isActiveAfter=function(){var activeElement=$('.active',this.el);if(activeElement.length==0) +return false +if(!this.options.vertical) +return activeElement.get(0).offsetLeft>(this.el.scrollLeft()+this.el.width()) +else +return activeElement.get(0).offsetTop>(this.el.scrollTop()+this.el.height())} +DragScroll.prototype.isActiveBefore=function(){var activeElement=$('.active',this.el);if(activeElement.length==0) +return false +if(!this.options.vertical) +return(activeElement.get(0).offsetLeft+activeElement.width())0){this.el.animate({'scrollLeft':$el.get(0).offsetLeft+$el.width()-this.el.width()},params) +animated=true}}}else{offset=$el.get(0).offsetTop-this.el.scrollTop() +if(offset<0){this.el.animate({'scrollTop':$el.get(0).offsetTop},params) +animated=true}else{offset=$el.get(0).offsetTop-(this.el.scrollTop()+this.el.height()) +if(offset>0){this.el.animate({'scrollTop':$el.get(0).offsetTop+$el.height()-this.el.height()},params) +animated=true}}} +if(!animated&&callback!==undefined) +callback()} +DragScroll.prototype.dispose=function(){this.scrollClassContainer=null +$(document).off('ready',this.proxy(this.fixScrollClasses)) +$(window).off('resize',this.proxy(this.fixScrollClasses)) +this.el.off('.dragScroll') +this.el.removeData('oc.dragScroll') +this.el=null +BaseProto.dispose.call(this)} +var old=$.fn.dragScroll +$.fn.dragScroll=function(option){var args=arguments;return this.each(function(){var $this=$(this) +var data=$this.data('oc.dragScroll') +var options=typeof option=='object'&&option +if(!data)$this.data('oc.dragScroll',(data=new DragScroll(this,options))) +if(typeof option=='string'){var methodArgs=[];for(var i=1;i').appendTo(document.body) +this.$element.on('click.dismiss.bs.modal',$.proxy(function(e){if(e.target!==e.currentTarget)return +this.options.backdrop=='static'?this.$element[0].focus.call(this.$element[0]):this.hide.call(this)},this)) +if(doAnimate)this.$backdrop[0].offsetWidth +this.$backdrop.addClass('in') +if(!callback)return +doAnimate?this.$backdrop.one($.support.transition.end,callback).emulateTransitionEnd(150):callback()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass('in') +$.support.transition&&this.$element.hasClass('fade')?this.$backdrop.one($.support.transition.end,callback).emulateTransitionEnd(150):callback()}else if(callback){callback()}} +var old=$.fn.modal +$.fn.modal=function(option,_relatedTarget){return this.each(function(){var $this=$(this) +var data=$this.data('bs.modal') +var options=$.extend({},Modal.DEFAULTS,$this.data(),typeof option=='object'&&option) +if(!data)$this.data('bs.modal',(data=new Modal(this,options))) +if(typeof option=='string')data[option](_relatedTarget) +else if(options.show)data.show(_relatedTarget)})} +$.fn.modal.Constructor=Modal +$.fn.modal.noConflict=function(){$.fn.modal=old +return this} +$(document).on('click.bs.modal.data-api','[data-toggle="modal"]',function(e){var $this=$(this) +var href=$this.attr('href') +var $target=$($this.attr('data-target')||(href&&href.replace(/.*(?=#[^\s]+$)/,''))) +var option=$target.data('bs.modal')?'toggle':$.extend({remote:!/#/.test(href)&&href},$target.data(),$this.data()) +if($this.is('a'))e.preventDefault() +$target.modal(option,this).one('hide',function(){$this.is(':visible')&&$this.focus()})}) +$(document).on('show.bs.modal','.modal',function(){$(document.body).addClass('modal-open')}).on('hidden.bs.modal','.modal',function(){$(document.body).removeClass('modal-open')})}(jQuery);+function($){"use strict";var Popup=function(element,options){var self=this this.options=options this.$el=$(element) this.$container=null @@ -3397,7 +3583,7 @@ var $canvas=$('
').addClass('canvas').height(chartHeight).width(isFullWidth $el.prepend($canvas) $el.toggleClass('full-width',isFullWidth) Raphael($canvas.get(0),isFullWidth?'100%':chartWidth,chartHeight,function(){self.paper=this;self.bars=this.set() -self.paper.customAttributes.bar=function(start,height){return{path:[["M",start,chartWidth],["L",start,chartHeight-height],["L",start+barWidth,chartHeight-height],["L",start+barWidth,chartWidth],["Z"]]}} +self.paper.customAttributes.bar=function(start,height){return{path:[["M",start,chartHeight],["L",start,chartHeight-height],["L",start+barWidth,chartHeight-height],["L",start+barWidth,chartHeight],["Z"]]}} var start=0;$.each(values.values,function(index,valueInfo){var color=valueInfo.color!==undefined?valueInfo.color:$.oc.chartUtils.getColor(index),path=self.paper.path().attr({"stroke-width":0}).attr({bar:[start,0]}).attr({fill:color}) self.bars.push(path) indicators[index].css('background-color',color) @@ -3490,7 +3676,455 @@ else if(typeof option=='string')data[option].apply(data,args)})} $.fn.rowLink.Constructor=RowLink $.fn.rowLink.noConflict=function(){$.fn.rowLink=old return this} -$(document).render(function(){$('[data-control="rowlink"]').rowLink()})}(window.jQuery);+function($){'use strict';var Tab=function(element){this.element=$(element)} +$(document).render(function(){$('[data-control="rowlink"]').rowLink()})}(window.jQuery);+function($){"use strict";var Base=$.oc.foundation.base,BaseProto=Base.prototype +var ChangeMonitor=function(element,options){var $el=this.$el=$(element);this.paused=false +this.options=options||{} +$.oc.foundation.controlUtils.markDisposable(element) +Base.call(this) +this.init()} +ChangeMonitor.prototype=Object.create(BaseProto) +ChangeMonitor.prototype.constructor=ChangeMonitor +ChangeMonitor.prototype.init=function(){this.$el.on('change',this.proxy(this.change)) +this.$el.on('unchange.oc.changeMonitor',this.proxy(this.unchange)) +this.$el.on('pause.oc.changeMonitor ',this.proxy(this.pause)) +this.$el.on('resume.oc.changeMonitor ',this.proxy(this.resume)) +this.$el.on('keyup input paste','input, textarea:not(.ace_text-input)',this.proxy(this.onInputChange)) +$('input:not([type=hidden]), textarea:not(.ace_text-input)',this.$el).each(function(){$(this).data('oldval.oc.changeMonitor',$(this).val());}) +if(this.options.windowCloseConfirm) +$(window).on('beforeunload',this.proxy(this.onBeforeUnload)) +this.$el.one('dispose-control',this.proxy(this.dispose))} +ChangeMonitor.prototype.dispose=function(){if(this.$el===null) +return +this.unregisterHandlers() +this.$el.removeData('oc.changeMonitor') +this.$el=null +this.options=null +BaseProto.dispose.call(this)} +ChangeMonitor.prototype.unregisterHandlers=function(){this.$el.off('change',this.proxy(this.change)) +this.$el.off('unchange.oc.changeMonitor',this.proxy(this.unchange)) +this.$el.off('pause.oc.changeMonitor ',this.proxy(this.pause)) +this.$el.off('resume.oc.changeMonitor ',this.proxy(this.resume)) +this.$el.off('keyup input paste','input, textarea:not(.ace_text-input)',this.proxy(this.onInputChange)) +this.$el.off('dispose-control',this.proxy(this.dispose)) +if(this.options.windowCloseConfirm) +$(window).off('beforeunload',this.proxy(this.onBeforeUnload))} +ChangeMonitor.prototype.change=function(ev,inputChange){if(this.paused) +return +if(!inputChange){var type=$(ev.target).attr('type') +if(type=='text'||type=="password") +return} +if(!this.$el.hasClass('oc-data-changed')){this.$el.trigger('changed.oc.changeMonitor') +this.$el.addClass('oc-data-changed')}} +ChangeMonitor.prototype.unchange=function(){if(this.paused) +return +if(this.$el.hasClass('oc-data-changed')){this.$el.trigger('unchanged.oc.changeMonitor') +this.$el.removeClass('oc-data-changed')}} +ChangeMonitor.prototype.onInputChange=function(ev){if(this.paused) +return +var $el=$(ev.target) +if($el.data('oldval.oc.changeMonitor')!=$el.val()){$el.data('oldval.oc.changeMonitor',$el.val());this.change(ev,true);}} +ChangeMonitor.prototype.pause=function(){this.paused=true} +ChangeMonitor.prototype.resume=function(){this.paused=false} +ChangeMonitor.prototype.onBeforeUnload=function(){if($.contains(document.documentElement,this.$el.get(0))&&this.$el.hasClass('oc-data-changed')) +return this.options.windowCloseConfirm} +ChangeMonitor.DEFAULTS={windowCloseConfirm:false} +var old=$.fn.changeMonitor +$.fn.changeMonitor=function(option){return this.each(function(){var $this=$(this) +var data=$this.data('oc.changeMonitor') +var options=$.extend({},ChangeMonitor.DEFAULTS,$this.data(),typeof option=='object'&&option) +if(!data)$this.data('oc.changeMonitor',(data=new ChangeMonitor(this,options)))})} +$.fn.changeMonitor.Constructor=ChangeMonitor +$.fn.changeMonitor.noConflict=function(){$.fn.changeMonitor=old +return this} +$(document).render(function(){$('[data-change-monitor]').changeMonitor()})}(window.jQuery);+function($){"use strict";var Base=$.oc.foundation.base,BaseProto=Base.prototype +var HotKey=function(element,options){if(!options.hotkey) +throw new Error('No hotkey has been defined.');this.$el=$(element) +this.$target=$(options.hotkeyTarget) +this.options=options||{} +this.keyConditions=[] +this.keyMap=null +$.oc.foundation.controlUtils.markDisposable(element) +Base.call(this) +this.init()} +HotKey.prototype=Object.create(BaseProto) +HotKey.prototype.constructor=HotKey +HotKey.prototype.dispose=function(){if(this.$el===null) +return +this.unregisterHandlers() +this.$el.removeData('oc.hotkey') +this.$target=null +this.$el=null +this.keyConditions=null +this.keyMap=null +this.options=null +BaseProto.dispose.call(this)} +HotKey.prototype.init=function(){if(this.options.hotkeyMac) +this.options.hotkey+=', '+this.options.hotkeyMac +this.initKeyMap() +var keys=this.options.hotkey.toLowerCase().split(',') +for(var i=0,len=keys.length;i0)} +else if(this.triggerCondition=='value'){var trigger=$(this.options.trigger+':checked',this.triggerParent);if(trigger.length){this.updateTarget(trigger.val()==this.triggerConditionValue)} +else{this.updateTarget($(this.options.trigger,this.triggerParent).val()==this.triggerConditionValue)}}} +TriggerOn.prototype.updateTarget=function(status){if(this.options.triggerAction=='show') +this.$el.toggleClass('hide',!status).trigger('hide.oc.triggerapi',[!status]) +else if(this.options.triggerAction=='hide') +this.$el.toggleClass('hide',status).trigger('hide.oc.triggerapi',[status]) +else if(this.options.triggerAction=='enable') +this.$el.prop('disabled',!status).trigger('disable.oc.triggerapi',[!status]).toggleClass('control-disabled',!status) +else if(this.options.triggerAction=='disable') +this.$el.prop('disabled',status).trigger('disable.oc.triggerapi',[status]).toggleClass('control-disabled',status) +else if(this.options.triggerAction=='empty'&&status) +this.$el.trigger('empty.oc.triggerapi').val('') +if(this.options.triggerAction=='show'||this.options.triggerAction=='hide') +this.fixButtonClasses() +$(window).trigger('resize')} +TriggerOn.prototype.fixButtonClasses=function(){var group=this.$el.closest('.btn-group') +if(group.length>0&&this.$el.is(':last-child')) +this.$el.prev().toggleClass('last',this.$el.hasClass('hide'))} +TriggerOn.DEFAULTS={triggerAction:false,triggerCondition:false,triggerClosestParent:undefined,trigger:false} +var old=$.fn.triggerOn +$.fn.triggerOn=function(option){return this.each(function(){var $this=$(this) +var data=$this.data('oc.triggerOn') +var options=$.extend({},TriggerOn.DEFAULTS,$this.data(),typeof option=='object'&&option) +if(!data)$this.data('oc.triggerOn',(data=new TriggerOn(this,options)))})} +$.fn.triggerOn.Constructor=TriggerOn +$.fn.triggerOn.noConflict=function(){$.fn.triggerOn=old +return this} +$(document).render(function(){$('[data-trigger]').triggerOn()})}(window.jQuery);+function($){"use strict";var DragValue=function(element,options){this.options=options +this.$el=$(element) +this.init()} +DragValue.DEFAULTS={dragClick:false} +DragValue.prototype.init=function(){this.$el.prop('draggable',true) +this.textValue=this.$el.data('textValue') +this.$el.on('dragstart',$.proxy(this.handleDragStart,this)) +this.$el.on('drop',$.proxy(this.handleDrop,this)) +this.$el.on('dragend',$.proxy(this.handleDragEnd,this)) +if(this.options.dragClick){this.$el.on('click',$.proxy(this.handleClick,this)) +this.$el.on('mouseover',$.proxy(this.handleMouseOver,this))}} +DragValue.prototype.handleDragStart=function(event){var e=event.originalEvent +e.dataTransfer.effectAllowed='all' +e.dataTransfer.setData('text/plain',this.textValue) +this.$el.css({opacity:0.5}).addClass('dragvalue-dragging')} +DragValue.prototype.handleDrop=function(event){event.stopPropagation() +return false} +DragValue.prototype.handleDragEnd=function(event){this.$el.css({opacity:1}).removeClass('dragvalue-dragging')} +DragValue.prototype.handleMouseOver=function(event){var el=document.activeElement +if(!el)return +if(el.isContentEditable||(el.tagName.toLowerCase()=='input'&&el.type=='text'||el.tagName.toLowerCase()=='textarea')){this.lastElement=el}} +DragValue.prototype.handleClick=function(event){if(!this.lastElement)return +var $el=$(this.lastElement) +if($el.hasClass('ace_text-input')) +return this.handleClickCodeEditor(event,$el) +if(this.lastElement.isContentEditable) +return this.handleClickContentEditable() +this.insertAtCaret(this.lastElement,this.textValue)} +DragValue.prototype.handleClickCodeEditor=function(event,$el){var $editorArea=$el.closest('[data-control=codeeditor]') +if(!$editorArea.length)return +$editorArea.codeEditor('getEditorObject').insert(this.textValue)} +DragValue.prototype.handleClickContentEditable=function(){var sel,range,html;if(window.getSelection){sel=window.getSelection();if(sel.getRangeAt&&sel.rangeCount){range=sel.getRangeAt(0);range.deleteContents();range.insertNode(document.createTextNode(this.textValue));}} +else if(document.selection&&document.selection.createRange){document.selection.createRange().text=this.textValue;}} +DragValue.prototype.insertAtCaret=function(el,insertValue){if(document.selection){el.focus() +sel=document.selection.createRange() +sel.text=insertValue +el.focus()} +else if(el.selectionStart||el.selectionStart=='0'){var startPos=el.selectionStart,endPos=el.selectionEnd,scrollTop=el.scrollTop +el.value=el.value.substring(0,startPos)+insertValue+el.value.substring(endPos,el.value.length) +el.focus() +el.selectionStart=startPos+insertValue.length +el.selectionEnd=startPos+insertValue.length +el.scrollTop=scrollTop} +else{el.value+=insertValue +el.focus()}} +var old=$.fn.dragValue +$.fn.dragValue=function(option){var args=Array.prototype.slice.call(arguments,1),result +this.each(function(){var $this=$(this) +var data=$this.data('oc.dragvalue') +var options=$.extend({},DragValue.DEFAULTS,$this.data(),typeof option=='object'&&option) +if(!data)$this.data('oc.dragvalue',(data=new DragValue(this,options))) +if(typeof option=='string')result=data[option].apply(data,args) +if(typeof result!='undefined')return false}) +return result?result:this} +$.fn.dragValue.Constructor=DragValue +$.fn.dragValue.noConflict=function(){$.fn.dragValue=old +return this} +$(document).render(function(){$('[data-control="dragvalue"]').dragValue()});}(window.jQuery);+function($){"use strict";var eventNames,cursorAdjustment,containerDefaults={drag:true,drop:true,exclude:"",nested:true,vertical:true},groupDefaults={afterMove:function($placeholder,container,$closestEl){},containerPath:"",containerSelector:"ol, ul",distance:0,delay:0,handle:"",itemPath:"",useAnimation:false,itemSelector:"li",isValidTarget:function($item,container){return true},onCancel:function($item,container,_super,event){},tweakCursorAdjustment:function(adjustment){return adjustment},onDragStart:function($item,container,_super,event){var offset=$item.offset(),pointer=container.rootGroup.pointer +if(pointer){cursorAdjustment={left:pointer.left-offset.left,top:pointer.top-offset.top}} +else{cursorAdjustment=null} +cursorAdjustment=this.tweakCursorAdjustment(cursorAdjustment) +$item.css({height:$item.height(),width:$item.width()}) +if(this.useAnimation) +$item.data('oc.animated',true) +$item.addClass("dragged") +$("body").addClass("dragging")},onDrag:function($item,position,_super,event){if(cursorAdjustment){$item.css({left:position.left-cursorAdjustment.left,top:position.top-cursorAdjustment.top})} +else{$item.css(position)}},onDrop:function($item,container,_super,event){$item.removeClass("dragged").removeAttr("style") +$("body").removeClass("dragging") +if($item.data('oc.animated')){$item.hide() +$item.slideDown(200)}},onMousedown:function($item,_super,event){if(event.target.nodeName!='INPUT'&&event.target.nodeName!='SELECT'){event.preventDefault() +return true}},placeholder:'
  • ',pullPlaceholder:true,serialize:function($parent,$children,parentIsContainer){var result=$.extend({},$parent.data()) +if(parentIsContainer) +return $children +else if($children[0]){result.children=$children +delete result.subContainer} +delete result.sortable +return result},tolerance:0},containerGroups={},groupCounter=0,emptyBox={left:0,top:0,bottom:0,right:0},eventNames={start:"touchstart.sortable mousedown.sortable",drop:"touchend.sortable touchcancel.sortable mouseup.sortable",drag:"touchmove.sortable mousemove.sortable",scroll:"scroll.sortable"} +function d(a,b){var x=Math.max(0,a[0]-b[0],b[0]-a[1]),y=Math.max(0,a[2]-b[1],b[1]-a[3]) +return x+y;} +function setDimensions(array,dimensions,tolerance,useOffset){var i=array.length,offsetMethod=useOffset?"offset":"position" +tolerance=tolerance||0 +while(i--){var el=array[i].el?array[i].el:$(array[i]),pos=el[offsetMethod]() +pos.left+=parseInt(el.css('margin-left'),10) +pos.top+=parseInt(el.css('margin-top'),10) +dimensions[i]=[pos.left-tolerance,pos.left+el.outerWidth()+tolerance,pos.top-tolerance,pos.top+el.outerHeight()+tolerance]}} +function getRelativePosition(pointer,element){var offset=element.offset() +return{left:pointer.left-offset.left,top:pointer.top-offset.top}} +function sortByDistanceDesc(dimensions,pointer,lastPointer){pointer=[pointer.left,pointer.top] +lastPointer=lastPointer&&[lastPointer.left,lastPointer.top] +var dim,i=dimensions.length,distances=[] +while(i--){dim=dimensions[i] +distances[i]=[i,d(dim,pointer),lastPointer&&d(dim,lastPointer)]} +distances=distances.sort(function(a,b){return b[1]-a[1]||b[2]-a[2]||b[0]-a[0]}) +return distances} +function ContainerGroup(options){this.options=$.extend({},groupDefaults,options) +this.containers=[] +if(!this.options.parentContainer){this.scrollProxy=$.proxy(this.scroll,this) +this.dragProxy=$.proxy(this.drag,this) +this.dropProxy=$.proxy(this.drop,this) +this.placeholder=$(this.options.placeholder) +if(!options.isValidTarget) +this.options.isValidTarget=undefined}} +ContainerGroup.get=function(options){if(!containerGroups[options.group]){if(!options.group) +options.group=groupCounter++ +containerGroups[options.group]=new ContainerGroup(options)} +return containerGroups[options.group]} +ContainerGroup.prototype={dragInit:function(e,itemContainer){this.$document=$(itemContainer.el[0].ownerDocument) +if(itemContainer.enabled()){this.item=$(e.target).closest(this.options.itemSelector) +this.itemContainer=itemContainer +if(this.item.is(this.options.exclude)||!this.options.onMousedown(this.item,groupDefaults.onMousedown,e)){return} +this.setPointer(e) +this.toggleListeners('on')}else{this.toggleListeners('on',['drop'])} +this.setupDelayTimer() +this.dragInitDone=true},drag:function(e){if(!this.dragging){if(!this.distanceMet(e)||!this.delayMet){return} +this.options.onDragStart(this.item,this.itemContainer,groupDefaults.onDragStart,e) +this.item.before(this.placeholder) +this.dragging=true} +this.setPointer(e) +this.options.onDrag(this.item,getRelativePosition(this.pointer,this.item.offsetParent()),groupDefaults.onDrag,e) +var x=e.pageX||e.originalEvent.pageX,y=e.pageY||e.originalEvent.pageY,box=this.sameResultBox,t=this.options.tolerance +if(!box||box.top-t>y||box.bottom+tx||box.right+t=this.options.distance)},getPointer:function(e){return{left:e.pageX||e.originalEvent.pageX,top:e.pageY||e.originalEvent.pageY}},setupDelayTimer:function(){var self=this +this.delayMet=!this.options.delay +if(!this.delayMet){clearTimeout(this._mouseDelayTimer);this._mouseDelayTimer=setTimeout(function(){self.delayMet=true},this.options.delay)}},scroll:function(e){this.clearDimensions() +this.clearOffsetParent()},toggleListeners:function(method,events){var self=this +events=events||['drag','drop','scroll'] +$.each(events,function(i,event){self.$document[method](eventNames[event],self[event+'Proxy'])})},clearOffsetParent:function(){this.offsetParent=undefined},clearDimensions:function(){this.containerDimensions=undefined +var i=this.containers.length +while(i--){this.containers[i].clearDimensions()}},destroy:function(){containerGroups[this.options.group]=undefined}} +function Container(element,options){this.el=element +this.options=$.extend({},containerDefaults,options) +this.group=ContainerGroup.get(this.options) +this.rootGroup=this.options.rootGroup||this.group +this.parentContainer=this.options.parentContainer +this.handle=this.rootGroup.options.handle||this.rootGroup.options.itemSelector +var itemPath=this.rootGroup.options.itemPath,target=itemPath?this.el.find(itemPath):this.el +target.on(eventNames.start,this.handle,$.proxy(this.dragInit,this)) +if(this.options.drop){this.group.containers.push(this)}} +Container.prototype={dragInit:function(e){var rootGroup=this.rootGroup +if(!rootGroup.dragInitDone&&this.options.drag){rootGroup.dragInit(e,this)}},searchValidTarget:function(pointer,lastPointer){var distances=sortByDistanceDesc(this.getItemDimensions(),pointer,lastPointer),i=distances.length,rootGroup=this.rootGroup,validTarget=!rootGroup.options.isValidTarget||rootGroup.options.isValidTarget(rootGroup.item,this) +if(!i&&validTarget){var itemPath=this.rootGroup.options.itemPath,target=itemPath?this.el.find(itemPath):this.el +rootGroup.movePlaceholder(this,target,"append") +return true}else{while(i--){var index=distances[i][0],distance=distances[i][1] +if(!distance&&this.hasChildGroup(index)){var found=this.getContainerGroup(index).searchValidTarget(pointer,lastPointer) +if(found) +return true} +else if(validTarget){this.movePlaceholder(index,pointer) +return true}}}},movePlaceholder:function(index,pointer){var item=$(this.items[index]),dim=this.itemDimensions[index],method="after",width=item.outerWidth(),height=item.outerHeight(),offset=item.offset(),sameResultBox={left:offset.left,right:offset.left+width,top:offset.top,bottom:offset.top+height} +if(this.options.vertical){var yCenter=(dim[2]+dim[3])/2,inUpperHalf=pointer.top<=yCenter +if(inUpperHalf){method="before" +sameResultBox.bottom-=height/2}else{sameResultBox.top+=height/2}}else{var xCenter=(dim[0]+dim[1])/2,inLeftHalf=pointer.left<=xCenter +if(inLeftHalf){method="before" +sameResultBox.right-=width/2}else{sameResultBox.left+=width/2}} +if(this.hasChildGroup(index)){sameResultBox=emptyBox} +this.rootGroup.movePlaceholder(this,item,method,sameResultBox)},getItemDimensions:function(){if(!this.itemDimensions){this.items=this.$getChildren(this.el,"item").filter(":not(.placeholder, .dragged)").get() +setDimensions(this.items,this.itemDimensions=[],this.options.tolerance)} +return this.itemDimensions},getItemOffsetParent:function(){var offsetParent,el=this.el +if(el.css("position")==="relative"||el.css("position")==="absolute"||el.css("position")==="fixed") +offsetParent=el +else +offsetParent=el.offsetParent() +return offsetParent},hasChildGroup:function(index){return this.options.nested&&this.getContainerGroup(index)},getContainerGroup:function(index){var childGroup=$.data(this.items[index],"subContainer") +if(childGroup===undefined){var childContainers=this.$getChildren(this.items[index],"container") +childGroup=false +if(childContainers[0]){var options=$.extend({},this.options,{parentContainer:this,rootGroup:this.rootGroup,group:groupCounter++}) +childGroup=childContainers.sortable(options).data('oc.sortable').group} +$.data(this.items[index],"subContainer",childGroup)} +return childGroup},enabled:function(){return!this.disabled&&(!this.parentContainer||this.parentContainer.enabled())},$getChildren:function(parent,type){var options=this.rootGroup.options,path=options[type+"Path"],selector=options[type+"Selector"] +parent=$(parent) +if(path) +parent=parent.find(path) +return parent.children(selector)},_serialize:function(parent,isContainer){var self=this,childType=isContainer?"item":"container",children=this.$getChildren(parent,childType).not(this.options.exclude).map(function(){return self._serialize($(this),!isContainer)}).get() +return this.rootGroup.options.serialize(parent,children,isContainer)},clearDimensions:function(){this.itemDimensions=undefined +if(this.items&&this.items[0]){var i=this.items.length +while(i--){var group=$.data(this.items[i],"subContainer") +if(group) +group.clearDimensions()}}}} +var API={enable:function(ignoreChildren){this.disabled=false},disable:function(ignoreChildren){this.disabled=true},serialize:function(){return this._serialize(this.el,true)},destroy:function(){this.rootGroup.destroy() +$(this.el).data('oc.sortable')}} +$.extend(Container.prototype,API) +var old=$.fn.sortable +$.fn.sortable=function(option){var args=Array.prototype.slice.call(arguments,1) +return this.map(function(){var $this=$(this),object=$this.data('oc.sortable') +if(object&&API[option]) +return API[option].apply(object,args)||this +else if(!object&&(option===undefined||typeof option==="object")){$this.data('oc.sortable',new Container($this,option))} +return this});};$.fn.sortable.noConflict=function(){$.fn.sortable=old +return this}}(window.jQuery);+function($){'use strict';var Tab=function(element){this.element=$(element)} Tab.prototype.show=function(){var $this=this.element var $ul=$this.closest('ul:not(.dropdown-menu)') var selector=$this.data('target') @@ -3869,232 +4503,7 @@ return result?result:this} $.fn.scrollpad.Constructor=Scrollpad $.fn.scrollpad.noConflict=function(){$.fn.scrollpad=old return this} -$(document).on('render',function(){$('div[data-control=scrollpad]').scrollpad()})}(window.jQuery);+function($){"use strict";var TriggerOn=function(element,options){var $el=this.$el=$(element);this.options=options||{};if(this.options.triggerType!==false&&this.options.triggerAction===false)this.options.triggerAction=this.options.triggerType -if(this.options.triggerCondition===false) -throw new Error('Trigger condition is not specified.') -if(this.options.trigger===false) -throw new Error('Trigger selector is not specified.') -if(this.options.triggerAction===false) -throw new Error('Trigger action is not specified.') -this.triggerCondition=this.options.triggerCondition -if(this.options.triggerCondition.indexOf('value')==0){var match=this.options.triggerCondition.match(/[^[\]]+(?=])/g) -this.triggerCondition='value' -this.triggerConditionValue=(match)?match:""} -this.triggerParent=this.options.triggerClosestParent!==undefined?$el.closest(this.options.triggerClosestParent):undefined -if(this.triggerCondition=='checked'||this.triggerCondition=='value'){$(document).on('change',this.options.trigger,$.proxy(this.onConditionChanged,this))} -var self=this -$el.on('oc.triggerOn.update',function(e){e.stopPropagation() -self.onConditionChanged()}) -self.onConditionChanged()} -TriggerOn.prototype.onConditionChanged=function(){if(this.triggerCondition=='checked'){this.updateTarget($(this.options.trigger+':checked',this.triggerParent).length>0)} -else if(this.triggerCondition=='value'){var trigger=$(this.options.trigger+':checked',this.triggerParent);if(trigger.length){this.updateTarget(trigger.val()==this.triggerConditionValue)} -else{this.updateTarget($(this.options.trigger,this.triggerParent).val()==this.triggerConditionValue)}}} -TriggerOn.prototype.updateTarget=function(status){if(this.options.triggerAction=='show') -this.$el.toggleClass('hide',!status).trigger('hide.oc.triggerapi',[!status]) -else if(this.options.triggerAction=='hide') -this.$el.toggleClass('hide',status).trigger('hide.oc.triggerapi',[status]) -else if(this.options.triggerAction=='enable') -this.$el.prop('disabled',!status).trigger('disable.oc.triggerapi',[!status]).toggleClass('control-disabled',!status) -else if(this.options.triggerAction=='disable') -this.$el.prop('disabled',status).trigger('disable.oc.triggerapi',[status]).toggleClass('control-disabled',status) -else if(this.options.triggerAction=='empty'&&status) -this.$el.trigger('empty.oc.triggerapi').val('') -if(this.options.triggerAction=='show'||this.options.triggerAction=='hide') -this.fixButtonClasses() -$(window).trigger('resize')} -TriggerOn.prototype.fixButtonClasses=function(){var group=this.$el.closest('.btn-group') -if(group.length>0&&this.$el.is(':last-child')) -this.$el.prev().toggleClass('last',this.$el.hasClass('hide'))} -TriggerOn.DEFAULTS={triggerAction:false,triggerCondition:false,triggerClosestParent:undefined,trigger:false} -var old=$.fn.triggerOn -$.fn.triggerOn=function(option){return this.each(function(){var $this=$(this) -var data=$this.data('oc.triggerOn') -var options=$.extend({},TriggerOn.DEFAULTS,$this.data(),typeof option=='object'&&option) -if(!data)$this.data('oc.triggerOn',(data=new TriggerOn(this,options)))})} -$.fn.triggerOn.Constructor=TriggerOn -$.fn.triggerOn.noConflict=function(){$.fn.triggerOn=old -return this} -$(document).render(function(){$('[data-trigger]').triggerOn()})}(window.jQuery);+function($){"use strict";var Base=$.oc.foundation.base,BaseProto=Base.prototype -var DragScroll=function(element,options){this.options=$.extend({},DragScroll.DEFAULTS,options) -var -$el=$(element),el=$el.get(0),dragStart=0,startOffset=0,self=this,dragging=false,eventElementName=this.options.vertical?'pageY':'pageX';this.el=$el -this.scrollClassContainer=this.options.scrollClassContainer?$(this.options.scrollClassContainer):$el -Base.call(this) -if(this.options.scrollMarkerContainer) -$(this.options.scrollMarkerContainer).append($('')) -$el.mousewheel(function(event){if(!self.options.allowScroll) -return;var offset=self.options.vertical?((event.deltaFactor*event.deltaY)*-1):(event.deltaFactor*event.deltaX) -return!scrollWheel(offset)}) -$el.on('mousedown.dragScroll',function(event){if(event.target&&event.target.tagName==='INPUT') -return -startDrag(event) -return false}) -$el.on('touchstart.dragScroll',function(event){var touchEvent=event.originalEvent;if(touchEvent.touches.length==1){startDrag(touchEvent.touches[0]) -event.stopPropagation()}}) -$el.on('click.dragScroll',function(){if($(document.body).hasClass('drag')) -return false}) -$(document).on('ready',this.proxy(this.fixScrollClasses)) -$(window).on('resize',this.proxy(this.fixScrollClasses)) -function startDrag(event){dragStart=event[eventElementName] -startOffset=self.options.vertical?$el.scrollTop():$el.scrollLeft() -if(Modernizr.touch){$(window).on('touchmove.dragScroll',function(event){var touchEvent=event.originalEvent -moveDrag(touchEvent.touches[0]) -event.preventDefault()}) -$(window).on('touchend.dragScroll',function(event){stopDrag()})} -else{$(window).on('mousemove.dragScroll',function(event){moveDrag(event) -$(document.body).addClass(self.options.dragClass) -return false}) -$(window).on('mouseup.dragScroll',function(mouseUpEvent){var isClick=event.pageX==mouseUpEvent.pageX&&event.pageY==mouseUpEvent.pageY -stopDrag(isClick) -return false})}} -function moveDrag(event){var current=event[eventElementName],offset=dragStart-current -if(Math.abs(offset)>2){if(!dragging){dragging=true -$el.trigger('start.oc.dragScroll') -self.options.start();} -self.options.vertical?$el.scrollTop(startOffset+offset):$el.scrollLeft(startOffset+offset) -$el.trigger('drag.oc.dragScroll') -self.options.drag()}} -function stopDrag(click){$(window).off('.dragScroll') -dragging=false;if(click) -$(document.body).removeClass(self.options.dragClass) -else -self.fixScrollClasses() -window.setTimeout(function(){if(!click){$(document.body).removeClass(self.options.dragClass) -$el.trigger('stop.oc.dragScroll') -self.options.stop() -self.fixScrollClasses()}},100)} -function scrollWheel(offset){startOffset=self.options.vertical?el.scrollTop:el.scrollLeft -self.options.vertical?$el.scrollTop(startOffset+offset):$el.scrollLeft(startOffset+offset) -var scrolled=self.options.vertical?el.scrollTop!=startOffset:el.scrollLeft!=startOffset -$el.trigger('drag.oc.dragScroll') -self.options.drag() -if(scrolled){if(self.wheelUpdateTimer!==undefined&&self.wheelUpdateTimer!==false) -window.clearInterval(self.wheelUpdateTimer);self.wheelUpdateTimer=window.setTimeout(function(){self.wheelUpdateTimer=false;self.fixScrollClasses()},100);} -return scrolled} -this.fixScrollClasses();} -DragScroll.prototype=Object.create(BaseProto) -DragScroll.prototype.constructor=DragScroll -DragScroll.DEFAULTS={vertical:false,allowScroll:true,scrollClassContainer:false,scrollMarkerContainer:false,dragClass:'drag',start:function(){},drag:function(){},stop:function(){}} -DragScroll.prototype.fixScrollClasses=function(){this.scrollClassContainer.toggleClass('scroll-before',!this.isStart()) -this.scrollClassContainer.toggleClass('scroll-after',!this.isEnd()) -this.scrollClassContainer.toggleClass('scroll-active-before',this.isActiveBefore()) -this.scrollClassContainer.toggleClass('scroll-active-after',this.isActiveAfter())} -DragScroll.prototype.isStart=function(){if(!this.options.vertical) -return this.el.scrollLeft()<=0;else -return this.el.scrollTop()<=0;} -DragScroll.prototype.isEnd=function(){if(!this.options.vertical) -return(this.el[0].scrollWidth-(this.el.scrollLeft()+this.el.width()))<=0 -else -return(this.el[0].scrollHeight-(this.el.scrollTop()+this.el.height()))<=0} -DragScroll.prototype.goToStart=function(){if(!this.options.vertical) -return this.el.scrollLeft(0) -else -return this.el.scrollTop(0)} -DragScroll.prototype.isActiveAfter=function(){var activeElement=$('.active',this.el);if(activeElement.length==0) -return false -if(!this.options.vertical) -return activeElement.get(0).offsetLeft>(this.el.scrollLeft()+this.el.width()) -else -return activeElement.get(0).offsetTop>(this.el.scrollTop()+this.el.height())} -DragScroll.prototype.isActiveBefore=function(){var activeElement=$('.active',this.el);if(activeElement.length==0) -return false -if(!this.options.vertical) -return(activeElement.get(0).offsetLeft+activeElement.width())0){this.el.animate({'scrollLeft':$el.get(0).offsetLeft+$el.width()-this.el.width()},params) -animated=true}}}else{offset=$el.get(0).offsetTop-this.el.scrollTop() -if(offset<0){this.el.animate({'scrollTop':$el.get(0).offsetTop},params) -animated=true}else{offset=$el.get(0).offsetTop-(this.el.scrollTop()+this.el.height()) -if(offset>0){this.el.animate({'scrollTop':$el.get(0).offsetTop+$el.height()-this.el.height()},params) -animated=true}}} -if(!animated&&callback!==undefined) -callback()} -DragScroll.prototype.dispose=function(){this.scrollClassContainer=null -$(document).off('ready',this.proxy(this.fixScrollClasses)) -$(window).off('resize',this.proxy(this.fixScrollClasses)) -this.el.off('.dragScroll') -this.el.removeData('oc.dragScroll') -this.el=null -BaseProto.dispose.call(this)} -var old=$.fn.dragScroll -$.fn.dragScroll=function(option){var args=arguments;return this.each(function(){var $this=$(this) -var data=$this.data('oc.dragScroll') -var options=typeof option=='object'&&option -if(!data)$this.data('oc.dragScroll',(data=new DragScroll(this,options))) -if(typeof option=='string'){var methodArgs=[];for(var i=1;i',pullPlaceholder:true,serialize:function($parent,$children,parentIsContainer){var result=$.extend({},$parent.data()) -if(parentIsContainer) -return $children -else if($children[0]){result.children=$children -delete result.subContainer} -delete result.sortable -return result},tolerance:0},containerGroups={},groupCounter=0,emptyBox={left:0,top:0,bottom:0,right:0},eventNames={start:"touchstart.sortable mousedown.sortable",drop:"touchend.sortable touchcancel.sortable mouseup.sortable",drag:"touchmove.sortable mousemove.sortable",scroll:"scroll.sortable"} -function d(a,b){var x=Math.max(0,a[0]-b[0],b[0]-a[1]),y=Math.max(0,a[2]-b[1],b[1]-a[3]) -return x+y;} -function setDimensions(array,dimensions,tolerance,useOffset){var i=array.length,offsetMethod=useOffset?"offset":"position" -tolerance=tolerance||0 -while(i--){var el=array[i].el?array[i].el:$(array[i]),pos=el[offsetMethod]() -pos.left+=parseInt(el.css('margin-left'),10) -pos.top+=parseInt(el.css('margin-top'),10) -dimensions[i]=[pos.left-tolerance,pos.left+el.outerWidth()+tolerance,pos.top-tolerance,pos.top+el.outerHeight()+tolerance]}} -function getRelativePosition(pointer,element){var offset=element.offset() -return{left:pointer.left-offset.left,top:pointer.top-offset.top}} -function sortByDistanceDesc(dimensions,pointer,lastPointer){pointer=[pointer.left,pointer.top] -lastPointer=lastPointer&&[lastPointer.left,lastPointer.top] -var dim,i=dimensions.length,distances=[] -while(i--){dim=dimensions[i] -distances[i]=[i,d(dim,pointer),lastPointer&&d(dim,lastPointer)]} -distances=distances.sort(function(a,b){return b[1]-a[1]||b[2]-a[2]||b[0]-a[0]}) -return distances} -function ContainerGroup(options){this.options=$.extend({},groupDefaults,options) -this.containers=[] -if(!this.options.parentContainer){this.scrollProxy=$.proxy(this.scroll,this) -this.dragProxy=$.proxy(this.drag,this) -this.dropProxy=$.proxy(this.drop,this) -this.placeholder=$(this.options.placeholder) -if(!options.isValidTarget) -this.options.isValidTarget=undefined}} -ContainerGroup.get=function(options){if(!containerGroups[options.group]){if(!options.group) -options.group=groupCounter++ -containerGroups[options.group]=new ContainerGroup(options)} -return containerGroups[options.group]} -ContainerGroup.prototype={dragInit:function(e,itemContainer){this.$document=$(itemContainer.el[0].ownerDocument) -if(itemContainer.enabled()){this.item=$(e.target).closest(this.options.itemSelector) -this.itemContainer=itemContainer -if(this.item.is(this.options.exclude)||!this.options.onMousedown(this.item,groupDefaults.onMousedown,e)){return} -this.setPointer(e) -this.toggleListeners('on')}else{this.toggleListeners('on',['drop'])} -this.setupDelayTimer() -this.dragInitDone=true},drag:function(e){if(!this.dragging){if(!this.distanceMet(e)||!this.delayMet){return} -this.options.onDragStart(this.item,this.itemContainer,groupDefaults.onDragStart,e) -this.item.before(this.placeholder) -this.dragging=true} -this.setPointer(e) -this.options.onDrag(this.item,getRelativePosition(this.pointer,this.item.offsetParent()),groupDefaults.onDrag,e) -var x=e.pageX||e.originalEvent.pageX,y=e.pageY||e.originalEvent.pageY,box=this.sameResultBox,t=this.options.tolerance -if(!box||box.top-t>y||box.bottom+tx||box.right+t=this.options.distance)},getPointer:function(e){return{left:e.pageX||e.originalEvent.pageX,top:e.pageY||e.originalEvent.pageY}},setupDelayTimer:function(){var self=this -this.delayMet=!this.options.delay -if(!this.delayMet){clearTimeout(this._mouseDelayTimer);this._mouseDelayTimer=setTimeout(function(){self.delayMet=true},this.options.delay)}},scroll:function(e){this.clearDimensions() -this.clearOffsetParent()},toggleListeners:function(method,events){var self=this -events=events||['drag','drop','scroll'] -$.each(events,function(i,event){self.$document[method](eventNames[event],self[event+'Proxy'])})},clearOffsetParent:function(){this.offsetParent=undefined},clearDimensions:function(){this.containerDimensions=undefined -var i=this.containers.length -while(i--){this.containers[i].clearDimensions()}},destroy:function(){containerGroups[this.options.group]=undefined}} -function Container(element,options){this.el=element -this.options=$.extend({},containerDefaults,options) -this.group=ContainerGroup.get(this.options) -this.rootGroup=this.options.rootGroup||this.group -this.parentContainer=this.options.parentContainer -this.handle=this.rootGroup.options.handle||this.rootGroup.options.itemSelector -var itemPath=this.rootGroup.options.itemPath,target=itemPath?this.el.find(itemPath):this.el -target.on(eventNames.start,this.handle,$.proxy(this.dragInit,this)) -if(this.options.drop){this.group.containers.push(this)}} -Container.prototype={dragInit:function(e){var rootGroup=this.rootGroup -if(!rootGroup.dragInitDone&&this.options.drag){rootGroup.dragInit(e,this)}},searchValidTarget:function(pointer,lastPointer){var distances=sortByDistanceDesc(this.getItemDimensions(),pointer,lastPointer),i=distances.length,rootGroup=this.rootGroup,validTarget=!rootGroup.options.isValidTarget||rootGroup.options.isValidTarget(rootGroup.item,this) -if(!i&&validTarget){var itemPath=this.rootGroup.options.itemPath,target=itemPath?this.el.find(itemPath):this.el -rootGroup.movePlaceholder(this,target,"append") -return true}else{while(i--){var index=distances[i][0],distance=distances[i][1] -if(!distance&&this.hasChildGroup(index)){var found=this.getContainerGroup(index).searchValidTarget(pointer,lastPointer) -if(found) -return true} -else if(validTarget){this.movePlaceholder(index,pointer) -return true}}}},movePlaceholder:function(index,pointer){var item=$(this.items[index]),dim=this.itemDimensions[index],method="after",width=item.outerWidth(),height=item.outerHeight(),offset=item.offset(),sameResultBox={left:offset.left,right:offset.left+width,top:offset.top,bottom:offset.top+height} -if(this.options.vertical){var yCenter=(dim[2]+dim[3])/2,inUpperHalf=pointer.top<=yCenter -if(inUpperHalf){method="before" -sameResultBox.bottom-=height/2}else{sameResultBox.top+=height/2}}else{var xCenter=(dim[0]+dim[1])/2,inLeftHalf=pointer.left<=xCenter -if(inLeftHalf){method="before" -sameResultBox.right-=width/2}else{sameResultBox.left+=width/2}} -if(this.hasChildGroup(index)){sameResultBox=emptyBox} -this.rootGroup.movePlaceholder(this,item,method,sameResultBox)},getItemDimensions:function(){if(!this.itemDimensions){this.items=this.$getChildren(this.el,"item").filter(":not(.placeholder, .dragged)").get() -setDimensions(this.items,this.itemDimensions=[],this.options.tolerance)} -return this.itemDimensions},getItemOffsetParent:function(){var offsetParent,el=this.el -if(el.css("position")==="relative"||el.css("position")==="absolute"||el.css("position")==="fixed") -offsetParent=el -else -offsetParent=el.offsetParent() -return offsetParent},hasChildGroup:function(index){return this.options.nested&&this.getContainerGroup(index)},getContainerGroup:function(index){var childGroup=$.data(this.items[index],"subContainer") -if(childGroup===undefined){var childContainers=this.$getChildren(this.items[index],"container") -childGroup=false -if(childContainers[0]){var options=$.extend({},this.options,{parentContainer:this,rootGroup:this.rootGroup,group:groupCounter++}) -childGroup=childContainers.sortable(options).data('oc.sortable').group} -$.data(this.items[index],"subContainer",childGroup)} -return childGroup},enabled:function(){return!this.disabled&&(!this.parentContainer||this.parentContainer.enabled())},$getChildren:function(parent,type){var options=this.rootGroup.options,path=options[type+"Path"],selector=options[type+"Selector"] -parent=$(parent) -if(path) -parent=parent.find(path) -return parent.children(selector)},_serialize:function(parent,isContainer){var self=this,childType=isContainer?"item":"container",children=this.$getChildren(parent,childType).not(this.options.exclude).map(function(){return self._serialize($(this),!isContainer)}).get() -return this.rootGroup.options.serialize(parent,children,isContainer)},clearDimensions:function(){this.itemDimensions=undefined -if(this.items&&this.items[0]){var i=this.items.length -while(i--){var group=$.data(this.items[i],"subContainer") -if(group) -group.clearDimensions()}}}} -var API={enable:function(ignoreChildren){this.disabled=false},disable:function(ignoreChildren){this.disabled=true},serialize:function(){return this._serialize(this.el,true)},destroy:function(){this.rootGroup.destroy() -$(this.el).data('oc.sortable')}} -$.extend(Container.prototype,API) -var old=$.fn.sortable -$.fn.sortable=function(option){var args=Array.prototype.slice.call(arguments,1) -return this.map(function(){var $this=$(this),object=$this.data('oc.sortable') -if(object&&API[option]) -return API[option].apply(object,args)||this -else if(!object&&(option===undefined||typeof option==="object")){$this.data('oc.sortable',new Container($this,option))} -return this});};$.fn.sortable.noConflict=function(){$.fn.sortable=old -return this}}(window.jQuery);+function($){"use strict";var Base=$.oc.foundation.base,BaseProto=Base.prototype -var ChangeMonitor=function(element,options){var $el=this.$el=$(element);this.paused=false -this.options=options||{} -$.oc.foundation.controlUtils.markDisposable(element) -Base.call(this) -this.init()} -ChangeMonitor.prototype=Object.create(BaseProto) -ChangeMonitor.prototype.constructor=ChangeMonitor -ChangeMonitor.prototype.init=function(){this.$el.on('change',this.proxy(this.change)) -this.$el.on('unchange.oc.changeMonitor',this.proxy(this.unchange)) -this.$el.on('pause.oc.changeMonitor ',this.proxy(this.pause)) -this.$el.on('resume.oc.changeMonitor ',this.proxy(this.resume)) -this.$el.on('keyup input paste','input, textarea:not(.ace_text-input)',this.proxy(this.onInputChange)) -$('input:not([type=hidden]), textarea:not(.ace_text-input)',this.$el).each(function(){$(this).data('oldval.oc.changeMonitor',$(this).val());}) -if(this.options.windowCloseConfirm) -$(window).on('beforeunload',this.proxy(this.onBeforeUnload)) -this.$el.one('dispose-control',this.proxy(this.dispose))} -ChangeMonitor.prototype.dispose=function(){if(this.$el===null) -return -this.unregisterHandlers() -this.$el.removeData('oc.changeMonitor') -this.$el=null -this.options=null -BaseProto.dispose.call(this)} -ChangeMonitor.prototype.unregisterHandlers=function(){this.$el.off('change',this.proxy(this.change)) -this.$el.off('unchange.oc.changeMonitor',this.proxy(this.unchange)) -this.$el.off('pause.oc.changeMonitor ',this.proxy(this.pause)) -this.$el.off('resume.oc.changeMonitor ',this.proxy(this.resume)) -this.$el.off('keyup input paste','input, textarea:not(.ace_text-input)',this.proxy(this.onInputChange)) -this.$el.off('dispose-control',this.proxy(this.dispose)) -if(this.options.windowCloseConfirm) -$(window).off('beforeunload',this.proxy(this.onBeforeUnload))} -ChangeMonitor.prototype.change=function(ev,inputChange){if(this.paused) -return -if(!inputChange){var type=$(ev.target).attr('type') -if(type=='text'||type=="password") -return} -if(!this.$el.hasClass('oc-data-changed')){this.$el.trigger('changed.oc.changeMonitor') -this.$el.addClass('oc-data-changed')}} -ChangeMonitor.prototype.unchange=function(){if(this.paused) -return -if(this.$el.hasClass('oc-data-changed')){this.$el.trigger('unchanged.oc.changeMonitor') -this.$el.removeClass('oc-data-changed')}} -ChangeMonitor.prototype.onInputChange=function(ev){if(this.paused) -return -var $el=$(ev.target) -if($el.data('oldval.oc.changeMonitor')!=$el.val()){$el.data('oldval.oc.changeMonitor',$el.val());this.change(ev,true);}} -ChangeMonitor.prototype.pause=function(){this.paused=true} -ChangeMonitor.prototype.resume=function(){this.paused=false} -ChangeMonitor.prototype.onBeforeUnload=function(){if($.contains(document.documentElement,this.$el.get(0))&&this.$el.hasClass('oc-data-changed')) -return this.options.windowCloseConfirm} -ChangeMonitor.DEFAULTS={windowCloseConfirm:false} -var old=$.fn.changeMonitor -$.fn.changeMonitor=function(option){return this.each(function(){var $this=$(this) -var data=$this.data('oc.changeMonitor') -var options=$.extend({},ChangeMonitor.DEFAULTS,$this.data(),typeof option=='object'&&option) -if(!data)$this.data('oc.changeMonitor',(data=new ChangeMonitor(this,options)))})} -$.fn.changeMonitor.Constructor=ChangeMonitor -$.fn.changeMonitor.noConflict=function(){$.fn.changeMonitor=old -return this} -$(document).render(function(){$('[data-change-monitor]').changeMonitor()})}(window.jQuery);+function($){"use strict";var BalloonSelector=function(element,options){this.$el=$(element) +$(document).render(function(){$('[data-control="simplelist"]').simplelist()})}(window.jQuery);+function($){"use strict";var BalloonSelector=function(element,options){this.$el=$(element) this.$field=$('input',this.$el) this.options=options||{};var self=this;$('li',this.$el).click(function(){if(self.$el.hasClass('control-disabled')) return diff --git a/modules/backend/assets/js/october.js b/modules/backend/assets/js/october.js index ec3caaacc..50a2cf51e 100644 --- a/modules/backend/assets/js/october.js +++ b/modules/backend/assets/js/october.js @@ -22,18 +22,14 @@ =require october.controls.js =require october.utils.js =require october.scrollpad.js -=require october.triggerapi.js =require october.verticalmenu.js =require october.navbar.js =require october.sidenav.js =require october.scrollbar.js =require october.filelist.js -=require october.hotkey.js -=require october.inputpreset.js =require october.layout.js =require october.sidepaneltab.js =require october.simplelist.js -=require october.changemonitor.js =require october.balloonselector.js =require october.treelist.js =require october.autocomplete.js diff --git a/modules/system/assets/ui/js/pagination.js b/modules/system/assets/ui/js/pagination.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/modules/system/assets/ui/js/popup.js b/modules/system/assets/ui/js/popup.js index 937164e47..c8e2f2d45 100644 --- a/modules/system/assets/ui/js/popup.js +++ b/modules/system/assets/ui/js/popup.js @@ -1,3 +1,6 @@ +/* +=require ../vendor/bootstrap/js/modal.js +*/ /* * Ajax Popup plugin * diff --git a/modules/system/assets/ui/js/toolbar.js b/modules/system/assets/ui/js/toolbar.js index 1a94e4c61..ffc7c2f7a 100644 --- a/modules/system/assets/ui/js/toolbar.js +++ b/modules/system/assets/ui/js/toolbar.js @@ -1,6 +1,6 @@ /* =require foundation.js -=require scroll.drag.js +=require drag.scroll.js */ /* diff --git a/modules/system/assets/ui/less/global.mixins.utility.less b/modules/system/assets/ui/less/global.mixins.utility.less index 45343c625..e767d5113 100644 --- a/modules/system/assets/ui/less/global.mixins.utility.less +++ b/modules/system/assets/ui/less/global.mixins.utility.less @@ -114,3 +114,18 @@ max-width: 100%; // Part 1: Set a maximum relative to the parent height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching } + +// Responsive utilities +// ------------------------- +// More easily include all the states for responsive-utilities.less. +.responsive-visibility() { + display: block !important; + table& { display: table; } + tr& { display: table-row !important; } + th&, + td& { display: table-cell !important; } +} + +.responsive-invisibility() { + display: none !important; +} \ No newline at end of file diff --git a/modules/system/assets/ui/less/site.less b/modules/system/assets/ui/less/site.less index 5a6b29629..03dae42ea 100644 --- a/modules/system/assets/ui/less/site.less +++ b/modules/system/assets/ui/less/site.less @@ -14,4 +14,5 @@ @import "site.reset.less"; @import "site.print.less"; @import "site.grid.less"; +@import "site.utility.less"; @import "site.typography.less"; \ No newline at end of file