* @package Combodo\iTop\Application\UI\Component\QuickCreate * @internal * @since 2.8.0 */ class QuickCreate extends UIBlock { const BLOCK_CODE = 'ibo-quick-create'; const HTML_TEMPLATE_REL_PATH = 'components/quick-create/layout'; const JS_TEMPLATE_REL_PATH = 'components/quick-create/layout'; const JS_FILES_REL_PATH = [ 'js/selectize.min.js', 'js/components/quick-create.js', ]; const CSS_FILES_REL_PATH = [ 'css/selectize.default.css', ]; const DEFAULT_ENDPOINT_REL_URL = 'pages/UI.php'; /** @var array $aAvailableClasses */ protected $aAvailableClasses; /** @var array $aLastClasses */ protected $aLastClasses; /** * QuickCreate constructor. * * @param string $sId * @param array $aLastClasses * * @throws \CoreException * @throws \DictExceptionMissingString */ public function __construct($sId = null, $aLastClasses = []) { parent::__construct($sId); $this->aAvailableClasses = UserRights::GetAllowedClasses(UR_ACTION_CREATE, array('bizmodel'), true); $this->aLastClasses = $aLastClasses; } /** * Return the available classes (to create) for the current user * * @return array */ public function GetAvailableClasses() { return $this->aAvailableClasses; } /** * Set all the last classes at once * * @param array $aLastClasses * * @return $this */ public function SetLastClasses($aLastClasses) { $this->aLastClasses = $aLastClasses; return $this; } /** * Return the last classes (class name, label as HTML, icon URL, ...) * * @return array */ public function GetLastClasses() { return $this->aLastClasses; } }