• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

caleb531 / workday-time-calculator / 10481054999

21 Aug 2024 12:06AM UTC coverage: 92.342% (-0.2%) from 92.527%
10481054999

push

github

caleb531
Convert components to JSX

Also add Prettier and clsx.

367 of 399 branches covered (91.98%)

Branch coverage included in aggregate %.

519 of 544 new or added lines in 20 files covered. (95.4%)

1 existing line in 1 file now uncovered.

1936 of 2095 relevant lines covered (92.41%)

440.97 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

93.33
/scripts/components/tools.jsx
1
import clsx from 'clsx';
3✔
2
import m from 'mithril';
3✔
3
import DismissableOverlayComponent from './dismissable-overlay.jsx';
3✔
4
import ExportComponent from './export.jsx';
3✔
5
import ImportComponent from './import.jsx';
3✔
6
import PreferencesComponent from './preferences.jsx';
3✔
7
import WrenchIconComponent from './wrench-icon.jsx';
3✔
8

9
class ToolsComponent {
3✔
10
  oninit() {
3✔
11
    this.toolsMenuOpen = false;
204✔
12
    this.preferencesOpen = false;
204✔
13
  }
204✔
14

15
  view({ attrs: { preferences } }) {
3✔
16
    return (
1,012✔
17
      <div
1,012✔
18
        className={clsx('app-tools', { 'app-tools-open': this.toolsMenuOpen })}
1,012✔
19
      >
20
        <button
1,012✔
21
          aria-label="Toggle Tools Menu"
1,012✔
22
          onclick={() => {
1,012✔
23
            this.toolsMenuOpen = !this.toolsMenuOpen;
60✔
24
          }}
60✔
25
          className="app-tools-menu-toggle"
1,012✔
26
        >
27
          <WrenchIconComponent />
1,012✔
28
        </button>
1,012✔
29
        {this.toolsMenuOpen ? (
1,012✔
30
          <DismissableOverlayComponent
5✔
31
            aria-label="Close Tools Menu"
5✔
32
            onDismiss={() => {
5✔
UNCOV
33
              this.toolsMenuOpen = false;
×
NEW
34
            }}
×
35
          />
5✔
36
        ) : null}
1,007✔
37
        <ul
1,012✔
38
          className={clsx('app-tools-menu', {
1,012✔
39
            'app-tools-open': this.toolsMenuOpen
1,012✔
40
          })}
1,012✔
41
          onclick={() => {
1,012✔
42
            this.toolsMenuOpen = false;
57✔
43
          }}
57✔
44
        >
45
          <li>
1,012✔
46
            <ImportComponent preferences={preferences} />
1,012✔
47
          </li>
1,012✔
48
          <li>
1,012✔
49
            <ExportComponent preferences={preferences} />
1,012✔
50
          </li>
1,012✔
51
          <li
1,012✔
52
            onclick={() => {
1,012✔
53
              this.preferencesOpen = true;
45✔
54
            }}
45✔
55
          >
56
            <span className="app-control-preferences">Preferences</span>
1,012✔
57
          </li>
1,012✔
58
        </ul>
1,012✔
59
        {this.preferencesOpen ? (
1,012✔
60
          <PreferencesComponent
145✔
61
            preferences={preferences}
145✔
62
            preferencesOpen={this.preferencesOpen}
145✔
63
            onClosePreferences={() => {
145✔
NEW
64
              this.preferencesOpen = false;
×
NEW
65
              m.redraw();
×
NEW
66
            }}
×
67
          />
145✔
68
        ) : null}
867✔
69
      </div>
1,012✔
70
    );
71
  }
1,012✔
72
}
3✔
73

74
export default ToolsComponent;
3✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc