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,157 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<!--
|
|
3
|
+
Copyright 2013 The Polymer Authors. All rights reserved.
|
|
4
|
+
Use of this source code is governed by a BSD-style
|
|
5
|
+
license that can be found in the LICENSE file.
|
|
6
|
+
-->
|
|
7
|
+
<html>
|
|
8
|
+
<head>
|
|
9
|
+
|
|
10
|
+
<meta charset="utf-8">
|
|
11
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
12
|
+
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes">
|
|
13
|
+
|
|
14
|
+
<title>paper-button</title>
|
|
15
|
+
|
|
16
|
+
<script src="../webcomponentsjs/webcomponents.js"></script>
|
|
17
|
+
|
|
18
|
+
<link href="../font-roboto/roboto.html" rel="import">
|
|
19
|
+
<link href="../core-icon/core-icon.html" rel="import">
|
|
20
|
+
<link href="../core-icons/core-icons.html" rel="import">
|
|
21
|
+
<link href="paper-button.html" rel="import">
|
|
22
|
+
|
|
23
|
+
<style shim-shadowdom>
|
|
24
|
+
body {
|
|
25
|
+
font-family: RobotoDraft, 'Helvetica Neue', Helvetica, Arial;
|
|
26
|
+
font-size: 14px;
|
|
27
|
+
margin: 0;
|
|
28
|
+
padding: 24px;
|
|
29
|
+
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
|
30
|
+
-webkit-touch-callout: none;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
section {
|
|
34
|
+
padding: 20px 0;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
section > div {
|
|
38
|
+
padding: 14px;
|
|
39
|
+
font-size: 16px;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
paper-button.colored {
|
|
43
|
+
color: #4285f4;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
paper-button[raised].colored {
|
|
47
|
+
background: #4285f4;
|
|
48
|
+
color: #fff;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
paper-button.custom > core-icon {
|
|
52
|
+
margin-right: 4px;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
paper-button.hover:hover {
|
|
56
|
+
background: #eee;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
paper-button.blue-ripple::shadow #ripple {
|
|
60
|
+
color: #4285f4;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
</style>
|
|
64
|
+
</head>
|
|
65
|
+
<body unresolved>
|
|
66
|
+
|
|
67
|
+
<template is="auto-binding">
|
|
68
|
+
<div id="clicker" on-tap="{{clickAction}}">
|
|
69
|
+
<section>
|
|
70
|
+
|
|
71
|
+
<div>Flat buttons</div>
|
|
72
|
+
|
|
73
|
+
<paper-button>button</paper-button>
|
|
74
|
+
<paper-button class="colored">colored</paper-button>
|
|
75
|
+
<paper-button disabled>disabled</paper-button>
|
|
76
|
+
<paper-button noink>noink</paper-button>
|
|
77
|
+
|
|
78
|
+
</section>
|
|
79
|
+
|
|
80
|
+
<br>
|
|
81
|
+
|
|
82
|
+
<section>
|
|
83
|
+
|
|
84
|
+
<div>Raised buttons</div>
|
|
85
|
+
|
|
86
|
+
<paper-button raised>button</paper-button>
|
|
87
|
+
<paper-button raised class="colored">colored</paper-button>
|
|
88
|
+
<paper-button raised disabled>disabled</paper-button>
|
|
89
|
+
<paper-button raised noink>noink</paper-button>
|
|
90
|
+
|
|
91
|
+
</section>
|
|
92
|
+
|
|
93
|
+
<section>
|
|
94
|
+
|
|
95
|
+
<div>Custom button content</div>
|
|
96
|
+
|
|
97
|
+
<paper-button class="colored custom">
|
|
98
|
+
<core-icon icon="check"></core-icon>
|
|
99
|
+
ok
|
|
100
|
+
</paper-button>
|
|
101
|
+
<paper-button class="custom">
|
|
102
|
+
<core-icon icon="clear"></core-icon>
|
|
103
|
+
cancel
|
|
104
|
+
</paper-button>
|
|
105
|
+
<br>
|
|
106
|
+
<paper-button>
|
|
107
|
+
<a href="https://www.polymer-project.org" target="_blank">link</a>
|
|
108
|
+
</paper-button>
|
|
109
|
+
|
|
110
|
+
</section>
|
|
111
|
+
|
|
112
|
+
<section>
|
|
113
|
+
|
|
114
|
+
<div>Toggle buttons</div>
|
|
115
|
+
|
|
116
|
+
<paper-button toggle>button</paper-button>
|
|
117
|
+
|
|
118
|
+
<paper-button toggle raised noink>noink</paper-button>
|
|
119
|
+
|
|
120
|
+
<paper-button toggle active class="colored">active</paper-button>
|
|
121
|
+
|
|
122
|
+
<paper-button toggle raised active class="colored">active</paper-button>
|
|
123
|
+
|
|
124
|
+
</section>
|
|
125
|
+
|
|
126
|
+
<section>
|
|
127
|
+
|
|
128
|
+
<div>Styling options</div>
|
|
129
|
+
|
|
130
|
+
<paper-button class="hover">hover</paper-button>
|
|
131
|
+
<paper-button class="blue-ripple">custom ripple</paper-button>
|
|
132
|
+
|
|
133
|
+
</section>
|
|
134
|
+
</div>
|
|
135
|
+
</template>
|
|
136
|
+
|
|
137
|
+
<script>
|
|
138
|
+
|
|
139
|
+
function clickAction(e) {
|
|
140
|
+
var t = e.target;
|
|
141
|
+
if (t.localName === 'paper-button') {
|
|
142
|
+
if (t.hasAttribute('disabled')) {
|
|
143
|
+
console.error('should not be able to click disabled button', t);
|
|
144
|
+
} else {
|
|
145
|
+
console.log('click', t);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
addEventListener('template-bound', function(e) {
|
|
151
|
+
e.target.clickAction = clickAction;
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
</script>
|
|
155
|
+
|
|
156
|
+
</body>
|
|
157
|
+
</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 sources='["paper-button.html","paper-button-base.html"]'></core-component-page>
|
|
20
|
+
|
|
21
|
+
</body>
|
|
22
|
+
</html>
|
|
@@ -0,0 +1,17 @@
|
|
|
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="paper-button" label="Button" group="Paper" isContainer>
|
|
11
|
+
<template>
|
|
12
|
+
<paper-button>button</paper-button>
|
|
13
|
+
</template>
|
|
14
|
+
<template id="imports">
|
|
15
|
+
<link rel="import" href="paper-button.html">
|
|
16
|
+
</template>
|
|
17
|
+
</x-meta>
|
|
@@ -0,0 +1,164 @@
|
|
|
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
|
+
@group Paper Elements
|
|
12
|
+
|
|
13
|
+
`paper-button-base` is the base class for button-like elements with ripple and optional shadow.
|
|
14
|
+
|
|
15
|
+
@element paper-button-base
|
|
16
|
+
@mixins Polymer.CoreFocusable https://github.com/polymer/core-focusable
|
|
17
|
+
@status unstable
|
|
18
|
+
-->
|
|
19
|
+
|
|
20
|
+
<link href="../polymer/polymer.html" rel="import">
|
|
21
|
+
<link href="../core-focusable/core-focusable.html" rel="import">
|
|
22
|
+
<link href="../paper-ripple/paper-ripple.html" rel="import">
|
|
23
|
+
|
|
24
|
+
<polymer-element name="paper-button-base" tabindex="0">
|
|
25
|
+
|
|
26
|
+
<script>
|
|
27
|
+
|
|
28
|
+
(function() {
|
|
29
|
+
|
|
30
|
+
var p = {
|
|
31
|
+
|
|
32
|
+
eventDelegates: {
|
|
33
|
+
down: 'downAction',
|
|
34
|
+
up: 'upAction'
|
|
35
|
+
},
|
|
36
|
+
|
|
37
|
+
toggleBackground: function() {
|
|
38
|
+
if (this.active) {
|
|
39
|
+
|
|
40
|
+
if (!this.$.bg) {
|
|
41
|
+
var bg = document.createElement('div');
|
|
42
|
+
bg.setAttribute('id', 'bg');
|
|
43
|
+
bg.setAttribute('fit', '');
|
|
44
|
+
bg.style.opacity = 0.25;
|
|
45
|
+
this.$.bg = bg;
|
|
46
|
+
this.shadowRoot.insertBefore(bg, this.shadowRoot.firstChild);
|
|
47
|
+
}
|
|
48
|
+
this.$.bg.style.backgroundColor = getComputedStyle(this).color;
|
|
49
|
+
|
|
50
|
+
} else {
|
|
51
|
+
|
|
52
|
+
if (this.$.bg) {
|
|
53
|
+
this.$.bg.style.backgroundColor = '';
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
activeChanged: function() {
|
|
59
|
+
this.super();
|
|
60
|
+
|
|
61
|
+
if (this.toggle && (!this.lastEvent || this.matches(':host-context([noink])'))) {
|
|
62
|
+
this.toggleBackground();
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
|
|
66
|
+
pressedChanged: function() {
|
|
67
|
+
this.super();
|
|
68
|
+
|
|
69
|
+
if (!this.lastEvent) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (this.$.ripple && !this.hasAttribute('noink')) {
|
|
74
|
+
if (this.pressed) {
|
|
75
|
+
this.$.ripple.downAction(this.lastEvent);
|
|
76
|
+
} else {
|
|
77
|
+
this.$.ripple.upAction();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
this.adjustZ();
|
|
82
|
+
},
|
|
83
|
+
|
|
84
|
+
focusedChanged: function() {
|
|
85
|
+
this.adjustZ();
|
|
86
|
+
},
|
|
87
|
+
|
|
88
|
+
disabledChanged: function() {
|
|
89
|
+
this._disabledChanged();
|
|
90
|
+
this.adjustZ();
|
|
91
|
+
},
|
|
92
|
+
|
|
93
|
+
recenteringTouchChanged: function() {
|
|
94
|
+
if (this.$.ripple) {
|
|
95
|
+
this.$.ripple.classList.toggle('recenteringTouch', this.recenteringTouch);
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
|
|
99
|
+
fillChanged: function() {
|
|
100
|
+
if (this.$.ripple) {
|
|
101
|
+
this.$.ripple.classList.toggle('fill', this.fill);
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
|
|
105
|
+
adjustZ: function() {
|
|
106
|
+
if (!this.$.shadow) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (this.active) {
|
|
110
|
+
this.$.shadow.setZ(2);
|
|
111
|
+
} else if (this.disabled) {
|
|
112
|
+
this.$.shadow.setZ(0);
|
|
113
|
+
} else if (this.focused) {
|
|
114
|
+
this.$.shadow.setZ(3);
|
|
115
|
+
} else {
|
|
116
|
+
this.$.shadow.setZ(1);
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
|
|
120
|
+
downAction: function(e) {
|
|
121
|
+
this._downAction();
|
|
122
|
+
|
|
123
|
+
if (this.hasAttribute('noink')) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
this.lastEvent = e;
|
|
128
|
+
if (!this.$.ripple) {
|
|
129
|
+
var ripple = document.createElement('paper-ripple');
|
|
130
|
+
ripple.setAttribute('id', 'ripple');
|
|
131
|
+
ripple.setAttribute('fit', '');
|
|
132
|
+
if (this.recenteringTouch) {
|
|
133
|
+
ripple.classList.add('recenteringTouch');
|
|
134
|
+
}
|
|
135
|
+
if (!this.fill) {
|
|
136
|
+
ripple.classList.add('circle');
|
|
137
|
+
}
|
|
138
|
+
this.$.ripple = ripple;
|
|
139
|
+
this.shadowRoot.insertBefore(ripple, this.shadowRoot.firstChild);
|
|
140
|
+
// No need to forward the event to the ripple because the ripple
|
|
141
|
+
// is triggered in activeChanged
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
|
|
145
|
+
upAction: function() {
|
|
146
|
+
this._upAction();
|
|
147
|
+
|
|
148
|
+
if (this.toggle) {
|
|
149
|
+
this.toggleBackground();
|
|
150
|
+
if (this.$.ripple) {
|
|
151
|
+
this.$.ripple.cancel();
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
Polymer.mixin2(p, Polymer.CoreFocusable);
|
|
159
|
+
Polymer(p);
|
|
160
|
+
|
|
161
|
+
})();
|
|
162
|
+
|
|
163
|
+
</script>
|
|
164
|
+
</polymer-element>
|
|
@@ -0,0 +1,197 @@
|
|
|
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
|
+
@group Paper Elements
|
|
12
|
+
|
|
13
|
+
Material Design: <a href="http://www.google.com/design/spec/components/buttons.html">Buttons</a>
|
|
14
|
+
|
|
15
|
+
`paper-button` is a button. When the user touches the button, a ripple effect emanates
|
|
16
|
+
from the point of contact. It may be flat or raised. A raised button is styled with a
|
|
17
|
+
shadow.
|
|
18
|
+
|
|
19
|
+
Example:
|
|
20
|
+
|
|
21
|
+
<paper-button>flat button</paper-button>
|
|
22
|
+
<paper-button raised>raised button</paper-button>
|
|
23
|
+
<paper-button noink>No ripple effect</paper-button>
|
|
24
|
+
|
|
25
|
+
You may use custom DOM in the button body to create a variety of buttons. For example, to
|
|
26
|
+
create a button with an icon and some text:
|
|
27
|
+
|
|
28
|
+
<paper-button>
|
|
29
|
+
<core-icon icon="favorite"></core-icon>
|
|
30
|
+
custom button content
|
|
31
|
+
</paper-button>
|
|
32
|
+
|
|
33
|
+
## Styling
|
|
34
|
+
|
|
35
|
+
Style the button with CSS as you would a normal DOM element.
|
|
36
|
+
|
|
37
|
+
/* make #my-button green with yellow text */
|
|
38
|
+
#my-button {
|
|
39
|
+
background: green;
|
|
40
|
+
color: yellow;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
By default, the ripple is the same color as the foreground at 25% opacity. You may
|
|
44
|
+
customize the color using this selector:
|
|
45
|
+
|
|
46
|
+
/* make #my-button use a blue ripple instead of foreground color */
|
|
47
|
+
#my-button::shadow #ripple {
|
|
48
|
+
color: blue;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
The opacity of the ripple is not customizable via CSS.
|
|
52
|
+
|
|
53
|
+
@element paper-button
|
|
54
|
+
@extends paper-button-base
|
|
55
|
+
@status unstable
|
|
56
|
+
-->
|
|
57
|
+
|
|
58
|
+
<link href="../polymer/polymer.html" rel="import">
|
|
59
|
+
<link href="../paper-shadow/paper-shadow.html" rel="import">
|
|
60
|
+
<link href="../core-a11y-keys/core-a11y-keys.html" rel="import">
|
|
61
|
+
|
|
62
|
+
<link href="paper-button-base.html" rel="import">
|
|
63
|
+
|
|
64
|
+
<polymer-element name="paper-button" extends="paper-button-base" attributes="raised recenteringTouch fill"
|
|
65
|
+
role="button">
|
|
66
|
+
|
|
67
|
+
<template>
|
|
68
|
+
|
|
69
|
+
<style>
|
|
70
|
+
|
|
71
|
+
:host {
|
|
72
|
+
display: inline-block;
|
|
73
|
+
position: relative;
|
|
74
|
+
box-sizing: border-box;
|
|
75
|
+
min-width: 5.14em;
|
|
76
|
+
margin: 0 0.29em;
|
|
77
|
+
background: transparent;
|
|
78
|
+
text-align: center;
|
|
79
|
+
font: inherit;
|
|
80
|
+
text-transform: uppercase;
|
|
81
|
+
outline: none;
|
|
82
|
+
border-radius: 3px;
|
|
83
|
+
-moz-user-select: none;
|
|
84
|
+
-ms-user-select: none;
|
|
85
|
+
-webkit-user-select: none;
|
|
86
|
+
user-select: none;
|
|
87
|
+
cursor: pointer;
|
|
88
|
+
z-index: 0;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
:host([disabled]) {
|
|
92
|
+
background: #eaeaea;
|
|
93
|
+
color: #a8a8a8;
|
|
94
|
+
cursor: auto;
|
|
95
|
+
pointer-events: none;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
::content * {
|
|
99
|
+
text-transform: inherit;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
#bg, #shadow {
|
|
103
|
+
border-radius: inherit;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
#ripple {
|
|
107
|
+
pointer-events: none;
|
|
108
|
+
z-index: -1;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.button-content {
|
|
112
|
+
padding: 0.7em 0.57em
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
polyfill-next-selector { content: '.button-content > a'; }
|
|
116
|
+
::content > a {
|
|
117
|
+
height: 100%;
|
|
118
|
+
padding: 0.7em 0.57em;
|
|
119
|
+
margin: -0.7em -0.57em;
|
|
120
|
+
/* flex */
|
|
121
|
+
-ms-flex: 1 1 0.000000001px;
|
|
122
|
+
-webkit-flex: 1;
|
|
123
|
+
flex: 1;
|
|
124
|
+
-webkit-flex-basis: 0.000000001px;
|
|
125
|
+
flex-basis: 0.000000001px;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
</style>
|
|
129
|
+
|
|
130
|
+
<template if="{{raised}}">
|
|
131
|
+
<paper-shadow id="shadow" fit animated></paper-shadow>
|
|
132
|
+
</template>
|
|
133
|
+
|
|
134
|
+
<!-- this div is needed to position the ripple behind text content -->
|
|
135
|
+
<div class="button-content" relative layout horizontal center-center>
|
|
136
|
+
<content></content>
|
|
137
|
+
</div>
|
|
138
|
+
|
|
139
|
+
<core-a11y-keys keys="space enter" target="{{}}" on-keys-pressed="{{_activate}}"></core-a11y-keys>
|
|
140
|
+
|
|
141
|
+
</template>
|
|
142
|
+
|
|
143
|
+
<script>
|
|
144
|
+
Polymer({
|
|
145
|
+
|
|
146
|
+
publish: {
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* If true, the button will be styled with a shadow.
|
|
150
|
+
*
|
|
151
|
+
* @attribute raised
|
|
152
|
+
* @type boolean
|
|
153
|
+
* @default false
|
|
154
|
+
*/
|
|
155
|
+
raised: false,
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* By default the ripple emanates from where the user touched the button.
|
|
159
|
+
* Set this to true to always center the ripple.
|
|
160
|
+
*
|
|
161
|
+
* @attribute recenteringTouch
|
|
162
|
+
* @type boolean
|
|
163
|
+
* @default false
|
|
164
|
+
*/
|
|
165
|
+
recenteringTouch: false,
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* By default the ripple expands to fill the button. Set this to true to
|
|
169
|
+
* constrain the ripple to a circle within the button.
|
|
170
|
+
*
|
|
171
|
+
* @attribute fill
|
|
172
|
+
* @type boolean
|
|
173
|
+
* @default true
|
|
174
|
+
*/
|
|
175
|
+
fill: true
|
|
176
|
+
|
|
177
|
+
},
|
|
178
|
+
|
|
179
|
+
_activate: function() {
|
|
180
|
+
this.click();
|
|
181
|
+
this.fire('tap');
|
|
182
|
+
if (!this.pressed) {
|
|
183
|
+
var bcr = this.getBoundingClientRect();
|
|
184
|
+
var x = bcr.left + (bcr.width / 2);
|
|
185
|
+
var y = bcr.top + (bcr.height / 2);
|
|
186
|
+
this.downAction({x: x, y: y});
|
|
187
|
+
var fn = function fn() {
|
|
188
|
+
this.upAction();
|
|
189
|
+
this.removeEventListener('keyup', fn);
|
|
190
|
+
}.bind(this);
|
|
191
|
+
this.addEventListener('keyup', fn);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
});
|
|
196
|
+
</script>
|
|
197
|
+
</polymer-element>
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
<meta charset="UTF-8">
|
|
13
|
+
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
|
|
14
|
+
<title>paper-button tests</title>
|
|
15
|
+
<script src="../../web-component-tester/browser.js"></script>
|
|
16
|
+
</head>
|
|
17
|
+
<body>
|
|
18
|
+
<script>
|
|
19
|
+
WCT.loadSuites([
|
|
20
|
+
'paper-button.html'
|
|
21
|
+
]);
|
|
22
|
+
</script>
|
|
23
|
+
</body>
|
|
24
|
+
</html>
|
|
@@ -0,0 +1,112 @@
|
|
|
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
|
+
<meta charset="UTF-8">
|
|
13
|
+
<title>paper-button basic tests</title>
|
|
14
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
|
|
15
|
+
|
|
16
|
+
<script src="../../webcomponentsjs/webcomponents.js"></script>
|
|
17
|
+
<script src="../../web-component-tester/browser.js"></script>
|
|
18
|
+
<script src="../../polymer-gestures/test/js/fake.js"></script>
|
|
19
|
+
|
|
20
|
+
<link href="../paper-button.html" rel="import">
|
|
21
|
+
|
|
22
|
+
</head>
|
|
23
|
+
<body>
|
|
24
|
+
|
|
25
|
+
<paper-button id="button1">button</paper-button>
|
|
26
|
+
|
|
27
|
+
<paper-button id="button2">button</paper-button>
|
|
28
|
+
|
|
29
|
+
<paper-button id="disabled" disabled>disabled</paper-button>
|
|
30
|
+
|
|
31
|
+
<script>
|
|
32
|
+
|
|
33
|
+
var fake = new Fake();
|
|
34
|
+
|
|
35
|
+
var b1 = document.getElementById('button1');
|
|
36
|
+
|
|
37
|
+
test('can set raised imperatively', function(done) {
|
|
38
|
+
assert.ok(!b1.shadowRoot.querySelector('paper-shadow'));
|
|
39
|
+
b1.raised = true;
|
|
40
|
+
flush(function() {
|
|
41
|
+
setTimeout(function() {
|
|
42
|
+
var shadow = b1.shadowRoot.querySelector('paper-shadow');
|
|
43
|
+
assert.ok(shadow);
|
|
44
|
+
done();
|
|
45
|
+
}, 600);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
test('can set noink dynamically', function(done) {
|
|
50
|
+
var button = document.getElementById('button2');
|
|
51
|
+
button.lastEvent = {x: 100, y: 100};
|
|
52
|
+
button.$.ripple = {
|
|
53
|
+
downAction: function() {
|
|
54
|
+
assert.ok(false);
|
|
55
|
+
},
|
|
56
|
+
upAction: function() {
|
|
57
|
+
assert.ok(false);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
button.setAttribute('noink', '');
|
|
61
|
+
fake.downOnNode(button);
|
|
62
|
+
fake.upOnNode(button);
|
|
63
|
+
// would throw if it tries to ripple
|
|
64
|
+
setTimeout(done, 10);
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
suite('a11y', function() {
|
|
68
|
+
|
|
69
|
+
test('aria role is a button', function() {
|
|
70
|
+
assert.strictEqual('button', b1.getAttribute('role'));
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
test('aria-disabled is set', function(done) {
|
|
74
|
+
var button = document.getElementById('disabled');
|
|
75
|
+
assert.ok(button.hasAttribute('aria-disabled'));
|
|
76
|
+
button.removeAttribute('disabled');
|
|
77
|
+
flush(function() {
|
|
78
|
+
assert.ok(!button.hasAttribute('aria-disabled'));
|
|
79
|
+
done();
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
test('space triggers the button', function() {
|
|
84
|
+
var ev = new CustomEvent('keydown', {detail: {key: 'space'}});
|
|
85
|
+
var sawClick = false;
|
|
86
|
+
function clickListener() {
|
|
87
|
+
sawClick = true;
|
|
88
|
+
}
|
|
89
|
+
b1.addEventListener('click', clickListener);
|
|
90
|
+
b1.dispatchEvent(ev);
|
|
91
|
+
assert.ok(sawClick);
|
|
92
|
+
b1.removeEventListener(clickListener);
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
test('enter triggers the button', function() {
|
|
96
|
+
var ev = new CustomEvent('keydown', {detail: {key: 'enter'}});
|
|
97
|
+
var sawClick = false;
|
|
98
|
+
function clickListener() {
|
|
99
|
+
sawClick = true;
|
|
100
|
+
}
|
|
101
|
+
b1.addEventListener('click', clickListener);
|
|
102
|
+
b1.dispatchEvent(ev);
|
|
103
|
+
assert.ok(sawClick);
|
|
104
|
+
b1.removeEventListener(clickListener);
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
</script>
|
|
110
|
+
|
|
111
|
+
</body>
|
|
112
|
+
</html>
|