922 Commits

Author SHA1 Message Date
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 f12a5741b8a4c53b7e5d94e43094e18d5a946934. Triggering
rendered events for stuff that's never displayed doesn't seem right.
2019-04-30 09:23:59 +02:00