Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

vipera-npm-registry / motif-web-admin-core   js

Repository URL to install this package:

Version: 0.3.1 

/ esm5 / lib / sections / WebContent / components / dialog / webcontent-update-dialog.js

/**
 * @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 {?} */
var 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;
}
var WebContentUpdateDialogComponent = /** @class */ (function () {
    function WebContentUpdateDialogComponent(logger) {
        this.logger = logger;
        this.contextEditingWarningDisplay = false;
        this.confirm = new EventEmitter();
        this.cancel = new EventEmitter();
    }
    /**
     * @return {?}
     */
    WebContentUpdateDialogComponent.prototype.ngOnInit = /**
     * @return {?}
     */
    function () {
        this.logger.debug(LOG_TAG, 'Initializing...');
    };
    /**
     * @param {?} bundleName
     * @param {?} bundleVersion
     * @param {?} domain
     * @param {?} application
     * @param {?} context
     * @return {?}
     */
    WebContentUpdateDialogComponent.prototype.show = /**
     * @param {?} bundleName
     * @param {?} bundleVersion
     * @param {?} domain
     * @param {?} application
     * @param {?} context
     * @return {?}
     */
    function (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 {?}
     */
    WebContentUpdateDialogComponent.prototype.hide = /**
     * @return {?}
     */
    function () {
        this.display = false;
    };
    /**
     * @private
     * @param {?} bundleName
     * @param {?} bundleVersion
     * @param {?} domain
     * @param {?} application
     * @param {?} context
     * @return {?}
     */
    WebContentUpdateDialogComponent.prototype.prepare = /**
     * @private
     * @param {?} bundleName
     * @param {?} bundleVersion
     * @param {?} domain
     * @param {?} application
     * @param {?} context
     * @return {?}
     */
    function (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 {?}
     */
    WebContentUpdateDialogComponent.prototype.onCancel = /**
     * @return {?}
     */
    function () {
        this.display = false;
        this.cancel.emit();
    };
    /**
     * @return {?}
     */
    WebContentUpdateDialogComponent.prototype.onConfirm = /**
     * @return {?}
     */
    function () {
        this.display = false;
        this.confirm.emit({
            application: this.selectedApplication.name,
            bundleName: this.bundleName,
            bundleVersion: this.bundleVersion,
            domain: this.selectedDomain.name,
            context: this.context
        });
    };
    /**
     * @return {?}
     */
    WebContentUpdateDialogComponent.prototype.onRemove = /**
     * @return {?}
     */
    function () {
        this.display = false;
        this.confirm.emit({
            application: undefined,
            bundleName: this.bundleName,
            bundleVersion: this.bundleVersion,
            domain: undefined,
            context: undefined
        });
    };
    /**
     * @return {?}
     */
    WebContentUpdateDialogComponent.prototype.onContextChange = /**
     * @return {?}
     */
    function () {
        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 = function () { return [
        { type: NGXLogger }
    ]; };
    WebContentUpdateDialogComponent.propDecorators = {
        confirm: [{ type: Output }],
        cancel: [{ type: Output }],
        domainSelector: [{ type: ViewChild, args: ['domainSelector',] }],
        applicationSelector: [{ type: ViewChild, args: ['applicationSelector',] }]
    };
    return WebContentUpdateDialogComponent;
}());
export { WebContentUpdateDialogComponent };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViY29udGVudC11cGRhdGUtZGlhbG9nLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbW90aWYtd2ViLWFkbWluLWNvcmUvIiwic291cmNlcyI6WyJsaWIvc2VjdGlvbnMvV2ViQ29udGVudC9jb21wb25lbnRzL2RpYWxvZy93ZWJjb250ZW50LXVwZGF0ZS1kaWFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQ3JJLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQzNILE9BQU8sRUFBRSxTQUFTLEVBQWlCLFNBQVMsRUFBeUIsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0lBR3ZDLE9BQU8sR0FBRyxtQ0FBbUM7Ozs7QUFFbkQsd0NBTUM7OztJQUxHLG9DQUFlOztJQUNmLHlDQUFvQjs7SUFDcEIscUNBQWdCOztJQUNoQiwyQ0FBc0I7O0lBQ3RCLHdDQUFtQjs7QUFHdkI7SUEwQkkseUNBQW9CLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFSckMsaUNBQTRCLEdBQUcsS0FBSyxDQUFDO1FBRTNCLFlBQU8sR0FBcUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMvRCxXQUFNLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7SUFLbEIsQ0FBQzs7OztJQUV6QyxrREFBUTs7O0lBQVI7UUFDSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxDQUFDOzs7Ozs7Ozs7SUFFTSw4Q0FBSTs7Ozs7Ozs7SUFBWCxVQUFZLFVBQWtCLEVBQUUsYUFBcUIsRUFBRSxNQUFjLEVBQUUsV0FBbUIsRUFBRSxPQUFlO1FBQ3ZHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8s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QkFqQlEsU0FBUzs7OzBCQWlDYixNQUFNO3lCQUNOLE1BQU07aUNBRU4sU0FBUyxTQUFDLGdCQUFnQjtzQ0FDMUIsU0FBUyxTQUFDLHFCQUFxQjs7SUFxRXBDLHNDQUFDO0NBQUEsQUE3RkQsSUE2RkM7U0F4RlksK0JBQStCOzs7SUFFeEMscURBQW1COztJQUNuQix3REFBc0I7O0lBQ3RCLGtEQUFpQjs7SUFDakIsaURBQWU7O0lBQ2Ysc0RBQW9COztJQUNwQixrREFBZ0I7O0lBQ2hCLGdEQUFlOztJQUVmLHlEQUFvQjs7SUFDcEIsOERBQXlCOztJQUV6Qix1RUFBcUM7O0lBRXJDLGtEQUF5RTs7SUFDekUsaURBQTBEOztJQUUxRCx5REFBNEU7O0lBQzVFLDhEQUEyRjs7Ozs7SUFFL0UsaURBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25TZWxlY3RvckNvbWJvQm94Q29tcG9uZW50IH0gZnJvbSAnLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL1VJL3NlbGVjdG9ycy9hcHBsaWNhdGlvbi1zZWxlY3Rvci1jb21ib2JveC1jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9tYWluU2VsZWN0b3JDb21ib0JveENvbXBvbmVudCB9IGZyb20gJy4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9VSS9zZWxlY3RvcnMvZG9tYWluLXNlbGVjdG9yLWNvbWJvYm94LWNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdYTG9nZ2VyIH0gZnJvbSAnd2ViLWNvbnNvbGUtY29yZSc7XG5pbXBvcnQgeyBTdHJpbmdNYXAgfSBmcm9tICdAYW5ndWxhci9jb21waWxlci9zcmMvY29tcGlsZXJfZmFjYWRlX2ludGVyZmFjZSc7XG5cbmNvbnN0IExPR19UQUcgPSAnW1dlYkNvbnRlbnRVcGRhdGVEaWFsb2dDb21wb25lbnRdJztcblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVEaWFsb2dSZXN1bHQge1xuICAgIGRvbWFpbjogc3RyaW5nO1xuICAgIGFwcGxpY2F0aW9uOiBzdHJpbmc7XG4gICAgY29udGV4dDogc3RyaW5nO1xuICAgIGJ1bmRsZVZlcnNpb246IHN0cmluZztcbiAgICBidW5kbGVOYW1lOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnd2Etd2ViY29udGVudC11cGRhdGUtZGlhbG9nJyxcbiAgICBzdHlsZVVybHM6IFsnLi93ZWJjb250ZW50LXVwZGF0ZS1kaWFsb2cuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi93ZWJjb250ZW50LXVwZGF0ZS1kaWFsb2cuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV2ViQ29udGVudFVwZGF0ZURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBidW5kbGVOYW1lOiBzdHJpbmc7XG4gICAgYnVuZGxlVmVyc2lvbjogc3RyaW5nO1xuICAgIGRpc3BsYXk6IGJvb2xlYW47XG4gICAgZG9tYWluOiBzdHJpbmc7XG4gICAgYXBwbGljYXRpb246IHN0cmluZztcbiAgICBjb250ZXh0OiBzdHJpbmc7XG4gICAgZGlydHk6IGJvb2xlYW47XG5cbiAgICBzZWxlY3RlZERvbWFpbjogYW55O1xuICAgIHNlbGVjdGVkQXBwbGljYXRpb246IGFueTtcblxuICAgIGNvbnRleHRFZGl0aW5nV2FybmluZ0Rpc3BsYXkgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBjb25maXJtOiBFdmVudEVtaXR0ZXI8VXBkYXRlRGlhbG9nUmVzdWx0PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgY2FuY2VsOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKCdkb21haW5TZWxlY3RvcicpIGRvbWFpblNlbGVjdG9yOkRvbWFpblNlbGVjdG9yQ29tYm9Cb3hDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgnYXBwbGljYXRpb25TZWxlY3RvcicpIGFwcGxpY2F0aW9uU2VsZWN0b3I6QXBwbGljYXRpb25TZWxlY3RvckNvbWJvQm94Q29tcG9uZW50O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2dnZXI6IE5HWExvZ2dlcikge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhMT0dfVEFHLCAnSW5pdGlhbGl6aW5nLi4uJyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3coYnVuZGxlTmFtZTogc3RyaW5nLCBidW5kbGVWZXJzaW9uOiBzdHJpbmcsIGRvbWFpbjogc3RyaW5nLCBhcHBsaWNhdGlvbjogc3RyaW5nLCBjb250ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoTE9HX1RBRywgJ3Nob3cgY2FsbGVkIGZvcjogJyxidW5kbGVOYW1lLCBidW5kbGVWZXJzaW9uLCBkb21haW4sIGFwcGxpY2F0aW9uLCBjb250ZXh0KTtcbiAgICAgICAgdGhpcy5wcmVwYXJlKGJ1bmRsZU5hbWUsIGJ1bmRsZVZlcnNpb24sIGRvbWFpbiwgYXBwbGljYXRpb24sIGNvbnRleHQpO1xuICAgICAgICB0aGlzLmRpc3BsYXkgPSB0cnVlO1xuICAgICAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGhpZGUoKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZShidW5kbGVOYW1lOiBzdHJpbmcsIGJ1bmRsZVZlcnNpb246IHN0cmluZywgZG9tYWluOiBzdHJpbmcsIGFwcGxpY2F0aW9uOiBzdHJpbmcsIGNvbnRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhMT0dfVEFHLCAncHJlcGFyZSBjYWxsZWQgZm9yOiAnLCBidW5kbGVOYW1lLCBidW5kbGVWZXJzaW9uLCBkb21haW4sIGFwcGxpY2F0aW9uLCBjb250ZXh0KTtcbiAgICAgICAgLy8gZmlsbCB0aGUgZmllbGRzXG4gICAgICAgIHRoaXMuZG9tYWluID0gZG9tYWluO1xuICAgICAgICB0aGlzLmFwcGxpY2F0aW9uID0gYXBwbGljYXRpb247XG4gICAgICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQgPyAnLycgKyBjb250ZXh0IDogdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmJ1bmRsZU5hbWUgPSBidW5kbGVOYW1lO1xuICAgICAgICB0aGlzLmJ1bmRsZVZlcnNpb24gPSBidW5kbGVWZXJzaW9uO1xuICAgICAgICBpZiAoZG9tYWluKXtcbiAgICAgICAgICAgIHRoaXMuZG9tYWluU2VsZWN0b3Iuc2VsZWN0ZWREb21haW5OYW1lID0gZG9tYWluO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kb21haW5TZWxlY3Rvci5zZWxlY3RlZERvbWFpbiA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFwcGxpY2F0aW9uKXtcbiAgICAgICAgICAgIHRoaXMuYXBwbGljYXRpb25TZWxlY3Rvci5zZWxlY3RlZEFwcGxpY2F0aW9uTmFtZSA9IGFwcGxpY2F0aW9uO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hcHBsaWNhdGlvblNlbGVjdG9yLnNlbGVjdGVkQXBwbGljYXRpb24gPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzcGxheSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gICAgfVxuXG4gICAgb25Db25maXJtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc3BsYXkgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jb25maXJtLmVtaXQoe1xuICAgICAgICAgICAgYXBwbGljYXRpb24gOiB0aGlzLnNlbGVjdGVkQXBwbGljYXRpb24ubmFtZSxcbiAgICAgICAgICAgIGJ1bmRsZU5hbWU6IHRoaXMuYnVuZGxlTmFtZSxcbiAgICAgICAgICAgIGJ1bmRsZVZlcnNpb24gOiB0aGlzLmJ1bmRsZVZlcnNpb24sXG4gICAgICAgICAgICBkb21haW4gOiB0aGlzLnNlbGVjdGVkRG9tYWluLm5hbWUsXG4gICAgICAgICAgICBjb250ZXh0IDogdGhpcy5jb250ZXh0XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uUmVtb3ZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc3BsYXkgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jb25maXJtLmVtaXQoe1xuICAgICAgICAgICAgYXBwbGljYXRpb24gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBidW5kbGVOYW1lOiB0aGlzLmJ1bmRsZU5hbWUsXG4gICAgICAgICAgICBidW5kbGVWZXJzaW9uIDogdGhpcy5idW5kbGVWZXJzaW9uLFxuICAgICAgICAgICAgZG9tYWluIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgY29udGV4dCA6IHVuZGVmaW5lZFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNvbnRleHRDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlydHkgPSB0cnVlO1xuICAgIH1cbn0iXX0=