Browse Source

Fix duplicate category names conflicting

main
indigane 4 years ago committed by GitHub
parent
commit
a4833008b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 22
      card-sort.html
  2. 2
      index.html

22
card-sort.html

@ -200,7 +200,7 @@
dragEnabled: true,
dragSort: true,
dragHandle: '.category-drag-handle',
});
}).on('layoutEnd', () => categoriesGrid.synchronize());
const cardGrids = [uncategorizedCardsGrid];
const debouncedUpdateData = debounce(updateData, 500);
@ -314,9 +314,17 @@
}
function updateData() {
let untitledCounter = 0;
data = {};
for (const categoryElement of document.querySelectorAll('.category')) {
const categoryName = categoryElement.querySelector('.title').value;
let categoryName = categoryElement.querySelector('.title').value;
if ( ! categoryName) {
untitledCounter += 1;
categoryName = `(Untitled ${untitledCounter})`;
}
if (categoryName in data) {
categoryName = getUniqueCategoryName(categoryName, data);
}
data[categoryName] = [];
for (const cardElement of categoryElement.querySelectorAll('.card')) {
data[categoryName].push(cardElement.textContent);
@ -329,6 +337,16 @@
data[settingsFlagsKey] = saveSettings(settings);
}
function getUniqueCategoryName(originalName, data) {
let candidateName = originalName
let counter = 1;
while (candidateName in data) {
counter += 1;
candidateName = `${originalName} (${counter})`;
}
return candidateName;
}
async function shareResult() {
updateData();
const dataString = await saveToString(data);

2
index.html

@ -106,7 +106,7 @@
function textToArray(text) {
let resultArray;
if (text.includes('\n')) {
if (text.trim().includes('\n')) {
resultArray = text.split('\n');
}
else {

Loading…
Cancel
Save