blob: 7fffd00a38c11e02fa032395886e131117a70342 [file] [log] [blame]
<link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/cr_elements/cr_container_shadow_behavior.html">
<link rel="import" href="chrome://resources/cr_elements/hidden_style_css.html">
<link rel="import" href="chrome://resources/cr_elements/shared_style_css.html">
<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
<link rel="import" href="chrome://resources/html/load_time_data.html">
<link rel="import" href="chrome://resources/html/web_ui_listener_behavior.html">
<link rel="import" href="chrome://resources/polymer/v1_0/iron-collapse/iron-collapse.html">
<link rel="import" href="../metrics.html">
<link rel="import" href="../dark_mode_behavior.html">
<link rel="import" href="../data/destination.html">
<link rel="import" href="../data/state.html">
<link rel="import" href="advanced_options_settings.html">
<link rel="import" href="button_strip.html">
<link rel="import" href="color_settings.html">
<link rel="import" href="copies_settings.html">
<link rel="import" href="destination_settings.html">
<link rel="import" href="dpi_settings.html">
<link rel="import" href="duplex_settings.html">
<link rel="import" href="header.html">
<link rel="import" href="header_new.html">
<link rel="import" href="layout_settings.html">
<link rel="import" href="media_size_settings.html">
<link rel="import" href="margins_settings.html">
<link rel="import" href="more_settings.html">
<link rel="import" href="other_options_settings.html">
<link rel="import" href="pages_per_sheet_settings.html">
<link rel="import" href="pages_settings.html">
<if expr="chromeos">
<link rel="import" href="pin_settings.html">
</if>
<link rel="import" href="print_preview_vars_css.html">
<link rel="import" href="scaling_settings.html">
<link rel="import" href="settings_behavior.html">
<link rel="import" href="strings.html">
<if expr="not chromeos">
<link rel="import" href="link_container.html">
</if>
<dom-module id="print-preview-sidebar">
<template>
<style include="cr-hidden-style cr-shared-style">
:host {
background-color: white;
border-inline-end: var(--print-preview-settings-border);
display: flex;
flex-direction: column;
}
:host([new-print-preview-layout]) {
border-inline-end: none;
border-inline-start: var(--print-preview-settings-border);
}
@media (prefers-color-scheme: dark) {
:host {
background-color: rgba(255, 255, 255, .04);
}
}
#container {
color: var(--cr-primary-text-color);
flex: 1;
overflow: overlay;
}
:host(:not([new-print-preview-layout])) #container {
padding-bottom: 16px;
}
:host([new-print-preview-layout]) #destinationSettings {
margin-top: 12px;
}
/* Print Preview uses lighter box-shadows compared to the default
* styling. */
:host([new-print-preview-layout]) #cr-container-shadow-top,
:host([new-print-preview-layout]) #cr-container-shadow-bottom {
box-shadow: inset 0 5px 3px -3px rgba(0, 0, 0, .2);
}
.settings-section {
display: block;
margin-bottom: 16px;
margin-top: 16px;
}
<if expr="not chromeos">
:host(:not([new-print-preview-layout])) print-preview-link-container {
border-top: var(--print-preview-settings-border);
}
</if>
</style>
<template is="dom-if" if="[[newPrintPreviewLayout]]">
<print-preview-header-new id="header" destination="[[destination]]"
cloud-print-error-message="[[cloudPrintErrorMessage]]"
error="[[error]]" state="[[state]]"
settings="[[settings]]" managed="[[controlsManaged]]">
</print-preview-header-new>
</template>
<template is="dom-if" if="[[!newPrintPreviewLayout]]">
<print-preview-header id="header" destination="[[destination]]"
cloud-print-error-message="[[cloudPrintErrorMessage]]"
error="[[error]]" first-load="[[firstLoad_]]" state="[[state]]"
settings="[[settings]]" managed="[[controlsManaged]]"
on-print-button-focused="onPrintButtonFocused_">
</print-preview-header>
</template>
<div id="container" show-bottom-shadow$="[[newPrintPreviewLayout]]">
<print-preview-destination-settings id="destinationSettings"
cloud-print-interface="[[cloudPrintInterface]]" dark="[[inDarkMode]]"
destination="{{destination}}" destination-state="{{destinationState}}"
error="{{error}}" first-load="[[firstLoad_]]" settings="[[settings]]"
state="[[state]]" app-kiosk-mode="[[isInAppKioskMode_]]"
disabled="[[controlsDisabled_]]"
available class="settings-section">
</print-preview-destination-settings>
<if expr="chromeos">
<print-preview-pin-settings state="[[state]]" settings="[[settings]]"
disabled="[[controlsDisabled_]]"
hidden$="[[!settings.pin.available]]" class="settings-section">
</print-preview-pin-settings>
</if>
<print-preview-pages-settings settings="[[settings]]"
page-count="[[pageCount]]" disabled="[[controlsDisabled_]]"
hidden$="[[!settings.pages.available]]" class="settings-section">
</print-preview-pages-settings>
<print-preview-copies-settings settings="[[settings]]"
disabled="[[controlsDisabled_]]"
hidden$="[[!settings.copies.available]]" class="settings-section">
</print-preview-copies-settings>
<print-preview-layout-settings settings="[[settings]]"
disabled="[[controlsDisabled_]]"
hidden$="[[!settings.layout.available]]" class="settings-section">
</print-preview-layout-settings>
<print-preview-color-settings settings="[[settings]]"
disabled="[[controlsDisabled_]]"
hidden$="[[!settings.color.available]]" class="settings-section">
</print-preview-color-settings>
<print-preview-more-settings
settings-expanded-by-user="{{settingsExpandedByUser_}}"
disabled="[[controlsDisabled_]]"
hidden$="[[!shouldShowMoreSettings_]]">
</print-preview-more-settings>
<iron-collapse id="moreSettings"
opened="[[shouldExpandSettings_(
settingsExpandedByUser_, shouldShowMoreSettings_)]]">
<print-preview-media-size-settings settings="[[settings]]"
capability="[[destination.capabilities.printer.media_size]]"
disabled="[[controlsDisabled_]]"
hidden$="[[!settings.mediaSize.available]]"
class="settings-section">
</print-preview-media-size-settings>
<print-preview-pages-per-sheet-settings settings="[[settings]]"
disabled="[[controlsDisabled_]]"
hidden$="[[!settings.pagesPerSheet.available]]"
class="settings-section">
</print-preview-pages-per-sheet-settings>
<print-preview-margins-settings settings="[[settings]]"
disabled="[[controlsDisabled_]]"
hidden$="[[!settings.margins.available]]"
class="settings-section">
</print-preview-margins-settings>
<print-preview-dpi-settings settings="[[settings]]"
capability="[[destination.capabilities.printer.dpi]]"
disabled="[[controlsDisabled_]]"
hidden$="[[!settings.dpi.available]]" class="settings-section">
</print-preview-dpi-settings>
<print-preview-scaling-settings settings="[[settings]]"
disabled="[[controlsDisabled_]]" is-pdf="[[isPdf]]"
hidden$="[[!settings.scaling.available]]"
class="settings-section">
</print-preview-scaling-settings>
<print-preview-duplex-settings settings="[[settings]]"
disabled="[[controlsDisabled_]]" dark="[[inDarkMode]]"
hidden$="[[!settings.duplex.available]]"
class="settings-section">
</print-preview-duplex-settings>
<print-preview-other-options-settings settings="[[settings]]"
disabled="[[controlsDisabled_]]"
hidden$="[[!settings.otherOptions.available]]"
class="settings-section">
</print-preview-other-options-settings>
<print-preview-advanced-options-settings
settings="[[settings]]" destination="[[destination]]"
disabled="[[controlsDisabled_]]"
hidden$="[[!settings.vendorItems.available]]"
class="settings-section">
</print-preview-advanced-options-settings>
<if expr="not chromeos">
<template is="dom-if" if="[[newPrintPreviewLayout]]">
<print-preview-link-container destination="[[destination]]"
app-kiosk-mode="[[isInAppKioskMode_]]"
disabled="[[controlsDisabled_]]">
</print-preview-link-container>
</template>
</if>
</iron-collapse>
<if expr="not chromeos">
<template is="dom-if" if="[[!newPrintPreviewLayout]]">
<print-preview-link-container destination="[[destination]]"
app-kiosk-mode="[[isInAppKioskMode_]]"
disabled="[[controlsDisabled_]]">
</print-preview-link-container>
</template>
</if>
</div>
<template is="dom-if" if="[[newPrintPreviewLayout]]">
<print-preview-button-strip destination="[[destination]]"
state="[[state]]" first-load="[[firstLoad_]]"
on-print-button-focused="onPrintButtonFocused_">
</print-preview-button-strip>
</template>
</template>
<script src="sidebar.js"></script>
</dom-module>