Show success message in dialog
The success message shown, if the creation of the service user was
successful, was shown as an alert, which was displayed too short to
read.
Now the success message, if configured, is rendered in a dialog and
readable until the user presses OK.
Change-Id: I484eabe317d8e4a174f4b5e787fd6fe423ef651e
diff --git a/src/main/resources/static/gr-serviceuser-create.html b/src/main/resources/static/gr-serviceuser-create.html
index b6b71fe..de31313 100644
--- a/src/main/resources/static/gr-serviceuser-create.html
+++ b/src/main/resources/static/gr-serviceuser-create.html
@@ -72,6 +72,20 @@
disabled="[[!_enableButton]]">
Create
</gr-button>
+ <gr-overlay id="successDialogOverlay" with-backdrop>
+ <gr-dialog id="successDialog"
+ confirm-label="OK"
+ cancel-label=""
+ on-confirm="_forwardToDetails"
+ confirm-on-enter>
+ <div class="header" slot="header">
+ Success
+ </div>
+ <div class="main" slot="main">
+ [[_successMessage]]
+ </div>
+ </gr-dialog>
+ </gr-overlay>
</main>
</template>
<script src="gr-serviceuser-create.js"></script>
diff --git a/src/main/resources/static/gr-serviceuser-create.js b/src/main/resources/static/gr-serviceuser-create.js
index bc04de5..84fc808 100644
--- a/src/main/resources/static/gr-serviceuser-create.js
+++ b/src/main/resources/static/gr-serviceuser-create.js
@@ -52,12 +52,20 @@
type: Boolean,
value: false,
},
+ _accountId: String,
},
attached() {
this._getConfig();
},
+ _forwardToDetails() {
+ page.show(
+ this.plugin.screenUrl()
+ + '/user/'
+ + this._accountId);
+ },
+
_getConfig() {
return this.plugin.restApi('/config/server/serviceuser~config/').get('')
.then(config => {
@@ -125,13 +133,12 @@
return this.plugin.restApi('/config/server/serviceuser~serviceusers/')
.post(this._newUsername, body)
.then(response => {
+ this._accountId = response._account_id;
if (this._successMessage) {
- this.fire('show-alert', {message: this._successMessage});
+ this.$.successDialogOverlay.open();
+ } else {
+ this._forwardToDetails();
}
- page.show(
- this.plugin.screenUrl()
- + '/user/'
- + response._account_id);
}).catch(response => {
this.fire('show-error', {message: response});
this._isAdding = false;