@beinformed/ui 1.59.1 → 1.59.2

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 (58) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js +7 -2
  3. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  4. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js +7 -2
  5. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.flow +5 -2
  6. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/models/attributes/input-constraints/DateBoundaryConstraint.js +5 -2
  9. package/types/constants/Constants.d.ts +9 -0
  10. package/types/constants/Settings.d.ts +6 -3
  11. package/types/models/actions/ActionCollection.d.ts +2 -1
  12. package/types/models/actions/ActionModel.d.ts +1 -1
  13. package/types/models/attributes/AttributeCollection.d.ts +5 -1
  14. package/types/models/attributes/AttributeSetModel.d.ts +2 -1
  15. package/types/models/attributes/ChoiceAttributeOptionCollection.d.ts +7 -5
  16. package/types/models/attributes/ChoiceAttributeOptionModel.d.ts +7 -3
  17. package/types/models/attributes/CompositeAttributeChildCollection.d.ts +4 -3
  18. package/types/models/attributes/DatetimeAttributeModel.d.ts +66 -45
  19. package/types/models/attributes/_createAttribute.d.ts +2 -1
  20. package/types/models/attributes/input-constraints/DateBoundaryConstraint.d.ts +56 -40
  21. package/types/models/attributes/input-constraints/DatetimeFormatConstraint.d.ts +64 -42
  22. package/types/models/attributes/input-constraints/RangeConstraint.d.ts +55 -41
  23. package/types/models/base/BaseModel.d.ts +12 -1
  24. package/types/models/concepts/ConceptDetailModel.d.ts +4 -4
  25. package/types/models/concepts/ConceptIndexModel.d.ts +4 -0
  26. package/types/models/concepts/ConceptLinkModel.d.ts +2 -5
  27. package/types/models/concepts/ConceptRelationCollection.d.ts +3 -1
  28. package/types/models/concepts/ConceptRelationModel.d.ts +3 -1
  29. package/types/models/concepts/ConceptTypeDetailModel.d.ts +5 -9
  30. package/types/models/concepts/SourceReferenceCollection.d.ts +2 -1
  31. package/types/models/concepts/SourceReferenceModel.d.ts +3 -1
  32. package/types/models/content/ContentLinkModel.d.ts +2 -1
  33. package/types/models/content/SectionModel.d.ts +2 -1
  34. package/types/models/content/SubSectionModel.d.ts +6 -1
  35. package/types/models/error/ErrorResponse.d.ts +9 -1
  36. package/types/models/filters/FilterCollection.d.ts +3 -2
  37. package/types/models/grouping/GroupingModel.d.ts +4 -3
  38. package/types/models/href/Href.d.ts +26 -3
  39. package/types/models/index.d.ts +1 -0
  40. package/types/models/links/LinkCollection.d.ts +2 -1
  41. package/types/models/links/LinkModel.d.ts +3 -2
  42. package/types/models/list/ListItemModel.d.ts +2 -1
  43. package/types/models/lookup/LookupOptionCollection.d.ts +2 -1
  44. package/types/models/modelcatalog/ModelCatalogModel.d.ts +5 -0
  45. package/types/models/modelcatalog/ModelCategoryCollection.d.ts +11 -0
  46. package/types/models/modelcatalog/ModelCategoryModel.d.ts +39 -0
  47. package/types/models/taskgroup/TaskGroupModel.d.ts +2 -1
  48. package/types/models/types.d.ts +4 -0
  49. package/types/modularui/CaptchaRequest.d.ts +9 -0
  50. package/types/modularui/ModularUIRequest.d.ts +14 -1
  51. package/types/modularui/ModularUIResponse.d.ts +22 -0
  52. package/types/modularui/UploadRequest.d.ts +7 -1
  53. package/types/redux/_modularui/types.d.ts +3 -0
  54. package/types/redux/types.d.ts +8 -1
  55. package/types/utils/datetime/DateTimeUtil.d.ts +91 -45
  56. package/types/utils/fetch/types.d.ts +2 -0
  57. package/types/utils/helpers/createHref.d.ts +4 -3
  58. package/types/utils/helpers/repositoryResource.d.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [1.59.2](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.59.1...v1.59.2) (2024-12-09)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **datetime-constraint:** render format of datetime without offset in validation messages ([7c74dab](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/7c74dab62649c7930355dbf799b0dd4ef52499f0))
11
+
5
12
  ## [1.59.1](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.59.0...v1.59.1) (2024-12-06)
6
13
 
7
14
 
@@ -1,6 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
2
+ import _trimInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/trim";
2
3
  import { TimeUtil, DateUtil, TimestampUtil, DateTimeUtil } from "../../../utils/datetime/DateTimeUtil";
3
4
  import { IllegalArgumentException, IllegalStateException } from "../../../exceptions";
5
+ import { DATETIME_OFFSET_FORMAT } from "../../../constants";
4
6
  const INEXACT_DATE_ID = "Constraint.Date.InexactDate";
5
7
  const OUT_OF_RANGE_ID = "Constraint.Date.OutOfRange";
6
8
  const BELOW_MINIMUM_ID = "Constraint.Date.BelowMinimum";
@@ -12,15 +14,18 @@ class DateBoundaryConstraint {
12
14
  /**
13
15
  */
14
16
  constructor(type) {
17
+ var _context;
15
18
  let minDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
16
19
  let maxDate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
17
20
  let format = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "yyyy-MM-dd";
18
21
  _defineProperty(this, "_type", void 0);
19
22
  _defineProperty(this, "_format", void 0);
23
+ _defineProperty(this, "_formatNoOffset", void 0);
20
24
  _defineProperty(this, "_minDate", void 0);
21
25
  _defineProperty(this, "_maxDate", void 0);
22
26
  this._type = type;
23
27
  this._format = format;
28
+ this._formatNoOffset = _trimInstanceProperty(_context = format.replace(DATETIME_OFFSET_FORMAT, "")).call(_context);
24
29
  this._minDate = minDate;
25
30
  this._maxDate = maxDate;
26
31
  }
@@ -89,8 +94,8 @@ class DateBoundaryConstraint {
89
94
  */
90
95
  get parameters() {
91
96
  return {
92
- "min-date": this.minDate ? this.formatUtil.toFormat(this.minDate, this.format) : null,
93
- "max-date": this.maxDate ? this.formatUtil.toFormat(this.maxDate, this.format) : null
97
+ "min-date": this.minDate ? this.formatUtil.toFormat(this.minDate, this._formatNoOffset) : null,
98
+ "max-date": this.maxDate ? this.formatUtil.toFormat(this.maxDate, this._formatNoOffset) : null
94
99
  };
95
100
  }
96
101
 
@@ -1 +1 @@
1
- {"version":3,"file":"DateBoundaryConstraint.js","names":["TimeUtil","DateUtil","TimestampUtil","DateTimeUtil","IllegalArgumentException","IllegalStateException","INEXACT_DATE_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","DateBoundaryConstraint","constructor","type","minDate","arguments","length","undefined","maxDate","format","_defineProperty","_type","_format","_minDate","_maxDate","id","defaultMessage","parameters","formatUtil","toFormat","hasValidation","isExactDate","value","isSame","isBetweenDates","isSameOrAfterMinDate","isSameOrBeforeMaxDate","isSameOrAfter","isSameOrBefore","validate","TypeError","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/DateBoundaryConstraint.js"],"sourcesContent":["// @flow\nimport {\n TimeUtil,\n DateUtil,\n TimestampUtil,\n DateTimeUtil,\n} from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\nimport {\n IllegalArgumentException,\n IllegalStateException,\n} from \"../../../exceptions\";\n\nconst INEXACT_DATE_ID = \"Constraint.Date.InexactDate\";\nconst OUT_OF_RANGE_ID = \"Constraint.Date.OutOfRange\";\nconst BELOW_MINIMUM_ID = \"Constraint.Date.BelowMinimum\";\nconst ABOVE_MAXIMUM_ID = \"Constraint.Date.AboveMaximum\";\n\n/**\n */\nclass DateBoundaryConstraint implements IConstraintModel {\n _type: string;\n _format: string;\n _minDate: ?string;\n _maxDate: ?string;\n\n /**\n */\n constructor(\n type: string,\n minDate: ?string = null,\n maxDate: ?string = null,\n format: string = \"yyyy-MM-dd\",\n ) {\n this._type = type;\n this._format = format;\n this._minDate = minDate;\n this._maxDate = maxDate;\n }\n\n /**\n */\n get type(): string {\n return this._type;\n }\n\n /**\n */\n get id(): string {\n if (\n this.minDate !== null &&\n this.maxDate !== null &&\n this.minDate === this.maxDate\n ) {\n return INEXACT_DATE_ID;\n } else if (this.minDate !== null && this.maxDate !== null) {\n return OUT_OF_RANGE_ID;\n } else if (this.minDate !== null) {\n return BELOW_MINIMUM_ID;\n } else if (this.maxDate !== null) {\n return ABOVE_MAXIMUM_ID;\n }\n\n return \"Constraint.Date.NoBoundaryConstraint\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get minDate(): ?string {\n return this._minDate;\n }\n\n /**\n */\n get maxDate(): ?string {\n return this._maxDate;\n }\n\n /**\n */\n get defaultMessage(): string {\n switch (this.id) {\n case INEXACT_DATE_ID:\n return \"Date must be precisely ${min-date}\"; // NOSONAR\n case OUT_OF_RANGE_ID:\n return \"Must be between ${min-date} and ${max-date}\"; // NOSONAR\n case BELOW_MINIMUM_ID:\n return \"Must be on or after ${min-date}\"; // NOSONAR\n case ABOVE_MAXIMUM_ID:\n return \"Must be on or before ${max-date}\"; // NOSONAR\n default:\n return \"\";\n }\n }\n\n /**\n */\n get parameters(): { \"max-date\": string | null, \"min-date\": string | null } {\n return {\n \"min-date\": this.minDate\n ? this.formatUtil.toFormat(this.minDate, this.format)\n : null,\n \"max-date\": this.maxDate\n ? this.formatUtil.toFormat(this.maxDate, this.format)\n : null,\n };\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n isExactDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null) {\n throw new IllegalStateException(\"isExactDate: Min and max date not set\");\n }\n\n return this.formatUtil.isSame(value, this.minDate, this.format);\n }\n\n /**\n */\n isBetweenDates(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null || this.maxDate === null) {\n throw new IllegalStateException(\"isBetweenDate: Min or max date not set\");\n }\n\n return (\n this.isSameOrAfterMinDate(value) && this.isSameOrBeforeMaxDate(value)\n );\n }\n\n /**\n */\n isSameOrAfterMinDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrAfterMinDate: Not comparing to string\",\n );\n }\n\n if (this.minDate == null) {\n throw new IllegalStateException(\"isSameOrAfterMinDate: Min date not set\");\n }\n\n return this.formatUtil.isSameOrAfter(value, this.minDate, this.format);\n }\n\n /**\n */\n isSameOrBeforeMaxDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrBeforeMaxDate: Not comparing to string\",\n );\n }\n\n if (this.maxDate == null) {\n throw new IllegalStateException(\n \"isSameOrBeforeMaxDate: Max date not set\",\n );\n }\n\n return this.formatUtil.isSameOrBefore(value, this.maxDate, this.format);\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n validate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isNotEmptyString: Not comparing to string\");\n }\n\n switch (this.id) {\n case INEXACT_DATE_ID:\n return this.isExactDate(value);\n case OUT_OF_RANGE_ID:\n return this.isBetweenDates(value);\n case BELOW_MINIMUM_ID:\n return this.isSameOrAfterMinDate(value);\n case ABOVE_MAXIMUM_ID:\n return this.isSameOrBeforeMaxDate(value);\n default:\n return true;\n }\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DateBoundaryConstraint;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DateBoundaryConstraint.js","names":["TimeUtil","DateUtil","TimestampUtil","DateTimeUtil","IllegalArgumentException","IllegalStateException","DATETIME_OFFSET_FORMAT","INEXACT_DATE_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","DateBoundaryConstraint","constructor","type","_context","minDate","arguments","length","undefined","maxDate","format","_defineProperty","_type","_format","_formatNoOffset","_trimInstanceProperty","replace","call","_minDate","_maxDate","id","defaultMessage","parameters","formatUtil","toFormat","hasValidation","isExactDate","value","isSame","isBetweenDates","isSameOrAfterMinDate","isSameOrBeforeMaxDate","isSameOrAfter","isSameOrBefore","validate","TypeError","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/DateBoundaryConstraint.js"],"sourcesContent":["// @flow\nimport {\n TimeUtil,\n DateUtil,\n TimestampUtil,\n DateTimeUtil,\n} from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\nimport {\n IllegalArgumentException,\n IllegalStateException,\n} from \"../../../exceptions\";\nimport { DATETIME_OFFSET_FORMAT } from \"../../../constants\";\n\nconst INEXACT_DATE_ID = \"Constraint.Date.InexactDate\";\nconst OUT_OF_RANGE_ID = \"Constraint.Date.OutOfRange\";\nconst BELOW_MINIMUM_ID = \"Constraint.Date.BelowMinimum\";\nconst ABOVE_MAXIMUM_ID = \"Constraint.Date.AboveMaximum\";\n\n/**\n */\nclass DateBoundaryConstraint implements IConstraintModel {\n _type: string;\n _format: string;\n _formatNoOffset: string;\n _minDate: ?string;\n _maxDate: ?string;\n\n /**\n */\n constructor(\n type: string,\n minDate: ?string = null,\n maxDate: ?string = null,\n format: string = \"yyyy-MM-dd\",\n ) {\n this._type = type;\n this._format = format;\n this._formatNoOffset = format.replace(DATETIME_OFFSET_FORMAT, \"\").trim();\n this._minDate = minDate;\n this._maxDate = maxDate;\n }\n\n /**\n */\n get type(): string {\n return this._type;\n }\n\n /**\n */\n get id(): string {\n if (\n this.minDate !== null &&\n this.maxDate !== null &&\n this.minDate === this.maxDate\n ) {\n return INEXACT_DATE_ID;\n } else if (this.minDate !== null && this.maxDate !== null) {\n return OUT_OF_RANGE_ID;\n } else if (this.minDate !== null) {\n return BELOW_MINIMUM_ID;\n } else if (this.maxDate !== null) {\n return ABOVE_MAXIMUM_ID;\n }\n\n return \"Constraint.Date.NoBoundaryConstraint\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get minDate(): ?string {\n return this._minDate;\n }\n\n /**\n */\n get maxDate(): ?string {\n return this._maxDate;\n }\n\n /**\n */\n get defaultMessage(): string {\n switch (this.id) {\n case INEXACT_DATE_ID:\n return \"Date must be precisely ${min-date}\"; // NOSONAR\n case OUT_OF_RANGE_ID:\n return \"Must be between ${min-date} and ${max-date}\"; // NOSONAR\n case BELOW_MINIMUM_ID:\n return \"Must be on or after ${min-date}\"; // NOSONAR\n case ABOVE_MAXIMUM_ID:\n return \"Must be on or before ${max-date}\"; // NOSONAR\n default:\n return \"\";\n }\n }\n\n /**\n */\n get parameters(): { \"max-date\": string | null, \"min-date\": string | null } {\n return {\n \"min-date\": this.minDate\n ? this.formatUtil.toFormat(this.minDate, this._formatNoOffset)\n : null,\n \"max-date\": this.maxDate\n ? this.formatUtil.toFormat(this.maxDate, this._formatNoOffset)\n : null,\n };\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n isExactDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null) {\n throw new IllegalStateException(\"isExactDate: Min and max date not set\");\n }\n\n return this.formatUtil.isSame(value, this.minDate, this.format);\n }\n\n /**\n */\n isBetweenDates(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null || this.maxDate === null) {\n throw new IllegalStateException(\"isBetweenDate: Min or max date not set\");\n }\n\n return (\n this.isSameOrAfterMinDate(value) && this.isSameOrBeforeMaxDate(value)\n );\n }\n\n /**\n */\n isSameOrAfterMinDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrAfterMinDate: Not comparing to string\",\n );\n }\n\n if (this.minDate == null) {\n throw new IllegalStateException(\"isSameOrAfterMinDate: Min date not set\");\n }\n\n return this.formatUtil.isSameOrAfter(value, this.minDate, this.format);\n }\n\n /**\n */\n isSameOrBeforeMaxDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrBeforeMaxDate: Not comparing to string\",\n );\n }\n\n if (this.maxDate == null) {\n throw new IllegalStateException(\n \"isSameOrBeforeMaxDate: Max date not set\",\n );\n }\n\n return this.formatUtil.isSameOrBefore(value, this.maxDate, this.format);\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n validate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isNotEmptyString: Not comparing to string\");\n }\n\n switch (this.id) {\n case INEXACT_DATE_ID:\n return this.isExactDate(value);\n case OUT_OF_RANGE_ID:\n return this.isBetweenDates(value);\n case BELOW_MINIMUM_ID:\n return this.isSameOrAfterMinDate(value);\n case ABOVE_MAXIMUM_ID:\n return this.isSameOrBeforeMaxDate(value);\n default:\n return true;\n }\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DateBoundaryConstraint;\n"],"mappings":"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","ignoreList":[]}
@@ -5,9 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
+ var _trim = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/trim"));
8
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
9
10
  var _DateTimeUtil = require("../../../utils/datetime/DateTimeUtil");
10
11
  var _exceptions = require("../../../exceptions");
12
+ var _constants = require("../../../constants");
11
13
  const INEXACT_DATE_ID = "Constraint.Date.InexactDate";
12
14
  const OUT_OF_RANGE_ID = "Constraint.Date.OutOfRange";
13
15
  const BELOW_MINIMUM_ID = "Constraint.Date.BelowMinimum";
@@ -19,15 +21,18 @@ class DateBoundaryConstraint {
19
21
  /**
20
22
  */
21
23
  constructor(type) {
24
+ var _context;
22
25
  let minDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
23
26
  let maxDate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
24
27
  let format = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "yyyy-MM-dd";
25
28
  (0, _defineProperty2.default)(this, "_type", void 0);
26
29
  (0, _defineProperty2.default)(this, "_format", void 0);
30
+ (0, _defineProperty2.default)(this, "_formatNoOffset", void 0);
27
31
  (0, _defineProperty2.default)(this, "_minDate", void 0);
28
32
  (0, _defineProperty2.default)(this, "_maxDate", void 0);
29
33
  this._type = type;
30
34
  this._format = format;
35
+ this._formatNoOffset = (0, _trim.default)(_context = format.replace(_constants.DATETIME_OFFSET_FORMAT, "")).call(_context);
31
36
  this._minDate = minDate;
32
37
  this._maxDate = maxDate;
33
38
  }
@@ -96,8 +101,8 @@ class DateBoundaryConstraint {
96
101
  */
97
102
  get parameters() {
98
103
  return {
99
- "min-date": this.minDate ? this.formatUtil.toFormat(this.minDate, this.format) : null,
100
- "max-date": this.maxDate ? this.formatUtil.toFormat(this.maxDate, this.format) : null
104
+ "min-date": this.minDate ? this.formatUtil.toFormat(this.minDate, this._formatNoOffset) : null,
105
+ "max-date": this.maxDate ? this.formatUtil.toFormat(this.maxDate, this._formatNoOffset) : null
101
106
  };
102
107
  }
103
108
 
@@ -11,6 +11,7 @@ import {
11
11
  IllegalArgumentException,
12
12
  IllegalStateException,
13
13
  } from "../../../exceptions";
14
+ import { DATETIME_OFFSET_FORMAT } from "../../../constants";
14
15
 
15
16
  const INEXACT_DATE_ID = "Constraint.Date.InexactDate";
16
17
  const OUT_OF_RANGE_ID = "Constraint.Date.OutOfRange";
@@ -22,6 +23,7 @@ const ABOVE_MAXIMUM_ID = "Constraint.Date.AboveMaximum";
22
23
  class DateBoundaryConstraint implements IConstraintModel {
23
24
  _type: string;
24
25
  _format: string;
26
+ _formatNoOffset: string;
25
27
  _minDate: ?string;
26
28
  _maxDate: ?string;
27
29
 
@@ -35,6 +37,7 @@ class DateBoundaryConstraint implements IConstraintModel {
35
37
  ) {
36
38
  this._type = type;
37
39
  this._format = format;
40
+ this._formatNoOffset = format.replace(DATETIME_OFFSET_FORMAT, "").trim();
38
41
  this._minDate = minDate;
39
42
  this._maxDate = maxDate;
40
43
  }
@@ -105,10 +108,10 @@ class DateBoundaryConstraint implements IConstraintModel {
105
108
  get parameters(): { "max-date": string | null, "min-date": string | null } {
106
109
  return {
107
110
  "min-date": this.minDate
108
- ? this.formatUtil.toFormat(this.minDate, this.format)
111
+ ? this.formatUtil.toFormat(this.minDate, this._formatNoOffset)
109
112
  : null,
110
113
  "max-date": this.maxDate
111
- ? this.formatUtil.toFormat(this.maxDate, this.format)
114
+ ? this.formatUtil.toFormat(this.maxDate, this._formatNoOffset)
112
115
  : null,
113
116
  };
114
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DateBoundaryConstraint.js","names":["_DateTimeUtil","require","_exceptions","INEXACT_DATE_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","DateBoundaryConstraint","constructor","type","minDate","arguments","length","undefined","maxDate","format","_defineProperty2","default","_type","_format","_minDate","_maxDate","id","defaultMessage","parameters","formatUtil","toFormat","hasValidation","isExactDate","value","IllegalArgumentException","IllegalStateException","isSame","isBetweenDates","isSameOrAfterMinDate","isSameOrBeforeMaxDate","isSameOrAfter","isSameOrBefore","TimeUtil","TimestampUtil","DateTimeUtil","DateUtil","validate","TypeError","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/DateBoundaryConstraint.js"],"sourcesContent":["// @flow\nimport {\n TimeUtil,\n DateUtil,\n TimestampUtil,\n DateTimeUtil,\n} from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\nimport {\n IllegalArgumentException,\n IllegalStateException,\n} from \"../../../exceptions\";\n\nconst INEXACT_DATE_ID = \"Constraint.Date.InexactDate\";\nconst OUT_OF_RANGE_ID = \"Constraint.Date.OutOfRange\";\nconst BELOW_MINIMUM_ID = \"Constraint.Date.BelowMinimum\";\nconst ABOVE_MAXIMUM_ID = \"Constraint.Date.AboveMaximum\";\n\n/**\n */\nclass DateBoundaryConstraint implements IConstraintModel {\n _type: string;\n _format: string;\n _minDate: ?string;\n _maxDate: ?string;\n\n /**\n */\n constructor(\n type: string,\n minDate: ?string = null,\n maxDate: ?string = null,\n format: string = \"yyyy-MM-dd\",\n ) {\n this._type = type;\n this._format = format;\n this._minDate = minDate;\n this._maxDate = maxDate;\n }\n\n /**\n */\n get type(): string {\n return this._type;\n }\n\n /**\n */\n get id(): string {\n if (\n this.minDate !== null &&\n this.maxDate !== null &&\n this.minDate === this.maxDate\n ) {\n return INEXACT_DATE_ID;\n } else if (this.minDate !== null && this.maxDate !== null) {\n return OUT_OF_RANGE_ID;\n } else if (this.minDate !== null) {\n return BELOW_MINIMUM_ID;\n } else if (this.maxDate !== null) {\n return ABOVE_MAXIMUM_ID;\n }\n\n return \"Constraint.Date.NoBoundaryConstraint\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get minDate(): ?string {\n return this._minDate;\n }\n\n /**\n */\n get maxDate(): ?string {\n return this._maxDate;\n }\n\n /**\n */\n get defaultMessage(): string {\n switch (this.id) {\n case INEXACT_DATE_ID:\n return \"Date must be precisely ${min-date}\"; // NOSONAR\n case OUT_OF_RANGE_ID:\n return \"Must be between ${min-date} and ${max-date}\"; // NOSONAR\n case BELOW_MINIMUM_ID:\n return \"Must be on or after ${min-date}\"; // NOSONAR\n case ABOVE_MAXIMUM_ID:\n return \"Must be on or before ${max-date}\"; // NOSONAR\n default:\n return \"\";\n }\n }\n\n /**\n */\n get parameters(): { \"max-date\": string | null, \"min-date\": string | null } {\n return {\n \"min-date\": this.minDate\n ? this.formatUtil.toFormat(this.minDate, this.format)\n : null,\n \"max-date\": this.maxDate\n ? this.formatUtil.toFormat(this.maxDate, this.format)\n : null,\n };\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n isExactDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null) {\n throw new IllegalStateException(\"isExactDate: Min and max date not set\");\n }\n\n return this.formatUtil.isSame(value, this.minDate, this.format);\n }\n\n /**\n */\n isBetweenDates(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null || this.maxDate === null) {\n throw new IllegalStateException(\"isBetweenDate: Min or max date not set\");\n }\n\n return (\n this.isSameOrAfterMinDate(value) && this.isSameOrBeforeMaxDate(value)\n );\n }\n\n /**\n */\n isSameOrAfterMinDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrAfterMinDate: Not comparing to string\",\n );\n }\n\n if (this.minDate == null) {\n throw new IllegalStateException(\"isSameOrAfterMinDate: Min date not set\");\n }\n\n return this.formatUtil.isSameOrAfter(value, this.minDate, this.format);\n }\n\n /**\n */\n isSameOrBeforeMaxDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrBeforeMaxDate: Not comparing to string\",\n );\n }\n\n if (this.maxDate == null) {\n throw new IllegalStateException(\n \"isSameOrBeforeMaxDate: Max date not set\",\n );\n }\n\n return this.formatUtil.isSameOrBefore(value, this.maxDate, this.format);\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n validate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isNotEmptyString: Not comparing to string\");\n }\n\n switch (this.id) {\n case INEXACT_DATE_ID:\n return this.isExactDate(value);\n case OUT_OF_RANGE_ID:\n return this.isBetweenDates(value);\n case BELOW_MINIMUM_ID:\n return this.isSameOrAfterMinDate(value);\n case ABOVE_MAXIMUM_ID:\n return this.isSameOrBeforeMaxDate(value);\n default:\n return true;\n }\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DateBoundaryConstraint;\n"],"mappings":";;;;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AAQA,IAAAC,WAAA,GAAAD,OAAA;AAKA,MAAME,eAAe,GAAG,6BAA6B;AACrD,MAAMC,eAAe,GAAG,4BAA4B;AACpD,MAAMC,gBAAgB,GAAG,8BAA8B;AACvD,MAAMC,gBAAgB,GAAG,8BAA8B;;AAEvD;AACA;AACA,MAAMC,sBAAsB,CAA6B;EAMvD;AACF;EACEC,WAAWA,CACTC,IAAY,EAIZ;IAAA,IAHAC,OAAgB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;IAAA,IACvBG,OAAgB,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;IAAA,IACvBI,MAAc,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,YAAY;IAAA,IAAAK,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAE7B,IAAI,CAACC,KAAK,GAAGT,IAAI;IACjB,IAAI,CAACU,OAAO,GAAGJ,MAAM;IACrB,IAAI,CAACK,QAAQ,GAAGV,OAAO;IACvB,IAAI,CAACW,QAAQ,GAAGP,OAAO;EACzB;;EAEA;AACF;EACE,IAAIL,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACS,KAAK;EACnB;;EAEA;AACF;EACE,IAAII,EAAEA,CAAA,EAAW;IACf,IACE,IAAI,CAACZ,OAAO,KAAK,IAAI,IACrB,IAAI,CAACI,OAAO,KAAK,IAAI,IACrB,IAAI,CAACJ,OAAO,KAAK,IAAI,CAACI,OAAO,EAC7B;MACA,OAAOX,eAAe;IACxB,CAAC,MAAM,IAAI,IAAI,CAACO,OAAO,KAAK,IAAI,IAAI,IAAI,CAACI,OAAO,KAAK,IAAI,EAAE;MACzD,OAAOV,eAAe;IACxB,CAAC,MAAM,IAAI,IAAI,CAACM,OAAO,KAAK,IAAI,EAAE;MAChC,OAAOL,gBAAgB;IACzB,CAAC,MAAM,IAAI,IAAI,CAACS,OAAO,KAAK,IAAI,EAAE;MAChC,OAAOR,gBAAgB;IACzB;IAEA,OAAO,sCAAsC;EAC/C;;EAEA;AACF;EACE,IAAIS,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACI,OAAO;EACrB;;EAEA;AACF;EACE,IAAIT,OAAOA,CAAA,EAAY;IACrB,OAAO,IAAI,CAACU,QAAQ;EACtB;;EAEA;AACF;EACE,IAAIN,OAAOA,CAAA,EAAY;IACrB,OAAO,IAAI,CAACO,QAAQ;EACtB;;EAEA;AACF;EACE,IAAIE,cAAcA,CAAA,EAAW;IAC3B,QAAQ,IAAI,CAACD,EAAE;MACb,KAAKnB,eAAe;QAClB,OAAO,oCAAoC;MAAE;MAC/C,KAAKC,eAAe;QAClB,OAAO,6CAA6C;MAAE;MACxD,KAAKC,gBAAgB;QACnB,OAAO,iCAAiC;MAAE;MAC5C,KAAKC,gBAAgB;QACnB,OAAO,kCAAkC;MAAE;MAC7C;QACE,OAAO,EAAE;IACb;EACF;;EAEA;AACF;EACE,IAAIkB,UAAUA,CAAA,EAA6D;IACzE,OAAO;MACL,UAAU,EAAE,IAAI,CAACd,OAAO,GACpB,IAAI,CAACe,UAAU,CAACC,QAAQ,CAAC,IAAI,CAAChB,OAAO,EAAE,IAAI,CAACK,MAAM,CAAC,GACnD,IAAI;MACR,UAAU,EAAE,IAAI,CAACD,OAAO,GACpB,IAAI,CAACW,UAAU,CAACC,QAAQ,CAAC,IAAI,CAACZ,OAAO,EAAE,IAAI,CAACC,MAAM,CAAC,GACnD;IACN,CAAC;EACH;;EAEA;AACF;EACEY,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;EACEC,WAAWA,CAACC,KAAa,EAAW;IAClC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAIC,oCAAwB,CAChC,yCACF,CAAC;IACH;IAEA,IAAI,IAAI,CAACpB,OAAO,KAAK,IAAI,EAAE;MACzB,MAAM,IAAIqB,iCAAqB,CAAC,uCAAuC,CAAC;IAC1E;IAEA,OAAO,IAAI,CAACN,UAAU,CAACO,MAAM,CAACH,KAAK,EAAE,IAAI,CAACnB,OAAO,EAAE,IAAI,CAACK,MAAM,CAAC;EACjE;;EAEA;AACF;EACEkB,cAAcA,CAACJ,KAAa,EAAW;IACrC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAIC,oCAAwB,CAChC,yCACF,CAAC;IACH;IAEA,IAAI,IAAI,CAACpB,OAAO,KAAK,IAAI,IAAI,IAAI,CAACI,OAAO,KAAK,IAAI,EAAE;MAClD,MAAM,IAAIiB,iCAAqB,CAAC,wCAAwC,CAAC;IAC3E;IAEA,OACE,IAAI,CAACG,oBAAoB,CAACL,KAAK,CAAC,IAAI,IAAI,CAACM,qBAAqB,CAACN,KAAK,CAAC;EAEzE;;EAEA;AACF;EACEK,oBAAoBA,CAACL,KAAa,EAAW;IAC3C,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAIC,oCAAwB,CAChC,+CACF,CAAC;IACH;IAEA,IAAI,IAAI,CAACpB,OAAO,IAAI,IAAI,EAAE;MACxB,MAAM,IAAIqB,iCAAqB,CAAC,wCAAwC,CAAC;IAC3E;IAEA,OAAO,IAAI,CAACN,UAAU,CAACW,aAAa,CAACP,KAAK,EAAE,IAAI,CAACnB,OAAO,EAAE,IAAI,CAACK,MAAM,CAAC;EACxE;;EAEA;AACF;EACEoB,qBAAqBA,CAACN,KAAa,EAAW;IAC5C,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAIC,oCAAwB,CAChC,gDACF,CAAC;IACH;IAEA,IAAI,IAAI,CAAChB,OAAO,IAAI,IAAI,EAAE;MACxB,MAAM,IAAIiB,iCAAqB,CAC7B,yCACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACN,UAAU,CAACY,cAAc,CAACR,KAAK,EAAE,IAAI,CAACf,OAAO,EAAE,IAAI,CAACC,MAAM,CAAC;EACzE;;EAEA;AACF;EACE,IAAIU,UAAUA,CAAA,EAIM;IAClB,QAAQ,IAAI,CAAChB,IAAI;MACf,KAAK,MAAM;QACT,OAAO6B,sBAAQ;MACjB,KAAK,WAAW;QACd,OAAOC,2BAAa;MACtB,KAAK,UAAU;QACb,OAAOC,0BAAY;MACrB;QACE,OAAOC,sBAAQ;IACnB;EACF;;EAEA;AACF;EACEC,QAAQA,CAACb,KAAa,EAAW;IAC/B,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM,IAAIc,SAAS,CAAC,2CAA2C,CAAC;IAClE;IAEA,QAAQ,IAAI,CAACrB,EAAE;MACb,KAAKnB,eAAe;QAClB,OAAO,IAAI,CAACyB,WAAW,CAACC,KAAK,CAAC;MAChC,KAAKzB,eAAe;QAClB,OAAO,IAAI,CAAC6B,cAAc,CAACJ,KAAK,CAAC;MACnC,KAAKxB,gBAAgB;QACnB,OAAO,IAAI,CAAC6B,oBAAoB,CAACL,KAAK,CAAC;MACzC,KAAKvB,gBAAgB;QACnB,OAAO,IAAI,CAAC6B,qBAAqB,CAACN,KAAK,CAAC;MAC1C;QACE,OAAO,IAAI;IACf;EACF;;EAEA;AACF;EACE,IAAIe,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA7B,OAAA,GAEcV,sBAAsB","ignoreList":[]}
1
+ {"version":3,"file":"DateBoundaryConstraint.js","names":["_DateTimeUtil","require","_exceptions","_constants","INEXACT_DATE_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","DateBoundaryConstraint","constructor","type","_context","minDate","arguments","length","undefined","maxDate","format","_defineProperty2","default","_type","_format","_formatNoOffset","_trim","replace","DATETIME_OFFSET_FORMAT","call","_minDate","_maxDate","id","defaultMessage","parameters","formatUtil","toFormat","hasValidation","isExactDate","value","IllegalArgumentException","IllegalStateException","isSame","isBetweenDates","isSameOrAfterMinDate","isSameOrBeforeMaxDate","isSameOrAfter","isSameOrBefore","TimeUtil","TimestampUtil","DateTimeUtil","DateUtil","validate","TypeError","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/DateBoundaryConstraint.js"],"sourcesContent":["// @flow\nimport {\n TimeUtil,\n DateUtil,\n TimestampUtil,\n DateTimeUtil,\n} from \"../../../utils/datetime/DateTimeUtil\";\n\nimport type { IConstraintModel } from \"../../types\";\nimport {\n IllegalArgumentException,\n IllegalStateException,\n} from \"../../../exceptions\";\nimport { DATETIME_OFFSET_FORMAT } from \"../../../constants\";\n\nconst INEXACT_DATE_ID = \"Constraint.Date.InexactDate\";\nconst OUT_OF_RANGE_ID = \"Constraint.Date.OutOfRange\";\nconst BELOW_MINIMUM_ID = \"Constraint.Date.BelowMinimum\";\nconst ABOVE_MAXIMUM_ID = \"Constraint.Date.AboveMaximum\";\n\n/**\n */\nclass DateBoundaryConstraint implements IConstraintModel {\n _type: string;\n _format: string;\n _formatNoOffset: string;\n _minDate: ?string;\n _maxDate: ?string;\n\n /**\n */\n constructor(\n type: string,\n minDate: ?string = null,\n maxDate: ?string = null,\n format: string = \"yyyy-MM-dd\",\n ) {\n this._type = type;\n this._format = format;\n this._formatNoOffset = format.replace(DATETIME_OFFSET_FORMAT, \"\").trim();\n this._minDate = minDate;\n this._maxDate = maxDate;\n }\n\n /**\n */\n get type(): string {\n return this._type;\n }\n\n /**\n */\n get id(): string {\n if (\n this.minDate !== null &&\n this.maxDate !== null &&\n this.minDate === this.maxDate\n ) {\n return INEXACT_DATE_ID;\n } else if (this.minDate !== null && this.maxDate !== null) {\n return OUT_OF_RANGE_ID;\n } else if (this.minDate !== null) {\n return BELOW_MINIMUM_ID;\n } else if (this.maxDate !== null) {\n return ABOVE_MAXIMUM_ID;\n }\n\n return \"Constraint.Date.NoBoundaryConstraint\";\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get minDate(): ?string {\n return this._minDate;\n }\n\n /**\n */\n get maxDate(): ?string {\n return this._maxDate;\n }\n\n /**\n */\n get defaultMessage(): string {\n switch (this.id) {\n case INEXACT_DATE_ID:\n return \"Date must be precisely ${min-date}\"; // NOSONAR\n case OUT_OF_RANGE_ID:\n return \"Must be between ${min-date} and ${max-date}\"; // NOSONAR\n case BELOW_MINIMUM_ID:\n return \"Must be on or after ${min-date}\"; // NOSONAR\n case ABOVE_MAXIMUM_ID:\n return \"Must be on or before ${max-date}\"; // NOSONAR\n default:\n return \"\";\n }\n }\n\n /**\n */\n get parameters(): { \"max-date\": string | null, \"min-date\": string | null } {\n return {\n \"min-date\": this.minDate\n ? this.formatUtil.toFormat(this.minDate, this._formatNoOffset)\n : null,\n \"max-date\": this.maxDate\n ? this.formatUtil.toFormat(this.maxDate, this._formatNoOffset)\n : null,\n };\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n isExactDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null) {\n throw new IllegalStateException(\"isExactDate: Min and max date not set\");\n }\n\n return this.formatUtil.isSame(value, this.minDate, this.format);\n }\n\n /**\n */\n isBetweenDates(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isBetweenDates: Not comparing to string\",\n );\n }\n\n if (this.minDate === null || this.maxDate === null) {\n throw new IllegalStateException(\"isBetweenDate: Min or max date not set\");\n }\n\n return (\n this.isSameOrAfterMinDate(value) && this.isSameOrBeforeMaxDate(value)\n );\n }\n\n /**\n */\n isSameOrAfterMinDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrAfterMinDate: Not comparing to string\",\n );\n }\n\n if (this.minDate == null) {\n throw new IllegalStateException(\"isSameOrAfterMinDate: Min date not set\");\n }\n\n return this.formatUtil.isSameOrAfter(value, this.minDate, this.format);\n }\n\n /**\n */\n isSameOrBeforeMaxDate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new IllegalArgumentException(\n \"isSameOrBeforeMaxDate: Not comparing to string\",\n );\n }\n\n if (this.maxDate == null) {\n throw new IllegalStateException(\n \"isSameOrBeforeMaxDate: Max date not set\",\n );\n }\n\n return this.formatUtil.isSameOrBefore(value, this.maxDate, this.format);\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n validate(value: string): boolean {\n if (typeof value !== \"string\") {\n throw new TypeError(\"isNotEmptyString: Not comparing to string\");\n }\n\n switch (this.id) {\n case INEXACT_DATE_ID:\n return this.isExactDate(value);\n case OUT_OF_RANGE_ID:\n return this.isBetweenDates(value);\n case BELOW_MINIMUM_ID:\n return this.isSameOrAfterMinDate(value);\n case ABOVE_MAXIMUM_ID:\n return this.isSameOrBeforeMaxDate(value);\n default:\n return true;\n }\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default DateBoundaryConstraint;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beinformed/ui",
3
- "version": "1.59.1",
3
+ "version": "1.59.2",
4
4
  "description": "Toolbox for be informed javascript layouts",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "bugs": "http://support.beinformed.com",
@@ -11,6 +11,7 @@ import {
11
11
  IllegalArgumentException,
12
12
  IllegalStateException,
13
13
  } from "../../../exceptions";
14
+ import { DATETIME_OFFSET_FORMAT } from "../../../constants";
14
15
 
15
16
  const INEXACT_DATE_ID = "Constraint.Date.InexactDate";
16
17
  const OUT_OF_RANGE_ID = "Constraint.Date.OutOfRange";
@@ -22,6 +23,7 @@ const ABOVE_MAXIMUM_ID = "Constraint.Date.AboveMaximum";
22
23
  class DateBoundaryConstraint implements IConstraintModel {
23
24
  _type: string;
24
25
  _format: string;
26
+ _formatNoOffset: string;
25
27
  _minDate: ?string;
26
28
  _maxDate: ?string;
27
29
 
@@ -35,6 +37,7 @@ class DateBoundaryConstraint implements IConstraintModel {
35
37
  ) {
36
38
  this._type = type;
37
39
  this._format = format;
40
+ this._formatNoOffset = format.replace(DATETIME_OFFSET_FORMAT, "").trim();
38
41
  this._minDate = minDate;
39
42
  this._maxDate = maxDate;
40
43
  }
@@ -105,10 +108,10 @@ class DateBoundaryConstraint implements IConstraintModel {
105
108
  get parameters(): { "max-date": string | null, "min-date": string | null } {
106
109
  return {
107
110
  "min-date": this.minDate
108
- ? this.formatUtil.toFormat(this.minDate, this.format)
111
+ ? this.formatUtil.toFormat(this.minDate, this._formatNoOffset)
109
112
  : null,
110
113
  "max-date": this.maxDate
111
- ? this.formatUtil.toFormat(this.maxDate, this.format)
114
+ ? this.formatUtil.toFormat(this.maxDate, this._formatNoOffset)
112
115
  : null,
113
116
  };
114
117
  }
@@ -50,6 +50,10 @@ export const ISO_TIME_FORMAT: "HH:mm:ss";
50
50
  /**
51
51
  */
52
52
  export const ISO_TIMESTAMP_FORMAT: "yyyy-MM-dd'T'HH:mm:ss.SSS";
53
+ /**
54
+ * Offset format is appended to iso datetime and timestamp when isIncludeTimeOffsetInDateTimes = true
55
+ */
56
+ export const DATETIME_OFFSET_FORMAT: "xxx";
53
57
  /**
54
58
  * week starts on monday by default
55
59
  */
@@ -82,6 +86,10 @@ export const IS_SYNC: boolean;
82
86
  * @type {boolean}
83
87
  */
84
88
  export const IS_SERVER: boolean;
89
+ /**
90
+ * @type {boolean}
91
+ */
92
+ export const IS_GRAALJS: boolean;
85
93
  /**
86
94
  * @type {{SUCCESS: string, ERROR: string, INFO: string, WARNING: string}}
87
95
  */
@@ -132,6 +140,7 @@ export namespace ATTRIBUTE_WIDTH {
132
140
  let EXTRA_LARGE: string;
133
141
  }
134
142
  export const ALL_CONTENT_IN_DATA_SETTING: "hasAllContentInData";
143
+ export const INCLUDE_TIME_OFFSET: "isIncludeTimeOffsetInDateTimes";
135
144
  export namespace INTERNAL_LOGIN_TYPE {
136
145
  let JAAS: string;
137
146
  let PAC4J_FORM: string;
@@ -6,11 +6,14 @@ export function allSettings(): {
6
6
  };
7
7
  export function cacheContributions(): boolean;
8
8
  export function getBasePath(): string;
9
- export function getUploadPath(): string;
10
- export function getCaptchaPath(): string;
9
+ export function getBasePathModularUI(): string;
10
+ export function getBasePathServer(): string;
11
+ export function getUploadPath(contextPath?: string, origin?: string): string;
12
+ export function getCaptchaPath(contextPath?: string, origin?: string): string;
11
13
  export function hasAllContentInData(): boolean;
14
+ export function isIncludeTimeOffsetInDateTimes(): boolean;
12
15
  export function loginType(): string;
13
- export function loginPath(): string;
16
+ export function loginPath(clientName?: string): string;
14
17
  export function loginUsernameField(): string;
15
18
  export function loginPasswordField(): string;
16
19
  export function logoutPath(): string;
@@ -2,7 +2,7 @@
2
2
  * Collection of actions
3
3
  */
4
4
  export default class ActionCollection extends BaseCollection<ActionModel> {
5
- constructor(actions?: Object, actionsContributions?: Object);
5
+ constructor(actions?: Object, actionsContributions?: Object, modelOptions?: ModelOptions);
6
6
  collection: any[];
7
7
  /**
8
8
  * Retrieve action by key
@@ -27,3 +27,4 @@ export default class ActionCollection extends BaseCollection<ActionModel> {
27
27
  }
28
28
  import ActionModel from "./ActionModel";
29
29
  import BaseCollection from "../base/BaseCollection";
30
+ import { ModelOptions } from "../types";
@@ -4,7 +4,7 @@
4
4
  export default class ActionModel extends BaseModel {
5
5
  /**
6
6
  */
7
- static createFromHref(name: string, href: string, label: string, type?: string): ActionModel;
7
+ static createFromHref(name: string, href: string, label: string, type?: string, origin?: string, contextPath?: string): ActionModel;
8
8
  _fieldCollection: AttributeCollection;
9
9
  _href: Href;
10
10
  _icon: string;
@@ -3,7 +3,7 @@ export default AttributeCollection;
3
3
  * Collection of attributes
4
4
  */
5
5
  declare class AttributeCollection extends ResourceCollection<AttributeType, any> {
6
- constructor(data?: Object | Array<Object>, contributions?: Array<Object>, isReadonly?: boolean);
6
+ constructor(data?: Object | Array<Object>, contributions?: Array<Object>, modelOptions?: AttributeCollectionOptions);
7
7
  /**
8
8
  * Replace attributes with a new array of attributes
9
9
  */
@@ -94,3 +94,7 @@ import ResourceCollection from "../base/ResourceCollection";
94
94
  import ChoiceAttributeModel from "./ChoiceAttributeModel";
95
95
  import { FormErrorAnchor } from "../types";
96
96
  import ContentConfiguration from "../contentconfiguration/ContentConfiguration";
97
+ type AttributeCollectionOptions = {
98
+ ModelOptions: any;
99
+ isReadonly: boolean;
100
+ };
@@ -3,7 +3,7 @@
3
3
  export default class AttributeSetModel extends BaseModel {
4
4
  /**
5
5
  */
6
- constructor(key?: string, data?: Object, contributions?: Object);
6
+ constructor(key?: string, data?: Object, contributions?: Object, modelOptions?: ModelOptions);
7
7
  _key: string;
8
8
  _attributeCollection: AttributeCollection;
9
9
  /**
@@ -33,3 +33,4 @@ export default class AttributeSetModel extends BaseModel {
33
33
  }
34
34
  import BaseModel from "../base/BaseModel";
35
35
  import AttributeCollection from "./AttributeCollection";
36
+ import { ModelOptions } from "../types";
@@ -4,8 +4,9 @@ export default ChoiceAttributeOptionCollection;
4
4
  declare class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttributeOptionModel, any> {
5
5
  /**
6
6
  */
7
- static create(data?: Object, contributions?: Object, referenceDate?: ISO_DATE): ChoiceAttributeOptionCollection;
8
- constructor(initCollection?: ChoiceAttributeOptionModel[]);
7
+ static create(data?: Object, contributions?: Object, modelOptions?: ChoiceAttributeOptionModelOptions): ChoiceAttributeOptionCollection;
8
+ constructor(modelOptions?: ChoiceAttributeOptionModelOptions);
9
+ _modelOptions: ChoiceAttributeOptionModelOptions;
9
10
  _headers: Array<ListHeaderModel>;
10
11
  _sortOptions: boolean;
11
12
  /**
@@ -22,11 +23,11 @@ declare class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceA
22
23
  getOptionCount(code: string, options: Array<Object>): number | null;
23
24
  /**
24
25
  */
25
- addOptions(data: Object, contributions: Object, referenceDate?: ISO_DATE): ChoiceAttributeOptionCollection;
26
+ addOptions(data: Object, contributions: Object): ChoiceAttributeOptionCollection;
26
27
  /**
27
28
  * Create options based on data and dynamischema
28
29
  */
29
- addDynamicSchema(data: Object, contributions: Object, referenceDate?: ISO_DATE): ChoiceAttributeOptionCollection;
30
+ addDynamicSchema(data: Object, contributions: Object): ChoiceAttributeOptionCollection;
30
31
  /**
31
32
  */
32
33
  addBooleanOption(code: "true" | "false", defaultLabel: string, data: string | Array<string>, options?: Array<Object>): void;
@@ -37,7 +38,7 @@ declare class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceA
37
38
  addBooleanOptions(value: any, contributions: Object): ChoiceAttributeOptionCollection;
38
39
  /**
39
40
  */
40
- addOption(data: string | Array<string>, contributions: Object, referenceDate?: ISO_DATE): ChoiceAttributeOptionCollection;
41
+ addOption(data: string | Array<string>, contributions: Object): ChoiceAttributeOptionCollection;
41
42
  /**
42
43
  * Get all options that have selected property true
43
44
  */
@@ -76,4 +77,5 @@ declare class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceA
76
77
  }
77
78
  import ChoiceAttributeOptionModel from "./ChoiceAttributeOptionModel";
78
79
  import ResourceCollection from "../base/ResourceCollection";
80
+ import { ChoiceAttributeOptionModelOptions } from "./ChoiceAttributeOptionModel";
79
81
  import ListHeaderModel from "../list/ListHeaderModel";
@@ -1,3 +1,7 @@
1
+ type ChoiceAttributeOptionModelOptions = {
2
+ ModelOptions: any;
3
+ referenceDate: ISO_DATE;
4
+ };
1
5
  export default ChoiceAttributeOptionModel;
2
6
  /**
3
7
  */
@@ -7,7 +11,7 @@ declare class ChoiceAttributeOptionModel extends BaseModel {
7
11
  static createFromListItemModel(listitem: ListItemModel): ChoiceAttributeOptionModel;
8
12
  /**
9
13
  */
10
- constructor(selectedValues?: Array<string>, option?: Object, referenceDate?: ISO_DATE);
14
+ constructor(selectedValues?: Array<string>, option?: Object, modelOptions?: ChoiceAttributeOptionModelOptions);
11
15
  _code: string;
12
16
  _isSelected: boolean;
13
17
  _referenceDate: ISO_DATE;
@@ -56,7 +60,7 @@ declare class ChoiceAttributeOptionModel extends BaseModel {
56
60
  get attributeCollection(): AttributeCollection;
57
61
  /**
58
62
  */
59
- createAttributeCollection(): AttributeCollection;
63
+ createAttributeCollection(modelOptions?: ChoiceAttributeOptionModelOptions): AttributeCollection;
60
64
  /**
61
65
  * Get label of option for simple codemaps (e.g. static codemap)
62
66
  */
@@ -80,7 +84,7 @@ declare class ChoiceAttributeOptionModel extends BaseModel {
80
84
  get count(): number;
81
85
  /**
82
86
  */
83
- addChildren(selectedValues?: Array<string>, option?: Object, referenceDate?: ISO_DATE): ChoiceAttributeOptionCollection;
87
+ addChildren(selectedValues?: Array<string>, option?: Object, modelOptions?: ChoiceAttributeOptionModelOptions): ChoiceAttributeOptionCollection;
84
88
  /**
85
89
  * get children of option
86
90
  */
@@ -5,13 +5,13 @@ export default CompositeAttributeChildCollection;
5
5
  declare class CompositeAttributeChildCollection extends ResourceCollection<AttributeType, any> {
6
6
  /**
7
7
  */
8
- static create(data: Object, contributions: Object): CompositeAttributeChildCollection;
8
+ static create(data: Object, contributions: Object, modelOptions?: ModelOptions): CompositeAttributeChildCollection;
9
9
  /**
10
10
  */
11
- static createStandard(data: Object, contributions: Object): CompositeAttributeChildCollection;
11
+ static createStandard(data: Object, contributions: Object, modelOptions?: ModelOptions): CompositeAttributeChildCollection;
12
12
  /**
13
13
  */
14
- static createMultiData(data: Object, contributions: Object): CompositeAttributeChildCollection;
14
+ static createMultiData(data: Object, contributions: Object, modelOptions?: ModelOptions): CompositeAttributeChildCollection;
15
15
  constructor(initCollection?: AttributeType[]);
16
16
  /**
17
17
  * Get input value of contributions
@@ -54,3 +54,4 @@ declare class CompositeAttributeChildCollection extends ResourceCollection<Attri
54
54
  import { AttributeType } from "../types";
55
55
  import ResourceCollection from "../base/ResourceCollection";
56
56
  import ErrorCollection from "../error/ErrorCollection";
57
+ import { ModelOptions } from "../types";