diff --git a/.gitignore b/.gitignore index 278ce0c..9d12d40 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ node_modules/ .sass-cache/ .cache/ +public/ content/folio-images content/client-images content/blog-images diff --git a/brain/tools/events/AuthEvent.js b/brain/utils/events/AuthEvent.js similarity index 100% rename from brain/tools/events/AuthEvent.js rename to brain/utils/events/AuthEvent.js diff --git a/brain/tools/events/DataEvent.js b/brain/utils/events/DataEvent.js similarity index 100% rename from brain/tools/events/DataEvent.js rename to brain/utils/events/DataEvent.js diff --git a/brain/tools/events/EditorEvent.js b/brain/utils/events/EditorEvent.js similarity index 100% rename from brain/tools/events/EditorEvent.js rename to brain/utils/events/EditorEvent.js diff --git a/brain/tools/events/EventEmitter.js b/brain/utils/events/EventEmitter.js similarity index 100% rename from brain/tools/events/EventEmitter.js rename to brain/utils/events/EventEmitter.js diff --git a/brain/tools/utilities/DBUtils.js b/brain/utils/tools/DBUtils.js similarity index 100% rename from brain/tools/utilities/DBUtils.js rename to brain/utils/tools/DBUtils.js diff --git a/brain/tools/utilities/DOMUtils.js b/brain/utils/tools/DOMUtils.js similarity index 100% rename from brain/tools/utilities/DOMUtils.js rename to brain/utils/tools/DOMUtils.js diff --git a/brain/tools/utilities/DataUtils.js b/brain/utils/tools/DataUtils.js similarity index 100% rename from brain/tools/utilities/DataUtils.js rename to brain/utils/tools/DataUtils.js diff --git a/brain/tools/utilities/DateUtils.js b/brain/utils/tools/DateUtils.js similarity index 100% rename from brain/tools/utilities/DateUtils.js rename to brain/utils/tools/DateUtils.js diff --git a/brain/tools/utilities/RightsManager.js b/brain/utils/tools/RightsManager.js similarity index 100% rename from brain/tools/utilities/RightsManager.js rename to brain/utils/tools/RightsManager.js diff --git a/brain/tools/utilities/StringUtils.js b/brain/utils/tools/StringUtils.js similarity index 100% rename from brain/tools/utilities/StringUtils.js rename to brain/utils/tools/StringUtils.js diff --git a/brain/utils/tools/events/AuthEvent.js b/brain/utils/tools/events/AuthEvent.js new file mode 100644 index 0000000..a32338c --- /dev/null +++ b/brain/utils/tools/events/AuthEvent.js @@ -0,0 +1,28 @@ +export const MEMBER_STATUS = "memberStatus"; +export const LOGIN_STATUS = 'loginStatus'; +export const SUPPORTER_FOUND = 'SUPPORTER FOUND'; +export const SUPPORTER_LISTED = 'SUPPORTER LISTED'; +export const SUPPORTER_NOT_FOUND = 'SUPPORTER NOT FOUND'; +export const MEMBER_ADDED = 'MEMBER ADDED'; +export const MEMBER_NOT_ADDED = 'MEMBER NOT ADDED'; +export const MEMBER_LOGIN_GOOD = 'MEMBER LOGIN GOOD'; +export const MEMBER_LOGIN_LAME = 'MEMBER LOGIN LAME'; +export const MEMBER_EXISTS = 'USER ALREADY EXISTS'; +export const MEMBER_LOGIN_MISSING = 'Missing credentials'; + + + +class AuthEvent +{ + + //-------------------------- + // methods + //-------------------------- + + + + //-------------------------- + // event handlers + //-------------------------- +} +export default new AuthEvent diff --git a/brain/utils/tools/events/DataEvent.js b/brain/utils/tools/events/DataEvent.js new file mode 100644 index 0000000..5dbebde --- /dev/null +++ b/brain/utils/tools/events/DataEvent.js @@ -0,0 +1,37 @@ +export const REQUEST_GOOD = 'requestGood'; +export const REQUEST_LAME = 'requestLame'; +export const IMG_REQUEST_GOOD = 'imgRequestGood'; +export const IMG_REQUEST_LAME = 'imgRequestLame'; +export const SETTINGS_LOADED = 'dataLoaded'; +export const HTML_LOADED = 'htmlLoaded'; +export const ARCHIVES_JSON_LOADED = 'archivesJSONLoaded'; +export const ARCHIVES_PAGE_LOADED = 'archivesPAGELoaded'; +export const ARCHIVES_ENTRY_LOADED = 'archivesEntryLoaded'; +export const PROJECT_UPDATED = 'projectUpdated'; +export const PROJECT_ADDED = 'projectAdded'; +export const PROJECTS_SORTED = 'projectsSorted'; +export const POST_IMAGE_ADDED = 'postImageAdded'; +export const FEATURE_IMAGE_ADDED = 'featureImageAdded'; +export const POST_ERROR = 'postError'; +export const POST_ADDED = 'postAdded'; +export const POST_UPDATED = 'postUpdated'; +export const POST_DELETED = 'postImageAdded'; +export const POSTS_SYNCED = 'postsSynced'; +export const LOCAL_DB_READY = 'localDBReady'; +export const SETTINGS_UPDATED = 'settingsUpdated'; +export const AVATAR_UPLOADED = 'avatarUploaded'; +export const SITE_BACKGROUND_UPLOADED = 'siteBackgroundUploaded'; +class DataEvent +{ + + //-------------------------- + // methods + //-------------------------- + + + + //-------------------------- + // event handlers + //-------------------------- +} +export default new DataEvent diff --git a/brain/utils/tools/events/EditorEvent.js b/brain/utils/tools/events/EditorEvent.js new file mode 100644 index 0000000..2cd24c6 --- /dev/null +++ b/brain/utils/tools/events/EditorEvent.js @@ -0,0 +1,14 @@ +export const EDITOR_DELETE = 'editorDelete'; +export const EDITOR_UPLOAD_POST_IMAGE = 'editorUploadImage'; +export const EDITOR_SAVE = 'editorSave'; +export const EDITOR_UPDATE = 'editorUpdate'; + +class EditorEvent { + //-------------------------- + // methods + //-------------------------- + //-------------------------- + // event handlers + //-------------------------- +} +export default new EditorEvent(); diff --git a/brain/utils/tools/events/EventEmitter.js b/brain/utils/tools/events/EventEmitter.js new file mode 100644 index 0000000..56f5dfe --- /dev/null +++ b/brain/utils/tools/events/EventEmitter.js @@ -0,0 +1,52 @@ +class EventEmitter { + //-------------------------- + // constructor + //-------------------------- + constructor() { + this.listeners = new Map(); + } + //-------------------------- + // methods + //-------------------------- + addListener(label, callback) { + this.listeners.has(label) || this.listeners.set(label, []); + this.listeners.get(label).push(callback); + } + + removeListener(label, callback) { + var isFunction = function(obj) { + return typeof obj == 'function' || false; + }; + + var listeners = this.listeners.get(label), + index; + + if (listeners && listeners.length) { + index = listeners.reduce((i, listener, index) => { + return isFunction(listener) && listener === callback ? (i = index) : i; + }, -1); + + if (index > -1) { + listeners.splice(index, 1); + this.listeners.set(label, listeners); + return true; + } + } + return false; + } + + emitEvent(label, ...args) { + var listeners = this.listeners.get(label); + if (listeners && listeners.length) { + listeners.forEach(listener => { + listener(...args); + }); + return true; + } + return false; + } + //-------------------------- + // event handlers + //-------------------------- +} +export default EventEmitter; diff --git a/brain/tools/ui/TextEditor.js b/brain/utils/ui/TextEditor.js similarity index 100% rename from brain/tools/ui/TextEditor.js rename to brain/utils/ui/TextEditor.js