import {Component, Input, OnInit} from '@angular/core';
@Component({
selector: 'dc-progress-bar',
template: `
`,
styles: [
`
.dc-progress-outer {
min-width: 150px;
height: 15px;
display: flex;
flex-direction: row;
}
.dc-progress-inner {
background-color: #e5f0f7;
position: relative;
flex: 1;
}
.dc-progress-bar {
height: 100%;
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAPCAIAAABSnclZAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpkMThkZTE2Ny0wMjYyLWQyNGUtODg5Zi0zZDlmNjcxZjcwYTEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OUQ3RDkyQkE4MzIyMTFFOEI2RTVBMDA5NTFEQzlFQzUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OUQ3RDkyQjk4MzIyMTFFOEI2RTVBMDA5NTFEQzlFQzUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OWJiNmJkNzUtMmYwNS1jZDQ1LThkYjMtOTRmMTA1ZTJiYzlkIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6NjU0Njg2NGEtM2ZhYy0xMWU4LTk5NDUtYzY4ZTVkMmFlODA3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+wJtu4gAAAORJREFUeNpMkMsOgjAQRWkpCCqQGDU+oqz9UH/PrWs1PqLGhIcCpbQOsU65ySxuznR6Z4i33W3GHiXWT6VQ+2chlbY0jlxkoENSIWvx0KVoHh+Rc4l20meG8Uad0xqta5Nl2Hl6TKDBzF1H0GBp/CqapGqQjXwW9ez2bygh1SnlyBglq9DR0aBOaS06cVehy/7LUJj5KgQymDnybbMYJEJjEwKJ0DbKohAX/SJw2rh/XTJuFoP7TAcMLdzn/hYaw5M46iFT7XW5Tg6aB47HzNhrVpdCauwzOhs6yAohb7m+7leAAQDonllq67NeygAAAABJRU5ErkJggg==") repeat-x transparent;
}
.dc-progress-text {
width: 60px;
line-height: 15px;
text-align: center;
color: #0081cc;
font-size: 12px;
}
`
]
})
export class ProgressBarComponent implements OnInit {
// 背景色#e5f0f7 字体颜色#0081cc 字号12
@Input() width: string;
_progress: number;
@Input() set progress(v: number) {
this._progress = v;
}
get progress() {
return this._progress;
}
@Input() option: {
showText?: boolean
};
constructor() {
}
ngOnInit() {
}
setWidth(target: any) {
const pW = target.parentElement.offsetWidth;
return Math.ceil(pW * this.progress / 100) + 'px';
}
}