Commit Graph

1826 Commits

Author SHA1 Message Date
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
Johannes Meyer 5f4aa1e296 loader.js: Make anchor navigation working again
fixes #3492
2018-07-10 10:50:31 +02:00
Eric Lippmann ccda44f8b3
Merge pull request #3514 from Icinga/fix/huge-icons-destroy-navigation-dashboard-layout-3442
navigation/dashboard: Limit icons to a size of 3x3em
2018-07-10 09:27:48 +02:00
Eric Lippmann d18d05ccee Introduce ApplicationStateHook
refs #2835
2018-07-09 16:28:25 +02:00
Johannes Meyer 8974e44c68 navigation/dashboard: Limit icons to a size of 3x3em
fixes #3442
2018-07-09 10:46:47 +02:00
Johannes Meyer 990df95f36 loader.js: Allow to force HTTP to be used for JS redirection 2018-07-04 14:44:03 +02:00
Eric Lippmann 02630c2607 Add vertical-align to sort-controls 2018-06-28 11:27:46 +02:00
Eric Lippmann f8a076f20b Update icon font 2018-06-28 11:27:46 +02:00
Johannes Meyer 9294c830f8 tipsy: Don't use opacity but rgba to avoid having transparent text
refs #3418
2018-04-26 13:39:50 +02:00
Eric Lippmann 7fc9d7995f
Merge pull request #3425 from Icinga/fix/avoid-unnecessary-search-requests-3348
Don't search as long as the user is typing
2018-04-25 03:08:47 -04:00
Johannes Meyer c2b3bbb87b events.js: Don't search as long as the user is typing
500ms is for the average typist. Still fast enough, imho.

refs #3348
2018-04-24 12:33:04 +02:00
Johannes Meyer 9857021d2c Revert "loader.js: place focus at the end of text inputs"
This reverts commit d1fd7e4be7.
Browsers seem to do this on their own natively. Way better.

refs #3348
2018-04-24 11:18:10 +02:00
Johannes Meyer 5f24fffe7d
Merge pull request #3412 from Icinga/bugfix/filter-editor-expand-upon-auto-refresh-2964
Preserve collapsed FilterEditor subtrees across auto-refreshes
2018-04-06 14:55:19 +02:00
Alexander A. Klimov 41b105136d Preserve collapsed FilterEditor subtrees across auto-refreshes
refs #2964
2018-04-06 13:54:51 +02:00
Johannes Meyer 36716566b6
Merge pull request #3410 from Icinga/fix/inverted-colors-of-icons-in-nav-bar-3181
menu: Only invert icons located under /img/icons/
2018-04-06 09:45:27 +02:00
Alexander A. Klimov a187966277 Merge branch 'bugfix/sparkline-charts-flickering-3344'
fixes #3344
2018-04-06 09:44:32 +02:00
Alexander A. Klimov 38438449e4 Revert "Performance data: render pie charts without freezing the UI"
This reverts commit f2b2b6a91a.

refs #3344
2018-04-06 09:36:24 +02:00
Johannes Meyer b8e406fd95 menu: Only invert icons located under /img/icons/
refs #3181
2018-04-06 09:18:45 +02:00
Johannes Meyer 5e6da5b51d widgets.less: Don't lowercase donut titles
refs #3375
2018-04-05 13:44:05 +02:00
Johannes Meyer 78a7939fde
Merge pull request #3408 from Mikesch-mp/master
Fix header width for 4k resolutions.
2018-04-05 12:14:56 +02:00
Carsten bdc82ee6a9
Fix header width for 4k resolutions. Fixes #3374 2018-04-04 22:11:04 +02:00
Alexander A. Klimov b5dde96746 FilterEditor: save changes on element addition
refs #2900
2018-04-04 12:20:52 +02:00
Alexander A. Klimov 64bb91ddd2 Let a dashlet use the whole space if it's the only one
refs #3302
2018-01-26 11:28:13 +01:00
Johannes Meyer 7483a168f9 actiontable.js: Use `event.currentTarget` instead of the closest tr
This event is triggered due to delegation. If any onclick event is able
to bubble up this far that it gets triggered we can safely use whatever
it has been triggered for. (i.e. it can only be a tr[href])

refs #3298
2018-01-22 13:23:28 +01:00
lippserd d0aa39007a
Merge pull request #3273 from Icinga/bugfix/iframe-dashboard
Improve rendering of iframes in the dashboard
2018-01-22 09:42:25 +01:00
lippserd 0b9ae48530
Merge pull request #3288 from Icinga/bugfix/performance-problem-lots-of-performance-data-2894
Performance data: render pie charts without freezing the UI
2018-01-19 16:16:54 +01:00
Alexander A. Klimov f2b2b6a91a Performance data: render pie charts without freezing the UI
refs #2894
2018-01-19 16:14:42 +01:00
lippserd ce428cb77d
Merge pull request #3146 from Icinga/bugfix/links-in-announcements-2641
Render HTML in announcements' messages as expected
2018-01-19 16:13:59 +01:00
Alexander A. Klimov e86566f634 css: Make links in announcements blue, @icinga-blue
refs #2641
2018-01-19 16:12:53 +01:00
lippserd a812a95a9b
Merge pull request #3295 from Icinga/bugfix/focus-preserve-scroll-position
Icinga.Loader.prototype.renderContentToContainer(): preserve scroll position despite the focus
2018-01-19 16:07:12 +01:00
Alexander A. Klimov 68870ca411 Icinga.Loader.prototype.renderContentToContainer(): preserve scroll position despite the focus 2018-01-19 15:32:54 +01:00
lippserd 226cc2c810
Merge pull request #3274 from Icinga/bugfix/inner-donut-labels-firefox-3226
Donut: place HTML tags outside <svg>
2018-01-18 10:15:49 +01:00
Alexander A. Klimov 0ad153a223 Tactical overview: always show the problems amount
refs #3226
2018-01-17 15:01:02 +01:00
Alexander A. Klimov 1107af2101 Let wide dashlets scroll
refs #2756
2018-01-17 12:29:37 +01:00