promethee 1.0.20 → 1.1.0

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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/promethee-editor.sass +26 -57
  3. data/app/assets/stylesheets/promethee-editor/_move.sass +102 -0
  4. data/app/assets/stylesheets/promethee-editor/_preview.sass +2 -3
  5. data/app/assets/stylesheets/promethee-editor/_write.sass +58 -0
  6. data/app/views/promethee/_edit.html.erb +34 -99
  7. data/app/views/promethee/_localize.html.erb +1 -1
  8. data/app/views/promethee/_show.html.erb +1 -2
  9. data/app/views/promethee/edit/_move.html.erb +17 -38
  10. data/app/views/promethee/edit/_preview.html.erb +4 -36
  11. data/app/views/promethee/edit/_write.html.erb +9 -25
  12. data/app/views/promethee/edit/inspector/_inspector.html.erb +11 -0
  13. data/app/views/promethee/edit/inspector/component/_column.html.erb +2 -2
  14. data/app/views/promethee/edit/inspector/component/_cover.html.erb +1 -1
  15. data/app/views/promethee/edit/inspector/component/_details.html.erb +1 -1
  16. data/app/views/promethee/edit/inspector/component/_image.html.erb +3 -3
  17. data/app/views/promethee/edit/inspector/component/_text.html.erb +2 -11
  18. data/app/views/promethee/edit/inspector/component/_video.html.erb +1 -1
  19. data/app/views/promethee/edit/move/_component.html.erb +3 -1
  20. data/app/views/promethee/edit/move/_components.html.erb +10 -4
  21. data/app/views/promethee/edit/move/component/_column.html.erb +11 -9
  22. data/app/views/promethee/edit/move/component/_cover.html.erb +1 -1
  23. data/app/views/promethee/edit/move/component/_details.html.erb +1 -1
  24. data/app/views/promethee/edit/move/component/_row.html.erb +2 -2
  25. data/app/views/promethee/edit/shared/_data.html.erb +1 -0
  26. data/app/views/promethee/edit/shared/_navbar.html.erb +13 -19
  27. data/app/views/promethee/edit/write/_add_button.html.erb +23 -31
  28. data/app/views/promethee/edit/write/_toolbar.html.erb +1 -1
  29. data/app/views/promethee/edit/write/component/_column.html.erb +5 -37
  30. data/app/views/promethee/edit/write/component/_cover.html.erb +3 -22
  31. data/app/views/promethee/edit/write/component/_details.html.erb +3 -22
  32. data/app/views/promethee/edit/write/component/_image.html.erb +4 -23
  33. data/app/views/promethee/edit/write/component/_row.html.erb +4 -25
  34. data/app/views/promethee/edit/write/component/_slider.html.erb +3 -20
  35. data/app/views/promethee/edit/write/component/_text.html.erb +5 -24
  36. data/app/views/promethee/edit/write/component/_video.html.erb +7 -6
  37. data/lib/promethee/data.rb +56 -100
  38. data/lib/promethee/rails/version.rb +1 -1
  39. metadata +6 -4
  40. data/app/assets/stylesheets/promethee-editor/_component.sass +0 -27
  41. data/app/assets/stylesheets/promethee-editor/_mover.sass +0 -85
@@ -37,7 +37,7 @@ promethee_data = Promethee::Data.new master_data, localization_data: localizatio
37
37
  class="promethee-localizer"
38
38
  ng-app="PrometheeLocalizer"
39
39
  ng-controller="PrometheeLocalizerController as prometheeLocalizerController">
40
- <input type="hidden" name="page[data]" id="page_data" value="{{data}}" />
40
+ <input type="hidden" name="localization[data]" id="page_data" value="{{data}}" />
41
41
 
42
42
  <%= render 'promethee/localize/component' %>
43
43
  <% Dir[__dir__ + '/localize/component/*.html.erb'].map do |file| %>
@@ -1,7 +1,6 @@
1
1
  <%
2
- promethee_data = Promethee::Data.new(master_data, localization_data: localization_data).to_h
2
+ promethee_data = Promethee::Data.new master_data, localization_data: localization_data
3
3
  %>
4
-
5
4
  <div class="promethee">
6
5
  <%= render 'promethee/show/components', components: promethee_data[:children] %>
7
6
  </div>
@@ -4,30 +4,9 @@
4
4
  <%= render "promethee/edit/move/component/#{File.basename(file, '.html.erb').sub(/\A_/, '')}" %>
5
5
  <% end %>
6
6
 
7
- <script type="text/ng-template" id="promethee/move">
8
- <div ng-init="components = component.children; type = component.type"
9
- class="promethee__move--list">
10
- <div class="promethee__move--droppable promethee__move--droppable--{{type}} promethee__move--droppable--{{type}}--first"
11
- droppable
12
- data-index="0"
13
- >
14
- </div>
15
- <div ng-repeat="component in components"
16
- class="promethee__move--draggable promethee__move--draggable--{{type}}"
17
- draggable
18
- data-index="{{$index}}"
19
- data-type="{{component.type}}"
20
- >
21
- <ng-include src="'promethee/move/component/' + component.type"></ng-include>
22
- <div class="promethee__move--droppable promethee__move--droppable--{{type}}"
23
- droppable
24
- data-index="{{$index+1}}"
25
- data-type="{{type}}"
26
- >
27
- </div>
28
- </div>
29
- </div>
30
- </script>
7
+ <div class="promethee-editor__move" ng-show="mode == 'move'">
8
+ <ng-include src="'promethee/move/components'"></ng-include>
9
+ </div>
31
10
 
32
11
  <script type="text/javascript">
33
12
  promethee
@@ -36,34 +15,31 @@
36
15
  restrict:'A',
37
16
  link: function(scope, element, attrs) {
38
17
  element.draggable({
18
+ revert: true,
19
+ revertDuration: 0,
39
20
  scroll: true,
40
- cursor: "pointer",
41
- cursorAt: { top: 0, left: 0 },
42
21
  refreshPositions: true,
43
22
  start: function() {
44
23
  var $elementDragged = $(element[0]);
45
- $elementDragged.addClass('promethee__move--dragged');
46
24
  var type = $elementDragged.data('type');
47
- $('.promethee__move').addClass('promethee__move--dragging promethee__move--dragging--' + type);
25
+ $('.promethee-editor__move').addClass('promethee-editor__move--dragging promethee-editor__move--dragging--' + type);
48
26
 
49
27
  // The droppable zone immediately before has no use, it would put the object at the same position
50
- var $droppableBefore = $elementDragged.prev('.promethee__move--draggable').find('.promethee__move--droppable').last();
28
+ // FIXME the selector is not correct
29
+ /*
30
+ var $droppableBefore = $elementDragged.prev('.promethee-editor__move__draggable').find('.promethee-editor__move__droppable').last();
51
31
  if ($droppableBefore.length === 0) {
52
32
  // For the first child, we look for the previous droppable zone
53
- $droppableBefore = $elementDragged.prev('.promethee__move--droppable');
33
+ $droppableBefore = $elementDragged.prev('.promethee-editor__move__droppable');
54
34
  }
55
- $droppableBefore.addClass('promethee__move--droppable--hidden');
35
+ $droppableBefore.addClass('promethee-editor__move__droppable--hidden');
36
+ */
56
37
  },
57
38
  stop: function() {
58
39
  var $elementDragged = $(element[0]);
59
- $elementDragged.removeClass('promethee__move--dragged');
60
40
  var type = $elementDragged.data('type');
61
- $('.promethee__move').removeClass('promethee__move--dragging promethee__move--dragging--' + type);
62
-
63
- $('.promethee__move--droppable').removeClass('promethee__move--droppable--hidden');
64
- },
65
- helper: function( event ) {
66
- return $( '<div></div>' );
41
+ $('.promethee-editor__move').removeClass('promethee-editor__move--dragging promethee-editor__move--dragging--' + type);
42
+ // $('.promethee-editor__move__droppable').removeClass('promethee-editor__move__droppable--hidden');
67
43
  }
68
44
  });
69
45
  }
@@ -74,9 +50,11 @@
74
50
  restrict: 'A',
75
51
  link: function(scope, element, attrs) {
76
52
  element.droppable({
53
+ tolerance: 'pointer',
77
54
  drop: function(event, ui) {
78
55
  var draggedFromList = angular.element(ui.draggable).parent().scope().components;
79
56
  var draggedFromIndex = parseInt(ui.draggable[0].getAttribute('data-index'));
57
+ // console.log('dragged', draggedFromList, draggedFromIndex);
80
58
  draggedFromList.splice(draggedFromIndex, 1);
81
59
 
82
60
  var component = angular.element(ui.draggable).scope().component;
@@ -89,6 +67,7 @@
89
67
  droppedToIndex -= 1;
90
68
  }
91
69
  }
70
+ // console.log('dropped', component, droppedToList, droppedToIndex);
92
71
  droppedToList.splice(droppedToIndex, 0, component);
93
72
 
94
73
  scope.$apply();
@@ -1,36 +1,4 @@
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>
1
+ <div class="promethee-editor__preview promethee-editor__preview--{{preview}}" ng-show="mode == 'preview'">
2
+ <i class="fa fa-refresh fa-spin fa-fw promethee-editor__preview-loader"></i>
3
+ <iframe class="promethee-editor__preview-frame" name="preview" sandbox="allow-scripts" frameBorder="0"></iframe>
4
+ </div>
@@ -8,30 +8,14 @@
8
8
  <% Dir[__dir__ + '/inspector/component/_*.html.erb'].map do |file| %>
9
9
  <%= render "promethee/edit/inspector/component/#{File.basename(file, '.html.erb').sub(/\A_/, '')}" %>
10
10
  <% end %>
11
-
12
- <script type="text/ng-template" id="promethee/write">
13
- <div class="promethee-editor__page">
14
- <div ng-class="{ 'container': fullscreen.enabled, 'container-fluid': fullscreen.disabled }">
15
- <div
16
- ng-init="component = component || data"
17
- class="promethee-editor__component promethee-editor__component--page"
18
- >
19
- <ng-include src="'promethee/write/components'"></ng-include>
20
- </div>
11
+ <div class="promethee-editor__write" ng-show="mode == 'write'">
12
+ <div ng-class="{ 'container-fluid': fullscreen }">
13
+ <div ng-init="component = component || data"
14
+ class="promethee-editor__component promethee-editor__component--page"
15
+ >
16
+ <ng-include src="'promethee/write/components'"></ng-include>
21
17
  </div>
22
- <ng-include src="'promethee/write/add_button'"></ng-include>
23
18
  </div>
24
-
25
- <div class="promethee-editor__inspector" ng-class="{'promethee-editor__inspector--open': inspected.component}">
26
- <div class="promethee-editor__inspector-header">
27
- <div class="pull-right">
28
- <span ng-click="inspected.component = null"><%= fa_icon 'window-close' %></span>
29
- </div>
30
- <h5 ng-if="inspected.component">{{inspected.component.type}}</h5>
31
- </div>
32
-
33
- <div ng-if="inspected.component" class="promethee-editor__inspector-content">
34
- <ng-include src="'promethee/inspector/component/' + inspected.component.type"></ng-include>
35
- </div>
36
- </div>
37
- </script>
19
+ <ng-include src="'promethee/write/add_button'"></ng-include>
20
+ <%= render 'promethee/edit/inspector/inspector' %>
21
+ </div>
@@ -0,0 +1,11 @@
1
+ <div class="promethee-editor__inspector" ng-show="promethee.inspected">
2
+ <div class="promethee-editor__inspector-header">
3
+ <div class="pull-right">
4
+ <span ng-click="promethee.inspected = null"><%= fa_icon :times %></span>
5
+ </div>
6
+ <h5>{{promethee.inspected.type}}</h5>
7
+ </div>
8
+ <div class="promethee-editor__inspector-content">
9
+ <ng-include ng-if="promethee.inspected" src="'promethee/inspector/component/' + promethee.inspected.type"></ng-include>
10
+ </div>
11
+ </div>
@@ -1,10 +1,10 @@
1
1
  <script type="text/ng-template" id="promethee/inspector/component/column">
2
2
  <div class="form-group">
3
3
  <label class="label-control">Size</label>
4
- <input ng-model="inspected.component.attributes.size" class="form-control" type="number"/>
4
+ <input ng-model="promethee.inspected.attributes.size" class="form-control" type="number"/>
5
5
  </div>
6
6
  <div class="form-group">
7
7
  <label class="label-control">Offset</label>
8
- <input ng-model="inspected.component.attributes.offset" class="form-control" type="number"/>
8
+ <input ng-model="promethee.inspected.attributes.offset" class="form-control" type="number"/>
9
9
  </div>
10
10
  </script>
@@ -1,6 +1,6 @@
1
1
  <script type="text/ng-template" id="promethee/inspector/component/cover">
2
2
  <div class="form-group">
3
3
  <label class="label-control">Image Url</label>
4
- <input ng-model="inspected.component.attributes.src" class="form-control" type="text"/>
4
+ <input ng-model="promethee.inspected.attributes.src" class="form-control" type="text"/>
5
5
  </div>
6
6
  </script>
@@ -1,6 +1,6 @@
1
1
  <script type="text/ng-template" id="promethee/inspector/component/details">
2
2
  <div class="form-group">
3
3
  <label class="label-control">Summary</label>
4
- <input ng-model="inspected.component.attributes.summary" class="form-control" type="text"/>
4
+ <input ng-model="promethee.inspected.attributes.summary" class="form-control" type="text"/>
5
5
  </div>
6
6
  </script>
@@ -1,12 +1,12 @@
1
1
  <script type="text/ng-template" id="promethee/inspector/component/image">
2
2
  <div class="form-group">
3
3
  <label class="label-control">Url</label>
4
- <input class="form-control" ng-model="inspected.component.attributes.src">
4
+ <input class="form-control" ng-model="promethee.inspected.attributes.src">
5
5
  </div>
6
6
 
7
7
  <div class="form-group">
8
8
  <label class="label-control">Alt</label>
9
- <input class="form-control" ng-model="inspected.component.attributes.alt">
9
+ <input class="form-control" ng-model="promethee.inspected.attributes.alt">
10
10
  </div>
11
11
 
12
12
  <div class="form-group">
@@ -18,6 +18,6 @@
18
18
  ['alignment', ['ul', 'ol', 'paragraph']],
19
19
  ['code', ['codeview']]
20
20
  ]
21
- }" ng-model="inspected.component.attributes.caption"></summernote>
21
+ }" ng-model="promethee.inspected.attributes.caption"></summernote>
22
22
  </div>
23
23
  </script>
@@ -1,13 +1,4 @@
1
1
  <script type="text/ng-template" id="promethee/inspector/component/text">
2
- <ul class="list-group">
3
- <li class="list-group-item">
4
- Number of words
5
- <span class="badge badge-primary badge-pill">{{inspected.component.attributes.body | textContentFromHTML: 'distinctParagraphs' | numberOfWords}}</span>
6
- </li>
7
-
8
- <li class="list-group-item">
9
- Number of characters
10
- <span class="badge badge-primary badge-pill">{{inspected.component.attributes.body | textContentFromHTML | numberOfCharacters}}</span>
11
- </li>
12
- </ul>
2
+ {{promethee.inspected.attributes.body | textContentFromHTML: 'distinctParagraphs' | numberOfWords}} words<br>
3
+ {{promethee.inspected.attributes.body | textContentFromHTML | numberOfCharacters}} characters
13
4
  </script>
@@ -1,6 +1,6 @@
1
1
  <script type="text/ng-template" id="promethee/inspector/component/video">
2
2
  <div class="form-group">
3
3
  <label class="label-control">Url</label>
4
- <input ng-model="inspected.component.attributes.url" class="form-control" type="text"/>
4
+ <input ng-model="promethee.inspected.attributes.url" class="form-control" type="text"/>
5
5
  </div>
6
6
  </script>
@@ -1,3 +1,5 @@
1
1
  <script type="text/ng-template" id="promethee/move/component">
2
- <ng-include src="'promethee/move/component/' + component.type"></ng-include>
2
+ <div class="promethee-editor__move__component">
3
+ <ng-include src="'promethee/move/component/' + component.type"></ng-include>
4
+ </div>
3
5
  </script>
@@ -1,19 +1,25 @@
1
1
  <script type="text/ng-template" id="promethee/move/components">
2
2
  <div ng-init="type = component.type; components = component.children">
3
+ <div
4
+ class="promethee-editor__move__droppable promethee-editor__move__droppable--{{type}} promethee-editor__move__droppable--{{type}}--first"
5
+ droppable
6
+ data-index="0"
7
+ >
8
+ </div>
3
9
  <div
4
10
  ng-repeat="component in components"
5
- class="promethee__move--draggable promethee__move--draggable--{{type}}"
11
+ class="promethee-editor__move__draggable promethee-editor__move__draggable--{{type}}"
6
12
  draggable
7
13
  data-index="{{$index}}"
8
14
  data-type="{{component.type}}"
9
- >
15
+ >
10
16
  <ng-include src="'promethee/move/component'"></ng-include>
11
17
  <div
12
- class="promethee__move--droppable promethee__move--droppable--{{type}}"
18
+ class="promethee-editor__move__droppable promethee-editor__move__droppable--{{type}}"
13
19
  droppable
14
20
  data-index="{{$index+1}}"
15
21
  data-type="{{type}}"
16
- >
22
+ >
17
23
  </div>
18
24
  </div>
19
25
  </div>
@@ -1,13 +1,15 @@
1
1
  <script type="text/ng-template" id="promethee/move/component/column">
2
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
- >
3
+ <div class="header">Column</div>
4
+ <ng-include src="'promethee/move/components'"></ng-include>
5
+ <div
6
+ class=" promethee-editor__move__droppable
7
+ promethee-editor__move__droppable--row
8
+ promethee-editor__move__droppable--row--inside-column"
9
+ droppable
10
+ data-index="{{$index+1}}"
11
+ data-type="{{type}}"
12
+ >
13
+ </div>
12
14
  </div>
13
15
  </script>
@@ -3,6 +3,6 @@
3
3
  class="promethee-editor__wrapper promethee-editor__cover-content"
4
4
  ng-bind-html="component.attributes.body | htmlSafe"
5
5
  style="background-image: url('{{component.attributes.src}}')"
6
- ></div>
6
+ ></div>
7
7
  </div>
8
8
  </script>
@@ -1,6 +1,6 @@
1
1
  <script type="text/ng-template" id="promethee/move/component/details">
2
2
  <details>
3
3
  <summary>{{component.attributes.summary}}</summary>
4
- <ng-include src="'promethee/move'"></ng-include>
4
+ <ng-include src="'promethee/move/components'"></ng-include>
5
5
  </details>
6
6
  </script>
@@ -1,6 +1,6 @@
1
1
  <script type="text/ng-template" id="promethee/move/component/row">
2
- <h1>Row</h1>
2
+ <div class="header">Row</div>
3
3
  <div class="row">
4
- <ng-include src="'promethee/move'"></ng-include>
4
+ <ng-include src="'promethee/move/components'"></ng-include>
5
5
  </div>
6
6
  </script>
@@ -0,0 +1 @@
1
+ <input type="hidden" name="page[data]" id="page_data" value="{{data}}" />
@@ -1,29 +1,23 @@
1
- <nav class="navbar navbar-default promethee-editor__navbar">
1
+ <nav class="navbar navbar-default promethee-editor__navbar" ng-class="{'navbar-fixed-top': fullscreen }">
2
2
  <div class="container-fluid">
3
3
  <div class="navbar-header promethee-editor__icon">
4
4
  <div class="navbar-brand"><%= File.read(__dir__ + '/../../../../assets/images/icon-promethee.svg').html_safe %></div>
5
5
  </div>
6
6
  <div id="navbar">
7
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>
8
+ <li ng-click="mode = 'write'" ng-class="{active: mode == 'write'}"><a><%= fa_icon :pencil %></a></li>
9
+ <li ng-click="mode = 'move'" ng-class="{active: mode == 'move'}"><a><%= fa_icon :arrows %></a></li>
10
+ <li ng-click="enablePreview()" ng-class="{active: mode == 'preview'}">
11
+ <a data-toggle="dropdown"><%= fa_icon :eye %></a>
12
+ <ul class="dropdown-menu" ng-show="mode == 'preview'">
13
+ <li ng-click="preview = 'desktop'" ng-class="{active: preview == 'desktop'}"><a><i class="fa fa-desktop"></i></a></li>
14
+ <li ng-click="preview = 'tablet'" ng-class="{active: preview == 'tablet'}"><a><i class="fa fa-tablet"></i></a></li>
15
+ <li ng-click="preview = 'mobile'" ng-class="{active: preview == 'mobile'}"><a><i class="fa fa-mobile"></i></a></li>
16
+ </ul>
17
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>
18
+ <li ng-click="fullscreen = !fullscreen">
19
+ <a ng-show="fullscreen"><%= fa_icon :expand %></a>
20
+ <a ng-hide="fullscreen"><%= fa_icon :compress %></a>
27
21
  </li>
28
22
  </ul>
29
23
  </div>
@@ -1,33 +1,26 @@
1
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="action.is('preview')"
7
- style="margin-bottom: 6px"
8
- >
9
- Add component
10
- </span>
2
+ <a ng-click="addComponentTo(component.children)" class="promethee-editor__adder__button"><%= fa_icon 'plus-circle', class: "fa-3x" %></a>
3
+ </script>
11
4
 
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>
5
+ <div class="promethee-editor__adder" ng-controller="AdderController">
6
+ <div class="modal fade in" tabindex="-1" role="dialog" style="display: {{adding ? 'block' : 'none'}}">
7
+ <div class="modal-dialog modal-lg" role="document">
8
+ <div class="modal-content">
9
+ <div class="modal-header">
10
+ <button type="button" class="close" ng-click="close()"><span aria-hidden="true">&times;</span></button>
11
+ <h4 class="modal-title">Select component</h4>
12
+ </div>
13
+ <div class="modal-body">
14
+ <div class="row">
15
+ <div
16
+ ng-repeat="definition in definitions"
17
+ ng-click="pushComponent(definition)"
18
+ class="col-md-3"
19
+ >
20
+ <div class="thumbnail">
21
+ <img ng-src="{{definition.thumb}}" class="img-responsive">
22
+ <h4>{{definition.name}}</h4>
23
+ <p>{{definition.description}}</p>
31
24
  </div>
32
25
  </div>
33
26
  </div>
@@ -35,12 +28,11 @@
35
28
  </div>
36
29
  </div>
37
30
  </div>
38
- </script>
31
+ </div>
39
32
 
40
33
  <script type="text/javascript">
41
- promethee.controller('AdderController', ['$scope', '$rootScope', 'definitions', 'action', function($scope, $rootScope, definitions, action) {
34
+ promethee.controller('AdderController', ['$scope', '$rootScope', 'definitions', function($scope, $rootScope, definitions) {
42
35
 
43
- $scope.action = action;
44
36
  $scope.adding = false;
45
37
  $scope.childrenToAddTo = null;
46
38
  $scope.definitions = definitions;