www_archline_hu/deployed/joomgallery/media/joomgallery/js/userpanel.js
LÁZÁR Imre AI Agent 9be7e17536 feat(deployed): add JoomGallery 3.3.4 (no-source, vetted live)
JoomGallery 3.3.4, vetted clean from live; no 3.3.4 tag upstream → deployed files. Excluded temp/ update-staging (data).

Signed-off-by: LÁZÁR Imre <imre@illusion.hu>
Assisted-by: claude-code@claude-opus-4-8
2026-07-16 09:48:13 +02:00

117 lines
4.5 KiB
JavaScript

/****************************************************************************************\
** JoomGallery 3 **
** By: JoomGallery::ProjectTeam **
** Copyright (C) 2008 - 2015 JoomGallery::ProjectTeam **
** Based on: JoomGallery 1.0.0 by JoomGallery::ProjectTeam **
** Released under GNU GPL Public License **
** License: http://www.gnu.org/copyleft/gpl.html or have a look **
** at administrator/components/com_joomgallery/LICENSE.TXT **
\****************************************************************************************/
(function ($) {
$.QuickEditingData = function (options) {
ops = $.extend({
url: '#',
getContentCallback: function() {}
}, options);
// Toggle visibility of editing units
$('.jg-show-editing-units a, .jg-cancel').click(function () {
if($(this).hasClass('jg-icon-disabled')) {
return false;
}
$('.jg-show-editing-units').toggle();
$('.jg-quick-edit-row, .jg-visible-hidden-toggle, #jg-quick-edit-btn-bar').toggle('slow');
var id = $(this).attr('data-id');
if(id) {
$('#imgtitle_' + id).select();
$('html, body').animate({
scrollTop: $('#imgtitle_' + id).closest('tr').prev().offset().top
}, 2000);
}
return false;
});
// Don't submit form on key press of 'enter' when editing units are enabled, but send the Ajax request
$('#userpanelForm').submit(function () {
if($('#jg-quick-edit-btn-bar').is(':visible')) {
if(!$('#jg-quick-edit-btn-bar .jg-save').is(':disabled')) {
$('#jg-quick-edit-btn-bar .jg-save').trigger('click');
}
return false;
}
return true;
});
// Send the Ajax request for updating image data
$('#jg-quick-edit-btn-bar .jg-save').click(function () {
var imagesdata = {};
var submit = true;
$('.jg-quick-edit-row.changed').each(function () {
var id = $(this).attr('data-id');
imagesdata[id] = {
'imgtitle': $(this).find('#imgtitle_' + id).val(),
'imgauthor': $(this).find('#imgauthor_' + id).val(),
'metadesc': $(this).find('#metadesc_' + id).val(),
'imgtext': ops.getContentCallback('imgtext_' + id)
};
if(!imagesdata[id].imgtitle) {
alert(Joomla.JText._('COM_JOOMGALLERY_COMMON_ALERT_IMAGE_MUST_HAVE_TITLE'));
$(this).find('#imgtitle_' + id).focus();
submit = false;
return false;
}
});
if(!submit) {
return;
}
$.getJSON(ops.url, {images: imagesdata})
.done(function (response) {
if (response.success === true) {
Joomla.renderMessages({'success' : [Joomla.JText._('COM_JOOMGALLERY_USERPANEL_DATACHANGED_SUCCESS')]});
$('.jg-show-editing-units').toggle();
$('.jg-quick-edit-row, .jg-visible-hidden-toggle, #jg-quick-edit-btn-bar').toggle('slow');
$('.jg-quick-edit-row.changed').each(function () {
var id = $(this).attr('data-id');
var image_title = $(this).find("input[name='imgtitle']").val();
$('#jg-title-row-' + id + ' .jg-image-title').html(image_title);
$(this).removeClass('changed');
});
$('#jg-quick-edit-btn-bar .jg-save').attr('disabled', 'disabled');
} else {
alert(response.message);
}
})
.fail(function(jqxhr, textStatus, error) {
alert(textStatus + ': ' + error);
});
return false;
});
// Mark image as edited
$('.jg-quick-edit-row input, .jg-quick-edit-row textarea').keyup(function () {
$(this).closest('.jg-quick-edit-row').addClass('changed');
$('#jg-quick-edit-btn-bar .jg-save').removeAttr('disabled');
});
// Delay adding the 'image marked' detection event for editor iframes so that they have time to load
setTimeout(function() {
$('.jg-quick-edit-row').each(function () {
var id = $(this).attr('data-id');
$(this).find('iframe').contents().keyup(function () {
$('.jg-quick-edit-row[data-id=\'' + id + '\']').addClass('changed');
$('#jg-quick-edit-btn-bar .jg-save').removeAttr('disabled');
});
});
}, 3000);
};
})(jQuery);