diff --git a/demo-shell-ng2/app/app.component.html b/demo-shell-ng2/app/app.component.html
index 2b7147dd8e..6735d56cce 100644
--- a/demo-shell-ng2/app/app.component.html
+++ b/demo-shell-ng2/app/app.component.html
@@ -15,10 +15,11 @@
DocumentList
DataTable
Uploader
- Activiti
+ Activiti
Tasks
Webscript
Login
+ About
@@ -48,6 +49,7 @@
Activiti Components Demo
Activiti Tasks Demo
Webscript
+ About
diff --git a/demo-shell-ng2/app/app.component.ts b/demo-shell-ng2/app/app.component.ts
index df88fc576d..c2f07c5b4e 100644
--- a/demo-shell-ng2/app/app.component.ts
+++ b/demo-shell-ng2/app/app.component.ts
@@ -34,6 +34,7 @@ import { LoginDemoComponent } from './components/login/login-demo.component';
import { TasksDemoComponent } from './components/tasks/tasks-demo.component';
import { ActivitiDemoComponent } from './components/activiti/activiti-demo.component';
import { WebscriptComponent } from './components/webscript/webscript.component';
+import { AboutComponent } from './components/about/about.component';
declare var document: any;
@@ -45,16 +46,17 @@ declare var document: any;
pipes: [AlfrescoPipeTranslate]
})
@RouteConfig([
- {path: '/home', name: 'Home', component: FilesComponent},
- {path: '/files', name: 'Files', component: FilesComponent},
- {path: '/datatable', name: 'DataTable', component: DataTableDemoComponent},
- {path: '/', name: 'Login', component: LoginDemoComponent, useAsDefault: true},
- {path: '/uploader', name: 'Uploader', component: UploadButtonComponent},
- {path: '/login', name: 'Login', component: LoginDemoComponent},
- {path: '/search', name: 'Search', component: SearchComponent},
- {path: '/tasks', name: 'Tasks', component: TasksDemoComponent},
- {path: '/activiti', name: 'Activiti', component: ActivitiDemoComponent},
- {path: '/webscript', name: 'Webscript', component: WebscriptComponent}
+ { path: '/home', name: 'Home', component: FilesComponent },
+ { path: '/files', name: 'Files', component: FilesComponent },
+ { path: '/datatable', name: 'DataTable', component: DataTableDemoComponent },
+ { path: '/', name: 'Login', component: LoginDemoComponent, useAsDefault: true },
+ { path: '/uploader', name: 'Uploader', component: UploadButtonComponent },
+ { path: '/login', name: 'Login', component: LoginDemoComponent },
+ { path: '/search', name: 'Search', component: SearchComponent },
+ { path: '/tasks', name: 'Tasks', component: TasksDemoComponent },
+ { path: '/activiti', name: 'Activiti', component: ActivitiDemoComponent },
+ { path: '/webscript', name: 'Webscript', component: WebscriptComponent },
+ { path: '/about', name: 'About', component: AboutComponent }
])
export class AppComponent {
translate: AlfrescoTranslationService;
diff --git a/demo-shell-ng2/app/components/about/about.component.html b/demo-shell-ng2/app/components/about/about.component.html
new file mode 100644
index 0000000000..c0922f8141
--- /dev/null
+++ b/demo-shell-ng2/app/components/about/about.component.html
@@ -0,0 +1,4 @@
+
diff --git a/demo-shell-ng2/app/components/about/about.component.ts b/demo-shell-ng2/app/components/about/about.component.ts
new file mode 100644
index 0000000000..30b667a14a
--- /dev/null
+++ b/demo-shell-ng2/app/components/about/about.component.ts
@@ -0,0 +1,55 @@
+/*!
+ * @license
+ * Copyright 2016 Alfresco Software, Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Component, OnInit } from '@angular/core';
+import { Http } from '@angular/http';
+import {
+ ALFRESCO_DATATABLE_DIRECTIVES,
+ ObjectDataTableAdapter /*,
+ DataSorting,
+ ObjectDataRow,
+ ObjectDataColumn*/
+} from 'ng2-alfresco-datatable';
+
+declare let __moduleName: string;
+
+@Component({
+ moduleId: __moduleName,
+ selector: 'about-page',
+ templateUrl: './about.component.html',
+ directives: [ALFRESCO_DATATABLE_DIRECTIVES]
+})
+export class AboutComponent implements OnInit {
+
+ data: ObjectDataTableAdapter;
+
+ constructor(private http: Http) {}
+
+ ngOnInit() {
+ // this.data = new ObjectDataTableAdapter();
+ this.http.get('/versions').subscribe(response => {
+ let data = response.json() || {};
+ let packages = data.packages || [];
+
+ this.data = new ObjectDataTableAdapter(packages, [
+ { type: 'text', key: 'name', title: 'Name', sortable: true },
+ { type: 'text', key: 'version', title: 'Version', sortable: true }
+ ]);
+ });
+
+ }
+}
diff --git a/demo-shell-ng2/server/versions.js b/demo-shell-ng2/server/versions.js
index 478bc86fe0..020843cf53 100644
--- a/demo-shell-ng2/server/versions.js
+++ b/demo-shell-ng2/server/versions.js
@@ -20,13 +20,16 @@ exports.register = function (server, options, next) {
method: 'GET',
path: '/versions',
handler: function (request, reply) {
+ var result = {
+ packages: packages.map(function (packageName) {
+ return {
+ name: packageName,
+ version: require('./../node_modules/' + packageName + '/package.json').version
+ }
+ })
+ };
- var result = {};
- packages.map(function (packageName) {
- result[packageName] = require('./../node_modules/' + packageName + '/package.json').version
- });
-
- reply(result);
+ return reply(result).type('application/json');
}
});