abstracted 0.2.7 → 0.2.8

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.
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