da-js 1.0.0 → 1.1.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: 4030934aa9a7b6bf91ddbad0bc8802c261dbdade
4
- data.tar.gz: 680b7b9e12660c9d6c08cdc2e11c4dca67bccb47
3
+ metadata.gz: 848ee36d4c3ddd09e76b54b23a45d689312ba9bc
4
+ data.tar.gz: 696747aae61f3806190d459d9c085273a852820a
5
5
  SHA512:
6
- metadata.gz: d8bb67a9d1a8454846f6a9826ba9b2a2a94c293cb7728d40c6f47e4c44404fd5ed0b6697544ef6cbfa35848a5042e5c00931998b9fc9a2def0e3077cbf235a0f
7
- data.tar.gz: c36c3789e28637e8d6d4d1eee97104e73940716c1d3974ba48d510f648d62dcb22362595a2f7662529e2f216ca2aad809f5e647e651831b46a0158c1083a0f2f
6
+ metadata.gz: 916271a3fdfb0c8273da35a30703e793bf555712ec8f27e1e1220f97f70895a66b48e85fb0179ea53f50454c822cb4e7ad72cc372f86e194f6e9f9b12582f47b
7
+ data.tar.gz: 346e53ba409248f4eefb8d4cc5ca4ff015213393eb0a6dc5d8bc8a90879faf3b162f8caf550e290e4fe0aa49886c813d0ed3d6dba2ac193f1898e64df803886e
data/CHANGELOG.md CHANGED
@@ -1,13 +1,30 @@
1
- ## Devel
1
+ ## Version 1.1.0
2
+ ## Numeric Value
3
+ * The rules for deciding if “german” parsing rules should be used have changed: Instead of only looking at the `lang` attribute of the `<html>` element, now the first `lang` attribute found on the input element itself or any of its parent elements is considered. (This means, that the `lang` attribute of `<html>` will only be used if there are no intermediate elements with different `lang` attributes.)
4
+
5
+ ## Version 1.0.0
6
+ ### Conditional Visibility
7
+ * Breaking: Option `skipAnimations` has been removed. To force re-evaluation of visibilities without animation (e.g. after the DOM has been modified), use `$(...).trigger("setVisibilities")` instead (this is already done automatically on `pageready`.)
8
+ * New option `animate`: Use `$(...).conditionalVisibility({animate: false})` if you want conditional visibility to work completely without animations.
9
+
10
+
11
+ ## Version 0.2.0
2
12
  * Add $.fn.numericValue().
3
13
 
14
+ ### Conditional Visibility
15
+ * Make events triggering visibility re-calculation customizable.
16
+ * After an element is shown / hidden, a `shown.conditionalVisibility` / `hidden.conditionalVisibility` event is triggered.
17
+
18
+
4
19
  ## Version 0.1.0
5
20
  * Add $.fn.conditionalVisibility().
6
21
  * Now requires CoffeeScript.
7
22
 
23
+
8
24
  ## Version 0.0.2
9
25
  * Now supports forms generated by Formtastic.
10
26
  * Return 'this' from formChangeTracker() to make it chainable.
11
27
 
28
+
12
29
  ## Version 0.0.1
13
30
  * Initial Version
@@ -35,6 +35,12 @@ Feature: Numeric value of input elements
35
35
  | € 5 | 0 |
36
36
  | | 0 |
37
37
 
38
+ Scenario: Locale specified on the input element directly
39
+ Given the HTML element has a lang attribute set to "de"
40
+ And the element "textfield" has a lang attribute set to "en"
41
+ When I fill in "textfield" with "1,234.56"
42
+ Then the numeric value of "textfield" should be "1234.56"
43
+
38
44
  Scenario: Reading value from non-input elements
39
45
  Then the numeric value of "non_input_element_english" should be "1234.56"
40
46
  Given the HTML element has a lang attribute set to "de"
@@ -2,6 +2,10 @@ Given %r{the HTML element has a lang attribute set to "([^"]*)"$} do |lang|
2
2
  page.execute_script("$('html').attr('lang', '#{lang}')")
3
3
  end
4
4
 
5
+ Given %r{the element "([^"]*)" has a lang attribute set to "([^"]*)"$} do |id, lang|
6
+ page.execute_script("$('##{id}').attr('lang', '#{lang}')")
7
+ end
8
+
5
9
  Then %r{^the numeric value of "([^"]*)" should be "([^"]*)"$} do |input, value|
6
10
  page.evaluate_script("$('##{input}').numericValue()").should be_within(0.0001).of value.to_f
7
11
  end
@@ -1,7 +1,7 @@
1
1
  # Like val(), but return the value parsed as float (or 0, if the value is not numeric). Also works for non-input elements (using the element's text content as value).
2
2
  #
3
3
  # Thousands delimiters (",") are handled correctly.
4
- # German thousands delimiters (".") and separators (",") are handled correctly if the lang attribute of the HTML element is set to "de".
4
+ # German thousands delimiters (".") and separators (",") are handled correctly if the lang attribute of the input element (or any of its parent elements) is set to "de".
5
5
  #
6
6
  # Options:
7
7
  # ignoreCurrencySign: If true, values with leading currency signs (€, $) are considered numeric and parsed correctly.
@@ -9,14 +9,16 @@
9
9
 
10
10
  $.fn.numericValue = (options = {}) ->
11
11
 
12
- delocalize = (val) ->
13
- if $("html").attr("lang") == "de"
12
+ delocalize = (val, locale) ->
13
+ if locale == "de"
14
14
  val.replace(".", "").replace(",", ".")
15
15
  else
16
16
  val.replace(",", "")
17
17
 
18
18
  $this = $(this)
19
- val = delocalize(if $this.is(":input") then $this.val() else $this.text())
19
+ locale = $this.closest("[lang]").attr("lang")
20
+ val = if $this.is(":input") then $this.val() else $this.text()
21
+ val = delocalize(val, locale)
20
22
  val = val.replace(/^\s*[€$]\s*/, "") if options.ignoreCurrencySign
21
23
  if $.isNumeric(val)
22
24
  parseFloat(val)
data/lib/da-js/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Da
2
2
  module Js
3
- VERSION = "1.0.0"
3
+ VERSION = "1.1.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: da-js
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan Daschek
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-17 00:00:00.000000000 Z
11
+ date: 2015-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -194,7 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
194
194
  version: '0'
195
195
  requirements: []
196
196
  rubyforge_project: da-js
197
- rubygems_version: 2.2.2
197
+ rubygems_version: 2.2.3
198
198
  signing_key:
199
199
  specification_version: 4
200
200
  summary: Mixed jQuery extensions