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