promethee 1.0.12 → 1.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/promethee-editor/_mover.sass +27 -20
  3. data/app/assets/stylesheets/promethee-editor/_preview.sass +23 -18
  4. data/app/views/promethee/_edit.html.erb +97 -65
  5. data/app/views/promethee/_localize.html.erb +8 -4
  6. data/app/views/promethee/_show.html.erb +2 -2
  7. data/app/views/promethee/{partials/_mover.html.erb → edit/_move.html.erb} +20 -18
  8. data/app/views/promethee/edit/_preview.html.erb +36 -0
  9. data/app/views/promethee/edit/_write.html.erb +21 -0
  10. data/app/views/promethee/edit/move/_component.html.erb +3 -0
  11. data/app/views/promethee/edit/move/_components.html.erb +20 -0
  12. data/app/views/promethee/edit/move/component/_column.html.erb +13 -0
  13. data/app/views/promethee/edit/move/component/_image.html.erb +3 -0
  14. data/app/views/promethee/edit/move/component/_row.html.erb +6 -0
  15. data/app/views/promethee/edit/move/component/_text.html.erb +3 -0
  16. data/app/views/promethee/edit/move/component/_video.html.erb +8 -0
  17. data/app/views/promethee/edit/shared/_navbar.html.erb +31 -0
  18. data/app/views/promethee/{partials/_adder.html.erb → edit/write/_add_button.html.erb} +32 -23
  19. data/app/views/promethee/edit/write/_component.html.erb +3 -0
  20. data/app/views/promethee/edit/write/_components.html.erb +7 -0
  21. data/app/views/promethee/edit/write/_toolbar.html.erb +6 -0
  22. data/app/views/promethee/edit/write/component/_column.html.erb +34 -0
  23. data/app/views/promethee/{components/_image_edit.html.erb → edit/write/component/_image.html.erb} +2 -6
  24. data/app/views/promethee/{components/_row_edit.html.erb → edit/write/component/_row.html.erb} +3 -10
  25. data/app/views/promethee/{components/_text_edit.html.erb → edit/write/component/_text.html.erb} +3 -19
  26. data/app/views/promethee/{components/_video_edit.html.erb → edit/write/component/_video.html.erb} +3 -12
  27. data/app/views/promethee/localize/component/_column.html.erb +11 -0
  28. data/app/views/promethee/localize/component/_image.html.erb +3 -0
  29. data/app/views/promethee/localize/component/_row.html.erb +3 -0
  30. data/app/views/promethee/localize/component/_text.html.erb +3 -0
  31. data/app/views/promethee/localize/component/_video.html.erb +3 -0
  32. data/app/views/promethee/show/_component.html.erb +1 -0
  33. data/app/views/promethee/show/_components.html.erb +3 -0
  34. data/app/views/promethee/{components → show/component}/_column.html.erb +1 -2
  35. data/app/views/promethee/{components → show/component}/_image.html.erb +0 -0
  36. data/app/views/promethee/show/component/_row.html.erb +3 -0
  37. data/app/views/promethee/{components → show/component}/_text.html.erb +0 -0
  38. data/app/views/promethee/{components → show/component}/_video.html.erb +0 -0
  39. data/lib/promethee/rails/version.rb +1 -1
  40. metadata +34 -23
  41. data/app/views/promethee/components/_children.html.erb +0 -4
  42. data/app/views/promethee/components/_children_edit.html.erb +0 -7
  43. data/app/views/promethee/components/_column_edit.html.erb +0 -42
  44. data/app/views/promethee/components/_page.html.erb +0 -1
  45. data/app/views/promethee/components/_page_edit.html.erb +0 -10
  46. data/app/views/promethee/components/_row.html.erb +0 -3
  47. data/app/views/promethee/partials/_include_components.html.erb +0 -9
  48. data/app/views/promethee/partials/_navbar.html.erb +0 -26
  49. data/app/views/promethee/partials/_page.html.erb +0 -6
  50. data/app/views/promethee/partials/_preview.html.erb +0 -12
  51. data/app/views/promethee/partials/_toolbar_buttons.html.erb +0 -21
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7fe31ec0d7adc409f49fbf90da07df2a23d2f0d2
4
- data.tar.gz: 678e2427463e8ff0889d9fd97b32e194c0f29160
3
+ metadata.gz: 015e43dd4219428e600f3d92561e7f3278337d69
4
+ data.tar.gz: 8ad05e21264ef4945f3a811cb620932fbeeb4b97
5
5
  SHA512:
6
- metadata.gz: bc907edd671068955c40ad3ef09a40a034a3a5fe47cba2fb65887d7155a0a4980fb25777637b0524515696f72a69fcccd6922f16ce2dc8702337f38654a2cfd6
7
- data.tar.gz: 6a2e2276aadbdda5316409d5abaac12c3fbe41e889009c9c47dd7f29f13c4f3611c22e6185003a67bfa49e8566588b70e3e94af64b810a4c33b13ccc9d4b52bf
6
+ metadata.gz: 6ecbd712471d0692f881983a089d3b9d11ab0d86c6defdaa457f0fa846d5770d276063e41bf4615f1663a6c4c65206b9f8a1852311b3968b96805703e9df435f
7
+ data.tar.gz: 1842b06180cb6df6c14e8e1a2e7bc145e1ffbdf46555f879960b704ffb867854ed2df8e3cc3a1578834c075bdfe89c50f98dcbbd284bd463562a9df08df0625d
@@ -1,4 +1,4 @@
1
- .promethee-editor__mover
1
+ .promethee__move
2
2
  transform-origin: top
3
3
  transition: transform ease-out 0.5s
4
4
  transform: scale(0.3)
@@ -17,46 +17,53 @@
17
17
  &--row
18
18
  padding-left: 10px
19
19
  &--droppable
20
+ margin: 10px 0
20
21
  position: relative
21
- background: white
22
- width: 200px
23
- height: 50px
22
+ border-radius: 6px
23
+ border: 5px solid transparent
24
+ width: 400px
25
+ height: 40px
26
+ transition: .2s
24
27
  &--hidden
25
28
  visibility: hidden
29
+ pointer-events: none
30
+
26
31
  &--row
27
- display: none
32
+ &:not(&--first)
33
+ visibility: hidden
34
+ pointer-events: none
35
+
28
36
  &--first
29
- display: block
30
37
  position: absolute
31
38
  top: 0
32
39
  left: -25px
33
- width: 50px
34
- height: 200px
40
+ width: 40px
41
+ height: 400px
35
42
  &--inside-column
36
43
  position: absolute
37
44
  top: 0
38
45
  right: -25px
39
- width: 50px
40
- height: 200px
46
+ width: 40px
47
+ height: 400px
41
48
  &--dragged
42
49
  opacity: 0.25
43
- .ui-droppable-hover
44
- opacity: 1 !important
45
- margin-bottom: 0
46
50
  .ui-droppable-active
47
- background: $promethee-color
48
- opacity: 0.5
51
+ border-color: $promethee-color
52
+
53
+ .ui-droppable-hover
54
+ background: transparentize($promethee-color, .6)
55
+
49
56
  // By default, nothing is dropped in rows
50
57
  &--dragging
51
- .promethee-editor__mover--droppable.promethee-editor__mover--droppable--row
58
+ .promethee__move--droppable.promethee__move--droppable--row
52
59
  display: none
53
60
  // Except for columns, which can be dropped only on rows
54
- &--dragging.promethee-editor__mover--dragging--column
55
- .promethee-editor__mover--droppable
61
+ &--dragging.promethee__move--dragging--column
62
+ .promethee__move--droppable
56
63
  display: none
57
64
  // It's a little specific, columns can be dropped on rows "first droppable", or on columns "inside droppables"
58
- &.promethee-editor__mover--droppable.promethee-editor__mover--droppable--row--inside-column,
59
- &.promethee-editor__mover--droppable.promethee-editor__mover--droppable--row--first
65
+ &.promethee__move--droppable.promethee__move--droppable--row--inside-column,
66
+ &.promethee__move--droppable.promethee__move--droppable--row--first
60
67
  display: block
61
68
  .video-neutralizing-overlay
62
69
  background: transparent
@@ -1,25 +1,30 @@
1
1
  .promethee-editor__preview
2
+ background: #000
2
3
  position: relative
3
4
  height: calc(100% - 52px)
4
5
  min-height: 500px
5
- background: black
6
6
  margin-top: -20px
7
- &--frame
8
- transition: width 1s, left 1s, margin 1s
7
+
8
+ &-frame
9
+ top: 0
10
+ left: 50%
11
+ transition: width .7s
9
12
  position: absolute
10
13
  height: 100%
11
- &--mobile
12
- .promethee-editor__preview--frame
13
- left: 50%
14
- margin-left: -187px
15
- width: 375px
16
- &--tablet
17
- .promethee-editor__preview--frame
18
- left: 50%
19
- margin-left: -384px
20
- width: 768px
21
- &--desktop
22
- .promethee-editor__preview--frame
23
- width: 100%
24
- left: 0
25
- right: 0
14
+ transform: translate3d(-50%, 0, 0)
15
+
16
+ &-loader
17
+ left: 50%
18
+ margin: 100px 0
19
+ position: absolute
20
+ color: #fff
21
+ transform: translateX(-50%)
22
+
23
+ &--mobile &-frame
24
+ width: 375px
25
+
26
+ &--tablet &-frame
27
+ width: 768px
28
+
29
+ &--desktop &-frame
30
+ width: 100%
@@ -8,6 +8,9 @@ promethee_data = Promethee::Data.new master_data
8
8
  .module('Promethee', ['summernote', 'ngAnimate'])
9
9
  .value('data', <%= promethee_data.to_json.html_safe %>)
10
10
  .value('definitions', [])
11
+ .config(function($rootScopeProvider) {
12
+ $rootScopeProvider.digestTtl(20);
13
+ })
11
14
  .filter('htmlSafe', ['$sce', function($sce) {
12
15
  return function(val) {
13
16
  return $sce.trustAsHtml(val);
@@ -28,7 +31,7 @@ promethee_data = Promethee::Data.new master_data
28
31
  promethee.controller('PrometheeController', ['data', '$scope', 'definitions', '$http', function(data, $scope, definitions, $http) {
29
32
 
30
33
  // Data (TODO use Adder and probably page definition to init)
31
- if (data === null || data === '') {
34
+ if(data === null || data === '') {
32
35
  data = {
33
36
  id: '',
34
37
  type: 'page',
@@ -36,66 +39,82 @@ promethee_data = Promethee::Data.new master_data
36
39
  children: []
37
40
  };
38
41
  }
39
- $scope.data = data;
40
42
 
41
- // Preview modes
42
- $scope.fullscreen = false;
43
- $scope.move = false;
44
- $scope.preview = false;
45
- $scope.pageHidden = false;
46
- $scope.previewMode = 'desktop';
43
+ $scope.data = $scope.component = data;
47
44
 
48
- var moveTimeout;
49
-
50
- $scope.enableMove = function() {
51
- clearTimeout(moveTimeout);
52
- this.move = true;
45
+ var State = function(value) {
46
+ this.default = this.current = value;
53
47
  };
54
48
 
55
- $scope.disableMove = function() {
56
- var self = this;
49
+ State.prototype = {
50
+ get enabled() {
51
+ return !!this.current;
52
+ },
57
53
 
58
- this.pageHidden = true;
59
- this.move = false;
60
- moveTimeout = setTimeout(function() {
61
- self.pageHidden = false;
62
- self.$apply();
63
- }, 500);
64
- };
54
+ get disabled() {
55
+ return !this.enabled;
56
+ },
65
57
 
66
- $scope.toggleMove = function() {
67
- this.move ? this.disableMove() : this.enableMove();
68
- };
58
+ enable: function() {
59
+ this.set(true);
60
+ },
69
61
 
70
- $scope.enablePreview = function() {
71
- this.preview = true;
72
- this.move = false;
73
-
74
- var form = document.createElement('form');
75
- document.body.appendChild(form);
76
- form.method = 'POST';
77
- form.action = <%= promethee_preview_path.to_json.html_safe %>;
78
- form.target = 'preview';
79
- var input = document.createElement('input');
80
- input.type = 'text';
81
- input.value = JSON.stringify(data);
82
- input.name = 'data';
83
- form.appendChild(input);
84
- form.submit();
85
- document.body.removeChild(form);
86
- }
62
+ disable: function() {
63
+ this.set(false);
64
+ },
87
65
 
88
- $scope.disablePreview = function() {
89
- this.preview = false;
90
- }
66
+ is: function(state) {
67
+ return this.current === state;
68
+ },
91
69
 
92
- $scope.enableFullscreen = function() {
93
- this.fullscreen = true;
94
- }
70
+ set: function(state) {
71
+ this.current = state
72
+ },
95
73
 
96
- $scope.disableFullscreen = function() {
97
- this.fullscreen = false;
98
- }
74
+ exit: function(state) {
75
+ if(this.is(state)) this.current = this.default;
76
+ },
77
+
78
+ toggle: function(state) {
79
+ if(arguments.length === 0) state = true;
80
+ this.is(state) ? this.exit(state) : this.set(state)
81
+ }
82
+ };
83
+
84
+ // Application states
85
+ $scope.action = new State('write');
86
+ $scope.preview = new State('desktop');
87
+ $scope.fullscreen = new State(false);
88
+
89
+ // $scope.enablePreview = function() {
90
+ // this.preview = true;
91
+ // this.move = false;
92
+
93
+ // var form = document.createElement('form');
94
+ // document.body.appendChild(form);
95
+ // form.method = 'POST';
96
+ // form.action = <%= promethee_preview_path.to_json.html_safe %>;
97
+ // form.target = 'preview';
98
+ // var input = document.createElement('input');
99
+ // input.type = 'text';
100
+ // input.value = JSON.stringify(data);
101
+ // input.name = 'data';
102
+ // form.appendChild(input);
103
+ // form.submit();
104
+ // document.body.removeChild(form);
105
+ // }
106
+
107
+ // $scope.disablePreview = function() {
108
+ // this.preview = false;
109
+ // }
110
+
111
+ // $scope.enableFullscreen = function() {
112
+ // this.fullscreen = true;
113
+ // }
114
+
115
+ // $scope.disableFullscreen = function() {
116
+ // this.fullscreen = false;
117
+ // }
99
118
 
100
119
  $scope.remove = function(component, components) {
101
120
  var index = components.indexOf(component);
@@ -106,20 +125,33 @@ promethee_data = Promethee::Data.new master_data
106
125
 
107
126
  </script>
108
127
 
109
- <div id="promethee"
110
- class="promethee-editor"
111
- ng-app="Promethee"
112
- ng-controller="PrometheeController as prometheeController"
113
- ng-class="{
114
- 'promethee-editor--fullscreen': fullscreen,
115
- 'promethee-editor--move': move,
116
- 'promethee-editor--preview': preview
117
- }">
128
+ <div
129
+ id="promethee"
130
+ ng-class="{
131
+ 'promethee-editor': true,
132
+ 'promethee-editor--fullscreen': fullscreen.enabled
133
+ }"
134
+ ng-app="Promethee"
135
+ ng-controller="PrometheeController as prometheeController"
136
+ >
137
+ <%= render 'promethee/edit/shared/navbar' %>
138
+
139
+ <%= render 'promethee/edit/write' %>
140
+ <%= render 'promethee/edit/move' %>
141
+ <%= render 'promethee/edit/preview' %>
142
+
118
143
  <input type="hidden" name="page[data]" id="page_data" value="{{data}}" />
119
- <%= render 'promethee/partials/include_components' %>
120
- <%= render 'promethee/partials/navbar' %>
121
- <%= render 'promethee/partials/preview' %>
122
- <%= render 'promethee/partials/mover' %>
123
- <%= render 'promethee/partials/page' %>
144
+
145
+ <div ng-show="action.is('write')" class="promethee__write">
146
+ <ng-include src="'promethee/write'"></ng-include>
147
+ </div>
148
+
149
+ <div ng-show="action.is('move')" class="promethee__move">
150
+ <ng-include src="'promethee/move'"></ng-include>
151
+ </div>
152
+
153
+ <div ng-show="action.is('preview')" class="promethee__preview">
154
+ <ng-include src="'promethee/preview'"></ng-include>
155
+ </div>
124
156
  </div>
125
157
 
@@ -14,7 +14,7 @@ promethee_data = Promethee::Data.new master_data, localization_data: localizatio
14
14
 
15
15
  prometheeLocalizer.controller('PrometheeLocalizerController', ['$scope', 'data', function($scope, data) {
16
16
 
17
- $scope.data = data;
17
+ $scope.data = $scope.component = data;
18
18
 
19
19
  $scope.options = {
20
20
  toolbar: [
@@ -37,8 +37,12 @@ promethee_data = Promethee::Data.new master_data, localization_data: localizatio
37
37
  ng-app="PrometheeLocalizer"
38
38
  ng-controller="PrometheeLocalizerController as prometheeLocalizerController">
39
39
  <input type="hidden" name="page[data]" id="page_data" value="{{data}}" />
40
- <%= render 'promethee/partials/include_components' %>
41
- <div ng-repeat="component in data.components">
42
- <ng-include src="'promethee/components/' + component.type + '/localize'"></ng-include>
40
+
41
+ <% Dir[__dir__ + '/localize/component/*.html.erb'].map do |file| %>
42
+ <%= render "promethee/localize/component/#{File.basename(file, '.html.erb').sub(/\A_/, '')}" %>
43
+ <% end %>
44
+
45
+ <div ng-repeat="component in component.children">
46
+ <ng-include src="'promethee/localize/components'"></ng-include>
43
47
  </div>
44
48
  </div>
@@ -1,7 +1,7 @@
1
1
  <%
2
- promethee_data = Promethee::Data.new master_data, localization_data: localization_data
2
+ promethee_data = Promethee::Data.new(master_data, localization_data: localization_data).to_h
3
3
  %>
4
4
 
5
5
  <div class="promethee">
6
- <%= render 'promethee/components/page', page: promethee_data.to_h %>
6
+ <%= render 'promethee/show/components', components: promethee_data[:children] %>
7
7
  </div>
@@ -1,19 +1,25 @@
1
- <script type="text/ng-template" id="promethee/partials/mover">
1
+ <%= render 'promethee/edit/move/component' %>
2
+ <%= render 'promethee/edit/move/components' %>
3
+ <% Dir[__dir__ + '/move/component/*.html.erb'].map do |file| %>
4
+ <%= render "promethee/edit/move/component/#{File.basename(file, '.html.erb').sub(/\A_/, '')}" %>
5
+ <% end %>
6
+
7
+ <script type="text/ng-template" id="promethee/move">
2
8
  <div ng-init="components = component.children; type = component.type"
3
- class="promethee-editor__mover--list">
4
- <div class="promethee-editor__mover--droppable promethee-editor__mover--droppable--{{type}} promethee-editor__mover--droppable--{{type}}--first"
9
+ class="promethee__move--list">
10
+ <div class="promethee__move--droppable promethee__move--droppable--{{type}} promethee__move--droppable--{{type}}--first"
5
11
  droppable
6
12
  data-index="0"
7
13
  >
8
14
  </div>
9
15
  <div ng-repeat="component in components"
10
- class="promethee-editor__mover--draggable promethee-editor__mover--draggable--{{type}}"
16
+ class="promethee__move--draggable promethee__move--draggable--{{type}}"
11
17
  draggable
12
18
  data-index="{{$index}}"
13
19
  data-type="{{component.type}}"
14
20
  >
15
- <ng-include src="'promethee/components/' + component.type + '/move'"></ng-include>
16
- <div class="promethee-editor__mover--droppable promethee-editor__mover--droppable--{{type}}"
21
+ <ng-include src="'promethee/move/component/' + component.type"></ng-include>
22
+ <div class="promethee__move--droppable promethee__move--droppable--{{type}}"
17
23
  droppable
18
24
  data-index="{{$index+1}}"
19
25
  data-type="{{type}}"
@@ -23,10 +29,6 @@
23
29
  </div>
24
30
  </script>
25
31
 
26
- <div class="promethee-editor__mover" ng-show="move || moverVisible" ng-init="component = data">
27
- <ng-include src="'promethee/partials/mover'"></ng-include>
28
- </div>
29
-
30
32
  <script type="text/javascript">
31
33
  promethee
32
34
  .directive('draggable', function() {
@@ -40,25 +42,25 @@
40
42
  refreshPositions: true,
41
43
  start: function() {
42
44
  var $elementDragged = $(element[0]);
43
- $elementDragged.addClass('promethee-editor__mover--dragged');
45
+ $elementDragged.addClass('promethee__move--dragged');
44
46
  var type = $elementDragged.data('type');
45
- $('.promethee-editor__mover').addClass('promethee-editor__mover--dragging promethee-editor__mover--dragging--' + type);
47
+ $('.promethee__move').addClass('promethee__move--dragging promethee__move--dragging--' + type);
46
48
 
47
49
  // The droppable zone immediately before has no use, it would put the object at the same position
48
- var $droppableBefore = $elementDragged.prev('.promethee-editor__mover--draggable').find('.promethee-editor__mover--droppable').last();
50
+ var $droppableBefore = $elementDragged.prev('.promethee__move--draggable').find('.promethee__move--droppable').last();
49
51
  if ($droppableBefore.length === 0) {
50
52
  // For the first child, we look for the previous droppable zone
51
- $droppableBefore = $elementDragged.prev('.promethee-editor__mover--droppable');
53
+ $droppableBefore = $elementDragged.prev('.promethee__move--droppable');
52
54
  }
53
- $droppableBefore.addClass('promethee-editor__mover--droppable--hidden');
55
+ $droppableBefore.addClass('promethee__move--droppable--hidden');
54
56
  },
55
57
  stop: function() {
56
58
  var $elementDragged = $(element[0]);
57
- $elementDragged.removeClass('promethee-editor__mover--dragged');
59
+ $elementDragged.removeClass('promethee__move--dragged');
58
60
  var type = $elementDragged.data('type');
59
- $('.promethee-editor__mover').removeClass('promethee-editor__mover--dragging promethee-editor__mover--dragging--' + type);
61
+ $('.promethee__move').removeClass('promethee__move--dragging promethee__move--dragging--' + type);
60
62
 
61
- $('.promethee-editor__mover--droppable').removeClass('promethee-editor__mover--droppable--hidden');
63
+ $('.promethee__move--droppable').removeClass('promethee__move--droppable--hidden');
62
64
  },
63
65
  helper: function( event ) {
64
66
  return $( '<div></div>' );
@@ -0,0 +1,36 @@
1
+ <script type="text/ng-template" id="promethee/preview">
2
+ <div ng-controller="PreviewController" class="promethee-editor__preview promethee-editor__preview--{{preview.current}}">
3
+
4
+ <i class="fa fa-refresh fa-spin fa-3x fa-fw promethee-editor__preview-loader"></i>
5
+
6
+ <iframe
7
+ class="promethee-editor__preview-frame"
8
+ name="preview"
9
+ sandbox="allow-scripts"
10
+ frameBorder="0"
11
+ >
12
+ </iframe>
13
+ </div>
14
+ </script>
15
+
16
+ <script>
17
+ promethee.controller('PreviewController', ['data', '$scope', function(data, $scope) {
18
+ var update = function() {
19
+ var form = document.createElement('form');
20
+ form.method = 'post';
21
+ form.action = <%= promethee_preview_path.to_json.html_safe %>;
22
+ form.target = 'preview';
23
+
24
+ var input = document.createElement('input');
25
+ input.name = 'data';
26
+ input.value = JSON.stringify($scope.data);
27
+
28
+ form.appendChild(input);
29
+ form.submit();
30
+ };
31
+
32
+ $scope.$watch('action.current', function(newValue, oldValue) {
33
+ if(newValue !== oldValue && newValue == 'preview') update();
34
+ });
35
+ }]);
36
+ </script>
@@ -0,0 +1,21 @@
1
+ <%= render 'promethee/edit/write/add_button' %>
2
+ <%= render 'promethee/edit/write/toolbar' %>
3
+ <%= render 'promethee/edit/write/component' %>
4
+ <%= render 'promethee/edit/write/components' %>
5
+ <% Dir[__dir__ + '/write/component/_*.html.erb'].map do |file| %>
6
+ <%= render "promethee/edit/write/component/#{File.basename(file, '.html.erb').sub(/\A_/, '')}" %>
7
+ <% end %>
8
+
9
+ <script type="text/ng-template" id="promethee/write">
10
+ <div class="promethee-editor__page">
11
+ <div ng-class="{ 'container': fullscreen }">
12
+ <div
13
+ ng-init="component = component || data"
14
+ class="promethee-editor__component promethee-editor__component--page"
15
+ >
16
+ <ng-include src="'promethee/write/components'"></ng-include>
17
+ </div>
18
+ </div>
19
+ <ng-include src="'promethee/write/add_button'"></ng-include>
20
+ </div>
21
+ </script>
@@ -0,0 +1,3 @@
1
+ <script type="text/ng-template" id="promethee/move/component">
2
+ <ng-include src="'promethee/move/component/' + component.type"></ng-include>
3
+ </script>
@@ -0,0 +1,20 @@
1
+ <script type="text/ng-template" id="promethee/move/components">
2
+ <div ng-init="type = component.type; components = component.children">
3
+ <div
4
+ ng-repeat="component in components"
5
+ class="promethee__move--draggable promethee__move--draggable--{{type}}"
6
+ draggable
7
+ data-index="{{$index}}"
8
+ data-type="{{component.type}}"
9
+ >
10
+ <ng-include src="'promethee/move/component'"></ng-include>
11
+ <div
12
+ class="promethee__move--droppable promethee__move--droppable--{{type}}"
13
+ droppable
14
+ data-index="{{$index+1}}"
15
+ data-type="{{type}}"
16
+ >
17
+ </div>
18
+ </div>
19
+ </div>
20
+ </script>
@@ -0,0 +1,13 @@
1
+ <script type="text/ng-template" id="promethee/move/component/column">
2
+ <div class="col col-md-{{component.attributes.size}} col-md-offset-{{component.attributes.offset}}">
3
+ <h1>Column</h1>
4
+ <ng-include src="'promethee/move'"></ng-include>
5
+ <div class=" promethee__move--droppable
6
+ promethee__move--droppable--row
7
+ promethee__move--droppable--row--inside-column"
8
+ droppable
9
+ data-index="{{$index+1}}"
10
+ data-type="{{type}}"
11
+ >
12
+ </div>
13
+ </script>
@@ -0,0 +1,3 @@
1
+ <script type="text/ng-template" id="promethee/move/component/image">
2
+ <img ng-src="{{component.attributes.src}}" class="img-responsive">
3
+ </script>
@@ -0,0 +1,6 @@
1
+ <script type="text/ng-template" id="promethee/move/component/row">
2
+ <h1>Row</h1>
3
+ <div class="row">
4
+ <ng-include src="'promethee/move'"></ng-include>
5
+ </div>
6
+ </script>
@@ -0,0 +1,3 @@
1
+ <script type="text/ng-template" id="promethee/move/component/text">
2
+ <div ng-bind-html="component.attributes.body | htmlSafe"></div>
3
+ </script>
@@ -0,0 +1,8 @@
1
+ <script type="text/ng-template" id="promethee/move/component/video">
2
+ <div ng-controller="VideoController">
3
+ <div class="embed-responsive embed-responsive-16by9">
4
+ <iframe ng-if="embed" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="allowfullscreen" ng-src="{{embed | urlSafe}}"></iframe>
5
+ <div class="video-neutralizing-overlay"></div>
6
+ </div>
7
+ </div>
8
+ </script>
@@ -0,0 +1,31 @@
1
+ <nav class="navbar navbar-default promethee-editor__navbar">
2
+ <div class="container-fluid">
3
+ <div class="navbar-header promethee-editor__icon">
4
+ <div class="navbar-brand"><%= File.read(__dir__ + '/../../../../assets/images/icon-promethee.svg').html_safe %></div>
5
+ </div>
6
+ <div id="navbar">
7
+ <ul class="nav navbar-nav navbar-right">
8
+ <li ng-click="action.toggle('move')" ng-class="{active: action.is('move')}"><a><%= fa_icon :arrows %></a></li>
9
+
10
+ <li
11
+ ng-show="action.is('preview')"
12
+ ng-repeat="device in ['desktop', 'tablet', 'mobile']"
13
+ ng-click="preview.set(device)"
14
+ ng-class="{active: preview.is(device)}"
15
+ >
16
+ <a><i class="fa fa-{{device}}"></i></a>
17
+ </li>
18
+
19
+ <li ng-click="action.toggle('preview')" ng-class="{active: action.is('preview')}">
20
+ <a ng-hide="action.is('preview')"><%= fa_icon :eye %></a>
21
+ <a ng-show="action.is('preview')"><%= fa_icon 'eye-slash' %></a>
22
+ </li>
23
+
24
+ <li ng-click="fullscreen.toggle()" ng-class="{active: fullscreen.enabled}">
25
+ <a ng-show="fullscreen.disabled"><%= fa_icon :expand %></a>
26
+ <a ng-show="fullscreen.enabled"><%= fa_icon :compress %></a>
27
+ </li>
28
+ </ul>
29
+ </div>
30
+ </div>
31
+ </nav>
@@ -1,25 +1,33 @@
1
- <span type="button"
2
- class="btn btn-default btn-block"
3
- ng-click="addComponentTo(data.children)"
4
- ng-hide="preview"
5
- style="margin-bottom: 6px">Add component</span>
1
+ <script type="text/ng-template" id="promethee/write/add_button">
2
+ <span
3
+ type="button"
4
+ class="btn btn-default btn-block"
5
+ ng-click="addComponentTo(data.children)"
6
+ ng-hide="preview"
7
+ style="margin-bottom: 6px"
8
+ >
9
+ Add component
10
+ </span>
6
11
 
7
- <div class="promethee-editor__adder" ng-controller="AdderController">
8
- <div class="modal fade in" tabindex="-1" role="dialog" style="display: {{adding ? 'block' : 'none'}}">
9
- <div class="modal-dialog modal-lg" role="document">
10
- <div class="modal-content">
11
- <div class="modal-header">
12
- <button type="button" class="close" ng-click="close()"><span aria-hidden="true">&times;</span></button>
13
- <h4 class="modal-title">Select component</h4>
14
- </div>
15
- <div class="modal-body">
16
- <div class="row">
17
- <div ng-repeat="definition in definitions"
18
- ng-click="pushComponent(definition)"
19
- class="col-md-3">
20
- <div class="thumbnail">
21
- <img ng-src="{{definition.thumb}}" class="img-responsive">
22
- <h4>{{definition.name}}</h4>
12
+ <div class="promethee-editor__adder" ng-controller="AdderController">
13
+ <div class="modal fade in" tabindex="-1" role="dialog" style="display: {{adding ? 'block' : 'none'}}">
14
+ <div class="modal-dialog modal-lg" role="document">
15
+ <div class="modal-content">
16
+ <div class="modal-header">
17
+ <button type="button" class="close" ng-click="close()"><span aria-hidden="true">&times;</span></button>
18
+ <h4 class="modal-title">Select component</h4>
19
+ </div>
20
+ <div class="modal-body">
21
+ <div class="row">
22
+ <div
23
+ ng-repeat="definition in definitions"
24
+ ng-click="pushComponent(definition)"
25
+ class="col-md-3"
26
+ >
27
+ <div class="thumbnail">
28
+ <img ng-src="{{definition.thumb}}" class="img-responsive">
29
+ <h4>{{definition.name}}</h4>
30
+ </div>
23
31
  </div>
24
32
  </div>
25
33
  </div>
@@ -27,7 +35,8 @@
27
35
  </div>
28
36
  </div>
29
37
  </div>
30
- </div>
38
+ </script>
39
+
31
40
  <script type="text/javascript">
32
41
  promethee.controller('AdderController', ['$scope', '$rootScope', 'definitions', function($scope, $rootScope, definitions) {
33
42
 
@@ -61,4 +70,4 @@
61
70
  };
62
71
 
63
72
  }]);
64
- </script>
73
+ </script>
@@ -0,0 +1,3 @@
1
+ <script type="text/ng-template" id="promethee/write/component">
2
+ <ng-include src="'promethee/write/component/' + component.type"></ng-include>
3
+ </script>
@@ -0,0 +1,7 @@
1
+ <script type="text/ng-template" id="promethee/write/components">
2
+ <div ng-init="components = component.children">
3
+ <div ng-repeat="component in components">
4
+ <ng-include src="'promethee/write/component'"></ng-include>
5
+ </div>
6
+ </div>
7
+ </script>
@@ -0,0 +1,6 @@
1
+ <script type="text/ng-template" id="promethee/write/toolbar">
2
+ <div class="pull-right">
3
+ <span ng-click="editing = !editing" class="promethee-editor__button"><%= fa_icon 'pencil-square' %></span>
4
+ <span ng-click="remove(component, components)" class="promethee-editor__button"><%= fa_icon 'window-close' %></span>
5
+ </div>
6
+ </script>
@@ -0,0 +1,34 @@
1
+ <script type="text/ng-template" id="promethee/write/component/column">
2
+ <div class="
3
+ col
4
+ col-md-{{component.attributes.size}}
5
+ col-md-offset-{{component.attributes.offset}}
6
+ promethee-editor__component
7
+ promethee-editor__component--column"
8
+ >
9
+ <div class="promethee-editor__toolbar">
10
+ Column
11
+ <ng-include src="'promethee/write/toolbar'"></ng-include>
12
+ </div>
13
+ <div ng-show="editing" class="promethee-editor__wrapper">
14
+ <div class="form-group">
15
+ <label class="label-control">Size</label>
16
+ <input ng-model="component.attributes.size" class="form-control" type="number"/>
17
+ </div>
18
+ <div class="form-group">
19
+ <label class="label-control">Offset</label>
20
+ <input ng-model="component.attributes.offset" class="form-control" type="number"/>
21
+ </div>
22
+ </div>
23
+
24
+ <ng-include src="'promethee/write/components'"></ng-include>
25
+
26
+ <span
27
+ type="button"
28
+ class="btn btn-default btn-block"
29
+ ng-click="addComponentTo(component.children)"
30
+ >
31
+ Add component
32
+ </span>
33
+ </div>
34
+ </script>
@@ -1,8 +1,8 @@
1
- <script type="text/ng-template" id="promethee/components/image">
1
+ <script type="text/ng-template" id="promethee/write/component/image">
2
2
  <div ng-controller="ImageController" class="promethee-editor__component promethee-editor__component--image">
3
3
  <div class="promethee-editor__toolbar">
4
4
  Image
5
- <%= render 'promethee/partials/toolbar_buttons' %>
5
+ <ng-include src="'promethee/write/toolbar'"></ng-include>
6
6
  </div>
7
7
  <div ng-show="editing" class="promethee-editor__wrapper">
8
8
  <div class="form-group">
@@ -23,10 +23,6 @@
23
23
  </div>
24
24
  </script>
25
25
 
26
- <script type="text/ng-template" id="promethee/components/image/move">
27
- <img ng-src="{{component.attributes.src}}" class="img-responsive">
28
- </script>
29
-
30
26
  <script>
31
27
  angular.injector(['ng', 'Promethee']).get('definitions').push({
32
28
  name: 'Image',
@@ -1,25 +1,18 @@
1
- <script type="text/ng-template" id="promethee/components/row">
1
+ <script type="text/ng-template" id="promethee/write/component/row">
2
2
  <div ng-controller="RowController"
3
3
  class="row promethee-editor__component promethee-editor__component--row">
4
4
  <div class="promethee-editor__toolbar">
5
5
  Row
6
- <%= render 'promethee/partials/toolbar_buttons' %>
6
+ <ng-include src="'promethee/write/toolbar'"></ng-include>
7
7
  </div>
8
8
  <div ng-show="editing" class="promethee-editor__wrapper">
9
9
  </div>
10
- <ng-include src="'promethee/components/children'"></ng-include>
10
+ <ng-include src="'promethee/write/components'"></ng-include>
11
11
  <div class="clearfix"></div>
12
12
  <span class="btn btn-default btn-block" ng-click="addColumn()" style="margin: 0 6px 6px 6px;width: auto">Add column</span>
13
13
  </div>
14
14
  </script>
15
15
 
16
- <script type="text/ng-template" id="promethee/components/row/move">
17
- <h1>Row</h1>
18
- <div class="row">
19
- <ng-include src="'promethee/partials/mover'"></ng-include>
20
- </div>
21
- </script>
22
-
23
16
  <script>
24
17
  angular.injector(['ng', 'Promethee']).get('definitions').push({
25
18
  name: 'Row',
@@ -1,9 +1,9 @@
1
- <script type="text/ng-template" id="promethee/components/text">
2
- <div ng-controller="TextController"
1
+ <script type="text/ng-template" id="promethee/write/component/text">
2
+ <div ng-controller="TextController"
3
3
  class="promethee-editor__component promethee-editor__component--text">
4
4
  <div class="promethee-editor__toolbar">
5
5
  Text
6
- <%= render 'promethee/partials/toolbar_buttons' %>
6
+ <ng-include src="'promethee/write/toolbar'"></ng-include>
7
7
  </div>
8
8
  <div ng-show="editing">
9
9
  <summernote config="options" ng-model="component.attributes.body"></summernote>
@@ -14,22 +14,6 @@
14
14
  </div>
15
15
  </script>
16
16
 
17
- <script type="text/ng-template" id="promethee/components/text/move">
18
- <div ng-bind-html="component.attributes.body | htmlSafe"></div>
19
- </script>
20
-
21
- <script type="text/ng-template" id="promethee/components/text/localize">
22
- <div class="row">
23
- <div class="col-md-6">
24
- <summernote config="options" ng-model="component.attributes.body"></summernote>
25
- </div>
26
- <div class="col-md-6">
27
- <b>Master</b>
28
- <div class="promethee-editor__wrapper" ng-bind-html="component.master.attributes.body | htmlSafe"></div>
29
- </div>
30
- </div>
31
- </script>
32
-
33
17
  <script>
34
18
  angular.injector(['ng', 'Promethee']).get('definitions').push({
35
19
  name: 'Text',
@@ -1,9 +1,9 @@
1
- <script type="text/ng-template" id="promethee/components/video">
2
- <div ng-controller="VideoController"
1
+ <script type="text/ng-template" id="promethee/write/component/video">
2
+ <div ng-controller="VideoController"
3
3
  class="promethee-editor__component promethee-editor__component--video">
4
4
  <div class="promethee-editor__toolbar">
5
5
  Video
6
- <%= render 'promethee/partials/toolbar_buttons' %>
6
+ <ng-include src="'promethee/write/toolbar'"></ng-include>
7
7
  </div>
8
8
  <div ng-show="editing" class="promethee-editor__wrapper">
9
9
  <div class="form-group">
@@ -17,15 +17,6 @@
17
17
  </div>
18
18
  </script>
19
19
 
20
- <script type="text/ng-template" id="promethee/components/video/move">
21
- <div ng-controller="VideoController">
22
- <div class="embed-responsive embed-responsive-16by9">
23
- <iframe ng-if="embed" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="allowfullscreen" ng-src="{{embed | urlSafe}}"></iframe>
24
- <div class="video-neutralizing-overlay"></div>
25
- </div>
26
- </div>
27
- </script>
28
-
29
20
  <script>
30
21
  angular.injector(['ng', 'Promethee']).get('definitions').push({
31
22
  name: 'Video',
@@ -0,0 +1,11 @@
1
+ <script type="text/ng-template" id="promethee/localize/component/text">
2
+ <div class="row">
3
+ <div class="col-md-6">
4
+ <summernote config="options" ng-model="component.attributes.body"></summernote>
5
+ </div>
6
+ <div class="col-md-6">
7
+ <b>Master</b>
8
+ <div class="promethee-editor__wrapper" ng-bind-html="component.master.attributes.body | htmlSafe"></div>
9
+ </div>
10
+ </div>
11
+ </script>
@@ -0,0 +1,3 @@
1
+ <script type="text/ng-template" id="promethee/localize/component/image">
2
+
3
+ </script>
@@ -0,0 +1,3 @@
1
+ <script type="text/ng-template" id="promethee/localize/component/row">
2
+
3
+ </script>
@@ -0,0 +1,3 @@
1
+ <script type="text/ng-template" id="promethee/localize/component/text">
2
+
3
+ </script>
@@ -0,0 +1,3 @@
1
+ <script type="text/ng-template" id="promethee/localize/component/video">
2
+
3
+ </script>
@@ -0,0 +1 @@
1
+ <%= render "promethee/show/component/#{component[:type]}", component: component %>
@@ -0,0 +1,3 @@
1
+ <% components.each do |component| %>
2
+ <%= render 'promethee/show/component', component: component %>
3
+ <% end %>
@@ -1,8 +1,7 @@
1
1
  <%
2
2
  size = component[:attributes][:size]
3
3
  offset = component[:attributes][:offset]
4
- children = component[:children]
5
4
  %>
6
5
  <div class="col col-md-<%= size %><%= " col-md-offset-#{offset}" if offset > 0 %> <%= promethee_class_for component %>">
7
- <%= render 'promethee/components/children', children: children %>
6
+ <%= render 'promethee/show/components', components: component[:children] %>
8
7
  </div>
@@ -0,0 +1,3 @@
1
+ <div class="row <%= promethee_class_for component %>">
2
+ <%= render 'promethee/show/components', components: component[:children] %>
3
+ </div>
@@ -1,5 +1,5 @@
1
1
  module Promethee
2
2
  module Rails
3
- VERSION = '1.0.12'
3
+ VERSION = '1.0.14'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: promethee
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.12
4
+ version: 1.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julien Dargelos
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2017-12-05 00:00:00.000000000 Z
14
+ date: 2018-01-03 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
@@ -236,28 +236,39 @@ files:
236
236
  - app/views/promethee/_edit.html.erb
237
237
  - app/views/promethee/_localize.html.erb
238
238
  - app/views/promethee/_show.html.erb
239
- - app/views/promethee/components/_children.html.erb
240
- - app/views/promethee/components/_children_edit.html.erb
241
- - app/views/promethee/components/_column.html.erb
242
- - app/views/promethee/components/_column_edit.html.erb
243
- - app/views/promethee/components/_image.html.erb
244
- - app/views/promethee/components/_image_edit.html.erb
245
- - app/views/promethee/components/_page.html.erb
246
- - app/views/promethee/components/_page_edit.html.erb
247
- - app/views/promethee/components/_row.html.erb
248
- - app/views/promethee/components/_row_edit.html.erb
249
- - app/views/promethee/components/_text.html.erb
250
- - app/views/promethee/components/_text_edit.html.erb
251
- - app/views/promethee/components/_video.html.erb
252
- - app/views/promethee/components/_video_edit.html.erb
253
- - app/views/promethee/partials/_adder.html.erb
254
- - app/views/promethee/partials/_include_components.html.erb
255
- - app/views/promethee/partials/_mover.html.erb
256
- - app/views/promethee/partials/_navbar.html.erb
257
- - app/views/promethee/partials/_page.html.erb
258
- - app/views/promethee/partials/_preview.html.erb
259
- - app/views/promethee/partials/_toolbar_buttons.html.erb
239
+ - app/views/promethee/edit/_move.html.erb
240
+ - app/views/promethee/edit/_preview.html.erb
241
+ - app/views/promethee/edit/_write.html.erb
242
+ - app/views/promethee/edit/move/_component.html.erb
243
+ - app/views/promethee/edit/move/_components.html.erb
244
+ - app/views/promethee/edit/move/component/_column.html.erb
245
+ - app/views/promethee/edit/move/component/_image.html.erb
246
+ - app/views/promethee/edit/move/component/_row.html.erb
247
+ - app/views/promethee/edit/move/component/_text.html.erb
248
+ - app/views/promethee/edit/move/component/_video.html.erb
249
+ - app/views/promethee/edit/shared/_navbar.html.erb
250
+ - app/views/promethee/edit/write/_add_button.html.erb
251
+ - app/views/promethee/edit/write/_component.html.erb
252
+ - app/views/promethee/edit/write/_components.html.erb
253
+ - app/views/promethee/edit/write/_toolbar.html.erb
254
+ - app/views/promethee/edit/write/component/_column.html.erb
255
+ - app/views/promethee/edit/write/component/_image.html.erb
256
+ - app/views/promethee/edit/write/component/_row.html.erb
257
+ - app/views/promethee/edit/write/component/_text.html.erb
258
+ - app/views/promethee/edit/write/component/_video.html.erb
259
+ - app/views/promethee/localize/component/_column.html.erb
260
+ - app/views/promethee/localize/component/_image.html.erb
261
+ - app/views/promethee/localize/component/_row.html.erb
262
+ - app/views/promethee/localize/component/_text.html.erb
263
+ - app/views/promethee/localize/component/_video.html.erb
260
264
  - app/views/promethee/preview.html.erb
265
+ - app/views/promethee/show/_component.html.erb
266
+ - app/views/promethee/show/_components.html.erb
267
+ - app/views/promethee/show/component/_column.html.erb
268
+ - app/views/promethee/show/component/_image.html.erb
269
+ - app/views/promethee/show/component/_row.html.erb
270
+ - app/views/promethee/show/component/_text.html.erb
271
+ - app/views/promethee/show/component/_video.html.erb
261
272
  - config/routes.rb
262
273
  - lib/promethee.rb
263
274
  - lib/promethee/configuration.rb
@@ -1,4 +0,0 @@
1
- <% children.each do |component| %>
2
- <% type = component[:type] %>
3
- <%= render "promethee/components/#{type}", component: component %>
4
- <% end %>
@@ -1,7 +0,0 @@
1
- <script type="text/ng-template" id="promethee/components/children">
2
- <div ng-init="components = component.children">
3
- <div ng-repeat="component in components">
4
- <ng-include src="'promethee/components/' + component.type"></ng-include>
5
- </div>
6
- </div>
7
- </script>
@@ -1,42 +0,0 @@
1
- <script type="text/ng-template" id="promethee/components/column">
2
- <div class="col
3
- col-md-{{component.attributes.size}}
4
- col-md-offset-{{component.attributes.offset}}
5
- promethee-editor__component
6
- promethee-editor__component--column">
7
- <div class="promethee-editor__toolbar">
8
- Column
9
- <%= render 'promethee/partials/toolbar_buttons' %>
10
- </div>
11
- <div ng-show="editing" class="promethee-editor__wrapper">
12
- <div class="form-group">
13
- <label class="label-control">Size</label>
14
- <input ng-model="component.attributes.size" class="form-control" type="number"/>
15
- </div>
16
- <div class="form-group">
17
- <label class="label-control">Offset</label>
18
- <input ng-model="component.attributes.offset" class="form-control" type="number"/>
19
- </div>
20
- </div>
21
-
22
- <ng-include src="'promethee/components/children'"></ng-include>
23
-
24
- <span type="button"
25
- class="btn btn-default btn-block"
26
- ng-click="addComponentTo(component.children)">Add component</span>
27
- </div>
28
- </script>
29
-
30
- <script type="text/ng-template" id="promethee/components/column/move">
31
- <div class="col col-md-{{component.attributes.size}} col-md-offset-{{component.attributes.offset}}">
32
- <h1>Column</h1>
33
- <ng-include src="'promethee/partials/mover'"></ng-include>
34
- <div class=" promethee-editor__mover--droppable
35
- promethee-editor__mover--droppable--row
36
- promethee-editor__mover--droppable--row--inside-column"
37
- droppable
38
- data-index="{{$index+1}}"
39
- data-type="{{type}}"
40
- >
41
- </div>
42
- </script>
@@ -1 +0,0 @@
1
- <%= render 'promethee/components/children', children: page[:children] %>
@@ -1,10 +0,0 @@
1
- <script type="text/ng-template" id="promethee/components/page">
2
- <div ng-init="component = data"
3
- class="promethee-editor__component promethee-editor__component--page">
4
- <ng-include src="'promethee/components/children'"></ng-include>
5
- </div>
6
- </script>
7
-
8
- <script type="text/ng-template" id="promethee/components/page/move">
9
- <ng-include src="'promethee/partials/mover'"></ng-include>
10
- </script>
@@ -1,3 +0,0 @@
1
- <div class="row <%= promethee_class_for component %>">
2
- <%= render 'promethee/components/children', children: component[:children] %>
3
- </div>
@@ -1,9 +0,0 @@
1
- <% # TODO iterate over files in gem, instead of a predefined array %>
2
- <% ['page', 'children', 'row', 'column', 'text', 'image', 'video'].each do |type| %>
3
- <%= render "promethee/components/#{type}_edit" %>
4
- <% end %>
5
-
6
- <% # TODO iterate over custom views to add custom types and override existing types %>
7
- <% Dir['app/views/promethee/components/*'].each do |file| %>
8
-
9
- <% end %>
@@ -1,26 +0,0 @@
1
- <nav class="navbar navbar-default promethee-editor__navbar">
2
- <div class="container-fluid">
3
- <div class="navbar-header promethee-editor__icon">
4
- <div class="navbar-brand"><%= File.read(__dir__ + '/../../../assets/images/icon-promethee.svg').html_safe %></div>
5
- </div>
6
- <div id="navbar">
7
- <ul class="nav navbar-nav navbar-right">
8
- <li ng-click="toggleMove()"><a><%= fa_icon :arrows %></a></li>
9
- <li ng-click="enablePreview()" ng-hide="preview"><a><%= fa_icon :eye %></a></li>
10
- <li ng-click="previewMode = 'mobile'" ng-class="{ active: previewMode == 'mobile' }" ng-show="preview">
11
- <a><%= fa_icon :mobile %></a>
12
- </li>
13
- <li ng-click="previewMode = 'tablet'" ng-class="{ active: previewMode == 'tablet' }" ng-show="preview"><a>
14
- <%= fa_icon :tablet %></a>
15
- </li>
16
- <li ng-click="previewMode = 'desktop'" ng-class="{ active: previewMode == 'desktop' }" ng-show="preview"><a>
17
- <%= fa_icon :desktop %></a>
18
- </li>
19
- <li ng-click="disablePreview()" ng-show="preview"><a><%= fa_icon 'eye-slash' %></a>
20
- </li>
21
- <li ng-click="enableFullscreen()" ng-hide="fullscreen"><a><%= fa_icon :expand %></a></li>
22
- <li ng-click="disableFullscreen()" ng-show="fullscreen"><a><%= fa_icon :compress %></a></li>
23
- </ul>
24
- </div>
25
- </div>
26
- </nav>
@@ -1,6 +0,0 @@
1
- <div class="promethee-editor__page" ng-hide="preview || move || pageHidden">
2
- <div ng-class="{ 'container': fullscreen }">
3
- <ng-include src="'promethee/components/page'"></ng-include>
4
- </div>
5
- <%= render 'promethee/partials/adder' %>
6
- </div>
@@ -1,12 +0,0 @@
1
- <div class="promethee-editor__preview" ng-show="preview"
2
- ng-class="{
3
- 'promethee-editor__preview--mobile': preview && previewMode == 'mobile',
4
- 'promethee-editor__preview--tablet': preview && previewMode == 'tablet',
5
- 'promethee-editor__preview--desktop': preview && previewMode == 'desktop'
6
- }">
7
- <iframe class="promethee-editor__preview--frame"
8
- name="preview"
9
- sandbox="allow-scripts"
10
- frameBorder="0">
11
- </iframe>
12
- </div>
@@ -1,21 +0,0 @@
1
- <%
2
- except ||= []
3
- except = [except] unless except.is_a? Array
4
- except.map! { |button| button.to_s.to_sym }
5
-
6
- only ||= []
7
- only = [only] unless only.is_a? Array
8
- only.map! { |button| button.to_s.to_sym }
9
-
10
- buttons = [:edit, :remove].map{ |button| [button, (only.empty? || button.in?(only)) && !button.in?(except)] }.to_h
11
- %>
12
-
13
- <div class="pull-right">
14
- <% if buttons[:edit] %>
15
- <span ng-click="editing = !editing" class="promethee-editor__button"><%= fa_icon 'pencil-square' %></span>
16
- <% end %>
17
-
18
- <% if buttons[:remove] %>
19
- <span ng-click="remove(component, components)" class="promethee-editor__button"><%= fa_icon 'window-close' %></span>
20
- <% end %>
21
- </div>