diff --git a/src/tags/app.tag b/src/tags/app.tag
index 9c7750a..cb6a8bd 100644
--- a/src/tags/app.tag
+++ b/src/tags/app.tag
@@ -199,6 +199,7 @@ along with this program. If not, see .
const image = new registryUI.DockerImage(self.name, manifest.digest)
registryUI.eventTransfer(image, self)
image.fillInfo()
+ self.variants = [image];
return;
}
self.size = response.layers.reduce(function(acc, e) {
diff --git a/src/tags/tag-history.tag b/src/tags/tag-history.tag
index 7636777..8765e50 100644
--- a/src/tags/tag-history.tag
+++ b/src/tags/tag-history.tag
@@ -29,7 +29,7 @@ along with this program. If not, see .
-
+
@@ -116,6 +116,27 @@ along with this program. If not, see .
self.update();
};
+ const multiArchList = function(manifests) {
+ manifests = manifests.manifests || manifests;
+ self.archs = manifests.map(function(manifest) {
+ return {
+ title: manifest.platform.os + '/' + manifest.platform.architecture + (manifest.platform.variant ? manifest.platform.variant : ''),
+ digest: manifest.digest
+ }
+ })
+ self.update();
+ }
+
+ self.tabchanged = function(arch, idx) {
+ self.elements = []
+ self.image.variants[idx] = self.image.variants[idx] || new registryUI.DockerImage(registryUI.taghistory.image, arch.digest);
+ if (self.image.variants[idx].blobs) {
+ return processBlobs(self.image.variants[idx].blobs);
+ }
+ self.image.variants[idx].fillInfo();
+ self.image.variants[idx].on('blobs', processBlobs);
+ }
+
registryUI.taghistory.display = function() {
self.elements = []
const blobs = registryUI.taghistory._image && registryUI.taghistory._image.blobs;
@@ -123,9 +144,10 @@ along with this program. If not, see .
window.scrollTo(0, 0);
return processBlobs(blobs);
}
- const image = new registryUI.DockerImage(registryUI.taghistory.image, registryUI.taghistory.tag, true);
- image.fillInfo()
- image.on('blobs', processBlobs);
+ self.image = new registryUI.DockerImage(registryUI.taghistory.image, registryUI.taghistory.tag, true);
+ self.image.fillInfo()
+ self.image.on('blobs', processBlobs);
+ self.image.on('list', multiArchList)
};
this.on('mount', function() {