-
Notifications
You must be signed in to change notification settings - Fork 0
/
card-id.js
76 lines (69 loc) · 2.09 KB
/
card-id.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import { trelloUrl } from "./trello-ui.js";
import {
cardLinkChanged,
cardOpened,
cardOpenedAlready
} from "./board-events.js";
document.body.addEventListener(
"agile-popup-form",
function(e) {
console.log("agile-popup-form EVENT: ", e.detail);
document.querySelectorAll(".agile-trello-card-number").forEach(element => {
element.setAttribute("style", `color: ${e.detail.idForeground}`);
});
document.querySelectorAll(".agile-trello-card-points").forEach(element => {
element.setAttribute(
"style",
`background-color: ${e.detail.pointsBackground}`
);
});
},
false
);
export function updateCardId(changedElement) {
if (cardLinkChanged(changedElement)) {
showCardId(changedElement.target);
}
}
export function showOpenCardId(changedElement) {
if (cardOpened(changedElement)) {
addOpenCardId(changedElement.target);
}
if (cardOpenedAlready(changedElement)) {
const cardAlreadyOpen = document.getElementsByClassName(
"card-detail-window"
)[0];
if (cardAlreadyOpen) addOpenCardId(cardAlreadyOpen);
}
}
const OPEN_CARD_CSS_CLASS = "agile-trello-open-card-number";
const BOARD_CARD_CSS_CLASS = "agile-trello-card-number";
function addOpenCardId(card) {
const cardNumberElement = card.getElementsByClassName(OPEN_CARD_CSS_CLASS)[0];
const newCardNumber = cardNumberView(card.baseURI, OPEN_CARD_CSS_CLASS);
if (cardNumberElement) {
cardNumberElement.innerText = newCardNumber.innerText;
} else {
card.prepend(newCardNumber);
}
}
function showCardId(card) {
const cardNumberElement = card.getElementsByClassName(
BOARD_CARD_CSS_CLASS
)[0];
const newCardNumber = cardNumberView(
card.getAttribute("href"),
BOARD_CARD_CSS_CLASS
);
if (cardNumberElement) {
cardNumberElement.innerText = newCardNumber.innerText;
} else {
card.prepend(newCardNumber);
}
}
function cardNumberView(cardUrl, cssClass) {
const trelloNumber = document.createElement("div");
trelloNumber.setAttribute("class", cssClass);
trelloNumber.innerText = "#" + trelloUrl.getCardNumber(cardUrl);
return trelloNumber;
}