redmine_extensions 0.0.34 → 0.0.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascripts/redmine_extensions/redmine_extensions.js +46 -20
- data/{spec/redmine/public/javascripts/redmine_extensions/redmine_extensions.js → app/assets/javascripts/redmine_extensions/redmine_extensions.js.orig} +48 -15
- data/app/helpers/redmine_extensions/application_helper.rb +2 -2
- data/app/helpers/redmine_extensions/application_helper.rb.orig +66 -109
- data/lib/redmine_extensions/version.rb +1 -1
- data/spec/redmine/{db/test.sqlite3 → tmp/pdf/empty} +0 -0
- data/spec/redmine/tmp/test/empty +0 -0
- data/spec/redmine/tmp/thumbnails/empty +0 -0
- metadata +9 -52
- data/app/views/easy_entity_assignments/_assignments_container.html.erb.orig +0 -45
- data/app/views/easy_queries/_entities.html.erb.orig +0 -67
- data/lib/redmine_extensions/easy_query_adapter.rb.orig +0 -185
- data/lib/redmine_extensions/version.rb.orig +0 -7
- data/spec/redmine/Gemfile.lock +0 -191
- data/spec/redmine/config/secrets.yml +0 -3
- data/spec/redmine/db/development.sqlite3 +0 -0
- data/spec/redmine/db/schema.rb +0 -678
- data/spec/redmine/log/development.log +0 -22900
- data/spec/redmine/log/test.scm.stderr.log +0 -11
- data/spec/redmine/plugins/easy_test_plugin/Gemfile +0 -1
- data/spec/redmine/plugins/easy_test_plugin/app/controllers/easy_issue_tests_controller.rb +0 -9
- data/spec/redmine/plugins/easy_test_plugin/app/models/easy_testing_query.rb +0 -90
- data/spec/redmine/plugins/easy_test_plugin/app/views/easy_issue_tests/index.html.erb +0 -2
- data/spec/redmine/plugins/easy_test_plugin/config/locales/en.yml +0 -2
- data/spec/redmine/plugins/easy_test_plugin/config/routes.rb +0 -2
- data/spec/redmine/plugins/easy_test_plugin/init.rb +0 -34
- data/spec/redmine/plugins/easy_test_plugin/lib/easy_test_plugin/hooks.rb +0 -5
- data/spec/redmine/plugins/easy_test_plugin/lib/easy_test_plugin/internals.rb +0 -4
- data/spec/redmine/plugins/easy_test_plugin/lib/easy_test_plugin/redmine_patch/controllers/issues_controller_patch.example +0 -30
- data/spec/redmine/plugins/easy_test_plugin/lib/easy_test_plugin/redmine_patch/helpers/issues_helper_patch.example +0 -30
- data/spec/redmine/plugins/easy_test_plugin/lib/easy_test_plugin/redmine_patch/models/issue_patch.example +0 -30
- data/spec/redmine/public/javascripts/redmine_extensions/application.js +0 -13
- data/spec/redmine/public/javascripts/redmine_extensions/jquery.easy_query.js +0 -235
- data/spec/redmine/public/javascripts/redmine_extensions/jquery.entityarray.js +0 -130
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d3f9a38656f8dd1905443c62f28a474d343a85d1
|
4
|
+
data.tar.gz: 2d754bfeff6d1660ab67d7fced4de34c77d5bc60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f8a3463a6edc8cfefaf63e9093abe5e354cc2ad32177d74a9a0d340ed1f30be5ffc75964a4331c84d814601b039a77f7f656c2fea18c55c74584431cc2367d3
|
7
|
+
data.tar.gz: ef3ee2923abc88eb42fd8427b8d8ad42ddff8457e954b8adffb817ce942a3d2163c48398004328dff9ad75c0eb8b0ab99b98cd64035dc1af9750c983c873fdbb
|
@@ -340,6 +340,8 @@ window.closeFlashMessage = (function($element){
|
|
340
340
|
this._initData(this.options.source);
|
341
341
|
} else if ( this.options.preload && this.options.load_immediately) {
|
342
342
|
this.load();
|
343
|
+
} else if ( this.selectedValues ) {
|
344
|
+
this.setValue( this.selectedValues );
|
343
345
|
}
|
344
346
|
},
|
345
347
|
|
@@ -542,6 +544,7 @@ window.closeFlashMessage = (function($element){
|
|
542
544
|
name: value.value
|
543
545
|
});
|
544
546
|
this.element.trigger('change');
|
547
|
+
this.element.val('');
|
545
548
|
} else {
|
546
549
|
this.element.val(value.value);
|
547
550
|
this.valueElement.val(value.id);
|
@@ -554,42 +557,65 @@ window.closeFlashMessage = (function($element){
|
|
554
557
|
if( typeof values == 'undefined' || !values )
|
555
558
|
return false;
|
556
559
|
|
560
|
+
if( that.options.multiple ) {
|
561
|
+
that.valueElement.entityArray('clear');
|
562
|
+
}
|
557
563
|
if( this.options.preload ) {
|
558
564
|
this.load(function(){
|
559
|
-
if( that.options.multiple ) {
|
560
|
-
that.valueElement.entityArray('clear');
|
561
|
-
}
|
562
565
|
that._setValues(values)
|
563
566
|
});
|
564
567
|
} else {
|
565
|
-
|
566
|
-
this.element.val(values[0]);
|
567
|
-
this.valueElement.val(values[0]);
|
568
|
+
that._setValues(values);
|
568
569
|
}
|
569
570
|
},
|
570
571
|
|
571
572
|
_setValues: function(values) {
|
572
|
-
var
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
573
|
+
var selected = [];
|
574
|
+
|
575
|
+
if( values.length == 0 )
|
576
|
+
return false;
|
577
|
+
|
578
|
+
// allows the combination of only id values and values with label
|
579
|
+
for (var i = values.length - 1; i >= 0; i--) {
|
580
|
+
var identifier, label;
|
581
|
+
if( values[i] instanceof Object && !Array.isArray(values[i]) && values[i] !== null ) {
|
582
|
+
selected.push( values[i] );
|
583
|
+
} else if( this.options.preload && Array.isArray(this.possibleValues) ) {
|
584
|
+
for(var j = this.possibleValues.length - 1; j >= 0; j-- ) {
|
585
|
+
if ( values[i] == this.possibleValues[j].id || values[i] == this.possibleValues[j].id.toString() ) {
|
586
|
+
selected.push(this.possibleValues[j]);
|
587
|
+
break;
|
588
|
+
}
|
580
589
|
}
|
590
|
+
} else {
|
591
|
+
selected.push( {id: values[i], value: values[i]} );
|
581
592
|
}
|
582
|
-
}
|
593
|
+
}
|
594
|
+
for (var i = selected.length - 1; i >= 0; i--) {
|
595
|
+
if(this.options.multiple) {
|
596
|
+
this.valueElement.entityArray('add', { id: selected[i].id, name: selected[i].value });
|
597
|
+
} else {
|
598
|
+
this.element.val(selected[i].value);
|
599
|
+
this.valueElement.val(selected[i].id);
|
600
|
+
}
|
601
|
+
}
|
583
602
|
},
|
584
603
|
|
585
|
-
getValue: function() {
|
586
|
-
|
587
|
-
|
604
|
+
getValue: function(with_label) {
|
605
|
+
var result;
|
606
|
+
if ( this.options.multiple && !this.expanded ) {
|
607
|
+
result = this.valueElement.entityArray('getValue'); // entityArray
|
588
608
|
} else if ( this.options.multiple ) {
|
589
|
-
|
609
|
+
result = this.valueElement.val(); // select multiple=true
|
590
610
|
} else {
|
591
|
-
|
611
|
+
result = [this.valueElement.val()]; // hidden field
|
612
|
+
}
|
613
|
+
if( with_label ) {
|
614
|
+
result = this.possibleValues.filter(function(el) {
|
615
|
+
return result.indexOf( el.id ) >= 0;
|
616
|
+
});
|
592
617
|
}
|
618
|
+
return result;
|
593
619
|
}
|
594
620
|
|
595
621
|
});
|
@@ -542,6 +542,7 @@ window.closeFlashMessage = (function($element){
|
|
542
542
|
name: value.value
|
543
543
|
});
|
544
544
|
this.element.trigger('change');
|
545
|
+
this.element.val('');
|
545
546
|
} else {
|
546
547
|
this.element.val(value.value);
|
547
548
|
this.valueElement.val(value.id);
|
@@ -554,34 +555,51 @@ window.closeFlashMessage = (function($element){
|
|
554
555
|
if( typeof values == 'undefined' || !values )
|
555
556
|
return false;
|
556
557
|
|
558
|
+
if( that.options.multiple ) {
|
559
|
+
that.valueElement.entityArray('clear');
|
560
|
+
}
|
557
561
|
if( this.options.preload ) {
|
558
562
|
this.load(function(){
|
559
|
-
if( that.options.multiple ) {
|
560
|
-
that.valueElement.entityArray('clear');
|
561
|
-
}
|
562
563
|
that._setValues(values)
|
563
564
|
});
|
564
565
|
} else {
|
565
|
-
|
566
|
-
this.element.val(values[0]);
|
567
|
-
this.valueElement.val(values[0]);
|
566
|
+
that._setValues(values);
|
568
567
|
}
|
569
568
|
},
|
570
569
|
|
571
570
|
_setValues: function(values) {
|
572
|
-
var
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
571
|
+
var selected = [];
|
572
|
+
|
573
|
+
if( values.length == 0 )
|
574
|
+
return false;
|
575
|
+
|
576
|
+
// allows the combination of only id values and values with label
|
577
|
+
for (var i = values.length - 1; i >= 0; i--) {
|
578
|
+
var identifier, label;
|
579
|
+
if( values[i] instanceof Object && !Array.isArray(values[i]) && values[i] !== null ) {
|
580
|
+
selected.push( values[i] );
|
581
|
+
} else if( this.options.preload && Array.isArray(this.possibleValues) ) {
|
582
|
+
for(var j = this.possibleValues.length - 1; j >= 0; j-- ) {
|
583
|
+
if ( values[i] == this.possibleValues[j].id || values[i] == this.possibleValues[j].id.toString() ) {
|
584
|
+
selected.push(this.possibleValues[j]);
|
585
|
+
break;
|
586
|
+
}
|
580
587
|
}
|
588
|
+
} else {
|
589
|
+
selected.push( {id: values[i], value: values[i]} );
|
581
590
|
}
|
582
|
-
}
|
591
|
+
}
|
592
|
+
for (var i = selected.length - 1; i >= 0; i--) {
|
593
|
+
if(this.options.multiple) {
|
594
|
+
this.valueElement.entityArray('add', { id: selected[i].id, name: selected[i].value });
|
595
|
+
} else {
|
596
|
+
this.element.val(selected[i].value);
|
597
|
+
this.valueElement.val(selected[i].id);
|
598
|
+
}
|
599
|
+
}
|
583
600
|
},
|
584
601
|
|
602
|
+
<<<<<<< HEAD
|
585
603
|
getValue: function() {
|
586
604
|
if( this.options.multiple && !this.expanded ) {
|
587
605
|
return this.valueElement.entityArray('getValue'); // entityArray
|
@@ -589,6 +607,21 @@ window.closeFlashMessage = (function($element){
|
|
589
607
|
return this.valueElement.val(); //select multiple=true
|
590
608
|
} else {
|
591
609
|
return [this.valueElement.val()]; // hidden field
|
610
|
+
=======
|
611
|
+
getValue: function(with_label) {
|
612
|
+
var result;
|
613
|
+
if ( this.options.multiple && !this.expanded ) {
|
614
|
+
result = this.valueElement.entityArray('getValue'); // entityArray
|
615
|
+
} else if ( this.options.multiple ) {
|
616
|
+
return this.valueElement.val(); // select multiple=true
|
617
|
+
} else {
|
618
|
+
result = [this.valueElement.val()]; // hidden field
|
619
|
+
}
|
620
|
+
if( with_label ) {
|
621
|
+
result = this.possibleValues.filter(function(el) {
|
622
|
+
return result.indexOf( el.id ) >= 0;
|
623
|
+
});
|
624
|
+
>>>>>>> 4a3284c... labels
|
592
625
|
}
|
593
626
|
}
|
594
627
|
|
@@ -164,7 +164,7 @@ module RedmineExtensions
|
|
164
164
|
end
|
165
165
|
|
166
166
|
def autocomplete_field_tag(name, jsonpath_or_array, selected_values, options = {})
|
167
|
-
options.reverse_merge!({select_first_value: false, show_toggle_button: false, load_immediately: false})
|
167
|
+
options.reverse_merge!({select_first_value: false, show_toggle_button: false, load_immediately: false, preload: true})
|
168
168
|
options[:id] ||= sanitize_to_id(name)
|
169
169
|
|
170
170
|
selected_values ||= []
|
@@ -177,7 +177,7 @@ module RedmineExtensions
|
|
177
177
|
|
178
178
|
content_tag(:span, :class => 'easy-multiselect-tag-container') do
|
179
179
|
text_field_tag('', '', (options[:html_options] || {}).merge(id: options[:id])) +
|
180
|
-
javascript_tag("$('##{options[:id]}').easymultiselect({multiple: true, rootElement: #{options[:rootElement].to_json}, inputName: '#{name}', preload:
|
180
|
+
javascript_tag("$('##{options[:id]}').easymultiselect({multiple: true, rootElement: #{options[:rootElement].to_json}, inputName: '#{name}', preload: #{options[:preload]}, source: #{source}, selected: #{selected_values.to_json}, show_toggle_button: #{options[:show_toggle_button]}, select_first_value: #{options[:select_first_value]}, load_immediately: #{options[:load_immediately]}, autocomplete_options: #{(options[:jquery_auto_complete_options]||{}).to_json} });")
|
181
181
|
end
|
182
182
|
end
|
183
183
|
|
@@ -6,7 +6,7 @@ module RedmineExtensions
|
|
6
6
|
|
7
7
|
def plugin_settings_path(plugin, *attrs)
|
8
8
|
if plugin.is_a?(Redmine::Plugin) && (plugin.settings[:only_easy] || plugin.settings[:easy_settings])
|
9
|
-
|
9
|
+
edit_easy_setting_path(plugin, *attrs)
|
10
10
|
else
|
11
11
|
super
|
12
12
|
end
|
@@ -44,21 +44,20 @@ module RedmineExtensions
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
-
def
|
48
|
-
entity_class_name = entity_class.name
|
49
|
-
query_class = "Easy#{entity_class_name}Query".constantize rescue nil
|
50
|
-
return query_class if query_class && query_class < EasyQuery
|
51
|
-
query_class ||= "#{entity_class_name}Query".constantize rescue nil
|
52
|
-
end
|
53
|
-
|
54
|
-
def render_entity_assignments(entity, target_entity, options = {}, &block)
|
47
|
+
def render_entity_assignments(entity, target_class, options = {}, &block)
|
55
48
|
options ||= {}
|
56
|
-
collection_name = options.delete(:collection_name) ||
|
57
|
-
query_class = query_for_entity(target_entity)
|
58
|
-
|
59
|
-
return '' if !query_class || !entity.respond_to?(collection_name)
|
49
|
+
collection_name = options.delete(:collection_name) || target_class.name.pluralize.underscore
|
60
50
|
|
61
51
|
project = options.delete(:project)
|
52
|
+
query_class = options.delete(:query_class)
|
53
|
+
|
54
|
+
if query_class.nil?
|
55
|
+
query_class_name = target_class.name + 'Query'
|
56
|
+
|
57
|
+
query_class = query_class_name.constantize #if Object.const_defined?(query_class_name)
|
58
|
+
end
|
59
|
+
|
60
|
+
return '' if !query_class || !(query_class < EasyQuery) || !entity.respond_to?(collection_name)
|
62
61
|
|
63
62
|
query = query_class.new(:name => 'c_query')
|
64
63
|
query.project = project
|
@@ -69,8 +68,9 @@ module RedmineExtensions
|
|
69
68
|
|
70
69
|
entities_count = entities.size
|
71
70
|
options[:entities_count] = entities_count
|
71
|
+
|
72
72
|
options[:module_name] ||= "entity_#{entity.class.name.underscore}_#{entity.id}_#{collection_name}"
|
73
|
-
options[:heading] ||= l("label_#{
|
73
|
+
options[:heading] ||= l("label_#{target_class.name.underscore}_plural", :default => 'Heading')
|
74
74
|
|
75
75
|
if options[:context_menus_path].nil?
|
76
76
|
options[:context_menus_path] = [
|
@@ -82,11 +82,9 @@ module RedmineExtensions
|
|
82
82
|
end
|
83
83
|
end
|
84
84
|
|
85
|
-
query.output = options[:display_style] || (entities_count > 3 ? 'list' : 'tile')
|
86
|
-
|
87
85
|
render(:partial => 'easy_entity_assignments/assignments_container', :locals => {
|
88
86
|
:entity => entity,
|
89
|
-
:query => query, :project => project,
|
87
|
+
:query => query, :target_class => target_class, :project => project,
|
90
88
|
:entities => entities, :entities_count => entities_count, :options => options})
|
91
89
|
end
|
92
90
|
|
@@ -108,104 +106,63 @@ module RedmineExtensions
|
|
108
106
|
end
|
109
107
|
end
|
110
108
|
|
111
|
-
|
112
|
-
#
|
113
|
-
#
|
114
|
-
#
|
115
|
-
#
|
116
|
-
#
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
options[:
|
124
|
-
options[:
|
125
|
-
options[:
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
attr_accessor :content
|
138
|
-
|
139
|
-
def container_class
|
140
|
-
s = (@container_class.presence || css_classes[:container]).to_s
|
141
|
-
s << ' collapsible' if collapsible?
|
142
|
-
s << ' collapsed' if collapsed?
|
143
|
-
|
144
|
-
s
|
145
|
-
end
|
146
|
-
|
147
|
-
def saving_state_enabled?
|
148
|
-
collapsible? && (options[:remember].nil? || !!options[:remember])
|
149
|
-
end
|
150
|
-
|
151
|
-
def heading_tag
|
152
|
-
(options[:wrapping_heading_element] || (options[:header_tag] || options[:heading_tag])).presence || 'h3'
|
153
|
-
end
|
154
|
-
|
155
|
-
def heading_class
|
156
|
-
(@heading_class || css_classes[:heading]).to_s
|
157
|
-
end
|
158
|
-
|
159
|
-
def icon
|
160
|
-
@icon ||= options[:icon] && " icon #{options[:icon]}"
|
161
|
-
end
|
162
|
-
|
163
|
-
def heading_links
|
164
|
-
if block_given?
|
165
|
-
@heading_links = view.capture { yield }
|
166
|
-
else
|
167
|
-
@heading_links.to_s.html_safe
|
168
|
-
end
|
169
|
-
end
|
170
|
-
|
171
|
-
def collapsible?
|
172
|
-
return @collapsible unless @collapsible.nil?
|
173
|
-
@collapsible ||= !!options[:toggle] && (options[:collapsible].nil? || !!options[:collapsible])
|
109
|
+
# options:
|
110
|
+
# => options[:heading] = text beside of plus button
|
111
|
+
# => options[:container_html] = a hash of html attributes
|
112
|
+
# => options[:default_button_state] = (true => expanded -), (false => collapsed +)
|
113
|
+
# => options[:ajax_call] = make ajax call for saving state (true => ajax call, false => no call, no save)
|
114
|
+
# => options[:wrapping_heading_element] = html element outside heading => h3, h4
|
115
|
+
def render_toggler(container_uniq_id, user = nil, options={}, &block)
|
116
|
+
user ||= User.current
|
117
|
+
options[:heading] ||= ''
|
118
|
+
options[:heading_links] ||= []
|
119
|
+
options[:heading_links] = [options[:heading_links]] if options[:heading_links] && !options[:heading_links].is_a?(Array)
|
120
|
+
options[:container_html] ||= {}
|
121
|
+
options[:default_button_state] = false #if is_mobile_device?
|
122
|
+
options[:default_button_state] = true if options[:default_button_state].nil?
|
123
|
+
options[:ajax_call] = true if options[:ajax_call].nil?
|
124
|
+
|
125
|
+
s = ''
|
126
|
+
if !options.key?(:no_heading_button)
|
127
|
+
options[:heading] << content_tag(:div, options[:heading_links].join(' ').html_safe, :class => 'module-heading-links') unless options[:heading_links].blank?
|
128
|
+
s << render_toggler_header(user, options[:heading].html_safe, container_uniq_id, options)
|
129
|
+
end
|
130
|
+
|
131
|
+
if options[:ajax_call] == false
|
132
|
+
expanded = options[:default_button_state]
|
133
|
+
else
|
134
|
+
expanded = true
|
174
135
|
end
|
175
136
|
|
176
|
-
|
177
|
-
|
178
|
-
|
137
|
+
s << (content_tag(:div, {
|
138
|
+
:id => container_uniq_id,
|
139
|
+
:style => (expanded ? '' : 'display:none')
|
140
|
+
}.merge(options[:container_html]) { |k, o, n| "#{o}; #{n}" }, &block))
|
141
|
+
s.html_safe
|
142
|
+
end
|
179
143
|
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
end
|
144
|
+
def render_toggler_header(user, content, modul_uniq_id, options={})
|
145
|
+
expander_options = options[:expander_options] || {}
|
146
|
+
wrapping_heading_element = options[:wrapping_heading_element] || 'h3'
|
147
|
+
wrapping_heading_element_classes = (options[:wrapping_heading_element_classes] || '') + ' module-heading'
|
148
|
+
wrapping_heading_element_styles = options[:wrapping_heading_element_styles]
|
149
|
+
ajax_call = options.delete(:ajax_call) ? 'true' : 'false'
|
187
150
|
|
188
|
-
|
189
|
-
view.render({partial: 'common/collapsible_module_layout', locals: {renderer: self, content: content}} )
|
190
|
-
end
|
191
|
-
private
|
151
|
+
html = ''
|
192
152
|
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
content: css_class
|
202
|
-
}
|
203
|
-
end
|
153
|
+
if options[:no_expander]
|
154
|
+
html << content_tag(wrapping_heading_element, content, :class => wrapping_heading_element_classes, :style => wrapping_heading_element_styles)
|
155
|
+
else
|
156
|
+
html << '<div class="module-toggle-button">'
|
157
|
+
html << "<div class='group open' >"
|
158
|
+
html << content_tag(wrapping_heading_element, content, :class => wrapping_heading_element_classes, :style => wrapping_heading_element_styles, :onclick => "var event = arguments[0] || window.event; if( !$(event.target).hasClass('do_not_toggle') && !$(event.target).parent().hasClass('module-heading-links') ) toggleMyPageModule(this,'#{modul_uniq_id}','#{user.id}', #{ajax_call})")
|
159
|
+
html << "<span class='expander #{expander_options[:class]}' onclick=\"toggleMyPageModule($(this),'#{modul_uniq_id}','#{user.id}', #{ajax_call}); return false;\" id=\"expander_#{modul_uniq_id}\"> </span>"
|
160
|
+
html << '</div></div>'
|
204
161
|
end
|
205
162
|
|
163
|
+
html.html_safe
|
206
164
|
end
|
207
165
|
|
208
|
-
|
209
166
|
def autocomplete_field_tag(name, jsonpath_or_array, selected_values, options = {})
|
210
167
|
options.reverse_merge!({select_first_value: false, show_toggle_button: false, load_immediately: false, preload: true})
|
211
168
|
options[:id] ||= sanitize_to_id(name)
|
@@ -221,10 +178,10 @@ module RedmineExtensions
|
|
221
178
|
content_tag(:span, :class => 'easy-multiselect-tag-container') do
|
222
179
|
text_field_tag('', '', (options[:html_options] || {}).merge(id: options[:id])) +
|
223
180
|
<<<<<<< HEAD
|
224
|
-
javascript_tag("$('##{options[:id]}').easymultiselect({multiple: true, rootElement: #{options[:rootElement]}, inputName: '#{name}', preload: #{options[:preload]}, source: #{source}, selected: #{selected_values.to_json}, show_toggle_button: #{options[:show_toggle_button]}, select_first_value: #{options[:select_first_value]}, load_immediately: #{options[:load_immediately]}, autocomplete_options: #{(options[:jquery_auto_complete_options]||{}).to_json} });")
|
225
|
-
=======
|
226
181
|
javascript_tag("$('##{options[:id]}').easymultiselect({multiple: true, rootElement: #{options[:rootElement].to_json}, inputName: '#{name}', preload: true, source: #{source}, selected: #{selected_values.to_json}, show_toggle_button: #{options[:show_toggle_button]}, select_first_value: #{options[:select_first_value]}, load_immediately: #{options[:load_immediately]}, autocomplete_options: #{(options[:jquery_auto_complete_options]||{}).to_json} });")
|
227
|
-
|
182
|
+
=======
|
183
|
+
javascript_tag("$('##{options[:id]}').easymultiselect({multiple: true, rootElement: #{options[:rootElement]}, inputName: '#{name}', preload: #{options[:preload]}, source: #{source}, selected: #{selected_values.to_json}, show_toggle_button: #{options[:show_toggle_button]}, select_first_value: #{options[:select_first_value]}, load_immediately: #{options[:load_immediately]}, autocomplete_options: #{(options[:jquery_auto_complete_options]||{}).to_json} });")
|
184
|
+
>>>>>>> 4a3284c... labels
|
228
185
|
end
|
229
186
|
end
|
230
187
|
|