* Addressbook: Add searching feature for distribution list filter

This commit is contained in:
Hadi Nategh 2017-09-26 16:57:45 +02:00
parent 772d6605a0
commit edf6e16996
2 changed files with 17 additions and 13 deletions

View File

@ -243,6 +243,7 @@ class addressbook_ui extends addressbook_bo
/* old negative list
'default_cols' => '!cat_id,contact_created_contact_modified,distribution_list,contact_id,owner,room',*/
'filter2_onchange' => "return app.addressbook.filter2_onchange();",
'filter2_tags' => true,
'manual' => $do_email ? ' ' : false, // space for the manual icon
//'actions' => $this->get_actions(), // set on each request, as it depends on some filters
'row_id' => 'id',

View File

@ -2487,7 +2487,12 @@ var et2_nextmatch_header_bar = (function(){ "use strict"; return et2_DOMWidget.e
// Add category
if(!settings.no_cat) {
if (typeof settings.cat_id_label == 'undefined') settings.cat_id_label = '';
this.category = this._build_select('cat_id', settings.cat_is_select ? 'select' : 'select-cat', settings.cat_id, settings.cat_is_select !== true);
this.category = this._build_select('cat_id', settings.cat_is_select ?
'select' : 'select-cat', settings.cat_id, settings.cat_is_select !== true, {
multiple: false,
tags: true,
class: "select-cat"
});
}
// Filter 1
@ -2497,7 +2502,12 @@ var et2_nextmatch_header_bar = (function(){ "use strict"; return et2_DOMWidget.e
// Filter 2
if(!settings.no_filter2) {
this.filter2 = this._build_select('filter2', 'select', settings.filter2, settings.filter2_no_lang);
this.filter2 = this._build_select('filter2', 'select', settings.filter2,
settings.filter2_no_lang, {
multiple: false,
tags: settings.filter2_tags,
class: "select-cat"
});
}
// Other stuff
@ -2639,14 +2649,15 @@ var et2_nextmatch_header_bar = (function(){ "use strict"; return et2_DOMWidget.e
* @param {string} type
* @param {string} value
* @param {string} lang
* @param {object} extra
*/
_build_select: function(name, type, value, lang) {
var widget_options = {
_build_select: function(name, type, value, lang, extra) {
var widget_options = jQuery.extend({
"id": name,
"label": this.nextmatch.options.settings[name+"_label"],
"no_lang": lang,
"disabled": this.nextmatch.options['no_'+name]
};
}, extra);
// Set select options
// Check in content for options-<name>
@ -2681,14 +2692,6 @@ var et2_nextmatch_header_bar = (function(){ "use strict"; return et2_DOMWidget.e
this.egw().debug('warn', 'Nextmatch filter options in a weird place - "%s". Should be in sel_options[%s].',row_id,name);
}
}
if (name == 'cat_id')
{
jQuery.extend(widget_options, {
multiple: false,
tags: true,
class: "select-cat"
});
}
// Legacy: Add in 'All' option for cat_id, if not provided.
if(name == 'cat_id' && options != null && (typeof options[''] == 'undefined' && typeof options[0] != 'undefined' && options[0].value != ''))
{