@stubber/form-fields 1.7.10 → 2.0.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/dist/{fields2 → form-fields}/sub/currency-field.svelte +2 -3
- package/dist/{fields2 → form-fields}/sub/select-field.svelte +6 -3
- package/dist/{fields2 → form-fields}/utils.d.ts +1 -0
- package/dist/{fields2 → form-fields}/utils.js +9 -1
- package/dist/utils/input_regex_mask.d.ts +3 -0
- package/dist/utils/input_regex_mask.js +25 -0
- package/package.json +4 -8
- package/dist/Field.svelte +0 -36
- package/dist/Field.svelte.d.ts +0 -33
- package/dist/Form.svelte +0 -34
- package/dist/Form.svelte.d.ts +0 -31
- package/dist/NullFieldWrapper.svelte +0 -6
- package/dist/NullFieldWrapper.svelte.d.ts +0 -27
- package/dist/fields/component_parts/arraybuilder/FieldWrapper.svelte +0 -74
- package/dist/fields/component_parts/arraybuilder/FieldWrapper.svelte.d.ts +0 -31
- package/dist/fields/component_parts/fieldbuilder/FieldWrapper.svelte +0 -8
- package/dist/fields/component_parts/fieldbuilder/FieldWrapper.svelte.d.ts +0 -27
- package/dist/fields/components/AgGrid.svelte +0 -46
- package/dist/fields/components/AgGrid.svelte.d.ts +0 -20
- package/dist/fields/components/Arraybuilder.svelte +0 -98
- package/dist/fields/components/Arraybuilder.svelte.d.ts +0 -27
- package/dist/fields/components/Checkbox.svelte +0 -89
- package/dist/fields/components/Checkbox.svelte.d.ts +0 -25
- package/dist/fields/components/CheckboxAutocomplete.svelte +0 -95
- package/dist/fields/components/CheckboxAutocomplete.svelte.d.ts +0 -25
- package/dist/fields/components/Code.svelte +0 -133
- package/dist/fields/components/Code.svelte.d.ts +0 -18
- package/dist/fields/components/Contactselector.svelte +0 -71
- package/dist/fields/components/Contactselector.svelte.d.ts +0 -27
- package/dist/fields/components/Currency.svelte +0 -264
- package/dist/fields/components/Currency.svelte.d.ts +0 -25
- package/dist/fields/components/Dataindication.svelte +0 -31
- package/dist/fields/components/Dataindication.svelte.d.ts +0 -25
- package/dist/fields/components/Date.svelte +0 -97
- package/dist/fields/components/Date.svelte.d.ts +0 -25
- package/dist/fields/components/Datetime.svelte +0 -97
- package/dist/fields/components/Datetime.svelte.d.ts +0 -25
- package/dist/fields/components/Email.svelte +0 -125
- package/dist/fields/components/Email.svelte.d.ts +0 -25
- package/dist/fields/components/Fieldbuilder.svelte +0 -343
- package/dist/fields/components/Fieldbuilder.svelte.d.ts +0 -27
- package/dist/fields/components/Fieldsbuilder.svelte +0 -122
- package/dist/fields/components/Fieldsbuilder.svelte.d.ts +0 -27
- package/dist/fields/components/File.svelte +0 -231
- package/dist/fields/components/File.svelte.d.ts +0 -27
- package/dist/fields/components/Heading.svelte +0 -17
- package/dist/fields/components/Heading.svelte.d.ts +0 -25
- package/dist/fields/components/Hidden.svelte +0 -7
- package/dist/fields/components/Hidden.svelte.d.ts +0 -25
- package/dist/fields/components/Hiddenlocation.svelte +0 -28
- package/dist/fields/components/Hiddenlocation.svelte.d.ts +0 -25
- package/dist/fields/components/Html.svelte +0 -13
- package/dist/fields/components/Html.svelte.d.ts +0 -25
- package/dist/fields/components/Jsoneditor.svelte +0 -133
- package/dist/fields/components/Jsoneditor.svelte.d.ts +0 -25
- package/dist/fields/components/Map.svelte +0 -192
- package/dist/fields/components/Map.svelte.d.ts +0 -27
- package/dist/fields/components/Multicheckbox.svelte +0 -77
- package/dist/fields/components/Multicheckbox.svelte.d.ts +0 -25
- package/dist/fields/components/Multistep.svelte +0 -86
- package/dist/fields/components/Multistep.svelte.d.ts +0 -27
- package/dist/fields/components/Note.svelte +0 -92
- package/dist/fields/components/Note.svelte.d.ts +0 -25
- package/dist/fields/components/Number.svelte +0 -119
- package/dist/fields/components/Number.svelte.d.ts +0 -25
- package/dist/fields/components/Objectbuilder.svelte +0 -154
- package/dist/fields/components/Objectbuilder.svelte.d.ts +0 -27
- package/dist/fields/components/Qrcodescanner.svelte +0 -196
- package/dist/fields/components/Qrcodescanner.svelte.d.ts +0 -25
- package/dist/fields/components/Radio.svelte +0 -117
- package/dist/fields/components/Radio.svelte.d.ts +0 -25
- package/dist/fields/components/Renderfield.svelte +0 -58
- package/dist/fields/components/Renderfield.svelte.d.ts +0 -27
- package/dist/fields/components/Screenrecorder.svelte +0 -276
- package/dist/fields/components/Screenrecorder.svelte.d.ts +0 -27
- package/dist/fields/components/Screenshot.svelte +0 -269
- package/dist/fields/components/Screenshot.svelte.d.ts +0 -27
- package/dist/fields/components/Scrollandreaddisplay.svelte +0 -122
- package/dist/fields/components/Scrollandreaddisplay.svelte.d.ts +0 -25
- package/dist/fields/components/Section.svelte +0 -87
- package/dist/fields/components/Section.svelte.d.ts +0 -27
- package/dist/fields/components/Select.svelte +0 -161
- package/dist/fields/components/Select.svelte.d.ts +0 -31
- package/dist/fields/components/Selectresource.svelte +0 -57
- package/dist/fields/components/Selectresource.svelte.d.ts +0 -27
- package/dist/fields/components/Signature.svelte +0 -152
- package/dist/fields/components/Signature.svelte.d.ts +0 -27
- package/dist/fields/components/Slider.svelte +0 -101
- package/dist/fields/components/Slider.svelte.d.ts +0 -25
- package/dist/fields/components/SmartText.svelte +0 -351
- package/dist/fields/components/SmartText.svelte.d.ts +0 -25
- package/dist/fields/components/Telephone.svelte +0 -156
- package/dist/fields/components/Telephone.svelte.d.ts +0 -25
- package/dist/fields/components/Text.svelte +0 -107
- package/dist/fields/components/Text.svelte.d.ts +0 -25
- package/dist/fields/components/Voicenote.svelte +0 -267
- package/dist/fields/components/Voicenote.svelte.d.ts +0 -27
- package/dist/fields/components/index.d.ts +0 -84
- package/dist/fields/components/index.js +0 -85
- package/dist/fields/definitions/all.json +0 -38
- package/dist/fields/definitions/arraybuilder.json +0 -39
- package/dist/fields/definitions/checkbox.json +0 -44
- package/dist/fields/definitions/code.json +0 -15
- package/dist/fields/definitions/contactselector.json +0 -15
- package/dist/fields/definitions/currency.json +0 -42
- package/dist/fields/definitions/dataindication.json +0 -16
- package/dist/fields/definitions/date.json +0 -16
- package/dist/fields/definitions/datetime.json +0 -15
- package/dist/fields/definitions/email.json +0 -16
- package/dist/fields/definitions/fieldbuilder.json +0 -64
- package/dist/fields/definitions/fieldsbuilder.json +0 -38
- package/dist/fields/definitions/file.json +0 -42
- package/dist/fields/definitions/grid.json +0 -47
- package/dist/fields/definitions/heading.json +0 -38
- package/dist/fields/definitions/hidden.json +0 -89
- package/dist/fields/definitions/hiddenlocation.json +0 -15
- package/dist/fields/definitions/html.json +0 -34
- package/dist/fields/definitions/index.d.ts +0 -90
- package/dist/fields/definitions/index.js +0 -99
- package/dist/fields/definitions/jsoneditor.json +0 -33
- package/dist/fields/definitions/map.json +0 -36
- package/dist/fields/definitions/multicheckbox.json +0 -47
- package/dist/fields/definitions/multistep.json +0 -35
- package/dist/fields/definitions/note.json +0 -16
- package/dist/fields/definitions/number.json +0 -42
- package/dist/fields/definitions/objectbuilder.json +0 -39
- package/dist/fields/definitions/placeholder.json +0 -15
- package/dist/fields/definitions/qrcodescanner.json +0 -16
- package/dist/fields/definitions/radio.json +0 -47
- package/dist/fields/definitions/renderfield.json +0 -36
- package/dist/fields/definitions/richtext.json +0 -16
- package/dist/fields/definitions/screenrecorder.json +0 -42
- package/dist/fields/definitions/screenshot.json +0 -42
- package/dist/fields/definitions/scrollandreaddisplay.json +0 -49
- package/dist/fields/definitions/section.json +0 -50
- package/dist/fields/definitions/select.json +0 -47
- package/dist/fields/definitions/selectresource.json +0 -48
- package/dist/fields/definitions/signature.json +0 -16
- package/dist/fields/definitions/slider.json +0 -78
- package/dist/fields/definitions/smarttext.json +0 -101
- package/dist/fields/definitions/telephone.json +0 -16
- package/dist/fields/definitions/text.json +0 -35
- package/dist/fields/definitions/validfieldtype.json +0 -220
- package/dist/fields/definitions/voicenote.json +0 -43
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -3
- package/dist/thirdparty/mapbox/GeoCoder.svelte +0 -10
- package/dist/thirdparty/mapbox/GeoCoder.svelte.d.ts +0 -27
- package/dist/thirdparty/mapbox/Map.svelte +0 -30
- package/dist/thirdparty/mapbox/Map.svelte.d.ts +0 -22
- package/dist/thirdparty/mapbox/MapMarker.svelte +0 -13
- package/dist/thirdparty/mapbox/MapMarker.svelte.d.ts +0 -33
- package/dist/utils/createField.d.ts +0 -6
- package/dist/utils/createField.js +0 -33
- package/dist/utils/createForm.d.ts +0 -1
- package/dist/utils/createForm.js +0 -501
- package/dist/utils/index.d.ts +0 -18
- package/dist/utils/index.js +0 -126
- package/dist/utils/syncing.d.ts +0 -11
- package/dist/utils/syncing.js +0 -134
- /package/dist/{fields2 → form-fields}/FieldExprToggle.svelte +0 -0
- /package/dist/{fields2 → form-fields}/FieldExprToggle.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/FieldLabel.svelte +0 -0
- /package/dist/{fields2 → form-fields}/FieldLabel.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/FieldMessage.svelte +0 -0
- /package/dist/{fields2 → form-fields}/FieldMessage.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/Form.svelte +0 -0
- /package/dist/{fields2 → form-fields}/Form.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/fileserver.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/fileserver.js +0 -0
- /package/dist/{fields2 → form-fields}/form-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/form-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/index.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/index.js +0 -0
- /package/dist/{fields2 → form-fields}/interfaces.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/interfaces.js +0 -0
- /package/dist/{fields2 → form-fields}/sub/array-builder-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/array-builder-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/checkbox-autocomplete.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/checkbox-autocomplete.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/checkbox-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/checkbox-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/code-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/code-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/contact-selector-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/contact-selector-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/currency-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/data-indication-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/data-indication-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/date-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/date-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/date-time-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/date-time-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/email-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/email-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/field-builder-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/field-builder-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/file-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/file-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/grid-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/grid-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/heading-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/heading-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/hidden-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/hidden-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/hidden-location-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/hidden-location-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/html-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/html-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/json-editor-bound.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/json-editor-bound.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/jsoneditor-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/jsoneditor-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/map-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/map-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/multi-checkbox-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/multi-checkbox-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/multistep-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/multistep-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/note-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/note-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/number-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/number-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/object-builder-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/object-builder-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/qr-code-scanner-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/qr-code-scanner-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/radio-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/radio-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/screenrecorder-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/screenrecorder-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/screenshot-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/screenshot-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/scroll-and-read-display-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/scroll-and-read-display-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/section-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/section-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/select-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/selectresource-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/selectresource-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/signature-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/signature-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/slider-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/slider-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/smart-text-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/smart-text-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/telephone-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/telephone-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/text-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/text-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/sub/voicenote-field.svelte +0 -0
- /package/dist/{fields2 → form-fields}/sub/voicenote-field.svelte.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/validations/validate_field.d.ts +0 -0
- /package/dist/{fields2 → form-fields}/validations/validate_field.js +0 -0
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/** @typedef {typeof __propDef.props} TelephoneProps */
|
|
2
|
-
/** @typedef {typeof __propDef.events} TelephoneEvents */
|
|
3
|
-
/** @typedef {typeof __propDef.slots} TelephoneSlots */
|
|
4
|
-
export default class Telephone extends SvelteComponent<{
|
|
5
|
-
field: any;
|
|
6
|
-
}, {
|
|
7
|
-
[evt: string]: CustomEvent<any>;
|
|
8
|
-
}, {}> {
|
|
9
|
-
}
|
|
10
|
-
export type TelephoneProps = typeof __propDef.props;
|
|
11
|
-
export type TelephoneEvents = typeof __propDef.events;
|
|
12
|
-
export type TelephoneSlots = typeof __propDef.slots;
|
|
13
|
-
import { SvelteComponent } from "svelte";
|
|
14
|
-
declare const __propDef: {
|
|
15
|
-
props: {
|
|
16
|
-
field: any;
|
|
17
|
-
};
|
|
18
|
-
events: {
|
|
19
|
-
[evt: string]: CustomEvent<any>;
|
|
20
|
-
};
|
|
21
|
-
slots: {};
|
|
22
|
-
exports?: undefined;
|
|
23
|
-
bindings?: undefined;
|
|
24
|
-
};
|
|
25
|
-
export {};
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import { syncStoreToStore } from "../../utils/syncing";
|
|
3
|
-
import { deepEqual } from "fast-equals";
|
|
4
|
-
import _ from "lodash-es";
|
|
5
|
-
import { onMount } from "svelte";
|
|
6
|
-
import { writable } from "svelte/store";
|
|
7
|
-
|
|
8
|
-
import { Input } from "@stubber/ui/input";
|
|
9
|
-
import { Label } from "@stubber/ui/label";
|
|
10
|
-
|
|
11
|
-
export let field;
|
|
12
|
-
|
|
13
|
-
const internal = writable();
|
|
14
|
-
|
|
15
|
-
$: state_key = $field.state?.state_key;
|
|
16
|
-
$: label = $field.spec?.title;
|
|
17
|
-
$: hide_label = $field.spec?.hide_label;
|
|
18
|
-
$: isValid = !$field.state?.validation || $field.state?.validation?.valid;
|
|
19
|
-
$: validationMessage = $field.state?.validation?.message;
|
|
20
|
-
$: parse_string = $field.spec?.params?.parse_string;
|
|
21
|
-
|
|
22
|
-
onMount(() => {
|
|
23
|
-
// set field values that aren't set yet
|
|
24
|
-
let f = _.cloneDeep($field);
|
|
25
|
-
let initial_value = f?.data?.base ?? "";
|
|
26
|
-
let initial_data = {
|
|
27
|
-
...f?.data,
|
|
28
|
-
base: initial_value,
|
|
29
|
-
};
|
|
30
|
-
let initial_state_internal = {
|
|
31
|
-
...f?.state?.internal,
|
|
32
|
-
raw: initial_value,
|
|
33
|
-
};
|
|
34
|
-
_.set(f, "data", initial_data);
|
|
35
|
-
_.set(f, "state.internal", initial_state_internal);
|
|
36
|
-
if (!deepEqual(f, $field)) $field = f;
|
|
37
|
-
|
|
38
|
-
syncStoreToStore(
|
|
39
|
-
field,
|
|
40
|
-
internal,
|
|
41
|
-
(a, b) => {
|
|
42
|
-
let _clone = _.cloneDeep(a.state?.internal) || {};
|
|
43
|
-
|
|
44
|
-
// get parts from data
|
|
45
|
-
_clone.raw = a?.data?.base;
|
|
46
|
-
|
|
47
|
-
// set field state if changed
|
|
48
|
-
if (!deepEqual(a?.state?.internal, _clone)) {
|
|
49
|
-
$field.state.internal = _clone;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return _clone;
|
|
53
|
-
},
|
|
54
|
-
(a, b) => {
|
|
55
|
-
let _clone = _.cloneDeep(a) || {};
|
|
56
|
-
// update the state
|
|
57
|
-
_.set(_clone, "state.internal", _.cloneDeep(b));
|
|
58
|
-
// update the data
|
|
59
|
-
const final_value = parse_string ? parse_string_value(b?.raw) : b?.raw;
|
|
60
|
-
_.set(_clone, "data.base", final_value);
|
|
61
|
-
return _clone;
|
|
62
|
-
},
|
|
63
|
-
null,
|
|
64
|
-
300
|
|
65
|
-
);
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
function parse_string_value(value) {
|
|
69
|
-
if (value === "true") return true;
|
|
70
|
-
if (value === "false") return false;
|
|
71
|
-
|
|
72
|
-
// convert to number if possible
|
|
73
|
-
if (!isNaN(value) && value !== "") {
|
|
74
|
-
return Number(value);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
return value;
|
|
78
|
-
}
|
|
79
|
-
</script>
|
|
80
|
-
|
|
81
|
-
{#if $internal}
|
|
82
|
-
<div class="flex flex-col w-full my-2">
|
|
83
|
-
<Label for="input_{state_key}" class="block py-2 {hide_label ? 'hidden' : ''}">
|
|
84
|
-
{label}
|
|
85
|
-
</Label>
|
|
86
|
-
<div class="relative rounded-md">
|
|
87
|
-
<Input
|
|
88
|
-
on:keydown={(e) => {
|
|
89
|
-
if (e.key === "Enter") {
|
|
90
|
-
e.preventDefault();
|
|
91
|
-
}
|
|
92
|
-
}}
|
|
93
|
-
type="text"
|
|
94
|
-
id="input_{state_key}"
|
|
95
|
-
placeholder={label}
|
|
96
|
-
class="block w-full {!isValid ? 'ring-danger-500' : 'ring-surface-300 '}"
|
|
97
|
-
name={state_key}
|
|
98
|
-
bind:value={$internal.raw}
|
|
99
|
-
/>
|
|
100
|
-
</div>
|
|
101
|
-
{#if validationMessage}
|
|
102
|
-
<Label class="mt-1.5 {!isValid ? `text-danger-500` : `text-success-500`}"
|
|
103
|
-
>{validationMessage}</Label
|
|
104
|
-
>
|
|
105
|
-
{/if}
|
|
106
|
-
</div>
|
|
107
|
-
{/if}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/** @typedef {typeof __propDef.props} TextProps */
|
|
2
|
-
/** @typedef {typeof __propDef.events} TextEvents */
|
|
3
|
-
/** @typedef {typeof __propDef.slots} TextSlots */
|
|
4
|
-
export default class Text extends SvelteComponent<{
|
|
5
|
-
field: any;
|
|
6
|
-
}, {
|
|
7
|
-
[evt: string]: CustomEvent<any>;
|
|
8
|
-
}, {}> {
|
|
9
|
-
}
|
|
10
|
-
export type TextProps = typeof __propDef.props;
|
|
11
|
-
export type TextEvents = typeof __propDef.events;
|
|
12
|
-
export type TextSlots = typeof __propDef.slots;
|
|
13
|
-
import { SvelteComponent } from "svelte";
|
|
14
|
-
declare const __propDef: {
|
|
15
|
-
props: {
|
|
16
|
-
field: any;
|
|
17
|
-
};
|
|
18
|
-
events: {
|
|
19
|
-
[evt: string]: CustomEvent<any>;
|
|
20
|
-
};
|
|
21
|
-
slots: {};
|
|
22
|
-
exports?: undefined;
|
|
23
|
-
bindings?: undefined;
|
|
24
|
-
};
|
|
25
|
-
export {};
|
|
@@ -1,267 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import { onMount } from "svelte";
|
|
3
|
-
import { Button } from "@stubber/ui/button";
|
|
4
|
-
import _ from "lodash-es";
|
|
5
|
-
import { deepEqual } from "fast-equals";
|
|
6
|
-
import { writable } from "svelte/store";
|
|
7
|
-
import { syncStoreToStore } from "../../utils/syncing";
|
|
8
|
-
|
|
9
|
-
import { Label } from "@stubber/ui/label";
|
|
10
|
-
|
|
11
|
-
export let form;
|
|
12
|
-
export let field;
|
|
13
|
-
|
|
14
|
-
const internal = writable({});
|
|
15
|
-
|
|
16
|
-
let isRecording;
|
|
17
|
-
let media = [];
|
|
18
|
-
let mediaRecorder = null;
|
|
19
|
-
|
|
20
|
-
$: state_key = $field.state?.state_key;
|
|
21
|
-
$: label = $field.spec?.title;
|
|
22
|
-
$: hide_label = $field.spec?.hide_label;
|
|
23
|
-
$: isValid = !$field.state?.validation || $field.state?.validation?.valid;
|
|
24
|
-
$: validationMessage = $field.state?.validation?.message;
|
|
25
|
-
$: max_files = isNaN(parseInt($field.spec?.params?.max_files))
|
|
26
|
-
? Infinity
|
|
27
|
-
: parseInt($field.spec?.params?.max_files);
|
|
28
|
-
$: limit_remaining =
|
|
29
|
-
max_files - ($internal?.selected_files?.length ?? 0) - ($internal?.uploaded_files?.length ?? 0);
|
|
30
|
-
|
|
31
|
-
onMount(() => {
|
|
32
|
-
// set field values that aren't set yet
|
|
33
|
-
let f = _.cloneDeep($field);
|
|
34
|
-
let initial_value = _.isArray(f?.data?.base) ? f?.data?.base : [];
|
|
35
|
-
let initial_data = {
|
|
36
|
-
...f?.data,
|
|
37
|
-
base: initial_value,
|
|
38
|
-
};
|
|
39
|
-
let initial_state_internal = {
|
|
40
|
-
selected_files: [],
|
|
41
|
-
uploaded_files: initial_value,
|
|
42
|
-
failed_files: [],
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
_.set(f, "data", initial_data);
|
|
46
|
-
_.set(f, "state.internal", initial_state_internal);
|
|
47
|
-
if (!deepEqual(f, $field)) $field = f;
|
|
48
|
-
|
|
49
|
-
syncStoreToStore(
|
|
50
|
-
field,
|
|
51
|
-
internal,
|
|
52
|
-
(a, b) => {
|
|
53
|
-
let _clone = _.cloneDeep(a.state?.internal) || {};
|
|
54
|
-
|
|
55
|
-
// get parts from data
|
|
56
|
-
let files = _.isArray(a?.data?.base) ? a?.data?.base : [];
|
|
57
|
-
_clone.uploaded_files = files;
|
|
58
|
-
|
|
59
|
-
// set field state if changed
|
|
60
|
-
if (!deepEqual(a?.state?.internal, _clone)) {
|
|
61
|
-
$field.state.internal = _clone;
|
|
62
|
-
}
|
|
63
|
-
return _clone;
|
|
64
|
-
},
|
|
65
|
-
(a, b) => {
|
|
66
|
-
let _clone = _.cloneDeep(a) || {};
|
|
67
|
-
// update the state
|
|
68
|
-
_.set(_clone, "state.internal", _.cloneDeep(b));
|
|
69
|
-
// update the data
|
|
70
|
-
_.set(_clone, "data.base", b?.uploaded_files);
|
|
71
|
-
return _clone;
|
|
72
|
-
}
|
|
73
|
-
);
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
async function initializeMediaRecorder() {
|
|
77
|
-
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
|
|
78
|
-
mediaRecorder = new MediaRecorder(stream);
|
|
79
|
-
mediaRecorder.ondataavailable = (e) => media.push(e.data);
|
|
80
|
-
mediaRecorder.onstop = function () {
|
|
81
|
-
let id = Math.random().toString(36).substring(7);
|
|
82
|
-
let filename = `${$field.spec?.name}_${id}.ogg`;
|
|
83
|
-
let blob = new Blob(media, { type: "audio/ogg; codecs=opus" });
|
|
84
|
-
let file = new File([blob], filename, { type: "audio/ogg; codecs=opus" });
|
|
85
|
-
uploadFile(file, blob, filename);
|
|
86
|
-
media = [];
|
|
87
|
-
mediaRecorder = null;
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
async function startRecording() {
|
|
92
|
-
if (limit_remaining <= 0) {
|
|
93
|
-
alert("You have reached the maximum number of files allowed");
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
await initializeMediaRecorder();
|
|
97
|
-
mediaRecorder.start();
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
function stopRecording() {
|
|
101
|
-
mediaRecorder.stop();
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
function toggleRecording() {
|
|
105
|
-
isRecording = !isRecording;
|
|
106
|
-
if (isRecording) {
|
|
107
|
-
startRecording();
|
|
108
|
-
} else {
|
|
109
|
-
stopRecording();
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
async function uploadFile(file, blob, filename) {
|
|
114
|
-
let comparison = _.cloneDeep($internal);
|
|
115
|
-
let f_id = Math.random().toString(36).substring(7);
|
|
116
|
-
comparison.selected_files = comparison.selected_files || [];
|
|
117
|
-
comparison.selected_files.push({
|
|
118
|
-
blob,
|
|
119
|
-
file,
|
|
120
|
-
filename,
|
|
121
|
-
f_id,
|
|
122
|
-
});
|
|
123
|
-
if (!deepEqual(comparison, $internal)) {
|
|
124
|
-
$internal = comparison;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
let upload_res = await form.uploadFiles([file]);
|
|
128
|
-
let { uploaded_files } = upload_res || {};
|
|
129
|
-
|
|
130
|
-
let comparison2 = _.cloneDeep($internal);
|
|
131
|
-
if (_.isArray(uploaded_files)) {
|
|
132
|
-
uploaded_files.forEach((a) => {
|
|
133
|
-
a.f_id = f_id;
|
|
134
|
-
form.appendAttachment(a);
|
|
135
|
-
comparison2.uploaded_files.push(a);
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
if (!uploaded_files?.length) {
|
|
140
|
-
comparison2.failed_files.push({
|
|
141
|
-
file,
|
|
142
|
-
filename,
|
|
143
|
-
f_id,
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
comparison2.selected_files = comparison2.selected_files.filter((f) => {
|
|
148
|
-
return f.f_id !== f_id;
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
if (!deepEqual(comparison2, $internal)) {
|
|
152
|
-
$internal = comparison2;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
function removeFile(item) {
|
|
157
|
-
let name = item?.file?.filename ?? item?.file?.name;
|
|
158
|
-
let comparison = _.cloneDeep($internal);
|
|
159
|
-
comparison.selected_files = comparison.selected_files?.filter((f) => f.f_id !== item.file.f_id);
|
|
160
|
-
comparison.failed_files = comparison.failed_files?.filter((f) => f.f_id !== item.file.f_id);
|
|
161
|
-
comparison.uploaded_files = comparison.uploaded_files?.filter((f) => f.f_id !== item.file.f_id);
|
|
162
|
-
|
|
163
|
-
if (!deepEqual(comparison, $internal)) {
|
|
164
|
-
$internal = comparison;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
if (item?.is_uploaded) {
|
|
168
|
-
form.removeAttachment(item?.file);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
async function fileToBlob(file) {
|
|
173
|
-
return new Blob([new Uint8Array(await file.arrayBuffer())], { type: file.type });
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
let fileList = [];
|
|
177
|
-
$: formatFileList($internal);
|
|
178
|
-
async function formatFileList(i) {
|
|
179
|
-
let { uploaded_files, selected_files, failed_files } = i;
|
|
180
|
-
let r = [];
|
|
181
|
-
for (let item of uploaded_files || []) {
|
|
182
|
-
r.push({
|
|
183
|
-
file: item,
|
|
184
|
-
filename: item.filename,
|
|
185
|
-
is_uploaded: true,
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
for (let item of selected_files || []) {
|
|
189
|
-
r.push({
|
|
190
|
-
...item,
|
|
191
|
-
is_selected: true,
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
for (let item of failed_files || []) {
|
|
195
|
-
r.push({
|
|
196
|
-
...item,
|
|
197
|
-
is_failed: true,
|
|
198
|
-
blob: await fileToBlob(item.file),
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
fileList = r;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
$: buttonLabel = isRecording ? "Stop recording" : "Start recording";
|
|
205
|
-
</script>
|
|
206
|
-
|
|
207
|
-
{#if $internal}
|
|
208
|
-
<div class="flex flex-col w-full text-surface-900">
|
|
209
|
-
<Label for="input_{state_key}" class="block py-2 {hide_label ? 'hidden' : ''}">
|
|
210
|
-
{label}
|
|
211
|
-
</Label>
|
|
212
|
-
<div>
|
|
213
|
-
<Button variant={isRecording ? "destructive" : "default"} on:click={toggleRecording}>
|
|
214
|
-
{#if isRecording}
|
|
215
|
-
<i class="fa-solid fa-microphone-slash" />
|
|
216
|
-
{:else}
|
|
217
|
-
<i class="fa-solid fa-microphone" />
|
|
218
|
-
{/if}
|
|
219
|
-
{buttonLabel}
|
|
220
|
-
</Button>
|
|
221
|
-
{#each fileList as item}
|
|
222
|
-
<div class="w-full flex flex-row items-center">
|
|
223
|
-
{#if item.is_uploaded}
|
|
224
|
-
<div class="px-2">
|
|
225
|
-
<i class="fa fa-check text-success-500" />
|
|
226
|
-
</div>
|
|
227
|
-
{:else if item.is_failed}
|
|
228
|
-
<div class="px-2 space-x-2 flex items-center text-danger-400">
|
|
229
|
-
<i class="fa-regular fa-triangle-exclamation" />
|
|
230
|
-
<p class="hidden md:block text-fluid-md">Failed</p>
|
|
231
|
-
</div>
|
|
232
|
-
{:else}
|
|
233
|
-
<div class="px-2 space-x-2 flex items-center text-surface-500">
|
|
234
|
-
<p class="hidden md:block text-fluid-md">uploading...</p>
|
|
235
|
-
<i class="fa fa-pulse fa-spinner" />
|
|
236
|
-
</div>
|
|
237
|
-
{/if}
|
|
238
|
-
{#if item?.blob}
|
|
239
|
-
<div class="shrink p-2">
|
|
240
|
-
<div class="overflow-hidden">
|
|
241
|
-
<audio controls src={window.URL.createObjectURL(item.blob)} />
|
|
242
|
-
</div>
|
|
243
|
-
</div>
|
|
244
|
-
{:else}
|
|
245
|
-
<div class="w-full shrink py-1 pl-2 truncate border border-surface-200 rounded-sm">
|
|
246
|
-
<p class="text-surface-800 text-fluid-md">
|
|
247
|
-
{item?.filename}
|
|
248
|
-
</p>
|
|
249
|
-
</div>
|
|
250
|
-
{/if}
|
|
251
|
-
<button
|
|
252
|
-
type="button"
|
|
253
|
-
class="shrink-0 fa-solid fa-2xs fa-x bg-surface-0 rounded-full border border-surface-0 hover:border-warning-500 hover:text-warning-500"
|
|
254
|
-
on:click={() => {
|
|
255
|
-
removeFile(item);
|
|
256
|
-
}}
|
|
257
|
-
/>
|
|
258
|
-
</div>
|
|
259
|
-
{/each}
|
|
260
|
-
</div>
|
|
261
|
-
</div>
|
|
262
|
-
{#if validationMessage}
|
|
263
|
-
<p class="text-label {!isValid ? `text-danger-500` : `text-success-500`}">
|
|
264
|
-
{validationMessage}
|
|
265
|
-
</p>
|
|
266
|
-
{/if}
|
|
267
|
-
{/if}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/** @typedef {typeof __propDef.props} VoicenoteProps */
|
|
2
|
-
/** @typedef {typeof __propDef.events} VoicenoteEvents */
|
|
3
|
-
/** @typedef {typeof __propDef.slots} VoicenoteSlots */
|
|
4
|
-
export default class Voicenote extends SvelteComponent<{
|
|
5
|
-
form: any;
|
|
6
|
-
field: any;
|
|
7
|
-
}, {
|
|
8
|
-
[evt: string]: CustomEvent<any>;
|
|
9
|
-
}, {}> {
|
|
10
|
-
}
|
|
11
|
-
export type VoicenoteProps = typeof __propDef.props;
|
|
12
|
-
export type VoicenoteEvents = typeof __propDef.events;
|
|
13
|
-
export type VoicenoteSlots = typeof __propDef.slots;
|
|
14
|
-
import { SvelteComponent } from "svelte";
|
|
15
|
-
declare const __propDef: {
|
|
16
|
-
props: {
|
|
17
|
-
form: any;
|
|
18
|
-
field: any;
|
|
19
|
-
};
|
|
20
|
-
events: {
|
|
21
|
-
[evt: string]: CustomEvent<any>;
|
|
22
|
-
};
|
|
23
|
-
slots: {};
|
|
24
|
-
exports?: undefined;
|
|
25
|
-
bindings?: undefined;
|
|
26
|
-
};
|
|
27
|
-
export {};
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
export namespace components {
|
|
2
|
-
export { Arraybuilder as arraybuilder };
|
|
3
|
-
export { Checkbox as checkbox };
|
|
4
|
-
export { CheckboxAutocomplete as checkbox_autocomplete };
|
|
5
|
-
export { Code as code };
|
|
6
|
-
export { Contactselector as contactselector };
|
|
7
|
-
export { Currency as currency };
|
|
8
|
-
export { Dataindication as dataindication };
|
|
9
|
-
export { Date as date };
|
|
10
|
-
export { Datetime as datetime };
|
|
11
|
-
export { Email as email };
|
|
12
|
-
export { Fieldbuilder as fieldbuilder };
|
|
13
|
-
export { Fieldsbuilder as fieldsbuilder };
|
|
14
|
-
export { FileField as file };
|
|
15
|
-
export { Heading as heading };
|
|
16
|
-
export { Hidden as hidden };
|
|
17
|
-
export { Hiddenlocation as hiddenlocation };
|
|
18
|
-
export { Html as html };
|
|
19
|
-
export { Jsoneditor as jsoneditor };
|
|
20
|
-
export { Map as map };
|
|
21
|
-
export { Multicheckbox as multicheckbox };
|
|
22
|
-
export { Multistep as multistep };
|
|
23
|
-
export { Note as note };
|
|
24
|
-
export { Number as number };
|
|
25
|
-
export { Objectbuilder as objectbuilder };
|
|
26
|
-
export { Qrcodescanner as qrcodescanner };
|
|
27
|
-
export { Radio as radio };
|
|
28
|
-
export { Renderfield as renderfield };
|
|
29
|
-
export { Note as richtext };
|
|
30
|
-
export { Screenrecorder as screenrecorder };
|
|
31
|
-
export { Screenshot as screenshot };
|
|
32
|
-
export { Scrollandreaddisplay as scrollandreaddisplay };
|
|
33
|
-
export { Section as section };
|
|
34
|
-
export { Select as select };
|
|
35
|
-
export { Selectresource as selectresource };
|
|
36
|
-
export { Signature as signature };
|
|
37
|
-
export { Slider as slider };
|
|
38
|
-
export { Telephone as telephone };
|
|
39
|
-
export { Text as text };
|
|
40
|
-
export { Voicenote as voicenote };
|
|
41
|
-
export { AgGrid as grid };
|
|
42
|
-
export { SmartText as smart_text };
|
|
43
|
-
export { Text as _placeholder };
|
|
44
|
-
}
|
|
45
|
-
import Arraybuilder from "./Arraybuilder.svelte";
|
|
46
|
-
import Checkbox from "./Checkbox.svelte";
|
|
47
|
-
import CheckboxAutocomplete from "./CheckboxAutocomplete.svelte";
|
|
48
|
-
import Code from "./Code.svelte";
|
|
49
|
-
import Contactselector from "./Contactselector.svelte";
|
|
50
|
-
import Currency from "./Currency.svelte";
|
|
51
|
-
import Dataindication from "./Dataindication.svelte";
|
|
52
|
-
import Date from "./Date.svelte";
|
|
53
|
-
import Datetime from "./Datetime.svelte";
|
|
54
|
-
import Email from "./Email.svelte";
|
|
55
|
-
import Fieldbuilder from "./Fieldbuilder.svelte";
|
|
56
|
-
import Fieldsbuilder from "./Fieldsbuilder.svelte";
|
|
57
|
-
import FileField from "./File.svelte";
|
|
58
|
-
import Heading from "./Heading.svelte";
|
|
59
|
-
import Hidden from "./Hidden.svelte";
|
|
60
|
-
import Hiddenlocation from "./Hiddenlocation.svelte";
|
|
61
|
-
import Html from "./Html.svelte";
|
|
62
|
-
import Jsoneditor from "./Jsoneditor.svelte";
|
|
63
|
-
import Map from "./Map.svelte";
|
|
64
|
-
import Multicheckbox from "./Multicheckbox.svelte";
|
|
65
|
-
import Multistep from "./Multistep.svelte";
|
|
66
|
-
import Note from "./Note.svelte";
|
|
67
|
-
import Number from "./Number.svelte";
|
|
68
|
-
import Objectbuilder from "./Objectbuilder.svelte";
|
|
69
|
-
import Qrcodescanner from "./Qrcodescanner.svelte";
|
|
70
|
-
import Radio from "./Radio.svelte";
|
|
71
|
-
import Renderfield from "./Renderfield.svelte";
|
|
72
|
-
import Screenrecorder from "./Screenrecorder.svelte";
|
|
73
|
-
import Screenshot from "./Screenshot.svelte";
|
|
74
|
-
import Scrollandreaddisplay from "./Scrollandreaddisplay.svelte";
|
|
75
|
-
import Section from "./Section.svelte";
|
|
76
|
-
import Select from "./Select.svelte";
|
|
77
|
-
import Selectresource from "./Selectresource.svelte";
|
|
78
|
-
import Signature from "./Signature.svelte";
|
|
79
|
-
import Slider from "./Slider.svelte";
|
|
80
|
-
import Telephone from "./Telephone.svelte";
|
|
81
|
-
import Text from "./Text.svelte";
|
|
82
|
-
import Voicenote from "./Voicenote.svelte";
|
|
83
|
-
import AgGrid from "./AgGrid.svelte";
|
|
84
|
-
import SmartText from "./SmartText.svelte";
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import AgGrid from "./AgGrid.svelte";
|
|
2
|
-
import Arraybuilder from "./Arraybuilder.svelte";
|
|
3
|
-
import Checkbox from "./Checkbox.svelte";
|
|
4
|
-
import Contactselector from "./Contactselector.svelte";
|
|
5
|
-
import Currency from "./Currency.svelte";
|
|
6
|
-
import Dataindication from "./Dataindication.svelte";
|
|
7
|
-
import Date from "./Date.svelte";
|
|
8
|
-
import Datetime from "./Datetime.svelte";
|
|
9
|
-
import Email from "./Email.svelte";
|
|
10
|
-
import Fieldbuilder from "./Fieldbuilder.svelte";
|
|
11
|
-
import Fieldsbuilder from "./Fieldsbuilder.svelte";
|
|
12
|
-
import FileField from "./File.svelte";
|
|
13
|
-
import Heading from "./Heading.svelte";
|
|
14
|
-
import Hidden from "./Hidden.svelte";
|
|
15
|
-
import Hiddenlocation from "./Hiddenlocation.svelte";
|
|
16
|
-
import Html from "./Html.svelte";
|
|
17
|
-
import Jsoneditor from "./Jsoneditor.svelte";
|
|
18
|
-
import Map from "./Map.svelte";
|
|
19
|
-
import Multicheckbox from "./Multicheckbox.svelte";
|
|
20
|
-
import Multistep from "./Multistep.svelte";
|
|
21
|
-
import Note from "./Note.svelte";
|
|
22
|
-
import Number from "./Number.svelte";
|
|
23
|
-
import Objectbuilder from "./Objectbuilder.svelte";
|
|
24
|
-
import Qrcodescanner from "./Qrcodescanner.svelte";
|
|
25
|
-
import Radio from "./Radio.svelte";
|
|
26
|
-
import Renderfield from "./Renderfield.svelte";
|
|
27
|
-
import Screenrecorder from "./Screenrecorder.svelte";
|
|
28
|
-
import Screenshot from "./Screenshot.svelte";
|
|
29
|
-
import Scrollandreaddisplay from "./Scrollandreaddisplay.svelte";
|
|
30
|
-
import Section from "./Section.svelte";
|
|
31
|
-
import Select from "./Select.svelte";
|
|
32
|
-
import Selectresource from "./Selectresource.svelte";
|
|
33
|
-
import Signature from "./Signature.svelte";
|
|
34
|
-
import Slider from "./Slider.svelte";
|
|
35
|
-
import Telephone from "./Telephone.svelte";
|
|
36
|
-
import Text from "./Text.svelte";
|
|
37
|
-
import Voicenote from "./Voicenote.svelte";
|
|
38
|
-
import SmartText from "./SmartText.svelte";
|
|
39
|
-
import CheckboxAutocomplete from "./CheckboxAutocomplete.svelte";
|
|
40
|
-
import Code from "./Code.svelte";
|
|
41
|
-
|
|
42
|
-
export const components = {
|
|
43
|
-
arraybuilder: Arraybuilder,
|
|
44
|
-
checkbox: Checkbox,
|
|
45
|
-
checkbox_autocomplete: CheckboxAutocomplete,
|
|
46
|
-
code: Code,
|
|
47
|
-
contactselector: Contactselector,
|
|
48
|
-
currency: Currency,
|
|
49
|
-
dataindication: Dataindication,
|
|
50
|
-
date: Date,
|
|
51
|
-
datetime: Datetime,
|
|
52
|
-
email: Email,
|
|
53
|
-
fieldbuilder: Fieldbuilder,
|
|
54
|
-
fieldsbuilder: Fieldsbuilder,
|
|
55
|
-
file: FileField,
|
|
56
|
-
heading: Heading,
|
|
57
|
-
hidden: Hidden,
|
|
58
|
-
hiddenlocation: Hiddenlocation,
|
|
59
|
-
html: Html,
|
|
60
|
-
jsoneditor: Jsoneditor,
|
|
61
|
-
map: Map,
|
|
62
|
-
multicheckbox: Multicheckbox,
|
|
63
|
-
multistep: Multistep,
|
|
64
|
-
note: Note,
|
|
65
|
-
number: Number,
|
|
66
|
-
objectbuilder: Objectbuilder,
|
|
67
|
-
qrcodescanner: Qrcodescanner,
|
|
68
|
-
radio: Radio,
|
|
69
|
-
renderfield: Renderfield,
|
|
70
|
-
richtext: Note,
|
|
71
|
-
screenrecorder: Screenrecorder,
|
|
72
|
-
screenshot: Screenshot,
|
|
73
|
-
scrollandreaddisplay: Scrollandreaddisplay,
|
|
74
|
-
section: Section,
|
|
75
|
-
select: Select,
|
|
76
|
-
selectresource: Selectresource,
|
|
77
|
-
signature: Signature,
|
|
78
|
-
slider: Slider,
|
|
79
|
-
telephone: Telephone,
|
|
80
|
-
text: Text,
|
|
81
|
-
voicenote: Voicenote,
|
|
82
|
-
grid: AgGrid,
|
|
83
|
-
smart_text: SmartText,
|
|
84
|
-
_placeholder: Text,
|
|
85
|
-
};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"fieldtype": "_all",
|
|
3
|
-
"description": "Applies to all fields",
|
|
4
|
-
"settings_form": {
|
|
5
|
-
"fields": {
|
|
6
|
-
"all_params": {
|
|
7
|
-
"fieldtype": "section",
|
|
8
|
-
"hide_label": true,
|
|
9
|
-
"details": {
|
|
10
|
-
"keyname": "spec"
|
|
11
|
-
},
|
|
12
|
-
"fields": {
|
|
13
|
-
"name": {
|
|
14
|
-
"title": "Field name",
|
|
15
|
-
"fieldtype": "renderfield",
|
|
16
|
-
"params": {
|
|
17
|
-
"dynamic_fieldspec": {
|
|
18
|
-
"fieldtype": "$boolean(form.data.spec_name_editable) ? 'text' : 'dataindication'"
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
"fieldtype": {
|
|
23
|
-
"title": "Fieldtype",
|
|
24
|
-
"fieldtype": "renderfield",
|
|
25
|
-
"params": {
|
|
26
|
-
"dynamic_fieldspec": {
|
|
27
|
-
"fieldtype": "$boolean(form.data.spec_fieldtype_editable) ? 'select' : 'dataindication'",
|
|
28
|
-
"params": {
|
|
29
|
-
"options": "form.data.fieldtype_options"
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|