@illuminateeducation/dna-atd-frontend 1.0.1-DNAATD-2189.0 → 1.0.2-DNAATD-3045-v3-POC.0
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/README.md +21 -21
- package/dist/assets/dna-atd-frontend.css +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.es.js +47350 -0
- package/dist/index.es.js.map +1 -0
- package/dist/src/App.vue.d.ts +2 -0
- package/dist/src/components/common/BaseButton.vue.d.ts +16 -0
- package/dist/src/components/common/BaseInput.vue.d.ts +8 -0
- package/dist/src/components/common/BaseModal.vue.d.ts +19 -0
- package/dist/src/components/common/ErrorBoundary.vue.d.ts +37 -0
- package/dist/src/composables/useAsync.d.ts +24 -0
- package/dist/src/composables/useClickOutside.d.ts +7 -0
- package/dist/src/composables/useForm.d.ts +38 -0
- package/dist/src/composables/useLocalStorage.d.ts +24 -0
- package/dist/src/composables/useWindowSize.d.ts +20 -0
- package/dist/src/config/app.config.d.ts +67 -0
- package/dist/src/context/backendContext.d.ts +9 -0
- package/dist/src/features/admin/customization/composables/useCustomization.d.ts +19 -0
- package/dist/src/features/admin/customization/store/customizationStore.d.ts +30 -0
- package/dist/src/features/admin/customization/views/CustomizationView.vue.d.ts +2 -0
- package/dist/src/features/admin/validation/composables/useValidation.d.ts +18 -0
- package/dist/src/features/admin/validation/store/validationStore.d.ts +27 -0
- package/dist/src/features/admin/validation/views/ValidationView.vue.d.ts +2 -0
- package/dist/src/features/reports/codeBasedJasper/components/AssessmentFinder.vue.d.ts +618 -0
- package/dist/src/features/reports/codeBasedJasper/components/DownloadButtons.vue.d.ts +13 -0
- package/dist/src/features/reports/codeBasedJasper/components/FavoritesWidget.vue.d.ts +10 -0
- package/dist/src/features/reports/codeBasedJasper/components/MultipleAssessmentIdsField.vue.d.ts +18 -0
- package/dist/src/features/reports/codeBasedJasper/components/ReportFilters.vue.d.ts +18 -0
- package/dist/src/features/reports/codeBasedJasper/components/ReportPagination.vue.d.ts +11 -0
- package/dist/src/features/reports/codeBasedJasper/components/ReportViewer.vue.d.ts +16 -0
- package/dist/src/features/reports/codeBasedJasper/composables/useCodeBasedJasper.d.ts +184 -0
- package/dist/src/features/reports/codeBasedJasper/mount.d.ts +1 -0
- package/dist/src/features/reports/codeBasedJasper/services/codeBasedJasperApi.d.ts +190 -0
- package/dist/src/features/reports/codeBasedJasper/store/codeBasedJasperStore.d.ts +503 -0
- package/dist/src/features/reports/codeBasedJasper/types/index.d.ts +54 -0
- package/dist/src/features/reports/codeBasedJasper/views/CodeBasedJasperReportView.vue.d.ts +32 -0
- package/dist/src/index.d.ts +51 -0
- package/dist/src/layouts/AdminLayout.vue.d.ts +2 -0
- package/dist/src/plugins/globalErrorHandling.d.ts +36 -0
- package/dist/src/plugins/vuetify.d.ts +86 -0
- package/dist/src/router/index.d.ts +16 -0
- package/dist/src/services/apiService.d.ts +33 -0
- package/dist/src/services/integration.d.ts +54 -0
- package/dist/src/types/api.d.ts +27 -0
- package/dist/src/types/backend.d.ts +27 -0
- package/dist/src/utils/helpers.d.ts +50 -0
- package/dist/src/utils/safeJson.d.ts +17 -0
- package/dist/src/views/HomeView.vue.d.ts +2 -0
- package/dist/src/views/NotFoundView.vue.d.ts +2 -0
- package/package.json +33 -22
- package/dist/.vite/manifest.json +0 -87
- package/dist/assets/AdminLayout.css +0 -1
- package/dist/assets/AdminLayout.js +0 -1
- package/dist/assets/CustomizationView.css +0 -1
- package/dist/assets/CustomizationView.js +0 -1
- package/dist/assets/HomeView.css +0 -1
- package/dist/assets/HomeView.js +0 -1
- package/dist/assets/NotFoundView.css +0 -1
- package/dist/assets/NotFoundView.js +0 -1
- package/dist/assets/ValidationView.css +0 -1
- package/dist/assets/ValidationView.js +0 -1
- package/dist/assets/_plugin-vue_export-helper.js +0 -1
- package/dist/assets/index.css +0 -1
- package/dist/assets/index.js +0 -2
- package/dist/index.html +0 -14
- package/index.js +0 -1
- package/src/App.vue +0 -68
- package/src/__tests__/App.spec.js +0 -26
- package/src/components/common/BaseButton.vue +0 -20
- package/src/components/common/BaseInput.vue +0 -27
- package/src/components/common/BaseModal.vue +0 -37
- package/src/composables/useAsync.js +0 -34
- package/src/composables/useClickOutside.js +0 -29
- package/src/composables/useForm.js +0 -89
- package/src/composables/useLocalStorage.js +0 -51
- package/src/composables/useWindowSize.js +0 -30
- package/src/config/app.config.js +0 -79
- package/src/features/admin/customization/composables/useCustomization.js +0 -19
- package/src/features/admin/customization/store/customizationStore.js +0 -30
- package/src/features/admin/customization/views/CustomizationView.vue +0 -17
- package/src/features/admin/validation/composables/useValidation.js +0 -18
- package/src/features/admin/validation/store/validationStore.js +0 -25
- package/src/features/admin/validation/views/ValidationView.vue +0 -17
- package/src/index.js +0 -53
- package/src/layouts/AdminLayout.vue +0 -146
- package/src/main.js +0 -41
- package/src/router/index.js +0 -57
- package/src/services/apiService.js +0 -72
- package/src/services/integration.js +0 -59
- package/src/services/phpIntegration.js +0 -1
- package/src/stores/counter.js +0 -12
- package/src/utils/helpers.js +0 -119
- package/src/utils/validators.js +0 -131
- package/src/views/HomeView.vue +0 -121
- package/src/views/NotFoundView.vue +0 -56
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
2
|
+
export default _default;
|
|
3
|
+
type __VLS_WithTemplateSlots<T, S> = T & (new () => {
|
|
4
|
+
$slots: S;
|
|
5
|
+
});
|
|
6
|
+
declare const __VLS_component: import('vue').DefineComponent<{}, {
|
|
7
|
+
$emit: (event: "click", ...args: any[]) => void;
|
|
8
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLButtonElement>;
|
|
9
|
+
type __VLS_TemplateResult = {
|
|
10
|
+
attrs: Partial<{}>;
|
|
11
|
+
slots: {
|
|
12
|
+
default?(_: {}): any;
|
|
13
|
+
};
|
|
14
|
+
refs: {};
|
|
15
|
+
rootEl: HTMLButtonElement;
|
|
16
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {
|
|
2
|
+
$emit: (event: "update:modelValue", ...args: any[]) => void;
|
|
3
|
+
modelValue: string;
|
|
4
|
+
$props: {
|
|
5
|
+
readonly modelValue?: string | undefined;
|
|
6
|
+
};
|
|
7
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLInputElement>;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
2
|
+
export default _default;
|
|
3
|
+
type __VLS_WithTemplateSlots<T, S> = T & (new () => {
|
|
4
|
+
$slots: S;
|
|
5
|
+
});
|
|
6
|
+
declare const __VLS_component: import('vue').DefineComponent<{}, {
|
|
7
|
+
show: boolean;
|
|
8
|
+
$props: {
|
|
9
|
+
readonly show?: boolean | undefined;
|
|
10
|
+
};
|
|
11
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
12
|
+
type __VLS_TemplateResult = {
|
|
13
|
+
attrs: Partial<{}>;
|
|
14
|
+
slots: {
|
|
15
|
+
default?(_: {}): any;
|
|
16
|
+
};
|
|
17
|
+
refs: {};
|
|
18
|
+
rootEl: any;
|
|
19
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/**
|
|
3
|
+
* When true, let the error propagate to ancestor boundaries and the global Vue handler.
|
|
4
|
+
* Default false to avoid duplicate reporting.
|
|
5
|
+
*/
|
|
6
|
+
propagate?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Change this value to reset the boundary state.
|
|
9
|
+
*/
|
|
10
|
+
resetKey?: string | number;
|
|
11
|
+
};
|
|
12
|
+
declare function reset(): void;
|
|
13
|
+
declare function __VLS_template(): {
|
|
14
|
+
attrs: Partial<{}>;
|
|
15
|
+
slots: {
|
|
16
|
+
default?(_: {}): any;
|
|
17
|
+
fallback?(_: {
|
|
18
|
+
error: unknown;
|
|
19
|
+
info: string | undefined;
|
|
20
|
+
reset: typeof reset;
|
|
21
|
+
}): any;
|
|
22
|
+
};
|
|
23
|
+
refs: {};
|
|
24
|
+
rootEl: any;
|
|
25
|
+
};
|
|
26
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
27
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
28
|
+
propagate: boolean;
|
|
29
|
+
resetKey: string | number;
|
|
30
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
31
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
32
|
+
export default _default;
|
|
33
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
34
|
+
new (): {
|
|
35
|
+
$slots: S;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file useAsync.ts
|
|
3
|
+
* @description Vue composable for managing asynchronous operations with loading and error states
|
|
4
|
+
* @author Illuminate Education
|
|
5
|
+
* @lastUpdated 2025-12-21
|
|
6
|
+
*
|
|
7
|
+
* @responsibilities
|
|
8
|
+
* - Wraps async functions with loading state management
|
|
9
|
+
* - Handles error catching and reporting
|
|
10
|
+
* - Provides reactive data, error, and loading states
|
|
11
|
+
* - Simplifies async operation handling in components
|
|
12
|
+
* - Ensures proper cleanup and state management
|
|
13
|
+
*/
|
|
14
|
+
type AsyncFn<TArgs extends unknown[], TResult> = (...args: TArgs) => Promise<TResult>;
|
|
15
|
+
/**
|
|
16
|
+
* Composable for handling async operations
|
|
17
|
+
*/
|
|
18
|
+
export declare function useAsync<TArgs extends unknown[], TResult>(asyncFunction: AsyncFn<TArgs, TResult>): {
|
|
19
|
+
data: [TResult | null] extends [import('vue').Ref<any, any>] ? import('@vue/shared').IfAny<import('vue').Ref<any, any> & TResult, import('vue').Ref<import('vue').Ref<any, any> & TResult, import('vue').Ref<any, any> & TResult>, import('vue').Ref<any, any> & TResult> : import('vue').Ref<import('vue').UnwrapRef<TResult> | null, TResult | import('vue').UnwrapRef<TResult> | null>;
|
|
20
|
+
error: import('vue').Ref<unknown, unknown>;
|
|
21
|
+
isLoading: import('vue').Ref<boolean, boolean>;
|
|
22
|
+
execute: (...args: TArgs) => Promise<any>;
|
|
23
|
+
};
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file useForm.ts
|
|
3
|
+
* @description Vue composable for comprehensive form state management and validation
|
|
4
|
+
* @author Illuminate Education
|
|
5
|
+
* @lastUpdated 2025-12-21
|
|
6
|
+
*
|
|
7
|
+
* @responsibilities
|
|
8
|
+
* - Manages form data state reactively
|
|
9
|
+
* - Implements field-level and form-level validation
|
|
10
|
+
* - Tracks touched fields for better UX
|
|
11
|
+
* - Handles blur and change events
|
|
12
|
+
* - Provides form reset functionality
|
|
13
|
+
* - Exposes methods for programmatic field updates
|
|
14
|
+
* - Validates against custom rule sets
|
|
15
|
+
*/
|
|
16
|
+
export type ValidationRule<TValue = unknown> = {
|
|
17
|
+
validator: (value: TValue) => boolean;
|
|
18
|
+
message: string;
|
|
19
|
+
};
|
|
20
|
+
export type ValidationRules<TForm extends Record<string, unknown>> = Partial<{
|
|
21
|
+
[K in keyof TForm]: Array<ValidationRule<TForm[K]>>;
|
|
22
|
+
}>;
|
|
23
|
+
/**
|
|
24
|
+
* Composable for form validation
|
|
25
|
+
*/
|
|
26
|
+
export declare function useForm<TForm extends Record<string, unknown>>(initialValues?: TForm, validationRules?: ValidationRules<TForm>): {
|
|
27
|
+
formData: [TForm] extends [import('vue').Ref<any, any>] ? import('@vue/shared').IfAny<TForm, import('vue').Ref<TForm, TForm>, TForm> : import('vue').Ref<import('vue').UnwrapRef<TForm>, TForm | import('vue').UnwrapRef<TForm>>;
|
|
28
|
+
errors: [Partial<Record<keyof TForm, string>>] extends [import('vue').Ref<any, any>] ? import('@vue/shared').IfAny<import('vue').Ref<any, any> & Partial<Record<keyof TForm, string>>, import('vue').Ref<import('vue').Ref<any, any> & Partial<Record<keyof TForm, string>>, import('vue').Ref<any, any> & Partial<Record<keyof TForm, string>>>, import('vue').Ref<any, any> & Partial<Record<keyof TForm, string>>> : import('vue').Ref<import('vue').UnwrapRef<Partial<Record<keyof TForm, string>>>, Partial<Record<keyof TForm, string>> | import('vue').UnwrapRef<Partial<Record<keyof TForm, string>>>>;
|
|
29
|
+
touched: [Partial<Record<keyof TForm, boolean>>] extends [import('vue').Ref<any, any>] ? import('@vue/shared').IfAny<import('vue').Ref<any, any> & Partial<Record<keyof TForm, boolean>>, import('vue').Ref<import('vue').Ref<any, any> & Partial<Record<keyof TForm, boolean>>, import('vue').Ref<any, any> & Partial<Record<keyof TForm, boolean>>>, import('vue').Ref<any, any> & Partial<Record<keyof TForm, boolean>>> : import('vue').Ref<import('vue').UnwrapRef<Partial<Record<keyof TForm, boolean>>>, Partial<Record<keyof TForm, boolean>> | import('vue').UnwrapRef<Partial<Record<keyof TForm, boolean>>>>;
|
|
30
|
+
isValid: import('vue').ComputedRef<boolean>;
|
|
31
|
+
validateField: (fieldName: keyof TForm) => boolean;
|
|
32
|
+
validateForm: () => boolean;
|
|
33
|
+
handleBlur: (fieldName: keyof TForm) => void;
|
|
34
|
+
handleChange: <K extends keyof TForm>(fieldName: K, value: TForm[K]) => void;
|
|
35
|
+
resetForm: () => void;
|
|
36
|
+
setFieldValue: <K extends keyof TForm>(fieldName: K, value: TForm[K]) => void;
|
|
37
|
+
setFieldError: (fieldName: keyof TForm, error: string) => void;
|
|
38
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file useLocalStorage.ts
|
|
3
|
+
* @description Vue composable for reactive browser localStorage management
|
|
4
|
+
* @author Illuminate Education
|
|
5
|
+
* @lastUpdated 2025-12-21
|
|
6
|
+
*
|
|
7
|
+
* @responsibilities
|
|
8
|
+
* - Provides reactive interface to browser localStorage
|
|
9
|
+
* - Handles JSON serialization/deserialization
|
|
10
|
+
* - Implements safe read/write operations with error handling
|
|
11
|
+
* - Manages default values when keys don't exist
|
|
12
|
+
* - Exposes remove functionality for cleanup
|
|
13
|
+
* - Initializes data on component mount
|
|
14
|
+
*/
|
|
15
|
+
type StorageValue = unknown;
|
|
16
|
+
/**
|
|
17
|
+
* Composable for managing localStorage
|
|
18
|
+
*/
|
|
19
|
+
export declare function useLocalStorage<T = StorageValue>(key: string, defaultValue?: T | null): {
|
|
20
|
+
data: [T | null] extends [import('vue').Ref<any, any>] ? import('@vue/shared').IfAny<import('vue').Ref<any, any> & T, import('vue').Ref<import('vue').Ref<any, any> & T, import('vue').Ref<any, any> & T>, import('vue').Ref<any, any> & T> : import('vue').Ref<import('vue').UnwrapRef<T> | null, T | import('vue').UnwrapRef<T> | null>;
|
|
21
|
+
write: (value: T | null) => void;
|
|
22
|
+
remove: () => void;
|
|
23
|
+
};
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file useWindowSize.ts
|
|
3
|
+
* @description Vue composable for reactive window size tracking with debouncing
|
|
4
|
+
* @author Illuminate Education
|
|
5
|
+
* @lastUpdated 2025-12-21
|
|
6
|
+
*
|
|
7
|
+
* @responsibilities
|
|
8
|
+
* - Tracks browser window width and height reactively
|
|
9
|
+
* - Implements debounced resize listener for performance
|
|
10
|
+
* - Updates reactive values on window resize
|
|
11
|
+
* - Manages resize event listener lifecycle
|
|
12
|
+
* - Useful for responsive layouts and conditional rendering
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Composable for tracking window size
|
|
16
|
+
*/
|
|
17
|
+
export declare function useWindowSize(): {
|
|
18
|
+
width: import('vue').Ref<number, number>;
|
|
19
|
+
height: import('vue').Ref<number, number>;
|
|
20
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file app.config.ts
|
|
3
|
+
* @description Central application configuration file for DNA ATD Frontend
|
|
4
|
+
* @author Illuminate Education
|
|
5
|
+
* @lastUpdated 2025-12-21
|
|
6
|
+
*
|
|
7
|
+
* @responsibilities
|
|
8
|
+
* - Defines application-wide configuration constants
|
|
9
|
+
* - Manages API endpoint and timeout settings
|
|
10
|
+
* - Configures theme options and layout dimensions
|
|
11
|
+
* - Sets pagination defaults and date format preferences
|
|
12
|
+
* - Defines localStorage key conventions
|
|
13
|
+
* - Manages feature flags for conditional features
|
|
14
|
+
* - Establishes validation rules for user inputs
|
|
15
|
+
*/
|
|
16
|
+
export type AppConfig = {
|
|
17
|
+
name: string;
|
|
18
|
+
version: string;
|
|
19
|
+
api: {
|
|
20
|
+
baseURL: string;
|
|
21
|
+
timeout: number;
|
|
22
|
+
headers: Record<string, string>;
|
|
23
|
+
};
|
|
24
|
+
theme: {
|
|
25
|
+
default: 'light' | 'dark' | 'auto';
|
|
26
|
+
available: Array<'light' | 'dark' | 'auto'>;
|
|
27
|
+
};
|
|
28
|
+
layout: {
|
|
29
|
+
sidebarWidth: number;
|
|
30
|
+
headerHeight: number;
|
|
31
|
+
footerHeight: number;
|
|
32
|
+
};
|
|
33
|
+
pagination: {
|
|
34
|
+
defaultPageSize: number;
|
|
35
|
+
pageSizeOptions: number[];
|
|
36
|
+
};
|
|
37
|
+
dateFormat: {
|
|
38
|
+
short: string;
|
|
39
|
+
long: string;
|
|
40
|
+
time: string;
|
|
41
|
+
};
|
|
42
|
+
storageKeys: {
|
|
43
|
+
theme: string;
|
|
44
|
+
locale: string;
|
|
45
|
+
token: string;
|
|
46
|
+
user: string;
|
|
47
|
+
};
|
|
48
|
+
features: {
|
|
49
|
+
darkMode: boolean;
|
|
50
|
+
notifications: boolean;
|
|
51
|
+
analytics: boolean;
|
|
52
|
+
};
|
|
53
|
+
validation: {
|
|
54
|
+
password: {
|
|
55
|
+
minLength: number;
|
|
56
|
+
requireUppercase: boolean;
|
|
57
|
+
requireLowercase: boolean;
|
|
58
|
+
requireNumbers: boolean;
|
|
59
|
+
requireSpecialChars: boolean;
|
|
60
|
+
};
|
|
61
|
+
username: {
|
|
62
|
+
minLength: number;
|
|
63
|
+
maxLength: number;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
export declare const appConfig: AppConfig;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { App as VueApp, InjectionKey } from 'vue';
|
|
2
|
+
import { BackendConfig, BackendUser } from '../types/backend';
|
|
3
|
+
export type BackendContext<TConfig extends BackendConfig = BackendConfig, TUser extends BackendUser = BackendUser> = {
|
|
4
|
+
config: TConfig;
|
|
5
|
+
user: TUser;
|
|
6
|
+
};
|
|
7
|
+
export declare const backendContextKey: InjectionKey<BackendContext>;
|
|
8
|
+
export declare function provideBackendContext(app: VueApp, context: BackendContext): void;
|
|
9
|
+
export declare function useBackendContext<TConfig extends BackendConfig = BackendConfig, TUser extends BackendUser = BackendUser>(): BackendContext<TConfig, TUser>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file useCustomization.ts
|
|
3
|
+
* @description Vue composable for accessing customization store functionality
|
|
4
|
+
* @author Illuminate Education
|
|
5
|
+
* @lastUpdated 2025-12-21
|
|
6
|
+
*
|
|
7
|
+
* @responsibilities
|
|
8
|
+
* - Provides reactive access to customization store state
|
|
9
|
+
* - Exposes settings and loading states to components
|
|
10
|
+
* - Wraps store actions for fetching and updating settings
|
|
11
|
+
* - Ensures reactivity using storeToRefs
|
|
12
|
+
* - Simplifies customization feature integration in components
|
|
13
|
+
*/
|
|
14
|
+
export declare function useCustomization(): {
|
|
15
|
+
settings: import('vue').Ref<import('../store/customizationStore').CustomizationSettings, import('../store/customizationStore').CustomizationSettings>;
|
|
16
|
+
isLoading: import('vue').Ref<boolean, boolean>;
|
|
17
|
+
fetchSettings: () => Promise<void>;
|
|
18
|
+
updateSettings: (newSettings: import('../store/customizationStore').CustomizationSettings) => void;
|
|
19
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file customizationStore.ts
|
|
3
|
+
* @description Pinia store for managing customization settings and preferences
|
|
4
|
+
* @author Illuminate Education
|
|
5
|
+
* @lastUpdated 2025-12-21
|
|
6
|
+
*
|
|
7
|
+
* @store customization
|
|
8
|
+
* @responsibilities
|
|
9
|
+
* - Manages application customization settings state
|
|
10
|
+
* - Handles fetching and updating of user/admin customization preferences
|
|
11
|
+
* - Provides centralized loading state for customization operations
|
|
12
|
+
* - Exposes settings data and update methods to components
|
|
13
|
+
*/
|
|
14
|
+
export type CustomizationSettings = Record<string, unknown>;
|
|
15
|
+
export declare const useCustomizationStore: import('pinia').StoreDefinition<"customization", Pick<{
|
|
16
|
+
settings: import('vue').Ref<CustomizationSettings, CustomizationSettings>;
|
|
17
|
+
isLoading: import('vue').Ref<boolean, boolean>;
|
|
18
|
+
fetchSettings: () => Promise<void>;
|
|
19
|
+
updateSettings: (newSettings: CustomizationSettings) => void;
|
|
20
|
+
}, "isLoading" | "settings">, Pick<{
|
|
21
|
+
settings: import('vue').Ref<CustomizationSettings, CustomizationSettings>;
|
|
22
|
+
isLoading: import('vue').Ref<boolean, boolean>;
|
|
23
|
+
fetchSettings: () => Promise<void>;
|
|
24
|
+
updateSettings: (newSettings: CustomizationSettings) => void;
|
|
25
|
+
}, never>, Pick<{
|
|
26
|
+
settings: import('vue').Ref<CustomizationSettings, CustomizationSettings>;
|
|
27
|
+
isLoading: import('vue').Ref<boolean, boolean>;
|
|
28
|
+
fetchSettings: () => Promise<void>;
|
|
29
|
+
updateSettings: (newSettings: CustomizationSettings) => void;
|
|
30
|
+
}, "fetchSettings" | "updateSettings">>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file useValidation.ts
|
|
3
|
+
* @description Vue composable for accessing validation store functionality
|
|
4
|
+
* @author Illuminate Education
|
|
5
|
+
* @lastUpdated 2025-12-21
|
|
6
|
+
*
|
|
7
|
+
* @responsibilities
|
|
8
|
+
* - Provides reactive access to validation store state
|
|
9
|
+
* - Exposes validation data and loading states to components
|
|
10
|
+
* - Wraps store actions for validation data fetching
|
|
11
|
+
* - Ensures reactivity using storeToRefs
|
|
12
|
+
* - Simplifies validation feature integration in components
|
|
13
|
+
*/
|
|
14
|
+
export declare function useValidation(): {
|
|
15
|
+
data: import('vue').Ref<import('../store/validationStore').ValidationItem[], import('../store/validationStore').ValidationItem[]>;
|
|
16
|
+
isLoading: import('vue').Ref<boolean, boolean>;
|
|
17
|
+
fetchData: () => Promise<void>;
|
|
18
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file validationStore.ts
|
|
3
|
+
* @description Pinia store for managing validation feature state and actions
|
|
4
|
+
* @author Illuminate Education
|
|
5
|
+
* @lastUpdated 2025-12-21
|
|
6
|
+
*
|
|
7
|
+
* @store validation
|
|
8
|
+
* @responsibilities
|
|
9
|
+
* - Manages validation data state across the application
|
|
10
|
+
* - Handles async data fetching for validation features
|
|
11
|
+
* - Provides centralized loading state management
|
|
12
|
+
* - Exposes validation data to components via Pinia composition API
|
|
13
|
+
*/
|
|
14
|
+
export type ValidationItem = Record<string, unknown>;
|
|
15
|
+
export declare const useValidationStore: import('pinia').StoreDefinition<"validation", Pick<{
|
|
16
|
+
data: import('vue').Ref<ValidationItem[], ValidationItem[]>;
|
|
17
|
+
isLoading: import('vue').Ref<boolean, boolean>;
|
|
18
|
+
fetchData: () => Promise<void>;
|
|
19
|
+
}, "data" | "isLoading">, Pick<{
|
|
20
|
+
data: import('vue').Ref<ValidationItem[], ValidationItem[]>;
|
|
21
|
+
isLoading: import('vue').Ref<boolean, boolean>;
|
|
22
|
+
fetchData: () => Promise<void>;
|
|
23
|
+
}, never>, Pick<{
|
|
24
|
+
data: import('vue').Ref<ValidationItem[], ValidationItem[]>;
|
|
25
|
+
isLoading: import('vue').Ref<boolean, boolean>;
|
|
26
|
+
fetchData: () => Promise<void>;
|
|
27
|
+
}, "fetchData">>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
2
|
+
export default _default;
|