Johannes Meyer
f98f988aff
Remove tristate form element
2019-09-23 08:36:24 +02:00
Johannes Meyer
5333bbf04d
loader.js: Also set title directly if layout is base target
2019-08-02 15:42:58 +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
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
8cd6a46388
collapsible.js: Add support for custom control elements
2019-07-29 10:19:29 +02:00
Johannes Meyer
d0eca387ee
js: Also handle spinner elements which are not direct descendants of an element
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
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
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
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
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
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
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
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
d3e4fb6552
JS: Add code documentation
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
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
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
Jennifer Mourek
26d696372f
Exclude multiselect rows from the open new tab feature
2019-05-21 15:06:16 +02:00
Florian Strohmaier
574c76ab42
Improve mobile menu
2019-05-06 14:49:41 +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
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
2e5515274e
Adjust sidebar lug size and reduce flyout delay
2019-03-20 11:07:39 +01:00