abstracted 0.2.7 → 0.2.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 99835603aba0a32fe494147a333e46112d755a95
4
- data.tar.gz: 4331a49ddc9bd415791e515807a233efbddd3a20
3
+ metadata.gz: 6b73dcabdb96ea0290f29b71b1a46515a3657754
4
+ data.tar.gz: e9c098ac91e56ed4ff7e2f6b440e8dcc89d9cc68
5
5
  SHA512:
6
- metadata.gz: bd52f07701dc147bb69a805971d9848bf94a959956862e13f0fa871da75e34586b2d326177e0b9fb2dfdfde8f2f1cd8293e7af30d8b2c0d8329625ba41e98913
7
- data.tar.gz: 0b092495a6ab16f118dfbe716a0ad8208283ba36fe083e7bf51e081355641d173134468d07a3b4d0fe3ad86f03d314b8513e82478c9db63dd57c457b9ea09b22
6
+ metadata.gz: 313f43d9bc4948b6e23e496f4a1dab414bcb823e3f5789285cb1b0bb9cabd920a2a551f3e223251cb2d91a9c45c4e876dd8dbd82849532ffb3b77fcf808d39f5
7
+ data.tar.gz: 250a29942397a4660686d96d46e0104c78d7938b44ec2db93ce4db14cb681605475c718a26b3681f9f6f68246f5179613d6994bee8a9ef3a1306feb7ad4dca3c
@@ -1,9 +1,7 @@
1
1
  class App.fabDelete
2
+
2
3
  constructor: (@el) ->
3
4
  # initialize some stuff
4
- @shared = new App.Shared()
5
-
6
-
7
5
 
8
6
  closeSweetAlert: ($elem=null) =>
9
7
  try
@@ -81,7 +79,7 @@ class App.fabDelete
81
79
  return
82
80
 
83
81
  loader = '<div class="preloader-wrapper medium active"> <div class="spinner-layer spinner-blue-only"> <div class="circle-clipper left"> <div class="circle"></div> </div><div class="gap-patch"> <div class="circle"></div> </div><div class="circle-clipper right"> <div class="circle"></div> </div> </div> </div>'
84
- @shared.setLoader( $(elem).closest('.fixed-action-btn'),loader)
82
+ App.shared.setLoader( $(elem).closest('.fixed-action-btn'),loader)
85
83
  oxremote = elem.data('oxremote')
86
84
  if (oxremote=='false' or oxremote==false)
87
85
  switch elem.data('method')
@@ -96,16 +94,16 @@ class App.fabDelete
96
94
  jqxhr = $.ajax
97
95
  url: elem.data('url') || elem.attr('href')
98
96
  type: elem.data('method') || 'get'
99
- data: @shared.dataArgumentOn(elem)
97
+ data: App.shared.dataArgumentOn(elem)
100
98
  dataType: elem.data('type') || 'html'
101
99
  .done (data) =>
102
- @shared.releaseLoader()
100
+ App.shared.releaseLoader()
103
101
  if elem.data('modal')
104
102
  $(elem.data('modal')).html(data).openModal()
105
103
  else
106
104
  $(document.body).append(data)
107
105
  .error (data) =>
108
- @shared.releaseLoader()
106
+ App.shared.releaseLoader()
109
107
  $(document.body).append(data)
110
108
  return false
111
109
 
@@ -131,7 +129,7 @@ class App.fabDelete
131
129
  closeOnConfirm: false,
132
130
  confirmButtonText: "Yes, delete it!",
133
131
  confirmButtonColor: "#ec6c62",
134
- (confirmed) ->
132
+ (confirmed) =>
135
133
  if !confirmed
136
134
  @closeSweetAlert($elem)
137
135
  else
@@ -1,8 +1,6 @@
1
1
  class App.ResourceForm
2
2
  constructor: (@el) ->
3
3
  # initialize some stuff
4
- inputForm = null
5
-
6
4
 
7
5
  #
8
6
  # make sure fields with values do not have their labels obscuring your view
@@ -16,43 +14,33 @@ class App.ResourceForm
16
14
  #console.log this
17
15
 
18
16
  #
19
- # initializeForm
20
- # on pages with a FORM element - like show, new and edit
21
- # prepare the FORM element
22
- #
23
- initializeForm: (f) ->
24
- @inputForm = f
25
- #
26
- # Initialize SELECT's
27
- #
28
- $('select').each () ->
29
- # remove span.caret's from previous 'runs' - however that happens
30
- $(this).parent().parent().find('span.caret').remove()
31
- $(this).material_select()
32
-
33
- #
34
- # make labels on fields with content move out of the way
35
- #
36
- @setLabels('.input-field label')
17
+ # prepare the form - a data: {form_type: record }
18
+ # kind of form that is
19
+ prepare: ->
37
20
 
38
- #
39
- # Initialize INPUT TYPE='DATE'
40
- #
41
- # %input.datepicker{ type:"date" }
42
- #
43
- $('.datepicker').pickadate
44
- selectMonths: true, # Creates a dropdown to control month
45
- selectYears: 15 # Creates a dropdown of 15 years to control year
21
+ try
46
22
 
23
+ #
24
+ # Initialize SELECT's
25
+ #
26
+ $('select').each () ->
27
+ # remove span.caret's from previous 'runs' - however that happens
28
+ $(this).parent().parent().find('span.caret').remove()
29
+ $(this).material_select()
47
30
 
48
- prepare: ->
31
+ #
32
+ # make labels on fields with content move out of the way
33
+ #
34
+ @setLabels('.input-field label')
49
35
 
50
- try
51
36
  #
52
- # If this page has FORM element(s)
37
+ # Initialize INPUT TYPE='DATE'
38
+ #
39
+ # %input.datepicker{ type:"date" }
53
40
  #
54
- $('form').first().map (k,f) =>
55
- @initializeForm(f)
41
+ $('.datepicker').pickadate
42
+ selectMonths: true, # Creates a dropdown to control month
43
+ selectYears: 15 # Creates a dropdown of 15 years to control year
56
44
 
57
45
  catch error
58
46
  alert 'App.ResourceForm did not prepare!'
@@ -2,8 +2,8 @@ class App.ResourcesList
2
2
 
3
3
  constructor: (@el) ->
4
4
  # initialize some stuff
5
- @inputForm = @el
6
- @shared = new App.Shared()
5
+ @searchForm = @el[0]
6
+
7
7
  #
8
8
  # printPost handles printing posts either way
9
9
  #
@@ -30,12 +30,12 @@ class App.ResourcesList
30
30
  # </a>
31
31
  #
32
32
  # data-url="", data-id="", data-print-action="", data-message-ok="", data-message-error=""
33
- printPost: (elem) ->
33
+ printPost: (elem) =>
34
34
  elem = $(elem)
35
35
  url = elem.data('url') || elem.attr('href')
36
36
  if elem.data('browser')=='new'
37
- @shared.releaseLoader()
38
- window.open url + '?' + $.param dataArgumentOn(elem)
37
+ App.shared.releaseLoader()
38
+ window.open url + '?' + $.param App.shared.dataArgumentOn(elem)
39
39
  return
40
40
 
41
41
  oxremote = elem.data('oxremote')
@@ -53,19 +53,19 @@ class App.ResourcesList
53
53
  jqxhr = $.ajax
54
54
  url: elem.data('url') || elem.attr('href')
55
55
  type: elem.data('method') || 'get'
56
- data: dataArgumentOn(elem)
56
+ data: App.shared.dataArgumentOn(elem)
57
57
  dataType: elem.data('type') || 'html'
58
- .done (data) ->
59
- @shared.releaseLoader()
58
+ .done (data) =>
59
+ App.shared.releaseLoader()
60
60
  if elem.data('download')
61
- @shared.getDownload(jqxhr,data)
61
+ App.shared.getDownload(jqxhr,data)
62
62
  else
63
63
  $(document.body).append(data)
64
64
 
65
- .fail (response,status) ->
66
- @shared.releaseLoader()
65
+ .fail (response,status) =>
66
+ App.shared.releaseLoader()
67
67
  if jqxhr.state=='rejected'
68
- @shared.reportError('Der er ingen forbindelse til serveren - prøv lidt senere!')
68
+ App.shared.reportError('Der er ingen forbindelse til serveren - prøv lidt senere!')
69
69
  else
70
70
  $(document.body).append(response.responseText)
71
71
 
@@ -106,10 +106,10 @@ class App.ResourcesList
106
106
  #
107
107
  # searchPost handles ordering search on index actions
108
108
  #
109
- orderSearch: (url,query) ->
109
+ orderSearch: (url,query) =>
110
110
  loader = '<div class="preloader-wrapper small active"> <div class="spinner-layer spinner-blue-only"> <div class="circle-clipper left"> <div class="circle"></div> </div><div class="gap-patch"> <div class="circle"></div> </div><div class="circle-clipper right"> <div class="circle"></div> </div> </div> </div>'
111
111
  loaded_element = $('.fixed-action-btn')
112
- @shared.setLoader( loaded_element,loader )
112
+ App.shared.setLoader( loaded_element,loader )
113
113
  window.location.href= url + '?q=' + encodeURIComponent(query)
114
114
 
115
115
 
@@ -117,7 +117,7 @@ class App.ResourcesList
117
117
  # handleAttachLinks
118
118
  # allows for attaching/detaching resources from their parents - like: /admin/users/2/printers/3/attach.js
119
119
  #
120
- handleAttachLinks: (e) ->
120
+ handleAttachLinks: (e) =>
121
121
  e.preventDefault()
122
122
  e.stopPropagation()
123
123
 
@@ -126,10 +126,10 @@ class App.ResourcesList
126
126
  url: $elem.attr('href'),
127
127
  type: "get",
128
128
  dataType: 'html'
129
- .done (data) ->
129
+ .done (data) =>
130
130
  $( $elem[0].parentElement).html(data)
131
131
 
132
- .error (data) ->
132
+ .error (data) =>
133
133
  swal("Oops", "We couldn't connect to the server!", "error")
134
134
  return false
135
135
 
@@ -137,7 +137,7 @@ class App.ResourcesList
137
137
  # handleActivateLinks
138
138
  # allows for activating/deactivating resources - like: /admin/users/2/activate
139
139
  #
140
- handleActivateLinks: (e) ->
140
+ handleActivateLinks: (e) =>
141
141
  e.preventDefault()
142
142
  e.stopPropagation()
143
143
 
@@ -146,10 +146,10 @@ class App.ResourcesList
146
146
  url: $elem.attr('href'),
147
147
  type: "get",
148
148
  dataType: 'html'
149
- .done (data) ->
149
+ .done (data) =>
150
150
  $( $elem[0].parentElement).html(data)
151
151
 
152
- .error (data) ->
152
+ .error (data) =>
153
153
  swal("Oops", "We couldn't connect to the server!", "error")
154
154
  return false
155
155
 
@@ -158,7 +158,7 @@ class App.ResourcesList
158
158
  # handlePreferredLinks
159
159
  # allows for activating/deactivating resources - like: /admin/users/2/activate
160
160
  #
161
- handlePreferredLinks: (e) ->
161
+ handlePreferredLinks: (e) =>
162
162
  e.preventDefault()
163
163
  e.stopPropagation()
164
164
 
@@ -167,15 +167,15 @@ class App.ResourcesList
167
167
  url: $elem.attr('href'),
168
168
  type: "get",
169
169
  dataType: 'html'
170
- .done (data) ->
170
+ .done (data) =>
171
171
  # here we have to write all the existing preferred ones
172
- $.when $('i.preferred').each (k,e) ->
172
+ $.when $('i.preferred').each (k,e) =>
173
173
  $e = $(e)
174
174
  $( $e[0].parentElement).html( data.replace /{{id}}/, $e.data('id'))
175
175
  # $( $elem[0].parentElement).html(data)
176
176
  .then $( $elem[0].parentElement).html('<i class="preferred material-icons green-text" data-id="' + $elem.data('id') + '">bookmark</i>')
177
177
 
178
- .error (data) ->
178
+ .error (data) =>
179
179
  swal("Oops", "We couldn't connect to the server!", "error")
180
180
  return false
181
181
 
@@ -183,14 +183,14 @@ class App.ResourcesList
183
183
  # handlePrintLinks
184
184
  # initializes the tags classed with '.print_post_link' to print a post
185
185
  #
186
- handlePrintLinks: (e) ->
186
+ handlePrintLinks: (e) =>
187
187
  e.preventDefault()
188
188
  e.stopPropagation()
189
189
 
190
190
  $elem = $(e.currentTarget)
191
191
  loader = '<div class="preloader-wrapper small active"> <div class="spinner-layer spinner-blue-only"> <div class="circle-clipper left"> <div class="circle"></div> </div><div class="gap-patch"> <div class="circle"></div> </div><div class="circle-clipper right"> <div class="circle"></div> </div> </div> </div>'
192
192
  loaded_element = $elem.closest('.loader_container')
193
- @shared.setLoader( loaded_element,loader )
193
+ App.shared.setLoader( loaded_element,loader )
194
194
  @printPost($elem)
195
195
  return false
196
196
 
@@ -202,7 +202,7 @@ class App.ResourcesList
202
202
  e.preventDefault()
203
203
  e.stopPropagation()
204
204
  $elem = $('input.search-list')
205
- @orderSearch(@inputForm.action, $elem.val())
205
+ @orderSearch(@searchForm.action, $elem.val())
206
206
 
207
207
  #
208
208
  # starting a search - and making some noise about it!
@@ -211,10 +211,10 @@ class App.ResourcesList
211
211
  e.preventDefault()
212
212
  e.stopPropagation()
213
213
  $elem = $('input.search-list')
214
- @orderSearch(@inputForm.action, $elem.val())
214
+ @orderSearch(@searchForm.action, $elem.val())
215
215
 
216
216
 
217
- prepare: ->
217
+ prepare: =>
218
218
 
219
219
  try
220
220
  $(document.body).unbind('click.print')
@@ -229,7 +229,7 @@ class App.ResourcesList
229
229
  #
230
230
  # If this page has a resources_list
231
231
  #
232
- $('table.resources_table').map (k,t) ->
232
+ $('table.resources_table').map (k,t) =>
233
233
  $(document.body).on 'click.attach', 'a.attached, a.detached', @handleAttachLinks
234
234
  $(document.body).on 'click.activate', 'a.activated, a.deactivated', @handleActivateLinks
235
235
  $(document.body).on 'click.prefer', 'a.preferred, a.deferred', @handlePreferredLinks
@@ -2,15 +2,20 @@
2
2
  # to make room for a loader
3
3
  #
4
4
  class App.Shared
5
- # constructor: (@el) ->
6
- # # initialize some stuff
7
- # # it will be re-instated with releaseLoader
8
- loaded_html = ""
9
- loaded_element = ""
5
+ constructor: (@el) ->
6
+ # initialize some stuff
7
+ # it will be re-instated with releaseLoader
8
+ @loaded_html = ""
9
+ @loaded_element = ""
10
+ @currentForm = ""
10
11
 
12
+ setCurrentForm: (f) =>
13
+ @currentForm = f
11
14
 
15
+ getCurrentForm: =>
16
+ @currentForm
12
17
 
13
- getDownload: (xhr,data) ->
18
+ getDownload: (xhr,data) =>
14
19
  # Check if a filename is existing on the response headers.
15
20
  filename = ""
16
21
  disposition = xhr.getResponseHeader("Content-Disposition")
@@ -21,7 +26,6 @@ class App.Shared
21
26
  filename = matches[1].replace(/[""]/g, "")
22
27
  #
23
28
  type = xhr.getResponseHeader("Content-Type")
24
- console.log 'getDownload ' + type
25
29
  blob = new Blob([data], {type: type})
26
30
  #
27
31
  if typeof window.navigator.msSaveBlob != "undefined"
@@ -55,7 +59,7 @@ class App.Shared
55
59
  # 03-07-2015 (whd) not sure whether this method is OK!!!!
56
60
  # cp'ed from: http://scriptcult.com/subcategory_1/article_414-copy-or-clone-javascript-array-object
57
61
  #
58
- cloneObject: (source) ->
62
+ cloneObject: (source) =>
59
63
  for i in source
60
64
  if typeof source[i] == 'source'
61
65
  this[i] = new cloneObject source[i]
@@ -70,24 +74,24 @@ class App.Shared
70
74
  #
71
75
  setLoader: (elem,html) =>
72
76
  html ||= '<div class="progress"><div class="indeterminate"></div></div>'
73
- loaded_element = $(elem)
74
- loaded_html = elem.html()
77
+ @loaded_element = $(elem)
78
+ @loaded_html = elem.html()
75
79
  elem.html(html)
76
- return loaded_html
80
+ return @loaded_html
77
81
 
78
82
  #
79
83
  # release the loader
80
84
  #
81
85
  releaseLoader: (elem=null) =>
82
- elem ||= loaded_element
83
- $(elem).html(loaded_html)
86
+ elem ||= @loaded_element
87
+ $(elem).html(@loaded_html)
84
88
 
85
- tellResponse: (msg,anchor='.message_container',fade=15000,selector='.alert') ->
89
+ tellResponse: (msg,anchor='.message_container',fade=15000,selector='.alert') =>
86
90
  $(anchor).prepend(msg)
87
91
  if fade>0
88
92
  fadeItOut $(anchor).find(selector), 15000
89
93
 
90
- reportError: (msg) ->
94
+ reportError: (msg) =>
91
95
  Materialize.toast( msg, 4500, 'red lighten-3')
92
96
 
93
97
 
@@ -95,7 +99,7 @@ class App.Shared
95
99
  # fadeItOut will fade an element out with a preset or
96
100
  # supplied delay
97
101
  #
98
- fadeItOut: (e,delay=3500) ->
102
+ fadeItOut: (e,delay=3500) =>
99
103
  $(e).delay( delay ).fadeOut( 1000 )
100
104
 
101
105
  #
@@ -104,7 +108,7 @@ class App.Shared
104
108
  #
105
109
  # excemptions: data-id, data-remote, data-ajax, data-method, data-type and data-url
106
110
  #
107
- dataArgumentOn: (elem) ->
111
+ dataArgumentOn: (elem) =>
108
112
  $(elem).data()
109
113
  # try
110
114
  #
@@ -117,7 +121,7 @@ class App.Shared
117
121
  #
118
122
  # check to see iff this browser supperts the File APIs
119
123
  #
120
- fileApiSupportCheck: () ->
124
+ fileApiSupportCheck: () =>
121
125
  if (window.File && window.FileReader && window.FileList && window.Blob)
122
126
  # All the File APIs are supported.
123
127
  console.log 'file APIs supported '
@@ -7,7 +7,7 @@ class App.SweetAlert
7
7
  # initializeSweetAlert
8
8
  # initializes the sweetalert prompt
9
9
  #
10
- initializeSweetAlert: () ->
10
+ initializeSweetAlert: () =>
11
11
  try
12
12
  # console.log 'sweet alert initializing...'
13
13
  # sweetHTML = '<div class="sweet-overlay" tabIndex="-1"></div><div class="sweet-alert" tabIndex="-1"><div class="icon error"><span class="x-mark"><span class="line left"></span><span class="line right"></span></span></div><div class="icon warning"> <span class="body"></span> <span class="dot"></span> </div> <div class="icon info"></div> <div class="icon success"> <span class="line tip"></span> <span class="line long"></span> <div class="placeholder"></div> <div class="fix"></div> </div> <div class="icon custom"></div> <h2>Title</h2><p>Text</p><button class="cancel" tabIndex="2">Cancel</button><button class="confirm" tabIndex="1">OK</button></div>'
@@ -19,7 +19,7 @@ class App.SweetAlert
19
19
  console.log 'sweetalert says: ' + error
20
20
 
21
21
 
22
- prepare: ->
22
+ prepare: =>
23
23
 
24
24
  try
25
25
  if ($('.sweet-alert').length<1)
@@ -6,7 +6,7 @@ $(App).on 'ctrlf', ->
6
6
 
7
7
  #
8
8
  # watch out for search key - CTRL-F
9
- $(document).keypress (e) ->
9
+ $(document).keypress (e) =>
10
10
  if (e.which==6)
11
11
  checkWebkitandIE=1
12
12
  else
@@ -3,7 +3,16 @@
3
3
  #
4
4
  # reacts to 'app.something' events
5
5
  #
6
- window.App ||= { name: 'App'}
6
+ window.App ||= { name: 'App', shared: null, cf: null }
7
+
8
+ App.shared = ->
9
+ @shared
10
+
11
+ App.currentForm = (val) ->
12
+ @shared.setCurrentForm(val)
13
+
14
+ App.currentForm = ->
15
+ @shared.getCurrentForm()
7
16
 
8
17
  App.trigger = (event) ->
9
18
  $(App).trigger(event)
@@ -11,6 +20,8 @@ App.trigger = (event) ->
11
20
  #
12
21
  # signal App
13
22
  App.init = ->
23
+
24
+ @shared = new App.Shared()
14
25
  #
15
26
  App.trigger('app:init')
16
27
  #
@@ -35,4 +46,5 @@ App.pageload = ->
35
46
  # closeNotice
36
47
  # will close the notice DIV
37
48
  App.closeNotice = (e) ->
38
- fadeItOut $(e).closest('.alert') #.remove()
49
+ shared = new App.Shared()
50
+ shared.fadeItOut $(e).closest('.alert') #.remove()
@@ -1,3 +1,3 @@
1
1
  module Abstracted
2
- VERSION = "0.2.7"
2
+ VERSION = "0.2.8"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: abstracted
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Walther H Diechmann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-08 00:00:00.000000000 Z
11
+ date: 2016-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails