summaryrefslogtreecommitdiffstats
path: root/chrome/browser/resources/print_preview/settings/page_settings.js
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/resources/print_preview/settings/page_settings.js')
-rw-r--r--chrome/browser/resources/print_preview/settings/page_settings.js30
1 files changed, 22 insertions, 8 deletions
diff --git a/chrome/browser/resources/print_preview/settings/page_settings.js b/chrome/browser/resources/print_preview/settings/page_settings.js
index 78aeeb8..ef1cf17 100644
--- a/chrome/browser/resources/print_preview/settings/page_settings.js
+++ b/chrome/browser/resources/print_preview/settings/page_settings.js
@@ -138,17 +138,30 @@ cr.define('print_preview', function() {
PageSettings.Classes_.CUSTOM_RADIO)[0];
this.customHintEl_ = this.getElement().getElementsByClassName(
PageSettings.Classes_.CUSTOM_HINT)[0];
- this.customHintEl_.textContent = loadTimeData.getStringF(
- 'pageRangeInstruction',
- loadTimeData.getString('examplePageRangeText'));
},
/**
- * @param {boolean} isVisible Whether the custom hint is visible.
+ * @param {!PageRangeStatus} validity (of page range)
* @private
*/
- setInvalidStateVisible_: function(isVisible) {
- if (isVisible) {
+ setInvalidStateVisible_: function(validity) {
+ if (validity !== PageRangeStatus.NO_ERROR) {
+ var message;
+ if (validity === PageRangeStatus.LIMIT_ERROR) {
+ if (this.pageRangeTicketItem_.getDocumentNumPages()) {
+ message = loadTimeData.getStringF(
+ 'pageRangeLimitInstructionWithValue',
+ this.pageRangeTicketItem_.getDocumentNumPages());
+ } else {
+ message = loadTimeData.getString(
+ 'pageRangeLimitInstruction');
+ }
+ } else {
+ message = loadTimeData.getStringF(
+ 'pageRangeSyntaxInstruction',
+ loadTimeData.getString('examplePageRangeText'));
+ }
+ this.customHintEl_.textContent = message;
this.customInput_.classList.add('invalid');
fadeInElement(this.customHintEl_);
} else {
@@ -247,10 +260,11 @@ cr.define('print_preview', function() {
this.customInput_.value = pageRangeStr;
}
this.customRadio_.checked = true;
- this.setInvalidStateVisible_(!this.pageRangeTicketItem_.isValid());
+ this.setInvalidStateVisible_(
+ this.pageRangeTicketItem_.checkValidity());
} else {
this.allRadio_.checked = true;
- this.setInvalidStateVisible_(false);
+ this.setInvalidStateVisible_(PageRangeStatus.NO_ERROR);
}
}
this.updateUiStateInternal();