summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/resources/settings/multidevice_page/multidevice_feature_item.html
blob: b4d69033c1e95dfd352e9d40a5fc6ffffafef25c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<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/cr.html">
<link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.html">
<link rel="import" href="../icons.html">
<link rel="import" href="../route.html">
<link rel="import" href="../settings_shared_css.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">
      #card {
        border-top: var(--cr-separator-line);
        border-top-style: var(--feature-item-border-top-style, solid);
        padding: var(--feature-item-row-padding);
      }

      iron-icon {
        padding: 2px;
      }

      cr-policy-indicator {
        padding: 0 var(--cr-controlled-by-spacing);
      }

      .link-wrapper {
        align-items: center;
        display: flex;
        flex-grow: 1;
      }
    </style>
    <div id="card" class="settings-box two-line">
      <div class="link-wrapper" actionable
           actionable$="[[hasSubpageClickHandler_(
               feature, pageContentData, subpageRoute)]]"
           on-click="handleItemClick_">
        <slot name="icon">
          <iron-icon icon="[[getIconName(feature)]]"></iron-icon>
        </slot>
        <div id="item-text-container" class="middle">
          <div id="featureName">[[getFeatureName(feature)]]</div>
          <div class="secondary"
              id="featureSecondary"
              inner-h-t-m-l="[[getFeatureSummaryHtml(feature)]]">
          </div>
        </div>
        <template is="dom-if"
                  if="[[hasSubpageClickHandler_(
              feature, pageContentData, subpageRoute)]]"
                  restamp>
          <cr-icon-button class="subpage-arrow" aria-labelledby="featureName"
                          aria-describedby="featureSecondary"></cr-icon-button>
        </template>
      </div>
      <template is="dom-if"
                if="[[hasSubpageClickHandler_(
              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>
      <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>
  </template>
  <script src="multidevice_feature_item.js"></script>
</dom-module>