').appendTo(b),_=C.find(".name"),O=S.find(".name");C.click(m.bind(this,"year")),C.find(".back-button").click(y.bind(this,"year","left",!0)),C.find(".forward-button").click(y.bind(this,"year","right",!0)),S.click(m.bind(this,"month")),S.find(".back-button").click(y.bind(this,"month","left",!0)),S.find(".forward-button").click(y.bind(this,"month","right",!0));var M=t('
').append('
12 3 6 9 ?? ').append('
'),q=M.find(".hourhand"),k=M.find(".minutehand"),j=M.find(".am-pm-text"),F=M.find(".digital-time-display .hour-wrapper"),D=M.find(".digital-time-display .hour");F.click(m.bind(this,"hour")),F.find(".up-button").click(y.bind(this,"hour","up",!0)),F.find(".down-button").click(y.bind(this,"hour","down",!0));var L=M.find(".digital-time-display .minute-wrapper"),N=M.find(".digital-time-display .minute");L.click(m.bind(this,"minute")),L.find(".up-button").click(y.bind(this,"minute","up",!0)),L.find(".down-button").click(y.bind(this,"minute","down",!0)),("date"==v.mode||"datetime"==v.mode)&&b.appendTo(T),("time"==v.mode||"datetime"===v.mode)&&M.appendTo(T),E?(a(E),o(E)):(a(moment()),o(moment()));var B=function(){a(E),o(E)};this.$=T,this.setSelectedDate=l,this.getSelectedDate=function(){return E},this.setYear=s,this.setMonth=d,this.setDayOfMonth=c,this.setHour=p,this.setMinute=f,this.setKeyboardNavigationState=m,this.navigate=function(e){y(x,e)}}return e.registerJqueryPlugin(r,"TrivialCalendarBox","tr-calendarbox"),t.fn.TrivialCalendarBox}),function(e){"use strict";"function"==typeof define&&define.amd?define("trivial-calendarcombobox",["trivial-core","jquery","mustache"],e):"object"==typeof exports?module.exports=e(require("trivial-core"),require("jquery"),require("mustache")):jQuery&&!jQuery.fn.trivialcalendarcombobox&&e(TrivialComponents,jQuery,Mustache)}(function(e,t,n){function r(n,r){function a(t,n){var r=O.get().indexOf(document.activeElement),i=r+t;if(i>=0&&i
').insertAfter(v);if(f.showTrigger){var w=t('
').appendTo(x);w.mousedown(function(){return h?c():(-1==O.get().indexOf(document.activeElement)&&O.first().focus(),d()),!1})}var E=t('
').appendTo("body"),T=t('
'),b=t('
').appendTo(T);T.append('
. ');var C=t('
').appendTo(T);T.append('
. ');var S=t('
').appendTo(T);T.append('
');var P=t('
').appendTo(T);T.append('
: ');var _=t('
').appendTo(T),O=T.find("[contenteditable='true']");v.addClass("tr-original-input"),O.focus(function(e){e.target==S[0]?u.setKeyboardNavigationState("year"):e.target==C[0]?u.setKeyboardNavigationState("month"):e.target==b[0]?u.setKeyboardNavigationState("day"):e.target==P[0]?u.setKeyboardNavigationState("hour"):e.target==_[0]?u.setKeyboardNavigationState("minute"):e.target==$timeZoneInput[0]&&u.setKeyboardNavigationState("timeZone"),x.addClass("focus")}).blur(function(e){g||(y?t(e.target).focus():(x.removeClass("focus"),c()))}).keydown(function(n){if(p=t(this).text(),!(e.isModifierKey(n)||n.altKey|n.ctrlKey|n.metaKey)){if(n.which==i.tab)return!a(n.shiftKey?-1:1,!0);if(!i.isSpecialKey(n.which)&&!i.isDigitKey(n.which))return a(1,!0),!1;if(n.which==i.up_arrow)return d(),n.target==b[0]?u.navigate("right"):u.navigate("up"),e.selectElementContents(n.target,0,t(n.target).text().length),!1;if(n.which==i.down_arrow)return d(),n.target==b[0]?u.navigate("left"):u.navigate("down"),e.selectElementContents(n.target,0,t(n.target).text().length),!1;if(n.which==i.left_arrow){if(0==window.getSelection().anchorOffset&&0==window.getSelection().focusOffset)return!a(-1)}else if(n.which==i.right_arrow){if(window.getSelection().anchorOffset==t(n.target).text().length&&window.getSelection().focusOffset==t(n.target).text().length)return!a(1)}else if(h&&n.which==i.enter)c(),T.select();else if(n.which==i.escape)c(),clearEditorIfNotContainsFreeText();else{var r=t(this),o=i.isSpecialKey(n.which),l=r.text().length>=parseInt(r.attr("data-maxlength")),s=window.getSelection().anchorOffset===window.getSelection().focusOffset;!o&&l&&s?n.preventDefault():d()}}}).keyup(function(e){e.keyCode!==i.up_arrow&&e.keyCodes!==i.down_arrow&&e.keyCode!==i.left_arrow&&e.keyCodes!==i.right_arrow&&o()}),T.prependTo(x).mousedown(function(e){return d(),-1==O.get().indexOf(e.target)?-1!=O.get().indexOf(document.activeElement)?!1:(O.first().focus(),!1):void 0}),v.attr("placeholder")&&T.attr("placeholder",v.attr("placeholder")),v.attr("tabindex")&&O.first().attr("tabindex",v.attr("tabindex")),v.attr("autofocus")&&O.first().focus(),x.add(E).add(w).mousedown(function(e){x.is(".focus")&&(-1!=O.get().indexOf(document.activeElement)?g=!0:y=!0)}).on("mouseout mouseup",function(){(y||g)&&(y=!1,g=!1)}),u=E.TrivialCalendarBox(f),u.$.change(function(){var e=u.getSelectedDate();e&&(m=e,l())}),m=f.selectedDate,u.setSelectedDate(f.selectedDate||null),l(),this.$=x,x[0].trivialCalendarComboBox=this,this.destroy=function(){v.removeClass("tr-original-input").insertBefore(x),x.remove(),E.remove()}}var i=e.keyCodes;return e.registerJqueryPlugin(r,"TrivialCalendarComboBox","tr-calendarcombobox"),t.fn.TrivialCalendarComboBox}),function(e){"use strict";"function"==typeof define&&define.amd?define("trivial-combobox",["trivial-core","jquery","mustache"],e):"object"==typeof exports?module.exports=e(require("trivial-core"),require("jquery"),require("mustache")):jQuery&&!jQuery.fn.trivialcombobox&&e(TrivialComponents,jQuery,Mustache)}(function(e,t,n){function r(r,a){function o(e){setTimeout(function(n){n=n||I.val();var r=h();if(b!==r||C!==n){if(0===k.length){var i=t(x.spinnerTemplate).appendTo(N);k=k.add(i)}x.queryFunction(r,{completeInputString:n,currentlySelectedEntry:P},function(t){y(t,e)}),b=r,C=n}},0)}function l(e){j.trigger("change"),g.onSelectedEntryChanged.fire(e)}function s(e,r,i){if(null==e){x.valueProperty&&j.val(""),P=null;var a=T?x.selectedEntryTemplate:x.emptyEntryTemplate,o=t(n.render(a,x.emptyEntry)).addClass("tr-combobox-entry").addClass("empty");D.empty().append(o)}else{x.valueProperty&&j.val(e[x.valueProperty]),P=e;var o=t(n.render(x.selectedEntryTemplate,e)).addClass("tr-combobox-entry");D.empty().append(o),I.val(e[x.inputTextProperty])}r&&(_=e,i||l(e))}function d(){return null!=P&&P!==x.emptyEntry}function c(){if(null==P){var e=t(n.render(x.selectedEntryTemplate,x.emptyEntry)).addClass("tr-combobox-entry").addClass("empty");D.empty().append(e)}var r=D.find(".editor-area");I.css({width:Math.min(r[0].offsetWidth,L?L[0].offsetLeft-r[0].offsetLeft:99999999)+"px",height:r.height()+"px"}).position({my:"left top",at:"left top",of:r}),T=!0}function u(){if(I.width(0).height(0),null==P&&!x.allowFreeText){var e=t(n.render(x.emptyEntryTemplate,x.emptyEntry)).addClass("tr-combobox-entry").addClass("empty");D.empty().append(e)}T=!1}function p(){B&&(F.addClass("open"),V(),E=!0)}function f(){F.removeClass("open"),N.hide(),E=!1}function h(){return I.val().substring(0,I[0].selectionStart)}function m(e){if(x.autoComplete){clearTimeout(M);var t=w.getHighlightedEntry();if(t&&!q){var n=t[x.inputTextProperty];n&&(M=setTimeout(function(){var e,t=h();e=0===n.toLowerCase().indexOf(t.toLowerCase())?t+n.substr(t.length):h(),I.val(e),I.is(":focus")&&I[0].setSelectionRange(t.length,e.length)},e||0))}q=!1}}function y(e,n){n=void 0===n?1:n,S=e,k.remove(),k=t(),w.updateEntries(e);var r=h();w.highlightTextMatches(e.length<=x.textHighlightingEntryLimit?r:null),w.highlightNextEntry(n),m(x.autoCompleteDelay),E&&p()}var g=this;a=a||{};var v=a.template||e.image2LinesTemplate,x=t.extend({valueProperty:null,inputTextProperty:"displayValue",template:e.image2LinesTemplate,selectedEntryTemplate:v,selectedEntry:void 0,spinnerTemplate:e.defaultSpinnerTemplate,noEntriesTemplate:e.defaultNoEntriesTemplate,textHighlightingEntryLimit:100,entries:null,emptyEntryTemplate:a.emptyEntryTemplate||v,emptyEntry:{},queryFunction:null,autoComplete:!0,autoCompleteDelay:0,allowFreeText:!1,freeTextEntryValues:{_isFreeTextEntry:!0},showTrigger:!0,matchingOptions:{matchingMode:"contains",ignoreCase:!0,maxLevenshteinDistance:2},editingMode:"editable"},a);x.queryFunction=x.queryFunction||e.defaultListQueryFunctionFactory(x.entries||[],x.matchingOptions),this.onSelectedEntryChanged=new e.Event;var w,E=!1,T=!1,b=null,C=null,S=x.entries,P=null,_=null,O=!1,M=-1,q=!1,k=t(),j=t(r),F=t('
').addClass(x.editingMode).insertAfter(j),D=t('
').appendTo(F);if(x.showTrigger){var L=t('
').appendTo(F);L.mousedown(function(){E?(c(),f()):setTimeout(function(){c(),I.select(),p(),null==S&&o()})})}var N=t('
').scroll(function(e){return!1}),B="editable"==x.editingMode&&(x.entries&&x.entries.length>0||a.queryFunction||x.showTrigger);B&&N.appendTo("body");var I;j.addClass("tr-original-input"),I=t('
'),I.prependTo(F).addClass("tr-combobox-editor tr-editor").focus(function(){O||(F.addClass("focus"),c())}).blur(function(){O?I.focus():(F.removeClass("focus"),Q()?e.objectEquals(g.getSelectedEntry(),_)||s(g.getSelectedEntry(),!0):(I.val(""),s(_)),u(),f())}).keydown(function(t){if(!e.isModifierKey(t)){if(t.which==i.tab){var n=w.getHighlightedEntry();return void(E&&n&&s(n,!0))}if(t.which==i.left_arrow||t.which==i.right_arrow)return void c();if((t.which==i.backspace||t.which==i["delete"])&&(q=!0),t.which==i.up_arrow||t.which==i.down_arrow){T||(I.select(),c());var r=t.which==i.up_arrow?-1:1;return E?(w.highlightNextEntry(r),m(x.autoCompleteDelay)):(o(r),p()),!1}if(t.which==i.enter){if(E||Q()){t.preventDefault();var n=w.getHighlightedEntry();E&&n?s(n,!0):x.allowFreeText&&s(g.getSelectedEntry(),!0),f(),u()}}else t.which==i.escape?(t.preventDefault(),Q()&&E||(u(),I.val(""),S=null,s(_,!1)),f()):(T||(c(),I.select()),p(),o(1))}}).keyup(function(t){!e.isModifierKey(t)&&-1===[i.enter,i.escape,i.tab].indexOf(t.which)&&d()&&I.val()!==P[x.inputTextProperty]&&s(null,!1)}).mousedown(function(){p(),null==S&&o()}),j.attr("tabindex")&&I.attr("tabindex",j.attr("tabindex")),j.attr("autofocus")&&I.focus(),F.add(N).mousedown(function(){I.is(":focus")&&(O=!0)}).mouseup(function(){O&&(I.focus(),O=!1)}).mouseout(function(){O&&(I.focus(),O=!1)}),w=N.TrivialListBox(x),w.onSelectedEntryChanged.addListener(function(t){t&&(s(t,!0,e.objectEquals(t,_)),w.selectEntry(null),f()),u()}),s(x.selectedEntry,!0,!0),D.click(function(){c(),I.select(),p(),null==S&&o()});var Q=function(){return x.allowFreeText&&I.val().length>0&&!d()},V=function(){N.show().position({my:"left top",at:"left bottom",of:F,collision:"flip",using:function(e,n){"top"===n.vertical?(F.removeClass("dropdown-flipped"),t(this).removeClass("flipped")):(F.addClass("dropdown-flipped"),t(this).addClass("flipped")),t(this).css({left:e.left+"px",top:e.top+"px"})}}).width(F.width())};this.$=F,F[0].trivialComboBox=this,this.updateEntries=y,this.getSelectedEntry=function(){if(null!=P||x.allowFreeText&&I.val()){if(null==P&&x.allowFreeText){var e=t.extend({},x.freeTextEntryValues);return e[x.inputTextProperty]=I.val(),e}var n=jQuery.extend({},P);return n._trEntryElement=void 0,n}return null},this.selectEntry=function(e,t){s(e,!0,t)},this.focus=function(){c(),I.select()},this.destroy=function(){j.removeClass("tr-original-input").insertBefore(F),F.remove(),N.remove()}}var i=e.keyCodes;return e.registerJqueryPlugin(r,"TrivialComboBox","tr-combobox"),t.fn.TrivialComboBox}),function(e){"use strict";"function"==typeof define&&define.amd?define("trivial-dateTimeField",["trivial-core","jquery","mustache"],e):"object"==typeof exports?module.exports=e(require("trivial-core"),require("jquery"),require("mustache")):jQuery&&!jQuery.fn.trivialdatetimefield&&e(TrivialComponents,jQuery,Mustache)}(function(e,t,n){function r(r,d){function c(e){le=e,$.$.toggle(e===$),V.$.toggle(e===V),K.$.toggle(e===K)}function u(){return le}function p(){return oe}function f(){if(le===V||le===K){var e=u().getHighlightedEntry();A&&e&&(p()===ee?y(e,!0):g(e,!0))}}function h(e){setTimeout(function(){var t=T();p()===ee?S(t,{completeInputString:ee.text()},function(t){C(t,e)}):k(t,{completeInputString:ne.text()},function(t){C(t,e)})},0)}function m(){U.trigger("change"),I.onChange.fire(se())}function y(e,t){H=e,v(),t&&m()}function g(e,t){Y=e,v(),t&&m()}function v(){H?(ee.text(moment([H.year,H.month-1,H.day]).format(Q.dateFormat)),G.empty().append(n.render(i,H))):(ee.text(""),G.empty().append(n.render(i,{}))),Y?(ne.text(moment([1970,0,1,Y.hour,Y.minute]).format(Q.timeFormat)),te.empty().append(n.render(o,Y))):(ne.text(""),te.empty().append(n.render(o,{})))}function x(e){y(e&&P(e,Q.dateFormat)),g(e&&D(e.hour(),e.minute(),Q.timeFormat))}function w(){ae&&(X.addClass("open"),de(),A=!0)}function E(){X.removeClass("open"),ie.hide(),A=!1}function T(){var e=p().text().replace(String.fromCharCode(160)," "),t=window.getSelection();return t.anchorOffset!=t.focusOffset?e.substring(0,Math.min(t.anchorOffset,t.focusOffset)):e}function b(t){if(Q.autoComplete&&(u()===V||u()===K)){clearTimeout(W);var n=u(),r=n.getHighlightedEntry();if(r&&!J){var i=r.displayString;i&&(W=setTimeout(function(){var t,n=T();t=0===i.toLowerCase().indexOf(n.toLowerCase())?n+i.substr(n.length):T(),p().text(t),p().is(":focus")&&e.selectElementContents(p()[0],n.length,t.length)},t||0))}J=!1}}function C(e,t){var n=u();t=void 0===t?1:t,n.updateEntries(e);var r=T();n.highlightTextMatches(e.length<=Q.textHighlightingEntryLimit?r:null),n.highlightNextEntry(t),b(Q.autoCompleteDelay),A&&w()}function S(e,t,n){""===e&&t.completeInputString.length>0&&(e=t.completeInputString);var r;if(e.match(/[^\d]/)){var i=e.split(/[^\d]/).filter(function(e){return!!e});r=q(i,moment())}else r=M(e,moment());var a=[];r=r.filter(function(e){return a.filter(function(t){return e.moment.isSame(t,"day")}).length>0?!1:(a.push(e.moment),!0)});var o=_(Q.dateFormat);r.sort(function(e,t){if(-1===o.indexOf(e.ymdOrder)&&-1!==o.indexOf(t.ymdOrder))return 1;if(-1!==o.indexOf(e.ymdOrder)&&-1===o.indexOf(t.ymdOrder))return-1;if(e.ymdOrder.length!=t.ymdOrder.length)return e.ymdOrder.length-t.ymdOrder.length;if(e.ymdOrder!==t.ymdOrder)return new Levenshtein(e.ymdOrder,o).distance-new Levenshtein(t.ymdOrder,o).distance;var n=moment();return e.moment.diff(n,"days")-t.moment.diff(n,"days")}),n(r.map(function(e){return P(e.moment,Q.dateFormat)}))}function P(e,t){return{moment:e,day:e.date(),weekDay:e.format("dd"),month:e.month()+1,year:e.year(),displayString:e.format(t)}}function _(e){var t={D:e.indexOf("D"),M:e.indexOf("M"),Y:e.indexOf("Y")};return["D","M","Y"].sort(function(e,n){return t[e]-t[n]}).join("")}function O(e,t){return{moment:e,ymdOrder:t}}function M(e,t){if(!e){for(var n=[],r=0;7>r;r++)n.push(O(moment(t).add(r,"day"),""));return n}if(e.length>8)return[];for(var i=[],r=1;r<=e.length;r++)for(var a=Math.min(e.length,r+1);a<=e.length;a-r===2?a+=2:a++)i=i.concat(q([e.substring(0,r),e.substring(r,a),e.substring(a,e.length)],t));return i}function q(e,t){function n(e){return t.isBefore(e,"day")||t.isSame(e,"day")}function r(e){var n=t.year()%100,r=(n+20)%100,i=100*Math.floor(t.year()/100);return r>e?i+e:100>e?i-100+e:e>t.year()-100&&e
0&&(e=t.completeInputString);var r=[],i=e.match(/[^\d]/),a=null!=i?i.index:null;if(null!==a){var o=e.substring(0,a),l=e.substring(a+1);r=r.concat(L(B(o),N(l),Q.timeFormat))}else if(e.length>0){if(e.length>=2){var o=e.substr(0,2),l=e.substring(2,e.length);r=r.concat(L(B(o),N(l),Q.timeFormat))}var o=e.substr(0,1),l=e.substring(1,e.length);l.length<=2&&(r=r.concat(L(B(o),N(l),Q.timeFormat)))}else r=r.concat(L(j(6,24).concat(j(1,5)),[0],Q.timeFormat));n(r)}function j(e,t){for(var n=[],r=e;t>=r;r++)n.push(r);return n}function F(e,t){for(var n=e+"";n.lengthe||e>=20}}function L(e,t,n){for(var r=[],i=0;i1?[t%60]:6>t?[10*t]:[t%60]}function B(e){var t=parseInt(e);return isNaN(t)?j(1,24):12>t?[t,(t+12)%24]:24>=t?[t%24]:[]}var I=this;d=d||{};var Q=t.extend({dateFormat:"MM/DD/YYYY",timeFormat:"HH:mm",autoComplete:!0,autoCompleteDelay:0,showTrigger:!0,editingMode:"editable"},d);this.onChange=new e.Event;var V,K,$,A=!1,H=null,Y=null,R=!1,z=!1,W=-1,J=!1,U=t(r).addClass("tr-original-input"),X=t('
').addClass(Q.editingMode).insertAfter(U),Z=t('').appendTo(X),G=t('
').appendTo(Z),ee=t('
').appendTo(Z),te=t('
').appendTo(Z),ne=t('
').appendTo(Z);if(G.click(function(){oe=ee,c($),w(),e.selectElementContents(ee[0],0,ee.text().length)}),te.click(function(){oe=ne,c($),e.selectElementContents(ne[0],0,ne.text().length)}),ee.focus(function(){oe=ee,(!R||z)&&e.selectElementContents(ee[0],0,ee.text().length)}),ne.focus(function(){oe=ne,(!R||z)&&e.selectElementContents(ne[0],0,ne.text().length)}),Q.showTrigger){var re=t('
').appendTo(X);re.mousedown(function(){A?E():setTimeout(function(){$.setSelectedDate(H?H.moment:moment()),c($),oe=ee,e.selectElementContents(ee[0],0,ee.text().length),
w()})})}var ie=t('
').scroll(function(e){return!1}),ae="editable"==Q.editingMode;ae&&ie.appendTo("body"),V=t('
').appendTo(ie).TrivialListBox({template:a}),V.onSelectedEntryChanged.addListener(function(e){e&&(y(e,e.displayString!=(H&&H.displayString)),V.selectEntry(null),E())}),K=t('
').appendTo(ie).TrivialListBox({template:l}),K.onSelectedEntryChanged.addListener(function(e){e&&(g(e,e.displayString!=(Y&&Y.displayString)),V.selectEntry(null),E())}),$=t('
').appendTo(ie).TrivialCalendarBox({firstDayOfWeek:1,mode:"date"}),$.setKeyboardNavigationState("month"),$.onChange.addListener(function(t,n){y(P(n,Q.dateFormat)),"day"===t&&(E(),oe=ne,e.selectElementContents(ne[0],0,ne.text().length),m())});var oe,le;oe=ee,c($),ee.add(ne).focus(function(){X.addClass("focus")}).blur(function(){R||(X.removeClass("focus"),v(),E())}).keydown(function(t){if(!e.isModifierKey(t)){if(t.which==s.tab)return void f();if(t.which==s.left_arrow||t.which==s.right_arrow)return void(p()===ne&&t.which==s.left_arrow&&0===window.getSelection().focusOffset?(t.preventDefault(),e.selectElementContents(ee[0],0,ee.text().length)):p()===ee&&t.which==s.right_arrow&&window.getSelection().focusOffset===ee.text().length&&(t.preventDefault(),e.selectElementContents(ne[0],0,ne.text().length)));if((t.which==s.backspace||t.which==s["delete"])&&(J=!0),t.which==s.up_arrow||t.which==s.down_arrow){p().select();var n=t.which==s.up_arrow?-1:1;return A?u()!==$&&(u().navigate(1===n?"down":"up"),b(Q.autoCompleteDelay)):(c(this===ee[0]?V:K),h(n),w()),!1}t.which==s.enter?A&&(t.preventDefault(),f(),e.selectElementContents(p()[0],0,p().text().length),E()):t.which==s.escape?(t.preventDefault(),A||(v(),e.selectElementContents(p()[0],0,p().text().length)),E()):(c(this===ee[0]?V:K),h(1),w())}}),x(U.val()?moment(U.val()):null),U.attr("tabindex")&&ee.add(ne).attr("tabindex",U.attr("tabindex")),U.attr("autofocus")&&ee.focus(),X.add(ie).mousedown(function(e){(ee.is(":focus")||ne.is(":focus"))&&(R=!0),(e.target===ee[0]||e.target===ne[0]||e.target===G[0]||e.target===te[0])&&(z=!0)}).on("mouseup mouseout",function(){R&&!z&&p().focus(),R=!1,z=!1});var se=function(){return null==H&&null==Y?null:null==H?null:null==Y?moment([H.year,H.month-1,H.day]).startOf("day"):moment([H.year,H.month-1,H.day,Y.hour,Y.minute])},de=function(){ie.show().position({my:"left top",at:"left bottom",of:X,collision:"flip",using:function(e,n){"top"===n.vertical?(X.removeClass("dropdown-flipped"),t(this).removeClass("flipped")):(X.addClass("dropdown-flipped"),t(this).addClass("flipped")),t(this).css({left:e.left+"px",top:e.top+"px"})}}).width(X.width())};this.$=X,X[0].trivialDateTimeField=this,this.setValue=x,this.getValue=se,this.focus=function(){e.selectElementContents(p()[0],0,p().text().length)},this.destroy=function(){U.removeClass("tr-original-input").insertBefore(X),X.remove(),ie.remove()}}var i='
{{weekDay}} ',a='
',o='
',l='
',s=e.keyCodes;return e.registerJqueryPlugin(r,"TrivialDateTimeField","tr-datetimefield"),t.fn.TrivialDateTimeField}),function(e){e.expr[":"].containsIgnoreCase=e.expr.createPseudo(function(t){return function(n){return e(n).text().toUpperCase().indexOf(t.toUpperCase())>=0}})}(jQuery),function(e){e.trivialMatch=function(t,n,r){function i(e){for(var n,r=[];n=e.exec(t);)r.push({start:n.index,length:n[0].length});return r}function a(e,t){var n=new Levenshtein(e,t);return n.distance<=r.maxLevenshteinDistance?[{start:0,length:t.length,distance:n.distance}]:[]}if(!n)throw"searchString may not be empty!";var r=e.extend({matchingMode:"contains",ignoreCase:!0,maxLevenshteinDistance:3},r||null);if(r.ignoreCase&&(t=t.toLowerCase(),n=n.toLowerCase()),"contains"==r.matchingMode)return n=n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),i(new RegExp(n,"g"));if("prefix"==r.matchingMode)return n=n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),i(new RegExp("^"+n,"g"));if("prefix-word"==r.matchingMode)return n=n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),i(n.charAt(0).match(/^\w/)?new RegExp("\\b"+n,"g"):new RegExp(n,"g"));if("prefix-levenshtein"==r.matchingMode)return a(t.substr(0,Math.min(n.length,t.length)),n);if("levenshtein"==r.matchingMode)return a(t,n);throw"unknown matchingMode: "+r.matchingMode}}(jQuery),function(e){function t(e){if(e){if(3==e.nodeType)for(;e.nextSibling&&3==e.nextSibling.nodeType;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else t(e.firstChild);t(e.nextSibling)}}var n=!window.ActiveXObject&&"ActiveXObject"in window;e.fn.trivialHighlight=function(r,i){return i=e.extend({highlightClassName:"tr-highlighted-text",matchingMode:"contains",ignoreCase:!0,maxLevenshteinDistance:3},i),this.find("*").each(function(){var a=e(this);a.find("."+i.highlightClassName).contents().unwrap(),n?t(this):this.normalize(),r&&""!==r&&a.contents().filter(function(){return 3==this.nodeType&&e.trivialMatch(this.nodeValue,r,i).length>0}).replaceWith(function(){for(var t=this.nodeValue||"",n="",a=e.trivialMatch(this.nodeValue,r,i),o=0,l=0;l
'+t.substr(s.start,s.length)+"",o=s.start+s.length}return n+=t.substring(o,t.length)})})}}(jQuery),function(e){"use strict";"function"==typeof define&&define.amd?define("trivial-list",["trivial-core","jquery","mustache"],e):"object"==typeof exports?module.exports=e(require("trivial-core"),require("jquery"),require("mustache")):jQuery&&!jQuery.fn.triviallist&&e(TrivialComponents,jQuery,Mustache)}(function(e,t,n){function r(r,a){function o(e){var t=g.filter(function(t){return t[m.valueProperty]==e});return t&&t.length>0?t[0]:null}function l(e){if(T.empty(),e.length>0)for(var r=0;r0?(h(),"undefined"!=typeof t&&p(t)):c(null)}function d(e){T.append(m.spinnerTemplate),setTimeout(function(){m.queryFunction(b.val(),{completeInputString:b.val(),currentlySelectedEntry:y},function(t){s(t,e)})})}function c(e){v=e,T.find(".tr-list-entry").removeClass("tr-highlighted-entry"),null!=e&&(e._trEntryElement.addClass("tr-highlighted-entry"),T.minimallyScrollTo(e._trEntryElement))}function u(e){T.find(".tr-selected-entry").removeClass("tr-selected-entry"),null==e?w.val(""):(w.val(e[m.valueProperty]),y=e,y._trEntryElement.addClass("tr-selected-entry"))}function p(e){var t=f(e);null!=t&&c(t)}function f(e){var t;if(null==g||0==g.length)return null;if(null==v&&e>0)t=-1+e;else if(null==v&&0>e)t=g.length+e;else{var n=g.indexOf(v);t=(n+g.length+e)%g.length}return g[t]}function h(){for(var e=0;e ').insertAfter(w),T=t('
').appendTo(E),b=t(' ').prependTo(E).focus(function(){E.addClass("focus")}).blur(function(){x?b.focus():(E.removeClass("focus"),c(null))}).keydown(function(t){if(t.which!=i.tab&&!e.isModifierKey(t)&&t.which!=i.left_arrow&&t.which!=i.right_arrow)if(t.which==i.up_arrow||t.which==i.down_arrow){var n=t.which==i.up_arrow?-1:1;if(null!=g)return p(n),!1;d(n)}else t.which==i.enter?(u(v),b.select()):t.which==i.escape?c(null):d(1)}).keyup(function(e){}).mousedown(function(){null==g&&d()});E.add(T).mousedown(function(){b.is(":focus")&&(x=!0)}).mouseup(function(){x&&(b.focus(),x=!1)}).mouseout(function(){x&&(b.focus(),x=!1)}),T.mouseout(function(){c(null)}),g&&l(g),u(m.selectedEntryId?o(m.selectedEntryId):null),this.$=E,E[0].trivialList=this,this.updateEntries=s,this.getSelectedEntry=function(){return y},this.destroy=function(){w.removeClass("tr-original-input").insertBefore(E),E.remove()}}var i=e.keyCodes;return e.registerJqueryPlugin(r,"TrivialList","tr-list"),t.fn.TrivialList}),function(e){"use strict";"function"==typeof define&&define.amd?define("trivial-listbox",["trivial-core","jquery","mustache"],e):"object"==typeof exports?module.exports=e(require("trivial-core"),require("jquery"),require("mustache")):jQuery&&!jQuery.fn.triviallistbox&&e(TrivialComponents,jQuery,Mustache)}(function(e,t,n){function r(r,i){function a(e){if(w.detach(),w.empty(),e.length>0)for(var r=0;r0?"undefined"!=typeof t&&u(t):s(null)}function l(e){x.parent().minimallyScrollTo(e)}function s(e){e!==v&&(v=e,w.find(".tr-listbox-entry").removeClass("tr-highlighted-entry"),null!=e&&(e._trEntryElement.addClass("tr-highlighted-entry"),l(e._trEntryElement)))}function d(e,t){x.trigger("change"),h.onSelectedEntryChanged.fire(e,t)}function c(e,t){y=e,w.find(".tr-selected-entry").removeClass("tr-selected-entry"),null!=e&&y._trEntryElement.addClass("tr-selected-entry"),d(y,t)}function u(e){var t=p(e);null!=t&&s(t)}function p(e){var t;if(null==g||0==g.length)return null;if(null==v&&e>0)t=-1+e;else if(null==v&&0>e)t=g.length+e;else{var n=g.indexOf(v);t=(n+g.length+e)%g.length}return g[t]}function f(e){for(var t=0;t ').appendTo(r),w=t('
').appendTo(x);g&&a(g),this.$=x,x[0].trivialListBox=this,this.updateEntries=o,this.getSelectedEntry=function(){if(y){var e=jQuery.extend({},y);return e._trEntryElement=void 0,e}return null},this.selectEntry=c,this.highlightNextEntry=u,this.highlightNextMatchingEntry=u,this.getHighlightedEntry=function(){return v},this.highlightTextMatches=f,this.navigate=function(e){"up"===e?u(-1):"down"===e&&u(1)}}return e.registerJqueryPlugin(r,"TrivialListBox","tr-listbox"),t.fn.TrivialListBox}),$.fn.minimallyScrollTo=function(e){return this.each(function(){var t=$(this),n=t.scrollTop(),r=n+t.innerHeight(),i=$(e).offset().top-$(this).offset().top+t.scrollTop(),a=i+e.height();n>i?t.scrollTop(i):a>r&&t.scrollTop(Math.min(i,a-t.innerHeight()));var o=t.scrollLeft(),l=o+t.innerWidth(),s=$(e).offset().left-$(this).offset().left+t.scrollLeft(),d=s+e.width();o>s?t.scrollLeft(s):d>l&&t.scrollLeft(Math.min(s,d-t.innerWidth()))})},function(e){"use strict";"function"==typeof define&&define.amd?define("trivial-tagbox",["trivial-core","jquery","mustache"],e):"object"==typeof exports?module.exports=e(require("trivial-core"),require("jquery"),require("mustache")):jQuery&&!jQuery.fn.trivialtagbox&&e(TrivialComponents,jQuery,Mustache)}(function(e,t,n){function r(r,a){function o(e){if(L.empty(),e.length>0)for(var r=0;r0?(E(),"undefined"!=typeof t&&x(t)):c(null)}function s(e){var t=P.indexOf(e);t>-1&&P.splice(t,1),e._trEntryElement.remove(),k.val(p()),u(T.getSelectedEntries())}function d(e){L.append(b.spinnerTemplate),setTimeout(function(){b.queryFunction(B.text().replace(String.fromCharCode(160)," "),{completeInputString:B.text(),currentlySelectedEntries:P},function(t){l(t,e),C&&m()})})}function c(e){_=e,L.find(".tr-tagbox-entry").removeClass("tr-highlighted-entry"),null!=e&&(e._trEntryElement.addClass("tr-highlighted-entry"),L.minimallyScrollTo(e._trEntryElement))}function u(e){k.trigger("change"),T.onSelectedEntryChanged.fire(e)}function p(){return P.map(function(e){return e[b.valueProperty]}).join(b.valueSeparator)}function f(e,r){if(null!=e&&!(b.maxSelectedEntries&&P.length>=b.maxSelectedEntries||b.distinct&&-1!=P.map(function(e){return e[b.valueProperty]}).indexOf(e[b.valueProperty]))){var i=t.extend({},e);P.splice(B.index(),0,i),k.val(p());var a=t(n.render(b.selectedEntryTemplate,i)),o=t('
');o.append(a).insertBefore(B),i._trEntryElement=o,"editable"==b.editingMode&&a.find(".tr-tagbox-tag-remove-button").click(function(e){return s(i),!1}),B.text(""),r||u(T.getSelectedEntries())}}function h(){L.position({my:"left top",at:"left bottom",of:j,collision:"flip",using:function(e,n){"top"===n.vertical?(j.removeClass("dropdown-flipped"),t(this).removeClass("flipped")):(j.addClass("dropdown-flipped"),t(this).addClass("flipped")),t(this).css({left:e.left+"px",top:e.top+"px"})}}).width(j.width())}function m(){N&&(j.addClass("open"),L.show(),h(),C=!0),null==Q&&(Q=setInterval(h,1e3))}function y(){j.removeClass("open"),L.hide(),C=!1,null!=Q&&clearInterval(Q)}function g(){var e=B.text().replace(String.fromCharCode(160)," "),t=window.getSelection();return t.anchorOffset!=t.focusOffset?e.substring(0,Math.min(window.getSelection().baseOffset,window.getSelection().focusOffset)):e}function v(t,n){clearTimeout(M),!q&&t&&(M=setTimeout(function(){var n,r=g();n=0===t.toLowerCase().indexOf(r.toLowerCase())?r+t.substr(r.length):g(),B.text(n),h(),B.is(":focus")&&e.selectElementContents(B[0],r.length,n.length)},n||0)),q=!1}function x(e){var t=w(e);null!=t&&(c(t),b.autoComplete&&v(t[b.inputTextProperty],b.autoCompleteDelay))}function w(e){var t;if(null==S||0==S.length)return null;if(null==_&&e>0)t=-1+e;else if(null==_&&0>e)t=S.length+e;else{var n=S.indexOf(_);t=(n+S.length+e)%S.length}return S[t]}function E(){for(var e=g(),t=0;t ').addClass(b.editingMode).insertAfter(k);k.appendTo(j);var F=t('
').appendTo(j);if(b.showTrigger){var D=t('
').appendTo(j);D.mousedown(function(){B.focus(),C?y():setTimeout(function(){B.select(),m(),null==S&&d()})})}var L=t('
').scroll(function(e){return!1}),N="editable"==b.editingMode&&(b.entries&&b.entries.length>0||a.queryFunction||b.showTrigger);N&&L.appendTo("body");var B=t(' ');B.appendTo(F).addClass("tr-tagbox-editor tr-editor").focus(function(){O||j.addClass("focus"),setTimeout(function(){F.minimallyScrollTo(B)})}).blur(function(){if(O)B.focus();else{if(j.removeClass("focus"),S=null,y(),b.allowFreeText&&B.text().trim().length>0){var e=t.extend({},b.freeTextEntryValues);e[b.inputTextProperty]=B.text(),f(e)}B.text("")}}).keydown(function(n){if(!e.isModifierKey(n)){if(n.which==i.tab)return void(C&&_&&f(_));if(n.which==i.left_arrow||n.which==i.right_arrow)return void(n.which==i.left_arrow&&0===B.text().length&&0===window.getSelection().anchorOffset?B.prev()&&(B.insertBefore(B.prev()),B.focus()):n.which==i.right_arrow&&0===B.text().length&&0===window.getSelection().anchorOffset&&B.next()&&(B.insertAfter(B.next()),B.focus()));if(n.which!=i.backspace&&n.which!=i["delete"])if(n.which==i.up_arrow||n.which==i.down_arrow){m();var r=n.which==i.up_arrow?-1:1;if(null!=S)return x(r),!1;d(r)}else if(n.which==i.enter){if(C&&null!=_)f(_),S=null;else if(b.allowFreeText&&B.text().trim().length>0){var a=t.extend({},b.freeTextEntryValues);a[b.inputTextProperty]=B.text(),f(a)}y()}else n.which==i.escape?(y(),B.text("")):(m(),d(1));else if(""==B.text()){var o=P[B.index()+(n.which==i.backspace?-1:0)];o&&(s(o),y())}else q=!0,d(1)}}).keyup(function(t){function n(t,n){return t.split(new RegExp("["+e.escapeSpecialRegexCharacter(n.join())+"]"))}if(B.find("*").length>0&&B.text(B.text()),b.allowFreeText){var r=g();if(r.length>0)for(var i=n(r,b.freeTextSeparators),a=0;a0){var l={};l[b.inputTextProperty]=o,f(l)}B.text(i[i.length-1]),e.selectElementContents(B[0],B.text().length,B.text().length),S=null,y()}}}).mousedown(function(){m(),null==S&&d()}),k.attr("placeholder")&&B.attr("placeholder",k.attr("placeholder")),k.attr("tabindex")&&B.attr("tabindex",k.attr("tabindex")),k.attr("autofocus")&&B.focus(),j.add(L).mousedown(function(e){B.is(":focus")&&(O=!0)}).mouseup(function(){O&&(B.focus(),O=!1)}).mouseout(function(){O&&(B.focus(),O=!1)}),S&&o(S),F.click(function(e){m(),null==S&&d();for(var t=null,n=1e6,r=0;r=o.top&&e.clientY=o.left&&e.clientXc&&(t=a,n=c,0===c))break}if(t){var o=t[0].getBoundingClientRect(),u=e.clientX>(o.left+o.right)/2;u?B.insertAfter(t):B.insertBefore(t)}B.focus()});for(var I=0;I0&&(m.highlightTextMatches(T.val()),h.directSelectionViaArrowKeys||m.highlightNextMatchingEntry(e)),m.revealSelectedEntry()}clearTimeout(b),l(t) ').insertAfter(x);"always-visible"!==h.searchBarMode&&w.addClass(h.showSearchField?"":"hide-searchfield"),w.keydown(function(t){if(t.which!=i.tab&&!e.isModifierKey(t))if(T.is(":visible")&&-1===i.specialKeys.indexOf(t.which)&&T.focus(),t.which==i.up_arrow||t.which==i.down_arrow){var n=t.which==i.up_arrow?-1:1;if(null!=g)return h.directSelectionViaArrowKeys?m.selectNextEntry(n):m.highlightNextEntry(n),!1}else t.which==i.left_arrow||t.which==i.right_arrow?m.setHighlightedNodeExpanded(t.which==i.right_arrow):t.which==i.enter?m.setSelectedEntry(m.getHighlightedEntry()[h.valueProperty]):t.which==i.escape?(T.val(""),o(),w.focus()):o(1)});var E=t('
').appendTo(w),T=t(' ').prependTo(w).attr("tabindex",x.attr("-1")).focus(function(){w.addClass("focus")}).blur(function(){w.removeClass("focus")}).keydown(function(e){if(e.which==i.left_arrow||e.which==i.right_arrow){var t=m.setHighlightedNodeExpanded(e.which==i.right_arrow);return t?!1:void 0}}).on("keyup change",function(){"show-if-filled"===h.searchBarMode&&(T.val()?w.removeClass("hide-searchfield"):w.addClass("hide-searchfield"))});"none"===h.searchBarMode&&T.css("display","none"),x.attr("placeholder")&&T.attr("placeholder",x.attr("placeholder")),x.attr("tabindex")&&w.attr("tabindex",x.attr("tabindex")),x.attr("autofocus")&&w.focus(),m=E.TrivialTreeBox(h),m.onNodeExpansionStateChanged.addListener(function(e){p.onNodeExpansionStateChanged.fire(e)}),m.$.change(function(){var e=m.getSelectedEntry();e&&c(e)}),c(void 0!==h.selectedEntryId&&null!==h.selectedEntryId?d(h.selectedEntryId):null);var b;this.$=w,w[0].trivialTree=this,this.updateEntries=a,this.getSelectedEntry=m.getSelectedEntry,this.updateChildren=m.updateChildren,this.updateNode=m.updateNode,this.removeNode=m.removeNode,this.addNode=m.addNode,this.selectNode=function(e){m.setSelectedEntry(e)},this.destroy=function(){x.removeClass("tr-original-input").insertBefore(w),w.remove()}}var i=e.keyCodes;return e.registerJqueryPlugin(r,"TrivialTree","tr-tree"),t.fn.TrivialTree}),function(e){"use strict";"function"==typeof define&&define.amd?define("trivial-treebox",["trivial-core","jquery","mustache"],e):"object"==typeof exports?module.exports=e(require("trivial-core"),require("jquery"),require("mustache")):jQuery&&!jQuery.fn.TrivialTreeBox&&(window.TrivialTreeBox=e(TrivialComponents,jQuery,Mustache))}(function(e,t,n){function r(r,i){function a(e){return(null==e[O.childrenProperty]||0==e[O.childrenProperty].length)&&!e[O.lazyChildrenFlagProperty]}function o(e,r){return t(n.render(O.templates[Math.min(O.templates.length-1,r)],e))}function l(e,n){var r=a(e),i=t('
');e._trEntryElement=i;for(var s=t('
').appendTo(i),c=0;n>c;c++)s.append('
');var u=t('
').appendTo(s),p=o(e,n);if(p.addClass("tr-tree-entry filterable-item").appendTo(s),e[O.valueProperty]===M&&s.addClass("tr-selected-entry"),s.mousedown(function(t){j.trigger("mousedown",t),g(e)}).mouseup(function(e){j.trigger("mouseup",e)}).mouseenter(function(){T(e)}).mouseleave(function(e){t(e.toElement).is(".tr-tree-entry-outer-wrapper")||T(null)}),!r){var f=t('
').appendTo(i);if(u.mousedown(function(e){return!1}).click(function(t){d(e,!e[O.expandedProperty],!0)}),e[O.childrenProperty]){if(e[O.expandedProperty])for(var h=0;h '),e.length>0)for(var n=0;n
.tr-tree-entry-children-wrapper").slideDown(n?O.animationDuration:0):e._trEntryElement.find("> .tr-tree-entry-children-wrapper").slideUp(n?O.animationDuration:0),!!i!=!!t&&P.onNodeExpansionStateChanged.fire(e)}function c(e){return e?parseInt(e._trEntryElement.attr("data-depth")):0}function u(e,t){e[O.childrenProperty]=t,e[O.lazyChildrenFlagProperty]=!1,p(e,t)}function p(e){var t=e._trEntryElement.find("> .tr-tree-entry-children-wrapper");t.empty();var n=e[O.childrenProperty];if(n&&n.length>0)for(var r=c(e),i=0;i.tr-tree-entry-and-expander-wrapper");t.addClass("tr-selected-entry")}}function w(e){j.trigger("change"),P.onSelectedEntryChanged.fire(e)}function E(e){var t=b(S(),e);null!=t&&g(t)}function T(e){if(e!==k)if(k=e,F.find(".tr-highlighted-entry").removeClass("tr-highlighted-entry"),null!=e&&e._trEntryElement){var t=e._trEntryElement.find(">.tr-tree-entry-and-expander-wrapper");t.addClass("tr-highlighted-entry"),v(t)}else{var n=S();n&&(k=n)}}function b(e,t,n){var r,i=h(function(t){return t._trEntryElement?n?t._trEntryElement.is(":visible")&&t._trEntryElement.has(">.tr-tree-entry-and-expander-wrapper .tr-highlighted-text").length>0:t._trEntryElement.is(":visible")||t===e:!1});if(null==i||0==i.length)return null;if(null==e&&t>0)r=-1+t;else if(null==e&&0>t)r=i.length+t;else{var a=i.indexOf(e);r=(a+i.length+t)%i.length}return i[r]}function C(e){F.detach();for(var t=0;t ').appendTo(r),F=t('
').appendTo(j);q&&f(q),g(void 0!==O.selectedEntryId&&null!==O.selectedEntryId?m(O.selectedEntryId):null),this.$=j,j[0].trivialTreeBox=this,this.updateEntries=f,this.getSelectedEntry=S,this.setSelectedEntry=function(e){g(m(e))},this.selectNextEntry=E,this.revealSelectedEntry=function(e){var t=S();if(t){for(var n=t;n=y(n);)d(n,!0,e);v(t._trEntryElement)}},this.setHighlightedEntry=T,this.highlightNextEntry=function(e){var t=b(k||S(),e);null!=t&&T(t)},this.highlightNextMatchingEntry=function(e){var t=b(k||S(),e,!0);null!=t&&T(t)},this.selectNextMatchingEntry=function(e){var t=b(k,e,!0);null!=t&&g(t)},this.getHighlightedEntry=function(){return k},this.highlightTextMatches=C,this.setHighlightedNodeExpanded=function(e){if(!k||a(k))return!1;var t=k[O.expandedProperty];return d(k,e,!0),!t!=!e},this.updateChildren=function(e,t){
var n=m(e);n&&u(n,t)},this.updateNode=function(e){var t=m(e.id),n=y(t);n?n[O.childrenProperty][n[O.childrenProperty].indexOf(t)]=e:q[q.indexOf(t)]=e,l(e,c(t)).insertAfter(t._trEntryElement),t._trEntryElement.remove()},this.removeNode=function(e){var t=m(e);if(t){var n=y(t);n?n[O.childrenProperty].splice(n[O.childrenProperty].indexOf(t),1):q.splice(q.indexOf(t),1),t._trEntryElement.remove()}},this.addNode=function(e,t){var n=m(e);a(n),n[O.childrenProperty]||(n[O.childrenProperty]=[]),n[O.childrenProperty].push(t);var r=l(t,c(n)+1);r.appendTo(n._trEntryElement.find(">.tr-tree-entry-children-wrapper")),n._trEntryElement.addClass("has-children")}}return e.registerJqueryPlugin(r,"TrivialTreeBox","tr-treebox"),t.fn.TrivialTreeBox}),function(e){"use strict";"function"==typeof define&&define.amd?define("trivial-treecombobox",["trivial-core","jquery","mustache"],e):"object"==typeof exports?module.exports=e(require("trivial-core"),require("jquery"),require("mustache")):jQuery&&!jQuery.fn.trivialtreecombobox&&e(TrivialComponents,jQuery,Mustache)}(function(e,t,n){function r(r,a){function o(e){setTimeout(function(){var n=h(),r=I.val();if(b!==n||C!==r){if(0===k.length){var i=t(x.spinnerTemplate).appendTo(N);k=k.add(i)}x.queryFunction(n,{completeInputString:r,currentlySelectedEntry:P},function(t){y(t,e)}),b=n,C=r}},0)}function l(e){j.trigger("change"),g.onSelectedEntryChanged.fire(e)}function s(e,r,i){if(null==e){x.valueProperty&&j.val(""),P=null;var a=T?x.selectedEntryTemplate:x.emptyEntryTemplate,o=t(n.render(a,x.emptyEntry)).addClass("tr-combobox-entry").addClass("empty");D.empty().append(o)}else{x.valueProperty&&j.val(e[x.valueProperty]),P=e;var o=t(n.render(x.selectedEntryTemplate,e)).addClass("tr-combobox-entry");D.empty().append(o),I.val(e[x.inputTextProperty])}r&&(_=e,i||l(e))}function d(){return null!=P&&P!==x.emptyEntry}function c(){if(null==P){var e=t(n.render(x.selectedEntryTemplate,x.emptyEntry)).addClass("tr-combobox-entry").addClass("empty");D.empty().append(e)}var r=D.find(".editor-area");I.css({width:Math.min(r[0].offsetWidth,L?L[0].offsetLeft-r[0].offsetLeft:99999999)+"px",height:r.height()+"px"}).position({my:"left top",at:"left top",of:r}),T=!0}function u(){if(I.width(0).height(0),null==P&&!x.allowFreeText){var e=t(n.render(x.emptyEntryTemplate,x.emptyEntry)).addClass("tr-combobox-entry").addClass("empty");D.empty().append(e)}T=!1}function p(){B&&(F.addClass("open"),V(),E=!0)}function f(){F.removeClass("open"),N.hide(),E=!1}function h(){return I.val().substring(0,I[0].selectionStart)}function m(e){if(x.autoComplete){clearTimeout(M);var t=w.getHighlightedEntry();if(t&&!q){var n=t[x.inputTextProperty];n&&(M=setTimeout(function(){var e,t=h();e=0===n.toLowerCase().indexOf(t.toLowerCase())?t+n.substr(t.length):h(),I.val(e),I.is(":focus")&&I[0].setSelectionRange(t.length,e.length)},e||0))}q=!1}}function y(e,n){S=e,k.remove(),k=t(),w.updateEntries(e);var r=h();r.length>0?(w.highlightTextMatches(e.length<=x.textHighlightingEntryLimit?r:null),w.highlightNextMatchingEntry(n)):w.highlightNextEntry(n),m(x.autoCompleteDelay),E&&p()}var g=this;a=a||{};var v=a.templates&&a.templates.length>0&&a.templates[0]||e.icon2LinesTemplate,x=t.extend({valueProperty:"id",inputTextProperty:"displayValue",templates:[e.iconSingleLineTemplate],selectedEntryTemplate:v,selectedEntry:null,spinnerTemplate:e.defaultSpinnerTemplate,noEntriesTemplate:e.defaultNoEntriesTemplate,textHighlightingEntryLimit:100,entries:null,emptyEntryTemplate:a.emptyEntryTemplate||v,emptyEntry:{},queryFunction:null,autoComplete:!0,autoCompleteDelay:0,allowFreeText:!1,freeTextEntryValues:{_isFreeTextEntry:!0},showTrigger:!0,matchingOptions:{matchingMode:"contains",ignoreCase:!0,maxLevenshteinDistance:2},childrenProperty:"children",lazyChildrenFlagProperty:"hasLazyChildren",expandedProperty:"expanded",editingMode:"editable"},a);x.queryFunction=x.queryFunction||e.defaultTreeQueryFunctionFactory(x.entries||[],x.templates,x.matchingOptions,x.childrenProperty,x.expandedProperty),this.onSelectedEntryChanged=new e.Event;var w,E=!1,T=!1,b=null,C=null,S=x.entries,P=null,_=null,O=!1,M=-1,q=!1,k=t(),j=t(r),F=t('
').addClass(x.editingMode).insertAfter(j),D=t('
').appendTo(F);if(x.showTrigger){var L=t('
').appendTo(F);L.mousedown(function(){E?(c(),f()):setTimeout(function(){c(),I.select(),p(),null==S&&o()})})}var N=t('
').scroll(function(e){return!1}),B="editable"==x.editingMode&&(x.entries&&x.entries.length>0||a.queryFunction||x.showTrigger);B&&N.appendTo("body");var I;j.addClass("tr-original-input"),I=t(' '),I.prependTo(F).addClass("tr-combobox-editor tr-editor").focus(function(){O||(F.addClass("focus"),c())}).blur(function(){O?I.focus():(F.removeClass("focus"),Q()?e.objectEquals(g.getSelectedEntry(),_)||s(g.getSelectedEntry(),!0):(I.val(""),s(_)),u(),f())}).keydown(function(t){if(!e.isModifierKey(t)){if(t.which==i.tab){var n=w.getHighlightedEntry();return void(E&&n&&s(n,!0))}if(t.which==i.left_arrow||t.which==i.right_arrow){if(E){var r=w.setHighlightedNodeExpanded(t.which==i.right_arrow);if(r)return!1}return void c()}if((t.which==i.backspace||t.which==i["delete"])&&(q=!0),t.which==i.up_arrow||t.which==i.down_arrow){T||(I.select(),c());var a=t.which==i.up_arrow?-1:1;return E?(w.highlightNextEntry(a),m(x.autoCompleteDelay)):(o(a),p()),!1}if(E&&t.which==i.enter){if(E||Q()){t.preventDefault();var n=w.getHighlightedEntry();E&&n?s(n,!0):x.allowFreeText&&s(g.getSelectedEntry(),!0),f(),u()}}else t.which==i.escape?(t.preventDefault(),Q()&&E||(u(),I.val(""),S=null,s(_,!1)),f()):(T||(c(),I.select()),p(),o(1))}}).keyup(function(t){!e.isModifierKey(t)&&t.which!=i.enter&&d()&&I.val()!==P[x.inputTextProperty]&&s(null,!1)}).mousedown(function(){p(),null==S&&o()}),j.attr("tabindex")&&I.attr("tabindex",j.attr("tabindex")),j.attr("autofocus")&&I.focus(),F.add(N).mousedown(function(){I.is(":focus")&&(O=!0)}).mouseup(function(){O&&(I.focus(),O=!1)}).mouseout(function(){O&&(I.focus(),O=!1)}),w=N.TrivialTreeBox(x),w.onSelectedEntryChanged.addListener(function(t){t&&(s(t,!0,e.objectEquals(t,_)),w.setSelectedEntry(null),f()),u()}),s(x.selectedEntry,!0,!0),D.click(function(){c(),I.select(),p(),null==S&&o()});var Q=function(){return x.allowFreeText&&I.val().length>0&&!d()},V=function(){N.show().position({my:"left top",at:"left bottom",of:F,collision:"flip",using:function(e,n){"top"===n.vertical?(F.removeClass("dropdown-flipped"),t(this).removeClass("flipped")):(F.addClass("dropdown-flipped"),t(this).addClass("flipped")),t(this).css({left:e.left+"px",top:e.top+"px"})}}).width(F.width())};this.$=F,F[0].trivialTreeComboBox=this,this.updateEntries=y,this.getSelectedEntry=function(){if(null!=P||x.allowFreeText&&I.val()){if(null==P&&x.allowFreeText){var e=t.extend({},x.freeTextEntryValues);return e[x.inputTextProperty]=I.val(),e}var n=jQuery.extend({},P);return n._trEntryElement=void 0,n}return null},this.selectEntry=function(e,t){s(e,!0,t)},this.updateChildren=w.updateChildren,this.updateNode=w.updateNode,this.removeNode=w.removeNode,this.focus=function(){c(),I.select()},this.destroy=function(){j.removeClass("tr-original-input").insertBefore(F),F.remove(),N.remove()}}var i=e.keyCodes;return e.registerJqueryPlugin(r,"TrivialTreeComboBox","tr-combobox"),t.fn.TrivialTreeComboBox}),function(e){"use strict";"function"==typeof define&&define.amd?define("trivial-unitbox",["trivial-core","jquery","mustache"],e):"object"==typeof exports?module.exports=e(require("trivial-core"),require("jquery"),require("mustache")):jQuery&&!jQuery.fn.trivialunitbox&&e(TrivialComponents,jQuery,Mustache)}(function(e,t,n){function r(r,a){function o(e){var t,n,r=q.val().match(_).join(""),i=r.indexOf(E.decimalSeparator);return-1!==i?(t=r.substring(0,i),n=r.substring(i+1,r.length).replace(/\D/g,"")):(t=r,n=""),0==t.length&&0==n?"":(e&&(n=(n+new Array(E.decimalPrecision+1).join("0")).substr(0,E.decimalPrecision)),t+E.decimalSeparator+n)}function l(e){var n=t(E.spinnerTemplate).appendTo(D);O=O.add(n),setTimeout(function(){E.queryFunction(L(),{completeInputString:q.val(),currentlySelectedEntry:S},function(t){x(t);var n=L();n.length>0&&T.highlightTextMatches(n),T.highlightNextEntry(e),b&&h()})})}function s(){w.onSelectedEntryChanged.fire(S)}function d(){M.trigger("change"),w.onChange.fire({unit:null!=S?S[E.unitValueProperty]:null,unitEntry:S,amount:g(),amountAsFloatingPointNumber:parseFloat(f(g(),E.decimalPrecision,E.decimalSeparator,E.thousandsSeparator))})}function c(e,r){if(null==e){S=null;var i=t(n.render(E.selectedEntryTemplate,E.emptyEntry)).addClass("tr-combobox-entry").addClass("empty");F.empty().append(i)}else{S=e;var i=t(n.render(E.selectedEntryTemplate,e)).addClass("tr-combobox-entry");F.empty().append(i)}p(),y(),r||s()}function u(){q.val(f(g(),E.decimalPrecision,E.decimalSeparator,E.thousandsSeparator))}function p(){q.val()&&q.val(o(!0))}function f(e,t,n,r){if(null==e||isNaN(e))return"";var i=""+e;if(i.length<=t)return 0+n+new Array(t-i.length+1).join("0")+i;var a=i.substring(0,i.length-t),o=a.replace(/\B(?=(\d{3})+(?!\d))/g,r),l=i.substr(i.length-t,t);return o+n+l}function h(){k.addClass("open"),N(),b=!0}function m(){k.removeClass("open"),D.hide(),b=!1}function y(){"left"===E.unitDisplayPosition?M.val((S?S[E.unitValueProperty]:"")+f(g(),E.decimalPrecision,E.decimalSeparator,"")):M.val(f(g(),E.decimalPrecision,E.decimalSeparator,"")+(S?S[E.unitValueProperty]:""))}function g(){var e=o(!1);return 0===e.length&&E.allowNullAmount?null:parseInt(o(!0).replace(/\D/g,""))}function v(e){c(C.filter(function(t){return t[E.unitIdProperty]===e})[0],!0)}function x(e){C=e,O.remove(),O=t(),T.updateEntries(e)}var w=this;a=a||{};var E=t.extend({unitValueProperty:"code",unitIdProperty:"code",decimalPrecision:2,decimalSeparator:".",thousandsSeparator:",",unitDisplayPosition:"right",allowNullAmount:!0,template:e.currency2LineTemplate,selectedEntryTemplate:e.currencySingleLineShortTemplate,amount:null,selectedEntry:void 0,spinnerTemplate:e.defaultSpinnerTemplate,noEntriesTemplate:e.defaultNoEntriesTemplate,entries:null,emptyEntry:{code:"..."},queryFunction:null,queryOnNonNumberCharacters:!0,openDropdownOnEditorClick:!1,showTrigger:!0,matchingOptions:{matchingMode:"prefix-word",ignoreCase:!0,maxLevenshteinDistance:2}},a);E.queryFunction=E.queryFunction||e.defaultListQueryFunctionFactory(E.entries||[],E.matchingOptions),this.onChange=new e.Event,this.onSelectedEntryChanged=new e.Event;var T,b=!1,C=E.entries,S=null,P=!1,_=new RegExp("\\d*\\"+E.decimalSeparator+"?\\d*","g"),O=t(),M=t(r).addClass("tr-original-input"),q=t(' '),k=t('
').insertAfter(M).addClass("left"===E.unitDisplayPosition?"unit-display-left":"unit-display-right");M.appendTo(k);var j=t('
').appendTo(k),F=t('
').appendTo(j);E.showTrigger&&t('
').appendTo(j),j.mousedown(function(){b?m():setTimeout(function(){h(),l()}),q.focus()});var D=t('
').appendTo("body");q.prependTo(k).addClass("tr-unitbox-editor tr-editor").focus(function(){P||(k.addClass("focus"),p())}).blur(function(){P?q.focus():(k.removeClass("focus"),u(),m())}).keydown(function(t){if(!e.isModifierKey(t)){if(t.which==i.tab){var n=T.getHighlightedEntry();b&&n&&c(n)}else if(t.which==i.left_arrow||t.which==i.right_arrow)return;if(t.which==i.up_arrow||t.which==i.down_arrow){var r=t.which==i.up_arrow?-1:1;return b?T.highlightNextEntry(r):(h(),l(r)),!1}if(b&&t.which==i.enter)t.preventDefault(),c(T.getHighlightedEntry()),m();else if(t.which==i.escape)m(),p();else if(!t.shiftKey&&-1!=i.numberKeys.indexOf(t.which)){var a=o(),s=a.indexOf(E.decimalSeparator),d=-1!=s&&a.length-(s+1)>=E.decimalPrecision,u=q.val(),f=u.indexOf(E.decimalSeparator),y=q[0].selectionStart,g=q[0].selectionEnd,v=-1!==f&&g>f&&y===g;if(d&&v){if(!/^\d$/.test(u[g]))return!1;q.val(u.substring(0,g)+u.substring(g+1)),q[0].setSelectionRange(g,g)}}}}).keyup(function(e){if(-1==i.specialKeys.indexOf(e.which)||e.which==i.backspace||e.which==i["delete"]){var t=new RegExp("(?:\\"+E.decimalSeparator+".*)\\"+E.decimalSeparator,"g").test(q.val());t&&(p(),q[0].setSelectionRange(q.val().length-E.decimalPrecision,q.val().length-E.decimalPrecision)),E.queryOnNonNumberCharacters&&(L().length>0?(h(),l(1)):m())}}).mousedown(function(){E.openDropdownOnEditorClick&&(h(),null==C&&l())}).change(function(){y(),d()}),k.add(D).mousedown(function(){q.is(":focus")&&(P=!0)}).mouseup(function(){P&&(q.focus(),P=!1)}).mouseout(function(){P&&(q.focus(),P=!1)}),T=D.TrivialListBox(E),T.onSelectedEntryChanged.addListener(function(e){e&&(c(e,!1),T.selectEntry(null),m())}),q.val(E.amount||M.val()),u(),c(E.selectedEntry||null,!0);var L=function(){return q.val().replace(_,"")},N=function(){D.show().position({my:"left top",at:"left bottom",of:k,collision:"flip",using:function(e,n){"top"===n.vertical?(k.removeClass("dropdown-flipped"),t(this).removeClass("flipped")):(k.addClass("dropdown-flipped"),t(this).addClass("flipped")),t(this).css({left:e.left+"px",top:e.top+"px"})}}).width(k.width())};this.$=k,k[0].trivialUnitBox=this,this.updateEntries=x,this.getSelectedUnit=function(){if(null==S)return null;var e=jQuery.extend({},S);return e._trEntryElement=void 0,e},this.getAmount=g,this.setAmount=function(e){if(null!=e&&e!==parseInt(e))throw"TrivialUnitBox: You must specify an integer amount!";null==e?E.allowNullAmount?q.val(""):q.val(f(0,E.decimalPrecision,E.decimalSeparator,"")):q.is(":focus")?q.val(f(e,E.decimalPrecision,E.decimalSeparator,"")):q.val(f(e,E.decimalPrecision,E.decimalSeparator,E.thousandsSeparator))},this.selectEntry=c,this.selectUnit=v,this.focus=function(){q.select()},this.destroy=function(){M.removeClass("tr-original-input").insertBefore(k),k.remove(),D.remove()}}var i=e.keyCodes;return e.registerJqueryPlugin(r,"TrivialUnitBox","tr-unitbox"),t.fn.TrivialUnitBox});