chr 0.2.8 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/Gruntfile.coffee +33 -27
  3. data/README.md +6 -1
  4. data/app/assets/javascripts/chr.coffee +18 -16
  5. data/app/assets/javascripts/chr/core/chr.coffee +41 -76
  6. data/app/assets/javascripts/chr/core/chr_router.coffee +141 -0
  7. data/app/assets/javascripts/chr/core/item.coffee +36 -49
  8. data/app/assets/javascripts/chr/core/list.coffee +26 -71
  9. data/app/assets/javascripts/chr/core/list_config.coffee +28 -13
  10. data/app/assets/javascripts/chr/core/list_pagination.coffee +56 -13
  11. data/app/assets/javascripts/chr/core/list_reorder.coffee +2 -2
  12. data/app/assets/javascripts/chr/core/list_search.coffee +2 -2
  13. data/app/assets/javascripts/chr/core/module.coffee +24 -93
  14. data/app/assets/javascripts/chr/core/utils.coffee +4 -0
  15. data/app/assets/javascripts/chr/core/view.coffee +123 -43
  16. data/app/assets/javascripts/chr/core/view_local-storage.coffee +58 -0
  17. data/app/assets/javascripts/chr/store/{_array-store.coffee → array-store.coffee} +3 -1
  18. data/app/assets/javascripts/chr/store/{_object-store.coffee → object-store.coffee} +0 -0
  19. data/app/assets/javascripts/chr/store/rails-array-store.coffee +39 -0
  20. data/app/assets/javascripts/chr/store/{mongosteen-object-store.coffee → rails-form-object-parser.coffee} +11 -20
  21. data/app/assets/javascripts/chr/store/rails-object-store.coffee +35 -0
  22. data/app/assets/javascripts/chr/store/rest-array-store.coffee +3 -5
  23. data/app/assets/javascripts/chr/store/rest-object-store.coffee +1 -1
  24. data/app/assets/javascripts/form/expandable-group.coffee +30 -0
  25. data/app/assets/javascripts/{chr/form → form}/form.coffee +3 -1
  26. data/app/assets/javascripts/{chr/form → form}/input-checkbox.coffee +1 -1
  27. data/app/assets/javascripts/{chr/form → form}/input-color.coffee +2 -0
  28. data/app/assets/javascripts/{chr/form → form}/input-date.coffee +0 -0
  29. data/app/assets/javascripts/{chr/form → form}/input-file.coffee +28 -1
  30. data/app/assets/javascripts/{chr/form → form}/input-form.coffee +14 -5
  31. data/app/assets/javascripts/{chr/form → form}/input-form_reorder.coffee +0 -0
  32. data/app/assets/javascripts/{chr/form → form}/input-hidden.coffee +9 -9
  33. data/app/assets/javascripts/{chr/form → form}/input-list.coffee +61 -53
  34. data/app/assets/javascripts/{chr/form → form}/input-list_reorder.coffee +2 -0
  35. data/app/assets/javascripts/form/input-list_typeahead.coffee +55 -0
  36. data/app/assets/javascripts/{chr/form → form}/input-password.coffee +1 -0
  37. data/app/assets/javascripts/{chr/form → form}/input-select.coffee +10 -11
  38. data/app/assets/javascripts/form/input-select2.coffee +33 -0
  39. data/app/assets/javascripts/{chr/form → form}/input-string.coffee +45 -2
  40. data/app/assets/javascripts/{chr/form → form}/input-text.coffee +6 -3
  41. data/app/assets/javascripts/input-html.coffee +8 -5
  42. data/app/assets/javascripts/input-markdown.coffee +10 -5
  43. data/app/assets/javascripts/input-redactor.coffee +1 -61
  44. data/app/assets/javascripts/redactor/input-redactor.coffee +53 -0
  45. data/app/assets/javascripts/redactor/input-redactor_character.coffee +83 -0
  46. data/app/assets/javascripts/redactor/input-redactor_images.coffee +166 -0
  47. data/app/assets/javascripts/{chr/vendor → vendor}/ace.js +0 -0
  48. data/app/assets/javascripts/{chr/vendor → vendor}/jquery.scrollparent.js +0 -0
  49. data/app/assets/javascripts/{chr/vendor → vendor}/jquery.textarea_autosize.js +0 -0
  50. data/app/assets/javascripts/{chr/vendor → vendor}/jquery.typeahead.js +0 -0
  51. data/app/assets/javascripts/{chr/vendor → vendor}/marked.js +0 -0
  52. data/app/assets/javascripts/{chr/vendor → vendor}/mode-html.js +0 -0
  53. data/app/assets/javascripts/{chr/vendor → vendor}/mode-markdown.js +0 -0
  54. data/app/assets/javascripts/{chr/vendor → vendor}/redactor.fixedtoolbar.js +1 -1
  55. data/app/assets/javascripts/vendor/select2.js +5274 -0
  56. data/app/assets/javascripts/{chr/vendor → vendor}/slip.js +0 -0
  57. data/app/assets/stylesheets/_chr.scss +11 -13
  58. data/app/assets/stylesheets/_input-redactor.scss +17 -16
  59. data/app/assets/stylesheets/{core → chr}/_icons.scss +1 -1
  60. data/app/assets/stylesheets/chr/_main.scss +110 -0
  61. data/app/assets/stylesheets/{core → chr}/_mixins.scss +58 -34
  62. data/app/assets/stylesheets/{core → chr}/_settings.scss +7 -1
  63. data/app/assets/stylesheets/form/_expandable-group.scss +16 -0
  64. data/app/assets/stylesheets/form/_input-select2.scss +94 -0
  65. data/app/assets/stylesheets/form/_main.scss +180 -0
  66. data/app/assets/stylesheets/vendor/select2.css +258 -0
  67. data/bower.json +2 -2
  68. data/dist/chr.js +2292 -2030
  69. data/dist/input-ace.js +18 -8
  70. data/dist/input-redactor.js +0 -156
  71. data/docs/bootstrap.md +1 -1
  72. data/docs/rails.md +10 -10
  73. data/lib/chr.rb +1 -8
  74. data/lib/chr/version.rb +1 -1
  75. data/lib/mongoid/character.rb +30 -0
  76. data/package.json +1 -1
  77. metadata +49 -43
  78. data/app/assets/javascripts/chr/store/mongosteen-array-store.coffee +0 -55
  79. data/app/assets/stylesheets/core/_list.scss +0 -39
  80. data/app/assets/stylesheets/core/_main.scss +0 -49
  81. data/app/assets/stylesheets/core/_responsive.scss +0 -62
  82. data/app/assets/stylesheets/form/_form.scss +0 -41
  83. data/app/assets/stylesheets/form/_input-checkbox.scss +0 -18
  84. data/app/assets/stylesheets/form/_input-color.scss +0 -10
  85. data/app/assets/stylesheets/form/_input-file.scss +0 -29
  86. data/app/assets/stylesheets/form/_input-form.scss +0 -26
  87. data/app/assets/stylesheets/form/_input-list.scss +0 -36
  88. data/app/assets/stylesheets/form/_input-string.scss +0 -8
@@ -24828,17 +24828,21 @@ this.InputHtml = (function(superClass) {
24828
24828
 
24829
24829
  InputHtml.prototype._update_inputs = function() {
24830
24830
  this.value = this.editor.getSession().getValue();
24831
- return this.$input.val(this.value);
24831
+ this.$input.val(this.value);
24832
+ return this.$input.trigger('change');
24832
24833
  };
24833
24834
 
24834
24835
  InputHtml.prototype.initialize = function() {
24835
- var base;
24836
+ var base, base1;
24837
+ if (typeof (base = this.config).beforeInitialize === "function") {
24838
+ base.beforeInitialize(this);
24839
+ }
24836
24840
  this.editor = ace.edit(this.$editor.get(0));
24841
+ this.editor.$blockScrolling = Infinity;
24837
24842
  this.session = this.editor.getSession();
24838
24843
  this.session.setValue(this.$input.val());
24839
24844
  this.session.setUseWrapMode(true);
24840
24845
  this.session.setMode("ace/mode/html");
24841
- this.editor.$blockScrolling = Infinity;
24842
24846
  this.editor.setOptions({
24843
24847
  autoScrollEditorIntoView: true,
24844
24848
  minLines: 5,
@@ -24853,7 +24857,7 @@ this.InputHtml = (function(superClass) {
24853
24857
  return _this._update_inputs();
24854
24858
  };
24855
24859
  })(this));
24856
- return typeof (base = this.config).onInitialize === "function" ? base.onInitialize(this) : void 0;
24860
+ return typeof (base1 = this.config).onInitialize === "function" ? base1.onInitialize(this) : void 0;
24857
24861
  };
24858
24862
 
24859
24863
  InputHtml.prototype.updateValue = function(value) {
@@ -24893,19 +24897,25 @@ this.InputMarkdown = (function(superClass) {
24893
24897
  var html, md_source;
24894
24898
  md_source = this.session.getValue();
24895
24899
  this.$input.val(md_source);
24900
+ this.$input.trigger('change');
24896
24901
  if (this.$inputHtml) {
24897
24902
  html = marked(md_source);
24898
- return this.$inputHtml.val(html);
24903
+ this.$inputHtml.val(html);
24904
+ return this.$inputHtml.trigger('change');
24899
24905
  }
24900
24906
  };
24901
24907
 
24902
24908
  InputMarkdown.prototype.initialize = function() {
24903
- var base;
24909
+ var base, base1;
24910
+ if (typeof (base = this.config).beforeInitialize === "function") {
24911
+ base.beforeInitialize(this);
24912
+ }
24904
24913
  this.editor = ace.edit(this.$editor.get(0));
24914
+ this.editor.$blockScrolling = Infinity;
24905
24915
  this.session = this.editor.getSession();
24906
24916
  this.session.setValue(this.$input.val());
24917
+ this.session.setUseWrapMode(true);
24907
24918
  this.session.setMode("ace/mode/markdown");
24908
- this.editor.$blockScrolling = Infinity;
24909
24919
  this.editor.setOptions({
24910
24920
  autoScrollEditorIntoView: true,
24911
24921
  minLines: 5,
@@ -24920,7 +24930,7 @@ this.InputMarkdown = (function(superClass) {
24920
24930
  return _this._update_inputs();
24921
24931
  };
24922
24932
  })(this));
24923
- return typeof (base = this.config).onInitialize === "function" ? base.onInitialize(this) : void 0;
24933
+ return typeof (base1 = this.config).onInitialize === "function" ? base1.onInitialize(this) : void 0;
24924
24934
  };
24925
24935
 
24926
24936
  InputMarkdown.prototype.updateValue = function(value) {
@@ -1,157 +1 @@
1
- /*
2
- * webhook-redactor
3
- *
4
- *
5
- * Copyright (c) 2014 Webhook
6
- * Licensed under the MIT license.
7
- */
8
1
 
9
- (function ($) {
10
- "use strict";
11
-
12
- // namespacing
13
- var Fixedtoolbar = function (redactor) {
14
- this.redactor = redactor;
15
- this.$window = $('.view > form'); //$(window);
16
- this.viewHeaderHeight = 40;
17
-
18
- this.$window.on('scroll', $.proxy(this.checkOffset, this));
19
- redactor.$box.on('scroll', $.proxy(this.checkOffset, this));
20
-
21
- this.redactor.$editor.on('focus', $.proxy(function () {
22
- this.isFocused = true;
23
- }, this));
24
-
25
- this.redactor.$editor.on('blur', $.proxy(function () {
26
- this.isFocused = false;
27
- }, this));
28
- };
29
- Fixedtoolbar.prototype = {
30
- isFixed: false,
31
- isFocused: false,
32
-
33
- checkOffset: function () {
34
- var boxOffset = this.redactor.$box.offset();
35
-
36
- var isBelowBoxTop = boxOffset.top - this.viewHeaderHeight <= 0;
37
- //var isAboveBoxBottom = boxOffset.top + this.redactor.$box.outerHeight() - this.redactor.$toolbar.outerHeight() - this.$window.scrollTop() >= 0;
38
- var isAboveBoxBottom = this.redactor.$box.outerHeight() + boxOffset.top - this.viewHeaderHeight - this.redactor.$toolbar.outerHeight() >= 0;
39
-
40
- if (isBelowBoxTop && isAboveBoxBottom) {
41
- this.fix();
42
- } else {
43
- this.unfix();
44
- }
45
- },
46
-
47
- fix: function () {
48
-
49
- if (this.isFixed) {
50
-
51
- // webkit does not recalc top: 0 when focused on contenteditable
52
- if (this.redactor.utils.isMobile() && this.isFocused) {
53
- this.redactor.$toolbar.css({
54
- position: 'absolute',
55
- top : this.$window.scrollTop() - this.redactor.$box.offset().top,
56
- left : this.redactor.$box.offset().left
57
- });
58
- }
59
-
60
- return;
61
- }
62
-
63
- var border_left = parseInt(this.redactor.$box.css('border-left-width').replace('px', ''), 10);
64
-
65
- this.redactor.$toolbar.css({
66
- position: 'fixed',
67
- top : this.viewHeaderHeight,
68
- left : this.redactor.$box.offset().left + border_left,
69
- width : this.redactor.$box.width(),
70
- zIndex : 300
71
- });
72
-
73
- this.redactor.$editor.css('padding-top', this.redactor.$toolbar.height() + 10);
74
-
75
- this.isFixed = true;
76
-
77
- },
78
-
79
- unfix: function () {
80
- if (!this.isFixed) {
81
- return;
82
- }
83
-
84
- this.redactor.$toolbar.css({
85
- position: 'relative',
86
- left : '',
87
- width : '',
88
- top : ''
89
- });
90
-
91
- this.redactor.$editor.css('padding-top', 10);
92
-
93
- this.isFixed = false;
94
- }
95
- };
96
-
97
- // Hook up plugin to Redactor.
98
- window.RedactorPlugins = window.RedactorPlugins || {};
99
- window.RedactorPlugins.fixedtoolbar = function() {
100
- return {
101
- init: function () {
102
- this.fixedtoolbar = new Fixedtoolbar(this);
103
- }
104
- };
105
- };
106
-
107
- }(jQuery));
108
-
109
- var extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
110
- hasProp = {}.hasOwnProperty;
111
-
112
- this.InputRedactor = (function(superClass) {
113
- extend(InputRedactor, superClass);
114
-
115
- function InputRedactor() {
116
- return InputRedactor.__super__.constructor.apply(this, arguments);
117
- }
118
-
119
- InputRedactor.prototype._add_input = function() {
120
- this.$el.css('opacity', 0);
121
- this.$input = $("<textarea class='redactor' name='" + this.name + "' rows=1>" + (this._safe_value()) + "</textarea>");
122
- return this.$el.append(this.$input);
123
- };
124
-
125
- InputRedactor.prototype.initialize = function() {
126
- var base, base1, plugins, redactor_options;
127
- plugins = ['fixedtoolbar'];
128
- if (typeof Loft !== "undefined" && Loft !== null) {
129
- plugins.push('loft');
130
- }
131
- redactor_options = {
132
- focus: false,
133
- imageFloatMargin: '20px',
134
- buttonSource: true,
135
- pastePlainText: true,
136
- plugins: plugins,
137
- buttons: ['html', 'formatting', 'bold', 'italic', 'deleted', 'unorderedlist', 'orderedlist', 'link']
138
- };
139
- if ((base = this.config).redactorOptions == null) {
140
- base.redactorOptions = {};
141
- }
142
- $.extend(redactor_options, this.config.redactorOptions);
143
- this.$input.redactor(redactor_options);
144
- this.$el.css('opacity', 1);
145
- return typeof (base1 = this.config).onInitialize === "function" ? base1.onInitialize(this) : void 0;
146
- };
147
-
148
- InputRedactor.prototype.updateValue = function(value) {
149
- this.value = value;
150
- return this.$input.redactor('insert.set', this._safe_value());
151
- };
152
-
153
- return InputRedactor;
154
-
155
- })(InputString);
156
-
157
- chr.formInputs['redactor'] = InputRedactor;
@@ -9,7 +9,7 @@ postsConfig = (data) ->
9
9
  itemTitleField: 'title'
10
10
  disableUpdateItems: true
11
11
  objects: data.posts
12
- arrayStore: new MongosteenArrayStore({
12
+ arrayStore: new RailsArrayStore({
13
13
  resource: 'post'
14
14
  path: '/admin/posts'
15
15
  sortBy: 'title'
@@ -1,6 +1,6 @@
1
1
  # Character
2
2
 
3
- ## Rails
3
+ ## Rails Setup
4
4
 
5
5
  An example of admin implementation setup for [Rails](https://github.com/rails/rails) app that uses [Mongoid](https://github.com/mongoid/mongoid) stack.
6
6
 
@@ -75,17 +75,11 @@ Notes on code above:
75
75
  2. Need to setup ```index``` view and ```admin``` layout to render admin app;
76
76
  3. ```bootstrap_data``` is a placeholder for objects that might be required to be loaded when app starts.
77
77
 
78
- Devise would require a custom ```SessionController``` implementation in ```app/controllers/admin/devise_overrides/session_controller.rb```. ```SessionController``` sets ```admin``` layout to be used for devise views rendering and enables login by email (*looks like workaround*).
78
+ Devise would require a custom ```SessionController``` implementation in ```app/controllers/admin/devise_overrides/session_controller.rb```. ```SessionController``` sets ```admin``` layout to be used for devise views rendering.
79
79
 
80
80
  ```ruby
81
81
  class Admin::DeviseOverrides::SessionsController < Devise::SessionsController
82
82
  layout 'admin'
83
-
84
- protected
85
-
86
- def configure_permitted_parameters
87
- devise_parameter_sanitizer.for(:sign_in) << :email
88
- end
89
83
  end
90
84
  ```
91
85
 
@@ -113,8 +107,14 @@ Admin index view ```app/views/admin/index.html.erb```:
113
107
 
114
108
  ```erb
115
109
  <body class='loading'>
116
- <%= link_to 'Sign Out', destroy_admin_session_path, method: :delete, style: 'display:none;' %>
110
+
111
+ <% admin_email = Rails.env.production? ? current_admin.email : 'developer@example.com' %>
112
+
113
+ <%= link_to 'Sign Out', destroy_admin_session_path, 'data-admin-email' => admin_email,
114
+ method: :delete,
115
+ style: 'display:none;', class: 'menu-logout' %>
117
116
  </body>
117
+
118
118
  <%= javascript_include_tag :admin %>
119
119
  ```
120
120
 
@@ -194,7 +194,7 @@ Last import in the code above is optional. But here is a default source for it a
194
194
  margin: 2em; max-width: 18em;
195
195
 
196
196
  h2 { text-transform: uppercase; color: $black; }
197
- input { @include noFocus(); }
197
+ input { @include no-outline; }
198
198
  label { color: $black; }
199
199
  .input { margin-bottom: .75em; }
200
200
 
data/lib/chr.rb CHANGED
@@ -1,7 +1,3 @@
1
- # CodeKit needs relative paths
2
- dir = File.dirname(__FILE__)
3
- $LOAD_PATH.unshift dir unless $LOAD_PATH.include?(dir)
4
-
5
1
  require 'normalize-rails'
6
2
  require 'bourbon'
7
3
 
@@ -9,10 +5,7 @@ module Chr
9
5
  if defined?(Rails) && defined?(Rails::Engine)
10
6
  class Engine < ::Rails::Engine
11
7
  require 'chr/engine'
8
+ require 'mongoid/character'
12
9
  end
13
- else
14
- # not a rails project, need to include sass and javascript folders
15
- #bourbon_path = File.expand_path("../../app/assets/stylesheets", __FILE__)
16
- #ENV["SASS_PATH"] = [ENV["SASS_PATH"], bourbon_path].compact.join(File::PATH_SEPARATOR)
17
10
  end
18
11
  end
@@ -1,3 +1,3 @@
1
1
  module Chr
2
- VERSION = "0.2.8"
2
+ VERSION = "0.3.5"
3
3
  end
@@ -0,0 +1,30 @@
1
+ module Mongoid
2
+ module Character
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ include Mongoid::Timestamps
7
+ include Mongoid::SerializableId
8
+ include ActionView::Helpers::DateHelper
9
+ end
10
+
11
+
12
+ def _list_item_title
13
+ first_non_id_attribute = self.attributes.keys.select { |k| k != '_id' }.first
14
+ self[first_non_id_attribute].to_s
15
+ end
16
+
17
+
18
+ def _list_item_subtitle
19
+ "created #{ time_ago_in_words(created_at) } ago" if created_at
20
+ end
21
+
22
+
23
+ def _list_item_thumbnail
24
+ end
25
+ end
26
+ end
27
+
28
+
29
+
30
+
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chr",
3
- "version": "0.2.8",
3
+ "version": "0.3.5",
4
4
  "devDependencies": {
5
5
  "grunt": "^0.4.5",
6
6
  "grunt-contrib-clean": "^0.6.0",
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.8
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Kravets
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-08 00:00:00.000000000 Z
11
+ date: 2015-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bourbon
@@ -70,6 +70,7 @@ files:
70
70
  - Rakefile
71
71
  - app/assets/javascripts/chr.coffee
72
72
  - app/assets/javascripts/chr/core/chr.coffee
73
+ - app/assets/javascripts/chr/core/chr_router.coffee
73
74
  - app/assets/javascripts/chr/core/item.coffee
74
75
  - app/assets/javascripts/chr/core/list.coffee
75
76
  - app/assets/javascripts/chr/core/list_config.coffee
@@ -79,53 +80,57 @@ files:
79
80
  - app/assets/javascripts/chr/core/module.coffee
80
81
  - app/assets/javascripts/chr/core/utils.coffee
81
82
  - app/assets/javascripts/chr/core/view.coffee
82
- - app/assets/javascripts/chr/form/form.coffee
83
- - app/assets/javascripts/chr/form/input-checkbox.coffee
84
- - app/assets/javascripts/chr/form/input-color.coffee
85
- - app/assets/javascripts/chr/form/input-date.coffee
86
- - app/assets/javascripts/chr/form/input-file.coffee
87
- - app/assets/javascripts/chr/form/input-form.coffee
88
- - app/assets/javascripts/chr/form/input-form_reorder.coffee
89
- - app/assets/javascripts/chr/form/input-hidden.coffee
90
- - app/assets/javascripts/chr/form/input-list.coffee
91
- - app/assets/javascripts/chr/form/input-list_reorder.coffee
92
- - app/assets/javascripts/chr/form/input-password.coffee
93
- - app/assets/javascripts/chr/form/input-select.coffee
94
- - app/assets/javascripts/chr/form/input-string.coffee
95
- - app/assets/javascripts/chr/form/input-text.coffee
96
- - app/assets/javascripts/chr/store/_array-store.coffee
97
- - app/assets/javascripts/chr/store/_object-store.coffee
98
- - app/assets/javascripts/chr/store/mongosteen-array-store.coffee
99
- - app/assets/javascripts/chr/store/mongosteen-object-store.coffee
83
+ - app/assets/javascripts/chr/core/view_local-storage.coffee
84
+ - app/assets/javascripts/chr/store/array-store.coffee
85
+ - app/assets/javascripts/chr/store/object-store.coffee
86
+ - app/assets/javascripts/chr/store/rails-array-store.coffee
87
+ - app/assets/javascripts/chr/store/rails-form-object-parser.coffee
88
+ - app/assets/javascripts/chr/store/rails-object-store.coffee
100
89
  - app/assets/javascripts/chr/store/rest-array-store.coffee
101
90
  - app/assets/javascripts/chr/store/rest-object-store.coffee
102
- - app/assets/javascripts/chr/vendor/ace.js
103
- - app/assets/javascripts/chr/vendor/jquery.scrollparent.js
104
- - app/assets/javascripts/chr/vendor/jquery.textarea_autosize.js
105
- - app/assets/javascripts/chr/vendor/jquery.typeahead.js
106
- - app/assets/javascripts/chr/vendor/marked.js
107
- - app/assets/javascripts/chr/vendor/mode-html.js
108
- - app/assets/javascripts/chr/vendor/mode-markdown.js
109
- - app/assets/javascripts/chr/vendor/redactor.fixedtoolbar.js
110
- - app/assets/javascripts/chr/vendor/slip.js
91
+ - app/assets/javascripts/form/expandable-group.coffee
92
+ - app/assets/javascripts/form/form.coffee
93
+ - app/assets/javascripts/form/input-checkbox.coffee
94
+ - app/assets/javascripts/form/input-color.coffee
95
+ - app/assets/javascripts/form/input-date.coffee
96
+ - app/assets/javascripts/form/input-file.coffee
97
+ - app/assets/javascripts/form/input-form.coffee
98
+ - app/assets/javascripts/form/input-form_reorder.coffee
99
+ - app/assets/javascripts/form/input-hidden.coffee
100
+ - app/assets/javascripts/form/input-list.coffee
101
+ - app/assets/javascripts/form/input-list_reorder.coffee
102
+ - app/assets/javascripts/form/input-list_typeahead.coffee
103
+ - app/assets/javascripts/form/input-password.coffee
104
+ - app/assets/javascripts/form/input-select.coffee
105
+ - app/assets/javascripts/form/input-select2.coffee
106
+ - app/assets/javascripts/form/input-string.coffee
107
+ - app/assets/javascripts/form/input-text.coffee
111
108
  - app/assets/javascripts/input-html.coffee
112
109
  - app/assets/javascripts/input-markdown.coffee
113
110
  - app/assets/javascripts/input-redactor.coffee
111
+ - app/assets/javascripts/redactor/input-redactor.coffee
112
+ - app/assets/javascripts/redactor/input-redactor_character.coffee
113
+ - app/assets/javascripts/redactor/input-redactor_images.coffee
114
+ - app/assets/javascripts/vendor/ace.js
115
+ - app/assets/javascripts/vendor/jquery.scrollparent.js
116
+ - app/assets/javascripts/vendor/jquery.textarea_autosize.js
117
+ - app/assets/javascripts/vendor/jquery.typeahead.js
118
+ - app/assets/javascripts/vendor/marked.js
119
+ - app/assets/javascripts/vendor/mode-html.js
120
+ - app/assets/javascripts/vendor/mode-markdown.js
121
+ - app/assets/javascripts/vendor/redactor.fixedtoolbar.js
122
+ - app/assets/javascripts/vendor/select2.js
123
+ - app/assets/javascripts/vendor/slip.js
114
124
  - app/assets/stylesheets/_chr.scss
115
125
  - app/assets/stylesheets/_input-redactor.scss
116
- - app/assets/stylesheets/core/_icons.scss
117
- - app/assets/stylesheets/core/_list.scss
118
- - app/assets/stylesheets/core/_main.scss
119
- - app/assets/stylesheets/core/_mixins.scss
120
- - app/assets/stylesheets/core/_responsive.scss
121
- - app/assets/stylesheets/core/_settings.scss
122
- - app/assets/stylesheets/form/_form.scss
123
- - app/assets/stylesheets/form/_input-checkbox.scss
124
- - app/assets/stylesheets/form/_input-color.scss
125
- - app/assets/stylesheets/form/_input-file.scss
126
- - app/assets/stylesheets/form/_input-form.scss
127
- - app/assets/stylesheets/form/_input-list.scss
128
- - app/assets/stylesheets/form/_input-string.scss
126
+ - app/assets/stylesheets/chr/_icons.scss
127
+ - app/assets/stylesheets/chr/_main.scss
128
+ - app/assets/stylesheets/chr/_mixins.scss
129
+ - app/assets/stylesheets/chr/_settings.scss
130
+ - app/assets/stylesheets/form/_expandable-group.scss
131
+ - app/assets/stylesheets/form/_input-select2.scss
132
+ - app/assets/stylesheets/form/_main.scss
133
+ - app/assets/stylesheets/vendor/select2.css
129
134
  - bower.json
130
135
  - chr.gemspec
131
136
  - dist/chr.js
@@ -144,6 +149,7 @@ files:
144
149
  - lib/chr.rb
145
150
  - lib/chr/engine.rb
146
151
  - lib/chr/version.rb
152
+ - lib/mongoid/character.rb
147
153
  - package.json
148
154
  homepage: http://slatestudio.com
149
155
  licenses:
@@ -165,7 +171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
165
171
  version: '0'
166
172
  requirements: []
167
173
  rubyforge_project: chr
168
- rubygems_version: 2.4.5
174
+ rubygems_version: 2.4.6
169
175
  signing_key:
170
176
  specification_version: 4
171
177
  summary: Powerful responsive javascript CMS for apps