Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(99)

Side by Side Diff: chrome/browser/resources/print_preview/settings/more_settings.js

Issue 2939273002: DO NOT SUBMIT: what chrome/browser/resources/ could eventually look like with clang-format (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 * Toggles visibility of the specified printing options sections. 9 * Toggles visibility of the specified printing options sections.
10 * @param {!print_preview.DestinationStore} destinationStore To listen for 10 * @param {!print_preview.DestinationStore} destinationStore To listen for
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 enterDocument: function() { 51 enterDocument: function() {
52 print_preview.Component.prototype.enterDocument.call(this); 52 print_preview.Component.prototype.enterDocument.call(this);
53 53
54 this.tracker.add(this.getElement(), 'click', this.onClick_.bind(this)); 54 this.tracker.add(this.getElement(), 'click', this.onClick_.bind(this));
55 this.tracker.add( 55 this.tracker.add(
56 this.destinationStore_, 56 this.destinationStore_,
57 print_preview.DestinationStore.EventType.DESTINATION_SELECT, 57 print_preview.DestinationStore.EventType.DESTINATION_SELECT,
58 this.onDestinationChanged_.bind(this)); 58 this.onDestinationChanged_.bind(this));
59 this.tracker.add( 59 this.tracker.add(
60 this.destinationStore_, 60 this.destinationStore_,
61 print_preview.DestinationStore.EventType. 61 print_preview.DestinationStore.EventType
62 SELECTED_DESTINATION_CAPABILITIES_READY, 62 .SELECTED_DESTINATION_CAPABILITIES_READY,
63 this.onDestinationCapabilitiesReady_.bind(this)); 63 this.onDestinationCapabilitiesReady_.bind(this));
64 this.settingsSections_.forEach(function(section) { 64 this.settingsSections_.forEach(function(section) {
65 this.tracker.add( 65 this.tracker.add(
66 section, 66 section,
67 print_preview.SettingsSection.EventType.COLLAPSIBLE_CONTENT_CHANGED, 67 print_preview.SettingsSection.EventType.COLLAPSIBLE_CONTENT_CHANGED,
68 this.updateState_.bind(this)); 68 this.updateState_.bind(this));
69 }.bind(this)); 69 }.bind(this));
70 70
71 this.updateState_(true); 71 this.updateState_(true);
72 }, 72 },
73 73
74 /** 74 /**
75 * Toggles "more/fewer options" state and notifies all the options sections 75 * Toggles "more/fewer options" state and notifies all the options sections
76 * to reflect the new state. 76 * to reflect the new state.
77 * @private 77 * @private
78 */ 78 */
79 onClick_: function() { 79 onClick_: function() {
80 this.showAll_ = !this.showAll_; 80 this.showAll_ = !this.showAll_;
81 this.updateState_(false); 81 this.updateState_(false);
82 this.metrics_.record(this.isExpanded ? 82 this.metrics_.record(
83 print_preview.Metrics.PrintSettingsUiBucket.MORE_SETTINGS_CLICKED : 83 this.isExpanded ? print_preview.Metrics.PrintSettingsUiBucket
84 print_preview.Metrics.PrintSettingsUiBucket.LESS_SETTINGS_CLICKED); 84 .MORE_SETTINGS_CLICKED :
85 print_preview.Metrics.PrintSettingsUiBucket
86 .LESS_SETTINGS_CLICKED);
85 }, 87 },
86 88
87 /** 89 /**
88 * Called when the destination selection has changed. Updates UI elements. 90 * Called when the destination selection has changed. Updates UI elements.
89 * @private 91 * @private
90 */ 92 */
91 onDestinationChanged_: function() { 93 onDestinationChanged_: function() {
92 this.firstDestinationReady_ = true; 94 this.firstDestinationReady_ = true;
93 this.capabilitiesReady_ = false; 95 this.capabilitiesReady_ = false;
94 this.updateState_(false); 96 this.updateState_(false);
(...skipping 18 matching lines...) Expand all
113 if (!this.firstDestinationReady_) { 115 if (!this.firstDestinationReady_) {
114 fadeOutElement(this.getElement()); 116 fadeOutElement(this.getElement());
115 return; 117 return;
116 } 118 }
117 // When capabilities are not known yet, don't change the state to avoid 119 // When capabilities are not known yet, don't change the state to avoid
118 // unnecessary fade in/out cycles. 120 // unnecessary fade in/out cycles.
119 if (!this.capabilitiesReady_) 121 if (!this.capabilitiesReady_)
120 return; 122 return;
121 123
122 this.getChildElement('.more-settings-label').textContent = 124 this.getChildElement('.more-settings-label').textContent =
123 loadTimeData.getString(this.isExpanded ? 'lessOptionsLabel' : 125 loadTimeData.getString(
124 'moreOptionsLabel'); 126 this.isExpanded ? 'lessOptionsLabel' : 'moreOptionsLabel');
125 var iconEl = this.getChildElement('.more-settings-icon'); 127 var iconEl = this.getChildElement('.more-settings-icon');
126 iconEl.classList.toggle('more-settings-icon-plus', !this.isExpanded); 128 iconEl.classList.toggle('more-settings-icon-plus', !this.isExpanded);
127 iconEl.classList.toggle('more-settings-icon-minus', this.isExpanded); 129 iconEl.classList.toggle('more-settings-icon-minus', this.isExpanded);
128 130
129 var availableSections = this.settingsSections_.reduce( 131 var availableSections =
130 function(count, section) { 132 this.settingsSections_.reduce(function(count, section) {
131 return count + (section.isAvailable() ? 1 : 0); 133 return count + (section.isAvailable() ? 1 : 0);
132 }, 0); 134 }, 0);
133 135
134 // Magic 6 is chosen as the number of sections when it still feels like 136 // Magic 6 is chosen as the number of sections when it still feels like
135 // manageable and not too crowded. 137 // manageable and not too crowded.
136 var hasSectionsToToggle = 138 var hasSectionsToToggle = availableSections > 6 &&
137 availableSections > 6 &&
138 this.settingsSections_.some(function(section) { 139 this.settingsSections_.some(function(section) {
139 return section.hasCollapsibleContent(); 140 return section.hasCollapsibleContent();
140 }); 141 });
141 142
142 if (hasSectionsToToggle) 143 if (hasSectionsToToggle)
143 fadeInElement(this.getElement(), noAnimation); 144 fadeInElement(this.getElement(), noAnimation);
144 else 145 else
145 fadeOutElement(this.getElement()); 146 fadeOutElement(this.getElement());
146 147
147 var collapseContent = !this.isExpanded && hasSectionsToToggle; 148 var collapseContent = !this.isExpanded && hasSectionsToToggle;
148 this.settingsSections_.forEach(function(section) { 149 this.settingsSections_.forEach(function(section) {
149 section.setCollapseContent(collapseContent, noAnimation); 150 section.setCollapseContent(collapseContent, noAnimation);
150 }); 151 });
151 } 152 }
152 }; 153 };
153 154
154 // Export 155 // Export
155 return { 156 return {MoreSettings: MoreSettings};
156 MoreSettings: MoreSettings
157 };
158 }); 157 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698