Initial commit
This commit is contained in:
commit
388079e6bb
1108 changed files with 330121 additions and 0 deletions
74
kirby/src/Panel/Ui/Item/FileItem.php
Normal file
74
kirby/src/Panel/Ui/Item/FileItem.php
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
<?php
|
||||
|
||||
namespace Kirby\Panel\Ui\Item;
|
||||
|
||||
use Kirby\Cms\File;
|
||||
use Kirby\Cms\ModelWithContent;
|
||||
use Kirby\Panel\Model;
|
||||
|
||||
/**
|
||||
* @package Kirby Panel
|
||||
* @author Bastian Allgeier <bastian@getkirby.com>
|
||||
* @link https://getkirby.com
|
||||
* @copyright Bastian Allgeier
|
||||
* @license https://getkirby.com/license
|
||||
* @since 5.1.0
|
||||
*/
|
||||
class FileItem extends ModelItem
|
||||
{
|
||||
/**
|
||||
* @var \Kirby\Cms\File
|
||||
*/
|
||||
protected ModelWithContent $model;
|
||||
|
||||
/**
|
||||
* @var \Kirby\Panel\File
|
||||
*/
|
||||
protected Model $panel;
|
||||
|
||||
public function __construct(
|
||||
File $file,
|
||||
protected bool $dragTextIsAbsolute = false,
|
||||
string|array|false|null $image = [],
|
||||
string|null $info = null,
|
||||
string|null $layout = null,
|
||||
string|null $text = null,
|
||||
) {
|
||||
parent::__construct(
|
||||
model: $file,
|
||||
image: $image,
|
||||
info: $info,
|
||||
layout: $layout,
|
||||
text: $text ?? '{{ file.filename }}',
|
||||
);
|
||||
}
|
||||
|
||||
protected function dragText(): string
|
||||
{
|
||||
return $this->panel->dragText(absolute: $this->dragTextIsAbsolute);
|
||||
}
|
||||
|
||||
protected function permissions(): array
|
||||
{
|
||||
$permissions = $this->model->permissions();
|
||||
|
||||
return [
|
||||
'delete' => $permissions->can('delete'),
|
||||
'sort' => $permissions->can('sort'),
|
||||
];
|
||||
}
|
||||
|
||||
public function props(): array
|
||||
{
|
||||
return [
|
||||
...parent::props(),
|
||||
'dragText' => $this->dragText(),
|
||||
'extension' => $this->model->extension(),
|
||||
'filename' => $this->model->filename(),
|
||||
'mime' => $this->model->mime(),
|
||||
'parent' => $this->model->parent()->panel()->path(),
|
||||
'template' => $this->model->template(),
|
||||
'url' => $this->model->url(),
|
||||
];
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue