una-nuxt-module 1.0.2
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 +84 -0
- package/dist/module.cjs +5 -0
- package/dist/module.d.mts +6 -0
- package/dist/module.d.ts +6 -0
- package/dist/module.json +9 -0
- package/dist/module.mjs +105 -0
- package/dist/runtime/assets/scss/styles.css +1249 -0
- package/dist/runtime/classes/FetchClient.d.ts +61 -0
- package/dist/runtime/classes/FetchClient.js +71 -0
- package/dist/runtime/components/layout/footer/Footer.vue +16 -0
- package/dist/runtime/components/layout/header/BtnExtendMenu.vue +29 -0
- package/dist/runtime/components/layout/header/Header.vue +7 -0
- package/dist/runtime/components/layout/header/HeaderMenu.vue +41 -0
- package/dist/runtime/components/layout/header/HeaderMenuTabs.vue +102 -0
- package/dist/runtime/components/layout/sidebar/NavCollapse.vue +38 -0
- package/dist/runtime/components/layout/sidebar/NavGroup.vue +9 -0
- package/dist/runtime/components/layout/sidebar/NavItem.vue +25 -0
- package/dist/runtime/components/layout/sidebar/SideBar.vue +74 -0
- package/dist/runtime/components/layout/sidebar/SideBarFooter.vue +69 -0
- package/dist/runtime/components/layout/sidebar/TopSideBarLogo.vue +25 -0
- package/dist/runtime/components/shared/authorization/AuthorizedRenderer.vue +41 -0
- package/dist/runtime/components/shared/buttons/BtnBack.vue +19 -0
- package/dist/runtime/components/shared/buttons/BtnCancel.vue +13 -0
- package/dist/runtime/components/shared/buttons/BtnConfirm.vue +14 -0
- package/dist/runtime/components/shared/containers/JsonViewer.vue +13 -0
- package/dist/runtime/components/shared/dates/DatePicker.vue +91 -0
- package/dist/runtime/components/shared/dialogs/DialogConfirmDelete.vue +32 -0
- package/dist/runtime/components/shared/dialogs/DialogExportTable.vue +42 -0
- package/dist/runtime/components/shared/feedback/LoadingSession.vue +17 -0
- package/dist/runtime/components/shared/feedback/SnackBar.vue +36 -0
- package/dist/runtime/components/shared/forms/FormBuilder/FieldBuilder.vue +251 -0
- package/dist/runtime/components/shared/forms/FormBuilder/FieldSlotMissed.vue +20 -0
- package/dist/runtime/components/shared/forms/FormBuilder/FormBuilder.vue +213 -0
- package/dist/runtime/components/shared/forms/FormBuilder/SteppersBuilder.vue +32 -0
- package/dist/runtime/components/shared/forms/FormBuilder/TabsBuilder.vue +30 -0
- package/dist/runtime/components/shared/forms/FormDialogWrapper.vue +48 -0
- package/dist/runtime/components/shared/forms/FormPageWrapper.vue +19 -0
- package/dist/runtime/components/shared/forms/FormSubmitSection.vue +48 -0
- package/dist/runtime/components/shared/navigation/BreadCrumbs.vue +21 -0
- package/dist/runtime/components/shared/tables/CustomTable.vue +261 -0
- package/dist/runtime/components/shared/tables/CustomTableHeader.vue +25 -0
- package/dist/runtime/components/shared/tables/NoDataMessage.vue +12 -0
- package/dist/runtime/components/shared/tables/TableSearchBar.vue +22 -0
- package/dist/runtime/components/shared/tables/buttons/BtnAdd.vue +25 -0
- package/dist/runtime/components/shared/tables/buttons/BtnDelete.vue +32 -0
- package/dist/runtime/components/shared/tables/buttons/BtnEdit.vue +30 -0
- package/dist/runtime/components/shared/tables/buttons/BtnExport.vue +17 -0
- package/dist/runtime/components/shared/tables/buttons/BtnFilter.vue +21 -0
- package/dist/runtime/components/shared/tables/pagination/ItemsPerPageCombo.vue +24 -0
- package/dist/runtime/components/shared/tables/pagination/ItemsPerPageLabel.vue +5 -0
- package/dist/runtime/components/shared/tables/pagination/PageSelector.vue +16 -0
- package/dist/runtime/components/shared/tables/pagination/PaginationInfo.vue +31 -0
- package/dist/runtime/composables/useAuthorization.d.ts +32 -0
- package/dist/runtime/composables/useAuthorization.js +95 -0
- package/dist/runtime/constants/form.d.ts +44 -0
- package/dist/runtime/constants/form.js +58 -0
- package/dist/runtime/constants/index.d.ts +4 -0
- package/dist/runtime/constants/index.js +4 -0
- package/dist/runtime/constants/pagination.d.ts +13 -0
- package/dist/runtime/constants/pagination.js +8 -0
- package/dist/runtime/constants/request.d.ts +5 -0
- package/dist/runtime/constants/request.js +6 -0
- package/dist/runtime/constants/tables.d.ts +4 -0
- package/dist/runtime/constants/tables.js +15 -0
- package/dist/runtime/enums/EAsyncDataRequestStatus.d.ts +9 -0
- package/dist/runtime/enums/EAsyncDataRequestStatus.js +7 -0
- package/dist/runtime/enums/EAuthorization.d.ts +8 -0
- package/dist/runtime/enums/EAuthorization.js +6 -0
- package/dist/runtime/enums/EFormField.d.ts +14 -0
- package/dist/runtime/enums/EFormField.js +12 -0
- package/dist/runtime/enums/EFormMode.d.ts +7 -0
- package/dist/runtime/enums/EFormMode.js +5 -0
- package/dist/runtime/enums/ERequestMethod.d.ts +9 -0
- package/dist/runtime/enums/ERequestMethod.js +7 -0
- package/dist/runtime/enums/ETheme.d.ts +7 -0
- package/dist/runtime/enums/ETheme.js +5 -0
- package/dist/runtime/enums/EVuetifyDateFormats.d.ts +32 -0
- package/dist/runtime/enums/EVuetifyDateFormats.js +30 -0
- package/dist/runtime/enums/index.d.ts +6 -0
- package/dist/runtime/enums/index.js +6 -0
- package/dist/runtime/i18n/config.d.ts +61 -0
- package/dist/runtime/i18n/config.js +10 -0
- package/dist/runtime/i18n/locales/es.json +55 -0
- package/dist/runtime/i18n/service.d.ts +72 -0
- package/dist/runtime/i18n/service.js +3 -0
- package/dist/runtime/i18n/vueI18n.d.ts +5 -0
- package/dist/runtime/i18n/vueI18n.js +3 -0
- package/dist/runtime/index.d.ts +9 -0
- package/dist/runtime/layouts/default.vue +31 -0
- package/dist/runtime/layouts/empty.vue +12 -0
- package/dist/runtime/middleware/authentication.d.ts +10 -0
- package/dist/runtime/middleware/authentication.js +30 -0
- package/dist/runtime/middleware/authorization.d.ts +7 -0
- package/dist/runtime/middleware/authorization.js +39 -0
- package/dist/runtime/pages/401.vue +34 -0
- package/dist/runtime/pages/403.vue +35 -0
- package/dist/runtime/pages/ssoCallback.vue +14 -0
- package/dist/runtime/plugins/auth.d.ts +12 -0
- package/dist/runtime/plugins/auth.js +83 -0
- package/dist/runtime/plugins/vue-json.d.ts +12 -0
- package/dist/runtime/plugins/vue-json.js +5 -0
- package/dist/runtime/public/images/logos/UNA_LogoMark_Black.png +0 -0
- package/dist/runtime/public/images/logos/UNA_LogoType_LogoMark_Red.png +0 -0
- package/dist/runtime/server/tsconfig.json +3 -0
- package/dist/runtime/stores/UiCustomizer.d.ts +22 -0
- package/dist/runtime/stores/UiCustomizer.js +34 -0
- package/dist/runtime/stores/appStatus.d.ts +63 -0
- package/dist/runtime/stores/appStatus.js +101 -0
- package/dist/runtime/stores/auth.d.ts +76 -0
- package/dist/runtime/stores/auth.js +66 -0
- package/dist/runtime/stores/formModeTracker.d.ts +14 -0
- package/dist/runtime/stores/formModeTracker.js +10 -0
- package/dist/runtime/types/index.d.ts +584 -0
- package/dist/runtime/types/index.js +1 -0
- package/dist/runtime/utils/buildSortQueryParams.d.ts +10 -0
- package/dist/runtime/utils/buildSortQueryParams.js +3 -0
- package/dist/runtime/utils/getCurrentPath.d.ts +7 -0
- package/dist/runtime/utils/getCurrentPath.js +4 -0
- package/dist/runtime/utils/getDateTimeInISO8601.d.ts +11 -0
- package/dist/runtime/utils/getDateTimeInISO8601.js +3 -0
- package/dist/runtime/utils/getFromLocalStorage.d.ts +9 -0
- package/dist/runtime/utils/getFromLocalStorage.js +6 -0
- package/dist/runtime/utils/isNumberInRange.d.ts +11 -0
- package/dist/runtime/utils/isNumberInRange.js +5 -0
- package/dist/runtime/utils/onlyNumbers.d.ts +9 -0
- package/dist/runtime/utils/onlyNumbers.js +3 -0
- package/dist/runtime/utils/stringToBoolean.d.ts +9 -0
- package/dist/runtime/utils/stringToBoolean.js +3 -0
- package/dist/types.d.mts +7 -0
- package/dist/types.d.ts +7 -0
- package/package.json +69 -0
|
@@ -0,0 +1,584 @@
|
|
|
1
|
+
import type { EAuthorization, EFormField, EFormMode, ERequestMethod, EVuetifyDateFormats } from "../enums/index.js";
|
|
2
|
+
import type { FetchOptions } from "ofetch";
|
|
3
|
+
export { FetchClient } from "../classes/FetchClient.js";
|
|
4
|
+
/**
|
|
5
|
+
* Los tipos definidos en este archivo son exportados globalmente, lo que hace que no sea necesario importarlos para usarlos.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Interface to test import from module.
|
|
9
|
+
*
|
|
10
|
+
* @interface IInterfaceFromModule
|
|
11
|
+
*
|
|
12
|
+
* @property {prop} - *string* - Prop description
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
15
|
+
export interface IUnaNuxtModuleOptions {
|
|
16
|
+
sso: {
|
|
17
|
+
signInRedirectURL: string;
|
|
18
|
+
signOutRedirectURL: string;
|
|
19
|
+
clientID: string;
|
|
20
|
+
clientSecret: string;
|
|
21
|
+
baseUrl: string;
|
|
22
|
+
scope: String[];
|
|
23
|
+
validateIDToken: string;
|
|
24
|
+
};
|
|
25
|
+
apis: {
|
|
26
|
+
authorization: {
|
|
27
|
+
baseUrl: string;
|
|
28
|
+
endpoints: {
|
|
29
|
+
getResources: string;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
config: {
|
|
34
|
+
unprotectedPages: String[];
|
|
35
|
+
navigationMenu: IMenuItem[];
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/** Tipo de autorización. */
|
|
39
|
+
export type TAuthorization = keyof typeof EAuthorization;
|
|
40
|
+
/** Tipo de campo de formulario. */
|
|
41
|
+
export type TFormField = keyof typeof EFormField;
|
|
42
|
+
/** Tipo de modo de edición de formulario. */
|
|
43
|
+
export type TFormMode = keyof typeof EFormMode;
|
|
44
|
+
/** Tipo de petición */
|
|
45
|
+
export type TRequestMethod = keyof typeof ERequestMethod;
|
|
46
|
+
/** Tipos de formatos de fecha para Vuetify. */
|
|
47
|
+
export type TVuetifyDateFormat = keyof typeof EVuetifyDateFormats;
|
|
48
|
+
/**
|
|
49
|
+
* Interfaz que define los parámetros necesarios para realizar una petición HTTP.
|
|
50
|
+
*/
|
|
51
|
+
export interface IFetchParams {
|
|
52
|
+
/**
|
|
53
|
+
* Método HTTP de la petición (GET, POST, PUT, DELETE, etc.).
|
|
54
|
+
* Por defecto, se utiliza el método GET.
|
|
55
|
+
*/
|
|
56
|
+
method?: TRequestMethod;
|
|
57
|
+
/**
|
|
58
|
+
* URL o endpoint al cual se realizará la petición.
|
|
59
|
+
*/
|
|
60
|
+
url: string;
|
|
61
|
+
/**
|
|
62
|
+
* Datos que se enviarán en el cuerpo de la petición.
|
|
63
|
+
* Puede ser un objeto, un valor compatible con BodyInit o null/undefined.
|
|
64
|
+
*/
|
|
65
|
+
body?: BodyInit | Record<string, any> | null | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Opciones adicionales para configurar la petición, como encabezados y parámetros de configuración.
|
|
68
|
+
*/
|
|
69
|
+
fetchOptions?: FetchOptions<"json">;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Interfaz para la información de respuesta de las peticiones.
|
|
73
|
+
*
|
|
74
|
+
* @interface IRequestInfo
|
|
75
|
+
*
|
|
76
|
+
* @property {string} - *title* - Titulo del mensaje
|
|
77
|
+
* @property {string} - *description* - Descripción del mensaje
|
|
78
|
+
*/
|
|
79
|
+
export interface IRequestInfo {
|
|
80
|
+
/** Titulo del mensaje */
|
|
81
|
+
title: string;
|
|
82
|
+
/** Descripción del mensaje */
|
|
83
|
+
description: string;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Interfaz para mapear la respuesta de las peticiones a APIS
|
|
87
|
+
*
|
|
88
|
+
* @interface IRequestResponse
|
|
89
|
+
*
|
|
90
|
+
* @property {number} - *statusCode* - Código del resultado de la petición
|
|
91
|
+
* @property {boolean} - *success* - Indica si la peticion fue exitosa
|
|
92
|
+
* @property {any} - *message* - Mensaje de la petición
|
|
93
|
+
* @property {any} - *data* - Datos de la petición
|
|
94
|
+
* @property {string} - *title* - Titulo del mensaje
|
|
95
|
+
* @property {string} - *description* - Descripción del mensaje
|
|
96
|
+
*/
|
|
97
|
+
export interface IRequestResponse<T = unknown> extends IRequestInfo {
|
|
98
|
+
/** Código del resultado de la petición */
|
|
99
|
+
statusCode: number;
|
|
100
|
+
/** Indica si la peticion fue exitosa */
|
|
101
|
+
success: boolean;
|
|
102
|
+
/** Mensaje de la petición */
|
|
103
|
+
message?: any;
|
|
104
|
+
/** Datos de la petición */
|
|
105
|
+
data: T;
|
|
106
|
+
}
|
|
107
|
+
export interface IPaginatedResponse<T> {
|
|
108
|
+
content: T[];
|
|
109
|
+
pageable: IPaginationInfo;
|
|
110
|
+
totalPages: number;
|
|
111
|
+
totalElements: number;
|
|
112
|
+
last: boolean;
|
|
113
|
+
first: boolean;
|
|
114
|
+
size: number;
|
|
115
|
+
number: number;
|
|
116
|
+
sort: IPaginationSort;
|
|
117
|
+
numberOfElements: number;
|
|
118
|
+
empty: boolean;
|
|
119
|
+
}
|
|
120
|
+
export interface IPaginationInfo {
|
|
121
|
+
pageNumber: number;
|
|
122
|
+
pageSize: number;
|
|
123
|
+
sort: IPaginationSort;
|
|
124
|
+
offset: number;
|
|
125
|
+
paged: boolean;
|
|
126
|
+
unpaged: boolean;
|
|
127
|
+
}
|
|
128
|
+
export interface IPaginationSort {
|
|
129
|
+
sorted: boolean;
|
|
130
|
+
unsorted: boolean;
|
|
131
|
+
empty: boolean;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Interfaz para los parámetros del composable de peticiones a APIS.
|
|
135
|
+
*
|
|
136
|
+
* @interface IUseRequestWraperParameters
|
|
137
|
+
*
|
|
138
|
+
* @property {string} - *baseURL* - Dirección del servidor
|
|
139
|
+
* @property {string} - *url* - Endpoint a consumir
|
|
140
|
+
* @property {TRequestMethod} - *method* - Método de la petición
|
|
141
|
+
* @property {Object, null} - *body* - Body de la petición
|
|
142
|
+
* @property {Object} - *query* - Query de la petición
|
|
143
|
+
* @property {any} - *headers* - Headers de la petición
|
|
144
|
+
*/
|
|
145
|
+
export interface IUseRequestWraperParameters {
|
|
146
|
+
/** Dirección del servidor */
|
|
147
|
+
host: string;
|
|
148
|
+
/** Endpoint a consumir */
|
|
149
|
+
url?: string;
|
|
150
|
+
/** Método de la petición */
|
|
151
|
+
method?: TRequestMethod;
|
|
152
|
+
/** Body de la petición */
|
|
153
|
+
body?: Object | null;
|
|
154
|
+
/** Query de la petición */
|
|
155
|
+
query?: {
|
|
156
|
+
[key: string]: any;
|
|
157
|
+
};
|
|
158
|
+
/** Headers de la petición */
|
|
159
|
+
headers?: {
|
|
160
|
+
[key: string]: any;
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
export interface IIdentifiedEntity {
|
|
164
|
+
id: number;
|
|
165
|
+
}
|
|
166
|
+
export interface IVersionedEntity {
|
|
167
|
+
version: number;
|
|
168
|
+
}
|
|
169
|
+
export interface IAuditableEntity {
|
|
170
|
+
createdBy: ICreatedBy;
|
|
171
|
+
createdDate: string;
|
|
172
|
+
lastModifiedBy: ILastModifiedBy;
|
|
173
|
+
lastModifiedDate: string;
|
|
174
|
+
}
|
|
175
|
+
export interface ICreatedBy {
|
|
176
|
+
id: number;
|
|
177
|
+
version: number;
|
|
178
|
+
createdDate: string;
|
|
179
|
+
lastModifiedDate: string;
|
|
180
|
+
}
|
|
181
|
+
export interface ILastModifiedBy {
|
|
182
|
+
id: number;
|
|
183
|
+
version: number;
|
|
184
|
+
createdDate: string;
|
|
185
|
+
lastModifiedDate: string;
|
|
186
|
+
}
|
|
187
|
+
export interface IBaseEntity extends IIdentifiedEntity, IVersionedEntity, IAuditableEntity {
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Interfaz para el estado de la tabla de los módulos.
|
|
191
|
+
*
|
|
192
|
+
* @interface ITableState
|
|
193
|
+
*
|
|
194
|
+
* @property {number} - *page* - Página actual de la tabla
|
|
195
|
+
* @property {IItemsPerPage} - *itemsPerPage* - Elementos por página
|
|
196
|
+
* @property {string, null} - *textToSearch* - Texto a buscar en la tabla
|
|
197
|
+
* @property {number} - *totalPages* - Total de páginas
|
|
198
|
+
* @property {number} - *totalElements* - Total de elementos
|
|
199
|
+
*
|
|
200
|
+
*/
|
|
201
|
+
export interface ITableState {
|
|
202
|
+
/** Página actual de la tabla */
|
|
203
|
+
page: number;
|
|
204
|
+
/** Elementos por página */
|
|
205
|
+
itemsPerPage: IItemsPerPage;
|
|
206
|
+
/** Texto a buscar en la tabla */
|
|
207
|
+
textToSearch: string | null;
|
|
208
|
+
/** Total de páginas */
|
|
209
|
+
totalPages: number;
|
|
210
|
+
/** Total de elementos */
|
|
211
|
+
totalElements: number;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Interfaz para el estado del formulario de los módulos.
|
|
215
|
+
*
|
|
216
|
+
* @interface IFormState
|
|
217
|
+
*
|
|
218
|
+
* @property {TFormMode} - *formMode* - Modo de edición del formulario
|
|
219
|
+
* @property {boolean} - *openForm* - Almacena si el formulario esta abierto
|
|
220
|
+
*/
|
|
221
|
+
export interface IFormState {
|
|
222
|
+
/** Modo de edición del formulario */
|
|
223
|
+
formMode: TFormMode;
|
|
224
|
+
/** Almacena si el formulario esta abierto */
|
|
225
|
+
openForm: boolean;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Interfaz base para el store de los módulos.
|
|
229
|
+
*
|
|
230
|
+
* @interface IBaseStore
|
|
231
|
+
*/
|
|
232
|
+
export interface IBaseStore {
|
|
233
|
+
/** Estado del formulario de los módulos */
|
|
234
|
+
formState: IFormState;
|
|
235
|
+
/** Estado de la tabla de los módulos */
|
|
236
|
+
tableState: ITableState;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Interfaz para los parámetros del método listar todos.
|
|
240
|
+
*
|
|
241
|
+
* @interface IGetAllParams
|
|
242
|
+
*/
|
|
243
|
+
export interface IGetAllParams {
|
|
244
|
+
makingRequest: boolean;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Interfaz para el Store de estado de la aplicación.
|
|
248
|
+
*
|
|
249
|
+
* @interface IAppStatusState
|
|
250
|
+
*
|
|
251
|
+
* @property {boolean} - *makingRequest* - Almacena si la aplicación esta realizando una petición
|
|
252
|
+
* @property {boolean} - *hasError* - Almacena si la petión respondio con un error
|
|
253
|
+
* @property {boolean} - *showInfo* - Almacena si la aplicación debe mostrar la respuesta de información de la petición
|
|
254
|
+
* @property {IRequestInfo, null} - *info* - Almacena la respuesta de información de la petición
|
|
255
|
+
* @property {boolean} - *openDialogDelete* - Almacena si se debe abrir el diálogo de eliminar
|
|
256
|
+
* @property {boolean} - *openDialogExport* - Almacena si se debe abrir el diálogo de exportar
|
|
257
|
+
*/
|
|
258
|
+
export interface IAppStatusState {
|
|
259
|
+
/** Almacena si la aplicación esta realizando una petición */
|
|
260
|
+
makingRequest: boolean;
|
|
261
|
+
/** Almacena si la petión respondio con un error */
|
|
262
|
+
hasError: boolean;
|
|
263
|
+
/** Almacena si la aplicación debe mostrar la respuesta de información de la petición */
|
|
264
|
+
showInfo: boolean;
|
|
265
|
+
/** Almacena la respuesta de información de la petición */
|
|
266
|
+
info: IRequestInfo | null;
|
|
267
|
+
/** Almacena si se debe abrir el diálogo de eliminar */
|
|
268
|
+
openDialogDelete: boolean;
|
|
269
|
+
/** Almacena si se debe abrir el diálogo de exportar */
|
|
270
|
+
openDialogExport: boolean;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Interfaz para el Store de preferencias visuales del usuario.
|
|
274
|
+
*
|
|
275
|
+
* @interface IUiCustomizerState
|
|
276
|
+
*
|
|
277
|
+
* @property {boolean} - *drawSidebar* - Almacena si se debe renderizar el menú
|
|
278
|
+
* @property {boolean} - *isSidebarMini* - Almacena si el menú esta minimizado
|
|
279
|
+
* @property {string} - *currentTheme* - Almacena el tema actual
|
|
280
|
+
*/
|
|
281
|
+
export interface IUiCustomizerState {
|
|
282
|
+
/** Almacena si se debe renderizar el menú */
|
|
283
|
+
drawSidebar: boolean;
|
|
284
|
+
/** Almacena si el menú esta minimizado */
|
|
285
|
+
isSidebarMini: boolean;
|
|
286
|
+
/** Almacena el tema actual */
|
|
287
|
+
currentTheme: string;
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Interfaz para la información del usuario autenticado.
|
|
291
|
+
*
|
|
292
|
+
* @interface IAuthenticatedUser
|
|
293
|
+
*
|
|
294
|
+
* @property {string} - *email* - Email del usuario
|
|
295
|
+
* @property {string} - *fullName* - Nombre completo del usuario
|
|
296
|
+
* @property {string} - *name* - Nombre del usuario
|
|
297
|
+
* @property {string} - *lastName* - Primer apellido del usuario
|
|
298
|
+
* @property {string} - *photoUrl* - Url de la foto del usuario
|
|
299
|
+
* @property {string} - *mainRole* - Rol del usuario
|
|
300
|
+
*/
|
|
301
|
+
export interface IAuthenticatedUser {
|
|
302
|
+
/** Email del usuario */
|
|
303
|
+
email: string;
|
|
304
|
+
/** Nombre completo del usuario */
|
|
305
|
+
fullName: string;
|
|
306
|
+
/** Nombre del usuario */
|
|
307
|
+
name?: string;
|
|
308
|
+
/** Primer apellido del usuario */
|
|
309
|
+
lastName?: string;
|
|
310
|
+
/** Url de la foto del usuario */
|
|
311
|
+
photoUrl?: string;
|
|
312
|
+
/** Rol del usuario */
|
|
313
|
+
mainRole?: string;
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Interfaz para la información de los recursos del usuario autenticado.
|
|
317
|
+
*
|
|
318
|
+
* @interface IResource
|
|
319
|
+
*
|
|
320
|
+
* @property {number} - *id* - Id del recurso
|
|
321
|
+
* @property {string} - *nombre* - Nombre del recurso
|
|
322
|
+
* @property {boolean} - *permisoInsertar* - Especifica si se tiene el permiso de insertar en el recurso
|
|
323
|
+
* @property {boolean} - *permisoModificar* - Especifica si se tiene el permiso de modificar en el recurso
|
|
324
|
+
* @property {boolean} - *permisoEliminar* - Especifica si se tiene el permiso de eliminar en el recurso
|
|
325
|
+
*
|
|
326
|
+
*/
|
|
327
|
+
export interface IResource {
|
|
328
|
+
/** Id del recurso */
|
|
329
|
+
id: number;
|
|
330
|
+
/** Nombre del recurso */
|
|
331
|
+
nombre: string;
|
|
332
|
+
/** Especifica si se tiene el permiso de insertar en el recurso */
|
|
333
|
+
permisoInsertar: boolean;
|
|
334
|
+
/** Especifica si se tiene el permiso de modificar en el recurso */
|
|
335
|
+
permisoModificar: boolean;
|
|
336
|
+
/** Especifica si se tiene el permiso de eliminar en el recurso */
|
|
337
|
+
permisoEliminar: boolean;
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Interfaz para la información de la sesión del usuario autenticado.
|
|
341
|
+
*
|
|
342
|
+
* @interface IAuthData
|
|
343
|
+
*
|
|
344
|
+
* @property {boolean} - *isAuthenticated* - Almacena si el usuario esta autenticado
|
|
345
|
+
* @property {string} - *accessToken* - Access Token del usuario generado al iniciar sesión en WSO2
|
|
346
|
+
* @property {IResource[]} - *resources* - Recursos del usuario
|
|
347
|
+
*/
|
|
348
|
+
export interface IAuthData {
|
|
349
|
+
/** Almacena si el usuario esta autenticado */
|
|
350
|
+
isAuthenticated: boolean;
|
|
351
|
+
/** Access Token del usuario generado al iniciar sesión en WSO2 */
|
|
352
|
+
accessToken: string;
|
|
353
|
+
/** Recursos del usuario */
|
|
354
|
+
resources: IResource[];
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Interfaz para el Store de autenticación y autorización.
|
|
358
|
+
*
|
|
359
|
+
* @interface IAuthState
|
|
360
|
+
*
|
|
361
|
+
* @property {IAuthenticatedUser, null} - *user* - Información del usuario
|
|
362
|
+
* @property {IAuthData, null} - *authData* - Información de la sesión del usuario
|
|
363
|
+
*/
|
|
364
|
+
export interface IAuthState {
|
|
365
|
+
/** Información del usuario */
|
|
366
|
+
user: IAuthenticatedUser | null;
|
|
367
|
+
/** Información de la sesión del usuario */
|
|
368
|
+
authData: IAuthData | null;
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Interfaz para los parámetros de métodos de validacion de permisos en recursos.
|
|
372
|
+
*
|
|
373
|
+
* @interface IHasAuthorizationInResourceParams
|
|
374
|
+
*
|
|
375
|
+
* @property {string} - *resource* - Recurso a validar
|
|
376
|
+
* @property {TAuthorization} - *authorization* - Autorización a validar
|
|
377
|
+
*/
|
|
378
|
+
export interface IHasAuthorizationInResourceParams {
|
|
379
|
+
/** Recurso a validar */
|
|
380
|
+
resource: string;
|
|
381
|
+
/** Autorización a validar */
|
|
382
|
+
authorization: TAuthorization;
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Interfaz para las opciones del componente ComboBox.
|
|
386
|
+
*
|
|
387
|
+
* @interface IComboBoxOption
|
|
388
|
+
*
|
|
389
|
+
* @property {number} - *value* - Valor o ID
|
|
390
|
+
* @property {string} - *title* - Título o texto a mostrar
|
|
391
|
+
*/
|
|
392
|
+
export interface IComboBoxOption {
|
|
393
|
+
/** Valor o ID */
|
|
394
|
+
value: number;
|
|
395
|
+
/** Título o texto a mostrar */
|
|
396
|
+
title: string;
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Interfaz para las opciones de paginación.
|
|
400
|
+
*
|
|
401
|
+
* @interface IItemsPerPage
|
|
402
|
+
*/
|
|
403
|
+
export interface IItemsPerPage extends IComboBoxOption {
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* Interfaz para las opciones del menú de navegación.
|
|
407
|
+
*
|
|
408
|
+
* @interface IMenuItem
|
|
409
|
+
*
|
|
410
|
+
* @property {string} - *header* - Si no es nulo la opción será de tipo header
|
|
411
|
+
* @property {string} - *title* - Texto de la opción
|
|
412
|
+
* @property {string} - *icon* - Icono de la opción
|
|
413
|
+
* @property {string} - *to* - Ruta de la opción
|
|
414
|
+
* @property {boolean} - *divider* - Si es true la opción será de tipo divider
|
|
415
|
+
* @property {IMenuItem[]} - *children* - Opciones del menú, sino es nulo la opción será de tipo ComboBox
|
|
416
|
+
* @property {boolean} - *disabled* - Indica si la opción esta deshabilitada
|
|
417
|
+
* @property {string} - *description* - Descripción de la opción
|
|
418
|
+
*/
|
|
419
|
+
export interface IMenuItem {
|
|
420
|
+
/** Si no es nulo la opción será de tipo header */
|
|
421
|
+
header?: string;
|
|
422
|
+
/** Texto de la opción */
|
|
423
|
+
title?: string;
|
|
424
|
+
/** Icono de la opción */
|
|
425
|
+
icon?: string;
|
|
426
|
+
/** Ruta de la opción */
|
|
427
|
+
to?: string;
|
|
428
|
+
/** Si es true la opción será de tipo divider */
|
|
429
|
+
divider?: boolean;
|
|
430
|
+
/** Opciones del menú, sino es nulo la opción será de tipo ComboBox */
|
|
431
|
+
children?: IMenuItem[];
|
|
432
|
+
/** Indica si la opción esta deshabilitada */
|
|
433
|
+
disabled?: boolean;
|
|
434
|
+
/** Descripción de la opción */
|
|
435
|
+
description?: string;
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Interfaz para los headers de las columnas de la tabla.
|
|
439
|
+
*
|
|
440
|
+
* @interface ITableHeader
|
|
441
|
+
*
|
|
442
|
+
* @property {string} - *title* - Título del header
|
|
443
|
+
* @property {string} - *align* - Alinieación del header
|
|
444
|
+
* @property {boolean} - *sortable* - Indica si la columna es ordenable
|
|
445
|
+
* @property {string} - *key* - Key o Id del header
|
|
446
|
+
*/
|
|
447
|
+
export interface ITableHeader {
|
|
448
|
+
/** Título del header */
|
|
449
|
+
title: string;
|
|
450
|
+
/** Alinieación del header */
|
|
451
|
+
align: "start" | "center" | "end";
|
|
452
|
+
/** Indica si la columna es ordenable */
|
|
453
|
+
sortable: boolean;
|
|
454
|
+
/** Key o Id del header */
|
|
455
|
+
key: string;
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* Tipo para los filtros de ordenamiento de la tabla.
|
|
459
|
+
*
|
|
460
|
+
* @type TSortValue
|
|
461
|
+
*/
|
|
462
|
+
export type TSortValue = boolean | "asc" | "desc";
|
|
463
|
+
/**
|
|
464
|
+
* Interfaz para los filtros de ordenamiento la tabla.
|
|
465
|
+
*
|
|
466
|
+
* @interface ISort
|
|
467
|
+
*/
|
|
468
|
+
export interface ISort extends Record<string, TSortValue> {
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Interfaz para los breadcumbs.
|
|
472
|
+
*
|
|
473
|
+
* @interface IBreadCumbElement
|
|
474
|
+
*
|
|
475
|
+
* @property {string} - *title* - Título del breadcumb
|
|
476
|
+
* @property {boolean} - *disabled* - Indica si el breadcumb esta deshabilitado
|
|
477
|
+
* @property {string} - *href* - Ruta del breadcumb
|
|
478
|
+
*/
|
|
479
|
+
export interface IBreadCumbElement {
|
|
480
|
+
/** Título del breadcumb */
|
|
481
|
+
title: string;
|
|
482
|
+
/** Indica si el breadcumb esta deshabilitado */
|
|
483
|
+
disabled: boolean;
|
|
484
|
+
/** Ruta del breadcumb */
|
|
485
|
+
href: string;
|
|
486
|
+
}
|
|
487
|
+
/**
|
|
488
|
+
* Interfaz para los breadcumbs de los módulos.
|
|
489
|
+
*
|
|
490
|
+
* @interface IBreadCumbs
|
|
491
|
+
*
|
|
492
|
+
* @property {IBreadCumbElement[]} - *list* - Breadcumbs para listado
|
|
493
|
+
* @property {IBreadCumbElement[]} - *create* - Breadcumbs para creación
|
|
494
|
+
* @property {IBreadCumbElement[]} - *edit* - Breadcumbs para edición
|
|
495
|
+
*/
|
|
496
|
+
export interface IBreadCumbs {
|
|
497
|
+
/** Breadcumbs para listado */
|
|
498
|
+
LIST: IBreadCumbElement[];
|
|
499
|
+
/** Breadcumbs para creación */
|
|
500
|
+
CREATE: IBreadCumbElement[];
|
|
501
|
+
/** Breadcumbs para edición */
|
|
502
|
+
EDIT: IBreadCumbElement[];
|
|
503
|
+
}
|
|
504
|
+
export type TFormBuilderField = IFormBuilderFieldText | IFormBuilderFieldTextArea | IFormBuilderFieldNumber | IFormBuilderFieldDate | IFormBuilderFieldSelect | IFormBuilderFieldSlot | IFormBuilderFieldCheckBox | IFormBuilderFieldRadioButton | IFormBuilderFieldSwitch;
|
|
505
|
+
export interface IFormBuilderConfig {
|
|
506
|
+
rows?: IFormBuilderRow[];
|
|
507
|
+
tabs?: IFormBuilderTab[];
|
|
508
|
+
title: string;
|
|
509
|
+
variant: "SINGLEFORM" | "TABS" | "STEPPERS";
|
|
510
|
+
stepper?: {
|
|
511
|
+
LabelLocation?: "LEFT" | "BOTTOM";
|
|
512
|
+
};
|
|
513
|
+
}
|
|
514
|
+
export interface IFormBuilderTab {
|
|
515
|
+
rows: IFormBuilderRow[];
|
|
516
|
+
title: string;
|
|
517
|
+
value: number;
|
|
518
|
+
}
|
|
519
|
+
export interface IFormBuilderRow {
|
|
520
|
+
class?: string;
|
|
521
|
+
fields: TFormBuilderField[];
|
|
522
|
+
section?: IFormBuilderSection;
|
|
523
|
+
}
|
|
524
|
+
export interface IFormBuilderSection {
|
|
525
|
+
title: string;
|
|
526
|
+
}
|
|
527
|
+
export interface IFormBuilderFieldBase {
|
|
528
|
+
disabled?: boolean;
|
|
529
|
+
key: string;
|
|
530
|
+
label: string;
|
|
531
|
+
model: any;
|
|
532
|
+
placeHolder?: string;
|
|
533
|
+
readonly?: boolean;
|
|
534
|
+
required: boolean;
|
|
535
|
+
rules: any[];
|
|
536
|
+
size: number;
|
|
537
|
+
title: string;
|
|
538
|
+
type: TFormField;
|
|
539
|
+
}
|
|
540
|
+
export interface IFormBuilderFieldSlot extends IFormBuilderFieldBase {
|
|
541
|
+
}
|
|
542
|
+
export interface IFormBuilderFieldText extends IFormBuilderFieldBase {
|
|
543
|
+
maxlength?: number;
|
|
544
|
+
}
|
|
545
|
+
export interface IFormBuilderFieldTextArea extends IFormBuilderFieldBase {
|
|
546
|
+
maxlength?: number;
|
|
547
|
+
resizable?: boolean;
|
|
548
|
+
rows?: number;
|
|
549
|
+
}
|
|
550
|
+
export interface IFormBuilderFieldNumber extends IFormBuilderFieldBase {
|
|
551
|
+
max?: number;
|
|
552
|
+
maxlength?: number;
|
|
553
|
+
min?: number;
|
|
554
|
+
}
|
|
555
|
+
export interface IFormBuilderFieldDate extends IFormBuilderFieldBase {
|
|
556
|
+
displayFormat: TVuetifyDateFormat;
|
|
557
|
+
}
|
|
558
|
+
export interface IFormBuilderFieldSelect extends IFormBuilderFieldBase {
|
|
559
|
+
items: any[];
|
|
560
|
+
itemTitle: string;
|
|
561
|
+
itemValue: string;
|
|
562
|
+
returnObject: boolean;
|
|
563
|
+
}
|
|
564
|
+
export interface IFormBuilderFieldCheckBox extends IFormBuilderFieldBase {
|
|
565
|
+
falseValue?: any;
|
|
566
|
+
indeterminate?: boolean;
|
|
567
|
+
trueValue?: any;
|
|
568
|
+
}
|
|
569
|
+
export interface IFormBuilderFieldRadioButtonItem {
|
|
570
|
+
label: string;
|
|
571
|
+
value: any;
|
|
572
|
+
}
|
|
573
|
+
export interface IFormBuilderFieldRadioButton extends IFormBuilderFieldBase {
|
|
574
|
+
inline: boolean;
|
|
575
|
+
items: IFormBuilderFieldRadioButtonItem[];
|
|
576
|
+
labelLocation: "TOP" | "LEFT";
|
|
577
|
+
}
|
|
578
|
+
export interface IFormBuilderFieldSwitch extends IFormBuilderFieldBase {
|
|
579
|
+
falseValue?: any;
|
|
580
|
+
indeterminate?: boolean;
|
|
581
|
+
inset?: boolean;
|
|
582
|
+
labelPrepend?: string;
|
|
583
|
+
trueValue?: any;
|
|
584
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FetchClient } from "../classes/FetchClient.js";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retorna la fecha en formato ISO-8601.
|
|
3
|
+
*
|
|
4
|
+
* @param [Date] date
|
|
5
|
+
* @param [string] timeStamp
|
|
6
|
+
* @param [string] timeOffset
|
|
7
|
+
*
|
|
8
|
+
* @return *string*
|
|
9
|
+
*/
|
|
10
|
+
declare const _default: (date: Date, timeStamp?: string, timeOffset?: string) => string;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retorna si un número esta dentro de un rango.
|
|
3
|
+
*
|
|
4
|
+
* @param [number] num - Número a validar
|
|
5
|
+
* @param [number] min - Rango inferior - *null*
|
|
6
|
+
* @param [number] max - Rango superior - *null*
|
|
7
|
+
*
|
|
8
|
+
* @return *boolean*
|
|
9
|
+
*/
|
|
10
|
+
declare const _default: (num: number, min: number | null, max: number | null) => boolean;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convierte un string a boolean. Si es "true" retorna verdadero, cualquier otro valor sera convertido a falso.
|
|
3
|
+
*
|
|
4
|
+
* @param [string] value - Texto a convertir
|
|
5
|
+
*
|
|
6
|
+
* @return *boolean*
|
|
7
|
+
*/
|
|
8
|
+
declare const _default: (value: string) => boolean;
|
|
9
|
+
export default _default;
|