2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-19 13:35:40 +00:00

Revert to bootstrap-treeview

- More "bootstrappy" design
- Already in code base
- Cleaner API
This commit is contained in:
Oliver
2021-12-11 00:08:17 +11:00
parent 3bc3ff493a
commit e9ae3eb01d
20 changed files with 116 additions and 11008 deletions

View File

@ -240,12 +240,21 @@ class CategoryParameterList(generics.ListAPIView):
class CategoryTree(generics.ListAPIView):
""" API endpoint for accessing a list of PartCategory objects ready for rendering a jstree.
"""
API endpoint for accessing a list of PartCategory objects ready for rendering a tree.
"""
queryset = PartCategory.objects.all()
serializer_class = part_serializers.CategoryTree
filter_backends = [
DjangoFilterBackend,
filters.OrderingFilter,
]
# Order by tree level (top levels first) and then name
ordering = ['level', 'name']
class PartSalePriceList(generics.ListCreateAPIView):
"""

View File

@ -71,29 +71,16 @@ class CategorySerializer(InvenTreeModelSerializer):
class CategoryTree(InvenTreeModelSerializer):
""" Serializer for PartCategory """
id = serializers.IntegerField(source='pk', read_only=True)
text = serializers.CharField(source='name', read_only=True)
parent = serializers.SerializerMethodField()
def get_parent(self, obj):
return obj.parent.pk if obj.parent else '#'
a_attr = serializers.SerializerMethodField()
def get_a_attr(self, obj):
return {'href': obj.get_absolute_url()}
"""
Serializer for PartCategory tree
"""
class Meta:
model = PartCategory
fields = [
'id',
'text',
'pk',
'name',
'parent',
'a_attr',
]

View File

@ -247,7 +247,19 @@
enableSidebar('category');
// Enable breadcrumb tree view
enableBreadcrumbTree('category');
enableBreadcrumbTree({
label: 'category',
url: '{% url "api-part-category-tree" %}',
{% if category %}
selected: {{ category.pk }},
{% endif %}
processNode: function(node) {
node.text = node.name;
node.href = `/part/category/${node.pk}/`;
return node;
}
});
loadPartCategoryTable(
$('#subcategory-table'), {

View File

@ -1066,6 +1066,18 @@
enableSidebar('part');
enableBreadcrumbTree('part');
enableBreadcrumbTree({
label: 'part',
url: '{% url "api-part-category-tree" %}',
{% if part.category %}
selected: {{ part.category.pk }},
{% endif %}
processNode: function(node) {
node.text = node.name;
node.href = `/part/category/${node.pk}/`;
return node;
}
});
{% endblock %}

View File

@ -20,4 +20,4 @@
{% else %}
{% include 'part/cat_link.html' with category=category %}
{% endif %}
{% endblock %}
{% endblock breadcrumbs %}