diff --git a/Classes/Service/GridData/FileDataProcessingService.php b/Classes/Service/GridData/FileDataProcessingService.php index 5c69f30..e365da1 100644 --- a/Classes/Service/GridData/FileDataProcessingService.php +++ b/Classes/Service/GridData/FileDataProcessingService.php @@ -117,7 +117,9 @@ public function buildColumnConfiguration() { array('text' => 'Grösse', 'dataIndex' => 'size', 'xtype' => 'byteColumn'), array('text' => 'Extension', 'dataIndex' => 'extension'), array('text' => 'Mimetype', 'dataIndex' => 'type'), - array('text' => 'Erstellt am', 'dataIndex' => 'creationDate', 'xtype' => 'datecolumn', 'format' => 'd.m.Y H:i') + array('text' => 'Erstellt am', 'dataIndex' => 'creationDate', 'xtype' => 'datecolumn', 'format' => 'd.m.Y H:i'), + array('text' => 'Änderungsdatum', 'dataIndex' => 'creationDate', 'xtype' => 'datecolumn', 'format' => 'd.m.Y H:i'), + array('text' => 'Thumbnail', 'dataIndex' => 'url', 'xtype' => 'thumbnailColumn') ); return $columns; } @@ -130,7 +132,11 @@ public function buildFieldConfiguration() { array('name' => 'size', 'type' => 'int'), array('name' => 'extension', 'type' => 'string'), array('name' => 'type', 'type' => 'string'), - array('name' => 'creationDate', 'type' => 'date', 'dateFormat' => 'timestamp') + array('name' => 'creationDate', 'type' => 'date', 'dateFormat' => 'timestamp'), + array('name' => 'mtime', 'type' => 'date', 'dateFormat' => 'timestamp'), + array('name' => 'permissions', 'type' => 'auto'), + array('name' => 'indexed', 'type' => 'boolean'), + array('name' => 'url', 'type' => 'string') ); return $fields; } diff --git a/Resources/Public/JavaScript/Actions/File.js b/Resources/Public/JavaScript/Actions/File.js index f23395d..6708b53 100644 --- a/Resources/Public/JavaScript/Actions/File.js +++ b/Resources/Public/JavaScript/Actions/File.js @@ -45,14 +45,14 @@ TYPO3.Vidi.Actions.File = { editTextFile: function(record) { Ext.create( 'TYPO3.Vidi.Components.Overlay', - 'file_edit.php?' + Ext.Object.toQueryString({target: record.get('id')}, true), + 'file_edit.php?' + Ext.Object.toQueryString({target: record.get('id'), type: '_FILE'}, true), 'editContentRecord', function() {} ); }, showFileInfo: function(record) { if (top.launchView !== undefined) { - top.launchView(record.get('id'), ''); + top.launchView(record.get('id'), '_FILE'); } }, createEmptyFile: function() { diff --git a/Resources/Public/JavaScript/Components/Grid/Columns/FileActionColumn.js b/Resources/Public/JavaScript/Components/Grid/Columns/FileActionColumn.js index b8c7d32..4db1d97 100644 --- a/Resources/Public/JavaScript/Components/Grid/Columns/FileActionColumn.js +++ b/Resources/Public/JavaScript/Components/Grid/Columns/FileActionColumn.js @@ -2,6 +2,8 @@ Ext.define('TYPO3.Vidi.Components.Grid.Columns.FileActionColumn', { extend: 'Ext.grid.column.Action', alias: ['widget.fileActionColumn'], + sortable: false, + hidable : false, iconConfig : [ { iconCls: 't3-icon t3-icon-actions t3-icon-actions-document t3-icon-document-open', @@ -11,7 +13,7 @@ Ext.define('TYPO3.Vidi.Components.Grid.Columns.FileActionColumn', { TYPO3.Vidi.Actions.File.editTextFile(rec) }, active: function(record) { - if (record.get('type').substring(0, 5) == 'text/') { + if (record.get('type').substring(0, 5) == 'text/' && record.data.permissions.write == true) { return true; } else { return false; @@ -26,7 +28,7 @@ Ext.define('TYPO3.Vidi.Components.Grid.Columns.FileActionColumn', { TYPO3.Vidi.Actions.File.deleteFile(rec); }, active: function(record) { - return true; + return record.data.permissions.delete === true; } }, { @@ -37,7 +39,7 @@ Ext.define('TYPO3.Vidi.Components.Grid.Columns.FileActionColumn', { TYPO3.Vidi.Actions.File.renameFile(rec); }, active: function(record) { - return true; + return record.data.permissions.write === true; } }, diff --git a/Resources/Public/JavaScript/Components/Grid/Columns/ThumbnailColumn.js b/Resources/Public/JavaScript/Components/Grid/Columns/ThumbnailColumn.js index 020621d..fb8022f 100644 --- a/Resources/Public/JavaScript/Components/Grid/Columns/ThumbnailColumn.js +++ b/Resources/Public/JavaScript/Components/Grid/Columns/ThumbnailColumn.js @@ -3,19 +3,26 @@ Ext.define('TYPO3.Vidi.Components.Grid.Columns.ThumbnailColumn', { extend: 'Ext.grid.column.Column', alias: ['widget.thumbnailColumn'], align: 'center', + minWidth: 70, constructor: function(cfg) { this.callParent(arguments); }, - renderer: function(value) { - if (Ext.isArray(value)) { - var content = ''; - Ext.Array.each(value, function(item) { - content += 'thumb'; - }); - return content; - } else { + renderer: function(value, container, record, row, column) { + if (record.data.type !== undefined && record.data.type.substring(0,6) != 'image/' || value == '') { return ''; } + if (this.columns[column].isVisible() == false) { + return ''; + } + if (!Ext.isArray(value)) { + value = [value]; + } + var content = ''; + Ext.Array.each(value, function(item) { + content += 'thumb'; + }); + container.style = { padding: 0}; + return content; }, statics: { thumbnailWidth: 50 diff --git a/Resources/Public/JavaScript/Components/Grid/ThumbnailResizer.js b/Resources/Public/JavaScript/Components/Grid/ThumbnailResizer.js index f0b2773..0a653f7 100644 --- a/Resources/Public/JavaScript/Components/Grid/ThumbnailResizer.js +++ b/Resources/Public/JavaScript/Components/Grid/ThumbnailResizer.js @@ -14,6 +14,11 @@ Ext.define('TYPO3.Vidi.Components.Grid.ThumbnailResizer', { listeners: { change: function(slider, newValue) { TYPO3.Vidi.Components.Grid.Columns.ThumbnailColumn.thumbnailWidth = newValue; + Ext.each(this.up('gridpanel').columns, function(column) { + if (column.alias[0] == 'widget.thumbnailColumn') { + column.setWidth(newValue + 20); + } + }); this.up('gridpanel').down('gridview').refresh(); } }