@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.
- package/CHANGELOG.md +7 -0
- package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js +7 -2
- package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js +7 -2
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.flow +5 -2
- package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
- package/package.json +1 -1
- package/src/models/attributes/input-constraints/DateBoundaryConstraint.js +5 -2
- package/types/constants/Constants.d.ts +9 -0
- package/types/constants/Settings.d.ts +6 -3
- package/types/models/actions/ActionCollection.d.ts +2 -1
- package/types/models/actions/ActionModel.d.ts +1 -1
- package/types/models/attributes/AttributeCollection.d.ts +5 -1
- package/types/models/attributes/AttributeSetModel.d.ts +2 -1
- package/types/models/attributes/ChoiceAttributeOptionCollection.d.ts +7 -5
- package/types/models/attributes/ChoiceAttributeOptionModel.d.ts +7 -3
- package/types/models/attributes/CompositeAttributeChildCollection.d.ts +4 -3
- package/types/models/attributes/DatetimeAttributeModel.d.ts +66 -45
- package/types/models/attributes/_createAttribute.d.ts +2 -1
- package/types/models/attributes/input-constraints/DateBoundaryConstraint.d.ts +56 -40
- package/types/models/attributes/input-constraints/DatetimeFormatConstraint.d.ts +64 -42
- package/types/models/attributes/input-constraints/RangeConstraint.d.ts +55 -41
- package/types/models/base/BaseModel.d.ts +12 -1
- package/types/models/concepts/ConceptDetailModel.d.ts +4 -4
- package/types/models/concepts/ConceptIndexModel.d.ts +4 -0
- package/types/models/concepts/ConceptLinkModel.d.ts +2 -5
- package/types/models/concepts/ConceptRelationCollection.d.ts +3 -1
- package/types/models/concepts/ConceptRelationModel.d.ts +3 -1
- package/types/models/concepts/ConceptTypeDetailModel.d.ts +5 -9
- package/types/models/concepts/SourceReferenceCollection.d.ts +2 -1
- package/types/models/concepts/SourceReferenceModel.d.ts +3 -1
- package/types/models/content/ContentLinkModel.d.ts +2 -1
- package/types/models/content/SectionModel.d.ts +2 -1
- package/types/models/content/SubSectionModel.d.ts +6 -1
- package/types/models/error/ErrorResponse.d.ts +9 -1
- package/types/models/filters/FilterCollection.d.ts +3 -2
- package/types/models/grouping/GroupingModel.d.ts +4 -3
- package/types/models/href/Href.d.ts +26 -3
- package/types/models/index.d.ts +1 -0
- package/types/models/links/LinkCollection.d.ts +2 -1
- package/types/models/links/LinkModel.d.ts +3 -2
- package/types/models/list/ListItemModel.d.ts +2 -1
- package/types/models/lookup/LookupOptionCollection.d.ts +2 -1
- package/types/models/modelcatalog/ModelCatalogModel.d.ts +5 -0
- package/types/models/modelcatalog/ModelCategoryCollection.d.ts +11 -0
- package/types/models/modelcatalog/ModelCategoryModel.d.ts +39 -0
- package/types/models/taskgroup/TaskGroupModel.d.ts +2 -1
- package/types/models/types.d.ts +4 -0
- package/types/modularui/CaptchaRequest.d.ts +9 -0
- package/types/modularui/ModularUIRequest.d.ts +14 -1
- package/types/modularui/ModularUIResponse.d.ts +22 -0
- package/types/modularui/UploadRequest.d.ts +7 -1
- package/types/redux/_modularui/types.d.ts +3 -0
- package/types/redux/types.d.ts +8 -1
- package/types/utils/datetime/DateTimeUtil.d.ts +91 -45
- package/types/utils/fetch/types.d.ts +2 -0
- package/types/utils/helpers/createHref.d.ts +4 -3
- 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.
|
|
93
|
-
"max-date": this.maxDate ? this.formatUtil.toFormat(this.maxDate, this.
|
|
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.
|
|
100
|
-
"max-date": this.maxDate ? this.formatUtil.toFormat(this.maxDate, this.
|
|
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.
|
|
111
|
+
? this.formatUtil.toFormat(this.minDate, this._formatNoOffset)
|
|
109
112
|
: null,
|
|
110
113
|
"max-date": this.maxDate
|
|
111
|
-
? this.formatUtil.toFormat(this.maxDate, this.
|
|
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
|
@@ -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.
|
|
111
|
+
? this.formatUtil.toFormat(this.minDate, this._formatNoOffset)
|
|
109
112
|
: null,
|
|
110
113
|
"max-date": this.maxDate
|
|
111
|
-
? this.formatUtil.toFormat(this.maxDate, this.
|
|
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
|
|
10
|
-
export function
|
|
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>,
|
|
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,
|
|
8
|
-
constructor(
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
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,
|
|
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";
|