UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

121 lines (120 loc) 11.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Injectable } from '@angular/core'; /** * <p style="text-indent: 2em;"> * A <code>ng</code> service used for displaying <code>application</code> modal dialog on the screen. This service class only delegates * method calls to [[PhloxApp]] component allowing you to control the dialog anywhere entire the <code>application</code>. For example, * from the component loaded by <code>router</code> where the [[PhloxApp]] component instance could not be referred directly, * <code>this</code> service will be helpful in allowing you to control the dialog via <code>this</code> service. * </p> * * @author shiorin, tee4cute * @see [[PhloxDialog]] * @see [[PhloxApp]] */ export class DialogService { /** * <p style="text-indent: 1em;"> * Initialize <code>this</code> service and bind it with the given <code><b>phloxApp</b></code> instance. All method calls of <code>this</code> * service will be delegate to the given <code>application</code> instance. Please note that this method is intended to be used internally by * <code>PhloxUI</code> framework. So, <b>you should NOT use this method</b> in normal situations. * </p> * * @see [[PhloxApp]] * @param {?} phloxApp * @return {?} */ init(phloxApp) { this.phloxApp = phloxApp; } /** * <p style="text-indent: 1em;"> * Hide the showing <code>application</code> dialog. This method only delegates method call to [[PhloxDialog.hideDialog]]. * </p> * * @see [[PhloxDialog.hideDialog]] * @return {?} */ hideDialog() { if (this.phloxApp === null || typeof this.phloxApp === 'undefined') { return; } this.phloxApp.hideDialog(); } /** * <p style="text-indent: 1em;"> * Show the confirmation dialog. This method only delegates method call to [[PhloxDialog.showConfirmDialog]]. * </p> * * @see [[PhloxDialog.showConfirmDialog]] * @param {?} title * @param {?} message * @param {?} showCancelBtn * @param {?=} width * @param {?=} height * @return {?} */ showConfirmDialog(title, message, showCancelBtn, width, height) { if (this.phloxApp === null || typeof this.phloxApp === 'undefined') { return new Promise((resolve, reject) => { reject('The PhloxApp instance is not initialized.'); }); } return this.phloxApp.showConfirmDialog(title, message, showCancelBtn, width, height); } /** * <p style="text-indent: 1em;"> * Show the message dialog. This method only delegates method call to [[PhloxDialog.showMessageDialog]]. * </p> * * @see [[PhloxDialog.showMessageDialog]] * @param {?} title * @param {?} message * @param {?=} width * @param {?=} height * @return {?} */ showMessageDialog(title, message, width, height) { if (this.phloxApp === null || typeof this.phloxApp === 'undefined') { return new Promise((resolve, reject) => { reject('The PhloxApp instance is not initialized.'); }); } return this.phloxApp.showMessageDialog(title, message, width, height); } /** * <p style="text-indent: 1em;"> * Show the component dialog. This method only delegates method call to [[PhloxDialog.showComponentDialog]]. * </p> * * @see [[PhloxDialog.showComponentDialog]] * @param {?} componentDialogModel * @return {?} */ showComponentDialog(componentDialogModel) { if (this.phloxApp === null || typeof this.phloxApp === 'undefined') { return new Promise((resolve, reject) => { reject('The PhloxApp instance is not initialized.'); }); } return this.phloxApp.showComponentDialog(componentDialogModel); } } DialogService.decorators = [ { type: Injectable }, ]; function DialogService_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ DialogService.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ DialogService.ctorParameters; /** @type {?} */ DialogService.prototype.phloxApp; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlhbG9nU2VydmljZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvc2VydmljZS9EaWFsb2dTZXJ2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVEsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFrQmpELE1BQU07Ozs7Ozs7Ozs7OztJQWFLLElBQUksQ0FBQyxRQUFrQjtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQzs7Ozs7Ozs7OztJQVV0QixVQUFVO1FBQ2IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDakUsTUFBTSxDQUFDO1NBQ1Y7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7SUFVeEIsaUJBQWlCLENBQUMsS0FBYSxFQUFFLE9BQWUsRUFBRSxhQUFzQixFQUFFLEtBQWMsRUFBRSxNQUFlO1FBQzVHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDbkMsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUM7YUFDdkQsQ0FBQyxDQUFDO1NBQ047UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0lBVWxGLGlCQUFpQixDQUFDLEtBQWEsRUFBRSxPQUFlLEVBQUUsS0FBYyxFQUFFLE1BQWU7UUFDcEYsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDakUsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUNuQyxNQUFNLENBQUMsMkNBQTJDLENBQUMsQ0FBQzthQUN2RCxDQUFDLENBQUM7U0FDTjtRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDOzs7Ozs7Ozs7OztJQVVuRSxtQkFBbUIsQ0FBQyxvQkFBMEM7UUFDakUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDakUsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUNuQyxNQUFNLENBQUMsMkNBQTJDLENBQUMsQ0FBQzthQUN2RCxDQUFDLENBQUM7U0FDTjtRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLENBQUM7Ozs7WUFqRnRFLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBobG94QXBwIH0gZnJvbSAnLi4vY29tcG9uZW50L1BobG94QXBwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnREaWFsb2dNb2RlbCB9IGZyb20gJy4uL2NvbXBvbmVudC9tb2RlbC9Db21wb25lbnREaWFsb2dNb2RlbCc7XG5cbi8qKlxuICogPHAgc3R5bGU9XCJ0ZXh0LWluZGVudDogMmVtO1wiPlxuICogQSA8Y29kZT5uZzwvY29kZT4gc2VydmljZSB1c2VkIGZvciBkaXNwbGF5aW5nIDxjb2RlPmFwcGxpY2F0aW9uPC9jb2RlPiBtb2RhbCBkaWFsb2cgb24gdGhlIHNjcmVlbi4gVGhpcyBzZXJ2aWNlIGNsYXNzIG9ubHkgZGVsZWdhdGVzXG4gKiBtZXRob2QgY2FsbHMgdG8gW1tQaGxveEFwcF1dIGNvbXBvbmVudCBhbGxvd2luZyB5b3UgdG8gY29udHJvbCB0aGUgZGlhbG9nIGFueXdoZXJlIGVudGlyZSB0aGUgPGNvZGU+YXBwbGljYXRpb248L2NvZGU+LiBGb3IgZXhhbXBsZSxcbiAqIGZyb20gdGhlIGNvbXBvbmVudCBsb2FkZWQgYnkgPGNvZGU+cm91dGVyPC9jb2RlPiB3aGVyZSB0aGUgW1tQaGxveEFwcF1dIGNvbXBvbmVudCBpbnN0YW5jZSBjb3VsZCBub3QgYmUgcmVmZXJyZWQgZGlyZWN0bHksXG4gKiA8Y29kZT50aGlzPC9jb2RlPiBzZXJ2aWNlIHdpbGwgYmUgaGVscGZ1bCBpbiBhbGxvd2luZyB5b3UgdG8gY29udHJvbCB0aGUgZGlhbG9nIHZpYSA8Y29kZT50aGlzPC9jb2RlPiBzZXJ2aWNlLlxuICogPC9wPlxuICpcbiAqIEBhdXRob3Igc2hpb3JpbiwgdGVlNGN1dGVcbiAqIEBzZWUgW1tQaGxveERpYWxvZ11dXG4gKiBAc2VlIFtbUGhsb3hBcHBdXVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGlhbG9nU2VydmljZSB7XG5cbiAgICBwcml2YXRlIHBobG94QXBwOiBQaGxveEFwcDtcblxuICAgIC8qKlxuICAgICAqIDxwIHN0eWxlPVwidGV4dC1pbmRlbnQ6IDFlbTtcIj5cbiAgICAgKiBJbml0aWFsaXplIDxjb2RlPnRoaXM8L2NvZGU+IHNlcnZpY2UgYW5kIGJpbmQgaXQgd2l0aCB0aGUgZ2l2ZW4gPGNvZGU+PGI+cGhsb3hBcHA8L2I+PC9jb2RlPiBpbnN0YW5jZS4gQWxsIG1ldGhvZCBjYWxscyBvZiA8Y29kZT50aGlzPC9jb2RlPlxuICAgICAqIHNlcnZpY2Ugd2lsbCBiZSBkZWxlZ2F0ZSB0byB0aGUgZ2l2ZW4gPGNvZGU+YXBwbGljYXRpb248L2NvZGU+IGluc3RhbmNlLiBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgbWV0aG9kIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgaW50ZXJuYWxseSBieVxuICAgICAqIDxjb2RlPlBobG94VUk8L2NvZGU+IGZyYW1ld29yay4gU28sIDxiPnlvdSBzaG91bGQgTk9UIHVzZSB0aGlzIG1ldGhvZDwvYj4gaW4gbm9ybWFsIHNpdHVhdGlvbnMuXG4gICAgICogPC9wPlxuICAgICAqXG4gICAgICogQHNlZSBbW1BobG94QXBwXV1cbiAgICAgKi9cbiAgICBwdWJsaWMgaW5pdChwaGxveEFwcDogUGhsb3hBcHApIHtcbiAgICAgICAgdGhpcy5waGxveEFwcCA9IHBobG94QXBwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDxwIHN0eWxlPVwidGV4dC1pbmRlbnQ6IDFlbTtcIj5cbiAgICAgKiBIaWRlIHRoZSBzaG93aW5nIDxjb2RlPmFwcGxpY2F0aW9uPC9jb2RlPiBkaWFsb2cuIFRoaXMgbWV0aG9kIG9ubHkgZGVsZWdhdGVzIG1ldGhvZCBjYWxsIHRvIFtbUGhsb3hEaWFsb2cuaGlkZURpYWxvZ11dLlxuICAgICAqIDwvcD5cbiAgICAgKlxuICAgICAqIEBzZWUgW1tQaGxveERpYWxvZy5oaWRlRGlhbG9nXV1cbiAgICAgKi9cbiAgICBwdWJsaWMgaGlkZURpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucGhsb3hBcHAgPT09IG51bGwgfHwgdHlwZW9mIHRoaXMucGhsb3hBcHAgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBobG94QXBwLmhpZGVEaWFsb2coKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiA8cCBzdHlsZT1cInRleHQtaW5kZW50OiAxZW07XCI+XG4gICAgICogU2hvdyB0aGUgY29uZmlybWF0aW9uIGRpYWxvZy4gVGhpcyBtZXRob2Qgb25seSBkZWxlZ2F0ZXMgbWV0aG9kIGNhbGwgdG8gW1tQaGxveERpYWxvZy5zaG93Q29uZmlybURpYWxvZ11dLlxuICAgICAqIDwvcD5cbiAgICAgKlxuICAgICAqIEBzZWUgW1tQaGxveERpYWxvZy5zaG93Q29uZmlybURpYWxvZ11dXG4gICAgICovXG4gICAgcHVibGljIHNob3dDb25maXJtRGlhbG9nKHRpdGxlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZywgc2hvd0NhbmNlbEJ0bjogYm9vbGVhbiwgd2lkdGg/OiBzdHJpbmcsIGhlaWdodD86IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGlmICh0aGlzLnBobG94QXBwID09PSBudWxsIHx8IHR5cGVvZiB0aGlzLnBobG94QXBwID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgICAgICByZWplY3QoJ1RoZSBQaGxveEFwcCBpbnN0YW5jZSBpcyBub3QgaW5pdGlhbGl6ZWQuJyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnBobG94QXBwLnNob3dDb25maXJtRGlhbG9nKHRpdGxlLCBtZXNzYWdlLCBzaG93Q2FuY2VsQnRuLCB3aWR0aCwgaGVpZ2h0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiA8cCBzdHlsZT1cInRleHQtaW5kZW50OiAxZW07XCI+XG4gICAgICogU2hvdyB0aGUgbWVzc2FnZSBkaWFsb2cuIFRoaXMgbWV0aG9kIG9ubHkgZGVsZWdhdGVzIG1ldGhvZCBjYWxsIHRvIFtbUGhsb3hEaWFsb2cuc2hvd01lc3NhZ2VEaWFsb2ddXS5cbiAgICAgKiA8L3A+XG4gICAgICpcbiAgICAgKiBAc2VlIFtbUGhsb3hEaWFsb2cuc2hvd01lc3NhZ2VEaWFsb2ddXVxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93TWVzc2FnZURpYWxvZyh0aXRsZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcsIHdpZHRoPzogc3RyaW5nLCBoZWlnaHQ/OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBpZiAodGhpcy5waGxveEFwcCA9PT0gbnVsbCB8fCB0eXBlb2YgdGhpcy5waGxveEFwcCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVqZWN0KCdUaGUgUGhsb3hBcHAgaW5zdGFuY2UgaXMgbm90IGluaXRpYWxpemVkLicpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5waGxveEFwcC5zaG93TWVzc2FnZURpYWxvZyh0aXRsZSwgbWVzc2FnZSwgd2lkdGgsIGhlaWdodCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogPHAgc3R5bGU9XCJ0ZXh0LWluZGVudDogMWVtO1wiPlxuICAgICAqIFNob3cgdGhlIGNvbXBvbmVudCBkaWFsb2cuIFRoaXMgbWV0aG9kIG9ubHkgZGVsZWdhdGVzIG1ldGhvZCBjYWxsIHRvIFtbUGhsb3hEaWFsb2cuc2hvd0NvbXBvbmVudERpYWxvZ11dLlxuICAgICAqIDwvcD5cbiAgICAgKlxuICAgICAqIEBzZWUgW1tQaGxveERpYWxvZy5zaG93Q29tcG9uZW50RGlhbG9nXV1cbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd0NvbXBvbmVudERpYWxvZyhjb21wb25lbnREaWFsb2dNb2RlbDogQ29tcG9uZW50RGlhbG9nTW9kZWwpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBpZiAodGhpcy5waGxveEFwcCA9PT0gbnVsbCB8fCB0eXBlb2YgdGhpcy5waGxveEFwcCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVqZWN0KCdUaGUgUGhsb3hBcHAgaW5zdGFuY2UgaXMgbm90IGluaXRpYWxpemVkLicpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5waGxveEFwcC5zaG93Q29tcG9uZW50RGlhbG9nKGNvbXBvbmVudERpYWxvZ01vZGVsKTtcbiAgICB9XG59XG4iXX0=