1// src/viewer/util/actions.js 2var decodeEntities = (html) => { 3 var txt = document.createElement("textarea"); 4 txt.innerHTML = html; 5 return txt.value; 6}; 7var encodeEntities = (title) => { 8 var text = document.createTextNode(title); 9 var p = document.createElement("p"); 10 p.appendChild(text); 11 return p.innerHTML; 12}; 13var defaultLoad = { 14 camera: true, 15 lighting: true, 16 design: true 17}; 18var defaultConfig = { 19 preview: false, 20 debug: false, 21 showScenes: "none", 22 load: defaultLoad 23}; 24var workerAction = (type, payload) => ({ type, payload }); 25var selectSnapshot = (snapshot, load = defaultLoad) => workerAction("SNAPSHOT_SELECTED", { snapshot, load }); 26var fetchDesign = (url, config = defaultConfig) => workerAction("URL_PROVIDED", { url, config }); 27var openDesignFile = (file, debug = false) => workerAction("FILE_PROVIDED", { file, debug }); 28var openTextContent = (name, contents) => workerAction("TEXT_PROVIDED", { name, contents }); 29var importMeshFile = (file, format) => workerAction("MESH_FILE_PROVIDED", { file, format }); 30var newDesign = (field = "golden") => workerAction("NEW_DESIGN_STARTED", { field }); 31var doControllerAction = (controllerPath = "", action, parameters) => workerAction("ACTION_TRIGGERED", { controllerPath, action, parameters }); 32var requestControllerProperty = (controllerPath = "", propName, changeName = propName, isList = false) => workerAction("PROPERTY_REQUESTED", { controllerPath, propName, changeName, isList }); 33var setControllerProperty = (controllerPath = "", name, value) => workerAction("PROPERTY_SET", { controllerPath, name, value }); 34var createStrut = (id, plane, zone, index, orientation) => workerAction("STRUT_CREATION_TRIGGERED", { id, plane, zone, index, orientation }); 35var joinBalls = (id1, id2) => workerAction("JOIN_BALLS_TRIGGERED", { id1, id2 }); 36var startPreviewStrut = (ballId, direction) => workerAction("PREVIEW_STRUT_START", { ballId, direction }); 37var movePreviewStrut = (direction) => workerAction("PREVIEW_STRUT_MOVE", { direction }); 38var scalePreviewStrut = (increment) => workerAction("PREVIEW_STRUT_SCALE", { increment }); 39var endPreviewStrut = () => workerAction("PREVIEW_STRUT_END", {}); 40var setHingeStrut = (strutId, centerId, diskZone, hingeZone) => workerAction("HINGE_STRUT_SELECTED", { strutId, centerId, diskZone, hingeZone }); 41var requestExport = (format, params = {}) => workerAction("EXPORT_TRIGGERED", { ...params, format }); 42var generateUUID = () => { 43 var d = (/* @__PURE__ */ new Date()).getTime(); 44 var d2 = typeof performance !== "undefined" && performance.now && performance.now() * 1e3 || 0; 45 return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) { 46 var r = Math.random() * 16; 47 if (d > 0) { 48 r = (d + r) % 16 | 0; 49 d = Math.floor(d / 16); 50 } else { 51 r = (d2 + r) % 16 | 0; 52 d2 = Math.floor(d2 / 16); 53 } 54 return (c === "x" ? r : r & 3 | 8).toString(16); 55 }); 56}; 57 58export { 59 decodeEntities, 60 encodeEntities, 61 selectSnapshot, 62 fetchDesign, 63 openDesignFile, 64 openTextContent, 65 importMeshFile, 66 newDesign, 67 doControllerAction, 68 requestControllerProperty, 69 setControllerProperty, 70 createStrut, 71 joinBalls, 72 startPreviewStrut, 73 movePreviewStrut, 74 scalePreviewStrut, 75 endPreviewStrut, 76 setHingeStrut, 77 requestExport, 78 generateUUID 79};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.