Sindbad~EG File Manager
<?php
namespace FluentForm\App\Modules\Component;
abstract class BaseComponent
{
use ComponentInitTrait;
/**
* The unique name of the component.
*
* @return string
*/
abstract public function name();
/**
* The label of the component.
*
* @return string
*/
abstract public function label();
/**
* The element type of the component from already
* available elements (input_text, textarea e.t.c).
*
* @return string
*/
abstract public function element();
/**
* The template type of the component to display preview in editor dropzone from
* already available templates (inputText, selectCountry, addressFields e.t.c).
*
* @return string
*/
abstract public function template();
/**
* Render the element on frontend form.
*
* @param array $component Element Config
* @param object $form The Form Object
*
* @return void
*/
abstract public function render($component, $form);
/**
* Form submission callback.
*
* @param array $formData Submitted form data
* @param int $formId Submitted form id
* @param array $config Form elements config
*
* @return array $formData
*/
abstract public function onSubmit($formData, $formId, $config);
/**
* Component position in editor. If null is returned then
* the element will be pushed at last but the derived class
* will override this method if any customization is needed.
*
* @return int|null
*/
public function index()
{
return null;
}
/**
* The group, where the component should be added. By default,
* the element will be added in "general" group and the derived
* class will override this method if any customization is needed.
*
* @return string general|advanced|container
*/
public function group()
{
return 'general';
}
/**
* The element icon class for the component to display in the button in
* the editor element list which is mapped to editor_options.icon_class.
*
* @return string
*/
public function elementIconClass()
{
return 'icon-cog';
}
/**
* Element editor/form attributes and the derived class will
* override this method if any customization is needed.
*
* @param array $dafault
*
* @return array $default
*/
public function attributes($default)
{
return $default;
}
/**
* Element editor settings and the derived class will
* override this method if any customization is needed.
*
* @param array $dafault
*
* @return array $default
*/
public function settings($default)
{
return $default;
}
/**
* Element editor options and the derived class will
* override this method if any customization is needed.
*
* @param array $dafault
*
* @return array $default
*/
public function options($default)
{
return $default;
}
/**
* Element's form submission validation rules and the derived
* class will override this method if needed any customization.
*
* @return array
*/
public function validationRules()
{
return [];
}
/**
* Element editor placement settings and the derived class
* will override this method if any customization is needed.
*
* @param array $placemenSettings
*
* @return array $placemenSettings
*/
public function placementSettings($placemenSettings)
{
return $placemenSettings;
}
/**
* The customization for the component and derived class can
* override this method if any customization is needed.
*
* @param array $customizationSettings
*
* @return array $customizationSettings
*/
public function customizationSettings($customizationSettings)
{
return $customizationSettings;
}
/**
* Add the component type in fluentform field types to
* be available in FormFieldParser and derived class can
* override this method if any customization is needed.
*
* @param array $types
*
* @return array $types
*/
public function addType($types)
{
$types[] = $this->name();
return $types;
}
/**
* The keywords to search the element in the editor and
* the derived class will override this method if needed.
*
* @return array
*/
public function searchBy()
{
return [$this->name(), $this->label()];
}
/**
* Transform the element's submitted value saved in database
* to show it properly/formatted in entry page if needed and
* this method implementation optional so a default method is
* implemented here and original value is returned. In any case
* if any customization of the value is needed then the derived
* class will override it and will format and return the the value.
*
* @param mixed $value [description]
* @param string $field
* @param int $formId
*
* @return mixed $value
*/
public function formatEntryValue($value, $field, $formId)
{
return $value;
}
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists