@fieldia/core 0.25.0 → 0.26.0

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.
Files changed (115) hide show
  1. package/README.md +58 -2
  2. package/package.json +1 -1
  3. package/schema/page.schema.json +86 -3
  4. package/src/index.d.mts +1 -0
  5. package/src/index.d.ts +1 -0
  6. package/src/index.js +3 -1
  7. package/src/index.js.map +1 -1
  8. package/src/index.mjs +1 -0
  9. package/src/index.mjs.map +1 -1
  10. package/src/lib/format/head-checks.d.mts +3 -1
  11. package/src/lib/format/head-checks.d.ts +3 -1
  12. package/src/lib/format/head-checks.js +25 -4
  13. package/src/lib/format/head-checks.js.map +1 -1
  14. package/src/lib/format/head-checks.mjs +24 -4
  15. package/src/lib/format/head-checks.mjs.map +1 -1
  16. package/src/lib/format/layout.d.mts +208 -12
  17. package/src/lib/format/layout.d.ts +208 -12
  18. package/src/lib/format/layout.js +11 -6
  19. package/src/lib/format/layout.js.map +1 -1
  20. package/src/lib/format/layout.mjs +11 -6
  21. package/src/lib/format/layout.mjs.map +1 -1
  22. package/src/lib/format/page.d.mts +69 -3
  23. package/src/lib/format/page.d.ts +69 -3
  24. package/src/lib/format/page.js +3 -0
  25. package/src/lib/format/page.js.map +1 -1
  26. package/src/lib/format/page.mjs +3 -0
  27. package/src/lib/format/page.mjs.map +1 -1
  28. package/src/lib/format/records.d.mts +23 -0
  29. package/src/lib/format/records.d.ts +23 -0
  30. package/src/lib/format/records.js +28 -0
  31. package/src/lib/format/records.js.map +1 -0
  32. package/src/lib/format/records.mjs +25 -0
  33. package/src/lib/format/records.mjs.map +1 -0
  34. package/src/lib/format/references.d.mts +2 -0
  35. package/src/lib/format/references.d.ts +2 -0
  36. package/src/lib/format/references.js +13 -0
  37. package/src/lib/format/references.js.map +1 -1
  38. package/src/lib/format/references.mjs +13 -0
  39. package/src/lib/format/references.mjs.map +1 -1
  40. package/src/lib/format/translate.js +5 -3
  41. package/src/lib/format/translate.js.map +1 -1
  42. package/src/lib/format/translate.mjs +5 -3
  43. package/src/lib/format/translate.mjs.map +1 -1
  44. package/src/lib/format/upgrade.d.mts +6 -3
  45. package/src/lib/format/upgrade.d.ts +6 -3
  46. package/src/lib/format/upgrade.js +6 -3
  47. package/src/lib/format/upgrade.js.map +1 -1
  48. package/src/lib/format/upgrade.mjs +6 -3
  49. package/src/lib/format/upgrade.mjs.map +1 -1
  50. package/src/lib/format/version.d.mts +2 -2
  51. package/src/lib/format/version.d.ts +2 -2
  52. package/src/lib/format/version.js +2 -2
  53. package/src/lib/format/version.js.map +1 -1
  54. package/src/lib/format/version.mjs +2 -2
  55. package/src/lib/format/version.mjs.map +1 -1
  56. package/src/lib/record/check.js +2 -2
  57. package/src/lib/record/check.js.map +1 -1
  58. package/src/lib/record/check.mjs +3 -3
  59. package/src/lib/record/check.mjs.map +1 -1
  60. package/src/lib/record/form.d.mts +6 -2
  61. package/src/lib/record/form.d.ts +6 -2
  62. package/src/lib/record/form.js +25 -17
  63. package/src/lib/record/form.js.map +1 -1
  64. package/src/lib/record/form.mjs +26 -18
  65. package/src/lib/record/form.mjs.map +1 -1
  66. package/src/lib/record/inputs.js +8 -8
  67. package/src/lib/record/inputs.js.map +1 -1
  68. package/src/lib/record/inputs.mjs +9 -9
  69. package/src/lib/record/inputs.mjs.map +1 -1
  70. package/src/lib/record/limits.js +1 -1
  71. package/src/lib/record/limits.js.map +1 -1
  72. package/src/lib/record/limits.mjs +2 -2
  73. package/src/lib/record/limits.mjs.map +1 -1
  74. package/src/lib/record/locales/de.js +2 -0
  75. package/src/lib/record/locales/de.js.map +1 -1
  76. package/src/lib/record/locales/de.mjs +2 -0
  77. package/src/lib/record/locales/de.mjs.map +1 -1
  78. package/src/lib/record/memory-data-source.js +24 -1
  79. package/src/lib/record/memory-data-source.js.map +1 -1
  80. package/src/lib/record/memory-data-source.mjs +24 -1
  81. package/src/lib/record/memory-data-source.mjs.map +1 -1
  82. package/src/lib/record/messages.d.mts +24 -0
  83. package/src/lib/record/messages.d.ts +24 -0
  84. package/src/lib/record/messages.js +25 -0
  85. package/src/lib/record/messages.js.map +1 -1
  86. package/src/lib/record/messages.mjs +24 -0
  87. package/src/lib/record/messages.mjs.map +1 -1
  88. package/src/lib/record/record-words.d.mts +19 -0
  89. package/src/lib/record/record-words.d.ts +19 -0
  90. package/src/lib/record/record-words.js +60 -0
  91. package/src/lib/record/record-words.js.map +1 -0
  92. package/src/lib/record/record-words.mjs +56 -0
  93. package/src/lib/record/record-words.mjs.map +1 -0
  94. package/src/lib/record/rules.js +1 -1
  95. package/src/lib/record/rules.js.map +1 -1
  96. package/src/lib/record/rules.mjs +2 -2
  97. package/src/lib/record/rules.mjs.map +1 -1
  98. package/src/lib/record/run.d.mts +8 -0
  99. package/src/lib/record/run.d.ts +8 -0
  100. package/src/lib/record/run.js.map +1 -1
  101. package/src/lib/record/run.mjs.map +1 -1
  102. package/src/lib/record/search.js +2 -1
  103. package/src/lib/record/search.js.map +1 -1
  104. package/src/lib/record/search.mjs +2 -1
  105. package/src/lib/record/search.mjs.map +1 -1
  106. package/src/lib/record/structures.js +3 -3
  107. package/src/lib/record/structures.js.map +1 -1
  108. package/src/lib/record/structures.mjs +4 -4
  109. package/src/lib/record/structures.mjs.map +1 -1
  110. package/src/runtime.d.mts +4 -1
  111. package/src/runtime.d.ts +4 -1
  112. package/src/runtime.js +8 -3
  113. package/src/runtime.js.map +1 -1
  114. package/src/runtime.mjs +2 -0
  115. package/src/runtime.mjs.map +1 -1
package/README.md CHANGED
@@ -28,7 +28,7 @@ list of records — that your app implements;
28
28
  The page format is also a JSON Schema, for editors and other languages:
29
29
  `@fieldia/core/page.schema.json`.
30
30
 
31
- A page says which format it is written in (`"fieldia": "0.4"`, `FORMAT_VERSION`; a page in 0.1 or 0.2 is read as it is).
31
+ A page says which format it is written in (`"fieldia": "0.5"`, `FORMAT_VERSION`; a page in 0.1, 0.2, 0.3 or 0.4 is read as it is).
32
32
  One in an older format is brought up to date as it is read — by `checkPage`,
33
33
  `validatePage` and `createForm`, so by the viewer and the designer too — and
34
34
  `upgradePage` does it for the pages your app keeps. One newer than this Fieldia
@@ -254,6 +254,57 @@ import { alikeRecords, createMemoryDataSource } from '@fieldia/core';
254
254
  const dataSource = createMemoryDataSource({ records, duplicates: alikeRecords() });
255
255
  ```
256
256
 
257
+ ## What a page's records are called
258
+
259
+ A page may say what its records are, so Fieldia's own sentences name them as
260
+ the business does — "A customer with this phone already exists", "17 customers
261
+ imported", "Are you sure you want to delete this customer?", "New customer" —
262
+ where they said "record", or no noun at all:
263
+
264
+ ```json
265
+ { "records": { "one": "customer", "other": "customers", "a": "a customer" }, "lowerLabels": true }
266
+ ```
267
+
268
+ `one` and `other` are the words for one record and for more, as they stand
269
+ inside a sentence; a sentence that counts picks one of them as its language does
270
+ for the number. `a` is one with its article, where the language puts one before
271
+ it ("an invoice", "une facture"): Fieldia never guesses an article, so a
272
+ sentence that needs one says "A record …" until it is given.
273
+
274
+ The page's own `lowerLabels`, beside `records` (label casing is no part of what
275
+ records are called), writes a field's label with a small first letter wherever one of
276
+ Fieldia's sentences puts it after a word of it — the form's messages ("Choose at
277
+ least 2 for interests", "End date can’t be before start date"), a refused save's
278
+ "Not saved. Check: email", a value that waits ("Fix tax rate to see total"), a
279
+ help's, a lock's and a link's × names, a possible duplicate ("A customer with
280
+ this phone already exists"), a conflict ("They changed: phone."), a column's
281
+ grip, a filter's menu, a search's suggestion, a history's "changed status to …"
282
+ — while a label that begins its sentence keeps its capital: "Phone is
283
+ required", and a heading's place, "Status: nothing is called …" (an import's
284
+ refusals, an input's). Off unless said, since only the page knows whether that
285
+ is right: a label whose first word is a name ("IBAN", "VAT number", "WhatsApp",
286
+ "E-mail") stays as written, its first letter alone ever changes ("found in
287
+ Build"), and every label stays as written in a language that writes its nouns
288
+ with a capital (German) or has none (Arabic). One rule says it, `labelAt(template,
289
+ key, lower, locale)`; the form's messages carry the page's ask as
290
+ `messages.lowerLabels` (`fillMessage`). A page asks it with its records named or
291
+ not, a survey too. A line's own dialog says its labels as its record's page asks — a part
292
+ of the same record — unless the line's own page (`lineOpens: "record"`) says
293
+ otherwise; a list's Edit dialog as the list's page asks. Other languages come through the
294
+ page's `translations`, as its other words do (`"customer": "عميل"`), and
295
+ `pageWords` lists them for a translator.
296
+
297
+ The form's own sentences say them — what it asks before the gear menu's Archive
298
+ and Delete, why a person may not change, archive, copy or delete one, why a run
299
+ of steps stopped, what letting changes go asks — and the viewer's (a list's, a
300
+ record's, possible duplicates', a related list's in its model page's words: see
301
+ `@fieldia/viewer`). Each such sentence is a message of its own beside the plain
302
+ one (`deleteConfirmNoun`: "Are you sure you want to delete this {record}?",
303
+ with `{record}`, `{records}` and `{aRecord}`); `recordSentence(records, named,
304
+ plain, locale)` says one. A language, or an app's own `messages`, that has no
305
+ such sentence says its plain one: a page that names no records reads as before.
306
+ `checkPage` and `validatePage` refuse a word for one or for more left out.
307
+
257
308
  ## Two people, one record
258
309
 
259
310
  A source that keeps versions returns each record with its version, and what this
@@ -352,7 +403,12 @@ the data source's `list` for, as the source gets it: the link to the record
352
403
  shown, then its own filter with each `valueFrom` read from that record — or null
353
404
  before the record's first save. No new data source member: `list` answers it.
354
405
  The page check holds its columns, order, search and cells to its own `fields`,
355
- its link to a many2one of theirs to this model, and it to a record's page.
406
+ its link to a many2one of theirs to this model, and it to a record's page. A
407
+ tab holding one may count its records (`"count": { "related": "<its id>" }`,
408
+ `TabCount`); the check holds that id to a related list inside the tab, and
409
+ `relatedInTab(tab, id)` finds it there. `"open": "app"` sends its rows and New
410
+ the app's own way first (the viewer's `onOpen`), a dialog where it does not take
411
+ them.
356
412
 
357
413
  A list's Import makes records from a file's rows. `createMany({ model, records,
358
414
  fields })` makes many at once and answers each in order: `{ id }`, or `{ message,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fieldia/core",
3
- "version": "0.25.0",
3
+ "version": "0.26.0",
4
4
  "description": "Headless form model for Fieldia: the page format, modifiers, validation and record state. No DOM.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://fieldia.dev",
@@ -8,7 +8,8 @@
8
8
  "0.1",
9
9
  "0.2",
10
10
  "0.3",
11
- "0.4"
11
+ "0.4",
12
+ "0.5"
12
13
  ]
13
14
  },
14
15
  "id": {
@@ -366,6 +367,12 @@
366
367
  },
367
368
  "duplicates": {
368
369
  "$ref": "#/$defs/PageDuplicates"
370
+ },
371
+ "records": {
372
+ "$ref": "#/$defs/PageRecords"
373
+ },
374
+ "lowerLabels": {
375
+ "type": "boolean"
369
376
  }
370
377
  },
371
378
  "required": [
@@ -6296,6 +6303,9 @@
6296
6303
  "$ref": "#/$defs/ScreenWidth"
6297
6304
  }
6298
6305
  },
6306
+ "print": {
6307
+ "type": "boolean"
6308
+ },
6299
6309
  "readonly": {
6300
6310
  "$ref": "#/$defs/Modifier"
6301
6311
  },
@@ -6433,6 +6443,10 @@
6433
6443
  },
6434
6444
  "when": {
6435
6445
  "$ref": "#/$defs/Modifier"
6446
+ },
6447
+ "label": {
6448
+ "type": "string",
6449
+ "minLength": 1
6436
6450
  }
6437
6451
  },
6438
6452
  "required": [
@@ -7726,6 +7740,9 @@
7726
7740
  "$ref": "#/$defs/ScreenWidth"
7727
7741
  }
7728
7742
  },
7743
+ "print": {
7744
+ "type": "boolean"
7745
+ },
7729
7746
  "readonly": {
7730
7747
  "$ref": "#/$defs/Modifier"
7731
7748
  },
@@ -7845,6 +7862,9 @@
7845
7862
  "roles": {
7846
7863
  "$ref": "#/$defs/Roles"
7847
7864
  },
7865
+ "print": {
7866
+ "type": "boolean"
7867
+ },
7848
7868
  "children": {
7849
7869
  "type": "array",
7850
7870
  "items": {
@@ -7855,8 +7875,15 @@
7855
7875
  "type": "boolean"
7856
7876
  },
7857
7877
  "count": {
7858
- "type": "string",
7859
- "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
7878
+ "anyOf": [
7879
+ {
7880
+ "type": "string",
7881
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
7882
+ },
7883
+ {
7884
+ "$ref": "#/$defs/TabCount"
7885
+ }
7886
+ ]
7860
7887
  }
7861
7888
  },
7862
7889
  "required": [
@@ -7867,6 +7894,19 @@
7867
7894
  ],
7868
7895
  "additionalProperties": false
7869
7896
  },
7897
+ "TabCount": {
7898
+ "type": "object",
7899
+ "properties": {
7900
+ "related": {
7901
+ "type": "string",
7902
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
7903
+ }
7904
+ },
7905
+ "required": [
7906
+ "related"
7907
+ ],
7908
+ "additionalProperties": false
7909
+ },
7870
7910
  "MapNode": {
7871
7911
  "type": "object",
7872
7912
  "properties": {
@@ -8372,6 +8412,10 @@
8372
8412
  "rowBold": {
8373
8413
  "$ref": "#/$defs/Modifier"
8374
8414
  },
8415
+ "rowBoldLabel": {
8416
+ "type": "string",
8417
+ "minLength": 1
8418
+ },
8375
8419
  "rowButtons": {
8376
8420
  "minItems": 1,
8377
8421
  "type": "array",
@@ -8544,6 +8588,13 @@
8544
8588
  "create": {
8545
8589
  "type": "boolean"
8546
8590
  },
8591
+ "open": {
8592
+ "type": "string",
8593
+ "enum": [
8594
+ "dialog",
8595
+ "app"
8596
+ ]
8597
+ },
8547
8598
  "colspan": {
8548
8599
  "type": "integer",
8549
8600
  "minimum": 1,
@@ -8561,6 +8612,9 @@
8561
8612
  "items": {
8562
8613
  "$ref": "#/$defs/ScreenWidth"
8563
8614
  }
8615
+ },
8616
+ "print": {
8617
+ "type": "boolean"
8564
8618
  }
8565
8619
  },
8566
8620
  "required": [
@@ -9424,6 +9478,10 @@
9424
9478
  "rowBold": {
9425
9479
  "$ref": "#/$defs/Modifier"
9426
9480
  },
9481
+ "rowBoldLabel": {
9482
+ "type": "string",
9483
+ "minLength": 1
9484
+ },
9427
9485
  "rowButtons": {
9428
9486
  "minItems": 1,
9429
9487
  "type": "array",
@@ -9953,6 +10011,31 @@
9953
10011
  "fields"
9954
10012
  ],
9955
10013
  "additionalProperties": false
10014
+ },
10015
+ "PageRecords": {
10016
+ "type": "object",
10017
+ "properties": {
10018
+ "one": {
10019
+ "type": "string",
10020
+ "maxLength": 60,
10021
+ "pattern": "\\S"
10022
+ },
10023
+ "other": {
10024
+ "type": "string",
10025
+ "maxLength": 60,
10026
+ "pattern": "\\S"
10027
+ },
10028
+ "a": {
10029
+ "type": "string",
10030
+ "maxLength": 80,
10031
+ "pattern": "\\S"
10032
+ }
10033
+ },
10034
+ "required": [
10035
+ "one",
10036
+ "other"
10037
+ ],
10038
+ "additionalProperties": false
9956
10039
  }
9957
10040
  }
9958
10041
  }
package/src/index.d.mts CHANGED
@@ -11,6 +11,7 @@ export { PathPickerOptionsSchema, StateDotOptionsSchema } from './lib/format/pic
11
11
  export { PagePhoneSchema, PhoneOptionsSchema } from './lib/format/phone.mjs';
12
12
  export { SlotsOptionsSchema } from './lib/format/slots-options.mjs';
13
13
  export { PageDuplicatesSchema } from './lib/format/duplicates.mjs';
14
+ export { PageRecordsSchema } from './lib/format/records.mjs';
14
15
  export { DUPLICATE_KINDS, comparable } from './lib/format/duplicate-kinds.mjs';
15
16
  export { pageJsonSchema } from './lib/format/json-schema.mjs';
16
17
  export { AUTOFILL, AUTOFILL_CONTACT, AUTOFILL_NAMES, autofillProblem, autofillPurpose } from './lib/format/autofill.mjs';
package/src/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export { PathPickerOptionsSchema, StateDotOptionsSchema } from './lib/format/pic
11
11
  export { PagePhoneSchema, PhoneOptionsSchema } from './lib/format/phone';
12
12
  export { SlotsOptionsSchema } from './lib/format/slots-options';
13
13
  export { PageDuplicatesSchema } from './lib/format/duplicates';
14
+ export { PageRecordsSchema } from './lib/format/records';
14
15
  export { DUPLICATE_KINDS, comparable } from './lib/format/duplicate-kinds';
15
16
  export { pageJsonSchema } from './lib/format/json-schema';
16
17
  export { AUTOFILL, AUTOFILL_CONTACT, AUTOFILL_NAMES, autofillProblem, autofillPurpose } from './lib/format/autofill';
package/src/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.autofillPurpose = exports.autofillProblem = exports.AUTOFILL_NAMES = exports.AUTOFILL_CONTACT = exports.AUTOFILL = exports.pageJsonSchema = exports.comparable = exports.DUPLICATE_KINDS = exports.PageDuplicatesSchema = exports.SlotsOptionsSchema = exports.PhoneOptionsSchema = exports.PagePhoneSchema = exports.StateDotOptionsSchema = exports.PathPickerOptionsSchema = exports.AddressSearchOptionsSchema = exports.validatePage = exports.PageEventsSchema = exports.ActionStepSchema = exports.PageSchema = exports.RelatedNodeSchema = exports.FilterPeriodSchema = exports.ListGallerySchema = exports.ListCardSchema = exports.ListCalendarSchema = exports.ListCellSchema = exports.ListNodeSchema = exports.RootLayoutSchema = exports.LayoutNodeSchema = exports.ToneWhenSchema = exports.CellRulesSchema = exports.RolesSchema = exports.ModifierSchema = exports.TimeZoneSchema = exports.PERIODS = exports.ShrinkSchema = exports.MoneyLookSchema = exports.FilterItemSchema = exports.FilterConditionSchema = exports.PropertyDefinitionSchema = exports.OptionSchema = exports.LineKindsSchema = exports.LinkedFieldSchema = exports.LineFieldSchema = exports.FieldsSchema = exports.FieldSchema = exports.nameLikeness = exports.alikeRecords = exports.scheduleSlots = void 0;
3
+ exports.autofillPurpose = exports.autofillProblem = exports.AUTOFILL_NAMES = exports.AUTOFILL_CONTACT = exports.AUTOFILL = exports.pageJsonSchema = exports.comparable = exports.DUPLICATE_KINDS = exports.PageRecordsSchema = exports.PageDuplicatesSchema = exports.SlotsOptionsSchema = exports.PhoneOptionsSchema = exports.PagePhoneSchema = exports.StateDotOptionsSchema = exports.PathPickerOptionsSchema = exports.AddressSearchOptionsSchema = exports.validatePage = exports.PageEventsSchema = exports.ActionStepSchema = exports.PageSchema = exports.RelatedNodeSchema = exports.FilterPeriodSchema = exports.ListGallerySchema = exports.ListCardSchema = exports.ListCalendarSchema = exports.ListCellSchema = exports.ListNodeSchema = exports.RootLayoutSchema = exports.LayoutNodeSchema = exports.ToneWhenSchema = exports.CellRulesSchema = exports.RolesSchema = exports.ModifierSchema = exports.TimeZoneSchema = exports.PERIODS = exports.ShrinkSchema = exports.MoneyLookSchema = exports.FilterItemSchema = exports.FilterConditionSchema = exports.PropertyDefinitionSchema = exports.OptionSchema = exports.LineKindsSchema = exports.LinkedFieldSchema = exports.LineFieldSchema = exports.FieldsSchema = exports.FieldSchema = exports.nameLikeness = exports.alikeRecords = exports.scheduleSlots = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  tslib_1.__exportStar(require("./runtime"), exports);
6
6
  // A memory source's free times from booking schedules: for demos and tests, outside the one-tag script.
@@ -57,6 +57,8 @@ var slots_options_1 = require("./lib/format/slots-options");
57
57
  Object.defineProperty(exports, "SlotsOptionsSchema", { enumerable: true, get: function () { return slots_options_1.SlotsOptionsSchema; } });
58
58
  var duplicates_1 = require("./lib/format/duplicates");
59
59
  Object.defineProperty(exports, "PageDuplicatesSchema", { enumerable: true, get: function () { return duplicates_1.PageDuplicatesSchema; } });
60
+ var records_1 = require("./lib/format/records");
61
+ Object.defineProperty(exports, "PageRecordsSchema", { enumerable: true, get: function () { return records_1.PageRecordsSchema; } });
60
62
  var duplicate_kinds_1 = require("./lib/format/duplicate-kinds");
61
63
  Object.defineProperty(exports, "DUPLICATE_KINDS", { enumerable: true, get: function () { return duplicate_kinds_1.DUPLICATE_KINDS; } });
62
64
  Object.defineProperty(exports, "comparable", { enumerable: true, get: function () { return duplicate_kinds_1.comparable; } });
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/core/src/index.ts"],"names":[],"mappings":";;;;AAAA,oDAA0B;AAC1B,wGAAwG;AACxG,kEAAmF;AAA1E,iHAAA,aAAa,OAAA;AACtB,uHAAuH;AACvH,oEAA4E;AAAnE,iHAAA,YAAY,OAAA;AAAE,iHAAA,YAAY,OAAA;AACnC,4CAc4B;AAb1B,oGAAA,WAAW,OAAA;AACX,qGAAA,YAAY,OAAA;AACZ,wGAAA,eAAe,OAAA;AACf,0GAAA,iBAAiB,OAAA;AACjB,wGAAA,eAAe,OAAA;AACf,qGAAA,YAAY,OAAA;AACZ,iHAAA,wBAAwB,OAAA;AACxB,8GAAA,qBAAqB,OAAA;AACrB,yGAAA,gBAAgB,OAAA;AAChB,wGAAA,eAAe,OAAA;AACf,qGAAA,YAAY,OAAA;AACZ,gGAAA,OAAO,OAAA;AACP,uGAAA,cAAc,OAAA;AAEhB,8CAAqQ;AAA5P,wGAAA,cAAc,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AACvO,0CAA+C;AAAtC,kGAAA,UAAU,OAAA;AACnB,gDAA0E;AAAjE,2GAAA,gBAAgB,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAC3C,kDAAqD;AAA5C,wGAAA,YAAY,OAAA;AACrB,8DAAyE;AAAhE,4HAAA,0BAA0B,OAAA;AACnC,8DAA6F;AAApF,yHAAA,uBAAuB,OAAA;AAAE,uHAAA,qBAAqB,OAAA;AACvD,4CAAyE;AAAhE,wGAAA,eAAe,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAC5C,4DAAgE;AAAvD,mHAAA,kBAAkB,OAAA;AAC3B,sDAA+D;AAAtD,kHAAA,oBAAoB,OAAA;AAC7B,gEAA2E;AAAlE,kHAAA,eAAe,OAAA;AAAE,6GAAA,UAAU,OAAA;AACpC,wDAA0D;AAAjD,6GAAA,cAAc,OAAA;AACvB,iGAAiG;AACjG,kDAAqH;AAA5G,oGAAA,QAAQ,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,2GAAA,eAAe,OAAA;AAAE,2GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/core/src/index.ts"],"names":[],"mappings":";;;;AAAA,oDAA0B;AAC1B,wGAAwG;AACxG,kEAAmF;AAA1E,iHAAA,aAAa,OAAA;AACtB,uHAAuH;AACvH,oEAA4E;AAAnE,iHAAA,YAAY,OAAA;AAAE,iHAAA,YAAY,OAAA;AACnC,4CAc4B;AAb1B,oGAAA,WAAW,OAAA;AACX,qGAAA,YAAY,OAAA;AACZ,wGAAA,eAAe,OAAA;AACf,0GAAA,iBAAiB,OAAA;AACjB,wGAAA,eAAe,OAAA;AACf,qGAAA,YAAY,OAAA;AACZ,iHAAA,wBAAwB,OAAA;AACxB,8GAAA,qBAAqB,OAAA;AACrB,yGAAA,gBAAgB,OAAA;AAChB,wGAAA,eAAe,OAAA;AACf,qGAAA,YAAY,OAAA;AACZ,gGAAA,OAAO,OAAA;AACP,uGAAA,cAAc,OAAA;AAEhB,8CAAqQ;AAA5P,wGAAA,cAAc,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AACvO,0CAA+C;AAAtC,kGAAA,UAAU,OAAA;AACnB,gDAA0E;AAAjE,2GAAA,gBAAgB,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAC3C,kDAAqD;AAA5C,wGAAA,YAAY,OAAA;AACrB,8DAAyE;AAAhE,4HAAA,0BAA0B,OAAA;AACnC,8DAA6F;AAApF,yHAAA,uBAAuB,OAAA;AAAE,uHAAA,qBAAqB,OAAA;AACvD,4CAAyE;AAAhE,wGAAA,eAAe,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAC5C,4DAAgE;AAAvD,mHAAA,kBAAkB,OAAA;AAC3B,sDAA+D;AAAtD,kHAAA,oBAAoB,OAAA;AAC7B,gDAAyD;AAAhD,4GAAA,iBAAiB,OAAA;AAC1B,gEAA2E;AAAlE,kHAAA,eAAe,OAAA;AAAE,6GAAA,UAAU,OAAA;AACpC,wDAA0D;AAAjD,6GAAA,cAAc,OAAA;AACvB,iGAAiG;AACjG,kDAAqH;AAA5G,oGAAA,QAAQ,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,2GAAA,eAAe,OAAA;AAAE,2GAAA,eAAe,OAAA"}
package/src/index.mjs CHANGED
@@ -13,6 +13,7 @@ export { PathPickerOptionsSchema, StateDotOptionsSchema } from './lib/format/pic
13
13
  export { PagePhoneSchema, PhoneOptionsSchema } from './lib/format/phone.mjs';
14
14
  export { SlotsOptionsSchema } from './lib/format/slots-options.mjs';
15
15
  export { PageDuplicatesSchema } from './lib/format/duplicates.mjs';
16
+ export { PageRecordsSchema } from './lib/format/records.mjs';
16
17
  export { DUPLICATE_KINDS, comparable } from './lib/format/duplicate-kinds.mjs';
17
18
  export { pageJsonSchema } from './lib/format/json-schema.mjs';
18
19
  // The purposes a browser fills a box in with, from the HTML standard, as the format checks them.
package/src/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../../libs/core/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,wGAAwG;AACxG,OAAO,EAAE,aAAa,EAAuB,MAAM,+BAA+B,CAAC;AACnF,uHAAuH;AACvH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,OAAO,EACP,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACrQ,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,iGAAiG;AACjG,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../../libs/core/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,wGAAwG;AACxG,OAAO,EAAE,aAAa,EAAuB,MAAM,+BAA+B,CAAC;AACnF,uHAAuH;AACvH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,OAAO,EACP,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACrQ,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,iGAAiG;AACjG,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { ActionStep } from './actions.mjs';
2
2
  import type { Field, LineField } from './field.mjs';
3
- import type { ButtonNode, LayoutNode, RootLayout, SheetNode, TabsNode } from './layout.mjs';
3
+ import type { ButtonNode, LayoutNode, RelatedNode, RootLayout, SheetNode, TabNode, TabsNode } from './layout.mjs';
4
4
  /**
5
5
  * The checks of a record's head (`SheetHead`) and of the parts it brought to
6
6
  * the format: the band's and the row's fields, its link and its buttons, a
@@ -36,5 +36,7 @@ export declare function checkButtonParts(button: ButtonNode, path: string, tools
36
36
  * access keys of fields — one field each.
37
37
  */
38
38
  export declare function checkHead(root: RootLayout, path: string, tools: HeadTools): void;
39
+ /** The related list of this id inside a tab — in its groups, or tabs of its own — whose records it counts; null where it holds none. */
40
+ export declare function relatedInTab(tab: TabNode, id: string): RelatedNode | null;
39
41
  /** The tabs a sheet places in its head, if it does. */
40
42
  export declare function headTabs(sheet: SheetNode): TabsNode | undefined;
@@ -1,6 +1,6 @@
1
1
  import type { ActionStep } from './actions';
2
2
  import type { Field, LineField } from './field';
3
- import type { ButtonNode, LayoutNode, RootLayout, SheetNode, TabsNode } from './layout';
3
+ import type { ButtonNode, LayoutNode, RelatedNode, RootLayout, SheetNode, TabNode, TabsNode } from './layout';
4
4
  /**
5
5
  * The checks of a record's head (`SheetHead`) and of the parts it brought to
6
6
  * the format: the band's and the row's fields, its link and its buttons, a
@@ -36,5 +36,7 @@ export declare function checkButtonParts(button: ButtonNode, path: string, tools
36
36
  * access keys of fields — one field each.
37
37
  */
38
38
  export declare function checkHead(root: RootLayout, path: string, tools: HeadTools): void;
39
+ /** The related list of this id inside a tab — in its groups, or tabs of its own — whose records it counts; null where it holds none. */
40
+ export declare function relatedInTab(tab: TabNode, id: string): RelatedNode | null;
39
41
  /** The tabs a sheet places in its head, if it does. */
40
42
  export declare function headTabs(sheet: SheetNode): TabsNode | undefined;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkButtonParts = checkButtonParts;
4
4
  exports.checkHead = checkHead;
5
+ exports.relatedInTab = relatedInTab;
5
6
  exports.headTabs = headTabs;
6
7
  const NUMBER = new Set(['integer', 'float', 'monetary']);
7
8
  /** What a tab's count can count: a number, lines, links, files. */
@@ -101,15 +102,35 @@ function checkHead(root, path, tools) {
101
102
  }
102
103
  });
103
104
  }
104
- /** A tab's icon shown alone, and the field it counts. */
105
+ /** A tab's icon shown alone, and the field or the related list in it it counts. */
105
106
  function checkTab(tab, path, tools) {
106
107
  if (tab.iconOnly && !tab.icon)
107
108
  tools.report(`${path}.iconOnly`, 'a tab shown by its icon alone needs an icon');
108
- if (tab.count === undefined)
109
+ const count = tab.count;
110
+ if (count === undefined)
109
111
  return;
110
- const def = tools.need(tab.count, `${path}.count`);
112
+ if (typeof count !== 'string') {
113
+ if (!relatedInTab(tab, count.related))
114
+ tools.report(`${path}.count.related`, `"${count.related}" is no related list in this tab: a tab counts the records of one it holds`);
115
+ return;
116
+ }
117
+ const def = tools.need(count, `${path}.count`);
111
118
  if (def && !COUNTED.has(def.type))
112
- tools.report(`${path}.count`, `"${tab.count}" is a ${def.type}; a tab counts a number, a table's lines, links or files`);
119
+ tools.report(`${path}.count`, `"${count}" is a ${def.type}; a tab counts a number, a table's lines, links or files`);
120
+ }
121
+ /** The related list of this id inside a tab — in its groups, or tabs of its own — whose records it counts; null where it holds none. */
122
+ function relatedInTab(tab, id) {
123
+ const find = (nodes) => {
124
+ for (const node of nodes) {
125
+ if (node.type === 'related' && node.id === id)
126
+ return node;
127
+ const inner = node.type === 'section' ? find(node.children) : node.type === 'tabs' ? find(node.children.flatMap((one) => one.children)) : null;
128
+ if (inner)
129
+ return inner;
130
+ }
131
+ return null;
132
+ };
133
+ return find(tab.children);
113
134
  }
114
135
  function checkSheetHead(sheet, path, tools) {
115
136
  const head = sheet.head;
@@ -1 +1 @@
1
- {"version":3,"file":"head-checks.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/head-checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"head-checks.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/head-checks.ts"],"names":[],"mappings":"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"}
@@ -96,15 +96,35 @@ export function checkHead(root, path, tools) {
96
96
  }
97
97
  });
98
98
  }
99
- /** A tab's icon shown alone, and the field it counts. */
99
+ /** A tab's icon shown alone, and the field or the related list in it it counts. */
100
100
  function checkTab(tab, path, tools) {
101
101
  if (tab.iconOnly && !tab.icon)
102
102
  tools.report(`${path}.iconOnly`, 'a tab shown by its icon alone needs an icon');
103
- if (tab.count === undefined)
103
+ const count = tab.count;
104
+ if (count === undefined)
104
105
  return;
105
- const def = tools.need(tab.count, `${path}.count`);
106
+ if (typeof count !== 'string') {
107
+ if (!relatedInTab(tab, count.related))
108
+ tools.report(`${path}.count.related`, `"${count.related}" is no related list in this tab: a tab counts the records of one it holds`);
109
+ return;
110
+ }
111
+ const def = tools.need(count, `${path}.count`);
106
112
  if (def && !COUNTED.has(def.type))
107
- tools.report(`${path}.count`, `"${tab.count}" is a ${def.type}; a tab counts a number, a table's lines, links or files`);
113
+ tools.report(`${path}.count`, `"${count}" is a ${def.type}; a tab counts a number, a table's lines, links or files`);
114
+ }
115
+ /** The related list of this id inside a tab — in its groups, or tabs of its own — whose records it counts; null where it holds none. */
116
+ export function relatedInTab(tab, id) {
117
+ const find = (nodes) => {
118
+ for (const node of nodes) {
119
+ if (node.type === 'related' && node.id === id)
120
+ return node;
121
+ const inner = node.type === 'section' ? find(node.children) : node.type === 'tabs' ? find(node.children.flatMap((one) => one.children)) : null;
122
+ if (inner)
123
+ return inner;
124
+ }
125
+ return null;
126
+ };
127
+ return find(tab.children);
108
128
  }
109
129
  function checkSheetHead(sheet, path, tools) {
110
130
  const head = sheet.head;
@@ -1 +1 @@
1
- {"version":3,"file":"head-checks.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/head-checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"head-checks.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/head-checks.ts"],"names":[],"mappings":"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"}