Переглянути джерело

Test project for future 2.0 release

@soyjavi 14 роки тому
батько
коміт
0219ef9df3
40 змінених файлів з 926 додано та 0 видалено
  1. 41 0
      examples/test/app/app.js
  2. 28 0
      examples/test/app/data.js
  3. 76 0
      examples/test/app/events.js
  4. 15 0
      examples/test/app/sections/aside-profiles.html
  5. 15 0
      examples/test/app/sections/aside.html
  6. 18 0
      examples/test/app/sections/buttons-extra.html
  7. 115 0
      examples/test/app/sections/forms.html
  8. 19 0
      examples/test/app/sections/lists.html
  9. 5 0
      examples/test/app/sections/local.html
  10. 4 0
      examples/test/app/sections/navigation-flow.html
  11. 10 0
      examples/test/app/sections/navigation-index.html
  12. 4 0
      examples/test/app/sections/navigation-normal.html
  13. 4 0
      examples/test/app/sections/navigation-pop.html
  14. 37 0
      examples/test/app/sections/navigation.html
  15. 4 0
      examples/test/app/sections/remote.html
  16. 20 0
      examples/test/app/sections/settings.html
  17. 78 0
      examples/test/app/services.js
  18. 1 0
      examples/test/app/templates/list-home.html
  19. 29 0
      examples/test/app/view.js
  20. BIN
      examples/test/assets/images/avatars/1.jpg
  21. BIN
      examples/test/assets/images/avatars/10.jpg
  22. BIN
      examples/test/assets/images/avatars/11.jpg
  23. BIN
      examples/test/assets/images/avatars/12.jpg
  24. BIN
      examples/test/assets/images/avatars/2.jpg
  25. BIN
      examples/test/assets/images/avatars/3.jpg
  26. BIN
      examples/test/assets/images/avatars/4.jpg
  27. BIN
      examples/test/assets/images/avatars/5.jpg
  28. BIN
      examples/test/assets/images/avatars/6.jpg
  29. BIN
      examples/test/assets/images/avatars/7.jpg
  30. BIN
      examples/test/assets/images/avatars/8.jpg
  31. BIN
      examples/test/assets/images/avatars/9.jpg
  32. BIN
      examples/test/assets/images/avatars/ikalbeniz.jpg
  33. BIN
      examples/test/assets/images/avatars/pasku.jpg
  34. BIN
      examples/test/assets/images/avatars/soyjavi.jpg
  35. BIN
      examples/test/assets/images/default.png
  36. BIN
      examples/test/assets/images/icon-72.png
  37. BIN
      examples/test/assets/images/icon.png
  38. BIN
      examples/test/assets/images/icon@2x.png
  39. 27 0
      examples/test/assets/stylesheets/app.css
  40. 376 0
      examples/test/index.html

+ 41 - 0
examples/test/app/app.js

@@ -0,0 +1,41 @@
+var App = (function(lng, undefined) {
+
+
+    lng.App.init({
+        name: 'Kitchen Sink',
+        version: '1.2',
+        resources: {
+            sections: [
+                'navigation.html',
+                'navigation-index.html',
+                'navigation-normal.html',
+                'navigation-pop.html',
+                'navigation-flow.html',
+                'buttons.html',
+                'lists.html',
+                'settings.html',
+                'forms.html',
+                'buttons-extra.html',
+                'aside.html',
+                'aside-profiles.html',
+                'http://examples.tapquo.com/examples/kitchen-sink/app/sections/remote.html',
+                'http://examples.tapquo.com/examples/kitchen-sink/app/sections/error.html']
+        }
+    });
+
+    var _getEnvironmentFromQuoJS = (function() {
+        var environment = lng.Core.environment();
+        if (environment.isMobile) {
+           // alert('Your phone is ' + environment.os.name + ' (' + environment.os.version + ')');
+        }
+    })();
+
+    lng.View.Element.count('#btn-one', 7);
+    lng.View.Element.count('#btn-three', 0);
+    lng.View.Element.count('#aside-one', 17);
+
+    return {
+
+    };
+
+})(LUNGO);

+ 28 - 0
examples/test/app/data.js

@@ -0,0 +1,28 @@
+App.Data = (function(lng, App, undefined) {
+
+
+    lng.Data.Sql.init({
+        name: 'lungo.js',
+        version: '1.0',
+        schema: [
+            { name: 'test', drop: true, fields: {
+                id: 'INTEGER PRIMARY KEY',
+                name: 'TEXT',
+                done: 'INTEGER DEFAULT 0',
+                created_at: 'DATETIME'
+                }
+            }
+        ]
+    });
+
+    lng.Data.Sql.insert('test', {name:'javi', done:'1'});
+
+    lng.Data.Sql.insert('test',
+        [
+            {name:'aitor', done:'1'},
+            {name:'iker', done:'1'}
+        ]
+    );
+
+
+})(LUNGO, App);

+ 76 - 0
examples/test/app/events.js

@@ -0,0 +1,76 @@
+App.Events = (function(lng, undefined) {
+
+    lng.ready(function() {
+        App.Services.mockProfiles();
+
+        lng.View.Aside.show('#kitchen-sink', '#kitchen-sink-scroll');
+        lng.View.Element.progress('.progress', 10, true, 'Downloading 1/5...');
+    });
+
+    lng.dom('#event_touchstart').touch(function(event) { alert("touchstart!"); });
+    //OR
+    //lng.dom('#event_touchstart').on('touchstart', function(event) { alert("TOUCH_START!"); });
+    lng.dom('#event_touchend').on('touchend', function(event) { alert("touchend!");  });
+    lng.dom('#event_touchmove').on('touchmove' , function(event) { alert("touchmove!"); });
+
+    //Tap Methods
+    lng.dom('#event_tap').tap(function(event) { alert("tap!"); });
+    //OR
+    //lng.dom('#event_tap').on('tap', function(event) { alert("TAP!"); });
+    lng.dom('#event_doubletap').doubleTap(function(event) { alert("doubleTap!"); });
+    lng.dom('#event_longtap').longTap(function(event) { alert("longTap!"); });
+
+    //Swipe Methods
+    lng.dom('#swipe').swipe(function(event) { alert("swipe!"); });
+    lng.dom('#swipe_left').swipeLeft(function(event) { alert("swipeLeft!"); });
+    lng.dom('#swipe_right').swipeRight(function(event) { alert("swipeRight!"); });
+    lng.dom('#swipe_up').swipeUp(function(event) { alert("swipeUp!"); });
+    lng.dom('#swipe_down').swipeDown(function(event) { alert("swipeDown!"); });
+
+    lng.dom('a[href="#scrolls"]').on('tap', function(event) {
+        App.View.mockScrolls();
+    });
+
+    lng.dom('section#navigation-index article a').tap(function(event) {
+        var type_of_transition = lng.dom(this).attr('class') || 'normal';
+
+        lng.dom('section#navigation-index').removeClass('pop').removeClass('flow').addClass(type_of_transition);
+
+        setTimeout(function() {
+            lng.Router.section('navigation-' + type_of_transition);
+        }, 100);
+    });
+
+    //List.Append & List.prepend
+    lng.dom('section#lists header .onright a').tap(function(event) {
+        var param = {
+            el: '#list-dinamic',
+            template: 'profile-tmp',
+            data: {
+                name: 'Dinamic item list',
+                description: '@soyjavi'
+            }
+        };
+
+        if ($$(this).hasClass('prepend')) {
+            lng.View.Template.List.append(param);
+        } else {
+            lng.View.Template.List.prepend(param);
+        }
+    });
+
+
+    //SPECIAL
+    $$('section#navigation').on('load', function(event) {
+        console.error('Load #navigation', event);
+    });
+
+    $$('section#navigation').on('unload', function(event) {
+        console.error('Unload', event);
+    });
+
+    $$('article#authors').on('load', function(event) {
+        console.error('loaded article');
+    });
+
+})(LUNGO);

+ 15 - 0
examples/test/app/sections/aside-profiles.html

@@ -0,0 +1,15 @@
+<aside id="profiles" class="scrollable onright">
+    <div>
+        <div class="anchor">Author of LungoJS</div>
+        <a href="http://twitter.com/soyjavi" target="_blank" data-image="assets/images/avatars/soyjavi.jpg">Javi Jim&eacute;nez Villar</a>
+        <div class="anchor">CoreTeam</div>
+        <a href="http://twitter.com/pasku1" target="_blank" data-image="assets/images/avatars/pasku.jpg">Guillermo Pascual</a>
+        <div class="anchor">Contributors</div>
+        <a href="http://twitter.com/ikalbeniz" target="_blank" data-image="assets/images/avatars/ikalbeniz.jpg">Iker Perez de Albeniz</a>
+        <a href="#" data-image="https://secure.gravatar.com/avatar/b374f3bd05b1db4a974585ba57661815?s=140&d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png">Jorge Casar</a>
+        <a href="#" data-image="https://secure.gravatar.com/avatar/3d4bf44cff9779242dd82d20a0b7d0c8?s=140&d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png">Dave Winders</a>
+        <a href="#" data-image="https://secure.gravatar.com/avatar/884b5d1e91b826afc8c6b4fc3429dbd0?s=140&d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png">GermanDZ</a>
+        <a href="#" data-image="https://secure.gravatar.com/avatar/b41d652ca9b88e636516d907599dcc87?s=140&d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png">Juan Gallego Galisteo</a>
+        <a href="#" data-image="https://secure.gravatar.com/avatar/a3257b495a2bc4ae15405c7880300848?s=140&d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png">John McLear</a>
+    </div>
+</aside>

+ 15 - 0
examples/test/app/sections/aside.html

@@ -0,0 +1,15 @@
+<aside id="kitchen-sink-scroll" class="scrollable">
+    <div>
+        <div class="title">Select a option</div>
+        <a href="#welcome" data-target="article" class="current" data-icon="wifi">Welcome</a>
+        <a href="#navigation" data-target="section" data-icon="map">Navigation</a>
+        <a href="#buttons" data-target="article" data-icon="plus" data-count="14">Buttons & Colours</a>
+        <a href="#icons" data-target="article" data-icon="picture" data-count="94">Icons</a>
+        <a href="#data-attributes" data-target="article" data-icon="tag" data-count="6">Data Attributes</a>
+        <a href="#forms" data-target="section" data-icon="edit" data-count="7">Form Elements</a>
+        <a href="#lists" data-target="section" data-icon="items" data-count="5">Lists</a>
+        <a href="#events" data-target="article" data-icon="user">Events</a>
+        <a href="#scrolls" data-target="article" data-icon="down">Scrolls</a>
+        <a href="#urls" data-target="article" data-icon="down">URL Scheme Reference</a>
+    </div>
+</aside>

+ 18 - 0
examples/test/app/sections/buttons-extra.html

@@ -0,0 +1,18 @@
+<section id="buttons-extra">
+    <header data-back="home" data-title="Example of buttons">
+        <nav class="onright">
+            <a href="#" class="button red " data-icon="add">With icon</a>
+            <a href="#" class="button arcticblue ">Text</a>
+        </nav>
+    </header>
+
+    <footer>
+        <nav class="onleft">
+            <a href="#" class="button blue ">Text</a>
+            <a href="#" class="button yellow " data-icon="left"></a>
+        </nav>
+        <a href="#" class="button orange onright" data-icon="right">onright</a>
+    </footer>
+
+    <article></article>
+</section>

+ 115 - 0
examples/test/app/sections/forms.html

@@ -0,0 +1,115 @@
+<section id="forms">
+    <header data-title="Forms" class="extended" data-back="home">
+        <nav class="groupbar">
+            <a href="#form-inputs" data-target="article" class="current">Inputs</a>
+            <a href="#form-others" data-target="article">Others</a>
+            <a href="#form-switchs" data-target="article">Switchs</a>
+            <a href="#form-specials" data-target="article">Specials</a>
+            <a href="#form-tips" data-target="article">Tips</a>
+        </nav>
+    </header>
+
+    <article id="form-inputs" class="list scrollable">
+        <div class="container indented">
+            <ul class="form">
+                <li class="anchor" data-icon="edit">Example of inputs</li>
+                <li>
+                    <label>type="text"</label>
+                    <input type="text" placeholder="Input text"/>
+                    <label>type="password"</label>
+                    <input type="password" placeholder="Input password"/>
+                </li>
+            </ul>
+
+            <ul class="form">
+                <li class="anchor" data-icon="edit">Example of textarea</li>
+                <li><textarea placeholder="Textarea sample"></textarea></li>
+            </ul>
+
+            <ul class="form">
+                <li class="anchor" data-icon="edit">Example of select</li>
+                <li>
+                    <label class="select">
+                        <select class="custom">
+                            <option value="1">One</option>
+                            <option value="2">Two</option>
+                            <option value="3">Three</option>
+                        </select>
+                    </label>
+                </li>
+                <li class="tip dark" data-icon="question mini">It's a special form element you must set the label with class "select"</li>
+            </ul>
+        </div>
+    </article>
+
+    <article id="form-others" class="list">
+        <div class="indented">
+            <ul class="form">
+                <li class="anchor" data-icon="edit">Example of search</li>
+                <li data-search="Type a search..."></li>
+                <li class="tip darker" data-icon="question mini">It's a special form element you must set the attribute data-search="Placeholder text"</li>
+                <li class="anchor" data-icon="edit">Example of type="*"</li>
+                <li>
+                    <input type="datetime" placeholder="Some datetime..." />
+                    <input type="date" placeholder="Some date..." />
+                    <input type="time" placeholder="Some time..." />
+                    <input type="month" placeholder="Some month..." />
+                </li>
+                <li class="tip dark" data-icon="question mini">Only for iOS5 & Android 2.3+ Devices"</li>
+            </ul>
+        </div>
+    </article>
+
+    <article id="form-specials" class="list">
+        <div class="indented">
+            <ul class="form">
+                <li class="anchor" data-icon="edit">Example of progress</li>
+                <li data-progress="0%"></li>
+                <li class="anchor" data-icon="edit">Example of range</li>
+                <li> <input type="range"></li>
+                <li class="tip dark" data-icon="question mini">Only for iOS5 & Android 2.3+ Devices"</li>
+            </ul>
+        </div>
+    </article>
+
+    <article id="form-switchs" class="list">
+        <div class="container indented">
+            <ul class="form">
+                <li class="anchor" data-icon="edit">Example of checkbox</li>
+                <li>
+                    <label>Do you like LungoJS forms?</label>
+                    <label class="checkbox onright"><input type="checkbox" id="checkbox-0" checked/></label>
+                </li>
+            </ul>
+
+            <ul class="form">
+                <li class="anchor" data-icon="edit">Example of radio</li>
+                <li>
+                    <label class="radio"><input type="radio" name="group-0" id="radio-0" checked="checked"/></label>
+                    <label class="radio"><input type="radio" name="group-0" id="radio-1"/></label>
+                    <label class="radio"><input type="radio" name="group-0" id="radio-2"/></label>
+                </li>
+            </ul>
+        </div>
+    </article>
+
+    <article id="form-tips" class="list scrollable">
+        <div class="container indented">
+            <ul class="form">
+                <li class="anchor">Examples of tips</li>
+                <li class="tip" data-icon="home mini">Lorem Ipsum is simply dummy text...</li>
+                <li class="tip dark" data-icon="home mini">Lorem Ipsum is simply dummy text...</li>
+                <li class="tip darker" data-icon="home mini">Lorem Ipsum is simply dummy text...</li>
+
+                <li class="tip" data-icon="home">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's...</li>
+                <li class="tip dark" data-icon="home">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's...</li>
+                <li class="tip darker" data-icon="home">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's...</li>
+            </ul>
+
+            <ul class="form">
+                <li class="anchor" data-icon="home">Example of anchor</li>
+                <li><label>Example of label</label></li>
+            </ul>
+        </div>
+    </article>
+</section>

+ 19 - 0
examples/test/app/sections/lists.html

@@ -0,0 +1,19 @@
+<section id="lists">
+    <header data-back="home" data-title="Lists" class="extended">
+        <nav class="onright">
+            <a href="#" data-article="list-dinamic" class="button" data-icon="up"></a>
+            <a href="#" data-article="list-dinamic" class="button prepend" data-icon="down"></a>
+        </nav>
+        <nav class="groupbar">
+            <a href="#list-plain" data-target="article" class="current">Normal</a>
+            <a href="#list-ordered" data-target="article">Ordered</a>
+            <a href="#list-indented" data-target="article">Indented</a>
+            <a href="#list-dinamic" data-target="article">Dinamic</a>
+        </nav>
+    </header>
+
+    <article id="list-plain" class="list"></article>
+    <article id="list-ordered" class="list"></article>
+    <article id="list-indented" class="list indented scrollable"></article>
+    <article id="list-dinamic" class="list scrollable"></article>
+</section>

+ 5 - 0
examples/test/app/sections/local.html

@@ -0,0 +1,5 @@
+<section id="async-local">
+    <header data-back="home"  data-title="Async Local Section"></header>
+
+    <article></article>
+</section>

+ 4 - 0
examples/test/app/sections/navigation-flow.html

@@ -0,0 +1,4 @@
+<section id="navigation-flow" class="flow">
+    <header data-back="home"></header>
+    <article></article>
+</section>

+ 10 - 0
examples/test/app/sections/navigation-index.html

@@ -0,0 +1,10 @@
+<section id="navigation-index" class="">
+    <header data-back="home" data-title="Type of transitions"></header>
+    <article class="list indented">
+        <ul>
+            <li><a href="#">Normal Transition</a></li>
+            <li><a href="#" class="pop">Pop Transition</a></li>
+            <li><a href="#" class="flow">Flow Transition</a></li>
+        </ul>
+    </article>
+</section>

+ 4 - 0
examples/test/app/sections/navigation-normal.html

@@ -0,0 +1,4 @@
+<section id="navigation-normal">
+    <header data-back="home"></header>
+    <article></article>
+</section>

+ 4 - 0
examples/test/app/sections/navigation-pop.html

@@ -0,0 +1,4 @@
+<section id="navigation-pop" class="pop">
+    <header data-back="home"></header>
+    <article></article>
+</section>

+ 37 - 0
examples/test/app/sections/navigation.html

@@ -0,0 +1,37 @@
+<section id="navigation">
+    <header data-back="home" data-title="Navigation">
+        <nav class="onright">
+            <a href="#navigation-index" class="button" data-target="section"><abbr>Transitions</abbr></a>
+        </nav>
+    </header>
+
+    <footer class="toolbar with-labels">
+        <nav>
+            <a href="#nav-1" data-target="article" class="current" data-icon="user" data-label="User"></a>
+            <a href="#nav-2" data-target="article" data-icon="calendar" data-count="17" data-label="Calendar"></a>
+            <a href="#nav-3" data-target="article" data-icon="mail" data-label="Emails" data-count="124"></a>
+            <a href="#nav-4" data-target="article" data-icon="phone" data-label="Calls" data-count="12"></a>
+        </nav>
+    </footer>
+
+    <article id="nav-1" data-title="Article 1"></article>
+    <article id="nav-2" data-title="Article 2"></article>
+    <article id="nav-3" data-title="Article 3"></article>
+    <article id="nav-4" data-title="Article 4"></article>
+</section>
+
+<section id="navigation-secondary">
+    <header data-back="left" data-title="Navigation"></header>
+
+    <footer>
+        <nav class="onright">
+            <a href="#nav-extra-1" data-target="article" class="current" data-icon="user"></a>
+            <a href="#nav-extra-2" data-target="article" data-icon="calendar" data-count="17"></a>
+            <a href="#nav-extra-3" data-target="article" data-icon="mail"></a>
+        </nav>
+    </footer>
+
+    <article id="nav-extra-1" data-title="Article 1"></article>
+    <article id="nav-extra-2" data-title="Article 2"></article>
+    <article id="nav-extra-3" data-title="Article 3"></article>
+</section>

+ 4 - 0
examples/test/app/sections/remote.html

@@ -0,0 +1,4 @@
+<section id="async-remote">
+    <header data-back="home"  data-title="Async Remote Section"></header>
+    <article></article>
+</section>

+ 20 - 0
examples/test/app/sections/settings.html

@@ -0,0 +1,20 @@
+<section id="settings">
+    <header data-back="home" data-title="Settings">
+        <nav class="onright">
+            <a href="#settings_main" data-target="article" class="current" data-title="Settings" data-icon="user"></a>
+            <a href="#settings_second" data-target="article" data-title="Chat" data-icon="chat"></a>
+            <a href="#settings_third" data-target="article" data-title="Share Methods" data-icon="earth"></a>
+        </nav>
+    </header>
+
+    <article id="settings_main">s</article>
+    <article id="settings_second">s</article>
+    <article id="settings_third">s</article>
+
+    <footer class="toolbar">
+        <nav>
+            <a href="#" class="current" data-icon="substract"></a>
+            <a href="#" class="current" data-icon="add"></a>
+        </nav>
+    </footer>
+</section>

+ 78 - 0
examples/test/app/services.js

@@ -0,0 +1,78 @@
+App.Services = (function(lng, App, undefined) {
+
+    var mockProfiles = function() {
+        var profiles = [];
+        var id = 0;
+
+        for (var j=0; j < 3; j++) {
+            for (var i=1, len=12; i <= len; i++ ) {
+                id++;
+                profiles.push({
+                    id: id,
+                    name: 'Profile nº' + i,
+                    description: 'Description nº' + i,
+                    avatar: 'assets/images/avatars/' + i + '.jpg'
+                });
+            }
+        }
+
+        //Normal List
+        var parameters = {
+            el: '#list-plain',
+            template: 'profile-tmp',
+            data: profiles
+        };
+        lng.View.Template.List.create(parameters);
+
+        //Indented List
+        parameters.el = '#list-indented';
+        lng.View.Template.List.create(parameters);
+
+        //Ordered List
+        parameters.el = '#list-ordered';
+        parameters.order = { field: 'name', type: 'asc' };
+        lng.View.Template.List.create(parameters);
+    };
+
+    var testService = function() {
+        lng.Service.Settings.timeout = 2500;
+        lng.Service.Settings.dataType = 'json';
+        lng.Service.Settings.error = function() {
+            console.error('Timeout exceed (500ms):', arguments);
+        };
+
+        var url = 'http://www.panoramio.com/map/get_panoramas.php';
+        var parameters = {
+            set: 'public',
+            from: 0,
+            to: 3,
+            minx: -180,
+            miny: -90,
+            maxx: 180,
+            maxy: 90,
+            size: 'medium',
+            mapfilter: true
+        };
+
+        lng.Service.get(url, parameters,
+            function(response) {
+                console.error('GET', response);
+            }
+        );
+
+        lng.Service.json(url, parameters,
+            function(response) {
+                console.error('JSON', response);
+            }
+        );
+
+        lng.Service.Settings.async = false;
+        var response = lng.Service.json(url, parameters);
+        console.error('SYNC', response);
+    };
+
+    return {
+        mockProfiles: mockProfiles
+    }
+
+})(LUNGO, App);

+ 1 - 0
examples/test/app/templates/list-home.html

@@ -0,0 +1 @@
+<li id={{id}} data-icon="home">{{name}}</li>

+ 29 - 0
examples/test/app/view.js

@@ -0,0 +1,29 @@
+App.View = (function(lng, App, undefined) {
+
+    lng.View.Template.create(
+        'profile-tmp',
+        '<li class="selectable {{anchor}}">\
+                <img src="{{avatar}}" />\
+                <div class="onright">{{name}}</div>\
+                {{name}}\
+                <small>{{description}}</small>\
+            </a>\
+        </li>'
+    );
+
+    var mockScrolls = function() {
+        var markup = '';
+        for (var i=0; i < 32; i++) {
+            markup += '<li>'+i+'</li>';
+        }
+
+        lng.View.Scroll.update('scroll_vertical', markup);
+        lng.View.Scroll.update('scroll_horizontal', markup);
+    };
+
+    return {
+        mockScrolls: mockScrolls
+    }
+
+
+})(LUNGO, App);

BIN
examples/test/assets/images/avatars/1.jpg


BIN
examples/test/assets/images/avatars/10.jpg


BIN
examples/test/assets/images/avatars/11.jpg


BIN
examples/test/assets/images/avatars/12.jpg


BIN
examples/test/assets/images/avatars/2.jpg


BIN
examples/test/assets/images/avatars/3.jpg


BIN
examples/test/assets/images/avatars/4.jpg


BIN
examples/test/assets/images/avatars/5.jpg


BIN
examples/test/assets/images/avatars/6.jpg


BIN
examples/test/assets/images/avatars/7.jpg


BIN
examples/test/assets/images/avatars/8.jpg


BIN
examples/test/assets/images/avatars/9.jpg


BIN
examples/test/assets/images/avatars/ikalbeniz.jpg


BIN
examples/test/assets/images/avatars/pasku.jpg


BIN
examples/test/assets/images/avatars/soyjavi.jpg


BIN
examples/test/assets/images/default.png


BIN
examples/test/assets/images/icon-72.png


BIN
examples/test/assets/images/icon.png


BIN
examples/test/assets/images/icon@2x.png


+ 27 - 0
examples/test/assets/stylesheets/app.css

@@ -0,0 +1,27 @@
+.scroll-demo {
+    background: #ccc;
+    margin: 10px;
+    overflow: hidden;
+}
+
+.scroll-demo.horizontal {
+    height: 68px;
+    width: inherit;
+    display: block;
+}
+
+.scroll-demo.vertical {
+    top: 72px;
+    width: 72px;
+    height: 196px;
+}
+
+.scroll-demo span {
+    height: 64px;
+    width: 64px;
+    background: #666;
+    text-align: center;
+    line-height: 64px;
+    display: inline-block;
+    margin: 2px 0px 0px 2px;
+}

+ 376 - 0
examples/test/index.html

@@ -0,0 +1,376 @@
+<!doctype html>
+<html>
+<head>
+    <meta charset="utf-8">
+    <title>LungoJS 2.0 - Test</title>
+    <meta name="description" content="">
+    <meta name="author" content="Javier Jiménez Villar (@soyjavi)">
+    <!-- Mobile viewport optimization http://goo.gl/b9SaQ -->
+    <meta name="HandheldFriendly" content="True">
+    <meta name="MobileOptimized" content="320">
+    <meta http-equiv="cleartype" content="on">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black">
+    <meta name="format-detection" content="telephone=no">
+    <!-- For iPhone 4 with high-resolution Retina display: -->
+    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/images/icon@2x.png">
+    <link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/images/icon-72.png">
+    <link rel="apple-touch-icon-precomposed" href="assets/images/icon.png">
+    <link rel="apple-touch-startup-image" href="assets/images/default.png">
+    <!-- Main Stylesheet -->
+    <link rel="stylesheet" href="../../src/stylesheets/css/Lungo.base.css">
+    <link rel="stylesheet" href="../../src/stylesheets/css/Lungo.layout.css">
+    <link rel="stylesheet" href="../../src/stylesheets/css/Lungo.layout.nav.css">
+    <link rel="stylesheet" href="../../src/stylesheets/css/Lungo.layout.aside.css">
+    <link rel="stylesheet" href="../../src/stylesheets/css/Lungo.layout.article.css">
+    <link rel="stylesheet" href="../../src/stylesheets/css/Lungo.layout.list.css">
+    <link rel="stylesheet" href="../../src/stylesheets/css/Lungo.widgets.css">
+    <link rel="stylesheet" href="../../src/stylesheets/css/Lungo.widgets.splash.css">
+    <link rel="stylesheet" href="../../src/stylesheets/css/Lungo.widgets.button.css">
+    <link rel="stylesheet" href="../../src/stylesheets/css/Lungo.widgets.form.css">
+    <link rel="stylesheet" href="../../src/stylesheets/css/Lungo.widgets.colour.css">
+    <link rel="stylesheet" href="../../src/stylesheets/css/Lungo.widgets.icon.css">
+    <link rel="stylesheet" href="../../src/stylesheets/css/Lungo.theme.default.css">
+    <!-- App Stylesheet -->
+    <link rel="stylesheet" href="assets/stylesheets/app.css">
+
+    <style>
+        @-webkit-keyframes flow-show {
+            0% { -webkit-transform: translateX(100%) scale(.7); }
+            50% { -webkit-transform: translateX(0%) scale(.7);}
+            100% { -webkit-transform: translateX(0%) scale(1);}
+        }
+
+        @-webkit-keyframes flow-show-revoke {
+            0% { -webkit-transform: translateX(0%) scale(1); }
+            50% { -webkit-transform: translateX(0%) scale(.7);}
+            100% { -webkit-transform: translateX(100%) scale(.7);}
+        }
+
+        @-webkit-keyframes flow-hide {
+            0% { -webkit-transform: translateX(0%) scale(1); }
+            50% { -webkit-transform: translateX(0%) scale(.7); }
+            100% { -webkit-transform: translateX(-100%) scale(.7); }
+        }
+
+        @-webkit-keyframes flow-hide-revoke {
+            0% { -webkit-transform: translateX(-100%) scale(.7); }
+            50% { -webkit-transform: translateX(0%) scale(.7);}
+            100% { -webkit-transform: translateX(0%) scale(1);}
+        }
+    </style>
+</head>
+
+<body class="app">
+    <!--
+    <section id="login">
+        <article class="splash">
+            <div class="indented">
+                <h1>Kitchen<span class="semi-opacity">Sink<span></h1>
+
+                <input type="text" placeholder="Type your user" />
+                <input type="password" placeholder="Type your password" />
+
+                <a href="#kitchen-sink" data-target="section" class="button big" data-icon="check">Go to Kitchen Sink!</a>
+                <div class="copyright">Copyright TapQuo Inc, 2011</div>
+
+                <div class="switch">
+                    <span class="thumb"></span>
+                    <input type="checkbox" checked="off" />
+                </div>
+
+            </div>
+        </article>
+    </section>
+    -->
+
+    <!-- ============================= kitchen-sink ============================= -->
+
+    <section id="kitchen-sink">
+        <header data-title="LungoJS Kitchen Sink">
+            <a href="#kitchen-sink-scroll" class="button onleft" data-target="aside" data-icon="items"></a>
+            <a href="#profiles" data-target="aside" data-article="welcome" class="button onright">Profiles</a>
+        </header>
+
+        <!-- ============================= welcome ============================= -->
+        <article id="welcome" class="list scrollable indented">
+            <div>
+                <h1 class="title" data-icon="home">Welcome to LungoJS KitchenSink</h1>
+                <p class="text">
+                    The first <strong>Mobile Framework</strong> that uses the actual features of #HTML5, #CSS3 and #JavaScript.</p>
+                <p class="text">
+                    The main premise in Lungo is to create a semantic structure in the whole project, starting from the markup language HTML, through a well organized CSS< and ending with the JavaScript API</p>
+            </div>
+        </article>
+
+        <!-- ============================= buttons ============================= -->
+        <article id="buttons" class="scrollable indented">
+            <div>
+                <a href="#" class="button big">default</a>
+                <a href="#" class="button big disabled">disabled</a>
+                <a href="#" class="button big red">red</a>
+                <a href="#" class="button big lightgreen">lightgreen</a>
+                <a href="#" class="button big green">green</a>
+                <a href="#" class="button big blue">blue</a>
+                <a href="#" class="button big arcticblue">articblue</a>
+                <a href="#" class="button big orange">orange</a>
+                <a href="#" class="button big magenta">magenta</a>
+                <a href="#" class="button big pink">pink</a>
+                <a href="#" class="button big yellow">yellow</a>
+                <a href="#" class="button big twitter">twitter</a>
+                <a href="#" class="button big facebook">facebook</a>
+
+                <div class="text">You can view other examples push in the next button</div>
+
+                <a href="#buttons-extra" data-target="section" class="button black big" data-icon="add">View other Examples</a>
+            </div>
+        </article>
+
+        <!-- ============================= icons ============================= -->
+        <article id="icons" class="list scrollable">
+            <div class="indented">
+                <h1 class="title">&lt;class&gt; icon: everything is a vector!</h1>
+                <p class="text">In the listed examples you are seeing a attribute "data-icon", this attribute only need the semantic name of the icon you want to show and LungoJS will do the rest of the work.</p>
+
+                <ul>
+                    <li data-icon="map mini">map</li>
+                    <li data-icon="clock mini">clock</li>
+                    <li data-icon="calendar mini">calendar</li>
+                    <li data-icon="message mini">message</li>
+                    <li data-icon="chat mini">chat</li>
+                    <li data-icon="user mini">user</li>
+                    <li data-icon="group mini">group</li>
+                    <li data-icon="loading mini">loading</li>
+                    <li data-icon="refresh mini">refresh</li>
+                    <li data-icon="search mini">search</li>
+                    <li data-icon="pushpin mini">pushpin</li>
+                    <li data-icon="star mini">star</li>
+                    <li data-icon="heart mini">heart</li>
+                    <li data-icon="warning mini">warning</li>
+                    <li data-icon="add mini">add</li>
+                    <li data-icon="remove mini">remove</li>
+                    <li data-icon="question mini">question</li>
+                    <li data-icon="info mini">info</li>
+                    <li data-icon="check mini">check</li>
+                    <li data-icon="substract mini">substract</li>
+                    <li data-icon="close mini">close</li>
+                    <li data-icon="plus mini">plus</li>
+                    <li data-icon="up mini">up</li>
+                    <li data-icon="down mini">down</li>
+                    <li data-icon="left mini">left</li>
+                    <li data-icon="right mini">right</li>
+                    <li data-icon="home mini">home</li>
+                    <li data-icon="pencil mini">pencil</li>
+                    <li data-icon="edit mini">edit</li>
+                    <li data-icon="picture mini">picture</li>
+                    <li data-icon="camera mini">camera</li>
+                    <li data-icon="music mini">music</li>
+                    <li data-icon="wifi mini">wifi</li>
+                    <li data-icon="file mini">file</li>
+                    <li data-icon="files mini">files</li>
+                    <li data-icon="folder mini">folder</li>
+                    <li data-icon="key mini">key</li>
+                    <li data-icon="settings mini">settings</li>
+                    <li data-icon="chart mini">chart</li>
+                    <li data-icon="trash mini">trash</li>
+                    <li data-icon="target mini">target</li>
+                    <li data-icon="items mini">items</li>
+                    <li data-icon="download mini">download</li>
+                    <li data-icon="upload mini">upload</li>
+                    <li data-icon="basket mini">basket</li>
+                    <li data-icon="phone mini">phone</li>
+                    <li data-icon="mail mini">mail</li>
+                    <li data-icon="tag mini">tag</li>
+                </ul>
+            </div>
+        </article>
+
+        <!-- ============================= data - attributes ============================= -->
+        <article id="data-attributes" class="list scrollable">
+            <div class="indented">
+                <h1 class="title">The data-attributes</h1>
+                <ul>
+                    <li data-icon="user">
+                        data-icon
+                        <small>Creates an icon LungoJS vectorized</small>
+                    </li>
+                    <li data-image="assets/images/avatars/1.jpg">
+                        data-image
+                        <small>Instance a &lt;img&gt; automatically</small>
+                    </li>
+                    <li>
+                        data-search
+                        <small>Creates a search input form</small>
+                    </li>
+                    <li data-search="Type your search..."></li>
+                </ul>
+
+                <h1 class="title">Others</h1>
+                <ul>
+                    <li>
+                        data-title
+                        <small>Relationship field between &lt;header&gt; and &lt;a&gt;</small>
+                    </li>
+                    <li>
+                        <div class="onright" data-count="23 units"></div>
+                        data-count
+                        <small>Creates counters of different &lt;elements&gt;</small>
+                    </li>
+                    <li>
+                        data-back
+                        <small>Creates a button that goes to the previous section.</small>
+                    </li>
+                </ul>
+            </div>
+        </article>
+
+        <!-- ============================= events ============================= -->
+        <article id="events" class="list scrollable">
+            <div class="indented">
+                <ul>
+                    <li class="tip darker" data-icon="user">
+                        Test events
+                        <small>... in each row.</small>
+                    </li>
+                    <li class="anchor">Common Events</li>
+                    <li id="event_touchstart">Touchstart me!</li>
+                    <li id="event_touchend">Touchend me!</li>
+                    <li id="event_touchmove">Touchmove me!</li>
+                    <li class="anchor">Tap Events</li>
+                    <li id="event_tap">Tap me!</li>
+                    <li id="event_doubletap">Double-Tap me!</li>
+                    <li id="event_longtap">Long-Tap me!</li>
+                    <li class="anchor">Special Events</li>
+                    <li id="swipe" data-icon="user">
+                        Swipe me!
+                        <small>Drag in any direction</small></li>
+                    <li id="swipe_left" data-icon="left">Swipe-Left me!
+                        <small>Drag in any direction</small></li>
+                    <li id="swipe_right" data-icon="right">Swipe-Right me!
+                        <small>Drag in any direction</small></li>
+                    <li id="swipe_up" data-icon="up">Swipe-Up me!
+                        <small>Drag in any direction</small></li>
+                    <li id="swipe_down" data-icon="down">Swipe-Down me!
+                        <small>Drag in any direction</small></li>
+                </ul>
+            </div>
+        </article>
+
+        <!-- ============================= scrolls ============================= -->
+        <article id="scrolls">
+            <div id="scroll-horizontal" class="scroll-demo scrollable horizontal">
+                <div style="width: 1036px;">
+                    <span>1</span>
+                    <span>2</span>
+                    <span>3</span>
+                    <span>4</span>
+                    <span>5</span>
+                    <span>6</span>
+                    <span>7</span>
+                    <span>8</span>
+                    <span>9</span>
+                    <span>10</span>
+                    <span>11</span>
+                    <span>12</span>
+                    <span>13</span>
+                    <span>14</span>
+                    <span>15</span>
+                </div>
+            </div>
+
+            <div id="scroll-vertical" class="scroll-demo scrollable vertical">
+                <div>
+                    <span>1</span>
+                    <span>2</span>
+                    <span>3</span>
+                    <span>4</span>
+                    <span>5</span>
+                    <span>6</span>
+                    <span>7</span>
+                    <span>8</span>
+                    <span>9</span>
+                    <span>10</span>
+                    <span>11</span>
+                    <span>12</span>
+                </div>
+            </div>
+        </article>
+
+        <!-- ============================= authors ============================= -->
+        <article id="urls" class="list scrollable">
+            <div class="indented">
+                <ul>
+                    <li class="anchor" data-icon="pencil">Send a mail</li>
+                    <li data-icon="mail">
+                        <a href="mailto:javi@tapquo.com">
+                        Send a email
+                        <small>href="mailto:"</small></a></li>
+                    <li data-icon="phone">
+                        <a href="tel:+34123">
+                        Phone call
+                        <small>href="tel:"</small></a></li>
+                    <li data-icon="chat">
+                        <a href="sms:+34123">
+                        Text a message
+                        <small>href="sms:"</small></a></li>
+                </ul>
+
+                <ul>
+                    <li class="anchor" data-icon="star">Specials for iOS</li>
+                    <li data-icon="pushpin">
+                        <a href="maps:ll=38.870454,-77.055702">
+                        View a point in a map
+                        <small>href="maps:"</small></a></li>
+                    <li data-icon="target">
+                        <a href="maps:ll=38.870454,-77.055702&z=10">
+                        View a point in a map (zoom)
+                        <small>href="maps: &z=10"</small></a></li>
+                </ul>
+            </div>
+        </article>
+
+    </section>
+
+    <!-- Third parties dependencies -->
+    <script src="../../src/lib/QuoJS.js"></script>
+    <script src="../../src/lib/iscroll-lite.js"></script>
+    <!-- LungoJS Libraries (Development mode)-->
+    <script src="../../src/Lungo.js"></script>
+    <script src="../../src/Lungo.App.js" ></script>
+    <script src="../../src/Lungo.Core.js"></script>
+    <script src="../../src/Lungo.Dom.js"></script>
+    <script src="../../src/Lungo.Service.js"></script>
+    <script src="../../src/Lungo.Constants.js"></script>
+    <script src="../../src/router/Lungo.Router.js"></script>
+    <script src="../../src/router/Lungo.Router.History.js" ></script>
+    <script src="../../src/view/Lungo.View.Resize.js"></script>
+    <script src="../../src/view/Lungo.View.Article.js" ></script>
+    <script src="../../src/view/Lungo.View.Aside.js" ></script>
+    <script src="../../src/view/Lungo.View.Scroll.js"></script>
+    <script src="../../src/view/Lungo.View.Element.js"></script>
+    <script src="../../src/view/Lungo.View.Template.js"></script>
+    <script src="../../src/view/Lungo.View.Template.Binding.js"></script>
+    <script src="../../src/view/Lungo.View.Template.List.js"></script>
+    <script src="../../src/data/Lungo.Data.Cache.js"></script>
+    <script src="../../src/data/Lungo.Data.Sql.js"></script>
+    <script src="../../src/data/Lungo.Data.Storage.js"></script>
+    <script src="../../src/attributes/Lungo.Attributes.Data.js"></script>
+    <script src="../../src/Lungo.Fallback.js"></script>
+    <script src="../../src/boot/Lungo.Boot.js"></script>
+    <script src="../../src/boot/Lungo.Boot.Resources.js" ></script>
+    <script src="../../src/boot/Lungo.Boot.Stats.js" ></script>
+    <script src="../../src/boot/Lungo.Boot.Layout.js"></script>
+    <script src="../../src/boot/Lungo.Boot.Events.js"></script>
+    <script src="../../src/boot/Lungo.Boot.Data.js"></script>
+    <script src="../../src/boot/Lungo.Boot.Section.js"></script>
+    <script src="../../src/boot/Lungo.Boot.Article.js"></script>
+
+    <!-- LungoJS - Sandbox App -->
+    <script src="app/app.js"></script>
+    <script src="app/events.js"></script>
+    <script src="app/view.js"></script>
+    <script src="app/data.js"></script>
+    <script src="app/services.js"></script>
+</body>
+</html>