summaryrefslogtreecommitdiff
path: root/public
diff options
context:
space:
mode:
Diffstat (limited to 'public')
-rw-r--r--public/javascripts/admin_interface.js6
-rw-r--r--public/javascripts/public.js21
-rw-r--r--public/javascripts/related_assets.js1
-rw-r--r--public/stylesheets/ccc.css26
4 files changed, 49 insertions, 5 deletions
diff --git a/public/javascripts/admin_interface.js b/public/javascripts/admin_interface.js
index 7fb1dc2..f378c46 100644
--- a/public/javascripts/admin_interface.js
+++ b/public/javascripts/admin_interface.js
@@ -282,6 +282,7 @@ cccms = {
282 large: $(this).data('large-url'), 282 large: $(this).data('large-url'),
283 original: $(this).data('original-url'), 283 original: $(this).data('original-url'),
284 name: $(this).data('name'), 284 name: $(this).data('name'),
285 hasCredit: $(this).data('has-credit') === true,
285 headline: $(this).data('headline') === true 286 headline: $(this).data('headline') === true
286 }; 287 };
287 }).get(); 288 }).get();
@@ -320,8 +321,11 @@ cccms = {
320 : 'inline-image inline-image--half inline-image--' + placement; 321 : 'inline-image inline-image--half inline-image--' + placement;
321 322
322 var esc = cccms.inline_images.escape_attr; 323 var esc = cccms.inline_images.escape_attr;
324 var titleForGlightbox = (item.name || '').replace(/;/g, ',');
325 var glightboxOpts = 'title: ' + esc(titleForGlightbox) +
326 (item.hasCredit ? '; description: #credit_for_asset_' + esc(item.id) : '') + ';';
323 var html = '<a href="' + esc(item.original) + '" class="glightbox" data-gallery="page-' + esc(cccms.inline_images.node_id) + '"' + 327 var html = '<a href="' + esc(item.original) + '" class="glightbox" data-gallery="page-' + esc(cccms.inline_images.node_id) + '"' +
324 ' data-title="' + esc(item.name) + '" data-description="#credit_for_asset_' + esc(item.id) + '">' + 328 ' data-glightbox="' + glightboxOpts + '">' +
325 '<img src="' + esc(item.large) + '" class="' + classes + '" alt="' + esc(item.name) + '"></a>'; 329 '<img src="' + esc(item.large) + '" class="' + classes + '" alt="' + esc(item.name) + '"></a>';
326 330
327 cccms.inline_images.editor.insertContent(html); 331 cccms.inline_images.editor.insertContent(html);
diff --git a/public/javascripts/public.js b/public/javascripts/public.js
index a9250ca..7f38f66 100644
--- a/public/javascripts/public.js
+++ b/public/javascripts/public.js
@@ -1,6 +1,25 @@
1document.addEventListener('DOMContentLoaded', function(){ 1document.addEventListener('DOMContentLoaded', function(){
2 2
3 GLightbox({ selector: '.glightbox' }); 3 GLightbox({
4 selector: '.glightbox',
5 afterSlideLoad: function(slideData) {
6 var trigger = document.querySelectorAll('.glightbox')[slideData.index];
7 var selector = trigger && trigger.dataset.creditSelector;
8 if (!selector) return;
9
10 var source = document.querySelector(selector);
11 var container = slideData.slide.querySelector('.gdesc-inner');
12 if (!source || !container) return;
13
14 var target = container.querySelector('.gslide-desc');
15 if (!target) {
16 target = document.createElement('div');
17 target.className = 'gslide-desc';
18 container.appendChild(target);
19 }
20 target.innerHTML = source.innerHTML;
21 }
22 });
4 23
5 document.getElementById("light-mode").addEventListener("change", () => { 24 document.getElementById("light-mode").addEventListener("change", () => {
6 if (document.getElementById("light-mode").checked) 25 if (document.getElementById("light-mode").checked)
diff --git a/public/javascripts/related_assets.js b/public/javascripts/related_assets.js
index cc07d86..c6c6a19 100644
--- a/public/javascripts/related_assets.js
+++ b/public/javascripts/related_assets.js
@@ -87,6 +87,7 @@ related_assets = {
87 var item = $($("#related_asset_template").html().trim()); 87 var item = $($("#related_asset_template").html().trim());
88 item.attr("data-url", related.url); 88 item.attr("data-url", related.url);
89 item.attr("data-asset-id", related.asset_id); 89 item.attr("data-asset-id", related.asset_id);
90 item.attr("data-has-credit", related.has_credit);
90 item.attr("data-large-url", related.large_url); 91 item.attr("data-large-url", related.large_url);
91 item.attr("data-original-url", related.original_url); 92 item.attr("data-original-url", related.original_url);
92 item.attr("data-name", related.name); 93 item.attr("data-name", related.name);
diff --git a/public/stylesheets/ccc.css b/public/stylesheets/ccc.css
index 8358d06..9654594 100644
--- a/public/stylesheets/ccc.css
+++ b/public/stylesheets/ccc.css
@@ -727,7 +727,6 @@ div.teaser_ruler {
727 min-width: 0; 727 min-width: 0;
728} 728}
729 729
730
731.inline-image--full { 730.inline-image--full {
732 width: 100%; 731 width: 100%;
733 margin: 1rem 0; 732 margin: 1rem 0;
@@ -748,10 +747,31 @@ div.teaser_ruler {
748 margin-left: 1rem; 747 margin-left: 1rem;
749} 748}
750 749
751#asset_credits .glightbox-desc { 750#asset_credits .asset_credit_block {
752 display: none; 751 display: none;
753} 752}
754 753
755#asset_credits .headline_credit { 754#asset_credits .asset_credit_block.headline_credit {
756 display: block; 755 display: block;
757} 756}
757
758#asset_credits {
759 border-top: dotted 1px silver;
760}
761
762#asset_credits,
763.right {
764 font-style: italic;
765 font-family: Georgia;
766 font-size: 0.9rem;
767 color: color-mix(in srgb, CanvasText, #808080);
768}
769
770.glightbox-clean .gslide-description {
771 background: Canvas !important;
772}
773
774.glightbox-clean .gslide-title,
775.glightbox-clean .gslide-desc {
776 color: CanvasText !important;
777}