gd-bs
Version:
Bootstrap JavaScript, TypeScript and Web Components library.
32 lines (28 loc) • 1.2 kB
text/typescript
import { IProgressGroup, IProgressGroupProps } from "./types";
import { Base } from "../base";
import { Progress } from "../progress";
import { HTML } from "./templates";
/**
* Progress Group
* @param props The progress group properties.
*/
class _ProgressGroup extends Base<IProgressGroupProps> implements IProgressGroup {
// Constructor
constructor(props: IProgressGroupProps, template: string = HTML, itemTemplate?: string) {
super(template, props);
// Configure the collapse
this.configure(itemTemplate);
// Configure the parent
this.configureParent();
}
// Configure the card group
private configure(itemTemplate: string) {
// Parse the progress bars
let progressbars = this.props.progressbars || [];
for (let i = 0; i < progressbars.length; i++) {
// Add the progress bar
this.el.appendChild(Progress(progressbars[i], itemTemplate).progressBar);
}
}
}
export const ProgressGroup = (props: IProgressGroupProps, template?: string, itemTemplate?: string): IProgressGroup => { return new _ProgressGroup(props, template, itemTemplate); }