diff --git a/BUILD.gn b/BUILD.gn old mode 100755 new mode 100644 index 954f8e873dc6bd98a62fac3041722178724e0a4a..55e3b6c606ef30a718baad9378b1aa35dd05369f --- a/BUILD.gn +++ b/BUILD.gn @@ -12,13 +12,175 @@ # limitations under the License. import("//build/ohos.gni") +import("//build/ohos/notice/notice.gni") +import("//build/templates/metadata/module_info.gni") + +ohos_copy("ets_internal_api") { + sources = [ + "api/@internal/ets/index.d.ts", + "api/@internal/global.d.ts", + ] + outputs = [ target_out_dir + "/$target_name/{{source_file_part}}" ] + module_source_dir = target_out_dir + "/$target_name" + module_install_name = "" +} + +ohos_copy("ets_component") { + sources = [ + "api/@internal/component/ets/ability_component.d.ts", + "api/@internal/component/ets/alert_dialog.d.ts", + "api/@internal/component/ets/alphabet_indexer.d.ts", + "api/@internal/component/ets/animator.d.ts", + "api/@internal/component/ets/blank.d.ts", + "api/@internal/component/ets/button.d.ts", + "api/@internal/component/ets/calendar.d.ts", + "api/@internal/component/ets/camera.d.ts", + "api/@internal/component/ets/circle.d.ts", + "api/@internal/component/ets/column.d.ts", + "api/@internal/component/ets/column_split.d.ts", + "api/@internal/component/ets/common.d.ts", + "api/@internal/component/ets/counter.d.ts", + "api/@internal/component/ets/custom_dialog_controller.d.ts", + "api/@internal/component/ets/datapanel.d.ts", + "api/@internal/component/ets/divider.d.ts", + "api/@internal/component/ets/ellipse.d.ts", + "api/@internal/component/ets/flex.d.ts", + "api/@internal/component/ets/forEach.d.ts", + "api/@internal/component/ets/form_component.d.ts", + "api/@internal/component/ets/geometryView.d.ts", + "api/@internal/component/ets/gesture.d.ts", + "api/@internal/component/ets/grid.d.ts", + "api/@internal/component/ets/gridItem.d.ts", + "api/@internal/component/ets/grid_container.d.ts", + "api/@internal/component/ets/image.d.ts", + "api/@internal/component/ets/image_animator.d.ts", + "api/@internal/component/ets/index.d.ts", + "api/@internal/component/ets/lazyForEach.d.ts", + "api/@internal/component/ets/list.d.ts", + "api/@internal/component/ets/listItem.d.ts", + "api/@internal/component/ets/loadingProgress.d.ts", + "api/@internal/component/ets/navigator.d.ts", + "api/@internal/component/ets/navigatorView.d.ts", + "api/@internal/component/ets/pageTransition.d.ts", + "api/@internal/component/ets/panel.d.ts", + "api/@internal/component/ets/path.d.ts", + "api/@internal/component/ets/piece.d.ts", + "api/@internal/component/ets/polygon.d.ts", + "api/@internal/component/ets/polyline.d.ts", + "api/@internal/component/ets/progress.d.ts", + "api/@internal/component/ets/qrcode.d.ts", + "api/@internal/component/ets/radio.d.ts", + "api/@internal/component/ets/rating.d.ts", + "api/@internal/component/ets/rect.d.ts", + "api/@internal/component/ets/row.d.ts", + "api/@internal/component/ets/row_split.d.ts", + "api/@internal/component/ets/scroll.d.ts", + "api/@internal/component/ets/shape.d.ts", + "api/@internal/component/ets/slider.d.ts", + "api/@internal/component/ets/span.d.ts", + "api/@internal/component/ets/stack.d.ts", + "api/@internal/component/ets/stateManagement.d.ts", + "api/@internal/component/ets/swiper.d.ts", + "api/@internal/component/ets/tab_content.d.ts", + "api/@internal/component/ets/tabs.d.ts", + "api/@internal/component/ets/text.d.ts", + "api/@internal/component/ets/toggle.d.ts", + "api/@internal/component/ets/video.d.ts", + ] + outputs = [ target_out_dir + "/$target_name/{{source_file_part}}" ] + module_source_dir = target_out_dir + "/$target_name" + module_install_name = "" +} + +ohos_copy("common_api") { + sources = [ + "api/common/@system.app.d.ts", + "api/common/@system.battery.d.ts", + "api/common/@system.bluetooth.d.ts", + "api/common/@system.brightness.d.ts", + "api/common/@system.cipher.d.ts", + "api/common/@system.configuration.d.ts", + "api/common/@system.device.d.ts", + "api/common/@system.fetch.d.ts", + "api/common/@system.file.d.ts", + "api/common/@system.geolocation.d.ts", + "api/common/@system.mediaquery.d.ts", + "api/common/@system.network.d.ts", + "api/common/@system.notification.d.ts", + "api/common/@system.package.d.ts", + "api/common/@system.prompt.d.ts", + "api/common/@system.request.d.ts", + "api/common/@system.router.d.ts", + "api/common/@system.sensor.d.ts", + "api/common/@system.storage.d.ts", + "api/common/@system.vibrator.d.ts", + ] + outputs = [ target_out_dir + "/$target_name/{{source_file_part}}" ] + module_source_dir = target_out_dir + "/$target_name" + module_install_name = "" +} + +template("ohos_declaration_template") { + forward_variables_from(invoker, "*") + action_with_pydeps(target_name) { + script = "//interface/sdk-js/remove_internal.py" + outputs = [ root_out_dir + "/$target_name/" ] + args = [ + "--input", + rebase_path("//interface/sdk-js/api", root_build_dir), + "--output", + rebase_path(root_out_dir + "/ohos_declaration/$target_name/", + root_build_dir), + ] + } + _module_info_target = "/ohos_declaration/${target_name}_info" + _target_name = target_name + generate_module_info(_module_info_target) { + module_type = "jsdoc" + module_install_name = "" + module_name = _target_name + module_source_dir = root_out_dir + "/ohos_declaration/$_target_name" + install_enable = false + } +} + +ohos_declaration_template("ohos_declaration_common") { +} +ohos_declaration_template("ohos_declaration_phone") { +} +ohos_declaration_template("ohos_declaration_tablet") { +} +ohos_declaration_template("ohos_declaration_tv") { +} +ohos_declaration_template("ohos_declaration_wearable") { +} +ohos_declaration_template("ohos_declaration_ets") { +} ohos_copy("ace_platform") { sources = [ + "api/common", "api/config", + "api/liteWearable", "api/phone", + "api/router", + "api/smartVision", + "api/tablet", + "api/tv", + "api/wearable", + ] + outputs = [ target_out_dir + "/$target_name/{{source_file_part}}" ] + module_source_dir = target_out_dir + "/$target_name" + module_install_name = "" +} + +ohos_copy("form_declaration") { + sources = [ + "api/form/action", + "api/form/css", + "api/form/hml", ] outputs = [ target_out_dir + "/$target_name/{{source_file_part}}" ] module_source_dir = target_out_dir + "/$target_name" module_install_name = "" -} \ No newline at end of file +} diff --git a/api/@internal/component/ets/ability_component.d.ts b/api/@internal/component/ets/ability_component.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..06bb6c2d78768190c05f83dd9c480b34b64f9897 --- /dev/null +++ b/api/@internal/component/ets/ability_component.d.ts @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2021 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 {CommonMethod} from "./common"; +import {Want} from "../../../ability/want"; + +export declare class AbilityController { + constructor(); + startAbility(value: Want); + performBackPress(); + getStackCount(); +} + +interface AbilityComponent extends CommonMethod { + (value: { want: Want, controller?: AbilityController }): AbilityComponent; + + onReady(event: () => void): AbilityComponent; + onDestroy(event: () => void): AbilityComponent; + onAbilityCreated(event: (name: string) => void): AbilityComponent; + onAbilityMoveToFront(event: () => void): AbilityComponent; + onAbilityWillRemove(event: () => void): AbilityComponent; +} + +export declare const AbilityComponentInterface: AbilityComponent; diff --git a/api/@internal/component/ets/alert_dialog.d.ts b/api/@internal/component/ets/alert_dialog.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..620f47db15360d2d22437bfdba9591eda0e3cfa9 --- /dev/null +++ b/api/@internal/component/ets/alert_dialog.d.ts @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2021 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 {CommonMethod, Resource} from "./common" + +interface AlertDialog extends CommonMethod { + show(value: { + title?: string | Resource; + message: string | Resource; + autoCancel?: boolean; + confirm?: { + value: string | Resource; + action: () => void; + }; + cancel?: () => void; + } | { + title?: string | Resource; + message: string | Resource; + autoCancel?: boolean; + primaryButton: { + value: string | Resource; + action: () => void; + }; + secondaryButton: { + value: string | Resource; + action: () => void; + }; + cancel?: () => void; + }); +} + +export declare const AlertDialogInterface: AlertDialog; diff --git a/api/@internal/component/ets/alphabet_indexer.d.ts b/api/@internal/component/ets/alphabet_indexer.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..db74e50e4cf284eb1cde57d1d6ff21a9f618c22a --- /dev/null +++ b/api/@internal/component/ets/alphabet_indexer.d.ts @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2021 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 {CommonMethod, Color, Resource} from "./common"; +import {FontWeight, FontStyle} from "./text"; + +export declare enum IndexerAlign { + Left, + Right +} + +interface AlphabetIndexer extends CommonMethod { + (value: {ArrayValue : Array, selected : number}): AlphabetIndexer; + + onSelected(event: (index: number) => void): AlphabetIndexer; + + color(value: Color | number | string | Resource): AlphabetIndexer; + + selectedColor(value: Color | number | string | Resource): AlphabetIndexer; + + popupColor(value: Color | number | string | Resource): AlphabetIndexer; + + selectedBackgroundColor(value: Color | number | string | Resource): AlphabetIndexer; + + popupBackground(value: Color | number | string | Resource): AlphabetIndexer; + + usingPopup(value: boolean): AlphabetIndexer; + + selectedFont(value: { size?: number, weight?: FontWeight, family?: string, style?: FontStyle}): AlphabetIndexer; + + popupFont(value: { size?: number, weight?: FontWeight, family?: string, style?: FontStyle}): AlphabetIndexer; + + iteamSize(value: string | number): AlphabetIndexer; + + font(value: { size?: number, weight?: FontWeight, family?: string, style?: FontStyle}): AlphabetIndexer; + + alignStyle(value: IndexerAlign): AlphabetIndexer; +} + +export declare const AlphabetIndexerInterface: AlphabetIndexer; diff --git a/api/@internal/component/ets/animator.d.ts b/api/@internal/component/ets/animator.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..5b2b585be9b07839347aa037032d62c593f87dc0 --- /dev/null +++ b/api/@internal/component/ets/animator.d.ts @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2021 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 {CommonMethod, AnimationStatus, Curve, FillMode, PlayMode} from "./common"; + +export declare class SpringProp { + constructor(mass: number, stiffness: number, damping: number): SpringProp; +} + +export declare class SpringMotion { + constructor(start: number, end: number, velocity: number, prop: SpringProp): SpringMotion; +} + +export declare class FrictionMotion { + constructor(friction: number, position: number, velocity: number): FrictionMotion; +} + +export declare class ScrollMotion { + constructor(position: number, velocity: number, min: number, max: number, prop: SpringProp): ScrollMotion; +} + +interface Animator extends CommonMethod { + (value: string): Animator; + + state(value: AnimationStatus): Animator; + + duration(value: number): Animator; + + curve(value: Curve): Animator; + + delay(value: number): Animator; + + fillMode(value: FillMode): Animator; + + iterations(value: number): Animator; + + playMode(value: PlayMode): Animator; + + motion(value: Motion): Animator; + + onStart(event: () => void): Animator; + + onPause(event: () => void): Animator; + + onRepeat(event: () => void): Animator; + + onCancel(event: () => void): Animator; + + onFinish(event: () => void): Animator; + + onFrame(event: (value: number) => void): Animator; +} + +export declare const AnimatorInterface: Animator; \ No newline at end of file diff --git a/api/@internal/component/ets/blank.d.ts b/api/@internal/component/ets/blank.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..91fcb25f9be5d7aedb4be61b2458ea3517049bbe --- /dev/null +++ b/api/@internal/component/ets/blank.d.ts @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2021 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 {CommonMethod, Color, Resource} from "./common" + +interface Blank extends CommonMethod { + (min?: number | string): Blank; + + color(value: Color | number | string | Resource): Blank; +} + +export declare const BlankInterface: Blank \ No newline at end of file diff --git a/api/@internal/component/ets/button.d.ts b/api/@internal/component/ets/button.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..a27720e294d7dac0d8792f5fd9b4207fd7ff487a --- /dev/null +++ b/api/@internal/component/ets/button.d.ts @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2021 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 {CommonMethod, Color, Resource} from "./common" +import {FontWeight} from "./text" + +export declare enum ButtonType { + Capsule, + Circle, + Arc, + Normal +} + +interface Button extends CommonMethod