Initial commit: Backup der Webseiten
- zoesch.de - blitzkiste.net - gruene-hassberge (norbert.zoesch.de) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
117
zoesch.de/galerie/admin/themes/default/js/addAlbum.js
Normal file
117
zoesch.de/galerie/admin/themes/default/js/addAlbum.js
Normal file
@@ -0,0 +1,117 @@
|
||||
jQuery.fn.pwgAddAlbum = function(options) {
|
||||
options = options || {};
|
||||
|
||||
var $popup = jQuery('#addAlbumForm'),
|
||||
$albumParent = $popup.find('[name="category_parent"]')
|
||||
$button = jQuery(this),
|
||||
$target = jQuery('[name="'+ $button.data('addAlbum') +'"]'),
|
||||
cache = $target.data('cache');
|
||||
|
||||
if (!$target[0].selectize) {
|
||||
jQuery.error('pwgAddAlbum: target must use selectize');
|
||||
}
|
||||
if (!cache) {
|
||||
jQuery.error('pwgAddAlbum: missing categories cache');
|
||||
}
|
||||
|
||||
function init() {
|
||||
$popup.data('init', true);
|
||||
|
||||
cache.selectize($albumParent, {
|
||||
'default': 0,
|
||||
'filter': function(categories) {
|
||||
categories.push({
|
||||
id: 0,
|
||||
fullname: '------------',
|
||||
global_rank: 0
|
||||
});
|
||||
|
||||
if (options.filter) {
|
||||
categories = options.filter.call(this, categories);
|
||||
}
|
||||
|
||||
return categories;
|
||||
}
|
||||
});
|
||||
|
||||
$popup.find('form').on('submit', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var parent_id = $albumParent.val(),
|
||||
name = $popup.find('[name=category_name]').val();
|
||||
|
||||
jQuery('#categoryNameError').toggle(!name);
|
||||
if (!name) {
|
||||
return;
|
||||
}
|
||||
|
||||
jQuery.ajax({
|
||||
url: 'ws.php?format=json',
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
method: 'pwg.categories.add',
|
||||
parent: parent_id,
|
||||
name: name
|
||||
},
|
||||
beforeSend: function() {
|
||||
jQuery('#albumCreationLoading').show();
|
||||
},
|
||||
success: function(data) {
|
||||
jQuery('#albumCreationLoading').hide();
|
||||
$button.colorbox.close();
|
||||
|
||||
var newAlbum = {
|
||||
id: data.result.id,
|
||||
name: name,
|
||||
fullname: name,
|
||||
global_rank: '0',
|
||||
dir: null,
|
||||
nb_images: 0,
|
||||
pos: 0
|
||||
};
|
||||
|
||||
var parentSelectize = $albumParent[0].selectize;
|
||||
|
||||
if (parent_id != 0) {
|
||||
var parent = parentSelectize.options[parent_id];
|
||||
newAlbum.fullname = parent.fullname + ' / ' + newAlbum.fullname;
|
||||
newAlbum.global_rank = parent.global_rank + '.1';
|
||||
newAlbum.pos = parent.pos + 1;
|
||||
}
|
||||
|
||||
var targetSelectize = $target[0].selectize;
|
||||
targetSelectize.addOption(newAlbum);
|
||||
targetSelectize.setValue(newAlbum.id);
|
||||
|
||||
parentSelectize.addOption(newAlbum);
|
||||
|
||||
if (options.afterSelect) {
|
||||
options.afterSelect();
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpRequest, textStatus, errorThrows) {
|
||||
jQuery('#albumCreationLoading').hide();
|
||||
alert(errorThrows);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
this.colorbox({
|
||||
inline: true,
|
||||
href: '#addAlbumForm',
|
||||
width: 650, height: 300,
|
||||
onComplete: function() {
|
||||
if (!$popup.data('init')) {
|
||||
init();
|
||||
}
|
||||
|
||||
jQuery('#categoryNameError').hide();
|
||||
$popup.find('[name=category_name]').val('').focus();
|
||||
$albumParent[0].selectize.setValue($target.val() || 0);
|
||||
}
|
||||
});
|
||||
|
||||
return this;
|
||||
};
|
||||
Reference in New Issue
Block a user