3 lines
3.9 KiB
JavaScript
3 lines
3.9 KiB
JavaScript
var PropValues,ePropertyType;ePropertyType=function(){class e{}return e.TEXT=1,e.NUMBER=2,e.VALUES_ONE=3,e.VALUES_MANY=4,e}.call(this);export default window.PropValues=PropValues=class extends React.Component{constructor(e){var t,a,l,i;super(e),i=null,(t=null!=(a=e.data)?a:[]).length>0&&(i=t[0]),this.state={data:t,value:null!=(l=e.value)?l:{},selected:i},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 l,i;if(({value:i}=this.state),void 0===i[e]&&(i[e]=[]),console.log(e,t,a),a)i[e].push({value:t.id,title:t.title});else for(l in i[e])if(i[e][l].value===t.id){i[e].splice(l,1);break}return this.setState({value:i})}onChangeOne(e,t,a){var l,i;if(({value:i}=this.state),void 0===i[e]&&(i[e]=[]),a)for(l in i[e]=[{value:t.id,title:t.title}],this.properties[e])this.properties[e][l].setValueSilence(l===t.id);else for(l in i[e]=[],this.properties[e])this.properties[e][l].setValueSilence(!1);return this.setState({value:i})}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,l,i,s,n,r,c,h,u,d,o,p,v,m,E,y,f,g,R,S,T,N,b,V,C,P,k,M,O,w=this;for(({data:t,value:k,selected:b}=this.state),V=this,M=[],i=0,r=t.length;i<r;i++)if(k[(E=t[i]).id]){for(P=[],s=0,c=(y=k[E.id]).length;s<c;s++)C=y[s],P.push(React.createElement("div",{className:"sub_color"},C.title));P.length>0&&M.push(React.createElement("div",null,React.createElement("div",{className:"h2 "+(M.length>0?"mt-20":"")},E.title),P))}if(O=[],null!==b)switch(parseInt(b.type)){case ePropertyType.TEXT:case ePropertyType.NUMBER:a="",void 0!==k[b.id]&&(a=null!=(f=null!=(g=k[b.id][0])?g.title:void 0)?f:""),O.push(React.createElement("div",{class:"input_wrap",key:"prop"+b.id},React.createElement("div",{class:"label"},"Значение"),React.createElement("input",{placeholder:"Введите значение",defaultValue:a,className:"i",onKeyUp:this.enterTextValue,ref:function(e){return w.input=e}})));break;case ePropertyType.TEXT:case ePropertyType.VALUES_MANY:if(e={},void 0!==k[b.id])for(n=0,h=(R=k[b.id]).length;n<h;n++)l=R[n],e[l.value]=!0;for(this.properties[b.id]={},O.push(React.createElement("div",{class:"label",key:"prop"+b.id},"Можно выбрать несколько значений")),p=0,u=(S=b.values).length;p<u;p++)l=S[p],O.push(React.createElement("div",{key:"prop"+b.id+"value"+l.id,className:O.length>0?"mt-20":""},React.createElement(SwitchIOS,{label:l.title,checked:!0===e[l.id],onChange:this.onChangeMany.bind(null,b.id,l)})));break;case ePropertyType.TEXT:case ePropertyType.VALUES_ONE:if(e={},void 0!==k[b.id])for(v=0,d=(T=k[b.id]).length;v<d;v++)l=T[v],e[l.value]=!0;for(this.properties[b.id]={},O.push(React.createElement("div",{class:"label",key:"prop"+b.id},"Можно выбрать только одно значение")),m=0,o=(N=b.values).length;m<o;m++)!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:function(e){return V.properties[a.id][t.id]=e},onChange:V.onChangeOne.bind(null,a.id,t)})))}(l=N[m],b)}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"},"Выбранные значения"),M)))}};
|
|
//# sourceMappingURL=PropValues.min.js.map
|