blob: 5d501f3962fd24241a7c607aac0e66f2ba11c6f1 [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import './support_tool_shared.css.js';
import 'chrome://resources/polymer/v3_0/iron-list/iron-list.js';
import 'chrome://resources/cr_elements/cr_checkbox/cr_checkbox.js';
import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import {BrowserProxy, BrowserProxyImpl, DataCollectorItem} from './browser_proxy.js';
import {getTemplate} from './data_collectors.html.js';
import {SupportToolPageMixin} from './support_tool_page_mixin.js';
const DataCollectorsElementBase = SupportToolPageMixin(PolymerElement);
export class DataCollectorsElement extends DataCollectorsElementBase {
static get is() {
return 'data-collectors';
}
static get template() {
return getTemplate();
}
static get properties() {
return {
dataCollectors_: {
type: Array,
value: () => [],
},
};
}
private dataCollectors_: DataCollectorItem[];
private browserProxy_: BrowserProxy = BrowserProxyImpl.getInstance();
override connectedCallback() {
super.connectedCallback();
this.browserProxy_.getDataCollectors().then(
(dataCollectors: DataCollectorItem[]) => {
this.dataCollectors_ = dataCollectors;
});
}
getDataCollectors(): DataCollectorItem[] {
return this.dataCollectors_;
}
}
declare global {
interface HTMLElementTagNameMap {
'data-collectors': DataCollectorsElement;
}
}
customElements.define(DataCollectorsElement.is, DataCollectorsElement);