!function(e){var t={};function n(a){if(t[a])return t[a].exports;var r=t[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(a,r,function(t){return e[t]}.bind(null,r));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/content/modulebz/js/react/",n(n.s=13)}([function(e,t,n){e.exports=n(9)()},function(e,t,n){e.exports=n(6)},function(e,t,n){"use strict";e.exports=n(7)},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return r}));var a=function(){return"undefined"!=typeof window?window:e},r=function(){var e=a();return e&&e.tinymce?e.tinymce:null}}).call(this,n(11))},function(e,t,n){"use strict";var a;window.Select=class extends React.Component{constructor(e){var t,n,a,r,s,i,l,o,c;if(super(e),c=null,null!=(t=this.prepareData(e.data))&&null!=e.id)for(a=0,r=t.length;a-1),n?React.createElement("div",{onClick:function(t){return a.onSelect(t,e)},className:"option"},e.title):null}render(){var e,t,n,a,r,s,i,l=this;return this,t=!0===this.state.open,({selected:s,search:r,ajax:e,placeholder:n}=this.state),i=null,null!=s&&(i=s.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!=(a=this.props.titleClass)?a:"i"},i)),React.createElement("div",{className:"options_bg",onClick:this.close.bind(this)},React.createElement("div",{className:"options _roller",ref:function(e){return l.roller=e}},React.createElement("div",null,e?React.createElement("input",{onKeyUp:this.ajaxSearch.bind(this),ref:function(e){return l.input=e},onClick:this.preventClose,className:"i",placeholder:n+" - поиск"}):null,!0===this.props.search?React.createElement("input",{onKeyUp:this.search.bind(this),ref:function(e){return l.inputSearch=e},class:"i",placeholder:n+" - поиск",onClick:this.preventClose}):null,Array.isArray(this.state.data)?this.state.data.map(this.renderItem.bind(this)):null))))}};a=["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"];var r;window.Calendar=class extends React.Component{constructor(e){var t,n,a,r,s;if(super(e),t=new Date,a=new Date(t.getFullYear(),t.getMonth(),t.getDate()),s=null,null!=this.props.value)switch(typeof(r=e.value)){case"string":n=r.split("-"),s=new Date(n[0],n[1]-1,n[2]);break;case"number":s=new Date(1e3*parseInt(r))}this.state={year:t.getFullYear(),month:t.getMonth(),date:t.getDate(),today:a,value:s,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,n){return this.setState({value:new Date(e,t,n)},this.onSubmit)}renderDate(e){var t,n,a,r,s,i,l,o;return({year:o,month:r,date:t,value:i}=this.state),s=new Date(o,r,e).getTime(),l=null,null!=i&&(l=new Date(i.getFullYear(),i.getMonth(),i.getDate())),a=s===this.state.today.getTime(),n=s===(null!=l?l.getTime():void 0),React.createElement("div",{onClick:this.selectDay.bind(this,o,r,e),class:["td",a?"cal-today":"",n?"selected round":""].join(" ")},e)}renderWeek(e){var t,n,a,r,s;for(n=[],t=a=r=e,s=e+6;r<=s?a<=s:a>=s;t=r<=s?++a:--a)t>this.days?(t-=this.days,n.push(this.renderPrevNext(t))):n.push(this.renderDate(t));return React.createElement("div",{class:"tr"},n)}render(){var e,t,n,r,s,i,l,o,c,u,d,h;for(u=this,({month:s,year:h,opened:i}=this.state),this.getNextMonth(s),this.getNextMonth(s),l=this.daysInMonth(h,s-1),t=this.daysInMonth(h,s),e=new Date(h,s,1).getDay()-1,this.days=t,e<0&&(e=6),d=[],n=r=7-e+1,o=t;r<=o;n=r+=7)d.push(n);return React.createElement("div",{className:"f fcenter datepicker_wrap "+(i?"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"},a[s]+" "+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=[],n=c=l-(e-1);c<=l?n<=l:n>=l;c<=l?n++:n--)t.push(n);return t}.apply(this).map(u.renderPrevNext.bind(u)):null,function(){for(var t=[],n=1,a=7-e;1<=a?n<=a:n>=a;1<=a?n++:n--)t.push(n);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,n,a,r,s;super(e),s=null,console.log("datepicker_typeof",typeof e.value,e.value),null!=(r=e.value)&&""!==r&&"0000-00-00"!==r&&"0"!==r&&0!==r&&(s=3===(a=r.toString().split("-")).length?new Date(a[0],a[1]-1,a[2]):new Date(1e3*parseInt(r))),this.state={name:null!=(t=e.name)?t:"",value:s,placeholder:null!=(n=e.placeholder)?n:"",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,n,a,r;return r="",null!=(t="undefined"!=typeof value&&null!==value?value:this.state.value)&&""!==t?(n=(e=t.getDate())<10?"0"+e:e,a=(e=t.getMonth()+1)<10?"0"+e:e,r=[t.getFullYear(),a,n].join("-"),this.state.timepicker&&(r=t.getTime()/1e3)):(r="0000-00-00",this.state.timepicker&&(r=0)),r}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,n,a;return n=null!=e&&void 0!==e?e:this.state.value,console.log("formatValue",e,this.state.value),a="",null!=n&&""!==n&&(a=[(t=n.getDate())<10?"0"+t:t,(t=n.getMonth()+1)<10?"0"+t:t,n.getFullYear()].join("."),this.state.timepicker&&(a+=" "+((t=n.getHours())<10?"0"+t:t)+":"+((t=n.getHours())<10?"0"+t:t))),a}render(){var e,t,n,a,r=this;return({name:e,placeholder:t,timepicker:n}=this.state),a=this.formatValue(),React.createElement("div",null,React.createElement("input",{ref:function(e){return r.input=e},type:"text",name:e,value:a,placeholder:t,className:"i",autoComplete:"off",onClick:this.openCalendar}),React.createElement(Calendar,{onCancel:this.onCancel,onSubmit:this.onSubmit,value:this.getValue(),timepicker:n,ref:function(e){return r.calendar=e}}))}},window.Contact=class extends React.Component{constructor(e){var t,n,a,r,s,i,l,o,c,u,d;if(super(e),t=null!=(s=e.data)?s:{},d=Contacts.TYPES[0],null!=t.type)for(u=parseInt(t.type),a=0,r=(i=Contacts.TYPES).length;a0&&(r=t[0]),this.state={data:t,value:null!=(a=e.value)?a:{},selected:r},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,n){var a,r;if(({value:r}=this.state),void 0===r[e]&&(r[e]=[]),console.log(e,t,n),n)r[e].push({value:t.id,title:t.title});else for(a in r[e])if(r[e][a].value===t.id){r[e].splice(a,1);break}return this.setState({value:r})}onChangeOne(e,t,n){var a,r;if(({value:r}=this.state),void 0===r[e]&&(r[e]=[]),n)for(a in r[e]=[{value:t.id,title:t.title}],this.properties[e])this.properties[e][a].setValueSilence(a===t.id);else for(a in r[e]=[],this.properties[e])this.properties[e][a].setValueSilence(!1);return this.setState({value:r})}enterTextValue(){var e,t,n;return({selected:e,value:n}=this.state),t=this.input.value,n[parseInt(e.id)]=""===t?[]:[{title:t,value:t}],this.setState({value:n})}render(){var e,t,n,a,r,i,l,o,c,u,d,h,p,m,f,v,E,R,b,g,y,_,C,S,N,w,k,T,O,x,A,I=this;for(({data:t,value:O,selected:N}=this.state),w=this,x=[],r=0,o=t.length;r0&&x.push(React.createElement("div",null,React.createElement("div",{className:"h2 "+(x.length>0?"mt-20":"")},E.title),T))}if(A=[],null!==N)switch(parseInt(N.type)){case s.TEXT:case s.NUMBER:n="",void 0!==O[N.id]&&(n=null!=(b=null!=(g=O[N.id][0])?g.title:void 0)?b:""),A.push(React.createElement("div",{class:"input_wrap",key:"prop"+N.id},React.createElement("div",{class:"label"},"Значение"),React.createElement("input",{placeholder:"Введите значение",defaultValue:n,className:"i",onKeyUp:this.enterTextValue,ref:function(e){return I.input=e}})));break;case s.TEXT:case s.VALUES_MANY:if(e={},void 0!==O[N.id])for(l=0,u=(y=O[N.id]).length;l0?"mt-20":""},React.createElement(SwitchIOS,{label:a.title,checked:!0===e[a.id],onChange:this.onChangeMany.bind(null,N.id,a)})));break;case s.TEXT:case s.VALUES_ONE:if(e={},void 0!==O[N.id])for(f=0,h=(C=O[N.id]).length;f0?"mt-20":""},React.createElement(SwitchIOS,{label:t.title,checked:!0===e[t.id],ref:function(e){return w.properties[n.id][t.id]=e},onChange:w.onChangeOne.bind(null,n.id,t)})))}(a=S[v],N)}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"},A)),React.createElement("div",{className:"c c-50"},React.createElement("div",{className:"h1"},"Выбранные значения"),x)))}};l=function(){class e{}return e.TEXT=1,e.NUMBER=2,e.VALUES_ONE=3,e.VALUES_MANY=4,e}.call(void 0),o=function(){class e{}return e.PRICE=1,e.COMPONENT=2,e.COMPONENT_LIST=3,e.GROWTH=4,e}.call(void 0);window.ShopItemPropValues=class extends React.Component{constructor(e){var t,n,a,r,s;super(e),s=null,(t=null!=(n=e.data)?n:[]).length>0&&(s=t[0]),null==e.value&&(e.value={}),this.state={data:t,value:null!=(a=e.value.vals)?a:{},price_type:null!=(r=e.value.price_type)?r:1,selected:s},this.onSelect=this.onSelect.bind(this),this.enterTextValue=this.enterTextValue.bind(this),this.onChangeMany=this.onChangeMany.bind(this),this.onChangeManyDefault=this.onChangeManyDefault.bind(this),this.onChangeOne=this.onChangeOne.bind(this),this.input=null,this.properties={},this.defaults={},this.prices={}}getValue(){var e,t,n,a;for(t in({value:a}=this.state),a)for(e in a[t])n=a[t][e],a[t][e].is_default=a[t][e].is_default?1:0,void 0!==this.prices[t]&&void 0!==this.prices[t][n.value]&&null!=this.prices[t][n.value]&&(a[t][e].price=this.prices[t][n.value].getValue());return a}onSelect(e){return this.setState({selected:e})}onChangeManyDefault(e,t,n){var a,r,s;for(a in({value:s}=this.state),s[e])r=s[e][a],s[e][a].is_default=!1,r.value===t.id&&(s[e][a].is_default=n);for(a in this.defaults[e])null!=this.defaults[e][a]&&void 0!==this.defaults[e][a]&&(this.defaults[e][a].setValueSilence(!1),a===t.id&&this.defaults[e][a].setValueSilence(n));return this.setState({value:s})}onChangeMany(e,t,n){var a,r;if(({value:r}=this.state),void 0===r[e]&&(r[e]=[]),n)r[e].push({value:t.id,title:t.title});else for(a in r[e])if(r[e][a].value===t.id){r[e].splice(a,1);break}return this.setState({value:r})}onChangeOne(e,t,n){var a,r;if(({value:r}=this.state),void 0===r[e]&&(r[e]=[]),n)for(a in r[e]=[{value:t.id,title:t.title}],this.properties[e])this.properties[e][a].setValueSilence(a===t.id);else for(a in r[e]=[],this.properties[e])this.properties[e][a].setValueSilence(!1);return this.setState({value:r})}enterTextValue(){var e,t,n;return({selected:e,value:n}=this.state),t=this.input.value,n[parseInt(e.id)]=""===t?[]:[{title:t,value:t}],this.setState({value:n})}render(){var e,t,n,a,r,s,o,c,u,d,h,p,m,f,v,E,R,b,g,y,_,C,S,N,w,k,T,O,x,A,I,L,D,M,P=this;for(({data:t,value:L,selected:O}=this.state),x=this,D=[],o=0,h=t.length;o0&&D.push(React.createElement("div",null,React.createElement("div",{className:"h2 "+(D.length>0?"mt-20":"")},y.title),I))}if(M=[],null!==O)switch(parseInt(O.type)){case l.TEXT:case l.NUMBER:n="",void 0!==L[O.id]&&(n=null!=(C=null!=(S=L[O.id][0])?S.title:void 0)?C:""),M.push(React.createElement("div",{class:"input_wrap",key:"prop"+O.id},React.createElement("div",{class:"label"},"Значение"),React.createElement("input",{placeholder:"Введите значение",defaultValue:n,className:"i",onKeyUp:this.enterTextValue,ref:function(e){return P.input=e}})));break;case l.TEXT:case l.VALUES_MANY:if(e={},void 0!==L[O.id])for(d=0,m=(N=L[O.id]).length;d0?"mt-20":""},React.createElement("div",{class:s?"row2":""},React.createElement("div",{class:s?"c c-50":""},React.createElement(SwitchIOS,{label:a.title,checked:r,onChange:this.onChangeMany.bind(null,O.id,a)})),s?React.createElement("div",{className:"c c-50"},function(e,t){var n,a;if(n=!1,void 0!==x.state.value[e.id])for(a in x.state.value[e.id])if((A=x.state.value[e.id][a]).value===t.id){n=A.is_default,console.log("is_def",A);break}return React.createElement(SwitchIOS,{label:"По умолчанию",ref:function(n){return x.defaults[e.id][t.id]=n},checked:n,onChange:x.onChangeManyDefault.bind(null,e.id,t)})}(O,a)):null),O.is_price?function(e,t,n,a){var r,s;if(r={},void 0!==x.state.value[n.id])for(s in x.state.value[n.id])if((A=x.state.value[n.id][s]).value===a.id){r=A.price;break}return React.createElement(i,{visible:e,type:t,price:r,ref:function(e){return x.prices[n.id][a.id]=e}})}(r,this.state.price_type,O,a):null));break;case l.TEXT:case l.VALUES_ONE:if(e={},void 0!==L[O.id])for(b=0,v=(k=L[O.id]).length;b0?"mt-20":""},React.createElement(SwitchIOS,{label:t.title,checked:!0===e[t.id],ref:function(e){return x.properties[n.id][t.id]=e},onChange:x.onChangeOne.bind(null,n.id,t)})))}(a=T[g],O)}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"},M)),React.createElement("div",{className:"c c-50"},React.createElement("div",{className:"h1"},"Выбранные значения"),D)))}};i=class extends React.Component{constructor(e){var t;super(e),t=void 0===e.price?{}:e.price,this.state={type:parseInt(e.type),visible:e.visible,price:null!=t?t:{}},this.types=[{id:1,title:"Значение"},{id:2,title:"Процент"}]}componentWillReceiveProps(e){return this.setState({visible:e.visible})}getValue(){var e,t;return{item_price:null!=this.item_price&&void 0!==this.item_price?this.item_price.value:0,item_type:null!=this.item_type&&void 0!==this.item_type?"function"==typeof(e=this.item_type).getValue?e.getValue():void 0:0,component_price:null!=this.component_price&&void 0!==this.component_price?this.component_price.value:0,component_type:null!=this.component_type&&void 0!==this.component_type?"function"==typeof(t=this.component_type).getValue?t.getValue():void 0:0}}render(){var e,t,n,a,r,s,i,l,c,u,d,h,p,m=this;return({type:h,visible:p,price:i}=this.state),p?(r=null!=(l=i.item_price)?l:0,s=null!=(c=i.item_type)?c:1,e=null!=(u=i.component_price)?u:0,t=null!=(d=i.component_type)?d:1,a=h===o.PRICE||h===o.COMPONENT||h===o.COMPONENT_LIST,n=h===o.COMPONENT,React.createElement("div",null,a?React.createElement("div",{className:"row2 mt-10"},React.createElement("div",{className:"c c-60"},React.createElement("div",{className:"input_wrap"},React.createElement("div",{className:"label"},"Цена на товар"),React.createElement("input",{type:"text",placeholder:"100",className:"i c-100",autoComplete:"off",defaultValue:r,ref:function(e){return m.item_price=e}}))),React.createElement("div",{className:"c c-40"},React.createElement("div",{className:"input_wrap"},React.createElement("div",{className:"label"},"Тип"),React.createElement(Select,{data:this.types,id:s,ref:function(e){return m.item_type=e}})))):null,n?React.createElement("div",{className:"row2 mt-10"},React.createElement("div",{className:"c c-60"},React.createElement("div",{className:"input_wrap"},React.createElement("div",{className:"label"},"Цена на компонент"),React.createElement("input",{type:"text",placeholder:"100",className:"i c-100",autoComplete:"off",defaultValue:e,ref:function(e){return m.component_price=e}}))),React.createElement("div",{className:"c c-40"},React.createElement("div",{className:"input_wrap"},React.createElement("div",{className:"label"},"Тип"),React.createElement(Select,{data:this.types,id:t,ref:function(e){return m.component_type=e}})))):null)):null}};window.CategoryChoose=class extends React.Component{constructor(e){var t,n;super(e),this.state={value:null!=(t=e.value)?t:[],data:null!=(n=e.data)?n:{}},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 n,a;return({value:a}=this.state),(n=a.indexOf(e))>=0||(n=a.indexOf(parseInt(e)))>=0?a.splice(n,1):a.push(e),this.setState({value:a})}renderCat(e){var t,n,a,r,s;return({data:r,value:s}=this.state),t=r.a[e],n=[],Array.isArray(r.a[e].cats)&&(n=r.a[e].cats.map(this.renderCat)),a=s.indexOf(e)>=0||s.indexOf(parseInt(e))>=0,React.createElement("div",null,React.createElement("div",{className:"choose_category mt-5"+(a?" selected":""),onClick:this.toggleValue.bind(this,e)},t.title),n.length>0?React.createElement("div",{className:"mt-5 ml-5 sub"},n):null)}render(){var e,t,n;return({data:t,value:n}=this.state),console.log(t,n),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,"Выбрано: ",n.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 c,u,d,h=n(2),p=n(0),m=function(){return(m=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0?setTimeout(i,r):i()))},reinitialize:function(){c=N()}}),k=n(3),T=(u=function(e,t){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),O=function(){return(O=Object.assign||function(e){for(var t,n=1,a=arguments.length;n1?Array.prototype.slice.call(arguments,1):Object.getOwnPropertyNames(t);r.forEach((function(e){var n=Object.getOwnPropertyDescriptor(t,e);void 0!==n?-1===a.indexOf(e)&&"function"==typeof n.value&&Object.defineProperty(t,e,s(t,e,n)):console.warn('Autobind: "'+e+'" method not found in class.')}))};var a=["constructor","render","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","componentWillUnmount"],r=[];function s(e,t,n){var a=n.value;return{configurable:!0,get:function(){if(this===e||this.hasOwnProperty(t))return a;var n=a.bind(this);return Object.defineProperty(this,t,{value:n,configurable:!0,writable:!0}),n}}}e.exports=t.default},function(e,t,n){"use strict"; /** @license React v17.0.2 * 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 a=n(8),r=60103,s=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var i=60109,l=60110,o=60112;t.Suspense=60113;var c=60115,u=60116;if("function"==typeof Symbol&&Symbol.for){var d=Symbol.for;r=d("react.element"),s=d("react.portal"),t.Fragment=d("react.fragment"),t.StrictMode=d("react.strict_mode"),t.Profiler=d("react.profiler"),i=d("react.provider"),l=d("react.context"),o=d("react.forward_ref"),t.Suspense=d("react.suspense"),c=d("react.memo"),u=d("react.lazy")}var h="function"==typeof Symbol&&Symbol.iterator;function p(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n0&&null!==p&&-1!==p&&m.push(React.createElement("div",{onClick:this.setTab.bind(this,-1),key:m.length,className:"tab"},"Показать всё")),t=React.createElement("div",{className:"card_content"},React.createElement("div",{className:"pages",ref:function(e){return v.pages=e}},React.createElement("div",{className:"pages_content"},h)),React.createElement("div",{className:"tabs",ref:function(e){return v.tabs=e}},React.createElement("div",null,l,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),i()(this)}onTdInputChange(e){return console.warn("onTdInputChange ДОДЕЛАТЬ!!!!",e)}trClick(e){var t,n,a,r;switch(({row_click:r,controller:n,id:a}=this.state),r){case u.CARD:return e.preventDefault(),Modals.openCard(n,a);case u.OPEN_UADD:return e.preventDefault(),"function"==typeof(t=this.props).openUadd?t.openUadd():void 0}}prepareProps(e){var t,n,a,r;return{id:null!=(t=e.id)?t:0,data:e.data,controller:null!=(n=e.controller)?n:"",column_render:null!=(a=e.column_render)?a:{},row_click:null!=(r=e.row_click)?r:u.NONE,sortable:!0===e.sortable}}componentWillReceiveProps(e){var t,n,a,r;for(t in n=!1,e.id!==this.props.id&&(n=!0),e.data)if(a=e.data[t],r=this.props.data[t],(null!=a?a.value:void 0)!==(null!=r?r.value:void 0)){n=!0;break}if(n)return this.setState(this.prepareProps(e))}onClickLink(e,t,n){return void 0!==n.COLUMN_RENDER_CARD_CONTROLLER?(e.preventDefault(),e.stopPropagation(),Modals.openCard(n.COLUMN_RENDER_CARD_CONTROLLER,this.state.id,{controller_method:n.COLUMN_RENDER_CARD_FORM_METHOD})):!0===n.COLUMN_RENDER_LINK_MODAL?(e.preventDefault(),Modals.openCard(this.state.controller,this.state.id)):void 0}onSelect(e){return this.setState({selected:e},this.props.onSelect)}setSelect(e){return this.setState({selected:!0===e})}renderTd(e){var t,n,a,r,s,i,l,o,c,u,d,h,p,m,f;if(h=this,f=e.value,({id:a,data:n}=this.state),t=this.state.column_render[e.column],null!==e.input&&(f=React.createElement(Input,{key:e.column+this.state.id,data:e.input,value:e.data,onChange:this.onTdInputChange.bind(this,e.column)})),null!=t)if(!0===(o=t.COLUMN_RENDER_AS_HTML))f=React.createElement("span",{dangerouslySetInnerHTML:{__html:f}});else if(!0===(o=t.COLUMN_RENDER_IMAGE_WRAP)&&(f=React.createElement("img",{src:f})),void 0!==(o=t.COLUMN_RENDER_LINK_ID)&&""!==o){if(l=o+a+"/",void 0!==t.COLUMN_RENDER_LINK_COLUMN_ID)for(s=0,i=n.length;s1)return this.setPage(this.state.now-1)}next(){if(this.state.now1){for(e.push(1),a=r=2,m=c=Math.min(n,t);2<=m?r<=m:r>=m;a=2<=m?++r:--r)e.push(a);if((c=Math.max(c+1,d-t))<=(u=Math.min(n,d+t)))for(a=s=f=c,v=u;f<=v?s<=v:s>=v;a=f<=v?++s:--s)e.push(a);if((c=Math.max(u+1,n-t))<=n)for(a=i=E=c,R=n;E<=R?i<=R:i>=R;a=E<=R?++i:--i)e.push(a)}for(h=[],p=0,o=0,l=e.length;o1&&h.push(React.createElement("span",null,"...")),h.push(React.createElement("a",{onClick:this.setPage.bind(this,a),className:a===d?"selected":""},a)),p=a;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,n,a,r;super(e),console.log("modal",e),t=null!=(n=e.data)?n:{},this.state={closed:!1,content:null!=(a=t.content)?a:null,scrollable:!0===t.scrollable,width:null!=(r=t.width)?r: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,n,a,r=this;return({closed:e,content:t,width:a}=this.state),e?null:(n={},null!=a&&(n.width=a+"px"),React.createElement("div",{className:"background"},React.createElement("div",{className:"background_click",onClick:this.close}),React.createElement("div",{className:"modal",ref:function(e){return r.wrap=e},style:n},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,n=this;return({index:t}=this.state),t++,this.modals[t]=React.createElement(d,{data:e,key:t,ref:function(e){return n.rModals[t]=e},onClose:this.onClose.bind(this,t)}),this.setState({index:t}),this.getBodyWrap().classList.add("modaled"),t}openCard(e,t,n={}){var a,r,s;return r=null,s=this,a=function(){return s.rModals[r].close()},r=Modals.create({content:React.createElement(Card,{ajax:!0,controller:e,id:t,in_modal:!0,onClose:a,options:n}),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:function(e){return 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,n,a,r;for(n in null==(t=this.controllers)[e]&&(t[e]=[]),a=[],this.controllers[e])r=this.controllers[e][n],a.push("function"==typeof r.reload?r.reload():void 0);return a}static add(e,t){var n;return null==(n=this.controllers)[e]&&(n[e]=[]),this.controllers[e].push(t)}static remove(e,t){var n,a,r;for(a in null==(n=this.controllers)[e]&&(n[e]=[]),r=[],this.controllers[e]){if(this.controllers[e][a]===t){this.controllers[e].splice(a,1);break}r.push(void 0)}return r}}return e.controllers={},e}.call(void 0);var m,f,v;window.Table=class extends React.Component{constructor(e){super(e),this.state=this.prepareProps(e),this.pagination=null,this.force_page=null,i()(this)}prepareProps(e){var t,n,a,r,s,i,l,o,c,u,d,h,p,m,f;return t=e.data,console.log("query",t,t.query),{columns:null!=(n=t.columns)?n:[],data:null!=(a=t.data)?a:[],pages:null!=(o=t.pages)?o:0,page:null!=(c=t.page)?c:0,controller:null!=(u=t.controller)?u:"",column_render:null!=(d=t.column_render)?d:{},title:null!=(h=t.title)?h:{},init_data:null!=(p=t.init_data)?p:{},row_click:null!=(m=t.row_click)?m:-1,count:null!=(f=t.count)?f:10,where:null!=(r=t.where)?r:null,hide_thead:!0===t.hide_thead,hide_title:!0===t.hide_title,sortable:!0===t.sortable,hide_columns:null!=(s=t.hide_columns)?s:[],sort:null!=(i=t.sort)?i:[],filter:null!=(l=t.filter)?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,(function(){return psUpdate(),this.tbody.init()})),A.P.initMini($(this.wrap))}openUadd(){var e;return null!=(e=this.title)?e.createNew():void 0}reload(){var e,t,n,a,r,s,i,l,o,c,u,d,h;return({count:e,row_click:o,init_data:i,where:h,hide_thead:a,hide_title:r,hide_columns:n,sortable:d,sort:u,filter:t}=this.state),l=0,null!==this.force_page?(l=this.force_page,this.force_page=null):null!=this.pagination&&(l=this.pagination.state.now-1),c={page:l,2:u,7:e,4:h,row_click:o,init_data:i,hide_thead:a,hide_title:r,HIDE_COLUMNS:n,sortable:d,filter:t},API(this.state.controller+"/getTableData",c,this.aReload.bind(this)),s={page:l,count:e,filter:t},H.SEARCH.setValue(this.state.controller,JSON.stringify(s))}onDelete(){var e,t,n,a,r;for(r=this.tbody.getSelected(),t=[],this.onSelectAll(!1),n=0,a=r.length;n0?React.createElement("div",null,React.createElement(Title,{title:"НОВОСТИ",more:"/news/",more_text:"Смотреть все новости"}),React.createElement("div",{className:"dashes"},function(){var t,n,a,r;for(r=[],t=0,n=(a=this.state.data).length;t0?React.createElement("div",null,React.createElement(Title,{title:"ПОРТФОЛИО",more:"/portfolio/",more_text:"Смотреть все работы"}),React.createElement("div",{className:"dashes"},function(){var t,n,a,r;for(r=[],t=0,n=(a=this.state.data).length;t0?React.createElement("div",{class:"apps"},function(){var r,s,i,l;for(l=[],r=0,s=(i=this.state.data).length;r0?React.createElement("div",null,React.createElement(Title,{title:"WEB-СЕРВИСЫ",more:"/services/",more_text:"Смотреть все проекты"}),React.createElement("div",{className:"dashes"},function(){var t,n,a,r;for(r=[],t=0,n=(a=this.state.data).length;t0?React.createElement("div",null,React.createElement(Title,{title:"ОБНОВЛЕНИЯ",more:"/updates/",more_text:"Смотреть все обновления"}),React.createElement("div",{className:"dashes"},function(){var t,n,a,r;for(r=[],t=0,n=(a=this.state.data).length;t0?React.createElement("div",null,React.createElement(Title,{title:"Анонсы",more:"/announcement/",more_text:"Смотреть все анонсы"}),React.createElement("div",{className:"dashes"},function(){var t,n,a,r;for(r=[],t=0,n=(a=this.state.data).length;t0?React.createElement("div",null,React.createElement(Title,{title:"Разработка под ключ",more:"/turnkey/",more_text:"Смотреть все предложения"}),React.createElement("div",{className:"dashes"},function(){var t,n,a,r;for(r=[],t=0,n=(a=this.state.data).length;t-1&&(n=["search_select_li",t===this.state.selectedIndex?"selected":""].join(" "),a=React.createElement("div",{className:n,onClick:this.setValue.bind(this,e)},e.showTitle?e.showTitle:e.title)),a}render(){var e,t,n,a,r,s,i,l,o=this;if(({selected:i,canCreateNew:t}=this.state),s=[],this.items=[],this.state.search){if("function"==typeof(n=this.data)&&(n=n()),Array.isArray(n))for(a in n)l=n[a],(r=this.renderItem(l,this.items.length))&&(this.items.push(l),s.push(r));t&&(e=this.getNewItem(),this.items.push(e),s.push(this.renderItem(e,s.length))),this.itemCount=s.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!=i?React.createElement("div",null,i.title,React.createElement("button",{type:"button",onClick:this.cancel},"x")):React.createElement("input",{onKeyUp:this.search,ref:function(e){return o.input=e},placeholder:this.state.placeholder}),this.state.search?React.createElement("div",{className:["select_search_elements"].join(" ")},s,0===s.length||t&&1===s.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,n;return e=null,null!=this.props.more&&""!==this.props.more&&(t=null!=(n=this.props.more_text)?n:"Смотреть всё",e=React.createElement("a",{href:this.props.more,class:"more"},t)),React.createElement("div",{className:"h"},this.props.title,e)}},n(12)}]);