promethee 1.6.29 → 1.6.30

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ca0564eee92cae8d621b04bcac0dc4e2e487a923
4
- data.tar.gz: cf904330dde79de87cae1e02c407dadd70eec392
3
+ metadata.gz: '083292512fe13e861376d4e3267c9f536655ebb1'
4
+ data.tar.gz: 92351c0b82f1e3112377460e3bc116abda3c0377
5
5
  SHA512:
6
- metadata.gz: 429d0dd2615cbf26be15db952e432eed243063d94841bcf8450a057d1ece4789d3766b6b44e5127b5c8179be1fbb5b087d3beecb3c75e05394d94ccc2d45671a
7
- data.tar.gz: 290ac1945cd249e37463a5347810b20e1b6e898ce4d5fd7198aa08f794e522c74298550671c78ce52fa0eeadc111ef6c329242a4390584dc896cfa4dad9ee1a9
6
+ metadata.gz: a67c38235022701f4b18cc334e706fb4c90eecfbb8a5ea496c398d3e8ae98fb6ea356876b7f9d985c0135919ea9c7686d6e8db344eac5bd59d178513f1d8a0d2
7
+ data.tar.gz: e578016f13e629c184af2e0d285cef953f7ce1bb90a10d2a4e45c55d6014cf38555a7b063eab512e9f1f3cda431c2010becace3491a43b667348aa52c8919a11
@@ -55,7 +55,7 @@
55
55
  &.active
56
56
  background-color: #777
57
57
  &--slider_item
58
- .slider-item-text
58
+ .slider-item-caption
59
59
  margin: 10px 0 5px 0
60
60
  &__columns
61
61
  .row
@@ -17,9 +17,9 @@
17
17
  <div class="form-group">
18
18
  <label class="label-control">Button label position</label>
19
19
  <div>
20
- <label class="radio-inline"> <input ng-model="promethee.inspected.attributes.open_label_position" class="form-control" type="radio" value="left" />Left </label>
21
- <label class="radio-inline"> <input ng-model="promethee.inspected.attributes.open_label_position" class="form-control" type="radio" value="center" />Center </label>
22
- <label class="radio-inline"> <input ng-model="promethee.inspected.attributes.open_label_position" class="form-control" type="radio" value="right" />Right </label>
20
+ <label class="radio-inline"> <input ng-model="promethee.inspected.attributes.open_label_position" type="radio" value="left" />Left </label>
21
+ <label class="radio-inline"> <input ng-model="promethee.inspected.attributes.open_label_position" type="radio" value="center" />Center </label>
22
+ <label class="radio-inline"> <input ng-model="promethee.inspected.attributes.open_label_position" type="radio" value="right" />Right </label>
23
23
  </div>
24
24
  </div>
25
25
  </script>
@@ -5,47 +5,16 @@
5
5
  <input ng-model="promethee.inspected.attributes.items_per_line" type="range" min="2" max="12">
6
6
  </div>
7
7
 
8
- <div ui-sortable ng-model="promethee.inspected.children">
9
- <div
10
- class="panel panel-default"
11
- ng-repeat="component in promethee.inspected.children"
12
- >
13
- <div class="panel-body">
14
- <div class="row">
15
- <div class="col-xs-9">
16
- <span class="label label-default">#{{$index + 1}}</span>
17
- <span class="label label-info">{{component.type}}</span>
18
- </div>
19
- <div class="col-xs-3">
20
- <ng-include src="'promethee/move/component'"></ng-include>
21
- </div>
22
- </div>
23
- </div>
8
+ <div class="form-group">
9
+ <div class="btn btn-default" ng-click="addComponentByType('collection_item', promethee.inspected.children)">Add item</div>
10
+ <div ng-show="promethee.inspected.children.length > 1">
11
+ <br><br>
12
+ <label class="label-control">Drag the items below to reorder them:</label>
13
+ <ul ui-sortable ng-model="promethee.inspected.children" class="list-unstyled">
14
+ <li ng-repeat="item in promethee.inspected.children">
15
+ <%= fa_icon :bars %> Item {{$index + 1}}
16
+ </li>
17
+ </ul>
24
18
  </div>
25
19
  </div>
26
-
27
- <div class="pull-right btn-toolbar" ng-controller="CollectionInspectorController">
28
- <span ng-repeat="definition in itemDefinitions" class="btn btn-default" ng-click="addItem(definition)">Add {{definition.name}}</span>
29
- </div>
30
- </script>
31
-
32
- <script>
33
- promethee.controller('CollectionInspectorController', ['$scope', function($scope) {
34
- var availableComponents = ['image', 'video'];
35
-
36
- $scope.itemDefinitions = $scope.promethee.definitions.filter(function(definition) {
37
- return availableComponents.includes(definition.data.type);
38
- });
39
-
40
- var clone = function(object) {
41
- return JSON.parse(JSON.stringify(object));
42
- }
43
-
44
- $scope.addItem = function(definition) {
45
- var item = JSON.parse(JSON.stringify(definition.data));
46
- item.id = $scope.generateIdentifier();
47
-
48
- $scope.promethee.inspected.children.push(item);
49
- }
50
- }])
51
20
  </script>
@@ -0,0 +1,25 @@
1
+ <%
2
+ init = <<~JAVASCRIPT
3
+ promethee.definitions.push({
4
+ name: 'Collection Item',
5
+ icon: #{ promethee_component_render_icon 'collection_item' },
6
+ position: 15,
7
+ library: false,
8
+ data: {
9
+ type: 'collection_item',
10
+ attributes: {
11
+ searchable_caption: "",
12
+ media_type: "image",
13
+ image: {
14
+ id: undefined,
15
+ name: ""
16
+ },
17
+ video: {
18
+ url: "https://vimeo.com/115082758"
19
+ }
20
+ }
21
+ }
22
+ })
23
+ JAVASCRIPT
24
+ %>
25
+ <div ng-init="<%= init %>"></div>
@@ -0,0 +1,25 @@
1
+ <script type="text/ng-template" id="promethee/components/collection_item/edit/inspect">
2
+ <div class="form-group">
3
+ <label class="label-control">Media type</label>
4
+ <div>
5
+ <label class="radio-inline"> <input ng-model="promethee.inspected.attributes.media_type" type="radio" value="image" />Image </label>
6
+ <label class="radio-inline"> <input ng-model="promethee.inspected.attributes.media_type" type="radio" value="video" />Video </label>
7
+ </div>
8
+ </div>
9
+
10
+ <promethee-uploader ng-show="promethee.inspected.attributes.media_type == 'image'" ng-model="promethee.inspected.attributes.image" label="Image" limits="'.jpg,.jpeg,.png,.gif'"></promethee-uploader>
11
+
12
+ <div class="form-group" ng-show="promethee.inspected.attributes.media_type == 'video'">
13
+ <label class="label-control">Video URL</label>
14
+ <input class="form-control" ng-model="promethee.inspected.attributes.video.url"></summernote>
15
+ </div>
16
+
17
+ <div class="row">
18
+ <div class="col-xs-12">
19
+ <div class="form-group">
20
+ <label class="label-control">Caption</label>
21
+ <summernote config="summernoteConfig" ng-model="promethee.inspected.attributes.searchable_caption"></summernote>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </script>
@@ -0,0 +1,46 @@
1
+ <script type="text/ng-template" id="promethee/components/collection_item/edit/move">
2
+ <%= render 'promethee/edit/move.header', type: 'collection_item' %>
3
+ <div class="header">Collection Item</div>
4
+ <div class="row">
5
+ <div class="col-xs-12">
6
+ <img ng-show="component.attributes.media_type == 'image'" ng-src="/promethee/blob/{{component.attributes.image.id}}" class="img-responsive">
7
+ <div ng-show="component.attributes.media_type == 'video'" ng-controller="CollectionItemVideoController">
8
+ <div class="embed-responsive embed-responsive-16by9">
9
+ <iframe ng-if="embed" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="allowfullscreen" ng-src="{{embed | urlSafe}}"></iframe>
10
+ <div class="video-neutralizing-overlay"></div>
11
+ </div>
12
+ </div>
13
+ </div>
14
+ </div>
15
+ <div class="row">
16
+ <div class="col-xs-12 collection-item-caption" ng-show="component.attributes.searchable_caption !== ''">Caption</div>
17
+ </div>
18
+ </div>
19
+ </div>
20
+ </script>
21
+
22
+ <script>
23
+ promethee.controller('CollectionItemVideoController', ['$scope', function($scope) {
24
+ Object.defineProperty($scope, 'embed', {
25
+ get: function() {
26
+ var embed = null;
27
+ var url = this.component.attributes.video.url + '';
28
+
29
+ if(url.includes('vimeo')) {
30
+ var id = url.replace(/^(?:https?:)?\/\/(?:(?:www|player)\.)?vimeo\.com\/(?:video\/)?(\d+).*?$/, '$1');
31
+ embed = 'https://player.vimeo.com/video/' + id + '?color=ffffff&title=0&byline=0&portrait=0';
32
+ }
33
+ else if(url.includes('youtube')) {
34
+ var parts = url.split('watch?v=');
35
+ var id = parts[parts.length - 1];
36
+ embed = 'https://www.youtube.com/embed/' + id;
37
+ }
38
+ else {
39
+ var embed = url;
40
+ }
41
+
42
+ return embed;
43
+ }
44
+ })
45
+ }]);
46
+ </script>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"></svg>
@@ -0,0 +1,15 @@
1
+ <script type="text/ng-template" id="promethee/components/collection_item/localize">
2
+ <div ng-show="component.master.attributes.searchable_caption !== ''">
3
+ <hr>
4
+ <div class="row">
5
+ <div class="col-md-6">
6
+ <b>Collection Item Caption</b>
7
+ <div class="promethee-edit__wrapper" ng-bind-html="component.master.attributes.searchable_caption | htmlSafe"></div>
8
+ </div>
9
+ <div class="col-md-6">
10
+ <label class="label-control">Collection Item Caption</label>
11
+ <summernote config="summernoteConfig" ng-model="component.attributes.searchable_caption"></summernote>
12
+ </div>
13
+ </div>
14
+ </div>
15
+ </script>
@@ -0,0 +1,32 @@
1
+ <%
2
+ media_type = component[:attributes][:media_type]
3
+ case media_type
4
+ when 'image'
5
+ image_data = component[:attributes][:image]
6
+ if image_data && image_data[:id]
7
+ image_blob = ActiveStorage::Blob.find image_data[:id]
8
+ end
9
+ when 'video'
10
+ url = component[:attributes][:video][:url].to_s
11
+ if 'vimeo'.in? url
12
+ video_id = url.gsub(/\A(?:https?:)?\/\/(?:(?:www|player)\.)?vimeo\.com\/(?:video\/)?(\d+).*?\z/, '\1')
13
+ iframe_src = "https://player.vimeo.com/video/#{video_id}?color=ffffff&title=0&byline=0&portrait=0"
14
+ elsif 'youtube'.in? url
15
+ video_id = url.split('watch?v=').last
16
+ iframe_src = "http://www.youtube.com/embed/#{video_id}"
17
+ else
18
+ iframe_src = url
19
+ end
20
+ end
21
+ %>
22
+ <div class="collection-item__content">
23
+
24
+ <% if iframe_src.present? %>
25
+ <div class="embed-responsive embed-responsive-16by9">
26
+ <iframe frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="allowfullscreen" src="<%= iframe_src %>"></iframe>
27
+ </div>
28
+ <% elsif image_blob.present? %>
29
+ <%= render 'promethee/show/image.srcset', blob: image_blob, alt: '' %>
30
+ <% end %>
31
+ <%= component[:attributes][:searchable_caption].to_s.html_safe %>
32
+ </div>
@@ -1,10 +1,10 @@
1
1
  <%
2
- background_color = component[:attributes][:bgcolor]
2
+ background_color = "rgba(255, 255, 255, 1)" || component[:attributes][:bgcolor]
3
3
  background_images = []
4
4
  background_positions = []
5
5
  background_sizes = []
6
6
 
7
- if component[:attributes].has_key?(:backgrounds) # retro-compatibility
7
+ if component[:attributes] && component[:attributes].has_key?(:backgrounds) # retro-compatibility
8
8
  component[:attributes][:backgrounds].each do |item|
9
9
  image_data = item[:image]
10
10
  if image_data && image_data[:id]
@@ -2,7 +2,7 @@
2
2
  <%= render 'promethee/edit/move.header', type: 'slider' %>
3
3
  <div class="header">Slider</div>
4
4
  <div ng-controller="SliderMoveController">
5
- <div class="row carousel">
5
+ <div ng-show="components.length" class="row carousel">
6
6
  <div class="col-xs-1" ng-click="selectedIndex = (selectedIndex == 0) ? (components.length - 1) : (selectedIndex - 1)"><span><</span></div>
7
7
  <div class="col-xs-8" ng-repeat="component in components" ng-show="$index == selectedIndex">
8
8
  <ng-include src="'promethee/move/component'"></ng-include>
@@ -2,14 +2,21 @@
2
2
  init = <<~JAVASCRIPT
3
3
  promethee.definitions.push({
4
4
  name: 'Slider Item',
5
- icon: #{ promethee_component_render_icon 'slider' },
5
+ icon: #{ promethee_component_render_icon 'slider_item' },
6
6
  position: 15,
7
7
  library: false,
8
8
  data: {
9
9
  type: 'slider_item',
10
10
  attributes: {
11
- media: {},
12
- text: ""
11
+ searchable_caption: "",
12
+ media_type: "image",
13
+ image: {
14
+ id: undefined,
15
+ name: ""
16
+ },
17
+ video: {
18
+ url: "https://vimeo.com/115082758"
19
+ }
13
20
  }
14
21
  }
15
22
  })
@@ -1,52 +1,25 @@
1
1
  <script type="text/ng-template" id="promethee/components/slider_item/edit/inspect">
2
- <div ng-if="promethee.inspected.attributes.media.type !== undefined">
3
- <div class="row" ng-controller="SliderItemMediaInspectorController">
4
- <div class="col-xs-9">
5
- <span class="label label-info">{{component.type}}</span>
6
- </div>
7
- <div class="col-xs-3">
8
- <ng-include src="'promethee/move/component'"></ng-include>
9
- </div>
2
+ <div class="form-group">
3
+ <label class="label-control">Media type</label>
4
+ <div>
5
+ <label class="radio-inline"> <input ng-model="promethee.inspected.attributes.media_type" type="radio" value="image" />Image </label>
6
+ <label class="radio-inline"> <input ng-model="promethee.inspected.attributes.media_type" type="radio" value="video" />Video </label>
10
7
  </div>
11
8
  </div>
12
9
 
10
+ <promethee-uploader ng-show="promethee.inspected.attributes.media_type == 'image'" ng-model="promethee.inspected.attributes.image" label="Image" limits="'.jpg,.jpeg,.png,.gif'"></promethee-uploader>
11
+
12
+ <div class="form-group" ng-show="promethee.inspected.attributes.media_type == 'video'">
13
+ <label class="label-control">Video URL</label>
14
+ <input class="form-control" ng-model="promethee.inspected.attributes.video.url"></summernote>
15
+ </div>
16
+
13
17
  <div class="row">
14
18
  <div class="col-xs-12">
15
19
  <div class="form-group">
16
- <label class="label-control">Text</label>
17
- <summernote config="summernoteConfig" ng-model="promethee.inspected.attributes.text"></summernote>
20
+ <label class="label-control">Caption</label>
21
+ <summernote config="summernoteConfig" ng-model="promethee.inspected.attributes.searchable_caption"></summernote>
18
22
  </div>
19
23
  </div>
20
24
  </div>
21
-
22
- <div class="pull-right btn-toolbar" ng-controller="SliderItemInspectorController">
23
- <span ng-show="promethee.inspected.attributes.media.type === undefined" ng-repeat="definition in itemDefinitions" class="btn btn-default" ng-click="setMedia(definition)">Set {{definition.name}}</span>
24
- <span ng-show="promethee.inspected.attributes.media.type !== undefined" class="btn btn-danger" ng-click="removeMedia()">Remove Media</span>
25
- </div>
26
- </script>
27
-
28
- <script>
29
- promethee.controller('SliderItemInspectorController', ['$scope', function($scope) {
30
- var availableComponents = ['image', 'video'];
31
-
32
- $scope.itemDefinitions = $scope.promethee.definitions.filter(function(definition) {
33
- return availableComponents.includes(definition.data.type);
34
- });
35
-
36
- $scope.setMedia = function(definition) {
37
- var media = JSON.parse(JSON.stringify(definition.data));
38
- $scope.promethee.inspected.attributes.media = media;
39
- };
40
-
41
- $scope.removeMedia = function() {
42
- $scope.promethee.inspected.attributes.media = {};
43
- };
44
- }])
45
-
46
- promethee.controller('SliderItemMediaInspectorController', ['$scope', function($scope) {
47
- $scope.component = $scope.promethee.inspected.attributes.media;
48
- $scope.$watch("promethee.inspected", function() {
49
- $scope.component = $scope.promethee.inspected.attributes.media;
50
- })
51
- }])
52
25
  </script>
@@ -2,13 +2,45 @@
2
2
  <%= render 'promethee/edit/move.header', type: 'slider_item' %>
3
3
  <div class="header">Slider Item</div>
4
4
  <div class="row">
5
- <div class="col-xs-12" ng-if="component.attributes.media.type !== undefined">
6
- <div ng-init="component = component.attributes.media">
7
- <ng-include src="'promethee/move/component'"></ng-include>
5
+ <div class="col-xs-12">
6
+ <img ng-show="component.attributes.media_type == 'image'" ng-src="/promethee/blob/{{component.attributes.image.id}}" class="img-responsive">
7
+ <div ng-show="component.attributes.media_type == 'video'" ng-controller="SliderItemVideoController">
8
+ <div class="embed-responsive embed-responsive-16by9">
9
+ <iframe ng-if="embed" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="allowfullscreen" ng-src="{{embed | urlSafe}}"></iframe>
10
+ <div class="video-neutralizing-overlay"></div>
11
+ </div>
8
12
  </div>
9
13
  </div>
10
- <div class="col-xs-12 slider-item-text" ng-show="component.attributes.text !== ''">Text</div>
14
+ </div>
15
+ <div class="row">
16
+ <div class="col-xs-12 slider-item-caption" ng-show="component.attributes.searchable_caption !== ''">Caption</div>
11
17
  </div>
12
18
  </div>
13
19
  </div>
20
+ </script>
21
+
22
+ <script>
23
+ promethee.controller('SliderItemVideoController', ['$scope', function($scope) {
24
+ Object.defineProperty($scope, 'embed', {
25
+ get: function() {
26
+ var embed = null;
27
+ var url = this.component.attributes.video.url + '';
28
+
29
+ if(url.includes('vimeo')) {
30
+ var id = url.replace(/^(?:https?:)?\/\/(?:(?:www|player)\.)?vimeo\.com\/(?:video\/)?(\d+).*?$/, '$1');
31
+ embed = 'https://player.vimeo.com/video/' + id + '?color=ffffff&title=0&byline=0&portrait=0';
32
+ }
33
+ else if(url.includes('youtube')) {
34
+ var parts = url.split('watch?v=');
35
+ var id = parts[parts.length - 1];
36
+ embed = 'https://www.youtube.com/embed/' + id;
37
+ }
38
+ else {
39
+ var embed = url;
40
+ }
41
+
42
+ return embed;
43
+ }
44
+ })
45
+ }]);
14
46
  </script>
@@ -1,3 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100">
2
- <path fill="#FFF" d="M30.3,35.9 L30.3,64.4 L70.9,64.4 L70.9,35.9 L30.3,35.9 Z M71.9,34.9 L71.9,65.4 L29.3,65.4 L29.3,34.9 L71.9,34.9 Z M75,32 L75,68.2 L26.1,68.2 L26.1,32 L75,32 Z M73,34 L28.1,34 L28.1,66.2 L73,66.2 L73,34 Z M90,37.7 L77,37.7 L77,35.7 L92,35.7 L92,64.5 L77,64.5 L77,62.5 L90,62.5 L90,37.7 Z M11,62.5 L24,62.5 L24,64.5 L9,64.5 L9,35.7 L24,35.7 L24,37.7 L11,37.7 L11,62.5 Z"/>
3
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"></svg>
@@ -3,12 +3,12 @@
3
3
  <hr>
4
4
  <div class="row">
5
5
  <div class="col-md-6">
6
- <b>Slide Item Text</b>
7
- <div class="promethee-edit__wrapper" ng-bind-html="component.master.attributes.text | htmlSafe"></div>
6
+ <b>Slider Item Caption</b>
7
+ <div class="promethee-edit__wrapper" ng-bind-html="component.master.attributes.searchable_caption | htmlSafe"></div>
8
8
  </div>
9
9
  <div class="col-md-6">
10
- <label class="label-control">Slide Item Text</label>
11
- <summernote config="summernoteConfig" ng-model="component.attributes.text"></summernote>
10
+ <label class="label-control">Slider Item Caption</label>
11
+ <summernote config="summernoteConfig" ng-model="component.attributes.searchable_caption"></summernote>
12
12
  </div>
13
13
  </div>
14
14
  </div>
@@ -1,5 +1,32 @@
1
- <% media = component[:attributes][:media] %>
1
+ <%
2
+ media_type = component[:attributes][:media_type]
3
+ case media_type
4
+ when 'image'
5
+ image_data = component[:attributes][:image]
6
+ if image_data && image_data[:id]
7
+ image_blob = ActiveStorage::Blob.find image_data[:id]
8
+ end
9
+ when 'video'
10
+ url = component[:attributes][:video][:url].to_s
11
+ if 'vimeo'.in? url
12
+ video_id = url.gsub(/\A(?:https?:)?\/\/(?:(?:www|player)\.)?vimeo\.com\/(?:video\/)?(\d+).*?\z/, '\1')
13
+ iframe_src = "https://player.vimeo.com/video/#{video_id}?color=ffffff&title=0&byline=0&portrait=0"
14
+ elsif 'youtube'.in? url
15
+ video_id = url.split('watch?v=').last
16
+ iframe_src = "http://www.youtube.com/embed/#{video_id}"
17
+ else
18
+ iframe_src = url
19
+ end
20
+ end
21
+ %>
2
22
  <div class="carousel-item__content">
3
- <%= render 'promethee/show/component', component: media if defined?(media[:type]) %>
4
- <%= component[:attributes][:text].to_s.html_safe %>
23
+
24
+ <% if iframe_src.present? %>
25
+ <div class="embed-responsive embed-responsive-16by9">
26
+ <iframe frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="allowfullscreen" src="<%= iframe_src %>"></iframe>
27
+ </div>
28
+ <% elsif image_blob.present? %>
29
+ <%= render 'promethee/show/image.srcset', blob: image_blob, alt: '' %>
30
+ <% end %>
31
+ <%= component[:attributes][:searchable_caption].to_s.html_safe %>
5
32
  </div>
@@ -1,5 +1,5 @@
1
1
  module Promethee
2
2
  module Rails
3
- VERSION = '1.6.29'
3
+ VERSION = '1.6.30'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: promethee
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.29
4
+ version: 1.6.30
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julien Dargelos
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2018-06-18 00:00:00.000000000 Z
16
+ date: 2018-06-19 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: rails
@@ -196,6 +196,12 @@ files:
196
196
  - app/views/promethee/components/collection/_icon.svg
197
197
  - app/views/promethee/components/collection/_localize.html.erb
198
198
  - app/views/promethee/components/collection/_show.html.erb
199
+ - app/views/promethee/components/collection_item/_edit.define.html.erb
200
+ - app/views/promethee/components/collection_item/_edit.inspect.html.erb
201
+ - app/views/promethee/components/collection_item/_edit.move.html.erb
202
+ - app/views/promethee/components/collection_item/_icon.svg
203
+ - app/views/promethee/components/collection_item/_localize.html.erb
204
+ - app/views/promethee/components/collection_item/_show.html.erb
199
205
  - app/views/promethee/components/column/_edit.define.html.erb
200
206
  - app/views/promethee/components/column/_edit.inspect.html.erb
201
207
  - app/views/promethee/components/column/_edit.move.html.erb