/* * Created by PyramIDE. * User: フランスのトトロ & julien * Date: 09/11/2014 * Time: 15:51 * © David RENÉ */ read system/convert.anubis read xlib/web/making_a_web_site.anubis transmit xlib/web/jquery.anubis public type JQuery_dialog_id: dialog_id(String id). public type JQuery_dialog: empty, p_content(HTML_Partial_Content content), off_form(HTML_Off_Form o_form), ajax(WEB_Action_Name url). public define JQuery_dialog ajax(String url) = ajax(action_name(url)). public type JQuery_dialog_size: auto, percent(Float w, Float h) . public define JQuery_dialog_size percent ( Float all )= percent(all, all). public define HTML_Partial_Content jq_dialog_create ( JQuery_dialog_id dial_id, JQuery_dialog content, Bool autoOpen, JQuery_dialog_size size, String extra_param )= with dlg_id = id(dial_id), js_str = " $( \"#"+dlg_id+"\" ).dialog({ autoOpen: "+to_String(autoOpen)+", modal: true, "+ if size is { auto then "height: 'auto', width: 'auto',", percent(w, h) then "width: $(window).width() * "+w+", height: $(window).height() * "+h+"," } +extra_param+" Cancel: function() { $( this ).dialog( 'close' ); } }); ", js = js_inline(jquery_ready(js_str)), if content is { empty then partial_content([js], div([id(dlg_id)], empty)), p_content(pc) then if pc is partial_content(tags, html) then partial_content( [js . tags ], div([id(dlg_id)], html)), //html code of the dialog off_form(html) then partial_content( [js], div([id(dlg_id)], html)), //html code of the dialog ajax(_url) then with url = format_web_action_name(_url), //println("jq_dialog_create : \njs_str ->"+js_str+"\nurl ->"+url); partial_content( [js], div([id(dlg_id), attr("ajax_url",url)])) }. public define HTML_Partial_Content jq_dialog_create ( JQuery_dialog_id dial_id, JQuery_dialog content, JQuery_dialog_size size, String extra_param )= jq_dialog_create(dial_id, content, false, size, extra_param). public define HTML_Partial_Content jq_dialog_create ( JQuery_dialog_id dial_id, JQuery_dialog content, JQuery_dialog_size size )= jq_dialog_create(dial_id, content, false, size, ""). public define HTML_Partial_Content jq_dialog_create ( JQuery_dialog_id dial_id, JQuery_dialog content, String extra_param )= jq_dialog_create(dial_id, content, false, auto, extra_param). public define HTML_Partial_Content jq_dialog_create ( JQuery_dialog_id dial_id, JQuery_dialog content )= jq_dialog_create(dial_id, content, false, auto, ""). public define HTML_Partial_Content jq_dialog_create ( JQuery_dialog_id dial_id, JQuery_dialog content, Bool autoOpen )= jq_dialog_create(dial_id, content, autoOpen, auto, ""). public define String jq_dialog_load ( JQuery_dialog_id dialog_id, WEB_Action_Name action, List((String,String)) extra_ops )= "CalexiumToolBox.jq_dialog_load('"+id(dialog_id)+"',"+format_web_action_name_to_js(action, extra_ops)+");" . public define String jq_dialog_load ( JQuery_dialog_id dialog_id, WEB_Action_Name action )= jq_dialog_load(dialog_id, action) . define String _jq_dialog_open ( Maybe(String) mb_html, JQuery_dialog_id dialog_id, String params )= with js_function = "CalexiumToolBox.jquery_dialog_click('"+id(dialog_id)+"', "+(if length(params)=0 then "''" else params) +");", if mb_html is { failure then js_function, success(html) then ""+html+"" }. public define String jq_dialog_open ( String html, JQuery_dialog_id dialog_id, String params )= _jq_dialog_open(success(html), dialog_id, params). public define HTML_Partial_Content jq_dialog_open ( String html, JQuery_dialog_id dialog_id, String params )= partial_content([], literal(_jq_dialog_open(success(html), dialog_id, params))). public define String jq_dialog_open ( JQuery_dialog_id dialog_id, String params )= _jq_dialog_open(failure, dialog_id, params). public define String jq_dialog_open ( JQuery_dialog_id dialog_id )= _jq_dialog_open(failure, dialog_id, ""). public define List(HTML_Head_Tag) jq_dialog_init = [ js_inline(jquery_ready(" ")) ].