You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
150 lines
6.6 KiB
150 lines
6.6 KiB
11 years ago
|
/**
|
||
|
* @name Init Module
|
||
|
* @author Tobias Reich
|
||
|
* @copyright 2014 by Tobias Reich
|
||
|
*/
|
||
|
|
||
|
$(document).ready(function(){
|
||
|
|
||
|
/* Event Name */
|
||
|
var event_name = (mobileBrowser()) ? "touchend" : "click";
|
||
|
|
||
11 years ago
|
/* Disable ContextMenu */
|
||
|
$(document).bind("contextmenu", function(e) { e.preventDefault() });
|
||
11 years ago
|
|
||
|
/* Tooltips */
|
||
|
if (!mobileBrowser()) $(".tools").tipsy({gravity: 'n', fade: false, delayIn: 0, opacity: 1});
|
||
|
|
||
11 years ago
|
/* Multiselect */
|
||
|
$("#content").on("mousedown", multiselect.show);
|
||
11 years ago
|
$(document).on("mouseup", multiselect.getSelection);
|
||
11 years ago
|
|
||
11 years ago
|
/* Header */
|
||
|
$("#hostedwith").on(event_name, function() { window.open(lychee.website,"_newtab") });
|
||
|
$("#button_signin").on(event_name, lychee.loginDialog);
|
||
|
$("#button_settings").on(event_name, contextMenu.settings);
|
||
|
$("#button_share").on(event_name, function(e) {
|
||
|
if (photo.json.public==1||photo.json.public==2) contextMenu.sharePhoto(photo.getID(), e);
|
||
|
else photo.setPublic(photo.getID(), e);
|
||
|
});
|
||
|
$("#button_share_album").on(event_name, function(e) {
|
||
|
if (album.json.public==1) contextMenu.shareAlbum(album.getID(), e);
|
||
|
else modal.show("Share Album", "All photos inside this album will be public and visible for everyone. Existing public photos will have the same sharing permission as this album. Are your sure you want to share this album? <input class='text' type='password' placeholder='password (optional)' value=''>", [["Share Album", function() { album.setPublic(album.getID(), e) }], ["Cancel", function() {}]]);
|
||
|
});
|
||
11 years ago
|
$("#button_download").on(event_name, function() { photo.getArchive(photo.getID()) });
|
||
11 years ago
|
$("#button_trash_album").on(event_name, function() { album.delete([album.getID()]) });
|
||
11 years ago
|
$("#button_move").on(event_name, function(e) { contextMenu.move([photo.getID()], e) });
|
||
11 years ago
|
$("#button_trash").on(event_name, function() { photo.delete([photo.getID()]) });
|
||
11 years ago
|
$("#button_info_album").on(event_name, function() { view.infobox.show() });
|
||
|
$("#button_info").on(event_name, function() { view.infobox.show() });
|
||
|
$("#button_archive").on(event_name, function() { album.getArchive(album.getID()) });
|
||
11 years ago
|
$("#button_star").on(event_name, function() { photo.setStar([photo.getID()]) });
|
||
11 years ago
|
|
||
|
/* Search */
|
||
|
$("#search").on("keyup click", function() { search.find($(this).val()) });
|
||
11 years ago
|
|
||
11 years ago
|
/* Clear Search */
|
||
11 years ago
|
$("#clearSearch").on(event_name, function () {
|
||
11 years ago
|
$("#search").focus();
|
||
|
search.reset();
|
||
|
});
|
||
11 years ago
|
|
||
|
/* Back Buttons */
|
||
|
$("#button_back_home").on(event_name, function() { lychee.goto("") });
|
||
|
$("#button_back").on(event_name, function() { lychee.goto(album.getID()) });
|
||
|
|
||
|
/* Image View */
|
||
|
lychee.imageview
|
||
|
.on(event_name, ".arrow_wrapper.previous", function() {
|
||
|
if (album.json&&album.json.content[photo.getID()]&&album.json.content[photo.getID()].previousPhoto!=="") lychee.goto(album.getID() + "/" + album.json.content[photo.getID()].previousPhoto)
|
||
|
})
|
||
|
.on(event_name, ".arrow_wrapper.next", function() {
|
||
|
if (album.json&&album.json.content[photo.getID()]&&album.json.content[photo.getID()].nextPhoto!=="") lychee.goto(album.getID() + "/" + album.json.content[photo.getID()].nextPhoto)
|
||
|
});
|
||
|
|
||
|
/* Infobox */
|
||
|
$("#infobox")
|
||
|
.on(event_name, ".header a", function() { view.infobox.hide() })
|
||
11 years ago
|
.on(event_name, "#edit_title_album", function() { album.setTitle([album.getID()]) })
|
||
11 years ago
|
.on(event_name, "#edit_description_album", function() { album.setDescription(album.getID()) })
|
||
11 years ago
|
.on(event_name, "#edit_title", function() { photo.setTitle([photo.getID()]) })
|
||
11 years ago
|
.on(event_name, "#edit_description", function() { photo.setDescription(photo.getID()) })
|
||
|
.on(event_name, "#edit_tags", function() { photo.editTags([photo.getID()]) })
|
||
|
.on(event_name, "#tags .tag span", function() { photo.deleteTag(photo.getID(), $(this).data('index')) });
|
||
11 years ago
|
|
||
|
/* Keyboard */
|
||
|
Mousetrap
|
||
|
.bind('u', function() { $("#upload_files").click() })
|
||
|
.bind('s', function() { if (visible.photo()) $("#button_star").click() })
|
||
11 years ago
|
.bind('command+backspace', function() { if (visible.photo()&&!visible.message()) photo.delete([photo.getID()]) })
|
||
11 years ago
|
.bind('left', function() { if (visible.photo()) $("#imageview a#previous").click() })
|
||
|
.bind('right', function() { if (visible.photo()) $("#imageview a#next").click() })
|
||
|
.bind('i', function() {
|
||
|
if (visible.infobox()) view.infobox.hide();
|
||
|
else if (!visible.albums()) view.infobox.show();
|
||
|
});
|
||
|
|
||
|
Mousetrap.bindGlobal('enter', function() {
|
||
|
if ($(".message .button.active").length) $(".message .button.active").addClass("pressed").click()
|
||
|
});
|
||
|
|
||
|
Mousetrap.bindGlobal(['esc', 'command+up'], function(e) {
|
||
|
e.preventDefault();
|
||
|
if (visible.message()&&$(".message .close").length>0) modal.close();
|
||
|
else if (visible.contextMenu()) contextMenu.close();
|
||
|
else if (visible.infobox()) view.infobox.hide();
|
||
|
else if (visible.photo()) lychee.goto(album.getID());
|
||
|
else if (visible.album()) lychee.goto("");
|
||
|
else if (visible.albums()&&$("#search").val().length!==0) search.reset();
|
||
|
});
|
||
|
|
||
|
/* Document */
|
||
|
$(document)
|
||
|
|
||
|
/* Login */
|
||
|
.on("keyup", "#password", function() { if ($(this).val().length>0) $(this).removeClass("error") })
|
||
|
|
||
|
/* Header */
|
||
|
.on(event_name, "#title.editable", function() {
|
||
11 years ago
|
if (visible.photo()) photo.setTitle([photo.getID()]);
|
||
11 years ago
|
else album.setTitle([album.getID()]);
|
||
11 years ago
|
})
|
||
11 years ago
|
|
||
11 years ago
|
/* Navigation */
|
||
|
.on("click", ".album", function() { lychee.goto($(this).attr("data-id")) })
|
||
|
.on("click", ".photo", function() { lychee.goto(album.getID() + "/" + $(this).attr("data-id")) })
|
||
|
|
||
|
/* Modal */
|
||
|
.on(event_name, ".message .close", modal.close)
|
||
|
.on(event_name, ".message .button:first", function() { if (modal.fns!=null) modal.fns[0](); if (!visible.signin()) modal.close() })
|
||
|
.on(event_name, ".message .button:last", function() { if (modal.fns!=null) modal.fns[1](); if (!visible.signin()) modal.close() })
|
||
|
|
||
|
/* Add Dialog */
|
||
|
.on(event_name, ".button_add", function(e) { contextMenu.add(e) })
|
||
|
|
||
|
/* Upload */
|
||
|
.on("change", "#upload_files", function() { modal.close(); upload.start.local(this.files) })
|
||
|
|
||
|
/* Context Menu */
|
||
|
.on("contextmenu", ".photo", function(e) { contextMenu.photo(photo.getID(), e) })
|
||
|
.on("contextmenu", ".album", function(e) { contextMenu.album(album.getID(), e) })
|
||
|
.on(event_name, ".contextmenu_bg", contextMenu.close)
|
||
11 years ago
|
.on("contextmenu", ".contextmenu_bg", contextMenu.close)
|
||
11 years ago
|
|
||
|
/* Infobox */
|
||
|
.on(event_name, "#infobox_overlay", view.infobox.hide)
|
||
|
|
||
|
/* Upload */
|
||
|
.on("dragover", function(e) { e.preventDefault(); }, false)
|
||
|
.on("drop", function(e) {
|
||
|
e.stopPropagation();
|
||
|
e.preventDefault();
|
||
|
if (e.originalEvent.dataTransfer.files.length>0) upload.start.local(e.originalEvent.dataTransfer.files);
|
||
|
else if (e.originalEvent.dataTransfer.getData('Text').length>3) upload.start.url(e.originalEvent.dataTransfer.getData('Text'));
|
||
|
return true;
|
||
|
});
|
||
|
|
||
|
/* Init */
|
||
|
lychee.init();
|
||
|
|
||
|
});
|