django-spire 0.22.2__py3-none-any.whl → 0.22.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- django_spire/consts.py +1 -1
- django_spire/knowledge/collection/querysets.py +11 -14
- django_spire/knowledge/collection/services/service.py +3 -0
- django_spire/knowledge/collection/services/tool_services.py +37 -0
- django_spire/knowledge/collection/services/transformation_service.py +2 -2
- django_spire/knowledge/collection/views/form_views.py +2 -2
- django_spire/knowledge/static/django_spire/knowledge/css/editor.css +93 -0
- django_spire/knowledge/static/django_spire/knowledge/entry/version/js/editor.js +0 -1
- django_spire/knowledge/templates/django_spire/knowledge/collection/card/top_level_list_card.html +0 -1
- django_spire/knowledge/templates/django_spire/knowledge/collection/component/x_collection_navigation.html +0 -7
- django_spire/knowledge/templates/django_spire/knowledge/collection/form/form.html +0 -1
- django_spire/knowledge/templates/django_spire/knowledge/entry/version/container/editor_container.html +0 -4
- django_spire/knowledge/templates/django_spire/knowledge/entry/version/page/editor_page.html +4 -0
- {django_spire-0.22.2.dist-info → django_spire-0.22.4.dist-info}/METADATA +1 -1
- {django_spire-0.22.2.dist-info → django_spire-0.22.4.dist-info}/RECORD +18 -16
- {django_spire-0.22.2.dist-info → django_spire-0.22.4.dist-info}/WHEEL +0 -0
- {django_spire-0.22.2.dist-info → django_spire-0.22.4.dist-info}/licenses/LICENSE.md +0 -0
- {django_spire-0.22.2.dist-info → django_spire-0.22.4.dist-info}/top_level.txt +0 -0
django_spire/consts.py
CHANGED
|
@@ -24,24 +24,21 @@ class CollectionQuerySet(HistoryQuerySet, OrderingQuerySetMixin):
|
|
|
24
24
|
def by_parent_id(self, parent_id: int) -> QuerySet[Collection]:
|
|
25
25
|
return self.filter(parent_id=parent_id)
|
|
26
26
|
|
|
27
|
+
def by_parent_ids(self, parent_ids: list[int]) -> QuerySet[Collection]:
|
|
28
|
+
return self.filter(parent_id__in=parent_ids)
|
|
29
|
+
|
|
27
30
|
def childless(self) -> QuerySet[Collection]:
|
|
28
31
|
return self.annotate(child_count=Count('child')).filter(child_count=0)
|
|
29
32
|
|
|
30
|
-
def
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
while current_level_ids:
|
|
35
|
-
children = self.filter(parent_id__in=current_level_ids)
|
|
36
|
-
child_ids = list(children.values_list('id', flat=True))
|
|
37
|
-
|
|
38
|
-
if not child_ids:
|
|
39
|
-
break
|
|
40
|
-
|
|
41
|
-
descendant_ids.update(child_ids)
|
|
42
|
-
current_level_ids = child_ids
|
|
33
|
+
def children(self, collection_id: int) -> QuerySet[Collection]:
|
|
34
|
+
return self.filter(
|
|
35
|
+
id__in=self.model.services.tool.get_children_ids(parent_id=collection_id)
|
|
36
|
+
)
|
|
43
37
|
|
|
44
|
-
|
|
38
|
+
def exclude_children(self, collection_id: int) -> QuerySet[Collection]:
|
|
39
|
+
return self.exclude(
|
|
40
|
+
id__in=self.model.services.tool.get_children_ids(parent_id=collection_id)
|
|
41
|
+
)
|
|
45
42
|
|
|
46
43
|
def parentless(self) -> QuerySet[Collection]:
|
|
47
44
|
return self.filter(parent_id__isnull=True)
|
|
@@ -11,6 +11,8 @@ from django_spire.knowledge.collection.services.ordering_service import \
|
|
|
11
11
|
from django_spire.knowledge.collection.services.processor_service import \
|
|
12
12
|
CollectionProcessorService
|
|
13
13
|
from django_spire.knowledge.collection.services.tag_service import CollectionTagService
|
|
14
|
+
from django_spire.knowledge.collection.services.tool_services import \
|
|
15
|
+
CollectionToolService
|
|
14
16
|
from django_spire.knowledge.collection.services.transformation_service import \
|
|
15
17
|
CollectionTransformationService
|
|
16
18
|
|
|
@@ -24,6 +26,7 @@ class CollectionService(BaseDjangoModelService['Collection']):
|
|
|
24
26
|
ordering = CollectionOrderingService()
|
|
25
27
|
processor = CollectionProcessorService()
|
|
26
28
|
tag = CollectionTagService()
|
|
29
|
+
tool = CollectionToolService()
|
|
27
30
|
transformation = CollectionTransformationService()
|
|
28
31
|
|
|
29
32
|
def save_model_obj(self, **field_data) -> tuple[Collection, bool]:
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from django_spire.contrib.service import BaseDjangoModelService
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
if TYPE_CHECKING:
|
|
8
|
+
from django_spire.knowledge.collection.models import Collection
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class CollectionToolService(BaseDjangoModelService['Collection']):
|
|
12
|
+
obj: Collection
|
|
13
|
+
|
|
14
|
+
def get_children_ids(self, parent_id: int) -> set[int]:
|
|
15
|
+
descendant_ids = set()
|
|
16
|
+
current_level_ids = [parent_id]
|
|
17
|
+
|
|
18
|
+
while current_level_ids:
|
|
19
|
+
child_ids = self.obj_class.objects.by_parent_ids(
|
|
20
|
+
parent_ids=current_level_ids
|
|
21
|
+
).values_list('id', flat=True)
|
|
22
|
+
|
|
23
|
+
if not child_ids:
|
|
24
|
+
break
|
|
25
|
+
|
|
26
|
+
descendant_ids.update(child_ids)
|
|
27
|
+
current_level_ids = child_ids
|
|
28
|
+
|
|
29
|
+
return descendant_ids
|
|
30
|
+
|
|
31
|
+
def get_root_collection_pk(self) -> int:
|
|
32
|
+
collection = self.obj
|
|
33
|
+
|
|
34
|
+
while collection.parent_id:
|
|
35
|
+
collection = collection.parent
|
|
36
|
+
|
|
37
|
+
return collection.id
|
|
@@ -19,11 +19,11 @@ if TYPE_CHECKING:
|
|
|
19
19
|
class CollectionTransformationService(BaseDjangoModelService['Collection']):
|
|
20
20
|
obj: Collection
|
|
21
21
|
|
|
22
|
-
def to_hierarchy_json(self, request: WSGIRequest, parent_id: int
|
|
22
|
+
def to_hierarchy_json(self, request: WSGIRequest, parent_id: int) -> str:
|
|
23
23
|
collections = (
|
|
24
24
|
self.obj_class.objects
|
|
25
25
|
.active()
|
|
26
|
-
.
|
|
26
|
+
.children(collection_id=parent_id)
|
|
27
27
|
.request_user_has_access(request)
|
|
28
28
|
.select_related('parent')
|
|
29
29
|
)
|
|
@@ -38,7 +38,7 @@ def form_view(
|
|
|
38
38
|
.active()
|
|
39
39
|
.request_user_has_access(request)
|
|
40
40
|
.exclude(pk=collection.pk)
|
|
41
|
-
.exclude_children(
|
|
41
|
+
.exclude_children(collection_id=pk)
|
|
42
42
|
),
|
|
43
43
|
fields=['name']
|
|
44
44
|
)
|
|
@@ -66,7 +66,7 @@ def form_view(
|
|
|
66
66
|
if collection.parent_id:
|
|
67
67
|
return_url = reverse(
|
|
68
68
|
'django_spire:knowledge:collection:page:top_level',
|
|
69
|
-
kwargs={'pk': collection.
|
|
69
|
+
kwargs={'pk': collection.services.tool.get_root_collection_pk()}
|
|
70
70
|
)
|
|
71
71
|
else:
|
|
72
72
|
return_url = reverse('django_spire:knowledge:page:home')
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
.ce-popover__container {
|
|
2
|
+
background-color: var(--app-layer-one);
|
|
3
|
+
border: 1px solid var(--bs-border-color) !important;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.ce-toolbar__plus,
|
|
7
|
+
.ce-toolbar__settings-btn,
|
|
8
|
+
.ce-popover-item__title,
|
|
9
|
+
.ce-popover-item__icon,
|
|
10
|
+
.cdx-search-field__input {
|
|
11
|
+
color: var(--app-default-text-color);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.cdx-search-field.ce-popover__search {
|
|
15
|
+
background-color: var(--app-layer-two);
|
|
16
|
+
border-color: var(--bs-border-color);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.ce-popover-item--active {
|
|
20
|
+
background-color: var(--app-bg-accent-soft) !important;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.ce-popover-item--active .ce-popover-item__title,
|
|
24
|
+
.ce-popover-item--active .ce-popover-item__icon {
|
|
25
|
+
color: var(--app-accent-dark) !important;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.cdx-block,
|
|
29
|
+
.ce-block {
|
|
30
|
+
color: var(--app-default-text-color);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.ce-inline-toolbar,
|
|
34
|
+
.ce-conversion-tool__icon,
|
|
35
|
+
.ce-popover-item__icon {
|
|
36
|
+
color: var(--app-default-text-color);
|
|
37
|
+
background-color: inherit;
|
|
38
|
+
border-color: var(--bs-border-color);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.ce-popover,
|
|
42
|
+
.ce-conversion-toolbar,
|
|
43
|
+
.ce-inline-toolbar {
|
|
44
|
+
background-color: var(--app-layer-one);
|
|
45
|
+
border-color: var(--bs-border-color);
|
|
46
|
+
box-shadow: 0 3px 15px -3px var(--bs-border-color);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.ce-inline-tool:hover,
|
|
50
|
+
.ce-inline-toolbar__dropdown:hover,
|
|
51
|
+
.ce-toolbar__plus:hover,
|
|
52
|
+
.ce-toolbar__settings-btn:hover,
|
|
53
|
+
.ce-conversion-tool:hover,
|
|
54
|
+
.ce-popover-item:hover {
|
|
55
|
+
background-color: var(--app-layer-three) !important;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
*::selection,
|
|
59
|
+
.ce-block.ce-block--selected .ce-block__content {
|
|
60
|
+
background-color: var(--app-bg-accent-soft) !important;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.ce-popover__items {
|
|
64
|
+
scrollbar-color: var(--bs-border-color) var(--app-layer-one);
|
|
65
|
+
|
|
66
|
+
/* Safari and Chrome */
|
|
67
|
+
&::-webkit-scrollbar {
|
|
68
|
+
width: 8px;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
&::-webkit-scrollbar-track {
|
|
72
|
+
background: var(--app-layer-one);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
&::-webkit-scrollbar-thumb {
|
|
76
|
+
background-color: var(--bs-border-color);
|
|
77
|
+
border-radius: 4px;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.ce-popover-item-separator__line {
|
|
83
|
+
background: var(--bs-border-color) !important;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
@media (max-width: 650px) {
|
|
87
|
+
.ce-toolbar__settings-btn,
|
|
88
|
+
.ce-toolbar__plus {
|
|
89
|
+
background-color: var(--app-layer-one);
|
|
90
|
+
border-color: var(--bs-border-color);
|
|
91
|
+
box-shadow: 0 3px 15px -3px var(--bs-border-color);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -75,7 +75,6 @@ function create_editorjs_instance({holder_id, update_url, initial_editor_blocks}
|
|
|
75
75
|
if (block_id) {
|
|
76
76
|
setTimeout(() => {
|
|
77
77
|
const element = document.querySelector(`[data-id="${block_id}"]`)
|
|
78
|
-
console.log('element', element)
|
|
79
78
|
if (element) {
|
|
80
79
|
element.scrollIntoView({behavior: 'smooth', block: 'center'})
|
|
81
80
|
element.style.transition = 'background-color 1s ease'
|
|
@@ -16,13 +16,6 @@
|
|
|
16
16
|
:class="{'ms-4': collection.parent.id !== -1}"
|
|
17
17
|
class="mb-1 collection"
|
|
18
18
|
>
|
|
19
|
-
<div x-data="{
|
|
20
|
-
init() {
|
|
21
|
-
console.log(collection)
|
|
22
|
-
}
|
|
23
|
-
}">
|
|
24
|
-
|
|
25
|
-
</div>
|
|
26
19
|
{% include 'django_spire/knowledge/sub_navigation/item/collection_sub_navigation_item.html' %}
|
|
27
20
|
|
|
28
21
|
<div x-show="is_expanded(collection.id)" class="my-1">
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
await this.collection.get()
|
|
12
12
|
this.collection.glue_fields.parent.choices = await this.collection_query_set.to_choices()
|
|
13
13
|
this.collection.glue_fields.parent.label = 'Parent Collection'
|
|
14
|
-
console.log(this.collection.parent)
|
|
15
14
|
|
|
16
15
|
if (!this.collection.parent) {
|
|
17
16
|
this.collection.parent = {{ collection_parent_pk|default:'null' }}
|
|
@@ -64,15 +64,11 @@
|
|
|
64
64
|
x-data="{
|
|
65
65
|
editor_element_id: 'knowledge-entry-version-editor',
|
|
66
66
|
init() {
|
|
67
|
-
console.log('Editor blocks:', {{ version_blocks }})
|
|
68
67
|
KNOWLEDGE_ENTRY_VERSION_EDITOR = create_editorjs_instance({
|
|
69
68
|
holder_id: this.editor_element_id,
|
|
70
69
|
initial_editor_blocks: {{ version_blocks }},
|
|
71
70
|
update_url: '{% url "django_spire:knowledge:entry:version:json:update_blocks" pk=entry.id %}'
|
|
72
71
|
})
|
|
73
|
-
console.log('Editor initialized:', KNOWLEDGE_ENTRY_VERSION_EDITOR)
|
|
74
|
-
console.log(KNOWLEDGE_ENTRY_VERSION_EDITOR)
|
|
75
|
-
|
|
76
72
|
}
|
|
77
73
|
|
|
78
74
|
}"
|
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
{% load static %}
|
|
4
4
|
{% load spire_core_tags %}
|
|
5
5
|
|
|
6
|
+
{% block base_head_additional_css %}
|
|
7
|
+
<link href="{% static 'django_spire/knowledge/css/editor.css' %}?v={{ DJANGO_SPIRE_VERSION }}" rel="stylesheet">
|
|
8
|
+
{% endblock %}
|
|
9
|
+
|
|
6
10
|
{% block base_body_additional_top_js %}
|
|
7
11
|
{{ block.super }}
|
|
8
12
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-spire
|
|
3
|
-
Version: 0.22.
|
|
3
|
+
Version: 0.22.4
|
|
4
4
|
Summary: A project for Django Spire
|
|
5
5
|
Author-email: Brayden Carlson <braydenc@stratusadv.com>, Nathan Johnson <nathanj@stratusadv.com>
|
|
6
6
|
License: Copyright (c) 2024 Stratus Advanced Technologies and Contributors.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
django_spire/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
django_spire/conf.py,sha256=c5Hs-7lk9T15254tOasiQ2ZTFLQIVJof9_QJDfm1PAI,933
|
|
3
|
-
django_spire/consts.py,sha256=
|
|
3
|
+
django_spire/consts.py,sha256=EAUGXdT7Q7gQlKrDajxHIirS4sdyHaD3WfcplzxrLRk,171
|
|
4
4
|
django_spire/exceptions.py,sha256=L5ndRO5ftMmh0pHkO2z_NG3LSGZviJ-dDHNT73SzTNw,48
|
|
5
5
|
django_spire/settings.py,sha256=B4GPqBGt_dmkt0Ay0j-IP-SZ6mY44m2Ap5kVSON5YLA,1005
|
|
6
6
|
django_spire/urls.py,sha256=mKeZszb5U4iIGqddMb5Tt5fRC72U2wABEOi6mvOfEBU,656
|
|
@@ -833,7 +833,7 @@ django_spire/knowledge/collection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
|
|
|
833
833
|
django_spire/knowledge/collection/admin.py,sha256=9OKEgiSDiSHX6ZwB11l6mCx-jdF4VKfOe-SwFBdjKK4,1370
|
|
834
834
|
django_spire/knowledge/collection/forms.py,sha256=7JovVxNzE67hSydDa-1JGK4U4zPyzOj605QyEl0JkP8,238
|
|
835
835
|
django_spire/knowledge/collection/models.py,sha256=69ol2B-ytH6mJ48afFywPhENQNnM37gAsX-Grjim-g4,2387
|
|
836
|
-
django_spire/knowledge/collection/querysets.py,sha256=
|
|
836
|
+
django_spire/knowledge/collection/querysets.py,sha256=JzrCudpAzO45cVt-sqdXva8LMJB5wiwSL1zS2eki47E,2485
|
|
837
837
|
django_spire/knowledge/collection/seeding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
838
838
|
django_spire/knowledge/collection/seeding/seed.py,sha256=i4VEvScJvZ1SUV9ukKZp0qdh_owyLyVSHGgl8vIzhwQ,303
|
|
839
839
|
django_spire/knowledge/collection/seeding/seeder.py,sha256=Zgrl-S0iAwK6LU2pMmRIdr87kAvrPtQ7GLJlONUSBlM,1523
|
|
@@ -841,9 +841,10 @@ django_spire/knowledge/collection/services/__init__.py,sha256=47DEQpj8HBSa-_TImW
|
|
|
841
841
|
django_spire/knowledge/collection/services/factory_service.py,sha256=92DLZODSRPF-iA9r3Jgys2GzbC39KssGEk9eOJ5wZjs,1298
|
|
842
842
|
django_spire/knowledge/collection/services/ordering_service.py,sha256=vTkSdt1lVT4VxSK3GhZibj8FPDDy5butwPkVzqmm07g,1243
|
|
843
843
|
django_spire/knowledge/collection/services/processor_service.py,sha256=3ArKBndoL3HEvH_1EBqfiw7AnbFYZ0WmBgcPV8BHdLQ,911
|
|
844
|
-
django_spire/knowledge/collection/services/service.py,sha256=
|
|
844
|
+
django_spire/knowledge/collection/services/service.py,sha256=g2agKPcnoccjjAw0P5Sj9CVYOA6qU4vNZwn0g4hFvE4,1962
|
|
845
845
|
django_spire/knowledge/collection/services/tag_service.py,sha256=o1HnL0-du0XCGIl_8nMGMgW9AzEQE-AWbGOoBN_cQb0,1774
|
|
846
|
-
django_spire/knowledge/collection/services/
|
|
846
|
+
django_spire/knowledge/collection/services/tool_services.py,sha256=tnOL23zJ_x7vKBH4PtR7a0AzYnmfLxHcEpYHIWzu9Kc,984
|
|
847
|
+
django_spire/knowledge/collection/services/transformation_service.py,sha256=KDCLBSdT9sszjtwtDO2yWdT-iwGpxmCwhIRN6MvEvTU,3450
|
|
847
848
|
django_spire/knowledge/collection/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
848
849
|
django_spire/knowledge/collection/tests/factories.py,sha256=NUu4OliEZIQL9c05RPIPdzYP3Dtn1szLZxP4Wl-kX2w,429
|
|
849
850
|
django_spire/knowledge/collection/tests/test_services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -857,7 +858,7 @@ django_spire/knowledge/collection/urls/form_urls.py,sha256=yHU3sbaA3w-m9rVvon6nX
|
|
|
857
858
|
django_spire/knowledge/collection/urls/json_urls.py,sha256=XZp5wt8m9x38Uuy1dhegqZ4qlJLZK2EgJsLltx97o0Q,195
|
|
858
859
|
django_spire/knowledge/collection/urls/page_urls.py,sha256=M8zZJJzVmMx7QUc3uGIrjyb8-Kz00fz7u0mHYqFZf3M,280
|
|
859
860
|
django_spire/knowledge/collection/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
860
|
-
django_spire/knowledge/collection/views/form_views.py,sha256=
|
|
861
|
+
django_spire/knowledge/collection/views/form_views.py,sha256=jh9pV6SBF7gqflvFooKVU4EFS34eTqRK-Nt22iqAlRg,3038
|
|
861
862
|
django_spire/knowledge/collection/views/json_views.py,sha256=uzSD83O7p-L5Oh8jo_Ejh-4lbo5zXjLkZGe0cn6SXSw,1030
|
|
862
863
|
django_spire/knowledge/collection/views/page_views.py,sha256=jiKsIqi9pvSY5KbLLGDdTHSPHXmnd-7oyYXckF2ONh4,2045
|
|
863
864
|
django_spire/knowledge/entry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -973,16 +974,17 @@ django_spire/knowledge/seeding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
|
|
|
973
974
|
django_spire/knowledge/seeding/seed.py,sha256=LRhVfPHiFluSLLtjSY44YM9Oo1Hvfs_U-ksRvKk7pOg,97
|
|
974
975
|
django_spire/knowledge/static/django_spire/knowledge/collection/js/managers.js,sha256=1b0pRPYJvYjKKZB2wshdoseAUR3_Al-2qxFUWE5q-oo,4319
|
|
975
976
|
django_spire/knowledge/static/django_spire/knowledge/collection/js/x_component.js,sha256=avczuHac3i58k06wA-LPpgupedCYbuDVTjTYVjEho18,898
|
|
977
|
+
django_spire/knowledge/static/django_spire/knowledge/css/editor.css,sha256=9iDzPcMvf462CjfnOkdAFHBfRFt2io8HAyIQfwoSlug,2189
|
|
976
978
|
django_spire/knowledge/static/django_spire/knowledge/css/navigation_items.css,sha256=jhjW4fiQI13PUAkSupLrLn-Fu9nzAVqMezK8EkJnGZ8,178
|
|
977
|
-
django_spire/knowledge/static/django_spire/knowledge/entry/version/js/editor.js,sha256=
|
|
979
|
+
django_spire/knowledge/static/django_spire/knowledge/entry/version/js/editor.js,sha256=zDK9PNO7XR0j95I17uBmfguSF8LzYijx3irM2my3IqA,3798
|
|
978
980
|
django_spire/knowledge/static/django_spire/knowledge/entry/version/js/managers.js,sha256=q-HiSnOnMMomxU0EAWSbQO55HMVvb8wPxA0KCP3VyP4,2772
|
|
979
981
|
django_spire/knowledge/static/django_spire/knowledge/entry/version/js/null_paragraph.js,sha256=Bc0oslLdlLcncbcUklhU1RF4PGiByC-mH-ENq1S1Niw,211
|
|
980
982
|
django_spire/knowledge/templates/django_spire/knowledge/collection/card/form_card.html,sha256=Fm1PFgMJO0B1ji86pjeL_KbGkKq-ho7n6v9gtCODlzU,154
|
|
981
|
-
django_spire/knowledge/templates/django_spire/knowledge/collection/card/top_level_list_card.html,sha256=
|
|
982
|
-
django_spire/knowledge/templates/django_spire/knowledge/collection/component/x_collection_navigation.html,sha256=
|
|
983
|
+
django_spire/knowledge/templates/django_spire/knowledge/collection/card/top_level_list_card.html,sha256=RFcSfk37OpuyRTdb3UjQc6ntyE5Rt3_2BgLEoD1mI3Y,695
|
|
984
|
+
django_spire/knowledge/templates/django_spire/knowledge/collection/component/x_collection_navigation.html,sha256=3lHzZ1pD-SWVGnzquczsVaAswli8FM7PSQNiLmg0Pn4,2415
|
|
983
985
|
django_spire/knowledge/templates/django_spire/knowledge/collection/container/detail_container.html,sha256=0T1L7mRyAH-I04_8rmyL6ZbsT1TWcIGzZ-NnGPllRco,321
|
|
984
986
|
django_spire/knowledge/templates/django_spire/knowledge/collection/element/ellipsis_dropdown.html,sha256=o9cceexfwUSDtac4uhlUm4LimnBQrgTP6QPkpJF6DD0,1376
|
|
985
|
-
django_spire/knowledge/templates/django_spire/knowledge/collection/form/form.html,sha256=
|
|
987
|
+
django_spire/knowledge/templates/django_spire/knowledge/collection/form/form.html,sha256=o015wNWZCsdqafvdjzsdOS3xUo2UtkyHaXn9-2N2s4s,1854
|
|
986
988
|
django_spire/knowledge/templates/django_spire/knowledge/collection/item/collection_item.html,sha256=gaOqh1wxf5IcWdxWWiYyz6HWjoPyn6FohaTMIssJ67k,517
|
|
987
989
|
django_spire/knowledge/templates/django_spire/knowledge/collection/page/display_page.html,sha256=AzYod7og_yU_lfxWIRFC2R_ga_jwH_Cr4VE07sRlGT8,2400
|
|
988
990
|
django_spire/knowledge/templates/django_spire/knowledge/collection/page/form_page.html,sha256=eD190iYnmx-6u8Y0EAExDdilPtxTlS_ic6-WBfTtj2s,274
|
|
@@ -1000,8 +1002,8 @@ django_spire/knowledge/templates/django_spire/knowledge/entry/item/list_item.htm
|
|
|
1000
1002
|
django_spire/knowledge/templates/django_spire/knowledge/entry/modal/publish_confirm_modal.html,sha256=7SsTjvk_iOdBgnYy83pMBPIdbuvJadd4h5XI5mPos5o,724
|
|
1001
1003
|
django_spire/knowledge/templates/django_spire/knowledge/entry/page/form_page.html,sha256=EBfDjDBvo7IR6f5joTtZjzK5LtZb4rt0U1FO1HQNt88,291
|
|
1002
1004
|
django_spire/knowledge/templates/django_spire/knowledge/entry/page/import_form_page.html,sha256=TK8Bc7mUZwsmV1Xm9FPyWz7Hws68Ijy4c55orvNoOC4,308
|
|
1003
|
-
django_spire/knowledge/templates/django_spire/knowledge/entry/version/container/editor_container.html,sha256
|
|
1004
|
-
django_spire/knowledge/templates/django_spire/knowledge/entry/version/page/editor_page.html,sha256=
|
|
1005
|
+
django_spire/knowledge/templates/django_spire/knowledge/entry/version/container/editor_container.html,sha256=-fPVVnCdDUMA0AoKjQ3bA7gRrbnggPRlRlPqYvgIoKA,3153
|
|
1006
|
+
django_spire/knowledge/templates/django_spire/knowledge/entry/version/page/editor_page.html,sha256=uAIz2OP9AXah7xbZv_ukjGuKwPH330CqTBmnWGNXBMs,3262
|
|
1005
1007
|
django_spire/knowledge/templates/django_spire/knowledge/message/knowledge_message_intel.html,sha256=kOSsRJHkh8hFYp1k1Y0wc-wh75VVjdXldEKErkfANGY,855
|
|
1006
1008
|
django_spire/knowledge/templates/django_spire/knowledge/page/full_page.html,sha256=vz3WQ6SAL43QALRf0haaLfNkUfIQQemR0FAZQ2tznV4,1331
|
|
1007
1009
|
django_spire/knowledge/templates/django_spire/knowledge/page/home_page.html,sha256=LMGSoPuP4N0NMX9QB1r5qJaExDvt6IKlJNp69Dt2EeQ,293
|
|
@@ -1161,8 +1163,8 @@ django_spire/theme/urls/page_urls.py,sha256=S8nkKkgbhG3XHI3uMUL-piOjXIrRkuY2UlM_
|
|
|
1161
1163
|
django_spire/theme/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1162
1164
|
django_spire/theme/views/json_views.py,sha256=W1khC2K_EMbEzAFmMxC_P76_MFnkRH4-eVdodrRfAhw,1904
|
|
1163
1165
|
django_spire/theme/views/page_views.py,sha256=pHr8iekjtR99xs7w1taj35HEo133Svq1dvDD0y0VL1c,3933
|
|
1164
|
-
django_spire-0.22.
|
|
1165
|
-
django_spire-0.22.
|
|
1166
|
-
django_spire-0.22.
|
|
1167
|
-
django_spire-0.22.
|
|
1168
|
-
django_spire-0.22.
|
|
1166
|
+
django_spire-0.22.4.dist-info/licenses/LICENSE.md,sha256=tlTbOtgKoy-xAQpUk9gPeh9O4oRXCOzoWdW3jJz0wnA,1091
|
|
1167
|
+
django_spire-0.22.4.dist-info/METADATA,sha256=oPznU0Kjxk-EDLKt3e1TUWnN-HoCr3w4hb3MiVN875s,4967
|
|
1168
|
+
django_spire-0.22.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
1169
|
+
django_spire-0.22.4.dist-info/top_level.txt,sha256=xf3QV1e--ONkVpgMDQE9iqjQ1Vg4--_6C8wmO-KxPHQ,13
|
|
1170
|
+
django_spire-0.22.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|