promethee 0.1.3 → 0.1.5
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 +4 -4
- data/README.md +53 -50
- data/app/assets/javascripts/promethee-editor.js +8 -0
- data/app/assets/javascripts/promethee.js +0 -59
- data/app/assets/stylesheets/promethee-editor.sass +23 -78
- data/app/assets/stylesheets/promethee-editor/_component.sass +10 -0
- data/app/assets/stylesheets/promethee-editor/_mover.sass +67 -0
- data/app/assets/stylesheets/promethee-editor/_preview.sass +25 -0
- data/app/assets/stylesheets/promethee.sass +1 -2
- data/app/controllers/promethee_controller.rb +8 -0
- data/app/views/promethee/_edit.html.erb +52 -123
- data/app/views/promethee/_show.html.erb +1 -1
- data/app/views/promethee/components/_children.html.erb +4 -0
- data/app/views/promethee/components/_children_edit.html.erb +5 -0
- data/app/views/promethee/components/_column.html.erb +1 -1
- data/app/views/promethee/components/_column_edit.html.erb +35 -33
- data/app/views/promethee/components/_image_edit.html.erb +23 -28
- data/app/views/promethee/components/_page.html.erb +1 -0
- data/app/views/promethee/components/_page_edit.html.erb +10 -0
- data/app/views/promethee/components/_row.html.erb +1 -4
- data/app/views/promethee/components/_row_edit.html.erb +19 -22
- data/app/views/promethee/components/_text_edit.html.erb +16 -20
- data/app/views/promethee/components/_video_edit.html.erb +23 -22
- data/app/views/promethee/partials/_adder.html.erb +64 -0
- data/app/views/promethee/partials/_include_components.html.erb +9 -0
- data/app/views/promethee/partials/_mover.html.erb +98 -0
- data/app/views/promethee/partials/_navbar.html.erb +26 -0
- data/app/views/promethee/partials/_page.html.erb +6 -0
- data/app/views/promethee/partials/_preview.html.erb +12 -0
- data/app/views/promethee/partials/_toolbar_buttons.html.erb +2 -2
- data/app/views/promethee/preview.html.erb +1 -0
- data/config/routes.rb +3 -0
- data/lib/promethee.rb +2 -21
- data/lib/promethee/core_ext/tags.rb +2 -5
- data/lib/promethee/rails/version.rb +1 -1
- metadata +34 -27
- data/app/assets/javascripts/promethee/controller.js +0 -22
- data/app/assets/stylesheets/promethee-editor/_mixins.sass +0 -19
- data/app/assets/stylesheets/promethee-editor/_variables.sass +0 -4
- data/app/views/promethee/components/_index.html.erb +0 -3
- data/app/views/promethee/components/_index_edit.html.erb +0 -7
- data/app/views/promethee/components/_show.html.erb +0 -4
- data/app/views/promethee/components/_show_edit.html.erb +0 -3
- data/lib/promethee/component.rb +0 -28
- data/lib/promethee/component/attribute.rb +0 -42
- data/lib/promethee/component/attribute/boolean.rb +0 -4
- data/lib/promethee/component/attribute/float.rb +0 -3
- data/lib/promethee/component/attribute/integer.rb +0 -3
- data/lib/promethee/component/attribute/string.rb +0 -3
- data/lib/promethee/component/attributes.rb +0 -50
- data/lib/promethee/component/attributes/definer.rb +0 -13
- data/lib/promethee/component/base.rb +0 -68
- data/lib/promethee/component/collection.rb +0 -17
- data/lib/promethee/component/column.rb +0 -8
- data/lib/promethee/component/image.rb +0 -6
- data/lib/promethee/component/row.rb +0 -3
- data/lib/promethee/component/text.rb +0 -5
- data/lib/promethee/component/video.rb +0 -5
- data/lib/promethee/grid.rb +0 -52
- 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
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
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', '
|
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
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
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', '
|
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">×</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,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="
|
3
|
-
<span ng-click="remove()" class="
|
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 %>
|
data/config/routes.rb
ADDED
data/lib/promethee.rb
CHANGED
@@ -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 '
|
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
|
-
|
10
|
-
|
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
|
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.
|
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-
|
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/
|
203
|
-
- app/assets/stylesheets/promethee-editor/
|
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/
|
212
|
-
- app/views/promethee/components/
|
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.
|
274
|
+
rubygems_version: 2.6.14
|
268
275
|
signing_key:
|
269
276
|
specification_version: 4
|
270
277
|
summary: Bring fire to your page
|