MCPcopy Index your code
hub / github.com/cifertech/DisplayKit / renderLayers

Function renderLayers

app.js:4790–4889  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

4788}
4789
4790function renderLayers() {
4791 if (!layersList) return;
4792 layersList.innerHTML = "";
4793 // Top of list = front. Our elements array draws in order, so reverse for display.
4794 const list = elements.slice().reverse();
4795 list.forEach((el) => {
4796 const row = document.createElement("div");
4797 row.className = "layer-row" + (selectedIds && selectedIds.has(el.id) ? " selected" : "");
4798 row.draggable = true;
4799 row.dataset.id = el.id;
4800
4801 const name = document.createElement("div");
4802 name.className = "layer-name";
4803 name.textContent = getLayerLabel(el);
4804
4805 const meta = document.createElement("div");
4806 meta.className = "layer-meta";
4807 meta.textContent = `${Math.round(el.x)},${Math.round(el.y)} ${Math.round(el.w)}×${Math.round(el.h)}`;
4808
4809 const actions = document.createElement("div");
4810 actions.className = "layer-actions";
4811
4812 const btnHide = document.createElement("button");
4813 btnHide.type = "button";
4814 btnHide.className = "layer-action-btn" + (el.hidden ? " active" : "");
4815 btnHide.title = el.hidden ? "Show layer" : "Hide layer";
4816 btnHide.textContent = "H";
4817 btnHide.addEventListener("click", (e) => {
4818 e.preventDefault();
4819 e.stopPropagation();
4820 el.hidden = !el.hidden;
4821 // If hidden, also remove from selection
4822 if (el.hidden && selectedIds && selectedIds.has(el.id)) {
4823 selectedIds.delete(el.id);
4824 if (selectedId === el.id) selectedId = selectedIds.size ? Array.from(selectedIds)[selectedIds.size - 1] : null;
4825 }
4826 updatePropsInputs(false);
4827 renderElements();
4828 renderLayers();
4829 updateCode();
4830 pushHistory();
4831 });
4832
4833 const btnLock = document.createElement("button");
4834 btnLock.type = "button";
4835 btnLock.className = "layer-action-btn" + (el.locked ? " active" : "");
4836 btnLock.title = el.locked ? "Unlock layer" : "Lock layer";
4837 btnLock.textContent = "L";
4838 btnLock.addEventListener("click", (e) => {
4839 e.preventDefault();
4840 e.stopPropagation();
4841 el.locked = !el.locked;
4842 renderLayers();
4843 pushHistory();
4844 });
4845
4846 actions.appendChild(btnHide);
4847 actions.appendChild(btnLock);

Callers 15

zoomToSelectionFunction · 0.85
app.jsFile · 0.85
setZoomFunction · 0.85
setActiveScreenFunction · 0.85
initScreensFunction · 0.85
addAssetElementToCanvasFunction · 0.85
onResizeMoveFunction · 0.85
onRotMoveFunction · 0.85
onMouseMoveFunction · 0.85
selectElementFunction · 0.85
toggleSelectElementFunction · 0.85
commitFunction · 0.85

Calls 9

getLayerLabelFunction · 0.85
updatePropsInputsFunction · 0.85
renderElementsFunction · 0.85
updateCodeFunction · 0.85
pushHistoryFunction · 0.85
toggleSelectElementFunction · 0.85
selectElementFunction · 0.85
setInspectorTabFunction · 0.85
syncActiveScreenElementsFunction · 0.85

Tested by

no test coverage detected