From 66a9640d9c4d1101ae5cc986e4e0c86c20262f25 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Wed, 13 Aug 2025 19:59:04 +0530 Subject: Add docs for events and event opts + document web.json --- docs/api/index.html | 441 +++++++++++++++++++++++++++++++++++++++++++++++++- docs/api/symbols.json | 2 +- 2 files changed, 441 insertions(+), 2 deletions(-) (limited to 'docs/api') diff --git a/docs/api/index.html b/docs/api/index.html index fa2ab5a..cfa0023 100644 --- a/docs/api/index.html +++ b/docs/api/index.html @@ -177,6 +177,18 @@ Open help docs for a given item + print (value) + Print a lua object to inspect + + + web.json.encode (obj, opts) + Encodes lua object as json into a string + + + web.json.decode (json_str, opts) + Decodes a string into a lua object + + web.utils.string_trim (str) Trim whitespace from start and end of a string @@ -203,6 +215,46 @@ WebOpts Maps to values defined in ./src/Configuration.hpp + + WebEvents + Events that can be listened to with web.events.add_listener + + + WinCreatedEventOpts + + + + ViewCreatedEventOpts + + + + ViewSelectedEventOpts + + + + ViewClosedEventOpts + + + + UrlChangedEventOpts + + + + PermissionRequestedEventOpts + + + + ModeChangedEventOpts + + + + KeyPressedEventOpts + + + + NotificationReceivedEventOpts + +

Fields

@@ -676,12 +728,16 @@ web.view.reload({ view = See also: +

Usage:

@@ -1038,6 +1094,93 @@ web.view.reload({ view = +
+ + print (value) +
+
+ Print a lua object to inspect + + +

Parameters:

+
    +
  • value + any + +
  • +
+ + + + + +
+
+ + web.json.encode (obj, opts) +
+
+ Encodes lua object as json into a string + + +

Parameters:

+
    +
  • obj + any + Value to encode into json string +
  • +
  • opts Options +
      +
    • indent + boolean? Whether to enable indentation (default: false) +
    • +
    +
+ +

Returns:

+
    + + string + +
+ + + + +
+
+ + web.json.decode (json_str, opts) +
+
+ Decodes a string into a lua object + + +

Parameters:

+
    +
  • json_str + string + Json string to decode +
  • +
  • opts Options +
      +
    • null + any What to use as null value (default: nil) +
    • +
    +
+ +

Returns:

+
    + + any + +
+ + + +
@@ -1211,6 +1354,12 @@ web.view.reload({ view = new_view_url string URL used when view url is not specified (default: 'https://duckduckgo.com') +
  • null_assets_dir + string (readonly) Directory where null assets are installed +
  • +
  • null_docs_dir + string (readonly) Directory where null docs are installed +
  • permissions_persistance 'always'|'session'|'never' How to persist choices for permissions (default: 'always')
  • @@ -1223,6 +1372,296 @@ web.view.reload({ view = +
    + + WebEvents +
    +
    + Events that can be listened to with web.events.add_listener + + + + + +

    See also:

    + + +

    Usage:

    +
      +
      web.events.add_listener('UrlChanged', {
      +  callback = function(opts)
      +    print(opts.url)
      +  },
      +end)
      +
    + +
    +
    + + WinCreatedEventOpts +
    +
    + + + +

    Fields:

    +
      +
    • type + 'WinCreated' +
    • +
    • view + integer +
    • +
    • win + integer +
    • +
    + + + + + +
    +
    + + ViewCreatedEventOpts +
    +
    + + + +

    Fields:

    +
      +
    • type + 'ViewCreated' +
    • +
    • view + integer +
    • +
    • win + integer +
    • +
    + + + + + +
    +
    + + ViewSelectedEventOpts +
    +
    + + + +

    Fields:

    +
      +
    • type + 'ViewSelected' +
    • +
    • view + integer +
    • +
    • win + integer +
    • +
    + + + + + +
    +
    + + ViewClosedEventOpts +
    +
    + + + +

    Fields:

    +
      +
    • type + 'ViewClosed' +
    • +
    • view + integer +
    • +
    • win + integer +
    • +
    + + + + + +
    +
    + + UrlChangedEventOpts +
    +
    + + + +

    Fields:

    +
      +
    • type + 'UrlChanged' +
    • +
    • view_id + integer +
    • +
    • win_id + integer +
    • +
    • url + string +
    • +
    + + + + + +
    +
    + + PermissionRequestedEventOpts +
    +
    + + + +

    Fields:

    +
      +
    • type + 'PermissionRequested' +
    • +
    • premission_type + 'MediaAudioCapture' | 'MediaVideoCapture' | 'MediaAudioVideoCapture' | 'DesktopVideoCapture' | 'DesktopAudioVideoCapture' | 'MouseLock' | 'Notifications' | 'Geolocation' | 'ClipboardReadWrite' | 'LocalFontsAccess' | 'Unsupported' +
    • +
    • webview_id + integer +
    • +
    • win_id + integer +
    • +
    • accept + fun():nil +
    • +
    • reject + fun():nil +
    • +
    + + + + + +
    +
    + + ModeChangedEventOpts +
    +
    + + + +

    Fields:

    +
      +
    • type + 'ModeChanged' +
    • +
    • mode + string +
    • +
    + + + + + +
    +
    + + KeyPressedEventOpts +
    +
    + + + +

    Fields:

    +
      +
    • type + 'KeyPressed' +
    • +
    • key + string +
    • +
    + + + + + +
    +
    + + NotificationReceivedEventOpts +
    +
    + + + +

    Fields:

    +
      +
    • type + 'NotificationReceived' +
    • +
    • title + string +
    • +
    • message + string +
    • +
    • tag + string +
    • +
    • origin + string +
    • +
    • click + fun():nil +
    • +
    • show + fun():nil +
    • +
    • close + fun():nil +
    • +
    + + + + +

    Fields

    diff --git a/docs/api/symbols.json b/docs/api/symbols.json index aa356c5..8b5319e 100644 --- a/docs/api/symbols.json +++ b/docs/api/symbols.json @@ -1 +1 @@ -["_G.__internals","schedule","web.keymap.set","web.keymap.set_mode","web.keymap.get_mode","web.view.close","web.view.create","web.view.current","web.view.list","web.view.select","web.view.set_url","web.view.set_html","web.view.run_js","web.view.reload","web.view.expose","web.view.open_devtools","web.view.current_index","web.event.add_listener","set","get","WebOpts","opts","web.history.back","web.history.forward","web.search.set_text","web.search.reset","web.search.get_text","web.search.next","web.search.previous","web.view.scroll","web.view.scroll_to_top","web.view.scroll_to_bottom","web.help.get_items","web.help.show","uv","inspect","web.utils.string_trim","web.utils.table_merge","web.utils.table_keys","web.utils.equals","web.utils.table_contains"] \ No newline at end of file +["_G.__internals","schedule","web.keymap.set","web.keymap.set_mode","web.keymap.get_mode","web.view.close","web.view.create","web.view.current","web.view.list","web.view.select","web.view.set_url","web.view.set_html","web.view.run_js","web.view.reload","web.view.expose","web.view.open_devtools","web.view.current_index","web.event.add_listener","set","get","WebOpts","opts","web.history.back","web.history.forward","web.search.set_text","web.search.reset","web.search.get_text","web.search.next","web.search.previous","web.view.scroll","web.view.scroll_to_top","web.view.scroll_to_bottom","web.help.get_items","web.help.show","WebEvents","WinCreatedEventOpts","ViewCreatedEventOpts","ViewSelectedEventOpts","ViewClosedEventOpts","UrlChangedEventOpts","PermissionRequestedEventOpts","ModeChangedEventOpts","KeyPressedEventOpts","NotificationReceivedEventOpts","uv","inspect","print","web.json.encode","web.json.decode","web.utils.string_trim","web.utils.table_merge","web.utils.table_keys","web.utils.equals","web.utils.table_contains"] \ No newline at end of file -- cgit v1.3.1