valtech-components 4.0.983 → 4.0.985
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/esm2022/lib/components/organisms/field-schema-editor/field-schema-editor.component.mjs +37 -5
- package/esm2022/lib/components/organisms/survey-builder/survey-builder.component.mjs +29 -4
- package/esm2022/lib/components/organisms/survey-response/survey-response.component.mjs +20 -4
- package/esm2022/lib/services/requests/types.mjs +1 -1
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +84 -11
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/field-schema-editor/field-schema-editor.component.d.ts +10 -1
- package/lib/components/organisms/survey-builder/survey-builder.component.d.ts +10 -0
- package/lib/components/organisms/survey-response/survey-response.component.d.ts +8 -2
- package/lib/services/requests/types.d.ts +18 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -33,6 +33,13 @@ export declare const FIELD_TYPES_WITH_OPTIONS: string[];
|
|
|
33
33
|
export declare class FieldSchemaEditorComponent implements OnInit {
|
|
34
34
|
props: FieldSchemaEditorMetadata;
|
|
35
35
|
readonly save: EventEmitter<EditableFieldDef>;
|
|
36
|
+
/**
|
|
37
|
+
* Emite en cada tecla, sin validar. Existe porque el consumer necesita el
|
|
38
|
+
* borrador en vivo: si solo tuviera `save`, lo escrito acá no existiría para
|
|
39
|
+
* él hasta que alguien toque su botón — y lo escrito ES la intención del
|
|
40
|
+
* usuario, no un borrador que haya que confirmar.
|
|
41
|
+
*/
|
|
42
|
+
readonly changed: EventEmitter<EditableFieldDef>;
|
|
36
43
|
private readonly i18n;
|
|
37
44
|
private readonly formSchemas;
|
|
38
45
|
readonly labelControl: FormControl<string>;
|
|
@@ -69,6 +76,8 @@ export declare class FieldSchemaEditorComponent implements OnInit {
|
|
|
69
76
|
state: import("../../types").ComponentState;
|
|
70
77
|
options: FieldOption[];
|
|
71
78
|
}>;
|
|
79
|
+
setOptions(options: FieldOption[]): void;
|
|
80
|
+
private emitChange;
|
|
72
81
|
selectPreset(preset: FieldSchemaEditorPreset): void;
|
|
73
82
|
/**
|
|
74
83
|
* Valida y emite. Público a propósito: lo llama el consumer desde el botón
|
|
@@ -86,5 +95,5 @@ export declare class FieldSchemaEditorComponent implements OnInit {
|
|
|
86
95
|
*/
|
|
87
96
|
private coerceType;
|
|
88
97
|
static ɵfac: i0.ɵɵFactoryDeclaration<FieldSchemaEditorComponent, never>;
|
|
89
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FieldSchemaEditorComponent, "val-field-schema-editor", never, { "props": { "alias": "props"; "required": false; }; }, { "save": "save"; }, never, never, true, never>;
|
|
98
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FieldSchemaEditorComponent, "val-field-schema-editor", never, { "props": { "alias": "props"; "required": false; }; }, { "save": "save"; "changed": "changed"; }, never, never, true, never>;
|
|
90
99
|
}
|
|
@@ -47,6 +47,16 @@ export declare class SurveyBuilderComponent implements OnInit {
|
|
|
47
47
|
removeQuestion(row: EditableFieldDef): void;
|
|
48
48
|
duplicate(row: EditableFieldDef): void;
|
|
49
49
|
move(index: number, delta: number): void;
|
|
50
|
+
/**
|
|
51
|
+
* Guarda lo que se está escribiendo, sin cerrar el editor ni validar.
|
|
52
|
+
*
|
|
53
|
+
* Sin esto, lo tipeado solo existía dentro del editor hasta que alguien
|
|
54
|
+
* tocaba "Listo": la fila seguía diciendo "Pregunta sin texto" y, peor,
|
|
55
|
+
* "Guardar encuesta" fallaba con "todas las preguntas necesitan texto" sobre
|
|
56
|
+
* una pregunta que en pantalla claramente tenía texto. Tocar "Listo" era un
|
|
57
|
+
* paso obligatorio que no se veía por ningún lado.
|
|
58
|
+
*/
|
|
59
|
+
draftQuestion(field: EditableFieldDef): void;
|
|
50
60
|
applyQuestion(field: EditableFieldDef): void;
|
|
51
61
|
save(): Promise<void>;
|
|
52
62
|
private rowFromField;
|
|
@@ -95,8 +95,14 @@ export declare class SurveyResponseComponent implements OnInit {
|
|
|
95
95
|
}): string;
|
|
96
96
|
/** Puede responder sin sesión si el tipo lo permite; si no, hace falta login. */
|
|
97
97
|
readonly canRespond: import("@angular/core").Signal<boolean>;
|
|
98
|
-
/**
|
|
99
|
-
*
|
|
98
|
+
/**
|
|
99
|
+
* El tipo puede seguir exigiendo identidad al anónimo (`skipSubmitterIdentity`
|
|
100
|
+
* ausente o false): es el caso de las solicitudes de Chesed/Okhelia, donde
|
|
101
|
+
* saber quién pidió ES el punto. Una encuesta pone el flag en true y entonces
|
|
102
|
+
* no se pide nada — si la organización necesita el correo de quien responde,
|
|
103
|
+
* lo agrega como una PREGUNTA de tipo Correo. Eso es configuración de la
|
|
104
|
+
* encuesta; el formulario no cobra peaje por su cuenta.
|
|
105
|
+
*/
|
|
100
106
|
needsIdentity(): boolean;
|
|
101
107
|
readonly submitState: import("@angular/core").Signal<"ENABLED" | "WORKING">;
|
|
102
108
|
submit(): Promise<void>;
|
|
@@ -69,6 +69,12 @@ export interface RequestTypeConfig {
|
|
|
69
69
|
* solicitud (Chesed adopciones, Okhelia recetas).
|
|
70
70
|
*/
|
|
71
71
|
skipReview?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* true = el formulario NO pide nombre ni correo a quien responde sin sesión.
|
|
74
|
+
* Si hacen falta, se agregan como pregunta — eso es configuración de la
|
|
75
|
+
* encuesta, no un peaje que el formulario cobra por su cuenta.
|
|
76
|
+
*/
|
|
77
|
+
skipSubmitterIdentity?: boolean;
|
|
72
78
|
fieldSchema: FieldSchemaDef[];
|
|
73
79
|
allowAnonymous: boolean;
|
|
74
80
|
/**
|
|
@@ -130,6 +136,12 @@ export interface CreateRequestTypePayload {
|
|
|
130
136
|
subtitle?: string;
|
|
131
137
|
entityRef?: EntityRef;
|
|
132
138
|
skipReview?: boolean;
|
|
139
|
+
/**
|
|
140
|
+
* true = el formulario NO pide nombre ni correo a quien responde sin sesión.
|
|
141
|
+
* Si hacen falta, se agregan como pregunta — eso es configuración de la
|
|
142
|
+
* encuesta, no un peaje que el formulario cobra por su cuenta.
|
|
143
|
+
*/
|
|
144
|
+
skipSubmitterIdentity?: boolean;
|
|
133
145
|
fieldSchema: FieldSchemaDef[];
|
|
134
146
|
allowAnonymous: boolean;
|
|
135
147
|
visibility?: RequestVisibility;
|
|
@@ -140,6 +152,12 @@ export interface UpdateRequestTypePayload {
|
|
|
140
152
|
subtitle?: string;
|
|
141
153
|
entityRef?: EntityRef;
|
|
142
154
|
skipReview?: boolean;
|
|
155
|
+
/**
|
|
156
|
+
* true = el formulario NO pide nombre ni correo a quien responde sin sesión.
|
|
157
|
+
* Si hacen falta, se agregan como pregunta — eso es configuración de la
|
|
158
|
+
* encuesta, no un peaje que el formulario cobra por su cuenta.
|
|
159
|
+
*/
|
|
160
|
+
skipSubmitterIdentity?: boolean;
|
|
143
161
|
fieldSchema: FieldSchemaDef[];
|
|
144
162
|
allowAnonymous: boolean;
|
|
145
163
|
visibility?: RequestVisibility;
|
package/lib/version.d.ts
CHANGED