diff options
Diffstat (limited to 'admin/themes/default/template/include')
-rw-r--r-- | admin/themes/default/template/include/add_album.inc.tpl | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/admin/themes/default/template/include/add_album.inc.tpl b/admin/themes/default/template/include/add_album.inc.tpl new file mode 100644 index 000000000..82178ab11 --- /dev/null +++ b/admin/themes/default/template/include/add_album.inc.tpl @@ -0,0 +1,102 @@ +{footer_script}{literal} +jQuery(document).ready(function(){ + function fillCategoryListbox(selectId, selectedValue) { + jQuery.getJSON( + "ws.php?format=json&method=pwg.categories.getList", + { + recursive: true, + fullname: true, + format: "json", + }, + function(data) { + jQuery.each( + data.result.categories, + function(i,category) { + var selected = null; + if (category.id == selectedValue) { + selected = "selected"; + } + + jQuery("<option/>") + .attr("value", category.id) + .attr("selected", selected) + .text(category.name) + .appendTo("#"+selectId) + ; + } + ); + } + ); + } + + jQuery(".addAlbumOpen").colorbox({ + inline:true, + href:"#addAlbumForm", + onComplete:function(){ + jQuery("input[name=category_name]").focus(); + } + }); + + jQuery("#addAlbumForm form").submit(function(){ + jQuery("#categoryNameError").text(""); + + jQuery.ajax({ + url: "ws.php?format=json&method=pwg.categories.add", + data: { + parent: jQuery("select[name=category_parent] option:selected").val(), + name: jQuery("input[name=category_name]").val(), + }, + beforeSend: function() { + jQuery("#albumCreationLoading").show(); + }, + success:function(html) { + jQuery("#albumCreationLoading").hide(); + + var newAlbum = jQuery.parseJSON(html).result.id; + jQuery(".addAlbumOpen").colorbox.close(); + + jQuery("#albumSelect").find("option").remove(); + fillCategoryListbox("albumSelect", newAlbum); + + /* we refresh the album creation form, in case the user wants to create another album */ + jQuery("#category_parent").find("option").remove(); + + jQuery("<option/>") + .attr("value", 0) + .text("------------") + .appendTo("#category_parent") + ; + + fillCategoryListbox("category_parent", newAlbum); + + jQuery("#addAlbumForm form input[name=category_name]").val(''); + + jQuery("#albumSelection").show(); + + return true; + }, + error:function(XMLHttpRequest, textStatus, errorThrows) { + jQuery("#albumCreationLoading").hide(); + jQuery("#categoryNameError").text(errorThrows).css("color", "red"); + } + }); + + return false; + }); +}); +{/literal}{/footer_script} + +<div style="display:none"> + <div id="addAlbumForm" style="text-align:left;padding:1em;"> + <form> + {'Parent album'|@translate}<br> + <select id ="category_parent" name="category_parent"> + <option value="0">------------</option> + {html_options options=$category_parent_options selected=$category_parent_options_selected} + </select> + + <br><br>{'Album name'|@translate}<br><input name="category_name" type="text"> <span id="categoryNameError"></span> + <br><br><br><input type="submit" value="{'Create'|@translate}"> <span id="albumCreationLoading" style="display:none"><img src="themes/default/images/ajax-loader-small.gif"></span> + </form> + </div> +</div> |