Repository URL to install this package:
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { ApplicationSelectorComboBoxComponent } from './../../../../components/UI/selectors/application-selector-combobox-component';
import { DomainSelectorComboBoxComponent } from './../../../../components/UI/selectors/domain-selector-combobox-component';
import { Component, ViewChild, EventEmitter, Output } from '@angular/core';
import { NGXLogger } from 'web-console-core';
/** @type {?} */
const LOG_TAG = '[WebContentUpdateDialogComponent]';
/**
* @record
*/
export function UpdateDialogResult() { }
if (false) {
/** @type {?} */
UpdateDialogResult.prototype.domain;
/** @type {?} */
UpdateDialogResult.prototype.application;
/** @type {?} */
UpdateDialogResult.prototype.context;
/** @type {?} */
UpdateDialogResult.prototype.bundleVersion;
/** @type {?} */
UpdateDialogResult.prototype.bundleName;
}
export class WebContentUpdateDialogComponent {
/**
* @param {?} logger
*/
constructor(logger) {
this.logger = logger;
this.contextEditingWarningDisplay = false;
this.confirm = new EventEmitter();
this.cancel = new EventEmitter();
}
/**
* @return {?}
*/
ngOnInit() {
this.logger.debug(LOG_TAG, 'Initializing...');
}
/**
* @param {?} bundleName
* @param {?} bundleVersion
* @param {?} domain
* @param {?} application
* @param {?} context
* @return {?}
*/
show(bundleName, bundleVersion, domain, application, context) {
this.logger.debug(LOG_TAG, 'show called for: ', bundleName, bundleVersion, domain, application, context);
this.prepare(bundleName, bundleVersion, domain, application, context);
this.display = true;
this.dirty = false;
}
/**
* @return {?}
*/
hide() {
this.display = false;
}
/**
* @private
* @param {?} bundleName
* @param {?} bundleVersion
* @param {?} domain
* @param {?} application
* @param {?} context
* @return {?}
*/
prepare(bundleName, bundleVersion, domain, application, context) {
this.logger.debug(LOG_TAG, 'prepare called for: ', bundleName, bundleVersion, domain, application, context);
// fill the fields
this.domain = domain;
this.application = application;
this.context = context ? '/' + context : undefined;
this.bundleName = bundleName;
this.bundleVersion = bundleVersion;
if (domain) {
this.domainSelector.selectedDomainName = domain;
}
else {
this.domainSelector.selectedDomain = null;
}
if (application) {
this.applicationSelector.selectedApplicationName = application;
}
else {
this.applicationSelector.selectedApplication = null;
}
}
/**
* @return {?}
*/
onCancel() {
this.display = false;
this.cancel.emit();
}
/**
* @return {?}
*/
onConfirm() {
this.display = false;
this.confirm.emit({
application: this.selectedApplication.name,
bundleName: this.bundleName,
bundleVersion: this.bundleVersion,
domain: this.selectedDomain.name,
context: this.context
});
}
/**
* @return {?}
*/
onRemove() {
this.display = false;
this.confirm.emit({
application: undefined,
bundleName: this.bundleName,
bundleVersion: this.bundleVersion,
domain: undefined,
context: undefined
});
}
/**
* @return {?}
*/
onContextChange() {
this.dirty = true;
}
}
WebContentUpdateDialogComponent.decorators = [
{ type: Component, args: [{
selector: 'wa-webcontent-update-dialog',
template: "<p-dialog\n #updateDialog\n [(visible)]=\"display\"\n [modal]=\"true\"\n [responsive]=\"true\"\n [style]=\"{ width: '450px', minWidth: '400px' }\"\n [minY]=\"70\"\n [baseZIndex]=\"10000\"\n>\n <p-header> Update Web Content </p-header>\n\n <label class=\"switch-control-label\"> \n Domain\n</label>\n <wc-domain-selector-combobox #domainSelector [(ngModel)]=\"selectedDomain\" [disabled]=\"domain?true:null\"></wc-domain-selector-combobox>\n\n <label class=\"switch-control-label\"> \n Application\n </label>\n <wc-application-selector-combobox #applicationSelector [domain]=\"(selectedDomain ? selectedDomain.name : null)\" [(ngModel)]=\"selectedApplication\" [disabled]=\"application?true:null\"></wc-application-selector-combobox>\n\n<kendo-textbox-container\nfloatingLabel=\"Context\"\nstyle=\"width: 100%;\"\n>\n<input kendoTextBox [(ngModel)]=\"context\" required (keydown)=\"onContextChange()\"/>\n</kendo-textbox-container>\n<label class=\"warning-label\" *ngIf=\"contextEditingWarningDisplay\">Invalid Context</label>\n\n<p-footer>\n <kendo-buttongroup look=\"flat\">\n <button kendoButton [toggleable]=\"false\" (click)=\"onCancel();\">Cancel</button>\n <button kendoButton [toggleable]=\"false\" [primary]=\"true\" (click)=\"onConfirm();\">Update</button>\n <button kendoButton [disabled]=\"(context&&!dirty)?false:true\" [toggleable]=\"false\" [primary]=\"true\" (click)=\"onRemove();\">Remove</button>\n </kendo-buttongroup>\n</p-footer>\n\n</p-dialog>\n",
styles: [""]
}] }
];
/** @nocollapse */
WebContentUpdateDialogComponent.ctorParameters = () => [
{ type: NGXLogger }
];
WebContentUpdateDialogComponent.propDecorators = {
confirm: [{ type: Output }],
cancel: [{ type: Output }],
domainSelector: [{ type: ViewChild, args: ['domainSelector',] }],
applicationSelector: [{ type: ViewChild, args: ['applicationSelector',] }]
};
if (false) {
/** @type {?} */
WebContentUpdateDialogComponent.prototype.bundleName;
/** @type {?} */
WebContentUpdateDialogComponent.prototype.bundleVersion;
/** @type {?} */
WebContentUpdateDialogComponent.prototype.display;
/** @type {?} */
WebContentUpdateDialogComponent.prototype.domain;
/** @type {?} */
WebContentUpdateDialogComponent.prototype.application;
/** @type {?} */
WebContentUpdateDialogComponent.prototype.context;
/** @type {?} */
WebContentUpdateDialogComponent.prototype.dirty;
/** @type {?} */
WebContentUpdateDialogComponent.prototype.selectedDomain;
/** @type {?} */
WebContentUpdateDialogComponent.prototype.selectedApplication;
/** @type {?} */
WebContentUpdateDialogComponent.prototype.contextEditingWarningDisplay;
/** @type {?} */
WebContentUpdateDialogComponent.prototype.confirm;
/** @type {?} */
WebContentUpdateDialogComponent.prototype.cancel;
/** @type {?} */
WebContentUpdateDialogComponent.prototype.domainSelector;
/** @type {?} */
WebContentUpdateDialogComponent.prototype.applicationSelector;
/**
* @type {?}
* @private
*/
WebContentUpdateDialogComponent.prototype.logger;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViY29udGVudC11cGRhdGUtZGlhbG9nLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbW90aWYtd2ViLWFkbWluLWNvcmUvIiwic291cmNlcyI6WyJsaWIvc2VjdGlvbnMvV2ViQ29udGVudC9jb21wb25lbnRzL2RpYWxvZy93ZWJjb250ZW50LXVwZGF0ZS1kaWFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQ3JJLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQzNILE9BQU8sRUFBRSxTQUFTLEVBQWlCLFNBQVMsRUFBeUIsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O01BR3ZDLE9BQU8sR0FBRyxtQ0FBbUM7Ozs7QUFFbkQsd0NBTUM7OztJQUxHLG9DQUFlOztJQUNmLHlDQUFvQjs7SUFDcEIscUNBQWdCOztJQUNoQiwyQ0FBc0I7O0lBQ3RCLHdDQUFtQjs7QUFRdkIsTUFBTSxPQUFPLCtCQUErQjs7OztJQXFCeEMsWUFBb0IsTUFBaUI7UUFBakIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQVJyQyxpQ0FBNEIsR0FBRyxLQUFLLENBQUM7UUFFM0IsWUFBTyxHQUFxQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9ELFdBQU0sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUtsQixDQUFDOzs7O0lBRXpDLFFBQVE7UUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxDQUFDOzs7Ozs7Ozs7SUFFTSxJQUFJLENBQUMsVUFBa0IsRUFBRSxhQUFxQixFQUFFLE1BQWMsRUFBRSxXQUFtQixFQUFFLE9BQWU7UUFDdkcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxF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O2tDQUMxQixTQUFTLFNBQUMscUJBQXFCOzs7O0lBakJoQyxxREFBbUI7O0lBQ25CLHdEQUFzQjs7SUFDdEIsa0RBQWlCOztJQUNqQixpREFBZTs7SUFDZixzREFBb0I7O0lBQ3BCLGtEQUFnQjs7SUFDaEIsZ0RBQWU7O0lBRWYseURBQW9COztJQUNwQiw4REFBeUI7O0lBRXpCLHVFQUFxQzs7SUFFckMsa0RBQXlFOztJQUN6RSxpREFBMEQ7O0lBRTFELHlEQUE0RTs7SUFDNUUsOERBQTJGOzs7OztJQUUvRSxpREFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblNlbGVjdG9yQ29tYm9Cb3hDb21wb25lbnQgfSBmcm9tICcuLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvVUkvc2VsZWN0b3JzL2FwcGxpY2F0aW9uLXNlbGVjdG9yLWNvbWJvYm94LWNvbXBvbmVudCc7XG5pbXBvcnQgeyBEb21haW5TZWxlY3RvckNvbWJvQm94Q29tcG9uZW50IH0gZnJvbSAnLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL1VJL3NlbGVjdG9ycy9kb21haW4tc2VsZWN0b3ItY29tYm9ib3gtY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR1hMb2dnZXIgfSBmcm9tICd3ZWItY29uc29sZS1jb3JlJztcbmltcG9ydCB7IFN0cmluZ01hcCB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy9jb21waWxlcl9mYWNhZGVfaW50ZXJmYWNlJztcblxuY29uc3QgTE9HX1RBRyA9ICdbV2ViQ29udGVudFVwZGF0ZURpYWxvZ0NvbXBvbmVudF0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZURpYWxvZ1Jlc3VsdCB7XG4gICAgZG9tYWluOiBzdHJpbmc7XG4gICAgYXBwbGljYXRpb246IHN0cmluZztcbiAgICBjb250ZXh0OiBzdHJpbmc7XG4gICAgYnVuZGxlVmVyc2lvbjogc3RyaW5nO1xuICAgIGJ1bmRsZU5hbWU6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd3YS13ZWJjb250ZW50LXVwZGF0ZS1kaWFsb2cnLFxuICAgIHN0eWxlVXJsczogWycuL3dlYmNvbnRlbnQtdXBkYXRlLWRpYWxvZy5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3dlYmNvbnRlbnQtdXBkYXRlLWRpYWxvZy5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXZWJDb250ZW50VXBkYXRlRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIGJ1bmRsZU5hbWU6IHN0cmluZztcbiAgICBidW5kbGVWZXJzaW9uOiBzdHJpbmc7XG4gICAgZGlzcGxheTogYm9vbGVhbjtcbiAgICBkb21haW46IHN0cmluZztcbiAgICBhcHBsaWNhdGlvbjogc3RyaW5nO1xuICAgIGNvbnRleHQ6IHN0cmluZztcbiAgICBkaXJ0eTogYm9vbGVhbjtcblxuICAgIHNlbGVjdGVkRG9tYWluOiBhbnk7XG4gICAgc2VsZWN0ZWRBcHBsaWNhdGlvbjogYW55O1xuXG4gICAgY29udGV4dEVkaXRpbmdXYXJuaW5nRGlzcGxheSA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIGNvbmZpcm06IEV2ZW50RW1pdHRlcjxVcGRhdGVEaWFsb2dSZXN1bHQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBjYW5jZWw6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2RvbWFpblNlbGVjdG9yJykgZG9tYWluU2VsZWN0b3I6RG9tYWluU2VsZWN0b3JDb21ib0JveENvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdhcHBsaWNhdGlvblNlbGVjdG9yJykgYXBwbGljYXRpb25TZWxlY3RvcjpBcHBsaWNhdGlvblNlbGVjdG9yQ29tYm9Cb3hDb21wb25lbnQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvZ2dlcjogTkdYTG9nZ2VyKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKExPR19UQUcsICdJbml0aWFsaXppbmcuLi4nKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvdyhidW5kbGVOYW1lOiBzdHJpbmcsIGJ1bmRsZVZlcnNpb246IHN0cmluZywgZG9tYWluOiBzdHJpbmcsIGFwcGxpY2F0aW9uOiBzdHJpbmcsIGNvbnRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhMT0dfVEFHLCAnc2hvdyBjYWxsZWQgZm9yOiAnLGJ1bmRsZU5hbWUsIGJ1bmRsZVZlcnNpb24sIGRvbWFpbiwgYXBwbGljYXRpb24sIGNvbnRleHQpO1xuICAgICAgICB0aGlzLnByZXBhcmUoYnVuZGxlTmFtZSwgYnVuZGxlVmVyc2lvbiwgZG9tYWluLCBhcHBsaWNhdGlvbiwgY29udGV4dCk7XG4gICAgICAgIHRoaXMuZGlzcGxheSA9IHRydWU7XG4gICAgICAgIHRoaXMuZGlydHkgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGlkZSgpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcmVwYXJlKGJ1bmRsZU5hbWU6IHN0cmluZywgYnVuZGxlVmVyc2lvbjogc3RyaW5nLCBkb21haW46IHN0cmluZywgYXBwbGljYXRpb246IHN0cmluZywgY29udGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKExPR19UQUcsICdwcmVwYXJlIGNhbGxlZCBmb3I6ICcsIGJ1bmRsZU5hbWUsIGJ1bmRsZVZlcnNpb24sIGRvbWFpbiwgYXBwbGljYXRpb24sIGNvbnRleHQpO1xuICAgICAgICAvLyBmaWxsIHRoZSBmaWVsZHNcbiAgICAgICAgdGhpcy5kb21haW4gPSBkb21haW47XG4gICAgICAgIHRoaXMuYXBwbGljYXRpb24gPSBhcHBsaWNhdGlvbjtcbiAgICAgICAgdGhpcy5jb250ZXh0ID0gY29udGV4dCA/ICcvJyArIGNvbnRleHQgOiB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuYnVuZGxlTmFtZSA9IGJ1bmRsZU5hbWU7XG4gICAgICAgIHRoaXMuYnVuZGxlVmVyc2lvbiA9IGJ1bmRsZVZlcnNpb247XG4gICAgICAgIGlmIChkb21haW4pe1xuICAgICAgICAgICAgdGhpcy5kb21haW5TZWxlY3Rvci5zZWxlY3RlZERvbWFpbk5hbWUgPSBkb21haW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRvbWFpblNlbGVjdG9yLnNlbGVjdGVkRG9tYWluID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYXBwbGljYXRpb24pe1xuICAgICAgICAgICAgdGhpcy5hcHBsaWNhdGlvblNlbGVjdG9yLnNlbGVjdGVkQXBwbGljYXRpb25OYW1lID0gYXBwbGljYXRpb247XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFwcGxpY2F0aW9uU2VsZWN0b3Iuc2VsZWN0ZWRBcHBsaWNhdGlvbiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNhbmNlbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcbiAgICB9XG5cbiAgICBvbkNvbmZpcm0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzcGxheSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvbmZpcm0uZW1pdCh7XG4gICAgICAgICAgICBhcHBsaWNhdGlvbiA6IHRoaXMuc2VsZWN0ZWRBcHBsaWNhdGlvbi5uYW1lLFxuICAgICAgICAgICAgYnVuZGxlTmFtZTogdGhpcy5idW5kbGVOYW1lLFxuICAgICAgICAgICAgYnVuZGxlVmVyc2lvbiA6IHRoaXMuYnVuZGxlVmVyc2lvbixcbiAgICAgICAgICAgIGRvbWFpbiA6IHRoaXMuc2VsZWN0ZWREb21haW4ubmFtZSxcbiAgICAgICAgICAgIGNvbnRleHQgOiB0aGlzLmNvbnRleHRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25SZW1vdmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzcGxheSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvbmZpcm0uZW1pdCh7XG4gICAgICAgICAgICBhcHBsaWNhdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGJ1bmRsZU5hbWU6IHRoaXMuYnVuZGxlTmFtZSxcbiAgICAgICAgICAgIGJ1bmRsZVZlcnNpb24gOiB0aGlzLmJ1bmRsZVZlcnNpb24sXG4gICAgICAgICAgICBkb21haW4gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBjb250ZXh0IDogdW5kZWZpbmVkXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQ29udGV4dENoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXJ0eSA9IHRydWU7XG4gICAgfVxufSJdfQ==