| OLD | NEW |
| 1 <!-- | 1 <!-- |
| 2 `app-sk` provides general application layout, introducing a | 2 `app-sk` provides general application layout, introducing a |
| 3 responsive scaffold containing a header, toolbar, menu, title and | 3 responsive scaffold containing a header, toolbar, menu, title and |
| 4 areas for application content, as well as automatic inclusion of | 4 areas for application content, as well as automatic inclusion of |
| 5 common menu items, login status, and version tag. | 5 common menu items, login status, and version tag. |
| 6 | 6 |
| 7 Example: | 7 Example: |
| 8 | 8 |
| 9 <app-sk mode="standard" responsive_width="600px" drawer_width="230px"> | 9 <app-sk mode="standard" responsive_width="600px" drawer_width="230px"> |
| 10 <h1 header>Title goes here</h1> | 10 <h1 header>Title goes here</h1> |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 Change this if the header accepts a different class for toggling height, | 21 Change this if the header accepts a different class for toggling height, |
| 22 e.g. "medium-tall" | 22 e.g. "medium-tall" |
| 23 | 23 |
| 24 drawer_width - Width of the drawer panel, eg. "200px". | 24 drawer_width - Width of the drawer panel, eg. "200px". |
| 25 | 25 |
| 26 force_narrow - Whether or not to force the paper-drawer-panel into narrow | 26 force_narrow - Whether or not to force the paper-drawer-panel into narrow |
| 27 mode. | 27 mode. |
| 28 | 28 |
| 29 narrow - Whether or not the paper-drawer-panel is currently in narrow mode. | 29 narrow - Whether or not the paper-drawer-panel is currently in narrow mode. |
| 30 | 30 |
| 31 no_drawer - If true, no drawer panel is displayed at all. |
| 32 |
| 31 responsive_width - Screen width at which the paper-drawer-panel switches into | 33 responsive_width - Screen width at which the paper-drawer-panel switches into |
| 32 narrow mode. | 34 narrow mode. |
| 33 | 35 |
| 34 Methods: | 36 Methods: |
| 35 None. | 37 None. |
| 36 | 38 |
| 37 Events: | 39 Events: |
| 38 None. | 40 None. |
| 39 --> | 41 --> |
| 40 <link rel="import" href="/res/imp/bower_components/iron-flex-layout/iron-flex-la
yout.html"> | 42 <link rel="import" href="/res/imp/bower_components/iron-flex-layout/iron-flex-la
yout.html"> |
| 41 <link rel="import" href="/res/imp/bower_components/iron-icons/iron-icons.html"> | 43 <link rel="import" href="/res/imp/bower_components/iron-icons/iron-icons.html"> |
| 42 <link rel="import" href="/res/imp/bower_components/paper-drawer-panel/paper-draw
er-panel.html"> | 44 <link rel="import" href="/res/imp/bower_components/paper-drawer-panel/paper-draw
er-panel.html"> |
| 43 <link rel="import" href="/res/imp/bower_components/paper-header-panel/paper-head
er-panel.html"> | 45 <link rel="import" href="/res/imp/bower_components/paper-header-panel/paper-head
er-panel.html"> |
| 44 <link rel="import" href="/res/imp/bower_components/paper-icon-button/paper-icon-
button.html"> | 46 <link rel="import" href="/res/imp/bower_components/paper-icon-button/paper-icon-
button.html"> |
| 45 <link rel="import" href="/res/imp/bower_components/paper-toolbar/paper-toolbar.h
tml"> | 47 <link rel="import" href="/res/imp/bower_components/paper-toolbar/paper-toolbar.h
tml"> |
| 46 <link rel="import" href="app-menu-sk.html"> | 48 <link rel="import" href="app-menu-sk.html"> |
| 49 <link rel="import" href="error-toast-sk.html"> |
| 47 <link rel="import" href="login.html"> | 50 <link rel="import" href="login.html"> |
| 48 <link rel="import" href="version-sk.html"> | 51 <link rel="import" href="version-sk.html"> |
| 49 <dom-module id="app-sk"> | 52 <dom-module id="app-sk"> |
| 50 <style> | 53 <style> |
| 51 #drawer { | 54 #drawer { |
| 52 box-shadow: 1px 0 1px rgba(0, 0, 0, 0.1); | 55 box-shadow: 1px 0 1px rgba(0, 0, 0, 0.1); |
| 53 } | 56 } |
| 54 #mainContent { | 57 #mainContent { |
| 55 overflow: scroll; | 58 overflow: scroll; |
| 56 } | 59 } |
| 57 #menuButton { | 60 #menuButton { |
| 58 padding-right: 18px; | 61 padding-right: 18px; |
| 59 } | 62 } |
| 60 paper-toolbar { | 63 paper-toolbar { |
| 61 @apply(--app-sk-toolbar); | 64 @apply(--app-sk-toolbar); |
| 62 } | 65 } |
| 63 paper-drawer-panel { | 66 paper-drawer-panel { |
| 64 --paper-drawer-panel-main-container: { | 67 --paper-drawer-panel-main-container: { |
| 65 @apply(--app-sk-main); | 68 @apply(--app-sk-main); |
| 66 }; | 69 }; |
| 67 --paper-drawer-panel-left-drawer-container: { | 70 --paper-drawer-panel-left-drawer-container: { |
| 68 @apply(--app-sk-drawer); | 71 @apply(--app-sk-drawer); |
| 69 }; | 72 }; |
| 70 } | 73 } |
| 71 </style> | 74 </style> |
| 72 <template> | 75 <template> |
| 73 <paper-header-panel id="headerPanel" mode="{{mode}}" tallClass="{{tall_class
}}"> | 76 <paper-header-panel id="headerPanel" mode="{{mode}}" tallClass="{{tall_class
}}"> |
| 74 <paper-toolbar> | 77 <paper-toolbar> |
| 75 <template is="dom-if" if="{{narrow}}"> | 78 <template is="dom-if" if="{{_showMenuButton}}"> |
| 76 <paper-icon-button id="menuButton" icon="icons:menu" on-tap="_togglePa
nel"></paper-icon-button> | 79 <paper-icon-button id="menuButton" icon="icons:menu" on-tap="_togglePa
nel"></paper-icon-button> |
| 77 </template> | 80 </template> |
| 78 <content select="[header], header, [toolbar], toolbar"></content> | 81 <content select="[header], header, [toolbar], toolbar"></content> |
| 79 <div class="flex"></div> | 82 <div class="flex"></div> |
| 80 <app-menu-sk></app-menu-sk> | 83 <app-menu-sk></app-menu-sk> |
| 81 <login-sk></login-sk> | 84 <login-sk></login-sk> |
| 82 </paper-toolbar> | 85 </paper-toolbar> |
| 83 <paper-drawer-panel id="drawerPanel" drawer-width$="{{drawer_width}}" res
ponsive-width$="{{responsive_width}}" force-narrow$="{{force_narrow}}"> | 86 <template is="dom-if" if="{{no_drawer}}"> |
| 84 <div drawer id="drawer" class="vertical layout"> | 87 <div main id="maincontent" class="layout vertical"> |
| 85 <content select="[navigation], nav, [drawer], drawer"></content> | 88 <content select="*"></content> |
| 86 <div class="flex"></div> | 89 <div class="layout horizontal"> |
| 87 <version-sk></version-sk> | 90 <div class="flex"></div> |
| 91 <version-sk></version-sk> |
| 92 </div> |
| 88 </div> | 93 </div> |
| 89 <div main id="mainContent" class="layout vertical"> | 94 </template> |
| 90 <content select="*"></content> | 95 <template is="dom-if" if="{{!no_drawer}}"> |
| 91 </div> | 96 <paper-drawer-panel id="drawerPanel" drawer-width$="{{drawer_width}}" r
esponsive-width$="{{responsive_width}}" force-narrow$="{{force_narrow}}"> |
| 92 </paper-drawer-panel> | 97 <div drawer id="drawer" class="vertical layout"> |
| 98 <content id="navContent" select="[navigation], nav, [drawer], drawer
"></content> |
| 99 <div class="flex"></div> |
| 100 <version-sk></version-sk> |
| 101 </div> |
| 102 <div main id="mainContent" class="layout vertical"> |
| 103 <content select="*"></content> |
| 104 </div> |
| 105 </paper-drawer-panel> |
| 106 </template> |
| 93 </paper-header-panel> | 107 </paper-header-panel> |
| 108 <error-toast-sk></error-toast-sk> |
| 94 </template> | 109 </template> |
| 95 <script> | 110 <script> |
| 96 (function() { | 111 (function() { |
| 97 Polymer({ | 112 Polymer({ |
| 98 is: "app-sk", | 113 is: "app-sk", |
| 99 | 114 |
| 100 properties: { | 115 properties: { |
| 101 mode: { | 116 mode: { |
| 102 type: String, | 117 type: String, |
| 103 value: "standard", | 118 value: "standard", |
| 104 }, | 119 }, |
| 105 tall_class: { | 120 tall_class: { |
| 106 type: String, | 121 type: String, |
| 107 value: "waterfall-tall", | 122 value: "waterfall-tall", |
| 108 }, | 123 }, |
| 109 drawer_width: { | 124 drawer_width: { |
| 110 type: String, | 125 type: String, |
| 111 value: "200px", | 126 value: "200px", |
| 112 }, | 127 }, |
| 113 force_narrow: { | 128 force_narrow: { |
| 114 type: Boolean, | 129 type: Boolean, |
| 115 value: false, | 130 value: false, |
| 116 }, | 131 }, |
| 117 narrow: { | 132 narrow: { |
| 118 type: Boolean, | 133 type: Boolean, |
| 119 notify: true, | 134 notify: true, |
| 120 readOnly: true, | 135 readOnly: true, |
| 121 }, | 136 }, |
| 137 no_drawer: { |
| 138 type: Boolean, |
| 139 value: false, |
| 140 }, |
| 122 responsive_width: { | 141 responsive_width: { |
| 123 type: String, | 142 type: String, |
| 124 value: "800px", | 143 value: "800px", |
| 125 }, | 144 }, |
| 145 _showMenuButton: { |
| 146 type: Boolean, |
| 147 computed: "_computeShowMenuButton(narrow, no_drawer)", |
| 148 }, |
| 126 }, | 149 }, |
| 127 | 150 |
| 128 ready: function() { | 151 ready: function() { |
| 129 this._setNarrow(this.$.drawerPanel.narrow); | 152 window.addEventListener("WebComponentsReady", function() { |
| 130 this.$.drawerPanel.addEventListener("narrow-changed", function() { | 153 if (!this.no_drawer) { |
| 131 this._setNarrow(this.$.drawerPanel.narrow); | 154 var drawerPanel = this.$$("#drawerPanel"); |
| 155 this._setNarrow(drawerPanel.narrow); |
| 156 drawerPanel.addEventListener("narrow-changed", function() { |
| 157 this._setNarrow(this.$$("#drawerPanel").narrow); |
| 158 }.bind(this)); |
| 159 } |
| 132 }.bind(this)); | 160 }.bind(this)); |
| 133 }, | 161 }, |
| 134 | 162 |
| 163 _computeShowMenuButton: function(narrow, no_drawer) { |
| 164 if (no_drawer) { |
| 165 return false; |
| 166 } |
| 167 return narrow; |
| 168 }, |
| 169 |
| 135 _togglePanel: function() { | 170 _togglePanel: function() { |
| 136 this.$.drawerPanel.togglePanel(); | 171 this.$.drawerPanel.togglePanel(); |
| 137 }, | 172 }, |
| 138 }); | 173 }); |
| 139 }()); | 174 }()); |
| 140 </script> | 175 </script> |
| 141 </dom-module> | 176 </dom-module> |
| OLD | NEW |