suyiScreen/public/htWeb/lib/plugin/ht-form.js

2 lines
63 KiB
JavaScript

!function(A,o,$){"use strict";var N="ht",k=N+".widget.",P=A[N],t=P.Color,M=P.widget,V=t.widgetBorder,d=t.widgetBackground,E=t.widgetIconBorder,a=t.transparent,K=t.background,L=t.highlight,r=P.Default,D=r.def,u=r.widgetRowHeight,c=r.removeHTML,p=r.drawText,Z=r.getTextSize,Q=r.isLeftButton,x=r.getWindowInfo,m=r.getImage,W=r.drawCenterImage,g=r.preventDefault,U=r.getLogicalPoint,l=r.labelFont,w=r.labelColor,C=r.labelSelectColor,n=r.widgetIndent,v=r.startDragging,I=r.createElement,B=r.getClientPoint,Y=r.scrollBarInteractiveSize,T=r.isArray,H=r.getInternal(),e=H.addEventListener,X=H.removeEventListener,O=(H.createView,H.createDiv),S=H.createCanvas,z=H.createImage,b=H.setCanvas,G=H.initContext,j=H.translateAndScale,s=H.isString,y=H.drawBorder,h=H.getImageWidth,i=H.getImageHeight,F=H.fillRect,q=H.layout,_=H.addMethod,R=H.isH,f=H.createGradientByPackedData,J=r.isTouchable,ud=r.isTouchEvent,Hn=Math.round,Dl="readonly",Rl=J?"touchstart":"mousedown",Bp={x:0,y:0,width:0,height:0},dk=function(w){var u=w.touches[0];return u?u:w.changedTouches[0]},$f=function(B,g){return B.querySelector(g)},Bq=function(G,M){var F=r.getLogicalPoint(M,G._canvas||G._view);return F.x>=0&&F.y>=0&&F.x<=G.getWidth()&&F.y<=G.getHeight()};_(r,{textFieldFont:l,textFieldColor:w,textFieldBorderColor:V,textAreaFont:l,textAreaColor:w,textAreaBorderColor:V,radioButtonLabelFont:l,radioButtonLabelColor:w,radioButtonPressBackground:V,checkBoxLabelFont:l,checkBoxLabelColor:w,checkBoxPressBackground:V,buttonLabelFont:l,buttonLabelColor:w,buttonLabelSelectColor:C,buttonBackground:d,buttonBorderColor:V,buttonSelectBackground:L,sliderBackground:t.widgetIconBackground,sliderLeftBackground:t.widgetIconHighlight,sliderThickness:3,sliderPadding:4,sliderButton:z(14,14,{type:"circle",rect:[0,0,14,14],borderWidth:1,borderColor:E,gradient:"linear.northeast",gradientColor:t.widgetIconGradient,background:d}),comboBoxMaxHeight:-1,comboBoxLabelFont:l,comboBoxLabelColor:w,comboBoxLabelSelectColor:C,comboBoxShadowColor:a,comboBoxBorderColor:V,comboBoxBackground:K,comboBoxSelectBackground:L,comboBoxDropDownIcon:z(12,16,{type:"shape",points:[1,5,6,11,11,5],borderWidth:2,borderColor:E}),imageBorderColor:$,imageBackground:$,formPaneLabelColor:w,formPaneLabelFont:l,formPaneLabelAlign:"left",formPaneLabelVAlign:"middle",formPaneHPadding:8,formPaneVPadding:8,formPaneLabelHPadding:2,formPaneLabelVPadding:0,formPaneHGap:6,formPaneVGap:6},!0);var No=function(W,Q){var D=this;(D._view=H.createView(null,D)).appendChild(D._element=I(W,Q)),D.setHeight(u),D.setWidth(80),D.iv()};D(No,o,{ms_v:1,ms_fire:1,ms_tip:1,ms_ac:["toolTip"],onPropertyChanged:function(){this.iv()},getToolTip:function(){return this._toolTip||this.getText()},getElement:function(){return this._element},getText:function(){return this._element.value},setText:function(k){this._element.value=k},getValue:function(){return this.getText()},setValue:function(d){this.setText(d)},getColor:function(){return this._element.style.color},setColor:function(e){this._element.style.color=e},getBackground:function(){return this._element.style.background},setBackground:function(e){this._element.style.background=e},getBorder:function(){return this._element.style.border},setBorder:function(Y){this._element.style.border=Y},getFont:function(){return this._element.style.font},setFont:function(T){this._element.style.font=T},isEditable:function(){return!this._element.hasAttribute(Dl)},setEditable:function(Y){var w=this._element;Y?w.removeAttribute(Dl):w.setAttribute(Dl,!0)},validateImpl:function(){var x=this;q(x._element,0,0,x.getWidth(),x.getHeight())},setFocus:function(){return r.setFocus(this._element),this.fireViewEvent("focus"),!0}}),M.TextField=function(){M.TextField.superClass.constructor.call(this,"input",r.textFieldBorderColor),this.setColor(r.textFieldLabelColor),this.setFont(r.textFieldLabelFont)},D(k+"TextField",No,{getType:function(){return this._element.getAttribute("type")},setType:function(D){var P=this._element,W=r.numberListener;P.setAttribute("type",D),X(P,"keydown",W,!1),"number"===D&&e(P,"keydown",W,!1)}}),M.TextArea=function(){M.TextArea.superClass.constructor.call(this,"textarea",r.textAreaBorderColor),this.setColor(r.textAreaLabelColor),this.setFont(r.textAreaLabelFont)},D(k+"TextArea",No,{}),M.Button=function(){var v=this,k=v._view=H.createView(null,v);v.setHeight(u),v.setWidth(80),v._canvas=S(k),new er(v),v.iv()},D(k+"Button",o,{ms_v:1,ms_fire:1,ms_tip:1,ms_ac:["groupId","label","icon","iconColor","orientation","toolTip","labelFont","labelColor","labelSelectColor","borderColor","background","selectBackground","togglable","selected","pressed","clickable"],_clickable:!0,_togglable:!1,_selected:!1,_pressed:!1,_orientation:"h",_labelFont:r.buttonLabelFont,_labelColor:r.buttonLabelColor,_labelSelectColor:r.buttonLabelSelectColor,_borderColor:r.buttonBorderColor,_background:r.buttonBackground,_selectBackground:r.buttonSelectBackground,onClicked:function(){},onSelectedChanged:function(){},getValue:function(){return this.isSelected()},setValue:function(D){this.setSelected(D)},onValueChanged:function(){},onPropertyChanged:function(C){var W=this,S=W._view.parentNode;W.iv(),"selected"===C.property&&(null!=W.getGroupId()&&S&&S.handleGroupSelectedChanged&&S.handleGroupSelectedChanged(W),W.onSelectedChanged(),W.onValueChanged(C.oldValue,C.newValue))},getToolTip:function(){return this._toolTip||this._label},getCurrentBackground:function(){return this._pressed||this._selected?this._selectBackground:this._background},getCurrentBorderColor:function(){return this._borderColor},validateImpl:function(){var N=this,K=N._canvas,a=N.getWidth(),O=N.getHeight(),C=N._pressed||N._selected,P=N.getCurrentBackground();b(K,a,O);var Q=G(K);j(Q,0,0,1),Q.clearRect(0,0,a,O),P&&F(Q,0,0,a,O,P),y(Q,N.getCurrentBorderColor(),0,0,a,O);var c=N.getIconColor(),x=m(N._icon,c),H=h(x),V=i(x),U=N._label,z=N.getLabelFont(),e=C?N._labelSelectColor:N._labelColor,L=null==U?Bp:Z(z,U),B=L.width,o=L.height;R(N)?(H&&W(Q,x,a/2-(H+B)/2+H/2,O/2,N,N,c),B&&p(Q,U,z,e,a/2-(H+B)/2+H,0,B,O,"center")):(H&&W(Q,x,a/2,O/2-(V+o)/2+V/2,N,N,c),B&&p(Q,U,z,e,a/2-B/2,O/2-(V+o)/2+V,B,o,"center")),Q.restore()}});var er=M.ButtonInteractor=function(v){this.button=v,this.addListeners()};D(k+"ButtonInteractor",o,{ms_listener:1,getView:function(){return this.button._view},handle_mousedown:function(t){Q(t)&&this.handle_touchstart(t)},handleWindowMouseMove:function(B){this.handleWindowTouchMove(B)},handleWindowMouseUp:function(a){this.handleWindowTouchEnd(a)},handle_touchstart:function(I){g(I),this.button.setFocus(I)&&this.button.isClickable()&&(v(this,I),this.button.setPressed(!0))},handleWindowTouchMove:function(){},handleWindowTouchEnd:function(s){var x=this,D=x.button;D.setPressed(!1),Bq(D,s)&&(D.isTogglable()&&(null!=D.getGroupId()?D.setSelected(!0):D.setSelected(!D.isSelected())),D.onClicked(s))}});var As=function(){var J=this,b=J._view=H.createView(null,J);J.setHeight(u),J.setWidth(80),J._canvas=S(b),new Wo(J),J.iv()};D(As,o,{ms_v:1,ms_fire:1,ms_tip:1,ms_ac:["label","labelFont","labelColor","toolTip","icon","iconColor","selected","pressed","pressBackground","padding"],_padding:0,_selected:!1,_pressed:!1,onClicked:function(){},onSelectedChanged:function(){},onValueChanged:function(){},getValue:function(){return this.isSelected()},setValue:function(R){this.setSelected(R)},onPropertyChanged:function(X){var l=this;l.iv(),"selected"===X.property&&(l.onSelectedChanged(),l.onValueChanged(X.oldvalue,X.newValue))},getToolTip:function(){return this._toolTip||this._label},validateImpl:function(){var N=this,k=N._canvas,Q=N.getWidth(),v=N.getHeight(),t=N.getCheckIcon;b(k,Q,v);var g=G(k);j(g,0,0,1),g.clearRect(0,0,Q,v);var H=N._padding,c=N._iconColor,L=m(t?N.getCheckIcon():N.getRadioIcon()),K=h(L),C=i(L);N._pressed&&(g.fillStyle=N._pressBackground,g.beginPath(),t?g.rect(H,v/2-C/2,K,C):g.arc(H+K/2,v/2,Math.min(K,C)/2,0,2*Math.PI,!0),g.fill()),W(g,L,H+K/2,v/2,N,N),H+=K+1,L=m(N.getIcon(),c),K=h(L),W(g,L,H+K/2,v/2,N,N,c),H+=K,p(g,N._label,N._labelFont,N._labelColor,H,0,0,v),g.restore()}});var Wo=function(K){this.c=K,this.addListeners()};D(Wo,o,{ms_listener:1,getView:function(){return this.c._view},handle_mousedown:function(H){Q(H)&&this.handle_touchstart(H)},handleWindowMouseMove:function(u){this.handleWindowTouchMove(u)},handleWindowMouseUp:function(k){this.handleWindowTouchEnd(k)},handle_touchstart:function(l){g(l),this.c.setFocus(l)&&(v(this,l),this.c.setPressed(!0))},handleWindowTouchMove:function(){},handleWindowTouchEnd:function(Z){var l=this,e=l.c;e.setPressed(!1),Bq(e,Z)&&(e.handleClick(Z),e.onClicked(Z))}}),M.CheckBox=function(){M.CheckBox.superClass.constructor.call(this)},D(k+"CheckBox",As,{_labelFont:r.checkBoxLabelFont,_labelColor:r.checkBoxLabelColor,_pressBackground:r.checkBoxPressBackground,getCheckIcon:function(){return this._selected?"check":"uncheck"},handleClick:function(){this.setSelected(!this.isSelected())}}),M.RadioButton=function(){M.RadioButton.superClass.constructor.call(this)},D(k+"RadioButton",As,{ms_ac:["groupId"],_pressBackground:r.radioButtonPressBackground,_labelFont:r.radioButtonLabelFont,_labelColor:r.radioButtonLabelColor,getRadioIcon:function(){return this._selected?"radioOn":"radioOff"},onPropertyChanged:function(L){var d=this,S=d._view.parentNode;d.iv(),null!=d.getGroupId()&&"selected"===L.property&&(S&&S.handleGroupSelectedChanged&&S.handleGroupSelectedChanged(d),d.onSelectedChanged(),d.onValueChanged(L.oldValue,L.newValue))},handleClick:function(){this.setSelected(!0)}}),M.Slider=function(){var A=this,n=A._view=H.createView(null,A);A.setHeight(u),A.setWidth(80),A._canvas=S(n),new zh(A),A.iv(),A.enableToolTip()},D(k+"Slider",o,{ms_v:1,ms_fire:1,ms_tip:1,ms_ac:["value","min","max","step","button","toolTip","instant","thickness","padding","background","leftBackground"],_min:0,_max:100,_value:50,_step:$,_instant:!0,_button:r.sliderButton,_thickness:r.sliderThickness,_padding:r.sliderPadding,_background:r.sliderBackground,_leftBackground:r.sliderLeftBackground,onPropertyChanged:function(b){var D=this,P=b.property;("min"===P||"max"===P||"step"===P)&&D.setValue(D._value),D.iv()},adjustValue:function($){null==$&&($=0);var L=this,c=L._min,f=L._max,P=L._step;return c>$&&($=c),$>f&&($=f),P>0&&($=Math.floor(($-c)/P+1e-6)*P+c),$},getToolTip:function(){return this._toolTip||this._value},getValue:function(){return this._value},setValue:function(L){var A=this,S=A._value;L=A.adjustValue(L),S!==L&&(A._value=L,A.fp("value",S,L),A.onValueChanged(S,L))},onValueChanged:function(){},onBeginValueChanged:function(){},onEndValueChanged:function(){},drawBackground:function(v,X,z,$,E){F(v,X,z,$,E,this.getBackground())},drawLeftBackground:function(k,$,p,Y,j){var S=this.getLeftBackground();S&&F(k,$,p,Y,j,S)},drawButton:function(R,L,C,i,f){W(R,m(this._button),L+i/2,C+f/2,this,this)},getButtonWidth:function(){var Y=m(this._button);return Y?Y.width:0},validateImpl:function(){var u=this,l=u._canvas,R=u._min,W=u._max,B=u._value,M=u._padding,O=u._thickness,p=u.getWidth(),N=u.getHeight(),a=u.getButtonWidth(),x=(N-O)/2,c=a/2+(B-R)/(W-R)*(p-2*M-a);b(l,p,N);var o=G(l);j(o,0,0,1),o.clearRect(0,0,p,N),u.drawBackground(o,M,x,p-2*M,O),u.drawLeftBackground(o,M,x,c,O),u.drawButton(o,M+c-a/2,0,a,N),o.restore()}});var zh=function(q){this.slider=q,this.addListeners()};D(zh,o,{ms_listener:1,getView:function(){return this.slider._view},handle_mousedown:function(d){Q(d)&&this.handle_touchstart(d)},handleWindowMouseMove:function(Q){this.handleWindowTouchMove(Q)},handleWindowMouseUp:function(e){this.handleWindowTouchEnd(e)},setValue:function(m){var A=this.slider,V=A.getPadding()+A.getButtonWidth()/2,b=A.getMin();A.setValue(b+(U(m,A._canvas).x-V)/(A.getWidth()-2*V)*(A.getMax()-b))},handle_touchstart:function(Y){var Q=this;g(Y),Q.slider.setFocus(Y)&&(Q.slider.onBeginValueChanged(),Q.setValue(Y),v(Q,Y),r.showToolTip(Y,Q.slider.getToolTip(Y),Q.slider))},handleWindowTouchMove:function(F){this.setValue(F),r.showToolTip(F,this.slider.getToolTip(F),self.slider)},handleWindowTouchEnd:function(E){this.setValue(E),this.slider.onEndValueChanged(),r.hideToolTip()}}),M.ComboBox=function(){var N=this,A=N._view=H.createView(null,N),W=N._listView=new M.ListView,B=N._canvas=S(A),C=W._view,G=W.sm();N.setHeight(u),N.setWidth(80),G.setSelectionMode("single"),W.drawRow=function(w,X,t,z,Y,h,A){N.drawRow(w,X,t,z,Y,h,A)},A.style.display="inline-block",H.setBorder(A,r.comboBoxBorderColor),C.style.boxShadow="0px 0px 10px "+r.comboBoxShadowColor,null!=r.baseZIndex&&(C.style.zIndex=parseInt(r.baseZIndex)+1+""),e(C,"mousemove",function(p){G.ss(W.getDataAt(p))},!1),e(C,"keydown",function(i){if(H.isEnter(i)){var g=G.ld();g&&(N.setValue(g.value),N.close())}H.isEsc(i)&&N.close()},!1),e(A,"keydown",function(y){(H.isDown(y)||H.isUp(y))&&N.open()},!1),W.onDataClicked=function(G){N.setValue(G.value),N.close()},e(A,Rl,function(y){if(Q(y)){var T=y.target;(T===B||T===A)&&(g(y),N.toggle())}},!1),N._handleWindowClick=function(P){if(Q(P)){var I=P.target;I===N._input||C.contains(I)||I===A||(N._input?N.setInputValue(N._input):N.close())}},N.iv()},r.def(k+"ComboBox",o,{ms_v:1,ms_fire:1,ms_tip:1,ms_ac:["dropDownIcon","dropDownWidth","dropDownBackground","toolTip","strict","indent","background","labelFont","labelColor","labelSelectColor","maxHeight","selectBackground","value","values","labels","icons","editable"],_strict:!0,_editable:!1,_maxHeight:r.comboBoxMaxHeight,_labelFont:r.comboBoxLabelFont,_labelColor:r.comboBoxLabelColor,_labelSelectColor:r.comboBoxLabelSelectColor,_background:r.comboBoxBackground,_dropDownWidth:$,_dropDownIcon:r.comboBoxDropDownIcon,_dropDownBackground:r.comboBoxBackground,_selectBackground:r.comboBoxSelectBackground,_indent:n,getInput:function(){return this._input},getListView:function(){return this._listView},onPropertyChanged:function(N){this.iv(),"value"===N.property&&this.onValueChanged(N.oldValue,N.newValue)},onValueChanged:function(){},getToolTip:function(){return this._toolTip||this.toLabel(this._value)},getLabelColor:function(z,F){return F?this._labelSelectColor:this._labelColor},isEqual:function(o,m){return this._strict?o===m:o==m},toLabel:function(U){var N=this,n=N.getValues(),o=N.getLabels();if(o&&n&&o.length===n.length)for(var b=0;b<n.length;b++)if(N.isEqual(n[b],U))return o[b];return null==U?"":U+""},toIcon:function(B){var i=this,Q=i.getValues(),U=i.getIcons();if(U&&Q&&U.length===Q.length)for(var r=0;r<Q.length;r++)if(i.isEqual(Q[r],B))return U[r];return null},drawValue:function(I,F,E,$,b,G,u){var X=this,L=X.getIndent(),B=X.toLabel(F),s=m(X.toIcon(F));s&&(W(I,s,$+L/2,b+u/2),$+=L),B&&p(I,B,X.getLabelFont(F,E),X.getLabelColor(F,E),$,b,0,u)},drawRow:function(I,$,X,v,_,m,T){var r=this,q=$.value,e=r.getIndent();X&&F(I,v,_,m,T,r._selectBackground),r.drawValue(I,q,X,v,_,m-e,T)},validateImpl:function(){var h=this,Y=h._canvas,A=h.getIndent(),a=h.getWidth(),e=h.getHeight(),L=a-A,l=h._background||"";h._view.style.background=l,h._listView._view.style.background=h._dropDownBackground,b(Y,a,e);var K=G(Y);j(K,0,0,1),K.clearRect(0,0,a,e),A>0&&W(K,m(h._dropDownIcon),a-A/2,e/2,h,h),K.beginPath(),K.rect(0,0,L,e),K.clip(),h.drawValue(K,h._value,!1,0,0,L,e),K.restore()},isOpened:function(){return!!this._listView._view.parentNode},open:function(){var W=this,l=W._listView,C=l.dm(),p=W.getValues()||[],Y=p.length;if(!W.isOpened()){C.clear();for(var J=0;Y>J;J++){var i=new P.Data,b=p[J];i.setName(W.toLabel(b)),i.value=b,C.add(i),W.isEqual(b,W._value)&&C.sm().ss(i)}var G=x(),L=G.left,h=G.top,X=G.height,n=W._view.getBoundingClientRect(),S=n.left+L,R=n.top+h,t=n.height,j=W.getIndent(),v=W.getWidth(),B=W.getHeight(),O=S+1,y=R+t,z=W.getDropDownWidth()||v,f=Y*B;if(W._maxHeight>0&&(f=Math.min(f,W._maxHeight)),l.setRowHeight(B),y+f>h+X&&(R-h>h+X-R-t?(f=Math.min(f,R-h),y=R-f):f=h+X-y),W._editable){var U=W._input=r.createElement("input",W.getSelectBackground(),W.getLabelFont(),W.toLabel(W._value));U.className="ht-widget-combobox-input",P.Default.appendToScreen(U),q(U,S,R+1,v-j,B),e(U,"keydown",function(y){H.isEnter(y)?W.setInputValue(U):H.isEsc(y)&&W.close()},!1),W.onInputCreated(U)}l.getView().className="ht-widget-combobox-popup",P.Default.appendToScreen(l.getView()),q(l,O,y,z,f),l.setFocus(),P.Default.callLater(function(){e(A,Rl,W._handleWindowClick,!0)}),W.onOpened&&W.onOpened(),H.closePopup(W)}},onInputCreated:function(){},setInputValue:function(o){var v=this,a=v.getLabels(),m=v.getValues(),R=o.value;if(a)for(var l=0;l<a.length;l++)R===a[l]&&(R=m[l]);"string"==typeof R&&m&&m.length&&"number"==typeof m[0]&&(R=parseFloat(R)),v.setValue(R),v.close()},close:function(){var t=this;t.isOpened()&&(c(t._listView._view),t._input&&(c(t._input),delete t._input),X(A,Rl,t._handleWindowClick,!0),t.onClosed&&t.onClosed(),r.popup===t&&delete r.popup),t.setFocus()},toggle:function(){var E=this;E.isOpened()?E.close():E.open()}}),M.BaseDropDownTemplate=function(m){this._master=m},r.def(k+"BaseDropDownTemplate",o,{ms_ac:["master"],getView:function(){},onOpened:function(){},onClosed:function(){},getValue:function(){},getWidth:function(){},getHeight:function(){}}),M.MultiComboBox=function(){var E=this,$=E._view=H.createView(null,E),t=E._canvas=S($);E.setHeight(u),E.setWidth(80),$.style.display="inline-block",H.setBorder($,r.comboBoxBorderColor),e($,"keydown",function(r){(H.isDown(r)||H.isUp(r))&&E.open()},!1),e($,Rl,function(j){if(Q(j)){var q=j.target;(q===t||q===$)&&(g(j),E.toggle())}},!1),E._handleWindowClick=function(w){if(Q(w)){var y=w.target,g=E._dropDownComponentInstanceView;y===E._input||y===$||g&&g.contains(y)||E.close(!0)}},E.iv()},r.def(k+"MultiComboBox",o,{ms_v:1,ms_fire:1,ms_tip:1,ms_ac:["dropDownIcon","toolTip","background","labelFont","labelColor","value","editable","indent","dropDownComponent"],_editable:!1,_background:r.comboBoxBackground,_dropDownIcon:r.comboBoxDropDownIcon,_indent:n,_labelFont:r.comboBoxLabelFont,_labelColor:r.comboBoxLabelColor,onPropertyChanged:function(t){var B=this;B.iv(),"value"===t.property&&B.onValueChanged(t.oldValue,t.newValue)},onValueChanged:function(){},getDropDownComponentInstance:function(){return this._dropDownComponentInstance},getToolTip:function(){return this._toolTip},validateImpl:function(){var l=this,O=l._canvas,C=l._indent,k=l.getWidth(),c=l.getHeight(),v=k-C,D=l._background||"";l._view.style.background=D,b(O,k,c);var N=G(O);j(N,0,0,1),N.clearRect(0,0,k,c),W(N,m(l._dropDownIcon),k-10,c/2,l,l),N.beginPath(),N.rect(0,0,v,c),N.clip(),this.drawValue(N,0,0,v,c),l._input&&l._input.value!==l._value&&(l._input.value=null==l._value?"":l._value),N.restore()},drawValue:function(g,w,E,n,e){p(g,this._value,this.getLabelFont(),this.getLabelColor(),w+1,E,0,e)},isOpened:function(){var p=this,z=p._dropDownComponentInstanceView;return!!z},open:function(){var D=this;if(!D.isOpened()){var j=r.getClass(D._dropDownComponent),w=D._dropDownComponentInstance=new j(D),z=D._dropDownComponentInstanceView=w.getView(),V=x(),p=V.left,b=V.top,J=D._view.getBoundingClientRect(),a=J.left+p,X=J.top+b,L=D.getIndent(),F=D.getWidth(),K=D.getHeight();if(w.beforeOpen&&w.beforeOpen(D._value),D._editable){var i=D._input=r.createElement("input",r.comboBoxSelectBackground,D.getLabelFont(),D._value);P.Default.appendToScreen(i),q(i,a,X+1,F-L,K),e(i,"keydown",function(e){H.isEnter(e)?(D.setValue(i.value),D.close(!0)):H.isEsc(e)&&D.close(!0)},!1),D.onInputCreated(i)}z.style.boxShadow="0px 0px 10px "+r.toolTipShadowColor,z.style.position="absolute",null!=r.baseZIndex&&(z.style.zIndex=parseInt(r.baseZIndex)+1+""),P.Default.appendToScreen(z),P.Default.setFocus(z),this.layoutDropDown(),w.onOpened&&w.onOpened(D._value),P.Default.callLater(function(){e(A,Rl,D._handleWindowClick,!0)}),D.onOpened&&D.onOpened(),H.closePopup(D),D.fireViewEvent("open")}},layoutDropDown:function(){var R=this,n=R._dropDownComponentInstance,I=x(),k=I.left,s=I.top,A=I.width,K=I.height,r=R._view.getBoundingClientRect(),G=r.left+k,S=r.top+s,w=r.height,g=R.getWidth(),z=G,E=S+w,o=n.getWidth()||g,y=n.getHeight();E+y>s+K&&S-s>s+K-S-w&&(E=S-y),z+o>k+A&&(z-=z+o-k-A),q(n,z,E,o,y)},onInputCreated:function(){},close:function(I){var $=this;if($.isOpened()){I||$.setValue($._dropDownComponentInstance.getValue());var P=$._dropDownComponentInstance,F=$._dropDownComponentInstanceView;P.onClosed&&P.onClosed(),c(F),delete $._dropDownComponentInstanceView,delete $._dropDownComponentInstance,$._input&&(c($._input),delete $._input),X(A,Rl,$._handleWindowClick,!0),$.onClosed&&$.onClosed(),r.popup===$&&delete r.popup,$.fireViewEvent("close")}$.setFocus()},toggle:function(){var f=this;f.isOpened()?f.close():f.open()}}),M.Image=function(){var k=this,b=k._view=H.createView(null,k);b.onmousedown=g,k.setHeight(u),k.setWidth(80),k._canvas=S(b),new ok(k),k.iv()},D(k+"Image",o,{ms_v:1,ms_fire:1,ms_tip:1,ms_ac:["icon","iconColor","stretch","toolTip","borderColor","background"],_borderColor:r.imageBorderColor,_background:r.imageBackground,_stretch:"centerUniform",onClicked:function(){},onPropertyChanged:function(){this.iv()},validateImpl:function(){var A=this,e=A._canvas,K=A.getWidth(),i=A.getHeight(),l=A._iconColor,r=m(A._icon,l),T=A._background;b(e,K,i);var B=G(e);j(B,0,0,1),B.clearRect(0,0,K,i),T&&F(B,0,0,K,i,T),this.drawImage(B,r,0,0,K,i,l),y(B,A._borderColor,0,0,K,i),B.restore()},drawImage:function(h,j,F,i,f,c,S){j&&r.drawStretchImage(h,j,this._stretch,F,i,f,c,null,this,S)}});var ok=function(w){this.image=w,this.addListeners()};D(ok,o,{ms_listener:1,getView:function(){return this.image._view},handle_mousedown:function(b){Q(b)&&this.handle_touchstart(b)},handleWindowMouseMove:function(G){this.handleWindowTouchMove(G)},handleWindowMouseUp:function(K){this.handleWindowTouchEnd(K)},handle_touchstart:function(m){g(m),v(this,m)},handleWindowTouchMove:function(){},handleWindowTouchEnd:function(L){var k=this,D=k.image;Bq(D,L)&&D.onClicked(L)}});var lh="data:image/png;base64,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",gq="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAEACAIAAABdw+MhAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALBJREFUeNrs2sEJgDAQRNGJBPuvV5R4FAuYnF4aeGRv+9mx0n0zOQEAAAAAAAAAAAAAAABsAsbK0/3Bk6MLXO1WAQAAAAAAAAAAAAAAAOBLCUn3bGCWWwgAAAAAAAAAAAAAAACA36Z/rzKw7vKIcgEAAAAAAAAAAAAAAADYBIzyzUBmuYUAAAAAAAAAAAAAAAAA2AmM8s1AZrmFAAAAAAAAAAAAAAAAAPht+uWU8AowAGyEi9doBGciAAAAAElFTkSuQmCC",Zh="data:image/png;base64,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",Fq="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA6SURBVChTY/iPCk6DwRkYoKv0sWPHjiIBBohyCADKQVXBAIr0kSNHoMIwwAC1BAyApkGFYYAS6f//AVzgDAPz1XkAAAAAAElFTkSuQmCC",Eb="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAACXBIWXMAAAsTAAALEwEAmpwYAAABNmlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarY6xSsNQFEDPi6LiUCsEcXB4kygotupgxqQtRRCs1SHJ1qShSmkSXl7VfoSjWwcXd7/AyVFwUPwC/0Bx6uAQIYODCJ7p3MPlcsGo2HWnYZRhEGvVbjrS9Xw5+8QMUwDQCbPUbrUOAOIkjvjB5ysC4HnTrjsN/sZ8mCoNTIDtbpSFICpA/0KnGsQYMIN+qkHcAaY6addAPAClXu4vQCnI/Q0oKdfzQXwAZs/1fDDmADPIfQUwdXSpAWpJOlJnvVMtq5ZlSbubBJE8HmU6GmRyPw4TlSaqo6MukP8HwGK+2G46cq1qWXvr/DOu58vc3o8QgFh6LFpBOFTn3yqMnd/n4sZ4GQ5vYXpStN0ruNmAheuirVahvAX34y/Axk/96FpPYgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6AAAUggAARVYAAA6lwAAF2/XWh+QAAAANUlEQVR42myNsQ0AMAzC8P9Hu0sjpU3YkLFADWBmIInqQsgDAar8kCY6zDtYzfUzte5ROQMAeFAiAMRBE+oAAAAASUVORK5CYII=",Dr=function(){var L=document.createElement("canvas");
return function(q){var E=L.getContext("2d"),o=E.createLinearGradient(0,0,0,1);try{return o.addColorStop(0,q),!0}catch(I){return!1}}}();M.ColorPicker=function(){var I=this;M.ColorPicker.superClass.constructor.call(I),I.setEditable(!0),I.setDropDownComponent(M.ColorPickerTemp)},D(k+"ColorPicker",M.MultiComboBox,{ms_ac:["instant","clearButtonVisible","paletteColors","paletteBorderColor"],_clearButtonVisible:!0,_paletteBorderColor:"black",setValue:function(Y){var J=this;if(Y!==$){if(""!==Y&&null!==Y&&!Dr(Y))return J.handleErrorValue(Y),void 0;var b=J._value;J._value=Y,J.fp("value",b,Y)}},handleErrorValue:function(){},drawValue:function(X,r,j,V,h){this._value&&(X.beginPath(),X.rect(r+2,j+2,20,h-4),X.fillStyle=this._value,X.fill()),p(X,this._value,this.getLabelFont(),this.getLabelColor(),r+23,j,0,h)}}),M.ColorPickerTemp=function(I){var s=this,w="px",a=s._view=H.createView(null,s),o=s.$10o=document.createElement("div"),Q=s.$12o=O(),Y=s._paletteColorsDiv=O(),v=o.style;s._h=360,s._s=100,s._v=100,a.className="colorPickerPopup ht-widget-colorpicker-popup",a.style.position="absolute",a.style.background=P.Color.background||"white",M.ColorPickerTemp.superClass.constructor.call(s,I);var f='<div style="border: 1px solid rgba(0, 0, 0, 0); position: absolute; width: 40px; height: 20px; top: 5px; left: 5px; bottom: 5px; background: url('+Fq+') repeat;"></div> <div class= "preview" style="border: 1px solid black; position: absolute; width: 40px; height: 20px; top: 5px; left: 5px; bottom: 5px;"></div> <div style="margin-left: 50px; color: '+r.labelColor+";font: "+r.labelFont+'; line-height: 30px;" > <span>R:</span><input class="color_R" style="width: 28px;" type="'+(J?"number":"text")+'"> <span>G:</span><input class="color_G" style="width: 28px" type="'+(J?"number":"text")+'"> <span>B:</span><input class="color_B" style="width: 28px" type="'+(J?"number":"text")+'"> <span>A:</span><input class="color_A" style="width: 28px" value="1" type="'+(J?"number":"text")+'"> </div>',i='<div> <div class="satval" style="position: absolute;cursor:crosshair;margin-left:5px;top: 6px;border:1px solid black;width:128px;height:128px;background-image: url('+lh+');background-color: red;background-size:contain;"> <div class="satval_pointer" style="position:absolute;left: 124px; top: -3px;width: 7px; height: 7px;background-image: url('+Eb+')"></div> </div> <div class="hue_picker" style="position:absolute;width: 46px; height: 140px;left: 152px;top:0;"> <div class="hue_image" style="border: 1px solid black;position:absolute;left:7px;top:6px;width:30px; height:128px; background: url('+gq+');background-size:contain;"></div> <div class="hue_pointer" style="position:absolute;top:1px;left:0;width:46px; height:12px; background: url('+Zh+')"></div> </div> <div style="position: absolute; left: 210px;top:6px;"> <input type="button" value="&#10003" class="color_ok" style="color: '+r.labelColor+'"><br><br> <input type="button" value="&#10005" class="color_clear" style="color: '+r.labelColor+'"> </div> </div>';v.font=r.labelFont,v.height=30+w,v.lineHeight=30+w,v.position="relative",v.whiteSpace="nowrap",o.innerHTML=f,Q.innerHTML=i,s.buildPaletteColors(),Y.style.top="166px",a.appendChild(o),a.appendChild(Q),a.appendChild(Y),e(a,"click",function(p){var H=p.target,M=H.className;if("color_ok"===M)s.$13o=s.$9o(),I.close(!1,p);else if("color_clear"===M)s.$13o=null,I.close();else if(["color_R","color_G","color_B","color_A"].indexOf(M)>=0)H.select(!1,p);else if("colorPalette"===M){var q=H._color;s.$13o=q,I.close(!1,p)}});var N=function(w){var C,n=w.target,Q=n.className,z=!1;["color_R","color_G","color_B"].indexOf(Q)>=0?(C=parseInt(n.value),n.value=C>=0&&255>=C?parseInt(n.value):0,z=!0):"color_A"===Q&&(C=parseFloat(n.value),n.value=C>=0&&1>=C?parseFloat(n.value):0,z=!0),z&&s.updateInputChange()};e(a,"keydown",function(r){var P=r.target,n=P.className;["color_R","color_G","color_B","color_A","color_ok","color_clear"].indexOf(n)>=0&&13==r.keyCode&&(N(r),s.$13o=s.$9o(),I.close())}),new ci(s),e(a,"change",N),e(a,"mousedown",function(W){g(W)});var $=$f(a,".color_clear");I._clearButtonVisible||($.style.display="none"),P.Default.onElementCreated&&(P.Default.onElementCreated(a.querySelector("input.color_R")),P.Default.onElementCreated(a.querySelector("input.color_G")),P.Default.onElementCreated(a.querySelector("input.color_B")),P.Default.onElementCreated(a.querySelector("input.color_A")),P.Default.onElementCreated(a.querySelector(".color_ok")),P.Default.onElementCreated(a.querySelector(".color_clear"))),P.Default.onWidgetColorPickerCreated&&P.Default.onWidgetColorPickerCreated(this)},D(M.ColorPickerTemp,M.BaseDropDownTemplate,{buildPaletteColors:function(){var d,Z,p,e,c=this,W=this._paletteColorsDiv,k=c._master.getPaletteColors(),j=c.calculatePaletteWidth(),l=c._master.getPaletteBorderColor(),u={x:0,y:0,width:j,height:j};if(W.innerHTML="",k&&k.length>0)for(var x=0;x<k.length;x++)for(var C=0;C<k[x].length;C++)d=k[x][C],d&&(T(d)?(Z=S($,!0),b(Z,j,j,1),p=Z.getContext("2d"),p.beginPath(),p.rect(u.x,u.y,u.width,u.height),f(p,d,function(w){return w},!1,u),p.fill(),p.restore(),e=Z.style):(Z=O(),e=Z.style,e.background=d,e.width=j+"px",e.height=j+"px"),e.left=5+C*(j+5)+"px",e.top=5+x*(j+5)+"px",e.border="1px solid "+l,e.boxSizing="border-box",Z.className="colorPalette",Z._color=d,Z._index=[x,C],W.appendChild(Z))},updateInputChange:function(){var z=this,U=z._view,g=z.$9o();U.querySelector(".preview").style.backgroundColor=g;var _=P.Default.toColorData(g);if(_){var A=(4===_.length?_[3]/255:1,z.$5o(_[0]/255,_[1]/255,_[2]/255)),l=$f(U,".satval_pointer");z._h=Hn(360*A.h),z._s=Hn(100*A.s),z._v=Hn(100*A.v),l.style.left=127*A.s-3+"px",l.style.top=127-127*A.v-3+"px",$f(U,".hue_pointer").style.top=128-127*A.h+"px";var i=z.$2o(z._h/360,1,1);U.querySelector(".satval").style.backgroundColor=z.$4o(i.r,i.g,i.b,!0)}z._master._instant&&z._master.setValue(z.$9o())},$6o:function(P){var E=this,w=E._view,d=E._master,b=E._h,_=E._s,L=E._v,Z=E.$2o(b/360,_/100,L/100),F=Z.r,i=Z.g,Q=Z.b;P||(w.querySelector("input.color_R").value=Hn(255*F),w.querySelector("input.color_G").value=Hn(255*i),w.querySelector("input.color_B").value=Hn(255*Q));var h=E.$9o();w.querySelector(".preview").style.backgroundColor=h;var g=E.$2o(b/360,1,1);w.querySelector(".satval").style.backgroundColor=E.$4o(g.r,g.g,g.b,!0),!P&&d._instant&&d.setValue(h)},$5o:function(n,u,d){var T,y,U=Math.max(Math.max(n,u),d),O=Math.min(Math.min(n,u),d),t=U;if(O==U)T=0,y=0;else{var E=U-O;y=E/U,T=n==U?(u-d)/E:u==U?2+(d-n)/E:4+(n-u)/E,T/=6,0>T&&(T+=1),T>1&&(T-=1)}return{h:T,s:y,v:t}},$4o:function(I,u,G,Q){return I=Hn(255*I),u=Hn(255*u),G=Hn(255*G),Q==$&&(Q=!0),I=I.toString(16),1==I.length&&(I="0"+I),u=u.toString(16),1==u.length&&(u="0"+u),G=G.toString(16),1==G.length&&(G="0"+G),((Q?"#":"")+I+u+G).toUpperCase()},$3o:function(F,s,i){i==$&&(i=null),"#"==F.substr(0,1)&&(F=F.substr(1));var A,E,Q;if(3==F.length)A=F.substr(0,1),A+=A,E=F.substr(1,1),E+=E,Q=F.substr(2,1),Q+=Q;else{if(6!=F.length)return i;A=F.substr(0,2),E=F.substr(2,2),Q=F.substr(4,2)}return A=parseInt(A,16),E=parseInt(E,16),Q=parseInt(Q,16),isNaN(A)||isNaN(E)||isNaN(Q)?i:s?{r:A,g:E,b:Q}:{r:A/255,g:E/255,b:Q/255}},$2o:function(V,u,U){var c,q,l;if(0==U)c=0,q=0,l=0;else{var L=Math.floor(6*V),m=6*V-L,k=U*(1-u),T=U*(1-u*m),A=U*(1-u*(1-m));switch(L){case 1:c=T,q=U,l=k;break;case 2:c=k,q=U,l=A;break;case 3:c=k,q=T,l=U;break;case 4:c=A,q=k,l=U;break;case 5:c=U,q=k,l=T;break;case 6:case 0:c=U,q=A,l=k}}return{r:c,g:q,b:l}},$9o:function(){var i=this._view,z=$f(i,"input.color_R").value,G=$f(i,"input.color_G").value,r=$f(i,"input.color_B").value,w=$f(i,"input.color_A").value||1;return""===z||""===G||""===r||""===w?$:1==w?"rgb("+z+","+G+","+r+")":"rgba("+z+","+G+","+r+","+w+")"},getView:function(){return this._view},onOpened:function(Q){if(Q){var F,K=this,O=K._view;if(O.querySelector(".preview").style.backgroundColor=Q,F=P.Default.isString(Q)&&Q.indexOf("rgba")>=0?Q.replace(/[\s*|rgba|\(\)]/g,"").split(",").map(function(W,R){return 3===R?255*parseFloat(W):parseInt(W)}):P.Default.toColorData(Q)){var L=4===F.length?F[3]/255:1,_=K.$5o(F[0]/255,F[1]/255,F[2]/255),f=$f(O,".satval_pointer");$f(O,"input.color_R").value=F[0],$f(O,"input.color_G").value=F[1],$f(O,"input.color_B").value=F[2],$f(O,"input.color_A").value=L.toFixed(2),K._h=Hn(360*_.h),K._s=Hn(100*_.s),K._v=Hn(100*_.v),f.style.left=127*_.s-3+"px",f.style.top=127-127*_.v-3+"px",$f(O,".hue_pointer").style.top=128-127*_.h+"px",K.$6o(!0)}}},onClosed:function(){},getValue:function(){return this.$13o},calculatePaletteWidth:function(){var c=this,I=(c._view,c._master),S=I.getPaletteColors();if(S&&S.length>0){var l=c.getWidth(),X=S[0].length,R=(l-5-5-5*(X-1))/X;return R}},getHeight:function(){var b=this,i=(b._view,b._master),W=i.getPaletteColors(),K=170,C=b.calculatePaletteWidth();return C>0&&(K+=W.length*(C+5)),K},getWidth:function(){return 252}});var ci=function(V){this.$8o=V,this.setUp()};D(ci,o,{ms_listener:1,getView:function(){return this.$8o._view},setUp:function(){this.addListeners()},tearDown:function(){this.removeListeners(),this.clear()},clear:function(){delete this.$7o},handle_touchstart:function(g){var w=this,T=g.target,J=w.$8o,E=w.getView(),V=$f(E,".hue_picker"),G=$f(E,".satval");V.contains(T)?(w.$7o=1,w.$1o(g,1)):G.contains(T)&&(w.$7o=2,w.$1o(g,2)),w.$7o&&r.isDoubleClick(g)&&(J.$13o=J.$9o(),J._master.close())},$1o:function(J,H){r.preventDefault(J);var O,s,v,L=this,y=L.$8o,n=L.getView(),p=$f(n,".hue_picker"),Q=$f(n,".satval");if(J=ud(J)?dk(J):J,1===H){O=p.getBoundingClientRect(),v=J.clientY-O.top,v-=7,0>v&&(v=0),v>127&&(v=127),$f(n,".hue_pointer").style.top=v+1+"px";var c=v;c=Hn(360-c*(360/127)),y._h=c,y.$6o()}else if(2===H){O=Q.getBoundingClientRect(),s=J.clientX-O.left-1,v=J.clientY-O.top-1,0>s&&(s=0),s>127&&(s=127),0>v&&(v=0),v>127&&(v=127),y._s=Hn(100*s/127),y._v=Hn(100-100*v/127);var j=$f(n,".satval_pointer");j.style.left=s-3+"px",j.style.top=v-3+"px",y.$6o()}},handle_mousedown:function(M){this.handle_touchstart(M)},handle_mouseup:function(l){this.handle_touchend(l)},handle_touchend:function(c){var p=this;p.clear(c)},handle_mousemove:function(o){this.handle_touchmove(o)},handle_touchmove:function(d){var h=this;h.$7o&&r.startDragging(h,d)},handleWindowMouseUp:function(U){this.handleWindowTouchEnd(U)},handleWindowTouchEnd:function(A){var M=this;M.clear(A)},handleWindowMouseMove:function(T){this.handleWindowTouchMove(T)},handleWindowTouchMove:function(I){var t=this,A=t.$7o;A&&t.$1o(I,A)}}),M.FormPane=function(F){var E=this,h=E._view=H.createView(1,E);F||(E._canvas=S(h));var R=E._contentDiv=O($,h),L=R.style;L.overflow="hidden",L.left="0px",L.right="0px",L.top="0px",L.bottom="0px",E._79O=O($,h),E._rows=[],E._itemMap={},E.iv(),R.handleGroupSelectedChanged=function(P){if(P.isSelected()){var x=P.getGroupId();null!=x&&E._rows.forEach(function(K){var N=K.items;N&&N.forEach(function(d){if(d){var p=d.element;p&&p!==P&&p.setSelected&&p.getGroupId&&p.getGroupId()===x&&p.setSelected(!1)}})})}},new Cr(E)},D(k+"FormPane",o,{ms_v:1,ms_fire:1,ms_txy:1,ms_lp:1,ms_vs:1,ms_hs:1,ms_value:1,ms_ac:["labelColor","labelFont","labelAlign","labelVAlign","vPadding","hPadding","labelHPadding","labelVPadding","hGap","vGap","rows","rowHeight","scrollBarColor","scrollBarSize","autoHideScrollBar"],_29I:Bp,_91I:0,_59I:0,_labelColor:r.formPaneLabelColor,_labelFont:r.formPaneLabelFont,_labelAlign:r.formPaneLabelAlign,_labelVAlign:r.formPaneLabelVAlign,_hPadding:r.formPaneHPadding,_vPadding:r.formPaneVPadding,_labelHPadding:r.formPaneLabelHPadding,_labelVPadding:r.formPaneLabelVPadding,_hGap:r.formPaneHGap,_vGap:r.formPaneVGap,_rowHeight:r.widgetRowHeight,_scrollBarColor:r.scrollBarColor,_scrollBarSize:r.scrollBarSize,_autoHideScrollBar:r.autoHideScrollBar,getScrollWidth:function(){return this._91I},getScrollHeight:function(){return this._59I},onPropertyChanged:function(Q){var U=this,z=Q.property;U.iv(),"translateX"===z?U._42o():"translateY"===z&&U._43o()},adjustTranslateX:function(r){var $=this.getWidth()-this._91I;return $>r&&(r=$),r>0?0:Math.round(r)},setTranslateX:function(T){var g=this;T=g.adjustTranslateX(T);var W=g._65O;g._65O=T,g._contentDiv.scrollLeft=-T,g.fp("translateX",W,T)},adjustTranslateY:function(d){var L=this.getHeight()-this._59I;return L>d&&(d=L),d>0?0:Math.round(d)},setTranslateY:function(E){var B=this;E=B.adjustTranslateY(E);var d=B._66O;B._66O=E,B._contentDiv.scrollTop=-E,B.fp("translateY",d,E)},setPadding:function(M){this.setVPadding(M),this.setHPadding(M)},getLabelFont:function(W){return W&&W.font?W.font:this._labelFont},getLabelColor:function($){return $&&$.color?$.color:this._labelColor},getLabelAlign:function(H){return H&&H.align?H.align:this._labelAlign},getLabelVAlign:function(I){return I&&I.vAlign?I.vAlign:this._labelVAlign},getRowBorderColor:function(A){return A?A.borderColor:null},getRowBackground:function(J){return J?J.background:null},getItemBorderColor:function(F){return F?F.borderColor:null},getItemBackground:function(F){return F?F.background:null},getItemById:function(t){return this._itemMap[t]},getViewById:function(v){var p=this.getItemById(v);return p?p.element:null},getItemView:function(b){if(b){var q=b.element;if(q){if(q.tagName)return q;if(q.getView)return q.getView()}}return null},updateItemElement:function(u,H){var k=this,E=k.getItemById(u);if(E){var K=k.getItemView(E);K&&K.parentNode&&K.parentNode.removeChild(K),E.element=H,K=k.getItemView(E),K&&(K.style.position="absolute",k._contentDiv.appendChild(K)),k.iv()}},addRow:function(K,f,c,a){var g=this;if(K){for(var s=0;s<K.length;s++){var I=K[s];I&&((I.tagName||I.getView)&&(K[s]={element:I}),H.initItemElement(I),null!=I.id&&(g._itemMap[I.id]=I))}K.forEach(function(I){var d=g.getItemView(I);d&&(d.style.position="absolute",g._contentDiv.appendChild(d))})}var R=a||{};return R.items=K,R.widths=f,R.height=c,null==R.index?g._rows.push(R):g._rows.splice(R.index,0,R),g.iv(),R},removeRows:function(o){if(o){var r=this,s=[];o.forEach(function(F){F.items&&F.items.forEach(function(I){var H=r.getItemView(I);H&&H.parentNode&&H.parentNode.removeChild(H),I&&null!=I.id&&delete r._itemMap[I.id]})}),r._rows.forEach(function(F){o.indexOf(F)<0&&s.push(F)}),r._rows=s,r.iv()}},removeRow:function(G){var F;F=G&&"object"==typeof G?[G]:[this._rows[G]],this.removeRows(F)},clear:function(){for(var n=this,T=n._view,d=this._contentDiv;d.firstChild;)d.removeChild(d.firstChild);for(;T.firstChild;)T.removeChild(T.firstChild);n._canvas&&T.appendChild(n._canvas),T.appendChild(d),T.appendChild(n._79O),n._rows=[],n._itemMap={},n.iv()},validateImpl:function(){var L,W,i,X,R,k,w=this,e=w._canvas,a=w._rowHeight,M=w.getWidth(),u=w.getHeight(),E=w._hPadding,f=w._vPadding,d=w._vGap,Z=w.ty(),T=w.tx(),g=M-2*E,p=u-2*f,C=w._rows,U=C.length,z=0,$=p-(U-1)*d;for(w._29I={x:-T,y:-Z,width:M,height:u},e&&(b(e,M,u),k=G(e),j(k,0,0,1),k.clearRect(0,0,M,u)),i=0;U>i;i++)X=C[i],R=X.height,null==R?$-=a:s(R)?(L=R.split("+"),W=parseFloat(L[0]),W>1?$-=W:z+=W,W=parseFloat(L[1]),W>1?$-=W:z+=W):R>1?$-=R:z+=R;0>$?(w._59I=u-$,$=0):w._59I=u;var n=f+Z,m=M;for(i=0;U>i;i++){X=C[i],R=X.height,null==R?R=a:s(R)?(L=R.split("+"),W=parseFloat(L[0]),R=W>1?W:W/z*$,W=parseFloat(L[1]),R+=W>1?W:W/z*$):1>=R&&(R=R/z*$);var I=E+T;if(k){var t=w.getRowBorderColor(X),D=w.getRowBackground(X);D&&F(k,I,n,g,R,D),t&&y(k,t,I,n,g,R)}var l=w.validateRow(k,M,X.items,X.widths,I,n,g,R)-E;l>m&&(m=l),n+=R+d}if(f){var o=w._vPaddingDiv;o||(o=w._vPaddingDiv=O(),o.className="vPadding"),w._contentDiv.appendChild(o),q(o,I,n-Z,g,f)}k&&k.restore(),w._91I=m,w._92I(),w._93I(),w.tx(w.tx()),w.ty(w.ty())},validateRow:function($,c,Q,z,U,T,u,q){if(!Q)return 0;var Z,e,R,Y,A,W=this,N=c,l=W._hGap,f=Q.length,h=0,p=u-(f-1)*l;for(R=0;f>R;R++)Y=z[R],s(Y)?(Z=Y.split("+"),e=parseFloat(Z[0]),e>1?p-=e:h+=e,e=parseFloat(Z[1]),e>1?p-=e:h+=e):Y>1?p-=Y:h+=Y;for(0>p&&(N-=p,p=0),R=0;f>R;R++){if(A=Q[R],Y=z[R],s(Y)?(Z=Y.split("+"),e=parseFloat(Z[0]),Y=e>1?e:e/h*p,e=parseFloat(Z[1]),Y+=e>1?e:e/h*p):1>=Y&&(Y=Y/h*p),A){if($){var d=W.getItemBorderColor(A),j=W.getItemBackground(A);j&&F($,U,T,Y,q,j),d&&y($,d,U,T,Y,q)}W.validateItem($,A,U,T,Y,q)}U+=Y+l}return N},validateItem:function(U,f,h,i,x,E){var a,Z=this,J=f.element;if(J&&!s(J)){var S=Z.tx(),l=Z.ty();h-=S,i-=l;var F=f._layoutRect;F&&F.width===x&&F.height===E&&F.x===h&&F.y===i?J.invalidate&&J.invalidate():(q(J,h,i,x,E),f._layoutRect={x:h,y:i,width:x,height:E})}else U&&(s(f)?a=f:s(f.element)&&(a=f.element),a&&(U.save(),U.beginPath(),U.rect(h,i,x,E),U.clip(),p(U,a,Z.getLabelFont(f),Z.getLabelColor(f),h+Z._labelHPadding,i-Z._labelVPadding,x-2*Z._labelHPadding,E-2*Z._labelVPadding,Z.getLabelAlign(f),Z.getLabelVAlign(f)),U.restore()))}});var Cr=function(z){this.f=z,this.addListeners()};D(Cr,o,{ms_listener:1,getView:function(){return this.f._view},handle_mousedown:function(S){Q(S)&&this.handle_touchstart(S)},handleWindowMouseMove:function(l){this.handleWindowTouchMove(l)},handleWindowMouseUp:function(L){this.handleWindowTouchEnd(L)},handle_touchstart:function(s){var y,o=this,Y=o.f,K=s.target;o.isV(s)?y="v":o.isH(s)?y="h":(K===o.getView()||K===Y._contentDiv||Y._79O.contains(K)||K===Y._canvas)&&(y="p"),(o.s=y)&&(o.cp=B(s),o.tx=Y.tx(),o.ty=Y.ty(),g(s),v(o,s))},handle_mousemove:function(B){var m=this,_=m.f;m.isV(B)&&_._43o(),m.isH(B)&&_._42o()},handleWindowTouchMove:function(e){var p=this,n=p.f,Y=p.s,k=p.tx,O=p.ty,U=p.cp,G=B(e),c=n._29I;"p"===Y?n.setTranslate(k+G.x-U.x,O+G.y-U.y):"v"===Y?n.ty(O+(U.y-G.y)*n._59I/c.height):"h"===Y&&n.tx(k+(U.x-G.x)*n._91I/c.width)},handleWindowTouchEnd:function(){},handle_mousewheel:function(D){this.h(D,D.wheelDelta/40,D.wheelDelta!==D.wheelDeltaX)},handle_DOMMouseScroll:function(i){this.h(i,-i.detail,1)},h:function(P,R,f){var d=this.f;g(P),H.closePopup(),f&&d._41o()?d.translate(0,10*R):d._40o()&&d.translate(10*R,0)},isV:function($){var d=this.f,O=d._29I;return d._41o()&&O.x+O.width-d.lp($).x<Y},isH:function(D){var $=this.f,n=$._29I;return $._40o()&&n.y+n.height-$.lp(D).y<Y}})}("undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:(0,eval)("this"),Object);