Hide image diff if revision or base is missing
Change-Id: Ibd5a63794908f3284f94b7175d956ccf8e465600
diff --git a/gr-image-diff-tool/gr-image-diff-tool.html b/gr-image-diff-tool/gr-image-diff-tool.html
index 55d1c46..6d96b86 100644
--- a/gr-image-diff-tool/gr-image-diff-tool.html
+++ b/gr-image-diff-tool/gr-image-diff-tool.html
@@ -22,13 +22,13 @@
<style>
:host {
background-color: #f5f5f5;
- border-top: 1px solid var(--border-color, #ddd);
font-family: var(--font-family);
display: block;
}
#header {
align-items: center;
border-bottom: 1px solid var(--border-color, #ddd);
+ border-top: 1px solid var(--border-color, #ddd);
display: inline-flex;
padding: .5em;
width: 100%;
@@ -45,7 +45,6 @@
padding: 0 .15em;
}
</style>
-
<div id="header">
<h3>Image Diff</h3>
<select value="{{_observeMode::change}}" id="dropdown">
@@ -53,13 +52,11 @@
<option value="opacity">Opacity Mode</option>
</select>
</div>
-
<template is="dom-if" if="[[_showResembleMode]]" restamp="true">
<gr-resemble-diff-mode
base-image="[[baseImage]]"
revision-image="[[revisionImage]]"></gr-resemble-diff-mode>
</template>
-
<template is="dom-if" if="[[_showOpacityMode]]" restamp="true">
<gr-opacity-diff-mode
base-image="[[baseImage]]"
@@ -67,4 +64,4 @@
</template>
</template>
<script src="gr-image-diff-tool.js"></script>
-</dom-module>
\ No newline at end of file
+</dom-module>
diff --git a/gr-image-diff-tool/gr-image-diff-tool.js b/gr-image-diff-tool/gr-image-diff-tool.js
index 95df491..811db7c 100644
--- a/gr-image-diff-tool/gr-image-diff-tool.js
+++ b/gr-image-diff-tool/gr-image-diff-tool.js
@@ -23,6 +23,13 @@
is: 'gr-image-diff-tool',
properties: {
+ baseImage: Object,
+ revisionImage: Object,
+ hidden: {
+ type: Boolean,
+ value: false,
+ reflectToAttribute: true,
+ },
_showResembleMode: Boolean,
_showOpacityMode: Boolean,
_observeMode: {
@@ -32,6 +39,10 @@
},
attached() {
+ if (!this.baseImage || !this.revisionImage) {
+ // No need to show the diff tool if there are no images.
+ this.hidden = true;
+ }
const diff_mode = this._getMode();
diff_mode === DiffModes.OPACITY ?
this._displayOpacityMode() : this._displayResembleMode();
@@ -64,4 +75,4 @@
this._setMode(DiffModes.OPACITY);
},
});
-})();
\ No newline at end of file
+})();
diff --git a/gr-image-diff-tool/gr-image-diff-tool_test.html b/gr-image-diff-tool/gr-image-diff-tool_test.html
index ec1a4be..645422a 100644
--- a/gr-image-diff-tool/gr-image-diff-tool_test.html
+++ b/gr-image-diff-tool/gr-image-diff-tool_test.html
@@ -41,8 +41,9 @@
let sandbox;
setup(() => {
- element = fixture('basicFixture');
sandbox = sinon.sandbox.create();
+ element = fixture('basicFixture');
+ flushAsynchronousOperations();
});
teardown(() => { sandbox.restore(); });
@@ -79,4 +80,4 @@
assert.equal(element._setMode.callCount, 3);
});
});
-</script>
\ No newline at end of file
+</script>