|
@@ -7,8 +7,8 @@ sidebar = {
|
|
|
|
|
|
_dom: $('#sidebar'),
|
|
|
types: {
|
|
|
- DEFAULT: 0,
|
|
|
- TAGS: 1
|
|
|
+ DEFAULT : 0,
|
|
|
+ TAGS : 1
|
|
|
},
|
|
|
createStructure: {}
|
|
|
|
|
@@ -16,8 +16,9 @@ sidebar = {
|
|
|
|
|
|
sidebar.dom = function(selector) {
|
|
|
|
|
|
- if (selector===undefined||selector===null||selector==='') return sidebar._dom;
|
|
|
- return sidebar._dom.find(selector);
|
|
|
+ if (selector==null || selector==='') return sidebar._dom
|
|
|
+
|
|
|
+ return sidebar._dom.find(selector)
|
|
|
|
|
|
}
|
|
|
|
|
@@ -29,56 +30,55 @@ sidebar.bind = function() {
|
|
|
// event handlers should be removed before binding a new one.
|
|
|
|
|
|
// Event Name
|
|
|
- var eventName = ('ontouchend' in document.documentElement) ? 'touchend' : 'click';
|
|
|
+ let eventName = ('ontouchend' in document.documentElement) ? 'touchend' : 'click'
|
|
|
|
|
|
sidebar
|
|
|
.dom('#edit_title')
|
|
|
.off(eventName)
|
|
|
.on(eventName, function() {
|
|
|
- if (visible.photo()) photo.setTitle([photo.getID()]);
|
|
|
- else if (visible.album()) album.setTitle([album.getID()]);
|
|
|
- });
|
|
|
+ if (visible.photo()) photo.setTitle([photo.getID()])
|
|
|
+ else if (visible.album()) album.setTitle([album.getID()])
|
|
|
+ })
|
|
|
|
|
|
sidebar
|
|
|
.dom('#edit_description')
|
|
|
.off(eventName)
|
|
|
.on(eventName, function() {
|
|
|
- if (visible.photo()) photo.setDescription(photo.getID());
|
|
|
- else if (visible.album()) album.setDescription(album.getID());
|
|
|
- });
|
|
|
+ if (visible.photo()) photo.setDescription(photo.getID())
|
|
|
+ else if (visible.album()) album.setDescription(album.getID())
|
|
|
+ })
|
|
|
|
|
|
sidebar
|
|
|
.dom('#edit_tags')
|
|
|
.off(eventName)
|
|
|
.on(eventName, function() {
|
|
|
photo.editTags([photo.getID()])
|
|
|
- });
|
|
|
+ })
|
|
|
|
|
|
sidebar
|
|
|
.dom('#tags .tag span')
|
|
|
.off(eventName)
|
|
|
.on(eventName, function() {
|
|
|
photo.deleteTag(photo.getID(), $(this).data('index'))
|
|
|
- });
|
|
|
+ })
|
|
|
|
|
|
- return true;
|
|
|
+ return true
|
|
|
|
|
|
}
|
|
|
|
|
|
sidebar.toggle = function() {
|
|
|
|
|
|
- if (visible.sidebar()||
|
|
|
- visible.sidebarbutton()) {
|
|
|
+ if (visible.sidebar() || visible.sidebarbutton()) {
|
|
|
|
|
|
- header.dom('.button--info').toggleClass('active');
|
|
|
- lychee.content.toggleClass('sidebar');
|
|
|
- sidebar.dom().toggleClass('active');
|
|
|
+ header.dom('.button--info').toggleClass('active')
|
|
|
+ lychee.content.toggleClass('sidebar')
|
|
|
+ sidebar.dom().toggleClass('active')
|
|
|
|
|
|
- return true;
|
|
|
+ return true
|
|
|
|
|
|
}
|
|
|
|
|
|
- return false;
|
|
|
+ return false
|
|
|
|
|
|
}
|
|
|
|
|
@@ -88,67 +88,67 @@ sidebar.setSelectable = function(selectable = true) {
|
|
|
// Selection needs to be deactivated to prevent an unwanted selection
|
|
|
// while using multiselect.
|
|
|
|
|
|
- if (selectable===true) sidebar.dom().removeClass('notSelectable');
|
|
|
- else sidebar.dom().addClass('notSelectable');
|
|
|
+ if (selectable===true) sidebar.dom().removeClass('notSelectable')
|
|
|
+ else sidebar.dom().addClass('notSelectable')
|
|
|
|
|
|
}
|
|
|
|
|
|
sidebar.changeAttr = function(attr, value = '-') {
|
|
|
|
|
|
- if (attr===undefined||attr===null||attr==='') return false;
|
|
|
+ if (attr==null || attr==='') return false
|
|
|
|
|
|
// Set a default for the value
|
|
|
- if (value===''||value===null) value = '-';
|
|
|
+ if (value==null || value==='') value = '-'
|
|
|
|
|
|
- sidebar.dom('.attr_' + attr).html(value);
|
|
|
+ sidebar.dom('.attr_' + attr).html(value)
|
|
|
|
|
|
- return true;
|
|
|
+ return true
|
|
|
|
|
|
}
|
|
|
|
|
|
sidebar.createStructure.photo = function(data) {
|
|
|
|
|
|
- if (data===undefined||data===null||data==='') return false;
|
|
|
+ if (data==null || data==='') return false
|
|
|
|
|
|
- var editable = false,
|
|
|
- exifHash = data.takestamp + data.make + data.model + data.shutter + data.aperture + data.focal + data.iso,
|
|
|
- structure = {},
|
|
|
- _public = '';
|
|
|
+ let editable = false,
|
|
|
+ exifHash = data.takestamp + data.make + data.model + data.shutter + data.aperture + data.focal + data.iso,
|
|
|
+ structure = {},
|
|
|
+ _public = ''
|
|
|
|
|
|
// Enable editable when user logged in
|
|
|
- if (lychee.publicMode===false) editable = true;
|
|
|
+ if (lychee.publicMode===false) editable = true
|
|
|
|
|
|
// Set value for public
|
|
|
switch (data.public) {
|
|
|
|
|
|
- case '0': _public = 'No';
|
|
|
- break;
|
|
|
- case '1': _public = 'Yes';
|
|
|
- break;
|
|
|
- case '2': _public = 'Yes (Album)';
|
|
|
- break;
|
|
|
- default: _public = '-';
|
|
|
- break;
|
|
|
+ case '0' : _public = 'No'
|
|
|
+ break
|
|
|
+ case '1' : _public = 'Yes'
|
|
|
+ break
|
|
|
+ case '2' : _public = 'Yes (Album)'
|
|
|
+ break
|
|
|
+ default : _public = '-'
|
|
|
+ break
|
|
|
|
|
|
}
|
|
|
|
|
|
structure.basics = {
|
|
|
- title: 'Basics',
|
|
|
- type: sidebar.types.DEFAULT,
|
|
|
- rows: [
|
|
|
- { title: 'Title', value: data.title, editable },
|
|
|
- { title: 'Uploaded', value: data.sysdate },
|
|
|
- { title: 'Description', value: data.description, editable },
|
|
|
+ title : 'Basics',
|
|
|
+ type : sidebar.types.DEFAULT,
|
|
|
+ rows : [
|
|
|
+ { title: 'Title', value: data.title, editable },
|
|
|
+ { title: 'Uploaded', value: data.sysdate },
|
|
|
+ { title: 'Description', value: data.description, editable }
|
|
|
]
|
|
|
}
|
|
|
|
|
|
structure.image = {
|
|
|
- title: 'Image',
|
|
|
- type: sidebar.types.DEFAULT,
|
|
|
- rows: [
|
|
|
- { title: 'Size', value: data.size },
|
|
|
- { title: 'Format', value: data.type },
|
|
|
- { title: 'Resolution', value: data.width + ' x ' + data.height }
|
|
|
+ title : 'Image',
|
|
|
+ type : sidebar.types.DEFAULT,
|
|
|
+ rows : [
|
|
|
+ { title: 'Size', value: data.size },
|
|
|
+ { title: 'Format', value: data.type },
|
|
|
+ { title: 'Resolution', value: data.width + ' x ' + data.height }
|
|
|
]
|
|
|
}
|
|
|
|
|
@@ -156,9 +156,9 @@ sidebar.createStructure.photo = function(data) {
|
|
|
if (lychee.publicMode===false) {
|
|
|
|
|
|
structure.tags = {
|
|
|
- title: 'Tags',
|
|
|
- type: sidebar.types.TAGS,
|
|
|
- value: build.tags(data.tags),
|
|
|
+ title : 'Tags',
|
|
|
+ type : sidebar.types.TAGS,
|
|
|
+ value : build.tags(data.tags),
|
|
|
editable
|
|
|
}
|
|
|
|
|
@@ -172,16 +172,16 @@ sidebar.createStructure.photo = function(data) {
|
|
|
if (exifHash!=='0') {
|
|
|
|
|
|
structure.exif = {
|
|
|
- title: 'Camera',
|
|
|
- type: sidebar.types.DEFAULT,
|
|
|
- rows: [
|
|
|
- { title: 'Captured', value: data.takedate },
|
|
|
- { title: 'Make', value: data.make },
|
|
|
- { title: 'Type/Model', value: data.model },
|
|
|
- { title: 'Shutter Speed', value: data.shutter },
|
|
|
- { title: 'Aperture', value: data.aperture },
|
|
|
- { title: 'Focal Length', value: data.focal },
|
|
|
- { title: 'ISO', value: data.iso }
|
|
|
+ title : 'Camera',
|
|
|
+ type : sidebar.types.DEFAULT,
|
|
|
+ rows : [
|
|
|
+ { title: 'Captured', value: data.takedate },
|
|
|
+ { title: 'Make', value: data.make },
|
|
|
+ { title: 'Type/Model', value: data.model },
|
|
|
+ { title: 'Shutter Speed', value: data.shutter },
|
|
|
+ { title: 'Aperture', value: data.aperture },
|
|
|
+ { title: 'Focal Length', value: data.focal },
|
|
|
+ { title: 'ISO', value: data.iso }
|
|
|
]
|
|
|
}
|
|
|
|
|
@@ -192,10 +192,10 @@ sidebar.createStructure.photo = function(data) {
|
|
|
}
|
|
|
|
|
|
structure.sharing = {
|
|
|
- title: 'Sharing',
|
|
|
- type: sidebar.types.DEFAULT,
|
|
|
- rows: [
|
|
|
- { title: 'Public', value: _public },
|
|
|
+ title : 'Sharing',
|
|
|
+ type : sidebar.types.DEFAULT,
|
|
|
+ rows : [
|
|
|
+ { title: 'Public', value: _public }
|
|
|
]
|
|
|
}
|
|
|
|
|
@@ -208,98 +208,98 @@ sidebar.createStructure.photo = function(data) {
|
|
|
structure.sharing
|
|
|
]
|
|
|
|
|
|
- return structure;
|
|
|
+ return structure
|
|
|
|
|
|
}
|
|
|
|
|
|
sidebar.createStructure.album = function(data) {
|
|
|
|
|
|
- if (data===undefined||data===null||data==='') return false;
|
|
|
+ if (data==null || data==='') return false
|
|
|
|
|
|
- var editable = false,
|
|
|
- structure = {},
|
|
|
- _public = '',
|
|
|
- visible = '',
|
|
|
- downloadable = '',
|
|
|
- password = '';
|
|
|
+ let editable = false,
|
|
|
+ structure = {},
|
|
|
+ _public = '',
|
|
|
+ visible = '',
|
|
|
+ downloadable = '',
|
|
|
+ password = ''
|
|
|
|
|
|
// Enable editable when user logged in
|
|
|
- if (lychee.publicMode===false) editable = true;
|
|
|
+ if (lychee.publicMode===false) editable = true
|
|
|
|
|
|
// Set value for public
|
|
|
switch (data.public) {
|
|
|
|
|
|
- case '0': _public = 'No';
|
|
|
- break;
|
|
|
- case '1': _public = 'Yes';
|
|
|
- break;
|
|
|
- default: _public = '-';
|
|
|
- break;
|
|
|
+ case '0' : _public = 'No'
|
|
|
+ break
|
|
|
+ case '1' : _public = 'Yes'
|
|
|
+ break
|
|
|
+ default : _public = '-'
|
|
|
+ break
|
|
|
|
|
|
}
|
|
|
|
|
|
// Set value for visible
|
|
|
switch (data.visible) {
|
|
|
|
|
|
- case '0': visible = 'No';
|
|
|
- break;
|
|
|
- case '1': visible = 'Yes';
|
|
|
- break;
|
|
|
- default: visible = '-';
|
|
|
- break;
|
|
|
+ case '0' : visible = 'No'
|
|
|
+ break
|
|
|
+ case '1' : visible = 'Yes'
|
|
|
+ break
|
|
|
+ default : visible = '-'
|
|
|
+ break
|
|
|
|
|
|
}
|
|
|
|
|
|
// Set value for downloadable
|
|
|
switch (data.downloadable) {
|
|
|
|
|
|
- case '0': downloadable = 'No';
|
|
|
- break;
|
|
|
- case '1': downloadable = 'Yes';
|
|
|
- break;
|
|
|
- default: downloadable = '-';
|
|
|
- break;
|
|
|
+ case '0' : downloadable = 'No'
|
|
|
+ break
|
|
|
+ case '1' : downloadable = 'Yes'
|
|
|
+ break
|
|
|
+ default : downloadable = '-'
|
|
|
+ break
|
|
|
|
|
|
}
|
|
|
|
|
|
// Set value for password
|
|
|
switch (data.password) {
|
|
|
|
|
|
- case '0': password = 'No';
|
|
|
- break;
|
|
|
- case '1': password = 'Yes';
|
|
|
- break;
|
|
|
- default: password = '-';
|
|
|
- break;
|
|
|
+ case '0' : password = 'No'
|
|
|
+ break
|
|
|
+ case '1' : password = 'Yes'
|
|
|
+ break
|
|
|
+ default : password = '-'
|
|
|
+ break
|
|
|
|
|
|
}
|
|
|
|
|
|
structure.basics = {
|
|
|
- title: 'Basics',
|
|
|
- type: sidebar.types.DEFAULT,
|
|
|
- rows: [
|
|
|
- { title: 'Title', value: data.title, editable },
|
|
|
- { title: 'Description', value: data.description, editable }
|
|
|
+ title : 'Basics',
|
|
|
+ type : sidebar.types.DEFAULT,
|
|
|
+ rows : [
|
|
|
+ { title: 'Title', value: data.title, editable },
|
|
|
+ { title: 'Description', value: data.description, editable }
|
|
|
]
|
|
|
}
|
|
|
|
|
|
structure.album = {
|
|
|
- title: 'Album',
|
|
|
- type: sidebar.types.DEFAULT,
|
|
|
- rows: [
|
|
|
- { title: 'Created', value: data.sysdate },
|
|
|
- { title: 'Images', value: data.num }
|
|
|
+ title : 'Album',
|
|
|
+ type : sidebar.types.DEFAULT,
|
|
|
+ rows : [
|
|
|
+ { title: 'Created', value: data.sysdate },
|
|
|
+ { title: 'Images', value: data.num }
|
|
|
]
|
|
|
}
|
|
|
|
|
|
structure.share = {
|
|
|
- title: 'Share',
|
|
|
- type: sidebar.types.DEFAULT,
|
|
|
- rows: [
|
|
|
- { title: 'Public', value: _public },
|
|
|
- { title: 'Visible', value: visible },
|
|
|
- { title: 'Downloadable', value: downloadable },
|
|
|
- { title: 'Password', value: password }
|
|
|
+ title : 'Share',
|
|
|
+ type : sidebar.types.DEFAULT,
|
|
|
+ rows : [
|
|
|
+ { title: 'Public', value: _public },
|
|
|
+ { title: 'Visible', value: visible },
|
|
|
+ { title: 'Downloadable', value: downloadable },
|
|
|
+ { title: 'Password', value: password }
|
|
|
]
|
|
|
}
|
|
|
|
|
@@ -310,87 +310,87 @@ sidebar.createStructure.album = function(data) {
|
|
|
structure.share
|
|
|
]
|
|
|
|
|
|
- return structure;
|
|
|
+ return structure
|
|
|
|
|
|
}
|
|
|
|
|
|
sidebar.render = function(structure) {
|
|
|
|
|
|
- if (structure===undefined||structure===null||structure==='') return false;
|
|
|
+ if (structure==null || structure==='') return false
|
|
|
|
|
|
- var html = '';
|
|
|
+ let html = ''
|
|
|
|
|
|
- var renderDefault = function(section) {
|
|
|
+ let renderDefault = function(section) {
|
|
|
|
|
|
- let _html = '';
|
|
|
+ let _html = ''
|
|
|
|
|
|
- _html += `
|
|
|
- <div class='divider'>
|
|
|
- <h1>${ section.title }</h1>
|
|
|
- </div>
|
|
|
- <table>
|
|
|
- `
|
|
|
+ _html += `
|
|
|
+ <div class='divider'>
|
|
|
+ <h1>${ section.title }</h1>
|
|
|
+ </div>
|
|
|
+ <table>
|
|
|
+ `
|
|
|
|
|
|
section.rows.forEach(function(row) {
|
|
|
|
|
|
- let value = row.value;
|
|
|
+ let value = row.value
|
|
|
|
|
|
// Set a default for the value
|
|
|
- if (value===''||value===null||value===undefined) value = '-';
|
|
|
+ if (value==='' || value==null) value = '-'
|
|
|
|
|
|
// Wrap span-element around value for easier selecting on change
|
|
|
- value = `<span class='attr_${ row.title.toLowerCase() }'>${ value }</span>`;
|
|
|
+ value = `<span class='attr_${ row.title.toLowerCase() }'>${ value }</span>`
|
|
|
|
|
|
// Add edit-icon to the value when editable
|
|
|
- if (row.editable===true) value += ' ' + build.editIcon('edit_' + row.title.toLowerCase());
|
|
|
+ if (row.editable===true) value += ' ' + build.editIcon('edit_' + row.title.toLowerCase())
|
|
|
|
|
|
- _html += `
|
|
|
- <tr>
|
|
|
- <td>${ row.title }</td>
|
|
|
- <td>${ value }</td>
|
|
|
- </tr>
|
|
|
- `
|
|
|
+ _html += `
|
|
|
+ <tr>
|
|
|
+ <td>${ row.title }</td>
|
|
|
+ <td>${ value }</td>
|
|
|
+ </tr>
|
|
|
+ `
|
|
|
|
|
|
- });
|
|
|
+ })
|
|
|
|
|
|
- _html += `
|
|
|
- </table>
|
|
|
- `
|
|
|
+ _html += `
|
|
|
+ </table>
|
|
|
+ `
|
|
|
|
|
|
- return _html;
|
|
|
+ return _html
|
|
|
|
|
|
- };
|
|
|
+ }
|
|
|
|
|
|
- var renderTags = function(section) {
|
|
|
+ let renderTags = function(section) {
|
|
|
|
|
|
- let _html = '';
|
|
|
+ let _html = ''
|
|
|
|
|
|
- _html += `
|
|
|
- <div class='divider'>
|
|
|
- <h1>${ section.title }</h1>
|
|
|
- </div>
|
|
|
- <div id='tags'>
|
|
|
- <div class='attr_${ section.title.toLowerCase() }'>${ section.value }</div>
|
|
|
- `
|
|
|
+ _html += `
|
|
|
+ <div class='divider'>
|
|
|
+ <h1>${ section.title }</h1>
|
|
|
+ </div>
|
|
|
+ <div id='tags'>
|
|
|
+ <div class='attr_${ section.title.toLowerCase() }'>${ section.value }</div>
|
|
|
+ `
|
|
|
|
|
|
// Add edit-icon to the value when editable
|
|
|
- if (section.editable===true) _html += build.editIcon('edit_tags');
|
|
|
+ if (section.editable===true) _html += build.editIcon('edit_tags')
|
|
|
|
|
|
- _html += `
|
|
|
- </div>
|
|
|
- `
|
|
|
+ _html += `
|
|
|
+ </div>
|
|
|
+ `
|
|
|
|
|
|
- return _html;
|
|
|
+ return _html
|
|
|
|
|
|
}
|
|
|
|
|
|
structure.forEach(function(section) {
|
|
|
|
|
|
- if (section.type===sidebar.types.DEFAULT) html += renderDefault(section);
|
|
|
- else if (section.type===sidebar.types.TAGS) html += renderTags(section);
|
|
|
+ if (section.type===sidebar.types.DEFAULT) html += renderDefault(section)
|
|
|
+ else if (section.type===sidebar.types.TAGS) html += renderTags(section)
|
|
|
|
|
|
- });
|
|
|
+ })
|
|
|
|
|
|
- return html;
|
|
|
+ return html
|
|
|
|
|
|
}
|