2320 Commits

Author SHA1 Message Date
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 GETs 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
Johannes Meyer
70c3023f3c loader.js: Also match newlines when interpreting multipart content 2020-11-06 11:21:33 +01:00