scrivito_space_widget 1.3.0 → 1.4.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 900acb2c308cf81d9445b69161694390a24e64d0
4
- data.tar.gz: 6d9e68bdd8f5a52b5394986ad98a6bc27342ae59
3
+ metadata.gz: 5a2e1a2a77c21b6b9b0e3d0c1f1728e455cc1bdc
4
+ data.tar.gz: 61ea7187d3b237cbf7d2de18b199ac7b1c2ed8b7
5
5
  SHA512:
6
- metadata.gz: 80490bb74aaf536cc1f4bbc16f0962e49aec52b79d3c14a2f4690cb3435f4dd3f1e7a55f3d3671a91b6941711744685ccc0a1ec8929286a3bb656912ff5e56fa
7
- data.tar.gz: 0cdc553870a5bb19f4fd418de1ff07e2156349479b341abfb731633bc653822fef55f5f34fd18990e6926f058c74665f34ca0ec0d30f3c072e7fc7116fb62ef4
6
+ metadata.gz: dbce72e780a0b44710480dd8d4e60e1db68cd6c8aafb205f3ca2390519ce7461de4d36db1909187d0135bf236aaa657084f14d49b040431440e796fbf2df889d
7
+ data.tar.gz: 3b0dd0cfe9132ef5e79f8c2101e0dae703ce84febb5e9ad0e1785ba5467017a682d8af08f2d149d609b177e890df77ba684342597da2b958ad2002222cc2154f
@@ -0,0 +1,58 @@
1
+ (function($, App) {
2
+ 'use strict';
3
+
4
+ var ScrivitoHandleDrag = {
5
+ init_function: function(drag_handle) {
6
+ var widget = $(drag_handle).siblings('hr');
7
+ var cms_field = $(drag_handle).prev();
8
+ var clicked = false;
9
+ var pos;
10
+ var cms_field;
11
+ var max_height = parseInt($(drag_handle).data('scrivito-space-widget-max-size'));
12
+ var min_height = parseInt($(drag_handle).data('scrivito-space-widget-min-size'));
13
+ var step_size = parseInt($(drag_handle).data('scrivito-space-widget-step-size'));
14
+ var distance = step_size;
15
+ var to_save = 0;
16
+ var value = widget.height();
17
+ var size_field = $(drag_handle).next();
18
+
19
+ $(drag_handle).on('mousedown', function(event) {
20
+ clicked = true;
21
+ pos = event.pageY;
22
+ });
23
+
24
+ $('body').on('mousemove', function(event) {
25
+ if(clicked) {
26
+ event.preventDefault();
27
+ distance -= event.pageY - pos;
28
+ value += event.pageY - pos;
29
+ if(Math.abs(distance) >= step_size) {
30
+ var n = distance < 0 ? -1 : 1;
31
+ to_save = value - n*(distance%step_size);
32
+ to_save = Math.max(min_height,Math.min(to_save, max_height))
33
+ $(size_field).html(to_save+"px");
34
+ widget.css('height', to_save+"px");
35
+ distance -= step_size;
36
+ }
37
+ pos = event.pageY;
38
+ }
39
+ });
40
+
41
+ $('body').on('mouseup', function() {
42
+ if(clicked) {
43
+ cms_field.scrivito('save', to_save+'px');
44
+ clicked = false;
45
+ }
46
+ });
47
+ }
48
+ }
49
+
50
+
51
+
52
+ scrivito.on('content', function() {
53
+ if(scrivito.in_editable_view()) {
54
+ $.each($('.scrivito-space-widget-handle'), function(i,e) { ScrivitoHandleDrag.init_function(e) });
55
+ }
56
+ });
57
+
58
+ })(jQuery, this);
@@ -0,0 +1,78 @@
1
+ hr.scrivito-space-widget {
2
+ border: 0;
3
+ margin: 0;
4
+ clear: both;
5
+ }
6
+
7
+ hr.scrivito-space-widget.xs-small {
8
+ padding: 5px 0;
9
+ }
10
+
11
+ hr.scrivito-space-widget.small {
12
+ padding: 10px 0;
13
+ }
14
+
15
+ hr.scrivito-space-widget.medium {
16
+ padding: 20px 0;
17
+ }
18
+
19
+ hr.scrivito-space-widget.large {
20
+ padding: 30px 0;
21
+ }
22
+
23
+ hr.scrivito-space-widget.xl-large {
24
+ padding: 40px 0;
25
+ }
26
+
27
+ hr.scrivito-space-widget.xxl-large {
28
+ padding: 50px 0;
29
+ }
30
+
31
+ .scrivito-space-widget-size {
32
+ margin: 0;
33
+ padding: 0;
34
+ font-size: 10px;
35
+ line-height: 10px;
36
+ position: absolute;
37
+ bottom: 35px;
38
+ left: 20px;
39
+ right: 20px;
40
+ text-align: center;
41
+ opacity: 0;
42
+ }
43
+
44
+ .scrivito-space-widget-handle {
45
+ margin: 0;
46
+ padding: 0;
47
+ height: 5px;
48
+ background-color: #4f4f4f;
49
+ position: absolute;
50
+ bottom: 21px;
51
+ opacity: 0;
52
+ left: 20px;
53
+ right: 20px;
54
+ &:before {
55
+ content: '⬍';
56
+ position: absolute;
57
+ margin-left: 50%;
58
+ left: -10px;
59
+ width: 20px;
60
+ height: 20px;
61
+ border-radius: 50%;
62
+ top: -8px;
63
+ background-color: #4f4f4f;
64
+ color: white;
65
+ text-align: center;
66
+ font-weight: bold;
67
+ padding-top: 0.5px;
68
+ font-size: 20px;
69
+ line-height: 20px;
70
+ cursor: ns-resize;
71
+ padding-left: 1px;
72
+ }
73
+ }
74
+
75
+ [data-scrivito-widget-obj-class="SpaceWidget"]:hover .scrivito-space-widget-handle,
76
+ [data-scrivito-widget-obj-class="SpaceWidget"]:hover .scrivito-space-widget-size {
77
+ opacity: 1.0;
78
+ }
@@ -1,6 +1,14 @@
1
1
  class SpaceWidget < Widget
2
2
  attribute :size, :enum, values: ['free','xs-small','small','medium','large','xl-large','xxl-large'], default: 'medium'
3
- attribute :free_size, :string
3
+ attribute :free_size, :string, default: '48px';
4
+
5
+ default_for :free_size do |a,b|
6
+ ScrivitoSpaceWidget.configuration.default
7
+ end
8
+
9
+ default_for :size do |a,b|
10
+ ScrivitoSpaceWidget.configuration.default_free_size
11
+ end
4
12
 
5
13
  def space_free_size
6
14
  size == 'free' ? self.free_size : ''
@@ -1 +1,6 @@
1
- <hr class="space-widget <%= widget.space_size %>" style="height: <%= widget.space_free_size %>">
1
+ <hr class="scrivito-space-widget space-widget <%= widget.space_size %>" style="height: <%= widget.space_free_size %>">
2
+ <% if scrivito_in_editable_view? && widget.size == 'free' %>
3
+ <%= scrivito_tag :div, widget, :free_size, class: 'hidden' %>
4
+ <div class="scrivito-space-widget-handle" data-scrivito-space-widget-max-size="<%= ScrivitoSpaceWidget.configuration.max_size %>" data-scrivito-space-widget-min-size="<%= ScrivitoSpaceWidget.configuration.min_size %>" data-scrivito-space-widget-step-size="<%= ScrivitoSpaceWidget.configuration.step_size %>"></div>
5
+ <div class="scrivito-space-widget-size"><%= widget.free_size %></div>
6
+ <% end %>
@@ -1,4 +1,21 @@
1
1
  require "scrivito_space_widget/engine"
2
+ require "scrivito_space_widget/configuration"
2
3
 
3
- module ScrivitoSpacing
4
+
5
+ module ScrivitoSpaceWidget
6
+ class << self
7
+ attr_writer :configuration
8
+ end
9
+
10
+ def self.configuration
11
+ @configuration ||= Configuration.new
12
+ end
13
+
14
+ def self.reset
15
+ @configuration = Configuration.new
16
+ end
17
+
18
+ def self.configure
19
+ yield(configuration)
20
+ end
4
21
  end
@@ -0,0 +1,17 @@
1
+ module ScrivitoSpaceWidget
2
+ class Configuration
3
+ attr_accessor :max_size
4
+ attr_accessor :min_size
5
+ attr_accessor :step_size
6
+ attr_accessor :default
7
+ attr_accessor :default_free_size
8
+
9
+ def initialize
10
+ @max_size = "700"
11
+ @min_size = "50"
12
+ @step_size = "10"
13
+ @default = "medium"
14
+ @default_free_size = "100px"
15
+ end
16
+ end
17
+ end
@@ -1,3 +1,3 @@
1
1
  module ScrivitoSpaceWidget
2
- VERSION = "1.3.0"
2
+ VERSION = "1.4.0.rc1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scrivito_space_widget
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scrivito
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-21 00:00:00.000000000 Z
11
+ date: 2016-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: scrivito
@@ -34,12 +34,14 @@ files:
34
34
  - LICENSE
35
35
  - Rakefile
36
36
  - app/assets/images/widgets/scrivito_space_widget.png
37
- - app/assets/stylesheets/scrivito_space_widget.css
37
+ - app/assets/javascripts/scrivito_space_widget.js
38
+ - app/assets/stylesheets/scrivito_space_widget.scss
38
39
  - app/models/space_widget.rb
39
40
  - app/views/space_widget/details.html.erb
40
41
  - app/views/space_widget/show.html.erb
41
42
  - app/views/space_widget/thumbnail.html.erb
42
43
  - lib/scrivito_space_widget.rb
44
+ - lib/scrivito_space_widget/configuration.rb
43
45
  - lib/scrivito_space_widget/engine.rb
44
46
  - lib/scrivito_space_widget/version.rb
45
47
  - lib/tasks/scrivito_space_widget_tasks.rake
@@ -59,9 +61,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
59
61
  version: '0'
60
62
  required_rubygems_version: !ruby/object:Gem::Requirement
61
63
  requirements:
62
- - - ">="
64
+ - - ">"
63
65
  - !ruby/object:Gem::Version
64
- version: '0'
66
+ version: 1.3.1
65
67
  requirements: []
66
68
  rubyforge_project:
67
69
  rubygems_version: 2.4.5
@@ -1,29 +0,0 @@
1
- hr.space-widget {
2
- border: 0;
3
- margin: 0;
4
- clear: both;
5
- }
6
-
7
- hr.space-widget.xs-small {
8
- padding: 5px 0;
9
- }
10
-
11
- hr.space-widget.small {
12
- padding: 10px 0;
13
- }
14
-
15
- hr.space-widget.medium {
16
- padding: 20px 0;
17
- }
18
-
19
- hr.space-widget.large {
20
- padding: 30px 0;
21
- }
22
-
23
- hr.space-widget.xl-large {
24
- padding: 40px 0;
25
- }
26
-
27
- hr.space-widget.xxl-large {
28
- padding: 50px 0;
29
- }