summaryrefslogtreecommitdiff
path: root/public/javascripts
diff options
context:
space:
mode:
Diffstat (limited to 'public/javascripts')
-rw-r--r--public/javascripts/admin_interface.js89
-rw-r--r--public/javascripts/public.js21
-rw-r--r--public/javascripts/related_assets.js1
3 files changed, 26 insertions, 85 deletions
diff --git a/public/javascripts/admin_interface.js b/public/javascripts/admin_interface.js
index 7fb1dc2..f6d915f 100644
--- a/public/javascripts/admin_interface.js
+++ b/public/javascripts/admin_interface.js
@@ -45,10 +45,6 @@ $(document).ready(function () {
45 menu_item_sorter.initialize(); 45 menu_item_sorter.initialize();
46 } 46 }
47 47
48 if ($("#metadata").length != 0) {
49 meta_data.initialize();
50 }
51
52 if ($("#parent_search_term").length != 0) { 48 if ($("#parent_search_term").length != 0) {
53 parent_search.initialize_search(); 49 parent_search.initialize_search();
54 } 50 }
@@ -110,14 +106,6 @@ $(document).ready(function () {
110}); 106});
111 107
112 108
113meta_data = {
114 initialize : function() {
115 document.getElementById("metadata_details").addEventListener("toggle", function() {
116 if (this.open) image_interface.initialize();
117 });
118 }
119};
120
121cccms = { 109cccms = {
122 setup_autosave : function() { 110 setup_autosave : function() {
123 111
@@ -282,6 +270,7 @@ cccms = {
282 large: $(this).data('large-url'), 270 large: $(this).data('large-url'),
283 original: $(this).data('original-url'), 271 original: $(this).data('original-url'),
284 name: $(this).data('name'), 272 name: $(this).data('name'),
273 hasCredit: $(this).data('has-credit') === true,
285 headline: $(this).data('headline') === true 274 headline: $(this).data('headline') === true
286 }; 275 };
287 }).get(); 276 }).get();
@@ -320,8 +309,11 @@ cccms = {
320 : 'inline-image inline-image--half inline-image--' + placement; 309 : 'inline-image inline-image--half inline-image--' + placement;
321 310
322 var esc = cccms.inline_images.escape_attr; 311 var esc = cccms.inline_images.escape_attr;
312 var titleForGlightbox = (item.name || '').replace(/;/g, ',');
313 var glightboxOpts = 'title: ' + esc(titleForGlightbox) +
314 (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) + '"' + 315 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) + '">' + 316 ' data-glightbox="' + glightboxOpts + '">' +
325 '<img src="' + esc(item.large) + '" class="' + classes + '" alt="' + esc(item.name) + '"></a>'; 317 '<img src="' + esc(item.large) + '" class="' + classes + '" alt="' + esc(item.name) + '"></a>';
326 318
327 cccms.inline_images.editor.insertContent(html); 319 cccms.inline_images.editor.insertContent(html);
@@ -360,77 +352,6 @@ menu_item_sorter = {
360 } 352 }
361} 353}
362 354
363image_interface = {
364
365 initialize : function() {
366
367 $("#image_browser").hide();
368 image_interface.initialize_sortable_image_box();
369 image_interface.connect_browser_and_box();
370 image_interface.set_droppable_behavior();
371 image_interface.bind_image_browser_toggle();
372 },
373
374
375 set_droppable_behavior : function() {
376 $("ul#image_box").droppable({
377 out : function(event, ui) {
378 $(ui.draggable).fadeTo("fast", 0.4);
379
380 $(ui.draggable).bind("mouseup", function() {
381 $(this).remove();
382 });
383 },
384 over : function(event, ui) {
385 $(ui.draggable).fadeTo("fast", 1.0);
386 $(ui.draggable).unbind("mouseup");
387 }
388 });
389 },
390
391 connect_browser_and_box : function() {
392 $("#image_browser ul li").draggable({
393 connectToSortable : 'ul#image_box',
394 helper : 'clone',
395 revert : 'invalid'
396 });
397 },
398
399 initialize_sortable_image_box : function() {
400
401 $("ul#image_box").sortable({
402 revert : true,
403 update : function(event, ui) {
404 images = $("ul#image_box").sortable("serialize", {attribute : "rel"});
405
406 $.ajax({
407 type : "POST",
408 url : "/pages/" + $("ul#image_box").attr("rel") + "/sort_images",
409 dataType : "json",
410 data : images + "&_method=put",
411 success : function() {
412 }
413 });
414 }
415 });
416 },
417
418 bind_image_browser_toggle : function() {
419 $("#image_browser_toggle").bind("click", function(){
420 if ($("#image_browser_toggle").attr("class") == "unselected") {
421 $("#image_browser_toggle").attr("class", "selected");
422 $("#image_browser").show();
423 }
424 else {
425 $("#image_browser_toggle").attr("class", "unselected");
426 $("#image_browser").hide();
427 }
428
429 return false;
430 });
431 }
432}
433
434rrule_builder = { 355rrule_builder = {
435 initialize : function() { 356 initialize : function() {
436 rrule_builder.try_populate_from_rrule($("#event_rrule").val()); 357 rrule_builder.try_populate_from_rrule($("#event_rrule").val());
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);