Browse Source

Front-end rewrite #275

Tobias Reich 9 years ago
parent
commit
c849cf33a9

File diff suppressed because it is too large
+ 0 - 0
dist/main.js


+ 4 - 2
src/scripts/album.js

@@ -3,9 +3,11 @@
  * @copyright	2014 by Tobias Reich
  */
 
-album = {}
+album = {
 
-album.json = null;
+	json: null
+
+}
 
 album.getID = function() {
 

+ 4 - 2
src/scripts/albums.js

@@ -3,9 +3,11 @@
  * @copyright	2014 by Tobias Reich
  */
 
-albums = {}
+albums = {
 
-albums.json = null;
+	json: null
+
+}
 
 albums.load = function() {
 

+ 4 - 2
src/scripts/loadingBar.js

@@ -3,9 +3,11 @@
  * @copyright	2014 by Tobias Reich
  */
 
-loadingBar = {}
+loadingBar = {
 
-loadingBar.status = null;
+	status: null
+
+}
 
 loadingBar.show = function(status, errorText) {
 

+ 4 - 2
src/scripts/modal.js

@@ -3,9 +3,11 @@
  * @copyright	2014 by Tobias Reich
  */
 
-modal = {}
+modal = {
 
-modal.fns = null;
+	fns: null
+
+}
 
 modal.show = function(title, text, buttons, marginTop, closeButton) {
 

+ 4 - 2
src/scripts/password.js

@@ -3,9 +3,11 @@
  * @copyright   2014 by Tobias Reich
  */
 
-password = {}
+password = {
 
-password.value = '';
+	value: ''
+
+}
 
 password.get = function(albumID, callback) {
 

+ 5 - 3
src/scripts/photo.js

@@ -3,10 +3,12 @@
  * @copyright	2014 by Tobias Reich
  */
 
-photo = {}
+photo = {
 
-photo.json	= null;
-photo.cache	= null;
+	json:	null,
+	cache:	null
+
+}
 
 photo.getID = function() {
 

+ 4 - 2
src/scripts/search.js

@@ -3,9 +3,11 @@
  * @copyright	2014 by Tobias Reich
  */
 
-search = {}
+search = {
 
-search.code = null;
+	code: null
+
+}
 
 search.find = function(term) {
 

+ 199 - 200
src/scripts/settings.js

@@ -3,288 +3,287 @@
  * @copyright	2014 by Tobias Reich
  */
 
-var settings = {
+settings = {}
 
-	createConfig: function() {
+settings.createConfig = function() {
 
-		var dbName,
-			dbUser,
-			dbPassword,
-			dbHost,
-			dbTablePrefix,
-			buttons,
-			params;
+	var dbName,
+		dbUser,
+		dbPassword,
+		dbHost,
+		dbTablePrefix,
+		buttons,
+		params;
 
-		buttons = [
-			["Connect", function() {
+	buttons = [
+		['Connect', function() {
 
-				dbHost			= $(".message input.text#dbHost").val();
-				dbUser			= $(".message input.text#dbUser").val();
-				dbPassword		= $(".message input.text#dbPassword").val();
-				dbName			= $(".message input.text#dbName").val();
-				dbTablePrefix	= $(".message input.text#dbTablePrefix").val();
+			dbHost			= $('.message input.text#dbHost').val();
+			dbUser			= $('.message input.text#dbUser').val();
+			dbPassword		= $('.message input.text#dbPassword').val();
+			dbName			= $('.message input.text#dbName').val();
+			dbTablePrefix	= $('.message input.text#dbTablePrefix').val();
 
-				if (dbHost.length<1) dbHost = "localhost";
-				if (dbName.length<1) dbName = "lychee";
+			if (dbHost.length<1) dbHost = 'localhost';
+			if (dbName.length<1) dbName = 'lychee';
 
-				params = "dbCreateConfig&dbName=" + escape(dbName) + "&dbUser=" + escape(dbUser) + "&dbPassword=" + escape(dbPassword) + "&dbHost=" + escape(dbHost) + "&dbTablePrefix=" + escape(dbTablePrefix);
-				lychee.api(params, function(data) {
-
-					if (data!==true) {
-
-						// Configuration failed
-						setTimeout(function() {
+			params = 'dbCreateConfig&dbName=' + escape(dbName) + '&dbUser=' + escape(dbUser) + '&dbPassword=' + escape(dbPassword) + '&dbHost=' + escape(dbHost) + '&dbTablePrefix=' + escape(dbTablePrefix);
+			lychee.api(params, function(data) {
 
-							// Connection failed
-							if (data.indexOf("Warning: Connection failed!")!==-1) {
+				if (data!==true) {
 
-								buttons = [
-									["Retry", function() { setTimeout(settings.createConfig, 400) }],
-									["", function() {}]
-								];
-								modal.show("Connection Failed", "Unable to connect to host database because access was denied. Double-check your host, username and password and ensure that access from your current location is permitted.", buttons, null, false);
-								return false;
+					// Configuration failed
+					setTimeout(function() {
 
-							}
+						// Connection failed
+						if (data.indexOf('Warning: Connection failed!')!==-1) {
 
-							// Creation failed
-							if (data.indexOf("Warning: Creation failed!")!==-1) {
+							buttons = [
+								['Retry', function() { setTimeout(settings.createConfig, 400) }],
+								['', function() {}]
+							];
+							modal.show('Connection Failed', 'Unable to connect to host database because access was denied. Double-check your host, username and password and ensure that access from your current location is permitted.', buttons, null, false);
+							return false;
 
-								buttons = [
-									["Retry", function() { setTimeout(settings.createConfig, 400) }],
-									["", function() {}]
-								];
-								modal.show("Creation Failed", "Unable to create the database. Double-check your host, username and password and ensure that the specified user has the rights to modify and add content to the database.", buttons, null, false);
-								return false;
+						}
 
-							}
+						// Creation failed
+						if (data.indexOf('Warning: Creation failed!')!==-1) {
 
-							// Could not create file
-							if (data.indexOf("Warning: Could not create file!")!==-1) {
+							buttons = [
+								['Retry', function() { setTimeout(settings.createConfig, 400) }],
+								['', function() {}]
+							];
+							modal.show('Creation Failed', 'Unable to create the database. Double-check your host, username and password and ensure that the specified user has the rights to modify and add content to the database.', buttons, null, false);
+							return false;
 
-								buttons = [
-									["Retry", function() { setTimeout(settings.createConfig, 400) }],
-									["", function() {}]
-								];
-								modal.show("Saving Failed", "Unable to save this configuration. Permission denied in <b>'data/'</b>. Please set the read, write and execute rights for others in <b>'data/'</b> and <b>'uploads/'</b>. Take a look the readme for more information.", buttons, null, false);
-								return false;
+						}
 
-							}
+						// Could not create file
+						if (data.indexOf('Warning: Could not create file!')!==-1) {
 
-							// Something went wrong
 							buttons = [
-								["Retry", function() { setTimeout(settings.createConfig, 400) }],
-								["", function() {}]
+								['Retry', function() { setTimeout(settings.createConfig, 400) }],
+								['', function() {}]
 							];
-							modal.show("Configuration Failed", "Something unexpected happened. Please try again and check your installation and server. Take a look the readme for more information.", buttons, null, false);
+							modal.show('Saving Failed', "Unable to save this configuration. Permission denied in <b>'data/'</b>. Please set the read, write and execute rights for others in <b>'data/'</b> and <b>'uploads/'</b>. Take a look the readme for more information.", buttons, null, false);
 							return false;
 
-						}, 400);
+						}
 
-					} else {
+						// Something went wrong
+						buttons = [
+							['Retry', function() { setTimeout(settings.createConfig, 400) }],
+							['', function() {}]
+						];
+						modal.show('Configuration Failed', 'Something unexpected happened. Please try again and check your installation and server. Take a look the readme for more information.', buttons, null, false);
+						return false;
 
-						// Configuration successful
-						window.location.reload();
+					}, 400);
 
-					}
+				} else {
 
-				});
+					// Configuration successful
+					window.location.reload();
 
-			}],
-			["", function() {}]
-		];
+				}
 
-		modal.show("Configuration", "Enter your database connection details below: <input id='dbHost' class='text less' type='text' placeholder='Database Host (optional)' value=''><input id='dbUser' class='text less' type='text' placeholder='Database Username' value=''><input id='dbPassword' class='text more' type='password' placeholder='Database Password' value=''><br>Lychee will create its own database. If required, you can enter the name of an existing database instead:<input id='dbName' class='text less' type='text' placeholder='Database Name (optional)' value=''><input id='dbTablePrefix' class='text more' type='text' placeholder='Table prefix (optional)' value=''>", buttons, -235, false);
+			});
 
-	},
+		}],
+		['', function() {}]
+	];
 
-	createLogin: function() {
+	modal.show('Configuration', "Enter your database connection details below: <input id='dbHost' class='text less' type='text' placeholder='Database Host (optional)' value=''><input id='dbUser' class='text less' type='text' placeholder='Database Username' value=''><input id='dbPassword' class='text more' type='password' placeholder='Database Password' value=''><br>Lychee will create its own database. If required, you can enter the name of an existing database instead:<input id='dbName' class='text less' type='text' placeholder='Database Name (optional)' value=''><input id='dbTablePrefix' class='text more' type='text' placeholder='Table prefix (optional)' value=''>", buttons, -235, false);
 
-		var username,
-			password,
-			params,
-			buttons;
+}
 
-		buttons = [
-			["Create Login", function() {
+settings.createLogin = function() {
 
-				username = $(".message input.text#username").val();
-				password = $(".message input.text#password").val();
+	var username,
+		password,
+		params,
+		buttons;
 
-				if (username.length<1||password.length<1) {
+	buttons = [
+		['Create Login', function() {
 
-					setTimeout(function() {
+			username = $('.message input.text#username').val();
+			password = $('.message input.text#password').val();
 
-						buttons = [
-							["Retry", function() { setTimeout(settings.createLogin, 400) }],
-							["", function() {}]
-						];
-						modal.show("Wrong Input", "The username or password you entered is not long enough. Please try again with another username and password!", buttons, null, false);
-						return false;
+			if (username.length<1||password.length<1) {
 
-					}, 400);
+				setTimeout(function() {
 
-				} else {
+					buttons = [
+						['Retry', function() { setTimeout(settings.createLogin, 400) }],
+						['', function() {}]
+					];
+					modal.show('Wrong Input', 'The username or password you entered is not long enough. Please try again with another username and password!', buttons, null, false);
+					return false;
 
-					params = "setLogin&username=" + escape(username) + "&password=" + md5(password);
-					lychee.api(params, function(data) {
+				}, 400);
 
-						if (data!==true) {
+			} else {
 
-							setTimeout(function() {
+				params = 'setLogin&username=' + escape(username) + '&password=' + md5(password);
+				lychee.api(params, function(data) {
 
-								buttons = [
-									["Retry", function() { setTimeout(settings.createLogin, 400) }],
-									["", function() {}]
-								];
-								modal.show("Creation Failed", "Unable to save login. Please try again with another username and password!", buttons, null, false);
-								return false;
+					if (data!==true) {
 
-							}, 400);
+						setTimeout(function() {
 
-						}
+							buttons = [
+								['Retry', function() { setTimeout(settings.createLogin, 400) }],
+								['', function() {}]
+							];
+							modal.show('Creation Failed', 'Unable to save login. Please try again with another username and password!', buttons, null, false);
+							return false;
 
-					});
+						}, 400);
 
-				}
+					}
 
-			}],
-			["", function() {}]
-		];
+				});
 
-		modal.show("Create Login", "Enter a username and password for your installation: <input id='username' class='text less' type='text' placeholder='New Username' value=''><input id='password' class='text' type='password' placeholder='New Password' value=''>", buttons, -122, false);
+			}
 
-	},
+		}],
+		['', function() {}]
+	];
 
-	setLogin: function() {
+	modal.show('Create Login', "Enter a username and password for your installation: <input id='username' class='text less' type='text' placeholder='New Username' value=''><input id='password' class='text' type='password' placeholder='New Password' value=''>", buttons, -122, false);
 
-		var old_password,
-			username,
-			password,
-			params,
-			buttons;
+}
 
-		buttons = [
-			["Change Login", function() {
+settings.setLogin = function() {
 
-				old_password = $(".message input.text#old_password").val();
-				username = $(".message input.text#username").val();
-				password = $(".message input.text#password").val();
+	var old_password,
+		username,
+		password,
+		params,
+		buttons;
 
-				if (old_password.length<1) {
-					loadingBar.show("error", "Your old password was entered incorrectly. Please try again!");
-					return false;
-				}
+	buttons = [
+		['Change Login', function() {
 
-				if (username.length<1) {
-					loadingBar.show("error", "Your new username was entered incorrectly. Please try again!");
-					return false;
-				}
+			old_password	= $('.message input.text#old_password').val();
+			username		= $('.message input.text#username').val();
+			password		= $('.message input.text#password').val();
 
-				if (password.length<1) {
-					loadingBar.show("error", "Your new password was entered incorrectly. Please try again!");
-					return false;
-				}
+			if (old_password.length<1) {
+				loadingBar.show('error', 'Your old password was entered incorrectly. Please try again!');
+				return false;
+			}
 
-				params = "setLogin&oldPassword=" + md5(old_password) + "&username=" + escape(username) + "&password=" + md5(password);
-				lychee.api(params, function(data) {
+			if (username.length<1) {
+				loadingBar.show('error', 'Your new username was entered incorrectly. Please try again!');
+				return false;
+			}
 
-					if (data!==true) lychee.error(null, params, data);
+			if (password.length<1) {
+				loadingBar.show('error', 'Your new password was entered incorrectly. Please try again!');
+				return false;
+			}
 
-				});
+			params = 'setLogin&oldPassword=' + md5(old_password) + '&username=' + escape(username) + '&password=' + md5(password);
+			lychee.api(params, function(data) {
 
-			}],
-			["Cancel", function() {}]
-		];
+				if (data!==true) lychee.error(null, params, data);
 
-		modal.show("Change Login", "Enter your current password: <input id='old_password' class='text more' type='password' placeholder='Current Password' value=''><br>Your username and password will be changed to the following: <input id='username' class='text less' type='text' placeholder='New Username' value=''><input id='password' class='text' type='password' placeholder='New Password' value=''>", buttons, -171);
+			});
 
-	},
+		}],
+		['Cancel', function() {}]
+	];
 
-	setSorting: function() {
+	modal.show('Change Login', "Enter your current password: <input id='old_password' class='text more' type='password' placeholder='Current Password' value=''><br>Your username and password will be changed to the following: <input id='username' class='text less' type='text' placeholder='New Username' value=''><input id='password' class='text' type='password' placeholder='New Password' value=''>", buttons, -171);
 
-		var buttons,
-			sorting,
-			params;
+}
 
-		buttons = [
-			["Change Sorting", function() {
+settings.setSorting = function() {
 
-				sorting[0] = $("select#settings_type").val();
-				sorting[1] = $("select#settings_order").val();
+	var buttons,
+		sorting,
+		params;
 
-				albums.refresh();
+	buttons = [
+		['Change Sorting', function() {
 
-				params = "setSorting&type=" + sorting[0] + "&order=" + sorting[1];
-				lychee.api(params, function(data) {
+			sorting[0] = $('select#settings_type').val();
+			sorting[1] = $('select#settings_order').val();
 
-					if (data===true) {
-						lychee.sorting = "ORDER BY " + sorting[0] + " " + sorting[1];
-						lychee.load();
-					} else lychee.error(null, params, data);
+			albums.refresh();
 
-				});
+			params = 'setSorting&type=' + sorting[0] + '&order=' + sorting[1];
+			lychee.api(params, function(data) {
 
-			}],
-			["Cancel", function() {}]
-		];
-		modal.show("Change Sorting",
-			"Sort photos by \
-				<select id='settings_type'> \
-					<option value='id'>Upload Time</option> \
-					<option value='takestamp'>Take Date</option> \
-					<option value='title'>Title</option> \
-					<option value='description'>Description</option> \
-					<option value='public'>Public</option> \
-					<option value='star'>Star</option> \
-					<option value='type'>Photo Format</option> \
-				</select> \
-				in an \
-				<select id='settings_order'> \
-					<option value='ASC'>Ascending</option> \
-					<option value='DESC'>Descending</option> \
-				</select> \
-				order.\
-			", buttons);
+				if (data===true) {
+					lychee.sorting = 'ORDER BY ' + sorting[0] + ' ' + sorting[1];
+					lychee.load();
+				} else lychee.error(null, params, data);
 
-		if (lychee.sorting!=="") {
+			});
 
-			sorting = lychee.sorting.replace("ORDER BY ", "").split(" ");
+		}],
+		['Cancel', function() {}]
+	];
 
-			$("select#settings_type").val(sorting[0]);
-			$("select#settings_order").val(sorting[1]);
+	modal.show('Change Sorting',
+		"Sort photos by \
+			<select id='settings_type'> \
+				<option value='id'>Upload Time</option> \
+				<option value='takestamp'>Take Date</option> \
+				<option value='title'>Title</option> \
+				<option value='description'>Description</option> \
+				<option value='public'>Public</option> \
+				<option value='star'>Star</option> \
+				<option value='type'>Photo Format</option> \
+			</select> \
+			in an \
+			<select id='settings_order'> \
+				<option value='ASC'>Ascending</option> \
+				<option value='DESC'>Descending</option> \
+			</select> \
+			order.\
+		", buttons);
 
-		}
+	if (lychee.sorting!=='') {
 
-	},
+		sorting = lychee.sorting.replace('ORDER BY ', '').split(' ');
 
-	setDropboxKey: function(callback) {
+		$('select#settings_type').val(sorting[0]);
+		$('select#settings_order').val(sorting[1]);
 
-		var buttons,
-			params,
-			key;
+	}
 
-		buttons = [
-			["Set Key", function() {
+}
 
-				key = $(".message input.text#key").val();
+settings.setDropboxKey = function(callback) {
 
-				params = "setDropboxKey&key=" + key;
-				lychee.api(params, function(data) {
+	var buttons,
+		params,
+		key;
 
-					if (data===true) {
-						lychee.dropboxKey = key;
-						if (callback) lychee.loadDropbox(callback);
-					} else lychee.error(null, params, data);
+	buttons = [
+		['Set Key', function() {
 
-				});
+			key = $('.message input.text#key').val();
 
-			}],
-			["Cancel", function() {}]
-		];
+			params = 'setDropboxKey&key=' + key;
+			lychee.api(params, function(data) {
 
-		modal.show("Set Dropbox Key", "In order to import photos from your Dropbox, you need a valid drop-ins app key from <a href='https://www.dropbox.com/developers/apps/create'>their website</a>. Generate yourself a personal key and enter it below: <input id='key' class='text' type='text' placeholder='Dropbox API Key' value='" + lychee.dropboxKey + "'>", buttons);
+				if (data===true) {
+					lychee.dropboxKey = key;
+					if (callback) lychee.loadDropbox(callback);
+				} else lychee.error(null, params, data);
 
-	}
+			});
+
+		}],
+		['Cancel', function() {}]
+	];
+
+	modal.show('Set Dropbox Key', "In order to import photos from your Dropbox, you need a valid drop-ins app key from <a href='https://www.dropbox.com/developers/apps/create'>their website</a>. Generate yourself a personal key and enter it below: <input id='key' class='text' type='text' placeholder='Dropbox API Key' value='" + lychee.dropboxKey + "'>", buttons);
 
-};
+}

+ 11 - 11
src/scripts/visible.js

@@ -9,57 +9,57 @@ visible = {}
 
 visible.albums = function() {
 	if ($('#tools_albums').css('display')==='block') return true;
-	else return false;
+	return false;
 }
 
 visible.album = function() {
 	if ($('#tools_album').css('display')==='block') return true;
-	else return false;
+	return false;
 }
 
 visible.photo = function() {
 	if ($('#imageview.fadeIn').length>0) return true;
-	else return false;
+	return false;
 }
 
 visible.search = function() {
 	if (search.code!==null&&search.code!=='') return true;
-	else return false;
+	return false;
 }
 
 visible.infobox = function() {
 	if ($('#infobox.active').length>0) return true;
-	else return false;
+	return false;
 }
 
 visible.infoboxbutton = function() {
 	if (visible.albums()) return false;
 	if (visible.photo()) return true;
 	if (visible.album()&&$('#button_info_album:visible').length>0) return true;
-	else return false;
+	return false;
 }
 
 visible.controls = function() {
 	if (lychee.loadingBar.css('opacity')<1) return false;
-	else return true;
+	return true;
 }
 
 visible.message = function() {
 	if ($('.message').length>0) return true;
-	else return false;
+	return false;
 }
 
 visible.signin = function() {
 	if ($('.message .sign_in').length>0) return true;
-	else return false;
+	return false;
 }
 
 visible.contextMenu = function() {
 	if ($('.contextContainer').length>0) return true;
-	else return false;
+	return false;
 }
 
 visible.multiselect = function() {
 	if ($('#multiselect').length>0) return true;
-	else return false;
+	return false;
 }

Some files were not shown because too many files changed in this diff