Skip to content

Commit 16c22fb

Browse files
committed
Make own menuItem unselectable when editing
1 parent 6bdd18e commit 16c22fb

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

wcfsetup/install/files/lib/acp/form/MenuItemAddForm.class.php

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use wcf\data\IStorableObject;
66
use wcf\data\menu\item\MenuItem;
77
use wcf\data\menu\item\MenuItemAction;
8+
use wcf\data\menu\item\MenuItemNode;
89
use wcf\data\menu\item\MenuItemNodeTree;
910
use wcf\data\menu\Menu;
1011
use wcf\data\page\Page;
@@ -108,7 +109,20 @@ protected function createForm()
108109
->appendChildren([
109110
SelectFormField::create('parentItemID')
110111
->label('wcf.acp.menu.item.parentItem')
111-
->options($this->menuItemNodeList, true),
112+
->options(function () {
113+
$result = [];
114+
foreach ($this->menuItemNodeList as $menuItem) {
115+
\assert($menuItem instanceof MenuItemNode);
116+
117+
$result[] = [
118+
'depth' => $menuItem->getDepth(),
119+
'isSelectable' => $menuItem->itemID !== $this->formObject?->itemID,
120+
'label' => $menuItem->getTitle(),
121+
'value' => $menuItem->getObjectID(),
122+
];
123+
}
124+
return $result;
125+
}, true),
112126
TitleFormField::create()
113127
->i18n()
114128
->required()

0 commit comments

Comments
 (0)