Skip to content

Commit 097e504

Browse files
committed
small refactor
1 parent 75b72f5 commit 097e504

File tree

2 files changed

+31
-28
lines changed

2 files changed

+31
-28
lines changed

_extensions/editable/editable.js

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,38 +7,41 @@ window.Revealeditable = function () {
77

88
editableElements.forEach(setupDraggableElt);
99

10-
// Find the slide-menu-items ul inside menu-custom-panel div
11-
const slideMenuItems = document.querySelector(
12-
"div.slide-menu-custom-panel ul.slide-menu-items"
13-
);
14-
15-
if (slideMenuItems) {
16-
// Find the highest data-item value
17-
const existingItems =
18-
slideMenuItems.querySelectorAll("li[data-item]");
19-
let maxDataItem = 0;
20-
existingItems.forEach((item) => {
21-
const dataValue = parseInt(item.getAttribute("data-item")) || 0;
22-
if (dataValue > maxDataItem) {
23-
maxDataItem = dataValue;
24-
}
25-
});
26-
27-
// Create the new li element
28-
const newLi = document.createElement("li");
29-
newLi.className = "slide-tool-item";
30-
newLi.setAttribute("data-item", (maxDataItem + 1).toString());
31-
newLi.innerHTML =
32-
'<a href="#" onclick="saveMovedElts()"><kbd>?</kbd> Save Edits</a>';
33-
34-
// Append to the ul
35-
slideMenuItems.appendChild(newLi);
36-
}
10+
addSaveMenuButton();
3711
});
3812
},
3913
};
4014
};
4115

16+
function addSaveMenuButton() {
17+
// Find the slide-menu-items ul inside menu-custom-panel div
18+
const slideMenuItems = document.querySelector(
19+
"div.slide-menu-custom-panel ul.slide-menu-items"
20+
);
21+
22+
if (slideMenuItems) {
23+
// Find the highest data-item value
24+
const existingItems = slideMenuItems.querySelectorAll("li[data-item]");
25+
let maxDataItem = 0;
26+
existingItems.forEach((item) => {
27+
const dataValue = parseInt(item.getAttribute("data-item")) || 0;
28+
if (dataValue > maxDataItem) {
29+
maxDataItem = dataValue;
30+
}
31+
});
32+
33+
// Create the new li element
34+
const newLi = document.createElement("li");
35+
newLi.className = "slide-tool-item";
36+
newLi.setAttribute("data-item", (maxDataItem + 1).toString());
37+
newLi.innerHTML =
38+
'<a href="#" onclick="saveMovedElts()"><kbd>?</kbd> Save Edits</a>';
39+
40+
// Append to the ul
41+
slideMenuItems.appendChild(newLi);
42+
}
43+
}
44+
4245
function getEditableElements() {
4346
return document.querySelectorAll("img.editable, div.editable");
4447
}

example.qmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ filters:
88
- editable
99
---
1010

11-
# In the morning
11+
## In the morning
1212

1313
![](image.png){.editable}
1414

0 commit comments

Comments
 (0)