Commit Graph

979 Commits

Author SHA1 Message Date
Johannes Meyer 30b540952a loader.js: Don't consider redirected form submits as auto submits
A redirect caused by a form submit is **never** an automatic submit.
Unless I'm missing something here. There is one way this may be true,
as ipl forms without a submit button are indeed successful due to a
autosubmit element, but they don't redirect by default. So if the
controller redirects in such a case, the form should have a submit
button, I guess..

Anyway, this is necessary due to the previous commit as this may
otherwise cause form submits, that re-render layout during a redirect,
are considered being auto submitted. (Such as the login form)
2023-10-27 10:15:47 +02:00
Johannes Meyer 4743c5f5c8 loader.js: Really don't push redirects to history
refs #4879
2023-10-27 10:15:47 +02:00
Johannes Meyer 9194378c3c js: Don't refresh twice upon `__BACK__` 2023-09-26 15:04:07 +02:00
Yonas Habteab d186604b62 Allow to define row count after which a collapsible can be collapsed 2023-09-19 14:37:55 +02:00
Johannes Meyer 6e16ded825 loader.js: Don't attempt to load an extra update to a closed column 2023-09-07 13:00:45 +02:00
Johannes Meyer a3c04f9108 loader.js: Allow to initiate a refresh with `__REFRESH__` 2023-09-07 12:59:53 +02:00
Johannes Meyer 8f5b62f532 loader.js: Perform a proper redirect upon `__CLOSE__`
This allows the temporary adjustment of the autorefresh
interval.
2023-09-07 12:07:48 +02:00
Johannes Meyer 03f62887b8 loader.js: Don't refresh twice upon `__CLOSE__` 2023-09-07 09:42:05 +02:00
Sukhwinder Dhillon 9dd21841a3 loader.js: Push current state to history only on `onComplete`.
- Previously, in case of `abort` the url was already pushed to history at the beginning of `onFailure`, setting `addToHistory` to true only prevents it from being added twice (again in `onComplete`).
- Now we only push the url to history in `onComplete`, so setting `addToHistory` to false is only necessary if req is scripted.
- We intentionally push the canceled url into history to continue navigating with the browser`s back/forward key.
2023-09-07 09:22:24 +02:00
Sukhwinder Dhillon d794439537 ui.js: Update browser address bar url when container closes
`stopPendingRequestsFor()` cancel the pending request but push the canceled url to history (by calling `loader::OnFailure` internally).
Now the `icingaUrl` is set again, remove it and push again the current state to history.
2023-09-07 09:22:24 +02:00
Sukhwinder Dhillon f3f35f86fd ui.js: Add event `column-moved`
- Param1 is the event itself (event.target.id == #col where the content is moved)
- Param2 is the soucre col id, form which the content is moved
2023-09-07 08:57:37 +02:00
Johannes Meyer c3b1ad12ab loader.js: Don't update history for redirects
A redirect now also does NOT:

* Remove `.impact` from the container
* Try to set a menu item active..

fixes #4879
2023-08-29 15:02:44 +02:00
raviks789 da1bf7048d Remove inline scripts
Remove inline scripts present in `layout.phtml` and `logout.phtml` to prevent CSP violation.
2023-08-28 16:40:37 +02:00
raviks789 459f4198c3 Replace static inline styles with css class
The static inline styles are replaced with css class to avoid Content-Security-Policy violations.
2023-08-28 16:30:12 +02:00
Yonas Habteab 9c7d19ea95 JS: Don't always prefix extra updates containers with `#` 2023-08-11 16:14:17 +02:00
Johannes Meyer 4a52a653e4 js: Always load redirects to their designated target
The server applies the redirection magic now, but only
for compatibility reasons.

resolves #4881
2023-08-11 16:08:00 +02:00
Johannes Meyer 51992f414e modal.js: Use a modal toggle's container as redirect target by default
Not the container's base target. The redirect target may still be
overridden by `data-base-target` on the `form` or by the response
using `X-Icinga-Container`.
2023-08-11 10:32:29 +02:00
Johannes Meyer 257a7070a1 js: Support `__CLOSE__` as extra update 2023-08-11 10:32:29 +02:00
Johannes Meyer eed6374dd2 js: Enhance server side container closing
* Let response header `X-Icinga-Container` either influence a request's `$target` or `$redirectTarget`, but not both
* Close a request's `$target` instead of the `$redirectTarget` upon the redirect url `__CLOSE__`

* Issuing a `__CLOSE__` in a detail url still closes `#col2` and refreshes `#col1`
* Issuing a `__CLOSE__` for a nested container still empties it
* Issuing a `__CLOSE__` in a modal, now refreshes the modal openers container
* If `X-Icinga-Extra-Updates` is set, automatic refreshing won't happen
2023-08-11 10:32:29 +02:00
Yonas Habteab 4ccebb78b5 `loader.js`: Allow to override the actual form action using `formaction` attr 2023-07-18 10:47:52 +02:00
Johannes Meyer 10d3fb64f9 js: Automatically transform .time-until widgets into .time-ago ones 2023-06-22 15:02:37 +02:00
raviks789 f74041e00a Javascript: Add `copy-to-clipboard` behavior
Utilizes `CopyToClipboard.js` from ipl-web
2023-06-20 12:06:27 +02:00
Eric Lippmann a3235555bb js: Also preserve scroll-y upon auto-refresh 2023-05-19 15:29:44 +02:00
Johannes Meyer cb6a0c120f events.js: Trigger a real submit upon autosubmit 2023-05-19 14:53:31 +02:00
Johannes Meyer 7da5eb0972 modal.js: Trigger a real submit upon autosubmit 2023-05-19 14:53:31 +02:00
Johannes Meyer 63eae12d33 loader.js: Transmit nearest identifiable parent as origin..
..upon autosubmit if the real element has no id or name.
2023-05-19 14:42:00 +02:00
Johannes Meyer 88caf3c141 loader.js: Empty nested containers upon `__CLOSE__` 2023-05-19 14:17:41 +02:00
Johannes Meyer cbf8cfc738 js: Transmit `X-Icinga-AutoSubmittedBy` upon autosubmits
This header contains the name or id of the element responsible
for triggering the automatic form submission.
2023-01-12 09:54:18 +01:00
Johannes Meyer 4641d8e820 js: Don't disable inputs upon auto-submits at all 2023-01-12 09:39:31 +01:00
Johannes Meyer 7cea0d78e4 js: Only disable submit buttons on form submit
Previously all `input` elements (text, date, number, ...)
got also disabled. This is unecessary.
2023-01-12 09:39:31 +01:00
Johannes Meyer 8cd892359d form.js: Don't ignore autosubmit elements
A while ago this already has changed so that autosubmit
responses are guaranteed to be applied. Thus this
exception is now obsolete.

fixes #4942
2022-12-07 11:57:10 +01:00
Johannes Meyer 9b3e6165ea collapsible.js: Fix invalid default selectors
refs #4884
2022-11-03 16:41:25 +01:00
Johannes Meyer aef6e99cf8 collapsible.js: Add support for external controls 2022-10-10 15:55:33 +02:00
Florian Strohmaier f13161b69d collapsible.js: Enhance markup flexibility 2022-10-10 15:54:24 +02:00
Johannes Meyer 22cb1f2143 utils.js: Optimize performance of `getCSSPath()` 2022-10-10 10:42:45 +02:00
Johannes Meyer c4ce98159c collapsible.js: Use ES6's class syntax 2022-10-10 10:42:45 +02:00
Johannes Meyer b0622dcde2 collapsible.js: Don't use jQuery, but some ES6 features 2022-10-10 10:42:45 +02:00
Johannes Meyer 917e68d68d collapsible.js: Minor performance improvements 2022-10-10 10:42:45 +02:00
Johannes Meyer 17bd3ce14f collapsible.js: Use a data-attr to identify collapsible collapsibles 2022-10-10 10:42:45 +02:00
Johannes Meyer 222a6a8e0f collapsible.js: Add support for `<details>` 2022-10-10 10:42:45 +02:00
Johannes Meyer 2a24f69fd8 loader.js: Remove legacy search request handling
Search requests are handled elsewhere in a more dynamic
way since .. some time. This part also used to be active
only in case Icinga Web is hosted at the root of the web
server, which many users don't do as otherwise we would
have gotten more reports in the past regarding the reload
animation. Or rather, about the login not working due to
the same reason.

It's gone for good now.

fixes #4834
2022-06-29 15:05:14 +02:00
Sukhwinder Dhillon 3482ef9e65
Fix that navbar forgets active state after refresh (#4831) 2022-06-29 14:58:02 +02:00
Johannes Meyer 1e143244e2 navigation.js: Only activate visible items or config menu items 2022-06-15 08:39:55 +02:00
Johannes Meyer 96460a2027 history.js: Properly handle data attributes upon navigation
I've rewritten `applyLocationBar` basically. It now also just
moves a column if only the location has changed, not the url.
2022-06-14 16:15:16 +02:00
Sukhwinder Dhillon a3afc1cf5d loader.js: Remove deprecated method ` addUrlFlag()` 2022-06-14 14:24:30 +02:00
Johannes Meyer 60938b58c6 Remove jQuery
It's now part of icinga-php-thirdparty
2022-06-14 14:07:20 +02:00
Johannes Meyer a29159a0a1 Remove remaining IE adjustments 2022-06-13 16:41:15 +02:00
Johannes Meyer 6810b0ab70 Revert "complete.js: Keep IE11 compatibility"
This reverts commit fcd0a0a698.
2022-06-13 16:22:00 +02:00
Sukhwinder Dhillon cf9ffe29bf Revert "storage.js: Use substring instead of startsWith on strings"
This reverts commit 2280551484.
2022-06-13 15:50:52 +02:00
Sukhwinder Dhillon a4d2397dd1 Revert "js: Avoid usage of `.matches()` as it isn't available with IE11"
This reverts commit cc0c6fc71b.
2022-06-13 15:50:52 +02:00