chr 0.2.8 → 0.3.5
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 +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
|