easycomments 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/.rspec +2 -0
- data/Gemfile +14 -0
- data/LICENSE +21 -0
- data/README.md +92 -0
- data/Rakefile +49 -0
- data/_config.yml +28 -0
- data/bin/ec +45 -0
- data/config.ru +12 -0
- data/dashboard.rb +57 -0
- data/easycomments.gemspec +22 -0
- data/ec.rb +43 -0
- data/lib/easycomments/ec_configuration.rb +42 -0
- data/lib/easycomments/ec_dashboard_model.rb +70 -0
- data/lib/easycomments/ec_model.rb +47 -0
- data/lib/easycomments.rb +14 -0
- data/public/bower.json +32 -0
- data/public/bower_components/core-a11y-keys/.bower.json +28 -0
- data/public/bower_components/core-a11y-keys/README.md +4 -0
- data/public/bower_components/core-a11y-keys/bower.json +18 -0
- data/public/bower_components/core-a11y-keys/core-a11y-keys.html +335 -0
- data/public/bower_components/core-a11y-keys/demo.html +41 -0
- data/public/bower_components/core-a11y-keys/index.html +22 -0
- data/public/bower_components/core-ajax/.bower.json +22 -0
- data/public/bower_components/core-ajax/README.md +4 -0
- data/public/bower_components/core-ajax/bower.json +11 -0
- data/public/bower_components/core-ajax/core-ajax.html +434 -0
- data/public/bower_components/core-ajax/core-xhr.html +116 -0
- data/public/bower_components/core-ajax/demo-progress.html +65 -0
- data/public/bower_components/core-ajax/demo.html +43 -0
- data/public/bower_components/core-ajax/index.html +22 -0
- data/public/bower_components/core-ajax/metadata.html +23 -0
- data/public/bower_components/core-ajax/test/core-ajax-progress.html +108 -0
- data/public/bower_components/core-ajax/test/core-ajax-race.html +81 -0
- data/public/bower_components/core-ajax/test/core-ajax.html +287 -0
- data/public/bower_components/core-ajax/test/index.html +17 -0
- data/public/bower_components/core-collapse/.bower.json +21 -0
- data/public/bower_components/core-collapse/README.md +4 -0
- data/public/bower_components/core-collapse/bower.json +11 -0
- data/public/bower_components/core-collapse/core-collapse.css +16 -0
- data/public/bower_components/core-collapse/core-collapse.html +298 -0
- data/public/bower_components/core-collapse/demo.html +75 -0
- data/public/bower_components/core-collapse/index.html +22 -0
- data/public/bower_components/core-collapse/test/basic.html +85 -0
- data/public/bower_components/core-collapse/test/index.html +24 -0
- data/public/bower_components/core-component-page/.bower.json +19 -0
- data/public/bower_components/core-component-page/README.md +6 -0
- data/public/bower_components/core-component-page/bowager-logo.png +0 -0
- data/public/bower_components/core-component-page/bower.json +9 -0
- data/public/bower_components/core-component-page/core-component-page.html +37 -0
- data/public/bower_components/core-component-page/demo.html +23 -0
- data/public/bower_components/core-component-page/index.html +22 -0
- data/public/bower_components/core-drawer-panel/.bower.json +19 -0
- data/public/bower_components/core-drawer-panel/README.md +4 -0
- data/public/bower_components/core-drawer-panel/bower.json +9 -0
- data/public/bower_components/core-drawer-panel/core-drawer-panel.css +160 -0
- data/public/bower_components/core-drawer-panel/core-drawer-panel.html +418 -0
- data/public/bower_components/core-drawer-panel/demo.html +68 -0
- data/public/bower_components/core-drawer-panel/index.html +22 -0
- data/public/bower_components/core-drawer-panel/metadata.html +37 -0
- data/public/bower_components/core-focusable/.bower.json +18 -0
- data/public/bower_components/core-focusable/README.md +6 -0
- data/public/bower_components/core-focusable/bower.json +8 -0
- data/public/bower_components/core-focusable/core-focusable.html +4 -0
- data/public/bower_components/core-focusable/core-focusable.js +134 -0
- data/public/bower_components/core-focusable/demo.html +109 -0
- data/public/bower_components/core-focusable/polymer-mixin.js +35 -0
- data/public/bower_components/core-header-panel/.bower.json +18 -0
- data/public/bower_components/core-header-panel/README.md +4 -0
- data/public/bower_components/core-header-panel/bower.json +8 -0
- data/public/bower_components/core-header-panel/core-header-panel.css +78 -0
- data/public/bower_components/core-header-panel/core-header-panel.html +277 -0
- data/public/bower_components/core-header-panel/demo.html +100 -0
- data/public/bower_components/core-header-panel/index.html +23 -0
- data/public/bower_components/core-header-panel/metadata.html +37 -0
- data/public/bower_components/core-icon/.bower.json +19 -0
- data/public/bower_components/core-icon/README.md +4 -0
- data/public/bower_components/core-icon/bower.json +9 -0
- data/public/bower_components/core-icon/core-icon.css +16 -0
- data/public/bower_components/core-icon/core-icon.html +201 -0
- data/public/bower_components/core-icon/demo.html +44 -0
- data/public/bower_components/core-icon/index.html +22 -0
- data/public/bower_components/core-icon/metadata.html +21 -0
- data/public/bower_components/core-icon-button/.bower.json +18 -0
- data/public/bower_components/core-icon-button/README.md +4 -0
- data/public/bower_components/core-icon-button/bower.json +8 -0
- data/public/bower_components/core-icon-button/core-icon-button.css +75 -0
- data/public/bower_components/core-icon-button/core-icon-button.html +81 -0
- data/public/bower_components/core-icon-button/demo.html +35 -0
- data/public/bower_components/core-icon-button/index.html +22 -0
- data/public/bower_components/core-icon-button/metadata.html +20 -0
- data/public/bower_components/core-icons/.bower.json +24 -0
- data/public/bower_components/core-icons/.gitignore +2 -0
- data/public/bower_components/core-icons/README.md +8 -0
- data/public/bower_components/core-icons/av-icons.html +65 -0
- data/public/bower_components/core-icons/bower.json +14 -0
- data/public/bower_components/core-icons/communication-icons.html +54 -0
- data/public/bower_components/core-icons/core-icons.html +278 -0
- data/public/bower_components/core-icons/demo.html +98 -0
- data/public/bower_components/core-icons/device-icons.html +90 -0
- data/public/bower_components/core-icons/editor-icons.html +67 -0
- data/public/bower_components/core-icons/hardware-icons.html +56 -0
- data/public/bower_components/core-icons/image-icons.html +152 -0
- data/public/bower_components/core-icons/index.html +22 -0
- data/public/bower_components/core-icons/maps-icons.html +70 -0
- data/public/bower_components/core-icons/notification-icons.html +49 -0
- data/public/bower_components/core-icons/social-icons.html +39 -0
- data/public/bower_components/core-iconset/.bower.json +20 -0
- data/public/bower_components/core-iconset/README.md +4 -0
- data/public/bower_components/core-iconset/bower.json +10 -0
- data/public/bower_components/core-iconset/core-iconset.html +241 -0
- data/public/bower_components/core-iconset/demo.html +62 -0
- data/public/bower_components/core-iconset/index.html +22 -0
- data/public/bower_components/core-iconset/my-icons-big.png +0 -0
- data/public/bower_components/core-iconset/my-icons.png +0 -0
- data/public/bower_components/core-iconset-svg/.bower.json +19 -0
- data/public/bower_components/core-iconset-svg/README.md +4 -0
- data/public/bower_components/core-iconset-svg/bower.json +9 -0
- data/public/bower_components/core-iconset-svg/core-iconset-svg.html +168 -0
- data/public/bower_components/core-iconset-svg/demo.html +66 -0
- data/public/bower_components/core-iconset-svg/index.html +22 -0
- data/public/bower_components/core-iconset-svg/svg-sample-icons.html +68 -0
- data/public/bower_components/core-input/.bower.json +20 -0
- data/public/bower_components/core-input/README.md +2 -0
- data/public/bower_components/core-input/bower.json +10 -0
- data/public/bower_components/core-input/core-input.css +41 -0
- data/public/bower_components/core-input/core-input.html +148 -0
- data/public/bower_components/core-input/demo.html +62 -0
- data/public/bower_components/core-input/index.html +22 -0
- data/public/bower_components/core-input/metadata.html +23 -0
- data/public/bower_components/core-input/test/a11y.html +55 -0
- data/public/bower_components/core-input/test/basic.html +60 -0
- data/public/bower_components/core-input/test/index.html +25 -0
- data/public/bower_components/core-item/.bower.json +19 -0
- data/public/bower_components/core-item/README.md +4 -0
- data/public/bower_components/core-item/bower.json +9 -0
- data/public/bower_components/core-item/core-item.css +45 -0
- data/public/bower_components/core-item/core-item.html +73 -0
- data/public/bower_components/core-item/demo.html +92 -0
- data/public/bower_components/core-item/index.html +22 -0
- data/public/bower_components/core-item/metadata.html +24 -0
- data/public/bower_components/core-media-query/.bower.json +18 -0
- data/public/bower_components/core-media-query/README.md +4 -0
- data/public/bower_components/core-media-query/bower.json +8 -0
- data/public/bower_components/core-media-query/core-media-query.html +87 -0
- data/public/bower_components/core-media-query/demo.html +44 -0
- data/public/bower_components/core-media-query/index.html +22 -0
- data/public/bower_components/core-menu/.bower.json +22 -0
- data/public/bower_components/core-menu/README.md +4 -0
- data/public/bower_components/core-menu/bower.json +11 -0
- data/public/bower_components/core-menu/core-menu.css +18 -0
- data/public/bower_components/core-menu/core-menu.html +73 -0
- data/public/bower_components/core-menu/core-submenu.css +43 -0
- data/public/bower_components/core-menu/core-submenu.html +126 -0
- data/public/bower_components/core-menu/demo.html +101 -0
- data/public/bower_components/core-menu/index.html +22 -0
- data/public/bower_components/core-menu/metadata.html +62 -0
- data/public/bower_components/core-meta/.bower.json +18 -0
- data/public/bower_components/core-meta/README.md +4 -0
- data/public/bower_components/core-meta/bower.json +8 -0
- data/public/bower_components/core-meta/core-meta.html +145 -0
- data/public/bower_components/core-meta/demo.html +58 -0
- data/public/bower_components/core-meta/index.html +22 -0
- data/public/bower_components/core-overlay/.bower.json +20 -0
- data/public/bower_components/core-overlay/README.md +4 -0
- data/public/bower_components/core-overlay/bower.json +10 -0
- data/public/bower_components/core-overlay/core-key-helper.html +22 -0
- data/public/bower_components/core-overlay/core-overlay-layer.html +116 -0
- data/public/bower_components/core-overlay/core-overlay.html +776 -0
- data/public/bower_components/core-overlay/demo.html +155 -0
- data/public/bower_components/core-overlay/gulpfile.js +2 -0
- data/public/bower_components/core-overlay/index.html +22 -0
- data/public/bower_components/core-overlay/tests/html/core-overlay-basic.html +127 -0
- data/public/bower_components/core-overlay/tests/html/core-overlay-positioning-margin.html +153 -0
- data/public/bower_components/core-overlay/tests/html/core-overlay-positioning.html +167 -0
- data/public/bower_components/core-overlay/tests/html/core-overlay-quick-close.html +45 -0
- data/public/bower_components/core-overlay/tests/html/core-overlay-scroll.html +130 -0
- data/public/bower_components/core-overlay/tests/js/htmltests.js +7 -0
- data/public/bower_components/core-overlay/tests/runner.html +14 -0
- data/public/bower_components/core-overlay/tests/tests.json +6 -0
- data/public/bower_components/core-pages/.bower.json +19 -0
- data/public/bower_components/core-pages/README.md +4 -0
- data/public/bower_components/core-pages/bower.json +8 -0
- data/public/bower_components/core-pages/core-pages.css +30 -0
- data/public/bower_components/core-pages/core-pages.html +44 -0
- data/public/bower_components/core-pages/demo.html +136 -0
- data/public/bower_components/core-pages/index.html +22 -0
- data/public/bower_components/core-pages/metadata.html +25 -0
- data/public/bower_components/core-resizable/.bower.json +18 -0
- data/public/bower_components/core-resizable/README.md +4 -0
- data/public/bower_components/core-resizable/bower.json +8 -0
- data/public/bower_components/core-resizable/core-resizable.html +248 -0
- data/public/bower_components/core-resizable/index.html +22 -0
- data/public/bower_components/core-resizable/test/basic.html +504 -0
- data/public/bower_components/core-resizable/test/index.html +16 -0
- data/public/bower_components/core-resizable/test/test-elements.html +66 -0
- data/public/bower_components/core-scaffold/.bower.json +22 -0
- data/public/bower_components/core-scaffold/README.md +4 -0
- data/public/bower_components/core-scaffold/bower.json +11 -0
- data/public/bower_components/core-scaffold/core-scaffold.html +252 -0
- data/public/bower_components/core-scaffold/demo.html +82 -0
- data/public/bower_components/core-scaffold/index.html +22 -0
- data/public/bower_components/core-scaffold/metadata.html +52 -0
- data/public/bower_components/core-selection/.bower.json +21 -0
- data/public/bower_components/core-selection/README.md +4 -0
- data/public/bower_components/core-selection/bower.json +11 -0
- data/public/bower_components/core-selection/core-selection.html +149 -0
- data/public/bower_components/core-selection/demo.html +59 -0
- data/public/bower_components/core-selection/index.html +22 -0
- data/public/bower_components/core-selection/test/basic.html +62 -0
- data/public/bower_components/core-selection/test/index.html +25 -0
- data/public/bower_components/core-selection/test/multi.html +63 -0
- data/public/bower_components/core-selector/.bower.json +22 -0
- data/public/bower_components/core-selector/.gitignore +2 -0
- data/public/bower_components/core-selector/README.md +4 -0
- data/public/bower_components/core-selector/bower.json +12 -0
- data/public/bower_components/core-selector/core-selector.html +548 -0
- data/public/bower_components/core-selector/demo.html +106 -0
- data/public/bower_components/core-selector/index.html +22 -0
- data/public/bower_components/core-selector/metadata.html +20 -0
- data/public/bower_components/core-selector/test/activate-event.html +63 -0
- data/public/bower_components/core-selector/test/basic.html +126 -0
- data/public/bower_components/core-selector/test/content.html +101 -0
- data/public/bower_components/core-selector/test/index.html +30 -0
- data/public/bower_components/core-selector/test/multi.html +115 -0
- data/public/bower_components/core-selector/test/next-previous.html +113 -0
- data/public/bower_components/core-selector/test/selected-attr-prop.html +62 -0
- data/public/bower_components/core-selector/test/template-repeat.html +63 -0
- data/public/bower_components/core-style/.bower.json +18 -0
- data/public/bower_components/core-style/README.md +4 -0
- data/public/bower_components/core-style/bower.json +8 -0
- data/public/bower_components/core-style/core-style.html +387 -0
- data/public/bower_components/core-style/demo.html +58 -0
- data/public/bower_components/core-style/elements.html +55 -0
- data/public/bower_components/core-style/index.html +22 -0
- data/public/bower_components/core-style/my-theme.html +73 -0
- data/public/bower_components/core-toolbar/.bower.json +19 -0
- data/public/bower_components/core-toolbar/README.md +4 -0
- data/public/bower_components/core-toolbar/bower.json +9 -0
- data/public/bower_components/core-toolbar/core-toolbar.css +117 -0
- data/public/bower_components/core-toolbar/core-toolbar.html +155 -0
- data/public/bower_components/core-toolbar/demo.html +119 -0
- data/public/bower_components/core-toolbar/index.html +22 -0
- data/public/bower_components/core-toolbar/metadata.html +28 -0
- data/public/bower_components/core-toolbar/test/basic.html +86 -0
- data/public/bower_components/core-toolbar/test/index.html +24 -0
- data/public/bower_components/core-transition/.bower.json +19 -0
- data/public/bower_components/core-transition/README.md +2 -0
- data/public/bower_components/core-transition/bower.json +9 -0
- data/public/bower_components/core-transition/core-transition-css.html +220 -0
- data/public/bower_components/core-transition/core-transition-overlay.css +46 -0
- data/public/bower_components/core-transition/core-transition.html +140 -0
- data/public/bower_components/core-transition/demo.html +87 -0
- data/public/bower_components/core-transition/index.html +22 -0
- data/public/bower_components/font-roboto/.bower.json +15 -0
- data/public/bower_components/font-roboto/roboto.html +9 -0
- data/public/bower_components/paper-button/.bower.json +27 -0
- data/public/bower_components/paper-button/README.md +4 -0
- data/public/bower_components/paper-button/bower.json +16 -0
- data/public/bower_components/paper-button/demo.html +157 -0
- data/public/bower_components/paper-button/index.html +22 -0
- data/public/bower_components/paper-button/metadata.html +17 -0
- data/public/bower_components/paper-button/paper-button-base.html +164 -0
- data/public/bower_components/paper-button/paper-button.html +197 -0
- data/public/bower_components/paper-button/test/index.html +24 -0
- data/public/bower_components/paper-button/test/paper-button.html +112 -0
- data/public/bower_components/paper-icon-button/.bower.json +25 -0
- data/public/bower_components/paper-icon-button/README.md +4 -0
- data/public/bower_components/paper-icon-button/bower.json +15 -0
- data/public/bower_components/paper-icon-button/demo.html +150 -0
- data/public/bower_components/paper-icon-button/index.html +22 -0
- data/public/bower_components/paper-icon-button/metadata.html +21 -0
- data/public/bower_components/paper-icon-button/paper-icon-button.html +154 -0
- data/public/bower_components/paper-icon-button/test/a11y.html +68 -0
- data/public/bower_components/paper-icon-button/test/basic.html +50 -0
- data/public/bower_components/paper-icon-button/test/index.html +25 -0
- data/public/bower_components/paper-input/.bower.json +26 -0
- data/public/bower_components/paper-input/.gitignore +1 -0
- data/public/bower_components/paper-input/README.md +4 -0
- data/public/bower_components/paper-input/bower.json +15 -0
- data/public/bower_components/paper-input/demo.html +236 -0
- data/public/bower_components/paper-input/index.html +22 -0
- data/public/bower_components/paper-input/metadata.html +20 -0
- data/public/bower_components/paper-input/paper-autogrow-textarea.html +162 -0
- data/public/bower_components/paper-input/paper-char-counter.html +121 -0
- data/public/bower_components/paper-input/paper-input-decorator.css +132 -0
- data/public/bower_components/paper-input/paper-input-decorator.html +547 -0
- data/public/bower_components/paper-input/paper-input.html +145 -0
- data/public/bower_components/paper-input/test/index.html +26 -0
- data/public/bower_components/paper-input/test/paper-autogrow-textarea.html +146 -0
- data/public/bower_components/paper-input/test/paper-input-decorator.html +240 -0
- data/public/bower_components/paper-input/test/paper-input.html +68 -0
- data/public/bower_components/paper-input/test/util.js +15 -0
- data/public/bower_components/paper-radio-button/.bower.json +22 -0
- data/public/bower_components/paper-radio-button/README.md +4 -0
- data/public/bower_components/paper-radio-button/bower.json +12 -0
- data/public/bower_components/paper-radio-button/demo.html +84 -0
- data/public/bower_components/paper-radio-button/index.html +22 -0
- data/public/bower_components/paper-radio-button/metadata.html +17 -0
- data/public/bower_components/paper-radio-button/paper-radio-button.css +108 -0
- data/public/bower_components/paper-radio-button/paper-radio-button.html +166 -0
- data/public/bower_components/paper-ripple/.bower.json +23 -0
- data/public/bower_components/paper-ripple/README.md +4 -0
- data/public/bower_components/paper-ripple/bower.json +13 -0
- data/public/bower_components/paper-ripple/demo.html +414 -0
- data/public/bower_components/paper-ripple/index.html +22 -0
- data/public/bower_components/paper-ripple/metadata.html +20 -0
- data/public/bower_components/paper-ripple/paper-ripple.html +477 -0
- data/public/bower_components/paper-ripple/test/index.html +24 -0
- data/public/bower_components/paper-ripple/test/position.html +109 -0
- data/public/bower_components/paper-shadow/.bower.json +22 -0
- data/public/bower_components/paper-shadow/README.md +4 -0
- data/public/bower_components/paper-shadow/bower.json +11 -0
- data/public/bower_components/paper-shadow/demo.html +134 -0
- data/public/bower_components/paper-shadow/index.html +22 -0
- data/public/bower_components/paper-shadow/metadata.html +17 -0
- data/public/bower_components/paper-shadow/paper-shadow.css +66 -0
- data/public/bower_components/paper-shadow/paper-shadow.html +86 -0
- data/public/bower_components/paper-shadow/test/basic.html +62 -0
- data/public/bower_components/paper-shadow/test/index.html +24 -0
- data/public/bower_components/paper-tabs/.bower.json +26 -0
- data/public/bower_components/paper-tabs/README.md +4 -0
- data/public/bower_components/paper-tabs/bower.json +15 -0
- data/public/bower_components/paper-tabs/demo.html +242 -0
- data/public/bower_components/paper-tabs/index.html +22 -0
- data/public/bower_components/paper-tabs/metadata.html +58 -0
- data/public/bower_components/paper-tabs/paper-tab.css +59 -0
- data/public/bower_components/paper-tabs/paper-tab.html +82 -0
- data/public/bower_components/paper-tabs/paper-tabs.css +80 -0
- data/public/bower_components/paper-tabs/paper-tabs.html +353 -0
- data/public/bower_components/paper-toast/.bower.json +22 -0
- data/public/bower_components/paper-toast/README.md +4 -0
- data/public/bower_components/paper-toast/bower.json +11 -0
- data/public/bower_components/paper-toast/demo.html +63 -0
- data/public/bower_components/paper-toast/index.html +22 -0
- data/public/bower_components/paper-toast/metadata.html +20 -0
- data/public/bower_components/paper-toast/paper-toast.css +80 -0
- data/public/bower_components/paper-toast/paper-toast.html +296 -0
- data/public/bower_components/paper-toggle-button/.bower.json +20 -0
- data/public/bower_components/paper-toggle-button/README.md +4 -0
- data/public/bower_components/paper-toggle-button/bower.json +9 -0
- data/public/bower_components/paper-toggle-button/demo.html +97 -0
- data/public/bower_components/paper-toggle-button/index.html +22 -0
- data/public/bower_components/paper-toggle-button/metadata.html +17 -0
- data/public/bower_components/paper-toggle-button/paper-toggle-button.css +95 -0
- data/public/bower_components/paper-toggle-button/paper-toggle-button.html +179 -0
- data/public/bower_components/polymer/.bower.json +32 -0
- data/public/bower_components/polymer/README.md +21 -0
- data/public/bower_components/polymer/bower.json +23 -0
- data/public/bower_components/polymer/build.log +26 -0
- data/public/bower_components/polymer/layout.html +286 -0
- data/public/bower_components/polymer/polymer.html +12 -0
- data/public/bower_components/polymer/polymer.js +11859 -0
- data/public/bower_components/polymer/polymer.min.js +14 -0
- data/public/bower_components/webcomponentsjs/.bower.json +23 -0
- data/public/bower_components/webcomponentsjs/CustomElements.js +634 -0
- data/public/bower_components/webcomponentsjs/CustomElements.min.js +11 -0
- data/public/bower_components/webcomponentsjs/HTMLImports.js +764 -0
- data/public/bower_components/webcomponentsjs/HTMLImports.min.js +11 -0
- data/public/bower_components/webcomponentsjs/README.md +73 -0
- data/public/bower_components/webcomponentsjs/ShadowDOM.js +4277 -0
- data/public/bower_components/webcomponentsjs/ShadowDOM.min.js +13 -0
- data/public/bower_components/webcomponentsjs/bower.json +14 -0
- data/public/bower_components/webcomponentsjs/build.log +31 -0
- data/public/bower_components/webcomponentsjs/package.json +31 -0
- data/public/bower_components/webcomponentsjs/webcomponents-lite.js +1728 -0
- data/public/bower_components/webcomponentsjs/webcomponents-lite.min.js +11 -0
- data/public/bower_components/webcomponentsjs/webcomponents.js +6114 -0
- data/public/bower_components/webcomponentsjs/webcomponents.min.js +14 -0
- data/public/css/main.css +41 -0
- data/public/elements/ec-dashboard/ec-dashboard.html +269 -0
- data/public/polymer-loader.html +24 -0
- data/public/polymer-loader.vulcanized.html +19 -0
- data/spec/ec/ec_dashboard_spec.rb +78 -0
- data/spec/ec/ec_spec.rb +78 -0
- data/spec/spec_helper.rb +27 -0
- data/views/index.html +88 -0
- metadata +464 -0
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
|
|
3
|
+
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
|
4
|
+
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
|
5
|
+
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
|
6
|
+
Code distributed by Google as part of the polymer project is also
|
|
7
|
+
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
|
8
|
+
-->
|
|
9
|
+
|
|
10
|
+
<!--
|
|
11
|
+
`core-scaffold` provides general application layout, introducing a
|
|
12
|
+
responsive scaffold containing a header, toolbar, menu, title and
|
|
13
|
+
areas for application content.
|
|
14
|
+
|
|
15
|
+
Example:
|
|
16
|
+
|
|
17
|
+
<core-scaffold>
|
|
18
|
+
<core-header-panel navigation flex mode="seamed">
|
|
19
|
+
<core-toolbar>Application</core-toolbar>
|
|
20
|
+
<core-menu theme="core-light-theme">
|
|
21
|
+
<core-item icon="settings" label="item1"></core-item>
|
|
22
|
+
<core-item icon="settings" label="item2"></core-item>
|
|
23
|
+
</core-menu>
|
|
24
|
+
</core-header-panel>
|
|
25
|
+
<div tool>Title</div>
|
|
26
|
+
<div>Main content goes here...</div>
|
|
27
|
+
</core-scaffold>
|
|
28
|
+
|
|
29
|
+
Use `mode` to control the header and scrolling behavior of `core-header-panel`
|
|
30
|
+
and `responsiveWidth` to change the layout of the scaffold. Use 'disableSwipe'
|
|
31
|
+
to disable swipe-to-open on toolbar.
|
|
32
|
+
|
|
33
|
+
Use `rightDrawer` to move position of folding toolbar to the right instead of
|
|
34
|
+
left (default). This will also position content to the left of the menu button
|
|
35
|
+
instead of the right. You can use `flex` within your `tool` content to push the menu
|
|
36
|
+
button to the far right:
|
|
37
|
+
|
|
38
|
+
<core-scaffold rightDrawer>
|
|
39
|
+
<div tool flex >Title</div>
|
|
40
|
+
</core-scaffold>
|
|
41
|
+
|
|
42
|
+
You may also add `middle` or `bottom` classes to your `tool` content when using tall
|
|
43
|
+
modes to adjust vertical content positioning in the core-toolbar (e.g. when using
|
|
44
|
+
mode="waterfall-tall"):
|
|
45
|
+
|
|
46
|
+
<core-scaffold rightDrawer mode="waterfall-tall">
|
|
47
|
+
<div tool flex >Title</div>
|
|
48
|
+
<div tool horizontal layout flex center-justified class="middle">Title-middle</div>
|
|
49
|
+
<div tool horizontal layout flex end-justified class="bottom">Title-bottom</div>
|
|
50
|
+
</core-scaffold>
|
|
51
|
+
|
|
52
|
+
To have the content fit to the main area, use `fit` attribute.
|
|
53
|
+
|
|
54
|
+
<core-scaffold>
|
|
55
|
+
<core-header-panel navigation flex mode="seamed">
|
|
56
|
+
....
|
|
57
|
+
</core-header-panel>
|
|
58
|
+
<div tool>Title</div>
|
|
59
|
+
<div fit>Content fits to the main area</div>
|
|
60
|
+
</core-scaffold>
|
|
61
|
+
|
|
62
|
+
@group Polymer Core Elements
|
|
63
|
+
@element core-scaffold
|
|
64
|
+
@homepage github.io
|
|
65
|
+
-->
|
|
66
|
+
|
|
67
|
+
<link rel="import" href="../core-toolbar/core-toolbar.html">
|
|
68
|
+
<link rel="import" href="../core-drawer-panel/core-drawer-panel.html">
|
|
69
|
+
<link rel="import" href="../core-header-panel/core-header-panel.html">
|
|
70
|
+
<link rel="import" href="../core-icon-button/core-icon-button.html">
|
|
71
|
+
|
|
72
|
+
<polymer-element name="core-scaffold">
|
|
73
|
+
<template>
|
|
74
|
+
|
|
75
|
+
<style>
|
|
76
|
+
|
|
77
|
+
:host {
|
|
78
|
+
display: block;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
[drawer] {
|
|
82
|
+
background-color: #fff;
|
|
83
|
+
box-shadow: 1px 0 1px rgba(0, 0, 0, 0.1);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
[main] {
|
|
87
|
+
height: 100%;
|
|
88
|
+
background-color: #eee;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
core-toolbar {
|
|
92
|
+
background-color: #526E9C;
|
|
93
|
+
color: #fff;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
#drawerPanel:not([narrow]) #menuButton {
|
|
97
|
+
display: none;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
</style>
|
|
101
|
+
|
|
102
|
+
<core-drawer-panel id="drawerPanel" narrow="{{narrow}}" drawerWidth="{{drawerWidth}}" rightDrawer="{{rightDrawer}}" responsiveWidth="{{responsiveWidth}}" disableSwipe="{{disableSwipe}}">
|
|
103
|
+
|
|
104
|
+
<div vertical layout drawer>
|
|
105
|
+
|
|
106
|
+
<content select="[navigation], nav"></content>
|
|
107
|
+
|
|
108
|
+
</div>
|
|
109
|
+
|
|
110
|
+
<core-header-panel id="headerPanel" main mode="{{mode}}">
|
|
111
|
+
|
|
112
|
+
<core-toolbar>
|
|
113
|
+
<template if="{{!rightDrawer}}">
|
|
114
|
+
<core-icon-button id="menuButton" icon="menu" on-tap="{{togglePanel}}"></core-icon-button>
|
|
115
|
+
</template>
|
|
116
|
+
<content select="[tool]"></content>
|
|
117
|
+
<template if="{{rightDrawer}}">
|
|
118
|
+
<core-icon-button id="menuButton" icon="menu" on-tap="{{togglePanel}}"></core-icon-button>
|
|
119
|
+
</template>
|
|
120
|
+
</core-toolbar>
|
|
121
|
+
|
|
122
|
+
<content select="*"></content>
|
|
123
|
+
|
|
124
|
+
</core-header-panel>
|
|
125
|
+
|
|
126
|
+
</core-drawer-panel>
|
|
127
|
+
|
|
128
|
+
</template>
|
|
129
|
+
<script>
|
|
130
|
+
|
|
131
|
+
Polymer('core-scaffold', {
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Fired when the main content has been scrolled. `event.detail.target` returns
|
|
135
|
+
* the scrollable element which you can use to access scroll info such as
|
|
136
|
+
* `scrollTop`.
|
|
137
|
+
*
|
|
138
|
+
* <core-scaffold on-scroll="{{scrollHandler}}">
|
|
139
|
+
* ...
|
|
140
|
+
* </core-scaffold>
|
|
141
|
+
*
|
|
142
|
+
*
|
|
143
|
+
* scrollHandler: function(event) {
|
|
144
|
+
* var scroller = event.detail.target;
|
|
145
|
+
* console.log(scroller.scrollTop);
|
|
146
|
+
* }
|
|
147
|
+
*
|
|
148
|
+
* @event scroll
|
|
149
|
+
*/
|
|
150
|
+
|
|
151
|
+
publish: {
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Width of the drawer panel.
|
|
155
|
+
*
|
|
156
|
+
* @attribute drawerWidth
|
|
157
|
+
* @type string
|
|
158
|
+
* @default '256px'
|
|
159
|
+
*/
|
|
160
|
+
drawerWidth: '256px',
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* When the browser window size is smaller than the `responsiveWidth`,
|
|
164
|
+
* `core-drawer-panel` changes to a narrow layout. In narrow layout,
|
|
165
|
+
* the drawer will be stacked on top of the main panel.
|
|
166
|
+
*
|
|
167
|
+
* @attribute responsiveWidth
|
|
168
|
+
* @type string
|
|
169
|
+
* @default '600px'
|
|
170
|
+
*/
|
|
171
|
+
responsiveWidth: '600px',
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* If true, position the drawer to the right. Also place menu icon to
|
|
175
|
+
* the right of the content instead of left.
|
|
176
|
+
*
|
|
177
|
+
* @attribute rightDrawer
|
|
178
|
+
* @type boolean
|
|
179
|
+
* @default false
|
|
180
|
+
*/
|
|
181
|
+
rightDrawer: false,
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* If true, swipe to open/close the drawer is disabled.
|
|
185
|
+
*
|
|
186
|
+
* @attribute disableSwipe
|
|
187
|
+
* @type boolean
|
|
188
|
+
* @default false
|
|
189
|
+
*/
|
|
190
|
+
disableSwipe: false,
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Used to control the header and scrolling behaviour of `core-header-panel`
|
|
194
|
+
*
|
|
195
|
+
* @attribute mode
|
|
196
|
+
* @type string
|
|
197
|
+
* @default 'seamed'
|
|
198
|
+
*/
|
|
199
|
+
mode: {value: 'seamed', reflect: true}
|
|
200
|
+
},
|
|
201
|
+
|
|
202
|
+
ready: function() {
|
|
203
|
+
this._scrollHandler = this.scroll.bind(this);
|
|
204
|
+
this.$.headerPanel.addEventListener('scroll', this._scrollHandler);
|
|
205
|
+
},
|
|
206
|
+
|
|
207
|
+
detached: function() {
|
|
208
|
+
this.$.headerPanel.removeEventListener('scroll', this._scrollHandler);
|
|
209
|
+
},
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Toggle the drawer panel
|
|
213
|
+
* @method togglePanel
|
|
214
|
+
*/
|
|
215
|
+
togglePanel: function() {
|
|
216
|
+
this.$.drawerPanel.togglePanel();
|
|
217
|
+
},
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Open the drawer panel
|
|
221
|
+
* @method openDrawer
|
|
222
|
+
*/
|
|
223
|
+
openDrawer: function() {
|
|
224
|
+
this.$.drawerPanel.openDrawer();
|
|
225
|
+
},
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Close the drawer panel
|
|
229
|
+
* @method closeDrawer
|
|
230
|
+
*/
|
|
231
|
+
closeDrawer: function() {
|
|
232
|
+
this.$.drawerPanel.closeDrawer();
|
|
233
|
+
},
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* Returns the scrollable element on the main area.
|
|
237
|
+
*
|
|
238
|
+
* @property scroller
|
|
239
|
+
* @type Object
|
|
240
|
+
*/
|
|
241
|
+
get scroller() {
|
|
242
|
+
return this.$.headerPanel.scroller;
|
|
243
|
+
},
|
|
244
|
+
|
|
245
|
+
scroll: function(e) {
|
|
246
|
+
this.fire('scroll', {target: e.detail.target}, this, false);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
});
|
|
250
|
+
|
|
251
|
+
</script>
|
|
252
|
+
</polymer-element>
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<!--
|
|
3
|
+
Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
|
|
4
|
+
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
|
5
|
+
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
|
6
|
+
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
|
7
|
+
Code distributed by Google as part of the polymer project is also
|
|
8
|
+
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
|
9
|
+
-->
|
|
10
|
+
<html>
|
|
11
|
+
<head>
|
|
12
|
+
<title>core-scaffold</title>
|
|
13
|
+
|
|
14
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
|
|
15
|
+
<meta name="mobile-web-app-capable" content="yes">
|
|
16
|
+
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
17
|
+
|
|
18
|
+
<script src="../webcomponentsjs/webcomponents.js"></script>
|
|
19
|
+
|
|
20
|
+
<link rel="import" href="core-scaffold.html">
|
|
21
|
+
<link rel="import" href="../core-header-panel/core-header-panel.html">
|
|
22
|
+
<link rel="import" href="../core-menu/core-menu.html">
|
|
23
|
+
<link rel="import" href="../core-item/core-item.html">
|
|
24
|
+
|
|
25
|
+
<style>
|
|
26
|
+
|
|
27
|
+
html, body {
|
|
28
|
+
height: 100%;
|
|
29
|
+
margin: 0;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
body {
|
|
33
|
+
font-family: sans-serif;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
core-scaffold {
|
|
37
|
+
position: absolute;
|
|
38
|
+
top: 0;
|
|
39
|
+
right: 0;
|
|
40
|
+
bottom: 0;
|
|
41
|
+
left: 0;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.content {
|
|
45
|
+
background-color: #fff;
|
|
46
|
+
height: 5000px;
|
|
47
|
+
padding: 20px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* some default styles for mode="cover" on core-scaffold */
|
|
51
|
+
core-scaffold[mode=cover]::shadow core-header-panel::shadow #mainContainer {
|
|
52
|
+
left: 120px;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
core-scaffold[mode=cover] .content {
|
|
56
|
+
margin: 20px 100px 20px 0;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
</style>
|
|
60
|
+
|
|
61
|
+
</head>
|
|
62
|
+
|
|
63
|
+
<body unresolved>
|
|
64
|
+
|
|
65
|
+
<core-scaffold>
|
|
66
|
+
|
|
67
|
+
<core-header-panel navigation flex mode="seamed">
|
|
68
|
+
<core-toolbar style="background-color: #526E9C; color: #fff;">Application</core-toolbar>
|
|
69
|
+
<core-menu>
|
|
70
|
+
<core-item icon="settings" label="item1"></core-item>
|
|
71
|
+
<core-item icon="settings" label="item2"></core-item>
|
|
72
|
+
</core-menu>
|
|
73
|
+
</core-header-panel>
|
|
74
|
+
|
|
75
|
+
<div tool>Title</div>
|
|
76
|
+
|
|
77
|
+
<div class="content">Content goes here...</div>
|
|
78
|
+
|
|
79
|
+
</core-scaffold>
|
|
80
|
+
|
|
81
|
+
</body>
|
|
82
|
+
</html>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<!--
|
|
3
|
+
Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
|
|
4
|
+
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
|
|
5
|
+
The complete set of authors may be found at http://polymer.github.io/AUTHORS
|
|
6
|
+
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
|
|
7
|
+
Code distributed by Google as part of the polymer project is also
|
|
8
|
+
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
|
|
9
|
+
-->
|
|
10
|
+
<html>
|
|
11
|
+
<head>
|
|
12
|
+
|
|
13
|
+
<script src="../webcomponentsjs/webcomponents.js"></script>
|
|
14
|
+
<link rel="import" href="../core-component-page/core-component-page.html">
|
|
15
|
+
|
|
16
|
+
</head>
|
|
17
|
+
<body unresolved>
|
|
18
|
+
|
|
19
|
+
<core-component-page></core-component-page>
|
|
20
|
+
|
|
21
|
+
</body>
|
|
22
|
+
</html>
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@license
|
|
3
|
+
Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
|
|
4
|
+
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
|
5
|
+
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
|
6
|
+
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
|
7
|
+
Code distributed by Google as part of the polymer project is also
|
|
8
|
+
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
|
9
|
+
-->
|
|
10
|
+
<x-meta id="core-scaffold" label="Scaffold" isContainer group="Core">
|
|
11
|
+
|
|
12
|
+
<template>
|
|
13
|
+
|
|
14
|
+
<core-scaffold style="position: absolute; top: 0; right: 0; bottom: 0; left: 0;">
|
|
15
|
+
|
|
16
|
+
<core-header-panel navigation flex mode="seamed" style="background-color: #fff;">
|
|
17
|
+
|
|
18
|
+
<core-toolbar style="background-color: #4F7DC9 ; color: #fff;"></core-toolbar>
|
|
19
|
+
|
|
20
|
+
<core-menu valueattr="label" style="font-size: 16px;" theme="core-light-theme">
|
|
21
|
+
<core-item icon="settings" label="Item1"></core-item>
|
|
22
|
+
<core-item icon="settings" label="Item2"></core-item>
|
|
23
|
+
</core-menu>
|
|
24
|
+
|
|
25
|
+
</core-header-panel>
|
|
26
|
+
|
|
27
|
+
<div tool>Title</div>
|
|
28
|
+
|
|
29
|
+
</core-scaffold>
|
|
30
|
+
|
|
31
|
+
</template>
|
|
32
|
+
|
|
33
|
+
<template id="imports">
|
|
34
|
+
|
|
35
|
+
<link rel="import" href="core-scaffold.html">
|
|
36
|
+
<link rel="import" href="../core-header-panel/core-header-panel.html">
|
|
37
|
+
<link rel="import" href="../core-menu/core-menu.html">
|
|
38
|
+
<link rel="import" href="../core-item/core-item.html">
|
|
39
|
+
|
|
40
|
+
</template>
|
|
41
|
+
|
|
42
|
+
</x-meta>
|
|
43
|
+
|
|
44
|
+
<x-meta id="core-card" label="Card" isContainer group="Core">
|
|
45
|
+
|
|
46
|
+
<template>
|
|
47
|
+
|
|
48
|
+
<core-card style="position: absolute; width: 300px; height: 300px; background-color: #fff; border-radius: 2px; box-shadow: rgba(0, 0, 0, 0.098) 0px 2px 4px, rgba(0, 0, 0, 0.098) 0px 0px 3px;" layout vertical></core-card>
|
|
49
|
+
|
|
50
|
+
</template>
|
|
51
|
+
|
|
52
|
+
</x-meta>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "core-selection",
|
|
3
|
+
"private": true,
|
|
4
|
+
"dependencies": {
|
|
5
|
+
"polymer": "Polymer/polymer#^0.5"
|
|
6
|
+
},
|
|
7
|
+
"devDependencies": {
|
|
8
|
+
"web-component-tester": "Polymer/web-component-tester#^1.1.0"
|
|
9
|
+
},
|
|
10
|
+
"version": "0.5.5",
|
|
11
|
+
"homepage": "https://github.com/Polymer/core-selection",
|
|
12
|
+
"_release": "0.5.5",
|
|
13
|
+
"_resolution": {
|
|
14
|
+
"type": "version",
|
|
15
|
+
"tag": "0.5.5",
|
|
16
|
+
"commit": "f1adb28dba9367c2df5e7701ab6f77e7ed755152"
|
|
17
|
+
},
|
|
18
|
+
"_source": "git://github.com/Polymer/core-selection.git",
|
|
19
|
+
"_target": "^0.5",
|
|
20
|
+
"_originalSource": "Polymer/core-selection"
|
|
21
|
+
}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
|
|
3
|
+
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
|
4
|
+
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
|
5
|
+
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
|
6
|
+
Code distributed by Google as part of the polymer project is also
|
|
7
|
+
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
|
8
|
+
-->
|
|
9
|
+
<!--
|
|
10
|
+
@group Polymer Core Elements
|
|
11
|
+
|
|
12
|
+
The `<core-selection>` element is used to manage selection state. It has no
|
|
13
|
+
visual appearance and is typically used in conjunction with another element.
|
|
14
|
+
For example, [core-selector](#core-selector)
|
|
15
|
+
uses a `<core-selection>` to manage selection.
|
|
16
|
+
|
|
17
|
+
To mark an item as selected, call the `select(item)` method on
|
|
18
|
+
`<core-selection>`. The item itself is an argument to this method.
|
|
19
|
+
|
|
20
|
+
The `<core-selection>`element manages selection state for any given set of
|
|
21
|
+
items. When an item is selected, the `core-select` event is fired.
|
|
22
|
+
|
|
23
|
+
The attribute `multi` indicates if multiple items can be selected at once.
|
|
24
|
+
|
|
25
|
+
Example:
|
|
26
|
+
|
|
27
|
+
<polymer-element name="selection-example">
|
|
28
|
+
<template>
|
|
29
|
+
<style>
|
|
30
|
+
polyfill-next-selector { content: ':host > .selected'; }
|
|
31
|
+
::content > .selected {
|
|
32
|
+
font-weight: bold;
|
|
33
|
+
font-style: italic;
|
|
34
|
+
}
|
|
35
|
+
</style>
|
|
36
|
+
<ul on-tap="{{itemTapAction}}">
|
|
37
|
+
<content></content>
|
|
38
|
+
</ul>
|
|
39
|
+
<core-selection id="selection" multi
|
|
40
|
+
on-core-select="{{selectAction}}"></core-selection>
|
|
41
|
+
</template>
|
|
42
|
+
<script>
|
|
43
|
+
Polymer('selection-example', {
|
|
44
|
+
itemTapAction: function(e, detail, sender) {
|
|
45
|
+
this.$.selection.select(e.target);
|
|
46
|
+
},
|
|
47
|
+
selectAction: function(e, detail, sender) {
|
|
48
|
+
detail.item.classList.toggle('selected', detail.isSelected);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
</script>
|
|
52
|
+
</polymer-element>
|
|
53
|
+
|
|
54
|
+
<selection-example>
|
|
55
|
+
<li>Red</li>
|
|
56
|
+
<li>Green</li>
|
|
57
|
+
<li>Blue</li>
|
|
58
|
+
</selection-example>
|
|
59
|
+
|
|
60
|
+
@element core-selection
|
|
61
|
+
-->
|
|
62
|
+
|
|
63
|
+
<!--
|
|
64
|
+
Fired when an item's selection state is changed. This event is fired both
|
|
65
|
+
when an item is selected or deselected. The `isSelected` detail property
|
|
66
|
+
contains the selection state.
|
|
67
|
+
|
|
68
|
+
@event core-select
|
|
69
|
+
@param {Object} detail
|
|
70
|
+
@param {boolean} detail.isSelected true for selection and false for de-selection
|
|
71
|
+
@param {Object} detail.item the item element
|
|
72
|
+
-->
|
|
73
|
+
<link rel="import" href="../polymer/polymer.html">
|
|
74
|
+
|
|
75
|
+
<polymer-element name="core-selection" attributes="multi" hidden>
|
|
76
|
+
<script>
|
|
77
|
+
Polymer('core-selection', {
|
|
78
|
+
/**
|
|
79
|
+
* If true, multiple selections are allowed.
|
|
80
|
+
*
|
|
81
|
+
* @attribute multi
|
|
82
|
+
* @type boolean
|
|
83
|
+
* @default false
|
|
84
|
+
*/
|
|
85
|
+
multi: false,
|
|
86
|
+
ready: function() {
|
|
87
|
+
this.clear();
|
|
88
|
+
},
|
|
89
|
+
clear: function() {
|
|
90
|
+
this.selection = [];
|
|
91
|
+
},
|
|
92
|
+
/**
|
|
93
|
+
* Retrieves the selected item(s).
|
|
94
|
+
* @method getSelection
|
|
95
|
+
* @returns Returns the selected item(s). If the multi property is true,
|
|
96
|
+
* getSelection will return an array, otherwise it will return
|
|
97
|
+
* the selected item or undefined if there is no selection.
|
|
98
|
+
*/
|
|
99
|
+
getSelection: function() {
|
|
100
|
+
return this.multi ? this.selection : this.selection[0];
|
|
101
|
+
},
|
|
102
|
+
/**
|
|
103
|
+
* Indicates if a given item is selected.
|
|
104
|
+
* @method isSelected
|
|
105
|
+
* @param {any} item The item whose selection state should be checked.
|
|
106
|
+
* @returns Returns true if `item` is selected.
|
|
107
|
+
*/
|
|
108
|
+
isSelected: function(item) {
|
|
109
|
+
return this.selection.indexOf(item) >= 0;
|
|
110
|
+
},
|
|
111
|
+
setItemSelected: function(item, isSelected) {
|
|
112
|
+
if (item !== undefined && item !== null) {
|
|
113
|
+
if (isSelected) {
|
|
114
|
+
this.selection.push(item);
|
|
115
|
+
} else {
|
|
116
|
+
var i = this.selection.indexOf(item);
|
|
117
|
+
if (i >= 0) {
|
|
118
|
+
this.selection.splice(i, 1);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
this.fire("core-select", {isSelected: isSelected, item: item});
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
/**
|
|
125
|
+
* Set the selection state for a given `item`. If the multi property
|
|
126
|
+
* is true, then the selected state of `item` will be toggled; otherwise
|
|
127
|
+
* the `item` will be selected.
|
|
128
|
+
* @method select
|
|
129
|
+
* @param {any} item: The item to select.
|
|
130
|
+
*/
|
|
131
|
+
select: function(item) {
|
|
132
|
+
if (this.multi) {
|
|
133
|
+
this.toggle(item);
|
|
134
|
+
} else if (this.getSelection() !== item) {
|
|
135
|
+
this.setItemSelected(this.getSelection(), false);
|
|
136
|
+
this.setItemSelected(item, true);
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
/**
|
|
140
|
+
* Toggles the selection state for `item`.
|
|
141
|
+
* @method toggle
|
|
142
|
+
* @param {any} item: The item to toggle.
|
|
143
|
+
*/
|
|
144
|
+
toggle: function(item) {
|
|
145
|
+
this.setItemSelected(item, !this.isSelected(item));
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
</script>
|
|
149
|
+
</polymer-element>
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<!--
|
|
3
|
+
Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
|
|
4
|
+
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
|
5
|
+
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
|
6
|
+
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
|
7
|
+
Code distributed by Google as part of the polymer project is also
|
|
8
|
+
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
|
9
|
+
-->
|
|
10
|
+
<html>
|
|
11
|
+
<head>
|
|
12
|
+
<title>Selection</title>
|
|
13
|
+
<script src="../webcomponentsjs/webcomponents.js"></script>
|
|
14
|
+
<link rel="import" href="core-selection.html">
|
|
15
|
+
</head>
|
|
16
|
+
<body unresolved>
|
|
17
|
+
|
|
18
|
+
<polymer-element name="selection-example">
|
|
19
|
+
<template>
|
|
20
|
+
<style>
|
|
21
|
+
polyfill-next-selector { content: 'ul > *'; }
|
|
22
|
+
::content > * {
|
|
23
|
+
cursor: pointer;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
polyfill-next-selector { content: 'ul > .selected'; }
|
|
27
|
+
::content > .selected {
|
|
28
|
+
font-weight: bold;
|
|
29
|
+
font-style: italic;
|
|
30
|
+
}
|
|
31
|
+
</style>
|
|
32
|
+
|
|
33
|
+
<ul on-tap="{{itemTapAction}}">
|
|
34
|
+
<content></content>
|
|
35
|
+
</ul>
|
|
36
|
+
|
|
37
|
+
<core-selection id="selection" multi on-core-select="{{selectAction}}"></core-selection>
|
|
38
|
+
|
|
39
|
+
</template>
|
|
40
|
+
<script>
|
|
41
|
+
Polymer('selection-example', {
|
|
42
|
+
itemTapAction: function(e, detail, sender) {
|
|
43
|
+
this.$.selection.select(e.target);
|
|
44
|
+
},
|
|
45
|
+
selectAction: function(e, detail, sender) {
|
|
46
|
+
detail.item.classList.toggle('selected', detail.isSelected);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
</script>
|
|
50
|
+
</polymer-element>
|
|
51
|
+
|
|
52
|
+
<selection-example>
|
|
53
|
+
<li>Red</li>
|
|
54
|
+
<li>Green</li>
|
|
55
|
+
<li>Blue</li>
|
|
56
|
+
</selection-example>
|
|
57
|
+
|
|
58
|
+
</body>
|
|
59
|
+
</html>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<!--
|
|
3
|
+
Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
|
|
4
|
+
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
|
|
5
|
+
The complete set of authors may be found at http://polymer.github.io/AUTHORS
|
|
6
|
+
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
|
|
7
|
+
Code distributed by Google as part of the polymer project is also
|
|
8
|
+
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
|
|
9
|
+
-->
|
|
10
|
+
<html>
|
|
11
|
+
<head>
|
|
12
|
+
|
|
13
|
+
<script src="../webcomponentsjs/webcomponents.js"></script>
|
|
14
|
+
<link rel="import" href="../core-component-page/core-component-page.html">
|
|
15
|
+
|
|
16
|
+
</head>
|
|
17
|
+
<body unresolved>
|
|
18
|
+
|
|
19
|
+
<core-component-page></core-component-page>
|
|
20
|
+
|
|
21
|
+
</body>
|
|
22
|
+
</html>
|