{"version":3,"sources":["logo.svg","Product.js","ItemList.js","decal/Logo.js","decal/LogoList.js","ColorPattern.js","PMS.js","TextEditor/LogoText.js","ProductInfo.js","TextEditor/TextEdit.js","TextEditor/LogoTextList.js","PantoneColor.js","pattern/LogoPattern.js","sharing/sharing.js","App.js","serviceWorker.js","main.js","index.js"],"names":["module","exports","__webpack_require__","p","Product","_this","this","activeClass","props","active","react_default","a","createElement","className","onClick","src","img","alt","productName","typeName","description","Component","ProductList","_this2","Object","classCallCheck","possibleConstructorReturn","getPrototypeOf","call","state","key","setState","styles","activeIndex","listItem","map","model","index","_this3","Product_Product","Thumbnail","handleOnClick","TypeName","Name","ShortDescription","price","Price","style","id","Item","image","data-tip","tootltip","fontSize","title","root","width","slider","padding","marginBottom","track","height","borderRadius","thumb","backgroundColor","border","marginTop","marginLeft","boxShadow","&:focus, &:hover, &$active","color","Logo","handleChangeScale","event","value","scale","onScaleChanged","handleChangeRotate","rotate","onRotateChanged","dragStart","console","log","draggable","onDragStart","isNew","viewBox","fill","xmlns","d","subTitle","onClear","onDelete","fill-rule","clip-rule","Slider_default","onChange","min","max","step","LogoList","isLoaded","logos","items","isPattern","type","window","updateTheLogo","push","bind","assertThisInitialized","logoSelectionChanged","length","updateLogoSelect","url","URLSearchParams","location","search","has","fetch","backEnd","then","res","json","result","error","logoTarget","found","find","logo","Id","undefined","forceUpdate","i","e","x","Position","clearAllLogo","target","files","forEach","element","URL","createObjectURL","Scale","Rotate","file","IsPattern","_logos","unshift","updateLogoChange","splice","deleteLogo","clearLogo","_this4","isnew","Logo_Logo","handleOnScaleChanged","handleRotateChanged","handleOnDelete","handleOnClear","dist_default","Button_default","handleClearAll","name","accept","handleLogoFile","ColorPattern","updatePattern","patternLogo","colorIdx","patternIdx","patternScale","idx","onStyleChange","colors","data","classText","href","background","StyleColor","colorItemClick","paddingTop","index_es","itemsToShow","itemsToSroll","focusOnSelect","itemPadding","handleChangePatternScale","patternData","Patterns","patterns","pattern","_this5","data-toggle","PatternName","patternItemClick","PatternThumbnail","ThumbnailImg","_this6","addLogo","_this7","data-html","renderAddLogo","renderColors","renderPatterns","renderPatternLogo","PMS","selectedItem","r","g","b","rgb","onColorChanged","rgba","styleColor","txtStyle","LogoText","_Component","text","font","inherits","createClass","createHeaderToolbar","TextEdit","handleTextChange","onTextChange","onColorChange","textId","textPattern","Math","random","toString","substr","Color","Text","Font","IsText","onSubmit","evt","onClosed","placeholder","lib","onChangeComplete","handleColorChange","createText","LogoTextList","UpdateTheLogoText","updateTheLogoText","currentId","logoTexts","showTextEditor","textFontChanged","selectTextDecals","textDecal","findIndex","newFont","renderTextImage","txt","even","renderTextOnly","deleteLogoText","clearText","clearTexts","onOff","TextEdit_TextEdit","insertText","LogoText_LogoText","renderHeaderToolbar","renderTextEditor","PantoneColor","selectedColor","updateColor","clearColors","esm","forceRenderTabPanel","PMS_PMS","handlePMSChangeComplete","handleChangeComplete","LogoPattern","patternHandling","selectedPattern","clearAllPattern","mesh","handleAddNewFile","Sharing","isClosed","Date","getTime","link","copyMessage","percent","isFinished","sharedData","product","getProductId","getDecals","texts","getTexts","textures","getTextures","getColors","_data","JSON","stringify","formData","FormData","append","request","XMLHttpRequest","open","onreadystatechange","currentTarget","readyState","status","responseText","startsWith","origin","onFinished","send","uploadLogo","uploadPattern","createSharedLink","percentCal","patternFile","updatedTexture","decals","copyToClipboard","copyLinkToMem","aria-hidden","clip-path","renderCopyLink","App","menuActive","isShowMenu","isShowMenuToolbar","isShowProduct","isShowSharing","productIdx","products","urlParams","loadSharingProduct","get","productsId","Products","handleProductClick","errorLoad","decal","_products","restoreDecals","modelDecals","productId","handleStyleClick","toolbarActive","loadProduct","fabricIdx","handleOnOffMenu","LogoList_LogoList","handleLogoClick","styleName","LogoTextList_LogoTextList","LogoPattern_LogoPattern","PantoneColor_PantoneColor","Description","handleSharingOnOff","handleProductOnOff","renderBtnProductOnOff","onDrop","drop","onDragOver","allowDrop","renderProductInfor","menuActiveClone","enableChangeColor","productShow","_this8","_this9","_this10","setMenuActive","renderContentLeft","isShow","_this11","renderProductListHeader","Product_ProductList","renderDecorationEditing","renderToolbar","renderContentRight","sharing_Sharing","_this12","Boolean","hostname","match","ReactDOM","render","src_App_0","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.874042f5.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo.5d5d9eef.svg\";","import React, { Component } from 'react';\r\n\r\nclass Product extends Component\r\n{\r\n render()\r\n {\r\n const activeClass = this.props.active?\"productcard active\":\"productcard\";\r\n return(\r\n
this.props.onClick()}>\r\n\t\t\t\t\t\t\t\t\t\"Product\r\n
\r\n

{this.props.productName}

\r\n {this.props.typeName}\r\n

{this.props.description}

\r\n
\r\n\t\t\t\t\t\t\t\t
\r\n );\r\n }\r\n}\r\n\r\n\r\nexport default class ProductList extends Component\r\n{\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n active: 0,\r\n };\r\n }\r\n\r\n handleOnClick(key)\r\n {\r\n this.setState({active:key});\r\n if(this.props.onClick != null)\r\n {\r\n this.props.onClick(key);\r\n }\r\n }\r\n\r\n\r\n render()\r\n {\r\n \r\n let styles = this.props.styles; \r\n \r\n let activeIndex = this.state.active;\r\n \r\n var listItem = styles.map(function(model,index)\r\n {\r\n return this.handleOnClick(index)} \r\n typeName={model.TypeName} \r\n productName={model.Name} \r\n description={model.ShortDescription}\r\n price={model.Price}\r\n key={index}\r\n active={activeIndex === index}\r\n >\r\n \r\n },this);\r\n let style =\"products scrollbar_1\";\r\n if(this.props.active===false)\r\n {\r\n style=\"hidden\";\r\n }\r\n return(\r\n
\r\n {\r\n listItem\r\n }\r\n \r\n\t\t\t
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport ReactTooltip from 'react-tooltip'\r\n\r\nclass Item extends Component\r\n{\r\n render()\r\n {\r\n const activeClass = this.props.active?\"active item\":\"item\";\r\n \r\n return(\r\n
this.props.onClick()}>\r\n \r\n

\r\n {this.props.title}\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\nexport default class ItemList extends Component\r\n{\r\n constructor(props)\r\n {\r\n super(props);\r\n this.state = {\r\n activeIndex:0\r\n };\r\n }\r\n \r\n handleClick(index)\r\n {\r\n this.setState({activeIndex:index});\r\n if(this.props.onClick != null)\r\n {\r\n this.props.onClick(index);\r\n }\r\n }\r\n\r\n render()\r\n {\r\n var index = this.state.activeIndex;\r\n\r\n var itemList = this.props.items.map(\r\n function(item,key)\r\n {\r\n return(\r\n this.handleClick(key)}>\r\n );\r\n },this);\r\n \r\n return(\r\n
  • \r\n {itemList} \r\n \r\n
  • \r\n );\r\n\r\n }\r\n}","import React, { Component } from 'react';\r\nimport Slider from '@material-ui/lab/Slider';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport Button from '@material-ui/core/Button';\r\nimport { Grid, Step } from '@material-ui/core';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport ReactTooltip from 'react-tooltip'\r\n\r\n\r\nconst styles = {\r\n root: {\r\n width: 300,\r\n },\r\n slider: {\r\n padding: '10px',\r\n marginBottom:'10px'\r\n },\r\n track: {\r\n height: 4,\r\n borderRadius: 2,\r\n},\r\nthumb: {\r\n height: 20,\r\n width: 20,\r\n backgroundColor: \"#fff\",\r\n border: \"1px solid currentColor\",\r\n marginTop: -9,\r\n marginLeft: -11,\r\n boxShadow: \"#ebebeb 0 2px 2px\",\r\n \"&:focus, &:hover, &$active\": {\r\n boxShadow: \"#ccc 0 2px 3px 1px\",\r\n },\r\n color: \"#fff\",\r\n},\r\n};\r\n \r\n\r\n\r\nexport default class Logo extends Component\r\n{\r\n \r\n \r\n constructor(props)\r\n {\r\n super(props);\r\n this.state=\r\n {\r\n scale:props.scale,\r\n rotate:props.rotate\r\n };\r\n \r\n }\r\n \r\n \r\n handleChangeScale = (event, value) => {\r\n this.setState({ scale:value });\r\n this.props.onScaleChanged(value);\r\n };\r\n handleChangeRotate = (event, value) => {\r\n this.setState({ rotate:value });\r\n this.props.onRotateChanged(value);\r\n };\r\n\r\n dragStart =(event)=>\r\n {\r\n console.log('darg Start');\r\n this.props.onClick();\r\n };\r\n\r\n render()\r\n {\r\n const activeClass = this.props.active?\"active logoCard \":\"logoCard \"; \r\n return(\r\n
    this.props.onClick()}>\r\n \r\n
    \r\n \"Productthis.dragStart(event)}/>\r\n
    \r\n
    \r\n \r\n {this.props.isNew?(\r\n
    \r\n

    {this.props.title}

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

    {this.props.subTitle}

    \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

    Scale {this.state.scale}

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

    Rotate {this.state.rotate} degrees

    \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\nimport React, { Component } from 'react';\r\nimport Logo from './Logo'\r\nimport Slider from '@material-ui/lab/Slider';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport Button from '@material-ui/core/Button';\r\nimport { Grid, Step } from '@material-ui/core';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport ReactTooltip from 'react-tooltip'\r\n\r\nexport default class LogoList extends Component\r\n{\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n active: -1,\r\n isLoaded:false,\r\n logos:this.props.items,\r\n isPattern:this.props.type===\"pattern\"\r\n };\r\n\r\n window.updateTheLogo.push(this.updateTheLogo.bind(this));\r\n window.logoSelectionChanged.push(this.logoSelectionChanged.bind(this));\r\n\r\n console.log(this.state.logos);\r\n if(this.state.logos != null)\r\n {\r\n if(this.state.logos.length >0)\r\n {\r\n window.updateLogoSelect(this.state.logos[0]);\r\n }\r\n }\r\n else{\r\n this.state.logos = [];\r\n }\r\n }\r\n\r\n componentDidMount()\r\n {\r\n let url =\"/umbraco/surface/products/GetAllPattern\";\r\n if(this.props.type==\"logo\")\r\n {\r\n url = \"/umbraco/surface/products/GetAllLogo\";\r\n }\r\n\r\n let urlParams = new URLSearchParams(window.location.search);\r\n if (urlParams.has('decal') === false) {\r\n fetch(window.backEnd+url)\r\n .then(res => res.json())\r\n .then(\r\n (result) => {\r\n this.setState({\r\n isLoaded: true,\r\n logos: result\r\n });\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n this.setState({\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n )\r\n }\r\n }\r\n\r\n\r\n updateTheLogo(logoTarget)\r\n { \r\n \r\n //if(logoTarget.IsPattern === false)\r\n {\r\n \r\n let found = this.state.logos.find(logo=>logo.Id === logoTarget.Id && logo.Thumbnail === logoTarget.Thumbnail)\r\n if(found == null || found === undefined)\r\n {\r\n //console.log(\"Not found\");\r\n return false;\r\n // this.state.logos.push(logoTarget);\r\n }\r\n else\r\n {\r\n console.log(\"found\" );\r\n console.log(found);\r\n }\r\n \r\n this.forceUpdate();\r\n return true;\r\n }\r\n }\r\n\r\n logoSelectionChanged(logo)\r\n { \r\n for(var i=0;ix.Position=null);\r\n window.clearAllLogo();\r\n this.setState({active:this.state.active});\r\n }\r\n\r\n handleLogoFile(e)\r\n {\r\n if(e.target !==null)\r\n {\r\n if(e.target.files.length >0)\r\n {\r\n var id=0;\r\n this.state.logos.forEach(element => {\r\n if(idthis.handleOnClick(index)} \r\n onScaleChanged={(value)=>this.handleOnScaleChanged(index,value)} \r\n onRotateChanged={(value)=>this.handleRotateChanged(index,value)}\r\n key={index}\r\n active={activeIndex === index}\r\n isNew={isnew}\r\n onDelete={()=>this.handleOnDelete(index)}\r\n onClear={()=>this.handleOnClear(index)}\r\n title={this.props.title}\r\n subTitle={this.props.subTitle}\r\n >\r\n \r\n },this);\r\n\r\n return(\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {listItem} \r\n
    \r\n
    \r\n + ADD NEW\r\n this.handleLogoFile(e)} value=\"\" /> \r\n
    \r\n\t\t\t
    \r\n );\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport Slider from '@material-ui/lab/Slider';\r\nimport Carousel from 'react-elastic-carousel'\r\n\r\n\r\nconst styles = {\r\n slider: {\r\n padding: '10px 0px',\r\n color: 'white'\r\n }\r\n };\r\n\r\n\r\n\r\n\r\nexport default class ColorPattern extends Component\r\n{\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n active: this.props.colorIdx,\r\n patternIdx:this.props.patternIdx,\r\n patternScale:50,\r\n patternLogo:[]\r\n };\r\n }\r\n\r\n componentDidMount()\r\n {\r\n fetch(window.backEnd+\"/umbraco/surface/products/GetAllPattern\")\r\n .then(res => res.json())\r\n .then(\r\n (result) => {\r\n this.setState({\r\n patternLogo: result\r\n });\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n this.setState({\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n );\r\n }\r\n\r\n\r\n handleChangePatternScale(scale)\r\n {\r\n this.setState({patternScale:scale});\r\n window.patternScale(scale);\r\n }\r\n\r\n colorItemClick(idx)\r\n {\r\n this.setState({active:idx, patternIdx:0});\r\n if(this.props.onStyleChange != null)\r\n {\r\n this.props.onStyleChange(idx,0);\r\n }\r\n }\r\n\r\n patternItemClick(idx)\r\n {\r\n this.setState({patternIdx:idx});\r\n if(this.props.onStyleChange != null)\r\n {\r\n this.props.onStyleChange(this.state.active,idx);\r\n \r\n }\r\n }\r\n\r\n renderColors()\r\n {\r\n var colors = this.props.data.map(function(color,index)\r\n {\r\n let classText =(index===this.state.active)?\"color-item color-active\":\"color-item\";\r\n return
    \r\n this.colorItemClick(index)}> \r\n
    \r\n },this);\r\n\r\n if(this.props.data.length<=3)\r\n {\r\n return
    \r\n {colors}\r\n
    \r\n }\r\n else \r\n {\r\n \r\n return
    \r\n \r\n {colors}\r\n \r\n
    \r\n }\r\n }\r\n\r\n renderPatternScale()\r\n {\r\n return
    \r\n Pattern Size\r\n this.handleChangePatternScale(value)} min={0} max={100} step={1} style={styles.slider}>\r\n
    \r\n }\r\n\r\n renderPatterns()\r\n {\r\n let patternData = this.props.data[this.state.active].Patterns;\r\n if(patternData == null || patternData.length ===0)\r\n {\r\n return
    \r\n }\r\n\r\n let patterns = patternData.map(function(pattern,index){\r\n let classText =(index===this.state.patternIdx)?\"color-item color-active\":\"color-item\";\r\n return
    \r\n this.patternItemClick(index)}>\r\n \r\n \r\n
    },this);\r\n\r\n if(patternData.length <=3)\r\n {\r\n return

    Pattern - {patternData[this.state.patternIdx].PatternName}

    {patterns}
    \r\n }\r\n else\r\n {\r\n return
    \r\n

    Pattern - {patternData[this.state.patternIdx].PatternName}

    \r\n \r\n {patterns}\r\n \r\n
    \r\n }\r\n }\r\n\r\n dragStart =(event,index)=>\r\n {\r\n window.updatePattern(this.state.patternLogo[index]);\r\n };\r\n\r\n addLogo(e)\r\n {\r\n if(e.target !==null)\r\n {\r\n if(e.target.files.length >0)\r\n {\r\n var id=0;\r\n this.state.patternLogo.forEach(element => {\r\n if(id\r\n \r\n this.addLogo(e)} value=\"\"/>\r\n \r\n \r\n \r\n\r\n \r\n \r\n }\r\n\r\n renderPatternLogo()\r\n {\r\n let patternData = this.state.patternLogo;\r\n if(patternData == null || patternData.length ===0)\r\n {\r\n return
    \r\n }\r\n\r\n let patterns = patternData.map(function(pattern,index){\r\n let classText =(index===this.state.patternIdx)?\"color-item color-active\":\"color-item\";\r\n return
    \r\n this.dragStart(event,index)} data-toggle=\"tooltip\" data-html=\"true\" title=\"Tooltip with HTML\">\r\n \r\n \r\n
    },this);\r\n patterns.push(this.renderAddLogo());\r\n\r\n return
    \r\n

    Drag-Drop onto the object for adding

    \r\n \r\n {patterns} \r\n \r\n
    \r\n \r\n }\r\n\r\n render()\r\n { \r\n if(this.props.data !=null)\r\n {\r\n\r\n return(\r\n
  • \r\n {this.renderColors()}\r\n {this.renderPatterns()} \r\n {this.renderPatternLogo()}\r\n \r\n\t\t\t\t
  • \r\n );\r\n }\r\n else\r\n {\r\n return(\r\n
  • \r\n );\r\n }\r\n \r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { blue } from '@material-ui/core/colors';\r\n\r\n\r\nexport default class PMS extends Component\r\n{\r\n constructor(props)\r\n {\r\n super(props);\r\n this.state=\r\n {\r\n active:-1,\r\n isLoaded:false,\r\n colors:null, \r\n };\r\n\r\n this.selectedItem = this.selectedItem.bind(this);\r\n \r\n }\r\n\r\n RGBToHex(r,g,b) {\r\n var color = {\r\n \"rgb\":{\r\n \"r\":r,\r\n \"g\":g,\r\n \"b\":b,\r\n \"a\":100\r\n }\r\n }\r\n return color;\r\n }\r\n\r\n componentDidMount()\r\n {\r\n \r\n if(this.state.isLoaded === true)\r\n return;\r\n console.log(\"Load PMS\");\r\n fetch(window.backEnd+\"/js/pms.json\")\r\n .then(res => res.json())\r\n .then(\r\n (result) => {\r\n this.setState({\r\n isLoaded: true,\r\n colors: result\r\n });\r\n });\r\n }\r\n\r\n selectedItem(idx)\r\n {\r\n var color = this.state.colors[idx]; \r\n this.props.onColorChanged(color.rgba);\r\n this.setState({active:idx});\r\n }\r\n\r\n \r\n\r\n render()\r\n {\r\n console.log(this.state.isLoaded);\r\n console.log(this.props.active);\r\n \r\n if(this.state.isLoaded && this.props.active==true)\r\n {\r\n \r\n let active = this.state.active;\r\n var listItem = this.state.colors.map(function(color,index)\r\n {\r\n var styleColor =\"rgba(\"+color.rgba[0]+\",\"+color.rgba[1]+\",\"+color.rgba[2]+\",\"+color.rgba[3]+\")\";\r\n \r\n var txtStyle=\"colorPantone\";\r\n\r\n if(active === index)\r\n {\r\n txtStyle =\"colorBorder colorPantone\";\r\n \r\n }\r\n return
    this.selectedItem(index)} >\r\n {color.name}\r\n
    \r\n }, this);\r\n return
    {listItem}
    \r\n }\r\n else\r\n {\r\n return
    \r\n }\r\n \r\n }\r\n}","import React, { Component } from 'react';\r\nimport Slider from '@material-ui/lab/Slider';\r\n\r\nexport class LogoText extends Component\r\n{\r\n \r\n \r\n constructor(props)\r\n {\r\n super(props);\r\n this.state=\r\n {\r\n scale:props.scale,\r\n rotate:props.rotate,\r\n text:props.text,\r\n font:props.font,\r\n color:props.color,\r\n isNew:props.isNew\r\n };\r\n \r\n }\r\n \r\n \r\n handleChangeScale = (event, value) => {\r\n this.setState({ scale:value });\r\n this.props.onScaleChanged(value);\r\n };\r\n handleChangeRotate = (event, value) => {\r\n this.setState({ rotate:value });\r\n this.props.onRotateChanged(value);\r\n };\r\n\r\n createHeaderToolbar(props)\r\n {\r\n if(props.isNew == false)\r\n {\r\n return(\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 render()\r\n {\r\n const activeClass = this.props.active?\"active logoCardText \":\"logoCardText \"; \r\n return(\r\n
    this.props.onClick()}>\r\n {this.createHeaderToolbar(this.props)}\r\n

    this.props.onDragStart(event)} >{this.props.text}

    \r\n
    \r\n \r\n {this.props.isNew?(\r\n
    \r\n

    TO ADD THIS TEXT

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

    Drag and drop this text to product by click and hold. Then move text to the product.

    \r\n \r\n
    \r\n ):(
    \r\n
    \r\n

    Scale {this.state.scale}

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

    Rotate {this.state.rotate} degrees

    \r\n \r\n
    \r\n
    ) \r\n \r\n }\r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport ColorPattern from './ColorPattern';\r\nimport { SketchPicker } from 'react-color';\r\nimport PMS from './PMS'\r\nimport Popup from 'reactjs-popup';\r\nimport 'reactjs-popup/dist/index.css';\r\nimport { Tab, Tabs, TabList, TabPanel } from 'react-tabs';\r\nimport 'react-tabs/style/react-tabs.css';\r\n\r\n\r\nimport Switch from '@material-ui/core/Switch';\r\n\r\nexport default class ProductInfo extends Component\r\n{\r\n\tstate = {\r\n\t\tbackground: '#ffffff',\r\n\t\tvisible: 'none'\r\n\t };\r\n\t\r\n\t handleChangeComplete = (color) => {\r\n\t\t\r\n\t\tthis.setState({ background: color.rgb});\r\n\t\tif(window.intersection != null && window.intersection.mesh != null)\r\n\t\t{\r\n\t\t\twindow.intersection.mesh.material.color.setRGB(color.rgb.r/255.0,color.rgb.g/255.0,color.rgb.b/255.0);\r\n\t\t\tif(color.rgb.a <1)\r\n\t\t\t{\r\n\t\t\t\twindow.intersection.mesh.material.transparent= true;\r\n\t\t\t\twindow.intersection.mesh.material.opacity= color.rgb.a;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\twindow.intersection.mesh.material.transparent= false;\r\n\t\t\t\twindow.intersection.mesh.material.opacity= color.rgb.a;\r\n\t\t\t}\r\n\t\t\twindow.intersection.mesh.material.emissive.setRGB(0,0,0); \r\n\t\t}\r\n\t };\r\n\r\n\t handlePMSChangeComplete = (color) => {\r\n\t\t\r\n\t\tthis.setState({ background: color.rgb});\r\n\t\tif(window.intersection != null && window.intersection.mesh != null)\r\n\t\t{\r\n\t\t\twindow.intersection.mesh.material.color.setRGB(color.rgb.r/255.0,color.rgb.g/255.0,color.rgb.b/255.0);\t\t\t\r\n\t\t\twindow.intersection.mesh.material.emissive.setRGB(0,0,0); \r\n\t\t}\r\n\t };\r\n\r\n\t handleChange = (color) => {\r\n\t\t//console.log(color);\r\n\t\tthis.setState({ background: color.rgb});\r\n\t };\r\n\r\n\t\r\n\t handleCustomizeColor = () => {\r\n\t\tif(this.state.visible === 'none')\r\n\t\t{\r\n\t\t\twindow.enableChangeColor(true);\r\n\t\t\tthis.setState({visible:'block'});\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\twindow.enableChangeColor(false);\r\n\t\t\tthis.setState({visible:'none'});\r\n\t\t}\r\n\t };\r\n\r\n\t renderColorPattern()\r\n\t {\r\n\t\t if(this.state.visible === \"none\")\r\n\t\t {\r\n\t\t\treturn this.props.onStyleChange(colorIdx,patternIdx)}>\t\t\t\t\t\r\n\t\t }\r\n\t\t else\r\n\t\t {\r\n\t\t\treturn
    \r\n\t\t\t\tFirst click on the object then select any color to change\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\tPantone PMS Colors\r\n\t\t\t\t\t\t\t\t\tColor Picker\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n \r\n \t\t\t\t\t\t\t \r\n\t\t\t\t\t
    \t\t\r\n\t\t }\r\n\t }\r\n render()\r\n {\r\n\t\treturn(\r\n\t\t\t
    \r\n
    \r\n
    {this.props.data.TypeName}
    \r\n
    {this.props.data.Name}
    \r\n

    \r\n\t\t\t\t\t\t{this.props.data.Description}\r\n

    \r\n
    \r\n
    \r\n\t\t);\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { SketchPicker } from 'react-color';\r\n\r\nexport default class TextEdit extends Component\r\n{\r\n constructor(props)\r\n {\r\n super(props);\r\n this.handleTextChange = this.handleTextChange.bind(this);\r\n this.state = {\r\n text: this.props.text,\r\n color:this.props.color,\r\n font:this.props.font\r\n };\r\n }\r\n\r\n handleTextChange(event)\r\n {\r\n this.setState({text:event.target.value});\r\n if(this.props.text != this.state.text)\r\n {\r\n this.props.onTextChange(event.target.value);\r\n }\r\n }\r\n\r\n handleColorChange(color)\r\n {\r\n console.log(color);\r\n this.setState({ color: color.rgb });\r\n this.props.onColorChange(color);\r\n }\r\n\r\n createText(event)\r\n {\r\n if(window.textId == null || typeof(window.textId) == 'undefined')\r\n {\r\n window.textId =0;\r\n }\r\n let textPattern = {\"Id\": Math.random().toString(36).substr(2, 9),\"Color\":this.state.color,\"Text\":this.state.text,\"Font\":this.state.font,\"IsText\":true,\"Scale\":5,\"Rotate\":0,\"isNew\":true};\r\n this.props.onSubmit(textPattern);\r\n }\r\n\r\n\r\n render()\r\n {\r\n return(\r\n
    \r\n
    \r\n this.props.onClosed()}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n this.handleTextChange(event)}>\r\n this.handleColorChange(color) } />\r\n \r\n \r\n \r\n\r\n
    \r\n )\r\n }\r\n} ","import React, { Component } from 'react';\r\nimport { TwitterPicker } from 'react-color';\r\nimport { SketchPicker } from 'react-color';\r\nimport Button from '@material-ui/core/Button';\r\nimport { LogoText } from './LogoText';\r\nimport TextEdit from './TextEdit';\r\n\r\n\r\n \r\n\r\nexport default class LogoTextList extends Component\r\n{\r\n constructor(props) {\r\n super(props);\r\n this.handleTextChange = this.handleTextChange.bind(this);\r\n this.handleColorChange = this.handleColorChange.bind(this);\r\n window.UpdateTheLogoText = this.updateTheLogoText.bind(this);\r\n\r\n this.state = {\r\n text: \"\",\r\n color: {r:255,g:255,b:255,a:1},\r\n font:\"Arial\",\r\n currentId:\"\",\r\n logoTexts:[],\r\n activeIndex:-1,\r\n showTextEditor:true\r\n \r\n };\r\n \r\n\r\n window.textFontChanged = this.textFontChanged.bind(this);\r\n window.selectTextDecals = this.selectTextDecals.bind(this);\r\n }\r\n\r\n updateTheLogoText(logoTarget)\r\n { \r\n if(logoTarget.IsText === true)\r\n {\r\n \r\n let logos = this.state.logoTexts;\r\n let found = this.state.logoTexts.find(logo=>logo.Id === logoTarget.Id && logo.Text === logoTarget.Text)\r\n if(found == null || found === undefined)\r\n {\r\n logoTarget.isNew =true;\r\n logos.push(logoTarget);\r\n }\r\n else\r\n {\r\n \r\n found.isNew = false;\r\n }\r\n \r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n handleOnScaleChanged(index,value)\r\n {\r\n var logo = this.state.logoTexts[index];\r\n logo.Scale= value;\r\n window.updateLogoChange(logo);\r\n\r\n }\r\n\r\n handleRotateChanged(index,value)\r\n {\r\n let logo = this.state.logoTexts[index];\r\n logo.Rotate= value;\r\n window.updateLogoChange(logo);\r\n }\r\n\r\n selectTextDecals(textDecal)\r\n {\r\n console.log(textDecal);\r\n let logos = this.state.logoTexts;\r\n let found = this.state.logoTexts.findIndex(logo=>logo.Id === textDecal.Id && logo.Text === textDecal.Text);\r\n if(found>=0)\r\n {\r\n this.setState({activeIndex:found});\r\n }\r\n\r\n\r\n //this.setState({text:textDecal.Text,color:textDecal.Color,font:textDecal.Font,currentId:textDecal.Id});\r\n }\r\n textFontChanged(newFont)\r\n { \r\n this.setState({font:newFont} );\r\n window.renderTextImage(this.state.text,this.state.color,this.state.font,this.state.currentId); \r\n }\r\n\r\n handleTextChange(txt)\r\n {\r\n this.setState({text:txt});\r\n //window.renderTextImage(event.target.value,this.state.color,this.state.font,this.state.currentId); \r\n }\r\n\r\n handleColorChange(color)\r\n {\r\n this.setState({ color: color.rgb });\r\n window.renderTextImage(this.state.text,this.state.color,this.state.font,this.state.currentId); \r\n }\r\n\r\n insertText(textPattern)\r\n {\r\n var _logos = this.state.logoTexts;\r\n _logos.unshift(textPattern);\r\n this.setState({logos:_logos,showTextEditor:false}); \r\n }\r\n \r\n dragStart(even,index)\r\n {\r\n if(window.textId == null || typeof(window.textId) == 'undefined')\r\n {\r\n window.textId =0;\r\n }\r\n \r\n let textPattern = this.state.logoTexts[index];\r\n if(textPattern.isNew == false)\r\n return;\r\n //window.drawText(textPattern); \r\n //textPattern = window.updateTextPattern(textPattern); \r\n window.renderTextOnly(textPattern);\r\n this.setState({activeIndex:index});\r\n\r\n }\r\n\r\n handleOnDelete(index)\r\n {\r\n let logo = this.state.logoTexts[index];\r\n logo.isNew=true;\r\n let _logos = this.state.logoTexts;\r\n _logos.splice(index,1);\r\n this.setState({logos:_logos,activeIndex:0});\r\n window.deleteLogoText(logo);\r\n }\r\n\r\n handleOnClear(index)\r\n {\r\n let logo = this.state.logoTexts[index]; \r\n let _logos = this.state.logoTexts;\r\n logo.Position = null; \r\n logo.isNew=true;\r\n window.clearText(logo);\r\n this.setState({logoTexts:_logos,activeIndex:index});\r\n }\r\n\r\n onReset(event)\r\n {\r\n this.setState({currentId:\"-1\", text:\"\"});\r\n }\r\n\r\n handleOnClick(key)\r\n {\r\n if(key< this.state.logoTexts.length)\r\n {\r\n \r\n this.setState({activeIndex:key});\r\n let textPattern = this.state.logoTexts[key];\r\n console.log(textPattern);\r\n //window.drawText(textPattern); \r\n //window.updateTextPattern(textPattern);\r\n textPattern= window.renderTextOnly(textPattern);\r\n }\r\n \r\n }\r\n\r\n handleClearAll()\r\n {\r\n \r\n let _logos = this.state.logoTexts;\r\n _logos.forEach(function (logo) {\r\n logo.Position = null; \r\n logo.isNew=true;\r\n });\r\n\r\n \r\n window.clearTexts();\r\n this.setState({logoTexts:_logos});\r\n }\r\n\r\n showTextEditor(onOff)\r\n {\r\n this.setState({showTextEditor:onOff});\r\n }\r\n\r\n renderTextEditor()\r\n {\r\n if(this.state.showTextEditor===true)\r\n {\r\n return(\r\n this.showTextEditor(false)} onSubmit={(txt)=> this.insertText(txt)}>\r\n \r\n )\r\n }\r\n }\r\n\r\n renderHeaderToolbar()\r\n {\r\n return(
    \r\n \r\n \r\n \r\n
    )\r\n }\r\n\r\n render()\r\n {\r\n if(this.props.active == false)\r\n return null;\r\n var listItem = this.state.logoTexts.map(function(model,index)\r\n {\r\n \r\n return this.handleOnClick(index)} onDragStart={(evt)=> this.dragStart(evt,index)}\r\n onScaleChanged={(value)=>this.handleOnScaleChanged(index,value)} \r\n onRotateChanged={(value)=>this.handleRotateChanged(index,value)}\r\n key={index}\r\n isNew={model.isNew}\r\n active={this.state.activeIndex==index}\r\n onDelete={()=>this.handleOnDelete(index)}\r\n onClear={()=>this.handleOnClear(index)}\r\n >\r\n \r\n },this);\r\n \r\n return(\r\n \r\n
    \r\n {this.renderHeaderToolbar()}\r\n
    \r\n {this.renderTextEditor()}\r\n {listItem} \r\n
    \r\n
    \r\n this.showTextEditor(true)}>+ ADD NEW TEXT \r\n
    \r\n\t\t\t
    \r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport ColorPattern from './ColorPattern';\r\nimport { SketchPicker } from 'react-color';\r\nimport { Tab, Tabs, TabList, TabPanel } from 'react-tabs';\r\nimport PMS from './PMS';\r\nexport default class PantoneColor extends Component\r\n{\r\n constructor(props)\r\n {\r\n super(props);\r\n this.state = {\r\n\t\tselectedColor:'red'\r\n };\r\n }\r\n\r\n\thandlePMSChangeComplete(color)\r\n\t{\r\n\t\twindow.updateColor({r:color[0]/255.0,g:color[1]/255.0,b:color[2]/255.0});\r\n\t}\r\n\r\n\thandleChangeComplete(color)\r\n\t{\r\n\t\tconsole.log(color);\r\n\t\tthis.setState({selectedColor:color});\r\n\r\n\t\twindow.updateColor({r:color.rgb.r/255.0,g:color.rgb.g/255.0,b:color.rgb.b/255.0});\r\n\t}\r\n\r\n\tclearColors()\r\n\t{\r\n\t\tconsole.log(\"clearColors\");\r\n\t\twindow.clearColors();\r\n\t}\r\n\r\n render()\r\n {\r\n\t\t\r\n\t\tif(this.props.active ==false)\r\n\t\t{\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n return(\r\n
    \r\n\t\t\t\t
    \r\n\t\t\t\t\tClick on the Pantone to choose color or click on the Color Picker to choose a color.



    Then click “Save” button to apply the product.

    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\tPantone PMS Colors\r\n\t\t\t\t\t\t\t\t\t\tColor Picker\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{this.props.active? this.handleChangeComplete(color) } />:null}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t \r\n
    \r\n\t\t\t
    \r\n \r\n )\r\n }\r\n}\r\n","\r\nimport React, { Component } from 'react';\r\nimport Logo from '../decal/Logo'\r\nimport Slider from '@material-ui/lab/Slider';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport Button from '@material-ui/core/Button';\r\nimport { Grid, Step } from '@material-ui/core';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport ReactTooltip from 'react-tooltip'\r\n\r\nexport default class LogoPattern extends Component\r\n{\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n active: -1,\r\n isLoaded:false,\r\n logos:this.props.items\r\n };\r\n\r\n \r\n\r\n if(this.state.logos != null)\r\n {\r\n \r\n }\r\n else{\r\n this.state.logos = [];\r\n }\r\n }\r\n\r\n componentDidMount()\r\n {\r\n let url =\"/umbraco/surface/products/GetAllPattern\";\r\n \r\n\r\n let urlParams = new URLSearchParams(window.location.search);\r\n if (urlParams.has('decal') === false) {\r\n fetch(window.backEnd+url)\r\n .then(res => res.json())\r\n .then(\r\n (result) => {\r\n this.setState({\r\n isLoaded: true,\r\n logos: result\r\n });\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n this.setState({\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n )\r\n }\r\n }\r\n\r\n\r\n \r\n\r\n logoSelectionChanged(logo)\r\n { \r\n \r\n return false;\r\n }\r\n\r\n handleOnClick(key)\r\n {\r\n this.setState({active:key});\r\n var logo = this.state.logos[key]; \r\n console.log(logo); \r\n window.patternHandling.selectedPattern(logo);\r\n }\r\n\r\n handleClearAll(e)\r\n { \r\n window.patternHandling.clearAllPattern(window.mesh);\r\n }\r\n\r\n handleAddNewFile(e)\r\n {\r\n if(e.target !==null)\r\n {\r\n if(e.target.files.length >0)\r\n {\r\n var id=0;\r\n this.state.logos.forEach(element => {\r\n if(idthis.handleOnClick(index)} \r\n onScaleChanged={(value)=>this.handleOnScaleChanged(index,value)} \r\n onRotateChanged={(value)=>this.handleRotateChanged(index,value)}\r\n key={index}\r\n active={activeIndex === index}\r\n onDelete={()=>this.handleOnDelete(index)}\r\n onClear={()=>this.handleOnClear(index)}\r\n title={this.props.title}\r\n subTitle={this.props.subTitle}\r\n isNew={true}\r\n >\r\n \r\n },this);\r\n\r\n return(\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {listItem} \r\n
    \r\n
    \r\n + ADD NEW\r\n this.handleAddNewFile(e)} value=\"\" /> \r\n
    \r\n\t\t\t
    \r\n );\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\n\r\nexport default class Sharing extends Component\r\n{\r\n constructor(props)\r\n {\r\n super(props);\r\n this.state={\r\n isClosed:this.props.isClosed,\r\n step:\"Uploading the logo\",\r\n id: new Date().getTime(),\r\n link:\"\",\r\n copyMessage:\"Copy a link to share design\",\r\n percent:0\r\n };\r\n }\r\n\r\n onFinished(link)\r\n {\r\n this.setState({step:link,link:link,percent:100,isFinished:true});\r\n }\r\n\r\n\r\n createSharedLink()\r\n {\r\n var sharedData={};\r\n sharedData.product=window.getProductId();\r\n sharedData.logos =window.getDecals();\r\n sharedData.texts =window.getTexts();\r\n sharedData.textures = window.getTextures();\r\n sharedData.colors = window.getColors();\r\n console.log(sharedData);\r\n if(sharedData.logos.length==0 && sharedData.texts.length ==0 && sharedData.textures.length==0 && sharedData.colors.length ==0)\r\n {\r\n this.setState({step:'Please update your design'});\r\n return;\r\n }\r\n var _data = JSON.stringify(sharedData);\r\n console.log(_data);\r\n var formData = new FormData();\r\n formData.append('decal', _data);\r\n formData.append('id', this.state.id);\r\n var request = new XMLHttpRequest();\r\n request.open(\"POST\", window.backEnd+\"/umbraco/surface/products/uploaddecal\", true);\r\n request.onreadystatechange =(evt)=>{\r\n let res = evt.currentTarget;\r\n console.log(res);\r\n if (res.readyState == 4 && res.status == 200) {\r\n if (res.responseText.startsWith(\"error\")) {\r\n this.setState({step:'Upload data failed '+res.responseText});\r\n } else { \r\n let link = window.location.origin+res.responseText;\r\n this.onFinished(link);\r\n }\r\n }\r\n };\r\n\r\n request.send(formData);\r\n\r\n }\r\n\r\n componentDidMount()\r\n {\r\n this.setState({step:\"Uploading logo\",percent:0});\r\n this.uploadLogo(0,()=>{\r\n this.setState({step:\"Uploading pattern\",percent:50});\r\n this.uploadPattern(0,()=>{\r\n this.setState({step:\"Generating sharing data\",percent:80});\r\n this.createSharedLink();\r\n });\r\n });\r\n\r\n \r\n }\r\n\r\n uploadPattern(idx,onFinished) {\r\n if(window.mesh == null || window.mesh.length == 0)\r\n {\r\n onFinished();\r\n return;\r\n }\r\n let percentCal = (idx)*100/window.mesh.length;\r\n let id = this.state.id+(idx+1)*100;\r\n\r\n this.setState({percent:percentCal});\r\n if (idx < window.mesh.length) {\r\n var file = window.mesh[idx].patternFile;\r\n if (file != null && window.mesh[idx].updatedTexture != null) {\r\n var formData = new FormData();\r\n formData.append('file', file);\r\n formData.append('id', id);\r\n var request = new XMLHttpRequest();\r\n request.open(\"POST\", window.backEnd+\"/umbraco/surface/products/uploadlogo\", true);\r\n request.onreadystatechange = (event) => { \r\n console.log(event);\r\n if (event.currentTarget.readyState == 4 && event.currentTarget.status == 200) {\r\n if (event.currentTarget.responseText.startsWith(\"error\")) {\r\n this.setState({step:'Upload logo failed '+event.currentTarget.responseText});\r\n } else {\r\n window.mesh[idx].updatedTexture = event.currentTarget.responseText;\r\n this.uploadPattern(++idx,onFinished);\r\n }\r\n }\r\n }\r\n \r\n request.send(formData);\r\n \r\n } else {\r\n this.uploadPattern(++idx,onFinished);\r\n }\r\n } else {\r\n onFinished();\r\n }\r\n }\r\n\r\n uploadLogo(idx,onFinished) {\r\n if(window.decals == null || window.decals.length == 0)\r\n {\r\n onFinished();\r\n return;\r\n }\r\n let percentCal = (idx)*100/window.decals.length;\r\n let id = this.state.id+(idx+1)*10;\r\n this.setState({percent:percentCal});\r\n if (idx < window.decals.length) {\r\n var file = window.decals[idx].logo.file;\r\n if (file != null) {\r\n var formData = new FormData();\r\n formData.append('file', file);\r\n formData.append('id', id);\r\n var request = new XMLHttpRequest();\r\n request.open(\"POST\", window.backEnd+\"/umbraco/surface/products/uploadlogo\", true);\r\n request.onreadystatechange = (event) => { \r\n console.log(event);\r\n if (event.currentTarget.readyState == 4 && event.currentTarget.status == 200) {\r\n if (event.currentTarget.responseText.startsWith(\"error\")) {\r\n this.setState({step:'Upload logo failed '+event.currentTarget.responseText});\r\n } else {\r\n window.decals[idx].logo.Thumbnail = event.currentTarget.responseText;\r\n this.uploadLogo(++idx,onFinished);\r\n }\r\n }\r\n }\r\n \r\n request.send(formData);\r\n \r\n } else {\r\n this.uploadLogo(++idx,onFinished);\r\n }\r\n } else {\r\n onFinished();\r\n }\r\n }\r\n handleCloseDialog()\r\n {\r\n this.setState({isClosed:true});\r\n }\r\n\r\n copyLinkToMem()\r\n {\r\n window.copyToClipboard(this.state.link);\r\n this.setState({copyMessage:'Link copied'});\r\n }\r\n renderCopyLink()\r\n {\r\n if(this.state.isFinished)\r\n {\r\n return(
    this.copyLinkToMem()}>\r\n \r\n this.copyLinkToMem()}> {this.state.copyMessage}\r\n
    );\r\n }\r\n else\r\n {\r\n return null;\r\n }\r\n }\r\n render()\r\n {\r\n if(this.state.isClosed===true)\r\n {\r\n return null;\r\n }\r\n\r\n return(
    \r\n
    \r\n Sharing your design\r\n \r\n
    \r\n
    \r\n

    {this.state.step}

    \r\n {this.renderCopyLink()}\r\n
    \r\n \r\n {this.state.percent} % \r\n
    );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport logo from './logo.svg';\r\nimport './App.css';\r\nimport ProductList from './Product'\r\nimport ItemList from './ItemList'\r\nimport LogoList from './decal/LogoList'\r\nimport ReactDOM from 'react-dom';\r\nimport ProductInfo from './ProductInfo'\r\nimport LogoTextList from './TextEditor/LogoTextList'\r\nimport ColorPattern from './ColorPattern';\r\nimport PantoneColor from './PantoneColor';\r\nimport LogoPattern from './pattern/LogoPattern';\r\nimport Sharing from './sharing/sharing';\r\n\r\nclass App extends Component {\r\n\r\n \r\n \r\n constructor(props)\r\n {\r\n super(props);\r\n this.state = {\r\n menuActive:[true,false,false,false,false],\r\n isShowMenu:true,\r\n isShowMenuToolbar:true,\r\n isShowProduct:false,\r\n isShowSharing:false,\r\n isLoaded: false,\r\n productIdx: 0,\r\n products:[]\r\n };\r\n \r\n //let product = this.props.data.Products[0];\r\n //this.props.onStyleChanged(product);\r\n }\r\n\r\n componentDidMount()\r\n {\r\n let urlParams = new URLSearchParams(window.location.search);\r\n if (urlParams.has('decal')) {\r\n this.setState({isShowMenu:false,isShowMenuToolbar:false,isShowProduct:true});\r\n this.loadSharingProduct(urlParams.get('decal'));\r\n }\r\n else { \r\n fetch(window.backEnd+\"/umbraco/surface/products/GetAllProducts/\"+window.productsId.toString())\r\n .then(res => res.json())\r\n .then(\r\n (result) => {\r\n this.setState({\r\n isLoaded: true,\r\n products: result.Products\r\n });\r\n this.handleProductClick(0);\r\n },\r\n // Note: it's important to handle errors here\r\n // instead of a catch() block so that we don't swallow\r\n // exceptions from actual bugs in components.\r\n (error) => {\r\n this.setState({\r\n isLoaded: true,\r\n errorLoad:error\r\n });\r\n }\r\n );\r\n }\r\n }\r\n \r\n\r\n loadSharingProduct(decal)\r\n { \r\n fetch(window.backEnd+\"/decal/\" + decal + \".json\")\r\n .then(res => res.json())\r\n .then(\r\n (result) => { \r\n let _products=[];\r\n _products.push(result.product);\r\n this.setState({\r\n isLoaded: true,\r\n productIdx:0,\r\n products: _products\r\n });\r\n window.restoreDecals = result;\r\n this.handleProductClick(0);\r\n }); \r\n } \r\n\r\n loadMeshAndDecal(modelDecals)\r\n {\r\n let products = this.state.products;\r\n for(let i=0;ithis.onStyleChange(colorIdx,patternIdx)}>,document.getElementById('styleInfo'));\r\n window.loadProduct(product);\r\n }\r\n \r\n\r\n \r\n onStyleChange(colorIdx,patternIdx)\r\n {\r\n let product = this.state.products[this.state.productIdx]; \r\n product.colorIdx= colorIdx;\r\n product.patternIdx = patternIdx;\r\n window.loadProduct(product);\r\n }\r\n\r\n handleColorClick(index)\r\n {\r\n this.setState({colorIdx:index});\r\n }\r\n\r\n handleFrabricClick(index)\r\n {\r\n this.setState({fabricIdx:index});\r\n }\r\n\r\n renderHeaderBar()\r\n {\r\n if(this.state.isShowMenu)\r\n {\r\n return(\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n else\r\n {\r\n return(\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n }\r\n\r\n renderContentLeft()\r\n {\r\n var style =\"panelToolbar\";\r\n if(this.state.isShowMenu==false)\r\n {\r\n style=\"hidden\";\r\n }\r\n return( \r\n
    \r\n this.handleLogoClick(i)} type=\"logo\" styleName=\"logo highlightHover\"\r\n title=\"TO ADD THIS LOGO\"\r\n subTitle=\"Drag and drop this logo to product by click and hold. Then move logo to the product.\"\r\n active={this.state.menuActive[0]}>\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 renderProductInfor()\r\n {\r\n if(this.state.isLoaded==false)\r\n return null;\r\n let product = this.state.products[this.state.productIdx]; \r\n return(\r\n
    \r\n
    \r\n
    {product.TypeName}
    \r\n
    {product.Name}
    \r\n

    \r\n\t\t\t\t\t\t {product.Description}\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Click the “Share Your Design” to generate the link for sharing\r\n
    \r\n
    this.handleSharingOnOff()}>\r\n \r\n Share Your Design\r\n
    \r\n
    \r\n
    );\r\n }\r\n\r\n renderBtnProductOnOff()\r\n {\r\n if(this.state.isShowProduct==true)\r\n {\r\n return
    \r\n }\r\n return( );\r\n }\r\n renderContentRight()\r\n {\r\n \r\n return(\r\n
    \r\n \r\n {this.renderBtnProductOnOff()}\r\n
    window.drop(evt)} onDragOver={(evt)=> window.allowDrop(evt)}>\r\n \r\n
    \r\n {this.renderProductInfor()}\r\n
    \r\n )\r\n }\r\n setMenuActive(idx)\r\n {\r\n let menuActiveClone =this.state.menuActive;\r\n\r\n for(let i =0;i\r\n Products List\r\n \r\n \r\n );\r\n }\r\n renderDecorationEditing()\r\n {\r\n let style='decorationEditing';\r\n if(this.state.isShowProduct===true)\r\n {\r\n style=' hidden';\r\n }\r\n else if(this.state.isShowMenu== false)\r\n {\r\n style+=' collapse';\r\n }\r\n return();\r\n }\r\n\r\n renderToolbar()\r\n {\r\n let style='toolbar';\r\n if(this.state.isShowMenuToolbar===false)\r\n {\r\n style='hidden';\r\n }\r\n return(\r\n
    \r\n
    \r\n

    this.setMenuActive(0)}>\r\n \r\n Logo\r\n

    \r\n

    this.setMenuActive(1)}>\r\n \r\n Text\r\n

    \r\n

    this.setMenuActive(2)}>\r\n \r\n Pattern\r\n

    \r\n

    this.setMenuActive(3)}>\r\n \r\n Color\r\n

    \r\n
    \r\n {this.renderContentLeft()}\r\n
    \r\n )\r\n }\r\n handleSharingOnOff()\r\n {\r\n let isShow = !this.state.isShowSharing;\r\n this.setState({isShowSharing:isShow});\r\n }\r\n renderLeft()\r\n {\r\n \r\n }\r\n render()\r\n {\r\n let style='left';\r\n if(this.state.isShowMenu===false && this.state.isShowMenuToolbar==true)\r\n {\r\n style+= ' collapse';\r\n }\r\n return(\r\n
    \r\n
    \r\n {this.renderProductListHeader(this.state.isShowProduct)}\r\n this.handleProductClick(i)} styles={this.state.products} active={this.state.isShowProduct}>\r\n {this.renderDecorationEditing()}\r\n {this.renderToolbar()}\r\n
    \r\n {this.renderContentRight()}\r\n {this.state.isShowSharing?this.handleSharingOnOff()}>:null}\r\n
    );\r\n }\r\n render1() {\r\n if(this.state.isShowProduct)\r\n {\r\n return(
    \r\n
    \r\n {this.renderProductListHeader()}\r\n this.handleProductClick(i)} styles={this.state.products} active={this.state.menuActive[4]}>\r\n
    \r\n {this.renderContentRight()}\r\n
    );\r\n }\r\n else if(this.state.isShowMenu)\r\n {\r\n return(
    \r\n
    \r\n {this.renderDecorationEditing()}\r\n {this.renderToolbar()}\r\n
    \r\n {this.renderContentRight()}\r\n
    );\r\n }\r\n else\r\n {\r\n return(
    \r\n
    \r\n {this.renderDecorationEditing()}\r\n {this.renderToolbar()}\r\n
    \r\n {this.renderContentRight()}\r\n
    );\r\n }\r\n }\r\n}\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React, { Component } from 'react';\r\n\r\nclass Main extends Component {\r\n constructor(props)\r\n {\r\n super(props);\r\n this.state = {\r\n };\r\n }\r\n componentDidMount()\r\n {\r\n }\r\n\r\n render() {\r\n return(\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 Logo\r\n
    \r\n

    \r\n \r\n Text\r\n

    \r\n

    \r\n \r\n Pattern\r\n

    \r\n

    \r\n \r\n Color\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
    W-4
    \r\n
    Antiviral 3 Layers
    \r\n

    \r\n 3 layer filter with antiviral and antimicrobial technology making the mask extra resistent to virues and bacteria.\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Click the “Share Your Design” to generate the link for sharing\r\n
    \r\n
    \r\n \r\n Share Your Design\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default Main;","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\n\nimport * as serviceWorker from './serviceWorker';\nimport Main from './main';\n\n\n\n\nReactDOM.render(, document.getElementById('root')); \n\nserviceWorker.unregister();\n\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\n\n"],"sourceRoot":""}