Set visible only on demand By not being visible by default, but only on demand, we help parent containers to hide themselves if they would not show content. Change-Id: I5551f448eb7e1456c0e6e2e90ceed6446d00d484
diff --git a/gr-zuul/gr-zuul.js b/gr-zuul/gr-zuul.js index 9bcd761..4afc62b 100644 --- a/gr-zuul/gr-zuul.js +++ b/gr-zuul/gr-zuul.js
@@ -30,6 +30,11 @@ type: Object, observer: '_onChangeChanged', }, + hidden: { + type: Boolean, + value: true, + reflectToAttribute: true, + }, _crd: { type: Object, value: {}, @@ -43,13 +48,26 @@ _onChangeChanged() { this._crd_loaded = false; + this.setHidden(true); const url = '/changes/' + this.change.id + '/revisions/current/crd'; return this.plugin.restApi().send('GET', url).then(crd => { this._crd = crd; this._crd_loaded = true; + this.setHidden(!(crd.depends_on.length || crd.needed_by.length)); }); } + setHidden(hidden) { + if (this.hidden != hidden) { + this.hidden = hidden; + + // Flag to parents that something changed + this.dispatchEvent(new CustomEvent('new-section-loaded', { + composed: true, bubbles: true, + })); + } + } + _computeDependencyUrl(changeId) { return Gerrit.Nav.getUrlForSearchQuery(changeId); }