{"version":3,"sources":["Middle.js","dialogs/CustomerDialogs.js","dialogs/SaveDialogs.js","dialogs/QuoteDialogs.js","dialogs/LoadingDialogs.js","dialogs/RestartDialogs.js","dialogs/OptionHelpDialogs.js","dialogs/PDFPrintDialogs.js","dialogs/PrintDialogs.js","dialogs/CustomDialogs.js","dialogs/ExportDialogs.js","dialogs/HelpDialogs.js","App.js","serviceWorker.js","index.js","swoosh.jpg"],"names":["Middle","props","Object","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","_this","displayList","index","data","length","option","sp_choice","choice","pos","display","title","arrChoices","choices","split","lookups","options","i","push","react_default","a","createElement","Middle_Option","key","onClick","type","choiceIndex","id","src","url","width","height","map","Middle_Item","Component","Option","e","route","target","_this2","className","hilited","showOptions","toUpperCase","Middle_Choices","selectChoice","Choices","currIndex","_this3","numCols","Math","ceil","arr","table","count","fr","Array","col","row","children","Middle_Choice","style","top","formatChoices","bottom","Choice","_this4","dangerouslySetInnerHTML","__html","Item","choiceTitle","join","showChoice","CustomerDialogs","countryChange","country","setState","validateInput","customer","valid","inputs","document","querySelectorAll","querySelector","classList","remove","firstName","value","trim","add","lastName","email","test","String","toLowerCase","company","phone","state","projectName","mailingList","checked","react_select_esm","onChange","countries","fontWeight","SaveDialog","url_sf","urlDW2","parameters","dwVar","parseInt","console","log","urlSite","saveVar","html","date","Date","getMonth","getDate","getFullYear","toString","substr","at","j","method","headers","Content-Type","body","JSON","stringify","mailfrom","mailto","subject","header","subtitle","fetch","catch","err","error","sendEmail","QuoteDialog","urlDW","setTimeout","location","href","LoadingDialog","RestartDialog","OptionHelpDialog","help","OptionHelpDialogs_SystemPressureHelp","OptionHelpDialogs_ModelNumberHelp","OptionHelpDialogs_ForceRatingHelp","OptionHelpDialogs_SystemThreadHelp","OptionHelpDialogs_DispTransducerHelp","OptionHelpDialogs_DynamicStrokeHelp","OptionHelpDialogs_BearingDesignHelp","OptionHelpDialogs_FirstServoHelp","OptionHelpDialogs_Shutoff1Help","OptionHelpDialogs_CloseCoupAccumHelp","OptionHelpDialogs_AccumCertHelp","OptionHelpDialogs_DeltaPStabHelp","OptionHelpDialogs_SecondServoHelp","OptionHelpDialogs_Shutoff2Help","OptionHelpDialogs_ForceMeasureHelp","OptionHelpDialogs_BaseEndTypeHelp","OptionHelpDialogs_RodEndTypeHelp","OptionHelpDialogs_HoistRingRestPadHelp","displayHelp","SystemPressureHelp","ModelNumberHelp","cellPadding","colSpan","ForceRatingHelp","SystemThreadHelp","DispTransducerHelp","DynamicStrokeHelp","BearingDesignHelp","FirstServoHelp","Shutoff1Help","CloseCoupAccumHelp","AccumCertHelp","DeltaPStabHelp","SecondServoHelp","Shutoff2Help","ForceMeasureHelp","BaseEndTypeHelp","RodEndTypeHelp","HoistRingRestPadHelp","PDFPrintDialog","uuid","getTime","slice","isFirefox","navigator","userAgent","indexOf","params","guid","query","keys","k","encodeURIComponent","pdf_url","then","response","json","scope","dlg_spinner","dlg_iframe","dlg_print_btn","dlg_download_btn","addEventListener","contentWindow","print","preventDefault","handleGuid","download","PureComponent","CustomDialog_1","_Component","inherits","createClass","error_msg","maxLength","CustomDialog_2","_Component2","ExportDialog_1","name","ExportDialog_2","FeedbackDialog_1","newData","feedback","selected","label","answers","toISOString","f_options","question","HelpDialogs_FeedbackQuestion","saveFeedback","FeedbackDialog_2","FeedbackQuestion","num","HelpDialogs_FeedbackChoice","clear","FeedbackChoice","_this5","HelpDialog_1","_Component5","_this6","HelpDialog_2","_Component6","_this7","hideError","removeEventListener","dropdown","input","innerHTML","_this8","HelpDialog_3","_Component7","_this9","App","closeCookieDialog","cookies","getElementById","parentNode","removeChild","displayDialog","showCustInfo","customerInfo","dialogs_CustomerDialogs","dialog","saveCustomer","ExportDialogs_ExportDialog_1","currentDialog","ExportDialogs_ExportDialog_2","SaveDialogs","actuators","actuator","QuoteDialogs","HelpDialogs_FeedbackDialog_1","HelpDialogs_FeedbackDialog_2","HelpDialogs_HelpDialog_1","HelpDialogs_HelpDialog_2","HelpDialogs_HelpDialog_3","CustomDialogs_CustomDialog_1","CustomDialogs_CustomDialog_2","RestartDialogs","save","restartDesign","OptionHelpDialogs","currentOptionHelp","PDFPrintDialogs","LoadingDialogs","hideSpinner","customerPDF","TagManager","initialize","gtmId","querystring","isNaN","qs_val","choiceManager","view","postMessage","dwPost","optionIndex","currData","dwIframe","dwChoice","addHilite","none","mapArray","userClick","systemPressure","modelNumber","map_old","map_new","mapping","childs","oldChoice","oldChoices","lookupChoices","newChoices","oldTitle","firstServo","firstServoMap","firstServoTitle","ccAccumulator","ccAccumulatorMap","leftPos","window","screen","topPos","open","m","re","RegExp","r","exec","search","swooshStyle","backgroundImage","concat","swoosh","backgroundRepeat","backgroundSize","showPopup","src_Middle","set3dView","Boolean","hostname","match","ReactDOM","render","src_App","serviceWorker","ready","registration","unregister","module","exports","__webpack_require__","p"],"mappings":"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","file":"static/js/main.358a4814.chunk.js","sourcesContent":["import React, {Component} from 'react';\r\nimport lookups from './lookups.json'; //lookup tables for all the possible choices\r\n\r\nclass Middle extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n //draw left and right panels dynamically based on data\r\n var displayList = [];\r\n for (var index = 0; index < this.props.data.length; index++) {\r\n var option = this.props.data[index];\r\n var sp_choice = this.props.data[0].choice; //system pressure choice, impacts the force rating displayed in the choices\r\n var pos = \"middle\";\r\n if (index <= 8){pos = \"top\";} //hardcoded\r\n if (index >= 9){pos = \"bottom\";} //hardcoded\r\n\r\n //hide unavailable choices && force rating\r\n var display = option.title != \"Force Rating\";\r\n if(display){\r\n var arrChoices = option.choices.split(\",\")\r\n var choices=[];\r\n if(arrChoices[0] == \"all\"){\r\n choices = lookups.options[index].choices;\r\n }else{\r\n for(var i = 0; i < arrChoices.length; i++){\r\n choices.push(lookups.options[index].choices[arrChoices[i]]);\r\n }\r\n }\r\n\r\n if(choices.length == 1){\r\n if(choices[0].title == \"N/A\" || choices[0].title == \"No\" || choices[0].title == \"None\")\r\n {\r\n display = false;\r\n }\r\n }\r\n }\r\n\r\n if(display){ //don't display force rating as an option or options that are currently unavailable\r\n displayList.push();\r\n }\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n
PRODUCT OPTIONS
\r\n
{displayList}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
SELECTED OPTIONS
\r\n {this.props.data.map((option, index) => )}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass Option extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n showOptions(e){\r\n //if help button clicked show that info, otherwise show options\r\n var route = (e.target.id == \"opt_help\") ? \"help\" : \"option\";\r\n this.props.onClick(this.props.index, route);\r\n }\r\n selectChoice(choiceIndex){\r\n this.props.onClick(this.props.index, \"choice\", choiceIndex);\r\n }\r\n render() {\r\n return (\r\n
\r\n
this.showOptions(e)}>\r\n
\r\n
{this.props.data.title.toUpperCase()}
\r\n
\r\n
\r\n { this.selectChoice(choiceIndex)}>}\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass Choices extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n formatChoices(currIndex, arrChoices, hilited){\r\n //determine choices from lookup table\r\n var choices=[];\r\n if(arrChoices[0] == \"all\"){\r\n choices = lookups.options[currIndex].choices;\r\n }else{\r\n for(var i = 0; i < arrChoices.length; i++){\r\n choices.push(lookups.options[currIndex].choices[arrChoices[i]]);\r\n }\r\n }\r\n\r\n const numRows = 7;\r\n const numCols = Math.ceil(choices.length / numRows); //number of columns with at most the value of numRows choices in each\r\n\r\n var arr=[];\r\n var table = [];\r\n var index = 0;\r\n var count=0;\r\n var fr = \"\";\r\n\r\n //convert list to multi-dimensional array\r\n arr[count] = new Array();\r\n for(let col = 0; col < numCols; col++){\r\n for(let row = 0; row < numRows; row++){\r\n if(choices[index]){\r\n choices[index].index = index;\r\n arr[count].push(choices[index]);\r\n }\r\n index++;\r\n }\r\n count++;\r\n if(index < choices.length){\r\n arr[count] = new Array();\r\n }\r\n }\r\n\r\n //convert array to table\r\n index = 0;\r\n for(let row = 0; row < arr[0].length; row++){\r\n let children = [];\r\n for(let col = 0; col < arr.length; col ++){\r\n if(arr[col][row]){\r\n var choice = arr[col][row];\r\n if(choice){\r\n if(currIndex == 1){ //if model number\r\n fr = lookups.options[2].choices[choice.index].title; //get associated force rating\r\n }\r\n children.push( this.props.onClick(choiceIndex)}>);\r\n }\r\n index++;\r\n }\r\n }\r\n table.push({children});\r\n }\r\n\r\n //format and display choices\r\n //const numRows = 8;\r\n //var numColumns = Math.ceil(choices.length / numRows); //number of columns with at most the value of numRows choices in each\r\n //var table = [];\r\n //var index = 0;\r\n //var fr = \"\";\r\n //for (let row = 0; row <= numRows; row++) {\r\n //let children = [];\r\n //if(index <= choices.length){\r\n //for (let col = 0; col < numColumns; col++) {\r\n //if(currIndex == 1){ //if model number\r\n //fr = lookups.options[2].choices[index].title; //get associated force rating\r\n //}\r\n //var choice = choices[index];\r\n //if(choice){\r\n //children.push( this.props.onClick(choiceIndex)}>);\r\n //}\r\n //index++;\r\n //}\r\n //table.push({children});\r\n //}\r\n //}\r\n return table;\r\n }\r\n render() {\r\n if(this.props.pos == \"top\"){\r\n return (\r\n
\r\n \r\n \r\n {this.formatChoices(this.props.index, this.props.choices.split(\",\"), this.props.choice)}\r\n \r\n
\r\n
\r\n );\r\n }else if(this.props.pos == \"middle\"){\r\n return (\r\n
\r\n \r\n \r\n {this.formatChoices(this.props.index, this.props.choices.split(\",\"), this.props.choice)}\r\n \r\n
\r\n
\r\n );\r\n }else{\r\n return (\r\n
\r\n \r\n \r\n {this.formatChoices(this.props.index, this.props.choices.split(\",\"), this.props.choice)}\r\n \r\n
\r\n
\r\n );\r\n }\r\n }\r\n}\r\n\r\nclass Choice extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n var hilited = this.props.index == this.props.hilited;\r\n return (\r\n this.props.onClick(this.props.index)}>\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nclass Item extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n var choices=[];\r\n var arrChoices = this.props.data.choices.split(\",\");\r\n if(arrChoices[0] == \"all\"){\r\n choices = lookups.options[this.props.index].choices;\r\n }else{\r\n for(var i = 0; i < arrChoices.length; i++){\r\n choices.push(lookups.options[this.props.index].choices[arrChoices[i]]);\r\n }\r\n }\r\n var choiceTitle = choices[this.props.data.choice].title.split(\"
\").join(\" \");\r\n var showChoice = !(choiceTitle == \"None\" || choiceTitle == \"N/A\" || choiceTitle == \"No\");\r\n return (\r\n
\r\n
\r\n
{this.props.data.title} -
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Middle;\r\n","import React, {Component} from 'react';\r\nimport Select from 'react-select';\r\nimport data from './countries.json';\r\nimport './Dialogs.min.css';\r\n\r\nclass CustomerDialogs extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n country: null\r\n };\r\n }\r\n countryChange = (country) => {\r\n this.setState({\r\n country: country\r\n })\r\n }\r\n validateInput = () => {\r\n var customer = {};\r\n var valid = true;\r\n var inputs = document.querySelectorAll(\".dlg_cell\");\r\n var email_regex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n var phone_regex = /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$/im;\r\n\r\n //remove errors\r\n for(var i=0; i\r\n
\r\n
\r\n \r\n
User Information
\r\n
this.props.onClick(null, false)}>X
\r\n
\r\n
\r\n
\r\n
Please tell us about yourself
\r\n
\r\n
\r\n
\r\n
First Name*
\r\n
\r\n
\r\n
\r\n
Last Name*
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Email Address*
\r\n
\r\n
\r\n
\r\n
Company*
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Phone Number*
\r\n
\r\n
\r\n
\r\n
Country*
\r\n {/**/}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Please check this box to receive emails on products, upcoming events, and more!\r\n
\r\n
\r\n
* Required\r\n
\r\n
\r\n
this.validateInput()}>NEXT
\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default CustomerDialogs;\r\n","import React, { Component } from 'react';\r\nimport lookups from '../lookups.json'; //lookup tables for all the possible choices\r\nimport './Dialogs.min.css';\r\n\r\nclass SaveDialog extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n sendEmail() {\r\n\r\n //save SF data\r\n var url_sf = this.props.urlDW2 + \"/Integration?run=MTS_244_Sales&Transition=Save\";\r\n\r\n var customer = [];\r\n customer.push(\"CustFirstName=\" + this.props.customer.firstName);\r\n customer.push(\"CustLastName=\" + this.props.customer.lastName);\r\n customer.push(\"CustEmail=\" + this.props.customer.email);\r\n customer.push(\"CustCompany=\" + this.props.customer.company);\r\n customer.push(\"CustPhone=\" + this.props.customer.phone);\r\n customer.push(\"CustCountry=\" + this.props.customer.country);\r\n customer.push(\"CustProject=\" + this.props.customer.projectName);\r\n url_sf+= \"&\" + customer.join(\"&\");\r\n\r\n \r\n for(var i = 0; i < this.props.data.parameters.length; i++){\r\n url_sf+= \"&\" + this.props.data.parameters[i].dwVar + \"=\" + (parseInt(this.props.data.parameters[i].choice + 1)); \r\n }\r\n \r\n var iframe = document.querySelector(\"#test_iframe\");\r\n iframe.src = url_sf; //send current setup to second iframe tied to another instance of the DW stuff\r\n console.log(\"sent = \" + url_sf);\r\n\r\n //create saved url\r\n var url = this.props.urlSite + '/244configurator/';\r\n url += \"?a=\" + this.props.data.id;\r\n for (var i = 0; i < this.props.data.parameters.length; i++) {\r\n url += \"&\" + this.props.data.parameters[i].saveVar + \"=\" + this.props.data.parameters[i].choice;\r\n }\r\n\r\n var html = \"\";\r\n var date = new Date();\r\n\r\n //create email content\r\n html += \"
Thank you for using the MTS 3D Studio product configurator. You can retrieve or edit your design by clicking the button below. If you have any questions please call (800) 328-2255.
\";\r\n html += \"
\";\r\n html += \"
Date: \" + (date.getMonth() + 1) + \"/\" + date.getDate() + \"/\" + date.getFullYear().toString().substr(-2) + \"
\";\r\n html += \"
\";\r\n html += \"
Product: Actuator
\";\r\n html += \"
\";\r\n html += \"
Project: \" + this.props.customer.projectName + \"
\";\r\n html += \"
\";\r\n html += \"
Configured Options:
\";\r\n\r\n html += \"\";\r\n html += \"\";\r\n html += \"\";\r\n html += \"\";\r\n\r\n //create table of the current configuration\r\n for (var i = 0; i < this.props.data.parameters.length; i++) {\r\n var choices = [];\r\n var choice = this.props.data.parameters[i].choice;\r\n var arrChoices = this.props.data.parameters[i].choices.split(\",\");\r\n if (arrChoices[0] == \"all\") {\r\n choices = this.props.lookups.options[i].choices;\r\n } else {\r\n for (var j = 0; j < arrChoices.length; j++) {\r\n choices.push(this.props.lookups.options[i].choices[arrChoices[j]]);\r\n }\r\n }\r\n html += \"\";\r\n }\r\n html += \"
OptionSelection
Actuator\" + this.props.at + \"
\" + this.props.data.parameters[i].title + \"\" + choices[choice].title + \"
\";\r\n\r\n //retrieve design button\r\n html += '
';\r\n html += '';\r\n html += 'Retrieve Your Design';\r\n html += '';\r\n html += '
';\r\n\r\n //html += \"
Retrieve Your Design
\";\r\n\r\n\r\n //call email webservice\r\n const options = {\r\n method: 'post',\r\n headers: {\r\n 'Content-Type': 'application/json; charset=utf-8'\r\n },\r\n body: JSON.stringify({\r\n mailfrom: \"MTS 3D Studio \",\r\n mailto: this.props.customer.email,\r\n subject: \"Your MTS 3D Design Studio Configuration is Saved\",\r\n header: \"MTS 3D Studio Product Configuration\",\r\n subtitle: \"Your MTS 3D Design Studio Configuration is Saved\",\r\n html: html\r\n })\r\n };\r\n\r\n fetch(this.props.urlSite + '/nodemailer/server.js', options).catch(err => {\r\n console.error('Request failed', err)\r\n });\r\n\r\n this.props.onClick(null)\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
Save Your Design
\r\n
this.sendEmail()}>X
\r\n
\r\n
\r\n
\r\n Your design has been saved\r\n After clicking 'Submit' below, you will receive an email containing a summary of your configuration and a link that will allow you to retrieve your design.\r\n
\r\n
this.sendEmail()}>SUBMIT
\r\n
\r\n
\r\n
\r\n )\r\n\r\n }\r\n}\r\nexport default SaveDialog;","import React, {Component} from 'react';\r\nimport lookups from '../lookups.json'; //lookup tables for all the possible choices\r\nimport './Dialogs.min.css';\r\n\r\nclass QuoteDialog extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n \r\n //create querystring for quote page\r\n var url = [];\r\n url.push(\"quote.html?a=\" + this.props.at);\r\n url.push(\"a=\" + this.props.a);\r\n for (var i = 0; i < this.props.data.parameters.length; i++) {\r\n var choices = [];\r\n var choice = this.props.data.parameters[i].choice;\r\n var arrChoices = this.props.data.parameters[i].choices.split(\",\");\r\n if (arrChoices[0] == \"all\") {\r\n choices = lookups.options[i].choices;\r\n } else {\r\n for (var j = 0; j < arrChoices.length; j++) {\r\n choices.push(lookups.options[i].choices[arrChoices[j]]);\r\n }\r\n }\r\n url.push(this.props.data.parameters[i].saveVar + \"=\" + choices[choice].title);\r\n url.push(this.props.data.parameters[i].saveVar + \"=\" + choice);\r\n }\r\n url.push(\"cf=\" + this.props.customer.firstName);\r\n url.push(\"cl=\" + this.props.customer.lastName);\r\n url.push(\"ce=\" + this.props.customer.email);\r\n url.push(\"cc=\" + this.props.customer.company);\r\n url.push(\"cp=\" + this.props.customer.phone);\r\n url.push(\"cy=\" + this.props.customer.country);\r\n url.push(\"cn=\" + this.props.customer.projectName);\r\n url.push(\"urlSite=\" + this.props.urlSite);\r\n url.push(\"urlDW=\" + this.props.urlDW);\r\n url.push(\"urlDW2=\" + this.props.urlDW2);\r\n\r\n //save SF data\r\n var url_sf = this.props.urlDW2 + \"/Integration?run=MTS_244_Sales&Transition=RequestQuote\";\r\n\r\n var customer = [];\r\n customer.push(\"CustFirstName=\" + this.props.customer.firstName);\r\n customer.push(\"CustLastName=\" + this.props.customer.lastName);\r\n customer.push(\"CustEmail=\" + this.props.customer.email);\r\n customer.push(\"CustCompany=\" + this.props.customer.company);\r\n customer.push(\"CustPhone=\" + this.props.customer.phone);\r\n customer.push(\"CustCountry=\" + this.props.customer.country);\r\n customer.push(\"CustProject=\" + this.props.customer.projectName);\r\n url_sf+= \"&\" + customer.join(\"&\");\r\n\r\n \r\n for(var i = 0; i < this.props.data.parameters.length; i++){\r\n url_sf+= \"&\" + this.props.data.parameters[i].dwVar + \"=\" + (parseInt(this.props.data.parameters[i].choice + 1)); \r\n }\r\n \r\n console.log(url_sf);\r\n var iframe = document.querySelector(\"#test_iframe\");\r\n iframe.src = url_sf; //send current setup to second iframe tied to another instance of the DW stuff\r\n console.log(\"sent = \" + url_sf);\r\n\r\n //wait two seconds to allow Request Quote data to transmit to DW, then go to Quote page\r\n \r\n setTimeout(function(){document.location.href = url.join(\"&\");}, 2000);\r\n\r\n\r\n return (\n
\n
\n
\n
\n
3D Design Studio
\n
this.props.onClick(null)}>X
\n
\n
\n
\n
\r\n \r\n

Saving Request for Quote...

\r\n
\n
\n
\n
\n
\r\n );\r\n\r\n return (null);\r\n\r\n }\r\n}\r\n\r\nexport default QuoteDialog;","import React, {Component} from 'react';\r\nimport './Dialogs.min.css';\r\n\r\nclass LoadingDialog extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
3D Design Studio
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n

Loading Model...

\r\n

(Load times may vary depending on connection speed and model selected)

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default LoadingDialog;\r\n","import React, {Component} from 'react';\r\nimport './Dialogs.min.css';\r\n\r\nclass RestartDialog extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
Restart Design
\r\n
this.props.onClick(false)}>X
\r\n
\r\n
\r\n
\r\n Restarting the design will erase your current build. Do you want to continue?\r\n
\r\n
this.props.onClick(true)}>RESTART
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default RestartDialog;\r\n","import React, {Component} from 'react';\r\nimport './Dialogs.min.css';\r\n//import swoosh from'./swoosh.jpg';\r\n\r\nclass OptionHelpDialog extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n displayHelp(data, option){\r\n var title = data.parameters[option].title\r\n var help = [];\r\n help.push();\r\n help.push();\r\n help.push();\r\n help.push();\r\n help.push();\r\n help.push();\r\n help.push();\r\n help.push();\r\n help.push();\r\n help.push();\r\n help.push();\r\n help.push();\r\n help.push();\r\n help.push();\r\n help.push();\r\n help.push();\r\n help.push();\r\n help.push();\r\n return help[option];\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
Product Option Help
\r\n
this.props.onClick(null)}>X
\r\n
\r\n
\r\n { this.displayHelp(this.props.data, this.props.option) }\r\n
this.props.onClick(null)}>OK
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default OptionHelpDialog;\r\n\r\n\r\nclass SystemPressureHelp extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.title}\r\n

Maximum working pressure of your hydraulic system. Available in 21 MPa (3000 psi) and 28 MPa (4000 psi) configurations.\r\n Note: Choice of system pressure may affect force rating for each specific model number below.

\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass ModelNumberHelp extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.title}\r\n

The chart below gives each model number, along with their rod diameter and corresponding force rating

\r\n

Note: The 244 Series actuators are double ended, meaning they have equal working area, resulting in an equal force rating in both tension and compression.

\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
244 Actuator Specifications
Model NumberRod DiameterForce RatingHydraulic Cushion
mminkNkipmmin
244.1144.51.75153.315.20.60
244.1244.51.75255.515.20.60
244.2169.92.75501110.20.40
244.2069.92.75671510.20.40
244.2269.92.75100227.60.30
244.2369.92.75150356.40.25
244.3195.33.75250555.10.20
244.41133.45.25500110--
244.51152.46.01000220--
\r\n\r\n

All 201, 242, and 244 actuators are fatigue-rated to their full force rating.\r\n This rating, however, was established assuming minimal overhead for rod friction and losses due to backpressure check valves on HDMs, HSMs and HPUs. General recommendations for actuator sizing would be as follows:

\r\n
    \r\n
  • For static applications, recommended force requirement should be below 95% of the force rating, to ensure that loads can be met even with some actuator friction and system losses.
  • \r\n
  • For dynamic applications, recommend force requirement should be below 80% of the force rating, to ensure that loads can be met dynamically with appropriate servovalve sizing.
  • \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass ForceRatingHelp extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.title}\r\n

Force Rating is listed here for your informational benefit. This field is populated based on the selection made above in the “SYSTEM THREAD TYPE” and “MODEL NUMBER” fields.

\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass SystemThreadHelp extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.title}\r\n

System Thread Type allows you to select between either Metric or US Customary.

\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass DispTransducerHelp extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.title}\r\n

Series 244 actuators are equipped with LVDT for displacement measurements. Custom 244 actuators available with Temposonic options. Contact MTS for additional information.

\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass DynamicStrokeHelp extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.title}\r\n

For standard 244 actuators, the stroke is given by the maximum usable piston rod travel under dynamic applications. The Hydraulic Cushion length is in addition to the listed stroke.

\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nclass BearingDesignHelp extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.title}\r\n

Polymer Glide Style: An integral bonded bearing design bonds high-capacity polymer piston rod bearings directly to the end cap, providing high side load tolerance and excellent resistance to galling and seizure.

\r\n

Hydrostatic Bearing:Pressure-centering bearings can support continuous high-speed operation under heavy side loads.

\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass FirstServoHelp extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.title}\r\n

Servovalve model and size selection based on flow rating.

\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
244 Cylinder Manifold Dimensions
Model NumberMaximum Recommended MTS Servovalve Size*
244.11256.05
244.12256.05
244.20256.09
244.21256.09
244.22256.09
244.23256.09
244.31256.09
244.41256.09
244.51256.09
\r\n

*Maximum valve size could result in cylinder damage if a maximum piston velocity end cap strike occurs. Attached mass and piston velocity need to be considered. MTS offers custom Hydraulic Cushions options to help absorb high impact energy. Contact MTS for additional information.

\r\n
\r\n\r\n );\r\n }\r\n}\r\n\r\nclass Shutoff1Help extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.title}\r\n

Manual shut-off available for the Series 252 valves.

\r\n\r\n

Commonly used on actuators with dual servovalves, the shut off can isolate a valve from the system. This feature may be desirable in low flow applications where the performance of both servovalves is not required.

\r\n\r\n

The manual shut off is also useful for maintenance, to prevent excess oil leakage when changing or removing servovalves.

\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass CloseCoupAccumHelp extends Component {\r\nconstructor(props) {\r\n super(props);\r\n}\r\nrender() {\r\n return (\r\n
\r\n {this.props.title}\r\n

Manifold mounted accumulators offer superior performance for high dynamic testing. Selection offered with Series 256 valves.

\r\n \r\n
\r\n );\r\n}\r\n}\r\n\r\nclass AccumCertHelp extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.title}\r\n

MTS Standard: Typical for use in USA

\r\n

CE: European Certification

\r\n

KHK: Japanese Certification

\r\n

CRN: Canadian Certification

\r\n

CE: China Label

\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass DeltaPStabHelp extends Component {\r\nconstructor(props) {\r\n super(props);\r\n}\r\nrender() {\r\n return (\r\n
\r\n {this.props.title}\r\n

This selection is only applicable if you have selected a Series 256 Servovalve. Delta-P Stabilization adds a differential pressure transducer for the express purpose to aid in the PID closed loop tuning of the actuator.

\r\n
\r\n );\r\n}\r\n}\r\n\r\nclass SecondServoHelp extends Component {\r\nconstructor(props) {\r\n super(props);\r\n}\r\nrender() {\r\n return (\r\n
\r\n {this.props.title}\r\n

This selection is available if the first servovalve selection was a Series 252 valve. It allows for the selection of a second Series 252 valve to achieve higher flow rates. If only a single 252 servovalve is required, select the Pressure Rated Cover Plate.

\r\n
\r\n );\r\n}\r\n}\r\n\r\nclass Shutoff2Help extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.title}\r\n

Manual shut-off available for the Series 252 valves.

\r\n\r\n

Commonly used on actuators with dual servovalves, the shut off can isolate a valve from the system. This feature may be desirable in low flow applications where the performance of both servovalves is not required.

\r\n\r\n

The manual shut off is also useful for maintenance, to prevent excess oil leakage when changing or removing servovalves.

\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass ForceMeasureHelp extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.title}\r\n

Load Cell - Single Bridge - Fatigue Sized: Standard load cell size, sufficient to handle all actuator use cases without a fatigue failure. Can be calibrated out to 150% of force rating if necessary.

\r\n

Dual Bridge: Used in applications where redundancy of the load measurement is required.

\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass BaseEndTypeHelp extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.title}\r\n\r\n

Adjustable Swivel: Offered as a high-performance option for dynamic applications. The adjustable swivel includes backlash adjustment to enable continuous close pe mvmkvfit bearing tolerance, minimizing bearing backlash for optimal testing speed and accuracy.

\r\n

Pedestal Base: Offered as a stationary attachment option for rear mounting.

\r\n\r\n
\r\n
\r\n
\r\n
Adjustable Swivel
\r\n \r\n
\r\n
\r\n
Pedestal Base
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass RodEndTypeHelp extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.title}\r\n\r\n

Adjustable Swivel: Offered as a high-performance option for dynamic applications. The adjustable swivel includes backlash adjustment to enable continuous close pe mvmkvfit bearing tolerance, minimizing bearing backlash for optimal testing speed and accuracy.

\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass HoistRingRestPadHelp extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.title}\r\n

Hoist Rings: Swiveling and CE-Rated lifting device.

\r\n

Rest Pads: High durometer urethane pads for protection of actuator finish while in storage or transit.

\r\n \r\n

Note: Hoist rings and rest pad option available on actuator size 244.22 and larger.

\r\n
\r\n );\r\n }\r\n}","import React, { Component, PureComponent } from 'react';\r\nimport './Dialogs.min.css';\r\n\r\nclass PDFPrintDialog extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n }\r\n componentDidMount() { //after render\r\n var scope = this;\r\n }\r\n shouldComponentUpdate(){\r\n return false;\r\n }\r\n render() {\r\n var width = \"705\";\r\n var height = \"705\";\r\n //var uuid = generateUUID();\r\n var uuid = \"MTS_Actuator_Design_\" + new Date().getTime().toString().slice(6); //create unique name\r\n //update iframe url\r\n var url = this.props.urlDW2 + \"/Integration?run=MTS_244_Sales&Transition=Print&PdfName=\" + uuid;\r\n var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\r\n\r\n var customer = [];\r\n customer.push(\"CustFirstName=\" + this.props.customer.firstName);\r\n customer.push(\"CustLastName=\" + this.props.customer.lastName);\r\n customer.push(\"CustEmail=\" + this.props.customer.email);\r\n customer.push(\"CustCompany=\" + this.props.customer.company);\r\n customer.push(\"CustPhone=\" + this.props.customer.phone);\r\n customer.push(\"CustCountry=\" + this.props.customer.country);\r\n customer.push(\"CustProject=\" + this.props.customer.projectName);\r\n url+= \"&\" + customer.join(\"&\");\r\n\r\n for(var i = 0; i < this.props.data.parameters.length; i++){\r\n url+= \"&\" + this.props.data.parameters[i].dwVar + \"=\" + (parseInt(this.props.data.parameters[i].choice) + 1); //set to default\r\n }\r\n\r\n var iframe = document.querySelector(\"#test_iframe\");\r\n iframe.src = url //send current setup to second iframe tied to another instance of the DW stuff\r\n console.log(\"sent = \" + url);\r\n\r\n //call pdfwatcher webservice to watch for the new 'guid'.pdf file\r\n let params = {\"guid\": uuid};\r\n let query = Object.keys(params).map(k => encodeURIComponent(k) + '=' + encodeURIComponent(params[k])).join('&'); //encode the querystring parameters\r\n let pdf_url = this.props.urlSite + '/pdfwatcher/server.js?' + query;\r\n\r\n fetch(pdf_url)\r\n .then(response => response.json())\r\n .then(data => handleGuid(data, this)) //pass showPopup function along to avoid scope issues\r\n .catch(error => handleError(error, this)); //pass scope along with error\r\n\r\n function handleGuid(guid, scope){\r\n var dlg_spinner = document.querySelector(\".dlg_print_spinner\");\r\n var dlg_iframe = document.querySelector(\".dlg_iframe\");\r\n var dlg_print_btn = document.querySelector(\"#dlg_print_btn\");\r\n var dlg_download_btn = document.querySelector(\"#dlg_download_btn\");\r\n var urlSite = scope.props.urlSite;\r\n dlg_iframe.src = urlSite + \"/pdfwatcher/pdfs/\" + guid.guid + \".pdf\";\r\n dlg_spinner.style.display = \"none\";\r\n dlg_iframe.style.display = \"block\";\r\n\r\n if(!isFirefox){ //doesn't work in Firefox, ancient bug\r\n dlg_print_btn.style.display = \"inline-flex\";\r\n dlg_print_btn.addEventListener('click', function (e) {\r\n dlg_iframe.contentWindow.print();\r\n e.preventDefault();\r\n });\r\n }\r\n dlg_download_btn.href = dlg_iframe.src;\r\n dlg_download_btn.style.display = \"inline-flex\";\r\n\r\n }\r\n\r\n function handleError(error, scope){\r\n scope.props.onClick(null);\r\n }\r\n\r\n function generateUUID() { // Public Domain/MIT\r\n var d = new Date().getTime();\r\n if (typeof performance !== 'undefined' && typeof performance.now === 'function'){\r\n d += performance.now(); //use high-precision timer if available\r\n }\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = (d + Math.random() * 16) % 16 | 0;\r\n d = Math.floor(d / 16);\r\n return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n });\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
Configuration PDF
\r\n
this.props.onClick(null)}>X
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Generating PDF...

\r\n
\r\n \r\n
\r\n
this.props.onClick(null)}>EXIT
\r\n DOWNLOAD\r\n
PRINT
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default PDFPrintDialog;\r\n","import React, {Component} from 'react';\r\nimport lookups from '../lookups.json'; //lookup tables for all the possible choices\r\nimport './Dialogs.min.css';\r\n\r\nexport class PrintDialog extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n //var uuid = generateUUID();\r\n var uuid = \"MTS_Actuator_Design_\" + new Date().getTime().toString().slice(6); //create unique name\r\n console.log(\"first =\" + url)\r\n\r\n //update iframe url\r\n var url = this.props.urlDW2 + \"/Integration?run=MTS_244_Sales&Transition=Print&PdfName=\" + uuid;\r\n console.log(\"first =\" + url)\r\n var customer = [];\r\n customer.push(\"CustFirstName=\" + this.props.customer.firstName);\r\n customer.push(\"CustLastName=\" + this.props.customer.lastName);\r\n customer.push(\"CustEmail=\" + this.props.customer.email);\r\n customer.push(\"CustCompany=\" + this.props.customer.company);\r\n customer.push(\"CustPhone=\" + this.props.customer.phone);\r\n customer.push(\"CustCountry=\" + this.props.customer.country);\r\n customer.push(\"CustProject=\" + this.props.customer.projectName);\r\n url+= \"&\" + customer.join(\"&\");\r\n\r\n for(var i = 0; i < this.props.data.parameters.length; i++){\r\n url+= \"&\" + this.props.data.parameters[i].dwVar + \"=\" + (parseInt(this.props.data.parameters[i].choice)); \r\n }\r\n var iframe = document.querySelector(\"#test_iframe\");\r\n iframe.src = url //send current setup to second iframe tied to another instance of the DW stuff\r\n console.log(\"sent = \" + url);\r\n\r\n //call pdfwatcher webservice to watch for the new 'guid'.pdf file\r\n let params = {\"guid\": uuid};\r\n let query = Object.keys(params).map(k => encodeURIComponent(k) + '=' + encodeURIComponent(params[k])).join('&'); //encode the querystring parameters\r\n let pdf_url = this.props.urlSite + '/pdfwatcher/server.js?' + query;\r\n\r\n var width = 600;\r\n var height = 750;\r\n var leftPos = (window.screen.width / 2) - 251;\r\n var topPos = (window.screen.height *.1);\r\n var popup = window.open(\"print.html\", \"_blank\", \"toolbar=yes,scrollbars=yes,resizable=yes,width=\" + width + \",height=\" + height + \",top=\" + topPos + \",left=\" + leftPos);\r\n\r\n fetch(pdf_url)\r\n .then(response => response.json())\r\n .then(data => handleGuid(data, popup, this)) //pass showPopup function along to avoid scope issues\r\n .catch(error => handleError(error, popup, this)); //pass scope along with error\r\n\r\n function handleGuid(guid, popup, scope){\r\n var width = 600;\r\n var height = 750;\r\n var leftPos = (window.screen.width / 2) - 251;\r\n var topPos = (window.screen.height *.1);\r\n scope.props.onClick(null);\r\n popup.location.href= scope.props.urlSite + \"/pdfwatcher/pdfs/\" + guid.guid + \".pdf\";\r\n }\r\n\r\n function handleError(error, popup, scope){\r\n scope.props.onClick('print_error');\r\n popup.close();\r\n console.log('error is ' + error);\r\n }\r\n\r\n function generateUUID() { // Public Domain/MIT\r\n var d = new Date().getTime();\r\n if (typeof performance !== 'undefined' && typeof performance.now === 'function'){\r\n d += performance.now(); //use high-precision timer if available\r\n }\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = (d + Math.random() * 16) % 16 | 0;\r\n d = Math.floor(d / 16);\r\n return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n });\r\n }\r\n return (\r\n //
Creating Print PDF
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport class PrintErrorDialog extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
Printing Error
\r\n
this.props.onClick(null, false)}>X
\r\n
\r\n
\r\n
\r\n
\r\n \r\n System Error - please try again later\r\n
\r\n
\r\n
this.props.onClick(null)}>CLOSE
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport class PrintDialog_Test extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n\r\n //var iframe = document.querySelector(\"#dwIframe\");\r\n //var innerDoc = iframe.contentDocument || iframe.contentWindow.document;\r\n //var canvas = innerDoc.querySelector(\"canvas\");\r\n //console.log(canvas);\r\n\r\n var url = [];\r\n url.push(\"print.html?at=\" + this.props.at);\r\n //get titles for all the option choices\r\n for(var i = 0; i < this.props.data.parameters.length; i++){\r\n var choices=[];\r\n var choice = this.props.data.parameters[i].choice;\r\n var arrChoices = this.props.data.parameters[i].choices.split(\",\");\r\n if(arrChoices[0] == \"all\"){\r\n choices = lookups.options[i].choices;\r\n }else{\r\n for(var j = 0; j < arrChoices.length; j++){\r\n choices.push(lookups.options[i].choices[arrChoices[j]]);\r\n }\r\n }\r\n url.push(this.props.data.parameters[i].saveVar + \"=\" + choices[choice].title);\r\n url.push(this.props.data.parameters[i].saveVar + \"=\" + choice);\r\n }\r\n url.push(\"cf=\" + this.props.customer.firstName);\r\n url.push(\"cl=\" + this.props.customer.lastName);\r\n url.push(\"ce=\" + this.props.customer.email);\r\n url.push(\"cc=\" + this.props.customer.company);\r\n url.push(\"cp=\" + this.props.customer.phone);\r\n url.push(\"cy=\" + this.props.customer.country);\r\n url.push(\"cn=\" + this.props.customer.projectName);\r\n url.push(\"dwUrl=http://dw.3dstudio-dev.mts.com/Integration?run=MTS_244_Sales_UI\");\r\n\r\n var width = 600;\r\n var height = 750;\r\n var leftPos = (window.screen.width / 2) - 251;\r\n var topPos = (window.screen.height *.1);\r\n var popup = window.open(url.join(\"&\"), \"_blank\", \"toolbar=yes,scrollbars=yes,resizable=yes,width=\" + width + \",height=\" + height + \",top=\" + topPos + \",left=\" + leftPos);\r\n\r\n return (\r\n
Displaying Printout
\r\n );\r\n }\r\n}\r\n","import React, {Component} from 'react';\r\nimport lookups from '../lookups.json'; //lookup tables for all the possible choices\r\nimport './Dialogs.min.css';\r\n\r\nexport class CustomDialog_1 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: null\r\n };\r\n }\r\n validateInput() {\r\n var valid = true;\r\n var error_msg = null;\r\n var input = document.querySelector(\".dlg_input_text\");\r\n if(input.value.trim() == \"\"){\r\n valid = false;\r\n error_msg = \"Please enter your custom options in the text box above\"\r\n }\r\n this.setState({\r\n error: error_msg\r\n });\r\n if(valid){\r\n //create table of the current configuration\r\n\r\n var html = \"\";\r\n html+=\"
Name: \" + this.props.customer.firstName + \" \" + this.props.customer.lastName + \"
\";\r\n html+=\"
Email: \" + this.props.customer.email + \"
\";\r\n html+=\"
Phone: \" + this.props.customer.phone + \"
\";\r\n html+=\"
Custom Options: \" + document.querySelector(\"#dlg_textarea\").value + \"
\";\r\n html+=\"
Configuration:\";\r\n html+=\"\";\r\n html+=\"\";\r\n\r\n //create table of the current configuration\r\n for(var i = 0; i < this.props.data.parameters.length; i++){\r\n var choices=[];\r\n var choice = this.props.data.parameters[i].choice;\r\n var arrChoices=this.props.data.parameters[i].choices.split(\",\");\r\n if(arrChoices[0] == \"all\"){\r\n choices = this.props.lookups.options[i].choices;\r\n }else{\r\n for(var j = 0; j < arrChoices.length; j++){\r\n choices.push(this.props.lookups.options[i].choices[arrChoices[j]]);\r\n }\r\n }\r\n html+=\"\";\r\n }\r\n\r\n html+=\"
Actuator\" + this.props.at + \"
\" + this.props.data.parameters[i].title + \"\" + choices[choice].title + \"
\";\r\n\r\n\r\n //save SF data\r\n var url_sf = this.props.urlDW2 + \"/Integration?run=MTS_244_Sales&Transition=CustomQuote\";\r\n\r\n var customer = [];\r\n customer.push(\"CustFirstName=\" + this.props.customer.firstName);\r\n customer.push(\"CustLastName=\" + this.props.customer.lastName);\r\n customer.push(\"CustEmail=\" + this.props.customer.email);\r\n customer.push(\"CustCompany=\" + this.props.customer.company);\r\n customer.push(\"CustPhone=\" + this.props.customer.phone);\r\n customer.push(\"CustCountry=\" + this.props.customer.country);\r\n customer.push(\"CustProject=\" + this.props.customer.projectName);\r\n customer.push(\"CustOptions=\" + document.querySelector(\"#dlg_textarea\").value);\r\n url_sf+= \"&\" + customer.join(\"&\");\r\n\r\n \r\n for(var i = 0; i < this.props.data.parameters.length; i++){\r\n url_sf+= \"&\" + this.props.data.parameters[i].dwVar + \"=\" + (parseInt(this.props.data.parameters[i].choice + 1)); \r\n }\r\n \r\n var iframe = document.querySelector(\"#test_iframe\");\r\n iframe.src = url_sf; //send current setup to second iframe tied to another instance of the DW stuff\r\n console.log(\"sent = \" + url_sf);\r\n\r\n\r\n //call email webservice to send Custom Options email to internal MTS staff\r\n /* const options = {\r\n method: 'post',\r\n headers: {\r\n 'Content-Type': 'application/json; charset=utf-8'\r\n },\r\n body: JSON.stringify({\r\n mailfrom: \"MTS 3D Studio \",\r\n mailto: \"mdebrey@discerncx.com\", //Design_studio@mts.com\r\n subject: \"Custom Options Request\",\r\n header: \"Custom Options Request\",\r\n subtitle: \"Custom Options request by a 3D Studio user\",\r\n html: html\r\n })\r\n };\r\n\r\n fetch(this.props.urlSite + '/nodemailer/server.js', options).catch(err => {\r\n console.error('Request failed', err)\r\n }); */\r\n\r\n this.props.onClick('custom_2');\r\n }\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
Request Custom Options
\r\n
this.props.onClick(null)}>X
\r\n
\r\n
\r\n
\r\n

Please list your desired custom options in the box below. Your request will be forwarded to an MTS representative for review.

\r\n

\r\n
{this.state.error}
\r\n
\r\n
this.validateInput()}>REQUEST CUSTOM OPTIONS
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport class CustomDialog_2 extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Request Custom Options
\r\n
this.props.onClick(null)}>X
\r\n
\r\n
\r\n
\r\n

Your Custom Options Request Has Been Received

\r\n

Your request will be forwarded to an MTS representative. A sales representative will contact you using the information you provided.

\r\n

MTS sales support is available Monday thru Friday (excluding holidays) 8 am - 6 pm CST. You will receive a response within three business hours of your submission.

\r\n

If you have any questions or concerns, please call MTS at (800) 328-2255.

\r\n
\r\n
this.props.onClick('null')}>CLOSE
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, {Component} from 'react';\r\nimport './Dialogs.min.css';\r\n\r\nexport class ExportDialog_1 extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n validateInput() {\r\n var checked = document.querySelector('input[name = \"export_grp\"]:checked');\r\n if(checked){\r\n //console.log(this.props.customer);\r\n var url = this.props.urlDW2 + \"/Integration?run=MTS_244_Sales&Transition=ExportCad&ExportFileType=\" + checked.value;\r\n\r\n var customer = [];\r\n customer.push(\"CustFirstName=\" + this.props.customer.firstName);\r\n customer.push(\"CustLastName=\" + this.props.customer.lastName);\r\n customer.push(\"CustEmail=\" + this.props.customer.email);\r\n customer.push(\"CustCompany=\" + this.props.customer.company);\r\n customer.push(\"CustPhone=\" + this.props.customer.phone);\r\n customer.push(\"CustCountry=\" + this.props.customer.country);\r\n customer.push(\"CustProject=\" + this.props.customer.projectName);\r\n url+= \"&\" + customer.join(\"&\");\r\n\r\n \r\n for(var i = 0; i < this.props.data.parameters.length; i++){\r\n url+= \"&\" + this.props.data.parameters[i].dwVar + \"=\" + (parseInt(this.props.data.parameters[i].choice + 1)); \r\n }\r\n \r\n console.log(url);\r\n var iframe = document.querySelector(\"#test_iframe\");\r\n iframe.src = url //send current setup to second iframe tied to another instance of the DW stuff\r\n\r\n this.props.onClick('export_2');\r\n }else{\r\n document.querySelector('#cad_select').classList.add('dlg_error');\r\n }\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
Export CAD File
\r\n
this.props.onClick(null)}>X
\r\n
\r\n
\r\n
\r\n
File format*
\r\n

MTS offers a variety of CAD file format options. However, MTS recommends SolidWorks for the best user experience for downloading a native file format

\r\n

Please select file format:

\r\n
 SolidWorks (v2019 SP5)
\r\n
 Parasolid (.x_t)
\r\n
 STEP (AP214)
\r\n
\r\n
this.validateInput()}>DOWNLOAD
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport class ExportDialog_2 extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
Export CAD File
\r\n
this.props.onClick('null')}>X
\r\n
\r\n
\r\n

We're processing your file for export. When the file is ready for download, you will receive an email with a link to download your file.

\r\n
this.props.onClick('null')}>OK
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, {Component} from 'react';\r\nimport data from './feedback.json';\r\nimport './Dialogs.min.css';\r\n\r\nexport class FeedbackDialog_1 extends Component {\r\n constructor(props) {\r\n super(props);\r\n //clear state every time feedback button is pressed\r\n var newData = data.feedback;\r\n for(var i=0; i < newData.length; i++){\r\n newData[i].selected = null;\r\n }\r\n this.state = {\r\n data: newData\r\n };\r\n }\r\n selectChoice(index, selected){\r\n var newData = this.state.data;\r\n newData[index].selected = selected;\r\n this.setState({\r\n data: newData\r\n })\r\n }\r\n saveFeedback(){\r\n //validate that feedback occurred\r\n var valid = true;\r\n for(var i=0; i < this.state.data.length; i++){\r\n if(!this.state.data[i].selected){\r\n document.querySelector(\"#dlg_fb_\" + i).classList.add(\"dlg_error\");\r\n valid = false;\r\n }\r\n }\r\n\r\n if(valid){\r\n var html = \"\";\r\n for(i = 0; i < this.state.data.length; i++){\r\n html+=\"
Question: \" + this.state.data[i].label + \"
\";\r\n html+=\"
Response: \" + this.state.data[i].selected + \" (1=low, 10=high)
\";\r\n html+=\"
\";\r\n }\r\n html+=\"
Comments:
\";\r\n html+=\"
\" + document.querySelector(\"#dlg_textarea\").value + \"
\" ;\r\n\r\n //call email webservice\r\n const options = {\r\n method: 'post',\r\n headers: {\r\n 'Content-Type': 'application/json; charset=utf-8'\r\n },\r\n body: JSON.stringify({\r\n mailfrom: \"MTS 3D Studio \",\r\n mailto: \"tom.owens@mts.com\", //Design_studio@mts.com\r\n subject: \"User Feedback\",\r\n header: \"Feedback Submission\",\r\n subtitle: \"Feedback submitted by a 3D Studio user\",\r\n html: html\r\n })\r\n };\r\n\r\n fetch(this.props.urlSite + '/nodemailer/server.js', options).catch(err => {\r\n console.error('Request failed', err)\r\n });\r\n\r\n //call file saving webservice\r\n var answers = [];\r\n answers.push(new Date().toISOString().slice(0,10));\r\n for(i = 0; i < this.state.data.length; i++){\r\n answers.push(this.state.data[i].selected);\r\n }\r\n answers.push(document.querySelector(\"#dlg_textarea\").value);\r\n\r\n const f_options = {\r\n method: 'post',\r\n headers: {\r\n 'Content-Type': 'application/json; charset=utf-8'\r\n },\r\n body: JSON.stringify({\r\n answers: answers.join(\",\")\r\n })\r\n };\r\n\r\n fetch(this.props.urlSite + '/filewriter/server.js', f_options).catch(err => {\r\n console.error('Request failed', err)\r\n });\r\n\r\n this.props.onClick('feedback_2');\r\n }\r\n }\r\n render() {\r\n //clear state each time the Feedback button is selected\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
We value your feedback!
\r\n
this.props.onClick(null)}>X
\r\n
\r\n
\r\n
\r\n
\r\n {this.state.data.map((question, index) => this.selectChoice(index, selected)}>)}\r\n
\r\n
Please share any additional feedback
\r\n \r\n
\r\n
this.saveFeedback()}>SUBMIT
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport class FeedbackDialog_2 extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
Contact MTS Technical Support
\r\n
this.props.onClick(null)}>X
\r\n
\r\n
\r\n
\r\n

Thank you for your input!

\r\n

Your input will be used to improve the 3D Studio tool and customer experience.

\r\n
\r\n
this.props.onClick(null)}>CLOSE
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass FeedbackQuestion extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n //create ten choices\r\n var choices = [];\r\n for(var i = 1; i <= 10; i++){\r\n choices.push({num: i});\r\n }\r\n return (\r\n
\r\n
{this.props.question.label}
\r\n
\r\n {choices.map((choice, index) => this.props.onClick(selected)}>)}\r\n
\r\n
Not At All Satisfied
\r\n
Extremely Satisfied
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass FeedbackChoice extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
this.props.onClick(this.props.choice.num)}>{this.props.choice.num}
\r\n );\r\n }\r\n}\r\n\r\nexport class HelpDialog_1 extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
Frequently Asked Questions
\r\n
this.props.onClick(null)}>X
\r\n
\r\n
\r\n
\r\n

\r\n Q) I have problems with the Image Previewer showing my Model or accessing content.
\r\n A) Try a different Browser, it is most likely with a specific issue of your computer setup.
\r\n

\r\n

\r\n Q) The Image Previewer shows scroll bars or the screen flickers.
\r\n A) Try zooming in or out, changing window size or changing resolution. Also try another browser, it may be again an issue with your computer setup.
\r\n

\r\n Q) Will MTS be adding other key products to MTS 3D Design Studio?
\r\n A) MTS will continue to add new products to the site as they become available.
\r\n

\r\n

\r\n Q) I can't find the product option I am looking for. What do I do?
\r\n A) Use the \"Request Custom Option\" button to contact MTS.
\r\n

\r\n

\r\n Q) I can't get 3D Design Studio to work on my mobile device. What do I do?
\r\n A) MTS is still developing 3D Studio to work for mobile devices. Until the mobile version is released, MTS recommends using a desktop or laptop.
\r\n

\r\n

\r\n Q) I submitted a \"Request for Quote\" request. How soon should I expect a response from MTS?
\r\n A) A MTS Sales person will be contacting you within 24 hours.
\r\n

\r\n

\r\n Q) I submitted a CAD request or Save Action, but have not received an email. What do I do?
\r\n A) An email should arrive in your inbox within 5 minutes. Please check your spam or junk folder.
\r\n

\r\n\r\n
\r\n

\r\n Need More Help?
\r\n this.props.onClick('help_2')}>Contact MTS Support.\r\n

\r\n
this.props.onClick(null)}>CLOSE
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport class HelpDialog_2 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: null\r\n };\r\n }\r\n componentDidMount() { //after render\r\n document.querySelector(\".dlg_dropdown\").addEventListener(\"change\", this.hideError, false);\r\n }\r\n componentWillUnmount() {\r\n document.querySelector(\".dlg_dropdown\").removeEventListener(\"change\", this.hideError, false);\r\n }\r\n validateInput() {\r\n var valid = true;\r\n var error_msg = null;\r\n var dropdown = document.querySelector(\".dlg_dropdown\");\r\n var input = document.querySelector(\".dlg_input_text\");\r\n if(dropdown.value == 0){\r\n valid = false;\r\n error_msg = \"Please select a option from the list above\";\r\n }else if(dropdown.value == 7 && input.value.trim() == \"\"){\r\n valid = false;\r\n error_msg = \"Please describe your problem in the text box above\";\r\n }\r\n\r\n this.setState({\r\n error: error_msg\r\n });\r\n\r\n if(valid){\r\n var html = \"\";\r\n html+=\"
Name: \" + this.props.customer.firstName + \" \" + this.props.customer.lastName + \"
\";\r\n html+=\"
Email: \" + this.props.customer.email + \"
\";\r\n html+=\"
Phone: \" + this.props.customer.phone + \"
\";\r\n html+=\"
Type: \" + dropdown.options[dropdown.value].innerHTML + \"
\";\r\n html+=\"
Question/Comment: \" + input.value + \"
\" ;\r\n\r\n //call email webservice\r\n const options = {\r\n method: 'post',\r\n headers: {\r\n 'Content-Type': 'application/json; charset=utf-8'\r\n },\r\n body: JSON.stringify({\r\n mailfrom: \"MTS 3D Studio \",\r\n mailto: \"tom.owens@mts.com, jim.hennen@mts.com\", //Design_studio@mts.com\r\n subject: \"User Help Request\",\r\n header: \"User Help Request\",\r\n subtitle: \"Help request by a 3D Studio user\",\r\n html: html\r\n })\r\n };\r\n\r\n fetch(this.props.urlSite + '/nodemailer/server.js', options).catch(err => {\r\n console.error('Request failed', err)\r\n });\r\n\r\n this.props.onClick('help_3');\r\n }\r\n }\r\n hideError = () => {\r\n this.setState({\r\n error: null\r\n });\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
Contact MTS Technical Support
\r\n
this.props.onClick(null)}>X
\r\n
\r\n
\r\n
\r\n

Please tell us how we can help.

\r\n I need help with . . .\r\n \r\n Comments:\r\n \r\n
{this.state.error}
\r\n
\r\n
this.validateInput()}>SUBMIT
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport class HelpDialog_3 extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
Contact MTS Technical Support
\r\n
this.props.onClick(null)}>X
\r\n
\r\n
\r\n
\r\n

Your help request has been received.

\r\n

Your help request will be forwarded to an MTS representative. The support representative will contact you using the information you provided.

\r\n

MTS support is available Monday thru Friday (excluding holidays) 8 am - 6 pm CST. You will receive a response within three business hours of your submission.

\r\n

If you have any questions or concerns, please call MTS at: 800-328-2255.

\r\n
\r\n
this.props.onClick(null)}>CLOSE
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport class Popup_Message extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
Message from 3D Studio
\r\n
this.props.onClick(null)}>X
\r\n
\r\n
\r\n
\r\n

Welcome to 3D Studio.

\r\n

This site uses popups which some browsers block by default. Please enable popups to get the full 3D Studio experience.

\r\n
\r\n
this.props.onClick(null)}>CONTINUE
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, {Component} from 'react';\r\n//import { BrowserRouter as Router, Link, Route } from 'react-router-dom';\r\n//import ReactGA from 'react-ga'; //Google Analytics\r\nimport Middle from './Middle.js';\r\nimport CustomerDialog from './dialogs/CustomerDialogs.js';\r\nimport SaveDialog from './dialogs/SaveDialogs.js';\r\nimport QuoteDialog from './dialogs/QuoteDialogs.js';\r\nimport LoadingDialog from './dialogs/LoadingDialogs.js';\r\nimport RestartDialog from './dialogs/RestartDialogs.js';\r\nimport OptionHelpDialog from './dialogs/OptionHelpDialogs.js';\r\nimport {PrintDialog, PrintErrorDialog} from './dialogs/PrintDialogs.js';\r\n//import PDFDialog from './dialogs/PDFDialogs.js';\r\nimport PDFPrintDialog from './dialogs/PDFPrintDialogs.js';\r\nimport {CustomDialog_1, CustomDialog_2} from './dialogs/CustomDialogs.js';\r\nimport {ExportDialog_1, ExportDialog_2} from './dialogs/ExportDialogs.js';\r\nimport {FeedbackDialog_1, FeedbackDialog_2, HelpDialog_1, HelpDialog_2, HelpDialog_3, Popup_Message} from './dialogs/HelpDialogs.js';\r\nimport data from './data.json'; //base data\r\nimport lookups from './lookups.json'; //lookup tables for all the possible choices\r\nimport mapping from './mapping.json'; //various choice permutations based on system pressure and model number\r\nimport swoosh from'./swoosh.jpg';\r\nimport TagManager from 'react-gtm-module';\r\nimport './App.min.css';\r\n\r\nclass App extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: null, //configuration data\r\n customerPDF: null, //the pdf to be displayed\r\n currentDialog: 'loading', //the dialog to be displayed\r\n currentOptionHelp: null, //the option help to be displayed\r\n customerInfo: null, //customer information\r\n showCustInfo: false, //should the customer info dialog be displayed?\r\n url: \"\" //driveworks url for iframe\r\n };\r\n\r\n var DEV = false;\r\n\r\n //handlebars tokens for deployment\r\n this.urlSite = \"https://3dstudio.mts.com\";\r\n this.urlDW = \"https://dw.3dstudio.mts.com\";\r\n this.urlDW2 = \"https://dw2.3dstudio.mts.com\";\r\n\r\n if(DEV){\r\n this.urlSite = \"https://3dstudio-dev.mts.com\";\r\n this.urlDW = \"https://dw.3dstudio-dev.mts.com\";\r\n this.urlDW2 = \"https://dw2.3dstudio-dev.mts.com\";\r\n }\r\n\r\n //Google Analytics Tag Manager\r\n const tagManagerArgs = {gtmId: 'GTM-TCGPQCW'};\r\n TagManager.initialize(tagManagerArgs);\r\n }\r\n componentWillMount(){ //before render\r\n //parse query string determine actuator\r\n var a = parseInt(this.querystring(\"a\")[0]); //get actuator querystring parameter\r\n data.actuator = (!isNaN(a) && a >= 0 && a < data.actuators.length) ? a : 0; //make sure the querystring parameter is valid, add to data\r\n //parse query string determine starting values of options choice\r\n //while we're looping, build a portion of the iframe url (set option to default if no querystring value)\r\n var url = this.urlDW + \"/Integration?run=MTS_244_Sales_UI\";\r\n var newData = data.actuators[data.actuator];\r\n for(var i = 0; i < newData.parameters.length; i++){\r\n var qs_val = this.querystring(newData.parameters[i].saveVar)[0];\r\n if(qs_val){\r\n newData.parameters[i].choice = qs_val;\r\n url+= \"&\" + newData.parameters[i].dwVar + \"=\" + (parseInt(newData.parameters[i].choice) + 1); //+1 - driveworks collection indexes start at 1\r\n }else{\r\n url+= \"&\" + newData.parameters[i].dwVar + \"=\" + 1; //set to default\r\n }\r\n }\r\n //update option mappings based on new choices\r\n for(var j = 0; j < newData.parameters.length; j++){\r\n var currData = this.choiceManager(newData, j, newData.parameters[j].choice);\r\n newData = currData;\r\n }\r\n\r\n this.setState({\r\n data: newData,\r\n url: url\r\n })\r\n }\r\n componentDidMount() { //after render\r\n\r\n //close menu if screen is clicked. Doesn't work on iframe\r\n var scope = this;\r\n document.addEventListener('click', function (e) {\r\n var target = e.target;\r\n if(\r\n target.className != \"opt_label\" &&\r\n target.className != \"opt_select\" &&\r\n target.className != \"fas fa-angle-right\"\r\n ){\r\n var newData = scope.state.data;\r\n for(var i=0; i < newData.parameters.length; i++){\r\n newData.parameters[i].hilited = false;\r\n }\r\n scope.setState({\r\n data: newData\r\n })\r\n }\r\n });\r\n setTimeout(this.hideSpinner, 30000);\r\n }\r\n componentWillUnmount() {\r\n }\r\n\r\n closeCookieDialog = () => {\r\n var cookies = document.getElementById(\"cookies\");\r\n cookies.parentNode.removeChild(cookies);\r\n }\r\n\r\n displayDialog = (type) => {\r\n //display customer info dialog just once\r\n if(type && this.state.showCustInfo && !this.state.customerInfo){\r\n return this.saveCustomer(dialog, customer)} />\r\n //}else if(type == 'print'){\r\n //special case for print\r\n //console.log(\"joe\");\r\n }else{\r\n switch (type) {\r\n case 'export_1':\r\n return this.setState({currentDialog: dialog})} />\r\n break;\r\n case 'export_2':\r\n return this.setState({currentDialog: dialog})} />\r\n break;\r\n\r\n case 'save':\r\n return this.setState({ currentDialog: dialog })} />\r\n break;\r\n\r\n //case 'save':\r\n //return this.setState({currentDialog: dialog})} />\r\n //break;\r\n\r\n case 'quote':\r\n return this.setState({currentDialog: dialog})} />\r\n break;\r\n case 'feedback_1':\r\n return this.setState({currentDialog: dialog})} />\r\n break;\r\n case 'feedback_2':\r\n return this.setState({currentDialog: dialog})} />\r\n break;\r\n case 'help_1':\r\n return this.setState({currentDialog: dialog, showCustInfo: true})} /> //show customer info dialog mid stream\r\n break;\r\n case 'help_2':\r\n return this.setState({currentDialog: dialog})} />\r\n break;\r\n case 'help_3':\r\n return this.setState({currentDialog: dialog})} />\r\n break;\r\n case 'custom_1':\r\n return this.setState({currentDialog: dialog})} />\r\n break;\r\n case 'custom_2':\r\n return this.setState({currentDialog: dialog})} />\r\n break;\r\n case 'restart':\r\n return this.restartDesign(save)} />\r\n break;\r\n case 'option_help':\r\n return this.setState({currentDialog: dialog})} />\r\n break;\r\n case 'print':\r\n return this.setState({currentDialog: dialog})} />\r\n break;\r\n case 'loading':\r\n return \r\n break;\r\n //case 'print':\r\n //return this.setState({currentDialog: dialog})} />\r\n //break;\r\n //case 'pdf':\r\n //return this.setState({currentDialog: dialog})} />\r\n //break;\r\n //case 'print_error':\r\n //return this.setState({currentDialog: dialog})} />\r\n //break;\r\n //case 'popup':\r\n //return this.setState({currentDialog: dialog})} />\r\n //break;\r\n }\r\n }\r\n }\r\n set3dView(view){\r\n var dwIframe = document.getElementById(\"dwIframe\").contentWindow;\r\n dwIframe.postMessage(\"run=MTS_244_Sales_UI&ViewAngle=\" + view, this.urlDW);\r\n }\r\n saveCustomer(dialog, customer){\r\n this.setState({\r\n currentDialog: dialog,\r\n customerInfo: customer\r\n });\r\n var dwPost = [];\r\n dwPost.push(\"run=MTS_244_Sales_UI\");\r\n dwPost.push(\"CustFirstName=\" + customer.firstName);\r\n dwPost.push(\"CustLastName=\" + customer.lastName);\r\n dwPost.push(\"CustEmail=\" + customer.email);\r\n dwPost.push(\"CustCompany=\" + customer.company);\r\n dwPost.push(\"CustPhone=\" + customer.phone);\r\n dwPost.push(\"CustCountry=\" + customer.country);\r\n dwPost.push(\"CustProject=\" + customer.projectName);\r\n var dwIframe = document.getElementById(\"dwIframe\").contentWindow;\r\n dwIframe.postMessage(dwPost.join(\"&\"), this.urlDW);\r\n }\r\n restartDesign(save){\r\n if(save){\r\n var dwPost = [];\r\n var newData = this.state.data;\r\n //reset choice and create querystring for postmessage\r\n dwPost.push(\"run=MTS_244_Sales_UI\");\r\n for(var i = 0; i < newData.parameters.length; i++){\r\n var dwVar = newData.parameters[i].dwVar;\r\n dwPost.push(dwVar + \"=\" + 0);\r\n newData.parameters[i].choice = 0;\r\n }\r\n //reset choices map\r\n for(var j = 0; j < newData.parameters.length; j++){\r\n var currData = this.choiceManager(newData, j, newData.parameters[j].choice);\r\n newData = currData;\r\n }\r\n //set state\r\n this.setState({\r\n data: newData,\r\n currentDialog: null\r\n });\r\n //update driveworks\r\n var dwIframe = document.getElementById(\"dwIframe\").contentWindow;\r\n dwIframe.postMessage(dwPost.join(\"&\"), this.urlDW);\r\n }else{\r\n this.setState({\r\n currentDialog: null\r\n });\r\n }\r\n }\r\n showOptions(optionIndex, type, choiceIndex){\r\n switch(type) {\r\n case \"help\":\r\n this.setState({\r\n showCustInfo: false,\r\n currentOptionHelp: optionIndex,\r\n currentDialog: 'option_help'\r\n });\r\n break;\r\n case \"choice\":\r\n //get choice mappings\r\n var currData = this.choiceManager(this.state.data, optionIndex, choiceIndex, true);\r\n\r\n this.setState({\r\n data: currData\r\n });\r\n\r\n if(optionIndex == 1){\r\n //wait ten seconds if option = Model Number\r\n this.setState({\r\n showCustInfo: false,\r\n currentDialog: 'loading'\r\n });\r\n setTimeout(this.hideSpinner, 30000);\r\n }\r\n\r\n var dwIframe = document.getElementById(\"dwIframe\").contentWindow;\r\n\r\n //send postMessage to iframe updating all the left menu parameters\r\n var dwPost = [];\r\n dwPost.push(\"run=MTS_244_Sales_UI\");\r\n for(var i = 0; i < currData.parameters.length; i++){\r\n var dwVar = currData.parameters[i].dwVar;\r\n var dwChoice = currData.parameters[i].choice;\r\n dwPost.push(dwVar + \"=\" + (dwChoice + 1));\r\n }\r\n \t\t dwIframe.postMessage(dwPost.join(\"&\"), this.urlDW);\r\n console.log(this.dwPost);\r\n break;\r\n case \"option\":\r\n //hilite choice. if choice is already hilited then unhilite\r\n var currData = this.state.data;\r\n var addHilite = !currData.parameters[optionIndex].hilited;\r\n for(var i = 0; i < currData.parameters.length; i++){\r\n currData.parameters[i].hilited = false;\r\n }\r\n if(addHilite){\r\n currData.parameters[optionIndex].hilited = true;\r\n }\r\n this.setState({\r\n data: currData\r\n });\r\n case \"remove\":\r\n //remove option. if option is 'none', remove menu item\r\n var currData = this.state.data;\r\n var removeOption = !currData.parameters[optionIndex].none;\r\n for(var i = 0; i < currData.parameters.length; i++){\r\n currData.parameters[i].remove = false;\r\n }\r\n this.setState({\r\n data: currData\r\n });\r\n }\r\n }\r\n hideSpinner = () =>{\r\n this.setState({\r\n currentDialog: null\r\n });\r\n }\r\n lookupChoices(optionIndex, map){\r\n //returns array of choices using the mapping tables\r\n //based on the option index and the map\r\n var choices = [];\r\n var mapArray = map.split(\",\");\r\n if(mapArray[0] == \"all\"){\r\n choices = lookups.options[optionIndex].choices;\r\n }else{\r\n for(var i = 0; i < mapArray.length; i++){\r\n choices.push(lookups.options[optionIndex].choices[mapArray[i]]);\r\n }\r\n }\r\n return choices;\r\n }\r\n choiceManager(currData, optionIndex, choiceIndex, userClick){\r\n //returns state data with correct choice mappings based on option and choice\r\n //if build is true skip the searching f\r\n var systemPressure = (optionIndex == 0 ? choiceIndex : currData.parameters[0].choice);\r\n var modelNumber = (optionIndex == 1 ? choiceIndex : currData.parameters[1].choice);\r\n\r\n currData.parameters[optionIndex].choice = choiceIndex;\r\n currData.parameters[optionIndex].hilited = false;\r\n\r\n //update the choices mapping except for system pressure and model number\r\n for (var i = 2; i < currData.parameters.length; i++){\r\n var map_old = currData.parameters[i].choices;\r\n var map_new = mapping.childs[systemPressure].childs[modelNumber].childs[i-2].map;\r\n var oldChoice = currData.parameters[i].choice;\r\n var oldChoices = this.lookupChoices(i, map_old);\r\n var newChoices = this.lookupChoices(i, map_new);\r\n var oldTitle = oldChoices[oldChoice] ? oldChoices[oldChoice].title : null;\r\n currData.parameters[i].choices = map_new;\r\n\r\n //determine if the FIRST SHUTOFF should have choices\r\n if(i==8){\r\n var firstServo = (optionIndex == 7 ? choiceIndex : currData.parameters[7].choice);\r\n var firstServoMap = currData.parameters[7].choices;\r\n var firstServoChoices = this.lookupChoices(7, firstServoMap);\r\n var firstServoTitle = firstServoChoices[firstServo].title;\r\n if(\r\n firstServoTitle == \"256.05A-01 - 190 lpm (50 gpm) Main, 3.8 lpm (1gpm) Pilot\" ||\r\n firstServoTitle == \"256.09A-01 - 341 lpm (90 gpm) Main, 3.8 lpm (1gpm) Pilot\" ||\r\n firstServoTitle == \"256.04A-01 - 151 lpm (40 gpm) Main, 3.8 lpm (1gpm) Pilot\" ||\r\n firstServoTitle == \"252.36 - 85 lpm (22.5 gpm)\" ||\r\n firstServoTitle == \"252.37 - 136 lpm (36 gpm)\" ||\r\n firstServoTitle == \"252.38 - 204 lpm (54 gpm)\" ||\r\n firstServoTitle == \"No Servovalve - Single 252.3x Manifold Only\" ||\r\n firstServoTitle == \"No Servovalve - No Manifold\" ||\r\n firstServoTitle == \"No Servovalve - Dual 252.2X Manifold Only\" ||\r\n firstServoTitle == \"No Servovalve - Single 256.04 Manifold Only, No Accumulation\" ||\r\n firstServoTitle == \"No Servovalve - Single 256.05/09 Manifold Only, No Accumulation\"\r\n ){\r\n currData.parameters[8].choices = \"0\";\r\n newChoices = this.lookupChoices(8, \"0\");\r\n }\r\n }\r\n\r\n //determine if the CLOSED COUPLED ACCUMULATORS should have choices\r\n if(i==9){\r\n var firstServo = (optionIndex == 7 ? choiceIndex : currData.parameters[7].choice);\r\n var firstServoMap = currData.parameters[7].choices;\r\n var firstServoChoices = this.lookupChoices(7, firstServoMap);\r\n var firstServoTitle = firstServoChoices[firstServo].title;\r\n if(\r\n firstServoTitle != \"256.05A-01 - 190 lpm (50 gpm) Main, 3.8 lpm (1gpm) Pilot\" &&\r\n firstServoTitle != \"256.09A-01 - 341 lpm (90 gpm) Main, 3.8 lpm (1gpm) Pilot\"\r\n ){\r\n if(firstServoTitle != \"256.04A-01 - 151 lpm (40 gpm) Main, 3.8 lpm (1gpm) Pilot\"){\r\n currData.parameters[9].choices = \"0\";\r\n newChoices = this.lookupChoices(9, \"0\");\r\n }else{\r\n currData.parameters[9].choices = \"0,1\";\r\n newChoices = this.lookupChoices(9, \"0,1\");\r\n }\r\n }\r\n }\r\n\r\n //determine if the ACCUMULATION CERTIFICATION should have choices\r\n if(i==10){\r\n var ccAccumulator = (optionIndex == 9 ? choiceIndex : currData.parameters[9].choice);\r\n var ccAccumulatorMap = currData.parameters[9].choices;\r\n var ccAccumulatorChoices = this.lookupChoices(9, ccAccumulatorMap);\r\n var ccAccumulatorTitle = ccAccumulatorChoices[ccAccumulator].title;\r\n if(ccAccumulatorTitle == \"None\"){\r\n currData.parameters[10].choices = \"5\";\r\n newChoices = this.lookupChoices(10, \"5\");\r\n };\r\n }\r\n\r\n //determine if the DELTAP STABILIZATION should have choices\r\n if(i==11){\r\n var firstServo = (optionIndex == 7 ? choiceIndex : currData.parameters[7].choice);\r\n var firstServoMap = currData.parameters[7].choices;\r\n var firstServoChoices = this.lookupChoices(7, firstServoMap);\r\n var firstServoTitle = firstServoChoices[firstServo].title;\r\n if(\r\n firstServoTitle != \"256.05A-01 - 190 lpm (50 gpm) Main, 3.8 lpm (1gpm) Pilot\" &&\r\n firstServoTitle != \"256.09A-01 - 341 lpm (90 gpm) Main, 3.8 lpm (1gpm) Pilot\" &&\r\n firstServoTitle != \"256.04A-01 - 151 lpm (40 gpm) Main, 3.8 lpm (1gpm) Pilot\"\r\n ){\r\n currData.parameters[11].choices = \"0\";\r\n newChoices = this.lookupChoices(11, \"0\");\r\n }\r\n }\r\n\r\n //determine if the SECOND SERVOVALVE should have choices\r\n if(i==12){\r\n var firstServo = (optionIndex == 7 ? choiceIndex : currData.parameters[7].choice);\r\n var firstServoMap = currData.parameters[7].choices;\r\n var firstServoChoices = this.lookupChoices(7, firstServoMap);\r\n var firstServoTitle = firstServoChoices[firstServo].title;\r\n if(\r\n firstServoTitle != \"252.21 - 3.8 lpm (1 gpm)\" &&\r\n firstServoTitle != \"252.22 - 9.5 lpm (2.5 gpm)\" &&\r\n firstServoTitle != \"252.23 - 18.9 lpm (5 gpm)\" &&\r\n firstServoTitle != \"252.24 - 37.9 lpm (10 gpm)\" &&\r\n firstServoTitle != \"252.25 - 56.8 lpm (15 gpm)\" &&\r\n firstServoTitle != \"252.26 - 62.8 lpm (16.6 gpm)\"\r\n ){\r\n currData.parameters[12].choices = \"7\";\r\n newChoices = this.lookupChoices(12, \"7\");\r\n }\r\n }\r\n\r\n //determine if the SECOND SHUTOFF should have choices\r\n if(i==13){\r\n var firstServo = (optionIndex == 7 ? choiceIndex : currData.parameters[7].choice);\r\n var firstServoMap = currData.parameters[7].choices;\r\n var firstServoChoices = this.lookupChoices(7, firstServoMap);\r\n var firstServoTitle = firstServoChoices[firstServo].title;\r\n if(\r\n firstServoTitle == \"252.36 - 85 lpm (22.5 gpm)\" ||\r\n firstServoTitle == \"252.37 - 136 lpm (36 gpm)\" ||\r\n firstServoTitle == \"252.38 - 204 lpm (54 gpm)\" ||\r\n firstServoTitle == \"256.05A-01 - 190 lpm (50 gpm) Main, 3.8 lpm (1gpm) Pilot\" ||\r\n firstServoTitle == \"256.09A-01 - 341 lpm (90 gpm) Main, 3.8 lpm (1gpm) Pilot\" ||\r\n firstServoTitle == \"256.04A-01 - 151 lpm (40 gpm) Main, 3.8 lpm (1gpm) Pilot\" ||\r\n firstServoTitle == \"No Servovalve - No Manifold\" ||\r\n firstServoTitle == \"No Servovalve - Dual 252.2X Manifold Only\" ||\r\n firstServoTitle == \"No Servovalve - Single 252.3x Manifold Only\" ||\r\n firstServoTitle == \"No Servovalve - Single 256.04 Manifold Only, No Accumulation\" ||\r\n firstServoTitle == \"No Servovalve - Single 256.05/09 Manifold Only, No Accumulation\"\r\n ){\r\n currData.parameters[13].choices = \"0\";\r\n newChoices = this.lookupChoices(13, \"0\");\r\n }\r\n }\r\n\r\n //if userClick see if the choice existed previously and hilite it\r\n //otherwise set choice to zero\r\n if(userClick && i != optionIndex){\r\n currData.parameters[i].choice = 0;\r\n for(var j = 0; j < newChoices.length; j++){\r\n var newTitle = newChoices[j].title;\r\n if(newTitle == oldTitle){\r\n currData.parameters[i].choice = j;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return currData;\r\n }\r\n showPopup(url, width, height){\r\n var leftPos = (window.screen.width / 2) - 251;\r\n var topPos = (window.screen.height / 2) - 462;\r\n var popup = window.open(url, \"_blank\", \"toolbar=yes,scrollbars=yes,resizable=yes,width=\" + width + \",height=\" + height + \",top=\" + topPos + \",left=\" + leftPos);\r\n if(popup == null){\r\n return(false);\r\n }\r\n return (true);\r\n }\r\n querystring(key) {\r\n //utility to parse querystrings to an object collection\r\n var re=new RegExp('(?:\\\\?|&)'+key+'=(.*?)(?=&|$)','gi');\r\n var r=[], m;\r\n while ((m=re.exec(document.location.search)) != null) r[r.length]=m[1];\r\n return r;\r\n }\r\n render() {\r\n var swooshStyle = {\r\n backgroundImage: `url(${swoosh})`,\r\n backgroundRepeat: 'no-repeat',\r\n backgroundSize: '58em 6em'\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n 3D DESIGN STUDIO\r\n
\r\n
\r\n
this.setState({currentDialog: 'print', showCustInfo: true})}>\r\n \r\n
PRINT
\r\n
\r\n
this.setState({currentDialog: 'export_1', showCustInfo: true})}>\r\n \r\n
DOWNLOAD CAD
\r\n
\r\n
\r\n this.setState({ currentDialog: 'save', showCustInfo: true })}>\r\n \r\n
SAVE
\r\n
\r\n
\r\n
\r\n
\r\n
{this.state.data.title + \" Actuator\"}
\r\n {/*
this.setState({currentDialog: 'pdf', currentPDF: \"http://www.discerncx.com/mts_react/configurator/pdfs/201G2_Condensed_More_Info.pdf\", showCustInfo: false})}>More Information
*/}\r\n {/**/}\r\n
this.showPopup(\"pdfs/244_Brochure.pdf\", 600, 750)}> SPECIFICATIONS
\r\n
this.setState({currentDialog: 'restart', showCustInfo: false})}>\r\n Restart Design \r\n \r\n
\r\n
\r\n
\r\n
\r\n this.showOptions(index, type, choiceIndex)}>\r\n
\r\n
this.setState({currentDialog: 'custom_1', showCustInfo: true})}>REQUEST CUSTOM OPTIONS
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n  \r\n \r\n \r\n  \r\n \r\n \r\n  \r\n \r\n \r\n
\r\n
\r\n
\r\n
this.setState({currentDialog: 'quote', showCustInfo: true})}> REQUEST A QUOTE
\r\n
\r\n this.setState({currentDialog: 'help_1', showCustInfo: false})}>\r\n  HELP\r\n \r\n this.setState({currentDialog: 'feedback_1', showCustInfo: false})}>\r\n  FEEDBACK\r\n \r\n
\r\n
\r\n
\r\n
\r\n
2022 MTS System Corporation. All Rights Reserved. Privacy & Legal.
\r\n
\r\n We use cookies to enhance your experience, By continuing to use this site, you accept the use of cookies. \r\n Learn more. \r\n Close [X]\r\n
\r\n \r\n { this.displayDialog(this.state.currentDialog) }\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default App;\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://goo.gl/SC7cgQ'\r\n );\r\n });\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n\r\n // Execute callback\r\n if (config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import 'react-app-polyfill/ie11'; //Fetch in ie11\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './App.js';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: http://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","module.exports = __webpack_public_path__ + \"static/media/swoosh.5d059e66.jpg\";"],"sourceRoot":""}