TKF-Kusht-Federasiya/plugins/rainlab/translate/formwidgets/MLMarkdownEditor.php

108 lines
2.2 KiB
PHP

<?php namespace RainLab\Translate\FormWidgets;
use Backend\FormWidgets\MarkdownEditor;
use RainLab\Translate\Models\Locale;
/**
* MLMarkdownEditor renders a multi-lingual Markdown editor.
*
* @package rainlab\translate
* @author Alexey Bobkov, Samuel Georges
*/
class MLMarkdownEditor extends MarkdownEditor
{
use \RainLab\Translate\Traits\MLControl;
/**
* {@inheritDoc}
*/
protected $defaultAlias = 'mlmarkdowneditor';
/**
* @var string originalAssetPath
*/
public $originalAssetPath;
/**
* @var string originalViewPath
*/
public $originalViewPath;
/**
* @var bool legacyMode disables the Vue integration
*/
public $legacyMode = true;
/**
* {@inheritDoc}
*/
public function init()
{
parent::init();
$this->initLocale();
}
/**
* {@inheritDoc}
*/
public function render()
{
$this->actAsParent();
$parentContent = parent::render();
$this->actAsParent(false);
if (!$this->isAvailable) {
return $parentContent;
}
$this->vars['markdowneditor'] = $parentContent;
return $this->makePartial('mlmarkdowneditor');
}
public function prepareVars()
{
parent::prepareVars();
$this->prepareLocaleVars();
}
/**
* getSaveValue returns an array of translated values for this field
* @return array
*/
public function getSaveValue($value)
{
return $this->getLocaleSaveValue($value);
}
/**
* {@inheritDoc}
*/
protected function loadAssets()
{
$this->actAsParent();
parent::loadAssets();
$this->actAsParent(false);
if (Locale::isAvailable()) {
$this->loadLocaleAssets();
$this->addJs('js/mlmarkdowneditor.js');
}
}
/**
* {@inheritDoc}
*/
protected function getParentViewPath()
{
return base_path().'/modules/backend/formwidgets/markdowneditor/partials';
}
/**
* {@inheritDoc}
*/
protected function getParentAssetPath()
{
return '/modules/backend/formwidgets/markdowneditor/assets';
}
}