scrivito_icon_box_widget 1.0.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 049bfd93b63a5e8369b97a0085dab51f0ea93067
4
+ data.tar.gz: fe0f3318d69cecb66301d51b4b22c22776522b13
5
+ SHA512:
6
+ metadata.gz: 228b64fe67c1f52f51bf7940e10a1a17a18c399b5cdcfb6f73d47e1479f711e49d5e0d4de4081e8af2fb24d69f7a0f18738280801c6070267ecdad8d066016c1
7
+ data.tar.gz: e12062cb0bcf57f56c1c7f27c720ae91bb14386d396a449c1f39b57bea55b273bd3ca1fc472d939eaba418a68087a12d317b309fe6110a52e646aad9b4e185e7
data/LICENSE ADDED
@@ -0,0 +1,4 @@
1
+ Copyright (c) 2009 - 2014 Infopark AG (http://www.infopark.com)
2
+
3
+ This software can be used and modified under the LGPL-3.0. Please refer to
4
+ http://www.gnu.org/licenses/lgpl-3.0.html for the license text.
data/Rakefile ADDED
@@ -0,0 +1,21 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'ScrivitoIconBoxWidget'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+
18
+
19
+
20
+ Bundler::GemHelper.install_tasks
21
+
@@ -0,0 +1,32 @@
1
+ (function($, App) {
2
+ 'use strict';
3
+
4
+ $(function() {
5
+
6
+ App.buttonPickerEditor = {
7
+ // set selector for Editor
8
+ selector: '.button-picker',
9
+
10
+ // Function that will be called on scrvito load
11
+ initFunction: function(index, elem) {},
12
+
13
+ // set function triggert on click
14
+ clickFunction: function(cmsField) {
15
+ var text = cmsField.data('picker-content');
16
+
17
+ cmsField.addClass('activated');
18
+ cmsField.siblings().removeClass('activated');
19
+
20
+ return cmsField.scrivito('save', text);
21
+ },
22
+ };
23
+
24
+ // Set click event
25
+ scrivito.on('load', function() {
26
+ return $('body').on('click', buttonPickerEditor.selector, function(event) {
27
+ buttonPickerEditor.clickFunction($(event.target));
28
+ });
29
+ });
30
+ });
31
+
32
+ })(jQuery, this);
@@ -0,0 +1,2 @@
1
+ //= require_self
2
+ //= require_tree ./editing
@@ -0,0 +1,4 @@
1
+ /*
2
+ *= require font-awesome
3
+ *= require icon_box_widget/widget
4
+ */
@@ -0,0 +1,19 @@
1
+ .scrivito_button.button-picker {
2
+ margin: 0 0 4px 0;
3
+ height: auto !important;
4
+ width: 120px !important;
5
+ text-align: left;
6
+ text-shadow: 0 0 2px #222;
7
+ background: #444;
8
+ color: #fff;
9
+ outline: none !important;
10
+ border: none;
11
+ }
12
+
13
+ .scrivito_button.button-picker:hover {
14
+ background: #888;
15
+ }
16
+
17
+ .scrivito_button.button-picker.activated {
18
+ box-shadow: 0 0 0 1px rgba(255,255,255,0.6) inset, 0 0 3px 1px #222
19
+ }
@@ -0,0 +1,54 @@
1
+ .scrivito-icon-box {
2
+ overflow: hidden;
3
+ margin: 10px auto;
4
+ padding: 10px;
5
+ box-sizing: initial;
6
+ -webkit-box-sizing: initial;
7
+ -moz-box-sizing: initial;
8
+ }
9
+
10
+ .scrivito-icon-box.circle,
11
+ .scrivito-icon-box.filled-circle {
12
+ border-radius: 50px;
13
+ text-align: center;
14
+ }
15
+
16
+ .scrivito-icon-box.small {
17
+ width: 50px;
18
+ height: 50px;
19
+ }
20
+
21
+ .scrivito-icon-box.medium {
22
+ width: 60px;
23
+ height: 60px;
24
+ }
25
+
26
+ .scrivito-icon-box.large {
27
+ width: 70px;
28
+ height: 70px;
29
+ }
30
+
31
+ .scrivito-icon-box i {
32
+ margin: 10px;
33
+ }
34
+
35
+ .scrivito-icon-box.small i {
36
+ font-size: 30px;
37
+ height: 30px;
38
+ width: 30px;
39
+ line-height: 30px;
40
+ }
41
+
42
+ .scrivito-icon-box.medium i {
43
+ font-size: 40px;
44
+ height: 40px;
45
+ width: 40px;
46
+ line-height: 40px;
47
+ }
48
+
49
+ .scrivito-icon-box.large i {
50
+ font-size: 50px;
51
+ height: 50px;
52
+ width: 50px;
53
+ line-height: 50px;
54
+ }
@@ -0,0 +1,35 @@
1
+ class IconBoxWidget < Widget
2
+
3
+ def self.colors
4
+ if Rails.configuration.respond_to?(:icon_box_colors)
5
+ Rails.configuration.icon_box_colors.split(" ")
6
+ else
7
+ IconBoxWidget.fallback_colors.split(" ")
8
+ end
9
+ end
10
+
11
+ def self.sizes
12
+ ["small","medium","large"]
13
+ end
14
+
15
+ def self.styles
16
+ ["circle","square","filled-circle","filled-square"]
17
+ end
18
+
19
+ def self.icons
20
+ ["plus","minus","warning","paw","send","car","sliders","tree","bell","certificate","cloud","comment","dashboard","female","male","flag","globe","heart","leaf","plane","refresh","rocket","question","star","unlock"]
21
+ end
22
+
23
+ def background_style
24
+ if self.style && self.style.start_with?('filled')
25
+ "background-color: #{self.background_color}"
26
+ elsif self.style
27
+ "border: 3px solid #{self.background_color}"
28
+ end
29
+ end
30
+
31
+ private
32
+ def self.fallback_colors
33
+ "transparent #000000 #585858 #d9d9d9 #FFFFFF #003380 #6699CC #CC0000"
34
+ end
35
+ end
@@ -0,0 +1,23 @@
1
+ <h4>Icon</h4>
2
+ <div class="alert alert-info">
3
+ <p>More Icons can be found at
4
+ <a href="http://fortawesome.github.io/Font-Awesome/icons/" target="_blank"><strong>Font Awesome</strong></a>.
5
+ </p>
6
+ <p>
7
+ Use only the name of the icon without fa. For Example the icon <i>fa fa-car</i>, use only <strong>car</strong>
8
+ </p>
9
+
10
+ </div>
11
+ <%= render "icon_box_widget/partials/icon_picker", widget: widget, attribute: :icon %>
12
+
13
+ <h4>Size</h4>
14
+ <%= render "icon_box_widget/partials/size_picker", widget: widget, attribute: :size %>
15
+
16
+ <h4>Style</h4>
17
+ <%= render "icon_box_widget/partials/style_picker", widget: widget, attribute: :style %>
18
+
19
+ <h4>Color</h4>
20
+ <%= render "icon_box_widget/partials/color_picker", widget: widget, attribute: :color %>
21
+
22
+ <h4>Background Color</h4>
23
+ <%= render "icon_box_widget/partials/color_picker", widget: widget, attribute: :background_color %>
@@ -0,0 +1,5 @@
1
+ <div class="button-picker-wraper">
2
+ <% IconBoxWidget.colors.each do |color| %>
3
+ <%= scrivito_tag(:button, widget, attribute, class: "scrivito_button button-picker #{widget.send(attribute) == color ? "activated" : ""}", style: "background: #{color}", :"data-picker-content" => color, :"data-editor" => 'button-picker') do %><%= color %><% end %>
4
+ <% end %>
5
+ </div>
@@ -0,0 +1,10 @@
1
+ <% IconBoxWidget.icons.each do |icon| %>
2
+ <%= scrivito_tag(:button, widget, attribute,
3
+ class: "scrivito_button button-picker #{widget.send(attribute) == icon ? "activated" : ""}",
4
+ :"data-picker-content" => icon, :"data-editor" => 'button-picker') do %>
5
+ <i class="fa fa-<%= icon %>"></i> <%= icon %>
6
+ <% end %>
7
+ <% end %>
8
+
9
+ <h4>Different Icon</h4>
10
+ <%= scrivito_tag(:div, widget, attribute) %>
@@ -0,0 +1,5 @@
1
+ <% IconBoxWidget.sizes.each do |size| %>
2
+ <%= scrivito_tag(:button, widget, attribute, class: "scrivito_button button-picker #{widget.send(attribute) == size ? "activated" : ""}", :"data-picker-content" => size, :"data-editor" => 'button-picker') do %>
3
+ <%= size %>
4
+ <% end %>
5
+ <% end %>
@@ -0,0 +1,5 @@
1
+ <% IconBoxWidget.styles.each do |style| %>
2
+ <%= scrivito_tag(:button, widget, attribute, class: "scrivito_button button-picker #{widget.send(attribute) == style ? "activated" : ""}", :"data-picker-content" => style, :"data-editor" => 'button-picker') do %>
3
+ <%= style %>
4
+ <% end %>
5
+ <% end %>
@@ -0,0 +1,3 @@
1
+ <div class="scrivito-icon-box <%= widget.size %> <%= widget.style %>" style="<%= widget.background_style %>">
2
+ <i class="fa fa-<%= widget.icon %>" style="color: <%= widget.color %>"></i>
3
+ </div>
@@ -0,0 +1,13 @@
1
+ <div class="editing-dialog-thumbnail">
2
+ <div class="visualization">
3
+ <span class="icon editing-icon-image"></span>
4
+ </div>
5
+
6
+ <div class="title">
7
+ Icon Box
8
+ </div>
9
+
10
+ <div class="description">
11
+ A Box to display an icon in specified color and shape.
12
+ </div>
13
+ </div>
@@ -0,0 +1,17 @@
1
+ class CreateIconBoxWidget < ::Scrivito::Migration
2
+ def up
3
+ Scrivito::ObjClass.create(
4
+ name: 'IconBoxWidget',
5
+ type: 'publication',
6
+ is_binary: false,
7
+ title: 'Icon Box Widget',
8
+ attributes: [
9
+ {:name=>"icon", :type=>"string"},
10
+ {:name=>"color", :type=>"string"},
11
+ {:name=>"background_color", :type=>"string"},
12
+ {:name=>"size", :type=>"enum", :values=>["small","medium","large"]},
13
+ {:name=>"style", :type=>"enum", :values=>["circle","square","filled-circle","filled-square"]},
14
+ ]
15
+ )
16
+ end
17
+ end
@@ -0,0 +1,7 @@
1
+ # config/initializers/load_config.rb
2
+ APP_CONFIG = YAML.load_file("#{Rails.root}/config/config.yml")
3
+
4
+ # application.rb
5
+ if APP_CONFIG && APP_CONFIG['scrivito_icon_box_widget']['colors']
6
+ Rails.configuration.icon_box_colors = APP_CONFIG['scrivito_icon_box_widget']['colors']
7
+ end
@@ -0,0 +1,7 @@
1
+ class ScrivitoIconBoxWidgetGenerator < Rails::Generators::Base
2
+ source_root(File.expand_path(File.dirname(__FILE__)))
3
+
4
+ def copy_initializer
5
+ copy_file 'scrivito_icon_box_widget.rb', 'config/initializers/scrivito_icon_box_widget.rb'
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ module ScrivitoIconBoxWidget
2
+ class Engine < ::Rails::Engine
3
+ isolate_namespace ScrivitoIconBoxWidget
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ module ScrivitoIconBoxWidget
2
+ VERSION = "1.0.1"
3
+ end
@@ -0,0 +1,4 @@
1
+ require "scrivito_icon_box_widget/engine"
2
+
3
+ module ScrivitoIconBox
4
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :scrivito_icon_box do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,122 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: scrivito_icon_box_widget
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Scrivito
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-11-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: scrivito_sdk
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: font-awesome-rails
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: Widget for scrivito to display an icon in a box.
70
+ email:
71
+ - support@scrivito.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - LICENSE
77
+ - Rakefile
78
+ - app/assets/javascript/icon_box_widget/editing.js
79
+ - app/assets/javascript/icon_box_widget/editing/editors/button_picker.js
80
+ - app/assets/stylesheets/icon_box_widget/application.css
81
+ - app/assets/stylesheets/icon_box_widget/editing.css
82
+ - app/assets/stylesheets/icon_box_widget/widget.css
83
+ - app/models/icon_box_widget.rb
84
+ - app/views/icon_box_widget/details.html.erb
85
+ - app/views/icon_box_widget/partials/_color_picker.html.erb
86
+ - app/views/icon_box_widget/partials/_icon_picker.html.erb
87
+ - app/views/icon_box_widget/partials/_size_picker.html.erb
88
+ - app/views/icon_box_widget/partials/_style_picker.html.erb
89
+ - app/views/icon_box_widget/show.html.erb
90
+ - app/views/icon_box_widget/thumbnail.html.erb
91
+ - cms/migrate/0_create_icon_box_widget.rb
92
+ - lib/generators/scrivito_icon_box_widget.rb
93
+ - lib/generators/scrivito_icon_box_widget_generator.rb
94
+ - lib/scrivito_icon_box_widget.rb
95
+ - lib/scrivito_icon_box_widget/engine.rb
96
+ - lib/scrivito_icon_box_widget/version.rb
97
+ - lib/tasks/scrivito_icon_box_widget_tasks.rake
98
+ homepage: https://www.scrivito.com
99
+ licenses:
100
+ - LGPL-3.0
101
+ metadata: {}
102
+ post_install_message:
103
+ rdoc_options: []
104
+ require_paths:
105
+ - lib
106
+ required_ruby_version: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ required_rubygems_version: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ requirements: []
117
+ rubyforge_project:
118
+ rubygems_version: 2.3.0
119
+ signing_key:
120
+ specification_version: 4
121
+ summary: Widget for scrivito to display an icon in a box.
122
+ test_files: []