static function onRestServiceBuildDescription(): array
{
return [
CRestUtil::GLOBAL_SCOPE => [
CRestUtil::PLACEMENTS => [
self::IM_CONTEXT_MENU => [
'options' => [
'extranet' => [
'type' => 'string',
'default' => 'N',
'require' => false,
],
'context' => [
'type' => 'string',
'default' => 'ALL',
'require' => false,
],
'role' => [
'type' => 'string',
'default' => 'USER',
'require' => false,
],
],
'registerCallback' => [
'moduleId' => 'im',
'callback' => [self::class, 'onRegisterPlacementContextMenu'],
],
],
self::IM_NAVIGATION => [
'options' => [
'iconName' => [
'type' => 'string',
'require' => true,
],
'extranet' => [
'type' => 'string',
'default' => 'N',
'require' => false,
],
'role' => [
'type' => 'string',
'default' => 'USER',
'require' => false,
],
],
'registerCallback' => [
'moduleId' => 'im',
'callback' => [self::class, 'onRegisterPlacementNavigation'],
],
],
self::IM_TEXTAREA => [
'options' => [
'iconName' => [
'type' => 'string',
'require' => true,
],
'extranet' => [
'type' => 'string',
'default' => 'N',
'require' => false,
],
'context' => [
'type' => 'string',
'default' => 'ALL',
'require' => false,
],
'role' => [
'type' => 'string',
'default' => 'USER',
'require' => false,
],
'color' => [
'type' => 'string',
'require' => false,
],
'width' => [
'type' => 'int',
'default' => 100,
'require' => false,
],
'height' => [
'type' => 'int',
'default' => 100,
'require' => false,
]
],
'registerCallback' => [
'moduleId' => 'im',
'callback' => [self::class, 'onRegisterPlacementTextArea'],
],
],
self::IM_SIDEBAR => [
'options' => [
'iconName' => [
'type' => 'string',
'require' => true,
],
'extranet' => [
'type' => 'string',
'default' => 'N',
'require' => false,
],
'context' => [
'type' => 'string',
'default' => 'ALL',
'require' => false,
],
'role' => [
'type' => 'string',
'default' => 'USER',
'require' => false,
],
'color' => [
'type' => 'string',
'require' => false,
],
],
'registerCallback' => [
'moduleId' => 'im',
'callback' => [self::class, 'onRegisterPlacementSidebar'],
],
],
self::IM_SMILES_SELECTOR => [
'options' => [
'extranet' => [
'type' => 'string',
'default' => 'N',
'require' => false,
],
'role' => [
'type' => 'string',
'default' => 'USER',
'require' => false,
],
'context' => [
'type' => 'string',
'default' => 'ALL',
'require' => false,
],
],
'registerCallback' => [
'moduleId' => 'im',
'callback' => [self::class, 'onRegisterPlacementSmilesSelector'],
],
],
],
],
];
}