UNPKG

ng-jhipster

Version:

A Jhipster util library for Angular

2,787 lines 144 kB
(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@fortawesome/free-solid-svg-icons'), require('@angular/forms'), require('@fortawesome/angular-fontawesome'), require('@ngx-translate/core'), require('rxjs'), require('rxjs/operators'), require('@angular/common'), require('@ng-bootstrap/ng-bootstrap'), require('@ngx-translate/http-loader'), require('@angular/platform-browser')) :
    typeof define === 'function' && define.amd ? define('ng-jhipster', ['exports', '@angular/core', '@fortawesome/free-solid-svg-icons', '@angular/forms', '@fortawesome/angular-fontawesome', '@ngx-translate/core', 'rxjs', 'rxjs/operators', '@angular/common', '@ng-bootstrap/ng-bootstrap', '@ngx-translate/http-loader', '@angular/platform-browser'], factory) :
    (global = global || self, factory(global['ng-jhipster'] = {}, global.ng.core, global.freeSolidSvgIcons, global.ng.forms, global.angularFontawesome, global.i1, global.rxjs, global.rxjs.operators, global.ng.common, global.ngBootstrap, global.httpLoader, global.ng.platformBrowser));
}(this, (function (exports, i0, freeSolidSvgIcons, forms, angularFontawesome, i1, rxjs, operators, common, ngBootstrap, httpLoader, i1$1) { 'use strict';

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiModuleConfig = /** @class */ (function () {
        function JhiModuleConfig() {
            this.sortIcon = freeSolidSvgIcons.faSort;
            this.sortAscIcon = freeSolidSvgIcons.faSortUp;
            this.sortDescIcon = freeSolidSvgIcons.faSortDown;
            this.i18nEnabled = false;
            this.defaultI18nLang = 'en';
            this.noi18nMessage = 'translation-not-found';
            this.alertAsToast = false;
            this.alertTimeout = 5000;
            this.classBadgeTrue = 'badge badge-success';
            this.classBadgeFalse = 'badge badge-danger';
            this.classTrue = 'fa fa-lg fa-check text-success';
            this.classFalse = 'fa fa-lg fa-times text-danger';
        }
        return JhiModuleConfig;
    }());
    JhiModuleConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function JhiModuleConfig_Factory() { return new JhiModuleConfig(); }, token: JhiModuleConfig, providedIn: "root" });
    JhiModuleConfig.decorators = [
        { type: i0.Injectable, args: [{
                    providedIn: 'root'
                },] }
    ];

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiConfigService = /** @class */ (function () {
        function JhiConfigService(moduleConfig) {
            this.CONFIG_OPTIONS = Object.assign(Object.assign({}, new JhiModuleConfig()), moduleConfig);
        }
        JhiConfigService.prototype.getConfig = function () {
            return this.CONFIG_OPTIONS;
        };
        return JhiConfigService;
    }());
    JhiConfigService.ɵprov = i0.ɵɵdefineInjectable({ factory: function JhiConfigService_Factory() { return new JhiConfigService(i0.ɵɵinject(JhiModuleConfig)); }, token: JhiConfigService, providedIn: "root" });
    JhiConfigService.decorators = [
        { type: i0.Injectable, args: [{
                    providedIn: 'root'
                },] }
    ];
    JhiConfigService.ctorParameters = function () { return [
        { type: JhiModuleConfig }
    ]; };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    /**
     * A component that will take care of item count statistics of a pagination.
     */
    var JhiItemCountComponent = /** @class */ (function () {
        function JhiItemCountComponent(config) {
            this.i18nEnabled = config.CONFIG_OPTIONS.i18nEnabled;
        }
        /**
         * "translate-values" JSON of the template
         */
        JhiItemCountComponent.prototype.i18nValues = function () {
            var first = (this.page - 1) * this.itemsPerPage === 0 ? 1 : (this.page - 1) * this.itemsPerPage + 1;
            var second = this.page * this.itemsPerPage < this.total ? this.page * this.itemsPerPage : this.total;
            return {
                first: first,
                second: second,
                total: this.total
            };
        };
        return JhiItemCountComponent;
    }());
    JhiItemCountComponent.decorators = [
        { type: i0.Component, args: [{
                    selector: 'jhi-item-count',
                    template: "\n        <div *ngIf=\"i18nEnabled; else noI18n\" class=\"info jhi-item-count\" jhiTranslate=\"global.item-count\" [translateValues]=\"i18nValues()\">\n            /* [attr.translateValues] is used to get entire values in tests */\n        </div>\n        <ng-template #noI18n class=\"info jhi-item-count\">\n            Showing\n            {{ (page - 1) * itemsPerPage == 0 ? 1 : (page - 1) * itemsPerPage + 1 }}\n            - {{ page * itemsPerPage < total ? page * itemsPerPage : total }} of {{ total }} items.\n        </ng-template>\n    "
                },] }
    ];
    JhiItemCountComponent.ctorParameters = function () { return [
        { type: JhiConfigService }
    ]; };
    JhiItemCountComponent.propDecorators = {
        page: [{ type: i0.Input }],
        total: [{ type: i0.Input }],
        itemsPerPage: [{ type: i0.Input }]
    };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    /**
     * This component can be used to display a boolean value by defining the @Input attributes
     * If an attribute is not provided, default values will be applied (see JhiModuleConfig class)
     * Have a look at the following examples
     *
     * * * * * * * * * * * * * * * * * * * * * * * * * * * *
     *
     * <jhi-boolean [value]="inputBooleanVariable"></jhi-boolean>
     *
     * - Display a green check when inputBooleanVariable is true
     * - Display a red cross when inputBooleanVariable is false
     *
     * * * * * * * * * * * * * * * * * * * * * * * * * * * *
     *
     * <jhi-boolean
     *     [value]="inputBooleanVariable">
     *     classTrue="fa fa-lg fa-check text-primary"
     *     classFalse="fa fa-lg fa-times text-warning"
     * </jhi-boolean>
     *
     * - Display a blue check when inputBooleanVariable is true
     * - Display an orange cross when inputBooleanVariable is false
     *
     * * * * * * * * * * * * * * * * * * * * * * * * * * * *
     *
     * <jhi-boolean
     *     [value]="inputBooleanVariable">
     *     classTrue="fa fa-lg fa-check"
     *     classFalse=""
     * </jhi-boolean>
     *
     * - Display a black check when inputBooleanVariable is true
     * - Do not display anything when inputBooleanVariable is false
     *
     * * * * * * * * * * * * * * * * * * * * * * * * * * * *
     *
     * <jhi-boolean
     *     [value]="inputBooleanVariable"
     *     [textTrue]="'userManagement.activated' | translate"
     *     textFalse="deactivated">
     * </jhi-boolean>
     *
     * - Display a green badge when inputBooleanVariable is true
     * - Display a red badge when inputBooleanVariable is false
     *
     * * * * * * * * * * * * * * * * * * * * * * * * * * * *
     *
     * <jhi-boolean
     *     [value]="user.activated"
     *     classTrue="badge badge-warning"
     *     classFalse="badge badge-info"
     *     [textTrue]="'userManagement.activated' | translate"
     *     textFalse="deactivated">
     * </jhi-boolean>
     *
     * - Display an orange badge and write 'activated' when inputBooleanVariable is true
     * - Display a blue badge and write 'deactivated' when inputBooleanVariable is false
     */
    var JhiBooleanComponent = /** @class */ (function () {
        function JhiBooleanComponent(configService) {
            this.config = configService.getConfig();
        }
        JhiBooleanComponent.prototype.ngOnInit = function () {
            if (this.textTrue === undefined) {
                if (this.classTrue === undefined) {
                    this.classTrue = this.config.classTrue;
                }
            }
            else {
                if (this.classTrue === undefined) {
                    this.classTrue = this.config.classBadgeTrue;
                }
            }
            if (this.textFalse === undefined) {
                if (this.classFalse === undefined) {
                    this.classFalse = this.config.classFalse;
                }
            }
            else {
                if (this.classFalse === undefined) {
                    this.classFalse = this.config.classBadgeFalse;
                }
            }
        };
        return JhiBooleanComponent;
    }());
    JhiBooleanComponent.decorators = [
        { type: i0.Component, args: [{
                    selector: 'jhi-boolean',
                    template: "\n        <span [ngClass]=\"value ? classTrue : classFalse\" [innerHtml]=\"value ? textTrue : textFalse\"> </span>\n    "
                },] }
    ];
    JhiBooleanComponent.ctorParameters = function () { return [
        { type: JhiConfigService }
    ]; };
    JhiBooleanComponent.propDecorators = {
        value: [{ type: i0.Input }],
        classTrue: [{ type: i0.Input }],
        classFalse: [{ type: i0.Input }],
        textTrue: [{ type: i0.Input }],
        textFalse: [{ type: i0.Input }]
    };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    function numberOfBytes(base64String) {
        function endsWith(suffix, str) {
            return str.includes(suffix, str.length - suffix.length);
        }
        function paddingSize(value) {
            if (endsWith('==', value)) {
                return 2;
            }
            if (endsWith('=', value)) {
                return 1;
            }
            return 0;
        }
        return (base64String.length / 4) * 3 - paddingSize(base64String);
    }

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiMaxbytesValidatorDirective = /** @class */ (function () {
        function JhiMaxbytesValidatorDirective() {
        }
        JhiMaxbytesValidatorDirective.prototype.validate = function (c) {
            return c.value && numberOfBytes(c.value) > this.jhiMaxbytes
                ? {
                    maxbytes: {
                        valid: false
                    }
                }
                : null;
        };
        return JhiMaxbytesValidatorDirective;
    }());
    JhiMaxbytesValidatorDirective.decorators = [
        { type: i0.Directive, args: [{
                    selector: '[jhiMaxbytes][ngModel]',
                    // eslint-disable-next-line @typescript-eslint/no-use-before-define
                    providers: [{ provide: forms.NG_VALIDATORS, useExisting: i0.forwardRef(function () { return JhiMaxbytesValidatorDirective; }), multi: true }]
                },] }
    ];
    JhiMaxbytesValidatorDirective.ctorParameters = function () { return []; };
    JhiMaxbytesValidatorDirective.propDecorators = {
        jhiMaxbytes: [{ type: i0.Input }]
    };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiMinbytesValidatorDirective = /** @class */ (function () {
        function JhiMinbytesValidatorDirective() {
        }
        JhiMinbytesValidatorDirective.prototype.validate = function (c) {
            return c.value && numberOfBytes(c.value) < this.jhiMinbytes
                ? {
                    minbytes: {
                        valid: false
                    }
                }
                : null;
        };
        return JhiMinbytesValidatorDirective;
    }());
    JhiMinbytesValidatorDirective.decorators = [
        { type: i0.Directive, args: [{
                    selector: '[jhiMinbytes][ngModel]',
                    // eslint-disable-next-line @typescript-eslint/no-use-before-define
                    providers: [{ provide: forms.NG_VALIDATORS, useExisting: i0.forwardRef(function () { return JhiMinbytesValidatorDirective; }), multi: true }]
                },] }
    ];
    JhiMinbytesValidatorDirective.ctorParameters = function () { return []; };
    JhiMinbytesValidatorDirective.propDecorators = {
        jhiMinbytes: [{ type: i0.Input }]
    };

    /*
     Copyright 2013-Present the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiMaxValidatorDirective = /** @class */ (function () {
        function JhiMaxValidatorDirective() {
        }
        JhiMaxValidatorDirective.prototype.validate = function (c) {
            return c.value === undefined || c.value === null || c.value <= this.jhiMax
                ? null
                : {
                    max: {
                        valid: false
                    }
                };
        };
        return JhiMaxValidatorDirective;
    }());
    JhiMaxValidatorDirective.decorators = [
        { type: i0.Directive, args: [{
                    selector: '[jhiMax][ngModel]',
                    // eslint-disable-next-line @typescript-eslint/no-use-before-define
                    providers: [{ provide: forms.NG_VALIDATORS, useExisting: i0.forwardRef(function () { return JhiMaxValidatorDirective; }), multi: true }]
                },] }
    ];
    JhiMaxValidatorDirective.ctorParameters = function () { return []; };
    JhiMaxValidatorDirective.propDecorators = {
        jhiMax: [{ type: i0.Input }]
    };

    /*
     Copyright 2013-Present the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiMinValidatorDirective = /** @class */ (function () {
        function JhiMinValidatorDirective() {
        }
        JhiMinValidatorDirective.prototype.validate = function (c) {
            return c.value === undefined || c.value === null || c.value >= this.jhiMin
                ? null
                : {
                    min: {
                        valid: false
                    }
                };
        };
        return JhiMinValidatorDirective;
    }());
    JhiMinValidatorDirective.decorators = [
        { type: i0.Directive, args: [{
                    selector: '[jhiMin][ngModel]',
                    // eslint-disable-next-line @typescript-eslint/no-use-before-define
                    providers: [{ provide: forms.NG_VALIDATORS, useExisting: i0.forwardRef(function () { return JhiMinValidatorDirective; }), multi: true }]
                },] }
    ];
    JhiMinValidatorDirective.ctorParameters = function () { return []; };
    JhiMinValidatorDirective.propDecorators = {
        jhiMin: [{ type: i0.Input }]
    };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiSortDirective = /** @class */ (function () {
        function JhiSortDirective() {
            this.predicateChange = new i0.EventEmitter();
            this.ascendingChange = new i0.EventEmitter();
        }
        JhiSortDirective.prototype.sort = function (field) {
            this.ascending = field !== this.predicate ? true : !this.ascending;
            this.predicate = field;
            this.predicateChange.emit(field);
            this.ascendingChange.emit(this.ascending);
            this.callback();
        };
        return JhiSortDirective;
    }());
    JhiSortDirective.decorators = [
        { type: i0.Directive, args: [{
                    selector: '[jhiSort]'
                },] }
    ];
    JhiSortDirective.ctorParameters = function () { return []; };
    JhiSortDirective.propDecorators = {
        predicate: [{ type: i0.Input }],
        ascending: [{ type: i0.Input }],
        callback: [{ type: i0.Input }],
        predicateChange: [{ type: i0.Output }],
        ascendingChange: [{ type: i0.Output }]
    };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiSortByDirective = /** @class */ (function () {
        function JhiSortByDirective(jhiSort, configService) {
            this.jhiSort = jhiSort;
            this.jhiSort = jhiSort;
            var config = configService.getConfig();
            this.sortIcon = config.sortIcon;
            this.sortAscIcon = config.sortAscIcon;
            this.sortDescIcon = config.sortDescIcon;
        }
        JhiSortByDirective.prototype.ngAfterContentInit = function () {
            if (this.jhiSort.predicate && this.jhiSort.predicate !== '_score' && this.jhiSort.predicate === this.jhiSortBy) {
                this.updateIconDefinition(this.iconComponent, this.jhiSort.ascending ? this.sortAscIcon : this.sortDescIcon);
                this.jhiSort.activeIconComponent = this.iconComponent;
            }
        };
        JhiSortByDirective.prototype.onClick = function () {
            if (this.jhiSort.predicate && this.jhiSort.predicate !== '_score') {
                this.jhiSort.sort(this.jhiSortBy);
                this.updateIconDefinition(this.jhiSort.activeIconComponent, this.sortIcon);
                this.updateIconDefinition(this.iconComponent, this.jhiSort.ascending ? this.sortAscIcon : this.sortDescIcon);
                this.jhiSort.activeIconComponent = this.iconComponent;
            }
        };
        JhiSortByDirective.prototype.updateIconDefinition = function (iconComponent, icon) {
            if (iconComponent) {
                iconComponent.icon = icon.iconName;
                iconComponent.render();
            }
        };
        return JhiSortByDirective;
    }());
    JhiSortByDirective.decorators = [
        { type: i0.Directive, args: [{
                    selector: '[jhiSortBy]'
                },] }
    ];
    JhiSortByDirective.ctorParameters = function () { return [
        { type: JhiSortDirective, decorators: [{ type: i0.Host }] },
        { type: JhiConfigService }
    ]; };
    JhiSortByDirective.propDecorators = {
        jhiSortBy: [{ type: i0.Input }],
        iconComponent: [{ type: i0.ContentChild, args: [angularFontawesome.FaIconComponent, { static: true },] }],
        onClick: [{ type: i0.HostListener, args: ['click',] }]
    };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiLanguageService = /** @class */ (function () {
        function JhiLanguageService(translateService, configService) {
            this.translateService = translateService;
            this.configService = configService;
            this.currentLang = 'en';
        }
        JhiLanguageService.prototype.init = function () {
            var config = this.configService.getConfig();
            this.currentLang = config.defaultI18nLang;
            this.translateService.setDefaultLang(this.currentLang);
            this.translateService.use(this.currentLang);
        };
        JhiLanguageService.prototype.changeLanguage = function (languageKey) {
            this.currentLang = languageKey;
            this.configService.CONFIG_OPTIONS.defaultI18nLang = languageKey;
            this.translateService.use(this.currentLang);
        };
        /**
         * @deprecated Will be removed when releasing generator-jhipster v7
         */
        JhiLanguageService.prototype.getCurrent = function () {
            return Promise.resolve(this.currentLang);
        };
        JhiLanguageService.prototype.getCurrentLanguage = function () {
            return this.currentLang;
        };
        return JhiLanguageService;
    }());
    JhiLanguageService.ɵprov = i0.ɵɵdefineInjectable({ factory: function JhiLanguageService_Factory() { return new JhiLanguageService(i0.ɵɵinject(i1.TranslateService), i0.ɵɵinject(JhiConfigService)); }, token: JhiLanguageService, providedIn: "root" });
    JhiLanguageService.decorators = [
        { type: i0.Injectable, args: [{
                    providedIn: 'root'
                },] }
    ];
    JhiLanguageService.ctorParameters = function () { return [
        { type: i1.TranslateService },
        { type: JhiConfigService }
    ]; };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    /**
     * A wrapper directive on top of the translate pipe as the inbuilt translate directive from ngx-translate is too verbose and buggy
     */
    var JhiTranslateDirective = /** @class */ (function () {
        function JhiTranslateDirective(configService, el, translateService) {
            this.configService = configService;
            this.el = el;
            this.translateService = translateService;
            this.directiveDestroyed = new rxjs.Subject();
        }
        JhiTranslateDirective.prototype.ngOnInit = function () {
            var _this = this;
            var enabled = this.configService.getConfig().i18nEnabled;
            if (enabled) {
                this.translateService.onLangChange.pipe(operators.takeUntil(this.directiveDestroyed)).subscribe(function () {
                    _this.getTranslation();
                });
            }
        };
        JhiTranslateDirective.prototype.ngOnChanges = function () {
            var enabled = this.configService.getConfig().i18nEnabled;
            if (enabled) {
                this.getTranslation();
            }
        };
        JhiTranslateDirective.prototype.ngOnDestroy = function () {
            this.directiveDestroyed.next();
            this.directiveDestroyed.complete();
        };
        JhiTranslateDirective.prototype.getTranslation = function () {
            var _this = this;
            this.translateService
                .get(this.jhiTranslate, this.translateValues)
                .pipe(operators.takeUntil(this.directiveDestroyed))
                .subscribe(function (value) {
                _this.el.nativeElement.innerHTML = value;
            }, function () {
                return _this.configService.getConfig().noi18nMessage + "[" + _this.jhiTranslate + "]";
            });
        };
        return JhiTranslateDirective;
    }());
    JhiTranslateDirective.decorators = [
        { type: i0.Directive, args: [{
                    selector: '[jhiTranslate]'
                },] }
    ];
    JhiTranslateDirective.ctorParameters = function () { return [
        { type: JhiConfigService },
        { type: i0.ElementRef },
        { type: i1.TranslateService, decorators: [{ type: i0.Optional }] }
    ]; };
    JhiTranslateDirective.propDecorators = {
        jhiTranslate: [{ type: i0.Input }],
        translateValues: [{ type: i0.Input }]
    };

    var JhiMissingTranslationHandler = /** @class */ (function () {
        function JhiMissingTranslationHandler(configService) {
            this.configService = configService;
        }
        JhiMissingTranslationHandler.prototype.handle = function (params) {
            var key = params.key;
            return this.configService.getConfig().noi18nMessage + "[" + key + "]";
        };
        return JhiMissingTranslationHandler;
    }());

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */

    /*! *****************************************************************************
    Copyright (c) Microsoft Corporation.

    Permission to use, copy, modify, and/or distribute this software for any
    purpose with or without fee is hereby granted.

    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
    REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
    AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
    INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
    LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
    OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
    PERFORMANCE OF THIS SOFTWARE.
    ***************************************************************************** */
    /* global Reflect, Promise */
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b)
                if (b.hasOwnProperty(p))
                    d[p] = b[p]; };
        return extendStatics(d, b);
    };
    function __extends(d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    }
    var __assign = function () {
        __assign = Object.assign || function __assign(t) {
            for (var s, i = 1, n = arguments.length; i < n; i++) {
                s = arguments[i];
                for (var p in s)
                    if (Object.prototype.hasOwnProperty.call(s, p))
                        t[p] = s[p];
            }
            return t;
        };
        return __assign.apply(this, arguments);
    };
    function __rest(s, e) {
        var t = {};
        for (var p in s)
            if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
                t[p] = s[p];
        if (s != null && typeof Object.getOwnPropertySymbols === "function")
            for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
                if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
                    t[p[i]] = s[p[i]];
            }
        return t;
    }
    function __decorate(decorators, target, key, desc) {
        var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
        if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
            r = Reflect.decorate(decorators, target, key, desc);
        else
            for (var i = decorators.length - 1; i >= 0; i--)
                if (d = decorators[i])
                    r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
        return c > 3 && r && Object.defineProperty(target, key, r), r;
    }
    function __param(paramIndex, decorator) {
        return function (target, key) { decorator(target, key, paramIndex); };
    }
    function __metadata(metadataKey, metadataValue) {
        if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
            return Reflect.metadata(metadataKey, metadataValue);
    }
    function __awaiter(thisArg, _arguments, P, generator) {
        function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
        return new (P || (P = Promise))(function (resolve, reject) {
            function fulfilled(value) { try {
                step(generator.next(value));
            }
            catch (e) {
                reject(e);
            } }
            function rejected(value) { try {
                step(generator["throw"](value));
            }
            catch (e) {
                reject(e);
            } }
            function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
            step((generator = generator.apply(thisArg, _arguments || [])).next());
        });
    }
    function __generator(thisArg, body) {
        var _ = { label: 0, sent: function () { if (t[0] & 1)
                throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
        return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
        function verb(n) { return function (v) { return step([n, v]); }; }
        function step(op) {
            if (f)
                throw new TypeError("Generator is already executing.");
            while (_)
                try {
                    if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
                        return t;
                    if (y = 0, t)
                        op = [op[0] & 2, t.value];
                    switch (op[0]) {
                        case 0:
                        case 1:
                            t = op;
                            break;
                        case 4:
                            _.label++;
                            return { value: op[1], done: false };
                        case 5:
                            _.label++;
                            y = op[1];
                            op = [0];
                            continue;
                        case 7:
                            op = _.ops.pop();
                            _.trys.pop();
                            continue;
                        default:
                            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
                                _ = 0;
                                continue;
                            }
                            if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
                                _.label = op[1];
                                break;
                            }
                            if (op[0] === 6 && _.label < t[1]) {
                                _.label = t[1];
                                t = op;
                                break;
                            }
                            if (t && _.label < t[2]) {
                                _.label = t[2];
                                _.ops.push(op);
                                break;
                            }
                            if (t[2])
                                _.ops.pop();
                            _.trys.pop();
                            continue;
                    }
                    op = body.call(thisArg, _);
                }
                catch (e) {
                    op = [6, e];
                    y = 0;
                }
                finally {
                    f = t = 0;
                }
            if (op[0] & 5)
                throw op[1];
            return { value: op[0] ? op[1] : void 0, done: true };
        }
    }
    var __createBinding = Object.create ? (function (o, m, k, k2) {
        if (k2 === undefined)
            k2 = k;
        Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
    }) : (function (o, m, k, k2) {
        if (k2 === undefined)
            k2 = k;
        o[k2] = m[k];
    });
    function __exportStar(m, exports) {
        for (var p in m)
            if (p !== "default" && !exports.hasOwnProperty(p))
                __createBinding(exports, m, p);
    }
    function __values(o) {
        var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
        if (m)
            return m.call(o);
        if (o && typeof o.length === "number")
            return {
                next: function () {
                    if (o && i >= o.length)
                        o = void 0;
                    return { value: o && o[i++], done: !o };
                }
            };
        throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
    }
    function __read(o, n) {
        var m = typeof Symbol === "function" && o[Symbol.iterator];
        if (!m)
            return o;
        var i = m.call(o), r, ar = [], e;
        try {
            while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
                ar.push(r.value);
        }
        catch (error) {
            e = { error: error };
        }
        finally {
            try {
                if (r && !r.done && (m = i["return"]))
                    m.call(i);
            }
            finally {
                if (e)
                    throw e.error;
            }
        }
        return ar;
    }
    function __spread() {
        for (var ar = [], i = 0; i < arguments.length; i++)
            ar = ar.concat(__read(arguments[i]));
        return ar;
    }
    function __spreadArrays() {
        for (var s = 0, i = 0, il = arguments.length; i < il; i++)
            s += arguments[i].length;
        for (var r = Array(s), k = 0, i = 0; i < il; i++)
            for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
                r[k] = a[j];
        return r;
    }
    ;
    function __await(v) {
        return this instanceof __await ? (this.v = v, this) : new __await(v);
    }
    function __asyncGenerator(thisArg, _arguments, generator) {
        if (!Symbol.asyncIterator)
            throw new TypeError("Symbol.asyncIterator is not defined.");
        var g = generator.apply(thisArg, _arguments || []), i, q = [];
        return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
        function verb(n) { if (g[n])
            i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
        function resume(n, v) { try {
            step(g[n](v));
        }
        catch (e) {
            settle(q[0][3], e);
        } }
        function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
        function fulfill(value) { resume("next", value); }
        function reject(value) { resume("throw", value); }
        function settle(f, v) { if (f(v), q.shift(), q.length)
            resume(q[0][0], q[0][1]); }
    }
    function __asyncDelegator(o) {
        var i, p;
        return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
        function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
    }
    function __asyncValues(o) {
        if (!Symbol.asyncIterator)
            throw new TypeError("Symbol.asyncIterator is not defined.");
        var m = o[Symbol.asyncIterator], i;
        return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
        function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
        function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
    }
    function __makeTemplateObject(cooked, raw) {
        if (Object.defineProperty) {
            Object.defineProperty(cooked, "raw", { value: raw });
        }
        else {
            cooked.raw = raw;
        }
        return cooked;
    }
    ;
    var __setModuleDefault = Object.create ? (function (o, v) {
        Object.defineProperty(o, "default", { enumerable: true, value: v });
    }) : function (o, v) {
        o["default"] = v;
    };
    function __importStar(mod) {
        if (mod && mod.__esModule)
            return mod;
        var result = {};
        if (mod != null)
            for (var k in mod)
                if (Object.hasOwnProperty.call(mod, k))
                    __createBinding(result, mod, k);
        __setModuleDefault(result, mod);
        return result;
    }
    function __importDefault(mod) {
        return (mod && mod.__esModule) ? mod : { default: mod };
    }
    function __classPrivateFieldGet(receiver, privateMap) {
        if (!privateMap.has(receiver)) {
            throw new TypeError("attempted to get private field on non-instance");
        }
        return privateMap.get(receiver);
    }
    function __classPrivateFieldSet(receiver, privateMap, value) {
        if (!privateMap.has(receiver)) {
            throw new TypeError("attempted to set private field on non-instance");
        }
        privateMap.set(receiver, value);
        return value;
    }

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiThreadModalComponent = /** @class */ (function () {
        function JhiThreadModalComponent(activeModal) {
            this.activeModal = activeModal;
            this.threadDumpAll = 0;
            this.threadDumpBlocked = 0;
            this.threadDumpRunnable = 0;
            this.threadDumpTimedWaiting = 0;
            this.threadDumpWaiting = 0;
        }
        JhiThreadModalComponent.prototype.ngOnInit = function () {
            var _this = this;
            this.threadDump.forEach(function (value) {
                if (value.threadState === 'RUNNABLE') {
                    _this.threadDumpRunnable += 1;
                }
                else if (value.threadState === 'WAITING') {
                    _this.threadDumpWaiting += 1;
                }
                else if (value.threadState === 'TIMED_WAITING') {
                    _this.threadDumpTimedWaiting += 1;
                }
                else if (value.threadState === 'BLOCKED') {
                    _this.threadDumpBlocked += 1;
                }
            });
            this.threadDumpAll = this.threadDumpRunnable + this.threadDumpWaiting + this.threadDumpTimedWaiting + this.threadDumpBlocked;
        };
        JhiThreadModalComponent.prototype.getBadgeClass = function (threadState) {
            if (threadState === 'RUNNABLE') {
                return 'badge-success';
            }
            else if (threadState === 'WAITING') {
                return 'badge-info';
            }
            else if (threadState === 'TIMED_WAITING') {
                return 'badge-warning';
            }
            else if (threadState === 'BLOCKED') {
                return 'badge-danger';
            }
        };
        return JhiThreadModalComponent;
    }());
    JhiThreadModalComponent.decorators = [
        { type: i0.Component, args: [{
                    selector: 'jhi-thread-modal',
                    template: "\n        <div class=\"modal-header\">\n            <h4 class=\"modal-title\" jhiTranslate=\"metrics.jvm.threads.dump.title\">Threads dump</h4>\n            <button type=\"button\" class=\"close\" (click)=\"activeModal.dismiss('closed')\">&times;</button>\n        </div>\n        <div class=\"modal-body\">\n            <span class=\"badge badge-primary\" (click)=\"threadDumpFilter = {}\">\n                All&nbsp;<span class=\"badge badge-pill badge-default\">{{ threadDumpAll }}</span> </span\n            >&nbsp;\n            <span class=\"badge badge-success\" (click)=\"threadDumpFilter = { threadState: 'RUNNABLE' }\">\n                Runnable&nbsp;<span class=\"badge badge-pill badge-default\">{{ threadDumpRunnable }}</span> </span\n            >&nbsp;\n            <span class=\"badge badge-info\" (click)=\"threadDumpFilter = { threadState: 'WAITING' }\"\n                >Waiting&nbsp;<span class=\"badge badge-pill badge-default\">{{ threadDumpWaiting }}</span></span\n            >&nbsp;\n            <span class=\"badge badge-warning\" (click)=\"threadDumpFilter = { threadState: 'TIMED_WAITING' }\">\n                Timed Waiting&nbsp;<span class=\"badge badge-pill badge-default\">{{ threadDumpTimedWaiting }}</span> </span\n            >&nbsp;\n            <span class=\"badge badge-danger\" (click)=\"threadDumpFilter = { threadState: 'BLOCKED' }\"\n                >Blocked&nbsp;<span class=\"badge badge-pill badge-default\">{{ threadDumpBlocked }}</span></span\n            >&nbsp;\n            <div class=\"mt-2\">&nbsp;</div>\n            Filter\n            <input type=\"text\" [(ngModel)]=\"threadDumpFilter\" class=\"form-control\" />\n            <div class=\"pad\" *ngFor=\"let entry of (threadDump | pureFilter: threadDumpFilter:'lockName' | keys)\">\n                <h6>\n                    <span class=\"badge\" [ngClass]=\"getBadgeClass(entry.value.threadState)\">{{ entry.value.threadState }}</span\n                    >&nbsp;{{ entry.value.threadName }}\n                    (ID\n                    {{ entry.value.threadId }})\n                    <a (click)=\"entry.show = !entry.show\" href=\"javascript:void(0);\">\n                        <span [hidden]=\"entry.show\" jhiTranslate=\"metrics.jvm.threads.dump.show\">Show StackTrace</span>\n                        <span [hidden]=\"!entry.show\" jhiTranslate=\"metrics.jvm.threads.dump.hide\">Hide StackTrace</span>\n                    </a>\n                </h6>\n                <div class=\"card\" [hidden]=\"!entry.show\">\n                    <div class=\"card-body\">\n                        <div *ngFor=\"let st of (entry.value.stackTrace | keys)\" class=\"break\">\n                            <samp\n                                >{{ st.value.className }}.{{ st.value.methodName }}(<code\n                                    >{{ st.value.fileName }}:{{ st.value.lineNumber }}</code\n                                >)</samp\n                            >\n                            <span class=\"mt-1\"></span>\n                        </div>\n                    </div>\n                </div>\n                <table class=\"table table-sm table-responsive\">\n                    <thead>\n                        <tr>\n                            <th jhiTranslate=\"metrics.jvm.threads.dump.blockedtime\">Blocked Time</th>\n                            <th jhiTranslate=\"metrics.jvm.threads.dump.blockedcount\">Blocked Count</th>\n                            <th jhiTranslate=\"metrics.jvm.threads.dump.waitedtime\">Waited Time</th>\n                            <th jhiTranslate=\"metrics.jvm.threads.dump.waitedcount\">Waited Count</th>\n                            <th jhiTranslate=\"metrics.jvm.threads.dump.lockname\">Lock Name</th>\n                        </tr>\n                    </thead>\n                    <tbody>\n                        <tr>\n                            <td>{{ entry.value.blockedTime }}</td>\n                            <td>{{ entry.value.blockedCount }}</td>\n                            <td>{{ entry.value.waitedTime }}</td>\n                            <td>{{ entry.value.waitedCount }}</td>\n                            <td class=\"thread-dump-modal-lock\" title=\"{{ entry.value.lockName }}\">\n                                <code>{{ entry.value.lockName }}</code>\n                            </td>\n                        </tr>\n                    </tbody>\n                </table>\n            </div>\n        </div>\n        <div class=\"modal-footer\">\n            <button type=\"button\" class=\"btn btn-secondary float-left\" data-dismiss=\"modal\" (click)=\"activeModal.dismiss('closed')\">\n                Done\n            </button>\n        </div>\n    "
                },] }
    ];
    JhiThreadModalComponent.ctorParameters = function () { return [
        { type: ngBootstrap.NgbActiveModal }
    ]; };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiJvmMemoryComponent = /** @class */ (function () {
        function JhiJvmMemoryComponent() {
        }
        return JhiJvmMemoryComponent;
    }());
    JhiJvmMemoryComponent.decorators = [
        { type: i0.Component, args: [{
                    selector: 'jhi-jvm-memory',
                    template: "\n        <h4 jhiTranslate=\"metrics.jvm.memory.title\">Memory</h4>\n        <div *ngIf=\"!updating\">\n            <div *ngFor=\"let entry of (jvmMemoryMetrics | keys)\">\n                <span *ngIf=\"entry.value.max != -1; else other\">\n                    <span>{{ entry.key }}</span> ({{ entry.value.used / 1048576 | number: '1.0-0' }}M /\n                    {{ entry.value.max / 1048576 | number: '1.0-0' }}M)\n                </span>\n                <div>Committed : {{ entry.value.committed / 1048576 | number: '1.0-0' }}M</div>\n                <ng-template #other\n                    ><span\n                        ><span>{{ entry.key }}</span> {{ entry.value.used / 1048576 | number: '1.0-0' }}M</span\n                    >\n                </ng-template>\n                <ngb-progressbar\n                    *ngIf=\"entry.value.max != -1\"\n                    type=\"success\"\n                    [value]=\"(100 * entry.value.used) / entry.value.max\"\n                    [striped]=\"true\"\n                    [animated]=\"false\"\n                >\n                    <span>{{ (entry.value.used * 100) / entry.value.max | number: '1.0-0' }}%</span>\n                </ngb-progressbar>\n            </div>\n        </div>\n    "
                },] }
    ];
    JhiJvmMemoryComponent.propDecorators = {
        jvmMemoryMetrics: [{ type: i0.Input }],
        updating: [{ type: i0.Input }]
    };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiJvmThreadsComponent = /** @class */ (function () {
        function JhiJvmThreadsComponent(modalService) {
            this.modalService = modalService;
        }
        JhiJvmThreadsComponent.prototype.ngOnInit = function () {
            var _this = this;
            this.threadStats = {
                threadDumpRunnable: 0,
                threadDumpWaiting: 0,
                threadDumpTimedWaiting: 0,
                threadDumpBlocked: 0,
                threadDumpAll: 0
            };
            this.threadData.forEach(function (value) {
                if (value.threadState === 'RUNNABLE') {
                    _this.threadStats.threadDumpRunnable += 1;
                }
                else if (value.threadState === 'WAITING') {
                    _this.threadStats.threadDumpWaiting += 1;
                }
                else if (value.threadState === 'TIMED_WAITING') {
                    _this.threadStats.threadDumpTimedWaiting += 1;
                }
                else if (value.threadState === 'BLOCKED') {
                    _this.threadStats.threadDumpBlocked += 1;
                }
            });
            this.threadStats.threadDumpAll =
                this.threadStats.threadDumpRunnable +
                    this.threadStats.threadDumpWaiting +
                    this.threadStats.threadDumpTimedWaiting +
                    this.threadStats.threadDumpBlocked;
        };
        JhiJvmThreadsComponent.prototype.open = function () {
            var modalRef = this.modalService.open(JhiThreadModalComponent);
            modalRef.componentInstance.threadDump = this.threadData;
        };
        return JhiJvmThreadsComponent;
    }());
    JhiJvmThreadsComponent.decorators = [
        { type: i0.Component, args: [{
                    selector: 'jhi-jvm-threads',
                    template: "\n        <h4 jhiTranslate=\"metrics.jvm.threads.title\">Threads</h4>\n        <span><span jhiTranslate=\"metrics.jvm.threads.runnable\">Runnable</span> {{ threadStats.threadDumpRunnable }}</span>\n        <ngb-progressbar\n            [value]=\"threadStats.threadDumpRunnable\"\n            [max]=\"threadStats.threadDumpAll\"\n            [striped]=\"true\"\n            [animated]=\"false\"\n            type=\"success\"\n        >\n            <span>{{ (threadStats.threadDumpRunnable * 100) / threadStats.threadDumpAll | number: '1.0-0' }}%</span>\n        </ngb-progressbar>\n        <span><span jhiTranslate=\"metrics.jvm.threads.timedwaiting\">Timed Waiting</span> ({{ threadStats.threadDumpTimedWaiting }})</span>\n        <ngb-progressbar\n            [value]=\"threadStats.threadDumpTimedWaiting\"\n            [max]=\"threadStats.threadDumpAll\"\n            [striped]=\"true\"\n            [animated]=\"false\"\n            type=\"warning\"\n        >\n            <span>{{ (threadStats.threadDumpTimedWaiting * 100) / threadStats.threadDumpAll | number: '1.0-0' }}%</span>\n        </ngb-progressbar>\n        <span><span jhiTranslate=\"metrics.jvm.threads.waiting\">Waiting</span> ({{ threadStats.threadDumpWaiting }})</span>\n        <ngb-progressbar\n            [value]=\"threadStats.threadDumpWaiting\"\n            [max]=\"threadStats.threadDumpAll\"\n            [striped]=\"true\"\n            [animated]=\"false\"\n            type=\"warning\"\n        >\n            <span>{{ (threadStats.threadDumpWaiting * 100) / threadStats.threadDumpAll | number: '1.0-0' }}%</span>\n        </ngb-progressbar>\n        <span><span jhiTranslate=\"metrics.jvm.threads.blocked\">Blocked</span> ({{ threadStats.threadDumpBlocked }})</span>\n        <ngb-progressbar\n            [value]=\"threadStats.threadDumpBlocked\"\n            [max]=\"threadStats.threadDumpAll\"\n            [striped]=\"true\"\n            [animated]=\"false\"\n            type=\"success\"\n        >\n            <span>{{ (threadStats.threadDumpBlocked * 100) / threadStats.threadDumpAll | number: '1.0-0' }}%</span>\n        </ngb-progressbar>\n        <div>Total: {{ threadStats.threadDumpAll }}</div>\n        <button class=\"hand btn btn-primary btn-sm\" (click)=\"open()\" data-toggle=\"modal\" data-target=\"#threadDump\">\n            <span>Expand</span>\n        </button>\n    "
                },] }
    ];
    JhiJvmThreadsComponent.ctorParameters = function () { return [
        { type: ngBootstrap.NgbModal }
    ]; };
    JhiJvmThreadsComponent.propDecorators = {
        threadData: [{ type: i0.Input }]
    };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiMetricsCacheComponent = /** @class */ (function () {
        function JhiMetricsCacheComponent() {
        }
        JhiMetricsCacheComponent.prototype.filterNaN = function (input) {
            if (isNaN(input)) {
                return 0;
            }
            return input;
        };
        return JhiMetricsCacheComponent;
    }());
    JhiMetricsCacheComponent.decorators = [
        { type: i0.Component, args: [{
                    selector: 'jhi-metrics-cache',
                    template: "\n        <h3 jhiTranslate=\"metrics.cache.title\">Cache statistics</h3>\n        <div class=\"table-responsive\" *ngIf=\"!updating\">\n            <table class=\"table table-striped\">\n                <thead>\n                    <tr>\n                        <th jhiTranslate=\"metrics.cache.cachename\">Cache name</th>\n                        <th class=\"text-right\" data-translate=\"metrics.cache.hits\">Cache Hits</th>\n                        <th class=\"text-right\" data-translate=\"metrics.cache.misses\">Cache Misses</th>\n                        <th class=\"text-right\" data-translate=\"metrics.cache.gets\">Cache Gets</th>\n                        <th class=\"text-right\" data-translate=\"metrics.cache.puts\">Cache Puts</th>\n                        <th class=\"text-right\" data-translate=\"metrics.cache.removals\">Cache Removals</th>\n                        <th class=\"text-right\" data-translate=\"metrics.cache.evictions\">Cache Evictions</th>\n                        <th class=\"text-right\" data-translate=\"metrics.cache.hitPercent\">Cache Hit %</th>\n                        <th class=\"text-right\" data-translate=\"metrics.cache.missPercent\">Cache Miss %</th>\n                    </tr>\n                </thead>\n                <tbody>\n                    <tr *ngFor=\"let entry of (cacheMetrics | keys)\">\n                        <td>{{ entry.key }}</td>\n                        <td class=\"text-right\">{{ entry.value['cache.gets.hit'] }}</td>\n                        <td class=\"text-right\">{{ entry.value['cache.gets.miss'] }}</td>\n                        <td class=\"text-right\">{{ entry.value['cache.gets.hit'] + entry.value['cache.gets.miss'] }}</td>\n                        <td class=\"text-right\">{{ entry.value['cache.puts'] }}</td>\n                        <td class=\"text-right\">{{ entry.value['cache.removals'] }}</td>\n                        <td class=\"text-right\">{{ entry.value['cache.evictions'] }}</td>\n                        <td class=\"text-right\">\n                            {{\n                                filterNaN(\n                                    (100 * entry.value['cache.gets.hit']) / (entry.value['cache.gets.hit'] + entry.value['cache.gets.miss'])\n                                ) | number: '1.0-4'\n                            }}\n                        </td>\n                        <td class=\"text-right\">\n                            {{\n                                filterNaN(\n                                    (100 * entry.value['cache.gets.miss']) /\n                                        (entry.value['cache.gets.hit'] + entry.value['cache.gets.miss'])\n                                ) | number: '1.0-4'\n                            }}\n                        </td>\n                    </tr>\n                </tbody>\n            </table>\n        </div>\n    "
                },] }
    ];
    JhiMetricsCacheComponent.propDecorators = {
        cacheMetrics: [{ type: i0.Input }],
        updating: [{ type: i0.Input }]
    };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiMetricsDatasourceComponent = /** @class */ (function () {
        function JhiMetricsDatasourceComponent() {
        }
        JhiMetricsDatasourceComponent.prototype.filterNaN = function (input) {
            if (isNaN(input)) {
                return 0;
            }
            return input;
        };
        return JhiMetricsDatasourceComponent;
    }());
    JhiMetricsDatasourceComponent.decorators = [
        { type: i0.Component, args: [{
                    selector: 'jhi-metrics-datasource',
                    template: "\n        <h3 jhiTranslate=\"metrics.datasource.title\">DataSource statistics (time in millisecond)</h3>\n        <div class=\"table-responsive\" *ngIf=\"!updating\">\n            <table class=\"table table-striped\">\n                <thead>\n                    <tr>\n                        <th>\n                            <span jhiTranslate=\"metrics.datasource.usage\">Connection Pool Usage</span> (active:\n                            {{ datasourceMetrics.active.value }}, min: {{ datasourceMetrics.min.value }}, max:\n                            {{ datasourceMetrics.max.value }}, idle: {{ datasourceMetrics.idle.value }})\n                        </th>\n                        <th class=\"text-right\" jhiTranslate=\"metrics.datasource.count\">Count</th>\n                        <th class=\"text-right\" jhiTranslate=\"metrics.datasource.mean\">Mean</th>\n                        <th class=\"text-right\" jhiTranslate=\"metrics.servicesstats.table.min\">Min</th>\n                        <th class=\"text-right\" jhiTranslate=\"metrics.servicesstats.table.p50\">p50</th>\n                        <th class=\"text-right\" jhiTranslate=\"metrics.servicesstats.table.p75\">p75</th>\n                        <th class=\"text-right\" jhiTranslate=\"metrics.servicesstats.table.p95\">p95</th>\n                        <th class=\"text-right\" jhiTranslate=\"metrics.servicesstats.table.p99\">p99</th>\n                        <th class=\"text-right\" jhiTranslate=\"metrics.datasource.max\">Max</th>\n                    </tr>\n                </thead>\n                <tbody>\n                    <tr>\n                        <td>Acquire</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.acquire.count }}</td>\n                        <td class=\"text-right\">{{ filterNaN(datasourceMetrics.acquire.mean) | number: '1.0-2' }}</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.acquire['0.0'] | number: '1.0-3' }}</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.acquire['0.5'] | number: '1.0-3' }}</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.acquire['0.75'] | number: '1.0-3' }}</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.acquire['0.95'] | number: '1.0-3' }}</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.acquire['0.99'] | number: '1.0-3' }}</td>\n                        <td class=\"text-right\">{{ filterNaN(datasourceMetrics.acquire.max) | number: '1.0-2' }}</td>\n                    </tr>\n                    <tr>\n                        <td>Creation</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.creation.count }}</td>\n                        <td class=\"text-right\">{{ filterNaN(datasourceMetrics.creation.mean) | number: '1.0-2' }}</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.creation['0.0'] | number: '1.0-3' }}</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.creation['0.5'] | number: '1.0-3' }}</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.creation['0.75'] | number: '1.0-3' }}</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.creation['0.95'] | number: '1.0-3' }}</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.creation['0.99'] | number: '1.0-3' }}</td>\n                        <td class=\"text-right\">{{ filterNaN(datasourceMetrics.creation.max) | number: '1.0-2' }}</td>\n                    </tr>\n                    <tr>\n                        <td>Usage</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.usage.count }}</td>\n                        <td class=\"text-right\">{{ filterNaN(datasourceMetrics.usage.mean) | number: '1.0-2' }}</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.usage['0.0'] | number: '1.0-3' }}</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.usage['0.5'] | number: '1.0-3' }}</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.usage['0.75'] | number: '1.0-3' }}</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.usage['0.95'] | number: '1.0-3' }}</td>\n                        <td class=\"text-right\">{{ datasourceMetrics.usage['0.99'] | number: '1.0-3' }}</td>\n                        <td class=\"text-right\">{{ filterNaN(datasourceMetrics.usage.max) | number: '1.0-2' }}</td>\n                    </tr>\n                </tbody>\n            </table>\n        </div>\n    "
                },] }
    ];
    JhiMetricsDatasourceComponent.propDecorators = {
        datasourceMetrics: [{ type: i0.Input }],
        updating: [{ type: i0.Input }]
    };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiMetricsEndpointsRequestsComponent = /** @class */ (function () {
        function JhiMetricsEndpointsRequestsComponent() {
        }
        return JhiMetricsEndpointsRequestsComponent;
    }());
    JhiMetricsEndpointsRequestsComponent.decorators = [
        { type: i0.Component, args: [{
                    selector: 'jhi-metrics-endpoints-requests',
                    template: "\n        <h3>Endpoints requests (time in millisecond)</h3>\n        <div class=\"table-responsive\" *ngIf=\"!updating\">\n            <table class=\"table table-striped\">\n                <thead>\n                    <tr>\n                        <th>Method</th>\n                        <th>Endpoint url</th>\n                        <th class=\"text-right\">Count</th>\n                        <th class=\"text-right\">Mean</th>\n                    </tr>\n                </thead>\n                <tbody>\n                    <ng-container *ngFor=\"let entry of (endpointsRequestsMetrics | keys)\">\n                        <tr *ngFor=\"let method of (entry.value | keys)\">\n                            <td>{{ method.key }}</td>\n                            <td>{{ entry.key }}</td>\n                            <td class=\"text-right\">{{ method.value.count }}</td>\n                            <td class=\"text-right\">{{ method.value.mean | number: '1.0-3' }}</td>\n                        </tr>\n                    </ng-container>\n                </tbody>\n            </table>\n        </div>\n    "
                },] }
    ];
    JhiMetricsEndpointsRequestsComponent.propDecorators = {
        endpointsRequestsMetrics: [{ type: i0.Input }],
        updating: [{ type: i0.Input }]
    };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiMetricsGarbageCollectorComponent = /** @class */ (function () {
        function JhiMetricsGarbageCollectorComponent() {
        }
        return JhiMetricsGarbageCollectorComponent;
    }());
    JhiMetricsGarbageCollectorComponent.decorators = [
        { type: i0.Component, args: [{
                    selector: 'jhi-metrics-garbagecollector',
                    template: "\n        <div class=\"row\">\n            <div class=\"col-md-4\">\n                <div *ngIf=\"garbageCollectorMetrics\">\n                    <span>\n                        GC Live Data Size/GC Max Data Size ({{\n                            garbageCollectorMetrics['jvm.gc.live.data.size'] / 1048576 | number: '1.0-0'\n                        }}M / {{ garbageCollectorMetrics['jvm.gc.max.data.size'] / 1048576 | number: '1.0-0' }}M)</span\n                    >\n                    <ngb-progressbar\n                        [max]=\"garbageCollectorMetrics['jvm.gc.max.data.size']\"\n                        [value]=\"garbageCollectorMetrics['jvm.gc.live.data.size']\"\n                        [striped]=\"true\"\n                        [animated]=\"false\"\n                        type=\"success\"\n                    >\n                        <span\n                            >{{\n                                (100 * garbageCollectorMetrics['jvm.gc.live.data.size']) / garbageCollectorMetrics['jvm.gc.max.data.size']\n                                    | number: '1.0-2'\n                            }}%</span\n                        >\n                    </ngb-progressbar>\n                </div>\n            </div>\n            <div class=\"col-md-4\">\n                <div *ngIf=\"garbageCollectorMetrics\">\n                    <span>\n                        GC Memory Promoted/GC Memory Allocated ({{\n                            garbageCollectorMetrics['jvm.gc.memory.promoted'] / 1048576 | number: '1.0-0'\n                        }}M / {{ garbageCollectorMetrics['jvm.gc.memory.allocated'] / 1048576 | number: '1.0-0' }}M)</span\n                    >\n                    <ngb-progressbar\n                        [max]=\"garbageCollectorMetrics['jvm.gc.memory.allocated']\"\n                        [value]=\"garbageCollectorMetrics['jvm.gc.memory.promoted']\"\n                        [striped]=\"true\"\n                        [animated]=\"false\"\n                        type=\"success\"\n                    >\n                        <span\n                            >{{\n                                (100 * garbageCollectorMetrics['jvm.gc.memory.promoted']) /\n                                    garbageCollectorMetrics['jvm.gc.memory.allocated'] | number: '1.0-2'\n                            }}%</span\n                        >\n                    </ngb-progressbar>\n                </div>\n            </div>\n            <div class=\"col-md-4\">\n                <div class=\"row\" *ngIf=\"garbageCollectorMetrics\">\n                    <div class=\"col-md-9\">Classes loaded</div>\n                    <div class=\"col-md-3 text-right\">{{ garbageCollectorMetrics.classesLoaded }}</div>\n                </div>\n                <div class=\"row\" *ngIf=\"garbageCollectorMetrics\">\n                    <div class=\"col-md-9\">Classes unloaded</div>\n                    <div class=\"col-md-3 text-right\">{{ garbageCollectorMetrics.classesUnloaded }}</div>\n                </div>\n            </div>\n            <div class=\"table-responsive\" *ngIf=\"!updating && garbageCollectorMetrics\">\n                <table class=\"table table-striped\">\n                    <thead>\n                        <tr>\n                            <th></th>\n                            <th class=\"text-right\" jhiTranslate=\"metrics.servicesstats.table.count\">Count</th>\n                            <th class=\"text-right\" jhiTranslate=\"metrics.servicesstats.table.mean\">Mean</th>\n                            <th class=\"text-right\" jhiTranslate=\"metrics.servicesstats.table.min\">Min</th>\n                            <th class=\"text-right\" jhiTranslate=\"metrics.servicesstats.table.p50\">p50</th>\n                            <th class=\"text-right\" jhiTranslate=\"metrics.servicesstats.table.p75\">p75</th>\n                            <th class=\"text-right\" jhiTranslate=\"metrics.servicesstats.table.p95\">p95</th>\n                            <th class=\"text-right\" jhiTranslate=\"metrics.servicesstats.table.p99\">p99</th>\n                            <th class=\"text-right\" jhiTranslate=\"metrics.servicesstats.table.max\">Max</th>\n                        </tr>\n                    </thead>\n                    <tbody>\n                        <tr>\n                            <td>jvm.gc.pause</td>\n                            <td class=\"text-right\">{{ garbageCollectorMetrics['jvm.gc.pause'].count }}</td>\n                            <td class=\"text-right\">{{ garbageCollectorMetrics['jvm.gc.pause'].mean | number: '1.0-3' }}</td>\n                            <td class=\"text-right\">{{ garbageCollectorMetrics['jvm.gc.pause']['0.0'] | number: '1.0-3' }}</td>\n                            <td class=\"text-right\">{{ garbageCollectorMetrics['jvm.gc.pause']['0.5'] | number: '1.0-3' }}</td>\n                            <td class=\"text-right\">{{ garbageCollectorMetrics['jvm.gc.pause']['0.75'] | number: '1.0-3' }}</td>\n                            <td class=\"text-right\">{{ garbageCollectorMetrics['jvm.gc.pause']['0.95'] | number: '1.0-3' }}</td>\n                            <td class=\"text-right\">{{ garbageCollectorMetrics['jvm.gc.pause']['0.99'] | number: '1.0-3' }}</td>\n                            <td class=\"text-right\">{{ garbageCollectorMetrics['jvm.gc.pause'].max | number: '1.0-3' }}</td>\n                        </tr>\n                    </tbody>\n                </table>\n            </div>\n        </div>\n    "
                },] }
    ];
    JhiMetricsGarbageCollectorComponent.propDecorators = {
        garbageCollectorMetrics: [{ type: i0.Input }],
        updating: [{ type: i0.Input }]
    };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiMetricsHttpRequestComponent = /** @class */ (function () {
        function JhiMetricsHttpRequestComponent() {
        }
        JhiMetricsHttpRequestComponent.prototype.filterNaN = function (input) {
            if (isNaN(input)) {
                return 0;
            }
            return input;
        };
        return JhiMetricsHttpRequestComponent;
    }());
    JhiMetricsHttpRequestComponent.decorators = [
        { type: i0.Component, args: [{
                    selector: 'jhi-metrics-request',
                    template: "\n        <h3 jhiTranslate=\"metrics.jvm.http.title\">HTTP requests (time in millisecond)</h3>\n        <table class=\"table table-striped\" *ngIf=\"!updating\">\n            <thead>\n                <tr>\n                    <th jhiTranslate=\"metrics.jvm.http.table.code\">Code</th>\n                    <th jhiTranslate=\"metrics.jvm.http.table.count\">Count</th>\n                    <th class=\"text-right\" jhiTranslate=\"metrics.jvm.http.table.mean\">Mean</th>\n                    <th class=\"text-right\" jhiTranslate=\"metrics.jvm.http.table.max\">Max</th>\n                </tr>\n            </thead>\n            <tbody>\n                <tr *ngFor=\"let entry of (requestMetrics['percode'] | keys)\">\n                    <td>{{ entry.key }}</td>\n                    <td>\n                        <ngb-progressbar\n                            [max]=\"requestMetrics['all'].count\"\n                            [value]=\"entry.value.count\"\n                            [striped]=\"true\"\n                            [animated]=\"false\"\n                            type=\"success\"\n                        >\n                            <span>{{ entry.value.count }}</span>\n                        </ngb-progressbar>\n                    </td>\n                    <td class=\"text-right\">\n                        {{ filterNaN(entry.value.mean) | number: '1.0-2' }}\n                    </td>\n                    <td class=\"text-right\">{{ entry.value.max | number: '1.0-2' }}</td>\n                </tr>\n            </tbody>\n        </table>\n    "
                },] }
    ];
    JhiMetricsHttpRequestComponent.propDecorators = {
        requestMetrics: [{ type: i0.Input }],
        updating: [{ type: i0.Input }]
    };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiMetricsSystemComponent = /** @class */ (function () {
        function JhiMetricsSystemComponent() {
        }
        JhiMetricsSystemComponent.prototype.convertMillisecondsToDuration = function (ms) {
            var times = {
                year: 31557600000,
                month: 2629746000,
                day: 86400000,
                hour: 3600000,
                minute: 60000,
                second: 1000
            };
            var timeString = '';
            for (var key in times) {
                if (Math.floor(ms / times[key]) > 0) {
                    var plural = '';
                    if (Math.floor(ms / times[key]) > 1) {
                        plural = 's';
                    }
                    timeString += Math.floor(ms / times[key]).toString() + ' ' + key.toString() + plural + ' ';
                    ms = ms - times[key] * Math.floor(ms / times[key]);
                }
            }
            return timeString;
        };
        return JhiMetricsSystemComponent;
    }());
    JhiMetricsSystemComponent.decorators = [
        { type: i0.Component, args: [{
                    selector: 'jhi-metrics-system',
                    template: "\n        <h4>System</h4>\n        <div class=\"row\" *ngIf=\"!updating\">\n            <div class=\"col-md-4\">Uptime</div>\n            <div class=\"col-md-8 text-right\">{{ convertMillisecondsToDuration(systemMetrics['process.uptime']) }}</div>\n        </div>\n        <div class=\"row\" *ngIf=\"!updating\">\n            <div class=\"col-md-4\">Start time</div>\n            <div class=\"col-md-8 text-right\">{{ systemMetrics['process.start.time'] | date: 'full' }}</div>\n        </div>\n        <div class=\"row\" *ngIf=\"!updating\">\n            <div class=\"col-md-9\">Process CPU usage</div>\n            <div class=\"col-md-3 text-right\">{{ 100 * systemMetrics['process.cpu.usage'] | number: '1.0-2' }} %</div>\n        </div>\n        <ngb-progressbar\n            [value]=\"100 * systemMetrics['process.cpu.usage']\"\n            [striped]=\"true\"\n            [animated]=\"false\"\n            type=\"success\"\n            *ngIf=\"!updating\"\n        >\n            <span>{{ 100 * systemMetrics['process.cpu.usage'] | number: '1.0-2' }} %</span>\n        </ngb-progressbar>\n        <div class=\"row\" *ngIf=\"!updating\">\n            <div class=\"col-md-9\">System CPU usage</div>\n            <div class=\"col-md-3 text-right\">{{ 100 * systemMetrics['system.cpu.usage'] | number: '1.0-2' }} %</div>\n        </div>\n        <ngb-progressbar\n            [value]=\"100 * systemMetrics['system.cpu.usage']\"\n            [striped]=\"true\"\n            [animated]=\"false\"\n            type=\"success\"\n            *ngIf=\"!updating\"\n        >\n            <span>{{ 100 * systemMetrics['system.cpu.usage'] | number: '1.0-2' }} %</span>\n        </ngb-progressbar>\n        <div class=\"row\" *ngIf=\"!updating\">\n            <div class=\"col-md-9\">System CPU count</div>\n            <div class=\"col-md-3 text-right\">{{ systemMetrics['system.cpu.count'] }}</div>\n        </div>\n        <div class=\"row\" *ngIf=\"!updating\">\n            <div class=\"col-md-9\">System 1m Load average</div>\n            <div class=\"col-md-3 text-right\">{{ systemMetrics['system.load.average.1m'] | number: '1.0-2' }}</div>\n        </div>\n        <div class=\"row\" *ngIf=\"!updating\">\n            <div class=\"col-md-9\">Process files max</div>\n            <div class=\"col-md-3 text-right\">{{ systemMetrics['process.files.max'] | number: '1.0-0' }}</div>\n        </div>\n        <div class=\"row\" *ngIf=\"!updating\">\n            <div class=\"col-md-9\">Process files open</div>\n            <div class=\"col-md-3 text-right\">{{ systemMetrics['process.files.open'] | number: '1.0-0' }}</div>\n        </div>\n    "
                },] }
    ];
    JhiMetricsSystemComponent.propDecorators = {
        systemMetrics: [{ type: i0.Input }],
        updating: [{ type: i0.Input }]
    };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiCapitalizePipe = /** @class */ (function () {
        function JhiCapitalizePipe() {
        }
        JhiCapitalizePipe.prototype.transform = function (input) {
            if (input !== null) {
                input = input.toLowerCase();
            }
            return input.substring(0, 1).toUpperCase() + input.substring(1);
        };
        return JhiCapitalizePipe;
    }());
    JhiCapitalizePipe.decorators = [
        { type: i0.Pipe, args: [{ name: 'capitalize' },] }
    ];

    var JhiFilterPipe = /** @class */ (function () {
        function JhiFilterPipe() {
        }
        JhiFilterPipe.prototype.transform = function (input, filter, field) {
            if (typeof filter === 'undefined' || filter === '') {
                return input;
            }
            // if filter is of type 'function' compute current value of filter, otherwise return filter
            var currentFilter = typeof filter === 'function' ? filter() : filter;
            if (typeof currentFilter === 'number') {
                return input.filter(this.filterByNumber(currentFilter, field));
            }
            if (typeof currentFilter === 'boolean') {
                return input.filter(this.filterByBoolean(currentFilter, field));
            }
            if (typeof currentFilter === 'string') {
                return input.filter(this.filterByString(currentFilter, field));
            }
            if (typeof currentFilter === 'object') {
                // filter by object ignores 'field' if specified
                return input.filter(this.filterByObject(currentFilter));
            }
            // 'symbol' && 'undefined'
            return input.filter(this.filterDefault(currentFilter, field));
        };
        JhiFilterPipe.prototype.filterByNumber = function (filter, field) {
            return function (value) { return (value && !filter) || (typeof value === 'object' && field)
                ? value[field] && typeof value[field] === 'number' && value[field] === filter
                : typeof value === 'number' && value === filter; };
        };
        JhiFilterPipe.prototype.filterByBoolean = function (filter, field) {
            return function (value) { return typeof value === 'object' && field
                ? value[field] && typeof value[field] === 'boolean' && value[field] === filter
                : typeof value === 'boolean' && value === filter; };
        };
        JhiFilterPipe.prototype.filterByString = function (filter, field) {
            return function (value) { return (value && !filter) || (typeof value === 'object' && field)
                ? value[field] && typeof value[field] === 'string' && value[field].toLowerCase().includes(filter.toLowerCase())
                : typeof value === 'string' && value.toLowerCase().includes(filter.toLowerCase()); };
        };
        JhiFilterPipe.prototype.filterDefault = function (filter, field) {
            return function (value) { return ((value && !filter) || (typeof value === 'object' && field) ? value[field] && filter === value : filter === value); };
        };
        JhiFilterPipe.prototype.filterByObject = function (filter) {
            var _this = this;
            return function (value) {
                var e_1, _a;
                var keys = Object.keys(filter);
                var isMatching = false;
                try {
                    // all fields defined in filter object must match
                    for (var keys_1 = __values(keys), keys_1_1 = keys_1.next(); !keys_1_1.done; keys_1_1 = keys_1.next()) {
                        var key = keys_1_1.value;
                        if (typeof filter[key] === 'number') {
                            isMatching = _this.filterByNumber(filter[key])(value[key]);
                        }
                        else if (typeof filter[key] === 'boolean') {
                            isMatching = _this.filterByBoolean(filter[key])(value[key]);
                        }
                        else if (typeof filter[key] === 'string') {
                            isMatching = _this.filterByString(filter[key])(value[key]);
                        }
                        else {
                            isMatching = _this.filterDefault(filter[key])(value[key]);
                        }
                    }
                }
                catch (e_1_1) { e_1 = { error: e_1_1 }; }
                finally {
                    try {
                        if (keys_1_1 && !keys_1_1.done && (_a = keys_1.return)) _a.call(keys_1);
                    }
                    finally { if (e_1) throw e_1.error; }
                }
                return isMatching;
            };
        };
        return JhiFilterPipe;
    }());
    JhiFilterPipe.decorators = [
        { type: i0.Pipe, args: [{ name: 'filter', pure: false },] }
    ];

    var JhiKeysPipe = /** @class */ (function () {
        function JhiKeysPipe() {
        }
        JhiKeysPipe.prototype.transform = function (value) {
            var e_1, _a;
            var keys = [];
            var valueKeys = Object.keys(value);
            try {
                for (var valueKeys_1 = __values(valueKeys), valueKeys_1_1 = valueKeys_1.next(); !valueKeys_1_1.done; valueKeys_1_1 = valueKeys_1.next()) {
                    var key = valueKeys_1_1.value;
                    keys.push({ key: key, value: value[key] });
                }
            }
            catch (e_1_1) { e_1 = { error: e_1_1 }; }
            finally {
                try {
                    if (valueKeys_1_1 && !valueKeys_1_1.done && (_a = valueKeys_1.return)) _a.call(valueKeys_1);
                }
                finally { if (e_1) throw e_1.error; }
            }
            return keys;
        };
        return JhiKeysPipe;
    }());
    JhiKeysPipe.decorators = [
        { type: i0.Pipe, args: [{ name: 'keys' },] }
    ];

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiOrderByPipe = /** @class */ (function () {
        function JhiOrderByPipe() {
        }
        JhiOrderByPipe.prototype.transform = function (values, predicate, reverse) {
            if (predicate === void 0) { predicate = ''; }
            if (reverse === void 0) { reverse = false; }
            if (predicate === '') {
                return reverse ? values.sort().reverse() : values.sort();
            }
            return values.sort(function (a, b) {
                if (a[predicate] < b[predicate]) {
                    return reverse ? 1 : -1;
                }
                else if (b[predicate] < a[predicate]) {
                    return reverse ? -1 : 1;
                }
                return 0;
            });
        };
        return JhiOrderByPipe;
    }());
    JhiOrderByPipe.decorators = [
        { type: i0.Pipe, args: [{ name: 'orderBy' },] }
    ];

    var JhiPureFilterPipe = /** @class */ (function (_super) {
        __extends(JhiPureFilterPipe, _super);
        function JhiPureFilterPipe() {
            return _super !== null && _super.apply(this, arguments) || this;
        }
        JhiPureFilterPipe.prototype.transform = function (input, filter, field) {
            return _super.prototype.transform.call(this, input, filter, field);
        };
        return JhiPureFilterPipe;
    }(JhiFilterPipe));
    JhiPureFilterPipe.decorators = [
        { type: i0.Pipe, args: [{ name: 'pureFilter' },] }
    ];

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiTruncateCharactersPipe = /** @class */ (function () {
        function JhiTruncateCharactersPipe() {
        }
        JhiTruncateCharactersPipe.prototype.transform = function (input, chars, breakOnWord) {
            if (isNaN(chars)) {
                return input;
            }
            if (chars <= 0) {
                return '';
            }
            if (input && input.length > chars) {
                input = input.substring(0, chars);
                if (!breakOnWord) {
                    var lastspace = input.lastIndexOf(' ');
                    // Get last space
                    if (lastspace !== -1) {
                        input = input.substr(0, lastspace);
                    }
                }
                else {
                    while (input.endsWith(' ')) {
                        input = input.substr(0, input.length - 1);
                    }
                }
                return input + '...';
            }
            return input;
        };
        return JhiTruncateCharactersPipe;
    }());
    JhiTruncateCharactersPipe.decorators = [
        { type: i0.Pipe, args: [{ name: 'truncateCharacters' },] }
    ];

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiTruncateWordsPipe = /** @class */ (function () {
        function JhiTruncateWordsPipe() {
        }
        JhiTruncateWordsPipe.prototype.transform = function (input, words) {
            if (isNaN(words)) {
                return input;
            }
            if (words <= 0) {
                return '';
            }
            if (input) {
                var inputWords = input.split(/\s+/);
                if (inputWords.length > words) {
                    input = inputWords.slice(0, words).join(' ') + '...';
                }
            }
            return input;
        };
        return JhiTruncateWordsPipe;
    }());
    JhiTruncateWordsPipe.decorators = [
        { type: i0.Pipe, args: [{ name: 'truncateWords' },] }
    ];

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JHI_PIPES = [
        JhiCapitalizePipe,
        JhiFilterPipe,
        JhiKeysPipe,
        JhiOrderByPipe,
        JhiPureFilterPipe,
        JhiTruncateCharactersPipe,
        JhiTruncateWordsPipe
    ];
    var JHI_DIRECTIVES = [
        JhiMaxValidatorDirective,
        JhiMinValidatorDirective,
        JhiMaxbytesValidatorDirective,
        JhiMinbytesValidatorDirective,
        JhiSortDirective,
        JhiSortByDirective
    ];
    var JHI_COMPONENTS = [
        JhiItemCountComponent,
        JhiBooleanComponent,
        JhiJvmMemoryComponent,
        JhiJvmThreadsComponent,
        JhiMetricsHttpRequestComponent,
        JhiMetricsEndpointsRequestsComponent,
        JhiMetricsCacheComponent,
        JhiMetricsDatasourceComponent,
        JhiMetricsSystemComponent,
        JhiMetricsGarbageCollectorComponent,
        JhiThreadModalComponent
    ];

    function translatePartialLoader(http) {
        return new httpLoader.TranslateHttpLoader(http, 'i18n/', ".json?buildTimestamp=" + process.env.BUILD_TIMESTAMP);
    }
    function missingTranslationHandler(configService) {
        return new JhiMissingTranslationHandler(configService);
    }
    var NgJhipsterModule = /** @class */ (function () {
        function NgJhipsterModule() {
        }
        NgJhipsterModule.forRoot = function (moduleConfig) {
            return {
                ngModule: NgJhipsterModule,
                providers: [{ provide: JhiModuleConfig, useValue: moduleConfig }],
            };
        };
        return NgJhipsterModule;
    }());
    NgJhipsterModule.decorators = [
        { type: i0.NgModule, args: [{
                    imports: [common.CommonModule, ngBootstrap.NgbModule, forms.FormsModule],
                    declarations: __spread(JHI_PIPES, JHI_DIRECTIVES, JHI_COMPONENTS, [JhiTranslateDirective]),
                    entryComponents: [JhiThreadModalComponent],
                    exports: __spread(JHI_PIPES, JHI_DIRECTIVES, JHI_COMPONENTS, [JhiTranslateDirective, common.CommonModule]),
                },] }
    ];

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    /**
     * An utility service for pagination
     */
    var JhiPaginationUtil = /** @class */ (function () {
        function JhiPaginationUtil() {
        }
        /**
         * Method to find whether the sort is defined
         */
        JhiPaginationUtil.prototype.parseAscending = function (sort) {
            var sortArray = sort.split(',');
            sortArray = sortArray.length > 1 ? sortArray : sort.split('%2C');
            if (sortArray.length > 1) {
                return sortArray.slice(-1)[0] === 'asc';
            }
            // default to true if no sort is defined
            return true;
        };
        /**
         * Method to query params are strings, and need to be parsed
         */
        JhiPaginationUtil.prototype.parsePage = function (page) {
            return parseInt(page, 10);
        };
        /**
         * Method to sort can be in the format `id,asc` or `id`
         */
        JhiPaginationUtil.prototype.parsePredicate = function (sort) {
            return sort.split(',')[0].split('%2C')[0];
        };
        return JhiPaginationUtil;
    }());
    JhiPaginationUtil.ɵprov = i0.ɵɵdefineInjectable({ factory: function JhiPaginationUtil_Factory() { return new JhiPaginationUtil(); }, token: JhiPaginationUtil, providedIn: "root" });
    JhiPaginationUtil.decorators = [
        { type: i0.Injectable, args: [{
                    providedIn: 'root'
                },] }
    ];
    JhiPaginationUtil.ctorParameters = function () { return []; };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    /**
     * An utility service for link parsing.
     */
    var JhiParseLinks = /** @class */ (function () {
        function JhiParseLinks() {
        }
        /**
         * Method to parse the links
         */
        JhiParseLinks.prototype.parse = function (header) {
            if (header.length === 0) {
                throw new Error('input must not be of zero length');
            }
            // Split parts by comma
            var parts = header.split(',');
            var links = {};
            // Parse each part into a named link
            parts.forEach(function (p) {
                var section = p.split(';');
                if (section.length !== 2) {
                    throw new Error('section could not be split on ";"');
                }
                var url = section[0].replace(/<(.*)>/, '$1').trim();
                var queryString = {};
                url.replace(new RegExp('([^?=&]+)(=([^&]*))?', 'g'), function ($0, $1, $2, $3) { return (queryString[$1] = $3); });
                var page = queryString.page;
                if (typeof page === 'string') {
                    page = parseInt(page, 10);
                }
                var name = section[1].replace(/rel="(.*)"/, '$1').trim();
                links[name] = page;
            });
            return links;
        };
        return JhiParseLinks;
    }());
    JhiParseLinks.ɵprov = i0.ɵɵdefineInjectable({ factory: function JhiParseLinks_Factory() { return new JhiParseLinks(); }, token: JhiParseLinks, providedIn: "root" });
    JhiParseLinks.decorators = [
        { type: i0.Injectable, args: [{
                    providedIn: 'root'
                },] }
    ];
    JhiParseLinks.ctorParameters = function () { return []; };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    /**
     * An utility service for data.
     */
    var JhiDataUtils = /** @class */ (function () {
        function JhiDataUtils() {
        }
        /**
         * Method to abbreviate the text given
         */
        JhiDataUtils.prototype.abbreviate = function (text, append) {
            if (append === void 0) { append = '...'; }
            if (text.length < 30) {
                return text;
            }
            return text ? text.substring(0, 15) + append + text.slice(-10) : '';
        };
        /**
         * Method to find the byte size of the string provides
         */
        JhiDataUtils.prototype.byteSize = function (base64String) {
            return this.formatAsBytes(this.size(base64String));
        };
        /**
         * Method to open file
         */
        JhiDataUtils.prototype.openFile = function (contentType, data) {
            if (window.navigator && window.navigator.msSaveOrOpenBlob) {
                // To support IE and Edge
                var byteCharacters = atob(data);
                var byteNumbers = new Array(byteCharacters.length);
                for (var i = 0; i < byteCharacters.length; i++) {
                    byteNumbers[i] = byteCharacters.charCodeAt(i);
                }
                var byteArray = new Uint8Array(byteNumbers);
                var blob = new Blob([byteArray], {
                    type: contentType
                });
                window.navigator.msSaveOrOpenBlob(blob);
            }
            else {
                // Other browsers
                var fileURL = "data:" + contentType + ";base64," + data;
                var win = window.open();
                win.document.write('<iframe src="' +
                    fileURL +
                    '" frameborder="0" style="border:0; top:0; left:0; bottom:0; right:0; width:100%; height:100%;" allowfullscreen></iframe>');
            }
        };
        /**
         * Method to convert the file to base64
         */
        JhiDataUtils.prototype.toBase64 = function (file, cb) {
            var fileReader = new FileReader();
            fileReader.onload = function (e) {
                var base64Data = e.target.result.substr(e.target.result.indexOf('base64,') + 'base64,'.length);
                cb(base64Data);
            };
            fileReader.readAsDataURL(file);
        };
        /**
         * Method to clear the input
         */
        JhiDataUtils.prototype.clearInputImage = function (entity, elementRef, field, fieldContentType, idInput) {
            if (entity && field && fieldContentType) {
                if (Object.prototype.hasOwnProperty.call(entity, field)) {
                    entity[field] = null;
                }
                if (Object.prototype.hasOwnProperty.call(entity, fieldContentType)) {
                    entity[fieldContentType] = null;
                }
                if (elementRef && idInput && elementRef.nativeElement.querySelector('#' + idInput)) {
                    elementRef.nativeElement.querySelector('#' + idInput).value = null;
                }
            }
        };
        /**
         * Sets the base 64 data & file type of the 1st file on the event (event.target.files[0]) in the passed entity object
         * and returns a promise.
         *
         * @param event the object containing the file (at event.target.files[0])
         * @param entity the object to set the file's 'base 64 data' and 'file type' on
         * @param field the field name to set the file's 'base 64 data' on
         * @param isImage boolean representing if the file represented by the event is an image
         * @returns a promise that resolves to the modified entity if operation is successful, otherwise rejects with an error message
         */
        JhiDataUtils.prototype.setFileData = function (event, entity, field, isImage) {
            var _this = this;
            return new Promise(function (resolve, reject) {
                if (event && event.target && event.target.files && event.target.files[0]) {
                    var file_1 = event.target.files[0];
                    if (isImage && !file_1.type.startsWith('image/')) {
                        reject("File was expected to be an image but was found to be " + file_1.type);
                    }
                    else {
                        _this.toBase64(file_1, function (base64Data) {
                            entity[field] = base64Data;
                            entity[field + "ContentType"] = file_1.type;
                            resolve(entity);
                        });
                    }
                }
                else {
                    reject("Base64 data was not set as file could not be extracted from passed parameter: " + event);
                }
            });
        };
        /**
         * Sets the base 64 data & file type of the 1st file on the event (event.target.files[0]) in the passed entity object
         * and returns an observable.
         *
         * @param event the object containing the file (at event.target.files[0])
         * @param editForm the form group where the input field is located
         * @param field the field name to set the file's 'base 64 data' on
         * @param isImage boolean representing if the file represented by the event is an image
         * @returns an observable that loads file to form field and completes if sussessful
         *          or returns error as JhiFileLoadError on failure
         */
        JhiDataUtils.prototype.loadFileToForm = function (event, editForm, field, isImage) {
            var _this = this;
            return new rxjs.Observable(function (observer) {
                var eventTarget = event.target;
                if (eventTarget.files && eventTarget.files[0]) {
                    var file_2 = eventTarget.files[0];
                    if (isImage && !file_2.type.startsWith('image/')) {
                        var error = {
                            message: "File was expected to be an image but was found to be '" + file_2.type + "'",
                            key: 'not.image',
                            params: { fileType: file_2.type }
                        };
                        observer.error(error);
                    }
                    else {
                        var fieldContentType_1 = field + 'ContentType';
                        _this.toBase64(file_2, function (base64Data) {
                            var _a;
                            editForm.patchValue((_a = {},
                                _a[field] = base64Data,
                                _a[fieldContentType_1] = file_2.type,
                                _a));
                            observer.next();
                            observer.complete();
                        });
                    }
                }
                else {
                    var error = {
                        message: 'Could not extract file',
                        key: 'could.not.extract',
                        params: { event: event }
                    };
                    observer.error(error);
                }
            });
        };
        /**
         * Method to download file
         */
        JhiDataUtils.prototype.downloadFile = function (contentType, data, fileName) {
            var byteCharacters = atob(data);
            var byteNumbers = new Array(byteCharacters.length);
            for (var i = 0; i < byteCharacters.length; i++) {
                byteNumbers[i] = byteCharacters.charCodeAt(i);
            }
            var byteArray = new Uint8Array(byteNumbers);
            var blob = new Blob([byteArray], {
                type: contentType
            });
            var tempLink = document.createElement('a');
            tempLink.href = window.URL.createObjectURL(blob);
            tempLink.download = fileName;
            tempLink.target = '_blank';
            tempLink.click();
        };
        JhiDataUtils.prototype.endsWith = function (suffix, str) {
            return str.includes(suffix, str.length - suffix.length);
        };
        JhiDataUtils.prototype.paddingSize = function (value) {
            if (this.endsWith('==', value)) {
                return 2;
            }
            if (this.endsWith('=', value)) {
                return 1;
            }
            return 0;
        };
        JhiDataUtils.prototype.size = function (value) {
            return (value.length / 4) * 3 - this.paddingSize(value);
        };
        JhiDataUtils.prototype.formatAsBytes = function (size) {
            return size.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ' ') + ' bytes';
        };
        return JhiDataUtils;
    }());
    JhiDataUtils.ɵprov = i0.ɵɵdefineInjectable({ factory: function JhiDataUtils_Factory() { return new JhiDataUtils(); }, token: JhiDataUtils, providedIn: "root" });
    JhiDataUtils.decorators = [
        { type: i0.Injectable, args: [{
                    providedIn: 'root'
                },] }
    ];
    JhiDataUtils.ctorParameters = function () { return []; };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    /**
     * An utility service for date.
     */
    var JhiDateUtils = /** @class */ (function () {
        function JhiDateUtils() {
            this.pattern = 'yyyy-MM-dd';
            this.datePipe = new common.DatePipe('en');
        }
        /**
         * Method to convert the date time from server into JS date object
         */
        JhiDateUtils.prototype.convertDateTimeFromServer = function (date) {
            if (date) {
                return new Date(date);
            }
            else {
                return null;
            }
        };
        /**
         * Method to convert the date from server into JS date object
         */
        JhiDateUtils.prototype.convertLocalDateFromServer = function (date) {
            if (date) {
                var dateString = date.split('-');
                return new Date(dateString[0], dateString[1] - 1, dateString[2]);
            }
            return null;
        };
        /**
         * Method to convert the JS date object into specified date pattern
         */
        JhiDateUtils.prototype.convertLocalDateToServer = function (date, pattern) {
            if (pattern === void 0) { pattern = this.pattern; }
            if (date) {
                var newDate = new Date(date.year, date.month - 1, date.day);
                return this.datePipe.transform(newDate, pattern);
            }
            else {
                return null;
            }
        };
        /**
         * Method to get the default date pattern
         */
        JhiDateUtils.prototype.dateformat = function () {
            return this.pattern;
        };
        // TODO Change this method when moving from datetime-local input to NgbDatePicker
        JhiDateUtils.prototype.toDate = function (date) {
            if (date === undefined || date === null) {
                return null;
            }
            var dateParts = date.split(/\D+/);
            if (dateParts.length === 7) {
                return new Date(dateParts[0], dateParts[1] - 1, dateParts[2], dateParts[3], dateParts[4], dateParts[5], dateParts[6]);
            }
            if (dateParts.length === 6) {
                return new Date(dateParts[0], dateParts[1] - 1, dateParts[2], dateParts[3], dateParts[4], dateParts[5]);
            }
            return new Date(dateParts[0], dateParts[1] - 1, dateParts[2], dateParts[3], dateParts[4]);
        };
        return JhiDateUtils;
    }());
    JhiDateUtils.ɵprov = i0.ɵɵdefineInjectable({ factory: function JhiDateUtils_Factory() { return new JhiDateUtils(); }, token: JhiDateUtils, providedIn: "root" });
    JhiDateUtils.decorators = [
        { type: i0.Injectable, args: [{
                    providedIn: 'root'
                },] }
    ];
    JhiDateUtils.ctorParameters = function () { return []; };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    /**
     * An utility class to manage RX events
     */
    var JhiEventManager = /** @class */ (function () {
        function JhiEventManager() {
            var _this = this;
            this.observable = rxjs.Observable.create(function (observer) {
                _this.observer = observer;
            }).pipe(operators.share());
        }
        /**
         * Method to broadcast the event to observer
         */
        JhiEventManager.prototype.broadcast = function (event) {
            if (this.observer) {
                this.observer.next(event);
            }
        };
        /**
         * Method to subscribe to an event with callback
         */
        JhiEventManager.prototype.subscribe = function (eventName, callback) {
            var subscriber = this.observable
                .pipe(operators.filter(function (event) {
                if (typeof event === 'string') {
                    return event === eventName;
                }
                return event.name === eventName;
            }), operators.map(function (event) {
                if (typeof event !== 'string') {
                    // when releasing generator-jhipster v7 then current return will be changed to
                    // (to avoid redundant code response.content in JhiEventManager.subscribe callbacks):
                    // return event.content;
                    return event;
                }
            }))
                .subscribe(callback);
            return subscriber;
        };
        /**
         * Method to unsubscribe the subscription
         */
        JhiEventManager.prototype.destroy = function (subscriber) {
            subscriber.unsubscribe();
        };
        return JhiEventManager;
    }());
    JhiEventManager.ɵprov = i0.ɵɵdefineInjectable({ factory: function JhiEventManager_Factory() { return new JhiEventManager(); }, token: JhiEventManager, providedIn: "root" });
    JhiEventManager.decorators = [
        { type: i0.Injectable, args: [{
                    providedIn: 'root'
                },] }
    ];
    JhiEventManager.ctorParameters = function () { return []; };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiEventWithContent = /** @class */ (function () {
        function JhiEventWithContent(name, content) {
            this.name = name;
            this.content = content;
        }
        return JhiEventWithContent;
    }());

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiAlertService = /** @class */ (function () {
        function JhiAlertService(sanitizer, configService, ngZone, translateService) {
            this.sanitizer = sanitizer;
            this.configService = configService;
            this.ngZone = ngZone;
            this.translateService = translateService;
            var config = this.configService.getConfig();
            this.toast = config.alertAsToast;
            this.i18nEnabled = config.i18nEnabled;
            this.alertId = 0; // unique id for each alert. Starts from 0.
            this.alerts = [];
            this.timeout = config.alertTimeout;
        }
        JhiAlertService.prototype.clear = function () {
            this.alerts.splice(0, this.alerts.length);
        };
        JhiAlertService.prototype.get = function () {
            return this.alerts;
        };
        JhiAlertService.prototype.success = function (msg, params, position) {
            return this.addAlert({
                type: 'success',
                msg: msg,
                params: params,
                timeout: this.timeout,
                toast: this.isToast(),
                position: position
            }, []);
        };
        JhiAlertService.prototype.error = function (msg, params, position) {
            return this.addAlert({
                type: 'danger',
                msg: msg,
                params: params,
                timeout: this.timeout,
                toast: this.isToast(),
                position: position
            }, []);
        };
        JhiAlertService.prototype.warning = function (msg, params, position) {
            return this.addAlert({
                type: 'warning',
                msg: msg,
                params: params,
                timeout: this.timeout,
                toast: this.isToast(),
                position: position
            }, []);
        };
        JhiAlertService.prototype.info = function (msg, params, position) {
            return this.addAlert({
                type: 'info',
                msg: msg,
                params: params,
                timeout: this.timeout,
                toast: this.isToast(),
                position: position
            }, []);
        };
        JhiAlertService.prototype.addAlert = function (alertOptions, extAlerts) {
            var _this = this;
            alertOptions.id = this.alertId++;
            if (this.i18nEnabled && alertOptions.msg) {
                alertOptions.msg = this.translateService.instant(alertOptions.msg, alertOptions.params);
            }
            var alert = this.factory(alertOptions);
            if (alertOptions.timeout && alertOptions.timeout > 0) {
                // Workaround protractor waiting for setTimeout.
                // Reference https://www.protractortest.org/#/timeouts
                this.ngZone.runOutsideAngular(function () {
                    setTimeout(function () {
                        _this.ngZone.run(function () {
                            _this.closeAlert(alertOptions.id, extAlerts);
                        });
                    }, alertOptions.timeout);
                });
            }
            return alert;
        };
        JhiAlertService.prototype.closeAlert = function (id, extAlerts) {
            var thisAlerts = extAlerts && extAlerts.length > 0 ? extAlerts : this.alerts;
            return this.closeAlertByIndex(thisAlerts.map(function (e) { return e.id; }).indexOf(id), thisAlerts);
        };
        JhiAlertService.prototype.closeAlertByIndex = function (index, thisAlerts) {
            return thisAlerts.splice(index, 1);
        };
        JhiAlertService.prototype.isToast = function () {
            return this.toast;
        };
        JhiAlertService.prototype.factory = function (alertOptions) {
            var _this = this;
            var alert = {
                type: alertOptions.type,
                msg: this.sanitizer.sanitize(i0.SecurityContext.HTML, alertOptions.msg),
                id: alertOptions.id,
                timeout: alertOptions.timeout,
                toast: alertOptions.toast,
                position: alertOptions.position ? alertOptions.position : 'top right',
                scoped: alertOptions.scoped,
                close: function (alerts) {
                    return _this.closeAlert(alertOptions.id, alerts);
                }
            };
            if (!alert.scoped) {
                this.alerts.push(alert);
            }
            return alert;
        };
        return JhiAlertService;
    }());
    JhiAlertService.ɵprov = i0.ɵɵdefineInjectable({ factory: function JhiAlertService_Factory() { return new JhiAlertService(i0.ɵɵinject(i1$1.DomSanitizer), i0.ɵɵinject(JhiConfigService), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1.TranslateService, 8)); }, token: JhiAlertService, providedIn: "root" });
    JhiAlertService.decorators = [
        { type: i0.Injectable, args: [{
                    providedIn: 'root'
                },] }
    ];
    JhiAlertService.ctorParameters = function () { return [
        { type: i1$1.DomSanitizer },
        { type: JhiConfigService },
        { type: i0.NgZone },
        { type: i1.TranslateService, decorators: [{ type: i0.Optional }] }
    ]; };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiBase64Service = /** @class */ (function () {
        function JhiBase64Service() {
            this.keyStr = 'ABCDEFGHIJKLMNOP' + 'QRSTUVWXYZabcdef' + 'ghijklmnopqrstuv' + 'wxyz0123456789+/' + '=';
        }
        JhiBase64Service.prototype.encode = function (input) {
            var output = '';
            var enc1 = '';
            var enc2 = '';
            var enc3 = '';
            var enc4 = '';
            var chr1 = '';
            var chr2 = '';
            var chr3 = '';
            var i = 0;
            while (i < input.length) {
                chr1 = input.charCodeAt(i++);
                chr2 = input.charCodeAt(i++);
                chr3 = input.charCodeAt(i++);
                enc1 = chr1 >> 2;
                enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
                enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
                enc4 = chr3 & 63;
                if (isNaN(chr2)) {
                    enc3 = enc4 = 64;
                }
                else if (isNaN(chr3)) {
                    enc4 = 64;
                }
                output = output + this.keyStr.charAt(enc1) + this.keyStr.charAt(enc2) + this.keyStr.charAt(enc3) + this.keyStr.charAt(enc4);
                chr1 = chr2 = chr3 = '';
                enc1 = enc2 = enc3 = enc4 = '';
            }
            return output;
        };
        JhiBase64Service.prototype.decode = function (input) {
            var output = '';
            var enc1 = '';
            var enc2 = '';
            var enc3 = '';
            var enc4 = '';
            var chr1 = '';
            var chr2 = '';
            var chr3 = '';
            var i = 0;
            // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
            input = input.replace(/[^A-Za-z0-9+/=]/g, '');
            while (i < input.length) {
                enc1 = this.keyStr.indexOf(input.charAt(i++));
                enc2 = this.keyStr.indexOf(input.charAt(i++));
                enc3 = this.keyStr.indexOf(input.charAt(i++));
                enc4 = this.keyStr.indexOf(input.charAt(i++));
                chr1 = (enc1 << 2) | (enc2 >> 4);
                chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
                chr3 = ((enc3 & 3) << 6) | enc4;
                output = output + String.fromCharCode(chr1);
                if (enc3 !== 64) {
                    output = output + String.fromCharCode(chr2);
                }
                if (enc4 !== 64) {
                    output = output + String.fromCharCode(chr3);
                }
                chr1 = chr2 = chr3 = '';
                enc1 = enc2 = enc3 = enc4 = '';
            }
            return output;
        };
        return JhiBase64Service;
    }());
    JhiBase64Service.ɵprov = i0.ɵɵdefineInjectable({ factory: function JhiBase64Service_Factory() { return new JhiBase64Service(); }, token: JhiBase64Service, providedIn: "root" });
    JhiBase64Service.decorators = [
        { type: i0.Injectable, args: [{
                    providedIn: 'root'
                },] }
    ];

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */
    var JhiResolvePagingParams = /** @class */ (function () {
        function JhiResolvePagingParams(paginationUtil) {
            this.paginationUtil = paginationUtil;
        }
        JhiResolvePagingParams.prototype.resolve = function (route, state) {
            var page = route.queryParams['page'] ? route.queryParams['page'] : '1';
            var defaultSort = route.data['defaultSort'] ? route.data['defaultSort'] : 'id,asc';
            var sort = route.queryParams['sort'] ? route.queryParams['sort'] : defaultSort;
            return {
                page: this.paginationUtil.parsePage(page),
                predicate: this.paginationUtil.parsePredicate(sort),
                ascending: this.paginationUtil.parseAscending(sort)
            };
        };
        return JhiResolvePagingParams;
    }());
    JhiResolvePagingParams.ɵprov = i0.ɵɵdefineInjectable({ factory: function JhiResolvePagingParams_Factory() { return new JhiResolvePagingParams(i0.ɵɵinject(JhiPaginationUtil)); }, token: JhiResolvePagingParams, providedIn: "root" });
    JhiResolvePagingParams.decorators = [
        { type: i0.Injectable, args: [{
                    providedIn: 'root'
                },] }
    ];
    JhiResolvePagingParams.ctorParameters = function () { return [
        { type: JhiPaginationUtil }
    ]; };

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */

    /*
     Copyright 2013-2020 the original author or authors from the JHipster project.

     This file is part of the JHipster project, see https://www.jhipster.tech/
     for more information.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
     */

    /**
     * Generated bundle index. Do not edit.
     */

    exports.JhiAlertService = JhiAlertService;
    exports.JhiBase64Service = JhiBase64Service;
    exports.JhiBooleanComponent = JhiBooleanComponent;
    exports.JhiCapitalizePipe = JhiCapitalizePipe;
    exports.JhiConfigService = JhiConfigService;
    exports.JhiDataUtils = JhiDataUtils;
    exports.JhiDateUtils = JhiDateUtils;
    exports.JhiEventManager = JhiEventManager;
    exports.JhiEventWithContent = JhiEventWithContent;
    exports.JhiFilterPipe = JhiFilterPipe;
    exports.JhiItemCountComponent = JhiItemCountComponent;
    exports.JhiKeysPipe = JhiKeysPipe;
    exports.JhiLanguageService = JhiLanguageService;
    exports.JhiMaxValidatorDirective = JhiMaxValidatorDirective;
    exports.JhiMaxbytesValidatorDirective = JhiMaxbytesValidatorDirective;
    exports.JhiMinValidatorDirective = JhiMinValidatorDirective;
    exports.JhiMinbytesValidatorDirective = JhiMinbytesValidatorDirective;
    exports.JhiMissingTranslationHandler = JhiMissingTranslationHandler;
    exports.JhiModuleConfig = JhiModuleConfig;
    exports.JhiOrderByPipe = JhiOrderByPipe;
    exports.JhiPaginationUtil = JhiPaginationUtil;
    exports.JhiParseLinks = JhiParseLinks;
    exports.JhiPureFilterPipe = JhiPureFilterPipe;
    exports.JhiResolvePagingParams = JhiResolvePagingParams;
    exports.JhiSortByDirective = JhiSortByDirective;
    exports.JhiSortDirective = JhiSortDirective;
    exports.JhiTranslateDirective = JhiTranslateDirective;
    exports.JhiTruncateCharactersPipe = JhiTruncateCharactersPipe;
    exports.JhiTruncateWordsPipe = JhiTruncateWordsPipe;
    exports.NgJhipsterModule = NgJhipsterModule;
    exports.missingTranslationHandler = missingTranslationHandler;
    exports.translatePartialLoader = translatePartialLoader;
    exports.ɵa = JHI_PIPES;
    exports.ɵb = JHI_DIRECTIVES;
    exports.ɵc = JHI_COMPONENTS;
    exports.ɵd = JhiJvmMemoryComponent;
    exports.ɵe = JhiJvmThreadsComponent;
    exports.ɵf = JhiMetricsHttpRequestComponent;
    exports.ɵg = JhiMetricsEndpointsRequestsComponent;
    exports.ɵh = JhiMetricsCacheComponent;
    exports.ɵi = JhiMetricsDatasourceComponent;
    exports.ɵj = JhiMetricsSystemComponent;
    exports.ɵk = JhiMetricsGarbageCollectorComponent;
    exports.ɵl = JhiThreadModalComponent;

    Object.defineProperty(exports, '__esModule', { value: true });

})));
//# sourceMappingURL=ng-jhipster.umd.js.map