From 951de1e4856688d6455392fed1354e412e5deb37 Mon Sep 17 00:00:00 2001 From: Luke Towers Date: Fri, 25 Aug 2023 17:32:51 -0600 Subject: [PATCH] Added open_media action --- blocks/button.block | 10 ++++++++++ lang/en/lang.php | 5 +++++ meta/actions.yaml | 20 ++++++++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/blocks/button.block b/blocks/button.block index 4108448..5a25ded 100644 --- a/blocks/button.block +++ b/blocks/button.block @@ -35,6 +35,8 @@ fields: type: iconpicker == controller->addJs(Url::asset('/plugins/winter/blocks/assets/dist/js/blocks.js'), 'Winter.Blocks'); @@ -48,6 +50,14 @@ function onStart() foreach ($data['actions'] as &$config) { $action = $config['_group'] ?? ''; unset($config['_group']); + + switch ($action) { + case 'open_media': + $config['href'] = MediaLibrary::url($config['media_file']); + $action = 'open_url'; + break; + } + $config = [ 'data' => $config, 'action' => $action, diff --git a/lang/en/lang.php b/lang/en/lang.php index 78a2f1b..724a88a 100644 --- a/lang/en/lang.php +++ b/lang/en/lang.php @@ -14,6 +14,11 @@ 'target_self' => 'Same tab', 'target_blank' => 'New tab', ], + 'open_media' => [ + 'name' => 'Download Media File', + 'description' => 'Download the provided file from the Media Library', + 'media_file' => 'File', + ], ], 'tabs' => [ 'display' => 'Display', diff --git a/meta/actions.yaml b/meta/actions.yaml index 54be336..7859f7b 100644 --- a/meta/actions.yaml +++ b/meta/actions.yaml @@ -15,3 +15,23 @@ open_url: options: _self: winter.blocks::lang.actions.open_url.target_self _blank: winter.blocks::lang.actions.open_url.target_blank +open_media: + name: winter.blocks::lang.actions.open_media.name + description: winter.blocks::lang.actions.open_media.description + icon: icon-file + fields: + _title: + label: winter.blocks::lang.actions.open_media.name + type: section + media_file: + label: winter.blocks::lang.actions.open_media.media_file + type: mediafinder + span: left + mode: file + target: + label: winter.blocks::lang.actions.open_url.target + type: balloon-selector + span: right + options: + _self: winter.blocks::lang.actions.open_url.target_self + _blank: winter.blocks::lang.actions.open_url.target_blank