/* Sidebar menu-------------------------------------------------------------------- */ function MenuLinkA(props){ return {props.data.title}; } function SimpleAccordionSubMenu(props){ let a = []; for(var b in props.data){ a.push(); } return (
{a}
) } function SimpleAccordionMenuItem(props){ return(
{props.data.title}
) } function SimpleAccordionMenu(props){ let a = []; for(var b in props.data){ a.push( ); } return(
{a}
) } function AccordionMenuItem(props){ return(
{props.data.title}
) } function AccordionMenu(props){ return(
) } function SidebarItem(props){ return(
) } class LeftMainMenu extends React.Component{ constructor(props){ super(props); } createData = (data) => { let o = [] ; for( var a in data){ o.push( ); } return o; } componentDidMount = () =>{ $('.ui.accordion').accordion({ exclusive:false }); } render(){ return[ , this.createData( this.props.data ) ] } } /* Head info grids-------------------------------------------------------------------- */ function HeadInfoItem(props){ return(
{props.data.t.toUpperCase()}
{props.data.v}
) } function HeadInfo(props){ let itens = []; const titles = []; for( var d in props.data ){ var dados = {t:d,v:props.data[d]}; itens.push();} return(
{itens}
) } /* Individual Dropdowns------------------------------------------------------------------ */ /* Dropdown de Agrupamento de data */ function DropdownGroupDate(props){ return( ) } /* Dropdown de meses */ function DropdownMonths(props){ let opts = []; for(var m in fOpts[props.year]){ opts.push(); } return( ) } /* Dropdown de anos */ function DropdownYears(props){ let options = []; for(var o in fOpts){ options.push(); } return( ) } /* Group of Dropdowns------------------------------------------------------------------ */ function renderGroupedFilters(v){ switch(v){ case 'day' : tabFilter.render() ; break ; case 'month': tabFilter.render() ; break ; case 'year' : tabFilter.render() ; break ; } } function GroupButtonsTabFilters(props){ function handleSubmit() { downloadCSV(`${props.titleExport}`,convertToCSV(dataTableData)); } function copyToClip(){ copyHTMLElementToClipboard(document.querySelector('.ui.groupedData')); } return([
,
] ) } class GroupDayTabFilters extends React.Component{ componentDidMount(){ $('#groupDate').dropdown({ onChange: function(v){ nOpts.groupDate = v; renderGroupedFilters(v); initCharts(); } }); $('#year').dropdown({ onChange:function(v){ nOpts.year = v; // adicionar options dos meses correspondentes ao ano no elemento #month renderGroupedFilters(v); initCharts(); } }); $('#month').dropdown({ onChange:function(v){ nOpts.month = v; renderGroupedFilters(v); initCharts(); } }); } render(){ return(
); } } class GroupMonthTabFilters extends React.Component{ componentDidMount(){ $('#groupDate').dropdown({ onChange: function(v){ nOpts.groupDate = v; renderGroupedFilters(v); initCharts(); } }); $('#year').dropdown({ onChange:function(v){ nOpts.year = v; renderGroupedFilters(v); initCharts(); } }); } render(){ return(
); } } class GroupYearTabFilters extends React.Component{ componentDidMount(){ $('#groupDate').dropdown({ onChange: function(v){ nOpts.groupDate = v; renderGroupedFilters(v); initCharts(); } }); } render(){ return(
); } } /* * FILTERS -------------------------------------------- */ class BranchFilterNoBg extends React.Component{ constructor(props){ super(props); this.inputSelect = React.createRef(); // Criando a referência this.filial = props.default ; } componentDidMount(){ const selectElement = this.inputSelect.current; const propa = this.props; $(selectElement).dropdown(); $(selectElement).on('change', function(){ var selectedValue = $(this).find('input[name="floption"]').val(); if (propa.callback) { propa.callback(); // Invoca a função passada como prop } }); } render(){ const opts = [ React.createElement( 'div', {key:'default','data-value': '',className:'item'}, 'Todas as unidades' ) ]; for(var a in this.props.data){ opts.push(React.createElement( 'div', { key: a, 'data-value': this.props.data[a].wms, className:'item'}, this.props.data[a].titulo )); } return React.createElement( 'div', {className:'ui scrolling dropdown',ref: this.inputSelect,id:'selectFilial'}, [ React.createElement( 'input', {key:0,type:'hidden',name:'filial',id:'filial',value:this.filial}), React.createElement( 'div', {key:1,className:'default text'}, "Selecionar filial"), React.createElement( 'div', {key:2,className:'menu'}, opts), React.createElement( 'i', {key:3,className:'dropdown icon'}), ] ); } } class DateCalendarNoBg extends React.Component { constructor(props) { super(props); this.inputRef = React.createRef(); // Criando a referência } componentDidMount(){ const inputElement = this.inputRef.current; if( inputElement ){ let nowDate = new Date(); const propa = this.props; $('#selectDate').calendar({ type: 'date', text: ptBRCalendar, initialDate:nowDate, // onShow: function () { // const input = $('#date'); // input.data('previous-value', input.val());}, // onHide: function () { // const input = $(this).find('input'); // if (!input.val()) {input.val(input.data('previous-value'));}}, onChange:function(){ if (propa.callback) { propa.callback(); // Invoca a função passada como prop } }, formatter: {date: 'DD/MM/YYYY'} }); } } render(){ return React.createElement( 'div', { className:'ui transparent calendar', id:'selectDate'}, React.createElement( 'div', { className:'ui input left icon'}, [ React.createElement( 'i', {key:0,className:'calendar icon'}), React.createElement( 'input', {key:1,ref: this.inputRef, type:'text', placeholder:'dd/mm/aaaa', name:'date', id:'date'}) ] ) ) } } class MonthFilterNoBg extends React.Component{ constructor(props){ super(props); this.inputSelect = React.createRef(); // Criando a referência this.month = props.default ; } componentDidMount(){ const selectElement = this.inputSelect.current; const propa = this.props; $(selectElement).dropdown(); $(selectElement).on('change', function() { var selectedValue = $(this).find('input[name="mes"]').val(); if (propa.callback) { propa.callback(); // Invoca a função passada como prop } }); } render(){ const opts = []; const m=['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro']; const date = new Date(); const month = this.month ? parseInt(this.month) : (date.getMonth()+1) ; for(var i=0;i<12;i++){ let classT = 'item'; if(i==(month-1)){ classT += " active selected"; } opts.push(React.createElement( 'div', { key: i, 'data-value': (i+1), className:classT}, m[i] )); } return React.createElement( 'div', {className:'ui scrolling dropdown', id:'selectMonth',ref: this.inputSelect}, [ React.createElement( 'input', {key:0,type:'hidden',name:'mes',defaultValue:month,id:'mes'}), React.createElement( 'div', {key:1,className:'default text'}, "Selecionar"), React.createElement( 'div', {key:2,className:'menu'}, opts), React.createElement( 'i', {key:3,className:'dropdown icon'}), ] ); } } // class YearFilterNoBg extends React.Component{ // constructor(props){ // super(props); // this.inputSelect = React.createRef(); // Criando a referência // } // getValue(){ // if (this.inputSelect.current) { // return this.inputSelect.current.value; } // return null; } // componentDidMount(){ // const selectElement = this.inputSelect.current; // const propa = this.props; // $(selectElement).dropdown(); // $(selectElement).on('change',function(){ // var selectedValue = $(this).find('input[name="ano"]').val(); // if( propa.callback ){ // propa.callback(); // } // }); // } // render(){ // const opts = []; // const yearIni = 2024; // const date = new Date(); // for(var i=yearIni;i<=parseInt(date.getFullYear());i++){ // let classT = 'item'; // if( i == parseInt(date.getFullYear()) ){ // opts.push(React.createElement( // 'div', // { key: i, 'data-value': i, className:"item active selected"}, // i // )); // }else{ // opts.push(React.createElement( // 'div', // { key: i, 'data-value': i, className:"item"}, // i // )); // } // } // return React.createElement( // 'div', // {className:'ui scrolling dropdown', id:'selectYear',ref: this.inputSelect}, // [ // React.createElement( // 'input', // {key:0,type:'hidden',name:'ano',value:parseInt(date.getFullYear()),id:'ano'} // ), // React.createElement( // 'div', // {key:1,className:'default text'}, // "Selecionar" // ), // React.createElement( // 'div', // {key:2,className:'menu'}, // opts // ), // React.createElement( // 'i', // {key:3,className:'dropdown icon'} // ), // ] // ); // } // } class YearFilterNoBg extends React.Component{ constructor(props){ super(props); this.inputSelect = React.createRef(); // Criando a referência this.year = props.default ; } getValue(){ if (this.inputSelect.current) { return this.inputSelect.current.value; } return null; } componentDidMount(){ if( this.props.callback ) { const selectElement = this.inputSelect.current; const propa = this.props; $(selectElement).dropdown(); $(selectElement).on('change',function(){ var selectedValue = $(this).val(); if( propa.callback ){ propa.callback(); } }); } } render(){ const opts = []; const yearIni = 2024; const date = new Date(); const year = this.year ? parseInt(this.year) : parseInt(date.getFullYear()) ; for(var i=yearIni;i<=parseInt(date.getFullYear());i++){ let classT = 'item'; opts.push(React.createElement( 'option', { key: i, 'value': i, className:"item"}, i )); } return React.createElement( 'select', {className:'ui scrolling basic padded dropdown', id:'ano',ref: this.inputSelect,defaultValue:year}, opts ); } } // class StatisticsInfo extends React.Component{ // constructor(props){ // super(props); // } // render(){ // let items = []; // for(var a in this.props.data){ // items.push(React.createElement( // 'div', // {key:a,className:'statistic'}, // [ // React.createElement( // 'div', // {key:a+'-value',className:'value'}, // this.props.data[a]), // React.createElement( // 'div', // {key:a+'-label',className:'label'}, // a // ) // ] // )) // } // return React.createElement( // 'div', // {key:0,className:'ui mini micro statistics'}, // items // ); // } // } class StatisticsInfo extends React.Component{ constructor(props){ super(props); } render(){ let items = []; for(var a in this.props.data){ items.push(React.createElement( 'div', {key:a,className:'column'}, [ React.createElement( 'div', {key:a+'-value',className:'value'}, this.props.data[a]), React.createElement( 'div', {key:a+'-label',className:'label'}, a ) ] )) } return React.createElement( 'div', {key:0,className:'ui mini micro equal width grid'}, items ); } } class UnidadeSelect extends React.Component{ constructor(props){ super(props); } componentDidMount(){ $("a.item",this.select).on('click',function(e){ e.preventDefault(); $(this).parent().find('.active').removeClass('active'); $(this).addClass('active'); }); } render(){ const opts = [ {k:'pedido',v:'Pedidos'}, {k:'item',v:'Itens'}, {k:'unidade',v:'Unidades'}, {k:'valor',v:'Valor'}, {k:'volume',v:'Volumes'} ]; let options = []; $('.active.item').removeClass('active'); for(var a in opts){ options.push(React.createElement( 'a', {href:opts[a].k,className:`${this.props.default && this.props.default == opts[a].k ? 'active' : ''} item`,key:opts[a].v}, opts[a].v )) } return
{this.select = el;}}> {options}
; } }