19declare(strict_types=1);
38 protected UIFactory $ui_factory,
39 protected PresentationUtilities $presentation_utilities,
53 $actions = $this->
getActions($ref_id, $obj_id, $type, $state_info);
55 return $this->ui_factory->modal()->roundtrip(
56 $this->presentation_utilities->txt(
'md_publishing_center_title'),
58 )->withActionButtons($actions);
65 $status_label = match ($status) {
66 Status::UNPUBLISHED => $this->presentation_utilities->txt(
'md_publishing_status_unpublished'),
67 Status::BLOCKED => $this->presentation_utilities->txt(
'md_publishing_status_blocked'),
68 Status::UNDER_REVIEW => $this->presentation_utilities->txt(
'md_publishing_status_under_review'),
69 Status::PUBLISHED => $this->presentation_utilities->txt(
'md_publishing_status_published')
73 return $this->ui_factory->chart()->scaleBar($scale_items);
84 $valid_cp[] = $this->copyright_repository->getEntry($copyright_id)->title();
86 $valid_cp_list =
'<br/><br/>' . implode(
'<br/>', $valid_cp);
87 $message = $this->presentation_utilities->txtFill(
'md_publishing_info_wrong_copyright', $valid_cp_list);
90 Status::UNPUBLISHED => $this->presentation_utilities->txt(
'md_publishing_info_unpublished'),
91 Status::BLOCKED => $this->presentation_utilities->txt(
'md_publishing_info_blocked'),
92 Status::UNDER_REVIEW => $this->presentation_utilities->txt(
'md_publishing_info_under_review'),
93 Status::PUBLISHED => $this->presentation_utilities->txt(
'md_publishing_info_published')
97 return $this->ui_factory->messageBox()->info($message);
111 $link = $this->link_factory->getLinkForAction($action,
$ref_id, $obj_id, $type);
112 $label = match ($action) {
113 Action::BLOCK => $this->presentation_utilities->txt(
'md_publishing_action_block'),
114 Action::UNBLOCK => $this->presentation_utilities->txt(
'md_publishing_action_unblock'),
115 Action::PUBLISH => $this->presentation_utilities->txt(
'md_publishing_action_publish'),
116 Action::WITHDRAW => $this->presentation_utilities->txt(
'md_publishing_action_withdraw'),
117 Action::SUBMIT => $this->presentation_utilities->txt(
'md_publishing_action_submit'),
118 Action::ACCEPT => $this->presentation_utilities->txt(
'md_publishing_action_accept'),
119 Action::REJECT => $this->presentation_utilities->txt(
'md_publishing_action_reject')
125 $button = $this->ui_factory->button()->standard($label,
'#')->withUnavailableAction($disabled);
127 $button = $button->withOnLoadCode(
128 fn(
$id) =>
"$('#$id').on('click', (e)=> {
129 let promptId = e.target.closest('.il-prompt').id;
130 il.UI.prompt.get(promptId).show('$link');
134 $buttons[] = $button;
144 bool $is_last_reference
147 $message = match ($action) {
148 Action::WITHDRAW => $this->presentation_utilities->txt(
'md_publishing_confirmation_info_withdraw'),
149 Action::ACCEPT => $this->presentation_utilities->txt(
'md_publishing_confirmation_info_accept'),
150 Action::REJECT => $this->presentation_utilities->txt(
'md_publishing_confirmation_info_reject'),
153 $modal_content[] = $this->ui_factory->messageBox()->confirmation($message);
154 $title = match ($action) {
155 Action::WITHDRAW => $this->presentation_utilities->txt(
'md_publishing_confirmation_withdraw'),
156 Action::ACCEPT => $this->presentation_utilities->txt(
'md_publishing_confirmation_accept'),
157 Action::REJECT => $this->presentation_utilities->txt(
'md_publishing_confirmation_reject'),
165 $modal_content[] = $this->ui_factory->messageBox()->info(
166 $this->presentation_utilities->txt(
'md_publishing_last_reference_info')
170 $action = $this->link_factory->getLinkForConfirmationOfAction($action,
$ref_id, $obj_id, $type);
176 $button = $this->ui_factory->button()->standard($this->presentation_utilities->txt(
'confirm'),
'#');
177 $button = $button->withOnLoadCode(
178 fn(
$id) =>
"$('#$id').on('click', (e)=> {
179 let promptId = e.target.closest('.il-prompt').id;
180 il.UI.prompt.get(promptId).show('$action');
183 return $this->ui_factory->modal()->roundtrip($title, $modal_content)->withActionButtons([$button]);
188 return match ($action) {
189 Action::BLOCK => $this->presentation_utilities->txt(
'md_publishing_success_block'),
190 Action::UNBLOCK => $this->presentation_utilities->txt(
'md_publishing_success_unblock'),
191 Action::PUBLISH => $this->presentation_utilities->txt(
'md_publishing_success_publish'),
192 Action::WITHDRAW => $this->presentation_utilities->txt(
'md_publishing_success_withdraw'),
193 Action::SUBMIT => $this->presentation_utilities->txt(
'md_publishing_success_submit'),
194 Action::ACCEPT => $this->presentation_utilities->txt(
'md_publishing_success_accept'),
195 Action::REJECT => $this->presentation_utilities->txt(
'md_publishing_success_reject')
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Builds a Color from either hex- or rgb values.
getInfoContent(int $ref_id, int $obj_id, string $type, StateInfoInterface $state_info)
getActions(int $ref_id, int $obj_id, string $type, StateInfoInterface $state_info)
getSuccessMessage(Action $action)
getConfirmationContent(int $ref_id, int $obj_id, string $type, Action $action, bool $is_last_reference)
getStatusMessage(StateInfoInterface $state_info)
__construct(protected UIFactory $ui_factory, protected PresentationUtilities $presentation_utilities, protected LinkFactoryInterface $link_factory, protected RepositoryInterface $copyright_repository)
getStatusOverview(StateInfoInterface $state_info)