@naisys/erp 3.0.0-beta.48 → 3.0.0-beta.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3978,6 +3978,18 @@ function editKey(fieldId, setIndex) {
3978
3978
  function buildEdits(fieldValues) {
3979
3979
  return Object.fromEntries(fieldValues.map((fv) => [editKey(fv.fieldId, fv.setIndex), fv.value]));
3980
3980
  }
3981
+ function fieldValueEquals(a, b) {
3982
+ return JSON.stringify(a) === JSON.stringify(b);
3983
+ }
3984
+ function mergeEditsPreservingDirty(previousFieldValues, nextFieldValues, currentEdits) {
3985
+ const previousEdits = buildEdits(previousFieldValues);
3986
+ const nextEdits = buildEdits(nextFieldValues);
3987
+ return Object.fromEntries(Object.entries(nextEdits).map(([key, nextValue]) => {
3988
+ const currentValue = currentEdits[key];
3989
+ const previousValue = previousEdits[key];
3990
+ return [key, currentValue !== void 0 && !fieldValueEquals(currentValue, previousValue) ? currentValue : nextValue];
3991
+ }));
3992
+ }
3981
3993
  /** Get a string value from FieldValue (for scalar fields) */
3982
3994
  function asString(v) {
3983
3995
  return typeof v === "string" ? v : v.join(", ");
@@ -4010,9 +4022,10 @@ var FieldValueRunList = ({ fieldValues: fieldValuesProp, multiSet, completed, _a
4010
4022
  const prevPropRef = (0, import_react.useRef)(fieldValuesProp);
4011
4023
  (0, import_react.useEffect)(() => {
4012
4024
  if (fieldValuesProp !== prevPropRef.current) {
4025
+ const previousFieldValues = prevPropRef.current;
4013
4026
  prevPropRef.current = fieldValuesProp;
4014
4027
  setFieldValues(fieldValuesProp);
4015
- setEdits(buildEdits(fieldValuesProp));
4028
+ setEdits((currentEdits) => mergeEditsPreservingDirty(previousFieldValues, fieldValuesProp, currentEdits));
4016
4029
  }
4017
4030
  }, [fieldValuesProp]);
4018
4031
  const onFieldChange = (fieldId, setIndex, value) => {
@@ -45,7 +45,7 @@
45
45
  <meta name="format-detection" content="telephone=no" />
46
46
 
47
47
  <title>NAISYS ERP</title>
48
- <script type="module" crossorigin src="/erp/assets/index-Bu_bS_Vd.js"></script>
48
+ <script type="module" crossorigin src="/erp/assets/index-CNe-LDbP.js"></script>
49
49
  <link rel="modulepreload" crossorigin href="/erp/assets/rolldown-runtime-CvHMtSRF.js">
50
50
  <link rel="modulepreload" crossorigin href="/erp/assets/vendor-Co7ZCNxO.js">
51
51
  <link rel="stylesheet" crossorigin href="/erp/assets/vendor-CLUPjUnv.css">
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@naisys/erp",
3
- "version": "3.0.0-beta.48",
3
+ "version": "3.0.0-beta.50",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@naisys/erp",
9
- "version": "3.0.0-beta.48",
9
+ "version": "3.0.0-beta.50",
10
10
  "dependencies": {
11
11
  "@fastify/cookie": "^11.0.2",
12
12
  "@fastify/cors": "^11.2.0",
@@ -14,11 +14,11 @@
14
14
  "@fastify/rate-limit": "^10.3.0",
15
15
  "@fastify/static": "^9.0.0",
16
16
  "@fastify/swagger": "^9.7.0",
17
- "@naisys/common": "3.0.0-beta.48",
18
- "@naisys/common-node": "3.0.0-beta.48",
19
- "@naisys/erp-shared": "3.0.0-beta.48",
20
- "@naisys/hub-database": "3.0.0-beta.48",
21
- "@naisys/supervisor-database": "3.0.0-beta.48",
17
+ "@naisys/common": "3.0.0-beta.50",
18
+ "@naisys/common-node": "3.0.0-beta.50",
19
+ "@naisys/erp-shared": "3.0.0-beta.50",
20
+ "@naisys/hub-database": "3.0.0-beta.50",
21
+ "@naisys/supervisor-database": "3.0.0-beta.50",
22
22
  "@prisma/adapter-better-sqlite3": "^7.5.0",
23
23
  "@prisma/client": "^7.5.0",
24
24
  "@scalar/fastify-api-reference": "^1.48.7",
@@ -394,41 +394,41 @@
394
394
  }
395
395
  },
396
396
  "node_modules/@naisys/common": {
397
- "version": "3.0.0-beta.48",
398
- "resolved": "https://registry.npmjs.org/@naisys/common/-/common-3.0.0-beta.48.tgz",
399
- "integrity": "sha512-NS6jdK+e0i9ZtK3bgomdEppTY/mWSGGT16DxMLexLQT6Mg6zyJtVe3jAMGfebPE1bWDtSQaYklAE9qKdSx7e/g==",
397
+ "version": "3.0.0-beta.50",
398
+ "resolved": "https://registry.npmjs.org/@naisys/common/-/common-3.0.0-beta.50.tgz",
399
+ "integrity": "sha512-jbd0+ARSKo+u0qtGosBkmlZgEFRKU+KWJbSjPSQOAEGaJLlvPfi31nT2hjjN+HpaSsOz3CV7q1B51YqV40YN2A==",
400
400
  "dependencies": {
401
401
  "semver": "^7.7.4",
402
402
  "zod": "^4.3.6"
403
403
  }
404
404
  },
405
405
  "node_modules/@naisys/common-node": {
406
- "version": "3.0.0-beta.48",
407
- "resolved": "https://registry.npmjs.org/@naisys/common-node/-/common-node-3.0.0-beta.48.tgz",
408
- "integrity": "sha512-PlhjTQZJ9yDJp3RTiVORypXMDX/Id2sfRSz3UfhXhGz795EycfC2R6XLuOppYjrUDVol6fKV2kmHiH6uAEjdsQ==",
406
+ "version": "3.0.0-beta.50",
407
+ "resolved": "https://registry.npmjs.org/@naisys/common-node/-/common-node-3.0.0-beta.50.tgz",
408
+ "integrity": "sha512-w+C4E06UnMDwxQodeOjE9iB7dTdvGo8ZvvTVzA9USCKzC9TiJYWX1JJ39FIyQ4i7gZwp6Aady/vKuinAZtbWeQ==",
409
409
  "dependencies": {
410
- "@naisys/common": "3.0.0-beta.48",
410
+ "@naisys/common": "3.0.0-beta.50",
411
411
  "better-sqlite3": "^12.6.2",
412
412
  "js-yaml": "^4.1.1",
413
413
  "pino": "^10.3.1"
414
414
  }
415
415
  },
416
416
  "node_modules/@naisys/erp-shared": {
417
- "version": "3.0.0-beta.48",
418
- "resolved": "https://registry.npmjs.org/@naisys/erp-shared/-/erp-shared-3.0.0-beta.48.tgz",
419
- "integrity": "sha512-f0JZftH2SV70FN7JAFDISbUUfwWoInnsmOnlJ5bt3dymOlwPyva0jmKkXAwpIcoCatyO26mfdAHDULm6cOZxqg==",
417
+ "version": "3.0.0-beta.50",
418
+ "resolved": "https://registry.npmjs.org/@naisys/erp-shared/-/erp-shared-3.0.0-beta.50.tgz",
419
+ "integrity": "sha512-yoUEgZFskOyY7gaiz2DN8zk9m5qmFeaR2RBMtkCHKJG/7FDM70HJqtqsEhPg/J0dtUCYfignDFJ6EV4nmuzfyg==",
420
420
  "dependencies": {
421
- "@naisys/common": "3.0.0-beta.48",
421
+ "@naisys/common": "3.0.0-beta.50",
422
422
  "zod": "^4.3.6"
423
423
  }
424
424
  },
425
425
  "node_modules/@naisys/hub-database": {
426
- "version": "3.0.0-beta.48",
427
- "resolved": "https://registry.npmjs.org/@naisys/hub-database/-/hub-database-3.0.0-beta.48.tgz",
428
- "integrity": "sha512-NqvEPRXXeUv3ZRpJGy1qxsXbcqQ5G7lxxCkHKsZ35LUSW4A4ozE4z5KsxKTROr9hcu223znZ4ns+Y46CrsmSpw==",
426
+ "version": "3.0.0-beta.50",
427
+ "resolved": "https://registry.npmjs.org/@naisys/hub-database/-/hub-database-3.0.0-beta.50.tgz",
428
+ "integrity": "sha512-MnMTWMFLyfuyCHDZDCdFBs3oesPNZHJ1b8oUavSz4Z58fZbXgxYesddOu1RSb2gG2n4fu9JKJAMiS4EUmH0g5g==",
429
429
  "dependencies": {
430
- "@naisys/common": "3.0.0-beta.48",
431
- "@naisys/common-node": "3.0.0-beta.48",
430
+ "@naisys/common": "3.0.0-beta.50",
431
+ "@naisys/common-node": "3.0.0-beta.50",
432
432
  "@prisma/adapter-better-sqlite3": "^7.5.0",
433
433
  "@prisma/client": "^7.5.0",
434
434
  "better-sqlite3": "^12.6.2",
@@ -436,12 +436,12 @@
436
436
  }
437
437
  },
438
438
  "node_modules/@naisys/supervisor-database": {
439
- "version": "3.0.0-beta.48",
440
- "resolved": "https://registry.npmjs.org/@naisys/supervisor-database/-/supervisor-database-3.0.0-beta.48.tgz",
441
- "integrity": "sha512-rPmmu59bnagasDr5atLuJVVso4qI+pynWsW3DNN+6yuePCOzVV/Iw+enCyoVRItC73a0NKkLQgjprZm9VV29XA==",
439
+ "version": "3.0.0-beta.50",
440
+ "resolved": "https://registry.npmjs.org/@naisys/supervisor-database/-/supervisor-database-3.0.0-beta.50.tgz",
441
+ "integrity": "sha512-Ur1lgpJYj038TCwZ7RG3RSS+4+DoAZFz818o6av1nn1OF/BbU54sRw71X+AM0uvCEEKFQTRnLJIZMQs98xRWWw==",
442
442
  "dependencies": {
443
- "@naisys/common": "3.0.0-beta.48",
444
- "@naisys/common-node": "3.0.0-beta.48",
443
+ "@naisys/common": "3.0.0-beta.50",
444
+ "@naisys/common-node": "3.0.0-beta.50",
445
445
  "@prisma/adapter-better-sqlite3": "^7.5.0",
446
446
  "@prisma/client": "^7.5.0",
447
447
  "bcryptjs": "^3.0.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naisys/erp",
3
- "version": "3.0.0-beta.48",
3
+ "version": "3.0.0-beta.50",
4
4
  "description": "NAISYS ERP - Web UI for AI-driven order and work management",
5
5
  "type": "module",
6
6
  "main": "dist/erpServer.js",
@@ -46,11 +46,11 @@
46
46
  "@fastify/rate-limit": "^10.3.0",
47
47
  "@fastify/static": "^9.0.0",
48
48
  "@fastify/swagger": "^9.7.0",
49
- "@naisys/common": "3.0.0-beta.48",
50
- "@naisys/common-node": "3.0.0-beta.48",
51
- "@naisys/erp-shared": "3.0.0-beta.48",
52
- "@naisys/hub-database": "3.0.0-beta.48",
53
- "@naisys/supervisor-database": "3.0.0-beta.48",
49
+ "@naisys/common": "3.0.0-beta.50",
50
+ "@naisys/common-node": "3.0.0-beta.50",
51
+ "@naisys/erp-shared": "3.0.0-beta.50",
52
+ "@naisys/hub-database": "3.0.0-beta.50",
53
+ "@naisys/supervisor-database": "3.0.0-beta.50",
54
54
  "@prisma/adapter-better-sqlite3": "^7.5.0",
55
55
  "@prisma/client": "^7.5.0",
56
56
  "@scalar/fastify-api-reference": "^1.48.7",