mirror of
https://github.com/TangentFoxy/memex.git
synced 2024-11-22 04:54:23 +00:00
Refactor - clean up isDefined, isObject, if statements, helpers etc.
This commit is contained in:
parent
8240650f53
commit
c52491f3c1
@ -80,11 +80,6 @@ function View()
|
|||||||
imgLoad.on( 'always', function() { parent.msnry.layout(); } );
|
imgLoad.on( 'always', function() { parent.msnry.layout(); } );
|
||||||
}
|
}
|
||||||
|
|
||||||
this.isDefined = function(value)
|
|
||||||
{
|
|
||||||
return (typeof value !== 'undefined');
|
|
||||||
}
|
|
||||||
|
|
||||||
this.buildEntry = function(db, key)
|
this.buildEntry = function(db, key)
|
||||||
{
|
{
|
||||||
let value = db[key];
|
let value = db[key];
|
||||||
@ -95,7 +90,7 @@ function View()
|
|||||||
{
|
{
|
||||||
itemClass += " griditem-wide";
|
itemClass += " griditem-wide";
|
||||||
}
|
}
|
||||||
else if (typeof value.QOTE !== 'undefined')
|
else if (this.isDefined(value.QOTE))
|
||||||
{
|
{
|
||||||
if (Array.isArray(value.QOTE) && value.QOTE.length > 4)
|
if (Array.isArray(value.QOTE) && value.QOTE.length > 4)
|
||||||
{
|
{
|
||||||
@ -104,10 +99,7 @@ function View()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (SETTINGS.SHOWIMAG && this.isDefined(value.TYP) && value.TYPE === 'image')
|
||||||
SETTINGS.SHOWIMAG
|
|
||||||
&& typeof value.TYPE !== 'undefined' && value.TYPE === 'image'
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
itemClass += " griditem-image";
|
itemClass += " griditem-image";
|
||||||
}
|
}
|
||||||
@ -119,19 +111,16 @@ function View()
|
|||||||
if (this.isDefined(value.LINK))
|
if (this.isDefined(value.LINK))
|
||||||
{
|
{
|
||||||
var idUrl = "url";
|
var idUrl = "url";
|
||||||
if (typeof value.SEEN !== 'undefined' && value.SEEN === "true")
|
if (this.isDefined(value.SEEN) && value.SEEN === "true")
|
||||||
{
|
{
|
||||||
idUrl = "urlseen";
|
idUrl = "urlseen";
|
||||||
}
|
}
|
||||||
|
|
||||||
// LINK START
|
// LINK START
|
||||||
if (SETTINGS.SHOWLINK)
|
if (SETTINGS.SHOWLINK && !this.isObject(value.LINK))
|
||||||
{
|
{
|
||||||
if (typeof value.LINK != 'object')
|
// If this item has only one link then make the whole title the link
|
||||||
{
|
entry += `<a class="griditem-link" href="${String(value.LINK)}" id="${idUrl}">`;
|
||||||
// If this item has only one link then make the whole title the link
|
|
||||||
entry += `<a class="griditem-link" href="${String(value.LINK)}" id="${idUrl}">`;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -147,9 +136,9 @@ function View()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// LINK END
|
// LINK END
|
||||||
if (SETTINGS.SHOWLINK && typeof value.LINK !== 'undefined')
|
if (SETTINGS.SHOWLINK && this.isDefined(value.LINK))
|
||||||
{
|
{
|
||||||
if (typeof value.LINK == 'object')
|
if (this.isObject(value.LINK))
|
||||||
{
|
{
|
||||||
for (let l = 0; l < value.LINK.length; l++)
|
for (let l = 0; l < value.LINK.length; l++)
|
||||||
{
|
{
|
||||||
@ -164,7 +153,7 @@ function View()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TYPE
|
// TYPE
|
||||||
if (SETTINGS.SHOWTYPE && typeof value.TYPE !== 'undefined')
|
if (SETTINGS.SHOWTYPE && this.isDefined(value.TYPE))
|
||||||
{
|
{
|
||||||
|
|
||||||
entry += `<div class="griditem-typecontainer">`;
|
entry += `<div class="griditem-typecontainer">`;
|
||||||
@ -188,13 +177,13 @@ function View()
|
|||||||
entry += `<div class="griditem-containerlower">`;
|
entry += `<div class="griditem-containerlower">`;
|
||||||
|
|
||||||
// AUTHOR
|
// AUTHOR
|
||||||
if (SETTINGS.SHOWAUTH && typeof value.AUTH !== 'undefined')
|
if (SETTINGS.SHOWAUTH && this.isDefined(value.AUTH))
|
||||||
{
|
{
|
||||||
entry += `<div class="griditem-auth"><i class="fas fa-user textIcon"></i>${value.AUTH}</div>`;
|
entry += `<div class="griditem-auth"><i class="fas fa-user textIcon"></i>${value.AUTH}</div>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TAGS
|
// TAGS
|
||||||
if (SETTINGS.SHOWTAGS && typeof value.TAGS !== 'undefined')
|
if (SETTINGS.SHOWTAGS && this.isDefined(value.TAGS))
|
||||||
{
|
{
|
||||||
entry += `<div class="griditem-tags"><i class="fas fa-tag textIcon"></i>`;
|
entry += `<div class="griditem-tags"><i class="fas fa-tag textIcon"></i>`;
|
||||||
for (var i = 0; i < value.TAGS.length; i++)
|
for (var i = 0; i < value.TAGS.length; i++)
|
||||||
@ -209,74 +198,65 @@ function View()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// PROJECT
|
// PROJECT
|
||||||
if (SETTINGS.SHOWPROJ)
|
if (SETTINGS.SHOWPROJ && this.isDefined(value.PROJ))
|
||||||
{
|
{
|
||||||
if (this.isDefined(value.PROJ))
|
entry += `<div class="griditem-proj"><i class="fas fa-leaf textIcon"></i>`;
|
||||||
|
for (var i = 0; i < value.PROJ.length; i++)
|
||||||
{
|
{
|
||||||
entry += `<div class="griditem-proj"><i class="fas fa-leaf textIcon"></i>`;
|
entry += `<a class="griditem-taglink" href="#proj-${value.PROJ[i]}">${value.PROJ[i].to_properCase()}</a>`;
|
||||||
for (var i = 0; i < value.PROJ.length; i++)
|
if (i + 1 != value.PROJ.length)
|
||||||
{
|
{
|
||||||
entry += `<a class="griditem-taglink" href="#proj-${value.PROJ[i]}">${value.PROJ[i]}</a>`;
|
entry += `, `;
|
||||||
if (i + 1 != value.PROJ.length)
|
}
|
||||||
{
|
|
||||||
entry += `, `;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
entry += `</div>`;
|
|
||||||
}
|
}
|
||||||
|
entry += `</div>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TERM
|
// TERM
|
||||||
if (SETTINGS.SHOWTERM)
|
if (SETTINGS.SHOWTERM && this.isDefined(value.TERM))
|
||||||
{
|
{
|
||||||
if (this.isDefined(value.TERM))
|
entry += this.doMultilineFormatting(value.TERM, "griditem-term", "fas fa-ribbon textIcon");
|
||||||
{
|
|
||||||
entry += this.buildArrayElement(value.TERM, "griditem-term", "fas fa-ribbon textIcon");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE
|
// NOTE
|
||||||
if (SETTINGS.SHOWNOTE && typeof value.NOTE !== 'undefined')
|
if (SETTINGS.SHOWNOTE && this.isDefined(value.NOTE))
|
||||||
{
|
{
|
||||||
entry += this.buildArrayElement(value.NOTE, "griditem-note", "fas fa-sticky-note textIcon");
|
entry += this.doMultilineFormatting(value.NOTE, "griditem-note", "fas fa-sticky-note textIcon");
|
||||||
}
|
}
|
||||||
|
|
||||||
// QUOTE
|
// QUOTE
|
||||||
if (SETTINGS.SHOWQOTE && typeof value.QOTE !== 'undefined')
|
if (SETTINGS.SHOWQOTE && this.isDefined(value.QOTE))
|
||||||
{
|
{
|
||||||
entry += this.buildArrayElement(value.QOTE, "griditem-quote", "fas fa-comment textIcon");
|
entry += this.doMultilineFormatting(value.QOTE, "griditem-quote", "fas fa-comment textIcon");
|
||||||
}
|
}
|
||||||
|
|
||||||
// TERM
|
// TERM
|
||||||
if (SETTINGS.SHOWTERM && typeof value.TERM !== 'undefined')
|
if (SETTINGS.SHOWTERM && this.isDefined(value.TERM))
|
||||||
{
|
{
|
||||||
entry += this.buildArrayElement(value.TERM, "griditem-term", "fas fa-ribbon textIcon");
|
entry += this.doMultilineFormatting(value.TERM, "griditem-term", "fas fa-ribbon textIcon");
|
||||||
}
|
}
|
||||||
|
|
||||||
// PROGRESS
|
// PROGRESS
|
||||||
if (SETTINGS.SHOWPROG && typeof value.PROG !== 'undefined')
|
if (SETTINGS.SHOWPROG && this.isDefined(value.PROG))
|
||||||
{
|
{
|
||||||
entry += `<div class="griditem-prog"><i class="fas fa-clock textIcon"></i>${value.PROG}</div>`;
|
entry += `<div class="griditem-prog"><i class="fas fa-clock textIcon"></i>${value.PROG}</div>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FILE
|
// FILE
|
||||||
if (SETTINGS.SHOWFILE)
|
if (SETTINGS.SHOWFILE && this.isDefined(value.FILE))
|
||||||
{
|
{
|
||||||
if (this.isDefined(value.FILE))
|
if (this.isObject(value.FILE))
|
||||||
{
|
{
|
||||||
if (typeof value.FILE == 'object')
|
for (var i = 0; i < value.FILE.length; i++)
|
||||||
{
|
{
|
||||||
for (var i = 0; i < value.FILE.length; i++)
|
entry += `<div class="griditem-file"><i class="fas fa-folder-open textIcon"></i><a class="griditem-file-link" href="content/media/${value.FILE[i]}">${value.FILE[i]}</a></div>`;
|
||||||
{
|
|
||||||
entry += `<div class="griditem-file"><i class="fas fa-folder-open textIcon"></i><a class="griditem-file-link" href="content/media/${value.FILE[i]}">${value.FILE[i]}</a></div>`;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// single
|
|
||||||
entry += `<div class="griditem-file"><i class="fas fa-folder-open textIcon"></i><a class="griditem-file-link" href="content/media/${value.FILE}">${value.FILE}</a></div>`;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// single
|
||||||
|
entry += `<div class="griditem-file"><i class="fas fa-folder-open textIcon"></i><a class="griditem-file-link" href="content/media/${value.FILE}">${value.FILE}</a></div>`;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// LOWER CONTENT END
|
// LOWER CONTENT END
|
||||||
@ -284,11 +264,8 @@ function View()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// IMAGE
|
// IMAGE
|
||||||
if (
|
if (SETTINGS.SHOWIMAG && this.isDefined(value.TYPE)
|
||||||
SETTINGS.SHOWIMAG
|
&& value.TYPE === 'image' && this.isDefined(value.FILE))
|
||||||
&& typeof value.TYPE !== 'undefined' && value.TYPE === 'image'
|
|
||||||
&& typeof value.FILE !== 'undefined'
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
entry += `<div class="image">`;
|
entry += `<div class="image">`;
|
||||||
if (SETTINGS.SHOWOVERLAY)
|
if (SETTINGS.SHOWOVERLAY)
|
||||||
@ -306,7 +283,6 @@ function View()
|
|||||||
this.stats = function(value)
|
this.stats = function(value)
|
||||||
{
|
{
|
||||||
let menuContent = ``;
|
let menuContent = ``;
|
||||||
|
|
||||||
if (window.showAdd !== undefined && window.showAdd)
|
if (window.showAdd !== undefined && window.showAdd)
|
||||||
{
|
{
|
||||||
// ADD
|
// ADD
|
||||||
@ -327,20 +303,17 @@ function View()
|
|||||||
|
|
||||||
// DONE
|
// DONE
|
||||||
menuContent += `<div class="menu-itemgroup">`;
|
menuContent += `<div class="menu-itemgroup">`;
|
||||||
|
|
||||||
menuContent += `<a href='#done-true' class="menu-item">`;
|
menuContent += `<a href='#done-true' class="menu-item">`;
|
||||||
menuContent += `<div class="menu-itemcount">${value.done}</div>`;
|
menuContent += `<div class="menu-itemcount">${value.done}</div>`;
|
||||||
menuContent += `<i class="menu-itemicon fas fa-check"></i>`;
|
menuContent += `<i class="menu-itemicon fas fa-check"></i>`;
|
||||||
menuContent += `</a>`;
|
menuContent += `</a>`;
|
||||||
|
|
||||||
menuContent += `<a href='#done-false' class="menu-item">`;
|
menuContent += `<a href='#done-false' class="menu-item">`;
|
||||||
menuContent += `<div class="menu-itemcount">${value.total - value.done}</div>`;
|
menuContent += `<div class="menu-itemcount">${value.total - value.done}</div>`;
|
||||||
menuContent += `<i class="menu-itemicon fas fa-times"></i>`;
|
menuContent += `<i class="menu-itemicon fas fa-times"></i>`;
|
||||||
menuContent += `</a>`;
|
menuContent += `</a>`;
|
||||||
|
|
||||||
menuContent += `</div>`;
|
menuContent += `</div>`;
|
||||||
|
|
||||||
menuContent += `<div class="menu-itemgroup">`;
|
menuContent += `<div class="menu-itemgroup">`;
|
||||||
|
|
||||||
for (let ty = 0; ty < Math.min(value.types.length, SETTINGS.STATSNUMTYPE); ty++)
|
for (let ty = 0; ty < Math.min(value.types.length, SETTINGS.STATSNUMTYPE); ty++)
|
||||||
{
|
{
|
||||||
const type = value.types[ty][0];
|
const type = value.types[ty][0];
|
||||||
@ -363,7 +336,6 @@ function View()
|
|||||||
menuContent += `<i class="menu-itemicon fas fa-ribbon"></i>`;
|
menuContent += `<i class="menu-itemicon fas fa-ribbon"></i>`;
|
||||||
menuContent += `</a>`;
|
menuContent += `</a>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
menuContent += `</div>`;
|
menuContent += `</div>`;
|
||||||
|
|
||||||
// TAGS
|
// TAGS
|
||||||
@ -383,12 +355,10 @@ function View()
|
|||||||
menuContent += `</div>`;
|
menuContent += `</div>`;
|
||||||
}
|
}
|
||||||
menuContent += `</div>`;
|
menuContent += `</div>`;
|
||||||
|
this.menu.innerHTML = menuContent;
|
||||||
this.menu.innerHTML = ``;
|
|
||||||
this.menu.innerHTML += menuContent;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.buildArrayElement = function(data, className, iconName)
|
this.doMultilineFormatting = function(data, className, iconName)
|
||||||
{
|
{
|
||||||
let result = '';
|
let result = '';
|
||||||
if (Array.isArray(data))
|
if (Array.isArray(data))
|
||||||
@ -437,7 +407,6 @@ function View()
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// HELPER
|
|
||||||
getTypeIconName = function(type)
|
getTypeIconName = function(type)
|
||||||
{
|
{
|
||||||
let icon = '';
|
let icon = '';
|
||||||
@ -461,6 +430,17 @@ function View()
|
|||||||
return icon;
|
return icon;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GENERAL HELPER
|
||||||
|
this.isDefined = function(value)
|
||||||
|
{
|
||||||
|
return (typeof value !== 'undefined');
|
||||||
|
}
|
||||||
|
|
||||||
|
this.isObject = function(value)
|
||||||
|
{
|
||||||
|
return (typeof value == 'object');
|
||||||
|
}
|
||||||
|
|
||||||
String.prototype.to_properCase = function()
|
String.prototype.to_properCase = function()
|
||||||
{
|
{
|
||||||
return this.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
|
return this.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
|
||||||
@ -500,8 +480,6 @@ function View()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
console.log('calling extract on: ' + url);
|
|
||||||
|
|
||||||
hostname = url.split('/')[0];
|
hostname = url.split('/')[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user