@c8y/ngx-components 1006.6.36 → 1006.6.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/c8y-ngx-components-connectivity.umd.js +1 -1
- package/bundles/c8y-ngx-components-connectivity.umd.js.map +1 -1
- package/bundles/c8y-ngx-components-connectivity.umd.min.js +1 -1
- package/bundles/c8y-ngx-components-connectivity.umd.min.js.map +1 -1
- package/bundles/c8y-ngx-components-context-dashboard.umd.js +1 -1
- package/bundles/c8y-ngx-components-context-dashboard.umd.js.map +1 -1
- package/bundles/c8y-ngx-components-context-dashboard.umd.min.js +1 -1
- package/bundles/c8y-ngx-components-context-dashboard.umd.min.js.map +1 -1
- package/bundles/c8y-ngx-components-repository.umd.js +1 -1
- package/bundles/c8y-ngx-components-repository.umd.js.map +1 -1
- package/bundles/c8y-ngx-components-repository.umd.min.js +1 -1
- package/bundles/c8y-ngx-components-repository.umd.min.js.map +1 -1
- package/bundles/c8y-ngx-components-sensor-phone.umd.js +1 -1
- package/bundles/c8y-ngx-components-sensor-phone.umd.js.map +1 -1
- package/bundles/c8y-ngx-components-sensor-phone.umd.min.js +1 -1
- package/bundles/c8y-ngx-components-sensor-phone.umd.min.js.map +1 -1
- package/bundles/c8y-ngx-components.umd.js +400 -131
- package/bundles/c8y-ngx-components.umd.js.map +1 -1
- package/bundles/c8y-ngx-components.umd.min.js +2 -2
- package/bundles/c8y-ngx-components.umd.min.js.map +1 -1
- package/c8y-ngx-components.d.ts +90 -87
- package/c8y-ngx-components.metadata.json +1 -1
- package/connectivity/c8y-ngx-components-connectivity.metadata.json +1 -1
- package/context-dashboard/c8y-ngx-components-context-dashboard.metadata.json +1 -1
- package/core/authentication/new-password.component.d.ts +8 -6
- package/core/docs/guide-docs.component.d.ts +25 -3
- package/core/forms/validation-pattern.d.ts +1 -0
- package/core/i18n/force-html-translate.directive.d.ts +32 -0
- package/core/login/change-password.component.d.ts +1 -1
- package/core/login/login.service.d.ts +15 -2
- package/core/login/password-strength-validator.directive.d.ts +9 -0
- package/core/login/strength-validator-service.d.ts +7 -0
- package/core/user/user-edit.component.d.ts +4 -2
- package/esm2015/c8y-ngx-components.js +90 -87
- package/esm2015/connectivity/impact/impact-provider-settings.component.js +2 -2
- package/esm2015/context-dashboard/legacy-welcome/legacy-welcome.component.js +2 -2
- package/esm2015/core/authentication/new-password.component.js +15 -20
- package/esm2015/core/dashboard/widgets-dashboard.component.js +2 -2
- package/esm2015/core/docs/guide-docs.component.js +69 -4
- package/esm2015/core/forms/validation-pattern.js +2 -1
- package/esm2015/core/i18n/force-html-translate.directive.js +99 -0
- package/esm2015/core/i18n/i18n.module.js +5 -3
- package/esm2015/core/i18n/pattern-messages.data.js +2 -2
- package/esm2015/core/login/change-password.component.js +5 -5
- package/esm2015/core/login/credentials.component.js +2 -2
- package/esm2015/core/login/login.module.js +4 -2
- package/esm2015/core/login/login.service.js +40 -6
- package/esm2015/core/login/password-strength-validator.directive.js +32 -0
- package/esm2015/core/login/strength-validator-service.js +28 -0
- package/esm2015/core/user/user-edit.component.js +10 -5
- package/esm2015/repository/configuration/configuration-list.component.js +2 -2
- package/esm2015/sensor-phone/sensor-phone-modal.component.js +2 -2
- package/esm5/c8y-ngx-components.js +90 -87
- package/esm5/connectivity/impact/impact-provider-settings.component.js +2 -2
- package/esm5/context-dashboard/legacy-welcome/legacy-welcome.component.js +2 -2
- package/esm5/core/authentication/new-password.component.js +21 -25
- package/esm5/core/dashboard/widgets-dashboard.component.js +2 -2
- package/esm5/core/docs/guide-docs.component.js +72 -4
- package/esm5/core/forms/validation-pattern.js +2 -1
- package/esm5/core/i18n/force-html-translate.directive.js +105 -0
- package/esm5/core/i18n/i18n.module.js +5 -3
- package/esm5/core/i18n/pattern-messages.data.js +2 -2
- package/esm5/core/login/change-password.component.js +5 -5
- package/esm5/core/login/credentials.component.js +2 -2
- package/esm5/core/login/login.module.js +4 -2
- package/esm5/core/login/login.service.js +43 -6
- package/esm5/core/login/password-strength-validator.directive.js +38 -0
- package/esm5/core/login/strength-validator-service.js +29 -0
- package/esm5/core/user/user-edit.component.js +19 -9
- package/esm5/repository/configuration/configuration-list.component.js +2 -2
- package/esm5/sensor-phone/sensor-phone-modal.component.js +2 -2
- package/fesm2015/c8y-ngx-components-connectivity.js +1 -1
- package/fesm2015/c8y-ngx-components-connectivity.js.map +1 -1
- package/fesm2015/c8y-ngx-components-context-dashboard.js +1 -1
- package/fesm2015/c8y-ngx-components-context-dashboard.js.map +1 -1
- package/fesm2015/c8y-ngx-components-repository.js +1 -1
- package/fesm2015/c8y-ngx-components-repository.js.map +1 -1
- package/fesm2015/c8y-ngx-components-sensor-phone.js +1 -1
- package/fesm2015/c8y-ngx-components-sensor-phone.js.map +1 -1
- package/fesm2015/c8y-ngx-components.js +281 -40
- package/fesm2015/c8y-ngx-components.js.map +1 -1
- package/fesm5/c8y-ngx-components-connectivity.js +1 -1
- package/fesm5/c8y-ngx-components-connectivity.js.map +1 -1
- package/fesm5/c8y-ngx-components-context-dashboard.js +1 -1
- package/fesm5/c8y-ngx-components-context-dashboard.js.map +1 -1
- package/fesm5/c8y-ngx-components-repository.js +1 -1
- package/fesm5/c8y-ngx-components-repository.js.map +1 -1
- package/fesm5/c8y-ngx-components-sensor-phone.js +1 -1
- package/fesm5/c8y-ngx-components-sensor-phone.js.map +1 -1
- package/fesm5/c8y-ngx-components.js +315 -49
- package/fesm5/c8y-ngx-components.js.map +1 -1
- package/locales/de.po +71 -60
- package/locales/es.po +120 -85
- package/locales/fr.po +107 -72
- package/locales/ja_JP.po +89 -78
- package/locales/ko.po +92 -57
- package/locales/locales.pot +9 -9
- package/locales/nl.po +95 -60
- package/locales/pl.po +88 -53
- package/locales/pt_BR.po +174 -138
- package/locales/ru.po +120 -85
- package/locales/zh_CN.po +87 -52
- package/package.json +2 -2
- package/repository/c8y-ngx-components-repository.metadata.json +1 -1
- package/sensor-phone/c8y-ngx-components-sensor-phone.metadata.json +1 -1
|
@@ -106,7 +106,7 @@ tslib_1.__decorate([
|
|
|
106
106
|
WidgetsDashboardComponent = tslib_1.__decorate([
|
|
107
107
|
Component({
|
|
108
108
|
selector: 'c8y-widgets-dashboard',
|
|
109
|
-
template: "<c8y-title *ngIf=\"!!settings.title\">\n {{ settings.title | translate }}\n</c8y-title>\n\n<c8y-action-bar-item [placement]=\"'right'\" *ngIf=\"onAddWidget.observers.length\">\n <button\n class=\"btn btn-link\"\n [disabled]=\"settings.isFrozen || settings.isDisabled\"\n (click)=\"onAddWidget.emit()\"\n >\n <i c8yIcon=\"plus-circle\"></i> {{ 'Add widget' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\" *ngIf=\"onEditDashboard.observers.length\">\n <button\n class=\"btn btn-link\"\n [disabled]=\"settings.isFrozen || settings.isDisabled\"\n (click)=\"onEditDashboard.emit()\"\n >\n <i c8yIcon=\"pencil\"></i> {{ 'Edit' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\" *ngIf=\"settings.allowFullscreen\">\n <button class=\"btn btn-link\" (click)=\"toggleFullscreen()\">\n <i [c8yIcon]=\"fullScreen() ? 'compress' : 'expand'\"></i> {{ 'Full screen' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item\n [placement]=\"'right'\"\n itemClass=\"navbar-form\"\n *ngIf=\"onFreeze.observers.length\"\n>\n <button\n title=\"{{ 'Lock/unlock this dashboard' | translate }}\"\n class=\"btn btn-default\"\n [ngClass]=\"{ active: settings.isFrozen }\"\n (click)=\"onFreeze.emit(settings)\"\n [disabled]=\"settings.isDisabled\"\n uib-btn-checkbox\n >\n <i [c8yIcon]=\"settings.isFrozen ? 'lock' : 'unlock'\"></i>\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item\n [placement]=\"'more'\"\n [priority]=\"-3000\"\n *ngIf=\"settings.canDelete && onDeleteDashboard.observers.length\"\n>\n <button (click)=\"onDeleteDashboard.emit()\" [disabled]=\"settings.isFrozen || settings.isDisabled\">\n <i c8yIcon=\"trash\"></i> <span translate>Delete dashboard</span>\n </button>\n</c8y-action-bar-item>\n\n<!-- empty state -->\n<div class=\"c8y-empty-state text-center\" *ngIf=\"!settings.isLoading && widgets.length === 0\">\n <h1 class=\"c8y-icon c8y-icon-device c8y-icon-duocolor\"></h1>\n <h3 translate>No widgets to display.</h3>\n <div *ngIf=\"!settings.isFrozen && onAddWidget.observers.length\">\n <p translate>Add widgets to this dashboard.</p>\n <div>\n <button\n [disabled]=\"settings.isFrozen || settings.isDisabled\"\n (click)=\"onAddWidget.emit()\"\n class=\"btn btn-primary\"\n translate\n >\n Add widget\n </button>\n </div>\n <p c8y-guide-docs>\n <small
|
|
109
|
+
template: "<c8y-title *ngIf=\"!!settings.title\">\n {{ settings.title | translate }}\n</c8y-title>\n\n<c8y-action-bar-item [placement]=\"'right'\" *ngIf=\"onAddWidget.observers.length\">\n <button\n class=\"btn btn-link\"\n [disabled]=\"settings.isFrozen || settings.isDisabled\"\n (click)=\"onAddWidget.emit()\"\n >\n <i c8yIcon=\"plus-circle\"></i> {{ 'Add widget' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\" *ngIf=\"onEditDashboard.observers.length\">\n <button\n class=\"btn btn-link\"\n [disabled]=\"settings.isFrozen || settings.isDisabled\"\n (click)=\"onEditDashboard.emit()\"\n >\n <i c8yIcon=\"pencil\"></i> {{ 'Edit' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\" *ngIf=\"settings.allowFullscreen\">\n <button class=\"btn btn-link\" (click)=\"toggleFullscreen()\">\n <i [c8yIcon]=\"fullScreen() ? 'compress' : 'expand'\"></i> {{ 'Full screen' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item\n [placement]=\"'right'\"\n itemClass=\"navbar-form\"\n *ngIf=\"onFreeze.observers.length\"\n>\n <button\n title=\"{{ 'Lock/unlock this dashboard' | translate }}\"\n class=\"btn btn-default\"\n [ngClass]=\"{ active: settings.isFrozen }\"\n (click)=\"onFreeze.emit(settings)\"\n [disabled]=\"settings.isDisabled\"\n uib-btn-checkbox\n >\n <i [c8yIcon]=\"settings.isFrozen ? 'lock' : 'unlock'\"></i>\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item\n [placement]=\"'more'\"\n [priority]=\"-3000\"\n *ngIf=\"settings.canDelete && onDeleteDashboard.observers.length\"\n>\n <button (click)=\"onDeleteDashboard.emit()\" [disabled]=\"settings.isFrozen || settings.isDisabled\">\n <i c8yIcon=\"trash\"></i> <span translate>Delete dashboard</span>\n </button>\n</c8y-action-bar-item>\n\n<!-- empty state -->\n<div class=\"c8y-empty-state text-center\" *ngIf=\"!settings.isLoading && widgets.length === 0\">\n <h1 class=\"c8y-icon c8y-icon-device c8y-icon-duocolor\"></h1>\n <h3 translate>No widgets to display.</h3>\n <div *ngIf=\"!settings.isFrozen && onAddWidget.observers.length\">\n <p translate>Add widgets to this dashboard.</p>\n <div>\n <button\n [disabled]=\"settings.isFrozen || settings.isDisabled\"\n (click)=\"onAddWidget.emit()\"\n class=\"btn btn-primary\"\n translate\n >\n Add widget\n </button>\n </div>\n <p c8y-guide-docs>\n <small forceHtmlTranslate ngNonBindable\n >Find out more in the\n <a c8y-guide-href=\"users-guide/cockpit/#dashboards\">User guide`KEEP_ORIGINAL`</a>.</small\n >\n </p>\n </div>\n</div>\n<!-- /.empty settings -->\n\n<div class=\"col-xs-12 text-center\" *ngIf=\"settings.isLoading\">\n <div class=\"spinner\" style=\"position: relative;\">\n <div class=\"rect1\"></div>\n <div class=\"rect2\"></div>\n <div class=\"rect3\"></div>\n <div class=\"rect4\"></div>\n <div class=\"rect5\"></div>\n </div>\n</div>\n\n<c8y-dashboard\n (dashboardChange)=\"onChangeDashboard.emit($event)\"\n #dashboard\n *ngIf=\"!settings.isLoading\"\n>\n <c8y-dashboard-child\n *ngFor=\"let widget of widgets\"\n [x]=\"widget._x\"\n [y]=\"widget._y\"\n [width]=\"widget._width || settings.defaultWidth\"\n [height]=\"widget._height || settings.defaultHeight\"\n [margin]=\"settings.widgetMargin\"\n [isFrozen]=\"settings.isFrozen || settings.isDisabled\"\n [class]=\"widget.classes\"\n [data]=\"widget\"\n [useIntersection]=\"true\"\n (changeStart)=\"onChangeStart.emit({ widget: widget, source: child, dashboard: dashboard })\"\n (changeEnd)=\"onChangeEnd.emit({ widget: widget, source: child, dashboard: dashboard })\"\n #child\n >\n <c8y-dashboard-child-title>\n <span *ngIf=\"settings.translateWidgetTitle\"> {{ widget.title | translate }}</span>\n <span *ngIf=\"!settings.translateWidgetTitle\">\n {{ widget.title }}\n </span>\n </c8y-dashboard-child-title>\n <c8y-dashboard-child-action *ngIf=\"onEditWidget.observers.length\">\n <button (click)=\"onEditWidget.emit({ widget: widget, source: child, dashboard: dashboard })\">\n <i c8yIcon=\"pencil\"></i> <span translate>Edit</span>\n </button>\n </c8y-dashboard-child-action>\n <c8y-dashboard-child-action *ngIf=\"onDeleteWidget.observers.length\">\n <button\n (click)=\"onDeleteWidget.emit({ widget: widget, source: child, dashboard: dashboard })\"\n >\n <i c8yIcon=\"trash\"></i> <span translate>Remove</span>\n </button>\n </c8y-dashboard-child-action>\n <c8y-dynamic-component\n [componentId]=\"widget.componentId || widget.name\"\n [config]=\"\n widget.templateUrl || widget.widgetComponent\n ? { child: widget, dashboard: contextDashboard, context: context }\n : widget.config\n \"\n *ngIf=\"child.intersected\"\n ></c8y-dynamic-component>\n </c8y-dashboard-child>\n</c8y-dashboard>\n",
|
|
110
110
|
host: {
|
|
111
111
|
style: `
|
|
112
112
|
display: block;
|
|
@@ -116,4 +116,4 @@ WidgetsDashboardComponent = tslib_1.__decorate([
|
|
|
116
116
|
})
|
|
117
117
|
], WidgetsDashboardComponent);
|
|
118
118
|
export { WidgetsDashboardComponent };
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0cy1kYXNoYm9hcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvcmUvZGFzaGJvYXJkL3dpZGdldHMtZGFzaGJvYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFjdEYsSUFBYSx5QkFBeUIsR0FBdEMsTUFBYSx5QkFBeUI7SUFWdEM7UUF3QkUsYUFBUSxHQUFzQjtZQUM1QixRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFlBQVksRUFBRSxFQUFFO1lBQ2hCLG9CQUFvQixFQUFFLEtBQUs7WUFDM0IsYUFBYSxFQUFFLENBQUM7WUFDaEIsWUFBWSxFQUFFLENBQUM7WUFDZixlQUFlLEVBQUUsS0FBSztZQUN0QixTQUFTLEVBQUUsSUFBSTtZQUNmLFNBQVMsRUFBRSxLQUFLO1NBQ2pCLENBQUM7UUFHRixnQkFBVyxHQUFxQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR25FLGlCQUFZLEdBQStCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHOUQsbUJBQWMsR0FBK0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdoRSxzQkFBaUIsR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd0RSxvQkFBZSxHQUFxQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3ZFLHNCQUFpQixHQUFxQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3pFLGFBQVEsR0FBb0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUcvRCxrQkFBYSxHQUErQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRy9ELGdCQUFXLEdBQStCLElBQUksWUFBWSxFQUFFLENBQUM7SUFtQy9ELENBQUM7SUEzRUMsSUFBSSxTQUFTLENBQUMsUUFBb0M7UUFDaEQsSUFBSSxDQUFDLFFBQVEscUJBQVEsSUFBSSxDQUFDLFFBQVEsRUFBSyxRQUFRLENBQUUsQ0FBQztJQUNwRCxDQUFDO0lBd0NELGdCQUFnQjtRQUNkLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFXLENBQUM7UUFDbEMsTUFBTSxHQUFHLEdBQUcsUUFBZSxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2FBQzFCO2lCQUFNLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO2dCQUNuQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzthQUM1QjtpQkFBTSxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDN0I7aUJBQU0sSUFBSSxJQUFJLENBQUMsdUJBQXVCLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyx1QkFBdUIsQ0FBRSxPQUFlLENBQUMsb0JBQW9CLENBQUMsQ0FBQzthQUNyRTtTQUNGO2FBQU0sSUFBSSxHQUFHLENBQUMsY0FBYyxFQUFFO1lBQzdCLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN0QjthQUFNLElBQUksR0FBRyxDQUFDLGdCQUFnQixFQUFFO1lBQy9CLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3hCO2FBQU0sSUFBSSxHQUFHLENBQUMsbUJBQW1CLEVBQUU7WUFDbEMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDM0I7YUFBTSxJQUFJLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRTtZQUNuQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxHQUFHLEdBQVEsUUFBUSxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxDQUFDLENBQ1AsR0FBRyxDQUFDLGlCQUFpQjtZQUNyQixHQUFHLENBQUMsb0JBQW9CO1lBQ3hCLEdBQUcsQ0FBQyx1QkFBdUI7WUFDM0IsR0FBRyxDQUFDLG1CQUFtQixDQUN4QixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUE7QUFwRkM7SUFEQyxLQUFLLEVBQUU7MERBQ1U7QUFHbEI7SUFEQyxLQUFLLEVBQUU7MERBQ0s7QUFHYjtJQURDLEtBQUssRUFBRTttRUFDYztBQUd0QjtJQURDLEtBQUssQ0FBQyxVQUFVLENBQUM7MERBR2pCO0FBY0Q7SUFEQyxNQUFNLEVBQUU7OERBQzBEO0FBR25FO0lBREMsTUFBTSxFQUFFOytEQUNxRDtBQUc5RDtJQURDLE1BQU0sRUFBRTtpRUFDdUQ7QUFHaEU7SUFEQyxNQUFNLEVBQUU7b0VBQzZEO0FBR3RFO0lBREMsTUFBTSxFQUFFO2tFQUM4RDtBQUd2RTtJQURDLE1BQU0sRUFBRTtvRUFDZ0U7QUFHekU7SUFEQyxNQUFNLEVBQUU7MkRBQ3NEO0FBRy9EO0lBREMsTUFBTSxFQUFFO2dFQUNzRDtBQUcvRDtJQURDLE1BQU0sRUFBRTs4REFDb0Q7QUFuRGxELHlCQUF5QjtJQVZyQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsdUJBQXVCO1FBQ2pDLDI5SkFBaUQ7UUFDakQsSUFBSSxFQUFFO1lBQ0osS0FBSyxFQUFFOztLQUVOO1lBQ0QsS0FBSyxFQUFFLDhCQUE4QjtTQUN0QztLQUNGLENBQUM7R0FDVyx5QkFBeUIsQ0FzRnJDO1NBdEZZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXNoYm9hcmRTZXR0aW5ncywgV2lkZ2V0LCBXaWRnZXRDaGFuZ2UsIERhc2hib2FyZENoYW5nZSB9IGZyb20gJy4vZGFzaGJvYXJkLm1vZGVsJztcbmltcG9ydCB7IERhc2hib2FyZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS13aWRnZXRzLWRhc2hib2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93aWRnZXRzLWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHtcbiAgICBzdHlsZTogYFxuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgYCxcbiAgICBjbGFzczogJ2Rhc2hib2FyZCBjOHktZ3JpZC1kYXNoYm9hcmQnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0c0Rhc2hib2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHdpZGdldHM6IFdpZGdldFtdO1xuXG4gIEBJbnB1dCgpXG4gIGNvbnRleHQ6IGFueTtcblxuICBASW5wdXQoKVxuICBjb250ZXh0RGFzaGJvYXJkOiBhbnk7XG5cbiAgQElucHV0KCdzZXR0aW5ncycpXG4gIHNldCBfc2V0dGluZ3Moc2V0dGluZ3M6IFBhcnRpYWw8RGFzaGJvYXJkU2V0dGluZ3M+KSB7XG4gICAgdGhpcy5zZXR0aW5ncyA9IHsgLi4udGhpcy5zZXR0aW5ncywgLi4uc2V0dGluZ3MgfTtcbiAgfVxuICBzZXR0aW5nczogRGFzaGJvYXJkU2V0dGluZ3MgPSB7XG4gICAgaXNGcm96ZW46IGZhbHNlLFxuICAgIGlzRGlzYWJsZWQ6IGZhbHNlLFxuICAgIHdpZGdldE1hcmdpbjogMTIsXG4gICAgdHJhbnNsYXRlV2lkZ2V0VGl0bGU6IGZhbHNlLFxuICAgIGRlZmF1bHRIZWlnaHQ6IDQsXG4gICAgZGVmYXVsdFdpZHRoOiA0LFxuICAgIGFsbG93RnVsbHNjcmVlbjogZmFsc2UsXG4gICAgY2FuRGVsZXRlOiB0cnVlLFxuICAgIGlzTG9hZGluZzogZmFsc2UsXG4gIH07XG5cbiAgQE91dHB1dCgpXG4gIG9uQWRkV2lkZ2V0OiBFdmVudEVtaXR0ZXI8RGFzaGJvYXJkQ29tcG9uZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgb25FZGl0V2lkZ2V0OiBFdmVudEVtaXR0ZXI8V2lkZ2V0Q2hhbmdlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgb25EZWxldGVXaWRnZXQ6IEV2ZW50RW1pdHRlcjxXaWRnZXRDaGFuZ2U+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNoYW5nZURhc2hib2FyZDogRXZlbnRFbWl0dGVyPERhc2hib2FyZENoYW5nZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uRWRpdERhc2hib2FyZDogRXZlbnRFbWl0dGVyPERhc2hib2FyZENvbXBvbmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uRGVsZXRlRGFzaGJvYXJkOiBFdmVudEVtaXR0ZXI8RGFzaGJvYXJkQ29tcG9uZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgb25GcmVlemU6IEV2ZW50RW1pdHRlcjxEYXNoYm9hcmRTZXR0aW5ncz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uQ2hhbmdlU3RhcnQ6IEV2ZW50RW1pdHRlcjxXaWRnZXRDaGFuZ2U+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNoYW5nZUVuZDogRXZlbnRFbWl0dGVyPFdpZGdldENoYW5nZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgdG9nZ2xlRnVsbHNjcmVlbigpIHtcbiAgICBjb25zdCBlbGVtID0gZG9jdW1lbnQuYm9keSBhcyBhbnk7XG4gICAgY29uc3QgZG9jID0gZG9jdW1lbnQgYXMgYW55O1xuICAgIGlmICghdGhpcy5mdWxsU2NyZWVuKCkpIHtcbiAgICAgIGlmIChlbGVtLnJlcXVlc3RGdWxsc2NyZWVuKSB7XG4gICAgICAgIGVsZW0ucmVxdWVzdEZ1bGxzY3JlZW4oKTtcbiAgICAgIH0gZWxzZSBpZiAoZWxlbS5tc1JlcXVlc3RGdWxsc2NyZWVuKSB7XG4gICAgICAgIGVsZW0ubXNSZXF1ZXN0RnVsbHNjcmVlbigpO1xuICAgICAgfSBlbHNlIGlmIChlbGVtLm1velJlcXVlc3RGdWxsU2NyZWVuKSB7XG4gICAgICAgIGVsZW0ubW96UmVxdWVzdEZ1bGxTY3JlZW4oKTtcbiAgICAgIH0gZWxzZSBpZiAoZWxlbS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbikge1xuICAgICAgICBlbGVtLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKChFbGVtZW50IGFzIGFueSkuQUxMT1dfS0VZQk9BUkRfSU5QVVQpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZG9jLmV4aXRGdWxsc2NyZWVuKSB7XG4gICAgICBkb2MuZXhpdEZ1bGxzY3JlZW4oKTtcbiAgICB9IGVsc2UgaWYgKGRvYy5tc0V4aXRGdWxsc2NyZWVuKSB7XG4gICAgICBkb2MubXNFeGl0RnVsbHNjcmVlbigpO1xuICAgIH0gZWxzZSBpZiAoZG9jLm1vekNhbmNlbEZ1bGxTY3JlZW4pIHtcbiAgICAgIGRvYy5tb3pDYW5jZWxGdWxsU2NyZWVuKCk7XG4gICAgfSBlbHNlIGlmIChkb2Mud2Via2l0RXhpdEZ1bGxzY3JlZW4pIHtcbiAgICAgIGRvYy53ZWJraXRFeGl0RnVsbHNjcmVlbigpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bGxTY3JlZW4oKSB7XG4gICAgY29uc3QgZG9jOiBhbnkgPSBkb2N1bWVudDtcbiAgICByZXR1cm4gISEoXG4gICAgICBkb2MuZnVsbHNjcmVlbkVsZW1lbnQgfHxcbiAgICAgIGRvYy5tb3pGdWxsU2NyZWVuRWxlbWVudCB8fFxuICAgICAgZG9jLndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50IHx8XG4gICAgICBkb2MubXNGdWxsc2NyZWVuRWxlbWVudFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,26 +1,91 @@
|
|
|
1
1
|
import * as tslib_1 from "tslib";
|
|
2
|
-
import { Component, ContentChildren } from '@angular/core';
|
|
2
|
+
import { Component, OnInit, ContentChildren, QueryList, ContentChild, AfterContentInit, ElementRef, Renderer2, OnDestroy } from '@angular/core';
|
|
3
3
|
import { GuideHrefDirective } from './guide-href.directive';
|
|
4
4
|
import { DocsService } from './docs.service';
|
|
5
|
+
import { ReplaySubject } from 'rxjs';
|
|
6
|
+
import { takeUntil } from 'rxjs/operators';
|
|
7
|
+
import { ForceHtmlTranslateDirective } from '../i18n/force-html-translate.directive';
|
|
5
8
|
let GuideDocsComponent = class GuideDocsComponent {
|
|
6
|
-
constructor(docs) {
|
|
9
|
+
constructor(docs, el, renderer) {
|
|
7
10
|
this.docs = docs;
|
|
11
|
+
this.el = el;
|
|
12
|
+
this.renderer = renderer;
|
|
13
|
+
this.destroyed$ = new ReplaySubject(1);
|
|
8
14
|
}
|
|
9
15
|
ngOnInit() {
|
|
10
16
|
this.baseUrl = this.docs.getBaseUrl();
|
|
11
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* After content is initialized we subscribe for translation events, then we are able to modify
|
|
20
|
+
* anchor just as C8yGuideHrefDirective does.
|
|
21
|
+
*/
|
|
22
|
+
ngAfterContentInit() {
|
|
23
|
+
if (this.translateDirective) {
|
|
24
|
+
this.translateDirective.htmlUpdateEvent
|
|
25
|
+
.pipe(takeUntil(this.destroyed$))
|
|
26
|
+
.subscribe(() => {
|
|
27
|
+
this.replaceAnchorAttributes();
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
this.replaceAnchorAttributes();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Find and modify anchor elements
|
|
36
|
+
*/
|
|
37
|
+
replaceAnchorAttributes() {
|
|
38
|
+
const anchors = this.findGuideAnchors(this.el.nativeElement);
|
|
39
|
+
anchors.forEach(a => {
|
|
40
|
+
const guideHref = `${this.baseUrl}/${a.getAttribute('c8y-guide-href')}`;
|
|
41
|
+
this.renderer.setAttribute(a, 'href', guideHref);
|
|
42
|
+
if (!a.hasAttribute('target')) {
|
|
43
|
+
this.renderer.setAttribute(a, 'target', '_blank');
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Recursive function, returns array of Anchor elements inside HTMLElement.
|
|
49
|
+
*/
|
|
50
|
+
findGuideAnchors(el) {
|
|
51
|
+
const isAnchor = () => el.nodeName === 'A';
|
|
52
|
+
const hasGuideHrefAttr = () => !!el.attributes.getNamedItem('c8y-guide-href');
|
|
53
|
+
const hasChildren = () => el.childNodes && el.childNodes.length > 0;
|
|
54
|
+
let result = [];
|
|
55
|
+
if (isAnchor() && hasGuideHrefAttr()) {
|
|
56
|
+
result.push(el);
|
|
57
|
+
}
|
|
58
|
+
else if (hasChildren()) {
|
|
59
|
+
el.childNodes.forEach((node) => {
|
|
60
|
+
const searchResult = this.findGuideAnchors(node);
|
|
61
|
+
if (searchResult) {
|
|
62
|
+
result = [...result, ...searchResult];
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
12
68
|
ngAfterViewInit() {
|
|
13
69
|
this.links.forEach(guide => {
|
|
14
70
|
guide.baseHref = this.baseUrl;
|
|
15
71
|
});
|
|
16
72
|
}
|
|
73
|
+
ngOnDestroy() {
|
|
74
|
+
this.destroyed$.next(true);
|
|
75
|
+
this.destroyed$.complete();
|
|
76
|
+
}
|
|
17
77
|
};
|
|
18
78
|
GuideDocsComponent.ctorParameters = () => [
|
|
19
|
-
{ type: DocsService }
|
|
79
|
+
{ type: DocsService },
|
|
80
|
+
{ type: ElementRef },
|
|
81
|
+
{ type: Renderer2 }
|
|
20
82
|
];
|
|
21
83
|
tslib_1.__decorate([
|
|
22
84
|
ContentChildren(GuideHrefDirective, { descendants: true })
|
|
23
85
|
], GuideDocsComponent.prototype, "links", void 0);
|
|
86
|
+
tslib_1.__decorate([
|
|
87
|
+
ContentChild(ForceHtmlTranslateDirective, { static: false })
|
|
88
|
+
], GuideDocsComponent.prototype, "translateDirective", void 0);
|
|
24
89
|
GuideDocsComponent = tslib_1.__decorate([
|
|
25
90
|
Component({
|
|
26
91
|
selector: '[c8y-guide-docs]',
|
|
@@ -28,4 +93,4 @@ GuideDocsComponent = tslib_1.__decorate([
|
|
|
28
93
|
})
|
|
29
94
|
], GuideDocsComponent);
|
|
30
95
|
export { GuideDocsComponent };
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGUtZG9jcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYzh5L25neC1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29yZS9kb2NzL2d1aWRlLWRvY3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixlQUFlLEVBQ2YsU0FBUyxFQUNULFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLFNBQVMsRUFBRSxTQUFTLEVBQ3JCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQU1yRixJQUFhLGtCQUFrQixHQUEvQixNQUFhLGtCQUFrQjtJQVk3QixZQUFvQixJQUFpQixFQUFVLEVBQWMsRUFBVSxRQUFtQjtRQUF0RSxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFGbEYsZUFBVSxHQUEyQixJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUyQixDQUFDO0lBRTlGLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZTtpQkFDcEMsSUFBSSxDQUFDLFNB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LEVBQUUsa0JBQWtCO1FBQzVCLDhGQUEwQztLQUMzQyxDQUFDO0dBQ1csa0JBQWtCLENBaUY5QjtTQWpGWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBRdWVyeUxpc3QsXG4gIENvbnRlbnRDaGlsZCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgRWxlbWVudFJlZixcbiAgUmVuZGVyZXIyLCBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHdWlkZUhyZWZEaXJlY3RpdmUgfSBmcm9tICcuL2d1aWRlLWhyZWYuZGlyZWN0aXZlJztcbmltcG9ydCB7IERvY3NTZXJ2aWNlIH0gZnJvbSAnLi9kb2NzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRm9yY2VIdG1sVHJhbnNsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi4vaTE4bi9mb3JjZS1odG1sLXRyYW5zbGF0ZS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdbYzh5LWd1aWRlLWRvY3NdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2d1aWRlLWRvY3MuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEd1aWRlRG9jc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgYmFzZVVybDogc3RyaW5nO1xuICBAQ29udGVudENoaWxkcmVuKEd1aWRlSHJlZkRpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBsaW5rczogUXVlcnlMaXN0PEd1aWRlSHJlZkRpcmVjdGl2ZT47XG5cbiAgLyoqXG4gICAqIFByb3ZpZGVzIGFjY2VzcyB0byB0cmFuc2xhdGUgZGlyZWN0aXZlLCBzbyBpdCBpcyBwb3NzaWJsZSB0byBhZGp1c3QgYW5jaG9yIGh0bWwgdGFncywgYWZ0ZXJcbiAgICogY29udGVudCBpcyB0cmFuc2xhdGVkLlxuICAgKi9cbiAgQENvbnRlbnRDaGlsZChGb3JjZUh0bWxUcmFuc2xhdGVEaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSB9KSB0cmFuc2xhdGVEaXJlY3RpdmU7XG5cbiAgcHJpdmF0ZSBkZXN0cm95ZWQkOiBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFJlcGxheVN1YmplY3QoMSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkb2NzOiBEb2NzU2VydmljZSwgcHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYmFzZVVybCA9IHRoaXMuZG9jcy5nZXRCYXNlVXJsKCk7XG4gIH1cblxuICAvKipcbiAgICogQWZ0ZXIgY29udGVudCBpcyBpbml0aWFsaXplZCB3ZSBzdWJzY3JpYmUgZm9yIHRyYW5zbGF0aW9uIGV2ZW50cywgdGhlbiB3ZSBhcmUgYWJsZSB0byBtb2RpZnlcbiAgICogYW5jaG9yIGp1c3QgYXMgQzh5R3VpZGVIcmVmRGlyZWN0aXZlIGRvZXMuXG4gICAqL1xuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKHRoaXMudHJhbnNsYXRlRGlyZWN0aXZlKSB7XG4gICAgICB0aGlzLnRyYW5zbGF0ZURpcmVjdGl2ZS5odG1sVXBkYXRlRXZlbnRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVwbGFjZUFuY2hvckF0dHJpYnV0ZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVwbGFjZUFuY2hvckF0dHJpYnV0ZXMoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRmluZCBhbmQgbW9kaWZ5IGFuY2hvciBlbGVtZW50c1xuICAgKi9cbiAgcmVwbGFjZUFuY2hvckF0dHJpYnV0ZXMoKSB7XG4gICAgY29uc3QgYW5jaG9ycyA9IHRoaXMuZmluZEd1aWRlQW5jaG9ycyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIGFuY2hvcnMuZm9yRWFjaChhID0+IHtcbiAgICAgIGNvbnN0IGd1aWRlSHJlZiA9IGAke3RoaXMuYmFzZVVybH0vJHthLmdldEF0dHJpYnV0ZSgnYzh5LWd1aWRlLWhyZWYnKX1gO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoYSwgJ2hyZWYnLCBndWlkZUhyZWYpO1xuICAgICAgaWYgKCFhLmhhc0F0dHJpYnV0ZSgndGFyZ2V0JykpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoYSwgJ3RhcmdldCcsICdfYmxhbmsnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWN1cnNpdmUgZnVuY3Rpb24sIHJldHVybnMgYXJyYXkgb2YgQW5jaG9yIGVsZW1lbnRzIGluc2lkZSBIVE1MRWxlbWVudC5cbiAgICovXG4gIGZpbmRHdWlkZUFuY2hvcnMoZWw6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnRbXSB7XG4gICAgY29uc3QgaXNBbmNob3IgPSAoKSA9PiBlbC5ub2RlTmFtZSA9PT0gJ0EnO1xuICAgIGNvbnN0IGhhc0d1aWRlSHJlZkF0dHIgPSAoKSA9PiAhIWVsLmF0dHJpYnV0ZXMuZ2V0TmFtZWRJdGVtKCdjOHktZ3VpZGUtaHJlZicpO1xuICAgIGNvbnN0IGhhc0NoaWxkcmVuID0gKCkgPT4gZWwuY2hpbGROb2RlcyAmJiBlbC5jaGlsZE5vZGVzLmxlbmd0aCA+IDA7XG5cbiAgICBsZXQgcmVzdWx0ID0gW107XG5cbiAgICBpZiAoaXNBbmNob3IoKSAmJiBoYXNHdWlkZUhyZWZBdHRyKCkpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGVsKTtcbiAgICB9IGVsc2UgaWYgKGhhc0NoaWxkcmVuKCkpIHtcbiAgICAgIGVsLmNoaWxkTm9kZXMuZm9yRWFjaCgobm9kZTogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3Qgc2VhcmNoUmVzdWx0ID0gdGhpcy5maW5kR3VpZGVBbmNob3JzKG5vZGUpO1xuICAgICAgICBpZiAoc2VhcmNoUmVzdWx0KSB7XG4gICAgICAgICAgcmVzdWx0ID0gWy4uLnJlc3VsdCwgLi4uc2VhcmNoUmVzdWx0XTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5saW5rcy5mb3JFYWNoKGd1aWRlID0+IHtcbiAgICAgIGd1aWRlLmJhc2VIcmVmID0gdGhpcy5iYXNlVXJsO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -19,6 +19,7 @@ ValidationPattern.messages = {
|
|
|
19
19
|
opcuaBrowsePath: gettext('Invalid OPC UA URI.'),
|
|
20
20
|
password: gettext('Password must have at least 8 characters and no more than 32 and can only contain letters, numbers and following symbols: `~!@#$%^&*()_|+-=?;:\'",.<>{}[]\\/'),
|
|
21
21
|
passwordConfirm: gettext('Passwords do not match.'),
|
|
22
|
+
passwordStrength: gettext('Password not good enough, password must be stronger (green).'),
|
|
22
23
|
phoneNumber: gettext('Invalid phone number format. Only digits, spaces, slashes ("/") and dashes ("-") allowed.'),
|
|
23
24
|
required: gettext('This field is required.'),
|
|
24
25
|
tenantId: gettext('May contain lowercase letters, digits, hyphens and underscores. ' +
|
|
@@ -64,4 +65,4 @@ ValidationPattern.rules = {
|
|
|
64
65
|
pattern: /^[^\\/$:+]*$/
|
|
65
66
|
}
|
|
66
67
|
};
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1wYXR0ZXJuLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvcmUvZm9ybXMvdmFsaWRhdGlvbi1wYXR0ZXJuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtDQUFrQztBQUNsQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFTMUMsV0FBVztBQUNYLE1BQU0sT0FBTyxpQkFBaUI7SUEyRTVCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBVztRQUNwQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sT0FBMEIsQ0FBQztJQUNwQyxDQUFDOztBQTdFZSwwQkFBUSxHQUFHO0lBQ3pCLFFBQVEsRUFBRSxPQUFPLENBQUMscURBQXFELENBQUM7SUFDeEUsTUFBTSxFQUFFLE9BQU8sQ0FDYixnR0FBZ0c7UUFDOUYsb0dBQW9HLENBQ3ZHO0lBQ0QsS0FBSyxFQUFFLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQztJQUN4Qyx3QkFBd0IsRUFBRSxPQUFPLENBQy9CLHVFQUF1RSxDQUN4RTtJQUNELFVBQVUsRUFBRSxPQUFPLENBQ2pCLGlGQUFpRixDQUNsRjtJQUNELEdBQUcsRUFBRyxPQUFPLENBQUMsd0JBQXdCLENBQUM7SUFDdkMsR0FBRyxFQUFHLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQztJQUN2QyxlQUFlLEVBQUUsT0FBTyxDQUFDLHFCQUFxQixDQUFDO0lBQy9DLFFBQVEsRUFBRSxPQUFPLENBQ2YsOEpBQThKLENBQy9KO0lBQ0QsZUFBZSxFQUFFLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQztJQUNuRCxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsOERBQThELENBQUM7SUFDekYsV0FBVyxFQUFFLE9BQU8sQ0FDbEIsMkZBQTJGLENBQzVGO0lBQ0QsUUFBUSxFQUFFLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQztJQUM1QyxRQUFRLEVBQUUsT0FBTyxDQUNmLGtFQUFrRTtRQUNoRSxxR0FBcUcsQ0FDeEc7SUFDRCxVQUFVLEVBQUUsT0FBTyxDQUFDLDBEQUEwRCxDQUFDO0lBQy9FLElBQUksRUFBRSxPQUFPLENBQ1gseUZBQXlGLENBQzFGO0NBQ0YsQ0FBQztBQUVjLHVCQUFLLEdBQUc7SUFDdEIsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLFdBQVc7S0FDckI7SUFDRCxNQUFNLEVBQUU7UUFDTixPQUFPLEVBQUUscUNBQXFDO0tBQy9DO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsU0FBUyxFQUFFLEdBQUc7S0FDZjtJQUNELFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRSwyR0FBMkc7S0FDckg7SUFDRCxFQUFFLEVBQUU7UUFDRixPQUFPLEVBQUUsNkZBQTZGO0tBQ3ZHO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsT0FBTyxFQUFFLG1DQUFtQztLQUM3QztJQUNELFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRSx3REFBd0Q7S0FDbEU7SUFDRCxXQUFXLEVBQUU7UUFDWCxPQUFPLEVBQUUsOEJBQThCO0tBQ3hDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLDhCQUE4QjtLQUN4QztJQUNELElBQUksRUFBRTtRQUNKLE9BQU8sRUFBRSxnQkFBZ0I7S0FDMUI7SUFDRCxVQUFVLEVBQUU7UUFDVixPQUFPLEVBQUUsMkVBQTJFO0tBQ3JGO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsT0FBTyxFQUFFLGNBQWM7S0FDeEI7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6IG1heC1saW5lLWxlbmd0aFxuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uL2kxOG4vZ2V0dGV4dCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvblJ1bGVzIHtcbiAgcGF0dGVybj86IFJlZ0V4cDtcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICBtaW5MZW5ndGg/OiBudW1iZXI7XG59XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvblBhdHRlcm4ge1xuICBzdGF0aWMgcmVhZG9ubHkgbWVzc2FnZXMgPSB7XG4gICAgZGV2aWNlSWQ6IGdldHRleHQoJ0RldmljZSBJRCBtdXN0IG5vdCBjb250YWluIHNwYWNlcyBvciBzbGFzaGVzIChcIi9cIikuJyksXG4gICAgZG9tYWluOiBnZXR0ZXh0KFxuICAgICAgJ09ubHkgbG93ZXJjYXNlIGxldHRlcnMsIGRpZ2l0cywgaHlwaGVucyBhbmQgdW5kZXJzY29yZXMgYWxsb3dlZCBpbiB0aGUgZmlyc3QgcGFydCBvZiB0aGUgVVJJLiAnICtcbiAgICAgICAgJ011c3Qgc3RhcnQgd2l0aCBhIGxldHRlcjsgaHlwaGVucyBhbmQgdW5kZXJzY29yZXMgb25seSBhbGxvd2VkIGluIHRoZSBtaWRkbGUuIE11c3QgYmUgYSB2YWxpZCBVUkkuJ1xuICAgICksXG4gICAgZW1haWw6IGdldHRleHQoJ0ludmFsaWQgZW1haWwgYWRkcmVzcy4nKSxcbiAgICBpbnRlcm5hdGlvbmFsUGhvbmVOdW1iZXI6IGdldHRleHQoXG4gICAgICAnSW50ZXJuYXRpb25hbCBwaG9uZSBudW1iZXIgcmVxdWlyZWQsIGluIHRoZSBmb3JtYXQgKzQ5IDkgODc2IDU0MyAyMTAuJ1xuICAgICksXG4gICAgbG9naW5BbGlhczogZ2V0dGV4dChcbiAgICAgICdMb2dpbiBhbGlhcyBtdXN0IG5vdCBjb250YWluIHNsYXNoZXMgKFwiL1wiLCBcIlxcXFxcIikgbm9yIChcIitcIiksIChcIjpcIiksIChcIiRcIikgc2lnbnMuJ1xuICAgICksXG4gICAgbWF4IDogZ2V0dGV4dCgnTWF4IHZhbHVlOiB7eyB2YWx1ZSB9fScpLFxuICAgIG1pbiA6IGdldHRleHQoJ01pbiB2YWx1ZToge3sgdmFsdWUgfX0nKSxcbiAgICBvcGN1YUJyb3dzZVBhdGg6IGdldHRleHQoJ0ludmFsaWQgT1BDIFVBIFVSSS4nKSxcbiAgICBwYXNzd29yZDogZ2V0dGV4dChcbiAgICAgICdQYXNzd29yZCBtdXN0IGhhdmUgYXQgbGVhc3QgOCBjaGFyYWN0ZXJzIGFuZCBubyBtb3JlIHRoYW4gMzIgYW5kIGNhbiBvbmx5IGNvbnRhaW4gbGV0dGVycywgbnVtYmVycyBhbmQgZm9sbG93aW5nIHN5bWJvbHM6IGB+IUAjJCVeJiooKV98Ky09Pzs6XFwnXCIsLjw+e31bXVxcXFwvJ1xuICAgICksXG4gICAgcGFzc3dvcmRDb25maXJtOiBnZXR0ZXh0KCdQYXNzd29yZHMgZG8gbm90IG1hdGNoLicpLFxuICAgIHBhc3N3b3JkU3RyZW5ndGg6IGdldHRleHQoJ1Bhc3N3b3JkIG5vdCBnb29kIGVub3VnaCwgcGFzc3dvcmQgbXVzdCBiZSBzdHJvbmdlciAoZ3JlZW4pLicpLFxuICAgIHBob25lTnVtYmVyOiBnZXR0ZXh0KFxuICAgICAgJ0ludmFsaWQgcGhvbmUgbnVtYmVyIGZvcm1hdC4gT25seSBkaWdpdHMsIHNwYWNlcywgc2xhc2hlcyAoXCIvXCIpIGFuZCBkYXNoZXMgKFwiLVwiKSBhbGxvd2VkLidcbiAgICApLFxuICAgIHJlcXVpcmVkOiBnZXR0ZXh0KCdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLicpLFxuICAgIHRlbmFudElkOiBnZXR0ZXh0KFxuICAgICAgJ01heSBjb250YWluIGxvd2VyY2FzZSBsZXR0ZXJzLCBkaWdpdHMsIGh5cGhlbnMgYW5kIHVuZGVyc2NvcmVzLiAnICtcbiAgICAgICAgJ011c3Qgc3RhcnQgd2l0aCBhIGxldHRlcjsgaHlwaGVucyBhbmQgdW5kZXJzY29yZXMgb25seSBhbGxvd2VkIGluIHRoZSBtaWRkbGU7IG1pbmltdW0gMiBjaGFyYWN0ZXJzLidcbiAgICApLFxuICAgIHVybFNlZ21lbnQ6IGdldHRleHQoJ1NsYXNoLCBzaW5nbGUgb3IgZG91YmxlIGRvdHMgYW5kIHdoaXRlIHNwYWNlIG5vdCBhbGxvd2VkJyksXG4gICAgdXNlcjogZ2V0dGV4dChcbiAgICAgICdVc2VybmFtZSBtdXN0IG5vdCBjb250YWluIHNwYWNlcyBub3Igc2xhc2hlcyAoXCIvXCIsIFwiXFxcXFwiKSBub3IgKFwiK1wiKSwgKFwiOlwiKSwgKFwiJFwiKSBzaWducy4nXG4gICAgKVxuICB9O1xuXG4gIHN0YXRpYyByZWFkb25seSBydWxlcyA9IHtcbiAgICBkZXZpY2VJZDoge1xuICAgICAgcGF0dGVybjogL15bXlxccy9dKiQvXG4gICAgfSxcbiAgICBkb21haW46IHtcbiAgICAgIHBhdHRlcm46IC9eW2Etel0rW2EtejAtOV8tXSpbYS16MC05XStcXC57MX0uKyQvXG4gICAgfSxcbiAgICBncm91cE5hbWU6IHtcbiAgICAgIG1heExlbmd0aDogMjU0XG4gICAgfSxcbiAgICBob3N0bmFtZToge1xuICAgICAgcGF0dGVybjogL14oKFthLXpBLVowLTldfFthLXpBLVowLTldW2EtekEtWjAtOS1dKlthLXpBLVowLTldKVxcLikqKFtBLVphLXowLTldfFtBLVphLXowLTldW0EtWmEtejAtOS1dKltBLVphLXowLTldKSQvXG4gICAgfSxcbiAgICBpcDoge1xuICAgICAgcGF0dGVybjogL14oPzooPzoyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXFwuKXszfSg/OjI1WzAtNV18MlswLTRdWzAtOV18WzAxXT9bMC05XVswLTldPykkL1xuICAgIH0sXG4gICAgb3BjdWFCcm93c2VQYXRoOiB7XG4gICAgICBwYXR0ZXJuOiAvXihvcGMudGNwfGh0dHB8aHR0cHMpOlxcL1xcL1teIFwiXSskL1xuICAgIH0sXG4gICAgcGFzc3dvcmQ6IHtcbiAgICAgIHBhdHRlcm46IC9eW2EtekEtWjAtOWB+IUAjJCVeJiooKV98K1xcLT0/OzonXCIsLjw+e31bXFxdXFxcXC9dezgsMzJ9JC9cbiAgICB9LFxuICAgIHBob25lTnVtYmVyOiB7XG4gICAgICBwYXR0ZXJuOiAvXiR8XihcXCt8MHsyfSlbXFxkXFxzLy1dezEsMzB9JC9cbiAgICB9LFxuICAgIHRlbmFudElkOiB7XG4gICAgICBwYXR0ZXJuOiAvXlthLXpdK1thLXowLTlfLV0qW2EtejAtOV0rJC9cbiAgICB9LFxuICAgIHVzZXI6IHtcbiAgICAgIHBhdHRlcm46IC9eW15cXFxcL1xccyQ6K10qJC9cbiAgICB9LFxuICAgIHVybFNlZ21lbnQ6IHtcbiAgICAgIHBhdHRlcm46IC9eKChbLl17MSwyfSl8KFsvXSkrfCgoWy9dKikoWy5dezEsMn0pKFsvXSopKXwoKC4qKShbL118WyBdKykoLiopKXwoXFxzKykpJC9cbiAgICB9LFxuICAgIGxvZ2luQWxpYXM6IHtcbiAgICAgIHBhdHRlcm46IC9eW15cXFxcLyQ6K10qJC9cbiAgICB9XG4gIH07XG5cbiAgc3RhdGljIGdldChrZXk6IHN0cmluZykge1xuICAgIGNvbnN0IHBhdHRlcm4gPSB0aGlzLnJ1bGVzW2tleV07XG4gICAgcmV0dXJuIHBhdHRlcm4gYXMgVmFsaWRhdGlvblJ1bGVzO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { DefaultLangChangeEvent, LangChangeEvent, TranslateService, TranslationChangeEvent } from '@ngx-translate/core';
|
|
3
|
+
import { AfterViewChecked, ChangeDetectorRef, Directive, ElementRef, EventEmitter, Input, OnDestroy } from '@angular/core';
|
|
4
|
+
import { isEqual } from 'lodash-es';
|
|
5
|
+
/**
|
|
6
|
+
* This is temporary fallback directive that is used to handle HTML blocks translation on maintenance versions
|
|
7
|
+
* in version 10.9.4 and later, this is replaced by default translate directive.
|
|
8
|
+
*/
|
|
9
|
+
let ForceHtmlTranslateDirective = class ForceHtmlTranslateDirective {
|
|
10
|
+
constructor(translateService, element, _ref) {
|
|
11
|
+
this.translateService = translateService;
|
|
12
|
+
this.element = element;
|
|
13
|
+
this._ref = _ref;
|
|
14
|
+
/**
|
|
15
|
+
* Used to trigger events when html is replaced by directive.
|
|
16
|
+
*/
|
|
17
|
+
this.htmlUpdateEvent = new EventEmitter();
|
|
18
|
+
// subscribe to onTranslationChange event, in case the translations of the current lang change
|
|
19
|
+
if (!this.onTranslationChangeSub) {
|
|
20
|
+
this.onTranslationChangeSub = this.translateService.onTranslationChange.subscribe((event) => {
|
|
21
|
+
if (event.lang === this.translateService.currentLang) {
|
|
22
|
+
this.checkNodes();
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
// subscribe to onLangChange event, in case the language changes
|
|
27
|
+
if (!this.onLangChangeSub) {
|
|
28
|
+
this.onLangChangeSub = this.translateService.onLangChange.subscribe((event) => {
|
|
29
|
+
this.checkNodes();
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
// subscribe to onDefaultLangChange event, in case the default language changes
|
|
33
|
+
if (!this.onDefaultLangChangeSub) {
|
|
34
|
+
this.onDefaultLangChangeSub = this.translateService.onDefaultLangChange.subscribe((event) => {
|
|
35
|
+
this.checkNodes();
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
set translateParams(params) {
|
|
40
|
+
if (!isEqual(this.currentParams, params)) {
|
|
41
|
+
this.currentParams = params;
|
|
42
|
+
this.checkNodes();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
ngAfterViewChecked() {
|
|
46
|
+
this.checkNodes();
|
|
47
|
+
}
|
|
48
|
+
checkNodes() {
|
|
49
|
+
if (this.isLookupKeyMissing()) {
|
|
50
|
+
this.element.nativeElement.lookupKey = this.getLookupKey();
|
|
51
|
+
}
|
|
52
|
+
this.translateAndUpdateHtmlContent();
|
|
53
|
+
this.htmlUpdateEvent.emit();
|
|
54
|
+
}
|
|
55
|
+
ngOnDestroy() {
|
|
56
|
+
if (this.onLangChangeSub) {
|
|
57
|
+
this.onLangChangeSub.unsubscribe();
|
|
58
|
+
}
|
|
59
|
+
if (this.onDefaultLangChangeSub) {
|
|
60
|
+
this.onDefaultLangChangeSub.unsubscribe();
|
|
61
|
+
}
|
|
62
|
+
if (this.onTranslationChangeSub) {
|
|
63
|
+
this.onTranslationChangeSub.unsubscribe();
|
|
64
|
+
}
|
|
65
|
+
this.htmlUpdateEvent.complete();
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Builds lookup key from innerHTML, removes comments (that might be added by Angular) and trims it.
|
|
69
|
+
*/
|
|
70
|
+
getLookupKey() {
|
|
71
|
+
return this.element.nativeElement.innerHTML.replace(/<!--.*?-->/gs, '').trim();
|
|
72
|
+
}
|
|
73
|
+
isLookupKeyMissing() {
|
|
74
|
+
return !this.element.nativeElement.lookupKey;
|
|
75
|
+
}
|
|
76
|
+
lookupKeyExist() {
|
|
77
|
+
return this.element.nativeElement.lookupKey;
|
|
78
|
+
}
|
|
79
|
+
translateAndUpdateHtmlContent() {
|
|
80
|
+
if (this.lookupKeyExist()) {
|
|
81
|
+
this.element.nativeElement.innerHTML = this.translateService.instant(this.element.nativeElement.lookupKey, this.currentParams || {});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
ForceHtmlTranslateDirective.ctorParameters = () => [
|
|
86
|
+
{ type: TranslateService },
|
|
87
|
+
{ type: ElementRef },
|
|
88
|
+
{ type: ChangeDetectorRef }
|
|
89
|
+
];
|
|
90
|
+
tslib_1.__decorate([
|
|
91
|
+
Input()
|
|
92
|
+
], ForceHtmlTranslateDirective.prototype, "translateParams", null);
|
|
93
|
+
ForceHtmlTranslateDirective = tslib_1.__decorate([
|
|
94
|
+
Directive({
|
|
95
|
+
selector: '[forceHtmlTranslate]'
|
|
96
|
+
})
|
|
97
|
+
], ForceHtmlTranslateDirective);
|
|
98
|
+
export { ForceHtmlTranslateDirective };
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yY2UtaHRtbC10cmFuc2xhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvcmUvaTE4bi9mb3JjZS1odG1sLXRyYW5zbGF0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixzQkFBc0IsRUFDdkIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEM7OztHQUdHO0FBSUgsSUFBYSwyQkFBMkIsR0FBeEMsTUFBYSwyQkFBMkI7SUFrQnRDLFlBQ1UsZ0JBQWtDLEVBQ2xDLE9BQW1CLEVBQ25CLElBQXVCO1FBRnZCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQWZqQzs7V0FFRztRQUNILG9CQUFlLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFjN0QsOEZBQThGO1FBQzlGLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDaEMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQy9FLENBQUMsS0FBNkIsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRTtvQkFDcEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2lCQUNuQjtZQUNILENBQUMsQ0FDRixDQUFD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Q0F1R3ZDO1NBdkdZLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERlZmF1bHRMYW5nQ2hhbmdlRXZlbnQsXG4gIExhbmdDaGFuZ2VFdmVudCxcbiAgVHJhbnNsYXRlU2VydmljZSxcbiAgVHJhbnNsYXRpb25DaGFuZ2VFdmVudFxufSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbi8qKlxuICogVGhpcyBpcyB0ZW1wb3JhcnkgZmFsbGJhY2sgZGlyZWN0aXZlIHRoYXQgaXMgdXNlZCB0byBoYW5kbGUgSFRNTCBibG9ja3MgdHJhbnNsYXRpb24gb24gbWFpbnRlbmFuY2UgdmVyc2lvbnNcbiAqIGluIHZlcnNpb24gMTAuOS40IGFuZCBsYXRlciwgdGhpcyBpcyByZXBsYWNlZCBieSBkZWZhdWx0IHRyYW5zbGF0ZSBkaXJlY3RpdmUuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmb3JjZUh0bWxUcmFuc2xhdGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JjZUh0bWxUcmFuc2xhdGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkLCBPbkRlc3Ryb3kge1xuICBjdXJyZW50UGFyYW1zOiBhbnk7XG4gIG9uTGFuZ0NoYW5nZVN1YjogU3Vic2NyaXB0aW9uO1xuICBvbkRlZmF1bHRMYW5nQ2hhbmdlU3ViOiBTdWJzY3JpcHRpb247XG4gIG9uVHJhbnNsYXRpb25DaGFuZ2VTdWI6IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogVXNlZCB0byB0cmlnZ2VyIGV2ZW50cyB3aGVuIGh0bWwgaXMgcmVwbGFjZWQgYnkgZGlyZWN0aXZlLlxuICAgKi9cbiAgaHRtbFVwZGF0ZUV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQElucHV0KCkgc2V0IHRyYW5zbGF0ZVBhcmFtcyhwYXJhbXM6IGFueSkge1xuICAgIGlmICghaXNFcXVhbCh0aGlzLmN1cnJlbnRQYXJhbXMsIHBhcmFtcykpIHtcbiAgICAgIHRoaXMuY3VycmVudFBhcmFtcyA9IHBhcmFtcztcbiAgICAgIHRoaXMuY2hlY2tOb2RlcygpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBfcmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICAvLyBzdWJzY3JpYmUgdG8gb25UcmFuc2xhdGlvbkNoYW5nZSBldmVudCwgaW4gY2FzZSB0aGUgdHJhbnNsYXRpb25zIG9mIHRoZSBjdXJyZW50IGxhbmcgY2hhbmdlXG4gICAgaWYgKCF0aGlzLm9uVHJhbnNsYXRpb25DaGFuZ2VTdWIpIHtcbiAgICAgIHRoaXMub25UcmFuc2xhdGlvbkNoYW5nZVN1YiA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5vblRyYW5zbGF0aW9uQ2hhbmdlLnN1YnNjcmliZShcbiAgICAgICAgKGV2ZW50OiBUcmFuc2xhdGlvbkNoYW5nZUV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50LmxhbmcgPT09IHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZykge1xuICAgICAgICAgICAgdGhpcy5jaGVja05vZGVzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIHN1YnNjcmliZSB0byBvbkxhbmdDaGFuZ2UgZXZlbnQsIGluIGNhc2UgdGhlIGxhbmd1YWdlIGNoYW5nZXNcbiAgICBpZiAoIXRoaXMub25MYW5nQ2hhbmdlU3ViKSB7XG4gICAgICB0aGlzLm9uTGFuZ0NoYW5nZVN1YiA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKFxuICAgICAgICAoZXZlbnQ6IExhbmdDaGFuZ2VFdmVudCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2hlY2tOb2RlcygpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIHN1YnNjcmliZSB0byBvbkRlZmF1bHRMYW5nQ2hhbmdlIGV2ZW50LCBpbiBjYXNlIHRoZSBkZWZhdWx0IGxhbmd1YWdlIGNoYW5nZXNcbiAgICBpZiAoIXRoaXMub25EZWZhdWx0TGFuZ0NoYW5nZVN1Yikge1xuICAgICAgdGhpcy5vbkRlZmF1bHRMYW5nQ2hhbmdlU3ViID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLm9uRGVmYXVsdExhbmdDaGFuZ2Uuc3Vic2NyaWJlKFxuICAgICAgICAoZXZlbnQ6IERlZmF1bHRMYW5nQ2hhbmdlRXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLmNoZWNrTm9kZXMoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgdGhpcy5jaGVja05vZGVzKCk7XG4gIH1cblxuICBjaGVja05vZGVzKCkge1xuICAgIGlmICh0aGlzLmlzTG9va3VwS2V5TWlzc2luZygpKSB7XG4gICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5sb29rdXBLZXkgPSB0aGlzLmdldExvb2t1cEtleSgpO1xuICAgIH1cbiAgICB0aGlzLnRyYW5zbGF0ZUFuZFVwZGF0ZUh0bWxDb250ZW50KCk7XG4gICAgdGhpcy5odG1sVXBkYXRlRXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMub25MYW5nQ2hhbmdlU3ViKSB7XG4gICAgICB0aGlzLm9uTGFuZ0NoYW5nZVN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9uRGVmYXVsdExhbmdDaGFuZ2VTdWIpIHtcbiAgICAgIHRoaXMub25EZWZhdWx0TGFuZ0NoYW5nZVN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9uVHJhbnNsYXRpb25DaGFuZ2VTdWIpIHtcbiAgICAgIHRoaXMub25UcmFuc2xhdGlvbkNoYW5nZVN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLmh0bWxVcGRhdGVFdmVudC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBsb29rdXAga2V5IGZyb20gaW5uZXJIVE1MLCByZW1vdmVzIGNvbW1lbnRzICh0aGF0IG1pZ2h0IGJlIGFkZGVkIGJ5IEFuZ3VsYXIpIGFuZCB0cmltcyBpdC5cbiAgICovXG4gIHByaXZhdGUgZ2V0TG9va3VwS2V5KCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5pbm5lckhUTUwucmVwbGFjZSgvPCEtLS4qPy0tPi9ncywgJycpLnRyaW0oKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNMb29rdXBLZXlNaXNzaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQubG9va3VwS2V5O1xuICB9XG5cbiAgcHJpdmF0ZSBsb29rdXBLZXlFeGlzdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQubG9va3VwS2V5O1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc2xhdGVBbmRVcGRhdGVIdG1sQ29udGVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb29rdXBLZXlFeGlzdCgpKSB7XG4gICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQubG9va3VwS2V5LFxuICAgICAgICB0aGlzLmN1cnJlbnRQYXJhbXMgfHwge31cbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -13,6 +13,7 @@ import { HOOK_PATTERN_MESSAGES } from './patterns-message.hook';
|
|
|
13
13
|
import { TranslateCustomLoader } from './translate.loader';
|
|
14
14
|
import { TranslateParserCustom } from './translate.parser';
|
|
15
15
|
import { CachedLocaleDictionaryService } from './cached-locale-dictionary.service';
|
|
16
|
+
import { ForceHtmlTranslateDirective } from './force-html-translate.directive';
|
|
16
17
|
// Load these as a side effect
|
|
17
18
|
try {
|
|
18
19
|
// tslint:disable:no-var-requires
|
|
@@ -86,9 +87,10 @@ let I18nModule = I18nModule_1 = class I18nModule {
|
|
|
86
87
|
};
|
|
87
88
|
I18nModule = I18nModule_1 = tslib_1.__decorate([
|
|
88
89
|
NgModule({
|
|
89
|
-
exports: [TranslateModule],
|
|
90
|
-
imports: [HttpClientModule]
|
|
90
|
+
exports: [TranslateModule, ForceHtmlTranslateDirective],
|
|
91
|
+
imports: [HttpClientModule],
|
|
92
|
+
declarations: [ForceHtmlTranslateDirective]
|
|
91
93
|
})
|
|
92
94
|
], I18nModule);
|
|
93
95
|
export { I18nModule };
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYzh5L25neC1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29yZS9pMThuL2kxOG4ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsZ0JBQWdCLElBQUksbUJBQW1CLEVBQ3ZDLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsZUFBZSxFQUNmLGVBQWUsRUFDZixlQUFlLEVBQ2YsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsVUFBVSxFQUNWLGdCQUFnQixFQUNqQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxr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Q0QsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLFlBQVU7WUFDcEIsU0FBUyxFQUFFLFlBQVUsQ0FBQyxTQUFTLEVBQUU7U0FDbEMsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFBO0FBL0JZLFVBQVU7SUFMdEIsUUFBUSxDQUFDO1FBQ1IsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLDJCQUEyQixDQUFDO1FBQ3ZELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQzNCLFlBQVksRUFBRSxDQUFDLDJCQUEyQixDQUFDO0tBQzVDLENBQUM7R0FDVyxVQUFVLENBK0J0QjtTQS9CWSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IExPQ0FMRV9JRCwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXIsXG4gIFRyYW5zbGF0ZVNlcnZpY2UgYXMgTmd4VHJhbnNsYXRlU2VydmljZSxcbiAgVHJhbnNsYXRlQ29tcGlsZXIsXG4gIFRyYW5zbGF0ZUZha2VDb21waWxlcixcbiAgVHJhbnNsYXRlTG9hZGVyLFxuICBUcmFuc2xhdGVNb2R1bGUsXG4gIFRyYW5zbGF0ZVBhcnNlcixcbiAgVHJhbnNsYXRlU3RvcmUsXG4gIFVTRV9ERUZBVUxUX0xBTkcsXG4gIFVTRV9TVE9SRSxcbiAgVVNFX0VYVEVORCxcbiAgREVGQVVMVF9MQU5HVUFHRVxufSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTEFOR1VBR0VTIH0gZnJvbSAnLi9sYW5ndWFnZXMnO1xuaW1wb3J0IHsgTE9DQUxFX1BBVEggfSBmcm9tICcuL2xvY2FsZS5wYXRoJztcbmltcG9ydCB7IE1pc3NpbmdUcmFuc2xhdGlvbkN1c3RvbUhhbmRsZXIgfSBmcm9tICcuL21pc3NpbmctdHJhbnNsYXRpb24tY3VzdG9tLmhhbmRsZXInO1xuaW1wb3J0IHsgTUVTU0FHRVMgfSBmcm9tICcuL3BhdHRlcm4tbWVzc2FnZXMuZGF0YSc7XG5pbXBvcnQgeyBIT09LX1BBVFRFUk5fTUVTU0FHRVMgfSBmcm9tICcuL3BhdHRlcm5zLW1lc3NhZ2UuaG9vayc7XG5pbXBvcnQgeyBUcmFuc2xhdGVDdXN0b21Mb2FkZXIgfSBmcm9tICcuL3RyYW5zbGF0ZS5sb2FkZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGFyc2VyQ3VzdG9tIH0gZnJvbSAnLi90cmFuc2xhdGUucGFyc2VyJztcbmltcG9ydCB7IENhY2hlZExvY2FsZURpY3Rpb25hcnlTZXJ2aWNlIH0gZnJvbSAnLi9jYWNoZWQtbG9jYWxlLWRpY3Rpb25hcnkuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JjZUh0bWxUcmFuc2xhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2ZvcmNlLWh0bWwtdHJhbnNsYXRlLmRpcmVjdGl2ZSc7XG5cbi8vIExvYWQgdGhlc2UgYXMgYSBzaWRlIGVmZmVjdFxudHJ5IHtcbiAgLy8gdHNsaW50OmRpc2FibGU6bm8tdmFyLXJlcXVpcmVzXG4gIHJlcXVpcmUoJ0BjOHkvbmd4LWNvbXBvbmVudHMvbG9jYWxlcy9kZS5wbycpO1xuICByZXF1aXJlKCdAYzh5L25neC1jb21wb25lbnRzL2xvY2FsZXMvZW4ucG8nKTtcbiAgcmVxdWlyZSgnQGM4eS9uZ3gtY29tcG9uZW50cy9sb2NhbGVzL2VzLnBvJyk7XG4gIHJlcXVpcmUoJ0BjOHkvbmd4LWNvbXBvbmVudHMvbG9jYWxlcy9mci5wbycpO1xuICByZXF1aXJlKCdAYzh5L25neC1jb21wb25lbnRzL2xvY2FsZXMvamFfSlAucG8nKTtcbiAgIC8vIHRzbGludDplbmFibGU6bm8tdmFyLXJlcXVpcmVzXG59IGNhdGNoIChlKSB7XG4gIC8vIGVtcHR5IGJsb2NrXG59XG5cbi8vIEFvVCByZXF1aXJlcyBhbiBleHBvcnRlZCBmdW5jdGlvbiBmb3IgZmFjdG9yaWVzXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNsYXRlTG9hZGVyRmFjdG9yeShcbiAgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlLFxuICBjYWNoZWRMb2NhbGVEaWN0aW9uYXJ5U2VydmljZTogQ2FjaGVkTG9jYWxlRGljdGlvbmFyeVNlcnZpY2UsXG4gIGxvY2FsZVBhdGg6IHN0cmluZyxcbiAgbGFuZ3VhZ2VzOiBhbnlcbikge1xuICByZXR1cm4gbmV3IFRyYW5zbGF0ZUN1c3RvbUxvYWRlcihodHRwQ2xpZW50LCBvcHRpb25zU2VydmljZSwgY2FjaGVkTG9jYWxlRGljdGlvbmFyeVNlcnZpY2UsIGxvY2FsZVBhdGgsIGxhbmd1YWdlcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2NhbGVQYXRoRmFjdG9yeShvcHRpb25zOiBPcHRpb25zU2VydmljZSkge1xuICByZXR1cm4gb3B0aW9ucy5sb2NhbGVQYXRoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGFuZ3VhZ2VzRmFjdG9yeShvcHRpb25zOiBPcHRpb25zU2VydmljZSkge1xuICByZXR1cm4gb3B0aW9ucy5sYW5ndWFnZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2NhbGVJZChhcHBTdGF0ZVNlcnZpY2U6IEFwcFN0YXRlU2VydmljZSkge1xuICByZXR1cm4ge1xuICAgIGdldCBsYW5nKCkge1xuICAgICAgcmV0dXJuIGFwcFN0YXRlU2VydmljZS5zdGF0ZS5sYW5nIHx8ICdlbic7XG4gICAgfSxcbiAgICB0b0xvd2VyQ2FzZSgpIHtcbiAgICAgIHJldHVybiB0aGlzLmxhbmc7XG4gICAgfSxcbiAgICB0b1N0cmluZygpIHtcbiAgICAgIHJldHVybiB0aGlzLmxhbmc7XG4gICAgfVxuICB9O1xufVxuXG4vKipcbiAqIFRoZSBhbmd1bGFyIG1vZHVsZSBkZWZpbml0aW9uIGZvciBpMThuICh0cmFuc2xhdGlvbikuXG4gKiBAZXhwb3J0cyBJMThuTW9kdWxlXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtUcmFuc2xhdGVNb2R1bGUsIEZvcmNlSHRtbFRyYW5zbGF0ZURpcmVjdGl2ZV0sXG4gIGltcG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbRm9yY2VIdG1sVHJhbnNsYXRlRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBJMThuTW9kdWxlIHtcbiAgc3RhdGljIHByb3ZpZGVycygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgeyBwcm92aWRlOiBMT0NBTEVfSUQsIHVzZUZhY3Rvcnk6IGxvY2FsZUlkLCBkZXBzOiBbQXBwU3RhdGVTZXJ2aWNlXSB9LFxuICAgICAgeyBwcm92aWRlOiBIT09LX1BBVFRFUk5fTUVTU0FHRVMsIHVzZVZhbHVlOiBNRVNTQUdFUywgbXVsdGk6IHRydWUgfSxcbiAgICAgIHsgcHJvdmlkZTogTE9DQUxFX1BBVEgsIHVzZUZhY3Rvcnk6IGxvY2FsZVBhdGhGYWN0b3J5LCBkZXBzOiBbT3B0aW9uc1NlcnZpY2VdIH0sXG4gICAgICB7IHByb3ZpZGU6IExBTkdVQUdFUywgdXNlRmFjdG9yeTogbGFuZ3VhZ2VzRmFjdG9yeSwgZGVwczogW09wdGlvbnNTZXJ2aWNlXSB9LFxuXG4gICAgICAvLyBFeHRyYWN0ZWQgZnJvbSBwcm9qZWN0cy9uZ3gtdHJhbnNsYXRlL2NvcmUvc3JjL3B1YmxpY19hcGkudHNcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgICAgICB1c2VGYWN0b3J5OiB0cmFuc2xhdGVMb2FkZXJGYWN0b3J5LFxuICAgICAgICBkZXBzOiBbSHR0cENsaWVudCwgT3B0aW9uc1NlcnZpY2UsIENhY2hlZExvY2FsZURpY3Rpb25hcnlTZXJ2aWNlLCBMT0NBTEVfUEFUSCwgTEFOR1VBR0VTXVxuICAgICAgfSxcbiAgICAgIHsgcHJvdmlkZTogVHJhbnNsYXRlQ29tcGlsZXIsIHVzZUNsYXNzOiBUcmFuc2xhdGVGYWtlQ29tcGlsZXIgfSxcbiAgICAgIHsgcHJvdmlkZTogVHJhbnNsYXRlUGFyc2VyLCB1c2VDbGFzczogVHJhbnNsYXRlUGFyc2VyQ3VzdG9tIH0sXG4gICAgICB7IHByb3ZpZGU6IE1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXIsIHVzZUNsYXNzOiBNaXNzaW5nVHJhbnNsYXRpb25DdXN0b21IYW5kbGVyIH0sXG4gICAgICBUcmFuc2xhdGVTdG9yZSxcbiAgICAgIE5neFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICB7IHByb3ZpZGU6IFVTRV9TVE9SRSwgdXNlVmFsdWU6IHVuZGVmaW5lZCB9LFxuICAgICAgeyBwcm92aWRlOiBVU0VfREVGQVVMVF9MQU5HLCB1c2VWYWx1ZTogdW5kZWZpbmVkIH0sXG4gICAgICB7IHByb3ZpZGU6IFVTRV9FWFRFTkQsIHVzZVZhbHVlOiBmYWxzZSB9LFxuICAgICAgeyBwcm92aWRlOiBERUZBVUxUX0xBTkdVQUdFLCB1c2VWYWx1ZTogdW5kZWZpbmVkIH1cbiAgICBdO1xuICB9XG4gIHN0YXRpYyBmb3JSb290KCkge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogSTE4bk1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogSTE4bk1vZHVsZS5wcm92aWRlcnMoKVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|