Quellcode durchsuchen

Refactor with Lungo.Constants

@soyjavi vor 14 Jahren
Ursprung
Commit
08ec8ea633

+ 51 - 6
src/Lungo.Constants.js

@@ -10,15 +10,60 @@
 
 LUNGO.Constants = {
 
-    ELEMENT = {
+    ELEMENT: {
         SECTION: 'section',
         ARTICLE: 'article',
-        ASIDE: 'aside'
-    };
+        ASIDE: 'aside',
+        BODY: 'body',
+        DIV: 'div',
+        LIST: '<ul></ul>',
+        SPAN: '<span>&nbsp;</span>'
+    },
 
-    CLASSES = {
+    CLASS: {
         ACTIVE: 'active',
+        ASIDE: 'aside',
         SHOW: 'show',
-        HIDE: 'hide'
-    };
+        HIDE: 'hide',
+        CURRENT: 'current',
+        RIGHT: 'onright',
+        LEFT: 'onleft',
+        HORIZONTAL: 'horizontal'
+    },
+
+    TRIGGER: {
+        LOAD: 'load',
+        UNLOAD: 'unload'
+    },
+
+    ATTRIBUTE: {
+        ID: 'id',
+        HREF: 'href',
+        TITLE: 'title',
+        ARTICLE: 'article',
+        CLASS: 'class',
+        WIDTH: 'width',
+        HEIGHT: 'height',
+        PIXEL: 'px',
+        TARGET: 'target',
+        FIRST: 'first',
+        LAST: 'last'
+    },
+
+    BINDING: {
+        START: '{{',
+        END: '}}',
+        KEY: 'value',
+        PARSER: /\{{.*?\}}/gi
+    },
+
+    ERROR: {
+        CREATE_SCROLL: 'ERROR: Impossible to create a <scroll> without ID.',
+        BINDING_DATA_TYPE: 'ERROR: Processing the type of binding data.',
+        BINDING_TEMPLATE: 'ERROR: Binding Template not exists >> ',
+        BINDING_LIST: 'ERROR: Processing parameters for list binding.',
+        DATABASE: 'ERROR: Connecting to Data.Sql.',
+        ROUTER: 'ERROR: The target does not exists >>'
+    }
+
 };

+ 3 - 2
src/Lungo.Fallback.js

@@ -9,6 +9,7 @@
 
 LUNGO.Fallback = (function(lng, undefined) {
 
+    var CLASS = lng.Constants.CLASS;
 
     var androidButtons = function() {
     	environment = lng.Core.environment();
@@ -45,11 +46,11 @@ LUNGO.Fallback = (function(lng, undefined) {
     };
 
     var _addClassActiveToButton = function(element) {
-        lng.dom(this).addClass('active');
+        lng.dom(this).addClass(CLASS.ACTIVE);
     };
 
     var _removeClassActiveToButton = function(element) {
-        lng.dom(this).removeClass('active');
+        lng.dom(this).removeClass(CLASS.ACTIVE);
     };
 
     return {

+ 4 - 7
src/boot/Lungo.Boot.Article.js

@@ -10,17 +10,14 @@
 
 LUNGO.Boot.Article = (function(lng, undefined) {
 
+    var ATTRIBUTE = lng.Constants.ATTRIBUTE;
+    var ELEMENT = lng.Constants.ELEMENT;
     var SELECTORS = {
         LIST_IN_ARTICLE: 'article.list, aside.list',
         SCROLL_IN_ARTICLE: '.scrollable',
         CHECKBOX_IN_ARTICLE: '.checkbox, .radio'
     };
 
-    var ELEMENT = {
-        LIST: '<ul></ul>',
-        SPAN: '<span>&nbsp;</span>'
-    }
-
     /**
      * Initializes the markup elements of an article
      *
@@ -43,13 +40,13 @@ LUNGO.Boot.Article = (function(lng, undefined) {
 
     var _createListElement = function(article) {
         if (article.children().length === 0) {
-            var article_id = article.attr('id');
+            var article_id = article.attr(ATTRIBUTE.ID);
             article.append(ELEMENT.LIST);
         }
     };
 
     var _createScrollElement = function(scroll) {
-        var scroll_id = scroll.attr('id');
+        var scroll_id = scroll.attr(ATTRIBUTE.ID);
         lng.View.Scroll.init(scroll_id);
     };
 

+ 27 - 18
src/boot/Lungo.Boot.Events.js

@@ -10,6 +10,14 @@
 
 LUNGO.Boot.Events = (function(lng, undefined) {
 
+    var ATTRIBUTE = lng.Constants.ATTRIBUTE;
+    var CLASS = lng.Constants.CLASS;
+    var ELEMENT = lng.Constants.ELEMENT;
+    var SELECTORS = {
+        HREF_TARGET: 'a[href][data-target]',
+        HREF_TARGET_FROM_ASIDE: 'aside a[href][data-target]'
+    };
+
     /**
      * Initializes the automatic subscription events by markup of the project.
      *
@@ -19,14 +27,13 @@ LUNGO.Boot.Events = (function(lng, undefined) {
     var start = function() {
         var touch_move_event  = 'touchmove';
         var resize = 'resize';
-        var target_selector = 'a[href][data-target]';
-        var target_selector_from_aside = 'aside a[href][data-target]';
+        console.error(SELECTORS);
 
         //@ToDo: Error with input type="range"
         //lng.dom(document).on(touch_move_event, _iScroll);
         lng.dom(window).on(resize, _changeOrientation);
-        lng.dom(target_selector_from_aside).tap(_loadTargetFromAside);
-        lng.dom(target_selector).tap(_loadTarget);
+        lng.dom(SELECTORS.HREF_TARGET_FROM_ASIDE).tap(_loadTargetFromAside);
+        lng.dom(SELECTORS.HREF_TARGET).tap(_loadTarget);
 
         lng.Fallback.androidButtons();
     };
@@ -41,12 +48,12 @@ LUNGO.Boot.Events = (function(lng, undefined) {
 
     var _loadTargetFromAside = function(event) {
         var link = lng.dom(this);
-        var aside_id = '#' + link.parent('aside').attr('id');
-        var section_id = '#' + lng.dom('section.aside, section.current').first().attr('id');
+        var aside_id = '#' + link.parent(ELEMENT.ASIDE).attr(ATTRIBUTE.ID);
+        var section_id = '#' + lng.dom('section.aside, section.current').first().attr(ATTRIBUTE.ID);
 
-        if (link.data('target') === 'article') {
-            lng.dom('aside' + aside_id + ' a[href][data-target]').removeClass('current');
-            link.addClass('current');
+        if (link.data(ATTRIBUTE.TARGET) === ELEMENT.ARTICLE) {
+            lng.dom(ELEMENT.ASIDE + aside_id + ' ' + SELECTORS.HREF_TARGET).removeClass(CLASS.CURRENT);
+            link.addClass(CLASS.CURRENT);
         }
         _hideAsideIfNecesary(section_id, aside_id);
 
@@ -60,19 +67,21 @@ LUNGO.Boot.Events = (function(lng, undefined) {
     };
 
     var _selectTarget = function(link) {
-        var target_type = link.data('target');
+        var target_type = link.data(ATTRIBUTE.TARGET);
+
+        console.error(ELEMENT, target_type);
 
         switch(target_type) {
-            case 'section':
-                var target_id = link.attr('href');
+            case ELEMENT.SECTION:
+                var target_id = link.attr(ATTRIBUTE.HREF);
                 _goSection(target_id);
                 break;
 
-            case 'article':
+            case ELEMENT.ARTICLE:
                 _goArticle(link);
                 break;
 
-            case 'aside':
+            case ELEMENT.ASIDE:
                 _goAside(link);
                 break;
         }
@@ -80,7 +89,6 @@ LUNGO.Boot.Events = (function(lng, undefined) {
 
     var _goSection = function(id) {
         id = lng.Core.parseUrl(id);
-
         if (id === '#back') {
             lng.Router.back();
         } else {
@@ -89,15 +97,16 @@ LUNGO.Boot.Events = (function(lng, undefined) {
     };
 
     var _goArticle = function(element) {
-        section_id = lng.Router.History.current();
-        var article_id =  element.attr('href');
+        var section_id = lng.Router.History.current();
+        var article_id =  element.attr(ATTRIBUTE.HREF);
 
         lng.Router.article(section_id, article_id);
     };
 
     var _goAside = function(element) {
         var section_id = lng.Router.History.current();
-        var aside_id = element.attr('href');
+        var aside_id = element.attr(ATTRIBUTE.HREF);
+
         lng.Router.aside(section_id, aside_id);
     };
 

+ 5 - 2
src/boot/Lungo.Boot.Layout.js

@@ -12,6 +12,9 @@ LUNGO.Boot.Layout = (function(lng, undefined) {
     var _window = null;
     var _document = null;
 
+    var ELEMENT = lng.Constants.ELEMENT;
+    var ATTRIBUTE = lng.Constants.ATTRIBUTE;
+
     /**
      * Initializes the automatic subscription events by markup of the project.
      *
@@ -31,7 +34,7 @@ LUNGO.Boot.Layout = (function(lng, undefined) {
         if (_window.innerHeight == 356) {
             var _height = 416;
 
-            lng.dom('body').style('height', _height + 'px');
+            lng.dom(ELEMENT.BODY).style(ATTRIBUTE.HEIGHT, _height + ATTRIBUTE.PIXEL);
             _hideNavigationBar();
         }
     };
@@ -50,7 +53,7 @@ LUNGO.Boot.Layout = (function(lng, undefined) {
                 }
             }, 15 );
 
-            _window.addEventListener( 'load', function(){
+            _window.addEventListener('load', function(){
                 setTimeout(function(){
                     _window.scrollTo( 0, scrollTop === 1 ? 0 : 1 );
                 }, 0);

+ 6 - 3
src/boot/Lungo.Boot.Resources.js

@@ -9,11 +9,14 @@
 
 LUNGO.Boot.Resources = (function(lng, $$, undefined) {
 
+    var ELEMENT = lng.Constants.ELEMENT;
+    var ERROR = lng.Constants.ERROR;
+
     var RESOURCE = {
         SECTION: 'sections',
         TEMPLATE: 'templates',
         SCRIPT: 'scripts'
-    }
+    };
 
     /**
      * Start loading async sections (local & remote)
@@ -69,12 +72,12 @@ LUNGO.Boot.Resources = (function(lng, $$, undefined) {
 
     var _pushSectionInLayout = function(section) {
         if (lng.Core.toType(section) === 'string') {
-            lng.dom('body').append(section);
+            lng.dom(ELEMENT.BODY).append(section);
         }
     };
 
     var _createTemplate = function(markup) {
-        var div = document.createElement('DIV');
+        var div = document.createElement(ELEMENT.DIV);
         div.innerHTML = markup;
 
         var template_id = lng.dom(div.firstChild).data('template');

+ 10 - 13
src/boot/Lungo.Boot.Section.js

@@ -10,12 +10,9 @@
 
 LUNGO.Boot.Section = (function(lng, undefined) {
 
-    var SELECTORS = {
-        ARTICLE: 'article',
-        SECTION: 'section'
-    };
-
-    var ACTIVE_CLASS = 'current';
+    var ELEMENT = lng.Constants.ELEMENT;
+    var CLASS = lng.Constants.CLASS;
+    var ATTRIBUTE = lng.Constants.ATTRIBUTE;
 
     /**
      * Initializes all <section>s of the project
@@ -23,7 +20,7 @@ LUNGO.Boot.Section = (function(lng, undefined) {
      * @method init
      */
     var start = function() {
-        var sections = lng.dom(SELECTORS.SECTION);
+        var sections = lng.dom(ELEMENT.SECTION);
         _initFirstSection(sections);
         _initAllSections(sections);
 
@@ -32,9 +29,9 @@ LUNGO.Boot.Section = (function(lng, undefined) {
 
     var _initFirstSection = function(sections) {
         var first_section = sections.first();
-        var first_section_id = '#' + first_section.attr('id');
+        var first_section_id = '#' + first_section.attr(ATTRIBUTE.ID);
 
-        first_section.addClass(ACTIVE_CLASS);
+        first_section.addClass(CLASS.CURRENT);
         lng.Router.History.add(first_section_id);
     };
 
@@ -48,11 +45,11 @@ LUNGO.Boot.Section = (function(lng, undefined) {
     };
 
     var _initArticles = function(section) {
-        var first_article = section.children(SELECTORS.ARTICLE).first();
-        first_article.addClass(ACTIVE_CLASS);
+        var first_article = section.children(ELEMENT.ARTICLE).first();
+        first_article.addClass(CLASS.CURRENT);
 
-        var first_article_id = first_article.attr('id');
-        var section_id = '#' + section.attr('id');
+        var first_article_id = first_article.attr(ATTRIBUTE.ID);
+        var section_id = '#' + section.attr(ATTRIBUTE.ID);
         lng.View.Article.showReferenceLinks(section_id, first_article_id);
     };
 

+ 2 - 1
src/data/Lungo.Data.Sql.js

@@ -10,6 +10,7 @@
 
 LUNGO.Data.Sql = (function(lng, undefined) {
 
+    var ERROR = lng.Constants.ERROR;
     var CONFIG = {
         name: 'lungo_db',
         version: '1.0',
@@ -33,7 +34,7 @@ LUNGO.Data.Sql = (function(lng, undefined) {
         if (db) {
             _createSchema();
         } else {
-            lng.Core.log(3, 'lng.Data.Sql >> Failed to connect to database.');
+            lng.Core.log(3, ERROR.DATABASE);
         }
     };
 

+ 13 - 17
src/router/Lungo.Router.js

@@ -10,17 +10,10 @@
 
 LUNGO.Router = (function(lng, undefined) {
 
-    var CSS_CLASSES = {
-        SHOW: 'show',
-        HIDE: 'hide',
-        ACTIVE: 'current'
-    };
-
-    var ELEMENT = {
-        SECTION: 'section',
-        ARTICLE: 'article',
-        ASIDE: 'aside'
-    }
+    var CLASS = lng.Constants.CLASS;
+    var ELEMENT = lng.Constants.ELEMENT;
+    var ERROR = lng.Constants.ERROR;
+    var TRIGGER = lng.Constants.TRIGGER;
 
     /**
      * Navigate to a <section>.
@@ -34,8 +27,9 @@ LUNGO.Router = (function(lng, undefined) {
         var target = ELEMENT.SECTION + section_id;
 
         if (_existsTarget(target)) {
-            lng.dom(_getHistoryCurrent()).removeClass(CSS_CLASSES.SHOW).addClass(CSS_CLASSES.HIDE);
-            lng.dom(target).addClass(CSS_CLASSES.SHOW).trigger('load');
+            lng.dom(_getHistoryCurrent()).removeClass(CLASS.SHOW).addClass(CLASS.HIDE);
+
+            lng.dom(target).addClass(CLASS.SHOW).trigger(TRIGGER.LOAD);
 
             lng.Router.History.add(section_id);
         }
@@ -55,6 +49,7 @@ LUNGO.Router = (function(lng, undefined) {
         var target = ELEMENT.SECTION + section_id + ' ' + ELEMENT.ARTICLE + article_id;
 
         if (_existsTarget(target)) {
+            lng.dom(target).trigger(TRIGGER.LOAD);
             lng.View.Article.show(section_id, article_id);
         }
     };
@@ -73,7 +68,7 @@ LUNGO.Router = (function(lng, undefined) {
         var target = ELEMENT.ASIDE + aside_id;
 
         if (_existsTarget(target)) {
-            var is_visible = lng.dom(target).hasClass(CSS_CLASSES.ACTIVE);
+            var is_visible = lng.dom(target).hasClass(CLASS.CURRENT);
             if (is_visible) {
                 lng.View.Aside.hide(section_id, aside_id);
             } else {
@@ -88,10 +83,11 @@ LUNGO.Router = (function(lng, undefined) {
      * @method back
      */
     var back = function() {
-        lng.dom(_getHistoryCurrent()).removeClass(CSS_CLASSES.SHOW).trigger('unload');
+        var target = ELEMENT.SECTION + _getHistoryCurrent();
+        lng.dom(target).removeClass(CLASS.SHOW).trigger(TRIGGER.UNLOAD);
         lng.Router.History.removeLast();
 
-        lng.dom(_getHistoryCurrent()).removeClass(CSS_CLASSES.HIDE).addClass(CSS_CLASSES.SHOW);
+        lng.dom(_getHistoryCurrent()).removeClass(CLASS.HIDE).addClass(CLASS.SHOW);
     };
 
     var _existsTarget = function(target) {
@@ -100,7 +96,7 @@ LUNGO.Router = (function(lng, undefined) {
         if (lng.dom(target).length > 0) {
             exists = true;
         } else {
-            lng.Core.log(3, 'Lungo.Router ERROR: The target ' + target + ' does not exists.');
+            lng.Core.log(3, ERROR.ROUTER + target);
         }
 
         return exists;

+ 15 - 16
src/view/Lungo.View.Article.js

@@ -10,17 +10,16 @@
 
 LUNGO.View.Article = (function(lng, undefined) {
 
+    var ELEMENT = lng.Constants.ELEMENT;
+    var CLASS = lng.Constants.CLASS;
+    var ATTRIBUTE = lng.Constants.ATTRIBUTE;
+    var TRIGGER = lng.Constants.TRIGGER;
+
     var SELECTORS = {
-        ARTICLE: 'article',
-        SECTION: 'section',
         NAVIGATION_ITEM: 'a[href][data-target="article"]',
         REFERENCE_LINK: ' a[href][data-article]'
     };
 
-    var CSS_CLASSES = {
-        ACTIVE: 'current'
-    };
-
     /**
      * ?
      *
@@ -38,42 +37,42 @@ LUNGO.View.Article = (function(lng, undefined) {
      * @method showReferenceLinks
      */
     var showReferenceLinks = function(section_id, article_id) {
-        var links = lng.dom(SELECTORS.SECTION + section_id + SELECTORS.REFERENCE_LINK);
+        var links = lng.dom(ELEMENT.SECTION + section_id + SELECTORS.REFERENCE_LINK);
 
         for (var i = 0, len = links.length; i < len; i++) {
             var link = lng.dom(links[i]);
-            (link.data('article') === article_id) ? link.show() : link.hide();
+            (link.data(ATTRIBUTE.ARTICLE) === article_id) ? link.show() : link.hide();
         }
     };
 
     var _toggleNavItems = function(section_id, article_id) {
         var nav_items = lng.dom(section_id + ' ' + SELECTORS.NAVIGATION_ITEM);
-        nav_items.removeClass(CSS_CLASSES.ACTIVE);
+        nav_items.removeClass(CLASS.CURRENT);
 
         for (var i = 0, len = nav_items.length; i < len; i++) {
             var nav_item = lng.dom(nav_items[i]);
-            var nav_item_parsed_url = lng.Core.parseUrl(nav_item.attr('href'));
+            var nav_item_parsed_url = lng.Core.parseUrl(nav_item.attr(ATTRIBUTE.HREF));
 
             if (nav_item_parsed_url === article_id) {
-                nav_item.addClass(CSS_CLASSES.ACTIVE);
+                nav_item.addClass(CLASS.CURRENT);
                 _setTitle(section_id, nav_item);
             }
         }
     };
 
     var _showContainer = function(section_id, article_id) {
-        var section_articles = section_id + ' ' + SELECTORS.ARTICLE + '.' + CSS_CLASSES.ACTIVE;
-        var current_active_article_id = '#' + lng.dom(section_articles).attr('id');
+        var section_articles = section_id + ' ' + ELEMENT.ARTICLE + '.' + CLASS.CURRENT;
+        var current_active_article_id = '#' + lng.dom(section_articles).attr(ATTRIBUTE.ID);
 
-        lng.dom(section_articles).removeClass(CSS_CLASSES.ACTIVE);
+        lng.dom(section_articles).removeClass(CLASS.CURRENT).trigger(TRIGGER.UNLOAD);
         lng.Fallback.androidInputs(current_active_article_id, false);
 
-        lng.dom(article_id).addClass(CSS_CLASSES.ACTIVE);
+        lng.dom(article_id).addClass(CLASS.CURRENT);
         lng.Fallback.androidInputs(article_id, true);
     };
 
     var _setTitle = function(id, item) {
-        var title = item.data('title');
+        var title = item.data(ATTRIBUTE.TITLE);
 
         if (title) {
             var section_title = id + ' header .title, ' + id + ' footer .title';

+ 13 - 20
src/view/Lungo.View.Aside.js

@@ -10,16 +10,9 @@
 
 LUNGO.View.Aside = (function(lng, undefined) {
 
-     var SELECTORS = {
-        SECTION: 'section',
-        ASIDE: 'aside'
-    };
-
-    var CSS_CLASSES = {
-        ASIDE: 'aside',
-        ACTIVE: 'current',
-        ONRIGHT: 'onright'
-    };
+    var ELEMENT = lng.Constants.ELEMENT;
+    var CLASS = lng.Constants.CLASS;
+    var ATTRIBUTE = lng.Constants.ATTRIBUTE;
 
     /**
      * ?
@@ -30,12 +23,12 @@ LUNGO.View.Aside = (function(lng, undefined) {
      * @param  {string} Value for counter
      */
     var show = function(section_id, aside_id) {
-        var aside = lng.dom(SELECTORS.ASIDE + aside_id);
+        var aside = lng.dom(ELEMENT.ASIDE + aside_id);
         var aside_class = _classFromAside(aside);
-        var section = lng.dom(SELECTORS.SECTION + section_id);
+        var section = lng.dom(ELEMENT.SECTION + section_id);
 
-        section.addClass(aside_class).addClass(CSS_CLASSES.ASIDE);
-        aside.addClass(CSS_CLASSES.ACTIVE);
+        section.addClass(aside_class).addClass(CLASS.ASIDE);
+        aside.addClass(CLASS.CURRENT);
     };
 
     /**
@@ -47,19 +40,19 @@ LUNGO.View.Aside = (function(lng, undefined) {
      * @param  {string} Value for counter
      */
     var hide = function(section_id, aside_id) {
-        var aside = lng.dom(SELECTORS.ASIDE + aside_id);
-        var section = lng.dom(SELECTORS.SECTION + section_id);
+        var aside = lng.dom(ELEMENT.ASIDE + aside_id);
+        var section = lng.dom(ELEMENT.SECTION + section_id);
 
-        section.removeClass(CSS_CLASSES.ASIDE).removeClass(CSS_CLASSES.ONRIGHT);
+        section.removeClass(CLASS.ASIDE).removeClass(CLASS.RIGHT);
 
         setTimeout(function() {
-            var current_aside = SELECTORS.ASIDE + aside_id + '.' + CSS_CLASSES.ACTIVE;
-            lng.dom(current_aside).removeClass(CSS_CLASSES.ACTIVE);
+            var current_aside = ELEMENT.ASIDE + aside_id + '.' + CLASS.CURRENT;
+            lng.dom(current_aside).removeClass(CLASS.CURRENT);
         }, 300);
     };
 
     var _classFromAside = function(aside) {
-        var aside_class = aside.attr('class');
+        var aside_class = aside.attr(ATTRIBUTE.CLASS);
         return aside_class || '';
     };
 

+ 3 - 3
src/view/Lungo.View.Element.js

@@ -12,8 +12,8 @@ LUNGO.View.Element = (function(lng, undefined) {
     var SELECTORS = {
         BUBBLE: '.bubble.count'
     };
-    var BINDING_START = '{{';
-    var BINDING_END = '}}';
+
+    var BINDING = lng.Constants.BINDING;
 
     /**
      * Set a counter to the element
@@ -43,7 +43,7 @@ LUNGO.View.Element = (function(lng, undefined) {
             bubbles.html(count);
         } else {
             var count_html = LUNGO.Attributes.Data.Count.html;
-            var html_binded = count_html.replace(BINDING_START + 'value' + BINDING_END, count);
+            var html_binded = count_html.replace(BINDING.START + BINDING.KEY + BINDING.END, count);
 
             element.append(html_binded);
         }

+ 3 - 1
src/view/Lungo.View.Resize.js

@@ -10,6 +10,8 @@
 
 LUNGO.View.Resize = (function(lng, undefined) {
 
+    var ATTRIBUTE = lng.Constants.ATTRIBUTE;
+
     /**
      * Sets toolbars width, using total screen width
      *
@@ -24,7 +26,7 @@ LUNGO.View.Resize = (function(lng, undefined) {
             var toolbar_children = toolbar.children();
             var toolbar_children_width = (toolbar.width() / toolbar_children.length);
 
-            toolbar_children.style('width', toolbar_children_width + 'px');
+            toolbar_children.style(ATTRIBUTE.WIDTH, toolbar_children_width + ATTRIBUTE.PIXEL);
         }
     };
 

+ 7 - 8
src/view/Lungo.View.Scroll.js

@@ -11,6 +11,9 @@
 
 LUNGO.View.Scroll = (function(lng, undefined) {
 
+    var CLASS = lng.Constants.CLASS;
+    var ATTRIBUTE = lng.Constants.ATTRIBUTE;
+    var ERROR = lng.Constants.ERROR;
     var DEFAULT_PROPERTIES = {
         hScroll: false,
         vScroll: false,
@@ -21,11 +24,7 @@ LUNGO.View.Scroll = (function(lng, undefined) {
         fadeScrollbar: true,
         hideScrollbar: true
     };
-
-    var HORIZONTAL_CLASS = 'horizontal';
-
     var CACHE_KEY = 'scrolls';
-
     var SCROLL_TIMEFRAME = 250;
 
     /**
@@ -40,7 +39,7 @@ LUNGO.View.Scroll = (function(lng, undefined) {
         if (id) {
             _render(id, properties);
         } else {
-            lng.Core.log(3, 'ERROR: Impossible to create a <scroll> without ID');
+            lng.Core.log(3, ERROR.CREATE_SCROLL);
         }
     };
 
@@ -128,9 +127,9 @@ LUNGO.View.Scroll = (function(lng, undefined) {
             var content_height = 0;
 
             if (_isHorizontal(element)) {
-                content_width = -(_sizeProperty(element, 'width'));
+                content_width = -(_sizeProperty(element, ATTRIBUTE.WIDTH));
             } else {
-                content_height = -(_sizeProperty(element, 'height'));
+                content_height = -(_sizeProperty(element, ATTRIBUTE.HEIGHT));
             }
             scroll.scrollTo(content_width, content_height, SCROLL_TIMEFRAME);
         }
@@ -204,7 +203,7 @@ LUNGO.View.Scroll = (function(lng, undefined) {
     };
 
     var _isHorizontal = function(scroll) {
-        return ( scroll.hasClass(HORIZONTAL_CLASS)) ? true : false;
+        return ( scroll.hasClass(CLASS.HORIZONTAL)) ? true : false;
     };
 
     return {

+ 6 - 7
src/view/Lungo.View.Template.Binding.js

@@ -10,9 +10,8 @@
 
 LUNGO.View.Template.Binding = (function(lng, undefined) {
 
-    var BINDING_START = '{{';
-    var BINDING_END = '}}';
-    var BINDING_PARSER = /\{{.*?\}}/gi;
+    var BINDING = lng.Constants.BINDING;
+    var ERROR = lng.Constants.ERROR;
 
     /**
      * Performs databinding process for a data set and a given template
@@ -31,7 +30,7 @@ LUNGO.View.Template.Binding = (function(lng, undefined) {
         var data = element.data(attribute.tag);
 
         if (data) {
-            var html_binded = attribute.html.replace(BINDING_START + 'value' + BINDING_END, data);
+            var html_binded = attribute.html.replace(BINDING.START + BINDING.KEY + BINDING.END, data);
             element.prepend(html_binded);
         }
     };
@@ -44,7 +43,7 @@ LUNGO.View.Template.Binding = (function(lng, undefined) {
         } else if (data_type === 'object') {
             return _bindProperties(data, template);
         } else {
-            lng.Core.log(3, 'View.Template ERROR >> No type defined.');
+            lng.Core.log(3, ERROR.BINDING_DATA_TYPE);
         }
     };
 
@@ -60,7 +59,7 @@ LUNGO.View.Template.Binding = (function(lng, undefined) {
         var binding_field;
         for (var property in element) {
             if (lng.Core.isOwnProperty(element, property) && element[property] !== null) {
-                binding_field = new RegExp(BINDING_START + property + BINDING_END, 'g');
+                binding_field = new RegExp(BINDING.START + property + BINDING.END, 'g');
                 template = template.replace(binding_field, element[property]);
             }
         }
@@ -68,7 +67,7 @@ LUNGO.View.Template.Binding = (function(lng, undefined) {
     };
 
     var _removeNoBindedProperties = function(template) {
-        return template.replace(BINDING_PARSER, '');
+        return template.replace(BINDING.PARSER, '');
     };
 
     return {

+ 8 - 5
src/view/Lungo.View.Template.List.js

@@ -10,6 +10,9 @@
 
 LUNGO.View.Template.List = (function(lng, undefined) {
 
+    var ERROR = lng.Constants.ERROR;
+    var ATTRIBUTE = lng.Constants.ATTRIBUTE;
+
     /**
      * Create a list based DataBind with a configuration object for an element <article>
 	 * if the config has a 'norecords' property it will display the norecords markup rather than nothing.
@@ -33,7 +36,7 @@ LUNGO.View.Template.List = (function(lng, undefined) {
         var container = _getContainer(config.el);
 
         container.append(markup);
-        _scroll(config.el, 'last');
+        _scroll(config.el, ATTRIBUTE.LAST);
     };
 
     var prepend = function(config) {
@@ -41,7 +44,7 @@ LUNGO.View.Template.List = (function(lng, undefined) {
         var container = _getContainer(config.el);
 
         container.prepend(markup);
-        _scroll(config.el, 'first');
+        _scroll(config.el, ATTRIBUTE.FIRST);
     };
 
     var _validateConfig = function(config) {
@@ -55,7 +58,7 @@ LUNGO.View.Template.List = (function(lng, undefined) {
                 checked = true;
             }
         } else {
-            lng.Core.log(3, 'LungoJS [ERROR]: Incorrect parameters for lng.View.Template.List.create() method.');
+            lng.Core.log(3, ERROR.BINDING_LIST);
         }
 
         return checked;
@@ -77,11 +80,11 @@ LUNGO.View.Template.List = (function(lng, undefined) {
     };
 
     var _scroll = function(element, direction) {
-        var element_id = lng.dom(element).attr('id');
+        var element_id = lng.dom(element).attr(ATTRIBUTE.ID);
 
         lng.View.Scroll.init(element_id);
         if (direction) {
-            lng.View.Scroll[(direction === 'first') ? 'first' : 'last'](element_id);
+            lng.View.Scroll[(direction === ATTRIBUTE.FIRST) ? ATTRIBUTE.FIRST : ATTRIBUTE.LAST](element_id);
         }
     };
 

+ 3 - 1
src/view/Lungo.View.Template.js

@@ -10,6 +10,8 @@
 
 LUNGO.View.Template = (function(lng, undefined) {
 
+    var ERROR = lng.Constants.ERROR;
+
     var _templates = {};
 
     /**
@@ -66,7 +68,7 @@ LUNGO.View.Template = (function(lng, undefined) {
 
             lng.Core.execute(callback);
         } else {
-            lng.Core.log(3, 'lng.View.Template.binding: id ' + template_id + ' not exists');
+            lng.Core.log(3, ERROR.BINDING_TEMPLATE + template_id);
         }
     };