js: implement keyboard related api

This commit is contained in:
王劲鹏
2021-03-18 18:47:49 +08:00
committed by osborn
parent eba0261082
commit a21cdcd874
11 changed files with 206 additions and 1 deletions

View File

@@ -3409,6 +3409,18 @@ function notch(context) {
};
}
function keyboard(context) {
return {
subscribe: function (callback) {
return context.callNative('keyboard', 'subscribe', context.function2Id(callback));
},
unsubscribe: function (subscribeId) {
context.removeFuncById(subscribeId);
return context.callNative('keyboard', 'unsubscribe', subscribeId);
}
};
}
var __values = (undefined && undefined.__values) || function(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) { return m.call(o); }
@@ -3603,6 +3615,7 @@ exports.hlayout = hlayout;
exports.image = image;
exports.input = input;
exports.internalScheme = internalScheme;
exports.keyboard = keyboard;
exports.layoutConfig = layoutConfig;
exports.list = list;
exports.listItem = listItem;

View File

@@ -2643,6 +2643,18 @@ function notch(context) {
};
}
function keyboard(context) {
return {
subscribe: (callback) => {
return context.callNative('keyboard', 'subscribe', context.function2Id(callback));
},
unsubscribe: (subscribeId) => {
context.removeFuncById(subscribeId);
return context.callNative('keyboard', 'unsubscribe', subscribeId);
}
};
}
class Observable {
constructor(provider, clz) {
this.observers = new Set;
@@ -2789,6 +2801,7 @@ exports.hlayout = hlayout;
exports.image = image;
exports.input = input;
exports.internalScheme = internalScheme;
exports.keyboard = keyboard;
exports.layoutConfig = layoutConfig;
exports.list = list;
exports.listItem = listItem;

View File

@@ -4142,6 +4142,18 @@ function notch(context) {
};
}
function keyboard(context) {
return {
subscribe: (callback) => {
return context.callNative('keyboard', 'subscribe', context.function2Id(callback));
},
unsubscribe: (subscribeId) => {
context.removeFuncById(subscribeId);
return context.callNative('keyboard', 'unsubscribe', subscribeId);
}
};
}
class Observable {
constructor(provider, clz) {
this.observers = new Set;
@@ -4529,6 +4541,7 @@ exports.hlayout = hlayout;
exports.image = image;
exports.input = input;
exports.internalScheme = internalScheme;
exports.keyboard = keyboard;
exports.layoutConfig = layoutConfig;
exports.list = list;
exports.listItem = listItem;

11
doric-js/index.d.ts vendored
View File

@@ -101,6 +101,7 @@ declare module 'doric/lib/src/native/index.native' {
export * from 'doric/lib/src/native/statusbar';
export * from 'doric/lib/src/native/coordinator';
export * from 'doric/lib/src/native/notch';
export * from 'doric/lib/src/native/keyboard';
}
declare module 'doric/lib/src/util/index.util' {
@@ -991,6 +992,16 @@ declare module 'doric/lib/src/native/notch' {
};
}
declare module 'doric/lib/src/native/keyboard' {
import { BridgeContext } from "doric/lib/src/runtime/global";
export function keyboard(context: BridgeContext): {
subscribe: (callback: (data: {
height: number;
}) => void) => Promise<string>;
unsubscribe: (subscribeId: string) => Promise<any>;
};
}
declare module 'doric/lib/src/util/color' {
import { Modeling } from "doric/lib/src/util/types";
/**

View File

@@ -9,3 +9,4 @@ export * from './notification';
export * from './statusbar';
export * from './coordinator';
export * from './notch';
export * from './keyboard';

View File

@@ -24,3 +24,4 @@ export * from './notification';
export * from './statusbar';
export * from './coordinator';
export * from './notch';
export * from './keyboard';

7
doric-js/lib/src/native/keyboard.d.ts vendored Normal file
View File

@@ -0,0 +1,7 @@
import { BridgeContext } from "../runtime/global";
export declare function keyboard(context: BridgeContext): {
subscribe: (callback: (data: {
height: number;
}) => void) => Promise<string>;
unsubscribe: (subscribeId: string) => Promise<any>;
};

View File

@@ -0,0 +1,11 @@
export function keyboard(context) {
return {
subscribe: (callback) => {
return context.callNative('keyboard', 'subscribe', context.function2Id(callback));
},
unsubscribe: (subscribeId) => {
context.removeFuncById(subscribeId);
return context.callNative('keyboard', 'unsubscribe', subscribeId);
}
};
}

View File

@@ -23,4 +23,5 @@ export * from './animate'
export * from './notification'
export * from './statusbar'
export * from './coordinator'
export * from './notch'
export * from './notch'
export * from './keyboard'

View File

@@ -0,0 +1,27 @@
/*
* Copyright [2019] [Doric.Pub]
*
* 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 { BridgeContext } from "../runtime/global"
export function keyboard(context: BridgeContext) {
return {
subscribe: (callback: (data: { height: number }) => void) => {
return context.callNative('keyboard', 'subscribe', context.function2Id(callback)) as Promise<string>
},
unsubscribe: (subscribeId: string) => {
context.removeFuncById(subscribeId)
return context.callNative('keyboard', 'unsubscribe', subscribeId)
}
}
}