|
6 | 6 | <link rel="import" href="../simple-colors/simple-colors.html"> |
7 | 7 | <link rel="import" href="../responsive-utility/responsive-utility-behaviors.html"> |
8 | 8 | <link rel="import" href="../iron-icons/iron-icons.html"> |
| 9 | +<link rel="import" href="../a11y-collapse/a11y-collapse.html"> |
9 | 10 | <link rel="import" href="editable-table-behaviors.html"> |
10 | 11 | <link rel="import" href="editable-table-editor-rowcol.html"> |
11 | 12 | <link rel="import" href="editable-table-editor-toggle.html"> |
|
55 | 56 | <dom-module id="editable-table-editor"> |
56 | 57 | <template> |
57 | 58 | <style is="custom-style" include="editable-table-styles"> |
| 59 | + :host { |
| 60 | + --a11y-collapse-border: 1px solid #ddd; |
| 61 | + --a11y-collapse-horizontal-padding: 0; |
| 62 | + --a11y-collapse: { |
| 63 | + margin: 0em; |
| 64 | + }; |
| 65 | + --a11y-collapse-heading-focus: { |
| 66 | + background-color: #f0f0f0; |
| 67 | + }; |
| 68 | + } |
58 | 69 | :host, |
59 | 70 | :host paper-item { |
60 | 71 | font-size: 12pt; |
61 | 72 | } |
62 | 73 | :host dropdown-select { |
63 | | - padding: 0 16px; |
| 74 | + padding: 0; |
| 75 | + } |
| 76 | + :host #accent { |
| 77 | + --paper-input-container: { |
| 78 | + padding-top: 0; |
| 79 | + }; |
64 | 80 | } |
65 | 81 | :host[responsive-size="xs"] editable-table-editor-settings { |
66 | 82 | padding: 3px 0; |
|
110 | 126 | flex-shrink: 1; |
111 | 127 | transition: width 2s; |
112 | 128 | } |
| 129 | + :host .field-group-label { |
| 130 | + padding-right: 0.5em; |
| 131 | + font-weight: bold; |
| 132 | + } |
113 | 133 | :host .field-group label { |
114 | 134 | line-height: 30px; |
115 | 135 | } |
116 | | - :host .caption { |
| 136 | + :host #caption { |
117 | 137 | padding: 0em; |
| 138 | + display: inline-block; |
| 139 | + width: unset; |
118 | 140 | } |
119 | 141 | :host .caption.field-group { |
120 | 142 | margin-bottom: 0; |
|
169 | 191 | </style> |
170 | 192 | <p class="sr-only">Table Editor</p> |
171 | 193 | <p class="field-group"> |
172 | | - <label aria-hidden="true" class="field-group-padding">Table Summary (for accessibility): </label> |
| 194 | + <label aria-hidden="true" class="field-group-label">Table Caption </label> |
| 195 | + <iron-autogrow-textarea id="caption" |
| 196 | + class="field-group-grow caption" |
| 197 | + label="Table Caption" |
| 198 | + placeholder="A title for the table." |
| 199 | + value$="{{caption}}"> |
| 200 | + </iron-autogrow-textarea> |
| 201 | + </p> |
| 202 | + <p class="field-group"> |
| 203 | + <label aria-hidden="true" class="field-group-label">Table Summary (for accessibility) </label> |
173 | 204 | <iron-autogrow-textarea id="summary" |
174 | 205 | class="field-group-grow" |
175 | 206 | label="Table Summary (for accessibility)" |
176 | 207 | placeholder="Describe what the table contains. What does each row represent? What does each column represent?" |
177 | 208 | value$="{{summary}}"> |
178 | 209 | </iron-autogrow-textarea> |
179 | 210 | </p> |
180 | | - <div class="field-group field-group-stretch"> |
181 | | - <div class="field-group-border field-group-grow"> |
182 | | - <label class="">Headers and Footers: </label> |
183 | | - <editable-table-editor-toggle |
184 | | - label="First Column" |
185 | | - prop="rowHeader" |
186 | | - tooltip="The first column is a row header." |
187 | | - value$="{{rowHeader}}"> |
188 | | - </editable-table-editor-toggle> |
189 | | - <editable-table-editor-toggle |
190 | | - label="First Row" |
191 | | - prop="columnHeader" |
192 | | - tooltip="The first row is a column header." |
193 | | - value$="{{columnHeader}}"> |
194 | | - </editable-table-editor-toggle> |
195 | | - <editable-table-editor-toggle |
196 | | - hidden$="[[hideFooter]]" |
197 | | - label="Last Row" |
198 | | - prop="footer" |
199 | | - tooltip="The last row is a table footer." |
200 | | - value$="{{footer}}"> |
201 | | - </editable-table-editor-toggle> |
202 | | - </div> |
203 | | - <div class="field-group-border field-group-grow" hidden$="[[hideTableTheme]]"> |
204 | | - <label>Theme: </label> |
205 | | - <div class="field-group-grow"> |
206 | | - <dropdown-select id="accent" label="Accent Color" value$="{{accentColor}}"> |
207 | | - <paper-item value="none">None</paper-item> |
208 | | - <paper-item value="red">Red</paper-item> |
209 | | - <paper-item value="pink">Pink</paper-item> |
210 | | - <paper-item value="purple">Purple</paper-item> |
211 | | - <paper-item value="deep-purple">Deep Purple</paper-item> |
212 | | - <paper-item value="indigo">Indigo</paper-item> |
213 | | - <paper-item value="blue">Blue</paper-item> |
214 | | - <paper-item value="light-blue">Light Blue</paper-item> |
215 | | - <paper-item value="cyan">Cyan</paper-item> |
216 | | - <paper-item value="teal">Teal</paper-item> |
217 | | - <paper-item value="green">Green</paper-item> |
218 | | - <paper-item value="light-green">Light Green</paper-item> |
219 | | - <paper-item value="lime">Lime</paper-item> |
220 | | - <paper-item value="yellow">Yellow</paper-item> |
221 | | - <paper-item value="amber">Amber</paper-item> |
222 | | - <paper-item value="orange">Orange</paper-item> |
223 | | - <paper-item value="deep-orange">Deep Orange</paper-item> |
224 | | - <paper-item value="brown">Deep Orange</paper-item> |
225 | | - <paper-item value="blue-grey">Blue-Grey</paper-item> |
226 | | - </dropdown-select> |
227 | | - </div> |
228 | | - <paper-tooltip for="accent">Set an accent color for the table.</paper-tooltip> |
229 | | - <editable-table-editor-toggle |
230 | | - hidden$="[[hideDarkTheme]]" |
231 | | - label="Dark" |
232 | | - prop="dark" |
233 | | - tooltip="Use the dark theme." |
234 | | - value$="{{dark}}"> |
235 | | - </editable-table-editor-toggle> |
236 | | - </div> |
237 | | - <div class="field-group-border field-group-grow" hidden$="[[hideTableStyles]]"> |
238 | | - <label>Styles: </label> |
239 | | - <editable-table-editor-toggle |
240 | | - hidden$="[[hideBordered]]" |
241 | | - label="Bordered" |
242 | | - prop="bordered" |
243 | | - tooltip="Add borders to cells." |
244 | | - value$="{{bordered}}"> |
245 | | - </editable-table-editor-toggle> |
246 | | - <editable-table-editor-toggle |
247 | | - hidden$="[[hideStriped]]" |
248 | | - label="Striped" |
249 | | - prop="striped" |
250 | | - tooltip="Add shading to alternating rows." |
251 | | - value$="{{striped}}"> |
252 | | - </editable-table-editor-toggle> |
253 | | - <editable-table-editor-toggle |
254 | | - hidden$="[[hideCondensed]]" |
255 | | - label="Condensed" |
256 | | - prop="condensed" |
257 | | - tooltip="Condense cell height." |
258 | | - value$="{{condensed}}"> |
259 | | - </editable-table-editor-toggle> |
260 | | - <editable-table-editor-toggle |
261 | | - hidden$="[[hideScroll]]" |
262 | | - label="Disable Responsive" |
263 | | - prop="scroll" |
264 | | - tooltip="Disables the default responsive feature." |
265 | | - value$="{{scroll}}"> |
266 | | - </editable-table-editor-toggle> |
267 | | - </div> |
268 | | - <div class="field-group-border field-group-grow" hidden$="[[hideTableSort]]"> |
269 | | - <label>Sorting and Filtering: </label> |
270 | | - <editable-table-editor-toggle |
271 | | - disabled$="[[!columnHeader]]" |
272 | | - hidden$="[[hideSort]]" |
273 | | - label="Enable Sorting" |
274 | | - prop="sort" |
275 | | - tooltip="When first row is a column header, make the column sortable." |
276 | | - value$="{{sort}}"> |
277 | | - </editable-table-editor-toggle> |
278 | | - <editable-table-editor-toggle |
279 | | - hidden$="[[hideFilter]]" |
280 | | - label="Enable Filters" |
281 | | - prop="filter" |
282 | | - tooltip="When a cell is clicked toggle a filter based on that cell's value." |
283 | | - value$="{{filter}}"> |
284 | | - </editable-table-editor-toggle> |
285 | | - </div> |
286 | | - </div> |
287 | 211 | <div id="table-outer"> |
288 | | - <p class="field-group caption"> |
289 | | - <iron-autogrow-textarea id="caption" |
290 | | - class="field-group-grow" |
291 | | - label="Table Caption" |
292 | | - placeholder="A title for the table." |
293 | | - value$="{{caption}}"> |
294 | | - </iron-autogrow-textarea> |
295 | | - </p> |
| 212 | + <a11y-collapse accordion icon="settings" label="show settings" label-expanded="hide settings" tooltip="Show/hide table settings."> |
| 213 | + <div slot="heading" class="field-group-label">Table Settings </div> |
| 214 | + <div class="field-group field-group-stretch"> |
| 215 | + <div class="field-group-border field-group-grow"> |
| 216 | + <label class="">Headers and Footers: </label> |
| 217 | + <editable-table-editor-toggle |
| 218 | + label="First Column" |
| 219 | + prop="rowHeader" |
| 220 | + tooltip="The first column is a row header." |
| 221 | + value$="{{rowHeader}}"> |
| 222 | + </editable-table-editor-toggle> |
| 223 | + <editable-table-editor-toggle |
| 224 | + label="First Row" |
| 225 | + prop="columnHeader" |
| 226 | + tooltip="The first row is a column header." |
| 227 | + value$="{{columnHeader}}"> |
| 228 | + </editable-table-editor-toggle> |
| 229 | + <editable-table-editor-toggle |
| 230 | + hidden$="[[hideFooter]]" |
| 231 | + label="Last Row" |
| 232 | + prop="footer" |
| 233 | + tooltip="The last row is a table footer." |
| 234 | + value$="{{footer}}"> |
| 235 | + </editable-table-editor-toggle> |
| 236 | + </div> |
| 237 | + <div class="field-group-border field-group-grow" hidden$="[[hideTableTheme]]"> |
| 238 | + <label>Theme: </label> |
| 239 | + <div class="field-group-grow"> |
| 240 | + <dropdown-select id="accent" label="Accent Color" value$="{{accentColor}}"> |
| 241 | + <paper-item value="none">None</paper-item> |
| 242 | + <paper-item value="red">Red</paper-item> |
| 243 | + <paper-item value="pink">Pink</paper-item> |
| 244 | + <paper-item value="purple">Purple</paper-item> |
| 245 | + <paper-item value="deep-purple">Deep Purple</paper-item> |
| 246 | + <paper-item value="indigo">Indigo</paper-item> |
| 247 | + <paper-item value="blue">Blue</paper-item> |
| 248 | + <paper-item value="light-blue">Light Blue</paper-item> |
| 249 | + <paper-item value="cyan">Cyan</paper-item> |
| 250 | + <paper-item value="teal">Teal</paper-item> |
| 251 | + <paper-item value="green">Green</paper-item> |
| 252 | + <paper-item value="light-green">Light Green</paper-item> |
| 253 | + <paper-item value="lime">Lime</paper-item> |
| 254 | + <paper-item value="yellow">Yellow</paper-item> |
| 255 | + <paper-item value="amber">Amber</paper-item> |
| 256 | + <paper-item value="orange">Orange</paper-item> |
| 257 | + <paper-item value="deep-orange">Deep Orange</paper-item> |
| 258 | + <paper-item value="brown">Deep Orange</paper-item> |
| 259 | + <paper-item value="blue-grey">Blue-Grey</paper-item> |
| 260 | + </dropdown-select> |
| 261 | + </div> |
| 262 | + <paper-tooltip for="accent">Set an accent color for the table.</paper-tooltip> |
| 263 | + <editable-table-editor-toggle |
| 264 | + hidden$="[[hideDarkTheme]]" |
| 265 | + label="Dark" |
| 266 | + prop="dark" |
| 267 | + tooltip="Use the dark theme." |
| 268 | + value$="{{dark}}"> |
| 269 | + </editable-table-editor-toggle> |
| 270 | + </div> |
| 271 | + <div class="field-group-border field-group-grow" hidden$="[[hideTableStyles]]"> |
| 272 | + <label>Styles: </label> |
| 273 | + <editable-table-editor-toggle |
| 274 | + hidden$="[[hideBordered]]" |
| 275 | + label="Bordered" |
| 276 | + prop="bordered" |
| 277 | + tooltip="Add borders to cells." |
| 278 | + value$="{{bordered}}"> |
| 279 | + </editable-table-editor-toggle> |
| 280 | + <editable-table-editor-toggle |
| 281 | + hidden$="[[hideStriped]]" |
| 282 | + label="Striped" |
| 283 | + prop="striped" |
| 284 | + tooltip="Add shading to alternating rows." |
| 285 | + value$="{{striped}}"> |
| 286 | + </editable-table-editor-toggle> |
| 287 | + <editable-table-editor-toggle |
| 288 | + hidden$="[[hideCondensed]]" |
| 289 | + label="Condensed" |
| 290 | + prop="condensed" |
| 291 | + tooltip="Condense cell height." |
| 292 | + value$="{{condensed}}"> |
| 293 | + </editable-table-editor-toggle> |
| 294 | + <editable-table-editor-toggle |
| 295 | + hidden$="[[hideScroll]]" |
| 296 | + label="Disable Responsive" |
| 297 | + prop="scroll" |
| 298 | + tooltip="Disables the default responsive feature." |
| 299 | + value$="{{scroll}}"> |
| 300 | + </editable-table-editor-toggle> |
| 301 | + </div> |
| 302 | + <div class="field-group-border field-group-grow" hidden$="[[hideTableSort]]"> |
| 303 | + <label>Sorting and Filtering: </label> |
| 304 | + <editable-table-editor-toggle |
| 305 | + disabled$="[[!columnHeader]]" |
| 306 | + hidden$="[[hideSort]]" |
| 307 | + label="Enable Sorting" |
| 308 | + prop="sort" |
| 309 | + tooltip="When first row is a column header, make the column sortable." |
| 310 | + value$="{{sort}}"> |
| 311 | + </editable-table-editor-toggle> |
| 312 | + <editable-table-editor-toggle |
| 313 | + hidden$="[[hideFilter]]" |
| 314 | + label="Enable Filters" |
| 315 | + prop="filter" |
| 316 | + tooltip="When a cell is clicked toggle a filter based on that cell's value." |
| 317 | + value$="{{filter}}"> |
| 318 | + </editable-table-editor-toggle> |
| 319 | + </div> |
| 320 | + </div> |
| 321 | + </a11y-collapse> |
296 | 322 | <table id="table" |
297 | 323 | class="table" |
298 | 324 | bordered$="{{bordered}}" |
|
0 commit comments