Sha256: beb4d6252d9c99a53ea1cf2138b84b23d30baf0517266d390d0094b4d42340db

Contents?: true

Size: 1.47 KB

Versions: 108

Compression:

Stored size: 1.47 KB

Contents

angular.module('materialFilters', [])
  .filter 'trimLength', ->
    return (input, num, scope) ->
      return input unless typeof input == 'string'
      return input.substring(0,num || 20) + '...'
  .filter 'titleize', ->
    return (input) ->
      return unless input
      return input.replace(/\_/g,' ').replace(/\b[a-z]/g, (letter)->
        return letter[0].toUpperCase())
	.filter 'pluck', ->
    pluck = (objects, property) ->
      return [] if !(objects && property && angular.isArray(objects))
      property = String(property)
      return objects.map( (object) ->
        object = Object(object)
        return object[property] if (object.hasOwnProperty(property))
        return '')
    return (objects, property) ->
      return pluck(objects, property)
  .filter 'unique', ->
    return (items, filterOn) ->
      return items if filterOn == false
      if (filterOn || angular.isUndefined(filterOn)) && angular.isArray(items)
        newItems = []
        extractValueToCompare = (item) ->
          if angular.isObject(item) && angular.isString(filterOn) then item[filterOn] else item
      for item in items
        for newItem in newItems
          isDuplicate = false
          if (angular.equals(extractValueToCompare(newItem), extractValueToCompare(item)))
            isDuplicate = true
            break
        newItems.push(item) if (!isDuplicate)
      items = newItems
    return items;
  .filter 'join', ->
		return (list, token) ->
      return (list||[]).join(token)

Version data entries

108 entries across 108 versions & 1 rubygems

Version Path
material_raingular-0.6.16 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.15 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.14 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.13 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.12 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.11 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.10 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.9 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.8 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.7 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.6 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.5 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.4 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.3 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.2.3 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.2.2 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.2.1 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.2 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.1.1 lib/assets/javascripts/material_filters.coffee
material_raingular-0.6.1 lib/assets/javascripts/material_filters.coffee