diff --git a/lib/core/datatable/components/datatable/datatable-cell.component.spec.ts b/lib/core/datatable/components/datatable/datatable-cell.component.spec.ts
new file mode 100644
index 0000000000..b72ab7b9f2
--- /dev/null
+++ b/lib/core/datatable/components/datatable/datatable-cell.component.spec.ts
@@ -0,0 +1,37 @@
+/*!
+ * @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 { DateCellComponent } from './date-cell.component';
+
+describe('DataTableCellComponent', () => {
+ it('should use medium format by default', () => {
+ const component = new DateCellComponent(null);
+ expect(component.format).toBe('medium');
+ });
+
+ it('should use column format', () => {
+ const component = new DateCellComponent(null);
+ component.column = {
+ key: 'created',
+ type: 'date',
+ format: 'longTime'
+ };
+
+ component.ngOnInit();
+ expect(component.format).toBe('longTime');
+ });
+});
diff --git a/lib/core/datatable/components/datatable/date-cell.component.ts b/lib/core/datatable/components/datatable/date-cell.component.ts
index 239b3c4352..d3fe7344d1 100644
--- a/lib/core/datatable/components/datatable/date-cell.component.ts
+++ b/lib/core/datatable/components/datatable/date-cell.component.ts
@@ -15,38 +15,52 @@
* limitations under the License.
*/
-import { Component, ViewEncapsulation } from '@angular/core';
+import { Component, ViewEncapsulation, OnInit } from '@angular/core';
import { DataTableCellComponent } from './datatable-cell.component';
-import { UserPreferencesService, UserPreferenceValues } from '../../../services/user-preferences.service';
+import {
+ UserPreferencesService,
+ UserPreferenceValues
+} from '../../../services/user-preferences.service';
@Component({
selector: 'adf-date-cell',
template: `
-
+
{{ value | adfTimeAgo: currentLocale }}
-
- {{ value | date:'medium' }}
+
+ {{ value | date:format }}
`,
encapsulation: ViewEncapsulation.None,
host: { class: 'adf-date-cell' }
})
-export class DateCellComponent extends DataTableCellComponent {
-
+export class DateCellComponent extends DataTableCellComponent implements OnInit {
currentLocale;
+ format = 'medium';
constructor(userPreferenceService: UserPreferencesService) {
super();
- userPreferenceService.select(UserPreferenceValues.Locale).subscribe((locale) => {
- this.currentLocale = locale;
- });
+ if (userPreferenceService) {
+ userPreferenceService
+ .select(UserPreferenceValues.Locale)
+ .subscribe(locale => {
+ this.currentLocale = locale;
+ });
+ }
}
+ ngOnInit() {
+ super.ngOnInit();
+
+ if (this.column) {
+ this.format = this.column.format || 'medium';
+ }
+ }
}