Spaces:
Sleeping
Sleeping
drakosfire
commited on
Commit
•
2d281eb
1
Parent(s):
ff44a96
Added autofill function, event listener, and button
Browse files- scripts.js +40 -2
- storeUI.html +2 -0
scripts.js
CHANGED
@@ -6,6 +6,7 @@ document.addEventListener("DOMContentLoaded", function() {
|
|
6 |
const pageContainer = document.getElementById('pages');
|
7 |
const trashArea = document.getElementById('trashArea');
|
8 |
const toggleButton = document.getElementById('toggle-text-block-button');
|
|
|
9 |
const resetButton = document.getElementById('resetButton');
|
10 |
const addPageButton = document.getElementById('add-page-button');
|
11 |
const removePageButton = document.getElementById('remove-page-button');
|
@@ -124,7 +125,39 @@ document.addEventListener("DOMContentLoaded", function() {
|
|
124 |
document.querySelector('.toggle-text-block-button').textContent = 'Hide All Image Descriptions';
|
125 |
}
|
126 |
}
|
127 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
window.printPageContainer = function(newTab) {
|
129 |
var pageContainer = document.getElementById('brewRenderer');
|
130 |
|
@@ -889,6 +922,7 @@ document.addEventListener("DOMContentLoaded", function() {
|
|
889 |
const blocksOnPage = page.querySelectorAll('[data-block-id]');
|
890 |
|
891 |
blocksOnPage.forEach(block => {
|
|
|
892 |
const blockId = block.getAttribute('data-block-id');
|
893 |
allBlocks.push({
|
894 |
id: blockId,
|
@@ -949,15 +983,19 @@ document.addEventListener("DOMContentLoaded", function() {
|
|
949 |
initializeTextareaResizing();
|
950 |
}
|
951 |
|
952 |
-
|
953 |
addPageButton.addEventListener('click', addPage);
|
954 |
removePageButton.addEventListener('click', removePage);
|
955 |
toggleButton.addEventListener('click', toggleAllTextBlocks);
|
|
|
|
|
|
|
956 |
blockContainer.addEventListener('dragover', handleDragOver);
|
957 |
blockContainer.addEventListener('drop', handleDrop);
|
958 |
pageContainer.addEventListener('dragover', handleDragOver);
|
959 |
pageContainer.addEventListener('drop', handleDrop);
|
960 |
|
|
|
961 |
trashArea.addEventListener('dragover', handleTrashOver);
|
962 |
trashArea.addEventListener('dragleave', handleTrashLeave);
|
963 |
trashArea.addEventListener('drop', handleTrashDrop);
|
|
|
6 |
const pageContainer = document.getElementById('pages');
|
7 |
const trashArea = document.getElementById('trashArea');
|
8 |
const toggleButton = document.getElementById('toggle-text-block-button');
|
9 |
+
const autofillButton = document.getElementById('autofill-button');
|
10 |
const resetButton = document.getElementById('resetButton');
|
11 |
const addPageButton = document.getElementById('add-page-button');
|
12 |
const removePageButton = document.getElementById('remove-page-button');
|
|
|
125 |
document.querySelector('.toggle-text-block-button').textContent = 'Hide All Image Descriptions';
|
126 |
}
|
127 |
}
|
128 |
+
function autofillBlocks() {
|
129 |
+
console.log('Autofill button clicked');
|
130 |
+
|
131 |
+
const blocks = Array.from(blockContainer.querySelectorAll('.block-item'));
|
132 |
+
let currentPage = pageContainer.querySelector('.page');
|
133 |
+
// If no existing page is found, create the first page
|
134 |
+
if (!currentPage) {
|
135 |
+
currentPage = addPage();
|
136 |
+
console.log('No existing pages found. Created the first page:', currentPage.id);
|
137 |
+
}
|
138 |
+
|
139 |
+
// Iterate over each block and move it to the pageContainer
|
140 |
+
blocks.forEach(block => {
|
141 |
+
block.setAttribute('class', 'block-content');
|
142 |
+
block.setAttribute('data-page-id', currentPage.getAttribute('data-page-id'));
|
143 |
+
// Append the block to the current page's columnWrapper
|
144 |
+
const newPage = currentPage.querySelector('.block.monster.frame.wide');
|
145 |
+
newPage.appendChild(block);
|
146 |
+
console.log(`Moved block with ID: ${block.getAttribute('data-block-id')} to page with ID: ${currentPage.getAttribute('data-page-id')}`);
|
147 |
+
// Adjust the layout after adding the block; this function handles creating a new page if needed
|
148 |
+
adjustPageLayout(currentPage.getAttribute('data-page-id'));
|
149 |
+
|
150 |
+
// Check if a new page was created and update curtrrentPage accordingly
|
151 |
+
const lastPageInContainer = pageContainer.querySelector('.page:last-child');
|
152 |
+
if (lastPageInContainer !== currentPage) {
|
153 |
+
currentPage = lastPageInContainer;
|
154 |
+
console.log('Moved to a new page:', currentPage.getAttribute('data-page-id')); }
|
155 |
+
|
156 |
+
|
157 |
+
|
158 |
+
});
|
159 |
+
console.log('Autofill complete, all blocks moved to page-container');
|
160 |
+
}
|
161 |
window.printPageContainer = function(newTab) {
|
162 |
var pageContainer = document.getElementById('brewRenderer');
|
163 |
|
|
|
922 |
const blocksOnPage = page.querySelectorAll('[data-block-id]');
|
923 |
|
924 |
blocksOnPage.forEach(block => {
|
925 |
+
block.setAttribute('display', 'block');
|
926 |
const blockId = block.getAttribute('data-block-id');
|
927 |
allBlocks.push({
|
928 |
id: blockId,
|
|
|
983 |
initializeTextareaResizing();
|
984 |
}
|
985 |
|
986 |
+
// Event listeners for buttons
|
987 |
addPageButton.addEventListener('click', addPage);
|
988 |
removePageButton.addEventListener('click', removePage);
|
989 |
toggleButton.addEventListener('click', toggleAllTextBlocks);
|
990 |
+
autofillButton.addEventListener('click', autofillBlocks);
|
991 |
+
|
992 |
+
// Event listeners for drag and drop functionality
|
993 |
blockContainer.addEventListener('dragover', handleDragOver);
|
994 |
blockContainer.addEventListener('drop', handleDrop);
|
995 |
pageContainer.addEventListener('dragover', handleDragOver);
|
996 |
pageContainer.addEventListener('drop', handleDrop);
|
997 |
|
998 |
+
// Event listeners for trash area
|
999 |
trashArea.addEventListener('dragover', handleTrashOver);
|
1000 |
trashArea.addEventListener('dragleave', handleTrashLeave);
|
1001 |
trashArea.addEventListener('drop', handleTrashDrop);
|
storeUI.html
CHANGED
@@ -29,11 +29,13 @@
|
|
29 |
hx-target="#user-description" hx-swap="outerHTML"
|
30 |
title="As much or as little description as you want to provide. You can provide specific employees, inventory etc">A very standard gear store run by a fae potted plant named Gorgeous</textarea>
|
31 |
<button id="submitDescription">Submit</button>
|
|
|
32 |
<button id="toggle-text-block-button">Toggle Image Descriptions</button>
|
33 |
<button id="add-page-button">Add New Page</button>
|
34 |
<button id="remove-page-button">Remove Last Page</button>
|
35 |
<button id="resetButton">Reset</button>
|
36 |
<button id="printButton">Open Tab to print</button>
|
|
|
37 |
<div class="brewRenderer" id="brewRenderer">
|
38 |
|
39 |
<div class="pages" id="pages">
|
|
|
29 |
hx-target="#user-description" hx-swap="outerHTML"
|
30 |
title="As much or as little description as you want to provide. You can provide specific employees, inventory etc">A very standard gear store run by a fae potted plant named Gorgeous</textarea>
|
31 |
<button id="submitDescription">Submit</button>
|
32 |
+
<button id="autofill-button">Autofill Pages</button>
|
33 |
<button id="toggle-text-block-button">Toggle Image Descriptions</button>
|
34 |
<button id="add-page-button">Add New Page</button>
|
35 |
<button id="remove-page-button">Remove Last Page</button>
|
36 |
<button id="resetButton">Reset</button>
|
37 |
<button id="printButton">Open Tab to print</button>
|
38 |
+
|
39 |
<div class="brewRenderer" id="brewRenderer">
|
40 |
|
41 |
<div class="pages" id="pages">
|