material_raingular 0.0.2.3.alpha → 0.0.2.4.1.alpha

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: 53cec1f68f957ec5a161879ce18d14516a181f88
4
- data.tar.gz: e5f90ab5858ceb3b9b970d66ce94cc9e78f54098
3
+ metadata.gz: 67f94836a6a2f4e0e20656141b315284323ee284
4
+ data.tar.gz: da2c296a0bd60a11df64967ee19b663f03a1aeaa
5
5
  SHA512:
6
- metadata.gz: ec5bc8104e7edc57703b2edc40295f1e5cbd2b9ff74df9e34db57a5d499a18c1fc2fecdc2a62339709d10253a7914e05261115e1311d6537b8470b639d62c92c
7
- data.tar.gz: 7fa94c461fa78505c9c3e2d8f966ed7df8c5ae376554a1d4e2d3ef14409e051060643051cf13b2f09fcb21011194e4545bc6fbe16049636275f18327147e9ef6
6
+ metadata.gz: 22129d7051ed549973b8a2cafe815feb370aedcd3e1d4f1cbd22be8b94cead984c3ff715b0d96038b21b0c9b7e019fe412561dde1760cf9bd50b744b1b48656b
7
+ data.tar.gz: 989428c351f44abf460b3f5163340e3b74d46072eebb06b36a3d8e996ce0785bf49663f60ce72f94b269b00f3331aa1d36ee484b62881ff113b3b95829a9c14a
@@ -14,3 +14,24 @@ Array.prototype.drop = (entry)->
14
14
  String.prototype.titleize = ->
15
15
  return this.replace(/\_/g,' ').replace(/\b[a-z]/g, (letter)->
16
16
  return letter[0].toUpperCase())
17
+ Array.prototype.pluck = (property) ->
18
+ return [] if !(this && property)
19
+ property = String(property)
20
+ return this.map (object) ->
21
+ object = Object(object)
22
+ return object[property] if (object.hasOwnProperty(property))
23
+ return ''
24
+ Array.prototype.unique = (filterOn) ->
25
+ equiv = (first,second) ->
26
+ return true if first == second
27
+ return !first && !second
28
+ newItems = []
29
+ for item in this
30
+ item = item[filterOn] if filterOn
31
+ for newItem in newItems
32
+ isDuplicate = false
33
+ if equiv(item,newItem)
34
+ isDuplicate = true
35
+ break
36
+ newItems.push(item) if (!isDuplicate)
37
+ return newItems
@@ -0,0 +1,39 @@
1
+ angular.module('materialFilters', [])
2
+ .filter 'trimLength', ->
3
+ return (input, num, scope) ->
4
+ return input unless typeof input == 'string'
5
+ return input.substring(0,num || 20) + '...'
6
+ .filter 'titleize', ->
7
+ return (input) ->
8
+ return unless input
9
+ return input.replace(/\_/g,' ').replace(/\b[a-z]/g, (letter)->
10
+ return letter[0].toUpperCase())
11
+ .filter 'pluck', ->
12
+ pluck = (objects, property) ->
13
+ return [] if !(objects && property && angular.isArray(objects))
14
+ property = String(property)
15
+ return objects.map( (object) ->
16
+ object = Object(object)
17
+ return object[property] if (object.hasOwnProperty(property))
18
+ return '')
19
+ return (objects, property) ->
20
+ return pluck(objects, property)
21
+ .filter 'unique', ->
22
+ return (items, filterOn) ->
23
+ return items if filterOn == false
24
+ if (filterOn || angular.isUndefined(filterOn)) && angular.isArray(items)
25
+ newItems = []
26
+ extractValueToCompare = (item) ->
27
+ if angular.isObject(item) && angular.isString(filterOn) then item[filterOn] else item
28
+ for item in items
29
+ for newItem in newItems
30
+ isDuplicate = false
31
+ if (angular.equals(extractValueToCompare(newItem), extractValueToCompare(item)))
32
+ isDuplicate = true
33
+ break
34
+ newItems.push(item) if (!isDuplicate)
35
+ items = newItems
36
+ return items;
37
+ .filter 'join', ->
38
+ return (list, token) ->
39
+ return (list||[]).join(token)
@@ -6,6 +6,7 @@
6
6
  # //= require angular-animate
7
7
  # //= require angular-aria
8
8
  # //= require angular-material.min
9
+ # //= require material_filters
9
10
  # //= require material_raingular/factories
10
11
  # //= require factory_name
11
12
  # //= require_tree ./directives
@@ -18,4 +19,4 @@ angular.module('materialRaingular', ['AutoComplete', 'NgDownload', 'NgChangeOnBl
18
19
  'NgRepeatList', 'NgUpdate', 'NgPopup', 'NgBoolean', 'Table', 'NgWatchShow'
19
20
  'NgUpload', 'NgDestroy', 'NgCreate', 'Video','NgAuthorize', 'TextArea'
20
21
  'NgSlide', 'NgMatches','NgFade','NgSwipe', 'NgLoad', 'NgWatchContent'
21
- 'ngRoute', 'ngMaterial', 'ngMessages', 'ngResource'])
22
+ 'ngRoute', 'ngMaterial', 'ngMessages', 'ngResource', 'materialFilters'])
@@ -1,3 +1,3 @@
1
1
  module MaterialRaingular
2
- VERSION = "0.0.2.3.alpha"
2
+ VERSION = "0.0.2.4.1.alpha"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: material_raingular
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2.3.alpha
4
+ version: 0.0.2.4.1.alpha
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Moody
@@ -95,6 +95,7 @@ files:
95
95
  - lib/assets/javascripts/extensions.coffee
96
96
  - lib/assets/javascripts/factory_name.js.coffee
97
97
  - lib/assets/javascripts/identifier_interceptor.js.coffee
98
+ - lib/assets/javascripts/material_filters.coffee
98
99
  - lib/assets/javascripts/material_raingular.js.coffee
99
100
  - lib/material_raingular.rb
100
101
  - lib/material_raingular/version.rb