Skip to content

Commit 6955838

Browse files
authored
Added collapsible GA and Preview in each artifact. (Azure#17041)
1 parent 8b45e62 commit 6955838

File tree

2 files changed

+76
-15
lines changed

2 files changed

+76
-15
lines changed

eng/docgeneration/templates/matthews/styles/main.css

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,35 @@ article h4 {
255255
.navbar-inverse .navbar-link:hover {
256256
color: #ecdbff;
257257
}
258+
.versionarrow {
259+
margin-left: 0.8em;
260+
margin-top: -1.5em;
261+
margin-bottom: -1em;
262+
padding: 1em;
263+
}
264+
265+
.versionarrow::before {
266+
position: absolute;
267+
content: '';
268+
width: 0;
269+
height: 0;
270+
border: .5em solid transparent;
271+
border-left-color: gray;
272+
transform-origin: 0 50%;
273+
transition: transform .1s;
274+
margin-top: 0.2em;
275+
}
276+
277+
278+
.versionarrow.disable {
279+
text-decoration: line-through;
280+
}
281+
282+
.versionarrow.down::before {
283+
transform: rotate(90deg);
284+
margin-top: 0em;
285+
transition: transform .1s;
286+
}
258287

259288
@media (max-width: 767px) {
260289
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {

eng/docgeneration/templates/matthews/styles/main.js

Lines changed: 47 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ $(function () {
6868
})
6969

7070
function httpGetAsync(targetUrl, callback) {
71+
console.log(targetUrl);
7172
var xmlHttp = new XMLHttpRequest();
7273
xmlHttp.onreadystatechange = function () {
7374
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
@@ -77,25 +78,56 @@ function httpGetAsync(targetUrl, callback) {
7778
xmlHttp.send(null);
7879
}
7980

80-
function populateIndexList(selector, packageName) {
81-
url = "https://azuresdkdocs.blob.core.windows.net/$web/" + SELECTED_LANGUAGE + "/" + packageName + "/versioning/versions"
82-
83-
httpGetAsync(url, function (responseText) {
84-
85-
var publishedversions = document.createElement("ul")
81+
function httpGetLatestAsync(targetUrl, latestVersions, packageName) {
82+
httpGetAsync(targetUrl, function (responseText) {
8683
if (responseText) {
87-
options = responseText.match(/[^\r\n]+/g)
84+
version = responseText.match(/[^\r\n]+/g)
85+
$(latestVersions).append('<li><a href="' + getPackageUrl(SELECTED_LANGUAGE, packageName, version) + '" target="_blank">' + version + '</a></li>')
86+
}
87+
})
88+
}
8889

89-
for (var i in options) {
90-
$(publishedversions).append('<li><a href="' + getPackageUrl(SELECTED_LANGUAGE, packageName, options[i]) + '" target="_blank">' + options[i] + '</a></li>')
91-
}
90+
function populateIndexList(selector, packageName) {
91+
var url = "https://azuresdkdocs.blob.core.windows.net/$web/" + SELECTED_LANGUAGE + "/" + packageName + "/versioning/versions"
92+
var latestGAUrl = "https://azuresdkdocs.blob.core.windows.net/$web/" + SELECTED_LANGUAGE + "/" + packageName + "/versioning/latest-ga"
93+
var latestPreviewUrl = "https://azuresdkdocs.blob.core.windows.net/$web/" + SELECTED_LANGUAGE + "/" + packageName + "/versioning/latest-preview"
94+
var latestVersions = document.createElement("ul")
95+
httpGetLatestAsync(latestGAUrl, latestVersions, packageName)
96+
httpGetLatestAsync(latestPreviewUrl, latestVersions, packageName)
97+
var publishedVersions = $('<ul style="display: none;"></ul>')
98+
var collapsible = $('<div class="versionarrow">&nbsp;&nbsp;&nbsp;Other versions</div>')
99+
100+
$(selector).after(latestVersions)
101+
$(latestVersions).after(collapsible)
102+
$(collapsible).after(publishedVersions)
103+
104+
$(collapsible).on('click', function(event) {
105+
event.preventDefault();
106+
if (collapsible.hasClass('disable')) {
107+
return
92108
}
93-
else {
94-
$(publishedversions).append('<li>No discovered versions present in blob storage.</li>')
109+
$(this).toggleClass('down')
110+
if ($(this).hasClass('down')) {
111+
if (!$(selector).hasClass('loaded')){
112+
httpGetAsync(url, function (responseText) {
113+
if (responseText) {
114+
options = responseText.match(/[^\r\n]+/g)
115+
for (var i in options) {
116+
$(publishedVersions).append('<li><a href="' + getPackageUrl(SELECTED_LANGUAGE, packageName, options[i]) + '" target="_blank">' + options[i] + '</a></li>')
117+
118+
}
119+
}
120+
else {
121+
$(publishedVersions).append('<li>No discovered versions present in blob storage.</li>')
122+
}
123+
$(selector).addClass("loaded")
124+
})
125+
}
126+
$(publishedVersions).show()
127+
} else {
128+
$(publishedVersions).hide()
95129
}
96-
97-
$(selector).after(publishedversions)
98-
})
130+
});
99131
}
100132

101133
function getPackageUrl(language, package, version) {

0 commit comments

Comments
 (0)