scrivito_space_widget 1.3.0 → 1.4.0.rc1

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 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
- }