Tag Archive for dialog

prototype_window_class_helper.rb

# Prototype Window Class Helper v0.11.0
# By Jorge Díaz - <a href="http://xurde.info" >http://xurde.info</a>
# email: <a href="mailto:jorgedf@gmail.com">jorgedf@gmail.com</a>
# Thanks to Sebastien Gruhier for his Prototype Window Class (http://prototype-window.xilinus.com/)
# Samples: <a href="http://pwc-helper.xurdeonrails.com" >http://pwc-helper.xurdeonrails.com</a>

#Quick use:
#Reference this helper in your rails applicaction adding -> helper :prototype_window_class in your application.rb
#You must include in the template header the prototype window class javascripts and the .css theme you want to use.
#This code in your template might be enough:

#  <%= stylesheet_link_tag 'default' %> (or theme you wanna use)
#  <%= stylesheet_link_tag 'alert' %>
#  <%= javascript_include_tag :defaults %>
#  <%= javascript_include_tag 'window'%>

class JsCode < String # for JavaScript Code Handling purpose
end

module PrototypeWindowClassHelper

#support methods

def params_for_javascript(params) #options_for_javascript doesn't works fine

'{' + params.map {|k, v| "#{k}: #{
case v
when Hash then params_for_javascript( v )
when JsCode then v
# when Array then...
when String then "'#{v}'"
else v   #Isn't neither Hash or String
end }"}.sort.join(', ') + '}'
end

def content_for_window( content ) #converts

case content
when Hash then params_for_javascript( content )
when String then "'#{content}'"
else
nil
end
end

#helper methods

def link_to_prototype_dialog( name, content, dialog_kind = 'alert', options = {} , html_options = {} )

#dialog_kind: 'alert' (default), 'confirm' or 'info' (info dialogs should be destroyed with a javascript function call 'win.destroy')
#options for this helper depending the dialog_kind: <a href="http://prototype-window.xilinus.com/documentation.html#alert" >http://prototype-window.xilinus.com/documentation.html#alert</a> (#confirm or #info)

options.merge!( :windowParameters => {} ) if !options.has_key?(:windowParameters)

js_code ="Dialog.#{dialog_kind}( #{content_for_window(content)},  #{params_for_javascript(options) } ); "
content_tag(
"a", name,
html_options.merge({
:href => html_options[:href] || "#", <img src='http://www.snippetsmania.com/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> nclick => (html_options[:onclick] ? "#{html_options[:onclick]}; " : "") + js_code }))
end

def link_to_prototype_confirm_url( name, content, ok_url, cancel_url = nil , options = {} , html_options = {} )

#options for this helper: <a href="http://prototype-window.xilinus.com/documentation.html#confirm" >http://prototype-window.xilinus.com/documentation.html#confirm</a>

js_ok = "function(){document.location='#{ok_url}';}"
js_cancel = "function(){document.location='#{cancel_url}';}"

options.merge!( <img src='http://www.snippetsmania.com/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> k => JsCode.new(js_ok) )
options.merge!( :cancel => JsCode.new(js_cancel) ) if cancel_url
options.merge!( :windowParameters => {} ) if !options.has_key?(:windowParameters)

js_code = "Dialog.confirm( '#{content}',  #{params_for_javascript( options )} ); "
content_tag(
"a", name,
html_options.merge({
:href => html_options[:href] || "#", <img src='http://www.snippetsmania.com/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> nclick => (html_options[:onclick] ? "#{html_options[:onclick]}; " : "") + js_code }))
end

def link_to_prototype_window( name, window_id, options = {} , html_options = {} )

#window_id must be unique and it's destroyed on window close.
#options for this helper: <a href="http://prototype-window.xilinus.com/documentation.html#initialize" >http://prototype-window.xilinus.com/documentation.html#initialize</a>

options.merge!( :windowParameters => {} ) if !options.has_key?(:windowParameters)

js_code ="var win = new Window( '#{window_id}', #{params_for_javascript(options) } );  win.show();  win.setDestroyOnClose();"
content_tag(
"a", name,
html_options.merge({
:href => html_options[:href] || "#", <img src='http://www.snippetsmania.com/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> nclick => (html_options[:onclick] ? "#{html_options[:onclick]}; " : "") + js_code }))
end

end

source

gmessage script example

#!/bin/sh

gmessage -center -title 'title' -geometry 600x100 "Content, select an option:" -buttons $(echo -e -n "OptionA:0,OptionB:1,OptionC:2,OptionD:3,OptionE:4,OptionF:5,OptionG:6,Abort:8" )

Res="$?"

if [ "$Res" = "8" ]; then exit 2; fi

if [ "$Res" = "0" ]; then  `[do something]`;fi
if [ "$Res" = "1" ]; then  `[do something]`;fi
if [ "$Res" = "2" ]; then  `[do something]`;fi
if [ "$Res" = "3" ]; then  `[do something]`;fi
if [ "$Res" = "4" ]; then  `[do something]`;fi
if [ "$Res" = "5" ]; then  `[do something]`;fi
if [ "$Res" = "6" ]; then  `[do something]`;fi

source