import '@polymer/paper-card/paper-card.js'; import { html } from '@polymer/polymer/lib/utils/html-tag.js'; import { PolymerElement } from '@polymer/polymer/polymer-element.js'; import '../../src/components/hassio-card-content.js'; import '../../src/resources/hassio-style.js'; import '../../src/util/hass-mixins.js'; class HassioAddonRepository extends window.hassMixins.NavigateMixin(PolymerElement) { static get template() { return html` [[repo.name]] Maintained by [[repo.maintainer]] [[repo.url]] `; } static get properties() { return { repo: Object, addons: Array, }; } sortAddons(a, b) { return a.name < b.name ? -1 : 1; } computeIcon(addon) { return addon.installed && addon.installed !== addon.version ? 'mdi:arrow-up-bold-circle' : 'mdi:puzzle'; } computeIconTitle(addon) { if (addon.installed) return addon.installed !== addon.version ? 'New version available' : 'Add-on is installed'; return 'Add-on is not installed'; } computeIconClass(addon) { if (addon.installed) return addon.installed !== addon.version ? 'update' : 'installed'; return ''; } addonTapped(ev) { this.navigate(`/hassio/addon/${ev.model.addon.slug}`); } } customElements.define('hassio-addon-repository', HassioAddonRepository);