| Current Path : /home/juvelize/www/modules/mod_simple_unite_gallery/elements/ckslidesmanager/ |
| Current File : /home/juvelize/www/modules/mod_simple_unite_gallery/elements/ckslidesmanager/ckslidesmanager.js |
/**
* Simple Unit Gallery - Joomla Module
* Version : 1.2.0
* Package : Joomla 3.6.x
* copyright : Copyright (C) 2016 ConseilGouz. All rights reserved.
* license : http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
* From : Unit Gallery, https://github.com/vvvmax/unitegallery
* The class JFormFieldCkslidesmanager is adapted from carouselCK by Cedric KEIFLIN alias ced1870
* Updated on : November, 2016
**/
// pour gestion editeur d'images
function jInsertEditorText(text, editor) {
var valeur = jQuery(text).attr('src');
jQuery('#'+editor).val(valeur);
addthumbnail(valeur, '#'+editor);
}
function addthumbnail(imgsrc, editor) {
var slideimg = jQuery(editor).parent().find('img');
var testurl = 'http';
if (imgsrc.toLowerCase().indexOf(testurl.toLowerCase()) != -1) {
slideimg.attr('src', imgsrc);
} else {
slideimg.attr('src', JURI + imgsrc);
}
slideimg.attr('width', '64px');
slideimg.attr('height', '64px');
}
function addslideck(imgname, imgcaption, imgthumb, imglink, imgtarget, imgvideo, slideselect, imgalignment, articleid, imgtime, articlename, imgtitle) {
if (!imgtitle)
imgtitle = '';
if (!articleid)
articleid = '';
if (!articlename)
articlename = '';
if (!imgtime)
imgtime = '';
if (!imgname)
imgname = '';
if (!imgthumb) {
imgthumb = '';
if (imgname == '') {
imgthisthumb = 'modules/mod_simple_unite_gallery/elements/ckslidesmanager/unknown.png';
} else {
imgthisthumb = imgname;
}
} else {
imgthisthumb = imgthumb;
}
if (!imgcaption)
imgcaption = '';
imgcaption = imgcaption.replace(/\|\|/g, """);
if (!imglink)
imglink = '';
if (!imgvideo)
imgvideo = '';
if (!imgtarget || imgtarget == 'default') {
imgtarget = '';
}
if (!slideselect) {
slideselect = '';
}
imgalignment = '';
index = checkIndex(0);
var ckslide = jQuery('<li class="ckslide" id="ckslide' + index + '" />');
ckslide.html('<div class="ckslidehandle"><div class="ckslidenumber">' + index + '</div></div><div class="ckslidecontainer">'
+ '<input name="ckslidedelete' + index + '" class="ckslidedelete" type="button" value="' + Joomla.JText._('SAG_IMAGE_REMOVE2') + '" onclick="javascript:removeslide(this.getParent().getParent());" />'
+ '<div class="cksliderow"><div class="ckslideimgcontainer"><img src="../' + imgthisthumb + '" width="64" height="64"/></div>'
+ '<input style="margin-top: 10px;" name="ckslideimgname' + index + '" id="ckslideimgname' + index + '" class="ckslideimgname hasTip" title="Image::affichage à partir de cette image " type="text" value="' + imgname + '" onchange="javascript:addthumbnail(this.value, this);" />'
+ '<a style="margin-top: 10px;" class="btn modal ckselectimg" href="' + JURI + 'administrator/index.php?option=com_media&view=images&tmpl=component&e_name=ckslideimgname' + index + '" rel="{handler: \'iframe\', size: {x: 800, y: 500}}" >' + Joomla.JText._('SAG_SELECTIMAGE') + '</a></div>'
+ '<div class="cksliderow" style="display:none"><span class="ckslidelabel">' + Joomla.JText._('SAG_IMAGE_TITLE') + '</span><input name="ckslidetitletext' + index + '" class="ckslidetitletext" type="text" value="' + imgtitle + '" onchange="javascript:storesetwarning();" /></div>'
+ '<div class="cksliderow"><span class="ckslidelabel">' + Joomla.JText._('SAG_CAPTION') + '</span><input name="ckslidecaptiontext' + index + '" class="ckslidecaptiontext" type="text" value="' + imgcaption + '" onchange="javascript:storesetwarning();" /></div>'
+ '<div class="cksliderow" id="cksliderowarticle' + index + '"><span class="ckslidelabel">' + Joomla.JText._('SAG_IMAGE_TITLE') + '</span><input name="ckslidearticleid' + index + '" class="ckslidearticleid input-medium" id="ckslidearticleid' + index + '" style="width:20px;display:none" type="text" value="' + articleid + '" disabled="disabled" onchange="javascript:storesetwarning();" /><input name="ckslidearticlename' + index + '" class="ckslidearticlename " id="ckslidearticlename' + index + '" type="text" value="' + articlename + '" disabled="disabled" /><a id="ckslidearticlebuttonSelect" class="modal btn" href="index.php?option=com_content&layout=modal&view=articles&tmpl=component&function=jSelectArticle_ckslidearticleid' + index + '" rel="{handler: \'iframe\', size: {x: 800, y: 450}}" style="display:inline-block;margin:0 5px 0 5px;">' + Joomla.JText._('SAG_IMAGE_ARTICLE_ID') + '</a><a class="btn" href="javascript:void(0)" onclick="document.getElementById(\'ckslidearticleid' + index + '\').value=\'\';document.getElementById(\'ckslidearticlename' + index + '\').value=\'\';">' + Joomla.JText._('SAG_CLEAR_IMAGE') + '</a>'
+'</div>'
+ '</div>'
+ '</div></div>'
+ '</div><div style="clear:both;"></div>');
jQuery('#ckslideslist').append(ckslide);
script = document.createElement("script");
script.setAttribute('type', 'text/javascript');
script.text = "function jSelectArticle_ckslidearticleid" + index + "(id, title, catid, object) {"
+ "document.getElementById('ckslidearticleid" + index + "').value = id;"
+ "document.getElementById('ckslidearticlename" + index + "').value = title;"
+ "SqueezeBox.close();"
+ "}";
document.body.appendChild(script);
storeslideck();
makesortables();
SqueezeBox.initialize({});
SqueezeBox.assign(jQuery('#ckslide' + index + ' a.modal'), {
parse: 'rel'
});
create_tabs_in_slide(jQuery('#ckslide' + index));
}
function create_tabs_in_slide(slide) {
jQuery('.ckslideaccordeoncontent', slide).hide();
jQuery('.ckslideaccordeonbutton', slide).each( function(i, button) {
this.tab = jQuery('.ckslideaccordeoncontent', slide).eq(i);
jQuery(button).click(function(){
if (jQuery(this).hasClass('open')) {
// if is opened
jQuery(this).removeClass('open');
jQuery('.ckslideaccordeoncontent', slide).hide();
} else {
// if is closed
jQuery('.ckslideaccordeonbutton', slide).removeClass('open');
jQuery(this).addClass('open');
jQuery('.ckslideaccordeoncontent', slide).hide();
this.tab.fadeIn();
}
});
});
}
function checkIndex(i) {
while (jQuery('#ckslide' + i).length)
i++;
return i;
}
function removeslide(slide) {
if (confirm(Joomla.JText._('SAG_REMOVE') + ' ?')) {
slide.remove();
storeslideck();
}
}
function storesetwarning() {
// $('ckstoreslide').setStyle('background-color', 'red');
}
function storeremovewarning() {
// $('ckstoreslide').setStyle('background-color', 'white');
}
function storeslideck() {
var i = 0;
var slides = new Array();
jQuery('#ckslideslist .ckslide').each(function(i, el) {
el = jQuery(el);
slide = new Object();
slide['imgname'] = el.find('.ckslideimgname').val();
slide['imgcaption'] = el.find('.ckslidecaptiontext').val();
slide['imgcaption'] = slide['imgcaption'].replace(/"/g, "||");
slide['imgtitle'] = el.find('.ckslidetitletext').val();
slide['imgtitle'] = slide['imgtitle'].replace(/"/g, "||");
slide['imgthumb'] = '';
slide['imglink'] = '';
slide['imgtarget'] = '';
slide['imgalignment'] = '';
slide['imgvideo'] = '';
slide['slidearticleid'] = el.find('.ckslidearticleid').val();
slide['slidearticlename'] = el.find('.ckslidearticlename').val();
slide['imgtime'] = el.find('.ckslideimgtime').val();
slides[i] = slide;
i++;
});
slides = JSON.stringify(slides);
slides = slides.replace(/"/g, "||");
jQuery('#ckslides').val(slides);
}
function callslides() {
var slides = jQuery.parseJSON(jQuery('#ckslides').val().replace(/\|\|/g, "\""));
if (slides.length) {
jQuery(slides).each(function(i, slide) {
addslideck(slide['imgname'],
slide['imgcaption'],
slide['imgthumb'],
slide['imglink'],
slide['imgtarget'],
slide['imgvideo'],
slide['slideselect'],
slide['imgalignment'],
slide['slidearticleid'],
slide['imgtime'],
slide['slidearticlename'],
slide['imgtitle']
);
});
}
}
function makesortables() {
jQuery("#ckslideslist").sortable({
placeholder: "ui-state-highlight",
handle: ".ckslidehandle",
items: ".ckslide",
axis: "y",
forcePlaceholderSize: true,
forceHelperSize: true,
dropOnEmpty: true,
tolerance: "pointer",
placeholder: "placeholder",
zIndex: 9999,
update: function(event, ui) {
renumber_slides();
},
sort: function(event, ui) {
jQuery(ui.placeholder).height(jQuery(ui.helper).height());
}
});
}
function renumber_slides() {
var index = 0;
jQuery('.ckslide').each(function(i, slide) {
jQuery('.ckslidenumber', jQuery(slide)).html(i);
index++;
});
}
jQuery(document).ready(function() {
callslides();
var script = document.createElement("script");
script.setAttribute('type', 'text/javascript');
script.text = "Joomla.submitbutton = function(task){"
+ "storeslideck();"
+ "if (task == 'module.cancel' || document.formvalidator.isValid(document.id('module-form'))) { Joomla.submitform(task, document.getElementById('module-form'));"
+ "if (self != top) {"
+ "window.top.setTimeout('window.parent.SqueezeBox.close()', 1000);"
+ "}"
+ "} else {"
+ "alert('Formulaire invalide');"
+ "}}";
document.body.appendChild(script);
});