From 2eb6ed3fceae8f45ccdd01729deb2ae9e59df2e4 Mon Sep 17 00:00:00 2001 From: Ilya Erokhin Date: Wed, 30 Jul 2025 15:25:31 +0300 Subject: [PATCH] Fix ContentModifier handwritten part Signed-off-by: Ilya Erokhin --- .../src/handwritten/ContentModifierHooks.ets | 48 ++++++------------- .../src/handwritten/component/builder.ets | 14 ++++++ .../src/handwritten/component/common.ets | 8 ++++ arkoala-arkts/arkui/src/handwritten/index.ets | 2 + 4 files changed, 38 insertions(+), 34 deletions(-) create mode 100644 arkoala-arkts/arkui/src/handwritten/component/builder.ets create mode 100644 arkoala-arkts/arkui/src/handwritten/component/common.ets diff --git a/arkoala-arkts/arkui/src/handwritten/ContentModifierHooks.ets b/arkoala-arkts/arkui/src/handwritten/ContentModifierHooks.ets index 35da3d5047..d40b2f6cd3 100644 --- a/arkoala-arkts/arkui/src/handwritten/ContentModifierHooks.ets +++ b/arkoala-arkts/arkui/src/handwritten/ContentModifierHooks.ets @@ -31,27 +31,7 @@ import { ArkToggleComponent, ToggleConfiguration } from "../generated" import { CustomBuilder } from "../generated" import { CallbackTransformer } from "./../CallbackTransformer" import { KPointer } from "@koalaui/interop" - -export class WrappedBuilder { - constructor( - // @memo - builder: (args: Args) => void) { - this.builder = builder; - } - // @memo - builder: ((args: Args) => void); -} - -export function wrapBuilder( - // @memo - builder: (args: Args) => void -): WrappedBuilder { - return new WrappedBuilder(builder); -} - -export interface ContentModifier { - applyContent(): WrappedBuilder> -} +import { ContentModifier } from "./component/common" function memoWrapper( // @memo @@ -71,7 +51,7 @@ export function hookButtonContentModifier( } const buttonBuilder = (parentNode: KPointer, config: ButtonConfiguration): KPointer => { return CallbackTransformer.transformToPeerFromCustomBuilder( - memoWrapper(wrappedBuilder!.builder, [config])) + memoWrapper(wrappedBuilder!.builder, config)) } if (value) { ContentModifierHelper.contentModifierButton(receiver.getPeer().peer.ptr, value!, buttonBuilder) @@ -87,7 +67,7 @@ export function hookCheckBoxContentModifier( } const checkboxBuilder = (parentNode: KPointer, config: CheckBoxConfiguration): KPointer => { return CallbackTransformer.transformToPeerFromCustomBuilder( - memoWrapper(wrappedBuilder!.builder, [config])) + memoWrapper(wrappedBuilder!.builder, config)) } if (value) { ContentModifierHelper.contentModifierCheckBox(receiver.getPeer().peer.ptr, value!, checkboxBuilder) @@ -103,7 +83,7 @@ export function hookDataPanelContentModifier( } const dataPanelBuilder = (parentNode: KPointer, config: DataPanelConfiguration): KPointer => { return CallbackTransformer.transformToPeerFromCustomBuilder( - memoWrapper(wrappedBuilder!.builder, [config])) + memoWrapper(wrappedBuilder!.builder, config)) } if (value) { ContentModifierHelper.contentModifierDataPanel(receiver.getPeer().peer.ptr, value!, dataPanelBuilder) @@ -119,7 +99,7 @@ export function hookGaugeContentModifier( } const gaugeBuilder = (parentNode: KPointer, config: GaugeConfiguration): KPointer => { return CallbackTransformer.transformToPeerFromCustomBuilder( - memoWrapper(wrappedBuilder!.builder, [config])) + memoWrapper(wrappedBuilder!.builder, config)) } if (value) { ContentModifierHelper.contentModifierGauge(receiver.getPeer().peer.ptr, value!, gaugeBuilder) @@ -135,7 +115,7 @@ export function hookLoadingProgressContentModifier( } const loadingProgressBuilder = (parentNode: KPointer, config: LoadingProgressConfiguration): KPointer => { return CallbackTransformer.transformToPeerFromCustomBuilder( - memoWrapper(wrappedBuilder!.builder, [config])) + memoWrapper(wrappedBuilder!.builder, config)) } if (value) { ContentModifierHelper.contentModifierLoadingProgress(receiver.getPeer().peer.ptr, value!, loadingProgressBuilder) @@ -151,7 +131,7 @@ export function hookProgressContentModifier( } const progressBuilder = (parentNode: KPointer, config: ProgressConfiguration): KPointer => { return CallbackTransformer.transformToPeerFromCustomBuilder( - memoWrapper(wrappedBuilder!.builder, [config])) + memoWrapper(wrappedBuilder!.builder, config)) } if (value) { ContentModifierHelper.contentModifierProgress(receiver.getPeer().peer.ptr, value!, progressBuilder) @@ -167,7 +147,7 @@ export function hookRadioContentModifier( } const radioBuilder = (parentNode: KPointer, config: RadioConfiguration): KPointer => { return CallbackTransformer.transformToPeerFromCustomBuilder( - memoWrapper(wrappedBuilder!.builder, [config])) + memoWrapper(wrappedBuilder!.builder, config)) } if (value) { ContentModifierHelper.contentModifierRadio(receiver.getPeer().peer.ptr, value!, radioBuilder) @@ -183,7 +163,7 @@ export function hookRatingContentModifier( } const ratingBuilder = (parentNode: KPointer, config: RatingConfiguration): KPointer => { return CallbackTransformer.transformToPeerFromCustomBuilder( - memoWrapper(wrappedBuilder!.builder, [config])) + memoWrapper(wrappedBuilder!.builder, config)) } if (value) { ContentModifierHelper.contentModifierRating(receiver.getPeer().peer.ptr, value!, ratingBuilder) @@ -199,7 +179,7 @@ export function hookSelectContentModifier( } const menuItemBuilder = (parentNode: KPointer, config: MenuItemConfiguration): KPointer => { return CallbackTransformer.transformToPeerFromCustomBuilder( - memoWrapper(wrappedBuilder!.builder, [config])) + memoWrapper(wrappedBuilder!.builder, config)) } if (value) { ContentModifierHelper.contentModifierMenuItem(receiver.getPeer().peer.ptr, value!, menuItemBuilder) @@ -215,7 +195,7 @@ export function hookSliderContentModifier( } const sliderBuilder = (parentNode: KPointer, config: SliderConfiguration): KPointer => { return CallbackTransformer.transformToPeerFromCustomBuilder( - memoWrapper(wrappedBuilder!.builder, [config])) + memoWrapper(wrappedBuilder!.builder, config)) } if (value) { ContentModifierHelper.contentModifierSlider(receiver.getPeer().peer.ptr, value!, sliderBuilder) @@ -231,7 +211,7 @@ export function hookTextClockContentModifier( } const textClockBuilder = (parentNode: KPointer, config: TextClockConfiguration): KPointer => { return CallbackTransformer.transformToPeerFromCustomBuilder( - memoWrapper(wrappedBuilder!.builder, [config])) + memoWrapper(wrappedBuilder!.builder, config)) } if (value) { ContentModifierHelper.contentModifierTextClock(receiver.getPeer().peer.ptr, value!, textClockBuilder) @@ -247,7 +227,7 @@ export function hookTextTimerContentModifier( } const textTimerBuilder = (parentNode: KPointer, config: TextTimerConfiguration): KPointer => { return CallbackTransformer.transformToPeerFromCustomBuilder( - memoWrapper(wrappedBuilder!.builder, [config])) + memoWrapper(wrappedBuilder!.builder, config)) } if (value) { ContentModifierHelper.contentModifierTextTimer(receiver.getPeer().peer.ptr, value!, textTimerBuilder) @@ -263,7 +243,7 @@ export function hookToggleContentModifier( } const toggleBuilder = (parentNode: KPointer, config: ToggleConfiguration): KPointer => { return CallbackTransformer.transformToPeerFromCustomBuilder( - memoWrapper(wrappedBuilder!.builder, [config])) + memoWrapper(wrappedBuilder!.builder, config)) } if (value) { ContentModifierHelper.contentModifierToggle(receiver.getPeer().peer.ptr, value!, toggleBuilder) diff --git a/arkoala-arkts/arkui/src/handwritten/component/builder.ets b/arkoala-arkts/arkui/src/handwritten/component/builder.ets new file mode 100644 index 0000000000..b1a4b1ea8e --- /dev/null +++ b/arkoala-arkts/arkui/src/handwritten/component/builder.ets @@ -0,0 +1,14 @@ +package arkui.component.builder + +import { memo } from "@koalaui/runtime/annotations" + +export class WrappedBuilder { + @memo builder: T; + constructor(t: T) { + this.builder = t; + } +} + +export function wrapBuilder(builder: T): WrappedBuilder { + return new WrappedBuilder(builder); +} \ No newline at end of file diff --git a/arkoala-arkts/arkui/src/handwritten/component/common.ets b/arkoala-arkts/arkui/src/handwritten/component/common.ets new file mode 100644 index 0000000000..e6550ef8a4 --- /dev/null +++ b/arkoala-arkts/arkui/src/handwritten/component/common.ets @@ -0,0 +1,8 @@ +package arkui.component.common + +import { WrappedBuilder } from "./builder" +import { CustomBuilderT } from "../../component/builder" + +export interface ContentModifier { + applyContent(): WrappedBuilder>; +} \ No newline at end of file diff --git a/arkoala-arkts/arkui/src/handwritten/index.ets b/arkoala-arkts/arkui/src/handwritten/index.ets index 5e997598ba..e7008e3837 100644 --- a/arkoala-arkts/arkui/src/handwritten/index.ets +++ b/arkoala-arkts/arkui/src/handwritten/index.ets @@ -22,6 +22,8 @@ export * from "./Router" export * from "./ForeignFunctions" export * from "./resources" export * from "./component/base" +export * from "./component/builder" +export * from "./component/common" export * from "./ContentModifierHooks" export * from "./TestApiHooks" export * from "./ArkStateStyle" -- Gitee