/* * Created by PyramIDE. * User: Jeremy * Date: 07/09/2012 * Time: 15:10 * * To change this template use Tools | Options | Coding | Edit Standard Headers. */ read calexium_lib/web/CXM_making_a_web_site.anubis read calexium_lib/web/CXM_jquery_icons.anubis read tools/basis.anubis read system/string.anubis public type JQuery_button: jQuery_button( String button_id, String button_name, String button_label, JQuery_icon primary, JQuery_icon secondary // primary icon is for left icon, secondary icon is for right icon and button_id must set with an unique ID in order to have icons working ) . define HTML_Partial_Content _jquery_buttons ( List(JQuery_button) buttons, List(HTML_Head_Tag) html_tags, List(HTML_Off_Form) html_buttons ) = if buttons is { [ ] then partial_content( reverse(html_tags), sequence(reverse(html_buttons)) ), [ h . t ] then if h is jQuery_button(id, name, label, primary, secondary) then if id = "" then // if the ID is not set => we can't use icons in the buttonset. _jquery_buttons( t, html_tags, [ literal("") . html_buttons ] ) else if jquery_icon_to_string(primary) = "" then if jquery_icon_to_string(secondary) = "" then _jquery_buttons( t, [ js_inline(script("", "$(document).ready(function(){$('#"+id+"').button();});")) . html_tags ], [ literal("") . html_buttons ] ) else _jquery_buttons( t, [ js_inline(script("", "$(document).ready(function(){$('#"+id+"').button({icons:{secondary:'"+jquery_icon_to_string(secondary)+"'}});});")) . html_tags ], [ literal("") . html_buttons ] ) else if jquery_icon_to_string(secondary) = "" then _jquery_buttons( t, [ js_inline(script("", "$(document).ready(function(){$('#"+id+"').button({icons:{primary:'"+jquery_icon_to_string(primary)+"'}});});")) . html_tags ], [ literal("") . html_buttons ] ) else _jquery_buttons( t, [ js_inline(script("", "$(document).ready(function(){$('#"+id+"').button({icons:{primary:'"+jquery_icon_to_string(primary)+"',secondary:'"+jquery_icon_to_string(secondary)+"'}});});")) . html_tags ], [ literal("") . html_buttons ] ) } . public define HTML_Partial_Content jquery_buttons ( String buttons_container_id, List(JQuery_button) buttons ) = if _jquery_buttons(buttons, [], []) is partial_content(tags, html) then partial_content( [ js_inline(script("", "$(document).ready(function(){$('#"+buttons_container_id+"').buttonset();});")) ] + tags, sequence([ literal("
"), html, literal("
") ]) ) . public define HTML_Partial_Content jquery_button ( JQuery_button button ) = if button is jQuery_button(id, name, label, primary, secondary) then if jquery_icon_to_string(primary) = "" then if jquery_icon_to_string(secondary) = "" then partial_content( [ js_inline(script("", "$(document).ready(function(){$('#"+id+"').button();});")) ], literal("") ) else partial_content( [ js_inline(script("", "$(document).ready(function(){$('#"+id+"').button({icons:{secondary:'"+jquery_icon_to_string(secondary)+"'}});});")) ], literal("") ) else if jquery_icon_to_string(secondary) = "" then partial_content( [ js_inline(script("", "$(document).ready(function(){$('#"+id+"').button({icons:{primary:'"+jquery_icon_to_string(primary)+"'}});});")) ], literal("") ) else partial_content( [ js_inline(script("", "$(document).ready(function(){$('#"+id+"').button({icons:{primary:'"+jquery_icon_to_string(primary)+"',secondary:'"+jquery_icon_to_string(secondary)+"'}});});")) ], literal("") ) .