Bladeren bron

clicking a PkCheckbox updates state

CroogQT 3 jaren geleden
bovenliggende
commit
db142061ff

File diff suppressed because it is too large
+ 0 - 0
netbox/project-static/dist/netbox.js


File diff suppressed because it is too large
+ 0 - 0
netbox/project-static/dist/netbox.js.map


+ 18 - 2
netbox/project-static/src/buttons/selectMultiple.ts

@@ -1,5 +1,21 @@
-import { getElement, getElements, findFirstAdjacent } from '../util';
+import { getElements } from '../util';
+import { StateManager } from 'src/state';
+import { previousPkCheckState } from '../stores';
 
-export function initSelectMultiple(): void {
+type PreviousPkCheckState = { element: Nullable<HTMLInputElement> };
+
+function updatePreviousPkCheckState(eventTargetElement: HTMLInputElement, state: StateManager<PreviousPkCheckState>): void {
+  console.log(state)
+  state.set('element', eventTargetElement);
 }
 
+
+export function initSelectMultiple(): void {
+  const checkboxElements = getElements<HTMLInputElement>('input[type="checkbox"][name="pk"]');
+  for (const element of checkboxElements) {
+    element.addEventListener('click', (event) => {
+      event.stopPropagation();
+      updatePreviousPkCheckState(event.target as HTMLInputElement, previousPkCheckState);
+    });
+  }
+}

+ 3 - 3
netbox/project-static/src/stores/previousPkCheck.ts

@@ -1,7 +1,7 @@
 import { createState } from '../state';
 
-export const previousPKCheckState = createState<{ hidden: boolean }>(
-  { hidden: false },
-  { persist: false },
+export const previousPkCheckState = createState<{ element: Nullable<HTMLInputElement> }>(
+  { element: null},
+  { persist: false }
 );
 

Some files were not shown because too many files changed in this diff