Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0c540d424c | |||
| 6454d74fa8 | |||
| 00e404dfed | |||
| 865f382b6d |
@@ -36,16 +36,21 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
if (!document.getElementById("board")) {
|
var container = document.getElementById("board-container");
|
||||||
|
|
||||||
|
if (!container) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
relocate();
|
relocate();
|
||||||
|
|
||||||
var container = document.getElementById("board-container");
|
// BoardDragAndDrop.refresh() does $("#board-container").replaceWith(data) on every
|
||||||
|
// drag-and-drop and poll refresh, so an observer bound to #board-container would be
|
||||||
if (container && window.MutationObserver) {
|
// left watching a detached node and never fire again (the entry vanishes until F5).
|
||||||
new MutationObserver(relocate).observe(container, { childList: true, subtree: true });
|
// Observe the stable parent instead: it survives the swap, and its childList mutation
|
||||||
|
// fires exactly when the container is replaced, so relocate() re-runs on the new DOM.
|
||||||
|
if (window.MutationObserver && container.parentNode) {
|
||||||
|
new MutationObserver(relocate).observe(container.parentNode, { childList: true, subtree: true });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class Plugin extends Base
|
|||||||
|
|
||||||
public function getPluginVersion()
|
public function getPluginVersion()
|
||||||
{
|
{
|
||||||
return '1.0.0';
|
return '1.0.4';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPluginHomepage()
|
public function getPluginHomepage()
|
||||||
|
|||||||
20
README.md
20
README.md
@@ -36,3 +36,23 @@ the folder name). No build step and no database migration.
|
|||||||
## License
|
## License
|
||||||
|
|
||||||
AGPL-3.0. See LICENSE.
|
AGPL-3.0. See LICENSE.
|
||||||
|
|
||||||
|
## More Kanboard plugins by Dr. Beco
|
||||||
|
|
||||||
|
All free and AGPL-3.0, at [code.beco.cc](https://code.beco.cc/beco):
|
||||||
|
|
||||||
|
- **[RecoReco](https://code.beco.cc/beco/RecoReco)** -- calendar-scheduled recurring cards (yearly,
|
||||||
|
monthly, weekly, daily), driven by the card due date.
|
||||||
|
- **[FinanceBuddy](https://code.beco.cc/beco/FinanceBuddy)** -- attach a money value (debit/credit
|
||||||
|
and installments) to cards, shown on the card and totalled per column.
|
||||||
|
- **[QualKard](https://code.beco.cc/beco/QualKard)** -- flashcard spaced repetition: grade a card by
|
||||||
|
dragging it to a column, and it comes back when due (needs RecoReco).
|
||||||
|
- **[WorkspaceOrg](https://code.beco.cc/beco/WorkspaceOrg)** -- group your projects into personal
|
||||||
|
per-user workspaces, shown on a "My workspaces" dashboard page with a badge on each project.
|
||||||
|
- **[OrganonTweaks](https://code.beco.cc/beco/OrganonTweaks)** -- an umbrella of small
|
||||||
|
quality-of-life board tweaks: remove an empty column, always show the comment icon, emphasize due
|
||||||
|
dates, extra search keywords and shared board filters, and more.
|
||||||
|
- **[ShrinkVertically](https://code.beco.cc/beco/ShrinkVertically)** -- shrink vertically-collapsed
|
||||||
|
board columns so the horizontal scrollbar stays within reach.
|
||||||
|
- **[TweakDrag](https://code.beco.cc/beco/TweakDrag)** -- board drag and touch niceties:
|
||||||
|
drag-to-scroll, a wider column gap, and smoother card dragging.
|
||||||
|
|||||||
Reference in New Issue
Block a user