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,117 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import Button from "../../Button/index.svelte"
|
|
3
|
+
import Popover from "../../Popover/index.svelte"
|
|
4
|
+
import Checkbox from "../../Checkbox/index.svelte"
|
|
5
|
+
import TextInput from "../../TextInput/index.svelte"
|
|
6
|
+
import Dropdown from "../../Dropdown/index.svelte"
|
|
7
|
+
import DataTypeInput from "../../DataTypeInput/index.svelte"
|
|
8
|
+
import VariablePathInput from "../../VariablePathInput/index.svelte"
|
|
9
|
+
import Color from "../../Color/index.svelte"
|
|
10
|
+
import ContentInput from "../../ContentInput/index.svelte"
|
|
11
|
+
import Content from "../../Content/index.svelte"
|
|
12
|
+
import Slider from "../../Slider/index.svelte"
|
|
13
|
+
import Spacer from "../../Spacer/index.svelte"
|
|
14
|
+
import SortByInput from "../SortByInput/index.svelte"
|
|
15
|
+
|
|
16
|
+
let { manager } = $props()
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
{#if manager?.column_id_text_input_manager?.val != manager?.column_id && manager?.column_id && manager?.is_column_update}
|
|
20
|
+
<p class="label">Orginal ID</p>
|
|
21
|
+
<p>{manager?.column_id}</p>
|
|
22
|
+
{/if}
|
|
23
|
+
<TextInput manager={manager?.column_id_text_input_manager} />
|
|
24
|
+
<p
|
|
25
|
+
style="font-size: 1.2rem; {manager?.column_id_text_input_manager?.val &&
|
|
26
|
+
!/^[a-z0-9]+(?:_[a-z0-9]+)*$/.test(manager?.column_id_text_input_manager.val)
|
|
27
|
+
? 'color: var(--warning-t);'
|
|
28
|
+
: ''}"
|
|
29
|
+
>
|
|
30
|
+
IDs should be in snake_case format.
|
|
31
|
+
</p>
|
|
32
|
+
{#if manager?.column_id_text_warning}
|
|
33
|
+
<p style="color: var(--warning-t); font-size: 1.2rem;">{manager?.column_id_text_warning}</p>
|
|
34
|
+
{/if}
|
|
35
|
+
<TextInput manager={manager?.column_description_text_input_manager} />
|
|
36
|
+
{#if !manager?.column_input_options?.is_db_column?.is_hidden}
|
|
37
|
+
<Checkbox manager={manager?.column_is_db_column_checkbox_manager} />
|
|
38
|
+
{/if}
|
|
39
|
+
<div style="display: flex; align-items: center; gap: .2rem;">
|
|
40
|
+
<p class="label">Database Data Type</p>
|
|
41
|
+
<Button manager={manager?.column_db_data_type_edit_button_manager} />
|
|
42
|
+
</div>
|
|
43
|
+
{#if manager?.column_db_data_type_input_manager?.type_display_name}
|
|
44
|
+
<p style="font-size: 1.4rem; color: var(--g8-t);">
|
|
45
|
+
{manager?.column_db_data_type_input_manager?.type_display_name}
|
|
46
|
+
</p>
|
|
47
|
+
{:else}
|
|
48
|
+
<p style="color: var(--warning-t);">None</p>
|
|
49
|
+
{/if}
|
|
50
|
+
<DataTypeInput manager={manager?.column_db_data_type_input_manager} />
|
|
51
|
+
<p class="label">Postgres Type</p>
|
|
52
|
+
{#if manager?.column_data_postgres_type}
|
|
53
|
+
<p style="font-size: 1.4rem; color: var(--g8-t);">
|
|
54
|
+
{manager?.column_data_postgres_type}
|
|
55
|
+
</p>
|
|
56
|
+
{:else}
|
|
57
|
+
<p style="color: var(--warning-t);">None</p>
|
|
58
|
+
{/if}
|
|
59
|
+
{#if !manager?.column_input_options?.default_value?.is_hidden}
|
|
60
|
+
<p class="label">Default Value</p>
|
|
61
|
+
{#if manager?.column_db_data_type_input_manager?.val}
|
|
62
|
+
<Content manager={manager?.column_default_value_content_manager} />
|
|
63
|
+
{:else}
|
|
64
|
+
<p style="color: var(--warning-t);">Select Data Type First</p>
|
|
65
|
+
{/if}
|
|
66
|
+
{/if}
|
|
67
|
+
<Checkbox manager={manager?.column_is_use_in_short_display_checkbox_manager} />
|
|
68
|
+
{#if !manager?.column_input_options?.is_autogenerated?.is_hidden}
|
|
69
|
+
<Checkbox manager={manager?.column_is_autogenerated_checkbox_manager} />
|
|
70
|
+
{/if}
|
|
71
|
+
{#if !manager?.column_input_options?.is_updatable?.is_hidden}
|
|
72
|
+
<Checkbox manager={manager?.column_is_updatable_checkbox_manager} />
|
|
73
|
+
{/if}
|
|
74
|
+
{#if !manager?.column_input_options?.is_primary_key?.is_hidden}
|
|
75
|
+
<Checkbox manager={manager?.column_is_primary_key_checkbox_manager} />
|
|
76
|
+
{#if manager?.column_primary_key_text_warning}
|
|
77
|
+
<p style="color: var(--warning2-t);">{manager?.column_primary_key_text_warning}</p>
|
|
78
|
+
{/if}
|
|
79
|
+
{/if}
|
|
80
|
+
<Checkbox manager={manager?.column_is_nullable_checkbox_manager} />
|
|
81
|
+
<Checkbox manager={manager?.column_is_force_uniqueness_checkbox_manager} />
|
|
82
|
+
<!-- <Checkbox manager={manager?.column_is_cascade_checkbox_manager} /> -->
|
|
83
|
+
<Slider manager={manager?.column_width_slider_manager} />
|
|
84
|
+
{#if manager?.columns_length > 1}
|
|
85
|
+
<Slider manager={manager?.column_display_order_slider_manager} />
|
|
86
|
+
{/if}
|
|
87
|
+
<div style="display: flex; gap: .5rem; margin-top: .5rem;">
|
|
88
|
+
<p class="label">Header Content</p>
|
|
89
|
+
<Button manager={manager?.guess_header_content_button_manager} />
|
|
90
|
+
</div>
|
|
91
|
+
<ContentInput manager={manager?.header_content_input_manager} />
|
|
92
|
+
<div style="display: flex; gap: .5rem; margin-top: .5rem;">
|
|
93
|
+
<p class="label">Body Content</p>
|
|
94
|
+
<Button manager={manager?.guess_body_content_button_manager} />
|
|
95
|
+
</div>
|
|
96
|
+
<ContentInput manager={manager?.body_content_input_manager} />
|
|
97
|
+
{#if !manager?.column_input_options?.is_shown?.is_hidden}
|
|
98
|
+
<Checkbox manager={manager?.column_is_shown_checkbox_manager} />
|
|
99
|
+
{/if}
|
|
100
|
+
{#if !manager?.column_input_options?.is_fixed?.is_hidden}
|
|
101
|
+
<Checkbox manager={manager?.column_is_fixed_checkbox_manager} />
|
|
102
|
+
{/if}
|
|
103
|
+
<Dropdown manager={manager?.column_alignment_dropdown_manager} />
|
|
104
|
+
{#if manager?.is_column_update}
|
|
105
|
+
<Button manager={manager?.delete_column_are_you_sure_popover_toggle_button_manager} />
|
|
106
|
+
<Popover manager={manager?.delete_column_are_you_sure_popover_manager}>
|
|
107
|
+
{#snippet content()}
|
|
108
|
+
<p>This will delete this column.</p>
|
|
109
|
+
{/snippet}
|
|
110
|
+
{#snippet footer()}
|
|
111
|
+
<Button manager={manager?.delete_column_button_manager} />
|
|
112
|
+
<Button manager={manager?.delete_column_cancel_button_manager} />
|
|
113
|
+
{/snippet}
|
|
114
|
+
</Popover>
|
|
115
|
+
{:else}
|
|
116
|
+
<Button manager={manager?.delete_column_button_manager} />
|
|
117
|
+
{/if}
|
|
@@ -0,0 +1,456 @@
|
|
|
1
|
+
import { create_popover_manager } from "../../Popover/index.svelte.js"
|
|
2
|
+
import { create_button_manager } from "../../Button/index.svelte.js"
|
|
3
|
+
import { create_text_input_manager } from "../../TextInput/index.svelte.js"
|
|
4
|
+
import { create_slider_manager } from "../../Slider/index.svelte.js"
|
|
5
|
+
import { create_checkbox_manager } from "../../Checkbox/index.svelte.js"
|
|
6
|
+
import { create_dropdown_manager } from "../../Dropdown/index.svelte.js"
|
|
7
|
+
import { create_content_manager } from "../../Content/index.svelte.js"
|
|
8
|
+
import { create_content_input_manager } from "../../ContentInput/index.svelte.js"
|
|
9
|
+
import { create_data_type_input_manager } from "../../DataTypeInput/index.svelte.js"
|
|
10
|
+
import {
|
|
11
|
+
set_closurable,
|
|
12
|
+
node_types,
|
|
13
|
+
variables_data_type_remaining_to_astc,
|
|
14
|
+
set_definition_stack,
|
|
15
|
+
astc_element,
|
|
16
|
+
deep_copy,
|
|
17
|
+
get_def_from_variable_path,
|
|
18
|
+
} from "../../../client/index.js"
|
|
19
|
+
|
|
20
|
+
export function create_column_input_manager(config) {
|
|
21
|
+
let column_id_text_input_manager = $state(null)
|
|
22
|
+
let column_description_text_input_manager = $state(null)
|
|
23
|
+
let header_content_input_manager = $state(null)
|
|
24
|
+
let body_content_input_manager = $state(null)
|
|
25
|
+
let column_is_shown_checkbox_manager = $state(null)
|
|
26
|
+
let column_is_fixed_checkbox_manager = $state(null)
|
|
27
|
+
let column_alignment_dropdown_manager = $state(null)
|
|
28
|
+
let column_width_slider_manager = $state(null)
|
|
29
|
+
let column_display_order_slider_manager = $state(null)
|
|
30
|
+
let column_is_use_in_short_display_checkbox_manager = $state(null)
|
|
31
|
+
let column_is_autogenerated_checkbox_manager = $state(null)
|
|
32
|
+
let column_is_updatable_checkbox_manager = $state(null)
|
|
33
|
+
let column_is_db_column_checkbox_manager = $state(null)
|
|
34
|
+
let column_db_data_type_edit_button_manager = $state(null)
|
|
35
|
+
let column_db_data_type_input_manager = $state(null)
|
|
36
|
+
let column_default_value_content_manager = $state(null)
|
|
37
|
+
let column_is_primary_key_checkbox_manager = $state(null)
|
|
38
|
+
let column_is_nullable_checkbox_manager = $state(null)
|
|
39
|
+
let column_is_force_uniqueness_checkbox_manager = $state(null)
|
|
40
|
+
let column_foreign_table_id_input_manager = $state(null)
|
|
41
|
+
let column_is_cascade_checkbox_manager = $state(null)
|
|
42
|
+
let guess_header_content_button_manager = $state(null)
|
|
43
|
+
let guess_body_content_button_manager = $state(null)
|
|
44
|
+
let definition_stack = $state(null)
|
|
45
|
+
|
|
46
|
+
let default_value = $state(null)
|
|
47
|
+
|
|
48
|
+
let delete_column_are_you_sure_popover_manager = $state(null)
|
|
49
|
+
let delete_column_are_you_sure_popover_toggle_button_manager = $state(null)
|
|
50
|
+
let delete_column_button_manager = $state(null)
|
|
51
|
+
let delete_column_cancel_button_manager = $state(null)
|
|
52
|
+
|
|
53
|
+
let rows_data_from_variable_path = $derived(set_closurable(config?.rows_data_from_variable_path, null))
|
|
54
|
+
let row_iter_identifier = $derived(set_closurable(config?.row_iter_identifier, "row_i"))
|
|
55
|
+
let columns = $derived(set_closurable(config?.columns, null))
|
|
56
|
+
let columns_length = $derived(Object.keys(columns || {}).length)
|
|
57
|
+
let column_id = $derived(set_closurable(config?.column_id, null))
|
|
58
|
+
let is_column_update = $derived(set_closurable(config?.is_column_update, true))
|
|
59
|
+
let column_input_options = $derived(set_closurable(config?.column_input_options, null))
|
|
60
|
+
|
|
61
|
+
let column_id_text_warning = $derived(
|
|
62
|
+
column_id_text_input_manager?.val &&
|
|
63
|
+
Object.entries(columns || {}).some(
|
|
64
|
+
([key, val]) => val?.id == column_id_text_input_manager?.val && column_id != key
|
|
65
|
+
)
|
|
66
|
+
? `${column_id_text_input_manager?.val} is already a column id for a different column`
|
|
67
|
+
: null
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
let column_data_postgres_type = $derived(
|
|
71
|
+
column_db_data_type_input_manager?.val?.type == "array_uniform_literal" &&
|
|
72
|
+
column_db_data_type_input_manager?.val?.items?.type == "text_literal"
|
|
73
|
+
? "text[]"
|
|
74
|
+
: node_types?.[column_db_data_type_input_manager?.val?.type]?.postgres_type
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
let column_primary_key_text_warning = $derived(
|
|
78
|
+
column_is_primary_key_checkbox_manager?.val &&
|
|
79
|
+
Object.entries(columns || {}).some(([key, val]) => val?.is_primary_key && column_id && column_id != key)
|
|
80
|
+
? `A different column with id, ${val?.id}, is already a primary_key`
|
|
81
|
+
: null
|
|
82
|
+
)
|
|
83
|
+
|
|
84
|
+
let val = $derived({
|
|
85
|
+
id: column_id_text_input_manager?.val,
|
|
86
|
+
header_content: header_content_input_manager?.val,
|
|
87
|
+
body_content: body_content_input_manager?.val,
|
|
88
|
+
description: column_description_text_input_manager?.val,
|
|
89
|
+
is_shown: column_is_shown_checkbox_manager?.val,
|
|
90
|
+
is_fixed: column_is_fixed_checkbox_manager?.val,
|
|
91
|
+
alignment: column_alignment_dropdown_manager?.val,
|
|
92
|
+
min_width: column_width_slider_manager?.val?.[0],
|
|
93
|
+
max_width: column_width_slider_manager?.val?.[1],
|
|
94
|
+
display_order: column_display_order_slider_manager?.val,
|
|
95
|
+
is_use_in_short_display: column_is_use_in_short_display_checkbox_manager?.val,
|
|
96
|
+
is_autogenerated: column_is_autogenerated_checkbox_manager?.val,
|
|
97
|
+
is_updatable: column_is_updatable_checkbox_manager?.val,
|
|
98
|
+
is_db_column: column_is_db_column_checkbox_manager?.val,
|
|
99
|
+
db_data_type: column_db_data_type_input_manager?.val,
|
|
100
|
+
postgres_type: column_data_postgres_type,
|
|
101
|
+
default_value: default_value,
|
|
102
|
+
quick_sort_variable_path: null,
|
|
103
|
+
is_primary_key: column_is_primary_key_checkbox_manager?.val,
|
|
104
|
+
is_nullable: column_is_nullable_checkbox_manager?.val,
|
|
105
|
+
is_force_uniqueness: column_is_force_uniqueness_checkbox_manager?.val,
|
|
106
|
+
foreign_table_id: column_foreign_table_id_input_manager?.val,
|
|
107
|
+
is_cascade: column_is_cascade_checkbox_manager?.val,
|
|
108
|
+
})
|
|
109
|
+
|
|
110
|
+
function reset_definition_stack(input) {
|
|
111
|
+
definition_stack = input
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function init(config) {
|
|
115
|
+
console.log("column_input_init", deep_copy(config))
|
|
116
|
+
definition_stack = config?.definition_stack
|
|
117
|
+
column_id_text_input_manager = create_text_input_manager({
|
|
118
|
+
label: "Column ID",
|
|
119
|
+
val: config?.column_id ?? config?.val?.id ?? null,
|
|
120
|
+
})
|
|
121
|
+
header_content_input_manager = create_content_input_manager({
|
|
122
|
+
val: config?.val?.header_content ?? null,
|
|
123
|
+
storage: null,
|
|
124
|
+
storage_default_folder_path: null,
|
|
125
|
+
definition_stack: definition_stack,
|
|
126
|
+
})
|
|
127
|
+
const editable_row = get_def_from_variable_path([...rows_data_from_variable_path, 0], definition_stack)
|
|
128
|
+
const row_definition_stack = row_iter_identifier
|
|
129
|
+
? [{ [row_iter_identifier]: editable_row }, ...definition_stack]
|
|
130
|
+
: definition_stack
|
|
131
|
+
body_content_input_manager = create_content_input_manager({
|
|
132
|
+
val: config?.val?.body_content ?? null,
|
|
133
|
+
storage: config?.storage,
|
|
134
|
+
storage_default_folder_path: null,
|
|
135
|
+
definition_stack: row_definition_stack,
|
|
136
|
+
})
|
|
137
|
+
column_description_text_input_manager = create_text_input_manager({
|
|
138
|
+
type: "text_area",
|
|
139
|
+
rows: 2,
|
|
140
|
+
label: "Description",
|
|
141
|
+
placeholder: "This column is about...",
|
|
142
|
+
})
|
|
143
|
+
column_is_shown_checkbox_manager = create_checkbox_manager({
|
|
144
|
+
type: "toggle",
|
|
145
|
+
label: "Shown",
|
|
146
|
+
val: config?.val?.is_shown ?? true,
|
|
147
|
+
})
|
|
148
|
+
column_is_fixed_checkbox_manager = create_checkbox_manager({
|
|
149
|
+
type: "toggle",
|
|
150
|
+
label: "Fixed",
|
|
151
|
+
val: config?.val?.is_fixed ?? false,
|
|
152
|
+
})
|
|
153
|
+
column_alignment_dropdown_manager = create_dropdown_manager({
|
|
154
|
+
label: "Alignment",
|
|
155
|
+
is_button_compressed: true,
|
|
156
|
+
options: [
|
|
157
|
+
{ key: "left", name: "Left" },
|
|
158
|
+
{ key: "center", name: "Center" },
|
|
159
|
+
{ key: "right", name: "Right" },
|
|
160
|
+
],
|
|
161
|
+
val: config?.val?.alignment ?? "left",
|
|
162
|
+
})
|
|
163
|
+
column_width_slider_manager = create_slider_manager({
|
|
164
|
+
label: "Display Width",
|
|
165
|
+
min: 2,
|
|
166
|
+
max: 50,
|
|
167
|
+
step: 1,
|
|
168
|
+
val: [config?.val?.min_width ?? 20, config?.val?.max_width ?? 30],
|
|
169
|
+
})
|
|
170
|
+
column_display_order_slider_manager = create_slider_manager({
|
|
171
|
+
label: "Display Order",
|
|
172
|
+
val: config?.val?.display_order ?? 0,
|
|
173
|
+
min: 0,
|
|
174
|
+
max: config?.column_id ? columns_length - 1 : columns_length ?? 0,
|
|
175
|
+
step: 0.5,
|
|
176
|
+
})
|
|
177
|
+
column_is_use_in_short_display_checkbox_manager = create_checkbox_manager({
|
|
178
|
+
type: "toggle",
|
|
179
|
+
label: "Is Use in Short Display",
|
|
180
|
+
val: config?.val?.is_use_in_short_display ?? false,
|
|
181
|
+
})
|
|
182
|
+
column_is_autogenerated_checkbox_manager = create_checkbox_manager({
|
|
183
|
+
type: "toggle",
|
|
184
|
+
label: "Autogenerated",
|
|
185
|
+
val: config?.val?.is_autogenerated ?? false,
|
|
186
|
+
})
|
|
187
|
+
column_is_db_column_checkbox_manager = create_checkbox_manager({
|
|
188
|
+
type: "toggle",
|
|
189
|
+
label: "Database Column",
|
|
190
|
+
val: config?.val?.is_db_column ?? column_input_options?.is_db_column?.default_value ?? false,
|
|
191
|
+
})
|
|
192
|
+
column_db_data_type_input_manager = create_data_type_input_manager({
|
|
193
|
+
table_options: config?.table_options,
|
|
194
|
+
val: config?.val?.db_data_type,
|
|
195
|
+
on_finish: (input) => {
|
|
196
|
+
let default_content_input_astc = variables_data_type_remaining_to_astc(input, "input", [
|
|
197
|
+
...(Array.isArray(rows_data_from_variable_path) ? rows_data_from_variable_path : []),
|
|
198
|
+
[row_iter_identifier],
|
|
199
|
+
column_id_text_input_manager.val,
|
|
200
|
+
])
|
|
201
|
+
column_default_value_content_manager = create_content_manager({
|
|
202
|
+
val: default_content_input_astc,
|
|
203
|
+
table_options: config?.table_options,
|
|
204
|
+
on_search_table_row_ids: config?.on_search_table_row_ids,
|
|
205
|
+
definition_stack: definition_stack,
|
|
206
|
+
on_event: (input) => {
|
|
207
|
+
// console.log("input3334", input)
|
|
208
|
+
// const res = set_definition_stack(
|
|
209
|
+
// input,
|
|
210
|
+
// definition_stack,
|
|
211
|
+
// column_default_value_content_manager?.pass_event_down
|
|
212
|
+
// )
|
|
213
|
+
// definition_stack = res?.definition_stack
|
|
214
|
+
// return res
|
|
215
|
+
},
|
|
216
|
+
})
|
|
217
|
+
},
|
|
218
|
+
})
|
|
219
|
+
column_db_data_type_edit_button_manager = create_button_manager({
|
|
220
|
+
type: "plain",
|
|
221
|
+
is_uniform: true,
|
|
222
|
+
support_icon: "edit",
|
|
223
|
+
icon_sw: 40,
|
|
224
|
+
icon_size: 1.6,
|
|
225
|
+
font_size: 1.2,
|
|
226
|
+
min_height: 2,
|
|
227
|
+
border_radius: 0.5,
|
|
228
|
+
popover_target: () => `popover_${column_db_data_type_input_manager?.popover_manager?.id}`,
|
|
229
|
+
})
|
|
230
|
+
// quick_sort_variable_path tbd
|
|
231
|
+
// foreign_table_id tbd
|
|
232
|
+
// is_cascade tbd
|
|
233
|
+
column_is_primary_key_checkbox_manager = create_checkbox_manager({
|
|
234
|
+
type: "toggle",
|
|
235
|
+
label: "Primary Key",
|
|
236
|
+
val: config?.val?.is_primary_key ?? false,
|
|
237
|
+
})
|
|
238
|
+
column_is_updatable_checkbox_manager = create_checkbox_manager({
|
|
239
|
+
type: "toggle",
|
|
240
|
+
label: "Updatable",
|
|
241
|
+
val: config?.val?.is_updatable ?? false,
|
|
242
|
+
})
|
|
243
|
+
column_is_nullable_checkbox_manager = create_checkbox_manager({
|
|
244
|
+
type: "toggle",
|
|
245
|
+
label: "Nullable",
|
|
246
|
+
val: config?.val?.is_nullable ?? true,
|
|
247
|
+
})
|
|
248
|
+
column_is_force_uniqueness_checkbox_manager = create_checkbox_manager({
|
|
249
|
+
type: "toggle",
|
|
250
|
+
label: "Force Uniqueness",
|
|
251
|
+
val: config?.val?.is_force_uniqueness ?? false,
|
|
252
|
+
})
|
|
253
|
+
column_is_cascade_checkbox_manager = create_checkbox_manager({
|
|
254
|
+
type: "toggle",
|
|
255
|
+
label: "Is Cascade Delete",
|
|
256
|
+
val: config?.val?.is_cascade ?? false,
|
|
257
|
+
})
|
|
258
|
+
guess_header_content_button_manager = create_button_manager({
|
|
259
|
+
type: "outlined",
|
|
260
|
+
text: "Guess",
|
|
261
|
+
min_height: 0,
|
|
262
|
+
font_size: 1,
|
|
263
|
+
border_radius: 0.5,
|
|
264
|
+
on_click: () => {
|
|
265
|
+
if (column_id_text_input_manager?.val) {
|
|
266
|
+
const header_text = column_id_text_input_manager.val
|
|
267
|
+
.split("_")
|
|
268
|
+
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
|
|
269
|
+
.join(" ")
|
|
270
|
+
const header_astc_element = astc_element("base_text", [], { content: header_text })
|
|
271
|
+
header_content_input_manager.add_version(header_astc_element)
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
})
|
|
275
|
+
guess_body_content_button_manager = create_button_manager({
|
|
276
|
+
type: "outlined",
|
|
277
|
+
text: "Guess",
|
|
278
|
+
min_height: 0,
|
|
279
|
+
font_size: 1,
|
|
280
|
+
border_radius: 0.5,
|
|
281
|
+
on_click: () => {
|
|
282
|
+
if (column_id_text_input_manager.val && column_db_data_type_input_manager?.val) {
|
|
283
|
+
let guessed_column_display_content = variables_data_type_remaining_to_astc(
|
|
284
|
+
column_db_data_type_input_manager?.val,
|
|
285
|
+
"display",
|
|
286
|
+
[
|
|
287
|
+
...(Array.isArray(rows_data_from_variable_path) ? rows_data_from_variable_path : []),
|
|
288
|
+
[row_iter_identifier],
|
|
289
|
+
column_id_text_input_manager.val,
|
|
290
|
+
]
|
|
291
|
+
)
|
|
292
|
+
body_content_input_manager.add_version(guessed_column_display_content)
|
|
293
|
+
} else {
|
|
294
|
+
body_content_input_manager.add_version(null)
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
})
|
|
298
|
+
let delete_column_is_loading = $state(false)
|
|
299
|
+
delete_column_are_you_sure_popover_manager = create_popover_manager({
|
|
300
|
+
type: "center",
|
|
301
|
+
min_width: 280,
|
|
302
|
+
target_width: 300,
|
|
303
|
+
min_height: 280,
|
|
304
|
+
target_height: 300,
|
|
305
|
+
header: "Are You Sure?",
|
|
306
|
+
})
|
|
307
|
+
delete_column_are_you_sure_popover_toggle_button_manager = create_button_manager({
|
|
308
|
+
type: "outlined",
|
|
309
|
+
support_icon: "trashcan",
|
|
310
|
+
color: "var(--error-t)",
|
|
311
|
+
is_compressed: true,
|
|
312
|
+
text: "Delete Column",
|
|
313
|
+
mt: 5,
|
|
314
|
+
is_loading: () => delete_column_is_loading,
|
|
315
|
+
popover_target: `popover_${delete_column_are_you_sure_popover_manager?.id}`,
|
|
316
|
+
})
|
|
317
|
+
delete_column_button_manager = create_button_manager({
|
|
318
|
+
color: "var(--error-t)",
|
|
319
|
+
text: "Delete Column",
|
|
320
|
+
is_compressed: () => !is_column_update,
|
|
321
|
+
mb: 1,
|
|
322
|
+
is_loading: () => delete_column_is_loading,
|
|
323
|
+
on_click: async () => {
|
|
324
|
+
if (typeof config?.on_delete == "function") {
|
|
325
|
+
delete_column_is_loading = true
|
|
326
|
+
const res = await config?.on_delete({ column_id })
|
|
327
|
+
if (res?.is_success) {
|
|
328
|
+
delete_column_are_you_sure_popover_manager.show_temp_message(res?.message ?? "Successfully Deleted Column")
|
|
329
|
+
} else {
|
|
330
|
+
delete_column_are_you_sure_popover_manager.show_temp_message(
|
|
331
|
+
res?.message ?? "Error Deleting Column",
|
|
332
|
+
"error"
|
|
333
|
+
)
|
|
334
|
+
}
|
|
335
|
+
delete_column_is_loading = false
|
|
336
|
+
}
|
|
337
|
+
},
|
|
338
|
+
})
|
|
339
|
+
delete_column_cancel_button_manager = create_button_manager({
|
|
340
|
+
type: "outlined",
|
|
341
|
+
text: "Cancel",
|
|
342
|
+
on_click: () => delete_column_are_you_sure_popover_manager.close(),
|
|
343
|
+
})
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
init(config)
|
|
347
|
+
|
|
348
|
+
return {
|
|
349
|
+
get column_id() {
|
|
350
|
+
return column_id
|
|
351
|
+
},
|
|
352
|
+
get val() {
|
|
353
|
+
return val
|
|
354
|
+
},
|
|
355
|
+
get header_content_input_manager() {
|
|
356
|
+
return header_content_input_manager
|
|
357
|
+
},
|
|
358
|
+
get body_content_input_manager() {
|
|
359
|
+
return body_content_input_manager
|
|
360
|
+
},
|
|
361
|
+
get column_description_text_input_manager() {
|
|
362
|
+
return column_description_text_input_manager
|
|
363
|
+
},
|
|
364
|
+
get column_is_shown_checkbox_manager() {
|
|
365
|
+
return column_is_shown_checkbox_manager
|
|
366
|
+
},
|
|
367
|
+
get column_is_fixed_checkbox_manager() {
|
|
368
|
+
return column_is_fixed_checkbox_manager
|
|
369
|
+
},
|
|
370
|
+
get column_alignment_dropdown_manager() {
|
|
371
|
+
return column_alignment_dropdown_manager
|
|
372
|
+
},
|
|
373
|
+
get column_width_slider_manager() {
|
|
374
|
+
return column_width_slider_manager
|
|
375
|
+
},
|
|
376
|
+
get column_display_order_slider_manager() {
|
|
377
|
+
return column_display_order_slider_manager
|
|
378
|
+
},
|
|
379
|
+
get column_is_use_in_short_display_checkbox_manager() {
|
|
380
|
+
return column_is_use_in_short_display_checkbox_manager
|
|
381
|
+
},
|
|
382
|
+
get column_is_autogenerated_checkbox_manager() {
|
|
383
|
+
return column_is_autogenerated_checkbox_manager
|
|
384
|
+
},
|
|
385
|
+
get column_is_db_column_checkbox_manager() {
|
|
386
|
+
return column_is_db_column_checkbox_manager
|
|
387
|
+
},
|
|
388
|
+
get column_id_text_warning() {
|
|
389
|
+
return column_id_text_warning
|
|
390
|
+
},
|
|
391
|
+
get column_primary_key_text_warning() {
|
|
392
|
+
return column_primary_key_text_warning
|
|
393
|
+
},
|
|
394
|
+
get column_id_text_input_manager() {
|
|
395
|
+
return column_id_text_input_manager
|
|
396
|
+
},
|
|
397
|
+
get column_db_data_type_edit_button_manager() {
|
|
398
|
+
return column_db_data_type_edit_button_manager
|
|
399
|
+
},
|
|
400
|
+
get column_db_data_type_input_manager() {
|
|
401
|
+
return column_db_data_type_input_manager
|
|
402
|
+
},
|
|
403
|
+
get column_data_postgres_type() {
|
|
404
|
+
return column_data_postgres_type
|
|
405
|
+
},
|
|
406
|
+
get column_default_value_content_manager() {
|
|
407
|
+
return column_default_value_content_manager
|
|
408
|
+
},
|
|
409
|
+
get column_is_primary_key_checkbox_manager() {
|
|
410
|
+
return column_is_primary_key_checkbox_manager
|
|
411
|
+
},
|
|
412
|
+
get column_is_updatable_checkbox_manager() {
|
|
413
|
+
return column_is_updatable_checkbox_manager
|
|
414
|
+
},
|
|
415
|
+
get column_is_nullable_checkbox_manager() {
|
|
416
|
+
return column_is_nullable_checkbox_manager
|
|
417
|
+
},
|
|
418
|
+
get column_is_force_uniqueness_checkbox_manager() {
|
|
419
|
+
return column_is_force_uniqueness_checkbox_manager
|
|
420
|
+
},
|
|
421
|
+
get column_foreign_table_id_input_manager() {
|
|
422
|
+
return column_foreign_table_id_input_manager
|
|
423
|
+
},
|
|
424
|
+
get column_is_cascade_checkbox_manager() {
|
|
425
|
+
return column_is_cascade_checkbox_manager
|
|
426
|
+
},
|
|
427
|
+
get guess_header_content_button_manager() {
|
|
428
|
+
return guess_header_content_button_manager
|
|
429
|
+
},
|
|
430
|
+
get guess_body_content_button_manager() {
|
|
431
|
+
return guess_body_content_button_manager
|
|
432
|
+
},
|
|
433
|
+
get delete_column_are_you_sure_popover_manager() {
|
|
434
|
+
return delete_column_are_you_sure_popover_manager
|
|
435
|
+
},
|
|
436
|
+
get delete_column_are_you_sure_popover_toggle_button_manager() {
|
|
437
|
+
return delete_column_are_you_sure_popover_toggle_button_manager
|
|
438
|
+
},
|
|
439
|
+
get delete_column_button_manager() {
|
|
440
|
+
return delete_column_button_manager
|
|
441
|
+
},
|
|
442
|
+
get delete_column_cancel_button_manager() {
|
|
443
|
+
return delete_column_cancel_button_manager
|
|
444
|
+
},
|
|
445
|
+
get is_column_update() {
|
|
446
|
+
return is_column_update
|
|
447
|
+
},
|
|
448
|
+
get column_input_options() {
|
|
449
|
+
return column_input_options
|
|
450
|
+
},
|
|
451
|
+
get columns_length() {
|
|
452
|
+
return columns_length
|
|
453
|
+
},
|
|
454
|
+
reset_definition_stack,
|
|
455
|
+
}
|
|
456
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import Popover from "../../Popover/index.svelte"
|
|
3
|
+
import Button from "../../Button/index.svelte"
|
|
4
|
+
import Checkbox from "../../Checkbox/index.svelte"
|
|
5
|
+
import Dropdown from "../../Dropdown/index.svelte"
|
|
6
|
+
import TextInput from "../../TextInput/index.svelte"
|
|
7
|
+
import VariablePathInput from "../../VariablePathInput/index.svelte"
|
|
8
|
+
|
|
9
|
+
let { manager } = $props()
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
filter_tbd
|
|
13
|
+
{#snippet filter_content()}
|
|
14
|
+
<div class="popover_content_container">
|
|
15
|
+
<div style="display: flex; flex-direction: column; flex: 1; gap: 1rem;">
|
|
16
|
+
<Dropdown manager={manager?.operator_dropdown_manager} />
|
|
17
|
+
{#if Array.isArray(manager?.conditions) && manager?.conditions.length > 0}
|
|
18
|
+
{#each manager?.conditions as condition, i}
|
|
19
|
+
qqq:{condition?.input_type}
|
|
20
|
+
{#if condition?.type == "operator"}
|
|
21
|
+
condition is operator (tbd)
|
|
22
|
+
<!-- if want to nest i can extend functionality later -->
|
|
23
|
+
{:else}
|
|
24
|
+
<div style="display: flex; gap: 1rem;">
|
|
25
|
+
<Button manager={condition?.x_button_manager} />
|
|
26
|
+
<Dropdown manager={condition?.predicate_dropdown_manager} />
|
|
27
|
+
{#if condition?.input_type == "time"}
|
|
28
|
+
<TimeInput manager={condition?.input_manager} />
|
|
29
|
+
{:else if ["number", "text"].includes(condition?.input_type)}
|
|
30
|
+
<TextInput manager={condition?.input_manager} />
|
|
31
|
+
{/if}
|
|
32
|
+
</div>
|
|
33
|
+
{/if}
|
|
34
|
+
{/each}
|
|
35
|
+
{:else}
|
|
36
|
+
<p>No Conditions</p>
|
|
37
|
+
{/if}
|
|
38
|
+
<Button manager={manager?.add_condition_button_manager} />
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
{/snippet}
|
|
42
|
+
|
|
43
|
+
{#if manager?.is_popover}
|
|
44
|
+
<Popover manager={manager?.popover_manager}>
|
|
45
|
+
{#snippet content()}
|
|
46
|
+
{@render filter_content()}
|
|
47
|
+
{/snippet}
|
|
48
|
+
{#snippet footer()}
|
|
49
|
+
<Button manager={manager?.apply_sorting_button_manager} />
|
|
50
|
+
{/snippet}
|
|
51
|
+
</Popover>
|
|
52
|
+
{:else}
|
|
53
|
+
{@render filter_content()}
|
|
54
|
+
{/if}
|