blob: 870c61ed78ea73eb61193f7a1df21dcf11a2665f [file] [log] [blame]
// Copyright 2020 The LUCI Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
import { MobxLitElement } from '@adobe/lit-mobx';
import { customElement, html, property } from 'lit-element';
import { createContextLink, provider } from '../libs/context';
import { Artifact } from '../services/resultdb';
export const [provideArtifacts, consumeArtifacts] = createContextLink<Map<string, Artifact>>();
export const [provideArtifactsFinalized, consumeArtifactsFinalized] = createContextLink<boolean>();
/**
* Provides artifacts information.
*/
@customElement('milo-artifact-provider')
@provider
export class ArtifactProvider extends MobxLitElement {
@property()
@provideArtifacts()
artifacts!: Map<string, Artifact>;
@property()
@provideArtifactsFinalized()
finalized = false;
protected render() {
return html` <slot></slot> `;
}
}