tb_core 1.3.6 → 1.3.7
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/app/assets/javascripts/admin/core/application.js +0 -2
- data/app/assets/javascripts/admin/core/editor.js +41 -29
- data/app/assets/javascripts/tb_core.js.erb +4 -1
- data/app/assets/stylesheets/admin/core/application.scss +11 -0
- data/app/controllers/spud/application_controller.rb +2 -2
- data/lib/spud_core/engine.rb +0 -1
- data/lib/spud_core/version.rb +1 -1
- data/lib/tb_core/form_builder.rb +20 -4
- data/spec/dummy/config/application.rb +1 -0
- metadata +3 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e447994850df42f2d94bace466371bcc952a6bb
|
4
|
+
data.tar.gz: 3d2363bf502fdfc50ce228186bfd403ab7401498
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f5a259c7068627afd84e7fccb1e45704660d5db6e814e8295a20d2d5318b86f30f92750e1602ee805700a2ca2abcac5ec3074fc300a48eae176e84060a3da9c
|
7
|
+
data.tar.gz: 53bb1073d4757b407f1d2a0ddffbff390c45a4c2b00579eabb09e5b9502b83e3f14badb3b5500434afc68bb198419e078a789b2e0cd745f158f14cc31c00173f
|
@@ -3,6 +3,8 @@ spud.admin.editor = {};
|
|
3
3
|
(function(){
|
4
4
|
|
5
5
|
var editor = spud.admin.editor;
|
6
|
+
|
7
|
+
editor.tinymce = {loaded:false};
|
6
8
|
|
7
9
|
var registeredPlugins = [
|
8
10
|
'autolink','lists','image','link','media','paste', 'code'
|
@@ -39,44 +41,23 @@ spud.admin.editor = {};
|
|
39
41
|
"q[cite],samp,select[disabled|multiple|name|size],small," +
|
40
42
|
"textarea[cols|rows|disabled|name|readonly],tt,var,big";
|
41
43
|
|
42
|
-
var extendedValidElements = [
|
44
|
+
var extendedValidElements = [
|
45
|
+
"iframe[src|width|height|name|align|frameborder|allowfullscreen]"
|
46
|
+
];
|
43
47
|
|
44
48
|
editor.init = function(options) {
|
45
|
-
editor.
|
46
|
-
options
|
47
|
-
var selector = options.selector || 'textarea.tinymce';
|
48
|
-
$(selector).each(function() {
|
49
|
-
var $this = $(this);
|
50
|
-
var dataFormat = $this.attr('data-format');
|
51
|
-
if(dataFormat == 'Markdown'){
|
52
|
-
console.warn('Markdown is not supported at this time.');
|
53
|
-
}
|
54
|
-
editor.initMCEWithOptions(this, options || {});
|
55
|
-
});
|
56
|
-
|
57
|
-
};
|
58
|
-
|
59
|
-
editor.monitorFormatters = function() {
|
60
|
-
$('select[data-formatter]').off('onchange');
|
61
|
-
$('select[data-formatter]').change(editor.formatterChanged);
|
62
|
-
};
|
63
|
-
|
64
|
-
editor.formatterChanged = function() {
|
65
|
-
var formatId = $(this).attr('data-formatter');
|
66
|
-
editor.unload('#' + formatId);
|
67
|
-
$('#' + formatId).attr('data-format',$(this).val());
|
68
|
-
editor.init({selector: '#' + formatId});
|
49
|
+
editor.unload();
|
50
|
+
editor.checkAndCallTinyMce(options);
|
69
51
|
};
|
70
52
|
|
71
53
|
editor.initMCEWithOptions = function(element, options){
|
72
|
-
|
73
54
|
var theme = options.theme || 'modern';
|
74
55
|
var height = options.height || 400;
|
75
56
|
var width = options.width || $(element).width();
|
76
57
|
var buttons = options.buttons || registeredButtons;
|
77
58
|
var plugins = options.plugins || registeredPlugins;
|
78
59
|
|
79
|
-
$(element).tinymce({
|
60
|
+
$(element).tinymce({
|
80
61
|
theme: theme,
|
81
62
|
language: 'en',
|
82
63
|
menubar: false,
|
@@ -92,7 +73,9 @@ spud.admin.editor = {};
|
|
92
73
|
};
|
93
74
|
|
94
75
|
editor.unload = function() {
|
95
|
-
|
76
|
+
if(typeof tinymce != "undefined"){
|
77
|
+
tinyMCE.remove();
|
78
|
+
}
|
96
79
|
};
|
97
80
|
|
98
81
|
editor.registerPlugin = function(pluginName){
|
@@ -121,10 +104,39 @@ spud.admin.editor = {};
|
|
121
104
|
console.warn('rowNum parameter is no longer used.');
|
122
105
|
}
|
123
106
|
if(typeof(buttonNameOrArray) == 'object'){
|
124
|
-
registeredButtons.concat(buttonNameOrArray);
|
107
|
+
registeredButtons = registeredButtons.concat(buttonNameOrArray);
|
125
108
|
}
|
126
109
|
else{
|
127
110
|
registeredButtons.push(buttonNameOrArray);
|
128
111
|
}
|
129
112
|
};
|
113
|
+
|
114
|
+
var loadScript = null;
|
115
|
+
|
116
|
+
editor.checkAndCallTinyMce = function(options){
|
117
|
+
options = options || {};
|
118
|
+
var selector = options.selector || 'textarea.tinymce';
|
119
|
+
var $elements = $(selector);
|
120
|
+
|
121
|
+
if($elements.length === 0){
|
122
|
+
return;
|
123
|
+
}
|
124
|
+
|
125
|
+
if(loadScript === null){
|
126
|
+
loadScript = $.when(
|
127
|
+
$.ajax({url: '//cdn.tinymce.com/4.3/tinymce.jquery.min.js', dataType: 'script', cache: true}),
|
128
|
+
$.ajax({url: '//cdn.tinymce.com/4.3/jquery.tinymce.min.js', dataType: 'script', cache: true})
|
129
|
+
).done(function(){
|
130
|
+
$('body').trigger("tb:tinymce-loaded");
|
131
|
+
editor.tinymce.loaded = true;
|
132
|
+
});
|
133
|
+
}
|
134
|
+
|
135
|
+
loadScript.done(function(){
|
136
|
+
$elements.each(function(){
|
137
|
+
editor.initMCEWithOptions(this, options);
|
138
|
+
});
|
139
|
+
});
|
140
|
+
};
|
141
|
+
|
130
142
|
})();
|
@@ -104,6 +104,17 @@ body {
|
|
104
104
|
}
|
105
105
|
|
106
106
|
// Forms
|
107
|
+
.form-horizontal .col-sm-10 .help-block{
|
108
|
+
margin: 5px 0;
|
109
|
+
&:last-child{
|
110
|
+
margin-bottom: 0;
|
111
|
+
}
|
112
|
+
}
|
113
|
+
.form-horizontal .form-sub-title{
|
114
|
+
margin: 0;
|
115
|
+
border-bottom: 1px solid #ccc;
|
116
|
+
padding: 0 0 4px 0;
|
117
|
+
}
|
107
118
|
|
108
119
|
// Old Errors
|
109
120
|
div.field_with_errors {
|
@@ -1,7 +1,5 @@
|
|
1
1
|
class Spud::ApplicationController < ActionController::Base
|
2
2
|
|
3
|
-
ActiveSupport.run_load_hooks(:spud_application_controller, self)
|
4
|
-
|
5
3
|
protect_from_forgery
|
6
4
|
helper_method :current_user_session, :current_user, :current_user_id, :back_or_default
|
7
5
|
before_action :check_requires_password_change
|
@@ -130,4 +128,6 @@ private
|
|
130
128
|
handle_request_error(error)
|
131
129
|
end
|
132
130
|
|
131
|
+
ActiveSupport.run_load_hooks(:spud_application_controller, self)
|
132
|
+
|
133
133
|
end
|
data/lib/spud_core/engine.rb
CHANGED
data/lib/spud_core/version.rb
CHANGED
data/lib/tb_core/form_builder.rb
CHANGED
@@ -20,8 +20,13 @@ class TbCore::FormBuilder < ActionView::Helpers::FormBuilder
|
|
20
20
|
|
21
21
|
# Build a label
|
22
22
|
#
|
23
|
-
def tb_label(attribute)
|
24
|
-
|
23
|
+
def tb_label(attribute, options={})
|
24
|
+
if options[:label_text] != nil
|
25
|
+
text = options[:label_text]
|
26
|
+
else
|
27
|
+
text = @object.class.human_attribute_name(attribute)
|
28
|
+
end
|
29
|
+
label(attribute, text, :class => 'col-sm-2 control-label')
|
25
30
|
end
|
26
31
|
|
27
32
|
# Builds an input field with error message
|
@@ -36,8 +41,11 @@ class TbCore::FormBuilder < ActionView::Helpers::FormBuilder
|
|
36
41
|
concat send(input_type, attribute, objectify_options(options))
|
37
42
|
end
|
38
43
|
error_message = @object.errors[attribute].first
|
44
|
+
if options[:help_text]
|
45
|
+
concat content_tag(:p, @template.raw(options[:help_text]), :class => 'help-block')
|
46
|
+
end
|
39
47
|
if error_message
|
40
|
-
concat content_tag(:p, error_message, :class => '
|
48
|
+
concat content_tag(:p, error_message, :class => 'form-error form-error-inline')
|
41
49
|
end
|
42
50
|
end
|
43
51
|
end
|
@@ -130,11 +138,19 @@ class TbCore::FormBuilder < ActionView::Helpers::FormBuilder
|
|
130
138
|
# ie, container div + label + input + error message
|
131
139
|
#
|
132
140
|
|
141
|
+
def tb_sub_title(text)
|
142
|
+
content_tag :div, options.merge(:class => 'form-group') do
|
143
|
+
content_tag :div, :class => 'col-sm-offset-2 col-sm-10' do
|
144
|
+
content_tag :h4, text, :class => 'form-sub-title'
|
145
|
+
end
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
133
149
|
# Builds a form group, label, and input tag all in one
|
134
150
|
#
|
135
151
|
def tb_input_field(attribute, input_type=nil, options={})
|
136
152
|
tb_form_group() do
|
137
|
-
concat tb_label(attribute)
|
153
|
+
concat tb_label(attribute, options)
|
138
154
|
if block_given?
|
139
155
|
concat(
|
140
156
|
tb_input_field_tag(attribute) do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tb_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Greg Woods
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-03-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -178,20 +178,6 @@ dependencies:
|
|
178
178
|
- - ">="
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: '0'
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: tinymce-rails
|
183
|
-
requirement: !ruby/object:Gem::Requirement
|
184
|
-
requirements:
|
185
|
-
- - "~>"
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
version: 4.1.6
|
188
|
-
type: :runtime
|
189
|
-
prerelease: false
|
190
|
-
version_requirements: !ruby/object:Gem::Requirement
|
191
|
-
requirements:
|
192
|
-
- - "~>"
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
version: 4.1.6
|
195
181
|
- !ruby/object:Gem::Dependency
|
196
182
|
name: mysql2
|
197
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -503,7 +489,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
503
489
|
version: '0'
|
504
490
|
requirements: []
|
505
491
|
rubyforge_project:
|
506
|
-
rubygems_version: 2.4.
|
492
|
+
rubygems_version: 2.4.8
|
507
493
|
signing_key:
|
508
494
|
specification_version: 4
|
509
495
|
summary: Twice Baked Core Engine
|