12345678910111213141516171819202122 |
- -module(element_upload).
- -compile(export_all).
- -include_lib("nitro/include/nitro.hrl").
- render_element(#upload{id=Id}) ->
- Uid = case Id of undefined -> wf:temp_id(); I -> I end,
- wf:wire("ftp_file=undefined;"),
- bind(ftp_open, click, wf:f("qi('~s').click(); event.preventDefault();", [wf:to_list(Uid)])),
- bind(ftp_start, click, "ftp.start(ftp_file);"),
- bind(ftp_stop, click, "ftp.stop(ftp_file);"),
- bind(nitro:to_atom(Uid), change, "ftp_file=ftp.init(this.files[0]);"),
- Upload = #panel { body = [
- #input { id = Uid, type = <<"file">>, style = "display:none" },
- #span { id = ftp_status, body = [] },
- #span { body = [
- #button { id = ftp_open, body = "Browse" },
- #button { id = ftp_start, body = "Upload" },
- #button { id = ftp_stop, body = "Stop" }
- ] } ] }, wf:render(Upload).
- bind(Control,Event,Code) ->
- wf:wire(#bind{target=Control,type=Event,postback=Code}).
|