922 Commits

Author SHA1 Message Date
Johannes Meyer
37fb455977 js: Drop sparkline lib and behavior 2020-09-28 16:39:54 +02:00
Johannes Meyer
2a64a97302 js: Don't add class impact to already finished targets 2020-06-08 10:49:02 +02:00
Johannes Meyer
a59977f181 js: Properly parse/build url query values
fixes #4167
2020-06-05 08:57:30 +02:00
Johannes Meyer
74a9a8edf0 modal.js: Request compact content with showCompact 2020-06-04 08:50:41 +02:00
Alexander A. Klimov
4232a344b7 Icinga.Loader#onFailure(): treat 5xx response as connection failure
... not to break the container with the reverse proxy's response not fitting into our layout.

refs #4133
2020-04-24 08:39:23 +02:00
Johannes Meyer
344598e845 loader.js: Wait for cols being painted prior adding class impact
Allows for the new loading effect's transition to play correctly
also for columns which get opened the first time.
2020-04-14 10:40:23 +02:00
Johannes Meyer
969c1615c7 history.js: Don't load location bar as if it's an autorefresh 2020-02-28 14:37:46 +01:00
Yonas Habteab
0432b7d50d Revert "JS: Do not apply 'menu-hovered' on #layout"
This reverts commit 5443bfe9fa02abdff8e785d8c3186e609f317c54.
2020-02-28 11:36:04 +01:00
nmartini
1cf2f767a2 Make sure that class container has its container 2020-02-28 08:30:23 +01:00
Johannes Meyer
fd97e8b056 actiontable.js: Properly handle encoded filter values 2020-01-30 08:31:06 +01:00
Johannes Meyer
5a031bf659 utils.js: Fix method removeUrlParams() 2020-01-28 15:23:41 +01:00
Johannes Meyer
3464455021 js: Preserve scroll position if focus is forced to a particular element 2020-01-16 15:54:17 +01:00
Johannes Meyer
8bc84a5f9e js: Teach the url parsing a final lesson about query strings
`utils.parseParams()` now returns an array instead of an object.
This may require some changes in modules using this directly or
by `utils.parseUrl().params`

refs #4056
2020-01-16 13:45:10 +01:00
Eric Lippmann
0355b20da0 JS: Respect container in Icinga.Ui.focusElement()
Though IDs should be unique across the whole page, focusElement() must
not fail if there is the same anchor in the left and right column.
focusElement() now also respects the container when searching the
element to focus by ID.
2020-01-16 10:47:28 +01:00
Johannes Meyer
8d4e0126ca
Merge pull request #4055 from Icinga/feature/js-history-replace-state
JS: Introduce Icinga.History.replaceCurrentState()
2020-01-16 08:54:49 +01:00
Johannes Meyer
4c39772667
Merge pull request #4053 from Icinga/feature/js-addUrlFlag
JS: Introduce Icinga.Utils.addUrlFlag()
2020-01-16 08:14:20 +01:00
Johannes Meyer
477649900c js: Also adjust utils.removeUrlParams()..
..and properly handle flags in `utils.addUrlParams()`

refs #4056
2020-01-16 08:13:11 +01:00
Johannes Meyer
fdd14c96b1 js: Only encode new params in utils.addUrlParams() 2020-01-15 16:47:30 +01:00
Johannes Meyer
3db65d79c6 js: Fix improper parsing in utils.parseParams() 2020-01-15 16:46:46 +01:00
Eric Lippmann
71b8ab9b68 JS: Introuce Icinga.History.replaceCurrentState()
Before, we only had pushCurrentState() to add a new URL to the history
stack. But some actions, e.g. "load more" in history views require to
replace the current state instead of pushing. This is what
replaceCurrentState() supports now.
2020-01-15 09:57:30 +01:00
Eric Lippmann
97006973d8 JS: Introduce Icinga.History.getCurrentState()
Before, Icinga.History.pushCurrentState() had this functionality
enclosed. Now it is usable from other functions as well.
2020-01-15 09:55:39 +01:00
Johannes Meyer
db69f23c20 modal.js: Don't push form submits to the history 2020-01-15 08:41:34 +01:00
Johannes Meyer
844cb911a4 loader.js: Use utils.addUrlFlag instead of the now deprecated one 2020-01-15 08:00:04 +01:00
Johannes Meyer
e45c18c833 utils.js: Use a regex to identify the uri fragment 2020-01-15 07:58:49 +01:00
Eric Lippmann
7f8ee4f94d JS: Deprecate Icinga.Loader.addUrlFlag() in favor of Icinga.Utils.addUrlFlag() 2020-01-14 14:58:34 +01:00
Eric Lippmann
4d02d8f6d6 JS: Introduce Icinga.Utils.addUrlFlag() 2020-01-14 14:58:34 +01:00
Johannes Meyer
b85360449b js: Ignore anchors without href in events.linkClicked() 2019-12-13 16:13:55 +01:00
Johannes Meyer
63452ba250 js: Enhance scroll location detection in ui.focusElement() 2019-12-13 16:13:13 +01:00
Johannes Meyer
f5ce5d42ef js: Add jQuery plugin offsetTopRelativeTo($ancestor) 2019-12-13 16:12:40 +01:00
ValeDaRold
5edd267f2a Refresh container if X-Icinga-Extra-Updates with length 1 is defined (#3970)
* Refresh container if X-Icinga-Extra-Updates with length 1 is defined
2019-12-12 13:50:03 +01:00
Johannes Meyer
d6677bfb66 loader.js: Also preserve scroll position of display:flex containers 2019-12-11 15:27:03 +01:00
Johannes Meyer
55b9b44be9 js: Fix error when focusing navigation anchors 2019-12-11 09:27:18 +01:00
Johannes Meyer
60dfbcbad9 Remove remaining usages of #menu-container 2019-12-06 15:39:14 +01:00
Johannes Meyer
e61eb6f160 ui: Fix sidebar issues in minimal layout
Was completely broken even prior the removal of `ui.fixControls()`..
2019-12-06 15:39:14 +01:00
Johannes Meyer
4af48c797d js: Remove ui.fixControls() and ui.initializeControls()
Hooray!
2019-12-06 15:39:14 +01:00
Johannes Meyer
83d6a258ec application-state.js: Remove redundant rendered callback 2019-12-06 15:39:14 +01:00
Florian Strohmaier
5443bfe9fa JS: Do not apply 'menu-hovered' on #layout
refs #3904
2019-12-06 15:36:34 +01:00
Florian Strohmaier
7864150054 JS: Fix navigation flyout not fading out after mouseout
refs #3904
2019-12-06 15:36:34 +01:00
Florian Strohmaier
c6c77aa411 JS: Remove unused code 2019-12-06 15:36:34 +01:00
Florian Strohmaier
516bbc1ef0 JS: Fix sidebar animating out 2019-12-06 15:36:34 +01:00
Florian Strohmaier
0da89bb977 JS: Reinstate mobile menu 2019-12-06 15:36:34 +01:00
Florian Strohmaier
c06aec0471 Remove unused code 2019-12-06 15:36:34 +01:00
Florian Strohmaier
cfbeb26354 JS: Disable fixControls() 2019-12-06 15:36:34 +01:00
Johannes Meyer
cc065b949b js: Use custom event icinga-init to trigger initial render events
The `load` event is not really only fired *after all shared resources are loaded*.
Just Chromium ensures this event is fired only after `ready` and `DOMContentLoaded`.
FF, IE and Safari don't so we need our own post-init event: `icinga-init`
2019-11-26 16:00:21 +01:00
Johannes Meyer
48098a2830 js: Don't initialize modules using a beforerender event
`beforerender` is already too late. Module initialization
done using an event handler is wrong anyway. It's some
kind of bootstrapping after all and should be performed
by parts of the code which is directly responsible for
DOM content handling of modules. (i.e. loader.js)

This change though introduces a side-effect which was
not the case previously: Nested `.container` elements
trigger `rendered` events now. I've introduced this to
ensure we're also lazy loading modules and let them
handle their `rendered` events right after a redirect
which rerendered the layout. (Only `#layout` got a
`rendered` event then prior to this change)
2019-11-21 09:55:20 +01:00
Johannes Meyer
7f78c1a8a8 js: Properly initialize modules and don't trigger rendered events twice
Cleans up how our JS initializes module javascript. Previously the `rendered`
event only got fired upon page load if a module got loaded as well. This is
now decoupled and `rendered` events fire for all containers and the entire
layout upon page load.

Notable changes:
* A `load` event initializes modules and triggers `rendered` on `.container` and `#layout` elements
* Module javascript (module.js) is still lazy loaded but with a `beforerender` event, not `rendered`
* Previously `#layout` received a `rendered` event during bootstrapping, this is not the case anymore
* Initial search value preservation now got its own handler `events.onRenderedMenu()`
* Initial dashlet loading now git its own handler `events.loadDashlets()`
2019-11-20 16:22:56 +01:00
Johannes Meyer
47c2a8bdc1 js: Utilize utils.objectsEqual() in actiontable.select() 2019-11-20 16:22:56 +01:00
Johannes Meyer
2dbf9ca8ab js: Properly parse/decode query params in utils.parseParams() 2019-11-20 16:22:56 +01:00
Johannes Meyer
5f739deea3 loader.js: Enhance __BACK__ handling 2019-11-05 15:04:23 +01:00
Johannes Meyer
da565f4d16 loader.js: Refresh left twice in case right has been closed..
..if the redirect target is `__BACK__`
2019-11-04 17:25:05 +01:00