sveltekit-ui 1.1.17 → 1.1.19
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 +1099 -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 +2 -2
- package/src/lib/Components/Chart/index.svelte.js +11 -2
|
@@ -0,0 +1,1565 @@
|
|
|
1
|
+
import { create_text_input_manager } from "../TextInput/index.svelte.js"
|
|
2
|
+
import { create_checkbox_manager } from "../Checkbox/index.svelte.js"
|
|
3
|
+
import { create_dropdown_manager } from "../Dropdown/index.svelte.js"
|
|
4
|
+
import { create_file_input_manager } from "../FileInput/index.svelte.js"
|
|
5
|
+
import { create_popover_manager } from "../Popover/index.svelte.js"
|
|
6
|
+
import { create_button_manager } from "../Button/index.svelte.js"
|
|
7
|
+
import { create_content_manager } from "../Content/index.svelte.js"
|
|
8
|
+
import { create_pagination_manager } from "./Pagination/index.svelte.js"
|
|
9
|
+
import { create_sort_by_input_manager } from "./SortByInput/index.svelte.js"
|
|
10
|
+
import { create_column_input_manager } from "./ColumnInput/index.svelte.js"
|
|
11
|
+
import {
|
|
12
|
+
deep_copy,
|
|
13
|
+
copy_to_clipboard,
|
|
14
|
+
json_to_csv,
|
|
15
|
+
csv_to_json,
|
|
16
|
+
create_unique_id,
|
|
17
|
+
set_definition_stack,
|
|
18
|
+
get_def_from_variable_path,
|
|
19
|
+
variables_data_type_remaining_to_astc,
|
|
20
|
+
} from "../../client/index.js"
|
|
21
|
+
import { tick } from "svelte"
|
|
22
|
+
import { browser } from "$app/environment"
|
|
23
|
+
import { literal_types } from "../../client/types/index.js"
|
|
24
|
+
|
|
25
|
+
export function create_table_advanced_manager(config) {
|
|
26
|
+
const id = create_unique_id(null, 20)
|
|
27
|
+
|
|
28
|
+
let mapkit_js_token = $state(null)
|
|
29
|
+
let definition_stack = $state(null)
|
|
30
|
+
let row_iter_identifier = $state(null)
|
|
31
|
+
let rows_data_from_variable_path = $state(null)
|
|
32
|
+
let row_input_content = $state(null)
|
|
33
|
+
let is_data_editable = $state(null)
|
|
34
|
+
let nav_items = $state(null)
|
|
35
|
+
let is_paginate = $state(null)
|
|
36
|
+
let is_more_to_load = $state(false)
|
|
37
|
+
let table_header_max_height = $state(null)
|
|
38
|
+
let table_row_max_height = $state(null)
|
|
39
|
+
|
|
40
|
+
let table_id = $state(null)
|
|
41
|
+
let table_name = $state(null)
|
|
42
|
+
let table_description = $state(null)
|
|
43
|
+
let settings_popover_manager = $state(null)
|
|
44
|
+
let settings_popover_toggle_button_manager = $state(null)
|
|
45
|
+
let settings_update_table_name_button_manager = $state(null)
|
|
46
|
+
let settings_update_table_name_text_input_manager = $state(null)
|
|
47
|
+
let settings_update_table_description_button_manager = $state(null)
|
|
48
|
+
let settings_update_table_description_text_input_manager = $state(null)
|
|
49
|
+
let settings_copy_row_json_schema_button_manager = $state(null)
|
|
50
|
+
let settings_copy_rows_json_schema_button_manager = $state(null)
|
|
51
|
+
let settings_preempt_delete_table_popover_button_manager = $state(null)
|
|
52
|
+
let settings_delete_table_popover_manager = $state(null)
|
|
53
|
+
let settings_delete_table_cancel_button_manager = $state(null)
|
|
54
|
+
let settings_delete_table_button_manager = $state(null)
|
|
55
|
+
let settings_copy_table_id_button_manager = $state(null)
|
|
56
|
+
|
|
57
|
+
let columns_prepped = $state(null)
|
|
58
|
+
let column_ids_display_order = $state([])
|
|
59
|
+
let rows_prepped = $state(null)
|
|
60
|
+
let table_search_text_input_manager = $state(null)
|
|
61
|
+
let pagination_manager = $state(null)
|
|
62
|
+
let rows_per_page_dropdown_manager = $state(null)
|
|
63
|
+
let cur_page = $state(1)
|
|
64
|
+
let load_more_button_manager = $state(null)
|
|
65
|
+
let sort_by = $state(null)
|
|
66
|
+
let sort_by_input_manager = $state(null)
|
|
67
|
+
let is_bulk_select = $state(false)
|
|
68
|
+
let toggle_bulk_selectable_button_manager = $state(null)
|
|
69
|
+
let insert_popover_manager = $state(null)
|
|
70
|
+
let insert_popover_button_manager = $state(null)
|
|
71
|
+
let preempt_insert_column_popover_manager = $state(null)
|
|
72
|
+
let preempt_insert_column_button_manager = $state(null)
|
|
73
|
+
let preempt_insert_row_button_manager = $state(null)
|
|
74
|
+
let file_popover_manager = $state(null)
|
|
75
|
+
let file_popover_button_manager = $state(null)
|
|
76
|
+
let copy_json_button_manager = $state(null)
|
|
77
|
+
let download_json_button_manager = $state(null)
|
|
78
|
+
let download_csv_button_manager = $state(null)
|
|
79
|
+
let copy_structure_button_manager = $state(null)
|
|
80
|
+
|
|
81
|
+
let prempt_bulk_upload_rows_popover_button_manager = $state(null)
|
|
82
|
+
let prempt_bulk_upload_rows_popover_manager = $state(null)
|
|
83
|
+
let upload_rows_file_input_manager = $state(null)
|
|
84
|
+
let upload_rows_text_input_manager = $state(null)
|
|
85
|
+
let upload_rows_prepare_text_button_manager = $state(null)
|
|
86
|
+
let upload_rows_clear_prepared_data_button_manager = $state(null)
|
|
87
|
+
let bulk_insert_rows_error_message = $state(null)
|
|
88
|
+
let bulk_insert_rows_button_manager = $state(null)
|
|
89
|
+
let bulk_insert_rows_prepared_data = $state(null)
|
|
90
|
+
let bulk_select_all_rows_toggle_checkbox_manager = $state(null)
|
|
91
|
+
let bulk_delete_rows_popover_manager = $state(null)
|
|
92
|
+
let bulk_delete_rows_popover_button_manager = $state(null)
|
|
93
|
+
let bulk_delete_rows_button_manager = $state(null)
|
|
94
|
+
let bulk_delete_rows_cancel_button_manager = $state(null)
|
|
95
|
+
|
|
96
|
+
let column_edit_id = $state(null)
|
|
97
|
+
let column_edit_input_manager = $state(null)
|
|
98
|
+
let column_edit_upsert_column_button_manager = $state(null)
|
|
99
|
+
|
|
100
|
+
let row_edit_def_identifier = $state("edit_row_1001234")
|
|
101
|
+
let row_edit_index = $state(null)
|
|
102
|
+
let preempt_insert_row_popover_manager = $state(null)
|
|
103
|
+
let row_edit_content_manager = $state(null)
|
|
104
|
+
let row_edit_upsert_row_button_manager = $state(null)
|
|
105
|
+
let row_edit_delete_row_are_you_sure_popover_manager = $state(null)
|
|
106
|
+
let row_edit_delete_row_are_you_sure_popover_toggle_button_manager = $state(null)
|
|
107
|
+
let row_edit_delete_row_button_manager = $state(null)
|
|
108
|
+
let row_edit_delete_row_cancel_button_manager = $state(null)
|
|
109
|
+
let is_loading_rows = $state(false)
|
|
110
|
+
let loading_rows_progress = $state(0)
|
|
111
|
+
|
|
112
|
+
let rows_data = $derived(get_def_from_variable_path(rows_data_from_variable_path, definition_stack))
|
|
113
|
+
let row_indexes_display_order = $derived(get_available_row_indexes())
|
|
114
|
+
let row_indexes_display_order_shown = $derived(get_row_indexes_shown())
|
|
115
|
+
let row_json_schema = $derived(get_row_json_schema(columns_prepped))
|
|
116
|
+
|
|
117
|
+
function get_row_json_schema(input) {
|
|
118
|
+
console.log("get_row_json_schema", input)
|
|
119
|
+
let properties = {}
|
|
120
|
+
if (Object.keys(input || {}).length > 0) {
|
|
121
|
+
for (let key of Object.keys(input)) {
|
|
122
|
+
console.log("key", key)
|
|
123
|
+
if (input?.[key]?.is_db_column && !input?.[key]?.is_autogenerated) {
|
|
124
|
+
properties[key] = get_json_schema_from_db_type(input?.[key]?.db_data_type)
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
} else {
|
|
128
|
+
return null
|
|
129
|
+
}
|
|
130
|
+
return JSON.stringify({
|
|
131
|
+
type: "object",
|
|
132
|
+
properties: properties,
|
|
133
|
+
required: Object.keys(properties),
|
|
134
|
+
additionalProperties: false,
|
|
135
|
+
})
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
function get_json_schema_from_db_type(input) {
|
|
139
|
+
if (input?.type == "array_uniform_literal") {
|
|
140
|
+
return {
|
|
141
|
+
type: "array",
|
|
142
|
+
items: get_json_schema_from_db_type(input?.items),
|
|
143
|
+
}
|
|
144
|
+
} else if (input?.type == "object_literal") {
|
|
145
|
+
let properties = {}
|
|
146
|
+
for (let key of Object.keys(input?.properties)) {
|
|
147
|
+
properties[key] = get_json_schema_from_db_type(input?.properties?.[key])
|
|
148
|
+
}
|
|
149
|
+
return { type: "object", properties: properties, required: Object.keys(properties), additionalProperties: false }
|
|
150
|
+
} else if (input?.type == "object_uniform_literal") {
|
|
151
|
+
// tbd try and avoid this
|
|
152
|
+
return { type: "null_literal" }
|
|
153
|
+
}
|
|
154
|
+
let default_json_schema = literal_types?.[input?.type]?.json_schema
|
|
155
|
+
if (default_json_schema?.type == "object") {
|
|
156
|
+
default_json_schema = {
|
|
157
|
+
...default_json_schema,
|
|
158
|
+
required: Object.keys(default_json_schema?.properties),
|
|
159
|
+
additionalProperties: false,
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return default_json_schema
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
let cur_page_to_use = $derived(
|
|
166
|
+
!Array.isArray(row_indexes_display_order) || row_indexes_display_order.length < rows_per_page_dropdown_manager?.val
|
|
167
|
+
? 1
|
|
168
|
+
: cur_page
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
let row_indexes_bulk_selected = $derived(
|
|
172
|
+
Array.isArray(rows_prepped)
|
|
173
|
+
? rows_prepped
|
|
174
|
+
.map((row_prepped, index) => (row_prepped?.bulk_select_checkbox_manager?.val ? index : null))
|
|
175
|
+
.filter((index) => index !== null)
|
|
176
|
+
: []
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
function get_available_row_indexes() {
|
|
180
|
+
let row_indexes = []
|
|
181
|
+
if (
|
|
182
|
+
Array.isArray(rows_prepped) &&
|
|
183
|
+
table_search_text_input_manager?.val &&
|
|
184
|
+
table_search_text_input_manager?.val.trim() !== ""
|
|
185
|
+
) {
|
|
186
|
+
for (let i = 0; i < rows_prepped.length; i++) {
|
|
187
|
+
if (
|
|
188
|
+
rows_prepped[i]?.searchable_text &&
|
|
189
|
+
rows_prepped[i]?.searchable_text.toLowerCase().includes(table_search_text_input_manager.val.toLowerCase())
|
|
190
|
+
) {
|
|
191
|
+
row_indexes.push(i)
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
} else {
|
|
195
|
+
row_indexes = Array.isArray(rows_prepped) ? Array.from({ length: rows_prepped.length }, (_, i) => i) : []
|
|
196
|
+
}
|
|
197
|
+
function get_column_value(row, column_id) {
|
|
198
|
+
const attrs = row?.columns?.[column_id]?.body_content?.attributes ?? {}
|
|
199
|
+
const val_from_variable_path = attrs.val_from_variable_path ?? attrs.content_from_variable_path
|
|
200
|
+
if (val_from_variable_path) {
|
|
201
|
+
return get_def_from_variable_path(val_from_variable_path, [{ row_i: row?.row_i }, ...definition_stack])
|
|
202
|
+
}
|
|
203
|
+
return attrs.val ?? attrs.content ?? null
|
|
204
|
+
}
|
|
205
|
+
if (Array.isArray(sort_by) && sort_by.length > 0) {
|
|
206
|
+
row_indexes.sort((a, b) => {
|
|
207
|
+
for (let sort_item of sort_by) {
|
|
208
|
+
const column_id = sort_item?.variable_path?.[0]
|
|
209
|
+
const is_ascending = !!sort_item?.is_ascending
|
|
210
|
+
let a_val = get_column_value(rows_prepped[a], column_id)
|
|
211
|
+
let b_val = get_column_value(rows_prepped[b], column_id)
|
|
212
|
+
if (a_val === b_val) continue
|
|
213
|
+
if (a_val == null) return is_ascending ? 1 : -1
|
|
214
|
+
if (b_val == null) return is_ascending ? -1 : 1
|
|
215
|
+
if (typeof a_val === "number" && typeof b_val === "number") {
|
|
216
|
+
return is_ascending ? a_val - b_val : b_val - a_val
|
|
217
|
+
}
|
|
218
|
+
const a_str = Array.isArray(a_val) ? a_val.join(",") : String(a_val)
|
|
219
|
+
const b_str = Array.isArray(b_val) ? b_val.join(",") : String(b_val)
|
|
220
|
+
if (a_str === b_str) continue
|
|
221
|
+
return is_ascending ? a_str.localeCompare(b_str) : b_str.localeCompare(a_str)
|
|
222
|
+
}
|
|
223
|
+
return 0
|
|
224
|
+
})
|
|
225
|
+
}
|
|
226
|
+
return row_indexes
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
function get_row_indexes_shown() {
|
|
230
|
+
if (!Array.isArray(row_indexes_display_order)) {
|
|
231
|
+
return []
|
|
232
|
+
} else if (row_indexes_display_order.length < rows_per_page_dropdown_manager?.val) {
|
|
233
|
+
return row_indexes_display_order
|
|
234
|
+
}
|
|
235
|
+
const start_index = (cur_page - 1) * rows_per_page_dropdown_manager?.val
|
|
236
|
+
const end_index = start_index + rows_per_page_dropdown_manager?.val
|
|
237
|
+
return row_indexes_display_order.slice(start_index, end_index)
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
const raf = () => (browser ? new Promise(requestAnimationFrame) : new Promise((r) => setTimeout(r, 0)))
|
|
241
|
+
|
|
242
|
+
async function set_rows_prepped(columns_prepped_input) {
|
|
243
|
+
is_loading_rows = true
|
|
244
|
+
rows_prepped = []
|
|
245
|
+
loading_rows_progress = 0
|
|
246
|
+
await tick()
|
|
247
|
+
await raf()
|
|
248
|
+
const chunk_size = 5
|
|
249
|
+
const total = Array.isArray(rows_data) ? rows_data?.length : 0
|
|
250
|
+
let rows_prepped_loc = []
|
|
251
|
+
for (let i = 0; i < total; i += chunk_size) {
|
|
252
|
+
const slice_end = Math.min(i + chunk_size, total)
|
|
253
|
+
for (let j = i; j < slice_end; j++) {
|
|
254
|
+
rows_prepped_loc.push(get_row_prepped(columns_prepped_input, rows_data[j], j))
|
|
255
|
+
}
|
|
256
|
+
rows_prepped = rows_prepped_loc
|
|
257
|
+
loading_rows_progress = slice_end / total
|
|
258
|
+
await tick()
|
|
259
|
+
await raf()
|
|
260
|
+
}
|
|
261
|
+
rows_prepped = rows_prepped_loc
|
|
262
|
+
loading_rows_progress = 1
|
|
263
|
+
is_loading_rows = false
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
function get_row_prepped(columns_prepped_input, row_data, row_i) {
|
|
267
|
+
let searchable_text = ""
|
|
268
|
+
let columns_prepped_loc = {}
|
|
269
|
+
if (Array.isArray(column_ids_display_order)) {
|
|
270
|
+
for (let column_id of column_ids_display_order) {
|
|
271
|
+
let content_manager = create_content_manager({
|
|
272
|
+
val: columns_prepped_input[column_id]?.body_content,
|
|
273
|
+
mapkit_js_token: mapkit_js_token,
|
|
274
|
+
on_event: (input) => {
|
|
275
|
+
if (typeof config?.on_event == "function") {
|
|
276
|
+
config?.on_event(input)
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
definition_stack: [{ [row_iter_identifier]: row_i }, ...definition_stack],
|
|
280
|
+
// storage_path: () => storage_path,
|
|
281
|
+
// is_dark_theme: () => is_dark_theme,
|
|
282
|
+
})
|
|
283
|
+
columns_prepped_loc[column_id] = {
|
|
284
|
+
...columns_prepped_input?.[column_id],
|
|
285
|
+
content_manager: content_manager,
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
// // astc_to_embedding_text tbd
|
|
290
|
+
searchable_text += `${JSON.stringify(row_data)}`?.toString().toLowerCase()
|
|
291
|
+
let preempt_edit_row_button_input_manager = $state(null)
|
|
292
|
+
let bulk_select_checkbox_manager = $state(null)
|
|
293
|
+
preempt_edit_row_button_input_manager = create_button_manager({
|
|
294
|
+
type: "soft",
|
|
295
|
+
support_icon: "edit",
|
|
296
|
+
is_uniform: true,
|
|
297
|
+
border_radius: 0.5,
|
|
298
|
+
aria_label: "edit",
|
|
299
|
+
icon_sw: 40,
|
|
300
|
+
min_height: 2.4,
|
|
301
|
+
on_click: () => {
|
|
302
|
+
preempt_insert_row_popover_manager.open()
|
|
303
|
+
edit_row(row_i)
|
|
304
|
+
},
|
|
305
|
+
})
|
|
306
|
+
bulk_select_checkbox_manager = create_checkbox_manager({
|
|
307
|
+
val: false,
|
|
308
|
+
mt: 0.2,
|
|
309
|
+
ml: 0.2,
|
|
310
|
+
mb: 0.2,
|
|
311
|
+
})
|
|
312
|
+
return {
|
|
313
|
+
row_i: row_i,
|
|
314
|
+
columns: columns_prepped_loc,
|
|
315
|
+
searchable_text: searchable_text,
|
|
316
|
+
preempt_edit_row_button_input_manager: preempt_edit_row_button_input_manager,
|
|
317
|
+
bulk_select_checkbox_manager: bulk_select_checkbox_manager,
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
function bulk_select_all_rows_toggle(is_select_all = true) {
|
|
322
|
+
if (Array.isArray(rows_prepped) && rows_prepped.length > 0) {
|
|
323
|
+
for (let i = 0; i < rows_prepped.length; i++) {
|
|
324
|
+
rows_prepped[i].bulk_select_checkbox_manager.set_val(is_select_all)
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
function set_table_search_text_input(input) {
|
|
330
|
+
table_search_text_input_manager.set_val(input)
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
function set_columns_prepped(columns) {
|
|
334
|
+
column_ids_display_order = Object.entries(columns || {})
|
|
335
|
+
.sort((a, b) => a[1]?.display_order - b[1]?.display_order)
|
|
336
|
+
.map((entry) => entry[0])
|
|
337
|
+
let columns_prepped_loc = {}
|
|
338
|
+
if (Array.isArray(column_ids_display_order)) {
|
|
339
|
+
for (let column_id of column_ids_display_order) {
|
|
340
|
+
let content_manager = create_content_manager({
|
|
341
|
+
val: columns[column_id]?.header_content,
|
|
342
|
+
mapkit_js_token: mapkit_js_token,
|
|
343
|
+
on_event: (input) => {
|
|
344
|
+
if (typeof config?.on_change == "function") {
|
|
345
|
+
config?.on_change(input)
|
|
346
|
+
}
|
|
347
|
+
},
|
|
348
|
+
definition_stack: definition_stack,
|
|
349
|
+
// storage_path: () => storage_path,
|
|
350
|
+
// is_dark_theme: () => is_dark_theme,
|
|
351
|
+
})
|
|
352
|
+
let preempt_edit_column_button_manager = $state(null)
|
|
353
|
+
preempt_edit_column_button_manager = create_button_manager({
|
|
354
|
+
type: "soft",
|
|
355
|
+
support_icon: "three_dots",
|
|
356
|
+
icon_sw: 80,
|
|
357
|
+
icon_size: 1.4,
|
|
358
|
+
min_height: 2.4,
|
|
359
|
+
border_radius: 0.5,
|
|
360
|
+
is_uniform: true,
|
|
361
|
+
on_click: () => {
|
|
362
|
+
edit_column(column_id)
|
|
363
|
+
preempt_insert_column_popover_manager.open()
|
|
364
|
+
},
|
|
365
|
+
})
|
|
366
|
+
columns_prepped_loc[column_id] = {
|
|
367
|
+
...columns[column_id],
|
|
368
|
+
content_manager: content_manager,
|
|
369
|
+
preempt_edit_column_button_manager: preempt_edit_column_button_manager,
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
columns_prepped = columns_prepped_loc
|
|
374
|
+
console.log("columns_prepped", deep_copy(columns_prepped))
|
|
375
|
+
return columns_prepped
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
function copy_json() {
|
|
379
|
+
copy_to_clipboard(JSON.stringify(rows_data))
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
function copy_structure() {
|
|
383
|
+
copy_to_clipboard(JSON.stringify(rows_data))
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
function download_json() {
|
|
387
|
+
const json_string = JSON.stringify(rows_data)
|
|
388
|
+
const data_blob = new Blob([json_string], { type: "application/json" })
|
|
389
|
+
const url = URL.createObjectURL(data_blob)
|
|
390
|
+
const link = document.createElement("a")
|
|
391
|
+
link.href = url
|
|
392
|
+
const filename = "data.json"
|
|
393
|
+
link.download = filename
|
|
394
|
+
link.click()
|
|
395
|
+
URL.revokeObjectURL(url)
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
function download_csv() {
|
|
399
|
+
const json_string = JSON.stringify(rows_data)
|
|
400
|
+
const csv = json_to_csv(json_string)
|
|
401
|
+
const data_blob = new Blob([csv], { type: "text/csv;charset=utf-8;" })
|
|
402
|
+
const url = URL.createObjectURL(data_blob)
|
|
403
|
+
const link = document.createElement("a")
|
|
404
|
+
link.href = url
|
|
405
|
+
const filename = "data.csv"
|
|
406
|
+
link.download = filename
|
|
407
|
+
link.click()
|
|
408
|
+
URL.revokeObjectURL(url)
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
function edit_column(column_id) {
|
|
412
|
+
column_edit_id = column_id || null
|
|
413
|
+
const column = columns_prepped?.[column_id]
|
|
414
|
+
column_edit_input_manager = create_column_input_manager({
|
|
415
|
+
column_id: column_id,
|
|
416
|
+
val: {
|
|
417
|
+
header_content: column?.header_content,
|
|
418
|
+
body_content: column?.body_content,
|
|
419
|
+
description: column?.description,
|
|
420
|
+
is_shown: column?.is_shown,
|
|
421
|
+
is_fixed: column?.is_fixed,
|
|
422
|
+
alignment: column?.alignment,
|
|
423
|
+
min_width: column?.min_width,
|
|
424
|
+
max_width: column?.max_width,
|
|
425
|
+
display_order: column?.display_order,
|
|
426
|
+
is_db_column: column?.is_db_column,
|
|
427
|
+
db_data_type: column?.db_data_type,
|
|
428
|
+
is_use_in_short_display: column?.is_use_in_short_display,
|
|
429
|
+
is_autogenerated: column?.is_autogenerated,
|
|
430
|
+
is_updatable: column?.is_updatable,
|
|
431
|
+
postgres_type: column?.postgres_type,
|
|
432
|
+
default_value: column?.default_value,
|
|
433
|
+
quick_sort_variable_path: column?.quick_sort_variable_path,
|
|
434
|
+
is_primary_key: column?.is_primary_key,
|
|
435
|
+
is_nullable: column?.is_nullable,
|
|
436
|
+
is_force_uniqueness: column?.is_force_uniqueness,
|
|
437
|
+
foreign_table_id: column?.foreign_table_id,
|
|
438
|
+
is_cascade: column?.is_cascade,
|
|
439
|
+
},
|
|
440
|
+
row_iter_identifier: row_iter_identifier,
|
|
441
|
+
rows_data_from_variable_path: rows_data_from_variable_path,
|
|
442
|
+
column_input_options: config?.column_input_options,
|
|
443
|
+
table_options: config?.table_options,
|
|
444
|
+
on_search_table_row_ids: config?.on_search_table_row_ids,
|
|
445
|
+
definition_stack: definition_stack,
|
|
446
|
+
columns: () => columns_prepped,
|
|
447
|
+
on_delete: async () => {
|
|
448
|
+
if (typeof config?.on_event == "function") {
|
|
449
|
+
const res = await config?.on_event({
|
|
450
|
+
type: "delete_column",
|
|
451
|
+
column_id: column_id,
|
|
452
|
+
column: columns_prepped?.[column_id],
|
|
453
|
+
path: rows_data_from_variable_path,
|
|
454
|
+
})
|
|
455
|
+
if (res?.is_success) {
|
|
456
|
+
preempt_insert_column_popover_manager.show_temp_message(
|
|
457
|
+
"Successfully deleted column",
|
|
458
|
+
"success",
|
|
459
|
+
1800,
|
|
460
|
+
true,
|
|
461
|
+
() => {
|
|
462
|
+
let columns_prepped_copy = deep_copy(columns_prepped)
|
|
463
|
+
delete columns_prepped_copy[column_id]
|
|
464
|
+
set_columns(columns_prepped_copy)
|
|
465
|
+
if (typeof res.finish == "function") {
|
|
466
|
+
res.finish()
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
)
|
|
470
|
+
}
|
|
471
|
+
return res
|
|
472
|
+
}
|
|
473
|
+
},
|
|
474
|
+
})
|
|
475
|
+
let upsert_column_is_loading = $state(false)
|
|
476
|
+
column_edit_upsert_column_button_manager = create_button_manager({
|
|
477
|
+
text: column_id ? "Update Column" : "Insert Column",
|
|
478
|
+
is_loading: () => upsert_column_is_loading,
|
|
479
|
+
on_click: async () => {
|
|
480
|
+
upsert_column_is_loading = true
|
|
481
|
+
if (column_id) {
|
|
482
|
+
if (typeof config?.on_event == "function") {
|
|
483
|
+
const res = await config?.on_event({
|
|
484
|
+
type: "update_column",
|
|
485
|
+
column_id: column_id,
|
|
486
|
+
column: column_edit_input_manager?.val,
|
|
487
|
+
path: rows_data_from_variable_path,
|
|
488
|
+
})
|
|
489
|
+
if (res?.is_success) {
|
|
490
|
+
preempt_insert_column_popover_manager.show_temp_message(
|
|
491
|
+
"Successfully updated column",
|
|
492
|
+
"success",
|
|
493
|
+
1800,
|
|
494
|
+
true,
|
|
495
|
+
() => {
|
|
496
|
+
let cleaned_columns = deep_copy(columns_prepped ?? {})
|
|
497
|
+
delete cleaned_columns[column_id]
|
|
498
|
+
cleaned_columns[res?.column_id] = res?.column
|
|
499
|
+
set_columns(cleaned_columns)
|
|
500
|
+
}
|
|
501
|
+
)
|
|
502
|
+
} else {
|
|
503
|
+
preempt_insert_column_popover_manager.show_temp_message(
|
|
504
|
+
res?.message ?? "Error updating column",
|
|
505
|
+
"error",
|
|
506
|
+
1800,
|
|
507
|
+
false
|
|
508
|
+
)
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
} else {
|
|
512
|
+
if (typeof config?.on_event == "function") {
|
|
513
|
+
const res = await config?.on_event({
|
|
514
|
+
type: "insert_column",
|
|
515
|
+
column: column_edit_input_manager?.val,
|
|
516
|
+
path: rows_data_from_variable_path,
|
|
517
|
+
})
|
|
518
|
+
if (res?.is_success) {
|
|
519
|
+
preempt_insert_column_popover_manager.show_temp_message(
|
|
520
|
+
"Successfully inserted column",
|
|
521
|
+
"success",
|
|
522
|
+
1800,
|
|
523
|
+
true,
|
|
524
|
+
() => {
|
|
525
|
+
let cleaned_columns = deep_copy(columns_prepped ?? {})
|
|
526
|
+
cleaned_columns[res?.column_id] = res?.column
|
|
527
|
+
console.log("cleaned_columns", cleaned_columns, res)
|
|
528
|
+
set_columns(cleaned_columns)
|
|
529
|
+
}
|
|
530
|
+
)
|
|
531
|
+
} else {
|
|
532
|
+
preempt_insert_column_popover_manager.show_temp_message("Error inserting column", "error", 1800, false)
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
upsert_column_is_loading = false
|
|
537
|
+
},
|
|
538
|
+
})
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
function edit_row(row_i) {
|
|
542
|
+
row_edit_index = row_i
|
|
543
|
+
const path_to_set = [...rows_data_from_variable_path, Number.isInteger(row_i) ? row_i : 0]
|
|
544
|
+
let editable_row = null
|
|
545
|
+
if (!Number.isInteger(row_i)) {
|
|
546
|
+
editable_row = {}
|
|
547
|
+
} else {
|
|
548
|
+
editable_row = get_def_from_variable_path([...rows_data_from_variable_path, row_i], definition_stack)
|
|
549
|
+
}
|
|
550
|
+
let row_definition_stack = $state([{ [row_edit_def_identifier]: editable_row }, ...definition_stack])
|
|
551
|
+
row_edit_content_manager = null
|
|
552
|
+
setTimeout(() => {
|
|
553
|
+
// quick fix for when update row then edit a diff row the data for other doesnt remain in place
|
|
554
|
+
console.log("edit_row", { row_i, row_input_content })
|
|
555
|
+
row_edit_content_manager = create_content_manager({
|
|
556
|
+
val: row_input_content ?? null,
|
|
557
|
+
definition_stack: row_definition_stack,
|
|
558
|
+
mapkit_js_token: mapkit_js_token,
|
|
559
|
+
storage_items: null, // tbd
|
|
560
|
+
on_search_table_row_ids: config?.on_search_table_row_ids,
|
|
561
|
+
on_event: (input) => {
|
|
562
|
+
console.log("on_e", deep_copy({ input, row_definition_stack }))
|
|
563
|
+
const res = set_definition_stack(input, row_definition_stack)
|
|
564
|
+
row_definition_stack = res?.definition_stack
|
|
565
|
+
const row_data = get_def_from_variable_path([row_edit_def_identifier], row_definition_stack)
|
|
566
|
+
return {
|
|
567
|
+
is_success: true,
|
|
568
|
+
data: {
|
|
569
|
+
row_data,
|
|
570
|
+
},
|
|
571
|
+
}
|
|
572
|
+
},
|
|
573
|
+
})
|
|
574
|
+
})
|
|
575
|
+
let upsert_row_is_loading = $state(false)
|
|
576
|
+
row_edit_upsert_row_button_manager = create_button_manager({
|
|
577
|
+
text: Number.isInteger(row_i) ? "Update Row" : "Insert Row",
|
|
578
|
+
is_loading: () => upsert_row_is_loading,
|
|
579
|
+
on_click: async () => {
|
|
580
|
+
upsert_row_is_loading = true
|
|
581
|
+
const row_data = get_def_from_variable_path([row_edit_def_identifier], row_definition_stack)
|
|
582
|
+
if (Number.isInteger(row_i)) {
|
|
583
|
+
if (typeof config?.on_event == "function") {
|
|
584
|
+
const res = await config?.on_event({
|
|
585
|
+
type: "update_row",
|
|
586
|
+
row_i: row_i,
|
|
587
|
+
row: row_data,
|
|
588
|
+
path: path_to_set,
|
|
589
|
+
})
|
|
590
|
+
if (res?.is_success) {
|
|
591
|
+
preempt_insert_row_popover_manager.show_temp_message(
|
|
592
|
+
"Successfully updated row",
|
|
593
|
+
"success",
|
|
594
|
+
1800,
|
|
595
|
+
true,
|
|
596
|
+
() => {
|
|
597
|
+
const row_prepped = get_row_prepped(columns_prepped, res?.row, row_i)
|
|
598
|
+
rows_prepped[row_prepped?.row_i] = row_prepped
|
|
599
|
+
}
|
|
600
|
+
)
|
|
601
|
+
} else {
|
|
602
|
+
preempt_insert_row_popover_manager.show_temp_message(
|
|
603
|
+
res?.message ? `Error updating row: ${res?.message}` : "Error updating row",
|
|
604
|
+
"error",
|
|
605
|
+
1800,
|
|
606
|
+
false
|
|
607
|
+
)
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
} else {
|
|
611
|
+
if (typeof config?.on_event == "function") {
|
|
612
|
+
const res = await config?.on_event({
|
|
613
|
+
type: "insert_row",
|
|
614
|
+
row: row_data,
|
|
615
|
+
path: path_to_set,
|
|
616
|
+
})
|
|
617
|
+
if (res?.is_success) {
|
|
618
|
+
preempt_insert_row_popover_manager.show_temp_message(
|
|
619
|
+
"Successfully inserted row",
|
|
620
|
+
"success",
|
|
621
|
+
1800,
|
|
622
|
+
true,
|
|
623
|
+
() => set_rows_prepped(columns_prepped)
|
|
624
|
+
)
|
|
625
|
+
} else {
|
|
626
|
+
preempt_insert_row_popover_manager.show_temp_message("Error insering row", "error", 1800, false)
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
upsert_row_is_loading = false
|
|
631
|
+
},
|
|
632
|
+
})
|
|
633
|
+
let delete_row_is_loading = $state(false)
|
|
634
|
+
row_edit_delete_row_are_you_sure_popover_manager = create_popover_manager({
|
|
635
|
+
type: "center",
|
|
636
|
+
min_width: 280,
|
|
637
|
+
target_width: 300,
|
|
638
|
+
min_height: 280,
|
|
639
|
+
target_height: 300,
|
|
640
|
+
header: "Are You Sure?",
|
|
641
|
+
})
|
|
642
|
+
row_edit_delete_row_are_you_sure_popover_toggle_button_manager = create_button_manager({
|
|
643
|
+
type: "outlined",
|
|
644
|
+
support_icon: "trashcan",
|
|
645
|
+
color: "var(--error-t)",
|
|
646
|
+
is_compressed: true,
|
|
647
|
+
text: "Delete Row",
|
|
648
|
+
mt: 5,
|
|
649
|
+
is_loading: () => delete_row_is_loading,
|
|
650
|
+
popover_target: `popover_${row_edit_delete_row_are_you_sure_popover_manager?.id}`,
|
|
651
|
+
})
|
|
652
|
+
row_edit_delete_row_button_manager = create_button_manager({
|
|
653
|
+
color: "var(--error-t)",
|
|
654
|
+
text: "Delete Row",
|
|
655
|
+
mb: 1,
|
|
656
|
+
is_loading: () => delete_row_is_loading,
|
|
657
|
+
on_click: async () => {
|
|
658
|
+
delete_row_is_loading = true
|
|
659
|
+
if (typeof config?.on_event == "function") {
|
|
660
|
+
const res = await config?.on_event({
|
|
661
|
+
type: "delete_row",
|
|
662
|
+
path: [...rows_data_from_variable_path, row_i],
|
|
663
|
+
})
|
|
664
|
+
if (res?.is_success) {
|
|
665
|
+
row_edit_delete_row_are_you_sure_popover_manager.show_temp_message(
|
|
666
|
+
res?.message ?? "Successfully Deleted Row",
|
|
667
|
+
"success",
|
|
668
|
+
1800,
|
|
669
|
+
true,
|
|
670
|
+
() => set_rows_prepped(columns_prepped)
|
|
671
|
+
)
|
|
672
|
+
preempt_insert_row_popover_manager.close()
|
|
673
|
+
} else {
|
|
674
|
+
row_edit_delete_row_are_you_sure_popover_manager.show_temp_message(
|
|
675
|
+
res?.message ?? "Error Deleting Row",
|
|
676
|
+
"error"
|
|
677
|
+
)
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
delete_row_is_loading = false
|
|
681
|
+
},
|
|
682
|
+
})
|
|
683
|
+
row_edit_delete_row_cancel_button_manager = create_button_manager({
|
|
684
|
+
type: "outlined",
|
|
685
|
+
text: "Cancel",
|
|
686
|
+
on_click: () => row_edit_delete_row_are_you_sure_popover_manager.close(),
|
|
687
|
+
})
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
function guess_row_input_content(columns) {
|
|
691
|
+
return {
|
|
692
|
+
type_id: "div",
|
|
693
|
+
selector_id: create_unique_id(null, 8),
|
|
694
|
+
children: Object.entries(columns || {})
|
|
695
|
+
.sort(([a_column_id, a_val], [b_column_id, b_val]) => {
|
|
696
|
+
const a_order = a_val?.display_order ?? 0
|
|
697
|
+
const b_order = b_val?.display_order ?? 0
|
|
698
|
+
return a_order - b_order
|
|
699
|
+
})
|
|
700
|
+
.map(([column_id, val]) => {
|
|
701
|
+
if (val?.is_autogenerated) {
|
|
702
|
+
let guessed_column_display_content = variables_data_type_remaining_to_astc(val?.db_data_type, "display", [
|
|
703
|
+
row_edit_def_identifier,
|
|
704
|
+
column_id,
|
|
705
|
+
])
|
|
706
|
+
return {
|
|
707
|
+
type_id: "div",
|
|
708
|
+
selector_id: create_unique_id(null, 8),
|
|
709
|
+
children: [
|
|
710
|
+
{
|
|
711
|
+
type_id: "span",
|
|
712
|
+
selector_id: create_unique_id(null, 8),
|
|
713
|
+
children: [
|
|
714
|
+
{
|
|
715
|
+
type_id: "strong",
|
|
716
|
+
selector_id: create_unique_id(null, 8),
|
|
717
|
+
children: [],
|
|
718
|
+
attributes: { content: column_id },
|
|
719
|
+
},
|
|
720
|
+
{
|
|
721
|
+
type_id: "em",
|
|
722
|
+
selector_id: create_unique_id(null, 8),
|
|
723
|
+
children: [],
|
|
724
|
+
attributes: { content: " autogenerated " },
|
|
725
|
+
},
|
|
726
|
+
],
|
|
727
|
+
attributes: {},
|
|
728
|
+
},
|
|
729
|
+
guessed_column_display_content,
|
|
730
|
+
{
|
|
731
|
+
type_id: "br",
|
|
732
|
+
selector_id: create_unique_id(null, 8),
|
|
733
|
+
children: [],
|
|
734
|
+
attributes: {},
|
|
735
|
+
},
|
|
736
|
+
],
|
|
737
|
+
attributes: {},
|
|
738
|
+
}
|
|
739
|
+
} else {
|
|
740
|
+
let guessed_column_input_content = variables_data_type_remaining_to_astc(val?.db_data_type, "input", [
|
|
741
|
+
row_edit_def_identifier,
|
|
742
|
+
column_id,
|
|
743
|
+
])
|
|
744
|
+
return {
|
|
745
|
+
type_id: "div",
|
|
746
|
+
selector_id: create_unique_id(null, 8),
|
|
747
|
+
children: [
|
|
748
|
+
{
|
|
749
|
+
type_id: "strong",
|
|
750
|
+
selector_id: create_unique_id(null, 8),
|
|
751
|
+
children: [],
|
|
752
|
+
attributes: { content: column_id },
|
|
753
|
+
},
|
|
754
|
+
guessed_column_input_content,
|
|
755
|
+
{
|
|
756
|
+
type_id: "spacer",
|
|
757
|
+
selector_id: create_unique_id(null, 8),
|
|
758
|
+
children: [],
|
|
759
|
+
attributes: {
|
|
760
|
+
mt: 1,
|
|
761
|
+
mb: 1,
|
|
762
|
+
},
|
|
763
|
+
},
|
|
764
|
+
],
|
|
765
|
+
attributes: {},
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
}),
|
|
769
|
+
}
|
|
770
|
+
}
|
|
771
|
+
|
|
772
|
+
function set_attributes(attributes) {
|
|
773
|
+
rows_data_from_variable_path = attributes?.rows_data_from_variable_path
|
|
774
|
+
is_data_editable = attributes?.is_data_editable ?? false
|
|
775
|
+
nav_items = Array.isArray(attributes?.nav_items)
|
|
776
|
+
? attributes.nav_items.filter((item) =>
|
|
777
|
+
[
|
|
778
|
+
"settings",
|
|
779
|
+
"search",
|
|
780
|
+
"insert",
|
|
781
|
+
"file",
|
|
782
|
+
"bulk_select",
|
|
783
|
+
"sort_by",
|
|
784
|
+
"pagination",
|
|
785
|
+
"rows_per_page",
|
|
786
|
+
"load_more",
|
|
787
|
+
].includes(item)
|
|
788
|
+
)
|
|
789
|
+
: null
|
|
790
|
+
is_paginate = attributes?.is_paginate ?? null
|
|
791
|
+
is_more_to_load = attributes?.is_more_to_load ?? false
|
|
792
|
+
table_header_max_height = attributes?.table_header_max_height ?? null
|
|
793
|
+
table_row_max_height = attributes?.table_row_max_height ?? null
|
|
794
|
+
set_columns(attributes?.columns, attributes?.row_input_content)
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
function reset_definition_stack(input) {
|
|
798
|
+
definition_stack = input
|
|
799
|
+
set_rows_prepped(columns_prepped)
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
function set_columns(input, row_input_content_input = null) {
|
|
803
|
+
set_columns_prepped(input)
|
|
804
|
+
set_rows_prepped(columns_prepped)
|
|
805
|
+
row_input_content = row_input_content_input ?? guess_row_input_content(input)
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
function init(config) {
|
|
809
|
+
table_id = config?.table_id
|
|
810
|
+
table_name = config?.table_name
|
|
811
|
+
table_description = config?.table_description
|
|
812
|
+
sort_by = config?.sort_by
|
|
813
|
+
rows_data_from_variable_path = config?.rows_data_from_variable_path
|
|
814
|
+
row_iter_identifier = config?.row_iter_identifier ?? "row_i"
|
|
815
|
+
definition_stack = config?.definition_stack
|
|
816
|
+
mapkit_js_token = config?.mapkit_js_token
|
|
817
|
+
set_attributes(config)
|
|
818
|
+
table_search_text_input_manager = create_text_input_manager({
|
|
819
|
+
type: "search",
|
|
820
|
+
placeholder: "Search",
|
|
821
|
+
})
|
|
822
|
+
let load_more_is_loading = $state(false)
|
|
823
|
+
load_more_button_manager = create_button_manager({
|
|
824
|
+
type: "soft",
|
|
825
|
+
text: "Load More",
|
|
826
|
+
is_loading: () => load_more_is_loading,
|
|
827
|
+
on_click: async () => {
|
|
828
|
+
load_more_is_loading = true
|
|
829
|
+
if (typeof config?.on_event == "function") {
|
|
830
|
+
const res = await config?.on_event({
|
|
831
|
+
type: "load_more",
|
|
832
|
+
path: rows_data_from_variable_path,
|
|
833
|
+
})
|
|
834
|
+
if (res?.is_success) {
|
|
835
|
+
load_more_button_manager.success_trigger()
|
|
836
|
+
set_rows_prepped(columns_prepped)
|
|
837
|
+
is_more_to_load = res?.is_more_to_load
|
|
838
|
+
} else {
|
|
839
|
+
load_more_button_manager.error_trigger()
|
|
840
|
+
}
|
|
841
|
+
}
|
|
842
|
+
load_more_is_loading = false
|
|
843
|
+
},
|
|
844
|
+
})
|
|
845
|
+
pagination_manager = create_pagination_manager({
|
|
846
|
+
cur_page: () => cur_page_to_use,
|
|
847
|
+
total_pages: () => {
|
|
848
|
+
if (Array.isArray(row_indexes_display_order)) {
|
|
849
|
+
return Math.ceil(row_indexes_display_order.length / rows_per_page_dropdown_manager?.val)
|
|
850
|
+
} else {
|
|
851
|
+
return 1
|
|
852
|
+
}
|
|
853
|
+
},
|
|
854
|
+
on_change: (input) => (cur_page = input),
|
|
855
|
+
})
|
|
856
|
+
rows_per_page_dropdown_manager = create_dropdown_manager({
|
|
857
|
+
val: config?.rows_per_page ?? 100,
|
|
858
|
+
is_button_compressed: true,
|
|
859
|
+
target_width: 80,
|
|
860
|
+
options: [2, 10, 25, 50, 100, 250, 500, 1000, 2500, 5000],
|
|
861
|
+
})
|
|
862
|
+
sort_by_input_manager = create_sort_by_input_manager({
|
|
863
|
+
is_popover: true,
|
|
864
|
+
val: sort_by,
|
|
865
|
+
apply_sort: (input) => {
|
|
866
|
+
sort_by = input
|
|
867
|
+
},
|
|
868
|
+
save_server_sort: async (input) => {
|
|
869
|
+
if (typeof config?.on_event == "function") {
|
|
870
|
+
const res = await config?.on_event({
|
|
871
|
+
type: "update_table_server_sort",
|
|
872
|
+
input: input,
|
|
873
|
+
})
|
|
874
|
+
return res
|
|
875
|
+
}
|
|
876
|
+
},
|
|
877
|
+
get_defined_options: () => {
|
|
878
|
+
const defined_options = Object.keys(columns_prepped || {}).map((h) => ({ key: h, name: h }))
|
|
879
|
+
return defined_options
|
|
880
|
+
},
|
|
881
|
+
})
|
|
882
|
+
toggle_bulk_selectable_button_manager = create_button_manager({
|
|
883
|
+
type: "soft",
|
|
884
|
+
text: () => (is_bulk_select ? "Hide Bulk Select" : "Bulk Select"),
|
|
885
|
+
on_click: () => (is_bulk_select = !is_bulk_select),
|
|
886
|
+
})
|
|
887
|
+
insert_popover_manager = create_popover_manager({
|
|
888
|
+
type: "dropdown",
|
|
889
|
+
min_width: 180,
|
|
890
|
+
target_width: 200,
|
|
891
|
+
min_height: 160,
|
|
892
|
+
target_height: 160,
|
|
893
|
+
header: "Insert",
|
|
894
|
+
anchor_id: () => `button_${insert_popover_button_manager?.id}`,
|
|
895
|
+
})
|
|
896
|
+
insert_popover_button_manager = create_button_manager({
|
|
897
|
+
type: "soft",
|
|
898
|
+
text: "Insert",
|
|
899
|
+
is_compressed: true,
|
|
900
|
+
popover_target: () => `popover_${insert_popover_manager?.id}`,
|
|
901
|
+
})
|
|
902
|
+
preempt_insert_column_popover_manager = create_popover_manager({
|
|
903
|
+
type: "panel",
|
|
904
|
+
target_width: 600,
|
|
905
|
+
header: () => (column_edit_id ? `Edit Column ${column_edit_id}` : "Create Column"),
|
|
906
|
+
on_open: () => insert_popover_manager.close(),
|
|
907
|
+
})
|
|
908
|
+
preempt_insert_column_button_manager = create_button_manager({
|
|
909
|
+
type: "soft",
|
|
910
|
+
text_align: "left",
|
|
911
|
+
text: "Insert Column",
|
|
912
|
+
icon_deg: 90,
|
|
913
|
+
support_icon: "row_item",
|
|
914
|
+
popover_target: () => `popover_${preempt_insert_column_popover_manager?.id}`,
|
|
915
|
+
on_click: () => edit_column(),
|
|
916
|
+
})
|
|
917
|
+
preempt_insert_row_popover_manager = create_popover_manager({
|
|
918
|
+
type: "panel",
|
|
919
|
+
target_width: 600,
|
|
920
|
+
header: () => (typeof row_edit_index == "number" ? `Update Row ${row_edit_index}` : "Insert Row"),
|
|
921
|
+
on_open: () => insert_popover_manager.close(),
|
|
922
|
+
})
|
|
923
|
+
preempt_insert_row_button_manager = create_button_manager({
|
|
924
|
+
type: "soft",
|
|
925
|
+
text_align: "left",
|
|
926
|
+
text: "Insert Row",
|
|
927
|
+
support_icon: "row_item",
|
|
928
|
+
popover_target: () => `popover_${preempt_insert_row_popover_manager?.id}`,
|
|
929
|
+
on_click: () => edit_row(),
|
|
930
|
+
})
|
|
931
|
+
file_popover_manager = create_popover_manager({
|
|
932
|
+
type: "dropdown",
|
|
933
|
+
min_width: 180,
|
|
934
|
+
target_width: 200,
|
|
935
|
+
min_height: 160,
|
|
936
|
+
target_height: 200,
|
|
937
|
+
header: "File",
|
|
938
|
+
anchor_id: () => `button_${file_popover_button_manager?.id}`,
|
|
939
|
+
})
|
|
940
|
+
file_popover_button_manager = create_button_manager({
|
|
941
|
+
type: "soft",
|
|
942
|
+
text: "File",
|
|
943
|
+
support_icon: "file",
|
|
944
|
+
is_compressed: true,
|
|
945
|
+
popover_target: () => `popover_${file_popover_manager?.id}`,
|
|
946
|
+
})
|
|
947
|
+
copy_json_button_manager = create_button_manager({
|
|
948
|
+
type: "soft",
|
|
949
|
+
text_align: "left",
|
|
950
|
+
text: "Copy JSON",
|
|
951
|
+
support_icon: "clipboard",
|
|
952
|
+
is_success_animation: true,
|
|
953
|
+
on_click: () => copy_json(),
|
|
954
|
+
})
|
|
955
|
+
download_json_button_manager = create_button_manager({
|
|
956
|
+
type: "soft",
|
|
957
|
+
text_align: "left",
|
|
958
|
+
text: "Download JSON",
|
|
959
|
+
support_icon: "download",
|
|
960
|
+
is_success_animation: true,
|
|
961
|
+
on_click: () => download_json(),
|
|
962
|
+
})
|
|
963
|
+
download_csv_button_manager = create_button_manager({
|
|
964
|
+
type: "soft",
|
|
965
|
+
text_align: "left",
|
|
966
|
+
text: "Download CSV",
|
|
967
|
+
support_icon: "download",
|
|
968
|
+
is_success_animation: true,
|
|
969
|
+
on_click: () => download_csv(),
|
|
970
|
+
})
|
|
971
|
+
copy_structure_button_manager = create_button_manager({
|
|
972
|
+
type: "soft",
|
|
973
|
+
text_align: "left",
|
|
974
|
+
text: "Copy Structure",
|
|
975
|
+
support_icon: "clipboard",
|
|
976
|
+
is_success_animation: true,
|
|
977
|
+
on_click: () => copy_structure(),
|
|
978
|
+
})
|
|
979
|
+
prempt_bulk_upload_rows_popover_manager = create_popover_manager({
|
|
980
|
+
type: "panel",
|
|
981
|
+
target_width: 600,
|
|
982
|
+
header: "Bulk Upload and Insert Rows",
|
|
983
|
+
on_open: () => insert_popover_manager.close(),
|
|
984
|
+
})
|
|
985
|
+
prempt_bulk_upload_rows_popover_button_manager = create_button_manager({
|
|
986
|
+
type: "soft",
|
|
987
|
+
text_align: "left",
|
|
988
|
+
text: "Insert Bulk Rows",
|
|
989
|
+
support_icon: "row_item",
|
|
990
|
+
popover_target: () => `popover_${prempt_bulk_upload_rows_popover_manager?.id}`,
|
|
991
|
+
})
|
|
992
|
+
upload_rows_file_input_manager = create_file_input_manager({
|
|
993
|
+
label: "json or csv upload",
|
|
994
|
+
accept: ["application/json", "text/csv"],
|
|
995
|
+
is_multiselect: false,
|
|
996
|
+
is_drop_zone: false,
|
|
997
|
+
on_get_file: (input) => {
|
|
998
|
+
const reader = new FileReader()
|
|
999
|
+
reader.readAsText(input)
|
|
1000
|
+
reader.onload = function (event) {
|
|
1001
|
+
const file_content = event.target.result
|
|
1002
|
+
const file_type = input?.type
|
|
1003
|
+
if (file_type === "application/json") {
|
|
1004
|
+
bulk_insert_rows_prepared_data = JSON.parse(file_content)
|
|
1005
|
+
} else if (file_type === "text/csv") {
|
|
1006
|
+
bulk_insert_rows_prepared_data = csv_to_json(file_content)
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
1009
|
+
},
|
|
1010
|
+
})
|
|
1011
|
+
upload_rows_text_input_manager = create_text_input_manager({
|
|
1012
|
+
type: "text_area",
|
|
1013
|
+
label: "Data Input",
|
|
1014
|
+
max_length: 1000000,
|
|
1015
|
+
placeholder: '[{ "some_key": "some_value" }]',
|
|
1016
|
+
})
|
|
1017
|
+
upload_rows_prepare_text_button_manager = create_button_manager({
|
|
1018
|
+
is_disabled: () => !upload_rows_text_input_manager?.val,
|
|
1019
|
+
text: "Prepare Data",
|
|
1020
|
+
is_compressed: true,
|
|
1021
|
+
on_click: () => {
|
|
1022
|
+
if (typeof upload_rows_text_input_manager?.val === "string") {
|
|
1023
|
+
try {
|
|
1024
|
+
bulk_insert_rows_prepared_data = JSON.parse(upload_rows_text_input_manager?.val)
|
|
1025
|
+
} catch (e) {
|
|
1026
|
+
bulk_insert_rows_prepared_data = upload_rows_text_input_manager?.val
|
|
1027
|
+
}
|
|
1028
|
+
} else if (typeof upload_rows_text_input_manager?.val === "number") {
|
|
1029
|
+
bulk_insert_rows_prepared_data = upload_rows_text_input_manager?.val
|
|
1030
|
+
} else {
|
|
1031
|
+
bulk_insert_rows_prepared_data = deep_copy(upload_rows_text_input_manager?.val)
|
|
1032
|
+
}
|
|
1033
|
+
},
|
|
1034
|
+
})
|
|
1035
|
+
upload_rows_clear_prepared_data_button_manager = create_button_manager({
|
|
1036
|
+
type: "outlined",
|
|
1037
|
+
is_disabled: upload_rows_text_input_manager?.val,
|
|
1038
|
+
text: "Clear Prepare Data",
|
|
1039
|
+
is_compressed: true,
|
|
1040
|
+
on_click: () => {
|
|
1041
|
+
upload_rows_file_input_manager.clear_files()
|
|
1042
|
+
bulk_insert_rows_prepared_data = null
|
|
1043
|
+
},
|
|
1044
|
+
})
|
|
1045
|
+
let is_loading_bulk_insert_rows = $state(false)
|
|
1046
|
+
bulk_insert_rows_button_manager = create_button_manager({
|
|
1047
|
+
is_loading: () => is_loading_bulk_insert_rows,
|
|
1048
|
+
is_disabled: () => !bulk_insert_rows_prepared_data,
|
|
1049
|
+
text: "Bulk Insert Rows",
|
|
1050
|
+
on_click: async () => {
|
|
1051
|
+
is_loading_bulk_insert_rows = true
|
|
1052
|
+
if (typeof config?.on_event == "function") {
|
|
1053
|
+
const res = await config?.on_event({
|
|
1054
|
+
type: "bulk_insert_rows",
|
|
1055
|
+
rows: bulk_insert_rows_prepared_data,
|
|
1056
|
+
path: [...rows_data_from_variable_path, 0],
|
|
1057
|
+
})
|
|
1058
|
+
if (res?.is_success) {
|
|
1059
|
+
prempt_bulk_upload_rows_popover_manager.show_temp_message(
|
|
1060
|
+
"Successfully bulk inserted rows",
|
|
1061
|
+
"success",
|
|
1062
|
+
1800,
|
|
1063
|
+
true,
|
|
1064
|
+
() => {
|
|
1065
|
+
upload_rows_file_input_manager.clear_files()
|
|
1066
|
+
bulk_insert_rows_prepared_data = null
|
|
1067
|
+
upload_rows_text_input_manager.set_val(null)
|
|
1068
|
+
set_rows_prepped(columns_prepped)
|
|
1069
|
+
}
|
|
1070
|
+
)
|
|
1071
|
+
} else {
|
|
1072
|
+
prempt_bulk_upload_rows_popover_manager.show_temp_message("Error bulk inserting rows", "error", 1800, false)
|
|
1073
|
+
}
|
|
1074
|
+
}
|
|
1075
|
+
is_loading_bulk_insert_rows = false
|
|
1076
|
+
},
|
|
1077
|
+
})
|
|
1078
|
+
bulk_select_all_rows_toggle_checkbox_manager = create_checkbox_manager({
|
|
1079
|
+
val: false,
|
|
1080
|
+
mt: 0.2,
|
|
1081
|
+
ml: 0.2,
|
|
1082
|
+
mb: 0.2,
|
|
1083
|
+
on_change: (input) => bulk_select_all_rows_toggle(input),
|
|
1084
|
+
})
|
|
1085
|
+
settings_popover_manager = create_popover_manager({
|
|
1086
|
+
type: "dropdown",
|
|
1087
|
+
target_width: 260,
|
|
1088
|
+
target_height: 300,
|
|
1089
|
+
anchor_id: () => `button_${settings_popover_toggle_button_manager?.id}`,
|
|
1090
|
+
})
|
|
1091
|
+
settings_popover_toggle_button_manager = create_button_manager({
|
|
1092
|
+
type: "soft",
|
|
1093
|
+
support_icon: "three_dots",
|
|
1094
|
+
icon_sw: 70,
|
|
1095
|
+
is_uniform: true,
|
|
1096
|
+
popover_target: () => `popover_${settings_popover_manager?.id}`,
|
|
1097
|
+
})
|
|
1098
|
+
let is_loading_update_table_name = $state(false)
|
|
1099
|
+
settings_update_table_name_text_input_manager = create_text_input_manager({
|
|
1100
|
+
is_popover: true,
|
|
1101
|
+
popover_header: "Edit Table Name",
|
|
1102
|
+
placeholder: "Table Name",
|
|
1103
|
+
val: table_name,
|
|
1104
|
+
update_button_text: "Update Table Name",
|
|
1105
|
+
is_loading: () => is_loading_update_table_name,
|
|
1106
|
+
on_finish: async (input) => {
|
|
1107
|
+
if (typeof config?.on_event == "function") {
|
|
1108
|
+
is_loading_update_table_name = true
|
|
1109
|
+
const res = await config?.on_event({
|
|
1110
|
+
type: "update_table_name",
|
|
1111
|
+
table_name: input,
|
|
1112
|
+
path: rows_data_from_variable_path,
|
|
1113
|
+
})
|
|
1114
|
+
if (res?.is_success) {
|
|
1115
|
+
table_name = res?.table_name
|
|
1116
|
+
settings_update_table_name_text_input_manager.popover_manager.show_temp_message(
|
|
1117
|
+
"Successfully updated table name",
|
|
1118
|
+
"success"
|
|
1119
|
+
)
|
|
1120
|
+
} else {
|
|
1121
|
+
console.log("error updating table name")
|
|
1122
|
+
settings_update_table_name_text_input_manager.popover_manager.show_temp_message(
|
|
1123
|
+
"Error updating table name",
|
|
1124
|
+
"error",
|
|
1125
|
+
1800,
|
|
1126
|
+
false
|
|
1127
|
+
)
|
|
1128
|
+
}
|
|
1129
|
+
is_loading_update_table_name = false
|
|
1130
|
+
return res
|
|
1131
|
+
}
|
|
1132
|
+
},
|
|
1133
|
+
})
|
|
1134
|
+
settings_update_table_name_button_manager = create_button_manager({
|
|
1135
|
+
type: "soft",
|
|
1136
|
+
support_icon: "edit",
|
|
1137
|
+
is_uniform: true,
|
|
1138
|
+
border_radius: 0.5,
|
|
1139
|
+
aria_label: "edit",
|
|
1140
|
+
icon_sw: 40,
|
|
1141
|
+
min_height: 2.4,
|
|
1142
|
+
popover_target: () => `popover_${settings_update_table_name_text_input_manager?.popover_manager?.id}`,
|
|
1143
|
+
})
|
|
1144
|
+
let is_loading_update_table_description = $state(false)
|
|
1145
|
+
settings_update_table_description_text_input_manager = create_text_input_manager({
|
|
1146
|
+
is_popover: true,
|
|
1147
|
+
popover_header: "Edit Table Description",
|
|
1148
|
+
placeholder: "Some Table Description",
|
|
1149
|
+
val: table_description,
|
|
1150
|
+
update_button_text: "Update Table Description",
|
|
1151
|
+
is_loading: () => is_loading_update_table_description,
|
|
1152
|
+
on_finish: async (input) => {
|
|
1153
|
+
if (typeof config?.on_event == "function") {
|
|
1154
|
+
is_loading_update_table_description = true
|
|
1155
|
+
const res = await config?.on_event({
|
|
1156
|
+
type: "update_table_description",
|
|
1157
|
+
table_description: input,
|
|
1158
|
+
path: rows_data_from_variable_path,
|
|
1159
|
+
})
|
|
1160
|
+
if (res?.is_success) {
|
|
1161
|
+
table_description = res?.table_description
|
|
1162
|
+
settings_update_table_description_text_input_manager.popover_manager.show_temp_message(
|
|
1163
|
+
"Successfully updated table description",
|
|
1164
|
+
"success"
|
|
1165
|
+
)
|
|
1166
|
+
} else {
|
|
1167
|
+
console.log("error updating table description")
|
|
1168
|
+
settings_update_table_description_text_input_manager.popover_manager.show_temp_message(
|
|
1169
|
+
"Error updating table name",
|
|
1170
|
+
"error",
|
|
1171
|
+
1800,
|
|
1172
|
+
false
|
|
1173
|
+
)
|
|
1174
|
+
}
|
|
1175
|
+
is_loading_update_table_description = false
|
|
1176
|
+
return res
|
|
1177
|
+
}
|
|
1178
|
+
},
|
|
1179
|
+
})
|
|
1180
|
+
settings_update_table_description_button_manager = create_button_manager({
|
|
1181
|
+
type: "soft",
|
|
1182
|
+
support_icon: "edit",
|
|
1183
|
+
is_uniform: true,
|
|
1184
|
+
border_radius: 0.5,
|
|
1185
|
+
aria_label: "edit",
|
|
1186
|
+
icon_sw: 40,
|
|
1187
|
+
min_height: 2.4,
|
|
1188
|
+
popover_target: () => `popover_${settings_update_table_description_text_input_manager?.popover_manager?.id}`,
|
|
1189
|
+
})
|
|
1190
|
+
settings_copy_row_json_schema_button_manager = create_button_manager({
|
|
1191
|
+
type: "outlined",
|
|
1192
|
+
text: "Copy Row JSON Schema",
|
|
1193
|
+
is_success_animation: true,
|
|
1194
|
+
support_icon: "clipboard",
|
|
1195
|
+
mb: 1,
|
|
1196
|
+
on_click: () => copy_to_clipboard(row_json_schema),
|
|
1197
|
+
})
|
|
1198
|
+
settings_copy_rows_json_schema_button_manager = create_button_manager({
|
|
1199
|
+
type: "outlined",
|
|
1200
|
+
text: "Copy Rows JSON Schema",
|
|
1201
|
+
is_success_animation: true,
|
|
1202
|
+
support_icon: "clipboard",
|
|
1203
|
+
on_click: () =>
|
|
1204
|
+
copy_to_clipboard({
|
|
1205
|
+
type: "array",
|
|
1206
|
+
items: row_json_schema,
|
|
1207
|
+
}),
|
|
1208
|
+
})
|
|
1209
|
+
let delete_table_is_loading = $state(false)
|
|
1210
|
+
settings_delete_table_popover_manager = create_popover_manager({
|
|
1211
|
+
type: "center",
|
|
1212
|
+
min_width: 280,
|
|
1213
|
+
target_width: 300,
|
|
1214
|
+
min_height: 280,
|
|
1215
|
+
target_height: 300,
|
|
1216
|
+
header: "Are You Sure?",
|
|
1217
|
+
})
|
|
1218
|
+
settings_preempt_delete_table_popover_button_manager = create_button_manager({
|
|
1219
|
+
type: "outlined",
|
|
1220
|
+
support_icon: "trashcan",
|
|
1221
|
+
color: "var(--error-t)",
|
|
1222
|
+
is_compressed: true,
|
|
1223
|
+
text: "Delete Table",
|
|
1224
|
+
mt: 5,
|
|
1225
|
+
is_loading: () => delete_table_is_loading,
|
|
1226
|
+
popover_target: `popover_${settings_delete_table_popover_manager?.id}`,
|
|
1227
|
+
})
|
|
1228
|
+
settings_copy_table_id_button_manager = create_button_manager({
|
|
1229
|
+
type: "outlined",
|
|
1230
|
+
is_uniform: true,
|
|
1231
|
+
is_success_animation: true,
|
|
1232
|
+
support_icon: "clipboard",
|
|
1233
|
+
on_click: () => copy_to_clipboard(table_id),
|
|
1234
|
+
})
|
|
1235
|
+
settings_delete_table_button_manager = create_button_manager({
|
|
1236
|
+
color: "var(--error-t)",
|
|
1237
|
+
text: "Delete Table",
|
|
1238
|
+
mb: 1,
|
|
1239
|
+
is_loading: () => delete_table_is_loading,
|
|
1240
|
+
on_click: async () => {
|
|
1241
|
+
delete_table_is_loading = true
|
|
1242
|
+
if (typeof config?.on_event == "function") {
|
|
1243
|
+
const res = await config?.on_event({
|
|
1244
|
+
type: "delete_table",
|
|
1245
|
+
path: rows_data_from_variable_path,
|
|
1246
|
+
})
|
|
1247
|
+
if (res?.is_success) {
|
|
1248
|
+
settings_delete_table_popover_manager.show_temp_message(res?.message ?? "Successfully Deleted Table")
|
|
1249
|
+
if (typeof res?.finish == "function") {
|
|
1250
|
+
res?.finish()
|
|
1251
|
+
}
|
|
1252
|
+
} else {
|
|
1253
|
+
// error_message
|
|
1254
|
+
settings_delete_table_popover_manager.show_temp_message(res?.message ?? "Error deleting table", "error")
|
|
1255
|
+
}
|
|
1256
|
+
}
|
|
1257
|
+
delete_table_is_loading = false
|
|
1258
|
+
},
|
|
1259
|
+
})
|
|
1260
|
+
settings_delete_table_cancel_button_manager = create_button_manager({
|
|
1261
|
+
type: "outlined",
|
|
1262
|
+
text: "Cancel",
|
|
1263
|
+
on_click: () => settings_delete_table_popover_manager.close(),
|
|
1264
|
+
})
|
|
1265
|
+
let bulk_delete_rows_is_loading = $state(false)
|
|
1266
|
+
bulk_delete_rows_popover_manager = create_popover_manager({
|
|
1267
|
+
type: "center",
|
|
1268
|
+
min_width: 280,
|
|
1269
|
+
target_width: 300,
|
|
1270
|
+
min_height: 280,
|
|
1271
|
+
target_height: 300,
|
|
1272
|
+
header: "Are You Sure?",
|
|
1273
|
+
})
|
|
1274
|
+
bulk_delete_rows_popover_button_manager = create_button_manager({
|
|
1275
|
+
type: "outlined",
|
|
1276
|
+
support_icon: "trashcan",
|
|
1277
|
+
color: "var(--error-t)",
|
|
1278
|
+
is_compressed: true,
|
|
1279
|
+
text: () => `Delete ${Array.isArray(row_indexes_bulk_selected) ? row_indexes_bulk_selected.length : ""} rows`,
|
|
1280
|
+
is_disabled: () => !(Array.isArray(row_indexes_bulk_selected) && row_indexes_bulk_selected.length > 0),
|
|
1281
|
+
is_loading: () => bulk_delete_rows_is_loading,
|
|
1282
|
+
popover_target: `popover_${bulk_delete_rows_popover_manager?.id}`,
|
|
1283
|
+
})
|
|
1284
|
+
bulk_delete_rows_button_manager = create_button_manager({
|
|
1285
|
+
color: "var(--error-t)",
|
|
1286
|
+
text: () => `Delete ${Array.isArray(row_indexes_bulk_selected) ? row_indexes_bulk_selected.length : "0"} rows`,
|
|
1287
|
+
mb: 1,
|
|
1288
|
+
is_disabled: () => !(Array.isArray(row_indexes_bulk_selected) && row_indexes_bulk_selected.length > 0),
|
|
1289
|
+
is_loading: () => bulk_delete_rows_is_loading,
|
|
1290
|
+
on_click: async () => {
|
|
1291
|
+
bulk_delete_rows_is_loading = true
|
|
1292
|
+
if (typeof config?.on_event == "function") {
|
|
1293
|
+
const res = await config?.on_event({
|
|
1294
|
+
type: "bulk_delete_rows",
|
|
1295
|
+
row_indexes: row_indexes_bulk_selected,
|
|
1296
|
+
path: rows_data_from_variable_path,
|
|
1297
|
+
})
|
|
1298
|
+
if (res?.is_success) {
|
|
1299
|
+
bulk_delete_rows_popover_manager.show_temp_message(
|
|
1300
|
+
res?.message ?? "Successfully Deleted Rows",
|
|
1301
|
+
"success",
|
|
1302
|
+
1800,
|
|
1303
|
+
true,
|
|
1304
|
+
() => {
|
|
1305
|
+
set_rows_prepped(columns_prepped)
|
|
1306
|
+
}
|
|
1307
|
+
)
|
|
1308
|
+
} else {
|
|
1309
|
+
// error_message
|
|
1310
|
+
bulk_delete_rows_popover_manager.show_temp_message(res?.message ?? "Error deleting rows", "error")
|
|
1311
|
+
}
|
|
1312
|
+
}
|
|
1313
|
+
bulk_delete_rows_is_loading = false
|
|
1314
|
+
},
|
|
1315
|
+
})
|
|
1316
|
+
bulk_delete_rows_cancel_button_manager = create_button_manager({
|
|
1317
|
+
type: "outlined",
|
|
1318
|
+
text: "Cancel",
|
|
1319
|
+
on_click: () => bulk_delete_rows_popover_manager.close(),
|
|
1320
|
+
})
|
|
1321
|
+
edit_column()
|
|
1322
|
+
}
|
|
1323
|
+
|
|
1324
|
+
init(config)
|
|
1325
|
+
|
|
1326
|
+
return {
|
|
1327
|
+
id,
|
|
1328
|
+
get table_id() {
|
|
1329
|
+
return table_id
|
|
1330
|
+
},
|
|
1331
|
+
get table_name() {
|
|
1332
|
+
return table_name
|
|
1333
|
+
},
|
|
1334
|
+
get table_description() {
|
|
1335
|
+
return table_description
|
|
1336
|
+
},
|
|
1337
|
+
get is_data_editable() {
|
|
1338
|
+
return is_data_editable
|
|
1339
|
+
},
|
|
1340
|
+
get nav_items() {
|
|
1341
|
+
return nav_items
|
|
1342
|
+
},
|
|
1343
|
+
get is_paginate() {
|
|
1344
|
+
return is_paginate
|
|
1345
|
+
},
|
|
1346
|
+
get table_header_max_height() {
|
|
1347
|
+
return table_header_max_height
|
|
1348
|
+
},
|
|
1349
|
+
get table_row_max_height() {
|
|
1350
|
+
return table_row_max_height
|
|
1351
|
+
},
|
|
1352
|
+
get table_search_text_input_manager() {
|
|
1353
|
+
return table_search_text_input_manager
|
|
1354
|
+
},
|
|
1355
|
+
get is_more_to_load() {
|
|
1356
|
+
return is_more_to_load
|
|
1357
|
+
},
|
|
1358
|
+
get load_more_button_manager() {
|
|
1359
|
+
return load_more_button_manager
|
|
1360
|
+
},
|
|
1361
|
+
get pagination_manager() {
|
|
1362
|
+
return pagination_manager
|
|
1363
|
+
},
|
|
1364
|
+
get rows_per_page_dropdown_manager() {
|
|
1365
|
+
return rows_per_page_dropdown_manager
|
|
1366
|
+
},
|
|
1367
|
+
get sort_by_input_manager() {
|
|
1368
|
+
return sort_by_input_manager
|
|
1369
|
+
},
|
|
1370
|
+
get insert_popover_manager() {
|
|
1371
|
+
return insert_popover_manager
|
|
1372
|
+
},
|
|
1373
|
+
get insert_popover_button_manager() {
|
|
1374
|
+
return insert_popover_button_manager
|
|
1375
|
+
},
|
|
1376
|
+
get preempt_insert_column_popover_manager() {
|
|
1377
|
+
return preempt_insert_column_popover_manager
|
|
1378
|
+
},
|
|
1379
|
+
get preempt_insert_column_button_manager() {
|
|
1380
|
+
return preempt_insert_column_button_manager
|
|
1381
|
+
},
|
|
1382
|
+
get preempt_insert_row_button_manager() {
|
|
1383
|
+
return preempt_insert_row_button_manager
|
|
1384
|
+
},
|
|
1385
|
+
get file_popover_manager() {
|
|
1386
|
+
return file_popover_manager
|
|
1387
|
+
},
|
|
1388
|
+
get file_popover_button_manager() {
|
|
1389
|
+
return file_popover_button_manager
|
|
1390
|
+
},
|
|
1391
|
+
get copy_json_button_manager() {
|
|
1392
|
+
return copy_json_button_manager
|
|
1393
|
+
},
|
|
1394
|
+
get download_json_button_manager() {
|
|
1395
|
+
return download_json_button_manager
|
|
1396
|
+
},
|
|
1397
|
+
get download_csv_button_manager() {
|
|
1398
|
+
return download_csv_button_manager
|
|
1399
|
+
},
|
|
1400
|
+
get copy_structure_button_manager() {
|
|
1401
|
+
return copy_structure_button_manager
|
|
1402
|
+
},
|
|
1403
|
+
get prempt_bulk_upload_rows_popover_button_manager() {
|
|
1404
|
+
return prempt_bulk_upload_rows_popover_button_manager
|
|
1405
|
+
},
|
|
1406
|
+
get prempt_bulk_upload_rows_popover_manager() {
|
|
1407
|
+
return prempt_bulk_upload_rows_popover_manager
|
|
1408
|
+
},
|
|
1409
|
+
get upload_rows_file_input_manager() {
|
|
1410
|
+
return upload_rows_file_input_manager
|
|
1411
|
+
},
|
|
1412
|
+
get upload_rows_text_input_manager() {
|
|
1413
|
+
return upload_rows_text_input_manager
|
|
1414
|
+
},
|
|
1415
|
+
get upload_rows_prepare_text_button_manager() {
|
|
1416
|
+
return upload_rows_prepare_text_button_manager
|
|
1417
|
+
},
|
|
1418
|
+
get upload_rows_clear_prepared_data_button_manager() {
|
|
1419
|
+
return upload_rows_clear_prepared_data_button_manager
|
|
1420
|
+
},
|
|
1421
|
+
get bulk_insert_rows_error_message() {
|
|
1422
|
+
return bulk_insert_rows_error_message
|
|
1423
|
+
},
|
|
1424
|
+
get bulk_insert_rows_button_manager() {
|
|
1425
|
+
return bulk_insert_rows_button_manager
|
|
1426
|
+
},
|
|
1427
|
+
get bulk_insert_rows_prepared_data() {
|
|
1428
|
+
return bulk_insert_rows_prepared_data
|
|
1429
|
+
},
|
|
1430
|
+
get toggle_bulk_selectable_button_manager() {
|
|
1431
|
+
return toggle_bulk_selectable_button_manager
|
|
1432
|
+
},
|
|
1433
|
+
get is_bulk_select() {
|
|
1434
|
+
return is_bulk_select
|
|
1435
|
+
},
|
|
1436
|
+
get columns() {
|
|
1437
|
+
return columns
|
|
1438
|
+
},
|
|
1439
|
+
get config() {
|
|
1440
|
+
return config
|
|
1441
|
+
},
|
|
1442
|
+
get column_ids_display_order() {
|
|
1443
|
+
return column_ids_display_order
|
|
1444
|
+
},
|
|
1445
|
+
get row_indexes_display_order() {
|
|
1446
|
+
return row_indexes_display_order
|
|
1447
|
+
},
|
|
1448
|
+
get row_indexes_display_order_shown() {
|
|
1449
|
+
return row_indexes_display_order_shown
|
|
1450
|
+
},
|
|
1451
|
+
get rows_prepped() {
|
|
1452
|
+
return rows_prepped
|
|
1453
|
+
},
|
|
1454
|
+
get columns_prepped() {
|
|
1455
|
+
return columns_prepped
|
|
1456
|
+
},
|
|
1457
|
+
get bulk_select_all_rows_toggle_checkbox_manager() {
|
|
1458
|
+
return bulk_select_all_rows_toggle_checkbox_manager
|
|
1459
|
+
},
|
|
1460
|
+
get bulk_delete_rows_popover_manager() {
|
|
1461
|
+
return bulk_delete_rows_popover_manager
|
|
1462
|
+
},
|
|
1463
|
+
get bulk_delete_rows_popover_button_manager() {
|
|
1464
|
+
return bulk_delete_rows_popover_button_manager
|
|
1465
|
+
},
|
|
1466
|
+
get bulk_delete_rows_button_manager() {
|
|
1467
|
+
return bulk_delete_rows_button_manager
|
|
1468
|
+
},
|
|
1469
|
+
get bulk_delete_rows_cancel_button_manager() {
|
|
1470
|
+
return bulk_delete_rows_cancel_button_manager
|
|
1471
|
+
},
|
|
1472
|
+
get row_indexes_bulk_selected() {
|
|
1473
|
+
return row_indexes_bulk_selected
|
|
1474
|
+
},
|
|
1475
|
+
get column_edit_id() {
|
|
1476
|
+
return column_edit_id
|
|
1477
|
+
},
|
|
1478
|
+
get column_edit_input_manager() {
|
|
1479
|
+
return column_edit_input_manager
|
|
1480
|
+
},
|
|
1481
|
+
get column_edit_upsert_column_button_manager() {
|
|
1482
|
+
return column_edit_upsert_column_button_manager
|
|
1483
|
+
},
|
|
1484
|
+
get preempt_insert_row_popover_manager() {
|
|
1485
|
+
return preempt_insert_row_popover_manager
|
|
1486
|
+
},
|
|
1487
|
+
get row_edit_index() {
|
|
1488
|
+
return row_edit_index
|
|
1489
|
+
},
|
|
1490
|
+
get row_edit_content_manager() {
|
|
1491
|
+
return row_edit_content_manager
|
|
1492
|
+
},
|
|
1493
|
+
get row_edit_upsert_row_button_manager() {
|
|
1494
|
+
return row_edit_upsert_row_button_manager
|
|
1495
|
+
},
|
|
1496
|
+
get row_edit_delete_row_are_you_sure_popover_manager() {
|
|
1497
|
+
return row_edit_delete_row_are_you_sure_popover_manager
|
|
1498
|
+
},
|
|
1499
|
+
get row_edit_delete_row_are_you_sure_popover_toggle_button_manager() {
|
|
1500
|
+
return row_edit_delete_row_are_you_sure_popover_toggle_button_manager
|
|
1501
|
+
},
|
|
1502
|
+
get row_edit_delete_row_button_manager() {
|
|
1503
|
+
return row_edit_delete_row_button_manager
|
|
1504
|
+
},
|
|
1505
|
+
get row_edit_delete_row_cancel_button_manager() {
|
|
1506
|
+
return row_edit_delete_row_cancel_button_manager
|
|
1507
|
+
},
|
|
1508
|
+
get is_loading_rows() {
|
|
1509
|
+
return is_loading_rows
|
|
1510
|
+
},
|
|
1511
|
+
get loading_rows_progress() {
|
|
1512
|
+
return loading_rows_progress
|
|
1513
|
+
},
|
|
1514
|
+
get settings_popover_manager() {
|
|
1515
|
+
return settings_popover_manager
|
|
1516
|
+
},
|
|
1517
|
+
get settings_popover_toggle_button_manager() {
|
|
1518
|
+
return settings_popover_toggle_button_manager
|
|
1519
|
+
},
|
|
1520
|
+
get settings_update_table_name_button_manager() {
|
|
1521
|
+
return settings_update_table_name_button_manager
|
|
1522
|
+
},
|
|
1523
|
+
get settings_update_table_name_text_input_manager() {
|
|
1524
|
+
return settings_update_table_name_text_input_manager
|
|
1525
|
+
},
|
|
1526
|
+
get settings_update_table_description_button_manager() {
|
|
1527
|
+
return settings_update_table_description_button_manager
|
|
1528
|
+
},
|
|
1529
|
+
get settings_update_table_description_text_input_manager() {
|
|
1530
|
+
return settings_update_table_description_text_input_manager
|
|
1531
|
+
},
|
|
1532
|
+
get settings_copy_row_json_schema_button_manager() {
|
|
1533
|
+
return settings_copy_row_json_schema_button_manager
|
|
1534
|
+
},
|
|
1535
|
+
get settings_copy_rows_json_schema_button_manager() {
|
|
1536
|
+
return settings_copy_rows_json_schema_button_manager
|
|
1537
|
+
},
|
|
1538
|
+
get settings_preempt_delete_table_popover_button_manager() {
|
|
1539
|
+
return settings_preempt_delete_table_popover_button_manager
|
|
1540
|
+
},
|
|
1541
|
+
get settings_delete_table_popover_manager() {
|
|
1542
|
+
return settings_delete_table_popover_manager
|
|
1543
|
+
},
|
|
1544
|
+
get settings_delete_table_cancel_button_manager() {
|
|
1545
|
+
return settings_delete_table_cancel_button_manager
|
|
1546
|
+
},
|
|
1547
|
+
get settings_copy_table_id_button_manager() {
|
|
1548
|
+
return settings_copy_table_id_button_manager
|
|
1549
|
+
},
|
|
1550
|
+
get settings_delete_table_button_manager() {
|
|
1551
|
+
return settings_delete_table_button_manager
|
|
1552
|
+
},
|
|
1553
|
+
init,
|
|
1554
|
+
set_table_search_text_input,
|
|
1555
|
+
set_rows_prepped,
|
|
1556
|
+
set_columns_prepped,
|
|
1557
|
+
copy_json,
|
|
1558
|
+
download_json,
|
|
1559
|
+
download_csv,
|
|
1560
|
+
copy_structure,
|
|
1561
|
+
set_attributes,
|
|
1562
|
+
reset_definition_stack,
|
|
1563
|
+
set_columns,
|
|
1564
|
+
}
|
|
1565
|
+
}
|