|
@@ -3,373 +3,383 @@
|
|
|
* @copyright 2014 by Tobias Reich
|
|
|
*/
|
|
|
|
|
|
-var lychee = {
|
|
|
+lychee = {
|
|
|
|
|
|
- title: "",
|
|
|
- version: "2.7.0",
|
|
|
- version_code: "020700",
|
|
|
+ title: '',
|
|
|
+ version: '2.7.0',
|
|
|
+ version_code: '020700',
|
|
|
|
|
|
- api_path: "php/api.php",
|
|
|
- update_path: "http://lychee.electerious.com/version/index.php",
|
|
|
- updateURL: "https://github.com/electerious/Lychee",
|
|
|
- website: "http://lychee.electerious.com",
|
|
|
+ api_path: 'php/api.php',
|
|
|
+ update_path: 'http://lychee.electerious.com/version/index.php',
|
|
|
+ updateURL: 'https://github.com/electerious/Lychee',
|
|
|
+ website: 'http://lychee.electerious.com',
|
|
|
|
|
|
- publicMode: false,
|
|
|
- viewMode: false,
|
|
|
- debugMode: false,
|
|
|
+ publicMode: false,
|
|
|
+ viewMode: false,
|
|
|
+ debugMode: false,
|
|
|
|
|
|
- username: "",
|
|
|
- checkForUpdates: false,
|
|
|
- sorting: "",
|
|
|
- location: "",
|
|
|
+ checkForUpdates:false,
|
|
|
+ username: '',
|
|
|
+ sorting: '',
|
|
|
+ location: '',
|
|
|
|
|
|
- dropbox: false,
|
|
|
- dropboxKey: '',
|
|
|
+ dropbox: false,
|
|
|
+ dropboxKey: '',
|
|
|
|
|
|
- loadingBar: $("#loading"),
|
|
|
- header: $("header"),
|
|
|
- content: $("#content"),
|
|
|
- imageview: $("#imageview"),
|
|
|
- infobox: $("#infobox"),
|
|
|
+ loadingBar: $('#loading'),
|
|
|
+ header: $('header'),
|
|
|
+ content: $('#content'),
|
|
|
+ imageview: $('#imageview'),
|
|
|
+ infobox: $('#infobox')
|
|
|
|
|
|
- init: function() {
|
|
|
+}
|
|
|
|
|
|
- var params;
|
|
|
+lychee.init = function() {
|
|
|
|
|
|
- params = "init&version=" + lychee.version_code;
|
|
|
- lychee.api(params, function(data) {
|
|
|
+ var params;
|
|
|
|
|
|
- if (data.loggedIn!==true) {
|
|
|
- lychee.setMode("public");
|
|
|
- } else {
|
|
|
- lychee.username = data.config.username || '';
|
|
|
- lychee.sorting = data.config.sorting || '';
|
|
|
- lychee.dropboxKey = data.config.dropboxKey || '';
|
|
|
- lychee.location = data.config.location || '';
|
|
|
- }
|
|
|
+ params = 'init&version=' + lychee.version_code;
|
|
|
+ lychee.api(params, function(data) {
|
|
|
|
|
|
- // No configuration
|
|
|
- if (data==="Warning: No configuration!") {
|
|
|
- lychee.header.hide();
|
|
|
- lychee.content.hide();
|
|
|
- $("body").append(build.no_content("cog"));
|
|
|
- settings.createConfig();
|
|
|
- return true;
|
|
|
- }
|
|
|
+ if (data.loggedIn!==true) {
|
|
|
+ lychee.setMode('public');
|
|
|
+ } else {
|
|
|
+ lychee.username = data.config.username || '';
|
|
|
+ lychee.sorting = data.config.sorting || '';
|
|
|
+ lychee.dropboxKey = data.config.dropboxKey || '';
|
|
|
+ lychee.location = data.config.location || '';
|
|
|
+ }
|
|
|
|
|
|
- // No login
|
|
|
- if (data.config.login===false) {
|
|
|
- settings.createLogin();
|
|
|
- }
|
|
|
+ // No configuration
|
|
|
+ if (data==='Warning: No configuration!') {
|
|
|
+ lychee.header.hide();
|
|
|
+ lychee.content.hide();
|
|
|
+ $('body').append(build.no_content('cog'));
|
|
|
+ settings.createConfig();
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ // No login
|
|
|
+ if (data.config.login===false) {
|
|
|
+ settings.createLogin();
|
|
|
+ }
|
|
|
|
|
|
- lychee.checkForUpdates = data.config.checkForUpdates;
|
|
|
- $(window).bind("popstate", lychee.load);
|
|
|
- lychee.load();
|
|
|
+ lychee.checkForUpdates = data.config.checkForUpdates;
|
|
|
+ $(window).bind('popstate', lychee.load);
|
|
|
+ lychee.load();
|
|
|
|
|
|
- });
|
|
|
+ });
|
|
|
|
|
|
- },
|
|
|
+}
|
|
|
|
|
|
- api: function(params, callback, loading) {
|
|
|
+lychee.api = function(params, callback) {
|
|
|
|
|
|
- if (loading===undefined) loadingBar.show();
|
|
|
+ loadingBar.show();
|
|
|
|
|
|
- $.ajax({
|
|
|
- type: "POST",
|
|
|
- url: lychee.api_path,
|
|
|
- data: "function=" + params,
|
|
|
- dataType: "text",
|
|
|
- success: function(data) {
|
|
|
+ $.ajax({
|
|
|
+ type: 'POST',
|
|
|
+ url: lychee.api_path,
|
|
|
+ data: 'function=' + params,
|
|
|
+ dataType: 'text',
|
|
|
+ success: function(data) {
|
|
|
|
|
|
- setTimeout(function() { loadingBar.hide() }, 100);
|
|
|
+ setTimeout(function() { loadingBar.hide() }, 100);
|
|
|
|
|
|
- if (typeof data==="string"&&data.substring(0, 7)==="Error: ") {
|
|
|
+ // Catch errors
|
|
|
+ if (typeof data==='string'&&
|
|
|
+ data.substring(0, 7)==='Error: ') {
|
|
|
lychee.error(data.substring(7, data.length), params, data);
|
|
|
upload.close(true);
|
|
|
return false;
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
- if (data==="1") data = true;
|
|
|
- else if (data==="") data = false;
|
|
|
+ // Convert 1 to true and an empty string to false
|
|
|
+ if (data==='1') data = true;
|
|
|
+ else if (data==='') data = false;
|
|
|
|
|
|
- if (typeof data==="string"&&data.substring(0, 1)==="{"&&data.substring(data.length-1, data.length)==="}") data = $.parseJSON(data);
|
|
|
+ // Convert to JSON if string start with '{' and ends with '}'
|
|
|
+ if (typeof data==='string'&&
|
|
|
+ data.substring(0, 1)==='{'&&
|
|
|
+ data.substring(data.length-1, data.length)==='}') data = $.parseJSON(data);
|
|
|
|
|
|
- if (lychee.debugMode) console.log(data);
|
|
|
+ // Output response when debug mode is enabled
|
|
|
+ if (lychee.debugMode) console.log(data);
|
|
|
|
|
|
- callback(data);
|
|
|
+ callback(data);
|
|
|
|
|
|
- },
|
|
|
- error: function(jqXHR, textStatus, errorThrown) {
|
|
|
+ },
|
|
|
+ error: function(jqXHR, textStatus, errorThrown) {
|
|
|
|
|
|
- lychee.error("Server error or API not found.", params, errorThrown);
|
|
|
- upload.close(true);
|
|
|
+ lychee.error('Server error or API not found.', params, errorThrown);
|
|
|
+ upload.close(true);
|
|
|
|
|
|
- }
|
|
|
- });
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+}
|
|
|
|
|
|
- },
|
|
|
+lychee.login = function() {
|
|
|
|
|
|
- login: function() {
|
|
|
+ var user = $('input#username').val(),
|
|
|
+ password = md5($('input#password').val()),
|
|
|
+ params;
|
|
|
|
|
|
- var user = $("input#username").val(),
|
|
|
- password = md5($("input#password").val()),
|
|
|
- params;
|
|
|
+ params = 'login&user=' + user + '&password=' + password;
|
|
|
+ lychee.api(params, function(data) {
|
|
|
|
|
|
- params = "login&user=" + user + "&password=" + password;
|
|
|
- lychee.api(params, function(data) {
|
|
|
+ if (data===true) {
|
|
|
|
|
|
- if (data===true) {
|
|
|
+ // Use 'try' to catch a thrown error when Safari is in private mode
|
|
|
+ try { localStorage.setItem('lychee_username', user); }
|
|
|
+ catch (err) {}
|
|
|
|
|
|
- // Use 'try' to catch a thrown error when Safari is in private mode
|
|
|
- try { localStorage.setItem("lychee_username", user); }
|
|
|
- catch (err) {}
|
|
|
+ window.location.reload();
|
|
|
|
|
|
- window.location.reload();
|
|
|
+ } else {
|
|
|
|
|
|
- } else {
|
|
|
+ // Show error and reactive button
|
|
|
+ $('#password').val('').addClass('error').focus();
|
|
|
+ $('.message .button.active').removeClass('pressed');
|
|
|
|
|
|
- // Show error and reactive button
|
|
|
- $("#password").val("").addClass("error").focus();
|
|
|
- $(".message .button.active").removeClass("pressed");
|
|
|
+ }
|
|
|
|
|
|
- }
|
|
|
+ });
|
|
|
|
|
|
- });
|
|
|
+}
|
|
|
|
|
|
- },
|
|
|
+lychee.loginDialog = function() {
|
|
|
|
|
|
- loginDialog: function() {
|
|
|
+ var local_username;
|
|
|
|
|
|
- var local_username;
|
|
|
+ $('body').append(build.signInModal());
|
|
|
+ $('#username').focus();
|
|
|
|
|
|
- $("body").append(build.signInModal());
|
|
|
- $("#username").focus();
|
|
|
- if (localStorage) {
|
|
|
- local_username = localStorage.getItem("lychee_username");
|
|
|
- if (local_username!==null) {
|
|
|
- if (local_username.length>0) $("#username").val(local_username);
|
|
|
- $("#password").focus();
|
|
|
- }
|
|
|
+ if (localStorage) {
|
|
|
+ local_username = localStorage.getItem('lychee_username');
|
|
|
+ if (local_username!==null) {
|
|
|
+ if (local_username.length>0) $('#username').val(local_username);
|
|
|
+ $('#password').focus();
|
|
|
}
|
|
|
- if (lychee.checkForUpdates==="1") lychee.getUpdate();
|
|
|
+ }
|
|
|
|
|
|
- },
|
|
|
+ if (lychee.checkForUpdates==='1') lychee.getUpdate();
|
|
|
|
|
|
- logout: function() {
|
|
|
+}
|
|
|
|
|
|
- lychee.api("logout", function() {
|
|
|
- window.location.reload();
|
|
|
- });
|
|
|
+lychee.logout = function() {
|
|
|
|
|
|
- },
|
|
|
+ lychee.api('logout', function() {
|
|
|
+ window.location.reload();
|
|
|
+ });
|
|
|
|
|
|
- goto: function(url) {
|
|
|
+}
|
|
|
|
|
|
- if (url===undefined) url = "#";
|
|
|
- else url = "#" + url;
|
|
|
+lychee.goto = function(url) {
|
|
|
|
|
|
- history.pushState(null, null, url);
|
|
|
- lychee.load();
|
|
|
+ if (url===undefined) url = '#';
|
|
|
+ else url = '#' + url;
|
|
|
|
|
|
- },
|
|
|
+ history.pushState(null, null, url);
|
|
|
+ lychee.load();
|
|
|
|
|
|
- load: function() {
|
|
|
+}
|
|
|
|
|
|
- var albumID = "",
|
|
|
- photoID = "",
|
|
|
- hash = document.location.hash.replace("#", "").split("/");
|
|
|
+lychee.load = function() {
|
|
|
|
|
|
- $(".no_content").remove();
|
|
|
- contextMenu.close();
|
|
|
- multiselect.close();
|
|
|
+ var albumID = '',
|
|
|
+ photoID = '',
|
|
|
+ hash = document.location.hash.replace('#', '').split('/');
|
|
|
|
|
|
- if (hash[0]!==undefined) albumID = hash[0];
|
|
|
- if (hash[1]!==undefined) photoID = hash[1];
|
|
|
+ $('.no_content').remove();
|
|
|
+ contextMenu.close();
|
|
|
+ multiselect.close();
|
|
|
|
|
|
- if (albumID&&photoID) {
|
|
|
+ if (hash[0]!==undefined) albumID = hash[0];
|
|
|
+ if (hash[1]!==undefined) photoID = hash[1];
|
|
|
|
|
|
- // Trash data
|
|
|
- photo.json = null;
|
|
|
+ if (albumID&&photoID) {
|
|
|
|
|
|
- // Show Photo
|
|
|
- if (lychee.content.html()===""||($("#search").length&&$("#search").val().length!==0)) {
|
|
|
+ // Trash data
|
|
|
+ photo.json = null;
|
|
|
+
|
|
|
+ // Show Photo
|
|
|
+ if (lychee.content.html()===''||
|
|
|
+ ($('#search').length&&$('#search').val().length!==0)) {
|
|
|
lychee.content.hide();
|
|
|
album.load(albumID, true);
|
|
|
- }
|
|
|
- photo.load(photoID, albumID);
|
|
|
+ }
|
|
|
+ photo.load(photoID, albumID);
|
|
|
|
|
|
- } else if (albumID) {
|
|
|
+ } else if (albumID) {
|
|
|
|
|
|
- // Trash data
|
|
|
- photo.json = null;
|
|
|
+ // Trash data
|
|
|
+ photo.json = null;
|
|
|
|
|
|
- // Show Album
|
|
|
- if (visible.photo()) view.photo.hide();
|
|
|
- if (album.json&&albumID==album.json.id) view.album.title();
|
|
|
- else album.load(albumID);
|
|
|
+ // Show Album
|
|
|
+ if (visible.photo()) view.photo.hide();
|
|
|
+ if (album.json&&albumID==album.json.id) view.album.title();
|
|
|
+ else album.load(albumID);
|
|
|
|
|
|
- } else {
|
|
|
+ } else {
|
|
|
|
|
|
- // Trash data
|
|
|
- album.json = null;
|
|
|
- photo.json = null;
|
|
|
- search.code = "";
|
|
|
+ // Trash data
|
|
|
+ album.json = null;
|
|
|
+ photo.json = null;
|
|
|
+ search.code = '';
|
|
|
|
|
|
- // Show Albums
|
|
|
- if (visible.album()) view.album.hide();
|
|
|
- if (visible.photo()) view.photo.hide();
|
|
|
- albums.load();
|
|
|
+ // Show Albums
|
|
|
+ if (visible.album()) view.album.hide();
|
|
|
+ if (visible.photo()) view.photo.hide();
|
|
|
+ albums.load();
|
|
|
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
- },
|
|
|
+}
|
|
|
|
|
|
- getUpdate: function() {
|
|
|
+lychee.getUpdate = function() {
|
|
|
|
|
|
- $.ajax({
|
|
|
- url: lychee.update_path,
|
|
|
- success: function(data) { if (parseInt(data)>parseInt(lychee.version_code)) $("#version span").show(); }
|
|
|
- });
|
|
|
+ $.ajax({
|
|
|
+ url: lychee.update_path,
|
|
|
+ success: function(data) { if (parseInt(data)>parseInt(lychee.version_code)) $('#version span').show(); }
|
|
|
+ });
|
|
|
|
|
|
- },
|
|
|
+}
|
|
|
|
|
|
- setTitle: function(title, editable) {
|
|
|
+lychee.setTitle = function(title, editable) {
|
|
|
|
|
|
- if (lychee.title==="") lychee.title = document.title;
|
|
|
+ if (lychee.title==='') lychee.title = document.title;
|
|
|
|
|
|
- if (title==="Albums") document.title = lychee.title;
|
|
|
- else document.title = lychee.title + " - " + title;
|
|
|
+ if (title==='Albums') document.title = lychee.title;
|
|
|
+ else document.title = lychee.title + ' - ' + title;
|
|
|
|
|
|
- if (editable) $("#title").addClass("editable");
|
|
|
- else $("#title").removeClass("editable");
|
|
|
+ if (editable) $('#title').addClass('editable');
|
|
|
+ else $('#title').removeClass('editable');
|
|
|
|
|
|
- $("#title").html(title);
|
|
|
+ $('#title').html(title);
|
|
|
|
|
|
- },
|
|
|
+}
|
|
|
|
|
|
- setMode: function(mode) {
|
|
|
+lychee.setMode = function(mode) {
|
|
|
|
|
|
- $("#button_settings, #button_settings, #button_search, #search, #button_trash_album, #button_share_album, .button_add, .button_divider").remove();
|
|
|
- $("#button_trash, #button_move, #button_share, #button_star").remove();
|
|
|
+ $('#button_settings, #button_settings, #button_search, #search, #button_trash_album, #button_share_album, .button_add, .button_divider').remove();
|
|
|
+ $('#button_trash, #button_move, #button_share, #button_star').remove();
|
|
|
|
|
|
- $(document)
|
|
|
- .on("mouseenter", "#title.editable", function() { $(this).removeClass("editable") })
|
|
|
- .off("click", "#title.editable")
|
|
|
- .off("touchend", "#title.editable")
|
|
|
- .off("contextmenu", ".photo")
|
|
|
- .off("contextmenu", ".album")
|
|
|
- .off("drop");
|
|
|
+ $(document)
|
|
|
+ .on('mouseenter', '#title.editable', function() { $(this).removeClass('editable') })
|
|
|
+ .off('click', '#title.editable')
|
|
|
+ .off('touchend', '#title.editable')
|
|
|
+ .off('contextmenu', '.photo')
|
|
|
+ .off('contextmenu', '.album')
|
|
|
+ .off('drop');
|
|
|
|
|
|
- Mousetrap
|
|
|
- .unbind(['u', 'ctrl+u'])
|
|
|
- .unbind(['s', 'ctrl+s'])
|
|
|
- .unbind(['r', 'ctrl+r'])
|
|
|
- .unbind(['d', 'ctrl+d'])
|
|
|
- .unbind(['t', 'ctrl+t'])
|
|
|
- .unbind(['command+backspace', 'ctrl+backspace']);
|
|
|
+ Mousetrap
|
|
|
+ .unbind(['u', 'ctrl+u'])
|
|
|
+ .unbind(['s', 'ctrl+s'])
|
|
|
+ .unbind(['r', 'ctrl+r'])
|
|
|
+ .unbind(['d', 'ctrl+d'])
|
|
|
+ .unbind(['t', 'ctrl+t'])
|
|
|
+ .unbind(['command+backspace', 'ctrl+backspace']);
|
|
|
|
|
|
- if (mode==="public") {
|
|
|
+ if (mode==='public') {
|
|
|
|
|
|
- $("header #button_signin, header #hostedwith").show();
|
|
|
- lychee.publicMode = true;
|
|
|
+ $('header #button_signin, header #hostedwith').show();
|
|
|
+ lychee.publicMode = true;
|
|
|
|
|
|
- } else if (mode==="view") {
|
|
|
+ } else if (mode==='view') {
|
|
|
|
|
|
- Mousetrap.unbind('esc');
|
|
|
- $("#button_back, a#next, a#previous").remove();
|
|
|
- $(".no_content").remove();
|
|
|
+ Mousetrap.unbind('esc');
|
|
|
+ $('#button_back, a#next, a#previous').remove();
|
|
|
+ $('.no_content').remove();
|
|
|
|
|
|
- lychee.publicMode = true;
|
|
|
- lychee.viewMode = true;
|
|
|
+ lychee.publicMode = true;
|
|
|
+ lychee.viewMode = true;
|
|
|
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
- },
|
|
|
+}
|
|
|
|
|
|
- animate: function(obj, animation) {
|
|
|
+lychee.animate = function(obj, animation) {
|
|
|
|
|
|
- var animations = [
|
|
|
- ["fadeIn", "fadeOut"],
|
|
|
- ["contentZoomIn", "contentZoomOut"]
|
|
|
- ];
|
|
|
+ var animations = [
|
|
|
+ ['fadeIn', 'fadeOut'],
|
|
|
+ ['contentZoomIn', 'contentZoomOut']
|
|
|
+ ];
|
|
|
|
|
|
- if (!obj.jQuery) obj = $(obj);
|
|
|
+ if (!obj.jQuery) obj = $(obj);
|
|
|
|
|
|
- for (var i = 0; i < animations.length; i++) {
|
|
|
- for (var x = 0; x < animations[i].length; x++) {
|
|
|
- if (animations[i][x]==animation) {
|
|
|
- obj.removeClass(animations[i][0] + " " + animations[i][1]).addClass(animation);
|
|
|
- return true;
|
|
|
- }
|
|
|
+ for (var i = 0; i < animations.length; i++) {
|
|
|
+ for (var x = 0; x < animations[i].length; x++) {
|
|
|
+ if (animations[i][x]==animation) {
|
|
|
+ obj.removeClass(animations[i][0] + ' ' + animations[i][1]).addClass(animation);
|
|
|
+ return true;
|
|
|
}
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- return false;
|
|
|
-
|
|
|
- },
|
|
|
-
|
|
|
- escapeHTML: function(s) {
|
|
|
+ return false;
|
|
|
|
|
|
- return s.replace(/&/g, '&')
|
|
|
- .replace(/"/g, '"')
|
|
|
- .replace(/</g, '<')
|
|
|
- .replace(/>/g, '>');
|
|
|
+}
|
|
|
|
|
|
- },
|
|
|
+lychee.escapeHTML = function(s) {
|
|
|
|
|
|
- loadDropbox: function(callback) {
|
|
|
+ return s.replace(/&/g, '&')
|
|
|
+ .replace(/"/g, '"')
|
|
|
+ .replace(/</g, '<')
|
|
|
+ .replace(/>/g, '>');
|
|
|
|
|
|
- if (!lychee.dropbox&&lychee.dropboxKey) {
|
|
|
+}
|
|
|
|
|
|
- loadingBar.show();
|
|
|
+lychee.loadDropbox = function(callback) {
|
|
|
|
|
|
- var g = document.createElement("script"),
|
|
|
- s = document.getElementsByTagName("script")[0];
|
|
|
+ if (!lychee.dropbox&&lychee.dropboxKey) {
|
|
|
|
|
|
- g.src = "https://www.dropbox.com/static/api/1/dropins.js";
|
|
|
- g.id = "dropboxjs";
|
|
|
- g.type = "text/javascript";
|
|
|
- g.async = "true";
|
|
|
- g.setAttribute("data-app-key", lychee.dropboxKey);
|
|
|
- g.onload = g.onreadystatechange = function() {
|
|
|
- var rs = this.readyState;
|
|
|
- if (rs&&rs!=="complete"&&rs!=="loaded") return;
|
|
|
- lychee.dropbox = true;
|
|
|
- loadingBar.hide();
|
|
|
- callback();
|
|
|
- };
|
|
|
- s.parentNode.insertBefore(g, s);
|
|
|
+ loadingBar.show();
|
|
|
|
|
|
- } else if (lychee.dropbox&&lychee.dropboxKey) {
|
|
|
+ var g = document.createElement('script'),
|
|
|
+ s = document.getElementsByTagName('script')[0];
|
|
|
|
|
|
+ g.src = 'https://www.dropbox.com/static/api/1/dropins.js';
|
|
|
+ g.id = 'dropboxjs';
|
|
|
+ g.type = 'text/javascript';
|
|
|
+ g.async = 'true';
|
|
|
+ g.setAttribute('data-app-key', lychee.dropboxKey);
|
|
|
+ g.onload = g.onreadystatechange = function() {
|
|
|
+ var rs = this.readyState;
|
|
|
+ if (rs&&rs!=='complete'&&rs!=='loaded') return;
|
|
|
+ lychee.dropbox = true;
|
|
|
+ loadingBar.hide();
|
|
|
callback();
|
|
|
+ };
|
|
|
+ s.parentNode.insertBefore(g, s);
|
|
|
|
|
|
- } else {
|
|
|
+ } else if (lychee.dropbox&&lychee.dropboxKey) {
|
|
|
|
|
|
- settings.setDropboxKey(callback);
|
|
|
+ callback();
|
|
|
|
|
|
- }
|
|
|
+ } else {
|
|
|
|
|
|
- },
|
|
|
+ settings.setDropboxKey(callback);
|
|
|
|
|
|
- removeHTML: function(html) {
|
|
|
+ }
|
|
|
|
|
|
- var tmp = document.createElement("DIV");
|
|
|
- tmp.innerHTML = html;
|
|
|
- return tmp.textContent || tmp.innerText;
|
|
|
+}
|
|
|
|
|
|
- },
|
|
|
+lychee.removeHTML = function(html) {
|
|
|
|
|
|
- error: function(errorThrown, params, data) {
|
|
|
+ var tmp = document.createElement('DIV');
|
|
|
+ tmp.innerHTML = html;
|
|
|
+ return tmp.textContent || tmp.innerText;
|
|
|
|
|
|
- console.error({
|
|
|
- description: errorThrown,
|
|
|
- params: params,
|
|
|
- response: data
|
|
|
- });
|
|
|
+}
|
|
|
|
|
|
- loadingBar.show("error", errorThrown);
|
|
|
+lychee.error = function(errorThrown, params, data) {
|
|
|
|
|
|
- }
|
|
|
+ console.error({
|
|
|
+ description: errorThrown,
|
|
|
+ params: params,
|
|
|
+ response: data
|
|
|
+ });
|
|
|
+
|
|
|
+ loadingBar.show('error', errorThrown);
|
|
|
|
|
|
-};
|
|
|
+}
|