about component (#3337)

This commit is contained in:
Eugenio Romano
2018-05-17 09:58:22 +01:00
committed by GitHub
parent 0ebd4c62e3
commit 9772b2308a
11 changed files with 293 additions and 163 deletions

View File

@@ -1,10 +0,0 @@
.about-container {
padding: 10px;
}
.adf-table-version {
width: 60%;
border: 0;
border-spacing: 0;
text-align: center;
}

View File

@@ -1,49 +1 @@
<div class="about-container">
<h3>Server settings</h3>
<mat-list>
<small>The values below are taken from the AppConfigService </small>
<mat-list-item>
<h4 matLine> Alfresco Process Services URL: {{ bpmHost }}</h4>
</mat-list-item>
<mat-divider></mat-divider>
<mat-list-item>
<h4 matLine>Alfresco Content Services URL: {{ ecmHost }}</h4>
</mat-list-item>
</mat-list>
<h3>Product Versions</h3>
<div *ngIf="bpmVersion">
<h3>BPM</h3>
<label> Edition </label> {{ bpmVersion.edition }}
<p></p>
<label> Version </label> {{ bpmVersion.majorVersion }}.{{ bpmVersion.minorVersion }}.{{ bpmVersion.revisionVersion }}
</div>
<div *ngIf="ecmVersion">
<h3>ECM</h3>
<label> Edition </label> {{ ecmVersion.edition }}
<p></p>
<label> Version </label> {{ ecmVersion.version.display }}
<p></p>
<h4>License</h4>
<adf-datatable [data]="license"></adf-datatable>
<h4> Status</h4>
<adf-datatable [data]="status"></adf-datatable>
<h4>Modules</h4>
<adf-datatable [data]="modules"></adf-datatable>
</div>
<div *ngIf="githubUrlCommitAlpha">
<h3>Source code</h3>
<small>You are running the project based on the following commit:</small>
<div>
<a [href]="githubUrlCommitAlpha">{{githubUrlCommitAlpha}}</a>
</div>
</div>
<h3>Packages</h3>
<small>Current project is using the following ADF libraries:</small>
<adf-datatable [data]="data"></adf-datatable>
</div>
<adf-about></adf-about>

View File

@@ -15,123 +15,12 @@
* limitations under the License.
*/
import { Component, OnInit } from '@angular/core';
import { Http } from '@angular/http';
import {
AuthenticationService,
AppConfigService,
BpmProductVersionModel,
DiscoveryApiService,
EcmProductVersionModel,
ObjectDataTableAdapter
} from '@alfresco/adf-core';
import { Component } from '@angular/core';
@Component({
selector: 'app-about-page',
templateUrl: './about.component.html',
styleUrls: ['./about.component.css']
templateUrl: './about.component.html'
})
export class AboutComponent implements OnInit {
export class AboutComponent {
data: ObjectDataTableAdapter;
status: ObjectDataTableAdapter;
license: ObjectDataTableAdapter;
modules: ObjectDataTableAdapter;
githubUrlCommitAlpha = 'https://github.com/Alfresco/alfresco-ng2-components/commits/';
ecmHost = '';
bpmHost = '';
ecmVersion: EcmProductVersionModel = null;
bpmVersion: BpmProductVersionModel = null;
constructor(private http: Http,
private appConfig: AppConfigService,
private authService: AuthenticationService,
private discovery: DiscoveryApiService) {
}
ngOnInit() {
if (this.authService.isEcmLoggedIn()) {
this.discovery.getEcmProductInfo().subscribe((ecmVers) => {
this.ecmVersion = ecmVers;
this.modules = new ObjectDataTableAdapter(this.ecmVersion.modules, [
{ type: 'text', key: 'id', title: 'ID', sortable: true },
{ type: 'text', key: 'title', title: 'Title', sortable: true },
{ type: 'text', key: 'version', title: 'Description', sortable: true },
{ type: 'text', key: 'installDate', title: 'Install Date', sortable: true },
{ type: 'text', key: 'installState', title: 'Install State', sortable: true },
{ type: 'text', key: 'versionMin', title: 'Version Minor', sortable: true },
{ type: 'text', key: 'versionMax', title: 'Version Max', sortable: true }
]);
this.status = new ObjectDataTableAdapter([this.ecmVersion.status], [
{ type: 'text', key: 'isReadOnly', title: 'ReadOnly', sortable: true },
{ type: 'text', key: 'isAuditEnabled', title: 'Is Audit Enable', sortable: true },
{ type: 'text', key: 'isQuickShareEnabled', title: 'Is quick shared enable', sortable: true },
{ type: 'text', key: 'isThumbnailGenerationEnabled', title: 'Thumbnail Generation', sortable: true }
]);
this.license = new ObjectDataTableAdapter([this.ecmVersion.license], [
{ type: 'text', key: 'issuedAt', title: 'Issued At', sortable: true },
{ type: 'text', key: 'expiresAt', title: 'Expires At', sortable: true },
{ type: 'text', key: 'remainingDays', title: 'Remaining Days', sortable: true },
{ type: 'text', key: 'holder', title: 'Holder', sortable: true },
{ type: 'text', key: 'mode', title: 'Mode', sortable: true },
{ type: 'text', key: 'isClusterEnabled', title: 'Is Cluster Enabled', sortable: true },
{ type: 'text', key: 'isCryptodocEnabled', title: 'Is Cryptodoc Enable', sortable: true }
]);
});
}
if (this.authService.isBpmLoggedIn()) {
this.discovery.getBpmProductInfo().subscribe((bpmVers) => {
this.bpmVersion = bpmVers;
});
}
this.http.get('/versions.json?' + new Date()).subscribe(response => {
const regexp = new RegExp('^(@alfresco)');
const alfrescoPackages = Object.keys(response.json().dependencies).filter((val) => {
return regexp.test(val);
});
const alfrescoPackagesTableRepresentation = [];
alfrescoPackages.forEach((val) => {
alfrescoPackagesTableRepresentation.push({
name: val,
version: response.json().dependencies[val].version
});
});
this.gitHubLinkCreation(alfrescoPackagesTableRepresentation);
this.data = new ObjectDataTableAdapter(alfrescoPackagesTableRepresentation, [
{ type: 'text', key: 'name', title: 'Name', sortable: true },
{ type: 'text', key: 'version', title: 'Version', sortable: true }
]);
});
this.ecmHost = this.appConfig.get<string>('ecmHost');
this.bpmHost = this.appConfig.get<string>('bpmHost');
}
private gitHubLinkCreation(alfrescoPackagesTableRepresentation): void {
const corePackage = alfrescoPackagesTableRepresentation.find((packageUp) => {
return packageUp.name === '@alfresco/adf-core';
});
if (corePackage) {
const commitIsh = corePackage.version.split('-');
if (commitIsh.length > 1) {
this.githubUrlCommitAlpha = this.githubUrlCommitAlpha + commitIsh[1];
} else {
this.githubUrlCommitAlpha = this.githubUrlCommitAlpha + corePackage.version;
}
}
}
}