Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

96
LINES

< > BotCompany Repo | #1032753 // HBubblesProgressBar (almost works, doesn't look 100%)

JavaX fragment (include) [tags: use-pretranspiled]

Libraryless. Click here for Pure Java version (5297L/31K).

1  
sclass HBubblesProgressBar extends HTMLBase {
2  
  S mainClass = "bubble-progress-bar";
3  
  S id = aGlobalID();
4  
  
5  
  S preprocessCSS(S css) { ret replace(css, ".mc", "." + mainClass); }
6  
  
7  
  *() {
8  
    css([[
9  
      .mc {
10  
        position: relative;
11  
        width: 50vw;
12  
        top: 50%;
13  
        left: 50%;
14  
        transform: translate3d(-50%, -50%, 0);
15  
      }
16  
      
17  
      .mc input {
18  
        display: none;
19  
      }
20  
      
21  
      .mc label div {
22  
        position: absolute;
23  
        top: 0;
24  
        left: 0;
25  
        background: linear-gradient(to bottom, #A3E2EF 35%, #4F9CC0);
26  
        height: 100%;
27  
        width: 0%;
28  
        box-shadow: 0 0 8px 1px white inset;
29  
      }
30  
      
31  
      .mc label div:before {
32  
        content: "";
33  
        display: block;
34  
        width: 100%;
35  
        height: 100%;
36  
        position: absolute;
37  
        top: 0;
38  
        left: 0;
39  
        background: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/172299/bubbles-mask.gif);
40  
        mix-blend-mode: overlay;
41  
        opacity: 0.5;
42  
      }
43  
      
44  
      .mc span {
45  
        display: inline-block;
46  
        color: #4F9CC0;
47  
        font-size: 0.7rem;
48  
        text-transform: uppercase;
49  
        letter-spacing: 1.5px;
50  
        margin-top: 0.7rem;
51  
      }
52  
      
53  
      .mc span:last-child {
54  
        float: right;
55  
      }
56  
    ]]);
57  
  }
58  
  
59  
  public S html() {
60  
    ret div(linesLL(
61  
      htag input(type := "checkbox", id := id + "-cb"),
62  
      hlabelFor(id + "-cb", emptydiv()),
63  
      span("Progress"),
64  
      span("0%", id := id + "-progress"),
65  
    ),
66  
    +id, class := mainClass);
67  
  }
68  
 
69  
  S demo() {
70  
    ret hhtml(hbody(hcombine(
71  
      hcss([[
72  
        html, body { margin: 0; height: 100%; width: 100%; }
73  
        
74  
        body {
75  
          background: #26323D;
76  
          background-image: radial-gradient(transparent 65%, rgba(black, 0.3));
77  
          font-family: sans-serif;
78  
        }
79  
      ]]),
80  
      complete(),
81  
      hjs_dollarVars([[
82  
        window.onload = function() {
83  
          var elm = document.querySelector('#' + $id + '-progress');
84  
          var div = document.querySelector('#' + $id + ' label div');
85  
          setInterval(function(){
86  
            if(!elm.innerHTML.match(/100%/gi)){
87  
              elm.innerHTML = (parseInt(elm.innerHTML) + 1) + '%';
88  
              div.style.width = elm.innerHTML;
89  
            } else {
90  
              clearInterval();
91  
            }
92  
          }, 100);
93  
        };
94  
      ]], +id))));
95  
  }
96  
}

download  show line numbers  debug dex  old transpilations   

Travelled to 3 computer(s): bhatertpkbcr, mowyntqkapby, mqqgnosmbjvj

No comments. add comment

Snippet ID: #1032753
Snippet name: HBubblesProgressBar (almost works, doesn't look 100%)
Eternal ID of this version: #1032753/17
Text MD5: d7552526258be9ce10aace2fcfce6038
Transpilation MD5: 69796aa4ad59e0c71bf2969e1c75d2aa
Author: stefan
Category: javax / html
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2021-10-04 15:32:28
Source code size: 2483 bytes / 96 lines
Pitched / IR pitched: No / No
Views / Downloads: 163 / 303
Version history: 16 change(s)
Referenced in: [show references]