@beinformed/ui 1.58.4 → 1.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/esm/constants/Constants.js +10 -0
  3. package/esm/constants/Constants.js.map +1 -1
  4. package/esm/constants/Settings.js +5 -1
  5. package/esm/constants/Settings.js.map +1 -1
  6. package/esm/models/attributes/DatetimeAttributeModel.js +39 -4
  7. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  8. package/esm/models/attributes/input-constraints/DatetimeFormatConstraint.js +31 -2
  9. package/esm/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
  10. package/esm/react-client/client.js +2 -1
  11. package/esm/react-client/client.js.map +1 -1
  12. package/esm/react-server/serverUtil.js +2 -1
  13. package/esm/react-server/serverUtil.js.map +1 -1
  14. package/esm/redux/actions/Preferences.js +15 -1
  15. package/esm/redux/actions/Preferences.js.map +1 -1
  16. package/esm/utils/datetime/DateTimeUtil.js +292 -94
  17. package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
  18. package/lib/constants/Constants.js +11 -1
  19. package/lib/constants/Constants.js.flow +11 -0
  20. package/lib/constants/Constants.js.map +1 -1
  21. package/lib/constants/Settings.js +7 -2
  22. package/lib/constants/Settings.js.flow +6 -0
  23. package/lib/constants/Settings.js.map +1 -1
  24. package/lib/models/attributes/DatetimeAttributeModel.js +38 -3
  25. package/lib/models/attributes/DatetimeAttributeModel.js.flow +54 -4
  26. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  27. package/lib/models/attributes/__tests__/DatetimeAttributeModel.spec.js.flow +9 -0
  28. package/lib/models/attributes/__tests__/DatetimeAttributeModel_offset.spec.js.flow +306 -0
  29. package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js +31 -2
  30. package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js.flow +42 -3
  31. package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
  32. package/lib/react-client/client.js +1 -0
  33. package/lib/react-client/client.js.flow +2 -0
  34. package/lib/react-client/client.js.map +1 -1
  35. package/lib/react-server/__tests__/serverUtil.spec.js.flow +12 -0
  36. package/lib/react-server/serverUtil.js +1 -0
  37. package/lib/react-server/serverUtil.js.flow +2 -0
  38. package/lib/react-server/serverUtil.js.map +1 -1
  39. package/lib/redux/actions/Preferences.js +17 -2
  40. package/lib/redux/actions/Preferences.js.flow +22 -0
  41. package/lib/redux/actions/Preferences.js.map +1 -1
  42. package/lib/redux/reducers/__tests__/ModelCatalogReducer.spec.js.flow +23 -0
  43. package/lib/utils/datetime/DateTimeUtil.js +292 -93
  44. package/lib/utils/datetime/DateTimeUtil.js.flow +482 -172
  45. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  46. package/lib/utils/datetime/__tests__/DateTime.spec.js.flow +771 -483
  47. package/package.json +11 -9
  48. package/src/constants/Constants.js +11 -0
  49. package/src/constants/Settings.js +6 -0
  50. package/src/models/attributes/DatetimeAttributeModel.js +54 -4
  51. package/src/models/attributes/__tests__/DatetimeAttributeModel.spec.js +9 -0
  52. package/src/models/attributes/__tests__/DatetimeAttributeModel_offset.spec.js +306 -0
  53. package/src/models/attributes/input-constraints/DatetimeFormatConstraint.js +42 -3
  54. package/src/react-client/client.js +2 -0
  55. package/src/react-server/__tests__/serverUtil.spec.js +12 -0
  56. package/src/react-server/serverUtil.js +2 -0
  57. package/src/redux/actions/Preferences.js +22 -0
  58. package/src/redux/reducers/__tests__/ModelCatalogReducer.spec.js +23 -0
  59. package/src/utils/datetime/DateTimeUtil.js +482 -172
  60. package/src/utils/datetime/__tests__/DateTime.spec.js +771 -483
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeUtil.js","names":["parse","format","isValid","isAfter","isBefore","isSameDay","addSeconds","addMinutes","addHours","addDays","addWeeks","addMonths","addYears","subSeconds","subMinutes","subHours","subDays","subWeeks","subMonths","subYears","startOfMonth","endOfMonth","startOfWeek","getHours","getMinutes","getDay","getWeek","setMilliseconds","setSeconds","setMinutes","setHours","setMonth","setYear","set","nl","enGB","getCookie","getSetting","ISO_DATE_FORMAT","ISO_DATETIME_FORMAT","ISO_TIME_FORMAT","ISO_TIMESTAMP_FORMAT","DEFAULT_WEEK_STARTS_ON","DEFAULT_FIRST_WEEK_CONTAINS_DATE","BaseDateTimeUtil","constructor","isoFormat","_defineProperty","_isoFormat","getLocale","locale","getOptions","weekStartsOn","firstWeekContainsDate","toDate","date","inputFormat","arguments","length","undefined","Date","toFormat","targetFormat","parsedDate","toISO","sourceFormat","now","convertFormat","hasFormat","realDate","formattedValue","isOutsideRange","replace","toUpperCase","inputDate","afterISODate","isSameOrAfter","isSame","beforeISODate","isSameOrBefore","compareDate","getTime","isOther","isWeekend","SATURDAY_NUMBER","SUNDAY_NUMBER","weekDay","amount","subtractSeconds","subtractMinutes","subtractHours","subtractDays","subtractWeeks","subtractMonths","subtractYears","year","month","setHour","hour","setMinute","minute","setSecond","second","milliseconds","setTime","hours","minutes","seconds","DateUtil","DateTimeUtil","TimeUtil","TimestampUtil"],"sources":["../../../src/utils/datetime/DateTimeUtil.js"],"sourcesContent":["// @flow\nimport {\n parse,\n format,\n isValid,\n isAfter,\n isBefore,\n isSameDay,\n addSeconds,\n addMinutes,\n addHours,\n addDays,\n addWeeks,\n addMonths,\n addYears,\n subSeconds,\n subMinutes,\n subHours,\n subDays,\n subWeeks,\n subMonths,\n subYears,\n startOfMonth,\n endOfMonth,\n startOfWeek,\n getHours,\n getMinutes,\n getDay,\n getWeek,\n setMilliseconds,\n setSeconds,\n setMinutes,\n setHours,\n setMonth,\n setYear,\n set,\n} from \"date-fns\";\nimport { nl, enGB } from \"date-fns/locale\";\n\nimport { getCookie } from \"../browser/Cookies\";\n\nimport { getSetting } from \"../../constants/Settings\";\n\nimport {\n ISO_DATE_FORMAT,\n ISO_DATETIME_FORMAT,\n ISO_TIME_FORMAT,\n ISO_TIMESTAMP_FORMAT,\n DEFAULT_WEEK_STARTS_ON,\n DEFAULT_FIRST_WEEK_CONTAINS_DATE,\n} from \"../../constants\";\n\n/**\n * @hideconstructor\n */\nclass BaseDateTimeUtil {\n _isoFormat: string;\n\n constructor(isoFormat: string) {\n this._isoFormat = isoFormat;\n }\n\n /**\n */\n getLocale(): typeof nl | typeof enGB {\n const locale = getCookie(\"locale\") ?? \"en\";\n\n if (locale === \"nl\") {\n return nl;\n }\n\n return enGB;\n }\n\n // returns the options defined in settings\n getOptions(): {\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6,\n firstWeekContainsDate: 1 | 2 | 3 | 4 | 5 | 6 | 7,\n } {\n // indicates on what day the week starts\n const weekStartsOn = getSetting(\n \"CALENDAR_WEEK_STARTS_ON\",\n DEFAULT_WEEK_STARTS_ON,\n );\n\n // indicates which date indicates the first week of the year\n const firstWeekContainsDate = getSetting(\n \"CALENDAR_FIRST_WEEK_CONTAINS_DATE\",\n DEFAULT_FIRST_WEEK_CONTAINS_DATE,\n );\n\n return { weekStartsOn, firstWeekContainsDate };\n }\n\n /**\n */\n toDate(date: string, inputFormat: string = this._isoFormat): Date {\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n\n return parse(date, inputFormat, new Date(), {\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n /**\n */\n toFormat(date: string | Date, targetFormat: string): string {\n const { weekStartsOn } = this.getOptions();\n\n const parsedDate = typeof date === \"string\" ? this.toDate(date) : date;\n\n if (isValid(parsedDate)) {\n return format(parsedDate, targetFormat, {\n weekStartsOn,\n locale: this.getLocale(),\n });\n }\n\n return \"Invalid Date\";\n }\n\n /**\n */\n toISO(date: string | Date, sourceFormat: string = this._isoFormat): string {\n const { weekStartsOn } = this.getOptions();\n\n const parsedDate =\n typeof date === \"string\" ? this.toDate(date, sourceFormat) : date;\n\n if (isValid(parsedDate)) {\n return format(parsedDate, this._isoFormat, {\n weekStartsOn,\n });\n }\n\n return \"Invalid Date\";\n }\n\n /**\n */\n now(): string {\n return this.toISO(new Date());\n }\n\n /**\n */\n convertFormat(sourceFormat: string): string {\n return sourceFormat ? sourceFormat : this._isoFormat;\n }\n\n /**\n * VALIDATION\n */\n hasFormat(date: string, sourceFormat: string): boolean {\n const { weekStartsOn } = this.getOptions();\n\n const realDate = this.toDate(date, sourceFormat);\n if (isValid(realDate)) {\n const formattedValue = format(realDate, sourceFormat, {\n weekStartsOn,\n });\n\n const isOutsideRange =\n isBefore(realDate, new Date(1000, 1, 1)) ||\n isAfter(realDate, new Date(9999, 11, 31));\n if (isOutsideRange) {\n return false;\n }\n\n return (\n formattedValue.replace(/0/gu, \"\").toUpperCase() ===\n date.replace(/0/gu, \"\").toUpperCase()\n );\n }\n\n return false;\n }\n\n /**\n */\n isValid(date: string, inputFormat: string = this._isoFormat): boolean {\n return isValid(this.toDate(date, inputFormat));\n }\n\n /**\n */\n isAfter(\n inputDate: string,\n afterISODate: ?string,\n inputFormat: string = this._isoFormat,\n ): boolean {\n return (\n afterISODate != null &&\n isAfter(this.toDate(inputDate, inputFormat), this.toDate(afterISODate))\n );\n }\n\n /**\n */\n isSameOrAfter(\n inputDate: string,\n afterISODate: ?string,\n inputFormat: string = this._isoFormat,\n ): boolean {\n return (\n afterISODate != null &&\n (this.isAfter(inputDate, afterISODate, inputFormat) ||\n this.isSame(inputDate, afterISODate, inputFormat))\n );\n }\n\n /**\n */\n isBefore(\n inputDate: string,\n beforeISODate: ?string,\n inputFormat: string = this._isoFormat,\n ): boolean {\n return (\n beforeISODate != null &&\n isBefore(this.toDate(inputDate, inputFormat), this.toDate(beforeISODate))\n );\n }\n\n /**\n */\n isSameOrBefore(\n inputDate: string,\n beforeISODate: ?string,\n inputFormat: string = this._isoFormat,\n ): boolean {\n return (\n beforeISODate != null &&\n (this.isBefore(inputDate, beforeISODate, inputFormat) ||\n this.isSame(inputDate, beforeISODate, inputFormat))\n );\n }\n\n /**\n */\n isSame(\n inputDate: string,\n compareDate: ?string,\n inputFormat: string = this._isoFormat,\n ): boolean {\n return (\n compareDate != null &&\n this.toDate(inputDate, inputFormat).getTime() ===\n this.toDate(compareDate).getTime()\n );\n }\n\n /**\n */\n isSameDay(\n inputDate: string,\n compareDate: string,\n inputFormat: string = this._isoFormat,\n ): boolean {\n return (\n compareDate != null &&\n isSameDay(\n this.toDate(inputDate, inputFormat),\n this.toDate(compareDate, inputFormat),\n )\n );\n }\n\n /**\n */\n isOther(\n inputDate: string,\n compareDate: ?string,\n inputFormat: string = this._isoFormat,\n ): boolean {\n return !this.isSame(inputDate, compareDate, inputFormat);\n }\n\n /**\n */\n isWeekend(inputDate: string): boolean {\n const SATURDAY_NUMBER = 6;\n const SUNDAY_NUMBER = 0;\n const weekDay = getDay(this.toDate(inputDate));\n\n return weekDay === SATURDAY_NUMBER || weekDay === SUNDAY_NUMBER;\n }\n\n /**\n * CALCULATIONS\n */\n addSeconds(date: string, amount: number): string {\n return this.toISO(addSeconds(this.toDate(date), amount));\n }\n\n /**\n */\n addMinutes(date: string, amount: number): string {\n return this.toISO(addMinutes(this.toDate(date), amount));\n }\n\n /**\n */\n addHours(date: string, amount: number): string {\n return this.toISO(addHours(this.toDate(date), amount));\n }\n\n /**\n */\n addDays(date: string, amount: number): string {\n return this.toISO(addDays(this.toDate(date), amount));\n }\n\n /**\n */\n addWeeks(date: string, amount: number): string {\n return this.toISO(addWeeks(this.toDate(date), amount));\n }\n\n /**\n */\n addMonths(date: string, amount: number): string {\n return this.toISO(addMonths(this.toDate(date), amount));\n }\n\n /**\n */\n addYears(date: string, amount: number): string {\n return this.toISO(addYears(this.toDate(date), amount));\n }\n\n /**\n */\n subtractSeconds(date: string, amount: number): string {\n return this.toISO(subSeconds(this.toDate(date), amount));\n }\n\n /**\n */\n subtractMinutes(date: string, amount: number): string {\n return this.toISO(subMinutes(this.toDate(date), amount));\n }\n\n /**\n */\n subtractHours(date: string, amount: number): string {\n return this.toISO(subHours(this.toDate(date), amount));\n }\n\n /**\n */\n subtractDays(date: string, amount: number): string {\n return this.toISO(subDays(this.toDate(date), amount));\n }\n\n /**\n */\n subtractWeeks(date: string, amount: number): string {\n return this.toISO(subWeeks(this.toDate(date), amount));\n }\n\n /**\n */\n subtractMonths(date: string, amount: number): string {\n return this.toISO(subMonths(this.toDate(date), amount));\n }\n\n /**\n */\n subtractYears(date: string, amount: number): string {\n return this.toISO(subYears(this.toDate(date), amount));\n }\n\n /**\n * GETTERS\n */\n startOfMonth(date: string, inputFormat: string = this._isoFormat): string {\n return this.toISO(startOfMonth(this.toDate(date, inputFormat)));\n }\n\n /**\n */\n endOfMonth(date: string, inputFormat: string = this._isoFormat): string {\n return this.toISO(endOfMonth(this.toDate(date, inputFormat)));\n }\n\n /**\n */\n startOfWeek(date: string, inputFormat: string = this._isoFormat): string {\n const { weekStartsOn } = this.getOptions();\n\n return this.toISO(\n startOfWeek(this.toDate(date, inputFormat), {\n weekStartsOn,\n }),\n );\n }\n\n /**\n */\n getHours(date: string | Date): number {\n const parsedDate = typeof date === \"string\" ? this.toDate(date) : date;\n return getHours(parsedDate);\n }\n\n /**\n */\n getMinutes(date: string | Date): number {\n const parsedDate = typeof date === \"string\" ? this.toDate(date) : date;\n return getMinutes(parsedDate);\n }\n\n /**\n */\n getWeek(date: string): number {\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n\n return getWeek(this.toDate(date), {\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n /**\n * SETTERS\n */\n setYear(date: string, year: number): string {\n return this.toISO(setYear(this.toDate(date), year));\n }\n\n /**\n */\n setMonth(date: string, month: number): string {\n return this.toISO(setMonth(this.toDate(date), month));\n }\n\n /**\n */\n setHour(date: string, hour: number): string {\n return this.toISO(setHours(this.toDate(date), hour));\n }\n\n /**\n */\n setMinute(date: string, minute: number): string {\n return this.toISO(setMinutes(this.toDate(date), minute));\n }\n\n /**\n */\n setSecond(date: string, second: number): string {\n return this.toISO(setSeconds(this.toDate(date), second));\n }\n\n /**\n */\n setMilliseconds(date: string, milliseconds: number): string {\n return this.toISO(setMilliseconds(this.toDate(date), milliseconds));\n }\n\n /**\n */\n setTime(\n date: string,\n hours: number,\n minutes: number,\n seconds: number,\n milliseconds: number,\n ): string {\n return this.toISO(\n set(this.toDate(date), {\n hours,\n minutes,\n seconds,\n milliseconds,\n }),\n );\n }\n}\n\n/**\n * DateUtil\n */\nconst DateUtil: BaseDateTimeUtil = new BaseDateTimeUtil(ISO_DATE_FORMAT);\n\n/**\n * DateTimeUtil\n */\nconst DateTimeUtil: BaseDateTimeUtil = new BaseDateTimeUtil(\n ISO_DATETIME_FORMAT,\n);\n\n/**\n * TimeUtil\n */\nconst TimeUtil: BaseDateTimeUtil = new BaseDateTimeUtil(ISO_TIME_FORMAT);\n\n/**\n * TimestampUtil\n */\nconst TimestampUtil: BaseDateTimeUtil = new BaseDateTimeUtil(\n ISO_TIMESTAMP_FORMAT,\n);\n\nexport { DateUtil, DateTimeUtil, TimeUtil, TimestampUtil };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DateTimeUtil.js","names":["format","isAfter","isBefore","isSameDay","isValid","parse","add","sub","set","startOfMonth","endOfMonth","startOfWeek","getHours","getMinutes","getDay","getWeek","enGB","nl","tz","soft","DATETIME_OFFSET_FORMAT","DEFAULT_FIRST_WEEK_CONTAINS_DATE","DEFAULT_WEEK_STARTS_ON","getSetting","IS_GRAALJS","isIncludeTimeOffsetInDateTimes","ISO_DATE_FORMAT","ISO_DATETIME_FORMAT","ISO_TIME_FORMAT","ISO_TIMESTAMP_FORMAT","getCookie","BaseDateTimeUtil","constructor","isoFormat","_defineProperty","Intl","DateTimeFormat","resolvedOptions","timeZone","_isoFormat","getOptions","weekStartsOn","firstWeekContainsDate","getIsoFormat","_context","_startsWithInstanceProperty","call","convertFormat","sourceFormat","getLocale","locale","toDate","date","inputFormat","arguments","length","undefined","Date","in","getDateFnsContext","toFormat","isoDate","targetFormat","parsedDate","toISO","now","hasFormat","formattedValue","isOutsideRange","replace","toUpperCase","inputDate","afterISODate","isSameOrAfter","isSame","beforeISODate","isSameOrBefore","compareDate","getTime","isOther","isWeekend","SATURDAY_NUMBER","SUNDAY_NUMBER","weekDay","isAmbiguous","dateTime","t","a","_mapInstanceProperty","x","newDate","minutes","time","indexOf","_calculate","calculationFn","property","value","addSeconds","amount","addMinutes","addHours","addDays","addWeeks","addMonths","addYears","subtractSeconds","subtractMinutes","subtractHours","subtractDays","subtractWeeks","subtractMonths","subtractYears","_get","method","options","_set","setYear","year","setMonth","month","setDay","day","setHour","hour","setMinute","minute","setSecond","second","setMilliseconds","millisecond","setTime","hours","seconds","milliseconds","getTimeZone","_timeZone","setTimeZone","getOffset","dateOffset","offsets","getTimezoneOffsets","daylight","standard","createOffsetObject","info","_context2","_context3","sign","offset","absOffset","Math","abs","_Math$trunc","round","offsetString","_padStartInstanceProperty","String","label","name","abbr","timezone","DateUtil","DateTimeUtil","TimeUtil","TimestampUtil"],"sources":["../../../src/utils/datetime/DateTimeUtil.js"],"sourcesContent":["// @flow\nimport {\n format,\n isAfter,\n isBefore,\n isSameDay,\n isValid,\n parse,\n add,\n sub,\n set,\n startOfMonth,\n endOfMonth,\n startOfWeek,\n getHours,\n getMinutes,\n getDay,\n getWeek,\n} from \"date-fns\";\nimport { enGB, nl } from \"date-fns/locale\";\nimport { tz } from \"@date-fns/tz\";\n\nimport soft from \"timezone-soft\";\n\nimport {\n DATETIME_OFFSET_FORMAT,\n DEFAULT_FIRST_WEEK_CONTAINS_DATE,\n DEFAULT_WEEK_STARTS_ON,\n getSetting,\n IS_GRAALJS,\n isIncludeTimeOffsetInDateTimes,\n ISO_DATE_FORMAT,\n ISO_DATETIME_FORMAT,\n ISO_TIME_FORMAT,\n ISO_TIMESTAMP_FORMAT,\n} from \"../../constants\";\n\nimport { getCookie } from \"../browser/Cookies\";\n\ntype OffsetInfoInput = {\n abbr: string,\n offset: number,\n name: string,\n};\n\nexport type OffsetInfo = {\n abbr: string,\n label: string,\n value: string,\n};\n\n/**\n * @hideconstructor\n */\nclass BaseDateTimeUtil {\n _isoFormat: string;\n _timeZone: string =\n typeof Intl === \"undefined\"\n ? \"Etc/UTC\"\n : Intl.DateTimeFormat().resolvedOptions().timeZone || \"Etc/UTC\";\n\n constructor(isoFormat: string) {\n this._isoFormat = isoFormat;\n }\n\n /**\n * Returns the options defined in settings\n */\n getOptions(): {\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6,\n firstWeekContainsDate: 1 | 2 | 3 | 4 | 5 | 6 | 7,\n } {\n // indicates on what day the week starts\n const weekStartsOn = getSetting(\n \"CALENDAR_WEEK_STARTS_ON\",\n DEFAULT_WEEK_STARTS_ON,\n );\n\n // indicates which date indicates the first week of the year\n const firstWeekContainsDate = getSetting(\n \"CALENDAR_FIRST_WEEK_CONTAINS_DATE\",\n DEFAULT_FIRST_WEEK_CONTAINS_DATE,\n );\n\n return { weekStartsOn, firstWeekContainsDate };\n }\n\n /**\n */\n getIsoFormat(): string {\n if (\n isIncludeTimeOffsetInDateTimes() &&\n this._isoFormat.startsWith(ISO_DATETIME_FORMAT)\n ) {\n return this._isoFormat + DATETIME_OFFSET_FORMAT;\n }\n return this._isoFormat;\n }\n\n /**\n */\n convertFormat(sourceFormat: string): string {\n return sourceFormat ? sourceFormat : this.getIsoFormat();\n }\n\n /**\n */\n getLocale(): typeof nl | typeof enGB {\n const locale = getCookie(\"locale\") ?? \"en\";\n\n if (locale === \"nl\") {\n return nl;\n }\n\n return enGB;\n }\n\n /**\n */\n toDate(date: string | Date, inputFormat: string = this.getIsoFormat()): Date {\n if (date instanceof Date) {\n return date;\n }\n\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n\n return parse(date, inputFormat, new Date(), {\n in: this.getDateFnsContext(),\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n /**\n */\n toFormat(\n isoDate: string | Date,\n targetFormat: string,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const { weekStartsOn } = this.getOptions();\n\n const parsedDate = this.toDate(isoDate, inputFormat);\n\n if (isValid(parsedDate)) {\n return format(parsedDate, targetFormat, {\n in: this.getDateFnsContext(),\n weekStartsOn,\n locale: this.getLocale(),\n });\n }\n\n return \"Invalid Date\";\n }\n\n /**\n */\n toISO(\n date: string | Date,\n sourceFormat: string = this.getIsoFormat(),\n ): string {\n return this.toFormat(date, this.getIsoFormat(), sourceFormat);\n }\n\n /**\n */\n now(): string {\n return this.toISO(new Date());\n }\n\n //////////// VALIDATION\n\n /**\n */\n hasFormat(date: string, sourceFormat: string): boolean {\n const formattedValue = this.toFormat(date, sourceFormat, sourceFormat);\n if (formattedValue === \"Invalid Date\") {\n return false;\n }\n\n const isOutsideRange =\n isBefore(formattedValue, new Date(1000, 1, 1)) ||\n isAfter(formattedValue, new Date(9999, 11, 31));\n if (isOutsideRange) {\n return false;\n }\n\n return (\n formattedValue.replace(/0/gu, \"\").toUpperCase() ===\n date.replace(/0/gu, \"\").toUpperCase()\n );\n }\n\n /**\n */\n isValid(\n date: string | Date | null | void,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n if (!date) {\n return false;\n }\n\n const parsedDate = this.toDate(date, inputFormat);\n return isValid(parsedDate);\n }\n\n /**\n */\n isAfter(\n inputDate: string | Date,\n afterISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n afterISODate != null &&\n isAfter(this.toDate(inputDate, inputFormat), this.toDate(afterISODate))\n );\n }\n\n /**\n */\n isSameOrAfter(\n inputDate: string | Date,\n afterISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n afterISODate != null &&\n (this.isAfter(inputDate, afterISODate, inputFormat) ||\n this.isSame(inputDate, afterISODate, inputFormat))\n );\n }\n\n /**\n */\n isBefore(\n inputDate: string | Date,\n beforeISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n beforeISODate != null &&\n isBefore(this.toDate(inputDate, inputFormat), this.toDate(beforeISODate))\n );\n }\n\n /**\n */\n isSameOrBefore(\n inputDate: string | Date,\n beforeISODate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n beforeISODate != null &&\n (this.isBefore(inputDate, beforeISODate, inputFormat) ||\n this.isSame(inputDate, beforeISODate, inputFormat))\n );\n }\n\n /**\n */\n isSame(\n inputDate: string | Date,\n compareDate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n compareDate != null &&\n this.toDate(inputDate, inputFormat).getTime() ===\n this.toDate(compareDate).getTime()\n );\n }\n\n /**\n */\n isSameDay(\n inputDate: string | Date,\n compareDate: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return (\n compareDate != null &&\n isSameDay(\n this.toDate(inputDate, inputFormat),\n this.toDate(compareDate, inputFormat),\n )\n );\n }\n\n /**\n */\n isOther(\n inputDate: string | Date,\n compareDate: ?string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n return !this.isSame(inputDate, compareDate, inputFormat);\n }\n\n /**\n */\n isWeekend(inputDate: string | Date): boolean {\n const SATURDAY_NUMBER = 6;\n const SUNDAY_NUMBER = 0;\n const weekDay = getDay(this.toDate(inputDate));\n\n return weekDay === SATURDAY_NUMBER || weekDay === SUNDAY_NUMBER;\n }\n\n /**\n * Checks if a given local date and time is ambiguous in the specified timezone.\n * Ambiguity happens during the end of daylight saving time (DST) transitions.\n */\n isAmbiguous(\n inputDate: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): boolean {\n if (inputDate == null || typeof Intl === \"undefined\") {\n return false;\n }\n\n const dateTime = this.toDate(inputDate, inputFormat);\n if (!isValid(dateTime)) {\n return false;\n }\n\n const t = [60, -60, 30, -30];\n const a = t.map((x) => {\n const newDate = add(dateTime, { minutes: x });\n return format(newDate, \"HH:mm\");\n });\n const time = format(dateTime, \"HH:mm\");\n return a.indexOf(time) > -1;\n }\n\n //////////// CALCULATIONS\n\n /**\n * @private\n */\n _calculate(\n date: string | Date,\n calculationFn: Function,\n property: string,\n value: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n calculationFn(\n parsedDate,\n { [property]: value },\n {\n in: this.getDateFnsContext(),\n },\n ),\n );\n }\n\n /**\n */\n addSeconds(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"seconds\", amount, inputFormat);\n }\n\n /**\n */\n addMinutes(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"minutes\", amount, inputFormat);\n }\n\n /**\n */\n addHours(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"hours\", amount, inputFormat);\n }\n\n /**\n */\n addDays(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"days\", amount, inputFormat);\n }\n\n /**\n */\n addWeeks(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"weeks\", amount, inputFormat);\n }\n\n /**\n */\n addMonths(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"months\", amount, inputFormat);\n }\n\n /**\n */\n addYears(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, add, \"years\", amount, inputFormat);\n }\n\n /**\n */\n subtractSeconds(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"seconds\", amount, inputFormat);\n }\n\n /**\n */\n subtractMinutes(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"minutes\", amount, inputFormat);\n }\n\n /**\n */\n subtractHours(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"hours\", amount, inputFormat);\n }\n\n /**\n */\n subtractDays(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"days\", amount, inputFormat);\n }\n\n /**\n */\n subtractWeeks(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"weeks\", amount, inputFormat);\n }\n\n /**\n */\n subtractMonths(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"months\", amount, inputFormat);\n }\n\n /**\n */\n subtractYears(\n date: string,\n amount: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._calculate(date, sub, \"years\", amount, inputFormat);\n }\n\n //////////// GETTERS\n\n /**\n * @private\n */\n _get(\n date: string | Date,\n method: Function,\n inputFormat: string = this.getIsoFormat(),\n options: Object = {},\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n method(parsedDate, {\n in: this.getDateFnsContext(),\n ...options,\n }),\n );\n }\n\n /**\n */\n startOfMonth(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._get(date, startOfMonth, inputFormat);\n }\n\n /**\n */\n endOfMonth(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._get(date, endOfMonth, inputFormat);\n }\n\n /**\n */\n startOfWeek(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const { weekStartsOn } = this.getOptions();\n return this._get(date, startOfWeek, inputFormat, {\n weekStartsOn,\n });\n }\n\n /**\n */\n getHours(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): number {\n const parsedDate = this.toDate(date, inputFormat);\n return getHours(parsedDate, { in: this.getDateFnsContext() });\n }\n\n /**\n */\n getMinutes(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): number {\n const parsedDate = this.toDate(date, inputFormat);\n return getMinutes(parsedDate, { in: this.getDateFnsContext() });\n }\n\n /**\n */\n getWeek(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): number {\n const { weekStartsOn, firstWeekContainsDate } = this.getOptions();\n const parsedDate = this.toDate(date, inputFormat);\n return getWeek(parsedDate, {\n in: this.getDateFnsContext(),\n weekStartsOn,\n firstWeekContainsDate,\n });\n }\n\n //////////// SETTERS\n\n /**\n * @private\n */\n _set(\n date: string | Date,\n property: string,\n value: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n set(\n parsedDate,\n { [property]: value },\n // {\n // in: this.getDateFnsContext(),\n // },\n ),\n );\n }\n\n /**\n */\n setYear(\n date: string | Date,\n year: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"year\", year, inputFormat);\n }\n\n /**\n */\n setMonth(\n date: string | Date,\n month: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"month\", month, inputFormat);\n }\n\n /**\n */\n setDay(\n date: string | Date,\n day: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"date\", day, inputFormat);\n }\n\n /**\n */\n setHour(\n date: string | Date,\n hour: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"hours\", hour, inputFormat);\n }\n\n /**\n */\n setMinute(\n date: string | Date,\n minute: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"minutes\", minute, inputFormat);\n }\n\n /**\n */\n setSecond(\n date: string | Date,\n second: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"seconds\", second, inputFormat);\n }\n\n /**\n */\n setMilliseconds(\n date: string | Date,\n millisecond: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n return this._set(date, \"milliseconds\", millisecond, inputFormat);\n }\n\n /**\n */\n setTime(\n date: string,\n hours: number,\n minutes: number,\n seconds: number,\n milliseconds: number,\n inputFormat: string = this.getIsoFormat(),\n ): string {\n const parsedDate = this.toDate(date, inputFormat);\n return this.toISO(\n set(\n parsedDate,\n { hours, minutes, seconds, milliseconds },\n {\n in: this.getDateFnsContext(),\n },\n ),\n );\n }\n\n //////////// Timezone related\n\n /**\n */\n getTimeZone(): string {\n return this._timeZone;\n }\n\n /**\n */\n setTimeZone(timeZone: string) {\n this._timeZone = timeZone;\n }\n\n /**\n */\n getDateFnsContext(): null | Function {\n if (IS_GRAALJS) {\n return null; // tz method does not work in graal (yet)\n }\n return tz(this.getTimeZone());\n }\n\n //////////// Offsets\n\n /**\n */\n getOffset(\n date: string | Date,\n inputFormat: string = this.getIsoFormat(),\n ): OffsetInfo | null {\n const parsedDate = this.toDate(date, inputFormat);\n if (isValid(parsedDate)) {\n const dateOffset = this.toFormat(parsedDate, DATETIME_OFFSET_FORMAT);\n const offsets = this.getTimezoneOffsets();\n if (\n typeof offsets.daylight !== \"undefined\" &&\n offsets.daylight.value === dateOffset\n ) {\n return offsets.daylight;\n } else if (\n typeof offsets.standard !== \"undefined\" &&\n offsets.standard.value === dateOffset\n ) {\n return offsets.standard;\n }\n }\n return null;\n }\n\n /**\n */\n getTimezoneOffsets(): {\n standard?: OffsetInfo,\n daylight?: OffsetInfo,\n } {\n const createOffsetObject = (info: OffsetInfoInput): OffsetInfo => {\n const sign = info.offset < 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(info.offset);\n const hours = Math.trunc(absOffset);\n const minutes = Math.round((absOffset % 1) * 60);\n\n const offsetString = `${sign}${String(hours + (minutes === 60 ? 1 : 0)).padStart(2, \"0\")}:${String(minutes % 60).padStart(2, \"0\")}`;\n\n return {\n label: info.name,\n abbr: info.abbr,\n value: offsetString,\n };\n };\n\n const timezone = soft(this.getTimeZone());\n\n if (timezone.length === 0) {\n return {};\n }\n\n const { daylight, standard } = timezone[0];\n\n if (daylight) {\n return {\n daylight: createOffsetObject(daylight),\n standard: createOffsetObject(standard),\n };\n }\n\n return { standard: createOffsetObject(standard) };\n }\n}\n\n/**\n * DateUtil\n */\nconst DateUtil: BaseDateTimeUtil = new BaseDateTimeUtil(ISO_DATE_FORMAT);\n\n/**\n * DateTimeUtil\n */\nconst DateTimeUtil: BaseDateTimeUtil = new BaseDateTimeUtil(\n ISO_DATETIME_FORMAT,\n);\n\n/**\n * TimeUtil\n */\nconst TimeUtil: BaseDateTimeUtil = new BaseDateTimeUtil(ISO_TIME_FORMAT);\n\n/**\n * TimestampUtil\n */\nconst TimestampUtil: BaseDateTimeUtil = new BaseDateTimeUtil(\n ISO_TIMESTAMP_FORMAT,\n);\n\nexport { DateUtil, DateTimeUtil, TimeUtil, TimestampUtil };\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.VALIDATE_DEBOUNCE_TIMEOUT = exports.USERPROFILE_PATH = exports.UPLOAD_PATH = exports.TIMEVERSION_FILTER_NAME = exports.RESOURCE_PATH = exports.PARAMETER_SEPARATOR = exports.NOTIFICATION_TYPES = exports.MODULARUI_STATUS = exports.LOGOUT_PATH_SETTING = exports.LOGIN_USERNAME_SETTING = exports.LOGIN_TYPE = exports.LOGIN_PATH_SETTING = exports.LOGIN_PASSWORD_SETTING = exports.KEYCODES = exports.IS_SYNC = exports.IS_SERVER = exports.ISO_TIME_FORMAT = exports.ISO_TIMESTAMP_FORMAT = exports.ISO_DATE_FORMAT = exports.ISO_DATETIME_FORMAT = exports.INTERNAL_LOGIN_TYPE = exports.INPUT_DEBOUNCE_TIMEOUT = exports.HTTP_METHODS = exports.DEFAULT_WEEK_STARTS_ON = exports.DEFAULT_UI_PARAMETERS = exports.DEFAULT_FIRST_WEEK_CONTAINS_DATE = exports.DEFAULT_AUTHENTICATION_TYPE = exports.CONTENT_PATH = exports.CHANGEPASSWORD_PATH = exports.CHANGEAVATAR_PATH = exports.CAPTCHA_PATH = exports.AUTOSAVE_STATUS = exports.ATTRIBUTE_WIDTH = exports.ALL_CONTENT_IN_DATA_SETTING = void 0;
6
+ exports.VALIDATE_DEBOUNCE_TIMEOUT = exports.USERPROFILE_PATH = exports.UPLOAD_PATH = exports.TIMEVERSION_FILTER_NAME = exports.RESOURCE_PATH = exports.PARAMETER_SEPARATOR = exports.NOTIFICATION_TYPES = exports.MODULARUI_STATUS = exports.LOGOUT_PATH_SETTING = exports.LOGIN_USERNAME_SETTING = exports.LOGIN_TYPE = exports.LOGIN_PATH_SETTING = exports.LOGIN_PASSWORD_SETTING = exports.KEYCODES = exports.IS_SYNC = exports.IS_SERVER = exports.IS_GRAALJS = exports.ISO_TIME_FORMAT = exports.ISO_TIMESTAMP_FORMAT = exports.ISO_DATE_FORMAT = exports.ISO_DATETIME_FORMAT = exports.INTERNAL_LOGIN_TYPE = exports.INPUT_DEBOUNCE_TIMEOUT = exports.INCLUDE_TIME_OFFSET = exports.HTTP_METHODS = exports.DEFAULT_WEEK_STARTS_ON = exports.DEFAULT_UI_PARAMETERS = exports.DEFAULT_FIRST_WEEK_CONTAINS_DATE = exports.DEFAULT_AUTHENTICATION_TYPE = exports.DATETIME_OFFSET_FORMAT = exports.CONTENT_PATH = exports.CHANGEPASSWORD_PATH = exports.CHANGEAVATAR_PATH = exports.CAPTCHA_PATH = exports.AUTOSAVE_STATUS = exports.ATTRIBUTE_WIDTH = exports.ALL_CONTENT_IN_DATA_SETTING = void 0;
7
7
  /**
8
8
  * path to content service
9
9
  */
@@ -66,6 +66,10 @@ const ISO_TIME_FORMAT = exports.ISO_TIME_FORMAT = "HH:mm:ss";
66
66
  /**
67
67
  */
68
68
  const ISO_TIMESTAMP_FORMAT = exports.ISO_TIMESTAMP_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS";
69
+ /**
70
+ * Offset format is appended to iso datetime and timestamp when isIncludeTimeOffsetInDateTimes = true
71
+ */
72
+ const DATETIME_OFFSET_FORMAT = exports.DATETIME_OFFSET_FORMAT = "xxx";
69
73
  /**
70
74
  * week starts on monday by default
71
75
  */
@@ -101,6 +105,11 @@ const IS_SYNC = exports.IS_SYNC = typeof dataFetcher !== "undefined";
101
105
  * @type {boolean}
102
106
  */
103
107
  const IS_SERVER = exports.IS_SERVER = IS_SYNC;
108
+ /**
109
+ * @type {boolean}
110
+ */
111
+ // $FlowExpectedError[cannot-resolve-name]
112
+ const IS_GRAALJS = exports.IS_GRAALJS = typeof Graal !== "undefined";
104
113
 
105
114
  /**
106
115
  * @type {{SUCCESS: string, ERROR: string, INFO: string, WARNING: string}}
@@ -161,6 +170,7 @@ const ATTRIBUTE_WIDTH = exports.ATTRIBUTE_WIDTH = {
161
170
  EXTRA_LARGE: "EXTRA_LARGE"
162
171
  };
163
172
  const ALL_CONTENT_IN_DATA_SETTING = exports.ALL_CONTENT_IN_DATA_SETTING = "hasAllContentInData";
173
+ const INCLUDE_TIME_OFFSET = exports.INCLUDE_TIME_OFFSET = "isIncludeTimeOffsetInDateTimes";
164
174
  const INTERNAL_LOGIN_TYPE = exports.INTERNAL_LOGIN_TYPE = {
165
175
  JAAS: "JAAS",
166
176
  PAC4J_FORM: "PAC4J_FORM",
@@ -64,6 +64,10 @@ export const ISO_TIME_FORMAT = "HH:mm:ss";
64
64
  /**
65
65
  */
66
66
  export const ISO_TIMESTAMP_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS";
67
+ /**
68
+ * Offset format is appended to iso datetime and timestamp when isIncludeTimeOffsetInDateTimes = true
69
+ */
70
+ export const DATETIME_OFFSET_FORMAT = "xxx";
67
71
  /**
68
72
  * week starts on monday by default
69
73
  */
@@ -99,6 +103,11 @@ export const IS_SYNC = typeof dataFetcher !== "undefined";
99
103
  * @type {boolean}
100
104
  */
101
105
  export const IS_SERVER = IS_SYNC;
106
+ /**
107
+ * @type {boolean}
108
+ */
109
+ // $FlowExpectedError[cannot-resolve-name]
110
+ export const IS_GRAALJS = typeof Graal !== "undefined";
102
111
 
103
112
  /**
104
113
  * @type {{SUCCESS: string, ERROR: string, INFO: string, WARNING: string}}
@@ -161,6 +170,8 @@ export const ATTRIBUTE_WIDTH = {
161
170
 
162
171
  export const ALL_CONTENT_IN_DATA_SETTING = "hasAllContentInData";
163
172
 
173
+ export const INCLUDE_TIME_OFFSET = "isIncludeTimeOffsetInDateTimes";
174
+
164
175
  export const INTERNAL_LOGIN_TYPE = {
165
176
  JAAS: "JAAS",
166
177
  PAC4J_FORM: "PAC4J_FORM",
@@ -1 +1 @@
1
- {"version":3,"file":"Constants.js","names":["CONTENT_PATH","exports","UPLOAD_PATH","CAPTCHA_PATH","CHANGEAVATAR_PATH","CHANGEPASSWORD_PATH","USERPROFILE_PATH","RESOURCE_PATH","PARAMETER_SEPARATOR","TIMEVERSION_FILTER_NAME","PARAMETER_OVERVIEW_VIEWTYPE","DEFAULT_UI_PARAMETERS","ISO_DATE_FORMAT","ISO_DATETIME_FORMAT","ISO_TIME_FORMAT","ISO_TIMESTAMP_FORMAT","DEFAULT_WEEK_STARTS_ON","DEFAULT_FIRST_WEEK_CONTAINS_DATE","KEYCODES","TAB","ENTER","ESCAPE","SPACE","PAGE_UP","PAGE_DOWN","ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN","IS_SYNC","dataFetcher","IS_SERVER","NOTIFICATION_TYPES","SUCCESS","INFO","WARNING","ERROR","HTTP_METHODS","GET","POST","MODULARUI_STATUS","LOADING","FINISHED","AUTOSAVE_STATUS","START","INPUT_DEBOUNCE_TIMEOUT","VALIDATE_DEBOUNCE_TIMEOUT","ATTRIBUTE_WIDTH","EXTRA_SMALL","SMALL","MEDIUM","LARGE","EXTRA_LARGE","ALL_CONTENT_IN_DATA_SETTING","INTERNAL_LOGIN_TYPE","JAAS","PAC4J_FORM","PAC4J_BASIC","LOGIN_TYPE","LOGIN_PATH_SETTING","LOGIN_USERNAME_SETTING","LOGIN_PASSWORD_SETTING","LOGOUT_PATH_SETTING","DEFAULT_AUTHENTICATION_TYPE","name","authentication","isPrimary"],"sources":["../../src/constants/Constants.js"],"sourcesContent":["// @flow\n/**\n * path to content service\n */\nexport const CONTENT_PATH = `/content`;\n\n/**\n * Upload Path\n */\nexport const UPLOAD_PATH = `/uploadFile`;\n\n/**\n * Captcha Path\n */\nexport const CAPTCHA_PATH = `/captchaServices`;\n\n/**\n * Path to change avatar page / component\n */\nexport const CHANGEAVATAR_PATH = \"/change-avatar\";\n\n/**\n * Path to change password page / component\n */\nexport const CHANGEPASSWORD_PATH = \"/change-password\";\n\n/**\n * Path to user profile page / component\n */\nexport const USERPROFILE_PATH = \"/user\";\n\n/**\n * Path to resources in the Be Informed repository\n */\nexport const RESOURCE_PATH = \"/resource\";\n\n/**\n * Separator for parameters of a list, makes it possible to render multiple lists on a page in a non-js environment\n */\nexport const PARAMETER_SEPARATOR = \"~\";\n\n/**\n * Timeversion filter name\n */\nexport const TIMEVERSION_FILTER_NAME = \"entryDate\";\n\nconst PARAMETER_OVERVIEW_VIEWTYPE = \"viewType\";\n/**\n * Parameter name for the viewtype toggle\n */\nexport const DEFAULT_UI_PARAMETERS: Array<string> = [\n PARAMETER_OVERVIEW_VIEWTYPE,\n];\n\n/**\n */\nexport const ISO_DATE_FORMAT = \"yyyy-MM-dd\";\n/**\n */\nexport const ISO_DATETIME_FORMAT = \"yyyy-MM-dd'T'HH:mm:ss\";\n/**\n */\nexport const ISO_TIME_FORMAT = \"HH:mm:ss\";\n/**\n */\nexport const ISO_TIMESTAMP_FORMAT = \"yyyy-MM-dd'T'HH:mm:ss.SSS\";\n/**\n * week starts on monday by default\n */\nexport const DEFAULT_WEEK_STARTS_ON = 1;\n\n/**\n * first week indicated by the 1st of january\n */\nexport const DEFAULT_FIRST_WEEK_CONTAINS_DATE = 1;\n\n/**\n * Key codes\n * @type {{SPACE: number, PAGE_DOWN: number, TAB: number, ARROW_RIGHT: number, ARROW_DOWN: number, ENTER: number, ARROW_UP: number, ARROW_LEFT: number, PAGE_UP: number, ESCAPE: number}}\n */\nexport const KEYCODES = {\n TAB: 9,\n ENTER: 13,\n ESCAPE: 27,\n SPACE: 32,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n ARROW_LEFT: 37,\n ARROW_UP: 38,\n ARROW_RIGHT: 39,\n ARROW_DOWN: 40,\n};\n\n/**\n * @type {boolean}\n */\nexport const IS_SYNC = typeof dataFetcher !== \"undefined\";\n/**\n * @type {boolean}\n */\nexport const IS_SERVER = IS_SYNC;\n\n/**\n * @type {{SUCCESS: string, ERROR: string, INFO: string, WARNING: string}}\n */\nexport const NOTIFICATION_TYPES = {\n SUCCESS: \"SUCCESS\",\n INFO: \"INFO\",\n WARNING: \"WARNING\",\n ERROR: \"ERROR\",\n};\n\n/**\n * SUPPORTED HTTP METHODS\n * @type {{POST: string, GET: string}}\n */\nexport const HTTP_METHODS = {\n GET: \"GET\",\n POST: \"POST\",\n};\n\n/**\n * POSSIBLE MODULARUI STATUSSES\n * @type {{LOADING: string, ERROR: string, FINISHED: string}}\n */\nexport const MODULARUI_STATUS = {\n LOADING: \"LOADING\",\n FINISHED: \"FINISHED\",\n ERROR: \"ERROR\",\n};\n\n/**\n * POSSIBLE AUTOSAVE STATUSSES\n * @type {{START: string, FINISHED: string}}\n */\nexport const AUTOSAVE_STATUS = {\n START: \"START\",\n FINISHED: \"FINISHED\",\n};\n\n/**\n * DEBOUNCE INPUT TIMEOUT\n */\nexport const INPUT_DEBOUNCE_TIMEOUT = 100;\n\n/**\n * DEBOUNCE VALIDATION TIMEOUT\n */\nexport const VALIDATE_DEBOUNCE_TIMEOUT = 500;\n\n/**\n * ATTRIBUTE WIDTH\n */\nexport const ATTRIBUTE_WIDTH = {\n EXTRA_SMALL: \"EXTRA_SMALL\",\n SMALL: \"SMALL\",\n MEDIUM: \"MEDIUM\",\n LARGE: \"LARGE\",\n EXTRA_LARGE: \"EXTRA_LARGE\",\n};\n\nexport const ALL_CONTENT_IN_DATA_SETTING = \"hasAllContentInData\";\n\nexport const INTERNAL_LOGIN_TYPE = {\n JAAS: \"JAAS\",\n PAC4J_FORM: \"PAC4J_FORM\",\n PAC4J_BASIC: \"PAC4J_BASIC\",\n};\nexport const LOGIN_TYPE = \"security.clients\";\nexport const LOGIN_PATH_SETTING = \"FormClient.login_url\";\nexport const LOGIN_USERNAME_SETTING = \"FormClient.username_field_name\";\nexport const LOGIN_PASSWORD_SETTING = \"FormClient.password_field_name\";\nexport const LOGOUT_PATH_SETTING = \"FormClient.logout_url\";\n\nexport const DEFAULT_AUTHENTICATION_TYPE = {\n name: \"Form based authentication\",\n authentication: \"DefaultFormClient\",\n isPrimary: true,\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Constants.js","names":["CONTENT_PATH","exports","UPLOAD_PATH","CAPTCHA_PATH","CHANGEAVATAR_PATH","CHANGEPASSWORD_PATH","USERPROFILE_PATH","RESOURCE_PATH","PARAMETER_SEPARATOR","TIMEVERSION_FILTER_NAME","PARAMETER_OVERVIEW_VIEWTYPE","DEFAULT_UI_PARAMETERS","ISO_DATE_FORMAT","ISO_DATETIME_FORMAT","ISO_TIME_FORMAT","ISO_TIMESTAMP_FORMAT","DATETIME_OFFSET_FORMAT","DEFAULT_WEEK_STARTS_ON","DEFAULT_FIRST_WEEK_CONTAINS_DATE","KEYCODES","TAB","ENTER","ESCAPE","SPACE","PAGE_UP","PAGE_DOWN","ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN","IS_SYNC","dataFetcher","IS_SERVER","IS_GRAALJS","Graal","NOTIFICATION_TYPES","SUCCESS","INFO","WARNING","ERROR","HTTP_METHODS","GET","POST","MODULARUI_STATUS","LOADING","FINISHED","AUTOSAVE_STATUS","START","INPUT_DEBOUNCE_TIMEOUT","VALIDATE_DEBOUNCE_TIMEOUT","ATTRIBUTE_WIDTH","EXTRA_SMALL","SMALL","MEDIUM","LARGE","EXTRA_LARGE","ALL_CONTENT_IN_DATA_SETTING","INCLUDE_TIME_OFFSET","INTERNAL_LOGIN_TYPE","JAAS","PAC4J_FORM","PAC4J_BASIC","LOGIN_TYPE","LOGIN_PATH_SETTING","LOGIN_USERNAME_SETTING","LOGIN_PASSWORD_SETTING","LOGOUT_PATH_SETTING","DEFAULT_AUTHENTICATION_TYPE","name","authentication","isPrimary"],"sources":["../../src/constants/Constants.js"],"sourcesContent":["// @flow\n/**\n * path to content service\n */\nexport const CONTENT_PATH = `/content`;\n\n/**\n * Upload Path\n */\nexport const UPLOAD_PATH = `/uploadFile`;\n\n/**\n * Captcha Path\n */\nexport const CAPTCHA_PATH = `/captchaServices`;\n\n/**\n * Path to change avatar page / component\n */\nexport const CHANGEAVATAR_PATH = \"/change-avatar\";\n\n/**\n * Path to change password page / component\n */\nexport const CHANGEPASSWORD_PATH = \"/change-password\";\n\n/**\n * Path to user profile page / component\n */\nexport const USERPROFILE_PATH = \"/user\";\n\n/**\n * Path to resources in the Be Informed repository\n */\nexport const RESOURCE_PATH = \"/resource\";\n\n/**\n * Separator for parameters of a list, makes it possible to render multiple lists on a page in a non-js environment\n */\nexport const PARAMETER_SEPARATOR = \"~\";\n\n/**\n * Timeversion filter name\n */\nexport const TIMEVERSION_FILTER_NAME = \"entryDate\";\n\nconst PARAMETER_OVERVIEW_VIEWTYPE = \"viewType\";\n/**\n * Parameter name for the viewtype toggle\n */\nexport const DEFAULT_UI_PARAMETERS: Array<string> = [\n PARAMETER_OVERVIEW_VIEWTYPE,\n];\n\n/**\n */\nexport const ISO_DATE_FORMAT = \"yyyy-MM-dd\";\n/**\n */\nexport const ISO_DATETIME_FORMAT = \"yyyy-MM-dd'T'HH:mm:ss\";\n/**\n */\nexport const ISO_TIME_FORMAT = \"HH:mm:ss\";\n/**\n */\nexport const ISO_TIMESTAMP_FORMAT = \"yyyy-MM-dd'T'HH:mm:ss.SSS\";\n/**\n * Offset format is appended to iso datetime and timestamp when isIncludeTimeOffsetInDateTimes = true\n */\nexport const DATETIME_OFFSET_FORMAT = \"xxx\";\n/**\n * week starts on monday by default\n */\nexport const DEFAULT_WEEK_STARTS_ON = 1;\n\n/**\n * first week indicated by the 1st of january\n */\nexport const DEFAULT_FIRST_WEEK_CONTAINS_DATE = 1;\n\n/**\n * Key codes\n * @type {{SPACE: number, PAGE_DOWN: number, TAB: number, ARROW_RIGHT: number, ARROW_DOWN: number, ENTER: number, ARROW_UP: number, ARROW_LEFT: number, PAGE_UP: number, ESCAPE: number}}\n */\nexport const KEYCODES = {\n TAB: 9,\n ENTER: 13,\n ESCAPE: 27,\n SPACE: 32,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n ARROW_LEFT: 37,\n ARROW_UP: 38,\n ARROW_RIGHT: 39,\n ARROW_DOWN: 40,\n};\n\n/**\n * @type {boolean}\n */\nexport const IS_SYNC = typeof dataFetcher !== \"undefined\";\n/**\n * @type {boolean}\n */\nexport const IS_SERVER = IS_SYNC;\n/**\n * @type {boolean}\n */\n// $FlowExpectedError[cannot-resolve-name]\nexport const IS_GRAALJS = typeof Graal !== \"undefined\";\n\n/**\n * @type {{SUCCESS: string, ERROR: string, INFO: string, WARNING: string}}\n */\nexport const NOTIFICATION_TYPES = {\n SUCCESS: \"SUCCESS\",\n INFO: \"INFO\",\n WARNING: \"WARNING\",\n ERROR: \"ERROR\",\n};\n\n/**\n * SUPPORTED HTTP METHODS\n * @type {{POST: string, GET: string}}\n */\nexport const HTTP_METHODS = {\n GET: \"GET\",\n POST: \"POST\",\n};\n\n/**\n * POSSIBLE MODULARUI STATUSSES\n * @type {{LOADING: string, ERROR: string, FINISHED: string}}\n */\nexport const MODULARUI_STATUS = {\n LOADING: \"LOADING\",\n FINISHED: \"FINISHED\",\n ERROR: \"ERROR\",\n};\n\n/**\n * POSSIBLE AUTOSAVE STATUSSES\n * @type {{START: string, FINISHED: string}}\n */\nexport const AUTOSAVE_STATUS = {\n START: \"START\",\n FINISHED: \"FINISHED\",\n};\n\n/**\n * DEBOUNCE INPUT TIMEOUT\n */\nexport const INPUT_DEBOUNCE_TIMEOUT = 100;\n\n/**\n * DEBOUNCE VALIDATION TIMEOUT\n */\nexport const VALIDATE_DEBOUNCE_TIMEOUT = 500;\n\n/**\n * ATTRIBUTE WIDTH\n */\nexport const ATTRIBUTE_WIDTH = {\n EXTRA_SMALL: \"EXTRA_SMALL\",\n SMALL: \"SMALL\",\n MEDIUM: \"MEDIUM\",\n LARGE: \"LARGE\",\n EXTRA_LARGE: \"EXTRA_LARGE\",\n};\n\nexport const ALL_CONTENT_IN_DATA_SETTING = \"hasAllContentInData\";\n\nexport const INCLUDE_TIME_OFFSET = \"isIncludeTimeOffsetInDateTimes\";\n\nexport const INTERNAL_LOGIN_TYPE = {\n JAAS: \"JAAS\",\n PAC4J_FORM: \"PAC4J_FORM\",\n PAC4J_BASIC: \"PAC4J_BASIC\",\n};\nexport const LOGIN_TYPE = \"security.clients\";\nexport const LOGIN_PATH_SETTING = \"FormClient.login_url\";\nexport const LOGIN_USERNAME_SETTING = \"FormClient.username_field_name\";\nexport const LOGIN_PASSWORD_SETTING = \"FormClient.password_field_name\";\nexport const LOGOUT_PATH_SETTING = \"FormClient.logout_url\";\n\nexport const DEFAULT_AUTHENTICATION_TYPE = {\n name: \"Form based authentication\",\n authentication: \"DefaultFormClient\",\n isPrimary: true,\n};\n"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.setSettings = exports.setSetting = exports.setContextPath = exports.logoutPath = exports.loginUsernameField = exports.loginType = exports.loginPath = exports.loginPasswordField = exports.hasAllContentInData = exports.getUploadPath = exports.getSwimLaneDiagramConfiguration = exports.getSetting = exports.getCaptchaPath = exports.getBasePathServer = exports.getBasePathModularUI = exports.getBasePath = exports.cacheContributions = exports.allSettings = exports.LOGOUT_PATH = exports.LOGIN_PATH = exports.BASE = void 0;
7
+ exports.setSettings = exports.setSetting = exports.setContextPath = exports.logoutPath = exports.loginUsernameField = exports.loginType = exports.loginPath = exports.loginPasswordField = exports.isIncludeTimeOffsetInDateTimes = exports.hasAllContentInData = exports.getUploadPath = exports.getSwimLaneDiagramConfiguration = exports.getSetting = exports.getCaptchaPath = exports.getBasePathServer = exports.getBasePathModularUI = exports.getBasePath = exports.cacheContributions = exports.allSettings = exports.LOGOUT_PATH = exports.LOGIN_PATH = exports.BASE = void 0;
8
8
  var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
9
9
  var _startsWith = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/starts-with"));
10
10
  var _objects = require("../utils/helpers/objects");
@@ -155,12 +155,17 @@ const getCaptchaPath = function () {
155
155
  exports.getCaptchaPath = getCaptchaPath;
156
156
  const hasAllContentInData = () => getSetting(_Constants.ALL_CONTENT_IN_DATA_SETTING, true);
157
157
 
158
+ /**
159
+ */
160
+ exports.hasAllContentInData = hasAllContentInData;
161
+ const isIncludeTimeOffsetInDateTimes = () => getSetting(_Constants.INCLUDE_TIME_OFFSET, false);
162
+
158
163
  /**
159
164
  * Login type, only available when pac4j is configured
160
165
  *
161
166
  * Preview does not support pac4j, thus is probably not configured when started, which results in login type JAAS
162
167
  */
163
- exports.hasAllContentInData = hasAllContentInData;
168
+ exports.isIncludeTimeOffsetInDateTimes = isIncludeTimeOffsetInDateTimes;
164
169
  const loginType = () => getSetting(_Constants.LOGIN_TYPE, _Constants.INTERNAL_LOGIN_TYPE.JAAS);
165
170
 
166
171
  /**
@@ -3,6 +3,7 @@ import { isPlainObject, has } from "../utils/helpers/objects";
3
3
  import { getRepositoryResourceUrl } from "../utils/helpers/repositoryResource";
4
4
  import {
5
5
  ALL_CONTENT_IN_DATA_SETTING,
6
+ INCLUDE_TIME_OFFSET,
6
7
  INTERNAL_LOGIN_TYPE,
7
8
  LOGIN_TYPE,
8
9
  LOGIN_PATH_SETTING,
@@ -200,6 +201,11 @@ export const getCaptchaPath = (
200
201
  export const hasAllContentInData = (): boolean =>
201
202
  getSetting(ALL_CONTENT_IN_DATA_SETTING, true);
202
203
 
204
+ /**
205
+ */
206
+ export const isIncludeTimeOffsetInDateTimes = (): boolean =>
207
+ getSetting(INCLUDE_TIME_OFFSET, false);
208
+
203
209
  /**
204
210
  * Login type, only available when pac4j is configured
205
211
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Settings.js","names":["_objects","require","_repositoryResource","_Constants","serverBase","__CONTEXT_PATH__","defaultSettings","CONTEXT_PATH","window","contextPath","CACHE_CONTRIBUTIONS","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_GLOBAL_LOGIN_PAGE","RENDER_GLOBAL_LOGOUT_PAGE","RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE","LOGIN_PATH","ADMINISTRATOR_LOGIN_PATH","LOGOUT_PATH","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","HIDE_WHEN_EMPTY_IGNORE_TASKS","SHOW_AVATARS","settings","setSettings","config","isPlainObject","_assign","default","exports","getSetting","key","defaultValue","has","undefined","Error","setSetting","value","allSettings","cacheContributions","getBasePath","getBasePathModularUI","getBasePathServer","getUploadPath","arguments","length","origin","UPLOAD_PATH","getCaptchaPath","CAPTCHA_PATH","hasAllContentInData","ALL_CONTENT_IN_DATA_SETTING","loginType","LOGIN_TYPE","INTERNAL_LOGIN_TYPE","JAAS","loginPath","clientName","LOGIN_PATH_SETTING","loginUsernameField","LOGIN_USERNAME_SETTING","loginPasswordField","LOGIN_PASSWORD_SETTING","logoutPath","LOGOUT_PATH_SETTING","getSwimLaneDiagramConfiguration","configLocation","_startsWith","call","getRepositoryResourceUrl","setContextPath","BASE"],"sources":["../../src/constants/Settings.js"],"sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport { getRepositoryResourceUrl } from \"../utils/helpers/repositoryResource\";\nimport {\n ALL_CONTENT_IN_DATA_SETTING,\n INTERNAL_LOGIN_TYPE,\n LOGIN_TYPE,\n LOGIN_PATH_SETTING,\n LOGIN_USERNAME_SETTING,\n LOGIN_PASSWORD_SETTING,\n LOGOUT_PATH_SETTING,\n UPLOAD_PATH,\n CAPTCHA_PATH,\n} from \"./Constants\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst serverBase =\n typeof __CONTEXT_PATH__ === \"undefined\" ? null : __CONTEXT_PATH__;\n\nconst defaultSettings: { [name: string]: Setting } = {\n // This uses contextPath set from property from server\n CONTEXT_PATH:\n serverBase ??\n (typeof window !== \"undefined\" && window.contextPath\n ? window.contextPath\n : \"/BeInformed\"),\n\n // Indicates if contributions should be cached\n CACHE_CONTRIBUTIONS: true,\n\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Renders the global log in page\n RENDER_GLOBAL_LOGIN_PAGE: false,\n\n // Renders the global log out page\n RENDER_GLOBAL_LOGOUT_PAGE: false,\n\n // Renders the login variants as option on the global logout page\n RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE: false,\n\n // Path to login page / component\n LOGIN_PATH: \"/signin\",\n\n // Path to administrator login page / component\n ADMINISTRATOR_LOGIN_PATH: \"\",\n\n // Path to logout page / component\n LOGOUT_PATH: \"/signout\",\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // Business scenario concept types\n BUSINESS_SCENARIO_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/BusinessScenario\",\n ],\n BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n ],\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n ],\n BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/System\",\n ],\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n\n HIDE_WHEN_EMPTY_IGNORE_TASKS: false,\n\n SHOW_AVATARS: true,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`,\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n * Indicates if contributions must be cached\n */\nexport const cacheContributions = (): boolean =>\n getSetting(\"CACHE_CONTRIBUTIONS\", true);\n\n/**\n * The context path is retrieved on the server using the context path property as set in the runtime properties\n * This can be manually override by setting the UI setting 'CONTEXT_PATH'\n */\nexport const getBasePath = (): string =>\n getSetting(\"CONTEXT_PATH\", \"/BeInformed\");\n\n/**\n * The context path to modular ui rest services\n */\nexport const getBasePathModularUI = (): string =>\n getSetting(\"CONTEXT_PATH_SERVER\", getBasePath());\n\n/**\n * Used to link the css and js files in the server templates\n */\nexport const getBasePathServer = (): string =>\n getSetting(\"CONTEXT_PATH_SERVER\", getBasePath());\n\n/**\n * Path to upload service\n */\nexport const getUploadPath = (\n contextPath: string = getBasePathModularUI(),\n origin: string = \"\",\n): string => `${origin}${contextPath}${UPLOAD_PATH}`;\n\n/**\n * Path to captcha service\n */\nexport const getCaptchaPath = (\n contextPath: string = getBasePathModularUI(),\n origin: string = \"\",\n): string => `${origin}${contextPath}${CAPTCHA_PATH}`;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n\n/**\n * Login type, only available when pac4j is configured\n *\n * Preview does not support pac4j, thus is probably not configured when started, which results in login type JAAS\n */\nexport const loginType = (): string =>\n getSetting(LOGIN_TYPE, INTERNAL_LOGIN_TYPE.JAAS);\n\n/**\n */\nexport const loginPath = (clientName: string = \"FormClient\"): string =>\n getSetting(LOGIN_PATH_SETTING, `/callback?client_name=${clientName}`);\n/**\n */\nexport const loginUsernameField = (): string =>\n getSetting(LOGIN_USERNAME_SETTING, \"j_username\");\n/**\n */\nexport const loginPasswordField = (): string =>\n getSetting(LOGIN_PASSWORD_SETTING, \"j_password\");\n/**\n */\nexport const logoutPath = (): string =>\n getSetting(LOGOUT_PATH_SETTING, \"/logout\");\n\nexport const LOGIN_PATH: string = loginPath();\nexport const LOGOUT_PATH: string = logoutPath();\n\n/**\n * Model overview swim lane configuration\n */\nexport const getSwimLaneDiagramConfiguration: Object = () => {\n let configLocation = getSetting(\n \"SWIM_LANE_DIAGRAM_CONFIGURATION\",\n \"/Library/Diagrams/Overviews.json\",\n );\n if (!configLocation.startsWith(\"/\")) {\n configLocation = `/${configLocation}`;\n }\n return getRepositoryResourceUrl(configLocation);\n};\n\n/**\n * Set the context path for requests to be informed\n */\nexport const setContextPath = (contextPath: string) => {\n setSetting(\"CONTEXT_PATH\", contextPath);\n};\n\n/**\n * Backwards compatible export of BASE constant\n */\nexport const BASE: string = getBasePath();\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Settings.js","names":["_objects","require","_repositoryResource","_Constants","serverBase","__CONTEXT_PATH__","defaultSettings","CONTEXT_PATH","window","contextPath","CACHE_CONTRIBUTIONS","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_GLOBAL_LOGIN_PAGE","RENDER_GLOBAL_LOGOUT_PAGE","RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE","LOGIN_PATH","ADMINISTRATOR_LOGIN_PATH","LOGOUT_PATH","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","HIDE_WHEN_EMPTY_IGNORE_TASKS","SHOW_AVATARS","settings","setSettings","config","isPlainObject","_assign","default","exports","getSetting","key","defaultValue","has","undefined","Error","setSetting","value","allSettings","cacheContributions","getBasePath","getBasePathModularUI","getBasePathServer","getUploadPath","arguments","length","origin","UPLOAD_PATH","getCaptchaPath","CAPTCHA_PATH","hasAllContentInData","ALL_CONTENT_IN_DATA_SETTING","isIncludeTimeOffsetInDateTimes","INCLUDE_TIME_OFFSET","loginType","LOGIN_TYPE","INTERNAL_LOGIN_TYPE","JAAS","loginPath","clientName","LOGIN_PATH_SETTING","loginUsernameField","LOGIN_USERNAME_SETTING","loginPasswordField","LOGIN_PASSWORD_SETTING","logoutPath","LOGOUT_PATH_SETTING","getSwimLaneDiagramConfiguration","configLocation","_startsWith","call","getRepositoryResourceUrl","setContextPath","BASE"],"sources":["../../src/constants/Settings.js"],"sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport { getRepositoryResourceUrl } from \"../utils/helpers/repositoryResource\";\nimport {\n ALL_CONTENT_IN_DATA_SETTING,\n INCLUDE_TIME_OFFSET,\n INTERNAL_LOGIN_TYPE,\n LOGIN_TYPE,\n LOGIN_PATH_SETTING,\n LOGIN_USERNAME_SETTING,\n LOGIN_PASSWORD_SETTING,\n LOGOUT_PATH_SETTING,\n UPLOAD_PATH,\n CAPTCHA_PATH,\n} from \"./Constants\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst serverBase =\n typeof __CONTEXT_PATH__ === \"undefined\" ? null : __CONTEXT_PATH__;\n\nconst defaultSettings: { [name: string]: Setting } = {\n // This uses contextPath set from property from server\n CONTEXT_PATH:\n serverBase ??\n (typeof window !== \"undefined\" && window.contextPath\n ? window.contextPath\n : \"/BeInformed\"),\n\n // Indicates if contributions should be cached\n CACHE_CONTRIBUTIONS: true,\n\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Renders the global log in page\n RENDER_GLOBAL_LOGIN_PAGE: false,\n\n // Renders the global log out page\n RENDER_GLOBAL_LOGOUT_PAGE: false,\n\n // Renders the login variants as option on the global logout page\n RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE: false,\n\n // Path to login page / component\n LOGIN_PATH: \"/signin\",\n\n // Path to administrator login page / component\n ADMINISTRATOR_LOGIN_PATH: \"\",\n\n // Path to logout page / component\n LOGOUT_PATH: \"/signout\",\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // Business scenario concept types\n BUSINESS_SCENARIO_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/BusinessScenario\",\n ],\n BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n ],\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n ],\n BUSINESS_SCENARIO_SYSTEM_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/System\",\n ],\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n\n HIDE_WHEN_EMPTY_IGNORE_TASKS: false,\n\n SHOW_AVATARS: true,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`,\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n * Indicates if contributions must be cached\n */\nexport const cacheContributions = (): boolean =>\n getSetting(\"CACHE_CONTRIBUTIONS\", true);\n\n/**\n * The context path is retrieved on the server using the context path property as set in the runtime properties\n * This can be manually override by setting the UI setting 'CONTEXT_PATH'\n */\nexport const getBasePath = (): string =>\n getSetting(\"CONTEXT_PATH\", \"/BeInformed\");\n\n/**\n * The context path to modular ui rest services\n */\nexport const getBasePathModularUI = (): string =>\n getSetting(\"CONTEXT_PATH_SERVER\", getBasePath());\n\n/**\n * Used to link the css and js files in the server templates\n */\nexport const getBasePathServer = (): string =>\n getSetting(\"CONTEXT_PATH_SERVER\", getBasePath());\n\n/**\n * Path to upload service\n */\nexport const getUploadPath = (\n contextPath: string = getBasePathModularUI(),\n origin: string = \"\",\n): string => `${origin}${contextPath}${UPLOAD_PATH}`;\n\n/**\n * Path to captcha service\n */\nexport const getCaptchaPath = (\n contextPath: string = getBasePathModularUI(),\n origin: string = \"\",\n): string => `${origin}${contextPath}${CAPTCHA_PATH}`;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n\n/**\n */\nexport const isIncludeTimeOffsetInDateTimes = (): boolean =>\n getSetting(INCLUDE_TIME_OFFSET, false);\n\n/**\n * Login type, only available when pac4j is configured\n *\n * Preview does not support pac4j, thus is probably not configured when started, which results in login type JAAS\n */\nexport const loginType = (): string =>\n getSetting(LOGIN_TYPE, INTERNAL_LOGIN_TYPE.JAAS);\n\n/**\n */\nexport const loginPath = (clientName: string = \"FormClient\"): string =>\n getSetting(LOGIN_PATH_SETTING, `/callback?client_name=${clientName}`);\n/**\n */\nexport const loginUsernameField = (): string =>\n getSetting(LOGIN_USERNAME_SETTING, \"j_username\");\n/**\n */\nexport const loginPasswordField = (): string =>\n getSetting(LOGIN_PASSWORD_SETTING, \"j_password\");\n/**\n */\nexport const logoutPath = (): string =>\n getSetting(LOGOUT_PATH_SETTING, \"/logout\");\n\nexport const LOGIN_PATH: string = loginPath();\nexport const LOGOUT_PATH: string = logoutPath();\n\n/**\n * Model overview swim lane configuration\n */\nexport const getSwimLaneDiagramConfiguration: Object = () => {\n let configLocation = getSetting(\n \"SWIM_LANE_DIAGRAM_CONFIGURATION\",\n \"/Library/Diagrams/Overviews.json\",\n );\n if (!configLocation.startsWith(\"/\")) {\n configLocation = `/${configLocation}`;\n }\n return getRepositoryResourceUrl(configLocation);\n};\n\n/**\n * Set the context path for requests to be informed\n */\nexport const setContextPath = (contextPath: string) => {\n setSetting(\"CONTEXT_PATH\", contextPath);\n};\n\n/**\n * Backwards compatible export of BASE constant\n */\nexport const BASE: string = getBasePath();\n"],"mappings":"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","ignoreList":[]}
@@ -59,7 +59,9 @@ class DatetimeAttributeModel extends _StringAttributeModel.default {
59
59
 
60
60
  // handle old datetime values, which contained ms
61
61
  if (this.type === "datetime" && (0, _includes.default)(value).call(value, ".")) {
62
- value = value.split(".")[0];
62
+ value = _DateTimeUtil.TimestampUtil.toFormat(value, _DateTimeUtil.DateTimeUtil.getIsoFormat());
63
+ } else {
64
+ value = this.formatUtil.toISO(value);
63
65
  }
64
66
  if (this.hasTime) {
65
67
  value = this.getTimeValue(value);
@@ -85,6 +87,12 @@ class DatetimeAttributeModel extends _StringAttributeModel.default {
85
87
  if (this.type === "timestamp" && !(0, _includes.default)(_context5 = this.timeInputFormat).call(_context5, "S")) {
86
88
  timeValue = this.formatUtil.setMilliseconds(value, 0);
87
89
  }
90
+ if ((0, _constants.isIncludeTimeOffsetInDateTimes)()) {
91
+ // https://github.com/date-fns/date-fns/issues/3579
92
+ const oldOffset = this.formatUtil.toFormat(value, _constants.DATETIME_OFFSET_FORMAT);
93
+ const newOffset = this.formatUtil.toFormat(timeValue, _constants.DATETIME_OFFSET_FORMAT);
94
+ timeValue = timeValue.replace(newOffset, oldOffset);
95
+ }
88
96
  return timeValue;
89
97
  }
90
98
 
@@ -179,7 +187,7 @@ class DatetimeAttributeModel extends _StringAttributeModel.default {
179
187
 
180
188
  /**
181
189
  */
182
- get inputFormat() {
190
+ get inputFormatWithoutOffset() {
183
191
  if (this.hasDate && this.hasTime) {
184
192
  var _context6;
185
193
  return (0, _trim.default)(_context6 = `${this.dateInputFormat} ${this.timeInputFormat}`).call(_context6);
@@ -193,6 +201,15 @@ class DatetimeAttributeModel extends _StringAttributeModel.default {
193
201
  return "";
194
202
  }
195
203
 
204
+ /**
205
+ */
206
+ get inputFormat() {
207
+ if ((0, _constants.isIncludeTimeOffsetInDateTimes)() && this.dateInputFormat !== "" && this.timeInputFormat !== "") {
208
+ return `${this.inputFormatWithoutOffset} ${_constants.DATETIME_OFFSET_FORMAT}`;
209
+ }
210
+ return this.inputFormatWithoutOffset;
211
+ }
212
+
196
213
  /**
197
214
  */
198
215
  get dateInputFormat() {
@@ -285,8 +302,8 @@ class DatetimeAttributeModel extends _StringAttributeModel.default {
285
302
  return typeof this.value === "string" && this.timeInputFormat !== "" ? this.formatUtil.toFormat(this.value, this.timeInputFormat) : "";
286
303
  }
287
304
 
288
- // format value in readonly rendering
289
305
  /**
306
+ * format value in readonly rendering
290
307
  */
291
308
  formatValue(value) {
292
309
  if (value == null || value.toString() === "") {
@@ -317,6 +334,24 @@ class DatetimeAttributeModel extends _StringAttributeModel.default {
317
334
  return "";
318
335
  }
319
336
 
337
+ /**
338
+ */
339
+ get isAmbiguous() {
340
+ if (typeof this.value === "string") {
341
+ return this.formatUtil.isAmbiguous(this.value);
342
+ }
343
+ return false;
344
+ }
345
+
346
+ /**
347
+ */
348
+ get offset() {
349
+ if (typeof this.value === "string") {
350
+ return this.formatUtil.getOffset(this.value);
351
+ }
352
+ return null;
353
+ }
354
+
320
355
  /**
321
356
  * Get minimum date
322
357
  */
@@ -16,7 +16,12 @@ import DateTimeTimeFormatConstraint from "./input-constraints/DateTimeTimeFormat
16
16
  import DatetimeFormatConstraint from "./input-constraints/DatetimeFormatConstraint";
17
17
  import DateBoundaryConstraint from "./input-constraints/DateBoundaryConstraint";
18
18
 
19
- import { ATTRIBUTE_WIDTH, ISO_DATE_FORMAT } from "../../constants";
19
+ import {
20
+ isIncludeTimeOffsetInDateTimes,
21
+ ATTRIBUTE_WIDTH,
22
+ DATETIME_OFFSET_FORMAT,
23
+ ISO_DATE_FORMAT,
24
+ } from "../../constants";
20
25
 
21
26
  import type {
22
27
  FormErrorAnchor,
@@ -24,6 +29,7 @@ import type {
24
29
  AttributeType,
25
30
  ModelOptions,
26
31
  } from "../types";
32
+ import type { OffsetInfo } from "../../utils/datetime/DateTimeUtil";
27
33
 
28
34
  /**
29
35
  */
@@ -78,7 +84,9 @@ class DatetimeAttributeModel extends StringAttributeModel {
78
84
 
79
85
  // handle old datetime values, which contained ms
80
86
  if (this.type === "datetime" && value.includes(".")) {
81
- value = value.split(".")[0];
87
+ value = TimestampUtil.toFormat(value, DateTimeUtil.getIsoFormat());
88
+ } else {
89
+ value = this.formatUtil.toISO(value);
82
90
  }
83
91
 
84
92
  if (this.hasTime) {
@@ -105,6 +113,17 @@ class DatetimeAttributeModel extends StringAttributeModel {
105
113
  if (this.type === "timestamp" && !this.timeInputFormat.includes("S")) {
106
114
  timeValue = this.formatUtil.setMilliseconds(value, 0);
107
115
  }
116
+
117
+ if (isIncludeTimeOffsetInDateTimes()) {
118
+ // https://github.com/date-fns/date-fns/issues/3579
119
+ const oldOffset = this.formatUtil.toFormat(value, DATETIME_OFFSET_FORMAT);
120
+ const newOffset = this.formatUtil.toFormat(
121
+ timeValue,
122
+ DATETIME_OFFSET_FORMAT,
123
+ );
124
+ timeValue = timeValue.replace(newOffset, oldOffset);
125
+ }
126
+
108
127
  return timeValue;
109
128
  }
110
129
 
@@ -214,7 +233,7 @@ class DatetimeAttributeModel extends StringAttributeModel {
214
233
 
215
234
  /**
216
235
  */
217
- get inputFormat(): string {
236
+ get inputFormatWithoutOffset(): string {
218
237
  if (this.hasDate && this.hasTime) {
219
238
  return `${this.dateInputFormat} ${this.timeInputFormat}`.trim();
220
239
  }
@@ -230,6 +249,19 @@ class DatetimeAttributeModel extends StringAttributeModel {
230
249
  return "";
231
250
  }
232
251
 
252
+ /**
253
+ */
254
+ get inputFormat(): string {
255
+ if (
256
+ isIncludeTimeOffsetInDateTimes() &&
257
+ this.dateInputFormat !== "" &&
258
+ this.timeInputFormat !== ""
259
+ ) {
260
+ return `${this.inputFormatWithoutOffset} ${DATETIME_OFFSET_FORMAT}`;
261
+ }
262
+ return this.inputFormatWithoutOffset;
263
+ }
264
+
233
265
  /**
234
266
  */
235
267
  get dateInputFormat(): string {
@@ -337,8 +369,8 @@ class DatetimeAttributeModel extends StringAttributeModel {
337
369
  : "";
338
370
  }
339
371
 
340
- // format value in readonly rendering
341
372
  /**
373
+ * format value in readonly rendering
342
374
  */
343
375
  formatValue(value: ?string): string {
344
376
  if (value == null || value.toString() === "") {
@@ -376,6 +408,24 @@ class DatetimeAttributeModel extends StringAttributeModel {
376
408
  return "";
377
409
  }
378
410
 
411
+ /**
412
+ */
413
+ get isAmbiguous(): boolean {
414
+ if (typeof this.value === "string") {
415
+ return this.formatUtil.isAmbiguous(this.value);
416
+ }
417
+ return false;
418
+ }
419
+
420
+ /**
421
+ */
422
+ get offset(): OffsetInfo | null {
423
+ if (typeof this.value === "string") {
424
+ return this.formatUtil.getOffset(this.value);
425
+ }
426
+ return null;
427
+ }
428
+
379
429
  /**
380
430
  * Get minimum date
381
431
  */