quadro 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/MIT-LICENSE +20 -0
- data/README.md +194 -0
- data/Rakefile +39 -0
- data/app/assets/images/quadro/close.png +0 -0
- data/app/assets/images/quadro/favicon.ico +0 -0
- data/app/assets/images/quadro/loading.gif +0 -0
- data/app/assets/images/quadro/missing/cover/large.png +0 -0
- data/app/assets/images/quadro/missing/cover/medium.png +0 -0
- data/app/assets/images/quadro/missing/cover/small.png +0 -0
- data/app/assets/images/quadro/missing/cover/thumb.png +0 -0
- data/app/assets/images/quadro/missing/image/large.png +0 -0
- data/app/assets/images/quadro/missing/image/medium.png +0 -0
- data/app/assets/images/quadro/missing/image/small.png +0 -0
- data/app/assets/images/quadro/missing/image/thumb.png +0 -0
- data/app/assets/images/quadro/missing/slide/large.png +0 -0
- data/app/assets/images/quadro/missing/slide/medium.png +0 -0
- data/app/assets/images/quadro/missing/slide/small.png +0 -0
- data/app/assets/images/quadro/missing/slide/thumb.png +0 -0
- data/app/assets/images/quadro/next.png +0 -0
- data/app/assets/images/quadro/prev.png +0 -0
- data/app/assets/images/quadro/quadro-logo-mini.png +0 -0
- data/app/assets/images/quadro/quadro-logo.png +0 -0
- data/app/assets/javascripts/quadro/application.js.coffee +27 -0
- data/app/assets/javascripts/quadro/message.js.coffee +6 -0
- data/app/assets/javascripts/quadro/plugins/gmaps.min.js +1 -0
- data/app/assets/javascripts/quadro/plugins/humane.min.js +11 -0
- data/app/assets/javascripts/quadro/plugins/jasny-bootstrap.min.js +6 -0
- data/app/assets/javascripts/quadro/plugins/jquery.fs.dropper.min.js +9 -0
- data/app/assets/javascripts/quadro/plugins/jquery.show_char_limit.min.js +1 -0
- data/app/assets/javascripts/quadro/plugins/jquery.smartmenus.bootstrap.min.js +3 -0
- data/app/assets/javascripts/quadro/plugins/jquery.smartmenus.min.js +3 -0
- data/app/assets/javascripts/quadro/plugins/lightbox.min.js +13 -0
- data/app/assets/javascripts/quadro/plugins/pace.min.js +2 -0
- data/app/assets/javascripts/quadro/quadro.js.coffee +43 -0
- data/app/assets/javascripts/quadro/site.js.coffee +0 -0
- data/app/assets/javascripts/quadro/uploader.js.coffee +17 -0
- data/app/assets/javascripts/quadro/widget.js.coffee +80 -0
- data/app/assets/stylesheets/bootstrap/_mixins.scss +40 -0
- data/app/assets/stylesheets/quadro/application.css.sass +19 -0
- data/app/assets/stylesheets/quadro/plugins/humane-libnotify.min.css +1 -0
- data/app/assets/stylesheets/quadro/plugins/jasny-bootstrap.min.css +7 -0
- data/app/assets/stylesheets/quadro/plugins/jquery.fs.dropper.min.css +9 -0
- data/app/assets/stylesheets/quadro/plugins/jquery.smartmenus.bootstrap.min.css +1 -0
- data/app/assets/stylesheets/quadro/plugins/lightbox.min.css +1 -0
- data/app/assets/stylesheets/quadro/plugins/pace.min.css +1 -0
- data/app/assets/stylesheets/quadro/quadro.css.sass +99 -0
- data/app/assets/stylesheets/quadro/site.css.sass +0 -0
- data/app/controllers/quadro/application_controller.rb +122 -0
- data/app/controllers/quadro/assets_controller.rb +21 -0
- data/app/controllers/quadro/feeds_controller.rb +6 -0
- data/app/controllers/quadro/pages_controller.rb +42 -0
- data/app/controllers/quadro/robots_controller.rb +6 -0
- data/app/controllers/quadro/users_controller.rb +15 -0
- data/app/controllers/quadro/widgets_controller.rb +14 -0
- data/app/helpers/quadro/application_helper.rb +4 -0
- data/app/helpers/quadro/asset_helper.rb +7 -0
- data/app/helpers/quadro/navigation_helper.rb +43 -0
- data/app/helpers/quadro/widget_helper.rb +54 -0
- data/app/models/quadro/asset.rb +11 -0
- data/app/models/quadro/asset/cover.rb +18 -0
- data/app/models/quadro/asset/image.rb +18 -0
- data/app/models/quadro/asset/slide.rb +18 -0
- data/app/models/quadro/interaction.rb +13 -0
- data/app/models/quadro/page.rb +88 -0
- data/app/models/quadro/user.rb +19 -0
- data/app/models/quadro/widget.rb +21 -0
- data/app/models/quadro/widget/form.rb +13 -0
- data/app/models/quadro/widget/gallery.rb +17 -0
- data/app/models/quadro/widget/html.rb +14 -0
- data/app/models/quadro/widget/map.rb +13 -0
- data/app/models/quadro/widget/slider.rb +17 -0
- data/app/views/layouts/quadro/application.html.haml +33 -0
- data/app/views/layouts/quadro/devise.html.haml +11 -0
- data/app/views/quadro/assets/create.js.erb +11 -0
- data/app/views/quadro/assets/destroy.js.erb +11 -0
- data/app/views/quadro/assets/edit.js.erb +9 -0
- data/app/views/quadro/assets/image/_form.html.haml +25 -0
- data/app/views/quadro/assets/image/_image.html.haml +10 -0
- data/app/views/quadro/assets/slide/_form.html.haml +26 -0
- data/app/views/quadro/assets/slide/_slide.html.haml +9 -0
- data/app/views/quadro/assets/update.js.erb +18 -0
- data/app/views/quadro/feeds/atom.xml.builder +27 -0
- data/app/views/quadro/feeds/rss.xml.builder +25 -0
- data/app/views/quadro/interactions/_interaction.html.haml +22 -0
- data/app/views/quadro/pages/_edit.html.haml +35 -0
- data/app/views/quadro/pages/_new.html.haml +11 -0
- data/app/views/quadro/pages/_page.html.haml +1 -0
- data/app/views/quadro/pages/create.js.erb +7 -0
- data/app/views/quadro/pages/destroy.js.erb +5 -0
- data/app/views/quadro/pages/edit.js.erb +4 -0
- data/app/views/quadro/pages/form.js.erb +6 -0
- data/app/views/quadro/pages/index.html.haml +1 -0
- data/app/views/quadro/pages/new.js.erb +2 -0
- data/app/views/quadro/pages/show.html.haml +1 -0
- data/app/views/quadro/pages/update.js.erb +7 -0
- data/app/views/quadro/robots/index.text.erb +4 -0
- data/app/views/quadro/shared/_modal.html.haml +3 -0
- data/app/views/quadro/shared/_navigation.html.haml +17 -0
- data/app/views/quadro/shared/_toolbar.html.haml +55 -0
- data/app/views/quadro/shared/templates/_blank.html.haml +11 -0
- data/app/views/quadro/shared/templates/_demo.html.haml +22 -0
- data/app/views/quadro/shared/templates/_jumbotron.html.haml +10 -0
- data/app/views/quadro/shared/templates/_sidebar.html.haml +15 -0
- data/app/views/quadro/shared/templates/page/_list.html.haml +9 -0
- data/app/views/quadro/shared/templates/page/_thumbnail.html.haml +9 -0
- data/app/views/quadro/users/_edit.html.haml +15 -0
- data/app/views/quadro/users/edit.js.erb +2 -0
- data/app/views/quadro/users/update.js.erb +7 -0
- data/app/views/quadro/widgets/edit.js.erb +0 -0
- data/app/views/quadro/widgets/form/_empty.html.haml +4 -0
- data/app/views/quadro/widgets/form/_fields.html.haml +1 -0
- data/app/views/quadro/widgets/form/_form.html.haml +0 -0
- data/app/views/quadro/widgets/form/_signed_off.html.haml +6 -0
- data/app/views/quadro/widgets/form/_signed_on.html.haml +14 -0
- data/app/views/quadro/widgets/form/_toolbar.html.haml +7 -0
- data/app/views/quadro/widgets/form/_widget.html.haml +1 -0
- data/app/views/quadro/widgets/gallery/_empty.html.haml +20 -0
- data/app/views/quadro/widgets/gallery/_form.html.haml +0 -0
- data/app/views/quadro/widgets/gallery/_signed_off.html.haml +6 -0
- data/app/views/quadro/widgets/gallery/_signed_on.html.haml +10 -0
- data/app/views/quadro/widgets/gallery/_toolbar.html.haml +7 -0
- data/app/views/quadro/widgets/gallery/_uploader.html.haml +5 -0
- data/app/views/quadro/widgets/gallery/_widget.html.haml +6 -0
- data/app/views/quadro/widgets/html/_empty.html.haml +2 -0
- data/app/views/quadro/widgets/html/_form.html.haml +0 -0
- data/app/views/quadro/widgets/html/_signed_off.html.haml +6 -0
- data/app/views/quadro/widgets/html/_signed_on.html.haml +9 -0
- data/app/views/quadro/widgets/html/_toolbar.html.haml +7 -0
- data/app/views/quadro/widgets/html/_widget.html.haml +1 -0
- data/app/views/quadro/widgets/map/_empty.html.haml +18 -0
- data/app/views/quadro/widgets/map/_form.html.haml +0 -0
- data/app/views/quadro/widgets/map/_signed_off.html.haml +4 -0
- data/app/views/quadro/widgets/map/_signed_on.html.haml +6 -0
- data/app/views/quadro/widgets/map/_toolbar.html.haml +7 -0
- data/app/views/quadro/widgets/map/_widget.html.haml +45 -0
- data/app/views/quadro/widgets/slider/_empty.html.haml +7 -0
- data/app/views/quadro/widgets/slider/_form.html.haml +0 -0
- data/app/views/quadro/widgets/slider/_signed_off.html.haml +6 -0
- data/app/views/quadro/widgets/slider/_signed_on.html.haml +10 -0
- data/app/views/quadro/widgets/slider/_toolbar.html.haml +7 -0
- data/app/views/quadro/widgets/slider/_uploader.html.haml +5 -0
- data/app/views/quadro/widgets/slider/_widget.html.haml +4 -0
- data/app/views/quadro/widgets/update.js.erb +0 -0
- data/app/views/users/mailer/reset_password_instructions.html.haml +6 -0
- data/app/views/users/mailer/unlock_instructions.html.haml +5 -0
- data/app/views/users/passwords/edit.html.haml +15 -0
- data/app/views/users/passwords/new.html.haml +13 -0
- data/app/views/users/sessions/new.html.haml +15 -0
- data/app/views/users/shared/_links.html.haml +19 -0
- data/app/views/users/unlocks/new.html.haml +13 -0
- data/config/initializers/crummy.rb +5 -0
- data/config/initializers/devise.rb +261 -0
- data/config/initializers/gravatar_image_tag.rb +7 -0
- data/config/initializers/kaminari_config.rb +10 -0
- data/config/initializers/simple_form.rb +142 -0
- data/config/initializers/simple_form_bootstrap.rb +79 -0
- data/config/initializers/sitemap.rb +9 -0
- data/config/locales/devise.en.yml +60 -0
- data/config/locales/kaminari.en.yml +17 -0
- data/config/locales/quadro.en.yml +5 -0
- data/config/locales/simple_form.en.yml +26 -0
- data/config/routes.rb +25 -0
- data/db/migrate/20141122163450_create_quadro_widgets.rb +19 -0
- data/db/migrate/20141129022344_create_quadro_pages.rb +20 -0
- data/db/migrate/20141206085127_create_quadro_assets.rb +16 -0
- data/db/migrate/20141207202401_devise_create_quadro_users.rb +28 -0
- data/db/migrate/20160606213156_create_quadro_interactions.rb +11 -0
- data/lib/generators/quadro/install/USAGE +8 -0
- data/lib/generators/quadro/install/install_generator.rb +35 -0
- data/lib/generators/quadro/install/templates/app/assets/images/quadro/favicon.ico +0 -0
- data/lib/generators/quadro/install/templates/app/assets/images/quadro/quadro-logo-mini.png +0 -0
- data/lib/generators/quadro/install/templates/app/assets/images/quadro/quadro-logo.png +0 -0
- data/lib/generators/quadro/install/templates/app/assets/javascripts/quadro/site.js.coffee +0 -0
- data/lib/generators/quadro/install/templates/app/assets/stylesheets/quadro/site.css.sass +0 -0
- data/lib/generators/quadro/install/templates/app/views/quadro/shared/_navigation.html.haml +17 -0
- data/lib/generators/quadro/install/templates/app/views/quadro/shared/templates/_blank.html.haml +11 -0
- data/lib/generators/quadro/install/templates/app/views/quadro/shared/templates/_demo.html.haml +22 -0
- data/lib/generators/quadro/install/templates/app/views/quadro/shared/templates/_jumbotron.html.haml +10 -0
- data/lib/generators/quadro/install/templates/app/views/quadro/shared/templates/_sidebar.html.haml +15 -0
- data/lib/generators/quadro/install/templates/app/views/quadro/shared/templates/page/_list.html.haml +9 -0
- data/lib/generators/quadro/install/templates/app/views/quadro/shared/templates/page/_thumbnail.html.haml +9 -0
- data/lib/generators/quadro/install/templates/config/initializers/quadro.rb +12 -0
- data/lib/generators/quadro/install/templates/db/GeoLite2-Country.mmdb +0 -0
- data/lib/generators/quadro/install/templates/public/404.html +37 -0
- data/lib/generators/quadro/install/templates/public/422.html +37 -0
- data/lib/generators/quadro/install/templates/public/500.html +37 -0
- data/lib/generators/quadro/install/templates/public/maintenance.html +37 -0
- data/lib/quadro.rb +16 -0
- data/lib/quadro/engine.rb +44 -0
- data/lib/quadro/loader.rb +30 -0
- data/lib/quadro/signature.rb +3 -0
- data/lib/quadro/version.rb +3 -0
- data/lib/tasks/quadro_tasks.rake +15 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/images/quadro/favicon.ico +0 -0
- data/test/dummy/app/assets/images/quadro/quadro-logo-mini.png +0 -0
- data/test/dummy/app/assets/images/quadro/quadro-logo.png +0 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/javascripts/quadro/site.js.coffee +0 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/assets/stylesheets/quadro/site.css.sass +0 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/quadro/shared/_navigation.html.haml +17 -0
- data/test/dummy/app/views/quadro/shared/templates/_blank.html.haml +11 -0
- data/test/dummy/app/views/quadro/shared/templates/_demo.html.haml +22 -0
- data/test/dummy/app/views/quadro/shared/templates/_jumbotron.html.haml +10 -0
- data/test/dummy/app/views/quadro/shared/templates/_sidebar.html.haml +15 -0
- data/test/dummy/app/views/quadro/shared/templates/page/_list.html.haml +9 -0
- data/test/dummy/app/views/quadro/shared/templates/page/_thumbnail.html.haml +9 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +59 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/quadro.rb +12 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +3 -0
- data/test/dummy/db/GeoLite2-Country.mmdb +0 -0
- data/test/dummy/db/migrate/20160615055717_create_quadro_widgets.quadro.rb +20 -0
- data/test/dummy/db/migrate/20160615055718_create_quadro_pages.quadro.rb +21 -0
- data/test/dummy/db/migrate/20160615055719_create_quadro_assets.quadro.rb +17 -0
- data/test/dummy/db/migrate/20160615055720_devise_create_quadro_users.quadro.rb +29 -0
- data/test/dummy/db/migrate/20160615055721_create_quadro_interactions.quadro.rb +12 -0
- data/test/dummy/db/schema.rb +105 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +0 -0
- data/test/dummy/log/test.log +3 -0
- data/test/dummy/public/404.html +37 -0
- data/test/dummy/public/422.html +37 -0
- data/test/dummy/public/500.html +37 -0
- data/test/dummy/public/maintenance.html +37 -0
- data/test/dummy/script/rails +6 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/quadro_test.rb +7 -0
- data/test/test_helper.rb +18 -0
- metadata +806 -0
File without changes
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class Uploader
|
2
|
+
constructor: (@element) ->
|
3
|
+
@path = @element.data 'path'
|
4
|
+
@type = @element.data 'type'
|
5
|
+
@dropper()
|
6
|
+
return
|
7
|
+
|
8
|
+
dropper: ->
|
9
|
+
@element.dropper
|
10
|
+
action: "#{@path}"
|
11
|
+
label: '<p><i class="fa fa-picture-o fa-2x"></i></p><p>Drag and drop files or click to select</p>'
|
12
|
+
postData:
|
13
|
+
type: @type
|
14
|
+
postKey: 'asset[attachment]'
|
15
|
+
return
|
16
|
+
|
17
|
+
window.Uploader = Uploader
|
@@ -0,0 +1,80 @@
|
|
1
|
+
class Widget
|
2
|
+
constructor: (@element) ->
|
3
|
+
@id = @element.data 'id'
|
4
|
+
@name = @element.data 'name'
|
5
|
+
@type = @element.data 'type'
|
6
|
+
@path = @element.data 'path'
|
7
|
+
@airmode = true
|
8
|
+
@focus = false
|
9
|
+
@changed = false
|
10
|
+
@summernote()
|
11
|
+
return
|
12
|
+
|
13
|
+
summernote: ->
|
14
|
+
@element.summernote
|
15
|
+
airMode: @airmode
|
16
|
+
codemirror:
|
17
|
+
lineNumbers: true
|
18
|
+
lineWrapping: true
|
19
|
+
tabSize: 2
|
20
|
+
mode: 'htmlmixed'
|
21
|
+
theme: 'monokai'
|
22
|
+
onChange: =>
|
23
|
+
@setChanged()
|
24
|
+
onfocus: =>
|
25
|
+
@setFocus()
|
26
|
+
return
|
27
|
+
return
|
28
|
+
|
29
|
+
switchAirmodeOn: ->
|
30
|
+
@element.destroy()
|
31
|
+
@airmode = true
|
32
|
+
@summernote()
|
33
|
+
return
|
34
|
+
|
35
|
+
switchAirmodeOff: ->
|
36
|
+
@element.destroy()
|
37
|
+
@airmode = false
|
38
|
+
@summernote()
|
39
|
+
return
|
40
|
+
|
41
|
+
save: ->
|
42
|
+
@getContent()
|
43
|
+
@update()
|
44
|
+
@unsetChanged()
|
45
|
+
return
|
46
|
+
|
47
|
+
update: ->
|
48
|
+
$.ajax
|
49
|
+
url: "#{@path}"
|
50
|
+
type: "PUT"
|
51
|
+
data:
|
52
|
+
widget:
|
53
|
+
content: @content
|
54
|
+
success: (data) ->
|
55
|
+
new Message "Content updated"
|
56
|
+
return
|
57
|
+
error: ->
|
58
|
+
new Message "Content not updated"
|
59
|
+
return
|
60
|
+
return
|
61
|
+
|
62
|
+
getContent: ->
|
63
|
+
@content = $(".widget-html[data-name=#{@name}]").code()
|
64
|
+
return
|
65
|
+
|
66
|
+
setFocus: ->
|
67
|
+
@focus = true
|
68
|
+
return
|
69
|
+
|
70
|
+
setChanged: ->
|
71
|
+
@changed = true
|
72
|
+
$('#quadro-save').removeClass('hide')
|
73
|
+
return
|
74
|
+
|
75
|
+
unsetChanged: ->
|
76
|
+
@changed = false
|
77
|
+
$('#quadro-save').addClass('hide')
|
78
|
+
return
|
79
|
+
|
80
|
+
window.Widget = Widget
|
@@ -0,0 +1,40 @@
|
|
1
|
+
// Mixins
|
2
|
+
// --------------------------------------------------
|
3
|
+
|
4
|
+
// Utilities
|
5
|
+
@import "bootstrap/mixins/hide-text";
|
6
|
+
@import "bootstrap/mixins/opacity";
|
7
|
+
@import "bootstrap/mixins/image";
|
8
|
+
@import "bootstrap/mixins/labels";
|
9
|
+
@import "bootstrap/mixins/reset-filter";
|
10
|
+
@import "bootstrap/mixins/resize";
|
11
|
+
@import "bootstrap/mixins/responsive-visibility";
|
12
|
+
@import "bootstrap/mixins/size";
|
13
|
+
@import "bootstrap/mixins/tab-focus";
|
14
|
+
//@import "bootstrap/mixins/reset-text";
|
15
|
+
@import "bootstrap/mixins/text-emphasis";
|
16
|
+
@import "bootstrap/mixins/text-overflow";
|
17
|
+
@import "bootstrap/mixins/vendor-prefixes";
|
18
|
+
|
19
|
+
// Components
|
20
|
+
@import "bootstrap/mixins/alerts";
|
21
|
+
@import "bootstrap/mixins/buttons";
|
22
|
+
@import "bootstrap/mixins/panels";
|
23
|
+
@import "bootstrap/mixins/pagination";
|
24
|
+
@import "bootstrap/mixins/list-group";
|
25
|
+
@import "bootstrap/mixins/nav-divider";
|
26
|
+
@import "bootstrap/mixins/forms";
|
27
|
+
@import "bootstrap/mixins/progress-bar";
|
28
|
+
@import "bootstrap/mixins/table-row";
|
29
|
+
|
30
|
+
// Skins
|
31
|
+
@import "bootstrap/mixins/background-variant";
|
32
|
+
@import "bootstrap/mixins/border-radius";
|
33
|
+
@import "bootstrap/mixins/gradients";
|
34
|
+
|
35
|
+
// Layout
|
36
|
+
@import "bootstrap/mixins/clearfix";
|
37
|
+
@import "bootstrap/mixins/center-block";
|
38
|
+
@import "bootstrap/mixins/nav-vertical-align";
|
39
|
+
@import "bootstrap/mixins/grid-framework";
|
40
|
+
@import "bootstrap/mixins/grid";
|
@@ -0,0 +1,19 @@
|
|
1
|
+
@import bootstrap-sprockets
|
2
|
+
@import bootstrap
|
3
|
+
@import font-awesome-sprockets
|
4
|
+
@import font-awesome
|
5
|
+
@import compass
|
6
|
+
@import animate
|
7
|
+
@import codemirror
|
8
|
+
@import codemirror/themes/monokai
|
9
|
+
@import summernote
|
10
|
+
@import slick
|
11
|
+
@import slick-theme
|
12
|
+
@import quadro/plugins/jquery.fs.dropper.min
|
13
|
+
@import quadro/plugins/jasny-bootstrap.min
|
14
|
+
@import quadro/plugins/jquery.smartmenus.bootstrap.min
|
15
|
+
@import quadro/plugins/pace.min
|
16
|
+
@import quadro/plugins/humane-libnotify.min
|
17
|
+
@import quadro/plugins/lightbox.min
|
18
|
+
@import quadro/quadro
|
19
|
+
@import quadro/site
|
@@ -0,0 +1 @@
|
|
1
|
+
html,body{min-height:100%}.humane,.humane-libnotify{position:fixed;-moz-transition:all .3s ease-out;-webkit-transition:all .3s ease-out;-ms-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out;z-index:100000;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);font-family:Ubuntu,Arial,sans-serif;text-align:center;font-size:15px;top:10px;right:10px;opacity:0;width:150px;color:#fff;padding:10px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABQCAYAAADYxx/bAAAABmJLR0QA/wD/AP+gvaeTAAAANElEQVQYlWNgYGB4ysTAwMDAxMjICCUQXDQWAwMDAxMTExMedcRyB6d5CAMQ5hGrjSrmAQBQdgIXlosSTwAAAABJRU5ErkJggg==);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(0,0,0,0.9)),color-stop(1,rgba(50,50,50,0.9))) no-repeat;background:-moz-linear-gradient(top,rgba(0,0,0,0.9) 0%,rgba(50,50,50,0.9) 100%) no-repeat;background:-webkit-linear-gradient(top,rgba(0,0,0,0.9) 0%,rgba(50,50,50,0.9) 100%) no-repeat;background:-ms-linear-gradient(top,rgba(0,0,0,0.9) 0%,rgba(50,50,50,0.9) 100%) no-repeat;background:-o-linear-gradient(top,rgba(0,0,0,0.9) 0%,rgba(50,50,50,0.9) 100%) no-repeat;background:linear-gradient(top,rgba(0,0,0,0.9) 0%,rgba(50,50,50,0.9) 100%) no-repeat;*background-color:#000;-webkit-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 4px 4px -4px #000;box-shadow:0 4px 4px -4px #000;-moz-transform:translateY(-40px);-webkit-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}.humane p,.humane-libnotify p,.humane ul,.humane-libnotify ul{margin:0;padding:0}.humane ul,.humane-libnotify ul{list-style:none}.humane.humane-libnotify-info,.humane-libnotify.humane-libnotify-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABQCAYAAADYxx/bAAAABmJLR0QA/wD/AP+gvaeTAAAAMUlEQVQYlWNgYDB6ysTAwMDAxMDACCcYUFkMDEwMDEwMBNVhkxg65jGhmke6M6hgHgBSdgHnpZwADwAAAABJRU5ErkJggg==);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(0,0,50,0.9)),color-stop(1,rgba(0,0,100,0.9))) no-repeat;background:-moz-linear-gradient(top,rgba(0,0,50,0.9) 0%,rgba(0,0,100,0.9) 100%) no-repeat;background:-webkit-linear-gradient(top,rgba(0,0,50,0.9) 0%,rgba(0,0,100,0.9) 100%) no-repeat;background:-ms-linear-gradient(top,rgba(0,0,50,0.9) 0%,rgba(0,0,100,0.9) 100%) no-repeat;background:-o-linear-gradient(top,rgba(0,0,50,0.9) 0%,rgba(0,0,100,0.9) 100%) no-repeat;background:linear-gradient(top,rgba(0,0,50,0.9) 0%,rgba(0,0,100,0.9) 100%) no-repeat;*background-color:#030}.humane.humane-libnotify-success,.humane-libnotify.humane-libnotify-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABQCAYAAADYxx/bAAAABmJLR0QA/wD/AP+gvaeTAAAAMUlEQVQYlWNgMGJ4ysTAwMDAxMAIJxhQWQwMDEwMTKgS2NRhkxg65jGhmke6M6hhHgBS2QHn2LzhygAAAABJRU5ErkJggg==);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(0,50,0,0.9)),color-stop(1,rgba(0,100,0,0.9))) no-repeat;background:-moz-linear-gradient(top,rgba(0,50,0,0.9) 0%,rgba(0,100,0,0.9) 100%) no-repeat;background:-webkit-linear-gradient(top,rgba(0,50,0,0.9) 0%,rgba(0,100,0,0.9) 100%) no-repeat;background:-ms-linear-gradient(top,rgba(0,50,0,0.9) 0%,rgba(0,100,0,0.9) 100%) no-repeat;background:-o-linear-gradient(top,rgba(0,50,0,0.9) 0%,rgba(0,100,0,0.9) 100%) no-repeat;background:linear-gradient(top,rgba(0,50,0,0.9) 0%,rgba(0,100,0,0.9) 100%) no-repeat;*background-color:#030}.humane.humane-libnotify-error,.humane-libnotify.humane-libnotify-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADICAYAAAAp8ov1AAAABmJLR0QA/wD/AP+gvaeTAAAAPklEQVQokWMwYmB4ysTAwMCATjASFsOmBBvBRJ7x+O0g0wCS7CDTH/RwH7X9MVDuwyaG032D2M2UeIYO7gMAqt8C19Bn7+YAAAAASUVORK5CYII=);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(50,0,0,0.9)),color-stop(1,rgba(100,0,0,0.9))) no-repeat;background:-moz-linear-gradient(top,rgba(50,0,0,0.9) 0%,rgba(100,0,0,0.9) 100%) no-repeat;background:-webkit-linear-gradient(top,rgba(50,0,0,0.9) 0%,rgba(100,0,0,0.9) 100%) no-repeat;background:-ms-linear-gradient(top,rgba(50,0,0,0.9) 0%,rgba(100,0,0,0.9) 100%) no-repeat;background:-o-linear-gradient(top,rgba(50,0,0,0.9) 0%,rgba(100,0,0,0.9) 100%) no-repeat;background:linear-gradient(top,rgba(50,0,0,0.9) 0%,rgba(100,0,0,0.9) 100%) no-repeat;*background-color:#300}.humane.humane-animate,.humane-libnotify.humane-libnotify-animate{opacity:1;-moz-transform:translateY(0);-webkit-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}.humane.humane-animate:hover,.humane-libnotify.humane-libnotify-animate:hover{opacity:.2}.humane.humane-animate,.humane-libnotify.humane-libnotify-js-animate{opacity:1;-moz-transform:translateY(0);-webkit-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}.humane.humane-animate:hover,.humane-libnotify.humane-libnotify-js-animate:hover{opacity:.2;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=20)}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
/*!
|
2
|
+
* Jasny Bootstrap v3.1.3 (http://jasny.github.io/bootstrap)
|
3
|
+
* Copyright 2012-2014 Arnold Daniels
|
4
|
+
* Licensed under Apache-2.0 (https://github.com/jasny/bootstrap/blob/master/LICENSE)
|
5
|
+
*/
|
6
|
+
|
7
|
+
.container-smooth{max-width:1170px}@media (min-width:1px){.container-smooth{width:auto}}.btn-labeled{padding-top:0;padding-bottom:0}.btn-label{position:relative;background:0 0;background:rgba(0,0,0,.15);display:inline-block;padding:6px 12px;left:-12px;border-radius:3px 0 0 3px}.btn-label.btn-label-right{left:auto;right:-12px;border-radius:0 3px 3px 0}.btn-lg .btn-label{padding:10px 16px;left:-16px;border-radius:5px 0 0 5px}.btn-lg .btn-label.btn-label-right{left:auto;right:-16px;border-radius:0 5px 5px 0}.btn-sm .btn-label{padding:5px 10px;left:-10px;border-radius:2px 0 0 2px}.btn-sm .btn-label.btn-label-right{left:auto;right:-10px;border-radius:0 2px 2px 0}.btn-xs .btn-label{padding:1px 5px;left:-5px;border-radius:2px 0 0 2px}.btn-xs .btn-label.btn-label-right{left:auto;right:-5px;border-radius:0 2px 2px 0}.nav-tabs-bottom{border-bottom:0;border-top:1px solid #ddd}.nav-tabs-bottom>li{margin-bottom:0;margin-top:-1px}.nav-tabs-bottom>li>a{border-radius:0 0 4px 4px}.nav-tabs-bottom>li>a:hover,.nav-tabs-bottom>li>a:focus,.nav-tabs-bottom>li.active>a,.nav-tabs-bottom>li.active>a:hover,.nav-tabs-bottom>li.active>a:focus{border:1px solid #ddd;border-top-color:transparent}.nav-tabs-left{border-bottom:0;border-right:1px solid #ddd}.nav-tabs-left>li{margin-bottom:0;margin-right:-1px;float:none}.nav-tabs-left>li>a{border-radius:4px 0 0 4px;margin-right:0;margin-bottom:2px}.nav-tabs-left>li>a:hover,.nav-tabs-left>li>a:focus,.nav-tabs-left>li.active>a,.nav-tabs-left>li.active>a:hover,.nav-tabs-left>li.active>a:focus{border:1px solid #ddd;border-right-color:transparent}.row>.nav-tabs-left{padding-right:0;padding-left:15px;margin-right:-1px;position:relative;z-index:1}.row>.nav-tabs-left+.tab-content{border-left:1px solid #ddd}.nav-tabs-right{border-bottom:0;border-left:1px solid #ddd}.nav-tabs-right>li{margin-bottom:0;margin-left:-1px;float:none}.nav-tabs-right>li>a{border-radius:0 4px 4px 0;margin-left:0;margin-bottom:2px}.nav-tabs-right>li>a:hover,.nav-tabs-right>li>a:focus,.nav-tabs-right>li.active>a,.nav-tabs-right>li.active>a:hover,.nav-tabs-right>li.active>a:focus{border:1px solid #ddd;border-left-color:transparent}.row>.nav-tabs-right{padding-left:0;padding-right:15px}.navmenu,.navbar-offcanvas{width:300px;height:auto;border-width:1px;border-style:solid;border-radius:4px}.navmenu-fixed-left,.navmenu-fixed-right,.navbar-offcanvas{position:fixed;z-index:1030;top:0;bottom:0;overflow-y:auto;border-radius:0}.navmenu-fixed-left,.navbar-offcanvas.navmenu-fixed-left{left:0;right:auto;border-width:0 1px 0 0}.navmenu-fixed-right,.navbar-offcanvas{left:auto;right:0;border-width:0 0 0 1px}.navmenu-nav{margin-bottom:10px}.navmenu-nav.dropdown-menu{position:static;margin:0;padding-top:0;float:none;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.navbar-offcanvas .navbar-nav{margin:0}@media (min-width:768px){.navbar-offcanvas{width:auto;border-top:0;box-shadow:none}.navbar-offcanvas.offcanvas{position:static;display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-offcanvas .navbar-nav.navbar-left:first-child{margin-left:-15px}.navbar-offcanvas .navbar-nav.navbar-right:last-child{margin-right:-15px}.navbar-offcanvas .navmenu-brand{display:none}}.navmenu-brand{display:block;font-size:18px;line-height:20px;padding:10px 15px;margin:10px 0}.navmenu-brand:hover,.navmenu-brand:focus{text-decoration:none}.navmenu-default,.navbar-default .navbar-offcanvas{background-color:#f8f8f8;border-color:#e7e7e7}.navmenu-default .navmenu-brand,.navbar-default .navbar-offcanvas .navmenu-brand{color:#777}.navmenu-default .navmenu-brand:hover,.navbar-default .navbar-offcanvas .navmenu-brand:hover,.navmenu-default .navmenu-brand:focus,.navbar-default .navbar-offcanvas .navmenu-brand:focus{color:#5e5e5e;background-color:transparent}.navmenu-default .navmenu-text,.navbar-default .navbar-offcanvas .navmenu-text{color:#777}.navmenu-default .navmenu-nav>.dropdown>a:hover .caret,.navbar-default .navbar-offcanvas .navmenu-nav>.dropdown>a:hover .caret,.navmenu-default .navmenu-nav>.dropdown>a:focus .caret,.navbar-default .navbar-offcanvas .navmenu-nav>.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navmenu-default .navmenu-nav>.open>a,.navbar-default .navbar-offcanvas .navmenu-nav>.open>a,.navmenu-default .navmenu-nav>.open>a:hover,.navbar-default .navbar-offcanvas .navmenu-nav>.open>a:hover,.navmenu-default .navmenu-nav>.open>a:focus,.navbar-default .navbar-offcanvas .navmenu-nav>.open>a:focus{background-color:#e7e7e7;color:#555}.navmenu-default .navmenu-nav>.open>a .caret,.navbar-default .navbar-offcanvas .navmenu-nav>.open>a .caret,.navmenu-default .navmenu-nav>.open>a:hover .caret,.navbar-default .navbar-offcanvas .navmenu-nav>.open>a:hover .caret,.navmenu-default .navmenu-nav>.open>a:focus .caret,.navbar-default .navbar-offcanvas .navmenu-nav>.open>a:focus .caret{border-top-color:#555;border-bottom-color:#555}.navmenu-default .navmenu-nav>.dropdown>a .caret,.navbar-default .navbar-offcanvas .navmenu-nav>.dropdown>a .caret{border-top-color:#777;border-bottom-color:#777}.navmenu-default .navmenu-nav.dropdown-menu,.navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu{background-color:#e7e7e7}.navmenu-default .navmenu-nav.dropdown-menu>.divider,.navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu>.divider{background-color:#f8f8f8}.navmenu-default .navmenu-nav.dropdown-menu>.active>a,.navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu>.active>a,.navmenu-default .navmenu-nav.dropdown-menu>.active>a:hover,.navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu>.active>a:hover,.navmenu-default .navmenu-nav.dropdown-menu>.active>a:focus,.navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu>.active>a:focus{background-color:#d7d7d7}.navmenu-default .navmenu-nav>li>a,.navbar-default .navbar-offcanvas .navmenu-nav>li>a{color:#777}.navmenu-default .navmenu-nav>li>a:hover,.navbar-default .navbar-offcanvas .navmenu-nav>li>a:hover,.navmenu-default .navmenu-nav>li>a:focus,.navbar-default .navbar-offcanvas .navmenu-nav>li>a:focus{color:#333;background-color:transparent}.navmenu-default .navmenu-nav>.active>a,.navbar-default .navbar-offcanvas .navmenu-nav>.active>a,.navmenu-default .navmenu-nav>.active>a:hover,.navbar-default .navbar-offcanvas .navmenu-nav>.active>a:hover,.navmenu-default .navmenu-nav>.active>a:focus,.navbar-default .navbar-offcanvas .navmenu-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navmenu-default .navmenu-nav>.disabled>a,.navbar-default .navbar-offcanvas .navmenu-nav>.disabled>a,.navmenu-default .navmenu-nav>.disabled>a:hover,.navbar-default .navbar-offcanvas .navmenu-nav>.disabled>a:hover,.navmenu-default .navmenu-nav>.disabled>a:focus,.navbar-default .navbar-offcanvas .navmenu-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navmenu-inverse,.navbar-inverse .navbar-offcanvas{background-color:#222;border-color:#080808}.navmenu-inverse .navmenu-brand,.navbar-inverse .navbar-offcanvas .navmenu-brand{color:#999}.navmenu-inverse .navmenu-brand:hover,.navbar-inverse .navbar-offcanvas .navmenu-brand:hover,.navmenu-inverse .navmenu-brand:focus,.navbar-inverse .navbar-offcanvas .navmenu-brand:focus{color:#fff;background-color:transparent}.navmenu-inverse .navmenu-text,.navbar-inverse .navbar-offcanvas .navmenu-text{color:#999}.navmenu-inverse .navmenu-nav>.dropdown>a:hover .caret,.navbar-inverse .navbar-offcanvas .navmenu-nav>.dropdown>a:hover .caret,.navmenu-inverse .navmenu-nav>.dropdown>a:focus .caret,.navbar-inverse .navbar-offcanvas .navmenu-nav>.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navmenu-inverse .navmenu-nav>.open>a,.navbar-inverse .navbar-offcanvas .navmenu-nav>.open>a,.navmenu-inverse .navmenu-nav>.open>a:hover,.navbar-inverse .navbar-offcanvas .navmenu-nav>.open>a:hover,.navmenu-inverse .navmenu-nav>.open>a:focus,.navbar-inverse .navbar-offcanvas .navmenu-nav>.open>a:focus{background-color:#080808;color:#fff}.navmenu-inverse .navmenu-nav>.open>a .caret,.navbar-inverse .navbar-offcanvas .navmenu-nav>.open>a .caret,.navmenu-inverse .navmenu-nav>.open>a:hover .caret,.navbar-inverse .navbar-offcanvas .navmenu-nav>.open>a:hover .caret,.navmenu-inverse .navmenu-nav>.open>a:focus .caret,.navbar-inverse .navbar-offcanvas .navmenu-nav>.open>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navmenu-inverse .navmenu-nav>.dropdown>a .caret,.navbar-inverse .navbar-offcanvas .navmenu-nav>.dropdown>a .caret{border-top-color:#999;border-bottom-color:#999}.navmenu-inverse .navmenu-nav.dropdown-menu,.navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu{background-color:#080808}.navmenu-inverse .navmenu-nav.dropdown-menu>.divider,.navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu>.divider{background-color:#222}.navmenu-inverse .navmenu-nav.dropdown-menu>.active>a,.navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu>.active>a,.navmenu-inverse .navmenu-nav.dropdown-menu>.active>a:hover,.navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu>.active>a:hover,.navmenu-inverse .navmenu-nav.dropdown-menu>.active>a:focus,.navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu>.active>a:focus{background-color:#000}.navmenu-inverse .navmenu-nav>li>a,.navbar-inverse .navbar-offcanvas .navmenu-nav>li>a{color:#999}.navmenu-inverse .navmenu-nav>li>a:hover,.navbar-inverse .navbar-offcanvas .navmenu-nav>li>a:hover,.navmenu-inverse .navmenu-nav>li>a:focus,.navbar-inverse .navbar-offcanvas .navmenu-nav>li>a:focus{color:#fff;background-color:transparent}.navmenu-inverse .navmenu-nav>.active>a,.navbar-inverse .navbar-offcanvas .navmenu-nav>.active>a,.navmenu-inverse .navmenu-nav>.active>a:hover,.navbar-inverse .navbar-offcanvas .navmenu-nav>.active>a:hover,.navmenu-inverse .navmenu-nav>.active>a:focus,.navbar-inverse .navbar-offcanvas .navmenu-nav>.active>a:focus{color:#fff;background-color:#080808}.navmenu-inverse .navmenu-nav>.disabled>a,.navbar-inverse .navbar-offcanvas .navmenu-nav>.disabled>a,.navmenu-inverse .navmenu-nav>.disabled>a:hover,.navbar-inverse .navbar-offcanvas .navmenu-nav>.disabled>a:hover,.navmenu-inverse .navmenu-nav>.disabled>a:focus,.navbar-inverse .navbar-offcanvas .navmenu-nav>.disabled>a:focus{color:#444;background-color:transparent}.alert-fixed-top,.alert-fixed-bottom{position:fixed;width:100%;z-index:1035;border-radius:0;margin:0;left:0}@media (min-width:992px){.alert-fixed-top,.alert-fixed-bottom{width:992px;left:50%;margin-left:-496px}}.alert-fixed-top{top:0;border-width:0 0 1px}@media (min-width:992px){.alert-fixed-top{border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-width:0 1px 1px}}.alert-fixed-bottom{bottom:0;border-width:1px 0 0}@media (min-width:992px){.alert-fixed-bottom{border-top-right-radius:4px;border-top-left-radius:4px;border-width:1px 1px 0}}.offcanvas{display:none}.offcanvas.in{display:block}@media (max-width:767px){.offcanvas-xs{display:none}.offcanvas-xs.in{display:block}}@media (max-width:991px){.offcanvas-sm{display:none}.offcanvas-sm.in{display:block}}@media (max-width:1199px){.offcanvas-md{display:none}.offcanvas-md.in{display:block}}.offcanvas-lg{display:none}.offcanvas-lg.in{display:block}.canvas-sliding{-webkit-transition:top .35s,left .35s,bottom .35s,right .35s;transition:top .35s,left .35s,bottom .35s,right .35s}.offcanvas-clone{height:0!important;width:0!important;overflow:hidden!important;border:none!important;margin:0!important;padding:0!important;position:absolute!important;top:auto!important;left:auto!important;bottom:0!important;right:0!important;opacity:0!important}.table.rowlink td:not(.rowlink-skip),.table .rowlink td:not(.rowlink-skip){cursor:pointer}.table.rowlink td:not(.rowlink-skip) a,.table .rowlink td:not(.rowlink-skip) a{color:inherit;font:inherit;text-decoration:inherit}.table-hover.rowlink tr:hover td,.table-hover .rowlink tr:hover td{background-color:#cfcfcf}.btn-file{overflow:hidden;position:relative;vertical-align:middle}.btn-file>input{position:absolute;top:0;right:0;margin:0;opacity:0;filter:alpha(opacity=0);font-size:23px;height:100%;width:100%;direction:ltr;cursor:pointer}.fileinput{margin-bottom:9px;display:inline-block}.fileinput .form-control{padding-top:7px;padding-bottom:5px;display:inline-block;margin-bottom:0;vertical-align:middle;cursor:text}.fileinput .thumbnail{overflow:hidden;display:inline-block;margin-bottom:5px;vertical-align:middle;text-align:center}.fileinput .thumbnail>img{max-height:100%}.fileinput .btn{vertical-align:middle}.fileinput-exists .fileinput-new,.fileinput-new .fileinput-exists{display:none}.fileinput-inline .fileinput-controls{display:inline}.fileinput-filename{vertical-align:middle;display:inline-block;overflow:hidden}.form-control .fileinput-filename{vertical-align:bottom}.fileinput.input-group{display:table}.fileinput.input-group>*{position:relative;z-index:2}.fileinput.input-group>.btn-file{z-index:1}.fileinput-new.input-group .btn-file,.fileinput-new .input-group .btn-file{border-radius:0 4px 4px 0}.fileinput-new.input-group .btn-file.btn-xs,.fileinput-new .input-group .btn-file.btn-xs,.fileinput-new.input-group .btn-file.btn-sm,.fileinput-new .input-group .btn-file.btn-sm{border-radius:0 3px 3px 0}.fileinput-new.input-group .btn-file.btn-lg,.fileinput-new .input-group .btn-file.btn-lg{border-radius:0 6px 6px 0}.form-group.has-warning .fileinput .fileinput-preview{color:#8a6d3b}.form-group.has-warning .fileinput .thumbnail{border-color:#faebcc}.form-group.has-error .fileinput .fileinput-preview{color:#a94442}.form-group.has-error .fileinput .thumbnail{border-color:#ebccd1}.form-group.has-success .fileinput .fileinput-preview{color:#3c763d}.form-group.has-success .fileinput .thumbnail{border-color:#d6e9c6}.input-group-addon:not(:first-child){border-left:0}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
/*
|
2
|
+
* Dropper v1.0.1 - 2014-11-25
|
3
|
+
* A jQuery plugin for simple drag and drop uploads. Part of the Formstone Library.
|
4
|
+
* http://formstone.it/dropper/
|
5
|
+
*
|
6
|
+
* Copyright 2014 Ben Plum; MIT Licensed
|
7
|
+
*/
|
8
|
+
|
9
|
+
.dropper{overflow:hidden}.dropper,.dropper *,.dropper :before,.dropper :after{box-sizing:border-box}.dropper-dropzone{background:#fff;border:3px dashed #ccc;border-radius:0;color:#666;cursor:pointer;font-size:14px;margin:0;padding:25px;text-align:center}.dropper.dropping .dropper-dropzone,.no-touch .dropper:hover .dropper-dropzone{background:#eee;border-color:#999;color:#333}.dropper-input{position:absolute;left:100%;opacity:0}.no-opacity .dropper-input{left:-999px}
|
@@ -0,0 +1 @@
|
|
1
|
+
.navbar-nav:not(.sm-collapsible) ul .caret{position:absolute;right:0;margin-top:6px;margin-right:15px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px dashed}.navbar-nav:not(.sm-collapsible) ul a.has-submenu{padding-right:30px}.navbar-nav.sm-collapsible .caret,.navbar-nav.sm-collapsible ul .caret{position:absolute;right:0;margin:-3px 15px 0 0;padding:0;width:32px;height:26px;line-height:24px;text-align:center;border-width:1px;border-style:solid}.navbar-nav.sm-collapsible .caret:before{content:'+';font-family:monospace;font-weight:700}.navbar-nav.sm-collapsible .open>a>.caret:before{content:'-'}.navbar-nav.sm-collapsible a.has-submenu{padding-right:50px}.navbar-nav.sm-collapsible[data-sm-skip-collapsible-behavior] .caret,.navbar-nav.sm-collapsible[data-sm-skip-collapsible-behavior] ul .caret{position:static;margin:0 0 0 2px;padding:0;width:0;height:0;border-top:4px dashed;border-right:4px solid transparent;border-bottom:0;border-left:4px solid transparent}.navbar-nav.sm-collapsible[data-sm-skip-collapsible-behavior] .caret:before{content:''!important}.navbar-nav.sm-collapsible[data-sm-skip-collapsible-behavior] a.has-submenu{padding-right:15px}.navbar-nav span.scroll-down,.navbar-nav span.scroll-up{position:absolute;display:none;visibility:hidden;height:20px;overflow:hidden;text-align:center}.navbar-nav span.scroll-down-arrow,.navbar-nav span.scroll-up-arrow{position:absolute;top:-2px;left:50%;margin-left:-8px;width:0;height:0;overflow:hidden;border-top:7px dashed transparent;border-right:7px dashed transparent;border-bottom:7px solid;border-left:7px dashed transparent}.navbar-nav span.scroll-down-arrow{top:6px;border-top:7px solid;border-right:7px dashed transparent;border-bottom:7px dashed transparent;border-left:7px dashed transparent}.navbar-nav.sm-collapsible ul .dropdown-menu .dropdown-header,.navbar-nav.sm-collapsible ul .dropdown-menu>li>a{padding-left:35px}.navbar-nav.sm-collapsible ul ul .dropdown-menu .dropdown-header,.navbar-nav.sm-collapsible ul ul .dropdown-menu>li>a{padding-left:45px}.navbar-nav.sm-collapsible ul ul ul .dropdown-menu .dropdown-header,.navbar-nav.sm-collapsible ul ul ul .dropdown-menu>li>a{padding-left:55px}.navbar-nav.sm-collapsible ul ul ul ul .dropdown-menu .dropdown-header,.navbar-nav.sm-collapsible ul ul ul ul .dropdown-menu>li>a{padding-left:65px}.navbar-nav .dropdown-menu>li>a{white-space:normal}.navbar-nav ul.sm-nowrap>li>a{white-space:nowrap}.navbar-nav.sm-collapsible ul.sm-nowrap>li>a{white-space:normal}.navbar-right ul.dropdown-menu{left:0;right:auto}
|
@@ -0,0 +1 @@
|
|
1
|
+
.lb-loader,.lightbox{text-align:center;line-height:0}body:after{content:url(close.png) url(loading.gif) url(prev.png) url(next.png);display:none}.lb-dataContainer:after,.lb-outerContainer:after{content:"";clear:both}body.lb-disable-scrolling{overflow:hidden}.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:#000;filter:alpha(Opacity=80);opacity:.8;display:none}.lightbox{position:absolute;left:0;width:100%;z-index:10000;font-weight:400}.lightbox .lb-image{display:block;height:auto;max-width:inherit;border-radius:3px}.lightbox a img{border:none}.lb-outerContainer{position:relative;background-color:#fff;width:250px;height:250px;margin:0 auto;border-radius:4px}.lb-loader,.lb-nav{position:absolute;left:0}.lb-outerContainer:after{display:table}.lb-container{padding:4px}.lb-loader{top:43%;height:25%;width:100%}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(loading.gif) no-repeat}.lb-nav{top:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:0;background-image:url(data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}.lb-next,.lb-prev{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(prev.png) left 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-prev:hover{filter:alpha(Opacity=100);opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(next.png) right 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-next:hover{filter:alpha(Opacity=100);opacity:1}.lb-dataContainer{margin:0 auto;padding-top:5px;width:100%;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{display:table}.lb-data{padding:0 4px;color:#ccc}.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:700;line-height:1em}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(close.png) top right no-repeat;text-align:right;outline:0;filter:alpha(Opacity=70);opacity:.7;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}.lb-data .lb-close:hover{cursor:pointer;filter:alpha(Opacity=100);opacity:1}
|
@@ -0,0 +1 @@
|
|
1
|
+
.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#999;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px}.pace .pace-progress-inner{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #999999,0 0 5px #999;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-moz-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);-o-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translate(0px,-4px)}.pace .pace-activity{display:block;position:fixed;z-index:2000;top:15px;right:15px;width:14px;height:14px;border:solid 2px transparent;border-top-color:#999;border-left-color:#999;border-radius:10px;-webkit-animation:pace-spinner 400ms linear infinite;-moz-animation:pace-spinner 400ms linear infinite;-ms-animation:pace-spinner 400ms linear infinite;-o-animation:pace-spinner 400ms linear infinite;animation:pace-spinner 400ms linear infinite}@-webkit-keyframes pace-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes pace-spinner{0%{-moz-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes pace-spinner{0%{-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes pace-spinner{0%{-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes pace-spinner{0%{transform:rotate(0deg);transform:rotate(0deg)}100%{transform:rotate(360deg);transform:rotate(360deg)}}
|
@@ -0,0 +1,99 @@
|
|
1
|
+
body
|
2
|
+
margin-top: 60px
|
3
|
+
|
4
|
+
body.quadro-signed-in
|
5
|
+
margin-bottom: 60px
|
6
|
+
|
7
|
+
form
|
8
|
+
span.status
|
9
|
+
@extend .help-block
|
10
|
+
|
11
|
+
#quadro-toolbar
|
12
|
+
padding: 8px
|
13
|
+
|
14
|
+
#quadro-controls
|
15
|
+
margin: 0px
|
16
|
+
|
17
|
+
#quadro-images
|
18
|
+
overflow: auto
|
19
|
+
|
20
|
+
#quadro-gallery.collapsed
|
21
|
+
padding: 0px
|
22
|
+
height: 0em
|
23
|
+
min-height: 0px
|
24
|
+
margin-bottom: 0px
|
25
|
+
border: none
|
26
|
+
box-shadow: none
|
27
|
+
+transition-property(height)
|
28
|
+
+transition-duration(0.5s)
|
29
|
+
+transition-timing-function(ease-in)
|
30
|
+
|
31
|
+
#quadro-uploader
|
32
|
+
height: 0em
|
33
|
+
|
34
|
+
#quadro-images
|
35
|
+
height: 0em
|
36
|
+
|
37
|
+
#quadro-gallery.expanded
|
38
|
+
padding: 0px
|
39
|
+
height: 25em
|
40
|
+
+transition-property(height)
|
41
|
+
+transition-duration(0.5s)
|
42
|
+
+transition-timing-function(ease-out)
|
43
|
+
|
44
|
+
#quadro-uploader
|
45
|
+
height: auto
|
46
|
+
|
47
|
+
#quadro-images
|
48
|
+
height: 13em
|
49
|
+
|
50
|
+
.quadro-brand
|
51
|
+
text-decoration: none !important
|
52
|
+
|
53
|
+
.widget-map
|
54
|
+
height: 240px
|
55
|
+
background-color: #808080
|
56
|
+
background: no-repeat center center
|
57
|
+
background-attachment: scroll
|
58
|
+
-webkit-background-size: cover
|
59
|
+
-moz-background-size: cover
|
60
|
+
background-size: cover
|
61
|
+
-o-background-size: cover
|
62
|
+
|
63
|
+
.note-editor
|
64
|
+
margin-bottom: 20px
|
65
|
+
|
66
|
+
.fileinput > .thumbnail > img
|
67
|
+
width: 100%
|
68
|
+
|
69
|
+
.dropper-input
|
70
|
+
left: 0px
|
71
|
+
|
72
|
+
.asset-dropper
|
73
|
+
margin: 1em
|
74
|
+
position: relative
|
75
|
+
|
76
|
+
.slick-arrow
|
77
|
+
z-index: 1000
|
78
|
+
|
79
|
+
.slick-prev
|
80
|
+
left: 20px
|
81
|
+
|
82
|
+
.slick-next
|
83
|
+
right: 20px
|
84
|
+
|
85
|
+
.slide
|
86
|
+
img
|
87
|
+
width: 100%
|
88
|
+
|
89
|
+
a.thumbnail
|
90
|
+
img
|
91
|
+
width: 100%
|
92
|
+
|
93
|
+
.jumbotron
|
94
|
+
background: no-repeat center center
|
95
|
+
background-attachment: scroll
|
96
|
+
-webkit-background-size: cover
|
97
|
+
-moz-background-size: cover
|
98
|
+
background-size: cover
|
99
|
+
-o-background-size: cover
|
File without changes
|
@@ -0,0 +1,122 @@
|
|
1
|
+
module Quadro
|
2
|
+
class ApplicationController < ActionController::Base
|
3
|
+
helper_method :widget, :asset, :interaction, :root, :parent, :page, :subpages, :geoip, :user, :users
|
4
|
+
|
5
|
+
def after_sign_in_path_for(_resource)
|
6
|
+
quadro.root_path
|
7
|
+
end
|
8
|
+
|
9
|
+
def after_sign_out_path_for(_resource)
|
10
|
+
quadro.root_path
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def widget
|
16
|
+
@widget ||=
|
17
|
+
case
|
18
|
+
when %w(widgets).include?(controller_name) && %w(create).include?(action_name)
|
19
|
+
widget_type = params[:type]
|
20
|
+
if Quadro.available_widgets.include?(widget_type)
|
21
|
+
klass = widget_type.constantize
|
22
|
+
new_widget = klass.new(params[:widget])
|
23
|
+
page.widgets << new_widget
|
24
|
+
new_widget
|
25
|
+
end
|
26
|
+
when %w(pages).include?(controller_name) && %w(form).include?(action_name)
|
27
|
+
new_widget = page.widgets.find(params[:widget_id]) rescue nil
|
28
|
+
new_widget.becomes(new_widget.type.constantize) unless new_widget.nil?
|
29
|
+
new_widget
|
30
|
+
when %w(assets).include?(controller_name)
|
31
|
+
new_widget = page.widgets.find(params[:widget_id]) rescue nil
|
32
|
+
new_widget.becomes(new_widget.type.constantize) unless new_widget.nil?
|
33
|
+
new_widget
|
34
|
+
else
|
35
|
+
new_widget = page.widgets.find(params[:id]) rescue nil
|
36
|
+
new_widget.becomes(new_widget.type.constantize) unless new_widget.nil?
|
37
|
+
new_widget
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def asset
|
42
|
+
@asset ||=
|
43
|
+
case
|
44
|
+
when %w(assets).include?(controller_name) && %w(create).include?(action_name)
|
45
|
+
asset_type = params[:type]
|
46
|
+
if Quadro.available_assets.include?(asset_type)
|
47
|
+
klass = asset_type.constantize
|
48
|
+
new_asset = klass.new(params[:asset])
|
49
|
+
if widget.present?
|
50
|
+
widget.assets << new_asset
|
51
|
+
elsif page.present?
|
52
|
+
page.assets << new_asset
|
53
|
+
end
|
54
|
+
new_asset
|
55
|
+
end
|
56
|
+
when %w(assets).include?(controller_name) && %w(edit update destroy).include?(action_name)
|
57
|
+
if widget.present?
|
58
|
+
widget.find_asset(params[:id])
|
59
|
+
elsif page.present?
|
60
|
+
page.find_asset(params[:id])
|
61
|
+
end
|
62
|
+
else
|
63
|
+
page.find_asset(params[:id])
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def interaction
|
68
|
+
@interaction ||= widget.interactions.new
|
69
|
+
end
|
70
|
+
|
71
|
+
def root
|
72
|
+
@root ||= Quadro::Page.roots.first rescue nil
|
73
|
+
end
|
74
|
+
|
75
|
+
def parent
|
76
|
+
@parent ||= Quadro::Page.find(params[:parent_id]) rescue nil
|
77
|
+
end
|
78
|
+
|
79
|
+
def page
|
80
|
+
@page ||=
|
81
|
+
case
|
82
|
+
when %w(pages).include?(controller_name)
|
83
|
+
case
|
84
|
+
when %w(index).include?(action_name)
|
85
|
+
root
|
86
|
+
when %w(new).include?(action_name)
|
87
|
+
parent.children.new
|
88
|
+
when %w(create).include?(action_name)
|
89
|
+
parent.children.new(params[:page])
|
90
|
+
when %w(edit update form).include?(action_name)
|
91
|
+
root.subtree.find_by_slug(params[:id]) rescue nil
|
92
|
+
else
|
93
|
+
root.subtree.find_by_slug(params[:id]) rescue nil
|
94
|
+
end
|
95
|
+
when %w(widgets assets).include?(controller_name)
|
96
|
+
root.subtree.find(params[:page_id]) rescue nil
|
97
|
+
else
|
98
|
+
root.subtree.find(params[:page_id]) rescue nil
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
def subpages
|
103
|
+
@subpages ||= page.children.ordered.page(params[:page])
|
104
|
+
end
|
105
|
+
|
106
|
+
def geoip
|
107
|
+
@geoip ||= MaxMindDB.new(File.join(Rails.root, 'db', 'GeoLite2-Country.mmdb'))
|
108
|
+
end
|
109
|
+
|
110
|
+
def user
|
111
|
+
@user ||= current_user
|
112
|
+
end
|
113
|
+
|
114
|
+
def users
|
115
|
+
@users ||= Quadro::User.ordered
|
116
|
+
end
|
117
|
+
|
118
|
+
def not_found_page
|
119
|
+
render file: 'public/404', status: :not_found, layout: false
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require_dependency 'quadro/application_controller'
|
2
|
+
|
3
|
+
module Quadro
|
4
|
+
class AssetsController < ApplicationController
|
5
|
+
before_filter :authenticate_user!
|
6
|
+
|
7
|
+
respond_to :js, :json, :xml
|
8
|
+
|
9
|
+
def create
|
10
|
+
asset.save
|
11
|
+
end
|
12
|
+
|
13
|
+
def update
|
14
|
+
asset.update_attributes(params[:asset])
|
15
|
+
end
|
16
|
+
|
17
|
+
def destroy
|
18
|
+
asset.destroy
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|