From 1e03eb4eb8bd2f631a4708135c044a9e592f42ae Mon Sep 17 00:00:00 2001 From: atownson <> Date: Mon, 23 Sep 2024 13:06:46 -0500 Subject: [PATCH] Added TypeScript to handle conditionally floating the object list forms --- netbox/project-static/dist/netbox.css | Bin 554549 -> 554636 bytes netbox/project-static/dist/netbox.js | Bin 389845 -> 390382 bytes netbox/project-static/dist/netbox.js.map | Bin 526569 -> 527153 bytes .../project-static/src/buttons/floatBulk.ts | 35 ++++++++++++++++++ netbox/project-static/src/buttons/index.ts | 2 + 5 files changed, 37 insertions(+) create mode 100644 netbox/project-static/src/buttons/floatBulk.ts diff --git a/netbox/project-static/dist/netbox.css b/netbox/project-static/dist/netbox.css index 69fe8321322a3e9b435549549a969eab9d5d2dbe..95ead473e533c3078875feccb9b77779932727ce 100644 GIT binary patch delta 190 zcmdn`MzQCuVnYjK3sVbo3rh=Y3tJ2O77mwET^+rol04nCoczQR-SndT(gNM0%=C;B zOyQi=w36u?Wtb)63=Ik@tgCc0^HNePtc+?g3;?OD2AgOFVqz))+W=JoW+N%7p1yGv VtJJgtCa&op0y(&*?Ptco(zGfJ!r5>rw# V^U|#h6buv$4GJoz-!A3Y2mlAm7cT$+ diff --git a/netbox/project-static/dist/netbox.js b/netbox/project-static/dist/netbox.js index afdbea0f820889285f7d2f4fee6a434c72f5b373..0c624bde57b5c377fd4a2caf78896bbdb4f544ba 100644 GIT binary patch delta 10323 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 diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index 212be3659ea899ae59375b29d171f673712f37cf..4a9df262ef42120eb2c4eb4c5d481c69dedec078 100644 GIT binary patch delta 619 zcmaJLU0xbEL=m7^7FhsS7YMkd^ErA_6R;FaS?760S%sqpP|I z2n{5C`^DdihTHVql|~o7fP}t@glp%3OaE3RcUuDSR3Gl&j6N=u^YK_UJnJcD zxHGMeX|$#^@5o?Yp*Jx6=IXvqGD#99xx| zb%^{qa8E3cFAoCWcN>|O8#Fm}JV|#Nw#*uiFLVBF!sNR;GitT1h96zNsB`g&A1Jzi IRX5f@0r#rAzW@LL delta 121 zcmdluP2uH4g$=vpn{Udu-;`$rVkRJF-hNY_#X6m{z|~PF*wHaKeEY5rmKF}ioay!x zSppSY9i82DfP`z1j=Q6yw~n);Ylx1sbAgkij;EueZ*cpzi7Y_O3dC&Nw@qZ9ZMFT_ U8Fp3X=}%9w^Ka+Az^-Nu0F('input[type="checkbox"][name="pk"]:checked'); + const buttonGroup = document.querySelector('div.form.form-horizontal div.btn-list'); + const isFloating = buttonGroup.classList.contains('btn-float-group-left'); + if (checkedCheckboxes !== null && !isFloating) { + buttonGroup.classList.add('btn-float-group-left'); + } + else if (checkedCheckboxes === null && isFloating) { + buttonGroup.classList.remove('btn-float-group-left'); + } +} + + +/** + * Initialize floating bulk buttons. + */ +export function initFloatBulk(): void { + for (const element of getElements('input[type="checkbox"][name="pk"]')) { + element.addEventListener('change', event => { + toggleFloat(); + }); + } + // Handle the select-all checkbox + for (const element of getElements('table tr th > input[type="checkbox"].toggle')) { + element.addEventListener('change', event => { + toggleFloat(); + }); + } +} diff --git a/netbox/project-static/src/buttons/index.ts b/netbox/project-static/src/buttons/index.ts index 6c1c0db0b..cb520b818 100644 --- a/netbox/project-static/src/buttons/index.ts +++ b/netbox/project-static/src/buttons/index.ts @@ -3,6 +3,7 @@ import { initDepthToggle } from './depthToggle'; import { initMoveButtons } from './moveOptions'; import { initReslug } from './reslug'; import { initSelectAll } from './selectAll'; +import { initFloatBulk } from './floatBulk'; import { initSelectMultiple } from './selectMultiple'; import { initMarkdownPreviews } from './markdownPreview'; import { initSecretToggle } from './secretToggle'; @@ -14,6 +15,7 @@ export function initButtons(): void { initReslug, initSelectAll, initSelectMultiple, + initFloatBulk, initMoveButtons, initMarkdownPreviews, initSecretToggle,