diff options
author | krb <krb@chromium.org> | 2016-02-25 08:27:41 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-25 16:28:42 +0000 |
commit | d62c24312fed4aeba5e4412a8f2bd3a83ad55b05 (patch) | |
tree | 48163ec398c897016043a5c55493647dc4a17564 /chrome/browser/resources/print_preview/settings/page_settings.js | |
parent | 7dc852fd17cd4ee23e392d99e392a5c4eee7eea3 (diff) | |
download | chromium_src-d62c24312fed4aeba5e4412a8f2bd3a83ad55b05.zip chromium_src-d62c24312fed4aeba5e4412a8f2bd3a83ad55b05.tar.gz chromium_src-d62c24312fed4aeba5e4412a8f2bd3a83ad55b05.tar.bz2 |
Print preview: Distinguish between errors in page range input
Inform the user whether they entered unclear, unparsable
input or whether a page referenced was too large, and what
the limit is.
BUG=467930
Review URL: https://codereview.chromium.org/1713733003
Cr-Commit-Position: refs/heads/master@{#377585}
Diffstat (limited to 'chrome/browser/resources/print_preview/settings/page_settings.js')
-rw-r--r-- | chrome/browser/resources/print_preview/settings/page_settings.js | 30 |
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(); |