fastapi-voyager 0.11.3__py3-none-any.whl → 0.11.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.
- fastapi_voyager/version.py +1 -1
- fastapi_voyager/web/component/schema-code-display.js +39 -13
- {fastapi_voyager-0.11.3.dist-info → fastapi_voyager-0.11.4.dist-info}/METADATA +3 -2
- {fastapi_voyager-0.11.3.dist-info → fastapi_voyager-0.11.4.dist-info}/RECORD +7 -7
- {fastapi_voyager-0.11.3.dist-info → fastapi_voyager-0.11.4.dist-info}/WHEEL +0 -0
- {fastapi_voyager-0.11.3.dist-info → fastapi_voyager-0.11.4.dist-info}/entry_points.txt +0 -0
- {fastapi_voyager-0.11.3.dist-info → fastapi_voyager-0.11.4.dist-info}/licenses/LICENSE +0 -0
fastapi_voyager/version.py
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
__all__ = ["__version__"]
|
|
2
|
-
__version__ = "0.11.
|
|
2
|
+
__version__ = "0.11.4"
|
|
@@ -14,6 +14,8 @@ export default defineComponent({
|
|
|
14
14
|
props: {
|
|
15
15
|
schemaName: { type: String, required: true },
|
|
16
16
|
schemas: { type: Object, default: () => ({}) },
|
|
17
|
+
// visibility from parent (e.g., dialog v-model)
|
|
18
|
+
modelValue: { type: Boolean, default: true },
|
|
17
19
|
},
|
|
18
20
|
setup(props, { emit }) {
|
|
19
21
|
const code = ref("");
|
|
@@ -21,6 +23,7 @@ export default defineComponent({
|
|
|
21
23
|
const error = ref("");
|
|
22
24
|
const fields = ref([]); // schema fields list
|
|
23
25
|
const tab = ref("fields");
|
|
26
|
+
const loading = ref(false);
|
|
24
27
|
|
|
25
28
|
|
|
26
29
|
async function highlightLater() {
|
|
@@ -45,12 +48,22 @@ export default defineComponent({
|
|
|
45
48
|
});
|
|
46
49
|
}
|
|
47
50
|
|
|
51
|
+
function resetState() {
|
|
52
|
+
code.value = "";
|
|
53
|
+
link.value = "";
|
|
54
|
+
error.value = null;
|
|
55
|
+
fields.value = [];
|
|
56
|
+
// tab.value = "fields";
|
|
57
|
+
loading.value = true;
|
|
58
|
+
}
|
|
59
|
+
|
|
48
60
|
async function loadSource() {
|
|
49
61
|
if (!props.schemaName) return;
|
|
50
62
|
|
|
51
63
|
error.value = null;
|
|
52
64
|
code.value = "";
|
|
53
65
|
link.value = "";
|
|
66
|
+
loading.value = true;
|
|
54
67
|
|
|
55
68
|
// try to fetch from server: /source/{schema_name}
|
|
56
69
|
const payload = { schema_name: props.schemaName };
|
|
@@ -71,13 +84,8 @@ export default defineComponent({
|
|
|
71
84
|
} else {
|
|
72
85
|
error.value = (data && data.error) || "Failed to load source";
|
|
73
86
|
}
|
|
74
|
-
} catch (e) {
|
|
75
|
-
error.value = "Failed to load source";
|
|
76
|
-
} finally {
|
|
77
|
-
}
|
|
78
87
|
|
|
79
|
-
|
|
80
|
-
const resp = await fetch(`vscode-link`, {
|
|
88
|
+
const resp2 = await fetch(`vscode-link`, {
|
|
81
89
|
method: "POST",
|
|
82
90
|
headers: {
|
|
83
91
|
Accept: "application/json",
|
|
@@ -85,16 +93,16 @@ export default defineComponent({
|
|
|
85
93
|
},
|
|
86
94
|
body: JSON.stringify(payload),
|
|
87
95
|
});
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
link.value = data.link || "// no vscode link available";
|
|
96
|
+
const data2 = await resp2.json().catch(() => ({}));
|
|
97
|
+
if (resp2.ok) {
|
|
98
|
+
link.value = data2.link || "// no vscode link available";
|
|
92
99
|
} else {
|
|
93
|
-
error.value
|
|
100
|
+
error.value = (error.value || "") + ((data2 && data2.error) || "Failed to load source");
|
|
94
101
|
}
|
|
95
102
|
} catch (e) {
|
|
96
103
|
error.value = "Failed to load source";
|
|
97
104
|
} finally {
|
|
105
|
+
loading.value = false;
|
|
98
106
|
}
|
|
99
107
|
|
|
100
108
|
const schema = props.schemas && props.schemas[props.schemaName];
|
|
@@ -118,18 +126,36 @@ export default defineComponent({
|
|
|
118
126
|
watch(
|
|
119
127
|
() => props.schemaName,
|
|
120
128
|
() => {
|
|
129
|
+
resetState();
|
|
121
130
|
loadSource();
|
|
122
131
|
},
|
|
123
132
|
);
|
|
124
133
|
|
|
134
|
+
// respond to visibility changes: when shown, clear old data and reload
|
|
135
|
+
watch(
|
|
136
|
+
() => props.modelValue,
|
|
137
|
+
(val) => {
|
|
138
|
+
if (val) {
|
|
139
|
+
resetState();
|
|
140
|
+
loadSource();
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
);
|
|
144
|
+
|
|
125
145
|
onMounted(() => {
|
|
126
|
-
|
|
146
|
+
if (props.modelValue) {
|
|
147
|
+
resetState();
|
|
148
|
+
loadSource();
|
|
149
|
+
}
|
|
127
150
|
});
|
|
128
151
|
|
|
129
|
-
return { link, code, error, fields, tab };
|
|
152
|
+
return { link, code, error, fields, tab, loading };
|
|
130
153
|
},
|
|
131
154
|
template: `
|
|
132
155
|
<div class="frv-code-display" style="border: 1px solid #ccc; border-left: none; position:relative; height:100%; background:#fff;">
|
|
156
|
+
<div v-show="loading" style="position:absolute; top:0; left:0; right:0; z-index:10;">
|
|
157
|
+
<q-linear-progress indeterminate color="primary" size="2px"/>
|
|
158
|
+
</div>
|
|
133
159
|
<div class="q-ml-lg q-mt-md">
|
|
134
160
|
<a :href="link" target="_blank" rel="noopener" style="font-size:12px; color:#3b82f6;">
|
|
135
161
|
Open in VSCode
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fastapi-voyager
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.4
|
|
4
4
|
Summary: Visualize FastAPI application's routing tree and dependencies
|
|
5
5
|
Project-URL: Homepage, https://github.com/allmonday/fastapi-voyager
|
|
6
6
|
Project-URL: Source, https://github.com/allmonday/fastapi-voyager
|
|
@@ -272,7 +272,8 @@ or you can open router_viz.dot with vscode extension `graphviz interactive previ
|
|
|
272
272
|
- 0.11.3
|
|
273
273
|
- [x] support online repo url
|
|
274
274
|
- 0.11.4
|
|
275
|
-
- [
|
|
275
|
+
- [x] add loading for field detail panel
|
|
276
|
+
- 0.11.5
|
|
276
277
|
- [ ] logging information
|
|
277
278
|
- [ ] sort field name
|
|
278
279
|
- [ ] set max limit for fields
|
|
@@ -6,7 +6,7 @@ fastapi_voyager/render.py,sha256=vdwqIync2wsP8gMPY0v_XjRhdPBtbKyRT8yTBa_Ep3Y,874
|
|
|
6
6
|
fastapi_voyager/server.py,sha256=cRTUQik4rvrdZgfkFabCs6LBZnC1FVU4z3lwd1r8GNk,6839
|
|
7
7
|
fastapi_voyager/type.py,sha256=VmcTB1G-LOT70EWCzi4LU_FUkSGWUIBJX15T_J5HnOo,1764
|
|
8
8
|
fastapi_voyager/type_helper.py,sha256=QqP4c642vEkoWTZAtl_Vvt-kys3MkVDp4BNkLrw5mHQ,9477
|
|
9
|
-
fastapi_voyager/version.py,sha256=
|
|
9
|
+
fastapi_voyager/version.py,sha256=lobCg9xkZcHdx90ArKw3qvuqtqO2TtEs2LNIn1dQpHg,49
|
|
10
10
|
fastapi_voyager/voyager.py,sha256=hNal25S5Hi_ZRe-gnmdUKt8tnRd-BRCrzaybAEJ_1HI,13498
|
|
11
11
|
fastapi_voyager/web/graph-ui.js,sha256=DTedkpZNbtufexONVkJ8mOwF_-VnvxoReYHtox6IKR4,5842
|
|
12
12
|
fastapi_voyager/web/graphviz.svg.css,sha256=zDCjjpT0Idufu5YOiZI76PL70-avP3vTyzGPh9M85Do,1563
|
|
@@ -17,7 +17,7 @@ fastapi_voyager/web/quasar.min.js,sha256=h0ftyPMW_CRiyzeVfQqiup0vrVt4_QWojpqmpnp
|
|
|
17
17
|
fastapi_voyager/web/vue-main.js,sha256=sUjLmn06jYy1guwxAcouHwkcjxGD2UgZgkiiIEDbk04,10663
|
|
18
18
|
fastapi_voyager/web/component/render-graph.js,sha256=e8Xgh2Kl-nYU0P1gstEmAepCgFnk2J6UdxW8TlMafGs,2322
|
|
19
19
|
fastapi_voyager/web/component/route-code-display.js,sha256=8NJPPjNRUC21gjpY8XYEQs4RBbhX1pCiqEhJp39ku6k,3678
|
|
20
|
-
fastapi_voyager/web/component/schema-code-display.js,sha256=
|
|
20
|
+
fastapi_voyager/web/component/schema-code-display.js,sha256=FjoD3CLl967VMfbZNQMdbiEnS0z-doLJDJIeDCmKGew,6983
|
|
21
21
|
fastapi_voyager/web/component/schema-field-filter.js,sha256=c--XiXJrhIS7sYo1x8ZwMoqak0k9xLkNYTWoli-zd38,6253
|
|
22
22
|
fastapi_voyager/web/icon/android-chrome-192x192.png,sha256=35sBy6jmUFJCcquStaafHH1qClZIbd-X3PIKSeLkrNo,37285
|
|
23
23
|
fastapi_voyager/web/icon/android-chrome-512x512.png,sha256=eb2eDjCwIruc05029_0L9hcrkVkv8KceLn1DJMYU0zY,210789
|
|
@@ -26,8 +26,8 @@ fastapi_voyager/web/icon/favicon-16x16.png,sha256=JC07jEzfIYxBIoQn_FHXvyHuxESdhW
|
|
|
26
26
|
fastapi_voyager/web/icon/favicon-32x32.png,sha256=C7v1h58cfWOsiLp9yOIZtlx-dLasBcq3NqpHVGRmpt4,1859
|
|
27
27
|
fastapi_voyager/web/icon/favicon.ico,sha256=tZolYIXkkBcFiYl1A8ksaXN2VjGamzcSdes838dLvNc,15406
|
|
28
28
|
fastapi_voyager/web/icon/site.webmanifest,sha256=ep4Hzh9zhmiZF2At3Fp1dQrYQuYF_3ZPZxc1KcGBvwQ,263
|
|
29
|
-
fastapi_voyager-0.11.
|
|
30
|
-
fastapi_voyager-0.11.
|
|
31
|
-
fastapi_voyager-0.11.
|
|
32
|
-
fastapi_voyager-0.11.
|
|
33
|
-
fastapi_voyager-0.11.
|
|
29
|
+
fastapi_voyager-0.11.4.dist-info/METADATA,sha256=OjV-VKj6FgPn3tg_nykssxznKqACjxwN7c_nx4BZKqE,9969
|
|
30
|
+
fastapi_voyager-0.11.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
31
|
+
fastapi_voyager-0.11.4.dist-info/entry_points.txt,sha256=pEIKoUnIDXEtdMBq8EmXm70m16vELIu1VPz9-TBUFWM,53
|
|
32
|
+
fastapi_voyager-0.11.4.dist-info/licenses/LICENSE,sha256=lNVRR3y_bFVoFKuK2JM8N4sFaj3m-7j29kvL3olFi5Y,1067
|
|
33
|
+
fastapi_voyager-0.11.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|