webworld888/app/UIObjects/Form/FormMediaLibraryImage.php
2021-10-26 19:14:12 +09:00

110 lines
3.1 KiB
PHP

<?php
/**
* FormMediaLibraryImage.php
*
* PHP version 7
*
* @category UIObjects
* @package App\UIObjects\Form
* @author XE Developers <developers@xpressengine.com>
* @copyright 2020 Copyright XEHub Corp. <https://www.xehub.io>
* @license http://www.gnu.org/licenses/lgpl-3.0-standalone.html LGPL
* @link https://xpressengine.io
*/
namespace App\UIObjects\Form;
use XeFrontend;
use Xpressengine\UIObject\AbstractUIObject;
/**
* Class FormMediaLibraryImage
*
* @category UIObjects
* @package App\UIObjects\Form
* @author XE Developers <developers@xpressengine.com>
* @copyright 2020 Copyright XEHub Corp. <https://www.xehub.io>
* @license http://www.gnu.org/licenses/lgpl-3.0-standalone.html LGPL
* @link https://xpressengine.io
*/
class FormMediaLibraryImage extends AbstractUIObject
{
/**
* The component id
*
* @var string
*/
protected static $id = 'uiobject/xpressengine@formMedialibraryImage';
/**
* The view name
*
* @var string
*/
protected $view = 'uiobjects.form.formMedialibraryImage';
/**
* Get the evaluated contents of the object.
*
* @return string
*/
public function render()
{
$args = $this->arguments;
$seq = $this->seq();
$this->loadAssets();
// set width, height
$args = array_add($args, 'width', 10000);
$args = array_add($args, 'height', 10000);
// render template
$this->template = view($this->view, ['args' => $args, 'seq' => $seq])->render();
return parent::render();
}
/**
* Load assets
*
* @return void
*/
protected function loadAssets()
{
expose_route('media_library.index');
expose_route('media_library.drop');
expose_route('media_library.get_folder');
expose_route('media_library.store_folder');
expose_route('media_library.update_folder');
expose_route('media_library.move_folder');
expose_route('media_library.get_file');
expose_route('media_library.update_file');
expose_route('media_library.modify_file');
expose_route('media_library.move_file');
expose_route('media_library.upload');
expose_route('media_library.download_file');
$scripts = [
'assets/vendor/jQuery-File-Upload/js/vendor/jquery.ui.widget.js',
'assets/vendor/jQuery-File-Upload/js/jquery.iframe-transport.js',
'assets/vendor/jQuery-File-Upload/js/jquery.fileupload.js',
'assets/core/uiobject/form/medialibrary-image.js',
];
$stylesheets = [
'assets/core/uiobject/form/medialibrary-image.css',
'assets/vendor/jQuery-File-Upload/css/jquery.fileupload.css',
'assets/vendor/jQuery-File-Upload/css/jquery.fileupload-ui.css',
];
if(request()->ajax()) {
XeFrontend::js($scripts)->loadAsync();
XeFrontend::css($stylesheets)->loadAsync();
} else {
XeFrontend::js($scripts)->appendTo('head')->load();
XeFrontend::css($stylesheets)->load();
}
}
}