46 Commits

Author SHA1 Message Date
Yonas Habteab
d186604b62 Allow to define row count after which a collapsible can be collapsed 2023-09-19 14:37:55 +02:00
Johannes Meyer
9b3e6165ea collapsible.js: Fix invalid default selectors
refs #4884
2022-11-03 16:41:25 +01:00
Johannes Meyer
aef6e99cf8 collapsible.js: Add support for external controls 2022-10-10 15:55:33 +02:00
Florian Strohmaier
f13161b69d collapsible.js: Enhance markup flexibility 2022-10-10 15:54:24 +02:00
Johannes Meyer
c4ce98159c collapsible.js: Use ES6's class syntax 2022-10-10 10:42:45 +02:00
Johannes Meyer
b0622dcde2 collapsible.js: Don't use jQuery, but some ES6 features 2022-10-10 10:42:45 +02:00
Johannes Meyer
917e68d68d collapsible.js: Minor performance improvements 2022-10-10 10:42:45 +02:00
Johannes Meyer
17bd3ce14f collapsible.js: Use a data-attr to identify collapsible collapsibles 2022-10-10 10:42:45 +02:00
Johannes Meyer
222a6a8e0f collapsible.js: Add support for <details> 2022-10-10 10:42:45 +02:00
Sukhwinder Dhillon
a4d2397dd1 Revert "js: Avoid usage of .matches() as it isn't available with IE11"
This reverts commit cc0c6fc71b06c6883b8af2ae11b40f6b995569d1.
2022-06-13 15:50:52 +02:00
Johannes Meyer
29d0b8f2c7 collapsible.js: Only handle content inside top-level or modal containers 2022-02-07 14:13:12 +01:00
Johannes Meyer
832a1c88c4 collapsible.js: Properly setup collapsibles in onLayoutChange 2021-07-23 17:03:49 +02:00
Johannes Meyer
cc0c6fc71b js: Avoid usage of .matches() as it isn't available with IE11 2021-05-25 17:19:03 +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
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
25263e767b js: Allow to disable persistence for collapsibles 2021-03-30 09:27:22 +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
8cd6a46388 collapsible.js: Add support for custom control elements 2019-07-29 10:19:29 +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
5c290e1b68 collapsible.js: Rename event callbacks
`onExternalCollapse` => `onCollapse`
`onExternalExpansion` => `onExpand`
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
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
cbd1e1bb92 storage.js: Drop StorageAwareSet and replace it with StorageAwareMap 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
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
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