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

jira-helper / jira-helper / 25174290415

30 Apr 2026 03:02PM UTC coverage: 50.779% (+2.9%) from 47.883%
25174290415

push

github

Crazymax11
feat: add Jira comment templates

3610 of 4494 branches covered (80.33%)

Branch coverage included in aggregate %.

2199 of 3036 new or added lines in 40 files covered. (72.43%)

139 existing lines in 5 files now uncovered.

17479 of 37037 relevant lines covered (47.19%)

11.11 hits per line

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

0.0
/src/features/additional-card-elements/BoardBacklogPage.ts
1
import { Token } from 'dioma';
×
2
import { BoardBacklogPagePageObject } from 'src/infrastructure/page-objects/BoardBacklogPage';
3
import { PageModification } from 'src/infrastructure/page-modification/PageModification';
4

5
import { registerSettings } from 'src/features/board-settings/actions/registerSettings';
6
import { AdditionalCardElementsSettings } from './BoardSettings/AdditionalCardElementsSettings';
7
import { loadAdditionalCardElementsBoardProperty } from './BoardSettings/actions/loadAdditionalCardElementsBoardProperty';
8
import { useAdditionalCardElementsBoardPropertyStore } from './stores/additionalCardElementsBoardProperty';
9
import { linkifyEpicLinkBadges, unlinkifyEpicLinkBadges } from './utils/linkifyEpicLinkBadges';
10

11
export class AdditionalCardElementsBoardBacklogPage extends PageModification<void, Element> {
×
12
  getModificationId(): string {
×
UNCOV
13
    return `additional-card-elements-board-backlog-${this.getBoardId()}`;
×
14
  }
×
15

16
  waitForLoading(): Promise<Element> {
×
UNCOV
17
    return this.waitForElement(BoardBacklogPagePageObject.selectors.backlogColumn);
×
18
  }
×
19

20
  loadData() {
×
UNCOV
21
    return loadAdditionalCardElementsBoardProperty();
×
22
  }
×
23

24
  async apply(): Promise<void> {
×
25
    const { AdditionalCardElementsBacklogContainer } = await import(
×
26
      './AdditionalCardElementsBacklogContainer/AdditionalCardElementsBacklogContainer'
×
27
    );
×
28
    let { clickableEpicLinks } = useAdditionalCardElementsBoardPropertyStore.getState().data;
×
29
    const applyEpicLinkClickability = (enabled: boolean) => {
×
30
      document.querySelectorAll(BoardBacklogPagePageObject.selectors.backlogIssueCard).forEach(card => {
×
31
        if (enabled) {
×
UNCOV
32
          linkifyEpicLinkBadges(card);
×
33
        } else {
×
34
          unlinkifyEpicLinkBadges(card);
×
35
        }
×
36
      });
×
37
    };
×
38
    const unsubscribeClickableEpicLinks = useAdditionalCardElementsBoardPropertyStore.subscribe(state => {
×
UNCOV
39
      if (state.data.clickableEpicLinks === clickableEpicLinks) {
×
40
        return;
×
41
      }
×
42

UNCOV
43
      clickableEpicLinks = state.data.clickableEpicLinks;
×
UNCOV
44
      applyEpicLinkClickability(clickableEpicLinks);
×
UNCOV
45
    });
×
UNCOV
46
    this.sideEffects.push(unsubscribeClickableEpicLinks);
×
47

UNCOV
48
    const unlisten = BoardBacklogPagePageObject.listenCards(cards => {
×
UNCOV
49
      cards.forEach(card => {
×
UNCOV
50
        const currentSettings = useAdditionalCardElementsBoardPropertyStore.getState().data;
×
UNCOV
51
        if (currentSettings.clickableEpicLinks) {
×
UNCOV
52
          linkifyEpicLinkBadges(card.getCardElement());
×
UNCOV
53
        }
×
UNCOV
54
        card.attach(AdditionalCardElementsBacklogContainer, 'additional-card-elements-backlog');
×
UNCOV
55
      });
×
UNCOV
56
    });
×
UNCOV
57
    this.sideEffects.push(unlisten);
×
58

UNCOV
59
    registerSettings({
×
UNCOV
60
      title: 'Additional Card Elements',
×
UNCOV
61
      component: AdditionalCardElementsSettings,
×
UNCOV
62
    });
×
UNCOV
63
  }
×
UNCOV
64
}
×
65

UNCOV
66
export const additionalCardElementsBoardBacklogPageToken = new Token<AdditionalCardElementsBoardBacklogPage>(
×
UNCOV
67
  'AdditionalCardElementsBoardBacklogPage'
×
UNCOV
68
);
×
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