This commit is contained in:
seb
2026-10-04 21:04:40 +02:00
parent 669954b496
commit f765b87336
59 changed files with 1491 additions and 2045 deletions

View File

@@ -15,7 +15,8 @@ import Typography from '@mui/material/Typography';
import SaveOutlinedIcon from '@mui/icons-material/SaveOutlined';
import { enqueueSnackbar } from 'notistack';
import BackendError from '../BackendError';
import { StorageManagerContext } from '../../api/storageManagerContext';
import { number as numberApi } from '../../api';
import numberAutomat from '../../automats/numberAutomat';
import { requireArray, requireDefined, requireObject } from '../../utils/apiShape';
import { backendErrorFrom } from '../../utils/backendError';
import { notifyError } from '../../utils/notify';
@@ -31,8 +32,6 @@ function parseNext(value) {
}
export default class NumberSettingsPanel extends Component {
static contextType = StorageManagerContext;
constructor(props) {
super(props);
this.state = {
@@ -54,7 +53,7 @@ export default class NumberSettingsPanel extends Component {
this.setState({ status: 'loading', error: null });
try {
const numbers = requireArray(
await this.context.updateNumber(),
await numberAutomat.actions.reload(),
'numbers',
);
const drafts = Object.fromEntries(
@@ -141,7 +140,7 @@ export default class NumberSettingsPanel extends Component {
},
}));
try {
const data = await this.context.number.update(id, body);
const data = await numberApi.update(id, body);
requireObject(data, 'PATCH /api/number');
requireObject(data.number, 'number');
const updated = requireDefined(data.number, 'number');

View File

@@ -25,7 +25,7 @@ import DragIndicatorIcon from '@mui/icons-material/DragIndicator';
import EditOutlinedIcon from '@mui/icons-material/EditOutlined';
import { enqueueSnackbar } from 'notistack';
import BackendError from '../BackendError';
import { StorageManagerContext } from '../../api/storageManagerContext';
import { printer as printerApi } from '../../api';
import { requireArray, requireObject } from '../../utils/apiShape';
import { backendErrorFrom } from '../../utils/backendError';
import { notifyError } from '../../utils/notify';
@@ -186,8 +186,6 @@ class PrinterFormDialog extends Component {
}
export default class PrinterSettingsPanel extends Component {
static contextType = StorageManagerContext;
constructor(props) {
super(props);
this.state = {
@@ -216,7 +214,7 @@ export default class PrinterSettingsPanel extends Component {
async load() {
this.setState({ status: 'loading', error: null });
try {
const data = await this.context.printer.list();
const data = await printerApi.list();
requireObject(data, 'GET /api/printer');
const printers = requireArray(data.printers, 'printers');
this.setState({ status: 'ready', printers });
@@ -243,7 +241,7 @@ export default class PrinterSettingsPanel extends Component {
}
async handleAddSubmit(body) {
const data = await this.context.printer.create(body);
const data = await printerApi.create(body);
requireObject(data, 'POST /api/printer');
const printer = data.printer;
this.setState((prev) => ({
@@ -255,7 +253,7 @@ export default class PrinterSettingsPanel extends Component {
async handleEditSubmit(body) {
const { editPrinter } = this.state;
const data = await this.context.printer.update(editPrinter.id, body);
const data = await printerApi.update(editPrinter.id, body);
requireObject(data, 'PATCH /api/printer/:id');
const updated = data.printer;
this.setState((prev) => ({
@@ -268,7 +266,7 @@ export default class PrinterSettingsPanel extends Component {
async handleDelete(id) {
this.setState({ deleteId: id, deleteBusy: true });
try {
await this.context.printer.delete(id);
await printerApi.delete(id);
this.setState((prev) => ({
printers: prev.printers.filter((p) => p.id !== id),
deleteId: null,
@@ -314,7 +312,7 @@ export default class PrinterSettingsPanel extends Component {
this.setState({ printers: reordered });
try {
await this.context.printer.order({ printerIds });
await printerApi.order({ printerIds });
} catch (err) {
if (this._unmounted) return;
notifyError(err);

View File

@@ -14,7 +14,7 @@ import Typography from '@mui/material/Typography';
import SaveOutlinedIcon from '@mui/icons-material/SaveOutlined';
import { enqueueSnackbar } from 'notistack';
import BackendError from '../BackendError';
import { StorageManagerContext } from '../../api/storageManagerContext';
import { setting as settingApi } from '../../api';
import { requireArray, requireDefined, requireObject } from '../../utils/apiShape';
import { backendErrorFrom } from '../../utils/backendError';
import { notifyError } from '../../utils/notify';
@@ -42,8 +42,6 @@ function keyLabel(key) {
}
export default class SettingsKeysPanel extends Component {
static contextType = StorageManagerContext;
constructor(props) {
super(props);
this.state = {
@@ -64,7 +62,7 @@ export default class SettingsKeysPanel extends Component {
async load() {
this.setState({ status: 'loading', error: null });
try {
const data = await this.context.setting.list();
const data = await settingApi.list();
requireObject(data, 'GET /api/company/setting');
const settings = requireArray(data.settings, 'settings');
const drafts = Object.fromEntries(
@@ -119,7 +117,7 @@ export default class SettingsKeysPanel extends Component {
},
}));
try {
const data = await this.context.setting.upsert(key, body);
const data = await settingApi.upsert(key, body);
requireObject(data, 'PUT /api/company/setting/:key');
requireObject(data.setting, 'setting');
const updated = requireDefined(data.setting, 'setting');