@proteinjs/db-ui 1.5.16 → 1.5.18

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.5.18](https://github.com/proteinjs/db/compare/@proteinjs/db-ui@1.5.17...@proteinjs/db-ui@1.5.18) (2026-03-06)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * `RecordTable` should gracefully handle reference columns that for some reason don't identify as `ReferenceColumn` via `isInstanceOf`. ([83be615](https://github.com/proteinjs/db/commit/83be61590f63e71a49efe452cef4f6a9ec66f945))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [1.5.16](https://github.com/proteinjs/db/compare/@proteinjs/db-ui@1.5.15...@proteinjs/db-ui@1.5.16) (2026-02-12)
7
18
 
8
19
  **Note:** Version bump only for package @proteinjs/db-ui
@@ -1 +1 @@
1
- {"version":3,"file":"RecordForm.d.ts","sourceRoot":"","sources":["../../../src/form/RecordForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAuD,MAAM,eAAe,CAAC;AAKnG,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;IAC9C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,CAAC,EAAE,CAAC,CAAC;CACZ,CAAC;AAEF,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC,qBA6LjF"}
1
+ {"version":3,"file":"RecordForm.d.ts","sourceRoot":"","sources":["../../../src/form/RecordForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EACL,KAAK,EACL,MAAM,EASP,MAAM,eAAe,CAAC;AAKvB,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;IAC9C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,CAAC,EAAE,CAAC,CAAC;CACZ,CAAC;AA4DF,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC,qBAoOjF"}
@@ -49,11 +49,57 @@ var db_1 = require("@proteinjs/db");
49
49
  var RecordTablePage_1 = require("../pages/RecordTablePage");
50
50
  var RecordFormPage_1 = require("../pages/RecordFormPage");
51
51
  var RecordFormCustomization_1 = require("./RecordFormCustomization");
52
+ function isObject(value) {
53
+ return typeof value === 'object' && value !== null;
54
+ }
55
+ function isReferenceValue(value) {
56
+ return (isObject(value) &&
57
+ typeof value['_table'] === 'string' &&
58
+ (typeof value['_id'] === 'string' || value['_id'] === null));
59
+ }
60
+ function isReferenceArrayValue(value) {
61
+ return isObject(value) && typeof value['_table'] === 'string' && Array.isArray(value['_ids']);
62
+ }
63
+ function parseReferenceId(value) {
64
+ if (typeof value !== 'string') {
65
+ return null;
66
+ }
67
+ var id = value.trim();
68
+ return id ? id : null;
69
+ }
70
+ function parseReferenceIds(value) {
71
+ if (typeof value !== 'string') {
72
+ return [];
73
+ }
74
+ return value
75
+ .split(',')
76
+ .map(function (id) { return id.trim(); })
77
+ .filter(Boolean);
78
+ }
79
+ function parseBooleanValue(value) {
80
+ if (typeof value === 'boolean') {
81
+ return value;
82
+ }
83
+ if (typeof value !== 'string') {
84
+ return null;
85
+ }
86
+ var normalized = value.trim().toLowerCase();
87
+ if (normalized === 'true') {
88
+ return true;
89
+ }
90
+ if (normalized === 'false') {
91
+ return false;
92
+ }
93
+ return null;
94
+ }
52
95
  function RecordForm(_a) {
53
96
  var table = _a.table, record = _a.record;
54
97
  var isNewRecord = typeof record === 'undefined';
55
98
  var recordFormCustomization = (0, RecordFormCustomization_1.getRecordFormCustomization)(table.name);
56
99
  return (react_1.default.createElement(ui_1.Form, { name: (0, string_1.default)(table.name).humanize().s, createFields: createFields(), fieldLayout: fieldLayout(), buttons: (recordFormCustomization === null || recordFormCustomization === void 0 ? void 0 : recordFormCustomization.getFormButtons) ? recordFormCustomization.getFormButtons(record, buttons()) : buttons(), onLoad: onLoad, onLoadProgressMessage: "Loading ".concat((0, string_1.default)(table.name).humanize().s) }));
100
+ function getColumn(columnPropertyName) {
101
+ return table.columns[columnPropertyName];
102
+ }
57
103
  function getColumns() {
58
104
  var _a, _b;
59
105
  var columns = {};
@@ -62,7 +108,7 @@ function RecordForm(_a) {
62
108
  columns['name'] = nameColumn;
63
109
  }
64
110
  for (var columnPropertyName in table.columns) {
65
- var column = table.columns[columnPropertyName];
111
+ var column = getColumn(columnPropertyName);
66
112
  if (columnPropertyName == 'name' || columnPropertyName == 'created' || columnPropertyName == 'updated') {
67
113
  continue;
68
114
  }
@@ -72,8 +118,8 @@ function RecordForm(_a) {
72
118
  columns[columnPropertyName] = column;
73
119
  }
74
120
  if (!isNewRecord) {
75
- columns['created'] = table.columns['created'];
76
- columns['updated'] = table.columns['updated'];
121
+ columns['created'] = getColumn('created');
122
+ columns['updated'] = getColumn('updated');
77
123
  }
78
124
  return columns;
79
125
  }
@@ -104,6 +150,28 @@ function RecordForm(_a) {
104
150
  }
105
151
  return Object.keys(columns);
106
152
  }
153
+ function getFieldValue(columnPropertyName, fieldValue) {
154
+ var column = getColumn(columnPropertyName);
155
+ var currentValue = record ? record[columnPropertyName] : undefined;
156
+ if (isReferenceValue(currentValue)) {
157
+ var id = parseReferenceId(fieldValue);
158
+ return id ? new db_1.Reference(currentValue._table, id) : null;
159
+ }
160
+ if (isReferenceArrayValue(currentValue)) {
161
+ return new db_1.ReferenceArray(currentValue._table, parseReferenceIds(fieldValue));
162
+ }
163
+ if ((0, util_1.isInstanceOf)(column, db_1.ReferenceColumn)) {
164
+ var id = parseReferenceId(fieldValue);
165
+ return id ? new db_1.Reference(column.referenceTable, id) : null;
166
+ }
167
+ if ((0, util_1.isInstanceOf)(column, db_1.ReferenceArrayColumn)) {
168
+ return new db_1.ReferenceArray(column.referenceTable, parseReferenceIds(fieldValue));
169
+ }
170
+ if ((0, util_1.isInstanceOf)(column, db_1.BooleanColumn)) {
171
+ return parseBooleanValue(fieldValue);
172
+ }
173
+ return fieldValue;
174
+ }
107
175
  function buttons() {
108
176
  var _this = this;
109
177
  var newRecord;
@@ -159,7 +227,7 @@ function RecordForm(_a) {
159
227
  }
160
228
  for (columnPropertyName in fields) {
161
229
  field = fields[columnPropertyName];
162
- record[columnPropertyName] = field.field.value;
230
+ record[columnPropertyName] = getFieldValue(columnPropertyName, field.field.value);
163
231
  }
164
232
  return [4 /*yield*/, (0, db_1.getDbService)().update(table, record)];
165
233
  case 1:
@@ -194,7 +262,7 @@ function RecordForm(_a) {
194
262
  record = {};
195
263
  for (columnPropertyName in fields) {
196
264
  field = fields[columnPropertyName];
197
- record[columnPropertyName] = field.field.value;
265
+ record[columnPropertyName] = getFieldValue(columnPropertyName, field.field.value);
198
266
  }
199
267
  return [4 /*yield*/, (0, db_1.getDbService)().insert(table, record)];
200
268
  case 1:
@@ -217,12 +285,18 @@ function RecordForm(_a) {
217
285
  return [2 /*return*/];
218
286
  }
219
287
  for (columnPropertyName in fields) {
220
- column = table.columns[columnPropertyName];
288
+ column = getColumn(columnPropertyName);
221
289
  field = fields[columnPropertyName].field;
222
290
  fieldValue = record[columnPropertyName];
223
291
  if (moment_1.default.isMoment(fieldValue)) {
224
292
  fieldValue = fieldValue.format('ddd, MMM Do YY, h:mm:ss a');
225
293
  }
294
+ else if (isReferenceValue(fieldValue)) {
295
+ fieldValue = fieldValue._id || '';
296
+ }
297
+ else if (isReferenceArrayValue(fieldValue)) {
298
+ fieldValue = fieldValue._ids.join(', ');
299
+ }
226
300
  else if ((0, util_1.isInstanceOf)(column, db_1.BooleanColumn)) {
227
301
  fieldValue = fieldValue == true ? 'True' : 'False';
228
302
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RecordForm.js","sourceRoot":"","sources":["../../../src/form/RecordForm.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecordForm.js","sourceRoot":"","sources":["../../../src/form/RecordForm.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecordTable.d.ts","sourceRoot":"","sources":["../../../src/table/RecordTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAwD,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9G,OAAO,EAA+B,MAAM,EAAE,KAAK,EAAS,MAAM,eAAe,CAAC;AAkBlF,KAAK,gBAAgB,GAAG,aAAa,GAAG,SAAS,CAAC;AAClD,KAAK,kBAAkB,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAEnE,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC/C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAkC1B,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,qBAoHvE"}
1
+ {"version":3,"file":"RecordTable.d.ts","sourceRoot":"","sources":["../../../src/table/RecordTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAwD,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9G,OAAO,EAGL,MAAM,EAGN,KAAK,EAEN,MAAM,eAAe,CAAC;AAkBvB,KAAK,gBAAgB,GAAG,aAAa,GAAG,SAAS,CAAC;AAClD,KAAK,kBAAkB,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAEnE,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC/C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAkC1B,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,qBAyIvE"}
@@ -145,13 +145,32 @@ function RecordTable(props) {
145
145
  }
146
146
  function getDefaultRenderer(column) {
147
147
  return function (value) {
148
+ var _a, _b;
149
+ console.log((_a = column.constructor) === null || _a === void 0 ? void 0 : _a.name, (0, util_1.isInstanceOf)(column, db_1.ReferenceColumn), (0, util_1.isInstanceOf)(column, db_1.ReferenceArrayColumn), (0, util_1.isInstanceOf)(column, db_2.ObjectColumn), (0, util_1.isInstanceOf)(column, db_2.StringColumn));
150
+ if ((0, util_1.isInstanceOf)(column, db_1.ReferenceColumn)) {
151
+ return (value === null || value === void 0 ? void 0 : value._id) || '';
152
+ }
153
+ if ((0, util_1.isInstanceOf)(column, db_1.ReferenceArrayColumn)) {
154
+ return ((_b = value === null || value === void 0 ? void 0 : value._ids) === null || _b === void 0 ? void 0 : _b.join(', ')) || '';
155
+ }
156
+ if (value && typeof value === 'object') {
157
+ if ('_id' in value && typeof value._id === 'string') {
158
+ return value._id;
159
+ }
160
+ if ('_ids' in value && Array.isArray(value._ids)) {
161
+ return value._ids.join(', ');
162
+ }
163
+ }
164
+ if ((0, util_1.isInstanceOf)(column, db_2.ObjectColumn) || (0, util_1.isInstanceOf)(column, db_2.ArrayColumn)) {
165
+ return JSON.stringify(value);
166
+ }
148
167
  if ((0, util_1.isInstanceOf)(column, db_2.IntegerColumn) ||
149
168
  (0, util_1.isInstanceOf)(column, db_2.FloatColumn) ||
150
169
  (0, util_1.isInstanceOf)(column, db_2.DecimalColumn)) {
151
170
  return value != null ? value.toString() : '';
152
171
  }
153
172
  if ((0, util_1.isInstanceOf)(column, db_2.StringColumn)) {
154
- return value || '';
173
+ return value != null ? String(value) : '';
155
174
  }
156
175
  if ((0, util_1.isInstanceOf)(column, db_2.BooleanColumn)) {
157
176
  return value ? '✅' : '❌';
@@ -162,9 +181,6 @@ function RecordTable(props) {
162
181
  if ((0, util_1.isInstanceOf)(column, db_2.DateTimeColumn)) {
163
182
  return value ? (0, moment_1.default)(value).format('YYYY-MM-DD HH:mm:ss') : '';
164
183
  }
165
- if ((0, util_1.isInstanceOf)(column, db_2.ObjectColumn) || (0, util_1.isInstanceOf)(column, db_2.ArrayColumn)) {
166
- return JSON.stringify(value);
167
- }
168
184
  return value != null ? value.toString() : '';
169
185
  };
170
186
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RecordTable.js","sourceRoot":"","sources":["../../../src/table/RecordTable.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,sDAAkD;AAClD,kDAAuB;AACvB,oCAA8G;AAC9G,oCAAkF;AAClF,uDAAsD;AACtD,0DAA4E;AAC5E,4DAA2D;AAC3D,wCAA+C;AAC/C,oCAUuB;AACvB,kDAA4B;AAY5B,SAAS,YAAY,CAAmB,KAAe;IAAvD,iBAgBC;IAfC,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,uBAAM;QACZ,UAAU,EAAE;YACV,oBAAoB,EAAE,IAAI;YAC1B,sBAAsB,EAAE,KAAK;SAC9B;QACD,OAAO,EAAE,UAAO,YAAY,EAAE,QAAQ;;;;;wBAC9B,EAAE,GAAG,IAAI,wBAAmB,EAAE;6BACjC,eAAe,CAAC,KAAK,CAAC;6BACtB,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,EAAE,EAAN,CAAM,CAAiB,EAAE,CAAC,CAAC;wBACxG,qBAAM,IAAA,UAAK,GAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,EAAA;;wBAA/B,SAA+B,CAAC;wBAChC,QAAQ,CAAC,IAAA,iCAAe,EAAC,KAAK,CAAC,CAAC,CAAC;;;;aAClC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAmB,KAAe;IAAvD,iBAYC;IAXC,OAAO;QACL,IAAI,EAAE,iBAAU,IAAA,gBAAC,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAE;QAC5C,IAAI,EAAE,oBAAG;QACT,UAAU,EAAE;YACV,oBAAoB,EAAE,KAAK;YAC3B,sBAAsB,EAAE,IAAI;SAC7B;QACD,OAAO,EAAE,UAAO,YAAY,EAAE,QAAQ;;gBACpC,QAAQ,CAAC,IAAA,kCAAiB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;;;aACzC;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW,CAAmB,KAA0B;IACtE,IAAW,WAAW,UAAK,KAAK,EAA1B,EAAkB,CAAQ,CAAC;IACjC,SAAS,cAAc;;QACrB,IAAM,gBAAgB,GAAgB,EAAE,CAAC;QACzC,IAAK,KAAK,CAAC,KAAK,CAAC,OAAe,CAAC,MAAM,CAAC,EAAE;YACxC,gBAAgB,CAAC,IAAI,CAAC,MAAiB,CAAC,CAAC;SAC1C;QAED,KAA6B,UAAgC,EAAhC,KAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAhC,cAAgC,EAAhC,IAAgC,EAAE;YAA1D,IAAM,cAAc,SAAA;YACvB,IAAI,gBAAgB,CAAC,MAAM,IAAI,CAAC,EAAE;gBAChC,MAAM;aACP;YAED,IAAI,cAAc,IAAI,MAAM,IAAI,cAAc,IAAI,SAAS,IAAI,cAAc,IAAI,SAAS,EAAE;gBAC1F,SAAS;aACV;YAED,IAAM,MAAM,GAAoB,KAAK,CAAC,KAAK,CAAC,OAAe,CAAC,cAAc,CAAC,CAAC;YAC5E,IAAI,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,EAAE,0CAAE,MAAM,EAAE;gBAC9B,SAAS;aACV;YAED,gBAAgB,CAAC,IAAI,CAAC,cAAyB,CAAC,CAAC;SAClD;QAED,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEjC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,SAAS,kBAAkB,CAAC,MAAwB;QAClD,OAAO,UAAC,KAAU;YAChB,IACE,IAAA,mBAAY,EAAC,MAAM,EAAE,kBAAa,CAAC;gBACnC,IAAA,mBAAY,EAAC,MAAM,EAAE,gBAAW,CAAC;gBACjC,IAAA,mBAAY,EAAC,MAAM,EAAE,kBAAa,CAAC,EACnC;gBACA,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9C;YACD,IAAI,IAAA,mBAAY,EAAC,MAAM,EAAE,iBAAY,CAAC,EAAE;gBACtC,OAAO,KAAK,IAAI,EAAE,CAAC;aACpB;YACD,IAAI,IAAA,mBAAY,EAAC,MAAM,EAAE,kBAAa,CAAC,EAAE;gBACvC,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;aAC1B;YACD,IAAI,IAAA,mBAAY,EAAC,MAAM,EAAE,eAAU,CAAC,EAAE;gBACpC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,gBAAM,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD;YACD,IAAI,IAAA,mBAAY,EAAC,MAAM,EAAE,mBAAc,CAAC,EAAE;gBACxC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,gBAAM,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACjE;YACD,IAAI,IAAA,mBAAY,EAAC,MAAM,EAAE,iBAAY,CAAC,IAAI,IAAA,mBAAY,EAAC,MAAM,EAAE,gBAAW,CAAC,EAAE;gBAC3E,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aAC9B;YACD,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,kBAAkB;QACzB,IAAM,aAAa,GAAkC,EAAE,CAAC;QACxD,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,cAAc,EAAE,CAAC;QAElD,KAAyB,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE;YAA7B,IAAM,UAAU,gBAAA;YACnB,IAAM,MAAM,GAAI,KAAK,CAAC,KAAK,CAAC,OAAe,CAAC,UAAU,CAAC,CAAC;YACxD,aAAa,CAAC,UAAU,CAAC,GAAG;gBAC1B,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC;aACrC,CAAC;SACH;QAED,2CAA2C;QAC3C,IAAI,KAAK,CAAC,YAAY,EAAE;YACtB,KAAK,IAAM,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE;gBAC3C,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE;oBAC7B,aAAa,CAAC,UAAU,CAAC,yBACpB,aAAa,CAAC,UAAU,CAAC,GACzB,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAClC,CAAC;iBACH;aACF;SACF;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,SAAS,kBAAkB;QACzB,OAAO,IAAI,mCAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,SAAe,4BAA4B,CAAC,GAAM;;;gBAChD,sBAAO,IAAA,+BAAc,EAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,EAAC;;;KACjD;IAED,SAAS,OAAO;QACd,IAAI,KAAK,CAAC,WAAW,EAAE;YACrB,OAAO,EAAE,CAAC;SACX;QAED,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,OAAO,KAAK,CAAC,OAAO,CAAC;SACtB;QAED,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,CACL,8BAAC,UAAc,aACb,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAG,IAAA,gBAAC,EAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAQ,EACvF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,EACzD,YAAY,EAAE,kBAAkB,EAAE,EAClC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,EAAE,EACzE,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,4BAA4B,EAC9E,OAAO,EAAE,OAAO,EAAE,IACd,WAAW,EACf,CACH,CAAC;AACJ,CAAC;AApHD,kCAoHC"}
1
+ {"version":3,"file":"RecordTable.js","sourceRoot":"","sources":["../../../src/table/RecordTable.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proteinjs/db-ui",
3
- "version": "1.5.16",
3
+ "version": "1.5.18",
4
4
  "description": "Db ui components",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -25,17 +25,17 @@
25
25
  "@emotion/styled": "11.11.0",
26
26
  "@mui/icons-material": "5.14.11",
27
27
  "@mui/material": "5.14.11",
28
- "@proteinjs/db": "^1.21.0",
28
+ "@proteinjs/db": "^1.21.2",
29
29
  "@proteinjs/reflection": "1.1.10",
30
- "@proteinjs/ui": "4.2.4",
31
- "@proteinjs/util": "1.5.0",
30
+ "@proteinjs/ui": "4.3.1",
31
+ "@proteinjs/util": "1.6.0",
32
32
  "moment": "2.29.4",
33
33
  "react": "18.2.0",
34
34
  "string": "3.3.3",
35
35
  "uuid": "8.3.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@proteinjs/reflection-build": "1.4.1",
38
+ "@proteinjs/reflection-build": "1.4.2",
39
39
  "@types/jest": "29.5.5",
40
40
  "@types/node": "14.0.27",
41
41
  "@types/react": "18.2.23",
@@ -52,5 +52,5 @@
52
52
  },
53
53
  "main": "./dist/generated/index.js",
54
54
  "types": "./dist/generated/index.d.ts",
55
- "gitHead": "2d67b92555164eba79071c3380662ee34a62de52"
55
+ "gitHead": "bc9b351bda25b17783596a3dde363e86dae02f92"
56
56
  }
@@ -3,7 +3,18 @@ import S from 'string';
3
3
  import moment from 'moment';
4
4
  import { StringUtil, isInstanceOf } from '@proteinjs/util';
5
5
  import { Form, Fields, textField, FormButtons } from '@proteinjs/ui';
6
- import { Table, Record, Column, getDbService, DateTimeColumn, BooleanColumn } from '@proteinjs/db';
6
+ import {
7
+ Table,
8
+ Record,
9
+ Column,
10
+ getDbService,
11
+ DateTimeColumn,
12
+ BooleanColumn,
13
+ Reference,
14
+ ReferenceArray,
15
+ ReferenceColumn,
16
+ ReferenceArrayColumn,
17
+ } from '@proteinjs/db';
7
18
  import { recordTableLink } from '../pages/RecordTablePage';
8
19
  import { recordFormLink } from '../pages/RecordFormPage';
9
20
  import { getRecordFormCustomization } from './RecordFormCustomization';
@@ -13,9 +24,68 @@ export type RecordFormProps<T extends Record> = {
13
24
  record?: T;
14
25
  };
15
26
 
27
+ type PlainObject = { [key: string]: unknown };
28
+
29
+ function isObject(value: unknown): value is PlainObject {
30
+ return typeof value === 'object' && value !== null;
31
+ }
32
+
33
+ function isReferenceValue(value: unknown): value is { _table: string; _id: string | null } {
34
+ return (
35
+ isObject(value) &&
36
+ typeof value['_table'] === 'string' &&
37
+ (typeof value['_id'] === 'string' || value['_id'] === null)
38
+ );
39
+ }
40
+
41
+ function isReferenceArrayValue(value: unknown): value is { _table: string; _ids: string[] } {
42
+ return isObject(value) && typeof value['_table'] === 'string' && Array.isArray(value['_ids']);
43
+ }
44
+
45
+ function parseReferenceId(value: unknown): string | null {
46
+ if (typeof value !== 'string') {
47
+ return null;
48
+ }
49
+
50
+ const id = value.trim();
51
+ return id ? id : null;
52
+ }
53
+
54
+ function parseReferenceIds(value: unknown): string[] {
55
+ if (typeof value !== 'string') {
56
+ return [];
57
+ }
58
+
59
+ return value
60
+ .split(',')
61
+ .map((id) => id.trim())
62
+ .filter(Boolean);
63
+ }
64
+
65
+ function parseBooleanValue(value: unknown): boolean | null {
66
+ if (typeof value === 'boolean') {
67
+ return value;
68
+ }
69
+
70
+ if (typeof value !== 'string') {
71
+ return null;
72
+ }
73
+
74
+ const normalized = value.trim().toLowerCase();
75
+ if (normalized === 'true') {
76
+ return true;
77
+ }
78
+ if (normalized === 'false') {
79
+ return false;
80
+ }
81
+
82
+ return null;
83
+ }
84
+
16
85
  export function RecordForm<T extends Record>({ table, record }: RecordFormProps<T>) {
17
86
  const isNewRecord = typeof record === 'undefined';
18
87
  const recordFormCustomization = getRecordFormCustomization(table.name);
88
+
19
89
  return (
20
90
  <Form
21
91
  name={S(table.name).humanize().s}
@@ -29,6 +99,10 @@ export function RecordForm<T extends Record>({ table, record }: RecordFormProps<
29
99
  />
30
100
  );
31
101
 
102
+ function getColumn(columnPropertyName: string) {
103
+ return (table.columns as any)[columnPropertyName] as Column<T, any>;
104
+ }
105
+
32
106
  function getColumns() {
33
107
  const columns: { [columnPropertyName: string]: Column<T, any> } = {};
34
108
  const nameColumn = (table.columns as any)['name'] as Column<T, any>;
@@ -37,7 +111,7 @@ export function RecordForm<T extends Record>({ table, record }: RecordFormProps<
37
111
  }
38
112
 
39
113
  for (const columnPropertyName in table.columns) {
40
- const column = (table.columns as any)[columnPropertyName] as Column<T, any>;
114
+ const column = getColumn(columnPropertyName);
41
115
  if (columnPropertyName == 'name' || columnPropertyName == 'created' || columnPropertyName == 'updated') {
42
116
  continue;
43
117
  }
@@ -50,8 +124,8 @@ export function RecordForm<T extends Record>({ table, record }: RecordFormProps<
50
124
  }
51
125
 
52
126
  if (!isNewRecord) {
53
- columns['created'] = (table.columns as any)['created'] as Column<T, any>;
54
- columns['updated'] = (table.columns as any)['updated'] as Column<T, any>;
127
+ columns['created'] = getColumn('created');
128
+ columns['updated'] = getColumn('updated');
55
129
  }
56
130
 
57
131
  return columns;
@@ -90,6 +164,35 @@ export function RecordForm<T extends Record>({ table, record }: RecordFormProps<
90
164
  return Object.keys(columns) as (keyof T)[];
91
165
  }
92
166
 
167
+ function getFieldValue(columnPropertyName: string, fieldValue: unknown) {
168
+ const column = getColumn(columnPropertyName);
169
+ const currentValue = record ? (record as any)[columnPropertyName] : undefined;
170
+
171
+ if (isReferenceValue(currentValue)) {
172
+ const id = parseReferenceId(fieldValue);
173
+ return id ? new Reference(currentValue._table, id) : null;
174
+ }
175
+
176
+ if (isReferenceArrayValue(currentValue)) {
177
+ return new ReferenceArray(currentValue._table, parseReferenceIds(fieldValue));
178
+ }
179
+
180
+ if (isInstanceOf(column, ReferenceColumn)) {
181
+ const id = parseReferenceId(fieldValue);
182
+ return id ? new Reference(column.referenceTable, id) : null;
183
+ }
184
+
185
+ if (isInstanceOf(column, ReferenceArrayColumn)) {
186
+ return new ReferenceArray(column.referenceTable, parseReferenceIds(fieldValue));
187
+ }
188
+
189
+ if (isInstanceOf(column, BooleanColumn)) {
190
+ return parseBooleanValue(fieldValue);
191
+ }
192
+
193
+ return fieldValue;
194
+ }
195
+
93
196
  function buttons(): FormButtons<any> {
94
197
  let newRecord: T;
95
198
  return {
@@ -133,7 +236,7 @@ export function RecordForm<T extends Record>({ table, record }: RecordFormProps<
133
236
 
134
237
  for (const columnPropertyName in fields) {
135
238
  const field = fields[columnPropertyName];
136
- (record as any)[columnPropertyName] = field.field.value;
239
+ (record as any)[columnPropertyName] = getFieldValue(columnPropertyName, field.field.value);
137
240
  }
138
241
 
139
242
  await getDbService().update(table, record);
@@ -159,7 +262,7 @@ export function RecordForm<T extends Record>({ table, record }: RecordFormProps<
159
262
  const record: any = {};
160
263
  for (const columnPropertyName in fields) {
161
264
  const field = fields[columnPropertyName];
162
- (record as any)[columnPropertyName] = field.field.value;
265
+ record[columnPropertyName] = getFieldValue(columnPropertyName, field.field.value);
163
266
  }
164
267
 
165
268
  newRecord = await getDbService().insert(table, record);
@@ -178,11 +281,16 @@ export function RecordForm<T extends Record>({ table, record }: RecordFormProps<
178
281
  }
179
282
 
180
283
  for (const columnPropertyName in fields) {
181
- const column = (table.columns as any)[columnPropertyName] as Column<any, any>;
284
+ const column = getColumn(columnPropertyName);
182
285
  const field = fields[columnPropertyName].field;
183
286
  let fieldValue = (record as any)[columnPropertyName];
287
+
184
288
  if (moment.isMoment(fieldValue)) {
185
289
  fieldValue = fieldValue.format('ddd, MMM Do YY, h:mm:ss a');
290
+ } else if (isReferenceValue(fieldValue)) {
291
+ fieldValue = fieldValue._id || '';
292
+ } else if (isReferenceArrayValue(fieldValue)) {
293
+ fieldValue = fieldValue._ids.join(', ');
186
294
  } else if (isInstanceOf(column, BooleanColumn)) {
187
295
  fieldValue = fieldValue == true ? 'True' : 'False';
188
296
  }
@@ -2,7 +2,15 @@ import React from 'react';
2
2
  import { Delete, Add } from '@mui/icons-material';
3
3
  import S from 'string';
4
4
  import { CustomRenderer, TableButton, Table as TableComponent, TableLoader, TableProps } from '@proteinjs/ui';
5
- import { Column, QueryBuilderFactory, Record, Table, getDb } from '@proteinjs/db';
5
+ import {
6
+ Column,
7
+ QueryBuilderFactory,
8
+ Record,
9
+ ReferenceArrayColumn,
10
+ ReferenceColumn,
11
+ Table,
12
+ getDb,
13
+ } from '@proteinjs/db';
6
14
  import { QueryTableLoader } from './QueryTableLoader';
7
15
  import { newRecordFormLink, recordFormLink } from '../pages/RecordFormPage';
8
16
  import { recordTableLink } from '../pages/RecordTablePage';
@@ -95,6 +103,30 @@ export function RecordTable<T extends Record>(props: RecordTableProps<T>) {
95
103
 
96
104
  function getDefaultRenderer(column: Column<any, any>): CustomRenderer<T, any> {
97
105
  return (value: any) => {
106
+ console.log(
107
+ column.constructor?.name,
108
+ isInstanceOf(column, ReferenceColumn),
109
+ isInstanceOf(column, ReferenceArrayColumn),
110
+ isInstanceOf(column, ObjectColumn),
111
+ isInstanceOf(column, StringColumn)
112
+ );
113
+ if (isInstanceOf(column, ReferenceColumn)) {
114
+ return value?._id || '';
115
+ }
116
+ if (isInstanceOf(column, ReferenceArrayColumn)) {
117
+ return value?._ids?.join(', ') || '';
118
+ }
119
+ if (value && typeof value === 'object') {
120
+ if ('_id' in value && typeof value._id === 'string') {
121
+ return value._id;
122
+ }
123
+ if ('_ids' in value && Array.isArray(value._ids)) {
124
+ return value._ids.join(', ');
125
+ }
126
+ }
127
+ if (isInstanceOf(column, ObjectColumn) || isInstanceOf(column, ArrayColumn)) {
128
+ return JSON.stringify(value);
129
+ }
98
130
  if (
99
131
  isInstanceOf(column, IntegerColumn) ||
100
132
  isInstanceOf(column, FloatColumn) ||
@@ -103,7 +135,7 @@ export function RecordTable<T extends Record>(props: RecordTableProps<T>) {
103
135
  return value != null ? value.toString() : '';
104
136
  }
105
137
  if (isInstanceOf(column, StringColumn)) {
106
- return value || '';
138
+ return value != null ? String(value) : '';
107
139
  }
108
140
  if (isInstanceOf(column, BooleanColumn)) {
109
141
  return value ? '✅' : '❌';
@@ -114,9 +146,6 @@ export function RecordTable<T extends Record>(props: RecordTableProps<T>) {
114
146
  if (isInstanceOf(column, DateTimeColumn)) {
115
147
  return value ? moment(value).format('YYYY-MM-DD HH:mm:ss') : '';
116
148
  }
117
- if (isInstanceOf(column, ObjectColumn) || isInstanceOf(column, ArrayColumn)) {
118
- return JSON.stringify(value);
119
- }
120
149
  return value != null ? value.toString() : '';
121
150
  };
122
151
  }