Make use of the DropzoneJS library (www.dropzonejs.com) to build highly customizable dropzones that provides drag’n’drop file uploads with image previews TODO: Complete dropzone options and features binding Authors: Julien Verneuil (06/04/2016) David René (2017/08/12) read tools/basis.anubis read system/string.anubis read xlib/web/CXM_making_a_web_site.anubis read xlib/web/CXM_jquery.anubis public define HTML_Partial_Content dropzone ( String dropzone_form_name, String dict_default_message, String dict_file_too_big, String param_name, String init, WEB_Action_Name submit_action, List((String,String)) extra_ops, ) = with dropzone_form_id = to_lower(dropzone_form_name+"_"+generate_random_string(15)), partial_content( [ js(js_file("js/dropzone.js")), css(css_file("css/dropzone.css")), js_script(" Dropzone.options." + to_Camel_case(dropzone_form_id) + " = { dictDefaultMessage : \"" + dict_default_message + "\", dictFileTooBig : \"" + dict_file_too_big + "\", timeout : 864000, paramName : \"" + param_name + ( if init = "" then "\"" else "\", init: "+init )+" }; $('#"+dropzone_form_id+"').dropzone(); " ) ], form(dropzone_form_id, [class("dropzone")], submit_action, extra_ops, empty) ) . public define HTML_Partial_Content dropzone ( String dropzone_form_name, String dict_default_message, String dict_file_too_big, String param_name, WEB_Action_Name submit_action )= dropzone(dropzone_form_name, dict_default_message, dict_file_too_big, param_name, "", submit_action, []) .