promethee 1.6.63 → 1.7.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3dce055f4fbf6044f645b3757c3af8508909aba98135a0520d507965a352b00e
4
- data.tar.gz: 4f08baf43ef9f60c33c3e8a0af21233ae09ada1a0d6d28328c2419ce23b8ca0f
3
+ metadata.gz: d615539201ed702b072e8759debef564b7b8981068fa650b672c12c393bd1c82
4
+ data.tar.gz: 61afe497a197687435124bbf7cd19a894ed8db353d2a73dda701e1f7e0f3f847
5
5
  SHA512:
6
- metadata.gz: 7f7a2677637a9272dad36623910f89ea874d94f45b992aa4da1731784e68e5337a42c8f64c8f7031aabdcb2e912c48f2f1c6b43e3fabbf5cb2d7e4372faf96da
7
- data.tar.gz: 81f4937b7b7a33cfc0424a14205a48528ea306142339943025812f5e9eaf2b337f982639b3e36d370d7d5dea7b51cc649f876128f8c1c879c3c725644d39b948
6
+ metadata.gz: e29fb2e45cbc23eac0e068ff7bcb54cd0dd535abae2e913d3a5ea3eca49c30d6002094de6165354d5914008e4bb173c25988f3866f204b69f3080ac1b84670bb
7
+ data.tar.gz: 5686ecc9dcd36ffde59f8746e69511e437c545e86c6214ca494f8b7ccb20682f02f7cf1e82910f9765dd988bee4c4afaef0d603222f22c5f1fe2aaf626db1dac
@@ -1,5 +1,5 @@
1
1
  <%
2
- promethee_data = Promethee::Data.new master_data
2
+ promethee_data = Promethee::Data::Master.new master_data
3
3
  preview_url ||= promethee_preview_path
4
4
  back_url ||= nil
5
5
  logo = File.read "#{__dir__}/../../assets/images/icon-promethee.svg"
@@ -1,16 +1,43 @@
1
1
  <%
2
- promethee_data = Promethee::Data.new master_data, localization_data: localization_data
2
+ promethee_data = Promethee::Data::Localization.new localization_data, master_data
3
+ promethee_masters_multiple = Promethee::Data::MastersMultiple.new master_data, other_data
3
4
  %>
4
5
 
5
6
  <script type="text/javascript">
6
7
  var promethee = angular
7
8
  .module('PrometheeLocalizer', ['summernote'])
8
- .value('data', <%= promethee_data.localization_data_to_json.html_safe %>)
9
9
  .filter('htmlSafe', ['$sce', function($sce) {
10
10
  return function(val) {
11
11
  return $sce.trustAsHtml(val);
12
12
  };
13
- }]);
13
+ }])
14
+ .service('mastersMultiple', function() {
15
+ var all = [];
16
+ var current;
17
+ return {
18
+ set: function(masters) {
19
+ this.all = masters;
20
+ this.current = this.all[0];
21
+ },
22
+ choose: function(master) {
23
+ this.current = master;
24
+ },
25
+ masterForComponent: function(component) {
26
+ var componentFound;
27
+ this.current.components.forEach(function(masterComponent) {
28
+ if (masterComponent.id === component.id) {
29
+ componentFound = masterComponent;
30
+ }
31
+ });
32
+ return componentFound;
33
+ },
34
+ multiple: function() {
35
+ return this.all.length > 1;
36
+ },
37
+ all: all,
38
+ current: current
39
+ };
40
+ });
14
41
  </script>
15
42
 
16
43
  <% promethee_util_partials.each do |partial| %>
@@ -18,13 +45,12 @@ promethee_data = Promethee::Data.new master_data, localization_data: localizatio
18
45
  <% end %>
19
46
 
20
47
  <script type="text/javascript">
21
- promethee.controller('PrometheeLocalizerController', ['$scope', 'summernoteConfig', 'data', function($scope, summernoteConfig, data) {
22
-
23
- $scope.data = data;
24
- $scope.component = {children: data.components};
25
-
48
+ promethee.controller('PrometheeLocalizerController',
49
+ ['$scope', 'summernoteConfig', 'mastersMultiple', function($scope, summernoteConfig, mastersMultiple) {
26
50
  $scope.summernoteConfig = summernoteConfig;
27
-
51
+ $scope.data = <%= promethee_data.to_json.html_safe %>;
52
+ $scope.masters = mastersMultiple;
53
+ $scope.masters.set(<%= promethee_masters_multiple.to_json.html_safe %>);
28
54
  $scope.$watch('data', function(new_val, old_val) {
29
55
  if (old_val != new_val) {
30
56
  document.body.classList.add("promethee-page-locked");
@@ -33,30 +59,32 @@ promethee_data = Promethee::Data.new master_data, localization_data: localizatio
33
59
  }]);
34
60
  </script>
35
61
 
36
-
37
-
38
62
  <div id="prometheeLocalizer"
39
- class="promethee-localizer"
63
+ class="promethee-localizer ng-cloak"
40
64
  ng-app="PrometheeLocalizer"
41
65
  ng-controller="PrometheeLocalizerController as prometheeLocalizerController">
42
66
 
43
67
  <script type="text/ng-template" id="promethee/localize/component">
68
+ <span class="hidden">{{ master = masters.masterForComponent(component) }}</span>
44
69
  <ng-include src="'promethee/components/' + component.type + '/localize'"></ng-include>
45
70
  </script>
46
71
 
47
72
  <input type="hidden" name="<%= object_name %>[<%= method_name %>]" id="page_data" value="{{data}}" />
48
73
 
49
74
  <% promethee_localize_partials.each do |partial| %>
50
- <%= render partial %>
75
+ <%= render partial %>
51
76
  <% end %>
52
77
 
53
- <% #TODO override templates from current project %>
54
-
55
78
  <div class="row">
56
- <div class="col-md-6"><b>Master</b></div>
79
+ <div class="col-md-6">
80
+ <b ng-hide="masters.multiple()">Master</b>
81
+ <select ng-show="masters.multiple()" ng-model="masters.current" class="form-control ignore-lock">
82
+ <option ng-repeat="master in masters.all" ng-value="master">{{master.title}}</option>
83
+ </select>
84
+ </div>
57
85
  <div class="col-md-6"><b>Translation</b></div>
58
86
  </div>
59
- <div ng-repeat="component in component.children">
87
+ <div ng-repeat="component in data.components">
60
88
  <ng-include src="'promethee/localize/component'"></ng-include>
61
89
  </div>
62
90
  </div>
@@ -1,5 +1,5 @@
1
1
  <%
2
- promethee_data = Promethee::Data.new master_data, localization_data: localization_data
2
+ promethee_data = Promethee::Data::MasterLocalized.new master_data, localization_data
3
3
  %>
4
4
  <div class="promethee" class="ng-cloak">
5
5
  <%= render 'promethee/show/component', component: promethee_data %>
@@ -4,7 +4,7 @@
4
4
  <div class="row">
5
5
  <div class="col-md-6">
6
6
  <b>Aside visible content</b>
7
- <div ng-bind-html="component.master.attributes.searchable_visible_content | htmlSafe"></div>
7
+ <div ng-bind-html="master.attributes.searchable_visible_content | htmlSafe"></div>
8
8
  </div>
9
9
  <div class="col-md-6">
10
10
  <div class="form-group">
@@ -14,10 +14,10 @@
14
14
  </div>
15
15
  </div>
16
16
 
17
- <div class="row" ng-show="component.master.attributes.searchable_collapsed_content">
17
+ <div class="row" ng-show="master.attributes.searchable_collapsed_content">
18
18
  <div class="col-md-6">
19
19
  <b>Aside collapsed content</b>
20
- <div ng-bind-html="component.master.attributes.searchable_collapsed_content | htmlSafe"></div>
20
+ <div ng-bind-html="master.attributes.searchable_collapsed_content | htmlSafe"></div>
21
21
  </div>
22
22
  <div class="col-md-6">
23
23
  <div class="form-group">
@@ -27,10 +27,10 @@
27
27
  </div>
28
28
  </div>
29
29
 
30
- <div class="row" ng-show="component.master.attributes.searchable_collapsed_content">
30
+ <div class="row" ng-show="master.attributes.searchable_collapsed_content">
31
31
  <div class="col-md-6">
32
32
  <b>Button label</b>
33
- <div ng-bind-html="component.master.attributes.searchable_open_label | htmlSafe"></div>
33
+ <div ng-bind-html="master.attributes.searchable_open_label | htmlSafe"></div>
34
34
  </div>
35
35
  <div class="col-md-6">
36
36
  <div class="form-group">
@@ -1,10 +1,10 @@
1
1
  <script type="text/ng-template" id="promethee/components/blockquote/localize">
2
- <div ng-show="component.master.attributes.searchable_body">
2
+ <div ng-show="master.attributes.searchable_body">
3
3
  <hr>
4
4
  <div class="row">
5
5
  <div class="col-md-6">
6
6
  <b>Body</b>
7
- <div ng-bind-html="component.master.attributes.searchable_body | htmlSafe"></div>
7
+ <div ng-bind-html="master.attributes.searchable_body | htmlSafe"></div>
8
8
  </div>
9
9
  <div class="col-md-6">
10
10
  <div class="form-group">
@@ -15,10 +15,10 @@
15
15
  </div>
16
16
  </div>
17
17
 
18
- <div class="row" ng-show="component.master.attributes.searchable_author">
18
+ <div class="row" ng-show="master.attributes.searchable_author">
19
19
  <div class="col-md-6">
20
20
  <b>Author</b>
21
- <p>{{component.master.attributes.searchable_author}}</p>
21
+ <p>{{master.attributes.searchable_author}}</p>
22
22
  </div>
23
23
  <div class="col-md-6">
24
24
  <div class="form-group">
@@ -1,10 +1,10 @@
1
1
  <script type="text/ng-template" id="promethee/components/collection_item/localize">
2
- <div ng-show="component.master.attributes.searchable_caption !== ''">
2
+ <div ng-show="master.attributes.searchable_caption !== ''">
3
3
  <hr>
4
4
  <div class="row">
5
5
  <div class="col-md-6">
6
6
  <b>Collection Item Caption</b>
7
- <div class="promethee-edit__wrapper" ng-bind-html="component.master.attributes.searchable_caption | htmlSafe"></div>
7
+ <div class="promethee-edit__wrapper" ng-bind-html="master.attributes.searchable_caption | htmlSafe"></div>
8
8
  </div>
9
9
  <div class="col-md-6">
10
10
  <label class="label-control">Collection Item Caption</label>
@@ -1,5 +1,5 @@
1
1
  <script type="text/ng-template" id="promethee/components/cover/localize">
2
- <div ng-show="component.master.attributes.searchable_surtitle || component.master.attributes.searchable_title || component.master.attributes.searchable_subtitle">
2
+ <div ng-show="master.attributes.searchable_surtitle || master.attributes.searchable_title || master.attributes.searchable_subtitle">
3
3
  <hr>
4
4
 
5
5
  <div class="row">
@@ -8,10 +8,10 @@
8
8
  </div>
9
9
  </div>
10
10
 
11
- <div class="row" ng-show="component.master.attributes.searchable_surtitle">
11
+ <div class="row" ng-show="master.attributes.searchable_surtitle">
12
12
  <div class="col-md-6">
13
13
  <b>Surtitle</b>
14
- <p>{{component.master.attributes.searchable_surtitle}}</p>
14
+ <p>{{master.attributes.searchable_surtitle}}</p>
15
15
  </div>
16
16
  <div class="col-md-6">
17
17
  <div class="form-group">
@@ -21,10 +21,10 @@
21
21
  </div>
22
22
  </div>
23
23
 
24
- <div class="row" ng-show="component.master.attributes.searchable_title">
24
+ <div class="row" ng-show="master.attributes.searchable_title">
25
25
  <div class="col-md-6">
26
26
  <b>Title</b>
27
- <p>{{component.master.attributes.searchable_title}}</p>
27
+ <p>{{master.attributes.searchable_title}}</p>
28
28
  </div>
29
29
  <div class="col-md-6">
30
30
  <div class="form-group">
@@ -34,10 +34,10 @@
34
34
  </div>
35
35
  </div>
36
36
 
37
- <div class="row" ng-show="component.master.attributes.searchable_subtitle">
37
+ <div class="row" ng-show="master.attributes.searchable_subtitle">
38
38
  <div class="col-md-6">
39
39
  <b>Subtitle</b>
40
- <p>{{component.master.attributes.searchable_subtitle}}</p>
40
+ <p>{{master.attributes.searchable_subtitle}}</p>
41
41
  </div>
42
42
  <div class="col-md-6">
43
43
  <div class="form-group">
@@ -1,10 +1,10 @@
1
1
  <script type="text/ng-template" id="promethee/components/faq_item/localize">
2
- <div ng-show="component.master.attributes.searchable_title">
2
+ <div ng-show="master.attributes.searchable_title">
3
3
  <hr>
4
4
  <div class="row">
5
5
  <div class="col-md-6">
6
6
  <b>Title</b>
7
- <p>{{component.master.attributes.searchable_title}}</p>
7
+ <p>{{master.attributes.searchable_title}}</p>
8
8
  </div>
9
9
  <div class="col-md-6">
10
10
  <div class="form-group">
@@ -16,7 +16,7 @@
16
16
  <div class="row">
17
17
  <div class="col-md-6">
18
18
  <b>Body</b>
19
- <p>{{component.master.attributes.searchable_body}}</p>
19
+ <p>{{master.attributes.searchable_body}}</p>
20
20
  </div>
21
21
  <div class="col-md-6">
22
22
  <div class="form-group">
@@ -1,5 +1,5 @@
1
1
  <script type="text/ng-template" id="promethee/components/image/localize">
2
- <div ng-show="component.master.attributes.searchable_alt || component.master.attributes.searchable_caption">
2
+ <div ng-show="master.attributes.searchable_alt || master.attributes.searchable_caption">
3
3
  <hr>
4
4
 
5
5
  <div class="row">
@@ -8,10 +8,10 @@
8
8
  </div>
9
9
  </div>
10
10
 
11
- <div class="row" ng-show="component.master.attributes.searchable_alt">
11
+ <div class="row" ng-show="master.attributes.searchable_alt">
12
12
  <div class="col-md-6">
13
13
  <b>Alt</b>
14
- <p>{{component.master.attributes.searchable_alt}}</p>
14
+ <p>{{master.attributes.searchable_alt}}</p>
15
15
  </div>
16
16
  <div class="col-md-6">
17
17
  <div class="form-group">
@@ -21,10 +21,10 @@
21
21
  </div>
22
22
  </div>
23
23
 
24
- <div class="row" ng-show="component.master.attributes.searchable_caption">
24
+ <div class="row" ng-show="master.attributes.searchable_caption">
25
25
  <div class="col-md-6">
26
26
  <b>Caption</b>
27
- <p>{{component.master.attributes.searchable_caption}}</p>
27
+ <p>{{master.attributes.searchable_caption}}</p>
28
28
  </div>
29
29
  <div class="col-md-6">
30
30
  <div class="form-group">
@@ -4,7 +4,7 @@
4
4
  <div class="row">
5
5
  <div class="col-md-6">
6
6
  <b>Page title</b>
7
- <p>{{component.master.attributes.searchable_title}}</p><br>
7
+ <p>{{master.attributes.searchable_title}}</p><br>
8
8
  </div>
9
9
  <div class="col-md-6">
10
10
  <div class="form-group">
@@ -14,11 +14,11 @@
14
14
  </div>
15
15
  </div>
16
16
 
17
- <div class="row" ng-show="component.master.attributes.searchable_description">
17
+ <div class="row" ng-show="master.attributes.searchable_description">
18
18
  <div class="col-md-6">
19
19
  <div>
20
20
  <b>Page description</b>
21
- <p>{{component.master.attributes.searchable_description}}</p>
21
+ <p>{{master.attributes.searchable_description}}</p>
22
22
  </div>
23
23
  </div>
24
24
  <div class="col-md-6">
@@ -1,10 +1,10 @@
1
1
  <script type="text/ng-template" id="promethee/components/slider_item/localize">
2
- <div ng-show="component.master.attributes.text !== ''">
2
+ <div ng-show="master.attributes.text !== ''">
3
3
  <hr>
4
4
  <div class="row">
5
5
  <div class="col-md-6">
6
6
  <b>Slider Item Caption</b>
7
- <div class="promethee-edit__wrapper" ng-bind-html="component.master.attributes.searchable_caption | htmlSafe"></div>
7
+ <div class="promethee-edit__wrapper" ng-bind-html="master.attributes.searchable_caption | htmlSafe"></div>
8
8
  </div>
9
9
  <div class="col-md-6">
10
10
  <label class="label-control">Slider Item Caption</label>
@@ -1,10 +1,10 @@
1
1
  <script type="text/ng-template" id="promethee/components/text/localize">
2
- <div ng-show="component.master.attributes.searchable_body">
2
+ <div ng-show="master.attributes.searchable_body">
3
3
  <hr>
4
4
  <div class="row">
5
5
  <div class="col-md-6">
6
6
  <b>Text</b>
7
- <div ng-bind-html="component.master.attributes.searchable_body | htmlSafe"></div>
7
+ <div ng-bind-html="master.attributes.searchable_body | htmlSafe"></div>
8
8
  </div>
9
9
  <div class="col-md-6">
10
10
  <b>Text</b>
@@ -22,4 +22,8 @@ module Promethee
22
22
  require 'promethee/core_ext/tags'
23
23
 
24
24
  require 'promethee/data'
25
+ require 'promethee/data/master'
26
+ require 'promethee/data/master_localized'
27
+ require 'promethee/data/masters_multiple'
28
+ require 'promethee/data/localization'
25
29
  end
@@ -16,13 +16,13 @@ module ActionView
16
16
  def render
17
17
  localization_data = object.send @method_name unless object.nil?
18
18
  localization_data = @options[:value] if @options.include? :value
19
- master_data = @options[:master]
20
19
  ApplicationController.renderer.render partial: 'promethee/localize',
21
20
  locals: {
22
21
  object_name: @object_name,
23
22
  method_name: @method_name,
24
23
  localization_data: localization_data,
25
- master_data: master_data
24
+ master_data: @options[:master],
25
+ other_data: @options[:other]
26
26
  }
27
27
  end
28
28
  end
@@ -1,104 +1,34 @@
1
- # The data class can be used for any level: the page, or one of the components
2
- module Promethee
3
- class Data
4
- def initialize(data, options = {})
5
- @master_data = hashify data
6
- @localization_data_raw = hashify(options[:localization_data]) if options.include? :localization_data
7
- check_master_integrity
8
- prepare_localization_data
9
- localize_master_data
10
- end
11
-
12
- def localization_data_to_json
13
- @localization_data.to_json
14
- end
15
-
16
- def to_json
17
- @master_data.to_json
18
- end
19
-
20
- # The data acts as a hash
21
- def [](value)
22
- @master_data[value]
23
- end
24
-
25
- protected
26
-
27
- def hashify(data)
28
- # https://github.com/bbatsov/ruby-style-guide#indent-conditional-assignment
29
- h = case data.class.to_s
30
- when 'Hash', 'ActiveSupport::HashWithIndifferentAccess' then data
31
- when 'String' then JSON.parse data
32
- else {}
33
- end
34
-
35
- h.deep_symbolize_keys
36
- end
37
-
38
- def check_master_integrity
39
- @master_data[:version] = 1 unless @master_data.include? :version
40
- @master_data[:children] = [] unless @master_data.include? :children
41
- end
42
-
43
- # We merge the localization data in the components from the master data.
44
- # This will :
45
- # 1 get what's already localized, based on the component id
46
- # 2 add new components
47
- # 3 remove components not in the master anymore
48
- # 4 take the order from the master
49
- def prepare_localization_data
50
- @localization_data = {
51
- version: @master_data[:version],
52
- components: []
53
- }
54
- # We create a flat list of the children and all their child, in the master's order
55
- master_components_flat = Promethee::Data.flatten_components @master_data.deep_dup
56
- master_components_flat.each do |component|
57
- localized_component = Promethee::Data.find_localized_component component[:id], @localization_data_raw
58
- # We take either the localized, or the master component
59
- data = localized_component || component
60
- # We add master reference
61
- data[:master] = component.deep_dup
62
- # We add it to the list of localized components
63
- @localization_data[:components] << data
64
- end
65
- end
1
+ class Promethee::Data
2
+ def initialize(data)
3
+ @data = hashify data
4
+ end
66
5
 
67
- # Recursively merge the localization_data into the master_data
68
- def localize_master_data
69
- Promethee::Data.localize_component @master_data, @localization_data
70
- end
6
+ def data
7
+ @data
8
+ end
71
9
 
72
- def self.find_localized_component(id, array)
73
- return nil if array.nil?
74
- return nil unless array.include? :components
75
- array[:components].find { |component| component[:id] == id }
76
- end
10
+ # The class creates a facade in front of the real hash, therefore include?, [] and to_json are delegated
11
+ def include?(value)
12
+ @data.include? value
13
+ end
77
14
 
78
- def self.localize_component(component, localization_data)
79
- localize_component_attributes component, localization_data
80
- localize_component_children component, localization_data
81
- end
15
+ def [](value)
16
+ @data[value]
17
+ end
82
18
 
83
- def self.localize_component_attributes(component, localization_data)
84
- return unless component.include? :attributes
85
- localized_component = Promethee::Data.find_localized_component component[:id], localization_data
86
- return if localized_component.nil?
87
- return unless localized_component.include? :attributes
88
- component[:attributes].merge! localized_component[:attributes]
89
- end
19
+ def to_json
20
+ @data.to_json
21
+ end
90
22
 
91
- def self.localize_component_children(component, localization_data)
92
- return unless component.include? :children
93
- component[:children].each { |child| localize_component child, localization_data }
94
- end
23
+ protected
95
24
 
96
- # Takes an array of components and puts every component and their children into a unique flat array
97
- def self.flatten_components(component)
98
- flat_components = [component.except(:children)]
99
- (component[:children] || []).reduce flat_components do |flat_components, component|
100
- flat_components + flatten_components(component)
101
- end
102
- end
25
+ def hashify(data)
26
+ # https://github.com/bbatsov/ruby-style-guide#indent-conditional-assignment
27
+ h = case data.class.to_s
28
+ when 'Hash', 'ActiveSupport::HashWithIndifferentAccess' then data
29
+ when 'String' then JSON.parse data
30
+ else {}
31
+ end
32
+ h.deep_symbolize_keys
103
33
  end
104
34
  end
@@ -0,0 +1,39 @@
1
+ class Promethee::Data::Localization < Promethee::Data
2
+ def initialize(data, master_data = nil)
3
+ super data
4
+ if master_data
5
+ @master_data = Master.new master_data
6
+ merge
7
+ end
8
+ end
9
+
10
+ protected
11
+
12
+ # We want to be up to date with the master, so this method will:
13
+ # 1.take the master's components flattened
14
+ # 2 substitute what's already localized, based on the component id
15
+ # Consequences of step 1 are:
16
+ # 1 it adds new components from the master
17
+ # 2 it removes components not in the master anymore
18
+ # 3 it takes the order from the master
19
+ def merge
20
+ @data_before_merge = @data.deep_dup
21
+ @data = {
22
+ version: @master_data[:version],
23
+ components: []
24
+ }
25
+ @master_data.flat.each do |master_component|
26
+ localized_component = find_localized_component master_component[:id]
27
+ # We take the localized component if it exists, the master component otherwise
28
+ component = localized_component || master_component
29
+ # We add it to the list of localized components
30
+ @data[:components] << component
31
+ end
32
+ end
33
+
34
+ def find_localized_component(id)
35
+ return unless @data_before_merge
36
+ return unless @data_before_merge.include? :components
37
+ @data_before_merge[:components].find { |component| component[:id] == id }
38
+ end
39
+ end
@@ -0,0 +1,25 @@
1
+ class Promethee::Data::Master < Promethee::Data
2
+ def initialize(data)
3
+ super data
4
+ fix_master_integrity
5
+ end
6
+
7
+ def flat
8
+ flatten_components @data
9
+ end
10
+
11
+ protected
12
+
13
+ def fix_master_integrity
14
+ @data[:version] = 1 unless @data.include? :version
15
+ @data[:children] = [] unless @data.include? :children
16
+ end
17
+
18
+ # Takes an array of components and puts every component and their children into a unique flat array
19
+ def flatten_components(component)
20
+ flat_components = [component.except(:children)]
21
+ (component[:children] || []).reduce flat_components do |flat_components, component|
22
+ flat_components + flatten_components(component)
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,36 @@
1
+ # Injects localization data into master data, so the page can be showed in the correct localization
2
+ class Promethee::Data::MasterLocalized < Promethee::Data
3
+ def initialize(master, localization = nil)
4
+ @data = hashify master
5
+ if localization
6
+ @localization = Localization.new localization
7
+ localize_component @data
8
+ end
9
+ end
10
+
11
+ protected
12
+
13
+ def localize_component(component)
14
+ localize_component_attributes component
15
+ localize_component_children component
16
+ end
17
+
18
+ def localize_component_attributes(component)
19
+ return unless component.include? :attributes
20
+ localized_component = find_localized_component component[:id]
21
+ return unless localized_component
22
+ return unless localized_component.include? :attributes
23
+ component[:attributes].merge! localized_component[:attributes]
24
+ end
25
+
26
+ def localize_component_children(component)
27
+ return unless component.include? :children
28
+ component[:children].each { |child| localize_component child }
29
+ end
30
+
31
+ def find_localized_component(id)
32
+ return if @localization.nil?
33
+ return unless @localization.include? :components
34
+ @localization[:components].find { |component| component[:id] == id }
35
+ end
36
+ end
@@ -0,0 +1,21 @@
1
+ # List of master version and other localizations, flattened
2
+ class Promethee::Data::MastersMultiple < Promethee::Data
3
+ def initialize(master, localizations = nil)
4
+ @data = []
5
+ @master = Master.new master
6
+ title = 'Master'
7
+ components = @master.flat
8
+ add_data title, components
9
+ localizations.each do |key, value|
10
+ title = key
11
+ components = Localization.new(value, master).data[:components]
12
+ add_data title, components
13
+ end unless localizations.nil?
14
+ end
15
+
16
+ protected
17
+
18
+ def add_data(title, components)
19
+ @data << { title: title, components: components }
20
+ end
21
+ end
@@ -1,5 +1,5 @@
1
1
  module Promethee
2
2
  module Rails
3
- VERSION = '1.6.63'
3
+ VERSION = '1.7.0'
4
4
  end
5
5
  end
@@ -55,7 +55,7 @@
55
55
  max-height: 100%; }
56
56
 
57
57
  #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
58
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAACYCAMAAACoAftQAAAAvVBMVEUAAAAAAAAAAAAODg4AAAAAAAAAAADNzc0BAQHZ2dkDAwMHBwcAAADf398CAgI/Pz8BAQEAAACCgoIcHBzl5eUAAAC/v7/x8fEGBgZnZ2cAAADs7OwGBgb4+Pg/Pz/Jycmenp5nZ2f39/eDg4MAAADQ0ND4+Piurq7a2tr8/Pzs7OwAAAD5+fn9/f3e3t4AAAD///9OTk7BwcE1NTWsrKyNjY2cnJx6enpdXV1oaGgsLCy6uroiIiLOzs5BQUFt3PCNAAAAL3RSTlMAAQMIDRIZHSMnLTpESFNVXWlpbG15en+HiZCWoaGssrO2vsDFydPU3uL4+fr9/Ywv6xsAAAQVSURBVHhe7JZbc6JMGIQXAUOQEMi3uMYkrmopZgqs5ujZ//+zvpdNzMsMlli1N3uRvtCbpzo9I+nmhyqN9OO6GNQ6Ha1SG0mcrhskXe90rvKE6kbX7r9MF4vp2887nfBrqPW0xJemD4w32e7jHIj2602SbNZ7Qfgd0zJLtgKi2B0+tSsE3h8u0RX7HGGfHWrK9oiIbrK69SiQHxTliO5VWtP0rrNEemhoj6muaYqx2XuGyJrwbgUKohhb3hIFM6wCC7Zm4+M5Zs5fpKNiTYndEOUHDFRYCeADLvGiy7DtL7E5/12gJPacalPlqEc2eoFAdmCa2UOGyOhoUuQgwo7PxCwJMGXYGcQMlyCVX3DchCkGs3V6h0iFgyUSZsuS6QQLGaYDhueUHxhf3RpzOqB8dRMcz84lf5FS9A1Ngi2PQm8PF7RBZOnEyqFnSC/BKX6bHQmucpB13mRzCJtTsPUowlpl14if2JifUXcwgeqdA2OLn1C+PdsbzCKkW0a3KeKxbbAxF4FJ9EgAaXGqyFORAuLZNrkMZNoNKnNS9PE5dpltFofjB4PJXIAk5rP/HMu4Ukmm7XjEkwLfc2yT66tJk7lp2T2H1LMtk2wVVsWpcE0SlW4DbeLE/xG3eRvfQv7Fptw4KvpDNRKLt1/3rZty/xbjrPef1+5D018ITYttkiTrfAUsrmzK3RTIT/woHxH3DaZl9h2rRH2aX0ydaYb1BVK1zNdA32RvNn7DkVmmoyeVJvYBMcdl5Vg2/lW0zpSbUNIKT12KLV8wVjsmNvGW63feU3qj86veGQmAA1e5qzbStNZdmVTlRzzbSjG+4+t4u1iqjxxjR6pczaiNBCCVXoGx25X7mUNGgJBHM/QsXWp+dk4U5xJjX4EXSM7ACcCxnnnm2zI8rxVoFgMr/lUwUpyNPvYVx/eRfaUSQzkzLWxEOVhiwynCAd2GvCm/2bquBPEo+LxnDv0YXdyfFOHQP+8EV/kY0enSorxyitoLxxwiabDRqDImWF2JJVBIeVNEk2HgsDGn7vkhcPy67lMOiBGF4AGS3tX8yYqAfb5eF/kRiMPX4cDjEDLd8wezJT4lwtHrMHBtbg6V9oLhYDYLw3A2eSVbn0elSdMCecFg+Ee0Kq7dlftLXSCrRxNE8lzH7hp0Nu3qpHQty7Ztq2sabHvtpb/SLauisVTye1O+N2Ubbxhu2xSAq6x1UwoAWfum8P3Gu5ZNYaUA2jaFJYCofVPYOWnZFD4TcLpxU1ZAnN24KRnfxQ2bshEE/Vub8r0p35vi/t9eHRoBDMNQDJUvMLkOkDMM+8D7b9cR+kOKLPy4juojnQeAkWWVAyLLLINVdovj44N8LOqi/3Djxo0bN5ZvdbWJuwHhrw2ILYdqBwDT2fEEXtrZFmVcCWLiAAAAAElFTkSuQmCC'); }
58
+ background-image: url("../img/fancybox_sprite.png"); }
59
59
 
60
60
  #fancybox-loading {
61
61
  position: fixed;
@@ -71,7 +71,7 @@
71
71
  #fancybox-loading div {
72
72
  width: 44px;
73
73
  height: 44px;
74
- background: url('data:image/gif;base64,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') center center no-repeat; }
74
+ background: url("../img/fancybox_loading.gif") center center no-repeat; }
75
75
 
76
76
  .fancybox-close {
77
77
  position: absolute;
@@ -89,7 +89,7 @@
89
89
  height: 100%;
90
90
  cursor: pointer;
91
91
  text-decoration: none;
92
- background: transparent url('data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
92
+ background: transparent url("../img/blank.gif");
93
93
  /* helps IE */
94
94
  -webkit-tap-highlight-color: transparent;
95
95
  z-index: 8040; }
@@ -147,7 +147,7 @@
147
147
  overflow: hidden;
148
148
  display: none;
149
149
  z-index: 8010;
150
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpCMEM4NDgzQjlDRTNFMTExODE4NUVDOTdFQ0I0RDgxRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGREU5OEVCQzAzMjYxMUUyOTg5OURDMDlDRTJDMTc0RSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGREU5OEVCQjAzMjYxMUUyOTg5OURDMDlDRTJDMTc0RSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkIxQzg0ODNCOUNFM0UxMTE4MTg1RUM5N0VDQjREODFFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkIwQzg0ODNCOUNFM0UxMTE4MTg1RUM5N0VDQjREODFFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+s3YRAQAAABtJREFUeNpiFODh2cBABGBiIBKMKqSOQoAAAwBokQDs5F/8FAAAAABJRU5ErkJggg=='); }
150
+ background: url("../img/fancybox_overlay.png"); }
151
151
 
152
152
  .fancybox-overlay-fixed {
153
153
  position: fixed;
@@ -213,10 +213,10 @@
213
213
  /*Retina graphics!*/
214
214
  @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
215
215
  #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
216
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAAEwCAQAAACZTH48AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAGTtJREFUeNrtXXuUFNWZ/1VVv6dnBpCnvBRURhGjGEUhBuNjNa5G1BhiXHY1m5z4SqLJOUGjMa6KmsSs2VXJenQ1CWuiWZOYEANhBXxGQKMLSkRAeTi8HGAePT39rKr9o7773Vs93V3VPY0De+r2Geju6ur+zTdf3fs9fr/bGvwMDYCm3HRo0KFDp0fOKwAbAGABsGDBhgWb/3Vu4J86R8gXWJ0A69BgQKcfFbRGrxQwHcAmLJj0jMmQofxyNQ/Nt2UFzJDyv0GAHdAOHAsWLJiwUIQFk282HXHbuqEWFpbTXRBDCCNENx0hGPwrCSgmWbYAk/4t0o/4ZVC/nSsDdtzA+aMbBDCMMMKI0P8GwtAREoDnjWuOvNGxZj8sAlhEASbyKKCAIt80aOQegA2tVsghD7gGgQ0jggjCiNK/YYQRQvh702eeMGrCkFHJEerJ+z/oat+1ZdHK37YjjwLyyKGAPAowoMNEERrbuWbIWkW4wrJhhBBBBFFEEUMUUUQRGd/y1RPPPHXStEhTtTfv3fHeqy+89oO1yCKHHPLIoUj2Fpdjzd6slfVcsG3DCCOKmHKLXzTxxs9NPVUP+f2IfOfqZ255duN+5Am4cBGTL8IaIGtl4RrQEWLLxhFDAnEkED9j7J1fmHpK7dd2IbX6V/N+me5DBnlkyUGKNJvUBFmrANdxhChDTSARTS688PwLwtFKb7UFOYzGkIof1bP1vx6443VkkEWWvLoOyP0BO3DDCCNGUJvQhOTMcQ99Zdyk0tN3YxVWoB07Xc+2oQ2n4cx+H2ZbL/308qeQQQYZ5JFDHkWao92Lik/AAm4IYUQRRRxNSDq3G06ef1U0oZ64D8vwP/hblbfWMQtn4u9Lnt245JL7O7rLQLb82VgrWSYMmmljiCOJJJrRjJbbZ137JcNQ7foonvPpvUNwDea4ntn79tW3rt6FPmRo7pCO4QOy4YoYDLZuAkk0owWtaLnvnK9doevylP/GN7HJ9+WWxStYjOMxip9JjJpz1uZXN/ZR5AH/7uAGrPPMIOA2Ywhav3Xa9V/U+O/wAb6DZ2ueI9JYjBhO4Mfh5Dkz1760NUPxBZQoTvMHWNpX+G6TY915n7jjKoOtux7fwPY6w8I12IKz+VGk5Zzpv34+bXIAakGD5dfCGq1rzgIcRwJJtKAFQ44c/dhX4nHx0t9hPrL1B7LYgrdxMsTSGB9+9tAnVinhqM1LtS/ABgyE2R2SaEUrWhZfPXaMeOHbmI+Bjh14F7MgLDB8yoStS7bzeudzltDJvhpdcDHEEUczkmi+5fQpk6UzfB2NGP+L21HgRxff2DYEMUQQUsJUjxjdIPs6l1uM3KEZrSNGPvSlWERMYzeiG40ZO7GLl5RQ4tSmn6+hmdii1MrTwiL5cSa0OPlwcsHs1qR40b34CI0bS7GE7x83Z+4RiCFKeYzmPUvoFDsYFOo4y3HT4cPO5xBnCVajseMBdgtNv+FKjq5D7BQ+fDhE61sUCTQhMX+GcAfgATR69OBpvn/0eeeMQQRhyg91L9AiYTco8k0gjjji5/Is/1v0oPHjIfQKAKEbzqfLTifzeVpYoyQoSgFl7JIjh7eKFyyscGIz5mBeSZSgxmvzMA9jq3zwYr439VyEEaEk19MpQtBgKLNwFHHELpsqDq9gS5SOB9EGAJiDryNVcmwergcAXI9bsbzC+U/gCrrXOvG6KQvfQhg5P5edmhWHRdY2dZy84CpZsI3vPYhm17E5BBcAzqrix6/y/dnTEYbBpRlfPiyytygiRw0dO8w5mMHLFU7bgNcV8CrkObhZeV21QGmZvPBOpqUjxFC16haWNYcwIuewfd+s8nH3KY7QxiDbXHAfVn6t/kO++8g2AuzjstN52RCQQ8cMFwc3VY0LVN89GzeTrVXrLqr60R3o4tjtU8NgUHHBY2nWoSFESX3YAT2R88htVT9wgyu+mIObXa7xLO7znNw+5HuzJrB9PaIJXZmJnUvPaOWAstPjAze4QM1R4G7wARdKfDJyKDmnj2hNzhR0i4bFwYzn6eXtuMFnbCenzOYk15k1b5dQ7azBaIr0f8NqkB8uAzflC3CfzPPiSrncx0Una8A+FsfSMbbf45aal2pL9V3NGzCUf7UCx6RhHx81p9/y3IwFJUuJVwYM2JZSZfb0YdDL6IRUXhz0ttTZrnlXzsv3+KxZcK2iW0mQbG/AIgG0AWA/Z5qHeXxgW8mqJj33lLK/SOkYJmf1Tq5QeEDW+WW26Phs5XhyYtWPc//pl+M+18U2p2IkJ8d4vvfKTr8lQV1pSTktFHtDF6/xVeE+qFxuzry7wTVj3KzUIcqNEewSudSaTipXWV5VIF0B6zRMzJUd4uAnqpx4PcdrQIpt+2wJ5LYq7zBd1uo2Um3NR31Np1zVlM2qLant5BRJnOFjbki5XGGREqE1V/Xkc/je+nWcN1tepVcdgEmtKtHnMd9hG3+24uygxm0bXMceVh63oVK5vkUxxoq3OdW3vRJ9nTuWRRSRd7pqT22RAXiy7GnLFbilOUUKX2fIG0p+GTmu5nudO3+x2X+VOMTWNVFAwek+LN21Oz2aimDX4YdlF+TXcRaAFdhR5mgKV2EOmpHC8oqL9EV8740XlT6eZ+E1xJdcAXmqiedRXLzlq8c7L7gU/1E2b97hEe1WL8rewH85q/jgSmrSmNxI93AJad8i8k5V/IH3MlwCu6nhSX4L5spq28ur9nAbzEcdXqfqbBEF7qPlkN3b+8xmeeHNaDDgmzhKsa1//b2rceBZv9TJJQooooAcsnTL3b1eLtG3YGQD4Z6vzD2rn1+2nZqNjgdbXrOEQWGzwUkS5XZZ3bQ/M1bMxydgGYoNgXsKFnCU1tv9+Qd6OpFGH3XuTL8rnTNP5Mm6fU4n7aeb3+Si5VRXeln/OBF3KkHr44va9yNDnVHHg32EpBoXXA0uqTj5nf78vssnJuj9R+Ew/GWAcGfg+xgu3eHFa59FD9JwGrp5bjF6xtA6ZxsOMSYkQPfig/RFE3TKAI7F6Xh5AF2Ov8MPIZv/u7Zf+GCuC71IU5Ox6AeuamGNiyo6W9vYnNmTPXesaHuNxBnYjN11wf0mvqE82t8x98fte5BCGmlknbm/dsBOJ1Rm0Tp06OvSpnnGGJkjXIhWrK6RRjIWP3FV2bo6r7x/7YcEN8MNXF9tGUNJ/NwUL0E90lZ1d+Vmj9E1eQF+Dj2+e6EjcCNud02L27Zc+sA7O5BCD3rRhyzDtf1ddOB8VSSiIs/jrs6bPe93zx4T5ZyxCbNxCUahBx1V3jqMM3EVvocprmdfWXPJY7s70IMe9l5n0aihOS5gGtS4dbr4zWihWzOSaJo87PGZxw4rPX03VuFl7MQW5bkYjsBxmIVZ/T7MNH/1p28tQzd60IMUetl/TRQBf51Q6RCiceBATqAJLQTaoSDEw4nbpn25LVqROpPGDhxT5aN27bnrN8+sRw9S6EGKlossca98N8iNEkurzVNL4aJZsC3rhY7F7ZPiR7aWf6tIlSw7nXl6xdxfvv2hYltndSuiwFkGagUs/peptsUkRMr39mefaV/ePjo6rtnQ/c4RnamnXpz369+/Y3ajBymkyLrO3FD0k3j2dwm4PNlgvo/jGkmnFYYmxBFHDFFEhsYvHn/h+JNHyzpc2Rry/tc2/XHDnz5AH/qQRi96aSIT1A7ZAa2LVSW7zgYzqhKIORQlNFFLLIYoYtQKNC4f/5kxk1pHJscpRaK8uavzw/3v7120ft1eZJFBBn1I008fMsgiRwF7zXD7k5QkZIMgx7ih68CNO50QbmkbNGPbIyPHJ1d0MInRia8zyFEw5UDNIEvkxrrglgMMJt2KRo1ohznAiRvI/EudumvC501OZ52EIEvErwxyNIkVFOIoBsa9tIkDrHHpyub0v4AocuhDDFFmYgpKrkYFRQs2sVkdK1L+giylXkXkFJ5rXZTc0lnVJrAWQbZgUIoaQR5ZRJBFCBGEEeFGlcETokXZi8zA85TaFmhOEOm86V2n9OMS7hlD8Nh0JRcJKc4gaBk6lRTBnGwTeQW0JIgWeZqsE27lardYAdWWTZh5xILubCi9NV5gmOYsLG0qFA7LT0m1HsASshrc6xzci/laVvAdCxe5CmoqzGwTNkULAwJbzodVbwYX8C3lORsWdISoOGBwY0cQ9rkKChNF2CgwOcZXhb1+wG5L20qV3uGYOVwhiy5Ud525SNObSNpt/vUHBNbdF+kPVHMpDAyWRKgKA+EY7g6bMy9Lu2veTe+BWVhzQdY52zPUjqmLLqApsgeLyPkmvVqmP/ZAZSflAatBvdolDZWZJWR/WJ0j5GJTgAmD3KMIix3Dbhxgrd/cEGICCPX7edHQYUCfN6E5+vre17toXbSotFhEnn8KMGBCdxVL7MYALl0yhMwkQqsbLckLZpwyfeQRraObXEW3fVv272zf/sQrS3fSopFDgQq4ORSgk6NYZGlr4POwrAJJX41Q1BZBFNHJrdedMvNT40+KJKu9adfud9Y8/8bC9RxL5DmkzLvKqtbAAAu4hkKqcaK1OGKIfumo6+dO/rR/OUSm+8Xnblu6vYsqdhmCX1CitTogaxXgCgmPE7AnLhh/+z9P+nTt9sinn198ze+zaVFgRA4Z1nHUBdkoCzfCxPIEEomWp668/pbDJld6iy3YgxBi5d8+cvTx/3S6tff1HiZwaP2iw7oCeFWCFiFaYwxxNF0w8Uc3jzi2XD2iFjnE756+5o9Io5cSpQzJfEw/FeFqS4TBlEZKQO+c9eX57gusXjnEm6/MfaK7E2lK8fsYcrG2edld+dGpkOLATT50/udvUi+ygckh2jdf8e/v7UYP5c4y0TdrrUtI68r0vgnJJ+ZccpPWQDlEy7DLZqx+e0deifvqWKwNF6Vc5MlNSP7orM9/u9FyiFj8/JNWruvIKemUrYSdvgGr5ZOIUzKZf+rXvq9zJNc4OUS86bxjf/nXnFTjqopczS9gnZP6CBKIoemkMfcvkJdaY+UQza2fHPLUuxTZyVS/Bh8WIY4glDchufSOYTzrNl4OMX4COv7yEeXOFgel8GdjmWSGhE5m4XmHnySd4UDIIa65fMwwtCCBhEsUofu1sLNYRBBHHMlJIxZ8LxwX09iBkUNEo22JZ97lkoqqD/VJKRfxbgyxf/tCnOvsB04OMXvWzAlIoglxriH5pPip/OEIIm2HTb9QHDqQcghd+/a5SFCBMVqLU8htASKIIrbgwnBCvn0t4xhcXrVhALjlEDOnHzcaCSS4Empw39vTwkIOHEHkJGYO1SKHCOE+/ALfxi+qsqgAVQ5hGNeeijiiiDFgH3ClhcMIIfLNE5KjxYGFNcC9my+nn3lClnKI2SdSxTlGaZhPHYdUKoYvmi2eXuGLilsKF6jOdQOAJ/je6BHnTXQaEFy61fwB5uxt/FR5wfkbeglcYK2nH0s5xNmTqTgeIlmEwe1NDwsbCCE8c8RQIkNWlkOUnnxPCdwVFWlfckg5xMkCsFR7Gf58OAQD4YuP42C7bri3+ThPvvuksZSTq6IIzQ9gDQaMSRPEk5vqhPtdXxmllEM0xSe3cKFcyE40fxedAWMUk1W3+YD7ozJw/Q4phzhxJHdKROnL8yIXVXYjwb02LznEcPxMocLUCtclh0hyYVH3Q9kHqQQNGNDDnKl7ySGeROsA4KrqhZa4Sibhsq3tFfwAGvRYvP8blhsXDBCuSw4R5Uqz7lcWoZI7fI3TSx4/PbCIqP9eQR7SHi5+Fnk7m+pyiBUljx/xXN0ql/1Nd8XUp4Wdk+xsmj2r6ikrcccAIUs5REem1lKVbAnaKb54veQQS/FdJeGpHbJk4uxMuxphvqTunGbvYELaRM/TVmBeyVzyCKb5BizlEGu7KOGH37xZl3nrJq7sHe3jxK24ugTyoz4hSzlEb3Zrb5k9wzwtTG3AxRv9hogScm8dkKUcYuNH1Kop3e/H9rKwDQvmX/ftIxtXlkOUQv5KCeRHcKTnWVIOsaqdG7xqL9qHD9NpH7wvnv6sT28shax7/nVccoh2FKmBIPkpPoQnok1V+A3zbSvJIbwhewXwUg6xo/ulPdTrLyiyHtv7orOJUF54fEPXXnHgOt/XvAr5ZRdHsNyQcoilm4gCUlR2rrL8zBIm/ZZ55F95TRy4tAbd4Vb8A54D8Bxu9XillEMUrcfepUZYnnUcPtVeJqk4csj9y4o8FyprkUPsxl04A3ch7+G/Ug7x/Ob3u6gRlivZ0MynhYvII7etc+VL8sKrTQ5R8HyFlENY9v1vUdMxx7ITX4RcnalbzgZu2e8sSXEF5cDJIf6wYd1eIcBA1tW387CxITMOpw3eqw8rnnKCmI8PjByiM/PFZVnBwxTE0Tzy/uZhkIWF7CRzx6ubeM07MHKIe1d1phS+YE7RevlSylg8S+SQQRrpf/x5N0du0zB/wDSSGbgTQ/nRcxt/tpGZmFlmC9bEgdfZLXSEYHTa3XvPni52AGusHGLz/rnLio4z9DALPkdUENuPjsPmxqJC91qbMrtmTWu8HGJX6tIl+7qYRyx58AVlafbMVjTYnNsZAviqfa2FT7bJHKERcoiO9GVLtnQQ1C6k0Es+XPCr4lC3L9Nc+w/o0Fbu1ntnTJFbww1UDvG3jouXbtuLXnQjhW6iPwt6bo072mnsGDIhBLRXO/Z9NHNKhC/vgcgh/vT+FSs6O9GLHuLB9/B0ViROZg2bHKr7BTqyiGa0oBlD0DJt3KNzJ43tvxTXIocoWgvfunst0uQM3XS5CSKC2AGzpk0ORQM37FJyNKMVLZHWH5x5+axIxdzfSw6xrevW15Z9iD708tygLhc5f9LK/iUCWSRypyqWaf35wz+/N6Vl/Ijyb1FNDpHKPbbuqhc2dSiukEIPc+HdorSadBxyywYoWx+L7Y+tjsxTG/+yeWz88KH+5RD7+v5z7VUvLNtqpUl3JEURaZL9qSFPHVuhqpvMRmi7OEcW0US3xGEtXzj6vGNOHJ+IVi2ndr/Y/sdtK3Y54RT6SBaRJhKNXN+Krk5zzYDFTCw323K4E3ESRThKjhiiiF45efbEI4aOaBmr1AXz5o7u7d2bOhe9/24P0ezyRAATC7EDNkMctjrgltsdF4pqkXYHY1GEEEZEaFM3AwaMkbGpLSv3KXRRU+G/Z0gMIWlgWeauWfVQ97Wyjw3arijMHKAoddQcHUeElAYh6hHr7PlF0kgXicCYJafIsTomR0mn6W97hv4FbfdwFhATOopcxhIyhxyyiKIPUbKvsLFeRsdRYNalJDI6YKWgpy5ybn9ios37uYNCzxBlfTnmYTr81giz4MXMIagERQpXxf7ZBY7HCsre8EAdHNdqKgNVPGyIbb7JFcJKb6JUx2G6CLkFZZdy07VTRwN1HOqirfKzQ6ToMJR94DWlQ8wyNgJXIODqLvD2wIQRms84Q+NeREixrU7MeMmhtInLI6wpy1COOmbAwgjN13FdYRXLnxCrZEpJ5TbDlFSkBgkjvNjAttKGsmiPfCjpeEghQwoLSj1Hkb+GwR4oldwfYJWZKVXPUL7WAkoHSudfyyJ/1hQHaIiKoxpgDaUEfk1huclWoKZccmLzY50gWsoxHEgLl9dxGDzFOV+7YCgbnmkM1qZLTYghTNdCMWAdh+bhCOV1HIYvHYeq9RI6jpo3+fa2cKDjCHQc/eAGOo5Ax4FAxxHoOErKrYGOQ1TdAh1HoOMoOwIdR6DjKDsCHUc9Oo5P4DS+mLzHIOs4xuBJPIKf4Mmq3wrhHoOq47gFztx3uGsnYq8xaDqOcTiV79cCedB0HO1YozzyD3kQdRzuYMg/5EHTcZRSyf1CHiQdR/2QB0XHURnywz4gD0THodej46gGeTSehFc9YCA6Dr0eHUd1yDH8ECdWPcNTx+EJuCYdhzdkeHwxwMes4yg31pWkUEcg4vfUA6/j6D+G415McD2ztSpt9GPWcZSDO60kJfqiR82Cp7iPR8dRHe5LuMzjnEHQcVSG+wd8x/OsQdFxVILr/V0ng6bjqA/uIOo4bqsL7qDpOA7HaXXBHTQdx56S2Pgen34/aDoOUwngn/X1TV7OGEQdx324B8/VCHeQdRx/wF2YVQPcg0LHYdawKgY6jkDHIXO3QMcR6DjECHQcULOqQMchR6DjCHQcAAIdBwIdR6Dj8AU40HEEOo4Kz/+/0XEYJToOWYa2lS9eOAh0HG7gkp/t1nFIlrapgP+YdRylbHj5/Ryaq/Njl8gi1C+CapCOQ0MtAZKu5CbOI0MhQ4oFtjwrrSHfxuH/6ya0kotRK4md1VnGZthoJNTSMRtPYr3LIgfHrYg38OOSbABJPHIQQlVvffiWmit+cJDDdW5LEAEMGFiO43AojKPQhGXAtYeEdYU/H2fgcYWTfLAPHTmt0ZPNAR5/O9QAdx9qgKEDAeAAcAA4ABwADgAHgAPAAeAAcAA4ABwADgAHgAPAAeAAcAA4ABwADgAHgAPAAeAAcAA4ABwADgAHgAPAAeAAcAA4ABwADgAHgAPAAeAAcAA4ABwADgAHgAPAAeADP/KHGuAdet1fUjA44zVd2Tj8UBiLgGH46JDR0y13UJ+F3CEBtx28h/ps7Dvo4b7l3h62Ffei/aAFuw7Xit1c/g+ycH0EjAxZBgAAAABJRU5ErkJggg==');
216
+ background-image: url("../img/fancybox_sprite@2x.png");
217
217
  background-size: 44px 152px;
218
218
  /*The size of the normal image, half the size of the hi-res image*/ }
219
219
  #fancybox-loading div {
220
- background-image: url('data:image/gif;base64,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');
220
+ background-image: url("../img/fancybox_loading@2x.gif");
221
221
  background-size: 24px 24px;
222
222
  /*The size of the normal image, half the size of the hi-res image*/ } }
@@ -1,61 +1,32 @@
1
1
  {
2
- "_from": "fancybox",
3
- "_id": "fancybox@3.0.1",
4
- "_inBundle": false,
5
- "_integrity": "sha512-HZ57O6j5Zk4Uvusd5pNUgWi7CCjKx+HFlCzjMPeRJ//0bQWUK+xVpkn3EzXWJate4ZSKNFP9kU2l49MP1g+oow==",
6
- "_location": "/fancybox",
7
- "_phantomChildren": {},
8
- "_requested": {
9
- "type": "tag",
10
- "registry": true,
11
- "raw": "fancybox",
12
- "name": "fancybox",
13
- "escapedName": "fancybox",
14
- "rawSpec": "",
15
- "saveSpec": null,
16
- "fetchSpec": "latest"
17
- },
18
- "_requiredBy": [
19
- "#USER",
20
- "/"
21
- ],
22
- "_resolved": "https://registry.npmjs.org/fancybox/-/fancybox-3.0.1.tgz",
23
- "_shasum": "13f6927449157ed026c69e78c2ba5bf0f1da9af7",
24
- "_spec": "fancybox",
25
- "_where": "/mnt/SharedPart/WebApps/RailsProjects/promethee",
26
- "author": {
27
- "name": "fancyapps",
28
- "url": "https://github.com/fancyapps"
29
- },
30
- "bugs": {
31
- "url": "https://github.com/olsonpm/fancybox/issues"
32
- },
33
- "bundleDependencies": false,
34
- "deprecated": false,
2
+ "name": "fancybox",
3
+ "original-version": "2.1.5",
4
+ "version": "3.0.1",
35
5
  "description": "fancyBox is a tool that offers a nice and elegant way to add zooming functionality for images, html content and multi-media on your webpages. It is built on the top of the popular JavaScript framework jQuery and is both easy to implement and a snap to customize.",
36
- "devDependencies": {
37
- "chai": "^1.10.0",
38
- "jquery": "^2.1.3",
39
- "node-sass": "^2.0.0-beta",
40
- "phantomjs": "^1.9.13"
6
+ "main": "dist/js/jquery.fancybox.cjs.js",
7
+ "scripts": {
8
+ "test": "./node_modules/phantomjs/lib/phantom/bin/phantomjs ./test.js"
9
+ },
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/olsonpm/fancybox.git"
41
13
  },
42
- "homepage": "https://github.com/olsonpm/fancybox",
43
14
  "keywords": [
44
15
  "fancybox",
45
16
  "fancy",
46
17
  "box",
47
18
  "lightbox"
48
19
  ],
20
+ "author": "fancyapps (https://github.com/fancyapps)",
49
21
  "license": "CC BY-NC 3.0 (http://creativecommons.org/licenses/by-nc/3.0/)",
50
- "main": "dist/js/jquery.fancybox.cjs.js",
51
- "name": "fancybox",
52
- "original-version": "2.1.5",
53
- "repository": {
54
- "type": "git",
55
- "url": "git+https://github.com/olsonpm/fancybox.git"
56
- },
57
- "scripts": {
58
- "test": "./node_modules/phantomjs/lib/phantom/bin/phantomjs ./test.js"
22
+ "bugs": {
23
+ "url": "https://github.com/olsonpm/fancybox/issues"
59
24
  },
60
- "version": "3.0.1"
25
+ "homepage": "https://github.com/olsonpm/fancybox",
26
+ "devDependencies": {
27
+ "chai": "^1.10.0",
28
+ "jquery": "^2.1.3",
29
+ "node-sass": "^2.0.0-beta",
30
+ "phantomjs": "^1.9.13"
31
+ }
61
32
  }
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.63
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sébastien Gaya
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2018-07-30 00:00:00.000000000 Z
17
+ date: 2018-07-31 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: rails
@@ -305,6 +305,10 @@ files:
305
305
  - lib/promethee/core_ext/mapper.rb
306
306
  - lib/promethee/core_ext/tags.rb
307
307
  - lib/promethee/data.rb
308
+ - lib/promethee/data/localization.rb
309
+ - lib/promethee/data/master.rb
310
+ - lib/promethee/data/master_localized.rb
311
+ - lib/promethee/data/masters_multiple.rb
308
312
  - lib/promethee/rails/engine.rb
309
313
  - lib/promethee/rails/helper.rb
310
314
  - lib/promethee/rails/version.rb