Commit Graph

853 Commits

Author SHA1 Message Date
Johannes Meyer 47891ddc72 datetime-picker.js: Add support for french 2021-07-27 11:27:35 +02:00
Johannes Meyer bf229c97b8 datetime-picker.js: Don't do anything with native inputs
fixes #4442
2021-07-27 09:54:28 +02:00
Johannes Meyer a4376cd14f datetime-picker.js: Don't append nodes to content..
..but individual dynamic containers.

fixes #4461
2021-07-26 11:55:50 +02:00
Johannes Meyer 832a1c88c4 collapsible.js: Properly setup collapsibles in `onLayoutChange` 2021-07-23 17:03:49 +02:00
Johannes Meyer 228e503131 js: Allow to reload the window 2021-07-07 09:41:48 +02:00
Johannes Meyer 54acf35c69 Revert "js: Don't bypass our cache when reloading CSS"
This reverts commit 1c7e5b31bf.

fixes #4417
refs #4340
2021-07-02 14:46:22 +02:00
Florian Strohmaier 8b7a3f05af JS: Add icon to js notifications 2021-06-30 08:33:51 +02:00
Johannes Meyer 23ee95e45f js: Only show a single datetime picker in each container at a time 2021-06-22 11:22:19 +02:00
Johannes Meyer c01e0f9dc8 js: Don't add scheme and location when reloading CSS
It's not necessary and may (has) lead to the following case:
`http://localhost/http://localhost/icingaweb2/css/icinga.min.css`
2021-06-18 17:19:18 +02:00
Johannes Meyer 1c7e5b31bf js: Don't bypass our cache when reloading CSS
The timestamp previously added, forces the browser to ignore
its own cache and thus it doesn't transmit the `If-None-Match`
header. We then re-calculate the the CSS possibly for no reason.
If there is a re-calculation indeed required it should be still
done now since the ETag transmitted by the browser is outdated.

refs #4340
2021-06-16 14:59:19 +02:00
Johannes Meyer 7c4488ddc7 input-enrichment: Fix incorrect identification of enriched elements 2021-06-09 15:19:05 +02:00
Johannes Meyer e794967389 js: Require libs from `icinga/icinga-php-library` now 2021-06-01 12:06:58 +02:00
Johannes Meyer cc0c6fc71b js: Avoid usage of `.matches()` as it isn't available with IE11 2021-05-25 17:19:03 +02:00
Johannes Meyer 4236dd84d9 datetime-picker.js: Show an icon inside the flatpickr input 2021-05-17 13:20:43 +02:00
Johannes Meyer 5a6e3cf32f datetime-picker.js: Cleanup unused flatpickr instances 2021-05-17 13:20:43 +02:00
Johannes Meyer e704309c41 modal.js: Trigger `close-modal` when.. closing a modal 2021-05-17 13:20:43 +02:00
Johannes Meyer 90a056d988 datetime-picker.js: Append flatpickr container not to body
The body isn't cleared without a full reload. This way the
flatpickr container resides in the same container as the
input's form.
2021-05-17 13:20:43 +02:00
Johannes Meyer 162d898d42 js: Introduce `DatetimePicker` behavior
Utilizes `flatpickr` from ipl-web.
2021-05-17 13:20:42 +02:00
Johannes Meyer 54720a1fc1 collapsible.js: Fix flickering 2021-05-12 09:06:26 +02:00
Johannes Meyer f50c095e15 js: Support custom collapsible controls in place of the default one 2021-05-05 17:59:12 +02:00
Johannes Meyer 85e9f06510 js: Mark autosubmits as autosubmits, not as autorefreshes
fixes #4346
2021-04-12 09:39:48 +02:00
Johannes Meyer aa03631eef js: Allow to mark requests explicitly as autosubmits 2021-04-12 09:39:48 +02:00
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 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