promethee 1.0.20 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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;