forked from Alfresco/alfresco-ng2-components
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdata-column.component.ts
74 lines (61 loc) · 2.11 KB
/
data-column.component.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/*!
* @license
* Copyright 2019 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.
*/
/* tslint:disable:component-selector no-input-rename */
import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';
@Component({
selector: 'data-column',
template: ''
})
export class DataColumnComponent implements OnInit {
/** Data source key. Can be either a column/property key like `title`
* or a property path like `createdBy.name`.
*/
@Input()
key: string;
/** Value type for the column. Possible settings are 'text', 'image',
* 'date', 'fileSize' and 'location'.
*/
@Input()
type: string = 'text';
/** Value format (if supported by the parent component), for example format of the date. */
@Input()
format: string;
/** Toggles ability to sort by this column, for example by clicking the column header. */
@Input()
sortable: boolean = true;
/** Display title of the column, typically used for column headers. You can use the
* i18n resource key to get it translated automatically.
*/
@Input()
title: string = '';
@ContentChild(TemplateRef)
template: any;
/** Custom tooltip formatter function. */
@Input()
formatTooltip: Function;
/** Title to be used for screen readers. */
@Input('sr-title')
srTitle: string;
/** Additional CSS class to be applied to column (header and cells). */
@Input('class')
cssClass: string;
ngOnInit() {
if (!this.srTitle && this.key === '$thumbnail') {
this.srTitle = 'Thumbnail';
}
}
}