N°2847 Finish UX/UI for new caselog entry

This commit is contained in:
Stephen Abello
2020-10-02 10:53:47 +02:00
parent c2fe1bc5cb
commit b3bb77c8ee
12 changed files with 217 additions and 36 deletions

View File

@@ -4,6 +4,7 @@
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\Application\UI\Layout\ActivityPanel\ActivityNewEntryForm;
use Combodo\iTop\Application\UI\Component\PopoverMenu\PopoverMenu;
use Combodo\iTop\Application\UI\Layout\UIContentBlock;
use Combodo\iTop\Application\UI\UIBlock;
/**
@@ -17,9 +18,14 @@ class ActivityNewEntryForm extends UIContentBlock
public const BLOCK_CODE = 'ibo-activitynewentryform';
public const HTML_TEMPLATE_REL_PATH = 'layouts/activity-panel/activitynewentryform/layout';
public const JS_TEMPLATE_REL_PATH = 'layouts/activity-panel/activitynewentryform/layout';
public const JS_FILES_REL_PATH = [
'js/layouts/activity-new-entry-form.js',
];
/** @var \Combodo\iTop\Application\UI\Component\Input\RichText\RichText $oFormTextInput */
protected $oFormTextInput;
/** @var \Combodo\iTop\Application\UI\Component\PopoverMenu\PopoverMenu */
protected $oCaseLogSelectionPopOverMenu;
/** @var array $aTextInputActionButtons */
protected $aTextInputActionButtons;
/** @var array $aFormActionButtons */
@@ -108,6 +114,24 @@ class ActivityNewEntryForm extends UIContentBlock
$this->aFormActionButtons[] = $oFormActionButtons;
}
/**
* @return PopoverMenu
*/
public function GetCaseLogSelectionPopOverMenu(): PopoverMenu
{
return $this->oCaseLogSelectionPopOverMenu;
}
/**
* @param PopoverMenu $oCaseLogSelectionPopOverMenu
* @return $this
*/
public function SetCaseLogSelectionPopOverMenu(PopoverMenu $oCaseLogSelectionPopOverMenu): ActivityNewEntryForm
{
$this->oCaseLogSelectionPopOverMenu = $oCaseLogSelectionPopOverMenu;
return $this;
}
public function GetSubBlocks() : array
{

View File

@@ -10,6 +10,7 @@ namespace Combodo\iTop\Application\UI\Layout\ActivityPanel\ActivityNewEntryFormF
use Combodo\iTop\Application\UI\Component\Button\ButtonFactory;
use Combodo\iTop\Application\UI\Component\Input\RichText\RichText;
use Combodo\iTop\Application\UI\Component\PopoverMenu\PopoverMenuFactory;
use Combodo\iTop\Application\UI\Layout\ActivityPanel\ActivityNewEntryForm\ActivityNewEntryForm;
/**
@@ -22,14 +23,20 @@ use Combodo\iTop\Application\UI\Layout\ActivityPanel\ActivityNewEntryForm\Activi
*/
class ActivityNewEntryFormFactory
{
public static function MakeForObjectDetailsActivityPanel(): ActivityNewEntryForm
public static function MakeForObjectDetailsActivityPanel($aCaseLogs): ActivityNewEntryForm
{
$oActivityNewEntryForm = new ActivityNewEntryForm();
$oActivityNewEntryForm->SetFormTextInput(new RichText());
$oActivityNewEntryForm->AddFormActionButtons(ButtonFactory::MakeForSecondaryAction('Cancel'));
$oActivityNewEntryForm->AddFormActionButtons(ButtonFactory::MakeForValidationAction('Send'));
$oActivityNewEntryForm->AddFormActionButtons(ButtonFactory::MakeForValidationAction('Send....'));
$oActivityNewEntryForm->AddTextInputActionButtons(ButtonFactory::MakeForSecondaryAction('Templates')->SetColor('blue'));
$oActivityNewEntryForm->AddFormActionButtons(ButtonFactory::MakeForSecondaryAction('Cancel')
->SetOnClickJsCode("$(this).parents('[data-role=\"ibo-activity-new-entry-form--action-buttons--right-actions\"]').trigger('cancel');"));
$oActivityNewEntryForm->AddFormActionButtons(ButtonFactory::MakeForValidationAction('Send')
->SetColor('cyan')
->SetIconClass('fas fa-paper-plane')
->SetOnClickJsCode("$(this).parents('[data-role=\"ibo-activity-new-entry-form--action-buttons--right-actions\"]').trigger('submit');"));
//$oActivityNewEntryForm->AddTextInputActionButtons(ButtonFactory::MakeForSecondaryAction('Templates')->SetColor('blue'));
$oActivityNewEntryForm->SetCaseLogSelectionPopOverMenu(PopoverMenuFactory::MakeMenuForActivityNewEntryFormSubmit($aCaseLogs));
return $oActivityNewEntryForm;
}
}