Files snapshot from branch-globs
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
ec91a0 Tucker McKnight
79d4a6 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
79d4a6 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
79d4a6 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
be0819 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
79d4a6 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
79d4a6 Tucker McKnight
612263 Tucker McKnight
738e52 Tucker McKnight
612263 Tucker McKnight
523feb Tucker McKnight
523feb Tucker McKnight
523feb Tucker McKnight
628208 Tucker McKnight
612263 Tucker McKnight
523feb Tucker McKnight
523feb Tucker McKnight
be0819 Tucker McKnight
be0819 Tucker McKnight
612263 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
523feb Tucker McKnight
523feb Tucker McKnight
738e52 Tucker McKnight
79d4a6 Tucker McKnight
612263 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
79d4a6 Tucker McKnight
738e52 Tucker McKnight
79d4a6 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
738e52 Tucker McKnight
c96099 Tucker McKnight
79d4a6 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
79d4a6 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
79d4a6 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
79d4a6 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
79d4a6 Tucker McKnight
600ca7 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
600ca7 Tucker McKnight
600ca7 Tucker McKnight
600ca7 Tucker McKnight
600ca7 Tucker McKnight
b94151 Tucker McKnight
600ca7 Tucker McKnight
600ca7 Tucker McKnight
909f38 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
738e52 Tucker McKnight
738e52 Tucker McKnight
612263 Tucker McKnight
79d4a6 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
be0819 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
612263 Tucker McKnight
6bdf18 Tucker McKnight
6bdf18 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
c96099 Tucker McKnight
import branchesListItems from '../dist/js_templates/common/branchesListItems.js'
const setCheckbox = window.setCheckbox
const currentTheme = window.currentTheme
if (setCheckbox) {
setCheckbox(currentTheme, document.getElementById('dark-mode-switch'))
}
const copyCommand = (event) => {
const elem = event.target
const cloneText = elem.dataset.copyText
const originalInnerText = elem.innerText
navigator.clipboard.writeText(cloneText).then(() => {
elem.innerText = "Copied"
})
window.setTimeout(() => {
elem.innerText = originalInnerText
}, 5000)
}
const createClonePopover = (popoverBtn, url) => {
const div = document.createElement('div')
// div.id = "clone-popover"
div.innerHTML = `
<label class='form-label'>HTTPS URL</label>
<div class='input-group d-flex flex-nowrap'>
<span class='clone overflow-scroll input-group-text'>${url || window.cloneUrl}</span>
<button data-copy-text='${url || window.cloneUrl}' class='btn btn-primary shadow-none text-white' id='copy-button'>Copy</button>
</div>`
div.querySelector("#copy-button").addEventListener('click', copyCommand)
// const popoverBtn = document.querySelector(".clone-popover-btn")
const bsPopover = new bootstrap.Popover(popoverBtn, {
sanitize: false,
html: true,
content: div,
title: 'Clone',
placement: 'bottom',
container: 'body',
})
window.popovers.push(bsPopover)
}
const toggleLastTouch = (event) => {
const isOn = event.target.checked
setShowLastTouch(isOn)
}
const toggleRenderedContent = (event) => {
const isOn = event.target.checked
setRenderedContent(isOn)
}
const renderedContent = document.querySelector(".rendered-content")
const codeContent = document.querySelector(".code-content")
const annotations = document.getElementById("annotations")
const setShowLastTouch = (isOn) => {
if (isOn) {
annotations.classList.remove("d-none")
} else {
annotations.classList.add("d-none")
}
}
const setRenderedContent = (isOn) => {
if (isOn) {
renderedContent.classList.remove("d-none")
codeContent.classList.add("d-none")
} else {
renderedContent.classList.add("d-none")
codeContent.classList.remove("d-none")
}
}
document.getElementById("showLastTouch")?.addEventListener('click', toggleLastTouch)
document.getElementById("showRenderedContent")?.addEventListener('click', toggleRenderedContent)
const copyPull = (event) => {
const hash = event.target.dataset.hash
const copiedAlert = document.createElement('span')
copiedAlert.innerText = "Copied"
navigator.clipboard.writeText(hash).then(() => {
event.target.parentElement.appendChild(copiedAlert)
})
window.setTimeout(() => {
copiedAlert.remove()
}, 5000)
}
document.querySelectorAll(".copy-btn").forEach((element) => {
element.addEventListener("click", copyPull)
})
const dropdownBranchesResults = document.getElementById('dropdown-branches-results')
const searchBox = document.getElementById('dropdownBranchSearch')
searchBox?.addEventListener('input', (event) => {
const searchTerm = event.target.value
let branches = window.branchesWithHrefs.filter((branch) => {
return branch.name.includes(searchTerm)
})
dropdownBranchesResults.innerHTML = branchesListItems(branches, window.defaultBranch, window.currentBranch, sortDirection)
})
let sortDirection = document.querySelector("[name=branchSort]:checked")?.value || 'date'
const showBranchesResults = (searchTerm) => {
let branches = window.branchesWithHrefs.filter((branch) => {
return branch.name.includes(searchTerm)
})
dropdownBranchesResults.innerHTML = branchesListItems(branches, window.defaultBranch, window.currentBranch, sortDirection)
}
document.querySelectorAll('.sort-filter').forEach((element) => {
element.addEventListener('change', (event) => {
sortDirection = event.target.value
showBranchesResults(searchBox.value)
})
})
const bootstrap = window.bootstrap
const jsVars = window.jsVars
window.popovers ||= []
document.querySelectorAll('.clone-popover-btn').forEach((button) => {
createClonePopover(button, button.dataset['copyText'])
})
document.querySelectorAll(".copy-button").forEach((button) => {
button.addEventListener('click', copyCommand)
})
document.addEventListener('click', (event) => {
const target = event.target
// If they didn't click the .clone-popover-btn or if we're not inside of
// popover, or if we *are* inside of a popover but a different one than the
// current one, then close the popover.
const parentPopover = target.closest(".popover")
if (
!target.classList.contains("clone-popover-btn")
&& parentPopover === null
) {
window.popovers.forEach(popover => popover.hide())
}
})
showBranchesResults(searchBox.value)
const pageLoadLastTouch = document.getElementById("showLastTouch")
if (pageLoadLastTouch) {
setShowLastTouch(pageLoadLastTouch.checked)
}
const pageLoadRenderedContent = document.getElementById("showRenderedContent")
if (pageLoadRenderedContent) {
setRenderedContent(pageLoadRenderedContent.checked)
}