function setObjects(objects) { const parsedObjectsList = parseObjectKeys(objects); showObjectsList(parsedObjectsList); } function parseObjectKeys(assetString) { const objectsArray = assetString.split(";"); return objectsArray; } function showObjectsList(parsedObjectsList){ const objectsCategory = document.querySelector('.items-category'); displayObjects(parsedObjectsList); if (objectsCategory) { objectsCategory.classList.remove('hidden'); } } function displayObjects(parsedObjectsList) { if (parsedObjectsList.length === 0){ return; } const container = document.querySelector(".items-category"); container.innerHTML = ""; parsedObjectsList.forEach(function(item) { const itemDiv = document.createElement("div"); itemDiv.classList.add("item"); const img = document.createElement("img"); img.setAttribute("src", "https://gitlab.com/trisgram/company-graphics/-/raw/main/Identity/favicon.ico?ref_type=heads&inline=false"); img.setAttribute("alt", item); img.setAttribute("id", "draggable"); img.setAttribute("draggable", "true"); img.classList.add("item-image"); img.setAttribute("data-id", item); const span = document.createElement("span"); span.classList.add("item-label"); span.textContent = item; itemDiv.appendChild(img); itemDiv.appendChild(span); container.appendChild(itemDiv); }); items = document.querySelectorAll('#draggable'); items.forEach(item => { item.addEventListener('dragstart', (e) => { currentDraggingId = item.getAttribute('data-id'); areObjectButtonsHidden = true; hasObjectBeenCreated = false; e.dataTransfer.setData('text/plain', currentDraggingId); e.dataTransfer.setDragImage(emptyImg, 0, 0); draggedImage.style.display = ''; draggedImage.style.left = `${e.pageX - 50}px`; draggedImage.style.top = `${e.pageY - 50}px`; }); item.addEventListener('dragend', () => { areObjectButtonsHidden = false; hideDraggedImage(); }); item.addEventListener("click", () => { let clickedItem = item.getAttribute('data-id'); const createParams = { x: 0, y: 0, z: 0, addressableName: clickedItem, accesoryId: "", url: "", snapType: 1 }; applicationInstance.SendMessage('ApplicationAPI', 'Create', JSON.stringify(createParams)); }); }); }