angular-matecu 4.0.7 → 4.1.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 +347 -130
- package/ng-package.json +7 -0
- package/package.json +6 -21
- package/src/lib/components/matecu-alert-box/matecu-alert-box.component.html +11 -0
- package/src/lib/components/matecu-alert-box/matecu-alert-box.component.scss +39 -0
- package/src/lib/components/matecu-alert-box/matecu-alert-box.component.spec.ts +25 -0
- package/src/lib/components/matecu-alert-box/matecu-alert-box.component.ts +60 -0
- package/src/lib/components/matecu-alert-dialog/matecu-alert-dialog.component.html +24 -0
- package/src/lib/components/matecu-alert-dialog/matecu-alert-dialog.component.scss +5 -0
- package/src/lib/components/matecu-alert-dialog/matecu-alert-dialog.component.spec.ts +25 -0
- package/src/lib/components/matecu-alert-dialog/matecu-alert-dialog.component.ts +53 -0
- package/src/lib/components/matecu-alert-snack-bar/matecu-alert-snack-bar.component.html +10 -0
- package/src/lib/components/matecu-alert-snack-bar/matecu-alert-snack-bar.component.scss +34 -0
- package/src/lib/components/matecu-alert-snack-bar/matecu-alert-snack-bar.component.spec.ts +25 -0
- package/src/lib/components/matecu-alert-snack-bar/matecu-alert-snack-bar.component.ts +45 -0
- package/src/lib/components/matecu-autocomplete/matecu-autocomplete.html +36 -0
- package/src/lib/components/matecu-autocomplete/matecu-autocomplete.scss +56 -0
- package/src/lib/components/matecu-autocomplete/matecu-autocomplete.spec.ts +23 -0
- package/src/lib/components/matecu-autocomplete/matecu-autocomplete.ts +336 -0
- package/src/lib/components/matecu-autocomplete-multiple/matecu-autocomplete-multiple.html +64 -0
- package/src/lib/components/matecu-autocomplete-multiple/matecu-autocomplete-multiple.scss +23 -0
- package/src/lib/components/matecu-autocomplete-multiple/matecu-autocomplete-multiple.spec.ts +23 -0
- package/src/lib/components/matecu-autocomplete-multiple/matecu-autocomplete-multiple.ts +314 -0
- package/src/lib/components/matecu-file-input/matecu-file-input-customization.md +284 -0
- package/src/lib/components/matecu-file-input/matecu-file-input.example.md +228 -0
- package/src/lib/components/matecu-file-input/matecu-file-input.html +128 -0
- package/src/lib/components/matecu-file-input/matecu-file-input.scss +461 -0
- package/src/lib/components/matecu-file-input/matecu-file-input.spec.ts +340 -0
- package/src/lib/components/matecu-file-input/matecu-file-input.ts +438 -0
- package/src/lib/components/matecu-spinner/matecu-spinner.component.css +15 -0
- package/src/lib/components/matecu-spinner/matecu-spinner.component.html +44 -0
- package/src/lib/components/matecu-spinner/matecu-spinner.component.spec.ts +25 -0
- package/src/lib/components/matecu-spinner/matecu-spinner.component.ts +54 -0
- package/src/lib/components/matecu-spinner/spinner-loader.component.scss +13 -0
- package/src/lib/components/matecu-topbar-action/matecu-topbar-action.component.html +1 -0
- package/src/lib/components/matecu-topbar-action/matecu-topbar-action.component.scss +19 -0
- package/src/lib/components/matecu-topbar-action/matecu-topbar-action.component.spec.ts +25 -0
- package/src/lib/components/matecu-topbar-action/matecu-topbar-action.component.ts +14 -0
- package/src/lib/components/matecu-topbar-body/matecu-topbar-body.component.html +1 -0
- package/src/lib/components/matecu-topbar-body/matecu-topbar-body.component.scss +14 -0
- package/src/lib/components/matecu-topbar-body/matecu-topbar-body.component.spec.ts +25 -0
- package/src/lib/components/matecu-topbar-body/matecu-topbar-body.component.ts +11 -0
- package/src/lib/components/matecu-topbar-fab/matecu-topbar-fab.component.html +3 -0
- package/src/lib/components/matecu-topbar-fab/matecu-topbar-fab.component.scss +19 -0
- package/src/lib/components/matecu-topbar-fab/matecu-topbar-fab.component.spec.ts +25 -0
- package/src/lib/components/matecu-topbar-fab/matecu-topbar-fab.component.ts +31 -0
- package/src/lib/components/matecu-topbar-header-column/matecu-topbar-header-column.component.html +1 -0
- package/src/lib/components/matecu-topbar-header-column/matecu-topbar-header-column.component.scss +8 -0
- package/src/lib/components/matecu-topbar-header-column/matecu-topbar-header-column.component.spec.ts +23 -0
- package/src/lib/components/matecu-topbar-header-column/matecu-topbar-header-column.component.ts +11 -0
- package/src/lib/components/matecu-topbar-header-row/matecu-topbar-header-row.component.html +9 -0
- package/src/lib/components/matecu-topbar-header-row/matecu-topbar-header-row.component.scss +34 -0
- package/src/lib/components/matecu-topbar-header-row/matecu-topbar-header-row.component.spec.ts +23 -0
- package/src/lib/components/matecu-topbar-header-row/matecu-topbar-header-row.component.ts +18 -0
- package/src/lib/components/matecu-topbar-layout/matecu-topbar-layout.component.html +7 -0
- package/src/lib/components/matecu-topbar-layout/matecu-topbar-layout.component.scss +49 -0
- package/src/lib/components/matecu-topbar-layout/matecu-topbar-layout.component.spec.ts +25 -0
- package/src/lib/components/matecu-topbar-layout/matecu-topbar-layout.component.ts +112 -0
- package/src/lib/components/matecu-topbar-search/matecu-topbar-search.component.html +20 -0
- package/src/lib/components/matecu-topbar-search/matecu-topbar-search.component.scss +90 -0
- package/src/lib/components/matecu-topbar-search/matecu-topbar-search.component.spec.ts +25 -0
- package/src/lib/components/matecu-topbar-search/matecu-topbar-search.component.ts +92 -0
- package/src/lib/components/matecu-topbar-title/matecu-topbar-title.component.html +1 -0
- package/src/lib/components/matecu-topbar-title/matecu-topbar-title.component.scss +91 -0
- package/src/lib/components/matecu-topbar-title/matecu-topbar-title.component.spec.ts +25 -0
- package/src/lib/components/matecu-topbar-title/matecu-topbar-title.component.ts +14 -0
- package/src/lib/modules/matecu-alert-box/matecu-alert-box.module.ts +16 -0
- package/src/lib/modules/matecu-spinner/matecu-spinner.module.ts +14 -0
- package/src/lib/modules/matecu-topbar-layout/matecu-topbar-layout.module.ts +45 -0
- package/src/lib/services/matecu-snack-bar.service.spec.ts +16 -0
- package/src/lib/services/matecu-snack-bar.service.ts +66 -0
- package/src/lib/services/matecu-spinner.service.spec.ts +16 -0
- package/src/lib/services/matecu-spinner.service.ts +39 -0
- package/src/lib/types/matecu-alert-dialog.ts +10 -0
- package/{lib/types/matecu-alert-snackbar.d.ts → src/lib/types/matecu-alert-snackbar.ts} +5 -4
- package/src/lib/types/matecu-altert-box-type.ts +6 -0
- package/src/lib/types/matecu-autocomplete.ts +5 -0
- package/{public-api.d.ts → src/public-api.ts} +14 -0
- package/tsconfig.lib.json +17 -0
- package/tsconfig.lib.prod.json +11 -0
- package/tsconfig.spec.json +15 -0
- package/CHANGELOG.md +0 -22
- package/esm2022/angular-matecu.mjs +0 -5
- package/esm2022/lib/components/matecu-alert-box/matecu-alert-box.component.mjs +0 -67
- package/esm2022/lib/components/matecu-alert-dialog/matecu-alert-dialog.component.mjs +0 -54
- package/esm2022/lib/components/matecu-alert-snack-bar/matecu-alert-snack-bar.component.mjs +0 -43
- package/esm2022/lib/components/matecu-spinner/matecu-spinner.component.mjs +0 -58
- package/esm2022/lib/components/matecu-topbar-action/matecu-topbar-action.component.mjs +0 -18
- package/esm2022/lib/components/matecu-topbar-body/matecu-topbar-body.component.mjs +0 -17
- package/esm2022/lib/components/matecu-topbar-fab/matecu-topbar-fab.component.mjs +0 -43
- package/esm2022/lib/components/matecu-topbar-header-column/matecu-topbar-header-column.component.mjs +0 -12
- package/esm2022/lib/components/matecu-topbar-header-row/matecu-topbar-header-row.component.mjs +0 -29
- package/esm2022/lib/components/matecu-topbar-layout/matecu-topbar-layout.component.mjs +0 -112
- package/esm2022/lib/components/matecu-topbar-search/matecu-topbar-search.component.mjs +0 -93
- package/esm2022/lib/components/matecu-topbar-title/matecu-topbar-title.component.mjs +0 -18
- package/esm2022/lib/modules/matecu-alert-box/matecu-alert-box.module.mjs +0 -24
- package/esm2022/lib/modules/matecu-spinner/matecu-spinner.module.mjs +0 -22
- package/esm2022/lib/modules/matecu-topbar-layout/matecu-topbar-layout.module.mjs +0 -83
- package/esm2022/lib/services/matecu-snack-bar.service.mjs +0 -66
- package/esm2022/lib/services/matecu-spinner.service.mjs +0 -44
- package/esm2022/lib/types/matecu-alert-dialog.mjs +0 -2
- package/esm2022/lib/types/matecu-alert-snackbar.mjs +0 -2
- package/esm2022/lib/types/matecu-altert-box-type.mjs +0 -8
- package/esm2022/public-api.mjs +0 -32
- package/fesm2022/angular-matecu.mjs +0 -735
- package/fesm2022/angular-matecu.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/components/matecu-alert-box/matecu-alert-box.component.d.ts +0 -19
- package/lib/components/matecu-alert-dialog/matecu-alert-dialog.component.d.ts +0 -22
- package/lib/components/matecu-alert-snack-bar/matecu-alert-snack-bar.component.d.ts +0 -20
- package/lib/components/matecu-spinner/matecu-spinner.component.d.ts +0 -20
- package/lib/components/matecu-topbar-action/matecu-topbar-action.component.d.ts +0 -9
- package/lib/components/matecu-topbar-body/matecu-topbar-body.component.d.ts +0 -6
- package/lib/components/matecu-topbar-fab/matecu-topbar-fab.component.d.ts +0 -12
- package/lib/components/matecu-topbar-header-column/matecu-topbar-header-column.component.d.ts +0 -5
- package/lib/components/matecu-topbar-header-row/matecu-topbar-header-row.component.d.ts +0 -8
- package/lib/components/matecu-topbar-layout/matecu-topbar-layout.component.d.ts +0 -27
- package/lib/components/matecu-topbar-search/matecu-topbar-search.component.d.ts +0 -27
- package/lib/components/matecu-topbar-title/matecu-topbar-title.component.d.ts +0 -9
- package/lib/modules/matecu-alert-box/matecu-alert-box.module.d.ts +0 -14
- package/lib/modules/matecu-spinner/matecu-spinner.module.d.ts +0 -8
- package/lib/modules/matecu-topbar-layout/matecu-topbar-layout.module.d.ts +0 -19
- package/lib/services/matecu-snack-bar.service.d.ts +0 -17
- package/lib/services/matecu-spinner.service.d.ts +0 -15
- package/lib/types/matecu-alert-dialog.d.ts +0 -9
- package/lib/types/matecu-altert-box-type.d.ts +0 -6
package/README.md
CHANGED
|
@@ -2,17 +2,39 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://opensource.org/licenses/MIT)
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
Librería con componentes y utilidades para el desarrollo de aplicaciones Angular con Material Design.
|
|
6
|
+
|
|
7
|
+
## Tabla de Contenido
|
|
8
|
+
|
|
9
|
+
- [Instalación](#instalación)
|
|
10
|
+
- [Componentes de Indicadores](#componentes-de-indicadores)
|
|
11
|
+
- [matecu-spinner](#matecu-spinner-componente)
|
|
12
|
+
- [Componentes de Alertas](#componentes-de-alertas)
|
|
13
|
+
- [matecu-alert-box](#matecu-alert-box-componente)
|
|
14
|
+
- [matecu-alert-dialog](#matecu-alert-dialog-componente)
|
|
15
|
+
- [MatecuSnackBarService](#matecusnackbarservice)
|
|
16
|
+
- [Componentes de Entrada (Inputs)](#componentes-de-entrada-inputs)
|
|
17
|
+
- [matecu-autocomplete](#matecu-autocomplete-componente)
|
|
18
|
+
- [matecu-autocomplete-multiple](#matecu-autocomplete-multiple-componente)
|
|
19
|
+
- [matecu-file-input](#matecu-file-input-componente)
|
|
20
|
+
- [Componentes de Layout](#componentes-de-layout)
|
|
21
|
+
- [MatecuTopbarLayout](#matecutopbarlayout)
|
|
22
|
+
|
|
23
|
+
## Instalación
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npm install angular-matecu
|
|
27
|
+
```
|
|
8
28
|
|
|
9
|
-
|
|
29
|
+
Para versiones de Angular menores a 15 utilizar la versión ^2.0
|
|
10
30
|
|
|
11
|
-
|
|
31
|
+
```bash
|
|
32
|
+
npm install angular-matecu@^2.0
|
|
33
|
+
```
|
|
12
34
|
|
|
13
|
-
|
|
35
|
+
Ver [CHANGELOG](CHANGELOG.md)
|
|
14
36
|
|
|
15
|
-
|
|
37
|
+
## Componentes de Indicadores
|
|
16
38
|
|
|
17
39
|
## matecu-spinner (Componente)
|
|
18
40
|
|
|
@@ -22,12 +44,16 @@ Componente que genera un spinner que se puede utilizar para indicar que la app e
|
|
|
22
44
|
|
|
23
45
|
Importar componente o módulo
|
|
24
46
|
|
|
25
|
-
|
|
47
|
+
```typescript
|
|
48
|
+
import { MatecuSpinnerComponent } from 'angular-matecu';
|
|
49
|
+
```
|
|
26
50
|
|
|
27
51
|
Agregar a la plantilla de algún componente
|
|
28
52
|
|
|
29
|
-
|
|
30
|
-
|
|
53
|
+
```html
|
|
54
|
+
<matecu-spinner active="true" color="'red'" size="'30px'"></matecu-spinner>
|
|
55
|
+
<matecu-spinner global="true" color="'orange'"></matecu-spinner>
|
|
56
|
+
```
|
|
31
57
|
|
|
32
58
|
Propiedades:
|
|
33
59
|
|
|
@@ -36,23 +62,25 @@ Propiedades:
|
|
|
36
62
|
- size: (string) Tamaño del spinner
|
|
37
63
|
- global: (boolean) True indica que el cambio de visible a oculto será aplicado utilizando el servicio del spinner y aplicará a todos los que tengan asignada esta propiedad como True sin importar el valor asignado a "active"
|
|
38
64
|
|
|
39
|
-
##
|
|
65
|
+
## MatecuSpinnerService
|
|
40
66
|
|
|
41
|
-
Uso:
|
|
67
|
+
### Uso:
|
|
42
68
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
69
|
+
```typescript
|
|
70
|
+
// import { MatecuSpinnerService } from 'angular-matecu';
|
|
71
|
+
// ...
|
|
72
|
+
key: string;
|
|
73
|
+
constructor(private spinnerService: MatecuSpinnerService) {}
|
|
74
|
+
// ...
|
|
75
|
+
// mostrar el spinner
|
|
76
|
+
show() {
|
|
77
|
+
this.key = this.spinnerService.add();
|
|
78
|
+
}
|
|
79
|
+
// ocultar el spinner
|
|
80
|
+
hide() {
|
|
81
|
+
this.spinnerService.remove(this.key);
|
|
82
|
+
}
|
|
83
|
+
```
|
|
56
84
|
|
|
57
85
|
Métodos:
|
|
58
86
|
|
|
@@ -64,23 +92,29 @@ Métodos:
|
|
|
64
92
|
|
|
65
93
|
- clear: Elimina todas las claves forzando a que el spinner pase al estado inactivo.
|
|
66
94
|
|
|
95
|
+
## Componentes de Alertas
|
|
96
|
+
|
|
67
97
|
## matecu-alert-box (Componente)
|
|
68
98
|
|
|
69
99
|
### Uso:
|
|
70
100
|
|
|
71
101
|
Importar componente o módulo
|
|
72
102
|
|
|
73
|
-
|
|
103
|
+
```typescript
|
|
104
|
+
import { MatecuAlertBoxComponent } from 'angular-matecu';
|
|
105
|
+
```
|
|
74
106
|
|
|
75
107
|
Agregar a la plantilla de algún componente
|
|
76
108
|
|
|
77
|
-
|
|
109
|
+
```html
|
|
110
|
+
<matecu-alert-box color="success"> Alerta Success </matecu-alert-box>
|
|
111
|
+
```
|
|
78
112
|
|
|
79
|
-
Colores
|
|
113
|
+
**Colores disponibles:** `warning` | `danger` | `success` | `info`
|
|
80
114
|
|
|
81
115
|
## matecu-alert-dialog (Componente)
|
|
82
116
|
|
|
83
|
-
|
|
117
|
+
Diálogo de alerta o confirmación
|
|
84
118
|
|
|
85
119
|
### Uso:
|
|
86
120
|
|
|
@@ -88,106 +122,288 @@ Importar módulo
|
|
|
88
122
|
|
|
89
123
|
En el componente
|
|
90
124
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
125
|
+
```typescript
|
|
126
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
127
|
+
import { MatecuAlertDialogComponent, MatecuAlertBoxType } from 'angular-matecu';
|
|
128
|
+
import { filter } from 'rxjs/operators';
|
|
129
|
+
|
|
130
|
+
// ....
|
|
131
|
+
constructor(private dialog: MatDialog) {}
|
|
132
|
+
|
|
133
|
+
openBasicDialog(): void {
|
|
134
|
+
const message = 'Mensaje a mostrar';
|
|
135
|
+
const type = 'warning'; // warning, danger, success, info
|
|
136
|
+
const icon = true
|
|
137
|
+
const dismissText = 'Cancelar'; // texto del botón para cerrar el diálogo (opcional)
|
|
138
|
+
const action = 'Confirmar'; // texto del botón para activar la acción principal del diálogo (opcional)
|
|
139
|
+
const title = 'Título del diálogo';
|
|
140
|
+
const dialogRef = this.dialog.open(MatecuAlertDialogComponent, {
|
|
141
|
+
data: { message, type, icon, dismissText, action, title },
|
|
142
|
+
});
|
|
143
|
+
// afterClosed retorna un valor boolean o null que se puede utilizar para determinar si se va a ejecutar alguna acción
|
|
144
|
+
dialogRef.afterClosed().pipe(
|
|
145
|
+
filter(execAction => !!execAction)
|
|
146
|
+
).subscribe();
|
|
113
147
|
}
|
|
148
|
+
```
|
|
114
149
|
|
|
115
150
|
## MatecuSnackBarService
|
|
116
151
|
|
|
117
|
-
Servicio para abrir
|
|
152
|
+
Servicio para abrir diálogos snackBar con títulos con colores para Error, Success, Warning, Info
|
|
118
153
|
|
|
119
154
|
### Uso
|
|
120
155
|
|
|
121
156
|
Importar en el módulo MatecuAlertBoxModule en app.module
|
|
122
157
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
158
|
+
```typescript
|
|
159
|
+
import { MatecuAlertBoxModule } from 'angular-matecu';
|
|
160
|
+
|
|
161
|
+
@NgModule({
|
|
162
|
+
imports: [
|
|
163
|
+
...
|
|
164
|
+
MatecuAlertBoxModule
|
|
165
|
+
...
|
|
166
|
+
],
|
|
167
|
+
...
|
|
168
|
+
})
|
|
169
|
+
export class AppModule { }
|
|
170
|
+
```
|
|
133
171
|
|
|
134
172
|
En el componente
|
|
135
173
|
|
|
136
|
-
|
|
174
|
+
```typescript
|
|
175
|
+
import { MatecuSnackBarService } from 'angular-matecu';
|
|
137
176
|
|
|
138
|
-
|
|
139
|
-
|
|
177
|
+
// ....
|
|
178
|
+
constructor(private snackBar: MatecuSnackBarService) { }
|
|
140
179
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
180
|
+
openError(): void {
|
|
181
|
+
this.snackBar.openError('Mensaje de error');
|
|
182
|
+
}
|
|
183
|
+
```
|
|
144
184
|
|
|
145
185
|
### Métodos
|
|
146
186
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
187
|
+
- `openError()`
|
|
188
|
+
- `openInfo()`
|
|
189
|
+
- `openWarning()`
|
|
190
|
+
- `openSuccess()`
|
|
191
|
+
- `open()`
|
|
192
|
+
- `dismiss()`
|
|
193
|
+
|
|
194
|
+
## Componentes de Entrada (Inputs)
|
|
195
|
+
|
|
196
|
+
## matecu-autocomplete (Componente)
|
|
197
|
+
|
|
198
|
+
Componente de autocompletado simple que permite buscar y seleccionar una opción de una lista.
|
|
199
|
+
|
|
200
|
+
### Uso:
|
|
201
|
+
|
|
202
|
+
Importar componente
|
|
203
|
+
|
|
204
|
+
```typescript
|
|
205
|
+
import { MatecuAutocomplete } from 'angular-matecu';
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Agregar a la plantilla
|
|
209
|
+
|
|
210
|
+
```html
|
|
211
|
+
<matecu-autocomplete
|
|
212
|
+
[options]="options"
|
|
213
|
+
placeholder="Buscar..."
|
|
214
|
+
[allowCreate]="false"
|
|
215
|
+
[loading]="false"
|
|
216
|
+
[readonly]="false"
|
|
217
|
+
(searchChange)="onSearchChange($event)"
|
|
218
|
+
[(ngModel)]="selectedValue"
|
|
219
|
+
>
|
|
220
|
+
</matecu-autocomplete>
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Propiedades:
|
|
224
|
+
|
|
225
|
+
- `options`: Array de opciones tipo `[value, label][]`
|
|
226
|
+
- `allowCreate`: Permite crear nuevas opciones sobre la marcha
|
|
227
|
+
- `loading`: Muestra indicador de carga
|
|
228
|
+
- `readonly`: Modo de solo lectura
|
|
229
|
+
- `filterFn`: Función personalizada para filtrar opciones
|
|
230
|
+
- `searchChangeDebounceTime`: Tiempo de debounce para búsqueda (default: 300ms)
|
|
231
|
+
- `placeholder`: Texto de placeholder
|
|
232
|
+
- `required`: Campo obligatorio
|
|
233
|
+
- `disabled`: Campo deshabilitado
|
|
234
|
+
|
|
235
|
+
### Eventos:
|
|
236
|
+
|
|
237
|
+
- `searchChange`: Se emite cuando cambia el texto de búsqueda
|
|
238
|
+
|
|
239
|
+
## matecu-autocomplete-multiple (Componente)
|
|
240
|
+
|
|
241
|
+
Componente de autocompletado que permite seleccionar múltiples opciones con chips y reordenamiento por drag & drop.
|
|
242
|
+
|
|
243
|
+
### Uso:
|
|
244
|
+
|
|
245
|
+
```typescript
|
|
246
|
+
import { MatecuAutocompleteMultiple } from 'angular-matecu';
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
```html
|
|
250
|
+
<matecu-autocomplete-multiple
|
|
251
|
+
[options]="options"
|
|
252
|
+
placeholder="Seleccionar opciones..."
|
|
253
|
+
[enableSelectAll]="true"
|
|
254
|
+
[showTooltip]="true"
|
|
255
|
+
[readonly]="false"
|
|
256
|
+
[loading]="false"
|
|
257
|
+
selectAllLabel="Seleccionar Todo"
|
|
258
|
+
clearAllLabel="Limpiar Todo"
|
|
259
|
+
(searchChange)="onSearchChange($event)"
|
|
260
|
+
[(ngModel)]="selectedValues"
|
|
261
|
+
>
|
|
262
|
+
</matecu-autocomplete-multiple>
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### Propiedades:
|
|
266
|
+
|
|
267
|
+
- `options`: Array de opciones tipo `[value, label][]`
|
|
268
|
+
- `enableSelectAll`: Habilita botones de "Seleccionar Todo" y "Limpiar Todo"
|
|
269
|
+
- `showTooltip`: Muestra tooltip con el texto completo en chips largos
|
|
270
|
+
- `selectAllLabel`: Texto del botón "Seleccionar Todo"
|
|
271
|
+
- `clearAllLabel`: Texto del botón "Limpiar Todo"
|
|
272
|
+
- `filterFn`: Función personalizada para filtrar opciones
|
|
273
|
+
- `searchChangeDebounceTime`: Tiempo de debounce para búsqueda (default: 300ms)
|
|
274
|
+
- `placeholder`: Texto de placeholder
|
|
275
|
+
- `loading`: Muestra indicador de carga
|
|
276
|
+
- `readonly`: Modo de solo lectura
|
|
277
|
+
|
|
278
|
+
### Eventos:
|
|
279
|
+
|
|
280
|
+
- `searchChange`: Se emite cuando cambia el texto de búsqueda
|
|
281
|
+
|
|
282
|
+
### Funcionalidades:
|
|
283
|
+
|
|
284
|
+
- **Drag & Drop**: Los chips seleccionados se pueden reordenar arrastrando
|
|
285
|
+
- **Virtual Scrolling**: Optimizado para listas grandes de opciones
|
|
286
|
+
- **Select All/Clear All**: Botones para seleccionar o limpiar todas las opciones
|
|
287
|
+
- **Tooltips**: Muestra el texto completo cuando el chip es muy largo
|
|
288
|
+
|
|
289
|
+
## matecu-file-input (Componente)
|
|
290
|
+
|
|
291
|
+
Componente avanzado para carga de archivos con validaciones, preview, drag & drop y optimización de imágenes.
|
|
292
|
+
|
|
293
|
+
### Uso:
|
|
294
|
+
|
|
295
|
+
```typescript
|
|
296
|
+
import { MatecuFileInput } from 'angular-matecu';
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
```html
|
|
300
|
+
<matecu-file-input
|
|
301
|
+
[multiple]="false"
|
|
302
|
+
[maxFiles]="1"
|
|
303
|
+
[maxFileSize]="5242880"
|
|
304
|
+
[acceptedMimeTypes]="['image/jpeg', 'image/png']"
|
|
305
|
+
[acceptedExtensions]="['.jpg', '.png']"
|
|
306
|
+
[showPreview]="true"
|
|
307
|
+
[enableDragDrop]="true"
|
|
308
|
+
[showFileSize]="true"
|
|
309
|
+
placeholder="Selecciona un archivo o arrastra aquí"
|
|
310
|
+
buttonText="Seleccionar archivo"
|
|
311
|
+
(fileSelect)="onFileSelect($event)"
|
|
312
|
+
(fileRemove)="onFileRemove($event)"
|
|
313
|
+
[(ngModel)]="selectedFiles"
|
|
314
|
+
>
|
|
315
|
+
</matecu-file-input>
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### Propiedades de Validación:
|
|
319
|
+
|
|
320
|
+
- `maxFileSize`: Tamaño máximo de archivo en bytes
|
|
321
|
+
- `maxFiles`: Número máximo de archivos permitidos
|
|
322
|
+
- `acceptedMimeTypes`: Array de tipos MIME permitidos
|
|
323
|
+
- `acceptedExtensions`: Array de extensiones de archivo permitidas
|
|
324
|
+
|
|
325
|
+
### Propiedades de Funcionalidad:
|
|
326
|
+
|
|
327
|
+
- `multiple`: Permite selección múltiple de archivos
|
|
328
|
+
- `enableDragDrop`: Habilita funcionalidad de drag & drop
|
|
329
|
+
- `showPreview`: Muestra preview de imágenes
|
|
330
|
+
- `showFileSize`: Muestra el tamaño de los archivos
|
|
331
|
+
- `fileSizeUnit`: Unidad para mostrar tamaño ('AUTO', 'bytes', 'KB', 'MB', 'GB', 'TB')
|
|
332
|
+
|
|
333
|
+
### Propiedades de UI:
|
|
334
|
+
|
|
335
|
+
- `placeholder`: Texto cuando no hay archivos seleccionados
|
|
336
|
+
- `buttonText`: Texto del botón de selección
|
|
337
|
+
- `changeSelectedFileText`: Texto del botón para cambiar archivo
|
|
338
|
+
- `loadingText`: Texto durante procesamiento
|
|
339
|
+
- `previewMaxWidth`/`previewMaxHeight`: Tamaño máximo del preview
|
|
340
|
+
|
|
341
|
+
### Optimización de Imágenes:
|
|
342
|
+
|
|
343
|
+
```typescript
|
|
344
|
+
// Función personalizada de optimización
|
|
345
|
+
optimizeImage = async (file: File): Promise<File> => {
|
|
346
|
+
// Tu lógica de optimización
|
|
347
|
+
return optimizedFile;
|
|
348
|
+
};
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
```html
|
|
352
|
+
<matecu-file-input [optimizeImage]="optimizeImage" [optimizeImageToSize]="1024000">
|
|
353
|
+
</matecu-file-input>
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
### Eventos:
|
|
357
|
+
|
|
358
|
+
- `fileSelect`: Se emite cuando se seleccionan archivos
|
|
359
|
+
- `fileRemove`: Se emite cuando se remueve un archivo
|
|
360
|
+
- `validationError`: Se emite cuando hay errores de validación
|
|
361
|
+
|
|
362
|
+
### Estados del Componente:
|
|
363
|
+
|
|
364
|
+
- `IDLE`: Estado inicial
|
|
365
|
+
- `LOADING`: Procesando archivos
|
|
366
|
+
- `SUCCESS`: Archivos procesados correctamente
|
|
367
|
+
- `ERROR`: Error en procesamiento
|
|
368
|
+
|
|
369
|
+
## Componentes de Layout
|
|
153
370
|
|
|
154
371
|
## MatecuTopbarLayout
|
|
155
372
|
|
|
156
|
-
Crea la estructura para una página que contiene un topbar en posición fija a la que se le pueden agregar botones de acciones,
|
|
373
|
+
Crea la estructura para una página que contiene un topbar en posición fija a la que se le pueden agregar botones de acciones, título y buscador.
|
|
157
374
|
|
|
158
375
|
El contenido de la página tiene una función que se puede llamar para realizar un desplazamiento hacia arriba.
|
|
159
376
|
|
|
160
|
-
|
|
377
|
+
### Ejemplo básico
|
|
161
378
|
|
|
162
379
|
Importar módulo o componentes
|
|
163
380
|
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
imports: [
|
|
381
|
+
```typescript
|
|
382
|
+
// ...
|
|
383
|
+
import { MatecuTopbarLayoutModule } from 'angular-matecu';
|
|
384
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
385
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
386
|
+
// Se pueden importar los componentes de forma individual
|
|
387
|
+
// ...
|
|
388
|
+
@NgModule({
|
|
389
|
+
declarations: [AppComponent],
|
|
390
|
+
imports: [
|
|
175
391
|
// ...
|
|
176
392
|
MatecuTopbarLayoutModule,
|
|
177
393
|
MatIconModule,
|
|
178
|
-
MatButtonModule
|
|
394
|
+
MatButtonModule,
|
|
179
395
|
// ...
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
396
|
+
],
|
|
397
|
+
providers: [],
|
|
398
|
+
bootstrap: [AppComponent],
|
|
399
|
+
})
|
|
400
|
+
export class AppModule {}
|
|
185
401
|
```
|
|
186
402
|
|
|
187
403
|
Agregar a la plantilla de algún componente:
|
|
188
404
|
|
|
189
|
-
```
|
|
190
|
-
|
|
405
|
+
```html
|
|
406
|
+
<matecu-topbar-layout #topbar>
|
|
191
407
|
<matecu-topbar-header-row first-row>
|
|
192
408
|
<matecu-topbar-header-column left-column>
|
|
193
409
|
<matecu-topbar-action>
|
|
@@ -213,12 +429,11 @@ Agregar a la plantilla de algún componente:
|
|
|
213
429
|
<button (click)="topbar.scrollTop()">Regresar al inicio</button>
|
|
214
430
|
</matecu-topbar-body>
|
|
215
431
|
</matecu-topbar-layout>
|
|
216
|
-
|
|
217
432
|
```
|
|
218
433
|
|
|
219
434
|
Agregar al componente el método para capturar el texto de búsqueda
|
|
220
435
|
|
|
221
|
-
```
|
|
436
|
+
```typescript
|
|
222
437
|
import { Component } from '@angular/core';
|
|
223
438
|
|
|
224
439
|
@Component({
|
|
@@ -230,27 +445,27 @@ export class AppComponent {
|
|
|
230
445
|
searchFunction(searchText: string) {
|
|
231
446
|
console.log(searchText);
|
|
232
447
|
}
|
|
233
|
-
|
|
234
448
|
}
|
|
235
|
-
|
|
236
449
|
```
|
|
237
450
|
|
|
238
451
|
Ajustar los colores y los estilos en el archivo de css del componente o el archivo de css global
|
|
239
452
|
|
|
240
|
-
|
|
453
|
+
```scss
|
|
241
454
|
// global
|
|
242
455
|
:root {
|
|
243
|
-
|
|
456
|
+
// ...
|
|
244
457
|
--mtb-primary-color: red;
|
|
245
458
|
// ...
|
|
246
459
|
}
|
|
460
|
+
|
|
247
461
|
// en el componente
|
|
248
462
|
:host {
|
|
249
|
-
|
|
463
|
+
// ...
|
|
250
464
|
--mtb-primary-color: red;
|
|
251
465
|
// ...
|
|
252
466
|
}
|
|
253
467
|
```
|
|
468
|
+
|
|
254
469
|
## Componentes
|
|
255
470
|
|
|
256
471
|
### MatecuTopbarLayout:
|
|
@@ -275,26 +490,26 @@ Componente principal
|
|
|
275
490
|
|
|
276
491
|
### Outputs
|
|
277
492
|
|
|
278
|
-
- mobileStyleChange: Propiedad que se actualiza cuando se
|
|
279
|
-
- whenResize: Evento que se emite cuando se
|
|
493
|
+
- mobileStyleChange: Propiedad que se actualiza cuando se redimensiona el componente y se calcula utilizando el valor de mobileWidth. Indica si se deben aplicar estilos para dispositivos móviles
|
|
494
|
+
- whenResize: Evento que se emite cuando se redimensiona el componente y retorna el nuevo valor del ancho.
|
|
280
495
|
|
|
281
|
-
###
|
|
496
|
+
### Métodos
|
|
282
497
|
|
|
283
|
-
- scrollTop
|
|
498
|
+
- scrollTop: Función que se puede llamar desde el componente padre y hace scroll del contenido hacia la parte superior
|
|
284
499
|
|
|
285
500
|
### MatecuTopbarHeaderRow
|
|
286
501
|
|
|
287
|
-
Crea una fila para agregar contenido en el encabezado, pueden agregarse hasta 2 filas y es necesario agregar alguno de los siguientes atributos first-row
|
|
502
|
+
Crea una fila para agregar contenido en el encabezado, pueden agregarse hasta 2 filas y es necesario agregar alguno de los siguientes atributos `first-row`, `second-row`
|
|
288
503
|
|
|
289
504
|
#### Variables de estilos
|
|
290
505
|
|
|
291
|
-
-
|
|
292
|
-
-
|
|
293
|
-
-
|
|
506
|
+
- `--mtb-row-padding`
|
|
507
|
+
- `--mtb-row-margin`
|
|
508
|
+
- `--mtb-row-width`
|
|
294
509
|
|
|
295
510
|
### MatecuTopbarHeaderColumn
|
|
296
511
|
|
|
297
|
-
Crea una columna para agregar contenido a una fila del encabezado es necesario agregar alguno de los siguientes atributos left-column
|
|
512
|
+
Crea una columna para agregar contenido a una fila del encabezado es necesario agregar alguno de los siguientes atributos `left-column`, `right-column`
|
|
298
513
|
|
|
299
514
|
### MatecuTopbarAction
|
|
300
515
|
|
|
@@ -302,23 +517,22 @@ Crea un contenedor para agregar acciones como links o botones preferentemente en
|
|
|
302
517
|
|
|
303
518
|
#### Variables de estilos
|
|
304
519
|
|
|
305
|
-
-
|
|
306
|
-
-
|
|
520
|
+
- `--mtb-action-padding`
|
|
521
|
+
- `--mtb-action-margin`
|
|
307
522
|
|
|
308
523
|
### MatecuTopbarFab
|
|
309
524
|
|
|
310
|
-
Crea un contenedor para agregar un
|
|
525
|
+
Crea un contenedor para agregar un botón (FAB)
|
|
311
526
|
|
|
312
527
|
#### Variables de estilos
|
|
313
528
|
|
|
314
|
-
-
|
|
315
|
-
|
|
316
|
-
- --mtb-fab-mobile-right-position: Posición relativa a la parte inferior del componente MatecuTopbarLayout
|
|
529
|
+
- `--mtb-fab-mobile-bottom-position`: Posición relativa a la parte inferior del componente principal que se aplica cuando están activos los estilos para dispositivos móviles.
|
|
530
|
+
- `--mtb-fab-mobile-right-position`: Posición relativa a la parte inferior del componente MatecuTopbarLayout
|
|
317
531
|
|
|
318
532
|
#### Inputs
|
|
319
533
|
|
|
320
|
-
- mobileStyle
|
|
321
|
-
- display
|
|
534
|
+
- `mobileStyle`: Valor booleano que indica si se ajustan los estilos para dispositivos móviles
|
|
535
|
+
- `display`: Valor boolean que indica si se debe mostrar el componente
|
|
322
536
|
|
|
323
537
|
### MatecuTopbarSearch
|
|
324
538
|
|
|
@@ -326,14 +540,14 @@ Crea un campo de texto para hacer búsquedas
|
|
|
326
540
|
|
|
327
541
|
#### Inputs
|
|
328
542
|
|
|
329
|
-
- value
|
|
330
|
-
- mobileStyle
|
|
331
|
-
- placeholder
|
|
332
|
-
- display
|
|
543
|
+
- `value`: Especifica el valor de la búsqueda
|
|
544
|
+
- `mobileStyle`: Valor booleano que indica si se ajustan los estilos para dispositivos móviles
|
|
545
|
+
- `placeholder`: Valor del Placeholder del campo de búsqueda
|
|
546
|
+
- `display`: Valor boolean que indica si se debe mostrar el componente
|
|
333
547
|
|
|
334
548
|
#### Outputs
|
|
335
549
|
|
|
336
|
-
- valueChanges
|
|
550
|
+
- `valueChanges`: Emite un evento con el valor del texto ingresado en el campo de búsqueda
|
|
337
551
|
|
|
338
552
|
### MatecuTopbarTitle
|
|
339
553
|
|
|
@@ -341,8 +555,8 @@ Crea un contenedor para agregar un título a la página.
|
|
|
341
555
|
|
|
342
556
|
#### Variables de estilos
|
|
343
557
|
|
|
344
|
-
-
|
|
345
|
-
-
|
|
558
|
+
- `--mtb-title-padding`
|
|
559
|
+
- `--mtb-title-margin`
|
|
346
560
|
|
|
347
561
|
### MatecuTopbarBody
|
|
348
562
|
|
|
@@ -350,7 +564,10 @@ Crea un contenedor para agregar el contenido de la página
|
|
|
350
564
|
|
|
351
565
|
#### Variables de estilos
|
|
352
566
|
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
567
|
+
- `--mtb-body-padding`: Padding para el contenido
|
|
568
|
+
- `--mtb-body-background`: Fondo del contenido
|
|
569
|
+
- `--mtb-body-padding-button`: Padding inferior (Es utilizado para asignar un espacio al Botón principal (FAB) cuando tiene asignados los estilos para dispositivos móviles)
|
|
570
|
+
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
```
|