28 Commits

Author SHA1 Message Date
luk3yx
f306f01f57 Luanti rename, add ButtonURL support 2024-11-08 15:52:39 +13:00
luk3yx
e0626bdb42 Relicense to LGPL 2.1+
I think it's unlikely that flow will be used in the main menu, but now
licensing (hopefully) won't be an issue
2024-08-28 17:47:06 +12:00
luk3yx
314174f395 Fix test 2024-08-13 10:37:01 +12:00
luk3yx
ba9bda75ef Add unit tests for dropdown workaround 2024-08-13 10:35:59 +12:00
luk3yx
d990864834 Fix tests 2024-08-13 10:27:34 +12:00
luk3yx
150cef9399 Change prefix of auto-generated field names
Fixes behaviour with https://github.com/minetest/minetest/pull/14878

I've also added a workaround to preserve the current behaviour of
dropdowns that don't have index_event set.
2024-08-13 10:22:47 +12:00
Lazerbeak12345
76e4b68bc9
test(embed): test initial ctx state (#16) 2024-08-10 10:43:36 +12:00
luk3yx
0b25461948 Fix unit test 2024-07-25 19:52:05 +12:00
luk3yx
8f0d86a53a Add (indirect) unit test for change_ctx 2024-07-25 19:50:53 +12:00
Lazerbeak12345
1528e87864
feat: Embed support (#15)
Co-authored-by: luk3yx <luk3yx@users.noreply.github.com>
2024-07-25 19:40:18 +12:00
luk3yx
da87496e26 Add listcolors to invisible_elems 2024-06-30 21:32:35 +12:00
luk3yx
13136ab2dc Add enter_after_edit parameter to Field
Closes https://gitlab.com/luk3yx/minetest-flow/-/issues/3
2024-06-18 15:02:14 +12:00
luk3yx
a3523c7073 The example form doesn't show a field by default 2024-05-18 19:25:56 +12:00
luk3yx
5215229d8c Add inline styles and tooltips 2024-05-15 10:49:36 +12:00
luk3yx
918002d505 Even more input validation 2023-08-08 21:55:09 +12:00
luk3yx
f5b7bc796a Add additional input validation
This makes it harder to crash mods that aren't expecting malicious
formspec input.

I don't like the large amount of unit tests but I don't see how to avoid
them and arguably those tests should have been there beforehand anyway.
2023-08-04 19:05:53 +12:00
luk3yx
dd9976296b Fix unit test 2023-07-08 12:19:23 +12:00
luk3yx
4046fed55f Translate labels before calculating their size
I've made a new naive_str_width function that tries to estimate the
width of UTF-8 text and is faster than strip_escape_sequences on LuaJIT
(I guess because there isn't an intermediate string being created).

Closes #4
2023-06-16 14:06:32 +12:00
Lazerbeak12345
5bb5dba625
feat: add locale support (#9)
Co-authored-by: luk3yx <luk3yx@users.noreply.github.com>
2023-06-11 22:10:19 +12:00
Lazerbeak12345
35fa361f8d
fix: bgcolor settings for root node (#7) 2023-06-01 16:56:03 +12:00
Lazerbeak12345
435efd014e
feat(flow.widgets): Add nil gui object (#6)
Skipped over by rendering library, and not included in output formspec.
2023-04-19 16:54:04 +12:00
Lazerbeak12345
60d2674a45
feat: Add render_to_formspec_string function (#5)
Co-authored-by: luk3yx <luk3yx@users.noreply.github.com>
2023-04-08 13:13:44 +12:00
Lazerbeak12345
bba30cc267
feat: Add set_as_inventory_for API function (#2)
Adds the `Form:set_as_inventory_for(player, [ctx])` API.

Also includes:

 • `Form:unset_as_inventory_for(player)`
 • Extends private `show_form` to account for inv edge cases
 • Extends private `on_fs_input` to account for inv edge cases
 • Adds several abstraction functions
 • Add feature to `on_leaveplayer` to delete the inv formspec state as well
 • Add a few unit tests for related features
2023-03-26 15:44:31 +13:00
luk3yx
5f2e601938 Fix gui.Stack expanding 2023-02-09 11:08:00 +13:00
luk3yx
a2fc646e77 Add gui.Stack 2023-02-01 18:08:58 +13:00
luk3yx
299ccfcddc Add visible = false (may be renamed in the future) 2023-01-08 17:13:44 +13:00
luk3yx
bb102c360f Make luacheck ignore test.lua 2023-01-02 16:36:30 +13:00
luk3yx
048bd0a082 WIP: Unit tests 2023-01-02 16:34:07 +13:00