From 5fbe7ddb32ac88b4b2146e321440fe2e1f53d179 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A0=20Llongarriu?= Date: Thu, 22 Feb 2024 22:41:13 +0100 Subject: [PATCH] new column clippboard --- src/resources/lang/ca/crud.php | 4 ++ src/resources/lang/en/crud.php | 4 ++ src/resources/lang/es/crud.php | 4 ++ .../views/crud/columns/clipboard.blade.php | 59 +++++++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 src/resources/views/crud/columns/clipboard.blade.php diff --git a/src/resources/lang/ca/crud.php b/src/resources/lang/ca/crud.php index 68976b40c9..8dd506d5a6 100644 --- a/src/resources/lang/ca/crud.php +++ b/src/resources/lang/ca/crud.php @@ -164,6 +164,10 @@ 'select_entry' => 'Selecciona un element', 'select_entries' => 'Selecciona elements', 'upload_multiple_files_selected' => 'Files selected. After save, they will show up above.', + 'clipboard' => [ + 'confirmation_message' => 'Element copiat correctament', + 'error_message' => 'No s\'ha pogut copiar l\'element', + ], // Table field 'table_cant_add' => 'No es pot afegir una nova :entity', diff --git a/src/resources/lang/en/crud.php b/src/resources/lang/en/crud.php index 7387c9bf47..c7063705bc 100644 --- a/src/resources/lang/en/crud.php +++ b/src/resources/lang/en/crud.php @@ -169,6 +169,10 @@ 'select_entry' => 'Select an entry', 'select_entries' => 'Select entries', 'upload_multiple_files_selected' => 'Files selected. After save, they will show up above.', + 'clipboard' => [ + 'confirmation_message' => 'Item copied successfully', + 'error_message' => 'Failed to copy item', + ], //Table field 'table_cant_add' => 'Cannot add new :entity', diff --git a/src/resources/lang/es/crud.php b/src/resources/lang/es/crud.php index a40806d61c..6f839134c2 100644 --- a/src/resources/lang/es/crud.php +++ b/src/resources/lang/es/crud.php @@ -163,6 +163,10 @@ 'new_item' => 'Nuevo elemento', 'select_entry' => 'Selecciona un elemento', 'select_entries' => 'Selecciona elementos', + 'clipboard' => [ + 'confirmation_message' => 'Elemento copiado correctamente', + 'error_message' => 'No se pudo copiar el elemento', + ], // Table field 'table_cant_add' => 'No se puede agregar una nueva :entity', diff --git a/src/resources/views/crud/columns/clipboard.blade.php b/src/resources/views/crud/columns/clipboard.blade.php new file mode 100644 index 0000000000..86099ff9c1 --- /dev/null +++ b/src/resources/views/crud/columns/clipboard.blade.php @@ -0,0 +1,59 @@ +{{-- regular object attribute --}} +@php + $column['value'] = $column['value'] ?? data_get($entry, $column['name']); + $column['escaped'] = $column['escaped'] ?? true; + $column['limit'] = $column['limit'] ?? 32; + $column['prefix'] = $column['prefix'] ?? ''; + $column['suffix'] = $column['suffix'] ?? ''; + $column['text'] = $column['default'] ?? '-'; + + if ($column['value'] instanceof \Closure) { + $column['value'] = $column['value']($entry); + } + + if (is_array($column['value'])) { + $column['value'] = json_encode($column['value']); + } + + if (!empty($column['value'])) { + $column['text'] = $column['prefix'] . Str::limit($column['value'], $column['limit'], '…') . $column['suffix']; + } +@endphp + + + @includeWhen(!empty($column['wrapper']), 'crud::columns.inc.wrapper_start') + @if ($column['escaped']) + {{ $column['text'] }} + @else + {!! $column['text'] !!} + @endif + + + @includeWhen(!empty($column['wrapper']), 'crud::columns.inc.wrapper_end') + + +@bassetBlock('backpack/crud/columns/clipboard.js') + +@endBassetBlock