xmlui 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Pdf-DeGhSMXe.mjs +19537 -0
- package/dist/Pdf.css +1 -0
- package/dist/apiInterceptorWorker-CwuUhYyc.mjs +9229 -0
- package/dist/array-USo-Szhp.mjs +12 -0
- package/dist/index-C24dkfpd.mjs +1434 -0
- package/dist/index-ao27SnVp.mjs +145185 -0
- package/dist/index.css +1 -0
- package/dist/nivo-bar.es-CWh0ZlxB.mjs +1666 -0
- package/dist/nivo-geo.es-BTqNt5Db.mjs +1579 -0
- package/dist/nivo-legends.es-BuIxHGSU.mjs +6916 -0
- package/dist/nivo-pie.es-BvCBFA0L.mjs +700 -0
- package/dist/react-apexcharts.min-DqWuDOyO.mjs +8881 -0
- package/dist/scripts/bin/bootstrap.js +11 -0
- package/dist/scripts/bin/build.js +256 -0
- package/dist/scripts/bin/index.js +88 -0
- package/dist/scripts/bin/preview.js +27 -0
- package/dist/scripts/bin/start.js +41 -0
- package/dist/scripts/bin/vite-ueml-plugin.js +113 -0
- package/dist/scripts/bin/viteConfig.js +112 -0
- package/dist/scripts/src/abstractions/ActionDefs.js +2 -0
- package/dist/scripts/src/abstractions/AppContextDefs.js +2 -0
- package/dist/scripts/src/abstractions/BlockScope.js +4 -0
- package/dist/scripts/src/abstractions/ComponentDefs.js +2 -0
- package/dist/scripts/src/abstractions/ComponentDescriptorDefs.js +2 -0
- package/dist/scripts/src/abstractions/ContainerDefs.js +2 -0
- package/dist/scripts/src/abstractions/FunctionDefs.js +2 -0
- package/dist/scripts/src/abstractions/RendererDefs.js +2 -0
- package/dist/scripts/src/abstractions/scripting/ScriptParserError.js +2 -0
- package/dist/scripts/src/abstractions/scripting/ScriptingSourceTree.js +2 -0
- package/dist/scripts/src/abstractions/scripting/Token.js +110 -0
- package/dist/scripts/src/components/App/App.js +253 -0
- package/dist/scripts/src/components/App/AppLayoutContext.js +9 -0
- package/dist/scripts/src/components/App/AppStateContext.js +9 -0
- package/dist/scripts/src/components/App/Sheet.js +89 -0
- package/dist/scripts/src/components/AppHeader/AppHeader.js +121 -0
- package/dist/scripts/src/components/AppState/AppState.js +29 -0
- package/dist/scripts/src/components/Avatar/Avatar.js +81 -0
- package/dist/scripts/src/components/Badge/Badge.js +56 -0
- package/dist/scripts/src/components/BarChart/BarChart.js +199 -0
- package/dist/scripts/src/components/Bookmark/Bookmark.js +11 -0
- package/dist/scripts/src/components/Button/Button.js +196 -0
- package/dist/scripts/src/components/Card/Card.js +65 -0
- package/dist/scripts/src/components/ChangeListener/ChangeListener.js +43 -0
- package/dist/scripts/src/components/Chart/Chart.js +158 -0
- package/dist/scripts/src/components/Checkbox/Checkbox.js +43 -0
- package/dist/scripts/src/components/Combobox/Combobox.js +145 -0
- package/dist/scripts/src/components/ComponentProvider.js +357 -0
- package/dist/scripts/src/components/ContentSeparator/ContentSeparator.js +40 -0
- package/dist/scripts/src/components/DatePicker/DatePicker.js +196 -0
- package/dist/scripts/src/components/DropdownMenu/DropdownMenu.js +175 -0
- package/dist/scripts/src/components/EmojiSelector/EmojiSelector.js +56 -0
- package/dist/scripts/src/components/FileInput/FileInput.js +127 -0
- package/dist/scripts/src/components/FileUploadDropZone/FileUploadDropZone.js +106 -0
- package/dist/scripts/src/components/FlowLayout/FlowLayout.js +139 -0
- package/dist/scripts/src/components/Footer/Footer.js +42 -0
- package/dist/scripts/src/components/Form/Form.js +320 -0
- package/dist/scripts/src/components/Form/FormContext.js +9 -0
- package/dist/scripts/src/components/Form/formActions.js +86 -0
- package/dist/scripts/src/components/FormItem/FormItem.js +204 -0
- package/dist/scripts/src/components/FormItem/HelperText.js +27 -0
- package/dist/scripts/src/components/FormItem/ItemWithLabel.js +39 -0
- package/dist/scripts/src/components/FormItem/Validations.js +346 -0
- package/dist/scripts/src/components/FormSection/FormSection.js +45 -0
- package/dist/scripts/src/components/Heading/Heading.js +206 -0
- package/dist/scripts/src/components/HoverCard/HoverCard.js +45 -0
- package/dist/scripts/src/components/Icon/ApiIcon.js +10 -0
- package/dist/scripts/src/components/Icon/Attach.js +10 -0
- package/dist/scripts/src/components/Icon/Binding.js +11 -0
- package/dist/scripts/src/components/Icon/BoardIcon.js +7 -0
- package/dist/scripts/src/components/Icon/BoxIcon.js +10 -0
- package/dist/scripts/src/components/Icon/CheckIcon.js +7 -0
- package/dist/scripts/src/components/Icon/ChevronDownIcon.js +7 -0
- package/dist/scripts/src/components/Icon/ChevronLeft.js +7 -0
- package/dist/scripts/src/components/Icon/ChevronRight.js +7 -0
- package/dist/scripts/src/components/Icon/ChevronUpIcon.js +7 -0
- package/dist/scripts/src/components/Icon/CodeFileIcon.js +10 -0
- package/dist/scripts/src/components/Icon/CodeSandbox.js +10 -0
- package/dist/scripts/src/components/Icon/CompactListIcon.js +7 -0
- package/dist/scripts/src/components/Icon/ContentCopyIcon.js +7 -0
- package/dist/scripts/src/components/Icon/DatabaseIcon.js +11 -0
- package/dist/scripts/src/components/Icon/DocFileIcon.js +10 -0
- package/dist/scripts/src/components/Icon/DocIcon.js +10 -0
- package/dist/scripts/src/components/Icon/DotMenuHorizontalIcon.js +7 -0
- package/dist/scripts/src/components/Icon/DotMenuIcon.js +7 -0
- package/dist/scripts/src/components/Icon/EmailIcon.js +7 -0
- package/dist/scripts/src/components/Icon/EmptyFolderIcon.js +10 -0
- package/dist/scripts/src/components/Icon/ErrorIcon.js +7 -0
- package/dist/scripts/src/components/Icon/ExpressionIcon.js +10 -0
- package/dist/scripts/src/components/Icon/FillPlusCricleIcon.js +7 -0
- package/dist/scripts/src/components/Icon/FilterIcon.js +10 -0
- package/dist/scripts/src/components/Icon/FolderIcon.js +10 -0
- package/dist/scripts/src/components/Icon/GlobeIcon.js +7 -0
- package/dist/scripts/src/components/Icon/HomeIcon.js +7 -0
- package/dist/scripts/src/components/Icon/HyperLinkIcon.js +7 -0
- package/dist/scripts/src/components/Icon/Icon.js +101 -0
- package/dist/scripts/src/components/Icon/ImageFileIcon.js +10 -0
- package/dist/scripts/src/components/Icon/LinkIcon.js +7 -0
- package/dist/scripts/src/components/Icon/ListIcon.js +7 -0
- package/dist/scripts/src/components/Icon/LooseListIcon.js +7 -0
- package/dist/scripts/src/components/Icon/MoonIcon.js +10 -0
- package/dist/scripts/src/components/Icon/MoreOptionsIcon.js +7 -0
- package/dist/scripts/src/components/Icon/PDFIcon.js +10 -0
- package/dist/scripts/src/components/Icon/PenIcon.js +7 -0
- package/dist/scripts/src/components/Icon/PhoneIcon.js +7 -0
- package/dist/scripts/src/components/Icon/PhotoIcon.js +10 -0
- package/dist/scripts/src/components/Icon/PlusIcon.js +7 -0
- package/dist/scripts/src/components/Icon/SearchIcon.js +7 -0
- package/dist/scripts/src/components/Icon/ShareIcon.js +10 -0
- package/dist/scripts/src/components/Icon/SunIcon.js +10 -0
- package/dist/scripts/src/components/Icon/TrashIcon.js +7 -0
- package/dist/scripts/src/components/Icon/TxtIcon.js +10 -0
- package/dist/scripts/src/components/Icon/UnknownFileIcon.js +10 -0
- package/dist/scripts/src/components/Icon/UnlinkIcon.js +10 -0
- package/dist/scripts/src/components/Icon/UserIcon.js +7 -0
- package/dist/scripts/src/components/Icon/WarningIcon.js +7 -0
- package/dist/scripts/src/components/Icon/XlsIcon.js +10 -0
- package/dist/scripts/src/components/IconProvider.js +249 -0
- package/dist/scripts/src/components/IconRegistryContext.js +307 -0
- package/dist/scripts/src/components/Image/Image.js +34 -0
- package/dist/scripts/src/components/Input/InputAdornment.js +14 -0
- package/dist/scripts/src/components/Input/input-abstractions.js +44 -0
- package/dist/scripts/src/components/Items/Items.js +48 -0
- package/dist/scripts/src/components/Link/Link.js +72 -0
- package/dist/scripts/src/components/List/List.js +442 -0
- package/dist/scripts/src/components/Logo/Logo.js +25 -0
- package/dist/scripts/src/components/Map/Map.js +60 -0
- package/dist/scripts/src/components/Map/world_countries.json +45307 -0
- package/dist/scripts/src/components/Markdown/Markdown.js +120 -0
- package/dist/scripts/src/components/ModalDialog/ConfirmationModalContextProvider.js +106 -0
- package/dist/scripts/src/components/ModalDialog/Dialog.js +20 -0
- package/dist/scripts/src/components/ModalDialog/ModalDialog.js +145 -0
- package/dist/scripts/src/components/MultiCombobox/MultiCombobox.js +249 -0
- package/dist/scripts/src/components/MultiSelect/MultiSelect.js +192 -0
- package/dist/scripts/src/components/NavGroup/NavGroup.js +113 -0
- package/dist/scripts/src/components/NavLink/NavLink.js +115 -0
- package/dist/scripts/src/components/NavPanel/NavPanel.js +101 -0
- package/dist/scripts/src/components/NoResult/NoResult.js +39 -0
- package/dist/scripts/src/components/NumberBox/NumberBox.js +373 -0
- package/dist/scripts/src/components/Option/Option.js +41 -0
- package/dist/scripts/src/components/PageMetaTitle/PageMetaTitle.js +22 -0
- package/dist/scripts/src/components/Pages/Pages.js +74 -0
- package/dist/scripts/src/components/Pdf/LazyPdf.js +44 -0
- package/dist/scripts/src/components/Pdf/Pdf.js +19 -0
- package/dist/scripts/src/components/PieChart/PieChart.js +184 -0
- package/dist/scripts/src/components/PositionedContainer/PositionedContainer.js +29 -0
- package/dist/scripts/src/components/ProgressBar/ProgressBar.js +38 -0
- package/dist/scripts/src/components/Queue/Queue.js +286 -0
- package/dist/scripts/src/components/Queue/queueActions.js +87 -0
- package/dist/scripts/src/components/RadioGroup/RadioGroup.js +144 -0
- package/dist/scripts/src/components/RealTimeAdapter/RealTimeAdapter.js +147 -0
- package/dist/scripts/src/components/Redirect/Redirect.js +10 -0
- package/dist/scripts/src/components/Select/Select.js +139 -0
- package/dist/scripts/src/components/Select/SelectContext.js +45 -0
- package/dist/scripts/src/components/SelectionStore/SelectionStore.js +88 -0
- package/dist/scripts/src/components/SpaceFiller/SpaceFiller.js +22 -0
- package/dist/scripts/src/components/Spinner/Spinner.js +59 -0
- package/dist/scripts/src/components/Splitter/Splitter.js +205 -0
- package/dist/scripts/src/components/Splitter/utils.js +17 -0
- package/dist/scripts/src/components/Stack/Stack.js +117 -0
- package/dist/scripts/src/components/StickyBox/StickyBox.js +33 -0
- package/dist/scripts/src/components/Switch/Switch.js +50 -0
- package/dist/scripts/src/components/Table/Table.js +499 -0
- package/dist/scripts/src/components/Table/useRowSelection.js +169 -0
- package/dist/scripts/src/components/TableColumnDef/TableColumnDef.js +44 -0
- package/dist/scripts/src/components/TableColumnDef/TableContext.js +12 -0
- package/dist/scripts/src/components/Tabs/Tabs.js +85 -0
- package/dist/scripts/src/components/Text/Text.js +175 -0
- package/dist/scripts/src/components/TextArea/TextArea.js +194 -0
- package/dist/scripts/src/components/TextArea/TextAreaResizable.js +63 -0
- package/dist/scripts/src/components/TextArea/useComposedRef.js +50 -0
- package/dist/scripts/src/components/TextBox/TextBox.js +145 -0
- package/dist/scripts/src/components/Theme/NotificationToast.js +39 -0
- package/dist/scripts/src/components/Theme/Theme.js +153 -0
- package/dist/scripts/src/components/ThemeChanger/ThemeChanger.js +125 -0
- package/dist/scripts/src/components/Toggle/Toggle.js +88 -0
- package/dist/scripts/src/components/Tree/TreeComponent.js +79 -0
- package/dist/scripts/src/components/ValidationSummary/ValidationSummary.js +59 -0
- package/dist/scripts/src/components/ViewComponentRegistryContext.js +34 -0
- package/dist/scripts/src/components/abstractions.js +2 -0
- package/dist/scripts/src/components/chart-color-schemes.js +43 -0
- package/dist/scripts/src/components/component-utils.js +32 -0
- package/dist/scripts/src/components/container-helpers.js +18 -0
- package/dist/scripts/src/components-core/ApiBoundComponent.js +189 -0
- package/dist/scripts/src/components-core/AppContext.js +17 -0
- package/dist/scripts/src/components-core/ChildrenSlot.js +10 -0
- package/dist/scripts/src/components-core/Component.js +280 -0
- package/dist/scripts/src/components-core/ComponentDecorator.js +63 -0
- package/dist/scripts/src/components-core/CompoundComponent.js +132 -0
- package/dist/scripts/src/components-core/EngineError.js +91 -0
- package/dist/scripts/src/components-core/ErrorBoundary.js +58 -0
- package/dist/scripts/src/components-core/Fragment.js +14 -0
- package/dist/scripts/src/components-core/InvalidComponent.js +15 -0
- package/dist/scripts/src/components-core/LoaderComponent.js +78 -0
- package/dist/scripts/src/components-core/RestApiProxy.js +341 -0
- package/dist/scripts/src/components-core/RootComponent.js +272 -0
- package/dist/scripts/src/components-core/RouteContext.js +45 -0
- package/dist/scripts/src/components-core/ScrollContext.js +9 -0
- package/dist/scripts/src/components-core/UnknownComponent.js +15 -0
- package/dist/scripts/src/components-core/abstractions/ComponentRenderer.js +2 -0
- package/dist/scripts/src/components-core/abstractions/LoaderRenderer.js +2 -0
- package/dist/scripts/src/components-core/abstractions/containers.js +18 -0
- package/dist/scripts/src/components-core/abstractions/treeAbstractions.js +2 -0
- package/dist/scripts/src/components-core/action/ApiAction.js +276 -0
- package/dist/scripts/src/components-core/action/DownloadFileAction.js +80 -0
- package/dist/scripts/src/components-core/action/NavigateAction.js +20 -0
- package/dist/scripts/src/components-core/action/TimedAction.js +21 -0
- package/dist/scripts/src/components-core/action/UploadAction.js +88 -0
- package/dist/scripts/src/components-core/action/actions.js +15 -0
- package/dist/scripts/src/components-core/appContext/date-functions.js +19 -0
- package/dist/scripts/src/components-core/appContext/misc-utils.js +12 -0
- package/dist/scripts/src/components-core/component-hooks.js +25 -0
- package/dist/scripts/src/components-core/constants.js +18 -0
- package/dist/scripts/src/components-core/container/Container.js +1110 -0
- package/dist/scripts/src/components-core/container/ContainerComponentDef.js +16 -0
- package/dist/scripts/src/components-core/container/buildProxy.js +54 -0
- package/dist/scripts/src/components-core/container/collectFnVarDeps.js +26 -0
- package/dist/scripts/src/components-core/container/valueExtractor.js +195 -0
- package/dist/scripts/src/components-core/descriptorHelper.js +75 -0
- package/dist/scripts/src/components-core/interception/abstractions.js +2 -0
- package/dist/scripts/src/components-core/interception/useApiInterceptorContext.js +9 -0
- package/dist/scripts/src/components-core/loader/ApiLoader.js +46 -0
- package/dist/scripts/src/components-core/loader/DataLoader.js +160 -0
- package/dist/scripts/src/components-core/loader/ExternalDataLoader.js +52 -0
- package/dist/scripts/src/components-core/loader/Loader.js +115 -0
- package/dist/scripts/src/components-core/loader/MockLoaderRenderer.js +32 -0
- package/dist/scripts/src/components-core/loader/PageableLoader.js +240 -0
- package/dist/scripts/src/components-core/renderers.js +45 -0
- package/dist/scripts/src/components-core/reportEngineError.js +59 -0
- package/dist/scripts/src/components-core/script-runner/BindingTreeEvaluationContext.js +35 -0
- package/dist/scripts/src/components-core/script-runner/ICustomOperations.js +34 -0
- package/dist/scripts/src/components-core/script-runner/LogicalThread.js +2 -0
- package/dist/scripts/src/components-core/script-runner/LoopScope.js +2 -0
- package/dist/scripts/src/components-core/script-runner/ParameterParser.js +117 -0
- package/dist/scripts/src/components-core/script-runner/TryScope.js +2 -0
- package/dist/scripts/src/components-core/script-runner/asyncProxy.js +96 -0
- package/dist/scripts/src/components-core/script-runner/bannedFunctions.js +34 -0
- package/dist/scripts/src/components-core/script-runner/custom-operations-registry.js +40 -0
- package/dist/scripts/src/components-core/script-runner/custom-ui-data.js +40 -0
- package/dist/scripts/src/components-core/script-runner/eval-tree-async.js +551 -0
- package/dist/scripts/src/components-core/script-runner/eval-tree-common.js +498 -0
- package/dist/scripts/src/components-core/script-runner/eval-tree-sync.js +434 -0
- package/dist/scripts/src/components-core/script-runner/modules.js +250 -0
- package/dist/scripts/src/components-core/script-runner/process-statement-async.js +818 -0
- package/dist/scripts/src/components-core/script-runner/process-statement-common.js +193 -0
- package/dist/scripts/src/components-core/script-runner/process-statement-sync.js +740 -0
- package/dist/scripts/src/components-core/script-runner/statement-queue.js +62 -0
- package/dist/scripts/src/components-core/script-runner/visitors.js +352 -0
- package/dist/scripts/src/components-core/theming/ThemeContext.js +43 -0
- package/dist/scripts/src/components-core/theming/ThemeProvider.js +334 -0
- package/dist/scripts/src/components-core/theming/abstractions.js +11 -0
- package/dist/scripts/src/components-core/theming/extendThemeUtils.js +114 -0
- package/dist/scripts/src/components-core/theming/hvar.js +105 -0
- package/dist/scripts/src/components-core/theming/themeVars.js +62 -0
- package/dist/scripts/src/components-core/theming/themes/base-utils.js +31 -0
- package/dist/scripts/src/components-core/theming/themes/palette.js +53 -0
- package/dist/scripts/src/components-core/theming/themes/root.js +257 -0
- package/dist/scripts/src/components-core/theming/themes/solid.js +16 -0
- package/dist/scripts/src/components-core/theming/themes/theme-colors.js +407 -0
- package/dist/scripts/src/components-core/theming/themes/xmlui.js +32 -0
- package/dist/scripts/src/components-core/theming/transformThemeVars.js +286 -0
- package/dist/scripts/src/components-core/utils/DataLoaderQueryKeyGenerator.js +34 -0
- package/dist/scripts/src/components-core/utils/LruCache.js +184 -0
- package/dist/scripts/src/components-core/utils/actionUtils.js +32 -0
- package/dist/scripts/src/components-core/utils/classnames.js +58 -0
- package/dist/scripts/src/components-core/utils/css-utils.js +127 -0
- package/dist/scripts/src/components-core/utils/date-utils.js +78 -0
- package/dist/scripts/src/components-core/utils/extractParam.js +148 -0
- package/dist/scripts/src/components-core/utils/hooks.js +221 -0
- package/dist/scripts/src/components-core/utils/mergeProps.js +45 -0
- package/dist/scripts/src/components-core/utils/misc.js +460 -0
- package/dist/scripts/src/components-core/utils/statementUtils.js +205 -0
- package/dist/scripts/src/components-core/utils/treeUtils.js +48 -0
- package/dist/scripts/src/components-core/xmlui-parser.js +52 -0
- package/dist/scripts/src/parsers/scripting/InputStream.js +59 -0
- package/dist/scripts/src/parsers/scripting/Lexer.js +1028 -0
- package/dist/scripts/src/parsers/scripting/Parser.js +2647 -0
- package/dist/scripts/src/parsers/scripting/ParserError.js +46 -0
- package/dist/scripts/src/parsers/scripting/TokenTrait.js +109 -0
- package/dist/scripts/src/parsers/scripting/code-behind-collect.js +118 -0
- package/dist/scripts/src/parsers/scripting/tree-visitor.js +602 -0
- package/dist/scripts/src/parsers/style-parser/StyleInputStream.js +39 -0
- package/dist/scripts/src/parsers/style-parser/StyleLexer.js +621 -0
- package/dist/scripts/src/parsers/style-parser/StyleParser.js +1000 -0
- package/dist/scripts/src/parsers/style-parser/errors.js +37 -0
- package/dist/scripts/src/parsers/style-parser/source-tree.js +2 -0
- package/dist/scripts/src/parsers/style-parser/style-compiler.js +513 -0
- package/dist/scripts/src/parsers/style-parser/tokens.js +42 -0
- package/dist/scripts/src/parsers/ueml/ParserError.js +54 -0
- package/dist/scripts/src/parsers/ueml/UemlHelper.js +579 -0
- package/dist/scripts/src/parsers/ueml/UemlInputStream.js +59 -0
- package/dist/scripts/src/parsers/ueml/UemlLexer.js +868 -0
- package/dist/scripts/src/parsers/ueml/UemlParser.js +1439 -0
- package/dist/scripts/src/parsers/ueml/UemlToken.js +24 -0
- package/dist/scripts/src/parsers/ueml/fileExtensions.js +6 -0
- package/dist/scripts/src/parsers/ueml/source-tree.js +2 -0
- package/dist/scripts/src/parsers/ueml/ueml-tree.js +2 -0
- package/dist/scripts/src/parsers/xmlui-parser/CharacterCodes.js +136 -0
- package/dist/scripts/src/parsers/xmlui-parser/diagnostics.js +100 -0
- package/dist/scripts/src/parsers/xmlui-parser/parser.js +476 -0
- package/dist/scripts/src/parsers/xmlui-parser/scanner.js +415 -0
- package/dist/scripts/src/parsers/xmlui-parser/syntax-kind.js +106 -0
- package/dist/scripts/src/parsers/xmlui-parser/syntax-node.js +2 -0
- package/dist/scripts/src/parsers/xmlui-parser/transform.js +922 -0
- package/dist/scripts/src/parsers/xmlui-parser/utils.js +83 -0
- package/dist/xmlui.es.d.ts +1667 -0
- package/dist/xmlui.es.js +17 -0
- package/dist/xmlui.umd.js +1589 -0
- package/package.json +175 -0
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.Loader = Loader;
|
|
13
|
+
const react_1 = require("react");
|
|
14
|
+
const react_query_1 = require("@tanstack/react-query");
|
|
15
|
+
const extractParam_1 = require("@components-core/utils/extractParam");
|
|
16
|
+
const immer_1 = require("immer");
|
|
17
|
+
const AppContext_1 = require("@components-core/AppContext");
|
|
18
|
+
const hooks_1 = require("@components-core/utils/hooks");
|
|
19
|
+
function Loader({ state, loader, loaderFn, queryId, pollIntervalInSeconds, registerComponentApi, onLoaded, loaderLoaded, loaderInProgressChanged, loaderError, }) {
|
|
20
|
+
const { uid } = loader;
|
|
21
|
+
const appContext = (0, AppContext_1.useAppContext)();
|
|
22
|
+
// --- Rely on react-query to decide when data fetching should use the cache or when is should fetch the data from
|
|
23
|
+
// --- its data source.
|
|
24
|
+
// --- data: The data obtained by the query
|
|
25
|
+
// --- status: Query execution status
|
|
26
|
+
// --- error: Error information about the current query error (in "error" state)
|
|
27
|
+
// --- refetch: The function that can be used to re-fetch the data (because of data/state changes)
|
|
28
|
+
const { data, status, isFetching, error, refetch } = (0, react_query_1.useQuery)({
|
|
29
|
+
queryKey: queryId ? queryId : [uid, (0, extractParam_1.extractParam)(state, loader.props, appContext)],
|
|
30
|
+
queryFn: (_a) => __awaiter(this, [_a], void 0, function* ({ signal }) {
|
|
31
|
+
const newVar = yield loaderFn(signal);
|
|
32
|
+
if (newVar === undefined) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
return newVar;
|
|
36
|
+
}),
|
|
37
|
+
retry: false
|
|
38
|
+
});
|
|
39
|
+
(0, react_1.useEffect)(() => {
|
|
40
|
+
let intervalId;
|
|
41
|
+
if (pollIntervalInSeconds) {
|
|
42
|
+
intervalId = setInterval(() => {
|
|
43
|
+
refetch();
|
|
44
|
+
}, pollIntervalInSeconds * 1000);
|
|
45
|
+
}
|
|
46
|
+
return () => {
|
|
47
|
+
if (intervalId) {
|
|
48
|
+
clearInterval(intervalId);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}, [pollIntervalInSeconds, refetch]);
|
|
52
|
+
const prevData = (0, hooks_1.usePrevious)(data);
|
|
53
|
+
const prevError = (0, hooks_1.usePrevious)(error);
|
|
54
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
55
|
+
loaderInProgressChanged(isFetching);
|
|
56
|
+
}, [isFetching, loaderInProgressChanged]);
|
|
57
|
+
// --- Respond to the state changes whenever the uid of the loader instance, the data, the dispatcher,
|
|
58
|
+
// --- or the data query status changes.
|
|
59
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
60
|
+
if (status === "success" && data !== prevData) {
|
|
61
|
+
loaderLoaded(data);
|
|
62
|
+
onLoaded === null || onLoaded === void 0 ? void 0 : onLoaded(data);
|
|
63
|
+
}
|
|
64
|
+
else if (status === "error" && error !== prevError) {
|
|
65
|
+
loaderError(error);
|
|
66
|
+
}
|
|
67
|
+
}, [appContext, data, error, loaderError, loaderLoaded, onLoaded, prevData, prevError, status]);
|
|
68
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
69
|
+
return () => {
|
|
70
|
+
loaderLoaded(undefined);
|
|
71
|
+
};
|
|
72
|
+
}, [loaderLoaded, uid]);
|
|
73
|
+
(0, react_1.useEffect)(() => {
|
|
74
|
+
registerComponentApi === null || registerComponentApi === void 0 ? void 0 : registerComponentApi({
|
|
75
|
+
refetch,
|
|
76
|
+
update: (updater) => __awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
var _a, _b;
|
|
78
|
+
const oldData = (_a = appContext.queryClient) === null || _a === void 0 ? void 0 : _a.getQueryData(queryId);
|
|
79
|
+
if (!oldData) {
|
|
80
|
+
//loader not loaded yet, we skip the update
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const draft = (0, immer_1.createDraft)(oldData);
|
|
84
|
+
const ret = yield updater(draft); //if it returns a value, we take it as the new data
|
|
85
|
+
const newData = ret || (0, immer_1.finishDraft)(draft);
|
|
86
|
+
if (oldData.length !== newData.length) {
|
|
87
|
+
throw new Error("Use this method for update only. If you want to add or delete, call the addItem/deleteItem method.");
|
|
88
|
+
}
|
|
89
|
+
// console.log("BEFORE: ", appContext.queryClient?.getQueryData(queryId!));
|
|
90
|
+
(_b = appContext.queryClient) === null || _b === void 0 ? void 0 : _b.setQueryData(queryId, newData);
|
|
91
|
+
// console.log("AFTER: ", appContext.queryClient?.getQueryData(queryId!));
|
|
92
|
+
}),
|
|
93
|
+
addItem: (element, indexToInsert) => __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
var _a, _b;
|
|
95
|
+
const oldData = (_a = appContext.queryClient) === null || _a === void 0 ? void 0 : _a.getQueryData(queryId);
|
|
96
|
+
const draft = (0, immer_1.createDraft)(oldData);
|
|
97
|
+
if (indexToInsert === undefined) {
|
|
98
|
+
draft.push(element);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
draft.splice(indexToInsert, 0, element);
|
|
102
|
+
}
|
|
103
|
+
const newData = (0, immer_1.finishDraft)(draft);
|
|
104
|
+
(_b = appContext.queryClient) === null || _b === void 0 ? void 0 : _b.setQueryData(queryId, newData);
|
|
105
|
+
}),
|
|
106
|
+
getItems: () => __awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
return data;
|
|
108
|
+
}),
|
|
109
|
+
deleteItem: (element) => __awaiter(this, void 0, void 0, function* () {
|
|
110
|
+
throw new Error("not implemented");
|
|
111
|
+
}),
|
|
112
|
+
});
|
|
113
|
+
}, [appContext.queryClient, data, loader.uid, queryId, refetch, registerComponentApi]);
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.mockLoaderRenderer = void 0;
|
|
13
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
14
|
+
const react_1 = require("react");
|
|
15
|
+
const Loader_1 = require("./Loader");
|
|
16
|
+
const misc_1 = require("@components-core/utils/misc");
|
|
17
|
+
const extractParam_1 = require("@components-core/utils/extractParam");
|
|
18
|
+
const renderers_1 = require("@components-core/renderers");
|
|
19
|
+
const AppContext_1 = require("@components-core/AppContext");
|
|
20
|
+
function ApiLoader({ loader, loaderInProgressChanged, loaderError, loaderLoaded, state }) {
|
|
21
|
+
const appContext = (0, AppContext_1.useAppContext)();
|
|
22
|
+
const waitTime = (0, extractParam_1.extractParam)(state, loader.props.waitTime, appContext);
|
|
23
|
+
const responseObj = (0, extractParam_1.extractParam)(state, loader.props.data, appContext);
|
|
24
|
+
const doLoad = (0, react_1.useCallback)(() => __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
waitTime && (yield (0, misc_1.asyncWait)(waitTime));
|
|
26
|
+
return responseObj;
|
|
27
|
+
}), [responseObj, waitTime]);
|
|
28
|
+
return ((0, jsx_runtime_1.jsx)(Loader_1.Loader, { state: state, loader: loader, loaderInProgressChanged: loaderInProgressChanged, loaderLoaded: loaderLoaded, loaderError: loaderError, loaderFn: doLoad }));
|
|
29
|
+
}
|
|
30
|
+
exports.mockLoaderRenderer = (0, renderers_1.createLoaderRenderer)("MockLoader", ({ loader, state, loaderInProgressChanged, loaderLoaded, loaderError }) => {
|
|
31
|
+
return ((0, jsx_runtime_1.jsx)(ApiLoader, { loader: loader, state: state, loaderInProgressChanged: loaderInProgressChanged, loaderLoaded: loaderLoaded, loaderError: loaderError }));
|
|
32
|
+
});
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.PageableLoader = PageableLoader;
|
|
36
|
+
const react_1 = require("react");
|
|
37
|
+
const react_query_1 = require("@tanstack/react-query");
|
|
38
|
+
const immer_1 = __importStar(require("immer"));
|
|
39
|
+
const extractParam_1 = require("@components-core/utils/extractParam");
|
|
40
|
+
const AppContext_1 = require("@components-core/AppContext");
|
|
41
|
+
const hooks_1 = require("@components-core/utils/hooks");
|
|
42
|
+
function PageableLoader({ state, loader, loaderFn, queryId, direction = "BACKWARD", registerComponentApi, pollIntervalInSeconds, onLoaded, loaderInProgressChanged, loaderLoaded, loaderError, }) {
|
|
43
|
+
const { uid } = loader;
|
|
44
|
+
const appContext = (0, AppContext_1.useAppContext)();
|
|
45
|
+
const queryKey = (0, react_1.useMemo)(() => (queryId ? queryId : [uid, (0, extractParam_1.extractParam)(state, loader.props, appContext)]), [appContext, loader.props, queryId, state, uid]);
|
|
46
|
+
const thizRef = (0, react_1.useRef)(queryKey);
|
|
47
|
+
const { data, status, error, hasNextPage, isFetchingNextPage, hasPreviousPage, isFetchingPreviousPage, isFetching, refetch, fetchPreviousPage, fetchNextPage, } = (0, react_query_1.useInfiniteQuery)({
|
|
48
|
+
queryKey,
|
|
49
|
+
queryFn: (_a) => __awaiter(this, [_a], void 0, function* ({ signal, pageParam }) {
|
|
50
|
+
// console.log("FETCHING PAGE: ", pageParam);
|
|
51
|
+
const { result, prevPageParam, nextPageParam } = yield loaderFn(signal, pageParam);
|
|
52
|
+
// console.log("fetched PAGE: ", { result, prevPageParam, nextPageParam });
|
|
53
|
+
return { result, prevPageParam, nextPageParam };
|
|
54
|
+
}),
|
|
55
|
+
getPreviousPageParam: direction === "BACKWARD" || direction === "BIDIRECTIONAL"
|
|
56
|
+
? (firstPage, a) => {
|
|
57
|
+
if (!firstPage.prevPageParam) {
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
// console.log("getting previous page param", { firstPage, a });
|
|
61
|
+
return {
|
|
62
|
+
prevPageParam: firstPage.prevPageParam,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
: undefined,
|
|
66
|
+
getNextPageParam: direction === "FORWARD" || direction === "BIDIRECTIONAL"
|
|
67
|
+
? (lastPage) => {
|
|
68
|
+
if (!lastPage.nextPageParam) {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
nextPageParam: lastPage.nextPageParam,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
: undefined,
|
|
76
|
+
});
|
|
77
|
+
//TODO revisit
|
|
78
|
+
// //we clear all the pages, except the last one (it's suitable for the chat app, but for the other direction we'll have to leave the first page)
|
|
79
|
+
// // otherwise it'll keep it in the cache, and refetch all the pages when you come back
|
|
80
|
+
// // see more here: https://stackoverflow.com/questions/71286123/reactquery-useinfinitequery-refetching-issue
|
|
81
|
+
// // and here: https://tanstack.com/query/latest/docs/react/guides/infinite-queries?from=reactQueryV3&original=https%3A%2F%2Ftanstack.com%2Fquery%2Fv3%2Fdocs%2Fguides%2Finfinite-queries#what-happens-when-an-infinite-query-needs-to-be-refetched
|
|
82
|
+
(0, react_1.useEffect)(() => {
|
|
83
|
+
const queryKey = thizRef.current;
|
|
84
|
+
return () => {
|
|
85
|
+
var _a, _b;
|
|
86
|
+
(_a = appContext.queryClient) === null || _a === void 0 ? void 0 : _a.cancelQueries(queryKey);
|
|
87
|
+
(_b = appContext.queryClient) === null || _b === void 0 ? void 0 : _b.setQueryData(queryKey, (old) => {
|
|
88
|
+
if (!old) {
|
|
89
|
+
return old;
|
|
90
|
+
}
|
|
91
|
+
return (0, immer_1.default)(old, (draft) => {
|
|
92
|
+
draft.pages = draft.pages.length ? [draft.pages[draft.pages.length - 1]] : [];
|
|
93
|
+
// draft.pageParams = draft.pageParams.length ? [draft.pageParams[draft.pageParams.length - 1]] : [];
|
|
94
|
+
draft.pageParams = [];
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
loaderLoaded(undefined, undefined);
|
|
98
|
+
};
|
|
99
|
+
}, [appContext.queryClient, loaderLoaded, uid]);
|
|
100
|
+
const flatData = (0, react_1.useMemo)(() => {
|
|
101
|
+
if (!data) {
|
|
102
|
+
return [];
|
|
103
|
+
}
|
|
104
|
+
return data.pages.flatMap((d) => d.result);
|
|
105
|
+
}, [data]);
|
|
106
|
+
const prevData = (0, hooks_1.usePrevious)(data);
|
|
107
|
+
const prevError = (0, hooks_1.usePrevious)(error);
|
|
108
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
109
|
+
loaderInProgressChanged(isFetching); //TODO isFetchingPrevPage / nextPage
|
|
110
|
+
}, [isFetching, loaderInProgressChanged]);
|
|
111
|
+
const pageInfo = (0, react_1.useMemo)(() => {
|
|
112
|
+
return {
|
|
113
|
+
hasPrevPage: hasPreviousPage,
|
|
114
|
+
isFetchingPrevPage: isFetchingPreviousPage,
|
|
115
|
+
hasNextPage,
|
|
116
|
+
isFetchingNextPage,
|
|
117
|
+
};
|
|
118
|
+
}, [hasNextPage, hasPreviousPage, isFetchingNextPage, isFetchingPreviousPage]);
|
|
119
|
+
const prevPageInfo = (0, hooks_1.usePrevious)(pageInfo);
|
|
120
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
121
|
+
// console.log("data changed", {
|
|
122
|
+
// status,
|
|
123
|
+
// flatData,
|
|
124
|
+
// pageInfo,
|
|
125
|
+
// });
|
|
126
|
+
if (status === "success" && (prevData !== data || prevPageInfo !== pageInfo)) {
|
|
127
|
+
loaderLoaded(flatData, pageInfo);
|
|
128
|
+
onLoaded === null || onLoaded === void 0 ? void 0 : onLoaded(flatData);
|
|
129
|
+
}
|
|
130
|
+
else if (status === "error" && prevError !== error) {
|
|
131
|
+
loaderError(error);
|
|
132
|
+
}
|
|
133
|
+
}, [
|
|
134
|
+
appContext,
|
|
135
|
+
data,
|
|
136
|
+
error,
|
|
137
|
+
flatData,
|
|
138
|
+
loaderError,
|
|
139
|
+
loaderLoaded,
|
|
140
|
+
onLoaded,
|
|
141
|
+
pageInfo,
|
|
142
|
+
prevData,
|
|
143
|
+
prevError,
|
|
144
|
+
prevPageInfo,
|
|
145
|
+
status,
|
|
146
|
+
]);
|
|
147
|
+
(0, react_1.useEffect)(() => {
|
|
148
|
+
let intervalId;
|
|
149
|
+
if (pollIntervalInSeconds) {
|
|
150
|
+
intervalId = setInterval(() => {
|
|
151
|
+
refetch();
|
|
152
|
+
}, pollIntervalInSeconds * 1000);
|
|
153
|
+
}
|
|
154
|
+
return () => {
|
|
155
|
+
if (intervalId) {
|
|
156
|
+
clearInterval(intervalId);
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
}, [pollIntervalInSeconds, refetch]);
|
|
160
|
+
const fetchPrevPage = (0, react_1.useCallback)(() => {
|
|
161
|
+
return fetchPreviousPage();
|
|
162
|
+
}, [fetchPreviousPage]);
|
|
163
|
+
const stableFetchNextPage = (0, react_1.useCallback)(() => {
|
|
164
|
+
return fetchNextPage();
|
|
165
|
+
}, [fetchNextPage]);
|
|
166
|
+
(0, react_1.useEffect)(() => {
|
|
167
|
+
registerComponentApi({
|
|
168
|
+
fetchPrevPage,
|
|
169
|
+
fetchNextPage: stableFetchNextPage,
|
|
170
|
+
refetch,
|
|
171
|
+
update: (updater) => __awaiter(this, void 0, void 0, function* () {
|
|
172
|
+
var _a, _b;
|
|
173
|
+
const oldData = (_a = appContext.queryClient) === null || _a === void 0 ? void 0 : _a.getQueryData(queryId);
|
|
174
|
+
if (!oldData) {
|
|
175
|
+
//loader not loaded yet, we skip the update
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
const originalFlatItems = oldData.pages.flatMap((d) => d.result);
|
|
179
|
+
const draft = (0, immer_1.createDraft)(oldData);
|
|
180
|
+
const flatItems = [];
|
|
181
|
+
for (let i = 0; i < draft.pages.length; i++) {
|
|
182
|
+
const page = draft.pages[i];
|
|
183
|
+
yield updater(page.result);
|
|
184
|
+
flatItems.push(...page.result);
|
|
185
|
+
}
|
|
186
|
+
if (flatItems.length !== originalFlatItems.length) {
|
|
187
|
+
throw new Error("Use this method for update only. If you want to add or delete, call the addItem/deleteItem method.");
|
|
188
|
+
}
|
|
189
|
+
const newData = (0, immer_1.finishDraft)(draft);
|
|
190
|
+
// console.log("BEFORE: ", appContext.queryClient?.getQueryData(queryId!));
|
|
191
|
+
(_b = appContext.queryClient) === null || _b === void 0 ? void 0 : _b.setQueryData(queryId, newData);
|
|
192
|
+
// console.log("AFTER: ", appContext.queryClient?.getQueryData(queryId!));
|
|
193
|
+
}),
|
|
194
|
+
addItem: (element, indexToInsert) => __awaiter(this, void 0, void 0, function* () {
|
|
195
|
+
var _a, _b;
|
|
196
|
+
const oldData = (_a = appContext.queryClient) === null || _a === void 0 ? void 0 : _a.getQueryData(queryId);
|
|
197
|
+
const draft = (0, immer_1.createDraft)(oldData);
|
|
198
|
+
if (indexToInsert === undefined) {
|
|
199
|
+
draft.pages[draft.pages.length - 1].result.push(element);
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
throw new Error("not implemented");
|
|
203
|
+
// TODO is should be something like this
|
|
204
|
+
// //find the pageIndex and itemIndex in that page
|
|
205
|
+
// let pageIndex = -1;
|
|
206
|
+
// let itemIndex = -1;
|
|
207
|
+
// let i = 0;
|
|
208
|
+
// oldData.pages.forEach((page, index)=>{
|
|
209
|
+
// i += page.result.length;
|
|
210
|
+
// if(i >= indexToInsert){
|
|
211
|
+
// pageIndex = index;
|
|
212
|
+
// itemIndex = i - indexToInsert;
|
|
213
|
+
// return;
|
|
214
|
+
// }
|
|
215
|
+
// });
|
|
216
|
+
// draft.pages[pageIndex].result.splice(itemIndex, 0, element);
|
|
217
|
+
}
|
|
218
|
+
const newData = (0, immer_1.finishDraft)(draft);
|
|
219
|
+
(_b = appContext.queryClient) === null || _b === void 0 ? void 0 : _b.setQueryData(queryId, newData);
|
|
220
|
+
}),
|
|
221
|
+
getItems: () => {
|
|
222
|
+
return flatData;
|
|
223
|
+
},
|
|
224
|
+
deleteItem: (element) => __awaiter(this, void 0, void 0, function* () {
|
|
225
|
+
throw new Error("not implemented");
|
|
226
|
+
}),
|
|
227
|
+
});
|
|
228
|
+
}, [
|
|
229
|
+
appContext.queryClient,
|
|
230
|
+
fetchPrevPage,
|
|
231
|
+
flatData,
|
|
232
|
+
loader.uid,
|
|
233
|
+
queryId,
|
|
234
|
+
queryKey,
|
|
235
|
+
refetch,
|
|
236
|
+
registerComponentApi,
|
|
237
|
+
stableFetchNextPage,
|
|
238
|
+
]);
|
|
239
|
+
return null;
|
|
240
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createComponentRenderer = createComponentRenderer;
|
|
4
|
+
exports.createPropHolderComponent = createPropHolderComponent;
|
|
5
|
+
exports.createLoaderRenderer = createLoaderRenderer;
|
|
6
|
+
/**
|
|
7
|
+
* This helper function creates a component renderer definition from its arguments.
|
|
8
|
+
* @param type The unique identifier of the component definition
|
|
9
|
+
* @param renderer The function that renders the component definition into a React node
|
|
10
|
+
* @param hints Optional hints to help fix the rendering errors coming from invalid component property definitions
|
|
11
|
+
* @returns The view renderer definition composed of the arguments
|
|
12
|
+
*/
|
|
13
|
+
function createComponentRenderer(type, renderer, hints) {
|
|
14
|
+
return {
|
|
15
|
+
type,
|
|
16
|
+
renderer,
|
|
17
|
+
metadata: hints,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Create a non-visual component used for encapsulating property values
|
|
22
|
+
* @param type Component type
|
|
23
|
+
* @param metadata Component metadata
|
|
24
|
+
*/
|
|
25
|
+
function createPropHolderComponent(type, metadata) {
|
|
26
|
+
return createComponentRenderer(type, () => {
|
|
27
|
+
throw new Error("Prop holder component, shouldn't render");
|
|
28
|
+
}, metadata);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* AppEngine uses React as its UI framework to declare and render loaders. This type declares a function that renders
|
|
32
|
+
* a particular loader definition into its React representation.
|
|
33
|
+
*
|
|
34
|
+
* The type parameter of the function refers to the loader definition the function is about to render.
|
|
35
|
+
* @param type The unique ID of the loader
|
|
36
|
+
* @param renderer The function that renders the loader
|
|
37
|
+
* @param hints Optional hints to help fix the rendering errors coming from invalid component property definitions
|
|
38
|
+
*/
|
|
39
|
+
function createLoaderRenderer(type, renderer, hints) {
|
|
40
|
+
return {
|
|
41
|
+
type,
|
|
42
|
+
renderer,
|
|
43
|
+
hints,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAppErrors = getAppErrors;
|
|
4
|
+
exports.resetErrors = resetErrors;
|
|
5
|
+
exports.reportEngineError = reportEngineError;
|
|
6
|
+
const EngineError_1 = require("./EngineError");
|
|
7
|
+
const appErrors = [];
|
|
8
|
+
/**
|
|
9
|
+
* Get all errors collected during the last run
|
|
10
|
+
*/
|
|
11
|
+
function getAppErrors() {
|
|
12
|
+
return appErrors;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Use this function to reset the errors raised by the execution engine
|
|
16
|
+
*/
|
|
17
|
+
function resetErrors() {
|
|
18
|
+
appErrors.length = 0;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Use this function to report an error
|
|
22
|
+
* @param error Error or string describing the error to report
|
|
23
|
+
* @param errorToThrow The error to throw
|
|
24
|
+
*/
|
|
25
|
+
function reportEngineError(error, errorToThrow) {
|
|
26
|
+
var _a, _b;
|
|
27
|
+
// --- Wrap a string into an error
|
|
28
|
+
if (typeof error === "string") {
|
|
29
|
+
error = new Error(error);
|
|
30
|
+
}
|
|
31
|
+
let helperMessage = "";
|
|
32
|
+
let colors = [];
|
|
33
|
+
// --- Error-specific helper messages
|
|
34
|
+
if (error instanceof EngineError_1.ScriptParseError) {
|
|
35
|
+
let pos = ((_a = error === null || error === void 0 ? void 0 : error.position) !== null && _a !== void 0 ? _a : 0) - 1;
|
|
36
|
+
if (error.source) {
|
|
37
|
+
while (pos < error.source.length - 1 && error.source[pos] === " ") {
|
|
38
|
+
pos++;
|
|
39
|
+
}
|
|
40
|
+
helperMessage += `%c${error.message}%c\n\n`;
|
|
41
|
+
helperMessage += `${error.source.substring(0, pos)}%c${error.source[pos]}%c${(_b = error.source.substring(pos + 1)) !== null && _b !== void 0 ? _b : ""}\n\n`;
|
|
42
|
+
}
|
|
43
|
+
helperMessage += `%cThe error handler associated with the parsed code did not run.%c`;
|
|
44
|
+
colors = ["color: red", "color: inherited", "color: red", "color: inherited", "color: orange", "color: inherited"];
|
|
45
|
+
}
|
|
46
|
+
else if (error instanceof EngineError_1.StatementExecutionError) {
|
|
47
|
+
helperMessage += `%cError while executing code: ${error.message}%c\n\n${error.source}`;
|
|
48
|
+
colors = ["color: red", "color: inherited"];
|
|
49
|
+
}
|
|
50
|
+
else if (error instanceof EngineError_1.ThrowStatementError) {
|
|
51
|
+
helperMessage += `A 'throw' statement executed:\n\n%c${error.message}%c\n\n${error.errorObject}`;
|
|
52
|
+
colors = ["color: red", "color: inherited"];
|
|
53
|
+
}
|
|
54
|
+
if (helperMessage) {
|
|
55
|
+
console.log(helperMessage, ...colors);
|
|
56
|
+
}
|
|
57
|
+
appErrors.push({ error, helperMessage, colors });
|
|
58
|
+
throw errorToThrow !== null && errorToThrow !== void 0 ? errorToThrow : error;
|
|
59
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CancellationToken = void 0;
|
|
4
|
+
exports.createEvalContext = createEvalContext;
|
|
5
|
+
/**
|
|
6
|
+
* A token that signals the cancellation of an operation
|
|
7
|
+
*/
|
|
8
|
+
class CancellationToken {
|
|
9
|
+
constructor() {
|
|
10
|
+
this._cancelled = false;
|
|
11
|
+
}
|
|
12
|
+
get cancelled() {
|
|
13
|
+
return this._cancelled;
|
|
14
|
+
}
|
|
15
|
+
cancel() {
|
|
16
|
+
this._cancelled = true;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.CancellationToken = CancellationToken;
|
|
20
|
+
/**
|
|
21
|
+
* Creates an evaluation context with the given parts
|
|
22
|
+
* @param parts Parts of the evaluation context
|
|
23
|
+
* @returns New evaluation context
|
|
24
|
+
*/
|
|
25
|
+
function createEvalContext(parts) {
|
|
26
|
+
return Object.assign({
|
|
27
|
+
mainThread: {
|
|
28
|
+
childThreads: [],
|
|
29
|
+
blocks: [{ vars: {} }],
|
|
30
|
+
loops: [],
|
|
31
|
+
breakLabelValue: -1
|
|
32
|
+
},
|
|
33
|
+
localContext: {}
|
|
34
|
+
}, parts);
|
|
35
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CustomOperationType = void 0;
|
|
4
|
+
var CustomOperationType;
|
|
5
|
+
(function (CustomOperationType) {
|
|
6
|
+
CustomOperationType[CustomOperationType["MemberAccess"] = 0] = "MemberAccess";
|
|
7
|
+
CustomOperationType[CustomOperationType["CalculatedMemberAccess"] = 1] = "CalculatedMemberAccess";
|
|
8
|
+
CustomOperationType[CustomOperationType["UnaryPlus"] = 2] = "UnaryPlus";
|
|
9
|
+
CustomOperationType[CustomOperationType["UnaryMinus"] = 3] = "UnaryMinus";
|
|
10
|
+
CustomOperationType[CustomOperationType["LogicalNot"] = 4] = "LogicalNot";
|
|
11
|
+
CustomOperationType[CustomOperationType["BitwiseNot"] = 5] = "BitwiseNot";
|
|
12
|
+
CustomOperationType[CustomOperationType["Multiply"] = 6] = "Multiply";
|
|
13
|
+
CustomOperationType[CustomOperationType["Divide"] = 7] = "Divide";
|
|
14
|
+
CustomOperationType[CustomOperationType["Remainder"] = 8] = "Remainder";
|
|
15
|
+
CustomOperationType[CustomOperationType["Add"] = 9] = "Add";
|
|
16
|
+
CustomOperationType[CustomOperationType["Subtract"] = 10] = "Subtract";
|
|
17
|
+
CustomOperationType[CustomOperationType["SignedRightShift"] = 11] = "SignedRightShift";
|
|
18
|
+
CustomOperationType[CustomOperationType["UnsignedRightShift"] = 12] = "UnsignedRightShift";
|
|
19
|
+
CustomOperationType[CustomOperationType["LeftShift"] = 13] = "LeftShift";
|
|
20
|
+
CustomOperationType[CustomOperationType["LessThan"] = 14] = "LessThan";
|
|
21
|
+
CustomOperationType[CustomOperationType["LessThanOrEqual"] = 15] = "LessThanOrEqual";
|
|
22
|
+
CustomOperationType[CustomOperationType["GreaterThan"] = 16] = "GreaterThan";
|
|
23
|
+
CustomOperationType[CustomOperationType["GreaterThanOrEqual"] = 17] = "GreaterThanOrEqual";
|
|
24
|
+
CustomOperationType[CustomOperationType["Equal"] = 18] = "Equal";
|
|
25
|
+
CustomOperationType[CustomOperationType["StrictEqual"] = 19] = "StrictEqual";
|
|
26
|
+
CustomOperationType[CustomOperationType["NotEqual"] = 20] = "NotEqual";
|
|
27
|
+
CustomOperationType[CustomOperationType["StrictNotEqual"] = 21] = "StrictNotEqual";
|
|
28
|
+
CustomOperationType[CustomOperationType["BitwiseAnd"] = 22] = "BitwiseAnd";
|
|
29
|
+
CustomOperationType[CustomOperationType["BitwiseXor"] = 23] = "BitwiseXor";
|
|
30
|
+
CustomOperationType[CustomOperationType["BitwiseOr"] = 24] = "BitwiseOr";
|
|
31
|
+
CustomOperationType[CustomOperationType["LogicalAnd"] = 25] = "LogicalAnd";
|
|
32
|
+
CustomOperationType[CustomOperationType["LogicalOr"] = 26] = "LogicalOr";
|
|
33
|
+
CustomOperationType[CustomOperationType["NullCoalesce"] = 27] = "NullCoalesce";
|
|
34
|
+
})(CustomOperationType || (exports.CustomOperationType = CustomOperationType = {}));
|