Index: polymer_0.5.0/bower_components/core-list/demos/demo-pages.html |
diff --git a/polymer_0.5.0/bower_components/core-list/demos/demo-pages.html b/polymer_0.5.0/bower_components/core-list/demos/demo-pages.html |
new file mode 100755 |
index 0000000000000000000000000000000000000000..a258c51b440645ae6c422d9cdb2d68630e21f3ec |
--- /dev/null |
+++ b/polymer_0.5.0/bower_components/core-list/demos/demo-pages.html |
@@ -0,0 +1,230 @@ |
+<!doctype html> |
+<!-- |
+Copyright (c) 2014 The Polymer Project Authors. All rights reserved. |
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt |
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt |
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt |
+Code distributed by Google as part of the polymer project is also |
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt |
+--> |
+<html> |
+<head> |
+ <title>core-list</title> |
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> |
+ <script src="../../webcomponentsjs/webcomponents.js"></script> |
+ <link rel="import" href="../core-list.html"> |
+ <link rel="import" href="../../core-ajax/core-ajax.html"> |
+ <link rel="import" href="../../core-icon/core-icon.html"> |
+ <link rel="import" href="../../core-icon-button/core-icon-button.html"> |
+ <link rel="import" href="../../core-icons/core-icons.html"> |
+ <link rel="import" href="../../paper-shadow/paper-shadow.html"> |
+ <link rel="import" href="../../paper-icon-button/paper-icon-button.html"> |
+ <link rel="import" href="../../paper-fab/paper-fab.html"> |
+ <link rel="import" href="../../paper-menu-button/paper-menu-button.html"> |
+ <link rel="import" href="../../paper-dropdown/paper-dropdown.html"> |
+ <link rel="import" href="../../core-menu/core-menu.html"> |
+ <link rel="import" href="../../paper-item/paper-item.html"> |
+ <link rel="import" href="../../paper-input/paper-input.html"> |
+ <link rel="import" href="../../paper-tabs/paper-tabs.html"> |
+ <link rel="import" href="../../core-animated-pages/core-animated-pages.html"> |
+ <link rel="import" href="../../core-overlay/core-overlay.html"> |
+ <link rel="import" href="../../core-scroll-threshold/core-scroll-threshold.html"> |
+ <link rel="import" href="../../core-image/core-image.html"> |
+ <style> |
+ html, body { |
+ margin: 0; |
+ -webkit-tap-highlight-color: transparent; |
+ overflow: hidden; |
+ user-select: none; |
+ -webkit-user-select: none; |
+ font-family: sans-serif; |
+ } |
+ |
+ list-test { |
+ display: block; |
+ height: 100%; |
+ margin: 0 auto; |
+ } |
+ </style> |
+</head> |
+<body fit> |
+ |
+<list-test></list-test> |
+ |
+<polymer-element name="list-test" layout vertical relative> |
+<template> |
+ <style> |
+ .message-item { |
+ padding: 16px; |
+ } |
+ .message-item.selected{ |
+ background-color: #eee; |
+ } |
+ .tabs { |
+ background: #E91E63; |
+ box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); |
+ color: white; |
+ } |
+ .avatar { |
+ height: 40px; |
+ width: 40px; |
+ border-radius: 20px; |
+ box-sizing: border-box; |
+ border: 1px solid #DDD; |
+ background-color: #DDD; |
+ } |
+ .pad { |
+ padding: 0 16px; |
+ } |
+ .primary { |
+ font-size: 16px; |
+ } |
+ .secondary { |
+ font-size: 14px; |
+ } |
+ .dim { |
+ color: gray; |
+ } |
+ .divider { |
+ font-size: 14px; |
+ font-weight: bold; |
+ color: gray; |
+ padding: 24px 16px 8px 16px; |
+ } |
+ .border { |
+ margin-left: 72px; |
+ border-bottom: 1px solid #DDD; |
+ } |
+ |
+ .photo-item { |
+ box-sizing: border-box; |
+ padding: 8px; |
+ } |
+ .photo { |
+ background-size: cover; |
+ height: 200px; |
+ width: 200px; |
+ box-sizing: border-box; |
+ background-color: lightgray; |
+ } |
+ .title { |
+ position: absolute; |
+ left: 0; |
+ right: 0; |
+ bottom: 0; |
+ padding: 12px 8px 8px 8px; |
+ color: white; |
+ background: rgba(0,0,0,0.3); |
+ } |
+ .photo-pad { |
+ padding: 16px; |
+ align-items: center; |
+ } |
+ .photo-pad-left { |
+ padding-left: 8px; |
+ } |
+ |
+ </style> |
+ |
+ <core-ajax url="demo-data-500.json" response="{{messageData}}" auto></core-ajax> |
+ |
+ <paper-tabs class="tabs" selected="{{page}}" valueattr="name"> |
+ <paper-tab name="messages">Messages</paper-tab> |
+ <paper-tab name="photos">Photos</paper-tab> |
+ </paper-tabs> |
+ <core-animated-pages selected="{{page}}" id="pages" valueattr="id" flex> |
+ |
+ <core-list id="messages" data="{{messageData}}" groups="{{messageGroups}}"> |
+ <template> |
+ <div class="divider" divider>{{groupModel.label}}</div> |
+ <div> |
+ <div class="message-item {{selected?'selected':''}}" layout horizontal> |
+ <img class="avatar" src="{{model.image}}"> |
+ <div class="pad" flex layout vertical> |
+ <div class="primary">{{index}} {{model.name}}</div> |
+ <div class="secondary">{{model.shortText}}</div> |
+ <div class="secondary dim Xclamp">{{model.longText}}</div> |
+ </div> |
+ <core-icon icon="{{model.boolean ? 'star' : 'star-outline'}}"></core-icon> |
+ </div> |
+ <div class="border"></div> |
+ </div> |
+ </template> |
+ </core-list> |
+ |
+ <div id="photos" style="overflow:auto;"> |
+ <core-scroll-threshold id="threshold" scrollTarget="{{$.photos}}" |
+ lowerThreshold="1000" on-lower-trigger="{{loadMore}}"> |
+ </core-scroll-threshold> |
+ <core-list id="photosList" data="{{photosData}}" scrollTarget="{{$.photos}}" grid width="216"> |
+ <template> |
+ <div class="photo-item"> |
+ <core-image class="photo" sizing="cover" load?="{{!!model}}" src="https://farm{{model.farm}}.staticflickr.com/{{model.server}}/{{model.id}}_{{model.secret}}_m.jpg" preload relative> |
+ <div class="title">{{index}} {{model.title}}</div> |
+ </core-image> |
+ </div> |
+ </template> |
+ </core-list> |
+ <div class="photo-pad" hidden?="{{!$.threshold.lowerTriggered}}" layout horizontal center-justified> |
+ <paper-spinner active></paper-spinner> |
+ <div class="photo-pad-left">Loading...</div> |
+ </div> |
+ </div> |
+ |
+ </core-animated-pages> |
+ |
+</template> |
+<script> |
+(function() { |
+ |
+ Polymer('list-test', { |
+ page: 'messages', |
+ ready: function() { |
+ CoreStyle.g.paperInput.focusedColor = 'white'; |
+ this.messageGroups = [ |
+ {length: 3, data: {label: 'Today'}}, |
+ {length: 15, data: {label: 'Yesterday'}}, |
+ {length: 30, data: {label: 'Last Week'}}, |
+ {length: 150, data: {label: 'Last Month'}}, |
+ {length: 150, data: {label: 'Last Quarter'}}, |
+ {length: 152, data: {label: 'Last Year'}} |
+ ]; |
+ |
+ this.photosData = []; |
+ this.photosPage = 1; |
+ this.searchText = 'Japan'; |
+ this.apiKey = 'c304f1096a06486d3c1e7ab271bf7f3f'; |
+ this.perPage = 100; |
+ this.load(1); |
+ }, |
+ loadMore: function() { |
+ this.load(); |
+ }, |
+ load: function(moreCount) { |
+ if (this.photosPage > 0) { |
+ var ajax = document.createElement('core-ajax'); |
+ ajax.url = 'https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=' + |
+ this.apiKey + '&safe_search=1&sort=interestingness-desc&text=' + |
+ encodeURIComponent(this.searchText) + '&page=' + this.photosPage + "&format=json&per_page=" + this.perPage; |
+ ajax.addEventListener('core-response', function(e) { |
+ var data = this.photosData; |
+ var resp = JSON.parse(e.detail.response.match('jsonFlickrApi\\((.*)\\)')[1]); |
+ if (resp.stat == 'ok') { |
+ resp.photos.photo.forEach(function(o) { data.push(o); }); |
+ this.photosPage = (resp.photos.page != resp.photos.pages) ? resp.photos.page + 1 : 0; |
+ this.$.threshold.clearLower(!!this.photosPage); |
+ if (moreCount) { |
+ this.load(--moreCount); |
+ } |
+ } |
+ }.bind(this)); |
+ ajax.go(); |
+ } |
+ } |
+ }); |
+})(); |
+</script> |
+</polymer-element> |
+ |
+</body> |
+</html> |