"use strict";(self.webpackChunkmodule_bz=self.webpackChunkmodule_bz||[]).push([[648],{7648:(e,t,n)=>{n.r(t),n.d(t,{default:()=>y});var i,a,r,o,l=n(1504),c=n(2168),s=n(760),u=n(2400);class m extends l.Component{constructor(e){super(e),this.state={loading:!0,data:null,edit:0}}}i=m,r=void 0,(a="symbol"==typeof(o=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(a="defaultProps"))?o:String(o))in i?Object.defineProperty(i,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[a]=r,m.defaultProps={id:0};var d=n(6591),p=n(8708),f=n(7888),v=n(392),b=n(9544),E=n(3440);function h(e,t,n){return t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class g extends m{constructor(...e){var t;super(...e),t=this,h(this,"wrap",void 0),h(this,"name",void 0),h(this,"text",void 0),h(this,"vis",void 0),h(this,"id",-1),h(this,"edit",0),h(this,"section_name",void 0),h(this,"opened",[]),h(this,"getNextID",(function(){return t.id--})),h(this,"isOpen",(function(e){return t.opened.indexOf(e)>=0})),h(this,"toggleOpen",(function(e){let n=t.opened.indexOf(e);n>=0?t.opened.splice(n,1):t.opened.push(e),console.log("this.opened",t.opened),t.forceUpdate()})),h(this,"refresh",(function(){t.props.id?t.setState({loading:!0},(function(){f.API.requestTheme(".dictionary.step/getData/",{id:t.props.id},(function(e,n){t.setState({data:e,loading:!1})}))})):t.setState({loading:!1,data:{id:0,name:"",text:"",vis:!1,sections:[],structure:{0:[]}}})})),h(this,"editSection",(function(e){t.setState({edit:e})})),h(this,"endEditing",(function(){let{data:e,edit:n}=t.state;e.sections[n]&&(e.sections[n].name=t.section_name.value),t.setState({edit:0})})),h(this,"cancelEditing",(function(){t.setState({edit:0})})),h(this,"removeSection",(function(e){let{data:n}=t.state;n.structure[e]&&n.structure[e].forEach((function(e){t.removeSection(e)})),n.sections[e]&&delete n.sections[e],Object.keys(n.structure).forEach((function(t){let i=n.structure[t],a=i.indexOf(e);a>=0&&i.splice(a,1)})),t.forceUpdate()})),h(this,"getData",(function(){return{id:t.props.id,name:t.name.getValue(),text:t.text.getValue(),vis:t.vis.getValue(),sections:t.state.data.sections,structure:t.state.data.structure}})),h(this,"renderSection",(function(e=0,n){let{data:i}=t.state,a=i.sections[n],r=i.structure[n],o=r&&r.length>0,c=n==t.state.edit,s=0==e,u=t.isOpen(n);return l.createElement("div",{key:n,className:"section_wrap"},l.createElement("div",{className:"section_title_wrap"+(s?" parent":"")+" deep"+e},l.createElement("div",{className:"section_title_text"},c?l.createElement("input",{ref:function(e){return t.section_name=e},defaultValue:a.name}):l.createElement("div",{onClick:t.toggleOpen.bind(t,n),className:"toggle_title"},l.createElement("span",{className:"material-icons-outlined"},u?"expand_more":"chevron_right"),a.name)),l.createElement(E.J,{mt:"mt0",mb:"mt0"},c?l.createElement(l.Fragment,null,l.createElement("button",{className:"btn alt small green only_icon mini_padding",onClick:t.endEditing},l.createElement("span",{className:"material-icons-outlined"},"done")),l.createElement("button",{className:"btn alt small red only_icon mini_padding",onClick:t.cancelEditing},l.createElement("span",{className:"material-icons-outlined"},"close"))):l.createElement(l.Fragment,null,l.createElement("button",{className:"btn alt small green only_icon mini_padding merakomis_icon_wrap",onClick:t.addSection.bind(t,n)},l.createElement("span",{className:"material-icons-outlined"},"add"),l.createElement("i",{className:"merakomis_icon_add"})),l.createElement("button",{className:"btn alt small blue only_icon mini_padding merakomis_icon_wrap",onClick:t.editSection.bind(t,n)},l.createElement("span",{className:"material-icons-outlined"},"mode_edit"),l.createElement("i",{className:"merakomis_icon_edit"})),l.createElement("button",{className:"btn alt small red only_icon mini_padding merakomis_icon_wrap",onClick:t.removeSection.bind(t,n)},l.createElement("span",{className:"material-icons-outlined"},"delete"),l.createElement("i",{className:"merakomis_icon_remove"}))))),o&&u?l.createElement("div",{className:"subsections"},r.map(t.renderSection.bind(t,e+1))):null)})),h(this,"addSection",(function(e=0){let{data:n}=t.state,i=t.getNextID();n.sections[i]={id:i,name:"Новый раздел ("+-i+")"},n.structure[e]||(n.structure[e]=[]),n.structure[e].push(i),t.forceUpdate()}))}componentDidMount(){this.refresh()}render(){var e=this;let{data:t,loading:n}=this.state;return l.createElement(v.Row,null,l.createElement(v.Col,{all:"c-40"}),l.createElement(v.Col,{all:"c-20"},l.createElement("div",{ref:function(t){return e.wrap=t}},n?l.createElement(b.c,null):l.createElement("div",{className:"form_rows"},l.createElement(v.Row,null,l.createElement(d.Input,{ref:function(t){return e.name=t},type:p.EInputType.TEXT,input_opt:{label:"Название",placeholder:"Название",value:t.name?t.name:""}}),l.createElement(d.Input,{ref:function(t){return e.text=t},type:p.EInputType.TEXTAREA,input_opt:{label:"Описание",placeholder:"Описание",value:t.text?t.text:""}}),l.createElement(d.Input,{ref:function(t){return e.vis=t},type:p.EInputType.SWITCH_IOS,className:"green_switcher",input_opt:{placeholder:"Активно",checked:t.vis}}),l.createElement(v.Col,{all:"c-100"},l.createElement("button",{className:"btn green alt",onClick:this.addSection.bind(this,0)},"Добавить раздел"))),l.createElement("div",{className:"section_list"},t.structure[0].map(this.renderSection.bind(this,0)))))))}}function _(e,t,n){return t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class y extends l.Component{constructor(...e){var t;super(...e),t=this,_(this,"table",void 0),_(this,"openForm",(function(e=0){let n,i=t;u.G.openStandardModal({header:l.createElement("div",null,"РЕДАКТОР СТРУКТУРЫ ПРОЕКТА"),footer:l.createElement(v.Row,null,l.createElement(v.Col,{all:"c-40"}),l.createElement(v.Col,{all:"c-20"},l.createElement("div",{className:"buttons right"},l.createElement("div",{className:"btn green",onClick:function(){let e=n.getData();f.API.requestTheme(".dictionary.section/create",e,(function(e,t){u.G.closeTopModal(),i.table.reload()}))}},"Сохранить"),l.createElement("div",{className:"btn ",onClick:u.G.closeTopModal},"Отменить")))),content:l.createElement(g,{ref:function(e){return n=e},id:e})})}))}render(){var e=this;return l.createElement(c.c,{key:Date.now(),onRef:function(t){e.table=t},entity:"dictionary.step",show_download_button:!1,custom_filter_switcher:s.A.getCustomTableSwitcher(),renderTitle:s.A.renderTableTitle,show_add_button:!1,title_buttons:l.createElement(l.Fragment,null,l.createElement("button",{className:"btn green ml_verysmall",onClick:function(){e.openForm()}},"Добавить")),customRowClick:function(t){e.openForm(t.id)},renderTd:function(t,n,i,a){let r=n.column.split("_").pop();return["name"].indexOf(r)>=0&&(a=l.createElement("span",{className:"link pointer",onClick:function(){e.openForm(i.id)}},n._value)),l.createElement(l.Fragment,null,a)}})}}}}]);