From 6a5c6599ddaa915e61ae84da04a6b9741d953835 Mon Sep 17 00:00:00 2001 From: Hadi Nategh Date: Wed, 21 Oct 2020 14:58:19 +0200 Subject: [PATCH] WIP multitab: - fix duplicated sidebox view id --- addressbook/inc/class.addressbook_hooks.inc.php | 13 ++++++++++++- addressbook/inc/class.addressbook_ui.inc.php | 2 +- addressbook/js/app.js | 8 +++++--- addressbook/js/app.ts | 6 +++--- 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/addressbook/inc/class.addressbook_hooks.inc.php b/addressbook/inc/class.addressbook_hooks.inc.php index baf637d99a..dba69b9b30 100644 --- a/addressbook/inc/class.addressbook_hooks.inc.php +++ b/addressbook/inc/class.addressbook_hooks.inc.php @@ -38,7 +38,7 @@ class addressbook_hooks { display_sidebox($appname, lang('Contact data'), array( array( - 'text' => '
', + 'text' => '
', 'no_lang' => true, 'link' => false, 'icon' => false, @@ -102,6 +102,17 @@ class addressbook_hooks } } + /** + * Generate unique Id for addressbook view sidebox + * @param $contact_id + * @param $view + * @return string + */ + static function getViewDOMID($contact_id, $view) + { + return 'addressbook_'.$contact_id.'_'.$view.'_view_sidebox'; + } + /** * populates $settings for the Api\Preferences * diff --git a/addressbook/inc/class.addressbook_ui.inc.php b/addressbook/inc/class.addressbook_ui.inc.php index e795267d7b..f0a4e03016 100644 --- a/addressbook/inc/class.addressbook_ui.inc.php +++ b/addressbook/inc/class.addressbook_ui.inc.php @@ -3149,7 +3149,7 @@ class addressbook_ui extends addressbook_bo // Load CRM code Framework::includeJS('.','CRM','addressbook'); - $content['view_sidebox'] = 'addressbook_'.$contact_id.'_view_sidebox'; + $content['view_sidebox'] = addressbook_hooks::getViewDOMID($contact_id, $crm_list); $this->tmpl->exec('addressbook.addressbook_ui.view',$content,$sel_options,$readonlys,array( 'id' => $content['id'], 'index' => $content['index'], diff --git a/addressbook/js/app.js b/addressbook/js/app.js index 7d44805252..e19ffa87a6 100644 --- a/addressbook/js/app.js +++ b/addressbook/js/app.js @@ -90,10 +90,12 @@ var AddressbookApp = /** @class */ (function (_super) { break; } jQuery('select[id*="adr_one_countrycode"]').each(function () { - app.addressbook.show_custom_country(this); + if (app.addressbook) + app.addressbook.show_custom_country(this); }); jQuery('select[id*="adr_two_countrycode"]').each(function () { - app.addressbook.show_custom_country(this); + if (app.addressbook) + app.addressbook.show_custom_country(this); }); }; /** @@ -206,7 +208,7 @@ var AddressbookApp = /** @class */ (function (_super) { this.egw.openTab(id, 'addressbook', 'view', extras, { displayName: data.n_fn, icon: data.photo, - id: id + id: id + '_' + extras.crm_list }); }; /** diff --git a/addressbook/js/app.ts b/addressbook/js/app.ts index 8b85cc2852..5531b79c60 100644 --- a/addressbook/js/app.ts +++ b/addressbook/js/app.ts @@ -92,10 +92,10 @@ class AddressbookApp extends EgwApp } jQuery('select[id*="adr_one_countrycode"]').each(function() { - app.addressbook.show_custom_country(this); + if (app.addressbook) app.addressbook.show_custom_country(this); }); jQuery('select[id*="adr_two_countrycode"]').each(function() { - app.addressbook.show_custom_country(this); + if (app.addressbook) app.addressbook.show_custom_country(this); }); } @@ -231,7 +231,7 @@ class AddressbookApp extends EgwApp this.egw.openTab(id, 'addressbook', 'view', extras, { displayName: data.n_fn, icon: data.photo, - id: id + id: id+'_'+extras.crm_list }); }