1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
snippet.php
См. документацию.
1<?
2
3namespace Bitrix\Main\Grid\Panel;
4
5use Bitrix\Main\Grid\Panel\Snippet\Button;
6use Bitrix\Main\Grid\Panel\Snippet\Checkbox;
7use Bitrix\Main\Grid\Panel\Snippet\Onchange;
8use Bitrix\Main\Localization\Loc;
9
10Loc::loadMessages(__FILE__);
11
12
18{
19 protected $applyButton;
20 protected $saveButton;
21 protected $cancelButton;
22 protected $editButton;
23 protected $removeButton;
25 protected $forAllCheckbox;
26
27
32 public function getSaveEditButton()
33 {
34 if (!is_array($this->saveButton))
35 {
36 $onchange = new Onchange();
37 $onchange->addAction(array("ACTION" => Actions::SHOW_ALL, "DATA" => array()));
38 $onchange->addAction(array("ACTION" => Actions::CALLBACK, "DATA" => array(array("JS" => "Grid.editSelectedSave()"))));
39 $onchange->addAction(array("ACTION" => Actions::REMOVE, "DATA" => array(array("ID" => DefaultValue::SAVE_BUTTON_ID), array("ID" => DefaultValue::CANCEL_BUTTON_ID))));
40
41 $saveButton = new Button();
43 $saveButton->setText(Loc::getMessage("SAVE_BUTTON_TEXT"));
45 $saveButton->setOnchange($onchange);
46
47 $this->saveButton = $saveButton->toArray();
48 }
49
50 return $this->saveButton;
51 }
52
53
58 public function getCancelEditButton()
59 {
60 if (!is_array($this->cancelButton))
61 {
62 $onchange = new Onchange();
63 $onchange->addAction(array("ACTION" => Actions::SHOW_ALL, "DATA" => array()));
64 $onchange->addAction(array("ACTION" => Actions::CALLBACK, "DATA" => array(array("JS" => "Grid.editSelectedCancel()"))));
65 $onchange->addAction(array("ACTION" => Actions::REMOVE, "DATA" => array(array("ID" => DefaultValue::SAVE_BUTTON_ID), array("ID" => DefaultValue::CANCEL_BUTTON_ID))));
66
67 $cancelButton = new Button();
69 $cancelButton->setText(Loc::getMessage("CANCEL_BUTTON_TEXT"));
71 $cancelButton->setOnchange($onchange);
72
73 $this->cancelButton = $cancelButton->toArray();
74 }
75
76 return $this->cancelButton;
77 }
78
79
84 public function getEditButton()
85 {
86 if (!is_array($this->editButton))
87 {
88 $onchange = new Onchange();
89 $onchange->addAction(array("ACTION" => Actions::CREATE, "DATA" => array($this->getSaveEditButton(), $this->getCancelEditButton())));
90 $onchange->addAction(array("ACTION" => Actions::CALLBACK, "DATA" => array(array("JS" => "Grid.editSelected()"))));
91 $onchange->addAction(array("ACTION" => Actions::HIDE_ALL_EXPECT, "DATA" => array(array("ID" => DefaultValue::SAVE_BUTTON_ID), array("ID" => DefaultValue::CANCEL_BUTTON_ID))));
92
93 $editButton = new Button();
96 $editButton->setText(Loc::getMessage("EDIT_ACTION_NAME"));
97 $editButton->setOnchange($onchange);
98 $editButton->setTitle(Loc::getMessage("EDIT_BUTTON_TITLE"));
99
100 $this->editButton = $editButton->toArray();
101 }
102
103 return $this->editButton;
104 }
105
106
111 public function getEditAction()
112 {
113 return array(
114 "NAME" => GetMessage("EDIT_ACTION_NAME"),
115 "VALUE" => "edit",
116 "ONCHANGE" => array(
117 array("ACTION" => Actions::CREATE, "DATA" => array($this->getSaveEditButton(), $this->getCancelEditButton())),
118 array("ACTION" => Actions::CALLBACK, "DATA" => array(array("JS" => "Grid.editSelected()"))),
120 )
121 );
122 }
123
124
129 public function getRemoveButton()
130 {
131 if (!is_array($this->removeButton))
132 {
133 $onchange = new Onchange();
134 $onchange->addAction(
135 array(
136 "ACTION" => Actions::CALLBACK,
137 "CONFIRM" => true,
138 "CONFIRM_APPLY_BUTTON" => Loc::getMessage("CONFIRM_APPLY_REMOVE_BUTTON_TEXT"),
139 "DATA" => array(
140 array("JS" => "Grid.removeSelected()")
141 )
142 )
143 );
144
145 $removeButton = new Button();
148 $removeButton->setOnchange($onchange);
149 $removeButton->setText(Loc::getMessage("REMOVE_ACTION_NAME"));
150 $removeButton->setTitle(Loc::getMessage("REMOVE_BUTTON_TITLE"));
151
152 $this->removeButton = $removeButton->toArray();
153 }
154
155 return $this->removeButton;
156 }
157
158
163 public function getRemoveAction()
164 {
165 return array(
166 "NAME" => GetMessage("REMOVE_ACTION_NAME"),
167 "VALUE" => "remove",
168 "ONCHANGE" => array(
169 array(
170 "ACTION" => Actions::CALLBACK,
171 "CONFIRM" => true,
172 "CONFIRM_APPLY_BUTTON" => Loc::getMessage("CONFIRM_APPLY_REMOVE_BUTTON_TEXT"),
173 "DATA" => array(
174 array("JS" => "Grid.removeSelected()")
175 )
176 )
177 )
178 );
179 }
180
186 public function getApplyButton(array $params)
187 {
188 return array(
189 'TYPE' => Types::BUTTON,
190 'ID' => "apply_button",
191 'CLASS' => "ui-btn-primary",
192 'TEXT' => Loc::getMessage("APPLY_BUTTON_TEXT"),
193 'ONCHANGE' => isset($params['ONCHANGE']) && is_array($params['ONCHANGE']) ? $params['ONCHANGE'] : array()
194 );
195 }
196
202 public function getSendSelectedButton(?string $confirmMessage = null): array
203 {
204 $action = [
205 'ACTION' => Actions::CALLBACK,
206 'DATA' => [
207 [
208 'JS' => 'Grid.sendSelected()',
209 ]
210 ],
211 ];
212
213 if (!empty($confirmMessage))
214 {
215 $action['CONFIRM'] = true;
216 $action['CONFIRM_MESSAGE'] = $confirmMessage;
217 }
218
219 $onchange = new Onchange();
220 $onchange->addAction($action);
221
222 $button = new Button();
223 $button->setId('apply_button');
224 $button->setClass('ui-btn-primary');
225 $button->setOnchange($onchange);
226 $button->setText(Loc::getMessage("APPLY_BUTTON_TEXT"));
227
228 return $button->toArray();
229 }
230
235 public function getForAllCheckbox()
236 {
237 if (!is_array($this->forAllCheckbox))
238 {
239 $onchange = new Onchange();
240 $onchange->addAction(array("ACTION" => Actions::CALLBACK, "DATA" => array(array("JS" => "Grid.confirmForAll()"))));
241
242 $checkbox = new Checkbox();
243 $checkbox->setId(DefaultValue::FOR_ALL_CHECKBOX_ID);
244 $checkbox->setOnchange($onchange);
245 $checkbox->setName(DefaultValue::FOR_ALL_CHECKBOX_NAME);
246 $checkbox->setValue(DefaultValue::FOR_ALL_CHECKBOX_VALUE);
247 $checkbox->setClass(DefaultValue::FOR_ALL_CHECKBOX_CLASS);
248 $this->forAllCheckbox = $checkbox->toArray();
249 }
250
251 return $this->forAllCheckbox;
252 }
253
259 public function setButtonActions(array &$button, array $actions)
260 {
261 $handler = new Onchange($actions);
262 $button["ONCHANGE"] = $handler->toArray();
263 }
264}
const REMOVE
Определения actions.php:19
const HIDE_ALL_EXPECT
Определения actions.php:22
const SHOW_ALL
Определения actions.php:23
const CALLBACK
Определения actions.php:20
const CREATE
Определения actions.php:14
getCancelEditButton()
Определения snippet.php:58
getApplyButton(array $params)
Определения snippet.php:186
getSendSelectedButton(?string $confirmMessage=null)
Определения snippet.php:202
getForAllCheckbox()
Определения snippet.php:235
setButtonActions(array &$button, array $actions)
Определения snippet.php:259
$saveAndCancelButtons
Определения snippet.php:24
getSaveEditButton()
Определения snippet.php:32
const BUTTON
Определения types.php:16
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
GetMessage($name, $aReplace=null)
Определения tools.php:3397
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']
Определения template.php:799
$action
Определения file_dialog.php:21