OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // TODO(rltoscano): Move data/* into print_preview.data namespace | 5 // TODO(rltoscano): Move data/* into print_preview.data namespace |
6 | 6 |
7 var localStrings = new LocalStrings(templateData); | 7 var localStrings = new LocalStrings(templateData); |
8 | 8 |
9 <include src="component.js"/> | 9 <include src="component.js"/> |
10 | 10 |
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
278 print_preview.NativeLayer.EventType.SETTINGS_INVALID, | 278 print_preview.NativeLayer.EventType.SETTINGS_INVALID, |
279 this.onSettingsInvalid_.bind(this)); | 279 this.onSettingsInvalid_.bind(this)); |
280 this.tracker.add( | 280 this.tracker.add( |
281 this.nativeLayer_, | 281 this.nativeLayer_, |
282 print_preview.NativeLayer.EventType.DISABLE_SCALING, | 282 print_preview.NativeLayer.EventType.DISABLE_SCALING, |
283 this.onDisableScaling_.bind(this)); | 283 this.onDisableScaling_.bind(this)); |
284 this.tracker.add( | 284 this.tracker.add( |
285 this.nativeLayer_, | 285 this.nativeLayer_, |
286 print_preview.NativeLayer.EventType.PRIVET_PRINT_FAILED, | 286 print_preview.NativeLayer.EventType.PRIVET_PRINT_FAILED, |
287 this.onPrivetPrintFailed_.bind(this)); | 287 this.onPrivetPrintFailed_.bind(this)); |
288 | 288 this.tracker.add( |
289 this.nativeLayer_, | |
290 print_preview.NativeLayer.EventType.MANIPULATE_SETTINGS_FOR_TEST, | |
291 this.onManipulateSettingsForTest_.bind(this)); | |
289 | 292 |
290 this.tracker.add( | 293 this.tracker.add( |
291 $('system-dialog-link'), | 294 $('system-dialog-link'), |
292 'click', | 295 'click', |
293 this.openSystemPrintDialog_.bind(this)); | 296 this.openSystemPrintDialog_.bind(this)); |
294 this.tracker.add( | 297 this.tracker.add( |
295 $('cloud-print-dialog-link'), | 298 $('cloud-print-dialog-link'), |
296 'click', | 299 'click', |
297 this.onCloudPrintDialogLinkClick_.bind(this)); | 300 this.onCloudPrintDialogLinkClick_.bind(this)); |
298 this.tracker.add( | 301 this.tracker.add( |
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
684 this.isPreviewGenerationInProgress_ = true; | 687 this.isPreviewGenerationInProgress_ = true; |
685 }, | 688 }, |
686 | 689 |
687 /** | 690 /** |
688 * Called when the preview area's preview generation is complete. | 691 * Called when the preview area's preview generation is complete. |
689 * @private | 692 * @private |
690 */ | 693 */ |
691 onPreviewGenerationDone_: function() { | 694 onPreviewGenerationDone_: function() { |
692 this.isPreviewGenerationInProgress_ = false; | 695 this.isPreviewGenerationInProgress_ = false; |
693 this.printHeader_.isPrintButtonEnabled = true; | 696 this.printHeader_.isPrintButtonEnabled = true; |
697 this.nativeLayer_.previewReadyForTest(); | |
694 this.printIfReady_(); | 698 this.printIfReady_(); |
695 }, | 699 }, |
696 | 700 |
697 /** | 701 /** |
698 * Called when the preview area's preview failed to load. | 702 * Called when the preview area's preview failed to load. |
699 * @private | 703 * @private |
700 */ | 704 */ |
701 onPreviewGenerationFail_: function() { | 705 onPreviewGenerationFail_: function() { |
702 this.isPreviewGenerationInProgress_ = false; | 706 this.isPreviewGenerationInProgress_ = false; |
703 this.printHeader_.isPrintButtonEnabled = false; | 707 this.printHeader_.isPrintButtonEnabled = false; |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
883 * @private | 887 * @private |
884 */ | 888 */ |
885 onPrivetPrintFailed_: function(event) { | 889 onPrivetPrintFailed_: function(event) { |
886 console.error('Privet printing failed with error code ' + | 890 console.error('Privet printing failed with error code ' + |
887 event.httpError); | 891 event.httpError); |
888 this.printHeader_.setErrorMessage( | 892 this.printHeader_.setErrorMessage( |
889 localStrings.getString('couldNotPrint')); | 893 localStrings.getString('couldNotPrint')); |
890 }, | 894 }, |
891 | 895 |
892 /** | 896 /** |
897 * Called when the print preview settings need to be changed for testing. | |
898 * @param {Event} event Event object that contains the option that is to | |
899 * be changed and what to set that option. | |
900 * @private | |
901 */ | |
902 onManipulateSettingsForTest_: function(event) { | |
903 if ('selectSaveAsPdfDestination' in event.settings) { | |
904 this.saveAsPdfForTest_(); // No parameters needed. | |
ivandavid
2014/07/03 03:12:03
I split up this function and not native_layer.onMa
| |
905 } else if ('layoutSettings' in event.settings) { | |
906 this.setLayoutSettingsForTest_(event.settings.layoutSettings.portrait); | |
907 } else if ('pageRange' in event.settings) { | |
908 this.setPageRangeForTest_(event.settings.pageRange); | |
909 } else if ('headersAndFooters' in event.settings) { | |
910 this.setHeadersAndFootersForTest_(event.settings.headersAndFooters); | |
911 } else if ('backgroundColorsAndImages' in event.settings) { | |
912 this.setBackgroundColorsAndImagesForTest_( | |
913 event.settings.backgroundColorsAndImages); | |
914 } else if ('margins' in event.settings) { | |
915 this.setMarginsForTest_(event.settings.margins); | |
916 } | |
917 }, | |
918 | |
919 /** | |
920 * Called by onManipulateSettingsForTest_(). Sets the print destination | |
921 * as a pdf. | |
922 * @private | |
923 */ | |
924 saveAsPdfForTest_: function() { | |
925 if (print_preview.Destination.GooglePromotedId.SAVE_AS_PDF == | |
926 this.destinationStore_.selectedDestination.id) { | |
927 this.nativeLayer_.previewReadyForTest(); | |
928 return; | |
929 } | |
930 | |
931 var destinations = this.destinationStore_.destinations(); | |
932 var pdfDestination = null; | |
933 for (var i = 0; i < destinations.length; i++) { | |
934 if (destinations[i].id == | |
935 print_preview.Destination.GooglePromotedId.SAVE_AS_PDF) { | |
936 pdfDestination = destinations[i]; | |
937 break; | |
938 } | |
939 } | |
940 | |
941 if (pdfDestination) | |
942 this.destinationStore_.selectDestination(pdfDestination); | |
943 else | |
944 this.nativeLayer_.previewFailedForTest(); | |
Dan Beam
2014/07/07 23:08:12
indent off
ivandavid
2014/07/08 01:07:42
Done.
| |
945 }, | |
946 | |
947 /** | |
948 * Called by onManipulateSettingsForTest_(). Sets the layout settings to | |
949 * either portrait or landscape. | |
950 * @param {boolean} portrait If true then the portrait settings is to be | |
Dan Beam
2014/07/07 23:08:12
nit: @param {boolean} portrait Whether to use port
ivandavid
2014/07/08 01:07:42
Done.
| |
951 * set, otherwise, the landscape settings is set. | |
952 * @private | |
953 */ | |
954 setLayoutSettingsForTest_: function(portrait) { | |
955 var element = document.querySelector( | |
956 portrait ? | |
957 '.layout-settings-portrait-radio' : | |
958 '.layout-settings-landscape-radio'); | |
959 if (element.checked) | |
960 this.nativeLayer_.previewReadyForTest(); | |
961 else | |
962 element.click(); | |
Dan Beam
2014/07/07 23:08:12
indent off
ivandavid
2014/07/08 01:07:42
Done.
| |
963 }, | |
964 | |
965 /** | |
966 * Called by onManipulateSettingsForTest_(). Sets the page range for | |
967 * for the print preview settings. | |
968 * @param {string} pageRange Sets the page range to the desired value(s). | |
Dan Beam
2014/07/07 23:08:12
nit
* @param {string} pageRange A comma separated
ivandavid
2014/07/08 01:07:42
Done.
| |
969 * | |
970 * |pageRange| is a comma separated page range. | |
971 * Example: "1-5,9" will print pages 1 through 5 and page 9. | |
972 * The pages specified must be less than or equal to the maximum | |
973 * page number. | |
974 * @private | |
975 */ | |
976 setPageRangeForTest_: function(pageRange) { | |
977 var textbox = document.querySelector('.page-settings-custom-input'); | |
978 if (textbox.value == pageRange) { | |
979 this.nativeLayer_.previewReadyForTest(); | |
980 } else { | |
981 textbox.value = pageRange; | |
982 document.querySelector('.page-settings-custom-radio').click(); | |
Dan Beam
2014/07/07 23:08:12
can you just do .click() event when the value's th
ivandavid
2014/07/08 01:07:42
No, it doesn't cause the preview area to be genera
Dan Beam
2014/07/08 04:25:13
ok
| |
983 } | |
984 }, | |
985 | |
986 /** | |
987 * Called by onManipulateSettings_(). Checks or unchecks the headers and | |
988 * footers option on print preview. | |
989 * @param {boolean} headersAndFooters If true, the checkbox should be | |
Dan Beam
2014/07/07 23:08:12
Whether the "Headers and footer" checkbox should b
ivandavid
2014/07/08 01:07:42
Done.
| |
990 * checked. Otherwise it should be unchecked. | |
991 * @private | |
992 */ | |
993 setHeadersAndFootersForTest_: function(headersAndFooters) { | |
994 var checkbox = document.querySelector('.header-footer-checkbox'); | |
995 if (headersAndFooters == checkbox.checked) | |
996 this.nativeLayer_.previewReadyForTest(); | |
997 else | |
998 checkbox.click(); | |
999 }, | |
1000 | |
1001 /** | |
1002 * Called by onManipulateSettings_(). Checks or unchecks the background | |
1003 * colors and images option on print preview. | |
1004 * @param {boolean} backgroundColorsAndImages If true, the checkbox should | |
1005 * be checked. Otherwise it should be unchecked. | |
1006 * @private | |
1007 */ | |
1008 setBackgroundColorsAndImagesForTest_: function(backgroundColorsAndImages) { | |
1009 var checkbox = document.querySelector('.css-background-checkbox'); | |
1010 if (backgroundColorsAndImages == checkbox.checked) | |
1011 this.nativeLayer_.previewReadyForTest(); | |
1012 else | |
1013 checkbox.click(); | |
1014 }, | |
1015 | |
1016 /** | |
1017 * Called by onManipulateSettings_(). Sets the margin settings | |
1018 * that are desired. Custom margin settings aren't currently supported. | |
1019 * @param {number} margins The desired margins combobox index. Must be | |
1020 * a valid index or else the test fails. | |
Dan Beam
2014/07/07 23:08:12
@private
ivandavid
2014/07/08 01:07:42
Done.
| |
1021 */ | |
1022 setMarginsForTest_: function(margins) { | |
1023 var combobox = document.querySelector('.margin-settings-select'); | |
1024 if (margins == combobox.selectedIndex) { | |
1025 this.nativeLayer_.previewReadyForTest(); | |
1026 } else if (margins >= 0 && margins < combobox.length) { | |
1027 combobox.selectedIndex = margins; | |
1028 this.marginSettings_.onSelectChange_(); | |
1029 } else { | |
1030 this.nativeLayer_.previewFailedForTest(); | |
1031 } | |
1032 }, | |
1033 | |
1034 /** | |
ivandavid
2014/07/08 01:07:42
Sorry for the double indents. I was writing python
| |
893 * Called when the open-cloud-print-dialog link is clicked. Opens the Google | 1035 * Called when the open-cloud-print-dialog link is clicked. Opens the Google |
894 * Cloud Print web dialog. | 1036 * Cloud Print web dialog. |
895 * @private | 1037 * @private |
896 */ | 1038 */ |
897 onCloudPrintDialogLinkClick_: function() { | 1039 onCloudPrintDialogLinkClick_: function() { |
898 assert(this.uiState_ == PrintPreview.UiState_.READY, | 1040 assert(this.uiState_ == PrintPreview.UiState_.READY, |
899 'Opening Google Cloud Print dialog when not in ready state: ' + | 1041 'Opening Google Cloud Print dialog when not in ready state: ' + |
900 this.uiState_); | 1042 this.uiState_); |
901 setIsVisible($('cloud-print-dialog-throbber'), true); | 1043 setIsVisible($('cloud-print-dialog-throbber'), true); |
902 this.setIsEnabled_(false); | 1044 this.setIsEnabled_(false); |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1034 <include src="search/recent_destination_list.js"/> | 1176 <include src="search/recent_destination_list.js"/> |
1035 <include src="search/destination_list_item.js"/> | 1177 <include src="search/destination_list_item.js"/> |
1036 <include src="search/destination_search.js"/> | 1178 <include src="search/destination_search.js"/> |
1037 <include src="search/search_box.js"/> | 1179 <include src="search/search_box.js"/> |
1038 <include src="search/fedex_tos.js"/> | 1180 <include src="search/fedex_tos.js"/> |
1039 | 1181 |
1040 window.addEventListener('DOMContentLoaded', function() { | 1182 window.addEventListener('DOMContentLoaded', function() { |
1041 printPreview = new print_preview.PrintPreview(); | 1183 printPreview = new print_preview.PrintPreview(); |
1042 printPreview.initialize(); | 1184 printPreview.initialize(); |
1043 }); | 1185 }); |
OLD | NEW |