mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-05 05:09:09 -07:00
JS Keyboard add setHeader()
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
let keyboard = require("keyboard");
|
||||
|
||||
// Default text is optional
|
||||
let text = keyboard.text(100, "Some default text", true);
|
||||
keyboard.setHeader("Example Text Input");
|
||||
|
||||
// Default text is optional
|
||||
let text = keyboard.text(100, "Default text", true);
|
||||
print("Got text:", text);
|
||||
@@ -65,6 +65,18 @@ void byte_input_callback(void* context) {
|
||||
view_dispatcher_stop(keyboard->view_dispatcher);
|
||||
}
|
||||
|
||||
static void js_keyboard_set_header(struct mjs* mjs) {
|
||||
JsKeyboardInst* keyboard = get_this_ctx(mjs);
|
||||
|
||||
const char* header;
|
||||
if(!get_str_arg(mjs, 0, &header, true)) return;
|
||||
|
||||
text_input_set_header_text(keyboard->text_input, header);
|
||||
byte_input_set_header_text(keyboard->byte_input, header);
|
||||
|
||||
mjs_return(mjs, MJS_UNDEFINED);
|
||||
}
|
||||
|
||||
static void js_keyboard_text(struct mjs* mjs) {
|
||||
JsKeyboardInst* keyboard = get_this_ctx(mjs);
|
||||
|
||||
@@ -80,11 +92,6 @@ static void js_keyboard_text(struct mjs* mjs) {
|
||||
clear_default = mjs_get_bool(mjs, bool_obj);
|
||||
}
|
||||
|
||||
// TODO: own function
|
||||
// if(strlen(default_text) > 0) {
|
||||
// text_input_set_header_text(keyboard->text_input, default_text);
|
||||
// }
|
||||
|
||||
view_dispatcher_attach_to_gui(
|
||||
keyboard->view_dispatcher, furi_record_open(RECORD_GUI), ViewDispatcherTypeFullscreen);
|
||||
furi_record_close(RECORD_GUI);
|
||||
@@ -114,11 +121,6 @@ static void js_keyboard_byte(struct mjs* mjs) {
|
||||
// strlcpy(buffer, default_data, input_length);
|
||||
// }
|
||||
|
||||
// TODO: own function
|
||||
// if(strlen(default_data) > 0) {
|
||||
// byte_input_set_header_text(keyboard->byte_input, default_data);
|
||||
// }
|
||||
|
||||
view_dispatcher_attach_to_gui(
|
||||
keyboard->view_dispatcher, furi_record_open(RECORD_GUI), ViewDispatcherTypeFullscreen);
|
||||
furi_record_close(RECORD_GUI);
|
||||
@@ -141,6 +143,7 @@ static void* js_keyboard_create(struct mjs* mjs, mjs_val_t* object) {
|
||||
JsKeyboardInst* keyboard = malloc(sizeof(JsKeyboardInst));
|
||||
mjs_val_t keyboard_obj = mjs_mk_object(mjs);
|
||||
mjs_set(mjs, keyboard_obj, INST_PROP_NAME, ~0, mjs_mk_foreign(mjs, keyboard));
|
||||
mjs_set(mjs, keyboard_obj, "setHeader", ~0, MJS_MK_FN(js_keyboard_set_header));
|
||||
mjs_set(mjs, keyboard_obj, "text", ~0, MJS_MK_FN(js_keyboard_text));
|
||||
mjs_set(mjs, keyboard_obj, "byte", ~0, MJS_MK_FN(js_keyboard_byte));
|
||||
keyboard->byte_input = byte_input_alloc();
|
||||
|
||||
Reference in New Issue
Block a user