mirror of https://git.wownero.com/dsc/mxe.git
Merge pull request #638 from TobiX/index-versions-cache
index.html versions cache
This commit is contained in:
commit
8cf0795e34
|
@ -4,5 +4,6 @@
|
|||
/gits/
|
||||
/log*/
|
||||
/pkg
|
||||
/versions.json
|
||||
/wip/
|
||||
/tmp-*
|
||||
|
|
11
Makefile
11
Makefile
|
@ -508,7 +508,7 @@ show-upstream-deps-%:
|
|||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf $(call TMP_DIR,*) $(PREFIX) build-matrix.html
|
||||
rm -rf $(call TMP_DIR,*) $(PREFIX) build-matrix.html versions.json
|
||||
|
||||
.PHONY: clean-pkg
|
||||
clean-pkg:
|
||||
|
@ -664,3 +664,12 @@ build-matrix.html: $(foreach PKG,$(PKGS), $(TOP_DIR)/src/$(PKG).mk)
|
|||
@echo '</table>' >> $@
|
||||
@echo '</body>' >> $@
|
||||
@echo '</html>' >> $@
|
||||
|
||||
|
||||
versions.json: $(foreach PKG,$(PKGS), $(TOP_DIR)/src/$(PKG).mk)
|
||||
@echo '{' > $@
|
||||
@{$(foreach PKG,$(PKGS), \
|
||||
echo ' "$(PKG)": \
|
||||
"$($(PKG)_VERSION)",';)} >> $@
|
||||
@echo ' "": null' >> $@
|
||||
@echo '}' >> $@
|
||||
|
|
36
index.html
36
index.html
|
@ -2565,6 +2565,25 @@ local-pkg-list: $(LOCAL_PKG_LIST)</pre>
|
|||
})();
|
||||
}
|
||||
}
|
||||
function loadVersionCache(doneCallback, errCallback) {
|
||||
var request = new XMLHttpRequest();
|
||||
request.open('GET', 'versions.json', true);
|
||||
request.onreadystatechange = function reqCallback() {
|
||||
if (request.readyState === 4) {
|
||||
if (request.status === 200) {
|
||||
try {
|
||||
var versions = JSON.parse(request.responseText);
|
||||
doneCallback(versions);
|
||||
} catch (e) {
|
||||
errCallback();
|
||||
}
|
||||
} else {
|
||||
errCallback();
|
||||
}
|
||||
}
|
||||
}
|
||||
request.send();
|
||||
}
|
||||
function resolveVersions(versions) {
|
||||
var resolvedVersions = {};
|
||||
for (var package in versions) {
|
||||
|
@ -2582,16 +2601,27 @@ local-pkg-list: $(LOCAL_PKG_LIST)</pre>
|
|||
for (package in packageElements) {
|
||||
var element = packageElements[package];
|
||||
var version = resolvedVersions[package];
|
||||
var shorten = version.length > 12;
|
||||
if (shorten) {
|
||||
version = version.substring(0, 12);
|
||||
}
|
||||
var versionEscaped = version.replace('&', '&').replace('<', '<').replace('>', '>');
|
||||
if (shorten) {
|
||||
versionEscaped += '…';
|
||||
}
|
||||
var versionHtml = '<td class="version">' + versionEscaped + '</td>';
|
||||
element.insertAdjacentHTML('afterend', versionHtml);
|
||||
}
|
||||
}
|
||||
(function main() {
|
||||
var packageElements = getPackageElements();
|
||||
loadVersions(packageElements, function doneCallback(versions) {
|
||||
var resolvedVersions = resolveVersions(versions);
|
||||
showVersions(packageElements, resolvedVersions);
|
||||
loadVersionCache(function doneCallback(versions) {
|
||||
showVersions(packageElements, versions);
|
||||
}, function errCallback() {
|
||||
loadVersions(packageElements, function doneCallback(versions) {
|
||||
var resolvedVersions = resolveVersions(versions);
|
||||
showVersions(packageElements, resolvedVersions);
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
|
|
Loading…
Reference in New Issue