diff --git a/src/Navigation/NavigationTree.php b/src/Navigation/NavigationTree.php index df027058b6..c04561fae5 100644 --- a/src/Navigation/NavigationTree.php +++ b/src/Navigation/NavigationTree.php @@ -813,7 +813,7 @@ class NavigationTree $groups[$key]->pos3 = $node->pos3; if ($node instanceof NodeTableContainer || $node instanceof NodeViewContainer) { $groups[$key]->link = new Link( - $groups[$key]->title, + '', $node->link->route, array_merge($node->link->params, ['tbl_group' => $key]), ); @@ -1160,9 +1160,8 @@ class NavigationTree $paths = $node->getPaths(); - $title = $node->link->title; $options[] = [ - 'title' => $title, + 'title' => $node->link->title, 'name' => $node->realName, 'data' => ['apath' => $paths['aPath'], 'vpath' => $paths['vPath'], 'pos' => $this->pos], 'isSelected' => $node->realName === $selected, diff --git a/src/Navigation/Nodes/Node.php b/src/Navigation/Nodes/Node.php index 9933654750..6d93c7770d 100644 --- a/src/Navigation/Nodes/Node.php +++ b/src/Navigation/Nodes/Node.php @@ -76,8 +76,6 @@ class Node public Link $link; - /** @var string HTML title */ - public string $title = ''; /** @var string Extra CSS classes for the node */ public string $classes = ''; /** @var bool Whether this node is a link for creating new objects */ @@ -126,7 +124,6 @@ class Node string $classes, ): Node { $node = new Node($this->config, $name); - $node->title = $name; $node->isNew = true; $node->classes = $classes; diff --git a/src/Navigation/Nodes/NodeColumnContainer.php b/src/Navigation/Nodes/NodeColumnContainer.php index 1b1ff8acf9..b0b130e859 100644 --- a/src/Navigation/Nodes/NodeColumnContainer.php +++ b/src/Navigation/Nodes/NodeColumnContainer.php @@ -24,7 +24,7 @@ class NodeColumnContainer extends Node $this->icon = new Icon('pause', __('Columns'), '/table/structure', ['db' => null, 'table' => null]); $this->link = new Link( - $this->title, + '', '/table/structure', ['db' => null, 'table' => null], ); @@ -39,7 +39,7 @@ class NodeColumnContainer extends Node ['field_where' => 'last', 'after_field' => '', 'db' => null, 'table' => null], ); $new->link = new Link( - $new->title, + $newLabel, '/table/add-field', ['field_where' => 'last', 'after_field' => '', 'db' => null, 'table' => null], ); diff --git a/src/Navigation/Nodes/NodeDatabaseContainer.php b/src/Navigation/Nodes/NodeDatabaseContainer.php index ae3c6d08d5..b9fa313a9f 100644 --- a/src/Navigation/Nodes/NodeDatabaseContainer.php +++ b/src/Navigation/Nodes/NodeDatabaseContainer.php @@ -46,7 +46,7 @@ class NodeDatabaseContainer extends Node $newLabel = _pgettext('Create new database', 'New'); $new = $this->getInstanceForNewNode($newLabel, 'new_database italics'); $new->icon = new Icon('b_newdb', $newLabel, '/server/databases'); - $new->link = new Link($new->title, '/server/databases'); + $new->link = new Link($newLabel, '/server/databases'); $this->addChild($new); } } diff --git a/src/Navigation/Nodes/NodeEvent.php b/src/Navigation/Nodes/NodeEvent.php index 6c033eb4b2..dedcd56a4d 100644 --- a/src/Navigation/Nodes/NodeEvent.php +++ b/src/Navigation/Nodes/NodeEvent.php @@ -28,7 +28,7 @@ class NodeEvent extends NodeDatabaseChild ['edit_item' => 1, 'db' => null, 'item_name' => null], ); $this->link = new Link( - $this->title, + '', '/database/events', ['edit_item' => 1, 'db' => null, 'item_name' => null], ); diff --git a/src/Navigation/Nodes/NodeEventContainer.php b/src/Navigation/Nodes/NodeEventContainer.php index e88b79a381..6c34ca9486 100644 --- a/src/Navigation/Nodes/NodeEventContainer.php +++ b/src/Navigation/Nodes/NodeEventContainer.php @@ -23,7 +23,7 @@ class NodeEventContainer extends NodeDatabaseChildContainer $this->icon = new Icon('b_events', __('Events'), '/database/events', ['db' => null]); $this->link = new Link( - $this->title, + '', '/database/events', ['db' => null], ); @@ -33,7 +33,7 @@ class NodeEventContainer extends NodeDatabaseChildContainer $new = $this->getInstanceForNewNode($newLabel, 'new_event italics'); $new->icon = new Icon('b_event_add', $newLabel, '/database/events', ['add_item' => 1, 'db' => null]); $new->link = new Link( - $new->title, + $newLabel, '/database/events', ['add_item' => 1, 'db' => null], ); diff --git a/src/Navigation/Nodes/NodeFunction.php b/src/Navigation/Nodes/NodeFunction.php index 11b48a82ea..bf01088760 100644 --- a/src/Navigation/Nodes/NodeFunction.php +++ b/src/Navigation/Nodes/NodeFunction.php @@ -28,7 +28,7 @@ class NodeFunction extends NodeDatabaseChild ['item_type' => 'FUNCTION', 'execute_dialog' => 1, 'db' => null, 'item_name' => null], ); $this->link = new Link( - $this->title, + '', '/database/routines', ['item_type' => 'FUNCTION', 'edit_item' => 1, 'db' => null, 'item_name' => null], ); diff --git a/src/Navigation/Nodes/NodeFunctionContainer.php b/src/Navigation/Nodes/NodeFunctionContainer.php index 7fd40013c7..93d9634163 100644 --- a/src/Navigation/Nodes/NodeFunctionContainer.php +++ b/src/Navigation/Nodes/NodeFunctionContainer.php @@ -28,7 +28,7 @@ class NodeFunctionContainer extends NodeDatabaseChildContainer ['type' => 'FUNCTION', 'db' => null], ); $this->link = new Link( - $this->title, + '', '/database/routines', ['type' => 'FUNCTION', 'db' => null], ); @@ -43,7 +43,7 @@ class NodeFunctionContainer extends NodeDatabaseChildContainer ['item_type' => 'FUNCTION', 'add_item' => 1, 'db' => null], ); $new->link = new Link( - $new->title, + $newLabel, '/database/routines', ['item_type' => 'FUNCTION', 'add_item' => 1, 'db' => null], ); diff --git a/src/Navigation/Nodes/NodeIndex.php b/src/Navigation/Nodes/NodeIndex.php index d2f38f9feb..bcb41c0d62 100644 --- a/src/Navigation/Nodes/NodeIndex.php +++ b/src/Navigation/Nodes/NodeIndex.php @@ -28,7 +28,7 @@ class NodeIndex extends Node ['db' => null, 'table' => null, 'index' => null], ); $this->link = new Link( - $this->title, + '', '/table/indexes', ['db' => null, 'table' => null, 'index' => null], ); diff --git a/src/Navigation/Nodes/NodeIndexContainer.php b/src/Navigation/Nodes/NodeIndexContainer.php index f3eb33405f..68b115d4f7 100644 --- a/src/Navigation/Nodes/NodeIndexContainer.php +++ b/src/Navigation/Nodes/NodeIndexContainer.php @@ -24,7 +24,7 @@ class NodeIndexContainer extends Node $this->icon = new Icon('b_index', __('Indexes'), '/table/structure', ['db' => null, 'table' => null]); $this->link = new Link( - $this->title, + '', '/table/structure', ['db' => null, 'table' => null], ); @@ -39,7 +39,7 @@ class NodeIndexContainer extends Node ['create_index' => 1, 'added_fields' => 2, 'db' => null, 'table' => null], ); $new->link = new Link( - $new->title, + $newLabel, '/table/indexes', ['create_index' => 1, 'added_fields' => 2, 'db' => null, 'table' => null], ); diff --git a/src/Navigation/Nodes/NodeProcedure.php b/src/Navigation/Nodes/NodeProcedure.php index 524fb3a986..57cf03e306 100644 --- a/src/Navigation/Nodes/NodeProcedure.php +++ b/src/Navigation/Nodes/NodeProcedure.php @@ -28,7 +28,7 @@ class NodeProcedure extends NodeDatabaseChild ['item_type' => 'PROCEDURE', 'execute_dialog' => 1, 'db' => null, 'item_name' => null], ); $this->link = new Link( - $this->title, + '', '/database/routines', ['item_type' => 'PROCEDURE', 'edit_item' => 1, 'db' => null, 'item_name' => null], ); diff --git a/src/Navigation/Nodes/NodeProcedureContainer.php b/src/Navigation/Nodes/NodeProcedureContainer.php index 178911582f..57c1980a31 100644 --- a/src/Navigation/Nodes/NodeProcedureContainer.php +++ b/src/Navigation/Nodes/NodeProcedureContainer.php @@ -28,7 +28,7 @@ class NodeProcedureContainer extends NodeDatabaseChildContainer ['type' => 'PROCEDURE', 'db' => null], ); $this->link = new Link( - $this->title, + '', '/database/routines', ['type' => 'PROCEDURE', 'db' => null], ); @@ -43,7 +43,7 @@ class NodeProcedureContainer extends NodeDatabaseChildContainer ['add_item' => 1, 'db' => null], ); $new->link = new Link( - $new->title, + $newLabel, '/database/routines', ['add_item' => 1, 'db' => null], ); diff --git a/src/Navigation/Nodes/NodeTable.php b/src/Navigation/Nodes/NodeTable.php index 1a6a833e96..dc5458e61a 100644 --- a/src/Navigation/Nodes/NodeTable.php +++ b/src/Navigation/Nodes/NodeTable.php @@ -43,10 +43,9 @@ class NodeTable extends NodeDatabaseChild $this->config->settings['NavigationTreeDefaultTabTable2'], ['db' => null, 'table' => null], ); - $this->title = Util::getTitleForTarget($this->config->settings['DefaultTabTable']); $this->link = new Link( - $this->title, + Util::getTitleForTarget($this->config->settings['DefaultTabTable']), $this->config->settings['DefaultTabTable'], ['pos' => 0, 'db' => null, 'table' => null], ); diff --git a/src/Navigation/Nodes/NodeTableContainer.php b/src/Navigation/Nodes/NodeTableContainer.php index db2bdf7e4e..64f2c97795 100644 --- a/src/Navigation/Nodes/NodeTableContainer.php +++ b/src/Navigation/Nodes/NodeTableContainer.php @@ -23,7 +23,7 @@ class NodeTableContainer extends NodeDatabaseChildContainer $this->icon = new Icon('b_browse', __('Tables'), '/database/structure', ['tbl_type' => 'table', 'db' => null]); $this->link = new Link( - $this->title, + '', '/database/structure', ['tbl_type' => 'table', 'db' => null], ); @@ -34,7 +34,7 @@ class NodeTableContainer extends NodeDatabaseChildContainer $new = $this->getInstanceForNewNode($newLabel, 'new_table italics'); $new->icon = new Icon('b_table_add', $newLabel, '/table/create', ['db' => null]); $new->link = new Link( - $new->title, + $newLabel, '/table/create', ['db' => null], ); diff --git a/src/Navigation/Nodes/NodeTrigger.php b/src/Navigation/Nodes/NodeTrigger.php index 114df09087..037df74956 100644 --- a/src/Navigation/Nodes/NodeTrigger.php +++ b/src/Navigation/Nodes/NodeTrigger.php @@ -28,7 +28,7 @@ class NodeTrigger extends Node ['export_item' => 1, 'db' => null, 'item_name' => null], ); $this->link = new Link( - $this->title, + '', '/triggers', ['edit_item' => 1, 'db' => null, 'item_name' => null], ); diff --git a/src/Navigation/Nodes/NodeTriggerContainer.php b/src/Navigation/Nodes/NodeTriggerContainer.php index cdf3c7b74c..508de6b952 100644 --- a/src/Navigation/Nodes/NodeTriggerContainer.php +++ b/src/Navigation/Nodes/NodeTriggerContainer.php @@ -24,7 +24,7 @@ class NodeTriggerContainer extends Node $this->icon = new Icon('b_triggers', __('Triggers'), '/triggers', ['db' => null, 'table' => null]); $this->link = new Link( - $this->title, + '', '/triggers', ['db' => null, 'table' => null], ); @@ -34,7 +34,7 @@ class NodeTriggerContainer extends Node $new = $this->getInstanceForNewNode($newLabel, 'new_trigger italics'); $new->icon = new Icon('b_trigger_add', $newLabel, '/triggers', ['add_item' => 1, 'db' => null]); $new->link = new Link( - $new->title, + $newLabel, '/triggers', ['add_item' => 1, 'db' => null], ); diff --git a/src/Navigation/Nodes/NodeView.php b/src/Navigation/Nodes/NodeView.php index c42b62bf05..103e420298 100644 --- a/src/Navigation/Nodes/NodeView.php +++ b/src/Navigation/Nodes/NodeView.php @@ -23,7 +23,7 @@ class NodeView extends NodeDatabaseChild $this->icon = new Icon('b_props', __('View'), '/table/structure', ['db' => null, 'table' => null]); $this->link = new Link( - $this->title, + '', '/sql', ['pos' => 0, 'db' => null, 'table' => null], ); diff --git a/src/Navigation/Nodes/NodeViewContainer.php b/src/Navigation/Nodes/NodeViewContainer.php index 969b8e7c07..4738622201 100644 --- a/src/Navigation/Nodes/NodeViewContainer.php +++ b/src/Navigation/Nodes/NodeViewContainer.php @@ -23,7 +23,7 @@ class NodeViewContainer extends NodeDatabaseChildContainer $this->icon = new Icon('b_views', __('Views'), '/database/structure', ['tbl_type' => 'view', 'db' => null]); $this->link = new Link( - $this->title, + '', '/database/structure', ['tbl_type' => 'view', 'db' => null], ); @@ -34,7 +34,7 @@ class NodeViewContainer extends NodeDatabaseChildContainer $new = $this->getInstanceForNewNode($newLabel, 'new_view italics'); $new->icon = new Icon('b_view_add', $newLabel, '/view/create', ['db' => null]); $new->link = new Link( - $new->title, + $newLabel, '/view/create', ['db' => null], ); diff --git a/tests/unit/Navigation/Nodes/NodeColumnContainerTest.php b/tests/unit/Navigation/Nodes/NodeColumnContainerTest.php index ef85730978..f014e2c7ea 100644 --- a/tests/unit/Navigation/Nodes/NodeColumnContainerTest.php +++ b/tests/unit/Navigation/Nodes/NodeColumnContainerTest.php @@ -30,7 +30,7 @@ final class NodeColumnContainerTest extends AbstractTestCase self::assertArrayHasKey(0, $nodeColumnContainer->children); $newNode = $nodeColumnContainer->children[0]; self::assertSame('New', $newNode->name); - self::assertSame('New', $newNode->title); + self::assertSame('New', $newNode->link->title); self::assertTrue($newNode->isNew); self::assertSame('new_column italics', $newNode->classes); self::assertSame('b_column_add', $newNode->icon->image); diff --git a/tests/unit/Navigation/Nodes/NodeTest.php b/tests/unit/Navigation/Nodes/NodeTest.php index 0fbddcff0c..019900cfbe 100644 --- a/tests/unit/Navigation/Nodes/NodeTest.php +++ b/tests/unit/Navigation/Nodes/NodeTest.php @@ -531,7 +531,6 @@ final class NodeTest extends AbstractTestCase self::assertSame('New', $node->name); self::assertSame(NodeType::Object, $node->type); self::assertFalse($node->isGroup); - self::assertSame('New', $node->title); self::assertTrue($node->isNew); self::assertSame('new_database italics', $node->classes); }