diff --git a/dist/js/jquery.keyboard.min.js b/dist/js/jquery.keyboard.min.js index 38802c92..830cd99b 100644 --- a/dist/js/jquery.keyboard.min.js +++ b/dist/js/jquery.keyboard.min.js @@ -1,3 +1,3 @@ /*! jQuery UI Virtual Keyboard v1.22.2 */ -!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&"object"==typeof module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){"use strict";var b=a.keyboard=function(c,d){var e,f=this;f.version="1.22.2",f.$el=a(c),f.el=c,f.$el.data("keyboard",f),f.init=function(){var c=b.css;f.settings=d||{},f.options=e=a.extend(!0,{},b.defaultOptions,d),f.el.active=!0,f.namespace=".keyboard"+Math.random().toString(16).slice(2),f.shiftActive=f.altActive=f.metaActive=f.sets=f.capsLock=!1,f.rows=["","-shift","-alt","-alt-shift"],f.inPlaceholder=f.$el.attr("placeholder")||"",f.watermark=b.watermark&&""!==f.inPlaceholder,f.repeatTime=1e3/(e.repeatRate||20),e.preventDoubleEventTime=e.preventDoubleEventTime||100,f.isOpen=!1,f.wheel=a.isFunction(a.fn.mousewheel),f.alwaysAllowed=[20,33,34,35,36,37,38,39,40,45,46],f.$keyboard=[],f.enabled=!0,a.isEmptyObject(e.position)||(e.position.orig_at=e.position.at),f.checkCaret=e.lockInput||b.checkCaret,f.last={start:0,end:0,key:"",val:"",layout:"",virtual:!0,keyset:[!1,!1,!1]},f.temp=["",0,0],a.each("initialized beforeVisible visible hidden canceled accepted beforeClose".split(" "),function(b,c){a.isFunction(e[c])&&f.$el.bind(c+f.namespace,e[c])}),e.alwaysOpen&&(e.stayOpen=!0),a(document).bind("mousedown keyup touchstart checkkeyboard ".split(" ").join(f.namespace+" "),function(b){if(!f.opening&&(f.escClose(b),b.target&&a(b.target).hasClass(c.input))){var d=a(b.target).data("keyboard");d===f&&d.options.openOn&&d.focusOn()}}),f.$el.addClass(c.input+" "+e.css.input).attr({"aria-haspopup":"true",role:"textbox"}),(f.$el.is(":disabled")||f.$el.attr("readonly")&&!f.$el.hasClass(c.locked))&&f.$el.addClass(c.noKeyboard),e.openOn&&f.$el.bind(e.openOn+f.namespace,function(){f.focusOn()}),f.watermark||""!==f.$el.val()||""===f.inPlaceholder||""===f.$el.attr("placeholder")||f.$el.addClass(c.placeholder).val(f.inPlaceholder),f.$el.trigger(b.events.kbInit,[f,f.el]),e.alwaysOpen&&f.reveal()},f.toggle=function(){var a=f.$keyboard.find("."+b.css.keyToggle),c=!f.enabled;f.$preview.prop("readonly",c),f.$keyboard.toggleClass(b.css.keyDisabled,c).find("."+b.css.keyButton).not(a).prop("disabled",c).attr("aria-disabled",c),a.toggleClass(b.css.keyDisabled,c),c&&f.typing_options&&(f.typing_options.text="")},f.setCurrent=function(){var c=b.css;a("."+c.hasFocus).removeClass(c.hasFocus),a("."+c.isCurrent).removeClass(c.isCurrent),f.$el.addClass(c.isCurrent),f.$keyboard.addClass(c.hasFocus),f.isCurrent(!0),f.isOpen=!0},f.isCurrent=function(a){var c=b.currentKeyboard||!1;return a?c=b.currentKeyboard=f.el:a===!1&&c===f.el&&(c=b.currentKeyboard=""),c===f.el},f.isVisible=function(){return f.$keyboard&&f.$keyboard.length?f.$keyboard.is(":visible"):!1},f.focusOn=function(){c.active&&(f.$el.is(":visible")&&setTimeout(function(){/(number|email)/i.test(f.el.type)||f.saveCaret()},20),f.isVisible()||(clearTimeout(f.timer),f.reveal()),e.alwaysOpen&&f.setCurrent())},f.reveal=function(c){f.isOpen&&(c=!0);var d=b.css;return f.opening=!0,a("."+d.keyboard).not("."+d.alwaysOpen).remove(),c&&(f.isOpen=!1,f.last.val=f.$preview&&f.$preview.val()||"",f.$keyboard.length&&(f.$keyboard.remove(),f.$keyboard=[],f.shiftActive=f.altActive=f.metaActive=!1)),f.$el.is(":disabled")||f.$el.attr("readonly")&&!f.$el.hasClass(d.locked)?void f.$el.addClass(d.noKeyboard):(f.$el.removeClass(d.noKeyboard),e.openOn&&f.$el.unbind(e.openOn+f.namespace),(!f.$keyboard||f.$keyboard&&(!f.$keyboard.length||a.contains(document.body,f.$keyboard[0])))&&f.startup(),f.watermark||f.el.value!==f.inPlaceholder||f.$el.removeClass(d.placeholder).val(""),f.originalContent=f.$el.val(),f.$preview.val(c?f.last.val:f.originalContent),e.acceptValid&&f.checkValid(),e.resetDefault&&(f.shiftActive=f.altActive=f.metaActive=!1,f.showKeySet()),f.$el.trigger(b.events.kbBeforeVisible,[f,f.el]),f.setCurrent(),f.toggle(),f.$keyboard.show(),e.usePreview&&b.msie&&("undefined"==typeof f.width&&(f.$preview.hide(),f.width=Math.ceil(f.$keyboard.width()),f.$preview.show()),f.$preview.width(f.width)),f.position=a.isEmptyObject(e.position)?!1:e.position,a.ui&&a.ui.position&&f.position&&(f.position.of=f.position.of||f.$el.data("keyboardPosition")||f.$el,f.position.collision=f.position.collision||"flipfit flipfit",e.position.at=e.usePreview?e.position.orig_at:e.position.at2,f.$keyboard.position(f.position)),f.checkDecimal(),f.lineHeight=parseInt(f.$preview.css("lineHeight"),10)||parseInt(f.$preview.css("font-size"),10)+4,e.caretToEnd&&(f.last.start=f.last.end=f.originalContent.length),b.allie&&(0===f.last.end&&f.last.start>0&&(f.last.end=f.last.start),f.last.start<0&&(f.last.start=f.last.end=f.originalContent.length)),setTimeout(function(){f.opening=!1,e.initialFocus&&b.caret(f.$preview,f.last),f.last.eventTime=(new Date).getTime(),f.$el.trigger(b.events.kbVisible,[f,f.el]),f.timer=setTimeout(function(){f.saveCaret()},200)},10),f)},f.updateLanguage=function(){var c=b.layouts,d=e.language||c[e.layout]&&c[e.layout].lang&&c[e.layout].lang||[e.language||"en"],g=b.language;d=(a.isArray(d)?d[0]:d).split("-")[0],e.display=a.extend(!0,{},g.en.display,g[d]&&g[d].display||{},f.settings.display),e.combos=a.extend(!0,{},g.en.combos,g[d]&&g[d].combos||{},f.settings.combos),e.wheelMessage=g[d]&&g[d].wheelMessage||g.en.wheelMessage,e.rtl=c[e.layout]&&c[e.layout].rtl||g[d]&&g[d].rtl||!1,f.regex=g[d]&&g[d].comboRegex||b.comboRegex,f.decimal=/^\./.test(e.display.dec),f.$el.toggleClass("rtl",e.rtl).css("direction",e.rtl?"rtl":"")},f.startup=function(){var c=b.css;f.$preview=f.$el,f.$keyboard&&f.$keyboard.length||("custom"===e.layout&&(e.layoutHash="custom"+f.customHash()),f.layout="custom"===e.layout?e.layoutHash:e.layout,f.last.layout=f.layout,f.updateLanguage(),"undefined"==typeof b.builtLayouts[f.layout]&&(a.isFunction(e.create)&&e.create(f),f.$keyboard.length||f.buildKeyboard(f.layout,!0)),f.$keyboard=b.builtLayouts[f.layout].$keyboard.clone(),""!==(f.el.id||"")&&f.$keyboard.attr("id",f.el.id+b.css.idSuffix),e.usePreview?(a.isEmptyObject(e.position)||(e.position.at=e.position.orig_at),f.$preview=f.$el.clone(!1).removeAttr("id").removeClass(c.placeholder+" "+c.input).addClass(c.preview+" "+e.css.input).removeAttr("aria-haspopup").attr("tabindex","-1").show(),"number"==f.$preview.attr("type")&&f.$preview.attr("type","text"),a("
").addClass(c.wrapper).append(f.$preview).prependTo(f.$keyboard)):a.isEmptyObject(e.position)||(e.position.at=e.position.at2)),f.preview=f.$preview[0],f.$decBtn=f.$keyboard.find("."+c.keyPrefix+"dec"),(e.enterNavigation||"TEXTAREA"===f.el.nodeName)&&f.alwaysAllowed.push(13),e.lockInput&&f.$preview.addClass(c.locked).attr({readonly:"readonly"}),f.bindKeyboard(),f.$keyboard.appendTo(e.appendLocally?f.$el.parent():e.appendTo||"body"),f.bindKeys(),e.reposition&&a.ui&&a.ui.position&&"body"==e.appendTo&&a(window).bind("resize"+f.namespace,function(){f.position&&f.isVisible()&&f.$keyboard.position(f.position)})},f.saveCaret=function(a,c){var d=b.caret(f.$preview,a,c);f.last.start=a||d.start,f.last.end=c||d.end},f.setScroll=function(){if(f.last.virtual){var a,b,c,d,g="TEXTAREA"===f.preview.nodeName,h=f.last.val.substring(0,Math.max(f.last.start,f.last.end));f.$previewCopy||(f.$previewCopy=f.$preview.clone().css({position:"absolute",zIndex:-10,visibility:"hidden"}).addClass("ui-keyboard-preview-clone"),g||f.$previewCopy.css({"white-space":"pre",width:0}),e.usePreview?f.$preview.after(f.$previewCopy):f.$keyboard.prepend(f.$previewCopy)),g?(f.$previewCopy.height(f.lineHeight).val(h),f.preview.scrollTop=f.lineHeight*(Math.floor(f.$previewCopy[0].scrollHeight/f.lineHeight)-1)):(f.$previewCopy.val(h.replace(/\s/g," ")),c=/c/i.test(e.scrollAdjustment)?f.preview.clientWidth/2:e.scrollAdjustment,a=f.$previewCopy[0].scrollWidth-1,"undefined"==typeof f.last.scrollWidth&&(f.last.scrollWidth=a,f.last.direction=!0),d=f.last.scrollWidth===a?f.last.direction:f.last.scrollWidtha?0:a-b:a>=f.preview.scrollWidth-b?f.preview.scrollWidth-c:a-c>0?a-c:0,f.last.scrollWidth=a,f.last.direction=d)}},f.bindKeyboard=function(){var c,d=b.builtLayouts[f.layout];f.$preview.unbind("keypress keyup keydown mouseup touchend ".split(" ").join(f.namespace+" ")).bind("click"+f.namespace,function(){setTimeout(function(){f.saveCaret()},150)}).bind("keypress"+f.namespace,function(g){if(e.lockInput)return!1;var h=f.last.key=String.fromCharCode(g.charCode||g.which);if(f.last.virtual=!1,f.last.event=g,f.last.$key=[],f.checkCaret&&f.saveCaret(),f.capsLock=h>=65&&90>=h&&!g.shiftKey||h>=97&&122>=h&&g.shiftKey?!0:!1,e.restrictInput){if((8===g.which||0===g.which)&&a.inArray(g.keyCode,f.alwaysAllowed))return;-1===a.inArray(h,d.acceptedKeys)&&(g.preventDefault(),c=a.extend({},g),c.type=b.events.inputRestricted,f.$el.trigger(c,[f,f.el]),a.isFunction(e.restricted)&&e.restricted(c,f,f.el))}else if((g.ctrlKey||g.metaKey)&&(97===g.which||99===g.which||118===g.which||g.which>=120&&g.which<=122))return;d.hasMappedKeys&&d.mappedKeys.hasOwnProperty(h)&&(f.last.key=d.mappedKeys[h],f.insertText(f.last.key),g.preventDefault()),f.checkMaxLength()}).bind("keyup"+f.namespace,function(c){switch(f.last.virtual=!1,c.which){case 9:if(f.tab&&e.tabNavigation&&!e.lockInput){f.shiftActive=c.shiftKey;var d=b.keyaction.tab(f);if(f.tab=!1,!d)return!1}else c.preventDefault();break;case 27:return f.close(e.autoAccept&&e.autoAcceptOnEsc?"true":!1),!1}return clearTimeout(f.throttled),f.throttled=setTimeout(function(){f.isVisible()&&f.checkCombos()},100),f.checkMaxLength(),f.$el.trigger(b.events.kbChange,[f,f.el]),f.last.val=f.$preview.val(),a.isFunction(e.change)?(e.change(a.Event("change"),f,f.el),!1):void 0}).bind("keydown"+f.namespace,function(a){switch(f.last.virtual=!1,a.which){case 8:b.keyaction.bksp(f,null,a),a.preventDefault();break;case 9:return e.tabNavigation?(f.tab=!0,!1):(f.tab=!0,!1);case 13:b.keyaction.enter(f,null,a);break;case 20:f.shiftActive=f.capsLock=!f.capsLock,f.showKeySet(this);break;case 86:if(a.ctrlKey||a.metaKey){if(e.preventPaste)return void a.preventDefault();f.checkCombos()}}}).bind("mouseup touchend ".split(" ").join(f.namespace+" "),function(){f.last.virtual=!0,f.checkCaret&&f.saveCaret()}),f.$keyboard.bind("mousedown click touchstart ".split(" ").join(f.namespace+" "),function(b){b.stopPropagation(),f.isCurrent()||(f.reveal(),a(document).trigger("checkkeyboard"+f.namespace)),f.$preview.focus()}),e.preventPaste&&(f.$preview.bind("contextmenu"+f.namespace,function(a){a.preventDefault()}),f.$el.bind("contextmenu"+f.namespace,function(a){a.preventDefault()}))},f.bindKeys=function(){var c=b.css;f.$allKeys=f.$keyboard.find("button."+c.keyButton).unbind(f.namespace+" "+f.namespace+"kb").bind(e.keyBinding.split(" ").join(f.namespace+" ")+f.namespace+" "+b.events.kbRepeater,function(d){if(d.preventDefault(),!f.$keyboard.is(":visible"))return!1;var g,h,i=0,j=this,k=a(j),l=f.getLayers(k),m=l.map(function(){return a(this).attr("data-curtxt")}).get(),n=(new Date).getTime();if(l.each(function(a,b){return b===j?(i=a,!1):void 0}),h=0>i?k:l.eq(i+k.data("curnum")),g=h.attr("data-action"),g=":"===g?":":(g||"").split(":")[0],!(n-(f.last.eventTime||0)