@soyjavi 14 лет назад
Родитель
Сommit
ed9d170bd5

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

@@ -14,7 +14,6 @@ LUNGO.Boot.Article = (function(lng, undefined) {
     var ELEMENT = lng.Constants.ELEMENT;
     var SELECTORS = {
         LIST_IN_ARTICLE: 'article.list, aside.list',
-        SCROLL_IN_ARTICLE: '.scrollable',
         CHECKBOX_IN_ARTICLE: '.checkbox, .radio'
     };
 
@@ -25,7 +24,6 @@ LUNGO.Boot.Article = (function(lng, undefined) {
      */
     var start = function() {
         _initElement(SELECTORS.LIST_IN_ARTICLE, _createListElement);
-        _initElement(SELECTORS.SCROLL_IN_ARTICLE, _createScrollElement);
         _initElement(SELECTORS.CHECKBOX_IN_ARTICLE, _createCheckboxElement);
     };
 
@@ -45,11 +43,6 @@ LUNGO.Boot.Article = (function(lng, undefined) {
         }
     };
 
-    var _createScrollElement = function(scroll) {
-        var scroll_id = scroll.attr(ATTRIBUTE.ID);
-        lng.View.Scroll.init(scroll_id);
-    };
-
     var _createCheckboxElement = function(checkbox) {
         checkbox.append(ELEMENT.SPAN);
     };

+ 0 - 6
src/boot/Lungo.Boot.Events.js

@@ -31,17 +31,11 @@ LUNGO.Boot.Events = (function(lng, undefined) {
         var touch_move_event  = 'touchmove';
         var resize = 'resize';
 
-        //@ToDo: Error with input type="range"
-        lng.dom(SELECTORS.DOCUMENT).on(touch_move_event, _iScroll);
         lng.dom(SELECTORS.WINDOW).on(resize, _changeOrientation);
         lng.dom(SELECTORS.HREF_TARGET).tap(_loadTarget);
         lng.dom(SELECTORS.HREF_TARGET_FROM_ASIDE).touch(_asideVisibility);
     };
 
-    var _iScroll = function(event) {
-        event.preventDefault();
-    };
-
     var _changeOrientation = function(event) {
         lng.View.Resize.toolbars();
         event.preventDefault();

+ 2 - 1
src/boot/Lungo.Boot.js

@@ -12,7 +12,8 @@ LUNGO.Boot = (function(lng, undefined) {
 
     return function() {
         lng.Boot.Resources.start();
-        lng.Boot.Layout.start();
+        //@todo: Resize Layout
+        //lng.Boot.Layout.start();
         lng.Boot.Events.start();
         lng.Boot.Data.start();
         lng.Boot.Section.start();

+ 0 - 602
src/lib/iscroll-lite.js

@@ -1,602 +0,0 @@
-/*!
- * iScroll Lite base on iScroll v4.1.6 ~ Copyright (c) 2011 Matteo Spinelli, http://cubiq.org
- * Released under MIT license, http://cubiq.org/license
- */
-
-(function(){
-var m = Math,
-	mround = function (r) { return r >> 0; },
-	vendor = (/webkit/i).test(navigator.appVersion) ? 'webkit' :
-		(/firefox/i).test(navigator.userAgent) ? 'Moz' :
-		'opera' in window ? 'O' : '',
-
-    // Browser capabilities
-    isAndroid = (/android/gi).test(navigator.appVersion),
-    isIDevice = (/iphone|ipad/gi).test(navigator.appVersion),
-    isPlaybook = (/playbook/gi).test(navigator.appVersion),
-    isTouchPad = (/hp-tablet/gi).test(navigator.appVersion),
-
-    has3d = 'WebKitCSSMatrix' in window && 'm11' in new WebKitCSSMatrix(),
-    hasTouch = 'ontouchstart' in window && !isTouchPad,
-    hasTransform = vendor + 'Transform' in document.documentElement.style,
-    hasTransitionEnd = isIDevice || isPlaybook,
-
-	nextFrame = (function() {
-	    return window.requestAnimationFrame
-			|| window.webkitRequestAnimationFrame
-			|| window.mozRequestAnimationFrame
-			|| window.oRequestAnimationFrame
-			|| window.msRequestAnimationFrame
-			|| function(callback) { return setTimeout(callback, 17); }
-	})(),
-	cancelFrame = (function () {
-	    return window.cancelRequestAnimationFrame
-			|| window.webkitCancelAnimationFrame
-			|| window.webkitCancelRequestAnimationFrame
-			|| window.mozCancelRequestAnimationFrame
-			|| window.oCancelRequestAnimationFrame
-			|| window.msCancelRequestAnimationFrame
-			|| clearTimeout
-	})(),
-
-	// Events
-	RESIZE_EV = 'onorientationchange' in window ? 'orientationchange' : 'resize',
-	START_EV = hasTouch ? 'touchstart' : 'mousedown',
-	MOVE_EV = hasTouch ? 'touchmove' : 'mousemove',
-	END_EV = hasTouch ? 'touchend' : 'mouseup',
-	CANCEL_EV = hasTouch ? 'touchcancel' : 'mouseup',
-
-	// Helpers
-	trnOpen = 'translate' + (has3d ? '3d(' : '('),
-	trnClose = has3d ? ',0)' : ')',
-
-	// Constructor
-	iScroll = function (el, options) {
-		var that = this,
-			doc = document,
-			i;
-
-		that.wrapper = typeof el == 'object' ? el : doc.getElementById(el);
-		that.wrapper.style.overflow = 'hidden';
-		that.scroller = that.wrapper.children[0];
-
-		// Default options
-		that.options = {
-			hScroll: true,
-			vScroll: true,
-			x: 0,
-			y: 0,
-			bounce: true,
-			bounceLock: false,
-			momentum: true,
-			lockDirection: true,
-			useTransform: true,
-			useTransition: false,
-
-			// Events
-			onRefresh: null,
-			onBeforeScrollStart: function (e) {
-				//e.preventDefault();
-				var target = e.target;
-                while (target.nodeType != 1) target = target.parentNode;
-
-                if (target.tagName != 'SELECT' && target.tagName != 'INPUT' && target.tagName != 'TEXTAREA') {
-					e.preventDefault();
-                }
-			},
-			onScrollStart: null,
-			onBeforeScrollMove: null,
-			onScrollMove: null,
-			onBeforeScrollEnd: null,
-			onScrollEnd: null,
-			onTouchEnd: null,
-			onDestroy: null
-		};
-
-		// User defined options
-		for (i in options) that.options[i] = options[i];
-
-		// Set starting position
-		that.x = that.options.x;
-		that.y = that.options.y;
-
-		// Normalize options
-		that.options.useTransform = hasTransform ? that.options.useTransform : false;
-		that.options.hScrollbar = that.options.hScroll && that.options.hScrollbar;
-		that.options.vScrollbar = that.options.vScroll && that.options.vScrollbar;
-		that.options.useTransition = hasTransitionEnd && that.options.useTransition;
-
-		// Set some default styles
-		that.scroller.style[vendor + 'TransitionProperty'] = that.options.useTransform ? '-' + vendor.toLowerCase() + '-transform' : 'top left';
-		that.scroller.style[vendor + 'TransitionDuration'] = '0';
-		that.scroller.style[vendor + 'TransformOrigin'] = '0 0';
-		if (that.options.useTransition) that.scroller.style[vendor + 'TransitionTimingFunction'] = 'cubic-bezier(0.33,0.66,0.66,1)';
-
-		if (that.options.useTransform) that.scroller.style[vendor + 'Transform'] = trnOpen + that.x + 'px,' + that.y + 'px' + trnClose;
-		else that.scroller.style.cssText += ';position:absolute;top:' + that.y + 'px;left:' + that.x + 'px';
-
-		that.refresh();
-
-		that._bind(RESIZE_EV, window);
-		that._bind(START_EV);
-		if (!hasTouch) that._bind('mouseout', that.wrapper);
-	};
-
-// Prototype
-iScroll.prototype = {
-	enabled: true,
-	x: 0,
-	y: 0,
-	steps: [],
-	scale: 1,
-
-	handleEvent: function (e) {
-		var that = this;
-		switch(e.type) {
-			case START_EV:
-				if (!hasTouch && e.button !== 0) return;
-				that._start(e);
-				break;
-			case MOVE_EV: that._move(e); break;
-			case END_EV:
-			case CANCEL_EV: that._end(e); break;
-			case RESIZE_EV: that._resize(); break;
-			case 'mouseout': that._mouseout(e); break;
-			case 'webkitTransitionEnd': that._transitionEnd(e); break;
-		}
-	},
-
-	_resize: function () {
-		this.refresh();
-	},
-
-	_pos: function (x, y) {
-		x = this.hScroll ? x : 0;
-		y = this.vScroll ? y : 0;
-
-		if (this.options.useTransform) {
-			this.scroller.style[vendor + 'Transform'] = trnOpen + x + 'px,' + y + 'px' + trnClose + ' scale(' + this.scale + ')';
-		} else {
-			x = mround(x);
-			y = mround(y);
-			this.scroller.style.left = x + 'px';
-			this.scroller.style.top = y + 'px';
-		}
-
-		this.x = x;
-		this.y = y;
-	},
-
-	_start: function (e) {
-		var that = this,
-			point = hasTouch ? e.touches[0] : e,
-			matrix, x, y;
-
-		if (!that.enabled) return;
-
-		if (that.options.onBeforeScrollStart) that.options.onBeforeScrollStart.call(that, e);
-
-		if (that.options.useTransition) that._transitionTime(0);
-
-		that.moved = false;
-		that.animating = false;
-		that.zoomed = false;
-		that.distX = 0;
-		that.distY = 0;
-		that.absDistX = 0;
-		that.absDistY = 0;
-		that.dirX = 0;
-		that.dirY = 0;
-
-		if (that.options.momentum) {
-			if (that.options.useTransform) {
-				// Very lame general purpose alternative to CSSMatrix
-				matrix = getComputedStyle(that.scroller, null)[vendor + 'Transform'].replace(/[^0-9-.,]/g, '').split(',');
-				x = matrix[4] * 1;
-				y = matrix[5] * 1;
-			} else {
-				x = getComputedStyle(that.scroller, null).left.replace(/[^0-9-]/g, '') * 1;
-				y = getComputedStyle(that.scroller, null).top.replace(/[^0-9-]/g, '') * 1;
-			}
-
-			if (x != that.x || y != that.y) {
-				if (that.options.useTransition) that._unbind('webkitTransitionEnd');
-				else cancelFrame(that.aniTime);
-				that.steps = [];
-				that._pos(x, y);
-			}
-		}
-
-		that.startX = that.x;
-		that.startY = that.y;
-		that.pointX = point.pageX;
-		that.pointY = point.pageY;
-
-		that.startTime = e.timeStamp || Date.now();
-
-		if (that.options.onScrollStart) that.options.onScrollStart.call(that, e);
-
-		that._bind(MOVE_EV);
-		that._bind(END_EV);
-		that._bind(CANCEL_EV);
-	},
-
-	_move: function (e) {
-		var that = this,
-			point = hasTouch ? e.touches[0] : e,
-			deltaX = point.pageX - that.pointX,
-			deltaY = point.pageY - that.pointY,
-			newX = that.x + deltaX,
-			newY = that.y + deltaY,
-			timestamp = e.timeStamp || Date.now();
-
-		if (that.options.onBeforeScrollMove) that.options.onBeforeScrollMove.call(that, e);
-
-		that.pointX = point.pageX;
-		that.pointY = point.pageY;
-
-		// Slow down if outside of the boundaries
-		if (newX > 0 || newX < that.maxScrollX) {
-			newX = that.options.bounce ? that.x + (deltaX / 2) : newX >= 0 || that.maxScrollX >= 0 ? 0 : that.maxScrollX;
-		}
-		if (newY > 0 || newY < that.maxScrollY) {
-			newY = that.options.bounce ? that.y + (deltaY / 2) : newY >= 0 || that.maxScrollY >= 0 ? 0 : that.maxScrollY;
-		}
-
-		if (that.absDistX < 6 && that.absDistY < 6) {
-			that.distX += deltaX;
-			that.distY += deltaY;
-			that.absDistX = m.abs(that.distX);
-			that.absDistY = m.abs(that.distY);
-
-			return;
-		}
-
-		// Lock direction
-		if (that.options.lockDirection) {
-			if (that.absDistX > that.absDistY + 5) {
-				newY = that.y;
-				deltaY = 0;
-			} else if (that.absDistY > that.absDistX + 5) {
-				newX = that.x;
-				deltaX = 0;
-			}
-		}
-
-		that.moved = true;
-		that._pos(newX, newY);
-		that.dirX = deltaX > 0 ? -1 : deltaX < 0 ? 1 : 0;
-		that.dirY = deltaY > 0 ? -1 : deltaY < 0 ? 1 : 0;
-
-		if (timestamp - that.startTime > 300) {
-			that.startTime = timestamp;
-			that.startX = that.x;
-			that.startY = that.y;
-		}
-
-		if (that.options.onScrollMove) that.options.onScrollMove.call(that, e);
-	},
-
-	_end: function (e) {
-		if (hasTouch && e.touches.length != 0) return;
-
-		var that = this,
-			point = hasTouch ? e.changedTouches[0] : e,
-			target, ev,
-			momentumX = { dist:0, time:0 },
-			momentumY = { dist:0, time:0 },
-			duration = (e.timeStamp || Date.now()) - that.startTime,
-			newPosX = that.x,
-			newPosY = that.y,
-			newDuration;
-
-		that._unbind(MOVE_EV);
-		that._unbind(END_EV);
-		that._unbind(CANCEL_EV);
-
-		if (that.options.onBeforeScrollEnd) that.options.onBeforeScrollEnd.call(that, e);
-
-		if (!that.moved) {
-			if (hasTouch) {
-				// Find the last touched element
-				target = point.target;
-				while (target.nodeType != 1) target = target.parentNode;
-
-				if (target.tagName != 'SELECT' && target.tagName != 'INPUT' && target.tagName != 'TEXTAREA') {
-					ev = document.createEvent('MouseEvents');
-					ev.initMouseEvent('click', true, true, e.view, 1,
-						point.screenX, point.screenY, point.clientX, point.clientY,
-						e.ctrlKey, e.altKey, e.shiftKey, e.metaKey,
-						0, null);
-					ev._fake = true;
-					target.dispatchEvent(ev);
-				}
-			}
-
-			that._resetPos(200);
-
-			if (that.options.onTouchEnd) that.options.onTouchEnd.call(that, e);
-			return;
-		}
-
-		if (duration < 300 && that.options.momentum) {
-			momentumX = newPosX ? that._momentum(newPosX - that.startX, duration, -that.x, that.scrollerW - that.wrapperW + that.x, that.options.bounce ? that.wrapperW : 0) : momentumX;
-			momentumY = newPosY ? that._momentum(newPosY - that.startY, duration, -that.y, (that.maxScrollY < 0 ? that.scrollerH - that.wrapperH + that.y : 0), that.options.bounce ? that.wrapperH : 0) : momentumY;
-
-			newPosX = that.x + momentumX.dist;
-			newPosY = that.y + momentumY.dist;
-
- 			if ((that.x > 0 && newPosX > 0) || (that.x < that.maxScrollX && newPosX < that.maxScrollX)) momentumX = { dist:0, time:0 };
- 			if ((that.y > 0 && newPosY > 0) || (that.y < that.maxScrollY && newPosY < that.maxScrollY)) momentumY = { dist:0, time:0 };
-		}
-
-		if (momentumX.dist || momentumY.dist) {
-			newDuration = m.max(m.max(momentumX.time, momentumY.time), 10);
-
-			that.scrollTo(mround(newPosX), mround(newPosY), newDuration);
-
-			if (that.options.onTouchEnd) that.options.onTouchEnd.call(that, e);
-			return;
-		}
-
-		that._resetPos(200);
-		if (that.options.onTouchEnd) that.options.onTouchEnd.call(that, e);
-	},
-
-	_resetPos: function (time) {
-		var that = this,
-			resetX = that.x >= 0 ? 0 : that.x < that.maxScrollX ? that.maxScrollX : that.x,
-			resetY = that.y >= 0 || that.maxScrollY > 0 ? 0 : that.y < that.maxScrollY ? that.maxScrollY : that.y;
-
-		if (resetX == that.x && resetY == that.y) {
-			if (that.moved) {
-				if (that.options.onScrollEnd) that.options.onScrollEnd.call(that);		// Execute custom code on scroll end
-				that.moved = false;
-			}
-
-			return;
-		}
-
-		that.scrollTo(resetX, resetY, time || 0);
-	},
-
-	_mouseout: function (e) {
-		var t = e.relatedTarget;
-
-		if (!t) {
-			this._end(e);
-			return;
-		}
-
-		while (t = t.parentNode) if (t == this.wrapper) return;
-
-		this._end(e);
-	},
-
-	_transitionEnd: function (e) {
-		var that = this;
-
-		if (e.target != that.scroller) return;
-
-		that._unbind('webkitTransitionEnd');
-
-		that._startAni();
-	},
-
-	/**
-	 *
-	 * Utilities
-	 *
-	 */
-	_startAni: function () {
-		var that = this,
-			startX = that.x, startY = that.y,
-			startTime = Date.now(),
-			step, easeOut,
-			animate;
-
-		if (that.animating) return;
-
-		if (!that.steps.length) {
-			that._resetPos(400);
-			return;
-		}
-
-		step = that.steps.shift();
-
-		if (step.x == startX && step.y == startY) step.time = 0;
-
-		that.animating = true;
-		that.moved = true;
-
-		if (that.options.useTransition) {
-			that._transitionTime(step.time);
-			that._pos(step.x, step.y);
-			that.animating = false;
-			if (step.time) that._bind('webkitTransitionEnd');
-			else that._resetPos(0);
-			return;
-		}
-
-		animate = function () {
-			var now = Date.now(),
-				newX, newY;
-
-			if (now >= startTime + step.time) {
-				that._pos(step.x, step.y);
-				that.animating = false;
-				if (that.options.onAnimationEnd) that.options.onAnimationEnd.call(that);			// Execute custom code on animation end
-				that._startAni();
-				return;
-			}
-
-			now = (now - startTime) / step.time - 1;
-			easeOut = m.sqrt(1 - now * now);
-			newX = (step.x - startX) * easeOut + startX;
-			newY = (step.y - startY) * easeOut + startY;
-			that._pos(newX, newY);
-			if (that.animating) that.aniTime = nextFrame(animate);
-		};
-
-		animate();
-	},
-
-	_transitionTime: function (time) {
-		this.scroller.style[vendor + 'TransitionDuration'] = time + 'ms';
-	},
-
-	_momentum: function (dist, time, maxDistUpper, maxDistLower, size) {
-		var deceleration = 0.0006,
-			speed = m.abs(dist) / time,
-			newDist = (speed * speed) / (2 * deceleration),
-			newTime = 0, outsideDist = 0;
-
-		// Proportinally reduce speed if we are outside of the boundaries
-		if (dist > 0 && newDist > maxDistUpper) {
-			outsideDist = size / (6 / (newDist / speed * deceleration));
-			maxDistUpper = maxDistUpper + outsideDist;
-			speed = speed * maxDistUpper / newDist;
-			newDist = maxDistUpper;
-		} else if (dist < 0 && newDist > maxDistLower) {
-			outsideDist = size / (6 / (newDist / speed * deceleration));
-			maxDistLower = maxDistLower + outsideDist;
-			speed = speed * maxDistLower / newDist;
-			newDist = maxDistLower;
-		}
-
-		newDist = newDist * (dist < 0 ? -1 : 1);
-		newTime = speed / deceleration;
-
-		return { dist: newDist, time: mround(newTime) };
-	},
-
-	_offset: function (el) {
-		var left = -el.offsetLeft,
-			top = -el.offsetTop;
-
-		while (el = el.offsetParent) {
-			left -= el.offsetLeft;
-			top -= el.offsetTop;
-		}
-
-		return { left: left, top: top };
-	},
-
-	_bind: function (type, el, bubble) {
-		(el || this.scroller).addEventListener(type, this, !!bubble);
-	},
-
-	_unbind: function (type, el, bubble) {
-		(el || this.scroller).removeEventListener(type, this, !!bubble);
-	},
-
-
-	/**
-	 *
-	 * Public methods
-	 *
-	 */
-	destroy: function () {
-		var that = this;
-
-		that.scroller.style[vendor + 'Transform'] = '';
-
-		// Remove the event listeners
-		that._unbind(RESIZE_EV, window);
-		that._unbind(START_EV);
-		that._unbind(MOVE_EV);
-		that._unbind(END_EV);
-		that._unbind(CANCEL_EV);
-		that._unbind('mouseout', that.wrapper);
-		if (that.options.useTransition) that._unbind('webkitTransitionEnd');
-
-		if (that.options.onDestroy) that.options.onDestroy.call(that);
-	},
-
-	refresh: function () {
-		var that = this,
-			offset;
-
-		that.wrapperW = that.wrapper.clientWidth;
-		that.wrapperH = that.wrapper.clientHeight;
-
-		that.scrollerW = that.scroller.offsetWidth;
-		that.scrollerH = that.scroller.offsetHeight;
-		that.maxScrollX = that.wrapperW - that.scrollerW;
-		that.maxScrollY = that.wrapperH - that.scrollerH;
-		that.dirX = 0;
-		that.dirY = 0;
-
-		that.hScroll = that.options.hScroll && that.maxScrollX < 0;
-		that.vScroll = that.options.vScroll && (!that.options.bounceLock && !that.hScroll || that.scrollerH > that.wrapperH);
-
-		offset = that._offset(that.wrapper);
-		that.wrapperOffsetLeft = -offset.left;
-		that.wrapperOffsetTop = -offset.top;
-
-
-		that.scroller.style[vendor + 'TransitionDuration'] = '0';
-
-		that._resetPos(200);
-	},
-
-	scrollTo: function (x, y, time, relative) {
-		var that = this,
-			step = x,
-			i, l;
-
-		that.stop();
-
-		if (!step.length) step = [{ x: x, y: y, time: time, relative: relative }];
-
-		for (i=0, l=step.length; i<l; i++) {
-			if (step[i].relative) { step[i].x = that.x - step[i].x; step[i].y = that.y - step[i].y; }
-			that.steps.push({ x: step[i].x, y: step[i].y, time: step[i].time || 0 });
-		}
-
-		that._startAni();
-	},
-
-	scrollToElement: function (el, time) {
-		var that = this, pos;
-		el = el.nodeType ? el : that.scroller.querySelector(el);
-		if (!el) return;
-
-		pos = that._offset(el);
-		pos.left += that.wrapperOffsetLeft;
-		pos.top += that.wrapperOffsetTop;
-
-		pos.left = pos.left > 0 ? 0 : pos.left < that.maxScrollX ? that.maxScrollX : pos.left;
-		pos.top = pos.top > 0 ? 0 : pos.top < that.maxScrollY ? that.maxScrollY : pos.top;
-		time = time === undefined ? m.max(m.abs(pos.left)*2, m.abs(pos.top)*2) : time;
-
-		that.scrollTo(pos.left, pos.top, time);
-	},
-
-	disable: function () {
-		this.stop();
-		this._resetPos(0);
-		this.enabled = false;
-
-		// If disabled after touchstart we make sure that there are no left over events
-		this._unbind(MOVE_EV);
-		this._unbind(END_EV);
-		this._unbind(CANCEL_EV);
-	},
-
-	enable: function () {
-		this.enabled = true;
-	},
-
-	stop: function () {
-		cancelFrame(this.aniTime);
-		this.steps = [];
-		this.moved = false;
-		this.animating = false;
-	}
-};
-
-if (typeof exports !== 'undefined') exports.iScroll = iScroll;
-else window.iScroll = iScroll;
-
-})();

+ 0 - 4
src/stylesheets/Lungo.widgets.less

@@ -10,10 +10,6 @@
 @import "constants.less";
 @import "mixins.less";
 
-.scrollable {
-    display: block;
-}
-
 .scroll {
     // overflow: scroll;
     //     overflow-x: hidden;

+ 0 - 1
src/stylesheets/css/Lungo.widgets.css

@@ -1,4 +1,3 @@
-.scrollable{display:block;}
 .scroll{overflow-y:scroll;-webkit-overflow-scrolling:touch;-webkit-box-flex:1;}.scroll.horizontal{overflow-x:scroll;overflow-y:hidden !important;}.scroll.horizontal >*{min-width:4096px;}.scroll.horizontal >* >*{float:left;}
 .onleft{float:left;}
 .onright{float:right;}

+ 0 - 220
src/view/Lungo.View.Scroll.js

@@ -1,220 +0,0 @@
-/**
- * Wrapper of the third library iScroll
- *
- * @namespace LUNGO.View
- * @class Scroll
- * @requires iScroll
- *
- * @author Javier Jimenez Villar <javi@tapquo.com> || @soyjavi
- * @author Guillermo Pascual <pasku@tapquo.com> || @pasku1
- */
-
-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,
-        useTransition: true,
-        momentum: true,
-        lockDirection: true,
-        fixedScrollbar: true,
-        fadeScrollbar: true,
-        hideScrollbar: true
-    };
-    var CACHE_KEY = 'scrolls';
-    var SCROLL_TIMEFRAME = 250;
-
-    /**
-     * Creates a new iScroll element.
-     *
-     * @method init
-     *
-     * @param {string} Id of the container scroll.
-     * @param {object} [OPTIONAL] Properties
-     */
-    var init = function(id, properties) {
-        if (id) {
-            _render(id, properties);
-        } else {
-            lng.Core.log(3, ERROR.CREATE_SCROLL);
-        }
-    };
-
-    /**
-     * Update iScroll element with new <markup> content.
-     *
-     * @method html
-     *
-     * @param {string} Id of the container scroll.
-     * @param {string} Markup content
-     */
-    var html = function(id, content) {
-        var container = _getContainer(id);
-        container.html(content);
-
-        _render(id);
-    };
-
-    /**
-     * Add <markup> content to iScroll instance
-     *
-     * @method append
-     *
-     * @param {string} Id of the container scroll.
-     * @param {string} Markup content
-     */
-    var append = function(id, content) {
-        var container = _getContainer(id);
-        container.append(content);
-
-        _render(id);
-    };
-
-    /**
-     * Refresh iScroll instance.
-     *
-     * @method refresh
-     *
-     * @param {string} Id of the container scroll.
-     * @param {object} [OPTIONAL] Properties
-     */
-    var refresh = function(id, properties) {
-        _render(id, properties);
-    };
-
-    /**
-     * Removes iScroll instance.
-     *
-     * @method remove
-     *
-     * @param {string} Id of the container scroll.
-     */
-    var remove = function(id) {
-        if (lng.Data.Cache.exists(CACHE_KEY) && lng.Data.Cache.get(CACHE_KEY, id)) {
-            lng.Data.Cache.get(CACHE_KEY, id).destroy();
-            lng.Data.Cache.remove(CACHE_KEY, id);
-        }
-    };
-
-    /**
-     * Scrolls the wrapper contents to the minimum x/y coordinates
-     *
-     * @method first
-     *
-     * @param {string} Id of the <section>
-     */
-    var first = function(id) {
-        var scroll = lng.Data.Cache.get(CACHE_KEY);
-        if (scroll[id]) {
-            scroll[id].scrollTo(0, 0, SCROLL_TIMEFRAME);
-        }
-    };
-
-    /**
-     * Scrolls the wrapper contents to the maximum x/y coordinate
-     *
-     * @method down
-     *
-     * @param {string} Id of the <section>
-     */
-    var last = function(id) {
-        var scroll =  lng.Data.Cache.get(CACHE_KEY, id);
-        if (scroll) {
-            var element = lng.dom('#' + id).first();
-            var content_width = 0;
-            var content_height = 0;
-
-            if (_isHorizontal(element)) {
-                content_width = -(_sizeProperty(element, ATTRIBUTE.WIDTH));
-            } else {
-                content_height = -(_sizeProperty(element, ATTRIBUTE.HEIGHT));
-            }
-            scroll.scrollTo(content_width, content_height, SCROLL_TIMEFRAME);
-        }
-    };
-
-    var _getContainer = function(id) {
-        var scroll = lng.dom('#' + id);
-        var container = scroll.children().first();
-
-        if (container.length === 0) {
-            scroll.html('<div></div>');
-            container = scroll.children().first();
-        }
-
-        return container;
-    };
-
-    var _sizeProperty = function(element, property) {
-        var element_content = element.children().first();
-        return element_content[property]() - element[property]();
-    };
-
-    var _render = function(id, properties) {
-        var scroll = lng.dom('#' + id);
-
-        if (_needScroll(scroll, properties)) {
-            properties = _mixProperties(scroll, properties);
-            _saveScrollInCache(id, properties);
-        } else {
-            remove(id);
-        }
-    };
-
-    var _needScroll = function(scroll, properties) {
-        var element = scroll[0];
-        var is_horizontal = _isHorizontal(lng.dom(element));
-
-        if (is_horizontal) {
-            return (element.clientWidth < element.scrollWidth);
-        } else {
-            return (element.clientHeight < element.scrollHeight);
-        }
-    };
-
-    var _saveScrollInCache = function(id, properties) {
-        _createScrollIndexInCache();
-
-        var scroll = lng.Data.Cache.get(CACHE_KEY);
-        if (!scroll[id]) {
-            scroll[id] = new iScroll(id, properties);
-        } else {
-            scroll[id].refresh();
-        }
-        lng.Data.Cache.set(CACHE_KEY, scroll);
-    };
-
-    var _createScrollIndexInCache = function() {
-        if (!lng.Data.Cache.exists(CACHE_KEY)) {
-            lng.Data.Cache.set(CACHE_KEY, {});
-        }
-    };
-
-    var _mixProperties = function(scroll, properties) {
-        var scroll_type = _isHorizontal(scroll) ? 'hScroll' : 'vScroll';
-
-        properties || (properties = {});
-        properties[scroll_type] = true;
-        properties = lng.Core.mix(DEFAULT_PROPERTIES, properties);
-
-        return properties;
-    };
-
-    var _isHorizontal = function(scroll) {
-        return ( scroll.hasClass(CLASS.HORIZONTAL)) ? true : false;
-    };
-
-    return {
-        init: init,
-        remove: remove,
-        refresh: refresh,
-        html: html,
-        append: append,
-        first: first,
-        last: last
-    };
-
-})(LUNGO);

+ 1 - 1
vendor/build.sh

@@ -41,7 +41,7 @@ echo -e "\033[0m"============================ LUNGO COMPILER ===================
     #View
     DIR=$LUNGO_SOURCES"view/"$LUNGO_NAMESPACE"View."
     echo -e "\033[33m  [DIR]: "$LUNGO_SOURCES"view/"
-    FILES=(Article.js Resize.js Template.js Template.Binding.js Template.List.js Scroll.js Aside.js Element.js)
+    FILES=(Article.js Resize.js Template.js Template.Binding.js Template.List.js Aside.js Element.js)
     for file in "${FILES[@]}"
     do
         FILES_TO_COMPILE=$FILES_TO_COMPILE" --js "$DIR$file