CXM_dropzone.anubis 1.72 KB
  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 calexium_lib/web/CXM_making_a_web_site.anubis
read calexium_lib/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 + "\",
  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, [])
.