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
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
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
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
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
Johannes Meyer
e68e8c8e9c
loader.js: Only discard content if a renderHook returns null
...
Previously any false value had this effect, though empty strings
were also discarded due to this. However, in case an empty string
is the content in the first place, the content must be updated.
2020-11-06 11:21:33 +01:00
Johannes Meyer
4ce9165f77
js: Don't force focus in multipart updates if focus isn't affected
2020-11-06 11:20:28 +01:00
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 5443bfe9fa
.
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