2320 Commits

Author SHA1 Message Date
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
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
Sukhwinder Dhillon
65b9024bc5 Winter.less: Don't set bg-color to transparent 2023-06-19 10:09:49 +02:00
Sukhwinder Dhillon
09b9d7401c base.less: Make menu nav-level-2 hover better visible 2023-06-19 10:09:36 +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
12af81d4c3 css: Support fieldsets wrapped by .control-group 2022-12-14 13:15:50 +01:00
Johannes Meyer
723eaae08c print.less: Make sure that client print attempts work fine 2022-12-07 11:57:48 +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
bb4b53e90c css: Optimize performance
I don't quite understand why exactly this rule exposes
such an issue. We have several other rules that are
similar. But they don't reference form elements on the
left. I suspect a different issue somewhere else, this
only exaggerated it.

fixes #4929
2022-10-17 11:30:40 +02: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
3c2c79b669 css: Apply box-sizing:border-box to all <details> children
We have this everywhere else, so it should not be different here.
2022-10-10 10:42:45 +02:00
Johannes Meyer
503f9b7316 PrivilegeAudit: Use the <details> tag 2022-10-10 10:42:45 +02:00
Johannes Meyer
5059a782a8 RoleForm: Use the <details> tag 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
181b18cfec css: Only apply .collapsible-control styles to outer buttons
Inner buttons usually have their own style
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
e8cae1f28a css: Let collapsible icons be anywhere inside the control 2022-10-10 10:42:45 +02:00
Sukhwinder Dhillon
62d7ca8e97 setup.less: Make visible that the button is disabled 2022-07-19 11:43:28 +02:00
Sukhwinder Dhillon
fbd4434b40 Align button icon to baseline 2022-07-19 11:08:55 +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