Dateikacheln
Verwendung
Die Kacheln kommen zu 100% aus dem Styleguide und sind mit reinen Elementen aus dem Styleguide integrierbar. Jedoch gibt es Hilfsklassen, die die Integration in die Galerie erleichtern sollen. Eine dieser Klassen ist Ui\Modal\lib\map\EntityFileTileButton
.Diese Klasse besitzt standardmäßig die Einbindung eines Javascripts, das den Request der Aktion ausführt. Darüber hinaus ist es möglich ein Callback-Event anzugeben, welches über JavaScript ausgelöst wird, sobald die Aktion erfolgreich ausgeführt wurde. Dieses Event kann beispielsweise dazu genutzt werden um einen Reload zu triggern, oder Kacheln aus der UI zu entfernen. Das Event beinhaltet den gedrückten Button und die ContentID der Datei, in der sich der Button befindet.
Die PHP-Implementation des Buttons zum favorisieren von Dateien sieht folgendermaßen aus:
Button: Favorit toggle
$label = '';
$icon = 'star';
$variants = ['block'];
$attributes = [
'data-gallery-action-type' => 'single',
'data-gallery-action-content-id' => $file->getID(),
];
$button = new Modal\lib\map\EntityFileTileButton($file->getID(), $label, $attributes, $variants, $icon, 'button');
$button->addJavaScript('brandbox/gallery-core/src/' . $this->packageName . '/js/galleryFavourites');
$button->addCallbackEvent('GalleryToggleFavourite');
$button->addPost($this->packageName, 'toggle/favourite');