meraproject/content/modulebz/js/react.min.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

3 lines
11 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.

var initReact,NewsAnnotationList,PortfolioList,ServiceIconsList,ServiceList,NewsAnnotationDash,PortfolioDash,BackgroundFocus,SelectSearch,Title,Dash,DashImage,DashText,DashTitle,MoneyDash,MoneyFastForm,MoneyList;initReact=function(e,t={}){var a,s,n,r;for(s in r=(new Date).getTime(),(n=function(t,a){var s,n,r,c,l;for(l=[],n=0,r=(c=e[0].querySelectorAll(t)).length;n<r;n++)s=c[n],l.push(ReactDOM.render(a,s));return l})(".r_portfolio_list",React.createElement(PortfolioList,{data:t.portfolio_list})),n(".r_news_list",React.createElement(NewsAnnotationList,{data:t.news_annotation})),n(".r_service_list",React.createElement(ServiceList,{data:t.service_list})),n(".r_service_icons",React.createElement(ServiceIconsList,{data:t.service_icons})),n(".r_money_dash.new",React.createElement(MoneyDash,{type:"new"})),t.money_data)null!=(a=t.money_data[s]).minus&&n('.r_money_minus[data-date="'+s+'"]',React.createElement(MoneyList,{type:"minus",data:a.minus})),null!=a.plus&&n('.r_money_plus[data-date="'+s+'"]',React.createElement(MoneyList,{type:"plus",data:a.plus})),null!=a.transfer&&n('.r_money_transfer[data-date="'+s+'"]',React.createElement(MoneyList,{type:"transfer",data:a.transfer}));return console.log("React Render",(new Date).getTime()-r)},NewsAnnotationList=class extends React.Component{constructor(e){var t,a,s,n,r;for(super(e),t=[],s=0,n=(r=this.props.data).length;s<n;s++)(a=r[s]).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,s,n;for(n=[],t=0,a=(s=this.state.data).length;t<a;t++)e=s[t],n.push(React.createElement(NewsAnnotationDash,{data:e}));return n}.call(this))):null}},PortfolioList=class extends React.Component{constructor(e){var t,a,s,n,r;for(super(e),t=[],s=0,n=(r=this.props.data).length;s<n;s++)(a=r[s]).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,s,n;for(n=[],t=0,a=(s=this.state.data).length;t<a;t++)e=s[t],n.push(React.createElement(PortfolioDash,{data:e}));return n}.call(this))):null}},ServiceIconsList=class extends React.Component{constructor(e){super(e),this.state={data:e.data}}render(){var e,t,a,s;return a=H.parse(),this.state.data.length>0?React.createElement("div",{class:"apps"},function(){var n,r,c,l;for(l=[],n=0,r=(c=this.state.data).length;n<r;n++)e=c[n],s=H.parse(e.link),t=a[0]===s[0]?" selected":"",l.push(React.createElement("a",{className:"app"+t,href:e.link,style:{backgroundImage:"url("+e.icon+")"},title:e.title}));return l}.call(this)):null}},ServiceList=class extends React.Component{constructor(e){var t,a,s,n,r;for(super(e),t=[],s=0,n=(r=this.props.data).length;s<n;s++)(a=r[s]).text=a.annotation,a.ratio="2-3",a.column="c-20",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,s,n;for(n=[],t=0,a=(s=this.state.data).length;t<a;t++)e=s[t],n.push(React.createElement(PortfolioDash,{data:e}));return n}.call(this))):null}},NewsAnnotationDash=class extends React.Component{constructor(e){super(e)}render(){return React.createElement(Dash,{data:this.props.data})}},PortfolioDash=class extends React.Component{constructor(e){super(e)}render(){return React.createElement(Dash,{data:this.props.data})}},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})}},SelectSearch=class extends React.Component{constructor(e){var t,a,s,n,r,c,l;if(super(e),({placeholder:r,canCreateNew:t}=e),l=null,this.data=e.data,null!=e.id)for(s=0,n=(c=this.data).length;s<n;s++)if((a=c[s]).id===e.id){l=a;break}t=null!=e.canCreateNew?e.canCreateNew:e.canCreateNew=!1,this.state={selected:l,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,s;return t=parseInt(t),s=null,e.title.toLowerCase().indexOf(this.state.search.toLowerCase())>-1&&(a=["search_select_li",t===this.state.selectedIndex?"selected":""].join(" "),s=React.createElement("div",{className:a,onClick:this.setValue.bind(this,e)},e.showTitle?e.showTitle:e.title)),s}render(){var e,t,a,s,n,r,c,l;if(({selected:c,canCreateNew:t}=this.state),r=[],this.items=[],this.state.search){if("function"==typeof(a=this.data)&&(a=a()),Array.isArray(a))for(s in a)l=a[s],(n=this.renderItem(l,this.items.length))&&(this.items.push(l),r.push(n));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!=c?React.createElement("div",null,c.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))}},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)}},Dash=class extends React.Component{constructor(e){super(e),this.state={data:e.data}}render(){var e,t,a,s;return a=(t=this.state.data).link,e=null!=(s=t.column)?s:"",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)))))}},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}},DashText=class extends React.Component{render(){var e;return e={__html:this.props.text},React.createElement("div",{className:"sub_color mt-10",dangerouslySetInnerHTML:e})}},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)}},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"},"Комментарий"))))}},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,s;return!1,s=this.value===document.activeElement||null!=(e=this.state.values.value)&&""!==e,a=this.comment===document.activeElement||null!=(e=this.state.values.comment)&&""!==e,t=s||a,console.log(!1,s,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)}},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}};
//# sourceMappingURL=react.min.js.map