diff options
Diffstat (limited to 'browser/components/aboutlogins/content/components/login-list-item.mjs')
-rw-r--r-- | browser/components/aboutlogins/content/components/login-list-item.mjs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/browser/components/aboutlogins/content/components/login-list-item.mjs b/browser/components/aboutlogins/content/components/login-list-item.mjs new file mode 100644 index 0000000000..32c8dec98f --- /dev/null +++ b/browser/components/aboutlogins/content/components/login-list-item.mjs @@ -0,0 +1,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/. */ + +import { LoginListItem, NewListItem } from "./login-list-lit-item.mjs"; +/** + * This file will be removed once login-list is made into a lit-component since + * whatever the update function does, lit does internally automatically. + */ +export default class LoginListItemFactory { + static create(login) { + if (!login.guid) { + const newListItem = new NewListItem(); + newListItem.classList.add("list-item"); + return newListItem; + } + const loginListItem = new LoginListItem(); + loginListItem.classList.add("list-item"); + LoginListItemFactory.update(loginListItem, login); + return loginListItem; + } + + static update(listItem, login) { + listItem.title = login.title; + listItem.username = login.username; + listItem.favicon = `page-icon:${login.origin}`; + + // Prepend the ID with a string since IDs must not begin with a number. + if (!listItem.id) { + listItem.id = "lli-" + login.guid; + listItem.dataset.guid = login.guid; + } + } +} |