backboneAX 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  module BackboneAX
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
data/lib/backboneAX.rb CHANGED
@@ -5,8 +5,3 @@ if defined? Rails
5
5
  require "backboneAX/engine"
6
6
  end
7
7
  end
8
-
9
- require "backboneAX/bootstrap_view"
10
- module Sprockets::Helpers::RailsHelper
11
- include BackboneAX::BootstrapView
12
- end
@@ -1,4 +1,4 @@
1
- class Bx.Poolable
1
+ class Bx.Pool.Base
2
2
  @reset: (name) ->
3
3
  return unless @_data?
4
4
  if name?
@@ -1,4 +1,4 @@
1
- class Bx.ArrayPool extends Bx.Poolable
1
+ class Bx.Pool.Array extends Bx.Pool.Base
2
2
 
3
3
  @_create: (name) ->
4
4
  []
@@ -1,4 +1,4 @@
1
- class Bx.CollectionPool extends Bx.Poolable
1
+ class Bx.Pool.Collection extends Bx.Pool.Base
2
2
 
3
3
  @_create: (name) ->
4
4
  new Backbone.Collection
@@ -1,4 +1,4 @@
1
- class Bx.HashPool extends Bx.Poolable
1
+ class Bx.Pool.Hash extends Bx.Pool.Base
2
2
 
3
3
  @_create: (name) ->
4
4
  {}
@@ -1,4 +1,4 @@
1
- class Bx.ModelPool extends Bx.Poolable
1
+ class Bx.Pool.Model extends Bx.Pool.Base
2
2
 
3
3
  @_create: (name) ->
4
4
  new Backbone.Model
@@ -1,16 +1 @@
1
1
  class Bx.Router.Base extends Backbone.Router
2
-
3
- navigate: (path, triggerRoutes) ->
4
- if !path? || path.length == 0
5
- path = $.cookie("redirect")
6
-
7
- if !path? || path.length == 0
8
- path = '/'
9
-
10
- super(path, triggerRoutes)
11
-
12
- setRedirect: (path) ->
13
- $.cookie("redirect", path, 1)
14
-
15
- resetRedirect: () ->
16
- $.cookie("redirect", "")
@@ -3,6 +3,7 @@ class Bx.View.Base extends Backbone.View
3
3
  constructor: (options) ->
4
4
  super(options)
5
5
  @_views = []
6
+
6
7
  # allow overriding of the "contructed" method
7
8
  @constructed(options) if @constructed?
8
9
 
@@ -10,10 +11,11 @@ class Bx.View.Base extends Backbone.View
10
11
  super()
11
12
  _.each @_views, (view) ->
12
13
  view.remove()
14
+
13
15
  # allow overriding of the "removed" method
14
16
  @removed() if @removed?
15
17
 
16
- # CHILD VIEWS
18
+ # CHILD VIEWS
17
19
  createView: (klass, options = {}) ->
18
20
  view = new klass(options)
19
21
  @_views.push(view)
@@ -24,3 +26,192 @@ class Bx.View.Base extends Backbone.View
24
26
  @_views = _.reject @_views, (object) ->
25
27
  object == view
26
28
  return null
29
+
30
+ # SET TEMPLATE VALUES
31
+ setTemplate: (model, $scope = null) ->
32
+ fields = if $scope? then $("*[data-setter]", $scope) else @$("*[data-setter]")
33
+ _.each fields, (field) =>
34
+ $field = $(field)
35
+ setters= $field.attr("data-setter").split(";");
36
+ _.each setters, (setter) =>
37
+ setdata = setter.split(',')
38
+ setdata.push("text") if (setdata.length == 1 )
39
+ switch $.trim(setdata[1])
40
+ when "id"
41
+ @setTemplateId($.trim(setdata[0]), model, $scope, $field)
42
+ when "text"
43
+ @setTemplateText($.trim(setdata[0]), model, $scope, $field)
44
+ when "date"
45
+ @setTemplateDate($.trim(setdata[0]), model, $scope, $field)
46
+ when "bool"
47
+ @setTemplateBool($.trim(setdata[0]), model, $scope, $field)
48
+ when "array"
49
+ @setTemplateArray($.trim(setdata[0]), model, $scope, $field)
50
+ when "show"
51
+ @setTemplateShow($.trim(setdata[0]), model, $scope, $field)
52
+ when "hide"
53
+ @setTemplateHide($.trim(setdata[0]), model, $scope, $field)
54
+ when "img"
55
+ @setTemplateImg($.trim(setdata[0]), model, $scope, $field)
56
+ when "href"
57
+ @setTemplateHref($.trim(setdata[0]), model, $scope, $field)
58
+ else
59
+ @setTemplateText($.trim(setdata[0]), model, $scope, $field)
60
+
61
+ setTemplateId: (fieldName, model, $scope, $field) ->
62
+ value = if @_isModel(model) then model.get(fieldName) else model
63
+ field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
64
+
65
+ field.attr(id, value)
66
+
67
+ setTemplateText: (fieldName, model, $scope, $field) ->
68
+ value = if @_isModel(model) then model.get(fieldName) else model
69
+ field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
70
+
71
+ field.html(value)
72
+
73
+ setTemplateDate: (fieldName, model, $scope, $field) ->
74
+ value = if @_isModel(model) then model.getDate(fieldName) else model
75
+ field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
76
+
77
+ field.html(value)
78
+
79
+ setTemplateBool: (fieldName, model, $scope, $field) ->
80
+ value = if @_isModel(model) then model.get(fieldName) else model
81
+ field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
82
+
83
+ if value == true
84
+ field.addClass('truthy').removeClass('falsy')
85
+ else
86
+ field.addClass('falsy').removeClass('truthy')
87
+
88
+ setTemplateArray: (fieldName, model, $scope, $field) ->
89
+ values = if @_isModel(model) then model.get(fieldName) else model
90
+ field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
91
+
92
+ result = ""
93
+ if values?
94
+ _.each values, (value)->
95
+ if result.length > 0 then result += ", "
96
+ result += value
97
+
98
+ field.html(result)
99
+
100
+ setTemplateShow: (fieldName, model, $scope, $field) ->
101
+ value = if @_isModel(model) then model.get(fieldName) else model
102
+ field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
103
+
104
+ field.toggle(value == true)
105
+ if value == true
106
+ field.removeClass('hide')
107
+ else
108
+ field.addClass('hide')
109
+
110
+ setTemplateHide: (fieldName, model, $scope, $field) ->
111
+ value = if @_isModel(model) then model.get(fieldName) else model
112
+ field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
113
+
114
+ field.toggle(value != true)
115
+ if value == true
116
+ field.addClass('hide')
117
+ else
118
+ field.removeClass('hide')
119
+
120
+ setTemplateImg: (fieldName, model, $scope, $field) ->
121
+ value = if @_isModel(model) then model.get(fieldName) else model
122
+ field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
123
+
124
+ field.attr('src', value)
125
+
126
+ setTemplateHref: (fieldName, model, $scope, $field) ->
127
+ value = if @_isModel(model) then model.get('id') else model
128
+ field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
129
+
130
+ field.attr('href', "##{value}")
131
+
132
+ # SET & GET FORM FIELDS
133
+ formSetText: (fieldName, model) ->
134
+ value = if @_isModel(model) then model.get(fieldName) else model
135
+ field = @$("##{fieldName}")
136
+
137
+ field.attr('value', value)
138
+
139
+ formGetText: (fieldName, model) ->
140
+ field = @$("##{fieldName}")
141
+ value = field.attr('value')
142
+
143
+ if model?
144
+ options = {}
145
+ options[fieldName] = value
146
+ model.set(options, {silent: true})
147
+ return value
148
+
149
+ formSetDate: (fieldName, model) ->
150
+ value = if @_isModel(model) then model.getDate(fieldName) else model
151
+ field = @$("##{fieldName}")
152
+
153
+ field.attr('value', value)
154
+
155
+ formSetSelect: (fieldName, model) ->
156
+ value = if @_isModel(model) then model.get(fieldName) else model
157
+ field = @$("##{fieldName}")
158
+
159
+ field.find("option").removeAttr('selected')
160
+ field.find("option[value='#{value}']").attr('selected', true)
161
+
162
+ formGetSelect: (fieldName, model) ->
163
+ field = @$("##{fieldName}")
164
+ value = field.find('option:selected').val()
165
+
166
+ if model?
167
+ options = {}
168
+ options[fieldName] = value
169
+ model.set(options, {silent: true})
170
+ return value
171
+
172
+ formSetSelectMultiple: (fieldName, model) ->
173
+ values = if @_isModel(model) then model.get(fieldName) else model
174
+ field = @$("##{fieldName}")
175
+
176
+ field.find("option").removeAttr('selected')
177
+ if values?
178
+ _.each values, (value) ->
179
+ field.find("option[value='#{value}']").attr('selected', true)
180
+
181
+ formGetSelectMultiple: (fieldName, model) ->
182
+ field = @$("##{fieldName}")
183
+
184
+ values = []
185
+ _.each field.find('option'), (option) ->
186
+ if $(option).is(':selected')
187
+ values.push($(option).val())
188
+
189
+ if model?
190
+ options = {}
191
+ options[fieldName] = values
192
+ model.set(options, {silent: true})
193
+ return values
194
+
195
+ formSetCheckbox: (fieldName, model) ->
196
+ value = if @_isModel(model) then model.get(fieldName) else model
197
+ field = @$("##{fieldName}")
198
+
199
+ if value == true
200
+ field.attr('checked', true)
201
+ else
202
+ field.removeAttr('checked')
203
+
204
+ formGetCheckbox: (fieldName, model) ->
205
+ field = @$("##{fieldName}")
206
+ value = field.is(':checked')
207
+
208
+ if model?
209
+ options = {}
210
+ options[fieldName] = value
211
+ model.set(options, {silent: true})
212
+ return value
213
+
214
+ # MODEL OR VALUE
215
+ _isModel: (model) ->
216
+ model? && typeof(model) == 'object'
217
+
@@ -2,54 +2,8 @@
2
2
  #= require_tree ./bx
3
3
 
4
4
  window.Bx =
5
+ Pool: {}
5
6
  Model: {}
6
7
  Collection: {}
7
8
  Router: {}
8
9
  View: {}
9
-
10
- Bx.manageErrors = () ->
11
- $(document).ajaxError (event, response) ->
12
- if (response.status == 200)
13
- # ignore it
14
- else if (response.status == 401)
15
- errorResponse = $.parseJSON(response.responseText)
16
- error = errorResponse.error
17
- Bx.ModelPool.get('alert').set
18
- importance: "error"
19
- header: "Login Required"
20
- message: error ? "Invalid Login Details"
21
- fields: {
22
- email: ""
23
- password: ""
24
- }
25
- window.router.navigate('/login', true)
26
-
27
- else if (response.status == 403)
28
- errorResponse = $.parseJSON(response.responseText)
29
- error = errorResponse.error
30
- Bx.ModelPool.get('alert').set
31
- importance: "error"
32
- header: "Access Denied"
33
- message: error ? ""
34
- fields: {
35
- email: ""
36
- password: ""
37
- }
38
- window.router.navigate('/', true)
39
-
40
- else if (response.status == 404)
41
- Bx.ModelPool.get('alert').set
42
- importance: "error"
43
- header: "Server Error"
44
- # document.write(response.responseText)
45
-
46
- else if (response.status == 302)
47
- redirectResponse = $.parseJSON(response.responseText)
48
- window.router.navigate(redirectResponse.redirect, true)
49
-
50
- else if (response.status != 500)
51
- error = $.parseJSON(response.responseText)
52
- Bx.ModelPool.get('alert').set(error)
53
-
54
- else if (response.status == 500)
55
- document.write(response.responseText)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: backboneAX
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-20 00:00:00.000000000Z
12
+ date: 2012-03-02 00:00:00.000000000Z
13
13
  dependencies: []
14
14
  description: backbone Application Extensions for cleaner application development
15
15
  email:
@@ -23,7 +23,6 @@ files:
23
23
  - Rakefile
24
24
  - backboneAX.gemspec
25
25
  - lib/backboneAX.rb
26
- - lib/backboneAX/bootstrap_view.rb
27
26
  - lib/backboneAX/engine.rb
28
27
  - lib/backboneAX/version.rb
29
28
  - vendor/assets/javascripts/bx.js.coffee
@@ -31,16 +30,13 @@ files:
31
30
  - vendor/assets/javascripts/bx/collection/paginate.js.coffee
32
31
  - vendor/assets/javascripts/bx/lib/date.js.coffee
33
32
  - vendor/assets/javascripts/bx/model/base.js.coffee
34
- - vendor/assets/javascripts/bx/pool/pool.js.coffee
35
- - vendor/assets/javascripts/bx/pool/poolable.js.coffee
33
+ - vendor/assets/javascripts/bx/pool/base.js.coffee
36
34
  - vendor/assets/javascripts/bx/pool/poolable/array.js.coffee
37
35
  - vendor/assets/javascripts/bx/pool/poolable/collection.js.coffee
38
36
  - vendor/assets/javascripts/bx/pool/poolable/hash.js.coffee
39
37
  - vendor/assets/javascripts/bx/pool/poolable/model.js.coffee
40
38
  - vendor/assets/javascripts/bx/router/base.js.coffee
41
39
  - vendor/assets/javascripts/bx/view/base.js.coffee
42
- - vendor/assets/javascripts/bx/view/bx_form.js.coffee
43
- - vendor/assets/javascripts/bx/view/bx_template.js.coffee
44
40
  homepage: https://github.com/dougochris/backboneAX
45
41
  licenses: []
46
42
  post_install_message:
@@ -55,7 +51,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
55
51
  version: '0'
56
52
  segments:
57
53
  - 0
58
- hash: 1720843626453926016
54
+ hash: -2919583512465015939
59
55
  required_rubygems_version: !ruby/object:Gem::Requirement
60
56
  none: false
61
57
  requirements:
@@ -64,7 +60,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
64
60
  version: '0'
65
61
  segments:
66
62
  - 0
67
- hash: 1720843626453926016
63
+ hash: -2919583512465015939
68
64
  requirements: []
69
65
  rubyforge_project: backboneAX
70
66
  rubygems_version: 1.8.10
@@ -1,185 +0,0 @@
1
- module BackboneAX
2
- module BootstrapView
3
-
4
- def bx_breadcrumbs(links, button = nil)
5
- content_tag(:ul, '', {class: 'breadcrumb'}) do
6
- out = []
7
- links.each_with_index do |value, index|
8
- if index < links.length - 1
9
- out << content_tag(:li) do
10
- safe_join [content_tag(:a, value[1], {id: value[0]}), content_tag(:span, '/', {class: 'divider'})]
11
- end
12
- else
13
- out << content_tag(:li, value[1])
14
- end
15
- end
16
-
17
- unless button.nil?
18
- out << content_tag(:a, button[:title], button.except(:title).reverse_merge({class: ['btn', 'btn-success']}))
19
- end
20
-
21
- out << content_tag(:div, '', {class: 'clear'})
22
-
23
- safe_join out
24
- end
25
- end
26
-
27
- #FORMS
28
-
29
- def bx_form_horontal(title = nil, form_id = nil, &block)
30
- capture_haml do
31
- haml_tag(:form, {class: 'form-horizontal', id: form_id}) do
32
- haml_tag(:fieldset) do
33
- haml_tag(:legend, title) unless title.nil?
34
- yield() if block_given?
35
- end
36
- end
37
- end
38
- end
39
-
40
- def bx_form_inline(title = nil, form_id = nil, &block)
41
- capture_haml do
42
- haml_tag(:form, {class: 'form-inline', id: form_id}) do
43
- haml_tag(:fieldset) do
44
- haml_tag(:legend, title) unless title.nil?
45
- yield() if block_given?
46
- end
47
- end
48
- end
49
- end
50
-
51
- #FIELDS
52
-
53
- def bx_field_hidden(field_id)
54
- capture_haml do
55
- haml_tag(:div, {class: 'hide'}) do
56
- haml_tag(:input, {type: 'hidden', id: field_id})
57
- end
58
- end
59
- end
60
-
61
- def bx_field_text(field_id, options = {})
62
- capture_haml do
63
- haml_tag(:input, options.slice(:class).merge({id: field_id}))
64
- end
65
- end
66
-
67
- def bx_field_textarea(field_id, options = {})
68
- capture_haml do
69
- haml_tag(:textarea, options.slice(:class, :rows).merge({id: field_id}))
70
- end
71
- end
72
-
73
- def bx_field_file(field_id, options = {})
74
- capture_haml do
75
- haml_tag(:input, options.slice(:class, :rows).merge({id: field_id, type: 'file'}))
76
- end
77
- end
78
-
79
- def bx_field_select(field_id, items ={}, options = {})
80
- capture_haml do
81
- haml_tag(:select, options.slice(:class, :multiple).merge({id: field_id})) do
82
- items.each do |key, value|
83
- haml_tag(:option, value, {value: key})
84
- end
85
- end
86
- end
87
- end
88
-
89
- #BUTTONS
90
- def bx_btn(title, field_id, options = {})
91
- capture_haml do
92
- haml_tag(:a, {class: ['btn', options[:class]], id: field_id}) do
93
- haml_tag(:i, '', {class: options[:icon]}) if options[:icon]
94
- haml_concat(title)
95
- end
96
- end
97
- end
98
-
99
- def bx_btn_primary(title, field_id, options = {})
100
- bx_btn(title, field_id, options.merge(class: 'btn-primary'))
101
- end
102
-
103
- def bx_btn_info(title, field_id, options = {})
104
- bx_btn(title, field_id, options.merge(class: 'btn-info'))
105
- end
106
-
107
- def bx_btn_success(title, field_id, options = {})
108
- bx_btn(title, field_id, options.merge(class: 'btn-success'))
109
- end
110
-
111
- def bx_btn_warning(title, field_id, options = {})
112
- bx_btn(title, field_id, options.merge(class: 'btn-warning'))
113
- end
114
-
115
- def bx_btn_danger(title, field_id, options = {})
116
- bx_btn(title, field_id, options.merge(class: 'btn-danger'))
117
- end
118
-
119
- def bx_btn_cancel(field_id = :cancel)
120
- bx_btn('Cancel', field_id)
121
- end
122
-
123
- def bx_btn_save(field_id = :save)
124
- bx_btn('Cancel', field_id, {class: 'btn-primary'})
125
- end
126
-
127
- def bx_btn_dropdown(title, options = {}, &block)
128
- capture_haml do
129
- haml_tag(:div, {class: 'btn-group'}) do
130
- haml_tag(:a, {class: ['btn', 'dropdown-toggle', options[:class]], 'data-toggle' => 'dropdown'}) do
131
- haml_tag(:i, '', {class: options[:icon]}) if options[:icon]
132
- haml_concat(title)
133
- haml_tag(:span, '', {class: :caret})
134
- end
135
- haml_tag(:ul, {class: 'dropdown-menu'}) do
136
- yield if block_given?
137
- end
138
- end
139
- end
140
- end
141
-
142
- #CONTROL_GROUP_FIELDS
143
- def bx_cg_text(label, field_id, options = {})
144
- bx_cg_group(label, field_id, options) do
145
- haml_tag(:input, options.slice(:class).merge({id: field_id}))
146
- end
147
- end
148
-
149
- def bx_cg_textarea(label, field_id, options = {})
150
- bx_cg_group(label, field_id, options) do
151
- haml_tag(:textarea, options.slice(:class, :rows).merge({id: field_id}))
152
- end
153
- end
154
-
155
- def bx_cg_file(label, field_id, options = {})
156
- bx_cg_group(label, field_id, options) do
157
- haml_tag(:input, options.slice(:class, :rows).merge({id: field_id, type: 'file'}))
158
- end
159
- end
160
-
161
- def bx_cg_select(label, field_id, items ={}, options = {})
162
- bx_cg_group(label, field_id, options) do
163
- haml_tag(:select, options.slice(:class, :multiple).merge({id: field_id})) do
164
- items.each do |key, value|
165
- haml_tag(:option, value, {value: key})
166
- end
167
- end
168
- end
169
- end
170
-
171
- protected
172
- def bx_cg_group(label, field_id, options = {}, &block)
173
- capture_haml do
174
- haml_tag(:div, {class: 'control-group'}) do
175
- haml_tag(:label, label, {class: 'control-label', for: field_id})
176
- haml_tag(:div, {class: 'controls'}) do
177
- yield() if block_given?
178
- haml_tag(:span, options[:help], {class: 'help-inline'}) unless options[:help].blank?
179
- end
180
- end
181
- end
182
- end
183
-
184
- end
185
- end
@@ -1,13 +0,0 @@
1
- class Bx.Pool
2
- @fill: (datasets)->
3
- _.each datasets, (e) ->
4
- if e.dataset && e.dataset.model
5
- Bx.ModelPool.get(e.dataset.model).set(JSON.parse($(e).text()), {silent: true})
6
- else if e.dataset && e.dataset.collection
7
- Gec.CollectionPool.get(e.dataset.collection).reset(JSON.parse($(e).text()))
8
- else if e.dataset && e.dataset.array
9
- data = Bx.ArrayPool.get(e.dataset.array)
10
- $.extend(data, JSON.parse($(e).text()))
11
- else if e.dataset && e.dataset.hash
12
- data = Bx.HashPool.get(e.dataset.hash)
13
- $.extend(data, JSON.parse($(e).text()))
@@ -1,87 +0,0 @@
1
- _.extend Backbone.View.prototype,
2
-
3
- formSetText: (fieldName, model) ->
4
- value = if @_isModel(model) then model.get(fieldName) else model
5
- field = @$("##{fieldName}")
6
-
7
- field.attr('value', value)
8
-
9
- formGetText: (fieldName, model) ->
10
- field = @$("##{fieldName}")
11
- value = field.attr('value')
12
-
13
- if model?
14
- options = {}
15
- options[fieldName] = value
16
- model.set(options, {silent: true})
17
- return value
18
-
19
- formSetDate: (fieldName, model) ->
20
- value = if @_isModel(model) then model.getDate(fieldName) else model
21
- field = @$("##{fieldName}")
22
-
23
- field.attr('value', value)
24
-
25
- formSetSelect: (fieldName, model) ->
26
- value = if @_isModel(model) then model.get(fieldName) else model
27
- field = @$("##{fieldName}")
28
-
29
- field.find("option").removeAttr('selected')
30
- field.find("option[value='#{value}']").attr('selected', true)
31
-
32
- formGetSelect: (fieldName, model) ->
33
- field = @$("##{fieldName}")
34
- value = field.find('option:selected').val()
35
-
36
- if model?
37
- options = {}
38
- options[fieldName] = value
39
- model.set(options, {silent: true})
40
- return value
41
-
42
- formSetSelectMultiple: (fieldName, model) ->
43
- values = if @_isModel(model) then model.get(fieldName) else model
44
- field = @$("##{fieldName}")
45
-
46
- field.find("option").removeAttr('selected')
47
- if values?
48
- _.each values, (value) ->
49
- field.find("option[value='#{value}']").attr('selected', true)
50
-
51
- formGetSelectMultiple: (fieldName, model) ->
52
- field = @$("##{fieldName}")
53
-
54
- values = []
55
- _.each field.find('option'), (option) ->
56
- if $(option).is(':selected')
57
- values.push($(option).val())
58
-
59
- if model?
60
- options = {}
61
- options[fieldName] = values
62
- model.set(options, {silent: true})
63
- return values
64
-
65
- formSetCheckbox: (fieldName, model) ->
66
- value = if @_isModel(model) then model.get(fieldName) else model
67
- field = @$("##{fieldName}")
68
-
69
- if value == true
70
- field.attr('checked', true)
71
- else
72
- field.removeAttr('checked')
73
-
74
- formGetCheckbox: (fieldName, model) ->
75
- field = @$("##{fieldName}")
76
- value = field.is(':checked')
77
-
78
- if model?
79
- options = {}
80
- options[fieldName] = value
81
- model.set(options, {silent: true})
82
- return value
83
-
84
- #private methods
85
- _isModel= (model) ->
86
- model? && typeof(model) == 'object'
87
-
@@ -1,104 +0,0 @@
1
- _.extend Backbone.View.prototype,
2
- _isModel: (model) ->
3
- model? && typeof(model) == 'object'
4
-
5
- setTemplate: (model, $scope = null) ->
6
- fields = if $scope? then $("*[data-setter]", $scope) else @$("*[data-setter]")
7
- _.each fields, (field) =>
8
- $field = $(field)
9
- setters= $field.attr("data-setter").split(";");
10
- _.each setters, (setter) =>
11
- setdata = setter.split(',')
12
- setdata.push("text") if (setdata.length == 1 )
13
- switch $.trim(setdata[1])
14
- when "id"
15
- @setTemplateId($.trim(setdata[0]), model, $scope, $field)
16
- when "text"
17
- @setTemplateText($.trim(setdata[0]), model, $scope, $field)
18
- when "date"
19
- @setTemplateDate($.trim(setdata[0]), model, $scope, $field)
20
- when "bool"
21
- @setTemplateBool($.trim(setdata[0]), model, $scope, $field)
22
- when "array"
23
- @setTemplateArray($.trim(setdata[0]), model, $scope, $field)
24
- when "show"
25
- @setTemplateShow($.trim(setdata[0]), model, $scope, $field)
26
- when "hide"
27
- @setTemplateHide($.trim(setdata[0]), model, $scope, $field)
28
- when "img"
29
- @setTemplateImg($.trim(setdata[0]), model, $scope, $field)
30
- when "href"
31
- @setTemplateHref($.trim(setdata[0]), model, $scope, $field)
32
- else
33
- @setTemplateText($.trim(setdata[0]), model, $scope, $field)
34
-
35
- setTemplateId: (fieldName, model, $scope, $field) ->
36
- value = if @_isModel(model) then model.get(fieldName) else model
37
- field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
38
-
39
- field.attr(id, value)
40
-
41
- setTemplateText: (fieldName, model, $scope, $field) ->
42
- value = if @_isModel(model) then model.get(fieldName) else model
43
- field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
44
-
45
- field.html(value)
46
-
47
- setTemplateDate: (fieldName, model, $scope, $field) ->
48
- value = if @_isModel(model) then model.getDate(fieldName) else model
49
- field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
50
-
51
- field.html(value)
52
-
53
- setTemplateBool: (fieldName, model, $scope, $field) ->
54
- value = if @_isModel(model) then model.get(fieldName) else model
55
- field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
56
-
57
- if value == true
58
- field.addClass('truthy').removeClass('falsy')
59
- else
60
- field.addClass('falsy').removeClass('truthy')
61
-
62
- setTemplateArray: (fieldName, model, $scope, $field) ->
63
- values = if @_isModel(model) then model.get(fieldName) else model
64
- field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
65
-
66
- result = ""
67
- if values?
68
- _.each values, (value)->
69
- if result.length > 0 then result += ", "
70
- result += value
71
-
72
- field.html(result)
73
-
74
- setTemplateShow: (fieldName, model, $scope, $field) ->
75
- value = if @_isModel(model) then model.get(fieldName) else model
76
- field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
77
-
78
- field.toggle(value == true)
79
- if value == true
80
- field.removeClass('hide')
81
- else
82
- field.addClass('hide')
83
-
84
- setTemplateHide: (fieldName, model, $scope, $field) ->
85
- value = if @_isModel(model) then model.get(fieldName) else model
86
- field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
87
-
88
- field.toggle(value != true)
89
- if value == true
90
- field.addClass('hide')
91
- else
92
- field.removeClass('hide')
93
-
94
- setTemplateImg: (fieldName, model, $scope, $field) ->
95
- value = if @_isModel(model) then model.get(fieldName) else model
96
- field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
97
-
98
- field.attr('src', value)
99
-
100
- setTemplateHref: (fieldName, model, $scope, $field) ->
101
- value = if @_isModel(model) then model.get('id') else model
102
- field = if $field? then $field else if $scope? then $("##{fieldName}", $scope) else @$("##{fieldName}")
103
-
104
- field.attr('href', "##{value}")