Файл: templates/backend/default/assets/plugins/clockface/js/clockface.min.js
Строк: 342
<?php
!function(t){var e=function(e,n){this.$element=t(e),this.options=t.extend({},t.fn.clockface.defaults,n,this.$element.data()),this.init()};e.prototype={constructor:e,init:function(){this.$clockface=t(t.fn.clockface.template),this.$clockface.find(".l1 .cell, .left.cell").html('<div class="outer"></div><div class="inner"></div>'),this.$clockface.find(".l5 .cell, .right.cell").html('<div class="inner"></div><div class="outer"></div>'),this.$clockface.hide(),this.$outer=this.$clockface.find(".outer"),this.$inner=this.$clockface.find(".inner"),this.$ampm=this.$clockface.find(".ampm"),this.ampm=null,this.hour=null,this.minute=null,this.$ampm.click(t.proxy(this.clickAmPm,this)),this.$clockface.on("click",".cell",t.proxy(this.click,this)),this.parseFormat(),this.prepareRegexp(),this.ampmtext=this.is24?{am:"12-23",pm:"0-11"}:{am:"AM",pm:"PM"},this.isInline=this.$element.is("div"),this.isInline?this.$clockface.addClass("clockface-inline").appendTo(this.$element):(this.$clockface.addClass("dropdown-menu").appendTo("body"),"focus"===this.options.trigger&&this.$element.on("focus.clockface",t.proxy(function(){this.show()},this)),t(document).off("click.clockface").on("click.clockface",t.proxy(function(e){var n=t(e.target);n.closest(".clockface").length||t(".clockface-open").each(function(){this!==e.target&&t(this).clockface("hide")})},this))),this.fill("minute")},show:function(e){this.$clockface.is(":visible")||(this.isInline||(void 0===e&&(e=this.$element.val()),this.$element.addClass("clockface-open"),this.$element.on("keydown.clockface",t.proxy(this.keydown,this)),this.place(),t(window).on("resize.clockface",t.proxy(this.place,this))),this.$clockface.show(),this.setTime(e),this.$element.triggerHandler("shown.clockface",this.getTime(!0)))},hide:function(){this.$clockface.hide(),this.isInline||(this.$element.removeClass("clockface-open"),this.$element.off("keydown.clockface"),t(window).off("resize.clockface")),this.$element.triggerHandler("hidden.clockface",this.getTime(!0))},toggle:function(t){this.$clockface.is(":visible")?this.hide():this.show(t)},setTime:function(t){var e,n,i,o="am";return void 0===t?(null===this.ampm&&this.setAmPm("am"),void 0):(t instanceof Date&&(n=t.getHours(),i=t.getMinutes()),"string"==typeof t&&t.length&&(e=this.parseTime(t),24===e.hour&&(e.hour=0),n=e.hour,i=e.minute,o=e.ampm),n>11&&24>n?(o="pm",!this.is24&&n>12&&(n-=12)):n>=0&&11>n&&(this.is24||0===n)&&(o="am"),this.setAmPm(o),this.setHour(n),this.setMinute(i),void 0)},setAmPm:function(t){t!==this.ampm&&(this.ampm="am"===t?"am":"pm",this.$ampm.text(this.ampmtext[this.ampm]),this.fill("hour"),this.highlight("hour"))},setHour:function(t){t=parseInt(t,10),t=isNaN(t)?null:t,(0>t||t>23)&&(t=null),t!==this.hour&&(this.hour=t,this.highlight("hour"))},setMinute:function(t){t=parseInt(t,10),t=isNaN(t)?null:t,(0>t||t>59)&&(t=null),t!==this.minute&&(this.minute=t,this.highlight("minute"))},highlight:function(e){var n,i=this.getValues(e),o="minute"===e?this.minute:this.hour,s="minute"===e?this.$outer:this.$inner;s.removeClass("active"),n=t.inArray(o,i),n>=0&&s.eq(n).addClass("active")},fill:function(e){var n=this.getValues(e),i="minute"===e?this.$outer:this.$inner,o="minute"===e;i.each(function(e){var i=n[e];o&&10>i&&(i="0"+i),t(this).text(i)})},getValues:function(e){var n=[11,0,1,10,2,9,3,8,4,7,6,5],i=[];return"minute"===e?t.each(n,function(t,e){i[t]=5*e}):"pm"===this.ampm?this.is24?t.each(n,function(t,e){i[t]=e+12}):(i=n.slice(),i[1]=12):i=n.slice(),i},click:function(e){var n=t(e.target),i=n.hasClass("active")?null:n.text();n.hasClass("inner")?this.setHour(i):this.setMinute(i),this.isInline||this.$element.val(this.getTime()),this.$element.triggerHandler("pick.clockface",this.getTime(!0))},clickAmPm:function(t){t.preventDefault(),this.setAmPm("am"===this.ampm?"pm":"am"),this.isInline||this.is24||this.$element.val(this.getTime()),this.$element.triggerHandler("pick.clockface",this.getTime(!0))},place:function(){var e=parseInt(this.$element.parents().filter(function(){return"auto"!=t(this).css("z-index")}).first().css("z-index"),10)+10,n=this.$element.offset();this.$clockface.css({top:n.top+this.$element.outerHeight(),left:n.left,zIndex:e})},keydown:function(e){return/^(9|27|13)$/.test(e.which)?(this.hide(),void 0):(clearTimeout(this.timer),this.timer=setTimeout(t.proxy(function(){this.setTime(this.$element.val())},this),500),void 0)},parseFormat:function(){var e=this.options.format,n="HH",i="mm";t.each(["HH","hh","H","h"],function(t,i){return-1!==e.indexOf(i)?(n=i,!1):void 0}),t.each(["mm","m"],function(t,n){return-1!==e.indexOf(n)?(i=n,!1):void 0}),this.is24=-1!==n.indexOf("H"),this.hFormat=n,this.mFormat=i},parseTime:function(e){var n,i=null,o=null,s="am",a=[];if(e=t.trim(e),this.regexpSep&&(a=e.match(this.regexpSep)),a&&a.length)i=a[1]?parseInt(a[1],10):null,o=a[2]?parseInt(a[2],10):null,s=a[3]&&"a"!==a[3].toLowerCase()?"pm":"am";else if(e=e.split("").reverse().join("").replace(/s/g,""),a=e.match(this.regexpNoSep),a&&a.length)switch(s=a[1]&&"a"!==a[1].toLowerCase()?"pm":"am",n=a[2].split("").reverse().join(""),n.length){case 1:i=parseInt(n,10);break;case 2:i=parseInt(n,10),i>24&&(i=parseInt(n[0],10),o=parseInt(n[1],10));break;case 3:i=parseInt(n[0],10),o=parseInt(n[1]+n[2],10),o>59&&(i=parseInt(n[0]+n[1],10),o=parseInt(n[2],10),i>24&&(i=null,o=null));break;case 4:i=parseInt(n[0]+n[1],10),o=parseInt(n[2]+n[3],10),i>24&&(i=null),o>59&&(o=null)}return{hour:i,minute:o,ampm:s}},prepareRegexp:function(){var t=this.options.format.match(/hs*([^hm]?)s*m/i);t&&t.length&&(t=t[1]),this.separator=t,this.regexpSep=this.separator&&this.separator.length?new RegExp("(\d\d?)\s*\"+this.separator+"\s*(\d?\d?)\s*(a|p)?","i"):null,this.regexpNoSep=new RegExp("(a|p)?\s*(\d{1,4})","i")},getTime:function(t){if(t===!0)return{hour:this.hour,minute:this.minute,ampm:this.ampm};var e=null!==this.hour?this.hour+"":"",n=null!==this.minute?this.minute+"":"",i=this.options.format;return e.length||n.length?(this.hFormat.length>1&&1===e.length&&(e="0"+e),this.mFormat.length>1&&1===n.length&&(n="0"+n),!n.length&&this.separator&&(i=i.replace(this.separator,"")),i=i.replace(this.hFormat,e).replace(this.mFormat,n),this.is24||(i=-1!==i.indexOf("A")?i.replace("A",this.ampm.toUpperCase()):i.replace("a",this.ampm)),i):""},destroy:function(){this.hide(),this.$clockface.remove(),this.isInline||"focus"!==this.options.trigger||this.$element.off("focus.clockface")}},t.fn.clockface=function(n){var i,o=Array.apply(null,arguments);return o.shift(),"getTime"===n&&this.length&&(i=this.eq(0).data("clockface"))?i.getTime.apply(i,o):this.each(function(){var i=t(this),s=i.data("clockface"),a="object"==typeof n&&n;s||i.data("clockface",s=new e(this,a)),"string"==typeof n&&"function"==typeof s[n]&&s[n].apply(s,o)})},t.fn.clockface.defaults={format:"H:mm",trigger:"focus"},t.fn.clockface.template='<div class="clockface"><div class="l1"><div class="cell"></div><div class="cell"></div><div class="cell"></div></div><div class="l2"><div class="cell left"></div><div class="cell right"></div></div><div class="l3"><div class="cell left"></div><div class="cell right"></div><div class="center"><a href="#" class="ampm"></a></div></div><div class="l4"><div class="cell left"></div><div class="cell right"></div></div><div class="l5"><div class="cell"></div><div class="cell"></div><div class="cell"></div></div></div>'}(window.jQuery);
?>