promethee 0.1.3 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +53 -50
  3. data/app/assets/javascripts/promethee-editor.js +8 -0
  4. data/app/assets/javascripts/promethee.js +0 -59
  5. data/app/assets/stylesheets/promethee-editor.sass +23 -78
  6. data/app/assets/stylesheets/promethee-editor/_component.sass +10 -0
  7. data/app/assets/stylesheets/promethee-editor/_mover.sass +67 -0
  8. data/app/assets/stylesheets/promethee-editor/_preview.sass +25 -0
  9. data/app/assets/stylesheets/promethee.sass +1 -2
  10. data/app/controllers/promethee_controller.rb +8 -0
  11. data/app/views/promethee/_edit.html.erb +52 -123
  12. data/app/views/promethee/_show.html.erb +1 -1
  13. data/app/views/promethee/components/_children.html.erb +4 -0
  14. data/app/views/promethee/components/_children_edit.html.erb +5 -0
  15. data/app/views/promethee/components/_column.html.erb +1 -1
  16. data/app/views/promethee/components/_column_edit.html.erb +35 -33
  17. data/app/views/promethee/components/_image_edit.html.erb +23 -28
  18. data/app/views/promethee/components/_page.html.erb +1 -0
  19. data/app/views/promethee/components/_page_edit.html.erb +10 -0
  20. data/app/views/promethee/components/_row.html.erb +1 -4
  21. data/app/views/promethee/components/_row_edit.html.erb +19 -22
  22. data/app/views/promethee/components/_text_edit.html.erb +16 -20
  23. data/app/views/promethee/components/_video_edit.html.erb +23 -22
  24. data/app/views/promethee/partials/_adder.html.erb +64 -0
  25. data/app/views/promethee/partials/_include_components.html.erb +9 -0
  26. data/app/views/promethee/partials/_mover.html.erb +98 -0
  27. data/app/views/promethee/partials/_navbar.html.erb +26 -0
  28. data/app/views/promethee/partials/_page.html.erb +6 -0
  29. data/app/views/promethee/partials/_preview.html.erb +12 -0
  30. data/app/views/promethee/partials/_toolbar_buttons.html.erb +2 -2
  31. data/app/views/promethee/preview.html.erb +1 -0
  32. data/config/routes.rb +3 -0
  33. data/lib/promethee.rb +2 -21
  34. data/lib/promethee/core_ext/tags.rb +2 -5
  35. data/lib/promethee/rails/version.rb +1 -1
  36. metadata +34 -27
  37. data/app/assets/javascripts/promethee/controller.js +0 -22
  38. data/app/assets/stylesheets/promethee-editor/_mixins.sass +0 -19
  39. data/app/assets/stylesheets/promethee-editor/_variables.sass +0 -4
  40. data/app/views/promethee/components/_index.html.erb +0 -3
  41. data/app/views/promethee/components/_index_edit.html.erb +0 -7
  42. data/app/views/promethee/components/_show.html.erb +0 -4
  43. data/app/views/promethee/components/_show_edit.html.erb +0 -3
  44. data/lib/promethee/component.rb +0 -28
  45. data/lib/promethee/component/attribute.rb +0 -42
  46. data/lib/promethee/component/attribute/boolean.rb +0 -4
  47. data/lib/promethee/component/attribute/float.rb +0 -3
  48. data/lib/promethee/component/attribute/integer.rb +0 -3
  49. data/lib/promethee/component/attribute/string.rb +0 -3
  50. data/lib/promethee/component/attributes.rb +0 -50
  51. data/lib/promethee/component/attributes/definer.rb +0 -13
  52. data/lib/promethee/component/base.rb +0 -68
  53. data/lib/promethee/component/collection.rb +0 -17
  54. data/lib/promethee/component/column.rb +0 -8
  55. data/lib/promethee/component/image.rb +0 -6
  56. data/lib/promethee/component/row.rb +0 -3
  57. data/lib/promethee/component/text.rb +0 -5
  58. data/lib/promethee/component/video.rb +0 -5
  59. data/lib/promethee/grid.rb +0 -52
  60. data/vendor/assets/javascripts/angular-drag-and-drop-lists.js +0 -49
@@ -1,25 +1,25 @@
1
1
  <script type="text/ng-template" id="promethee/components/text">
2
- <div ng-controller="TextController">
3
- <div dnd-draggable="component"
4
- dnd-moved="remove()"
5
- dnd-type="component.type"
6
- class="promethee-editor__component promethee-editor__component--text promethee-editor__component--final">
7
- <div class="promethee-editor__toolbar">
8
- Text
9
- <%= render 'promethee/partials/toolbar_buttons' %>
10
- </div>
11
- <div ng-show="editing">
12
- <textarea ui-tinymce="tinymceOptions" ng-model="component.attributes.body"></textarea>
13
- </div>
14
- <div ng-hide="editing">
15
- <div class="promethee-editor__wrapper" ng-bind-html="component.attributes.body | htmlSafe" ng-click="edit()"></div>
16
- </div>
2
+ <div ng-controller="TextController"
3
+ class="promethee-editor__component promethee-editor__component--text">
4
+ <div class="promethee-editor__toolbar">
5
+ Text
6
+ <%= render 'promethee/partials/toolbar_buttons' %>
7
+ </div>
8
+ <div ng-show="editing">
9
+ <textarea ui-tinymce="tinymceOptions" ng-model="component.attributes.body"></textarea>
10
+ </div>
11
+ <div ng-hide="editing">
12
+ <div class="promethee-editor__wrapper" ng-bind-html="component.attributes.body | htmlSafe" ng-click="edit()"></div>
17
13
  </div>
18
14
  </div>
19
15
  </script>
20
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
21
  <script>
22
- angular.injector(['ng', '<%= promethee_id %>']).get('definitions').push({
22
+ angular.injector(['ng', 'Promethee']).get('definitions').push({
23
23
  name: 'Text',
24
24
  thumb: 'http://via.placeholder.com/300x200',
25
25
  data: {
@@ -42,10 +42,6 @@
42
42
  this.editing = false;
43
43
  };
44
44
 
45
- $scope.remove = function() {
46
- this.components.splice(this.components.indexOf(this.component), 1);
47
- };
48
-
49
45
  $scope.tinymceOptions = {
50
46
  plugins: 'autoresize',
51
47
  toolbar: 'styleselect | bold italic',
@@ -1,28 +1,33 @@
1
1
  <script type="text/ng-template" id="promethee/components/video">
2
- <div ng-controller="VideoController">
3
- <div dnd-draggable="component"
4
- dnd-moved="remove()"
5
- dnd-type="component.type"
6
- class="promethee-editor__component promethee-editor__component--video promethee-editor__component--final">
7
- <div class="promethee-editor__toolbar">
8
- Video
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">Url</label>
14
- <input ng-model="component.attributes.url" class="form-control" type="text"/>
15
- </div>
16
- </div>
17
- <div class="embed-responsive embed-responsive-16by9">
18
- <iframe ng-if="embed" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="allowfullscreen" ng-src="{{embed | urlSafe}}"></iframe>
2
+ <div ng-controller="VideoController"
3
+ class="promethee-editor__component promethee-editor__component--video">
4
+ <div class="promethee-editor__toolbar">
5
+ Video
6
+ <%= render 'promethee/partials/toolbar_buttons' %>
7
+ </div>
8
+ <div ng-show="editing" class="promethee-editor__wrapper">
9
+ <div class="form-group">
10
+ <label class="label-control">Url</label>
11
+ <input ng-model="component.attributes.url" class="form-control" type="text"/>
19
12
  </div>
20
13
  </div>
14
+ <div class="embed-responsive embed-responsive-16by9">
15
+ <iframe ng-if="embed" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="allowfullscreen" ng-src="{{embed | urlSafe}}"></iframe>
16
+ </div>
17
+ </div>
18
+ </script>
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>
21
26
  </div>
22
27
  </script>
23
28
 
24
29
  <script>
25
- angular.injector(['ng', '<%= promethee_id %>']).get('definitions').push({
30
+ angular.injector(['ng', 'Promethee']).get('definitions').push({
26
31
  name: 'Video',
27
32
  thumb: 'http://via.placeholder.com/300x200',
28
33
  data: {
@@ -37,10 +42,6 @@
37
42
 
38
43
  $scope.editing = false;
39
44
 
40
- $scope.remove = function() {
41
- this.components.splice(this.components.indexOf(this.component), 1);
42
- };
43
-
44
45
  Object.defineProperty($scope, 'embed', {
45
46
  get: function() {
46
47
  var embed = null;
@@ -0,0 +1,64 @@
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>
6
+
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>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ </div>
28
+ </div>
29
+ </div>
30
+ </div>
31
+ <script type="text/javascript">
32
+ promethee.controller('AdderController', ['$scope', '$rootScope', 'definitions', function($scope, $rootScope, definitions) {
33
+
34
+ $scope.adding = false;
35
+ $scope.childrenToAddTo = null;
36
+ $scope.definitions = definitions;
37
+
38
+ $scope.close = function() {
39
+ $scope.adding = false;
40
+ $scope.addingToChildren = null;
41
+ };
42
+
43
+ $scope.pushComponent = function(definition) {
44
+ var definition = angular.copy(definition.data);
45
+ definition.id = $scope.createIdentifier();
46
+ $scope.childrenToAddTo.push(definition);
47
+ $scope.close();
48
+ };
49
+
50
+ $rootScope.addComponentTo = function(components) {
51
+ $scope.adding = true;
52
+ $scope.childrenToAddTo = components;
53
+ };
54
+
55
+ // https://gist.github.com/gordonbrander/2230317
56
+ $scope.createIdentifier = function () {
57
+ // Math.random should be unique because of its seeding algorithm.
58
+ // Convert it to base 36 (numbers + letters), and grab the first 9 characters
59
+ // after the decimal.
60
+ return '' + Math.random().toString(36).substr(2, 9);
61
+ };
62
+
63
+ }]);
64
+ </script>
@@ -0,0 +1,9 @@
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 %>
@@ -0,0 +1,98 @@
1
+ <script type="text/ng-template" id="promethee/partials/mover">
2
+ <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"
5
+ droppable
6
+ data-index="0"
7
+ >
8
+ </div>
9
+ <div ng-repeat="component in components"
10
+ class="promethee-editor__mover--draggable promethee-editor__mover--draggable--{{type}}"
11
+ draggable
12
+ data-index="{{$index}}"
13
+ data-type="{{component.type}}"
14
+ >
15
+ <ng-include src="'promethee/components/' + component.type + '/move'"></ng-include>
16
+ <div class="promethee-editor__mover--droppable promethee-editor__mover--droppable--{{type}}"
17
+ droppable
18
+ data-index="{{$index+1}}"
19
+ data-type="{{type}}"
20
+ >
21
+ </div>
22
+ </div>
23
+ </div>
24
+ </script>
25
+
26
+ <div class="promethee-editor__mover" ng-show="move" ng-init="component = data">
27
+ <ng-include src="'promethee/partials/mover'"></ng-include>
28
+ </div>
29
+
30
+ <script type="text/javascript">
31
+ promethee
32
+ .directive('draggable', function() {
33
+ return {
34
+ restrict:'A',
35
+ link: function(scope, element, attrs) {
36
+ element.draggable({
37
+ scroll: true,
38
+ cursor: "pointer",
39
+ cursorAt: { top: 0, left: 0 },
40
+ refreshPositions: true,
41
+ start: function() {
42
+ var $elementDragged = $(element[0]);
43
+ $elementDragged.addClass('promethee-editor__mover--dragged');
44
+ var type = $elementDragged.data('type');
45
+ $('.promethee-editor__mover').addClass('promethee-editor__mover--dragging promethee-editor__mover--dragging--' + type);
46
+
47
+ // 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();
49
+ if ($droppableBefore.length === 0) {
50
+ // For the first child, we look for the previous droppable zone
51
+ $droppableBefore = $elementDragged.prev('.promethee-editor__mover--droppable');
52
+ }
53
+ $droppableBefore.addClass('promethee-editor__mover--droppable--hidden');
54
+ },
55
+ stop: function() {
56
+ var $elementDragged = $(element[0]);
57
+ $elementDragged.removeClass('promethee-editor__mover--dragged');
58
+ var type = $elementDragged.data('type');
59
+ $('.promethee-editor__mover').removeClass('promethee-editor__mover--dragging promethee-editor__mover--dragging--' + type);
60
+
61
+ $('.promethee-editor__mover--droppable').removeClass('promethee-editor__mover--droppable--hidden');
62
+ },
63
+ helper: function( event ) {
64
+ return $( '<div></div>' );
65
+ }
66
+ });
67
+ }
68
+ }
69
+ })
70
+ .directive('droppable', function($compile) {
71
+ return {
72
+ restrict: 'A',
73
+ link: function(scope, element, attrs) {
74
+ element.droppable({
75
+ drop: function(event, ui) {
76
+ var draggedFromList = angular.element(ui.draggable).parent().scope().components;
77
+ var draggedFromIndex = parseInt(ui.draggable[0].getAttribute('data-index'));
78
+ draggedFromList.splice(draggedFromIndex, 1);
79
+
80
+ var component = angular.element(ui.draggable).scope().component;
81
+ var droppedToList = angular.element(this).scope().components;
82
+ var droppedToIndex = parseInt(this.getAttribute('data-index'));
83
+ if (draggedFromList == droppedToList) {
84
+ // The object we dragged was removed from the list
85
+ if (draggedFromIndex < droppedToIndex) {
86
+ // It was before the dropped index, so removing it changed the index
87
+ droppedToIndex -= 1;
88
+ }
89
+ }
90
+ droppedToList.splice(droppedToIndex, 0, component);
91
+
92
+ scope.$apply();
93
+ }
94
+ });
95
+ }
96
+ }
97
+ });
98
+ </script>
@@ -0,0 +1,26 @@
1
+ <nav class="navbar navbar-default promethee-editor__navbar">
2
+ <div class="container-fluid">
3
+ <div class="navbar-header">
4
+ <%= image_tag 'icon-promethee.png', class: 'navbar-brand' %>
5
+ </div>
6
+ <div id="navbar">
7
+ <ul class="nav navbar-nav navbar-right">
8
+ <li ng-click="move = !move"><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>
@@ -0,0 +1,6 @@
1
+ <div class="promethee-editor__page" ng-hide="preview || move">
2
+ <div ng-class="{ 'container-fluid': fullscreen }">
3
+ <ng-include src="'promethee/components/page'"></ng-include>
4
+ </div>
5
+ <%= render 'promethee/partials/adder' %>
6
+ </div>
@@ -0,0 +1,12 @@
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,4 +1,4 @@
1
1
  <div class="pull-right">
2
- <span ng-click="editing = !editing" class="btn btn-default btn-xs"><%= fa_icon :edit %></span>
3
- <span ng-click="remove()" class="btn btn-default btn-xs"><%= fa_icon :close %></span>
2
+ <span ng-click="editing = !editing" class="promethee-editor__button"><%= fa_icon 'pencil-square' %></span>
3
+ <span ng-click="remove(component, components)" class="promethee-editor__button"><%= fa_icon 'window-close' %></span>
4
4
  </div>
@@ -0,0 +1 @@
1
+ <%= promethee @data %>
@@ -0,0 +1,3 @@
1
+ Rails.application.routes.draw do
2
+ post 'promethee/preview' => 'promethee#preview', as: 'promethee_preview'
3
+ end
@@ -1,11 +1,12 @@
1
1
  require 'bootstrap-sass'
2
2
  require 'font-awesome-rails'
3
+ require 'material_icons'
3
4
  require 'jquery-rails'
4
5
  require 'jquery-ui-rails'
5
6
  require 'tinymce-rails'
6
7
  require 'angularjs-rails'
7
8
  require 'angular-ui-tinymce/rails'
8
- require 'material_icons'
9
+ require 'angular_rails_csrf'
9
10
 
10
11
  module Promethee
11
12
  module Rails
@@ -14,26 +15,6 @@ module Promethee
14
15
  require 'promethee/rails/version'
15
16
  end
16
17
 
17
- require 'promethee/component'
18
- require 'promethee/component/attribute'
19
- require 'promethee/component/attribute/boolean'
20
- require 'promethee/component/attribute/integer'
21
- require 'promethee/component/attribute/float'
22
- require 'promethee/component/attribute/string'
23
-
24
- require 'promethee/component/attributes'
25
- require 'promethee/component/attributes/definer'
26
-
27
- require 'promethee/component/base'
28
- require 'promethee/component/collection'
29
- require 'promethee/component/row'
30
- require 'promethee/component/column'
31
- require 'promethee/component/text'
32
- require 'promethee/component/image'
33
- require 'promethee/component/video'
34
-
35
- require 'promethee/grid'
36
-
37
18
  require 'promethee/core_ext/tags'
38
19
  require 'promethee/core_ext/form_helper'
39
20
  require 'promethee/core_ext/form_builder'
@@ -6,11 +6,8 @@ module ActionView
6
6
  # https://github.com/rails/rails/blob/bdc581616b760d1e2be3795c6f0f3ab4b1e125a5/actionview/lib/action_view/helpers/tags/text_field.rb
7
7
  class PrometheeEditor < Base
8
8
  def render
9
- options = @options.stringify_keys
10
- add_default_name_and_id(options)
11
- data = options.fetch("value") { value_before_type_cast(object) }
12
-
13
- Promethee::Grid.new(data, name: options["name"]).edit
9
+ data = @options[:value]
10
+ ApplicationController.renderer.render partial: 'promethee/edit', locals: { data: data }
14
11
  end
15
12
  end
16
13
  end
@@ -1,5 +1,5 @@
1
1
  module Promethee
2
2
  module Rails
3
- VERSION = "0.1.3"
3
+ VERSION = "0.1.5"
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: 0.1.3
4
+ version: 0.1.5
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-11-10 00:00:00.000000000 Z
14
+ date: 2017-11-22 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
@@ -153,6 +153,20 @@ dependencies:
153
153
  - - ">="
154
154
  - !ruby/object:Gem::Version
155
155
  version: '0'
156
+ - !ruby/object:Gem::Dependency
157
+ name: angular_rails_csrf
158
+ requirement: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: '0'
163
+ type: :runtime
164
+ prerelease: false
165
+ version_requirements: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
156
170
  - !ruby/object:Gem::Dependency
157
171
  name: sqlite3
158
172
  requirement: !ruby/object:Gem::Requirement
@@ -196,54 +210,47 @@ files:
196
210
  - app/assets/images/icon-promethee.png
197
211
  - app/assets/images/logo-promethee-horizontal.svg
198
212
  - app/assets/images/logo-promethee-vertical.svg
213
+ - app/assets/javascripts/promethee-editor.js
199
214
  - app/assets/javascripts/promethee.js
200
- - app/assets/javascripts/promethee/controller.js
201
215
  - app/assets/stylesheets/promethee-editor.sass
202
- - app/assets/stylesheets/promethee-editor/_mixins.sass
203
- - app/assets/stylesheets/promethee-editor/_variables.sass
216
+ - app/assets/stylesheets/promethee-editor/_component.sass
217
+ - app/assets/stylesheets/promethee-editor/_mover.sass
218
+ - app/assets/stylesheets/promethee-editor/_preview.sass
204
219
  - app/assets/stylesheets/promethee.sass
220
+ - app/controllers/promethee_controller.rb
205
221
  - app/views/promethee/_edit.html.erb
206
222
  - app/views/promethee/_show.html.erb
223
+ - app/views/promethee/components/_children.html.erb
224
+ - app/views/promethee/components/_children_edit.html.erb
207
225
  - app/views/promethee/components/_column.html.erb
208
226
  - app/views/promethee/components/_column_edit.html.erb
209
227
  - app/views/promethee/components/_image.html.erb
210
228
  - app/views/promethee/components/_image_edit.html.erb
211
- - app/views/promethee/components/_index.html.erb
212
- - app/views/promethee/components/_index_edit.html.erb
229
+ - app/views/promethee/components/_page.html.erb
230
+ - app/views/promethee/components/_page_edit.html.erb
213
231
  - app/views/promethee/components/_row.html.erb
214
232
  - app/views/promethee/components/_row_edit.html.erb
215
- - app/views/promethee/components/_show.html.erb
216
- - app/views/promethee/components/_show_edit.html.erb
217
233
  - app/views/promethee/components/_text.html.erb
218
234
  - app/views/promethee/components/_text_edit.html.erb
219
235
  - app/views/promethee/components/_video.html.erb
220
236
  - app/views/promethee/components/_video_edit.html.erb
237
+ - app/views/promethee/partials/_adder.html.erb
238
+ - app/views/promethee/partials/_include_components.html.erb
239
+ - app/views/promethee/partials/_mover.html.erb
240
+ - app/views/promethee/partials/_navbar.html.erb
241
+ - app/views/promethee/partials/_page.html.erb
242
+ - app/views/promethee/partials/_preview.html.erb
221
243
  - app/views/promethee/partials/_toolbar_buttons.html.erb
244
+ - app/views/promethee/preview.html.erb
245
+ - config/routes.rb
222
246
  - lib/promethee.rb
223
- - lib/promethee/component.rb
224
- - lib/promethee/component/attribute.rb
225
- - lib/promethee/component/attribute/boolean.rb
226
- - lib/promethee/component/attribute/float.rb
227
- - lib/promethee/component/attribute/integer.rb
228
- - lib/promethee/component/attribute/string.rb
229
- - lib/promethee/component/attributes.rb
230
- - lib/promethee/component/attributes/definer.rb
231
- - lib/promethee/component/base.rb
232
- - lib/promethee/component/collection.rb
233
- - lib/promethee/component/column.rb
234
- - lib/promethee/component/image.rb
235
- - lib/promethee/component/row.rb
236
- - lib/promethee/component/text.rb
237
- - lib/promethee/component/video.rb
238
247
  - lib/promethee/core_ext/form_builder.rb
239
248
  - lib/promethee/core_ext/form_helper.rb
240
249
  - lib/promethee/core_ext/tags.rb
241
- - lib/promethee/grid.rb
242
250
  - lib/promethee/rails/engine.rb
243
251
  - lib/promethee/rails/helper.rb
244
252
  - lib/promethee/rails/version.rb
245
253
  - lib/tasks/promethee/promethee.rake
246
- - vendor/assets/javascripts/angular-drag-and-drop-lists.js
247
254
  homepage: https://github.com/lespoupeesrusses/promethee
248
255
  licenses:
249
256
  - MIT
@@ -264,7 +271,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
264
271
  version: '0'
265
272
  requirements: []
266
273
  rubyforge_project:
267
- rubygems_version: 2.6.11
274
+ rubygems_version: 2.6.14
268
275
  signing_key:
269
276
  specification_version: 4
270
277
  summary: Bring fire to your page