summaryrefslogtreecommitdiffstats
path: root/browser/components/aboutlogins/content/components/login-list-section.mjs
blob: 5495f55e28a534f218082196a5d3a783b8a8183b (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
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

export default class LoginListHeaderFactory {
  static ID_PREFIX = "id-";

  static create(header) {
    let template = document.querySelector("#login-list-section-template");
    let fragment = template.content.cloneNode(true);
    let sectionItem = fragment.firstElementChild;

    this.update(sectionItem, header);

    return sectionItem;
  }

  static update(headerItem, header) {
    let headerElement = headerItem.querySelector(".login-list-header");
    if (header) {
      if (header.startsWith(this.ID_PREFIX)) {
        document.l10n.setAttributes(
          headerElement,
          header.substring(this.ID_PREFIX.length)
        );
      } else {
        headerElement.textContent = header;
      }
      headerElement.hidden = false;
    } else {
      headerElement.hidden = true;
    }
  }
}