Skip to content

Commit 8380dbc

Browse files
committed
triv: #26869 Initializing trees on afterSwap event
1 parent 7186e44 commit 8380dbc

3 files changed

Lines changed: 7 additions & 7 deletions

File tree

src/django_smartbase_admin/static/sb_admin/src/js/main.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import Autocomplete from "./autocomplete"
3232
import StaticAutocomplete from "./static_autocomplete"
3333
import ChoicesJS from "./choices"
3434
import TextTags from "./text_tags"
35-
import { ensureFilterForms, setCookie, setDropdownLabel, shouldProcessAfterSwap } from "./utils"
35+
import { SBADMIN_INIT_TREES_EVENT, ensureFilterForms, setCookie, setDropdownLabel, shouldProcessAfterSwap } from "./utils"
3636
import Multiselect from "./multiselect"
3737
import Radio from "./radio"
3838
import "./inline_paginator"
@@ -82,6 +82,7 @@ class Main {
8282
this.initTooltips(target)
8383
this.syncEmptyFieldsets(target)
8484
this.scheduleScrollToFirstErrorField(target)
85+
document.dispatchEvent(new CustomEvent(SBADMIN_INIT_TREES_EVENT, {detail: {target: target}}))
8586
}
8687
window.htmx.on("htmx:afterSwap", (event) => {
8788
if (!shouldProcessAfterSwap(event)) {

src/django_smartbase_admin/static/sb_admin/src/js/tree_widget.js

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import {sanitizeHtml} from './sanitize'
2+
import {SBADMIN_INIT_TREES_EVENT} from './utils'
23

34
const loadValue = function ($inputEl, treeWidgetData, treeInstance) {
45
let value = $inputEl.val()
@@ -397,12 +398,8 @@ const loadValue = function ($inputEl, treeWidgetData, treeInstance) {
397398
initAllTrees(event.target)
398399
})
399400

400-
document.addEventListener('htmx:afterSwap', (event) => {
401-
initAllTrees(event.detail && event.detail.elt)
402-
})
403-
404-
document.addEventListener('htmx:oobAfterSwap', (event) => {
405-
initAllTrees(event.detail && event.detail.elt)
401+
document.addEventListener(SBADMIN_INIT_TREES_EVENT, (event) => {
402+
initAllTrees(event.detail && event.detail.target)
406403
})
407404

408405
const queryBuilderEl$ = $(".query-builder-advanced")

src/django_smartbase_admin/static/sb_admin/src/js/utils.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import {sanitizeHtml} from './sanitize'
22

3+
export const SBADMIN_INIT_TREES_EVENT = 'SBAdminInitTrees'
4+
35
export const createIcon = (iconId, classes = ['w-24', 'h-24']) => {
46
const svgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg')
57
svgEl.classList.add(...classes)

0 commit comments

Comments
 (0)