chr 0.1.5 → 0.2.0

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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/Gruntfile.coffee +6 -3
  3. data/LICENSE.md +1 -1
  4. data/README.md +286 -7
  5. data/app/assets/javascripts/chr-dist.js +1031 -580
  6. data/app/assets/javascripts/chr.coffee +7 -4
  7. data/app/assets/javascripts/chr/core/chr.coffee +88 -37
  8. data/app/assets/javascripts/chr/core/item.coffee +57 -35
  9. data/app/assets/javascripts/chr/core/{list-scroll.coffee → list-pagination.coffee} +6 -3
  10. data/app/assets/javascripts/chr/core/list-reorder.coffee +3 -3
  11. data/app/assets/javascripts/chr/core/list-search.coffee +20 -11
  12. data/app/assets/javascripts/chr/core/list.coffee +163 -89
  13. data/app/assets/javascripts/chr/core/module.coffee +75 -35
  14. data/app/assets/javascripts/chr/core/view.coffee +117 -61
  15. data/app/assets/javascripts/chr/store/{store.coffee → _array-store.coffee} +53 -106
  16. data/app/assets/javascripts/chr/store/_object-store.coffee +28 -0
  17. data/app/assets/javascripts/chr/store/mongosteen-array-store.coffee +199 -0
  18. data/app/assets/javascripts/chr/store/mongosteen-object-store.coffee +52 -0
  19. data/app/assets/javascripts/chr/store/rest-array-store.coffee +142 -0
  20. data/app/assets/javascripts/chr/store/rest-object-store.coffee +79 -0
  21. data/app/assets/stylesheets/core/_list.scss +20 -25
  22. data/app/assets/stylesheets/core/_main.scss +3 -4
  23. data/app/assets/stylesheets/core/_mixins.scss +33 -2
  24. data/app/assets/stylesheets/core/_responsive.scss +30 -9
  25. data/app/assets/stylesheets/form/_input_checkbox.scss +18 -14
  26. data/bower.json +3 -2
  27. data/chr.gemspec +1 -1
  28. data/docs/assets.md +0 -0
  29. data/docs/basics.md +0 -0
  30. data/docs/bootstrap-data.md +0 -0
  31. data/docs/custom-inputs.md +0 -0
  32. data/docs/form.md +0 -0
  33. data/docs/internals.md +0 -0
  34. data/docs/nested-forms.md +0 -0
  35. data/docs/redactor-js.md +0 -0
  36. data/docs/scopes.md +0 -0
  37. data/lib/chr/version.rb +1 -1
  38. data/package.json +1 -1
  39. metadata +19 -7
  40. data/app/assets/javascripts/chr/store/store-mongosteen.coffee +0 -111
  41. data/app/assets/javascripts/chr/store/store-rest.coffee +0 -90
@@ -1,90 +0,0 @@
1
- # -----------------------------------------------------------------------------
2
- # Author: Alexander Kravets <alex@slatestudio.com>,
3
- # Slate Studio (http://www.slatestudio.com)
4
- #
5
- # Coding Guide:
6
- # https://github.com/thoughtbot/guides/tree/master/style/coffeescript
7
- # -----------------------------------------------------------------------------
8
-
9
- # -----------------------------------------------------------------------------
10
- # REST ARRAY STORE
11
- # -----------------------------------------------------------------------------
12
- class @RestArrayStore extends ArrayStore
13
- # initial store configuration
14
- _initialize_database: ->
15
- @dataFetchLock = false
16
- @ajaxConfig = {}
17
-
18
-
19
- # generate rest url for resource
20
- _resource_url: (type, id) ->
21
- objectPath = if id then "/#{ id }" else ''
22
- "#{ @config.path }#{ objectPath }"
23
-
24
-
25
- # do requests to database api
26
- _ajax: (type, id, data, success, error) ->
27
- options = $.extend @ajaxConfig,
28
- url: @_resource_url(type, id)
29
- type: type
30
- data: data
31
- success: (data, textStatus, jqXHR) =>
32
- @dataFetchLock = false
33
- success?(data)
34
- error: (jqXHR, textStatus, errorThrown ) =>
35
- @dataFetchLock = false
36
- error?(jqXHR.responseJSON)
37
-
38
- @dataFetchLock = true
39
- $.ajax options
40
-
41
-
42
- # load objects from database, when finished
43
- # trigger 'objects_added' event
44
- load: (success) ->
45
- @_ajax 'GET', null, {}, ((dataObject) =>
46
- if dataObject.length > 0
47
- for o in dataObject
48
- @_add_data_object(o)
49
-
50
- success?()
51
- $(this).trigger('objects_added')
52
- ) #, callbacks.onError
53
-
54
-
55
- # add new object
56
- push: (serializedFormObject, callbacks) ->
57
- obj = @_parse_form_object(serializedFormObject)
58
-
59
- @_ajax 'POST', null, obj, ((dataObject) =>
60
- if @newItemOnTop
61
- @_add_data_object_on_top(dataObject, callbacks.onSuccess)
62
- else
63
- @_add_data_object(dataObject, callbacks.onSuccess)
64
- ), callbacks.onError
65
-
66
-
67
- # update objects attributes
68
- update: (id, serializedFormObject, callbacks) ->
69
- obj = @_parse_form_object(serializedFormObject)
70
-
71
- @_ajax 'PUT', id, obj, ((dataObject) =>
72
- @_update_data_object(id, dataObject, callbacks.onSuccess)
73
- ), callbacks.onError
74
-
75
-
76
- # delete object
77
- remove: (id) ->
78
- @_ajax 'DELETE', id, {}, ( =>
79
- @_remove_data_object(id)
80
- ), # callbacks.onError
81
-
82
-
83
- # reset all data and load it again
84
- reset: (callback) ->
85
- @_reset_data()
86
- @load(callback)
87
-
88
-
89
-
90
-