blob: 84ded70befcf7db2667434f899d677c4d0e96fb9 [file] [log] [blame]
<link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/cr_elements/cr_icon_button/cr_icon_button.html">
<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
<link rel="import" href="chrome://resources/html/assert.html">
<link rel="import" href="chrome://resources/html/cr.html">
<link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.html">
<link rel="import" href="../os_route.html">
<link rel="import" href="../../router.html">
<link rel="import" href="../../settings_shared_css.html">
<link rel="import" href="../localized_link/localized_link.html">
<link rel="import" href="../route_origin_behavior.html">
<link rel="import" href="multidevice_constants.html">
<link rel="import" href="multidevice_feature_behavior.html">
<link rel="import" href="multidevice_feature_toggle.html">
<dom-module id="settings-multidevice-feature-item">
<template>
<style include="settings-shared">
:host([is-sub-feature]) #feature-icon {
display: none;
}
:host([is-sub-feature]) .settings-box .middle {
padding-inline-start: 64px;
}
#card {
border-top: var(--cr-separator-line);
border-top-style: var(--feature-item-border-top-style, solid);
padding: var(--feature-item-row-padding);
}
#feature-icon {
padding: 2px;
}
cr-policy-indicator {
padding: 0 var(--cr-controlled-by-spacing);
}
</style>
<div id="card" class="settings-box two-line no-padding">
<div id="linkWrapper" class="link-wrapper"
actionable$="[[isRowClickable_(
feature, pageContentData, subpageRoute)]]"
on-click="handleItemClick_">
<slot name="icon">
<iron-icon id="feature-icon" icon="[[getIconName(feature)]]">
</iron-icon>
</slot>
<div id="item-text-container" class="middle">
<div id="featureName">[[getFeatureName(feature)]]</div>
<slot name="feature-summary">
<settings-localized-link
class="secondary"
id="featureSecondary"
localized-string="[[getFeatureSummaryHtml(feature)]]">
</settings-localized-link>
</slot>
</div>
<template is="dom-if"
if="[[hasSubpageClickHandler_(feature, pageContentData,
subpageRoute)]]"
restamp>
<cr-icon-button id="subpageButton" class="subpage-arrow"
aria-labelledby="featureName" aria-describedby="featureSecondary"
aria-roledescription="$i18n{subpageArrowRoleDescription}">
</cr-icon-button>
</template>
<template is="dom-if" if="[[infoTooltip]]" restamp>
<iron-icon id="help-icon" icon="cr:help-outline"></iron-icon>
<paper-tooltip for="help-icon" position="top" fit-to-visible-bounds>
[[infoTooltip]]
</paper-tooltip>
</template>
</div>
<template is="dom-if"
if="[[shouldShowSeparator_(
feature, pageContentData, subpageRoute)]]"
restamp>
<div class="separator"></div>
</template>
<template is="dom-if"
if="[[!isFeatureAllowedByPolicy(feature, pageContentData)]]"
restamp>
<cr-policy-indicator indicator-type="userPolicy"></cr-policy-indicator>
</template>
<div class="margin-matches-padding">
<slot name="feature-controller">
<!-- This settings-multidevice-feature-toggle is the default
controller. If an element with slot="feature-controller" is attached,
it will replace this one. -->
<settings-multidevice-feature-toggle
feature="[[feature]]"
page-content-data="[[pageContentData]]">
</settings-multidevice-feature-toggle>
</slot>
</div>
</div>
</template>
<script src="multidevice_feature_item.js"></script>
</dom-module>