rails-angulate 0.0.3 → 0.0.4

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: 19e8b02efa8dfbac5505c77371dd0a54525688e0
4
- data.tar.gz: 101439a6ead34a48978477b435fe893c54144f6b
3
+ metadata.gz: 4a43c0dd10b6ea2a418346f98eb497f0bb2836bb
4
+ data.tar.gz: 53be53d6a4b7512f206c2632fbf7e8fe1aab7f25
5
5
  SHA512:
6
- metadata.gz: 2ad921d9ae88c436e0c73f20e2833060943a9431679006de29a2f3b5aafb0fae159e4b8ea0045b7abc089c819510a719de0709ce1bb28de8b83a6b7917fdcc8e
7
- data.tar.gz: 356bd471cee59da46b6297b202ca6412989e195922e980d48371476f6c06105b4d9e758777f5b0833db53dc4da8c2345d74799830ce6f7046b19a2dfbfd9f69c
6
+ metadata.gz: 5d2d7cb1de7704a25bb4f560cb2d49afbf75e681a02d0cfd7a07a23ab3f28b87a67b098208d43b8abc5ff9e737676c290681357ea604bb6e3b47ffe18874101d
7
+ data.tar.gz: fb52d43038cd80801d8d1f6dc394dd4c4bcd8d0069730ccd28e53e76bb2a979e3f1fdb99c6f86098b74d92f16b22e8c5f61bfab7bde5f397bfa3b9792efa6766
@@ -17,24 +17,28 @@ blurifyDirective = ['$timeout', ($timeout) ->
17
17
  ]
18
18
 
19
19
  formExtensions = ['$timeout', ($timeout) ->
20
- restrict: 'E',
21
- require: 'form',
22
- link: (scope, element, attrs, form) ->
23
- element.attr('novalidate', 'novalidate')
24
- form.$submitted = false
25
- _submit = (e) ->
26
- if form.$invalid
20
+ restrict: 'E'
21
+ priority: 10
22
+ require: 'form'
23
+ compile: ->
24
+ pre: (scope, element, attrs, form) ->
25
+ element.attr('novalidate', 'novalidate')
26
+ form.$submitted = false
27
+ _submit = (e) ->
27
28
  e.preventDefault()
28
- $timeout ->
29
- form.$submit_attempt = true
30
- else
31
- $timeout ->
32
- form.$submitted = true
29
+ if form.$invalid
30
+ e.stopPropagation()
31
+ e.returnValue = false # IE
32
+ $timeout ->
33
+ form.$submit_attempt = true
34
+ else
35
+ $timeout ->
36
+ form.$submitted = true
33
37
 
34
- element.on 'submit', _submit
38
+ element.on 'submit', _submit
35
39
 
36
- scope.$on '$destroy', ->
37
- element.off 'submit', _submit
40
+ scope.$on '$destroy', ->
41
+ element.off 'submit', _submit
38
42
  ]
39
43
 
40
44
  angular.module 'angulate.directives'
@@ -45,3 +49,23 @@ angular.module 'angulate.directives'
45
49
  .directive('blurify', blurifyDirective)
46
50
 
47
51
  .directive('form', formExtensions)
52
+ .config ['$provide', ($provide) ->
53
+ $provide.decorator 'ngSubmitDirective', ['$delegate', ($delegate) ->
54
+ # Remove default ngSubmit
55
+ $delegate.shift()
56
+ $delegate
57
+ ]
58
+ ]
59
+ # Override with our own directive which checks for stopped propagation
60
+ # TODO: File issue with angular (?)
61
+ .directive 'ngSubmit', ['$parse', ($parse) ->
62
+ compile: ($element, attr) ->
63
+ fn = $parse(attr['ngSubmit'])
64
+ return (scope, element) ->
65
+ element.on 'submit', (event) ->
66
+ unless event.isPropagationStopped?()
67
+ scope.$apply ->
68
+ fn(scope, $event: event)
69
+ return
70
+ return
71
+ ]
@@ -0,0 +1,40 @@
1
+ en:
2
+ angulate:
3
+ errors:
4
+ # * Lifted from ActiveModel *
5
+ # The default format to use in full error messages.
6
+ format: "%{attribute} %{message}"
7
+
8
+ # The values :model, :attribute and :value are always available for interpolation
9
+ # The value :count is available when applicable. Can be used for pluralization.
10
+ messages:
11
+ presence: "%{attribute} can't be blank"
12
+ too_long:
13
+ one: "is too long (maximum is 1 character)"
14
+ other: "is too long (maximum is %{count} characters)"
15
+ too_short:
16
+ one: "is too short (minimum is 1 character)"
17
+ other: "is too short (minimum is %{count} characters)"
18
+ wrong_length:
19
+ one: "is the wrong length (should be 1 character)"
20
+ other: "is the wrong length (should be %{count} characters)"
21
+ format: "%{attribute} is invalid"
22
+ email: "%{attribute} is not correctly formatted"
23
+ # --
24
+ inclusion: "is not included in the list"
25
+ exclusion: "is reserved"
26
+ invalid: "is invalid"
27
+ confirmation: "doesn't match %{attribute}"
28
+ accepted: "must be accepted"
29
+ empty: "can't be empty"
30
+ present: "must be blank"
31
+ not_a_number: "is not a number"
32
+ not_an_integer: "must be an integer"
33
+ greater_than: "must be greater than %{count}"
34
+ greater_than_or_equal_to: "must be greater than or equal to %{count}"
35
+ equal_to: "must be equal to %{count}"
36
+ less_than: "must be less than %{count}"
37
+ less_than_or_equal_to: "must be less than or equal to %{count}"
38
+ other_than: "must be other than %{count}"
39
+ odd: "must be odd"
40
+ even: "must be even"
@@ -10,7 +10,6 @@ module Rails
10
10
 
11
11
  initializer "angulate.assets.precompile" do |app|
12
12
  app.config.assets.precompile += %w(rails/angulate.js)
13
- app.config.assets.paths << Rails.root.join('app/assets')
14
13
  end
15
14
  end
16
15
  end
@@ -1,5 +1,5 @@
1
1
  module Rails
2
2
  module Angulate
3
- VERSION = "0.0.3"
3
+ VERSION = "0.0.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-angulate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stan Bondi
@@ -84,6 +84,7 @@ files:
84
84
  - app/assets/javascripts/rails/angulate/directives/module.js.coffee
85
85
  - app/assets/javascripts/rails/angulate/directives/validator.js.coffee
86
86
  - app/assets/javascripts/rails/angulate/module.js.coffee
87
+ - config/locales/en.yml
87
88
  - lib/rails-angulate.rb
88
89
  - lib/rails/angulate.rb
89
90
  - lib/rails/angulate/configuration.rb