lol_framework 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. data/.gitignore +19 -0
  2. data/.rspec +4 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +30 -0
  6. data/Rakefile +1 -0
  7. data/lib/generators/lol_framework/setup/lol_framework.rb +27 -0
  8. data/lib/generators/lol_framework/setup/setup_generator.rb +17 -0
  9. data/lib/lol_framework.rb +8 -0
  10. data/lib/lol_framework/common.rb +20 -0
  11. data/lib/lol_framework/config.rb +17 -0
  12. data/lib/lol_framework/config/components.rb +16 -0
  13. data/lib/lol_framework/config/components/css.rb +44 -0
  14. data/lib/lol_framework/config/components/js.rb +75 -0
  15. data/lib/lol_framework/railtie.rb +14 -0
  16. data/lib/lol_framework/version.rb +3 -0
  17. data/lol_framework.gemspec +28 -0
  18. data/spec/lol_framework/config/components/css_spec.rb +5 -0
  19. data/spec/lol_framework/config/components/js_spec.rb +11 -0
  20. data/spec/lol_framework/config/components_spec.rb +24 -0
  21. data/spec/lol_framework/config_spec.rb +19 -0
  22. data/spec/lol_framework/lol_framework_spec.rb +13 -0
  23. data/spec/spec_helper.rb +20 -0
  24. data/vendor/assets/images/lol_framework/datatable/sorting_bg.png +0 -0
  25. data/vendor/assets/images/lol_framework/glyphicons-lol-origin-white.png +0 -0
  26. data/vendor/assets/images/lol_framework/glyphicons-lol-origin.png +0 -0
  27. data/vendor/assets/images/lol_framework/glyphicons-lol.png +0 -0
  28. data/vendor/assets/javascripts/.gitkeep +0 -0
  29. data/vendor/assets/javascripts/Jasmine/jasmine-html.js +616 -0
  30. data/vendor/assets/javascripts/Jasmine/jasmine.js +2529 -0
  31. data/vendor/assets/javascripts/lol.js +18 -0
  32. data/vendor/assets/javascripts/lol_framework/Ajax.coffee +183 -0
  33. data/vendor/assets/javascripts/lol_framework/Alert.coffee +113 -0
  34. data/vendor/assets/javascripts/lol_framework/Button.coffee +268 -0
  35. data/vendor/assets/javascripts/lol_framework/Core.coffee +85 -0
  36. data/vendor/assets/javascripts/lol_framework/Datatable.coffee +340 -0
  37. data/vendor/assets/javascripts/lol_framework/Date.coffee +0 -0
  38. data/vendor/assets/javascripts/lol_framework/Debug.coffee +45 -0
  39. data/vendor/assets/javascripts/lol_framework/I18n.coffee +81 -0
  40. data/vendor/assets/javascripts/lol_framework/Lang/en-us.coffee +54 -0
  41. data/vendor/assets/javascripts/lol_framework/Lang/pt-br.coffee +57 -0
  42. data/vendor/assets/javascripts/lol_framework/Library/date-functions.js +409 -0
  43. data/vendor/assets/javascripts/lol_framework/Library/jquery.dataTables.min.js +157 -0
  44. data/vendor/assets/javascripts/lol_framework/Library/jquery.mobile.js +14 -0
  45. data/vendor/assets/javascripts/lol_framework/Loader.coffee +83 -0
  46. data/vendor/assets/javascripts/lol_framework/Lol.coffee +4 -0
  47. data/vendor/assets/javascripts/lol_framework/Modal.coffee +221 -0
  48. data/vendor/assets/javascripts/lol_framework/Model.coffee +71 -0
  49. data/vendor/assets/javascripts/lol_framework/Model/Rest.coffee +15 -0
  50. data/vendor/assets/javascripts/lol_framework/Tests/Alert.coffee +83 -0
  51. data/vendor/assets/javascripts/lol_framework/Tests/Core.coffee +35 -0
  52. data/vendor/assets/javascripts/lol_framework/Tests/Debug.coffee +14 -0
  53. data/vendor/assets/javascripts/lol_framework/Tests/I18n.coffee +7 -0
  54. data/vendor/assets/javascripts/lol_framework/Tests/Lang.coffee +130 -0
  55. data/vendor/assets/javascripts/lol_framework/Tests/Library.coffee +13 -0
  56. data/vendor/assets/javascripts/lol_framework/Tests/Lol.coffee +4 -0
  57. data/vendor/assets/javascripts/lol_framework/Tests/Utils.coffee +22 -0
  58. data/vendor/assets/javascripts/lol_framework/Utils.coffee +42 -0
  59. data/vendor/assets/javascripts/lol_main_tests.js +43 -0
  60. data/vendor/assets/stylesheets/.gitkeep +0 -0
  61. data/vendor/assets/stylesheets/jasmine.css +81 -0
  62. data/vendor/assets/stylesheets/lol_framework/_mixin.scss +650 -0
  63. data/vendor/assets/stylesheets/lol_framework/_variable.scss +107 -0
  64. data/vendor/assets/stylesheets/lol_framework/components/_alert.scss +46 -0
  65. data/vendor/assets/stylesheets/lol_framework/components/_datatable.scss +172 -0
  66. data/vendor/assets/stylesheets/lol_framework/components/_loader.scss +15 -0
  67. data/vendor/assets/stylesheets/lol_framework/components/_modal.scss +68 -0
  68. metadata +222 -0
@@ -0,0 +1,18 @@
1
+ //= require ./lol_framework/Library/date-functions
2
+ //= require ./lol_framework/Library/jquery.dataTables.min
3
+ //= require ./lol_framework/Library/jquery.mobile
4
+ //= require ./lol_framework/Lol
5
+ //= require ./lol_framework/Lang/en-us
6
+ //= require ./lol_framework/Lang/pt-br
7
+ //= require ./lol_framework/I18n
8
+ //= require ./lol_framework/Debug
9
+ //= require ./lol_framework/Utils
10
+ //= require ./lol_framework/Core
11
+ //= require ./lol_framework/Alert
12
+ //= require ./lol_framework/Button
13
+ //= require ./lol_framework/Loader
14
+ //= require ./lol_framework/Ajax
15
+ //= require ./lol_framework/Modal
16
+ //= require ./lol_framework/Model
17
+ //= require ./lol_framework/Model/Rest
18
+ //= require ./lol_framework/Datatable
@@ -0,0 +1,183 @@
1
+ ###
2
+ @summary Lol Framework
3
+ @description Framework of RIAs applications
4
+ @version 1.0.0
5
+ @file Ajax.js
6
+ @author Welington Sampaio (http://welington.zaez.net/)
7
+ @contact http://welington.zaez.net/site/contato
8
+
9
+ @copyright Copyright 2012 Welington Sampaio, all rights reserved.
10
+
11
+ This source file is free software, under the license MIT, available at:
12
+ http://lolframework.zaez.net/license
13
+
14
+ This source file is distributed in the hope that it will be useful, but
15
+ WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
+ or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
17
+
18
+ For details please refer to: http://welington.zaez.net
19
+ ###
20
+
21
+ ###
22
+ Create a new instance of Ajax.
23
+
24
+ @classDescription This class creates a new Ajax.
25
+ @param {Object} Receives configuration to create the Ajax, @see Lol.ajax.defaults
26
+ @return {Ajax}    Returns a new Ajax.
27
+ @type {Object}
28
+ @example
29
+ *-* Manual Configuration *-*
30
+ var lol_ajax = new Lol.Ajax({
31
+ autoExecute: true,
32
+ useLoader : true,
33
+ contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
34
+ url : 'http://www.google.com/',
35
+ method : 'GET',
36
+ data : {},
37
+ dataType : 'html',
38
+ callbacks: {
39
+ beforeSend: function(jqXHR, settings){},
40
+ complete: function(jqXHR, textStatus){},
41
+ error: function(jqXHR, textStatus, errorThrown){},
42
+ success: function(data, textStatus, jqXHR){}
43
+ }
44
+ });
45
+ ###
46
+ class Lol.Ajax extends Lol.Core
47
+ # declaration of variables
48
+ debugPrefix : 'Lol_Ajax'
49
+ namespace : '.ajax'
50
+ # the methods
51
+ constructor: (args={})->
52
+ return false unless @verifyJQuery()
53
+ @settings = jQuery.extend true, {}, Lol.ajax.defaults, args
54
+ @generateId()
55
+ @execute() if @settings.autoExecute
56
+ ###
57
+ Get all the configuration data
58
+ sent and configures sending
59
+ @see http://api.jquery.com/jQuery.ajax/
60
+ ###
61
+ execute: ->
62
+ @debug 'Executing the ajax requisition', @
63
+ if not @settings.url or not @settings.callbacks.error or not @settings.callbacks.success
64
+ throw 'Fields requireds not setting'
65
+ _this = @
66
+ Lol.Loader.show() if @settings.userLoader
67
+ jQuery.ajax
68
+ contentType: @settings.contentType
69
+ url : @settings.url
70
+ type : @settings.method
71
+ data : jQuery.param @settings.data
72
+ dataType : @settings.dataType
73
+ beforeSend : _this.settings.callbacks.beforeSend
74
+ complete : _this.settings.callbacks.complete
75
+ error : (jqXHR, textStatus, errorThrown)->
76
+ Lol.Loader.remove()
77
+ _this.settings.callbacks.error(jqXHR, textStatus, errorThrown)
78
+ success : (data, textStatus, jqXHR)->
79
+ Lol.Loader.remove()
80
+ _this.settings.callbacks.success(data, textStatus, jqXHR)
81
+ ###
82
+ Set a new ContentType
83
+ @see http://api.jquery.com/jQuery.ajax/
84
+ @param {String}
85
+ @return {String}
86
+ ###
87
+ setContentType: (value)-> @settings.contentType = value
88
+ ###
89
+ Indicates whether to lock the screen with a loader
90
+ @param {Boolean}
91
+ @return {Boolean}
92
+ ###
93
+ setUseLoader: (value)-> @settings.useLoader = value
94
+ ###
95
+ Set a new Url
96
+ @see http://api.jquery.com/jQuery.ajax/
97
+ @param {String}
98
+ @return {String}
99
+ ###
100
+ setUrl: (value)-> @settings.url = value
101
+ ###
102
+ Set a new Method
103
+ @see http://api.jquery.com/jQuery.ajax/
104
+ @param {String}
105
+ @return {String}
106
+ ###
107
+ setMethod: (value)-> @settings.method = value
108
+ ###
109
+ Set a new Data content
110
+ @see http://api.jquery.com/jQuery.ajax/
111
+ @param {Object}
112
+ @return {Object}
113
+ ###
114
+ setData: (value)-> @settings.data = value
115
+ ###
116
+ Set a new DataType
117
+ @see http://api.jquery.com/jQuery.ajax/
118
+ @param {String}
119
+ @return {String}
120
+ ###
121
+ setDataType: (value)-> @settings.dataType = value
122
+
123
+ ###
124
+ Contains the definitions of standards Lol.Ajax
125
+ @type {Object}
126
+ ###
127
+ Lol.ajax =
128
+ defaults:
129
+ ###
130
+ Indicates whether the object should
131
+ be executed at the end of its creation
132
+ @type {Boolean}
133
+ ###
134
+ autoExecute: true
135
+ ###
136
+ Indicates whether the object should use
137
+ a loader to stop, until the completion
138
+ of the request
139
+ @type {Boolean}
140
+ ###
141
+ useLoader : true
142
+ ###
143
+ Indicates the content type of the request
144
+ @type {String}
145
+ ###
146
+ contentType: 'application/x-www-form-urlencoded; charset=UTF-8'
147
+ ###
148
+ Indicates the url of the request
149
+ @type {String}
150
+ ###
151
+ url : null
152
+ ###
153
+ Indicates the method of the request
154
+ options : GET | POST | PUT | DELETE
155
+ @type {String}
156
+ ###
157
+ method : 'GET'
158
+ ###
159
+ Indicates the content of the request
160
+ @type {Object}
161
+ ###
162
+ data : {}
163
+ ###
164
+ Indicates the type of expected return
165
+ after the completion of request
166
+ @type {String}
167
+ ###
168
+ dataType : 'json'
169
+ ###
170
+ Callbacks run through the requisition
171
+ @see http://api.jquery.com/jQuery.ajax/
172
+ ###
173
+ callbacks:
174
+ beforeSend: (jqXHR, settings)->
175
+ complete: (jqXHR, textStatus)->
176
+ error: (jqXHR, textStatus, errorThrown)->
177
+ success: (data, textStatus, jqXHR)->
178
+
179
+ # if is rails application and using csrf-token
180
+ jQuery ->
181
+ jQuery(document).ajaxSend (e, xhr, options)->
182
+ token = $("meta[name='csrf-token']").attr "content"
183
+ xhr.setRequestHeader("X-CSRF-Token", token)
@@ -0,0 +1,113 @@
1
+ ###
2
+ @summary Lol Framework
3
+ @description Framework of RIAs applications
4
+ @version 1.0.0
5
+ @file Alert.js
6
+ @author Welington Sampaio (http://welington.zaez.net/)
7
+ @contact http://welington.zaez.net/site/contato
8
+
9
+ @copyright Copyright 2012 Welington Sampaio, all rights reserved.
10
+
11
+ This source file is free software, under the license MIT, available at:
12
+ http://lolframework.zaez.net/license
13
+
14
+ This source file is distributed in the hope that it will be useful, but
15
+ WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
+ or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
17
+
18
+ For details please refer to: http://welington.zaez.net
19
+ ###
20
+
21
+ ###
22
+ Create a new instance of Alert.
23
+
24
+ @classDescription This class creates a new Alert.
25
+ @param {Object} Receives configuration to create the Alert, @see Lol.alert.defaults
26
+ @return {Alert}    Returns a new Alert.
27
+ @type {Object}
28
+ @example
29
+ *-* Create manual alert *-*
30
+ var lol_alert = new Lol.Alert({
31
+ autoRemove : true,
32
+ type : 'success',
33
+ message : 'Success to create a new object LolAlert',
34
+ delayRemove: 7000,
35
+ objects : {
36
+ containerID: '#alerts',
37
+ classes: {
38
+ container: 'alerts',
39
+ success : 'alert-success',
40
+ error : 'alert-error',
41
+ warning : 'alert-warning',
42
+ info : 'alert-info'
43
+ }
44
+ }
45
+ });
46
+ ###
47
+ class Lol.Alert extends Lol.Core
48
+ # declaration of variables
49
+ debugPrefix : 'Lol_Alert'
50
+ namespace : '.alert'
51
+ # the methods
52
+ constructor: (args={})->
53
+ return false unless @verifyJQuery()
54
+ @settings = jQuery.extend true, {}, Lol.alert.defaults, args
55
+ @generateId()
56
+ return false unless @setContainer()
57
+ @createAlert()
58
+ @setEvents()
59
+ @setInterval()
60
+ appendClose: ->
61
+ @debug 'Create and append close button to alert'
62
+ @close = jQuery "<span></span>"
63
+ @close.append "x"
64
+ @close.appendTo @alert
65
+ createAlert: ->
66
+ @debug 'Create an object Alert'
67
+ @alert = jQuery '<div></div>'
68
+ @alert.addClass "alert #{@settings.objects.classes[@settings.type]}"
69
+ @alert.append @settings.message
70
+ @appendClose()
71
+ @alert.appendTo @container
72
+ destroy: ->
73
+ @debug 'Initializing the destroy method'
74
+ @alert.slideUp ->
75
+ jQuery(@).remove()
76
+ clearInterval(@interval) if @settings.autoRemove
77
+ super
78
+ setContainer: ->
79
+ @debug 'Setting a container object'
80
+ if not jQuery( @settings.objects.containerID )
81
+ throw "Required container Alert: #{@settings.objects.containerID}"
82
+ return false
83
+ @container = jQuery @settings.objects.containerID
84
+ setInterval: ->
85
+ @debug 'Setting interval?',@settings.autoRemove, 'With delay:',@settings.delayRemove
86
+ _this = @
87
+ @interval = setInterval(->
88
+ _this.destroy()
89
+ , @settings.delayRemove) if @settings.autoRemove
90
+ setEvents: ->
91
+ @debug 'Setting all events'
92
+ _this = @
93
+ @close.bind "click#{@namespace}", ->
94
+ _this.debug 'Dispatch event clickon close button'
95
+ _this.destroy()
96
+
97
+ Lol.alert =
98
+ # private:
99
+ # dataset:
100
+
101
+ defaults:
102
+ autoRemove : true
103
+ type : 'success' # Options success | error | warning | info
104
+ message : null
105
+ delayRemove: 7000
106
+ objects :
107
+ containerID: '#alerts'
108
+ classes:
109
+ container: 'alerts'
110
+ success : 'alert-success'
111
+ error : 'alert-error'
112
+ warning : 'alert-warning'
113
+ info : 'alert-info'
@@ -0,0 +1,268 @@
1
+ ###
2
+ @summary Lol Framework
3
+ @description Framework of RIAs applications
4
+ @version 1.0.0
5
+ @file Button.js
6
+ @author Welington Sampaio (http://welington.zaez.net/)
7
+ @contact http://welington.zaez.net/site/contato
8
+
9
+ @copyright Copyright 2012 Welington Sampaio, all rights reserved.
10
+
11
+ This source file is free software, under the license MIT, available at:
12
+ http://lolframework.zaez.net/license
13
+
14
+ This source file is distributed in the hope that it will be useful, but
15
+ WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
+ or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
17
+
18
+ For details please refer to: http://welington.zaez.net
19
+ ###
20
+
21
+ ###
22
+ Create a new instance of Button.
23
+
24
+ @classDescription This class creates a new Button.
25
+ @param {Object} Receives configuration to create the Button, @see Lol.button.defaults
26
+ @return {Button}    Returns a new Button.
27
+ @type {Object}
28
+ ###
29
+ class Lol.Button extends Lol.Core
30
+ # Variables declaration
31
+ debugPrefix : 'Lol_Button'
32
+ namespace : '.button'
33
+ # The methods
34
+ constructor: (args={})->
35
+ return false unless @verifyJQuery()
36
+ @settings = jQuery.extend true, {}, Lol.button.defaults, args
37
+ @generateId()
38
+ @buttons = []
39
+ @createButtons()
40
+ return @buttons if @buttons.length
41
+ @createButton()
42
+ @addAttributes()
43
+ @setEvents()
44
+ @addToContainer()
45
+ ###
46
+ Adds attributes to the button
47
+ ###
48
+ addAttributes: ->
49
+ @debug "Add attributes to button: ", @settings.atribute
50
+ for key,value of @settings.atribute
51
+ @button.attr key, value
52
+ ###
53
+ Adds attributes to the button
54
+ ###
55
+ addToContainer: ->
56
+ @container = $ @settings.container
57
+ if @buttons.length
58
+ for btn in @buttons
59
+ @container.append btn
60
+ else
61
+ @container.append @button
62
+ ###
63
+ Creates the buttons on block
64
+ options: OK | CANCEL | YES | NO
65
+ ###
66
+ createButtons: ->
67
+ throw 'Invalid button' if not @settings.buttons and not @settings.text
68
+ if @settings.buttons
69
+ @debug 'Creating buttons:', @settings.buttons
70
+ text = new String @settings.buttons
71
+ if text.indexOf('YES') isnt -1
72
+ @buttons.push new Lol.Button
73
+ text : 'YES'
74
+ attribute: @settings.attributes.YES
75
+ container: @settings.container
76
+ class: @settings.classes.YES
77
+ debug: @settings.debug
78
+ callback:
79
+ click: @settings.fn.YES_CLICK
80
+ if text.indexOf('NO') isnt -1
81
+ @buttons.push new Lol.Button
82
+ text : 'NO'
83
+ attribute: @settings.attributes.NO
84
+ container: @settings.container
85
+ class: @settings.classes.NO
86
+ debug: @settings.debug
87
+ callback:
88
+ click: @settings.fn.NO_CLICK
89
+ if text.indexOf('OK') isnt -1
90
+ @buttons.push new Lol.Button
91
+ text : 'OK'
92
+ attribute: @settings.attributes.OK
93
+ container: @settings.container
94
+ class: @settings.classes.OK
95
+ debug: @settings.debug
96
+ callback:
97
+ click: @settings.fn.OK_CLICK
98
+ if text.indexOf('CANCEL') isnt -1
99
+ @buttons.push new Lol.Button
100
+ text : 'CANCEL'
101
+ attribute: @settings.attributes.CANCEL
102
+ container: @settings.container
103
+ class: @settings.classes.CANCEL
104
+ debug: @settings.debug
105
+ callback:
106
+ click: @settings.fn.CANCEL_CLICK
107
+ ###
108
+ Creates the button specified in the settings
109
+ ###
110
+ createButton: (text)->
111
+ @debug 'Creating button: ', @settings.text
112
+ @debug "Add class '#{@settings.class}' to current button"
113
+ @button = $ '<a></a>'
114
+ @button.html Lol.t(@settings.text)
115
+ @button.addClass @settings.class
116
+ ###
117
+ Creates the button specified in the settings
118
+ ###
119
+ unsetEvents: ->
120
+ @debug "Remove all events with namespace: '#{@namespace}'"
121
+ @button.unbind @namespace
122
+ ###
123
+ Adds all events related to this button
124
+ ###
125
+ setEvents: ->
126
+ @unsetEvents()
127
+ @debug "Add click event with namespace: '#{@namespace}'"
128
+ _this = @
129
+ @button.bind("click#{@namespace}", (event)->
130
+ _this.debug "Dispath click event, with return: ", _this.settings.return_handler
131
+ r_callback = _this.settings.callback.click(event, _this)
132
+ return r_callback if _this.settings.return_handler
133
+ _this.settings.return_handler
134
+ )
135
+
136
+ ###
137
+ Contains the definitions of standards Lol.Button
138
+ @type {Object}
139
+ ###
140
+ Lol.button =
141
+ defaults:
142
+ ###
143
+ It contains attributes related
144
+ to the button in question
145
+ @type {Object}
146
+ ###
147
+ attribute : {}
148
+ ###
149
+ String with the text referring to
150
+ the block to create buttons
151
+ @options YES | NO | OK | CANCEL
152
+ @type {String}
153
+ ###
154
+ buttons : null
155
+ ###
156
+ Contains CSS classes to add to the button
157
+ @type {String}
158
+ ###
159
+ class : ''
160
+ ###
161
+ Object or container where the button
162
+ should be added
163
+ @type {String or DOMObject}
164
+ ###
165
+ container : 'body'
166
+ ###
167
+ Specifies whether the object should
168
+ print debug messages
169
+ @type {Boolean}
170
+ ###
171
+ debug : false
172
+ ###
173
+ Specifies what should be the return of
174
+ the event after shooting
175
+ @type {Boolean}
176
+ ###
177
+ return_handler: false
178
+ ###
179
+ Enter the text within the button
180
+ @type {String}
181
+ ###
182
+ text : null
183
+ ###
184
+ Object that contains the attributes
185
+ of the buttons on the block
186
+ @type {Object}
187
+ ###
188
+ attributes:
189
+ ###
190
+ Attributes for the CANCEL button
191
+ @type {Object}
192
+ ###
193
+ CANCEL : {}
194
+ ###
195
+ Attributes for the NO button
196
+ @type {Object}
197
+ ###
198
+ NO : {}
199
+ ###
200
+ Attributes for the OK button
201
+ @type {Object}
202
+ ###
203
+ OK : {}
204
+ ###
205
+ Attributes for the YES button
206
+ @type {Object}
207
+ ###
208
+ YES : {}
209
+ ###
210
+ Specifies the events for the button
211
+ @type {Object}
212
+ ###
213
+ callback:
214
+ ###
215
+ Click event to the button
216
+ @type {Function}
217
+ ###
218
+ click: ->
219
+ ###
220
+ Contains classes to add buttons on the block
221
+ @type {Object}
222
+ ###
223
+ classes:
224
+ ###
225
+ Contains CSS classes to add to the OK button
226
+ @type {String}
227
+ ###
228
+ OK : 'btn'
229
+ ###
230
+ Contains CSS classes to add to the CANCEL button
231
+ @type {String}
232
+ ###
233
+ CANCEL: 'btn'
234
+ ###
235
+ Contains CSS classes to add to the YES button
236
+ @type {String}
237
+ ###
238
+ YES : 'btn'
239
+ ###
240
+ Contains CSS classes to add to the NO button
241
+ @type {String}
242
+ ###
243
+ NO : 'btn'
244
+ ###
245
+ Contains events to add buttons on the block
246
+ @type {String}
247
+ ###
248
+ fn:
249
+ ###
250
+ Click event to the OK button
251
+ @type {Function}
252
+ ###
253
+ OK_CLICK: ->
254
+ ###
255
+ Click event to the CANCEL button
256
+ @type {Function}
257
+ ###
258
+ CANCEL_CLICK: ->
259
+ ###
260
+ Click event to the YES button
261
+ @type {Function}
262
+ ###
263
+ YES_CLICK: ->
264
+ ###
265
+ Click event to the NO button
266
+ @type {Function}
267
+ ###
268
+ NO_CLICK: ->