From a4d602900000f0bb448bf778e6e7dbbe7e0ecfcb Mon Sep 17 00:00:00 2001 From: Ilya Erokhin Date: Thu, 11 Sep 2025 13:33:28 +0300 Subject: [PATCH] Move TabContent builder function to handwritten part Signed-off-by: Ilya Erokhin --- .../arkui/generated/component/tabContent.ets | 19 ---------- .../arkui/src/component/tabContent.ets | 36 +++++++++++++++++++ .../arkui/generated/handwritten/index.ets | 12 ++++++- subset/arkoala/arkui/src/handwritten/index.ts | 11 +++++- subset/arkoala/arkui/src/main.ts | 4 +-- 5 files changed, 59 insertions(+), 23 deletions(-) create mode 100644 arkoala-arkts/arkui/src/component/tabContent.ets diff --git a/arkoala-arkts/arkui/generated/component/tabContent.ets b/arkoala-arkts/arkui/generated/component/tabContent.ets index 7c18727291..c0988ee928 100644 --- a/arkoala-arkts/arkui/generated/component/tabContent.ets +++ b/arkoala-arkts/arkui/generated/component/tabContent.ets @@ -313,25 +313,6 @@ export class ArkTabContentComponent extends ArkCommonMethodComponent implements } } -@memo -export function TabContent( - @memo - style: ((attributes: TabContentAttribute) => void) | undefined, - - @memo - content_?: () => void, -): void { - const receiver = remember((): ArkTabContentComponent => { - return new ArkTabContentComponent() - }) - NodeAttach((): ArkTabContentPeer => ArkTabContentPeer.create(receiver), (_: ArkTabContentPeer): void => { - receiver.setTabContentOptions() - style?.(receiver) - content_?.() - receiver.applyAttributesFinish() - }) -} - export class SubTabBarStyle { _content?: arkui_component_units_ResourceStr | arkui_component_units_ResourceStr | ComponentContent | undefined _indicator?: SubTabBarIndicatorStyle | undefined diff --git a/arkoala-arkts/arkui/src/component/tabContent.ets b/arkoala-arkts/arkui/src/component/tabContent.ets new file mode 100644 index 0000000000..5deddf3aa4 --- /dev/null +++ b/arkoala-arkts/arkui/src/component/tabContent.ets @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2024-2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { memo, NodeAttach, remember } from "arkui.stateManagement.runtime" +import { TabContentAttribute, ArkTabContentComponent, ArkTabContentPeer } from "#generated" + +@memo +export function TabContent( + @memo + style: ((attributes: TabContentAttribute) => void) | undefined, + + @memo + content_?: () => void, +): void { + const receiver = remember((): ArkTabContentComponent => { + return new ArkTabContentComponent() + }) + NodeAttach((): ArkTabContentPeer => ArkTabContentPeer.create(receiver), (_: ArkTabContentPeer): void => { + receiver.setTabContentOptions() + style?.(receiver) + content_?.() + receiver.applyAttributesFinish() + }) +} \ No newline at end of file diff --git a/subset/arkoala-arkts/arkui/generated/handwritten/index.ets b/subset/arkoala-arkts/arkui/generated/handwritten/index.ets index 9dc410f56c..0f98dc2bc0 100644 --- a/subset/arkoala-arkts/arkui/generated/handwritten/index.ets +++ b/subset/arkoala-arkts/arkui/generated/handwritten/index.ets @@ -33,6 +33,7 @@ import { ArkToggleComponent, ToggleConfiguration } from "../framework" import { BusinessErrorInterface, PageMapNodeBuilder } from "../framework" import { BusinessError } from "../framework/ohos.base" import { pointer } from "@koalaui/interop" +import { memo } from "arkui.stateManagement.runtime" export interface PageTransitionExitInterface {} export interface CommonTransition {} @@ -164,4 +165,13 @@ export class WrappedBuilder {} export class ComponentContentBase {} -export class ComponentContent extends ComponentContentBase {} \ No newline at end of file +export class ComponentContent extends ComponentContentBase {} + +export interface TabContentAttribute {} +@memo +export function TabContent( + @memo + style: ((attributes: TabContentAttribute) => void) | undefined, + @memo + content_?: () => void, +): void {} \ No newline at end of file diff --git a/subset/arkoala/arkui/src/handwritten/index.ts b/subset/arkoala/arkui/src/handwritten/index.ts index 7c41ad684c..8f2c3558df 100644 --- a/subset/arkoala/arkui/src/handwritten/index.ts +++ b/subset/arkoala/arkui/src/handwritten/index.ts @@ -123,4 +123,13 @@ export class CustomDialogController { } export class ComponentContentBase {} -export class ComponentContent extends ComponentContentBase {} \ No newline at end of file +export class ComponentContent extends ComponentContentBase {} + +export interface TabContentAttribute {} +/** @memo */ +export function TabContent( + /** @memo */ + style: ((attributes: TabContentAttribute) => void) | undefined, + /** @memo */ + content_?: () => void, +): void {} \ No newline at end of file diff --git a/subset/arkoala/arkui/src/main.ts b/subset/arkoala/arkui/src/main.ts index d723cca3d8..81295d125f 100644 --- a/subset/arkoala/arkui/src/main.ts +++ b/subset/arkoala/arkui/src/main.ts @@ -20,7 +20,7 @@ import { ArkButtonPeer, ArkFormComponentPeer, ArkSideBarContainerPeer, ArkSideBarContainerComponent, - ArkTabContentPeer, + //ArkTabContentPeer, SubTabBarStyle, BottomTabBarStyle, ArkCommonMethodPeer, @@ -472,7 +472,7 @@ function checkOverloads() { function checkTabContent() { startNativeTest(checkTabContent.name, CALL_GROUP_LOG) - let peer = ArkTabContentPeer.create() + //let peer = ArkTabContentPeer.create() const subTabBarStyle: SubTabBarStyle = new SubTabBarStyle("ContentResource").id("subId") // assertEquals("SubTabBarStyle content", "ContentResource", subTabBarStyle._content) assertEquals("SubTabBarStyle id", "subId", subTabBarStyle._id) -- Gitee