meraproject/content/modulebz/js/modules.js
keboss-m 5c21d25d45 Initial commit: Merakomis portal, Docker stack and user-reader API.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 11:04:05 +03:00

14 lines
76 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

!function(e){var t={};function a(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,a),s.l=!0,s.exports}a.m=e,a.c=t,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)a.d(n,s,function(t){return e[t]}.bind(null,s));return n},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=8)}([function(e,t,a){e.exports=a(4)},function(e,t,a){"use strict";e.exports=a(5)},function(e,t,a){"use strict";var n;window.Select=class extends React.Component{constructor(e){var t,a,n,s,r,l,i,c,o;if(super(e),o=null,null!=(t=this.prepareData(e.data))&&null!=e.id)for(n=0,s=t.length;n<s;n++)if(a=t[n],parseInt(a.id)===parseInt(e.id)){o=a;break}this.state={open:null!=e.open?e.open:e.open=!1,data:null!=t?t:[],selected:null!=o?o:null!=(r=t[0])?r:null,ajax:null!=(l=e.ajax)&&l,controller:null!=(i=e.controller)?i:"",placeholder:null!=(c=e.placeholder)?c:"",search:"",statuses:!0===e.statuses},this.input=null,this.inputSearch=null,this.roller=null,this.toggle=this.toggle.bind(this),this.prepareData=this.prepareData.bind(this),this.preventClose=this.preventClose.bind(this)}preventClose(e){return null!=e&&e.stopPropagation(),null!=e?e.preventDefault():void 0}prepareData(e){var t,a,n,s;if(a=[],Array.isArray(e)){if("string"==typeof e[0])for(t in e)s=e[t],a.push({id:parseInt(t),title:s})}else for(t in e)s=e[t],a.push({id:parseInt(t),title:s});if(0===a.length&&(a=e),!0===this.props.statuses)for(t in a){if("string"==typeof(s=a[t]).title)switch(parseInt(s.type)){case OrderStatusType.NEW:n=React.createElement("div",{class:"status st-new"},React.createElement("div",{class:"st-round"}),React.createElement("div",{class:"st-txt ch-black"},s.title));break;case OrderStatusType.WORK:n=React.createElement("div",{class:"status st-work"},React.createElement("div",{class:"st-round"}),React.createElement("div",{class:"st-txt ch-black"},s.title));break;case OrderStatusType.WAIT:n=React.createElement("div",{class:"status st-need-pay"},React.createElement("div",{class:"st-round"}),React.createElement("div",{class:"st-txt ch-black"},s.title));break;case OrderStatusType.PART:n=React.createElement("div",{class:"status st-half-pay"},React.createElement("div",{class:"st-round"}),React.createElement("div",{class:"st-txt ch-black"},s.title));break;case OrderStatusType.FINISH:n=React.createElement("div",{class:"status st-end"},React.createElement("div",{class:"st-round"}),React.createElement("div",{class:"st-txt ch-black"},s.title));break;case OrderStatusType.CANCEL:n=React.createElement("div",{class:"status st-new"},React.createElement("div",{class:"st-round"}),React.createElement("div",{class:"st-txt ch-black"},s.title))}else n=s.title;a[t].title=n}return a}getValue(){return null!=this.state.selected?this.state.selected.id:0}close(){return this.setState({open:!1})}open(){return this.setState({open:!0},this.afterOpen)}afterOpen(){return $(this.roller).perfectScrollbar("update")}toggle(){return this.state.open?this.close():this.open()}componentDidMount(){return $(this.roller).perfectScrollbar(),document.addEventListener("click",this.handleOuterClick.bind(this))}componentWillUnmount(){return document.removeEventListener("click",this.handleOuterClick.bind(this))}handleOuterClick(e){if(0===this.$wrap.has(e.target).length)return this.close()}aOnSelect(){var e;return this.close(),"function"==typeof(e=this.props).onSelect?e.onSelect(this.state.selected):void 0}onSelect(e,t){return null!=e&&e.stopPropagation(),null!=e&&e.preventDefault(),this,this.setState({selected:t},this.aOnSelect.bind(this))}refWrap(e){return this.wrap=e,this.$wrap=$(this.wrap)}aAjaxSearch(e){var t;return t=this.prepareData(e),this.setState({data:t},this.afterOpen)}ajaxSearch(){return API(this.state.controller+"/getNameList",{q:this.input.value,dataType:"JSON"},this.aAjaxSearch.bind(this))}search(){return this.setState({search:this.inputSearch.value})}renderItem(e,t){var a;return a=!0,""!==this.state.search&&"string"==typeof e.title&&(a=e.title.toLowerCase().indexOf(this.state.search.toLowerCase())>-1),a?React.createElement("div",{onClick:t=>this.onSelect(t,e),className:"option"},e.title):null}render(){var e,t,a,n,s,r,l;return this,t=!0===this.state.open,({selected:r,search:s,ajax:e,placeholder:a}=this.state),l=null,null!=r&&(l=r.title),React.createElement("div",{className:["select c-100",t?"open":""].join(" "),ref:this.refWrap.bind(this)},React.createElement("div",{className:"i_wrap",onClick:this.toggle},React.createElement("div",{className:null!=(n=this.props.titleClass)?n:"i"},l)),React.createElement("div",{className:"options_bg",onClick:this.close.bind(this)},React.createElement("div",{className:"options _roller",ref:e=>this.roller=e},React.createElement("div",null,e?React.createElement("input",{onKeyUp:this.ajaxSearch.bind(this),ref:e=>this.input=e,onClick:this.preventClose,className:"i",placeholder:a+" - поиск"}):null,!0===this.props.search?React.createElement("input",{onKeyUp:this.search.bind(this),ref:e=>this.inputSearch=e,class:"i",placeholder:a+" - поиск",onClick:this.preventClose}):null,Array.isArray(this.state.data)?this.state.data.map(this.renderItem.bind(this)):null))))}};n=["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"];var s;window.Calendar=class extends React.Component{constructor(e){var t,a,n,s,r;if(super(e),t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r=null,null!=this.props.value)switch(typeof(s=e.value)){case"string":a=s.split("-"),r=new Date(a[0],a[1]-1,a[2]);break;case"number":r=new Date(1e3*parseInt(s))}this.state={year:t.getFullYear(),month:t.getMonth(),date:t.getDate(),today:n,value:r,opened:!1},this.days=0,this.onCancel=this.onCancel.bind(this),this.onSubmit=this.onSubmit.bind(this),this.open=this.open.bind(this),this.close=this.close.bind(this)}onCancel(){var e;return this.close(),"function"==typeof(e=this.props).onCancel?e.onCancel():void 0}onSubmit(){var e;return this.close(),"function"==typeof(e=this.props).onSubmit?e.onSubmit(this.state.value):void 0}open(){return this.setState({opened:!0})}close(){return this.setState({opened:!1})}prevMonth(){var e,t;return({month:e,year:t}=this.state),--e<0&&(e=11,t--),this.setState({month:e,year:t})}nextMonth(){var e,t;return({month:e,year:t}=this.state),++e>11&&(e=0,t++),this.setState({month:e,year:t})}getNextMonth(e){return++e>11&&(e=0),e}getPrevMonth(e){return++e<0&&(e=11),e}daysInMonth(e,t){return 33-new Date(e,t,33).getDate()}renderPrevNext(e){return React.createElement("div",{class:"td na"},e)}selectDay(e,t,a){return this.setState({value:new Date(e,t,a)},this.onSubmit)}renderDate(e){var t,a,n,s,r,l,i,c;return({year:c,month:s,date:t,value:l}=this.state),r=new Date(c,s,e).getTime(),i=null,null!=l&&(i=new Date(l.getFullYear(),l.getMonth(),l.getDate())),n=r===this.state.today.getTime(),a=r===(null!=i?i.getTime():void 0),React.createElement("div",{onClick:this.selectDay.bind(this,c,s,e),class:["td",n?"cal-today":"",a?"selected round":""].join(" ")},e)}renderWeek(e){var t,a,n,s,r;for(a=[],t=n=s=e,r=e+6;s<=r?n<=r:n>=r;t=s<=r?++n:--n)t>this.days?(t-=this.days,a.push(this.renderPrevNext(t))):a.push(this.renderDate(t));return React.createElement("div",{class:"tr"},a)}render(){var e,t,a,s,r,l,i,c,o,u,d,h;for(u=this,({month:r,year:h,opened:l}=this.state),this.getNextMonth(r),this.getNextMonth(r),i=this.daysInMonth(h,r-1),t=this.daysInMonth(h,r),e=new Date(h,r,1).getDay()-1,this.days=t,e<0&&(e=6),d=[],a=s=7-e+1,c=t;s<=c;a=s+=7)d.push(a);return React.createElement("div",{className:"f fcenter datepicker_wrap "+(l?"open":"")},React.createElement("div",{className:"datepicker_bg",onClick:this.onCancel}),React.createElement("div",{className:"datepicker_content"},React.createElement("div",{className:"datepicker_title"},React.createElement("div",{className:"icon prev pointer",onClick:this.prevMonth.bind(this)}),React.createElement("div",{class:"ch-blue"},n[r]+" "+this.state.year),React.createElement("div",{className:"icon next pointer",onClick:this.nextMonth.bind(this)})),React.createElement("div",{class:"datepicker"},React.createElement("div",{class:"tr"},React.createElement("div",{class:"th"},"пн"),React.createElement("div",{class:"th"},"вт"),React.createElement("div",{class:"th"},"ср"),React.createElement("div",{class:"th"},"чт"),React.createElement("div",{class:"th"},"пт"),React.createElement("div",{class:"th"},"сб"),React.createElement("div",{class:"th"},"вс")),React.createElement("div",{class:"tr"},e>0?function(){for(var t=[],a=o=i-(e-1);o<=i?a<=i:a>=i;o<=i?a++:a--)t.push(a);return t}.apply(this).map(u.renderPrevNext.bind(u)):null,function(){for(var t=[],a=1,n=7-e;1<=n?a<=n:a>=n;1<=n?a++:a--)t.push(a);return t}.apply(this).map(u.renderDate.bind(u))),d.map(u.renderWeek.bind(u)))))}},window.Datepicker=class extends React.Component{constructor(e){var t,a,n,s,r;super(e),r=null,console.log("datepicker_typeof",typeof e.value,e.value),null!=(s=e.value)&&""!==s&&"0000-00-00"!==s&&"0"!==s&&0!==s&&(r=3===(n=s.toString().split("-")).length?new Date(n[0],n[1]-1,n[2]):new Date(1e3*parseInt(s))),this.state={name:null!=(t=e.name)?t:"",value:r,placeholder:null!=(a=e.placeholder)?a:"",timepicker:!0===e.timepicker},this.input=null,this.calendar=null,this.onCancel=this.onCancel.bind(this),this.onSubmit=this.onSubmit.bind(this),this.openCalendar=this.openCalendar.bind(this)}openCalendar(){return this.calendar.open()}getValue(){var e,t,a,n,s;return s="",null!=(t="undefined"!=typeof value&&null!==value?value:this.state.value)&&""!==t?(a=(e=t.getDate())<10?"0"+e:e,n=(e=t.getMonth()+1)<10?"0"+e:e,s=[t.getFullYear(),n,a].join("-"),this.state.timepicker&&(s=t.getTime()/1e3)):(s="0000-00-00",this.state.timepicker&&(s=0)),s}onCancel(){return this.calendar.close()}onSubmit(e){return this.setState({value:e}),null!=e&&(this.input.value=this.formatValue(e)),this.calendar.close()}formatValue(e){var t,a,n;return a=null!=e&&void 0!==e?e:this.state.value,console.log("formatValue",e,this.state.value),n="",null!=a&&""!==a&&(n=[(t=a.getDate())<10?"0"+t:t,(t=a.getMonth()+1)<10?"0"+t:t,a.getFullYear()].join("."),this.state.timepicker&&(n+=" "+((t=a.getHours())<10?"0"+t:t)+":"+((t=a.getHours())<10?"0"+t:t))),n}render(){var e,t,a,n;return({name:e,placeholder:t,timepicker:a}=this.state),n=this.formatValue(),React.createElement("div",null,React.createElement("input",{ref:e=>this.input=e,type:"text",name:e,value:n,placeholder:t,className:"i",autoComplete:"off",onClick:this.openCalendar}),React.createElement(Calendar,{onCancel:this.onCancel,onSubmit:this.onSubmit,value:this.getValue(),timepicker:a,ref:e=>this.calendar=e}))}},window.Contact=class extends React.Component{constructor(e){var t,a,n,s,r,l,i,c,o,u,d;if(super(e),t=null!=(r=e.data)?r:{},d=Contacts.TYPES[0],null!=t.type)for(u=parseInt(t.type),n=0,s=(l=Contacts.TYPES).length;n<s;n++)(a=l[n]).id===u&&(d=a);this.state={type:d,removed:!1},this.select=React.createElement(Select,{data:Contacts.TYPES,id:1,titleClass:"code code-arrow",onSelect:this.setType.bind(this)}),this.remove=this.remove.bind(this),this.getValue=this.getValue.bind(this),this.value=null,this.comment=null,this.valueValue=null!=(i=t.value)?i:"",this.commentValue=null!=(c=t.comment)?c:"",this.id=null!=(o=t.id)?o:""}remove(){return this.setState({removed:!0})}setType(e){return this.setState({type:e})}getValue(){return{id:this.id,value:this.value.value,comment:this.comment.value,type:this.state.type.id}}render(){var e;return this.state.removed?null:(e=this.state.type,React.createElement("div",{className:"label l-big",key:(new Date).getTime()},React.createElement("div",{className:"row r6"},React.createElement("div",{className:"c c-10 pt-9"},React.createElement("div",{className:"hind h-left"},React.createElement("div",{className:"h-title"},React.createElement(Select,{data:Contacts.TYPES,id:this.state.type.id,titleClass:"code code-arrow",onSelect:this.setType.bind(this)})),React.createElement("div",{className:"h-body"},"Поменять тип контакта"))),React.createElement("div",{className:"c c-90"},React.createElement("div",{className:"label l-min"},React.createElement("div",{className:"row r6 flex f-middle"},React.createElement("div",{className:"c c-91"},React.createElement("input",{type:"text",placeholder:e.placeholder,className:"text c-100",ref:e=>this.value=e,defaultValue:this.valueValue,onKeyUp:e=>this.valueValue=e.target.value})),React.createElement("div",{className:"c c-9"},React.createElement("div",{className:"hind h-left",onClick:this.remove},React.createElement("div",{className:"h-title"},React.createElement("div",{className:"icon ic-del-gray pointer db"})),React.createElement("div",{className:"h-body h-auto"},"Удалить"))))),React.createElement("div",{className:"label l-min"},React.createElement("input",{type:"text",placeholder:"Комментарий",className:"text c-100",ref:e=>this.comment=e,defaultValue:this.commentValue,onKeyUp:e=>this.commentValue=e.target.value}))))))}},window.Contacts=function(){class e extends React.Component{constructor(e){var t;super(e),t=[],Array.isArray(e.value)&&(t=e.value),this.state={contacts:t},this.addContact=this.addContact.bind(this),this.addButton=React.createElement("div",{class:"label l-big",onClick:this.addContact},React.createElement("button",{class:"btn-icon btn-i-blue"},React.createElement("span",null,"Добавить еще метод связи"))),this.contacts={}}getValue(){var e,t,a;for(e in t=[],this.contacts)null==(a=this.contacts[e])||a.state.removed||t.push(a.getValue());return t}renderContact(e,t){return React.createElement(Contact,{data:e,ref:e=>this.contacts[t]=e})}addContact(){var e;return(e=this.state.contacts).push({}),this.setState({contacts:e})}render(){var e;return this,(e=this.state.contacts.map(this.renderContact.bind(this))).push(this.addButton),e}}return e.TYPES=[{id:1,title:React.createElement("div",{className:"icon ic-small ic-leftbar phone"}),placeholder:"Телефон"},{id:4,title:React.createElement("div",{className:"icon ic-mail"}),placeholder:"Email"}],e}.call(void 0),window.SwitchIOS=class extends React.Component{constructor(e){var t,a;super(e),this.state={checked:null!=(t=e.checked)&&t,label:null!=(a=e.label)?a:""},this.toggle=this.toggle.bind(this)}getValue(){return this.state.checked?1:0}aToggle(){var e;return"function"==typeof(e=this.props).onChange?e.onChange(this.state.checked):void 0}toggle(){return this.setState({checked:!this.state.checked},this.aToggle)}setValueSilence(e){return this.setState({checked:e})}componentWillReceiveProps(e){}render(){var e;return({checked:e}=this.state),React.createElement("div",{class:" f fvcenter",onClick:this.toggle},React.createElement("div",{class:["switch mr-10",e?"selected":""].join(" ")}),React.createElement("span",{class:""},this.state.label))}},window.Dropper=class extends React.Component{constructor(e){var t,a;switch(super(e),this.state={files:[],uploads:[]},this.buttonTitle=null!=(t=e.buttonTitle)?t:"Загрузить",this.file=null,this.type=null!=(a=e.type)?a:"image",this.sendFiles=this.sendFiles.bind(this),this.sendFile=this.sendFile.bind(this),this.changeFiles=this.changeFiles.bind(this),this.url="",this.type){case"image":this.url="/api/common.image/upload/";break;case"dsek_file":this.url="/api/themes.dsek.file/upload/";break;case"kptracking_file":this.url="/api/themes.kptracking.file/upload/"}}changeFiles(){return this.sendFiles()}clickChooseFile(){return console.log("click clack",this.file),$(this.file).click()}sendFiles(){var e,t,a,n,s,r,l,i,c;for(t in c=[],a=this.file.files)void 0!==(e=a[t])&&void 0!==e.type&&((null!=e&&null!=(n=e.type)?n.match(/image.*/):void 0)||(null!=e&&null!=(s=e.type)?s.match(/audio.*/):void 0)||(null!=e&&null!=(r=e.type)?r.match(/text.*/):void 0)||(null!=e&&null!=(l=e.type)?l.match(/application.*/):void 0)||(null!=e&&null!=(i=e.type)?i.match(/video.*/):void 0))?c.push(this.sendFile(e)):c.push(void 0);return c}sendFile(e){var t;return({uploads:t}=this.state),t.push(React.createElement(s,{file:e,url:this.url,callback:this.props.callback,data:this.props.data})),this.setState({uploads:t})}render(){var e;return e=this.state.uploads,React.createElement("div",null,React.createElement("div",{className:"uploads"},e),React.createElement("input",{type:"file",ref:e=>this.file=e,onChange:this.changeFiles,className:"dn"}),React.createElement("button",{type:"button",className:"btn blue small ml-0",onClick:this.clickChooseFile.bind(this)},this.buttonTitle))}};s=class extends React.Component{constructor(e){var t,a;super(e),this.file=e.file,this.reader=null,this.url=e.url,this.data=null!=(t=e.data)?t:[],this.callback=null!=(a=e.callback)?a:null,this.state={percent:0,uploaded:!1},this.createRequestObject=this.createRequestObject.bind(this),this.onLoadEnd=this.onLoadEnd.bind(this),this.onProgress=this.onProgress.bind(this),this.onReadyStateChange=this.onReadyStateChange.bind(this)}createRequestObject(){if("undefined"==typeof XMLHttpRequest){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}throw new Error("This browser does not support XMLHttpRequest.")}return new XMLHttpRequest}onLoadEnd(e){var t,a,n,s,r;for(a in s=this.file,n=this.data,console.log("upload_to",this.url,n),(r=this.createRequestObject()).upload.addEventListener("progress",this.onProgress,!1),r.onreadystatechange=this.onReadyStateChange,r.open("POST",this.url),"xxxxxxxxx",r.setRequestHeader("Content-Type","multipart/form-data; boundary=xxxxxxxxx"),r.setRequestHeader("Cache-Control","no-cache"),t="--xxxxxxxxx\r\n",t+="Content-Disposition: form-data; name='myFile'; filename='"+s.name+"'\r\n",t+="Content-Type: "+s.type+"\r\n\r\n",t+=this.reader.result+"\r\n",t+="--xxxxxxxxx\r\n",n)t+='Content-Disposition: form-data; name="'+a+'"\r\n\r\n',t+=n[a]+"\r\n",t+="--xxxxxxxxx\r\n";return r.sendAsBinary?r.sendAsBinary(t):r.send(t)}onReadyStateChange(e){var t,a;if(4===(a=e.target).readyState&&200===a.status&&null!=this.callback){t=a.responseText;try{t=JSON.parse(t)}catch(e){t=a.responseText}return this.callback(t),this.setState({uploaded:!0})}}onProgress(e){var t;return t=0,e.lengthComputable&&(t=100*e.loaded/e.total),this.setState({percent:t})}componentDidMount(){return this.sendFile()}sendFile(){return this.reader=new FileReader,this.reader.onloadend=this.onLoadEnd,this.reader.readAsDataURL(this.file)}render(){var e,t;return({percent:e,uploaded:t}=this.state),t?null:React.createElement("div",null,e,"%")}};var r;window.ImagePicker=class extends React.Component{constructor(e){var t,a;super(e),this.state={value:null!=(t=e.value)?t:0,src:null!=(a=e.src)?a:""},this.onUpload=this.onUpload.bind(this),this.getValue=this.getValue.bind(this)}getValue(){return this.state.value}onUpload(e){return console.log("onUpload",e),this.setState({value:e.id,src:e.link})}render(){var e;return({src:e}=this.state),React.createElement("div",{class:"image_picker"},""!==e?React.createElement("img",{src:e}):null,React.createElement(Dropper,{buttonTitle:"Выбрать изображение",callback:this.onUpload,type:"image"}))}};r=function(){class e{}return e.TEXT=1,e.NUMBER=2,e.VALUES_ONE=3,e.VALUES_MANY=4,e}.call(void 0);window.PropValues=class extends React.Component{constructor(e){var t,a,n,s;super(e),s=null,(t=null!=(a=e.data)?a:[]).length>0&&(s=t[0]),this.state={data:t,value:null!=(n=e.value)?n:{},selected:s},this.onSelect=this.onSelect.bind(this),this.enterTextValue=this.enterTextValue.bind(this),this.onChangeMany=this.onChangeMany.bind(this),this.onChangeOne=this.onChangeOne.bind(this),this.input=null,this.properties={}}getValue(){return this.state.value}onSelect(e){return this.setState({selected:e})}onChangeMany(e,t,a){var n,s;if(({value:s}=this.state),void 0===s[e]&&(s[e]=[]),console.log(e,t,a),a)s[e].push({value:t.id,title:t.title});else for(n in s[e])if(s[e][n].value===t.id){s[e].splice(n,1);break}return this.setState({value:s})}onChangeOne(e,t,a){var n,s;if(({value:s}=this.state),void 0===s[e]&&(s[e]=[]),a)for(n in s[e]=[{value:t.id,title:t.title}],this.properties[e])this.properties[e][n].setValueSilence(n===t.id);else for(n in s[e]=[],this.properties[e])this.properties[e][n].setValueSilence(!1);return this.setState({value:s})}enterTextValue(){var e,t,a;return({selected:e,value:a}=this.state),t=this.input.value,a[parseInt(e.id)]=""===t?[]:[{title:t,value:t}],this.setState({value:a})}render(){var e,t,a,n,s,l,i,c,o,u,d,h,p,m,v,f,E,R,b,y,S,g,_,C,w,k,N,x,T,A,O;for(({data:t,value:T,selected:w}=this.state),k=this,A=[],s=0,c=t.length;s<c;s++)if(T[(E=t[s]).id]){for(x=[],l=0,o=(R=T[E.id]).length;l<o;l++)N=R[l],x.push(React.createElement("div",{className:"sub_color"},N.title));x.length>0&&A.push(React.createElement("div",null,React.createElement("div",{className:"h2 "+(A.length>0?"mt-20":"")},E.title),x))}if(O=[],null!==w)switch(parseInt(w.type)){case r.TEXT:case r.NUMBER:a="",void 0!==T[w.id]&&(a=null!=(b=null!=(y=T[w.id][0])?y.title:void 0)?b:""),O.push(React.createElement("div",{class:"input_wrap",key:"prop"+w.id},React.createElement("div",{class:"label"},"Значение"),React.createElement("input",{placeholder:"Введите значение",defaultValue:a,className:"i",onKeyUp:this.enterTextValue,ref:e=>this.input=e})));break;case r.TEXT:case r.VALUES_MANY:if(e={},void 0!==T[w.id])for(i=0,u=(S=T[w.id]).length;i<u;i++)n=S[i],e[n.value]=!0;for(this.properties[w.id]={},O.push(React.createElement("div",{class:"label",key:"prop"+w.id},"Можно выбрать несколько значений")),m=0,d=(g=w.values).length;m<d;m++)n=g[m],O.push(React.createElement("div",{key:"prop"+w.id+"value"+n.id,className:O.length>0?"mt-20":""},React.createElement(SwitchIOS,{label:n.title,checked:!0===e[n.id],onChange:this.onChangeMany.bind(null,w.id,n)})));break;case r.TEXT:case r.VALUES_ONE:if(e={},void 0!==T[w.id])for(v=0,h=(_=T[w.id]).length;v<h;v++)n=_[v],e[n.value]=!0;for(this.properties[w.id]={},O.push(React.createElement("div",{class:"label",key:"prop"+w.id},"Можно выбрать только одно значение")),f=0,p=(C=w.values).length;f<p;f++)!function(t,a){O.push(React.createElement("div",{key:"prop"+a.id+"value"+t.id,className:O.length>0?"mt-20":""},React.createElement(SwitchIOS,{label:t.title,checked:!0===e[t.id],ref:e=>k.properties[a.id][t.id]=e,onChange:k.onChangeOne.bind(null,a.id,t)})))}(n=C[f],w)}return React.createElement("div",{className:"mt-20"},React.createElement("div",{className:"row2"},React.createElement("div",{className:"c c-50"},React.createElement("div",{className:"h1"},"Выберите параметр"),React.createElement(Select,{data:t,onSelect:this.onSelect,search:!0}),React.createElement("div",{className:"mt-20"},O)),React.createElement("div",{className:"c c-50"},React.createElement("div",{className:"h1"},"Выбранные значения"),A)))}},window.CategoryChoose=class extends React.Component{constructor(e){var t,a;super(e),this.state={value:null!=(t=e.value)?t:[],data:null!=(a=e.data)?a:{}},this.renderCat=this.renderCat.bind(this),this.toggleValue=this.toggleValue.bind(this),this.selectAll=this.selectAll.bind(this),this.deselectAll=this.deselectAll.bind(this)}selectAll(){return this.setState({value:Object.keys(this.state.data.a)})}deselectAll(){return this.setState({value:[]})}getValue(){return this.state.value}toggleValue(e,t){var a,n;return({value:n}=this.state),(a=n.indexOf(e))>=0?n.splice(a,1):(a=n.indexOf(parseInt(e)))>=0?n.splice(a,1):n.push(e),this.setState({value:n})}renderCat(e){var t,a,n,s,r;return({data:s,value:r}=this.state),t=s.a[e],a=[],Array.isArray(s.a[e].cats)&&(a=s.a[e].cats.map(this.renderCat)),n=r.indexOf(e)>=0||r.indexOf(parseInt(e))>=0,React.createElement("div",null,React.createElement("div",{className:"choose_category mt-5"+(n?" selected":""),onClick:this.toggleValue.bind(this,e)},t.title),a.length>0?React.createElement("div",{className:"mt-5 ml-5 sub"},a):null)}render(){var e,t,a;return({data:t,value:a}=this.state),console.log(t,a),e=[],Array.isArray(t.main)&&(e=t.main.map(this.renderCat)),React.createElement("div",null,React.createElement("div",{class:"ml-5"},React.createElement(MiniHelp,{title:"Кликайте по элементам, чтобы выбрать, или снять выделение."})),React.createElement("div",{className:"f mt-20 ml-5"},React.createElement("div",null,"Выбрано: ",a.length),React.createElement("div",{class:"link ml-10 mr-10",onClick:this.selectAll},"Выбрать все"),React.createElement("div",{class:"clear ml-20 mt-3",onClick:this.deselectAll},"Снять выбор со всех")),React.createElement("div",{class:"mt-20 choose_categories"},e))}};var l,i=a(0),c=a.n(i);window.INPUT_TYPE=l=function(){class e{}return e.HIDDEN=1,e.TEXT=2,e.SELECT=3,e.DATE=4,e.SELECT_SEARCH=5,e.SUBMIT=6,e.SELECT_MULTI=7,e.DATE_RANGE_TIME=8,e.DATE_TIME=9,e.TEXTAREA=10,e.CHECKBOX=11,e.YANDEX_COUNTRY_CITY=12,e.SWITCH_IOS=13,e.COLOR_PICKER=14,e.AVATAR_PICKER=15,e.SELECT_AJAX=16,e.CANCEL=17,e.EMAIL=18,e.SCRIPT=19,e.HTML=20,e.IMAGE=21,e.RADIO=22,e.VIDEO=23,e.CONTACTS=24,e.SUBMIT_AND_CLOSE=25,e.SHOP_ITEM_VALUES=26,e.CATEGORY_CHOOSE=27,e.PASSWORD=28,e.DSEK_FILES=30,e.KPTRACKING_FILE=31,e}.call(void 0);t.a=window.Input=function(){class e extends React.Component{constructor(e){var t;super(e),this.state={data:null!=e.data?e.data:e.data={},value:null!=e.value?e.value:e.value=null,show:!0,name:null!=(t=e.name)?t:""},this.input=null,this.type=null,c()(this)}show(){return this.setState({show:!0})}hide(){return this.setState({show:!1})}onChange(e){var t,a;return({name:a}=this.state),"function"==typeof(t=this.props).onChange?t.onChange(a):void 0}onKeyUp(){var e,t;return({name:t}=this.state),"function"==typeof(e=this.props).onKeyUp?e.onKeyUp(t):void 0}getValue(){var e;return e=null,null!=this.input&&(e=null!=this.input.getValue?this.input.getValue():this.input.value),e}render(){var t,a,n,s,r,i,c,o,u,d,h,p,m,v,f,E,R,b,y,S,g,_,C,w,k,N,x,T,A,O,I,L,D,P,M;switch(i=!0,({show:I}=this.state),u=null!=(p=(r=null!=(h=this.state.data)?h:{})[Form.INPUT_OPT])?p:r,P=null!=(_=null!=(C=r[Form.TYPE])?C:u[e.TYPE])?_:r[e.TYPE],d=null!=(w=u[e.PLACEHOLDER])?w:"",o=null!=(k=null!=(N=u[e.NAME])?N:r[Form.KEY_VALUE])?k:"",c=null!=(x=u[e.LABEL])?x:"",M=null!=(T=u[e.VALUE])?T:this.state.value,t=null!=(A=u[e.CHECKED])&&A,L=null!=(m=u[e.SRC])?m:"",n=null!=(v=u[e.CONTROLLER])?v:"",s=null!=(f=u[e.CSS_CLASS])?f:"",a="c "+(null!=(E=r[Form.COL_CLASSES])?E:"c-100"),null!=r[Form.COL_CLASSES]&&""===r[Form.COL_CLASSES]&&(a=""),D={},I||(D={display:"none"}),P){case l.TEXT:P="text";break;case l.PASSWORD:P="password"}if(null===P)return null;switch(P){case l.SCRIPT:case l.HTML:return null;case l.SHOP_ITEM_VALUES:c="",O=React.createElement(PropValues,{ref:e=>this.input=e,value:M,data:null!=(R=u[e.OPTIONS])?R:{}});break;case l.CATEGORY_CHOOSE:c="",O=React.createElement(CategoryChoose,{ref:e=>this.input=e,value:M,data:null!=(b=u[e.OPTIONS])?b:{}});break;case l.IMAGE:O=React.createElement(ImagePicker,{ref:e=>this.input=e,value:M,src:L});break;case l.SUBMIT:O=React.createElement("button",{className:"btn "+s,ref:e=>this.input=e,onClick:this.props.onSubmit,type:"button"},c),c="",i=!1,a="cc";break;case l.SUBMIT_AND_CLOSE:if(!0===this.props.hideSubmitAndClose)return null;O=React.createElement("button",{className:"btn "+s,ref:e=>this.input=e,onClick:this.props.onSubmitAndClose,type:"button"},c),c="",i=!1;break;case l.DSEK_FILES:O=React.createElement(DsekFiles,{ref:e=>this.input=e,label:d,value:M});break;case l.KPTRACKING_FILE:O=React.createElement(KPTrackingFiles,{ref:e=>this.input=e,label:d,value:M});break;case l.SWITCH_IOS:case l.CHECKBOX:O=React.createElement(SwitchIOS,{ref:e=>this.input=e,checked:t,label:d});break;case l.CONTACTS:O=React.createElement(Contacts,{ref:e=>this.input=e,value:M});break;case l.DATE:O=React.createElement(Datepicker,{ref:e=>this.input=e,value:M,placeholder:d});break;case l.DATE_TIME:O=React.createElement(Datepicker,{ref:e=>this.input=e,value:M,timepicker:!0,placeholder:d});break;case l.SELECT:O=React.createElement(Select,{ref:e=>this.input=e,id:M,data:null!=(y=u[e.OPTIONS])?y:{},placeholder:d});break;case l.SELECT_SEARCH:O=React.createElement(Select,{ref:e=>this.input=e,id:M,data:null!=(S=u[e.OPTIONS])?S:{},placeholder:d,search:!0});break;case l.SELECT_AJAX:O=React.createElement(Select,{ref:e=>this.input=e,id:M,data:null!=(g=u[e.OPTIONS])?g:{},ajax:!0,controller:n,placeholder:d});break;case l.TEXTAREA:O=React.createElement("textarea",{ref:e=>this.input=e,defaultValue:M,placeholder:d,className:"i c-100"});break;case l.HIDDEN:c="",i=!1,O=React.createElement("input",{ref:e=>this.input=e,type:"hidden",name:o,defaultValue:M});break;default:O=React.createElement("input",{ref:e=>this.input=e,type:P,name:o,defaultValue:M,placeholder:d,className:"i c-100",autoComplete:"off",onKeyUp:this.onKeyUp,onChange:this.onChange})}return c=""!==c?React.createElement("div",{className:"label",dangerouslySetInnerHTML:{__html:c}}):null,i&&(O=React.createElement("div",{className:"input_wrap"},c,O)),""!==a?React.createElement("div",{style:D,className:a},O):O}}return e.NAME=1,e.VALUE=2,e.LABEL=3,e.PLACEHOLDER=4,e.OPTIONS=5,e.CONTROLLER=6,e.CSS_CLASS=7,e.DATA=8,e.LINK=9,e.WITHNULLROW=10,e.ONLY_ADD_VALUE=11,e.THEME=12,e.VALIDATION=13,e.RULES=14,e.CHECKED=15,e.DISABLED=16,e.SRC=17,e.TYPE=18,e}.call(void 0)},function(module,__webpack_exports__,__webpack_require__){"use strict";var _input_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(2),react_autobind__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(0),react_autobind__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react_autobind__WEBPACK_IMPORTED_MODULE_1__),Form,indexOf=[].indexOf,_unused_webpack_default_export=Form=function(){class Form extends React.Component{constructor(e){var t,a,n;super(e),t=!0===e.ajaxFast,this.state={inputs:null!=e.inputs?e.inputs:e.inputs=[],values:null!=e.values?e.values:e.values=[],ajaxFast:t,ajaxInitData:null!=(a=e.ajaxInitData)?a:{},loading:t,controller:null!=(n=e.controller)?n:"",hideSubmitAndClose:!0===e.hideSubmitAndClose},react_autobind__WEBPACK_IMPORTED_MODULE_1___default()(this),this.inputs={},this.form=null}componentDidMount(){var e,t,a,n;return n=this,({ajaxFast:e,controller:a,ajaxInitData:t}=this.state),e?API(a+"/getCardInfo/",{id:0,dataType:"JSON",init_data:t},function(e){return n.setState({loading:!1,inputs:e.form},n.checkRules)}):this.checkRules()}onCancel(){var e;return"function"==typeof(e=this.props).onCancel?e.onCancel():void 0}getValues(){var e,t;for(e in t={},this.inputs)t[e]=this.inputs[e].getValue();return t}onSubmitAndClose(e){var t,a;return null!=e&&e.preventDefault(),a=this.getValues(),"function"==typeof(t=this.props).onSubmitAndClose&&t.onSubmitAndClose({form:this.form,values:a}),!1}onSubmit(e){var t,a;return null!=e&&e.preventDefault(),a=this.getValues(),"function"==typeof(t=this.props).onSubmit&&t.onSubmit({form:this.form,values:a}),!1}onChange(){return this.checkRules(name)}onKeyUp(e){return this.checkRules(e,"onkeyup")}checkRule(){}doRuleActions(actions,reverse=!1){var action,input,name,results,x;for(name in results=[],actions)if(action=actions[name],input=this.inputs[name],null!=input&&void 0!==input){switch(console.log("action",action),action.action){case"show":reverse?input.hide():input.show();break;case"hide":reverse?input.show():input.hide()}console.log("typeof",typeof action.js_function),"string"==typeof action.js_function?(x=eval(action.js_function),console.log("XXXX",x),results.push(x({values:this.getValues(),inputs:this.inputs,form:this}))):results.push(void 0)}else results.push(void 0);return results}checkRules(e=null,t=null){var a,n,s,r,l,i,c;for(n in c=this.getValues(),a=this.rules,null!=e&&void 0!==e&&(a={},void 0!==this.rules[e]&&(a[e]=this.rules[e])),s=[],a)l=a[n],i=c[n],s.push(function(){var e,a,n;for(n=[],e=0,a=l.length;e<a;e++)if(r=l[e],null===t||r.operator===t)switch(r.operator){case"in":n.push(this.doRuleActions(r.actions,indexOf.call(r.value,i)<0));break;case"onkeyup":n.push(this.doRuleActions(r.actions));break;default:n.push(void 0)}return n}.call(this));return s}addInput(e,t,a,n){var s;return({hideSubmitAndClose:s}=this.state),React.createElement(_input_js__WEBPACK_IMPORTED_MODULE_0__.a,{key:e,data:t,value:n,name:a,ref:e=>this.inputs[a]=e,onSubmit:this.onSubmit,onSubmitAndClose:this.onSubmitAndClose,hideSubmitAndClose:s,onChange:this.onChange,onKeyUp:this.onKeyUp})}renderInput(e,t){var a,n,s,r,l,i,c,o,u;if(null===e)return null;if(o="",n=[],!1,e[Form.VIEW]===Form.TITLE)return null;if(e[Form.VIEW]===Form.RULES)return this.rules=e[Form.RULES],null;if(e[Form.VIEW]===Form.ROW){if(o=null!=(l=e[Form.ROW_CLASSES])?l:"",null!=e[Form.COLS])for(s in e[Form.COLS])null!==(a=e[Form.COLS][s])&&(a[Form.VIEW]===Form.TITLE?n.push(React.createElement("div",{class:"c"},React.createElement("div",{class:"h1"},a[Form.TITLE_TEXT]))):(void 0===(r=a[Form.KEY_VALUE])&&(r=a[Form.INPUT_OPT][_input_js__WEBPACK_IMPORTED_MODULE_0__.a.NAME]),u=this.state.values[r],n.push(this.addInput(s,a,r,u))))}else r=null!=(i=null!=(c=e.name)?c:e[Form.KEY_VALUE])?i:void 0,u=e.value,void 0===r&&(console.warn("В форме поле ввода без аттрибута name",e),r="input"+(new Date).getTime()),void 0===u&&(u=this.state.values[r]),1===e[Form.TYPE],n.push(this.addInput(t,e,r,u));return React.createElement("div",{className:"row2 "+o},n)}render(){var e,t;return({loading:t}=this.state),t?React.createElement("div",null,"Загрузка..."):(e=this.state.inputs.map(this.renderInput.bind(this)),React.createElement("form",{onSubmit:this.onSubmit,ref:e=>this.form=e},e,React.createElement("div",{className:"res"})))}}return Form.VALUES=1,Form.INPUTS=2,Form.INPUT=3,Form.KEY_VALUE=4,Form.TYPE=5,Form.LABEL=6,Form.VIEW=7,Form.INPUT_OPT=8,Form.ON_SUBMIT=9,Form.ROW=10,Form.ROW_CLASSES=11,Form.COL_CLASSES=12,Form.COLS=13,Form.CONTROLLER=14,Form.ACTION=15,Form.COL_CLASSES_ALL_FORCE=16,Form.TITLE=17,Form.TITLE_TEXT=18,Form.BUTTONS=19,Form.BUTTON=20,Form.INPUT_ALL_THEME_FORCE=21,Form.FORM_WRAP=22,Form.RULES=23,Form}.call(void 0);window.Form=Form},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(void 0===e)return void console.error("Autobind error: No context provided.");var t=Object.getPrototypeOf(e);s=arguments.length>1?Array.prototype.slice.call(arguments,1):Object.getOwnPropertyNames(t);s.forEach(function(e){var a=Object.getOwnPropertyDescriptor(t,e);void 0!==a?-1===n.indexOf(e)&&"function"==typeof a.value&&Object.defineProperty(t,e,function(e,t,a){var n=a.value;return{configurable:!0,get:function(){if(this===e||this.hasOwnProperty(t))return n;var a=n.bind(this);return Object.defineProperty(this,t,{value:a,configurable:!0,writable:!0}),a}}}(t,e,a)):console.warn('Autobind: "'+e+'" method not found in class.')})};var n=["constructor","render","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","componentWillUnmount"],s=[];e.exports=t.default},function(e,t,a){"use strict";
/** @license React v16.9.0
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var n=a(6),s="function"==typeof Symbol&&Symbol.for,r=s?Symbol.for("react.element"):60103,l=s?Symbol.for("react.portal"):60106,i=s?Symbol.for("react.fragment"):60107,c=s?Symbol.for("react.strict_mode"):60108,o=s?Symbol.for("react.profiler"):60114,u=s?Symbol.for("react.provider"):60109,d=s?Symbol.for("react.context"):60110,h=s?Symbol.for("react.forward_ref"):60112,p=s?Symbol.for("react.suspense"):60113,m=s?Symbol.for("react.suspense_list"):60120,v=s?Symbol.for("react.memo"):60115,f=s?Symbol.for("react.lazy"):60116;s&&Symbol.for("react.fundamental"),s&&Symbol.for("react.responder");var E="function"==typeof Symbol&&Symbol.iterator;function R(e){for(var t=e.message,a="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n<arguments.length;n++)a+="&args[]="+encodeURIComponent(arguments[n]);return e.message="Minified React error #"+t+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",e}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y={};function S(e,t,a){this.props=e,this.context=t,this.refs=y,this.updater=a||b}function g(){}function _(e,t,a){this.props=e,this.context=t,this.refs=y,this.updater=a||b}S.prototype.isReactComponent={},S.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw R(Error(85));this.updater.enqueueSetState(this,e,t,"setState")},S.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},g.prototype=S.prototype;var C=_.prototype=new g;C.constructor=_,n(C,S.prototype),C.isPureReactComponent=!0;var w={current:null},k={suspense:null},N={current:null},x=Object.prototype.hasOwnProperty,T={key:!0,ref:!0,__self:!0,__source:!0};function A(e,t,a){var n=void 0,s={},l=null,i=null;if(null!=t)for(n in void 0!==t.ref&&(i=t.ref),void 0!==t.key&&(l=""+t.key),t)x.call(t,n)&&!T.hasOwnProperty(n)&&(s[n]=t[n]);var c=arguments.length-2;if(1===c)s.children=a;else if(1<c){for(var o=Array(c),u=0;u<c;u++)o[u]=arguments[u+2];s.children=o}if(e&&e.defaultProps)for(n in c=e.defaultProps)void 0===s[n]&&(s[n]=c[n]);return{$$typeof:r,type:e,key:l,ref:i,props:s,_owner:N.current}}function O(e){return"object"==typeof e&&null!==e&&e.$$typeof===r}var I=/\/+/g,L=[];function D(e,t,a,n){if(L.length){var s=L.pop();return s.result=e,s.keyPrefix=t,s.func=a,s.context=n,s.count=0,s}return{result:e,keyPrefix:t,func:a,context:n,count:0}}function P(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>L.length&&L.push(e)}function M(e,t,a){return null==e?0:function e(t,a,n,s){var i=typeof t;"undefined"!==i&&"boolean"!==i||(t=null);var c=!1;if(null===t)c=!0;else switch(i){case"string":case"number":c=!0;break;case"object":switch(t.$$typeof){case r:case l:c=!0}}if(c)return n(s,t,""===a?"."+U(t,0):a),1;if(c=0,a=""===a?".":a+":",Array.isArray(t))for(var o=0;o<t.length;o++){var u=a+U(i=t[o],o);c+=e(i,u,n,s)}else if(u=null===t||"object"!=typeof t?null:"function"==typeof(u=E&&t[E]||t["@@iterator"])?u:null,"function"==typeof u)for(t=u.call(t),o=0;!(i=t.next()).done;)c+=e(i=i.value,u=a+U(i,o++),n,s);else if("object"===i)throw n=""+t,R(Error(31),"[object Object]"===n?"object with keys {"+Object.keys(t).join(", ")+"}":n,"");return c}(e,"",t,a)}function U(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}(e.key):t.toString(36)}function F(e,t){e.func.call(e.context,t,e.count++)}function j(e,t,a){var n=e.result,s=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?V(e,n,a,function(e){return e}):null!=e&&(O(e)&&(e=function(e,t){return{$$typeof:r,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,s+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(I,"$&/")+"/")+a)),n.push(e))}function V(e,t,a,n,s){var r="";null!=a&&(r=(""+a).replace(I,"$&/")+"/"),M(e,j,t=D(t,r,n,s)),P(t)}function K(){var e=w.current;if(null===e)throw R(Error(321));return e}var W={Children:{map:function(e,t,a){if(null==e)return e;var n=[];return V(e,n,null,t,a),n},forEach:function(e,t,a){if(null==e)return e;M(e,F,t=D(null,null,t,a)),P(t)},count:function(e){return M(e,function(){return null},null)},toArray:function(e){var t=[];return V(e,t,null,function(e){return e}),t},only:function(e){if(!O(e))throw R(Error(143));return e}},createRef:function(){return{current:null}},Component:S,PureComponent:_,createContext:function(e,t){return void 0===t&&(t=null),(e={$$typeof:d,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:u,_context:e},e.Consumer=e},forwardRef:function(e){return{$$typeof:h,render:e}},lazy:function(e){return{$$typeof:f,_ctor:e,_status:-1,_result:null}},memo:function(e,t){return{$$typeof:v,type:e,compare:void 0===t?null:t}},useCallback:function(e,t){return K().useCallback(e,t)},useContext:function(e,t){return K().useContext(e,t)},useEffect:function(e,t){return K().useEffect(e,t)},useImperativeHandle:function(e,t,a){return K().useImperativeHandle(e,t,a)},useDebugValue:function(){},useLayoutEffect:function(e,t){return K().useLayoutEffect(e,t)},useMemo:function(e,t){return K().useMemo(e,t)},useReducer:function(e,t,a){return K().useReducer(e,t,a)},useRef:function(e){return K().useRef(e)},useState:function(e){return K().useState(e)},Fragment:i,Profiler:o,StrictMode:c,Suspense:p,unstable_SuspenseList:m,createElement:A,cloneElement:function(e,t,a){if(null==e)throw R(Error(267),e);var s=void 0,l=n({},e.props),i=e.key,c=e.ref,o=e._owner;if(null!=t){void 0!==t.ref&&(c=t.ref,o=N.current),void 0!==t.key&&(i=""+t.key);var u=void 0;for(s in e.type&&e.type.defaultProps&&(u=e.type.defaultProps),t)x.call(t,s)&&!T.hasOwnProperty(s)&&(l[s]=void 0===t[s]&&void 0!==u?u[s]:t[s])}if(1===(s=arguments.length-2))l.children=a;else if(1<s){u=Array(s);for(var d=0;d<s;d++)u[d]=arguments[d+2];l.children=u}return{$$typeof:r,type:e.type,key:i,ref:c,props:l,_owner:o}},createFactory:function(e){var t=A.bind(null,e);return t.type=e,t},isValidElement:O,version:"16.9.0",unstable_withSuspenseConfig:function(e,t){var a=k.suspense;k.suspense=void 0===t?null:t;try{e()}finally{k.suspense=a}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentDispatcher:w,ReactCurrentBatchConfig:k,ReactCurrentOwner:N,IsSomeRendererActing:{current:!1},assign:n}},H={default:W},B=H&&W||H;e.exports=B.default||B},function(e,t,a){"use strict";
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/var n=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},a=0;a<10;a++)t["_"+String.fromCharCode(a)]=a;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(e){n[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var a,l,i=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),c=1;c<arguments.length;c++){for(var o in a=Object(arguments[c]))s.call(a,o)&&(i[o]=a[o]);if(n){l=n(a);for(var u=0;u<l.length;u++)r.call(a,l[u])&&(i[l[u]]=a[l[u]])}}return i}},function(e,t){var a;window.initReact=function(e,t={}){var n,s,r,l,i,c,o,u,d,h,p,m,v,f,E,R;for(s in null==t&&(t={}),R=(new Date).getTime(),r=function(e,a="data"){t=e.getAttribute("data-"+a);try{t=JSON.parse(t)}catch(e){e,t={}}return e.removeAttribute("data-"+a),t},(f=function(t,a){var n,s,r,l,i;for(i=[],s=0,r=(l=e[0].querySelectorAll(t)).length;s<r;s++)n=l[s],i.push(ReactDOM.render(a,n));return i})(".r_portfolio_list",React.createElement(PortfolioList,{data:t.portfolio_list})),f(".r_news_list",React.createElement(NewsAnnotationList,{data:t.news_annotation})),f(".r_service_list",React.createElement(ServiceList,{data:t.service_list})),f(".r_service_icons",React.createElement(ServiceIconsList,{data:t.service_icons})),f(".r_updates_list",React.createElement(UpdatesAnnotationList,{data:t.updates_annotation})),f(".r_announcement_list",React.createElement(AnnouncementAnnotationList,{data:t.announcement_annotation})),f(".r_turnkey_list",React.createElement(TurnkeyAnnotationList,{data:t.turnkey_annotation})),f(".r_money_dash.new",React.createElement(MoneyDash,{type:"new"})),t.money_data)null!=(n=t.money_data[s]).minus&&f('.r_money_minus[data-date="'+s+'"]',React.createElement(MoneyList,{type:"minus",data:n.minus})),null!=n.plus&&f('.r_money_plus[data-date="'+s+'"]',React.createElement(MoneyList,{type:"plus",data:n.plus})),null!=n.transfer&&f('.r_money_transfer[data-date="'+s+'"]',React.createElement(MoneyList,{type:"transfer",data:n.transfer}));for(i=0,u=(n=e[0].querySelectorAll(".r_table")).length;i<u;i++)l=n[i],ReactDOM.render(React.createElement(Table,{data:r(l)}),l);for(c=0,d=(n=e[0].querySelectorAll(".r_card")).length;c<d;c++)l=n[c],ReactDOM.render(React.createElement(Card,{data:r(l)}),l);for(p=0,h=(n=e[0].querySelectorAll("#form_auth")).length;p<h;p++)l=n[p],(m={})[Input.PLACEHOLDER]="Логин",m[Input.TYPE]=INPUT_TYPE.TEXT,(o={})[Form.INPUT_OPT]=m,o[Form.KEY_VALUE]="login",(m={})[Input.PLACEHOLDER]="Пароль",m[Input.TYPE]=INPUT_TYPE.PASSWORD,(v={})[Form.INPUT_OPT]=m,v[Form.KEY_VALUE]="pass",(m={})[Input.TYPE]=INPUT_TYPE.SUBMIT,m[Input.LABEL]="Авторизоваться",m[Input.CSS_CLASS]="blue",(E={})[Form.INPUT_OPT]=m,ReactDOM.render(React.createElement(Form,{inputs:[o,v,E],onSubmit:a}),l);return console.log("React Render",(new Date).getTime()-R)},window.firstInitReact=function(e,t={}){},a=function(e){var t;return(t=e.values).dataType="JSON",API("core.user.account/login",t,function(e){return 1===e.e?console.log(e):window.location.reload()})}},function(e,t,a){"use strict";a.r(t);var n,s,r=a(0),l=a.n(r),i=a(1),c=a.n(i),o=class extends c.a.Component{constructor(e){var t;super(e),this.state={checked:null!=e.checked?e.checked:e.checked=!1,disabled:null!=(t=e.disabled)&&t},l()(this)}componentWillReceiveProps(e){return this.setState({checked:e.checked})}shouldComponentUpdate(e,t){return t.checked!==this.state.checked}setValue(e){return this.setState({checked:e})}aToggle(e){var t;return"function"==typeof(t=this.props).onChange?t.onChange(e):void 0}toggle(e=null){var t,a;if(({disabled:a}=this.state),null!=e&&e.stopPropagation(),!a)return t=!this.state.checked,this.setState({checked:t},this.aToggle.bind(this,t))}render(){var e,t;return({checked:e,disabled:t}=this.state),c.a.createElement("div",{class:"checkbox "+(e?"checked":"")+(t?" disabled":""),onClick:this.toggle},c.a.createElement("input",{type:"checkbox",defaultChecked:this.state.checked,checked:e}))}};window.Thead=class extends React.Component{constructor(e){var t;super(e),this.state={columns:null!=(t=e.columns)?t:[],hide_thead:!0===e.hide_thead,sortable:!0===e.sortable},l()(this)}setSelected(e){return this.setState({selected:!0===e})}onSelect(e){var t;return"function"==typeof(t=this.props).onSelect?t.onSelect(e):void 0}renderTh(e){return React.createElement("th",null,React.createElement("div",{className:"text"},e.name))}render(){var e,t,a;return({columns:e,hide_thead:t,sortable:a}=this.state),console.log("hide_thead",t),t?null:React.createElement("thead",null,React.createElement("tr",null,a?React.createElement("th",{class:"c-1"}):null,React.createElement("th",{class:"c-1"},React.createElement(o,{checked:this.state.selected,onChange:this.onSelect})),e.map(this.renderTh)))}},a(3);s=function(){class e{}return e.FORM=1,e.TABLE=2,e}.call(void 0),n=function(){class e{}return e.NAME=1,e.CONTENT=2,e.TYPE=3,e}.call(void 0);var u;window.Card=class extends React.Component{constructor(e){var t,a,n;super(e),this.state={ajax:!0===e.ajax,controller:null!=(t=e.controller)?t:"",id:null!=(a=e.id)?a:"",loading:!0===e.ajax,data:null!=(n=e.data)?n:[],tab:null,in_modal:!0===e.in_modal},this.aRefresh=this.aRefresh.bind(this),this.onSubmit=this.onSubmit.bind(this),this.onSubmitAndClose=this.onSubmitAndClose.bind(this),this.uaddEntity=this.uaddEntity.bind(this),this.aUaddEntity=this.aUaddEntity.bind(this),this.updateRender=this.updateRender.bind(this),this.tabs=null,this.pages=null}onSubmitAndClose(e){var t;return this.uaddEntity(e),"function"==typeof(t=this.props).onClose?t.onClose():void 0}onSubmit(e){return this.uaddEntity(e)}aUaddEntity(e,t){return console.log("aUaddEntity",e,t),e.success?(Notify.create({text:"Успешно сохранено"}),Controllers.update(t.controller)):Notify.create({color:"red",text:"Ошибка при сохранении: "+x.error})}uaddEntity(e){var t,a;return t=(a=e.values).controller,API(t+"/uadd",{values:a,dataType:"JSON"},this.aUaddEntity,{controller:t})}updateRender(){return $(this.pages).perfectScrollbar("update"),$(this.tabs).perfectScrollbar("update"),$(".content").perfectScrollbar("update")}aRefresh(e,t){return console.log("aRefresh",e),this.setState({loading:!1,data:e},function(){return $(this.pages).perfectScrollbar(),$(this.tabs).perfectScrollbar()})}refresh(){var e,t;return({controller:e,id:t}=this.state),API(e+"/getCardInfo/",{id:t,dataType:"JSON"},this.aRefresh)}componentDidMount(){if(!0===this.state.ajax)return this.refresh()}setTab(e=null){return this.setState({tab:e},this.updateRender)}render(){var e,t,a,r,l,i,c,o,u,d,h,p,m,v;if(({loading:u,data:a,tab:p,title:v,in_modal:c}=this.state),r=!c,h=[],m=[],t=null,i=null,!u)if(void 0!==a.form)t=React.createElement("div",{class:"f1_db card_form_edit"},React.createElement("div",{class:"row"},React.createElement("div",{class:"c"},React.createElement("div",{class:"h"},a.title,". Редактирование"))),React.createElement("div",{class:"block"},React.createElement("div",{class:"body"},React.createElement("div",{class:"cont"},React.createElement(Form,{values:a.values,inputs:a.form,onSubmit:this.onSubmit,onSubmitAndClose:this.onSubmitAndClose,hideSubmitAndClose:r})))));else{for(o in a.tabs)null!==(l=a.tabs[o])&&(""!==a.image&&(i=React.createElement("img",{src:a.image})),m.push(React.createElement("div",{onClick:this.setTab.bind(this,o),key:o,className:"tab"+(o===p?" selected":"")},l[n.NAME])),e=l[n.CONTENT],t=null,l[n.TYPE]===s.TABLE&&(t=React.createElement("div",{className:"table"},React.createElement(Table,{data:e}))),l[n.TYPE]===s.FORM&&(t=React.createElement("div",{className:"cont"},React.createElement(Form,{values:e.values,inputs:e.inputs,onSubmit:this.onSubmit,onSubmitAndClose:this.onSubmitAndClose,hideSubmitAndClose:r}))),d=React.createElement("div",{className:"card_page",key:o},React.createElement("div",{className:"h"},l[n.NAME]),React.createElement("div",{className:"page_content"},React.createElement("div",{className:"block"},React.createElement("div",{className:"body"},t)))),null===p?h.push(d):p===o&&h.push(d));m.length>0&&null!==p&&m.push(React.createElement("div",{onClick:this.setTab.bind(this,null),key:m.length,className:"tab"},"Показать всё")),t=React.createElement("div",{className:"card_content"},React.createElement("div",{className:"pages",ref:e=>this.pages=e},React.createElement("div",{className:"pages_content"},h)),React.createElement("div",{className:"tabs",ref:e=>this.tabs=e},React.createElement("div",null,i,m)))}return React.createElement("div",{className:"card"},u?React.createElement("div",{className:"card_loading"},"Загрузка..."):t)}};u=function(){class e{}return e.NONE=-1,e.LINK=1,e.CARD=2,e.OPEN_UADD=3,e}.call(void 0);var d,h,p;window.Tr=class extends React.Component{constructor(e){super(e),this.state=this.prepareProps(e),l()(this)}onTdInputChange(e){return console.warn("onTdInputChange ДОДЕЛАТЬ!!!!",e)}trClick(e){var t,a,n,s;switch(({row_click:s,controller:a,id:n}=this.state),s){case u.CARD:return e.preventDefault(),Modals.openCard(a,n);case u.OPEN_UADD:return e.preventDefault(),"function"==typeof(t=this.props).openUadd?t.openUadd():void 0}}prepareProps(e){var t,a,n,s;return{id:null!=(t=e.id)?t:0,data:e.data,controller:null!=(a=e.controller)?a:"",column_render:null!=(n=e.column_render)?n:{},row_click:null!=(s=e.row_click)?s:u.NONE,sortable:!0===e.sortable}}componentWillReceiveProps(e){var t,a,n,s;for(t in a=!1,e.id!==this.props.id&&(a=!0),e.data)if(n=e.data[t],s=this.props.data[t],(null!=n?n.value:void 0)!==(null!=s?s.value:void 0)){a=!0;break}if(a)return this.setState(this.prepareProps(e))}onClickLink(e,t,a){if(!0===a.COLUMN_RENDER_LINK_MODAL)return e.preventDefault(),Modals.openCard(this.state.controller,this.state.id)}onSelect(e){return this.setState({selected:e},this.props.onSelect)}setSelect(e){return this.setState({selected:!0===e})}renderTd(e){var t,a,n,s,r,l,i,c,o;return i=this,o=e.value,({id:a}=this.state),t=this.state.column_render[e.column],null!==e.input&&(o=React.createElement(Input,{key:e.column+this.state.id,data:e.input,value:e.data,onChange:this.onTdInputChange.bind(this,e.column)})),null!=t&&(!0===(n=t.COLUMN_RENDER_AS_HTML)?o=React.createElement("span",{dangerouslySetInnerHTML:{__html:o}}):(!0===(n=t.COLUMN_RENDER_IMAGE_WRAP)&&(o=React.createElement("img",{src:o})),void 0!==(n=t.COLUMN_RENDER_LINK_ID)&&""!==n?o=React.createElement("a",{href:n+a+"/",className:null!=(s=t.COLUMN_RENDER_LINK_CSS_CLASS)?s:"",onClick:function(a){return i.onClickLink(a,e,t)},"data-modal":!0===t.COLUMN_RENDER_LINK_MODAL},o):!0===t.COLUMN_RENDER_LINK_MODAL&&(o=React.createElement("div",{className:null!=(r=t.COLUMN_RENDER_LINK_CSS_CLASS)?r:"",onClick:function(a){return i.onClickLink(a,e,t)},"data-modal":!0===t.COLUMN_RENDER_LINK_MODAL},o)))),c=null!=(l=e.td_class)?l:"",React.createElement("td",null,React.createElement("div",{className:"td_cont "+c},o))}render(){var e,t,a,n;return({data:e,id:t,sortable:n,selected:a}=this.state),React.createElement("tr",{onClick:this.trClick,"data-id":t},n?React.createElement("td",{class:"c-1"},React.createElement("div",{class:"icon up_down small pointer"})):null,React.createElement("td",{class:"c-1"},React.createElement(o,{onChange:this.onSelect.bind(this),checked:a})),e.map(this.renderTd))}},window.Tbody=class extends React.Component{constructor(e){var t,a,n,s,r;super(e),this.state={columns:null!=(t=e.columns)?t:[],data:null!=(a=e.data)?a:[],controller:null!=(n=e.controller)?n:"",column_render:null!=(s=e.column_render)?s:{},row_click:null!=(r=e.row_click)?r:"",sortable:!0===e.sortable},l()(this),this.tbody=null,this.rows={}}onSelect(){var e;return"function"==typeof(e=this.props).onSelect?e.onSelect():void 0}getSelected(){var e,t,a;for(e in t=[],this.rows)null!=(a=this.rows[e])&&a.state.selected&&t.push(a);return t}selectAll(e=!0){var t,a,n;for(t in a=[],this.rows)null!=(n=this.rows[t])?a.push(n.setSelect(e)):a.push(void 0);return a}componentWillReceiveProps(e){return this.setState({data:e.data})}componentDidMount(){var e,t;if(({controller:e,data:t}=this.state),this.state.sortable)return $(this.tbody).sortable({handle:".up_down",start:function(e,t,a){return $(a).hide()},stop:function(t,a,n){var s,r,l;return l=(s=$(a)).index(),r=s.attr("data-id"),API(e+"/updatePosForID",{id:r,pos:l})}})}renderTr(e){return React.createElement(Tr,{data:e.data,id:e.id,controller:this.state.controller,column_render:this.state.column_render,row_click:this.state.row_click,key:e.id,openUadd:this.props.openUadd,sortable:this.state.sortable,onSelect:this.onSelect,ref:t=>this.rows[e.id]=t})}render(){var e;return({data:e}=this.state),React.createElement("tbody",{ref:e=>this.tbody=e},e.map(this.renderTr))}},window.TableTitle=class extends React.Component{constructor(e){var t,a,n;super(e),this.state={controller:null!=(t=e.controller)?t:"",title:null!=(a=e.title)?a:"",init_data:null!=(n=e.init_data)?n:[],hide_title:!0===e.hide_title,selectedCount:0},this.modalIndex=null,l()(this)}deleteSelected(){}setSelectCount(e){return this.setState({selectedCount:e})}closeModal(){var e;return null!=(e=Modals.rModals[this.modalIndex])&&"function"==typeof e.close?e.close():void 0}aOnSubmit(e,t){return console.log("aOnSubmit",e,t),e.success?(Notify.create({text:"Успешно сохранено"}),this.closeModal(),t.openCard&&Modals.openCard(this.state.controller,e.id),Controllers.update(this.state.controller)):Notify.create({color:"red",text:"Ошибка при сохранении: "+e.error})}deleteSelections(){var e;return"function"==typeof(e=this.props).onDelete?e.onDelete():void 0}onSubmitAndClose(e){return this.onSubmit(e,!1)}onSubmit(e,t=!0){var a,n;return a=(n=e.values).controller,API(a+"/uadd",{values:n,dataType:"JSON"},this.aOnSubmit,{openCard:t})}createNew(){var e,t;return({title:t,init_data:e}=this.state),this.modalIndex=Modals.create({scrollable:!0,width:800,content:React.createElement("div",{class:"f1_db"},React.createElement("div",{class:"row"},React.createElement("div",{class:"c"},React.createElement("div",{class:"h"},t,". Добавление"))),React.createElement("div",{class:"block"},React.createElement("div",{class:"body"},React.createElement("div",{class:"cont"},React.createElement(Form,{ajaxFast:!0,ajaxInitData:e,controller:this.state.controller,onSubmit:this.onSubmit,onSubmitAndClose:this.onSubmitAndClose,values:e})))))})}render(){var e,t,a;return({hide_title:t,selectedCount:a}=this.state),t?null:(e=[],a&&e.push(React.createElement("button",{type:"button",className:"btn red small",onClick:this.deleteSelections},"Удалить")),React.createElement("div",{class:"table_title"},React.createElement("div",{class:"btns"},React.createElement("button",{type:"button",className:"btn blue small",onClick:this.createNew},"Добавить"),e)))}},window.Pagination=class extends React.Component{constructor(e){var t,a;super(e),this.state={pages:null!=(t=e.pages)?t:0,now:null!=(a=e.now)?a:0,wing:3}}aSetPage(){var e;return"function"==typeof(e=this.props).onChange?e.onChange(this.state.now):void 0}setPage(e){return this.setState({now:e},this.aSetPage.bind(this))}prev(){if(this.state.now>1)return this.setPage(this.state.now-1)}next(){if(this.state.now<this.state.pages)return this.setPage(this.state.now+1)}componentWillReceiveProps(e){return this.setState({pages:e.pages})}render(){var e,t,a,n,s,r,l,i,c,o,u,d,h,p,m,v,f,E,R,b;if(t=this.state.wing,a=this.state.pages,d=this.state.now,e=[],a>1){for(e.push(1),n=s=2,m=o=Math.min(a,t);2<=m?s<=m:s>=m;n=2<=m?++s:--s)e.push(n);if((o=Math.max(o+1,d-t))<=(u=Math.min(a,d+t)))for(n=r=v=o,f=u;v<=f?r<=f:r>=f;n=v<=f?++r:--r)e.push(n);if((o=Math.max(u+1,a-t))<=a)for(n=l=E=o,R=a;E<=R?l<=R:l>=R;n=E<=R?++l:--l)e.push(n)}for(h=[],p=0,c=0,i=e.length;c<i;c++)(n=e[c])-p>1&&h.push(React.createElement("span",null,"...")),h.push(React.createElement("a",{onClick:this.setPage.bind(this,n),className:n===d?"selected":""},n)),p=n;return b={},0===h.length&&(b={display:"none"}),React.createElement("div",{className:"pagination",style:b},React.createElement("a",{className:d<2?"disable":"",onClick:this.prev.bind(this)},"<"),h,React.createElement("a",{className:this.state.now===this.state.pages?"disable":"",onClick:this.next.bind(this)},">"))}};window.Modal=d=class extends React.Component{constructor(e){var t,a,n,s;super(e),console.log("modal",e),t=null!=(a=e.data)?a:{},this.state={closed:!1,content:null!=(n=t.content)?n:null,scrollable:!0===t.scrollable,width:null!=(s=t.width)?s:null},this.close=this.close.bind(this),this.wrap=null}componentDidMount(){if(this.state.scrollable)return $(this.wrap).perfectScrollbar()}close(){var e;return this.setState({closed:!0}),"function"==typeof(e=this.props).onClose?e.onClose():void 0}render(){var e,t,a,n;return({closed:e,content:t,width:n}=this.state),e?null:(a={},null!=n&&(a.width=n+"px"),React.createElement("div",{className:"background"},React.createElement("div",{className:"background_click",onClick:this.close}),React.createElement("div",{className:"modal",ref:e=>this.wrap=e,style:a},React.createElement("div",{className:"modal_content"},t))))}};window.ModalWrap=h=class extends React.Component{constructor(e){super(e),this.state={index:0},this.modals={},this.rModals={},this.create=this.create.bind(this),this.onClose=this.onClose.bind(this)}getBodyWrap(){var e;return null===(e=document.getElementById("background"))&&(e=document.body),e}onClose(e){if(delete this.modals[e],0===Object.keys(this.modals).length)return this.getBodyWrap().classList.remove("modaled")}create(e){var t;return({index:t}=this.state),t++,this.modals[t]=React.createElement(d,{data:e,key:t,ref:e=>this.rModals[t]=e,onClose:this.onClose.bind(this,t)}),this.setState({index:t}),this.getBodyWrap().classList.add("modaled"),t}openCard(e,t){var a,n,s;return n=null,s=this,a=function(){return s.rModals[n].close()},n=Modals.create({content:React.createElement(Card,{ajax:!0,controller:e,id:t,in_modal:!0,onClose:a}),scrollable:!0})}render(){var e,t;for(e in t=[],this.modals)t.push(this.modals[e]);return t}};p=function(){var e;return e=document.createElement("div"),document.body.appendChild(e),ReactDOM.render(React.createElement(h,{ref:e=>window.Modals=e}),e)},document.addEventListener("DOMContentLoaded",p);window.MiniHelp=class extends React.Component{constructor(e){super(e)}render(){return React.createElement("div",{class:"minihelp"},React.createElement("div",{class:"icon help small"}),React.createElement("div",{class:"text"},this.props.title))}};window.psUpdate=function(){return $(".ps-container").perfectScrollbar("update")},window.Controllers=function(){class e{static update(e){var t,a,n,s;for(a in null==(t=this.controllers)[e]&&(t[e]=[]),n=[],this.controllers[e])s=this.controllers[e][a],n.push("function"==typeof s.reload?s.reload():void 0);return n}static add(e,t){var a;return null==(a=this.controllers)[e]&&(a[e]=[]),this.controllers[e].push(t)}static remove(e,t){var a,n,s;for(n in null==(a=this.controllers)[e]&&(a[e]=[]),s=[],this.controllers[e]){if(this.controllers[e][n]===t){this.controllers[e].splice(n,1);break}s.push(void 0)}return s}}return e.controllers={},e}.call(void 0);var m,v,f;window.Table=class extends React.Component{constructor(e){super(e),this.state=this.prepareProps(e),this.pagination=null,l()(this)}prepareProps(e){var t,a,n,s,r,l,i,c,o,u,d,h,p,m;return t=e.data,console.log("query",t,t.query),{columns:null!=(a=t.columns)?a:[],data:null!=(n=t.data)?n:[],pages:null!=(i=t.pages)?i:0,page:null!=(c=t.page)?c:0,controller:null!=(o=t.controller)?o:"",column_render:null!=(u=t.column_render)?u:{},title:null!=(d=t.title)?d:{},init_data:null!=(h=t.init_data)?h:{},row_click:null!=(p=t.row_click)?p:-1,count:null!=(m=t.count)?m:10,where:null!=(s=t.where)?s:null,hide_thead:!0===t.hide_thead,hide_title:!0===t.hide_title,sortable:!0===t.sortable,hide_columns:null!=(r=t.hide_columns)?r:[],sort:null!=(l=t.sort)?l:[]}}destroy(){return Controllers.remove(this.state.controller,this)}componentDidMount(){return $(this.wrap).on("destroyed ",this.destroy),Controllers.add(this.state.controller,this),A.P.initMini($(this.wrap))}aReload(e){var t;try{e=JSON.parse(e)}catch(t){t,e={}}return t=this.prepareProps({data:e}),this.setState(t),psUpdate(),A.P.initMini($(this.wrap))}openUadd(){var e;return null!=(e=this.title)?e.createNew():void 0}reload(){var e,t,a,n,s,r,l,i,c,o,u;return({count:e,row_click:l,init_data:s,where:u,hide_thead:a,hide_title:n,hide_columns:t,sortable:o,sort:c}=this.state),r=0,null!=this.pagination&&(r=this.pagination.state.now-1),i={page:r,2:c,7:e,4:u,row_click:l,init_data:s,hide_thead:a,hide_title:n,HIDE_COLUMNS:t,sortable:o},API(this.state.controller+"/getTableData",i,this.aReload.bind(this))}onDelete(){var e,t,a,n,s;for(s=this.tbody.getSelected(),t=[],this.onSelectAll(!1),a=0,n=s.length;a<n;a++)e=s[a],t.push(e.state.id);return API(this.state.controller+"/removeByIds",{ids:t},this.reload)}onSelectAll(e){return this.tbody.selectAll(e),this.title.setSelectCount(e?this.state.data.length:0),this.thead.setSelected(e)}onSelectRow(){var e;return e=this.tbody.getSelected(),this.title.setSelectCount(e.length),this.thead.setSelected(e.length===this.state.data.length)}render(){var e,t,a,n,s,r,l,i,c,o;return({columns:e,data:a,pages:i,page:l,controller:t,title:o,init_data:r,hide_thead:n,hide_title:s,sortable:c}=this.state),React.createElement("div",{ref:e=>this.wrap=e},React.createElement(TableTitle,{controller:t,title:o,init_data:r,ref:e=>this.title=e,hide_title:s,onDelete:this.onDelete}),React.createElement("table",{cellPadding:0,cellSpacing:0},React.createElement(Thead,{columns:e,hide_thead:n,sortable:c,ref:e=>this.thead=e,onSelect:this.onSelectAll}),React.createElement(Tbody,{columns:e,data:a,controller:t,column_render:this.state.column_render,row_click:this.state.row_click,openUadd:this.openUadd,sortable:c,onSelect:this.onSelectRow,ref:e=>this.tbody=e})),React.createElement(Pagination,{ref:e=>this.pagination=e,pages:i,now:l+1,onChange:this.reload}))}},window.NotifyWrap=v=class extends React.Component{constructor(e){super(e),this.state={index:0},this.notifies={}}create(e){var t;return({index:t}=this.state),t++,this.notifies[t]=React.createElement(m,{key:t,data:e}),this.setState({index:t})}render(){var e,t;for(t in e=[],this.notifies)e.push(this.notifies[t]);return React.createElement("div",null,e)}};m=class extends React.Component{constructor(e){super(e),this.state=this.prepare(e.data),this.close=this.close.bind(this)}prepare(e){var t,a,n;return{opened:!1,removed:!1,timeout:null!=(t=e.timeout)?t:3e3,text:null!=(a=e.text)?a:"",color:null!=(n=e.color)?n:""}}close(){var e;return(e=this).setState({opened:!1}),setTimeout(function(){return e.setState({removed:!0}),e=null},150)}componentDidMount(){var e;return e=this,setTimeout(function(){return e.setState({opened:!0})},10),setTimeout(this.close,this.state.timeout)}render(){var e,t,a,n;return({opened:t,removed:a,text:n,color:e}=this.state),a?null:React.createElement("div",{className:"notify "+e+(t?" opened":""),onClick:this.close},n)}},f=function(){var e;return(e=document.createElement("div")).id="notifies",document.body.appendChild(e),ReactDOM.render(React.createElement(v,{ref:e=>window.Notify=e}),e)},document.addEventListener("DOMContentLoaded",f);window.AnnotationDash=class extends React.Component{constructor(e){super(e)}render(){return React.createElement(Dash,{data:this.props.data})}},window.NewsAnnotationList=class extends React.Component{constructor(e){var t,a,n,s,r;for(super(e),t=[],n=0,s=(r=this.props.data).length;n<s;n++)(a=r[n]).text=a.annotation,a.ratio="2-3",a.column="c-25",t.push(a);this.state={data:t}}render(){var e;return this.state.data.length>0?React.createElement("div",null,React.createElement(Title,{title:"НОВОСТИ",more:"/news/",more_text:"Смотреть все новости"}),React.createElement("div",{className:"dashes"},function(){var t,a,n,s;for(s=[],t=0,a=(n=this.state.data).length;t<a;t++)e=n[t],s.push(React.createElement(AnnotationDash,{data:e}));return s}.call(this))):null}},window.PortfolioList=class extends React.Component{constructor(e){var t,a,n,s,r;for(super(e),t=[],n=0,s=(r=this.props.data).length;n<s;n++)(a=r[n]).text=a.annotation,a.ratio="2-3",a.column="c-1-3",t.push(a);this.state={data:t}}render(){var e;return this.state.data.length>0?React.createElement("div",null,React.createElement(Title,{title:"ПОРТФОЛИО",more:"/portfolio/",more_text:"Смотреть все работы"}),React.createElement("div",{className:"dashes"},function(){var t,a,n,s;for(s=[],t=0,a=(n=this.state.data).length;t<a;t++)e=n[t],s.push(React.createElement(AnnotationDash,{data:e}));return s}.call(this))):null}},window.ServiceIconsList=class extends React.Component{constructor(e){super(e),this.state={data:e.data}}render(){var e,t,a,n;return a=H.parse(),this.state.data.length>0?React.createElement("div",{class:"apps"},function(){var s,r,l,i;for(i=[],s=0,r=(l=this.state.data).length;s<r;s++)e=l[s],n=H.parse(e.link),t=a[0]===n[0]?" selected":"",i.push(React.createElement("a",{className:"app"+t,href:e.link,style:{backgroundImage:"url("+e.icon+")"},title:e.title}));return i}.call(this)):null}},window.ServiceList=class extends React.Component{constructor(e){var t,a,n,s,r;for(super(e),t=[],n=0,s=(r=this.props.data).length;n<s;n++)(a=r[n]).text=a.annotation,a.ratio="2-3",a.column="c-25",t.push(a);this.state={data:t}}render(){var e;return this.state.data.length>0?React.createElement("div",null,React.createElement(Title,{title:"WEB-СЕРВИСЫ",more:"/services/",more_text:"Смотреть все проекты"}),React.createElement("div",{className:"dashes"},function(){var t,a,n,s;for(s=[],t=0,a=(n=this.state.data).length;t<a;t++)e=n[t],s.push(React.createElement(AnnotationDash,{data:e}));return s}.call(this))):null}},window.UpdatesAnnotationList=class extends React.Component{constructor(e){var t,a,n,s,r;for(super(e),t=[],n=0,s=(r=this.props.data).length;n<s;n++)(a=r[n]).text=a.annotation,a.ratio="2-3",a.column="c-25",t.push(a);this.state={data:t}}render(){var e;return this.state.data.length>0?React.createElement("div",null,React.createElement(Title,{title:"ОБНОВЛЕНИЯ",more:"/updates/",more_text:"Смотреть все обновления"}),React.createElement("div",{className:"dashes"},function(){var t,a,n,s;for(s=[],t=0,a=(n=this.state.data).length;t<a;t++)e=n[t],s.push(React.createElement(AnnotationDash,{data:e}));return s}.call(this))):null}},window.AnnouncementAnnotationList=class extends React.Component{constructor(e){var t,a,n,s,r;for(super(e),t=[],n=0,s=(r=this.props.data).length;n<s;n++)(a=r[n]).text=a.annotation,a.ratio="2-3",a.column="c-1-3",t.push(a);this.state={data:t}}render(){var e;return this.state.data.length>0?React.createElement("div",null,React.createElement(Title,{title:"Анонсы",more:"/announcement/",more_text:"Смотреть все анонсы"}),React.createElement("div",{className:"dashes"},function(){var t,a,n,s;for(s=[],t=0,a=(n=this.state.data).length;t<a;t++)e=n[t],s.push(React.createElement(AnnotationDash,{data:e}));return s}.call(this))):null}},window.TurnkeyAnnotationList=class extends React.Component{constructor(e){var t,a,n,s,r;for(super(e),t=[],n=0,s=(r=this.props.data).length;n<s;n++)(a=r[n]).text=a.annotation,a.ratio="2-3",a.column="c-1-3",t.push(a);this.state={data:t}}render(){var e;return this.state.data.length>0?React.createElement("div",null,React.createElement(Title,{title:"Разработка под ключ",more:"/turnkey/",more_text:"Смотреть все предложения"}),React.createElement("div",{className:"dashes"},function(){var t,a,n,s;for(s=[],t=0,a=(n=this.state.data).length;t<a;t++)e=n[t],s.push(React.createElement(AnnotationDash,{data:e}));return s}.call(this))):null}},window.Dash=class extends React.Component{constructor(e){super(e),this.state={data:e.data}}render(){var e,t,a,n;return a=(t=this.state.data).link,e=null!=(n=t.column)?n:"",React.createElement("div",{className:"dash "+e},React.createElement("div",{className:"block white"},React.createElement(DashImage,{image:t.image,ratio:t.ratio,height:t.height,link:a}),React.createElement("div",{className:"body"},React.createElement("div",{className:"cont"},React.createElement("div",{className:"t"},React.createElement(DashTitle,{title:t.title,link:a}),null!=t.text&&""!==t.text?React.createElement(DashText,{text:t.text}):void 0)))))}},window.DashImage=class extends React.Component{constructor(e){super(e)}render(){var e,t,a;return e=["img",null!=this.props.ratio?"pb-"+this.props.ratio:void 0,null!=this.props.height?" "+this.props.height:void 0].join(" "),a={backgroundImage:"url("+this.props.image+")"},t=this.props.link,null!=this.props.image?null!=t?React.createElement("a",{href:t,className:e,style:a}):React.createElement("div",{className:e,style:a}):null}},window.DashText=class extends React.Component{render(){var e;return e={__html:this.props.text},React.createElement("div",{className:"sub_color mt-10",dangerouslySetInnerHTML:e})}},window.DashTitle=class extends React.Component{constructor(e){super(e)}render(){var e,t;return t=this.props.title,(e=this.props.link)&&(t=React.createElement("a",{href:e},t)),React.createElement("div",{className:"h1 mb0"},t)}},window.MoneyDash=class extends React.Component{constructor(e){super(e),this.state={type:null!=e.type?e.type:e.type="new",data:null!=e.data?e.data:e.data={}}}render(){var e;return e=this.state.type,this.state.data,React.createElement("div",{className:["money_dash",e].join(" ")},"new"===e?React.createElement(MoneyFastForm,null):React.createElement("div",null,React.createElement("div",{className:"title"},React.createElement("div",{className:"cat"},"Зарплата"),React.createElement("div",{className:"value"},"120000")),React.createElement("div",{className:"info"},React.createElement("div",{className:"subcat"},"IT-отдел"),React.createElement("div",{className:"comment"},"Комментарий"))))}},window.MoneyFastForm=class extends React.Component{constructor(e){super(e),this.state={expand:!1,values:{}},this.cat=null,this.value=null,this.comment=null,this.checkExpand=this.checkExpand.bind(this),this.setValue=this.setValue.bind(this),this.cancel=this.cancel.bind(this)}setValue(e){var t,a;return t=e.target,(a=this.state.values)[t.getAttribute("name")]=t.value,this.setState({values:a}),this.checkExpand()}checkExpand(){var e,t,a,n;return!1,n=this.value===document.activeElement||null!=(e=this.state.values.value)&&""!==e,a=this.comment===document.activeElement||null!=(e=this.state.values.comment)&&""!==e,t=n||a,console.log(!1,n,a),this.setState({expand:t})}cancel(){return this.cat.cancel(),this.value.value="",this.comment.value="",this.setState({expand:!1,values:{}},this.checkExpand)}render(){return React.createElement("form",{onSubmit:this.submit},React.createElement("div",{className:"inputs"},React.createElement(SelectSearch,{ref:e=>this.cat=e,data:H.getData.bind(null,"money_categories"),placeholder:"Категория",canCreateNew:!0}),React.createElement("input",{ref:e=>this.value=e,name:"value",className:"input_value",placeholder:"1000.00",onKeyUp:this.setValue,onFocus:this.checkExpand,onBlur:this.checkExpand}),React.createElement("input",{ref:e=>this.comment=e,name:"comment",className:"input_comment",placeholder:"Комментарий",onKeyUp:this.setValue,onFocus:this.checkExpand,onBlur:this.checkExpand})),this.state.expand?React.createElement("div",{className:"buttons"},React.createElement("button",{type:"submit",className:""},"Добавить"),React.createElement("button",{type:"button",className:"",onClick:this.cancel},"Отмена")):null)}},window.MoneyList=class extends React.Component{constructor(e){super(e),this.state={data:null!=e.data?e.data:e.data=[],type:null!=e.type?e.type:e.type="minus"}}render(){var e,t,a;for(t in a=this.state.type,e=[],this.state.data)e.push(React.createElement(MoneyDash,{type:a,data:t}));return e}},window.BackgroundFocus=class extends React.Component{constructor(e){super(e),this.state={visible:null!=e.visible?e.visible:e.visible=!1}}componentWillReceiveProps(e){var t;return this.setState(({visible:t}=e))}render(){return React.createElement("div",{className:["background_focus",this.state.visible?"show":""].join(" "),onClick:this.props.onClick})}},window.SelectSearch=class extends React.Component{constructor(e){var t,a,n,s,r,l,i;if(super(e),({placeholder:r,canCreateNew:t}=e),i=null,this.data=e.data,null!=e.id)for(n=0,s=(l=this.data).length;n<s;n++)if((a=l[n]).id===e.id){i=a;break}t=null!=e.canCreateNew?e.canCreateNew:e.canCreateNew=!1,this.state={selected:i,placeholder:r,canCreateNew:t,search:!1,selectedIndex:0,itemCount:0},this.cancel=this.cancel.bind(this),this.search=this.search.bind(this),this.onKey=this.onKey.bind(this),this.renderItem=this.renderItem.bind(this),this.input=null}cancel(){if(this.setState({search:!1,selected:null}),this.input)return this.input.value=""}getSelected(){return this.state.selected}search(e){var t;if(null!=e)switch(e.key){case"ArrowUp":case"ArrowDown":return!1}return""===(t=this.input.value)&&(t=!1),this.setState({search:t,selectedIndex:0})}setValue(e){return"-"===e.id?(e=null,this.cancel()):this.setState({search:!1,selected:e})}getNewItem(){return{id:"new",showTitle:"Создать «"+this.state.search+"»",title:this.state.search}}onKey(e){switch(e.key){case"Escape":return this.cancel();case"Enter":return this.setValue(this.items[this.state.selectedIndex]);case"ArrowUp":return e.preventDefault(),this.setState({selectedIndex:Math.max(0,this.state.selectedIndex-1)}),!1;case"ArrowDown":return e.preventDefault(),this.setState({selectedIndex:Math.min(this.itemCount-1,this.state.selectedIndex+1)}),!1}}renderItem(e,t=0){var a,n;return t=parseInt(t),n=null,e.title.toLowerCase().indexOf(this.state.search.toLowerCase())>-1&&(a=["search_select_li",t===this.state.selectedIndex?"selected":""].join(" "),n=React.createElement("div",{className:a,onClick:this.setValue.bind(this,e)},e.showTitle?e.showTitle:e.title)),n}render(){var e,t,a,n,s,r,l,i;if(({selected:l,canCreateNew:t}=this.state),r=[],this.items=[],this.state.search){if("function"==typeof(a=this.data)&&(a=a()),Array.isArray(a))for(n in a)i=a[n],(s=this.renderItem(i,this.items.length))&&(this.items.push(i),r.push(s));t&&(e=this.getNewItem(),this.items.push(e),r.push(this.renderItem(e,r.length))),this.itemCount=r.length}return React.createElement("div",{className:["select_search",this.state.search?"focus":""].join(" "),onKeyDown:this.onKey},React.createElement(BackgroundFocus,{visible:!1!==this.state.search,onClick:this.cancel}),React.createElement("div",{className:"select_search_content"},null!=l?React.createElement("div",null,l.title,React.createElement("button",{type:"button",onClick:this.cancel},"x")):React.createElement("input",{onKeyUp:this.search,ref:e=>this.input=e,placeholder:this.state.placeholder}),this.state.search?React.createElement("div",{className:["select_search_elements"].join(" ")},r,0===r.length||t&&1===r.length?React.createElement("div",{class:"not_found"},"Не найдено «"+this.state.search+"»"):null):null))}},window.Title=class extends React.Component{constructor(e){super(e)}render(){var e,t,a;return e=null,null!=this.props.more&&""!==this.props.more&&(t=null!=(a=this.props.more_text)?a:"Смотреть всё",e=React.createElement("a",{href:this.props.more,class:"more"},t)),React.createElement("div",{className:"h"},this.props.title,e)}},a(7)}]);