Commit Graph

2248 Commits

Author SHA1 Message Date
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 025c50f8a5 css: Only set `width:100%` for `.icinga-form`s in a modal's content 2021-05-17 13:20:43 +02:00
Johannes Meyer 6c3c8a3e38 css: Add dark styles for `flatpickr` widgets to solarized dark theme 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 c202eccf65 define.js: Support libs that require `exports`
I'm not sure how this actually is supposed to work,
but I believe this is how we can support it so that
it's still useful.
2021-05-17 13:20:42 +02:00
Johannes Meyer 0da4a11d91
Merge pull request #4355 from Icinga/health-endpoint
Health endpoint
2021-05-17 13:11:51 +02:00
Johannes Meyer cb4e6011f3 js: Remove jquery-migrate 2021-05-17 10:44:27 +02:00
Johannes Meyer def52c6c49 css: Remove `.code()` mixin
Undefined mixins don't cause the CSS to not load anymore.
2021-05-17 10:28:23 +02:00
Johannes Meyer 5e382dcfa9 Introduce health endpoint /health[/checks] 2021-05-14 15:45:35 +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 a77219d9e2 css: Enhance margins of `.icinga-form.inline` 2021-04-26 13:54:57 +02:00
Johannes Meyer 7264b8ce9f css: Provide working char-code for fontawesome spinners 2021-04-22 10:21:22 +02:00
Johannes Meyer aaf6bcea4d css: Align labels and inputs vertically centered in inline forms 2021-04-22 10:20:53 +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 f782c08d80 RoleForm: Highlight set privileges in headers
resolves #4241
2021-04-08 10:13:24 +02:00
Johannes Meyer bab10899a2 role/audit: Fix layout on mobile devices
Not perfect, but enough for now.
2021-04-07 14:30:14 +02:00
Johannes Meyer 9db50eb75b css: Enhance layout of inline forms 2021-04-07 14:30:14 +02:00
Johannes Meyer e288ccd713 css: Don't override padding of all inputs in controls
inputs are expected to have their own padding and if
that doesn't suit everywhere, they have to be adjusted.
Overriding padding and such stuff this generally is bad.
This also solves the problem that the filter editor
search field is missing its specific padding, yay. -.-
2021-04-07 14:30:14 +02:00
Johannes Meyer 68f101b015 RoleForm: Don't let privilege labels break on dashes 2021-04-07 14:30:14 +02:00
Johannes Meyer be227fd61d roles/audit: Utilize view `Icinga\Web\View\PrivilegeAudit` 2021-04-07 14:30:14 +02:00
Johannes Meyer 074f08db4e Introduce view `Icinga\Web\View\PrivilegeAudit` 2021-04-07 14:30:14 +02:00
Johannes Meyer f31b1569aa css: Add new mixin `.user-select()` 2021-04-07 14:30:14 +02:00
Johannes Meyer ce1fed1b1d css: Use specific colors to represent grants, refusals and restrictions 2021-04-07 14:30:14 +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 8c147c1b2f css: Remove left-over styles from tipsy 2021-03-09 08:58:48 +01: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 87d741265e Auth: Add support for denied permissions 2021-02-18 11:11:39 +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 5b000a2768 css: Only apply control specific form styles to `.icinga-controls` 2021-01-13 17:20:51 +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 39e59422f4 error/error: Show a hint to check dependencies if there are unmet ones 2020-11-18 13:21:34 +01:00
Johannes Meyer 32f9ce8b7c config/module: Show library dependencies and unmet ones 2020-11-18 13:21:34 +01:00
Johannes Meyer 7af8bf351c about: List loaded libraries 2020-11-18 13:21:33 +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 2da08ff58d css: Use a more strict rule to apply `selected` style to active nav items 2020-11-17 15:17:58 +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 38e585222e css: Show overflowing content in the sidebar while in minimal layout
fixes #4189
2020-06-24 14:07:15 +02:00
Markus Frosch 1979b53555 css: Fix relative path loading for icinga-loader.gif 2020-06-09 10:16:21 +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 237d79e43f modal.less: Move close button to the right 2020-06-08 08:36:41 +02:00
Florian Strohmaier f8654b1873 modal.less: Optimize close button styles 2020-06-08 08:36:41 +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
Johannes Meyer 9aca8a1fc5 css: Fix filter editor button placement 2020-06-04 08:32:15 +02:00
Johannes Meyer 1527b7c85c css: Style outline for any focusable element the same
A recent chrome version changed the focus style again.
Without this some form elements and other focusable
elements get a black outline.
2020-06-04 08:32:15 +02:00
Johannes Meyer ba38609cbe
Merge pull request #4156 from Icinga/fix/modals-are-not-scrollable-4115
Make modals responsive
2020-05-26 13:48:42 +02:00
Johannes Meyer 2f1716a8c9 css: Fix wrong text color of a modal's close button 2020-05-20 16:44:25 +02:00
Johannes Meyer c9f5c65828 css: Simplify collapsible control styles and layout
The button is now floated right instead of absolutely positioned.
Also, the hover effect is just a different background now, not a
ridiculous overlay with transparency.

Both changes help to avoid a horizontal scroll-bar in Chrome
and Icinga DB Web views.
2020-05-20 12:01:40 +02:00
Johannes Meyer cc4d133632 css: Apply `display:inline-block` also to non-icinga `.inline` forms
fixes #4158
2020-05-18 15:34:05 +02:00
Johannes Meyer df4a87f429 css: Only apply inline form styles on icinga-forms
fixes #4157
2020-05-18 11:10:33 +02:00
Johannes Meyer 71c7968efa solarized-dark.less: Update to make it work fine with v2.8 and Icinga DB 2020-05-15 12:43:12 +02:00
Johannes Meyer a1f5f1bf89 css: Make modals more theme friendly 2020-05-15 12:42:31 +02:00
Johannes Meyer 6e02b8dd50 high-contrast.less: Fix missing border on some form elements 2020-05-15 09:01:10 +02:00
Johannes Meyer c348524e50 colorblind.less: Make process info text black in monitoring health
fixes #4066
2020-05-15 08:41:08 +02:00
Johannes Meyer e5a7f468f1 Revert "Merge pull request #4069 from Chivvv/patch-1"
This reverts commit dd41771889, reversing
changes made to 413e70338d.
2020-05-15 08:33:53 +02:00
Johannes Meyer ff5d92d7a7 modal.less: Make modals responsive 2020-05-14 16:55:58 +02:00
Johannes Meyer 43cb5f587a css: Enhance layout of inline forms 2020-05-05 09:34:39 +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 7bdd41eb92 setup.less: Add missing style for form errors on the welcome page 2020-04-20 09:36:29 +02:00
Johannes Meyer b85c706df3 css: Drop obsolete no-js rules 2020-04-15 09:42:36 +02:00
Johannes Meyer 5ed41868d9 css: Fix no-script apply styles in non-inline forms 2020-04-15 09:42:36 +02:00
Florian Strohmaier cabfb8c7f9 CSS: Remove unfunctional sidebar toggle in .no-js
refs #3629
2020-04-15 09:35:15 +02:00
Jennifer Mourek c3aaede10a Improve the look of the buttons which replace the autosubmit
refs #3629
2020-04-14 16:20:02 +02:00
Johannes Meyer 0e080b8f21
Merge pull request #4087 from Icinga/feature/redesign-container-loading-effect
Redesign container loading effects
2020-04-14 11:13:43 +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 cdd5004a25 base.less: Optimize container loading effect 2020-04-14 10:40:09 +02:00
Florian Strohmaier 224e87c856 base.less: Redesign loading effect 2020-04-14 08:31:48 +02:00
Florian Strohmaier f93529ff74 Add icinga-loader.gif 2020-04-14 08:31:48 +02:00
Philipp Dorschner 5e22caab61 Style role memberships 2020-04-09 09:13:44 +02:00
Johannes Meyer 03a91891d4 css: Properly raise z-indices on #main and #sidebar
refs #4082
2020-03-12 10:57:50 +01:00
Johannes Meyer 042325162b css: Raise sidebar by 1000 on the z-axis
The sledgehammer solution, works though..

fixes #4082
2020-03-12 08:21:46 +01:00
Johannes Meyer 9a900c62f5 css: Add pulse animation 2020-03-03 14:27:36 +01:00
Johannes Meyer d79d753b51 tactical/index: Enhance minimal layout arrangement 2020-03-03 08:32:38 +01:00
Johannes Meyer 2978d9a46a css: Raise `#sidebar` to z-index 2 again 2020-02-28 16:14:10 +01:00
Johannes Meyer dd41771889
Merge pull request #4069 from Chivvv/patch-1
colorblind.less: Add contrast to text with light background
2020-02-28 14:52:41 +01:00
Johannes Meyer 413e70338d
Merge pull request #4088 from Icinga/fix/wizard-scroll-issues
Fix scroll issues in the setup wizard
2020-02-28 14:51:25 +01: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
Florian Strohmaier 928611fe1e responsive.less: Do not hide #col2 after reload 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
Johannes Meyer 1c8e487588 setup: Fix scroll issues in the wizard 2020-02-28 09:33:15 +01:00
nmartini 1cf2f767a2 Make sure that class container has its container 2020-02-28 08:30:23 +01:00
Johannes Meyer 0d99509dd6 css: Don't shrink some form elements that much in IE11 2020-02-06 07:37:32 +01:00
Chivvv 33eddd51e2
colorblind.less: Add contrast to text with light background 2020-02-05 21:07:52 +01:00
Johannes Meyer fd97e8b056 actiontable.js: Properly handle encoded filter values 2020-01-30 08:31:06 +01:00
Johannes Meyer 5a031bf659 utils.js: Fix method `removeUrlParams()` 2020-01-28 15:23:41 +01:00
Johannes Meyer f4b96270aa winter.less: Show the correct logo 2020-01-28 09:26:12 +01:00
Johannes Meyer 96f4eff4dc menu.less: Fix placement of clickable badges in flyout menus 2020-01-24 11:30:33 +01:00
Johannes Meyer b555c4bd8b
Merge pull request #4047 from Icinga/fix/firefox-layout-issues
Fix Firefox layout issues
2020-01-16 16:05:44 +01:00
Johannes Meyer 3464455021 js: Preserve scroll position if focus is forced to a particular element 2020-01-16 15:54:17 +01:00
Johannes Meyer 8bc84a5f9e js: Teach the url parsing a final lesson about query strings
`utils.parseParams()` now returns an array instead of an object.
This may require some changes in modules using this directly or
by `utils.parseUrl().params`

refs #4056
2020-01-16 13:45:10 +01:00
Eric Lippmann 0355b20da0 JS: Respect container in Icinga.Ui.focusElement()
Though IDs should be unique across the whole page, focusElement() must
not fail if there is the same anchor in the left and right column.
focusElement() now also respects the container when searching the
element to focus by ID.
2020-01-16 10:47:28 +01:00
Johannes Meyer 8d4e0126ca
Merge pull request #4055 from Icinga/feature/js-history-replace-state
JS: Introduce Icinga.History.replaceCurrentState()
2020-01-16 08:54:49 +01:00
Johannes Meyer 4c39772667
Merge pull request #4053 from Icinga/feature/js-addUrlFlag
JS: Introduce Icinga.Utils.addUrlFlag()
2020-01-16 08:14:20 +01:00
Johannes Meyer 477649900c js: Also adjust `utils.removeUrlParams()`..
..and properly handle flags in `utils.addUrlParams()`

refs #4056
2020-01-16 08:13:11 +01:00
Johannes Meyer fdd14c96b1 js: Only encode new params in `utils.addUrlParams()` 2020-01-15 16:47:30 +01:00
Johannes Meyer 3db65d79c6 js: Fix improper parsing in `utils.parseParams()` 2020-01-15 16:46:46 +01:00
Eric Lippmann 71b8ab9b68 JS: Introuce Icinga.History.replaceCurrentState()
Before, we only had pushCurrentState() to add a new URL to the history
stack. But some actions, e.g. "load more" in history views require to
replace the current state instead of pushing. This is what
replaceCurrentState() supports now.
2020-01-15 09:57:30 +01:00
Eric Lippmann 97006973d8 JS: Introduce Icinga.History.getCurrentState()
Before, Icinga.History.pushCurrentState() had this functionality
enclosed. Now it is usable from other functions as well.
2020-01-15 09:55:39 +01:00
Johannes Meyer db69f23c20 modal.js: Don't push form submits to the history 2020-01-15 08:41:34 +01:00
Johannes Meyer 844cb911a4 loader.js: Use `utils.addUrlFlag` instead of the now deprecated one 2020-01-15 08:00:04 +01:00
Johannes Meyer e45c18c833 utils.js: Use a regex to identify the uri fragment 2020-01-15 07:58:49 +01:00
Eric Lippmann 7f8ee4f94d JS: Deprecate Icinga.Loader.addUrlFlag() in favor of Icinga.Utils.addUrlFlag() 2020-01-14 14:58:34 +01:00
Eric Lippmann 4d02d8f6d6 JS: Introduce Icinga.Utils.addUrlFlag() 2020-01-14 14:58:34 +01:00
Johannes Meyer 33f6047973 css: Remove left-right padding from inline form elements
fixes #4036
2020-01-14 11:11:25 +01:00
Johannes Meyer e9b27b338f css: Set correct line-height for tabs
Otherwise a gap is shown between the dropdown toggle and
menu which causes FF to hide the dropdown too fast.
2020-01-13 16:02:50 +01:00
Johannes Meyer b85360449b js: Ignore anchors without href in `events.linkClicked()` 2019-12-13 16:13:55 +01:00
Johannes Meyer 63452ba250 js: Enhance scroll location detection in `ui.focusElement()` 2019-12-13 16:13:13 +01:00
Johannes Meyer f5ce5d42ef js: Add jQuery plugin `offsetTopRelativeTo($ancestor)` 2019-12-13 16:12:40 +01:00
ValeDaRold 5edd267f2a Refresh container if X-Icinga-Extra-Updates with length 1 is defined (#3970)
* Refresh container if X-Icinga-Extra-Updates with length 1 is defined
2019-12-12 13:50:03 +01:00
Johannes Meyer d6677bfb66 loader.js: Also preserve scroll position of `display:flex` containers 2019-12-11 15:27:03 +01:00
Florian Strohmaier 680467a1aa CSS: Fix flex-box scrolling for different browsers 2019-12-11 12:57:20 +01:00
Johannes Meyer 168fcfec36 layout.less: Relax specificity of content and controls padding 2019-12-11 11:31:23 +01:00
Johannes Meyer 55b9b44be9 js: Fix error when focusing navigation anchors 2019-12-11 09:27:18 +01:00
Johannes Meyer 6a4c3ea542 layout: Don't use explicit `width` anymore to resize multiple columns 2019-12-06 16:05:24 +01:00
Johannes Meyer d83ae2cd9b layout: Apply `overflow:auto` also to `.container` elements
Otherwise content not wrapped with `.content` lets overflow
the entire page.
2019-12-06 16:04:10 +01:00
Johannes Meyer 9a32be2f4e Winter.less: Properly apply snow effect to menu items 2019-12-06 15:41:16 +01:00
Johannes Meyer 60dfbcbad9 Remove remaining usages of `#menu-container` 2019-12-06 15:39:14 +01:00
Johannes Meyer 9acd45df13 css: Remove `min-height` and `overflow` from `body`
Causes issues in minimal layouts otherwise, at least in
Chrome. Safari suffers from this, but who cares...
2019-12-06 15:39:14 +01:00
Johannes Meyer 8922447d10 css: Remove remaining position instructions used for the legacy layout 2019-12-06 15:39:14 +01:00
Johannes Meyer e61eb6f160 ui: Fix sidebar issues in minimal layout
Was completely broken even prior the removal of `ui.fixControls()`..
2019-12-06 15:39:14 +01:00
Johannes Meyer 4af48c797d js: Remove `ui.fixControls()` and `ui.initializeControls()`
Hooray!
2019-12-06 15:39:14 +01:00
Johannes Meyer 83d6a258ec application-state.js: Remove redundant rendered callback 2019-12-06 15:39:14 +01:00
Johannes Meyer cfb9450cf0 Winter.less: Apply snow effect to directly to tabs
The header has no height anymore without announcements.
2019-12-06 15:39:14 +01:00
Johannes Meyer 31e3ce70a8 layout: Don't use id `header` if it's not a global header 2019-12-06 15:36:34 +01:00
Florian Strohmaier 6218ad8cde menu.less: Use appropriate less functions to darken colors 2019-12-06 15:36:34 +01:00
Florian Strohmaier 2b2f0cf48f menu.less: Align .badge-nav-item with flexbox 2019-12-06 15:36:34 +01:00
Florian Strohmaier ca02547bf6 Tabs: Beautify tabs hover 2019-12-06 15:36:34 +01:00
Florian Strohmaier 5443bfe9fa JS: Do not apply 'menu-hovered' on #layout
refs #3904
2019-12-06 15:36:34 +01:00
Florian Strohmaier 7864150054 JS: Fix navigation flyout not fading out after mouseout
refs #3904
2019-12-06 15:36:34 +01:00
Florian Strohmaier 88db9c80c3 CSS: Compensate .tabs-spacer
refs #3810
refs #3815
2019-12-06 15:36:34 +01:00
Florian Strohmaier eb104c3332 CSS: Prevent tabs from line-break
refs #3810
refs #3815
2019-12-06 15:36:34 +01:00
Florian Strohmaier c6c77aa411 JS: Remove unused code 2019-12-06 15:36:34 +01:00
Florian Strohmaier 6d7bccc348 CSS: Fix special view layout issues 2019-12-06 15:36:34 +01:00
Florian Strohmaier 516bbc1ef0 JS: Fix sidebar animating out 2019-12-06 15:36:34 +01:00
Florian Strohmaier 0da89bb977 JS: Reinstate mobile menu 2019-12-06 15:36:34 +01:00
Florian Strohmaier 4febf7433e CSS: Add minimal-layout styles for #content-wrapper 2019-12-06 15:36:34 +01:00
Florian Strohmaier 615085d744 CSS: Fix collapsed sidebar 2019-12-06 15:36:34 +01:00
Florian Strohmaier 59d6237a5a CSS: Style fixes for sidebar 2019-12-06 15:36:34 +01:00
Florian Strohmaier cbb88d1d5e CSS: Add tabs background 2019-12-06 15:36:34 +01:00
Florian Strohmaier 400abfe7f2 CSS: Fix overflowing content in Safari 2019-12-06 15:36:34 +01:00
Florian Strohmaier c06aec0471 Remove unused code 2019-12-06 15:36:34 +01:00
Florian Strohmaier 955ab298f7 CSS: Flex layout to container contents 2019-12-06 15:36:34 +01:00
Florian Strohmaier 8c7b5fcd57 CSS: Add flex-box to #main 2019-12-06 15:36:34 +01:00
Florian Strohmaier ead543e373 CSS: Hide ‘empty’ containers in main 2019-12-06 15:36:34 +01:00
Florian Strohmaier d579428ff9 CSS: Restrict #content-wrapper height to window 2019-12-06 15:36:34 +01:00
Florian Strohmaier cfbeb26354 JS: Disable fixControls() 2019-12-06 15:36:34 +01:00
Florian Strohmaier b819dd6881 CSS: Add sidebar layout 2019-12-06 15:36:34 +01:00
Florian Strohmaier 739dd50384 CSS: Set basic layout structure 2019-12-06 15:36:34 +01:00
Florian Strohmaier 722cbfe47f CSS: Make body and #layout 100% of viewport 2019-12-06 15:36:34 +01:00
Johannes Meyer 4157821c89 IcingaCheckbox: Don't `display:none` the checkbox but add `.sr-only` to it 2019-12-05 16:12:41 +01:00
Feu Mourek 8236b3baf0 Move form colours to the base.less 2019-12-04 11:35:25 +01:00
Florian Strohmaier 1755c01390 base.less: Add gray-semilight var 2019-11-28 15:32:38 +01:00
Johannes Meyer cc065b949b js: Use custom event `icinga-init` to trigger initial render events
The `load` event is not really only fired *after all shared resources are loaded*.
Just Chromium ensures this event is fired only after `ready` and `DOMContentLoaded`.
FF, IE and Safari don't so we need our own post-init event: `icinga-init`
2019-11-26 16:00:21 +01:00
Johannes Meyer 48098a2830 js: Don't initialize modules using a `beforerender` event
`beforerender` is already too late. Module initialization
done using an event handler is wrong anyway. It's some
kind of bootstrapping after all and should be performed
by parts of the code which is directly responsible for
DOM content handling of modules. (i.e. loader.js)

This change though introduces a side-effect which was
not the case previously: Nested `.container` elements
trigger `rendered` events now. I've introduced this to
ensure we're also lazy loading modules and let them
handle their `rendered` events right after a redirect
which rerendered the layout. (Only `#layout` got a
`rendered` event then prior to this change)
2019-11-21 09:55:20 +01:00
Johannes Meyer 7f78c1a8a8 js: Properly initialize modules and don't trigger `rendered` events twice
Cleans up how our JS initializes module javascript. Previously the `rendered`
event only got fired upon page load if a module got loaded as well. This is
now decoupled and `rendered` events fire for all containers and the entire
layout upon page load.

Notable changes:
* A `load` event initializes modules and triggers `rendered` on `.container` and `#layout` elements
* Module javascript (module.js) is still lazy loaded but with a `beforerender` event, not `rendered`
* Previously `#layout` received a `rendered` event during bootstrapping, this is not the case anymore
* Initial search value preservation now got its own handler `events.onRenderedMenu()`
* Initial dashlet loading now git its own handler `events.loadDashlets()`
2019-11-20 16:22:56 +01:00
Johannes Meyer 47c2a8bdc1 js: Utilize `utils.objectsEqual()` in `actiontable.select()` 2019-11-20 16:22:56 +01:00
Johannes Meyer 2dbf9ca8ab js: Properly parse/decode query params in `utils.parseParams()` 2019-11-20 16:22:56 +01:00
Johannes Meyer 5f739deea3 loader.js: Enhance __BACK__ handling 2019-11-05 15:04:23 +01:00
Johannes Meyer da565f4d16 loader.js: Refresh left twice in case right has been closed..
..if the redirect target is `__BACK__`
2019-11-04 17:25:05 +01:00
Johannes Meyer 42e596f457 loader.js: Navigate back if redirect target is `__BACK__` 2019-11-04 16:03:54 +01:00
Johannes Meyer a13d2b1e48 js: Introduce behavior modal.js 2019-11-04 12:46:30 +01:00
Florian Strohmaier ad66582e9c CSS: Add modal styles 2019-11-04 12:46:30 +01:00
Johannes Meyer c0cac6fe3c loader.js: Allow to use a separate target for redirections 2019-11-04 12:46:30 +01:00
Johannes Meyer 0e5e046ae5 js: Split event handling and processing of form submits 2019-11-04 12:46:30 +01:00
Johannes Meyer 50bf126d36 js: Move function events.getLinkTargetFor to loader.js 2019-11-04 12:46:30 +01:00
Florian Strohmaier 82e02c8ce1 CSS: Align value-table-name width with label width 2019-10-31 14:43:37 +01:00
Florian Strohmaier a00151ef5c CSS: Use margin-right only for non-inline control-groups 2019-10-30 14:57:13 +01:00
Johannes Meyer 2979ad1da0 css: Fix toggle placement in Firefox 2019-10-08 13:12:33 +02:00
Florian Strohmaier 30a4c62a2a CSS: Fix hidden radio inputs
refs #3957
2019-10-08 09:17:13 +02:00
Johannes Meyer 2896cbd781 loader.js: Avoid named capture groups to parse multipart content
fixes #3975
2019-10-07 14:35:49 +02:00
Johannes Meyer a8dc609b62 loader.js: Add support for multipart content
refs #3953
2019-09-25 10:34:24 +02:00
Johannes Meyer dda49b5ff1 loader.js: Drop redundant method `cacheLoadedIcons` 2019-09-25 10:34:24 +02:00
Johannes Meyer da513a746d loader.js: Add support for extra updates
refs #3953
2019-09-25 10:34:24 +02:00
Johannes Meyer 329f54cc96 ui.js: Don't generate a container id if its parent is #col1
refs #3953
2019-09-25 10:34:24 +02:00
Johannes Meyer b15c012671 loader.js: Only pre-wrap a search response's html with a div
It's not required for all responses anymore.

refs #3953
2019-09-25 10:34:24 +02:00
Johannes Meyer f98f988aff Remove tristate form element 2019-09-23 08:36:24 +02:00
Florian Strohmaier 1778ec673b IE11: Fix nav flyouts being covered by #main
fixes #3942
2019-09-04 12:26:37 +02:00
Florian Strohmaier b7617bf81b CSS: Don’t make .inline forms 100% width 2019-08-22 14:38:40 +02:00
Florian Strohmaier 7b0b32fc43 CSS: Adapt form design for button links 2019-08-22 14:37:26 +02:00
Feu Mourek da7086cede Center inputs in loginform (#3919)
fixes #3918
2019-08-14 13:09:06 +02:00
Feu Mourek 2ca3ffcb60 Add borders around form inputs (#3908) 2019-08-12 13:34:05 +02:00
Eric Lippmann 6e05d852ee Forms: Distinguish placeholders from real values (#3911)
We now also use the ::placeholder pseudo-element selector instead of
several vendor prefixes.
2019-08-12 12:54:44 +02:00
Johannes Meyer 6bbafd1c3e
Merge pull request #3899 from Icinga/bugfix/solarized-theme-contrast-issues-3892
Bugfix/solarized theme contrast issues 3892
2019-08-12 11:24:31 +02:00
Johannes Meyer 6e5353fd50 solarized-dark: Let the dashboard settings look less weird 2019-08-12 11:17:12 +02:00
Feu Mourek 18f23ec551 Fix menu header contrast (#3898)
fixes #3897
2019-08-12 11:01:14 +02:00
Feu Mourek 359d7f735b CSS: Edit form control classes in solarized dark 2019-08-08 11:00:13 +02:00
Eric Lippmann 53529115e5 Fix bad looking login form errors 2019-08-05 17:17:32 +02:00
Florian Strohmaier fab25f87a7 Login: Fix error messages 2019-08-05 15:47:17 +02:00
Feu Mourek 75971ac3e2 Apply styles to editor / fiter controlls as well 2019-08-05 13:02:21 +02:00
Feu Mourek 61eabf0724 Darken menu styles and add splash of colour for selected 2019-08-05 12:51:43 +02:00
Feu Mourek b71f0780a7 Sort colour variables and adapt menu colours 2019-08-02 15:47:11 +02:00
Johannes Meyer 5333bbf04d loader.js: Also set title directly if layout is base target 2019-08-02 15:42:58 +02:00
Feu Mourek bc4bb6741b Add form-backgrounds colour and apply to toggles and buttons 2019-08-02 12:53:52 +02:00
Feu Mourek 7acdf789e0 Change input background colour to darker shade 2019-08-02 10:54:11 +02:00
Feu Mourek f9a18e1ee6 Fix contrast for form inputs
refs #3892
2019-08-01 13:59:16 +02:00
Johannes Meyer 5a57903f6c forms.less: Fix element error layout 2019-07-30 10:17:57 +02:00
Eric Lippmann bfec423eae Compat: Provide empty LESS mixin .code()
Some 3rd party modules (e.g. vsphere) use this mixin (though we never had it).
With lessphp version 0.5.0 using undefined mixins now throws exceptions.
Since we can't rely that users upgrade those modules first,
we provide the mixin for compatibility here.
2019-07-30 08:31:03 +02:00
Johannes Meyer b31dd77812
Merge pull request #3676 from Icinga/feature/form-styling
Improve look of our forms
2019-07-30 08:26:08 +02:00
Johannes Meyer 5849c06314 storage.js: Don't try and allow to register events for non-local backends 2019-07-30 08:17:29 +02:00
Eric Lippmann 62d4e73d5a Use session storage for sidebar state
The sidebar state is now maintained per tab/window because users view
different things in different tabs/windows. E.g. users work with a
specific module constantly clicking through the menu while having
other tabs/windows with some important dashboards open.
When the sidebar is closed in one tab/widnow, it should not close
the sidebar in the other tabs/windows.
2019-07-30 08:14:49 +02:00
Eric Lippmann a1a18feb04 js/storage: Allow to set the storage backend 2019-07-30 08:14:49 +02:00
Markus Frosch c66d206042 Cleanup executable flags on files
Some or scripts, but if so just vendor artifacts
2019-07-30 07:53:54 +02:00
Johannes Meyer eb0d808aec collapsible.js: Enhance height calculations
`data-visible-height` now only covers the actual content height
2019-07-29 16:02:48 +02:00
Johannes Meyer 27cd34dd2d js: Add new jQuery plugin `getData()` 2019-07-29 16:02:48 +02:00
Johannes Meyer 9e3c9bbab7 css: Don't apply .collapsible-control style to custom controls 2019-07-29 16:02:48 +02:00