Commit Graph

2358 Commits

Author SHA1 Message Date
Johannes Meyer ca2778eb46 form.js: Ignore buttons again when being asked to render content
This slipped through, as I thought the CSS selector `:input`, which
was used previously, is invalid. Although, it's a jQuery specific
selector -.-, which was also previously used.

fixes #5293
2024-11-28 16:57:19 +01:00
Johannes Meyer eef276be93 js: Use a submit event's `submitter` property to identify the submit button 2024-11-04 16:07:10 +01:00
Florian Strohmaier 48dcb051d1 CSS: Set correct height for `input[type=“datetime-local”]` 2024-11-04 16:06:54 +01:00
Sukhwinder Dhillon cc9572d9c5 Flyout menu: Render menu `bottom-up` if it exceeds the viewport height 2024-08-14 16:29:33 +02:00
Johannes Meyer c27b43fb75 css: Increase settings flyout toggle hover area 2024-08-08 15:40:59 +02:00
Sukhwinder Dhillon 41a92e9d87 Css: Do not allow `:hover` to affect the `.active` list elements 2024-08-07 16:29:40 +02:00
Johannes Meyer 9ef4c71cec js: Fix error on app startup
jQuery seems to re-cycle event object references oO
2024-08-07 14:35:14 +02:00
Johannes Meyer 97f8767970 js: Only add `.impact` to a container's content 2024-08-07 14:33:14 +02:00
Johannes Meyer 8ec42b05f8 js: Explicitly update history when col2 is closed
Instead of doing this by default. There are too many
cases where this isn't necessary at all.

fixes #5178
2024-08-07 13:39:41 +02:00
Johannes Meyer bb47844646 js: Don't adjust style by using element.cssText
That's prohibited if using `script-src 'self';` in the csp header
2024-08-07 11:39:58 +02:00
Johannes Meyer 6964bd19a2 js: Improve rejection of autorefresh responses
Don't reject autorefreshes if an autosubmit
element is focused but not interacted with

fixes #4996
2024-08-07 11:20:11 +02:00
Johannes Meyer a48a6ebcb5 js: Really stop rendering if a hook discards content
This is a potential breaking change for behaviors which
rely on being able to change content in-place even if
the response's content is not applied. This is the case
for grafana's iframe behavior, though that's more a hack
than a necessity so it doesn't break. I've found no other
implementations so I guess it's fine including it here.
2024-08-07 11:20:11 +02:00
Johannes Meyer c79b513066 js: Apply render hooks in a defined order
Currently, form first and detach second.
Any other last. (e.g. grafana's iframe)
2024-08-07 11:20:11 +02:00
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 d2ce60d4c0 Always right align `control-label-group` 2023-09-19 14:37:55 +02:00
Yonas Habteab 3f372330b3 CSS: Remove obsolete `icinga-form` styles & store max view width in a variable 2023-09-19 14:37:55 +02:00
Yonas Habteab 2657f032dc Allow to automatically fix missing grants & elevalte database users
Co-authored-by: Johannes Meyer
2023-09-19 14:37:55 +02:00
Yonas Habteab 821a6812ae Use `EmptyState(Bar)` classes where applicable 2023-09-19 14:37:55 +02:00
Florian Strohmaier 44897e4903 CSS: Styling 2023-09-19 14:37:55 +02:00
Yonas Habteab ad02431bd1 Add extra `class` to outer item lists & render subject header in the error box 2023-09-19 14:37:55 +02:00
Yonas Habteab 192a21b668 Don't use `strong` tag to highlight unselectable items 2023-09-19 14:37:55 +02:00
Yonas Habteab fb33a2097a Defferentiate migrations with no provided descriptions 2023-09-19 14:37:55 +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
Yonas Habteab dec24686bc Pending migrations CSS enhancement 2023-09-19 14:37:55 +02:00
Florian Strohmaier bc3c444cf5 CSS: Adjust styles 2023-09-19 14:37:55 +02:00
Yonas Habteab 1da5487066 Introduce `MigrationsController` & add pending migrations list in about view 2023-09-19 14:37:55 +02:00
Yonas Habteab 85b63dd067 Introduce migration `ListItem` & `ItemList` classes 2023-09-19 14:37:55 +02:00
Johannes Meyer 76ad2a4133 css: Register missing ipl-web less variable overrides 2023-09-13 10:39:08 +02:00
Sukhwinder Dhillon 8739a9da73
Fix setup wizard (#5094) 2023-09-07 13:37:10 +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 a9b0e1e2d2 css: Hide details marker of collapsibles in Safari
In Chrome the marker was already invisible since normalize.css
applies `display:block` to `summary`. Hence we should also disable
the marker by default in Safari.

fixes https://github.com/Icinga/icingaweb2-module-businessprocess/issues/406
2023-08-31 13:05:19 +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 4e8107c231 RoleForm: Replace static inline styles with css class
The static inline style for resetriction text element is replaced with css class `role-restriction-text`
to avoid Content-Security-Policy violations.
2023-08-28 16:40:37 +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 33a5f765b9 Use `style` element to create css class for dynamic inline style
The `style` element with `nonce` attribute is used to create css classes for
inline styles that are not static. This prevents Content-Security-Policy violations.
2023-08-28 16:40:33 +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