Commit Graph

1859 Commits

Author SHA1 Message Date
Florian Strohmaier d452dfefaf CSS: Tidy redundant code 2019-07-29 10:17:59 +02:00
Florian Strohmaier fa4d39f7c6 CSS: Compensate select line height inconsistencies 2019-07-29 10:17:59 +02:00
Florian Strohmaier 0083a193b1 CSS: Add filter input styles 2019-07-29 10:17:59 +02:00
Florian Strohmaier 333d702a9a CSS: Use vars for input padding 2019-07-29 10:17:59 +02:00
Florian Strohmaier 21055d2bfe CSS: move controls specific styles to controls.less 2019-07-29 10:17:59 +02:00
Florian Strohmaier 1c12d84eee CSS: Reset line-height for inputs in .control-groups
refs #3676
2019-07-29 10:17:59 +02:00
Florian Strohmaier e04d42b7a9 CSS: Move controls styles to controls.less
refs #3676
2019-07-29 10:17:59 +02:00
Florian Strohmaier 54ba112d64 CSS: Align controls elements
refs #3676
2019-07-29 10:17:59 +02:00
Florian Strohmaier 73f82d2d31 CSS: align corrections
refs #3676
2019-07-29 10:17:59 +02:00
Florian Strohmaier f8ccce9bb8 CSS: Apply margin to spinner in form-controls only
refs #3676
2019-07-29 10:17:59 +02:00
Florian Strohmaier 59271fd8c0 CSS: Align control-info fly over correctly
refs #3676
2019-07-29 10:17:59 +02:00
Florian Strohmaier e1fd0899dc CSS: Increase form-description-icon size
refs #3676
2019-07-29 10:17:59 +02:00
Florian Strohmaier 3a3fce23f7 CSS: Right align form control elements
refs #3676
2019-07-29 10:17:59 +02:00
Florian Strohmaier a43b54ae22 CSS: Fix layout issues
refs #3676
2019-07-29 10:17:59 +02:00
Jennifer Mourek bf48b6d26b WIP: New form styles
Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2019-07-29 10:17:59 +02:00
Johannes Meyer 23590c5e20 js: Remove redundant vendor libraries 2019-07-29 09:52:52 +02:00
Johannes Meyer a4848803c8 collapsible.js: Listen on `#layout` for rendered events 2019-07-26 16:23:18 +02:00
Johannes Meyer 91a8bdf786 collapsible.js: Don't collapse until at least twice the visible space is required 2019-07-26 07:36:17 +02:00
Johannes Meyer 1fd673a034 collapsible.js: Let fade effect look good in containers with .impact 2019-07-26 07:36:17 +02:00
Johannes Meyer 74cb0ef3c9 collapsible.js: Don't enforce `data-visible-rows` for tables and lists 2019-07-26 07:36:17 +02:00
Johannes Meyer 2179518904 storage.js: Properly check if we have any keys left before clearing the storage 2019-07-26 07:36:17 +02:00
Johannes Meyer 9d0ef4cf33 Wrap any markdown output with a `<section>` and remove explicit containers 2019-07-23 14:45:32 +02:00
Florian Strohmaier 31815d1035 CSS: Adjust logo-container to match tab’s height, when sidebar collapsed 2019-07-23 11:36:04 +02:00
Johannes Meyer f1db972cc5 ui.js: Only set tabindex=-1 on elements which are otherwise not focusable 2019-07-22 13:41:52 +02:00
Johannes Meyer dd4cfaba50 navigation.js: Store and load sidebar collapse state from localStorage
resolves #3628
2019-07-18 09:43:22 +02:00
Johannes Meyer 3310bbc680 js: Patch vendor library sparkline to ensure compatibility with jQuery v3 2019-07-18 07:57:14 +02:00
Johannes Meyer f8d3f43965 js: Drop vendor library tipsy 2019-07-18 07:57:14 +02:00
Johannes Meyer eac3a106ad Render `<title>` tags for line and bar charts instead of tipsy titles 2019-07-18 07:57:14 +02:00
Johannes Meyer c100654412 js: Integrate vendor library jquery-migrate 2019-07-18 07:57:14 +02:00
Johannes Meyer ec3a6b0572 ui.js: Don't use jquery blur shorthand but the element's native method 2019-07-18 07:57:14 +02:00
Johannes Meyer b168c3d7db js: Don't use jquery.focus shorthand anymore, but icinga.ui.focusElement 2019-07-18 07:57:14 +02:00
Johannes Meyer f844094475 ui.js: Don't use deprecated .size() method but property .length 2019-07-18 07:57:14 +02:00
Johannes Meyer 6323a065ea loader.js: Keep using the promise interface for complete callbacks 2019-07-18 07:57:14 +02:00
Johannes Meyer 5cf71c9bbd js: Drop iframe-upload fallback for IE 2019-07-18 07:57:14 +02:00
Johannes Meyer 97d5b39662 helpers.js: Drop polyfills for IE8 and IE9 2019-07-18 07:57:14 +02:00
Johannes Meyer 91e4baa221 Remove remaining special cases for IE8 2019-07-18 07:57:14 +02:00
Jennifer Mourek f6a5f952bb loader.js: Remove comment 2019-07-18 07:56:09 +02:00
Florian Strohmaier 5fe264be6a JS: Fix errors
refs #3813
2019-07-18 07:56:09 +02:00
Florian Strohmaier 77c8111162 JS: Update jquery to 3.4.1
refs #3813
2019-07-18 07:56:09 +02:00
Jennifer Mourek 55d35b9e5b Remove jquery 1.11 dependency
refs #3784
2019-07-18 07:56:09 +02:00
Johannes Meyer 8893db0cbc js: Drop a StorageAwareMap entirely from storage if all keys expired 2019-07-18 07:43:42 +02:00
Johannes Meyer cfa3af51db storage.js: Don't return in `StorageAwareMap.forEach` 2019-07-17 13:12:41 +02:00
Johannes Meyer 5c290e1b68 collapsible.js: Rename event callbacks
`onExternalCollapse` => `onCollapse`
`onExternalExpansion` => `onExpand`
2019-07-17 13:12:41 +02:00
Johannes Meyer c976eb48c9 storage.js: Properly handle invalid values 2019-07-17 13:12:41 +02:00
Johannes Meyer 2280551484 storage.js: Use substring instead of startsWith on strings
IE11 doesn't support startsWith..
2019-07-17 13:12:41 +02:00
Johannes Meyer f11de266f4 storage.js: Avoid to call JSON.parse with an empty string
IE11 seems not to like this..
2019-07-17 13:12:41 +02:00
Johannes Meyer 9561057b81 storage.js: Allow to subscribe with multiple handlers to the same key 2019-07-17 13:12:41 +02:00
Johannes Meyer 2bf050f57d storage.js: Don't use the native event mechanism but a simple callback handling 2019-07-17 13:12:41 +02:00
Johannes Meyer c05291296a collapsible.js: Only apply external expansions/collapses if necessary 2019-07-17 13:12:41 +02:00
Johannes Meyer 2fd7ba5aed storage.js: Utilize a single event listener for all storage events
It doesn't make sense to register an event listener for every
created storage instance. They're all using entirely different
keys after all.
2019-07-17 13:12:41 +02:00
Johannes Meyer 2ac848828a storage.js: Prevent conflicts with other apps accessing the same storage 2019-07-17 13:12:41 +02:00
Johannes Meyer 0f16e20d92 storage.js: Write `null` instead of `undefined` to the storage
`undefined` causes the key to be ignored by JSON.stringify
2019-07-17 13:12:41 +02:00
Johannes Meyer 383895fd92 storage.js: Pass the value to event subscribers of StorageAwareMap 2019-07-17 13:12:41 +02:00
Johannes Meyer 8937e11a09 storage.js: Properly handle if keys are entirely removed 2019-07-17 13:12:41 +02:00
Johannes Meyer 363486277b storage.js: Rename Storage.subscribe to onChange 2019-07-17 13:12:41 +02:00
Johannes Meyer c5beabf891 storage.js: Cleanup `StorageAwareMap` key corpses after 90 days 2019-07-17 13:12:41 +02:00
Johannes Meyer cbd1e1bb92 storage.js: Drop `StorageAwareSet` and replace it with `StorageAwareMap` 2019-07-17 13:12:41 +02:00
Johannes Meyer 8377a2d096 storage.js: Don't use .bind() to define a callbacks context 2019-07-17 13:12:41 +02:00
Johannes Meyer 03fc052749 storage.js: Directly use scope `window` to access `localStorage` 2019-07-17 13:12:41 +02:00
Johannes Meyer 95dee43f5b storage.js: Just use a factory to create behavior storages 2019-07-17 13:12:41 +02:00
Johannes Meyer 3b7a1a5ab4 storage.js: Add method `on` to `StorageAwareSet` 2019-07-17 13:12:41 +02:00
Johannes Meyer ffec2ebd4c collapsible.js: Utilize storage.js 2019-07-17 13:12:41 +02:00
Johannes Meyer e2cddc2d46 js: Introduce storage.js, a localStorage abstraction layer 2019-07-17 13:12:41 +02:00
Florian Strohmaier b45b38d73d CSS: Calculate hover effect offset correctly 2019-07-17 13:12:41 +02:00
Florian Strohmaier 12aa079e5c CSS: Fix collapsible-control icon alignment in Firefox 2019-07-17 13:12:41 +02:00
Johannes Meyer beae5b5921 collapsible.js: Update collapsible states when the layout changes 2019-07-17 13:12:41 +02:00
Johannes Meyer 0140fdf485 collapsible.js: Use `scrollHeight` to measure a container's actual height 2019-07-17 13:12:41 +02:00
Johannes Meyer 9f858a9073 ui.js: Trigger event `layout-change` when the layout changes 2019-07-17 13:12:41 +02:00
Johannes Meyer a99f653a63 collapsible.js: Don't process collapsible containers multiple times 2019-07-17 13:12:41 +02:00
Johannes Meyer fc782b59a9 collapsible.js: Don't collapse containers which are near to the maximum 2019-07-17 13:12:41 +02:00
Johannes Meyer c5ebaa2bde main.less: Don't use `unset`, IE11 does not support it 2019-07-17 13:12:41 +02:00
Johannes Meyer 754f45566a collapsible.js: Make storage working with multiple tabs 2019-07-17 13:12:41 +02:00
Johannes Meyer a642117c8a collapsible.js: Remove superflous spaces after the `function` keyword 2019-07-17 13:12:41 +02:00
Johannes Meyer 9a6b1cffd6 collapsible.js: Don't use Set features which IE11 doesn't support 2019-07-17 13:12:41 +02:00
Johannes Meyer ec2a6b5c78 collapsible.js: Use namespace `behavior` for local storage entries 2019-07-17 13:12:41 +02:00
Johannes Meyer 1748404efe collapsible.js: Enhance how we'll utilize `localStorage` 2019-07-17 13:12:41 +02:00
Johannes Meyer 6f28a5c3e1 collapsible.js: Rename `height` to `visible-height` 2019-07-17 13:12:41 +02:00
Johannes Meyer 1ae1dc387f collapsible.js: Rename `numofrows` to `visible-rows` 2019-07-17 13:12:41 +02:00
Johannes Meyer b8bdd743a2 collapsible.js: Remove useless `> tbody > th` row selector 2019-07-17 13:12:41 +02:00
Johannes Meyer ba44240b68 collapsible.js: Store and load states form localStorage 2019-07-17 13:12:41 +02:00
Johannes Meyer 3122af2838 collapsible.js: Properly track a collapsible's state across navigation 2019-07-17 13:12:41 +02:00
Johannes Meyer 0ed030410f collapsible.js: Listen for rendered events on all containers
not just #col2
2019-07-17 13:12:41 +02:00
Johannes Meyer 0574f44bd9 colllapsibleContainer.js: Rename to collapsible.js 2019-07-17 13:12:41 +02:00
Johannes Meyer d6f7582df6 collapsibleContainer.js: Update documentation 2019-07-17 13:12:41 +02:00
Johannes Meyer 1032a944b4 collapsibleContainer.js: Properly set an collapsible's height 2019-07-17 13:12:41 +02:00
Johannes Meyer fb83bee924 css: Make collapsible styles work with the new markup 2019-07-17 13:12:41 +02:00
Johannes Meyer 618ca25aec collapsibleContainer.js: Simplify implementation and make it more flexible
Handling is ok though the styles are outdated now and not working
2019-07-17 13:12:41 +02:00
Johannes Meyer ffe638ee36 collapsibleContainer.js: Don't expect a data attribute for a container's id 2019-07-17 13:12:41 +02:00
Johannes Meyer e6e43d07bf collapsibleContainer.js: Cleanup and streamline behavior implementation 2019-07-17 13:12:41 +02:00
Johannes Meyer 66084d6d94 collapsibleContainer.js: Adjust id handling
Id's are unique. Making this assumption is fine since anyone
not abiding by this isn't my problem.
2019-07-17 13:12:41 +02:00
Florian Strohmaier b73a608742 JS: Check collapsible containers for unique collapsible-id 2019-07-17 13:12:41 +02:00
Florian Strohmaier e375822ef1 CSS: Add hover effect for collapsible control 2019-07-17 13:12:41 +02:00
Florian Strohmaier d3e4fb6552 JS: Add code documentation 2019-07-17 13:12:41 +02:00
Florian Strohmaier 168cc33a69 CSS: Fade collapsed containers 2019-07-17 13:12:41 +02:00
Florian Strohmaier 545d3355a9 JS: Use can-collapse to flag containers with sufficient height 2019-07-17 13:12:41 +02:00
Florian Strohmaier b07ffd4987 JS: Implement collapsible-container behavior 2019-07-17 13:12:41 +02:00
Florian Strohmaier 14caccc384 CSS: Style for collapsible control 2019-07-17 13:12:41 +02:00
Johannes Meyer f6d40a9d1c loader.js: Directly set the window's title for full layout requests
refs #3851
2019-07-15 08:24:44 +02:00
Johannes Meyer 902e5d1cb8
Merge pull request #3845 from Icinga/feature/add-tactical-overview-to-global-search-2529
Add tactical overview to global search
2019-07-11 08:20:52 +02:00
Johannes Meyer 83962edce5 tactical/index: Make sure the donuts are shown side-by-side
refs #2529
2019-07-04 15:10:20 +02:00
Johannes Meyer 1aca142e1a tatical/index: Use an `ul` for the legends and render real links
refs #2529
refs #3804
2019-07-04 14:49:53 +02:00
Johannes Meyer 974df5f2a9 layout.less: Make sure that big numbers in badges don't overflow
refs #3568
2019-07-03 11:30:20 +02:00
Johannes Meyer e992eb6b26 ui: Show problem badges in collapsed sidebar
fixes #3568
2019-06-26 10:34:30 +02:00
Florian Strohmaier b6adf2caef CSS: Fix navigation level-2 indentation 2019-05-28 16:30:43 +02:00
Florian Strohmaier d3f9f82238 CSS: Fix rounding error for font-size-small 2019-05-28 16:30:17 +02:00
Loei Petrus Marogi 302422d814 Allow to fully customize click and submit handling
resolves #3767
2019-05-27 14:34:38 +02:00
Johannes Meyer b4979b75a9
Merge pull request #3723 from Icinga/feature/ctrl-click-does-not-open-links-in-new-tab-3722
Make ctrl-click open new tab
2019-05-24 13:01:52 +02:00
Jennifer Mourek b6f8df5ddc Disallow new tab opening on anything but anchors 2019-05-24 11:09:05 +02:00
Johannes Meyer 82d6b22697
Merge pull request #3775 from Icinga/bugfix/improve-mobile-menu
Improve mobile menu
2019-05-24 10:56:02 +02:00
Jennifer Mourek 1c666d88e6 Prevent new tab opening in tables and href="#" 2019-05-23 11:04:11 +02:00
Johannes Meyer 3b82fffca9
Merge pull request #3766 from Icinga/fix/dont-trigger-rendered-event-for-redirects
loader.js: Return in onComplete upon handled redirects
2019-05-23 09:08:23 +02:00
Jennifer Mourek 26d696372f Exclude multiselect rows from the open new tab feature 2019-05-21 15:06:16 +02:00
Jennifer Mourek eafc6cf356 Add colorblind theme 2019-05-16 08:47:57 +02:00
Florian Strohmaier 3294e2a789 CSS: Remove caret for active list items in mobile menu 2019-05-06 15:13:11 +02:00
Florian Strohmaier ac53cb6035 CSS: Remove box shadow from mobile menu 2019-05-06 14:56:06 +02:00
Florian Strohmaier 574c76ab42 Improve mobile menu 2019-05-06 14:49:41 +02:00
sant-swedge 727d07bd51 Set background color on Fullscreen Layout ul.tabs (#3653)
Fix for ul.tabs links not being visible in showFullscreen mode (white links on white background)
2019-05-03 15:14:33 +02:00
Johannes Meyer 43c87d2388 loader.js: Return in onComplete upon handled redirects
Got changed with f12a5741b8. Triggering
rendered events for stuff that's never displayed doesn't seem right.
2019-04-30 09:23:59 +02:00
Johannes Meyer 50f5aa0ac3 Revert "utils.js: Utilize ids of forms and elements in getCssPath"
This reverts commit c835f02953.
2019-04-25 10:11:45 +02:00
Johannes Meyer f72aa291bc
Merge pull request #3610 from Icinga/fix/window-id-cannot-be-used-to-differentiate-containers-3609
Fix window id cannot be used to differentiate containers
2019-04-17 11:38:48 +02:00
Johannes Meyer c835f02953 utils.js: Utilize ids of forms and elements in getCssPath
They're now reliable again :)

fixes #2238
2019-04-17 11:25:10 +02:00
Johannes Meyer 4900040d47 js: Restore previous title when closing right column
fixes #3654
2019-04-16 09:29:42 +02:00
Johannes Meyer d8c4fcc517
Merge pull request #3661 from Icinga/feature/preserve-scroll-position-upon-form-submits
Preserve scroll position upon form submits
2019-04-16 08:04:15 +02:00
Johannes Meyer cb3528a7be js: Don't scroll to re-focused elements after auto-refreshes
refs #2048
refs #3295
refs #3492
refs #3518
2019-04-15 15:42:14 +02:00
Johannes Meyer f54f2f8627 js: Prevent flickering when refreshing scrolled content 2019-04-15 14:27:14 +02:00
Michael Friedrich c050e37428 Update favicon 2019-03-25 09:59:42 +01:00
Eric Lippmann 915c7b8fe5
Merge pull request #3504 from Icinga/fix/collapsible-sidebar-issues-3187
Fix collapsible sidebar issues
2019-03-21 09:09:27 +01:00
Jennifer Mourek 2c1abe13a1 Make ctrl-click open new tab
refs #3722
2019-03-20 14:19:14 +01:00
Jennifer Mourek b3b80fdc31 Make active first-level nav items better distinguishable 2019-03-20 11:07:39 +01:00
Jennifer Mourek 1e79ba5c1c Remove opacity change on collapsed flyout hover on active items 2019-03-20 11:07:39 +01:00
Jennifer Mourek cacfd9f1d9 Fix tabbed navigation not highlighting the nav-items correctly 2019-03-20 11:07:39 +01:00
Jennifer Mourek 9ca5382e55 Remove font changes on active navigation items 2019-03-20 11:07:39 +01:00
Jennifer Mourek 2e5515274e Adjust sidebar lug size and reduce flyout delay 2019-03-20 11:07:39 +01:00
Jennifer Mourek 61b0d8aa90 Add icon with first letter of the li if there is no icon set else default to icon-circle 2019-03-20 11:07:39 +01:00
Jennifer Mourek 504c7cd5d8 Fix minimised sidebar glitching left when searchbar is clicked in safari 2019-03-20 11:07:39 +01:00
Jennifer Mourek 6a7c73dd77 Add caret to flyout menu 2019-03-20 11:07:39 +01:00
Johannes Meyer 27569d09d8 loader.js: Preserve scroll position also for form submits
Restores the scroll position if:
* it's been a POST request
* the source and target url path is the same
* the target's url params do not change significantly
2019-01-10 15:32:28 +01:00
Johannes Meyer d2214ef0e4 loader.js: Pass-through previous request when peforming a redirection 2019-01-10 15:31:39 +01:00
Johannes Meyer 29a8184548 loader.js: Remember a request's method 2019-01-10 15:30:48 +01:00
Johannes Meyer 2a5a403573 utils.js: Add new method objectsEqual() 2019-01-10 15:30:05 +01:00
Eric Lippmann f8295ea825 Revert "Fix menu flickering on reload and broken layout w/o JS"
This reverts commit 3b06f06a04.

Breaks announcements.
2018-11-20 10:17:27 +01:00
Eric Lippmann 3b06f06a04 Fix menu flickering on reload and broken layout w/o JS
fixes #3629
fixes #3630
2018-11-20 10:06:41 +01:00
Eric Lippmann f0f9ab0eb7 JS: Simplify Date.isDst() 2018-11-16 09:00:32 +01:00
Eric Lippmann fbc7598a6b JS: Simplify Date.getStdTimezoneOffset()
refs #3607
2018-11-16 09:00:32 +01:00
h0rmiga d9b337a213 JS: Fix DST detection
refs #3607

Signed-off-by: Eric Lippmann <eric.lippmann@icinga.com>
2018-11-16 09:00:19 +01:00
Johannes Meyer c8a49414b1 js: Append a unique container id to the Window-Id
Generates a semi-random id for containers other than the menu and col1.
This id is then appended to the Window-Id of every request separated by
an underscore: `window-id_container-id`

refs #3609
2018-11-07 12:44:25 +01:00
Johannes Meyer 8212c51f8d js: Already set `window.name` prior bootstrapping our js runtime
Makes sure that the Window-Id already generated and utilized by the
server on the first request is used by subsequent requests instead
of a new one.

Also avoids that concurrent running id-less requests compete about
which one may set his assigned id. Now any subsequent request
already transmits the id assigned to the first one.

And it resets `window.name` in case the user performs a manual
refresh so that the id used by the server is set/utilized.

refs #3609
2018-11-07 09:13:16 +01:00
Michael Friedrich d1fb3b3674 Update URL to https://icinga.com 2018-10-18 11:02:57 +02:00
Florian Strohmaier d1cbc4b05c JS: Remove excessive scroll events 2018-10-16 15:41:33 +02:00
Eric Lippmann 84e0c0c4fb
Merge pull request #3518 from Icinga/fix/anchor-navigation-not-working-3492
loader.js: Make anchor navigation working again
2018-07-16 10:00:35 +02:00