Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
70 lines
1.7 KiB
JavaScript
70 lines
1.7 KiB
JavaScript
/* global define */
|
|
;(function(define){'use strict';define(function(require,exports,module){
|
|
|
|
/**
|
|
* Dependencies
|
|
*/
|
|
|
|
var GaiaDialogProto = require('gaia-dialog').prototype;
|
|
var component = require('gaia-component');
|
|
|
|
/**
|
|
* Exports
|
|
*/
|
|
module.exports = component.register('gaia-dialog-confirm', {
|
|
created: function() {
|
|
this.setupShadowRoot();
|
|
|
|
this.els = {
|
|
dialog: this.shadowRoot.querySelector('gaia-dialog'),
|
|
submit: this.shadowRoot.querySelector('.submit'),
|
|
cancel: this.shadowRoot.querySelector('.cancel')
|
|
};
|
|
|
|
this.els.cancel.addEventListener('click', this.close.bind(this));
|
|
this.els.submit.addEventListener('click', this.close.bind(this));
|
|
},
|
|
|
|
open: function(e) {
|
|
return GaiaDialogProto.show.call(this)
|
|
.then(() => this.els.dialog.open(e));
|
|
},
|
|
|
|
close: function() {
|
|
// First close (hide) inner dialog and then the container.
|
|
return this.els.dialog.close()
|
|
.then(GaiaDialogProto.hide.bind(this));
|
|
},
|
|
|
|
template: `
|
|
<gaia-dialog>
|
|
<section>
|
|
<p><content></content></p>
|
|
</section>
|
|
<fieldset>
|
|
<button class="cancel">Cancel</button>
|
|
<button class="submit danger">Confirm</button>
|
|
</fieldset>
|
|
</gaia-dialog>
|
|
|
|
<style>
|
|
|
|
:host {
|
|
display: none;
|
|
}
|
|
|
|
:host[opened],
|
|
:host.animating {
|
|
display: block;
|
|
position: fixed;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
</style>`
|
|
});
|
|
|
|
});})(typeof define=='function'&&define.amd?define
|
|
:(function(n,w){'use strict';return typeof module=='object'?function(c){
|
|
c(require,exports,module);}:function(c){var m={exports:{}};c(function(n){
|
|
return w[n];},m.exports,m);w[n]=m.exports;};})('gaia-dialog-confirm',this));
|