@c8y/ngx-components 1021.64.0 → 1021.66.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/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.service.d.ts +3 -1
- 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/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-versions/package-contents/packages-contents.component.d.ts +2 -0
- package/ecosystem/packages/package-versions/package-contents/packages-contents.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/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.service.mjs +14 -8
- package/esm2022/core/time-interval/time-interval.component.mjs +9 -2
- package/esm2022/ecosystem/application-plugins/application-plugins.component.mjs +4 -4
- package/esm2022/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.mjs +3 -3
- 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-versions/package-contents/packages-contents.component.mjs +17 -5
- package/esm2022/ecosystem/shared/index.mjs +2 -1
- 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/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 +5 -5
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +94 -11
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem.mjs +83 -14
- 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.mjs +809 -552
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/de.po +42 -6
- package/locales/es.po +42 -6
- package/locales/fr.po +42 -6
- package/locales/ja_JP.po +42 -6
- package/locales/ko.po +42 -6
- package/locales/locales.pot +9 -0
- package/locales/nl.po +42 -6
- package/locales/pl.po +42 -6
- package/locales/pt_BR.po +42 -6
- package/locales/zh_CN.po +42 -6
- package/locales/zh_TW.po +42 -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
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Component, Input, Pipe, inject, Injectable, EventEmitter, Output, ViewChild, NgModule } from '@angular/core';
|
|
3
3
|
import * as i2 from '@c8y/ngx-components';
|
|
4
|
-
import { gettext, Status, GainsightService, PluginsService, AlertService, HumanizeAppNamePipe, PackageType, PluginsExportScopes, Permissions, ViewContext, ApplicationPluginStatus, BottomDrawerRef, DataGridComponent, CoreModule, hookRoute, C8yStepper, FormsModule, hookTab, hookNavigator, hookWizard } from '@c8y/ngx-components';
|
|
4
|
+
import { gettext, Status, GainsightService, PluginsService, AlertService, HumanizeAppNamePipe, PackageType, PluginsExportScopes, Permissions, ViewContext, ApplicationPluginStatus, BottomDrawerRef, DataGridComponent, CoreModule, hookRoute, C8yStepper, TitleComponent, BreadcrumbComponent, BreadcrumbItemComponent, C8yTranslatePipe, FormsModule, hookTab, hookNavigator, hookWizard } from '@c8y/ngx-components';
|
|
5
5
|
import * as i1 from '@c8y/ngx-components/ecosystem/shared';
|
|
6
|
-
import { EcosystemService, PRODUCT_EXPERIENCE_ECOSYSTEM, packageProperties, defaultPackageAvailabilities, EcosystemWizards, ListFiltersComponent, ApplicationPropertiesFormComponent, defaultPackageTypes, SharedEcosystemModule, ERROR_TYPE, APP_STATE, PACKAGE_TYPE_LABELS, defaultPackageContents } from '@c8y/ngx-components/ecosystem/shared';
|
|
6
|
+
import { EcosystemService, PRODUCT_EXPERIENCE_ECOSYSTEM, packageProperties, defaultPackageAvailabilities, EcosystemWizards, ListFiltersComponent, ApplicationPropertiesFormComponent, defaultPackageTypes, SharedEcosystemModule, ERROR_TYPE, APP_STATE, PACKAGE_TYPE_LABELS, defaultPackageContents, PackageChangelogComponent } from '@c8y/ngx-components/ecosystem/shared';
|
|
7
7
|
import * as i3 from '@angular/common';
|
|
8
|
+
import { AsyncPipe } from '@angular/common';
|
|
8
9
|
import * as i2$1 from '@angular/forms';
|
|
9
10
|
import { Validators, FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
10
11
|
import * as i1$2 from '@angular/router';
|
|
11
|
-
import { RouterModule } from '@angular/router';
|
|
12
|
+
import { Router, RouterModule } from '@angular/router';
|
|
12
13
|
import * as i4 from '@c8y/client';
|
|
13
14
|
import { ApplicationType, Isolation, BillingMode } from '@c8y/client';
|
|
14
15
|
import * as i6 from '@ngx-translate/core';
|
|
@@ -1607,11 +1608,11 @@ class UpdatePluginOfAppComponent {
|
|
|
1607
1608
|
this._cancel();
|
|
1608
1609
|
}
|
|
1609
1610
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdatePluginOfAppComponent, deps: [{ token: i1$1.BsModalRef }, { token: i2.PluginsService }, { token: i2.AlertService }, { token: i1.EcosystemService }, { token: i2.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1610
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UpdatePluginOfAppComponent, selector: "c8y-update-plugin-of-app", ngImport: i0, template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'
|
|
1611
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UpdatePluginOfAppComponent, selector: "c8y-update-plugin-of-app", ngImport: i0, template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'installing-updates'\"></i>\n <h4\n id=\"modal-title\"\n *ngIf=\"!downgrade\"\n translate\n >\n Update plugin\n </h4>\n <h4\n id=\"modal-title\"\n *ngIf=\"downgrade\"\n translate\n >\n Downgrade plugin\n </h4>\n </div>\n <div\n class=\"inner-scroll\"\n id=\"modal-body\"\n >\n <div class=\"card-block p-r-24 p-l-24 sticky-top bg-component separator-bottom\">\n <c8y-package-version-select\n [packageContextPath]=\"plugin?.contextPath\"\n [(ngModel)]=\"applicationVersion\"\n ></c8y-package-version-select>\n <div\n class=\"alert alert-info\"\n role=\"alert\"\n *ngIf=\"plugin?.version && plugin.version === applicationVersion?.version\"\n >\n <span\n translate\n ngNonBindable\n [translateParams]=\"applicationVersion\"\n >\n Select another version, as {{ version }} is currently used.\n </span>\n </div>\n <div class=\"form-group\">\n <label class=\"c8y-checkbox\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"updateAll\"\n />\n <span></span>\n <span\n translate\n ngNonBindable\n [translateParams]=\"plugin\"\n >\n Set version for all plugins using the same context path \"{{ contextPath }}\".\n </span>\n </label>\n </div>\n <p class=\"legend form-block\">\n {{ 'Change log' | translate }}\n </p>\n </div>\n <div class=\"card-block p-l-24 p-r-24\">\n\n <div\n class=\"markdown-content markdown-content--to-h3\"\n >\n <c8y-contents-changelog\n [package]=\"plugin.originApp\"\n [selectedVersion]=\"applicationVersion?.version\"\n [previousVersion]=\"plugin?.version\"\n ></c8y-contents-changelog>\n </div>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"cancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Set version' | translate }}\"\n [disabled]=\"!applicationVersion || plugin?.version === applicationVersion?.version\"\n (click)=\"update()\"\n >\n {{ 'Set version' | translate }}\n </button>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1.PackageVersionSelectComponent, selector: "c8y-package-version-select", inputs: ["label", "packageContextPath", "packageId"] }, { kind: "component", type: i1.PackageChangelogComponent, selector: "c8y-contents-changelog", inputs: ["package", "selectedVersion", "previousVersion"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }] }); }
|
|
1611
1612
|
}
|
|
1612
1613
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdatePluginOfAppComponent, decorators: [{
|
|
1613
1614
|
type: Component,
|
|
1614
|
-
args: [{ selector: 'c8y-update-plugin-of-app', template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'
|
|
1615
|
+
args: [{ selector: 'c8y-update-plugin-of-app', template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'installing-updates'\"></i>\n <h4\n id=\"modal-title\"\n *ngIf=\"!downgrade\"\n translate\n >\n Update plugin\n </h4>\n <h4\n id=\"modal-title\"\n *ngIf=\"downgrade\"\n translate\n >\n Downgrade plugin\n </h4>\n </div>\n <div\n class=\"inner-scroll\"\n id=\"modal-body\"\n >\n <div class=\"card-block p-r-24 p-l-24 sticky-top bg-component separator-bottom\">\n <c8y-package-version-select\n [packageContextPath]=\"plugin?.contextPath\"\n [(ngModel)]=\"applicationVersion\"\n ></c8y-package-version-select>\n <div\n class=\"alert alert-info\"\n role=\"alert\"\n *ngIf=\"plugin?.version && plugin.version === applicationVersion?.version\"\n >\n <span\n translate\n ngNonBindable\n [translateParams]=\"applicationVersion\"\n >\n Select another version, as {{ version }} is currently used.\n </span>\n </div>\n <div class=\"form-group\">\n <label class=\"c8y-checkbox\">\n <input\n type=\"checkbox\"\n [(ngModel)]=\"updateAll\"\n />\n <span></span>\n <span\n translate\n ngNonBindable\n [translateParams]=\"plugin\"\n >\n Set version for all plugins using the same context path \"{{ contextPath }}\".\n </span>\n </label>\n </div>\n <p class=\"legend form-block\">\n {{ 'Change log' | translate }}\n </p>\n </div>\n <div class=\"card-block p-l-24 p-r-24\">\n\n <div\n class=\"markdown-content markdown-content--to-h3\"\n >\n <c8y-contents-changelog\n [package]=\"plugin.originApp\"\n [selectedVersion]=\"applicationVersion?.version\"\n [previousVersion]=\"plugin?.version\"\n ></c8y-contents-changelog>\n </div>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"cancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Set version' | translate }}\"\n [disabled]=\"!applicationVersion || plugin?.version === applicationVersion?.version\"\n (click)=\"update()\"\n >\n {{ 'Set version' | translate }}\n </button>\n </div>\n</div>" }]
|
|
1615
1616
|
}], ctorParameters: () => [{ type: i1$1.BsModalRef }, { type: i2.PluginsService }, { type: i2.AlertService }, { type: i1.EcosystemService }, { type: i2.GainsightService }] });
|
|
1616
1617
|
|
|
1617
1618
|
class ApplicationPluginReadmeComponent {
|
|
@@ -1853,7 +1854,7 @@ class ApplicationPluginsComponent {
|
|
|
1853
1854
|
{
|
|
1854
1855
|
type: 'customUpdate',
|
|
1855
1856
|
text: gettext('Update'),
|
|
1856
|
-
icon: '
|
|
1857
|
+
icon: 'installing-updates',
|
|
1857
1858
|
showIf: plugin => {
|
|
1858
1859
|
return (plugin.status === ApplicationPluginStatus.OUTDATED ||
|
|
1859
1860
|
plugin.status === ApplicationPluginStatus.REVOKED);
|
|
@@ -1863,7 +1864,7 @@ class ApplicationPluginsComponent {
|
|
|
1863
1864
|
{
|
|
1864
1865
|
type: 'customDowngrade',
|
|
1865
1866
|
text: gettext('Downgrade'),
|
|
1866
|
-
icon: '
|
|
1867
|
+
icon: 'installing-updates',
|
|
1867
1868
|
showIf: (plugin) => {
|
|
1868
1869
|
if (plugin.scope === PluginsExportScopes.SELF ||
|
|
1869
1870
|
plugin.scope === PluginsExportScopes.SELF_OPTIONAL) {
|
|
@@ -1894,7 +1895,7 @@ class ApplicationPluginsComponent {
|
|
|
1894
1895
|
async updatePlugin(app, plugin, downgrade = false) {
|
|
1895
1896
|
try {
|
|
1896
1897
|
await this.bsModalService.show(UpdatePluginOfAppComponent, {
|
|
1897
|
-
class: 'modal-
|
|
1898
|
+
class: 'modal-md',
|
|
1898
1899
|
ariaDescribedby: 'modal-body',
|
|
1899
1900
|
ariaLabelledBy: 'modal-title',
|
|
1900
1901
|
initialState: {
|
|
@@ -2797,6 +2798,7 @@ class PackageContentsComponent {
|
|
|
2797
2798
|
async ngOnChanges(changes) {
|
|
2798
2799
|
if (changes.selectedVersion?.currentValue) {
|
|
2799
2800
|
this.loadManifest(this.selectedVersion);
|
|
2801
|
+
this.previousVersion = this.getPreviousVersion();
|
|
2800
2802
|
}
|
|
2801
2803
|
}
|
|
2802
2804
|
async loadManifest(version) {
|
|
@@ -2814,12 +2816,22 @@ class PackageContentsComponent {
|
|
|
2814
2816
|
}
|
|
2815
2817
|
return undefined;
|
|
2816
2818
|
}
|
|
2819
|
+
getPreviousVersion() {
|
|
2820
|
+
if (this.package.applicationVersions.length === 1) {
|
|
2821
|
+
return null;
|
|
2822
|
+
}
|
|
2823
|
+
const selectedVersionIndex = this.package.applicationVersions.findIndex(version => version.version === this.selectedVersion);
|
|
2824
|
+
if (selectedVersionIndex === 0) {
|
|
2825
|
+
return null;
|
|
2826
|
+
}
|
|
2827
|
+
return this.package.applicationVersions[selectedVersionIndex - 1].version;
|
|
2828
|
+
}
|
|
2817
2829
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PackageContentsComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i4.ApplicationService }, { token: i2.AlertService }, { token: i2.ContextRouteService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2818
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PackageContentsComponent, selector: "c8y-package-contents", inputs: { selectedVersion: "selectedVersion", selectedPlugin: "selectedPlugin" }, outputs: { showOverview: "showOverview" }, usesOnChanges: true, ngImport: i0, template: "<
|
|
2830
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PackageContentsComponent, selector: "c8y-package-contents", inputs: { selectedVersion: "selectedVersion", selectedPlugin: "selectedPlugin" }, outputs: { showOverview: "showOverview" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!selectedVersionManifest && !isLoading\">\n <div class=\"p-16\">\n <c8y-ui-empty-state\n [icon]=\"'big-parcel'\"\n [title]=\"'No package selected' | translate\"\n [subtitle]=\"'Select a package from the list to display the package contents.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"isLoading\">\n <c8y-loading></c8y-loading>\n</ng-container>\n\n<ng-container *ngIf=\"selectedVersionManifest && !isLoading\">\n <!-- DETAILS -->\n <div class=\"card-block\">\n <c8y-properties-list\n [data]=\"selectedVersionManifest\"\n [emptyLabel]=\"'--'\"\n [properties]=\"packageVersionProperties\"\n ></c8y-properties-list>\n\n <!-- APPS -->\n <c8y-contents-apps\n class=\"p-t-16 d-block\"\n [selectedVersionManifest]=\"selectedVersionManifest\"\n ></c8y-contents-apps>\n\n <!-- PLUGINS -->\n <c8y-contents-plugins\n class=\"p-t-16 d-block\"\n [selectedVersionManifest]=\"selectedVersionManifest\"\n [selectedPlugin]=\"selectedPlugin\"\n (showOverview)=\"showPluginOverview($event)\"\n ></c8y-contents-plugins>\n\n <!-- CHANGELOG -->\n <p class=\"legend form-block\">\n {{ 'Change log' | translate }}\n </p>\n\n <c8y-contents-changelog\n [package]=\"package\"\n [selectedVersion]=\"selectedVersion\"\n [previousVersion]=\"previousVersion\"\n ></c8y-contents-changelog>\n </div>\n</ng-container>\n", dependencies: [{ kind: "component", type: i2.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: i2.PropertiesListComponent, selector: "c8y-properties-list", inputs: ["properties", "title", "icon", "data", "groups", "noParse", "emptyLabel"] }, { kind: "component", type: i1.PackageChangelogComponent, selector: "c8y-contents-changelog", inputs: ["package", "selectedVersion", "previousVersion"] }, { kind: "component", type: PackageVersionsPluginsComponent, selector: "c8y-contents-plugins", inputs: ["selectedVersionManifest", "selectedPlugin"], outputs: ["showOverview"] }, { kind: "component", type: PackageVersionsAppsComponent, selector: "c8y-contents-apps", inputs: ["selectedVersionManifest"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }] }); }
|
|
2819
2831
|
}
|
|
2820
2832
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PackageContentsComponent, decorators: [{
|
|
2821
2833
|
type: Component,
|
|
2822
|
-
args: [{ selector: 'c8y-package-contents', template: "<
|
|
2834
|
+
args: [{ selector: 'c8y-package-contents', template: "<ng-container *ngIf=\"!selectedVersionManifest && !isLoading\">\n <div class=\"p-16\">\n <c8y-ui-empty-state\n [icon]=\"'big-parcel'\"\n [title]=\"'No package selected' | translate\"\n [subtitle]=\"'Select a package from the list to display the package contents.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"isLoading\">\n <c8y-loading></c8y-loading>\n</ng-container>\n\n<ng-container *ngIf=\"selectedVersionManifest && !isLoading\">\n <!-- DETAILS -->\n <div class=\"card-block\">\n <c8y-properties-list\n [data]=\"selectedVersionManifest\"\n [emptyLabel]=\"'--'\"\n [properties]=\"packageVersionProperties\"\n ></c8y-properties-list>\n\n <!-- APPS -->\n <c8y-contents-apps\n class=\"p-t-16 d-block\"\n [selectedVersionManifest]=\"selectedVersionManifest\"\n ></c8y-contents-apps>\n\n <!-- PLUGINS -->\n <c8y-contents-plugins\n class=\"p-t-16 d-block\"\n [selectedVersionManifest]=\"selectedVersionManifest\"\n [selectedPlugin]=\"selectedPlugin\"\n (showOverview)=\"showPluginOverview($event)\"\n ></c8y-contents-plugins>\n\n <!-- CHANGELOG -->\n <p class=\"legend form-block\">\n {{ 'Change log' | translate }}\n </p>\n\n <c8y-contents-changelog\n [package]=\"package\"\n [selectedVersion]=\"selectedVersion\"\n [previousVersion]=\"previousVersion\"\n ></c8y-contents-changelog>\n </div>\n</ng-container>\n" }]
|
|
2823
2835
|
}], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: i4.ApplicationService }, { type: i2.AlertService }, { type: i2.ContextRouteService }], propDecorators: { selectedVersion: [{
|
|
2824
2836
|
type: Input
|
|
2825
2837
|
}], selectedPlugin: [{
|
|
@@ -3041,6 +3053,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3041
3053
|
type: Injectable
|
|
3042
3054
|
}], ctorParameters: () => [{ type: i1.EcosystemService }] });
|
|
3043
3055
|
|
|
3056
|
+
class PackageChangelogTabComponent {
|
|
3057
|
+
constructor(activatedRoute, contextRouteService) {
|
|
3058
|
+
this.activatedRoute = activatedRoute;
|
|
3059
|
+
this.contextRouteService = contextRouteService;
|
|
3060
|
+
this.package = {};
|
|
3061
|
+
}
|
|
3062
|
+
async ngOnInit() {
|
|
3063
|
+
this.package = this.contextRouteService.getContextData(this.activatedRoute)?.contextData;
|
|
3064
|
+
}
|
|
3065
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PackageChangelogTabComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i2.ContextRouteService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3066
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PackageChangelogTabComponent, isStandalone: true, selector: "c8y-package-changelog-tab", ngImport: i0, template: "<c8y-title>{{ package?.name | humanizeAppName | async }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-atom'\"\n [label]=\"'Ecosystem' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'big-parcel'\"\n [label]=\"'Extensions' | translate\"\n [path]=\"'ecosystem/extension/extensions'\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"package?.name | humanizeAppName | async\"></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"'Change logs' | translate\"></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-contents-changelog [package]=\"package\"></c8y-contents-changelog>\n", dependencies: [{ kind: "component", type: PackageChangelogComponent, selector: "c8y-contents-changelog", inputs: ["package", "selectedVersion", "previousVersion"] }, { kind: "component", type: TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "pipe", type: HumanizeAppNamePipe, name: "humanizeAppName" }, { kind: "component", type: BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
3067
|
+
}
|
|
3068
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PackageChangelogTabComponent, decorators: [{
|
|
3069
|
+
type: Component,
|
|
3070
|
+
args: [{ selector: 'c8y-package-changelog-tab', standalone: true, imports: [
|
|
3071
|
+
PackageChangelogComponent,
|
|
3072
|
+
TitleComponent,
|
|
3073
|
+
HumanizeAppNamePipe,
|
|
3074
|
+
BreadcrumbComponent,
|
|
3075
|
+
BreadcrumbItemComponent,
|
|
3076
|
+
C8yTranslatePipe,
|
|
3077
|
+
AsyncPipe
|
|
3078
|
+
], template: "<c8y-title>{{ package?.name | humanizeAppName | async }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-atom'\"\n [label]=\"'Ecosystem' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'big-parcel'\"\n [label]=\"'Extensions' | translate\"\n [path]=\"'ecosystem/extension/extensions'\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"package?.name | humanizeAppName | async\"></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"'Change logs' | translate\"></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-contents-changelog [package]=\"package\"></c8y-contents-changelog>\n" }]
|
|
3079
|
+
}], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: i2.ContextRouteService }] });
|
|
3080
|
+
|
|
3081
|
+
class PackageChangelogGuard {
|
|
3082
|
+
constructor() {
|
|
3083
|
+
this.pluginsService = inject(PluginsService);
|
|
3084
|
+
this.router = inject(Router);
|
|
3085
|
+
}
|
|
3086
|
+
async canActivate(route) {
|
|
3087
|
+
const app = route.data.contextData || route.parent.data.contextData;
|
|
3088
|
+
const packageChangelogUrl = `/apps/${app.contextPath}/`;
|
|
3089
|
+
const changelog = await this.pluginsService.getChangelogFileContent(packageChangelogUrl);
|
|
3090
|
+
return !!changelog;
|
|
3091
|
+
}
|
|
3092
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PackageChangelogGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3093
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PackageChangelogGuard }); }
|
|
3094
|
+
}
|
|
3095
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PackageChangelogGuard, decorators: [{
|
|
3096
|
+
type: Injectable
|
|
3097
|
+
}] });
|
|
3098
|
+
|
|
3044
3099
|
const ecosystemMainRoutes = [
|
|
3045
3100
|
{
|
|
3046
3101
|
path: 'ecosystem/application',
|
|
@@ -3113,9 +3168,18 @@ const applicationDetailsRoutes = [
|
|
|
3113
3168
|
icon: 'c8y-modules',
|
|
3114
3169
|
label: gettext('Versions'),
|
|
3115
3170
|
context: ViewContext.Extension,
|
|
3116
|
-
priority:
|
|
3171
|
+
priority: 5,
|
|
3117
3172
|
canActivate: [PackageGuard, PackageVersionsGuard]
|
|
3118
3173
|
},
|
|
3174
|
+
{
|
|
3175
|
+
path: 'package-changelog',
|
|
3176
|
+
component: PackageChangelogTabComponent,
|
|
3177
|
+
icon: 'list',
|
|
3178
|
+
label: gettext('Change log'),
|
|
3179
|
+
context: ViewContext.Extension,
|
|
3180
|
+
priority: 1,
|
|
3181
|
+
canActivate: [PackageGuard, PackageChangelogGuard]
|
|
3182
|
+
},
|
|
3119
3183
|
{
|
|
3120
3184
|
path: 'properties',
|
|
3121
3185
|
component: ApplicationPropertiesComponent,
|
|
@@ -3157,13 +3221,15 @@ class EcosystemModule {
|
|
|
3157
3221
|
LicenseConfirmModule,
|
|
3158
3222
|
IconSelectorModule,
|
|
3159
3223
|
A11yModule,
|
|
3160
|
-
ArchivedConfirmModule
|
|
3224
|
+
ArchivedConfirmModule,
|
|
3225
|
+
PackageChangelogTabComponent], exports: [ApplicationPropertiesComponent, UpdateApplicationModalComponent] }); }
|
|
3161
3226
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EcosystemModule, providers: [
|
|
3162
3227
|
hookTab(EcosystemTabs),
|
|
3163
3228
|
hookNavigator(EcosystemNavigationFactory),
|
|
3164
3229
|
hookRoute(applicationDetailsRoutes),
|
|
3165
3230
|
PackageGuard,
|
|
3166
3231
|
PackageVersionsGuard,
|
|
3232
|
+
PackageChangelogGuard,
|
|
3167
3233
|
ApplicationPropertiesGuard,
|
|
3168
3234
|
hookWizard({
|
|
3169
3235
|
wizardId: EcosystemWizards.APPLICATION_UPLOAD,
|
|
@@ -3211,7 +3277,8 @@ class EcosystemModule {
|
|
|
3211
3277
|
LicenseConfirmModule,
|
|
3212
3278
|
IconSelectorModule,
|
|
3213
3279
|
A11yModule,
|
|
3214
|
-
ArchivedConfirmModule
|
|
3280
|
+
ArchivedConfirmModule,
|
|
3281
|
+
PackageChangelogTabComponent] }); }
|
|
3215
3282
|
}
|
|
3216
3283
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EcosystemModule, decorators: [{
|
|
3217
3284
|
type: NgModule,
|
|
@@ -3251,7 +3318,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3251
3318
|
LicenseConfirmModule,
|
|
3252
3319
|
IconSelectorModule,
|
|
3253
3320
|
A11yModule,
|
|
3254
|
-
ArchivedConfirmModule
|
|
3321
|
+
ArchivedConfirmModule,
|
|
3322
|
+
PackageChangelogTabComponent
|
|
3255
3323
|
],
|
|
3256
3324
|
exports: [ApplicationPropertiesComponent, UpdateApplicationModalComponent],
|
|
3257
3325
|
providers: [
|
|
@@ -3260,6 +3328,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3260
3328
|
hookRoute(applicationDetailsRoutes),
|
|
3261
3329
|
PackageGuard,
|
|
3262
3330
|
PackageVersionsGuard,
|
|
3331
|
+
PackageChangelogGuard,
|
|
3263
3332
|
ApplicationPropertiesGuard,
|
|
3264
3333
|
hookWizard({
|
|
3265
3334
|
wizardId: EcosystemWizards.APPLICATION_UPLOAD,
|