var m_ProfileItem; var FilamentPriority=new Array( "pla","abs","pet","tpu","pc"); var VendorPriority=new Array("qidi","qdt","kexcelled","polymaker","esun","generic","bambu lab","bambulab","bbl"); function OnInit() { $("#printerBtn").on("click", function(){ $("#MachineList").slideToggle(300); $(this).find(".CArrow").toggleClass("active"); }); $("#filatypeBtn").on("click", function(){ $("#FilatypeList").slideToggle(300); $(this).find(".CArrow").toggleClass("active"); }); $("#vendorBtn").on("click", function(){ $("#VendorList").slideToggle(300); $(this).find(".CArrow").toggleClass("active"); }); $('#SelectAllCheckbox').change(function() { if ($(this).is(':checked')) { SelectAllFilament(1); } else { SelectAllFilament(0); } }); TranslatePage(); RequestProfile(); // m_ProfileItem=cData; // SortUI(); } function RequestProfile() { var tSend={}; tSend['sequence_id']=Math.round(new Date() / 1000); tSend['command']="request_userguide_profile"; SendWXMessage( JSON.stringify(tSend) ); } function HandleStudio(pVal) { let strCmd=pVal['command']; //alert(strCmd); if(strCmd=='response_userguide_profile') { m_ProfileItem=pVal['response']; SortUI(); } } function GetFilamentShortname( sName ) { let sShort=sName.split('@')[0].trim(); return sShort; } function ChooseAllMachine() { let bCheck=$("#MachineList input:first").prop("checked"); $("#MachineList input").prop("checked",bCheck); //w22 const vendorOrder = ["Q Series", "X 4 Series", "X 3 Series"]; m_ProfileItem["model"].sort((a, b) => { const indexA = vendorOrder.indexOf(a.vendor); const indexB = vendorOrder.indexOf(b.vendor); return indexA - indexB; }); SortFilament(); } function ChooseAllFilament() { let bCheck=$("#FilatypeList input:first").prop("checked"); $("#FilatypeList input").prop("checked",bCheck); SortFilament(); } function ChooseAllVendor() { let bCheck=$("#VendorList input:first").prop("checked"); $("#VendorList input").prop("checked",bCheck); SortFilament(); } function MachineClick() { let nChecked=$("#MachineList input:gt(0):checked").length let nAll =$("#MachineList input:gt(0)").length if(nAll==nChecked) { $("#MachineList input:first").prop("checked",true); } else { $("#MachineList input:first").prop("checked",false); } SortFilament(); } function FilaClick() { let nChecked=$("#FilatypeList input:gt(0):checked").length let nAll =$("#FilatypeList input:gt(0)").length if(nAll==nChecked) { $("#FilatypeList input:first").prop("checked",true); } else { $("#FilatypeList input:first").prop("checked",false); } SortFilament(); } function VendorClick() { let nChecked=$("#VendorList input:gt(0):checked").length let nAll =$("#VendorList input:gt(0)").length if(nAll==nChecked) { $("#VendorList input:first").prop("checked",true); } else { $("#VendorList input:first").prop("checked",false); } SortFilament(); } function SortFilament() { let FilaNodes=$("#ItemBlockArea div"); let nFilament=FilaNodes.length; //$("#ItemBlockArea .MItem").hide(); //ModelList let pModel=$("#MachineList input:checked"); let nModel=pModel.length; let ModelList=new Array(); for(let n=0;n=0) { HasModel=true; break; } } if(HasModel || fModel=='') $(OneNode).show(); else $(OneNode).hide(); } else $(OneNode).hide(); } } function SelectAllFilament( nShow ) { if( nShow==0 ) { $('#ItemBlockArea input').prop("checked",false); } else { $('#ItemBlockArea input').prop("checked",true); } } function ShowNotice( nShow ) { if(nShow==0) { $("#NoticeMask").hide(); $("#NoticeBody").hide(); } else { $("#NoticeMask").show(); $("#NoticeBody").show(); } } function SortUI() { var ModelList=new Array(); let nMode=m_ProfileItem["model"].length; for(let n=0;n'+sModel['model']+''; } $('#MachineList').append(HtmlMode); $('#MachineList input').prop("checked",true); if(nMode<=1) { $('#MachineList').hide(); } //Filament let HtmlFilament=''; let SelectNumber=0; var TypeHtmlArray={}; var VendorHtmlArray={}; //y73 var sortedFilamentKeys = Object.keys(m_ProfileItem['filament']).sort((a, b) => { let vendorA = m_ProfileItem['filament'][a]['vendor'].toLowerCase(); let vendorB = m_ProfileItem['filament'][b]['vendor'].toLowerCase(); let indexA = VendorPriority.indexOf(vendorA); let indexB = VendorPriority.indexOf(vendorB); if(indexA === -1) indexA = Number.MAX_SAFE_INTEGER; if(indexB === -1) indexB = Number.MAX_SAFE_INTEGER; return indexA - indexB; }); //alert(sortedFilamentKeys); for( let key of sortedFilamentKeys) { //alert(key); let OneFila=m_ProfileItem['filament'][key]; //alert(JSON.stringify(OneFila)); let fWholeName=OneFila['name'].trim(); let fShortName=GetFilamentShortname( OneFila['name'] ); let fVendor = OneFila['vendor']; let fType=OneFila['type']; let fSelect=OneFila['selected']; let fModel=OneFila['models'] let bFind=false; if( fModel=='') { bFind=true; } else { //check in modellist let nModelAll=ModelList.length; for(let m=0;m=0) { bFind=true; break; } } } } if(bFind) { //Type let LowType=fType.toLowerCase(); if(!TypeHtmlArray.hasOwnProperty(LowType)) { let HtmlType='
'+fType+'
'; TypeHtmlArray[LowType]=HtmlType; } //Vendor let lowVendor=fVendor.toLowerCase(); if(!VendorHtmlArray.hasOwnProperty(lowVendor)) { let HtmlVendor='
'+fVendor+'
'; VendorHtmlArray[lowVendor]=HtmlVendor; } //Filament let pFila=$("#ItemBlockArea input[vendor='"+fVendor+"'][filatype='"+fType+"'][name='"+fShortName+"']"); if(pFila.length==0) { let HtmlFila='
'+fShortName+'
'; $("#ItemBlockArea").append(HtmlFila); } else { let strModel=pFila.attr("model"); let strFilalist=pFila.attr("filalist"); pFila.attr("model", strModel+fModel); pFila.attr("filalist", strFilalist+fWholeName+';'); } if(fSelect*1==1) { //alert( fWholeName+' - '+fShortName+' - '+fVendor+' - '+fType+' - '+fSelect+' - '+fModel ); $("#ItemBlockArea input[vendor='"+fVendor+"'][filatype='"+fType+"'][name='"+fShortName+"']").prop("checked",true); SelectNumber++; } // else // $("#ItemBlockArea input[vendor='"+fVendor+"'][model='"+fModel+"'][filatype='"+fType+"'][name='"+key+"']").prop("checked",false); } } //Sort TypeArray let TypeAdvNum=FilamentPriority.length; for( let n=0;n-1 ) { DefaultMaterialString+=OneMode['materials']+';'; } } let DefaultMaterialArray=DefaultMaterialString.split(';'); //alert(DefaultMaterialString); //Filament let FilaNodes=$("#ItemBlockArea input"); let nFilament=FilaNodes.length; for(let m=0;m-1) { HasModel=true; break; } } if(HasModel) $(OneFF).prop("checked",true); } ShowNotice(0); }