Johannes Meyer
a8be92c245
loader.js: Still apply some accessibility changes..
...
..if a renderHook discards an autorefresh. There is
unfortunately no way to distinguish between a renderHook
that really discards changes or one that applies them
on the DOM itself. If it's the first, this change
*shouldn't* hurt. If it's the latter, users should
benefit.
2021-03-31 12:38:35 +02:00
Johannes Meyer
e65ec1900a
js: Add new special redirect target `__CLOSE__`
...
This has the same effect as a normal redirect. The benefit of it however
is that the server doesn't need to know what's being shown in the left
column. It just instructs the client to close the right and refresh the
left column. But still produces a new history state, it's a forward
navigation nonetheless.
2021-03-30 13:25:40 +02:00
Johannes Meyer
94a16056d7
js: Speedup collapsible.js by a factor of 10
...
It's still relatively slow as it forces a reflow in the
browser if there are many collapsibles in the view.
I didn't manage to identify the issue yet, but I left
a TODO at the location that's responsible for it.
2021-03-30 09:31:57 +02:00
Johannes Meyer
1675cc6d74
js: Make Utils.getCSSPath work without a jQuery set
2021-03-30 09:31:57 +02:00
Johannes Meyer
25263e767b
js: Allow to disable persistence for collapsibles
2021-03-30 09:27:22 +02:00
Johannes Meyer
8c147c1b2f
css: Remove left-over styles from tipsy
2021-03-09 08:58:48 +01:00
Johannes Meyer
07251e6d5e
modal.js: Really only close the modal if the user clicks outside of it
...
The click event fires only after the mouse button is released, which
may happen on the outside, after the user tried to select something
and overrun accidentally. A close is then not desired as the user
may loose input. The mousedown event fires right when the button
is pressed and suffices on the outside of the modal.
2021-03-09 08:52:10 +01:00
Johannes Meyer
7790a72efa
js: Only close a modal if an ESC press is not handled otherwise
2021-03-09 08:52:10 +01:00
Johannes Meyer
b4531b6b45
js: Add support for the `search-editor` input enrichment
...
Also makes it possible to enrich inputs in modals
2021-03-09 08:52:10 +01:00
Johannes Meyer
b17be671bc
js: Accept non-jQuery nodes in method `EventListener.bind()`
2021-03-09 08:52:10 +01:00
Johannes Meyer
e4ff391b1a
js: Trigger a `rendered` event if SearchBar editor is opened
2021-03-09 08:52:10 +01:00
Johannes Meyer
f44ea884bd
js: Suspend auto refresh once `search-bar` enrichment opens its editor
2021-03-09 08:52:10 +01:00
Johannes Meyer
1f29c4a2fe
js: Allow to suspend auto refresh for individual containers
2021-03-09 08:52:10 +01:00
Johannes Meyer
4366f93127
js: Support new input enrichment type `search-bar`
2021-03-09 08:52:10 +01:00
Johannes Meyer
027e468943
js: Update a form's action if it's a auto submit response with `X-Icinga-Location-Query`
2021-03-09 08:52:10 +01:00
Johannes Meyer
43dd89f946
js: Also support `_self` and such target ids for response header `X-Icinga-Container`
...
The server can now instruct the client to render the response in a different container
2021-03-09 08:52:10 +01:00
Johannes Meyer
6e8ca9cdda
js: Add method `identifyLinkTarget()` to the loader
2021-03-09 08:52:10 +01:00
Johannes Meyer
4f57aa68cd
js: Transmit `X-Icinga-Container` for all requests
...
This tells the server which container the client will use
to render the response in
2021-03-09 08:52:10 +01:00
Johannes Meyer
4d4f5b3a69
js: Don't serve scripts utilizing ECMA2016+ features
...
i.e. library javascript assets
2021-02-22 16:01:42 +01:00
Johannes Meyer
5c5e83a700
loader.js: Don't use the regex DotAll modifier, it's ES2018+ only
...
i.e. not supported by Microsoft Edge
2021-02-22 15:07:55 +01:00
Johannes Meyer
9dae3bdf88
loader.js: Only abort GET autorefresh requests
2021-02-18 14:10:02 +01:00
Johannes Meyer
87d741265e
Auth: Add support for denied permissions
2021-02-18 11:11:39 +01:00
Johannes Meyer
57b4a31bc3
js: Don't navigate right when opening a modal
...
Isn't the prettiest fix. I would have liked to completely
remove the target preparation from `getLinkTargetFor`.
But this is the easiest fix since it's only for modals
that preparation is not desired. It's also the most
compatible change.
2021-02-17 12:51:26 +01:00
Johannes Meyer
defd8132aa
form.js: Don't abort content updates in case of auto submits
2021-02-09 09:13:11 +01:00
Johannes Meyer
f2e53d420b
js: Don't mark requests caused by `__BACK__` as autorefresh
...
It's not an autorefresh and causes issues with form.js otherwise.
2021-02-05 16:38:17 +01:00
Johannes Meyer
eff5c4e1d1
input-enrichment.js: Import required classes with `require()`
2021-01-14 11:57:24 +01:00
Johannes Meyer
dc5e39ef1c
input-enrichment.js: Add method `update()`
2021-01-14 11:57:24 +01:00
Johannes Meyer
67de8a079a
js: Initialize all types of input enrichments
2021-01-14 11:57:24 +01:00
Johannes Meyer
fcd0a0a698
complete.js: Keep IE11 compatibility
2021-01-14 11:57:06 +01:00
Johannes Meyer
4019522da1
loader.js: Disable inputs in forms not having role `search`
...
Previously only the `#search` input wasn't disabled, now also
the new filter input isn't. This is required to re-focus the
input after submission as disabled elements loose focus.
2021-01-14 11:57:06 +01:00
Johannes Meyer
3c41c14653
complete.js: Properly manage enrichment persistence
2021-01-14 11:57:06 +01:00
Johannes Meyer
d19a55311b
complete.js: Keep used terms in case of an autorefresh
2021-01-14 11:57:06 +01:00
Johannes Meyer
5924d610a1
js: Provide additional parameters for events `beforerender` and `rendered`
...
beforerender: content, action, autorefresh, scripted
rendered: autorefresh, scripted
2021-01-14 11:57:05 +01:00
Johannes Meyer
dad0122f11
js: Introduce behavior complete.js
2021-01-14 11:56:06 +01:00
Johannes Meyer
5b000a2768
css: Only apply control specific form styles to `.icinga-controls`
2021-01-13 17:20:51 +01:00
Johannes Meyer
46769b9be2
js: Add `.impact` to `.content` if a control is automatically submitted
2021-01-13 17:19:39 +01:00
Johannes Meyer
6197d5f0af
form.js: Only track real value changes and reset upon reverts
2021-01-13 17:19:18 +01:00
Johannes Meyer
ca74e14812
ui.js: Don't require jQuery objects in `getUniqueContainerId`
2021-01-13 17:18:55 +01:00
Johannes Meyer
fbf3a1f757
loader.js: Don't add form submits other than `GET`s to the history
...
This has previously not been an issue, as form submits seem to have
never targeted another url than their container's current one.
Though any form that did this, was pushed to history upon submit.
This happens now only for `GET` forms.
2021-01-13 17:17:48 +01:00
Johannes Meyer
e346c1c88c
events.js: Also accept `$autoSubmittedBy` from `event.detail`
2021-01-13 17:17:18 +01:00
Johannes Meyer
3e29fba052
js: Transmit `X-Icinga-Autorefresh=1` with autorefresh requests
2021-01-13 17:16:53 +01:00
Johannes Meyer
2c7b2330a7
loader.js: Support behaviors as well as multipart update targets
2021-01-13 17:16:30 +01:00
Johannes Meyer
f05f905d14
history.js: Set `lastPushUrl` in method `replaceCurrentState()`
...
Without this, any subsequent call to `pushCurrentState()` has
no effect in case the same url is used that was replaced.
2021-01-13 17:15:58 +01:00
Johannes Meyer
39e59422f4
error/error: Show a hint to check dependencies if there are unmet ones
2020-11-18 13:21:34 +01:00
Johannes Meyer
32f9ce8b7c
config/module: Show library dependencies and unmet ones
2020-11-18 13:21:34 +01:00
Johannes Meyer
7af8bf351c
about: List loaded libraries
2020-11-18 13:21:33 +01:00
Johannes Meyer
5a38977906
js: Add `define.js`
2020-11-18 13:21:33 +01:00
Johannes Meyer
d918d6c86f
Merge pull request #4235 from Icinga/fix/sparkline-js-performance
...
Drop sparkline.js and render inline-pies as SVG
2020-11-18 09:37:31 +01:00
Johannes Meyer
2da08ff58d
css: Use a more strict rule to apply `selected` style to active nav items
2020-11-17 15:17:58 +01:00
Johannes Meyer
0b94489c7e
loader.js: Introduce new header `X-Icinga-Location-Query`
...
This header is only used in case the response includes
multipart content. It's meant to provide a new query
string that replaces the one of the targeted container
and the resulting change also replaces the current
history entry.
2020-11-06 11:26:05 +01:00