@c8y/ngx-components 1021.63.2 → 1021.67.0
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/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts +7 -2
- package/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts.map +1 -1
- package/core/bottom-drawer/bottom-drawer-ref.d.ts +4 -0
- package/core/bottom-drawer/bottom-drawer-ref.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb-item.component.d.ts +1 -1
- package/core/breadcrumb/breadcrumb-item.component.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb-outlet.component.d.ts +1 -1
- package/core/breadcrumb/breadcrumb-outlet.component.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb.component.d.ts +1 -1
- package/core/breadcrumb/breadcrumb.component.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb.module.d.ts +7 -7
- package/core/breadcrumb/breadcrumb.module.d.ts.map +1 -1
- package/core/common/common.module.d.ts +38 -38
- package/core/common/date-format.service.d.ts +30 -0
- package/core/common/date-format.service.d.ts.map +1 -0
- package/core/common/date.pipe.d.ts +7 -3
- package/core/common/date.pipe.d.ts.map +1 -1
- package/core/common/index.d.ts +1 -0
- package/core/common/index.d.ts.map +1 -1
- package/core/common/outlet.directive.d.ts +1 -1
- package/core/common/outlet.directive.d.ts.map +1 -1
- package/core/common/user-preferences/user-preferences-store-current-user.d.ts +11 -0
- package/core/common/user-preferences/user-preferences-store-current-user.d.ts.map +1 -0
- package/core/common/user-preferences/user-preferences.service.d.ts +40 -1
- package/core/common/user-preferences/user-preferences.service.d.ts.map +1 -1
- package/core/date-picker/date-picker.component.d.ts +3 -1
- package/core/date-picker/date-picker.component.d.ts.map +1 -1
- package/core/date-time-picker/date-time-picker.component.d.ts +6 -3
- package/core/date-time-picker/date-time-picker.component.d.ts.map +1 -1
- package/core/dynamic-forms/date/date.type.component.d.ts +3 -0
- package/core/dynamic-forms/date/date.type.component.d.ts.map +1 -1
- package/core/plugins/plugins.model.d.ts +1 -0
- package/core/plugins/plugins.model.d.ts.map +1 -1
- package/core/plugins/plugins.service.d.ts +7 -2
- package/core/plugins/plugins.service.d.ts.map +1 -1
- package/core/time-interval/time-interval.component.d.ts +4 -2
- package/core/time-interval/time-interval.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/application-plugin-readme.component.d.ts +15 -0
- package/ecosystem/application-plugins/application-plugin-readme.component.d.ts.map +1 -0
- package/ecosystem/application-plugins/application-plugins.component.d.ts +4 -2
- package/ecosystem/application-plugins/application-plugins.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/application-plugins.module.d.ts +4 -3
- package/ecosystem/application-plugins/application-plugins.module.d.ts.map +1 -1
- package/ecosystem/application-plugins/install-plugin.component.d.ts +8 -4
- package/ecosystem/application-plugins/install-plugin.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/plugin-list.component.d.ts +10 -26
- package/ecosystem/application-plugins/plugin-list.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/plugin-list.service.d.ts +27 -0
- package/ecosystem/application-plugins/plugin-list.service.d.ts.map +1 -0
- package/ecosystem/ecosystem.module.d.ts +2 -1
- package/ecosystem/ecosystem.module.d.ts.map +1 -1
- package/ecosystem/packages/package-changelog-tab/package-changelog-tab.component.d.ts +15 -0
- package/ecosystem/packages/package-changelog-tab/package-changelog-tab.component.d.ts.map +1 -0
- package/ecosystem/packages/package-changelog.guard.d.ts +10 -0
- package/ecosystem/packages/package-changelog.guard.d.ts.map +1 -0
- package/ecosystem/packages/package-details/package-details.component.d.ts +7 -9
- package/ecosystem/packages/package-details/package-details.component.d.ts.map +1 -1
- package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts +5 -1
- package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts.map +1 -1
- package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts +8 -3
- package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts.map +1 -1
- package/ecosystem/packages/package-versions/packages-versions.component.d.ts +9 -2
- package/ecosystem/packages/package-versions/packages-versions.component.d.ts.map +1 -1
- package/ecosystem/shared/index.d.ts +1 -0
- package/ecosystem/shared/index.d.ts.map +1 -1
- package/ecosystem/shared/package-changelog/package-changelog.component.d.ts +24 -0
- package/ecosystem/shared/package-changelog/package-changelog.component.d.ts.map +1 -0
- package/ecosystem/shared/shared-ecosystem.module.d.ts +2 -1
- package/ecosystem/shared/shared-ecosystem.module.d.ts.map +1 -1
- package/esm2022/auth-configuration/sso-configuration/template-parts/signature-configuration.component.mjs +11 -7
- package/esm2022/core/bottom-drawer/bottom-drawer-ref.mjs +9 -3
- package/esm2022/core/breadcrumb/breadcrumb-item.component.mjs +3 -3
- package/esm2022/core/breadcrumb/breadcrumb-outlet.component.mjs +19 -9
- package/esm2022/core/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/core/breadcrumb/breadcrumb.module.mjs +16 -5
- package/esm2022/core/common/common.module.mjs +6 -6
- package/esm2022/core/common/date-format.service.mjs +81 -0
- package/esm2022/core/common/date.pipe.mjs +29 -6
- package/esm2022/core/common/index.mjs +2 -1
- package/esm2022/core/common/outlet.directive.mjs +4 -3
- package/esm2022/core/common/user-preferences/user-preferences-store-current-user.mjs +22 -0
- package/esm2022/core/common/user-preferences/user-preferences.service.mjs +106 -16
- package/esm2022/core/date-picker/date-picker.component.mjs +11 -4
- package/esm2022/core/date-time-picker/date-time-picker.component.mjs +20 -11
- package/esm2022/core/dynamic-forms/date/date.type.component.mjs +12 -4
- package/esm2022/core/plugins/plugins.model.mjs +1 -1
- package/esm2022/core/plugins/plugins.service.mjs +31 -5
- package/esm2022/core/time-interval/time-interval.component.mjs +9 -2
- package/esm2022/ecosystem/application-plugins/application-plugin-readme.component.mjs +26 -0
- package/esm2022/ecosystem/application-plugins/application-plugins.component.mjs +29 -14
- package/esm2022/ecosystem/application-plugins/application-plugins.module.mjs +6 -3
- package/esm2022/ecosystem/application-plugins/install-plugin.component.mjs +21 -15
- package/esm2022/ecosystem/application-plugins/plugin-list-item.component.mjs +3 -3
- package/esm2022/ecosystem/application-plugins/plugin-list.component.mjs +26 -202
- package/esm2022/ecosystem/application-plugins/plugin-list.service.mjs +200 -0
- package/esm2022/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.mjs +3 -3
- package/esm2022/ecosystem/application-properties/update-application-modal/update-application-modal.component.mjs +1 -1
- package/esm2022/ecosystem/ecosystem.module.mjs +21 -5
- package/esm2022/ecosystem/packages/package-changelog-tab/package-changelog-tab.component.mjs +33 -0
- package/esm2022/ecosystem/packages/package-changelog.guard.mjs +22 -0
- package/esm2022/ecosystem/packages/package-details/package-details.component.mjs +25 -44
- package/esm2022/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.mjs +14 -4
- package/esm2022/ecosystem/packages/package-versions/package-contents/packages-contents.component.mjs +27 -8
- package/esm2022/ecosystem/packages/package-versions/packages-versions.component.mjs +22 -8
- package/esm2022/ecosystem/shared/index.mjs +2 -1
- package/esm2022/ecosystem/shared/list-filters/list-filters.component.mjs +3 -3
- package/esm2022/ecosystem/shared/package-changelog/package-changelog.component.mjs +82 -0
- package/esm2022/ecosystem/shared/package-version-select/package-version-select.component.mjs +3 -3
- package/esm2022/ecosystem/shared/shared-ecosystem.module.mjs +12 -6
- package/esm2022/operations/bulk-operation-scheduler/operation-scheduler.component.mjs +9 -7
- package/esm2022/operations/bulk-operations-list/bulk-operations-list.component.mjs +1 -1
- package/esm2022/upgrade/ng1/downgraded.services.mjs +3 -2
- package/esm2022/upgrade/ng1/index.mjs +3 -2
- package/esm2022/widgets/cockpit/index.mjs +3 -1
- package/esm2022/widgets/cockpit-exports/index.mjs +8 -1
- package/esm2022/widgets/definitions/index.mjs +2 -1
- package/esm2022/widgets/definitions/radial-gauge/c8y-ngx-components-widgets-definitions-radial-gauge.mjs +5 -0
- package/esm2022/widgets/definitions/radial-gauge/index.mjs +33 -0
- package/esm2022/widgets/implementations/info-gauge/index.mjs +2 -2
- package/esm2022/widgets/implementations/info-gauge/info-gauge-widget-config/gauge.model.mjs +295 -0
- package/esm2022/widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.mjs +141 -11
- package/esm2022/widgets/implementations/info-gauge/info-gauge-widget-config/preset-preview/preset-preview.component.mjs +67 -0
- package/esm2022/widgets/implementations/info-gauge/info-gauge-widget-view/info-gauge-widget-view.component.mjs +34 -6
- package/esm2022/widgets/implementations/info-gauge/info-gauge-widget.module.mjs +9 -4
- package/esm2022/widgets/implementations/info-gauge/radial-gauge/radial-gauge.component.mjs +97 -0
- package/esm2022/widgets/implementations/info-gauge/radial-gauge/radial-gauge.service.mjs +369 -0
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs +9 -5
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +209 -142
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +96 -13
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem.mjs +336 -186
- package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +7 -5
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-upgrade.mjs +3 -1
- package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-cockpit-exports.mjs +7 -0
- package/fesm2022/c8y-ngx-components-widgets-cockpit-exports.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-cockpit.mjs +2 -0
- package/fesm2022/c8y-ngx-components-widgets-cockpit.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs +40 -0
- package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-widgets-definitions.mjs +1 -0
- package/fesm2022/c8y-ngx-components-widgets-definitions.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +991 -28
- package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +833 -550
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/de.po +45 -6
- package/locales/es.po +45 -6
- package/locales/fr.po +45 -6
- package/locales/ja_JP.po +45 -6
- package/locales/ko.po +45 -6
- package/locales/locales.pot +73 -10
- package/locales/nl.po +45 -6
- package/locales/pl.po +45 -6
- package/locales/pt_BR.po +45 -6
- package/locales/zh_CN.po +45 -6
- package/locales/zh_TW.po +45 -6
- package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts +4 -2
- package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/upgrade/ng1/downgraded.services.d.ts +1 -0
- package/upgrade/ng1/downgraded.services.d.ts.map +1 -1
- package/upgrade/ng1/index.d.ts.map +1 -1
- package/widgets/cockpit/index.d.ts +29 -0
- package/widgets/cockpit/index.d.ts.map +1 -1
- package/widgets/cockpit-exports/index.d.ts +6 -0
- package/widgets/cockpit-exports/index.d.ts.map +1 -1
- package/widgets/definitions/index.d.ts +1 -0
- package/widgets/definitions/index.d.ts.map +1 -1
- package/widgets/definitions/radial-gauge/c8y-ngx-components-widgets-definitions-radial-gauge.d.ts.map +1 -0
- package/widgets/definitions/radial-gauge/index.d.ts +33 -0
- package/widgets/definitions/radial-gauge/index.d.ts.map +1 -0
- package/widgets/implementations/info-gauge/index.d.ts +1 -1
- package/widgets/implementations/info-gauge/index.d.ts.map +1 -1
- package/widgets/implementations/info-gauge/info-gauge-widget-config/gauge.model.d.ts +339 -0
- package/widgets/implementations/info-gauge/info-gauge-widget-config/gauge.model.d.ts.map +1 -0
- package/widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.d.ts +27 -7
- package/widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.d.ts.map +1 -1
- package/widgets/implementations/info-gauge/info-gauge-widget-config/preset-preview/preset-preview.component.d.ts +33 -0
- package/widgets/implementations/info-gauge/info-gauge-widget-config/preset-preview/preset-preview.component.d.ts.map +1 -0
- package/widgets/implementations/info-gauge/info-gauge-widget-view/info-gauge-widget-view.component.d.ts +7 -3
- package/widgets/implementations/info-gauge/info-gauge-widget-view/info-gauge-widget-view.component.d.ts.map +1 -1
- package/widgets/implementations/info-gauge/info-gauge-widget.module.d.ts +2 -1
- package/widgets/implementations/info-gauge/info-gauge-widget.module.d.ts.map +1 -1
- package/widgets/implementations/info-gauge/radial-gauge/radial-gauge.component.d.ts +37 -0
- package/widgets/implementations/info-gauge/radial-gauge/radial-gauge.component.d.ts.map +1 -0
- package/widgets/implementations/info-gauge/radial-gauge/radial-gauge.service.d.ts +146 -0
- package/widgets/implementations/info-gauge/radial-gauge/radial-gauge.service.d.ts.map +1 -0
- package/esm2022/widgets/implementations/info-gauge/info-gauge.model.mjs +0 -2
- package/widgets/implementations/info-gauge/info-gauge.model.d.ts +0 -7
- package/widgets/implementations/info-gauge/info-gauge.model.d.ts.map +0 -1
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Injectable, Component, Input, ViewChild, Pipe, Output, forwardRef, NgModule } from '@angular/core';
|
|
2
|
+
import { EventEmitter, Injectable, Component, Input, ViewChild, Pipe, Output, forwardRef, inject, NgModule } from '@angular/core';
|
|
3
3
|
import * as i3$1 from '@c8y/client';
|
|
4
4
|
import { ApplicationAvailability, ApplicationType } from '@c8y/client';
|
|
5
5
|
import * as i2 from '@c8y/ngx-components';
|
|
6
|
-
import { gettext, PackageType, Status, DropAreaComponent, C8yStepper, internalApps, FilterInputComponent, CoreModule, hookWizard } from '@c8y/ngx-components';
|
|
6
|
+
import { gettext, PackageType, Status, DropAreaComponent, C8yStepper, internalApps, FilterInputComponent, PluginsService, LoadingComponent, MarkdownToHtmlPipe, EmptyStateComponent, C8yTranslatePipe, CoreModule, hookWizard } from '@c8y/ngx-components';
|
|
7
7
|
import * as i3 from '@ngx-translate/core';
|
|
8
8
|
import { saveAs } from 'file-saver';
|
|
9
9
|
import { groupBy, uniqBy, get, pick, omit, isUndefined, kebabCase, cloneDeep } from 'lodash-es';
|
|
10
10
|
import { BehaviorSubject, defer, merge, combineLatest, Subject, pipe } from 'rxjs';
|
|
11
11
|
import { map, shareReplay, debounceTime, take, filter, distinctUntilKeyChanged, tap, switchMap, takeUntil } from 'rxjs/operators';
|
|
12
|
-
import { satisfies, gt, coerce } from 'semver';
|
|
12
|
+
import { satisfies, gt, coerce, lt } from 'semver';
|
|
13
13
|
import * as i5 from '@angular/common';
|
|
14
|
+
import { AsyncPipe, NgIf } from '@angular/common';
|
|
14
15
|
import * as i1 from '@angular/forms';
|
|
15
16
|
import { Validators, NG_VALUE_ACCESSOR, FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
16
17
|
import * as i8 from 'ngx-bootstrap/popover';
|
|
@@ -1705,7 +1706,7 @@ class PackageVersionSelectComponent {
|
|
|
1705
1706
|
multi: true,
|
|
1706
1707
|
useExisting: forwardRef(() => PackageVersionSelectComponent)
|
|
1707
1708
|
}
|
|
1708
|
-
], usesOnChanges: true, ngImport: i0, template: "<label for=\"packageVersion\">{{ label | translate }}</label>\n<c8y-form-group>\n <c8y-typeahead\n [(ngModel)]=\"selectedVersion\"\n name=\"packageVersion\"\n (onSearch)=\"onInput$.next($event)\"\n placeholder=\"{{ 'Select below or start typing' | translate }}\"\n [displayProperty]=\"'version'\"\n [required]=\"true\"\n [disabled]=\"isDisabled\"\n [hideNew]=\"true\"\n [container]=\"'body'\"\n >\n <c8y-li\n *c8yFor=\"let appVersion of versions$; loadMore: 'auto'; notFound: notFoundTemplate\"\n (click)=\"onVersionSelect(appVersion)\"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n [active]=\"selectedVersion === appVersion\"\n >\n <c8y-li-icon icon=\"big-parcel\"></c8y-li-icon>\n <
|
|
1709
|
+
], usesOnChanges: true, ngImport: i0, template: "<label for=\"packageVersion\">{{ label | translate }}</label>\n<c8y-form-group>\n <c8y-typeahead\n [(ngModel)]=\"selectedVersion\"\n name=\"packageVersion\"\n (onSearch)=\"onInput$.next($event)\"\n placeholder=\"{{ 'Select below or start typing' | translate }}\"\n [displayProperty]=\"'version'\"\n [required]=\"true\"\n [disabled]=\"isDisabled\"\n [hideNew]=\"true\"\n [container]=\"'body'\"\n >\n <c8y-li\n *c8yFor=\"let appVersion of versions$; loadMore: 'auto'; notFound: notFoundTemplate\"\n (click)=\"onVersionSelect(appVersion)\"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n [active]=\"selectedVersion === appVersion\"\n >\n <c8y-li-icon icon=\"big-parcel\"></c8y-li-icon>\n <c8y-highlight\n [text]=\"appVersion.version || '--'\"\n [pattern]=\"onInput$ | async\"\n ></c8y-highlight>\n <span>\n <span *ngFor=\"let tag of appVersion.tags\" class=\"label label-info m-l-4\">\n {{ tag }}\n </span>\n </span>\n </c8y-li>\n <ng-template #notFoundTemplate>\n <c8y-li\n class=\"bg-gray-lighter p-8\"\n *ngIf=\"(onInput$ | async)?.length > 0 && (versions$ | async)?.data?.length === 0\"\n >\n <span translate>No match found.</span>\n </c8y-li>\n </ng-template>\n </c8y-typeahead>\n</c8y-form-group>\n", dependencies: [{ kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForLoadingLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount", "c8yForChange", "c8yForLoadMoreComponent"] }, { kind: "component", type: i2.HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { kind: "component", type: i2.TypeaheadComponent, selector: "c8y-typeahead", inputs: ["required", "maxlength", "disabled", "allowFreeEntries", "placeholder", "displayProperty", "icon", "name", "autoClose", "hideNew", "container", "selected", "highlightFirstItem"], outputs: ["onSearch", "onIconClick"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "component", type: i2.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: i2.ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] }); }
|
|
1709
1710
|
}
|
|
1710
1711
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PackageVersionSelectComponent, decorators: [{
|
|
1711
1712
|
type: Component,
|
|
@@ -1715,7 +1716,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1715
1716
|
multi: true,
|
|
1716
1717
|
useExisting: forwardRef(() => PackageVersionSelectComponent)
|
|
1717
1718
|
}
|
|
1718
|
-
], template: "<label for=\"packageVersion\">{{ label | translate }}</label>\n<c8y-form-group>\n <c8y-typeahead\n [(ngModel)]=\"selectedVersion\"\n name=\"packageVersion\"\n (onSearch)=\"onInput$.next($event)\"\n placeholder=\"{{ 'Select below or start typing' | translate }}\"\n [displayProperty]=\"'version'\"\n [required]=\"true\"\n [disabled]=\"isDisabled\"\n [hideNew]=\"true\"\n [container]=\"'body'\"\n >\n <c8y-li\n *c8yFor=\"let appVersion of versions$; loadMore: 'auto'; notFound: notFoundTemplate\"\n (click)=\"onVersionSelect(appVersion)\"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n [active]=\"selectedVersion === appVersion\"\n >\n <c8y-li-icon icon=\"big-parcel\"></c8y-li-icon>\n <
|
|
1719
|
+
], template: "<label for=\"packageVersion\">{{ label | translate }}</label>\n<c8y-form-group>\n <c8y-typeahead\n [(ngModel)]=\"selectedVersion\"\n name=\"packageVersion\"\n (onSearch)=\"onInput$.next($event)\"\n placeholder=\"{{ 'Select below or start typing' | translate }}\"\n [displayProperty]=\"'version'\"\n [required]=\"true\"\n [disabled]=\"isDisabled\"\n [hideNew]=\"true\"\n [container]=\"'body'\"\n >\n <c8y-li\n *c8yFor=\"let appVersion of versions$; loadMore: 'auto'; notFound: notFoundTemplate\"\n (click)=\"onVersionSelect(appVersion)\"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n [active]=\"selectedVersion === appVersion\"\n >\n <c8y-li-icon icon=\"big-parcel\"></c8y-li-icon>\n <c8y-highlight\n [text]=\"appVersion.version || '--'\"\n [pattern]=\"onInput$ | async\"\n ></c8y-highlight>\n <span>\n <span *ngFor=\"let tag of appVersion.tags\" class=\"label label-info m-l-4\">\n {{ tag }}\n </span>\n </span>\n </c8y-li>\n <ng-template #notFoundTemplate>\n <c8y-li\n class=\"bg-gray-lighter p-8\"\n *ngIf=\"(onInput$ | async)?.length > 0 && (versions$ | async)?.data?.length === 0\"\n >\n <span translate>No match found.</span>\n </c8y-li>\n </ng-template>\n </c8y-typeahead>\n</c8y-form-group>\n" }]
|
|
1719
1720
|
}], ctorParameters: () => [{ type: i3$1.ApplicationService }, { type: i2.PluginsService }], propDecorators: { label: [{
|
|
1720
1721
|
type: Input
|
|
1721
1722
|
}], packageContextPath: [{
|
|
@@ -2000,11 +2001,11 @@ class ListFiltersComponent {
|
|
|
2000
2001
|
});
|
|
2001
2002
|
}
|
|
2002
2003
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListFiltersComponent, deps: [{ token: i1.FormBuilder }, { token: i2.AppStateService }, { token: i3.TranslateService }, { token: i2.GainsightService }, { token: i4.Router }, { token: i4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2003
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ListFiltersComponent, selector: "c8y-list-filters", inputs: { packageTypes: "packageTypes", packageAvailabilities: "packageAvailabilities", packageContents: "packageContents" }, outputs: { filterPipeChange: "filterPipeChange" }, viewQueries: [{ propertyName: "filterInput", first: true, predicate: FilterInputComponent, descendants: true }], ngImport: i0, template: "<form\n class=\"d-flex a-i-center\"\n [formGroup]=\"formGroup\"\n>\n <c8y-filter\n [filterTerm]=\"currentFilterTerm\"\n (onSearch)=\"setFilterTerm($event)\"\n ></c8y-filter>\n\n <div\n class=\"dropdown m-l-8 m-r-4\"\n *ngIf=\"predefinedFiltersVisible\"\n dropdown\n (isOpenChange)=\"toggleDropdown($event)\"\n #filtersDropdown=\"bs-dropdown\"\n [cdkTrapFocus]=\"filtersDropdown.isOpen\"\n [insideClick]=\"true\"\n >\n <div class=\"input-group d-inline-flex\">\n <button\n class=\"btn-clean form-control p-l-8 p-r-16 a-s-stretch d-flex a-i-center w-auto flex-no-shrink\"\n title=\"{{ 'Filters' | translate }}\"\n dropdownToggle\n >\n <span [ngPlural]=\"chips.length\">\n <ng-template ngPluralCase=\"=0\">\n {{ 'Filters' | translate }}\n </ng-template>\n <ng-template ngPluralCase=\"=1\">\n <span class=\"badge badge-info\">{{ chips.length }}</span>\n {{ 'Filter' | translate }}\n </ng-template>\n <ng-template ngPluralCase=\"other\">\n <span class=\"badge badge-info\">{{ chips.length }}</span>\n {{ 'Filters' | translate }}\n </ng-template>\n </span>\n <span class=\"caret\"></span>\n </button>\n <div\n class=\"input-group-addon p-t-0 p-b-0 d-flex gap-4 a-i-center inner-scroll\"\n *ngIf=\"chips.length > 0\"\n >\n <ng-container *ngFor=\"let chip of chips\">\n <span\n class=\"tag tag--info chip\"\n *ngIf=\"chip[1].value\"\n >\n <button\n class=\"btn btn-xs btn-clean text-10\"\n title=\"{{ 'Remove' | translate }}\"\n type=\"button\"\n (click)=\"deselectChip(chip)\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n {{ chip[0] | translate | titlecase }}\n </span>\n </ng-container>\n </div>\n </div>\n <div\n class=\"dropdown-menu\"\n *dropdownMenu\n >\n <div class=\"dropdown-form\">\n <c8y-form-group\n *ngIf=\"packageTypes.length\"\n formGroupName=\"type\"\n >\n <label class=\"m-b-16\">\n {{ 'Type' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"type | translate\"\n *ngFor=\"let type of packageTypes\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"type\"\n [value]=\"type\"\n />\n <span></span>\n <span>{{ type | translate | titlecase }}</span>\n </label>\n </c8y-form-group>\n\n <c8y-form-group\n *ngIf=\"packageAvailabilities.length\"\n formGroupName=\"availability\"\n >\n <label class=\"m-b-16\">\n {{ 'Availability`of package based on app state`' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"availability | translate\"\n *ngFor=\"let availability of packageAvailabilities\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"availability\"\n [value]=\"availability\"\n />\n <span></span>\n <span>{{ availability | translate }}</span>\n </label>\n </c8y-form-group>\n\n <c8y-form-group\n *ngIf=\"packageContents.length\"\n formGroupName=\"content\"\n >\n <label class=\"m-b-16\">\n {{ 'Content' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"content | translate\"\n *ngFor=\"let content of packageContents\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"content\"\n [value]=\"content\"\n />\n <span></span>\n <span>{{ content | translate }}</span>\n </label>\n </c8y-form-group>\n <c8y-form-group formGroupName=\"custom\">\n <ng-content></ng-content>\n </c8y-form-group>\n </div>\n <div class=\"p-16 d-flex gap-8 separator-top\">\n <button\n class=\"btn btn-default btn-sm flex-grow\"\n title=\"{{ 'Reset' | translate }}\"\n type=\"button\"\n (click)=\"reset(); filtersDropdown.isOpen = false\"\n >\n {{ 'Reset' | translate }}\n </button>\n\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n title=\"{{ 'Apply' | translate }}\"\n type=\"button\"\n (click)=\"applyPredefinedFilters(); filtersDropdown.isOpen = false\"\n [disabled]=\"formGroup.pristine && formGroup.untouched\"\n >\n {{ 'Apply' | translate }}\n </button>\n </div>\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: i5.NgPluralCase, selector: "[ngPluralCase]" }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i2.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i2.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "component", type: i2.FilterInputComponent, selector: "c8y-filter", inputs: ["icon", "filterTerm"], outputs: ["onSearch"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i6.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i6.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i6.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "directive", type: i8$1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i5.TitleCasePipe, name: "titlecase" }] }); }
|
|
2004
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ListFiltersComponent, selector: "c8y-list-filters", inputs: { packageTypes: "packageTypes", packageAvailabilities: "packageAvailabilities", packageContents: "packageContents" }, outputs: { filterPipeChange: "filterPipeChange" }, viewQueries: [{ propertyName: "filterInput", first: true, predicate: FilterInputComponent, descendants: true }], ngImport: i0, template: "<form\n class=\"d-flex a-i-center\"\n [formGroup]=\"formGroup\"\n>\n <c8y-filter\n [filterTerm]=\"currentFilterTerm\"\n (onSearch)=\"setFilterTerm($event)\"\n ></c8y-filter>\n\n <div\n class=\"dropdown m-l-8 m-r-4\"\n *ngIf=\"predefinedFiltersVisible\"\n dropdown\n (isOpenChange)=\"toggleDropdown($event)\"\n #filtersDropdown=\"bs-dropdown\"\n [cdkTrapFocus]=\"filtersDropdown.isOpen\"\n [insideClick]=\"true\"\n >\n <div class=\"input-group d-inline-flex\">\n <button\n class=\"btn-clean form-control p-l-8 p-r-16 a-s-stretch d-flex a-i-center gap-4 w-auto flex-no-shrink\"\n title=\"{{ 'Filters' | translate }}\"\n dropdownToggle\n >\n <span [ngPlural]=\"chips.length\">\n <ng-template ngPluralCase=\"=0\">\n {{ 'Filters' | translate }}\n </ng-template>\n <ng-template ngPluralCase=\"=1\">\n <span class=\"badge badge-info\">{{ chips.length }}</span>\n {{ 'Filter' | translate }}\n </ng-template>\n <ng-template ngPluralCase=\"other\">\n <span class=\"badge badge-info\">{{ chips.length }}</span>\n {{ 'Filters' | translate }}\n </ng-template>\n </span>\n <span class=\"caret\"></span>\n </button>\n <div\n class=\"input-group-addon p-t-0 p-b-0 d-flex gap-4 a-i-center inner-scroll\"\n *ngIf=\"chips.length > 0\"\n >\n <ng-container *ngFor=\"let chip of chips\">\n <span\n class=\"tag tag--info chip\"\n *ngIf=\"chip[1].value\"\n >\n <button\n class=\"btn btn-xs btn-clean text-10\"\n title=\"{{ 'Remove' | translate }}\"\n type=\"button\"\n (click)=\"deselectChip(chip)\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n {{ chip[0] | translate | titlecase }}\n </span>\n </ng-container>\n </div>\n </div>\n <div\n class=\"dropdown-menu\"\n *dropdownMenu\n >\n <div class=\"dropdown-form\">\n <c8y-form-group\n *ngIf=\"packageTypes.length\"\n formGroupName=\"type\"\n >\n <label class=\"m-b-16\">\n {{ 'Type' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"type | translate\"\n *ngFor=\"let type of packageTypes\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"type\"\n [value]=\"type\"\n />\n <span></span>\n <span>{{ type | translate | titlecase }}</span>\n </label>\n </c8y-form-group>\n\n <c8y-form-group\n *ngIf=\"packageAvailabilities.length\"\n formGroupName=\"availability\"\n >\n <label class=\"m-b-16\">\n {{ 'Availability`of package based on app state`' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"availability | translate\"\n *ngFor=\"let availability of packageAvailabilities\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"availability\"\n [value]=\"availability\"\n />\n <span></span>\n <span>{{ availability | translate }}</span>\n </label>\n </c8y-form-group>\n\n <c8y-form-group\n *ngIf=\"packageContents.length\"\n formGroupName=\"content\"\n >\n <label class=\"m-b-16\">\n {{ 'Content' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"content | translate\"\n *ngFor=\"let content of packageContents\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"content\"\n [value]=\"content\"\n />\n <span></span>\n <span>{{ content | translate }}</span>\n </label>\n </c8y-form-group>\n <c8y-form-group formGroupName=\"custom\">\n <ng-content></ng-content>\n </c8y-form-group>\n </div>\n <div class=\"p-16 d-flex gap-8 separator-top\">\n <button\n class=\"btn btn-default btn-sm flex-grow\"\n title=\"{{ 'Reset' | translate }}\"\n type=\"button\"\n (click)=\"reset(); filtersDropdown.isOpen = false\"\n >\n {{ 'Reset' | translate }}\n </button>\n\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n title=\"{{ 'Apply' | translate }}\"\n type=\"button\"\n (click)=\"applyPredefinedFilters(); filtersDropdown.isOpen = false\"\n [disabled]=\"formGroup.pristine && formGroup.untouched\"\n >\n {{ 'Apply' | translate }}\n </button>\n </div>\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: i5.NgPluralCase, selector: "[ngPluralCase]" }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i2.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i2.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "component", type: i2.FilterInputComponent, selector: "c8y-filter", inputs: ["icon", "filterTerm"], outputs: ["onSearch"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i6.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i6.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i6.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "directive", type: i8$1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i5.TitleCasePipe, name: "titlecase" }] }); }
|
|
2004
2005
|
}
|
|
2005
2006
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListFiltersComponent, decorators: [{
|
|
2006
2007
|
type: Component,
|
|
2007
|
-
args: [{ selector: 'c8y-list-filters', template: "<form\n class=\"d-flex a-i-center\"\n [formGroup]=\"formGroup\"\n>\n <c8y-filter\n [filterTerm]=\"currentFilterTerm\"\n (onSearch)=\"setFilterTerm($event)\"\n ></c8y-filter>\n\n <div\n class=\"dropdown m-l-8 m-r-4\"\n *ngIf=\"predefinedFiltersVisible\"\n dropdown\n (isOpenChange)=\"toggleDropdown($event)\"\n #filtersDropdown=\"bs-dropdown\"\n [cdkTrapFocus]=\"filtersDropdown.isOpen\"\n [insideClick]=\"true\"\n >\n <div class=\"input-group d-inline-flex\">\n <button\n class=\"btn-clean form-control p-l-8 p-r-16 a-s-stretch d-flex a-i-center w-auto flex-no-shrink\"\n title=\"{{ 'Filters' | translate }}\"\n dropdownToggle\n >\n <span [ngPlural]=\"chips.length\">\n <ng-template ngPluralCase=\"=0\">\n {{ 'Filters' | translate }}\n </ng-template>\n <ng-template ngPluralCase=\"=1\">\n <span class=\"badge badge-info\">{{ chips.length }}</span>\n {{ 'Filter' | translate }}\n </ng-template>\n <ng-template ngPluralCase=\"other\">\n <span class=\"badge badge-info\">{{ chips.length }}</span>\n {{ 'Filters' | translate }}\n </ng-template>\n </span>\n <span class=\"caret\"></span>\n </button>\n <div\n class=\"input-group-addon p-t-0 p-b-0 d-flex gap-4 a-i-center inner-scroll\"\n *ngIf=\"chips.length > 0\"\n >\n <ng-container *ngFor=\"let chip of chips\">\n <span\n class=\"tag tag--info chip\"\n *ngIf=\"chip[1].value\"\n >\n <button\n class=\"btn btn-xs btn-clean text-10\"\n title=\"{{ 'Remove' | translate }}\"\n type=\"button\"\n (click)=\"deselectChip(chip)\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n {{ chip[0] | translate | titlecase }}\n </span>\n </ng-container>\n </div>\n </div>\n <div\n class=\"dropdown-menu\"\n *dropdownMenu\n >\n <div class=\"dropdown-form\">\n <c8y-form-group\n *ngIf=\"packageTypes.length\"\n formGroupName=\"type\"\n >\n <label class=\"m-b-16\">\n {{ 'Type' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"type | translate\"\n *ngFor=\"let type of packageTypes\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"type\"\n [value]=\"type\"\n />\n <span></span>\n <span>{{ type | translate | titlecase }}</span>\n </label>\n </c8y-form-group>\n\n <c8y-form-group\n *ngIf=\"packageAvailabilities.length\"\n formGroupName=\"availability\"\n >\n <label class=\"m-b-16\">\n {{ 'Availability`of package based on app state`' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"availability | translate\"\n *ngFor=\"let availability of packageAvailabilities\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"availability\"\n [value]=\"availability\"\n />\n <span></span>\n <span>{{ availability | translate }}</span>\n </label>\n </c8y-form-group>\n\n <c8y-form-group\n *ngIf=\"packageContents.length\"\n formGroupName=\"content\"\n >\n <label class=\"m-b-16\">\n {{ 'Content' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"content | translate\"\n *ngFor=\"let content of packageContents\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"content\"\n [value]=\"content\"\n />\n <span></span>\n <span>{{ content | translate }}</span>\n </label>\n </c8y-form-group>\n <c8y-form-group formGroupName=\"custom\">\n <ng-content></ng-content>\n </c8y-form-group>\n </div>\n <div class=\"p-16 d-flex gap-8 separator-top\">\n <button\n class=\"btn btn-default btn-sm flex-grow\"\n title=\"{{ 'Reset' | translate }}\"\n type=\"button\"\n (click)=\"reset(); filtersDropdown.isOpen = false\"\n >\n {{ 'Reset' | translate }}\n </button>\n\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n title=\"{{ 'Apply' | translate }}\"\n type=\"button\"\n (click)=\"applyPredefinedFilters(); filtersDropdown.isOpen = false\"\n [disabled]=\"formGroup.pristine && formGroup.untouched\"\n >\n {{ 'Apply' | translate }}\n </button>\n </div>\n </div>\n </div>\n</form>\n" }]
|
|
2008
|
+
args: [{ selector: 'c8y-list-filters', template: "<form\n class=\"d-flex a-i-center\"\n [formGroup]=\"formGroup\"\n>\n <c8y-filter\n [filterTerm]=\"currentFilterTerm\"\n (onSearch)=\"setFilterTerm($event)\"\n ></c8y-filter>\n\n <div\n class=\"dropdown m-l-8 m-r-4\"\n *ngIf=\"predefinedFiltersVisible\"\n dropdown\n (isOpenChange)=\"toggleDropdown($event)\"\n #filtersDropdown=\"bs-dropdown\"\n [cdkTrapFocus]=\"filtersDropdown.isOpen\"\n [insideClick]=\"true\"\n >\n <div class=\"input-group d-inline-flex\">\n <button\n class=\"btn-clean form-control p-l-8 p-r-16 a-s-stretch d-flex a-i-center gap-4 w-auto flex-no-shrink\"\n title=\"{{ 'Filters' | translate }}\"\n dropdownToggle\n >\n <span [ngPlural]=\"chips.length\">\n <ng-template ngPluralCase=\"=0\">\n {{ 'Filters' | translate }}\n </ng-template>\n <ng-template ngPluralCase=\"=1\">\n <span class=\"badge badge-info\">{{ chips.length }}</span>\n {{ 'Filter' | translate }}\n </ng-template>\n <ng-template ngPluralCase=\"other\">\n <span class=\"badge badge-info\">{{ chips.length }}</span>\n {{ 'Filters' | translate }}\n </ng-template>\n </span>\n <span class=\"caret\"></span>\n </button>\n <div\n class=\"input-group-addon p-t-0 p-b-0 d-flex gap-4 a-i-center inner-scroll\"\n *ngIf=\"chips.length > 0\"\n >\n <ng-container *ngFor=\"let chip of chips\">\n <span\n class=\"tag tag--info chip\"\n *ngIf=\"chip[1].value\"\n >\n <button\n class=\"btn btn-xs btn-clean text-10\"\n title=\"{{ 'Remove' | translate }}\"\n type=\"button\"\n (click)=\"deselectChip(chip)\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n {{ chip[0] | translate | titlecase }}\n </span>\n </ng-container>\n </div>\n </div>\n <div\n class=\"dropdown-menu\"\n *dropdownMenu\n >\n <div class=\"dropdown-form\">\n <c8y-form-group\n *ngIf=\"packageTypes.length\"\n formGroupName=\"type\"\n >\n <label class=\"m-b-16\">\n {{ 'Type' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"type | translate\"\n *ngFor=\"let type of packageTypes\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"type\"\n [value]=\"type\"\n />\n <span></span>\n <span>{{ type | translate | titlecase }}</span>\n </label>\n </c8y-form-group>\n\n <c8y-form-group\n *ngIf=\"packageAvailabilities.length\"\n formGroupName=\"availability\"\n >\n <label class=\"m-b-16\">\n {{ 'Availability`of package based on app state`' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"availability | translate\"\n *ngFor=\"let availability of packageAvailabilities\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"availability\"\n [value]=\"availability\"\n />\n <span></span>\n <span>{{ availability | translate }}</span>\n </label>\n </c8y-form-group>\n\n <c8y-form-group\n *ngIf=\"packageContents.length\"\n formGroupName=\"content\"\n >\n <label class=\"m-b-16\">\n {{ 'Content' | translate }}\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"content | translate\"\n *ngFor=\"let content of packageContents\"\n >\n <input\n type=\"checkbox\"\n [formControlName]=\"content\"\n [value]=\"content\"\n />\n <span></span>\n <span>{{ content | translate }}</span>\n </label>\n </c8y-form-group>\n <c8y-form-group formGroupName=\"custom\">\n <ng-content></ng-content>\n </c8y-form-group>\n </div>\n <div class=\"p-16 d-flex gap-8 separator-top\">\n <button\n class=\"btn btn-default btn-sm flex-grow\"\n title=\"{{ 'Reset' | translate }}\"\n type=\"button\"\n (click)=\"reset(); filtersDropdown.isOpen = false\"\n >\n {{ 'Reset' | translate }}\n </button>\n\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n title=\"{{ 'Apply' | translate }}\"\n type=\"button\"\n (click)=\"applyPredefinedFilters(); filtersDropdown.isOpen = false\"\n [disabled]=\"formGroup.pristine && formGroup.untouched\"\n >\n {{ 'Apply' | translate }}\n </button>\n </div>\n </div>\n </div>\n</form>\n" }]
|
|
2008
2009
|
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.AppStateService }, { type: i3.TranslateService }, { type: i2.GainsightService }, { type: i4.Router }, { type: i4.ActivatedRoute }], propDecorators: { packageTypes: [{
|
|
2009
2010
|
type: Input
|
|
2010
2011
|
}], packageAvailabilities: [{
|
|
@@ -2037,6 +2038,83 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2037
2038
|
args: [{ selector: 'c8y-archived-filter', template: "<label class=\"c8y-switch\">\n <input\n type=\"checkbox\"\n checked=\"checked\"\n [formControl]=\"archivedFormControl\"\n />\n <span></span>\n {{ 'Show archived packages' | translate }}\n</label>\n" }]
|
|
2038
2039
|
}], ctorParameters: () => [{ type: ListFiltersComponent }] });
|
|
2039
2040
|
|
|
2041
|
+
/**
|
|
2042
|
+
* Component to display the change log of a package.
|
|
2043
|
+
* It fetches the change log file from the package's repository and displays it.
|
|
2044
|
+
* It can fetch the change log for the latest version or a specific version if provided.
|
|
2045
|
+
* It can also compare the change log with the previous version if provided and display the difference between the two versions.
|
|
2046
|
+
*/
|
|
2047
|
+
class PackageChangelogComponent {
|
|
2048
|
+
constructor() {
|
|
2049
|
+
this.selectedVersion = 'latest';
|
|
2050
|
+
this.previousVersion = null;
|
|
2051
|
+
this.isLoading = true;
|
|
2052
|
+
this.pluginsService = inject(PluginsService);
|
|
2053
|
+
}
|
|
2054
|
+
async ngOnChanges() {
|
|
2055
|
+
if (!this.package) {
|
|
2056
|
+
this.changelog = '';
|
|
2057
|
+
this.isLoading = false;
|
|
2058
|
+
return;
|
|
2059
|
+
}
|
|
2060
|
+
this.isLoading = true;
|
|
2061
|
+
this.changelog = await this.getChangeLog();
|
|
2062
|
+
this.isLoading = false;
|
|
2063
|
+
}
|
|
2064
|
+
async getChangeLog() {
|
|
2065
|
+
if (this.selectedVersion === this.previousVersion || !this.selectedVersion) {
|
|
2066
|
+
return '';
|
|
2067
|
+
}
|
|
2068
|
+
const selectedVersionChangelogUrl = this.baseUrlForVersion(this.selectedVersion);
|
|
2069
|
+
this.baseUrl = selectedVersionChangelogUrl;
|
|
2070
|
+
if (!this.previousVersion) {
|
|
2071
|
+
return await this.pluginsService.getChangelogFileContent(selectedVersionChangelogUrl);
|
|
2072
|
+
}
|
|
2073
|
+
const previousVersionChangelogUrl = this.baseUrlForVersion(this.previousVersion);
|
|
2074
|
+
const changelogsPromises = [
|
|
2075
|
+
this.pluginsService.getChangelogFileContent(previousVersionChangelogUrl),
|
|
2076
|
+
this.pluginsService.getChangelogFileContent(selectedVersionChangelogUrl)
|
|
2077
|
+
];
|
|
2078
|
+
const [previousVersionChangelog, selectedVersionChangelog] = await Promise.all(changelogsPromises);
|
|
2079
|
+
// Determine if this is a downgrade using semver comparison
|
|
2080
|
+
let isDowngrade;
|
|
2081
|
+
try {
|
|
2082
|
+
isDowngrade = lt(this.selectedVersion, this.previousVersion);
|
|
2083
|
+
}
|
|
2084
|
+
catch {
|
|
2085
|
+
isDowngrade = false;
|
|
2086
|
+
}
|
|
2087
|
+
if (isDowngrade) {
|
|
2088
|
+
return previousVersionChangelog.replace(selectedVersionChangelog, '');
|
|
2089
|
+
}
|
|
2090
|
+
else {
|
|
2091
|
+
return selectedVersionChangelog.replace(previousVersionChangelog, '');
|
|
2092
|
+
}
|
|
2093
|
+
}
|
|
2094
|
+
baseUrlForVersion(version) {
|
|
2095
|
+
return `/apps/${this.package.contextPath}@${version}/`;
|
|
2096
|
+
}
|
|
2097
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PackageChangelogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2098
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PackageChangelogComponent, isStandalone: true, selector: "c8y-contents-changelog", inputs: { package: "package", selectedVersion: "selectedVersion", previousVersion: "previousVersion" }, usesOnChanges: true, ngImport: i0, template: "<c8y-loading *ngIf=\"isLoading\"></c8y-loading>\n\n<ng-container *ngIf=\"!isLoading\">\n <div\n *ngIf=\"changelog\"\n class=\"markdown-content markdown-content--to-h3\"\n [innerHTML]=\"changelog | markdownToHtml: { baseUrl } | async\"\n ></div>\n\n <c8y-ui-empty-state\n [icon]=\"'user-manual'\"\n [title]=\"'No CHANGELOG.md found for package version' | translate\"\n [subtitle]=\"\n 'To view the contents of "CHANGELOG", add the file "CHANGELOG.md" to the package.'\n | translate\n \"\n *ngIf=\"!changelog\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n</ng-container>\n", dependencies: [{ kind: "component", type: LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "pipe", type: MarkdownToHtmlPipe, name: "markdownToHtml" }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
2099
|
+
}
|
|
2100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PackageChangelogComponent, decorators: [{
|
|
2101
|
+
type: Component,
|
|
2102
|
+
args: [{ selector: 'c8y-contents-changelog', standalone: true, imports: [
|
|
2103
|
+
LoadingComponent,
|
|
2104
|
+
MarkdownToHtmlPipe,
|
|
2105
|
+
EmptyStateComponent,
|
|
2106
|
+
AsyncPipe,
|
|
2107
|
+
C8yTranslatePipe,
|
|
2108
|
+
NgIf
|
|
2109
|
+
], template: "<c8y-loading *ngIf=\"isLoading\"></c8y-loading>\n\n<ng-container *ngIf=\"!isLoading\">\n <div\n *ngIf=\"changelog\"\n class=\"markdown-content markdown-content--to-h3\"\n [innerHTML]=\"changelog | markdownToHtml: { baseUrl } | async\"\n ></div>\n\n <c8y-ui-empty-state\n [icon]=\"'user-manual'\"\n [title]=\"'No CHANGELOG.md found for package version' | translate\"\n [subtitle]=\"\n 'To view the contents of "CHANGELOG", add the file "CHANGELOG.md" to the package.'\n | translate\n \"\n *ngIf=\"!changelog\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n</ng-container>\n" }]
|
|
2110
|
+
}], propDecorators: { package: [{
|
|
2111
|
+
type: Input
|
|
2112
|
+
}], selectedVersion: [{
|
|
2113
|
+
type: Input
|
|
2114
|
+
}], previousVersion: [{
|
|
2115
|
+
type: Input
|
|
2116
|
+
}] } });
|
|
2117
|
+
|
|
2040
2118
|
class SharedEcosystemModule {
|
|
2041
2119
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SharedEcosystemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2042
2120
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SharedEcosystemModule, declarations: [AddApplicationComponent,
|
|
@@ -2056,7 +2134,8 @@ class SharedEcosystemModule {
|
|
|
2056
2134
|
FormsModule,
|
|
2057
2135
|
PopoverModule,
|
|
2058
2136
|
ReactiveFormsModule,
|
|
2059
|
-
IconSelectorModule
|
|
2137
|
+
IconSelectorModule,
|
|
2138
|
+
PackageChangelogComponent], exports: [AddApplicationComponent,
|
|
2060
2139
|
ApplicationPropertiesFormComponent,
|
|
2061
2140
|
UploadArchiveComponent,
|
|
2062
2141
|
ApplicationCardComponent,
|
|
@@ -2066,7 +2145,8 @@ class SharedEcosystemModule {
|
|
|
2066
2145
|
PackageVersionSelectComponent,
|
|
2067
2146
|
TranslatePackageLabelPipe,
|
|
2068
2147
|
ListFiltersComponent,
|
|
2069
|
-
ArchivedFilterComponent
|
|
2148
|
+
ArchivedFilterComponent,
|
|
2149
|
+
PackageChangelogComponent] }); }
|
|
2070
2150
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SharedEcosystemModule, providers: [
|
|
2071
2151
|
hookWizard({
|
|
2072
2152
|
wizardId: EcosystemWizards.APPLICATION_UPLOAD,
|
|
@@ -2087,7 +2167,8 @@ class SharedEcosystemModule {
|
|
|
2087
2167
|
FormsModule,
|
|
2088
2168
|
PopoverModule,
|
|
2089
2169
|
ReactiveFormsModule,
|
|
2090
|
-
IconSelectorModule
|
|
2170
|
+
IconSelectorModule,
|
|
2171
|
+
PackageChangelogComponent] }); }
|
|
2091
2172
|
}
|
|
2092
2173
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SharedEcosystemModule, decorators: [{
|
|
2093
2174
|
type: NgModule,
|
|
@@ -2100,7 +2181,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2100
2181
|
FormsModule,
|
|
2101
2182
|
PopoverModule,
|
|
2102
2183
|
ReactiveFormsModule,
|
|
2103
|
-
IconSelectorModule
|
|
2184
|
+
IconSelectorModule,
|
|
2185
|
+
PackageChangelogComponent
|
|
2104
2186
|
],
|
|
2105
2187
|
declarations: [
|
|
2106
2188
|
AddApplicationComponent,
|
|
@@ -2126,7 +2208,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2126
2208
|
PackageVersionSelectComponent,
|
|
2127
2209
|
TranslatePackageLabelPipe,
|
|
2128
2210
|
ListFiltersComponent,
|
|
2129
|
-
ArchivedFilterComponent
|
|
2211
|
+
ArchivedFilterComponent,
|
|
2212
|
+
PackageChangelogComponent
|
|
2130
2213
|
],
|
|
2131
2214
|
providers: [
|
|
2132
2215
|
hookWizard({
|
|
@@ -2164,5 +2247,5 @@ const defaultPackageContents = [
|
|
|
2164
2247
|
* Generated bundle index. Do not edit.
|
|
2165
2248
|
*/
|
|
2166
2249
|
|
|
2167
|
-
export { APP_STATE, AddApplicationComponent, ApplicationCardComponent, ApplicationPropertiesFormComponent, ArchivedFilterComponent, DuplicateApplicationComponent, DuplicateApplicationListComponent, DuplicateApplicationPropertiesComponent, ERROR_MESSAGES, ERROR_TYPE, EcosystemService, EcosystemWizards, ListFiltersComponent, PACKAGE_TYPE_LABELS, PRODUCT_EXPERIENCE_ECOSYSTEM, PackageAvailabilityService, PackageVersionSelectComponent, SharedEcosystemModule, TranslatePackageLabelPipe, UploadArchiveComponent, defaultPackageAvailabilities, defaultPackageContents, defaultPackageTypes, packageProperties };
|
|
2250
|
+
export { APP_STATE, AddApplicationComponent, ApplicationCardComponent, ApplicationPropertiesFormComponent, ArchivedFilterComponent, DuplicateApplicationComponent, DuplicateApplicationListComponent, DuplicateApplicationPropertiesComponent, ERROR_MESSAGES, ERROR_TYPE, EcosystemService, EcosystemWizards, ListFiltersComponent, PACKAGE_TYPE_LABELS, PRODUCT_EXPERIENCE_ECOSYSTEM, PackageAvailabilityService, PackageChangelogComponent, PackageVersionSelectComponent, SharedEcosystemModule, TranslatePackageLabelPipe, UploadArchiveComponent, defaultPackageAvailabilities, defaultPackageContents, defaultPackageTypes, packageProperties };
|
|
2168
2251
|
//# sourceMappingURL=c8y-ngx-components-ecosystem-shared.mjs.map
|