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,160 @@
|
|
|
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
|
+
:host {
|
|
11
|
+
display: block;
|
|
12
|
+
position: absolute;
|
|
13
|
+
top: 0;
|
|
14
|
+
left: 0;
|
|
15
|
+
width: 100%;
|
|
16
|
+
height: 100%;
|
|
17
|
+
overflow: hidden;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
core-selector > #drawer {
|
|
21
|
+
position: absolute;
|
|
22
|
+
top: 0;
|
|
23
|
+
left: 0;
|
|
24
|
+
height: 100%;
|
|
25
|
+
will-change: transform;
|
|
26
|
+
box-sizing: border-box;
|
|
27
|
+
-moz-box-sizing: border-box;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.transition > #drawer {
|
|
31
|
+
transition: -webkit-transform ease-in-out 0.3s, width ease-in-out 0.3s;
|
|
32
|
+
transition: transform ease-in-out 0.3s, width ease-in-out 0.3s;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/*
|
|
36
|
+
right-drawer: make drawer on the right side
|
|
37
|
+
*/
|
|
38
|
+
.right-drawer > #drawer {
|
|
39
|
+
left: auto;
|
|
40
|
+
right: 0;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
polyfill-next-selector { content: ':host [drawer]'; }
|
|
44
|
+
::content[select="[drawer]"] > * {
|
|
45
|
+
position: absolute;
|
|
46
|
+
top: 0;
|
|
47
|
+
left: 0;
|
|
48
|
+
width: 100%;
|
|
49
|
+
height: 100%;
|
|
50
|
+
box-sizing: border-box;
|
|
51
|
+
-moz-box-sizing: border-box;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
core-selector > #main {
|
|
55
|
+
position: absolute;
|
|
56
|
+
top: 0;
|
|
57
|
+
right: 0;
|
|
58
|
+
bottom: 0;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.transition > #main {
|
|
62
|
+
transition: left ease-in-out 0.3s, padding ease-in-out 0.3s;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.right-drawer > #main {
|
|
66
|
+
left: 0;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.right-drawer.transition > #main {
|
|
70
|
+
transition: right ease-in-out 0.3s, padding ease-in-out 0.3s;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
polyfill-next-selector { content: '#main > [main]'; }
|
|
74
|
+
::content[select="[main]"] > * {
|
|
75
|
+
height: 100%;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
#scrim {
|
|
79
|
+
position: absolute;
|
|
80
|
+
top: 0;
|
|
81
|
+
right: 0;
|
|
82
|
+
bottom: 0;
|
|
83
|
+
left: 0;
|
|
84
|
+
background-color: rgba(0, 0, 0, 0.3);
|
|
85
|
+
visibility: hidden;
|
|
86
|
+
opacity: 0;
|
|
87
|
+
transition: opacity ease-in-out 0.38s, visibility ease-in-out 0.38s;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
#edgeSwipeOverlay {
|
|
91
|
+
position: absolute;
|
|
92
|
+
top: 0;
|
|
93
|
+
bottom: 0;
|
|
94
|
+
left: 0;
|
|
95
|
+
width: 20px;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.right-drawer > #main > #edgeSwipeOverlay {
|
|
99
|
+
right: 0;
|
|
100
|
+
left: auto;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/*
|
|
104
|
+
narrow layout
|
|
105
|
+
*/
|
|
106
|
+
.narrow-layout > #drawer.core-selected {
|
|
107
|
+
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.15);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.right-drawer.narrow-layout > #drawer.core-selected {
|
|
111
|
+
box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.15);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
polyfill-next-selector { content: ':host .narrow-layout > #drawer > [drawer]'; }
|
|
115
|
+
.narrow-layout > #drawer > ::content[select="[drawer]"] > * {
|
|
116
|
+
border: 0;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.narrow-layout > #drawer:not(.core-selected) {
|
|
120
|
+
-webkit-transform: translateX(-100%);
|
|
121
|
+
transform: translateX(-100%);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.right-drawer.narrow-layout > #drawer:not(.core-selected) {
|
|
125
|
+
left: auto;
|
|
126
|
+
-webkit-transform: translateX(100%);
|
|
127
|
+
transform: translateX(100%);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.narrow-layout > #main {
|
|
131
|
+
left: 0 !important;
|
|
132
|
+
padding: 0;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.right-drawer.narrow-layout > #main {
|
|
136
|
+
left: 0;
|
|
137
|
+
right: 0;
|
|
138
|
+
padding: 0;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.narrow-layout > #main:not(.core-selected) > #scrim,
|
|
142
|
+
.dragging #scrim {
|
|
143
|
+
visibility: visible;
|
|
144
|
+
opacity: 1;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
polyfill-next-selector { content: ':host .narrow-layout > #main > [main]'; }
|
|
148
|
+
.narrow-layout > #main > ::content[select="[main]"] > * {
|
|
149
|
+
margin: 0;
|
|
150
|
+
min-height: 100%;
|
|
151
|
+
left: 0;
|
|
152
|
+
right: 0;
|
|
153
|
+
box-sizing: border-box;
|
|
154
|
+
-moz-box-sizing: border-box;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
polyfill-next-selector { content: 'core-selector:not(.narrow-layout) [core-drawer-toggle]'; }
|
|
158
|
+
core-selector:not(.narrow-layout) ::content [core-drawer-toggle] {
|
|
159
|
+
display: none;
|
|
160
|
+
}
|
|
@@ -0,0 +1,418 @@
|
|
|
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-drawer-panel` contains a drawer panel and a main panel. The drawer
|
|
12
|
+
and the main panel are side-by-side with drawer on the left. When the browser
|
|
13
|
+
window size is smaller than the `responsiveWidth`, `core-drawer-panel`
|
|
14
|
+
changes to narrow layout. In narrow layout, the drawer will be stacked on top
|
|
15
|
+
of the main panel. The drawer will slide in/out to hide/reveal the main
|
|
16
|
+
panel.
|
|
17
|
+
|
|
18
|
+
Use the attribute `drawer` to indicate that the element is the drawer panel and
|
|
19
|
+
`main` to indicate that the element is the main panel.
|
|
20
|
+
|
|
21
|
+
Example:
|
|
22
|
+
|
|
23
|
+
<core-drawer-panel>
|
|
24
|
+
<div drawer> Drawer panel... </div>
|
|
25
|
+
<div main> Main panel... </div>
|
|
26
|
+
</core-drawer-panel>
|
|
27
|
+
|
|
28
|
+
The drawer and the main panels are not scrollable. You can set CSS overflow
|
|
29
|
+
property on the elements to make them scrollable or use `core-header-panel`.
|
|
30
|
+
|
|
31
|
+
Example:
|
|
32
|
+
|
|
33
|
+
<core-drawer-panel>
|
|
34
|
+
<core-header-panel drawer>
|
|
35
|
+
<core-toolbar></core-toolbar>
|
|
36
|
+
<div> Drawer content... </div>
|
|
37
|
+
</core-header-panel>
|
|
38
|
+
<core-header-panel main>
|
|
39
|
+
<core-toolbar></core-toolbar>
|
|
40
|
+
<div> Main content... </div>
|
|
41
|
+
</core-header-panel>
|
|
42
|
+
</core-drawer-panel>
|
|
43
|
+
|
|
44
|
+
An element that should toggle the drawer will automatically do so if it's
|
|
45
|
+
given the `core-drawer-toggle` attribute. Also this element will automatically
|
|
46
|
+
be hidden in wide layout.
|
|
47
|
+
|
|
48
|
+
Example:
|
|
49
|
+
|
|
50
|
+
<core-drawer-panel>
|
|
51
|
+
<core-header-panel drawer>
|
|
52
|
+
<core-toolbar>
|
|
53
|
+
<div>Application</div>
|
|
54
|
+
</core-toolbar>
|
|
55
|
+
<div> Drawer content... </div>
|
|
56
|
+
</core-header-panel>
|
|
57
|
+
<core-header-panel main>
|
|
58
|
+
<core-toolbar>
|
|
59
|
+
<core-icon-button icon="menu" core-drawer-toggle></core-icon-button>
|
|
60
|
+
<div>Title</div>
|
|
61
|
+
</core-toolbar>
|
|
62
|
+
<div> Main content... </div>
|
|
63
|
+
</core-header-panel>
|
|
64
|
+
</core-drawer-panel>
|
|
65
|
+
|
|
66
|
+
To position the drawer to the right, add `rightDrawer` attribute.
|
|
67
|
+
|
|
68
|
+
<core-drawer-panel rightDrawer>
|
|
69
|
+
<div drawer> Drawer panel... </div>
|
|
70
|
+
<div main> Main panel... </div>
|
|
71
|
+
</core-drawer-panel>
|
|
72
|
+
|
|
73
|
+
@group Polymer Core Elements
|
|
74
|
+
@element core-drawer-panel
|
|
75
|
+
@homepage github.io
|
|
76
|
+
-->
|
|
77
|
+
|
|
78
|
+
<link rel="import" href="../core-media-query/core-media-query.html">
|
|
79
|
+
<link rel="import" href="../core-selector/core-selector.html">
|
|
80
|
+
|
|
81
|
+
<polymer-element name="core-drawer-panel" touch-action="auto">
|
|
82
|
+
<template>
|
|
83
|
+
|
|
84
|
+
<link rel="stylesheet" href="core-drawer-panel.css">
|
|
85
|
+
|
|
86
|
+
<core-media-query query="max-width: {{forceNarrow ? '' : responsiveWidth}}" queryMatches="{{queryMatches}}"></core-media-query>
|
|
87
|
+
|
|
88
|
+
<core-selector class="{{ {'narrow-layout' : narrow, transition : transition, dragging : dragging, 'right-drawer': rightDrawer} | tokenList }}" valueattr="id" selected="{{selected}}">
|
|
89
|
+
|
|
90
|
+
<div id="main" _style="left: {{ narrow || rightDrawer ? '0' : drawerWidth }}; right: {{ rightDrawer ? (narrow ? '' : drawerWidth) : '' }};">
|
|
91
|
+
<content select="[main]"></content>
|
|
92
|
+
<div id="scrim" on-tap="{{togglePanel}}"></div>
|
|
93
|
+
<div id="edgeSwipeOverlay" hidden?="{{!narrow || disableEdgeSwipe}}"></div>
|
|
94
|
+
</div>
|
|
95
|
+
|
|
96
|
+
<div id="drawer" _style="width: {{ drawerWidth }}">
|
|
97
|
+
<content select="[drawer]"></content>
|
|
98
|
+
</div>
|
|
99
|
+
|
|
100
|
+
</core-selector>
|
|
101
|
+
|
|
102
|
+
</template>
|
|
103
|
+
<script>
|
|
104
|
+
|
|
105
|
+
Polymer('core-drawer-panel', {
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Fired when the narrow layout changes.
|
|
109
|
+
*
|
|
110
|
+
* @event core-responsive-change
|
|
111
|
+
* @param {Object} detail
|
|
112
|
+
* @param {boolean} detail.narrow true if the panel is in narrow layout.
|
|
113
|
+
*/
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Fired when the selected panel changes.
|
|
117
|
+
*
|
|
118
|
+
* Listening for this event is an alternative to observing changes in the `selected` attribute.
|
|
119
|
+
* This event is fired both when a panel is selected and deselected.
|
|
120
|
+
* The `isSelected` detail property contains the selection state.
|
|
121
|
+
*
|
|
122
|
+
* @event core-select
|
|
123
|
+
* @param {Object} detail
|
|
124
|
+
* @param {boolean} detail.isSelected true for selection and false for deselection
|
|
125
|
+
* @param {Object} detail.item the panel that the event refers to
|
|
126
|
+
*/
|
|
127
|
+
|
|
128
|
+
publish: {
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Width of the drawer panel.
|
|
132
|
+
*
|
|
133
|
+
* @attribute drawerWidth
|
|
134
|
+
* @type string
|
|
135
|
+
* @default '256px'
|
|
136
|
+
*/
|
|
137
|
+
drawerWidth: '256px',
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Max-width when the panel changes to narrow layout.
|
|
141
|
+
*
|
|
142
|
+
* @attribute responsiveWidth
|
|
143
|
+
* @type string
|
|
144
|
+
* @default '640px'
|
|
145
|
+
*/
|
|
146
|
+
responsiveWidth: '640px',
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* The panel that is being selected. `drawer` for the drawer panel and
|
|
150
|
+
* `main` for the main panel.
|
|
151
|
+
*
|
|
152
|
+
* @attribute selected
|
|
153
|
+
* @type string
|
|
154
|
+
* @default null
|
|
155
|
+
*/
|
|
156
|
+
selected: {value: null, reflect: true},
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* The panel to be selected when `core-drawer-panel` changes to narrow
|
|
160
|
+
* layout.
|
|
161
|
+
*
|
|
162
|
+
* @attribute defaultSelected
|
|
163
|
+
* @type string
|
|
164
|
+
* @default 'main'
|
|
165
|
+
*/
|
|
166
|
+
defaultSelected: 'main',
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Returns true if the panel is in narrow layout. This is useful if you
|
|
170
|
+
* need to show/hide elements based on the layout.
|
|
171
|
+
*
|
|
172
|
+
* @attribute narrow
|
|
173
|
+
* @type boolean
|
|
174
|
+
* @default false
|
|
175
|
+
*/
|
|
176
|
+
narrow: {value: false, reflect: true},
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* If true, position the drawer to the right.
|
|
180
|
+
*
|
|
181
|
+
* @attribute rightDrawer
|
|
182
|
+
* @type boolean
|
|
183
|
+
* @default false
|
|
184
|
+
*/
|
|
185
|
+
rightDrawer: false,
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* If true, swipe to open/close the drawer is disabled.
|
|
189
|
+
*
|
|
190
|
+
* @attribute disableSwipe
|
|
191
|
+
* @type boolean
|
|
192
|
+
* @default false
|
|
193
|
+
*/
|
|
194
|
+
disableSwipe: false,
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* If true, ignore `responsiveWidth` setting and force the narrow layout.
|
|
198
|
+
*
|
|
199
|
+
* @attribute forceNarrow
|
|
200
|
+
* @type boolean
|
|
201
|
+
* @default false
|
|
202
|
+
*/
|
|
203
|
+
forceNarrow: false,
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* If true, swipe from the edge is disable.
|
|
207
|
+
*
|
|
208
|
+
* @attribute disableEdgeSwipe
|
|
209
|
+
* @type boolean
|
|
210
|
+
* @default false
|
|
211
|
+
*/
|
|
212
|
+
disableEdgeSwipe: false
|
|
213
|
+
},
|
|
214
|
+
|
|
215
|
+
eventDelegates: {
|
|
216
|
+
trackstart: 'trackStart',
|
|
217
|
+
trackx: 'trackx',
|
|
218
|
+
trackend: 'trackEnd',
|
|
219
|
+
down: 'downHandler',
|
|
220
|
+
up: 'upHandler',
|
|
221
|
+
tap: 'tapHandler'
|
|
222
|
+
},
|
|
223
|
+
|
|
224
|
+
// Whether the transition is enabled.
|
|
225
|
+
transition: false,
|
|
226
|
+
|
|
227
|
+
// How many pixels on the side of the screen are sensitive to edge swipes and peek.
|
|
228
|
+
edgeSwipeSensitivity: 15,
|
|
229
|
+
|
|
230
|
+
// Whether the drawer is peeking out from the edge.
|
|
231
|
+
peeking: false,
|
|
232
|
+
|
|
233
|
+
// Whether the user is dragging the drawer interactively.
|
|
234
|
+
dragging: false,
|
|
235
|
+
|
|
236
|
+
// Whether the browser has support for the transform CSS property.
|
|
237
|
+
hasTransform: true,
|
|
238
|
+
|
|
239
|
+
// Whether the browser has support for the will-change CSS property.
|
|
240
|
+
hasWillChange: true,
|
|
241
|
+
|
|
242
|
+
// The attribute on elements that should toggle the drawer on tap, also
|
|
243
|
+
// elements will automatically be hidden in wide layout.
|
|
244
|
+
toggleAttribute: 'core-drawer-toggle',
|
|
245
|
+
|
|
246
|
+
created: function() {
|
|
247
|
+
this.hasTransform = 'transform' in this.style;
|
|
248
|
+
this.hasWillChange = 'willChange' in this.style;
|
|
249
|
+
},
|
|
250
|
+
|
|
251
|
+
domReady: function() {
|
|
252
|
+
// to avoid transition at the beginning e.g. page loads
|
|
253
|
+
// NOTE: domReady is already raf delayed and delaying another frame
|
|
254
|
+
// ensures a layout has occurred.
|
|
255
|
+
this.async(function() {
|
|
256
|
+
this.transition = true;
|
|
257
|
+
});
|
|
258
|
+
},
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* Toggles the panel open and closed.
|
|
262
|
+
*
|
|
263
|
+
* @method togglePanel
|
|
264
|
+
*/
|
|
265
|
+
togglePanel: function() {
|
|
266
|
+
this.selected = this.isMainSelected() ? 'drawer' : 'main';
|
|
267
|
+
},
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* Opens the drawer.
|
|
271
|
+
*
|
|
272
|
+
* @method openDrawer
|
|
273
|
+
*/
|
|
274
|
+
openDrawer: function() {
|
|
275
|
+
this.selected = 'drawer';
|
|
276
|
+
},
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* Closes the drawer.
|
|
280
|
+
*
|
|
281
|
+
* @method closeDrawer
|
|
282
|
+
*/
|
|
283
|
+
closeDrawer: function() {
|
|
284
|
+
this.selected = 'main';
|
|
285
|
+
},
|
|
286
|
+
|
|
287
|
+
queryMatchesChanged: function() {
|
|
288
|
+
this.narrow = this.queryMatches || this.forceNarrow;
|
|
289
|
+
if (this.narrow) {
|
|
290
|
+
this.selected = this.defaultSelected;
|
|
291
|
+
}
|
|
292
|
+
this.setAttribute('touch-action', this.swipeAllowed() ? 'pan-y' : '');
|
|
293
|
+
this.fire('core-responsive-change', {narrow: this.narrow});
|
|
294
|
+
},
|
|
295
|
+
|
|
296
|
+
forceNarrowChanged: function() {
|
|
297
|
+
this.queryMatchesChanged();
|
|
298
|
+
},
|
|
299
|
+
|
|
300
|
+
swipeAllowed: function() {
|
|
301
|
+
return this.narrow && !this.disableSwipe;
|
|
302
|
+
},
|
|
303
|
+
|
|
304
|
+
isMainSelected: function() {
|
|
305
|
+
return this.selected === 'main';
|
|
306
|
+
},
|
|
307
|
+
|
|
308
|
+
startEdgePeek: function() {
|
|
309
|
+
this.width = this.$.drawer.offsetWidth;
|
|
310
|
+
this.moveDrawer(this.translateXForDeltaX(this.rightDrawer ?
|
|
311
|
+
-this.edgeSwipeSensitivity : this.edgeSwipeSensitivity));
|
|
312
|
+
this.peeking = true;
|
|
313
|
+
},
|
|
314
|
+
|
|
315
|
+
stopEdgePeak: function() {
|
|
316
|
+
if (this.peeking) {
|
|
317
|
+
this.peeking = false;
|
|
318
|
+
this.moveDrawer(null);
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
|
|
322
|
+
downHandler: function(e) {
|
|
323
|
+
if (!this.dragging && this.isMainSelected() && this.isEdgeTouch(e)) {
|
|
324
|
+
this.startEdgePeek();
|
|
325
|
+
}
|
|
326
|
+
},
|
|
327
|
+
|
|
328
|
+
upHandler: function(e) {
|
|
329
|
+
this.stopEdgePeak();
|
|
330
|
+
},
|
|
331
|
+
|
|
332
|
+
tapHandler: function(e) {
|
|
333
|
+
if (e.target && this.toggleAttribute &&
|
|
334
|
+
e.target.hasAttribute(this.toggleAttribute)) {
|
|
335
|
+
this.togglePanel();
|
|
336
|
+
}
|
|
337
|
+
},
|
|
338
|
+
|
|
339
|
+
isEdgeTouch: function(e) {
|
|
340
|
+
return !this.disableEdgeSwipe && this.swipeAllowed() &&
|
|
341
|
+
(this.rightDrawer ?
|
|
342
|
+
e.pageX >= this.offsetWidth - this.edgeSwipeSensitivity :
|
|
343
|
+
e.pageX <= this.edgeSwipeSensitivity);
|
|
344
|
+
},
|
|
345
|
+
|
|
346
|
+
trackStart : function(e) {
|
|
347
|
+
if (this.swipeAllowed()) {
|
|
348
|
+
this.dragging = true;
|
|
349
|
+
|
|
350
|
+
if (this.isMainSelected()) {
|
|
351
|
+
this.dragging = this.peeking || this.isEdgeTouch(e);
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
if (this.dragging) {
|
|
355
|
+
this.width = this.$.drawer.offsetWidth;
|
|
356
|
+
this.transition = false;
|
|
357
|
+
e.preventTap();
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
},
|
|
361
|
+
|
|
362
|
+
translateXForDeltaX: function(deltaX) {
|
|
363
|
+
var isMain = this.isMainSelected();
|
|
364
|
+
if (this.rightDrawer) {
|
|
365
|
+
return Math.max(0, isMain ? this.width + deltaX : deltaX);
|
|
366
|
+
} else {
|
|
367
|
+
return Math.min(0, isMain ? deltaX - this.width : deltaX);
|
|
368
|
+
}
|
|
369
|
+
},
|
|
370
|
+
|
|
371
|
+
trackx : function(e) {
|
|
372
|
+
if (this.dragging) {
|
|
373
|
+
if (this.peeking) {
|
|
374
|
+
if (Math.abs(e.dx) <= this.edgeSwipeSensitivity) {
|
|
375
|
+
return; // Ignore trackx until we move past the edge peek.
|
|
376
|
+
}
|
|
377
|
+
this.peeking = false;
|
|
378
|
+
}
|
|
379
|
+
this.moveDrawer(this.translateXForDeltaX(e.dx));
|
|
380
|
+
}
|
|
381
|
+
},
|
|
382
|
+
|
|
383
|
+
trackEnd : function(e) {
|
|
384
|
+
if (this.dragging) {
|
|
385
|
+
this.dragging = false;
|
|
386
|
+
this.transition = true;
|
|
387
|
+
this.moveDrawer(null);
|
|
388
|
+
|
|
389
|
+
if (this.rightDrawer) {
|
|
390
|
+
this.selected = e.xDirection > 0 ? 'main' : 'drawer';
|
|
391
|
+
} else {
|
|
392
|
+
this.selected = e.xDirection > 0 ? 'drawer' : 'main';
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
},
|
|
396
|
+
|
|
397
|
+
transformForTranslateX: function(translateX) {
|
|
398
|
+
if (translateX === null) {
|
|
399
|
+
return '';
|
|
400
|
+
}
|
|
401
|
+
return this.hasWillChange ? 'translateX(' + translateX + 'px)' :
|
|
402
|
+
'translate3d(' + translateX + 'px, 0, 0)';
|
|
403
|
+
},
|
|
404
|
+
|
|
405
|
+
moveDrawer: function(translateX) {
|
|
406
|
+
var s = this.$.drawer.style;
|
|
407
|
+
|
|
408
|
+
if (this.hasTransform) {
|
|
409
|
+
s.transform = this.transformForTranslateX(translateX);
|
|
410
|
+
} else {
|
|
411
|
+
s.webkitTransform = this.transformForTranslateX(translateX);
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
});
|
|
416
|
+
|
|
417
|
+
</script>
|
|
418
|
+
</polymer-element>
|
|
@@ -0,0 +1,68 @@
|
|
|
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-drawer-panel</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-drawer-panel.html">
|
|
21
|
+
|
|
22
|
+
<style>
|
|
23
|
+
|
|
24
|
+
html, body {
|
|
25
|
+
height: 100%;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
body {
|
|
29
|
+
font-family: sans-serif;
|
|
30
|
+
color: #FFF;
|
|
31
|
+
margin: 0;
|
|
32
|
+
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
[drawer] {
|
|
36
|
+
background-color: #B99588;
|
|
37
|
+
border-right: 1px solid #ccc;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
[main] {
|
|
41
|
+
background-color: #4F7DC9;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
button {
|
|
45
|
+
width: 160px;
|
|
46
|
+
height: 40px;
|
|
47
|
+
font-size: 16px;
|
|
48
|
+
margin: 8px;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
</style>
|
|
52
|
+
|
|
53
|
+
</head>
|
|
54
|
+
|
|
55
|
+
<body unresolved>
|
|
56
|
+
|
|
57
|
+
<core-drawer-panel>
|
|
58
|
+
|
|
59
|
+
<div drawer></div>
|
|
60
|
+
|
|
61
|
+
<div main>
|
|
62
|
+
<button core-drawer-toggle>toggle drawer</button>
|
|
63
|
+
</div>
|
|
64
|
+
|
|
65
|
+
</core-drawer-panel>
|
|
66
|
+
|
|
67
|
+
</body>
|
|
68
|
+
</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,37 @@
|
|
|
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="section" label="Section" isContainer group="Core">
|
|
11
|
+
|
|
12
|
+
<template>
|
|
13
|
+
|
|
14
|
+
<section style="width: 200px; height: 300px;" layout vertical></section>
|
|
15
|
+
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
</x-meta>
|
|
19
|
+
|
|
20
|
+
<x-meta id="core-drawer-panel" label="Drawer Panel" isContainer group="Core">
|
|
21
|
+
|
|
22
|
+
<template>
|
|
23
|
+
|
|
24
|
+
<core-drawer-panel style="position: absolute; top: 0; right: 0; bottom: 0; left: 0;">
|
|
25
|
+
<section drawer style="background-color: #fafafa; box-shadow: rgba(0, 0, 0, 0.098) 0px 2px 4px, rgba(0, 0, 0, 0.098) 0px 0px 3px;"></section>
|
|
26
|
+
<section main style="height: 100%; box-sizing: border-box; background-color: #ddd"></section>
|
|
27
|
+
</core-drawer-panel>
|
|
28
|
+
|
|
29
|
+
</template>
|
|
30
|
+
|
|
31
|
+
<template id="imports">
|
|
32
|
+
|
|
33
|
+
<link rel="import" href="core-drawer-panel.html">
|
|
34
|
+
|
|
35
|
+
</template>
|
|
36
|
+
|
|
37
|
+
</x-meta>
|