@antelopejs/dms 0.4.3 → 0.4.5
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.
- package/CHANGELOG.md +32 -0
- package/dist/config.d.ts +1 -0
- package/dist/config.js.map +1 -1
- package/dist/implementations/dms/page.d.ts +1 -0
- package/dist/implementations/dms/page.js +8 -1
- package/dist/implementations/dms/page.js.map +1 -1
- package/dist/implementations/dms/stale-session.d.ts +2 -0
- package/dist/implementations/dms/stale-session.js +16 -0
- package/dist/implementations/dms/stale-session.js.map +1 -0
- package/dist/implementations/dms-auth/index.d.ts +1 -0
- package/dist/implementations/dms-auth/index.js +19 -0
- package/dist/implementations/dms-auth/index.js.map +1 -1
- package/dist/routes/auth/client-ip.d.ts +7 -0
- package/dist/routes/auth/client-ip.js +42 -0
- package/dist/routes/auth/client-ip.js.map +1 -0
- package/dist/routes/auth/index.d.ts +1 -0
- package/dist/routes/auth/index.js +1 -0
- package/dist/routes/auth/index.js.map +1 -1
- package/dist/routes/auth.d.ts +3 -0
- package/dist/routes/auth.js +15 -4
- package/dist/routes/auth.js.map +1 -1
- package/dist/test/integration/auth/client-ip.test.d.ts +1 -0
- package/dist/test/integration/auth/client-ip.test.js +14 -0
- package/dist/test/integration/auth/client-ip.test.js.map +1 -0
- package/dist/test/integration/page-session.test.d.ts +1 -0
- package/dist/test/integration/page-session.test.js +52 -0
- package/dist/test/integration/page-session.test.js.map +1 -0
- package/dist/test/unit/client-ip.test.d.ts +1 -0
- package/dist/test/unit/client-ip.test.js +77 -0
- package/dist/test/unit/client-ip.test.js.map +1 -0
- package/dist/test/unit/interfaces/dms-base/form-catalog.test.d.ts +1 -0
- package/dist/test/unit/interfaces/dms-base/form-catalog.test.js +62 -0
- package/dist/test/unit/interfaces/dms-base/form-catalog.test.js.map +1 -0
- package/dist/test/unit/interfaces/dms-base/period-selector-catalog.test.d.ts +1 -0
- package/dist/test/unit/interfaces/dms-base/period-selector-catalog.test.js +36 -0
- package/dist/test/unit/interfaces/dms-base/period-selector-catalog.test.js.map +1 -0
- package/dist/test/unit/interfaces/dms-base/resource-form.test.d.ts +1 -0
- package/dist/test/unit/interfaces/dms-base/resource-form.test.js +117 -0
- package/dist/test/unit/interfaces/dms-base/resource-form.test.js.map +1 -0
- package/dist/test/unit/interfaces/dms-base/table-and-card-catalog.test.d.ts +1 -0
- package/dist/test/unit/interfaces/dms-base/table-and-card-catalog.test.js +62 -0
- package/dist/test/unit/interfaces/dms-base/table-and-card-catalog.test.js.map +1 -0
- package/dist/test/unit/interfaces/dms-base/table-view-tab-count-warning.test.d.ts +1 -0
- package/dist/test/unit/interfaces/dms-base/table-view-tab-count-warning.test.js +96 -0
- package/dist/test/unit/interfaces/dms-base/table-view-tab-count-warning.test.js.map +1 -0
- package/frontend-vue/layers/dms-auth/app/middleware/auth.ts +5 -2
- package/frontend-vue/layers/dms-core/app/composables/useApiError.ts +27 -2
- package/frontend-vue/layers/dms-core/app/utils/menu.ts +26 -10
- package/frontend-vue/layers/dms-core/app/utils/routePath.ts +23 -0
- package/frontend-vue/layers/dms-core/i18n/locales/core-en-GB.json +3 -0
- package/frontend-vue/layers/dms-core/i18n/locales/core-fr-FR.json +3 -0
- package/frontend-vue/layers/dms-core/shared/types/runtime-config.d.ts +4 -1
- package/frontend-vue/layers/dms-layout/app/app.config.ts +9 -1
- package/frontend-vue/layers/dms-layout/app/components/navigation/CollapsedMenuItem.vue +0 -5
- package/frontend-vue/layers/dms-layout/app/components/profile/ProfileLanguage.vue +3 -23
- package/frontend-vue/layers/dms-layout/app/composables/profile/useUserLanguage.ts +33 -0
- package/frontend-vue/layers/dms-layout/app/plugins/command-palette-session.client.ts +2 -1
- package/frontend-vue/layers/dms-ui/app/build/composables/data-types/registerDefaults.ts +31 -3
- package/frontend-vue/layers/dms-ui/app/build/composables/data-types/relationBadges.ts +36 -0
- package/frontend-vue/layers/dms-ui/app/build/types/tree.ts +5 -10
- package/frontend-vue/layers/dms-ui/app/components/Placeholder.vue +17 -5
- package/frontend-vue/layers/dms-ui/app/components/chart/ChartCard.vue +14 -9
- package/frontend-vue/layers/dms-ui/app/components/form/Form.vue +8 -5
- package/frontend-vue/layers/dms-ui/app/components/grid/Grid.vue +15 -5
- package/frontend-vue/layers/dms-ui/app/components/grid/GridRow.vue +7 -4
- package/frontend-vue/layers/dms-ui/app/components/grid/constants.ts +8 -1
- package/frontend-vue/layers/dms-ui/app/components/kpi/KpiCard.vue +14 -9
- package/frontend-vue/layers/dms-ui/app/composables/chart/formatValue.ts +15 -0
- package/frontend-vue/layers/dms-ui/app/composables/chart/types.ts +4 -2
- package/frontend-vue/layers/dms-ui/app/composables/form/types/props.ts +2 -0
- package/frontend-vue/layers/dms-ui/app/composables/form/useForm.ts +53 -4
- package/frontend-vue/layers/dms-ui/app/composables/tree/useTree.ts +5 -7
- package/frontend-vue/layers/dms-ui/i18n/locales/ui-en-GB.json +1 -0
- package/frontend-vue/layers/dms-ui/i18n/locales/ui-fr-FR.json +1 -0
- package/frontend-vue/tests/api-error-title.test.ts +24 -0
- package/frontend-vue/tests/auth-middleware-error.test.ts +58 -0
- package/frontend-vue/tests/button-disabled-theme.test.ts +21 -0
- package/frontend-vue/tests/chart-absent-value.test.ts +78 -0
- package/frontend-vue/tests/form-actions.test.ts +27 -0
- package/frontend-vue/tests/form-submit-target.test.ts +28 -0
- package/frontend-vue/tests/menu-navigation.test.ts +39 -10
- package/frontend-vue/tests/relation-badges.test.ts +32 -0
- package/frontend-vue/tests/tree-without-source.test.ts +79 -0
- package/frontend-vue/tests/user-language.test.ts +58 -0
- package/package.json +1 -1
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
2
|
+
import { useUserLanguage } from "../layers/dms-layout/app/composables/profile/useUserLanguage";
|
|
3
|
+
|
|
4
|
+
interface LanguageHarness {
|
|
5
|
+
setLocale: ReturnType<typeof vi.fn>;
|
|
6
|
+
authFetch: ReturnType<typeof vi.fn>;
|
|
7
|
+
refreshUser: ReturnType<typeof vi.fn>;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
function stubComposables(authFetch = vi.fn(async () => ({}))): LanguageHarness {
|
|
11
|
+
const harness: LanguageHarness = {
|
|
12
|
+
setLocale: vi.fn(async () => {}),
|
|
13
|
+
authFetch,
|
|
14
|
+
refreshUser: vi.fn(async () => {}),
|
|
15
|
+
};
|
|
16
|
+
vi.stubGlobal("useDmsApp", () => ({
|
|
17
|
+
$i18n: { setLocale: harness.setLocale },
|
|
18
|
+
}));
|
|
19
|
+
vi.stubGlobal("useAuthFetch", () => ({ $authFetch: harness.authFetch }));
|
|
20
|
+
vi.stubGlobal("useUserSession", () => ({
|
|
21
|
+
user: { value: { name: "Ada", email: "ada@example.com", language: "en" } },
|
|
22
|
+
fetch: harness.refreshUser,
|
|
23
|
+
}));
|
|
24
|
+
return harness;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
afterEach(() => {
|
|
28
|
+
vi.unstubAllGlobals();
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
describe("useUserLanguage", () => {
|
|
32
|
+
it("applies the language and stores it on the user's profile", async () => {
|
|
33
|
+
const harness = stubComposables();
|
|
34
|
+
|
|
35
|
+
await useUserLanguage().changeLanguage("fr");
|
|
36
|
+
|
|
37
|
+
expect(harness.setLocale).toHaveBeenCalledWith("fr");
|
|
38
|
+
expect(harness.authFetch).toHaveBeenCalledWith("/settings/user/profile", {
|
|
39
|
+
method: "POST",
|
|
40
|
+
body: { name: "Ada", email: "ada@example.com", language: "fr" },
|
|
41
|
+
});
|
|
42
|
+
expect(harness.refreshUser).toHaveBeenCalled();
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it("keeps the applied language when the profile update fails", async () => {
|
|
46
|
+
const harness = stubComposables(
|
|
47
|
+
vi.fn(async () => {
|
|
48
|
+
throw new Error("offline");
|
|
49
|
+
}),
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
await expect(useUserLanguage().changeLanguage("fr")).resolves.toBe(
|
|
53
|
+
undefined,
|
|
54
|
+
);
|
|
55
|
+
expect(harness.setLocale).toHaveBeenCalledWith("fr");
|
|
56
|
+
expect(harness.refreshUser).not.toHaveBeenCalled();
|
|
57
|
+
});
|
|
58
|
+
});
|