ende 0.2.21 → 0.3.0

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: 5c379f566930c0f08bcc2c991cc9a28770385494
4
- data.tar.gz: 22bb23a1b538097fb91307570c0deec2d3a74ea3
3
+ metadata.gz: 428726f81f06f7cf6d296ed436b4ad4c3ea396d3
4
+ data.tar.gz: 09dd3babe623240a882f57c0f7c3246c7fc5041a
5
5
  SHA512:
6
- metadata.gz: 30315e0755d29ac23869a0ef9cbacc2e681ed9640db8761258c0498789c41c09ea80d46cd4e665a91ab83c7b8ec93dfb6c0537e8d9499e21ce2477b2717112ec
7
- data.tar.gz: c2df0eecef58b694c6347d071bb965c1702eca7604c28af2bfbf8597fa7f852ee1b1791668c5b4a3ca28477203277f63795f9b7d3f44e01276dd6c5eb13950f5
6
+ metadata.gz: 021df6a443cb387cbfa1610266f7cd8ab6c66bc60f4f629b1b4d234ecc0b1f45505abe97490eadba4a27dae0934a60bde2e8d2529d906fd1df5eb29b5fe47c77
7
+ data.tar.gz: 90458b021186087b3e506d092d1c183b543dd1a5a0290338f2ccd4ab21f8688157e3873124a823238458bd9c18aa82bbc6c234dee3ac177f77710117787280ff
@@ -0,0 +1,125 @@
1
+ #= require 'jquery/inputmask'
2
+ #= require 'jquery/inputmask.extensions'
3
+ #= require 'jquery/inputmask.numeric.extensions'
4
+
5
+ $.extend $.inputmask.defaults.aliases.integer,
6
+ groupSeparator : '.'
7
+ autoGroup : true
8
+ autoUnmask : true
9
+
10
+ $.extend $.inputmask.defaults.aliases.decimal,
11
+ groupSeparator : '.'
12
+ radixPoint : ','
13
+ autoGroup : true
14
+ autoUnmask : true
15
+
16
+
17
+ $.extend $.inputmask.defaults.aliases,
18
+ price:
19
+ alias : 'decimal'
20
+ digits : 2
21
+ allowMinus : false
22
+ allowPlus : false
23
+
24
+ plate:
25
+ mask : 'AAA-9999'
26
+
27
+ meters:
28
+ alias : 'integer'
29
+ allowMinus : false
30
+ allowPlus : false
31
+ integerDigits : 6
32
+
33
+ cpf:
34
+ mask : '999.999.999-99'
35
+
36
+ cnpj:
37
+ mask : '99.999.999/9999-99'
38
+
39
+ phone:
40
+ mask : '(99) 9999[9]-9999'
41
+
42
+
43
+
44
+ define 'aura/extensions/mask', (mask) ->
45
+
46
+ 'use strict'
47
+
48
+
49
+ (application) ->
50
+
51
+
52
+ mask = (selector, mask, options) ->
53
+ $(selector).inputmask mask, options
54
+
55
+
56
+ # version: '0.1.0'
57
+
58
+ initialize: (application) ->
59
+ application.sandbox.ui.mask = mask
60
+
61
+ afterAppStart: (application) ->
62
+ #
63
+
64
+
65
+
66
+
67
+
68
+
69
+ #
70
+ #
71
+ #
72
+ #
73
+ # # TODO Remove .call null
74
+ # # TODO Remove .call null
75
+ # loader.require.call null, 'modernizr'
76
+ # loader.require.call null, 'ened/vendor/assets/javascripts/lennon/lennon.js'
77
+ # query = loader.require.call null, 'querystring'
78
+ # router = null
79
+ #
80
+ # # TODO rename to router stationg
81
+ # (application) ->
82
+ # core = application.core
83
+ # mediator = core.mediator
84
+ #
85
+ # # TODO unify router api
86
+ # router = new Lennon
87
+ # # TODO implement logger api for lennon or change lennon library
88
+ # # logger: application.logger
89
+ # publishEvent: (name, params) ->
90
+ #
91
+ # current_route = window.location.href
92
+ # if router.last_route != current_route
93
+ # mediator.emit 'route.changed'
94
+ # router.last_route = current_route
95
+ #
96
+ # # TODO method parsing (get, delete, put, post)
97
+ # mediator.emit name, params
98
+ #
99
+ # router.location = (href, process = true) ->
100
+ # if Modernizr.history
101
+ # window.history.pushState null, null, href
102
+ # else
103
+ # # TODO parse href and extract path!
104
+ # window.location.hash = href
105
+ #
106
+ # process and router.process()
107
+ #
108
+ #
109
+ # application.core.router = router
110
+ #
111
+ # location = Object.create null,
112
+ # # TODO cache query parsing
113
+ # query:
114
+ # get: -> query.parse window.location.search.substring(1)
115
+ #
116
+ # toString: -> window.location
117
+ #
118
+ # version: '0.2.1'
119
+ #
120
+ # initialize: (application) ->
121
+ # application.sandbox.ui.mask = mask
122
+ #
123
+ # afterAppStart: (application) ->
124
+ # router.process()
125
+ #
@@ -212,7 +212,7 @@ define 'aura/extensions/rivets', ->
212
212
  el.value = if value? then value else ''
213
213
 
214
214
  # TODO isntall formatters from the external custom formatters repo
215
- rivets.formatters.is ||= (v, o) -> v == o
215
+ rivets.formatters.is ||= (one, other) -> one == other
216
216
 
217
217
  rivets.formatters.float ||= (value) ->
218
218
  throw new TypeError "Invalid value passed to float formatter: #{value}" unless value?
@@ -38,11 +38,11 @@ define ->
38
38
 
39
39
  # TODO move to handlers
40
40
  load: (options) ->
41
- _.invoke @sandbox._children, 'stop' if @sandbox._children?.length
42
-
41
+
43
42
  # TODO move to anoter method
44
43
  if @loads > 0
45
- @html ''
44
+ _.invoke @sandbox._children, 'stop' if @sandbox._children?.length
45
+ @$el.html ''
46
46
 
47
47
  @loading?.abort()
48
48
  @spinner?.stop()
@@ -53,7 +53,7 @@ define ->
53
53
  @spinner = @sandbox.ui.loader @$el
54
54
  @$el.addClass "loading"
55
55
  @$el.removeClass "idle"
56
-
56
+
57
57
 
58
58
  # TODO remove jQuery dependency
59
59
  @loading = $.ajax(@request_options options).done(@loaded).fail(@failed).always(@ended)
@@ -161,9 +161,11 @@ define [
161
161
  @repopulate()
162
162
 
163
163
  repopulate: ->
164
- if @load?
164
+ unless @fetching?
165
165
  @load.stop()
166
166
  @load = null
167
+ else
168
+ @fetching?.abort()
167
169
 
168
170
  # TODO store spinner instance, instead of creating a new one every time
169
171
  unless @load?
@@ -173,12 +175,12 @@ define [
173
175
  @$el.addClass 'idle'
174
176
  @$el.removeClass 'loading'
175
177
 
176
- viewer = @presentation.viewer
178
+ {viewer} = @presentation
177
179
 
178
180
  # ✔ Generalize this filtering option
179
181
  # TODO make scope.all method use scope too, and replace @scope.fetch by it
180
182
  options = @options # TODO better options accessing
181
- presented = @scope.fetch null, (records) =>
183
+ @fetching = @scope.fetch null, (records) =>
182
184
 
183
185
  # TODO instantiate records before calling this callback
184
186
  records = _.map records, @resource, @resource unless records[0]?.resource or records[0]?.itemable
@@ -187,7 +189,7 @@ define [
187
189
  # use it here instead of pushing each record
188
190
  viewer.items = records
189
191
 
190
- presented.then (records) =>
192
+ @fetching.then (records) =>
191
193
  if viewer.items.length
192
194
  # boo.initialize @$el.find '.results .items'
193
195
  @$el.addClass 'filled'
@@ -199,7 +201,7 @@ define [
199
201
 
200
202
  @sandbox.emit "viewer.#{@identifier}.populated", records
201
203
 
202
- presented.always =>
204
+ @fetching.always =>
203
205
  # TODO implement status for viewer widget
204
206
  @$el.addClass 'idle'
205
207
  @$el.removeClass 'loading'
data/lib/ende/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ende
2
- VERSION = "0.2.21"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -0,0 +1,122 @@
1
+ /*
2
+ Input Mask plugin extensions
3
+ http://github.com/RobinHerbots/jquery.inputmask
4
+ Copyright (c) 2010 - 2014 Robin Herbots
5
+ Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
6
+ Version: 0.0.0
7
+
8
+ Optional extensions on the jquery.inputmask base
9
+ */
10
+ (function ($) {
11
+ //extra definitions
12
+ $.extend($.inputmask.defaults.definitions, {
13
+ 'A': {
14
+ validator: "[A-Za-z]",
15
+ cardinality: 1,
16
+ casing: "upper" //auto uppercasing
17
+ },
18
+ '#': {
19
+ validator: "[A-Za-z\u0410-\u044F\u0401\u04510-9]",
20
+ cardinality: 1,
21
+ casing: "upper"
22
+ }
23
+ });
24
+ $.extend($.inputmask.defaults.aliases, {
25
+ 'url': {
26
+ mask: "ir",
27
+ placeholder: "",
28
+ separator: "",
29
+ defaultPrefix: "http://",
30
+ regex: {
31
+ urlpre1: new RegExp("[fh]"),
32
+ urlpre2: new RegExp("(ft|ht)"),
33
+ urlpre3: new RegExp("(ftp|htt)"),
34
+ urlpre4: new RegExp("(ftp:|http|ftps)"),
35
+ urlpre5: new RegExp("(ftp:/|ftps:|http:|https)"),
36
+ urlpre6: new RegExp("(ftp://|ftps:/|http:/|https:)"),
37
+ urlpre7: new RegExp("(ftp://|ftps://|http://|https:/)"),
38
+ urlpre8: new RegExp("(ftp://|ftps://|http://|https://)")
39
+ },
40
+ definitions: {
41
+ 'i': {
42
+ validator: function (chrs, buffer, pos, strict, opts) {
43
+ return true;
44
+ },
45
+ cardinality: 8,
46
+ prevalidator: (function () {
47
+ var result = [], prefixLimit = 8;
48
+ for (var i = 0; i < prefixLimit; i++) {
49
+ result[i] = (function () {
50
+ var j = i;
51
+ return {
52
+ validator: function (chrs, buffer, pos, strict, opts) {
53
+ if (opts.regex["urlpre" + (j + 1)]) {
54
+ var tmp = chrs, k;
55
+ if (((j + 1) - chrs.length) > 0) {
56
+ tmp = buffer.join('').substring(0, ((j + 1) - chrs.length)) + "" + tmp;
57
+ }
58
+ var isValid = opts.regex["urlpre" + (j + 1)].test(tmp);
59
+ if (!strict && !isValid) {
60
+ pos = pos - j;
61
+ for (k = 0; k < opts.defaultPrefix.length; k++) {
62
+ buffer[pos] = opts.defaultPrefix[k]; pos++;
63
+ }
64
+ for (k = 0; k < tmp.length - 1; k++) {
65
+ buffer[pos] = tmp[k]; pos++;
66
+ }
67
+ return { "pos": pos };
68
+ }
69
+ return isValid;
70
+ } else {
71
+ return false;
72
+ }
73
+ }, cardinality: j
74
+ };
75
+ })();
76
+ }
77
+ return result;
78
+ })()
79
+ },
80
+ "r": {
81
+ validator: ".",
82
+ cardinality: 50
83
+ }
84
+ },
85
+ insertMode: false,
86
+ autoUnmask: false
87
+ },
88
+ "ip": { //ip-address mask
89
+ mask: ["[[x]y]z.[[x]y]z.[[x]y]z.x[yz]", "[[x]y]z.[[x]y]z.[[x]y]z.[[x]y][z]"],
90
+ definitions: {
91
+ 'x': {
92
+ validator: "[012]",
93
+ cardinality: 1,
94
+ definitionSymbol: "i"
95
+ },
96
+ 'y': {
97
+ validator: function (chrs, buffer, pos, strict, opts) {
98
+ if (pos - 1 > -1 && buffer[pos - 1] != ".")
99
+ chrs = buffer[pos - 1] + chrs;
100
+ else chrs = "0" + chrs;
101
+ return new RegExp("2[0-5]|[01][0-9]").test(chrs);
102
+ },
103
+ cardinality: 1,
104
+ definitionSymbol: "i"
105
+ },
106
+ 'z': {
107
+ validator: function (chrs, buffer, pos, strict, opts) {
108
+ if (pos - 1 > -1 && buffer[pos - 1] != ".") {
109
+ chrs = buffer[pos - 1] + chrs;
110
+ if (pos - 2 > -1 && buffer[pos - 2] != ".") {
111
+ chrs = buffer[pos - 2] + chrs;
112
+ } else chrs = "0" + chrs;
113
+ } else chrs = "00" + chrs;
114
+ return new RegExp("25[0-5]|2[0-4][0-9]|[01][0-9][0-9]").test(chrs);
115
+ },
116
+ cardinality: 1,
117
+ definitionSymbol: "i"
118
+ }
119
+ }
120
+ }
121
+ });
122
+ })(jQuery);