mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-06-21 01:25:55 +02:00
Show icons in the root node in sidebar treeviews.
This commit is contained in:
parent
90da7d71b9
commit
18f41e14e6
4 changed files with 51 additions and 4 deletions
|
@ -66,7 +66,7 @@ export default class extends Controller {
|
||||||
levels: 1,
|
levels: 1,
|
||||||
showTags: this._showTags,
|
showTags: this._showTags,
|
||||||
data: data,
|
data: data,
|
||||||
showIcon: false,
|
showIcon: true,
|
||||||
onNodeSelected: (event) => {
|
onNodeSelected: (event) => {
|
||||||
const node = event.detail.node;
|
const node = event.detail.node;
|
||||||
if (node.href) {
|
if (node.href) {
|
||||||
|
|
|
@ -60,6 +60,8 @@ final class TreeViewNode implements JsonSerializable
|
||||||
|
|
||||||
private $id;
|
private $id;
|
||||||
|
|
||||||
|
private $icon;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new TreeView node with the given parameters.
|
* Creates a new TreeView node with the given parameters.
|
||||||
*
|
*
|
||||||
|
@ -233,6 +235,24 @@ final class TreeViewNode implements JsonSerializable
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
public function getIcon(): ?string
|
||||||
|
{
|
||||||
|
return $this->icon;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string|null $icon
|
||||||
|
*/
|
||||||
|
public function setIcon(?string $icon): void
|
||||||
|
{
|
||||||
|
$this->icon = $icon;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public function jsonSerialize(): array
|
public function jsonSerialize(): array
|
||||||
{
|
{
|
||||||
$ret = [
|
$ret = [
|
||||||
|
@ -259,6 +279,10 @@ final class TreeViewNode implements JsonSerializable
|
||||||
$ret['selectable'] = false;
|
$ret['selectable'] = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($this->icon != null) {
|
||||||
|
$ret['icon'] = $this->icon;
|
||||||
|
}
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -156,6 +156,8 @@ class TreeViewGenerator
|
||||||
if (($mode === 'list_parts_root' || $mode === 'devices') && $this->rootNodeEnabled) {
|
if (($mode === 'list_parts_root' || $mode === 'devices') && $this->rootNodeEnabled) {
|
||||||
$root_node = new TreeViewNode($this->entityClassToRootNodeString($class), null, $generic);
|
$root_node = new TreeViewNode($this->entityClassToRootNodeString($class), null, $generic);
|
||||||
$root_node->setExpanded($this->rootNodeExpandedByDefault);
|
$root_node->setExpanded($this->rootNodeExpandedByDefault);
|
||||||
|
$root_node->setIcon($this->entityClassToRootNodeIcon($class));
|
||||||
|
|
||||||
$generic = [$root_node];
|
$generic = [$root_node];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -182,6 +184,27 @@ class TreeViewGenerator
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function entityClassToRootNodeIcon(string $class): ?string
|
||||||
|
{
|
||||||
|
$icon = "fa-fw fa-treeview fa-solid ";
|
||||||
|
switch ($class) {
|
||||||
|
case Category::class:
|
||||||
|
return $icon . 'fa-tags';
|
||||||
|
case Storelocation::class:
|
||||||
|
return $icon . 'fa-cube';
|
||||||
|
case Footprint::class:
|
||||||
|
return $icon . 'fa-microchip';
|
||||||
|
case Manufacturer::class:
|
||||||
|
return $icon . 'fa-industry';
|
||||||
|
case Supplier::class:
|
||||||
|
return $icon . 'fa-truck';
|
||||||
|
case Device::class:
|
||||||
|
return $icon . 'fa-archive';
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* /**
|
* /**
|
||||||
* Gets a tree of TreeViewNode elements. The root elements has $parent as parent.
|
* Gets a tree of TreeViewNode elements. The root elements has $parent as parent.
|
||||||
|
|
|
@ -1345,9 +1345,9 @@
|
||||||
integrity sha512-Q8kGjqwPqER+CtpQudbH+3Zgs2X4zb6pBAlr6NsKTXadg45pAOvxI9i4QpuHbwSzR2+x87HUm+rot9F/Pe8rxA==
|
integrity sha512-Q8kGjqwPqER+CtpQudbH+3Zgs2X4zb6pBAlr6NsKTXadg45pAOvxI9i4QpuHbwSzR2+x87HUm+rot9F/Pe8rxA==
|
||||||
|
|
||||||
"@jbtronics/bs-treeview@^1.0.1":
|
"@jbtronics/bs-treeview@^1.0.1":
|
||||||
version "1.0.3"
|
version "1.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/@jbtronics/bs-treeview/-/bs-treeview-1.0.3.tgz#19a176fc84fbee5c7cc86c190ee351f480bdaf3d"
|
resolved "https://registry.yarnpkg.com/@jbtronics/bs-treeview/-/bs-treeview-1.0.4.tgz#aecd128c295ebd1af904d9a77f17dbf77a772b8f"
|
||||||
integrity sha512-9KU5bnrZr5saEfkTvUY5/sg1AS1tf5OvDiQmjHSnfygtVW77FI91jyuMOmn/7gGwPypPYI354wlMVvlgf9HroA==
|
integrity sha512-ofhMY+4w0xYHcMPyw53EzWABzrzX2ecm50hhD9Kbb6h1/XsmLzVvHLIG9FYJ3eaIR0nTYF9a5L7mS14Qr/JChQ==
|
||||||
|
|
||||||
"@jridgewell/gen-mapping@^0.1.0":
|
"@jridgewell/gen-mapping@^0.1.0":
|
||||||
version "0.1.1"
|
version "0.1.1"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue