chr 0.2.8 → 0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gruntfile.coffee +33 -27
- data/README.md +6 -1
- data/app/assets/javascripts/chr.coffee +18 -16
- data/app/assets/javascripts/chr/core/chr.coffee +41 -76
- data/app/assets/javascripts/chr/core/chr_router.coffee +141 -0
- data/app/assets/javascripts/chr/core/item.coffee +36 -49
- data/app/assets/javascripts/chr/core/list.coffee +26 -71
- data/app/assets/javascripts/chr/core/list_config.coffee +28 -13
- data/app/assets/javascripts/chr/core/list_pagination.coffee +56 -13
- data/app/assets/javascripts/chr/core/list_reorder.coffee +2 -2
- data/app/assets/javascripts/chr/core/list_search.coffee +2 -2
- data/app/assets/javascripts/chr/core/module.coffee +24 -93
- data/app/assets/javascripts/chr/core/utils.coffee +4 -0
- data/app/assets/javascripts/chr/core/view.coffee +123 -43
- data/app/assets/javascripts/chr/core/view_local-storage.coffee +58 -0
- data/app/assets/javascripts/chr/store/{_array-store.coffee → array-store.coffee} +3 -1
- data/app/assets/javascripts/chr/store/{_object-store.coffee → object-store.coffee} +0 -0
- data/app/assets/javascripts/chr/store/rails-array-store.coffee +39 -0
- data/app/assets/javascripts/chr/store/{mongosteen-object-store.coffee → rails-form-object-parser.coffee} +11 -20
- data/app/assets/javascripts/chr/store/rails-object-store.coffee +35 -0
- data/app/assets/javascripts/chr/store/rest-array-store.coffee +3 -5
- data/app/assets/javascripts/chr/store/rest-object-store.coffee +1 -1
- data/app/assets/javascripts/form/expandable-group.coffee +30 -0
- data/app/assets/javascripts/{chr/form → form}/form.coffee +3 -1
- data/app/assets/javascripts/{chr/form → form}/input-checkbox.coffee +1 -1
- data/app/assets/javascripts/{chr/form → form}/input-color.coffee +2 -0
- data/app/assets/javascripts/{chr/form → form}/input-date.coffee +0 -0
- data/app/assets/javascripts/{chr/form → form}/input-file.coffee +28 -1
- data/app/assets/javascripts/{chr/form → form}/input-form.coffee +14 -5
- data/app/assets/javascripts/{chr/form → form}/input-form_reorder.coffee +0 -0
- data/app/assets/javascripts/{chr/form → form}/input-hidden.coffee +9 -9
- data/app/assets/javascripts/{chr/form → form}/input-list.coffee +61 -53
- data/app/assets/javascripts/{chr/form → form}/input-list_reorder.coffee +2 -0
- data/app/assets/javascripts/form/input-list_typeahead.coffee +55 -0
- data/app/assets/javascripts/{chr/form → form}/input-password.coffee +1 -0
- data/app/assets/javascripts/{chr/form → form}/input-select.coffee +10 -11
- data/app/assets/javascripts/form/input-select2.coffee +33 -0
- data/app/assets/javascripts/{chr/form → form}/input-string.coffee +45 -2
- data/app/assets/javascripts/{chr/form → form}/input-text.coffee +6 -3
- data/app/assets/javascripts/input-html.coffee +8 -5
- data/app/assets/javascripts/input-markdown.coffee +10 -5
- data/app/assets/javascripts/input-redactor.coffee +1 -61
- data/app/assets/javascripts/redactor/input-redactor.coffee +53 -0
- data/app/assets/javascripts/redactor/input-redactor_character.coffee +83 -0
- data/app/assets/javascripts/redactor/input-redactor_images.coffee +166 -0
- data/app/assets/javascripts/{chr/vendor → vendor}/ace.js +0 -0
- data/app/assets/javascripts/{chr/vendor → vendor}/jquery.scrollparent.js +0 -0
- data/app/assets/javascripts/{chr/vendor → vendor}/jquery.textarea_autosize.js +0 -0
- data/app/assets/javascripts/{chr/vendor → vendor}/jquery.typeahead.js +0 -0
- data/app/assets/javascripts/{chr/vendor → vendor}/marked.js +0 -0
- data/app/assets/javascripts/{chr/vendor → vendor}/mode-html.js +0 -0
- data/app/assets/javascripts/{chr/vendor → vendor}/mode-markdown.js +0 -0
- data/app/assets/javascripts/{chr/vendor → vendor}/redactor.fixedtoolbar.js +1 -1
- data/app/assets/javascripts/vendor/select2.js +5274 -0
- data/app/assets/javascripts/{chr/vendor → vendor}/slip.js +0 -0
- data/app/assets/stylesheets/_chr.scss +11 -13
- data/app/assets/stylesheets/_input-redactor.scss +17 -16
- data/app/assets/stylesheets/{core → chr}/_icons.scss +1 -1
- data/app/assets/stylesheets/chr/_main.scss +110 -0
- data/app/assets/stylesheets/{core → chr}/_mixins.scss +58 -34
- data/app/assets/stylesheets/{core → chr}/_settings.scss +7 -1
- data/app/assets/stylesheets/form/_expandable-group.scss +16 -0
- data/app/assets/stylesheets/form/_input-select2.scss +94 -0
- data/app/assets/stylesheets/form/_main.scss +180 -0
- data/app/assets/stylesheets/vendor/select2.css +258 -0
- data/bower.json +2 -2
- data/dist/chr.js +2292 -2030
- data/dist/input-ace.js +18 -8
- data/dist/input-redactor.js +0 -156
- data/docs/bootstrap.md +1 -1
- data/docs/rails.md +10 -10
- data/lib/chr.rb +1 -8
- data/lib/chr/version.rb +1 -1
- data/lib/mongoid/character.rb +30 -0
- data/package.json +1 -1
- metadata +49 -43
- data/app/assets/javascripts/chr/store/mongosteen-array-store.coffee +0 -55
- data/app/assets/stylesheets/core/_list.scss +0 -39
- data/app/assets/stylesheets/core/_main.scss +0 -49
- data/app/assets/stylesheets/core/_responsive.scss +0 -62
- data/app/assets/stylesheets/form/_form.scss +0 -41
- data/app/assets/stylesheets/form/_input-checkbox.scss +0 -18
- data/app/assets/stylesheets/form/_input-color.scss +0 -10
- data/app/assets/stylesheets/form/_input-file.scss +0 -29
- data/app/assets/stylesheets/form/_input-form.scss +0 -26
- data/app/assets/stylesheets/form/_input-list.scss +0 -36
- data/app/assets/stylesheets/form/_input-string.scss +0 -8
data/dist/input-ace.js
CHANGED
@@ -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
|
-
|
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 (
|
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
|
-
|
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 (
|
24933
|
+
return typeof (base1 = this.config).onInitialize === "function" ? base1.onInitialize(this) : void 0;
|
24924
24934
|
};
|
24925
24935
|
|
24926
24936
|
InputMarkdown.prototype.updateValue = function(value) {
|
data/dist/input-redactor.js
CHANGED
@@ -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;
|
data/docs/bootstrap.md
CHANGED
data/docs/rails.md
CHANGED
@@ -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
|
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
|
-
|
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
|
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
|
data/lib/chr/version.rb
CHANGED
@@ -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
|
+
|
data/package.json
CHANGED
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.
|
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-
|
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/
|
83
|
-
- app/assets/javascripts/chr/
|
84
|
-
- app/assets/javascripts/chr/
|
85
|
-
- app/assets/javascripts/chr/
|
86
|
-
- app/assets/javascripts/chr/
|
87
|
-
- app/assets/javascripts/chr/
|
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/
|
103
|
-
- app/assets/javascripts/
|
104
|
-
- app/assets/javascripts/
|
105
|
-
- app/assets/javascripts/
|
106
|
-
- app/assets/javascripts/
|
107
|
-
- app/assets/javascripts/
|
108
|
-
- app/assets/javascripts/
|
109
|
-
- app/assets/javascripts/
|
110
|
-
- app/assets/javascripts/
|
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/
|
117
|
-
- app/assets/stylesheets/
|
118
|
-
- app/assets/stylesheets/
|
119
|
-
- app/assets/stylesheets/
|
120
|
-
- app/assets/stylesheets/
|
121
|
-
- app/assets/stylesheets/
|
122
|
-
- app/assets/stylesheets/form/
|
123
|
-
- app/assets/stylesheets/
|
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.
|
174
|
+
rubygems_version: 2.4.6
|
169
175
|
signing_key:
|
170
176
|
specification_version: 4
|
171
177
|
summary: Powerful responsive javascript CMS for apps
|