Files
medusa-store/packages/admin/dashboard/src/components/data-grid/models/data-grid-bulk-update-command.ts
Kasper Fabricius Kristensen bc22b81cdf feat(inventory,dashboard,types,core-flows,js-sdk,medusa): Improve inventory UX (#10630)
* feat(dashboard): Add UI for bulk editing inventory stock (#10556)

* progress

* cleanup types

* add changeset

* fix 0 values

* format schema

* add delete event and allow copy/pasting enabled for some fields

* add response types

* add tests

* work on fixing setValue behaviour

* cleanup toggle logic

* add loading state

* format schema

* add support for bidirectional actions in DataGrid and update Checkbox and RadioGroup

* update lock

* lint

* fix 404

* address feedback

* update cursor on bidirectional select
2025-01-12 19:07:14 -05:00

39 lines
847 B
TypeScript

import { Command } from "../../../hooks/use-command-history"
export type DataGridBulkUpdateCommandArgs = {
fields: string[]
next: any[]
prev: any[]
setter: (fields: string[], values: any[], isHistory?: boolean) => void
}
export class DataGridBulkUpdateCommand implements Command {
private _fields: string[]
private _prev: any[]
private _next: any[]
private _setter: (
fields: string[],
values: any[],
isHistory?: boolean
) => void
constructor({ fields, prev, next, setter }: DataGridBulkUpdateCommandArgs) {
this._fields = fields
this._prev = prev
this._next = next
this._setter = setter
}
execute(redo = false): void {
this._setter(this._fields, this._next, redo)
}
undo(): void {
this._setter(this._fields, this._prev, true)
}
redo(): void {
this.execute(true)
}
}