1import { 2 memo, 3 __memo_context_type, 4 __memo_id_type, 5 State, 6 StateDecoratedVariable, 7 MutableState, 8 stateOf, 9 observableProxy, 10 Provide 11} from '@ohos.arkui.stateManagement' // should be insert by ui-plugins 12 13import { 14 Image, 15 ImageAttribute, 16 Grid, 17 GridItem, 18 GridAttribute, 19 GridItemAttribute, 20 Text, 21 TextAttribute, 22 Column, 23 ColumnAttribute, 24 Row, 25 RowAttribute, 26 Component, 27 Reusable, 28 Button, 29 ButtonAttribute, 30 ClickEvent, 31 UserView, 32 Scroller, 33 Navigation, 34 NavPathStack, 35 NavPathInfo, 36 Builder, 37 Color, 38 LazyForEach, 39 ForEach 40} from '@ohos.arkui.component' // TextAttribute should be insert by ui-plugins 41 42import hilog from '@ohos.hilog' 43import hiTraceMeter from '@ohos.hiTraceMeter'; 44 45import { routerParam, NavigationParam, pathStack } from './BaseDataMode' 46import { AnimationTest } from './AnimationTest' 47import { NodeContainerTest } from './NodeContainerTest' 48import { IndexAccessibilityTest } from './IndexAccessibilityTest' 49import { InspectorTest } from './InspectorTest' 50import { Image001Test } from './Image001Test' 51import { Image002Test } from './Image002Test' 52import { ButtonTest } from './ButtonTest' 53import { CheckboxTest } from './CheckboxTest' 54import { CheckboxGroupTest } from './CheckboxGroupTest' 55import { Grid001Test } from './Grid001Test' 56import { Grid002Test } from './Grid002Test' 57import { ResourceTest } from './ResourceTest' 58import { SideBarTest } from './SideBarTest' 59import { TextTest } from './TextTest' 60import { TextInputTest } from './TextInputTest' 61import { SearchTest } from './SearchTest' 62import { VideoTest } from './VideoTest' 63import { ShapeTest } from './ShapeTest' 64import { StateLinkPropTest } from './StateLinkPropTest' 65import { StorageLinkAndPropTest } from './StorageLinkAndPropTest' 66import { ObservedObjectLinkTest } from './ObservedObjectLinkTest' 67import { Layout001Test } from './Layout001Test' 68import { Layout002Test } from './Layout002Test' 69import { Layout003Test } from './Layout003Test' 70import { LayoutPropTest } from './LayoutPropTest' 71import { LayoutFunctionTest } from './LayoutFunctionTest' 72import { MultiComponentTest } from './MultiComponentTest' 73import { CanvasTest } from './CanvasTest' 74import { PageOne, PageTwo, NavigationTest } from './NavigationTest' 75import { BindSheetTest } from './BindSheetTest' 76import { BindContentCoverTest } from './BindContentCoverTest' 77import { RichEditorAddTest } from './RichEditorAddTest' 78import { RichEditorDeleteTest } from './RichEditorDeleteTest' 79import { RichEditorCopyPasteTest } from './RichEditorCopyPasteTest' 80import { GestureTest } from './GestureTest' 81import { PolymorphismTest } from './PolymorphismTest' 82import { FocusTest } from './FocusTest' 83import { GetHostContextTest } from './GetHostContextTest' 84import { EmbeddedComponentTest } from './EmbeddedComponentTest' 85import { UIExtensionComponentTest } from './UIExtensionComponentTest' 86 87@Component 88struct MyStateSample { 89 scroller: Scroller = new Scroller() 90 @State data: Array<string> = [ 91 '$r使用资源测试', 92 'NodeContainer功能测试', 93 '无障碍测试', 94 'inspector接口测试', 95 'Image支持$r显示图片', 96 'Image支持网络图片图片', 97 'Image支持BASE64字符串图片', 98 'Button基础功能测试', 99 'checkbox基础功能测试', 100 'CheckboxGroup基础功能测试', 101 'Grid基础功能用例001', 102 'Grid基础功能用例002', 103 'NodeContent挂载命令式节点', 104 '动效测试001', 105 '模态类组件测试001', 106 '模态类组件测试002', 107 '导航类组件测试001', 108 '导航类组件测试002', 109 'Text文本框用例001', 110 'Search搜索框用例001', 111 'TextInput文本输入框用例001', 112 'Video组件基础功能测试用例', 113 'Shape组件基础功能测试用例', 114 'Canvas组件基础功能测试用例', 115 'State/Prop/Link支持基础功能测试', 116 'StorageLink/StorageProp支持基础功能观测', 117 '@Observed/@ObjectLink支持基础功能观测能力', 118 '布局基础功能测试用例001', 119 '布局基础功能测试用例002', 120 '布局基础功能测试用例003', 121 '布局组件基础功能测试用例', 122 '布局属性组件功能', 123 '一多组布局属性组件功能', 124 '富文本输入框用例001', 125 '富文本输入框用例002', 126 '富文本输入框用例003', 127 '手势基础功能测试用例', 128 '多态样式基础功能', 129 '焦点按键基础功能', 130 'getHostContext功能测试', 131 'embeddedComponent功能测试', 132 'UEC功能测试' 133 ]; 134 135 @Builder 136 PageBuilder(name: string, param: Object|null|undefined) { 137 if (name == 'NodeContainer功能测试') { 138 NodeContainerTest() 139 } else if (name == '无障碍测试') { 140 IndexAccessibilityTest() 141 } else if (name == 'inspector接口测试') { 142 InspectorTest() 143 } else if (name === 'Image支持$r显示图片') { 144 Image001Test() 145 } else if (name === 'Image支持网络图片图片') { 146 Image002Test() 147 } else if (name === 'Image支持BASE64字符串图片') { 148 149 } else if (name == 'Button基础功能测试') { 150 ButtonTest() 151 } else if (name == 'checkbox基础功能测试') { 152 CheckboxTest() 153 } else if (name == 'CheckboxGroup基础功能测试') { 154 CheckboxGroupTest() 155 } else if (name == 'Grid基础功能用例001') { 156 Grid001Test() 157 } else if (name == 'Grid基础功能用例002') { 158 Grid002Test() 159 } else if (name == '$r使用资源测试') { 160 ResourceTest() 161 } else if (name == 'NodeContent挂载命令式节点') { 162 163 } else if (name == '动效测试001') { 164 AnimationTest() 165 } else if (name == '模态类组件测试001') { 166 BindSheetTest() 167 } else if (name == '模态类组件测试002') { 168 BindContentCoverTest() 169 } else if (name == '导航类组件测试001') { 170 NavigationTest() 171 } else if (name == '导航类组件测试002') { 172 SideBarTest() 173 } else if (name == 'Text文本框用例001') { 174 TextTest() 175 } else if (name == 'Search搜索框用例001') { 176 SearchTest() 177 } else if (name == 'TextInput文本输入框用例001') { 178 TextInputTest() 179 } else if (name == 'Video组件基础功能测试用例') { 180 VideoTest() 181 } else if (name == 'Shape组件基础功能测试用例') { 182 ShapeTest() 183 } else if (name == 'Canvas组件基础功能测试用例') { 184 CanvasTest() 185 } else if (name == 'State/Prop/Link支持基础功能测试') { 186 StateLinkPropTest() 187 } else if (name == 'StorageLink/StorageProp支持基础功能观测') { 188 StorageLinkAndPropTest() 189 } else if ( name == '@Observed/@ObjectLink支持基础功能观测能力') { 190 ObservedObjectLinkTest() 191 } else if (name == '布局基础功能测试用例001') { 192 Layout001Test() 193 } else if (name == '布局基础功能测试用例002') { 194 Layout002Test() 195 } else if (name == '布局基础功能测试用例003') { 196 Layout003Test() 197 } else if (name == '布局组件基础功能测试用例') { 198 LayoutFunctionTest() 199 } else if (name == '布局属性组件功能') { 200 LayoutPropTest() 201 } else if (name == '一多组布局属性组件功能') { 202 MultiComponentTest() 203 } else if (name == 'pageOne') { 204 PageOne() 205 } else if (name == 'pageTwo') { 206 PageTwo() 207 } else if (name == '富文本输入框用例001') { 208 RichEditorAddTest() 209 } else if (name == '富文本输入框用例002') { 210 RichEditorDeleteTest() 211 } else if (name == '富文本输入框用例003') { 212 RichEditorCopyPasteTest() 213 } else if (name == '手势基础功能测试用例') { 214 GestureTest() 215 } else if (name == '多态样式基础功能') { 216 PolymorphismTest() 217 } else if (name == '焦点按键基础功能') { 218 FocusTest() 219 } else if (name == 'getHostContext功能测试') { 220 GetHostContextTest() 221 } else if (name == 'embeddedComponent功能测试') { 222 EmbeddedComponentTest() 223 } else if (name == 'UEC功能测试') { 224 UIExtensionComponentTest() 225 } 226 } 227 228 build() { 229 Navigation(pathStack) { 230 Column(undefined) { 231 Grid(undefined, undefined) { 232 ForEach(this.data, (item: string, index: number): void => { 233 GridItem(undefined) { 234 Button(item) 235 .width('100%') 236 .height(44) 237 .onClick((e?: ClickEvent) => { 238 let info: NavPathInfo = new NavPathInfo(item, new NavigationParam('this is push ' + item)) 239 pathStack.pushPath(info, undefined) 240 }) 241 } 242 .width('80%') 243 .height(80) 244 }, (item: string, index: number): string => JSON.stringify(item.valueOf()) 245 ) 246 } 247 .height('100%') 248 .columnsTemplate('1fr 1fr') 249 .columnsGap(0) 250 .rowsGap(0) 251 .clip(true) 252 } 253 }.navDestination(this.PageBuilder) 254 .title('强基用例L0 Demo') 255 } 256} 257 258export class ComExampleTrivialApplication extends UserView { 259 getBuilder() { 260 hilog.info(0x0000, 'testTag', 'getBuilder'); 261 let wrapper = @memo () => { 262 hilog.info(0x0000, 'testTag', 'MyStateSample'); 263 MyStateSample(undefined) 264 } 265 return wrapper 266 } 267}