Commit Graph

230 Commits

Author SHA1 Message Date
Johannes Meyer 5333bbf04d loader.js: Also set title directly if layout is base target 2019-08-02 15:42:58 +02:00
Johannes Meyer b168c3d7db js: Don't use jquery.focus shorthand anymore, but icinga.ui.focusElement 2019-07-18 07:57:14 +02:00
Johannes Meyer 6323a065ea loader.js: Keep using the promise interface for complete callbacks 2019-07-18 07:57:14 +02:00
Johannes Meyer 5cf71c9bbd js: Drop iframe-upload fallback for IE 2019-07-18 07:57:14 +02:00
Jennifer Mourek f6a5f952bb loader.js: Remove comment 2019-07-18 07:56:09 +02:00
Florian Strohmaier 5fe264be6a JS: Fix errors
refs #3813
2019-07-18 07:56:09 +02:00
Johannes Meyer f6d40a9d1c loader.js: Directly set the window's title for full layout requests
refs #3851
2019-07-15 08:24:44 +02:00
Johannes Meyer 43c87d2388 loader.js: Return in onComplete upon handled redirects
Got changed with f12a5741b8. Triggering
rendered events for stuff that's never displayed doesn't seem right.
2019-04-30 09:23:59 +02:00
Johannes Meyer f72aa291bc
Merge pull request #3610 from Icinga/fix/window-id-cannot-be-used-to-differentiate-containers-3609
Fix window id cannot be used to differentiate containers
2019-04-17 11:38:48 +02:00
Johannes Meyer 4900040d47 js: Restore previous title when closing right column
fixes #3654
2019-04-16 09:29:42 +02:00
Johannes Meyer d8c4fcc517
Merge pull request #3661 from Icinga/feature/preserve-scroll-position-upon-form-submits
Preserve scroll position upon form submits
2019-04-16 08:04:15 +02:00
Johannes Meyer cb3528a7be js: Don't scroll to re-focused elements after auto-refreshes
refs #2048
refs #3295
refs #3492
refs #3518
2019-04-15 15:42:14 +02:00
Johannes Meyer f54f2f8627 js: Prevent flickering when refreshing scrolled content 2019-04-15 14:27:14 +02:00
Eric Lippmann 915c7b8fe5
Merge pull request #3504 from Icinga/fix/collapsible-sidebar-issues-3187
Fix collapsible sidebar issues
2019-03-21 09:09:27 +01:00
Jennifer Mourek b3b80fdc31 Make active first-level nav items better distinguishable 2019-03-20 11:07:39 +01:00
Johannes Meyer 27569d09d8 loader.js: Preserve scroll position also for form submits
Restores the scroll position if:
* it's been a POST request
* the source and target url path is the same
* the target's url params do not change significantly
2019-01-10 15:32:28 +01:00
Johannes Meyer d2214ef0e4 loader.js: Pass-through previous request when peforming a redirection 2019-01-10 15:31:39 +01:00
Johannes Meyer 29a8184548 loader.js: Remember a request's method 2019-01-10 15:30:48 +01:00
Johannes Meyer c8a49414b1 js: Append a unique container id to the Window-Id
Generates a semi-random id for containers other than the menu and col1.
This id is then appended to the Window-Id of every request separated by
an underscore: `window-id_container-id`

refs #3609
2018-11-07 12:44:25 +01:00
Johannes Meyer 5f4aa1e296 loader.js: Make anchor navigation working again
fixes #3492
2018-07-10 10:50:31 +02:00
Johannes Meyer 990df95f36 loader.js: Allow to force HTTP to be used for JS redirection 2018-07-04 14:44:03 +02:00
Johannes Meyer 9857021d2c Revert "loader.js: place focus at the end of text inputs"
This reverts commit d1fd7e4be7.
Browsers seem to do this on their own natively. Way better.

refs #3348
2018-04-24 11:18:10 +02:00
Alexander A. Klimov 68870ca411 Icinga.Loader.prototype.renderContentToContainer(): preserve scroll position despite the focus 2018-01-19 15:32:54 +01:00
Eric Lippmann cb83a7dea3 JS: Always request application-state
Icinga Web 2 version 2.5.0 suspends auto-refresh if the tab is inactive.
This also pauses the application-state requests which are intended to refresh the session and announcements.
If a tab is inactive for longer than the PHP session timeout (session.gc_maxlifetime in php.ini), users are automatically logged out.
With this patch Web 2 will always request application-state. Even if auto-refresh is disabled.
2017-12-04 14:25:23 +01:00
Jennifer Mourek 3a8ba39abd Disable auto-refresh when page is not visible
credits to @towolf

Icinga offers the user to enable or disable 'auto-refresh' with a
static preference.

But 'auto-refresh' is the default and our users often have dozens of
Icinga tabs open in their browser, which they are not looking at.

The background tabs lead to significant load on the database to to
repeated queries to keep the invisible UI fresh.

This change adds a visibility listener, which disables auto-refresh when the
page is not visible.

refs #2761
2017-10-26 13:53:25 +02:00
Eric Lippmann e030229d7f Fix CSS issues when rerendering the layout
fixes #13467
2016-12-12 15:02:51 +01:00
Eric Lippmann 39c7451664 Implement announcements
refs #11198
2016-11-29 15:24:34 +01:00
Eric Lippmann 875d42c0a6 Revert "Merge branch 'bugfix/always-use-the-jquery-find-method-w/-node-context-10704'"
This reverts commit f517c62fde, reversing
changes made to d1fd7e4be7.

refs #10704
2016-11-21 14:34:58 +01:00
Eric Lippmann f517c62fde Merge branch 'bugfix/always-use-the-jquery-find-method-w/-node-context-10704'
fixes #10704
2016-11-21 14:33:43 +01:00
Thomas Gelf d1fd7e4be7 loader.js: place focus at the end of text inputs 2016-11-21 11:39:03 +00:00
Alexander A. Klimov 3363e6795f JS: use $(parent).find(child) instead of $(child, parent)
refs #10704

Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2016-11-21 10:46:31 +01:00
Thomas Gelf ce6fa235cb js/loader: do not steal focus placed by module 2016-11-16 10:49:28 +00:00
Eric Lippmann 7e47a2965c JS: Fix usage of global variable self used to reference icinga in loader.js::onComplete()
refs #10703
2016-09-09 13:22:08 +02:00
Alexander A. Klimov 56c10ffdd5 Avoid local variable name `self' in loader.js
refs #10703
2016-09-01 16:28:57 +02:00
Thomas Gelf 96f50c5dfa loader.js: fix JS error on IE 2016-02-29 21:18:46 +01:00
Alexander A. Klimov a2a96be8c9 Display ISO date and time when a connection was lost
refs #10625
2016-02-22 11:24:19 +01:00
Alexander A. Klimov 11ea7d99d7 Escape messages of notifications loaded by JavaScript 2016-02-19 14:10:58 +01:00
Alexander A. Klimov 474803fee4 Change all license headers to only reflect a file's year of creation
refs #11000
2016-02-08 15:41:00 +01:00
Eric Lippmann e468329051 JS: Keep search field focus
fixes #11029
2016-02-02 08:40:35 +01:00
Eric Lippmann 41c942d197 JS: Maintain auto-refresh interval over redirects
This is far from beautiful. But JS needs a revamp anyway.
Request should be an object and should be passed from function to function in order to maintain state.
2016-01-27 09:19:12 +01:00
Eric Lippmann 7ede8124cb Pagination: Focus active after next or prev exceeded
I'd like to see behaviors for components instead of patching loader/events all the time.
2016-01-25 07:23:12 +01:00
Eric Lippmann 4c4e8e4ac2 monitoring: Re-focus check now and alike 2016-01-22 13:33:59 +01:00
Eric Lippmann e1eb505986 JS: Maintain autosubmit focus 2016-01-18 13:28:36 +01:00
Eric Lippmann 7a6d61ceaa JS: Re-focus visible elements only
Don't try to re-focus links from dropdown tabs example because they're no longer visible if the page has been loaded.
2016-01-18 12:50:27 +01:00
Eric Lippmann 81d73bb5e4 JS: Try to maintain focus 2016-01-18 12:50:27 +01:00
Johannes Meyer 68297f0630 Revert "loader.js: Do not push redirects to history"
This reverts commit e99cdb66ef.
2015-10-02 11:46:44 +02:00
Johannes Meyer 8e94f3e58e Revert "Revert "Fix logout loop (testing), #2""
This reverts commit 967c3552e5.
2015-10-02 11:46:44 +02:00
Johannes Meyer 967c3552e5 Revert "Fix logout loop (testing), #2"
This reverts commit 6affad6895.
2015-10-02 11:36:06 +02:00
Johannes Meyer e99cdb66ef loader.js: Do not push redirects to history 2015-10-02 11:36:06 +02:00
Eric Lippmann 6affad6895 Fix logout loop (testing), #2
Quick and dirty fix.
2015-10-01 10:50:33 +02:00
Eric Lippmann 5f7f0a9e89 Fix logout loop (testing)
If this commit breaks anyhting, feel free to revert it.
2015-10-01 10:30:18 +02:00
Johannes Meyer 67a28a4b47 js: Do not re-open the detail url if it's the origin of a redirect
refs #5600
2015-09-25 13:58:52 +02:00
Matthias Jentsch 4e2595c09b Fix history breaking on autorefresh 2015-08-28 16:06:07 +02:00
Matthias Jentsch ef8ee3302b Improve JS error handling
Refresh URL after loading erroring containers, when the user refreshes he expects to reload the page he just loaded and not the previous one.
2015-08-26 15:23:58 +02:00
Matthias Jentsch 96e3845f46 Improve handling of navigation on link closes
Do not drop active menu when closing the left column, unless there is a different active menu that matches the current state.

fixes #9761
2015-08-25 16:55:10 +02:00
Johannes Meyer e3d99cb00d loader.js: Add support for ajax progress timer
refs #8369
refs #8848
2015-08-20 14:38:03 +02:00
Matthias Jentsch 34bf6bb11e Stop refresh on any error unless its an auto-refresh
Links with the same URL may still be user-triggered actions, which should cause the auto-refresh to be stalled. The old implementation assumed that user-triggered requests always have a different URL.

fixes #8975
2015-08-18 16:47:45 +02:00
Matthias Jentsch 0c2afe3c3b Clean up and conform to coding guidelines 2015-08-18 16:47:45 +02:00
Matthias Jentsch 7c7881659d Always replace requests in loader by non-GET requests
Fix issue that caused form submits to be aborted when there's already a pending autosubmit for the same url.

fixes #9024
2015-08-18 11:42:43 +02:00
Matthias Jentsch 6ba86619bc Assure that the history is updated when calling 'rendered'
fixes #9819
2015-08-11 17:41:24 +02:00
Johannes Meyer 153f3ba2f9 js: Drop function events.handleAnchor() and ui.scrollContainerToAnchor()
There is ui.focusElement() now which handles ids as well.

refs #8615
2015-08-06 11:51:57 +02:00
Matthias Jentsch ecdc03a2d7 Fix selection lost after pushing refresh
Remove old row action code that interfered with action table behavior.

refs #8623
2015-07-29 11:41:53 +02:00
Johannes Meyer 0f2351ff1d js: Fix XHR loading of URLs in case window.FormData is not supported
refs #8758
2015-07-22 13:29:44 +02:00
Johannes Meyer 5e1ea958b4 js: Correctly process the redirectUrl-meta tag for successful frame uploads
refs #8758
2015-07-21 16:38:52 +02:00
Johannes Meyer 93fbb0231c loader.js: Split processRedirectHeader() to allow partly reuse
refs #8758
2015-07-21 16:37:21 +02:00
Johannes Meyer 9471c3c574 js: Make use of the _frameUpload parameter when submitting a form..
..to an iframe. This ensures that stuff like notifications are immediately
visible to the user after successful form submission.

refs #8758
2015-07-21 15:43:47 +02:00
Johannes Meyer 37b87eb284 js: Add fallback in case XHR file uploads are not possible
refs #8758
2015-07-20 10:52:28 +02:00
Johannes Meyer 6d4d99aa62 js: Use window.FormData instead of just FormData
refs #8758
2015-07-15 15:49:34 +02:00
Johannes Meyer c1d9cde312 js: Properly submit multipart/form-data
This is not IE <10 compatible. Fix follows. ;-)

refs #8758
2015-07-15 15:25:40 +02:00
Johannes Meyer 3098c21c17 loader.js: Push failed requests to history
The commit ae68e8aec4 reverted
earlier seems to be supposed to do exactly what this one does now.
Prior, the commits ae68e8aec4 and
8bb0e4e0a0 were effectively
neutralizing each other. Quick tests of how Web 2 handles failing
requests while interacting with the browser's history were successful.
If this change breaks something else (again?), leave me a note and do
*not* fix it straight away..
2015-07-06 16:56:44 +02:00
Johannes Meyer b4fe91bb2f Revert "Ajax onFailure: Write component URL to container"
This reverts commit ae68e8aec4.

fixes #9042
fixes #9544
2015-07-06 16:43:49 +02:00
Matthias Jentsch 975a834bd4 Remove unused code and clean up 2015-06-30 12:28:41 +02:00
Johannes Meyer 88f5bb8368 js: Relax check whether to switch to single column layout upon redirect
This fixes the problem when redirecting from a form using the same route
as in the leftmost column but with a different querystring, that one gets
the same route shown twice.
2015-05-22 16:54:59 +02:00
Johannes Meyer 54a370ca22 Merge branch 'master' into bugfix/make-all-views-dashboard-compliant-7876 2015-04-20 11:15:04 +02:00
Matthias Jentsch aa409bda72 Fix formatting of js error log entries generated from responses
Replace multiple whitespace characters with a single one and remove linebreaks.

refs #8711
2015-04-16 12:15:59 +02:00
Johannes Meyer be05d3a73a Fix dashboard header handling
refs #7876
2015-04-15 13:23:34 +02:00
Eric Lippmann 2e1ae185fb Retain detail URL if the layout is rerendered after a redirect
refs #8605
2015-03-13 04:04:58 +01:00
Eric Lippmann 7f94858b8d Add JSDoc to Icinga.Loader.prototype.processRedirectHeader()
refs #8626
2015-03-11 21:26:44 +01:00
Eric Lippmann 031f9ddc84 Don't always redirect to the current window's URL if the redirect URL is __SELF__
Please see code comments for an explanation.

refs #8626
2015-03-11 21:24:56 +01:00
Johannes Meyer 3dce0e434a Add more sophisticated fix for keeping the focus after an autorefresh
fixes #8350
2015-02-17 09:24:38 +01:00
Marius Hein ea57e7a786 History: Do not write abort requests to browser history
Remove req.historyTriggered and introduce req.addToHistory.
2015-02-16 15:56:50 +01:00
Marius Hein ae68e8aec4 Ajax onFailure: Write component URL to container
This is needed that history can push the correct detail url
2015-02-16 14:11:11 +01:00
Thomas Gelf d10beb7604 js: no console.log. please! 2015-02-09 15:26:55 +01:00
Matthias Jentsch b56eb7b669 Fix keyboard navigation
Store current focus position before reload and apply it after rendering.

fixes #8350
2015-02-04 18:01:06 +01:00
Eric Lippmann 6bae2e0a53 Note that our license is GPL v2 or any later version in our license header instead of pointing to the license's URL 2015-02-04 10:52:27 +01:00
Eric Lippmann 5b4fab0750 Add license header
This time without syntax errors hopefully :)
2015-02-03 16:27:59 +01:00
Eric Lippmann 5fa2e3cfdc Revert "Add license header"
This reverts commit 338d067aba.
2015-02-03 16:16:26 +01:00
Eric Lippmann 338d067aba Add license header
fixes #7788
2015-02-03 15:51:04 +01:00
Johannes Meyer 8bb0e4e0a0 Failure requests: Fix auto refresh and history II
Allow to change url's in history and stop auto auto refresh if
the container URL is not up to date.

Use variable after ajax call and the check is more robust.
2015-02-02 16:52:36 +01:00
Marius Hein bc69a3b20f Revert "Failure requests: Fix auto refresh and history"
This reverts commit 8c758a9f12.
2015-02-02 16:40:05 +01:00
Marius Hein 67a426580d loader: Remove gray out on complete handler
A failure did not remove the impact class which colorize
the background gray.
2015-02-02 15:20:12 +01:00
Marius Hein 6555a2ec0a Menu: Move request handling to complete
If a failure occur the menu is still working.
2015-02-02 15:03:36 +01:00
Marius Hein 8c758a9f12 Failure requests: Fix auto refresh and history
Allow to change url's in history and stop auto auto refresh if
the container URL is not up to date.
2015-02-02 13:32:40 +01:00
Marius Hein 190c1e8f04 Revert "Revert "Dashboard: Always replace title""
This reverts commit d1f13819e4.

Please do not ask. This was no syntax error.
2015-02-02 12:04:28 +01:00
Marius Hein d1f13819e4 Revert "Dashboard: Always replace title"
This reverts commit c0c0e7d9e5.

Syntax error
2015-02-02 12:01:40 +01:00
Marius Hein c0c0e7d9e5 Dashboard: Always replace title
This is needed if an error occurs and the exception title was rendered
into the container.
2015-02-02 12:00:08 +01:00
Marius Hein 7b8332ccd8 Notifications do not disappear after autorefresh
This is not affected anymore because the errors goes directly
into the container. But this commit fixes the codes if someone
use the notifications in the loader. Also remove unused
variable this.exception.

fixes #6278
2015-01-30 15:25:12 +01:00
Marius Hein 6ec2ee753d Render error messages in the container itself
fixes #6280
2015-01-30 14:50:25 +01:00
Thomas Gelf 95f9bebdc5 js/loader: support multi-container redirection
Redirections to #!-separated URLs (multiple containers) should also
work when not re-rendering the whole layout.
2014-11-01 01:23:55 +01:00
Thomas Gelf 6298d303c4 js/loader: trigger 'beforerender' container event 2014-11-01 01:12:59 +01:00