Codebase list golang-github-vbauerster-mpb / 56ed6f3
BarOnComplete Vladimir Bauer 6 years ago
1 changed file(s) with 20 addition(s) and 15 deletion(s). Raw diff Collapse all Expand all
5252 }
5353 }
5454
55 // BarRemoveOnComplete removes bar filler and decorators if any, on
56 // complete event.
57 func BarRemoveOnComplete() BarOption {
58 return func(s *bState) {
59 s.dropOnComplete = true
60 }
61 }
62
6355 // BarReplaceOnComplete is deprecated. Use BarParkTo instead.
6456 func BarReplaceOnComplete(runningBar *Bar) BarOption {
6557 return BarParkTo(runningBar)
7668 }
7769 }
7870
71 // BarRemoveOnComplete removes bar filler and decorators if any, on
72 // complete event.
73 func BarRemoveOnComplete() BarOption {
74 return func(s *bState) {
75 s.dropOnComplete = true
76 }
77 }
78
7979 // BarClearOnComplete clears bar filler only, on complete event.
8080 func BarClearOnComplete() BarOption {
81 return func(s *bState) {
82 s.filler = makeClearOnCompleteFiller(s.baseF)
83 }
84 }
85
86 func makeClearOnCompleteFiller(filler Filler) Filler {
81 return BarOnComplete("")
82 }
83
84 // BarOnComplete replaces bar filler with message, on complete event.
85 func BarOnComplete(message string) BarOption {
86 return func(s *bState) {
87 s.filler = makeClearOnCompleteFiller(s.baseF, message)
88 }
89 }
90
91 func makeClearOnCompleteFiller(filler Filler, message string) Filler {
8792 return FillerFunc(func(w io.Writer, width int, st *decor.Statistics) {
8893 if st.Completed {
89 w.Write([]byte{})
94 io.WriteString(w, message)
9095 } else {
9196 filler.Fill(w, width, st)
9297 }