Mattthew
commited on
Commit
β’
89f2ef2
1
Parent(s):
49cd608
added copy visible names to clipboard
Browse files- artists_and_tags.js +1 -1
- index.css +24 -0
- index.html +4 -1
- index.js +35 -8
artists_and_tags.js
CHANGED
@@ -1130,7 +1130,7 @@ var artistsData = [
|
|
1130 |
["Smith","Jeffrey","cloudscapes|conceptual|dark|digital|dream-like|landscapes|magic-realism|surreal|added-2023-08-10",true],
|
1131 |
["Smith","Kiki","body-art|contemporary|feminism|minimalism|performance|sculpture|added-2023-08-08",true],
|
1132 |
["Smith","Michael James","contemporary|environmentalism|landscapes|added-2023-08-16",true],
|
1133 |
-
["Smith","Rodney","
|
1134 |
["Smith","Samantha Keely","abstract|abstract-Expressionism|contemporary|Dream-like|Loneliness|painting|added-2023-08-08",false],
|
1135 |
["Smithson","Robert","conceptual|earthworks|environmentalism|land-art|post-minimalism|sculpture|added-2023-08-08",false],
|
1136 |
["Solomon","Barbara Stauffacher","Commercial-art|contemporary|Graphic-Design|Graphic-design|Pop-art|added-2023-08-08",false],
|
|
|
1130 |
["Smith","Jeffrey","cloudscapes|conceptual|dark|digital|dream-like|landscapes|magic-realism|surreal|added-2023-08-10",true],
|
1131 |
["Smith","Kiki","body-art|contemporary|feminism|minimalism|performance|sculpture|added-2023-08-08",true],
|
1132 |
["Smith","Michael James","contemporary|environmentalism|landscapes|added-2023-08-16",true],
|
1133 |
+
["Smith","Rodney","fashion|monochromatic|photography|portraits|photography-bw|added-2023-08-16",false],
|
1134 |
["Smith","Samantha Keely","abstract|abstract-Expressionism|contemporary|Dream-like|Loneliness|painting|added-2023-08-08",false],
|
1135 |
["Smithson","Robert","conceptual|earthworks|environmentalism|land-art|post-minimalism|sculpture|added-2023-08-08",false],
|
1136 |
["Solomon","Barbara Stauffacher","Commercial-art|contemporary|Graphic-Design|Graphic-design|Pop-art|added-2023-08-08",false],
|
index.css
CHANGED
@@ -114,6 +114,30 @@ h4 {
|
|
114 |
width: 100%;
|
115 |
}
|
116 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
#alert {
|
118 |
position: fixed;
|
119 |
z-index: 1;
|
|
|
114 |
width: 100%;
|
115 |
}
|
116 |
|
117 |
+
#copy-all-names {
|
118 |
+
position: absolute;
|
119 |
+
z-index: 2;
|
120 |
+
left: calc(70% + 25px);
|
121 |
+
bottom: 50px;
|
122 |
+
transform: translateX(-50%);
|
123 |
+
white-space: nowrap;
|
124 |
+
background-color: #ffe300;
|
125 |
+
opacity: 0.8;
|
126 |
+
padding: 4px 8px;
|
127 |
+
border-radius: 4px;
|
128 |
+
box-shadow: 0 5px 10px black;
|
129 |
+
font-size: 12px;
|
130 |
+
font-weight: bold;
|
131 |
+
color: black;
|
132 |
+
cursor: pointer;
|
133 |
+
transition: opacity 100ms 200ms linear;
|
134 |
+
}
|
135 |
+
|
136 |
+
#image-container #copy-all-names:hover {
|
137 |
+
opacity: 1;
|
138 |
+
transition: opacity 100ms 0ms linear;
|
139 |
+
}
|
140 |
+
|
141 |
#alert {
|
142 |
position: fixed;
|
143 |
z-index: 1;
|
index.html
CHANGED
@@ -178,13 +178,16 @@
|
|
178 |
<span id="edit_most_used" class="hidden">edit</span>
|
179 |
<!-- JS will insert checkboxes here -->
|
180 |
</div>
|
181 |
-
<div id="gutter"
|
|
|
|
|
182 |
<div id="image-container">
|
183 |
<div id="filtersHidingAll">
|
184 |
these filters hide every image<br>
|
185 |
check-mark any tag or βpermissiveβ<br>
|
186 |
π
|
187 |
</div>
|
|
|
188 |
<!-- JS will insert images here -->
|
189 |
<!--
|
190 |
<div class="image-item tag1 tag2">
|
|
|
178 |
<span id="edit_most_used" class="hidden">edit</span>
|
179 |
<!-- JS will insert checkboxes here -->
|
180 |
</div>
|
181 |
+
<div id="gutter">
|
182 |
+
<div data-tooltip="drag slowly"></div>
|
183 |
+
</div>
|
184 |
<div id="image-container">
|
185 |
<div id="filtersHidingAll">
|
186 |
these filters hide every image<br>
|
187 |
check-mark any tag or βpermissiveβ<br>
|
188 |
π
|
189 |
</div>
|
190 |
+
<div id="copy-all-names">copy all visible names</div>
|
191 |
<!-- JS will insert images here -->
|
192 |
<!--
|
193 |
<div class="image-item tag1 tag2">
|
index.js
CHANGED
@@ -1420,6 +1420,27 @@ function copyStuffToClipboard(item,stuff) {
|
|
1420 |
.catch(() => {
|
1421 |
doAlert('ππ Can\'t access clipboard',1);
|
1422 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1423 |
}
|
1424 |
}
|
1425 |
|
@@ -1578,6 +1599,7 @@ function movePartition(e) {
|
|
1578 |
document.getElementById('toggles').style.width = 'calc(' + gutterEndPercentX + '% - 20px)';
|
1579 |
document.getElementById('gutter').style.left = gutterEndPercentX + '%';
|
1580 |
document.getElementById('image-container').style.marginLeft = 'calc(' + gutterEndPercentX + '% + 50px)';
|
|
|
1581 |
imgHoverRule.style.width = gutterEndPercentX + '%';
|
1582 |
// prevent text from being selected during drag
|
1583 |
if (window.getSelection) {
|
@@ -1889,7 +1911,7 @@ function deleteAllEdits() {
|
|
1889 |
}
|
1890 |
|
1891 |
function addAllListeners() {
|
1892 |
-
//
|
1893 |
var checkboxes = document.querySelectorAll('input[type="checkbox"]');
|
1894 |
checkboxes.forEach(function(checkbox) {
|
1895 |
let isTop = checkbox.parentNode.classList.contains('top_control');
|
@@ -1940,7 +1962,7 @@ function addAllListeners() {
|
|
1940 |
}
|
1941 |
}
|
1942 |
});
|
1943 |
-
//
|
1944 |
var infoI = document.getElementById('infoI');
|
1945 |
infoI.addEventListener('click', function(e) {
|
1946 |
showInstructions();
|
@@ -1953,7 +1975,7 @@ function addAllListeners() {
|
|
1953 |
infoX.addEventListener('click', function(e) {
|
1954 |
showExport();
|
1955 |
});
|
1956 |
-
//
|
1957 |
var promptA = document.getElementById('promptA');
|
1958 |
promptA.addEventListener('click', function(e) {
|
1959 |
highlightSelectedOption('promptA');
|
@@ -1972,7 +1994,7 @@ function addAllListeners() {
|
|
1972 |
rotatePromptsImages();
|
1973 |
storeOptionsState();
|
1974 |
});
|
1975 |
-
//
|
1976 |
var export_favorites = document.getElementById('export_favorites_button');
|
1977 |
export_favorites.addEventListener('click', function(e) {
|
1978 |
exportTextarea('favorites');
|
@@ -2001,7 +2023,7 @@ function addAllListeners() {
|
|
2001 |
}
|
2002 |
});
|
2003 |
});
|
2004 |
-
//
|
2005 |
var sortTA = document.getElementById('sortTA');
|
2006 |
sortTA.addEventListener('click', function(e) {
|
2007 |
sortTagsByAlpha();
|
@@ -2048,7 +2070,7 @@ function addAllListeners() {
|
|
2048 |
}
|
2049 |
});
|
2050 |
});
|
2051 |
-
//
|
2052 |
var imageItems = document.getElementsByClassName('image-item');
|
2053 |
Array.from(imageItems).forEach(function(imageItem) {
|
2054 |
imageItem.addEventListener('mouseenter', function(e) {
|
@@ -2092,7 +2114,7 @@ function addAllListeners() {
|
|
2092 |
}
|
2093 |
});
|
2094 |
});
|
2095 |
-
//
|
2096 |
var gutter = document.getElementById('gutter');
|
2097 |
gutter.addEventListener('mousedown', function(e) {
|
2098 |
e.preventDefault();
|
@@ -2103,7 +2125,12 @@ function addAllListeners() {
|
|
2103 |
gutter.removeEventListener('mousemove', movePartition, false);
|
2104 |
}, false);
|
2105 |
}, false);
|
2106 |
-
//
|
|
|
|
|
|
|
|
|
|
|
2107 |
var closeFooter = document.getElementById('close_footer');
|
2108 |
closeFooter.addEventListener('click', function(e) {
|
2109 |
document.getElementById('layout').classList.add('footerHidden');
|
|
|
1420 |
.catch(() => {
|
1421 |
doAlert('ππ Can\'t access clipboard',1);
|
1422 |
});
|
1423 |
+
} else if(stuff == 'copyAllNames') {
|
1424 |
+
let str = '';
|
1425 |
+
let count = 0;
|
1426 |
+
let imageItems = document.querySelectorAll('.image-item:not(.hidden)');
|
1427 |
+
let imageItemsArr = Array.from(imageItems).sort(function (a, b) {
|
1428 |
+
return a.querySelectorAll('h3 span')[1].textContent.toLowerCase().localeCompare(
|
1429 |
+
b.querySelectorAll('h3 span')[1].textContent.toLowerCase());
|
1430 |
+
});
|
1431 |
+
for(i=0,il=imageItemsArr.length;i<il;i++) {
|
1432 |
+
let item = imageItemsArr[i];
|
1433 |
+
str += item.querySelectorAll('h3 span')[0].textContent + ' ';
|
1434 |
+
str += item.querySelectorAll('h3 span')[1].textContent + '\n';
|
1435 |
+
count++;
|
1436 |
+
}
|
1437 |
+
navigator.clipboard.writeText(str)
|
1438 |
+
.then(() => {
|
1439 |
+
doAlert('Copied ' + count.toLocaleString() + ' names to clipboard!',1);
|
1440 |
+
})
|
1441 |
+
.catch(() => {
|
1442 |
+
doAlert('ππ Can\'t access clipboard',1);
|
1443 |
+
});
|
1444 |
}
|
1445 |
}
|
1446 |
|
|
|
1599 |
document.getElementById('toggles').style.width = 'calc(' + gutterEndPercentX + '% - 20px)';
|
1600 |
document.getElementById('gutter').style.left = gutterEndPercentX + '%';
|
1601 |
document.getElementById('image-container').style.marginLeft = 'calc(' + gutterEndPercentX + '% + 50px)';
|
1602 |
+
document.getElementById('copy-all-names').style.left = 'calc(' + (gutterEndPercentX + ((100-gutterEndPercentX)/2)) + '% + 25px)';
|
1603 |
imgHoverRule.style.width = gutterEndPercentX + '%';
|
1604 |
// prevent text from being selected during drag
|
1605 |
if (window.getSelection) {
|
|
|
1911 |
}
|
1912 |
|
1913 |
function addAllListeners() {
|
1914 |
+
// checkboxes
|
1915 |
var checkboxes = document.querySelectorAll('input[type="checkbox"]');
|
1916 |
checkboxes.forEach(function(checkbox) {
|
1917 |
let isTop = checkbox.parentNode.classList.contains('top_control');
|
|
|
1962 |
}
|
1963 |
}
|
1964 |
});
|
1965 |
+
// options
|
1966 |
var infoI = document.getElementById('infoI');
|
1967 |
infoI.addEventListener('click', function(e) {
|
1968 |
showInstructions();
|
|
|
1975 |
infoX.addEventListener('click', function(e) {
|
1976 |
showExport();
|
1977 |
});
|
1978 |
+
// prompts
|
1979 |
var promptA = document.getElementById('promptA');
|
1980 |
promptA.addEventListener('click', function(e) {
|
1981 |
highlightSelectedOption('promptA');
|
|
|
1994 |
rotatePromptsImages();
|
1995 |
storeOptionsState();
|
1996 |
});
|
1997 |
+
// information
|
1998 |
var export_favorites = document.getElementById('export_favorites_button');
|
1999 |
export_favorites.addEventListener('click', function(e) {
|
2000 |
exportTextarea('favorites');
|
|
|
2023 |
}
|
2024 |
});
|
2025 |
});
|
2026 |
+
// sorting
|
2027 |
var sortTA = document.getElementById('sortTA');
|
2028 |
sortTA.addEventListener('click', function(e) {
|
2029 |
sortTagsByAlpha();
|
|
|
2070 |
}
|
2071 |
});
|
2072 |
});
|
2073 |
+
// artists
|
2074 |
var imageItems = document.getElementsByClassName('image-item');
|
2075 |
Array.from(imageItems).forEach(function(imageItem) {
|
2076 |
imageItem.addEventListener('mouseenter', function(e) {
|
|
|
2114 |
}
|
2115 |
});
|
2116 |
});
|
2117 |
+
// gutter
|
2118 |
var gutter = document.getElementById('gutter');
|
2119 |
gutter.addEventListener('mousedown', function(e) {
|
2120 |
e.preventDefault();
|
|
|
2125 |
gutter.removeEventListener('mousemove', movePartition, false);
|
2126 |
}, false);
|
2127 |
}, false);
|
2128 |
+
// copy-all
|
2129 |
+
var copyAllNames = document.getElementById('copy-all-names');
|
2130 |
+
copyAllNames.addEventListener('click', function(e) {
|
2131 |
+
copyStuffToClipboard(this, 'copyAllNames')
|
2132 |
+
});
|
2133 |
+
// footer
|
2134 |
var closeFooter = document.getElementById('close_footer');
|
2135 |
closeFooter.addEventListener('click', function(e) {
|
2136 |
document.getElementById('layout').classList.add('footerHidden');
|