| <link rel="import" href="chrome://resources/html/polymer.html"> |
| |
| <link rel="import" href="chrome://resources/cr_components/chromeos/network/mojo_interface_provider.html"> |
| <link rel="import" href="chrome://resources/cr_elements/chromeos/network/cr_network_listener_behavior.html"> |
| <link rel="import" href="chrome://resources/cr_elements/cr_button/cr_button.html"> |
| <link rel="import" href="chrome://resources/cr_elements/cr_icon_button/cr_icon_button.html"> |
| <link rel="import" href="chrome://resources/cr_elements/cr_toast/cr_toast.html"> |
| <link rel="import" href="chrome://resources/cr_elements/policy/cr_policy_pref_indicator.html"> |
| <link rel="import" href="chrome://resources/html/action_link.html"> |
| <link rel="import" href="chrome://resources/cr_elements/action_link_css.html"> |
| <link rel="import" href="chrome://resources/html/assert.html"> |
| <link rel="import" href="chrome://resources/html/chromeos/onc_mojo.html"> |
| <link rel="import" href="chrome://resources/html/cr/ui/focus_without_ink.html"> |
| <link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html"> |
| <link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.html"> |
| <link rel="import" href="cups_add_printer_dialog.html"> |
| <link rel="import" href="cups_edit_printer_dialog.html"> |
| <link rel="import" href="cups_printer_shared_css.html"> |
| <link rel="import" href="cups_printers_entry_manager.html"> |
| <link rel="import" href="cups_printers_list.html"> |
| <link rel="import" href="cups_saved_printers.html"> |
| <link rel="import" href="cups_nearby_printers.html"> |
| <link rel="import" href="../route.html"> |
| |
| <dom-module id="settings-cups-printers"> |
| <template> |
| <style include="cups-printer-shared action-link iron-flex |
| iron-flex-alignment"> |
| .custom-list-item { |
| border-bottom: var(--cr-separator-line); |
| min-height: var(--settings-row-min-height); |
| } |
| |
| .padded { |
| padding: 20px; |
| } |
| |
| #addPrinterSection { |
| padding-inline-start: |
| var(--settings-list-frame-padding_-_padding-inline-start); |
| padding-inline-end: |
| var(--settings-list-frame-padding_-_padding-inline-end); |
| } |
| |
| #addPrinterText { |
| flex: 1; |
| } |
| |
| #addManualPrinterIcon { |
| --iron-icon-fill-color: rgb(138, 180, 248); |
| --cr-icon-button-margin-end: 0; |
| } |
| |
| #cloudOffIcon { |
| --iron-icon-fill-color: rgb(95, 99, 104); |
| margin-top: 10px; |
| } |
| |
| #connectionMessage { |
| padding-inline-start: 20px; |
| } |
| |
| #noConnectivityContentContainer { |
| border-bottom: var(--cr-separator-line); |
| padding-inline-start: 20px; |
| } |
| |
| #noSearchResultsMessage { |
| color: var(--md-loading-message-color); |
| font-size: 16px; |
| font-weight: 500; |
| margin-top: 80px; |
| text-align: center; |
| } |
| |
| #savedPrintersContainer { |
| border-bottom: var(--cr-separator-line); |
| } |
| |
| :host(:not([can-add-printer])) #addPrinterSection, |
| :host(:not([can-add-printer])) #nearbyPrinters { |
| opacity: var(--cr-disabled-opacity); |
| pointer-events: none; |
| } |
| </style> |
| |
| <template is="dom-if" if="[[!enableUpdatedUi_]]"> |
| <div class="settings-box first"> |
| <div class="start"> |
| <span>$i18n{cupsPrintersLearnMoreLabel}</span> |
| <a href="$i18n{printingCUPSPrintLearnMoreUrl}" target="_blank"> |
| $i18n{learnMore} |
| </a> |
| <div class="secondary" hidden="[[canAddPrinter]]"> |
| $i18n{requireNetworkMessage} |
| </div> |
| </div> |
| <template is="dom-if" if="[[!addPrinterButtonActive_(canAddPrinter, |
| prefs.native_printing.user_native_printers_allowed.value)]]"> |
| <cr-policy-pref-indicator |
| pref="[[prefs.native_printing.user_native_printers_allowed]]" |
| icon-aria-label="$i18n{printingPageTitle}"> |
| </cr-policy-pref-indicator> |
| </template> |
| <cr-button class="action-button" id="addPrinter" |
| on-click="onAddPrinterTap_" |
| disabled="[[!addPrinterButtonActive_(canAddPrinter, |
| prefs.native_printing.user_native_printers_allowed.value)]]"> |
| $i18n{addCupsPrinter} |
| </cr-button> |
| </div> |
| <settings-cups-printers-list printers="{{printers}}" |
| active-printer="{{activePrinter}}" |
| search-term="[[searchTerm]]"> |
| </settings-cups-printers-list> |
| |
| <div id="noSearchResultsMessage" |
| hidden="[[!showNoSearchResultsMessage_(searchTerm)]]"> |
| $i18n{noSearchResults} |
| </div> |
| </template> |
| |
| <template is="dom-if" if="[[enableUpdatedUi_]]"> |
| <template is="dom-if" if="[[!canAddPrinter]]"> |
| <div id="noConnectivityContentContainer" |
| class="layout horizontal padded"> |
| <iron-icon id="cloudOffIcon" icon="settings20:cloud-off"></iron-icon> |
| <div id="connectionMessage" class="layout vertical"> |
| <div>$i18n{noInternetConnection}</div> |
| <div class="secondary">$i18n{checkNetworkAndTryAgain}</div> |
| </div> |
| </div> |
| </template> |
| |
| <template is="dom-if" |
| if="[[doesAccountHaveSavedPrinters_(savedPrinters_)]]" restamp> |
| <div id="savedPrintersContainer"> |
| <div class="settings-box first"> |
| <div class="start"> |
| <span>$i18n{savedPrintersTitle}</span> |
| </div> |
| </div> |
| |
| <settings-cups-saved-printers id="savedPrinters" |
| active-printer="{{activePrinter}}" |
| search-term="[[searchTerm]]"> |
| </settings-cups-saved-printers> |
| </div> |
| </template> |
| |
| <div class="padded first" id="nearbyPrinters"> |
| <div>$i18n{nearbyPrintersListTitle}</div> |
| <span class="secondary"> |
| $i18n{nearbyPrintersListDescription} |
| </span> |
| <a href="$i18n{printingCUPSPrintLearnMoreUrl}" |
| target="_blank"> |
| $i18n{learnMore} |
| </a> |
| <template is="dom-if" if="[[!addPrinterButtonActive_(canAddPrinter, |
| prefs.native_printing.user_native_printers_allowed.value)]]"> |
| <cr-policy-pref-indicator |
| pref="[[prefs.native_printing.user_native_printers_allowed]]" |
| icon-aria-label="$i18n{printingPageTitle}"> |
| </cr-policy-pref-indicator> |
| </template> |
| </div> |
| |
| <div id="addPrinterSection"> |
| <div class="layout horizontal center custom-list-item"> |
| <div id="addPrinterText" aria-hidden="true"> |
| $i18n{addCupsPrinter} |
| </div> |
| <cr-icon-button class="action-button" id="addManualPrinterIcon" |
| iron-icon="settings20:printer-add" |
| on-click="onAddPrinterTap_" |
| disabled="[[!addPrinterButtonActive_(canAddPrinter, |
| prefs.native_printing.user_native_printers_allowed.value)]]" |
| title="$i18n{addCupsPrinter}"> |
| </cr-icon-button> |
| </div> |
| </div> |
| <template is="dom-if" if="[[canAddPrinter]]" restamp> |
| <settings-cups-nearby-printers search-term="[[searchTerm]]" |
| active-printer="{{activePrinter}}"> |
| </settings-cups-nearby-printers> |
| </template> |
| </template> |
| |
| <settings-cups-add-printer-dialog id="addPrinterDialog" |
| on-close="onAddPrinterDialogClose_" |
| enable-updated-ui="[[enableUpdatedUi_]]"> |
| </settings-cups-add-printer-dialog> |
| |
| <template is="dom-if" if="[[showCupsEditPrinterDialog_]]" restamp> |
| <settings-cups-edit-printer-dialog id="editPrinterDialog" |
| active-printer="{{activePrinter}}" |
| on-close="onEditPrinterDialogClose_"> |
| </settings-cups-edit-printer-dialog> |
| </template> |
| |
| <cr-toast id="errorToast" duration="3000" role="alert"> |
| <div class="error-message" id="addPrinterDoneMessage"> |
| [[addPrinterResultText_]] |
| </div> |
| </cr-toast> |
| </template> |
| <script src="cups_printers.js"></script> |
| </dom-module> |