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

View File

@ -2487,7 +2487,12 @@ var et2_nextmatch_header_bar = (function(){ "use strict"; return et2_DOMWidget.e
// Add category // Add category
if(!settings.no_cat) { if(!settings.no_cat) {
if (typeof settings.cat_id_label == 'undefined') settings.cat_id_label = ''; 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 // Filter 1
@ -2497,7 +2502,12 @@ var et2_nextmatch_header_bar = (function(){ "use strict"; return et2_DOMWidget.e
// Filter 2 // Filter 2
if(!settings.no_filter2) { 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 // Other stuff
@ -2639,14 +2649,15 @@ var et2_nextmatch_header_bar = (function(){ "use strict"; return et2_DOMWidget.e
* @param {string} type * @param {string} type
* @param {string} value * @param {string} value
* @param {string} lang * @param {string} lang
* @param {object} extra
*/ */
_build_select: function(name, type, value, lang) { _build_select: function(name, type, value, lang, extra) {
var widget_options = { var widget_options = jQuery.extend({
"id": name, "id": name,
"label": this.nextmatch.options.settings[name+"_label"], "label": this.nextmatch.options.settings[name+"_label"],
"no_lang": lang, "no_lang": lang,
"disabled": this.nextmatch.options['no_'+name] "disabled": this.nextmatch.options['no_'+name]
}; }, extra);
// Set select options // Set select options
// Check in content for options-<name> // 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); 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. // 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 != '')) if(name == 'cat_id' && options != null && (typeof options[''] == 'undefined' && typeof options[0] != 'undefined' && options[0].value != ''))
{ {