backboneAX 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -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}")