import { Component, Inject, Input } from '../decorators' @Component({ selector: 'typeString', template: require('./type-string.component.html') }) export default class TypeStringComponentController { @Input() kind!: string protected localizedKind: string private kindsToStrings = { // Folders 'folder': 'JSUI.FOLDER', 'channel': 'JSUI.FOLDER', 'root': 'JSUI.HOME', // Media 'video': 'JSUI.VIDEO', 'audio': 'JSUI.AUDIO', // Documents 'document': 'JSUI.DOCUMENT', 'pdf': 'JSUI.PDF', 'ppt': 'JSUI.POWERPOINT', 'msdoc': 'JSUI.WORD_DOC', 'xls': 'JSUI.EXCEL', // Archives 'x-gzip': 'JSUI.ZIP', // Extensions 'extension': 'JSUI.EXTENSION', 'interactive': 'JSUI.EXTENSION', 'zip': 'JSUI.EXTENSION', // Images 'image': 'JSUI.IMAGE', 'jpg': 'JSUI.IMAGE', 'png': 'JSUI.IMAGE', 'gif': 'JSUI.IMAGE', 'bmp': 'JSUI.IMAGE', 'tiff': 'JSUI.IMAGE', // Links 'url': 'JSUI.LINK', 'html': 'JSUI.LINK', // Users & Groups 'everyone': 'JSUI.GROUP', 'group': 'JSUI.GROUP', 'role': 'JSUI.GROUP', 'user': 'JSUI.USER', // Collections 'collection': 'JSUI.COLLECTION' } constructor( @Inject('translateFactory') private translateFactory ) {} $onChanges(changes: { kind: ng.IChangesObject }) { const kind = (changes.kind.currentValue || '').toLowerCase() const key = this.kindsToStrings[kind] || 'JSUI.UNKNOWN' this.localizedKind = this.translateFactory.instant(key) } }