{"version":3,"sources":["components/Navbar/Navbar.js","assets/logo-4-3-x.png","axios.js","components/CommonFunction/CommonFunction.js","actions/actionTypes.js","actions/actionsCreators.js","components/Configurator/ProductRenderer/switchCases.js","assets/swipe360.png","assets/close-icon@2x.png","assets/delete@2x.png","helpers/spinners.js","components/Configurator/Combinations/HelperModal.js","components/Configurator/Combinations/First3DMModal.js","components/Configurator/Combinations/FirstGlbModal.js","components/Configurator/Combinations/WelcomeModal.js","components/Configurator/ProductRenderer/ProductRenderer.js","components/Configurator/Combinations/DeleteCombinationsModal.js","components/Configurator/Combinations/CloneCombinationModal.js","assets/copy@2x.png","components/Configurator/Combinations/LoginForm.js","assets/fullscreen.png","assets/arrow-up@2x.png","assets/down-arrow@2x.png","components/Configurator/Sidebar/MenuItems/MenuGroup.js","components/Configurator/Sidebar/MenuItems/MenuItemTextBox.js","components/Configurator/Sidebar/MenuItems/MenuItemTextBox2.js","components/Configurator/Sidebar/MenuItems/RichTextEditor.js","components/Configurator/Sidebar/MenuItems/MenuItemButton.js","components/Configurator/Sidebar/MenuItems/MenuItemCheckbox.js","components/Configurator/Sidebar/MenuItems/MenuItemInputRange.js","components/Configurator/Sidebar/MenuItems/MenuItemDropdown.js","helpers/dropDownOptions.js","components/Configurator/Sidebar/MenuItems/MenuItemColorPicker.js","components/Configurator/Combinations/CombinationsSizeFileDownload.js","components/Configurator/Combinations/CombinationsSizeName.js","galleryUrl.js","assets/help_icon.png","components/Configurator/Sidebar/MenuItems/MenuItemTextArea.js","components/Configurator/Sidebar/MenuItems/AnnotationSendInvitation.js","components/Configurator/Sidebar/MenuItems/AnnotationReferenceCombination.js","components/Configurator/Combinations/CombinationModal.js","components/Configurator/Combinations/Combination.js","components/Configurator/Combinations/GetEmbeddedCombinationLinkModal.js","components/Configurator/Combinations/GetWidgetCombinationLinkModal.js","components/Configurator/Combinations/GetConfiguratorCombinationLinkModal.js","components/Configurator/Combinations/Combinations.js","components/Configurator/Combinations/AddCombinationModal.js","components/Configurator/Combinations/AddCombinationSceneInfoAlertModal.js","components/Configurator/Combinations/ShowCombinationsModal.js","components/Configurator/Combinations/UploadFileModal.js","assets/upload.png","components/Configurator/Combinations/LoginModal.js","components/Configurator/Combinations/CombinationsSizePublic.js","components/Configurator/Combinations/CombinationsSizeAllowComment.js","components/Configurator/Combinations/CombinationsCreations.js","components/Configurator/Combinations/PplDescriptionModal.js","components/Configurator/Combinations/CombinationVideoHelpModal.js","components/Configurator/Combinations/PplModal.js","components/Configurator/Combinations/CombinationsSize.js","components/Configurator/Combinations/Activity.js","components/Configurator/Combinations/Transactions.js","components/Configurator/Combinations/LogoutForm.js","components/Configurator/Sidebar/PostProcessSettings/PostProcessSettings.js","containers/Configurator/PostProcessSettingsContainer.js","components/Configurator/Sidebar/MenuItems/DiamondEnvLoadButton.js","components/Configurator/Sidebar/MenuItems/SceneEnvLoadButton.js","components/Configurator/Sidebar/MenuItems/MenuItemInputRange2.js","components/Configurator/Sidebar/MenuItems/MenuItemInputRangeMaxAzimuth.js","components/Configurator/Sidebar/MenuItems/MenuItemInputRangeMinAzimuth.js","components/Configurator/Combinations/SaveScene.js","components/Configurator/Sidebar/Modals/RestrictCameraModal.js","helpers/gizmoOptions.js","components/Configurator/Sidebar/SceneSettings/SceneSettings.js","containers/Configurator/SceneSettingsContainer.js","components/Configurator/Sidebar/MenuItems/MenuItemButton3.js","components/Configurator/Sidebar/MenuItems/LayerInfo.js","components/Configurator/Sidebar/Modals/RenameMaterial.js","components/Configurator/Sidebar/MenuItems/MenuItemFullSizeDropdown.js","components/Configurator/Sidebar/MenuItems/MenuItemFullSizeDropdown2.js","components/Configurator/Sidebar/Modals/SaveAsPresetModal.js","assets/trash.png","components/Configurator/Sidebar/PresetsLibrary/DeletePresetModal.js","assets/rename.png","components/Configurator/Sidebar/PresetsLibrary/EditPresetModal.js","components/Configurator/Sidebar/PresetsLibrary/ApplyPresetModal.js","assets/brush@2x.png","components/Configurator/Sidebar/PresetsLibrary/PresetName.js","components/Configurator/Sidebar/PresetsLibrary/Preset.js","components/Configurator/Sidebar/PresetsLibrary/DeletePresetFolderModal.js","components/Configurator/Sidebar/PresetsLibrary/EditPresetFolderModal.js","components/Configurator/Sidebar/PresetsLibrary/ApplyPresetFolderModal.js","assets/assign-to-layer.png","components/Configurator/Sidebar/PresetsLibrary/PresetFolder.js","assets/folder@2x.png","components/Configurator/Sidebar/PresetsLibrary/PresetsLibrary.js","components/Configurator/Sidebar/PresetsLibrary/CreatePresetFolderModal.js","helpers/sideOptions.js","components/Configurator/Sidebar/MenuItems/WarpUVDropdown.js","components/Configurator/Sidebar/MaterialSettings/MaterialSettings.js","containers/Configurator/MaterialSettingsContainer.js","components/Configurator/Sidebar/MyAccount/MyAccount.js","containers/Configurator/MyAccountContainer.js","components/Configurator/Sidebar/Sidebar.js","components/Configurator/Configurator.js","serviceWorker.js","reducers/sceneConfigReducer.js","reducers/trackerReducer.js","reducers/selectedObjectReducer.js","reducers/presetsLibraryReducer.js","reducers/combinationsReducer.js","reducers/iframeReducer.js","reducers/userReducer.js","reducers/index.js","store.js","components/Tracker/Sidebar/Sidebar.js","containers/Tracker/SidebarContainer.js","components/Tracker/Trackers/Tracker.js","components/Tracker/Trackers/Trackers.js","components/Tracker/Tracker.js","containers/TrackersContainer.js","components/Confirmation/Confirmation.js","components/Configurator/Combinations/HardwareAccelerationModal.js","assets/confirmation-icon-widget-1@x.png","assets/confirmation-icon-link-1@x.png","assets/arrow-left-1@2x.png","components/CombinationRenderer/switchCases.js","assets/hamburger-icon.png","3dViewerUrl.js","assets/logo_site.png","assets/button-Camera-On.png","assets/button-AR-On.png","assets/button-Rotate-On.png","assets/button-On.png","components/Configurator/Combinations/CombinationIcons.js","assets/button-AR-Off.png","assets/button-Camera-Off.png","assets/button-Off.png","assets/button-Rotate-Off.png","assets/warning.png","components/CombinationRenderer/ProductRenderer.js","components/CombinationRenderer/ColorLabel.js","components/IFrameRenderer/ProductRenderer.js","assets/rotationIconWhite@2x.png","assets/rotateIconBlack@2x.png","assets/cameraIconWhite@2x.png","assets/cameraIconBlack@2x.png","assets/reset@2x.png","assets/resetIconBlack@2x.png","assets/on-toggle.png","assets/off-toggle.png","components/CombinationRenderer/Controls.js","components/CombinationRenderer/Configurator.js","assets/annotations.png","assets/swipe_360.gif","components/IFrameRenderer/ColorLabel.js","components/IFrameRenderer/Controls.js","components/IFrameRenderer/Configurator.js","components/ConfiguratorRenderer/switchCases.js","components/Configurator/Combinations/ZoomAlertModal.js","components/ConfiguratorRenderer/ProductRenderer.js","components/ConfiguratorRenderer/Templates/LeoNguyenTemplate01.js","components/ConfiguratorRenderer/Templates/LeoNguyenTemplate02.js","components/ConfiguratorRenderer/Templates/icons/DoorTemplate/Inserts.png","assets/door.svg","components/ConfiguratorRenderer/Templates/icons/Inserts.png","components/ConfiguratorRenderer/Templates/icons/couleurs.png","components/ConfiguratorRenderer/Templates/icons/poignees.png","components/ConfiguratorRenderer/Templates/icons/vitrages.png","components/ConfiguratorRenderer/Templates/icons/DoorTemplate/couleurs.png","components/ConfiguratorRenderer/Templates/icons/DoorTemplate/poignees.png","components/ConfiguratorRenderer/Templates/icons/DoorTemplate/vitrages.png","components/ConfiguratorRenderer/Templates/DoorTemplate.js","components/ConfiguratorRenderer/Templates/CadGLTemplate.js","components/ConfiguratorRenderer/ColorLabel.js","components/ConfiguratorRenderer/Controls.js","components/ConfiguratorRenderer/Configurator.js","index.js"],"names":["Nav","Navbar","className","Brand","href","alt","src","cookieEnabled","navigator","document","cookie","indexOf","token","localStorage","getItem","auth","concat","replace","baseURL","Axios","axios","create","headers","renderAnnotationIcon","api","allAnnotation","getAllAnnotations","annotation","index","console","log","hidden","getElementById","style","display","setDefaultRatio","setDisplayPixelRatio","window","devicePixelRatio","setViewerSize","clientWidth","clientHeight","innerWidth","innerHeight","setAnnotationWidth","Math","max","self","top","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","test","userAgent","renderStaticImg","comp","staticImgMode","backgroundImage","staticImg","renderFullscreenIconHelperIcon","type","isShowFullScreen","isShowHelper","isShow3DConfigurator","isShowChangeBackground","isShowScreenshot","isShowMeasurement","waitAudioContext","stopResuming","resumer","getAudioContext","resume","then","setTimeout","hideLayersAfterLoad","cssText","renderAnnotationModalEvent","text","substring","open","animateCamera","cameraState","annotationSelect","value","dispatchEvent","Event","modalAnnotation","left","transform","innerHTML","getElementsByClassName","onclick","event","target","setNullIframeSrc","getElementsByTagName","truncate","source","size","sortLayerName","a","b","material","name","convertPriceToString","price","currency","symbol","parseFloat","toFixed","toString","uploadGLBToLeo","viewerUrl","id","sceneManager","exportSceneGltf","blob","Blob","data","URL","createObjectURL","FormData","append","post","response","modal3DViewer","visualViewport","scale","classList","add","height","removeAttribute","cursor","LOAD_FILE_ACTION","SAVE_SCENE_CONFIG_TO_STATE","LOAD_REPORT_REQUEST","LOAD_REPORT_SUCCESS","LOAD_REPORT_ERROR","REQUEST_TRACKERS_FILTERS","REQUEST_TRACKERS_FILTERS_SUCCESS","REQUEST_TRACKERS_FILTERS_FAILED","REQUEST_TRACKERS_FILTERS_ERROR","LOAD_REPORT_FAILED","CHANGE_DAMPING_FACTOR","CHANGE_ZOOM_SPEED","CHANGE_MIN_AZIMUTH_ANGLE","CHANGE_MAX_AZIMUTH_ANGLE","CHANGE_MIN_POLAR_ANGLE","CHANGE_MAX_POLAR_ANGLE","CHANGE_MIN_ZOOM","CHANGE_MAX_ZOOM","CHANGE_MAX_DISTANCE","CHANGE_MIN_DISTANCE","CHANGE_CAMERA_ZOOM","CHANGE_FOV_SETTING","CHANGE_SCENE_VIEW","DOWNLOAD_GLTF","SNAP_CANVAS","CHANGE_CAMERA_MODE_SETTING","CHANGE_CAMERA_POSITION_X_SETTING","CHANGE_CAMERA_POSITION_Y_SETTING","CHANGE_CAMERA_POSITION_Z_SETTING","CHANGE_CAMERA_TARGET_SETTING","CHANGE_CAMERA_SETTING","CHANGE_STRAIGHTEN_MODEL_ROTATE_SETTING","RESET_STRAIGHTEN_MODEL","TAKE_SCREENSHOT","ENABLE_GROUND_SHADOW_SETTING","CHANGE_NUM_SAMPLES_SETTING","CHANGE_NUM_SAMPLES_PER_FRAME_SETTING","CHANGE_GROUND_SHADOW_BRIGHTNESS_SETTING","CHANGE_BLUR_RADIUS_SETTING","CHANGE_GROUND_SHARPNESS_SETTING","CHANGE_FALLOFF_SETTING","ENABLE_SMOOTH_SETTING","CHANGE_SMOOTH_TRANSITION_SETTING","CHANGE_GROUND_SHADOW_SIDE_SETTING","ENABLE_GROUND_REFLECTION_SETTING","ENABLE_GROUND_REFLECTION_PHYSICAL_SETTING","CHANGE_GROUND_REFLECTION_ROUGHNESS_SETTING","CHANGE_GROUND_REFLECTION_METALNESS_SETTING","CHANGE_GROUND_REFLECTION_SIZE_SETTING","DOWNLOAD_REFLECTION","VIEW_REFLECTION","LOAD_REFLECTION","CLEAR_ALL","SET_BACKGROUND_COLOR","REMOVE_BACKGROUND","ENABLE_AUTO_ROTATE","CHANGE_AUTO_ROTATE_SPEED_SETTING","UPLOAD_SCENE","CHANGE_TONE_MAPPING_EXPOSURE_SETTING","CHANGE_TONE_MAPPING_SATURATION_SETTING","CHANGE_TONE_MAPPING_CONTRAST_SETTING","CHANGE_ENV_MAP_ROTATION_SETTING","CHANGE_BACKGROUND_IMAGE_FILE","ENABLE_SCREEN_SPACE_PANNING","ENABLE_ZOOM","ENABLE_PAN","UPLOAD_FILES","CHANGE_PIXEL_RATIO_SETTING","CHANGE_EDGE_GLOW_SETTING","CHANGE_EDGE_THICKNESS_SETTING","CHANGE_EDGE_STRENGTH_SETTING","CHANGE_PULSE_PERIOD_SETTING","CHANGE_VISIBLE_EDGE_COLOR_SETTING","CHANGE_HIDDEN_EDGE_COLOR_SETTING","CHANGE_DOWN_SAMPLE_RATIO_SETTING","CHANGE_BEVEL_SETTING","CHANGE_SHARPNESS_SETTING","ENABLE_SHARPNESS_SETTING","ENABLE_SSAO_SETTING","ENABLE_SSAO_DEBUG_SETTING","CHANGE_SSAO_INTENSITY_SETTING","CHANGE_SSAO_RADIUS_SETTING","CHANGE_SSAO_DOWNSCALE_LEVEL_SETTING","ENABLE_BLOOM_SETTING","CHANGE_BLOOM_STRENGTH_SETTING","CHANGE_BLOOM_RADIUS_SETTING","CHANGE_BLOOM_THRESHOLD_SETTING","ENABLE_DOF","ENABLE_EDIT_DOF","CHANGE_CROSS_COLOR_SETTING","CHANGE_CROSS_RADIUS_SETTING","CHANGE_NEAR_BLUR_SCALE_SETTING","CHANGE_FAR_BLUR_SCALE_SETTING","CHANGE_DEPTH_RANGE_SETTING","ENABLE_AR","CHANGE_OBJECT_SCALE_SETTING","CHANGE_RETICLE_SIZE_IN_SETTING","CHANGE_RETICLE_SIZE_OUT_SETTING","CHANGE_RETICLE_FADE_THRESH_SETTING","CHANGE_RETICLE_FADE_TIME_SETTING","CHANGE_GROUND_SHADOWS_SETTING","CHANGE_RETICLE_COLOR_SETTING","SELECT_OBJECT","CHANGE_MATERIAL_COLOR","CHANGE_BOOST_FACTOR_SETTING","CHANGE_ENV_MAP_INTENSITY_DIAMOND_SETTING","CHANGE_REFRACTIVE_INDEX_DIAMOND_SETTING","CHANGE_GEOMETRY_FACTOR_DIAMOND_SETTING","CHANGE_SQUASH_FACTOR_DIAMOND_SETTING","CHANGE_DISPERSION_DIAMOND_SETTING","CHANGE_ABSORPTION_DIAMOND_SETTING","CHANGE_GAMMA_FACTOR_DIAMOND_SETTING","MAKE_STANDARD","MAKE_DIAMOND","MAKE_REFRACTION","CHANGE_PICKED_GROUP_VISIBILITY","CHANGE_STANDARD_MATERIAL_COLOR","CHANGE_STANDARD_MATERIAL_OPACITY","CHANGE_STANDARD_MATERIAL_ROUGHNESS","CHANGE_STANDARD_MATERIAL_METALNESS","CHANGE_STANDARD_MATERIAL_ENV_MAP_INTENSITY","CHANGE_STANDARD_MATERIAL_LIGHT_MAP_INTENSITY","CHANGE_STANDARD_MATERIAL_ALPHA_MAP_INTENSITY","CHANGE_STANDARD_MATERIAL_AO_MAP_INTENSITY","CHANGE_STANDARD_MATERIAL_EMISSIVE_INTENSITY","CHANGE_STANDARD_MATERIAL_BUMP_SCALE","CHANGE_STANDARD_MATERIAL_WIREFRAME_LINE_WIDTH","CHANGE_STANDARD_MATERIAL_ENABLE_WIREFRAME","CHANGE_STANDARD_MATERIAL_EMISSIVE_COLOR","CHANGE_STANDARD_MATERIAL_MAP_FILE","CHANGE_REFRACTION_MATERIAL_VISIBILITY","CHANGE_REFRACTION_MATERIAL_TINT_COLOR","CHANGE_REFRACTION_MATERIAL_DIFFUSE_COLOR","CHANGE_REFRACTION_MATERIAL_REFRACTION_INDEX","CHANGE_REFRACTION_MATERIAL_REFRACTION_ROUGHNESS","CHANGE_REFRACTION_MATERIAL_ROUGHNESS","CHANGE_REFRACTION_MATERIAL_METALNESS","CHANGE_REFRACTION_MATERIAL_TRANSPARENCY","UPLOAD_MATERIAL","SELECT_MATERIAL","CHANGE_MATERIAL_NAME","SELECT_MESH","UPLOAD_MATERIALS","CHANGE_STANDARD_MATERIAL_BEVEL_RADIUS","MAP_ENCODING","REQUEST_PRESETS_SUCCESS","REQUEST_PRESETS_FAILED","DELETED_PRESET_FOLDER","DELETED_PRESET","EDIT_PRESET","SAVED_PRESET","SAVED_PRESET_FOLDER","APPLY_PRESET","REQUEST_COMBINATIONS_LIST","REQUEST_COMBINATIONS_SUCCESS","REQUEST_COMBINATIONS_FAILED","REQUEST_COMBINATIONS_ERROR","REQUEST_CREATE_COMBINATIONS_SUCCESS","REQUEST_CREATE_COMBINATIONS_FAILED","REQUEST_CREATE_COMBINATIONS_ERROR","CLONE_COMBINATION","DELETE_COMBINATION","UPDATE_COMBINATION","RESET_PRESET","ADD_PRESET_TO_LIST","LOAD_COMBINATION","IFRAME_TAKE_SCREENSHOT","ENABLE_AR_IFRAME","RESET_CAMERA_IFRAME","ENABLE_ROTATION_IFRAME","LOAD_PRESET_LAYER","LOAD_PRESET_FOLDER_LAYER","ENABLE_ANNOTATIONS","SELECT_ANNOTATIONS","TITLE_ANNOTATIONS","ENABLE_TAA","ENABLE_SSR","INTENSITY_SSR","REQUEST_PUBLIC_UPLOADED_FILES_SIZE_SUCCESS","REQUEST_TEXTURES_SIZE_SUCCESS","REQUEST_IMAGES_SIZE_SUCCESS","REQUEST_COMBINATIONS_SIZE_SUCCESS","REQUEST_ACTIVITY_SUCCESS","CHANGE_SIDE","REQUEST_TRANSACTION_SUCCESS","REQUEST_USER_PERMISSION","GET_STORAGE_SUMMARY","ENABLE_FRUSTUM_CULLING","CHANGE_NORMAL_SCALE_X","CHANGE_NORMAL_SCALE_Y","CHANGE_NORMAL_MAP_TYPE","SCENE_INFO_ALERT","TextureExporter","CADEDITOR","icad","removeAudioMaterial","obj","getState","sceneConfig","removeAudio","addAudio","inputFile","onchange","e","files","Array","from","file","isArray","url","click","toggleAudioPlay","playAllSounds","toggleAudioStop","stopAllSounds","removeAmbientAudio","addAmbient","addAmbientAudio","toggleAnimationPlay","playAllAnimations","toggleAnimationStop","stopAllAnimations","saveSceneConfigToState","materialsList","materialsLibrary","getMaterialLibrary","Object","entries","materials","key","push","label","config","groundReflection","enable","setGroundReflectionParams","count","setInterval","meshes","forEach","params","setItem","clearInterval","logoParams","getLogoParams","setLogoParams","camera","orbitParams","zoomSpeed","arSettings","getXRParams","get","success","userPermission","catch","error","message","downloadScene","exportScene","link","createElement","JSON","stringify","download","body","appendChild","removeChild","downloadGltf","snapCanvas","changeSceneView","changeCameraMode","mode","changeCameraPositionXSetting","position","changeCameraPositionYSetting","changeCameraPositionZSetting","changeCameraTargetSetting","changeCameraSetting","p","getCameraParams","resetCamera","changeSsaoDownscaleLevel","ssao","enabled","downscaleLevel","changeStraightenModelRotateSetting","getRotation","resetStraightenModel","takeScreenshot","changeGroundShadowSide","groundShadow","side","viewReflection","physical","diffuseMap","downloadReflection","loadReflection","clearAll","removeBackground","selectObject","selectedObjects","pickedObject","objs","selectedObjectsInState","objects","materialId","object","uuid","mesh","map","length","selected","mapType","makeDiamond","filter","el","newMaterialKey","Date","now","materialDiamondDefaultSettings","importMaterialParams","setMaterialParams","isDiamond","makeStandard","materialStandardDefaultSettings","makeRefraction","materialRefractionDefaultSettings","isRefraction","uploadMaterial","reader","FileReader","readAsText","onload","parse","result","uploadedMaterial","changeStandardMaterialAlphaMapIntensity","envMapIntensity","selectedMaterial","changeStandardMaterialLightMapIntensity","lightMapIntensity","changeStandardMaterialAoMapIntensity","aoMapIntensity","changeStandardMaterialEmissiveIntensity","emissiveIntensity","changeStandardMaterialBumpScale","bumpScale","changeMinimumDistance","minDistance","changeMaximumDistance","maxDistance","changeMaxPolarAngle","maxPolarAngle","changeMinPolarAngle","minPolarAngle","changeMaxAzimuthAngle","maxAzimuthAngle","changeMinAzimuthAngle","minAzimuthAngle","downloadMaterial","getMaterialParams","exportMaterialParams","uploadMapFile","propName","importTexture","texture","normalScale","x","y","ccc","encodingInt","encoding","sampler","getSampler","setSampler","setDirty","colorMapEncodingPrivate","WEBGL_CONSTANTS","SRGB_ENCODING","mapWrapU","wrapS","WEBGL_TO_THREE","mapWrapV","wrapT","openMapFile","openTexture","downloadMapFile","downloadTexture","split","removeMapFile","applyMaterialFromDBToLayer","layerId","uuidPreset","uuidPresetFolder","mat","group","highlightObjects","apply","edgeStrength","getTweener","to","onUpdate","setOutlineParams","start","privateApplyingPreset","uploadScene","so","comb","combinations","presetList","importScene","setCameraParams","taaParams","getTAAParams","setTAAParams","falloff","setGroundShadowParams","annotationsEnabled","enableAnnotations","loading","userId","jwt_decode","uuids","layerInter","i","layers","layer","materialFolderId","uploadCubeMap","setBackgroundFile","setEnvironment","setDiamondEnv","setBackground","imageBasedLighting","uploadEquirec","refractionMaterialToggleVisibility","visible","uploadEnvironment","onloadend","base64String","loadTexture","filename","setSceneEnvironment","readAsDataURL","backgroundLoadImage","background","selectMaterial","materialKey","newMaterial","deletePresetFolder","presetsUpdated","presetLibrary","presets","preset","deletePreset","presetFolder","folderInfo","filteredPresets","privateApplyPresetAndPresetFolderToLayer","presetFolderList","preset_layer","preset_folder_layer","undefined","chosenPresetUuid","listLayerIds","includes","responseMaterial","status","applyPreset","loadCombinations","isUpdate","combination","hasError","getTransactions","transactions","getActivityInfo","user","remain","default","extra","expired","getStorageSummary","summary","refreshCombinationsSizeAfterDelete","totalSize","getCombinationsSize","skip","limit","search","Number","combs","combinationsList","response2","storage","storageLimit","storageExpired","storageExpiredDate","login","payload","selectMeshes","matchedMaterial","downloadMaterials","exportMaterialConfig","loadMaterials","importMaterialConfig","saveCombinationToState","takeScreenshotIframe","enableArIframe","iframe","resetCameraIframe","createTracker","err","enableRotationIframe","autoRotate","uploadFiles","changeAnnotationText","changeAnnotationTitle","title","removeAnnotation","remove","changeSide","valueText","getImagesSize","imageList","imageTotalSize","getTexturesSize","textureList","textureTotalSize","loadDefaultSceneEnv","LinearEncoding","sRGBEncoding","loadDefaultDiamondEnv","setDiamondEnvironment","convertHexToRgb","hex","charAt","substr","r","g","values","parseInt","dowloadGltf","exportGeometry","canvas","width","zIndex","border","borderColor","getSnapshot","img","getSnapshotData","props","setReflection","RepeatWrapping","repeat","set","SpinnerSmall","Spinner","animation","role","variant","showInterval","_logoTweener","DeleteCombinationsModal","state","show","handleClose","setState","handleShow","deleteCombination","Fragment","deleteBtn","onClick","this","Modal","onHide","centered","Header","closeButton","Title","closeIcon","Body","Row","Col","md","Button","disabled","Component","mapDispatchToProps","combinationsUpdated","connect","CloneCombinationModal","cloneCombination","oldUuid","combinationToClone","splice","LoginForm","email","password","checkedWidget","checkedEmbedded","handleChange","handleWidgetCheckboxChange","widget","handleEmbeddedCheckboxChange","embedded","alert","Table","paddingRight","placeholder","onChange","marginBottom","helperPC","HelperModal","helperIcon","handleCloseHelper","msFullscreenElement","childNodes","nameEQ","ca","c","readCookie","iconSrc","color","First3DMModal","checked","d","setTime","getTime","expires","toGMTString","uploadedFiles","path","match","fontSize","marginTop","Footer","backgroundColor","FirstGlbModal","WelcomeModal","location","pathname","fontWeight","Viewer","mousePosition","Vector2","mouseDownTime","lastMouseDownTime","draggingAnnotation","_logoVisibility","_logoState","mouseWheelTime","userInfo","userObj","onKeyUp","intersection","rayCast","root","pickRoot","removeObject","controls","getTransformControlParams","setTransformControlParams","onPointerWheel","today","setHours","getHours","onPointerMove","tooltipSpan","clientX","clientY","setIntersection","hitLogo","isShowLinkToolTip","onPointerUp","delta","find","value1","selectedObject","Map","hitAnnotations","ctrlKey","addAnnotation","selectAnnotations","clear","_pickedObject","transformControlParams","pickedRoot","onPointerUp2","isMobile","onPointerDown","animateCameraTarget","onPointerDownDouble","getFileObject","filePathOrUrl","cb","xhr","XMLHttpRequest","responseType","addEventListener","send","getFileBlob","lastModifiedDate","blobToFile","_object","userData","isRootObject","parent","loadPresets","newState","changeCameraPositionSetting","React","createRef","useEffect","impersonate","mustLogOut","removeItem","userTmp","isActive","reload","lang","_tweenLogo","finalState","duration","stop","fState","l","o","abs","opacity","onComplete","exitHandler","originalCanvasHeight","canvas1","current","API","gemConfig","quality","diamondClass","annotationIconParams","maxAnnotations","annotationUrl","columns","padding","isAllowWatermarkLogo","image","logoUrl","positionY","logoPositionY","positionX","logoPositionX","logoStayDuration","logoFadeInDuration","logoFadeOutDuration","animationLoopCallback","time","logoMinActionTime","min","animationLoop","xrParams","setXRParams","play","checkAR","platform","mySpans","arBut","innerText","modal","btn","span","element","textContent","changeSidebarHeight","defaultSceneEnv","exposure","default_env_exposure","toneMappingSaturation","default_env_saturation","toneMappingContrast","default_env_contrast","setEnvMapRotation","default_env_rotation","defaultBackground","fileObject","defaultDiamondEnv","importModelFiles","setSSRParams","animationSet","getModelAnimation","defaultTAA","setSSAOParams","dampingFactor","setMinCameraNearClip","zoom","fov","setSharpenIntensity","FileLoader","load","gizmoParams","ev","elem","documentElement","requestFullscreen","webkitRequestFullscreen","msRequestFullscreen","mediaRecorder","offsetHeight","closest","recordScreen","screen","mediaDevices","getDisplayMedia","audio","video","mediaSource","ideal","createRecorder","stream","mimeType","recordedChunks","MediaRecorder","videoBitsPerSecond","ondataavailable","date","dateString","toISOString","startRecordTime","diffTime","startRotateTime","onstop","tracks","getTracks","saveFile","track","revokeObjectURL","_objectContainer","speed","axis","direction","timeOutMilSecs","timeOut","timeOutMilSecsStop","bb","rotateAround","Vector3","PI","onStart","dateString2","isJson","str","isNaN","minSpeed","maxSpeed","minZoom","maxZoom","screenSpacePanning","enablePan","enableZoom","frustumCulling","resetCameraView","outline","z","resetCameraTarget","enableBevel","sharpnessStatus","sharpness","enableDebug","intensity","radius","setBloomParams","unrealBloom","strength","threshold","straightenRotationAxis","straighten","resetRotation","setDofParams","dof","enableEdit","crossColor","crossRadius","nearBlurScale","farBlurScale","depthRange","autoRotateSpeed","m","toneMappingExposure","envMapRotation","pixelRatio","enableTAA","enableSSR","intensitySSR","switchCases","environment","json","bg","diamondEnvironment","diamond","ref","visibility","right","MenuGroup","collapsed","arrowDown","arrowUp","children","changeDownSampleRatio","downSampleRatio","changeStandardMaterialLineWidth","wireframe","wireframeLinewidth","changeMaxZoom","changeMinZoom","useState","dispatchAction","Form","Control","readonly","readOnly","tabIndex","onBlur","newContent","insertFile","selectedFiles","dropzoneRef","history","useHistory","openDialog","noClick","noKeyboard","accept","onDrop","getRootProps","getInputProps","acceptedFiles","MenuItemCheckbox","toggleAudioMaterialLoop","toggleAudioLoop","toggleAnimationLoop","logoToggle","changeBevelSetting","enableSharpnessSetting","enableSsaoSetting","enableSsaoBlur","enableDebugSsaoSetting","enableBloomSetting","enableGroundShadow","enableSmoothTransition","enableSmooth","enableGroundReflection","enableGroundReflectionPhysical","enableEditDof","enableDof","enableAutoRotate","standardMaterialEnableWireframe","pickedGroupToggleVisibility","enableAr","enableArGroundShadows","enableFrustumCulling","switchOldNewCamera","gizmoEnabled","Check","smoothTransition","groundShadows","taa","enableTAAInterval","animationParams","loop","setAnimationParams","getAmbientAudio","setLoop","getAudio","blur","autoPushTarget","previousBG","Color","MenuItemInputRange","additional","changeMinCameraNearClip","changeNearFarMultiplier","changeDampingFactor","feedBackMin","feedBackMax","changeAudioMaterialVolume","changeAudioVolume","changeAnimationTimeScale","logoScale","changeCameraZoom","changeFovSetting","changeEdgeGlowSetting","changeEdgeThicknessSetting","changeEdgeStrengthSetting","changePulsePeriodSetting","changeSharpnessSetting","changeSsaoIntensitySetting","changeSsaoRadiusSetting","changeBloomStrengthSetting","changeBloomRadiuSetting","changeBloomThresholdSetting","changeNumSamplesSetting","changeNumSamplesPerFrameSetting","changeGroundBrightnessSetting","changeBlurRadiusSetting","changeGroundSharpnessSetting","changeFalloffSetting","changeReflectionRoughnessSetting","changeReflectionMetalnessSetting","changeReflectionSizeSetting","changeCrossRadiusSetting","changeNearBlurScaleSetting","changeFarBlurScaleSetting","changeDepthRangeSetting","changeAutoRotateSpeedSetting","changeBoostFactorXSetting","changeBoostFactorYSetting","changeBoostFactorZSetting","changeEnvMapIntensityDiamond","changeRefractiveIndexDiamond","changeGeometryFactorDiamond","changeSquashFactorDiamond","changeDispersionDiamond","changeReflectivityDiamond","changeAbsorptionFactorDiamond","changeGammaFactorDiamond","changeStandardMaterialOpacity","changeStandardMaterialRoughness","changeStandardMaterialMetalness","changeStandardMaterialEnvMapIntensity","refractionMaterialRefractionIndex","refractionMaterialRefractionRoughness","refractionMaterialRoughness","refractionMaterialMetalness","refractionMaterialTransparency","changeObjectScaleSetting","changeReticleSizeInSetting","changeReticleSizeOutSetting","changeReticleFadeThreshSetting","changeReticleFadeTimeSetting","changeToneMappingExposureSetting","changeToneMappingSaturationSetting","changeToneMappingContrastSetting","changeEnvMapRotationSetting","changeBevelRadius","changePixelRatio","changeMapRepeatU","changeMapRepeatV","changeNormalScaleX","changeNormalScaleY","handleTextBoxChange","inputVal","handleSliderChange","step","maxValue","minValue","autoComplete","edgeGlow","edgeThickness","pulsePeriod","numSamples","numSamplesPerFrame","brightness","blurRadius","roughness","metalness","boostFactors","refractiveIndex","geometryFactor","squashFactor","dispersion","reflectivity","absorptionFactor","gammaFactor","refractionIndex","refractionRoughness","transparency","objectScale","reticleSizeIn","reticleSizeOut","reticleFadeThresh","reticleFadeTime","bevelRadius","timescale","setVolume","setCameraNearFarMultiplier","normalScaleX","MenuItemDropdown","changeNormalMapType","colorMapEncoding","gizmoChangeMode","as","options","option","normalMapType","downscaleLevels","groundShadowSides","mapWrapUV","subVal","LINEAR_ENCODING","MenuItemColorPicker","showColorPicker","colorValue","changeVisibleEdgeColor","changeHiddenEdgeColor","setBackgroundColor","changeCrossColor","changeMaterialColor","changeStandardMaterialColor","changeStandardMaterialEmissiveColor","refractionMaterialTintColor","refractionMaterialDiffuse","changeReticleColorSetting","hideColorPicker","handleColorChangeComplete","onMouseLeave","onMouseOver","disableAlpha","visibleEdgeColor","hiddenEdgeColor","emissive","refractionTintColor","diffuse","reticleColor","CombinationsSizeFileDownload","fileUrl","downloadFile","fileUrls","downloadFiles","uploading","onFileChange","onFileUpload","selectedFile","formData","paths","onClearFiles","multiple","rows","CombinationsSizeName","tag","description","fileTypes","emails","nameChange","priceChange","tagChange","descChange","fileTypesChange","emailsChange","updateCombination","Group","galleryUrl","protocol","hostname","sendInvitation","originalUuid","referenceUuid","CombinationModal","isShow","setShow","setHide","openUrl","margin","helpIcon","configuratorsTemplates","template","isAnnotation","annotationCommentsEmails","Combination","isPublic","allowComment","checkedConfigurator","handleConfiguratorCheckboxChange","configurator","querySelector","staticImgNameCheck","publicChange","staticImgModeChange","allowCommentChange","errorRow","colSpan","verticalAlign","totalView","createDate","toLocaleString","year","month","day","defaultChecked","textAlign","paddingLeft","marginRight","isAllowIFrame","isAllowConfigurator","isAllowAnnotation","remainingCombinations","combinationUpdated","GetEmbeddedCombinationLinkModal","chosenCombinationId","loadCombination","combinationUuid","getMaterial","getConfig","getGeometry","GetWidgetCombinationLinkModal","GetConfiguratorCombinationLinkModal","Combinations","embeddedUuid","widgetUuid","configuratorUuid","embeddedCombinationUuid","widgetCombinationUuid","configuratorCombinationUuid","username","configurators","widgets","embeddeds","openGallery","loggedIn","isEmpty","createdCombination","AddCombinationModal","closeParentPopup","addNewCombination","parentElement","sort","commonFunction","layersResponse","geometry","presetIds","getComputedStyle","v","info","sceneInfo","res","prop","AddCombinationSceneInfoAlertModal","sceneInfoAlert","renderText","renderValue","renderClass","convertToMb","isByteValue","infos","sceneInfos","param","high","low","borderRadius","maxWidth","desc","ShowCombinationsModal","UploadFileModal","chooseUploadFile","upload","paddingTop","paddingBottom","xs","LoginModal","lang_en","lang_vn","lang_fr","lang_it","create_your_cadgl_account","CombinationsSizePublic","CombinationsSizeAllowComment","CombinationsCreations","deleting","defaultActiveKey","combinationIds","updateSearchField","searchCombination","deleteSelected","ids","deleteImage","fileName","deleteTexture","presetUuid","presetFolderUuid","downloadCombination","loadCombinationSize","loadImageSize","loadTextureSize","loadStorageSummary","updateCombinationName","chooseCombination","combUUids","Tabs","activeKey","onSelect","k","Tab","eventKey","textTransform","float","confirm","marginLeft","maxHeight","createdDate","PplDescriptionModal","ppl","priceOneMonth","priceThreeMonth","priceSixMonth","priceOneYear","limitedFileSize","clickViewPerMonth","CombinationVideoHelpModal","frameborder","allow","allowfullscreen","PplModal","client","production","sandbox","chosenPpl","period","shape","layout","onError","onSuccess","payment","paymentID","pplChange","env","total","CombinationsSize","lastRecord","deletePublicUploadedFiles","getPublicUploadedFilesSize","loadPublicUploadedFiles","onKeyDown","preventDefault","pplExpired","hour","minute","second","pplViewClickCountdown","combinationSize","sizeLimit","imgType","publicUploadedFilesList","publicUploadedFilesTotalSize","used","publicUploadedFiles","Activity","Transactions","transaction","combinationName","transactionDate","LogoutForm","showCreations","showActivity","showChangePassword","confirmPassword","submittingChangePassword","passwordError","showUpdateNotificationSettings","disableViewsClicksNotification","disableStorageNotification","submittingUpdateNotificationSettings","submittingUpdateProfile","languageShow","defaultEnvShow","defaultBackgroundType","paypalShow","paypal","paypalSandboxId","paypalProductionId","profileImage","coverImage","bio","country","city","defaultAnnotationIconShow","loadingUrl","swipeUrl","selectedLogoUrl","selectedLoadingUrl","selectedSwipeUrl","getRoundedValue","defaultValue","round","openViewProfile","logout","viewCreations","viewStorage","viewActivity","viewTransaction","showTransaction","handleCloseCreations","handleCloseTransaction","handleCloseActivity","openChangePassword","handleCloseChangePassword","uploadProfileImage","materialLabelData","uploadCoverImage","inputBio","inputUsername","inputCountry","inputCity","inputAnnotationUrl","inputLoadingUrl","inputLogoUrl","handleFileSwipeChange","handleFileLoadingChange","handleFileLogoChange","submitUpdateProfile","submitChangePassword","inputNewPassword","inputConfirmPassword","openUpdateNotificationSettings","handleCloseUpdateNotificationSettings","submitUpdateNotificationSettings","toggleDisableViewsClicksNotification","toggleDisableStorageNotification","setLanguage","handleLanguageClose","setLangEng","setLang","setLangVn","setLangFr","setLangIt","setPaypal","paypalClose","savePaypal","setPaypalSandbox","pp","setPaypalProduction","setPaypalCurrency","setDefaultAnnotationIcons","handleDefaultAnnotationIconsClose","setDefaultSwipeIcons","defaultSwipeIconShow","handleDefaultSwipeIconsClose","setDefaultLoadingIcons","defaultLoadingIconShow","handleDefaultLoadingIconsClose","setDefaultLogoIcons","defaultLogoIconShow","handleDefaultLogoIconsClose","setDefaultEnv","handleDefaultEnvClose","triggerDefaultEnvFile","triggerDefaultDiamondFile","triggerDefaultBackground","saveDefaultDiamondEnv","saveDefaultAnnotationUrl","saveDefaultSwipeUrl","saveDefaultLoadingUrl","saveDefaultLogoUrl","uploadDefaultSwipeUrl","uploadDefaultLoadingUrl","uploadDefaultLogoUrl","saveDefaultSceneEnv","saveDefaultBackground","changeDefaultBackgroundType","resetDefaultSetup","paypalProps","my_account","default_scene","set_default_scene_env","tooltip","saturation","rotation","contrast","set_default_diamond_env","set_default_background","inline","view_storage","view_activity","default_annotation_icons","custom_annotation_icons_url","isAllowCustomSwipeIconSetting","custom_swipe_icons_url","inputSwipeUrl","isAllowCustomLoadingSetting","custom_loading_icons_url","isAllowCustomLogoSetting","custom_logo_icons_url","stay_duration","fade_in_duration","fade_out_duration","position_x","position_y","isShowBuyNowButton","set_paypal","set_paypal_sandbox","set_paypal_production","view_orders","notification_settings","Label","disable_views_clicks_notification","disable_storage_notification","submit","edit_profile","controlId","fontStyle","class","submit_all","isShowGallery","open_gallery","view_profile","set_language","PostProcessSettings","bevel","bloom","liveFocus","logo","annotations","ssr","ignoreAnimation","toggleIgnoreAnimation","toggleMenuVisibility","keys","toggleAnnotationUrlChange","isShowSharpness","sharpness_tab","isShowSSAO","enable_debug","isShowSSR","enable_taa","feedback_min","feedback_max","enable_ssr","getSSRParams","isShowBloom","strenth","isShowLiveFocus","live_focus","enable_edit","cross_color","cross_radius","near_blur_scale","far_blur_scale","depth_range","isAllowAR","ar_settings","ground_shadows","reticle_color","reticle_size_in","reticle_size_out","reticle_fade_thresh","reticle_fade_time","isAllowWatermark","logo_watermark","isShowAnimation","time_scale","open_files","ignore_animation","near_far_multiplier","getCameraNearFarMultiplier","isShowAudio","add_ambient","volume","getVolume","getLoop","create_your_combinations","selectedDiamondEnv","envClick","selectedSceneEnv","MenuItemInputRange2","changeZoomSpeed","changeMinimumSpeed","changeMaximumSpeed","isNeedValueChange","valueChange","disableInput","MenuItemInputRangeMaxAzimuth","resetValue","originalValue","MenuItemInputRangeMinAzimuth","SaveScene","sceneName","saveScene","save","originalMinAzimuth","originalMaxAzimuth","RestrictCameraModal","showRestrictCamera","restrictCameraClickInternal","restrictCameraClick","zoom_in","zoom_out","restrict_down","restrict_up","restrict_left","restrict_right","gizmoOptions","SceneSettings","apiLoaded","sceneSetup","sceneView","straightenModel","cameraMode","restrictCamera","sceneEnvironment","gizmo","screenshot","screenrecording","icons","enableFullscreen","enableHelper","enableScreenshot","enableChangeBackground","enableMeasurement","enable3DConfigurator","enableCameraDoubleClick","recordingQuality","recordingRotateSpeed","recordingRotateAxis","recordingRotateDirection","recordingRotateDiffMilSecond","restrictCameraChange","forceUpdate","toggleFullScreen","toggleHelper","toggleScreenshot","toggleChangeBackground","toggleMeasurement","toggle3DConfigurator","toggleCameraDoubleClick","sceneEnvClick","diamondEnvClick","recordingQualityChange","recordingRotateSpeedChange","recordingRotateAxisChange","recordingRotateDirectionChange","recordingRotateDiffMilSecondChange","scene_setup","open_scene","export_glb","save_scene","scene_environment","load_environment","overflowX","overflowY","diamond_environment","load_image","rotate_model","reset","rotate_x","rotate_x_1","rotate_x_2","rotate_y","rotate_z","isShowSceneView","scene_view","right_view","left_view","top_view","down_view","front_view","back_view","isAllowOutline","visible_edge_color","hidden_edge_color","down_sample_ratio","edge_glow","edge_thickness","edge_strength","pulse_period","camera_double_click","enable_frustum_culling","screen_panning","min_camera_near_clip","getMinCameraNearClip","zoom_speed","floor","random","reset_camera_target","recenter","reset_camera","isShowRestrictCamera","restrict_camera","enable_zoom","enable_pan","ground_shadows_tab","samples","samples_per_frame","blur_radius","smooth_transition","enable_smooth","isShowGroundReflection","ground_reflection","backplate","load_file","view","isShowAutoRotate","auto_rotate","auto_rotate_speed","take_screenshot","pixel_ratio","isShowScreenRecording","textAlignLast","isShowIcons","fullscreen","show_icons","show_fullscreen","show_info","show_screenshot","show_change_background","show_3d_configurator","measurement","MenuItemButton3","LayerInfo","isSelected","labelUrl","displayName","isUpdatingPrice","isUpdatingTag","handleVisible","uploadLayerLabel","layer_name","layers_label","layerLabelData","labelPath","updateDisplayName","layers_display_name","updateTag","layers_tag","updatePrice","layers_price","updateLayer","orgName","presetFolderName","presetName","RenameMaterial","changeMaterialName","updateField","MenuItemFullSizeDropdown","MenuItemFullSizeDropdown2","SaveAsPresetModal","presetPrice","folderUuid","materialData","materialTmp","savingPreset","handleFolderChange","savePreset","save_material","material_name","material_price","select_material_folder","select_material_label","use_generate_color","DeletePresetModal","trashIcon","EditPresetModal","folderName","editPreset","brushIcon","rename_material","enter_new_material_name","update","ApplyPresetModal","layerUuid","Preset","displayData","PresetName","borderTop","DeletePresetFolderModal","EditPresetFolderModal","editPresetFolder","rename_material_folder","enter_new_material_folder_name","ApplyPresetFolderModal","applyPresetFolder","PresetFolder","collapse","PresetsLibrary","menusCollapsedState","collapseMenu","folder","CreatePresetFolderModal","savePresetFolder","sideOptions","WarpUVDropdown","MaterialSettings","materialGroup","showObjects","lightMap","aoMap","emissiveMap","bumpMap","normalMap","roughnessMap","metalnessMap","alphaMap","materialLibrary","layersPrice","layersTag","layersLabel","layersDisplayName","instances","material_layers","picked_layers","picked_layer","meshCount","make_standard","make_refraction","make_diamond","isShowMaterialAudio","add_audio","material_library","new_folder","diamond_material","refraction_material","standard_material","load_material","save_as_new_material","boost_x","boost_y","boost_z","environment_intensity","index_of_refraction","squash","absorption","gamma","color_map","set_replace_file","replace_file","set_file","open_file","download_file","remove_file","wrap_u","wrap_v","repeat_u","repeat_v","isShowLightMap","light_map","isShowAOMap","ao_map","rpeat_u","isShowEmissiveMap","emissive_map","bump_map","bump_scale","normal_map","scale_x","scale_y","normal_map_type","roughness_map","metalness_map","isShowAlphaMap","alpha_map","isShowWireframe","refraction_roughness","MyAccount","Sidebar","settings","process","account","currentTab","tooltipTab","toggleTabVisibility","Container","sm","scene_settings","Item","Link","material_setup","plugins","Content","SceneSettingsContainer","MaterialSettingsContainer","PostProcessSettingsContainer","MyAccountContainer","Configurator","productContent","bottom","Boolean","initialState","fixNormalScale","wrongNormalScale","reducer","action","newMaterials","trackers","listColumn","availableFilters","filters","loadingReport","hasErrorReport","errorReport","combineReducers","tracker","middleware","thunk","composedEnhancers","compose","applyMiddleware","createStore","rootReducer","dateRange","startDate","endDate","showDateRangePicker","handleSubmit","option2","firstDay","lastDay","getFullYear","getMonth","getDate","loadReportRequest","handleDatePicker","item","selection","loadFiltersRequest","calendar","ranges","moveRangeOnFirstSelection","editableDateInputs","onSubmit","defaultOption","report","listColum","Tracker","Trackers","hasData","borderless","csvData","prevProps","prevState","snapshot","SidebarContainer","offset","loadInitialReportRequest","Confirmation","fluid","CombinationIcons","page","go3DConfigurator","HardwareAccelerationModal","componentWillReceiveProps","nextProps","warningIcon","isFirstClick","isFullScreen","currentCombinationName","currentCombinationUrl","isIgnoreAnimation","sound_on","sound_off","auto_rotate_stop","annotation_on","annotation_off","annotationComments","isOnwer","isOwnerEmail","calculateMousePosition","changedTouches","materialsLibraryLocal","uid","withRouter","isShow3D","canvasHeight","gpu","useCustomLoading","setUseCustomLoading","customLoading","setCustomLoading","showHardwareModal","timeTimeout","setProperty","annoWidth","annoHeight","annotationHiddenAlpha","annotationHighlightTint","gRefl","getGroundReflectionParams","initial","combinationList","opt","Option","renderAnnotationComments","comments","commentRenderers","reverse","emailAllowed","comment","renderComment","contentArr","content","tmpContent","contentFinal","join","annotationCommentsDeletes","querySelectorAll","myFunction","getAttribute","per","percentageInterval","ceil","cameraParams","xrInterval","textField","focus","select","setSelectionRange","execCommand","countLayer","layersList","lay","annotationList","loaded","xhrTotal","originalFileSize","exitFullscreen","webkitExitFullscreen","msExitFullscreen","orbitP","screenPosition","cameraOn","chosenLayer","coreFeature","hamburger","design_approval","job_description","lineHeight","hide_layer","annotations_low","hide_annotation","tools","change_background","take_screenshot_label","ColorLabel","colorCode","Controls","materialColors","scene","theme","cameraIcon","cameraIconBlack","rotateIcon","rotateIconBlack","resetIcon","resetIconBlack","disableIcon","enableIcon","changeTheme","lightStyle","darkStyle","overflow","onMoveCameraByArrowKey","useCustomSwipe","setUseCustomSwipe","customSwipe","setCustomSwipe","isInIFrame","xrOverlay","annotationWidth","annotationTint","isCameraDoubleClick","isUseCDN","lastIndexOf","opa","webkitEnterFullscreen","setAttribute","swiper360","ZoomAlertModal","variationName","variationPrice","variationPriceOriginal","variationDesc","materialsForQuotation","hiddenMaterialsLibraryLocal","layersMaterial","layersVisiblePrice","totalPrice","currentTag","currencyLocal","presetFolderLayer","layerHavePresetFolder","setCurrency","checkoutShow","quotationPCShow","quotationMobileShow","checkoutSuccessShow","quotationEmail","quotationQuestion","quotationSubmitting","leo","mmax","cdnUrl","arrPath","layerList","totalMaterialLayer","firstMaterialLayerId","countPresetFolderLayer","presetIdArr","meshesArr","countMaterials","selectList","layerName","presetPanelId","panels","firstElementChild","presetPanel","subDiv","val","textDisplay","labelColor","parentNode","contains","listPresetDom","beforeApplyColor","reCalculateTotalPrice","intervalPresetFolderLayer","presetLayer","presetId","presetData","isIphone","presetDataParsed","applyColor","selectLayer","fl","presetsDom","hiddenLayerList","labelDiv","hasOwnProperty","listLayerDom","rotateOn","urlArr","newUrl","handleCheckoutClose","handleCheckoutSuccessClose","openQuotation","jsonFile","layersShowOnQuotation","handleQuotationClose","onChangeQuotationEmail","onChangeQuotationQuestion","submitQuotation","checkEmail","String","toLowerCase","materialLayers","question","configurator_3d","quotation","configuration","material_layers_2","variationQuestion","buy_now","checkout","transactionId","address","payerID","paymentToken","pick_a_layer","swap_layer","colors","hide_selected_layer","auto_rotate_2","templateName","fadeTarget","activePresetId","setActivePresetId","activeLayerId","setActiveLayerId","apiReact","setApiReact","selectedLayer","setSelectedLayer","selectedLayerWithTag","setSelectedLayerWithTag","panelVisible","setPanelVisible","selectedTag","setSelectedTag","userReact","setUserReact","layersReact","setLayersReact","materialsReact","setMaterialsReact","selectedCollection","setSelectedCollection","collections","setCollections","layerPresetFoldersReact","setLayerPresetFoldersReact","setIconsReact","layerPreset","setLayerPreset","newObject","some","layersTmp","layerTmp","tagLabel","icon_inserts_2","icon_couleurs_2","icon_vitrages_2","icon_poignees_2","groupedData","reduce","acc","currentUrl","configuratorId","pop","col","collectionCombinations","navigateConfigurators","isActiveLayer","existingLayerWithTag","findIndex","isActiveCombination","j","borderBottom","selectedLayerWithTagIndex","existingLayerWithPresetIndex","existingIndex","handleCombinationLayerClick","transition","borderWidth","borderStyle","handleCombinationHiddenLayerClick","index2","handlePresetClick","borderRight","justifyContent","collection","whichTemplate","LeoNguyenTemplate01","LeoNguyenTemplate02","DoorTemplate","CadGLTemplate","ReactDOM","render","StrictMode","store","exact","component","CombinationRenderer","IFrameRenderer","ConfiguratorRenderer","TrackersContainer","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.73bf3c92.chunk.js","sourcesContent":["import React from \"react\";\r\nimport { Navbar } from \"react-bootstrap\";\r\nimport './Navbar.css';\r\nimport logo from '../../assets/logo-4-3-x.png';\r\n\r\nfunction Nav() {\r\n return(\r\n \r\n \r\n \r\n \r\n \r\n CadGL - 3D Configurator\r\n \r\n \r\n )\r\n}\r\nexport default Nav","export default \"data:image/png;base64,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\"","import axios from 'axios';\r\nimport jwt_decode from \"jwt-decode\";\r\n\r\nlet bearer = \"Bearer \";\r\n//Auth for Local\r\n\r\n//Auth for staging\r\n\r\n\r\n\r\n//Check browser disable cookie\r\nvar cookieEnabled = navigator.cookieEnabled;\r\nif (!cookieEnabled){ \r\n document.cookie = \"testcookie\";\r\n cookieEnabled = document.cookie.indexOf(\"testcookie\")!=-1;\r\n}\r\n\r\nlet token = null;\r\nif(cookieEnabled){\r\n token = localStorage.getItem('user');\r\n}\r\n\r\n\r\nlet auth = token != null ? bearer.concat(token.replace(/\"/g, \"\")) : null;\r\n//let decoded_jwt = jwt_decode(localStorage.getItem('user'));\r\nlet Axios = null;\r\nconst baseURL = 'https://api.cadgl.com/api/v1/';\r\nif(auth){\r\n Axios = axios.create({\r\n baseURL: baseURL,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Authorization\": auth\r\n }\r\n })\r\n \r\n}else{\r\n Axios = axios.create({\r\n baseURL: baseURL,\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n}\r\nexport default Axios;\r\n","import axios from '../../axios';\r\n\r\nvar currentCombinationUrl, currentCombinationName = \"\";\r\n\r\nexport function renderAnnotationIcon(api) {\r\n \r\n let allAnnotation = api.getAllAnnotations();\r\n for(let annotation of allAnnotation)\r\n {\r\n if(annotation.index == 0){\r\n console.log(\"annotation.hidden: \" + annotation.hidden);\r\n if(!annotation.hidden){\r\n document.getElementById(\"annotationIcon\").style.display = \"block\";\r\n }else{\r\n document.getElementById(\"annotationIcon\").style.display = \"none\";\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport function setDefaultRatio(api){\r\n api.setDisplayPixelRatio(window.devicePixelRatio);\r\n api.setViewerSize(document.getElementById('canvas').clientWidth, document.getElementById('canvas').clientHeight);\r\n if(window.innerWidth < window.innerHeight){\r\n api.setAnnotationWidth(30 * 1920 / Math.max(window.innerWidth, window.innerHeight));\r\n }else{\r\n let isInIFrame = window.self !== window.top;\r\n if(isInIFrame){\r\n var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;\r\n if(fullscreenElement == null){\r\n api.setAnnotationWidth(80 * 1920 / Math.max(window.innerWidth, window.innerHeight));\r\n }else{\r\n api.setAnnotationWidth(80 * 1920 / Math.max(window.innerWidth, window.innerHeight));\r\n }\r\n }else{\r\n api.setAnnotationWidth(60 * 1920 / Math.max(window.innerWidth, window.innerHeight));\r\n }\r\n }\r\n if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {\r\n api.setAnnotationWidth(30 * 1920 / Math.max(window.innerWidth, window.innerHeight));\r\n }\r\n}\r\n\r\nexport function renderStaticImg(comp){\r\n switch(comp.staticImgMode)\r\n {\r\n // case 'manual':\r\n // if (window.innerWidth < window.innerHeight) {\r\n // document.getElementById(\"static-img\").src= comp.ifMoImg;\r\n // }\r\n // else\r\n // {\r\n // document.getElementById(\"static-img\").src= comp.ifPcImg;\r\n // }\r\n // document.getElementById(\"static-img\").width = \"600\";\r\n // break;\r\n case 'default':\r\n // document.getElementById(\"static-img\").src= comp.staticImg;\r\n document.getElementById(\"static-img\").style.backgroundImage = \"url('\"+comp.staticImg+\"')\";\r\n break;\r\n default:\r\n break;\r\n } \r\n}\r\n\r\nexport function renderFullscreenIconHelperIcon(comp, type){\r\n if(window.innerWidth < window.innerHeight){\r\n document.getElementById('fullScreenIcon').style.display = 'none';\r\n }else{\r\n document.getElementById('fullScreenIcon').style.display = comp.isShowFullScreen == \"true\" ? 'block' : 'none';\r\n }\r\n\r\n \r\n if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {\r\n document.getElementById('fullScreenIcon').style.display = 'none';\r\n }\r\n\r\n document.getElementById('helperIcon').style.display = comp.isShowHelper == \"true\" ? 'block' : 'none';\r\n document.getElementById('3DConfiguratorIcon').style.display = (comp.isShow3DConfigurator == \"true\" || comp.isShow3DConfigurator == true) ? 'block' : 'none';\r\n if(type != \"iframe\"){\r\n document.getElementById('changeBackgroundIcon').style.display = comp.isShowChangeBackground == \"true\" ? 'block' : 'none';\r\n document.getElementById('screenshotIcon').style.display = comp.isShowScreenshot == \"true\" ? 'block' : 'none';\r\n }\r\n document.getElementById('measurementIcon').style.display = comp.isShowMeasurement == \"true\" ? 'block' : 'none';\r\n}\r\n\r\nexport function waitAudioContext(api){\r\n let stopResuming = false\r\n let waitTime = 2000; // millisecond\r\n let resumer = () => {\r\n if(stopResuming) return;\r\n api.getAudioContext().resume().then(()=>{\r\n stopResuming = true;\r\n })\r\n setTimeout(resumer, waitTime)\r\n console.log(\"resumer\");\r\n };\r\n resumer();\r\n}\r\n\r\nexport function hideLayersAfterLoad() {\r\n if (document.getElementById(\"myLoader\")) {\r\n document.getElementById(\"myLoader\").style.display = \"none\";\r\n }\r\n if (document.getElementById(\"static-img\")) {\r\n document.getElementById(\"static-img\").style.display = \"none\";\r\n }\r\n if (document.getElementById(\"myLoader2\")) {\r\n document.getElementById(\"myLoader2\").style.display = \"none\";\r\n }\r\n if (document.getElementById(\"canvas\")) {\r\n document.getElementById(\"canvas\").style.display = \"block\";\r\n }\r\n if (document.getElementById(\"swipeIcon\")) {\r\n document.getElementById(\"swipeIcon\").style.cssText = \"position: absolute !important; left: 48% !important; display: inline !important;\";\r\n }\r\n}\r\n\r\n\r\nfunction ValidURL(str) {\r\n if(str.substring(0,4) == \"http\"){\r\n return true;\r\n }\r\n return false;\r\n // var regex = /(?:https?):\\/\\/(\\w+:?\\w*)?(\\S+)(:\\d+)?(\\/|\\/([\\w#!:.?+=&%!\\-\\/]))?/;\r\n // if(!regex .test(str)) {\r\n // return false;\r\n // } else {\r\n // return true;\r\n // }\r\n }\r\n\r\n\r\nexport function renderAnnotationModalEvent(api, annotation){\r\n if(ValidURL(annotation.text)){\r\n window.open(annotation.text, '_blank');\r\n }else{\r\n //props.selectAnnotations(annotation);\r\n api.animateCamera(annotation.cameraState);\r\n let annotationSelect = document.getElementById(\"annotationList\");\r\n if(annotationSelect){\r\n annotationSelect.value = annotation.index;\r\n annotationSelect.dispatchEvent(new Event('change'));\r\n }\r\n \r\n var modalAnnotation = document.getElementById(\"modalAnnotation\");\r\n \r\n \r\n if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {\r\n if(window.innerWidth > window.innerHeight){\r\n modalAnnotation.style.left = \"50%\";\r\n modalAnnotation.style.top = \"70%\";\r\n modalAnnotation.style.transform = \"translate(-50%, -50%)\";\r\n }\r\n }\r\n \r\n \r\n \r\n modalAnnotation.style.display = \"block\";\r\n document.getElementById(\"modal-body-annotation\").innerHTML = annotation.text;\r\n \r\n // Get the element that closes the modal\r\n var closeAnnotation = document.getElementsByClassName(\"closeAnnotation\")[0];\r\n // When the user clicks on (x), close the modal\r\n closeAnnotation.onclick = function() {\r\n modalAnnotation.style.display = \"none\";\r\n // api.resetCamera();\r\n }\r\n \r\n // When the user clicks anywhere outside of the modal, close it\r\n window.onclick = function(event) {\r\n if (event.target == modalAnnotation) {\r\n modalAnnotation.style.display = \"none\";\r\n // api.resetCamera();\r\n }else{\r\n \r\n }\r\n }\r\n }\r\n}\r\n\r\nexport function setNullIframeSrc(){\r\n let modalAnnotation = document.getElementById(\"modalAnnotation\");\r\n modalAnnotation.style.display = \"none\";\r\n if(modalAnnotation.getElementsByTagName(\"iframe\")[0]){\r\n modalAnnotation.getElementsByTagName(\"iframe\")[0].src = \"\";\r\n }\r\n}\r\n\r\nexport function truncate(source, size) {\r\n return source;\r\n //return source.length > size ? source.slice(0, size - 1) + \"…\" : source;\r\n }\r\n\r\nexport function renderAR(api, user){\r\n let xrParams = api.getXRParams();\r\n let isInIFrame = window.self !== window.top;\r\n if(isInIFrame){\r\n xrParams = api.getXRParams();\r\n xrParams.enabled = false;\r\n \r\n if(navigator.platform == 'iPhone' || navigator.platform == 'iPad' || navigator.platform == 'Win32'){\r\n api.setXRParams(xrParams);\r\n }\r\n }else{\r\n var xrInterval = setInterval(() => {\r\n xrParams = api.getXRParams();\r\n \r\n if (navigator.platform == 'iPhone' || navigator.platform == 'iPad') { // <-- Use the one here above\r\n \r\n if ('xr' in navigator)\r\n {\r\n if(!user.isAllowAR)\r\n {\r\n xrParams.enabled = false;\r\n }\r\n api.setXRParams(xrParams);\r\n }\r\n else\r\n {\r\n var mySpans = document.getElementsByTagName('a');\r\n var arBut;\r\n for(var i=0;i element that closes the modal\r\n var span = document.getElementsByClassName(\"closeAR\")[0];\r\n \r\n // When the user clicks on the button, open the modal\r\n var p = document.getElementsByClassName(\"modal-bodyAR-p\")[0];\r\n //p.innerHTML = \"Please download or open XR Viewer to view \" + \"\"+document.location+\" and experience the AR \";\r\n p.innerHTML = \"To view in AR
\"+currentCombinationName+\" (Copy link)
Use or install XR Viewer
* AR will be fully available on IOS very soon \";\r\n \r\n document.getElementById('urlClicking').addEventListener('click', function(){\r\n const textField = document.createElement('textarea');\r\n textField.innerText = currentCombinationUrl;\r\n document.body.appendChild(textField);\r\n textField.focus();\r\n textField.select();\r\n textField.setSelectionRange(0, 99999); /* For mobile devices */\r\n try {\r\n // Now that we've selected the anchor text, execute the copy command\r\n const successful = document.execCommand('copy');\r\n } catch(err) {\r\n alert(err);\r\n }\r\n document.body.removeChild(textField);\r\n alert(\"Copied to the clipboard\");\r\n });\r\n btn.onclick = function() {\r\n modal.style.display = \"block\";\r\n }\r\n \r\n // When the user clicks on (x), close the modal\r\n span.onclick = function() {\r\n modal.style.display = \"none\";\r\n }\r\n \r\n // When the user clicks anywhere outside of the modal, close it\r\n window.onclick = function(event) {\r\n if (event.target == modal) {\r\n modal.style.display = \"none\";\r\n }\r\n }\r\n }\r\n\r\n }\r\n }\r\n else\r\n {\r\n var element = document.getElementById('ARButton');\r\n if(element != null)\r\n {\r\n var txt = element.textContent || element.innerText;\r\n if(txt == 'AR NOT SUPPORTED')\r\n {\r\n element.style.display = \"none\";\r\n }\r\n }\r\n var mySpans = document.getElementsByTagName('a');\r\n var arBut;\r\n for(var i=0;i b.material.name ){\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nexport function convertPriceToString(price, currency){\r\n let symbol = \"€\";\r\n if(currency == \"USD\"){\r\n symbol = \"$\";\r\n }\r\n return symbol + parseFloat(price, 10).toFixed(2).replace(/(\\d)(?=(\\d{3})+\\.)/g, \"$1,\").toString();\r\n}\r\n \r\nexport function uploadGLBToLeo(api, viewerUrl, type, id = null){\r\n\r\n // Test Upload GLB To Leo\r\n api.sceneManager.exportSceneGltf(true, true).then(value => {\r\n let blob = new Blob([value]);\r\n let file = URL.createObjectURL(blob);\r\n let data = new FormData();\r\n data.append(\"files\", blob, 'xxx.glb' );\r\n data.append(\"id\", id );\r\n axios.post('combination/upload-object-to-leo', data,\r\n {\r\n headers: {'Content-Type': 'multipart/form-data' }\r\n }\r\n ).then(response => {\r\n let {data} = response;\r\n console.log(response);\r\n \r\n let modal3DViewer = document.getElementById(\"modal3DViewer\");\r\n if(modal3DViewer.getElementsByTagName(\"iframe\")[0]){\r\n modal3DViewer.getElementsByTagName(\"iframe\")[0].src = viewerUrl + \"/website/#model=\"+data.data;\r\n if(window.innerWidth < window.innerHeight){\r\n if(window.visualViewport.scale <= 0.75){\r\n //85%\r\n document.getElementById(\"modal3DViewer\").classList.add(\"scale-75\");\r\n }\r\n else if(window.visualViewport.scale > 0.75 && window.visualViewport.scale < 1){\r\n //85%\r\n document.getElementById(\"modal3DViewer\").classList.add(\"scale-85\");\r\n }else if(window.visualViewport.scale == 1){\r\n //100%\r\n document.getElementById(\"modal3DViewer\").classList.add(\"scale-100\");\r\n }else if(window.visualViewport.scale > 1 && window.visualViewport.scale < 1.25){\r\n //115%\r\n document.getElementById(\"modal3DViewer\").classList.add(\"scale-115\");\r\n }else if(window.visualViewport.scale >= 1.25){\r\n //115%\r\n document.getElementById(\"modal3DViewer\").classList.add(\"scale-125\");\r\n }\r\n }\r\n // alert(\"window.visualViewport.scale: \" + window.visualViewport.scale);\r\n // alert(\"Math.round(window.devicePixelRatio * 100): \" + Math.round(window.devicePixelRatio * 100));\r\n if(window.innerHeight < 900){\r\n modal3DViewer.style.transform = \"translate(0%, -110%)\";\r\n modal3DViewer.style.height = \"700px\";\r\n }else{\r\n modal3DViewer.style.transform = \"translate(0%, -107%)\";\r\n modal3DViewer.style.height = \"900px\";\r\n }\r\n\r\n switch(type){\r\n case \"annotation\":\r\n document.getElementById(\"open-3d-button\").removeAttribute(\"disabled\");\r\n document.getElementById(\"open-3d-button\").style.cursor = \"pointer\";\r\n document.getElementById(\"open-3d-button-spinner\").style.display = \"none\";\r\n break;\r\n default:\r\n document.getElementById(\"measurementIcon\").style.cursor = \"pointer\";\r\n break;\r\n }\r\n \r\n }\r\n \r\n });\r\n });\r\n}","export const LOAD_FILE_ACTION = 'LOAD_FILE_ACTION';\r\nexport const SAVE_SCENE_CONFIG_TO_STATE = 'SAVE_SCENE_CONFIG_TO_STATE';\r\nexport const DOWNLOAD_SCENE = 'DOWNLOAD_SCENE';\r\nexport const SAVE_API_TO_STATE = 'SAVE_API_TO_STATE'\r\n\r\n//Load report\r\nexport const LOAD_INITIAL_REPORT_REQUEST = 'LOAD_INITIAL_REPORT_REQUEST';\r\nexport const LOAD_REPORT_REQUEST = 'LOAD_REPORT_REQUEST';\r\nexport const LOAD_REPORT_SUCCESS = 'LOAD_REPORT_SUCCESS';\r\nexport const LOAD_REPORT_ERROR = 'LOAD_REPORT_ERROR';\r\nexport const REQUEST_TRACKERS_FILTERS = 'REQUEST_TRACKERS_FILTERS';\r\nexport const REQUEST_TRACKERS_FILTERS_SUCCESS = 'REQUEST_TRACKERS_FILTERS_SUCCESS';\r\nexport const REQUEST_TRACKERS_FILTERS_FAILED = 'REQUEST_TRACKERS_FILTERS_FAILED';\r\nexport const REQUEST_TRACKERS_FILTERS_ERROR = 'REQUEST_TRACKERS_FILTERS_ERROR';\r\nexport const LOAD_REPORT_FAILED = 'LOAD_REPORT_FAILED';\r\n\r\n//Scene settings\r\nexport const CHANGE_MIN_CAMERA_CLIP = 'CHANGE_MIN_CAMERA_CLIP'\r\nexport const CHANGE_FAR_NEAR_MULTIPLIER = 'CHANGE_FAR_NEAR_MULTIPLIER'\r\nexport const CHANGE_DAMPING_FACTOR = 'CHANGE_DAMPING_FACTOR'\r\nexport const CHANGE_ZOOM_SPEED = 'CHANGE_ZOOM_SPEED'\r\nexport const CHANGE_MIN_AZIMUTH_ANGLE = 'CHANGE_MIN_AZIMUTH_ANGLE'\r\nexport const CHANGE_MAX_AZIMUTH_ANGLE = 'CHANGE_MAX_AZIMUTH_ANGLE'\r\nexport const CHANGE_MIN_POLAR_ANGLE = 'CHANGE_MIN_POLAR_ANGLE'\r\nexport const CHANGE_MAX_POLAR_ANGLE = 'CHANGE_MAX_POLAR_ANGLE'\r\nexport const CHANGE_MIN_ZOOM = 'CHANGE_MIN_ZOOM'\r\nexport const CHANGE_MAX_ZOOM = 'CHANGE_MAX_ZOOM'\r\nexport const CHANGE_MAX_DISTANCE = 'CHANGE_MAX_DISTANCE'\r\nexport const CHANGE_MIN_DISTANCE = 'CHANGE_MIN_DISTANCE'\r\n\r\n\r\nexport const CHANGE_MIN_SPEED = 'CHANGE_MIN_SPEED'\r\nexport const CHANGE_MAX_SPEED = 'CHANGE_MAX_SPEED'\r\n\r\nexport const CHANGE_CAMERA_ZOOM = 'CHANGE_CAMERA_ZOOM'\r\nexport const CHANGE_FOV_SETTING = 'CHANGE_FOV_SETTING'\r\nexport const CHANGE_SCENE_VIEW = 'CHANGE_SCENE_VIEW';\r\nexport const DOWNLOAD_GLTF = 'DOWNLOAD_GLTF';\r\nexport const SNAP_CANVAS = 'SNAP_CANVAS';\r\nexport const CHANGE_CAMERA_MODE_SETTING = 'CHANGE_CAMERA_MODE_SETTING';\r\nexport const CHANGE_CAMERA_POSITION_X_SETTING = 'CHANGE_CAMERA_POSITION_X_SETTING';\r\nexport const CHANGE_CAMERA_POSITION_Y_SETTING = 'CHANGE_CAMERA_POSITION_Y_SETTING';\r\nexport const CHANGE_CAMERA_POSITION_Z_SETTING = 'CHANGE_CAMERA_POSITION_Z_SETTING';\r\nexport const CHANGE_CAMERA_POSITION_SETTING = 'CHANGE_CAMERA_POSITION_SETTING';\r\nexport const CHANGE_CAMERA_TARGET_SETTING = 'CHANGE_CAMERA_TARGET_SETTING';\r\nexport const CHANGE_CAMERA_SETTING = 'CHANGE_CAMERA_SETTING';\r\nexport const CHANGE_STRAIGHTEN_MODEL_ROTATE_SETTING = 'CHANGE_STRAIGHTEN_MODEL_ROTATE_SETTING';\r\nexport const RESET_STRAIGHTEN_MODEL = 'RESET_STRAIGHTEN_MODEL';\r\nexport const TAKE_SCREENSHOT = 'TAKE_SCREENSHOT';\r\nexport const ENABLE_GROUND_SHADOW_SETTING = 'ENABLE_GROUND_SHADOW_SETTING';\r\nexport const CHANGE_NUM_SAMPLES_SETTING = 'CHANGE_NUM_SAMPLES_SETTING';\r\nexport const CHANGE_NUM_SAMPLES_PER_FRAME_SETTING = 'CHANGE_NUM_SAMPLES_PER_FRAME_SETTING';\r\nexport const CHANGE_GROUND_SHADOW_BRIGHTNESS_SETTING = 'CHANGE_GROUND_SHADOW_BRIGHTNESS_SETTING';\r\nexport const CHANGE_BLUR_RADIUS_SETTING = 'CHANGE_BLUR_RADIUS_SETTING';\r\nexport const CHANGE_GROUND_SHARPNESS_SETTING = 'CHANGE_GROUND_SHARPNESS_SETTING';\r\nexport const CHANGE_FALLOFF_SETTING = 'CHANGE_FALLOFF_SETTING';\r\nexport const ENABLE_SMOOTH_SETTING = 'ENABLE_SMOOTH_SETTING';\r\nexport const CHANGE_SMOOTH_TRANSITION_SETTING = 'CHANGE_SMOOTH_TRANSITION_SETTING';\r\nexport const CHANGE_GROUND_SHADOW_SIDE_SETTING = 'CHANGE_GROUND_SHADOW_SIDE_SETTING';\r\nexport const ENABLE_GROUND_REFLECTION_SETTING = 'ENABLE_GROUND_REFLECTION_SETTING';\r\nexport const ENABLE_GROUND_REFLECTION_PHYSICAL_SETTING = 'CHANGE_GROUND_REFLECTION_PHYSICAL_SETTING';\r\nexport const CHANGE_GROUND_REFLECTION_ROUGHNESS_SETTING = 'CHANGE_GROUND_REFLECTION_ROUGHNESS_SETTING';\r\nexport const CHANGE_GROUND_REFLECTION_METALNESS_SETTING = 'CHANGE_GROUND_REFLECTION_METALNESS_SETTING';\r\nexport const CHANGE_GROUND_REFLECTION_SIZE_SETTING = 'CHANGE_GROUND_REFLECTION_SIZE_SETTING';\r\nexport const DOWNLOAD_REFLECTION = 'DOWNLOAD_REFLECTION';\r\nexport const VIEW_REFLECTION = 'VIEW_REFLECTION';\r\nexport const LOAD_REFLECTION = 'LOAD_REFLECTION';\r\nexport const CLEAR_ALL = 'CLEAR_ALL';\r\nexport const SET_BACKGROUND_COLOR = 'SET_BACKGROUND_COLOR';\r\nexport const REMOVE_BACKGROUND = 'REMOVE_BACKGROUND';\r\nexport const ENABLE_AUTO_ROTATE = 'ENABLE_AUTO_ROTATE';\r\nexport const CHANGE_AUTO_ROTATE_SPEED_SETTING = 'CHANGE_AUTO_ROTATE_SPEED_SETTING';\r\nexport const UPLOAD_SCENE = 'UPLOAD_SCENE';\r\nexport const CHANGE_TONE_MAPPING_EXPOSURE_SETTING = 'CHANGE_TONE_MAPPING_EXPOSURE_SETTING';\r\nexport const CHANGE_TONE_MAPPING_SATURATION_SETTING = 'CHANGE_TONE_MAPPING_SATURATION_SETTING';\r\nexport const CHANGE_TONE_MAPPING_CONTRAST_SETTING = 'CHANGE_TONE_MAPPING_CONTRAST_SETTING';\r\nexport const CHANGE_ENV_MAP_ROTATION_SETTING = 'CHANGE_ENV_MAP_ROTATION_SETTING';\r\nexport const CHANGE_BACKGROUND_IMAGE_FILE = 'CHANGE_BACKGROUND_IMAGE_FILE';\r\nexport const ENABLE_SCREEN_SPACE_PANNING = 'ENABLE_SCREEN_SPACE_PANNING';\r\nexport const ENABLE_ZOOM = 'ENABLE_ZOOM';\r\nexport const ENABLE_PAN = 'ENABLE_PAN';\r\nexport const UPLOAD_FILES = 'UPLOAD_FILES';\r\nexport const CHANGE_PIXEL_RATIO_SETTING = 'CHANGE_PIXEL_RATIO_SETTING';\r\n\r\n//Outline Settings\r\nexport const CHANGE_EDGE_GLOW_SETTING = 'CHANGE_EDGE_GLOW_SETTING';\r\nexport const CHANGE_EDGE_THICKNESS_SETTING = 'CHANGE_EDGE_THICKNESS_SETTING';\r\nexport const CHANGE_EDGE_STRENGTH_SETTING = 'CHANGE_EDGE_STRENGTH_SETTING';\r\nexport const CHANGE_PULSE_PERIOD_SETTING = 'CHANGE_PULSE_PERIOD_SETTING';\r\nexport const CHANGE_VISIBLE_EDGE_COLOR_SETTING = 'CHANGE_VISIBLE_EDGE_COLOR_SETTING';\r\nexport const CHANGE_HIDDEN_EDGE_COLOR_SETTING = 'CHANGE_HIDDEN_EDGE_COLOR_SETTING';\r\nexport const CHANGE_DOWN_SAMPLE_RATIO_SETTING = 'CHANGE_DOWN_SAMPLE_RATIO_SETTING';\r\n\r\n//Post Process Settings\r\nexport const CHANGE_BEVEL_SETTING = 'CHANGE_BEVEL_SETTING';\r\nexport const CHANGE_SHARPNESS_SETTING = 'CHANGE_SHARPNESS_SETTING';\r\nexport const ENABLE_SHARPNESS_SETTING = 'ENABLE_SHARPNESS_SETTING';\r\nexport const ENABLE_SSAO_SETTING = 'ENABLE_SSAO_SETTING';\r\nexport const ENABLE_SSAO_DEBUG_SETTING = 'ENABLE_SSAO_DEBUG_SETTING';\r\nexport const CHANGE_SSAO_INTENSITY_SETTING = 'CHANGE_SSAO_INTENSITY_SETTING';\r\nexport const CHANGE_SSAO_RADIUS_SETTING = 'CHANGE_SSAO_RADIUS_SETTING';\r\nexport const CHANGE_SSAO_DOWNSCALE_LEVEL_SETTING = 'CHANGE_SSAO_DOWNSCALE_LEVEL_SETTING';\r\nexport const ENABLE_BLOOM_SETTING = 'ENABLE_BLOOM_SETTING';\r\nexport const CHANGE_BLOOM_STRENGTH_SETTING = 'CHANGE_BLOOM_STRENGTH_SETTING';\r\nexport const CHANGE_BLOOM_RADIUS_SETTING = 'CHANGE_BLOOM_RADIUS_SETTING';\r\nexport const CHANGE_BLOOM_THRESHOLD_SETTING = 'CHANGE_BLOOM_THRESHOLD_SETTING';\r\nexport const ENABLE_DOF = 'ENABLE_DOF';\r\nexport const ENABLE_EDIT_DOF = 'ENABLE_EDIT_DOF';\r\nexport const CHANGE_CROSS_COLOR_SETTING = 'CHANGE_CROSS_COLOR_SETTING';\r\nexport const CHANGE_CROSS_RADIUS_SETTING = 'CHANGE_CROSS_RADIUS_SETTING';\r\nexport const CHANGE_NEAR_BLUR_SCALE_SETTING = 'CHANGE_NEAR_BLUR_SCALE_SETTING';\r\nexport const CHANGE_FAR_BLUR_SCALE_SETTING = 'CHANGE_FAR_BLUR_SCALE_SETTING';\r\nexport const CHANGE_DEPTH_RANGE_SETTING = 'CHANGE_DEPTH_RANGE_SETTING';\r\nexport const ENABLE_AR = 'ENABLE_AR';\r\nexport const CHANGE_OBJECT_SCALE_SETTING = 'CHANGE_OBJECT_SCALE_SETTING';\r\nexport const CHANGE_RETICLE_SIZE_IN_SETTING = 'CHANGE_RETICLE_SIZE_IN_SETTING';\r\nexport const CHANGE_RETICLE_SIZE_OUT_SETTING = 'CHANGE_RETICLE_SIZE_OUT_SETTING';\r\nexport const CHANGE_RETICLE_FADE_THRESH_SETTING = 'CHANGE_RETICLE_FADE_THRESH_SETTING';\r\nexport const CHANGE_RETICLE_FADE_TIME_SETTING = 'CHANGE_RETICLE_FADE_TIME_SETTING';\r\nexport const CHANGE_GROUND_SHADOWS_SETTING = 'CHANGE_GROUND_SHADOWS_SETTING';\r\nexport const CHANGE_RETICLE_COLOR_SETTING = 'CHANGE_RETICLE_COLOR_SETTING';\r\n\r\n//Materials Settings\r\nexport const SELECT_OBJECT = 'SELECT_OBJECT';\r\nexport const CHANGE_MATERIAL_COLOR = 'CHANGE_MATERIAL_COLOR';\r\nexport const CHANGE_BOOST_FACTOR_SETTING = 'CHANGE_BOOST_FACTOR_SETTING';\r\nexport const CHANGE_ENV_MAP_INTENSITY_DIAMOND_SETTING = 'CHANGE_ENV_MAP_INTENSITY_DIAMOND_SETTING';\r\nexport const CHANGE_REFRACTIVE_INDEX_DIAMOND_SETTING = 'CHANGE_REFRACTIVE_INDEX_DIAMOND_SETTING';\r\nexport const CHANGE_GEOMETRY_FACTOR_DIAMOND_SETTING = 'CHANGE_GEOMETRY_FACTOR_DIAMOND_SETTING';\r\nexport const CHANGE_SQUASH_FACTOR_DIAMOND_SETTING = 'CHANGE_SQUASH_FACTOR_DIAMOND_SETTING';\r\nexport const CHANGE_DISPERSION_DIAMOND_SETTING = 'CHANGE_DISPERSION_DIAMOND_SETTING';\r\nexport const CHANGE_REFLECTIVITY_DIAMOND_SETTING = 'CHANGE_REFLECTIVITY_DIAMOND_SETTING';\r\nexport const CHANGE_ABSORPTION_DIAMOND_SETTING = 'CHANGE_ABSORPTION_DIAMOND_SETTING';\r\nexport const CHANGE_GAMMA_FACTOR_DIAMOND_SETTING = 'CHANGE_GAMMA_FACTOR_DIAMOND_SETTING';\r\nexport const MAKE_STANDARD = 'MAKE_STANDARD';\r\nexport const MAKE_DIAMOND = 'MAKE_DIAMOND';\r\nexport const MAKE_REFRACTION = 'MAKE_REFRACTION';\r\nexport const CHANGE_PICKED_GROUP_VISIBILITY = 'CHANGE_PICKED_GROUP_VISIBILITY';\r\nexport const CHANGE_STANDARD_MATERIAL_COLOR = 'CHANGE_STANDARD_MATERIAL_COLOR';\r\nexport const CHANGE_STANDARD_MATERIAL_OPACITY = 'CHANGE_STANDARD_MATERIAL_OPACITY';\r\nexport const CHANGE_STANDARD_MATERIAL_ROUGHNESS = 'CHANGE_STANDARD_MATERIAL_ROUGHNESS';\r\nexport const CHANGE_STANDARD_MATERIAL_METALNESS = 'CHANGE_STANDARD_MATERIAL_METALNESS';\r\nexport const CHANGE_STANDARD_MATERIAL_ENV_MAP_INTENSITY = 'CHANGE_STANDARD_MATERIAL_ENV_MAP_INTENSITY';\r\nexport const CHANGE_STANDARD_MATERIAL_LIGHT_MAP_INTENSITY = 'CHANGE_STANDARD_MATERIAL_LIGHT_MAP_INTENSITY';\r\nexport const CHANGE_STANDARD_MATERIAL_ALPHA_MAP_INTENSITY = 'CHANGE_STANDARD_MATERIAL_ALPHA_MAP_INTENSITY';\r\nexport const CHANGE_STANDARD_MATERIAL_AO_MAP_INTENSITY = 'CHANGE_STANDARD_MATERIAL_AO_MAP_INTENSITY';\r\nexport const CHANGE_STANDARD_MATERIAL_EMISSIVE_INTENSITY = 'CHANGE_STANDARD_MATERIAL_EMISSIVE_INTENSITY';\r\nexport const CHANGE_STANDARD_MATERIAL_BUMP_SCALE = 'CHANGE_STANDARD_MATERIAL_BUMP_SCALE';\r\nexport const CHANGE_STANDARD_MATERIAL_WIREFRAME_LINE_WIDTH = 'CHANGE_STANDARD_MATERIAL_WIREFRAME_LINE_WIDTH';\r\nexport const CHANGE_STANDARD_MATERIAL_ENABLE_WIREFRAME = 'CHANGE_STANDARD_MATERIAL_ENABLE_WIREFRAME';\r\nexport const CHANGE_STANDARD_MATERIAL_EMISSIVE_COLOR = 'CHANGE_STANDARD_MATERIAL_EMISSIVE_COLOR';\r\nexport const CHANGE_STANDARD_MATERIAL_MAP_FILE = 'CHANGE_STANDARD_MATERIAL_MAP_FILE';\r\nexport const CHANGE_REFRACTION_MATERIAL_VISIBILITY = 'CHANGE_REFRACTION_MATERIAL_VISIBILITY';\r\nexport const CHANGE_REFRACTION_MATERIAL_TINT_COLOR = 'CHANGE_REFRACTION_MATERIAL_TINT_COLOR';\r\nexport const CHANGE_REFRACTION_MATERIAL_DIFFUSE_COLOR = 'CHANGE_REFRACTION_MATERIAL_DIFFUSE_COLOR';\r\nexport const CHANGE_REFRACTION_MATERIAL_REFRACTION_INDEX = 'CHANGE_REFRACTION_MATERIAL_REFRACTION_INDEX';\r\nexport const CHANGE_REFRACTION_MATERIAL_REFRACTION_ROUGHNESS = 'CHANGE_REFRACTION_MATERIAL_REFRACTION_ROUGHNESS';\r\nexport const CHANGE_REFRACTION_MATERIAL_ROUGHNESS = 'CHANGE_REFRACTION_MATERIAL_ROUGHNESS';\r\nexport const CHANGE_REFRACTION_MATERIAL_METALNESS = 'CHANGE_REFRACTION_MATERIAL_METALNESS';\r\nexport const CHANGE_REFRACTION_MATERIAL_TRANSPARENCY = 'CHANGE_REFRACTION_MATERIAL_TRANSPARENCY';\r\nexport const UPLOAD_MATERIAL = 'UPLOAD_MATERIAL';\r\nexport const SELECT_MATERIAL = 'SELECT_MATERIAL';\r\nexport const CHANGE_MATERIAL_NAME = 'CHANGE_MATERIAL_NAME';\r\nexport const SELECT_MESH = 'SELECT_MESH';\r\nexport const UPDATE_MATERIAL_LIBRARY = 'UPDATE_MATERIAL_LIBRARY';\r\nexport const UPLOAD_MATERIALS = 'UPLOAD_MATERIALS';\r\nexport const CHANGE_STANDARD_MATERIAL_BEVEL_RADIUS = 'CHANGE_STANDARD_MATERIAL_BEVEL_RADIUS';\r\n\r\nexport const MAP_WRAP_U = 'MAP_WRAP_U';\r\nexport const MAP_WRAP_V = 'MAP_WRAP_V';\r\nexport const MAP_ENCODING = 'MAP_ENCODING';\r\n\r\nexport const CHANGE_MAP_REPEAT_U = 'CHANGE_MAP_REPEAT_U';\r\nexport const CHANGE_MAP_REPEAT_V = 'CHANGE_MAP_REPEAT_V';\r\n//Presets actions\r\nexport const REQUEST_PRESETS_SUCCESS = 'REQUEST_PRESETS_SUCCESS';\r\nexport const REQUEST_PRESETS_FAILED = 'REQUEST_PRESETS_FAILED';\r\nexport const DELETED_PRESET_FOLDER = 'DELETED_PRESET_FOLDER';\r\nexport const DELETED_PRESET = 'DELETED_PRESET';\r\nexport const EDIT_PRESET = 'EDIT_PRESET';\r\nexport const SAVED_PRESET = 'SAVED_PRESET';\r\nexport const SAVED_PRESET_FOLDER = 'SAVED_PRESET_FOLDER';\r\nexport const APPLY_PRESET = 'APPLY_PRESET';\r\nexport const EDIT_PRESET_FOLDER = 'EDIT_PRESET_FOLDER'\r\n\r\n//Combinations actions\r\nexport const REQUEST_COMBINATIONS_LIST = 'REQUEST_COMBINATIONS_LIST';\r\nexport const REQUEST_COMBINATIONS_SUCCESS = 'REQUEST_COMBINATIONS_SUCCESS';\r\nexport const REQUEST_COMBINATIONS_FAILED = 'REQUEST_COMBINATIONS_FAILED';\r\nexport const REQUEST_COMBINATIONS_ERROR = 'REQUEST_COMBINATIONS_ERROR';\r\nexport const REQUEST_CREATE_COMBINATIONS_SUCCESS = 'REQUEST_CREATE_COMBINATIONS_SUCCESS';\r\nexport const REQUEST_CREATE_COMBINATIONS_FAILED = 'REQUEST_CREATE_COMBINATIONS_FAILED';\r\nexport const REQUEST_CREATE_COMBINATIONS_ERROR = 'REQUEST_CREATE_COMBINATIONS_ERROR';\r\nexport const CLONE_COMBINATION = 'CLONE_COMBINATION';\r\nexport const DELETE_COMBINATION = 'DELETE_COMBINATION';\r\nexport const UPDATE_COMBINATION = 'UPDATE_COMBINATION';\r\nexport const RESET_PRESET = 'RESET_PRESET';\r\nexport const ADD_PRESET_TO_LIST = 'ADD_PRESET_TO_LIST';\r\nexport const LOGIN = 'LOGIN';\r\n\r\n\r\n//iframe\r\nexport const LOAD_COMBINATION = 'LOAD_COMBINATION';\r\nexport const IFRAME_TAKE_SCREENSHOT = 'IFRAME_TAKE_SCREENSHOT';\r\nexport const ENABLE_AR_IFRAME = 'ENABLE_AR_IFRAME';\r\nexport const RESET_CAMERA_IFRAME = 'RESET_CAMERA_IFRAME';\r\nexport const ENABLE_ROTATION_IFRAME = 'ENABLE_ROTATION_IFRAME';\r\n\r\n\r\n//LOGO\r\nexport const LOGO_TOGGLE = \"LOGO_TOGGLE\";\r\nexport const LOGO_STAY_DURATION = \"LOGO_STAY_DURATION\";\r\nexport const LOGO_FADE_IN_DURATION = \"LOGO_FADE_IN_DURATION\";\r\nexport const LOGO_FADE_OUT_DURATION = \"LOGO_FADE_OUT_DURATION\";\r\nexport const LOGO_SCALE = \"LOGO_SCALE\";\r\nexport const LOGO_POSITION_X = \"LOGO_POSITION_X\";\r\nexport const LOGO_POSITION_Y = \"LOGO_POSITION_Y\";\r\n\r\nexport const LOAD_PRESET_LAYER = \"LOAD_PRESET_LAYER\";\r\nexport const LOAD_PRESET_FOLDER_LAYER = \"LOAD_PRESET_FOLDER_LAYER\";\r\n\r\n//ANNOTATIONS\r\nexport const ENABLE_ANNOTATIONS = \"ENABLE_ANNOTATIONS\";\r\nexport const SELECT_ANNOTATIONS = \"SELECT_ANNOTATIONS\";\r\nexport const TEXT_ANNOTATIONS = \"TEXT_ANNOTATIONS\";\r\nexport const TITLE_ANNOTATIONS = \"TITLE_ANNOTATIONS\";\r\nexport const REMOVE_ANNOTATIONS = \"REMOVE_ANNOTATIONS\";\r\n\r\nexport const FEEDBACK_MIN = \"FEEDBACK_MIN\";\r\nexport const FEEDBACK_MAX = \"FEEDBACK_MAX\";\r\nexport const ENABLE_TAA = \"ENABLE_TAA\";\r\nexport const ENABLE_SSR = \"ENABLE_SSR\";\r\nexport const INTENSITY_SSR = \"INTENSITY_SSR\";\r\n\r\n\r\nexport const REQUEST_PUBLIC_UPLOADED_FILES_SIZE_SUCCESS = \"REQUEST_PUBLIC_UPLOADED_FILES_SIZE_SUCCESS\";\r\nexport const REQUEST_TEXTURES_SIZE_SUCCESS = \"REQUEST_TEXTURES_SIZE_SUCCESS\";\r\nexport const REQUEST_IMAGES_SIZE_SUCCESS = \"REQUEST_IMAGES_SIZE_SUCCESS\";\r\nexport const REQUEST_COMBINATIONS_SIZE_SUCCESS = \"REQUEST_COMBINATIONS_SIZE_SUCCESS\";\r\nexport const REQUEST_ACTIVITY_SUCCESS = \"REQUEST_ACTIVITY_SUCCESS\";\r\n\r\nexport const CHANGE_SIDE = \"CHANGE_SIDE\";\r\nexport const REQUEST_TRANSACTION_SUCCESS = \"REQUEST_TRANSACTION_SUCCESS\";\r\n\r\nexport const REQUEST_USER_PERMISSION = \"REQUEST_USER_PERMISSION\";\r\n\r\nexport const ANIMATION_TIME_SCALE = \"ANIMATION_TIME_SCALE\";\r\nexport const ANIMATION_LOOP = \"ANIMATION_LOOP\";\r\nexport const ANIMATION_PLAY = \"ANIMATION_PLAY\";\r\nexport const ANIMATION_STOP = \"ANIMATION_STOP\";\r\n\r\nexport const ADD_AMBIENT = \"ADD_AMBIENT\";\r\nexport const AUDIO_PLAY = \"AUDIO_PLAY\";\r\nexport const AUDIO_STOP = \"AUDIO_STOP\";\r\nexport const AUDIO_LOOP = \"AUDIO_LOOP\";\r\nexport const AUDIO_VOLUME = \"AUDIO_VOLUME\";\r\nexport const AUDIO_REMOVE = \"AUDIO_REMOVE\";\r\n\r\nexport const ADD_AUDIO = \"ADD_AUDIO\";\r\nexport const AUDIO_MATERIAL_VOLUME = \"AUDIO_MATERIAL_VOLUME\";\r\nexport const AUDIO_MATERIAL_LOOP = \"AUDIO_MATERIAL_LOOP\";\r\nexport const AUDIO_MATERIAL_REMOVE = \"AUDIO_MATERIAL_REMOVE\";\r\n\r\nexport const GET_STORAGE_SUMMARY = \"GET_STORAGE_SUMMARY\";\r\n\r\nexport const ENABLE_FRUSTUM_CULLING = \"ENABLE_FRUSTUM_CULLING\";\r\n\r\n\r\nexport const CHANGE_NORMAL_SCALE_X = 'CHANGE_NORMAL_SCALE_X';\r\nexport const CHANGE_NORMAL_SCALE_Y = 'CHANGE_NORMAL_SCALE_Y';\r\nexport const CHANGE_NORMAL_MAP_TYPE = 'CHANGE_NORMAL_MAP_TYPE';\r\n\r\nexport const SCENE_INFO_ALERT = 'SCENE_INFO_ALERT';\r\nexport const SWITCH_OLD_NEW_CAMERA = 'SWITCH_OLD_NEW_CAMERA';\r\nexport const GIZMO_ENABLED = 'GIZMO_ENABLED';\r\nexport const GIZMO_CHANGE_MODE = 'GIZMO_CHANGE_MODE';\r\n","\r\nimport jwt_decode from \"jwt-decode\";\r\nimport * as commonFunction from \"../components/CommonFunction/CommonFunction.js\";\r\nimport {\r\n CHANGE_ABSORPTION_DIAMOND_SETTING,\r\n CHANGE_AUTO_ROTATE_SPEED_SETTING,\r\n CHANGE_BEVEL_SETTING,\r\n CHANGE_BLOOM_RADIUS_SETTING,\r\n CHANGE_BLOOM_STRENGTH_SETTING,\r\n CHANGE_BLOOM_THRESHOLD_SETTING,\r\n CHANGE_BLUR_RADIUS_SETTING,\r\n CHANGE_BOOST_FACTOR_SETTING,\r\n CHANGE_CAMERA_MODE_SETTING,\r\n CHANGE_CAMERA_POSITION_X_SETTING,\r\n CHANGE_CAMERA_POSITION_Y_SETTING,\r\n CHANGE_CAMERA_POSITION_Z_SETTING,\r\n CHANGE_CAMERA_SETTING,\r\n CHANGE_CAMERA_TARGET_SETTING,\r\n CHANGE_CAMERA_ZOOM,\r\n CHANGE_CROSS_COLOR_SETTING,\r\n CHANGE_CROSS_RADIUS_SETTING,\r\n CHANGE_DISPERSION_DIAMOND_SETTING,\r\n CHANGE_REFLECTIVITY_DIAMOND_SETTING,\r\n CHANGE_DOWN_SAMPLE_RATIO_SETTING,\r\n CHANGE_EDGE_GLOW_SETTING,\r\n CHANGE_EDGE_STRENGTH_SETTING,\r\n CHANGE_EDGE_THICKNESS_SETTING,\r\n CHANGE_ENV_MAP_INTENSITY_DIAMOND_SETTING,\r\n CHANGE_ENV_MAP_ROTATION_SETTING,\r\n CHANGE_FALLOFF_SETTING,\r\n CHANGE_FAR_BLUR_SCALE_SETTING,\r\n CHANGE_DEPTH_RANGE_SETTING,\r\n CHANGE_FOV_SETTING,\r\n CHANGE_GAMMA_FACTOR_DIAMOND_SETTING,\r\n CHANGE_GEOMETRY_FACTOR_DIAMOND_SETTING,\r\n CHANGE_GROUND_REFLECTION_METALNESS_SETTING,\r\n CHANGE_GROUND_REFLECTION_ROUGHNESS_SETTING,\r\n CHANGE_GROUND_REFLECTION_SIZE_SETTING,\r\n CHANGE_GROUND_SHADOW_BRIGHTNESS_SETTING,\r\n CHANGE_GROUND_SHADOW_SIDE_SETTING,\r\n CHANGE_GROUND_SHADOWS_SETTING,\r\n CHANGE_GROUND_SHARPNESS_SETTING,\r\n CHANGE_HIDDEN_EDGE_COLOR_SETTING,\r\n CHANGE_MATERIAL_COLOR,\r\n CHANGE_NEAR_BLUR_SCALE_SETTING,\r\n CHANGE_NUM_SAMPLES_PER_FRAME_SETTING,\r\n CHANGE_NUM_SAMPLES_SETTING,\r\n CHANGE_OBJECT_SCALE_SETTING,\r\n CHANGE_PULSE_PERIOD_SETTING,\r\n CHANGE_REFRACTION_MATERIAL_DIFFUSE_COLOR,\r\n CHANGE_REFRACTION_MATERIAL_METALNESS,\r\n CHANGE_REFRACTION_MATERIAL_REFRACTION_INDEX,\r\n CHANGE_REFRACTION_MATERIAL_REFRACTION_ROUGHNESS,\r\n CHANGE_REFRACTION_MATERIAL_ROUGHNESS,\r\n CHANGE_REFRACTION_MATERIAL_TINT_COLOR,\r\n CHANGE_REFRACTION_MATERIAL_TRANSPARENCY,\r\n CHANGE_REFRACTION_MATERIAL_VISIBILITY,\r\n CHANGE_REFRACTIVE_INDEX_DIAMOND_SETTING,\r\n CHANGE_RETICLE_COLOR_SETTING,\r\n CHANGE_RETICLE_FADE_THRESH_SETTING,\r\n CHANGE_RETICLE_FADE_TIME_SETTING,\r\n CHANGE_RETICLE_SIZE_IN_SETTING,\r\n CHANGE_RETICLE_SIZE_OUT_SETTING,\r\n CHANGE_SCENE_VIEW,\r\n CHANGE_SHARPNESS_SETTING,\r\n CHANGE_SMOOTH_TRANSITION_SETTING,\r\n CHANGE_SQUASH_FACTOR_DIAMOND_SETTING,\r\n CHANGE_SSAO_DOWNSCALE_LEVEL_SETTING,\r\n CHANGE_SSAO_INTENSITY_SETTING,\r\n CHANGE_SSAO_RADIUS_SETTING,\r\n CHANGE_STANDARD_MATERIAL_AO_MAP_INTENSITY,\r\n CHANGE_STANDARD_MATERIAL_BUMP_SCALE,\r\n CHANGE_STANDARD_MATERIAL_COLOR,\r\n CHANGE_STANDARD_MATERIAL_EMISSIVE_COLOR,\r\n CHANGE_STANDARD_MATERIAL_EMISSIVE_INTENSITY,\r\n CHANGE_STANDARD_MATERIAL_ENABLE_WIREFRAME,\r\n CHANGE_STANDARD_MATERIAL_ENV_MAP_INTENSITY,\r\n CHANGE_STANDARD_MATERIAL_LIGHT_MAP_INTENSITY,\r\n CHANGE_STANDARD_MATERIAL_ALPHA_MAP_INTENSITY,\r\n CHANGE_STANDARD_MATERIAL_MAP_FILE,\r\n CHANGE_STANDARD_MATERIAL_METALNESS,\r\n CHANGE_STANDARD_MATERIAL_OPACITY,\r\n CHANGE_STANDARD_MATERIAL_ROUGHNESS,\r\n CHANGE_STANDARD_MATERIAL_WIREFRAME_LINE_WIDTH,\r\n CHANGE_STRAIGHTEN_MODEL_ROTATE_SETTING,\r\n CHANGE_TONE_MAPPING_EXPOSURE_SETTING,\r\n CHANGE_TONE_MAPPING_SATURATION_SETTING,\r\n CHANGE_VISIBLE_EDGE_COLOR_SETTING,\r\n CLEAR_ALL,\r\n DOWNLOAD_GLTF,\r\n DOWNLOAD_REFLECTION,\r\n ENABLE_AR,\r\n ENABLE_AUTO_ROTATE,\r\n ENABLE_BLOOM_SETTING,\r\n ENABLE_DOF,\r\n ENABLE_EDIT_DOF,\r\n ENABLE_GROUND_REFLECTION_PHYSICAL_SETTING,\r\n ENABLE_GROUND_REFLECTION_SETTING,\r\n ENABLE_GROUND_SHADOW_SETTING,\r\n ENABLE_SHARPNESS_SETTING,\r\n ENABLE_SMOOTH_SETTING,\r\n ENABLE_SSAO_DEBUG_SETTING,\r\n ENABLE_SSAO_SETTING,\r\n LOAD_FILE_ACTION,\r\n LOAD_INITIAL_REPORT_REQUEST,\r\n LOAD_REFLECTION,\r\n LOAD_REPORT_REQUEST,\r\n LOAD_REPORT_SUCCESS,\r\n MAKE_DIAMOND,\r\n MAKE_REFRACTION,\r\n MAKE_STANDARD,\r\n CHANGE_PICKED_GROUP_VISIBILITY,\r\n REMOVE_BACKGROUND,\r\n RESET_STRAIGHTEN_MODEL,\r\n SAVE_API_TO_STATE,\r\n SAVE_SCENE_CONFIG_TO_STATE,\r\n SELECT_MATERIAL,\r\n SELECT_OBJECT,\r\n SET_BACKGROUND_COLOR,\r\n SNAP_CANVAS,\r\n TAKE_SCREENSHOT,\r\n UPLOAD_MATERIAL,\r\n UPLOAD_SCENE,\r\n VIEW_REFLECTION,\r\n CHANGE_MATERIAL_NAME,\r\n REQUEST_PRESETS_FAILED,\r\n REQUEST_PRESETS_SUCCESS,\r\n DELETED_PRESET_FOLDER,\r\n EDIT_PRESET_FOLDER,\r\n DELETED_PRESET,\r\n EDIT_PRESET,\r\n SAVED_PRESET,\r\n SAVED_PRESET_FOLDER,\r\n APPLY_PRESET,\r\n REQUEST_COMBINATIONS_LIST,\r\n REQUEST_COMBINATIONS_SUCCESS,\r\n REQUEST_COMBINATIONS_FAILED,\r\n REQUEST_COMBINATIONS_ERROR,\r\n REQUEST_CREATE_COMBINATIONS_SUCCESS,\r\n REQUEST_CREATE_COMBINATIONS_FAILED,\r\n REQUEST_CREATE_COMBINATIONS_ERROR,\r\n CLONE_COMBINATION,\r\n DELETE_COMBINATION,\r\n UPDATE_COMBINATION,\r\n SELECT_MESH,\r\n UPLOAD_MATERIALS,\r\n LOAD_COMBINATION,\r\n IFRAME_TAKE_SCREENSHOT,\r\n ENABLE_AR_IFRAME,\r\n RESET_CAMERA_IFRAME,\r\n REQUEST_TRACKERS_FILTERS,\r\n REQUEST_TRACKERS_FILTERS_SUCCESS,\r\n REQUEST_TRACKERS_FILTERS_FAILED,\r\n REQUEST_TRACKERS_FILTERS_ERROR,\r\n LOAD_REPORT_ERROR,\r\n LOAD_REPORT_FAILED,\r\n ENABLE_ROTATION_IFRAME,\r\n CHANGE_BACKGROUND_IMAGE_FILE,\r\n CHANGE_TONE_MAPPING_CONTRAST_SETTING,\r\n ENABLE_SCREEN_SPACE_PANNING,\r\n ENABLE_ZOOM,\r\n ENABLE_PAN,\r\n UPLOAD_FILES,\r\n CHANGE_STANDARD_MATERIAL_BEVEL_RADIUS, \r\n\r\n \r\n CHANGE_MIN_SPEED,\r\n CHANGE_MAX_SPEED,\r\n\r\n CHANGE_MIN_DISTANCE,\r\n CHANGE_MAX_DISTANCE,\r\n CHANGE_MAX_ZOOM,\r\n CHANGE_MIN_ZOOM,\r\n CHANGE_MAX_POLAR_ANGLE,\r\n CHANGE_MIN_POLAR_ANGLE,\r\n CHANGE_MAX_AZIMUTH_ANGLE,\r\n CHANGE_MIN_AZIMUTH_ANGLE,\r\n CHANGE_PIXEL_RATIO_SETTING,\r\n RESET_PRESET,\r\n LOGIN,\r\n ADD_PRESET_TO_LIST,\r\n CHANGE_MAP_REPEAT_U,\r\n CHANGE_MAP_REPEAT_V,\r\n LOGO_TOGGLE,\r\n LOGO_STAY_DURATION,\r\n LOGO_FADE_IN_DURATION,\r\n LOGO_FADE_OUT_DURATION,\r\n LOGO_SCALE,\r\n LOGO_POSITION_X,\r\n LOGO_POSITION_Y,\r\n LOAD_PRESET_LAYER,\r\n LOAD_PRESET_FOLDER_LAYER,\r\n ENABLE_ANNOTATIONS,\r\n SELECT_ANNOTATIONS,\r\n TEXT_ANNOTATIONS,\r\n TITLE_ANNOTATIONS,\r\n REMOVE_ANNOTATIONS,\r\n ENABLE_TAA,\r\n ENABLE_SSR,\r\n INTENSITY_SSR,\r\n REQUEST_COMBINATIONS_SIZE_SUCCESS,\r\n REQUEST_IMAGES_SIZE_SUCCESS,\r\n REQUEST_ACTIVITY_SUCCESS,\r\n CHANGE_SIDE,\r\n REQUEST_PUBLIC_UPLOADED_FILES_SIZE_SUCCESS,\r\n REQUEST_TEXTURES_SIZE_SUCCESS,\r\n REQUEST_TRANSACTION_SUCCESS,\r\n REQUEST_USER_PERMISSION,\r\n CHANGE_CAMERA_POSITION_SETTING,\r\n CHANGE_DAMPING_FACTOR,\r\n CHANGE_ZOOM_SPEED,\r\n ANIMATION_TIME_SCALE,\r\n ANIMATION_LOOP,\r\n ANIMATION_PLAY,\r\n ANIMATION_STOP,\r\n\r\n ADD_AMBIENT,\r\n AUDIO_PLAY,\r\n AUDIO_STOP,\r\n AUDIO_LOOP,\r\n AUDIO_VOLUME,\r\n AUDIO_REMOVE,\r\n\r\n ADD_AUDIO,\r\n AUDIO_MATERIAL_VOLUME,\r\n AUDIO_MATERIAL_LOOP,\r\n AUDIO_MATERIAL_REMOVE,\r\n FEEDBACK_MIN,\r\n FEEDBACK_MAX,\r\n\r\n GET_STORAGE_SUMMARY,\r\n CHANGE_FAR_NEAR_MULTIPLIER,\r\n CHANGE_MIN_CAMERA_CLIP,\r\n\r\n ENABLE_FRUSTUM_CULLING,\r\n\r\n MAP_WRAP_U,\r\n MAP_WRAP_V,\r\n MAP_ENCODING,\r\n CHANGE_NORMAL_SCALE_X,\r\n CHANGE_NORMAL_SCALE_Y,\r\n CHANGE_NORMAL_MAP_TYPE,\r\n SCENE_INFO_ALERT,\r\n SWITCH_OLD_NEW_CAMERA,\r\n\r\n GIZMO_ENABLED,\r\n GIZMO_CHANGE_MODE\r\n} from './actionTypes';\r\nimport axios from '../axios';\r\nimport {RepeatWrapping, MathUtils, Color, LinearEncoding, sRGBEncoding} from \"three\";\r\n// import {TextureExporter} from '../cadcentre/dist/cadcenter';\r\n// const {TextureExporter} = require(\"../cadcentre/dist/cadcenter\");\r\nconst {TextureExporter} = window.CADEDITOR.icad;\r\n\r\nexport const changeMinCameraNearClip = (value) =>{\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n api.setMinCameraNearClip(value);\r\n dispatchEvent({\r\n type: CHANGE_MIN_CAMERA_CLIP,\r\n })\r\n }\r\n}\r\n\r\nexport const changeNearFarMultiplier = (value) =>{\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n api.setCameraNearFarMultiplier(value);\r\n dispatchEvent({\r\n type: CHANGE_FAR_NEAR_MULTIPLIER,\r\n })\r\n }\r\n}\r\n\r\nexport const feedBackMax = (value) =>{\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n let taaParams = sceneConfig.config.taa != undefined ? sceneConfig.config.taa : api.getTAAParams();\r\n taaParams.feedBackMax = value;\r\n api.setTAAParams(taaParams);\r\n taaParams = api.getTAAParams();\r\n console.log(taaParams);\r\n \r\n sceneConfig.config.taa = taaParams;\r\n dispatchEvent({\r\n type: FEEDBACK_MAX,\r\n sceneConfig: sceneConfig,\r\n })\r\n }\r\n}\r\n\r\nexport const feedBackMin = (value) =>{\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n let taaParams = sceneConfig.config.taa != undefined ? sceneConfig.config.taa : api.getTAAParams();\r\n taaParams.feedBackMin = value;\r\n api.setTAAParams(taaParams);\r\n taaParams = api.getTAAParams();\r\n console.log(taaParams);\r\n \r\n sceneConfig.config.taa = taaParams;\r\n dispatchEvent({\r\n type: FEEDBACK_MIN,\r\n sceneConfig: sceneConfig,\r\n })\r\n }\r\n}\r\n\r\nexport const removeAudioMaterial = (obj) =>{\r\n console.log('removeAudioMaterial');\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n api.removeAudio(obj);\r\n dispatchEvent({\r\n type: AUDIO_MATERIAL_REMOVE,\r\n api: api,\r\n })\r\n }\r\n}\r\n\r\nexport const changeAudioMaterialVolume = (obj, value) =>{\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n console.log(obj);\r\n if(api.getAudio(obj)){\r\n api.getAudio(obj).setVolume(value);\r\n dispatchEvent({\r\n type: AUDIO_MATERIAL_VOLUME,\r\n api: api,\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const toggleAudioMaterialLoop = (obj, value) =>{\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n if(api.getAudio(obj)){\r\n api.getAudio(obj).setLoop(value);\r\n dispatchEvent({\r\n type: AUDIO_MATERIAL_LOOP,\r\n api: api,\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const addAudio = (obj) => {\r\n console.log(obj);\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n\r\n const inputFile = document.getElementById(\"fileInput\");\r\n inputFile.value = null;\r\n inputFile.onchange = e => {\r\n const files = Array.from(e.target.files)\r\n let file = Array.isArray(files) ? files[0] : files;\r\n if (file) {\r\n let url = URL.createObjectURL(file)\r\n api.addAudio(obj, url)\r\n }\r\n }\r\n inputFile.click();\r\n dispatchEvent({\r\n type: ADD_AUDIO,\r\n api: api,\r\n })\r\n }\r\n}\r\n\r\n\r\nexport const changeAudioVolume = (value) =>{\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n if(api.getAmbientAudio()){\r\n api.getAmbientAudio().setVolume(value);\r\n dispatchEvent({\r\n type: AUDIO_VOLUME,\r\n api: api,\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const toggleAudioLoop = (value) =>{\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n if(api.getAmbientAudio()){\r\n api.getAmbientAudio().setLoop(value);\r\n dispatchEvent({\r\n type: AUDIO_LOOP,\r\n api: api,\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const toggleAudioPlay = () =>{\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n api.playAllSounds();\r\n dispatchEvent({\r\n type: AUDIO_PLAY,\r\n api: api,\r\n })\r\n }\r\n}\r\n\r\nexport const toggleAudioStop = () =>{\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n api.stopAllSounds();\r\n dispatchEvent({\r\n type: AUDIO_STOP,\r\n api: api,\r\n })\r\n }\r\n}\r\n\r\nexport const removeAudio = () =>{\r\n console.log('removeAudio');\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n api.removeAmbientAudio();\r\n dispatchEvent({\r\n type: AUDIO_REMOVE,\r\n api: api,\r\n })\r\n }\r\n}\r\n\r\nexport const addAmbient = () => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n\r\n const inputFile = document.getElementById(\"fileInput\");\r\n inputFile.value = null;\r\n inputFile.onchange = e => {\r\n const files = Array.from(e.target.files)\r\n let file = Array.isArray(files) ? files[0] : files;\r\n if (file) {\r\n let url = URL.createObjectURL(file)\r\n api.addAmbientAudio(url)\r\n }\r\n }\r\n inputFile.click();\r\n dispatchEvent({\r\n type: ADD_AMBIENT,\r\n api: api,\r\n })\r\n }\r\n}\r\n\r\nexport const changeAnimationTimeScale = (value) =>{\r\n return (dispatchEvent, getState) => {\r\n value = value;\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n if(sceneConfig.config.animationParams != undefined){\r\n sceneConfig.config.animationParams.timescale = value;\r\n api.setAnimationParams(sceneConfig.config.animationParams);\r\n dispatchEvent({\r\n type: ANIMATION_TIME_SCALE,\r\n sceneConfig: sceneConfig,\r\n api: api,\r\n })\r\n } \r\n }\r\n}\r\n\r\nexport const toggleAnimationLoop = (value) =>{\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n if(sceneConfig.config.animationParams != undefined){\r\n sceneConfig.config.animationParams.loop = value;\r\n api.setAnimationParams(sceneConfig.config.animationParams);\r\n dispatchEvent({\r\n type: ANIMATION_LOOP,\r\n sceneConfig: sceneConfig,\r\n api: api,\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const toggleAnimationPlay = () =>{\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n api.playAllAnimations();\r\n dispatchEvent({\r\n type: ANIMATION_PLAY,\r\n sceneConfig: sceneConfig,\r\n api: api,\r\n })\r\n }\r\n}\r\n\r\nexport const toggleAnimationStop = () =>{\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n api.stopAllAnimations();\r\n dispatchEvent({\r\n type: ANIMATION_STOP,\r\n sceneConfig: sceneConfig,\r\n api: api,\r\n })\r\n }\r\n}\r\n\r\n/*\r\nEnable Logo\r\n*/\r\nexport const logoToggle = (value) => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n let logoParams = api.getLogoParams();\r\n\r\n logoParams.enabled = value;\r\n\r\n sceneConfig.config.logoParams = logoParams;\r\n api.setLogoParams(sceneConfig.config.logoParams);\r\n dispatchEvent({\r\n type: LOGO_TOGGLE,\r\n sceneConfig: sceneConfig,\r\n api: api,\r\n })\r\n }\r\n}\r\nexport const logoFadeInDuration = (value) => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n let logoParams = api.getLogoParams();\r\n\r\n logoParams.logoFadeInDuration = value;\r\n\r\n sceneConfig.config.logoParams = logoParams;\r\n api.setLogoParams(sceneConfig.config.logoParams);\r\n document.getElementById(\"logo_fade_in\").value = value;\r\n dispatchEvent({\r\n type: LOGO_FADE_IN_DURATION,\r\n sceneConfig: sceneConfig,\r\n api: api,\r\n })\r\n }\r\n}\r\nexport const logoFadeOutDuration = (value) => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n let logoParams = api.getLogoParams();\r\n\r\n logoParams.logoFadeOutDuration = value;\r\n\r\n sceneConfig.config.logoParams = logoParams;\r\n api.setLogoParams(sceneConfig.config.logoParams);\r\n document.getElementById(\"logo_fade_out\").value = value;\r\n dispatchEvent({\r\n type: LOGO_FADE_OUT_DURATION,\r\n sceneConfig: sceneConfig,\r\n api: api,\r\n })\r\n }\r\n}\r\nexport const logoScale = (value) => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n let logoParams = api.getLogoParams();\r\n\r\n logoParams.scale = value;\r\n\r\n sceneConfig.config.logoParams = logoParams;\r\n api.setLogoParams(sceneConfig.config.logoParams);\r\n document.getElementById(\"logo_scale\").value = value;\r\n dispatchEvent({\r\n type: LOGO_SCALE,\r\n sceneConfig: sceneConfig,\r\n api: api,\r\n })\r\n }\r\n}\r\nexport const logoPositionX = (value) => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n let logoParams = api.getLogoParams();\r\n\r\n logoParams.positionX = value;\r\n\r\n sceneConfig.config.logoParams = logoParams;\r\n api.setLogoParams(sceneConfig.config.logoParams);\r\n document.getElementById(\"logo_position_x\").value = value;\r\n dispatchEvent({\r\n type: LOGO_POSITION_X,\r\n sceneConfig: sceneConfig,\r\n api: api,\r\n })\r\n }\r\n}\r\nexport const logoPositionY = (value) => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n let logoParams = api.getLogoParams();\r\n\r\n logoParams.positionY = value;\r\n\r\n sceneConfig.config.logoParams = logoParams;\r\n api.setLogoParams(sceneConfig.config.logoParams);\r\n document.getElementById(\"logo_position_y\").value = value;\r\n dispatchEvent({\r\n type: LOGO_POSITION_Y,\r\n sceneConfig: sceneConfig,\r\n api: api,\r\n })\r\n }\r\n}\r\n\r\nexport const logoStayDuration = (value) => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n let logoParams = api.getLogoParams();\r\n\r\n logoParams.logoStayDuration = value;\r\n sceneConfig.config.logoParams = logoParams;\r\n\r\n api.setLogoParams(logoParams);\r\n\r\n document.getElementById(\"logo_duration\").value = value;\r\n\r\n dispatchEvent({\r\n type: LOGO_STAY_DURATION,\r\n sceneConfig: sceneConfig,\r\n api: api,\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Set file data to state\r\n */\r\nexport const loadFileAction = (api) => {\r\n return dispatchEvent => {\r\n dispatchEvent({\r\n type: LOAD_FILE_ACTION,\r\n api: api\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Load tracker report\r\n */\r\nexport const loadInitialReportRequest = () => {\r\n return dispatchEvent => {\r\n dispatchEvent({\r\n type: LOAD_INITIAL_REPORT_REQUEST,\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Save scene config in state, basically all the info that the uploaded json file has\r\n */\r\nexport const saveSceneConfigToState = (sceneConfig, api, type) => {\r\n return (dispatchEvent, getState) => {\r\n //Prepare materials list array\r\n let materialsList = []\r\n let materialsLibrary = api.getMaterialLibrary()\r\n\r\n for (const [key, value] of Object.entries(sceneConfig.materials)) {\r\n materialsList.push({label: key, value: key}); //Prepare materialsList array to be used in materials dropdown\r\n }\r\n\r\n //Disable ground reflection on each model upload by default, by client request\r\n if (type === 'files') {\r\n sceneConfig.config.groundReflection.enable = false;\r\n // api.setGroundReflectionParams(sceneConfig.config.groundReflection)\r\n }\r\n api.setGroundReflectionParams(sceneConfig.config.groundReflection)\r\n var count = 0;\r\n var getMaterialLibrary = setInterval(() => {\r\n count ++;\r\n api.getMaterialLibrary();\r\n if(count == 5)\r\n {\r\n let meshes = ''\r\n let materials = getState().sceneConfig.api.getMaterialLibrary()\r\n \r\n materials.forEach(material => {\r\n meshes = meshes == '' ? material.params.id : (meshes + ';' + material.params.id)\r\n })\r\n\r\n localStorage.setItem('current-meshes', meshes);\r\n\r\n clearInterval(getMaterialLibrary);\r\n }\r\n }, 1000);\r\n\r\n let logoParams = api.getLogoParams();\r\n sceneConfig.config.logoParams = logoParams;\r\n api.setLogoParams(sceneConfig.config.logoParams);\r\n\r\n dispatchEvent({\r\n type: SAVE_SCENE_CONFIG_TO_STATE,\r\n sceneConfig: sceneConfig,\r\n api: api,\r\n materialsList: materialsList,\r\n materialsLibrary: materialsLibrary\r\n })\r\n \r\n if (type === 'files') {\r\n sceneConfig.config.camera.orbitParams.zoomSpeed = 0.5;\r\n dispatchEvent({\r\n type: CHANGE_ZOOM_SPEED,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n \r\n\r\n let arSettings = api.getXRParams();\r\n dispatchEvent({\r\n type: ENABLE_AR,\r\n arSettings: arSettings\r\n })\r\n\r\n\r\n //Check if exist Local Storage applied Preset for the scene\r\n setTimeout(() => {\r\n \r\n //privateApplyExistingLocalStorageMaterial(api, dispatchEvent, getState)\r\n\r\n //let sceneConfig = {...getState().sceneConfig}\r\n //sceneConfig.config.camera.zoom = 0.4\r\n // dispatchEvent({\r\n // type: CHANGE_CAMERA_ZOOM,\r\n // sceneConfig: sceneConfig\r\n // })\r\n\r\n }, 3000);\r\n\r\n \r\n if(localStorage.getItem('user'))\r\n {\r\n axios.get('user/get-user-permission').then(response => {\r\n let {data} = response\r\n if (data.success) {\r\n\r\n dispatchEvent({\r\n type: REQUEST_USER_PERMISSION,\r\n userPermission: data.data,\r\n })\r\n }\r\n }).catch(error => {\r\n console.log(error.message)\r\n })\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Saves an instance of api from cadcentre to state\r\n * Will be used on ProductRendered.js to call api's\r\n */\r\nexport const saveApiToState = (api) => {\r\n return (dispatchEvent, getState) => {\r\n dispatchEvent({\r\n type: SAVE_API_TO_STATE,\r\n api: api\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Downloads Scene as json format\r\n */\r\nexport const downloadScene = () => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n api.exportScene().then(value => {\r\n let link = document.createElement(\"a\");\r\n let blob = new Blob([JSON.stringify(value)], {type: 'application/json'});\r\n link.href = URL.createObjectURL(blob);\r\n // link.download = \"scene.json\";\r\n link.download = document.getElementById(\"sceneName\").value + \".json\" ;\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.appendChild(link);\r\n link.click();\r\n body.removeChild(link);\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Download scene as gltf format\r\n */\r\nexport const downloadGltf = () => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n dispatchEvent({\r\n type: DOWNLOAD_GLTF,\r\n sceneConfig: sceneConfig,\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Snap canvas\r\n */\r\nexport const snapCanvas = () => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n dispatchEvent({\r\n type: SNAP_CANVAS,\r\n sceneConfig: sceneConfig,\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Camera Zoom setting\r\n */\r\nexport const changeCameraZoom = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.zoom = value\r\n dispatchEvent({\r\n type: CHANGE_CAMERA_ZOOM,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Camera Fov setting\r\n */\r\nexport const changeFovSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.fov = value\r\n dispatchEvent({\r\n type: CHANGE_FOV_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Scene View\r\n */\r\nexport const changeSceneView = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n dispatchEvent({\r\n type: CHANGE_SCENE_VIEW,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Edge Glow Setting\r\n */\r\nexport const changeEdgeGlowSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.outline.edgeGlow = value\r\n dispatchEvent({\r\n type: CHANGE_EDGE_GLOW_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Edge Thickness Setting\r\n */\r\nexport const changeEdgeThicknessSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.outline.edgeThickness = value\r\n dispatchEvent({\r\n type: CHANGE_EDGE_THICKNESS_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Edge Strength Setting\r\n */\r\nexport const changeEdgeStrengthSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.outline.edgeStrength = value\r\n dispatchEvent({\r\n type: CHANGE_EDGE_STRENGTH_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Pulse Period Setting\r\n */\r\nexport const changePulsePeriodSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.outline.pulsePeriod = value\r\n dispatchEvent({\r\n type: CHANGE_PULSE_PERIOD_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Visible Edge Setting\r\n */\r\nexport const changeVisibleEdgeColor = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.outline.visibleEdgeColor = value\r\n dispatchEvent({\r\n type: CHANGE_VISIBLE_EDGE_COLOR_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Hidden Edge Color Setting\r\n */\r\nexport const changeHiddenEdgeColor = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.outline.hiddenEdgeColor = value\r\n dispatchEvent({\r\n type: CHANGE_HIDDEN_EDGE_COLOR_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Down Sample Ratio Setting\r\n */\r\nexport const changeDownSampleRatio = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.outline.downSampleRatio = value\r\n dispatchEvent({\r\n type: CHANGE_DOWN_SAMPLE_RATIO_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Camera Mode Setting\r\n */\r\nexport const changeCameraMode = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.mode = value\r\n dispatchEvent({\r\n type: CHANGE_CAMERA_MODE_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\nexport const changeCameraPositionSetting = () => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n const {api} = getState().sceneConfig\r\n if(api)\r\n {\r\n let p = api.getCameraParams();\r\n sceneConfig.config.camera.position = p.position\r\n dispatchEvent({\r\n type: CHANGE_CAMERA_POSITION_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n \r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Change Camera Position X Axis Setting\r\n */\r\nexport const changeCameraPositionXSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.position[0] = value\r\n dispatchEvent({\r\n type: CHANGE_CAMERA_POSITION_X_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Camera Position Y Axis Setting\r\n */\r\nexport const changeCameraPositionYSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.position[1] = value\r\n dispatchEvent({\r\n type: CHANGE_CAMERA_POSITION_Y_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Camera Position Z Axis Setting\r\n */\r\nexport const changeCameraPositionZSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.position[2] = value\r\n dispatchEvent({\r\n type: CHANGE_CAMERA_POSITION_Z_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Camera Target Setting\r\n */\r\nexport const changeCameraTargetSetting = () => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n dispatchEvent({\r\n type: CHANGE_CAMERA_TARGET_SETTING,\r\n sceneConfig: sceneConfig,\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Camera Setting\r\n */\r\nexport const changeCameraSetting = () => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n const {api} = getState().sceneConfig\r\n \r\n let p = api.getCameraParams();\r\n api.resetCamera()\r\n p = api.getCameraParams();\r\n sceneConfig.config.camera.position = p.position;\r\n console.log(\"action Creator\");\r\n dispatchEvent({\r\n type: CHANGE_CAMERA_SETTING,\r\n sceneConfig: sceneConfig,\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Bevel Setting\r\n */\r\nexport const changeBevelSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.enableBevel = value\r\n dispatchEvent({\r\n type: CHANGE_BEVEL_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Sharpness Setting\r\n */\r\nexport const changeSharpnessSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.sharpness = value\r\n dispatchEvent({\r\n type: CHANGE_SHARPNESS_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Toggle Sharpness Setting\r\n */\r\nexport const enableSharpnessSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n dispatchEvent({\r\n type: ENABLE_SHARPNESS_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Toggle Ssao Setting\r\n */\r\nexport const enableSsaoSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.ssao.enabled = value\r\n dispatchEvent({\r\n type: ENABLE_SSAO_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\nexport const enableSsaoBlur = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.ssao.blur = value\r\n sceneConfig.api.setSSAOParams({blur: value})\r\n dispatchEvent({\r\n type: ENABLE_SSAO_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Toggle Debug Ssao Setting\r\n */\r\nexport const enableDebugSsaoSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.ssao.enabled) {\r\n sceneConfig.config.ssao.enableDebug = value\r\n dispatchEvent({\r\n type: ENABLE_SSAO_DEBUG_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Change Ssao Intensity Setting\r\n */\r\nexport const changeSsaoIntensitySetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.ssao.enabled) {\r\n sceneConfig.config.ssao.intensity = value\r\n dispatchEvent({\r\n type: CHANGE_SSAO_INTENSITY_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Change Ssao Radius Setting\r\n */\r\nexport const changeSsaoRadiusSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.ssao.enabled) {\r\n sceneConfig.config.ssao.radius = value\r\n dispatchEvent({\r\n type: CHANGE_SSAO_RADIUS_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Change Ssao Downscale Setting\r\n */\r\nexport const changeSsaoDownscaleLevel = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.ssao.enabled) {\r\n sceneConfig.config.ssao.downscaleLevel = value\r\n dispatchEvent({\r\n type: CHANGE_SSAO_DOWNSCALE_LEVEL_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Toggle Bloom Setting\r\n */\r\nexport const enableBloomSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.unrealBloom.enabled = value\r\n dispatchEvent({\r\n type: ENABLE_BLOOM_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Bloom Strength Setting\r\n */\r\nexport const changeBloomStrengthSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.unrealBloom.enabled) {\r\n sceneConfig.config.unrealBloom.strength = value\r\n dispatchEvent({\r\n type: CHANGE_BLOOM_STRENGTH_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Change Bloom Radius Setting\r\n */\r\nexport const changeBloomRadiuSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.unrealBloom.enabled) {\r\n sceneConfig.config.unrealBloom.radius = value\r\n dispatchEvent({\r\n type: CHANGE_BLOOM_RADIUS_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Change Bloom Threshold Setting\r\n */\r\nexport const changeBloomThresholdSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.unrealBloom.enabled) {\r\n sceneConfig.config.unrealBloom.threshold = value\r\n dispatchEvent({\r\n type: CHANGE_BLOOM_THRESHOLD_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Change Straighten Model Rotate Setting\r\n */\r\nexport const changeStraightenModelRotateSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let api = getState().sceneConfig.api;\r\n console.log(\"getRotation\", api.getRotation());\r\n let sceneConfig = {...getState().sceneConfig}\r\n dispatchEvent({\r\n type: CHANGE_STRAIGHTEN_MODEL_ROTATE_SETTING,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change Straighten Model Setting\r\n */\r\nexport const resetStraightenModel = () => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n dispatchEvent({\r\n type: RESET_STRAIGHTEN_MODEL,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Take screenshot of current state of editor\r\n */\r\nexport const takeScreenshot = () => {\r\n return (dispatchEvent, getState) => {\r\n dispatchEvent({\r\n type: TAKE_SCREENSHOT\r\n })\r\n }\r\n}\r\n\r\nexport const enableGroundShadow = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.groundShadow.enabled = value\r\n dispatchEvent({\r\n type: ENABLE_GROUND_SHADOW_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const changeNumSamplesSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.groundShadow.enabled) {\r\n sceneConfig.config.groundShadow.numSamples = value\r\n dispatchEvent({\r\n type: CHANGE_NUM_SAMPLES_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeNumSamplesPerFrameSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.groundShadow.enabled) {\r\n sceneConfig.config.groundShadow.numSamplesPerFrame = value\r\n dispatchEvent({\r\n type: CHANGE_NUM_SAMPLES_PER_FRAME_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeGroundBrightnessSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.groundShadow.enabled) {\r\n sceneConfig.config.groundShadow.brightness = value\r\n dispatchEvent({\r\n type: CHANGE_GROUND_SHADOW_BRIGHTNESS_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeBlurRadiusSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.groundShadow.enabled) {\r\n sceneConfig.config.groundShadow.blurRadius = value\r\n dispatchEvent({\r\n type: CHANGE_BLUR_RADIUS_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeGroundSharpnessSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.groundShadow.enabled) {\r\n sceneConfig.config.groundShadow.sharpness = value\r\n dispatchEvent({\r\n type: CHANGE_GROUND_SHARPNESS_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeFalloffSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.groundShadow.enabled) {\r\n sceneConfig.config.groundShadow.falloff = value\r\n dispatchEvent({\r\n type: CHANGE_FALLOFF_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const enableSmooth = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.groundShadow.enabled) {\r\n sceneConfig.config.groundShadow.enableSmooth = value\r\n dispatchEvent({\r\n type: ENABLE_SMOOTH_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const enableSmoothTransition = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.groundShadow.enabled) {\r\n sceneConfig.config.groundShadow.smoothTransition = value\r\n dispatchEvent({\r\n type: CHANGE_SMOOTH_TRANSITION_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeGroundShadowSide = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.groundShadow.enabled) {\r\n sceneConfig.config.groundShadow.side = value\r\n dispatchEvent({\r\n type: CHANGE_GROUND_SHADOW_SIDE_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const enableGroundReflection = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.groundReflection.enable = value\r\n dispatchEvent({\r\n type: ENABLE_GROUND_REFLECTION_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const enableGroundReflectionPhysical = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.groundReflection.enable) {\r\n sceneConfig.config.groundReflection.physical = value\r\n if (!value) {\r\n sceneConfig.config.groundReflection.diffuseMap = ''\r\n }\r\n dispatchEvent({\r\n type: ENABLE_GROUND_REFLECTION_PHYSICAL_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeReflectionRoughnessSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.groundReflection.enable) {\r\n sceneConfig.config.groundReflection.roughness = value\r\n dispatchEvent({\r\n type: CHANGE_GROUND_REFLECTION_ROUGHNESS_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeReflectionMetalnessSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.groundReflection.enable) {\r\n sceneConfig.config.groundReflection.metalness = value\r\n dispatchEvent({\r\n type: CHANGE_GROUND_REFLECTION_METALNESS_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeReflectionSizeSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.groundReflection.enable) {\r\n sceneConfig.config.groundReflection.size = value\r\n dispatchEvent({\r\n type: CHANGE_GROUND_REFLECTION_SIZE_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const viewReflection = () => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.groundReflection.enable && sceneConfig.config.groundReflection.physical && sceneConfig.config.groundReflection.diffuseMap !== '') {\r\n dispatchEvent({\r\n type: VIEW_REFLECTION,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const downloadReflection = () => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.groundReflection.enable && sceneConfig.config.groundReflection.physical && sceneConfig.config.groundReflection.diffuseMap !== '') {\r\n dispatchEvent({\r\n type: DOWNLOAD_REFLECTION,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const loadReflection = () => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.groundReflection.enable && sceneConfig.config.groundReflection.physical && sceneConfig.config.groundReflection.diffuseMap !== '') {\r\n dispatchEvent({\r\n type: LOAD_REFLECTION,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const clearAll = () => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n dispatchEvent({\r\n type: CLEAR_ALL,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const setBackgroundColor = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n dispatchEvent({\r\n type: SET_BACKGROUND_COLOR,\r\n sceneConfig: sceneConfig,\r\n value: value\r\n })\r\n }\r\n}\r\n\r\nexport const removeBackground = () => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n dispatchEvent({\r\n type: REMOVE_BACKGROUND,\r\n sceneConfig: sceneConfig,\r\n })\r\n }\r\n}\r\n\r\nexport const enableDof = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.dof.enabled = value\r\n dispatchEvent({\r\n type: ENABLE_DOF,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const enableEditDof = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.dof.enableEdit = value\r\n dispatchEvent({\r\n type: ENABLE_EDIT_DOF,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const changeCrossColor = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.dof.enabled) {\r\n sceneConfig.config.dof.crossColor = value\r\n dispatchEvent({\r\n type: CHANGE_CROSS_COLOR_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeCrossRadiusSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.dof.enabled) {\r\n sceneConfig.config.dof.crossRadius = value\r\n dispatchEvent({\r\n type: CHANGE_CROSS_RADIUS_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeNearBlurScaleSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.dof.enabled) {\r\n sceneConfig.config.dof.nearBlurScale = value\r\n dispatchEvent({\r\n type: CHANGE_NEAR_BLUR_SCALE_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeFarBlurScaleSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.dof.enabled) {\r\n sceneConfig.config.dof.farBlurScale = value\r\n dispatchEvent({\r\n type: CHANGE_FAR_BLUR_SCALE_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeDepthRangeSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n if (sceneConfig.config.dof.enabled) {\r\n sceneConfig.config.dof.depthRange = value\r\n dispatchEvent({\r\n type: CHANGE_DEPTH_RANGE_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nexport const enableAutoRotate = value => {\r\n\r\n return (dispatchEvent, getState) => {\r\n\r\n if(value){\r\n }\r\n\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.orbitParams.autoRotate = value\r\n dispatchEvent({\r\n type: ENABLE_AUTO_ROTATE,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const screenSpacePanning = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.orbitParams.screenSpacePanning = value\r\n dispatchEvent({\r\n type: ENABLE_SCREEN_SPACE_PANNING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const enableZoom = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.orbitParams.enableZoom = value\r\n dispatchEvent({\r\n type: ENABLE_ZOOM,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const enablePan = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.orbitParams.enablePan = value\r\n dispatchEvent({\r\n type: ENABLE_PAN,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const changeAutoRotateSpeedSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n // if (sceneConfig.config.camera.orbitParams.autoRotate) {\r\n sceneConfig.config.camera.orbitParams.autoRotateSpeed = value\r\n dispatchEvent({\r\n type: CHANGE_AUTO_ROTATE_SPEED_SETTING,\r\n sceneConfig: sceneConfig\r\n })\r\n // }\r\n }\r\n}\r\n\r\n/**\r\n * Is used to show on sidebar the material of the selected object\r\n * @param selectedObjects\r\n * @param pickedObject\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const selectObject = (selectedObjects, pickedObject, objs) => {\r\n return (dispatchEvent, getState) => {\r\n let selectedObjectsInState = {...getState().selectedObjects}\r\n let sceneConfig = {...getState().sceneConfig}\r\n let objects = []\r\n let materialId = null\r\n let materialsList = sceneConfig.materialsList\r\n\r\n if (selectedObjects.size > 0) {\r\n /**\r\n * Set objects array\r\n */\r\n selectedObjects.forEach(object => {\r\n objects.push({uuid: object.uuid, name: object.name});\r\n })\r\n selectedObjectsInState.objects = objects\r\n\r\n /**\r\n * All the objects that enter this function have same material\r\n */\r\n for (const [key, value] of Object.entries(sceneConfig.materials)) {\r\n value.mesh.map(uuid => {\r\n if (uuid === objects[0].uuid) {\r\n materialId = key\r\n }\r\n })\r\n }\r\n } else {\r\n selectedObjectsInState.objects = []\r\n }\r\n //TODO will remove map property for now because api throws error when changing material properties\r\n let material = null\r\n if (materialId) {\r\n let {map, ...rest} = sceneConfig.materials[materialId.toString()].material\r\n material = rest\r\n }\r\n\r\n dispatchEvent({\r\n type: SELECT_OBJECT,\r\n object: objects.length !== 0 ? {uuid: pickedObject.uuid, name: pickedObject.name} : {},\r\n selected: selectedObjects.size > 0,\r\n materialId: materialId,\r\n material: material,\r\n pickedObject: pickedObject,\r\n materialsList: materialsList,\r\n objects: objs,\r\n mapType: null\r\n })\r\n }\r\n}\r\n\r\nexport const changeMaterialColor = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.color = value\r\n materials[selectedObjects.materialId].material.color = value\r\n dispatchEvent({\r\n type: CHANGE_MATERIAL_COLOR,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeBoostFactorXSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.boostFactors.x = value\r\n materials[selectedObjects.materialId].material.boostFactors.x = value\r\n dispatchEvent({\r\n type: CHANGE_BOOST_FACTOR_SETTING,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeBoostFactorYSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.boostFactors.y = value\r\n materials[selectedObjects.materialId].material.boostFactors.y = value\r\n dispatchEvent({\r\n type: CHANGE_BOOST_FACTOR_SETTING,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeBoostFactorZSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.boostFactors.z = value\r\n materials[selectedObjects.materialId].material.boostFactors.z = value\r\n dispatchEvent({\r\n type: CHANGE_BOOST_FACTOR_SETTING,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeEnvMapIntensityDiamond = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.envMapIntensity = value\r\n materials[selectedObjects.materialId].material.envMapIntensity = value\r\n dispatchEvent({\r\n type: CHANGE_ENV_MAP_INTENSITY_DIAMOND_SETTING,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeRefractiveIndexDiamond = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.refractiveIndex = value\r\n materials[selectedObjects.materialId].material.refractiveIndex = value\r\n dispatchEvent({\r\n type: CHANGE_REFRACTIVE_INDEX_DIAMOND_SETTING,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeGeometryFactorDiamond = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.geometryFactor = value\r\n materials[selectedObjects.materialId].material.geometryFactor = value\r\n dispatchEvent({\r\n type: CHANGE_GEOMETRY_FACTOR_DIAMOND_SETTING,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeSquashFactorDiamond = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.squashFactor = value\r\n materials[selectedObjects.materialId].material.squashFactor = value\r\n dispatchEvent({\r\n type: CHANGE_SQUASH_FACTOR_DIAMOND_SETTING,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeDispersionDiamond = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.dispersion = value\r\n materials[selectedObjects.materialId].material.dispersion = value\r\n dispatchEvent({\r\n type: CHANGE_DISPERSION_DIAMOND_SETTING,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeReflectivityDiamond = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.reflectivity = value\r\n materials[selectedObjects.materialId].material.reflectivity = value\r\n dispatchEvent({\r\n type: CHANGE_REFLECTIVITY_DIAMOND_SETTING,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n dispatchEvent({\r\n type: CHANGE_ENV_MAP_INTENSITY_DIAMOND_SETTING,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeAbsorptionFactorDiamond = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n // selectedObjects.material.absorption = value\r\n // materials[selectedObjects.materialId].material.absorption = value\r\n selectedObjects.material.absorptionFactor = value\r\n materials[selectedObjects.materialId].material.absorptionFactor = value\r\n dispatchEvent({\r\n type: CHANGE_ABSORPTION_DIAMOND_SETTING,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeGammaFactorDiamond = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.gammaFactor = value\r\n materials[selectedObjects.materialId].material.gammaFactor = value\r\n dispatchEvent({\r\n type: CHANGE_GAMMA_FACTOR_DIAMOND_SETTING,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Show properties for material type diamond\r\n * Check if the material of the selected object is used by other objects\r\n * Id yes, then removes this object from material mesh array\r\n * If not then material is removed completely\r\n * As defaults, for standard material, are used materialStandardDefaultSettings object in state\r\n * Note that timestamp is used as new key for adding new material to materials object.\r\n * If this new key is added as id property in material object itself, the controls will not work. So id should be undefined\r\n * @param object\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const makeDiamond = object => {\r\n return (dispatchEvent, getState) => {\r\n //first find material that is used by this object\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n let currentMaterialId = null // will hold the material that is being used by the picked object\r\n let objectsWithSameMaterial= null; // will count how many objects use this material\r\n let sceneConfig = {...getState().sceneConfig}\r\n\r\n for (const [key, data] of Object.entries(materials)) {\r\n data.mesh.map(uuid => {\r\n if (uuid === object.uuid) {\r\n objectsWithSameMaterial = data.mesh.length //check if this material is used by other objects too, if not, delete this material\r\n currentMaterialId = key // material id of this object\r\n }\r\n })\r\n }\r\n\r\n //First remove mesh from current material\r\n materials[selectedObjects.materialId].mesh = materials[selectedObjects.materialId].mesh.filter(el => el !== selectedObjects.pickedObject.uuid)\r\n\r\n //will create new material with random ID for this object (Inorder for controls to work on this new material the ID must be undefined)\r\n let newMaterialKey = 'M' + Date.now()\r\n materials = {\r\n ...materials,\r\n [newMaterialKey]: {\r\n material: {\r\n id: newMaterialKey.toString(),\r\n ...getState().selectedObjects.materialDiamondDefaultSettings\r\n },\r\n mesh: [object.uuid]\r\n }\r\n }\r\n\r\n //Add new material to materials list\r\n let materialsList = sceneConfig.materialsList\r\n materialsList.push({value: newMaterialKey, label: newMaterialKey})\r\n\r\n //Change object material and dispatch action\r\n selectedObjects.objects.forEach(obj => {\r\n sceneConfig.api.importMaterialParams(materials[newMaterialKey].material).then(() => {\r\n sceneConfig.api.setMaterialParams(obj, {isDiamond: true})\r\n })\r\n });\r\n //Update materials library\r\n let materialsLibrary = []\r\n materialsLibrary = sceneConfig.api.getMaterialLibrary()\r\n //Change selected object state\r\n dispatchEvent({\r\n type: MAKE_DIAMOND,\r\n materials: materials,\r\n object: {uuid: object.uuid, name: object.name},\r\n material: materials[newMaterialKey].material,\r\n materialId: newMaterialKey,\r\n materialsList: materialsList,\r\n materialsLibrary: materialsLibrary,\r\n selected: true,\r\n objects: [object]\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Show properties for material type standard\r\n * Check if the material of the selected object is used by other objects\r\n * Id yes, then removes this object from material mesh array\r\n * If not then material is removed completely\r\n * As defaults, for standard material, are used materialStandardDefaultSettings object in state\r\n * Note that timestamp is used as new key for adding new material to materials object.\r\n * If this new key is added as id property in material object itself, the controls will not work. So id should be undefined\r\n * @param object\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const makeStandard = object => {\r\n return (dispatchEvent, getState) => {\r\n //first find material that is used by this object\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n let currentMaterialId = null // will hold the material that is being used by the picked object\r\n let objectsWithSameMaterial= null; // will count how many objects use this material\r\n let sceneConfig = {...getState().sceneConfig}\r\n\r\n for (const [key, data] of Object.entries(materials)) {\r\n data.mesh.map(uuid => {\r\n if (uuid === object.uuid) {\r\n objectsWithSameMaterial = data.mesh.length //check if this material is used by other objects too, if not, delete this material\r\n currentMaterialId = key // material id of this object\r\n }\r\n })\r\n }\r\n\r\n //First remove mesh from current material\r\n materials[selectedObjects.materialId].mesh = materials[selectedObjects.materialId].mesh.filter(el => el !== selectedObjects.pickedObject.uuid)\r\n\r\n //will create new material with random ID for this object (Inorder for controls to work on this new material the ID must be undefined)\r\n let newMaterialKey = 'M' + Date.now()\r\n materials = {\r\n ...materials,\r\n [newMaterialKey]: {\r\n material: {\r\n id: newMaterialKey.toString(),\r\n ...getState().selectedObjects.materialStandardDefaultSettings\r\n },\r\n mesh: [object.uuid]\r\n }\r\n }\r\n\r\n //Add new material to materials list\r\n let materialsList = sceneConfig.materialsList\r\n materialsList.push({value: newMaterialKey, label: newMaterialKey})\r\n\r\n //Change object material and dispatch action\r\n selectedObjects.objects.forEach(obj => {\r\n sceneConfig.api.importMaterialParams(materials[newMaterialKey].material).then(() => {\r\n sceneConfig.api.setMaterialParams(obj, {})\r\n })\r\n });\r\n \r\n //Update materials library\r\n let materialsLibrary = []\r\n materialsLibrary = sceneConfig.api.getMaterialLibrary()\r\n\r\n //Change selected object state\r\n dispatchEvent({\r\n type: MAKE_STANDARD,\r\n materials: materials,\r\n object: {uuid: object.uuid, name: object.name},\r\n material: materials[newMaterialKey].material,\r\n materialId: newMaterialKey,\r\n materialsList: materialsList,\r\n materialsLibrary: materialsLibrary,\r\n selected: true,\r\n objects: [object]\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Show properties for material type refraction\r\n * Check if the material of the selected object is used by other objects\r\n * Id yes, then removes this object from material mesh array\r\n * If not then material is removed completely\r\n * As defaults, for refraction material, are used materialRefractionDefaultSettings object in state\r\n * Note that timestamp is used as new key for adding new material to materials object.\r\n * If this new key is added as id property in material object itself, the controls will not work. So id should be undefined\r\n * @param object\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const makeRefraction = object => {\r\n return (dispatchEvent, getState) => {\r\n //first find material that is used by this object\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n let currentMaterialId = null // will hold the material that is being used by the picked object\r\n let objectsWithSameMaterial= null; // will count how many objects use this material\r\n let sceneConfig = {...getState().sceneConfig}\r\n\r\n for (const [key, data] of Object.entries(materials)) {\r\n data.mesh.map(uuid => {\r\n if (uuid === object.uuid) {\r\n objectsWithSameMaterial = data.mesh.length //check if this material is used by other objects too, if not, delete this material\r\n currentMaterialId = key // material id of this object\r\n }\r\n })\r\n }\r\n\r\n //First remove mesh from current material\r\n materials[selectedObjects.materialId].mesh = materials[selectedObjects.materialId].mesh.filter(el => el !== selectedObjects.pickedObject.uuid)\r\n\r\n //will create new material with random ID for this object (Inorder for controls to work on this new material the ID must be undefined)\r\n let newMaterialKey = 'M' + Date.now()\r\n materials = {\r\n ...materials,\r\n [newMaterialKey]: {\r\n material: {\r\n id: newMaterialKey.toString(),\r\n ...getState().selectedObjects.materialRefractionDefaultSettings\r\n },\r\n mesh: [object.uuid]\r\n }\r\n }\r\n\r\n //Add new material to materials list\r\n let materialsList = sceneConfig.materialsList\r\n materialsList.push({value: newMaterialKey, label: newMaterialKey})\r\n\r\n //Change object material and dispatch action\r\n selectedObjects.objects.forEach(obj => {\r\n sceneConfig.api.importMaterialParams(materials[newMaterialKey].material).then(() => {\r\n sceneConfig.api.setMaterialParams(obj, {isRefraction: true})\r\n })\r\n });\r\n \r\n //Update materials library\r\n let materialsLibrary = []\r\n materialsLibrary = sceneConfig.api.getMaterialLibrary()\r\n\r\n //Change selected object state\r\n dispatchEvent({\r\n type: MAKE_REFRACTION,\r\n materials: materials,\r\n object: {uuid: object.uuid, name: object.name},\r\n material: materials[newMaterialKey].material,\r\n materialId: newMaterialKey,\r\n materialsList: materialsList,\r\n materialsLibrary: materialsLibrary,\r\n selected: true,\r\n objects: [object]\r\n })\r\n }\r\n}\r\n\r\n\r\nexport const pickedGroupToggleVisibility = object => {\r\n console.log('pickedGroupToggleVisibility');\r\n return (dispatchEvent, getState) => {\r\n //first find material that is used by this object\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n let currentMaterialId = null // will hold the material that is being used by the picked object\r\n let objectsWithSameMaterial= null; // will count how many objects use this material\r\n let sceneConfig = {...getState().sceneConfig}\r\n\r\n for (const [key, data] of Object.entries(materials)) {\r\n data.mesh.map(uuid => {\r\n if (uuid === object.uuid) {\r\n objectsWithSameMaterial = data.mesh.length //check if this material is used by other objects too, if not, delete this material\r\n currentMaterialId = key // material id of this object\r\n }\r\n })\r\n }\r\n\r\n //First remove mesh from current material\r\n materials[selectedObjects.materialId].mesh = materials[selectedObjects.materialId].mesh.filter(el => el !== selectedObjects.pickedObject.uuid)\r\n\r\n //will create new material with random ID for this object (Inorder for controls to work on this new material the ID must be undefined)\r\n let newMaterialKey = 'M' + Date.now()\r\n materials = {\r\n ...materials,\r\n [newMaterialKey]: {\r\n material: {\r\n id: newMaterialKey.toString(),\r\n ...getState().selectedObjects.materialRefractionDefaultSettings\r\n },\r\n mesh: [object.uuid]\r\n }\r\n }\r\n\r\n //Add new material to materials list\r\n let materialsList = sceneConfig.materialsList\r\n materialsList.push({value: newMaterialKey, label: newMaterialKey})\r\n\r\n //Change object material and dispatch action\r\n sceneConfig.api.importMaterialParams(materials[newMaterialKey].material).then(() => {\r\n sceneConfig.api.setMaterialParams(selectedObjects.pickedObject, {visible: !selectedObjects.pickedObject.visible})\r\n\r\n //Update materials library\r\n let materialsLibrary = []\r\n materialsLibrary = sceneConfig.api.getMaterialLibrary()\r\n\r\n //Change selected object state\r\n dispatchEvent({\r\n type: CHANGE_PICKED_GROUP_VISIBILITY,\r\n materials: materials,\r\n object: {uuid: object.uuid, name: object.name},\r\n material: materials[newMaterialKey].material,\r\n materialId: newMaterialKey,\r\n materialsList: materialsList,\r\n materialsLibrary: materialsLibrary,\r\n selected: true,\r\n objects: [object]\r\n })\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Show properties for uploaded\r\n * Check if the current material of the selected object is used by other objects\r\n * Id yes, then removes this object from material mesh array\r\n * Note that timestamp is used as new key for adding new material to materials object.\r\n * If this new key is added as id property in material object itself, the controls will not work. So id should be undefined\r\n * @param object\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const uploadMaterial = object => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = getState().sceneConfig\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n let currentMaterialId = null // will hold the material that is being used by the picked object\r\n let objectsWithSameMaterial= null; // will count how many objects use this material\r\n\r\n //first find material that is used by this object\r\n for (const [key, data] of Object.entries(materials)) {\r\n data.mesh.map(uuid => {\r\n if (uuid === object.uuid) {\r\n objectsWithSameMaterial = data.mesh.length //check if this material is used by other objects too, if not, delete this material\r\n currentMaterialId = key // material id of this object\r\n }\r\n })\r\n }\r\n\r\n //First remove mesh from current material\r\n materials[selectedObjects.materialId].mesh = materials[selectedObjects.materialId].mesh.filter(el => el !== selectedObjects.pickedObject.uuid)\r\n\r\n const inputFile = document.getElementById(\"fileInput\");\r\n inputFile.onchange = e => {\r\n const files = Array.from(e.target.files)\r\n let file = Array.isArray(files) ? files[0] : files;\r\n if (file) {\r\n let reader = new FileReader();\r\n reader.readAsText(file);\r\n reader.onload = function () {\r\n let {id, ...uploadedMaterial} = JSON.parse(reader.result)\r\n //will add new material with random ID for this object (Inorder for controls to work on this new material the ID must be undefined)\r\n if (JSON.parse(reader.result)) {\r\n //will create new material with random ID for this object (Inorder for controls to work on this new material the ID must be undefined)\r\n let newMaterialKey = 'M' + Date.now()\r\n materials = {\r\n ...materials,\r\n [newMaterialKey]: {\r\n material: {\r\n id: newMaterialKey.toString(),\r\n ...uploadedMaterial\r\n },\r\n mesh: [object.uuid]\r\n }\r\n }\r\n\r\n //Add new material to materials list\r\n let materialsList = sceneConfig.materialsList\r\n materialsList.push({value: newMaterialKey, label: newMaterialKey})\r\n\r\n //Change object material and dispatch action\r\n sceneConfig.api.importMaterialParams(materials[newMaterialKey].material).then(() => {\r\n sceneConfig.api.setMaterialParams(selectedObjects.pickedObject, materials[newMaterialKey].material)\r\n\r\n //Update materials library\r\n let materialsLibrary = []\r\n materialsLibrary = sceneConfig.api.getMaterialLibrary()\r\n\r\n //Change selected object state\r\n dispatchEvent({\r\n type: UPLOAD_MATERIAL,\r\n materials: materials,\r\n object: {uuid: object.uuid, name: object.name},\r\n material: materials[newMaterialKey].material,\r\n materialId: newMaterialKey,\r\n materialsLibrary: materialsLibrary,\r\n selected: true,\r\n materialsList: materialsList\r\n })\r\n })\r\n }\r\n }\r\n }\r\n }\r\n inputFile.click();\r\n }\r\n}\r\n\r\nexport const changeStandardMaterialColor = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.color = value\r\n materials[selectedObjects.materialId].material.color = value\r\n dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_COLOR,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeStandardMaterialOpacity = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.opacity = value\r\n materials[selectedObjects.materialId].material.opacity = value\r\n dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_OPACITY,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeBevelRadius = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.bevelRadius = value\r\n materials[selectedObjects.materialId].material.bevelRadius = value\r\n if (getState().sceneConfig.config.enableBevel) {\r\n dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_BEVEL_RADIUS,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeStandardMaterialRoughness = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.roughness = value\r\n materials[selectedObjects.materialId].material.roughness = value\r\n dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_ROUGHNESS,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeStandardMaterialMetalness = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.metalness = value\r\n materials[selectedObjects.materialId].material.metalness = value\r\n dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_METALNESS,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeStandardMaterialEnvMapIntensity = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.envMapIntensity = value\r\n materials[selectedObjects.materialId].material.envMapIntensity = value\r\n dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_ENV_MAP_INTENSITY,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeStandardMaterialAlphaMapIntensity = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.envMapIntensity = value\r\n materials[selectedObjects.materialId].material.envMapIntensity = value\r\n dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_ALPHA_MAP_INTENSITY,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material,\r\n mapType: 'alphaMap'\r\n })\r\n }\r\n}\r\n\r\nexport const changeStandardMaterialLightMapIntensity = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.lightMapIntensity = value\r\n materials[selectedObjects.materialId].material.lightMapIntensity = value\r\n dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_LIGHT_MAP_INTENSITY,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material,\r\n mapType: 'lightMap'\r\n })\r\n }\r\n}\r\n\r\nexport const changeStandardMaterialAoMapIntensity = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.aoMapIntensity = value\r\n materials[selectedObjects.materialId].material.aoMapIntensity = value\r\n dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_AO_MAP_INTENSITY,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material,\r\n mapType: 'aoMap'\r\n })\r\n }\r\n}\r\n\r\nexport const changeStandardMaterialEmissiveIntensity = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.emissiveIntensity = value\r\n materials[selectedObjects.materialId].material.emissiveIntensity = value\r\n dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_EMISSIVE_INTENSITY,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material,\r\n mapType: 'emissiveMap'\r\n })\r\n }\r\n}\r\n\r\nexport const changeStandardMaterialBumpScale = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.bumpScale = value\r\n materials[selectedObjects.materialId].material.bumpScale = value\r\n dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_BUMP_SCALE,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material,\r\n mapType: 'bumpMap'\r\n })\r\n }\r\n}\r\n\r\nexport const changeStandardMaterialLineWidth = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n if (selectedObjects.material.wireframe) {\r\n selectedObjects.material.wireframeLinewidth = value\r\n materials[selectedObjects.materialId].material.wireframeLinewidth = value\r\n dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_WIREFRAME_LINE_WIDTH,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeDampingFactor = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.orbitParams.dampingFactor = value\r\n dispatchEvent({\r\n type: CHANGE_DAMPING_FACTOR,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const changeZoomSpeed = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.orbitParams.zoomSpeed = Number(value)\r\n dispatchEvent({\r\n type: CHANGE_ZOOM_SPEED,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\n\r\nexport const changeMinimumSpeed = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.orbitParams.minSpeed = value\r\n let api = getState().sceneConfig.api;\r\n api.setCameraParams({orbitParams: {minSpeed: value}})\r\n dispatchEvent({\r\n type: CHANGE_MIN_SPEED,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const changeMaximumSpeed = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.orbitParams.maxSpeed = value\r\n let api = getState().sceneConfig.api;\r\n api.setCameraParams({orbitParams: {maxSpeed: value}})\r\n dispatchEvent({\r\n type: CHANGE_MAX_SPEED,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\n\r\n\r\nexport const changeMinimumDistance = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.orbitParams.minDistance = value\r\n dispatchEvent({\r\n type: CHANGE_MIN_DISTANCE,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const changeMaximumDistance = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.orbitParams.maxDistance = value\r\n dispatchEvent({\r\n type: CHANGE_MAX_DISTANCE,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const changeMaxZoom = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.orbitParams.maxZoom = parseFloat(value)\r\n dispatchEvent({\r\n type: CHANGE_MAX_ZOOM,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const changeMinZoom = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.orbitParams.minZoom = parseFloat(value)\r\n dispatchEvent({\r\n type: CHANGE_MIN_ZOOM,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const changeMaxPolarAngle = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.orbitParams.maxPolarAngle = parseFloat(value)\r\n dispatchEvent({\r\n type: CHANGE_MAX_POLAR_ANGLE,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const changeMinPolarAngle = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.orbitParams.minPolarAngle = parseFloat(value)\r\n dispatchEvent({\r\n type: CHANGE_MIN_POLAR_ANGLE,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const changeMaxAzimuthAngle = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.orbitParams.maxAzimuthAngle = parseFloat(value)\r\n dispatchEvent({\r\n type: CHANGE_MAX_AZIMUTH_ANGLE,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const changeMinAzimuthAngle = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.orbitParams.minAzimuthAngle = parseFloat(value)\r\n dispatchEvent({\r\n type: CHANGE_MIN_AZIMUTH_ANGLE,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const standardMaterialEnableWireframe = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.wireframe = value\r\n materials[selectedObjects.materialId].material.wireframe = value\r\n dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_ENABLE_WIREFRAME,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeStandardMaterialEmissiveColor = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.emissive = value\r\n materials[selectedObjects.materialId].material.emissive = value\r\n dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_EMISSIVE_COLOR,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material,\r\n mapType: 'emissiveMap'\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Downloads material as json format\r\n */\r\nexport const downloadMaterial = () => {\r\n return (dispatchEvent, getState) => {\r\n let api = getState().sceneConfig.api\r\n let material = api.getMaterialParams(getState().selectedObjects.pickedObject)\r\n api.exportMaterialParams(material).then(value => {\r\n delete value['id']\r\n let link = document.createElement(\"a\");\r\n let blob = new Blob([JSON.stringify(value)], {type: 'application/json'});\r\n link.href = URL.createObjectURL(blob);\r\n link.download = \"material.json\";\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.appendChild(link);\r\n link.click();\r\n body.removeChild(link);\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Upload map file for material type standard\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const uploadMapFile = (propName) => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n const {api} = getState().sceneConfig\r\n\r\n const inputFile = document.getElementById(\"fileInput\");\r\n inputFile.onchange = e => {\r\n const files = Array.from(e.target.files)\r\n let file = Array.isArray(files) ? files[0] : files;\r\n console.log(files);\r\n if (file) {\r\n api.importTexture(file, texture => {\r\n selectedObjects.material[propName] = texture\r\n materials[selectedObjects.materialId].material[propName] = texture\r\n // texture.wrapS = RepeatWrapping;\r\n // texture.wrapT = RepeatWrapping;\r\n // texture.repeat.set(10, 10);\r\n if(propName == \"normalMap\")\r\n {\r\n selectedObjects.material.normalScale.x = 1;\r\n selectedObjects.material.normalScale.y = 1;\r\n }\r\n if(propName == \"alphaMap\")\r\n {\r\n selectedObjects.material.envMapIntensity = 1;\r\n }\r\n console.log('propname: ' + propName);\r\n if(propName == \"map\"){\r\n //Set Encoding = SRGB as default\r\n let ccc = 0;\r\n let encodingInt = setInterval(() => {\r\n console.log(\"ccc: \" + ccc);\r\n if(selectedObjects.pickedObject.material[propName]){\r\n colorMapEncodingPrivate(propName, TextureExporter.WEBGL_CONSTANTS.SRGB_ENCODING, dispatchEvent, getState);\r\n clearInterval(encodingInt);\r\n }\r\n ccc++;\r\n }, 1);\r\n\r\n \r\n }\r\n dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_MAP_FILE,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material,\r\n mapType: propName\r\n })\r\n })\r\n }\r\n inputFile.value = '';\r\n }\r\n inputFile.click();\r\n }\r\n}\r\n\r\nfunction colorMapEncodingPrivate(propName, value, dispatchEvent, getState){\r\n const {api} = getState().sceneConfig\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.pickedObject.material[propName].encoding = value;//TextureExporter.WEBGL_TO_THREE.get(+value)\r\n materials[selectedObjects.materialId].material[propName] = selectedObjects.pickedObject.material[propName]\r\n\r\n let sampler = TextureExporter.getSampler(selectedObjects.pickedObject.material[propName]);\r\n TextureExporter.setSampler(sampler, selectedObjects.pickedObject.material[propName]);\r\n api.setDirty();\r\n api.setMaterialParams(selectedObjects.pickedObject, selectedObjects.material);\r\n dispatchEvent({\r\n type: MAP_ENCODING,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n}\r\n\r\nexport const mapWrapU = (propName, value) => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.pickedObject.material[propName].wrapS = TextureExporter.WEBGL_TO_THREE.get(+value)\r\n materials[selectedObjects.materialId].material[propName] = selectedObjects.pickedObject.material[propName]\r\n\r\n let sampler = TextureExporter.getSampler(selectedObjects.pickedObject.material[propName]);\r\n console.log(sampler);\r\n TextureExporter.setSampler(sampler, selectedObjects.pickedObject.material[propName]);\r\n api.setDirty();\r\n\r\n dispatchEvent({\r\n type: MAP_WRAP_U,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const mapWrapV = (propName, value) => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.pickedObject.material[propName].wrapT = TextureExporter.WEBGL_TO_THREE.get(+value)\r\n materials[selectedObjects.materialId].material[propName] = selectedObjects.pickedObject.material[propName]\r\n\r\n let sampler = TextureExporter.getSampler(selectedObjects.pickedObject.material[propName]);\r\n console.log(sampler);\r\n TextureExporter.setSampler(sampler, selectedObjects.pickedObject.material[propName]);\r\n api.setDirty();\r\n\r\n dispatchEvent({\r\n type: MAP_WRAP_V,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\n\r\nexport const colorMapEncoding = (propName, value) => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.pickedObject.material[propName].encoding = value;//TextureExporter.WEBGL_TO_THREE.get(+value)\r\n materials[selectedObjects.materialId].material[propName] = selectedObjects.pickedObject.material[propName]\r\n\r\n let sampler = TextureExporter.getSampler(selectedObjects.pickedObject.material[propName]);\r\n TextureExporter.setSampler(sampler, selectedObjects.pickedObject.material[propName]);\r\n api.setDirty();\r\n api.setMaterialParams(selectedObjects.pickedObject, selectedObjects.material);\r\n dispatchEvent({\r\n type: MAP_ENCODING,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeMapRepeatU = (propName, value) => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.pickedObject.material[propName].repeat.x = value\r\n materials[selectedObjects.materialId].material[propName] = selectedObjects.pickedObject.material[propName]\r\n\r\n let sampler = TextureExporter.getSampler(selectedObjects.pickedObject.material[propName]);\r\n TextureExporter.setSampler(sampler, selectedObjects.pickedObject.material[propName]);\r\n api.setDirty();\r\n\r\n dispatchEvent({\r\n type: CHANGE_MAP_REPEAT_U,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const changeMapRepeatV = (propName, value) => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.pickedObject.material[propName].repeat.y = value\r\n console.log(\"selectedObjects.pickedObject\");\r\n console.log(selectedObjects.pickedObject);\r\n console.log(\"materials\");\r\n console.log(materials);\r\n console.log(\"selectedObjects.materialId\");\r\n console.log(selectedObjects.materialId);\r\n console.log(\"materials[selectedObjects.materialId]\");\r\n console.log(materials[selectedObjects.materialId]);\r\n materials[selectedObjects.materialId].material[propName] = selectedObjects.pickedObject.material[propName]\r\n\r\n let sampler = TextureExporter.getSampler(selectedObjects.pickedObject.material[propName]);\r\n TextureExporter.setSampler(sampler, selectedObjects.pickedObject.material[propName]);\r\n api.setDirty();\r\n\r\n dispatchEvent({\r\n type: CHANGE_MAP_REPEAT_V,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const openMapFile = (propName) => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n const {api} = getState().sceneConfig\r\n TextureExporter.openTexture(selectedObjects.pickedObject.material[propName])\r\n }\r\n}\r\n\r\nexport const downloadMapFile = (propName) => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n const {api} = getState().sceneConfig\r\n TextureExporter.downloadTexture(selectedObjects.pickedObject.material[propName], selectedObjects.material[propName].name.split('.')[0])\r\n }\r\n}\r\n\r\nexport const removeMapFile = (propName) => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n const {api} = getState().sceneConfig\r\n selectedObjects.pickedObject.material[propName] = null;\r\n api.setMaterialParams(selectedObjects.pickedObject, {});\r\n \r\n selectedObjects.material[propName] = null\r\n materials[selectedObjects.materialId].material[propName] = null\r\n dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_MAP_FILE,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material,\r\n mapType: propName\r\n })\r\n }\r\n\r\n}\r\n\r\nfunction applyMaterialFromDBToLayer(dispatchEvent, getState, layerId, uuidPreset, uuidPresetFolder) {\r\n const {api} = getState().sceneConfig\r\n let material = null;\r\n let materialId = null;\r\n let materials = getState().sceneConfig.materialsLibrary\r\n for(let mat of materials)\r\n {\r\n if(mat.params.id == layerId){\r\n let group = mat;\r\n api.highlightObjects.apply(api, group.mesh) //Highlight objects\r\n material = group.params;\r\n let p = {edgeStrength: 10};\r\n api.getTweener(p)\r\n .to({edgeStrength: 0.0}, 4*1000)\r\n // .delay(4*1000)\r\n .onUpdate(()=> api.setOutlineParams(p))\r\n .start();\r\n \r\n \r\n for (const [key, value] of Object.entries(getState().sceneConfig.materials)) {\r\n if (value.material.id === material.id) {\r\n materialId = key\r\n }\r\n }\r\n dispatchEvent({\r\n type: SELECT_MESH,\r\n material: material,\r\n materialId: materialId,\r\n object: {uuid: group.mesh[0].uuid, name: group.mesh[0].name},\r\n objects: group.mesh,\r\n pickedObject: group.mesh[0],\r\n selected: true\r\n })\r\n privateApplyingPreset(dispatchEvent, getState, uuidPreset, uuidPresetFolder);\r\n }\r\n }\r\n}\r\n\r\nfunction privateApplyExistingLocalStorageMaterial(api, dispatchEvent, getState)\r\n{\r\n \r\n //Select Material GROUP\r\n let material = null;\r\n let materialId = null;\r\n let materials = getState().sceneConfig.materialsLibrary\r\n for(let mat of materials)\r\n {\r\n let group = mat;\r\n material = group.params;\r\n api.highlightObjects.apply(api, group.mesh) //Highlight objects\r\n\r\n\r\n let p = {edgeStrength: 10};\r\n api.getTweener(p)\r\n .to({edgeStrength: 0.0}, 4*1000)\r\n // .delay(4*1000)\r\n .onUpdate(()=> api.setOutlineParams(p))\r\n .start();\r\n\r\n\r\n for (const [key, value] of Object.entries(getState().sceneConfig.materials)) {\r\n if (value.material.id === material.id) {\r\n materialId = key\r\n }\r\n }\r\n dispatchEvent({\r\n type: SELECT_MESH,\r\n material: material,\r\n materialId: materialId,\r\n object: {uuid: group.mesh[0].uuid, name: group.mesh[0].name},\r\n objects: group.mesh,\r\n pickedObject: group.mesh[0],\r\n selected: true\r\n })\r\n let presetObj = localStorage.getItem(mat.params.id);\r\n if(presetObj)\r\n {\r\n let uuidPreset = presetObj.split(\";\")[0];\r\n let uuidPresetFolder = presetObj.split(\";\")[1];\r\n\r\n //privateApplyingPreset(dispatchEvent, getState, uuidPreset, uuidPresetFolder);\r\n\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Upload json scene config. The file that it is exported from sidebar controls\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const uploadScene = () => {\r\n return (dispatchEvent, getState) => {\r\n let so = getState().selectedObjects;\r\n let comb = getState().combinations;\r\n const {api} = getState().sceneConfig\r\n const inputFile = document.getElementById(\"fileInput\");\r\n inputFile.value = null;\r\n inputFile.onchange = e => {\r\n const files = Array.from(e.target.files)\r\n let file = Array.isArray(files) ? files[0] : files;\r\n if (file) {\r\n let reader = new FileReader();\r\n reader.readAsText(file);\r\n reader.onload = function () {\r\n let sceneConfig = JSON.parse(reader.result)\r\n so.object = {};\r\n so.objects = [];\r\n comb.presetList = {};\r\n document.getElementById(\"myLoader\").style.display = \"block\";\r\n document.getElementById(\"canvas\").style.display = \"none\";\r\n api.importScene(sceneConfig).then(() => {\r\n \r\n setTimeout(() => {\r\n let obj = sceneConfig;\r\n let p = api.getCameraParams();\r\n p.position = [obj.config.camera.position[0], obj.config.camera.position[1], obj.config.camera.position[2]];\r\n api.setCameraParams(p);\r\n \r\n document.getElementById(\"myLoader\").style.display = \"none\";\r\n document.getElementById(\"canvas\").style.display = \"block\";\r\n\r\n\r\n }, 1000);\r\n\r\n var count = 0 ;\r\n var getMaterialLibrary = setInterval(() => {\r\n count ++;\r\n api.getMaterialLibrary();\r\n if(count == 5)\r\n {\r\n let meshes = ''\r\n let materials = getState().sceneConfig.api.getMaterialLibrary()\r\n \r\n materials.forEach(material => {\r\n meshes = meshes == '' ? material.params.id : (meshes + ';' + material.params.id)\r\n })\r\n \r\n localStorage.setItem('current-meshes', meshes);\r\n \r\n \r\n clearInterval(getMaterialLibrary);\r\n }\r\n }, 1000);\r\n \r\n let taaParams = api.getTAAParams();\r\n api.setTAAParams(taaParams);\r\n \r\n \r\n sceneConfig.config.groundShadow.falloff = 2.5\r\n api.setGroundShadowParams(sceneConfig.config.groundShadow)\r\n \r\n //Default Logo watermark\r\n if(!sceneConfig.config.logoParams)\r\n {\r\n let logoParams = api.getLogoParams();\r\n sceneConfig.config.logoParams = logoParams;\r\n }\r\n \r\n //Load Annotation Enable\r\n if(api.annotationsEnabled)\r\n {\r\n dispatchEvent({\r\n enableAnnotations: api.annotationsEnabled,\r\n type: ENABLE_ANNOTATIONS,\r\n })\r\n }\r\n \r\n dispatchEvent({\r\n type: UPLOAD_SCENE,\r\n sceneConfig: sceneConfig,\r\n api: api\r\n })\r\n \r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_SUCCESS,\r\n combinations: [],\r\n loading: false\r\n })\r\n \r\n let arSettings = api.getXRParams();\r\n dispatchEvent({\r\n type: ENABLE_AR,\r\n arSettings: arSettings\r\n })\r\n \r\n\r\n\r\n\r\n //Check if exist Local Storage applied Preset for the scene\r\n // privateApplyExistingLocalStorageMaterial(api, dispatchEvent, getState)\r\n let decoded_jwt = jwt_decode(localStorage.getItem('user'));\r\n const userId = decoded_jwt.id;\r\n let uuids = [];\r\n \r\n let layerInter = setInterval(() => {\r\n let materials = getState().sceneConfig.api.getMaterialLibrary();\r\n if(materials.length > 0){\r\n clearInterval(layerInter);\r\n console.log('zxczx');\r\n materials = getState().sceneConfig.api.getMaterialLibrary();\r\n materials.map((group, i) => {\r\n uuids.push(group.params.id);\r\n })\r\n axios.post('layer/getList', {\r\n uuids: uuids,\r\n userId: userId\r\n }).then(response => {\r\n const layers = response.data.data.layers;\r\n for(let layer of layers){\r\n if(layer.materialId || layer.materialFolderId){\r\n console.log(layer);\r\n applyMaterialFromDBToLayer(dispatchEvent, getState, layer.layerId, layer.materialId, layer.materialFolderId);\r\n }\r\n }\r\n });\r\n }\r\n }, 1000);\r\n\r\n\r\n });\r\n\r\n }\r\n }\r\n }\r\n inputFile.click();\r\n }\r\n}\r\n\r\nexport const uploadCubeMap = () => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n const {api} = getState().sceneConfig\r\n\r\n const inputFile = document.getElementById(\"fileInput\");\r\n inputFile.onchange = e => {\r\n const files = Array.from(e.target.files)\r\n let file = Array.isArray(files) ? files[0] : files;\r\n if (file) {\r\n api.setBackgroundFile(file, {\r\n setEnvironment: false,\r\n setDiamondEnv: true,\r\n setBackground: false,\r\n imageBasedLighting: true\r\n })\r\n\r\n //TODO Where to save this in state ??\r\n /*dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_MAP_FILE,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })*/\r\n }\r\n }\r\n inputFile.click();\r\n }\r\n}\r\n\r\nexport const uploadEquirec = () => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n const {api} = getState().sceneConfig\r\n\r\n const inputFile = document.getElementById(\"fileInput\");\r\n inputFile.onchange = e => {\r\n const files = Array.from(e.target.files)\r\n let file = Array.isArray(files) ? files[0] : files;\r\n if (file) {\r\n api.setBackgroundFile(file, {\r\n setEnvironment: false,\r\n setDiamondEnv: true,\r\n setBackground: false,\r\n imageBasedLighting: true\r\n })\r\n\r\n //TODO Where to save this in state ??\r\n /*dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_MAP_FILE,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })*/\r\n }\r\n }\r\n inputFile.click();\r\n }\r\n}\r\n\r\n\r\nexport const refractionMaterialToggleVisibilityWithLayerId = (uuid, value) => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.visible = value\r\n materials[uuid].material.visible = value\r\n console.log(\"uuid: \" + uuid);\r\n dispatchEvent({\r\n type: CHANGE_REFRACTION_MATERIAL_VISIBILITY,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const refractionMaterialToggleVisibility = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.visible = value\r\n\r\n console.log(\"selectedObjects.materialId: \" + selectedObjects.materialId);\r\n materials[selectedObjects.materialId].material.visible = value\r\n dispatchEvent({\r\n type: CHANGE_REFRACTION_MATERIAL_VISIBILITY,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const refractionMaterialTintColor = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.refractionTintColor = value\r\n materials[selectedObjects.materialId].material.refractionTintColor = value\r\n dispatchEvent({\r\n type: CHANGE_REFRACTION_MATERIAL_TINT_COLOR,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const refractionMaterialDiffuse = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.diffuse = value\r\n materials[selectedObjects.materialId].material.diffuse = value\r\n dispatchEvent({\r\n type: CHANGE_REFRACTION_MATERIAL_DIFFUSE_COLOR,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const refractionMaterialRefractionIndex = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.refractionIndex = value\r\n materials[selectedObjects.materialId].material.refractionIndex = value\r\n dispatchEvent({\r\n type: CHANGE_REFRACTION_MATERIAL_REFRACTION_INDEX,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const refractionMaterialRefractionRoughness = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.refractionRoughness = value\r\n materials[selectedObjects.materialId].material.refractionRoughness = value\r\n dispatchEvent({\r\n type: CHANGE_REFRACTION_MATERIAL_REFRACTION_ROUGHNESS,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const refractionMaterialRoughness = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.roughness = value\r\n materials[selectedObjects.materialId].material.roughness = value\r\n dispatchEvent({\r\n type: CHANGE_REFRACTION_MATERIAL_ROUGHNESS,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const refractionMaterialMetalness = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.metalness = value\r\n materials[selectedObjects.materialId].material.metalness = value\r\n dispatchEvent({\r\n type: CHANGE_REFRACTION_MATERIAL_METALNESS,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const refractionMaterialTransparency = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.transparency = value\r\n materials[selectedObjects.materialId].material.transparency = value\r\n dispatchEvent({\r\n type: CHANGE_REFRACTION_MATERIAL_TRANSPARENCY,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\nexport const enableAr = value => {\r\n return (dispatchEvent, getState) => {\r\n let arSettings = {...getState().sceneConfig.arSettings}\r\n arSettings.enabled = value\r\n dispatchEvent({\r\n type: ENABLE_AR,\r\n arSettings: arSettings\r\n })\r\n }\r\n}\r\n\r\nexport const changeObjectScaleSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let arSettings = {...getState().sceneConfig.arSettings}\r\n if (arSettings.enabled) {\r\n arSettings.objectScale = value\r\n dispatchEvent({\r\n type: CHANGE_OBJECT_SCALE_SETTING,\r\n arSettings: arSettings\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeReticleSizeInSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let arSettings = {...getState().sceneConfig.arSettings}\r\n if (arSettings.enabled) {\r\n arSettings.reticleSizeIn = value\r\n dispatchEvent({\r\n type: CHANGE_RETICLE_SIZE_IN_SETTING,\r\n arSettings: arSettings\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeReticleSizeOutSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let arSettings = {...getState().sceneConfig.arSettings}\r\n if (arSettings.enabled) {\r\n arSettings.reticleSizeOut = value\r\n dispatchEvent({\r\n type: CHANGE_RETICLE_SIZE_OUT_SETTING,\r\n arSettings: arSettings\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeReticleFadeThreshSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let arSettings = {...getState().sceneConfig.arSettings}\r\n if (arSettings.enabled) {\r\n arSettings.reticleFadeThresh = value\r\n dispatchEvent({\r\n type: CHANGE_RETICLE_FADE_THRESH_SETTING,\r\n arSettings: arSettings\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeReticleFadeTimeSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let arSettings = {...getState().sceneConfig.arSettings}\r\n if (arSettings.enabled) {\r\n arSettings.reticleFadeTime = value\r\n dispatchEvent({\r\n type: CHANGE_RETICLE_FADE_TIME_SETTING,\r\n arSettings: arSettings\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const enableArGroundShadows = value => {\r\n return (dispatchEvent, getState) => {\r\n let arSettings = {...getState().sceneConfig.arSettings}\r\n if (arSettings.enabled) {\r\n arSettings.groundShadows = value\r\n dispatchEvent({\r\n type: CHANGE_GROUND_SHADOWS_SETTING,\r\n arSettings: arSettings\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeReticleColorSetting = value => {\r\n return (dispatchEvent, getState) => {\r\n let arSettings = {...getState().sceneConfig.arSettings}\r\n if (arSettings.enabled) {\r\n arSettings.reticleColor = value\r\n dispatchEvent({\r\n type: CHANGE_RETICLE_COLOR_SETTING,\r\n arSettings: arSettings\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const uploadEnvironment = () => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n const {api} = getState().sceneConfig\r\n\r\n const inputFile = document.getElementById(\"fileInput\");\r\n inputFile.onchange = e => {\r\n const files = Array.from(e.target.files)\r\n let file = Array.isArray(files) ? files[0] : files;\r\n if (file) {\r\n console.log(file);\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n const base64String = reader.result\r\n\r\n api.loadTexture(base64String,\r\n event => console.log(event), {filename: file.name}).then(value => {\r\n api.sceneManager.setSceneEnvironment\r\n (value, {imageBasedLighting: true, setBackground: false, setDiamondEnv: true, setEnvironment: true});\r\n })\r\n\r\n };\r\n reader.readAsDataURL(file);\r\n console.log(\"File\");\r\n console.log(file);\r\n api.setBackgroundFile(file, {\r\n setEnvironment: true,\r\n setDiamondEnv: true,\r\n setBackground: true,\r\n imageBasedLighting: true\r\n })\r\n\r\n //TODO Where to save this in state ??\r\n /*dispatchEvent({\r\n type: CHANGE_STANDARD_MATERIAL_MAP_FILE,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material\r\n })*/\r\n }\r\n inputFile.value = null;\r\n }\r\n inputFile.click();\r\n inputFile.value = null;\r\n }\r\n}\r\n\r\nexport const backgroundLoadImage = () => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig}\r\n\r\n const inputFile = document.getElementById(\"fileInput\");\r\n inputFile.value = null;\r\n inputFile.onchange = e => {\r\n const files = Array.from(e.target.files)\r\n let file = Array.isArray(files) ? files[0] : files;\r\n if (file) {\r\n api.setBackgroundFile(file, {\r\n setEnvironment: false\r\n })\r\n\r\n api.importTexture(file, texture => {\r\n sceneConfig.config.background = texture\r\n })\r\n\r\n dispatchEvent({\r\n type: CHANGE_BACKGROUND_IMAGE_FILE,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n }\r\n inputFile.click();\r\n }\r\n}\r\n\r\nexport const changeToneMappingExposureSetting = (value) => {\r\n return (dispatchEvent, getState) => {\r\n let config = {...getState().sceneConfig.config}\r\n config.toneMappingExposure = value\r\n dispatchEvent({\r\n type: CHANGE_TONE_MAPPING_EXPOSURE_SETTING,\r\n config: config,\r\n })\r\n }\r\n}\r\n\r\nexport const changeToneMappingSaturationSetting = (value) => {\r\n return (dispatchEvent, getState) => {\r\n let config = {...getState().sceneConfig.config}\r\n config.toneMappingSaturation = value\r\n dispatchEvent({\r\n type: CHANGE_TONE_MAPPING_SATURATION_SETTING,\r\n config: config,\r\n })\r\n }\r\n}\r\n\r\nexport const changeToneMappingContrastSetting = (value) => {\r\n return (dispatchEvent, getState) => {\r\n let config = {...getState().sceneConfig.config}\r\n config.toneMappingContrast = value\r\n dispatchEvent({\r\n type: CHANGE_TONE_MAPPING_CONTRAST_SETTING,\r\n config: config,\r\n })\r\n }\r\n}\r\n\r\nexport const changeEnvMapRotationSetting = (value) => {\r\n return (dispatchEvent, getState) => {\r\n let config = {...getState().sceneConfig.config}\r\n config.envMapRotation = value\r\n dispatchEvent({\r\n type: CHANGE_ENV_MAP_ROTATION_SETTING,\r\n config: config,\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * When selecting material from dropdown will change the material on all objects that use the old material\r\n * @param materialKey\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const selectMaterial = materialKey => {\r\n return (dispatchEvent, getState) => {\r\n //first find material that is used by this object\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n let objects = []\r\n let newMaterial = materials[materialKey].material\r\n let objectsWithSameMaterial = null; // will count how many objects use this material\r\n\r\n for (const [key, data] of Object.entries(materials)) {\r\n if (key === materialKey) {\r\n objectsWithSameMaterial = data.mesh.length //check if this material is used by other objects too, if not, delete this material\r\n }\r\n }\r\n\r\n //First remove mesh from current material\r\n selectedObjects.objects.forEach(object => {\r\n materials[selectedObjects.materialId].mesh = materials[selectedObjects.materialId].mesh.filter(el => el !== object.uuid)\r\n })\r\n\r\n //Add mesh to new material\r\n selectedObjects.objects.forEach(object => {\r\n materials[materialKey].mesh.push(object.uuid)\r\n objects.push(object)\r\n })\r\n\r\n //change selected object state\r\n dispatchEvent({\r\n type: SELECT_MATERIAL,\r\n materials: materials,\r\n material: newMaterial,\r\n materialId: materialKey,\r\n objects: objects,\r\n object: {uuid: selectedObjects.pickedObject.uuid, name: selectedObjects.pickedObject.name},\r\n selected: true\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Change material name. Changes lasts as long as the app instance lasts\r\n * @param materials\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const changeMaterialName = materials => {\r\n return (dispatchEvent, getState) => {\r\n dispatchEvent({\r\n type: CHANGE_MATERIAL_NAME,\r\n materialsList: materials,\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Will load presets from server on component ProductRenderer mount\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const loadPresets = () => {\r\n return (dispatchEvent, getState) => {\r\n axios.get('preset/get-list').then(response => {\r\n let {data} = response\r\n if (data.success) {\r\n\r\n //Save presets in state\r\n let newState = {\r\n presets: data.data.presets,\r\n hasError: false,\r\n error: ''\r\n }\r\n\r\n dispatchEvent({\r\n type: REQUEST_PRESETS_SUCCESS,\r\n newState: newState,\r\n })\r\n }\r\n\r\n if (!data.success) {\r\n dispatchEvent({\r\n type: REQUEST_PRESETS_FAILED,\r\n newState: {\r\n hasError: true,\r\n error: data.data.message\r\n },\r\n })\r\n }\r\n }).catch(error => {\r\n console.log(error.message)\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Remove specific preset folder from state\r\n * @param uuid\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const deletePresetFolder = uuid => {\r\n return (dispatchEvent, getState) => {\r\n let {presets} = {...getState().presetLibrary}\r\n const presetsUpdated = presets.filter(preset => preset.uuid !== uuid)\r\n dispatchEvent({\r\n type: DELETED_PRESET_FOLDER,\r\n presets: presetsUpdated\r\n })\r\n }\r\n}\r\n\r\nexport const editPresetFolder = uuid => {\r\n return (dispatchEvent, getState) => {\r\n let {presets} = {...getState().presetLibrary}\r\n const presetsUpdated = presets.filter(preset => preset.uuid !== uuid)\r\n dispatchEvent({\r\n type: EDIT_PRESET_FOLDER,\r\n presets: presetsUpdated\r\n })\r\n\r\n axios.get('preset/get-list').then(response => {\r\n let {data} = response\r\n if (data.success) {\r\n\r\n //Save presets in state\r\n let newState = {\r\n presets: data.data.presets,\r\n hasError: false,\r\n error: ''\r\n }\r\n\r\n dispatchEvent({\r\n type: REQUEST_PRESETS_SUCCESS,\r\n newState: newState,\r\n })\r\n }\r\n\r\n if (!data.success) {\r\n dispatchEvent({\r\n type: REQUEST_PRESETS_FAILED,\r\n newState: {\r\n hasError: true,\r\n error: data.data.message\r\n },\r\n })\r\n }\r\n }).catch(error => {\r\n console.log(error.message)\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Remove specific preset from state\r\n * @param uuidPreset\r\n * @param uuidPresetFolder\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const deletePreset = (uuidPreset, uuidPresetFolder) => {\r\n return (dispatchEvent, getState) => {\r\n let presets = [...getState().presetLibrary.presets]\r\n let presetsUpdated = presets.map(presetFolder => {\r\n if (presetFolder.uuid === uuidPresetFolder){\r\n let {data, ...folderInfo} = presetFolder\r\n let filteredPresets = data.filter(preset => preset.uuid !== uuidPreset)\r\n return {\r\n data: filteredPresets,\r\n ...folderInfo\r\n }\r\n } else {\r\n return presetFolder\r\n }\r\n })\r\n\r\n dispatchEvent({\r\n type: DELETED_PRESET,\r\n presets: presetsUpdated\r\n })\r\n }\r\n}\r\n\r\nexport const editPreset = (uuidPreset, uuidPresetFolder) => {\r\n return (dispatchEvent, getState) => {\r\n let presets = [...getState().presetLibrary.presets]\r\n let presetsUpdated = presets.map(presetFolder => {\r\n if (presetFolder.uuid === uuidPresetFolder){\r\n let {data, ...folderInfo} = presetFolder\r\n let filteredPresets = data.filter(preset => preset.uuid !== uuidPreset)\r\n return {\r\n data: filteredPresets,\r\n ...folderInfo\r\n }\r\n } else {\r\n return presetFolder\r\n }\r\n })\r\n\r\n dispatchEvent({\r\n type: EDIT_PRESET,\r\n presets: presetsUpdated\r\n })\r\n\r\n axios.get('preset/get-list').then(response => {\r\n let {data} = response\r\n if (data.success) {\r\n\r\n //Save presets in state\r\n let newState = {\r\n presets: data.data.presets,\r\n hasError: false,\r\n error: ''\r\n }\r\n\r\n dispatchEvent({\r\n type: REQUEST_PRESETS_SUCCESS,\r\n newState: newState,\r\n })\r\n }\r\n\r\n if (!data.success) {\r\n dispatchEvent({\r\n type: REQUEST_PRESETS_FAILED,\r\n newState: {\r\n hasError: true,\r\n error: data.data.message\r\n },\r\n })\r\n }\r\n }).catch(error => {\r\n console.log(error.message)\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Save new preset in state\r\n * @param presetName\r\n * @param folderUuid\r\n * @param presetUuid\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const savePreset = (presetName, folderUuid, presetUuid, presetPrice) => {\r\n return (dispatchEvent, getState) => {\r\n let presets = [...getState().presetLibrary.presets]\r\n let material = {...getState().selectedObjects.material}\r\n let presetsUpdated = presets.map(presetFolder => {\r\n if (presetFolder.uuid === folderUuid){\r\n let {data, ...folderInfo} = presetFolder\r\n if (!data) {\r\n data = [{\r\n data: {...material},\r\n uuid: presetUuid,\r\n name: presetName,\r\n price: presetPrice\r\n }]\r\n } else {\r\n data.push({\r\n data: {...material},\r\n uuid: presetUuid,\r\n name: presetName,\r\n price: presetPrice\r\n })\r\n }\r\n return {\r\n data: data,\r\n ...folderInfo\r\n }\r\n } else {\r\n return presetFolder\r\n }\r\n })\r\n\r\n dispatchEvent({\r\n type: SAVED_PRESET,\r\n presets: presetsUpdated\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Save new preset folder\r\n * @param folderName\r\n * @param folderUuid\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const savePresetFolder = (folderName, folderUuid) => {\r\n return (dispatchEvent, getState) => {\r\n let presets = [...getState().presetLibrary.presets]\r\n presets.push({\r\n uuid: folderUuid,\r\n name: folderName\r\n })\r\n\r\n dispatchEvent({\r\n type: SAVED_PRESET_FOLDER,\r\n presets: presets\r\n })\r\n }\r\n}\r\n\r\nexport const applyPresetFolder = () => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let preset_folder_layer = {};\r\n let listLayerIds = [];\r\n for (const [key, value] of Object.entries(materials)) {\r\n listLayerIds.push(value.material.id);\r\n }\r\n \r\n let presetFolderList = {...getState().presetLibrary.presets};\r\n privateApplyPresetAndPresetFolderToLayer(listLayerIds, presetFolderList, dispatchEvent);\r\n\r\n }\r\n}\r\n\r\nfunction privateApplyPresetAndPresetFolderToLayer(uuids, presetFolderList, dispatchEvent){\r\n setTimeout(() => {\r\n let preset_layer = {};\r\n let preset_folder_layer = {};\r\n let decoded_jwt = jwt_decode(localStorage.getItem('user'));\r\n const userId = decoded_jwt.id;\r\n axios.post('layer/getList', {\r\n uuids: uuids,\r\n userId: userId\r\n }).then(response => {\r\n const layers = response.data.data.layers;\r\n for(let layer of layers){\r\n for (const [key, value] of Object.entries(presetFolderList)) {\r\n if(value.uuid == layer.materialFolderId){\r\n preset_folder_layer[layer.layerId] = value.name;\r\n }\r\n \r\n if(value.data != undefined){\r\n for(let preset of value.data){\r\n if(layer.materialId == preset.uuid){\r\n preset_layer[layer.layerId] = preset.name\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n dispatchEvent({\r\n type: LOAD_PRESET_LAYER,\r\n preset_layer: preset_layer,\r\n })\r\n dispatchEvent({\r\n type: LOAD_PRESET_FOLDER_LAYER,\r\n preset_folder_layer: preset_folder_layer,\r\n })\r\n });\r\n }, 1000);\r\n}\r\n\r\nfunction privateApplyingPreset(dispatchEvent, getState, uuidPreset, uuidPresetFolder)\r\n{\r\n let presets = [...getState().presetLibrary.presets]\r\n let newMaterial = {}\r\n //first find material that is used by this object\r\n let materials = {...getState().sceneConfig.materials}\r\n let materialsList = [...getState().sceneConfig.materialsList]\r\n let selectedObjects = {...getState().selectedObjects}\r\n let objects = []\r\n let chosenPresetUuid = '';\r\n\r\n if(selectedObjects.material == null || selectedObjects.material.id == undefined)\r\n {\r\n return;\r\n }\r\n\r\n\r\n let listLayerIds = [];\r\n for (const [key, value] of Object.entries(materials)) {\r\n listLayerIds.push(value.material.id);\r\n }\r\n\r\n let presetFolderList = {...getState().presetLibrary.presets};\r\n privateApplyPresetAndPresetFolderToLayer(listLayerIds, presetFolderList, dispatchEvent);\r\n \r\n\r\n /* if preset doesn't on Google Bucket*/\r\n //Get material info from preset\r\n presets.map(presetFolder => {\r\n if (presetFolder.uuid === uuidPresetFolder){\r\n presetFolder.data.map(preset => {\r\n if (preset.uuid === uuidPreset) {\r\n if(!JSON.stringify(preset.data).includes(\"googleapis\"))\r\n {\r\n if(typeof preset.data !== 'object'){\r\n preset.data = JSON.parse(preset.data);\r\n }\r\n \r\n newMaterial = {...preset.data}\r\n chosenPresetUuid = preset.uuid;\r\n\r\n\r\n let responseMaterial = {};\r\n let newMaterialKey = '';\r\n for (const [key, value] of Object.entries(materials)) {\r\n if(value.material.id == selectedObjects.material.id)\r\n {\r\n newMaterial.id = value.material.id;\r\n newMaterial.name = value.material.name;\r\n \r\n value.material = newMaterial;\r\n responseMaterial = value.material;\r\n newMaterialKey = key;\r\n localStorage.setItem(value.material.id, uuidPreset + \";\" + uuidPresetFolder);\r\n }\r\n }\r\n \r\n // //Add mesh to new material\r\n selectedObjects.objects.forEach(object => {\r\n //materials[newMaterialKey].mesh.push(object.uuid)\r\n objects.push(object)\r\n })\r\n \r\n // //Add new material to materials list array\r\n // materialsList.push({label: newMaterialKey, value: newMaterialKey})\r\n \r\n //change selected object state\r\n dispatchEvent({\r\n type: APPLY_PRESET,\r\n materials: materials,\r\n material: responseMaterial,\r\n materialId: newMaterialKey,\r\n materialsList: materialsList,\r\n objects: objects,\r\n object: {uuid: selectedObjects.pickedObject.uuid, name: selectedObjects.pickedObject.name},\r\n selected: true,\r\n loading: false\r\n })\r\n \r\n //add Preset to Preset List\r\n let presetList = {...getState().combinations.presetList};\r\n presetList[newMaterialKey] = chosenPresetUuid;\r\n dispatchEvent({\r\n type: ADD_PRESET_TO_LIST,\r\n presetList: presetList,\r\n })\r\n\r\n\r\n }\r\n else\r\n {\r\n \r\n document.getElementById(\"myLoader\").style.display = \"block\";\r\n document.getElementById(\"canvas\").style.display = \"none\";\r\n \r\n //TODO: Call API to get Preset Data\r\n const result = axios.post('preset/get', {id: uuidPreset}).then(response => {\r\n document.getElementById(\"myLoader\").style.display = \"none\";\r\n document.getElementById(\"canvas\").style.display = \"block\";\r\n let {data} = response\r\n if (!data.success) {\r\n console.log(data)\r\n }\r\n if (data.success) {\r\n let preset = data.data.preset;\r\n //Get material info from preset\r\n // presets.map(presetFolder => {\r\n // if (presetFolder.uuid === uuidPresetFolder){\r\n // presetFolder.data.map(preset => {\r\n // if (preset.uuid === uuidPreset) {\r\n // newMaterial = {...preset.data}\r\n // chosenPresetUuid = preset.uuid;\r\n // }\r\n // })\r\n // }\r\n // })\r\n newMaterial = (preset.data);\r\n chosenPresetUuid = preset.uuid;\r\n \r\n let responseMaterial = {};\r\n let newMaterialKey = '';\r\n for (const [key, value] of Object.entries(materials)) {\r\n if(value.material.id == selectedObjects.material.id)\r\n {\r\n newMaterial.id = value.material.id;\r\n newMaterial.name = value.material.name;\r\n \r\n value.material = newMaterial;\r\n responseMaterial = value.material;\r\n newMaterialKey = key;\r\n localStorage.setItem(value.material.id, uuidPreset + \";\" + uuidPresetFolder);\r\n }\r\n }\r\n \r\n // //Add mesh to new material\r\n selectedObjects.objects.forEach(object => {\r\n //materials[newMaterialKey].mesh.push(object.uuid)\r\n objects.push(object)\r\n })\r\n \r\n // //Add new material to materials list array\r\n // materialsList.push({label: newMaterialKey, value: newMaterialKey})\r\n \r\n //change selected object state\r\n dispatchEvent({\r\n type: APPLY_PRESET,\r\n materials: materials,\r\n material: responseMaterial,\r\n materialId: newMaterialKey,\r\n materialsList: materialsList,\r\n objects: objects,\r\n object: {uuid: selectedObjects.pickedObject.uuid, name: selectedObjects.pickedObject.name},\r\n selected: true,\r\n loading: false\r\n })\r\n \r\n //add Preset to Preset List\r\n let presetList = {...getState().combinations.presetList};\r\n presetList[newMaterialKey] = chosenPresetUuid;\r\n dispatchEvent({\r\n type: ADD_PRESET_TO_LIST,\r\n presetList: presetList,\r\n })\r\n }\r\n })\r\n \r\n\r\n .catch(function (error) {\r\n if (error.response) {\r\n console.log(error.response.data);\r\n console.log(error.response.status);\r\n console.log(error.response.headers);\r\n }\r\n });\r\n\r\n ;\r\n\r\n console.log(result);\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 * Applies material to selected objects\r\n * @param uuidPreset\r\n * @param uuidPresetFolder\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const applyPreset = (uuidPreset, uuidPresetFolder) => {\r\n return (dispatchEvent, getState) => {\r\n \r\n privateApplyingPreset(dispatchEvent, getState, uuidPreset, uuidPresetFolder);\r\n \r\n }\r\n}\r\n\r\n/**\r\n * Send request to get combinations from server\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const loadCombinations = (isUpdate = false) => {\r\n return (dispatchEvent, getState) => {\r\n \r\n if(!isUpdate)\r\n {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_LIST,\r\n loading: true\r\n })\r\n }\r\n\r\n setTimeout(() => {\r\n \r\n let meshes = '';\r\n let materials = getState().sceneConfig.api.getMaterialLibrary()\r\n materials.forEach(material => {\r\n meshes = meshes == '' ? material.params.id : (meshes + ';' + material.params.id)\r\n })\r\n\r\n meshes = localStorage.getItem(\"current-meshes\");\r\n\r\n\r\n axios.get('combination/get-list?meshes=' + meshes).then(response => {\r\n let {data} = response\r\n if (data.success) {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_SUCCESS,\r\n combinations: data.data.combination,\r\n loading: false\r\n })\r\n }\r\n\r\n if (!data.success) {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_FAILED,\r\n hasError: true,\r\n error: data.data.message,\r\n loading: false\r\n })\r\n }\r\n }).catch(error => {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_ERROR,\r\n hasError: true,\r\n error: 'Combinations could not be loaded !',\r\n loading: false\r\n })\r\n })\r\n }, 1000);\r\n }\r\n}\r\n\r\nexport const getTransactions = () => {\r\n return (dispatchEvent, getState) => {\r\n \r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_LIST,\r\n loading: true\r\n })\r\n setTimeout(() => {\r\n axios.get('transaction/get-user-transactions').then(response => {\r\n let {data} = response\r\n let transactions = data.data.transactions\r\n if (data.success) {\r\n dispatchEvent({\r\n type: REQUEST_TRANSACTION_SUCCESS,\r\n transactions: transactions,\r\n loading: false\r\n })\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_ERROR,\r\n hasError: true,\r\n error: 'Transaction could not be loaded !',\r\n loading: false\r\n })\r\n })\r\n }, 1000);\r\n}\r\n}\r\n\r\nexport const getActivityInfo = () => {\r\n return (dispatchEvent, getState) => {\r\n \r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_LIST,\r\n loading: true\r\n })\r\n setTimeout(() => {\r\n axios.get('view/get-activity-info').then(response => {\r\n let {data} = response\r\n let user = data.data.user\r\n if (data.success) {\r\n dispatchEvent({\r\n type: REQUEST_ACTIVITY_SUCCESS,\r\n remain: user.remain,\r\n default: user.default,\r\n extra: user.extra,\r\n expired: user.expired,\r\n loading: false\r\n })\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_ERROR,\r\n hasError: true,\r\n error: 'Activity could not be loaded !',\r\n loading: false\r\n })\r\n })\r\n }, 1000);\r\n}\r\n}\r\n\r\nexport const getStorageSummary = () => {\r\n return (dispatchEvent, getState) => {\r\n \r\n setTimeout(() => {\r\n axios.get('combination/get-summary').then(response => {\r\n let {data} = response\r\n console.log(data);\r\n let summary = data.data\r\n if (data.success) {\r\n dispatchEvent({\r\n type: GET_STORAGE_SUMMARY,\r\n summary: summary\r\n })\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n dispatchEvent({\r\n type: GET_STORAGE_SUMMARY,\r\n hasError: true,\r\n error: 'Activity could not be loaded !',\r\n loading: false\r\n })\r\n })\r\n }, 1000);\r\n}\r\n}\r\n\r\nexport const refreshCombinationsSizeAfterDelete = () => {\r\n return (dispatchEvent, getState) => {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_SIZE_SUCCESS,\r\n combinations: [],\r\n totalSize: 0\r\n })\r\n };\r\n}\r\n\r\nexport const getCombinationsSize = (skip, limit, search, isUpdate = false) => {\r\n skip = 0;\r\n return (dispatchEvent, getState) => {\r\n \r\n if(!isUpdate)\r\n {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_LIST,\r\n loading: true\r\n })\r\n }\r\n limit = 1000;\r\n setTimeout(() => {\r\n\r\n axios.get('combination/get-list-size?limit='+limit+'&skip='+skip+'&s='+search).then(response => {\r\n let {data} = response\r\n if (data.success) {\r\n let totalSize = 0;\r\n for(let combination of data.data)\r\n {\r\n totalSize += Number(combination.size);\r\n }\r\n let combs = data.data;\r\n let combinationsList = getState().combinations.combinationsList;\r\n axios.get('user/get-storage-info').then(response2 => {\r\n let {data} = response2;\r\n\r\n // setTimeout(() => {\r\n // let lastRecord = combs[0].uuid;\r\n // var elm = document.getElementById(lastRecord);\r\n // elm.scrollIntoView({ block: 'end', behavior: 'smooth' }); \r\n // }, 500);\r\n\r\n\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_SIZE_SUCCESS,\r\n //combinations: [...combinationsList,...combs],\r\n combinations: combs,\r\n totalSize: Number(totalSize),// + Number(getState().combinations.totalSize),\r\n // totalSize: Number(totalSize) + Number(getState().combinations.totalSize),\r\n storage: data.data.storageLimit,\r\n storageExpired: new Date(data.data.storageExpiredDate),\r\n loading: false\r\n })\r\n }).catch(error => {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_ERROR,\r\n hasError: true,\r\n error: 'Combinations could not be loaded !',\r\n loading: false\r\n })\r\n });\r\n }\r\n\r\n if (!data.success) {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_FAILED,\r\n hasError: true,\r\n error: data.data.message,\r\n loading: false\r\n })\r\n }\r\n }).catch(error => {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_ERROR,\r\n hasError: true,\r\n error: 'Combinations could not be loaded !',\r\n loading: false\r\n })\r\n })\r\n }, 1000);\r\n }\r\n}\r\n/**\r\n * Add new combination\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const addNewCombination = () => {\r\n return (dispatchEvent, getState) => {\r\n\r\n //Prepare layers\r\n let layers = []\r\n let meshes = ''\r\n let materials = getState().sceneConfig.api.getMaterialLibrary()\r\n let uuids = [];\r\n let decoded_jwt = jwt_decode(localStorage.getItem('user'));\r\n const userId = decoded_jwt.id;\r\n\r\n materials = materials.sort(commonFunction.sortLayerName);\r\n materials.forEach(material => {\r\n console.log(material);\r\n layers.push(material.material.name.replace(/_/g, ' ').replace(/-/g, ' '))\r\n meshes = meshes == '' ? material.params.id : (meshes + ';' + material.params.id)\r\n uuids.push(material.params.id);\r\n })\r\n \r\n meshes = meshes; //localStorage.getItem(\"current-meshes\");\r\n\r\n axios.post('layer/getList', {\r\n uuids: uuids,\r\n userId: userId\r\n }).then(response => {\r\n\r\n const layersResponse = response.data.data.layers;\r\n console.log(\"meshes: \"+ meshes);\r\n //Validate Preset before adding combination\r\n let presetList = {...getState().combinations.presetList};\r\n let checkMaterialApplied = true;\r\n for(let layer of layersResponse){\r\n if(!layer.materialId || !layer.materialFolderId){\r\n checkMaterialApplied = false;\r\n }\r\n }\r\n\r\n //This one inside the else statement below, move here to bypass the check applying Material to Layer\r\n //Dispatch loading true\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_LIST,\r\n loading: true\r\n })\r\n \r\n //Prepare scene file\r\n let sceneConfig = {\r\n config: {},\r\n geometry: {},\r\n materials: {}\r\n }\r\n let presets = [];\r\n let presetIds = [];\r\n \r\n const presetFolderList = {...getState().presetLibrary.presets};\r\n materials.forEach(material => {\r\n for(let layer of layersResponse){\r\n if(material.params.id == layer.layerId){\r\n for (const [key, value] of Object.entries(presetFolderList)) {\r\n if(value.data){\r\n for(let preset of value.data){\r\n if(layer.materialId == preset.uuid){\r\n presets.push(preset.name);\r\n presetIds.push(preset.uuid);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n })\r\n \r\n getState().sceneConfig.api.exportScene().then(result => {\r\n sceneConfig = result\r\n //Prepare file and layers to sent\r\n let blob = new Blob([JSON.stringify(sceneConfig)], {type: 'application/json'});\r\n // let staticImg = getState().sceneConfig.api.getSnapshotData(\"image/jpg\", 600, 338)\r\n // let staticImg = getState().sceneConfig.api.getSnapshotData(\"image/jpg\", 2560, 1440)\r\n let staticImg = getState().sceneConfig.api.getSnapshotData(\"image/jpg\");\r\n let data = new FormData()\r\n data.append(\"meshes\", meshes)\r\n data.append(\"presets\", presets)\r\n data.append(\"presetIds\", presetIds)\r\n data.append(\"layers\", JSON.stringify(layers))\r\n\r\n data.append(\"logoDuration\", document.getElementById(\"logo_duration\").value != \"\" ? document.getElementById(\"logo_duration\").value : 5)\r\n\r\n data.append(\"layersLabel\", \r\n document.getElementById(\"layers_label\") && document.getElementById(\"layers_label\").value != \"\" ? document.getElementById(\"layers_label\").value : \"{}\")\r\n data.append(\"layersTag\", \r\n document.getElementById(\"layers_tag\") && document.getElementById(\"layers_tag\").value != \"\" ? document.getElementById(\"layers_tag\").value : \"{}\")\r\n data.append(\"layersPrice\", \r\n document.getElementById(\"layers_price\") && document.getElementById(\"layers_price\").value != \"\" ? document.getElementById(\"layers_price\").value : \"{}\")\r\n \r\n data.append(\"files\", blob, 'scene.json' )\r\n \r\n //Additional Data\r\n var x = document.getElementById(\"fullScreenIcon\");\r\n if (window.getComputedStyle(x).display === \"block\") {\r\n data.append(\"isShowFullScreen\", true)\r\n }else{\r\n data.append(\"isShowFullScreen\", false)\r\n }\r\n var y = document.getElementById(\"helperIcon\");\r\n if (window.getComputedStyle(y).display === \"block\") {\r\n data.append(\"isShowHelper\", true)\r\n }else{\r\n data.append(\"isShowHelper\", false)\r\n }\r\n var z = document.getElementById(\"3DConfiguratorIcon\");\r\n if (window.getComputedStyle(z).display === \"block\") {\r\n data.append(\"isShow3DConfigurator\", true)\r\n }else{\r\n data.append(\"isShow3DConfigurator\", false)\r\n }\r\n var b = document.getElementById(\"CameraDoubleClickIcon\");\r\n if (window.getComputedStyle(b).display === \"block\") {\r\n data.append(\"isCameraDoubleClick\", true)\r\n }else{\r\n data.append(\"isCameraDoubleClick\", false)\r\n }\r\n \r\n var z = document.getElementById(\"screenshotIcon\");\r\n if (window.getComputedStyle(z).display === \"block\") {\r\n data.append(\"isShowScreenshot\", true)\r\n }else{\r\n data.append(\"isShowScreenshot\", false)\r\n }\r\n \r\n var v = document.getElementById(\"changeBackgroundIcon\");\r\n if (window.getComputedStyle(v).display === \"block\") {\r\n data.append(\"isShowChangeBackground\", true)\r\n }else{\r\n data.append(\"isShowChangeBackground\", false)\r\n }\r\n \r\n var v = document.getElementById(\"measurementIcon\");\r\n if (window.getComputedStyle(v).display === \"block\") {\r\n data.append(\"isShowMeasurement\", true)\r\n }else{\r\n data.append(\"isShowMeasurement\", false)\r\n }\r\n\r\n // var annotationUrl = document.getElementById(\"annotation_url\").value;\r\n // if(annotationUrl != ''){\r\n // data.append(\"annotationUrl\", annotationUrl)\r\n // }\r\n \r\n if (window.getComputedStyle(document.getElementById(\"ignoreAnimation\")).display === \"none\") {\r\n data.append(\"isIgnoreAnimation\", false)\r\n }else{\r\n data.append(\"isIgnoreAnimation\", true)\r\n }\r\n\r\n let info = getState().sceneConfig.api.sceneInfo;\r\n data.append(\"sceneInfo\", JSON.stringify(info))\r\n //data.append(\"staticImg\", staticImg)\r\n\r\n var res = Array.from(data.entries(), ([key, prop]) => (\r\n {[key]: {\r\n \"ContentLength\": \r\n typeof prop === \"string\" \r\n ? prop.length \r\n : prop.size\r\n }\r\n }));\r\n \r\n console.log(res);\r\n \r\n axios.post('combination/create', data,\r\n {\r\n headers: {'Content-Type': 'multipart/form-data' }\r\n }\r\n ).then(response => {\r\n let {data} = response\r\n let createdCombination = data.data.combination;\r\n if (data.success) {\r\n\r\n \r\n let payload = {\r\n \"id\": createdCombination.id,\r\n \"staticImg\": staticImg\r\n }\r\n //Update Static Img\r\n axios.post('combination/update-default-static-img', payload\r\n ).then(response => {\r\n axios.get('combination/get-list?meshes=' + meshes).then(response => {\r\n let {data} = response\r\n if (data.success) {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_SUCCESS,\r\n combinations: data.data.combination,\r\n loading: false,\r\n createdCombination: createdCombination,\r\n hasError: false\r\n })\r\n }\r\n \r\n if (!data.success) {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_FAILED,\r\n hasError: true,\r\n error: data.data.message,\r\n loading: false\r\n })\r\n }\r\n }).catch(error => {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_ERROR,\r\n hasError: true,\r\n error: 'Combinations could not be loaded !',\r\n loading: false\r\n })\r\n })\r\n });\r\n\r\n }\r\n \r\n if (!data.success) {\r\n dispatchEvent({\r\n type: REQUEST_CREATE_COMBINATIONS_FAILED,\r\n hasError: true,\r\n error: data.data.message,\r\n loading: false\r\n })\r\n }\r\n }).catch(error => {\r\n // console.log(JSON.stringify(error))\r\n // if (error.response) {\r\n // console.log(error.response.data);\r\n // console.log(error.response.status);\r\n // console.log(error.response.headers);\r\n // }\r\n dispatchEvent({\r\n type: REQUEST_CREATE_COMBINATIONS_ERROR,\r\n hasError: true,\r\n error: 'Combinations could not be created ! ' + error.response.data.message,\r\n loading: false\r\n })\r\n // setTimeout(() => {\r\n // dispatchEvent({\r\n // type: REQUEST_CREATE_COMBINATIONS_ERROR,\r\n // hasError: false,\r\n // error: 'Combinations could not be created ! ' + error.response.data.message,\r\n // loading: false\r\n // })\r\n // }, 135000);\r\n })\r\n })\r\n\r\n\r\n // if( layersResponse.length != uuids.length || !checkMaterialApplied)\r\n // {\r\n // dispatchEvent({\r\n // type: REQUEST_CREATE_COMBINATIONS_FAILED,\r\n // hasError: true,\r\n // error: \"You must create or apply a Preset for each Material Group before adding Combination.\",\r\n // loading: false\r\n // })\r\n // setTimeout(() => {\r\n // dispatchEvent({\r\n // type: REQUEST_CREATE_COMBINATIONS_FAILED,\r\n // hasError: false,\r\n // error: \"You must create or apply a Preset for each Material Group before adding Combination.\",\r\n // loading: false\r\n // })\r\n // }, 5000);\r\n // return false;\r\n // }\r\n // else\r\n // {\r\n \r\n // }\r\n });\r\n\r\n }\r\n}\r\n\r\nexport const sceneInfoAlert = () => {\r\n \r\n return (dispatchEvent, getState) => {\r\n let api = getState().sceneConfig.api\r\n let infos = api.sceneInfo;\r\n console.log(infos);\r\n axios.get('scene-info/list').then(response => {\r\n let {data} = response\r\n const sceneInfos = data.data.sceneInfos;\r\n console.log(sceneInfos);\r\n dispatchEvent({\r\n type: SCENE_INFO_ALERT,\r\n infos: infos,\r\n sceneInfos: sceneInfos,\r\n loading: false,\r\n hasError: false\r\n })\r\n }).catch(error => {\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Clone Combination\r\n * @param oldUuid\r\n * @param combination\r\n * @param position\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const cloneCombination = (oldUuid, combination, position) => {\r\n return (dispatchEvent, getState) => {\r\n let [...combinations] = getState().combinations.combinationsList\r\n let [combinationToClone] = combinations.filter(combination => combination.uuid === oldUuid)\r\n combinations.splice(position, 0, {\r\n ...combinationToClone,\r\n uuid: combination.uuid,\r\n id: null\r\n })\r\n\r\n dispatchEvent({\r\n type: CLONE_COMBINATION,\r\n combinations: combinations,\r\n loading: false\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Delete combination\r\n * @param uuid\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const deleteCombination = uuid => {\r\n return (dispatchEvent, getState) => {\r\n let combinations = [...getState().combinations.combinationsList]\r\n let combinationsUpdated = combinations.filter(combination => combination.uuid !== uuid)\r\n\r\n dispatchEvent({\r\n type: DELETE_COMBINATION,\r\n combinations: combinationsUpdated,\r\n loading: false\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Update combination in reducer\r\n * @param payload\r\n * @param position\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const updateCombination = (payload, position) => {\r\n return (dispatchEvent, getState) => {\r\n let combinations = [...getState().combinations.combinationsList]\r\n let remainingCombinations = combinations.filter(combination => combination.uuid !== payload.id)\r\n let [combinationUpdated] = combinations.filter(combination => combination.uuid === payload.id)\r\n remainingCombinations.splice(position, 0, {\r\n ...combinationUpdated,\r\n price: payload.price,\r\n description: payload.description\r\n })\r\n\r\n dispatchEvent({\r\n type: UPDATE_COMBINATION,\r\n combinations: remainingCombinations,\r\n loading: false\r\n })\r\n }\r\n}\r\n\r\nexport const login = (payload) => {\r\n return (dispatchEvent, getState) => {\r\n dispatchEvent({\r\n type: LOGIN,\r\n loading: false\r\n })\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Highlight objects from material library dropdown\r\n * @param group\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const selectMeshes = group => {\r\n return (dispatchEvent, getState) => {\r\n let api = getState().sceneConfig.api\r\n api.highlightObjects.apply(api, group.mesh) //Highlight objects\r\n\r\n\r\n let p = {edgeStrength: 10};\r\n api.getTweener(p)\r\n .to({edgeStrength: 0.0}, 3*1000)\r\n // .delay(4*1000)\r\n .onUpdate(()=> api.setOutlineParams(p))\r\n .start();\r\n\r\n\r\n let materialId = null\r\n let material = group.params\r\n if(material == null)\r\n {\r\n //Select Material GROUP\r\n let materialsLibrary = getState().sceneConfig.materialsLibrary\r\n let materials = getState().sceneConfig.materials\r\n \r\n for(let mat of materialsLibrary)\r\n {\r\n if(mat.params.id == group)\r\n {\r\n let matchedMaterial = null;\r\n let map = null;\r\n let visible = true;\r\n for (const [key, value] of Object.entries(materials)) {\r\n if (key == group) {\r\n map = value.material.map;\r\n visible = value.material.visible;\r\n\r\n matchedMaterial= value.material;\r\n }\r\n }\r\n group = mat;\r\n group.params = matchedMaterial;\r\n group.params.map = map;\r\n //group.material.visible = visible;\r\n //group.params.visible = visible;\r\n material = group.params;\r\n api.highlightObjects.apply(api, group.mesh) //Highlight objects\r\n }\r\n }\r\n }\r\n for (const [key, value] of Object.entries(getState().sceneConfig.materials)) {\r\n if (value.material.id === material.id) {\r\n materialId = key\r\n }\r\n }\r\n dispatchEvent({\r\n type: SELECT_MESH,\r\n material: material,\r\n materialId: materialId,\r\n object: {uuid: group.mesh[0].uuid, name: group.mesh[0].name},\r\n objects: group.mesh,\r\n pickedObject: group.mesh[0],\r\n selected: true,\r\n mapType: null,\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Download json file with materials in model\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const downloadMaterials = () => {\r\n return (dispatchEvent, getState) => {\r\n getState().sceneConfig.api.sceneManager.exportMaterialConfig().then(value => {\r\n let link = document.createElement(\"a\");\r\n let blob = new Blob([JSON.stringify(value)], {type: 'application/json'});\r\n link.href = URL.createObjectURL(blob);\r\n link.download = \"materials.json\";\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.appendChild(link);\r\n link.click();\r\n body.removeChild(link);\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Upload json with materials into model\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const loadMaterials = () => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = getState().sceneConfig\r\n\r\n const inputFile = document.getElementById(\"fileInput\");\r\n inputFile.onchange = e => {\r\n const files = Array.from(e.target.files)\r\n let file = Array.isArray(files) ? files[0] : files;\r\n if (file) {\r\n let reader = new FileReader();\r\n reader.readAsText(file);\r\n reader.onload = function () {\r\n let materials = JSON.parse(reader.result)\r\n if (JSON.parse(reader.result)) {\r\n // Import materials in cadcentre api\r\n sceneConfig.api.importMaterialConfig(materials)\r\n\r\n //Update materials library\r\n let materialsLibrary = []\r\n materialsLibrary = sceneConfig.api.getMaterialLibrary()\r\n\r\n //Prepare materials list array\r\n let materialsList = []\r\n for (const [key, value] of Object.entries(materials)) {\r\n materialsList.push({label: key, value: key});\r\n }\r\n\r\n //Remove previous highlighted objects if any\r\n sceneConfig.api.highlightObjects.apply(sceneConfig.api, [])\r\n\r\n //Change selected object state\r\n dispatchEvent({\r\n type: UPLOAD_MATERIALS,\r\n materials: materials,\r\n materialsList: materialsList,\r\n materialsLibrary: materialsLibrary,\r\n object: {},\r\n material: {},\r\n pickedObject: {},\r\n materialId: null,\r\n selected: false,\r\n objects: [],\r\n })\r\n }\r\n }\r\n }\r\n }\r\n inputFile.click();\r\n }\r\n}\r\n\r\nexport const saveCombinationToState = combination => {\r\n return (dispatchEvent, getState) =>{\r\n dispatchEvent({\r\n type: LOAD_COMBINATION,\r\n combination: combination\r\n })\r\n }\r\n}\r\n\r\nexport const takeScreenshotIframe = () => {\r\n return (dispatchEvent, getState) =>{\r\n dispatchEvent({\r\n type: IFRAME_TAKE_SCREENSHOT\r\n })\r\n }\r\n}\r\n\r\nexport const enableArIframe = () => {\r\n return (dispatchEvent, getState) =>{\r\n let arSettings = {...getState().iframe.arSettings}\r\n arSettings.enabled = !getState().iframe.arSettings.enabled\r\n\r\n dispatchEvent({\r\n type: ENABLE_AR_IFRAME,\r\n arSettings: arSettings\r\n })\r\n }\r\n}\r\n\r\nexport const resetCameraIframe = () => {\r\n return (dispatchEvent, getState) =>{\r\n dispatchEvent({\r\n type: RESET_CAMERA_IFRAME\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Load available filters from backend\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const loadFiltersRequest = () => {\r\n return (dispatchEvent, getState) => {\r\n dispatchEvent({\r\n type: REQUEST_TRACKERS_FILTERS,\r\n loading: true\r\n })\r\n axios.get('view/get-filter').then(response => {\r\n let {data} = response\r\n if (data.success) {\r\n dispatchEvent({\r\n type: REQUEST_TRACKERS_FILTERS_SUCCESS,\r\n loading: false,\r\n availableFilters: data.data.filter\r\n })\r\n }\r\n\r\n if (!data.success) {\r\n dispatchEvent({\r\n type: REQUEST_TRACKERS_FILTERS_FAILED,\r\n loading: false,\r\n hasError: true,\r\n error: data.message\r\n })\r\n }\r\n }).catch(error => {\r\n dispatchEvent({\r\n type: REQUEST_TRACKERS_FILTERS_ERROR,\r\n loading: false,\r\n hasError: true,\r\n error: error.message\r\n })\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Send request to filter trackers\r\n */\r\nexport const loadReportRequest = (filter) => {\r\n return (dispatchEvent, getState) => {\r\n dispatchEvent({\r\n type: LOAD_REPORT_REQUEST,\r\n loading: true\r\n })\r\n axios.post('view/report', filter)\r\n .then(response => {\r\n let {data} = response\r\n if (data.success) {\r\n dispatchEvent({\r\n type: LOAD_REPORT_SUCCESS,\r\n trackers: data.data.report,\r\n listColumn: data.data.listColum,\r\n loading: false\r\n })\r\n } else {\r\n dispatchEvent({\r\n type: LOAD_REPORT_FAILED,\r\n error: data.message,\r\n hasError: true,\r\n loading: false\r\n })\r\n }\r\n })\r\n .catch(err => {\r\n dispatchEvent({\r\n type: LOAD_REPORT_ERROR,\r\n error: 'Please select all filters !',\r\n hasError: true,\r\n loading: false\r\n })\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * TODO change after is implemented login\r\n * For now will create tracker on each combination view\r\n * @param type\r\n * @param token\r\n * @returns {function(...[*]=)}\r\n */\r\nexport const createTracker = (type, token) => {\r\n return (dispatchEvent, getState) => {\r\n axios.post(\r\n 'view/create',\r\n {\r\n \"url\": token,\r\n \"type\": type\r\n }\r\n ).then(response => {\r\n console.log(response)\r\n }).catch(err => {\r\n console.log(err.response)\r\n })\r\n }\r\n}\r\n\r\nexport const enableRotationIframe = value => {\r\n return (dispatchEvent, getState) => {\r\n let combination = {...getState().iframe.combination}\r\n combination.config.camera.orbitParams.autoRotate = value\r\n dispatchEvent({\r\n type: ENABLE_ROTATION_IFRAME,\r\n combination: combination\r\n })\r\n }\r\n}\r\n\r\nexport const uploadFiles = files => {\r\n return (dispatchEvent, getState) => {\r\n dispatchEvent({\r\n type: UPLOAD_FILES,\r\n })\r\n }\r\n}\r\n\r\nexport const changePixelRatio = value => {\r\n return (dispatchEvent, getState) => {\r\n dispatchEvent({\r\n type: CHANGE_PIXEL_RATIO_SETTING,\r\n pixelRatio: value\r\n })\r\n }\r\n}\r\n\r\nexport const enableAnnotations = (value) => {\r\n // console.log(\"enableAnnotations\");\r\n return (dispatchEvent, getState) => {\r\n dispatchEvent({\r\n enableAnnotations: value,\r\n type: ENABLE_ANNOTATIONS,\r\n })\r\n }\r\n}\r\n\r\nexport const selectAnnotations = (value) => {\r\n return (dispatchEvent, getState) => {\r\n dispatchEvent({\r\n annotation: value,\r\n type: SELECT_ANNOTATIONS,\r\n })\r\n dispatchEvent({\r\n enableAnnotations: false,\r\n type: ENABLE_ANNOTATIONS,\r\n })\r\n dispatchEvent({\r\n enableAnnotations: true,\r\n type: ENABLE_ANNOTATIONS,\r\n })\r\n }\r\n}\r\n\r\nexport const changeAnnotationText = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.annotation.text = value\r\n dispatchEvent({\r\n type: TEXT_ANNOTATIONS,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const changeAnnotationTitle = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.annotation.title = value\r\n dispatchEvent({\r\n type: TITLE_ANNOTATIONS,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const removeAnnotation = () => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.annotation.remove()\r\n dispatchEvent({\r\n type: TITLE_ANNOTATIONS,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const enableTAA = (value) => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n let sceneConfig = {...getState().sceneConfig};\r\n let taaParams = sceneConfig.config.taa != undefined ? sceneConfig.config.taa : api.getTAAParams();\r\n taaParams.enabled = value;\r\n api.setTAAParams(taaParams);\r\n \r\n let enableTAAInterval = setInterval(() => {\r\n if(api.getTAAParams().enabled == undefined){\r\n api.setTAAParams(sceneConfig.config.taa);\r\n }else{\r\n clearInterval(enableTAAInterval);\r\n }\r\n }, 1000);\r\n sceneConfig.config.taa = taaParams;\r\n dispatchEvent({\r\n type: ENABLE_TAA,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const enableSSR = (value) => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.enableSSR = value\r\n dispatchEvent({\r\n type: ENABLE_SSR,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const intensitySSR = (value) => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.intensitySSR = value\r\n dispatchEvent({\r\n type: INTENSITY_SSR,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const changeSide = value => {\r\n return (dispatchEvent, getState) => {\r\n let selectedObjects = {...getState().selectedObjects}\r\n let sceneConfig = {...getState().sceneConfig}\r\n let valueText = '';\r\n console.log(value);\r\n switch(value)\r\n {\r\n case '0':\r\n valueText = 'front';\r\n break;\r\n case '1':\r\n valueText = 'back';\r\n break;\r\n case '2':\r\n valueText = 'double';\r\n break;\r\n }\r\n \r\n selectedObjects.material.side = valueText\r\n sceneConfig.api.setMaterialParams(selectedObjects.pickedObject, {side: valueText})\r\n dispatchEvent({\r\n type: CHANGE_SIDE,\r\n selectedMaterial: selectedObjects.material\r\n })\r\n }\r\n}\r\n\r\n\r\nexport const getImagesSize = (isUpdate = false) => {\r\n return (dispatchEvent, getState) => {\r\n \r\n if(!isUpdate)\r\n {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_LIST,\r\n loading: true\r\n })\r\n }\r\n\r\n setTimeout(() => {\r\n\r\n axios.get('combination/get-image-list-size').then(response => {\r\n let {data} = response\r\n if (data.success) {\r\n\r\n let totalSize = 0;\r\n for(let combination of data.data)\r\n {\r\n totalSize += Number(combination.size);\r\n }\r\n let combs = data.data;\r\n\r\n axios.get('user/get-storage-info').then(response2 => {\r\n let {data} = response2;\r\n dispatchEvent({\r\n type: REQUEST_IMAGES_SIZE_SUCCESS,\r\n imageList: combs,\r\n imageTotalSize: totalSize,\r\n storage: data.data.storageLimit,\r\n storageExpired: new Date(data.data.storageExpiredDate),\r\n loading: false\r\n })\r\n }).catch(error => {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_ERROR,\r\n hasError: true,\r\n error: 'Combinations could not be loaded !',\r\n loading: false\r\n })\r\n });\r\n }\r\n\r\n if (!data.success) {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_FAILED,\r\n hasError: true,\r\n error: data.data.message,\r\n loading: false\r\n })\r\n }\r\n }).catch(error => {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_ERROR,\r\n hasError: true,\r\n error: 'Combinations could not be loaded !',\r\n loading: false\r\n })\r\n })\r\n }, 1000);\r\n }\r\n}\r\n\r\nexport const getTexturesSize = (isUpdate = false) => {\r\n return (dispatchEvent, getState) => {\r\n \r\n if(!isUpdate)\r\n {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_LIST,\r\n loading: true\r\n })\r\n }\r\n\r\n setTimeout(() => {\r\n\r\n axios.get('combination/get-texture-list-size').then(response => {\r\n let {data} = response\r\n if (data.success) {\r\n\r\n let totalSize = 0;\r\n for(let combination of data.data)\r\n {\r\n totalSize += Number(combination.size);\r\n }\r\n let combs = data.data;\r\n\r\n axios.get('user/get-storage-info').then(response2 => {\r\n let {data} = response2;\r\n dispatchEvent({\r\n type: REQUEST_TEXTURES_SIZE_SUCCESS,\r\n textureList: combs,\r\n textureTotalSize: totalSize,\r\n storage: data.data.storageLimit,\r\n storageExpired: new Date(data.data.storageExpiredDate),\r\n loading: false\r\n })\r\n }).catch(error => {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_ERROR,\r\n hasError: true,\r\n error: 'Combinations could not be loaded !',\r\n loading: false\r\n })\r\n });\r\n }\r\n\r\n if (!data.success) {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_FAILED,\r\n hasError: true,\r\n error: data.data.message,\r\n loading: false\r\n })\r\n }\r\n }).catch(error => {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_ERROR,\r\n hasError: true,\r\n error: 'Combinations could not be loaded !',\r\n loading: false\r\n })\r\n })\r\n }, 1000);\r\n }\r\n}\r\n\r\n\r\nexport const getPublicUploadedFilesSize = (isUpdate = false) => {\r\n return (dispatchEvent, getState) => {\r\n \r\n if(!isUpdate)\r\n {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_LIST,\r\n loading: true\r\n })\r\n }\r\n\r\n setTimeout(() => {\r\n\r\n axios.get('user/get-public-uploaded-file').then(response => {\r\n let {data} = response\r\n if (data.success) {\r\n if(data.data){\r\n console.log(data.data);\r\n let totalSize = 0;\r\n for(let file of data.data)\r\n {\r\n totalSize += Number(file.size);\r\n }\r\n let publicUploadedFiles = data.data;\r\n console.log('zzzzzzzzzzzzzzzzz');\r\n console.log(data.data);\r\n \r\n axios.get('user/get-storage-info').then(response2 => {\r\n let {data} = response2;\r\n dispatchEvent({\r\n type: REQUEST_PUBLIC_UPLOADED_FILES_SIZE_SUCCESS,\r\n publicUploadedFilesList: publicUploadedFiles,\r\n publicUploadedFilesTotalSize: totalSize,\r\n storage: data.data.storageLimit,\r\n storageExpired: new Date(data.data.storageExpiredDate),\r\n loading: false\r\n })\r\n }).catch(error => {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_ERROR,\r\n hasError: true,\r\n error: 'Combinations could not be loaded !',\r\n loading: false\r\n })\r\n });\r\n }\r\n }\r\n\r\n if (!data.success) {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_FAILED,\r\n hasError: true,\r\n error: data.data.message,\r\n loading: false\r\n })\r\n }\r\n }).catch(error => {\r\n dispatchEvent({\r\n type: REQUEST_COMBINATIONS_ERROR,\r\n hasError: true,\r\n error: 'Combinations could not be loaded !',\r\n loading: false\r\n })\r\n })\r\n }, 1000);\r\n }\r\n}\r\n\r\n\r\nexport const loadDefaultSceneEnv = (file) => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n console.log(file);\r\n api.loadTexture(file, \r\n event => console.log(event), {}).then(value => {\r\n value.encoding = (!value.encoding || value.encoding === LinearEncoding) ? sRGBEncoding: value.encoding;\r\n api.sceneManager.setSceneEnvironment\r\n (value, {imageBasedLighting: true, setBackground: true, setDiamondEnv: true, setEnvironment: true});\r\n // api.setBackground(value);\r\n })\r\n\r\n }\r\n}\r\n\r\nexport const loadDefaultDiamondEnv = (file) => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n\r\n api.loadTexture(file, \r\n event => console.log(event), {}).then(value => {\r\n\r\n api.sceneManager.setDiamondEnvironment\r\n (value, \r\n {\r\n imageBasedLighting: true, \r\n setBackground: false, \r\n setDiamondEnv: true, \r\n setEnvironment: false\r\n });\r\n })\r\n\r\n }\r\n}\r\n\r\nexport const enableFrustumCulling = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.frustumCulling = value\r\n dispatchEvent({\r\n type: ENABLE_FRUSTUM_CULLING,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const exportSceneGltf = () => {\r\n return (dispatchEvent, getState) => {\r\n const {api} = getState().sceneConfig\r\n api.sceneManager.exportSceneGltf(true, true).then(value => {\r\n let link = document.createElement(\"a\");\r\n let blob = new Blob([value]);\r\n link.href = URL.createObjectURL(blob);\r\n link.download = \"object.glb\";\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.appendChild(link);\r\n link.click();\r\n body.removeChild(link);\r\n });\r\n }\r\n}\r\n\r\n\r\n\r\nexport const changeNormalScaleX = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.normalScale[0] = parseFloat(value)\r\n materials[selectedObjects.materialId].material = selectedObjects.material.normalScaleX\r\n dispatchEvent({\r\n type: CHANGE_NORMAL_SCALE_X,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material,\r\n mapType: 'normalMap'\r\n })\r\n }\r\n}\r\n\r\nexport const changeNormalScaleY = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.normalScale[1] = parseFloat(value)\r\n materials[selectedObjects.materialId].material = selectedObjects.material\r\n dispatchEvent({\r\n type: CHANGE_NORMAL_SCALE_Y,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material,\r\n mapType: 'normalMap'\r\n })\r\n }\r\n}\r\n\r\nexport const changeNormalMapType = value => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n selectedObjects.material.normalMapType = value\r\n materials[selectedObjects.materialId].material = selectedObjects.material\r\n dispatchEvent({\r\n type: CHANGE_NORMAL_MAP_TYPE,\r\n materials: materials,\r\n selectedMaterial: selectedObjects.material,\r\n mapType: 'normalMap'\r\n })\r\n }\r\n}\r\n\r\nexport const switchOldNewCamera = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n sceneConfig.config.camera.orbitParams.autoPushTarget = value\r\n let api = getState().sceneConfig.api;\r\n api.setCameraParams({orbitParams: {autoPushTarget: value}})\r\n dispatchEvent({\r\n type: SWITCH_OLD_NEW_CAMERA,\r\n sceneConfig: sceneConfig\r\n })\r\n }\r\n}\r\n\r\nexport const insertFile = () => {\r\n return (dispatchEvent, getState) => {\r\n let materials = {...getState().sceneConfig.materials}\r\n let selectedObjects = {...getState().selectedObjects}\r\n const {api} = getState().sceneConfig\r\n\r\n const inputFile = document.getElementById(\"fileInput\");\r\n inputFile.onchange = e => {\r\n console.log(e.target.files);\r\n const files = Array.from(e.target.files)\r\n let file = Array.isArray(files) ? files[0] : files;\r\n let selectedFiles = new Map()\r\n files.forEach(file => {\r\n selectedFiles.set(file.name, file);\r\n });\r\n if (file) {\r\n console.log(\"selectedFiles\", selectedFiles);\r\n api.importModelFiles(selectedFiles, false).then(() => {\r\n // api.resetCamera();\r\n console.log(\"importModelFiles\");\r\n api.exportScene().then(response => {\r\n console.log(\"response\", response);\r\n //saveSceneConfigToState(response, api, 'files') //save json to state and also api object so that we can call later all api's on component update\r\n let sceneConfig = response;\r\n\r\n //Prepare materials list array\r\n let materialsList = []\r\n let materialsLibrary = api.getMaterialLibrary()\r\n \r\n for (const [key, value] of Object.entries(sceneConfig.materials)) {\r\n materialsList.push({label: key, value: key}); //Prepare materialsList array to be used in materials dropdown\r\n }\r\n\r\n var count = 0;\r\n var getMaterialLibrary = setInterval(() => {\r\n count ++;\r\n api.getMaterialLibrary();\r\n if(count == 5)\r\n {\r\n let meshes = ''\r\n let materials = getState().sceneConfig.api.getMaterialLibrary()\r\n \r\n materials.forEach(material => {\r\n meshes = meshes == '' ? material.params.id : (meshes + ';' + material.params.id)\r\n })\r\n \r\n localStorage.setItem('current-meshes', meshes);\r\n \r\n clearInterval(getMaterialLibrary);\r\n }\r\n }, 1000);\r\n \r\n \r\n dispatchEvent({\r\n type: SAVE_SCENE_CONFIG_TO_STATE,\r\n sceneConfig: sceneConfig,\r\n api: api,\r\n materialsList: materialsList,\r\n materialsLibrary: materialsLibrary\r\n })\r\n\r\n\r\n\r\n });\r\n });\r\n\r\n }\r\n inputFile.value = null;\r\n }\r\n inputFile.click();\r\n inputFile.value = null;\r\n }\r\n}\r\n\r\nexport const gizmoEnabled = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n let api = getState().sceneConfig.api; \r\n\r\n if(value){\r\n let json = JSON.parse(sceneConfig.config.background);\r\n console.log(\"JSON\", json);\r\n let previousBG = json.value;\r\n console.log(\"previousBG\", previousBG);\r\n if(document.getElementById(\"previousBackgroundColor\").value == \"\"){\r\n document.getElementById(\"previousBackgroundColor\").value = previousBG;\r\n }\r\n api.setBackground(new Color(value[0] / 255.0, value[1] / 255.0, value[2] / 255.0));\r\n }else{\r\n let previousBG = document.getElementById(\"previousBackgroundColor\").value;\r\n console.log(\"previousBG\", previousBG);\r\n let value = convertHexToRgb(previousBG);\r\n console.log(\"value\", value);\r\n api.setBackground(previousBG);\r\n }\r\n \r\n let gizmoParams = api.getTransformControlParams();\r\n console.log(\"gizmoParams\", gizmoParams);\r\n gizmoParams.enabled = value;\r\n api.setTransformControlParams(gizmoParams);\r\n }\r\n}\r\n\r\nexport const gizmoChangeMode = value => {\r\n return (dispatchEvent, getState) => {\r\n let sceneConfig = {...getState().sceneConfig}\r\n let api = getState().sceneConfig.api; \r\n let gizmoParams = api.getTransformControlParams();\r\n gizmoParams.mode = value;\r\n api.setTransformControlParams(gizmoParams);\r\n }\r\n}\r\n\r\n\r\nconst convertHexToRgb = hex => {\r\n if (hex.charAt(0) === '#') {\r\n hex = hex.substr(1);\r\n }\r\n if ((hex.length < 2) || (hex.length > 6)) {\r\n return false;\r\n }\r\n let values = hex.split(''),\r\n r,\r\n g,\r\n b;\r\n\r\n if (hex.length === 2) {\r\n r = parseInt(values[0].toString() + values[1].toString(), 16);\r\n g = r;\r\n b = r;\r\n } else if (hex.length === 3) {\r\n r = parseInt(values[0].toString() + values[0].toString(), 16);\r\n g = parseInt(values[1].toString() + values[1].toString(), 16);\r\n b = parseInt(values[2].toString() + values[2].toString(), 16);\r\n } else if (hex.length === 6) {\r\n r = parseInt(values[0].toString() + values[1].toString(), 16);\r\n g = parseInt(values[2].toString() + values[3].toString(), 16);\r\n b = parseInt(values[4].toString() + values[5].toString(), 16);\r\n } else {\r\n return false;\r\n }\r\n return [r, g, b];\r\n}","import {RepeatWrapping, Color} from \"three\";\r\n// import TextureExporter from '../../../cadcentre/dist/cadcenter';\r\n// const {TextureExporter} = require(\"../../../cadcentre/dist/cadcenter\");\r\nconst {TextureExporter} = window.CADEDITOR.icad;\r\n\r\nexport const switchCases = (props, api) => {\r\n switch (props.sceneConfig.type) {\r\n case 'minAzimuthAngle':\r\n api.setCameraParams({orbitParams: {minAzimuthAngle: props.sceneConfig.config.camera.orbitParams.minAzimuthAngle}})\r\n break;\r\n case 'maxAzimuthAngle':\r\n api.setCameraParams({orbitParams: {maxAzimuthAngle: props.sceneConfig.config.camera.orbitParams.maxAzimuthAngle}})\r\n break;\r\n case 'minPolarAngle':\r\n api.setCameraParams({orbitParams: {minPolarAngle: props.sceneConfig.config.camera.orbitParams.minPolarAngle}})\r\n break;\r\n case 'maxPolarAngle':\r\n api.setCameraParams({orbitParams: {maxPolarAngle: props.sceneConfig.config.camera.orbitParams.maxPolarAngle}})\r\n break;\r\n\r\n case 'minSpeed':\r\n console.log(\"minSpeed: \" + props.sceneConfig.config.camera.orbitParams.minSpeed);\r\n api.setCameraParams({orbitParams: {minSpeed: props.sceneConfig.config.camera.orbitParams.minSpeed}})\r\n break;\r\n case 'maxSpeed':\r\n console.log(\"maxSpeed: \" + props.sceneConfig.config.camera.orbitParams.maxSpeed);\r\n api.setCameraParams({orbitParams: {maxSpeed: props.sceneConfig.config.camera.orbitParams.maxSpeed}})\r\n break;\r\n\r\n case 'minZoom':\r\n api.setCameraParams({orbitParams: {minZoom: props.sceneConfig.config.camera.orbitParams.minZoom}})\r\n break;\r\n case 'maxZoom':\r\n api.setCameraParams({orbitParams: {maxZoom: props.sceneConfig.config.camera.orbitParams.maxZoom}})\r\n break;\r\n case 'maxDistance':\r\n api.setCameraParams({orbitParams: {maxDistance: props.sceneConfig.config.camera.orbitParams.maxDistance}})\r\n break;\r\n case 'minDistance':\r\n api.setCameraParams({orbitParams: {minDistance: props.sceneConfig.config.camera.orbitParams.minDistance}})\r\n break;\r\n case 'dampingFactor':\r\n api.setCameraParams({orbitParams: {dampingFactor: props.sceneConfig.config.camera.orbitParams.dampingFactor}})\r\n break;\r\n case 'zoomSpeed':\r\n api.setCameraParams({orbitParams: {zoomSpeed: props.sceneConfig.config.camera.orbitParams.zoomSpeed}})\r\n break;\r\n case 'camera':\r\n api.setCameraParams({zoom: props.sceneConfig.config.camera.zoom})\r\n break;\r\n case 'fov':\r\n api.setCameraParams({fov: props.sceneConfig.config.camera.fov})\r\n break;\r\n case 'cameraMode':\r\n api.setCameraParams({mode: props.sceneConfig.config.camera.mode})\r\n break;\r\n case 'enableScreenSpacePanning':\r\n api.setCameraParams({orbitParams: {screenSpacePanning: props.sceneConfig.config.camera.orbitParams.screenSpacePanning}})\r\n break;\r\n case 'enablePan':\r\n api.setCameraParams({orbitParams: {enablePan: props.sceneConfig.config.camera.orbitParams.enablePan}})\r\n break;\r\n case 'enableZoom':\r\n api.setCameraParams({orbitParams: {enableZoom: props.sceneConfig.config.camera.orbitParams.enableZoom}})\r\n break;\r\n case 'enableFrustumCulling':\r\n api.frustumCulling = props.sceneConfig.config.frustumCulling\r\n break;\r\n case 'sceneView':\r\n switch (props.sceneConfig.value) {\r\n case 'x+c':\r\n api.resetCameraView(\"x\")\r\n break;\r\n case 'x-c':\r\n api.resetCameraView(\"x\", false)\r\n break;\r\n case 'y+c':\r\n api.resetCameraView(\"y\")\r\n break;\r\n case 'y-c':\r\n api.resetCameraView(\"y\", false)\r\n break;\r\n case 'z+c':\r\n api.resetCameraView(\"z\")\r\n break;\r\n case 'z-c':\r\n api.resetCameraView(\"z\", false)\r\n break;\r\n default:\r\n break;\r\n }\r\n break;\r\n case 'downloadGltf':\r\n dowloadGltf(api)\r\n break;\r\n case 'snapCanvas':\r\n snapCanvas(api)\r\n break;\r\n case 'edgeGlow':\r\n case 'edgeThickness':\r\n case 'edgeStrength':\r\n case 'pulsePeriod':\r\n case 'visibleEdgeColor':\r\n case 'hiddenEdgeColor':\r\n case 'downSampleRatio':\r\n api.setOutlineParams(props.sceneConfig.config.outline)\r\n /*props.saveSceneConfigToState(\r\n {\r\n config: props.sceneConfig.config,\r\n geometry: props.sceneConfig.geometry,\r\n materials: props.sceneConfig.materials,\r\n },\r\n api\r\n )*/\r\n break;\r\n case 'cameraPosition':\r\n\r\n let p = api.getCameraParams();\r\n const position = {x: props.sceneConfig.config.camera.position[0], y: props.sceneConfig.config.camera.position[1], z: props.sceneConfig.config.camera.position[2]};\r\n \r\n p.position = [position.x, position.y, position.z];\r\n api.setCameraParams(p)\r\n break;\r\n case 'resetCameraTarget':\r\n api.resetCameraTarget()\r\n break;\r\n case 'resetCamera':\r\n console.log('resetCamera');\r\n api.resetCamera()\r\n break;\r\n case 'changeBevelSetting':\r\n api.enableBevel = props.sceneConfig.config.enableBevel\r\n break;\r\n case 'sharpness':\r\n if (props.sceneConfig.sharpnessStatus) {\r\n api.setSharpenIntensity(props.sceneConfig.config.sharpness)\r\n }\r\n break\r\n case 'enableSharpness':\r\n if (!props.sceneConfig.sharpnessStatus) {\r\n api.setSharpenIntensity(0)\r\n }\r\n else\r\n {\r\n api.setSharpenIntensity(props.sceneConfig.config.sharpness)\r\n }\r\n break;\r\n case 'enableSsao':\r\n api.setSSAOParams({enabled: props.sceneConfig.config.ssao.enabled})\r\n break;\r\n case 'enableSsaoDebug':\r\n api.setSSAOParams({enableDebug: props.sceneConfig.config.ssao.enableDebug})\r\n break;\r\n case 'ssaoIntensity':\r\n api.setSSAOParams({intensity: props.sceneConfig.config.ssao.intensity})\r\n break;\r\n case 'ssaoRadius':\r\n api.setSSAOParams({radius: props.sceneConfig.config.ssao.radius})\r\n break;\r\n case 'ssaoDownscaleLevel':\r\n api.setSSAOParams({downscaleLevel: props.sceneConfig.config.ssao.downscaleLevel})\r\n break;\r\n case 'enableBloom':\r\n api.setBloomParams({enabled: props.sceneConfig.config.unrealBloom.enabled})\r\n break;\r\n case 'bloomStrength':\r\n api.setBloomParams({strength: props.sceneConfig.config.unrealBloom.strength})\r\n break;\r\n case 'bloomRadius':\r\n api.setBloomParams({radius: props.sceneConfig.config.unrealBloom.radius})\r\n break;\r\n case 'bloomThreshold':\r\n api.setBloomParams({threshold: props.sceneConfig.config.unrealBloom.threshold})\r\n break;\r\n case 'changeStraightenModelRotateSetting':\r\n console.log('switch case changeStraightenModelRotateSetting');\r\n let axis = props.sceneConfig.straightenRotationAxis.split('')\r\n api.straighten(axis[0], axis[1])\r\n break;\r\n case 'resetStraightenModel':\r\n api.resetRotation()\r\n break;\r\n case 'takeScreenshot':\r\n takeScreenshot(api)\r\n break;\r\n case 'enableGroundShadow':\r\n case 'numSamplesSetting':\r\n case 'numSamplesPerFrameSetting':\r\n case 'groundShadowBrightnessSetting':\r\n case 'blurRadiusSetting':\r\n case 'groundShadowSharpnessSetting':\r\n case 'falloffSetting':\r\n case 'enableSmooth':\r\n case 'changeSmoothTransitionSetting':\r\n case 'changeGroundShadowSideSetting':\r\n api.setGroundShadowParams(props.sceneConfig.config.groundShadow)\r\n break;\r\n case 'enableGroundReflectionSetting':\r\n case 'changeGroundReflectionRoughnessSetting':\r\n case 'changeGroundReflectionMetalnessSetting':\r\n case 'changeGroundReflectionSizeSetting':\r\n api.setGroundReflectionParams(props.sceneConfig.config.groundReflection)\r\n break;\r\n case 'enableGroundReflectionPhysicalSetting':\r\n setReflection(api, props)\r\n break;\r\n case 'viewReflection':\r\n viewReflection(props)\r\n break;\r\n case 'downloadReflection':\r\n downloadReflection(props)\r\n break;\r\n case 'loadReflection':\r\n loadReflection(api, props)\r\n break;\r\n case 'clearAll':\r\n api.clearAll()\r\n break;\r\n case 'setBackgroundColor':\r\n let value = convertHexToRgb(props.sceneConfig.value)\r\n console.log(value);\r\n document.getElementById(\"previousBackgroundColor\").value = props.sceneConfig.value;\r\n // api.setBackground(new Color(value[0] / 255.0, value[1] / 255.0, value[2] / 255.0))\r\n api.setBackground(props.sceneConfig.value)\r\n break;\r\n case 'removeBackground':\r\n api.setBackground(null)\r\n break;\r\n case 'enableDof':\r\n api.setDofParams({enabled: props.sceneConfig.config.dof.enabled})\r\n break;\r\n case 'enableEditDof':\r\n api.setDofParams({enableEdit: props.sceneConfig.config.dof.enableEdit})\r\n break;\r\n case 'changeCrossColorSetting':\r\n api.setDofParams({crossColor: props.sceneConfig.config.dof.crossColor})\r\n break;\r\n case 'changeCrossRadiusSetting':\r\n api.setDofParams({crossRadius: props.sceneConfig.config.dof.crossRadius})\r\n break;\r\n case 'changeNearBlurScaleSetting':\r\n api.setDofParams({nearBlurScale: props.sceneConfig.config.dof.nearBlurScale})\r\n break;\r\n case 'changeFarBlurScaleSetting':\r\n api.setDofParams({farBlurScale: props.sceneConfig.config.dof.farBlurScale})\r\n break;\r\n case 'changeDepthRangeSetting':\r\n api.setDofParams({depthRange: props.sceneConfig.config.dof.depthRange})\r\n break;\r\n case 'enableAutoRotate':\r\n api.setCameraParams({orbitParams: {autoRotateSpeed: props.sceneConfig.config.camera.orbitParams.autoRotateSpeed, autoRotate: props.sceneConfig.config.camera.orbitParams.autoRotate}})\r\n break;\r\n case 'changeAutoRotateSpeedSetting':\r\n api.setCameraParams({orbitParams: {autoRotateSpeed: props.sceneConfig.config.camera.orbitParams.autoRotateSpeed}})\r\n break;\r\n case 'changeMaterialSettings':\r\n api.importMaterialParams(props.selectedObjects.material).then(() => {\r\n api.setMaterialParams(props.selectedObjects.pickedObject, props.selectedObjects.material)\r\n })\r\n /*api.setMaterialParams(props.selectedObjects.pickedObject, props.selectedObjects.material)*/\r\n break;\r\n case 'selectMaterial':\r\n props.selectedObjects.objects.forEach(object => {\r\n api.importMaterialParams(props.selectedObjects.material).then((m) => {\r\n //m.visible = object.bVisible;\r\n m.visible = props.selectedObjects.pickedObject.material.visible;\r\n \r\n api.setMaterialParams(object, m)\r\n })\r\n })\r\n break;\r\n case 'changeArSettings':\r\n api.setXRParams(props.sceneConfig.arSettings)\r\n break;\r\n case 'toneMappingExposure':\r\n api.exposure = props.sceneConfig.config.toneMappingExposure\r\n break;\r\n case 'toneMappingSaturation':\r\n api.toneMappingSaturation = props.sceneConfig.config.toneMappingSaturation\r\n break;\r\n case 'toneMappingContrast':\r\n api.toneMappingContrast = props.sceneConfig.config.toneMappingContrast\r\n break;\r\n case 'envMapRotation':\r\n api.setEnvMapRotation(props.sceneConfig.config.envMapRotation)\r\n break;\r\n case 'changePixelRatioSetting':\r\n api.setDisplayPixelRatio(props.sceneConfig.pixelRatio)\r\n break\r\n case 'enableAnnotations':\r\n api.annotationsEnabled = props.sceneConfig.enableAnnotations;\r\n break\r\n case 'enableTAA':\r\n api.enableTAA = props.sceneConfig.config.enableTAA;\r\n break\r\n case 'enableSSR':\r\n api.setSSRParams({enabled: props.sceneConfig.config.enableSSR});\r\n break\r\n case 'intensitySSR':\r\n api.setSSRParams({intensity: props.sceneConfig.config.intensitySSR});\r\n break\r\n default:\r\n break;\r\n }\r\n props.sceneConfig.type = '';\r\n}\r\n\r\n/**\r\n * Download as gltf\r\n */\r\nconst dowloadGltf = api => {\r\n api.sceneManager.exportGeometry().then(value => {\r\n let link = document.createElement(\"a\");\r\n let blob = new Blob([JSON.stringify(value)], {type: 'application/json'});\r\n link.href = URL.createObjectURL(blob);\r\n link.download = \"object.gltf\";\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.appendChild(link);\r\n link.click();\r\n body.removeChild(link);\r\n });\r\n}\r\n\r\n/**\r\n * Snap Canvas\r\n */\r\nconst snapCanvas = api => {\r\n let canvas = document.createElement('canvas');\r\n canvas.id = \"Temp\";\r\n canvas.width = window.innerWidth / 3;\r\n canvas.height = window.innerHeight / 3;\r\n canvas.style.zIndex = \"\";\r\n canvas.style.position = \"absolute\";\r\n canvas.style.border = \"1px solid\";\r\n canvas.style.borderColor = \"#ff0000\";\r\n canvas.style.top = \"0px\";\r\n canvas.style.left = \"0px\";\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.appendChild(canvas);\r\n api.getSnapshot({canvas: canvas}).then(value => {\r\n setTimeout(() => {\r\n body.removeChild(canvas)\r\n }, 5000)\r\n });\r\n}\r\n\r\n/**\r\n * Take screenshot of canvas\r\n * @param api\r\n */\r\nconst takeScreenshot = api => {\r\n console.log(\"takeScreenshot\");\r\n let img = api.getSnapshotData(\"image/jpg\")\r\n let link = document.createElement(\"a\");\r\n link.download = \"screenshot.jpg\";\r\n link.href = img;\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.appendChild(link);\r\n link.click();\r\n body.removeChild(link);\r\n}\r\n\r\n/**\r\n * View reflection used in new window\r\n * @param props\r\n */\r\nconst viewReflection = props => {\r\n TextureExporter.openTexture(props.sceneConfig.config.groundReflection.diffuseMap)\r\n}\r\n\r\n/**\r\n * Download reflecion used\r\n * @param props\r\n */\r\nconst downloadReflection = props => {\r\n TextureExporter.downloadTexture(props.sceneConfig.config.groundReflection.diffuseMap, 'diffuseMap')\r\n}\r\n\r\n/**\r\n * Sets default reflection\r\n * @param api\r\n * @param props\r\n */\r\nexport const setReflection = (api, props) => {\r\n api.loadTexture(\"./models/reflection/diffuseMap.jpeg\").then((texture) => {\r\n props.sceneConfig.config.groundReflection.diffuseMap = texture;\r\n texture.wrapS = RepeatWrapping;\r\n texture.wrapT = RepeatWrapping;\r\n texture.repeat.set(10, 10);\r\n api.setGroundReflectionParams(props.sceneConfig.config.groundReflection)\r\n })\r\n}\r\n\r\n/**\r\n * Upload new reflection\r\n * @param api\r\n * @param props\r\n */\r\nconst loadReflection = (api, props) => {\r\n const inputFile = document.getElementById(\"fileInput\");\r\n inputFile.onchange = e => {\r\n const files = Array.from(e.target.files)\r\n let file = Array.isArray(files) ? files[0] : files;\r\n if (file) {\r\n api.importTexture(file, texture => {\r\n props.sceneConfig.config.groundReflection.diffuseMap = texture;\r\n texture.wrapS = RepeatWrapping;\r\n texture.wrapT = RepeatWrapping;\r\n texture.repeat.set(10, 10);\r\n api.setGroundReflectionParams(props.sceneConfig.config.groundReflection)\r\n })\r\n }\r\n }\r\n inputFile.click();\r\n}\r\n\r\n/**\r\n * Converts Hex color code to Rgb\r\n * @param hex\r\n * @returns {boolean|[number, number, number]}\r\n */\r\nconst convertHexToRgb = hex => {\r\n if (hex.charAt(0) === '#') {\r\n hex = hex.substr(1);\r\n }\r\n if ((hex.length < 2) || (hex.length > 6)) {\r\n return false;\r\n }\r\n let values = hex.split(''),\r\n r,\r\n g,\r\n b;\r\n\r\n if (hex.length === 2) {\r\n r = parseInt(values[0].toString() + values[1].toString(), 16);\r\n g = r;\r\n b = r;\r\n } else if (hex.length === 3) {\r\n r = parseInt(values[0].toString() + values[0].toString(), 16);\r\n g = parseInt(values[1].toString() + values[1].toString(), 16);\r\n b = parseInt(values[2].toString() + values[2].toString(), 16);\r\n } else if (hex.length === 6) {\r\n r = parseInt(values[0].toString() + values[1].toString(), 16);\r\n g = parseInt(values[2].toString() + values[3].toString(), 16);\r\n b = parseInt(values[4].toString() + values[5].toString(), 16);\r\n } else {\r\n return false;\r\n }\r\n return [r, g, b];\r\n}\r\n\r\n","export default __webpack_public_path__ + \"static/media/swipe360.848887b1.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAFqADAAQAAAABAAAAFgAAAAAcITNaAAABQUlEQVQ4Ea3UvW6DMBAH8Nogtipb5vYFOmdKuiTq1KHtIyAQTwRCmdjbvkLyAOmUqWv3DJWQqBCi94/iyCH+IuQkZMDcL85xhmVZNvd9fxOG4e7mClEUxbiqqgdO1l9d199pmj4OdfM8fy7Lctu27Y4Bo1VP6eKDTt+SJFnhXt8A2jTNknP+FMfx1x4GMgTvovCO8KW4Cj2D++I6VAkLnMZPqtdLFEVr3OuGCcWzJ6WQkylxRi/j3fO81y5uQ40wJlW4C2qFuzhdj+SWwrwutKWQEw4rXzHGajom6FN5XnWOnecSI6D0YEvjrUuCFRY1xUqpSxZ4ofgHNtxYCoGKbQrsUBZlt8g/poVVqEh0wZWwCXXFz2AX1AU/gfugNvwIX4Ka8D08BNXh7BqoCqcW5T903LlsUwHoRnwFgyC4J+/3Hx5tLv8+cV1EAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGaADAAQAAAABAAAAGQAAAABY85deAAADX0lEQVRIDbVWS0tVURT+1rnH0BA00EE5SKzro4caEtSsaQX9giIHTSxtIGRY86DHxDJCalDcaVAE1U9IaJDaw1c5K4ikDKJ8nHtX39rbezmdczUs3HDOPmvvtb9v7/XaR/CXpkCItl2tCIJ2FHCQ6mf43EOAlygUJjD5YUqAaD0Yzpdv2tRUg6rwFBR8tBMiW5ymklZWl6ku83sMghx+RTmZm/teDq0sibZlj3PhVQLsJQlIUm6tHzNCe7TwlroXZXL2aVI5RUKCC1x0hYrhuuApJAcVcc0lEl2PT/9BskpwbUPgcTT7dqbUC/Ju9kZxqkSie5qPcvAJCcLi5D/3IhYIJ+TdzHPDcCTOyZWZUYqtqVNE1A8C/yRZCwUwwmjYxL78aaawmD9kwcDVbFsYRRKkCehwbWkBarcBKyt/UpjMcTefDAwXgcQzXLZAu7oqeJ7ucifQbBbRw8eIRu4C23cAy8ve5tZTjkbucf4RdHeWmZJIFUeEbsMP8HOBW9X2FAlNJF++QKanoR2diG7fAXY0AD9+uN5k7ehw86bnTBo/qzsdcYlPc2X2IZCK+Lz7Nj/MzyPs64G8noDub0d06zb00GHfU7bxsPcs8HU+TWIgYriZfaKt2SFk5DwKayScmaahAdHQMLTzALC4CFRWQsZeITzfC3z6SJ/6YpDeKOMqrzdJsnuBjDUpheKARQpN5E5wP+cIjCjsZqyMvgCqq9evCNBvtIk8oLmKkOl+aQlobER+8DJQVQWYzN7JOxu9nF7lRwxXJUfvCrezRrMwNVMN08k0lYyPITx90vUml4IhGd5xOOLzJPk39AfREs2SrK6OTiZB0cl955yJQuuLwcANmJ5LygSEx82/CbC1dpomm/A1J6ZFEq2vd8kmE+MIz/V4J5sP6GyTbdySUevq0yQu64lLfOcMbW3uZYTdSu2GsW4J6fKA4YyKWKSbiXgCI5D3sz5JY3t0eZPXPpmaGfYkdkFtdu3yN5r0cyOJ2sARK36WmOWajSeLo9cjjvQXb8rSal+WdTDlm3Lg6435CjxYLPOmWiIxwV00qgMkijZMZuC2juvjF5bDtVeyaVvzMYheY/nnHc9y44pdUmtV9uDUsTteBmRy5llS0zk+OWjypv+txEn1CH8oPv/ff9dv/L+IwY33jHsAAAAASUVORK5CYII=\"","import {Spinner} from \"react-bootstrap\";\r\nimport React from \"react\";\r\n\r\nfunction SpinnerSmall() {\r\n return (\r\n \r\n Loading...\r\n \r\n )\r\n}\r\n\r\nexport {SpinnerSmall}","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Modal, Table, Col, Row, Spinner} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport LoginForm from \"./LoginForm\";\r\nimport {login} from '../../../actions/actionsCreators';\r\nimport axios from '../../../axios';\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\n\r\nlet helperPC = 'https://cadgl.net/icons_cadgl/pc-mouse.jpg';\r\nlet helperMobile = 'https://cadgl.net/icons_cadgl/mobile-touch.jpg';\r\nlet showInterval;\r\n\r\nclass HelperModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false,\r\n helperIcon: helperPC\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleCloseHelper = () => {\r\n this.setState({\r\n show: false\r\n })\r\n // if(document.getElementById(\"helper-dont-show\").checked == true)\r\n // {\r\n // var d=new Date();\r\n // d.setTime(d.getTime()+(1*24*60*60*1000));\r\n // var expires = \"; expires=\"+d.toGMTString();\r\n // var name = \"helper-dont-show\";\r\n // var value = \"true\";\r\n // document.cookie = name+\"=\"+value+expires+\"; path=/\";\r\n // }\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n });\r\n showInterval = setInterval(() => {\r\n if(window.innerWidth > window.innerHeight){\r\n if(document.getElementById(\"helperPopup\")){\r\n let isInIFrame = window.self !== window.top;\r\n if(isInIFrame){\r\n if (\r\n document.fullscreenElement || /* Standard syntax */\r\n document.webkitFullscreenElement || /* Safari and Opera syntax */\r\n document.msFullscreenElement /* IE11 syntax */\r\n ) {\r\n document.getElementById(\"helperPopup\").childNodes[0].classList.add(\"popupWidth60\");\r\n document.getElementById(\"helperPopup\").childNodes[0].classList.remove(\"popupWidth50\");\r\n }else{\r\n document.getElementById(\"helperPopup\").childNodes[0].classList.add(\"popupWidth50\");\r\n document.getElementById(\"helperPopup\").childNodes[0].classList.remove(\"popupWidth60\");\r\n }\r\n }else{\r\n document.getElementById(\"helperPopup\").childNodes[0].classList.add(\"popupWidth60\");\r\n }\r\n clearInterval(showInterval);\r\n }\r\n }\r\n }, 1);\r\n }\r\n\r\n readCookie(name) {\r\n var nameEQ = name + \"=\";\r\n var ca = document.cookie.split(';');\r\n for(var i=0;i < ca.length;i++) {\r\n var c = ca[i];\r\n while (c.charAt(0)==' ') c = c.substring(1,c.length);\r\n if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);\r\n }\r\n return null;\r\n }\r\n\r\n componentDidMount() {\r\n //Only check Zooming Level in Mobile Portrait\r\n if(!this.readCookie(\"helper-dont-show\"))\r\n {\r\n if(window.innerWidth < window.innerHeight)\r\n {\r\n this.setState({\r\n helperIcon: helperMobile,\r\n });\r\n }\r\n else\r\n {\r\n this.setState({\r\n helperIcon: helperPC,\r\n });\r\n }\r\n //this.handleShow();\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 Don't show \r\n \r\n */}\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(HelperModal)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Modal, Table, Col, Row, Spinner} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport LoginForm from \"./LoginForm\";\r\nimport {login} from '../../../actions/actionsCreators';\r\nimport axios from '../../../axios';\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\n\r\nlet helperPC = 'https://cadgl.net/icons_cadgl/pc-mouse.jpg';\r\nlet helperMobile = 'https://cadgl.net/icons_cadgl/mobile-touch.jpg';\r\nlet showInterval;\r\n\r\nclass First3DMModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false,\r\n helperIcon: helperPC\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleCloseHelper = () => {\r\n this.setState({\r\n show: false\r\n })\r\n if(document.getElementById(\"3dm-dont-show\").checked == true)\r\n {\r\n var d=new Date();\r\n d.setTime(d.getTime()+(100*24*60*60*1000));\r\n var expires = \"; expires=\"+d.toGMTString();\r\n var name = \"3dm-dont-show\";\r\n var value = \"true\";\r\n document.cookie = name+\"=\"+value+expires+\"; path=/\";\r\n }\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n });\r\n showInterval = setInterval(() => {\r\n if(document.getElementById(\"helperPopup\")){\r\n // document.getElementById(\"helperPopup\").childNodes[0].classList.add(\"popupWidth60\");\r\n clearInterval(showInterval);\r\n }\r\n }, 1);\r\n }\r\n\r\n readCookie(name) {\r\n var nameEQ = name + \"=\";\r\n var ca = document.cookie.split(';');\r\n for(var i=0;i < ca.length;i++) {\r\n var c = ca[i];\r\n while (c.charAt(0)==' ') c = c.substring(1,c.length);\r\n if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);\r\n }\r\n return null;\r\n }\r\n\r\n componentDidMount() {\r\n if(!this.readCookie(\"3dm-dont-show\"))\r\n {\r\n let uploadedFiles = this.props.file;\r\n if(uploadedFiles){\r\n uploadedFiles.files.forEach((file, path) => {\r\n if (file.name.match(/\\.(3dm)$/)) {\r\n setTimeout(() => {\r\n this.handleShow();\r\n }, 1000);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n Important\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n

\r\n Gemstones in 3dm files must be prepared before uploading to CadGL.\r\n

\r\n

\r\n Read tutorial \r\n

\r\n
\r\n \r\n
\r\n Hide this message \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(First3DMModal)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Modal, Table, Col, Row, Spinner} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport LoginForm from \"./LoginForm\";\r\nimport {login} from '../../../actions/actionsCreators';\r\nimport axios from '../../../axios';\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\n\r\nlet helperPC = 'https://cadgl.net/icons_cadgl/pc-mouse.jpg';\r\nlet helperMobile = 'https://cadgl.net/icons_cadgl/mobile-touch.jpg';\r\nlet showInterval;\r\n\r\nclass FirstGlbModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false,\r\n helperIcon: helperPC\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleCloseHelper = () => {\r\n this.setState({\r\n show: false\r\n })\r\n if(document.getElementById(\"glb-dont-show\").checked == true)\r\n {\r\n var d=new Date();\r\n d.setTime(d.getTime()+(100*24*60*60*1000));\r\n var expires = \"; expires=\"+d.toGMTString();\r\n var name = \"glb-dont-show\";\r\n var value = \"true\";\r\n document.cookie = name+\"=\"+value+expires+\"; path=/\";\r\n }\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n });\r\n showInterval = setInterval(() => {\r\n if(document.getElementById(\"helperPopup\")){\r\n // document.getElementById(\"helperPopup\").childNodes[0].classList.add(\"popupWidth60\");\r\n clearInterval(showInterval);\r\n }\r\n }, 1);\r\n }\r\n\r\n readCookie(name) {\r\n var nameEQ = name + \"=\";\r\n var ca = document.cookie.split(';');\r\n for(var i=0;i < ca.length;i++) {\r\n var c = ca[i];\r\n while (c.charAt(0)==' ') c = c.substring(1,c.length);\r\n if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);\r\n }\r\n return null;\r\n }\r\n\r\n componentDidMount() {\r\n if(!this.readCookie(\"glb-dont-show\"))\r\n {\r\n let uploadedFiles = this.props.file;\r\n if(uploadedFiles){\r\n uploadedFiles.files.forEach((file, path) => {\r\n if (file.name.match(/\\.(glb)$/) || file.name.match(/\\.(gltf)$/)) {\r\n setTimeout(() => {\r\n this.handleShow();\r\n }, 1000);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n Important\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n

\r\n Gemstones in GLB/GLTF files must be prepared before uploading to CadGL.\r\n

\r\n

\r\n Read tutorial \r\n

\r\n
\r\n \r\n
\r\n Hide this message \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(FirstGlbModal)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Modal, Table, Col, Row, Spinner} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport LoginForm from \"./LoginForm\";\r\nimport {login} from '../../../actions/actionsCreators';\r\nimport axios from '../../../axios';\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\n\r\nlet helperPC = 'https://cadgl.net/icons_cadgl/pc-mouse.jpg';\r\nlet helperMobile = 'https://cadgl.net/icons_cadgl/mobile-touch.jpg';\r\nlet showInterval;\r\n\r\nclass WelcomeModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false,\r\n helperIcon: helperPC\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleCloseHelper = () => {\r\n this.setState({\r\n show: false\r\n })\r\n if(document.getElementById(\"welcome-dont-show\").checked == true)\r\n {\r\n var d=new Date();\r\n d.setTime(d.getTime()+(100*24*60*60*1000));\r\n var expires = \"; expires=\"+d.toGMTString();\r\n var name = \"welcome-dont-show\";\r\n var value = \"true\";\r\n document.cookie = name+\"=\"+value+expires+\"; path=/\";\r\n }\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n });\r\n showInterval = setInterval(() => {\r\n if(document.getElementById(\"helperPopup\")){\r\n // document.getElementById(\"helperPopup\").childNodes[0].classList.add(\"popupWidth60\");\r\n clearInterval(showInterval);\r\n }\r\n }, 1);\r\n }\r\n\r\n readCookie(name) {\r\n var nameEQ = name + \"=\";\r\n var ca = document.cookie.split(';');\r\n for(var i=0;i < ca.length;i++) {\r\n var c = ca[i];\r\n while (c.charAt(0)==' ') c = c.substring(1,c.length);\r\n if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);\r\n }\r\n return null;\r\n }\r\n\r\n componentDidMount() {\r\n if(localStorage.getItem('user'))\r\n {\r\n if(!this.readCookie(\"welcome-dont-show\") && window.location.pathname == \"/\"){\r\n this.handleShow();\r\n }\r\n }else{\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n Thank you for joining us !\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n
\r\n

\r\n We’re thrilled you decided to use our Application.\r\n

\r\n

\r\n Our aim is to make it easy for anyone to create an interactive 3D viewer. \r\n

\r\n
\r\n

\r\n If you need any help, make sure to check out our \r\n

\r\n

\r\n Tutorials & \r\n YouTube channel or you may \r\n

\r\n

\r\n Contact Us to book a live demo !\r\n

\r\n
\r\n \r\n
\r\n Hide this message \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(WelcomeModal)","import React, {useEffect} from \"react\";\r\nimport {Row, Col} from \"react-bootstrap\";\r\nimport {FileLoader, Vector2, TextureLoader, RepeatWrapping, Color, MathUtils, Vector3} from \"three\";\r\nimport { connect } from 'react-redux';\r\nimport {saveSceneConfigToState, selectObject, loadPresets, loadCombinations, selectAnnotations, changeCameraPositionSetting} from \"../../../actions/actionsCreators\";\r\nimport {switchCases} from \"./switchCases\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport swipe from '../../../assets/swipe360.png';\r\nimport HelperModal from \"../Combinations/HelperModal\";\r\nimport First3DMModal from \"../Combinations/First3DMModal\";\r\nimport FirstGlbModal from \"../Combinations/FirstGlbModal\";\r\nimport WelcomeModal from \"../Combinations/WelcomeModal\";\r\nimport fullscreen from '../../../assets/fullscreen.png';\r\nimport axios from '../../../axios';\r\nimport { getGPUTier } from 'detect-gpu';\r\n// const Viewer = require(\"../../../cadcentre/dist/cadcenter\");\r\nconst Viewer = window.CADEDITOR.icad;\r\n\r\nlet mousePosition = new Vector2(0, 0)\r\nlet mouseDownTime = 0\r\nlet lastMouseDownTime = 0;\r\nlet userActive = 0\r\n\r\nlet draggingAnnotation = null;\r\nlet _logoVisibility = 1;\r\n\r\n// Duration is in seconds\r\nlet logoFadeInDuration = 1.0;\r\nlet logoFadeOutDuration = 1.0;\r\nlet logoStayDuration = 1.0;\r\nlet logoMinActionTime = 0.5; // 500 ms. Min time to check.\r\nlet _logoTweener;\r\nlet _logoState = 'startVisible';\r\nlet outlineFadeTime = 1;\r\nlet outlineVisibleTime = 4;\r\nlet outlineEdgeStrength = 1.0;\r\nlet mouseWheelTime = 0;\r\nlet userInfo = null;\r\nlet userObj = null;\r\n\r\n\r\nfunction ProductRenderer(props) {\r\n const canvas = React.createRef()\r\n \r\n\r\n useEffect(() => {\r\n let uploadedFiles = props.files ? props.files : null //Will hold filed coming from upload, if there aren't any then will load default scene.json\r\n \r\n var impersonate = window.location.search.split('impersonate=')[1];\r\n if(impersonate){\r\n axios.get('user/get-impersonate?uuid='+impersonate).then(response => {\r\n let {data} = response;\r\n if(data.success)\r\n {\r\n let userTmp = data.data;\r\n let token = userTmp.token;\r\n localStorage.setItem('user', JSON.stringify(token));\r\n var today = new Date();\r\n localStorage.setItem('user-active', today.setHours(today.getHours() + 4));\r\n document.location.href=\"/\";\r\n }\r\n });\r\n }\r\n\r\n //Check browser disable cookie\r\n var cookieEnabled = navigator.cookieEnabled;\r\n if (!cookieEnabled){ \r\n document.cookie = \"testcookie\";\r\n cookieEnabled = document.cookie.indexOf(\"testcookie\")!=-1;\r\n }\r\n \r\n let token = null;\r\n if(cookieEnabled){\r\n token = localStorage.getItem('user');\r\n }\r\n if(token)\r\n {\r\n setInterval(() => {\r\n let mustLogOut = false;\r\n if(localStorage.getItem('user-active')){\r\n let dateNeedChecked = localStorage.getItem('user-active');\r\n if(dateNeedChecked <= new Date().setHours(new Date().getHours() + 0)){\r\n mustLogOut = true;\r\n }\r\n }else{\r\n mustLogOut = true;\r\n }\r\n if(mustLogOut){\r\n localStorage.removeItem(\"user\");\r\n localStorage.removeItem(\"user-active\");\r\n window.location.replace(\"/\");\r\n }\r\n }, 2000);setInterval(() => {\r\n axios.get('user/get-user-info').then(response => {\r\n const user = response.data.data;\r\n if(\r\n (user.role && (user.role == \"subscriber\" || user.role == \"admin\"))\r\n ){\r\n\r\n }else{\r\n localStorage.removeItem(\"user\");\r\n localStorage.removeItem(\"user-active\");\r\n window.location.replace(\"/\");\r\n }\r\n }).catch(error => {\r\n if(error.response.status == 401){\r\n localStorage.removeItem(\"user\");\r\n localStorage.removeItem(\"user-active\");\r\n window.location.replace(\"/\");\r\n }\r\n });\r\n }, 10000);\r\n axios.get('user/get-user-info').then(response => {\r\n let {data} = response;\r\n if(data.success)\r\n {\r\n let userTmp = data.data;\r\n userObj = data.data;\r\n if(userTmp.isActive == false)\r\n {\r\n localStorage.removeItem(\"user\");\r\n document.location.reload();\r\n }\r\n if(userTmp.lang){\r\n localStorage.setItem(\"lang\", userTmp.lang);\r\n }\r\n }\r\n });\r\n }\r\n axios.get('user/get-user-permission').then(response => {\r\n let {data} = response\r\n if (data.success) {\r\n userInfo = data.data;\r\n if(userInfo.isActive == false)\r\n {\r\n //Clear LocalStorage\r\n\r\n }\r\n let canvas1 = canvas.current;\r\n //Create API instance\r\n const api = new Viewer.API({\r\n canvas: canvas1,\r\n gemConfig: {\r\n quality: 'high',\r\n diamondClass: [{\r\n name: \"diamond\",\r\n color: 0xaaaaaa\r\n }]\r\n },\r\n annotationIconParams: {\r\n maxAnnotations: 10,\r\n texture: userInfo.annotationUrl ? userInfo.annotationUrl : \"https://cadgl.net/icons_cadgl/annotations.png\",\r\n columns: 10,\r\n size: new Vector2(48, 48),\r\n padding: 2,\r\n // annotationHiddenAlpha: 0.3,\r\n // annotationHighlightTint: \"#aaaaff\",\r\n // annotationTint: \"#ffffff\"\r\n },\r\n logoParams: {\r\n opacity: 1,\r\n enabled: userInfo ? userInfo.isAllowWatermarkLogo : true,\r\n image: userInfo ? (userInfo.logoUrl ?? \"https://cadgl.net/editor/images/logo_editor.png\") : \"https://cadgl.net/editor/images/logo_editor.png\",\r\n height: 0,\r\n width: 0,\r\n positionY: userInfo ? (userInfo.logoPositionY ?? 0) : 0,\r\n positionX: userInfo ? (userInfo.logoPositionX ?? 0) : 0,\r\n scale: 1,\r\n logoStayDuration: userInfo ? (userInfo.logoStayDuration ?? 5) : 5,\r\n logoFadeInDuration: userInfo ? (userInfo.logoFadeInDuration ?? 0) : 0,\r\n logoFadeOutDuration: userInfo ? (userInfo.logoFadeOutDuration ?? 0) : 0\r\n },\r\n animationLoopCallback : ()=> animationLoop()\r\n });\r\n \r\n //api.setViewerSize(canvas1.clientWidth, canvas1.clientHeight);\r\n \r\n let xrParams = api.getXRParams();\r\n xrParams.enabled = false;\r\n api.setXRParams(xrParams);\r\n api.play() //Render 3D model on canvas\r\n \r\n \r\n let checkAR = setInterval(() => {\r\n \r\n let xrParams = api.getXRParams();\r\n if (navigator.platform == 'iPhone') { // <-- Use the one here above\r\n \r\n if ('xr' in navigator)\r\n {\r\n // if(!user.isAllowAR)\r\n // {\r\n // xrParams.enabled = false;\r\n // }\r\n // api.setXRParams(xrParams);\r\n }\r\n else\r\n {\r\n var mySpans = document.getElementsByTagName('a');\r\n var arBut;\r\n for(var i=0;i element that closes the modal\r\n var span = document.getElementsByClassName(\"closeAR\")[0];\r\n \r\n // When the user clicks on the button, open the modal\r\n btn.onclick = function() {\r\n modal.style.display = \"block\";\r\n }\r\n \r\n // When the user clicks on (x), close the modal\r\n span.onclick = function() {\r\n modal.style.display = \"none\";\r\n }\r\n \r\n // When the user clicks anywhere outside of the modal, close it\r\n window.onclick = function(event) {\r\n if (event.target == modal) {\r\n modal.style.display = \"none\";\r\n }\r\n }\r\n \r\n }\r\n }\r\n else\r\n {\r\n var element = document.getElementById('ARButton');\r\n if(element != null)\r\n {\r\n var txt = element.textContent || element.innerText;\r\n if(txt == 'AR NOT SUPPORTED')\r\n {\r\n element.style.display = \"none\";\r\n }\r\n }\r\n var mySpans = document.getElementsByTagName('a');\r\n var arBut;\r\n for(var i=0;i{\r\n if (Math.abs(_logoVisibility-o.l) < 0.0001) return;\r\n _logoVisibility = o.l;\r\n let p = api.getLogoParams();\r\n p.opacity = _logoVisibility * _logoVisibility;\r\n api.setLogoParams(p);\r\n }).onComplete(()=>{\r\n _logoVisibility = x;\r\n _logoTweener = undefined;\r\n _logoState = fState;\r\n })\r\n //.easing(TWEEN.Easing.Quadratic.InOut)\r\n .start();\r\n return _logoTweener;\r\n }\r\n \r\n function animationLoop(){\r\n \r\n let logoParams = api.getLogoParams();\r\n const time = Date.now();\r\n const mmax = logoMinActionTime * 1000;\r\n \r\n if(( mouseDownTime > 1 && time-mouseDownTime > mmax ) || ( time-mouseWheelTime < 500 ) ){\r\n // show if hidden. stop if hiding and show. do nothing if showing or visible\r\n if(_logoState === 'hidden' || _logoState === 'hiding'){\r\n _logoVisibility = Math.max(0.002, _logoVisibility);\r\n _tweenLogo(1, 'startVisible', (1-_logoVisibility) *logoParams.logoFadeInDuration);\r\n _logoState = 'showing';\r\n }\r\n }else {\r\n // hide if visible. stop if showing and hide. do nothing if hiding or hidden\r\n if(_logoState === 'startVisible'){\r\n // this._logoVisibility = this._logoVisibility;\r\n _tweenLogo(_logoVisibility, 'startHiding',logoParams.logoStayDuration-0.002);\r\n _logoState = 'visible';\r\n }\r\n if(_logoState === 'startHiding'){\r\n _logoVisibility = Math.min(0.998, _logoVisibility);\r\n _tweenLogo(0, 'hidden',(_logoVisibility) * logoParams.logoFadeOutDuration);\r\n _logoState = 'hiding';\r\n }\r\n }\r\n }\r\n \r\n props.changeSidebarHeight(canvas.current.clientHeight) //Adjust sidebar height to match rendered canvas\r\n \r\n if (uploadedFiles) {\r\n\r\n let logoParams = api.getLogoParams();\r\n logoParams.logoStayDuration = 60;\r\n api.setLogoParams(logoParams);\r\n\r\n setInterval(function(){\r\n let logoParams = api.getLogoParams();\r\n console.log(\"logoParams: \", logoParams);\r\n }, 3000);\r\n \r\n //Import model\r\n document.getElementById(\"myLoader\").style.display = \"block\";\r\n document.getElementById(\"canvas\").style.display = \"none\";\r\n \r\n setTimeout(() => {\r\n if(!userObj.defaultSceneEnv || userObj.defaultSceneEnv == undefined){\r\n api.loadTexture(\"sk_blurry_640.hdr\", event => console.log(event), {}).then(value => {\r\n api.sceneManager.setSceneEnvironment(value, {imageBasedLighting: true, setBackground: false, setDiamondEnv: true});\r\n })\r\n }else{\r\n api.loadTexture(userObj.defaultSceneEnv.path, \r\n event => console.log(event), {}).then(value => {\r\n console.log(value);\r\n api.sceneManager.setSceneEnvironment\r\n (value, {imageBasedLighting: true, setBackground: false, setDiamondEnv: true, setEnvironment: true});\r\n })\r\n api.exposure = Number(userObj.defaultSceneEnv.default_env_exposure);\r\n api.toneMappingSaturation = Number(userObj.defaultSceneEnv.default_env_saturation);\r\n api.toneMappingContrast = Number(userObj.defaultSceneEnv.default_env_contrast);\r\n api.setEnvMapRotation(Number(userObj.defaultSceneEnv.default_env_rotation));\r\n }\r\n if(!userObj.defaultBackground || userObj.defaultBackground == undefined){\r\n api.setBackground(\"#C0C8CC\")\r\n }else{\r\n if(userObj.defaultBackground.type == \"color\"){\r\n var hex = userObj.defaultBackground.color.replace(/^\\#/, '');\r\n var length = hex.length;\r\n api.setBackground(userObj.defaultBackground.color);\r\n }else{\r\n getFileObject(userObj.defaultBackground.path, function (fileObject) {\r\n api.setBackgroundFile(fileObject, {setEnvironment: false, setBackground: true})\r\n })\r\n }\r\n }\r\n if(userObj.defaultDiamondEnv){\r\n api.loadTexture(userObj.defaultDiamondEnv.path, \r\n event => console.log(event), {}).then(value => {\r\n api.sceneManager.setDiamondEnvironment\r\n (value, \r\n {\r\n imageBasedLighting: true, \r\n setBackground: false, \r\n setDiamondEnv: true, \r\n setEnvironment: false\r\n });\r\n })\r\n }\r\n\r\n api.importModelFiles(uploadedFiles.files).then(result => {\r\n setTimeout(() => {\r\n document.getElementById(\"myLoader\").style.display = \"none\";\r\n document.getElementById(\"canvas\").style.display = \"block\";\r\n api.exportScene().then(response => {\r\n props.saveSceneConfigToState(response, api, 'files') //save json to state and also api object so that we can call later all api's on component update\r\n \r\n let groundShadow = response.config.groundShadow;\r\n groundShadow.falloff = 2.5;\r\n api.setGroundShadowParams(groundShadow);\r\n\r\n document.getElementById(\"fullScreenIcon\").style.display = \"block\";\r\n document.getElementById(\"helperIcon\").style.display = \"block\";\r\n \r\n });\r\n //Set background default image\r\n // getFileObject('./bg_new.jpg', function (fileObject) {\r\n // api.setBackgroundFile(fileObject, {setEnvironment: false, setBackground: true})\r\n // })\r\n \r\n \r\n //Set default background color to white\r\n \r\n api.setSSRParams({enabled: false});\r\n // api.enableTAA = false;\r\n let animationSet = api.getModelAnimation();\r\n console.log(animationSet);\r\n\r\n //disable TAA\r\n let defaultTAA = api.getTAAParams();\r\n defaultTAA.enabled = false;\r\n api.setTAAParams(defaultTAA);\r\n //disable SSAO\r\n api.setSSAOParams({enabled: false})\r\n \r\n let xrParams = api.getXRParams();\r\n xrParams.enabled = false;\r\n api.setXRParams(xrParams);\r\n\r\n\r\n api.setCameraParams({orbitParams: {zoomSpeed: 0.5, minDistance: 0.0001, dampingFactor: 0.15}})\r\n // api.setCameraNearFarMultiplier(500);\r\n api.setMinCameraNearClip(0.1);\r\n api.setCameraParams({zoom: 1, fov: 20});\r\n \r\n api.toneMappingContrast = 1.04;\r\n api.setSharpenIntensity(0.1);\r\n\r\n\r\n // let logoParams = api.getLogoParams();\r\n // console.log(\"logoParams: \", logoParams);\r\n // logoParams.logoStayDuration = 60;\r\n // api.setLogoParams(logoParams);\r\n\r\n }, 1000);\r\n });\r\n //Load and set default texture, if not set the model will be all black\r\n /*new TextureLoader().load('./defaultTexture.png', response => {\r\n api.setSceneEnvironment(response, {\r\n setEnvironment: true,\r\n setDiamondEnv: false,\r\n setBackground: false,\r\n imageBasedLighting: true\r\n })\r\n });*/\r\n\r\n\r\n //\r\n }, 1000);\r\n \r\n setTimeout(() => {\r\n let materialsLibrary = api.getMaterialLibrary();\r\n console.log(typeof materialsLibrary);\r\n for (const [key, value] of Object.entries(materialsLibrary)) {\r\n for(let mesh of value.mesh){\r\n let pickedObject = mesh ?? null;\r\n if(pickedObject){\r\n if(!value.params.isDiamond && !value.params.isRefraction){\r\n api.setMaterialParams(pickedObject, {side: 'double'})\r\n }\r\n }\r\n }\r\n }\r\n }, 4000);\r\n \r\n } else {\r\n document.getElementById(\"myLoader\").style.display = \"block\";\r\n document.getElementById(\"canvas\").style.display = \"none\";\r\n // getFileObject('./background_app_1800x1200_light.jpg', function (fileObject) {\r\n // api.setBackgroundFile(fileObject, {setEnvironment: false, setBackground: true})\r\n // })\r\n new FileLoader().load(\"./startup.json\", (response) => {\r\n api.importScene(JSON.parse(response)).then(() => {\r\n document.getElementById(\"myLoader\").style.display = \"none\";\r\n document.getElementById(\"canvas\").style.display = \"block\";\r\n props.saveSceneConfigToState(JSON.parse(response), api, 'scene') \r\n //Save json to state and also api object so that we can call later all api's on component update\r\n });\r\n })\r\n }\r\n\r\n \r\n //disable Gizmo by default\r\n let gizmoParams = api.getTransformControlParams();\r\n gizmoParams.enabled = false;\r\n api.setTransformControlParams(gizmoParams);\r\n\r\n\r\n\r\n\r\n \r\n //Load presets from server\r\n props.loadPresets()\r\n //load combinations\r\n //props.loadCombinations()\r\n \r\n //Setting mouse and touch events on canvas\r\n document.getElementById('canvas').addEventListener('mousemove', (e) => onPointerMove(e, api, userInfo, props));\r\n document.getElementById('canvas').addEventListener('touchmove', (e) => onPointerMove(e, api, userInfo, props));\r\n document.getElementById('tooltip-span').addEventListener('mouseup', (e) => onPointerUp2(e, api, props, false, userInfo));\r\n document.getElementById('canvas').addEventListener('mouseup', (e) => onPointerUp(e, api, props, userInfo));\r\n document.getElementById('canvas').addEventListener('touchend', (e) => onPointerUp(e, api, props, userInfo));\r\n document.getElementById('canvas').addEventListener('mousedown', (e) => onPointerDown(e, api, props));\r\n document.getElementById('canvas').addEventListener('touchstart', (e) => onPointerDown(e, api, props));\r\n document.getElementById('canvas').addEventListener('wheel', (e) => onPointerWheel(e, api, props));\r\n document.getElementById('canvas').addEventListener('keyup', (e) => onKeyUp(e, api, props));\r\n\r\n window.addEventListener(\"resize\", ev => {\r\n // api.setViewerSize(document.getElementById('canvas').clientWidth, document.getElementById('canvas').clientHeight);\r\n setDefaultRatio();\r\n }, false);\r\n document.getElementById('canvas').addEventListener('dblclick', (e) => onPointerDownDouble(e, api, props));\r\n\r\n\r\n document.getElementById('fullScreenIcon').addEventListener('click', function(e) {\r\n var elem = document.documentElement;\r\n if (elem.requestFullscreen) {\r\n elem.requestFullscreen();\r\n } else if (elem.webkitRequestFullscreen) { /* Safari */\r\n elem.webkitRequestFullscreen();\r\n } else if (elem.msRequestFullscreen) { /* IE11 */\r\n elem.msRequestFullscreen();\r\n }\r\n document.getElementById(\"configurator-sidebar\").style.height = \"900px\";\r\n document.getElementById(\"configurator-sidebar\").style.backgroundColor = \"#343c42 !important\";\r\n // document.getElementById(\"configurator-sidebar\").style.height = document.body.clientHeight + 500;\r\n });\r\n let originalCanvasHeight = document.getElementById(\"configurator-sidebar\").offsetHeight ;\r\n function exitHandler()\r\n {\r\n console.log(\"originalCanvasHeight: \" + originalCanvasHeight);\r\n var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;\r\n if(fullscreenElement == null){\r\n let a = originalCanvasHeight + \"px\";\r\n document.getElementById(\"configurator-sidebar\").style.height = a;\r\n }\r\n }\r\n document.addEventListener('fullscreenchange', exitHandler, false);\r\n document.addEventListener('mozfullscreenchange', exitHandler, false);\r\n document.addEventListener('MSFullscreenChange', exitHandler, false);\r\n document.addEventListener('webkitfullscreenchange', exitHandler, false);\r\n\r\n\r\n //SCREEN RECORDING\r\n let \r\n mediaRecorder;\r\n document.addEventListener(\"click\", async function(e){\r\n const target = e.target.closest(\"#startRecording\"); // Or any other selector.\r\n \r\n if(target){\r\n console.log(\"api.sceneManager._objectContainer\", api.sceneManager._objectContainer);\r\n // const gpuTier = await getGPUTier();\r\n // console.log(\"gpu\", gpuTier);\r\n //let speed = api.getCameraParams().orbitParams.autoRotateSpeed;\r\n let speed = document.getElementById(\"recordingRotateSpeed\").value;\r\n let axis = document.getElementById(\"recordingRotateAxis\").value;\r\n let direction = document.getElementById(\"recordingRotateDirection\").value;\r\n let diff = document.getElementById(\"recordingRotateDiffMilSecond\").value;\r\n let startRecording = false;\r\n let startRotateTime, startRecordTime = null, diffTime;\r\n\r\n // const canvasRec = document.getElementById(\"canvas\");\r\n let stream = \r\n //canvasRec.captureStream(); \r\n await recordScreen();\r\n let mimeType = 'video/webm;codecs=h264';\r\n mediaRecorder = createRecorder(stream, mimeType);\r\n\r\n let timeOut = 60/speed;\r\n let timeOutMilSecs = timeOut * 1000;\r\n let timeOutMilSecsStop = 60/speed*1000+1;\r\n\r\n console.log(\"getRotation\", api.getRotation());\r\n console.log(\"timeOut\", timeOut);\r\n console.log(\"timeOutMilSecs\", timeOutMilSecs);\r\n console.log(\"timeOutMilSecsStop\", timeOutMilSecsStop);\r\n\r\n\r\n // let obj = api.sceneManager._objectContainer;\r\n // console.log(\"obj\", obj);\r\n // var startRotation = { x: 0, y: 0, z: 0 };\r\n // var endRotation = { x: Math.PI * 2, y: Math.PI * 2, z: Math.PI * 2 };\r\n // let tween = api.getTweener(startRotation)\r\n // .to(endRotation, 1000)\r\n // .onUpdate(function() {\r\n // console.log('xxxx');\r\n // obj.rotation.x = startRotation.x;\r\n // obj.rotation.y = startRotation.y;\r\n // obj.rotation.z = startRotation.z;\r\n // });\r\n // tween.start();\r\n // tween.onComplete(() => {\r\n // //mediaRecorder.stop();\r\n // });\r\n \r\n \r\n let bb = api.sceneManager.rotateAround(new Vector3(+(axis == \"x\"), +(axis == \"y\"), +(axis == \"z\")), (direction == \"+\" ? 1 : -1) * Math.PI * 2, timeOut);\r\n setTimeout(() => {\r\n // bb.stop();\r\n // mediaRecorder.stop();\r\n }, timeOut*1000);\r\n bb\r\n .onStart(()=> {\r\n const date = new Date();\r\n startRotateTime = date;\r\n const dateString = date.toISOString();\r\n console.log(\"dateString\", dateString);\r\n mediaRecorder.start(1);\r\n })\r\n .onComplete(() => {\r\n const date2 = new Date();\r\n const dateString2 = date2.toISOString();\r\n console.log(\"dateString2\", dateString2);\r\n setTimeout(() => {\r\n mediaRecorder.stop();\r\n console.log(\"diffTime\", diffTime);\r\n }, diffTime);\r\n });\r\n // let xxx = setInterval(() => {\r\n // if(document.getElementById(\"isFinish\").value != \"100\"){\r\n // // alert('zzzz');\r\n // mediaRecorder.stop();\r\n // document.getElementById(\"isFinish\").value = \"100\";\r\n // clearInterval(xxx);\r\n // }\r\n // });\r\n // setTimeout(() => {\r\n // api.straighten(axis, direction, timeOut);\r\n // setTimeout(() => {\r\n // api.straighten(axis, direction, timeOut);\r\n // setTimeout(() => {\r\n // api.straighten(axis, direction, timeOut);\r\n // setTimeout(() => {\r\n // api.straighten(axis, direction, timeOut);\r\n // setTimeout(() => {\r\n // console.log(\"stop\", Math.floor(Date.now() / 1000));\r\n // startRecording = true;\r\n // mediaRecorder.stop();\r\n // }, timeOutMilSecs + parseInt(diff)); //speed 2 -> 90, speed 10 -> 80\r\n // // }, timeOutMilSecs);\r\n // }, timeOutMilSecs);\r\n // }, timeOutMilSecs);\r\n // }, timeOutMilSecs);\r\n // }, 0);\r\n\r\n async function recordScreen() {\r\n console.log(\"window.screen.width \", window.screen.width);\r\n console.log(\"window.devicePixelRatio\", window.devicePixelRatio);\r\n console.log(\"window.screen.width * window.devicePixelRatio\", window.screen.width * window.devicePixelRatio);\r\n console.log(\"window.screen.height \", window.screen.height);\r\n console.log(\"window.devicePixelRatio\", window.devicePixelRatio);\r\n console.log(\"window.screen.height * window.devicePixelRatio\", window.screen.height * window.devicePixelRatio);\r\n return await navigator.mediaDevices.getDisplayMedia({\r\n audio: true, \r\n video: { \r\n mediaSource: \"screen\", \r\n width: { ideal: window.screen.width * window.devicePixelRatio },\r\n // height: { ideal: 2160 } \r\n }\r\n });\r\n }\r\n \r\n function createRecorder (stream, mimeType) {\r\n // the stream data is stored in this array\r\n let recordedChunks = []; \r\n let quality = document.getElementById(\"recordingQuality\").value;\r\n const mediaRecorder = new MediaRecorder(stream, {\r\n videoBitsPerSecond: parseInt(quality), // Double the default quality from 2.5Mbps to 5Mbps\r\n }, mimeType);\r\n \r\n console.log(\"MediaRecorder.videoBitsPerSecond\", mediaRecorder.videoBitsPerSecond);\r\n mediaRecorder.ondataavailable = function (e) {\r\n const date = new Date();\r\n const dateString = date.toISOString();\r\n console.log(\"ondataavailable\", dateString);\r\n if(startRecordTime == null){\r\n startRecordTime = date;\r\n diffTime = (startRecordTime.getTime() - startRotateTime.getTime());\r\n console.log(\"diffTime Calculated\", diffTime);\r\n }\r\n // if (e.data.size > 0) {\r\n recordedChunks.push(e.data);\r\n // } \r\n };\r\n mediaRecorder.onstop = function () {\r\n const date = new Date();\r\n const dateString = date.toISOString();\r\n console.log(\"onstop\", dateString);\r\n const tracks = stream.getTracks();\r\n saveFile(recordedChunks);\r\n recordedChunks = [];\r\n tracks.forEach(track => track.stop());\r\n // setTimeout(() => {\r\n // }, 1);\r\n };\r\n // mediaRecorder.start(); // For every 200ms the stream data will be stored in a separate chunk.\r\n return mediaRecorder;\r\n }\r\n \r\n function saveFile(recordedChunks){\r\n \r\n const blob = new Blob(recordedChunks, {\r\n type: 'video/webm; codecs=h264'\r\n });\r\n const url = URL.createObjectURL(blob);\r\n const a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.style = \"display: none\";\r\n a.href = url;\r\n a.download = \"tween-rotation.webm\";\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n }\r\n });\r\n \r\n \r\n \r\n\r\n\r\n\r\n function fpsMeter() {\r\n let prevTime = Date.now(),\r\n frames = 0;\r\n \r\n requestAnimationFrame(function loop() {\r\n const time = Date.now();\r\n frames++;\r\n if (time > prevTime + 1000) {\r\n // let fps = Math.round( ( frames * 1000 ) / ( time - prevTime ) );\r\n let fps = ( ( frames * 1000 ) / ( time - prevTime ) );\r\n prevTime = time;\r\n frames = 0;\r\n \r\n console.info('FPS: ', fps);\r\n }\r\n \r\n requestAnimationFrame(loop);\r\n });\r\n }\r\n \r\n //SCREEN RECORDING\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n }\r\n }).catch(error => {\r\n console.log(error.message)\r\n })\r\n\r\n }, [])\r\n\r\n /**\r\n * Check the type of the setting that is currently changing and calls cadcentre api\r\n */\r\n useEffect(() => {\r\n function isJson(str) {\r\n try {\r\n JSON.parse(str);\r\n } catch (e) {\r\n return false;\r\n }\r\n return isNaN(str);\r\n }\r\n if(props.userPermission)\r\n {\r\n userInfo = props.userPermission;\r\n }\r\n if (props.sceneConfig.api) {\r\n const api = props.sceneConfig.api\r\n //Import model if exists from upload file\r\n if (props.files && props.sceneConfig.type === 'uploadFiles') {\r\n // document.getElementById(\"myLoader\").style.display = \"block\";\r\n // document.getElementById(\"canvas\").style.display = \"none\";\r\n // api.importModelFiles(props.files.files).then(result => {\r\n // document.getElementById(\"myLoader\").style.display = \"none\";\r\n // document.getElementById(\"canvas\").style.display = \"block\";\r\n // api.exportScene().then(response => {\r\n // props.saveSceneConfigToState(response, api, 'files') //save json to state and also api object so that we can call later all api's on component update\r\n // });\r\n // //Set background default image\r\n // getFileObject('./bg_new.jpg', function (fileObject) {\r\n // api.setBackgroundFile(fileObject, {setEnvironment: false})\r\n // })\r\n // });\r\n // //Load and set default texture, if not set the model will be all black\r\n // new TextureLoader().load('./defaultTexture.png', response => {\r\n // api.setSceneEnvironment(response, {\r\n // setEnvironment: true,\r\n // setDiamondEnv: false,\r\n // setBackground: false,\r\n // imageBasedLighting: true\r\n // })\r\n // });\r\n }\r\n // api.setCameraParams({zoom: 0.4})\r\n switchCases(props, api)\r\n }\r\n\r\n if(props.sceneConfig.config){\r\n const config = props.sceneConfig.config;\r\n if(config.environment && isJson(config.environment)){\r\n const json = JSON.parse(config.environment);\r\n if(json.image){\r\n const bg = json.image.data;\r\n document.getElementById(\"selectedSceneEnv\").value = bg;\r\n }\r\n }\r\n if(config.diamondEnvironment && isJson(config.diamondEnvironment)){\r\n const json = JSON.parse(config.diamondEnvironment);\r\n if(json.image){\r\n const diamond = json.image.data;\r\n document.getElementById(\"selectedDiamondEnv\").value = diamond;\r\n }\r\n }\r\n }\r\n })\r\n\r\n /**\r\n * Width and height of canvas must be fixed and set to value 500, otherwise clicking on materials won't work.\r\n * This is cadcentre limitation\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 \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

Please access this link to download an App to experience the AR

\r\n XR Viewer\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\n\r\nconst onKeyUp = (e, api, props) => {\r\n const intersection = api.rayCast(mousePosition);\r\n let pickedObject = intersection?.object ?? null;\r\n if(pickedObject && (e.key === 'Backspace' || e.key === 'Delete')) {\r\n let root = pickRoot(pickedObject);\r\n if(root) {\r\n api.removeObject(root);\r\n let controls = api.getTransformControlParams()\r\n api.setTransformControlParams({visible: false, enabled: controls.enabled})\r\n api.setDirty();\r\n }\r\n }\r\n}\r\n\r\nconst onPointerWheel = (e, api, props) => {\r\n mouseWheelTime = Date.now();\r\n var today = new Date();\r\n localStorage.setItem('user-active', today.setHours(today.getHours() + 4));\r\n // localStorage.setItem('user-active', today.setMinutes(today.getMinutes() + 2));\r\n console.log(\"api.annotationsEnabled: \" + api.annotationsEnabled);\r\n}\r\n\r\n/**\r\n * Set mouse position\r\n * @param e\r\n */\r\nconst onPointerMove = (e, api, userInfo, props) => {\r\n let x = e.clientX;\r\n let y = e.clientY;\r\n mousePosition.x = (x / document.getElementById('canvas').clientWidth) * 2 - 1;\r\n mousePosition.y = -(y / document.getElementById('canvas').clientHeight) * 2 + 1;\r\n\r\n if(draggingAnnotation) {\r\n if (mouseDownTime > 0) {\r\n let i = api.rayCast(mousePosition);\r\n if (i) draggingAnnotation.setIntersection(i);\r\n }\r\n else {\r\n draggingAnnotation = null;\r\n api.setCameraParams({mode: \"orbit\"});\r\n }\r\n }\r\n\r\n const hitLogo = api.hitLogo(mousePosition);\r\n if(hitLogo) \r\n {\r\n document.body.style.cursor = \"pointer\";\r\n if(userInfo.isShowLinkToolTip)\r\n {\r\n var tooltipSpan = document.getElementById('tooltip-span');\r\n if(tooltipSpan)\r\n {\r\n tooltipSpan.style.display = \"block\";\r\n tooltipSpan.style.top = (mousePosition.y + 10) + 'px';\r\n tooltipSpan.style.left = (mousePosition.x + 10) + 'px';\r\n }\r\n }\r\n }\r\n else\r\n {\r\n document.body.style.cursor = \"default\";\r\n var tooltipSpan = document.getElementById('tooltip-span');\r\n if(tooltipSpan)\r\n {\r\n tooltipSpan.style.display = \"none\";\r\n tooltipSpan.style.top = 0 + 'px';\r\n tooltipSpan.style.left = 0 + 'px';\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * On mouse up event, will highlight on UI objects that use the material of the clicked object\r\n * @param e\r\n * @param api\r\n * @param props\r\n */\r\nconst onPointerUp = (e, api, props, userInfo) => {\r\n document.getElementById(\"canvas\").classList.remove(\"canvasActive\");\r\n mouseWheelTime = Date.now();\r\n let delta = Date.now() - mouseDownTime;\r\n lastMouseDownTime = mouseDownTime;\r\n mouseDownTime = 0;\r\n if (delta > 200) return;\r\n\r\n const intersection = api.rayCast(mousePosition);\r\n let pickedObject = intersection?.object ?? null;\r\n \r\n // if(pickedObject == null) return false;\r\n // if(pickedObject.uuid == localStorage.getItem('current-part')) return false;\r\n // localStorage.setItem('current-part', pickedObject.uuid);\r\n let materialLibrary = api.getMaterialLibrary();\r\n let objs = materialLibrary.find(value => !!value.mesh.find(value1 => value1 === pickedObject))?.mesh ?? [pickedObject];\r\n let selectedObject = new Map()\r\n\r\n //ANNOTATIONS\r\n let annotation = api.hitAnnotations(mousePosition, true);\r\n\r\n if (e.ctrlKey) {\r\n if(!annotation && !draggingAnnotation && intersection)\r\n annotation = api.addAnnotation(intersection);\r\n }\r\n if(annotation == draggingAnnotation) {\r\n draggingAnnotation = null;\r\n\r\n //this.gui.annotations.selected(annotation);\r\n api.setCameraParams({mode: \"orbit\"});\r\n }\r\n if(annotation)\r\n {\r\n props.selectAnnotations(annotation);\r\n // api.animateCamera(annotation.cameraState);\r\n }\r\n\r\n\r\n if (!e.ctrlKey && pickedObject) {\r\n api.highlightObjects();\r\n selectedObject.clear();\r\n\r\n let p = {edgeStrength: 10};\r\n api.getTweener(p)\r\n .to({edgeStrength: 0.0}, 3*1000)\r\n .onUpdate(()=> api.setOutlineParams(p))\r\n .start();\r\n }\r\n\r\n objs.forEach(value => {\r\n if (value) {\r\n selectedObject.set(value.uuid, value);\r\n api.highlightObjects.apply(api, Array.from(selectedObject.values()));\r\n } else {\r\n api.highlightObjects();\r\n selectedObject.clear();\r\n }\r\n });\r\n\r\n props.selectObject(selectedObject, pickedObject, objs) //Fire action to display material and object properties in sidebar\r\n\r\n if(userInfo.isShowLinkToolTip)\r\n {\r\n const hitLogo = api.hitLogo(mousePosition);\r\n if(hitLogo) window.open('https://gallery.cadgl.com/subscription', '_blank');\r\n }\r\n\r\n\r\n //gizmo\r\n let _pickedObject = intersection?.object ?? null;\r\n let transformControlParams = api.getTransformControlParams();\r\n\r\n if(_pickedObject) {\r\n let pickedRoot = pickRoot(_pickedObject)\r\n\r\n api.setTransformControlParams({visible: true, enabled: transformControlParams.enabled, object: pickedRoot, mode: transformControlParams.mode})\r\n } else {\r\n api.setTransformControlParams({visible: false, enabled: transformControlParams.enabled, mode: transformControlParams.mode})\r\n }\r\n}\r\n\r\n\r\nconst onPointerUp2 = (e, api, props, isMobile, userInfo) => {\r\n document.getElementById(\"canvas\").classList.remove(\"canvasActive\");\r\n if(userInfo.isShowLinkToolTip)\r\n {\r\n window.open('https://gallery.cadgl.com/subscription', '_blank');\r\n console.log(e.target.id);\r\n }\r\n}\r\n\r\nconst onPointerDown = (e, api, props) => {\r\n var today = new Date();\r\n localStorage.setItem('user-active', today.setHours(today.getHours() + 4));\r\n // localStorage.setItem('user-active', today.setMinutes(today.getMinutes() + 2));\r\n\r\n document.getElementById(\"canvas\").classList.add(\"canvasActive\");\r\n //document.getElementById(\"swipeIcon\").style.display = \"none\";\r\n mouseDownTime = Date.now();\r\n draggingAnnotation = api.hitAnnotations(mousePosition, true);\r\n if (draggingAnnotation)\r\n api.setCameraParams({mode: \"fixed\"});\r\n\r\n \r\n const now = Date.now();\r\n if(now - lastMouseDownTime < 300){\r\n lastMouseDownTime = 0;\r\n //double click\r\n api.animateCameraTarget(mousePosition, 1.2, 6, 1.1);\r\n return\r\n }\r\n}\r\n\r\nconst onPointerDownDouble = (e, api, props) => {\r\n // api.animateCameraTarget(mousePosition, 1.2, 6, 1.1);\r\n}\r\n\r\nconst getFileBlob = (url, cb) => {\r\n let xhr = new XMLHttpRequest();\r\n xhr.open(\"GET\", url);\r\n xhr.responseType = \"blob\";\r\n xhr.addEventListener('load', function() {\r\n cb(xhr.response);\r\n });\r\n xhr.send();\r\n};\r\n\r\nconst blobToFile = (blob, name) => {\r\n blob.lastModifiedDate = new Date();\r\n blob.name = name;\r\n return blob;\r\n};\r\n\r\nconst getFileObject = (filePathOrUrl, cb) => {\r\n getFileBlob(filePathOrUrl, function (blob) {\r\n cb(blobToFile(blob, 'test.jpg'));\r\n });\r\n};\r\n\r\nconst pickRoot = (object) => {\r\n let _object = object\r\n while(_object) {\r\n if(_object.userData.isRootObject) {\r\n return _object\r\n }\r\n _object = _object.parent\r\n }\r\n return _object\r\n}\r\n\r\nconst getPickedObject = () => {\r\n return this._pickedObject;\r\n}\r\n\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n sceneConfig: state.sceneConfig,\r\n selectedObjects: state.selectedObjects\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n saveSceneConfigToState: saveSceneConfigToState,\r\n selectObject: selectObject,\r\n loadPresets: loadPresets,\r\n loadCombinations: loadCombinations,\r\n selectAnnotations: selectAnnotations,\r\n changeCameraPositionSetting: changeCameraPositionSetting\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ProductRenderer)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Button} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport axios from '../../../axios';\r\nimport {\r\n deleteCombination,\r\n} from \"../../../actions/actionsCreators\";\r\nimport deleteBtn from '../../../assets/delete@2x.png';\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\n\r\nclass DeleteCombinationsModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n })\r\n }\r\n\r\n /**\r\n * Send request to delete combination also remove it from state\r\n */\r\n deleteCombination = () => {\r\n this.setState({loading: true})\r\n axios.post('combination/delete', {id: this.props.uuid}).then(response => {\r\n let {data} = response\r\n this.setState({loading: false})\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n this.handleClose()\r\n this.props.deleteCombination(this.props.uuid)\r\n }\r\n\r\n }).catch(err => {\r\n this.setState({\r\n hasError: true,\r\n error: err.message,\r\n loading: false\r\n })\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \"\"\r\n \r\n \r\n Delete Combination\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n \r\n Are you sure you want to delete this combination?\r\n \r\n {\r\n this.state.hasError ?\r\n \r\n {this.state.error}\r\n : ''\r\n }\r\n \r\n {\r\n this.state.loading ?\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\nconst mapDispatchToProps = {\r\n deleteCombination: deleteCombination,\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(DeleteCombinationsModal)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Button} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport axios from '../../../axios';\r\nimport {\r\n cloneCombination,\r\n} from \"../../../actions/actionsCreators\";\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport copyBtn from \"../../../assets/copy@2x.png\";\r\nimport {SpinnerSmall} from '../../../helpers/spinners';\r\n\r\nclass CloneCombinationModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n })\r\n }\r\n\r\n /**\r\n * Send request to clone combination also remove it from state\r\n */\r\n cloneCombination = () => {\r\n this.setState({loading: true})\r\n axios.post('combination/clone', {id: this.props.uuid}).then(response => {\r\n let {data} = response\r\n this.setState({loading: false})\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n this.handleClose()\r\n console.log(this.props.uuid)\r\n console.log(data.data.combination)\r\n this.props.cloneCombination(this.props.uuid, data.data.combination, this.props.position)\r\n }\r\n\r\n }).catch(err => {\r\n this.setState({\r\n hasError: true,\r\n error: err.message,\r\n loading: false\r\n })\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \"\"\r\n \r\n \r\n Clone Combination\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n \r\n Are you sure you want to clone this combination?\r\n \r\n {\r\n this.state.hasError ?\r\n \r\n {this.state.error}\r\n : ''\r\n }\r\n \r\n {\r\n this.state.loading ?\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\nconst mapDispatchToProps = {\r\n cloneCombination: cloneCombination,\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(CloneCombinationModal)","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGaADAAQAAAABAAAAGQAAAABY85deAAABmElEQVRIDWNkQANnzpxhBYICJiamZqAUO5o0KdwDf//+TTcwMLjFiKyroaGBKSgoaBojI2M6sji57P///z/9/fu3A4olFy5ckGZmZj4GNJQLqOA/iYZzAx3HhUXPLhRLQAr279/Pg0UhQSEBAQERoAN9gAprgJaJI2sAW7Jq1SpmDQ0NM6Dj+YH4H1Ax0b4AhjsjMP7+AYPlgbGx8R1gaBgC+duRLWIEuVxERGQ50GaQK8gGQMd9A2pu1tPT67h48SIo4fTDDGMECvQABYphApTQQIt+//r1S5ONje0/0CfXgGaBUyfQfKYiSgxG1gs0mBVogeK3b9/eAMW/wOSYgAyMyIdJUosGWUJzMGoJSUE8GlyjwUVSCJCi+AfNUhewsASbDaSrWUhxEilqgYXlZ6D65cBSeTLVLfn37x/zo0ePvqqoqFgaGRk9AzkMZMl+IHYEcagBgD74EBYW9hdoFtgCkJlMf/78SQeGG1yAEouA5mx6+vTpBXQzmAwNDW8DvQjyyQF0SRL4/4Fm9L59+zbay8vrJ7o+AAhrjLemGK9DAAAAAElFTkSuQmCC\"","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport DeleteCombinationsModal from \"./DeleteCombinationsModal\";\r\nimport CloneCombinationModal from \"./CloneCombinationModal\";\r\nimport axios from '../../../axios';\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\nimport {login} from '../../../actions/actionsCreators';\r\nimport {Table, Col, Row, Spinner} from \"react-bootstrap\";\r\n\r\nclass LoginForm extends Component {\r\n state = {\r\n email: '',\r\n password: '',\r\n loading: false,\r\n error: '',\r\n hasError: false,\r\n checkedWidget: this.props.checkedWidget,\r\n checkedEmbedded: this.props.checkedEmbedded\r\n }\r\n\r\n /**\r\n * Handles price and description change\r\n * @param e\r\n */\r\n handleChange = e => {\r\n this.setState({\r\n [e.target.name]: e.target.value,\r\n error: '',\r\n hasError: false\r\n })\r\n }\r\n\r\n /**\r\n * Change selected status of widget\r\n */\r\n handleWidgetCheckboxChange = () => {\r\n this.setState({\r\n checkedWidget: !this.state.checkedWidget\r\n })\r\n this.props.handleWidgetCheckboxChange(this.props.combination.widget, this.props.combination.uuid)\r\n }\r\n\r\n /**\r\n * Change selected status of embedded\r\n */\r\n handleEmbeddedCheckboxChange = () => {\r\n this.setState({\r\n checkedEmbedded: !this.state.checkedEmbedded\r\n })\r\n this.props.handleEmbeddedCheckboxChange(this.props.combination.embedded, this.props.combination.uuid)\r\n }\r\n\r\n /**\r\n * Update combination with new price and description\r\n */\r\n login = () => {\r\n this.setState({\r\n loading: true,\r\n hasError: false,\r\n error: ''\r\n })\r\n\r\n let payload = {\r\n email: this.state.email,\r\n password: this.state.password,\r\n }\r\n\r\n axios.post('auth/login', payload).then(result => {\r\n if (result.data.success) {\r\n alert('Success');\r\n this.setState({\r\n loading: false,\r\n hasError: false,\r\n error: ''\r\n })\r\n localStorage.setItem('user', JSON.stringify(result.data.data.token));\r\n }\r\n }).catch((err, result) => {\r\n alert(err.response.data.error.message);\r\n this.setState({\r\n loading: false,\r\n hasError: true,\r\n error: err.response.data.error.message\r\n })\r\n })\r\n }\r\n\r\n render() {\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 this.state.loading ?\r\n :\r\n \r\n }\r\n
\r\n
\r\n )\r\n \r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n login: login,\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(LoginForm);","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEEAAABBCAYAAACO98lFAAAACXBIWXMAAC4jAAAuIwF4pT92AAAHJmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDYgNzkuMTY0NzUzLCAyMDIxLzAyLzE1LTExOjUyOjEzICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjIuMyAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIxLTA1LTEyVDEwOjU5OjU5KzAyOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMS0wNS0yNVQxMTo0Mjo1MCswMjowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMS0wNS0yNVQxMTo0Mjo1MCswMjowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozMTFmNWEyNy0yODUwLWI4NDgtYmUyNi01MzY4ZDQ5ZTkxZmQiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5MWQwOTE2Ni1lOTQ4LWFjNDktYjM5ZC0xYWMxYzNlNGE5YWQiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1MjJjMDZlMC1hMjI5LWI1NGItYjA3MC1jY2E3ZWU2MzA0MGUiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjUyMmMwNmUwLWEyMjktYjU0Yi1iMDcwLWNjYTdlZTYzMDQwZSIgc3RFdnQ6d2hlbj0iMjAyMS0wNS0xMlQxMDo1OTo1OSswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIyLjMgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjb252ZXJ0ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmRjNjAyMzlhLWY0YTAtZmU0MC04M2UwLWI3MDEwOTJlOTAwYyIgc3RFdnQ6d2hlbj0iMjAyMS0wNS0xMlQxMToxNTo1MyswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIyLjMgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozMTFmNWEyNy0yODUwLWI4NDgtYmUyNi01MzY4ZDQ5ZTkxZmQiIHN0RXZ0OndoZW49IjIwMjEtMDUtMjVUMTE6NDI6NTArMDI6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMi4zIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIv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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAADAAAAAATDPpdAAAApUlEQVQoFWNgGHSAEd1F+/fvZ/n06dMCoDgTHx9fnKOj4x9kNUzIHJDijx8/rvj///93IP4KYoPEkNXAbYApBkq+9/f3TwMp2rhx4ywgJcjPzx8BswmsAV0xIyPjf5AGoC2M6JoYcSkGaQABmCagIQJAP0UybtiwYQWQ4wDE/UBJsMkQpQgSKMcIlCoEihxiAbJ3ARnncKgF64Ia1AdU+wVhDK1YADYuXnElpVL7AAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAADAAAAAATDPpdAAAAj0lEQVQoFWNgGHSAcePGjUlAV4kQ4zJGRsYvTP///3cDKi4CchhxaYLKFQHVOjDu37+f5ePHjyuAit/7+/unASX/I2sEKgK5YhZQTJCfnz8CbCouTeiKHR0d/8Cdga4JZAuyySDFIDG4BhAHWROIDwRgZ8AUgwRQNIAEQJo+ffq0AMhk4uPji0NWDJKnPQAA5v1JNlPjQk0AAAAASUVORK5CYII=\"","import React from \"react\";\r\nimport {Col, Row} from \"react-bootstrap\";\r\nimport arrowUp from '../../../../assets/arrow-up@2x.png';\r\nimport arrowDown from '../../../../assets/down-arrow@2x.png';\r\n\r\nfunction MenuGroup(props) {\r\n let className = \"settings-tab-title\";\r\n if(props.collapsed == 1)\r\n {\r\n className = \"settings-tab-title settings-selected\";\r\n }\r\n return (\r\n \r\n \r\n \r\n {props.name}\r\n {\r\n props.collapsed\r\n ?\r\n \"\"/\r\n :\r\n \"\"/\r\n }\r\n \r\n \r\n {props.children}\r\n \r\n )\r\n}\r\n\r\nexport default MenuGroup","import React, {useState} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Form} from \"react-bootstrap\";\r\nimport {\r\n changeDownSampleRatio,\r\n changeStandardMaterialAlphaMapIntensity,\r\n changeStandardMaterialLightMapIntensity,\r\n changeStandardMaterialAoMapIntensity,\r\n changeStandardMaterialEmissiveIntensity,\r\n changeStandardMaterialBumpScale,\r\n changeStandardMaterialLineWidth,\r\n changeMinimumDistance,\r\n changeMaximumDistance,\r\n changeMaxZoom,\r\n changeMinZoom,\r\n changeMaxPolarAngle,\r\n changeMinPolarAngle,\r\n changeMaxAzimuthAngle,\r\n changeMinAzimuthAngle,\r\n changeAnnotationText,\r\n changeAnnotationTitle\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nfunction MenuItemTextBox(props) {\r\n const [value, setState] = useState({\r\n value: props.value ? props.value : ''\r\n })\r\n\r\n const updateField = (e) => {\r\n setState({\r\n ...value,\r\n value: e.target.value\r\n });\r\n\r\n dispatchAction(props.type, e.target.value)\r\n }\r\n\r\n /**\r\n * Filter all input text box types and fire its specific action\r\n */\r\n const dispatchAction = (type, value) => {\r\n switch (type) {\r\n case 'downSampleRatio':\r\n props.changeDownSampleRatio(value)\r\n break;\r\n case 'standardMaterialAlphaMapIntensity':\r\n props.changeStandardMaterialAlphaMapIntensity(value)\r\n break;\r\n case 'standardMaterialLightMapIntensity':\r\n props.changeStandardMaterialLightMapIntensity(value)\r\n break;\r\n case 'standardMaterialAoMapIntensity':\r\n props.changeStandardMaterialAoMapIntensity(value)\r\n break;\r\n case 'standardMaterialEmissiveIntensity':\r\n props.changeStandardMaterialEmissiveIntensity(value)\r\n break;\r\n case 'standardMaterialBumpScale':\r\n props.changeStandardMaterialBumpScale(value)\r\n break;\r\n case 'standardMaterialLineWidth':\r\n props.changeStandardMaterialLineWidth(value)\r\n break;\r\n case 'minimumDistance':\r\n props.changeMinimumDistance(value)\r\n break;\r\n case 'maximumDistance':\r\n props.changeMaximumDistance(value)\r\n break;\r\n case 'maxZoom':\r\n props.changeMaxZoom(value)\r\n break;\r\n \r\n case 'minZoom':\r\n props.changeMinZoom(value)\r\n break;\r\n case 'maxPolarAngle':\r\n props.changeMaxPolarAngle(value)\r\n break;\r\n case 'minPolarAngle':\r\n props.changeMinPolarAngle(value)\r\n break;\r\n case 'maxAzimuthAngle':\r\n props.changeMaxAzimuthAngle(value)\r\n break;\r\n case 'minAzimuthAngle':\r\n props.changeMinAzimuthAngle(value)\r\n break;\r\n case 'changeAnnotationText':\r\n props.changeAnnotationText(value)\r\n break;\r\n case 'changeAnnotationTitle':\r\n props.changeAnnotationTitle(value)\r\n break;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n {props.name}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n changeDownSampleRatio: changeDownSampleRatio,\r\n changeStandardMaterialLightMapIntensity: changeStandardMaterialLightMapIntensity,\r\n changeStandardMaterialAlphaMapIntensity: changeStandardMaterialAlphaMapIntensity,\r\n changeStandardMaterialAoMapIntensity: changeStandardMaterialAoMapIntensity,\r\n changeStandardMaterialEmissiveIntensity: changeStandardMaterialEmissiveIntensity,\r\n changeStandardMaterialBumpScale: changeStandardMaterialBumpScale,\r\n changeStandardMaterialLineWidth: changeStandardMaterialLineWidth,\r\n changeMinimumDistance: changeMinimumDistance,\r\n changeMaximumDistance: changeMaximumDistance,\r\n changeMaxZoom: changeMaxZoom,\r\n changeMinZoom: changeMinZoom,\r\n changeMaxPolarAngle: changeMaxPolarAngle,\r\n changeMinPolarAngle: changeMinPolarAngle,\r\n changeMaxAzimuthAngle: changeMaxAzimuthAngle,\r\n changeMinAzimuthAngle: changeMinAzimuthAngle,\r\n changeAnnotationText: changeAnnotationText,\r\n changeAnnotationTitle: changeAnnotationTitle\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(MenuItemTextBox)","import React, {useState} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Form} from \"react-bootstrap\";\r\nimport {\r\n changeAnnotationText,\r\n changeAnnotationTitle\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nfunction MenuItemTextBox2(props) {\r\n const [value, setState] = useState({\r\n value: props.value\r\n })\r\n\r\n const updateField = (e) => {\r\n \r\n setState({\r\n ...value,\r\n value: e.target.value \r\n });\r\n console.log(\"e.target.value: \" + e.target.value);\r\n console.log(JSON.stringify(value));\r\n dispatchAction(props.type, e.target.value)\r\n }\r\n\r\n /**\r\n * Filter all input text box types and fire its specific action\r\n */\r\n const dispatchAction = (type, value) => {\r\n switch (type) {\r\n case 'changeAnnotationText':\r\n props.changeAnnotationText(value)\r\n break;\r\n case 'changeAnnotationTitle':\r\n props.changeAnnotationTitle(value)\r\n break;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n {props.name}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n changeAnnotationText: changeAnnotationText,\r\n changeAnnotationTitle: changeAnnotationTitle\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(MenuItemTextBox2)","import React, {useState} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Form} from \"react-bootstrap\";\r\nimport JoditEditor from \"jodit-react\";\r\nimport {\r\n changeAnnotationText,\r\n changeAnnotationTitle\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nfunction RichTextEditor(props) {\r\n\r\n\r\n\tconst [content, setContent] = useState('')\r\n\tconst config = {\r\n\t\treadonly: false // all options from https://xdsoft.net/jodit/doc/\r\n\t}\r\n\r\n\r\n const [value, setState] = useState({\r\n value: props.value\r\n })\r\n\r\n const updateField = (e) => {\r\n \r\n // setState({\r\n // ...value,\r\n // value: e\r\n // });\r\n console.log(\"e.target.value: \" + e);\r\n console.log(JSON.stringify(value));\r\n dispatchAction(props.type, e)\r\n }\r\n\r\n /**\r\n * Filter all input text box types and fire its specific action\r\n */\r\n const dispatchAction = (type, value) => {\r\n switch (type) {\r\n case 'changeAnnotationText':\r\n props.changeAnnotationText(value)\r\n break;\r\n case 'changeAnnotationTitle':\r\n props.changeAnnotationTitle(value)\r\n break;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n {props.name}\r\n \r\n \r\n {/* */}\r\n updateField(newContent)} // preferred to use only this option to update the content for performance reasons\r\n // onChange={newContent => updateField(newContent)}\r\n />\r\n \r\n\r\n \r\n )\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n changeAnnotationText: changeAnnotationText,\r\n changeAnnotationTitle: changeAnnotationTitle\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(RichTextEditor)","import React, {createRef} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row} from \"react-bootstrap\";\r\nimport Dropzone from \"react-dropzone\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n exportSceneGltf,\r\n changeSceneView,\r\n downloadScene,\r\n downloadGltf,\r\n snapCanvas,\r\n changeCameraTargetSetting,\r\n changeCameraSetting,\r\n changeStraightenModelRotateSetting,\r\n resetStraightenModel,\r\n viewReflection,\r\n downloadReflection,\r\n loadReflection,\r\n clearAll,\r\n removeBackground,\r\n makeDiamond,\r\n makeStandard,\r\n makeRefraction,\r\n downloadMaterial,\r\n uploadMapFile,\r\n uploadScene,\r\n uploadEquirec,\r\n uploadCubeMap,\r\n uploadEnvironment,\r\n uploadMaterial,\r\n selectMeshes,\r\n downloadMaterials,\r\n loadMaterials,\r\n backgroundLoadImage,\r\n uploadFiles, takeScreenshot,\r\n loadCombinations,\r\n openMapFile,\r\n downloadMapFile,\r\n removeMapFile,\r\n removeAnnotation,\r\n\r\n loadDefaultSceneEnv,\r\n loadDefaultDiamondEnv,\r\n\r\n toggleAnimationPlay,\r\n toggleAnimationStop,\r\n\r\n addAmbient,\r\n toggleAudioPlay,\r\n toggleAudioStop,\r\n removeAudio,\r\n\r\n addAudio,\r\n removeAudioMaterial,\r\n insertFile\r\n\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nfunction MenuItemButton(props) {\r\n /**\r\n * Filter all button types and fire its specific action\r\n */\r\n const dispatchAction = (type, value, obj) => {\r\n switch (type) {\r\n case \"exportSceneGltf\":\r\n props.exportSceneGltf()\r\n break;\r\n case \"removeAudioMaterial\":\r\n props.removeAudioMaterial(obj)\r\n break;\r\n\r\n case \"removeAudio\":\r\n props.removeAudio()\r\n break;\r\n\r\n case \"addAudio\":\r\n props.addAudio(value)\r\n break;\r\n\r\n case 'toggleAudioPlay':\r\n props.toggleAudioPlay()\r\n break;\r\n case 'toggleAudioStop':\r\n props.toggleAudioStop()\r\n break;\r\n\r\n case \"addAmbient\":\r\n props.addAmbient()\r\n break;\r\n\r\n case 'toggleAnimationPlay':\r\n props.toggleAnimationPlay()\r\n break;\r\n case 'toggleAnimationStop':\r\n props.toggleAnimationStop()\r\n break;\r\n\r\n case 'loadDefaultSceneEnv':\r\n props.loadDefaultSceneEnv(value)\r\n break;\r\n case 'loadDefaultDiamondEnv':\r\n props.loadDefaultDiamondEnv(value)\r\n break;\r\n case 'sceneView':\r\n props.changeSceneView(value)\r\n break;\r\n case 'downloadScene':\r\n props.downloadScene()\r\n break;\r\n case 'downloadGltf':\r\n props.downloadGltf()\r\n break;\r\n case 'snapCanvas':\r\n props.snapCanvas()\r\n break;\r\n case 'resetCameraTarget':\r\n props.changeCameraTargetSetting()\r\n break;\r\n case 'resetCamera':\r\n props.changeCameraSetting()\r\n break;\r\n case 'straightenModelRotate':\r\n props.changeStraightenModelRotateSetting(value)\r\n break;\r\n case 'resetStraightenModel':\r\n props.resetStraightenModel()\r\n break;\r\n case 'loadReflection':\r\n props.loadReflection()\r\n break;\r\n case 'viewReflection':\r\n props.viewReflection()\r\n break;\r\n case 'downloadReflection':\r\n props.downloadReflection()\r\n break;\r\n case 'clearAll':\r\n props.clearAll()\r\n break;\r\n case 'removeBackground':\r\n props.removeBackground()\r\n break;\r\n case 'makeDiamond':\r\n props.makeDiamond(value)\r\n break;\r\n case 'makeStandard':\r\n props.makeStandard(value)\r\n break;\r\n case 'makeRefraction':\r\n props.makeRefraction(value)\r\n break;\r\n case 'downloadMaterial':\r\n props.downloadMaterial()\r\n break;\r\n case 'uploadScene':\r\n props.uploadScene()\r\n break;\r\n case 'uploadMapFile':\r\n case 'uploadLightMapFile':\r\n case 'uploadAoMapFile':\r\n case 'uploadEmissiveMapFile':\r\n case 'uploadBumpMapFile':\r\n case 'uploadNormalMapFile':\r\n case 'uploadRoughnessMapFile':\r\n case 'uploadMetalnessMapFile':\r\n case 'uploadAlphaMapFile':\r\n props.uploadMapFile(value)\r\n break;\r\n case 'uploadEquirec':\r\n props.uploadEquirec()\r\n break;\r\n case 'uploadCubeMap':\r\n props.uploadCubeMap()\r\n break;\r\n case 'uploadEnvironment':\r\n props.uploadEnvironment()\r\n break;\r\n case 'uploadMaterial':\r\n props.uploadMaterial(value)\r\n break;\r\n case 'selectMeshes':\r\n props.selectMeshes(value)\r\n break;\r\n case 'downloadMaterials':\r\n props.downloadMaterials()\r\n break;\r\n case 'loadMaterials':\r\n props.loadMaterials()\r\n break;\r\n case 'backgroundLoadImage':\r\n props.backgroundLoadImage()\r\n break;\r\n case 'uploadFiles':\r\n openDialog()\r\n break;\r\n case 'openMapFile':\r\n props.openMapFile(value)\r\n break;\r\n case 'downloadMapFile':\r\n props.downloadMapFile(value)\r\n break;\r\n case 'removeMapFile':\r\n props.removeMapFile(value)\r\n break;\r\n case 'takeScreenshot':\r\n props.takeScreenshot()\r\n break;\r\n case 'removeAnnotation':\r\n props.removeAnnotation()\r\n break;\r\n case 'insertFile':\r\n props.insertFile()\r\n break;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n //Files upload handling only for menu Upload Files\r\n const dropzoneRef = createRef();\r\n const history = useHistory();\r\n const openDialog = () => {\r\n if (dropzoneRef.current) {\r\n dropzoneRef.current.open()\r\n }\r\n };\r\n const acceptedFiles = \".dds, .glb, .fbx, .bin, .png, .obj, .gltf, .mtl, .jpg, .3dm\";\r\n\r\n const onDrop = files => {\r\n let selectedFiles = new Map()\r\n files.forEach(file => {\r\n selectedFiles.set(file.name, file);\r\n });\r\n\r\n history.push({\r\n pathname: \"/configurator\",\r\n // pathname: \"/\",\r\n state: { files: selectedFiles }\r\n });\r\n\r\n props.uploadFiles(selectedFiles)\r\n window.location.reload(false);\r\n }\r\n\r\n return (\r\n \r\n \r\n {({getRootProps, getInputProps, acceptedFiles}) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }}\r\n
\r\n dispatchAction(props.type, props.value, props.obj)}>\r\n {props.name}\r\n \r\n
\r\n )\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n changeSceneView: changeSceneView,\r\n downloadScene: downloadScene,\r\n downloadGltf: downloadGltf,\r\n snapCanvas: snapCanvas,\r\n changeCameraTargetSetting: changeCameraTargetSetting,\r\n changeCameraSetting: changeCameraSetting,\r\n changeStraightenModelRotateSetting: changeStraightenModelRotateSetting,\r\n resetStraightenModel: resetStraightenModel,\r\n downloadReflection: downloadReflection,\r\n viewReflection: viewReflection,\r\n loadReflection: loadReflection,\r\n clearAll: clearAll,\r\n removeBackground: removeBackground,\r\n makeDiamond: makeDiamond,\r\n makeStandard: makeStandard,\r\n makeRefraction: makeRefraction,\r\n downloadMaterial: downloadMaterial,\r\n uploadMapFile: uploadMapFile,\r\n uploadScene: uploadScene,\r\n uploadEquirec: uploadEquirec,\r\n uploadCubeMap: uploadCubeMap,\r\n uploadEnvironment: uploadEnvironment,\r\n uploadMaterial: uploadMaterial,\r\n selectMeshes: selectMeshes,\r\n downloadMaterials: downloadMaterials,\r\n loadMaterials: loadMaterials,\r\n backgroundLoadImage: backgroundLoadImage,\r\n uploadFiles: uploadFiles,\r\n takeScreenshot: takeScreenshot,\r\n loadCombinations: loadCombinations,\r\n openMapFile: openMapFile,\r\n downloadMapFile: downloadMapFile,\r\n removeMapFile: removeMapFile,\r\n removeAnnotation: removeAnnotation,\r\n \r\n loadDefaultSceneEnv: loadDefaultSceneEnv,\r\n loadDefaultDiamondEnv: loadDefaultDiamondEnv,\r\n\r\n toggleAnimationPlay: toggleAnimationPlay,\r\n toggleAnimationStop: toggleAnimationStop,\r\n\r\n addAmbient: addAmbient,\r\n toggleAudioPlay: toggleAudioPlay,\r\n toggleAudioStop: toggleAudioStop,\r\n removeAudio: removeAudio,\r\n\r\n addAudio: addAudio,\r\n removeAudioMaterial: removeAudioMaterial,\r\n exportSceneGltf: exportSceneGltf,\r\n insertFile: insertFile\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(MenuItemButton)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Form} from \"react-bootstrap\";\r\nimport {\r\n changeBevelSetting,\r\n enableSharpnessSetting,\r\n enableSsaoSetting,\r\n enableDebugSsaoSetting,\r\n enableBloomSetting,\r\n enableGroundShadow,\r\n enableSmoothTransition,\r\n enableSmooth,\r\n enableGroundReflection,\r\n enableGroundReflectionPhysical,\r\n enableDof,\r\n enableEditDof,\r\n enableAutoRotate,\r\n standardMaterialEnableWireframe,\r\n refractionMaterialToggleVisibility,\r\n pickedGroupToggleVisibility,\r\n enableAr,\r\n enableArGroundShadows,\r\n screenSpacePanning,\r\n enableZoom,\r\n enablePan,\r\n logoToggle,\r\n enableAnnotations,\r\n enableTAA,\r\n enableSSR,\r\n toggleAnimationLoop,\r\n toggleAudioLoop,\r\n enableSsaoBlur,\r\n\r\n toggleAudioMaterialLoop,\r\n enableFrustumCulling,\r\n switchOldNewCamera,\r\n gizmoEnabled\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nclass MenuItemCheckbox extends Component {\r\n state = {\r\n checked: this.props.value ? this.props.value : false\r\n }\r\n\r\n /**\r\n * Filter all input range types and fire its specific action\r\n */\r\n dispatchAction = (type, value, obj) => {\r\n switch (type) {\r\n case 'toggleAudioMaterialLoop':\r\n this.props.toggleAudioMaterialLoop(obj, value);\r\n break;\r\n case 'toggleAudioLoop':\r\n this.props.toggleAudioLoop(value);\r\n break;\r\n case 'toggleAnimationLoop':\r\n this.props.toggleAnimationLoop(value);\r\n break;\r\n case 'enableAnnotations':\r\n this.props.enableAnnotations(value);\r\n break;\r\n case 'logoToggle':\r\n this.props.logoToggle(value);\r\n break;\r\n case 'enableBevel':\r\n this.props.changeBevelSetting(value)\r\n break;\r\n case 'enableSharpness':\r\n this.props.enableSharpnessSetting(value)\r\n break;\r\n case 'enableSsao':\r\n this.props.enableSsaoSetting(value)\r\n break;\r\n case 'enableSsaoBlur':\r\n this.props.enableSsaoBlur(value)\r\n break;\r\n case 'enableDebugSsao':\r\n this.props.enableDebugSsaoSetting(value)\r\n break;\r\n case 'enableBloom':\r\n this.props.enableBloomSetting(value)\r\n break;\r\n case 'groundShadow':\r\n this.props.enableGroundShadow(value)\r\n break;\r\n case 'smoothTransition':\r\n this.props.enableSmoothTransition(value)\r\n break;\r\n case 'enableSmooth':\r\n this.props.enableSmooth(value)\r\n break;\r\n case 'enableGroundReflection':\r\n this.props.enableGroundReflection(value)\r\n break;\r\n case 'enableGroundReflectionPhysical':\r\n this.props.enableGroundReflectionPhysical(value)\r\n break;\r\n case 'enableEditDof':\r\n this.props.enableEditDof(value)\r\n break;\r\n case 'enableDof':\r\n this.props.enableDof(value)\r\n break;\r\n case 'enableAutoRotate':\r\n this.props.enableAutoRotate(value)\r\n break;\r\n case 'standardMaterialEnableWireframe':\r\n this.props.standardMaterialEnableWireframe(value)\r\n break;\r\n case 'refractionMaterialToggleVisibility':\r\n this.props.refractionMaterialToggleVisibility(value)\r\n break;\r\n case 'pickedGroupToggleVisibility':\r\n console.log(\"Menu Item Checkbox\");\r\n this.props.pickedGroupToggleVisibility(value)\r\n break;\r\n case 'enableAr':\r\n this.props.enableAr(value)\r\n break;\r\n case 'enableArGroundShadows':\r\n this.props.enableArGroundShadows(value)\r\n break;\r\n case 'screenSpacePanning':\r\n this.props.screenSpacePanning(value)\r\n break;\r\n case 'enablePan':\r\n this.props.enablePan(value)\r\n break;\r\n case 'enableZoom':\r\n this.props.enableZoom(value)\r\n break;\r\n case 'enableTAA':\r\n this.props.enableTAA(value)\r\n break;\r\n case 'enableSSR':\r\n this.props.enableSSR(value)\r\n break;\r\n case 'enableFrustumCulling':\r\n this.props.enableFrustumCulling(value)\r\n break;\r\n case 'switchOldNewCamera':\r\n this.props.switchOldNewCamera(value)\r\n break;\r\n case 'gizmoEnabled':\r\n this.props.gizmoEnabled(value)\r\n break;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n handleChange = (event) => {\r\n this.setState({checked: !this.state.checked});\r\n this.dispatchAction(this.props.type, !this.state.checked, this.props.obj)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.name}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n changeBevelSetting: changeBevelSetting,\r\n enableSharpnessSetting: enableSharpnessSetting,\r\n enableSsaoSetting: enableSsaoSetting,\r\n enableDebugSsaoSetting: enableDebugSsaoSetting,\r\n enableBloomSetting: enableBloomSetting,\r\n enableGroundShadow: enableGroundShadow,\r\n enableSmoothTransition: enableSmoothTransition,\r\n enableSmooth: enableSmooth,\r\n enableGroundReflection: enableGroundReflection,\r\n enableGroundReflectionPhysical: enableGroundReflectionPhysical,\r\n enableDof: enableDof,\r\n enableEditDof: enableEditDof,\r\n enableAutoRotate: enableAutoRotate,\r\n standardMaterialEnableWireframe: standardMaterialEnableWireframe,\r\n refractionMaterialToggleVisibility: refractionMaterialToggleVisibility,\r\n pickedGroupToggleVisibility: pickedGroupToggleVisibility,\r\n enableAr: enableAr,\r\n enableArGroundShadows:enableArGroundShadows,\r\n screenSpacePanning: screenSpacePanning,\r\n enablePan: enablePan,\r\n enableZoom: enableZoom,\r\n logoToggle: logoToggle,\r\n enableAnnotations: enableAnnotations,\r\n enableTAA: enableTAA,\r\n enableSSR: enableSSR,\r\n toggleAnimationLoop: toggleAnimationLoop,\r\n toggleAudioLoop: toggleAudioLoop,\r\n toggleAudioMaterialLoop: toggleAudioMaterialLoop,\r\n enableFrustumCulling: enableFrustumCulling,\r\n enableSsaoBlur: enableSsaoBlur,\r\n switchOldNewCamera: switchOldNewCamera,\r\n gizmoEnabled: gizmoEnabled\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(MenuItemCheckbox)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Form} from \"react-bootstrap\";\r\nimport InputRange from 'react-input-range';\r\nimport 'react-input-range/lib/css/index.css';\r\nimport {\r\n changeCameraZoom,\r\n changeFovSetting,\r\n changeEdgeGlowSetting,\r\n changeEdgeThicknessSetting,\r\n changeEdgeStrengthSetting,\r\n changePulsePeriodSetting,\r\n changeCameraPositionXSetting,\r\n changeCameraPositionYSetting,\r\n changeCameraPositionZSetting,\r\n changeSharpnessSetting,\r\n changeSsaoIntensitySetting,\r\n changeSsaoRadiusSetting,\r\n changeBloomStrengthSetting,\r\n changeBloomRadiuSetting,\r\n changeBloomThresholdSetting,\r\n changeNumSamplesSetting,\r\n changeNumSamplesPerFrameSetting,\r\n changeGroundBrightnessSetting,\r\n changeBlurRadiusSetting,\r\n changeGroundSharpnessSetting,\r\n changeFalloffSetting,\r\n changeReflectionRoughnessSetting,\r\n changeReflectionMetalnessSetting,\r\n changeReflectionSizeSetting,\r\n changeCrossRadiusSetting,\r\n changeNearBlurScaleSetting,\r\n changeFarBlurScaleSetting,\r\n changeDepthRangeSetting,\r\n changeAutoRotateSpeedSetting,\r\n changeBoostFactorXSetting,\r\n changeBoostFactorYSetting,\r\n changeBoostFactorZSetting,\r\n changeEnvMapIntensityDiamond,\r\n changeRefractiveIndexDiamond,\r\n changeGeometryFactorDiamond,\r\n changeSquashFactorDiamond,\r\n changeDispersionDiamond,\r\n changeReflectivityDiamond,\r\n changeAbsorptionFactorDiamond,\r\n changeGammaFactorDiamond,\r\n changeStandardMaterialOpacity,\r\n changeStandardMaterialRoughness,\r\n changeStandardMaterialMetalness,\r\n changeStandardMaterialEnvMapIntensity,\r\n refractionMaterialRefractionIndex,\r\n refractionMaterialRefractionRoughness,\r\n refractionMaterialRoughness,\r\n refractionMaterialMetalness,\r\n refractionMaterialTransparency,\r\n changeObjectScaleSetting,\r\n changeReticleSizeInSetting,\r\n changeReticleSizeOutSetting,\r\n changeReticleFadeThreshSetting,\r\n changeReticleFadeTimeSetting,\r\n changeToneMappingExposureSetting,\r\n changeToneMappingSaturationSetting,\r\n changeToneMappingContrastSetting,\r\n changeEnvMapRotationSetting,\r\n changeBevelRadius,\r\n changePixelRatio,\r\n changeMapRepeatU,\r\n changeMapRepeatV,\r\n logoStayDuration,\r\n logoFadeInDuration,\r\n logoFadeOutDuration,\r\n logoScale,\r\n logoPositionX,\r\n logoPositionY,\r\n intensitySSR,\r\n changeStandardMaterialBumpScale,\r\n changeMinimumDistance,\r\n changeMaximumDistance,\r\n changeMaxPolarAngle,\r\n changeMinPolarAngle,\r\n changeMaxAzimuthAngle,\r\n changeMinAzimuthAngle,\r\n changeAnimationTimeScale,\r\n changeAudioVolume,\r\n changeAudioMaterialVolume,\r\n \r\n changeStandardMaterialAlphaMapIntensity,\r\n changeStandardMaterialLightMapIntensity,\r\n changeStandardMaterialAoMapIntensity,\r\n changeStandardMaterialEmissiveIntensity,\r\n feedBackMin,\r\n feedBackMax,\r\n changeDampingFactor,\r\n changeNearFarMultiplier,\r\n changeMinCameraNearClip,\r\n changeNormalScaleX,\r\n changeNormalScaleY\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nclass MenuItemInputRange extends Component {\r\n state = {\r\n value: this.props.value ? this.props.value : 0\r\n };\r\n\r\n /**\r\n * Filter all input range types and fire its specific action\r\n */\r\n dispatchAction = (type, value, additional, obj) => {\r\n switch (type) {\r\n case 'minCameraNearClip':\r\n this.props.changeMinCameraNearClip(value);\r\n break;\r\n case 'nearFarMultiplier':\r\n this.props.changeNearFarMultiplier(value);\r\n break;\r\n case 'dampingFactor':\r\n this.props.changeDampingFactor(value);\r\n break;\r\n case 'feedBackMin':\r\n this.props.feedBackMin(value);\r\n break;\r\n case 'feedBackMax':\r\n this.props.feedBackMax(value);\r\n break;\r\n case 'standardMaterialAlphaMapIntensity':\r\n this.props.changeStandardMaterialAlphaMapIntensity(value)\r\n break;\r\n case 'standardMaterialAlphaMapIntensity':\r\n this.props.changeStandardMaterialAlphaMapIntensity(value)\r\n break;\r\n case 'standardMaterialAlphaMapIntensity':\r\n this.props.changeStandardMaterialAlphaMapIntensity(value)\r\n break;\r\n case 'standardMaterialLightMapIntensity':\r\n this.props.changeStandardMaterialLightMapIntensity(value)\r\n break;\r\n case 'standardMaterialAoMapIntensity':\r\n this.props.changeStandardMaterialAoMapIntensity(value)\r\n break;\r\n case 'standardMaterialEmissiveIntensity':\r\n this.props.changeStandardMaterialEmissiveIntensity(value)\r\n break;\r\n\r\n case 'changeAudioMaterialVolume':\r\n this.props.changeAudioMaterialVolume(obj, value)\r\n break;\r\n\r\n case 'changeAudioVolume':\r\n this.props.changeAudioVolume(value)\r\n break;\r\n case 'animationTimeScale':\r\n this.props.changeAnimationTimeScale(value)\r\n break;\r\n \r\n case 'standardMaterialBumpScale':\r\n this.props.changeStandardMaterialBumpScale(value)\r\n break;\r\n case 'logoPositionY':\r\n this.props.logoPositionY(value);\r\n break;\r\n case 'logoPositionX':\r\n this.props.logoPositionX(value);\r\n break;\r\n case 'logoScale':\r\n this.props.logoScale(value);\r\n break;\r\n case 'logoFadeOutDuration':\r\n this.props.logoFadeOutDuration(value);\r\n break;\r\n case 'logoFadeInDuration':\r\n this.props.logoFadeInDuration(value);\r\n break;\r\n case 'logoStayDuration':\r\n this.props.logoStayDuration(value);\r\n break;\r\n case 'cameraZoom':\r\n this.props.changeCameraZoom(parseFloat(value).toFixed(2))\r\n break;\r\n case 'fov':\r\n this.props.changeFovSetting(parseFloat(value).toFixed(2))\r\n break;\r\n case 'edgeGlow':\r\n this.props.changeEdgeGlowSetting(value)\r\n break;\r\n case 'edgeThickness':\r\n this.props.changeEdgeThicknessSetting(value)\r\n break;\r\n case 'edgeStrength':\r\n this.props.changeEdgeStrengthSetting(value)\r\n break;\r\n case 'pulsePeriod':\r\n this.props.changePulsePeriodSetting(value)\r\n break;\r\n case 'cameraX':\r\n this.props.changeCameraPositionXSetting(value)\r\n break;\r\n case 'cameraY':\r\n this.props.changeCameraPositionYSetting(value)\r\n break;\r\n case 'cameraZ':\r\n this.props.changeCameraPositionZSetting(value)\r\n break;\r\n case 'sharpness':\r\n this.props.changeSharpnessSetting(value)\r\n break;\r\n case 'ssaoIntensity':\r\n this.props.changeSsaoIntensitySetting(value)\r\n break;\r\n case 'ssaoRadius':\r\n this.props.changeSsaoRadiusSetting(value)\r\n break;\r\n case 'bloomStrength':\r\n this.props.changeBloomStrengthSetting(value)\r\n break;\r\n case 'bloomRadius':\r\n this.props.changeBloomRadiuSetting(value)\r\n break;\r\n case 'bloomThreshold':\r\n this.props.changeBloomThresholdSetting(value)\r\n break;\r\n case 'numSamples':\r\n this.props.changeNumSamplesSetting(value)\r\n break;\r\n case 'numSamplesPerFrame':\r\n this.props.changeNumSamplesPerFrameSetting(value)\r\n break;\r\n case 'groundBrightness':\r\n this.props.changeGroundBrightnessSetting(value)\r\n break;\r\n case 'blurRadius':\r\n this.props.changeBlurRadiusSetting(value)\r\n break;\r\n case 'groundSharpness':\r\n this.props.changeGroundSharpnessSetting(value)\r\n break;\r\n case 'falloff':\r\n this.props.changeFalloffSetting(value)\r\n break;\r\n case 'reflectionRoughness':\r\n this.props.changeReflectionRoughnessSetting(value)\r\n break;\r\n case 'reflectionMetalness':\r\n this.props.changeReflectionMetalnessSetting(value)\r\n break;\r\n case 'reflectionSize':\r\n this.props.changeReflectionSizeSetting(value)\r\n break;\r\n case 'crossRadius':\r\n this.props.changeCrossRadiusSetting(value)\r\n break;\r\n case 'nearBlurScale':\r\n this.props.changeNearBlurScaleSetting(value)\r\n break;\r\n case 'farBlurScale':\r\n this.props.changeFarBlurScaleSetting(value)\r\n break;\r\n case 'depthRange':\r\n this.props.changeDepthRangeSetting(value)\r\n break;\r\n case 'autoRotateSpeed':\r\n this.props.changeAutoRotateSpeedSetting(value)\r\n break;\r\n case 'boostFactorX':\r\n this.props.changeBoostFactorXSetting(value)\r\n break;\r\n case 'boostFactorY':\r\n this.props.changeBoostFactorYSetting(value)\r\n break;\r\n case 'boostFactorZ':\r\n this.props.changeBoostFactorZSetting(value)\r\n break;\r\n case 'envMapIntensityDiamond':\r\n this.props.changeEnvMapIntensityDiamond(value)\r\n break;\r\n case 'refractiveIndexDiamond':\r\n this.props.changeRefractiveIndexDiamond(value)\r\n break;\r\n case 'geometryFactorDiamond':\r\n this.props.changeGeometryFactorDiamond(value)\r\n break;\r\n case 'squashFactorDiamond':\r\n this.props.changeSquashFactorDiamond(value)\r\n break;\r\n case 'dispersionDiamond':\r\n this.props.changeDispersionDiamond(value)\r\n break;\r\n case 'reflectivityDiamond':\r\n this.props.changeReflectivityDiamond(value)\r\n break;\r\n case 'absorptionFactorDiamond':\r\n this.props.changeAbsorptionFactorDiamond(value)\r\n break;\r\n case 'gammaFactorDiamond':\r\n this.props.changeGammaFactorDiamond(value)\r\n break;\r\n case 'standardMaterialOpacity':\r\n this.props.changeStandardMaterialOpacity(value)\r\n break;\r\n case 'standardMaterialRoughness':\r\n this.props.changeStandardMaterialRoughness(value)\r\n break;\r\n case 'standardMaterialMetalness':\r\n this.props.changeStandardMaterialMetalness(value)\r\n break;\r\n case 'standardMaterialEnvMapIntensity':\r\n this.props.changeStandardMaterialEnvMapIntensity(value)\r\n break;\r\n case 'refractionMaterialRefractionIndex':\r\n this.props.refractionMaterialRefractionIndex(value)\r\n break;\r\n case 'refractionMaterialRefractionRoughness':\r\n this.props.refractionMaterialRefractionRoughness(value)\r\n break;\r\n case 'refractionMaterialRoughness':\r\n this.props.refractionMaterialRoughness(value)\r\n break;\r\n case 'refractionMaterialMetalness':\r\n this.props.refractionMaterialMetalness(value)\r\n break;\r\n case 'refractionMaterialTransparency':\r\n this.props.refractionMaterialTransparency(value)\r\n break;\r\n case 'changeObjectScaleSetting':\r\n this.props.changeObjectScaleSetting(value)\r\n break;\r\n case 'changeReticleSizeInSetting':\r\n this.props.changeReticleSizeInSetting(value)\r\n break;\r\n case 'changeReticleSizeOutSetting':\r\n this.props.changeReticleSizeOutSetting(value)\r\n break;\r\n case 'changeReticleFadeThreshSetting':\r\n this.props.changeReticleFadeThreshSetting(value)\r\n break;\r\n case 'changeReticleFadeTimeSetting':\r\n this.props.changeReticleFadeTimeSetting(value)\r\n break;\r\n case 'changeToneMappingExposureSetting':\r\n this.props.changeToneMappingExposureSetting(value)\r\n break;\r\n case 'changeToneMappingSaturationSetting':\r\n this.props.changeToneMappingSaturationSetting(value)\r\n break;\r\n case 'changeToneMappingContrastSetting':\r\n this.props.changeToneMappingContrastSetting(value)\r\n break;\r\n case 'changeEnvMapRotationSetting':\r\n this.props.changeEnvMapRotationSetting(value)\r\n break;\r\n case 'bevelRadius':\r\n this.props.changeBevelRadius(value)\r\n break;\r\n case 'pixelRatio':\r\n this.props.changePixelRatio(value)\r\n break;\r\n case 'mapRepeatU':\r\n this.props.changeMapRepeatU('map', value)\r\n break;\r\n case 'mapRepeatV':\r\n this.props.changeMapRepeatV('map', value)\r\n break;\r\n case 'lightMapRepeatU':\r\n this.props.changeMapRepeatU('lightMap', value)\r\n break;\r\n case 'lightMapRepeatV':\r\n this.props.changeMapRepeatV('lightMap', value)\r\n break;\r\n case 'emissiveMapRepeatU':\r\n this.props.changeMapRepeatU('emissiveMap', value)\r\n break;\r\n case 'emissiveMapRepeatV':\r\n this.props.changeMapRepeatV('emissiveMap', value)\r\n break;\r\n case 'bumpMapRepeatU':\r\n this.props.changeMapRepeatU('bumpMap', value)\r\n break;\r\n case 'bumpMapRepeatV':\r\n this.props.changeMapRepeatV('bumpMap', value)\r\n break;\r\n case 'normalMapRepeatU':\r\n this.props.changeMapRepeatU('normalMap', value)\r\n break;\r\n case 'normalMapRepeatV':\r\n this.props.changeMapRepeatV('normalMap', value)\r\n break;\r\n case 'roughnessMapRepeatU':\r\n this.props.changeMapRepeatU('roughnessMap', value)\r\n break;\r\n case 'roughnessMapRepeatV':\r\n this.props.changeMapRepeatV('roughnessMap', value)\r\n break;\r\n case 'metalnessMapRepeatU':\r\n this.props.changeMapRepeatU('metalnessMap', value)\r\n break;\r\n case 'metalnessMapRepeatV':\r\n this.props.changeMapRepeatV('metalnessMap', value)\r\n break;\r\n case 'alphaMapRepeatU':\r\n this.props.changeMapRepeatU('alphaMap', value)\r\n break;\r\n case 'alphaMapRepeatV':\r\n this.props.changeMapRepeatV('alphaMap', value)\r\n break;\r\n case 'intensitySSR':\r\n this.props.intensitySSR(value)\r\n break;\r\n\r\n case 'minimumDistance':\r\n this.props.changeMinimumDistance(value)\r\n break;\r\n case 'maximumDistance':\r\n this.props.changeMaximumDistance(value)\r\n break;\r\n case 'maxPolarAngle':\r\n this.props.changeMaxPolarAngle(value)\r\n break;\r\n case 'minPolarAngle':\r\n this.props.changeMinPolarAngle(value)\r\n break;\r\n case 'maxAzimuthAngle':\r\n this.props.changeMaxAzimuthAngle(value)\r\n break;\r\n case 'minAzimuthAngle':\r\n this.props.changeMinAzimuthAngle(value)\r\n break;\r\n\r\n \r\n case 'aoMapRepeatU':\r\n this.props.changeMapRepeatU('aoMap', value)\r\n break;\r\n case 'aoMapRepeatV':\r\n this.props.changeMapRepeatV('aoMap', value)\r\n break;\r\n \r\n \r\n case 'changeNormalScaleX':\r\n this.props.changeNormalScaleX(value)\r\n break;\r\n case 'changeNormalScaleY':\r\n this.props.changeNormalScaleY(value)\r\n break;\r\n\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * Checks if Value entered is a number\r\n * Then updates state when input text box is used for changing this field\r\n */\r\n handleTextBoxChange = event => {\r\n let inputVal = event.target.value\r\n //if (!isNaN(inputVal) && inputVal <= this.props.max && inputVal >= this.props.min) {\r\n if (!isNaN(inputVal)) {\r\n this.setState({[event.target.name]: event.target.value});\r\n this.dispatchAction(this.props.type, Number(event.target.value), null, this.props.obj)\r\n }\r\n }\r\n\r\n /**\r\n * Update state when slider is used for changing this field\r\n */\r\n handleSliderChange = (value) => {\r\n this.setState({\r\n value: parseFloat(value.toFixed(2))\r\n })\r\n this.dispatchAction(this.props.type, value, null, this.props.obj)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.name}\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\nconst mapDispatchToProps = {\r\n changeCameraZoom: changeCameraZoom,\r\n changeFovSetting: changeFovSetting,\r\n changeEdgeGlowSetting: changeEdgeGlowSetting,\r\n changeEdgeThicknessSetting: changeEdgeThicknessSetting,\r\n changeEdgeStrengthSetting: changeEdgeStrengthSetting,\r\n changePulsePeriodSetting: changePulsePeriodSetting,\r\n changeCameraPositionXSetting: changeCameraPositionXSetting,\r\n changeCameraPositionYSetting: changeCameraPositionYSetting,\r\n changeCameraPositionZSetting: changeCameraPositionZSetting,\r\n changeSharpnessSetting: changeSharpnessSetting,\r\n changeSsaoIntensitySetting: changeSsaoIntensitySetting,\r\n changeSsaoRadiusSetting: changeSsaoRadiusSetting,\r\n changeBloomStrengthSetting: changeBloomStrengthSetting,\r\n changeBloomRadiuSetting: changeBloomRadiuSetting,\r\n changeBloomThresholdSetting: changeBloomThresholdSetting,\r\n changeNumSamplesSetting: changeNumSamplesSetting,\r\n changeNumSamplesPerFrameSetting: changeNumSamplesPerFrameSetting,\r\n changeGroundBrightnessSetting: changeGroundBrightnessSetting,\r\n changeBlurRadiusSetting: changeBlurRadiusSetting,\r\n changeGroundSharpnessSetting: changeGroundSharpnessSetting,\r\n changeFalloffSetting: changeFalloffSetting,\r\n changeReflectionRoughnessSetting: changeReflectionRoughnessSetting,\r\n changeReflectionMetalnessSetting: changeReflectionMetalnessSetting,\r\n changeReflectionSizeSetting: changeReflectionSizeSetting,\r\n changeCrossRadiusSetting: changeCrossRadiusSetting,\r\n changeNearBlurScaleSetting: changeNearBlurScaleSetting,\r\n changeFarBlurScaleSetting: changeFarBlurScaleSetting,\r\n changeDepthRangeSetting: changeDepthRangeSetting,\r\n changeAutoRotateSpeedSetting: changeAutoRotateSpeedSetting,\r\n changeBoostFactorXSetting: changeBoostFactorXSetting,\r\n changeBoostFactorYSetting: changeBoostFactorYSetting,\r\n changeBoostFactorZSetting: changeBoostFactorZSetting,\r\n changeEnvMapIntensityDiamond: changeEnvMapIntensityDiamond,\r\n changeRefractiveIndexDiamond: changeRefractiveIndexDiamond,\r\n changeGeometryFactorDiamond: changeGeometryFactorDiamond,\r\n changeSquashFactorDiamond: changeSquashFactorDiamond,\r\n changeDispersionDiamond: changeDispersionDiamond,\r\n changeReflectivityDiamond: changeReflectivityDiamond,\r\n changeAbsorptionFactorDiamond: changeAbsorptionFactorDiamond,\r\n changeGammaFactorDiamond: changeGammaFactorDiamond,\r\n changeStandardMaterialOpacity: changeStandardMaterialOpacity,\r\n changeStandardMaterialRoughness: changeStandardMaterialRoughness,\r\n changeStandardMaterialMetalness: changeStandardMaterialMetalness,\r\n changeStandardMaterialEnvMapIntensity: changeStandardMaterialEnvMapIntensity,\r\n refractionMaterialRefractionIndex: refractionMaterialRefractionIndex,\r\n refractionMaterialRefractionRoughness: refractionMaterialRefractionRoughness,\r\n refractionMaterialRoughness: refractionMaterialRoughness,\r\n refractionMaterialMetalness: refractionMaterialMetalness,\r\n refractionMaterialTransparency: refractionMaterialTransparency,\r\n changeObjectScaleSetting: changeObjectScaleSetting,\r\n changeReticleSizeInSetting: changeReticleSizeInSetting,\r\n changeReticleSizeOutSetting: changeReticleSizeOutSetting,\r\n changeReticleFadeThreshSetting: changeReticleFadeThreshSetting,\r\n changeReticleFadeTimeSetting: changeReticleFadeTimeSetting,\r\n changeToneMappingExposureSetting: changeToneMappingExposureSetting,\r\n changeToneMappingSaturationSetting: changeToneMappingSaturationSetting,\r\n changeEnvMapRotationSetting: changeEnvMapRotationSetting,\r\n changeToneMappingContrastSetting: changeToneMappingContrastSetting,\r\n changeBevelRadius: changeBevelRadius,\r\n changePixelRatio: changePixelRatio,\r\n changeMapRepeatU: changeMapRepeatU,\r\n changeMapRepeatV: changeMapRepeatV,\r\n logoStayDuration: logoStayDuration,\r\n logoFadeInDuration: logoFadeInDuration,\r\n logoFadeOutDuration: logoFadeOutDuration,\r\n logoScale: logoScale,\r\n logoPositionX: logoPositionX,\r\n logoPositionY: logoPositionY,\r\n intensitySSR: intensitySSR,\r\n changeStandardMaterialBumpScale: changeStandardMaterialBumpScale,\r\n\r\n changeMinimumDistance:changeMinimumDistance,\r\n changeMaximumDistance:changeMaximumDistance,\r\n changeMaxPolarAngle:changeMaxPolarAngle,\r\n changeMinPolarAngle:changeMinPolarAngle,\r\n changeMaxAzimuthAngle:changeMaxAzimuthAngle,\r\n changeMinAzimuthAngle:changeMinAzimuthAngle,\r\n\r\n changeAnimationTimeScale: changeAnimationTimeScale,\r\n changeAudioVolume: changeAudioVolume,\r\n changeAudioMaterialVolume: changeAudioMaterialVolume,\r\n\r\n\r\n changeStandardMaterialLightMapIntensity: changeStandardMaterialLightMapIntensity,\r\n changeStandardMaterialAlphaMapIntensity: changeStandardMaterialAlphaMapIntensity,\r\n changeStandardMaterialAoMapIntensity: changeStandardMaterialAoMapIntensity,\r\n changeStandardMaterialEmissiveIntensity: changeStandardMaterialEmissiveIntensity,\r\n feedBackMin: feedBackMin,\r\n feedBackMax: feedBackMax,\r\n changeDampingFactor:changeDampingFactor,\r\n changeNearFarMultiplier: changeNearFarMultiplier,\r\n changeMinCameraNearClip: changeMinCameraNearClip,\r\n\r\n changeNormalScaleX: changeNormalScaleX,\r\n changeNormalScaleY: changeNormalScaleY\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(MenuItemInputRange)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Form} from \"react-bootstrap\";\r\nimport {\r\n changeCameraMode,\r\n changeSsaoDownscaleLevel,\r\n changeGroundShadowSide,\r\n changeSide,\r\n mapWrapU,\r\n mapWrapV,\r\n changeNormalMapType,\r\n colorMapEncoding,\r\n gizmoChangeMode\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nclass MenuItemDropdown extends Component{\r\n state = {\r\n value: this.props.value ? this.props.value : '',\r\n }\r\n\r\n /**\r\n * Filter all input range types and fire its specific action\r\n */\r\n dispatchAction = (type, value) => {\r\n switch (type) {\r\n case 'cameraMode':\r\n this.props.changeCameraMode(value)\r\n break;\r\n case 'ssaoDownscaleLevel':\r\n this.props.changeSsaoDownscaleLevel(value)\r\n break;\r\n case 'groundShadowSide':\r\n this.props.changeGroundShadowSide(value)\r\n break;\r\n case 'sideChange':\r\n this.props.changeSide(value)\r\n break;\r\n case 'normalMapWrapU':\r\n this.props.mapWrapU('normalMap', value)\r\n break;\r\n case 'normalMapWrapV':\r\n this.props.mapWrapV('normalMap', value)\r\n break;\r\n case 'colorMapWrapU':\r\n this.props.mapWrapU('map', value)\r\n break;\r\n case 'colorMapWrapV':\r\n this.props.mapWrapV('map', value)\r\n break;\r\n\r\n case 'lightMapWrapU':\r\n this.props.mapWrapU('lightMap', value)\r\n break;\r\n case 'lightMapWrapV':\r\n this.props.mapWrapV('lightMap', value)\r\n break;\r\n case 'emissiveMapWrapU':\r\n this.props.mapWrapU('emissiveMap', value)\r\n break;\r\n case 'emissiveMapWrapV':\r\n this.props.mapWrapV('emissiveMap', value)\r\n break;\r\n case 'bumpMapWrapU':\r\n this.props.mapWrapU('bumpMap', value)\r\n break;\r\n case 'bumpMapWrapV':\r\n this.props.mapWrapV('bumpMap', value)\r\n break;\r\n case 'roughnessMapWrapU':\r\n this.props.mapWrapU('roughnessMap', value)\r\n break;\r\n case 'roughnessMapWrapV':\r\n this.props.mapWrapV('roughnessMap', value)\r\n break;\r\n case 'metalnessMapWrapU':\r\n this.props.mapWrapU('metalnessMap', value)\r\n break;\r\n case 'metalnessMapWrapV':\r\n this.props.mapWrapV('metalnessMap', value)\r\n break;\r\n case 'alphaMapWrapU':\r\n this.props.mapWrapU('alphaMap', value)\r\n break;\r\n case 'alphaMapWrapV':\r\n this.props.mapWrapV('alphaMap', value)\r\n break;\r\n case 'changeNormalMapType':\r\n this.props.changeNormalMapType(value)\r\n break;\r\n case 'colorMapEncoding':\r\n this.props.colorMapEncoding('map', value)\r\n break;\r\n case 'gizmoChangeMode':\r\n this.props.gizmoChangeMode(value)\r\n break;\r\n \r\n \r\n\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n handleChange = (event) => {\r\n this.setState({value: event.target.value});\r\n this.dispatchAction(this.props.type, event.target.value)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.name}\r\n \r\n \r\n \r\n {\r\n this.props.options.map((option, i) => {\r\n return \r\n })\r\n }\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n changeCameraMode: changeCameraMode,\r\n changeSsaoDownscaleLevel: changeSsaoDownscaleLevel,\r\n changeGroundShadowSide: changeGroundShadowSide,\r\n changeSide: changeSide,\r\n mapWrapU: mapWrapU,\r\n mapWrapV: mapWrapV,\r\n changeNormalMapType: changeNormalMapType,\r\n colorMapEncoding: colorMapEncoding,\r\n gizmoChangeMode: gizmoChangeMode\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(MenuItemDropdown)","\r\nconst {TextureExporter} = window.CADEDITOR.icad;\r\n\r\nexport const modeOptions = [\r\n {value: 'fixed', label: 'Fixed'},\r\n {value: 'orbit', label: 'Orbit'},\r\n]\r\n\r\nexport const downscaleLevels = [\r\n {value: 1, label: '1'},\r\n {value: 2, label: '2'}\r\n]\r\n\r\nexport const groundShadowSides = [\r\n {value: 1, label: 'UP'},\r\n {value: 2, label: 'DOWN'},\r\n {value: 3, label: 'LEFT'},\r\n {value: 4, label: 'RIGHT'},\r\n {value: 5, label: 'FRONT'},\r\n {value: 6, label: 'BACK'},\r\n]\r\n\r\nexport const mapWrapUV = [\r\n {value: 33071, label: 'Clamp to Edge', subVal: 1001},\r\n {value: 33648, label: 'Mirrored Repeat', subVal: 1002},\r\n {value: 10497, label: 'Repeat', subVal: 1000},\r\n \r\n // {value: 1001, label: 'CLAMP_TO_EDGE'},\r\n // {value: 1002, label: 'MIRRORED_REPEAT'},\r\n // {value: 1000, label: 'REPEAT'},\r\n]\r\n\r\nexport const colorMapEncoding = [\r\n {value: TextureExporter.WEBGL_CONSTANTS.LINEAR_ENCODING, label: 'Linear'},\r\n {value: TextureExporter.WEBGL_CONSTANTS.SRGB_ENCODING, label: 'SRGB'},\r\n]\r\n\r\nexport const normalMapType = [\r\n {value: 'object_space', label: 'object_space'},\r\n {value: 'tangent_space', label: 'tangent_space'},\r\n]\r\n","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Form} from \"react-bootstrap\";\r\nimport { ChromePicker } from 'react-color';\r\nimport {\r\n changeVisibleEdgeColor,\r\n changeHiddenEdgeColor,\r\n setBackgroundColor,\r\n changeCrossColor,\r\n changeMaterialColor,\r\n changeStandardMaterialColor,\r\n changeStandardMaterialEmissiveColor,\r\n refractionMaterialTintColor,\r\n refractionMaterialDiffuse,\r\n changeReticleColorSetting\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nclass MenuItemColorPicker extends Component{\r\n state = {\r\n showColorPicker: false,\r\n colorValue: this.props.value ? this.props.value : ''\r\n }\r\n\r\n /**\r\n * Filter all color types and fire its specific action\r\n */\r\n dispatchAction = (type, value) => {\r\n switch (type) {\r\n case 'visibleEdgeColor':\r\n this.props.changeVisibleEdgeColor(value)\r\n break;\r\n case 'hiddenEdgeColor':\r\n this.props.changeHiddenEdgeColor(value)\r\n break;\r\n case 'setBackgroundColor':\r\n this.props.setBackgroundColor(value)\r\n break;\r\n case 'crossColor':\r\n this.props.changeCrossColor(value)\r\n break;\r\n case 'materialColor':\r\n this.props.changeMaterialColor(value)\r\n break;\r\n case 'standardMaterialColor':\r\n this.props.changeStandardMaterialColor(value)\r\n break;\r\n case 'standardMaterialEmissive':\r\n this.props.changeStandardMaterialEmissiveColor(value)\r\n break;\r\n case 'refractionMaterialTintColor':\r\n this.props.refractionMaterialTintColor(value)\r\n break;\r\n case 'refractionMaterialDiffuse':\r\n this.props.refractionMaterialDiffuse(value)\r\n break;\r\n case 'changeReticleColorSetting':\r\n this.props.changeReticleColorSetting(value)\r\n break;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n showColorPicker = () => {\r\n this.setState({\r\n showColorPicker: true\r\n })\r\n }\r\n\r\n hideColorPicker = () => {\r\n this.setState({\r\n showColorPicker: false\r\n })\r\n }\r\n\r\n handleChange = (event) => {\r\n this.setState({[event.target.name]: event.target.value});\r\n this.dispatchAction(this.props.type, event.target.value)\r\n }\r\n\r\n handleColorChangeComplete = (color) => {\r\n this.setState({ colorValue: color.hex });\r\n this.dispatchAction(this.props.type, color.hex)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.name}\r\n \r\n \r\n \r\n \r\n {\r\n // this.state.showColorPicker ?\r\n \r\n // : ''\r\n }\r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n changeVisibleEdgeColor: changeVisibleEdgeColor,\r\n changeHiddenEdgeColor: changeHiddenEdgeColor,\r\n setBackgroundColor: setBackgroundColor,\r\n changeCrossColor: changeCrossColor,\r\n changeMaterialColor: changeMaterialColor,\r\n changeStandardMaterialColor: changeStandardMaterialColor,\r\n changeStandardMaterialEmissiveColor: changeStandardMaterialEmissiveColor,\r\n refractionMaterialTintColor: refractionMaterialTintColor,\r\n refractionMaterialDiffuse: refractionMaterialDiffuse,\r\n changeReticleColorSetting: changeReticleColorSetting\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(MenuItemColorPicker)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Table, Col, Row, Spinner, Button, Tabs, Tab, Form} from \"react-bootstrap\";\r\nimport axios from '../../../axios';\r\n\r\nclass CombinationsSizeFileDownload extends Component {\r\n state = {\r\n selectedFiles: null,\r\n combination: this.props.combination,\r\n fileUrl: this.props.downloadFile,\r\n fileUrls: this.props.downloadFiles,\r\n uploading: false\r\n }\r\n onFileChange = event => {\r\n // Update the state\r\n this.setState({ selectedFiles: event.target.files });\r\n };\r\n /**\r\n * Update combination with new price and description\r\n */\r\n onFileUpload = () => {\r\n this.setState({ uploading: true });\r\n if (this.state.selectedFiles) {\r\n let count = 0;\r\n let i = 1;\r\n console.log(\"this.state.selectedFiles\");\r\n console.log(this.state.selectedFiles['length']);\r\n for(let selectedFile of this.state.selectedFiles){\r\n i++;\r\n setTimeout(() => {\r\n // Create an object of formData\r\n const formData = new FormData();\r\n \r\n // Update the formData object\r\n formData.append(\r\n \"myFile\",\r\n selectedFile,\r\n selectedFile.name\r\n );\r\n \r\n // Request made to the backend api\r\n // Send formData object\r\n axios.post('combination/upload-file-download', formData).then(response => {\r\n console.log(response.data.data);\r\n const path = response.data.data;\r\n let comb = {\r\n id: this.props.combination.uuid,\r\n downloadFile: path\r\n };\r\n axios.post('combination/update-file-download', comb).then(response => {\r\n console.log(response.data);\r\n const paths = response.data.data.combination;\r\n this.setState({ fileUrls: paths });\r\n count ++;\r\n \r\n });\r\n });\r\n }, i * 1000);\r\n }\r\n setInterval(() => {\r\n if(count == this.state.selectedFiles['length']){\r\n this.setState({ uploading: false });\r\n }\r\n }, 1000);\r\n }\r\n }\r\n\r\n onClearFiles = () => {\r\n let comb = {\r\n id: this.props.combination.uuid,\r\n };\r\n axios.post('combination/clear-file-download', comb).then(response => {\r\n alert(\"Success\");\r\n const paths = response.data.data.combination;\r\n this.setState({ fileUrls: paths });\r\n });\r\n }\r\n render() {\r\n return(\r\n \r\n {\r\n this.state.fileUrls && this.state.fileUrls.length > 0 && this.state.fileUrls.map((file, key) => {\r\n return(\r\n \r\n )\r\n })\r\n }\r\n {/* */}\r\n \r\n \r\n \r\n {\r\n this.state.uploading ? \r\n

Uploading....

\r\n : <>\r\n }\r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(CombinationsSizeFileDownload);","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Table, Col, Row, Spinner, Button, Tabs, Tab, Form} from \"react-bootstrap\";\r\nimport axios from '../../../axios';\r\n\r\nclass CombinationsSizeName extends Component {\r\n state = {\r\n name: this.props.name ? this.props.name : '',\r\n price: this.props.price ? this.props.price : 0,\r\n tag: this.props.tag ? this.props.tag : '',\r\n description: this.props.description ? this.props.description : '',\r\n fileTypes: this.props.fileTypes ? this.props.fileTypes : '',\r\n emails: this.props.emails ? this.props.emails : '',\r\n }\r\n\r\n nameChange = (e) => {\r\n this.setState({\r\n name: e.target.value\r\n })\r\n }\r\n\r\n priceChange = (e) => {\r\n this.setState({\r\n price: e.target.value\r\n })\r\n }\r\n\r\n tagChange = (e) => {\r\n this.setState({\r\n tag: e.target.value\r\n })\r\n }\r\n\r\n descChange = (e) => {\r\n this.setState({\r\n description: e.target.value\r\n })\r\n }\r\n\r\n fileTypesChange = (e) => {\r\n this.setState({\r\n fileTypes: e.target.value\r\n })\r\n }\r\n\r\n emailsChange = (e) => {\r\n this.setState({\r\n emails: e.target.value\r\n })\r\n }\r\n\r\n /**\r\n * Update combination with new price and description\r\n */\r\n updateCombination = () => {\r\n let payload = {\r\n id: this.props.uuid,\r\n name: this.state.name,\r\n price: this.state.price,\r\n tag: this.state.tag,\r\n description: this.state.description,\r\n fileTypes: this.state.fileTypes,\r\n }\r\n\r\n axios.post('combination/update-name', payload).then(result => {\r\n // alert('Success');\r\n });\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\r\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(CombinationsSizeName);","\r\nconst galleryUrl = 'https://gallery.cadgl.com'\r\n\r\nexport default galleryUrl;","export default __webpack_public_path__ + \"static/media/help_icon.649cd5f1.png\";","import React, {useState} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Form} from \"react-bootstrap\";\r\nimport Clipboard from 'react-clipboard.js';\r\n\r\nfunction MenuItemTextArea(props) {\r\n const [value, setState] = useState({\r\n value: props.value ? props.value : ''\r\n })\r\n\r\n const updateField = (e) => {\r\n setState({\r\n ...value,\r\n value: e.target.value\r\n });\r\n\r\n dispatchAction(props.type, e.target.value)\r\n }\r\n\r\n /**\r\n * Filter all input text box types and fire its specific action\r\n */\r\n const dispatchAction = (type, value) => {\r\n }\r\n\r\n return (\r\n \r\n \r\n '}\r\n disabled={true}\r\n readOnly={true}/>\r\n '}>\r\n Copy Iframe\r\n \r\n \r\n Copy Link\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(MenuItemTextArea)","import React, {useState} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Form, Button} from \"react-bootstrap\";\r\nimport Clipboard from 'react-clipboard.js';\r\nimport axios from '../../../../axios';\r\n\r\nfunction AnnotationSendInvitation(props) {\r\n const [value, setState] = useState({\r\n value: props.value ? props.value : ''\r\n })\r\n\r\n const updateField = (e) => {\r\n console.log(props.value);\r\n setState({\r\n ...value,\r\n value: e.target.value\r\n });\r\n }\r\n\r\n /**\r\n * Filter all input text box types and fire its specific action\r\n */\r\n const dispatchAction = (type, value) => {\r\n }\r\n\r\n const sendInvitation = () => {\r\n\r\n let payload = {\r\n uuid: props.uuid,\r\n emails: value.value\r\n }\r\n\r\n axios.post('combination/invite-annotation-comment', payload).then(result => {\r\n alert('Success');\r\n });\r\n }\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\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(AnnotationSendInvitation)","import React, {useState} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Form, Button} from \"react-bootstrap\";\r\nimport Clipboard from 'react-clipboard.js';\r\nimport axios from '../../../../axios';\r\n\r\nfunction AnnotationReferenceCombination(props) {\r\n const [value, setState] = useState({\r\n value: props.value ? props.value : ''\r\n })\r\n\r\n const updateField = (e) => {\r\n console.log(props.value);\r\n setState({\r\n ...value,\r\n value: e.target.value\r\n });\r\n }\r\n\r\n /**\r\n * Filter all input text box types and fire its specific action\r\n */\r\n const dispatchAction = (type, value) => {\r\n }\r\n\r\n const sendInvitation = () => {\r\n\r\n let payload = {\r\n originalUuid: props.uuid,\r\n referenceUuid: value.value\r\n }\r\n\r\n axios.post('combination/refer-to-combination', payload).then(result => {\r\n alert('Success');\r\n });\r\n }\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\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(AnnotationReferenceCombination)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Modal, Form, Button, Tabs, Tab, Accordion, Table, Col, Row} from \"react-bootstrap\";\r\nimport DeleteCombinationsModal from \"./DeleteCombinationsModal\";\r\nimport CloneCombinationModal from \"./CloneCombinationModal\";\r\nimport CombinationsSizeFileDownload from \"./CombinationsSizeFileDownload\";\r\nimport CombinationsSizeName from \"./CombinationsSizeName\";\r\nimport {Link} from \"react-router-dom\";\r\nimport axios from '../../../axios';\r\nimport galleryUrl from '../../../galleryUrl';\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\nimport helpIcon from '../../../assets/help_icon.png';\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport MenuItemTextArea from \"../../Configurator/Sidebar/MenuItems/MenuItemTextArea\";\r\nimport AnnotationSendInvitation from \"../../Configurator/Sidebar/MenuItems/AnnotationSendInvitation\";\r\nimport AnnotationReferenceCombination from \"../../Configurator/Sidebar/MenuItems/AnnotationReferenceCombination\";\r\n\r\nimport {updateCombination, loadCombinations} from '../../../actions/actionsCreators';\r\n\r\nclass CombinationModal extends Component {\r\n state = {\r\n isShow: false\r\n }\r\n\r\n handleChange = e => {\r\n this.setState({\r\n [e.target.name]: e.target.value,\r\n error: '',\r\n hasError: false\r\n })\r\n }\r\n\r\n setShow = () => {\r\n this.setState({\r\n isShow : true\r\n })\r\n }\r\n setHide = () => {\r\n this.setState({\r\n isShow : false\r\n })\r\n }\r\n\r\n openUrl = () => {\r\n switch(this.props.type){\r\n case \"iframe\":\r\n window.open(\"https://www.cadgl.com/help/3d-viewer\", \"_blank\");\r\n break;\r\n case \"configurators\":\r\n window.open(\"https://www.cadgl.com/help/3d-configurator\", \"_blank\");\r\n break;\r\n case \"annotation\":\r\n window.open(\"https://www.cadgl.com/help/annotations\", \"_blank\");\r\n break;\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 CadGL - 3D Configurator\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n \r\n Open {this.props.text}\r\n {\r\n (this.props.userPermission && this.props.userPermission.configuratorsTemplates) ?\r\n this.props.userPermission.configuratorsTemplates.map((template, i) => {\r\n return Open with {template}\r\n })\r\n : ''\r\n }\r\n \r\n \r\n {\r\n !this.props.isAnnotation && \r\n \r\n }\r\n {\r\n this.props.isAnnotation && \r\n \r\n }\r\n {\r\n this.props.isAnnotation && \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\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(CombinationModal);","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Modal, Form, Button, Tabs, Tab, Accordion, Table, Col, Row} from \"react-bootstrap\";\r\nimport DeleteCombinationsModal from \"./DeleteCombinationsModal\";\r\nimport CloneCombinationModal from \"./CloneCombinationModal\";\r\nimport CombinationsSizeFileDownload from \"./CombinationsSizeFileDownload\";\r\nimport CombinationsSizeName from \"./CombinationsSizeName\";\r\nimport {Link} from \"react-router-dom\";\r\nimport axios from '../../../axios';\r\nimport galleryUrl from '../../../galleryUrl';\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport helpIcon from '../../../assets/help_icon.png';\r\nimport {updateCombination, loadCombinations} from '../../../actions/actionsCreators';\r\nimport CombinationModal from \"./CombinationModal\";\r\n\r\nclass Combination extends Component {\r\n state = {\r\n price: this.props.combination.price ? this.props.combination.price : 0,\r\n description: this.props.combination.description ? this.props.combination.description : '',\r\n tag: this.props.combination.tag ? this.props.combination.tag : '',\r\n isPublic: this.props.combination.isPublic ? this.props.combination.isPublic : '',\r\n allowComment: this.props.combination.allowComment ? this.props.combination.allowComment : '',\r\n fileTypes: this.props.combination.fileTypes ? this.props.combination.fileTypes : '',\r\n \r\n name: this.props.combination.name ? this.props.combination.name : '',\r\n loading: false,\r\n error: '',\r\n hasError: false,\r\n checkedWidget: this.props.checkedWidget,\r\n checkedEmbedded: this.props.checkedEmbedded,\r\n checkedConfigurator: this.props.checkedConfigurator,\r\n userPermission: this.props.userPermission\r\n }\r\n\r\n /**\r\n * Handles price and description change\r\n * @param e\r\n */\r\n handleChange = e => {\r\n this.setState({\r\n [e.target.name]: e.target.value,\r\n error: '',\r\n hasError: false\r\n })\r\n }\r\n\r\n handleConfiguratorCheckboxChange = () => {\r\n this.setState({\r\n checkedConfigurator: !this.state.checkedConfigurator\r\n })\r\n this.props.handleConfiguratorCheckboxChange(this.props.combination.configurator, this.props.combination.uuid)\r\n }\r\n /**\r\n * Change selected status of widget\r\n */\r\n handleWidgetCheckboxChange = () => {\r\n this.setState({\r\n checkedWidget: !this.state.checkedWidget\r\n })\r\n this.props.handleWidgetCheckboxChange(this.props.combination.widget, this.props.combination.uuid)\r\n }\r\n\r\n /**\r\n * Change selected status of embedded\r\n */\r\n handleEmbeddedCheckboxChange = () => {\r\n this.setState({\r\n checkedEmbedded: !this.state.checkedEmbedded\r\n })\r\n this.props.handleEmbeddedCheckboxChange(this.props.combination.embedded, this.props.combination.uuid)\r\n }\r\n\r\n /**\r\n * Update combination with new price and description\r\n */\r\n updateCombination = () => {\r\n this.setState({\r\n loading: true,\r\n hasError: false,\r\n error: ''\r\n })\r\n\r\n let staticImgMode = document.querySelector('input[name=\"staticImgMode-'+this.props.combination.uuid+'\"]:checked').value;\r\n\r\n let payload = {\r\n id: this.props.combination.uuid,\r\n name: this.state.name,\r\n price: this.state.price,\r\n description: this.state.description,\r\n tag: this.state.tag,\r\n fileTypes: this.state.fileTypes,\r\n staticImgMode: staticImgMode\r\n }\r\n\r\n axios.post('combination/update', payload).then(result => {\r\n if (result.data.success) {\r\n\r\n var files = document.getElementById('staticImg-'+this.props.combination.uuid).files;\r\n if(files.length > 4)\r\n {\r\n this.setState({\r\n loading: false,\r\n hasError: true,\r\n error: 'Please choose only 4 images with prefix: copc, como, ifpc, ifmo'\r\n })\r\n }\r\n\r\n let staticImgNameCheck= true;\r\n for(let i = 0 ; i < files.length ; i ++)\r\n {\r\n console.log(files[i].name);\r\n if(\r\n !files[i].name.includes(\"copc\") &&\r\n !files[i].name.includes(\"como\") &&\r\n !files[i].name.includes(\"ifpc\") &&\r\n !files[i].name.includes(\"ifmo\")\r\n )\r\n {\r\n staticImgNameCheck = false;\r\n break;\r\n }\r\n }\r\n if(!staticImgNameCheck)\r\n {\r\n alert('Please choose only 4 images with prefix: copc, como, ifpc, ifmo');\r\n }\r\n else\r\n {\r\n for(let i = 0 ; i < files.length ; i ++)\r\n {\r\n let data = new FormData()\r\n data.append(\"id\", this.props.combination.uuid)\r\n data.append(\"files\", files[i])\r\n axios.post('combination/update-static-img', data,\r\n {\r\n headers: {'Content-Type': 'multipart/form-data' }\r\n }\r\n ).then(response => {\r\n });\r\n }\r\n }\r\n\r\n\r\n // 1 second for showing the loading\r\n setTimeout(() => {\r\n this.setState({\r\n loading: false,\r\n hasError: false,\r\n error: ''\r\n })\r\n //update state in reducer\r\n this.props.updateCombination(payload, this.props.position)\r\n setTimeout(() => {\r\n this.props.loadCombinations(true)\r\n }, 1000);\r\n }, 1000);\r\n }\r\n }).catch((err, result) => {\r\n this.setState({\r\n loading: false,\r\n hasError: true,\r\n error: err.response.data.error.message\r\n })\r\n })\r\n }\r\n\r\n publicChange = (e) => {\r\n let payload = {\r\n id: this.props.combination.uuid,\r\n status: !this.state.isPublic\r\n };\r\n this.setState({\r\n isPublic: !this.state.isPublic\r\n })\r\n\r\n console.log(payload);\r\n axios.post('combination/update-public', payload).then(result => {\r\n });\r\n }\r\n\r\n staticImgModeChange = (e) => {\r\n let payload = {\r\n id: this.props.combination.uuid,\r\n mode: e.target.value\r\n };\r\n\r\n console.log(payload);\r\n axios.post('combination/update-static-img-mode', payload).then(result => {\r\n });\r\n }\r\n\r\n \r\n\r\n allowCommentChange = (e) => {\r\n let payload = {\r\n id: this.props.combination.uuid,\r\n status: !this.state.allowComment\r\n };\r\n this.setState({\r\n allowComment: !this.state.allowComment\r\n })\r\n\r\n console.log(payload);\r\n axios.post('combination/update-allow-comment', payload).then(result => {\r\n });\r\n }\r\n\r\n render() {\r\n let errorRow = (\r\n \r\n \r\n Failed {this.state.error}\r\n \r\n \r\n )\r\n return(\r\n \r\n \r\n \r\n \r\n

Total Views: {this.props.combination.totalView ?? 0}

\r\n

Size: {\r\n this.props.combination.size ? (this.props.combination.size / 1000000).toFixed(2) + \" MB\" : \"\"\r\n }\r\n

\r\n

Created: {\r\n new Date(this.props.combination.createDate).toLocaleString('en-GB', {year: 'numeric', month: 'numeric', day: 'numeric'})\r\n }\r\n

\r\n

Uuid: {\r\n this.props.combination.uuid\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.publicChange()} />\r\n \r\n \r\n this.allowCommentChange()} />\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.state.loading ?\r\n :\r\n \r\n }\r\n */}\r\n \r\n \r\n {/* */}\r\n {\r\n this.state.userPermission != undefined && this.state.userPermission.isAllowIFrame? \r\n // \r\n // <>\r\n // \r\n // \r\n // \r\n // CadGL - 3D Configurator\r\n //
\r\n // \"\"\r\n //
\r\n //
\r\n // \r\n // \r\n // \r\n // Embedded\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.state.userPermission != undefined && this.state.userPermission.isAllowConfigurator? \r\n // 3D Configurator\r\n \r\n : ''\r\n }\r\n {\r\n this.state.userPermission != undefined && this.state.userPermission.isAllowAnnotation? \r\n \r\n : ''\r\n }\r\n \r\n \r\n View Gallery\r\n \r\n \r\n {window.open(\"https://www.cadgl.com/help/marketplace\", \"_blank\");}} />\r\n \r\n \r\n \r\n \r\n {/* */}\r\n {window.open(\"https://www.cadgl.com/combination-setup\", \"_blank\");}} />\r\n     \r\n \r\n \r\n \r\n {/* {\r\n this.props.combination.presets.split(',').map((preset, i) => {\r\n return {preset}\r\n }) \r\n } */}\r\n \r\n\r\n { this.state.error ? errorRow : '' }\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n updateCombination: updateCombination,\r\n loadCombinations: loadCombinations\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(Combination);","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Button} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport axios from '../../../axios';\r\nimport {\r\n saveCombinationToState,\r\n createTracker\r\n} from \"../../../actions/actionsCreators\";\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\nimport {Link} from \"react-router-dom\";\r\nimport MenuItemTextArea from \"../../Configurator/Sidebar/MenuItems/MenuItemTextArea\";\r\n\r\nclass GetEmbeddedCombinationLinkModal extends Component {\r\n \r\n \r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false,\r\n chosenCombinationId: '',\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n if (!this.props.embedded) {\r\n this.setState({\r\n show: true,\r\n hasError: true,\r\n error: 'Please select combination first !'\r\n })\r\n } else {\r\n this.setState({\r\n show: true,\r\n hasError: false,\r\n error: ''\r\n })\r\n this.loadCombination()\r\n }\r\n }\r\n\r\n /**\r\n * Send request to load combination\r\n */\r\n loadCombination = () => {\r\n this.setState({loading: true})\r\n axios.post('combination/get', {\r\n id: this.props.combinationUuid,\r\n getMaterial: true,\r\n getConfig: true,\r\n getGeometry: true\r\n }).then(response => {\r\n let {data} = response\r\n this.setState({loading: false})\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n this.props.saveCombinationToState(data.data.combination)\r\n this.props.createTracker('embedded', this.props.embedded)\r\n\r\n this.setState({chosenCombinationId: data.data.combination.uuid})\r\n }\r\n\r\n }).catch(err => {\r\n this.setState({\r\n hasError: true,\r\n error: err.message,\r\n loading: false\r\n })\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n View Combination\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n {\r\n this.state.hasError ?\r\n \r\n {this.state.error}\r\n : ''\r\n }\r\n \r\n {\r\n this.state.loading ?\r\n \r\n \r\n \r\n \r\n : ''\r\n }\r\n {\r\n !this.state.loading && !this.state.hasError ?\r\n \r\n \r\n Link generated !\r\n \r\n \r\n View\r\n \r\n \r\n \r\n Use this embedded iframe:\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\nconst mapDispatchToProps = {\r\n saveCombinationToState: saveCombinationToState,\r\n createTracker: createTracker\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n iframe: state.iframe.combination\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(GetEmbeddedCombinationLinkModal)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Button} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport axios from '../../../axios';\r\nimport {\r\n saveCombinationToState,\r\n createTracker\r\n} from \"../../../actions/actionsCreators\";\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\nimport {Link} from \"react-router-dom\";\r\nimport Clipboard from 'react-clipboard.js';\r\n\r\nclass GetWidgetCombinationLinkModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false,\r\n chosenCombinationId: ''\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n if (!this.props.widget) {\r\n this.setState({\r\n show: true,\r\n hasError: true,\r\n error: 'Please select combination first !'\r\n })\r\n } else {\r\n this.setState({\r\n show: true,\r\n hasError: false,\r\n error: ''\r\n })\r\n this.loadCombination()\r\n }\r\n }\r\n\r\n /**\r\n * Send request to load combination\r\n */\r\n loadCombination = () => {\r\n this.setState({loading: true})\r\n axios.post('combination/get', {\r\n id: this.props.combinationUuid,\r\n getMaterial: true,\r\n getConfig: true,\r\n getGeometry: true\r\n }).then(response => {\r\n let {data} = response\r\n this.setState({loading: false})\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n this.props.saveCombinationToState(data.data.combination)\r\n this.props.createTracker('widget', this.props.widget)\r\n\r\n this.setState({chosenCombinationId: data.data.combination.uuid})\r\n \r\n }\r\n\r\n }).catch(err => {\r\n this.setState({\r\n hasError: true,\r\n error: err.message,\r\n loading: false\r\n })\r\n })\r\n }\r\n\r\n createTracker = (type, token) => {\r\n this.props.createTracker(type, token)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n View Annotation\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n {\r\n this.state.hasError ?\r\n \r\n {this.state.error}\r\n : ''\r\n }\r\n \r\n {\r\n this.state.loading ?\r\n \r\n \r\n \r\n \r\n : ''\r\n }\r\n {\r\n !this.state.loading && !this.state.hasError ?\r\n \r\n \r\n Link generated !\r\n \r\n \r\n View\r\n \r\n Copy Link\r\n \r\n \r\n : ''\r\n }\r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n saveCombinationToState: saveCombinationToState,\r\n createTracker: createTracker\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n iframe: state.iframe.combination\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(GetWidgetCombinationLinkModal)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Button} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport axios from '../../../axios';\r\nimport {\r\n saveCombinationToState,\r\n createTracker\r\n} from \"../../../actions/actionsCreators\";\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\nimport MenuItemTextArea from \"../../Configurator/Sidebar/MenuItems/MenuItemTextArea\";\r\nimport {Link} from \"react-router-dom\";\r\n\r\nclass GetConfiguratorCombinationLinkModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false,\r\n chosenCombinationId: ''\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n if (!this.props.configurator) {\r\n this.setState({\r\n show: true,\r\n hasError: true,\r\n error: 'Please select combination first !'\r\n })\r\n } else {\r\n this.setState({\r\n show: true,\r\n hasError: false,\r\n error: ''\r\n })\r\n this.loadCombination()\r\n }\r\n }\r\n\r\n /**\r\n * Send request to load combination\r\n */\r\n loadCombination = () => {\r\n this.setState({loading: true})\r\n axios.post('combination/get', {\r\n id: this.props.combinationUuid,\r\n getMaterial: true,\r\n getConfig: true,\r\n getGeometry: true\r\n }).then(response => {\r\n let {data} = response\r\n this.setState({loading: false})\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n this.props.saveCombinationToState(data.data.combination)\r\n this.props.createTracker('widget', this.props.widget)\r\n\r\n this.setState({chosenCombinationId: data.data.combination.uuid})\r\n \r\n }\r\n\r\n }).catch(err => {\r\n this.setState({\r\n hasError: true,\r\n error: err.message,\r\n loading: false\r\n })\r\n })\r\n }\r\n\r\n createTracker = (type, token) => {\r\n this.props.createTracker(type, token)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n View 3D Configurator\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n {\r\n this.state.hasError ?\r\n \r\n {this.state.error}\r\n : ''\r\n }\r\n \r\n {\r\n this.state.loading ?\r\n \r\n \r\n \r\n \r\n : ''\r\n }\r\n {\r\n !this.state.loading && !this.state.hasError ?\r\n \r\n \r\n Link generated !\r\n \r\n \r\n View\r\n \r\n \r\n Use this embedded iframe:\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\nconst mapDispatchToProps = {\r\n saveCombinationToState: saveCombinationToState,\r\n createTracker: createTracker\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n iframe: state.iframe.combination\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(GetConfiguratorCombinationLinkModal)","import React, {Component} from \"react\";\r\nimport { connect } from 'react-redux';\r\nimport {Table, Col, Row, Spinner} from \"react-bootstrap\";\r\nimport Combination from \"./Combination\";\r\nimport './Combinations.css';\r\nimport './Controls.css';\r\nimport jwt_decode from \"jwt-decode\";\r\nimport axios from '../../../axios';\r\nimport galleryUrl from '../../../galleryUrl';\r\nimport GetEmbeddedCombinationLinkModal from \"./GetEmbeddedCombinationLinkModal\";\r\nimport GetWidgetCombinationLinkModal from \"./GetWidgetCombinationLinkModal\";\r\nimport GetConfiguratorCombinationLinkModal from \"./GetConfiguratorCombinationLinkModal\";\r\n\r\nclass Combinations extends Component {\r\n state = {\r\n embedded: {},\r\n widget: {},\r\n configurator: {},\r\n embeddedUuid: null,\r\n widgetUuid: null,\r\n configuratorUuid: null,\r\n embeddedCombinationUuid: null,\r\n widgetCombinationUuid: null,\r\n configuratorCombinationUuid: null,\r\n userInfo: '',\r\n userPermission: {},\r\n username: '',\r\n }\r\n\r\n /**\r\n * Will set to false all embedded and widgets checkboxes so that we can track which one is checked\r\n */\r\n componentDidMount() {\r\n let token = localStorage.getItem('user');\r\n if(token)\r\n {\r\n console.log(jwt_decode(localStorage.getItem('user')));\r\n this.setState({\r\n loggedIn: true,\r\n userInfo: jwt_decode(localStorage.getItem('user'))\r\n })\r\n axios.get('user/get-user-permission').then(response => {\r\n let {data} = response\r\n if (data.success) {\r\n this.setState({\r\n loggedIn: true,\r\n userPermission: data.data\r\n }) \r\n }\r\n });\r\n }\r\n if (!this.props.combinations.combinationsList.isEmpty) {\r\n let embedded = {}\r\n let widget = {}\r\n\r\n setTimeout(() => {\r\n this.props.combinations.combinationsList.map((combination, i) => {\r\n if(i == 0)\r\n {\r\n \r\n let embeddeds = {...this.state.embedded}\r\n \r\n this.setState({\r\n embedded: {\r\n ...embeddeds,\r\n [embedded]: true\r\n },\r\n embeddedUuid: combination.embedded,\r\n embeddedCombinationUuid: combination.uuid\r\n })\r\n }\r\n \r\n })\r\n\r\n if(this.props.combinations.createdCombination != undefined)\r\n {\r\n let widgets = {...this.state.widget}\r\n \r\n this.setState({\r\n widget: {\r\n ...widgets,\r\n [this.props.combinations.createdCombination.widget]: true\r\n },\r\n widgetUuid: this.props.combinations.createdCombination.widget,\r\n widgetCombinationUuid: this.props.combinations.createdCombination.uuid\r\n })\r\n }\r\n\r\n if(this.props.combinations.createdCombination != undefined)\r\n {\r\n let configurators = {...this.state.configurator}\r\n \r\n this.setState({\r\n configurator: {\r\n ...configurators,\r\n [this.props.combinations.createdCombination.configurator]: true\r\n },\r\n configuratorUuid: this.props.combinations.createdCombination.configurator,\r\n configuratorCombinationUuid: this.props.combinations.createdCombination.uuid\r\n })\r\n }\r\n }, 3000);\r\n\r\n }\r\n }\r\n\r\n handleConfiguratorCheckboxChange = (configurator, combinationUuid) => {\r\n let configurators = {...this.state.configurator}\r\n this.props.combinations.combinationsList.map(combination => {\r\n configurators[combination.configurator] = false\r\n })\r\n\r\n this.setState({\r\n configurator: {\r\n ...configurators,\r\n [configurator]: true\r\n },\r\n configuratorUuid: configurator,\r\n configuratorCombinationUuid: combinationUuid\r\n })\r\n }\r\n /**\r\n * Only one widget can be selected at a time\r\n * @param widget\r\n * @param combinationUuid\r\n */\r\n handleWidgetCheckboxChange = (widget, combinationUuid) => {\r\n let widgets = {...this.state.widget}\r\n this.props.combinations.combinationsList.map(combination => {\r\n widgets[combination.widget] = false\r\n })\r\n\r\n this.setState({\r\n widget: {\r\n ...widgets,\r\n [widget]: true\r\n },\r\n widgetUuid: widget,\r\n widgetCombinationUuid: combinationUuid\r\n })\r\n }\r\n\r\n /**\r\n * Only one embedded can be selected at a time\r\n * @param embedded\r\n * @param combinationUuid\r\n */\r\n handleEmbeddedCheckboxChange = (embedded, combinationUuid) => {\r\n let embeddeds = {...this.state.embedded}\r\n this.props.combinations.combinationsList.map(combination => {\r\n embeddeds[combination.embedded] = false\r\n })\r\n\r\n this.setState({\r\n embedded: {\r\n ...embeddeds,\r\n [embedded]: true\r\n },\r\n embeddedUuid: embedded,\r\n embeddedCombinationUuid: combinationUuid\r\n })\r\n }\r\n openGallery = () => {\r\n window.open(galleryUrl+\"/gallery/\"+this.state.userPermission.username, \"_blank\");\r\n }\r\n\r\n render() {\r\n let combinations = ''\r\n let loading = this.props.combinations.loading\r\n let hasError = this.props.combinations.hasError\r\n\r\n if (!loading && !hasError && !this.props.combinations.combinationsList.isEmpty && this.state.userPermission.username) {\r\n let layers = this.props.combinations.combinationsList[0] ? JSON.parse(this.props.combinations.combinationsList[0].layers) : []\r\n combinations = (\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 layers.map((layer, i) => {\r\n return \r\n })\r\n } */}\r\n \r\n \r\n \r\n {\r\n this.props.combinations.combinationsList.map((combination, i) => {\r\n return \r\n })\r\n }\r\n \r\n
GALLERY / MARKETPLACE
Default ImageName Description Tags PriceProduct UploadPublishCommentsCover ImagesCover ImageViewerAction{layer}
\r\n \r\n \r\n
\r\n {/* {\r\n this.state.userPermission.isAllowIFrame ? \r\n \r\n : ''\r\n } */}\r\n {/* {\r\n this.state.userPermission.isAllowCombination ? \r\n \r\n : ''\r\n } */}\r\n {/* {\r\n this.state.userPermission.isAllowConfigurator ? \r\n \r\n : ''\r\n } */}\r\n {/*
*/}\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n if (loading) {\r\n combinations = (\r\n \r\n \r\n \r\n Loading...\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n if (hasError) {\r\n combinations = (\r\n \r\n \r\n {this.props.combinations.error}\r\n \r\n \r\n )\r\n }\r\n\r\n if (this.props.combinations.combinationsList.isEmpty) {\r\n combinations = (\r\n \r\n \r\n No combinations found !\r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n combinations\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n combinations: state.combinations\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, null)(Combinations);","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Spinner} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport {\r\n addNewCombination,\r\n} from \"../../../actions/actionsCreators\";\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport Combinations from \"./Combinations\";\r\n\r\nclass AddCombinationModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n this.props.closeParentPopup()\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n })\r\n }\r\n\r\n addNewCombination = () => {\r\n this.handleShow()\r\n this.props.addNewCombination()\r\n this.closeParentPopup()\r\n }\r\n\r\n closeParentPopup = () => {\r\n var element = document.getElementById(\"combination-scene-info-alert\");\r\n if(element){\r\n element.parentElement.classList.remove(\"show\");\r\n }\r\n }\r\n\r\n render() {\r\n let combinations = ''\r\n let loading = this.props.combinations.loading\r\n let hasError = this.props.combinations.hasError\r\n\r\n if (!loading && !hasError) {\r\n combinations = \r\n }\r\n\r\n if (loading) {\r\n combinations = (\r\n \r\n \r\n

Be patient while we prepare your scene

\r\n \r\n Loading...\r\n \r\n \r\n
\r\n )\r\n }\r\n\r\n if (hasError) {\r\n combinations = (\r\n \r\n \r\n {this.props.combinations.error}\r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n CadGL - 3D Configurator\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n {combinations}\r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n addNewCombination: addNewCombination\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n combinations: state.combinations\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AddCombinationModal)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Spinner} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport {\r\n sceneInfoAlert,\r\n} from \"../../../actions/actionsCreators\";\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport Combinations from \"./Combinations\";\r\nimport AddCombinationModal from \"./AddCombinationModal\";\r\n\r\nclass AddCombinationSceneInfoAlertModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n })\r\n }\r\n\r\n sceneInfoAlert = () => {\r\n this.handleShow()\r\n this.props.sceneInfoAlert()\r\n }\r\n\r\n renderText = (text) => {\r\n switch(text){\r\n case \"High\":\r\n return (\r\n

{text}

\r\n )\r\n case \"Low\":\r\n return (\r\n

{text}

\r\n )\r\n case \"Medium\":\r\n return (\r\n

{text}

\r\n )\r\n }\r\n }\r\n\r\n renderValue = (text) => {\r\n switch(text){\r\n case \"High\":\r\n return 'red';\r\n case \"Low\":\r\n return 'green';\r\n case \"Medium\":\r\n return 'yellow';\r\n }\r\n }\r\n\r\n renderClass = (text) => {\r\n switch(text){\r\n case \"High\":\r\n return 'scene-info-item scene-info-item-high';\r\n case \"Low\":\r\n return 'scene-info-item scene-info-item-low';\r\n case \"Medium\":\r\n return 'scene-info-item scene-info-item-medium';\r\n }\r\n }\r\n\r\n closeParentPopup = () => {\r\n this.handleClose();\r\n }\r\n\r\n convertToMb = (value, isByteValue) => {\r\n if(isByteValue)\r\n return (value/1000000).toFixed(1);\r\n return value;\r\n }\r\n\r\n render() {\r\n let combinations = ''\r\n let loading = this.props.combinations.loading\r\n let hasError = this.props.combinations.hasError\r\n let infos = this.props.combinations.infos\r\n let sceneInfos = this.props.combinations.sceneInfos\r\n\r\n if (!loading && !hasError && sceneInfos) {\r\n combinations = (\r\n <>\r\n {\r\n sceneInfos.map((sceneInfo, i) => {\r\n return (\r\n = sceneInfo.high ? this.renderClass('High') : \r\n (this.convertToMb(infos[sceneInfo.param], sceneInfo.isByteValue) <= sceneInfo.low ? this.renderClass('Low') : this.renderClass('Medium'))\r\n }\r\n style={{color: 'white', backgroundColor: 'grey', padding: 20, margin: 'auto', borderRadius: 5, marginBottom: 10}}>\r\n \r\n {\r\n this.convertToMb(infos[sceneInfo.param], sceneInfo.isByteValue) >= sceneInfo.high ? this.renderText('High') : \r\n (this.convertToMb(infos[sceneInfo.param], sceneInfo.isByteValue) <= sceneInfo.low ? this.renderText('Low') : this.renderText('Medium'))\r\n }\r\n \r\n \r\n \r\n

{sceneInfo.text}: = sceneInfo.high ? this.renderValue('High') : \r\n (this.convertToMb(infos[sceneInfo.param], sceneInfo.isByteValue) <= sceneInfo.low ? this.renderValue('Low') : this.renderValue('Medium'))\r\n \r\n }}>{sceneInfo.isByteValue ? this.convertToMb(infos[sceneInfo.param], sceneInfo.isByteValue) : infos[sceneInfo.param].toLocaleString()} {sceneInfo.isByteValue ? 'MB' : ''}

\r\n

{sceneInfo.desc}

\r\n

Learn More

\r\n \r\n
\r\n )\r\n })\r\n }\r\n \r\n )\r\n\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n CadGL - Performance Check\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n {combinations}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n sceneInfoAlert: sceneInfoAlert\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n combinations: state.combinations\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AddCombinationSceneInfoAlertModal)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Modal} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport {\r\n deletePresetFolder,\r\n loadCombinations\r\n} from \"../../../actions/actionsCreators\";\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport Combinations from \"./Combinations\";\r\n\r\nclass ShowCombinationsModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n });\r\n this.props.loadCombinations()\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n CadGL - 3D Configurator\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\nconst mapDispatchToProps = {\r\n deletePresetFolder: deletePresetFolder,\r\n loadCombinations: loadCombinations\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(ShowCombinationsModal)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Modal, Form, Button, Tabs, Tab, Accordion, Table, Col, Row} from \"react-bootstrap\";\r\nimport DeleteCombinationsModal from \"./DeleteCombinationsModal\";\r\nimport CloneCombinationModal from \"./CloneCombinationModal\";\r\nimport CombinationsSizeFileDownload from \"./CombinationsSizeFileDownload\";\r\nimport CombinationsSizeName from \"./CombinationsSizeName\";\r\nimport {Link} from \"react-router-dom\";\r\nimport axios from '../../../axios';\r\nimport galleryUrl from '../../../galleryUrl';\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport uploadIcon from '../../../assets/upload.png';\r\nimport MenuItemTextArea from \"../../Configurator/Sidebar/MenuItems/MenuItemTextArea\";\r\nimport Clipboard from 'react-clipboard.js';\r\n\r\nimport {updateCombination, loadCombinations} from '../../../actions/actionsCreators';\r\n\r\nclass UploadFileModal extends Component {\r\n state = {\r\n isShow: false,\r\n file: null,\r\n path: ''\r\n }\r\n\r\n handleChange = e => {\r\n this.setState({\r\n [e.target.name]: e.target.value,\r\n error: '',\r\n hasError: false\r\n })\r\n }\r\n\r\n setShow = () => {\r\n this.setState({\r\n isShow : true\r\n })\r\n }\r\n setHide = () => {\r\n this.setState({\r\n isShow : false\r\n })\r\n }\r\n\r\n chooseUploadFile = (e) => {\r\n const files = Array.from(e.target.files);\r\n this.setState({\r\n file : files[0]\r\n })\r\n }\r\n\r\n upload = () => {\r\n \r\n let data = new FormData();\r\n data.append('label', this.state.file);\r\n data.append('uuid', this.props.uuid);\r\n if(this.props.email){\r\n data.append('email', this.props.email);\r\n }\r\n \r\n axios.post('user/upload-public-file', data\r\n ).then(response => {\r\n let path = response.data.data.path;\r\n this.setState({\r\n path : path\r\n })\r\n });\r\n }\r\n\r\n render() {\r\n return(\r\n \r\n <>\r\n
\r\n
Upload a file
\r\n \r\n \r\n CadGL - 3D Configurator\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 Copy \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\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(UploadFileModal);","export default \"data:image/png;base64,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\"","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Modal, Table, Col, Row, Spinner} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport LoginForm from \"./LoginForm\";\r\nimport {login} from '../../../actions/actionsCreators';\r\nimport axios from '../../../axios';\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\n\r\nimport lang_it from '../../../lang/lang_it.json';\r\nimport lang_en from '../../../lang/lang_en.json';\r\nimport lang_fr from '../../../lang/lang_fr.json';\r\nimport lang_vn from '../../../lang/lang_vn.json';\r\n\r\nlet lang = {};\r\nclass LoginModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false,\r\n email: '',\r\n password: '',\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n });\r\n }\r\n\r\n handleChange = e => {\r\n this.setState({\r\n [e.target.name]: e.target.value,\r\n error: '',\r\n hasError: false\r\n })\r\n }\r\n\r\n componentDidMount() {\r\n //Check browser disable cookie\r\n var cookieEnabled = navigator.cookieEnabled;\r\n if (!cookieEnabled){ \r\n document.cookie = \"testcookie\";\r\n cookieEnabled = document.cookie.indexOf(\"testcookie\")!=-1;\r\n }\r\n \r\n let token = null;\r\n if(cookieEnabled){\r\n token = localStorage.getItem('user');\r\n }\r\n if(!token)\r\n {\r\n this.handleShow();\r\n }\r\n if(localStorage.getItem('lang')){\r\n switch(localStorage.getItem('lang')){\r\n case \"en\":\r\n lang = lang_en;\r\n break;\r\n case \"vn\":\r\n lang = lang_vn;\r\n break;\r\n case \"fr\":\r\n lang = lang_fr;\r\n break;\r\n case \"it\":\r\n lang = lang_it;\r\n break;\r\n }\r\n }else{\r\n lang = lang_en;\r\n }\r\n }\r\n\r\n login = () => {\r\n this.setState({\r\n loading: true,\r\n hasError: false,\r\n error: ''\r\n })\r\n\r\n let payload = {\r\n email: this.state.email,\r\n password: this.state.password,\r\n }\r\n\r\n axios.post('auth/app-login', payload).then(result => {\r\n if (result.data.success) {\r\n // alert('Success');\r\n this.setState({\r\n loading: false,\r\n hasError: false,\r\n error: ''\r\n })\r\n localStorage.setItem('user', JSON.stringify(result.data.data.token));\r\n var today = new Date();\r\n localStorage.setItem('user-active', today.setHours(today.getHours() + 4));\r\n // localStorage.setItem('user-active', today.setMinutes(today.getMinutes() + 2));\r\n document.location.reload();\r\n this.handleClose();\r\n }\r\n }).catch((err, result) => {\r\n alert(err.response.data.error.message);\r\n this.setState({\r\n loading: false,\r\n hasError: true,\r\n error: err.response.data.error.message\r\n })\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n CadGL - 3D Configurator\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 this.state.loading ?\r\n :\r\n \r\n }\r\n
\r\n
\r\n \r\n {lang.create_your_cadgl_account}\r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n login: login,\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(LoginModal)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Table, Col, Row, Spinner, Button, Tabs, Tab, Form} from \"react-bootstrap\";\r\nimport axios from '../../../axios';\r\n\r\nclass CombinationsSizePublic extends Component {\r\n state = {\r\n isPublic: this.props.isPublic ? this.props.isPublic : false,\r\n }\r\n\r\n publicChange = (e) => {\r\n let payload = {\r\n id: this.props.uuid,\r\n status: !this.state.isPublic\r\n };\r\n this.setState({\r\n isPublic: !this.state.isPublic\r\n })\r\n\r\n console.log(payload);\r\n axios.post('combination/update-public', payload).then(result => {\r\n });\r\n }\r\n\r\n\r\n render() {\r\n return(\r\n \r\n \r\n this.publicChange()} />\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(CombinationsSizePublic);","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Table, Col, Row, Spinner, Button, Tabs, Tab, Form} from \"react-bootstrap\";\r\nimport axios from '../../../axios';\r\n\r\nclass CombinationsSizeAllowComment extends Component {\r\n state = {\r\n allowComment: this.props.allowComment ? this.props.allowComment : false,\r\n }\r\n\r\n publicChange = (e) => {\r\n let payload = {\r\n id: this.props.uuid,\r\n status: !this.state.allowComment\r\n };\r\n this.setState({\r\n allowComment: !this.state.allowComment\r\n })\r\n\r\n console.log(payload);\r\n axios.post('combination/update-allow-comment', payload).then(result => {\r\n });\r\n }\r\n\r\n\r\n render() {\r\n return(\r\n \r\n \r\n this.publicChange()} />\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(CombinationsSizeAllowComment);","import React, {Component} from \"react\";\r\nimport { connect } from 'react-redux';\r\nimport {Table, Col, Row, Spinner, Button, Tabs, Tab, Form} from \"react-bootstrap\";\r\nimport Combination from \"./Combination\";\r\nimport CombinationsSizeFileDownload from \"./CombinationsSizeFileDownload\";\r\nimport CombinationsSizeName from \"./CombinationsSizeName\";\r\nimport CombinationsSizePublic from \"./CombinationsSizePublic\";\r\nimport CombinationsSizeAllowComment from \"./CombinationsSizeAllowComment\";\r\nimport './Combinations.css';\r\nimport './Controls.css';\r\nimport {Link} from \"react-router-dom\";\r\nimport axios from '../../../axios';\r\nimport galleryUrl from '../../../galleryUrl';\r\nimport deleteBtn from '../../../assets/delete@2x.png';\r\nimport {FileLoader, Vector2, TextureLoader, DefaultLoadingManager, TriangleFanDrawMode} from \"three\";\r\nimport {\r\n refreshCombinationsSizeAfterDelete,\r\n getCombinationsSize,\r\n getImagesSize,\r\n getTexturesSize,\r\n deletePreset,\r\n getStorageSummary\r\n} from \"../../../actions/actionsCreators\";\r\nimport jwt_decode from \"jwt-decode\";\r\n\r\nclass CombinationsCreations extends Component {\r\n state = {\r\n userInfo: '',\r\n deleting: false,\r\n defaultActiveKey: 'combinations',\r\n limit: 10,\r\n combinations: [],\r\n combinationIds: [],\r\n search: ''\r\n }\r\n\r\n /**\r\n * Will set to false all embedded and widgets checkboxes so that we can track which one is checked\r\n */\r\n componentDidMount() {\r\n \r\n }\r\n\r\n openGallery = () => {\r\n window.open(galleryUrl+\"/gallery/\"+this.props.username, \"_blank\");\r\n }\r\n\r\n updateSearchField = (e) => {\r\n this.setState({search: e.target.value})\r\n }\r\n\r\n searchCombination = (e) => {\r\n this.setState({defaultActiveKey: 'combinations', limit: Number(this.state.limit), combinationIds: []})\r\n this.props.getCombinationsSize(this.props.combinations.combinationsList.length, this.state.limit, this.state.search)\r\n }\r\n\r\n deleteSelected = () => {\r\n this.setState({deleting: true})\r\n axios.post('combination/delete-multiple', {ids: this.state.combinationIds}).then(response => {\r\n this.props.refreshCombinationsSizeAfterDelete();\r\n setTimeout(() => {\r\n this.props.getCombinationsSize(0, 10);\r\n this.setState({deleting: false, combinationIds: []})\r\n }, 1000);\r\n\r\n }).catch(err => {\r\n })\r\n }\r\n\r\n deleteCombination = (uuid) => {\r\n this.setState({deleting: true})\r\n console.log(uuid);\r\n axios.post('combination/delete', {id: uuid}).then(response => {\r\n this.props.refreshCombinationsSizeAfterDelete();\r\n setTimeout(() => {\r\n this.props.getCombinationsSize(0, 10);\r\n this.setState({deleting: false, combinationIds: []})\r\n }, 1000);\r\n\r\n }).catch(err => {\r\n })\r\n }\r\n\r\n deleteImage = (path, type, combinationUuid) => {\r\n this.setState({deleting: true})\r\n axios.post('combination/delete-img', {fileName: path, type: type, id: combinationUuid}).then(response => {\r\n \r\n this.setState({defaultActiveKey: 'images'})\r\n this.props.getImagesSize()\r\n this.setState({deleting: false})\r\n\r\n }).catch(err => {\r\n })\r\n }\r\n\r\n deleteTexture = (presetUuid, presetFolderUuid) => {\r\n this.setState({deleting: true})\r\n axios.post('preset/delete',\r\n {\r\n \"presetFolderId\": presetFolderUuid,\r\n \"presetId\": presetUuid\r\n }).then(response => {\r\n \r\n this.setState({defaultActiveKey: 'textures'})\r\n this.props.getTexturesSize()\r\n this.setState({deleting: false})\r\n\r\n this.props.deletePreset(presetUuid, presetFolderUuid)\r\n }).catch(err => {\r\n })\r\n }\r\n\r\n downloadCombination = (path) => {\r\n this.setState({deleting: true})\r\n new FileLoader().load(path, (response) => {\r\n let link = document.createElement(\"a\");\r\n let blob = new Blob([(response)], {type: 'application/json'});\r\n link.href = URL.createObjectURL(blob);\r\n link.download = \"scene.json\";\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.appendChild(link);\r\n link.click();\r\n body.removeChild(link);\r\n setTimeout(() => {\r\n this.setState({deleting: false})\r\n }, 1000);\r\n })\r\n }\r\n\r\n downloadTexture = (path) => {\r\n this.setState({deleting: true})\r\n new FileLoader().load(path, (response) => {\r\n let link = document.createElement(\"a\");\r\n let blob = new Blob([(response)], {type: 'application/json'});\r\n link.href = URL.createObjectURL(blob);\r\n link.download = \"texture.json\";\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.appendChild(link);\r\n link.click();\r\n body.removeChild(link);\r\n setTimeout(() => {\r\n this.setState({deleting: false})\r\n }, 1000);\r\n })\r\n }\r\n\r\n loadCombinationSize = () => {\r\n this.setState({defaultActiveKey: 'combinations', limit: Number(this.state.limit), combinationIds: []})\r\n this.props.getCombinationsSize(this.props.combinations.combinationsList.length, this.state.limit)\r\n }\r\n\r\n loadImageSize = () => {\r\n this.setState({defaultActiveKey: 'images'})\r\n this.props.getImagesSize()\r\n }\r\n \r\n loadTextureSize = () => {\r\n this.setState({defaultActiveKey: 'textures'})\r\n this.props.getTexturesSize()\r\n }\r\n\r\n loadStorageSummary = () => {\r\n this.setState({defaultActiveKey: 'summary'})\r\n this.props.getStorageSummary()\r\n }\r\n\r\n updateCombinationName = (uuid) => {\r\n // let parent = e.target.parentNode;\r\n console.log(uuid);\r\n console.log(document.getElementById(uuid).value);\r\n }\r\n\r\n chooseCombination = (uuid) => {\r\n let combUUids = this.state.combinationIds;\r\n if(!combUUids.includes(uuid)){\r\n combUUids.push(uuid);\r\n }else{\r\n const index = combUUids.indexOf(uuid);\r\n if (index > -1) {\r\n combUUids.splice(index, 1);\r\n }\r\n }\r\n this.setState({combinationIds: combUUids})\r\n console.log(this.state.combinationIds);\r\n }\r\n \r\n staticImgModeChange = (uuid, mode) => {\r\n let payload = {\r\n id: uuid,\r\n mode: mode\r\n };\r\n\r\n console.log(payload);\r\n axios.post('combination/update-static-img-mode', payload).then(result => {\r\n });\r\n }\r\n\r\n render() {\r\n let combinations = ''\r\n let loading = this.props.combinations.loading\r\n\r\n if (!loading && !this.props.combinations.combinationsList.isEmpty) {\r\n combinations = (\r\n this.setState({defaultActiveKey: k})}\r\n id=\"uncontrolled-tab-example\">\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.props.userPermission != undefined ? \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 this.props.combinations.combinationsList.map((combination, i) => {\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
ThumbnailFile UploadUuidPublishSizeCreated DateDownloadDelete
\r\n this.chooseCombination(combination.uuid)} />\r\n \r\n \r\n

Total Views: {combination.totalView ?? 0}

\r\n

{\r\n combination.uuid\r\n }

\r\n
\r\n \r\n \r\n {\r\n combination.uuid\r\n }\r\n \r\n \r\n \r\n {\r\n (combination.size / 1000000).toFixed(2) + \" MB\"\r\n }\r\n \r\n {\r\n combination.createdDate\r\n }\r\n \r\n this.downloadCombination(combination.path)} style={{cursor: 'pointer', padding: 6}}>Download\r\n \r\n \r\n { if (window.confirm('Are you sure you wish to delete this Combination?')) this.deleteCombination(combination.uuid) }\r\n } \r\n />\r\n {/* */}\r\n
\r\n \r\n
\r\n Total Size: \r\n \r\n {\r\n (this.props.combinations.totalSize / 1000000).toFixed(2) + \" MB out of \" + this.props.combinations.storage + \" MB\"\r\n }\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n if (this.state.deleting || loading) {\r\n combinations = (\r\n \r\n \r\n \r\n Loading...\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n\r\n if (this.props.combinations.combinationsList.isEmpty) {\r\n combinations = (\r\n \r\n \r\n No combinations found !\r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n combinations\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n console.log(state.combinations);\r\n return {\r\n combinations: state.combinations,\r\n }\r\n}\r\nconst mapDispatchToProps = {\r\n getCombinationsSize: getCombinationsSize,\r\n getImagesSize: getImagesSize,\r\n getTexturesSize: getTexturesSize,\r\n deletePreset: deletePreset,\r\n refreshCombinationsSizeAfterDelete: refreshCombinationsSizeAfterDelete,\r\n getStorageSummary\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CombinationsCreations);","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Modal, Form, Button, Tabs, Tab, Accordion, Table, Col, Row} from \"react-bootstrap\";\r\nimport DeleteCombinationsModal from \"./DeleteCombinationsModal\";\r\nimport CloneCombinationModal from \"./CloneCombinationModal\";\r\nimport CombinationsSizeFileDownload from \"./CombinationsSizeFileDownload\";\r\nimport CombinationsSizeName from \"./CombinationsSizeName\";\r\nimport {Link} from \"react-router-dom\";\r\nimport axios from '../../../axios';\r\nimport galleryUrl from '../../../galleryUrl';\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport helpIcon from '../../../assets/help_icon.png';\r\nimport MenuItemTextArea from \"../../Configurator/Sidebar/MenuItems/MenuItemTextArea\";\r\n\r\nimport {updateCombination, loadCombinations} from '../../../actions/actionsCreators';\r\n\r\nclass PplDescriptionModal extends Component {\r\n state = {\r\n isShow: false\r\n }\r\n\r\n handleChange = e => {\r\n this.setState({\r\n [e.target.name]: e.target.value,\r\n error: '',\r\n hasError: false\r\n })\r\n }\r\n\r\n setShow = () => {\r\n this.setState({\r\n isShow : true\r\n })\r\n }\r\n setHide = () => {\r\n this.setState({\r\n isShow : false\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 CadGL - 3D Configurator\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n \r\n

Pay Per Link

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

Show your product in an unbranded viewer for a limited period of time.

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

Pay for 1 month:

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

{this.props.ppl.priceOneMonth} USD

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

Pay for 3 months:

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

{this.props.ppl.priceThreeMonth} USD

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

Pay for 6 months:

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

{this.props.ppl.priceSixMonth} USD

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

Pay for 1 year:

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

{this.props.ppl.priceOneYear} USD

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

Limited File Size:

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

{this.props.ppl.limitedFileSize} MB

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

Clicks Qty:

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

{this.props.ppl.clickViewPerMonth.toLocaleString()}

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

You can purchase extra clicks if needed.

\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(PplDescriptionModal);","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Button} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport axios from '../../../axios';\r\nimport {\r\n deleteCombination,\r\n} from \"../../../actions/actionsCreators\";\r\nimport deleteBtn from '../../../assets/delete@2x.png';\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\nimport helpIcon from '../../../assets/help_icon.png';\r\n\r\nclass CombinationVideoHelpModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n // this.setState({\r\n // show: true\r\n // })\r\n \r\n window.open(\"https://www.cadgl.com/combination-setup\", \"_blank\");\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 \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(CombinationVideoHelpModal)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Modal, Form, Button, Tabs, Tab, Accordion, Table, Col, Row} from \"react-bootstrap\";\r\nimport DeleteCombinationsModal from \"./DeleteCombinationsModal\";\r\nimport CloneCombinationModal from \"./CloneCombinationModal\";\r\nimport CombinationsSizeFileDownload from \"./CombinationsSizeFileDownload\";\r\nimport CombinationsSizeName from \"./CombinationsSizeName\";\r\nimport {Link} from \"react-router-dom\";\r\nimport axios from '../../../axios';\r\nimport galleryUrl from '../../../galleryUrl';\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport MenuItemTextArea from \"../Sidebar/MenuItems/MenuItemTextArea\";\r\n\r\nimport {updateCombination, loadCombinations,getCombinationsSize,\r\n refreshCombinationsSizeAfterDelete} from '../../../actions/actionsCreators';\r\nimport PaypalExpressBtn from 'react-paypal-express-checkout';\r\n\r\nclass PplModal extends Component {\r\n state = {\r\n isShow: false,\r\n \r\n client:{\r\n production: 'AV-_MrT_x8R02HiancqNIR2s1_rYxh16IJyOZ0JKmqG-JNHSHCckbuWn8GRqBq7lMGTrKXkbMafVJybT',\r\n sandbox: 'AdHa-dLFk6Vr9AmMrAJlZAykF0hKIpnxPlms_0o8Drlw5GCGs-_c6E3OSI7XG7V0KCB3v1UzqZx9Wf5K'\r\n },\r\n \r\n chosenPpl:{\r\n period: 1,\r\n text: 'Pay For 1 Month'\r\n },\r\n\r\n style:{\r\n color: \"gold\",\r\n shape: \"rect\",\r\n layout: \"vertical\"\r\n }\r\n }\r\n\r\n handleChange = e => {\r\n this.setState({\r\n [e.target.name]: e.target.value,\r\n error: '',\r\n hasError: false\r\n })\r\n }\r\n\r\n setShow = () => {\r\n this.setState({\r\n isShow : true\r\n })\r\n }\r\n setHide = () => {\r\n this.setState({\r\n isShow : false\r\n })\r\n }\r\n \r\n onError = (err) => {\r\n // The main Paypal's script cannot be loaded or somethings block the loading of that script!\r\n alert(\"Error!\", err);\r\n // Because the Paypal's main script is loaded asynchronously from \"https://www.paypalobjects.com/api/checkout.js\"\r\n // => sometimes it may take about 0.5 second for everything to get set, or for the button to appear\r\n }\r\n onSuccess = (payment) => {\r\n // Congratulation, it came here means everything's fine!\r\n console.log(payment);\r\n axios.post('combination/create-ppl-combination', {\r\n uuid: this.props.uuid, period: this.state.chosenPpl.period\r\n , price: this.state.chosenPpl.period == 1 ? this.props.ppl?.priceOneMonth\r\n :\r\n (\r\n this.state.chosenPpl.period == 3 ? this.props.ppl?.priceThreeMonth : \r\n (\r\n this.state.chosenPpl.period == 6 ? this.props.ppl?.priceSixMonth : \r\n this.props.ppl?.priceOneYear\r\n )\r\n )\r\n , paymentID: payment.paymentID\r\n }).then(response => {\r\n this.props.getCombinationsSize(0, 10);\r\n }).catch(err => {\r\n })\r\n // You can bind the \"payment\" object's value to your state or props or whatever here, please see below for sample returned data\r\n }\r\n\r\n pplChange = (value) => {\r\n switch(value.target.value){\r\n case \"1\":\r\n this.setState({chosenPpl: {\r\n period: 1,\r\n text: 'Pay For 1 Month'\r\n }})\r\n break;\r\n case \"3\":\r\n this.setState({chosenPpl: {\r\n period: 3,\r\n text: 'Pay For 3 Months'\r\n }})\r\n break;\r\n case \"6\":\r\n this.setState({chosenPpl: {\r\n period: 6,\r\n text: 'Pay For 6 Months'\r\n }})\r\n break;\r\n case \"12\":\r\n this.setState({chosenPpl: {\r\n period: 12,\r\n text: 'Pay For 1 Year'\r\n }})\r\n break;\r\n\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 CadGL - 3D Configurator\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\nconst mapDispatchToProps = {\r\n refreshCombinationsSizeAfterDelete: refreshCombinationsSizeAfterDelete,\r\n getCombinationsSize: getCombinationsSize\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(PplModal);","import React, {Component} from \"react\";\r\nimport { connect } from 'react-redux';\r\nimport {Table, Col, Row, Spinner, Button, Tabs, Tab, Form, Select, Option} from \"react-bootstrap\";\r\nimport Combination from \"./Combination\";\r\nimport PplDescriptionModal from \"./PplDescriptionModal\";\r\nimport CombinationsSizeFileDownload from \"./CombinationsSizeFileDownload\";\r\nimport CombinationsSizeName from \"./CombinationsSizeName\";\r\nimport CombinationsSizePublic from \"./CombinationsSizePublic\";\r\nimport CombinationsSizeAllowComment from \"./CombinationsSizeAllowComment\";\r\nimport CombinationVideoHelpModal from \"./CombinationVideoHelpModal\";\r\nimport './Combinations.css';\r\nimport './Controls.css';\r\nimport {Link} from \"react-router-dom\";\r\nimport axios from '../../../axios';\r\nimport galleryUrl from '../../../galleryUrl';\r\nimport deleteBtn from '../../../assets/delete@2x.png';\r\nimport helpIcon from '../../../assets/help_icon.png';\r\nimport {FileLoader, Vector2, TextureLoader, DefaultLoadingManager, TriangleFanDrawMode} from \"three\";\r\nimport {\r\n refreshCombinationsSizeAfterDelete,\r\n getCombinationsSize,\r\n getImagesSize,\r\n getTexturesSize,\r\n getPublicUploadedFilesSize,\r\n deletePreset,\r\n getStorageSummary\r\n} from \"../../../actions/actionsCreators\";\r\nimport CombinationModal from \"./CombinationModal\";\r\nimport PplModal from \"./PplModal\";\r\nimport jwt_decode from \"jwt-decode\";\r\n\r\nclass CombinationsSize extends Component {\r\n state = {\r\n userInfo: '',\r\n deleting: false,\r\n defaultActiveKey: 'combinations',\r\n limit: 10,\r\n skip: 10,\r\n combinations: [],\r\n combinationIds: [],\r\n search: '',\r\n ppl: null,\r\n lastRecord: ''\r\n }\r\n\r\n /**\r\n * Will set to false all embedded and widgets checkboxes so that we can track which one is checked\r\n */\r\n componentDidMount() {\r\n this.props.getCombinationsSize(this.props.combinations.combinationsList.length, this.state.limit);\r\n \r\n axios.get('ppl/get-ppl').then(response => {\r\n this.setState({ppl: response.data.data.ppl})\r\n }).catch(err => {\r\n })\r\n }\r\n\r\n openGallery = () => {\r\n window.open(galleryUrl+\"/gallery/\"+this.props.username, \"_blank\");\r\n }\r\n\r\n updateSearchField = (e) => {\r\n this.setState({search: e.target.value})\r\n }\r\n\r\n searchCombination = (e) => {\r\n this.setState({defaultActiveKey: 'combinations', limit: Number(this.state.limit), combinationIds: []})\r\n this.props.getCombinationsSize(this.props.combinations.combinationsList.length, this.state.limit, this.state.search)\r\n }\r\n\r\n deleteSelected = () => {\r\n this.setState({deleting: true})\r\n axios.post('combination/delete-multiple', {ids: this.state.combinationIds}).then(response => {\r\n this.props.refreshCombinationsSizeAfterDelete();\r\n setTimeout(() => {\r\n this.props.getCombinationsSize(0, 10);\r\n this.setState({deleting: false, combinationIds: []})\r\n }, 1000);\r\n\r\n }).catch(err => {\r\n })\r\n }\r\n\r\n deleteCombination = (uuid) => {\r\n this.setState({deleting: true})\r\n console.log(uuid);\r\n axios.post('combination/delete', {id: uuid}).then(response => {\r\n this.props.refreshCombinationsSizeAfterDelete();\r\n setTimeout(() => {\r\n this.props.getCombinationsSize(0, 10);\r\n this.setState({deleting: false, combinationIds: []})\r\n }, 1000);\r\n\r\n }).catch(err => {\r\n })\r\n }\r\n\r\n deleteImage = (path, type, combinationUuid) => {\r\n this.setState({deleting: true})\r\n axios.post('combination/delete-img', {fileName: path, type: type, id: combinationUuid}).then(response => {\r\n \r\n this.setState({defaultActiveKey: 'images'})\r\n this.props.getImagesSize()\r\n this.setState({deleting: false})\r\n\r\n }).catch(err => {\r\n })\r\n }\r\n\r\n deletePublicUploadedFiles = (path) => {\r\n this.setState({deleting: true})\r\n axios.post('user/delete-public-uploaded-file', {fileName: path}).then(response => {\r\n \r\n this.setState({defaultActiveKey: 'publicUploadedFiles'})\r\n this.props.getPublicUploadedFilesSize()\r\n this.setState({deleting: false})\r\n\r\n }).catch(err => {\r\n })\r\n }\r\n\r\n deleteTexture = (presetUuid, presetFolderUuid) => {\r\n this.setState({deleting: true})\r\n axios.post('preset/delete',\r\n {\r\n \"presetFolderId\": presetFolderUuid,\r\n \"presetId\": presetUuid\r\n }).then(response => {\r\n \r\n this.setState({defaultActiveKey: 'textures'})\r\n this.props.getTexturesSize()\r\n this.setState({deleting: false})\r\n\r\n this.props.deletePreset(presetUuid, presetFolderUuid)\r\n }).catch(err => {\r\n })\r\n }\r\n\r\n downloadCombination = (path) => {\r\n this.setState({deleting: true})\r\n new FileLoader().load(path, (response) => {\r\n let link = document.createElement(\"a\");\r\n let blob = new Blob([(response)], {type: 'application/json'});\r\n link.href = URL.createObjectURL(blob);\r\n link.download = \"scene.json\";\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.appendChild(link);\r\n link.click();\r\n body.removeChild(link);\r\n setTimeout(() => {\r\n this.setState({deleting: false})\r\n }, 1000);\r\n })\r\n }\r\n\r\n downloadTexture = (path) => {\r\n this.setState({deleting: true})\r\n new FileLoader().load(path, (response) => {\r\n let link = document.createElement(\"a\");\r\n let blob = new Blob([(response)], {type: 'application/json'});\r\n link.href = URL.createObjectURL(blob);\r\n link.download = \"texture.json\";\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.appendChild(link);\r\n link.click();\r\n body.removeChild(link);\r\n setTimeout(() => {\r\n this.setState({deleting: false})\r\n }, 1000);\r\n })\r\n }\r\n\r\n downloadFile = (path) => {\r\n this.setState({deleting: true})\r\n new FileLoader().load(path, (response) => {\r\n let link = document.createElement(\"a\");\r\n let blob = new Blob([(response)], {type: 'application/json'});\r\n link.href = URL.createObjectURL(blob);\r\n link.download = \"file.json\";\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.appendChild(link);\r\n link.click();\r\n body.removeChild(link);\r\n setTimeout(() => {\r\n this.setState({deleting: false})\r\n }, 1000);\r\n })\r\n }\r\n\r\n loadCombinationSize = () => {\r\n let skip = 0;//this.state.skip + this.state.limit;\r\n console.log(\"skip\", skip);\r\n this.setState({defaultActiveKey: 'combinations', limit: Number(this.state.limit), combinationIds: [], skip: Number(skip)})\r\n this.props.getCombinationsSize(skip, this.state.limit)\r\n \r\n }\r\n\r\n loadImageSize = () => {\r\n this.setState({defaultActiveKey: 'images'})\r\n this.props.getImagesSize()\r\n }\r\n \r\n loadTextureSize = () => {\r\n this.setState({defaultActiveKey: 'textures'})\r\n this.props.getTexturesSize()\r\n }\r\n \r\n loadPublicUploadedFiles = () => {\r\n this.setState({defaultActiveKey: 'publicUploadedFiles'})\r\n this.props.getPublicUploadedFilesSize()\r\n }\r\n\r\n loadStorageSummary = () => {\r\n this.setState({defaultActiveKey: 'summary'})\r\n this.props.getStorageSummary()\r\n }\r\n\r\n updateCombinationName = (uuid) => {\r\n // let parent = e.target.parentNode;\r\n console.log(uuid);\r\n console.log(document.getElementById(uuid).value);\r\n }\r\n\r\n chooseCombination = (uuid) => {\r\n let combUUids = this.state.combinationIds;\r\n if(!combUUids.includes(uuid)){\r\n combUUids.push(uuid);\r\n }else{\r\n const index = combUUids.indexOf(uuid);\r\n if (index > -1) {\r\n combUUids.splice(index, 1);\r\n }\r\n }\r\n this.setState({combinationIds: combUUids})\r\n console.log(this.state.combinationIds);\r\n }\r\n \r\n staticImgModeChange = (uuid, mode) => {\r\n let payload = {\r\n id: uuid,\r\n mode: mode\r\n };\r\n\r\n console.log(payload);\r\n axios.post('combination/update-static-img-mode', payload).then(result => {\r\n });\r\n }\r\n\r\n \r\n\r\n render() {\r\n let combinations = ''\r\n let loading = this.props.combinations.loading\r\n\r\n if (!loading && !this.props.combinations.combinationsList.isEmpty) {\r\n combinations = (\r\n this.setState({defaultActiveKey: k})}\r\n id=\"uncontrolled-tab-example\">\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.props.userPermission != undefined ? \r\n \r\n {/*
*/}\r\n \r\n \r\n \r\n : ''\r\n }\r\n \r\n
{\r\n if (e.key === \"Enter\") {\r\n e.preventDefault();\r\n this.searchCombination();\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 {this.state.ppl ? : ''}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.props.combinations.combinationsList.map((combination, i) => {\r\n return \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n View Gallery\r\n \r\n \r\n {window.open(\"https://www.cadgl.com/help/marketplace\", \"_blank\");}} />\r\n \r\n \r\n \r\n {\r\n this.state.ppl ? \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
GALLERY / MARKETPLACE
SelectThumbnailUuidName Description Tags PriceProduct UploadPublishCommentsCover ImageViewerPay Per LinkDownloadDelete
\r\n this.chooseCombination(combination.uuid)} />\r\n \r\n \r\n

Total Views: {combination.totalView ?? 0}

\r\n

Size: {\r\n combination.size ? (combination.size / 1000000).toFixed(2) + \" MB\" : \"\"\r\n }\r\n

\r\n

Created: {\r\n new Date(combination.createdDate).toLocaleString('en-GB', {year: 'numeric', month: 'numeric', day: 'numeric'})\r\n }\r\n

\r\n

Uuid: {\r\n combination.uuid\r\n }

\r\n
\r\n {\r\n combination.uuid\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.staticImgModeChange(combination.uuid, 'default')} value={'default'} defaultChecked={combination.staticImgMode == 'default'} name={\"staticImgMode-\"+combination.uuid} type=\"radio\" />\r\n \r\n
\r\n {/* \r\n */}\r\n this.staticImgModeChange(combination.uuid, 'none')} value={'none'} defaultChecked={combination.staticImgMode == 'none'} name={\"staticImgMode-\"+combination.uuid} type=\"radio\" />\r\n \r\n
\r\n {/* Annotations */}\r\n {\r\n this.props.userPermission != undefined && this.props.userPermission.isAllowIFrame? \r\n // Embedded\r\n \r\n : ''\r\n }\r\n {\r\n this.props.userPermission != undefined && this.props.userPermission.isAllowConfigurator? \r\n // 3D Configurator\r\n \r\n : ''\r\n }\r\n {\r\n this.props.userPermission != undefined && this.props.userPermission.isAllowAnnotation? \r\n \r\n : ''\r\n }\r\n \r\n
\r\n {\r\n combination.size / 1000000 < this.state.ppl?.limitedFileSize \r\n ?\r\n combination.pplExpired ?\r\n <>\r\n
Expired Date: {\r\n new Date(combination.pplExpired).toLocaleString('en-GB', {\r\n year: 'numeric', month: 'numeric', day: 'numeric', \r\n hour: 'numeric', minute: 'numeric', second: 'numeric'\r\n })\r\n }
\r\n
Views countdown: {combination.pplViewClickCountdown}
\r\n \r\n :\r\n <>\r\n \r\n \r\n \r\n : 'File size exceed'\r\n }\r\n
\r\n this.downloadCombination(combination.path)} style={{cursor: 'pointer', padding: 6}}>Download\r\n \r\n {/* */}\r\n {window.open(\"https://www.cadgl.com/combination-setup\", \"_blank\");}} />\r\n \r\n { if (window.confirm('Are you sure you wish to delete this Combination?')) this.deleteCombination(combination.uuid) }\r\n } \r\n />\r\n {/* */}\r\n
\r\n \r\n
\r\n Total Size: \r\n \r\n {\r\n (this.props.combinations.totalSize / 1000000).toFixed(2) + \" MB out of \" + this.props.combinations.storage + \" MB\"\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 this.props.combinations.imageList.map((image, i) => {\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
TypeSizeCombinationViewDelete
\r\n {\r\n image.type\r\n }\r\n \r\n {\r\n (image.size / 1000000).toFixed(2) + \" MB\"\r\n }\r\n \r\n {\r\n image.name\r\n }\r\n \r\n View\r\n \r\n \r\n
\r\n Total Size: \r\n \r\n {\r\n (this.props.combinations.imageTotalSize / 1000000).toFixed(2) + \" MB out of \" + this.props.combinations.storage + \" MB\"\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 this.props.combinations.textureList.map((texture, i) => {\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
NameSizeDownloadDelete
\r\n {\r\n texture.name\r\n }\r\n \r\n {\r\n (texture.size / 1000000).toFixed(2) + \" MB\"\r\n }\r\n \r\n this.downloadTexture(texture.path)} style={{cursor: 'pointer'}}>Download\r\n \r\n \r\n
\r\n Total Size: \r\n \r\n {\r\n (this.props.combinations.textureTotalSize / 1000000).toFixed(2) + \" MB out of \" + this.props.combinations.storage + \" MB\"\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 this.props.combinations.publicUploadedFilesList.map((file, i) => {\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
NameSizeDownloadDelete
\r\n {\r\n file.path\r\n }\r\n \r\n {\r\n (file.size / 1000000).toFixed(2) + \" MB\"\r\n }\r\n \r\n this.downloadFile(file.path)} style={{cursor: 'pointer', margin: 1+'%', width: 80+'%'}}>Download\r\n \r\n \r\n
\r\n Total Size: \r\n \r\n {\r\n (this.props.combinations.publicUploadedFilesTotalSize / 1000000).toFixed(2) + \" MB out of \" + this.props.combinations.storage + \" MB\"\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 Storage Limit:\r\n \r\n \r\n {this.props.combinations.summary.limit}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total Usage: \r\n \r\n \r\n {this.props.combinations.summary.used}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Storage Remaining: \r\n \r\n \r\n {this.props.combinations.summary.remain}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n\r\n if (this.state.deleting || loading) {\r\n combinations = (\r\n \r\n \r\n \r\n Loading...\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n\r\n if (this.props.combinations.combinationsList.isEmpty) {\r\n combinations = (\r\n \r\n \r\n No combinations found !\r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n combinations\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n console.log(state.combinations);\r\n return {\r\n combinations: state.combinations,\r\n }\r\n}\r\nconst mapDispatchToProps = {\r\n getCombinationsSize: getCombinationsSize,\r\n getImagesSize: getImagesSize,\r\n getTexturesSize: getTexturesSize,\r\n getPublicUploadedFilesSize: getPublicUploadedFilesSize,\r\n deletePreset: deletePreset,\r\n refreshCombinationsSizeAfterDelete: refreshCombinationsSizeAfterDelete,\r\n getStorageSummary\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CombinationsSize);","import React, {Component} from \"react\";\r\nimport { connect } from 'react-redux';\r\nimport {Table, Col, Row, Spinner, Button} from \"react-bootstrap\";\r\nimport Combination from \"./Combination\";\r\nimport './Combinations.css';\r\nimport './Controls.css';\r\nimport {Link} from \"react-router-dom\";\r\nimport axios from '../../../axios';\r\nimport {FileLoader, Vector2, TextureLoader, DefaultLoadingManager} from \"three\";\r\nimport {\r\n getActivityInfo\r\n} from \"../../../actions/actionsCreators\";\r\nimport jwt_decode from \"jwt-decode\";\r\n\r\nclass Activity extends Component {\r\n state = {\r\n userInfo: '',\r\n deleting: false\r\n }\r\n\r\n /**\r\n * Will set to false all embedded and widgets checkboxes so that we can track which one is checked\r\n */\r\n componentDidMount() {\r\n \r\n }\r\n\r\n\r\n render() {\r\n let combinations = ''\r\n let loading = this.props.combinations.loading\r\n\r\n if (!loading) {\r\n combinations = (\r\n \r\n \r\n Used: {this.props.combinations.remain} clicks out of {this.props.combinations.default} (will reset on {this.props.combinations.expired})\r\n \r\n \r\n Extra clicks: {this.props.combinations.extra} (don't expire)\r\n \r\n \r\n )\r\n }\r\n\r\n if (loading) {\r\n combinations = (\r\n \r\n \r\n \r\n Loading...\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n\r\n\r\n return (\r\n combinations\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n console.log(state.combinations);\r\n return {\r\n combinations: state.combinations\r\n }\r\n}\r\nconst mapDispatchToProps = {\r\n getActivityInfo: getActivityInfo\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Activity);","import React, {Component} from \"react\";\r\nimport { connect } from 'react-redux';\r\nimport {Table, Col, Row, Spinner, Button} from \"react-bootstrap\";\r\nimport Combination from \"./Combination\";\r\nimport './Combinations.css';\r\nimport './Controls.css';\r\nimport {Link} from \"react-router-dom\";\r\nimport axios from '../../../axios';\r\nimport {FileLoader, Vector2, TextureLoader, DefaultLoadingManager} from \"three\";\r\nimport {\r\n getTransactions\r\n} from \"../../../actions/actionsCreators\";\r\nimport jwt_decode from \"jwt-decode\";\r\n\r\nclass Transactions extends Component {\r\n state = {\r\n userInfo: '',\r\n deleting: false\r\n }\r\n\r\n /**\r\n * Will set to false all embedded and widgets checkboxes so that we can track which one is checked\r\n */\r\n componentDidMount() {\r\n \r\n }\r\n\r\n\r\n render() {\r\n let combinations = ''\r\n let loading = this.props.combinations.loading\r\n\r\n if (!loading) {\r\n combinations = (\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.props.combinations.transactions.map((transaction, i) => {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n })\r\n }\r\n \r\n
Payment IDPriceCombination NameDate
\r\n {\r\n transaction.paymentID\r\n }\r\n \r\n {\r\n transaction.price + '$'\r\n }\r\n \r\n {\r\n transaction.combinationName\r\n }\r\n \r\n {\r\n transaction.transactionDate\r\n }\r\n
\r\n )\r\n }\r\n\r\n if (loading) {\r\n combinations = (\r\n \r\n \r\n \r\n Loading...\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n\r\n\r\n return (\r\n combinations\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n console.log(state.combinations);\r\n return {\r\n combinations: state.combinations\r\n }\r\n}\r\nconst mapDispatchToProps = {\r\n getTransactions: getTransactions\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Transactions);","import React, {Component, } from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport DeleteCombinationsModal from \"./DeleteCombinationsModal\";\r\nimport CloneCombinationModal from \"./CloneCombinationModal\";\r\nimport axios from '../../../axios';\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\nimport {login} from '../../../actions/actionsCreators';\r\nimport {Modal, Form, Button, Tabs, Tab, Accordion} from \"react-bootstrap\";\r\nimport MenuItemInputRange from \"../Sidebar/MenuItems/MenuItemInputRange\";\r\nimport MenuItemColorPicker from \"../Sidebar/MenuItems/MenuItemColorPicker\";\r\n\r\nimport CombinationsCreations from \"./CombinationsCreations\";\r\nimport CombinationsSize from \"./CombinationsSize\";\r\nimport Activity from \"./Activity\";\r\nimport Transactions from \"./Transactions\";\r\n\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport {Table, Col, Row, Spinner} from \"react-bootstrap\";\r\nimport {\r\n getCombinationsSize,\r\n getActivityInfo,\r\n getImagesSize,\r\n getTransactions\r\n} from \"../../../actions/actionsCreators\";\r\n\r\nimport lang_it from '../../../lang/lang_it.json';\r\nimport lang_en from '../../../lang/lang_en.json';\r\nimport lang_fr from '../../../lang/lang_fr.json';\r\nimport lang_vn from '../../../lang/lang_vn.json';\r\nimport galleryUrl from '../../../galleryUrl';\r\nimport jwt_decode from \"jwt-decode\";\r\nlet lang = {};\r\nclass LogoutForm extends Component {\r\n state = {\r\n email: '',\r\n showCreations: false,\r\n show: false,\r\n showActivity: false,\r\n hasError: false,\r\n error: '',\r\n loading: false,\r\n\r\n showChangePassword: false,\r\n password: '',\r\n confirmPassword: '',\r\n submittingChangePassword: false,\r\n passwordError: '',\r\n\r\n showUpdateNotificationSettings: false,\r\n disableViewsClicksNotification: false,\r\n disableStorageNotification: false,\r\n submittingUpdateNotificationSettings: false,\r\n\r\n submittingUpdateProfile: false,\r\n\r\n languageShow: false,\r\n defaultEnvShow: false,\r\n\r\n defaultDiamondEnv: {},\r\n defaultSceneEnv: {},\r\n defaultBackground: {},\r\n defaultBackgroundType: 'file',\r\n\r\n paypalShow: false,\r\n paypal: {\r\n paypalSandboxId: '',\r\n paypalProductionId: ''\r\n },\r\n currency: 'USD',\r\n\r\n profileImage: '',\r\n coverImage: '',\r\n bio: '',\r\n username: '',\r\n uuid: '',\r\n country: '',\r\n city: '',\r\n\r\n defaultAnnotationIconShow: false,\r\n annotationUrl: '',\r\n loadingUrl: '',\r\n swipeUrl: '',\r\n logoUrl: '',\r\n logoStayDuration: '',\r\n logoFadeInDuration: '',\r\n logoFadeOutDuration: '',\r\n logoScale: '',\r\n logoPositionX: '',\r\n logoPositionY: '',\r\n\r\n selectedLogoUrl: '',\r\n selectedLoadingUrl: '',\r\n selectedSwipeUrl: ''\r\n }\r\n\r\n \r\n getRoundedValue = (id) => {\r\n const value = document.getElementById(id).value;\r\n let defaultValue = 0;\r\n switch(id){\r\n case \"logo_duration\":\r\n defaultValue = this.state.logoStayDuration;\r\n break;\r\n case \"logo_fade_in\":\r\n defaultValue = this.state.logoFadeInDuration;\r\n break;\r\n case \"logo_fade_out\":\r\n defaultValue = this.state.logoFadeOutDuration;\r\n break;\r\n case \"logo_scale\":\r\n defaultValue = this.state.logoScale;\r\n break;\r\n case \"logo_position_x\":\r\n defaultValue = this.state.logoPositionX;\r\n break;\r\n case \"logo_position_y\":\r\n defaultValue = this.state.logoPositionY;\r\n break;\r\n }\r\n return value ? Math.round(parseFloat(value) * 10) / 10 : defaultValue;\r\n };\r\n\r\n componentDidMount() {\r\n\r\n axios.get('user/get-user-info').then(response => {\r\n let {data} = response;\r\n if(data.success)\r\n {\r\n let user = data.data;\r\n this.setState({\r\n disableViewsClicksNotification: user.disableViewsClicksNotification\r\n })\r\n this.setState({\r\n disableStorageNotification: user.disableStorageNotification\r\n })\r\n if(user.lang){\r\n localStorage.setItem(\"lang\", user.lang);\r\n }\r\n if(user.defaultSceneEnv){\r\n this.setState({\r\n defaultSceneEnv: user.defaultSceneEnv\r\n })\r\n }else{\r\n this.setState({\r\n defaultSceneEnv: null\r\n })\r\n }\r\n if(user.annotationUrl){\r\n this.setState({\r\n annotationUrl: user.annotationUrl\r\n })\r\n }else{\r\n this.setState({\r\n annotationUrl: null\r\n })\r\n }\r\n if(user.loadingUrl){\r\n this.setState({\r\n loadingUrl: user.loadingUrl\r\n })\r\n }else{\r\n this.setState({\r\n loadingUrl: null\r\n })\r\n }\r\n if(user.swipeUrl){\r\n this.setState({\r\n swipeUrl: user.swipeUrl\r\n })\r\n }else{\r\n this.setState({\r\n swipeUrl: null\r\n })\r\n }\r\n\r\n\r\n\r\n if(user.logoUrl){\r\n this.setState({\r\n logoUrl: user.logoUrl,\r\n logoStayDuration: user.logoStayDuration,\r\n logoFadeInDuration: user.logoFadeInDuration,\r\n logoFadeOutDuration: user.logoFadeOutDuration,\r\n logoScale: user.logoScale,\r\n logoPositionX: user.logoPositionX,\r\n logoPositionY: user.logoPositionY,\r\n })\r\n document.getElementById(\"logo_duration\").value = user.logoStayDuration;\r\n document.getElementById(\"logo_fade_in\").value = user.logoFadeInDuration;\r\n document.getElementById(\"logo_fade_out\").value = user.logoFadeOutDuration;\r\n document.getElementById(\"logo_scale\").value = user.logoScale;\r\n document.getElementById(\"logo_position_x\").value = user.logoPositionX;\r\n document.getElementById(\"logo_position_y\").value = user.logoPositionY;\r\n\r\n }else{\r\n this.setState({\r\n logoUrl: null,\r\n logoStayDuration: null,\r\n logoFadeInDuration: null,\r\n logoFadeOutDuration: null,\r\n logoScale: null,\r\n logoPositionX: null,\r\n logoPositionY: null,\r\n })\r\n document.getElementById(\"logo_duration\").value = 0;\r\n document.getElementById(\"logo_fade_in\").value = 0;\r\n document.getElementById(\"logo_fade_out\").value = 0;\r\n document.getElementById(\"logo_scale\").value = 0;\r\n document.getElementById(\"logo_position_x\").value = 0;\r\n document.getElementById(\"logo_position_y\").value = 0;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n if(user.defaultDiamondEnv){\r\n this.setState({\r\n defaultDiamondEnv: user.defaultDiamondEnv\r\n })\r\n }else{\r\n this.setState({\r\n defaultDiamondEnv: null\r\n })\r\n }\r\n\r\n if(user.defaultBackground){\r\n this.setState({\r\n defaultBackground: user.defaultBackground\r\n })\r\n this.setState({\r\n defaultBackgroundType: user.defaultBackground.type\r\n })\r\n }else{\r\n this.setState({\r\n defaultBackground: null\r\n })\r\n this.setState({\r\n defaultBackgroundType: 'file'\r\n })\r\n }\r\n if(user.currency){\r\n this.setState({\r\n currency: user.currency\r\n })\r\n }else{\r\n this.setState({\r\n currency: 'USD'\r\n })\r\n }\r\n\r\n let paypalProps = {};\r\n if(user.paypalSandboxId){\r\n paypalProps.paypalSandboxId = user.paypalSandboxId;\r\n }\r\n if(user.paypalProductionId){\r\n paypalProps.paypalProductionId = user.paypalProductionId;\r\n }\r\n this.setState({\r\n paypal: paypalProps\r\n })\r\n\r\n \r\n this.setState({\r\n country: user.country\r\n })\r\n this.setState({\r\n city: user.city\r\n })\r\n this.setState({\r\n username: user.username\r\n })\r\n this.setState({\r\n uuid: user.uuid\r\n })\r\n this.setState({\r\n bio: user.bio\r\n })\r\n this.setState({\r\n profileImage: user.profileImage\r\n })\r\n this.setState({\r\n coverImage: user.coverImage\r\n })\r\n\r\n }\r\n });\r\n if(localStorage.getItem('lang')){\r\n switch(localStorage.getItem('lang')){\r\n case \"en\":\r\n lang = lang_en;\r\n break;\r\n case \"vn\":\r\n lang = lang_vn;\r\n break;\r\n case \"fr\":\r\n lang = lang_fr;\r\n break;\r\n case \"it\":\r\n lang = lang_it;\r\n break;\r\n }\r\n }else{\r\n lang = lang_en;\r\n }\r\n }\r\n\r\n /**\r\n * Update combination with new price and description\r\n */\r\n\r\n openGallery = () => {\r\n window.open(galleryUrl+\"/gallery/\"+this.state.username, \"_blank\");\r\n }\r\n\r\n openViewProfile = () => {\r\n axios.get('user/impersonate-gallery').then(response => {\r\n setTimeout(() => {\r\n console.log(response.data.data.uuid);\r\n window.open(galleryUrl + \"?impersonate=\" + response.data.data.uuid);\r\n }, 1000);\r\n\r\n }).catch(err => {\r\n })\r\n // window.open(galleryUrl+\"/gallery/\"+this.state.username, \"_blank\");\r\n }\r\n\r\n logout = () => {\r\n localStorage.removeItem(\"user\");\r\n window.location.href = \"/\";\r\n }\r\n viewCreations = () => {\r\n this.setState({\r\n showCreations: true\r\n });\r\n }\r\n viewStorage = () => {\r\n this.setState({\r\n show: true\r\n });\r\n }\r\n viewActivity = () => {\r\n this.setState({\r\n showActivity: true\r\n });\r\n this.props.getActivityInfo()\r\n }\r\n viewTransaction = () => {\r\n this.setState({\r\n showTransaction: true\r\n });\r\n this.props.getTransactions()\r\n }\r\n \r\n handleCloseCreations = () => {\r\n this.setState({\r\n showCreations: false\r\n })\r\n }\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n handleCloseTransaction = () => {\r\n this.setState({\r\n showTransaction: false\r\n })\r\n }\r\n handleCloseActivity = () => {\r\n this.setState({\r\n showActivity: false\r\n })\r\n }\r\n openChangePassword = () => {\r\n this.setState({\r\n showChangePassword: true\r\n })\r\n }\r\n handleCloseChangePassword = () => {\r\n this.setState({\r\n showChangePassword: false\r\n })\r\n }\r\n\r\n uploadProfileImage = () => {\r\n if(document.getElementById(\"profile_image_file\").files[0] != undefined){\r\n this.setState({\r\n submittingUpdateProfile: true\r\n })\r\n let materialLabelData = new FormData();\r\n materialLabelData.append('label', document.getElementById(\"profile_image_file\").files[0]);\r\n axios.post('preset/upload-material-label-img', materialLabelData\r\n ).then(response => {\r\n let label = response.data.data;\r\n setTimeout(() => {\r\n this.setState({\r\n profileImage: label\r\n })\r\n this.setState({\r\n submittingUpdateProfile: false\r\n })\r\n }, 2000);\r\n });\r\n }\r\n }\r\n\r\n uploadCoverImage = () => {\r\n if(document.getElementById(\"cover_image_file\").files[0] != undefined){\r\n this.setState({\r\n submittingUpdateProfile: true\r\n })\r\n let materialLabelData = new FormData();\r\n materialLabelData.append('label', document.getElementById(\"cover_image_file\").files[0]);\r\n axios.post('preset/upload-material-label-img', materialLabelData\r\n ).then(response => {\r\n let label = response.data.data;\r\n setTimeout(() => {\r\n this.setState({\r\n coverImage: label\r\n })\r\n this.setState({\r\n submittingUpdateProfile: false\r\n })\r\n }, 2000);\r\n });\r\n }\r\n }\r\n\r\n inputBio = (e) => {\r\n this.setState({\r\n bio: e.target.value\r\n })\r\n }\r\n\r\n inputUsername = (e) => {\r\n this.setState({\r\n username: e.target.value\r\n })\r\n }\r\n\r\n inputCountry = (e) => {\r\n this.setState({\r\n country: e.target.value\r\n })\r\n }\r\n\r\n inputCity = (e) => {\r\n this.setState({\r\n city: e.target.value\r\n })\r\n }\r\n\r\n inputAnnotationUrl = (e) => {\r\n this.setState({\r\n annotationUrl: e.target.value\r\n })\r\n }\r\n\r\n inputLoadingUrl = (e) => {\r\n this.setState({\r\n loadingUrl: e.target.value\r\n })\r\n }\r\n\r\n inputLogoUrl = (e) => {\r\n this.setState({\r\n logoUrl: e.target.value\r\n })\r\n }\r\n\r\n handleFileSwipeChange = (event) => {\r\n // Get the selected file\r\n const file = event.target.files[0];\r\n \r\n if (file) {\r\n // Check file size (in bytes)\r\n const maxSize = 1 * 1024 * 1024; // 1MB in bytes\r\n if (file.size > maxSize) {\r\n alert('File size exceeds 1MB limit.');\r\n event.target.value = null; // Clear the file input\r\n return;\r\n }\r\n \r\n // Check file type\r\n const allowedTypes = ['image/gif'];\r\n if (!allowedTypes.includes(file.type)) {\r\n alert('Only GIF files are allowed.');\r\n event.target.value = null; // Clear the file input\r\n return;\r\n }\r\n \r\n // Now you can use the file\r\n // For example, you can upload it or store it in state\r\n }\r\n console.log(\"file: \", file);\r\n // Update state with the selected file\r\n this.setState({\r\n selectedSwipeUrl: file\r\n })\r\n };\r\n\r\n handleFileLoadingChange = (event) => {\r\n // Get the selected file\r\n const file = event.target.files[0];\r\n \r\n if (file) {\r\n // Check file size (in bytes)\r\n const maxSize = 1 * 1024 * 1024; // 1MB in bytes\r\n if (file.size > maxSize) {\r\n alert('File size exceeds 1MB limit.');\r\n event.target.value = null; // Clear the file input\r\n return;\r\n }\r\n \r\n // Check file type\r\n const allowedTypes = ['image/gif'];\r\n if (!allowedTypes.includes(file.type)) {\r\n alert('Only GIF files are allowed.');\r\n event.target.value = null; // Clear the file input\r\n return;\r\n }\r\n \r\n // Now you can use the file\r\n // For example, you can upload it or store it in state\r\n }\r\n console.log(\"file: \", file);\r\n // Update state with the selected file\r\n this.setState({\r\n selectedLoadingUrl: file\r\n })\r\n };\r\n\r\n handleFileLogoChange = (event) => {\r\n // Get the selected file\r\n const file = event.target.files[0];\r\n \r\n if (file) {\r\n // Check file size (in bytes)\r\n const maxSize = 1 * 1024 * 1024; // 1MB in bytes\r\n if (file.size > maxSize) {\r\n alert('File size exceeds 1MB limit.');\r\n event.target.value = null; // Clear the file input\r\n return;\r\n }\r\n \r\n // Check file type\r\n const allowedTypes = ['image/png'];\r\n if (!allowedTypes.includes(file.type)) {\r\n alert('Only PNG files are allowed.');\r\n event.target.value = null; // Clear the file input\r\n return;\r\n }\r\n \r\n // Now you can use the file\r\n // For example, you can upload it or store it in state\r\n }\r\n console.log(\"file: \", file);\r\n // Update state with the selected file\r\n this.setState({\r\n selectedLogoUrl: file\r\n })\r\n };\r\n\r\n \r\n submitUpdateProfile = () => {\r\n this.setState({\r\n submittingUpdateProfile: true\r\n })\r\n \r\n let profileImage = this.state.profileImage;\r\n let coverImage = this.state.coverImage;\r\n \r\n if (profileImage == '' || this.state.bio == '') {\r\n alert('Please update your profile image and bio');\r\n this.setState({\r\n submittingUpdateProfile: false\r\n })\r\n return false;\r\n }\r\n \r\n axios.post('user/update-profile', {\r\n city: this.state.city,\r\n country: this.state.country,\r\n username: this.state.username,\r\n bio: this.state.bio,\r\n profileImage: profileImage,\r\n coverImage: coverImage\r\n }).then(response => {\r\n alert('Update successfully!');\r\n this.setState({\r\n submittingUpdateProfile: false\r\n })\r\n }).catch(error => {\r\n alert(error.response.data.error.message);\r\n this.setState({\r\n submittingUpdateProfile: false\r\n })\r\n });\r\n }\r\n\r\n submitChangePassword = () => {\r\n this.setState({\r\n submittingChangePassword: true\r\n })\r\n if(this.state.password != this.state.confirmPassword)\r\n {\r\n alert('New Password and Password Confirmation is not the same');\r\n this.setState({\r\n submittingChangePassword: false\r\n })\r\n }\r\n else\r\n {\r\n\r\n axios.post('user/changePassword', {\r\n password: this.state.password,\r\n }).then(response => {\r\n alert('Update Password successfully!');\r\n this.setState({\r\n submittingChangePassword: false,\r\n showChangePassword: false\r\n })\r\n });\r\n }\r\n }\r\n \r\n inputNewPassword = e => {\r\n this.setState({\r\n password: e.target.value\r\n })\r\n }\r\n \r\n inputConfirmPassword = e => {\r\n this.setState({\r\n confirmPassword: e.target.value\r\n })\r\n }\r\n\r\n\r\n openUpdateNotificationSettings = () => {\r\n this.setState({\r\n showUpdateNotificationSettings: true\r\n })\r\n }\r\n handleCloseUpdateNotificationSettings = () => {\r\n this.setState({\r\n showUpdateNotificationSettings: false\r\n })\r\n }\r\n submitUpdateNotificationSettings = () => {\r\n this.setState({\r\n submittingUpdateNotificationSettings: true\r\n })\r\n\r\n axios.post('user/update-notification-settings', {\r\n disableViewsClicksNotification: this.state.disableViewsClicksNotification,\r\n disableStorageNotification: this.state.disableStorageNotification,\r\n }).then(response => {\r\n alert('Update successfully!');\r\n this.setState({\r\n submittingUpdateNotificationSettings: false,\r\n showUpdateNotificationSettings: false\r\n })\r\n });\r\n }\r\n \r\n toggleDisableViewsClicksNotification = e => {\r\n this.setState({\r\n disableViewsClicksNotification: !this.state.disableViewsClicksNotification\r\n })\r\n }\r\n \r\n toggleDisableStorageNotification = e => {\r\n this.setState({\r\n disableStorageNotification: !this.state.disableStorageNotification\r\n })\r\n }\r\n\r\n setLanguage = () => {\r\n this.setState({\r\n languageShow : true\r\n })\r\n }\r\n handleLanguageClose = () => {\r\n this.setState({\r\n languageShow : false\r\n })\r\n }\r\n\r\n\r\n setLang(lang){\r\n \r\n axios.post('user/updateLang', {\r\n lang: lang,\r\n }).then(response => {\r\n alert('Update successfully!');\r\n window.location.reload();\r\n });\r\n }\r\n\r\n \r\n setLangEng = e => {\r\n localStorage.setItem(\"lang\", \"en\");\r\n this.setLang(\"en\");\r\n }\r\n\r\n setLangVn = e => {\r\n localStorage.setItem(\"lang\", \"vn\");\r\n this.setLang(\"vn\");\r\n }\r\n\r\n setLangFr = e => {\r\n localStorage.setItem(\"lang\", \"fr\");\r\n this.setLang(\"fr\");\r\n }\r\n\r\n setLangIt = e => {\r\n localStorage.setItem(\"lang\", \"it\");\r\n this.setLang(\"it\");\r\n }\r\n\r\n\r\n setPaypal = () => {\r\n this.setState({\r\n paypalShow : true\r\n })\r\n }\r\n paypalClose = () => {\r\n this.setState({\r\n paypalShow : false\r\n })\r\n }\r\n\r\n savePaypal = () => {\r\n axios.post('user/update-paypal', {\r\n paypalSandboxId: this.state.paypal.paypalSandboxId,\r\n paypalProductionId: this.state.paypal.paypalProductionId,\r\n currency: this.state.currency\r\n }).then(response => {\r\n alert('Update successfully!');\r\n });\r\n }\r\n\r\n setPaypalSandbox = (e) => {\r\n let pp = this.state.paypal;\r\n pp.paypalSandboxId = e.target.value;\r\n this.setState({\r\n paypal : pp\r\n })\r\n }\r\n setPaypalProduction = (e) => {\r\n let pp = this.state.paypal;\r\n pp.paypalProductionId = e.target.value;\r\n this.setState({\r\n paypal : pp\r\n })\r\n }\r\n setPaypalCurrency = (e) => {\r\n this.setState({\r\n currency : e.target.value\r\n })\r\n }\r\n\r\n\r\n \r\n \r\n setDefaultAnnotationIcons = () => {\r\n this.setState({\r\n defaultAnnotationIconShow: true\r\n })\r\n }\r\n handleDefaultAnnotationIconsClose = () => {\r\n this.setState({\r\n defaultAnnotationIconShow: false\r\n })\r\n }\r\n\r\n \r\n setDefaultSwipeIcons = () => {\r\n this.setState({\r\n defaultSwipeIconShow: true\r\n })\r\n }\r\n handleDefaultSwipeIconsClose = () => {\r\n this.setState({\r\n defaultSwipeIconShow: false\r\n })\r\n }\r\n \r\n setDefaultLoadingIcons = () => {\r\n this.setState({\r\n defaultLoadingIconShow: true\r\n })\r\n }\r\n handleDefaultLoadingIconsClose = () => {\r\n this.setState({\r\n defaultLoadingIconShow: false\r\n })\r\n }\r\n\r\n \r\n setDefaultLogoIcons = () => {\r\n this.setState({\r\n defaultLogoIconShow: true\r\n })\r\n }\r\n handleDefaultLogoIconsClose = () => {\r\n this.setState({\r\n defaultLogoIconShow: false\r\n })\r\n }\r\n \r\n setDefaultEnv = () => {\r\n this.setState({\r\n defaultEnvShow: true\r\n })\r\n }\r\n handleDefaultEnvClose = () => {\r\n this.setState({\r\n defaultEnvShow: false\r\n })\r\n }\r\n\r\n triggerDefaultEnvFile = () => {\r\n document.getElementById(\"default_env_file\").click();\r\n }\r\n\r\n triggerDefaultDiamondFile = () => {\r\n document.getElementById(\"default_diamond_file\").click();\r\n }\r\n\r\n triggerDefaultBackground = () => {\r\n document.getElementById(\"default_background_file\").click();\r\n }\r\n\r\n\r\n saveDefaultDiamondEnv = () => {\r\n \r\n if(document.getElementById(\"default_diamond_file\").files[0] != undefined){\r\n let data = new FormData();\r\n data.append('default_diamond_file', document.getElementById(\"default_diamond_file\").files[0]);\r\n axios.post('user/upload-default-diamond-env', data\r\n ).then(response => {\r\n let file = response.data.data;\r\n let payload = {\r\n \"defaultDiamondEnv\":{\r\n \"path\": file\r\n }\r\n };\r\n \r\n axios.post('user/update-default-diamond-env', payload).then(response => {\r\n this.setState({loading: false})\r\n let {data} = response\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n \r\n if (data.success) {\r\n alert(\"Update success!\");\r\n }\r\n })\r\n });\r\n }else{\r\n alert(\"Please choose HDR file\");\r\n }\r\n }\r\n\r\n saveDefaultAnnotationUrl = () => {\r\n let payload = {\r\n \"annotationUrl\": this.state.annotationUrl\r\n };\r\n axios.post('user/update-annotation-url', payload).then(response => {\r\n this.setState({loading: false})\r\n let {data} = response\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n alert(\"Update success!\");\r\n }\r\n })\r\n }\r\n\r\n saveDefaultSwipeUrl = () => {\r\n let payload = {\r\n \"swipeUrl\": this.state.swipeUrl\r\n };\r\n axios.post('user/update-swipe-url', payload).then(response => {\r\n this.setState({loading: false})\r\n let {data} = response\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n alert(\"Update success!\");\r\n }\r\n\r\n this.setState({\r\n defaultSwipeIconShow: false\r\n })\r\n })\r\n }\r\n\r\n saveDefaultLoadingUrl = () => {\r\n let payload = {\r\n \"loadingUrl\": this.state.loadingUrl\r\n };\r\n axios.post('user/update-loading-url', payload).then(response => {\r\n this.setState({loading: false})\r\n let {data} = response\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n alert(\"Update success!\");\r\n }\r\n\r\n this.setState({\r\n defaultLoadingIconShow: false\r\n })\r\n })\r\n }\r\n\r\n saveDefaultLogoUrl = () => {\r\n\r\n let payload = {\r\n \"logoUrl\": this.state.logoUrl,\r\n \"logoStayDuration\": document.getElementById(\"logo_duration\").value,\r\n \"logoFadeInDuration\": document.getElementById(\"logo_fade_in\").value,\r\n \"logoFadeOutDuration\": document.getElementById(\"logo_fade_out\").value,\r\n // \"logoScale\": document.getElementById(\"logo_scale\").value,\r\n \"logoPositionX\": document.getElementById(\"logo_position_x\").value,\r\n \"logoPositionY\": document.getElementById(\"logo_position_y\").value,\r\n };\r\n axios.post('user/update-logo-url', payload).then(response => {\r\n this.setState({loading: false})\r\n let {data} = response\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n alert(\"Update success! Please reload the page.\");\r\n }\r\n \r\n\r\n this.setState({\r\n defaultLogoIconShow: false\r\n })\r\n })\r\n }\r\n\r\n uploadDefaultSwipeUrl = () => {\r\n let formData = new FormData();\r\n formData.append('file', this.state.selectedSwipeUrl);\r\n axios.post('user/upload-swipe', formData, {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n }).then(response => {\r\n this.setState({loading: false})\r\n let {data} = response\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n this.setState({\r\n swipeUrl: data.data\r\n })\r\n alert(\"Upload success!\");\r\n }\r\n })\r\n }\r\n\r\n uploadDefaultLoadingUrl = () => {\r\n let formData = new FormData();\r\n formData.append('file', this.state.selectedLoadingUrl);\r\n axios.post('user/upload-loading', formData, {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n }).then(response => {\r\n this.setState({loading: false})\r\n let {data} = response\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n this.setState({\r\n loadingUrl: data.data\r\n })\r\n alert(\"Upload success!\");\r\n }\r\n })\r\n }\r\n\r\n uploadDefaultLogoUrl = () => {\r\n let formData = new FormData();\r\n formData.append('file', this.state.selectedLogoUrl);\r\n axios.post('user/upload-logo', formData, {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n }).then(response => {\r\n this.setState({loading: false})\r\n let {data} = response\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n this.setState({\r\n logoUrl: data.data\r\n })\r\n alert(\"Upload success!\");\r\n }\r\n })\r\n }\r\n\r\n saveDefaultSceneEnv = () => {\r\n \r\n if(document.getElementById(\"default_env_file\").files[0] != undefined){\r\n let data = new FormData();\r\n data.append('default_env_file', document.getElementById(\"default_env_file\").files[0]);\r\n axios.post('user/upload-default-scene-env', data\r\n ).then(response => {\r\n let file = response.data.data;\r\n let payload = {\r\n \"defaultSceneEnv\":{\r\n \"path\": file,\r\n \"default_env_exposure\": document.getElementById(\"default_env_exposure\").value,\r\n \"default_env_saturation\": document.getElementById(\"default_env_saturation\").value,\r\n \"default_env_rotation\": document.getElementById(\"default_env_rotation\").value,\r\n \"default_env_contrast\": document.getElementById(\"default_env_contrast\").value\r\n }\r\n };\r\n \r\n axios.post('user/update-default-scene-env', payload).then(response => {\r\n this.setState({loading: false})\r\n let {data} = response\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n \r\n if (data.success) {\r\n alert(\"Update success!\");\r\n }\r\n })\r\n });\r\n }else{\r\n alert(\"Please choose HDR file\");\r\n }\r\n }\r\n\r\n saveDefaultBackground = () => {\r\n if(this.state.defaultBackgroundType == \"file\"){\r\n if(document.getElementById(\"default_background_file\").files[0] != undefined){\r\n let data = new FormData();\r\n data.append('default_background_file', document.getElementById(\"default_background_file\").files[0]);\r\n axios.post('user/upload-default-background', data\r\n ).then(response => {\r\n let file = response.data.data;\r\n let payload = {\r\n \"defaultBackground\":{\r\n \"path\": file,\r\n \"color\": document.getElementById(\"colorValue\").value,\r\n \"type\": \"file\",\r\n }\r\n };\r\n \r\n axios.post('user/update-default-background', payload).then(response => {\r\n this.setState({loading: false})\r\n let {data} = response\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n \r\n if (data.success) {\r\n alert(\"Update success!\");\r\n }\r\n })\r\n });\r\n }else{\r\n alert(\"Please choose image file\");\r\n }\r\n }else{\r\n let payload = {\r\n \"defaultBackground\":{\r\n \"color\": document.getElementById(\"colorValue\").value,\r\n \"type\": \"color\",\r\n }\r\n };\r\n \r\n axios.post('user/update-default-background', payload).then(response => {\r\n this.setState({loading: false})\r\n let {data} = response\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n \r\n if (data.success) {\r\n alert(\"Update success!\");\r\n }\r\n })\r\n }\r\n }\r\n\r\n changeDefaultBackgroundType = (value) =>{\r\n console.log(value.target.value);\r\n this.setState({\r\n defaultBackgroundType: value.target.value\r\n })\r\n }\r\n\r\n resetDefaultSetup = (value) =>{\r\n axios.post('user/reset-default-env').then(response => {\r\n alert('Update successfully!');\r\n window.location.reload();\r\n });\r\n }\r\n\r\n render() {\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
Refresh your app to see the change
\r\n \r\n \r\n\r\n \r\n \r\n

{lang.set_default_scene_env}

\r\n \r\n \r\n \r\n \r\n \r\n \r\n Load Environment\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

{lang.set_default_diamond_env}

\r\n \r\n \r\n \r\n \r\n \r\n \r\n Load Environment\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

{lang.set_default_background}

\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 Default Background file\r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n Load Image\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 {/* View Storage */}\r\n \r\n \r\n \r\n \r\n CadGL - 3D Configurator\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n {/* View Activity */}\r\n \r\n \r\n \r\n \r\n CadGL - 3D Configurator\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 {/* Set Default Annotation Icons */}\r\n \r\n \r\n \r\n \r\n \r\n CadGL - 3D Configurator\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
Re-login your app to see the change
\r\n \r\n \r\n\r\n \r\n \r\n

{lang.custom_annotation_icons_url}

\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 this.props.userPermission != undefined && this.props.userPermission.isAllowCustomSwipeIconSetting\r\n ?\r\n <>\r\n {/* Set Default Swipe Icons */}\r\n \r\n \r\n \r\n \r\n \r\n CadGL - 3D Configurator\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n
\r\n

{lang.custom_swipe_icons_url}

\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 this.props.userPermission != undefined && this.props.userPermission.isAllowCustomLoadingSetting\r\n ?\r\n <>\r\n {/* Set Default Loading Icons */}\r\n \r\n \r\n \r\n \r\n \r\n CadGL - 3D Configurator\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n
\r\n

{lang.custom_loading_icons_url}

\r\n

Recommended size 100 x 100px

\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 this.props.userPermission != undefined && this.props.userPermission.isAllowCustomLogoSetting\r\n ?\r\n <>\r\n {/* Set Default Logo Icons */}\r\n \r\n \r\n \r\n \r\n \r\n CadGL - 3D Configurator\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n
\r\n

{lang.custom_logo_icons_url}

\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 {/* Paypal */}\r\n {\r\n this.props.userPermission != undefined && this.props.userPermission.isShowBuyNowButton\r\n ?\r\n \r\n <>\r\n \r\n \r\n \r\n CadGL - 3D Configurator\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n
\r\n

{lang.set_paypal_sandbox}

\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

{lang.set_paypal_production}

\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

{lang.currency}

\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 {/* View Orders */}\r\n \r\n \r\n \r\n \r\n CadGL - 3D Configurator\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n {/* Notification Settings */}\r\n \r\n \r\n \r\n \r\n CadGL - 3D Configurator\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n {lang.disable_views_clicks_notification}\r\n \r\n \r\n \r\n {lang.disable_storage_notification}\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 {/* Reset Password */}\r\n \r\n \r\n \r\n \r\n CadGL - 3D Configurator\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n {/* Bio */}\r\n \r\n Profile Image (recommended size 195x195 px, 400kb)\r\n \r\n \r\n \r\n \r\n \r\n Cover Image (recommended size 1600x150 px, 400kb)\r\n \r\n \r\n \r\n \r\n \r\n Username\r\n \r\n \r\n \r\n Country\r\n \r\n \r\n \r\n City\r\n \r\n \r\n \r\n Bio\r\n \r\n \r\n \r\n {/* Password */}\r\n \r\n New Password\r\n \r\n \r\n \r\n Confirm Password\r\n \r\n \r\n {\r\n this.state.passwordError ?\r\n \r\n {this.state.passwordError}\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 {/* Open Gallery */}\r\n {\r\n this.props.userPermission != undefined && this.props.userPermission.isShowGallery\r\n ?\r\n \r\n : ''\r\n }\r\n\r\n {/* Open View Profile in Gallery */}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {/* Set Lang */}\r\n \r\n \r\n \r\n \r\n \r\n CadGL - 3D Configurator\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
{lang.my_account}
\r\n \r\n
\r\n \r\n\r\n\r\n\r\n {/* Set Env Default */}\r\n \r\n \r\n \r\n \r\n \r\n CadGL - 3D Configurator\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\nconst mapDispatchToProps = {\r\n getCombinationsSize: getCombinationsSize,\r\n getActivityInfo: getActivityInfo,\r\n getImagesSize: getImagesSize,\r\n getTransactions: getTransactions\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(LogoutForm);","import React, {Component} from \"react\";\r\nimport {Col, Row, Form} from \"react-bootstrap\";\r\nimport MenuGroup from \"../MenuItems/MenuGroup\";\r\nimport MenuItemTextBox from \"../MenuItems/MenuItemTextBox\";\r\nimport MenuItemTextBox2 from \"../MenuItems/MenuItemTextBox2\";\r\nimport RichTextEditor from \"../MenuItems/RichTextEditor\";\r\nimport MenuItemButton from \"../MenuItems/MenuItemButton\";\r\nimport MenuItemCheckbox from \"../MenuItems/MenuItemCheckbox\";\r\nimport MenuItemInputRange from \"../MenuItems/MenuItemInputRange\";\r\nimport MenuItemDropdown from \"../MenuItems/MenuItemDropdown\";\r\nimport {downscaleLevels} from \"../../../../helpers/dropDownOptions\";\r\nimport MenuItemColorPicker from \"../MenuItems/MenuItemColorPicker\";\r\nimport AddCombinationModal from \"../../Combinations/AddCombinationModal\";\r\nimport AddCombinationSceneInfoAlertModal from \"../../Combinations/AddCombinationSceneInfoAlertModal\";\r\nimport ShowCombinationsModal from \"../../Combinations/ShowCombinationsModal\";\r\nimport UploadFileModal from \"../../../Configurator/Combinations/UploadFileModal\";\r\nimport LoginModal from \"../../Combinations/LoginModal\";\r\nimport LogoutForm from \"../../Combinations/LogoutForm\";\r\nimport {FileLoader} from \"three\";\r\nimport jwt_decode from \"jwt-decode\";\r\n\r\nimport lang_it from '../../../../lang/lang_it.json';\r\nimport lang_en from '../../../../lang/lang_en.json';\r\nimport lang_fr from '../../../../lang/lang_fr.json';\r\nimport lang_vn from '../../../../lang/lang_vn.json';\r\n\r\nlet lang = {};\r\nclass PostProcessSettings extends Component{\r\n state = {\r\n diamondEnvironment: false,\r\n bevel: false,\r\n ssao: false,\r\n bloom: false,\r\n arSettings: false,\r\n liveFocus: false,\r\n tooltip: null,\r\n loggedIn: false,\r\n userInfo: '',\r\n logo: false,\r\n annotations: false,\r\n taa: false,\r\n ssr: false,\r\n animation: false,\r\n audio: false,\r\n ignoreAnimation: false,\r\n annotationUrl: ''\r\n }\r\n\r\n componentDidMount() {\r\n new FileLoader().load('https://cadgl.net/tooltip_cadgl/tooltip.json', (response) => {\r\n this.setState({\r\n tooltip: JSON.parse(response)\r\n })\r\n });\r\n let token = localStorage.getItem('user');\r\n if(token)\r\n {\r\n console.log(jwt_decode(localStorage.getItem('user')));\r\n this.setState({\r\n loggedIn: true,\r\n userInfo: jwt_decode(localStorage.getItem('user'))\r\n })\r\n }\r\n\r\n \r\n if (window.getComputedStyle(document.getElementById(\"ignoreAnimation\")).display === \"none\") {\r\n this.setState({\r\n ...this.state,\r\n ignoreAnimation: false\r\n })\r\n }else{\r\n this.setState({\r\n ...this.state,\r\n ignoreAnimation: true\r\n })\r\n }\r\n\r\n if(localStorage.getItem('lang')){\r\n switch(localStorage.getItem('lang')){\r\n case \"en\":\r\n lang = lang_en;\r\n break;\r\n case \"vn\":\r\n lang = lang_vn;\r\n break;\r\n case \"fr\":\r\n lang = lang_fr;\r\n break;\r\n case \"it\":\r\n lang = lang_it;\r\n break;\r\n }\r\n }else{\r\n lang = lang_en;\r\n }\r\n\r\n if(document.getElementById(\"annotation_url\").value != ''){\r\n this.setState({\r\n ...this.state,\r\n annotationUrl: document.getElementById(\"annotation_url\").value\r\n })\r\n }\r\n }\r\n\r\n toggleIgnoreAnimation = (value) =>{\r\n document.getElementById(\"ignoreAnimation\").style.display = !this.state.ignoreAnimation ? \"block\" : \"none\";\r\n this.setState({\r\n ...this.state,\r\n ignoreAnimation: !this.state.ignoreAnimation\r\n })\r\n }\r\n\r\n toggleMenuVisibility = (type) => {\r\n let newState = {}\r\n Object.keys({...this.state}).forEach(key => {\r\n if(key != 'tooltipTab' && key != 'tooltip' && key != 'loggedIn' && key != 'userInfo' && key != 'ignoreAnimation' && key != 'annotationUrl')\r\n {\r\n newState = {\r\n ...newState,\r\n [key]: false\r\n }\r\n }\r\n })\r\n\r\n this.setState({\r\n ...newState,\r\n [type]: !this.state[type]\r\n })\r\n \r\n }\r\n\r\n toggleAnnotationUrlChange = (value) => {\r\n this.setState({\r\n ...this.state,\r\n annotationUrl: value.target.value\r\n })\r\n document.getElementById(\"annotation_url\").value = value.target.value;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n\r\n {\r\n (this.props.userPermission != undefined && this.props.userPermission.isShowSharpness) ?\r\n this.toggleMenuVisibility('diamondEnvironment')}\r\n collapsed={this.state.diamondEnvironment ? 1 : 0}>\r\n {\r\n this.state.diamondEnvironment ?\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.props.userPermission != undefined && this.props.userPermission.isShowSSAO) ?\r\n this.toggleMenuVisibility('ssao')}\r\n collapsed={this.state.ssao ? 1 : 0}>\r\n {\r\n this.state.ssao ?\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.props.userPermission != undefined && this.props.userPermission.isShowSSR) ?\r\n this.toggleMenuVisibility('ssr')}\r\n collapsed={this.state.ssr ? 1 : 0}>\r\n {\r\n this.state.ssr ?\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.props.userPermission != undefined && this.props.userPermission.isShowBloom) ?\r\n this.toggleMenuVisibility('bloom')}\r\n collapsed={this.state.bloom ? 1 : 0}>\r\n {\r\n this.state.bloom ?\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.props.userPermission != undefined && this.props.userPermission.isShowLiveFocus) ?\r\n this.toggleMenuVisibility('liveFocus')}\r\n collapsed={this.state.liveFocus ? 1 : 0}>\r\n {\r\n this.state.liveFocus ?\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.props.userPermission != undefined && this.props.userPermission.isAllowAR) ?\r\n this.toggleMenuVisibility('arSettings')}\r\n collapsed={this.state.arSettings ? 1 : 0}>\r\n {\r\n this.state.arSettings ?\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 {console.log(\"this.props.enableAnnotations: \" + this.props.enableAnnotations)}\r\n {\r\n (this.props.userPermission != undefined && this.props.userPermission.isAllowAnnotation) ?\r\n <>\r\n this.toggleMenuVisibility('annotations')}\r\n collapsed={this.state.annotations ? 1 : 0}>\r\n {\r\n this.state.annotations ?\r\n ''\r\n // \r\n // \r\n // {lang.custom_annotation_icons_url}\r\n // \r\n // \r\n // \r\n // \r\n // \r\n\r\n : ''\r\n }\r\n {\r\n this.state.annotations ?\r\n \r\n \r\n : ''\r\n }\r\n {\r\n this.state.annotations && this.props.enableAnnotations && this.props.annotation ?\r\n (\r\n \r\n )\r\n :''\r\n }\r\n {\r\n this.state.annotations && this.props.enableAnnotations && this.props.annotation ?\r\n (\r\n \r\n )\r\n :''\r\n }\r\n {\r\n this.state.annotations && this.props.enableAnnotations && this.props.annotation ?\r\n (\r\n \r\n )\r\n :''\r\n }\r\n {\r\n this.state.annotations && this.props.enableAnnotations && this.props.annotation ?\r\n (\r\n \r\n )\r\n :''\r\n }\r\n {\r\n this.state.annotations && this.props.enableAnnotations && this.props.annotation ?\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.props.userPermission != undefined && this.props.userPermission.isAllowWatermark) ?\r\n this.toggleMenuVisibility('logo')}\r\n collapsed={this.state.logo ? 1 : 0}>\r\n {\r\n this.state.logo ?\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.props.userPermission != undefined && this.props.userPermission.isShowAnimation) ?\r\n this.toggleMenuVisibility('animation')}\r\n collapsed={this.state.animation ? 1 : 0}>\r\n {\r\n this.state.animation ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {lang.ignore_animation}\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.props.userPermission != undefined && this.props.userPermission.isShowAudio) ?\r\n this.toggleMenuVisibility('audio')}\r\n collapsed={this.state.audio ? 1 : 0}>\r\n {\r\n this.state.audio ?\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
{lang.create_your_combinations}
\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\nexport default PostProcessSettings","import {connect} from \"react-redux\";\r\nimport PostProcessSettings from \"../../components/Configurator/Sidebar/PostProcessSettings/PostProcessSettings\";\r\n\r\nconst mapStateToProps = (state) => {\r\n console.log((state.sceneConfig));\r\n return {\r\n api: state.sceneConfig.api,\r\n config: state.sceneConfig.config,\r\n geometry: state.sceneConfig.geometry,\r\n materials: state.sceneConfig.materials,\r\n arSettings: state.sceneConfig.arSettings,\r\n annotation: state.sceneConfig.annotation,\r\n enableAnnotations: state.sceneConfig.enableAnnotations,\r\n userPermission: state.user.userPermission,\r\n sharpnessStatus: state.sceneConfig.sharpnessStatus\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, null)(PostProcessSettings)","import React, {createRef} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row} from \"react-bootstrap\";\r\nimport Dropzone from \"react-dropzone\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n exportSceneGltf,\r\n changeSceneView,\r\n downloadScene,\r\n downloadGltf,\r\n snapCanvas,\r\n changeCameraTargetSetting,\r\n changeCameraSetting,\r\n changeStraightenModelRotateSetting,\r\n resetStraightenModel,\r\n viewReflection,\r\n downloadReflection,\r\n loadReflection,\r\n clearAll,\r\n removeBackground,\r\n makeDiamond,\r\n makeStandard,\r\n makeRefraction,\r\n downloadMaterial,\r\n uploadMapFile,\r\n uploadScene,\r\n uploadEquirec,\r\n uploadCubeMap,\r\n uploadEnvironment,\r\n uploadMaterial,\r\n selectMeshes,\r\n downloadMaterials,\r\n loadMaterials,\r\n backgroundLoadImage,\r\n uploadFiles, takeScreenshot,\r\n loadCombinations,\r\n openMapFile,\r\n downloadMapFile,\r\n removeMapFile,\r\n removeAnnotation,\r\n\r\n loadDefaultSceneEnv,\r\n loadDefaultDiamondEnv,\r\n\r\n toggleAnimationPlay,\r\n toggleAnimationStop,\r\n\r\n addAmbient,\r\n toggleAudioPlay,\r\n toggleAudioStop,\r\n removeAudio,\r\n\r\n addAudio,\r\n removeAudioMaterial\r\n\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nfunction DiamondEnvLoadButton(props) {\r\n /**\r\n * Filter all button types and fire its specific action\r\n */\r\n\r\n\r\n\r\n const dispatchAction = (type, value, obj) => {\r\n props.envClick(value);\r\n switch (type) {\r\n case \"exportSceneGltf\":\r\n props.exportSceneGltf()\r\n break;\r\n case \"removeAudioMaterial\":\r\n props.removeAudioMaterial(obj)\r\n break;\r\n\r\n case \"removeAudio\":\r\n props.removeAudio()\r\n break;\r\n\r\n case \"addAudio\":\r\n props.addAudio(value)\r\n break;\r\n\r\n case 'toggleAudioPlay':\r\n props.toggleAudioPlay()\r\n break;\r\n case 'toggleAudioStop':\r\n props.toggleAudioStop()\r\n break;\r\n\r\n case \"addAmbient\":\r\n props.addAmbient()\r\n break;\r\n\r\n case 'toggleAnimationPlay':\r\n props.toggleAnimationPlay()\r\n break;\r\n case 'toggleAnimationStop':\r\n props.toggleAnimationStop()\r\n break;\r\n\r\n case 'loadDefaultSceneEnv':\r\n props.loadDefaultSceneEnv(value)\r\n break;\r\n case 'loadDefaultDiamondEnv':\r\n props.loadDefaultDiamondEnv(value)\r\n break;\r\n case 'sceneView':\r\n props.changeSceneView(value)\r\n break;\r\n case 'downloadScene':\r\n props.downloadScene()\r\n break;\r\n case 'downloadGltf':\r\n props.downloadGltf()\r\n break;\r\n case 'snapCanvas':\r\n props.snapCanvas()\r\n break;\r\n case 'resetCameraTarget':\r\n props.changeCameraTargetSetting()\r\n break;\r\n case 'resetCamera':\r\n props.changeCameraSetting()\r\n break;\r\n case 'straightenModelRotate':\r\n props.changeStraightenModelRotateSetting(value)\r\n break;\r\n case 'resetStraightenModel':\r\n props.resetStraightenModel()\r\n break;\r\n case 'loadReflection':\r\n props.loadReflection()\r\n break;\r\n case 'viewReflection':\r\n props.viewReflection()\r\n break;\r\n case 'downloadReflection':\r\n props.downloadReflection()\r\n break;\r\n case 'clearAll':\r\n props.clearAll()\r\n break;\r\n case 'removeBackground':\r\n props.removeBackground()\r\n break;\r\n case 'makeDiamond':\r\n props.makeDiamond(value)\r\n break;\r\n case 'makeStandard':\r\n props.makeStandard(value)\r\n break;\r\n case 'makeRefraction':\r\n props.makeRefraction(value)\r\n break;\r\n case 'downloadMaterial':\r\n props.downloadMaterial()\r\n break;\r\n case 'uploadScene':\r\n props.uploadScene()\r\n break;\r\n case 'uploadMapFile':\r\n case 'uploadLightMapFile':\r\n case 'uploadAoMapFile':\r\n case 'uploadEmissiveMapFile':\r\n case 'uploadBumpMapFile':\r\n case 'uploadNormalMapFile':\r\n case 'uploadRoughnessMapFile':\r\n case 'uploadMetalnessMapFile':\r\n case 'uploadAlphaMapFile':\r\n props.uploadMapFile(value)\r\n break;\r\n case 'uploadEquirec':\r\n props.uploadEquirec()\r\n break;\r\n case 'uploadCubeMap':\r\n props.uploadCubeMap()\r\n break;\r\n case 'uploadEnvironment':\r\n props.uploadEnvironment()\r\n break;\r\n case 'uploadMaterial':\r\n props.uploadMaterial(value)\r\n break;\r\n case 'selectMeshes':\r\n props.selectMeshes(value)\r\n break;\r\n case 'downloadMaterials':\r\n props.downloadMaterials()\r\n break;\r\n case 'loadMaterials':\r\n props.loadMaterials()\r\n break;\r\n case 'backgroundLoadImage':\r\n props.backgroundLoadImage()\r\n break;\r\n case 'uploadFiles':\r\n openDialog()\r\n break;\r\n case 'openMapFile':\r\n props.openMapFile(value)\r\n break;\r\n case 'downloadMapFile':\r\n props.downloadMapFile(value)\r\n break;\r\n case 'removeMapFile':\r\n props.removeMapFile(value)\r\n break;\r\n case 'takeScreenshot':\r\n props.takeScreenshot()\r\n break;\r\n case 'removeAnnotation':\r\n props.removeAnnotation()\r\n break;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n //Files upload handling only for menu Upload Files\r\n const dropzoneRef = createRef();\r\n const history = useHistory();\r\n const openDialog = () => {\r\n if (dropzoneRef.current) {\r\n dropzoneRef.current.open()\r\n }\r\n };\r\n const acceptedFiles = \".dds, .glb, .fbx, .bin, .png, .obj, .gltf, .mtl, .jpg, .3dm\";\r\n\r\n const onDrop = files => {\r\n let selectedFiles = new Map()\r\n files.forEach(file => {\r\n selectedFiles.set(file.name, file);\r\n });\r\n\r\n history.push({\r\n pathname: \"/configurator\",\r\n // pathname: \"/\",\r\n state: { files: selectedFiles }\r\n });\r\n\r\n props.uploadFiles(selectedFiles)\r\n window.location.reload(false);\r\n }\r\n\r\n return (\r\n \r\n \r\n {({getRootProps, getInputProps, acceptedFiles}) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }}\r\n
\r\n dispatchAction(props.type, props.value, props.obj)}>\r\n {props.name}\r\n \r\n
\r\n )\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n changeSceneView: changeSceneView,\r\n downloadScene: downloadScene,\r\n downloadGltf: downloadGltf,\r\n snapCanvas: snapCanvas,\r\n changeCameraTargetSetting: changeCameraTargetSetting,\r\n changeCameraSetting: changeCameraSetting,\r\n changeStraightenModelRotateSetting: changeStraightenModelRotateSetting,\r\n resetStraightenModel: resetStraightenModel,\r\n downloadReflection: downloadReflection,\r\n viewReflection: viewReflection,\r\n loadReflection: loadReflection,\r\n clearAll: clearAll,\r\n removeBackground: removeBackground,\r\n makeDiamond: makeDiamond,\r\n makeStandard: makeStandard,\r\n makeRefraction: makeRefraction,\r\n downloadMaterial: downloadMaterial,\r\n uploadMapFile: uploadMapFile,\r\n uploadScene: uploadScene,\r\n uploadEquirec: uploadEquirec,\r\n uploadCubeMap: uploadCubeMap,\r\n uploadEnvironment: uploadEnvironment,\r\n uploadMaterial: uploadMaterial,\r\n selectMeshes: selectMeshes,\r\n downloadMaterials: downloadMaterials,\r\n loadMaterials: loadMaterials,\r\n backgroundLoadImage: backgroundLoadImage,\r\n uploadFiles: uploadFiles,\r\n takeScreenshot: takeScreenshot,\r\n loadCombinations: loadCombinations,\r\n openMapFile: openMapFile,\r\n downloadMapFile: downloadMapFile,\r\n removeMapFile: removeMapFile,\r\n removeAnnotation: removeAnnotation,\r\n \r\n loadDefaultSceneEnv: loadDefaultSceneEnv,\r\n loadDefaultDiamondEnv: loadDefaultDiamondEnv,\r\n\r\n toggleAnimationPlay: toggleAnimationPlay,\r\n toggleAnimationStop: toggleAnimationStop,\r\n\r\n addAmbient: addAmbient,\r\n toggleAudioPlay: toggleAudioPlay,\r\n toggleAudioStop: toggleAudioStop,\r\n removeAudio: removeAudio,\r\n\r\n addAudio: addAudio,\r\n removeAudioMaterial: removeAudioMaterial,\r\n exportSceneGltf: exportSceneGltf\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(DiamondEnvLoadButton)","import React, {createRef} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row} from \"react-bootstrap\";\r\nimport Dropzone from \"react-dropzone\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n exportSceneGltf,\r\n changeSceneView,\r\n downloadScene,\r\n downloadGltf,\r\n snapCanvas,\r\n changeCameraTargetSetting,\r\n changeCameraSetting,\r\n changeStraightenModelRotateSetting,\r\n resetStraightenModel,\r\n viewReflection,\r\n downloadReflection,\r\n loadReflection,\r\n clearAll,\r\n removeBackground,\r\n makeDiamond,\r\n makeStandard,\r\n makeRefraction,\r\n downloadMaterial,\r\n uploadMapFile,\r\n uploadScene,\r\n uploadEquirec,\r\n uploadCubeMap,\r\n uploadEnvironment,\r\n uploadMaterial,\r\n selectMeshes,\r\n downloadMaterials,\r\n loadMaterials,\r\n backgroundLoadImage,\r\n uploadFiles, takeScreenshot,\r\n loadCombinations,\r\n openMapFile,\r\n downloadMapFile,\r\n removeMapFile,\r\n removeAnnotation,\r\n\r\n loadDefaultSceneEnv,\r\n loadDefaultDiamondEnv,\r\n\r\n toggleAnimationPlay,\r\n toggleAnimationStop,\r\n\r\n addAmbient,\r\n toggleAudioPlay,\r\n toggleAudioStop,\r\n removeAudio,\r\n\r\n addAudio,\r\n removeAudioMaterial\r\n\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nfunction SceneEnvLoadButton(props) {\r\n /**\r\n * Filter all button types and fire its specific action\r\n */\r\n\r\n\r\n\r\n const dispatchAction = (type, value, obj) => {\r\n props.envClick(value);\r\n switch (type) {\r\n case \"exportSceneGltf\":\r\n props.exportSceneGltf()\r\n break;\r\n case \"removeAudioMaterial\":\r\n props.removeAudioMaterial(obj)\r\n break;\r\n\r\n case \"removeAudio\":\r\n props.removeAudio()\r\n break;\r\n\r\n case \"addAudio\":\r\n props.addAudio(value)\r\n break;\r\n\r\n case 'toggleAudioPlay':\r\n props.toggleAudioPlay()\r\n break;\r\n case 'toggleAudioStop':\r\n props.toggleAudioStop()\r\n break;\r\n\r\n case \"addAmbient\":\r\n props.addAmbient()\r\n break;\r\n\r\n case 'toggleAnimationPlay':\r\n props.toggleAnimationPlay()\r\n break;\r\n case 'toggleAnimationStop':\r\n props.toggleAnimationStop()\r\n break;\r\n\r\n case 'loadDefaultSceneEnv':\r\n props.loadDefaultSceneEnv(value)\r\n break;\r\n case 'loadDefaultDiamondEnv':\r\n props.loadDefaultDiamondEnv(value)\r\n break;\r\n case 'sceneView':\r\n props.changeSceneView(value)\r\n break;\r\n case 'downloadScene':\r\n props.downloadScene()\r\n break;\r\n case 'downloadGltf':\r\n props.downloadGltf()\r\n break;\r\n case 'snapCanvas':\r\n props.snapCanvas()\r\n break;\r\n case 'resetCameraTarget':\r\n props.changeCameraTargetSetting()\r\n break;\r\n case 'resetCamera':\r\n props.changeCameraSetting()\r\n break;\r\n case 'straightenModelRotate':\r\n props.changeStraightenModelRotateSetting(value)\r\n break;\r\n case 'resetStraightenModel':\r\n props.resetStraightenModel()\r\n break;\r\n case 'loadReflection':\r\n props.loadReflection()\r\n break;\r\n case 'viewReflection':\r\n props.viewReflection()\r\n break;\r\n case 'downloadReflection':\r\n props.downloadReflection()\r\n break;\r\n case 'clearAll':\r\n props.clearAll()\r\n break;\r\n case 'removeBackground':\r\n props.removeBackground()\r\n break;\r\n case 'makeDiamond':\r\n props.makeDiamond(value)\r\n break;\r\n case 'makeStandard':\r\n props.makeStandard(value)\r\n break;\r\n case 'makeRefraction':\r\n props.makeRefraction(value)\r\n break;\r\n case 'downloadMaterial':\r\n props.downloadMaterial()\r\n break;\r\n case 'uploadScene':\r\n props.uploadScene()\r\n break;\r\n case 'uploadMapFile':\r\n case 'uploadLightMapFile':\r\n case 'uploadAoMapFile':\r\n case 'uploadEmissiveMapFile':\r\n case 'uploadBumpMapFile':\r\n case 'uploadNormalMapFile':\r\n case 'uploadRoughnessMapFile':\r\n case 'uploadMetalnessMapFile':\r\n case 'uploadAlphaMapFile':\r\n props.uploadMapFile(value)\r\n break;\r\n case 'uploadEquirec':\r\n props.uploadEquirec()\r\n break;\r\n case 'uploadCubeMap':\r\n props.uploadCubeMap()\r\n break;\r\n case 'uploadEnvironment':\r\n props.uploadEnvironment()\r\n break;\r\n case 'uploadMaterial':\r\n props.uploadMaterial(value)\r\n break;\r\n case 'selectMeshes':\r\n props.selectMeshes(value)\r\n break;\r\n case 'downloadMaterials':\r\n props.downloadMaterials()\r\n break;\r\n case 'loadMaterials':\r\n props.loadMaterials()\r\n break;\r\n case 'backgroundLoadImage':\r\n props.backgroundLoadImage()\r\n break;\r\n case 'uploadFiles':\r\n openDialog()\r\n break;\r\n case 'openMapFile':\r\n props.openMapFile(value)\r\n break;\r\n case 'downloadMapFile':\r\n props.downloadMapFile(value)\r\n break;\r\n case 'removeMapFile':\r\n props.removeMapFile(value)\r\n break;\r\n case 'takeScreenshot':\r\n props.takeScreenshot()\r\n break;\r\n case 'removeAnnotation':\r\n props.removeAnnotation()\r\n break;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n //Files upload handling only for menu Upload Files\r\n const dropzoneRef = createRef();\r\n const history = useHistory();\r\n const openDialog = () => {\r\n if (dropzoneRef.current) {\r\n dropzoneRef.current.open()\r\n }\r\n };\r\n const acceptedFiles = \".dds, .glb, .fbx, .bin, .png, .obj, .gltf, .mtl, .jpg, .3dm\";\r\n\r\n const onDrop = files => {\r\n let selectedFiles = new Map()\r\n files.forEach(file => {\r\n selectedFiles.set(file.name, file);\r\n });\r\n\r\n history.push({\r\n pathname: \"/configurator\",\r\n // pathname: \"/\",\r\n state: { files: selectedFiles }\r\n });\r\n\r\n props.uploadFiles(selectedFiles)\r\n window.location.reload(false);\r\n }\r\n\r\n return (\r\n \r\n \r\n {({getRootProps, getInputProps, acceptedFiles}) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }}\r\n
\r\n dispatchAction(props.type, props.value, props.obj)}>\r\n {props.name}\r\n \r\n
\r\n )\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n changeSceneView: changeSceneView,\r\n downloadScene: downloadScene,\r\n downloadGltf: downloadGltf,\r\n snapCanvas: snapCanvas,\r\n changeCameraTargetSetting: changeCameraTargetSetting,\r\n changeCameraSetting: changeCameraSetting,\r\n changeStraightenModelRotateSetting: changeStraightenModelRotateSetting,\r\n resetStraightenModel: resetStraightenModel,\r\n downloadReflection: downloadReflection,\r\n viewReflection: viewReflection,\r\n loadReflection: loadReflection,\r\n clearAll: clearAll,\r\n removeBackground: removeBackground,\r\n makeDiamond: makeDiamond,\r\n makeStandard: makeStandard,\r\n makeRefraction: makeRefraction,\r\n downloadMaterial: downloadMaterial,\r\n uploadMapFile: uploadMapFile,\r\n uploadScene: uploadScene,\r\n uploadEquirec: uploadEquirec,\r\n uploadCubeMap: uploadCubeMap,\r\n uploadEnvironment: uploadEnvironment,\r\n uploadMaterial: uploadMaterial,\r\n selectMeshes: selectMeshes,\r\n downloadMaterials: downloadMaterials,\r\n loadMaterials: loadMaterials,\r\n backgroundLoadImage: backgroundLoadImage,\r\n uploadFiles: uploadFiles,\r\n takeScreenshot: takeScreenshot,\r\n loadCombinations: loadCombinations,\r\n openMapFile: openMapFile,\r\n downloadMapFile: downloadMapFile,\r\n removeMapFile: removeMapFile,\r\n removeAnnotation: removeAnnotation,\r\n \r\n loadDefaultSceneEnv: loadDefaultSceneEnv,\r\n loadDefaultDiamondEnv: loadDefaultDiamondEnv,\r\n\r\n toggleAnimationPlay: toggleAnimationPlay,\r\n toggleAnimationStop: toggleAnimationStop,\r\n\r\n addAmbient: addAmbient,\r\n toggleAudioPlay: toggleAudioPlay,\r\n toggleAudioStop: toggleAudioStop,\r\n removeAudio: removeAudio,\r\n\r\n addAudio: addAudio,\r\n removeAudioMaterial: removeAudioMaterial,\r\n exportSceneGltf: exportSceneGltf\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(SceneEnvLoadButton)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Form} from \"react-bootstrap\";\r\nimport InputRange from 'react-input-range';\r\nimport 'react-input-range/lib/css/index.css';\r\nimport {\r\n changeMinimumDistance,\r\n changeMaximumDistance,\r\n changeMaxPolarAngle,\r\n changeMinPolarAngle,\r\n changeMaxAzimuthAngle,\r\n changeMinAzimuthAngle,\r\n changeZoomSpeed,\r\n changeCameraPositionXSetting,\r\n changeCameraPositionYSetting,\r\n changeCameraPositionZSetting,\r\n\r\n changeMinimumSpeed,\r\n changeMaximumSpeed\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nclass MenuItemInputRange2 extends Component {\r\n state = {\r\n value: this.props.value ? this.props.value : 0\r\n };\r\n\r\n /**\r\n * Filter all input range types and fire its specific action\r\n */\r\n dispatchAction = (type, value, additional) => {\r\n switch (type) {\r\n case 'cameraX':\r\n this.props.changeCameraPositionXSetting(value)\r\n break;\r\n case 'cameraY':\r\n this.props.changeCameraPositionYSetting(value)\r\n break;\r\n case 'cameraZ':\r\n this.props.changeCameraPositionZSetting(value)\r\n break;\r\n case 'zoomSpeed':\r\n this.props.changeZoomSpeed(value)\r\n break;\r\n case 'minimumDistance':\r\n this.props.changeMinimumDistance(value)\r\n break;\r\n case 'maximumDistance':\r\n this.props.changeMaximumDistance(value)\r\n break;\r\n case 'maxPolarAngle':\r\n this.props.changeMaxPolarAngle(value)\r\n break;\r\n case 'minPolarAngle':\r\n this.props.changeMinPolarAngle(value)\r\n break;\r\n case 'maxAzimuthAngle':\r\n this.props.changeMaxAzimuthAngle(value)\r\n break;\r\n case 'minAzimuthAngle':\r\n this.props.changeMinAzimuthAngle(value)\r\n break;\r\n\r\n case 'minimumSpeed':\r\n this.props.changeMinimumSpeed(value)\r\n break;\r\n case 'maximumSpeed':\r\n this.props.changeMaximumSpeed(value)\r\n break;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * Checks if Value entered is a number\r\n * Then updates state when input text box is used for changing this field\r\n */\r\n handleTextBoxChange = event => {\r\n let inputVal = event.target.value\r\n //if (!isNaN(inputVal) && inputVal <= this.props.max && inputVal >= this.props.min) {\r\n if (!isNaN(inputVal)) {\r\n this.setState({[event.target.name]: event.target.value});\r\n this.dispatchAction(this.props.type, Number(event.target.value))\r\n }\r\n }\r\n\r\n /**\r\n * Update state when slider is used for changing this field\r\n */\r\n handleSliderChange = (value) => {\r\n this.setState({\r\n value: parseFloat(value.toFixed(2))\r\n })\r\n this.dispatchAction(this.props.type, value)\r\n if(this.props.isNeedValueChange){\r\n this.props.valueChange('asd')\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.name}\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\nconst mapDispatchToProps = {\r\n\r\n changeMinimumDistance:changeMinimumDistance,\r\n changeMaximumDistance:changeMaximumDistance,\r\n changeMaxPolarAngle:changeMaxPolarAngle,\r\n changeMinPolarAngle:changeMinPolarAngle,\r\n changeMaxAzimuthAngle:changeMaxAzimuthAngle,\r\n changeMinAzimuthAngle:changeMinAzimuthAngle,\r\n changeZoomSpeed:changeZoomSpeed,\r\n \r\n changeCameraPositionXSetting: changeCameraPositionXSetting,\r\n changeCameraPositionYSetting: changeCameraPositionYSetting,\r\n changeCameraPositionZSetting: changeCameraPositionZSetting,\r\n \r\n changeMinimumSpeed: changeMinimumSpeed,\r\n changeMaximumSpeed: changeMaximumSpeed\r\n\r\n \r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(MenuItemInputRange2)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Form} from \"react-bootstrap\";\r\nimport InputRange from 'react-input-range';\r\nimport 'react-input-range/lib/css/index.css';\r\nimport {\r\n \r\n changeMaxAzimuthAngle,\r\n changeMinAzimuthAngle\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nclass MenuItemInputRangeMaxAzimuth extends Component {\r\n state = {\r\n value: this.props.value ? this.props.value : 'Infinity'\r\n };\r\n\r\n /**\r\n * Filter all input range types and fire its specific action\r\n */\r\n dispatchAction = (type, value, additional) => {\r\n switch (type) {\r\n \r\n case 'maxAzimuthAngle':\r\n this.props.changeMaxAzimuthAngle(value)\r\n break;\r\n case 'minAzimuthAngle':\r\n this.props.changeMinAzimuthAngle(value)\r\n break;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * Checks if Value entered is a number\r\n * Then updates state when input text box is used for changing this field\r\n */\r\n handleTextBoxChange = event => {\r\n // let inputVal = event.target.value\r\n // if (!isNaN(inputVal) && inputVal <= this.props.max && inputVal >= this.props.min) {\r\n // this.setState({[event.target.name]: event.target.value});\r\n // this.dispatchAction(this.props.type, event.target.value)\r\n // }\r\n this.setState({[event.target.name]: event.target.value});\r\n this.dispatchAction(this.props.type, Number(event.target.value))\r\n }\r\n\r\n /**\r\n * Update state when slider is used for changing this field\r\n */\r\n handleSliderChange = (value) => {\r\n this.setState({\r\n value: parseFloat(value.toFixed(2))\r\n })\r\n this.dispatchAction(this.props.type, value)\r\n if(this.props.isNeedValueChange){\r\n this.props.valueChange('asd')\r\n }\r\n }\r\n\r\n resetValue = (value) => {\r\n this.setState({\r\n value: this.props.originalValue\r\n })\r\n this.dispatchAction(this.props.type, this.props.originalValue)\r\n if(this.props.isNeedValueChange){\r\n this.props.valueChange('asd')\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.name}\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\nconst mapDispatchToProps = {\r\n \r\n changeMaxAzimuthAngle:changeMaxAzimuthAngle,\r\n changeMinAzimuthAngle:changeMinAzimuthAngle\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(MenuItemInputRangeMaxAzimuth)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Form} from \"react-bootstrap\";\r\nimport InputRange from 'react-input-range';\r\nimport 'react-input-range/lib/css/index.css';\r\nimport {\r\n \r\n changeMaxAzimuthAngle,\r\n changeMinAzimuthAngle\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nclass MenuItemInputRangeMinAzimuth extends Component {\r\n state = {\r\n value: this.props.value ? this.props.value : '-Infinity'\r\n };\r\n\r\n /**\r\n * Filter all input range types and fire its specific action\r\n */\r\n dispatchAction = (type, value, additional) => {\r\n switch (type) {\r\n \r\n case 'maxAzimuthAngle':\r\n this.props.changeMaxAzimuthAngle(value)\r\n break;\r\n case 'minAzimuthAngle':\r\n this.props.changeMinAzimuthAngle(value)\r\n break;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * Checks if Value entered is a number\r\n * Then updates state when input text box is used for changing this field\r\n */\r\n handleTextBoxChange = event => {\r\n // let inputVal = event.target.value\r\n // if (!isNaN(inputVal) && inputVal <= this.props.max && inputVal >= this.props.min) {\r\n // this.setState({[event.target.name]: event.target.value});\r\n // this.dispatchAction(this.props.type, event.target.value)\r\n // }\r\n this.setState({[event.target.name]: event.target.value});\r\n this.dispatchAction(this.props.type, Number(event.target.value))\r\n }\r\n\r\n /**\r\n * Update state when slider is used for changing this field\r\n */\r\n handleSliderChange = (value) => {\r\n this.setState({\r\n value: parseFloat(value.toFixed(2))\r\n })\r\n this.dispatchAction(this.props.type, value)\r\n if(this.props.isNeedValueChange){\r\n this.props.valueChange('asd')\r\n }\r\n }\r\n\r\n resetValue = (value) => {\r\n this.setState({\r\n value: this.props.originalValue\r\n })\r\n this.dispatchAction(this.props.type, this.props.originalValue)\r\n if(this.props.isNeedValueChange){\r\n this.props.valueChange('asd')\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.name}\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\nconst mapDispatchToProps = {\r\n \r\n changeMaxAzimuthAngle:changeMaxAzimuthAngle,\r\n changeMinAzimuthAngle:changeMinAzimuthAngle\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(MenuItemInputRangeMinAzimuth)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Modal, Table, Col, Row, Spinner} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport LoginForm from \"./LoginForm\";\r\nimport {login} from '../../../actions/actionsCreators';\r\nimport axios from '../../../axios';\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\n\r\nimport {\r\n downloadScene,\r\n} from \"../../../actions/actionsCreators\";\r\nimport lang_it from '../../../lang/lang_it.json';\r\nimport lang_en from '../../../lang/lang_en.json';\r\nimport lang_fr from '../../../lang/lang_fr.json';\r\nimport lang_vn from '../../../lang/lang_vn.json';\r\nlet lang = {};\r\nclass SaveScene extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false,\r\n sceneName: '',\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n });\r\n }\r\n\r\n handleChange = e => {\r\n this.setState({\r\n sceneName: e.target.value,\r\n error: '',\r\n hasError: false\r\n })\r\n }\r\n\r\n saveScene = e =>{\r\n this.props.downloadScene()\r\n }\r\n\r\n componentDidMount() {\r\n if(localStorage.getItem('lang')){\r\n switch(localStorage.getItem('lang')){\r\n case \"en\":\r\n lang = lang_en;\r\n break;\r\n case \"vn\":\r\n lang = lang_vn;\r\n break;\r\n case \"fr\":\r\n lang = lang_fr;\r\n break;\r\n case \"it\":\r\n lang = lang_it;\r\n break;\r\n }\r\n }else{\r\n lang = lang_en;\r\n }\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.props.name}\r\n \r\n \r\n \r\n CadGL - 3D Configurator\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\nconst mapDispatchToProps = {\r\n downloadScene: downloadScene,\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(SaveScene)","import React, {Component, } from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport MenuItemInputRange2 from \"../MenuItems/MenuItemInputRange2\";\r\nimport MenuItemInputRangeMaxAzimuth from \"../MenuItems/MenuItemInputRangeMaxAzimuth\";\r\nimport MenuItemInputRangeMinAzimuth from \"../MenuItems/MenuItemInputRangeMinAzimuth\";\r\nimport MenuItemCheckbox from \"../MenuItems/MenuItemCheckbox\";\r\nimport {Modal, Form, Button} from \"react-bootstrap\";\r\n\r\nimport closeIcon from \"../../../../assets/close-icon@2x.png\";\r\n\r\nimport lang_it from '../../../../lang/lang_it.json';\r\nimport lang_en from '../../../../lang/lang_en.json';\r\nimport lang_fr from '../../../../lang/lang_fr.json';\r\nimport lang_vn from '../../../../lang/lang_vn.json';\r\nlet lang = {};\r\n\r\nlet originalMinAzimuth = 0;\r\nlet originalMaxAzimuth = 0;\r\nclass RestrictCameraModal extends Component {\r\n state = {\r\n show: false,\r\n }\r\n\r\n showRestrictCamera = () => {\r\n this.setState({\r\n show: true\r\n });\r\n }\r\n\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n \r\n\r\n componentDidMount() {\r\n originalMinAzimuth = this.props.originalMinAzimuth;\r\n originalMaxAzimuth = this.props.originalMaxAzimuth;\r\n if(localStorage.getItem('lang')){\r\n switch(localStorage.getItem('lang')){\r\n case \"en\":\r\n lang = lang_en;\r\n break;\r\n case \"vn\":\r\n lang = lang_vn;\r\n break;\r\n case \"fr\":\r\n lang = lang_fr;\r\n break;\r\n case \"it\":\r\n lang = lang_it;\r\n break;\r\n }\r\n }else{\r\n lang = lang_en;\r\n }\r\n }\r\n\r\n restrictCameraClickInternal = () =>{\r\n this.props.restrictCameraClick('asd')\r\n }\r\n /**\r\n * Update combination with new price and description\r\n */\r\n\r\n render() {\r\n\r\n return(\r\n \r\n \r\n \r\n \r\n CadGL - 3D Configurator\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n {/* */}\r\n \r\n \r\n 3.14 ? 3.14 : this.props.config.camera.orbitParams.maxPolarAngle) : 0} type=\"maxPolarAngle\" />\r\n 3.14 ? 3.14 : this.props.config.camera.orbitParams.minPolarAngle) : 0} type=\"minPolarAngle\" />\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(RestrictCameraModal);","export const gizmoOptions = [\r\n {value: 'translate', label: 'Translate'},\r\n {value: 'rotate', label: 'Rotate'},\r\n {value: 'scale', label: 'Scale'},\r\n]\r\n\r\n","import React, {Component, useEffect} from \"react\";\r\n\r\nimport DiamondEnvLoadButton from \"../MenuItems/DiamondEnvLoadButton\";\r\nimport SceneEnvLoadButton from \"../MenuItems/SceneEnvLoadButton\";\r\nimport MenuItemButton from \"../MenuItems/MenuItemButton\";\r\nimport MenuGroup from \"../MenuItems/MenuGroup\";\r\nimport MenuItemTextBox from \"../MenuItems/MenuItemTextBox\";\r\nimport MenuItemColorPicker from \"../MenuItems/MenuItemColorPicker\";\r\nimport MenuItemInputRange from \"../MenuItems/MenuItemInputRange\";\r\nimport MenuItemInputRange2 from \"../MenuItems/MenuItemInputRange2\";\r\nimport MenuItemInputRangeMaxAzimuth from \"../MenuItems/MenuItemInputRangeMaxAzimuth\";\r\nimport MenuItemInputRangeMinAzimuth from \"../MenuItems/MenuItemInputRangeMinAzimuth\";\r\nimport MenuItemDropdown from \"../MenuItems/MenuItemDropdown\";\r\nimport {groundShadowSides} from \"../../../../helpers/dropDownOptions\";\r\nimport MenuItemCheckbox from \"../MenuItems/MenuItemCheckbox\";\r\nimport AddCombinationModal from \"../../Combinations/AddCombinationModal\";\r\nimport AddCombinationSceneInfoAlertModal from \"../../Combinations/AddCombinationSceneInfoAlertModal\";\r\n\r\nimport ShowCombinationsModal from \"../../Combinations/ShowCombinationsModal\";\r\nimport SaveScene from \"../../Combinations/SaveScene\";\r\nimport {Col, Row, Button, Form} from \"react-bootstrap\";\r\nimport LoginModal from \"../../Combinations/LoginModal\";\r\nimport RestrictCameraModal from \"../Modals/RestrictCameraModal\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport { connect } from 'react-redux';\r\nimport axios from '../../../../axios';\r\n\r\nimport {FileLoader} from \"three\";\r\n\r\nimport lang_it from '../../../../lang/lang_it.json';\r\nimport lang_en from '../../../../lang/lang_en.json';\r\nimport lang_fr from '../../../../lang/lang_fr.json';\r\nimport lang_vn from '../../../../lang/lang_vn.json';\r\nimport {gizmoOptions} from \"../../../../helpers/gizmoOptions\";\r\n\r\nlet lang = {};\r\nlet originalMinAzimuth = 0;\r\nlet originalMaxAzimuth = 0;\r\nlet originalCanvasHeight = 0;\r\n\r\n\r\nclass SceneSettings extends Component{\r\n state = {\r\n apiLoaded: false,\r\n sceneSetup: true,\r\n sceneView: false,\r\n outline: false,\r\n straightenModel: false,\r\n cameraMode: false,\r\n camera: false,\r\n restrictCamera: false,\r\n sceneEnvironment: false,\r\n diamondEnvironment: false,\r\n groundShadows: false,\r\n groundReflection: false,\r\n background: false,\r\n gizmo: false,\r\n autoRotate: false,\r\n screenshot: false,\r\n screenrecording: false,\r\n icons: false,\r\n tooltip: null,\r\n enableFullscreen: false,\r\n enableHelper: false,\r\n\r\n enableScreenshot: false,\r\n enableChangeBackground: false,\r\n enableMeasurement: false,\r\n enable3DConfigurator: false,\r\n enableCameraDoubleClick: false,\r\n\r\n userInfo: '',\r\n defaultSceneEnv: {},\r\n defaultBackground: {},\r\n\r\n selectedSceneEnv: '',\r\n selectedDiamondEnv: '',\r\n\r\n recordingQuality: 16000000,\r\n recordingRotateSpeed: 2,\r\n recordingRotateAxis: 'y',\r\n recordingRotateDirection: '+',\r\n recordingRotateDiffMilSecond: 90\r\n }\r\n\r\n\r\n componentDidMount() {\r\n if(this.props.api == undefined){\r\n setTimeout(() => {\r\n this.setState({\r\n apiLoaded: true\r\n })\r\n }, 1000);\r\n }else{\r\n this.setState({\r\n apiLoaded: true\r\n })\r\n }\r\n\r\n if(localStorage.getItem('lang')){\r\n switch(localStorage.getItem('lang')){\r\n case \"en\":\r\n lang = lang_en;\r\n break;\r\n case \"vn\":\r\n lang = lang_vn;\r\n break;\r\n case \"fr\":\r\n lang = lang_fr;\r\n break;\r\n case \"it\":\r\n lang = lang_it;\r\n break;\r\n }\r\n }else{\r\n lang = lang_en;\r\n axios.get('user/get-user-info').then(response => {\r\n let {data} = response;\r\n if(data.success)\r\n {\r\n let userTmp = data.data;\r\n if(userTmp.isActive == false)\r\n {\r\n localStorage.removeItem(\"user\");\r\n document.location.reload();\r\n }\r\n if(userTmp.lang){\r\n localStorage.setItem(\"lang\", userTmp.lang);\r\n switch(localStorage.getItem('lang')){\r\n case \"en\":\r\n lang = lang_en;\r\n break;\r\n case \"vn\":\r\n lang = lang_vn;\r\n break;\r\n case \"fr\":\r\n lang = lang_fr;\r\n break;\r\n case \"it\":\r\n lang = lang_it;\r\n break;\r\n default:\r\n lang = lang_en;\r\n break;\r\n }\r\n }\r\n \r\n }\r\n });\r\n }\r\n\r\n new FileLoader().load('https://cadgl.net/tooltip_cadgl/tooltip.json', (response) => {\r\n this.setState({\r\n tooltip: JSON.parse(response)\r\n })\r\n })\r\n //Check browser disable cookie\r\n var cookieEnabled = navigator.cookieEnabled;\r\n if (!cookieEnabled){ \r\n document.cookie = \"testcookie\";\r\n cookieEnabled = document.cookie.indexOf(\"testcookie\")!=-1;\r\n }\r\n \r\n let token = null;\r\n if(cookieEnabled){\r\n token = localStorage.getItem('user');\r\n }\r\n if(token)\r\n {\r\n this.setState({\r\n loggedIn: true,\r\n userInfo: jwt_decode(localStorage.getItem('user'))\r\n })\r\n }\r\n\r\n originalCanvasHeight = document.getElementById(\"configurator-sidebar\").offsetHeight ;\r\n function exitHandler()\r\n {\r\n console.log(\"originalCanvasHeight: \" + originalCanvasHeight);\r\n var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;\r\n if(fullscreenElement == null){\r\n let a = originalCanvasHeight + \"px\";\r\n document.getElementById(\"configurator-sidebar\").style.height = a;\r\n }\r\n }\r\n document.addEventListener('fullscreenchange', exitHandler, false);\r\n document.addEventListener('mozfullscreenchange', exitHandler, false);\r\n document.addEventListener('MSFullscreenChange', exitHandler, false);\r\n document.addEventListener('webkitfullscreenchange', exitHandler, false);\r\n\r\n if (window.getComputedStyle(document.getElementById(\"fullScreenIcon\")).display === \"none\") {\r\n \r\n this.setState({enableFullscreen: false})\r\n }else{\r\n this.setState({enableFullscreen: true})\r\n }\r\n if (window.getComputedStyle(document.getElementById(\"helperIcon\")).display === \"none\") {\r\n this.setState({enableHelper: false})\r\n }else{\r\n this.setState({enableHelper: true})\r\n }\r\n if (window.getComputedStyle(document.getElementById(\"screenshotIcon\")).display === \"none\") {\r\n this.setState({enableScreenshot: false})\r\n }else{\r\n this.setState({enableScreenshot: true})\r\n }\r\n if (window.getComputedStyle(document.getElementById(\"changeBackgroundIcon\")).display === \"none\") {\r\n this.setState({enableChangeBackground: false})\r\n }else{\r\n this.setState({enableChangeBackground: true})\r\n }\r\n if (window.getComputedStyle(document.getElementById(\"measurementIcon\")).display === \"none\") {\r\n this.setState({enableMeasurement: false})\r\n }else{\r\n this.setState({enableMeasurement: true})\r\n }\r\n \r\n if (window.getComputedStyle(document.getElementById(\"3DConfiguratorIcon\")).display === \"none\") {\r\n this.setState({enable3DConfigurator: false})\r\n }else{\r\n this.setState({enable3DConfigurator: true})\r\n }\r\n\r\n if (window.getComputedStyle(document.getElementById(\"CameraDoubleClickIcon\")).display === \"none\") {\r\n this.setState({enableCameraDoubleClick: false})\r\n }else{\r\n this.setState({enableCameraDoubleClick: true})\r\n }\r\n\r\n //SCREEN RECORDING\r\n \r\n this.setState({recordingQuality: document.getElementById(\"recordingQuality\").value != \"\" ? document.getElementById(\"recordingQuality\").value : this.state.recordingQuality});\r\n this.setState({recordingRotateSpeed: document.getElementById(\"recordingRotateSpeed\").value != \"\" ? document.getElementById(\"recordingRotateSpeed\").value : this.state.recordingRotateSpeed});\r\n this.setState({recordingRotateAxis: document.getElementById(\"recordingRotateAxis\").value != \"\" ? document.getElementById(\"recordingRotateAxis\").value : this.state.recordingRotateAxis});\r\n this.setState({recordingRotateDirection: document.getElementById(\"recordingRotateDirection\").value != \"\" ? document.getElementById(\"recordingRotateDirection\").value : this.state.recordingRotateDirection});\r\n this.setState({recordingRotateDiffMilSecond: document.getElementById(\"recordingRotateDiffMilSecond\").value != \"\" ? document.getElementById(\"recordingRotateDiffMilSecond\").value : this.state.recordingRotateDiffMilSecond});\r\n \r\n }\r\n\r\n restrictCameraChange = (type) => {\r\n this.forceUpdate();\r\n }\r\n\r\n toggleFullScreen = () =>{\r\n\r\n if(document.getElementById(\"btnEnableFullScreen\").checked == true){\r\n document.getElementById(\"fullScreenIcon\").style.display = \"block\";\r\n }else{\r\n document.getElementById(\"fullScreenIcon\").style.display = \"none\";\r\n }\r\n\r\n this.setState({\r\n ...this.state,\r\n enableFullscreen: !this.state.enableFullscreen\r\n })\r\n }\r\n\r\n toggleHelper = () =>{\r\n\r\n if(document.getElementById(\"btnEnableHelper\").checked == true){\r\n document.getElementById(\"helperIcon\").style.display = \"block\";\r\n }else{\r\n document.getElementById(\"helperIcon\").style.display = \"none\";\r\n }\r\n this.setState({\r\n ...this.state,\r\n enableHelper: !this.state.enableHelper\r\n })\r\n }\r\n\r\n toggleScreenshot = () =>{\r\n\r\n if(document.getElementById(\"btnEnableScreenshot\").checked == true){\r\n document.getElementById(\"screenshotIcon\").style.display = \"block\";\r\n }else{\r\n document.getElementById(\"screenshotIcon\").style.display = \"none\";\r\n }\r\n this.setState({\r\n ...this.state,\r\n enableScreenshot: !this.state.enableScreenshot\r\n })\r\n }\r\n\r\n toggleChangeBackground = () =>{\r\n\r\n if(document.getElementById(\"btnEnableChangeBackground\").checked == true){\r\n document.getElementById(\"changeBackgroundIcon\").style.display = \"block\";\r\n }else{\r\n document.getElementById(\"changeBackgroundIcon\").style.display = \"none\";\r\n }\r\n this.setState({\r\n ...this.state,\r\n enableChangeBackground: !this.state.enableChangeBackground\r\n })\r\n }\r\n\r\n toggleMeasurement = () =>{\r\n\r\n if(document.getElementById(\"btnEnableMeasurement\").checked == true){\r\n document.getElementById(\"measurementIcon\").style.display = \"block\";\r\n }else{\r\n document.getElementById(\"measurementIcon\").style.display = \"none\";\r\n }\r\n this.setState({\r\n ...this.state,\r\n enableMeasurement: !this.state.enableMeasurement\r\n })\r\n }\r\n\r\n toggle3DConfigurator = () =>{\r\n\r\n if(document.getElementById(\"btn3DConfigurator\").checked == true){\r\n document.getElementById(\"3DConfiguratorIcon\").style.display = \"block\";\r\n }else{\r\n document.getElementById(\"3DConfiguratorIcon\").style.display = \"none\";\r\n }\r\n this.setState({\r\n ...this.state,\r\n enable3DConfigurator: !this.state.enable3DConfigurator\r\n })\r\n }\r\n\r\n toggleCameraDoubleClick = () =>{\r\n\r\n if(document.getElementById(\"btnCameraDoubleClick\").checked == true){\r\n document.getElementById(\"CameraDoubleClickIcon\").style.display = \"block\";\r\n }else{\r\n document.getElementById(\"CameraDoubleClickIcon\").style.display = \"none\";\r\n }\r\n this.setState({\r\n ...this.state,\r\n enableCameraDoubleClick: !this.state.enableCameraDoubleClick\r\n })\r\n }\r\n\r\n toggleMenuVisibility = (type) => {\r\n\r\n if(type ==\"icons\"){\r\n if (window.getComputedStyle(document.getElementById(\"fullScreenIcon\")).display === \"none\") {\r\n this.setState({enableFullscreen: false})\r\n }else{\r\n this.setState({enableFullscreen: true})\r\n }\r\n if (window.getComputedStyle(document.getElementById(\"helperIcon\")).display === \"none\") {\r\n this.setState({enableHelper: false})\r\n }else{\r\n this.setState({enableHelper: true})\r\n }\r\n if (window.getComputedStyle(document.getElementById(\"screenshotIcon\")).display === \"none\") {\r\n this.setState({enableScreenshot: false})\r\n }else{\r\n this.setState({enableScreenshot: true})\r\n }\r\n if (window.getComputedStyle(document.getElementById(\"changeBackgroundIcon\")).display === \"none\") {\r\n this.setState({enableChangeBackground: false})\r\n }else{\r\n this.setState({enableChangeBackground: true})\r\n }\r\n if (window.getComputedStyle(document.getElementById(\"measurementIcon\")).display === \"none\") {\r\n this.setState({enableMeasurement: false})\r\n }else{\r\n this.setState({enableMeasurement: true})\r\n }\r\n if (window.getComputedStyle(document.getElementById(\"3DConfiguratorIcon\")).display === \"none\") {\r\n this.setState({enable3DConfigurator: false})\r\n }else{\r\n this.setState({enable3DConfigurator: true})\r\n }\r\n if (window.getComputedStyle(document.getElementById(\"CameraDoubleClickIcon\")).display === \"none\") {\r\n this.setState({enableCameraDoubleClick: false})\r\n }else{\r\n this.setState({enableCameraDoubleClick: true})\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n let newState = {}\r\n console.log(this.state);\r\n Object.keys({...this.state}).forEach(key => {\r\n if(key != 'tooltipTab' && key != 'tooltip' \r\n && key != 'userInfo' \r\n && key != 'enableFullscreen' \r\n && key != 'enableHelper'\r\n && key != 'enableScreenshot'\r\n && key != 'enableChangeBackground'\r\n && key != 'enable3DConfigurator'\r\n && key != 'enableMeasurement'\r\n && key != 'enableCameraDoubleClick'\r\n && key != 'apiLoaded'\r\n && key != 'selectedSceneEnv'\r\n && key != 'selectedDiamondEnv'\r\n\r\n && key != 'recordingQuality'\r\n && key != 'recordingRotateSpeed'\r\n && key != 'recordingRotateAxis'\r\n && key != 'recordingRotateDirection'\r\n && key != 'recordingRotateDiffMilSecond'\r\n )\r\n {\r\n newState = {\r\n ...newState,\r\n [key]: false\r\n }\r\n }\r\n })\r\n\r\n\r\n this.setState({\r\n ...newState,\r\n [type]: !this.state[type]\r\n })\r\n\r\n if(this.props.config != undefined){\r\n originalMinAzimuth = this.props.config.camera.orbitParams.minAzimuthAngle == null ? '-Infinity' : this.props.config.camera.orbitParams.minAzimuthAngle;\r\n originalMaxAzimuth = this.props.config.camera.orbitParams.originalMaxAzimuth == undefined ? 'Infinity' : this.props.config.camera.orbitParams.originalMaxAzimuth;\r\n }\r\n\r\n\r\n document.getElementById(\"recordingQuality\").value = this.state.recordingQuality;\r\n document.getElementById(\"recordingRotateSpeed\").value = this.state.recordingRotateSpeed;\r\n document.getElementById(\"recordingRotateAxis\").value = this.state.recordingRotateAxis;\r\n document.getElementById(\"recordingRotateDirection\").value = this.state.recordingRotateDirection;\r\n document.getElementById(\"recordingRotateDiffMilSecond\").value = this.state.recordingRotateDiffMilSecond;\r\n }\r\n\r\n sceneEnvClick = (value) => {\r\n this.setState({selectedSceneEnv: value})\r\n document.getElementById(\"selectedSceneEnv\").value = value;\r\n }\r\n\r\n diamondEnvClick = (value) => {\r\n this.setState({selectedDiamondEnv: value})\r\n document.getElementById(\"selectedDiamondEnv\").value = value;\r\n }\r\n\r\n\r\n recordingQualityChange = (value) => {\r\n this.setState({recordingQuality: value.target.value})\r\n document.getElementById(\"recordingQuality\").value = value.target.value;\r\n }\r\n recordingRotateSpeedChange = (value) => {\r\n this.setState({recordingRotateSpeed: value.target.value})\r\n document.getElementById(\"recordingRotateSpeed\").value = value.target.value;\r\n }\r\n recordingRotateAxisChange = (value) => {\r\n this.setState({recordingRotateAxis: value.target.value})\r\n document.getElementById(\"recordingRotateAxis\").value = value.target.value;\r\n }\r\n recordingRotateDirectionChange = (value) => {\r\n this.setState({recordingRotateDirection: value.target.value})\r\n document.getElementById(\"recordingRotateDirection\").value = value.target.value;\r\n }\r\n recordingRotateDiffMilSecondChange = (value) => {\r\n this.setState({recordingRotateDiffMilSecond: value.target.value})\r\n document.getElementById(\"recordingRotateDiffMilSecond\").value = value.target.value;\r\n }\r\n\r\n \r\n\r\n render() {\r\n return (\r\n \r\n this.toggleMenuVisibility('sceneSetup')}\r\n collapsed={this.state.sceneSetup ? 1 : 0}>\r\n {\r\n this.state.sceneSetup && this.state.apiLoaded ?\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.toggleMenuVisibility('sceneEnvironment')}\r\n collapsed={this.state.sceneEnvironment ? 1 : 0}>\r\n {\r\n this.state.sceneEnvironment ?\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 this.toggleMenuVisibility('diamondEnvironment')}\r\n collapsed={this.state.diamondEnvironment ? 1 : 0}>\r\n {\r\n this.state.diamondEnvironment ?\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.toggleMenuVisibility('background')}\r\n collapsed={this.state.background ? 1 : 0}>\r\n {\r\n this.state.background ?\r\n \r\n \r\n \r\n {/* */}\r\n : ''\r\n }\r\n \r\n\r\n this.toggleMenuVisibility('gizmo')}\r\n collapsed={this.state.gizmo ? 1 : 0}>\r\n {\r\n this.state.gizmo ?\r\n \r\n \r\n \r\n : ''\r\n }\r\n \r\n\r\n this.toggleMenuVisibility('straightenModel')}\r\n collapsed={this.state.straightenModel ? 1 : 0}>\r\n {\r\n this.state.straightenModel ?\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.props.userPermission != undefined && this.props.userPermission.isShowSceneView) ? \r\n this.toggleMenuVisibility('sceneView')}\r\n collapsed={this.state.sceneView ? 1 : 0}>\r\n {\r\n this.state.sceneView ?\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.props.userPermission != undefined && this.props.userPermission.isAllowOutline) ? \r\n this.toggleMenuVisibility('outline')}\r\n collapsed={this.state.outline ? 1 : 0}>\r\n {\r\n this.state.outline ?\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.toggleMenuVisibility('cameraMode')}\r\n collapsed={this.state.cameraMode ? 1 : 0}>\r\n {\r\n this.state.cameraMode ?\r\n \r\n \r\n : ''\r\n }\r\n */}\r\n\r\n this.toggleMenuVisibility('camera')}\r\n collapsed={this.state.camera ? 1 : 0}>\r\n {\r\n this.state.camera ?\r\n \r\n \r\n \r\n {lang.camera_double_click}\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 (this.props.userPermission != undefined && this.props.userPermission.isShowRestrictCamera) ? \r\n this.toggleMenuVisibility('restrictCamera')}\r\n collapsed={this.state.restrictCamera ? 1 : 0}>\r\n {\r\n this.state.restrictCamera ?\r\n \r\n \r\n \r\n {/* \r\n */}\r\n \r\n \r\n \r\n\r\n 3.14 ? 3.14 : this.props.config.camera.orbitParams.maxPolarAngle) : 0} type=\"maxPolarAngle\" />\r\n 3.14 ? 3.14 : this.props.config.camera.orbitParams.minPolarAngle) : 0} type=\"minPolarAngle\" />\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.toggleMenuVisibility('groundShadows')}\r\n collapsed={this.state.groundShadows ? 1 : 0}>\r\n {\r\n this.state.groundShadows ?\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.props.userPermission != undefined && this.props.userPermission.isShowGroundReflection) ? \r\n this.toggleMenuVisibility('groundReflection')}\r\n collapsed={this.state.groundReflection ? 1 : 0}>\r\n {\r\n this.state.groundReflection ?\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 (this.props.userPermission != undefined && this.props.userPermission.isShowAutoRotate) ? \r\n this.toggleMenuVisibility('autoRotate')}\r\n collapsed={this.state.autoRotate ? 1 : 0}>\r\n {\r\n this.state.autoRotate ?\r\n \r\n \r\n \r\n : ''\r\n }\r\n \r\n : ''\r\n }\r\n\r\n {\r\n (this.props.userPermission != undefined && this.props.userPermission.isShowScreenshot) ? \r\n this.toggleMenuVisibility('screenshot')}\r\n collapsed={this.state.screenshot ? 1 : 0}>\r\n {\r\n this.state.screenshot ?\r\n \r\n \r\n \r\n : ''\r\n }\r\n \r\n : ''\r\n }\r\n\r\n {\r\n (this.props.userPermission != undefined && this.props.userPermission.isShowScreenRecording) ? \r\n this.toggleMenuVisibility('screenrecording')}\r\n collapsed={this.state.screenrecording ? 1 : 0}>\r\n {\r\n this.state.screenrecording ?\r\n \r\n
\r\n
\r\n Record\r\n
\r\n
\r\n
\r\n
\r\n Video Quality\r\n
\r\n
\r\n {/* */}\r\n \r\n
\r\n
\r\n {/*
\r\n
\r\n Rotate Speed\r\n
\r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n
\r\n Rotate By Axis\r\n
\r\n
\r\n {/* */}\r\n \r\n
\r\n
\r\n
\r\n
\r\n Direction\r\n
\r\n
\r\n {/* */}\r\n \r\n
\r\n
\r\n {/*
\r\n
\r\n Fine-tune\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.props.userPermission != undefined && this.props.userPermission.isShowIcons) ? \r\n this.toggleMenuVisibility('icons')}\r\n collapsed={this.state.icons ? 1 : 0}>\r\n {\r\n this.state.icons ?\r\n \r\n \r\n \r\n {lang.show_fullscreen}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {lang.show_info}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {lang.show_screenshot}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {lang.show_change_background}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {lang.show_3d_configurator}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {lang.measurement}\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
{lang.create_your_combinations}
\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\nexport default SceneSettings","import {connect} from \"react-redux\";\r\nimport SceneSettings from \"../../components/Configurator/Sidebar/SceneSettings/SceneSettings\";\r\n\r\nconst mapStateToProps = (state) => {\r\n console.log(\"Scene Settings Container mapStateToProps\");\r\n return {\r\n api: state.sceneConfig.api,\r\n config: state.sceneConfig.config,\r\n geometry: state.sceneConfig.geometry,\r\n materials: state.sceneConfig.materials,\r\n pixelRatio: state.sceneConfig.pixelRatio,\r\n userPermission: state.user.userPermission\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(SceneSettings)","import React from \"react\";\r\nimport {Col, Row} from \"react-bootstrap\";\r\n\r\n//EXTERNAL ON CLICK BUTTON\r\nfunction MenuItemButton3(props) {\r\n return (\r\n {\r\n \r\n {props.name}\r\n \r\n }\r\n \r\n )\r\n}\r\n\r\nexport default MenuItemButton3","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Form} from \"react-bootstrap\";\r\nimport Dropzone from \"react-dropzone\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n selectMeshes,\r\n refractionMaterialToggleVisibility,\r\n} from \"../../../../actions/actionsCreators\";\r\nimport axios from '../../../../axios';\r\n\r\n//HIGHLIGHT BUTTON\r\nclass LayerInfo extends Component {\r\n /**\r\n * Filter all button types and fire its specific action\r\n */\r\n state = {\r\n isSelected: false,\r\n labelUrl: '',\r\n tag: '',\r\n displayName: '',\r\n price: 0,\r\n isUpdatingPrice: false,\r\n isUpdatingTag: false,\r\n visible: false\r\n }\r\n dispatchAction = (type, value) => {\r\n switch (type) {\r\n case 'selectMeshes':\r\n //localStorage.setItem('current-part', value);\r\n this.props.selectMeshes(value)\r\n break;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n\r\n handleVisible = (value) => {\r\n this.setState({visible: !this.state.visible});\r\n this.props.selectMeshes(this.props.value);\r\n this.props.refractionMaterialToggleVisibility(!this.state.visible);\r\n }\r\n\r\n componentDidMount(){\r\n let url = '';\r\n let tag = '';\r\n let display_name = '';\r\n let price = 0;\r\n let layers_label = document.getElementById(\"layers_label\").value;\r\n if(layers_label != \"\"){\r\n layers_label = JSON.parse(layers_label);\r\n if(layers_label[this.props.uuid]){\r\n url = layers_label[this.props.uuid]\r\n }\r\n }else{\r\n layers_label = {};\r\n }\r\n \r\n let layers_tag = document.getElementById(\"layers_tag\").value;\r\n if(layers_tag != \"\"){\r\n layers_tag = JSON.parse(layers_tag);\r\n if(layers_tag[this.props.uuid]){\r\n tag = layers_tag[this.props.uuid]\r\n }\r\n }else{\r\n layers_tag = {};\r\n }\r\n \r\n \r\n\r\n let layers_price = document.getElementById(\"layers_price\").value;\r\n if(layers_price != \"\"){\r\n layers_price = JSON.parse(layers_price);\r\n if(layers_price[this.props.uuid]){\r\n price = layers_price[this.props.uuid]\r\n }\r\n }else{\r\n layers_price = {};\r\n }\r\n\r\n let layers_display_name = document.getElementById(\"layers_display_name\").value;\r\n if(layers_display_name != \"\"){\r\n layers_display_name = JSON.parse(layers_display_name);\r\n if(layers_display_name[this.props.uuid]){\r\n display_name = layers_display_name[this.props.uuid]\r\n }\r\n }else{\r\n layers_display_name = {};\r\n }\r\n\r\n \r\n\r\n\r\n this.setState({\r\n ...this.state,\r\n labelUrl: layers_label[this.props.uuid],\r\n tag: layers_tag[this.props.uuid],\r\n price: layers_price[this.props.uuid],\r\n displayName: layers_display_name[this.props.uuid] ?? this.props.name,\r\n visible: this.props.visible\r\n })\r\n }\r\n\r\n uploadLayerLabel = (e) => {\r\n let layer_name = this.props.uuid; \r\n let layers_label = document.getElementById(\"layers_label\").value;\r\n if(layers_label != \"\"){\r\n layers_label = JSON.parse(layers_label);\r\n }else{\r\n layers_label = {};\r\n }\r\n const files = Array.from(e.target.files);\r\n \r\n let layerLabelData = new FormData();\r\n layerLabelData.append('label', files[0]);\r\n \r\n axios.post('combination/upload-layer-label', layerLabelData\r\n ).then(response => {\r\n let labelPath = response.data.data;\r\n layers_label[layer_name] = labelPath;\r\n document.getElementById(\"layers_label\").value = JSON.stringify(layers_label);\r\n console.log(document.getElementById(\"layers_label\").value);\r\n setTimeout(() => {\r\n this.setState({\r\n ...this.state,\r\n labelUrl: labelPath\r\n })\r\n \r\n axios.post('layer/create', {layerId: layer_name, label: labelPath}\r\n ).then(response => {\r\n \r\n });\r\n }, 3000);\r\n });\r\n }\r\n\r\n updateDisplayName = (e) => {\r\n let layer_name = this.props.uuid;\r\n let layers_display_name = document.getElementById(\"layers_display_name\").value;\r\n if(layers_display_name != \"\"){\r\n layers_display_name = JSON.parse(layers_display_name);\r\n }else{\r\n layers_display_name = null;\r\n }\r\n layers_display_name[layer_name] = e.target.value;\r\n document.getElementById(\"layers_display_name\").value = JSON.stringify(layers_display_name);\r\n this.setState({\r\n ...this.state,\r\n displayName: e.target.value\r\n })\r\n }\r\n\r\n updateTag = (e) => {\r\n let layer_name = this.props.uuid;\r\n let layers_tag = document.getElementById(\"layers_tag\").value;\r\n if(layers_tag != \"\"){\r\n layers_tag = JSON.parse(layers_tag);\r\n }else{\r\n layers_tag = {};\r\n }\r\n layers_tag[layer_name] = e.target.value;\r\n document.getElementById(\"layers_tag\").value = JSON.stringify(layers_tag);\r\n this.setState({\r\n ...this.state,\r\n tag: e.target.value\r\n })\r\n }\r\n\r\n updatePrice = (e) => {\r\n let layer_name = this.props.uuid;\r\n let layers_price = document.getElementById(\"layers_price\").value;\r\n if(layers_price != \"\"){\r\n layers_price = JSON.parse(layers_price);\r\n }else{\r\n layers_price = {};\r\n }\r\n layers_price[layer_name] = e.target.value;\r\n document.getElementById(\"layers_price\").value = JSON.stringify(layers_price);\r\n this.setState({\r\n ...this.state,\r\n price: e.target.value\r\n })\r\n \r\n // axios.post('layer/create', {layerId: layer_name, price: e.target.value}\r\n // ).then(response => {\r\n \r\n // });\r\n }\r\n\r\n updateLayer = () => {\r\n let layer_name = this.props.uuid;\r\n axios.post('layer/create', {layerId: layer_name, price: this.state.price, tag: this.state.tag, displayName: this.state.displayName}\r\n ).then(response => {\r\n // alert(\"Success!\");\r\n });\r\n }\r\n\r\n //Files upload handling only for menu Upload Files\r\n \r\n\r\n render() {\r\n console.log(this.props.name + \"---------------\" + this.props.uuid);\r\n return (\r\n \r\n {\r\n (this.props.pickedObject != undefined && this.props.pickedObject === this.props.orgName) ? \r\n this.dispatchAction(this.props.type, this.props.value)}>\r\n {this.props.name}\r\n \r\n \r\n : \r\n this.dispatchAction(this.props.type, this.props.value)}>\r\n {this.props.name}\r\n \r\n \r\n }\r\n \r\n {\r\n (this.props.pickedObject != undefined && this.props.pickedObject === this.props.orgName) ? \r\n \r\n {this.props.presetFolderName != null ? this.props.presetFolderName : 'N/F'}\r\n {this.props.presetName != null ? this.props.presetName : 'N/M'}\r\n \r\n : \r\n this.dispatchAction(this.props.type, this.props.value)}>\r\n {this.props.presetFolderName != null ? this.props.presetFolderName : 'N/F'}\r\n {this.props.presetName != null ? this.props.presetName : 'N/M'}\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 Swap Tag\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Layer Price\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Display Name\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\nconst mapDispatchToProps = {\r\n selectMeshes: selectMeshes,\r\n refractionMaterialToggleVisibility: refractionMaterialToggleVisibility,\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(LayerInfo)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Button, Form} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport {\r\n changeMaterialName,\r\n} from \"../../../../actions/actionsCreators\";\r\nimport closeIcon from \"../../../../assets/close-icon@2x.png\";\r\n\r\nclass RenameMaterial extends Component {\r\n state = {\r\n show: false,\r\n material: {},\r\n hasError: false,\r\n error: ''\r\n };\r\n\r\n /**\r\n * On component mount set material object so that current label can be displayed on modal\r\n */\r\n componentDidMount() {\r\n this.props.materialsList.map(material => {\r\n if (material.value === this.props.value) {\r\n this.setState({\r\n material: {...material}\r\n })\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * Update materials array on state and close modal\r\n */\r\n dispatchAction = () => {\r\n if (!this.state.hasError) {\r\n let materials = this.props.materialsList.map(element => {\r\n let {...material} = element\r\n if (material.value === this.state.material.value) {\r\n material.label = this.state.material.label\r\n }\r\n return material\r\n })\r\n this.props.changeMaterialName(materials)\r\n this.handleClose()\r\n }\r\n }\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n })\r\n }\r\n\r\n /**\r\n * Updates field value on change\r\n * @param e\r\n */\r\n updateField = (e) => {\r\n this.setState({\r\n material: {\r\n value: this.state.material.value,\r\n label: e.target.value,\r\n },\r\n hasError: !e.target.value,\r\n error: 'Name can not be empty'\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.props.name}\r\n \r\n \r\n \r\n \r\n Rename Material\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n \r\n New Name\r\n \r\n \r\n \r\n \r\n {\r\n this.state.hasError ?\r\n \r\n \r\n \r\n {this.state.error}\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\nconst mapDispatchToProps = {\r\n changeMaterialName: changeMaterialName,\r\n\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n materialsList: state.sceneConfig.materialsList,\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RenameMaterial)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Form} from \"react-bootstrap\";\r\nimport {\r\n selectMaterial\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nclass MenuItemFullSizeDropdown extends Component{\r\n\r\n state = {\r\n value: this.props.value ? this.props.value : '',\r\n }\r\n\r\n /**\r\n * Filter all input range types and fire its specific action\r\n */\r\n dispatchAction = (type, value) => {\r\n switch (type) {\r\n case 'selectMaterial':\r\n this.props.selectMaterial(value)\r\n break;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n handleChange = (event) => {\r\n this.setState({value: event.target.value});\r\n this.dispatchAction(this.props.type, event.target.value)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {\r\n this.props.options.map((option, i) => {\r\n return \r\n })\r\n }\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n selectMaterial: selectMaterial,\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(MenuItemFullSizeDropdown)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Form} from \"react-bootstrap\";\r\nimport {\r\n selectMaterial,\r\n selectMeshes,\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nclass MenuItemFullSizeDropdown2 extends Component{\r\n\r\n state = {\r\n name: this.props.name ? this.props.name : '',\r\n }\r\n\r\n /**\r\n * Filter all input range types and fire its specific action\r\n */\r\n dispatchAction = (type, value) => {\r\n switch (type) {\r\n case 'selectMeshes':\r\n this.props.selectMeshes(value)\r\n break;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n handleChange = (event) => {\r\n this.setState({value: event.target.value});\r\n this.dispatchAction(this.props.type, event.target.value)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {\r\n this.props.options.map((option, i) => {\r\n return \r\n })\r\n }\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n selectMaterial: selectMaterial,\r\n selectMeshes: selectMeshes,\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(MenuItemFullSizeDropdown2)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Button, Form, Spinner} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport {\r\n savePreset,\r\n applyPreset,\r\n} from \"../../../../actions/actionsCreators\";\r\nimport axios from \"../../../../axios\";\r\nimport closeIcon from \"../../../../assets/close-icon@2x.png\";\r\n\r\nimport lang_it from '../../../../lang/lang_it.json';\r\nimport lang_en from '../../../../lang/lang_en.json';\r\nimport lang_fr from '../../../../lang/lang_fr.json';\r\nimport lang_vn from '../../../../lang/lang_vn.json';\r\nlet lang = {};\r\nclass SaveAsPresetModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n presetName: '',\r\n presetPrice: 0,\r\n folderUuid: null,\r\n loading: false\r\n };\r\n\r\n\r\n\r\n componentDidMount() {\r\n if(localStorage.getItem('lang')){\r\n switch(localStorage.getItem('lang')){\r\n case \"en\":\r\n lang = lang_en;\r\n break;\r\n case \"vn\":\r\n lang = lang_vn;\r\n break;\r\n case \"fr\":\r\n lang = lang_fr;\r\n break;\r\n case \"it\":\r\n lang = lang_it;\r\n break;\r\n }\r\n }else{\r\n lang = lang_en;\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Update materials array on state and close modal\r\n */\r\n\r\n savingPreset(materialData, label = ''){\r\n let payload = {\r\n \"presetFolder\": {\r\n \"id\": this.state.folderUuid\r\n },\r\n \"preset\": {\r\n \"name\": this.state.presetName,\r\n \"price\": this.state.presetPrice,\r\n //\"data\": this.props.material,\r\n \"labelColor\": document.getElementById(\"colorValue\").value,\r\n \"label\": label,\r\n \"data\": materialData,\r\n \"mesh\": this.props.material.id,\r\n \"createdAt\": new Date()\r\n }\r\n }\r\n\r\n axios.post('preset/create', payload).then(response => {\r\n this.setState({loading: false})\r\n let {data} = response\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n this.props.savePreset(this.state.presetName, this.state.folderUuid, data.data.preset, this.state.presetPrice)\r\n this.props.applyPreset(data.data.preset, this.state.folderUuid);\r\n this.handleClose()\r\n }\r\n }).catch(err => {\r\n console.log(err)\r\n this.setState({\r\n hasError: true,\r\n error: err.response.data.message,\r\n loading: false\r\n })\r\n })\r\n }\r\n\r\n dispatchAction = () => {\r\n if (!this.state.presetName) {\r\n this.setState({\r\n hasError: true,\r\n error: 'Preset name is required!'\r\n })\r\n }\r\n\r\n // if (!this.state.presetPrice) {\r\n // this.setState({\r\n // hasError: true,\r\n // error: 'Preset price is required!'\r\n // })\r\n // }\r\n\r\n if (!this.state.folderUuid) {\r\n this.setState({\r\n hasError: true,\r\n error: 'Folder is required!'\r\n })\r\n }\r\n\r\n if (!this.state.hasError && this.state.presetName && this.state.folderUuid) {\r\n\r\n this.setState({loading: true})\r\n\r\n var materialData = null;\r\n \r\n let materialTmp = this.props.material;\r\n materialTmp.map = this.props.selectedObjects.pickedObject.material.map;\r\n this.props.api.exportMaterialParams(materialTmp).then((value) => {\r\n materialData = (value);\r\n delete value['id']; //Note: if this is not removed, same material instance will be used when this is applied to some other mesh.\r\n \r\n let label = '';\r\n\r\n if(document.getElementById(\"label\").files[0] == undefined){\r\n this.savingPreset(materialData);\r\n }else{\r\n let materialLabelData = new FormData();\r\n materialLabelData.append('label', document.getElementById(\"label\").files[0]);\r\n \r\n axios.post('preset/upload-material-label-img', materialLabelData\r\n ).then(response => {\r\n label = response.data.data;\r\n console.log(label);\r\n this.savingPreset(materialData, label);\r\n });\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false,\r\n hasError: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true,\r\n hasError: false\r\n })\r\n }\r\n\r\n /**\r\n * Updates field value on change\r\n * @param e\r\n */\r\n updateField = (e) => {\r\n this.setState({\r\n presetName: e.target.value,\r\n hasError: !e.target.value,\r\n error: 'Name can not be empty'\r\n });\r\n }\r\n\r\n updatePrice = (e) => {\r\n this.setState({\r\n presetPrice: e.target.value,\r\n hasError: !e.target.value,\r\n error: 'Price can not be empty'\r\n });\r\n }\r\n\r\n handleFolderChange = (e) => {\r\n this.setState({\r\n folderUuid: e.target.value,\r\n hasError: !e.target.value,\r\n error: 'Please select a folder!'\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.props.name}\r\n \r\n \r\n \r\n \r\n {lang.save_material}\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n {\r\n this.props.presets.length === 0 ?\r\n \r\n \r\n Create a preset folder first !\r\n \r\n :\r\n \r\n \r\n \r\n {lang.material_name}\r\n \r\n \r\n \r\n \r\n \r\n {lang.material_price}\r\n \r\n \r\n \r\n \r\n\r\n \r\n {lang.select_material_folder}\r\n \r\n \r\n \r\n \r\n {\r\n this.props.presets.map(presetFolder => {\r\n return (\r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n\r\n \r\n {lang.select_material_label}\r\n {lang.use_generate_color}\r\n \r\n \r\n \r\n \r\n {\r\n this.state.hasError ?\r\n \r\n \r\n \r\n {this.state.error}\r\n \r\n : ''\r\n }\r\n \r\n {\r\n this.state.loading ?\r\n \r\n \r\n \r\n Loading...\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\nconst mapDispatchToProps = {\r\n savePreset: savePreset,\r\n applyPreset: applyPreset\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n selectedObjects: state.selectedObjects,\r\n material: state.selectedObjects.material,\r\n presets: state.presetLibrary.presets,\r\n api: state.sceneConfig.api\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SaveAsPresetModal)","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAAEEfUpiAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFFmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIwLTEyLTI2VDA2OjQ1OjA1KzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0xMi0yNlQwNzowNDo0MiswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMC0xMi0yNlQwNzowNDo0MiswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxZWFlYWZiYS0zM2Q0LWE1NDAtYmEyNy04ZjU4MjlmMzg3NzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MWVhZWFmYmEtMzNkNC1hNTQwLWJhMjctOGY1ODI5ZjM4Nzc5IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MWVhZWFmYmEtMzNkNC1hNTQwLWJhMjctOGY1ODI5ZjM4Nzc5Ij4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoxZWFlYWZiYS0zM2Q0LWE1NDAtYmEyNy04ZjU4MjlmMzg3NzkiIHN0RXZ0OndoZW49IjIwMjAtMTItMjZUMDY6NDU6MDUrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4yIChXaW5kb3dzKSIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5Gy3XaAAACiklEQVRYhcWXv2sUQRTHP3ueoMEiERTMcQfBwkpsFRUbWyOCiRDyDwgpvBRaiq2gFhpsFSzMCSIWwlVBLAxXxMJKhYAiFhbGSmy8ZzFv7t7Ozt7e3or5wjA3M2+++37Ne1wiIljUdW76jcRI7AMO1Yz0x1BiwCFAS9eXERE/pkUEv2iLA1YCEbmps/g9+5G7ZLEaMrRF5IsyNEOGR8APc/sqsD9jRwhr+UJMwDO01AEWN4AV791rkcs9YOAHCaxBRDoiUqxDLbZpUTe/T+nw2LI6hGNGstiOyVoVxAzrcY+5QGY+VHEFOFdkk6IPvIRsSkpgZwyHgWVg0d1I2+TjsaCZhWaXPWv6GIU+mAj1nP1n5rd/YEkwu0UknU8WfHQH+DCKoBTyfLBNOuYCzJQhmMPZ6sct4HxUUsNxMZK6RUBEBlE4CjwAbhdbTQJ8HiyME9cJQjQCr4E1SOfBK+DEmARrMQ06wBPge8HltxhNw0zcAr4C08BPXFf4PYotL4w7On/SeZVJa1oR/itB9NGETgyfrO+3sd6WIXiHa70PR2hxMNwIn/Mxcl6dweYogiJMAcfJ910feA/8GpcwryTGcAl4DnzDZX0/OK/hKv2syr6YRIEE15/ORmR9QA/g6vSf4HyPngFcB5aCcwHe4KpOrgJt4A7D0lStXg+RqFL3gb3AvaFa6b44P0FhLYsL9puVm1JV5GVzh2xTqzo6ZRTwaJJujpOMVoa1hAIWZ3BPb9HsbeIajMcVlTk9LmmZOnAEZ1HD7DVIv5SGysyOS1q5nVTFritQJgQ9oAtsmL3HpEOwoTK9sVkl8sdDRNa1aCzlnJcZy8r1NHaed2lKRLr/sPp1lTPzrV2vhH8Bh5jxlWLxEeMAAAAASUVORK5CYII=\"","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Button, Spinner} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport axios from '../../../../axios';\r\nimport {\r\n deletePreset,\r\n} from \"../../../../actions/actionsCreators\";\r\nimport trashIcon from \"../../../../assets/trash.png\";\r\nimport closeIcon from \"../../../../assets/close-icon@2x.png\";\r\n\r\nclass DeletePresetModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n })\r\n }\r\n\r\n /**\r\n * Send request to delete preset folder also remove it from state\r\n */\r\n deletePreset = () => {\r\n this.setState({loading: true})\r\n axios.post(\r\n 'preset/delete',\r\n {\r\n \"presetFolderId\": this.props.uuidPresetFolder,\r\n \"presetId\": this.props.uuidPreset\r\n }).then(response => {\r\n this.setState({loading: false})\r\n let {data} = response\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n this.props.deletePreset(this.props.uuidPreset, this.props.uuidPresetFolder)\r\n }\r\n }).catch(err => {\r\n console.log(err)\r\n this.setState({\r\n hasError: true,\r\n error: 'Error occurred, please contact support!',\r\n loading: false\r\n })\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \"\"\r\n \r\n \r\n Delete Preset\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n \r\n Are you sure you want to delete this preset?\r\n \r\n {\r\n this.state.hasError ?\r\n \r\n {this.state.error}\r\n : ''\r\n }\r\n \r\n {\r\n this.state.loading ?\r\n \r\n \r\n \r\n Loading...\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\nconst mapDispatchToProps = {\r\n deletePreset: deletePreset,\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(DeletePresetModal)","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAAEEfUpiAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF8WlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIwLTEyLTI2VDA2OjQ4OjU2KzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0xMi0yNlQwNzowMzo0NyswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMC0xMi0yNlQwNzowMzo0NyswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2MTlmYzM2Ny0zMGQ0LTRjNDMtYThmMS03YjE0YWJjNDgxODAiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1YzJmOGU4MC0yODE1LWM3NDktOGI4Mi1lNzlmNmUyMGQzNTkiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjOTE0ZDdlZi1kYmJkLTgyNDAtODU0Ni1iODFlYjlkZTc5YTYiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmM5MTRkN2VmLWRiYmQtODI0MC04NTQ2LWI4MWViOWRlNzlhNiIgc3RFdnQ6d2hlbj0iMjAyMC0xMi0yNlQwNjo0ODo1NiswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo2MTlmYzM2Ny0zMGQ0LTRjNDMtYThmMS03YjE0YWJjNDgxODAiIHN0RXZ0OndoZW49IjIwMjAtMTItMjZUMDc6MDM6NDcrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4yIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5KO+cBAAADOUlEQVRYhcWXz4tXVRTAP98cZya1EVMMEtJhykBtqzmabXJhiJv+A91G4rQJjMBAKBXRymjvtiBw5a+i1CERVzLSZiwdLYpspKB08uunxT3P7rx53/f9fmcGOnB49917fp/zzj2voZLDE0yHsUaJolFQ7AEagGWKaTLeAsZ74mUEWAUMof6ufqKiMkNGBleB8xSUGe6N5xGV/GBfPD/WZF2u4kdgEbCyrKfOhsrYFDAOTLaSMAGsBXYCA2UPbmXr0bIXE9n6YrEuNm5UHeYET6rX1a/KgUN9Wf1T3VUR1fZxKMECUpongM/r4lQFt4Ep4F4wTwK7qpJdxh+yAkAdMMHXaqOnRuMd4CgwmO0dAraR6jlBhcZxdaS095F6Ia+ychpQd6tN9Vq2d1z9ts7FYtGn/hHrp8PH01UaW6XxJWAFMAo86CIzXdfBDOimDgDWAR8CT81GwKvAGDAE/Pp4t4NCQt0Sgb0d78Pqd+U0tmNeHOt76vKo0LYCXgnm/mzviPpAfaadgM0VzD3qQ/X5qkrMcWNUZc7cH8xrqyoxx03qo6jOWuYqAYXZvRVmv1BlbZm5WWJeGHuDrWKVv6jeN+UYU6NsqqvrMlUsBtUz4ff9iHJTXVPHnAv41JRz1D2dMucCVM9F9D9Tn+2EORdw0FSenX4bj3HO/WCu0G0/6QY2AF+QpoNJ4DKwbwbVbMLWBreqP6tT6gfq0kjPsHpF/Vt909Rd5tWAQvE/6rumy/Qn01zwXtAsU79Uf1Pfny8Dtqg3o5L3mj7A4qyhvmbqobfUE0F3Ql01VwOGTU25UNzfgq5PPRl0o2atdLYGDKt3QuCI07tmjr2m5v9QvWwHzbAdbjLdaVPq2zWK+9XDoXhUfbFObqeKixzXKV6oHgvFF0x3R9vJpu5ws2lQK0Ld24Jugenvo6leMvXgtorrDFivfm/qyxfVlS2Y+0z/JU3TALi6G8UFljvhAHAAWA68AXxDGsfvAluDZglwHPiLNBMOkYamm0D3fb1k0Y7w/EC216vuj9yOxfNct6HuJAVL1V/Us1FQr5uq+ZKpuz1ST6nPzVVpKwPe8T+4G4W1PTxdNB/eVuH/fh3/Cy20IC4ifrzhAAAAAElFTkSuQmCC\"","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Button, Spinner, Form} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport axios from '../../../../axios';\r\nimport {\r\n editPreset,\r\n} from \"../../../../actions/actionsCreators\";\r\nimport trashIcon from \"../../../../assets/trash@2x.png\";\r\nimport brushIcon from \"../../../../assets/rename.png\";\r\nimport closeIcon from \"../../../../assets/close-icon@2x.png\";\r\n\r\nimport lang_it from '../../../../lang/lang_it.json';\r\nimport lang_en from '../../../../lang/lang_en.json';\r\nimport lang_fr from '../../../../lang/lang_fr.json';\r\nimport lang_vn from '../../../../lang/lang_vn.json';\r\nlet lang = {};\r\nclass EditPresetModal extends Component {\r\n\r\n componentDidMount() {\r\n if(localStorage.getItem('lang')){\r\n switch(localStorage.getItem('lang')){\r\n case \"en\":\r\n lang = lang_en;\r\n break;\r\n case \"vn\":\r\n lang = lang_vn;\r\n break;\r\n case \"fr\":\r\n lang = lang_fr;\r\n break;\r\n case \"it\":\r\n lang = lang_it;\r\n break;\r\n }\r\n }else{\r\n lang = lang_en;\r\n }\r\n }\r\n\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false,\r\n folderName: this.props.folderName,\r\n price: this.props.price\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n })\r\n }\r\n\r\n handleChange = e => {\r\n console.log(e.target.value);\r\n this.setState({\r\n [e.target.name]: e.target.value,\r\n })\r\n }\r\n\r\n /**\r\n * Send request to delete preset folder also remove it from state\r\n */\r\n\r\n savingPreset(label = null){\r\n\r\n axios.post('preset/edit-preset', {\r\n \"presetFolderId\": this.props.uuidPresetFolder,\r\n \"presetId\": this.props.uuidPreset,\r\n \"name\": this.state.folderName,\r\n \"label\": label,\r\n \"price\": this.state.price}).then(response => {\r\n let {data} = response\r\n this.setState({loading: false})\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n this.props.editPreset(this.props.uuid)\r\n }\r\n\r\n this.setState({\r\n show: false\r\n })\r\n }).catch(err => {\r\n this.setState({\r\n hasError: true,\r\n error: 'Error occurred, please contact support!',\r\n loading: false\r\n })\r\n })\r\n }\r\n\r\n editPreset = () => {\r\n this.setState({loading: true})\r\n\r\n if(document.getElementById(\"label\").files[0] == undefined){\r\n this.savingPreset();\r\n }else{\r\n let materialLabelData = new FormData();\r\n materialLabelData.append('label', document.getElementById(\"label\").files[0]);\r\n \r\n axios.post('preset/upload-material-label-img', materialLabelData\r\n ).then(response => {\r\n let label = response.data.data;\r\n console.log(label);\r\n this.savingPreset(label);\r\n });\r\n }\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \"\"\r\n \r\n \r\n {lang.rename_material}\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n \r\n {lang.enter_new_material_name}\r\n \r\n {\r\n this.state.hasError ?\r\n \r\n {this.state.error}\r\n : ''\r\n }\r\n \r\n {\r\n this.state.loading ?\r\n \r\n \r\n \r\n Loading...\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\nconst mapDispatchToProps = {\r\n editPreset: editPreset,\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(EditPresetModal)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Button} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport axios from '../../../../axios';\r\nimport {\r\n applyPreset,\r\n} from \"../../../../actions/actionsCreators\";\r\nimport brushIcon from \"../../../../assets/brush@2x.png\";\r\nimport closeIcon from \"../../../../assets/close-icon@2x.png\";\r\n\r\nclass ApplyPresetModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: ''\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n })\r\n }\r\n\r\n /**\r\n * Apply preset to selected objects\r\n */\r\n applyPreset = () => {\r\n axios.post('layer/create', {layerId: this.props.layerUuid, materialId: this.props.uuidPreset}\r\n ).then(response => {\r\n \r\n });\r\n this.props.applyPreset(this.props.uuidPreset, this.props.uuidPresetFolder)\r\n this.handleClose()\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \"\"\r\n \r\n \r\n Apply Preset\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n {\r\n !this.props.selectedObjects ?\r\n \r\n \r\n No objects selected in 3D model!\r\n \r\n :\r\n \r\n \r\n \r\n Are you sure you want to apply this preset to all selected objects ?\r\n \r\n {\r\n this.state.hasError ?\r\n \r\n {this.state.error}\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\nconst mapDispatchToProps = {\r\n applyPreset: applyPreset,\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n selectedObjects: state.selectedObjects.selected\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ApplyPresetModal)","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADaADAAQAAAABAAAADwAAAADTCkvOAAABC0lEQVQoFYWSsWoCQRRFdyR1JCGJYCwCKRIQBJsUWojYBOy12T6lP5AmbSBF8Cf8BOt8g01IFNFGBC2WkGplPJdsITOz8cLZNzPv3eHNzEbW2h78QPIPysdRphNiHbowhzxdk4gxjowxqUw7+GSyynNQvCV3B++MXw2fFyYyrsGAK8vCBSg3hkeZLhnUoACHUrE2S7M4JbagEtqZ9T+x4Q2jKtxDGX7hLWiiuE2yD2r5GyaKnDshhoVpCMVw1jkHhafwTLFaGjDWBXhyD6/3KMETnMMteHJNKljS+xdx4VVnC65J16wWr4g6k+aeXJPe5AEG0ATNPek3OpSudAYjOIMNHBetNeADOnnVe2d8gngZJ5FrAAAAAElFTkSuQmCC\"","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Button} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport axios from '../../../../axios';\r\nimport {\r\n applyPreset,\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nclass ApplyPresetModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: ''\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n })\r\n }\r\n\r\n /**\r\n * Apply preset to selected objects\r\n */\r\n applyPreset = () => {\r\n axios.post('layer/create', {layerId: this.props.layerUuid, materialId: this.props.uuidPreset}\r\n ).then(response => {\r\n \r\n });\r\n this.props.applyPreset(this.props.uuidPreset, this.props.uuidPresetFolder)\r\n this.handleClose()\r\n }\r\n\r\n render() {\r\n return (\r\n this.applyPreset()}>\r\n {this.props.name}\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n applyPreset: applyPreset,\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n selectedObjects: state.selectedObjects.selected\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ApplyPresetModal)","import React from \"react\";\r\nimport {Col, Row} from \"react-bootstrap\";\r\nimport DeletePresetModal from \"./DeletePresetModal\";\r\nimport EditPresetModal from \"./EditPresetModal\";\r\nimport ApplyPresetModal from \"./ApplyPresetModal\";\r\nimport PresetName from \"./PresetName\";\r\n\r\nconst Preset = (props) => {\r\n const displayData = props.user.userPermission.role == 'admin' ? true : false;\r\n\r\n return (\r\n \r\n \r\n {/* {props.name} */}\r\n \r\n \r\n \r\n {/* */}\r\n \r\n {\r\n displayData ?\r\n \r\n \r\n \r\n : ''\r\n }\r\n \r\n )\r\n}\r\n\r\nexport default Preset","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Button, Spinner} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport axios from '../../../../axios';\r\nimport {\r\n deletePresetFolder,\r\n} from \"../../../../actions/actionsCreators\";\r\nimport trashIcon from \"../../../../assets/trash.png\";\r\nimport closeIcon from \"../../../../assets/close-icon@2x.png\";\r\n\r\nclass DeletePresetFolderModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n })\r\n }\r\n\r\n /**\r\n * Send request to delete preset folder also remove it from state\r\n */\r\n deletePresetFolder = () => {\r\n this.setState({loading: true})\r\n axios.post('preset/delete-folder', {\"id\": this.props.uuid}).then(response => {\r\n let {data} = response\r\n this.setState({loading: false})\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n this.props.deletePresetFolder(this.props.uuid)\r\n }\r\n }).catch(err => {\r\n this.setState({\r\n hasError: true,\r\n error: 'Error occurred, please contact support!',\r\n loading: false\r\n })\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \"\"\r\n \r\n \r\n Delete Preset Folder\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n \r\n Are you sure you want to delete this folder with all its presets?\r\n \r\n {\r\n this.state.hasError ?\r\n \r\n {this.state.error}\r\n : ''\r\n }\r\n \r\n {\r\n this.state.loading ?\r\n \r\n \r\n \r\n Loading...\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\nconst mapDispatchToProps = {\r\n deletePresetFolder: deletePresetFolder,\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(DeletePresetFolderModal)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Button, Spinner} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport axios from '../../../../axios';\r\nimport {\r\n editPresetFolder,\r\n} from \"../../../../actions/actionsCreators\";\r\nimport trashIcon from \"../../../../assets/trash@2x.png\";\r\nimport brushIcon from \"../../../../assets/rename.png\";\r\nimport closeIcon from \"../../../../assets/close-icon@2x.png\";\r\n\r\nimport lang_it from '../../../../lang/lang_it.json';\r\nimport lang_en from '../../../../lang/lang_en.json';\r\nimport lang_fr from '../../../../lang/lang_fr.json';\r\nimport lang_vn from '../../../../lang/lang_vn.json';\r\nlet lang = {};\r\nclass EditPresetFolderModal extends Component {\r\n componentDidMount() {\r\n if(localStorage.getItem('lang')){\r\n switch(localStorage.getItem('lang')){\r\n case \"en\":\r\n lang = lang_en;\r\n break;\r\n case \"vn\":\r\n lang = lang_vn;\r\n break;\r\n case \"fr\":\r\n lang = lang_fr;\r\n break;\r\n case \"it\":\r\n lang = lang_it;\r\n break;\r\n }\r\n }else{\r\n lang = lang_en;\r\n }\r\n }\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false,\r\n folderName: this.props.folderName\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n })\r\n }\r\n\r\n handleChange = e => {\r\n console.log(e.target.value);\r\n this.setState({\r\n [e.target.name]: e.target.value,\r\n })\r\n }\r\n\r\n /**\r\n * Send request to delete preset folder also remove it from state\r\n */\r\n editPresetFolder = () => {\r\n this.setState({loading: true})\r\n axios.post('preset/edit-folder', {\"id\": this.props.uuid, \"name\": this.state.folderName}).then(response => {\r\n let {data} = response\r\n this.setState({loading: false})\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n this.props.editPresetFolder(this.props.uuid)\r\n }\r\n\r\n this.setState({\r\n show: false\r\n })\r\n }).catch(err => {\r\n this.setState({\r\n hasError: true,\r\n error: 'Error occurred, please contact support!',\r\n loading: false\r\n })\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \"\"\r\n \r\n \r\n {lang.rename_material_folder}\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n \r\n {lang.enter_new_material_folder_name}\r\n \r\n {\r\n this.state.hasError ?\r\n \r\n {this.state.error}\r\n : ''\r\n }\r\n \r\n {\r\n this.state.loading ?\r\n \r\n \r\n \r\n Loading...\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\nconst mapDispatchToProps = {\r\n editPresetFolder: editPresetFolder,\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(EditPresetFolderModal)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Button, Spinner} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport axios from '../../../../axios';\r\nimport {\r\n applyPresetFolder,\r\n} from \"../../../../actions/actionsCreators\";\r\nimport trashIcon from \"../../../../assets/trash@2x.png\";\r\nimport applyIcon from \"../../../../assets/gear@2x.png\";\r\nimport brushIcon from \"../../../../assets/assign-to-layer.png\";\r\nimport closeIcon from \"../../../../assets/close-icon@2x.png\";\r\nimport {\r\n applyPreset,\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nclass ApplyPresetFolderModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false,\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n })\r\n }\r\n\r\n handleChange = e => {\r\n this.setState({\r\n [e.target.name]: e.target.value,\r\n })\r\n }\r\n\r\n /**\r\n * Send request to delete preset folder also remove it from state\r\n */\r\n applyPresetFolder = () => {\r\n this.setState({loading: true})\r\n // axios.post('preset/apply-preset-folder-layer', {\r\n // \"presetFolderUuid\": this.props.uuid,\r\n // \"layerUuid\": this.props.layerUuid}).then(response => {\r\n // let {data} = response\r\n // this.setState({loading: false})\r\n // if (!data.success) {\r\n // this.setState({\r\n // hasError: true,\r\n // error: data.error.message\r\n // })\r\n // }\r\n\r\n // this.props.applyPresetFolder()\r\n // this.setState({\r\n // show: false\r\n // })\r\n // }).catch(err => {\r\n // this.setState({\r\n // hasError: true,\r\n // error: 'Error occurred, please contact support!',\r\n // loading: false\r\n // })\r\n // })\r\n \r\n axios.post('layer/create', {layerId: this.props.layerUuid, materialFolderId: this.props.uuid}\r\n ).then(response => {\r\n let {data} = response\r\n this.setState({loading: false})\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n this.props.applyPresetFolder()\r\n this.setState({\r\n show: false\r\n })\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \"\"\r\n \r\n \r\n Apply Material Library to Layer\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n \r\n Do you want to apply this Library to current Layer?\r\n \r\n {\r\n this.state.hasError ?\r\n \r\n {this.state.error}\r\n : ''\r\n }\r\n \r\n {\r\n this.state.loading ?\r\n \r\n \r\n \r\n Loading...\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\nconst mapDispatchToProps = {\r\n applyPresetFolder: applyPresetFolder,\r\n}\r\n\r\n\r\nexport default connect(null, mapDispatchToProps)(ApplyPresetFolderModal)","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAAEEfUpiAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFFmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIwLTEyLTI2VDA2OjUyOjIzKzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0xMi0yNlQwNzowNDoxNyswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMC0xMi0yNlQwNzowNDoxNyswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDphZjM2YmI0Zi03ZTdiLWNiNDYtOWQ4Ny1mNGMxMDY5ODdhZGEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6YWYzNmJiNGYtN2U3Yi1jYjQ2LTlkODctZjRjMTA2OTg3YWRhIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6YWYzNmJiNGYtN2U3Yi1jYjQ2LTlkODctZjRjMTA2OTg3YWRhIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDphZjM2YmI0Zi03ZTdiLWNiNDYtOWQ4Ny1mNGMxMDY5ODdhZGEiIHN0RXZ0OndoZW49IjIwMjAtMTItMjZUMDY6NTI6MjMrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4yIChXaW5kb3dzKSIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz65Ra4TAAACO0lEQVRYhcWWv2sUQRTHP5vbqBC0UKtEsBE8ELW44rSwMELASoT8ASJoZ2FrJ9holBNLC0/Q2iZwRDQWgiIWFqKIZYwI2gj+QCSGr8XOXCabmZ3d7B75wmNm3rx585335lciCRdj5BBV9BKfD+UVLg4i6bgkrFgfV/OzAdeAFWsgjwFA27qS69ZIz50iiKhBaso8yd/AjZgHAUnqNAqnSDx9/WzoxuUhqWvrNtZfQlPUj0MMqVMXMBOx3wU8BK4AvWzU2sJ8+QzJA0kH3CBUxT+gBetjIPz5cDEGTAHLVuHGYCUyeAnYBkwA34FDwK/82mblx4Lp70ia8x2pTaO2g81mYQgbxL3ApRL2L4HHIQdd4FbEwVlgATfdJpptSfdK7sJpSQPbToNzhfEMWLQNm4U28KGiowTWZ6FvlGVkiNpprOrggimHLKo6uBtisAR0CgZeNzbW9vWwx8nvqqTDkT2w4dZy90GL7KLY52EQvGi2/jTWZlAXtVfQNIE22evQpCwDs2UJWFQ51zE5DdwhewuPlSXQJN4Bk8B74Dmww+0M3afbgT0jIHIE2A98jBE4AdxvmMBRnzJE4ClwvmECfeBcWQKjwDywG/jkKke5CTtkx3DOtB8BZ4A/RQRWTTneAIE0V/rheXIG5tk5VeHDbOWmpM9Gvhk/Px3dG0k7y3wuL5N9sv6SnYZF4EfROoC3wFdH1wVeAbeNPy9ij9E4cJLsCE0UGQJPgBdOuwVcBAas/QYqExg5tvw1/A+Cx/3tRnlSNwAAAABJRU5ErkJggg==\"","import React, {Component} from \"react\";\r\nimport folderIcon from '../../../../assets/folder@2x.png';\r\nimport {Col, Row} from \"react-bootstrap\";\r\nimport Preset from \"./Preset\";\r\nimport DeletePresetFolderModal from \"./DeletePresetFolderModal\";\r\nimport EditPresetFolderModal from \"./EditPresetFolderModal\";\r\nimport ApplyPresetFolderModal from \"./ApplyPresetFolderModal\";\r\nimport arrowUp from '../../../../assets/arrow-up@2x.png';\r\nimport arrowDown from '../../../../assets/down-arrow@2x.png';\r\n\r\nclass PresetFolder extends Component {\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \"\"/\r\n {this.props.name}\r\n \r\n \r\n \r\n {\r\n this.props.collapsed ?\r\n \"\"\r\n :\r\n \"\"\r\n }\r\n \r\n \r\n {\r\n this.props.presets && this.props.collapsed ?\r\n this.props.presets.map(preset => {\r\n return \r\n })\r\n : this.props.collapsed && !this.props.presets ?\r\n \r\n \r\n No Presets !\r\n \r\n \r\n : ''\r\n }\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default PresetFolder","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAFKADAAQAAAABAAAAEAAAAABHXVY9AAABKUlEQVQ4EeWUsWoCQRCGXTnCJfoIaQXBTkJCNAR8CCFY2PsMvoStIU1ISBVt8gTpBZuk8hpBu4CFeKjErN8PLtzBQuBil4GPmd2d/WcWdtfkDmatLRA2oejmEn5H/GiMiRNz3tC4WQTbxHMYuTm8hROowBU8wBZ8FlPwxyAUstqCG/iANTj7JlBnG/Juia/BJ6jGTuFFgj2CNxhDAK5rdafOLuAedFytuXVCBhSTR+cc15fglKDEgq+yEhusX4K6VZGkSfwMnmEGE22IQJOZjL1l6EAeonwmlfSmL4bqVOSOIZjSSA1U4a/2fwQt107PMzjGkXU3Q65MDT/QyxC6tFlNL0UvagFdiQ2hToVPfBarsumdIz9ps/sc7oh935ZyfrMlCa8IrpS4BzvrYs2U3wx6AAAAAElFTkSuQmCC\"","import React, {Component} from 'react'\r\nimport PresetFolder from \"./PresetFolder\";\r\nimport './Preset.css';\r\nimport { connect } from 'react-redux';\r\n\r\nclass PresetsLibrary extends Component {\r\n state = {\r\n menusCollapsedState: {}\r\n }\r\n\r\n /**\r\n * Add presets folder ids in state with false value.\r\n * To be used to track which folder group is collapsed\r\n */\r\n componentDidMount() {\r\n let menusCollapsedState = {}\r\n console.log('Preset Library componentDidMount');\r\n console.log(this.props.presetLibrary);\r\n this.props.presetLibrary.presets.forEach(folder => {\r\n menusCollapsedState = {\r\n ...menusCollapsedState,\r\n [folder.uuid]: false\r\n }\r\n })\r\n\r\n //Changes folders collapsed state\r\n this.setState({\r\n menusCollapsedState: {...menusCollapsedState}\r\n })\r\n }\r\n\r\n /**\r\n * Toggles folders collapsed status, only one folder can stay open at a time\r\n * @param uuid\r\n */\r\n collapseMenu = (uuid) => {\r\n\r\n let newState = {}\r\n Object.keys({...this.state.menusCollapsedState}).forEach(key => {\r\n newState = {\r\n ...newState,\r\n [key]: false\r\n }\r\n })\r\n\r\n this.setState({\r\n menusCollapsedState: {\r\n ...newState,\r\n [uuid]: !this.state.menusCollapsedState[uuid]\r\n }\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {\r\n this.props.presetLibrary.presets.map(folder => {\r\n return this.collapseMenu(folder.uuid)}\r\n />\r\n })\r\n }\r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n presetLibrary: state.presetLibrary,\r\n user: state.user\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PresetsLibrary)","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Modal, Button, Form, Spinner} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport {\r\n savePresetFolder,\r\n} from \"../../../../actions/actionsCreators\";\r\nimport axios from \"../../../../axios\";\r\nimport closeIcon from '../../../../assets/close-icon@2x.png';\r\n\r\nclass CreatePresetFolderModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n folderName: '',\r\n loading: false\r\n };\r\n\r\n /**\r\n * Update materials array on state and close modal\r\n */\r\n dispatchAction = () => {\r\n if (!this.state.folderName) {\r\n this.setState({\r\n hasError: true,\r\n error: 'Preset name is required!'\r\n })\r\n }\r\n\r\n if (!this.state.hasError && this.state.folderName) {\r\n this.setState({loading: true})\r\n axios.post('preset/create-folder', {name: this.state.folderName}).then(response => {\r\n this.setState({loading: false})\r\n let {data} = response\r\n if (!data.success) {\r\n this.setState({\r\n hasError: true,\r\n error: data.error.message\r\n })\r\n }\r\n\r\n if (data.success) {\r\n this.props.savePresetFolder(this.state.folderName, data.data.presetFolder)\r\n this.handleClose()\r\n }\r\n }).catch(err => {\r\n console.log(err)\r\n this.setState({\r\n hasError: true,\r\n error: 'Error occurred, please contact support!',\r\n loading: false\r\n })\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleClose = () => {\r\n this.setState({\r\n show: false,\r\n hasError: false\r\n })\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true,\r\n hasError: false\r\n })\r\n }\r\n\r\n /**\r\n * Updates field value on change\r\n * @param e\r\n */\r\n updateField = (e) => {\r\n this.setState({\r\n folderName: e.target.value,\r\n hasError: !e.target.value,\r\n error: 'Name can not be empty'\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 CREATE MATERIAL FOLDER\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n \r\n \r\n {\r\n this.state.hasError ?\r\n \r\n \r\n \r\n {this.state.error}\r\n \r\n : ''\r\n }\r\n \r\n {\r\n this.state.loading ?\r\n \r\n \r\n \r\n Loading...\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\nconst mapDispatchToProps = {\r\n savePresetFolder: savePresetFolder,\r\n\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n presets: state.presetLibrary.presets\r\n }\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(CreatePresetFolderModal)","export const sideOptions = [\r\n {value: 2, label: 'Double'},\r\n {value: 0, label: 'Front'},\r\n {value: 1, label: 'Back'},\r\n]\r\n\r\n","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Col, Row, Form} from \"react-bootstrap\";\r\nimport {\r\n changeCameraMode,\r\n changeSsaoDownscaleLevel,\r\n changeGroundShadowSide,\r\n changeSide,\r\n mapWrapU,\r\n mapWrapV\r\n} from \"../../../../actions/actionsCreators\";\r\n\r\nclass WarpUVDropdown extends Component{\r\n state = {\r\n value: this.props.value ? this.props.value : '',\r\n }\r\n\r\n /**\r\n * Filter all input range types and fire its specific action\r\n */\r\n dispatchAction = (type, value) => {\r\n switch (type) {\r\n case 'cameraMode':\r\n this.props.changeCameraMode(value)\r\n break;\r\n case 'ssaoDownscaleLevel':\r\n this.props.changeSsaoDownscaleLevel(value)\r\n break;\r\n case 'groundShadowSide':\r\n this.props.changeGroundShadowSide(value)\r\n break;\r\n case 'sideChange':\r\n this.props.changeSide(value)\r\n break;\r\n case 'normalMapWrapU':\r\n this.props.mapWrapU('normalMap', value)\r\n break;\r\n case 'normalMapWrapV':\r\n this.props.mapWrapV('normalMap', value)\r\n break;\r\n case 'colorMapWrapU':\r\n this.props.mapWrapU('map', value)\r\n break;\r\n case 'colorMapWrapV':\r\n this.props.mapWrapV('map', value)\r\n break;\r\n\r\n case 'lightMapWrapU':\r\n this.props.mapWrapU('lightMap', value)\r\n break;\r\n case 'lightMapWrapV':\r\n this.props.mapWrapV('lightMap', value)\r\n break;\r\n case 'emissiveMapWrapU':\r\n this.props.mapWrapU('emissiveMap', value)\r\n break;\r\n case 'emissiveMapWrapV':\r\n this.props.mapWrapV('emissiveMap', value)\r\n break;\r\n case 'bumpMapWrapU':\r\n this.props.mapWrapU('bumpMap', value)\r\n break;\r\n case 'bumpMapWrapV':\r\n this.props.mapWrapV('bumpMap', value)\r\n break;\r\n case 'roughnessMapWrapU':\r\n this.props.mapWrapU('roughnessMap', value)\r\n break;\r\n case 'roughnessMapWrapV':\r\n this.props.mapWrapV('roughnessMap', value)\r\n break;\r\n case 'metalnessMapWrapU':\r\n this.props.mapWrapU('metalnessMap', value)\r\n break;\r\n case 'metalnessMapWrapV':\r\n this.props.mapWrapV('metalnessMap', value)\r\n break;\r\n case 'alphaMapWrapU':\r\n this.props.mapWrapU('alphaMap', value)\r\n break;\r\n case 'alphaMapWrapV':\r\n this.props.mapWrapV('alphaMap', value)\r\n break;\r\n case 'aoMapWrapU':\r\n this.props.mapWrapU('aoMap', value)\r\n break;\r\n case 'aoMapWrapV':\r\n this.props.mapWrapV('aoMap', value)\r\n break;\r\n\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n handleChange = (event) => {\r\n this.setState({value: event.target.value});\r\n this.dispatchAction(this.props.type, event.target.value)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.name}\r\n \r\n \r\n \r\n {\r\n this.props.options.map((option, i) => {\r\n return \r\n })\r\n }\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n changeCameraMode: changeCameraMode,\r\n changeSsaoDownscaleLevel: changeSsaoDownscaleLevel,\r\n changeGroundShadowSide: changeGroundShadowSide,\r\n changeSide: changeSide,\r\n mapWrapU: mapWrapU,\r\n mapWrapV: mapWrapV\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(WarpUVDropdown)","import React, {Component} from \"react\";\r\nimport MenuGroup from \"../MenuItems/MenuGroup\";\r\nimport {Col, Row} from \"react-bootstrap\";\r\nimport {connect} from \"react-redux\";\r\n\r\nimport MenuItemButton3 from \"../MenuItems/MenuItemButton3\";\r\nimport LayerInfo from \"../MenuItems/LayerInfo\";\r\nimport MenuItemButton from \"../MenuItems/MenuItemButton\";\r\nimport MenuItemTextBox from \"../MenuItems/MenuItemTextBox\";\r\nimport MenuItemColorPicker from \"../MenuItems/MenuItemColorPicker\";\r\nimport MenuItemInputRange from \"../MenuItems/MenuItemInputRange\";\r\nimport MenuItemCheckbox from \"../MenuItems/MenuItemCheckbox\";\r\nimport RenameMaterial from \"../Modals/RenameMaterial\";\r\nimport MenuItemFullSizeDropdown from \"../MenuItems/MenuItemFullSizeDropdown\";\r\nimport MenuItemFullSizeDropdown2 from \"../MenuItems/MenuItemFullSizeDropdown2\";\r\nimport SaveAsPresetModal from \"../Modals/SaveAsPresetModal\";\r\nimport PresetsLibrary from \"../PresetsLibrary/PresetsLibrary\";\r\nimport CreatePresetFolderModal from \"../PresetsLibrary/CreatePresetFolderModal\";\r\nimport AddCombinationModal from \"../../Combinations/AddCombinationModal\";\r\nimport AddCombinationSceneInfoAlertModal from \"../../Combinations/AddCombinationSceneInfoAlertModal\";\r\nimport ShowCombinationsModal from \"../../Combinations/ShowCombinationsModal\";\r\nimport {mapWrapUV, normalMapType, colorMapEncoding} from \"../../../../helpers/dropDownOptions\";\r\nimport {sideOptions} from \"../../../../helpers/sideOptions\";\r\nimport MenuItemDropdown from \"../MenuItems/MenuItemDropdown\";\r\nimport WarpUVDropdown from \"../MenuItems/WarpUVDropdown\";\r\nimport {FileLoader} from \"three\";\r\nimport axios from '../../../../axios';\r\nimport jwt_decode from \"jwt-decode\";\r\n\r\n\r\nimport lang_it from '../../../../lang/lang_it.json';\r\nimport lang_en from '../../../../lang/lang_en.json';\r\nimport lang_fr from '../../../../lang/lang_fr.json';\r\nimport lang_vn from '../../../../lang/lang_vn.json';\r\n\r\nlet lang = {};\r\nclass MaterialSettings extends Component {\r\n state = {\r\n materialGroup: false,\r\n showObjects: false,\r\n map: false,\r\n lightMap: false,\r\n aoMap: false,\r\n emissiveMap: false,\r\n bumpMap: false,\r\n normalMap: false,\r\n roughnessMap: false,\r\n metalnessMap: false,\r\n alphaMap: false,\r\n wireframe: false,\r\n materialsList: false,\r\n presetLibrary: false,\r\n materialLibrary: false,\r\n tooltip: null,\r\n layersPrice: {},\r\n layersTag: {},\r\n layersLabel: {},\r\n layersDisplayName: {}\r\n }\r\n\r\n\r\n toggleMenuVisibility = (type) => {\r\n let newState = {}\r\n Object.keys({...this.state}).forEach(key => {\r\n if(key != 'tooltip' && key != 'layersPrice')\r\n {\r\n newState = {\r\n ...newState,\r\n [key]: false\r\n }\r\n }\r\n })\r\n\r\n this.setState({\r\n ...newState,\r\n [type]: !this.state[type]\r\n })\r\n }\r\n\r\n click = (type) => {\r\n }\r\n\r\n\r\n componentDidMount() {\r\n let decoded_jwt = jwt_decode(localStorage.getItem('user'));\r\n const userId = decoded_jwt.id;\r\n let uuids = [];\r\n new FileLoader().load('https://cadgl.net/tooltip_cadgl/tooltip.json', (response) => {\r\n this.setState({\r\n tooltip: JSON.parse(response)\r\n })\r\n })\r\n let instances = {}\r\n this.props.materialsLibrary.map((group, i) => {\r\n instances = {\r\n ...instances,\r\n ['Instance' + i]: false\r\n }\r\n uuids.push(group.params.id);\r\n })\r\n\r\n this.setState({\r\n ...instances\r\n })\r\n console.log(\"componentDidMount\");\r\n\r\n if(localStorage.getItem('lang')){\r\n switch(localStorage.getItem('lang')){\r\n case \"en\":\r\n lang = lang_en;\r\n break;\r\n case \"vn\":\r\n lang = lang_vn;\r\n break;\r\n case \"fr\":\r\n lang = lang_fr;\r\n break;\r\n case \"it\":\r\n lang = lang_it;\r\n break;\r\n }\r\n }else{\r\n lang = lang_en;\r\n }\r\n\r\n axios.post('layer/getList', {\r\n uuids: uuids,\r\n userId: userId\r\n }).then(response => {\r\n let layersPrice = {};\r\n let layersTag = {};\r\n let layersLabel = {};\r\n let layersDisplayName = {};\r\n const layers = response.data.data.layers;\r\n for(let layer of layers){\r\n layersPrice[layer.layerId] = layer.price;\r\n layersTag[layer.layerId] = layer.tag;\r\n layersLabel[layer.layerId] = layer.label;\r\n layersDisplayName[layer.layerId] = layer.displayName;\r\n // this.props.applyMaterialFromDBToLayer(layer.layerId, layer.materialId, layer.materialFolderId);\r\n }\r\n this.setState({\r\n layersPrice: layersPrice,\r\n layersTag: layersTag,\r\n layersLabel: layersLabel,\r\n layersDisplayName: layersDisplayName\r\n })\r\n document.getElementById(\"layers_price\").value = JSON.stringify(layersPrice);\r\n document.getElementById(\"layers_tag\").value = JSON.stringify(layersTag);\r\n document.getElementById(\"layers_label\").value = JSON.stringify(layersLabel);\r\n document.getElementById(\"layers_display_name\").value = JSON.stringify(layersDisplayName);\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n\r\n this.toggleMenuVisibility('materialGroup')}\r\n collapsed={this.state.materialGroup ? 1 : 0}>\r\n {\r\n this.state.materialGroup && this.props.materialsLibrary.length > 0 ?\r\n this.props.materialsLibrary\r\n .sort((a,b)=> (a.material.name < b.material.name ? 1 : -1))\r\n .map((group, i) => {\r\n return (\r\n \r\n )\r\n })\r\n :''\r\n }\r\n \r\n\r\n this.toggleMenuVisibility('showObjects')}\r\n collapsed={this.state.showObjects ? 1 : 0}>\r\n {\r\n this.state.showObjects && this.props.selectedObjects.selected ?\r\n \r\n {/*\r\n */}\r\n \r\n {\r\n this.props.materialsLibrary.map((group, i) => {\r\n\r\n for(let meshCount = 0; meshCount < group.mesh.length ; meshCount ++)\r\n {\r\n if(group.mesh[meshCount].uuid == this.props.selectedObjects.pickedObject.uuid)\r\n {\r\n return (\r\n \r\n )\r\n break;\r\n }\r\n }\r\n // if(group.mesh[0].uuid == this.props.selectedObjects.pickedObject.uuid)\r\n // {\r\n // return (\r\n // \r\n // )\r\n // }\r\n })\r\n }\r\n \r\n {\r\n this.props.selectedObjects.material.isDiamond ?\r\n \r\n \r\n \r\n \r\n : this.props.selectedObjects.material.isRefraction ?\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.props.userPermission != undefined && this.props.userPermission.isShowMaterialAudio) ? \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.toggleMenuVisibility('presetLibrary')}\r\n collapsed={this.state.presetLibrary ? 1 : 0}>\r\n {\r\n this.state.presetLibrary ?\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.toggleMenuVisibility('materialsList')}\r\n collapsed={this.state.materialsList ? 1 : 0}>\r\n {\r\n this.state.materialsList && this.props.selectedObjects.selected ?\r\n \r\n \r\n \r\n : ''\r\n }\r\n */}\r\n\r\n \r\n \r\n {this.props.selectedObjects.material != null ? this.props.selectedObjects.material.isDiamond ? lang.diamond_material : this.props.selectedObjects.material.isRefraction ? lang.refraction_material : lang.standard_material: ''}\r\n \r\n \r\n\r\n\r\n {\r\n this.props.selectedObjects.selected && this.props.selectedObjects.material && this.props.selectedObjects.material.isDiamond ?\r\n \r\n this.toggleMenuVisibility('presetLibrary')}\r\n value={this.props.selectedObjects.pickedObject}/>\r\n \r\n {/*\r\n \r\n \r\n */}\r\n \r\n {\r\n this.props.selectedObjects.material.side ?\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 this.props.selectedObjects.selected && this.props.selectedObjects.material && !this.props.selectedObjects.material.isDiamond && !this.props.selectedObjects.material.isRefraction ?\r\n \r\n this.toggleMenuVisibility('presetLibrary')}\r\n value={this.props.selectedObjects.pickedObject}/>\r\n \r\n {/*\r\n \r\n \r\n \r\n */}\r\n \r\n {\r\n this.props.selectedObjects.pickedObject.material.side != null ?\r\n \r\n : ''\r\n }\r\n \r\n {/* \r\n */}\r\n \r\n \r\n \r\n \r\n this.toggleMenuVisibility('map')}\r\n collapsed={this.state.map ? 1 : 0}>\r\n {\r\n this.state.map ?\r\n : ''\r\n }\r\n {\r\n this.state.map && \r\n ((this.props.selectedObjects.mapType && \r\n this.props.selectedObjects.mapType == 'map') ||\r\n (this.props.selectedObjects.pickedObject.material.map)) \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.props.userPermission != undefined && this.props.userPermission.isShowLightMap) ? \r\n this.toggleMenuVisibility('lightMap')}\r\n collapsed={this.state.lightMap ? 1 : 0}>\r\n {\r\n this.state.lightMap ?\r\n \r\n \r\n \r\n : ''\r\n }\r\n {\r\n this.state.lightMap && \r\n ((this.props.selectedObjects.mapType && \r\n this.props.selectedObjects.mapType == 'lightMap') ||\r\n (this.props.selectedObjects.pickedObject.material.lightMap)) \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.props.userPermission != undefined && this.props.userPermission.isShowAOMap) ? \r\n this.toggleMenuVisibility('aoMap')}\r\n collapsed={this.state.aoMap ? 1 : 0}>\r\n {\r\n this.state.aoMap ?\r\n \r\n \r\n \r\n : ''\r\n }\r\n {\r\n this.state.aoMap && \r\n ((this.props.selectedObjects.mapType && \r\n this.props.selectedObjects.mapType == 'aoMap') ||\r\n (this.props.selectedObjects.pickedObject.material.aoMap)) \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 (this.props.userPermission != undefined && this.props.userPermission.isShowEmissiveMap) ? \r\n this.toggleMenuVisibility('emissiveMap')}\r\n collapsed={this.state.emissiveMap ? 1 : 0}>\r\n {\r\n this.state.emissiveMap ?\r\n \r\n \r\n \r\n : ''\r\n }\r\n {\r\n this.state.emissiveMap && \r\n ((this.props.selectedObjects.mapType && \r\n this.props.selectedObjects.mapType == 'emissiveMap') ||\r\n (this.props.selectedObjects.pickedObject.material.emissiveMap)) \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.toggleMenuVisibility('bumpMap')}\r\n collapsed={this.state.bumpMap ? 1 : 0}>\r\n {\r\n this.state.bumpMap ?\r\n \r\n \r\n \r\n : ''\r\n }\r\n {\r\n this.state.bumpMap && \r\n ((this.props.selectedObjects.mapType && \r\n this.props.selectedObjects.mapType == 'bumpMap') ||\r\n (this.props.selectedObjects.pickedObject.material.bumpMap)) \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.toggleMenuVisibility('normalMap')}\r\n collapsed={this.state.normalMap ? 1 : 0}>\r\n {\r\n this.state.normalMap ?\r\n \r\n \r\n \r\n : ''\r\n }\r\n {\r\n this.state.normalMap && \r\n ((this.props.selectedObjects.mapType && \r\n this.props.selectedObjects.mapType == 'normalMap') ||\r\n (this.props.selectedObjects.pickedObject.material.normalMap)) \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.toggleMenuVisibility('roughnessMap')}\r\n collapsed={this.state.roughnessMap ? 1 : 0}>\r\n {\r\n this.state.roughnessMap ?\r\n \r\n \r\n \r\n : ''\r\n }\r\n {\r\n this.state.roughnessMap && \r\n ((this.props.selectedObjects.mapType && \r\n this.props.selectedObjects.mapType == 'roughnessMap') ||\r\n (this.props.selectedObjects.pickedObject.material.roughnessMap)) \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.toggleMenuVisibility('metalnessMap')}\r\n collapsed={this.state.metalnessMap ? 1 : 0}>\r\n {\r\n this.state.metalnessMap ?\r\n \r\n \r\n \r\n : ''\r\n }\r\n {\r\n this.state.metalnessMap && \r\n ((this.props.selectedObjects.mapType && \r\n this.props.selectedObjects.mapType == 'metalnessMap') ||\r\n (this.props.selectedObjects.pickedObject.material.metalnessMap)) \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.props.userPermission != undefined && this.props.userPermission.isShowAlphaMap) ?\r\n this.toggleMenuVisibility('alphaMap')}\r\n collapsed={this.state.alphaMap ? 1 : 0}>\r\n {\r\n this.state.alphaMap ?\r\n \r\n \r\n \r\n : ''\r\n }\r\n {\r\n this.state.alphaMap && \r\n ((this.props.selectedObjects.mapType && \r\n this.props.selectedObjects.mapType == 'alphaMap') ||\r\n (this.props.selectedObjects.pickedObject.material.alphaMap)) \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 (this.props.userPermission != undefined && this.props.userPermission.isShowWireframe) ?\r\n this.toggleMenuVisibility('wireframe')}\r\n collapsed={this.state.wireframe ? 1 : 0}>\r\n {\r\n this.state.wireframe ?\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.props.selectedObjects.selected && this.props.selectedObjects.material && this.props.selectedObjects.material.isRefraction ?\r\n \r\n this.toggleMenuVisibility('presetLibrary')}\r\n value={this.props.selectedObjects.pickedObject}/>\r\n \r\n {/*\r\n \r\n \r\n \r\n \r\n */}\r\n \r\n {\r\n this.props.selectedObjects.material.side ?\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
{lang.create_your_combinations}
\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\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(MaterialSettings)\r\n// export default MaterialSettings","import {connect} from \"react-redux\";\r\nimport MaterialSettings from \"../../components/Configurator/Sidebar/MaterialSettings/MaterialSettings\";\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n api: state.sceneConfig.api,\r\n config: state.sceneConfig.config,\r\n geometry: state.sceneConfig.geometry,\r\n materials: state.sceneConfig.materials,\r\n materialsList: state.sceneConfig.materialsList,\r\n selectedObjects: state.selectedObjects,\r\n materialsLibrary: state.sceneConfig.materialsLibrary,\r\n preset_layer: state.sceneConfig.preset_layer,\r\n preset_folder_layer: state.sceneConfig.preset_folder_layer,\r\n userPermission: state.user.userPermission,\r\n presets: state.presetLibrary.presets,\r\n sceneConfig: state.sceneConfig\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(MaterialSettings)","import React, {Component} from \"react\";\r\nimport {Col, Row} from \"react-bootstrap\";\r\nimport MenuGroup from \"../MenuItems/MenuGroup\";\r\nimport MenuItemTextBox from \"../MenuItems/MenuItemTextBox\";\r\nimport MenuItemTextBox2 from \"../MenuItems/MenuItemTextBox2\";\r\nimport MenuItemButton from \"../MenuItems/MenuItemButton\";\r\nimport MenuItemCheckbox from \"../MenuItems/MenuItemCheckbox\";\r\nimport MenuItemInputRange from \"../MenuItems/MenuItemInputRange\";\r\nimport MenuItemDropdown from \"../MenuItems/MenuItemDropdown\";\r\nimport {downscaleLevels} from \"../../../../helpers/dropDownOptions\";\r\nimport MenuItemColorPicker from \"../MenuItems/MenuItemColorPicker\";\r\nimport AddCombinationModal from \"../../Combinations/AddCombinationModal\";\r\nimport ShowCombinationsModal from \"../../Combinations/ShowCombinationsModal\";\r\nimport LoginModal from \"../../Combinations/LoginModal\";\r\nimport LogoutForm from \"../../Combinations/LogoutForm\";\r\nimport {FileLoader} from \"three\";\r\nimport jwt_decode from \"jwt-decode\";\r\n\r\nimport lang_it from '../../../../lang/lang_it.json';\r\nimport lang_en from '../../../../lang/lang_en.json';\r\nimport lang_fr from '../../../../lang/lang_fr.json';\r\nimport lang_vn from '../../../../lang/lang_vn.json';\r\n\r\nlet lang = {};\r\nclass MyAccount extends Component{\r\n state = {\r\n }\r\n\r\n componentDidMount() {\r\n new FileLoader().load('https://cadgl.net/tooltip_cadgl/tooltip.json', (response) => {\r\n this.setState({\r\n tooltip: JSON.parse(response)\r\n })\r\n });\r\n let token = localStorage.getItem('user');\r\n if(token)\r\n {\r\n this.setState({\r\n loggedIn: true,\r\n userInfo: jwt_decode(localStorage.getItem('user'))\r\n })\r\n }\r\n if(localStorage.getItem('lang')){\r\n switch(localStorage.getItem('lang')){\r\n case \"en\":\r\n lang = lang_en;\r\n break;\r\n case \"vn\":\r\n lang = lang_vn;\r\n break;\r\n case \"fr\":\r\n lang = lang_fr;\r\n break;\r\n case \"it\":\r\n lang = lang_it;\r\n break;\r\n }\r\n }else{\r\n lang = lang_en;\r\n }\r\n }\r\n\r\n toggleMenuVisibility = (type) => {\r\n let newState = {}\r\n Object.keys({...this.state}).forEach(key => {\r\n if(key != 'tooltip' && key != 'loggedIn' && key != 'userInfo')\r\n {\r\n newState = {\r\n ...newState,\r\n [key]: false\r\n }\r\n }\r\n })\r\n\r\n this.setState({\r\n ...newState,\r\n [type]: !this.state[type]\r\n })\r\n \r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {\r\n !this.state.loggedIn ? \r\n : \r\n }\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default MyAccount","import {connect} from \"react-redux\";\r\nimport MyAccount from \"../../components/Configurator/Sidebar/MyAccount/MyAccount\";\r\n\r\nconst mapStateToProps = (state) => {\r\n console.log((state.sceneConfig));\r\n return {\r\n api: state.sceneConfig.api,\r\n config: state.sceneConfig.config,\r\n geometry: state.sceneConfig.geometry,\r\n materials: state.sceneConfig.materials,\r\n arSettings: state.sceneConfig.arSettings,\r\n annotation: state.sceneConfig.annotation,\r\n enableAnnotations: state.sceneConfig.enableAnnotations,\r\n userPermission: state.user.userPermission,\r\n sharpnessStatus: state.sceneConfig.sharpnessStatus\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, null)(MyAccount)","import React, {useEffect, useState} from \"react\";\r\nimport { Tab, Row, Col, Nav } from \"react-bootstrap\";\r\nimport {FileLoader} from \"three\";\r\nimport PostProcessSettingsContainer from \"../../../containers/Configurator/PostProcessSettingsContainer\";\r\nimport SceneSettingsContainer from \"../../../containers/Configurator/SceneSettingsContainer\";\r\nimport MaterialSettingsContainer from \"../../../containers/Configurator/MaterialSettingsContainer\";\r\nimport MyAccountContainer from \"../../../containers/Configurator/MyAccountContainer\";\r\n\r\n\r\n\r\nlet gearIcon = 'https://cadgl.net/icons_cadgl/gear@2x.png';\r\nlet materialIcon = 'https://cadgl.net/icons_cadgl/materials@2x.png';\r\nlet processIcon = 'https://cadgl.net/icons_cadgl/process@2x.png';\r\nlet accountIcon = 'https://cadgl.net/icons_cadgl/profile.png';\r\nlet tooltip = null;\r\n\r\n\r\nfunction Sidebar() {\r\n const [state, setState] = useState({\r\n settings: true,\r\n materials: false,\r\n process: false,\r\n account: false,\r\n currentTab: 'settings',\r\n tooltipTab: null,\r\n })\r\n\r\n useEffect(() => {\r\n new FileLoader().load('https://cadgl.net/tooltip_cadgl/tooltip.json', (response) => {\r\n tooltip = JSON.parse(response);\r\n });\r\n });\r\n\r\n const toggleTabVisibility = (type) => {\r\n if(type != state.currentTab)\r\n {\r\n let newState = {}\r\n Object.keys({...state}).forEach(key => {\r\n newState = {\r\n ...newState,\r\n [key]: false\r\n }\r\n })\r\n \r\n setState({\r\n ...newState,\r\n [type]: !state[type],\r\n currentTab: type\r\n })\r\n }\r\n }\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 state.settings ?\r\n \r\n : ''\r\n }\r\n {\r\n state.materials ?\r\n \r\n : ''\r\n }\r\n {\r\n state.process ?\r\n \r\n : ''\r\n }\r\n {\r\n state.account ?\r\n \r\n : ''\r\n }\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Sidebar;","import React, {useState} from 'react';\r\nimport {Row, Col} from \"react-bootstrap\";\r\n\r\nimport Navbar from \"../../components/Navbar/Navbar\";\r\nimport ProductRenderer from \"./ProductRenderer/ProductRenderer\";\r\nimport Sidebar from \"./Sidebar/Sidebar\";\r\nimport LoginModal from \"./Combinations/LoginModal\";\r\n\r\nimport './Configurator.css';\r\nimport { $CombinedState } from 'redux';\r\n\r\nfunction Configurator(props) {\r\n const productContent = React.createRef()\r\n\r\n const [value, setState] = useState({\r\n style: {}\r\n })\r\n\r\n const changeSidebarHeight = height => {\r\n setState({\r\n ...value,\r\n style: {\r\n height: height\r\n }\r\n });\r\n }\r\n\r\n const closeAcceptCookie = () => {\r\n var d=new Date();\r\n d.setTime(d.getTime()+(100*24*60*60*1000));\r\n var expires = \"; expires=\"+d.toGMTString();\r\n var name = \"accept-cookie-dont-show\";\r\n var value = \"true\";\r\n document.cookie = name+\"=\"+value+expires+\"; path=/\";\r\n\r\n document.getElementById(\"accept-cookie-div\").style.display = \"none\";\r\n }\r\n\r\n const readCookie = (name) => {\r\n var nameEQ = name + \"=\";\r\n var ca = document.cookie.split(';');\r\n for(var i=0;i < ca.length;i++) {\r\n var c = ca[i];\r\n while (c.charAt(0)==' ') c = c.substring(1,c.length);\r\n if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);\r\n }\r\n return null;\r\n }\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 (!readCookie(\"accept-cookie-dont-show\") && window.location.pathname == \"/\") ? \r\n \r\n : ''\r\n }\r\n \r\n );\r\n}\r\n\r\nexport default Configurator;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\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 subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\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.0/8 are 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.href);\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://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. 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 if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && 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 && 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 headers: { 'Service-Worker': 'script' },\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.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\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import {\r\n CHANGE_ABSORPTION_DIAMOND_SETTING,\r\n CHANGE_AUTO_ROTATE_SPEED_SETTING,\r\n CHANGE_BEVEL_SETTING,\r\n CHANGE_BLOOM_RADIUS_SETTING,\r\n CHANGE_BLOOM_STRENGTH_SETTING,\r\n CHANGE_BLOOM_THRESHOLD_SETTING,\r\n CHANGE_BLUR_RADIUS_SETTING,\r\n CHANGE_BOOST_FACTOR_SETTING,\r\n CHANGE_CAMERA_MODE_SETTING,\r\n CHANGE_CAMERA_POSITION_X_SETTING,\r\n CHANGE_CAMERA_POSITION_Y_SETTING,\r\n CHANGE_CAMERA_POSITION_Z_SETTING,\r\n CHANGE_CAMERA_SETTING,\r\n CHANGE_CAMERA_TARGET_SETTING,\r\n CHANGE_CAMERA_ZOOM,\r\n CHANGE_CROSS_COLOR_SETTING,\r\n CHANGE_CROSS_RADIUS_SETTING,\r\n CHANGE_DISPERSION_DIAMOND_SETTING,\r\n CHANGE_DOWN_SAMPLE_RATIO_SETTING,\r\n CHANGE_EDGE_GLOW_SETTING,\r\n CHANGE_EDGE_STRENGTH_SETTING,\r\n CHANGE_EDGE_THICKNESS_SETTING,\r\n CHANGE_ENV_MAP_INTENSITY_DIAMOND_SETTING,\r\n CHANGE_FALLOFF_SETTING,\r\n CHANGE_FAR_BLUR_SCALE_SETTING,\r\n CHANGE_DEPTH_RANGE_SETTING,\r\n CHANGE_FOV_SETTING,\r\n CHANGE_GAMMA_FACTOR_DIAMOND_SETTING,\r\n CHANGE_GEOMETRY_FACTOR_DIAMOND_SETTING,\r\n CHANGE_GROUND_REFLECTION_METALNESS_SETTING,\r\n CHANGE_GROUND_REFLECTION_ROUGHNESS_SETTING,\r\n CHANGE_GROUND_REFLECTION_SIZE_SETTING,\r\n CHANGE_GROUND_SHADOW_BRIGHTNESS_SETTING,\r\n CHANGE_GROUND_SHADOW_SIDE_SETTING,\r\n CHANGE_GROUND_SHARPNESS_SETTING,\r\n CHANGE_HIDDEN_EDGE_COLOR_SETTING,\r\n CHANGE_MATERIAL_COLOR,\r\n CHANGE_NEAR_BLUR_SCALE_SETTING,\r\n CHANGE_NUM_SAMPLES_PER_FRAME_SETTING,\r\n CHANGE_NUM_SAMPLES_SETTING,\r\n CHANGE_PULSE_PERIOD_SETTING,\r\n CHANGE_REFRACTIVE_INDEX_DIAMOND_SETTING,\r\n CHANGE_SCENE_VIEW,\r\n CHANGE_SHARPNESS_SETTING,\r\n CHANGE_SMOOTH_TRANSITION_SETTING,\r\n CHANGE_SQUASH_FACTOR_DIAMOND_SETTING,\r\n CHANGE_SSAO_DOWNSCALE_LEVEL_SETTING,\r\n CHANGE_SSAO_INTENSITY_SETTING,\r\n CHANGE_SSAO_RADIUS_SETTING,\r\n CHANGE_STANDARD_MATERIAL_AO_MAP_INTENSITY,\r\n CHANGE_STANDARD_MATERIAL_BUMP_SCALE,\r\n CHANGE_STANDARD_MATERIAL_COLOR,\r\n CHANGE_STANDARD_MATERIAL_EMISSIVE_COLOR,\r\n CHANGE_STANDARD_MATERIAL_EMISSIVE_INTENSITY,\r\n CHANGE_STANDARD_MATERIAL_ENABLE_WIREFRAME,\r\n CHANGE_STANDARD_MATERIAL_ENV_MAP_INTENSITY,\r\n CHANGE_STANDARD_MATERIAL_LIGHT_MAP_INTENSITY,\r\n CHANGE_STANDARD_MATERIAL_ALPHA_MAP_INTENSITY,\r\n CHANGE_STANDARD_MATERIAL_MAP_FILE,\r\n CHANGE_STANDARD_MATERIAL_METALNESS,\r\n CHANGE_STANDARD_MATERIAL_OPACITY,\r\n CHANGE_STANDARD_MATERIAL_ROUGHNESS,\r\n CHANGE_STANDARD_MATERIAL_WIREFRAME_LINE_WIDTH,\r\n CHANGE_STRAIGHTEN_MODEL_ROTATE_SETTING,\r\n CHANGE_VISIBLE_EDGE_COLOR_SETTING,\r\n CLEAR_ALL,\r\n DOWNLOAD_GLTF,\r\n DOWNLOAD_REFLECTION,\r\n ENABLE_AUTO_ROTATE,\r\n ENABLE_BLOOM_SETTING,\r\n ENABLE_DOF,\r\n ENABLE_EDIT_DOF,\r\n ENABLE_GROUND_REFLECTION_PHYSICAL_SETTING,\r\n ENABLE_GROUND_REFLECTION_SETTING,\r\n ENABLE_GROUND_SHADOW_SETTING,\r\n ENABLE_SHARPNESS_SETTING,\r\n ENABLE_SMOOTH_SETTING,\r\n ENABLE_SSAO_SETTING,\r\n ENABLE_SSAO_DEBUG_SETTING,\r\n LOAD_FILE_ACTION,\r\n LOAD_REFLECTION,\r\n MAKE_DIAMOND,\r\n MAKE_STANDARD,\r\n MAKE_REFRACTION,\r\n CHANGE_PICKED_GROUP_VISIBILITY,\r\n REMOVE_BACKGROUND,\r\n RESET_STRAIGHTEN_MODEL,\r\n SAVE_SCENE_CONFIG_TO_STATE,\r\n SELECT_OBJECT,\r\n SET_BACKGROUND_COLOR,\r\n SNAP_CANVAS,\r\n TAKE_SCREENSHOT,\r\n UPLOAD_SCENE,\r\n VIEW_REFLECTION,\r\n CHANGE_REFRACTION_MATERIAL_VISIBILITY,\r\n CHANGE_REFRACTION_MATERIAL_TINT_COLOR,\r\n CHANGE_REFRACTION_MATERIAL_DIFFUSE_COLOR,\r\n CHANGE_REFRACTION_MATERIAL_REFRACTION_INDEX,\r\n CHANGE_REFRACTION_MATERIAL_REFRACTION_ROUGHNESS,\r\n CHANGE_REFRACTION_MATERIAL_ROUGHNESS,\r\n CHANGE_REFRACTION_MATERIAL_METALNESS,\r\n CHANGE_REFRACTION_MATERIAL_TRANSPARENCY,\r\n ENABLE_AR,\r\n CHANGE_OBJECT_SCALE_SETTING,\r\n CHANGE_RETICLE_SIZE_IN_SETTING,\r\n CHANGE_RETICLE_SIZE_OUT_SETTING,\r\n CHANGE_RETICLE_FADE_THRESH_SETTING,\r\n CHANGE_RETICLE_FADE_TIME_SETTING,\r\n CHANGE_GROUND_SHADOWS_SETTING,\r\n CHANGE_RETICLE_COLOR_SETTING,\r\n CHANGE_TONE_MAPPING_EXPOSURE_SETTING,\r\n CHANGE_TONE_MAPPING_SATURATION_SETTING,\r\n CHANGE_TONE_MAPPING_CONTRAST_SETTING,\r\n CHANGE_ENV_MAP_ROTATION_SETTING,\r\n UPLOAD_MATERIAL,\r\n SELECT_MATERIAL,\r\n CHANGE_MATERIAL_NAME,\r\n APPLY_PRESET,\r\n UPLOAD_MATERIALS,\r\n CHANGE_BACKGROUND_IMAGE_FILE,\r\n ENABLE_SCREEN_SPACE_PANNING,\r\n ENABLE_PAN,\r\n ENABLE_ZOOM,\r\n UPLOAD_FILES,\r\n CHANGE_STANDARD_MATERIAL_BEVEL_RADIUS,\r\n CHANGE_DAMPING_FACTOR,\r\n CHANGE_ZOOM_SPEED,\r\n CHANGE_MIN_DISTANCE,\r\n CHANGE_MAX_DISTANCE,\r\n CHANGE_MAX_ZOOM,\r\n CHANGE_MIN_ZOOM,\r\n CHANGE_MAX_POLAR_ANGLE,\r\n CHANGE_MIN_POLAR_ANGLE,\r\n CHANGE_MAX_AZIMUTH_ANGLE,\r\n CHANGE_MIN_AZIMUTH_ANGLE,\r\n CHANGE_PIXEL_RATIO_SETTING,\r\n LOAD_PRESET_LAYER,\r\n LOAD_PRESET_FOLDER_LAYER,\r\n ENABLE_ANNOTATIONS,\r\n SELECT_ANNOTATIONS,\r\n ENABLE_TAA,\r\n ENABLE_SSR,\r\n INTENSITY_SSR,\r\n\r\n ENABLE_FRUSTUM_CULLING,\r\n\r\n CHANGE_NORMAL_SCALE_X,\r\n CHANGE_NORMAL_SCALE_Y,\r\n CHANGE_NORMAL_MAP_TYPE\r\n} from \"../actions/actionTypes\";\r\n\r\nconst initialState = {\r\n arSettings: {\r\n enabled: true,\r\n objectScale: 0.1,\r\n groundShadows: true,\r\n reticleColor: '#ffffff',\r\n reticleSizeIn: 0.15,\r\n reticleSizeOut: 0.2,\r\n reticleFadeThresh: 0.25,\r\n reticleFadeTime: 1.5\r\n },\r\n materialsList: [],\r\n materialsLibrary: [],\r\n pixelRatio: 1\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case LOAD_FILE_ACTION:\r\n return {\r\n ...state,\r\n api: action.api\r\n }\r\n case SAVE_SCENE_CONFIG_TO_STATE:\r\n return {\r\n ...state,\r\n api: action.api,\r\n config: action.sceneConfig.config,\r\n geometry: action.sceneConfig.geometry,\r\n materials: action.sceneConfig.materials,\r\n materialsList: action.materialsList,\r\n materialsLibrary: action.materialsLibrary,\r\n type: ''\r\n }\r\n case CHANGE_MIN_AZIMUTH_ANGLE:\r\n return {\r\n ...state,\r\n type: 'minAzimuthAngle'\r\n }\r\n case CHANGE_MAX_AZIMUTH_ANGLE:\r\n return {\r\n ...state,\r\n type: 'maxAzimuthAngle'\r\n }\r\n case CHANGE_MIN_POLAR_ANGLE:\r\n return {\r\n ...state,\r\n type: 'minPolarAngle'\r\n }\r\n case CHANGE_MAX_POLAR_ANGLE:\r\n return {\r\n ...state,\r\n type: 'maxPolarAngle'\r\n }\r\n case CHANGE_MIN_ZOOM:\r\n return {\r\n ...state,\r\n type: 'minZoom'\r\n }\r\n case CHANGE_MAX_ZOOM:\r\n return {\r\n ...state,\r\n type: 'maxZoom'\r\n }\r\n case CHANGE_MAX_DISTANCE:\r\n return {\r\n ...state,\r\n type: 'maxDistance'\r\n }\r\n case CHANGE_MIN_DISTANCE:\r\n return {\r\n ...state,\r\n type: 'minDistance'\r\n }\r\n case CHANGE_DAMPING_FACTOR:\r\n return {\r\n ...state,\r\n type: 'dampingFactor'\r\n }\r\n case CHANGE_ZOOM_SPEED:\r\n return {\r\n ...state,\r\n type: 'zoomSpeed'\r\n }\r\n case CHANGE_CAMERA_ZOOM:\r\n return {\r\n ...state,\r\n type: 'camera'\r\n }\r\n case CHANGE_FOV_SETTING:\r\n return {\r\n ...state,\r\n type: 'fov'\r\n }\r\n case CHANGE_SCENE_VIEW:\r\n return {\r\n ...state,\r\n type: 'sceneView',\r\n value: action.value\r\n }\r\n case CHANGE_EDGE_GLOW_SETTING:\r\n return {\r\n ...state,\r\n config: action.sceneConfig.config,\r\n type: 'edgeGlow',\r\n value: action.value\r\n }\r\n case CHANGE_EDGE_THICKNESS_SETTING:\r\n return {\r\n ...state,\r\n config: action.sceneConfig.config,\r\n type: 'edgeThickness',\r\n value: action.value\r\n }\r\n case CHANGE_EDGE_STRENGTH_SETTING:\r\n return {\r\n ...state,\r\n config: action.sceneConfig.config,\r\n type: 'edgeStrength',\r\n value: action.value\r\n }\r\n case CHANGE_PULSE_PERIOD_SETTING:\r\n return {\r\n ...state,\r\n config: action.sceneConfig.config,\r\n type: 'pulsePeriod',\r\n value: action.value\r\n }\r\n case CHANGE_VISIBLE_EDGE_COLOR_SETTING:\r\n return {\r\n ...state,\r\n config: action.sceneConfig.config,\r\n type: 'visibleEdgeColor',\r\n value: action.value\r\n }\r\n case CHANGE_HIDDEN_EDGE_COLOR_SETTING:\r\n return {\r\n ...state,\r\n config: action.sceneConfig.config,\r\n type: 'hiddenEdgeColor',\r\n value: action.value\r\n }\r\n case DOWNLOAD_GLTF:\r\n return {\r\n ...state,\r\n type: 'downloadGltf'\r\n }\r\n case SNAP_CANVAS:\r\n return {\r\n ...state,\r\n type: 'snapCanvas'\r\n }\r\n case CHANGE_DOWN_SAMPLE_RATIO_SETTING:\r\n return {\r\n ...state,\r\n type: 'downSampleRatio'\r\n }\r\n case CHANGE_CAMERA_MODE_SETTING:\r\n return {\r\n ...state,\r\n type: 'cameraMode'\r\n }\r\n case CHANGE_CAMERA_POSITION_X_SETTING:\r\n case CHANGE_CAMERA_POSITION_Y_SETTING:\r\n case CHANGE_CAMERA_POSITION_Z_SETTING:\r\n return {\r\n ...state,\r\n type: 'cameraPosition',\r\n config: action.sceneConfig.config,\r\n }\r\n case CHANGE_CAMERA_TARGET_SETTING:\r\n return {\r\n ...state,\r\n type: 'resetCameraTarget'\r\n }\r\n case CHANGE_CAMERA_SETTING:\r\n console.log(\"Reducer\");\r\n console.log(action.sceneConfig.config);\r\n return {\r\n ...state,\r\n type: 'resetCamera',\r\n config: action.sceneConfig.config,\r\n }\r\n case CHANGE_BEVEL_SETTING:\r\n return {\r\n ...state,\r\n type: 'changeBevelSetting'\r\n }\r\n case CHANGE_SHARPNESS_SETTING:\r\n return {\r\n ...state,\r\n type: 'sharpness',\r\n sharpnessStatus: action.value,\r\n }\r\n case ENABLE_SHARPNESS_SETTING:\r\n return {\r\n ...state,\r\n sharpnessStatus: action.value,\r\n type: 'enableSharpness'\r\n }\r\n case ENABLE_SSAO_DEBUG_SETTING:\r\n return {\r\n ...state,\r\n type: 'enableSsaoDebug'\r\n }\r\n case ENABLE_SSAO_SETTING:\r\n return {\r\n ...state,\r\n type: 'enableSsao'\r\n }\r\n case CHANGE_SSAO_INTENSITY_SETTING:\r\n return {\r\n ...state,\r\n type: 'ssaoIntensity'\r\n }\r\n case CHANGE_SSAO_RADIUS_SETTING:\r\n return {\r\n ...state,\r\n type: 'ssaoRadius'\r\n }\r\n case CHANGE_SSAO_DOWNSCALE_LEVEL_SETTING:\r\n return {\r\n ...state,\r\n type: 'ssaoDownscaleLevel'\r\n }\r\n case ENABLE_BLOOM_SETTING:\r\n return {\r\n ...state,\r\n type: 'enableBloom'\r\n }\r\n case CHANGE_BLOOM_STRENGTH_SETTING:\r\n return {\r\n ...state,\r\n type: 'bloomStrength'\r\n }\r\n case CHANGE_BLOOM_RADIUS_SETTING:\r\n return {\r\n ...state,\r\n type: 'bloomRadius'\r\n }\r\n case CHANGE_BLOOM_THRESHOLD_SETTING:\r\n return {\r\n ...state,\r\n type: 'bloomThreshold'\r\n }\r\n case CHANGE_STRAIGHTEN_MODEL_ROTATE_SETTING:\r\n return {\r\n ...state,\r\n type: 'changeStraightenModelRotateSetting',\r\n straightenRotationAxis: action.value\r\n }\r\n case RESET_STRAIGHTEN_MODEL:\r\n return {\r\n ...state,\r\n type: 'resetStraightenModel'\r\n }\r\n case TAKE_SCREENSHOT:\r\n return {\r\n ...state,\r\n type: 'takeScreenshot'\r\n }\r\n case ENABLE_GROUND_SHADOW_SETTING:\r\n return {\r\n ...state,\r\n type: 'enableGroundShadow'\r\n }\r\n case CHANGE_NUM_SAMPLES_SETTING:\r\n return {\r\n ...state,\r\n type: 'numSamplesSetting'\r\n }\r\n case CHANGE_NUM_SAMPLES_PER_FRAME_SETTING:\r\n return {\r\n ...state,\r\n type: 'numSamplesPerFrameSetting'\r\n }\r\n case CHANGE_GROUND_SHADOW_BRIGHTNESS_SETTING:\r\n return {\r\n ...state,\r\n type: 'groundShadowBrightnessSetting'\r\n }\r\n case CHANGE_BLUR_RADIUS_SETTING:\r\n return {\r\n ...state,\r\n type: 'blurRadiusSetting'\r\n }\r\n case CHANGE_GROUND_SHARPNESS_SETTING:\r\n return {\r\n ...state,\r\n type: 'groundShadowSharpnessSetting'\r\n }\r\n case CHANGE_FALLOFF_SETTING:\r\n return {\r\n ...state,\r\n type: 'falloffSetting'\r\n }\r\n case ENABLE_SMOOTH_SETTING:\r\n return {\r\n ...state,\r\n type: 'enableSmooth'\r\n }\r\n case CHANGE_SMOOTH_TRANSITION_SETTING:\r\n return {\r\n ...state,\r\n type: 'changeSmoothTransitionSetting'\r\n }\r\n case CHANGE_GROUND_SHADOW_SIDE_SETTING:\r\n return {\r\n ...state,\r\n type: 'changeGroundShadowSideSetting'\r\n }\r\n case ENABLE_GROUND_REFLECTION_SETTING:\r\n return {\r\n ...state,\r\n type: 'enableGroundReflectionSetting'\r\n }\r\n case ENABLE_GROUND_REFLECTION_PHYSICAL_SETTING:\r\n return {\r\n ...state,\r\n type: 'enableGroundReflectionPhysicalSetting'\r\n }\r\n case CHANGE_GROUND_REFLECTION_ROUGHNESS_SETTING:\r\n return {\r\n ...state,\r\n type: 'changeGroundReflectionRoughnessSetting'\r\n }\r\n case CHANGE_GROUND_REFLECTION_METALNESS_SETTING:\r\n return {\r\n ...state,\r\n type: 'changeGroundReflectionMetalnessSetting'\r\n }\r\n case CHANGE_GROUND_REFLECTION_SIZE_SETTING:\r\n return {\r\n ...state,\r\n type: 'changeGroundReflectionSizeSetting'\r\n }\r\n case VIEW_REFLECTION:\r\n return {\r\n ...state,\r\n type: 'viewReflection'\r\n }\r\n case DOWNLOAD_REFLECTION:\r\n return {\r\n ...state,\r\n type: 'downloadReflection'\r\n }\r\n case LOAD_REFLECTION:\r\n return {\r\n ...state,\r\n type: 'loadReflection'\r\n }\r\n case CLEAR_ALL:\r\n return {\r\n ...state,\r\n type: 'clearAll'\r\n }\r\n case SET_BACKGROUND_COLOR:\r\n return {\r\n ...state,\r\n type: 'setBackgroundColor',\r\n value: action.value\r\n }\r\n case REMOVE_BACKGROUND:\r\n return {\r\n ...state,\r\n type: 'removeBackground'\r\n }\r\n case ENABLE_DOF:\r\n return {\r\n ...state,\r\n type: 'enableDof'\r\n }\r\n case ENABLE_EDIT_DOF:\r\n return {\r\n ...state,\r\n type: 'enableEditDof'\r\n }\r\n case CHANGE_CROSS_COLOR_SETTING:\r\n return {\r\n ...state,\r\n type: 'changeCrossColorSetting'\r\n }\r\n case CHANGE_CROSS_RADIUS_SETTING:\r\n return {\r\n ...state,\r\n type: 'changeCrossRadiusSetting'\r\n }\r\n case CHANGE_NEAR_BLUR_SCALE_SETTING:\r\n return {\r\n ...state,\r\n type: 'changeNearBlurScaleSetting'\r\n }\r\n case CHANGE_FAR_BLUR_SCALE_SETTING:\r\n return {\r\n ...state,\r\n type: 'changeFarBlurScaleSetting'\r\n }\r\n case CHANGE_DEPTH_RANGE_SETTING:\r\n return {\r\n ...state,\r\n type: 'changeDepthRangeSetting'\r\n }\r\n case ENABLE_AUTO_ROTATE:\r\n return {\r\n ...state,\r\n type: 'enableAutoRotate'\r\n }\r\n case ENABLE_SCREEN_SPACE_PANNING:\r\n return {\r\n ...state,\r\n sceneConfig: action.sceneConfig,\r\n type: 'enableScreenSpacePanning'\r\n }\r\n case ENABLE_PAN:\r\n return {\r\n ...state,\r\n sceneConfig: action.sceneConfig,\r\n type: 'enablePan'\r\n }\r\n case ENABLE_ZOOM:\r\n return {\r\n ...state,\r\n sceneConfig: action.sceneConfig,\r\n type: 'enableZoom'\r\n }\r\n case CHANGE_AUTO_ROTATE_SPEED_SETTING:\r\n return {\r\n ...state,\r\n type: 'changeAutoRotateSpeedSetting'\r\n }\r\n case CHANGE_MATERIAL_COLOR:\r\n case CHANGE_BOOST_FACTOR_SETTING:\r\n case CHANGE_ENV_MAP_INTENSITY_DIAMOND_SETTING:\r\n case CHANGE_REFRACTIVE_INDEX_DIAMOND_SETTING:\r\n case CHANGE_GEOMETRY_FACTOR_DIAMOND_SETTING:\r\n case CHANGE_SQUASH_FACTOR_DIAMOND_SETTING:\r\n case CHANGE_DISPERSION_DIAMOND_SETTING:\r\n case CHANGE_ABSORPTION_DIAMOND_SETTING:\r\n case CHANGE_GAMMA_FACTOR_DIAMOND_SETTING:\r\n case CHANGE_STANDARD_MATERIAL_COLOR:\r\n case CHANGE_STANDARD_MATERIAL_OPACITY:\r\n case CHANGE_STANDARD_MATERIAL_ROUGHNESS:\r\n case CHANGE_STANDARD_MATERIAL_METALNESS:\r\n case CHANGE_STANDARD_MATERIAL_ENV_MAP_INTENSITY:\r\n case CHANGE_STANDARD_MATERIAL_LIGHT_MAP_INTENSITY:\r\n case CHANGE_STANDARD_MATERIAL_ALPHA_MAP_INTENSITY:\r\n case CHANGE_STANDARD_MATERIAL_AO_MAP_INTENSITY:\r\n case CHANGE_STANDARD_MATERIAL_EMISSIVE_INTENSITY:\r\n case CHANGE_STANDARD_MATERIAL_BUMP_SCALE:\r\n\r\n case CHANGE_NORMAL_SCALE_X:\r\n case CHANGE_NORMAL_SCALE_Y:\r\n case CHANGE_NORMAL_MAP_TYPE:\r\n\r\n case CHANGE_STANDARD_MATERIAL_WIREFRAME_LINE_WIDTH:\r\n case CHANGE_STANDARD_MATERIAL_ENABLE_WIREFRAME:\r\n case CHANGE_STANDARD_MATERIAL_EMISSIVE_COLOR:\r\n case CHANGE_STANDARD_MATERIAL_MAP_FILE:\r\n case CHANGE_REFRACTION_MATERIAL_VISIBILITY:\r\n case CHANGE_PICKED_GROUP_VISIBILITY:\r\n case CHANGE_REFRACTION_MATERIAL_TINT_COLOR:\r\n case CHANGE_REFRACTION_MATERIAL_DIFFUSE_COLOR:\r\n case CHANGE_REFRACTION_MATERIAL_REFRACTION_INDEX:\r\n case CHANGE_REFRACTION_MATERIAL_REFRACTION_ROUGHNESS:\r\n case CHANGE_REFRACTION_MATERIAL_ROUGHNESS:\r\n case CHANGE_REFRACTION_MATERIAL_METALNESS:\r\n case CHANGE_REFRACTION_MATERIAL_TRANSPARENCY:\r\n case CHANGE_STANDARD_MATERIAL_BEVEL_RADIUS:\r\n return {\r\n ...state,\r\n materials: action.materials,\r\n type: 'changeMaterialSettings'\r\n }\r\n case SELECT_OBJECT:\r\n return {\r\n ...state,\r\n materialsList: action.materialsList,\r\n type: 'selectObject'\r\n }\r\n case MAKE_STANDARD:\r\n case MAKE_DIAMOND:\r\n case MAKE_REFRACTION:\r\n case UPLOAD_MATERIAL:\r\n return {\r\n ...state,\r\n materials: action.materials,\r\n materialsList: action.materialsList,\r\n materialsLibrary: action.materialsLibrary\r\n }\r\n case UPLOAD_SCENE:\r\n //When export to json the materials normalScale prop is as object, but when importing it must be array or api will through error on mouse up event\r\n let materials = action.sceneConfig.materials\r\n let newMaterials = {}\r\n for (const [key, value] of Object.entries(materials)) {\r\n newMaterials = {\r\n ...newMaterials,\r\n [key]: fixNormalScale(value)\r\n }\r\n }\r\n return {\r\n ...state,\r\n api: action.api,\r\n config: action.sceneConfig.config,\r\n geometry: action.sceneConfig.geometry,\r\n materials: newMaterials,\r\n }\r\n case ENABLE_AR:\r\n case CHANGE_OBJECT_SCALE_SETTING:\r\n case CHANGE_RETICLE_SIZE_IN_SETTING:\r\n case CHANGE_RETICLE_SIZE_OUT_SETTING:\r\n case CHANGE_RETICLE_FADE_THRESH_SETTING:\r\n case CHANGE_RETICLE_FADE_TIME_SETTING:\r\n case CHANGE_GROUND_SHADOWS_SETTING:\r\n case CHANGE_RETICLE_COLOR_SETTING:\r\n return {\r\n ...state,\r\n arSettings: action.arSettings,\r\n type: 'changeArSettings'\r\n }\r\n case CHANGE_TONE_MAPPING_EXPOSURE_SETTING:\r\n return {\r\n ...state,\r\n config: action.config,\r\n type: 'toneMappingExposure'\r\n }\r\n case CHANGE_TONE_MAPPING_SATURATION_SETTING :\r\n return {\r\n ...state,\r\n config: action.config,\r\n type: 'toneMappingSaturation'\r\n }\r\n case CHANGE_TONE_MAPPING_CONTRAST_SETTING :\r\n return {\r\n ...state,\r\n config: action.config,\r\n type: 'toneMappingContrast'\r\n }\r\n case CHANGE_ENV_MAP_ROTATION_SETTING:\r\n return {\r\n ...state,\r\n config: action.config,\r\n type: 'envMapRotation'\r\n }\r\n case SELECT_MATERIAL:\r\n return {\r\n ...state,\r\n materials: action.materials,\r\n objects: action.objects,\r\n type: 'selectMaterial'\r\n }\r\n case APPLY_PRESET:\r\n return {\r\n ...state,\r\n materials: action.materials,\r\n materialsList: action.materialsList,\r\n objects: action.objects,\r\n type: 'selectMaterial'\r\n }\r\n case LOAD_PRESET_LAYER:\r\n return {\r\n ...state,\r\n preset_layer: action.preset_layer\r\n }\r\n case LOAD_PRESET_FOLDER_LAYER:\r\n return {\r\n ...state,\r\n preset_folder_layer: action.preset_folder_layer\r\n }\r\n case CHANGE_MATERIAL_NAME:\r\n return {\r\n ...state,\r\n materialsList: action.materialsList\r\n }\r\n case UPLOAD_MATERIALS:\r\n return {\r\n ...state,\r\n materialsList: action.materialsList,\r\n materialsLibrary: action.materialsLibrary,\r\n materials: action.materials\r\n }\r\n case CHANGE_BACKGROUND_IMAGE_FILE:\r\n return {\r\n ...state,\r\n sceneConfig: action.sceneConfig\r\n }\r\n case UPLOAD_FILES:\r\n return {\r\n ...state,\r\n type: 'uploadFiles'\r\n }\r\n case CHANGE_PIXEL_RATIO_SETTING:\r\n return {\r\n ...state,\r\n pixelRatio: action.pixelRatio,\r\n type: 'changePixelRatioSetting'\r\n }\r\n case ENABLE_ANNOTATIONS:\r\n return{\r\n ...state,\r\n enableAnnotations: action.enableAnnotations,\r\n type: 'enableAnnotations'\r\n }\r\n case SELECT_ANNOTATIONS:\r\n return {\r\n ...state,\r\n annotation: action.annotation,\r\n type: 'selectAnnotations'\r\n }\r\n case ENABLE_TAA:\r\n return{\r\n ...state,\r\n sceneConfig: action.sceneConfig,\r\n type: 'enableTAA'\r\n }\r\n case ENABLE_SSR:\r\n return{\r\n ...state,\r\n sceneConfig: action.sceneConfig,\r\n type: 'enableSSR'\r\n }\r\n case INTENSITY_SSR:\r\n return{\r\n ...state,\r\n sceneConfig: action.sceneConfig,\r\n type: 'intensitySSR'\r\n }\r\n case ENABLE_FRUSTUM_CULLING:\r\n return {\r\n ...state,\r\n type: 'enableFrustumCulling'\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n/**\r\n * When export to json the materials normalScale prop is as object, but when importing it must be array or api will through error on mouse up event\r\n * This is only when material is not diamond\r\n * @param materials\r\n * @returns {*}\r\n */\r\nconst fixNormalScale = (materials) => {\r\n if (!Array.isArray(materials.material.normalScale) && materials.material.normalScale) {\r\n let wrongNormalScale = materials.material.normalScale\r\n materials.material.normalScale = [wrongNormalScale.x, wrongNormalScale.y]\r\n return materials\r\n } else {\r\n return materials\r\n }\r\n}\r\n\r\nexport default reducer","import {\r\n LOAD_REPORT_REQUEST,\r\n LOAD_REPORT_SUCCESS,\r\n REQUEST_TRACKERS_FILTERS,\r\n REQUEST_TRACKERS_FILTERS_ERROR,\r\n REQUEST_TRACKERS_FILTERS_FAILED,\r\n REQUEST_TRACKERS_FILTERS_SUCCESS,\r\n LOAD_REPORT_FAILED,\r\n LOAD_REPORT_ERROR\r\n} from \"../actions/actionTypes\";\r\n\r\nconst initialState = {\r\n trackers: [],\r\n listColumn: [],\r\n availableFilters: {},\r\n filters: {},\r\n loading: false,\r\n hasError: false,\r\n error: '',\r\n loadingReport: false,\r\n hasErrorReport: false,\r\n errorReport: '',\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case LOAD_REPORT_SUCCESS:\r\n return {\r\n ...state,\r\n trackers: action.trackers,\r\n listColumn: action.listColumn,\r\n loadingReport: action.loading\r\n }\r\n case REQUEST_TRACKERS_FILTERS:\r\n return {\r\n ...state,\r\n loading: action.loading\r\n }\r\n case LOAD_REPORT_REQUEST:\r\n return {\r\n ...state,\r\n loadingReport: action.loading,\r\n hasErrorReport: false,\r\n errorReport: ''\r\n }\r\n case REQUEST_TRACKERS_FILTERS_SUCCESS:\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n availableFilters: action.availableFilters\r\n }\r\n case REQUEST_TRACKERS_FILTERS_FAILED:\r\n case REQUEST_TRACKERS_FILTERS_ERROR:\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n hasError: action.hasError,\r\n error: action.error\r\n }\r\n case LOAD_REPORT_FAILED:\r\n case LOAD_REPORT_ERROR:\r\n return {\r\n ...state,\r\n loadingReport: action.loading,\r\n hasErrorReport: action.hasError,\r\n errorReport: action.error\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;","import {\r\n CHANGE_MATERIAL_COLOR,\r\n SELECT_OBJECT,\r\n CHANGE_BOOST_FACTOR_SETTING,\r\n CHANGE_ENV_MAP_INTENSITY_DIAMOND_SETTING,\r\n CHANGE_REFRACTIVE_INDEX_DIAMOND_SETTING,\r\n CHANGE_GEOMETRY_FACTOR_DIAMOND_SETTING,\r\n CHANGE_SQUASH_FACTOR_DIAMOND_SETTING,\r\n CHANGE_DISPERSION_DIAMOND_SETTING,\r\n CHANGE_ABSORPTION_DIAMOND_SETTING,\r\n CHANGE_GAMMA_FACTOR_DIAMOND_SETTING,\r\n MAKE_STANDARD,\r\n MAKE_DIAMOND,\r\n MAKE_REFRACTION,\r\n CHANGE_PICKED_GROUP_VISIBILITY,\r\n CHANGE_STANDARD_MATERIAL_COLOR,\r\n CHANGE_STANDARD_MATERIAL_OPACITY,\r\n CHANGE_STANDARD_MATERIAL_ROUGHNESS,\r\n CHANGE_STANDARD_MATERIAL_METALNESS,\r\n CHANGE_STANDARD_MATERIAL_ENV_MAP_INTENSITY,\r\n CHANGE_STANDARD_MATERIAL_LIGHT_MAP_INTENSITY,\r\n CHANGE_STANDARD_MATERIAL_ALPHA_MAP_INTENSITY,\r\n CHANGE_STANDARD_MATERIAL_AO_MAP_INTENSITY,\r\n CHANGE_STANDARD_MATERIAL_EMISSIVE_INTENSITY,\r\n CHANGE_STANDARD_MATERIAL_BUMP_SCALE,\r\n CHANGE_STANDARD_MATERIAL_WIREFRAME_LINE_WIDTH,\r\n CHANGE_STANDARD_MATERIAL_ENABLE_WIREFRAME,\r\n CHANGE_STANDARD_MATERIAL_EMISSIVE_COLOR,\r\n CHANGE_STANDARD_MATERIAL_MAP_FILE,\r\n CHANGE_REFRACTION_MATERIAL_VISIBILITY,\r\n CHANGE_REFRACTION_MATERIAL_TINT_COLOR,\r\n CHANGE_REFRACTION_MATERIAL_DIFFUSE_COLOR,\r\n CHANGE_REFRACTION_MATERIAL_REFRACTION_INDEX,\r\n CHANGE_REFRACTION_MATERIAL_REFRACTION_ROUGHNESS,\r\n CHANGE_REFRACTION_MATERIAL_ROUGHNESS,\r\n CHANGE_REFRACTION_MATERIAL_METALNESS,\r\n CHANGE_REFRACTION_MATERIAL_TRANSPARENCY,\r\n UPLOAD_MATERIAL,\r\n SELECT_MATERIAL,\r\n APPLY_PRESET,\r\n SELECT_MESH,\r\n UPLOAD_MATERIALS,\r\n CHANGE_SIDE,\r\n\r\n CHANGE_NORMAL_SCALE_X,\r\n CHANGE_NORMAL_SCALE_Y,\r\n CHANGE_NORMAL_MAP_TYPE\r\n} from \"../actions/actionTypes\";\r\n\r\nconst initialState = {\r\n object: {},\r\n material: {},\r\n pickedObject: {},\r\n materialId: null,\r\n selected: false,\r\n objects: [],\r\n materialStandardDefaultSettings: {\r\n \"visible\": true,\r\n \"color\": \"#ffffff\",\r\n \"opacity\": 1,\r\n \"roughness\": 1,\r\n \"metalness\": 1,\r\n \"map\": null,\r\n \"lightMap\": null,\r\n \"lightMapIntensity\": 1,\r\n \"aoMap\": null,\r\n \"aoMapIntensity\": 1,\r\n \"emissive\": \"#000000\",\r\n \"emissiveIntensity\": 1,\r\n \"emissiveMap\": null,\r\n \"bumpMap\": null,\r\n \"bumpScale\": 1,\r\n \"normalMap\": null,\r\n \"normalScale\": [1, 1],\r\n \"displacementMap\": null,\r\n \"displacementScale\": 1,\r\n \"displacementBias\": 0,\r\n \"roughnessMap\": null,\r\n \"metalnessMap\": null,\r\n \"alphaMap\": null,\r\n \"envMapIntensity\": 2,\r\n \"refractionRatio\": 0.98,\r\n \"wireframe\": false,\r\n \"wireframeLinewidth\": 1,\r\n \"skinning\": false,\r\n \"vertexTangents\": false,\r\n \"morphTargets\": false,\r\n \"morphNormals\": false,\r\n \"bevelRadius\": 3,\r\n \"normalScaleX\": 1,\r\n \"normalScaleY\": 1\r\n },\r\n materialDiamondDefaultSettings: {\r\n \"visible\": true,\r\n \"color\": \"#ffffff\",\r\n \"boostFactors\": {\"x\": 0.892, \"y\": 0.892, \"z\": 0.98595025},\r\n \"envMapIntensity\": 1,\r\n \"refractiveIndex\": 2.4,\r\n \"geometryFactor\": 0.28,\r\n \"gammaFactor\": 1,\r\n \"squashFactor\": 0.98,\r\n \"absorptionFactor\": 1,\r\n \"dispersion\": 0.012,\r\n \"isDiamond\": true\r\n },\r\n materialRefractionDefaultSettings: {\r\n \"visible\": true,\r\n \"diffuse\": \"#eeeeee\",\r\n \"refractionTintColor\": \"#ffffff\",\r\n \"refractionIndex\": 1.1,\r\n \"roughness\": 0.01,\r\n \"metalness\": 0,\r\n \"transparency\": 0.95,\r\n \"refractionRoughness\": 0.15,\r\n \"isRefraction\": true\r\n }\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case SELECT_OBJECT:\r\n return {\r\n ...state,\r\n object: action.object,\r\n selected: action.selected,\r\n material: action.material,\r\n pickedObject: action.pickedObject,\r\n materialId: action.materialId,\r\n objects: action.objects,\r\n mapType: null\r\n }\r\n case CHANGE_MATERIAL_COLOR:\r\n case CHANGE_BOOST_FACTOR_SETTING:\r\n case CHANGE_ENV_MAP_INTENSITY_DIAMOND_SETTING:\r\n case CHANGE_REFRACTIVE_INDEX_DIAMOND_SETTING:\r\n case CHANGE_GEOMETRY_FACTOR_DIAMOND_SETTING:\r\n case CHANGE_SQUASH_FACTOR_DIAMOND_SETTING:\r\n case CHANGE_DISPERSION_DIAMOND_SETTING:\r\n case CHANGE_ABSORPTION_DIAMOND_SETTING:\r\n case CHANGE_GAMMA_FACTOR_DIAMOND_SETTING:\r\n case CHANGE_STANDARD_MATERIAL_COLOR:\r\n case CHANGE_STANDARD_MATERIAL_OPACITY:\r\n case CHANGE_STANDARD_MATERIAL_ROUGHNESS:\r\n case CHANGE_STANDARD_MATERIAL_METALNESS:\r\n case CHANGE_STANDARD_MATERIAL_ENV_MAP_INTENSITY:\r\n case CHANGE_STANDARD_MATERIAL_LIGHT_MAP_INTENSITY:\r\n case CHANGE_STANDARD_MATERIAL_ALPHA_MAP_INTENSITY:\r\n case CHANGE_STANDARD_MATERIAL_AO_MAP_INTENSITY:\r\n case CHANGE_STANDARD_MATERIAL_EMISSIVE_INTENSITY:\r\n case CHANGE_STANDARD_MATERIAL_BUMP_SCALE:\r\n \r\n case CHANGE_NORMAL_SCALE_X:\r\n case CHANGE_NORMAL_SCALE_Y:\r\n case CHANGE_NORMAL_MAP_TYPE:\r\n\r\n case CHANGE_STANDARD_MATERIAL_WIREFRAME_LINE_WIDTH:\r\n case CHANGE_STANDARD_MATERIAL_ENABLE_WIREFRAME:\r\n case CHANGE_STANDARD_MATERIAL_EMISSIVE_COLOR:\r\n case CHANGE_STANDARD_MATERIAL_MAP_FILE:\r\n return {\r\n ...state,\r\n material: action.selectedMaterial,\r\n mapType: action.mapType\r\n }\r\n case CHANGE_REFRACTION_MATERIAL_VISIBILITY:\r\n case CHANGE_REFRACTION_MATERIAL_TINT_COLOR:\r\n case CHANGE_REFRACTION_MATERIAL_DIFFUSE_COLOR:\r\n case CHANGE_REFRACTION_MATERIAL_REFRACTION_INDEX:\r\n case CHANGE_REFRACTION_MATERIAL_REFRACTION_ROUGHNESS:\r\n case CHANGE_REFRACTION_MATERIAL_ROUGHNESS:\r\n case CHANGE_REFRACTION_MATERIAL_METALNESS:\r\n case CHANGE_REFRACTION_MATERIAL_TRANSPARENCY:\r\n return {\r\n ...state,\r\n material: action.selectedMaterial\r\n }\r\n case MAKE_STANDARD:\r\n case MAKE_DIAMOND:\r\n case MAKE_REFRACTION:\r\n case UPLOAD_MATERIAL:\r\n return {\r\n ...state,\r\n object: action.object,\r\n material: action.material,\r\n materialId: action.materialId,\r\n selected: action.selected,\r\n objects: action.objects\r\n }\r\n case SELECT_MATERIAL:\r\n case APPLY_PRESET:\r\n return {\r\n ...state,\r\n object: action.object,\r\n material: action.material,\r\n materialId: action.materialId,\r\n selected: action.selected,\r\n objects: action.objects\r\n }\r\n case SELECT_MESH:\r\n return {\r\n ...state,\r\n material: action.material,\r\n materialId: action.materialId,\r\n object: action.object,\r\n objects: action.objects,\r\n pickedObject: action.pickedObject,\r\n selected: action.selected,\r\n mapType: null\r\n }\r\n case UPLOAD_MATERIALS:\r\n return {\r\n ...state,\r\n object: action.object,\r\n material: action.material,\r\n pickedObject: action.pickedObject,\r\n materialId: action.materialId,\r\n selected: action.selected,\r\n objects: action.objects,\r\n }\r\n case CHANGE_SIDE:\r\n return{\r\n ...state,\r\n material: action.selectedMaterial\r\n }\r\n case CHANGE_PICKED_GROUP_VISIBILITY:\r\n \r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer","import {\r\n REQUEST_PRESETS_FAILED,\r\n REQUEST_PRESETS_SUCCESS,\r\n DELETED_PRESET_FOLDER,\r\n DELETED_PRESET,\r\n EDIT_PRESET,\r\n SAVED_PRESET,\r\n SAVED_PRESET_FOLDER,\r\n SELECT_OBJECT,\r\n SELECT_MESH\r\n} from \"../actions/actionTypes\";\r\n\r\nconst initialState = {\r\n presets: [],\r\n error: '',\r\n hasError: false\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case REQUEST_PRESETS_SUCCESS:\r\n return {\r\n ...state,\r\n ...action.newState\r\n }\r\n case REQUEST_PRESETS_FAILED:\r\n return {\r\n ...state,\r\n ...action.newState\r\n }\r\n case DELETED_PRESET_FOLDER:\r\n return {\r\n ...state,\r\n presets: action.presets\r\n }\r\n case DELETED_PRESET:\r\n case EDIT_PRESET:\r\n case SAVED_PRESET:\r\n case SAVED_PRESET_FOLDER:\r\n return {\r\n ...state,\r\n presets: action.presets\r\n }\r\n case SELECT_OBJECT:\r\n return {\r\n ...state,\r\n pickedObject: action.material\r\n }\r\n case SELECT_MESH:\r\n return {\r\n ...state,\r\n pickedObject: action.material\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;","import {\r\n REQUEST_COMBINATIONS_LIST,\r\n REQUEST_COMBINATIONS_SUCCESS,\r\n REQUEST_COMBINATIONS_FAILED,\r\n REQUEST_COMBINATIONS_ERROR,\r\n REQUEST_CREATE_COMBINATIONS_FAILED,\r\n REQUEST_CREATE_COMBINATIONS_ERROR,\r\n REQUEST_CREATE_COMBINATIONS_SUCCESS,\r\n CLONE_COMBINATION,\r\n DELETE_COMBINATION,\r\n UPDATE_COMBINATION,\r\n RESET_PRESET,\r\n ADD_PRESET_TO_LIST,\r\n REQUEST_COMBINATIONS_SIZE_SUCCESS,\r\n REQUEST_ACTIVITY_SUCCESS,\r\n REQUEST_IMAGES_SIZE_SUCCESS,\r\n REQUEST_TEXTURES_SIZE_SUCCESS,\r\n REQUEST_PUBLIC_UPLOADED_FILES_SIZE_SUCCESS,\r\n REQUEST_TRANSACTION_SUCCESS,\r\n GET_STORAGE_SUMMARY,\r\n\r\n SCENE_INFO_ALERT\r\n} from \"../actions/actionTypes\";\r\n\r\nconst initialState = {\r\n combinationsList: [],\r\n error: '',\r\n hasError: false,\r\n loading: false,\r\n presetList: new Map(),\r\n createdCombination: {},\r\n totalSize: 0,\r\n storage: 0,\r\n storageExpired: '',\r\n\r\n imageList: [],\r\n imageTotalSize: 0,\r\n\r\n textureList: [],\r\n publicUploadedFilesList: [],\r\n textureTotalSize: 0,\r\n\r\n summary: {}\r\n\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case SCENE_INFO_ALERT:\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n infos: action.infos,\r\n sceneInfos: action.sceneInfos,\r\n }\r\n case GET_STORAGE_SUMMARY:\r\n console.log(\"GET_STORAGE_SUMMARY\");\r\n console.log(action.summary);\r\n return {\r\n ...state,\r\n summary: action.summary\r\n }\r\n case REQUEST_COMBINATIONS_LIST:\r\n return {\r\n ...state,\r\n loading: true\r\n }\r\n case REQUEST_COMBINATIONS_SUCCESS:\r\n case REQUEST_CREATE_COMBINATIONS_SUCCESS:\r\n case CLONE_COMBINATION:\r\n case DELETE_COMBINATION:\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n combinationsList: action.combinations,\r\n createdCombination: action.createdCombination\r\n }\r\n case REQUEST_COMBINATIONS_SIZE_SUCCESS:\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n combinationsList: action.combinations,\r\n createdCombination: action.createdCombination,\r\n totalSize: action.totalSize,\r\n storage: action.storage,\r\n storageExpired: action.storageExpired\r\n }\r\n case REQUEST_IMAGES_SIZE_SUCCESS:\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n imageList: action.imageList,\r\n imageTotalSize: action.imageTotalSize,\r\n storage: action.storage,\r\n storageExpired: action.storageExpired\r\n }\r\n case REQUEST_TEXTURES_SIZE_SUCCESS:\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n textureList: action.textureList,\r\n textureTotalSize: action.textureTotalSize,\r\n storage: action.storage,\r\n storageExpired: action.storageExpired\r\n }\r\n case REQUEST_PUBLIC_UPLOADED_FILES_SIZE_SUCCESS:\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n publicUploadedFilesList: action.publicUploadedFilesList,\r\n publicUploadedFilesTotalSize: action.publicUploadedFilesTotalSize,\r\n storage: action.storage,\r\n storageExpired: action.storageExpired\r\n }\r\n case REQUEST_ACTIVITY_SUCCESS:\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n remain: action.remain,\r\n default: action.default,\r\n extra: action.extra,\r\n expired: action.expired,\r\n }\r\n case REQUEST_TRANSACTION_SUCCESS:\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n transactions: action.transactions,\r\n }\r\n case REQUEST_COMBINATIONS_FAILED:\r\n case REQUEST_COMBINATIONS_ERROR:\r\n case REQUEST_CREATE_COMBINATIONS_FAILED:\r\n case REQUEST_CREATE_COMBINATIONS_ERROR:\r\n return {\r\n ...state,\r\n loading: action.loading,\r\n hasError: action.hasError,\r\n error: action.error\r\n }\r\n case UPDATE_COMBINATION:\r\n return {\r\n ...state,\r\n combinationsList: action.combinations\r\n }\r\n case RESET_PRESET:\r\n return{\r\n ...state,\r\n presetList: new Map()\r\n }\r\n case ADD_PRESET_TO_LIST:\r\n return{\r\n ...state,\r\n presetList: action.presetList\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;","import {\r\n LOAD_COMBINATION,\r\n IFRAME_TAKE_SCREENSHOT,\r\n ENABLE_AR_IFRAME,\r\n RESET_CAMERA_IFRAME,\r\n ENABLE_ROTATION_IFRAME\r\n} from \"../actions/actionTypes\";\r\n\r\nconst initialState = {\r\n combination: {},\r\n error: '',\r\n hasError: false,\r\n loading: false,\r\n arSettings: {\r\n enabled: true,\r\n objectScale: 0.1,\r\n groundShadows: true,\r\n reticleColor: '#ffffff',\r\n reticleSizeIn: 0.15,\r\n reticleSizeOut: 0.2,\r\n reticleFadeThresh: 0.25,\r\n reticleFadeTime: 1.5\r\n }\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case LOAD_COMBINATION:\r\n return {\r\n ...state,\r\n combination: action.combination\r\n }\r\n case IFRAME_TAKE_SCREENSHOT:\r\n return {\r\n ...state,\r\n type: 'takeScreenshot'\r\n }\r\n case ENABLE_AR_IFRAME:\r\n return {\r\n ...state,\r\n arSettings: action.arSettings,\r\n type: 'enableArIframe'\r\n }\r\n case RESET_CAMERA_IFRAME:\r\n return {\r\n ...state,\r\n type: 'resetCameraIframe'\r\n }\r\n case ENABLE_ROTATION_IFRAME:\r\n return {\r\n ...state,\r\n combination: action.combination,\r\n type: 'enableRotationIframe'\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;","import {\r\n REQUEST_USER_PERMISSION\r\n} from \"../actions/actionTypes\";\r\n\r\nconst initialState = {\r\n}\r\n\r\nconst reducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case REQUEST_USER_PERMISSION:\r\n return {\r\n ...state,\r\n userPermission: action.userPermission,\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;","import { combineReducers } from \"redux\";\r\nimport sceneConfig from './sceneConfigReducer';\r\nimport tracker from './trackerReducer';\r\nimport selectedObjects from './selectedObjectReducer';\r\nimport presetLibrary from './presetsLibraryReducer';\r\nimport combinations from './combinationsReducer';\r\nimport iframe from './iframeReducer';\r\nimport user from './userReducer'\r\n\r\nexport default combineReducers({\r\n sceneConfig,\r\n selectedObjects,\r\n tracker,\r\n presetLibrary,\r\n combinations,\r\n iframe,\r\n user\r\n})","import {createStore, applyMiddleware, compose} from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport logger from 'redux-logger';\r\nimport rootReducer from './reducers';\r\n\r\nconst initialState = {};\r\nconst enhancers = [];\r\nconst middleware = [\r\n thunk\r\n];\r\n\r\n// In case of development mode add redux-logger middleware\r\nif (process.env.NODE_ENV === 'development') {\r\n middleware.push(logger);\r\n}\r\n\r\nconst composedEnhancers = compose(\r\n applyMiddleware(...middleware),\r\n ...enhancers\r\n)\r\n\r\nexport default createStore(\r\n rootReducer,\r\n initialState,\r\n composedEnhancers,\r\n);\r\n\r\n","import React, {Component, Fragment} from \"react\";\r\nimport {Row, Col, Button} from \"react-bootstrap\";\r\nimport \"../Sidebar/Sidebar.css\";\r\nimport 'react-date-range/dist/styles.css';\r\nimport 'react-date-range/dist/theme/default.css';\r\nimport { DateRange } from 'react-date-range';\r\nimport {SpinnerSmall} from '../../../helpers/spinners';\r\n\r\n\r\nclass Sidebar extends Component {\r\n state = {\r\n dateRange: [{\r\n startDate: new Date(),\r\n endDate: new Date(),\r\n key: 'selection'\r\n }],\r\n showDateRangePicker: false\r\n }\r\n\r\n componentDidMount() {\r\n this.props.loadFiltersRequest()\r\n }\r\n\r\n handleSubmit = e => {\r\n e.preventDefault();\r\n let state = {...this.state}\r\n if (this.state.option2 === 'customDate') {\r\n let firstDay = state.dateRange[0].startDate\r\n let lastDay = state.dateRange[0].endDate\r\n state.option2 = {\r\n firstDay: firstDay.getFullYear() + \"-\" + (firstDay.getMonth() + 1) + \"-\" + firstDay.getDate(),\r\n lastDay: lastDay.getFullYear() + \"-\" + (lastDay.getMonth() + 1) + \"-\" + lastDay.getDate()\r\n }\r\n }\r\n\r\n let {dateRange, showDateRangePicker, ...filters} = state\r\n\r\n this.props.loadReportRequest(filters)\r\n }\r\n\r\n handleChange = e => {\r\n e.preventDefault()\r\n if (e.target.name === 'option2' && e.target.value === 'customDate') {\r\n this.setState({\r\n showDateRangePicker: true\r\n })\r\n }\r\n\r\n if (e.target.name === 'option2' && e.target.value !== 'customDate') {\r\n this.setState({\r\n showDateRangePicker: false\r\n })\r\n }\r\n\r\n this.setState({\r\n [e.target.name]: e.target.value,\r\n })\r\n }\r\n\r\n handleDatePicker = item => {\r\n this.setState({\r\n dateRange: [\r\n item.selection\r\n ]\r\n })\r\n }\r\n\r\n render() {\r\n let calendar = this.handleDatePicker(item)}\r\n moveRangeOnFirstSelection={false}\r\n editableDateInputs={true}\r\n />\r\n\r\n return (\r\n
\r\n \r\n \r\n FILTER OPTIONS\r\n \r\n \r\n {\r\n this.props.tracker.loading ?\r\n \r\n \r\n \r\n \r\n \r\n : ''\r\n }\r\n\r\n {\r\n this.props.tracker.hasError ?\r\n \r\n \r\n {this.props.tracker.error}\r\n \r\n : ''\r\n }\r\n\r\n {\r\n !this.props.tracker.isEmpty ?\r\n \r\n \r\n
\r\n {\r\n Object.keys(this.props.availableFilters).map((option, i) => {\r\n let defaultOption = ''\r\n if (option === 'type') {\r\n defaultOption = \r\n }\r\n if (option === 'option1') {\r\n defaultOption = \r\n }\r\n if (option === 'option2') {\r\n defaultOption = \r\n }\r\n if (option === 'listUser') {\r\n defaultOption = \r\n }\r\n return (\r\n \r\n \r\n {\r\n option === 'option2' ? (this.state.showDateRangePicker ? calendar : '') : ''\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\nexport default Sidebar;","import { connect } from 'react-redux';\r\nimport Sidebar from \"../../components/Tracker/Sidebar/Sidebar\";\r\nimport {loadReportRequest, loadFiltersRequest} from \"../../actions/actionsCreators\";\r\n\r\nconst mapDispatchToProps = {\r\n loadReportRequest: loadReportRequest,\r\n loadFiltersRequest: loadFiltersRequest\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n tracker: state.tracker\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Sidebar)","import React from \"react\";\r\n\r\nfunction Tracker(props) {\r\n return(\r\n props.trackers.map(item => {\r\n return (\r\n \r\n {item.name}\r\n {item.url}\r\n {item.data.map((item, i) => {item.value})}\r\n \r\n )\r\n })\r\n )\r\n}\r\n\r\nexport default Tracker;","import React from \"react\";\r\nimport {Table} from \"react-bootstrap\";\r\nimport Tracker from \"../Trackers/Tracker\";\r\n\r\nfunction Trackers(props) {\r\n let hasData = true;\r\n\r\n if (!props.listColumn || !props.trackers) {\r\n hasData = false\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {hasData ? props.listColumn.map((item, i) => ) : 'No Data'}\r\n \r\n \r\n \r\n {hasData ? : ''}\r\n \r\n
{item}
\r\n )\r\n}\r\n\r\nexport default Trackers;","import React, {Component} from \"react\";\r\nimport Navbar from \"../../components/Navbar/Navbar\";\r\nimport \"../Tracker/Tracker.css\";\r\nimport {Col, Row} from \"react-bootstrap\";\r\nimport SidebarContainer from \"../../containers/Tracker/SidebarContainer\";\r\nimport Trackers from \"../Tracker/Trackers/Trackers\";\r\nimport { CSVLink } from \"react-csv\";\r\nimport {SpinnerSmall} from '../../helpers/spinners';\r\n\r\nclass Tracker extends Component {\r\n state = {\r\n csvData: [{data: null}]\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n let csvData = [{data: null}]\r\n if (this.props.tracker.trackers.length !== 0) {\r\n csvData = this.props.tracker.trackers.map((item) => {\r\n let data = {}\r\n item.data.forEach(item => {\r\n data[item.name] = item.value\r\n })\r\n const name = {\"Account Name\": item.name}\r\n const url = {URL: item.url}\r\n\r\n return(\r\n {...name, ...url, ...data}\r\n )\r\n })\r\n }\r\n\r\n if (prevProps.tracker.trackers !== this.props.tracker.trackers && this.props.tracker.trackers.length !== 0) {\r\n this.setState({\r\n csvData: csvData\r\n })\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 this.props.tracker.trackers.length !== 0 ?\r\n \r\n \r\n

View Trackers

\r\n \r\n \r\n Export CSV\r\n \r\n
: ''\r\n }\r\n \r\n \r\n {\r\n this.props.tracker.loadingReport ? : ''\r\n }\r\n {\r\n this.props.tracker.hasErrorReport ? this.props.tracker.errorReport : ''\r\n }\r\n {\r\n this.props.tracker.trackers.length !== 0 ? : ''\r\n }\r\n {\r\n this.props.tracker.trackers.length === 0 && !this.props.hasErrorReport ? ' No records found !' : ''\r\n }\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Tracker;","import { connect } from 'react-redux';\r\nimport Tracker from \"../components/Tracker/Tracker\";\r\nimport {loadInitialReportRequest} from \"../actions/actionsCreators\";\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n tracker: state.tracker\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n loadInitialReportRequest: loadInitialReportRequest\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Tracker)","import React from \"react\";\r\nimport Navbar from \"../Navbar/Navbar\";\r\nimport '../../App.css';\r\nimport './Confirm.css';\r\nimport {Container, Row, Col} from \"react-bootstrap\";\r\nimport confirmIconWidget from '../../assets/confirmation-icon-widget-1@x.png';\r\nimport confirmIconLink from '../../assets/confirmation-icon-link-1@x.png';\r\nimport arrowLeft from '../../assets/arrow-left-1@2x.png';\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nfunction Confirmation(props) {\r\n const history = useHistory();\r\n\r\n const redirectToConfigurator = () => {\r\n history.push(\"/configurator\");\r\n }\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 props.type === 'widget' ? Configurator Widget is successfully generated! Your design is ready to be shared. :\r\n Embedded Link is successfully generated! Your design is ready to be shared.\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\nexport default Confirmation","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport {Modal, Table, Col, Row, Spinner} from \"react-bootstrap\";\r\nimport 'react-input-range/lib/css/index.css';\r\nimport closeIcon from \"../../../assets/close-icon@2x.png\";\r\nimport warningIcon from \"../../../assets/warning.png\";\r\nimport LoginForm from \"./LoginForm\";\r\nimport {login} from '../../../actions/actionsCreators';\r\nimport axios from '../../../axios';\r\nimport {SpinnerSmall} from \"../../../helpers/spinners\";\r\n\r\nlet helperPC = 'https://cadgl.net/icons_cadgl/pc-mouse.jpg';\r\nlet helperMobile = 'https://cadgl.net/icons_cadgl/mobile-touch.jpg';\r\nlet showInterval;\r\n\r\nclass HardwareAccelerationModal extends Component {\r\n state = {\r\n show: false,\r\n hasError: false,\r\n error: '',\r\n loading: false,\r\n helperIcon: helperPC\r\n };\r\n\r\n /**\r\n * Close modal\r\n */\r\n handleCloseHelper = () => {\r\n this.setState({\r\n show: false\r\n })\r\n if(document.getElementById(\"welcome-dont-show\").checked == true)\r\n {\r\n var d=new Date();\r\n d.setTime(d.getTime()+(100*24*60*60*1000));\r\n var expires = \"; expires=\"+d.toGMTString();\r\n var name = \"welcome-dont-show\";\r\n var value = \"true\";\r\n document.cookie = name+\"=\"+value+expires+\"; path=/\";\r\n }\r\n }\r\n\r\n /**\r\n * Open modal\r\n */\r\n handleShow = () => {\r\n this.setState({\r\n show: true\r\n });\r\n showInterval = setInterval(() => {\r\n if(document.getElementById(\"helperPopup\")){\r\n // document.getElementById(\"helperPopup\").childNodes[0].classList.add(\"popupWidth60\");\r\n clearInterval(showInterval);\r\n }\r\n }, 1);\r\n }\r\n\r\n readCookie(name) {\r\n var nameEQ = name + \"=\";\r\n var ca = document.cookie.split(';');\r\n for(var i=0;i < ca.length;i++) {\r\n var c = ca[i];\r\n while (c.charAt(0)==' ') c = c.substring(1,c.length);\r\n if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);\r\n }\r\n return null;\r\n }\r\n\r\n componentDidMount() {\r\n if(localStorage.getItem('user'))\r\n {\r\n if(!this.readCookie(\"welcome-dont-show\") && window.location.pathname == \"/\"){\r\n this.handleShow();\r\n }\r\n }else{\r\n this.setState({\r\n show: false\r\n })\r\n }\r\n }\r\n componentWillReceiveProps = (nextProps) => {\r\n console.log(\"nextProps\", nextProps);\r\n this.setState({\r\n show: nextProps.show\r\n })\r\n }\r\n \r\n\r\n render() {\r\n return (\r\n \r\n {\r\n this.state.show ?\r\n \r\n : <>\r\n }\r\n \r\n \r\n Warning\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n
\r\n {/*

\r\n Your browser is not configured properly. \r\n

*/}\r\n

\r\n Please activate \"Hardware Acceleration\" option in your settings. \r\n

\r\n

\r\n Being switched off prevents you from loading WebGl pages correctly. \r\n

\r\n {/*

\r\n This option is enabled by default but could have been switched off unintentionally. \r\n

*/}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(HardwareAccelerationModal)","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAYAAAA4TnrqAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAS6ADAAQAAAABAAAASwAAAACEC2e7AAAF0ElEQVR4Ae2cTWhdRRTH814+JNbGmgQRbcVqQVuqiNoqfqEFdScoNdWF6MZskmV06cKFIGSZLBJB8QPB6FIEQTGoSCtJbYu0VYPVahMjSbSxfr3mw99f7guTTCbzap33bus58GfmzszLvfPrmfPO3Pt6C3VYX19fW2Nj4zOLi4sNhUJhVm1mdXXwaEHNCwsLz3V1df1Y6O/vv6y+vv751tbWpzo6OuYN0nICQ0ND9TMzMy/Ozc09XWxoaHjWQC0H5B7JgcRHK6+Ii/1pHuXi8evioxBVJEb96ndby0oCiuXFlY12HCZgsMJsvB6D5SEJNxisMBuvx2B5SMINBivMxusxWB6ScIPBCrPxegyWhyTcYLDCbLweg+UhCTcYrDAbr8dgeUjCDQYrzMbrMVgeknCDwQqz8XoMlock3NAQ7spXT09Pz7qmpqbNPFy5hSvbiI6j0cnJyWODg4O/V+Nqcw9L974BcS26F21Fm9DF6Ge0Ex0eGBgYpvySW79Jn07lGhagmjIgD1FuQEfRB0jPDdajLehmtBm9zfiRlMByCysDdTsQ9qASegWNAuM3yn+MMQImWBrTgfSA+AhKYrkM8A6ox5i14tFL6BMXlGhwLA/7GL2JWtGuzs7OCymTWO5grQB1ilm/ig4BZmE1ArQrTo0gLdFtbW1tV1EmsVzBAtQFzFJLTx7lglpca/YA09gxdDlPjrUsk1huYAGqwAxvRI8gxaWyR60JinFlU7zSDzmuKDf812XeAnwzE9RyUhzS0qsUlLgo2CuGjesgheUGlsBgB5jkQXTyTEDxuXV8RmnE+Pz8/H7KJFZzWExU32LbkHKli9Ac+on2w5TfAU1pQ9AYp1CiOHUd2j81NfVNcPBZdtQMFpNs5Nq3o/uQvELfagJTj5SM3o32Mu4jgE1S9ywDdQMdinMn0Ycptz41gcUkBeM2tBvpG/AzpGRyOjveRLkD3Y9KjH8XYKepL5kD6nEaBV65luJdMqs6rAyU0oNH0R9ICecBYPxFWbaDjBvlQHs/AVxmK0Bp6b6B9vE35J3JrKqwHFDRPIqJTzD+Hc3chRAA9SljlnleCmJVg3UmoMoTdSGprZagdP6qJKX/BpQuzrVag9K1JPesSkAx5hKuRTf0ZvCmE7ow1+jXdV6PFMyVUylGVWXpcZ4lSworm+StnE3BfK293nr6lUJou/I+pb4ZtX2R57ejm9ADSFuimoDivMk9S3c4H0bKn15DoS3ML/RpIyxgT6AJpLypDOtS6vI4BXzd00oezDmPZ8k8K7uvtIsz6hbwyygESt92s3jUe4z5FskTr0TaEGtvKJBKI/ah7xm7QFkTSwarvb39ama0FWlJyRvWnCT9yrMOAU3jtSxbkPImedip2OcZk9zk5kmM/7mh/Zq8Y4yJ6m5npSZAgqX4NMFnZ/MAShefzLPwEIHSpBXYKzI+o3887fUeRF8jxS5trHNhyTyL2f2A9I0mYFFzQCk9EGh9PjegNIGUsEb5++PoGkAoNwraClDlvd5elt//A5aeFEPnC6R7VTsAolsvnmXtWnryqDKoqiec3oWt0pDMs7L7SsOccxrtQXcBRjCWLDu+k4YnUc0y86ULilSSBfjsvF9RvoV2I3nOTgCNUSroC84WpMRV6cHrSLdZTlPm0pLCUswBjmKXAv09aDu6A21ASjaVlX+OhtFRxittyK0lhaVZZ0H6CL+COa5fwWT510YgnuDhwkipVDrW29urR1+5t+SwygQyIAr40jlpyQL8OUkjctEGKwLI7TZYLo1I3WBFALndBsulEakbrAggt9tguTQidYMVAeR2GyyXRqRusCKA3G6D5dKI1A1WBJDbbbBcGpG6wYoAcrsNlksjUjdYEUBut8FyaUTqRW7vVvQQNPJ3zvtuOLXonX9zer3keT/bs5ig+ACrucj7N1/QezgN2Oo0y+8p1Ytd9UuVOr3YVe8r1Ws48TT9/xczCChEaeXJobq7u6f/BkaS/UjxpxvMAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAJCAYAAADtj3ZXAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAD6ADAAQAAAABAAAACQAAAACIdi6pAAAAd0lEQVQoFWNgwASMmELYRZiRhHmA7NVA/B2IbyCJ42SyQGV4gfRaIGYH4sNQMYIUyImiQLwEiOWBOBSI3wExExATAu9AmucBcSIQPwVikJNZgZgYsJ4Sm9/DbAD5eRcQHwRiYZggKTQotDcAcSApmtDVgrxCFAAAJisQZcIe510AAAAASUVORK5CYII=\"","export const switchCases = (props, api) => {\r\n switch (props.iframe.type) {\r\n case 'takeScreenshot':\r\n takeScreenshot(api)\r\n break;\r\n case 'enableArIframe':\r\n let arSettings = {...props.iframe.arSettings}\r\n arSettings.enabled = false\r\n api.setXRParams(arSettings)\r\n break;\r\n case 'resetCameraIframe':\r\n api.resetCamera()\r\n break;\r\n case 'enableRotationIframe':\r\n api.setCameraParams({orbitParams: {autoRotate: props.iframe.combination.config.camera.orbitParams.autoRotate}})\r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n\r\n/**\r\n * Take screenshot of canvas\r\n * @param api\r\n */\r\nconst takeScreenshot = api => {\r\n let img = api.getSnapshotData(\"image/jpg\")\r\n let link = document.createElement(\"a\");\r\n link.download = \"screenshot.jpg\";\r\n link.href = img;\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.appendChild(link);\r\n link.click();\r\n body.removeChild(link);\r\n}","export default \"data:image/png;base64,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\"","\r\nconst viewerUrl = 'https://3d-viewer-cadgl.link'\r\n\r\nexport default viewerUrl;","export default __webpack_public_path__ + \"static/media/logo_site.96c3306c.png\";","export default __webpack_public_path__ + \"static/media/button-Camera-On.0e9b47a1.png\";","export default __webpack_public_path__ + \"static/media/button-AR-On.85004a36.png\";","export default __webpack_public_path__ + \"static/media/button-Rotate-On.956683c2.png\";","export default __webpack_public_path__ + \"static/media/button-On.7a53a329.png\";","import React, {Component} from \"react\";\r\nimport {connect} from \"react-redux\";\r\nimport 'react-input-range/lib/css/index.css';\r\n\r\nimport HelperModal from \"./HelperModal\";\r\nlet play = 'https://cadgl.net/icons_cadgl/play.png';\r\nlet stop = 'https://cadgl.net/icons_cadgl/stop.png';\r\nlet sound_on = 'https://cadgl.net/icons_cadgl/sound_on.png';\r\nlet sound_off = 'https://cadgl.net/icons_cadgl/sound_off.png';\r\nlet help = 'https://cadgl.net/icons_cadgl/help.png';\r\nlet fullscreen = 'https://cadgl.net/icons_cadgl/fullscreen.png';\r\nlet auto_rotate = 'https://cadgl.net/icons_cadgl/auto_rotate.png';\r\nlet measure = 'https://cadgl.net/icons_cadgl/measure.png';\r\nlet auto_rotate_stop = 'https://cadgl.net/icons_cadgl/auto_rotate_stop.png';\r\nlet annotation_on = 'https://cadgl.net/icons_cadgl/annotation_on.png';\r\nlet annotation_off = 'https://cadgl.net/icons_cadgl/annotation_off.png';\r\n\r\nlet change_background = 'https://cadgl.net/icons_cadgl/background.png';\r\nlet screenshot = 'https://cadgl.net/icons_cadgl/screenshot.png';\r\nlet configurator3D = 'https://cadgl.net/icons_cadgl/3d_config.png';\r\n\r\nclass CombinationIcons extends Component {\r\n \r\n state = {\r\n page: '',\r\n }\r\n go3DConfigurator = (e) => {\r\n const url = window.location.href;\r\n const id = url.split(\"/\")[url.split(\"/\").length - 1];\r\n window.open('/configurators/' + id,'_blank');\r\n }\r\n\r\n componentDidMount() {\r\n const url = window.location.href;\r\n const page = url.split(\"/\")[url.split(\"/\").length - 2];\r\n this.setState({\r\n page: page\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
\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.state.page == 'iframe' ?\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\nconst mapDispatchToProps = {\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(CombinationIcons)","export default __webpack_public_path__ + \"static/media/button-AR-Off.d1433b46.png\";","export default __webpack_public_path__ + \"static/media/button-Camera-Off.2f00487b.png\";","export default __webpack_public_path__ + \"static/media/button-Off.50827069.png\";","export default __webpack_public_path__ + \"static/media/button-Rotate-Off.34d33030.png\";","export default __webpack_public_path__ + \"static/media/warning.c83550b6.png\";","import { getGPUTier } from 'detect-gpu';\r\nimport React, {useEffect, useState} from \"react\";\r\nimport {Spinner, Col, Row, DropdownButton, Dropdown, Navbar, Form, Button} from \"react-bootstrap\";\r\nimport {FileLoader, Vector2, TextureLoader, DefaultLoadingManager} from \"three\";\r\nimport { connect } from 'react-redux';\r\nimport { withRouter } from \"react-router\";\r\nimport {switchCases} from \"./switchCases\";\r\nimport {SpinnerSmall} from \"../../helpers/spinners\";\r\nimport hamburger from '../../assets/hamburger-icon.png';\r\nimport axios from '../../axios';\r\nimport viewerUrl from '../../3dViewerUrl';\r\n// import Navbar from \"../Navbar/Navbar\";\r\n\r\nimport logo from '../../assets/logo_site.png';\r\n\r\n\r\nimport deleteBtn from '../../assets/delete@2x.png';\r\nimport arOn from '../../assets/button-AR-On.png';\r\nimport cameraOn from '../../assets/button-Camera-On.png';\r\nimport switchOn from '../../assets/button-On.png';\r\nimport rotateOn from '../../assets/button-Rotate-On.png';\r\n\r\nimport arOff from '../../assets/button-AR-Off.png';\r\nimport cameraOff from '../../assets/button-Camera-Off.png';\r\nimport switchOff from '../../assets/button-Off.png';\r\nimport rotateOff from '../../assets/button-Rotate-Off.png';\r\nimport Switch from \"react-bootstrap/esm/Switch\";\r\nimport CombinationIcons from \"../../components/Configurator/Combinations/CombinationIcons\";\r\nimport UploadFileModal from \"../../components/Configurator/Combinations/UploadFileModal\";\r\nimport {enableAnnotations, saveSceneConfigToState} from \"../../actions/actionsCreators\";\r\nimport HardwareAccelerationModal from \"../Configurator/Combinations/HardwareAccelerationModal\";\r\n\r\nimport * as commonFunction from '../CommonFunction/CommonFunction.js';\r\n\r\nimport lang_it from '../../lang/lang_it.json';\r\nimport lang_en from '../../lang/lang_en.json';\r\nimport lang_fr from '../../lang/lang_fr.json';\r\nimport lang_vn from '../../lang/lang_vn.json';\r\nimport jwt_decode from \"jwt-decode\";\r\nlet lang = {};\r\nif(localStorage.getItem('lang')){\r\n switch(localStorage.getItem('lang')){\r\n case \"en\":\r\n lang = lang_en;\r\n break;\r\n case \"vn\":\r\n lang = lang_vn;\r\n break;\r\n case \"fr\":\r\n lang = lang_fr;\r\n break;\r\n case \"it\":\r\n lang = lang_it;\r\n break;\r\n }\r\n}else{\r\n lang = lang_en;\r\n}\r\n\r\n// const Viewer = require(\"../../cadcentre/dist/cadcenter\");\r\nconst Viewer = window.CADEDITOR.icad;\r\nlet mousePosition = new Vector2(0, 0)\r\nlet mouseDownTime = 0\r\nlet API\r\n\r\nlet _logoVisibility = 1;\r\nlet draggingAnnotation = null;\r\nlet isFirstClick = false;\r\n\r\n// Duration is in seconds\r\nlet isFullScreen = false;\r\nlet logoFadeInDuration = 1.0;\r\nlet logoFadeOutDuration = 1.0;\r\nlet logoStayDuration = 1.0;\r\nlet logoMinActionTime = 0.5; // 500 ms. Min time to check.\r\nlet _logoTweener;\r\nlet _logoState = 'startVisible';\r\nlet outlineFadeTime = 1;\r\nlet outlineVisibleTime = 4;\r\nlet outlineEdgeStrength = 1.0;\r\nlet mouseWheelTime = 0;\r\nlet lastMouseDownTime = 0;\r\nlet userInfo = {};\r\nlet currentCombinationName = '';\r\nlet currentCombinationUrl = window.location;\r\nlet originalCanvasHeight = 0;\r\nlet isIgnoreAnimation = false;\r\nlet play = 'https://cadgl.net/icons_cadgl/play.png';\r\nlet stop = 'https://cadgl.net/icons_cadgl/stop.png';\r\nlet sound_on = 'https://cadgl.net/icons_cadgl/sound_on.png';\r\nlet sound_off = 'https://cadgl.net/icons_cadgl/sound_off.png';\r\nlet help = 'https://cadgl.net/icons_cadgl/help.png';\r\nlet fullscreen = 'https://cadgl.net/icons_cadgl/fullscreen.png';\r\nlet auto_rotate = 'https://cadgl.net/icons_cadgl/auto_rotate.png';\r\nlet auto_rotate_stop = 'https://cadgl.net/icons_cadgl/auto_rotate_stop.png';\r\nlet annotation_on = 'https://cadgl.net/icons_cadgl/annotation_on.png';\r\nlet annotation_off = 'https://cadgl.net/icons_cadgl/annotation_off.png';\r\nlet annotationComments = [];\r\nlet isOnwer = false;\r\nlet isOwnerEmail = '';\r\nconst canvas = React.createRef()\r\n\r\nfunction ProductRenderer(props, state) {\r\n\r\n const [value, setState] = useState({\r\n isShow3D: true,\r\n canvasHeight: 1000,\r\n userInfo: {},\r\n })\r\n\r\n const open3D = () => {\r\n alert('zxcz');\r\n }\r\n\r\n let arStatus = true;\r\n let autoRotate = false;\r\n let combinations;\r\n let annotationsLocal = [];\r\n let materialsLibraryLocal = [];\r\n const [gpu, setGPU] = useState(null);\r\n const [firstLoad, setFirstLoad] = useState(true);\r\n const [useCustomLoading, setUseCustomLoading] = useState(false);\r\n const [customLoading, setCustomLoading] = useState('');\r\n const [showHardwareModal, setShowHardwareModal] = useState(false);\r\n async function testGPU(){\r\n const gpuTier = await getGPUTier();\r\n setGPU(gpuTier);\r\n }\r\n\r\n let logoParams = {\r\n opacity: 1,\r\n enabled: true,\r\n image: \"https://cadgl.net/editor/images/logo_editor.png\",\r\n height: 0,\r\n width: 0,\r\n positionY: 0,\r\n positionX: 0,\r\n scale: 1,\r\n logoStayDuration: 60,\r\n logoFadeInDuration: 0,\r\n logoFadeOutDuration: 0\r\n };\r\n\r\n useEffect(() => {\r\n // let isMobile = false;\r\n // let isAppleGPU = false;\r\n // if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.platform) ) {\r\n // isMobile = true;\r\n // }\r\n // const iPad = (navigator.userAgent.match(/(iPad)/) /* iOS pre 13 */ || \r\n // (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1) /* iPad OS 13 */);\r\n // if(iPad) isMobile = true;\r\n // if(firstLoad){\r\n // testGPU();\r\n // if(gpu && firstLoad){\r\n // setFirstLoad(false);\r\n // if(gpu.gpu == \"apple gpu (Apple GPU)\") isAppleGPU = true;\r\n // if(gpu.tier >= 2 || isMobile || isAppleGPU){\r\n // coreFeature();\r\n // }else{\r\n // setShowHardwareModal(true);\r\n // }\r\n // }\r\n // }\r\n coreFeature();\r\n \r\n }, [gpu])\r\n\r\n function coreFeature(){\r\n \r\n let timeTimeout = 0;\r\n if(window.self !== window.top){\r\n timeTimeout = 5000;\r\n }\r\n document.getElementById(\"static-img\").style.setProperty('height', window.innerHeight+'px', 'important');\r\n if(document.getElementById(\"canvas\").clientWidth != undefined && document.getElementById(\"canvas\").clientWidth > 0){\r\n setTimeout(() => {\r\n\r\n console.log(\"canvas annotation: \" + document.getElementById(\"canvas\").clientWidth);\r\n let annoWidth = 48;\r\n let annoHeight = 48;\r\n //Create API instance\r\n const api = new Viewer.API({\r\n canvas: canvas.current,\r\n gemConfig: {\r\n quality: 'high',\r\n diamondClass: [{\r\n name: \"diamond\",\r\n color: 0xaaaaaa\r\n }]\r\n },\r\n annotationIconParams: {\r\n maxAnnotations: 10,\r\n // texture: \"../../annotations.png\",\r\n texture: \"https://cadgl.net/icons_cadgl/annotations.png\",\r\n columns: 10,\r\n size: new Vector2(annoWidth, annoHeight),\r\n padding: 2,\r\n annotationHiddenAlpha: 0.3,\r\n annotationHighlightTint: \"gold\",\r\n // annotationTint: \"red\"\r\n },\r\n //logoParams: logoParams,\r\n animationLoopCallback : ()=> animationLoop()\r\n });\r\n\r\n API = api\r\n\r\n let gRefl = api.getGroundReflectionParams();\r\n gRefl.enable = false;\r\n api.setGroundReflectionParams(gRefl);\r\n //api.setViewerSize(canvas.current.clientWidth, canvas.current.clientHeight);\r\n\r\n \r\n let xrParams = api.getXRParams();\r\n xrParams.enabled = false;\r\n api.setXRParams(xrParams);\r\n\r\n\r\n commonFunction.setDefaultRatio(api);\r\n\r\n //if (!props.iframe.combination.id) {\r\n if (!props.match.params.id) {\r\n new FileLoader().load(\"./scene.json\", (response) => {\r\n api.importScene(JSON.parse(response))\r\n })\r\n } else {\r\n\r\n let combinationUuid = props.match.params.id.split('&')[0];\r\n axios.post('combination/get-combination', {\r\n id: combinationUuid,\r\n getMaterial: true,\r\n getConfig: true,\r\n getGeometry: true\r\n }).then(response => {\r\n document.getElementById(\"canvas\").style.display = \"none\";\r\n let comp = response.data.data.combination\r\n currentCombinationName = comp.name;\r\n annotationComments = comp.annotationComments;\r\n // commonFunction.currentCombinationName = currentCombinationName;\r\n isIgnoreAnimation = comp.isIgnoreAnimation;\r\n if(isIgnoreAnimation == \"true\"){\r\n api.stopAllAnimations();\r\n }\r\n let user = response.data.data.user;\r\n setState({\r\n ...value,\r\n userInfo: user\r\n });\r\n \r\n\r\n var element = document.getElementById(\"360-combination\");\r\n // Add the class to the element\r\n element.classList.add(user.username.replace(/\\s+/g, '') + \"_annotation\");\r\n\r\n //Custom Logo\r\n if(user.isAllowCustomLogoSetting){\r\n if(user.logoUrl){\r\n logoParams.image = user.logoUrl;\r\n }\r\n if(user.logoStayDuration){\r\n logoParams.logoStayDuration = user.logoStayDuration;\r\n }\r\n if(user.logoFadeInDuration){\r\n logoParams.logoFadeInDuration = user.logoFadeInDuration;\r\n }\r\n if(user.logoFadeOutDuration){\r\n logoParams.logoFadeOutDuration = user.logoFadeOutDuration;\r\n }\r\n if(user.logoPositionX){\r\n logoParams.positionX = user.logoPositionX;\r\n }\r\n if(user.logoPositionY){\r\n logoParams.positionY = user.logoPositionY;\r\n }\r\n if(user.logoScale){\r\n logoParams.scale = user.logoScale;\r\n }\r\n }\r\n if(user.loadingUrl && user.isAllowCustomLoadingSetting){\r\n setUseCustomLoading(true);\r\n setCustomLoading(user.loadingUrl);\r\n }\r\n\r\n if (window.getComputedStyle(document.getElementById(\"static-img\")).display !== \"none\")\r\n {\r\n document.getElementById(\"myLoader2\").style.display = \"block\";\r\n }\r\n\r\n\r\n\r\n \r\n //commonFunction.renderFullscreenIconHelperIcon(comp, \"annotation\");\r\n\r\n commonFunction.renderStaticImg(comp);\r\n \r\n let token = localStorage.getItem('user');\r\n if(token){\r\n let decoded_jwt = jwt_decode(localStorage.getItem('user'));\r\n if(decoded_jwt.email == user.email){\r\n isOnwer = true;\r\n isOwnerEmail = user.email;\r\n }\r\n // alert(JSON.stringify(decoded_jwt));\r\n }\r\n \r\n initial(comp.path, user, comp);\r\n\r\n \r\n\r\n let combinationList = document.getElementById(\"combinationList\");\r\n axios.get('combination/get-list?meshes=' + comp.meshes+'&userId=' + user.userId).then(response => {\r\n\r\n combinations = response.data.data.combination;\r\n let index = 0 ;\r\n\r\n for(let combination of combinations)\r\n {\r\n let opt = new Option(combination.name, combination.path); \r\n if(combination.uuid == comp.uuid)\r\n {\r\n document.getElementById('combinationPrice').value = combination.price != undefined ? '$' + parseFloat(combination.price, 10).toFixed(2).replace(/(\\d)(?=(\\d{3})+\\.)/g, \"$1,\").toString() : 0;\r\n document.getElementById('combinationDesc').value = combination.description != undefined ? combination.description : '';\r\n document.getElementById('combinationTitle').value = combination.name != undefined ? combination.name : '';\r\n opt.selected = true;\r\n }\r\n combinationList[index] = opt;\r\n index ++;\r\n }\r\n combinations.map(function(combination, index) {\r\n });\r\n\r\n }).catch(error => {\r\n })\r\n\r\n\r\n \r\n logoParams.enabled = user.isAllowWatermarkLogo;\r\n if(user.logoUrl && user.isAllowCustomLogoSetting){\r\n logoParams.enabled = true;\r\n }\r\n else if(user.logoUrl && !user.isAllowCustomLogoSetting){\r\n logoParams.enabled = user.isAllowWatermarkLogo;\r\n }\r\n else if((!user.logoUrl || user.logoUrl == \"\") && user.isAllowCustomLogoSetting){\r\n logoParams.enabled = false;\r\n }\r\n userInfo.isShowLinkToolTip = user.isShowLinkToolTip;\r\n api.setLogoParams(logoParams);\r\n api.play() //Render 3D model on canvas\r\n\r\n // api.setDofParams({enabled: props.sceneConfig.config.dof.enabled})\r\n \r\n\r\n //Render Annotation Comments\r\n //annotation-comments-list\r\n console.log(annotationComments);\r\n renderAnnotationComments(annotationComments)\r\n\r\n }).catch(err => {\r\n })\r\n }\r\n\r\n function renderAnnotationComments(comments){\r\n let commentRenderers = \"\";\r\n comments = comments.reverse();\r\n let emailAllowed = props.match.params.id.split('&email=')[1];\r\n for(let comment of comments){\r\n let renderComment = '';\r\n let contentArr = comment.content.split(' ');\r\n let tmpContent = [];\r\n for(let content of contentArr){\r\n if (content.indexOf(\"http://\") == 0 || content.indexOf(\"https://\") == 0) {\r\n tmpContent.push('link');\r\n }else{\r\n tmpContent.push(content);\r\n }\r\n }\r\n let contentFinal = tmpContent.join(\" \");\r\n if( (emailAllowed && emailAllowed == comment.email) || isOnwer){\r\n renderComment = `\r\n
\r\n
\r\n

${comment.email.substring(0, 13)}...

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

${new Date(comment.date).toLocaleString('en-GB', {year: 'numeric', month: 'numeric', day: 'numeric'})}

\r\n \"\"\r\n
\r\n
\r\n

${contentFinal}

\r\n
\r\n
\r\n
\r\n `;\r\n }else{\r\n renderComment = `\r\n
\r\n
\r\n

${comment.email.substring(0, 13)}...

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

${new Date(comment.date).toLocaleString('en-GB', {year: 'numeric', month: 'numeric', day: 'numeric'})}

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

${contentFinal}

\r\n
\r\n
\r\n
\r\n `;\r\n }\r\n\r\n \r\n commentRenderers += renderComment;\r\n }\r\n \r\n setTimeout(() => {\r\n document.getElementById(\"annotation-comments-list\").innerHTML = commentRenderers;\r\n }, 500);\r\n setTimeout(() => {\r\n var annotationCommentsDeletes = document.querySelectorAll('.delete-annotation-comment');\r\n var myFunction = function() {\r\n if(window.confirm(\"Are you sure?\")){\r\n let payload = {\r\n uuid: props.match.params.id.split('&email=')[0],\r\n email: this.getAttribute(\"data-email\"),\r\n date: this.getAttribute(\"data-date\")\r\n };\r\n axios.post('combination/delete-annotation-comment', payload).then(response => {\r\n alert('Success');\r\n renderAnnotationComments(response.data.data.annotationComments);\r\n }).catch(err => {\r\n console.log(err);\r\n alert(\"Can\\'t submit comment with this email address\");\r\n });\r\n }\r\n };\r\n for (var i = 0; i < annotationCommentsDeletes.length; i++) {\r\n annotationCommentsDeletes[i].addEventListener('click', myFunction, false);\r\n }\r\n }, 2000);\r\n \r\n }\r\n\r\n function initial(path, user, comp)\r\n {\r\n console.log(user);\r\n new FileLoader().load(path, async (response) => {\r\n await api.importScene(JSON.parse(response)).then(() => {\r\n setTimeout(() => {\r\n // api.stopAllSounds();\r\n commonFunction.waitAudioContext(api);\r\n // api.play();\r\n if(window.innerWidth < window.innerHeight){\r\n api.setCameraParams({orbitParams: {zoomSpeed: 1}});\r\n }\r\n \r\n setTimeout(() => {\r\n // commonFunction.hideLayersAfterLoad();\r\n let per = 90;\r\n var percentageInterval = setInterval(() => {\r\n per++;\r\n console.log('percentageInterval: ' + per);\r\n document.getElementById(\"myBar\").className = \"c100 p\" + Math.ceil(per) + \" big\";\r\n document.getElementById(\"myBar-text\").innerHTML = Math.ceil(per) + '%' ;\r\n if(per >= 100){\r\n console.log(cameraParams);\r\n commonFunction.hideLayersAfterLoad();\r\n\r\n setState({\r\n ...value,\r\n canvasHeight: canvas.current.clientHeight,\r\n });\r\n originalCanvasHeight = canvas.current.clientHeight;\r\n clearInterval(percentageInterval);\r\n }\r\n }, 100);\r\n }, 0);\r\n //\r\n //props.enableAnnotations(true);\r\n\r\n let obj = JSON.parse(response);\r\n let p = api.getCameraParams();\r\n p.position = [obj.config.camera.position[0], obj.config.camera.position[1], obj.config.camera.position[2]];\r\n api.setCameraParams(p);\r\n let animationSet = api.getModelAnimation();\r\n if(animationSet.size > 0 && isIgnoreAnimation == \"false\"){\r\n //SHOW PLAY ANIMATION BUTTON\r\n document.getElementById(\"animationPlay\").style.display = \"block\";\r\n }\r\n\r\n \r\n if(api.getAmbientAudio() != undefined){\r\n document.getElementById(\"audioPlay\").style.display = \"block\";\r\n // api.playAllSounds();\r\n }\r\n\r\n //Auto Rotate\r\n let cameraParams = api.getCameraParams();\r\n let orbitP = cameraParams.orbitParams;\r\n if(orbitP.autoRotate == true){\r\n document.getElementById(\"autoRotateIcon\").style.display = \"block\";\r\n }\r\n\r\n //Annotation\r\n commonFunction.renderAnnotationIcon(api);\r\n\r\n let isInIFrame = window.self !== window.top;\r\n if(isInIFrame){\r\n xrParams = api.getXRParams();\r\n xrParams.enabled = false;\r\n \r\n if(navigator.platform == 'iPhone' || navigator.platform == 'iPad' || navigator.platform == 'Win32'){\r\n api.setXRParams(xrParams);\r\n }\r\n }else{\r\n var xrInterval = setInterval(() => {\r\n xrParams = api.getXRParams();\r\n \r\n if (navigator.platform == 'iPhone' || navigator.platform == 'iPad') { // <-- Use the one here above\r\n \r\n if ('xr' in navigator)\r\n {\r\n if(!user.isAllowAR)\r\n {\r\n xrParams.enabled = false;\r\n }\r\n api.setXRParams(xrParams);\r\n }\r\n else\r\n {\r\n var mySpans = document.getElementsByTagName('a');\r\n var arBut;\r\n for(var i=0;i element that closes the modal\r\n var span = document.getElementsByClassName(\"closeAR\")[0];\r\n \r\n // When the user clicks on the button, open the modal\r\n var p = document.getElementsByClassName(\"modal-bodyAR-p\")[0];\r\n //p.innerHTML = \"Please download or open XR Viewer to view \" + \"\"+document.location+\" and experience the AR \";\r\n p.innerHTML = \"To view in AR
\"+currentCombinationName+\" (Copy link)
Use or install XR Viewer
* AR will be fully available on IOS very soon \";\r\n \r\n document.getElementById('urlClicking').addEventListener('click', function(){\r\n const textField = document.createElement('textarea');\r\n textField.innerText = currentCombinationUrl;\r\n document.body.appendChild(textField);\r\n textField.focus();\r\n textField.select();\r\n textField.setSelectionRange(0, 99999); /* For mobile devices */\r\n try {\r\n // Now that we've selected the anchor text, execute the copy command\r\n const successful = document.execCommand('copy');\r\n } catch(err) {\r\n alert(err);\r\n }\r\n document.body.removeChild(textField);\r\n alert(\"Copied to the clipboard\");\r\n });\r\n btn.onclick = function() {\r\n modal.style.display = \"block\";\r\n }\r\n \r\n // When the user clicks on (x), close the modal\r\n span.onclick = function() {\r\n modal.style.display = \"none\";\r\n }\r\n \r\n // When the user clicks anywhere outside of the modal, close it\r\n window.onclick = function(event) {\r\n if (event.target == modal) {\r\n modal.style.display = \"none\";\r\n }\r\n }\r\n }\r\n\r\n }\r\n }\r\n else\r\n {\r\n var element = document.getElementById('ARButton');\r\n if(element != null)\r\n {\r\n var txt = element.textContent || element.innerText;\r\n if(txt == 'AR NOT SUPPORTED')\r\n {\r\n element.style.display = \"none\";\r\n }\r\n }\r\n var mySpans = document.getElementsByTagName('a');\r\n var arBut;\r\n for(var i=0;i {\r\n setTimeout(() => {\r\n const layers = response.data.data.layers;\r\n let countLayer = 0;\r\n let layersList = document.getElementById(\"layersList\");\r\n for(let layer of materialsLibraryLocal)\r\n {\r\n if(countLayer == 0){\r\n document.getElementById(\"chosenLayer\").value = layer.data.params.id;\r\n }\r\n let name = layer.data.params.name;\r\n for(let lay of layers){\r\n if(lay.layerId == layer.data.params.id)\r\n {\r\n name = lay.displayName ?? layer.data.params.name;\r\n }\r\n }\r\n let opt = new Option(name, layer.data.params.id); \r\n \r\n layersList[countLayer] = opt;\r\n countLayer++;\r\n }\r\n }, 2000);\r\n });\r\n\r\n var count = 0;\r\n let getMaterialLibrary = setInterval(() => {\r\n count ++;\r\n if(count == 4)\r\n {\r\n // for(const layer of materialsLibrary)\r\n // {\r\n // if(layer.material.visible)\r\n // {\r\n // for(let mesh of layer.mesh){\r\n // if(api.getAudio(mesh)){\r\n // document.getElementById(\"audioPlay\").style.display = \"block\";\r\n // api.playAllSounds();\r\n // }\r\n // }\r\n // materialsLibraryLocal.push({\r\n // 'visible': true,\r\n // 'data': layer,\r\n // 'preset': null,\r\n // 'layer': layer.params.id\r\n // });\r\n // }\r\n // }\r\n clearInterval(getMaterialLibrary);\r\n }\r\n }, 1000);\r\n\r\n setTimeout(() => {\r\n let annotationList = document.getElementById(\"annotationList\");\r\n let allAnnotation = api.getAllAnnotations();\r\n console.log(allAnnotation);\r\n for(let annotation of allAnnotation)\r\n {\r\n console.log(annotation);\r\n let opt = new Option(annotation.title, annotation.index); \r\n \r\n if(annotation.index == 0)\r\n {\r\n opt.selected = true;\r\n document.getElementById(\"annotationTitle\").value = annotation.title;\r\n document.getElementById(\"annotationText\").value = annotation.text;\r\n\r\n let chk = document.getElementById('annotationVisible');\r\n chk.checked = annotation.hidden;\r\n }\r\n annotationList[annotation.index] = opt;\r\n }\r\n }, 2000);\r\n\r\n\r\n\r\n // Test Upload GLB To Leo\r\n commonFunction.uploadGLBToLeo(api, viewerUrl, 'annotation');\r\n\r\n\r\n }, 1);\r\n });\r\n \r\n\r\n\r\n },function ( xhr ) {\r\n if(xhr.loaded >= xhr.total)\r\n {\r\n // document.getElementById(\"static-img\").style.display = \"none\";\r\n // document.getElementById(\"myLoader2\").style.display = \"none\";\r\n // document.getElementById(\"canvas\").style.display = \"block\";\r\n \r\n }\r\n let xhrTotal = 0;\r\n if(comp.originalFileSize){\r\n xhrTotal = comp.originalFileSize;\r\n }else{\r\n xhrTotal = xhr.total;\r\n }\r\n var per = xhr.loaded / xhrTotal * 100;\r\n if(per >= 90){\r\n per = 90;\r\n }else{\r\n console.log( (xhr.loaded / xhrTotal * 100) + '% loaded' );\r\n document.getElementById(\"myBar\").className = \"c100 p\" + Math.ceil(per) + \" big\";\r\n document.getElementById(\"myBar-text\").innerHTML = Math.ceil(per) + '%' ;\r\n //console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );\r\n var fadeTarget = document.getElementById(\"static-img\");\r\n var opa = (100 - xhr.loaded / xhrTotal * 100)/10;\r\n // fadeTarget.style.filter = 'blur(40px)';\r\n }\r\n },\r\n \r\n // onError callback\r\n function ( err ) {\r\n console.error( 'An error happened' );\r\n } )\r\n }\r\n \r\n function _tweenLogo(x, finalState, duration = 0.5){\r\n if(_logoTweener) _logoTweener.stop();\r\n const fState = finalState;\r\n _logoTweener = api.getTweener({l: _logoVisibility}).to({l: x}, duration*1000).onUpdate((o)=>{\r\n if (Math.abs(_logoVisibility-o.l) < 0.0001) return;\r\n _logoVisibility = o.l;\r\n let p = api.getLogoParams();\r\n p.opacity = _logoVisibility * _logoVisibility;\r\n api.setLogoParams(p);\r\n }).onComplete(()=>{\r\n _logoVisibility = x;\r\n _logoTweener = undefined;\r\n _logoState = fState;\r\n })\r\n //.easing(TWEEN.Easing.Quadratic.InOut)\r\n .start();\r\n return _logoTweener;\r\n }\r\n\r\n \r\n function animationLoop(){\r\n\r\n let logoParams = api.getLogoParams();\r\n const time = Date.now();\r\n const mmax = logoMinActionTime * 1000;\r\n \r\n if(( mouseDownTime > 1 && time-mouseDownTime > mmax ) || ( time-mouseWheelTime < 500 ) ){\r\n // show if hidden. stop if hiding and show. do nothing if showing or visible\r\n if(_logoState === 'hidden' || _logoState === 'hiding'){\r\n _logoVisibility = Math.max(0.002, _logoVisibility);\r\n _tweenLogo(1, 'startVisible', (1-_logoVisibility) *logoParams.logoFadeInDuration);\r\n _logoState = 'showing';\r\n }\r\n }else {\r\n // hide if visible. stop if showing and hide. do nothing if hiding or hidden\r\n if(_logoState === 'startVisible'){\r\n // this._logoVisibility = this._logoVisibility;\r\n _tweenLogo(_logoVisibility, 'startHiding',logoParams.logoStayDuration-0.002);\r\n _logoState = 'visible';\r\n }\r\n if(_logoState === 'startHiding'){\r\n _logoVisibility = Math.min(0.998, _logoVisibility);\r\n _tweenLogo(0, 'hidden',(_logoVisibility) * logoParams.logoFadeOutDuration);\r\n _logoState = 'hiding';\r\n }\r\n }\r\n }\r\n\r\n if(window.innerWidth < window.innerHeight){\r\n document.getElementById('fakeLoadBackground').innerText = \"Background\";\r\n document.getElementById('btnScreenshot').innerText = \"Screenshot\";\r\n }\r\n \r\n document.getElementById('fakeLoadBackground').addEventListener('click', () => {\r\n document.getElementById('loadBackground').click()\r\n })\r\n\r\n document.getElementById('loadBackground').addEventListener('change', function(e) {\r\n const files = Array.from(e.target.files)\r\n let file = Array.isArray(files) ? files[0] : files;\r\n if (file) {\r\n api.setBackgroundFile(file, {\r\n setEnvironment: false\r\n })\r\n }\r\n })\r\n\r\n document.getElementById('hambuger-annotation').addEventListener('click', () => {\r\n document.getElementById('panel-close-mobile').style.display = \"block\";\r\n document.getElementById('annotation-panel-area').style.display = \"block\";\r\n document.getElementById('annotation-panel-area').style.position = \"absolute\";\r\n document.getElementById('annotation-panel-area').style.top = 0;\r\n \r\n })\r\n\r\n\r\n function exitHandler()\r\n {\r\n var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;\r\n if(fullscreenElement == null){\r\n let a = originalCanvasHeight + \"px\";\r\n document.getElementById(\"annotation-panel-area\").style.height = a;\r\n isFullScreen = false;\r\n }\r\n }\r\n document.addEventListener('fullscreenchange', exitHandler, false);\r\n document.addEventListener('mozfullscreenchange', exitHandler, false);\r\n document.addEventListener('MSFullscreenChange', exitHandler, false);\r\n document.addEventListener('webkitfullscreenchange', exitHandler, false);\r\n document.getElementById('fullScreenIcon').addEventListener('click', function(e) {\r\n if(!isFullScreen){\r\n var elem = document.documentElement;\r\n if (elem.requestFullscreen) {\r\n elem.requestFullscreen();\r\n } else if (elem.webkitRequestFullscreen) { /* Safari */\r\n elem.webkitRequestFullscreen();\r\n } else if (elem.msRequestFullscreen) { /* IE11 */\r\n elem.msRequestFullscreen();\r\n }\r\n document.getElementById(\"annotation-panel-area\").style.height = \"2000px\";\r\n isFullScreen = true;\r\n }else{\r\n if (document.exitFullscreen) {\r\n document.exitFullscreen();\r\n } else if (document.webkitExitFullscreen) { /* Safari */\r\n document.webkitExitFullscreen();\r\n } else if (document.msExitFullscreen) { /* IE11 */\r\n document.msExitFullscreen();\r\n }\r\n isFullScreen = false;\r\n }\r\n\r\n });\r\n\r\n document.getElementById('animationPlay').addEventListener('click', function(e) {\r\n if(document.getElementById('animationPlay').childNodes[0].src == play){\r\n api.playAllAnimations();\r\n api.playAllSounds();\r\n document.getElementById('audioPlay').childNodes[0].src = sound_on;\r\n document.getElementById('animationPlay').childNodes[0].src = stop;\r\n document.getElementById('animationPlay').title = \"Stop Animation\";\r\n }\r\n else{\r\n api.stopAllAnimations();\r\n api.stopAllSounds();\r\n document.getElementById('audioPlay').childNodes[0].src = sound_off;\r\n document.getElementById('animationPlay').childNodes[0].src = play;\r\n document.getElementById('animationPlay').title = \"Play Animation\";\r\n }\r\n });\r\n\r\n document.getElementById('audioPlay').addEventListener('click', function(e) {\r\n if(document.getElementById('audioPlay').childNodes[0].src == sound_on){\r\n try {\r\n api.stopAllSounds();\r\n } catch (error) {\r\n }\r\n document.getElementById('audioPlay').childNodes[0].src = sound_off;\r\n document.getElementById('audioPlay').title = \"UnMute\";\r\n }\r\n else{\r\n api.playAllSounds();\r\n document.getElementById('audioPlay').childNodes[0].src = sound_on;\r\n document.getElementById('audioPlay').title = \"Mute\";\r\n }\r\n });\r\n\r\n document.getElementById('autoRotateIcon').addEventListener('click', function(e) {\r\n let cameraParams = api.getCameraParams();\r\n let orbitP = cameraParams.orbitParams;\r\n api.setCameraParams({orbitParams: {autoRotate: !orbitP.autoRotate}})\r\n if(document.getElementById('autoRotateIcon').childNodes[0].src == auto_rotate){\r\n document.getElementById('autoRotateIcon').childNodes[0].src = auto_rotate_stop;\r\n }else{\r\n document.getElementById('autoRotateIcon').childNodes[0].src = auto_rotate;\r\n }\r\n });\r\n\r\n document.getElementById('annotationIcon').addEventListener('click', function(e) {\r\n if(document.getElementById('annotationIcon').childNodes[0].src == annotation_on){\r\n document.getElementById('annotationIcon').childNodes[0].src = annotation_off;\r\n api.annotationsEnabled = false;\r\n }else{\r\n document.getElementById('annotationIcon').childNodes[0].src = annotation_on;\r\n api.annotationsEnabled = true;\r\n }\r\n });\r\n\r\n \r\n\r\n //Setting mouse and touch events on canvas\r\n document.getElementById('canvas').addEventListener('mousemove', (e) => onPointerMove(e, api, false, userInfo));\r\n document.getElementById('canvas').addEventListener('touchmove', (e) => onPointerMove(e, api, true, userInfo));\r\n document.getElementById('tooltip-span').addEventListener('mouseup', (e) => onPointerUp2(e, api, props, false, userInfo));\r\n document.getElementById('canvas').addEventListener('mouseup', (e) => onPointerUp(e, api, props, false, materialsLibraryLocal, userInfo));\r\n document.getElementById('canvas').addEventListener('touchend', (e) => onPointerUp(e, api, props, true, materialsLibraryLocal, userInfo));\r\n document.getElementById('canvas').addEventListener('mousedown', (e) => onPointerDown(e, api, props));\r\n document.getElementById('canvas').addEventListener('touchstart', (e) => onPointerDown(e, api, props));\r\n document.getElementById('canvas').addEventListener('wheel', (e) => onPointerWheel(e, api, props));\r\n document.getElementById('canvas').addEventListener('touchmove', (e) => onPointerWheel(e, api, true, userInfo));\r\n window.addEventListener(\"resize\", ev => {\r\n //api.setViewerSize(document.getElementById('canvas').clientWidth, document.getElementById('canvas').clientHeight);\r\n \r\n commonFunction.setDefaultRatio(api);\r\n }, false);\r\n document.getElementById('autoRotateIcon').addEventListener('mouseup', (e) => onPointerUp(e, api, props, false, userInfo));\r\n document.getElementById('autoRotateIcon').addEventListener('mousedown', (e) => onPointerDown(e, api, props));\r\n document.getElementById('helperIcon').addEventListener('mouseup', (e) => onPointerUp(e, api, props, false, userInfo));\r\n document.getElementById('helperIcon').addEventListener('mousedown', (e) => onPointerDown(e, api, props));\r\n document.getElementById('fullScreenIcon').addEventListener('mouseup', (e) => onPointerUp(e, api, props, false, userInfo));\r\n document.getElementById('fullScreenIcon').addEventListener('mousedown', (e) => onPointerDown(e, api, props));\r\n document.getElementById('animationPlay').addEventListener('mouseup', (e) => onPointerUp(e, api, props, false, userInfo));\r\n document.getElementById('animationPlay').addEventListener('mousedown', (e) => onPointerDown(e, api, props));\r\n document.getElementById('audioPlay').addEventListener('mouseup', (e) => onPointerUp(e, api, props, false, userInfo));\r\n document.getElementById('audioPlay').addEventListener('mousedown', (e) => onPointerDown(e, api, props));\r\n document.getElementById('annotationIcon').addEventListener('mouseup', (e) => onPointerUp(e, api, props, false, userInfo));\r\n document.getElementById('annotationIcon').addEventListener('mousedown', (e) => onPointerDown(e, api, props));\r\n\r\n document.getElementById('canvas').addEventListener('dblclick', (e) => onPointerDownDouble(e, api, props));\r\n\r\n\r\n document.getElementById('combinationList').addEventListener('change', function(e) {\r\n document.getElementById(\"myLoader2\").style.display = \"block\";\r\n document.getElementById(\"static-img\").style.display = \"block\";\r\n document.getElementById(\"canvas\").style.display = \"none\";\r\n\r\n initial(this.value);\r\n // new FileLoader().load(this.value, (response) => {\r\n // api.importScene(JSON.parse(response))\r\n // document.getElementById(\"myLoader\").style.display = \"none\";\r\n // document.getElementById(\"canvas\").style.display = \"block\";\r\n // })\r\n\r\n combinations.map(combination => {\r\n if(combination.path == this.value)\r\n {\r\n document.getElementById('combinationPrice').value = combination.price != undefined ? '$' + parseFloat(combination.price, 10).toFixed(2).replace(/(\\d)(?=(\\d{3})+\\.)/g, \"$1,\").toString() : 0;\r\n document.getElementById('combinationDesc').value = combination.description != undefined ? combination.description : '';\r\n currentCombinationName = combination.name;\r\n // commonFunction.currentCombinationName = currentCombinationName;\r\n if(document.getElementById('urlClicking') != null){\r\n document.getElementById('urlClicking').innerHTML = currentCombinationName;\r\n }\r\n }\r\n });\r\n });\r\n \r\n document.getElementById('layersList').addEventListener('change', function(e) {\r\n \r\n document.getElementById(\"chosenLayer\").value = this.value;\r\n for(let layer of materialsLibraryLocal)\r\n {\r\n if(layer.layer == this.value)\r\n {\r\n let chk = document.getElementById('layerVisible');\r\n chk.checked = !layer.visible;\r\n console.log(layer.data.mesh);\r\n\r\n api.highlightObjects.apply(api, layer.data.mesh)\r\n let p = {edgeStrength: 10};\r\n api.getTweener(p)\r\n .to({edgeStrength: 0.0}, 1*10000)\r\n .onUpdate(()=> api.setOutlineParams(p))\r\n .start();\r\n }\r\n }\r\n\r\n });\r\n \r\n document.getElementById('annotationList').addEventListener('change', function(e) {\r\n \r\n let allAnnotation = api.getAllAnnotations();\r\n for(let annotation of allAnnotation)\r\n {\r\n if(annotation.index == this.value)\r\n {\r\n document.getElementById(\"annotationTitle\").value = annotation.title;\r\n document.getElementById(\"annotationText\").value = annotation.text;\r\n \r\n api.animateCamera(annotation.cameraState);\r\n let a = new Vector2();\r\n a.x = annotation.screenPosition.x;\r\n a.y = annotation.screenPosition.y;\r\n api.hitAnnotations(a, true);\r\n\r\n let chk = document.getElementById('annotationVisible');\r\n chk.checked = annotation.hidden;\r\n\r\n commonFunction.renderAnnotationModalEvent(api, annotation);\r\n }\r\n }\r\n\r\n });\r\n\r\n document.getElementById('btnScreenshot').addEventListener('click', function(e) {\r\n let img = api.getSnapshotData(\"image/jpg\")\r\n let link = document.createElement(\"a\");\r\n link.download = \"screenshot.jpg\";\r\n link.href = img;\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.appendChild(link);\r\n link.click();\r\n body.removeChild(link);\r\n });\r\n \r\n // document.getElementById('btnAR').addEventListener('click', function(e) {\r\n // let arSettings = {...props.iframe.arSettings}\r\n // arStatus = !arStatus;\r\n // arSettings.enabled = arStatus\r\n // api.setXRParams(arSettings)\r\n // });\r\n\r\n document.getElementById('btnResetCanvas').addEventListener('click', function(e) {\r\n window.location.reload(true);\r\n });\r\n \r\n\r\n // document.getElementById('btnRotate').addEventListener('click', function(e) {\r\n // autoRotate = !autoRotate;\r\n // api.setCameraParams({orbitParams: {autoRotate: autoRotate}})\r\n // });\r\n\r\n\r\n document.getElementById('btnScreenshot').addEventListener('mouseover', function(e) {\r\n document.getElementById(\"btnScreenshot\").src = cameraOn\r\n });\r\n\r\n document.getElementById('btnScreenshot').addEventListener('mouseout', function(e) {\r\n document.getElementById(\"btnScreenshot\").src = cameraOn\r\n });\r\n\r\n // document.getElementById('btnRotate').addEventListener('mouseover', function(e) {\r\n // document.getElementById(\"btnRotate\").src = rotateOn\r\n // });\r\n\r\n // document.getElementById('btnRotate').addEventListener('mouseout', function(e) {\r\n // document.getElementById(\"btnRotate\").src = rotateOn\r\n // });\r\n\r\n // document.getElementById('btnAR').addEventListener('mouseover', function(e) {\r\n // document.getElementById(\"btnAR\").src = arOff\r\n // });\r\n\r\n // document.getElementById('btnAR').addEventListener('mouseout', function(e) {\r\n // document.getElementById(\"btnAR\").src = arOn\r\n // });\r\n\r\n document.getElementById('layerVisible').addEventListener('click', function(e) {\r\n let chosenLayer = document.getElementById(\"chosenLayer\").value;\r\n for(let layer of materialsLibraryLocal)\r\n {\r\n if(layer.data.params.id == chosenLayer)\r\n {\r\n layer.visible = !layer.visible;\r\n layer.data.params.visible = layer.visible;\r\n api.importMaterialParams(layer.data.params).then(() => {\r\n api.setMaterialParams(layer.data.mesh[0], layer.data.params)\r\n })\r\n }\r\n }\r\n });\r\n\r\n document.getElementById('annotationVisible').addEventListener('click', function(e) {\r\n let chosenAnnotation = document.getElementById(\"annotationList\").value;\r\n let allAnnotation = api.getAllAnnotations();\r\n for(let annotation of allAnnotation)\r\n {\r\n annotation.hidden = !annotation.hidden;\r\n // if(annotation.index == 0)\r\n // {\r\n api.animateCamera({});\r\n let a = new Vector2();\r\n a.x = annotation.screenPosition.x;\r\n a.y = annotation.screenPosition.y;\r\n api.hitAnnotations(a, true);\r\n // }\r\n }\r\n });\r\n \r\n document.getElementById('btnSubmitAnnotationComment').addEventListener('click', function(e) {\r\n let emailAllowed = props.match.params.id.split('&email=')[1];\r\n if(emailAllowed || isOnwer){\r\n let content = document.getElementById(\"annotation-comment\").value.replace(/\\n/g, \" \");\r\n let payload = {\r\n uuid: props.match.params.id.split('&email=')[0],\r\n email: emailAllowed ?? isOwnerEmail,\r\n content\r\n };\r\n axios.post('combination/submit-annotation-comment', payload).then(response => {\r\n console.log(response.data.data);\r\n renderAnnotationComments(response.data.data.annotationComments);\r\n document.getElementById(\"annotation-comment\").value = \"\";\r\n }).catch(err => {\r\n console.log(err);\r\n alert(\"Can\\'t submit comment with this email address\");\r\n });\r\n }else{\r\n alert(\"Not allowed\");\r\n }\r\n \r\n });\r\n\r\n\r\n document.getElementById('panel-close-mobile-button').addEventListener('click', function(e) {\r\n var x = document.getElementById(\"hambuger-annotation\");\r\n if (window.getComputedStyle(x).display === \"block\") {\r\n document.getElementById('annotation-panel-area').style.display = \"none\";\r\n document.getElementById('panel-close-mobile').style.display = \"none\";\r\n }\r\n })\r\n\r\n document.getElementById('open-3d-button').addEventListener('click', function(e) {\r\n document.getElementById('modal3DViewer').style.display = \"block\";\r\n document.getElementById('annotation-main-content').style.opacity = \"20%\";\r\n })\r\n\r\n document.getElementById('close3DViewer').addEventListener('click', function(e) {\r\n var modal3DViewer = document.getElementById(\"modal3DViewer\");\r\n modal3DViewer.style.display = \"none\";\r\n document.getElementById('annotation-main-content').style.opacity = \"100%\";\r\n });\r\n\r\n\r\n }, timeTimeout);\r\n }\r\n\r\n }\r\n\r\n useEffect(() => {\r\n const api = API\r\n console.log(\"Product\");\r\n switchCases(props, API)\r\n })\r\n\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 useCustomLoading ?\r\n <>\r\n
\r\n
\r\n 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 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 \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {lang.design_approval}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {/*
\r\n VARIATIONS\r\n
\r\n
*/}\r\n \r\n \r\n \r\n
\r\n
\r\n {lang.job_description}\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 {lang.layers}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {lang.hide_layer}\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 {lang.annotations_low}\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 {lang.hide_annotation}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n {lang.tools}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* Add Background */}\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 Add Background\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 Comments\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