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 if (global['onManipulateSettingsForTest']) { | |
698 this.nativeLayer_.doneManipulatingSettings(); | |
699 } | |
694 this.printIfReady_(); | 700 this.printIfReady_(); |
695 }, | 701 }, |
696 | 702 |
697 /** | 703 /** |
698 * Called when the preview area's preview failed to load. | 704 * Called when the preview area's preview failed to load. |
699 * @private | 705 * @private |
700 */ | 706 */ |
701 onPreviewGenerationFail_: function() { | 707 onPreviewGenerationFail_: function() { |
702 this.isPreviewGenerationInProgress_ = false; | 708 this.isPreviewGenerationInProgress_ = false; |
703 this.printHeader_.isPrintButtonEnabled = false; | 709 this.printHeader_.isPrintButtonEnabled = false; |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
882 * @param {Event} event Event object representing the failure. | 888 * @param {Event} event Event object representing the failure. |
883 * @private | 889 * @private |
884 */ | 890 */ |
885 onPrivetPrintFailed_: function(event) { | 891 onPrivetPrintFailed_: function(event) { |
886 console.error('Privet printing failed with error code ' + | 892 console.error('Privet printing failed with error code ' + |
887 event.httpError); | 893 event.httpError); |
888 this.printHeader_.setErrorMessage( | 894 this.printHeader_.setErrorMessage( |
889 localStrings.getString('couldNotPrint')); | 895 localStrings.getString('couldNotPrint')); |
890 }, | 896 }, |
891 | 897 |
898 onManipulateSettingsForTest_: function(event) { | |
899 if (event.messageName == 'SAVE_AS_PDF') { | |
900 this.destinationStore_.selectDefaultDestination_(); | |
901 } | |
902 else if (event.messageName == 'LAYOUT_SETTINGS') { | |
903 if (event.isPortrait == true) { | |
904 var portrait = document.getElementsByClassName( | |
905 'layout-settings-portrait-radio')[0]; | |
906 if (portrait) { | |
907 portrait.click(); | |
908 } else { | |
909 this.nativeLayer_.doneManipulatingSettings(); | |
910 } | |
911 } else { | |
912 var landscape = document.getElementsByClassName( | |
913 'layout-settings-landscape-radio')[0]; | |
914 if (landscape) { | |
915 landscape.click(); | |
916 } else { | |
ivandavid
2014/06/18 00:26:00
I think this handles this situation. I will have t
Lei Zhang
2014/06/18 00:47:58
The entire layout settings block here can be simpl
| |
917 this.nativeLayer_.doneManipulatingSettings(); | |
918 } | |
919 } | |
920 } | |
921 else if (event.messageName == 'PAGE_NUMBERS') { | |
922 if (event.pageNumbers != '') { | |
923 var pageSettingsCustomInput = document.getElementsByClassName( | |
924 'page-settings-custom-input')[0]; | |
925 if (pageSettingsCustomInput) { | |
926 pageSettingsCustomInput.value = event.pageSettings; | |
927 } | |
928 } else { | |
929 this.nativeLayer_.doneManipulatingSettings(); | |
930 } | |
931 } | |
932 else if (event.messageName == 'HEADERS_AND_FOOTERS') { | |
933 if (event.headersAndFooters == false) { | |
Lei Zhang
2014/06/18 00:47:58
The if and else cases here also have a lot of dupl
| |
934 var headerFooterCheckbox = document.getElementsByClassName( | |
935 'header-footer-checkbox')[0]; | |
936 if (headerFooterCheckbox) { | |
937 if (headerFooterCheckbox.checked == true) { | |
Lei Zhang
2014/06/18 00:47:58
In general, I think in JS you can just do: if (foo
| |
938 this.otherOptionsSettings_.headerFooterCheckbox_.click(); | |
939 } else { | |
940 this.nativeLayer_.doneManipulatingSettings(); | |
941 } | |
942 } | |
943 } else { | |
944 var headerFooterCheckbox = document.getElementsByClassName( | |
945 'header-footer-checkbox')[0]; | |
946 if (headerFooterCheckbox) { | |
947 if (headerFooterCheckbox.checked == false) { | |
948 this.otherOptionsSettings_.headerFooterCheckbox_.click(); | |
949 } else { | |
950 this.nativeLayer_.doneManipulatingSettings(); | |
951 } | |
952 } | |
953 } | |
954 } | |
955 else if (event.messageName == 'BACKGROUND_COLORS_AND_IMAGES') { | |
956 if (event.backgroundColorsAndImages == true) { | |
957 var backgroundCheckbox = document.getElementsByClassName( | |
958 'css-background-checkbox')[0]; | |
959 if (backgroundCheckbox) { | |
960 if (backgroundCheckbox.checked == false) { | |
961 this.otherOptionsSettings_.cssBackgroundCheckbox_.click(); | |
962 } else { | |
963 this.nativeLayer_.doneManipulatingSettings(); | |
964 } | |
965 } | |
966 } else { | |
967 var backgroundCheckbox = document.getElementsByClassName( | |
968 'css-background-checkbox')[0]; | |
969 if (backgroundCheckbox) { | |
970 if (backgroundCheckbox.checked == true) { | |
971 this.otherOptionsSettings_.cssBackgroundCheckbox_.click(); | |
972 } else { | |
973 this.nativeLayer_.doneManipulatingSettings(); | |
974 } | |
975 } | |
976 } | |
977 } | |
978 else if (event.messageName == 'MARGINS') { | |
979 var marginSettingsSelect = | |
980 document.getElementsByClassName('margin-settings-select')[0]; | |
981 var index = parseInt(event.margins, 10); | |
982 if (marginSettingsSelect && index != 0) { | |
983 marginSettingsSelect.selectedIndex = index; | |
984 this.marginSettings_.onSelectChange_(); | |
985 } else { | |
986 this.nativeLayer_.doneManipulatingSettings(); | |
987 } | |
988 } | |
989 }, | |
990 | |
892 /** | 991 /** |
893 * Called when the open-cloud-print-dialog link is clicked. Opens the Google | 992 * Called when the open-cloud-print-dialog link is clicked. Opens the Google |
894 * Cloud Print web dialog. | 993 * Cloud Print web dialog. |
895 * @private | 994 * @private |
896 */ | 995 */ |
897 onCloudPrintDialogLinkClick_: function() { | 996 onCloudPrintDialogLinkClick_: function() { |
898 assert(this.uiState_ == PrintPreview.UiState_.READY, | 997 assert(this.uiState_ == PrintPreview.UiState_.READY, |
899 'Opening Google Cloud Print dialog when not in ready state: ' + | 998 'Opening Google Cloud Print dialog when not in ready state: ' + |
900 this.uiState_); | 999 this.uiState_); |
901 setIsVisible($('cloud-print-dialog-throbber'), true); | 1000 setIsVisible($('cloud-print-dialog-throbber'), true); |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1034 <include src="search/recent_destination_list.js"/> | 1133 <include src="search/recent_destination_list.js"/> |
1035 <include src="search/destination_list_item.js"/> | 1134 <include src="search/destination_list_item.js"/> |
1036 <include src="search/destination_search.js"/> | 1135 <include src="search/destination_search.js"/> |
1037 <include src="search/search_box.js"/> | 1136 <include src="search/search_box.js"/> |
1038 <include src="search/fedex_tos.js"/> | 1137 <include src="search/fedex_tos.js"/> |
1039 | 1138 |
1040 window.addEventListener('DOMContentLoaded', function() { | 1139 window.addEventListener('DOMContentLoaded', function() { |
1041 printPreview = new print_preview.PrintPreview(); | 1140 printPreview = new print_preview.PrintPreview(); |
1042 printPreview.initialize(); | 1141 printPreview.initialize(); |
1043 }); | 1142 }); |
OLD | NEW |