sveltekit-ui 1.1.17 → 1.1.18
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/Components/Alert/index.svelte +88 -0
- package/dist/Components/Alert/index.svelte.js +101 -0
- package/dist/Components/ArrowToggle/index.svelte +62 -0
- package/dist/Components/Attachment/index.svelte +77 -0
- package/dist/Components/Attachment/index.svelte.js +119 -0
- package/dist/Components/Audio/index.svelte +193 -0
- package/dist/Components/Audio/index.svelte.js +463 -0
- package/dist/Components/AudioEditor/index.svelte +252 -0
- package/dist/Components/AudioEditor/index.svelte.js +977 -0
- package/dist/Components/AudioEditor/samples/alloy-voice-sample.mp3 +0 -0
- package/dist/Components/AudioEditor/samples/echo-voice-sample.mp3 +0 -0
- package/dist/Components/AudioEditor/samples/fable-voice-sample.mp3 +0 -0
- package/dist/Components/AudioEditor/samples/nova-voice-sample.mp3 +0 -0
- package/dist/Components/AudioEditor/samples/onyx-voice-sample.mp3 +0 -0
- package/dist/Components/AudioEditor/samples/shimmer-voice-sample.mp3 +0 -0
- package/dist/Components/AuthCodeInput/index.svelte +85 -0
- package/dist/Components/AuthCodeInput/index.svelte.js +95 -0
- package/dist/Components/Breadcrumbs/index.svelte +27 -0
- package/dist/Components/Breadcrumbs/index.svelte.js +88 -0
- package/dist/Components/Button/index.svelte +721 -0
- package/dist/Components/Button/index.svelte.js +375 -0
- package/dist/Components/Chart/Klines/index.svelte +87 -0
- package/dist/Components/Chart/index.svelte +226 -0
- package/dist/Components/Chart/index.svelte.js +1090 -0
- package/dist/Components/ChartInput/DisplayNav/Klines/index.svelte +150 -0
- package/dist/Components/ChartInput/DisplayNav/Lines/index.svelte +45 -0
- package/dist/Components/ChartInput/DisplayNav/index.svelte +297 -0
- package/dist/Components/ChartInput/EditPanel/index.svelte +155 -0
- package/dist/Components/ChartInput/index.svelte +21 -0
- package/dist/Components/ChartInput/index.svelte.js +671 -0
- package/dist/Components/Checkbox/index.svelte +411 -0
- package/dist/Components/Checkbox/index.svelte.js +178 -0
- package/dist/Components/Code/index.svelte +23 -0
- package/dist/Components/Code/index.svelte.js +33 -0
- package/dist/Components/Color/index.svelte +51 -0
- package/dist/Components/Color/index.svelte.js +31 -0
- package/dist/Components/ColorInput/ChromaPicker/index.svelte +50 -0
- package/dist/Components/ColorInput/ColorPalette/index.svelte +62 -0
- package/dist/Components/ColorInput/OpacityPicker/index.svelte +68 -0
- package/dist/Components/ColorInput/ShowcasePicker/index.svelte +136 -0
- package/dist/Components/ColorInput/index.svelte +70 -0
- package/dist/Components/ColorInput/index.svelte.js +386 -0
- package/dist/Components/ConditionsInput/index.svelte +46 -0
- package/dist/Components/ConditionsInput/index.svelte.js +201 -0
- package/dist/Components/Confetti/index.svelte +98 -0
- package/dist/Components/Confetti/index.svelte.js +94 -0
- package/dist/Components/Content/index.svelte +500 -0
- package/dist/Components/Content/index.svelte.js +910 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte +31 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte.js +258 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte +31 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte.js +258 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte +58 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte.js +206 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte +28 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte.js +224 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte +44 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte.js +272 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte +41 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.js +202 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte +19 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte.js +117 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte +60 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte.js +542 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte +47 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte.js +185 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte +35 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte.js +222 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte +20 -0
- package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte.js +84 -0
- package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte +25 -0
- package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte.js +91 -0
- package/dist/Components/ContentInput/AttributesInput/index.svelte +352 -0
- package/dist/Components/ContentInput/AttributesInput/index.svelte.js +1436 -0
- package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte +64 -0
- package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte.js +97 -0
- package/dist/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte +184 -0
- package/dist/Components/ContentInput/ContentPanelBuilder/index.svelte +41 -0
- package/dist/Components/ContentInput/index.svelte +78 -0
- package/dist/Components/ContentInput/index.svelte.js +1197 -0
- package/dist/Components/CronInput/index.svelte +78 -0
- package/dist/Components/CronInput/index.svelte.js +198 -0
- package/dist/Components/DataTypeInput/index.svelte +174 -0
- package/dist/Components/DataTypeInput/index.svelte.js +565 -0
- package/dist/Components/Dropdown/index.svelte +116 -0
- package/dist/Components/Dropdown/index.svelte.js +403 -0
- package/dist/Components/EmailAddress/index.svelte +22 -0
- package/dist/Components/EmailAddress/index.svelte.js +45 -0
- package/dist/Components/ErrorX/index.svelte +58 -0
- package/dist/Components/Eye/index.svelte +57 -0
- package/dist/Components/FileInput/index.svelte +146 -0
- package/dist/Components/FileInput/index.svelte.js +225 -0
- package/dist/Components/Hamburger/index.svelte +99 -0
- package/dist/Components/HorizScrollBox/index.svelte +145 -0
- package/dist/Components/Icon/index.svelte +412 -0
- package/dist/Components/Icon/index.svelte.js +116 -0
- package/dist/Components/IconInput/index.svelte +77 -0
- package/dist/Components/IconInput/index.svelte.js +259 -0
- package/dist/Components/Image/index.svelte +126 -0
- package/dist/Components/Image/index.svelte.js +116 -0
- package/dist/Components/ImageEditor/Image/CropBox/index.svelte +165 -0
- package/dist/Components/ImageEditor/Image/index.svelte +104 -0
- package/dist/Components/ImageEditor/Panels/AI/index.svelte +44 -0
- package/dist/Components/ImageEditor/Panels/Crop/index.svelte +96 -0
- package/dist/Components/ImageEditor/Panels/File/QualityPicker/index.svelte +124 -0
- package/dist/Components/ImageEditor/Panels/File/index.svelte +74 -0
- package/dist/Components/ImageEditor/Panels/Filters/index.svelte +46 -0
- package/dist/Components/ImageEditor/Panels/Resize/index.svelte +58 -0
- package/dist/Components/ImageEditor/index.svelte +93 -0
- package/dist/Components/ImageEditor/index.svelte.js +1961 -0
- package/dist/Components/ImageSlider/index.svelte +124 -0
- package/dist/Components/ImageSlider/index.svelte.js +99 -0
- package/dist/Components/InfoBox/index.svelte +89 -0
- package/dist/Components/Json/Nested/index.svelte +157 -0
- package/dist/Components/Json/index.svelte +60 -0
- package/dist/Components/Json/index.svelte.js +594 -0
- package/dist/Components/LabeledItem/index.svelte +102 -0
- package/dist/Components/Layout/NavBar/FullNav/index.svelte +52 -0
- package/dist/Components/Layout/NavBar/NavGuts/index.svelte +87 -0
- package/dist/Components/Layout/NavBar/index.svelte +72 -0
- package/dist/Components/Layout/index.svelte +149 -0
- package/dist/Components/Layout/index.svelte.js +360 -0
- package/dist/Components/Link/index.svelte +47 -0
- package/dist/Components/Link/index.svelte.js +136 -0
- package/dist/Components/LoadingSuccessDiv/index.svelte +51 -0
- package/dist/Components/LoadingWheel/index.svelte +38 -0
- package/dist/Components/Location/index.svelte +79 -0
- package/dist/Components/Location/index.svelte.js +288 -0
- package/dist/Components/LocationInput/index.svelte +197 -0
- package/dist/Components/LocationInput/index.svelte.js +965 -0
- package/dist/Components/Number/index.svelte +47 -0
- package/dist/Components/Number/index.svelte.js +151 -0
- package/dist/Components/PhoneCountryCode/index.svelte +7 -0
- package/dist/Components/PhoneCountryCode/index.svelte.js +260 -0
- package/dist/Components/PhoneNumber/index.svelte +22 -0
- package/dist/Components/PhoneNumber/index.svelte.js +41 -0
- package/dist/Components/Popover/index.svelte +396 -0
- package/dist/Components/Popover/index.svelte.js +319 -0
- package/dist/Components/Qr/index.svelte +85 -0
- package/dist/Components/Qr/index.svelte.js +301 -0
- package/dist/Components/QrInput/index.svelte +47 -0
- package/dist/Components/QrInput/index.svelte.js +218 -0
- package/dist/Components/Slider/index.svelte +239 -0
- package/dist/Components/Slider/index.svelte.js +469 -0
- package/dist/Components/Spacer/index.svelte +41 -0
- package/dist/Components/StoragePicker/DisplayFile/index.svelte +15 -0
- package/dist/Components/StoragePicker/index.svelte +187 -0
- package/dist/Components/StoragePicker/index.svelte.js +592 -0
- package/dist/Components/SuccessCheck/index.svelte +56 -0
- package/dist/Components/TableAdvanced/ColumnInput/index.svelte +117 -0
- package/dist/Components/TableAdvanced/ColumnInput/index.svelte.js +456 -0
- package/dist/Components/TableAdvanced/FilterInput/index.svelte +54 -0
- package/dist/Components/TableAdvanced/FilterInput/index.svelte.js +247 -0
- package/dist/Components/TableAdvanced/Pagination/index.svelte +43 -0
- package/dist/Components/TableAdvanced/Pagination/index.svelte.js +97 -0
- package/dist/Components/TableAdvanced/SortByInput/index.svelte +72 -0
- package/dist/Components/TableAdvanced/SortByInput/index.svelte.js +176 -0
- package/dist/Components/TableAdvanced/index.svelte +275 -0
- package/dist/Components/TableAdvanced/index.svelte.js +1565 -0
- package/dist/Components/Tag/index.svelte +45 -0
- package/dist/Components/Tag/index.svelte.js +76 -0
- package/dist/Components/TextArrayInput/index.svelte +108 -0
- package/dist/Components/TextArrayInput/index.svelte.js +239 -0
- package/dist/Components/TextInput/PasswordTooltip/index.svelte +89 -0
- package/dist/Components/TextInput/index.svelte +223 -0
- package/dist/Components/TextInput/index.svelte.js +447 -0
- package/dist/Components/Time/index.svelte +7 -0
- package/dist/Components/Time/index.svelte.js +38 -0
- package/dist/Components/TimeInput/NumberToggler/index.svelte +34 -0
- package/dist/Components/TimeInput/NumberToggler/index.svelte.js +79 -0
- package/dist/Components/TimeInput/index.js +702 -0
- package/dist/Components/TimeInput/index.svelte +211 -0
- package/dist/Components/TimeInput/index.svelte.js +638 -0
- package/dist/Components/Tooltip/index.svelte +143 -0
- package/dist/Components/TransparentBackground/index.svelte +153 -0
- package/dist/Components/TypingDots/index.svelte +84 -0
- package/dist/Components/VariablePathInput/index.svelte +63 -0
- package/dist/Components/VariablePathInput/index.svelte.js +273 -0
- package/dist/Components/VideoTBD/index.svelte +100 -0
- package/dist/Components/XFollow/index.svelte +42 -0
- package/dist/Components/XPost/index.svelte +52 -0
- package/dist/Components/XPost/index.svelte.js +64 -0
- package/dist/Components/YoutubeChannelButton/index.svelte +82 -0
- package/dist/Components/YoutubeVideo/index.svelte +73 -0
- package/dist/Components/YoutubeVideo/index.svelte.js +54 -0
- package/dist/actions/draggable.js +49 -0
- package/dist/actions/index.js +24 -0
- package/dist/actions/no_spaces.js +33 -0
- package/dist/actions/numbers_only.js +26 -0
- package/dist/actions/scroll_y.js +28 -0
- package/dist/actions/stop_scroll_propagation_y.js +42 -0
- package/dist/actions/swipe_handler.js +295 -0
- package/dist/client/astc_formatting/index.js +1128 -0
- package/dist/client/docs/index.js +7622 -0
- package/dist/client/index.js +735 -0
- package/dist/client/types/index.js +2812 -0
- package/dist/index.js +180 -0
- package/dist/style.css +682 -0
- package/package.json +1 -1
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { create_popover_manager } from "../../../../Popover/index.svelte.js"
|
|
2
|
+
import { create_button_manager } from "../../../../Button/index.svelte.js"
|
|
3
|
+
import { create_color_input_manager } from "../../../../ColorInput/index.svelte.js"
|
|
4
|
+
import { create_text_input_manager } from "../../../../TextInput/index.svelte.js"
|
|
5
|
+
import { create_icon_input_manager } from "../../../../IconInput/index.svelte.js"
|
|
6
|
+
import { create_conditions_input_manager } from "../../../../ConditionsInput/index.svelte.js"
|
|
7
|
+
import { create_tag_manager } from "../../../../Tag/index.svelte.js"
|
|
8
|
+
import { deep_copy } from "../../../../../client/index.js"
|
|
9
|
+
|
|
10
|
+
export function create_tag_config_input_manager(config) {
|
|
11
|
+
let val_loc = $state(null)
|
|
12
|
+
let data_type = $state(null)
|
|
13
|
+
let tag_option_to_add_popover_manager = $state(null)
|
|
14
|
+
let tag_option_to_add_popover_toggle_button_manager = $state(null)
|
|
15
|
+
let tag_option_to_add_color_input_manager = $state(null)
|
|
16
|
+
let tag_option_to_add_text_text_input_manager = $state(null)
|
|
17
|
+
let tag_option_to_add_match_for = $state(null) // tbd
|
|
18
|
+
let tag_option_to_add_icon_input_manager = $state(null)
|
|
19
|
+
let tag_option_to_add_conditions_input_manager = $state(null)
|
|
20
|
+
let tag_option_to_add_finish_button_manager = $state(null)
|
|
21
|
+
|
|
22
|
+
let edit_tag_i = $state(-1)
|
|
23
|
+
let derived_tag_option_to_add = $derived(get_derived_tag_option_to_add())
|
|
24
|
+
let tag_option_to_add_manager = $state(null)
|
|
25
|
+
|
|
26
|
+
let val = $derived(val_loc) // tbd
|
|
27
|
+
|
|
28
|
+
function get_derived_tag_option_to_add() {
|
|
29
|
+
return {
|
|
30
|
+
display_text: tag_option_to_add_text_text_input_manager?.val,
|
|
31
|
+
color: tag_option_to_add_color_input_manager?.val,
|
|
32
|
+
icon: tag_option_to_add_icon_input_manager?.val,
|
|
33
|
+
match_for: {}, // tbd
|
|
34
|
+
// match_for: {
|
|
35
|
+
// type: "operator",
|
|
36
|
+
// operator: "all_of",
|
|
37
|
+
// conditions: [{ type: "predicate", predicate: "equal_to", value: "" }],
|
|
38
|
+
// },
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function preempt_add_tag_option() {
|
|
43
|
+
tag_option_to_add_popover_manager.open()
|
|
44
|
+
edit_tag_i = -1
|
|
45
|
+
tag_option_to_add_text_text_input_manager?.set_val(null)
|
|
46
|
+
tag_option_to_add_color_input_manager?.set_val(null)
|
|
47
|
+
tag_option_to_add_icon_input_manager?.set_icon(null)
|
|
48
|
+
tag_option_to_add_manager.set_val(derived_tag_option_to_add)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function add_tag_option() {
|
|
52
|
+
console.log("add_tag_option444", { edit_tag_i, derived_tag_option_to_add })
|
|
53
|
+
if (edit_tag_i > -1) {
|
|
54
|
+
val[edit_tag_i] = derived_tag_option_to_add
|
|
55
|
+
edit_tag_i = -1
|
|
56
|
+
} else {
|
|
57
|
+
val_loc = [...(Array.isArray(val) ? val : []), derived_tag_option_to_add]
|
|
58
|
+
}
|
|
59
|
+
tag_option_to_add_popover_manager.close()
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function edit_tag(i) {
|
|
63
|
+
edit_tag_i = i
|
|
64
|
+
tag_option_to_add_text_text_input_manager?.set_val(val[i]?.display_text)
|
|
65
|
+
tag_option_to_add_color_input_manager?.set_val(val[i]?.color)
|
|
66
|
+
tag_option_to_add_icon_input_manager?.set_icon(val[i]?.icon)
|
|
67
|
+
tag_option_to_add_manager.set_val(derived_tag_option_to_add)
|
|
68
|
+
tag_option_to_add_popover_manager.open()
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
let derived_tag_options = $derived(get_derived_tag_options())
|
|
72
|
+
function get_derived_tag_options() {
|
|
73
|
+
let derived_tag_options_loc = []
|
|
74
|
+
if (Array.isArray(val) && val.length > 0) {
|
|
75
|
+
for (let i = 0; i < val.length; i++) {
|
|
76
|
+
derived_tag_options_loc.push({
|
|
77
|
+
tag_manager: create_tag_manager({ val: val?.[i] }),
|
|
78
|
+
remove_button_manager: create_button_manager({
|
|
79
|
+
type: "outlined",
|
|
80
|
+
support_icon: "x",
|
|
81
|
+
is_uniform: true,
|
|
82
|
+
on_click: () => (val = [...val].filter((_, index) => index !== i)),
|
|
83
|
+
}),
|
|
84
|
+
edit_button_manager: create_button_manager({
|
|
85
|
+
type: "outlined",
|
|
86
|
+
support_icon: "edit",
|
|
87
|
+
is_uniform: true,
|
|
88
|
+
on_click: () => edit_tag(i),
|
|
89
|
+
}),
|
|
90
|
+
})
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return derived_tag_options_loc
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function init(config) {
|
|
97
|
+
val_loc = config?.val
|
|
98
|
+
data_type = config?.data_type
|
|
99
|
+
tag_option_to_add_popover_manager = create_popover_manager({
|
|
100
|
+
min_width: 320,
|
|
101
|
+
target_width: 400,
|
|
102
|
+
min_height: 320,
|
|
103
|
+
target_height: 400,
|
|
104
|
+
type: "center",
|
|
105
|
+
header: "Tag Option Builder",
|
|
106
|
+
anchor_id: () => `button_${tag_option_to_add_popover_toggle_button_manager?.id}`,
|
|
107
|
+
})
|
|
108
|
+
tag_option_to_add_popover_toggle_button_manager = create_button_manager({
|
|
109
|
+
type: "outlined",
|
|
110
|
+
text: "Add Tag Option",
|
|
111
|
+
is_compressed: true,
|
|
112
|
+
h: 11,
|
|
113
|
+
l: 3,
|
|
114
|
+
c: 1,
|
|
115
|
+
support_icon: "plus",
|
|
116
|
+
on_click: () => preempt_add_tag_option(),
|
|
117
|
+
})
|
|
118
|
+
tag_option_to_add_color_input_manager = create_color_input_manager({
|
|
119
|
+
is_show_opacity: false,
|
|
120
|
+
l_options: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
|
|
121
|
+
val: derived_tag_option_to_add?.color,
|
|
122
|
+
})
|
|
123
|
+
tag_option_to_add_text_text_input_manager = create_text_input_manager({
|
|
124
|
+
label: "Display Text",
|
|
125
|
+
val: derived_tag_option_to_add?.display_text,
|
|
126
|
+
placeholder: "Some Tag",
|
|
127
|
+
})
|
|
128
|
+
tag_option_to_add_icon_input_manager = create_icon_input_manager({
|
|
129
|
+
is_icon_only: true,
|
|
130
|
+
val: derived_tag_option_to_add?.icon,
|
|
131
|
+
})
|
|
132
|
+
tag_option_to_add_conditions_input_manager = create_conditions_input_manager({
|
|
133
|
+
data_type: data_type,
|
|
134
|
+
val: derived_tag_option_to_add?.match_for,
|
|
135
|
+
on_finish: (input) => (tag_option_to_add_match_for = input),
|
|
136
|
+
})
|
|
137
|
+
tag_option_to_add_finish_button_manager = create_button_manager({
|
|
138
|
+
text: "Set Tab Option",
|
|
139
|
+
on_click: () => add_tag_option(),
|
|
140
|
+
})
|
|
141
|
+
tag_option_to_add_manager = create_tag_manager({ val: derived_tag_option_to_add })
|
|
142
|
+
}
|
|
143
|
+
init(config)
|
|
144
|
+
|
|
145
|
+
return {
|
|
146
|
+
get val() {
|
|
147
|
+
return val
|
|
148
|
+
},
|
|
149
|
+
get tag_option_to_add_popover_toggle_button_manager() {
|
|
150
|
+
return tag_option_to_add_popover_toggle_button_manager
|
|
151
|
+
},
|
|
152
|
+
get derived_tag_option_to_add() {
|
|
153
|
+
return derived_tag_option_to_add
|
|
154
|
+
},
|
|
155
|
+
get tag_option_to_add_popover_manager() {
|
|
156
|
+
return tag_option_to_add_popover_manager
|
|
157
|
+
},
|
|
158
|
+
get tag_option_to_add_manager() {
|
|
159
|
+
return tag_option_to_add_manager
|
|
160
|
+
},
|
|
161
|
+
get tag_option_to_add_color_input_manager() {
|
|
162
|
+
return tag_option_to_add_color_input_manager
|
|
163
|
+
},
|
|
164
|
+
get tag_option_to_add_match_for() {
|
|
165
|
+
return tag_option_to_add_match_for
|
|
166
|
+
},
|
|
167
|
+
get tag_option_to_add_text_text_input_manager() {
|
|
168
|
+
return tag_option_to_add_text_text_input_manager
|
|
169
|
+
},
|
|
170
|
+
get tag_option_to_add_icon_input_manager() {
|
|
171
|
+
return tag_option_to_add_icon_input_manager
|
|
172
|
+
},
|
|
173
|
+
get tag_option_to_add_finish_button_manager() {
|
|
174
|
+
return tag_option_to_add_finish_button_manager
|
|
175
|
+
},
|
|
176
|
+
get tag_option_to_add_conditions_input_manager() {
|
|
177
|
+
return tag_option_to_add_conditions_input_manager
|
|
178
|
+
},
|
|
179
|
+
get derived_tag_options() {
|
|
180
|
+
return derived_tag_options
|
|
181
|
+
},
|
|
182
|
+
init,
|
|
183
|
+
edit_tag,
|
|
184
|
+
}
|
|
185
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import Checkbox from "../../../../Checkbox/index.svelte"
|
|
3
|
+
import Dropdown from "../../../../Dropdown/index.svelte"
|
|
4
|
+
import TextInput from "../../../../TextInput/index.svelte"
|
|
5
|
+
import Slider from "../../../../Slider/index.svelte"
|
|
6
|
+
import DefinedTypeInput from "../../DefinedTypeInput/index.svelte"
|
|
7
|
+
|
|
8
|
+
let { manager } = $props()
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<Dropdown manager={manager?.type_dropdown_manager} />
|
|
12
|
+
<TextInput manager={manager?.name_text_input_manager} />
|
|
13
|
+
<TextInput manager={manager?.placeholder_text_input_manager} />
|
|
14
|
+
<TextInput manager={manager?.replace_spaces_with_text_input_manager} />
|
|
15
|
+
<Checkbox manager={manager?.is_numbers_only_checkbox_manager} />
|
|
16
|
+
<Checkbox manager={manager?.is_text_hidable_checkbox_manager} />
|
|
17
|
+
{#if manager?.is_text_hidable_checkbox_manager?.val}
|
|
18
|
+
<Checkbox manager={manager?.is_text_hidden_checkbox_manager} />
|
|
19
|
+
{/if}
|
|
20
|
+
<TextInput manager={manager?.max_length_text_input_manager} />
|
|
21
|
+
<Checkbox manager={manager?.is_resizable_checkbox_manager} />
|
|
22
|
+
{#if manager?.type_dropdown_manager?.val == "number"}
|
|
23
|
+
<TextInput manager={manager?.min_text_input_manager} />
|
|
24
|
+
<TextInput manager={manager?.max_text_input_manager} />
|
|
25
|
+
{/if}
|
|
26
|
+
{#if manager?.type_dropdown_manager?.val == "text_area"}
|
|
27
|
+
<Checkbox manager={manager?.is_show_limit_checkbox_manager} />
|
|
28
|
+
<Slider manager={manager?.rows_slider_manager} />
|
|
29
|
+
<Slider manager={manager?.max_height_slider_manager} />
|
|
30
|
+
{/if}
|
|
31
|
+
<DefinedTypeInput manager={manager?.val_defined_type_input_manager} >
|
|
32
|
+
{#snippet content()}
|
|
33
|
+
<TextInput manager={manager?.val_text_input_manager} />
|
|
34
|
+
{/snippet}
|
|
35
|
+
</DefinedTypeInput>
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { create_checkbox_manager } from "../../../../Checkbox/index.svelte.js"
|
|
2
|
+
import { create_text_input_manager } from "../../../../TextInput/index.svelte.js"
|
|
3
|
+
import { create_dropdown_manager } from "../../../../Dropdown/index.svelte.js"
|
|
4
|
+
import { create_slider_manager } from "../../../../Slider/index.svelte.js"
|
|
5
|
+
import { create_defined_type_input_manager } from "../../DefinedTypeInput/index.svelte.js"
|
|
6
|
+
import { create_unique_id, deep_copy, set_closurable } from "../../../../../client/index.js"
|
|
7
|
+
|
|
8
|
+
export function create_text_input_config_manager(config) {
|
|
9
|
+
let val_text_input_manager = $state(null)
|
|
10
|
+
let val_defined_type_input_manager = $state(null)
|
|
11
|
+
let type_dropdown_manager = $state(null)
|
|
12
|
+
let name_text_input_manager = $state(null)
|
|
13
|
+
let placeholder_text_input_manager = $state(null)
|
|
14
|
+
let replace_spaces_with_text_input_manager = $state(null)
|
|
15
|
+
let is_numbers_only_checkbox_manager = $state(null)
|
|
16
|
+
let is_text_hidable_checkbox_manager = $state(null)
|
|
17
|
+
let is_text_hidden_checkbox_manager = $state(null)
|
|
18
|
+
let max_length_text_input_manager = $state(null)
|
|
19
|
+
let min_text_input_manager = $state(null)
|
|
20
|
+
let max_text_input_manager = $state(null)
|
|
21
|
+
let is_resizable_checkbox_manager = $state(null)
|
|
22
|
+
let is_show_limit_checkbox_manager = $state(null)
|
|
23
|
+
let rows_slider_manager = $state(null)
|
|
24
|
+
let max_height_slider_manager = $state(null)
|
|
25
|
+
|
|
26
|
+
let val = $derived({
|
|
27
|
+
...val_defined_type_input_manager?.val,
|
|
28
|
+
type: type_dropdown_manager?.val,
|
|
29
|
+
name: name_text_input_manager?.val,
|
|
30
|
+
placeholder: placeholder_text_input_manager?.val,
|
|
31
|
+
replace_spaces_with: replace_spaces_with_text_input_manager?.val,
|
|
32
|
+
is_numbers_only: is_numbers_only_checkbox_manager?.val,
|
|
33
|
+
is_text_hidable: is_text_hidable_checkbox_manager?.val,
|
|
34
|
+
is_text_hidden: is_text_hidden_checkbox_manager?.val,
|
|
35
|
+
max_length: max_length_text_input_manager?.val,
|
|
36
|
+
min: min_text_input_manager?.val,
|
|
37
|
+
max: max_text_input_manager?.val,
|
|
38
|
+
is_resizable: is_resizable_checkbox_manager?.val,
|
|
39
|
+
is_show_limit: is_show_limit_checkbox_manager?.val,
|
|
40
|
+
rows: rows_slider_manager?.val,
|
|
41
|
+
max_height: max_height_slider_manager?.val,
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
function init(config) {
|
|
45
|
+
type_dropdown_manager = create_dropdown_manager({
|
|
46
|
+
val: config?.val?.type ?? "text",
|
|
47
|
+
is_button_compressed: true,
|
|
48
|
+
options: [
|
|
49
|
+
{ key: "text", name: "Text" },
|
|
50
|
+
{ key: "text_area", name: "Text Area" },
|
|
51
|
+
{ key: "email", name: "Email" },
|
|
52
|
+
{ key: "password", name: "Password" },
|
|
53
|
+
{ key: "number", name: "Number" },
|
|
54
|
+
{ key: "tel", name: "Telephone" },
|
|
55
|
+
{ key: "url", name: "URL" },
|
|
56
|
+
{ key: "search", name: "Search" },
|
|
57
|
+
],
|
|
58
|
+
on_item_click: (input) => val_text_input_manager.set_type(input?.key),
|
|
59
|
+
})
|
|
60
|
+
name_text_input_manager = create_text_input_manager({
|
|
61
|
+
label: "Name",
|
|
62
|
+
placeholder: "Name",
|
|
63
|
+
val: config?.val?.name,
|
|
64
|
+
on_change: (input) => val_text_input_manager.set_name(input),
|
|
65
|
+
})
|
|
66
|
+
placeholder_text_input_manager = create_text_input_manager({
|
|
67
|
+
label: "Placeholder",
|
|
68
|
+
placeholder: "placeholder",
|
|
69
|
+
val: config?.val?.placeholder,
|
|
70
|
+
})
|
|
71
|
+
replace_spaces_with_text_input_manager = create_text_input_manager({
|
|
72
|
+
label: "Replace Spaces With",
|
|
73
|
+
placeholder: "Replace Spaces With",
|
|
74
|
+
val: config?.val?.replace_spaces_with,
|
|
75
|
+
})
|
|
76
|
+
is_numbers_only_checkbox_manager = create_checkbox_manager({
|
|
77
|
+
type: "toggle",
|
|
78
|
+
label: "Is Numbers Only",
|
|
79
|
+
val: config?.val?.is_numbers_only,
|
|
80
|
+
on_change: (input) => val_text_input_manager.set_is_numbers_only(input),
|
|
81
|
+
})
|
|
82
|
+
is_text_hidable_checkbox_manager = create_checkbox_manager({
|
|
83
|
+
type: "toggle",
|
|
84
|
+
label: "Is Text Hidable",
|
|
85
|
+
val: config?.val?.is_text_hidable,
|
|
86
|
+
on_change: (input) => val_text_input_manager.set_is_text_hidable(input),
|
|
87
|
+
})
|
|
88
|
+
is_text_hidden_checkbox_manager = create_checkbox_manager({
|
|
89
|
+
type: "toggle",
|
|
90
|
+
label: "Is Text Hidden",
|
|
91
|
+
val: config?.val?.is_text_hidden,
|
|
92
|
+
on_change: (input) => val_text_input_manager.set_is_text_hidden(input),
|
|
93
|
+
})
|
|
94
|
+
max_length_text_input_manager = create_text_input_manager({
|
|
95
|
+
label: "Max Length",
|
|
96
|
+
placeholder: "max length",
|
|
97
|
+
val: config?.val?.max_length,
|
|
98
|
+
on_change: (input) => val_text_input_manager.set_max_length(input),
|
|
99
|
+
})
|
|
100
|
+
min_text_input_manager = create_text_input_manager({
|
|
101
|
+
type: "number",
|
|
102
|
+
label: "Min",
|
|
103
|
+
placeholder: "minimum",
|
|
104
|
+
val: config?.val?.min ?? 0,
|
|
105
|
+
on_change: (input) => val_text_input_manager.set_min(input),
|
|
106
|
+
})
|
|
107
|
+
max_text_input_manager = create_text_input_manager({
|
|
108
|
+
type: "number",
|
|
109
|
+
label: "Max",
|
|
110
|
+
placeholder: "maximum",
|
|
111
|
+
val: config?.val?.max ?? 1000000,
|
|
112
|
+
on_change: (input) => val_text_input_manager.set_max(input),
|
|
113
|
+
})
|
|
114
|
+
is_resizable_checkbox_manager = create_checkbox_manager({
|
|
115
|
+
type: "toggle",
|
|
116
|
+
label: "Is Resizable",
|
|
117
|
+
val: config?.val?.is_resizable,
|
|
118
|
+
on_change: (input) => val_text_input_manager.set_is_resizable(input),
|
|
119
|
+
})
|
|
120
|
+
is_show_limit_checkbox_manager = create_checkbox_manager({
|
|
121
|
+
type: "toggle",
|
|
122
|
+
label: "Is Show Limit",
|
|
123
|
+
val: config?.val?.is_show_limit,
|
|
124
|
+
on_change: (input) => val_text_input_manager.set_is_show_limit(input),
|
|
125
|
+
})
|
|
126
|
+
rows_slider_manager = create_slider_manager({
|
|
127
|
+
label: "Rows",
|
|
128
|
+
min: 2,
|
|
129
|
+
max: 50,
|
|
130
|
+
step: 1,
|
|
131
|
+
val: config?.val?.rows ?? 5,
|
|
132
|
+
on_change: (input) => val_text_input_manager.set_rows(input),
|
|
133
|
+
})
|
|
134
|
+
max_height_slider_manager = create_slider_manager({
|
|
135
|
+
label: "Max Height",
|
|
136
|
+
val: config?.val?.max_height ?? null,
|
|
137
|
+
min: 10,
|
|
138
|
+
max: 500,
|
|
139
|
+
step: 1,
|
|
140
|
+
on_change: (input) => val_text_input_manager.set_max_height(input),
|
|
141
|
+
})
|
|
142
|
+
val_text_input_manager = create_text_input_manager({
|
|
143
|
+
placeholder: () => placeholder_text_input_manager?.val ?? "val",
|
|
144
|
+
replace_spaces_with: () => replace_spaces_with_text_input_manager?.val ?? null,
|
|
145
|
+
val: config?.val?.val,
|
|
146
|
+
type: type_dropdown_manager?.val,
|
|
147
|
+
name: name_text_input_manager?.val,
|
|
148
|
+
is_numbers_only: is_numbers_only_checkbox_manager?.val,
|
|
149
|
+
is_text_hidable: is_text_hidable_checkbox_manager?.val,
|
|
150
|
+
is_text_hidden: is_text_hidden_checkbox_manager?.val,
|
|
151
|
+
max_length: max_length_text_input_manager?.val,
|
|
152
|
+
min: min_text_input_manager?.val,
|
|
153
|
+
max: max_text_input_manager?.val,
|
|
154
|
+
is_resizable: is_resizable_checkbox_manager?.val,
|
|
155
|
+
is_show_limit: is_show_limit_checkbox_manager?.val,
|
|
156
|
+
rows: rows_slider_manager?.val,
|
|
157
|
+
max_height: max_height_slider_manager?.val,
|
|
158
|
+
})
|
|
159
|
+
val_defined_type_input_manager = create_defined_type_input_manager({
|
|
160
|
+
get_defined_options: config?.get_defined_options,
|
|
161
|
+
label: "Val",
|
|
162
|
+
attribute_root_key: "val",
|
|
163
|
+
attribute_const_val: () => val_text_input_manager?.val,
|
|
164
|
+
attributes: config?.val,
|
|
165
|
+
})
|
|
166
|
+
}
|
|
167
|
+
init(config)
|
|
168
|
+
|
|
169
|
+
return {
|
|
170
|
+
get val() {
|
|
171
|
+
return val
|
|
172
|
+
},
|
|
173
|
+
get val_text_input_manager() {
|
|
174
|
+
return val_text_input_manager
|
|
175
|
+
},
|
|
176
|
+
get val_defined_type_input_manager() {
|
|
177
|
+
return val_defined_type_input_manager
|
|
178
|
+
},
|
|
179
|
+
get type_dropdown_manager() {
|
|
180
|
+
return type_dropdown_manager
|
|
181
|
+
},
|
|
182
|
+
get name_text_input_manager() {
|
|
183
|
+
return name_text_input_manager
|
|
184
|
+
},
|
|
185
|
+
get placeholder_text_input_manager() {
|
|
186
|
+
return placeholder_text_input_manager
|
|
187
|
+
},
|
|
188
|
+
get replace_spaces_with_text_input_manager() {
|
|
189
|
+
return replace_spaces_with_text_input_manager
|
|
190
|
+
},
|
|
191
|
+
get is_numbers_only_checkbox_manager() {
|
|
192
|
+
return is_numbers_only_checkbox_manager
|
|
193
|
+
},
|
|
194
|
+
get is_text_hidable_checkbox_manager() {
|
|
195
|
+
return is_text_hidable_checkbox_manager
|
|
196
|
+
},
|
|
197
|
+
get is_text_hidden_checkbox_manager() {
|
|
198
|
+
return is_text_hidden_checkbox_manager
|
|
199
|
+
},
|
|
200
|
+
get max_length_text_input_manager() {
|
|
201
|
+
return max_length_text_input_manager
|
|
202
|
+
},
|
|
203
|
+
get min_text_input_manager() {
|
|
204
|
+
return min_text_input_manager
|
|
205
|
+
},
|
|
206
|
+
get max_text_input_manager() {
|
|
207
|
+
return max_text_input_manager
|
|
208
|
+
},
|
|
209
|
+
get is_resizable_checkbox_manager() {
|
|
210
|
+
return is_resizable_checkbox_manager
|
|
211
|
+
},
|
|
212
|
+
get is_show_limit_checkbox_manager() {
|
|
213
|
+
return is_show_limit_checkbox_manager
|
|
214
|
+
},
|
|
215
|
+
get rows_slider_manager() {
|
|
216
|
+
return rows_slider_manager
|
|
217
|
+
},
|
|
218
|
+
get max_height_slider_manager() {
|
|
219
|
+
return max_height_slider_manager
|
|
220
|
+
},
|
|
221
|
+
}
|
|
222
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import Checkbox from "../../../../Checkbox/index.svelte"
|
|
3
|
+
import Dropdown from "../../../../Dropdown/index.svelte"
|
|
4
|
+
import TimeInput from "../../../../TimeInput/index.svelte"
|
|
5
|
+
import DefinedTypeInput from "../../DefinedTypeInput/index.svelte"
|
|
6
|
+
|
|
7
|
+
let { manager } = $props()
|
|
8
|
+
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<DefinedTypeInput manager={manager?.val_defined_type_input_manager} >
|
|
12
|
+
{#snippet content()}
|
|
13
|
+
<TimeInput manager={manager?.val_time_input_manager} />
|
|
14
|
+
{/snippet}
|
|
15
|
+
</DefinedTypeInput>
|
|
16
|
+
<Dropdown manager={manager?.format_dropdown_manager} />
|
|
17
|
+
{#if ["full","epoch","datetime","datetime_utc","datetime_zoned"].includes(manager?.format_dropdown_manager?.val)}
|
|
18
|
+
<Dropdown manager={manager?.granularity_dropdown_manager} />
|
|
19
|
+
{/if}
|
|
20
|
+
<Checkbox manager={manager?.is_popover_checkbox_manager} />
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { create_checkbox_manager } from "../../../../Checkbox/index.svelte.js"
|
|
2
|
+
import { create_time_input_manager } from "../../../../TimeInput/index.svelte.js"
|
|
3
|
+
import { create_dropdown_manager } from "../../../../Dropdown/index.svelte.js"
|
|
4
|
+
import { create_defined_type_input_manager } from "../../DefinedTypeInput/index.svelte.js"
|
|
5
|
+
import { time_formats } from "../../../../TimeInput/index.js"
|
|
6
|
+
|
|
7
|
+
export function create_time_input_config_manager(config) {
|
|
8
|
+
let val_time_input_manager = $state(null)
|
|
9
|
+
let val_defined_type_input_manager = $state(null)
|
|
10
|
+
let is_popover_checkbox_manager = $state(null)
|
|
11
|
+
let granularity_dropdown_manager = $state(null)
|
|
12
|
+
let format_dropdown_manager = $state(null)
|
|
13
|
+
|
|
14
|
+
let val = $derived({
|
|
15
|
+
...val_defined_type_input_manager?.val,
|
|
16
|
+
format: format_dropdown_manager?.val,
|
|
17
|
+
granularity: granularity_dropdown_manager?.val,
|
|
18
|
+
is_popover: is_popover_checkbox_manager?.val,
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
function init(config) {
|
|
22
|
+
is_popover_checkbox_manager = create_checkbox_manager({
|
|
23
|
+
type: "toggle",
|
|
24
|
+
label: "Is Popover",
|
|
25
|
+
val: config?.val?.is_popover ?? true,
|
|
26
|
+
})
|
|
27
|
+
format_dropdown_manager = create_dropdown_manager({
|
|
28
|
+
label: "Format",
|
|
29
|
+
val: "calendar_date",
|
|
30
|
+
is_button_compressed: true,
|
|
31
|
+
options: Object.entries(time_formats).map(([key, val]) => ({ key: key, name: val?.name })),
|
|
32
|
+
})
|
|
33
|
+
granularity_dropdown_manager = create_dropdown_manager({
|
|
34
|
+
label: "Granularity",
|
|
35
|
+
val: config?.val?.granularity ?? "day",
|
|
36
|
+
is_button_compressed: true,
|
|
37
|
+
options: [
|
|
38
|
+
{ key: "year", name: "Year" },
|
|
39
|
+
{ key: "month", name: "Month" },
|
|
40
|
+
{ key: "week", name: "Week" },
|
|
41
|
+
{ key: "day", name: "Day" },
|
|
42
|
+
{ key: "hour", name: "Hour" },
|
|
43
|
+
{ key: "minute", name: "Minute" },
|
|
44
|
+
{ key: "second", name: "Second" },
|
|
45
|
+
],
|
|
46
|
+
on_item_click: (input) => val_time_input_manager?.set_granularity(input?.key),
|
|
47
|
+
})
|
|
48
|
+
val_time_input_manager = create_time_input_manager({
|
|
49
|
+
is_popover: true,
|
|
50
|
+
val: config?.val?.val,
|
|
51
|
+
format: () => format_dropdown_manager?.val,
|
|
52
|
+
granularity: granularity_dropdown_manager?.val,
|
|
53
|
+
})
|
|
54
|
+
val_defined_type_input_manager = create_defined_type_input_manager({
|
|
55
|
+
get_defined_options: config?.get_defined_options,
|
|
56
|
+
label: "Val",
|
|
57
|
+
attribute_root_key: "val",
|
|
58
|
+
attribute_const_val: () => val_time_input_manager?.val,
|
|
59
|
+
attributes: config?.val,
|
|
60
|
+
})
|
|
61
|
+
}
|
|
62
|
+
init(config)
|
|
63
|
+
|
|
64
|
+
return {
|
|
65
|
+
get val() {
|
|
66
|
+
return val
|
|
67
|
+
},
|
|
68
|
+
get val_time_input_manager() {
|
|
69
|
+
return val_time_input_manager
|
|
70
|
+
},
|
|
71
|
+
get val_defined_type_input_manager() {
|
|
72
|
+
return val_defined_type_input_manager
|
|
73
|
+
},
|
|
74
|
+
get format_dropdown_manager() {
|
|
75
|
+
return format_dropdown_manager
|
|
76
|
+
},
|
|
77
|
+
get is_popover_checkbox_manager() {
|
|
78
|
+
return is_popover_checkbox_manager
|
|
79
|
+
},
|
|
80
|
+
get granularity_dropdown_manager() {
|
|
81
|
+
return granularity_dropdown_manager
|
|
82
|
+
},
|
|
83
|
+
}
|
|
84
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import Button from "../../../Button/index.svelte"
|
|
3
|
+
import Dropdown from "../../../Dropdown/index.svelte"
|
|
4
|
+
import VariablePathInput from "../../../VariablePathInput/index.svelte"
|
|
5
|
+
|
|
6
|
+
let { manager, content } = $props()
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<div>
|
|
10
|
+
<div style="display: flex; gap: .5rem; margin-bottom: .3rem; align-items: center;">
|
|
11
|
+
<h4 class="label">{manager?.label}</h4>
|
|
12
|
+
<div>
|
|
13
|
+
<Button manager={manager?.item_defined_by_button_input_manager} />
|
|
14
|
+
<Dropdown manager={manager?.item_defined_by_dropdown_manager} />
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
{#if manager?.item_defined_by_dropdown_manager?.val == 'function'}
|
|
18
|
+
function_tbd
|
|
19
|
+
<!-- item_function_input_manager -->
|
|
20
|
+
{:else if manager?.item_defined_by_dropdown_manager?.val == 'variable'}
|
|
21
|
+
<VariablePathInput manager={manager?.item_variable_path_input_manager} />
|
|
22
|
+
{:else if content}
|
|
23
|
+
{@render content()}
|
|
24
|
+
{/if}
|
|
25
|
+
</div>
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { create_button_manager } from "../../../Button/index.svelte.js"
|
|
2
|
+
import { create_dropdown_manager } from "../../../Dropdown/index.svelte.js"
|
|
3
|
+
import { create_variable_path_input_manager } from "../../../VariablePathInput/index.svelte.js"
|
|
4
|
+
import { set_closurable } from "../../../../client/index.js"
|
|
5
|
+
|
|
6
|
+
export function create_defined_type_input_manager(config) {
|
|
7
|
+
let item_defined_by_button_input_manager = $state(null)
|
|
8
|
+
let item_defined_by_dropdown_manager = $state(null)
|
|
9
|
+
let item_variable_path_input_manager = $state(null)
|
|
10
|
+
|
|
11
|
+
let label = $derived(set_closurable(config?.label, null))
|
|
12
|
+
let attribute_root_key = $derived(set_closurable(config?.attribute_root_key, null))
|
|
13
|
+
let attribute_const_val = $derived(set_closurable(config?.attribute_const_val, null))
|
|
14
|
+
|
|
15
|
+
let item_defined_by = $derived(item_defined_by_dropdown_manager?.val)
|
|
16
|
+
let variable_path = $derived(item_variable_path_input_manager?.val)
|
|
17
|
+
|
|
18
|
+
let val = $derived(
|
|
19
|
+
item_defined_by == "variable"
|
|
20
|
+
? { [`${attribute_root_key}_from_variable_path`]: variable_path }
|
|
21
|
+
: item_defined_by == "function"
|
|
22
|
+
? { [`${attribute_root_key}_from_function`]: "tbd" }
|
|
23
|
+
: { [attribute_root_key]: attribute_const_val }
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
function init(config) {
|
|
27
|
+
item_defined_by_button_input_manager = create_button_manager({
|
|
28
|
+
type: "soft",
|
|
29
|
+
support_icon: "three_dots",
|
|
30
|
+
is_uniform: true,
|
|
31
|
+
min_height: 1.8,
|
|
32
|
+
icon_size: 1.4,
|
|
33
|
+
icon_sw: 70,
|
|
34
|
+
border_radius: 0.5,
|
|
35
|
+
popover_target: () => `popover_${item_defined_by_dropdown_manager?.popover_manager?.id}`,
|
|
36
|
+
})
|
|
37
|
+
item_defined_by_dropdown_manager = create_dropdown_manager({
|
|
38
|
+
header: "Define From",
|
|
39
|
+
is_hide_button: true,
|
|
40
|
+
target_width: 180,
|
|
41
|
+
target_height: 200,
|
|
42
|
+
is_nullable: true,
|
|
43
|
+
val:
|
|
44
|
+
typeof config?.attributes == "object" && !Array.isArray(config?.attributes)
|
|
45
|
+
? config?.attributes?.hasOwnProperty(config?.attribute_root_key)
|
|
46
|
+
? "constant"
|
|
47
|
+
: config?.attributes?.hasOwnProperty(`${config?.attribute_root_key}_from_variable_path`)
|
|
48
|
+
? "variable"
|
|
49
|
+
: config?.attributes?.hasOwnProperty(`${config?.attribute_root_key}_from_function`)
|
|
50
|
+
: "constant",
|
|
51
|
+
options: [
|
|
52
|
+
{ key: "constant", name: "Constant" },
|
|
53
|
+
{ key: "variable", name: "Variable" },
|
|
54
|
+
{ key: "function", name: "Function" },
|
|
55
|
+
],
|
|
56
|
+
anchor_id: `button_${item_defined_by_button_input_manager?.id}`,
|
|
57
|
+
})
|
|
58
|
+
item_variable_path_input_manager = create_variable_path_input_manager({
|
|
59
|
+
is_popover: false,
|
|
60
|
+
val: config?.attributes?.[`${config?.attribute_root_key}_from_variable_path`],
|
|
61
|
+
get_defined_options: config?.get_defined_options,
|
|
62
|
+
on_finish: () => item_variable_path_input_manager.close_popover(),
|
|
63
|
+
})
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
init(config)
|
|
67
|
+
|
|
68
|
+
return {
|
|
69
|
+
get label() {
|
|
70
|
+
return label
|
|
71
|
+
},
|
|
72
|
+
get item_defined_by_button_input_manager() {
|
|
73
|
+
return item_defined_by_button_input_manager
|
|
74
|
+
},
|
|
75
|
+
get item_defined_by_dropdown_manager() {
|
|
76
|
+
return item_defined_by_dropdown_manager
|
|
77
|
+
},
|
|
78
|
+
get item_variable_path_input_manager() {
|
|
79
|
+
return item_variable_path_input_manager
|
|
80
|
+
},
|
|
81
|
+
get item_defined_by() {
|
|
82
|
+
return item_defined_by
|
|
83
|
+
},
|
|
84
|
+
get variable_path() {
|
|
85
|
+
return variable_path
|
|
86
|
+
},
|
|
87
|
+
get val() {
|
|
88
|
+
return val
|
|
89
|
+
},
|
|
90
|
+
}
|
|
91
|
+
}
|