Skip to content

Commit

Permalink
Update dir.jelly
Browse files Browse the repository at this point in the history
  • Loading branch information
janfaracik committed Feb 29, 2024
1 parent 8037766 commit 7cc0446
Showing 1 changed file with 37 additions and 103 deletions.
140 changes: 37 additions & 103 deletions core/src/main/resources/hudson/model/DirectoryBrowserSupport/dir.jelly
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ THE SOFTWARE.
<d:tag name="items">
<j:forEach var="t" items="${items}" varStatus="st">
<j:set var="x" value="${items.get(items.size() - 1)}"/>
<button class="longhorn-item" data-type="${t.folder ? 'folder' : 'file'}" data-href="${t.href}">
<button class="longhorn-item" data-type="${t.folder ? 'folder' : 'file'}" data-name="${t.title}" data-href="${t.href}" data-view-href="${t.href}/*view*/">
<div class="longhorn-item-icon">
<j:choose>
<j:when test="${t.children == null}">
Expand Down Expand Up @@ -61,7 +61,7 @@ THE SOFTWARE.
<div class="longhorn-sidebar" xmlns:local="local">
<div class="jenkins-app-bar">
<div class="jenkins-app-bar__content">
<h1>${%Workspace}</h1>
<h1><l:breakable value="${it.title}" /></h1>
</div>
<div class="jenkins-app-bar__controls">
<l:overflowButton>
Expand All @@ -88,37 +88,43 @@ THE SOFTWARE.
<local:items items="${f}" />
</j:forEach>
</div>
<div class="longhorn-slider">

</div>
<div class="longhorn-preview">

<div class="file-preview">
<div class="file-preview" style="display: none">
<div class="jenkins-app-bar">
<div class="jenkins-app-bar__content">
<h1>asda.txt</h1>
<h1 id="lafayette">asda.txt</h1>
</div>
<div class="jenkins-app-bar__controls">
<a class="jenkins-button" href="${backPath}${pattern!=''?pattern+'/':''}*zip*/${dir.name}.zip">
<a class="jenkins-button" id="file-download">
<l:icon src="symbol-download"/>
${%Download}
</a>
</div>
</div>
<div class="document">Bacon ipsum dolor amet tri-tip tail ham, flank pork burgdoggen brisket. Leberkas tri-tip alcatra landjaeger beef ribs chuck, beef prosciutto kielbasa ribeye picanha ham hock jerky. Sausage salami picanha pork short ribs, ground round ham tail kielbasa ham hock strip steak chicken. Cow strip steak picanha tail sausage. Pork loin ham hock beef ribs burgdoggen, jerky rump spare ribs corned beef tri-tip shank bresaola salami. Pork loin ham hock turkey t-bone.
<div class="document" id="document">Bacon ipsum dolor amet tri-tip tail ham, flank pork burgdoggen brisket. Leberkas tri-tip alcatra landjaeger beef ribs chuck, beef prosciutto kielbasa ribeye picanha ham hock jerky. Sausage salami picanha pork short ribs, ground round ham tail kielbasa ham hock strip steak chicken. Cow strip steak picanha tail sausage. Pork loin ham hock beef ribs burgdoggen, jerky rump spare ribs corned beef tri-tip shank bresaola salami. Pork loin ham hock turkey t-bone.

Cow biltong doner salami shankle. Beef ribs chicken meatball strip steak. Venison bresaola tail, drumstick beef fatback porchetta beef ribs capicola. Short loin bacon pig pork loin, capicola porchetta chicken cupim shoulder tri-tip rump landjaeger ground round. Sausage doner filet mignon bacon corned beef meatloaf. Chislic salami jerky pork chop turkey fatback bacon.
</div>
</div>

<!-- <div class="no-file">-->
<!-- <l:icon src="symbol-search" />-->
<!-- <span>Select a file on the left to preview it here</span>-->
<!-- </div>-->
<div class="no-file">
<l:icon src="symbol-search" />
<span>Select a file on the left to preview it here</span>
</div>
</div>
</div>

<script>

let selectedFileJs;

const filePreview = document.querySelector(".file-preview");
const noFile = document.querySelector(".no-file");
const h1 = document.querySelector("#lafayette");
const fileDownload = document.querySelector("#file-download");
const doc = document.querySelector("#document");

const folders = document.querySelectorAll("[data-type='folder']")
const files = document.querySelectorAll("[data-type='file']")

Expand Down Expand Up @@ -153,98 +159,26 @@ THE SOFTWARE.
if (selectedFile) {
selectedFile.classList.remove("longhorn-item--selected")
}

file.classList.add("longhorn-item--selected")
})
})
</script>

<!-- <h1><l:breakable value="${it.title}"/></h1>-->
<!-- <div class="dirTree">-->
<!-- &lt;!&ndash; parent path &ndash;&gt;-->
<!-- <div class="parentPath">-->
<!-- <form action="${backPath}" method="get">-->
<!-- <a href="${topPath}">${it.owner.name}</a> /-->
<!-- <j:forEach var="p" items="${parentPath}">-->
<!-- <a href="${p.href}">${p.title}</a>-->
<!-- /-->
<!-- </j:forEach>-->
<!-- <input type="text" name="pattern" value="${pattern}" class="jenkins-input" />-->
<!-- <button class="jenkins-button">-->
<!-- <l:icon src="symbol-arrow-right" />-->
<!-- </button>-->
<!-- </form>-->
<!-- </div>-->
<!-- <j:choose>-->
<!-- <j:when test="${empty(files)}">-->
<!-- ${%No files in directory}-->
<!-- <j:if test="${showSymlinkWarning}">-->
<!-- <p>-->
<!-- <img id="symlinkalert" src="${imagesURL}/svgs/warning.svg" width="16" height="16" />-->
<!-- ${%Symlinks are hidden}-->
<!-- </p>-->
<!-- </j:if>-->
<!-- </j:when>-->
<!-- <j:otherwise>-->
<!-- <table class="fileList">-->
<!-- <j:forEach var="f" items="${files}">-->
<!-- <j:set var="x" value="${f.get(f.size()-1)}"/>-->
<!-- <tr>-->
<!-- <td>-->
<!-- <l:icon class="${x.iconClassName} icon-sm"/>-->
<!-- </td>-->
<!-- <td>-->
<!-- <j:forEach var="t" items="${f}" varStatus="st">-->

<!-- <j:choose>-->
<!-- <j:when test="${x.readable}">-->
<!-- <a href="${t.href}">${t.title}</a>-->
<!-- </j:when>-->
<!-- <j:otherwise>-->
<!-- ${t.title}-->
<!-- </j:otherwise>-->
<!-- </j:choose>-->

<!-- <j:if test="${!st.last}">/</j:if>-->
<!-- </j:forEach>-->
<!-- </td>-->
<!-- <j:if test="${!x.folder}">-->
<!-- <td class="fileSize">-->
<!-- <j:if test="${x.lastModifiedAsCalendar.timeInMillis &gt; 0}">-->
<!-- <i:formatDate value="${x.lastModifiedAsCalendar.time}" type="both" dateStyle="medium" timeStyle="medium"/>-->
<!-- </j:if>-->
<!-- <j:if test="${x.lastModifiedAsCalendar.timeInMillis &lt;= 0}">-->
<!-- ${%N/A}-->
<!-- </j:if>-->
<!-- </td>-->
<!-- <td class="fileSize">-->
<!-- ${h.humanReadableByteSize(x.getSize())}-->
<!-- </td>-->
<!-- <td style="display: flex; gap: 1rem;">-->
<!-- <j:if test="${x.readable}">-->
<!-- <j:if test="${app.fingerprintMap.ready}">-->
<!-- <a class="jenkins-link&#45;&#45;with-icon" href="${x.href}/*fingerprint*/" tooltip="${%View fingerprint}">-->
<!-- <l:icon class="symbol-fingerprint" />-->
<!-- </a>-->
<!-- </j:if>-->
<!-- <a class="jenkins-link&#45;&#45;with-icon" href="${x.href}/*view*/" tooltip="${%View}">-->
<!-- <l:icon src="symbol-view" />-->
<!-- </a>-->
<!-- </j:if>-->
<!-- </td>-->
<!-- </j:if>-->
<!-- </tr>-->
<!-- </j:forEach>-->
<!-- </table>-->
<!-- <j:if test="${showSymlinkWarning}">-->
<!-- <p>-->
<!-- <img id="alert" src="${imagesURL}/svgs/warning.svg" width="16" height="16" />-->
<!-- ${%Symlinks are hidden}-->
<!-- </p>-->
<!-- </j:if>-->
<!-- </j:otherwise>-->
<!-- </j:choose>-->
<!-- </div>-->
selectedFileJs = {
name: file.dataset.name,
downloadHref: file.dataset.viewHref
}

h1.innerText = selectedFileJs.name
fileDownload.href = selectedFileJs.downloadHref;
filePreview.style.display = 'block';
noFile.style.display = 'none';
fetch(selectedFileJs.downloadHref).then((rsp) => {
if (rsp.ok) {
rsp.text().then((responseText) => {
doc.innerText = responseText;
})
}
})
})})
</script>
</l:main-panel>
</l:layout>
</j:jelly>

0 comments on commit 7cc0446

Please sign in to comment.