adminpanel 2.1.7 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +11 -3
- data/Gemfile +3 -27
- data/adminpanel.gemspec +24 -23
- data/app/assets/images/adminpanel/loguito.png +0 -0
- data/app/assets/javascripts/adminpanel/bootstrap-wysihtml5-4pre.js +120 -120
- data/app/assets/javascripts/adminpanel/spinner.js.coffee +6 -6
- data/app/assets/stylesheets/adminpanel/bootstrap-wysihtml5.css +21 -75
- data/app/controllers/adminpanel/analytics_controller.rb +34 -2
- data/app/controllers/adminpanel/application_controller.rb +7 -6
- data/app/controllers/adminpanel/categories_controller.rb +0 -1
- data/app/controllers/adminpanel/galleries_controller.rb +0 -1
- data/app/controllers/adminpanel/permissions_controller.rb +14 -0
- data/app/controllers/adminpanel/rols_controller.rb +10 -0
- data/app/controllers/adminpanel/sections_controller.rb +11 -14
- data/app/controllers/adminpanel/sessions_controller.rb +45 -11
- data/app/controllers/adminpanel/users_controller.rb +2 -4
- data/app/controllers/concerns/adminpanel/analytics/instagram_analytics.rb +31 -0
- data/app/controllers/concerns/adminpanel/analytics/twitter_analytics.rb +25 -0
- data/app/controllers/concerns/adminpanel/facebook_actions.rb +7 -5
- data/app/controllers/concerns/adminpanel/rest_actions.rb +12 -0
- data/app/controllers/concerns/adminpanel/twitter_actions.rb +40 -0
- data/app/helpers/adminpanel/adminpanel_form_builder.rb +21 -14
- data/app/helpers/adminpanel/analytics_helper.rb +22 -2
- data/app/helpers/adminpanel/application_helper.rb +2 -2
- data/app/helpers/adminpanel/breadcrumbs_helper.rb +8 -6
- data/app/helpers/adminpanel/router_helper.rb +4 -0
- data/app/helpers/adminpanel/sessions_helper.rb +2 -2
- data/app/helpers/adminpanel/shared_pages_helper.rb +3 -3
- data/{lib/generators/adminpanel/initialize/templates → app/models}/ability.rb +18 -6
- data/app/models/adminpanel/analytic.rb +1 -0
- data/app/models/adminpanel/auth.rb +4 -1
- data/app/models/adminpanel/permission.rb +52 -0
- data/app/models/adminpanel/rol.rb +35 -0
- data/app/models/adminpanel/user.rb +8 -8
- data/app/models/concerns/adminpanel/base.rb +4 -0
- data/app/models/concerns/adminpanel/facebook.rb +1 -1
- data/app/models/concerns/adminpanel/twitter.rb +27 -0
- data/app/views/adminpanel/analytics/{_widget_task_statistics.html.erb → _fb_statistic_widget.html.erb} +0 -0
- data/app/views/adminpanel/analytics/_header.html.erb +8 -2
- data/app/views/adminpanel/analytics/_instagram_details_modal.html.erb +55 -0
- data/app/views/adminpanel/analytics/_instagram_media.html.erb +25 -0
- data/app/views/adminpanel/analytics/_tweet.html.erb +32 -0
- data/app/views/adminpanel/analytics/_twitter_reply_modal.html.erb +41 -0
- data/app/views/adminpanel/analytics/fb.html.erb +6 -6
- data/app/views/adminpanel/analytics/instagram.html.erb +65 -0
- data/app/views/adminpanel/analytics/twitter.html.erb +89 -0
- data/app/views/adminpanel/sections/edit.html.erb +2 -5
- data/app/views/layouts/_side_menu.html.erb +3 -3
- data/app/views/layouts/admin.html.erb +2 -2
- data/app/views/shared/_delete_icon_button.html.erb +1 -1
- data/app/views/shared/_edit_icon_button.html.erb +1 -1
- data/app/views/shared/_fb_icon_button.html.erb +1 -1
- data/app/views/shared/_form_fields.html.erb +1 -1
- data/app/views/shared/_new_resource_button.html.erb +1 -2
- data/app/views/shared/_twitter_icon_button.html.erb +26 -0
- data/app/views/shared/_twitter_publish_modal.html.erb +40 -0
- data/app/views/shared/index.html.erb +5 -3
- data/app/views/shared/show.html.erb +7 -3
- data/config/initializers/twitter-oauth.rb +15 -0
- data/config/locales/en.yml +1 -1
- data/config/locales/es.yml +20 -1
- data/config/routes.rb +25 -5
- data/lib/adminpanel.rb +3 -0
- data/lib/adminpanel/engine.rb +19 -5
- data/lib/adminpanel/version.rb +1 -1
- data/lib/generators/adminpanel/initialize/initialize_generator.rb +0 -11
- data/lib/generators/adminpanel/initialize/templates/adminpanel_setup.rb +12 -0
- data/lib/generators/adminpanel/initialize/templates/create_adminpanel_tables.rb +74 -46
- data/lib/generators/adminpanel/resource/resource_generator_helper.rb +1 -1
- data/lib/generators/adminpanel/resource/templates/adminpanel_resource_template.rb +1 -1
- data/lib/tasks/adminpanel/adminpanel.rake +5 -5
- data/test/dummy/app/models/adminpanel/item.rb +1 -1
- data/test/dummy/app/models/adminpanel/mug.rb +1 -0
- data/test/dummy/app/models/adminpanel/photo.rb +4 -0
- data/test/dummy/app/models/adminpanel/product.rb +7 -1
- data/test/dummy/app/models/adminpanel/salesman.rb +1 -0
- data/test/dummy/app/views/layouts/application.html.erb +0 -1
- data/test/dummy/db/schema.rb +9 -2
- data/test/dummy/test/fixtures/adminpanel/permissions.yml +42 -0
- data/test/dummy/test/fixtures/adminpanel/rols.yml +28 -0
- data/test/dummy/test/fixtures/adminpanel/salesmen.yml +1 -0
- data/test/dummy/test/fixtures/adminpanel/users.yml +49 -1
- data/test/features/shared/resource/index_test.rb +1 -0
- data/test/features/shared/ui/action_exclution_test.rb +1 -0
- data/test/helpers/breadcrumbs_helper_test.rb +34 -0
- data/test/helpers/router_helper_test.rb +21 -0
- data/test/helpers/shared_pages_helper_test.rb +35 -0
- data/test/models/ability_test.rb +52 -0
- data/test/models/adminpanel/gallery_test.rb +0 -2
- data/test/models/adminpanel/user_test.rb +1 -1
- data/test/support/shared_database.rb +11 -0
- data/test/support/view_case.rb +34 -0
- data/test/tasks/adminpanel_rake_test.rb +5 -2
- data/test/test_helper.rb +1 -41
- metadata +191 -200
- data/app/assets/javascripts/adminpanel/jquery.facybox.js +0 -395
- data/app/assets/stylesheets/adminpanel/facybox.css +0 -146
- data/app/models/adminpanel/group.rb +0 -6
- data/test/dummy/Rakefile +0 -7
- data/test/dummy/app/models/ability.rb +0 -31
- data/test/dummy/test/fixtures/adminpanel/groups.yml +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f84a209292db49342941725abd3f75e4f12c3058
|
4
|
+
data.tar.gz: 41a69bde0bfab0a8b24bee98a6ca75564966a51e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 20fdceadae757d3108d236257263300231dda0f5ef36814e03bbadea1d39ad571fb986858080efacfbe9d3fd4e89be064b3aff62430eb9d8c3219d940a9da6d9
|
7
|
+
data.tar.gz: 2214f3c49105376a9397952a80384ed292a116064fd1dce0248d4796c4ae5d0874c19e414feb5f0b318bc02a2aa44c3c489a5ca73063b7a70ce984447f239e24
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
@@ -1,32 +1,8 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
|
4
|
-
# gemspec
|
5
|
-
|
6
|
-
gem 'rails', '>= 4.0.0', '<= 4.1.1'
|
7
|
-
gem 'carrierwave', '~> 0.10.0'
|
8
|
-
gem 'rmagick', '2.13.2', require: false
|
9
|
-
gem 'jquery-rails', '~> 3.1.0'
|
10
|
-
gem 'bcrypt', '~> 3.1.7'
|
11
|
-
gem 'rails-i18n', '~> 4.0.2'
|
12
|
-
gem 'inherited_resources', '~> 1.4.1'
|
13
|
-
gem 'google-api-client', '~> 0.7.1'
|
14
|
-
gem 'cancancan', '>= 1.7.1', '<= 1.8'
|
15
|
-
gem 'faker', '>= 1.3.0'
|
16
|
-
gem 'turbolinks', '>= 2.2.2'
|
17
|
-
gem 'font-awesome-rails', '>= 4.0.3.1'
|
18
|
-
gem 'koala', '>= 1.9.0', '<= 2.0.0'
|
3
|
+
gemspec :development_group => :test
|
19
4
|
|
20
5
|
group :assets do
|
21
|
-
|
22
|
-
|
23
|
-
end
|
24
|
-
|
25
|
-
group :development, :test do
|
26
|
-
gem 'minitest', '>= 5.3.4', '<= 6.0.0'
|
27
|
-
gem 'sqlite3', '>= 1.3.9', '<= 2.0.0', :platform => [:ruby, :mswin, :mingw]
|
28
|
-
gem 'minitest-emoji', '2.0.0'
|
29
|
-
gem 'minitest-capybara', '>= 0.6.1', '<= 1.0.0'
|
30
|
-
# gem 'mocha'
|
31
|
-
gem 'poltergeist', '>= 1.5.1', '<= 2.0.0'
|
6
|
+
gem 'sass-rails', '~> 4.0'
|
7
|
+
gem 'coffee-rails', '~> 4.0.1'
|
32
8
|
end
|
data/adminpanel.gemspec
CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = Adminpanel::VERSION
|
9
9
|
spec.authors = ['Jose Ramon Camacho', 'Victor Camacho']
|
10
10
|
spec.email = ['info@codn.mx']
|
11
|
-
spec.description = %q{Gem that makes the CMS for a site a breeze!, supports facebook sharing and analytics integration}
|
11
|
+
spec.description = %q{Gem that makes the CMS for a site a breeze!, supports facebook sharing, twitter, instagram and analytics integration}
|
12
12
|
spec.summary = %q{Made with <3 by CoDN}
|
13
13
|
spec.homepage = 'https://github.com/joseramonc/adminpanel'
|
14
14
|
spec.license = 'MIT'
|
@@ -20,29 +20,30 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.required_ruby_version = '>= 2.0.0'
|
22
22
|
|
23
|
-
spec.requirements << 'rmagick, v 2.13.2'
|
23
|
+
spec.requirements << 'rmagick, -v 2.13.2'
|
24
24
|
|
25
|
-
spec.add_runtime_dependency 'rails',
|
26
|
-
spec.add_runtime_dependency '
|
27
|
-
spec.add_runtime_dependency '
|
28
|
-
spec.add_runtime_dependency '
|
29
|
-
spec.add_runtime_dependency '
|
30
|
-
spec.add_runtime_dependency '
|
31
|
-
spec.add_runtime_dependency '
|
32
|
-
spec.add_runtime_dependency '
|
33
|
-
spec.add_runtime_dependency '
|
34
|
-
spec.add_runtime_dependency '
|
35
|
-
spec.add_runtime_dependency '
|
36
|
-
spec.add_runtime_dependency '
|
37
|
-
spec.add_runtime_dependency '
|
38
|
-
spec.add_runtime_dependency '
|
39
|
-
spec.add_runtime_dependency 'coffee-script', '>= 2.2.0', '<= 3.0.0'
|
25
|
+
spec.add_runtime_dependency 'rails', '>= 4.0.0','<= 4.1.4'
|
26
|
+
spec.add_runtime_dependency 'rmagick', '2.13.2'
|
27
|
+
spec.add_runtime_dependency 'bcrypt', '~> 3.1', '>= 3.1.7'
|
28
|
+
spec.add_runtime_dependency 'carrierwave', '~> 0.10', '>= 0.10.0'
|
29
|
+
spec.add_runtime_dependency 'rails-i18n', '~> 4.0'
|
30
|
+
spec.add_runtime_dependency 'inherited_resources', '~> 1.5'
|
31
|
+
spec.add_runtime_dependency 'cancancan', '~> 1.8'
|
32
|
+
spec.add_runtime_dependency 'google-api-client', '0.7.1'
|
33
|
+
spec.add_runtime_dependency 'faker', '~> 1.3', '>= 1.3.0'
|
34
|
+
spec.add_runtime_dependency 'font-awesome-rails', '~> 4.1', '>= 4.1.0'
|
35
|
+
spec.add_runtime_dependency 'koala', '1.9.0'
|
36
|
+
spec.add_runtime_dependency 'twitter', '5.11.0'
|
37
|
+
spec.add_runtime_dependency 'omniauth-twitter', '1.0.1'
|
38
|
+
spec.add_runtime_dependency 'instagram', '1.1.1'
|
40
39
|
|
41
|
-
spec.add_development_dependency '
|
42
|
-
spec.add_development_dependency '
|
43
|
-
|
44
|
-
spec.add_development_dependency '
|
40
|
+
spec.add_development_dependency 'jquery-rails', '~> 3.0.0', '>= 3.0.0'
|
41
|
+
spec.add_development_dependency 'turbolinks', '~> 2.2.2', '>= 2.2.2'
|
42
|
+
|
43
|
+
spec.add_development_dependency 'sqlite3', '~> 1.3', '1.3.9'
|
44
|
+
spec.add_development_dependency 'minitest', '5.3.5'
|
45
|
+
spec.add_development_dependency 'minitest-emoji', '2.0.0'
|
46
|
+
spec.add_development_dependency 'minitest-capybara','~> 0.7', '>= 0.7.1'
|
45
47
|
# spec.add_development_dependency 'mocha'
|
46
|
-
spec.add_development_dependency 'poltergeist',
|
47
|
-
# spec.add_development_dependency 'minitest-debugger'
|
48
|
+
spec.add_development_dependency 'poltergeist', '~> 1.5', '>= 1.5.1'
|
48
49
|
end
|
Binary file
|
@@ -3244,143 +3244,143 @@ rangy.createModule("DomUtil", function(api, module) {
|
|
3244
3244
|
});
|
3245
3245
|
});
|
3246
3246
|
/*
|
3247
|
-
|
3248
|
-
|
3249
|
-
|
3247
|
+
Base.js, version 1.1a
|
3248
|
+
Copyright 2006-2010, Dean Edwards
|
3249
|
+
License: http://www.opensource.org/licenses/mit-license.php
|
3250
3250
|
*/
|
3251
3251
|
|
3252
3252
|
var Base = function() {
|
3253
|
-
|
3253
|
+
// dummy
|
3254
3254
|
};
|
3255
3255
|
|
3256
3256
|
Base.extend = function(_instance, _static) { // subclass
|
3257
|
-
|
3257
|
+
var extend = Base.prototype.extend;
|
3258
3258
|
|
3259
|
-
|
3260
|
-
|
3261
|
-
|
3262
|
-
|
3259
|
+
// build the prototype
|
3260
|
+
Base._prototyping = true;
|
3261
|
+
var proto = new this;
|
3262
|
+
extend.call(proto, _instance);
|
3263
3263
|
proto.base = function() {
|
3264
3264
|
// call this method from any other method to invoke that method's ancestor
|
3265
3265
|
};
|
3266
|
-
|
3267
|
-
|
3268
|
-
|
3269
|
-
|
3270
|
-
|
3271
|
-
|
3272
|
-
|
3273
|
-
|
3274
|
-
|
3275
|
-
|
3276
|
-
|
3277
|
-
|
3278
|
-
|
3279
|
-
|
3280
|
-
|
3281
|
-
|
3282
|
-
|
3283
|
-
|
3284
|
-
|
3285
|
-
|
3286
|
-
|
3287
|
-
|
3288
|
-
|
3289
|
-
|
3290
|
-
|
3291
|
-
|
3292
|
-
|
3293
|
-
|
3294
|
-
|
3295
|
-
|
3296
|
-
|
3297
|
-
|
3266
|
+
delete Base._prototyping;
|
3267
|
+
|
3268
|
+
// create the wrapper for the constructor function
|
3269
|
+
//var constructor = proto.constructor.valueOf(); //-dean
|
3270
|
+
var constructor = proto.constructor;
|
3271
|
+
var klass = proto.constructor = function() {
|
3272
|
+
if (!Base._prototyping) {
|
3273
|
+
if (this._constructing || this.constructor == klass) { // instantiation
|
3274
|
+
this._constructing = true;
|
3275
|
+
constructor.apply(this, arguments);
|
3276
|
+
delete this._constructing;
|
3277
|
+
} else if (arguments[0] != null) { // casting
|
3278
|
+
return (arguments[0].extend || extend).call(arguments[0], proto);
|
3279
|
+
}
|
3280
|
+
}
|
3281
|
+
};
|
3282
|
+
|
3283
|
+
// build the class interface
|
3284
|
+
klass.ancestor = this;
|
3285
|
+
klass.extend = this.extend;
|
3286
|
+
klass.forEach = this.forEach;
|
3287
|
+
klass.implement = this.implement;
|
3288
|
+
klass.prototype = proto;
|
3289
|
+
klass.toString = this.toString;
|
3290
|
+
klass.valueOf = function(type) {
|
3291
|
+
//return (type == "object") ? klass : constructor; //-dean
|
3292
|
+
return (type == "object") ? klass : constructor.valueOf();
|
3293
|
+
};
|
3294
|
+
extend.call(klass, _static);
|
3295
|
+
// class initialisation
|
3296
|
+
if (typeof klass.init == "function") klass.init();
|
3297
|
+
return klass;
|
3298
3298
|
};
|
3299
3299
|
|
3300
3300
|
Base.prototype = {
|
3301
|
-
|
3302
|
-
|
3303
|
-
|
3304
|
-
|
3305
|
-
|
3306
|
-
|
3307
|
-
|
3308
|
-
|
3309
|
-
|
3310
|
-
|
3311
|
-
|
3312
|
-
|
3313
|
-
|
3314
|
-
|
3315
|
-
|
3316
|
-
|
3317
|
-
|
3318
|
-
|
3319
|
-
|
3320
|
-
|
3321
|
-
|
3322
|
-
|
3323
|
-
|
3324
|
-
|
3325
|
-
|
3326
|
-
|
3327
|
-
|
3328
|
-
|
3329
|
-
|
3330
|
-
|
3331
|
-
|
3332
|
-
|
3333
|
-
|
3334
|
-
|
3335
|
-
|
3336
|
-
|
3337
|
-
|
3338
|
-
|
3339
|
-
|
3340
|
-
|
3341
|
-
|
3342
|
-
|
3343
|
-
|
3344
|
-
|
3345
|
-
|
3346
|
-
|
3347
|
-
|
3348
|
-
|
3301
|
+
extend: function(source, value) {
|
3302
|
+
if (arguments.length > 1) { // extending with a name/value pair
|
3303
|
+
var ancestor = this[source];
|
3304
|
+
if (ancestor && (typeof value == "function") && // overriding a method?
|
3305
|
+
// the valueOf() comparison is to avoid circular references
|
3306
|
+
(!ancestor.valueOf || ancestor.valueOf() != value.valueOf()) &&
|
3307
|
+
/\bbase\b/.test(value)) {
|
3308
|
+
// get the underlying method
|
3309
|
+
var method = value.valueOf();
|
3310
|
+
// override
|
3311
|
+
value = function() {
|
3312
|
+
var previous = this.base || Base.prototype.base;
|
3313
|
+
this.base = ancestor;
|
3314
|
+
var returnValue = method.apply(this, arguments);
|
3315
|
+
this.base = previous;
|
3316
|
+
return returnValue;
|
3317
|
+
};
|
3318
|
+
// point to the underlying method
|
3319
|
+
value.valueOf = function(type) {
|
3320
|
+
return (type == "object") ? value : method;
|
3321
|
+
};
|
3322
|
+
value.toString = Base.toString;
|
3323
|
+
}
|
3324
|
+
this[source] = value;
|
3325
|
+
} else if (source) { // extending with an object literal
|
3326
|
+
var extend = Base.prototype.extend;
|
3327
|
+
// if this object has a customised extend method then use it
|
3328
|
+
if (!Base._prototyping && typeof this != "function") {
|
3329
|
+
extend = this.extend || extend;
|
3330
|
+
}
|
3331
|
+
var proto = {toSource: null};
|
3332
|
+
// do the "toString" and other methods manually
|
3333
|
+
var hidden = ["constructor", "toString", "valueOf"];
|
3334
|
+
// if we are prototyping then include the constructor
|
3335
|
+
var i = Base._prototyping ? 0 : 1;
|
3336
|
+
while (key = hidden[i++]) {
|
3337
|
+
if (source[key] != proto[key]) {
|
3338
|
+
extend.call(this, key, source[key]);
|
3339
|
+
|
3340
|
+
}
|
3341
|
+
}
|
3342
|
+
// copy each of the source object's properties to this object
|
3343
|
+
for (var key in source) {
|
3344
|
+
if (!proto[key]) extend.call(this, key, source[key]);
|
3345
|
+
}
|
3346
|
+
}
|
3347
|
+
return this;
|
3348
|
+
}
|
3349
3349
|
};
|
3350
3350
|
|
3351
3351
|
// initialise
|
3352
3352
|
Base = Base.extend({
|
3353
|
-
|
3354
|
-
|
3355
|
-
|
3353
|
+
constructor: function() {
|
3354
|
+
this.extend(arguments[0]);
|
3355
|
+
}
|
3356
3356
|
}, {
|
3357
|
-
|
3358
|
-
|
3359
|
-
|
3360
|
-
|
3361
|
-
|
3362
|
-
|
3363
|
-
|
3364
|
-
|
3365
|
-
|
3366
|
-
|
3367
|
-
|
3368
|
-
|
3369
|
-
|
3370
|
-
|
3371
|
-
|
3372
|
-
|
3373
|
-
|
3374
|
-
|
3375
|
-
|
3376
|
-
|
3377
|
-
|
3378
|
-
|
3379
|
-
|
3380
|
-
|
3381
|
-
|
3382
|
-
|
3383
|
-
|
3357
|
+
ancestor: Object,
|
3358
|
+
version: "1.1",
|
3359
|
+
|
3360
|
+
forEach: function(object, block, context) {
|
3361
|
+
for (var key in object) {
|
3362
|
+
if (this.prototype[key] === undefined) {
|
3363
|
+
block.call(context, object[key], key, object);
|
3364
|
+
}
|
3365
|
+
}
|
3366
|
+
},
|
3367
|
+
|
3368
|
+
implement: function() {
|
3369
|
+
for (var i = 0; i < arguments.length; i++) {
|
3370
|
+
if (typeof arguments[i] == "function") {
|
3371
|
+
// if it's a function, call it
|
3372
|
+
arguments[i](this.prototype);
|
3373
|
+
} else {
|
3374
|
+
// add the interface using the extend method
|
3375
|
+
this.prototype.extend(arguments[i]);
|
3376
|
+
}
|
3377
|
+
}
|
3378
|
+
return this;
|
3379
|
+
},
|
3380
|
+
|
3381
|
+
toString: function() {
|
3382
|
+
return String(this.valueOf());
|
3383
|
+
}
|
3384
3384
|
});/**
|
3385
3385
|
* Detect browser support for specific features
|
3386
3386
|
*/
|
@@ -9457,7 +9457,7 @@ wysihtml5.views.Textarea = wysihtml5.views.View.extend(
|
|
9457
9457
|
// Array (or single string) of stylesheet urls to be loaded in the editor's iframe
|
9458
9458
|
stylesheets: [],
|
9459
9459
|
// Placeholder text to use, defaults to the placeholder attribute on the textarea element
|
9460
|
-
placeholderText:
|
9460
|
+
placeholderText: 'Lorem ipsum dolor sit amec',
|
9461
9461
|
// Whether the rich text editor should be rendered on touch devices (wysihtml5 >= 0.3.0 comes with basic support for iOS 5)
|
9462
9462
|
supportTouchDevices: true
|
9463
9463
|
};
|
@@ -1,11 +1,11 @@
|
|
1
|
-
$(document).on 'click', 'a.
|
1
|
+
$(document).on 'click', 'a.spinner-link', ->
|
2
2
|
$( this ).attr 'data-clicked', true
|
3
3
|
|
4
4
|
$(document).on 'page:fetch', ->
|
5
|
-
$('a.
|
6
|
-
$('a.
|
5
|
+
$('a.spinner-link[data-clicked="true"]').children('i:first').toggleClass('hidden')
|
6
|
+
$('a.spinner-link[data-clicked="true"]').prepend '<i class="fa fa-spinner fa-spin"></i>'
|
7
7
|
|
8
8
|
$(document).on 'page:restore', ->
|
9
|
-
$('a.
|
10
|
-
$('a.
|
11
|
-
$('a.
|
9
|
+
$('a.spinner-link[data-clicked="true"]').children('i:first').remove()
|
10
|
+
$('a.spinner-link[data-clicked="true"]').children('i:first').toggleClass 'hidden'
|
11
|
+
$('a.spinner-link[data-clicked="true"]').data 'clicked', false
|
@@ -1,102 +1,48 @@
|
|
1
1
|
ul.wysihtml5-toolbar {
|
2
|
-
|
3
|
-
|
4
|
-
|
2
|
+
margin: 0;
|
3
|
+
padding: 0;
|
4
|
+
display: block;
|
5
5
|
}
|
6
6
|
|
7
7
|
ul.wysihtml5-toolbar::after {
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
clear: both;
|
9
|
+
display: table;
|
10
|
+
content: "";
|
11
11
|
}
|
12
12
|
|
13
13
|
ul.wysihtml5-toolbar > li {
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
14
|
+
float: left;
|
15
|
+
display: list-item;
|
16
|
+
list-style: none;
|
17
|
+
margin: 0 5px 10px 0;
|
18
18
|
}
|
19
19
|
|
20
20
|
ul.wysihtml5-toolbar a[data-wysihtml5-command=bold] {
|
21
|
-
|
21
|
+
font-weight: bold;
|
22
22
|
}
|
23
23
|
|
24
24
|
ul.wysihtml5-toolbar a[data-wysihtml5-command=italic] {
|
25
|
-
|
25
|
+
font-style: italic;
|
26
26
|
}
|
27
27
|
|
28
28
|
ul.wysihtml5-toolbar a[data-wysihtml5-command=underline] {
|
29
|
-
|
29
|
+
text-decoration: underline;
|
30
30
|
}
|
31
31
|
|
32
32
|
ul.wysihtml5-toolbar a.btn.wysihtml5-command-active {
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
33
|
+
background-image: none;
|
34
|
+
-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);
|
35
|
+
-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);
|
36
|
+
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);
|
37
|
+
background-color: #E6E6E6;
|
38
|
+
background-color: #D9D9D9;
|
39
|
+
outline: 0;
|
40
40
|
}
|
41
41
|
|
42
42
|
ul.wysihtml5-commands-disabled .dropdown-menu {
|
43
|
-
|
44
|
-
}
|
45
|
-
|
46
|
-
ul.wysihtml5-toolbar div.wysihtml5-colors {
|
47
|
-
display:block;
|
48
|
-
width: 50px;
|
49
|
-
height: 20px;
|
50
|
-
margin-top: 2px;
|
51
|
-
margin-left: 5px;
|
52
|
-
position: absolute;
|
53
|
-
pointer-events: none;
|
43
|
+
display: none !important;
|
54
44
|
}
|
55
45
|
|
56
46
|
ul.wysihtml5-toolbar a.wysihtml5-colors-title {
|
57
47
|
padding-left: 70px;
|
58
48
|
}
|
59
|
-
|
60
|
-
ul.wysihtml5-toolbar div[data-wysihtml5-command-value="black"] {
|
61
|
-
background: black !important;
|
62
|
-
}
|
63
|
-
|
64
|
-
ul.wysihtml5-toolbar div[data-wysihtml5-command-value="silver"] {
|
65
|
-
background: silver !important;
|
66
|
-
}
|
67
|
-
|
68
|
-
ul.wysihtml5-toolbar div[data-wysihtml5-command-value="gray"] {
|
69
|
-
background: gray !important;
|
70
|
-
}
|
71
|
-
|
72
|
-
ul.wysihtml5-toolbar div[data-wysihtml5-command-value="maroon"] {
|
73
|
-
background: maroon !important;
|
74
|
-
}
|
75
|
-
|
76
|
-
ul.wysihtml5-toolbar div[data-wysihtml5-command-value="red"] {
|
77
|
-
background: red !important;
|
78
|
-
}
|
79
|
-
|
80
|
-
ul.wysihtml5-toolbar div[data-wysihtml5-command-value="purple"] {
|
81
|
-
background: purple !important;
|
82
|
-
}
|
83
|
-
|
84
|
-
ul.wysihtml5-toolbar div[data-wysihtml5-command-value="green"] {
|
85
|
-
background: green !important;
|
86
|
-
}
|
87
|
-
|
88
|
-
ul.wysihtml5-toolbar div[data-wysihtml5-command-value="olive"] {
|
89
|
-
background: olive !important;
|
90
|
-
}
|
91
|
-
|
92
|
-
ul.wysihtml5-toolbar div[data-wysihtml5-command-value="navy"] {
|
93
|
-
background: navy !important;
|
94
|
-
}
|
95
|
-
|
96
|
-
ul.wysihtml5-toolbar div[data-wysihtml5-command-value="blue"] {
|
97
|
-
background: blue !important;
|
98
|
-
}
|
99
|
-
|
100
|
-
ul.wysihtml5-toolbar div[data-wysihtml5-command-value="orange"] {
|
101
|
-
background: orange !important;
|
102
|
-
}
|