diff options
author | Vladimirs Maksimovs <vladimirs.maksimovs@zabbix.com> | 2022-11-04 17:52:15 +0300 |
---|---|---|
committer | Vladimirs Maksimovs <vladimirs.maksimovs@zabbix.com> | 2022-11-04 17:52:15 +0300 |
commit | 4f4d9097321fddf2267c4d9ddd9837ec77491032 (patch) | |
tree | 2912c10ec62dc429a95a773f77eac493a114ba40 /ui | |
parent | e27a0bcd3dcdf27d3108e1f7c9b61d975167cb07 (diff) | |
parent | b2b8335f76e81892cce2f555caf25b2ffa04432d (diff) |
.......... [ZBXNEXT-6470,ZBXNEXT-6980] updated to latest from master; no conflicts
Diffstat (limited to 'ui')
-rw-r--r-- | ui/app/controllers/CControllerLatestView.php | 1 | ||||
-rw-r--r-- | ui/app/views/js/monitoring.latest.view.js.php | 2 | ||||
-rw-r--r-- | ui/app/views/js/monitoring.problem.view.js.php | 2 | ||||
-rw-r--r-- | ui/app/views/monitoring.latest.view.php | 4 | ||||
-rw-r--r-- | ui/js/widgets/class.widget.js | 27 | ||||
-rw-r--r-- | ui/tests/include/web/CPage.php | 1 | ||||
-rw-r--r-- | ui/tests/selenium/dashboard/testDashboardPages.php | 1 | ||||
-rw-r--r-- | ui/tests/selenium/dashboard/testDashboardTriggerOverviewWidget.php | 16 | ||||
-rw-r--r-- | ui/tests/selenium/testInheritanceHostPrototype.php | 2 |
9 files changed, 35 insertions, 21 deletions
diff --git a/ui/app/controllers/CControllerLatestView.php b/ui/app/controllers/CControllerLatestView.php index d31f904b9a4..8c98c1b93df 100644 --- a/ui/app/controllers/CControllerLatestView.php +++ b/ui/app/controllers/CControllerLatestView.php @@ -200,6 +200,7 @@ class CControllerLatestView extends CControllerLatest { 'sort_order' => $sort_order, 'view_curl' => $view_url, 'paging' => $paging, + 'uncheck' => $this->hasInput('filter_reset'), 'config' => [ 'hk_trends' => CHousekeepingHelper::get(CHousekeepingHelper::HK_TRENDS), 'hk_trends_global' => CHousekeepingHelper::get(CHousekeepingHelper::HK_TRENDS_GLOBAL), diff --git a/ui/app/views/js/monitoring.latest.view.js.php b/ui/app/views/js/monitoring.latest.view.js.php index e727894273d..0171c31ec34 100644 --- a/ui/app/views/js/monitoring.latest.view.js.php +++ b/ui/app/views/js/monitoring.latest.view.js.php @@ -71,11 +71,11 @@ this.filter.on(TABFILTER_EVENT_URLSET, () => { this.reloadPartialAndTabCounters(); + chkbxRange.clearSelectedOnFilterChange(); if (this.active_filter !== this.filter._active_item) { this.active_filter = this.filter._active_item; chkbxRange.checkObjectAll(chkbxRange.pageGoName, false); - chkbxRange.clearSelectedOnFilterChange(); } }); diff --git a/ui/app/views/js/monitoring.problem.view.js.php b/ui/app/views/js/monitoring.problem.view.js.php index 931f317fb28..4f854d9976a 100644 --- a/ui/app/views/js/monitoring.problem.view.js.php +++ b/ui/app/views/js/monitoring.problem.view.js.php @@ -95,11 +95,11 @@ this.refreshResults(); this.refreshCounters(); + chkbxRange.clearSelectedOnFilterChange(); if (this.active_filter !== this.filter._active_item) { this.active_filter = this.filter._active_item; chkbxRange.checkObjectAll(chkbxRange.pageGoName, false); - chkbxRange.clearSelectedOnFilterChange(); } }); diff --git a/ui/app/views/monitoring.latest.view.php b/ui/app/views/monitoring.latest.view.php index 337ff26bf06..d95fdaf18a8 100644 --- a/ui/app/views/monitoring.latest.view.php +++ b/ui/app/views/monitoring.latest.view.php @@ -35,6 +35,10 @@ $this->includeJsFile('monitoring.latest.view.js.php'); $this->enableLayoutModes(); $web_layout_mode = $this->getLayoutMode(); +if ($data['uncheck']) { + uncheckTableRows('latest'); +} + $widget = (new CWidget()) ->setTitle(_('Latest data')) ->setWebLayoutMode($web_layout_mode) diff --git a/ui/js/widgets/class.widget.js b/ui/js/widgets/class.widget.js index e366479402d..2b5456d2f41 100644 --- a/ui/js/widgets/class.widget.js +++ b/ui/js/widgets/class.widget.js @@ -122,6 +122,8 @@ class CWidget extends CBaseComponent { this._update_retry_sec = 3; this._show_preloader_asap = true; this._resizable_handles = []; + + this._hide_preloader_animation_frame = null; } // Logical state control methods. @@ -816,15 +818,38 @@ class CWidget extends CBaseComponent { } _showPreloader() { + // Fixed Safari 16 bug: removing preloader classes on animation frame to ensure removal of icons. + + if (this._hide_preloader_animation_frame !== null) { + cancelAnimationFrame(this._hide_preloader_animation_frame); + this._hide_preloader_animation_frame = null; + } + this._content_body.classList.add('is-loading'); this._content_body.classList.remove('is-loading-fadein', 'delayed-15s'); } _hidePreloader() { - this._content_body.classList.remove('is-loading', 'is-loading-fadein', 'delayed-15s'); + // Fixed Safari 16 bug: removing preloader classes on animation frame to ensure removal of icons. + + if (this._hide_preloader_animation_frame !== null) { + return; + } + + this._hide_preloader_animation_frame = requestAnimationFrame(() => { + this._content_body.classList.remove('is-loading', 'is-loading-fadein', 'delayed-15s'); + this._hide_preloader_animation_frame = null; + }); } _schedulePreloader() { + // Fixed Safari 16 bug: removing preloader classes on animation frame to ensure removal of icons. + + if (this._hide_preloader_animation_frame !== null) { + cancelAnimationFrame(this._hide_preloader_animation_frame); + this._hide_preloader_animation_frame = null; + } + this._content_body.classList.add('is-loading', 'is-loading-fadein', 'delayed-15s'); } diff --git a/ui/tests/include/web/CPage.php b/ui/tests/include/web/CPage.php index cc2abc0f9fa..eab84952c98 100644 --- a/ui/tests/include/web/CPage.php +++ b/ui/tests/include/web/CPage.php @@ -219,7 +219,6 @@ class CPage { self::$cookie = [ 'name' => 'zbx_session', 'value' => base64_encode(json_encode($data)), - 'domain' => parse_url(PHPUNIT_URL, PHP_URL_HOST), 'path' => rtrim(substr($path, 0, strrpos($path, '/')), '/') ]; diff --git a/ui/tests/selenium/dashboard/testDashboardPages.php b/ui/tests/selenium/dashboard/testDashboardPages.php index cc0165bec87..4ccbca0c1cb 100644 --- a/ui/tests/selenium/dashboard/testDashboardPages.php +++ b/ui/tests/selenium/dashboard/testDashboardPages.php @@ -456,6 +456,7 @@ class testDashboardPages extends CWebTest { $dashboard->addPage(); $page_dialog = COverlayDialogElement::find()->waitUntilReady()->one(); $page_dialog->query('name:dashboard_page_properties_form')->asForm()->one()->fill($data['fields'])->submit(); + $page_dialog->ensureNotPresent(); $dashboard->waitUntilReady(); $title = $data['fields']['Name']; diff --git a/ui/tests/selenium/dashboard/testDashboardTriggerOverviewWidget.php b/ui/tests/selenium/dashboard/testDashboardTriggerOverviewWidget.php index 6b424d030c1..658d2921f36 100644 --- a/ui/tests/selenium/dashboard/testDashboardTriggerOverviewWidget.php +++ b/ui/tests/selenium/dashboard/testDashboardTriggerOverviewWidget.php @@ -415,21 +415,6 @@ class testDashboardTriggerOverviewWidget extends CWebTest { [ [ 'fields' => [ - 'Name' => 'Filter triggers by tag with default operator' - ], - 'tags' => [ - ['name' => 'server', 'operator' => 'Contains', 'value' => 'sel'] - ], - 'expected' => [ - 'Host for triggers filtering' => [ - 'Inheritance trigger with tags' - ] - ] - ] - ], - [ - [ - 'fields' => [ 'Name' => 'Filter triggers by 2 tags with Or operator', 'Tags' => 'Or' ], @@ -795,7 +780,6 @@ class testDashboardTriggerOverviewWidget extends CWebTest { $widget_name = (array_key_exists('fields', $data)) ? $data['fields']['Name'] : 'Trigger overview'; $widget = $dashboard->getWidget($widget_name); - $widget->query('xpath://div[contains(@class, "is-loading")]')->waitUntilNotPresent(); $dashboard->save(); $this->assertMessage(TEST_GOOD, 'Dashboard updated'); diff --git a/ui/tests/selenium/testInheritanceHostPrototype.php b/ui/tests/selenium/testInheritanceHostPrototype.php index 73a40bb3c99..57de3f86508 100644 --- a/ui/tests/selenium/testInheritanceHostPrototype.php +++ b/ui/tests/selenium/testInheritanceHostPrototype.php @@ -456,7 +456,7 @@ class testInheritanceHostPrototype extends CLegacyWebTest { if (array_key_exists('template', $data)) { $this->zbxTestClickButtonMultiselect('add_templates_'); $this->zbxTestLaunchOverlayDialog('Templates'); - COverlayDialogElement::find()->one()->setDataContext('Templates'); + COverlayDialogElement::find()->waitUntilReady()->one()->setDataContext('Templates'); $this->zbxTestClickLinkTextWait($data['template']); } |