Commit e973169f822a3f58f460289b896e68341e1b80c3

Authored by Julien Verneuil
1 parent d714775d

add img_button_confirm function which return the raw html of the button with ass…

…ociated inline script as a string
Showing 1 changed file with 84 additions and 10 deletions   Show diff stats
web/widgets/button.anubis
@@ -60,7 +60,33 @@ public define HTML_Partial_Content @@ -60,7 +60,33 @@ public define HTML_Partial_Content
60 List((String, String)) extra_ops 60 List((String, String)) extra_ops
61 )= 61 )=
62 img_button(img_path, same, url, extra_ops). 62 img_button(img_path, same, url, extra_ops).
63 - 63 +
  64 +define inline String
  65 + img_button_confirm_js
  66 + (
  67 + String uid,
  68 + String dlg_title,
  69 + String dlg_text,
  70 + String dlg_ok,
  71 + String dlg_cancel
  72 + ) =
  73 + "CalexiumToolBox.data.confirm_dialog[" + to_js_string(uid) + "] = " +
  74 + "{ title: " + to_js_string(dlg_title) +
  75 + ", text: " + to_js_string(dlg_text) +
  76 + ", ok : " + to_js_string(dlg_ok) +
  77 + ", cancel: " + to_js_string(dlg_cancel) +
  78 + "};".
  79 +
  80 +define List(CoreAttrs)
  81 + img_button_confirm_image_attrs
  82 + (
  83 + List(CoreAttrs) core_attrs,
  84 + String uid,
  85 + String url,
  86 + List((String, String)) extra_ops
  87 + ) =
  88 + core_attrs + [id(uid), style("cursor: pointer"), event(onclick, "CalexiumToolBox.make_confirm_dialog(this, " + to_js_string("/?a=" + url + format_extra_operands(extra_ops))+");")].
  89 +
64 public define HTML_Partial_Content 90 public define HTML_Partial_Content
65 img_button_confirm 91 img_button_confirm
66 ( 92 (
@@ -75,15 +101,8 @@ public define HTML_Partial_Content @@ -75,15 +101,8 @@ public define HTML_Partial_Content
75 )= 101 )=
76 with uid = generate_random_string(20), 102 with uid = generate_random_string(20),
77 103
78 - js_confirm_dialog_data_obj = "CalexiumToolBox.data.confirm_dialog[" + to_js_string(uid) + "]",  
79 - js_data = js_confirm_dialog_data_obj + " = {  
80 - title: " + to_js_string(dlg_title) + ",  
81 - text: " + to_js_string(dlg_text) + ",  
82 - ok : " + to_js_string(dlg_ok) + ",  
83 - cancel: " + to_js_string(dlg_cancel) + "};",  
84 -  
85 - partial_content([js(js_file("js/cxm/cxm.js")), js_inline(jquery_ready(js_data))],  
86 - image(core_attrs + [id(uid), style("cursor: pointer"), event(onclick, "CalexiumToolBox.make_confirm_dialog(this, " + to_js_string("/?a=" + url + format_extra_operands(extra_ops))+");")], img_path, "")). 104 + partial_content([js(js_file("js/cxm/cxm.js")), js_inline(jquery_ready(img_button_confirm_js(uid, dlg_title, dlg_text, dlg_ok, dlg_cancel)))],
  105 + image(img_button_confirm_image_attrs(core_attrs, uid, url, extra_ops), img_path, "")).
87 106
88 public define HTML_Partial_Content 107 public define HTML_Partial_Content
89 img_button_confirm 108 img_button_confirm
@@ -122,4 +141,59 @@ public define HTML_Partial_Content @@ -122,4 +141,59 @@ public define HTML_Partial_Content
122 List((String, String)) extra_ops 141 List((String, String)) extra_ops
123 )= 142 )=
124 img_button_confirm(img_path, [], dlg_title, dlg_text, dlg_ok, dlg_cancel, url, extra_ops). 143 img_button_confirm(img_path, [], dlg_title, dlg_text, dlg_ok, dlg_cancel, url, extra_ops).
  144 +
  145 +public define String
  146 + img_button_confirm
  147 + (
  148 + String img_path,
  149 + List(CoreAttrs) core_attrs,
  150 + String dlg_title,
  151 + String dlg_text,
  152 + String dlg_ok,
  153 + String dlg_cancel,
  154 + String url,
  155 + List((String, String)) extra_ops
  156 + ) =
  157 + with uid = generate_random_string(20),
  158 +
  159 + "<script type=\"text/javascript\">" + jquery_ready(img_button_confirm_js(uid, dlg_title, dlg_text, dlg_ok, dlg_cancel)) + "</script>" +
  160 + "<img " + format_attrs(img_button_confirm_image_attrs(core_attrs, uid, url, extra_ops)) + " src=\"" + img_path + "\"></img>".
  161 +
  162 +public define String
  163 + img_button_confirm
  164 + (
  165 + String img_path,
  166 + String dlg_title,
  167 + String dlg_text,
  168 + String dlg_ok,
  169 + String dlg_cancel,
  170 + String url
  171 + )=
  172 + img_button_confirm(img_path, [], dlg_title, dlg_text, dlg_ok, dlg_cancel, url, []).
125 173
  174 +public define String
  175 + img_button_confirm
  176 + (
  177 + String img_path,
  178 + List(CoreAttrs) core_attrs,
  179 + String dlg_title,
  180 + String dlg_text,
  181 + String dlg_ok,
  182 + String dlg_cancel,
  183 + String url
  184 + )=
  185 + img_button_confirm(img_path, core_attrs, dlg_title, dlg_text, dlg_ok, dlg_cancel, url, []).
  186 +
  187 +public define String
  188 + img_button_confirm
  189 + (
  190 + String img_path,
  191 + String dlg_title,
  192 + String dlg_text,
  193 + String dlg_ok,
  194 + String dlg_cancel,
  195 + String url,
  196 + List((String, String)) extra_ops
  197 + )=
  198 + img_button_confirm(img_path, [], dlg_title, dlg_text, dlg_ok, dlg_cancel, url, extra_ops).
  199 +