refactor(merge,split,json): adopt streaming approach and standardize types, address gradle warnings (#5803)

Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
Co-authored-by: Balázs <balazs@heim-041-30.jkh.uni-linz.ac.at>
This commit is contained in:
Balázs Szücs
2026-03-02 22:55:07 +01:00
committed by GitHub
parent 0c46f77179
commit fd1b7abc83
66 changed files with 1425 additions and 1430 deletions

View File

@@ -38,7 +38,7 @@ const SplitAutomationSettings = ({ parameters, onParameterChange, disabled = fal
label={t("split.steps.chooseMethod", "Choose Method")}
placeholder={t("split.selectMethod", "Select a split method")}
value={parameters.method}
onChange={(value) => onParameterChange('method', value as (SplitMethod | '') || '')}
onChange={(value) => onParameterChange('method', value as SplitMethod | null)}
data={methodSelectOptions}
disabled={disabled}
comboboxProps={{ withinPortal: true, zIndex: Z_INDEX_AUTOMATE_DROPDOWN }}

View File

@@ -2,7 +2,7 @@ import { useTranslation } from 'react-i18next';
import { TooltipContent } from '@app/types/tips';
import { SPLIT_METHODS, type SplitMethod } from '@app/constants/splitConstants';
export const useSplitSettingsTips = (method: SplitMethod | ''): TooltipContent | null => {
export const useSplitSettingsTips = (method: SplitMethod | null): TooltipContent | null => {
const { t } = useTranslation();
if (!method) return null;

View File

@@ -68,6 +68,7 @@ export const getSplitEndpoint = (parameters: SplitParameters): string => {
}
switch (parameters.method) {
case null:
case SPLIT_METHODS.BY_PAGES:
return "/api/v1/general/split-pages";
case SPLIT_METHODS.BY_SECTIONS:

View File

@@ -3,7 +3,7 @@ import { BaseParameters } from '@app/types/parameters';
import { useBaseParameters, BaseParametersHook } from '@app/hooks/tools/shared/useBaseParameters';
export interface SplitParameters extends BaseParameters {
method: SplitMethod | '';
method: SplitMethod | null;
pages: string;
hDiv: string;
vDiv: string;
@@ -24,7 +24,7 @@ export interface SplitParameters extends BaseParameters {
export type SplitParametersHook = BaseParametersHook<SplitParameters>;
export const defaultParameters: SplitParameters = {
method: '',
method: null,
pages: '',
hDiv: '2',
vDiv: '2',
@@ -45,13 +45,8 @@ export const defaultParameters: SplitParameters = {
export const useSplitParameters = (): SplitParametersHook => {
return useBaseParameters({
defaultParameters,
endpointName: (params) => {
if (!params.method) return ENDPOINTS[SPLIT_METHODS.BY_PAGES];
return ENDPOINTS[params.method as SplitMethod];
},
endpointName: (params) => params.method ? ENDPOINTS[params.method] : ENDPOINTS[SPLIT_METHODS.BY_PAGES],
validateFn: (params) => {
if (!params.method) return false;
switch (params.method) {
case SPLIT_METHODS.BY_PAGES:
return params.pages.trim() !== "";

View File

@@ -60,7 +60,7 @@ const Split = (props: BaseToolProps) => {
{
title: t("split.steps.chooseMethod", "Choose Method"),
isCollapsed: !!base.params.parameters.method, // Collapse when method is selected
onCollapsedClick: () => base.params.updateParameter('method', ''),
onCollapsedClick: () => base.params.updateParameter('method', null),
tooltip: methodTips,
content: (
<CardSelector<SplitMethod, MethodOption>

View File

@@ -26,4 +26,16 @@ declare module 'axios' {
}
}
export {};
declare module 'posthog-js/react' {
import { ReactNode } from 'react';
import posthogJs, { PostHogConfig } from 'posthog-js';
export const PostHogProvider: React.FC<{
client?: typeof posthogJs;
options?: Partial<PostHogConfig>;
apiKey?: string;
children?: ReactNode;
}>;
}
export { };