Nitrogen get content of table -
so, have nitrogen page, index.erl, contains codes this:
body() -> [#table{ id = mytable, rows=[ #tablerow{ cells=[#tableheader{text="column a"}, #tableheader{text="column b"}, #tableheader{text="column c"}, #tableheader{text="column d"}] }, #custom_row{ %% wrapper around #tablerow column_a = "a", column_b = "b", column_c = "c", column_d = "d" } %% ... more #custom_rows omitted ] }, #button{text="submit", postback=store_table} ]. event(store_table) -> tabledata = something_like_queryselector(mytable), insert_into_database(tabledata). how content of mytable, nitrogen has queryselector?
there isn't nice , clean queryselector, possible retrieve contents of arbitrary dom element though use of nitrogen's #api{} action.
using code above, following:
body() -> wf:wire(#api{name=send_table_contents, tag=some_tag}), [#table{ id = mytable, rows=[ #tablerow{ cells=[#tableheader{text="column a"}, #tableheader{text="column b"}, #tableheader{text="column c"}, #tableheader{text="column d"}] }, #custom_row{ %% wrapper around #tablerow column_a = "a", column_b = "b", column_c = "c", column_d = "d" } %% ... more #custom_rows omitted ] }, #button{text="submit", click="page.send_table_contents(objs('mytable').html())"} ]. api_event(send_table_contents, some_tag, [tablehtml]) -> insert_into_database(tablehtml). it's not clean being able request contents can wf:q, job done.
the quick explanation here #api{} action creates new function on page called page.api_name_attribute (so if above, you'll see name attribute send_table_contents , javascript function called in #button.click send_table_contents. contents captured in api_event(nameofapi, tag, listofargs) postback function.
that said, i've added feature to-do list because seems useful thing.
Comments
Post a Comment