OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 cr.define('print_preview', function() { | 5 cr.define('print_preview', function() { |
6 'use strict'; | 6 'use strict'; |
7 | 7 |
8 /** | 8 /** |
9 * Modal dialog for print destination's advanced settings. | 9 * Modal dialog for print destination's advanced settings. |
10 * @param {!print_preview.PrintTicketStore} printTicketStore Contains the | 10 * @param {!print_preview.PrintTicketStore} printTicketStore Contains the |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 this.destination_.displayName); | 63 this.destination_.displayName); |
64 this.setIsVisible(true); | 64 this.setIsVisible(true); |
65 this.renderSettings_(); | 65 this.renderSettings_(); |
66 }, | 66 }, |
67 | 67 |
68 /** @override */ | 68 /** @override */ |
69 enterDocument: function() { | 69 enterDocument: function() { |
70 print_preview.Overlay.prototype.enterDocument.call(this); | 70 print_preview.Overlay.prototype.enterDocument.call(this); |
71 | 71 |
72 this.tracker.add( | 72 this.tracker.add( |
73 assert(this.getChildElement('.button-strip .cancel-button')), | 73 this.getChildElement('.button-strip .cancel-button'), |
74 'click', | 74 'click', |
75 this.cancel.bind(this)); | 75 this.cancel.bind(this)); |
76 | 76 |
77 this.tracker.add( | 77 this.tracker.add( |
78 assert(this.getChildElement('.button-strip .done-button')), | 78 this.getChildElement('.button-strip .done-button'), |
79 'click', | 79 'click', |
80 this.onApplySettings_.bind(this)); | 80 this.onApplySettings_.bind(this)); |
81 | 81 |
82 this.tracker.add( | 82 this.tracker.add( |
83 assert(this.searchBox_), | 83 assert(this.searchBox_), |
84 print_preview.SearchBox.EventType.SEARCH, | 84 print_preview.SearchBox.EventType.SEARCH, |
85 this.onSearch_.bind(this)); | 85 this.onSearch_.bind(this)); |
86 }, | 86 }, |
87 | 87 |
88 /** @override */ | 88 /** @override */ |
89 decorateInternal: function() { | 89 decorateInternal: function() { |
90 this.searchBox_.render(assert(this.getChildElement('.search-box-area'))); | 90 this.searchBox_.render(this.getChildElement('.search-box-area')); |
91 }, | 91 }, |
92 | 92 |
93 /** @override */ | 93 /** @override */ |
94 onSetVisibleInternal: function(isVisible) { | 94 onSetVisibleInternal: function(isVisible) { |
95 if (isVisible) { | 95 if (isVisible) { |
96 this.searchBox_.focus(); | 96 this.searchBox_.focus(); |
97 this.metrics_.record(print_preview.Metrics.PrintSettingsUiBucket. | 97 this.metrics_.record(print_preview.Metrics.PrintSettingsUiBucket. |
98 ADVANCED_SETTINGS_DIALOG_SHOWN); | 98 ADVANCED_SETTINGS_DIALOG_SHOWN); |
99 } else { | 99 } else { |
100 this.resetSearch_(); | 100 this.resetSearch_(); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 var atLeastOneMatch = false; | 138 var atLeastOneMatch = false; |
139 var lastVisibleItemWithBubble = null; | 139 var lastVisibleItemWithBubble = null; |
140 this.items_.forEach(function(item) { | 140 this.items_.forEach(function(item) { |
141 item.updateSearchQuery(query); | 141 item.updateSearchQuery(query); |
142 if (getIsVisible(item.getElement())) | 142 if (getIsVisible(item.getElement())) |
143 atLeastOneMatch = true; | 143 atLeastOneMatch = true; |
144 if (item.searchBubbleShown) | 144 if (item.searchBubbleShown) |
145 lastVisibleItemWithBubble = item; | 145 lastVisibleItemWithBubble = item; |
146 }); | 146 }); |
147 setIsVisible( | 147 setIsVisible( |
148 assert(this.getChildElement('.no-settings-match-hint')), | 148 this.getChildElement('.no-settings-match-hint'), |
149 !atLeastOneMatch); | 149 !atLeastOneMatch); |
150 setIsVisible( | 150 setIsVisible( |
151 assert(this.getChildElement( | 151 this.getChildElement('.' + AdvancedSettings.Classes_.EXTRA_PADDING), |
152 '.' + AdvancedSettings.Classes_.EXTRA_PADDING)), | |
153 !!lastVisibleItemWithBubble); | 152 !!lastVisibleItemWithBubble); |
154 }, | 153 }, |
155 | 154 |
156 /** | 155 /** |
157 * Resets the filter query. | 156 * Resets the filter query. |
158 * @private | 157 * @private |
159 */ | 158 */ |
160 resetSearch_: function() { | 159 resetSearch_: function() { |
161 this.searchBox_.setQuery(null); | 160 this.searchBox_.setQuery(null); |
162 this.filterLists_(null); | 161 this.filterLists_(null); |
163 }, | 162 }, |
164 | 163 |
165 /** | 164 /** |
166 * Renders all of the available settings. | 165 * Renders all of the available settings. |
167 * @private | 166 * @private |
168 */ | 167 */ |
169 renderSettings_: function() { | 168 renderSettings_: function() { |
170 // Remove all children settings elements. | 169 // Remove all children settings elements. |
171 this.items_.forEach(function(item) { | 170 this.items_.forEach(function(item) { |
172 this.removeChild(item); | 171 this.removeChild(item); |
173 }.bind(this)); | 172 }.bind(this)); |
174 this.items_ = []; | 173 this.items_ = []; |
175 | 174 |
176 var extraPadding = | 175 var extraPadding = this.element_.querySelector( |
177 this.getChildElement('.' + AdvancedSettings.Classes_.EXTRA_PADDING); | 176 '.' + AdvancedSettings.Classes_.EXTRA_PADDING); |
178 if (extraPadding) | 177 if (extraPadding) |
179 extraPadding.parentNode.removeChild(extraPadding); | 178 extraPadding.parentNode.removeChild(extraPadding); |
180 | 179 |
181 var vendorCapabilities = this.printTicketStore_.vendorItems.capability; | 180 var vendorCapabilities = this.printTicketStore_.vendorItems.capability; |
182 if (!vendorCapabilities) | 181 if (!vendorCapabilities) |
183 return; | 182 return; |
184 | 183 |
185 var availableHeight = this.getAvailableContentHeight_(); | 184 var availableHeight = this.getAvailableContentHeight_(); |
186 var containerEl = this.getChildElement('.settings-area'); | 185 var containerEl = this.getChildElement('.settings-area'); |
187 containerEl.style.maxHeight = availableHeight + 'px'; | 186 containerEl.style.maxHeight = availableHeight + 'px'; |
188 var settingsEl = this.getChildElement('.settings'); | 187 var settingsEl = this.getChildElement('.settings'); |
189 | 188 |
190 vendorCapabilities.forEach(function(capability) { | 189 vendorCapabilities.forEach(function(capability) { |
191 var item = new print_preview.AdvancedSettingsItem( | 190 var item = new print_preview.AdvancedSettingsItem( |
192 this.printTicketStore_, capability); | 191 this.printTicketStore_, capability); |
193 this.addChild(item); | 192 this.addChild(item); |
194 item.render(assert(settingsEl)); | 193 item.render(settingsEl); |
195 this.items_.push(item); | 194 this.items_.push(item); |
196 }.bind(this)); | 195 }.bind(this)); |
197 | 196 |
198 var searchBoxArea = assert(this.getChildElement('.search-box-area')); | 197 var searchBoxArea = this.getChildElement('.search-box-area'); |
199 if (this.items_.length <= 1) { | 198 if (this.items_.length <= 1) { |
200 setIsVisible(searchBoxArea, false); | 199 setIsVisible(searchBoxArea, false); |
201 } else { | 200 } else { |
202 setIsVisible(searchBoxArea, true); | 201 setIsVisible(searchBoxArea, true); |
203 this.searchBox_.focus(); | 202 this.searchBox_.focus(); |
204 } | 203 } |
205 | 204 |
206 extraPadding = document.createElement('div'); | 205 extraPadding = document.createElement('div'); |
207 extraPadding.classList.add(AdvancedSettings.Classes_.EXTRA_PADDING); | 206 extraPadding.classList.add(AdvancedSettings.Classes_.EXTRA_PADDING); |
208 extraPadding.hidden = true; | 207 extraPadding.hidden = true; |
(...skipping 25 matching lines...) Expand all Loading... |
234 | 233 |
235 this.printTicketStore_.vendorItems.updateValue(values); | 234 this.printTicketStore_.vendorItems.updateValue(values); |
236 } | 235 } |
237 }; | 236 }; |
238 | 237 |
239 // Export | 238 // Export |
240 return { | 239 return { |
241 AdvancedSettings: AdvancedSettings | 240 AdvancedSettings: AdvancedSettings |
242 }; | 241 }; |
243 }); | 242 }); |
OLD | NEW |