@sealcode/sealgen 0.8.0 → 0.8.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/@types/forms/controls/autocomplete.d.ts +20 -0
- package/@types/forms/controls/checkbox-group.d.ts +21 -0
- package/@types/forms/controls/checkbox.d.ts +8 -1
- package/@types/forms/controls/collapsible-checkbox-group.d.ts +12 -0
- package/@types/forms/controls/collapsible-field-group.d.ts +21 -0
- package/@types/forms/controls/controls.d.ts +4 -0
- package/@types/forms/controls/field-group.d.ts +12 -4
- package/@types/forms/controls/simple-input.d.ts +9 -2
- package/@types/forms/controls/tickable.d.ts +9 -12
- package/@types/forms/fields/enum-multiple.d.ts +18 -0
- package/@types/forms/fields/existing-sealious-value.d.ts +6 -0
- package/@types/forms/fields/field.d.ts +8 -4
- package/@types/forms/fields/proxy-field.d.ts +13 -0
- package/@types/page/list.d.ts +3 -3
- package/@types/utils/input-wrapper.d.ts +2 -1
- package/lib/forms/controls/autocomplete.js +27 -0
- package/lib/forms/controls/autocomplete.js.map +1 -0
- package/lib/forms/controls/checkbox-group.js +27 -0
- package/lib/forms/controls/checkbox-group.js.map +1 -0
- package/lib/forms/controls/checkbox.js +12 -1
- package/lib/forms/controls/checkbox.js.map +1 -1
- package/lib/forms/controls/collapsible-checkbox-group.js +17 -0
- package/lib/forms/controls/collapsible-checkbox-group.js.map +1 -0
- package/lib/forms/controls/collapsible-field-group.js +82 -0
- package/lib/forms/controls/collapsible-field-group.js.map +1 -0
- package/lib/forms/controls/controls.js +4 -0
- package/lib/forms/controls/controls.js.map +1 -1
- package/lib/forms/controls/field-group.js +39 -8
- package/lib/forms/controls/field-group.js.map +1 -1
- package/lib/forms/controls/simple-input.js +64 -29
- package/lib/forms/controls/simple-input.js.map +1 -1
- package/lib/forms/controls/tickable.js +4 -2
- package/lib/forms/controls/tickable.js.map +1 -1
- package/lib/forms/fields/boolean.js +7 -0
- package/lib/forms/fields/boolean.js.map +1 -1
- package/lib/forms/fields/enum-multiple.js +45 -0
- package/lib/forms/fields/enum-multiple.js.map +1 -0
- package/lib/forms/fields/existing-sealious-value.js +20 -0
- package/lib/forms/fields/existing-sealious-value.js.map +1 -0
- package/lib/forms/fields/field.js +7 -0
- package/lib/forms/fields/field.js.map +1 -1
- package/lib/forms/fields/pick-from-list.js +1 -1
- package/lib/forms/fields/pick-from-list.js.map +1 -1
- package/lib/forms/fields/proxy-field.js +24 -0
- package/lib/forms/fields/proxy-field.js.map +1 -0
- package/lib/mount.js +1 -0
- package/lib/mount.js.map +1 -1
- package/lib/page/list.js +9 -6
- package/lib/page/list.js.map +1 -1
- package/lib/sanitize.js +1 -1
- package/lib/sanitize.js.map +1 -1
- package/lib/utils/input-wrapper.js.map +1 -1
- package/package.json +2 -2
- package/src/forms/controls/autocomplete.ts +46 -0
- package/src/forms/controls/checkbox-group.ts +81 -0
- package/src/forms/controls/checkbox.ts +16 -1
- package/src/forms/controls/collapsible-checkbox-group.ts +31 -0
- package/src/forms/controls/collapsible-field-group.ts +96 -0
- package/src/forms/controls/controls.ts +4 -0
- package/src/forms/controls/field-group.ts +60 -9
- package/src/forms/controls/simple-input.ts +90 -42
- package/src/forms/controls/tickable.ts +14 -10
- package/src/forms/fields/boolean.ts +6 -0
- package/src/forms/fields/enum-multiple.ts +58 -0
- package/src/forms/fields/existing-sealious-value.ts +22 -0
- package/src/forms/fields/field.ts +14 -2
- package/src/forms/fields/pick-from-list.ts +1 -1
- package/src/forms/fields/proxy-field.ts +24 -0
- package/src/forms/forms.scss +11 -0
- package/src/mount.ts +1 -0
- package/src/page/list.ts +12 -10
- package/src/sanitize.ts +1 -1
- package/src/utils/input-wrapper.ts +5 -2
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Context } from "koa";
|
|
2
|
+
import { PickFromListField } from "../fields/pick-from-list";
|
|
3
|
+
import { FormDataValue } from "../form";
|
|
4
|
+
import { SimpleInput } from "./simple-input";
|
|
5
|
+
export declare class Autocomplete extends SimpleInput {
|
|
6
|
+
field: PickFromListField<boolean>;
|
|
7
|
+
options: {
|
|
8
|
+
id?: string;
|
|
9
|
+
label?: string;
|
|
10
|
+
};
|
|
11
|
+
constructor(field: PickFromListField<boolean>, options: {
|
|
12
|
+
id?: string;
|
|
13
|
+
label?: string;
|
|
14
|
+
});
|
|
15
|
+
getListID(): string;
|
|
16
|
+
getInputAttributes(ctx: Context, data: Record<string, FormDataValue>, field_prefix: string, form_id: string): Promise<{
|
|
17
|
+
list: string;
|
|
18
|
+
}>;
|
|
19
|
+
postInput(ctx: Context): Promise<string>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Context } from "koa";
|
|
2
|
+
import { FlatTemplatable } from "tempstream";
|
|
3
|
+
import { EnumMultipleField, FormField } from "../fields/field";
|
|
4
|
+
import { FormDataValue, FormMessage } from "../form";
|
|
5
|
+
import { CheckboxWithValue } from "./checkbox";
|
|
6
|
+
import { FormFieldControl } from "./controls";
|
|
7
|
+
export declare type DefaultCheckboxOptions = {
|
|
8
|
+
id?: string;
|
|
9
|
+
label?: string;
|
|
10
|
+
hide_errors?: boolean;
|
|
11
|
+
readonly?: boolean;
|
|
12
|
+
name?: string;
|
|
13
|
+
checkboxNameToLabel?: (name: string) => string;
|
|
14
|
+
};
|
|
15
|
+
export declare class CheckboxGroup<Options extends DefaultCheckboxOptions = DefaultCheckboxOptions> extends FormFieldControl {
|
|
16
|
+
field: EnumMultipleField<readonly string[], boolean>;
|
|
17
|
+
options: Options;
|
|
18
|
+
constructor(field: EnumMultipleField<readonly string[], boolean>, options?: Options);
|
|
19
|
+
wrapGroup(ctx: Context, data: Record<string, FormDataValue>, messages: FormMessage[], field_prefix: string, form_id: string, checkboxes: CheckboxWithValue[]): Promise<FlatTemplatable>;
|
|
20
|
+
render<Fields extends Record<string, FormField>>(ctx: Context, data: Record<string, FormDataValue>, messages: FormMessage[], field_prefix: string, form_id: string): Promise<FlatTemplatable>;
|
|
21
|
+
}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { Context } from "koa";
|
|
2
2
|
import { FormDataValue } from "../form";
|
|
3
|
-
import { Tickable } from "./tickable";
|
|
3
|
+
import { Tickable, TickableOptions } from "./tickable";
|
|
4
|
+
import { FormField } from "../fields/field";
|
|
4
5
|
export declare class Checkbox extends Tickable<boolean> {
|
|
5
6
|
type: "checkbox";
|
|
6
7
|
isChecked(_ctx: Context, _data: Record<string, FormDataValue>, value: boolean): boolean;
|
|
7
8
|
getValueAttribute(): string;
|
|
8
9
|
}
|
|
10
|
+
export declare class CheckboxWithValue extends Checkbox {
|
|
11
|
+
field: FormField<boolean, boolean>;
|
|
12
|
+
value: string;
|
|
13
|
+
constructor(field: FormField<boolean, boolean>, options: TickableOptions, value: string);
|
|
14
|
+
getValueAttribute(): string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Context } from "koa";
|
|
2
|
+
import { FlatTemplatable } from "tempstream";
|
|
3
|
+
import { FormDataValue, FormMessage } from "../form";
|
|
4
|
+
import { CheckboxWithValue } from "./checkbox";
|
|
5
|
+
import { CheckboxGroup, DefaultCheckboxOptions } from "./checkbox-group";
|
|
6
|
+
export declare class CollapsibleCheckboxGroup extends CheckboxGroup<DefaultCheckboxOptions & {
|
|
7
|
+
textWhenOpen?: string;
|
|
8
|
+
textWhenClosed?: string;
|
|
9
|
+
groupID?: string;
|
|
10
|
+
}> {
|
|
11
|
+
wrapGroup(ctx: Context, data: Record<string, FormDataValue>, messages: FormMessage[], field_prefix: string, form_id: string, checkboxes: CheckboxWithValue[]): Promise<FlatTemplatable>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { FlatTemplatable } from "tempstream";
|
|
2
|
+
import { FieldGroup } from "./field-group";
|
|
3
|
+
import { FormControl } from "./form-control";
|
|
4
|
+
declare type CollapsibleFieldGroupOptions = {
|
|
5
|
+
label?: string;
|
|
6
|
+
classes?: string;
|
|
7
|
+
openOnStart?: boolean;
|
|
8
|
+
textWhenOpen?: string;
|
|
9
|
+
textWhenClosed?: string;
|
|
10
|
+
groupID?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare class CollapsibleFieldGroup extends FieldGroup {
|
|
13
|
+
controls: FormControl[];
|
|
14
|
+
options: CollapsibleFieldGroupOptions;
|
|
15
|
+
collapseID: string;
|
|
16
|
+
constructor(controls: FormControl[], options?: CollapsibleFieldGroupOptions);
|
|
17
|
+
getGroupLabelProps(): string;
|
|
18
|
+
preLabelContainer(): FlatTemplatable;
|
|
19
|
+
postLabel(): FlatTemplatable;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -16,3 +16,7 @@ export * from "./tickable";
|
|
|
16
16
|
export * from "./checkbox";
|
|
17
17
|
export * from "./radio";
|
|
18
18
|
export * from "./big-radio-group";
|
|
19
|
+
export * from "./checkbox-group";
|
|
20
|
+
export * from "./collapsible-field-group";
|
|
21
|
+
export * from "./collapsible-checkbox-group";
|
|
22
|
+
export * from "./autocomplete";
|
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
import { Context } from "koa";
|
|
2
2
|
import { FlatTemplatable } from "tempstream";
|
|
3
|
-
import { FormDataValue } from "../form";
|
|
3
|
+
import { FormDataValue, FormMessage } from "../form";
|
|
4
4
|
import { FormControl } from "./form-control";
|
|
5
|
-
|
|
5
|
+
import { FormFieldControl } from "./form-field-control";
|
|
6
|
+
export declare class FieldGroup extends FormFieldControl {
|
|
6
7
|
controls: FormControl[];
|
|
7
8
|
options: {
|
|
8
9
|
label?: string;
|
|
9
10
|
classes?: string;
|
|
11
|
+
containerID?: string;
|
|
10
12
|
};
|
|
11
13
|
constructor(controls: FormControl[], options?: {
|
|
12
14
|
label?: string;
|
|
13
15
|
classes?: string;
|
|
16
|
+
containerID?: string;
|
|
14
17
|
});
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
preLabel(): FlatTemplatable;
|
|
19
|
+
preLabelContainer(): FlatTemplatable;
|
|
20
|
+
postLabel(): FlatTemplatable;
|
|
21
|
+
preFields(): FlatTemplatable;
|
|
22
|
+
postFields(): FlatTemplatable;
|
|
23
|
+
getGroupLabelProps(): FlatTemplatable;
|
|
24
|
+
render(ctx: Context, data: Record<string, FormDataValue>, messages: FormMessage[], field_prefix: string, form_id: string): Promise<FlatTemplatable>;
|
|
17
25
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Context } from "koa";
|
|
2
2
|
import { FlatTemplatable } from "tempstream";
|
|
3
3
|
import { FormField } from "../fields/field";
|
|
4
|
-
import { FormDataValue } from "../form";
|
|
4
|
+
import { FormDataValue, FormMessage } from "../form";
|
|
5
5
|
import { FormFieldControl } from "./controls";
|
|
6
6
|
export declare class SimpleInput extends FormFieldControl {
|
|
7
7
|
field: FormField;
|
|
@@ -27,5 +27,12 @@ export declare class SimpleInput extends FormFieldControl {
|
|
|
27
27
|
readonly?: boolean;
|
|
28
28
|
step?: number;
|
|
29
29
|
});
|
|
30
|
-
|
|
30
|
+
getType(): string;
|
|
31
|
+
getLabel(): string;
|
|
32
|
+
getID(): string;
|
|
33
|
+
getPlaceholder(): string;
|
|
34
|
+
getInputAttributes(ctx: Context, data: Record<string, FormDataValue>, field_prefix: string, form_id: string): Promise<Record<string, string | true>>;
|
|
35
|
+
renderAttributes(attrs: Record<string, string | true>): string;
|
|
36
|
+
postInput(ctx: Context): Promise<FlatTemplatable>;
|
|
37
|
+
render<Fields extends Record<string, FormField>>(ctx: Context, data: Record<string, FormDataValue>, _messages: FormMessage[], field_prefix: string, form_id: string): Promise<FlatTemplatable>;
|
|
31
38
|
}
|
|
@@ -3,20 +3,17 @@ import { FlatTemplatable } from "tempstream";
|
|
|
3
3
|
import { FormField } from "../fields/field";
|
|
4
4
|
import { FormDataValue } from "../form";
|
|
5
5
|
import { FormFieldControl } from "./controls";
|
|
6
|
+
export declare type TickableOptions = {
|
|
7
|
+
id?: string;
|
|
8
|
+
name?: string;
|
|
9
|
+
label?: string;
|
|
10
|
+
hide_errors?: boolean;
|
|
11
|
+
readonly?: boolean;
|
|
12
|
+
};
|
|
6
13
|
export declare abstract class Tickable<T extends unknown> extends FormFieldControl {
|
|
7
14
|
field: FormField<boolean, T>;
|
|
8
|
-
options:
|
|
9
|
-
|
|
10
|
-
label?: string;
|
|
11
|
-
hide_errors?: boolean;
|
|
12
|
-
readonly?: boolean;
|
|
13
|
-
};
|
|
14
|
-
constructor(field: FormField<boolean, T>, options?: {
|
|
15
|
-
id?: string;
|
|
16
|
-
label?: string;
|
|
17
|
-
hide_errors?: boolean;
|
|
18
|
-
readonly?: boolean;
|
|
19
|
-
});
|
|
15
|
+
options: TickableOptions;
|
|
16
|
+
constructor(field: FormField<boolean, T>, options?: TickableOptions);
|
|
20
17
|
type: "checkbox" | "radio";
|
|
21
18
|
abstract getValueAttribute(ctx: Context, data: Record<string, FormDataValue>, value: T): string;
|
|
22
19
|
abstract isChecked(ctx: Context, data: Record<string, FormDataValue>, value: T): boolean;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Context } from "koa";
|
|
2
|
+
import { FormDataValue } from "../form";
|
|
3
|
+
import { FieldParseResult, FormField } from "./field";
|
|
4
|
+
export declare class EnumMultipleField<Options extends readonly string[], Required extends boolean> extends FormField<Required, string[]> {
|
|
5
|
+
options: Options;
|
|
6
|
+
error_message: (options: Options) => string;
|
|
7
|
+
constructor(required: Required, options: Options, error_message?: (options: Options) => string);
|
|
8
|
+
predicate: (v: unknown, w: unknown) => {
|
|
9
|
+
readonly match: boolean;
|
|
10
|
+
readonly wildcard: Options[number];
|
|
11
|
+
};
|
|
12
|
+
isValueValid(_: Context, values: string[]): Promise<{
|
|
13
|
+
valid: boolean;
|
|
14
|
+
message: string;
|
|
15
|
+
}>;
|
|
16
|
+
parse(_: Context, value: FormDataValue): Promise<FieldParseResult<string[]>>;
|
|
17
|
+
getEmptyValue(): string[];
|
|
18
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Field } from "sealious";
|
|
2
|
+
import { PickFromListField } from "./pick-from-list";
|
|
3
|
+
export declare class ExistingSealiousValue<Required extends boolean> extends PickFromListField<Required> {
|
|
4
|
+
constructor(required: Required, field: Field);
|
|
5
|
+
getEmptyValue(): string;
|
|
6
|
+
}
|
|
@@ -13,19 +13,20 @@ export declare type FieldsToShape<T extends Record<string, FormField>> = {
|
|
|
13
13
|
};
|
|
14
14
|
export declare function fieldsToShape<Fields extends Record<string, FormField>>(obj: Fields): FieldsToShape<Fields>;
|
|
15
15
|
export declare type FieldParseResult<T> = {
|
|
16
|
-
parsable: false;
|
|
17
|
-
error: string;
|
|
18
|
-
parsed_value: null;
|
|
19
|
-
} | {
|
|
20
16
|
parsable: true;
|
|
21
17
|
error: null;
|
|
22
18
|
parsed_value: T;
|
|
19
|
+
} | {
|
|
20
|
+
parsable: false;
|
|
21
|
+
error: string;
|
|
22
|
+
parsed_value: null;
|
|
23
23
|
};
|
|
24
24
|
export declare abstract class FormField<Required extends boolean = boolean, ParsedValue extends unknown = unknown> {
|
|
25
25
|
readonly required: Required;
|
|
26
26
|
name: string;
|
|
27
27
|
constructor(required: Required);
|
|
28
28
|
predicate: Predicate;
|
|
29
|
+
mapToFilter: (parsed: ParsedValue) => unknown;
|
|
29
30
|
init(fieldname: string): void;
|
|
30
31
|
_validate(ctx: Context, value: ParsedValue): Promise<FormFieldValidationResponse>;
|
|
31
32
|
abstract getEmptyValue(): ParsedValue;
|
|
@@ -37,6 +38,7 @@ export declare abstract class FormField<Required extends boolean = boolean, Pars
|
|
|
37
38
|
parsed: ParsedValue;
|
|
38
39
|
raw: FormDataValue;
|
|
39
40
|
}>;
|
|
41
|
+
setMapToFilter(fn: (parsed: ParsedValue) => unknown): this;
|
|
40
42
|
}
|
|
41
43
|
export * from "./simple-form-field";
|
|
42
44
|
export * from "./checkboxed-list";
|
|
@@ -47,3 +49,5 @@ export * from "./regexp";
|
|
|
47
49
|
export * from "./email";
|
|
48
50
|
export * from "./enum";
|
|
49
51
|
export * from "./boolean";
|
|
52
|
+
export * from "./enum-multiple";
|
|
53
|
+
export * from "./existing-sealious-value";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FormField } from "./field";
|
|
2
|
+
export declare class ProxyFormField<T> extends FormField<boolean, T> {
|
|
3
|
+
name: string;
|
|
4
|
+
empty_value: T;
|
|
5
|
+
parsed_value: T;
|
|
6
|
+
constructor(required: boolean, name: string, empty_value: T, parsed_value: T);
|
|
7
|
+
getEmptyValue(): T;
|
|
8
|
+
parse(): Promise<{
|
|
9
|
+
readonly parsable: true;
|
|
10
|
+
readonly error: null;
|
|
11
|
+
readonly parsed_value: T;
|
|
12
|
+
}>;
|
|
13
|
+
}
|
package/@types/page/list.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { Collection, CollectionItem, ItemList } from "sealious";
|
|
|
3
3
|
import { Templatable, FlatTemplatable } from "tempstream";
|
|
4
4
|
import { Page } from "./page";
|
|
5
5
|
import { ShapeToType } from "@sealcode/ts-predicates";
|
|
6
|
-
import {
|
|
6
|
+
import { FormControl } from "../forms/controls/controls";
|
|
7
7
|
import { FormField, NumberField } from "../forms/fields/field";
|
|
8
8
|
import { FormDataValue } from "..";
|
|
9
9
|
export declare const BasePagePropsShape: {};
|
|
@@ -17,10 +17,10 @@ export declare abstract class ListPage<ItemType, F extends typeof BaseListPageFi
|
|
|
17
17
|
abstract getTotalPages(ctx: Context, itemsPerPage: number, values: Record<string, FormDataValue>): Promise<number>;
|
|
18
18
|
abstract renderItem(ctx: Context, item: ItemType): Promise<FlatTemplatable>;
|
|
19
19
|
filterFields: Record<string, FormField>;
|
|
20
|
-
filterControls:
|
|
20
|
+
filterControls: FormControl[];
|
|
21
21
|
init(): void;
|
|
22
22
|
renderListContainer(_: Context, content: Templatable): FlatTemplatable;
|
|
23
|
-
renderItems(ctx: Context, values?: Record<string, FormDataValue
|
|
23
|
+
renderItems(ctx: Context, values?: Record<string, FormDataValue>, items?: ItemType[]): Promise<FlatTemplatable>;
|
|
24
24
|
render(ctx: Context): Promise<FlatTemplatable>;
|
|
25
25
|
renderPagination(ctx: Context, values: Record<string, FormDataValue>): Promise<FlatTemplatable>;
|
|
26
26
|
private renderPageButton;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Readable } from "stream";
|
|
3
|
+
import { FlatTemplatable } from "tempstream";
|
|
3
4
|
export declare function getRequiredClass(isRequired: boolean): string;
|
|
4
|
-
export declare function inputWrapper(modifiers: string[], input:
|
|
5
|
+
export declare function inputWrapper(modifiers: string[], input: FlatTemplatable): Readable;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Autocomplete = void 0;
|
|
4
|
+
const simple_input_1 = require("./simple-input");
|
|
5
|
+
class Autocomplete extends simple_input_1.SimpleInput {
|
|
6
|
+
constructor(field, options) {
|
|
7
|
+
super(field);
|
|
8
|
+
this.field = field;
|
|
9
|
+
this.options = options;
|
|
10
|
+
}
|
|
11
|
+
getListID() {
|
|
12
|
+
return this.getID() + "_list";
|
|
13
|
+
}
|
|
14
|
+
async getInputAttributes(ctx, data, field_prefix, form_id) {
|
|
15
|
+
return {
|
|
16
|
+
...(await super.getInputAttributes(ctx, data, field_prefix, form_id)),
|
|
17
|
+
list: this.getListID(),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
async postInput(ctx) {
|
|
21
|
+
return /* HTML */ `<datalist id="${this.getListID()}">
|
|
22
|
+
${Object.entries(await this.field.generateOptions(ctx)).map(([key, value]) => /* HTML */ `<option>${key}</option>`)}
|
|
23
|
+
</datalist>`;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.Autocomplete = Autocomplete;
|
|
27
|
+
//# sourceMappingURL=autocomplete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete.js","sourceRoot":"","sources":["../../../src/forms/controls/autocomplete.ts"],"names":[],"mappings":";;;AAOA,iDAA6C;AAE7C,MAAa,YAAa,SAAQ,0BAAW;IAC5C,YACQ,KAAiC,EACjC,OAAwC;QAE/C,KAAK,CAAC,KAAK,CAAC,CAAC;QAHN,UAAK,GAAL,KAAK,CAA4B;QACjC,YAAO,GAAP,OAAO,CAAiC;IAGhD,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,kBAAkB,CACvB,GAAY,EACZ,IAAmC,EACnC,YAAoB,EACpB,OAAe;QAEf,OAAO;YACN,GAAG,CAAC,MAAM,KAAK,CAAC,kBAAkB,CACjC,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,OAAO,CACP,CAAC;YACF,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE;SACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAY;QAC3B,OAAO,UAAU,CAAC,iBAAiB,IAAI,CAAC,SAAS,EAAE;KAChD,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAC1D,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,GAAG,WAAW,CACtD;cACU,CAAC;IACd,CAAC;CACD;AApCD,oCAoCC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CheckboxGroup = void 0;
|
|
4
|
+
const proxy_field_1 = require("../fields/proxy-field");
|
|
5
|
+
const checkbox_1 = require("./checkbox");
|
|
6
|
+
const controls_1 = require("./controls");
|
|
7
|
+
class CheckboxGroup extends controls_1.FormFieldControl {
|
|
8
|
+
constructor(field, options = {}) {
|
|
9
|
+
super([field]);
|
|
10
|
+
this.field = field;
|
|
11
|
+
this.options = options;
|
|
12
|
+
}
|
|
13
|
+
wrapGroup(ctx, data, messages, field_prefix, form_id, checkboxes) {
|
|
14
|
+
return new controls_1.FieldGroup(checkboxes, { label: this.options.label }).render(ctx, data, messages, field_prefix, form_id);
|
|
15
|
+
}
|
|
16
|
+
async render(ctx, data, messages, field_prefix, form_id) {
|
|
17
|
+
const { parsed: values } = await this.field.getValue(ctx, data);
|
|
18
|
+
const checkboxes = this.field.options.map((option) => new checkbox_1.CheckboxWithValue(new proxy_field_1.ProxyFormField(false, this.field.name + "[]", false, values.includes(option)), {
|
|
19
|
+
id: this.field.name + "__" + option,
|
|
20
|
+
label: (this.options.checkboxNameToLabel ||
|
|
21
|
+
((s) => s))(option),
|
|
22
|
+
}, option));
|
|
23
|
+
return this.wrapGroup(ctx, data, messages, field_prefix, form_id, checkboxes);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.CheckboxGroup = CheckboxGroup;
|
|
27
|
+
//# sourceMappingURL=checkbox-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox-group.js","sourceRoot":"","sources":["../../../src/forms/controls/checkbox-group.ts"],"names":[],"mappings":";;;AAGA,uDAAuD;AAEvD,yCAA+C;AAC/C,yCAA0D;AAW1D,MAAa,aAEX,SAAQ,2BAAgB;IACzB,YACQ,KAAoD,EACpD,UAAmB,EAAa;QAEvC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAHR,UAAK,GAAL,KAAK,CAA+C;QACpD,YAAO,GAAP,OAAO,CAAyB;IAGxC,CAAC;IAED,SAAS,CACR,GAAY,EACZ,IAAmC,EACnC,QAAuB,EACvB,YAAoB,EACpB,OAAe,EACf,UAA+B;QAE/B,OAAO,IAAI,qBAAU,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CACtE,GAAG,EACH,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,OAAO,CACP,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACX,GAAY,EACZ,IAAmC,EACnC,QAAuB,EACvB,YAAoB,EACpB,OAAe;QAEf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CACxC,CAAC,MAAM,EAAE,EAAE,CACV,IAAI,4BAAiB,CACpB,IAAI,4BAAc,CACjB,KAAK,EACL,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,EACtB,KAAK,EACL,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CACvB,EACD;YACC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,MAAM;YACnC,KAAK,EAAE,CACN,IAAI,CAAC,OAAO,CAAC,mBAAmB;gBAChC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAClB,CAAC,MAAM,CAAC;SACT,EACD,MAAM,CACN,CACF,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CACpB,GAAG,EACH,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,UAAU,CACV,CAAC;IACH,CAAC;CACD;AA/DD,sCA+DC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Checkbox = void 0;
|
|
3
|
+
exports.CheckboxWithValue = exports.Checkbox = void 0;
|
|
4
4
|
const tickable_1 = require("./tickable");
|
|
5
5
|
class Checkbox extends tickable_1.Tickable {
|
|
6
6
|
constructor() {
|
|
@@ -15,4 +15,15 @@ class Checkbox extends tickable_1.Tickable {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
exports.Checkbox = Checkbox;
|
|
18
|
+
class CheckboxWithValue extends Checkbox {
|
|
19
|
+
constructor(field, options, value) {
|
|
20
|
+
super(field, options);
|
|
21
|
+
this.field = field;
|
|
22
|
+
this.value = value;
|
|
23
|
+
}
|
|
24
|
+
getValueAttribute() {
|
|
25
|
+
return this.value;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.CheckboxWithValue = CheckboxWithValue;
|
|
18
29
|
//# sourceMappingURL=checkbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../src/forms/controls/checkbox.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../src/forms/controls/checkbox.ts"],"names":[],"mappings":";;;AAEA,yCAAuD;AAGvD,MAAa,QAAS,SAAQ,mBAAiB;IAA/C;;QACC,SAAI,GAAU,UAAU,CAAC;IAa1B,CAAC;IAXA,SAAS,CACR,IAAa,EACb,KAAoC,EACpC,KAAc;QAEd,OAAO,KAAK,CAAC;IACd,CAAC;IAED,iBAAiB;QAChB,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAdD,4BAcC;AAED,MAAa,iBAAkB,SAAQ,QAAQ;IAC9C,YACQ,KAAkC,EACzC,OAAwB,EACjB,KAAa;QAEpB,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAJf,UAAK,GAAL,KAAK,CAA6B;QAElC,UAAK,GAAL,KAAK,CAAQ;IAGrB,CAAC;IAED,iBAAiB;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;CACD;AAZD,8CAYC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CollapsibleCheckboxGroup = void 0;
|
|
4
|
+
const checkbox_group_1 = require("./checkbox-group");
|
|
5
|
+
const collapsible_field_group_1 = require("./collapsible-field-group");
|
|
6
|
+
class CollapsibleCheckboxGroup extends checkbox_group_1.CheckboxGroup {
|
|
7
|
+
wrapGroup(ctx, data, messages, field_prefix, form_id, checkboxes) {
|
|
8
|
+
return new collapsible_field_group_1.CollapsibleFieldGroup(checkboxes, {
|
|
9
|
+
label: this.options.label,
|
|
10
|
+
textWhenOpen: this.options.textWhenOpen,
|
|
11
|
+
textWhenClosed: this.options.textWhenClosed,
|
|
12
|
+
groupID: this.options.groupID,
|
|
13
|
+
}).render(ctx, data, messages, field_prefix, form_id);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.CollapsibleCheckboxGroup = CollapsibleCheckboxGroup;
|
|
17
|
+
//# sourceMappingURL=collapsible-checkbox-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collapsible-checkbox-group.js","sourceRoot":"","sources":["../../../src/forms/controls/collapsible-checkbox-group.ts"],"names":[],"mappings":";;;AAKA,qDAAyE;AACzE,uEAAkE;AAElE,MAAa,wBAAyB,SAAQ,8BAM7C;IACA,SAAS,CACR,GAAY,EACZ,IAAmC,EACnC,QAAuB,EACvB,YAAoB,EACpB,OAAe,EACf,UAA+B;QAE/B,OAAO,IAAI,+CAAqB,CAAC,UAAU,EAAE;YAC5C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;YACvC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;SAC7B,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;CACD;AAtBD,4DAsBC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CollapsibleFieldGroup = void 0;
|
|
4
|
+
const field_group_1 = require("./field-group");
|
|
5
|
+
const crypto_1 = require("crypto");
|
|
6
|
+
class CollapsibleFieldGroup extends field_group_1.FieldGroup {
|
|
7
|
+
constructor(controls, options = {}) {
|
|
8
|
+
super([]);
|
|
9
|
+
this.controls = controls;
|
|
10
|
+
this.options = options;
|
|
11
|
+
if (this.options.groupID == undefined) {
|
|
12
|
+
this.options.groupID = "A" + crypto_1.randomUUID(); // "A" is needed as ids always have to start with a letter
|
|
13
|
+
}
|
|
14
|
+
this.collapseID = this.options.groupID + "collapse";
|
|
15
|
+
}
|
|
16
|
+
getGroupLabelProps() {
|
|
17
|
+
return super.getGroupLabelProps() + ` for="${this.collapseID}"`;
|
|
18
|
+
}
|
|
19
|
+
preLabelContainer() {
|
|
20
|
+
return /* HTML */ `<style>
|
|
21
|
+
input#${this.collapseID} {
|
|
22
|
+
display: none;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
input#${this.collapseID} ~ .field-group__fields {
|
|
26
|
+
display: none;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
input#${this.collapseID}:checked ~ .field-group__fields {
|
|
30
|
+
display: block;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
input#${this.collapseID}
|
|
34
|
+
~ .field-group__label-container
|
|
35
|
+
.field-group__collapse-label-text--open {
|
|
36
|
+
display: none;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
input#${this.collapseID}:checked
|
|
40
|
+
~ .field-group__label-container
|
|
41
|
+
.field-group__collapse-label-text--open {
|
|
42
|
+
display: inline-block;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
input#${this.collapseID}
|
|
46
|
+
~ .field-group__label-container
|
|
47
|
+
.field-group__collapse-label-text--closed {
|
|
48
|
+
display: inline-block;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
input#${this.collapseID}:checked
|
|
52
|
+
~ .field-group__label-container
|
|
53
|
+
.field-group__collapse-label-text--closed {
|
|
54
|
+
display: none;
|
|
55
|
+
}
|
|
56
|
+
</style>
|
|
57
|
+
<input
|
|
58
|
+
type="checkbox"
|
|
59
|
+
id="${this.collapseID}"
|
|
60
|
+
${this.options.openOnStart ? "checked" : ""}
|
|
61
|
+
/>`;
|
|
62
|
+
}
|
|
63
|
+
postLabel() {
|
|
64
|
+
return /* HTML */ `<label
|
|
65
|
+
class="field-group__collapse-label"
|
|
66
|
+
for="${this.collapseID}"
|
|
67
|
+
>
|
|
68
|
+
<span
|
|
69
|
+
class="field-group__collapse-label-text field-group__collapse-label-text--open"
|
|
70
|
+
>
|
|
71
|
+
${this.options.textWhenOpen || "close"}
|
|
72
|
+
</span>
|
|
73
|
+
<span
|
|
74
|
+
class="field-group__collapse-label-text field-group__collapse-label-text--closed"
|
|
75
|
+
>
|
|
76
|
+
${this.options.textWhenClosed || "open"}
|
|
77
|
+
</span>
|
|
78
|
+
</label>`;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.CollapsibleFieldGroup = CollapsibleFieldGroup;
|
|
82
|
+
//# sourceMappingURL=collapsible-field-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collapsible-field-group.js","sourceRoot":"","sources":["../../../src/forms/controls/collapsible-field-group.ts"],"names":[],"mappings":";;;AAGA,+CAA2C;AAC3C,mCAAoC;AAYpC,MAAa,qBAAsB,SAAQ,wBAAU;IAEpD,YACQ,QAAuB,EACvB,UAAwC,EAAE;QAEjD,KAAK,CAAC,EAAE,CAAC,CAAC;QAHH,aAAQ,GAAR,QAAQ,CAAe;QACvB,YAAO,GAAP,OAAO,CAAmC;QAGjD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,SAAS,EAAE;YACtC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,GAAG,mBAAU,EAAE,CAAC,CAAC,0DAA0D;SACrG;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC;IACrD,CAAC;IAED,kBAAkB;QACjB,OAAO,KAAK,CAAC,kBAAkB,EAAE,GAAG,SAAS,IAAI,CAAC,UAAU,GAAG,CAAC;IACjE,CAAC;IAED,iBAAiB;QAChB,OAAO,UAAU,CAAC;YACR,IAAI,CAAC,UAAU;;;;YAIf,IAAI,CAAC,UAAU;;;;YAIf,IAAI,CAAC,UAAU;;;;YAIf,IAAI,CAAC,UAAU;;;;;;YAMf,IAAI,CAAC,UAAU;;;;;;YAMf,IAAI,CAAC,UAAU;;;;;;YAMf,IAAI,CAAC,UAAU;;;;;;;;UAQjB,IAAI,CAAC,UAAU;MACnB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;MACzC,CAAC;IACN,CAAC;IAED,SAAS;QACR,OAAO,UAAU,CAAC;;UAEV,IAAI,CAAC,UAAU;;;;;MAKnB,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO;;;;;MAKpC,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM;;WAEhC,CAAC;IACX,CAAC;CACD;AA/ED,sDA+EC"}
|
|
@@ -42,4 +42,8 @@ __exportStar(require("./tickable"), exports);
|
|
|
42
42
|
__exportStar(require("./checkbox"), exports);
|
|
43
43
|
__exportStar(require("./radio"), exports);
|
|
44
44
|
__exportStar(require("./big-radio-group"), exports);
|
|
45
|
+
__exportStar(require("./checkbox-group"), exports);
|
|
46
|
+
__exportStar(require("./collapsible-field-group"), exports);
|
|
47
|
+
__exportStar(require("./collapsible-checkbox-group"), exports);
|
|
48
|
+
__exportStar(require("./autocomplete"), exports);
|
|
45
49
|
//# sourceMappingURL=controls.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controls.js","sourceRoot":"","sources":["../../../src/forms/controls/controls.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,2EAAwE;AAA/D,sIAAA,wBAAwB,OAAA;AACjC,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,4CAA0B;AAC1B,6CAA2B;AAC3B,6CAA2B;AAC3B,0CAAwB;AACxB,oDAAkC"}
|
|
1
|
+
{"version":3,"file":"controls.js","sourceRoot":"","sources":["../../../src/forms/controls/controls.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,2EAAwE;AAA/D,sIAAA,wBAAwB,OAAA;AACjC,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,4CAA0B;AAC1B,6CAA2B;AAC3B,6CAA2B;AAC3B,0CAAwB;AACxB,oDAAkC;AAClC,mDAAiC;AACjC,4DAA0C;AAC1C,+DAA6C;AAC7C,iDAA+B"}
|
|
@@ -2,22 +2,53 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FieldGroup = void 0;
|
|
4
4
|
const tempstream_1 = require("tempstream");
|
|
5
|
-
const
|
|
6
|
-
class FieldGroup extends
|
|
5
|
+
const form_field_control_1 = require("./form-field-control");
|
|
6
|
+
class FieldGroup extends form_field_control_1.FormFieldControl {
|
|
7
7
|
constructor(controls, options = {}) {
|
|
8
|
-
super();
|
|
8
|
+
super([]);
|
|
9
9
|
this.controls = controls;
|
|
10
10
|
this.options = options;
|
|
11
|
-
this.role = "decoration";
|
|
12
11
|
}
|
|
13
|
-
|
|
12
|
+
preLabel() {
|
|
13
|
+
return "";
|
|
14
|
+
}
|
|
15
|
+
preLabelContainer() {
|
|
16
|
+
return "";
|
|
17
|
+
}
|
|
18
|
+
postLabel() {
|
|
19
|
+
return "";
|
|
20
|
+
}
|
|
21
|
+
preFields() {
|
|
22
|
+
return "";
|
|
23
|
+
}
|
|
24
|
+
postFields() {
|
|
25
|
+
return "";
|
|
26
|
+
}
|
|
27
|
+
getGroupLabelProps() {
|
|
28
|
+
return `class="field-group__label"`;
|
|
29
|
+
}
|
|
30
|
+
async render(ctx, data, messages, field_prefix, form_id) {
|
|
14
31
|
const { label, classes } = this.options;
|
|
15
32
|
return tempstream_1.tempstream /* HTML */ `
|
|
16
|
-
<div
|
|
17
|
-
${
|
|
33
|
+
<div
|
|
34
|
+
class="field-group ${classes || ""}"
|
|
35
|
+
${this.options.containerID
|
|
36
|
+
? `id="${this.options.containerID}"`
|
|
37
|
+
: ""}
|
|
38
|
+
>
|
|
39
|
+
${this.preLabelContainer()}
|
|
40
|
+
<div class="field-group__label-container">
|
|
41
|
+
${this.preLabel()}
|
|
42
|
+
${label
|
|
43
|
+
? `<label ${this.getGroupLabelProps()}>${label}</label>`
|
|
44
|
+
: ""}
|
|
45
|
+
${this.postLabel()}
|
|
46
|
+
</div>
|
|
47
|
+
${this.preFields()}
|
|
18
48
|
<div class="field-group__fields">
|
|
19
|
-
${this.controls.map((control) => control.render(ctx, data,
|
|
49
|
+
${this.controls.map((control) => control.render(ctx, data, messages, field_prefix, form_id))}
|
|
20
50
|
</div>
|
|
51
|
+
${this.postFields()}
|
|
21
52
|
</div>
|
|
22
53
|
`;
|
|
23
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-group.js","sourceRoot":"","sources":["../../../src/forms/controls/field-group.ts"],"names":[],"mappings":";;;AACA,2CAAyD;
|
|
1
|
+
{"version":3,"file":"field-group.js","sourceRoot":"","sources":["../../../src/forms/controls/field-group.ts"],"names":[],"mappings":";;;AACA,2CAAyD;AAGzD,6DAAwD;AAExD,MAAa,UAAW,SAAQ,qCAAgB;IAC/C,YACQ,QAAuB,EACvB,UAIH,EAAE;QAEN,KAAK,CAAC,EAAE,CAAC,CAAC;QAPH,aAAQ,GAAR,QAAQ,CAAe;QACvB,YAAO,GAAP,OAAO,CAIR;IAGP,CAAC;IAED,QAAQ;QACP,OAAO,EAAE,CAAC;IACX,CAAC;IAED,iBAAiB;QAChB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,SAAS;QACR,OAAO,EAAE,CAAC;IACX,CAAC;IAED,SAAS;QACR,OAAO,EAAE,CAAC;IACX,CAAC;IAED,UAAU;QACT,OAAO,EAAE,CAAC;IACX,CAAC;IAED,kBAAkB;QACjB,OAAO,4BAA4B,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,MAAM,CACX,GAAY,EACZ,IAAmC,EACnC,QAAuB,EACvB,YAAoB,EACpB,OAAe;QAEf,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAExC,OAAO,uBAAU,CAAA,UAAU,CAAC;;yBAEL,OAAO,IAAI,EAAE;MAChC,IAAI,CAAC,OAAO,CAAC,WAAW;YACzB,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG;YACpC,CAAC,CAAC,EAAE;;MAEH,IAAI,CAAC,iBAAiB,EAAE;;OAEvB,IAAI,CAAC,QAAQ,EAAE;OACf,KAAK;YACN,CAAC,CAAC,UAAU,IAAI,CAAC,kBAAkB,EAAE,IAAI,KAAK,UAAU;YACxD,CAAC,CAAC,EAAE;OACH,IAAI,CAAC,SAAS,EAAE;;MAEjB,IAAI,CAAC,SAAS,EAAE;;OAEf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC/B,OAAO,CAAC,MAAM,CACb,GAAG,EACH,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,OAAO,CACP,CACD;;MAEA,IAAI,CAAC,UAAU,EAAE;;GAEpB,CAAC;IACH,CAAC;CACD;AA5ED,gCA4EC"}
|