@webiny/app-headless-cms 5.40.6-beta.0 → 5.40.6-beta.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.
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
@@ -8,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
8
7
  exports.DateTimeWithTimezone = void 0;
9
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
- var _react = _interopRequireWildcard(require("react"));
10
+ var _react = _interopRequireDefault(require("react"));
12
11
  var _Input = require("./Input");
13
12
  var _Select = require("./Select");
14
13
  var _Grid = require("@webiny/ui/Grid");
@@ -33,11 +32,11 @@ var parseDateTime = function parseDateTime(value) {
33
32
  rest: rest
34
33
  };
35
34
  };
36
- var parseTime = function parseTime(value) {
35
+ var parseTime = function parseTime(value, defaultTimeZone) {
37
36
  if (!value) {
38
37
  return {
39
38
  time: "",
40
- timezone: ""
39
+ timezone: defaultTimeZone || ""
41
40
  };
42
41
  }
43
42
  var sign = value.includes("+") ? "+" : "-";
@@ -57,24 +56,16 @@ var DateTimeWithTimezone = exports.DateTimeWithTimezone = function DateTimeWithT
57
56
  var defaultTimeZone = (0, _utils.getCurrentTimeZone)() || _utils.DEFAULT_TIMEZONE;
58
57
 
59
58
  // "2020-05-18T09:00+10:00"
60
- var initialValue = (0, _utils.getDefaultFieldValue)(field, bind, function () {
59
+ var value = bind.value || (0, _utils.getDefaultFieldValue)(field, bind, function () {
61
60
  var date = new Date();
62
61
  return "".concat((0, _utils.getCurrentDate)(date), "T").concat((0, _utils.getCurrentLocalTime)(date)).concat(defaultTimeZone);
63
62
  });
64
- var _parseDateTime = parseDateTime(initialValue),
63
+ var _parseDateTime = parseDateTime(value),
65
64
  date = _parseDateTime.date,
66
65
  rest = _parseDateTime.rest;
67
- var _parseTime = parseTime(rest),
66
+ var _parseTime = parseTime(rest, defaultTimeZone),
68
67
  time = _parseTime.time,
69
- _parseTime$timezone = _parseTime.timezone,
70
- timezone = _parseTime$timezone === void 0 ? defaultTimeZone : _parseTime$timezone;
71
- var bindValue = bind.value || "";
72
- (0, _react.useEffect)(function () {
73
- if (!date || !time || !timezone || bindValue === initialValue) {
74
- return;
75
- }
76
- bind.onChange(initialValue);
77
- }, [bindValue]);
68
+ timezone = _parseTime.timezone;
78
69
  var cellSize = trailingIcon ? 3 : 4;
79
70
  return /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
80
71
  span: 4
@@ -88,7 +79,7 @@ var DateTimeWithTimezone = exports.DateTimeWithTimezone = function DateTimeWithT
88
79
  }
89
80
  return bind.onChange("");
90
81
  }
91
- return bind.onChange("".concat(value, "T").concat(time || (0, _utils.getCurrentLocalTime)()).concat(timezone || defaultTimeZone));
82
+ return bind.onChange("".concat(value, "T").concat((0, _utils.getHHmmss)(time)).concat(timezone));
92
83
  }
93
84
  }),
94
85
  field: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, field), {}, {
@@ -99,7 +90,7 @@ var DateTimeWithTimezone = exports.DateTimeWithTimezone = function DateTimeWithT
99
90
  span: 4
100
91
  }, /*#__PURE__*/_react.default.createElement(_Input.Input, {
101
92
  bind: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, bind), {}, {
102
- value: time,
93
+ value: (0, _utils.getHHmm)(time),
103
94
  onChange: async function onChange(value) {
104
95
  if (!value) {
105
96
  if (!bind.value) {
@@ -107,7 +98,7 @@ var DateTimeWithTimezone = exports.DateTimeWithTimezone = function DateTimeWithT
107
98
  }
108
99
  return bind.onChange("");
109
100
  }
110
- return bind.onChange("".concat(date || (0, _utils.getCurrentDate)(), "T").concat(value).concat(timezone || defaultTimeZone));
101
+ return bind.onChange("".concat(date || (0, _utils.getCurrentDate)(), "T").concat((0, _utils.getHHmmss)(value)).concat(timezone));
111
102
  }
112
103
  }),
113
104
  field: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, field), {}, {
@@ -119,7 +110,7 @@ var DateTimeWithTimezone = exports.DateTimeWithTimezone = function DateTimeWithT
119
110
  span: cellSize
120
111
  }, /*#__PURE__*/_react.default.createElement(_Select.Select, {
121
112
  label: "Timezone",
122
- value: timezone || defaultTimeZone,
113
+ value: timezone,
123
114
  onChange: function onChange(value) {
124
115
  if (!value) {
125
116
  if (!bind.value) {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_Input","_Select","_Grid","_utils","_utils2","parseDateTime","value","date","rest","_value$split","split","_value$split2","_slicedToArray2","default","formattedDate","Error","concat","parseTime","time","timezone","sign","includes","_value$split3","_value$split4","fullTime","zone","DateTimeWithTimezone","exports","_ref","bind","trailingIcon","field","defaultTimeZone","getCurrentTimeZone","DEFAULT_TIMEZONE","initialValue","getDefaultFieldValue","Date","getCurrentDate","getCurrentLocalTime","_parseDateTime","_parseTime","_parseTime$timezone","bindValue","useEffect","onChange","cellSize","createElement","Grid","Cell","span","Input","_objectSpread2","label","type","step","Select","options","UTC_TIMEZONES","map","t","RemoveFieldButton"],"sources":["DateTimeWithTimezone.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { Input } from \"./Input\";\nimport { Select } from \"./Select\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport {\n RemoveFieldButton,\n getDefaultFieldValue,\n DEFAULT_TIMEZONE,\n getCurrentDate,\n getCurrentLocalTime,\n getCurrentTimeZone\n} from \"./utils\";\nimport { CmsModelField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\nimport { UTC_TIMEZONES } from \"@webiny/utils\";\n\ninterface State {\n date: string;\n time: string;\n timezone: string;\n}\n\nconst parseDateTime = (value?: string): Pick<State, \"date\"> & { rest: string } => {\n if (!value || typeof value !== \"string\") {\n return {\n date: \"\",\n rest: \"\"\n };\n }\n const [formattedDate, rest] = value.split(\"T\");\n if (!formattedDate || !rest) {\n throw new Error(`Could not extract date and time from \"${value}\".`);\n }\n return {\n date: formattedDate,\n rest\n };\n};\n\nconst parseTime = (value?: string): Pick<State, \"time\" | \"timezone\"> => {\n if (!value) {\n return {\n time: \"\",\n timezone: \"\"\n };\n }\n const sign = value.includes(\"+\") ? \"+\" : \"-\";\n const [fullTime, zone] = value.split(sign);\n\n return {\n time: fullTime,\n timezone: sign + zone\n };\n};\n\nexport interface DateTimeWithTimezoneProps {\n bind: BindComponentRenderProp;\n trailingIcon?: any;\n field: CmsModelField;\n}\nexport const DateTimeWithTimezone = ({ bind, trailingIcon, field }: DateTimeWithTimezoneProps) => {\n const defaultTimeZone = getCurrentTimeZone() || DEFAULT_TIMEZONE;\n\n // \"2020-05-18T09:00+10:00\"\n const initialValue = getDefaultFieldValue(field, bind, () => {\n const date = new Date();\n return `${getCurrentDate(date)}T${getCurrentLocalTime(date)}${defaultTimeZone}`;\n });\n const { date, rest } = parseDateTime(initialValue);\n const { time, timezone = defaultTimeZone } = parseTime(rest);\n\n const bindValue = bind.value || \"\";\n useEffect(() => {\n if (!date || !time || !timezone || bindValue === initialValue) {\n return;\n }\n bind.onChange(initialValue);\n }, [bindValue]);\n\n const cellSize = trailingIcon ? 3 : 4;\n\n return (\n <Grid>\n <Cell span={4}>\n <Input\n bind={{\n ...bind,\n value: date,\n onChange: async (value: string) => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(\n `${value}T${time || getCurrentLocalTime()}${\n timezone || defaultTimeZone\n }`\n );\n }\n }}\n field={{\n ...field,\n label: `${field.label} date`\n }}\n type={\"date\"}\n />\n </Cell>\n <Cell span={4}>\n <Input\n bind={{\n ...bind,\n value: time,\n onChange: async value => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(\n `${date || getCurrentDate()}T${value}${timezone || defaultTimeZone}`\n );\n }\n }}\n field={{\n ...field,\n label: `${field.label} time`\n }}\n type={\"time\"}\n step={60}\n />\n </Cell>\n <Cell span={cellSize}>\n <Select\n label=\"Timezone\"\n value={timezone || defaultTimeZone}\n onChange={value => {\n if (!value) {\n if (!bind.value) {\n return null;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(\n `${date || getCurrentDate()}T${time || getCurrentLocalTime()}${value}`\n );\n }}\n options={UTC_TIMEZONES.map(t => ({ value: t.value, label: t.label }))}\n />\n </Cell>\n <RemoveFieldButton trailingIcon={trailingIcon} />\n </Grid>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_Input","_Select","_Grid","_utils","_utils2","parseDateTime","value","date","rest","_value$split","split","_value$split2","_slicedToArray2","default","formattedDate","Error","concat","parseTime","defaultTimeZone","time","timezone","sign","includes","_value$split3","_value$split4","fullTime","zone","DateTimeWithTimezone","exports","_ref","bind","trailingIcon","field","getCurrentTimeZone","DEFAULT_TIMEZONE","getDefaultFieldValue","Date","getCurrentDate","getCurrentLocalTime","_parseDateTime","_parseTime","cellSize","createElement","Grid","Cell","span","Input","_objectSpread2","onChange","getHHmmss","label","type","getHHmm","step","Select","options","UTC_TIMEZONES","map","t","RemoveFieldButton"],"sources":["DateTimeWithTimezone.tsx"],"sourcesContent":["import React from \"react\";\nimport { Input } from \"./Input\";\nimport { Select } from \"./Select\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport {\n RemoveFieldButton,\n getDefaultFieldValue,\n DEFAULT_TIMEZONE,\n getCurrentDate,\n getCurrentLocalTime,\n getCurrentTimeZone,\n getHHmmss,\n getHHmm\n} from \"./utils\";\nimport { CmsModelField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\nimport { UTC_TIMEZONES } from \"@webiny/utils\";\n\ninterface State {\n date: string;\n time: string;\n timezone: string;\n}\n\nconst parseDateTime = (value?: string): Pick<State, \"date\"> & { rest: string } => {\n if (!value || typeof value !== \"string\") {\n return {\n date: \"\",\n rest: \"\"\n };\n }\n const [formattedDate, rest] = value.split(\"T\");\n if (!formattedDate || !rest) {\n throw new Error(`Could not extract date and time from \"${value}\".`);\n }\n return {\n date: formattedDate,\n rest\n };\n};\n\nconst parseTime = (value?: string, defaultTimeZone?: string): Pick<State, \"time\" | \"timezone\"> => {\n if (!value) {\n return {\n time: \"\",\n timezone: defaultTimeZone || \"\"\n };\n }\n const sign = value.includes(\"+\") ? \"+\" : \"-\";\n const [fullTime, zone] = value.split(sign);\n\n return {\n time: fullTime,\n timezone: sign + zone\n };\n};\n\nexport interface DateTimeWithTimezoneProps {\n bind: BindComponentRenderProp;\n trailingIcon?: any;\n field: CmsModelField;\n}\nexport const DateTimeWithTimezone = ({ bind, trailingIcon, field }: DateTimeWithTimezoneProps) => {\n const defaultTimeZone = getCurrentTimeZone() || DEFAULT_TIMEZONE;\n\n // \"2020-05-18T09:00+10:00\"\n const value =\n bind.value ||\n getDefaultFieldValue(field, bind, () => {\n const date = new Date();\n return `${getCurrentDate(date)}T${getCurrentLocalTime(date)}${defaultTimeZone}`;\n });\n\n const { date, rest } = parseDateTime(value);\n const { time, timezone } = parseTime(rest, defaultTimeZone);\n\n const cellSize = trailingIcon ? 3 : 4;\n\n return (\n <Grid>\n <Cell span={4}>\n <Input\n bind={{\n ...bind,\n value: date,\n onChange: async (value: string) => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n\n return bind.onChange(`${value}T${getHHmmss(time)}${timezone}`);\n }\n }}\n field={{\n ...field,\n label: `${field.label} date`\n }}\n type={\"date\"}\n />\n </Cell>\n <Cell span={4}>\n <Input\n bind={{\n ...bind,\n value: getHHmm(time),\n onChange: async value => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(\n `${date || getCurrentDate()}T${getHHmmss(value)}${timezone}`\n );\n }\n }}\n field={{\n ...field,\n label: `${field.label} time`\n }}\n type={\"time\"}\n step={60}\n />\n </Cell>\n <Cell span={cellSize}>\n <Select\n label=\"Timezone\"\n value={timezone}\n onChange={value => {\n if (!value) {\n if (!bind.value) {\n return null;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(\n `${date || getCurrentDate()}T${time || getCurrentLocalTime()}${value}`\n );\n }}\n options={UTC_TIMEZONES.map(t => ({ value: t.value, label: t.label }))}\n />\n </Cell>\n <RemoveFieldButton trailingIcon={trailingIcon} />\n </Grid>\n );\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAYA,IAAAK,OAAA,GAAAL,OAAA;AAQA,IAAMM,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAc,EAA6C;EAC9E,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACrC,OAAO;MACHC,IAAI,EAAE,EAAE;MACRC,IAAI,EAAE;IACV,CAAC;EACL;EACA,IAAAC,YAAA,GAA8BH,KAAK,CAACI,KAAK,CAAC,GAAG,CAAC;IAAAC,aAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,YAAA;IAAvCK,aAAa,GAAAH,aAAA;IAAEH,IAAI,GAAAG,aAAA;EAC1B,IAAI,CAACG,aAAa,IAAI,CAACN,IAAI,EAAE;IACzB,MAAM,IAAIO,KAAK,2CAAAC,MAAA,CAA0CV,KAAK,QAAI,CAAC;EACvE;EACA,OAAO;IACHC,IAAI,EAAEO,aAAa;IACnBN,IAAI,EAAJA;EACJ,CAAC;AACL,CAAC;AAED,IAAMS,SAAS,GAAG,SAAZA,SAASA,CAAIX,KAAc,EAAEY,eAAwB,EAAuC;EAC9F,IAAI,CAACZ,KAAK,EAAE;IACR,OAAO;MACHa,IAAI,EAAE,EAAE;MACRC,QAAQ,EAAEF,eAAe,IAAI;IACjC,CAAC;EACL;EACA,IAAMG,IAAI,GAAGf,KAAK,CAACgB,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG;EAC5C,IAAAC,aAAA,GAAyBjB,KAAK,CAACI,KAAK,CAACW,IAAI,CAAC;IAAAG,aAAA,OAAAZ,eAAA,CAAAC,OAAA,EAAAU,aAAA;IAAnCE,QAAQ,GAAAD,aAAA;IAAEE,IAAI,GAAAF,aAAA;EAErB,OAAO;IACHL,IAAI,EAAEM,QAAQ;IACdL,QAAQ,EAAEC,IAAI,GAAGK;EACrB,CAAC;AACL,CAAC;AAOM,IAAMC,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,SAAvBA,oBAAoBA,CAAAE,IAAA,EAAiE;EAAA,IAA3DC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;EAC5D,IAAMd,eAAe,GAAG,IAAAe,yBAAkB,EAAC,CAAC,IAAIC,uBAAgB;;EAEhE;EACA,IAAM5B,KAAK,GACPwB,IAAI,CAACxB,KAAK,IACV,IAAA6B,2BAAoB,EAACH,KAAK,EAAEF,IAAI,EAAE,YAAM;IACpC,IAAMvB,IAAI,GAAG,IAAI6B,IAAI,CAAC,CAAC;IACvB,UAAApB,MAAA,CAAU,IAAAqB,qBAAc,EAAC9B,IAAI,CAAC,OAAAS,MAAA,CAAI,IAAAsB,0BAAmB,EAAC/B,IAAI,CAAC,EAAAS,MAAA,CAAGE,eAAe;EACjF,CAAC,CAAC;EAEN,IAAAqB,cAAA,GAAuBlC,aAAa,CAACC,KAAK,CAAC;IAAnCC,IAAI,GAAAgC,cAAA,CAAJhC,IAAI;IAAEC,IAAI,GAAA+B,cAAA,CAAJ/B,IAAI;EAClB,IAAAgC,UAAA,GAA2BvB,SAAS,CAACT,IAAI,EAAEU,eAAe,CAAC;IAAnDC,IAAI,GAAAqB,UAAA,CAAJrB,IAAI;IAAEC,QAAQ,GAAAoB,UAAA,CAARpB,QAAQ;EAEtB,IAAMqB,QAAQ,GAAGV,YAAY,GAAG,CAAC,GAAG,CAAC;EAErC,oBACIlC,MAAA,CAAAgB,OAAA,CAAA6B,aAAA,CAACxC,KAAA,CAAAyC,IAAI,qBACD9C,MAAA,CAAAgB,OAAA,CAAA6B,aAAA,CAACxC,KAAA,CAAA0C,IAAI;IAACC,IAAI,EAAE;EAAE,gBACVhD,MAAA,CAAAgB,OAAA,CAAA6B,aAAA,CAAC1C,MAAA,CAAA8C,KAAK;IACFhB,IAAI,MAAAiB,cAAA,CAAAlC,OAAA,MAAAkC,cAAA,CAAAlC,OAAA,MACGiB,IAAI;MACPxB,KAAK,EAAEC,IAAI;MACXyC,QAAQ,EAAE,eAAAA,SAAO1C,KAAa,EAAK;QAC/B,IAAI,CAACA,KAAK,EAAE;UACR,IAAI,CAACwB,IAAI,CAACxB,KAAK,EAAE;YACb;UACJ;UACA,OAAOwB,IAAI,CAACkB,QAAQ,CAAC,EAAE,CAAC;QAC5B;QAEA,OAAOlB,IAAI,CAACkB,QAAQ,IAAAhC,MAAA,CAAIV,KAAK,OAAAU,MAAA,CAAI,IAAAiC,gBAAS,EAAC9B,IAAI,CAAC,EAAAH,MAAA,CAAGI,QAAQ,CAAE,CAAC;MAClE;IAAC,EACH;IACFY,KAAK,MAAAe,cAAA,CAAAlC,OAAA,MAAAkC,cAAA,CAAAlC,OAAA,MACEmB,KAAK;MACRkB,KAAK,KAAAlC,MAAA,CAAKgB,KAAK,CAACkB,KAAK;IAAO,EAC9B;IACFC,IAAI,EAAE;EAAO,CAChB,CACC,CAAC,eACPtD,MAAA,CAAAgB,OAAA,CAAA6B,aAAA,CAACxC,KAAA,CAAA0C,IAAI;IAACC,IAAI,EAAE;EAAE,gBACVhD,MAAA,CAAAgB,OAAA,CAAA6B,aAAA,CAAC1C,MAAA,CAAA8C,KAAK;IACFhB,IAAI,MAAAiB,cAAA,CAAAlC,OAAA,MAAAkC,cAAA,CAAAlC,OAAA,MACGiB,IAAI;MACPxB,KAAK,EAAE,IAAA8C,cAAO,EAACjC,IAAI,CAAC;MACpB6B,QAAQ,EAAE,eAAAA,SAAM1C,KAAK,EAAI;QACrB,IAAI,CAACA,KAAK,EAAE;UACR,IAAI,CAACwB,IAAI,CAACxB,KAAK,EAAE;YACb;UACJ;UACA,OAAOwB,IAAI,CAACkB,QAAQ,CAAC,EAAE,CAAC;QAC5B;QACA,OAAOlB,IAAI,CAACkB,QAAQ,IAAAhC,MAAA,CACbT,IAAI,IAAI,IAAA8B,qBAAc,EAAC,CAAC,OAAArB,MAAA,CAAI,IAAAiC,gBAAS,EAAC3C,KAAK,CAAC,EAAAU,MAAA,CAAGI,QAAQ,CAC9D,CAAC;MACL;IAAC,EACH;IACFY,KAAK,MAAAe,cAAA,CAAAlC,OAAA,MAAAkC,cAAA,CAAAlC,OAAA,MACEmB,KAAK;MACRkB,KAAK,KAAAlC,MAAA,CAAKgB,KAAK,CAACkB,KAAK;IAAO,EAC9B;IACFC,IAAI,EAAE,MAAO;IACbE,IAAI,EAAE;EAAG,CACZ,CACC,CAAC,eACPxD,MAAA,CAAAgB,OAAA,CAAA6B,aAAA,CAACxC,KAAA,CAAA0C,IAAI;IAACC,IAAI,EAAEJ;EAAS,gBACjB5C,MAAA,CAAAgB,OAAA,CAAA6B,aAAA,CAACzC,OAAA,CAAAqD,MAAM;IACHJ,KAAK,EAAC,UAAU;IAChB5C,KAAK,EAAEc,QAAS;IAChB4B,QAAQ,EAAE,SAAAA,SAAA1C,KAAK,EAAI;MACf,IAAI,CAACA,KAAK,EAAE;QACR,IAAI,CAACwB,IAAI,CAACxB,KAAK,EAAE;UACb,OAAO,IAAI;QACf;QACA,OAAOwB,IAAI,CAACkB,QAAQ,CAAC,EAAE,CAAC;MAC5B;MACA,OAAOlB,IAAI,CAACkB,QAAQ,IAAAhC,MAAA,CACbT,IAAI,IAAI,IAAA8B,qBAAc,EAAC,CAAC,OAAArB,MAAA,CAAIG,IAAI,IAAI,IAAAmB,0BAAmB,EAAC,CAAC,EAAAtB,MAAA,CAAGV,KAAK,CACxE,CAAC;IACL,CAAE;IACFiD,OAAO,EAAEC,qBAAa,CAACC,GAAG,CAAC,UAAAC,CAAC;MAAA,OAAK;QAAEpD,KAAK,EAAEoD,CAAC,CAACpD,KAAK;QAAE4C,KAAK,EAAEQ,CAAC,CAACR;MAAM,CAAC;IAAA,CAAC;EAAE,CACzE,CACC,CAAC,eACPrD,MAAA,CAAAgB,OAAA,CAAA6B,aAAA,CAACvC,MAAA,CAAAwD,iBAAiB;IAAC5B,YAAY,EAAEA;EAAa,CAAE,CAC9C,CAAC;AAEf,CAAC","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
@@ -8,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
8
7
  exports.DateTimeWithoutTimezone = void 0;
9
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
- var _react = _interopRequireWildcard(require("react"));
10
+ var _react = _interopRequireDefault(require("react"));
12
11
  var _Grid = require("@webiny/ui/Grid");
13
12
  var _utils = require("./utils");
14
13
  var _Input = require("./Input");
@@ -50,20 +49,13 @@ var DateTimeWithoutTimezone = exports.DateTimeWithoutTimezone = function DateTim
50
49
  bind = _ref.bind,
51
50
  trailingIcon = _ref.trailingIcon;
52
51
  // "2020-05-18 09:00:00"
53
- var initialValue = (0, _utils.getDefaultFieldValue)(field, bind, function () {
52
+ var value = bind.value || (0, _utils.getDefaultFieldValue)(field, bind, function () {
54
53
  var date = new Date();
55
54
  return "".concat((0, _utils.getCurrentDate)(date), " ").concat((0, _utils.getCurrentLocalTime)(date));
56
55
  });
57
- var _parseDateTime = parseDateTime(initialValue),
56
+ var _parseDateTime = parseDateTime(value),
58
57
  date = _parseDateTime.date,
59
58
  time = _parseDateTime.time;
60
- var bindValue = bind.value || "";
61
- (0, _react.useEffect)(function () {
62
- if (!date || !time || bindValue === initialValue) {
63
- return;
64
- }
65
- bind.onChange(initialValue);
66
- }, [bindValue]);
67
59
  var cellSize = trailingIcon ? 5 : 6;
68
60
  return /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
69
61
  span: 6
@@ -77,7 +69,7 @@ var DateTimeWithoutTimezone = exports.DateTimeWithoutTimezone = function DateTim
77
69
  }
78
70
  return bind.onChange("");
79
71
  }
80
- return bind.onChange("".concat(value, " ").concat(time || (0, _utils.getCurrentLocalTime)()));
72
+ return bind.onChange("".concat(value, " ").concat((0, _utils.getHHmmss)(time)));
81
73
  }
82
74
  }),
83
75
  field: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, field), {}, {
@@ -88,7 +80,7 @@ var DateTimeWithoutTimezone = exports.DateTimeWithoutTimezone = function DateTim
88
80
  span: cellSize
89
81
  }, /*#__PURE__*/_react.default.createElement(_Input.Input, {
90
82
  bind: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, bind), {}, {
91
- value: time,
83
+ value: (0, _utils.getHHmm)(time),
92
84
  onChange: async function onChange(value) {
93
85
  if (!value) {
94
86
  if (!bind.value) {
@@ -96,7 +88,7 @@ var DateTimeWithoutTimezone = exports.DateTimeWithoutTimezone = function DateTim
96
88
  }
97
89
  return bind.onChange("");
98
90
  }
99
- return bind.onChange("".concat(date || (0, _utils.getCurrentDate)(), " ").concat(value));
91
+ return bind.onChange("".concat(date || (0, _utils.getCurrentDate)(), " ").concat((0, _utils.getHHmmss)(value)));
100
92
  }
101
93
  }),
102
94
  field: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, field), {}, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_Grid","_utils","_Input","parseDateTime","value","date","time","includes","_value$split$0$split","split","_value$split$0$split2","_slicedToArray2","default","_value$split","_value$split2","console","error","concat","DateTimeWithoutTimezone","exports","_ref","field","bind","trailingIcon","initialValue","getDefaultFieldValue","Date","getCurrentDate","getCurrentLocalTime","_parseDateTime","bindValue","useEffect","onChange","cellSize","createElement","Grid","Cell","span","Input","_objectSpread2","label","type","step","RemoveFieldButton"],"sources":["DateTimeWithoutTimezone.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport {\n getCurrentDate,\n getCurrentLocalTime,\n getDefaultFieldValue,\n RemoveFieldButton\n} from \"./utils\";\nimport { Input } from \"./Input\";\nimport { CmsModelField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\ninterface State {\n date: string;\n time: string;\n}\n\nconst parseDateTime = (value?: string): State => {\n if (!value) {\n return {\n date: \"\",\n time: \"\"\n };\n }\n if (value.includes(\"T\")) {\n const [date, time] = value.split(\".\")[0].split(\"T\");\n return {\n date,\n time\n };\n }\n const [date, time] = value.split(\" \");\n if (!date || !time) {\n console.error(`Could not extract date and time from \"${value}\".`);\n\n return {\n date: \"\",\n time: \"\"\n };\n }\n return {\n date,\n time\n };\n};\n\nexport interface DateTimeWithoutTimezoneProps {\n bind: BindComponentRenderProp;\n trailingIcon?: any;\n field: CmsModelField;\n}\nexport const DateTimeWithoutTimezone = ({\n field,\n bind,\n trailingIcon\n}: DateTimeWithoutTimezoneProps) => {\n // \"2020-05-18 09:00:00\"\n const initialValue = getDefaultFieldValue(field, bind, () => {\n const date = new Date();\n return `${getCurrentDate(date)} ${getCurrentLocalTime(date)}`;\n });\n\n const { date, time } = parseDateTime(initialValue);\n\n const bindValue = bind.value || \"\";\n\n useEffect(() => {\n if (!date || !time || bindValue === initialValue) {\n return;\n }\n bind.onChange(initialValue);\n }, [bindValue]);\n\n const cellSize = trailingIcon ? 5 : 6;\n\n return (\n <Grid>\n <Cell span={6}>\n <Input\n bind={{\n ...bind,\n value: date,\n onChange: async value => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(`${value} ${time || getCurrentLocalTime()}`);\n }\n }}\n field={{\n ...field,\n label: `${field.label} date`\n }}\n type={\"date\"}\n />\n </Cell>\n <Cell span={cellSize}>\n <Input\n bind={{\n ...bind,\n value: time,\n onChange: async value => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(`${date || getCurrentDate()} ${value}`);\n }\n }}\n field={{\n ...field,\n label: `${field.label} time`\n }}\n type={\"time\"}\n step={60}\n />\n </Cell>\n <RemoveFieldButton trailingIcon={trailingIcon} />\n </Grid>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_Grid","_utils","_Input","parseDateTime","value","date","time","includes","_value$split$0$split","split","_value$split$0$split2","_slicedToArray2","default","_value$split","_value$split2","console","error","concat","DateTimeWithoutTimezone","exports","_ref","field","bind","trailingIcon","getDefaultFieldValue","Date","getCurrentDate","getCurrentLocalTime","_parseDateTime","cellSize","createElement","Grid","Cell","span","Input","_objectSpread2","onChange","getHHmmss","label","type","getHHmm","step","RemoveFieldButton"],"sources":["DateTimeWithoutTimezone.tsx"],"sourcesContent":["import React from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport {\n getCurrentDate,\n getCurrentLocalTime,\n getDefaultFieldValue,\n getHHmm,\n getHHmmss,\n RemoveFieldButton\n} from \"./utils\";\nimport { Input } from \"./Input\";\nimport { CmsModelField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\ninterface State {\n date: string;\n time: string;\n}\n\nconst parseDateTime = (value?: string): State => {\n if (!value) {\n return {\n date: \"\",\n time: \"\"\n };\n }\n if (value.includes(\"T\")) {\n const [date, time] = value.split(\".\")[0].split(\"T\");\n return {\n date,\n time\n };\n }\n const [date, time] = value.split(\" \");\n if (!date || !time) {\n console.error(`Could not extract date and time from \"${value}\".`);\n\n return {\n date: \"\",\n time: \"\"\n };\n }\n return {\n date,\n time\n };\n};\n\nexport interface DateTimeWithoutTimezoneProps {\n bind: BindComponentRenderProp;\n trailingIcon?: any;\n field: CmsModelField;\n}\nexport const DateTimeWithoutTimezone = ({\n field,\n bind,\n trailingIcon\n}: DateTimeWithoutTimezoneProps) => {\n // \"2020-05-18 09:00:00\"\n const value =\n bind.value ||\n getDefaultFieldValue(field, bind, () => {\n const date = new Date();\n return `${getCurrentDate(date)} ${getCurrentLocalTime(date)}`;\n });\n\n const { date, time } = parseDateTime(value);\n\n const cellSize = trailingIcon ? 5 : 6;\n\n return (\n <Grid>\n <Cell span={6}>\n <Input\n bind={{\n ...bind,\n value: date,\n onChange: async value => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(`${value} ${getHHmmss(time)}`);\n }\n }}\n field={{\n ...field,\n label: `${field.label} date`\n }}\n type={\"date\"}\n />\n </Cell>\n <Cell span={cellSize}>\n <Input\n bind={{\n ...bind,\n value: getHHmm(time),\n onChange: async value => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(`${date || getCurrentDate()} ${getHHmmss(value)}`);\n }\n }}\n field={{\n ...field,\n label: `${field.label} time`\n }}\n type={\"time\"}\n step={60}\n />\n </Cell>\n <RemoveFieldButton trailingIcon={trailingIcon} />\n </Grid>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,8 @@ export declare const getDefaultFieldValue: (field: CmsModelField, bind: {
7
7
  export declare const getCurrentTimeZone: (date?: Date) => string | null;
8
8
  export declare const getCurrentLocalTime: (date?: Date) => string;
9
9
  export declare const getCurrentDate: (date?: Date) => string;
10
+ export declare const getHHmm: (time?: string) => string;
11
+ export declare const getHHmmss: (time?: string) => string;
10
12
  interface RemoveFieldButtonProps {
11
13
  trailingIcon: any;
12
14
  }
@@ -4,7 +4,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.getDefaultFieldValue = exports.getCurrentTimeZone = exports.getCurrentLocalTime = exports.getCurrentDate = exports.RemoveFieldButton = exports.DEFAULT_TIMEZONE = void 0;
7
+ exports.getHHmmss = exports.getHHmm = exports.getDefaultFieldValue = exports.getCurrentTimeZone = exports.getCurrentLocalTime = exports.getCurrentDate = exports.RemoveFieldButton = exports.DEFAULT_TIMEZONE = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
8
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
10
  var _react = _interopRequireDefault(require("react"));
10
11
  var _emotion = require("emotion");
@@ -52,6 +53,20 @@ var getCurrentDate = exports.getCurrentDate = function getCurrentDate(date) {
52
53
  var day = String(date.getDate()).padStart(2, "0");
53
54
  return "".concat(year, "-").concat(month, "-").concat(day);
54
55
  };
56
+ var getHHmm = exports.getHHmm = function getHHmm(time) {
57
+ if (!time) {
58
+ return "";
59
+ }
60
+ var parsableTime = time || getCurrentLocalTime();
61
+ return parsableTime.split(":").slice(0, 2).join(":");
62
+ };
63
+
64
+ // Ensure a valid HH:mm:ss string, ending with :00 for seconds.
65
+ var getHHmmss = exports.getHHmmss = function getHHmmss(time) {
66
+ var parsableTime = time || getCurrentLocalTime();
67
+ var parts = [].concat((0, _toConsumableArray2.default)(parsableTime.split(":").slice(0, 2)), ["00"]);
68
+ return parts.join(":");
69
+ };
55
70
  var deleteIconStyles = (0, _emotion.css)({
56
71
  width: "100% !important",
57
72
  height: "100% !important",
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_emotion","_Grid","_Button","DEFAULT_TIMEZONE","exports","getDefaultFieldValue","field","bind","getCurrent","def","settings","defaultSetValue","value","getCurrentTimeZone","date","Date","toTimeString","matches","match","timezone","concat","slice","getCurrentLocalTime","_value$split","split","_value$split2","_slicedToArray2","default","time","getCurrentDate","year","String","getFullYear","padStart","month","getMonth","day","getDate","deleteIconStyles","css","width","height","color","RemoveFieldButton","_ref","trailingIcon","createElement","Cell","span","IconButton","className","onClick","icon"],"sources":["utils.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Cell } from \"@webiny/ui/Grid\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { CmsModelField } from \"~/types\";\n\nexport const DEFAULT_TIMEZONE = \"+01:00\";\n\nexport const getDefaultFieldValue = (\n field: CmsModelField,\n bind: {\n value: string | null | undefined;\n },\n getCurrent: () => string\n): string => {\n const def = field.settings ? field.settings.defaultSetValue || \"null\" : \"null\";\n if (bind.value || def !== \"current\") {\n return bind.value || \"\";\n }\n return getCurrent();\n};\n\nexport const getCurrentTimeZone = (date?: Date): string | null => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const matches = value.match(/GMT([+-][0-9]{4})/);\n if (!matches) {\n return null;\n }\n const timezone = matches[1];\n return `${timezone.slice(0, 3)}:${timezone.slice(3)}`;\n};\n\nexport const getCurrentLocalTime = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const [time] = value.split(\" \");\n if (!time || time.match(/^([0-9]{2}):([0-9]{2}):([0-9]{2})$/) === null) {\n return \"00:00:00\";\n }\n return time;\n};\n\nexport const getCurrentDate = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const year = String(date.getFullYear()).padStart(4, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n\n return `${year}-${month}-${day}`;\n};\n\nconst deleteIconStyles = css({\n width: \"100% !important\",\n height: \"100% !important\",\n color: \"var(--mdc-theme-text-secondary-on-background) !important\"\n});\n\ninterface RemoveFieldButtonProps {\n trailingIcon: any;\n}\nexport const RemoveFieldButton = ({ trailingIcon }: RemoveFieldButtonProps) => {\n if (!trailingIcon) {\n return null;\n }\n return (\n <Cell span={1}>\n <IconButton\n className={deleteIconStyles}\n onClick={trailingIcon.onClick}\n icon={trailingIcon.icon}\n />\n </Cell>\n );\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAGO,IAAMI,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,QAAQ;AAEjC,IAAME,oBAAoB,GAAAD,OAAA,CAAAC,oBAAA,GAAG,SAAvBA,oBAAoBA,CAC7BC,KAAoB,EACpBC,IAEC,EACDC,UAAwB,EACf;EACT,IAAMC,GAAG,GAAGH,KAAK,CAACI,QAAQ,GAAGJ,KAAK,CAACI,QAAQ,CAACC,eAAe,IAAI,MAAM,GAAG,MAAM;EAC9E,IAAIJ,IAAI,CAACK,KAAK,IAAIH,GAAG,KAAK,SAAS,EAAE;IACjC,OAAOF,IAAI,CAACK,KAAK,IAAI,EAAE;EAC3B;EACA,OAAOJ,UAAU,CAAC,CAAC;AACvB,CAAC;AAEM,IAAMK,kBAAkB,GAAAT,OAAA,CAAAS,kBAAA,GAAG,SAArBA,kBAAkBA,CAAIC,IAAW,EAAoB;EAC9D,IAAI,CAACA,IAAI,EAAE;IACPA,IAAI,GAAG,IAAIC,IAAI,CAAC,CAAC;EACrB;EACA,IAAMH,KAAK,GAAGE,IAAI,CAACE,YAAY,CAAC,CAAC;EAEjC,IAAMC,OAAO,GAAGL,KAAK,CAACM,KAAK,CAAC,mBAAmB,CAAC;EAChD,IAAI,CAACD,OAAO,EAAE;IACV,OAAO,IAAI;EACf;EACA,IAAME,QAAQ,GAAGF,OAAO,CAAC,CAAC,CAAC;EAC3B,UAAAG,MAAA,CAAUD,QAAQ,CAACE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAAD,MAAA,CAAID,QAAQ,CAACE,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAEM,IAAMC,mBAAmB,GAAAlB,OAAA,CAAAkB,mBAAA,GAAG,SAAtBA,mBAAmBA,CAAIR,IAAW,EAAa;EACxD,IAAI,CAACA,IAAI,EAAE;IACPA,IAAI,GAAG,IAAIC,IAAI,CAAC,CAAC;EACrB;EACA,IAAMH,KAAK,GAAGE,IAAI,CAACE,YAAY,CAAC,CAAC;EAEjC,IAAAO,YAAA,GAAeX,KAAK,CAACY,KAAK,CAAC,GAAG,CAAC;IAAAC,aAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,YAAA;IAAxBK,IAAI,GAAAH,aAAA;EACX,IAAI,CAACG,IAAI,IAAIA,IAAI,CAACV,KAAK,CAAC,oCAAoC,CAAC,KAAK,IAAI,EAAE;IACpE,OAAO,UAAU;EACrB;EACA,OAAOU,IAAI;AACf,CAAC;AAEM,IAAMC,cAAc,GAAAzB,OAAA,CAAAyB,cAAA,GAAG,SAAjBA,cAAcA,CAAIf,IAAW,EAAa;EACnD,IAAI,CAACA,IAAI,EAAE;IACPA,IAAI,GAAG,IAAIC,IAAI,CAAC,CAAC;EACrB;EACA,IAAMe,IAAI,GAAGC,MAAM,CAACjB,IAAI,CAACkB,WAAW,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EACxD,IAAMC,KAAK,GAAGH,MAAM,CAACjB,IAAI,CAACqB,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAACF,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAC1D,IAAMG,GAAG,GAAGL,MAAM,CAACjB,IAAI,CAACuB,OAAO,CAAC,CAAC,CAAC,CAACJ,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAEnD,UAAAb,MAAA,CAAUU,IAAI,OAAAV,MAAA,CAAIc,KAAK,OAAAd,MAAA,CAAIgB,GAAG;AAClC,CAAC;AAED,IAAME,gBAAgB,GAAG,IAAAC,YAAG,EAAC;EACzBC,KAAK,EAAE,iBAAiB;EACxBC,MAAM,EAAE,iBAAiB;EACzBC,KAAK,EAAE;AACX,CAAC,CAAC;AAKK,IAAMC,iBAAiB,GAAAvC,OAAA,CAAAuC,iBAAA,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAAiD;EAAA,IAA3CC,YAAY,GAAAD,IAAA,CAAZC,YAAY;EAC5C,IAAI,CAACA,YAAY,EAAE;IACf,OAAO,IAAI;EACf;EACA,oBACIhD,MAAA,CAAA8B,OAAA,CAAAmB,aAAA,CAAC7C,KAAA,CAAA8C,IAAI;IAACC,IAAI,EAAE;EAAE,gBACVnD,MAAA,CAAA8B,OAAA,CAAAmB,aAAA,CAAC5C,OAAA,CAAA+C,UAAU;IACPC,SAAS,EAAEZ,gBAAiB;IAC5Ba,OAAO,EAAEN,YAAY,CAACM,OAAQ;IAC9BC,IAAI,EAAEP,YAAY,CAACO;EAAK,CAC3B,CACC,CAAC;AAEf,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_emotion","_Grid","_Button","DEFAULT_TIMEZONE","exports","getDefaultFieldValue","field","bind","getCurrent","def","settings","defaultSetValue","value","getCurrentTimeZone","date","Date","toTimeString","matches","match","timezone","concat","slice","getCurrentLocalTime","_value$split","split","_value$split2","_slicedToArray2","default","time","getCurrentDate","year","String","getFullYear","padStart","month","getMonth","day","getDate","getHHmm","parsableTime","join","getHHmmss","parts","_toConsumableArray2","deleteIconStyles","css","width","height","color","RemoveFieldButton","_ref","trailingIcon","createElement","Cell","span","IconButton","className","onClick","icon"],"sources":["utils.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Cell } from \"@webiny/ui/Grid\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { CmsModelField } from \"~/types\";\n\nexport const DEFAULT_TIMEZONE = \"+01:00\";\n\nexport const getDefaultFieldValue = (\n field: CmsModelField,\n bind: {\n value: string | null | undefined;\n },\n getCurrent: () => string\n): string => {\n const def = field.settings ? field.settings.defaultSetValue || \"null\" : \"null\";\n if (bind.value || def !== \"current\") {\n return bind.value || \"\";\n }\n return getCurrent();\n};\n\nexport const getCurrentTimeZone = (date?: Date): string | null => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const matches = value.match(/GMT([+-][0-9]{4})/);\n if (!matches) {\n return null;\n }\n const timezone = matches[1];\n return `${timezone.slice(0, 3)}:${timezone.slice(3)}`;\n};\n\nexport const getCurrentLocalTime = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const [time] = value.split(\" \");\n if (!time || time.match(/^([0-9]{2}):([0-9]{2}):([0-9]{2})$/) === null) {\n return \"00:00:00\";\n }\n return time;\n};\n\nexport const getCurrentDate = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const year = String(date.getFullYear()).padStart(4, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n\n return `${year}-${month}-${day}`;\n};\n\nexport const getHHmm = (time?: string) => {\n if (!time) {\n return \"\";\n }\n const parsableTime = time || getCurrentLocalTime();\n return parsableTime.split(\":\").slice(0, 2).join(\":\");\n};\n\n// Ensure a valid HH:mm:ss string, ending with :00 for seconds.\nexport const getHHmmss = (time?: string) => {\n const parsableTime = time || getCurrentLocalTime();\n const parts = [...parsableTime.split(\":\").slice(0, 2), \"00\"];\n\n return parts.join(\":\");\n};\n\nconst deleteIconStyles = css({\n width: \"100% !important\",\n height: \"100% !important\",\n color: \"var(--mdc-theme-text-secondary-on-background) !important\"\n});\n\ninterface RemoveFieldButtonProps {\n trailingIcon: any;\n}\nexport const RemoveFieldButton = ({ trailingIcon }: RemoveFieldButtonProps) => {\n if (!trailingIcon) {\n return null;\n }\n return (\n <Cell span={1}>\n <IconButton\n className={deleteIconStyles}\n onClick={trailingIcon.onClick}\n icon={trailingIcon.icon}\n />\n </Cell>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -73,6 +73,17 @@ var ContentEntryProvider = exports.ContentEntryProvider = function ContentEntryP
73
73
  isLoading = _useState8[0],
74
74
  setLoading = _useState8[1];
75
75
  var contentEntryProviderProps = useContentEntryProviderProps();
76
+ var updateRevisionInRevisionsCache = (0, _react.useCallback)(function (updatedRevisions) {
77
+ var updatedRevisionsArray = Array.isArray(updatedRevisions) ? updatedRevisions : [updatedRevisions];
78
+ setRevisions(function (revisions) {
79
+ return revisions.map(function (revision) {
80
+ var updatedRevision = updatedRevisionsArray.find(function (updatedRevision) {
81
+ return updatedRevision.id === revision.id;
82
+ });
83
+ return updatedRevision || revision;
84
+ });
85
+ });
86
+ }, []);
76
87
  var newEntry = typeof isNewEntry === "function" ? isNewEntry() : contentEntryProviderProps.isNewEntry();
77
88
  var contentId = typeof getContentId === "function" ? getContentId() : contentEntryProviderProps.getContentId();
78
89
  var revisionId = contentId ? decodeURIComponent(contentId) : null;
@@ -197,13 +208,7 @@ var ContentEntryProvider = exports.ContentEntryProvider = function ContentEntryP
197
208
  if (response.entry) {
198
209
  setEntry(response.entry);
199
210
  updateRecordInCache(response.entry);
200
- var updatedRevisionsList = revisions.map(function (rev) {
201
- if (rev.id === response.entry.id) {
202
- return response.entry;
203
- }
204
- return rev;
205
- });
206
- setRevisions(updatedRevisionsList);
211
+ updateRevisionInRevisionsCache(response.entry);
207
212
  }
208
213
  return response;
209
214
  };
@@ -243,6 +248,18 @@ var ContentEntryProvider = exports.ContentEntryProvider = function ContentEntryP
243
248
  if (response.entry) {
244
249
  setEntry(response.entry);
245
250
  updateRecordInCache(response.entry);
251
+ var revisionsToUpdateInRevisionsCache = [response.entry];
252
+ var previousPublishedRevision = revisions.find(function (rev) {
253
+ return rev.meta.status === "published";
254
+ });
255
+ if (previousPublishedRevision) {
256
+ revisionsToUpdateInRevisionsCache.push((0, _objectSpread2.default)((0, _objectSpread2.default)({}, previousPublishedRevision), {}, {
257
+ meta: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, previousPublishedRevision.meta), {}, {
258
+ status: "unpublished"
259
+ })
260
+ }));
261
+ }
262
+ updateRevisionInRevisionsCache(revisionsToUpdateInRevisionsCache);
246
263
  }
247
264
  return response;
248
265
  };
@@ -253,6 +270,7 @@ var ContentEntryProvider = exports.ContentEntryProvider = function ContentEntryP
253
270
  if (response.entry) {
254
271
  setEntry(response.entry);
255
272
  updateRecordInCache(response.entry);
273
+ updateRevisionInRevisionsCache(response.entry);
256
274
  }
257
275
  return response;
258
276
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactRouter","_appAdmin","_hooks","_useContentEntries2","_utils","_appHeadlessCmsCommon","_getFetchPolicy","_appAco","_useMockRecords","_constants","ContentEntryContext","exports","React","createContext","undefined","useContentEntryProviderProps","_useRouter","useRouter","location","query","URLSearchParams","search","isNewEntry","get","getContentId","ContentEntryProvider","_ref","children","readonly","currentFolderId","_useIsMounted","useIsMounted","isMounted","_useState","useState","_useState2","_slicedToArray2","default","activeTab","setActiveTab","_useState3","_useState4","entry","setEntry","_useState5","_useState6","revisions","setRevisions","_useContentEntries","useContentEntries","model","contentModel","canCreate","_useRouter2","history","_useSnackbar","useSnackbar","showSnackbar","cms","useCms","_ref2","useMockRecords","useRecords","addRecordToCache","updateRecordInCache","removeRecordFromCache","_useState7","_useState8","isLoading","setLoading","contentEntryProviderProps","newEntry","contentId","revisionId","decodeURIComponent","entryId","version","result","parseIdentifier","id","useEffect","_useMemo","useMemo","READ_CONTENT","createReadQuery","modelId","variables","revision","loadEntry","useQuery","skip","fetchPolicy","getFetchPolicy","onCompleted","response","_response$content","content","data","error","push","concat","message","loading","listEntryRevisions","then","getEntry","_ref3","createEntry","_ref4","options","_objectSpread2","wbyAco_location","folderId","ROOT_FOLDER","skipValidators","addItemToListCache","createEntryRevisionFrom","params","_toConsumableArray2","updateEntryRevision","updatedRevisionsList","map","rev","deleteEntry","deleteEntryRevision","filter","_updatedRevisionsList","newLatestRevision","publishEntryRevision","unpublishEntryRevision","value","refetchContent","refetch","showEmptyView","createElement","Provider","displayName"],"sources":["ContentEntryContext.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useIsMounted, useSnackbar } from \"@webiny/app-admin\";\nimport { useCms, useQuery } from \"~/admin/hooks\";\nimport { ContentEntriesContext } from \"~/admin/views/contentEntries/ContentEntriesContext\";\nimport { useContentEntries } from \"~/admin/views/contentEntries/hooks/useContentEntries\";\nimport { CmsContentEntry, CmsContentEntryRevision } from \"~/types\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport {\n CmsEntryGetQueryResponse,\n CmsEntryGetQueryVariables,\n createReadQuery\n} from \"@webiny/app-headless-cms-common\";\nimport { getFetchPolicy } from \"~/utils/getFetchPolicy\";\nimport { useRecords } from \"@webiny/app-aco\";\nimport * as Cms from \"~/admin/contexts/Cms\";\nimport { useMockRecords } from \"./useMockRecords\";\nimport { ROOT_FOLDER } from \"~/admin/constants\";\nimport { OperationError } from \"~/admin/contexts/Cms\";\n\ninterface UpdateListCacheOptions {\n options?: {\n addItemToListCache?: boolean;\n };\n}\n\nexport type GetEntryParams = Omit<Cms.GetEntryParams, \"model\">;\nexport type CreateEntryParams = Omit<Cms.CreateEntryParams, \"model\"> & UpdateListCacheOptions;\nexport type CreateEntryRevisionFromParams = Omit<Cms.CreateEntryRevisionFromParams, \"model\">;\nexport type UpdateEntryRevisionParams = Omit<Cms.UpdateEntryRevisionParams, \"model\">;\nexport type PublishEntryRevisionParams = Omit<Cms.PublishEntryRevisionParams, \"model\">;\nexport type UnpublishEntryRevisionParams = Omit<Cms.UnpublishEntryRevisionParams, \"model\">;\nexport type DeleteEntryParams = Omit<Cms.DeleteEntryParams, \"model\">;\nexport type DeleteEntryRevisionParams = DeleteEntryParams;\n\nexport interface DeleteEntryRevisionOperationSuccess {\n newLatestRevision: CmsContentEntryRevision;\n error?: never;\n}\n\nexport type DeleteEntryRevisionResponse = OperationError | DeleteEntryRevisionOperationSuccess;\n\nexport interface ContentEntryCrud {\n getEntry: (params: GetEntryParams) => Promise<Cms.GetEntryResponse>;\n createEntry: (params: CreateEntryParams) => Promise<Cms.CreateEntryResponse>;\n createEntryRevisionFrom: (\n params: CreateEntryRevisionFromParams\n ) => Promise<Cms.CreateEntryRevisionFromResponse>;\n updateEntryRevision: (\n params: UpdateEntryRevisionParams\n ) => Promise<Cms.UpdateEntryRevisionResponse>;\n publishEntryRevision: (\n params: PublishEntryRevisionParams\n ) => Promise<Cms.PublishEntryRevisionResponse>;\n unpublishEntryRevision: (\n params: UnpublishEntryRevisionParams\n ) => Promise<Cms.UnpublishEntryRevisionResponse>;\n deleteEntry: (params: DeleteEntryParams) => Promise<Cms.DeleteEntryResponse>;\n deleteEntryRevision: (\n params: DeleteEntryRevisionParams\n ) => Promise<DeleteEntryRevisionResponse>;\n}\n\nexport interface ContentEntryContext extends ContentEntriesContext, ContentEntryCrud {\n entry: CmsContentEntry;\n loading: boolean;\n revisions: CmsContentEntryRevision[];\n refetchContent: () => void;\n\n setActiveTab(index: number): void;\n\n activeTab: number;\n showEmptyView: boolean;\n}\n\nexport const ContentEntryContext = React.createContext<ContentEntryContext | undefined>(undefined);\n\nexport interface ContentEntryContextProviderProps extends Partial<UseContentEntryProviderProps> {\n /**\n * This prop is used when you need to mount this provider outside the main content entry view, with limited features.\n * Example: Model Editor \"preview\" tab.\n */\n readonly?: boolean;\n children: React.ReactNode;\n currentFolderId?: string;\n}\n\ninterface UseContentEntryProviderProps {\n getContentId: () => string | null;\n isNewEntry: () => boolean;\n}\n\nexport const useContentEntryProviderProps = (): UseContentEntryProviderProps => {\n const { location } = useRouter();\n const query = new URLSearchParams(location.search);\n\n const isNewEntry = (): boolean => {\n return query.get(\"new\") === \"true\";\n };\n\n const getContentId = (): string | null => {\n return query.get(\"id\") || null;\n };\n\n return {\n getContentId,\n isNewEntry\n };\n};\n\nexport const ContentEntryProvider = ({\n children,\n isNewEntry,\n readonly,\n getContentId,\n currentFolderId\n}: ContentEntryContextProviderProps) => {\n const { isMounted } = useIsMounted();\n const [activeTab, setActiveTab] = useState(0);\n const [entry, setEntry] = useState<CmsContentEntry>();\n const [revisions, setRevisions] = useState<CmsContentEntryRevision[]>([]);\n const { contentModel: model, canCreate } = useContentEntries();\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const cms = useCms();\n const { addRecordToCache, updateRecordInCache, removeRecordFromCache } = readonly\n ? useMockRecords()\n : useRecords();\n const [isLoading, setLoading] = useState<boolean>(false);\n const contentEntryProviderProps = useContentEntryProviderProps();\n\n const newEntry =\n typeof isNewEntry === \"function\" ? isNewEntry() : contentEntryProviderProps.isNewEntry();\n const contentId =\n typeof getContentId === \"function\"\n ? getContentId()\n : contentEntryProviderProps.getContentId();\n\n const revisionId = contentId ? decodeURIComponent(contentId) : null;\n let entryId: string | null = null;\n let version: number | null = null;\n if (revisionId) {\n const result = parseIdentifier(revisionId);\n entryId = result.id;\n version = result.version;\n }\n\n useEffect(() => {\n if (!revisionId && entry) {\n setEntry(undefined);\n }\n setActiveTab(0);\n }, [revisionId]);\n\n const { READ_CONTENT } = useMemo(() => {\n return {\n READ_CONTENT: createReadQuery(model)\n };\n }, [model.modelId]);\n\n let variables: CmsEntryGetQueryVariables | undefined;\n if (version === null && entryId) {\n variables = {\n entryId\n };\n } else {\n variables = {\n revision: revisionId as string\n };\n }\n\n // TODO: refactor to use `getEntry` from useCms()\n const loadEntry = useQuery<CmsEntryGetQueryResponse, CmsEntryGetQueryVariables>(READ_CONTENT, {\n variables,\n skip: !revisionId,\n fetchPolicy: getFetchPolicy(model),\n onCompleted: response => {\n if (!response || !isMounted()) {\n return;\n }\n\n const { data, error } = response.content;\n if (!error) {\n setEntry(data);\n return;\n }\n history.push(`/cms/content-entries/${model.modelId}`);\n showSnackbar(error.message);\n }\n });\n\n const loading = isLoading || loadEntry.loading;\n\n useEffect(() => {\n if (!entryId) {\n return;\n }\n\n cms.listEntryRevisions({\n model,\n id: entryId\n }).then(response => {\n if (response.error) {\n return;\n }\n setRevisions(response.revisions);\n });\n }, [entryId]);\n\n // CRUD methods\n const getEntry: ContentEntryCrud[\"getEntry\"] = async ({ id }) => {\n return await cms.getEntry({ model, id });\n };\n\n const createEntry: ContentEntryCrud[\"createEntry\"] = async ({ entry, options }) => {\n setLoading(true);\n const response = await cms.createEntry({\n model,\n entry: {\n ...entry,\n wbyAco_location: {\n folderId: currentFolderId || ROOT_FOLDER\n }\n },\n options: { skipValidators: options?.skipValidators }\n });\n setLoading(false);\n if (response.entry && options?.addItemToListCache) {\n addRecordToCache(response.entry);\n }\n\n // The `ContentEntryForm` component reads the `entry` from the context, and we want it to have the latest state.\n // This way, the form also knows whether it's `pristine` or not.\n setEntry(response.entry);\n\n return response;\n };\n\n const createEntryRevisionFrom: ContentEntryCrud[\"createEntryRevisionFrom\"] = async params => {\n setLoading(true);\n const response = await cms.createEntryRevisionFrom({ model, ...params });\n setLoading(false);\n if (response.entry) {\n setEntry(response.entry);\n setRevisions([response.entry, ...revisions]);\n updateRecordInCache(response.entry);\n }\n return response;\n };\n\n const updateEntryRevision: ContentEntryCrud[\"updateEntryRevision\"] = async params => {\n setLoading(true);\n const response = await cms.updateEntryRevision({ model, ...params });\n setLoading(false);\n if (response.entry) {\n setEntry(response.entry);\n updateRecordInCache(response.entry);\n\n const updatedRevisionsList = revisions.map(rev => {\n if (rev.id === response.entry.id) {\n return response.entry;\n }\n return rev;\n });\n\n setRevisions(updatedRevisionsList);\n }\n return response;\n };\n\n const deleteEntry: ContentEntryCrud[\"deleteEntry\"] = async params => {\n const response = await cms.deleteEntry({ model, ...params });\n removeRecordFromCache(params.id);\n return response;\n };\n\n const deleteEntryRevision: ContentEntryCrud[\"deleteEntryRevision\"] = async params => {\n const response = await cms.deleteEntry({ model, ...params });\n if (typeof response === \"object\" && response.error) {\n return response;\n }\n\n const updatedRevisionsList = revisions.filter(rev => rev.id !== params.id);\n setRevisions(updatedRevisionsList);\n\n const [newLatestRevision] = updatedRevisionsList;\n\n if (newLatestRevision) {\n updateRecordInCache(newLatestRevision);\n } else {\n removeRecordFromCache(params.id);\n }\n\n return { newLatestRevision };\n };\n\n const publishEntryRevision: ContentEntryCrud[\"publishEntryRevision\"] = async params => {\n const response = await cms.publishEntryRevision({ model, ...params });\n if (response.entry) {\n setEntry(response.entry);\n updateRecordInCache(response.entry);\n }\n return response;\n };\n\n const unpublishEntryRevision: ContentEntryCrud[\"unpublishEntryRevision\"] = async params => {\n const response = await cms.unpublishEntryRevision({ model, ...params });\n if (response.entry) {\n setEntry(response.entry);\n updateRecordInCache(response.entry);\n }\n return response;\n };\n\n const value: ContentEntryContext = {\n activeTab,\n canCreate,\n contentModel: model,\n getEntry,\n createEntry,\n createEntryRevisionFrom,\n deleteEntry,\n deleteEntryRevision,\n entry: (entry || {}) as CmsContentEntry,\n loading,\n publishEntryRevision,\n refetchContent: loadEntry.refetch,\n revisions,\n setActiveTab,\n showEmptyView: !newEntry && !loading && !revisionId,\n unpublishEntryRevision,\n updateEntryRevision\n };\n\n return <ContentEntryContext.Provider value={value}>{children}</ContentEntryContext.Provider>;\n};\n\nContentEntryProvider.displayName = \"ContentEntryProvider\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactRouter","_appAdmin","_hooks","_useContentEntries2","_utils","_appHeadlessCmsCommon","_getFetchPolicy","_appAco","_useMockRecords","_constants","ContentEntryContext","exports","React","createContext","undefined","useContentEntryProviderProps","_useRouter","useRouter","location","query","URLSearchParams","search","isNewEntry","get","getContentId","ContentEntryProvider","_ref","children","readonly","currentFolderId","_useIsMounted","useIsMounted","isMounted","_useState","useState","_useState2","_slicedToArray2","default","activeTab","setActiveTab","_useState3","_useState4","entry","setEntry","_useState5","_useState6","revisions","setRevisions","_useContentEntries","useContentEntries","model","contentModel","canCreate","_useRouter2","history","_useSnackbar","useSnackbar","showSnackbar","cms","useCms","_ref2","useMockRecords","useRecords","addRecordToCache","updateRecordInCache","removeRecordFromCache","_useState7","_useState8","isLoading","setLoading","contentEntryProviderProps","updateRevisionInRevisionsCache","useCallback","updatedRevisions","updatedRevisionsArray","Array","isArray","map","revision","updatedRevision","find","id","newEntry","contentId","revisionId","decodeURIComponent","entryId","version","result","parseIdentifier","useEffect","_useMemo","useMemo","READ_CONTENT","createReadQuery","modelId","variables","loadEntry","useQuery","skip","fetchPolicy","getFetchPolicy","onCompleted","response","_response$content","content","data","error","push","concat","message","loading","listEntryRevisions","then","getEntry","_ref3","createEntry","_ref4","options","_objectSpread2","wbyAco_location","folderId","ROOT_FOLDER","skipValidators","addItemToListCache","createEntryRevisionFrom","params","_toConsumableArray2","updateEntryRevision","deleteEntry","deleteEntryRevision","updatedRevisionsList","filter","rev","_updatedRevisionsList","newLatestRevision","publishEntryRevision","revisionsToUpdateInRevisionsCache","previousPublishedRevision","meta","status","unpublishEntryRevision","value","refetchContent","refetch","showEmptyView","createElement","Provider","displayName"],"sources":["ContentEntryContext.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useIsMounted, useSnackbar } from \"@webiny/app-admin\";\nimport { useCms, useQuery } from \"~/admin/hooks\";\nimport { ContentEntriesContext } from \"~/admin/views/contentEntries/ContentEntriesContext\";\nimport { useContentEntries } from \"~/admin/views/contentEntries/hooks/useContentEntries\";\nimport { CmsContentEntry, CmsContentEntryRevision } from \"~/types\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport {\n CmsEntryGetQueryResponse,\n CmsEntryGetQueryVariables,\n createReadQuery\n} from \"@webiny/app-headless-cms-common\";\nimport { getFetchPolicy } from \"~/utils/getFetchPolicy\";\nimport { useRecords } from \"@webiny/app-aco\";\nimport * as Cms from \"~/admin/contexts/Cms\";\nimport { useMockRecords } from \"./useMockRecords\";\nimport { ROOT_FOLDER } from \"~/admin/constants\";\nimport { OperationError } from \"~/admin/contexts/Cms\";\n\ninterface UpdateListCacheOptions {\n options?: {\n addItemToListCache?: boolean;\n };\n}\n\nexport type GetEntryParams = Omit<Cms.GetEntryParams, \"model\">;\nexport type CreateEntryParams = Omit<Cms.CreateEntryParams, \"model\"> & UpdateListCacheOptions;\nexport type CreateEntryRevisionFromParams = Omit<Cms.CreateEntryRevisionFromParams, \"model\">;\nexport type UpdateEntryRevisionParams = Omit<Cms.UpdateEntryRevisionParams, \"model\">;\nexport type PublishEntryRevisionParams = Omit<Cms.PublishEntryRevisionParams, \"model\">;\nexport type UnpublishEntryRevisionParams = Omit<Cms.UnpublishEntryRevisionParams, \"model\">;\nexport type DeleteEntryParams = Omit<Cms.DeleteEntryParams, \"model\">;\nexport type DeleteEntryRevisionParams = DeleteEntryParams;\n\nexport interface DeleteEntryRevisionOperationSuccess {\n newLatestRevision: CmsContentEntryRevision;\n error?: never;\n}\n\nexport type DeleteEntryRevisionResponse = OperationError | DeleteEntryRevisionOperationSuccess;\n\nexport interface ContentEntryCrud {\n getEntry: (params: GetEntryParams) => Promise<Cms.GetEntryResponse>;\n createEntry: (params: CreateEntryParams) => Promise<Cms.CreateEntryResponse>;\n createEntryRevisionFrom: (\n params: CreateEntryRevisionFromParams\n ) => Promise<Cms.CreateEntryRevisionFromResponse>;\n updateEntryRevision: (\n params: UpdateEntryRevisionParams\n ) => Promise<Cms.UpdateEntryRevisionResponse>;\n publishEntryRevision: (\n params: PublishEntryRevisionParams\n ) => Promise<Cms.PublishEntryRevisionResponse>;\n unpublishEntryRevision: (\n params: UnpublishEntryRevisionParams\n ) => Promise<Cms.UnpublishEntryRevisionResponse>;\n deleteEntry: (params: DeleteEntryParams) => Promise<Cms.DeleteEntryResponse>;\n deleteEntryRevision: (\n params: DeleteEntryRevisionParams\n ) => Promise<DeleteEntryRevisionResponse>;\n}\n\nexport interface ContentEntryContext extends ContentEntriesContext, ContentEntryCrud {\n entry: CmsContentEntry;\n loading: boolean;\n revisions: CmsContentEntryRevision[];\n refetchContent: () => void;\n\n setActiveTab(index: number): void;\n\n activeTab: number;\n showEmptyView: boolean;\n}\n\nexport const ContentEntryContext = React.createContext<ContentEntryContext | undefined>(undefined);\n\nexport interface ContentEntryContextProviderProps extends Partial<UseContentEntryProviderProps> {\n /**\n * This prop is used when you need to mount this provider outside the main content entry view, with limited features.\n * Example: Model Editor \"preview\" tab.\n */\n readonly?: boolean;\n children: React.ReactNode;\n currentFolderId?: string;\n}\n\ninterface UseContentEntryProviderProps {\n getContentId: () => string | null;\n isNewEntry: () => boolean;\n}\n\nexport const useContentEntryProviderProps = (): UseContentEntryProviderProps => {\n const { location } = useRouter();\n const query = new URLSearchParams(location.search);\n\n const isNewEntry = (): boolean => {\n return query.get(\"new\") === \"true\";\n };\n\n const getContentId = (): string | null => {\n return query.get(\"id\") || null;\n };\n\n return {\n getContentId,\n isNewEntry\n };\n};\n\nexport const ContentEntryProvider = ({\n children,\n isNewEntry,\n readonly,\n getContentId,\n currentFolderId\n}: ContentEntryContextProviderProps) => {\n const { isMounted } = useIsMounted();\n const [activeTab, setActiveTab] = useState(0);\n const [entry, setEntry] = useState<CmsContentEntry>();\n const [revisions, setRevisions] = useState<CmsContentEntryRevision[]>([]);\n const { contentModel: model, canCreate } = useContentEntries();\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const cms = useCms();\n const { addRecordToCache, updateRecordInCache, removeRecordFromCache } = readonly\n ? useMockRecords()\n : useRecords();\n const [isLoading, setLoading] = useState<boolean>(false);\n const contentEntryProviderProps = useContentEntryProviderProps();\n\n const updateRevisionInRevisionsCache = useCallback(\n (updatedRevisions: CmsContentEntryRevision | CmsContentEntryRevision[]) => {\n const updatedRevisionsArray = Array.isArray(updatedRevisions)\n ? updatedRevisions\n : [updatedRevisions];\n\n setRevisions(revisions => {\n return revisions.map(revision => {\n const updatedRevision = updatedRevisionsArray.find(\n updatedRevision => updatedRevision.id === revision.id\n );\n\n return updatedRevision || revision;\n });\n });\n },\n []\n );\n\n const newEntry =\n typeof isNewEntry === \"function\" ? isNewEntry() : contentEntryProviderProps.isNewEntry();\n const contentId =\n typeof getContentId === \"function\"\n ? getContentId()\n : contentEntryProviderProps.getContentId();\n\n const revisionId = contentId ? decodeURIComponent(contentId) : null;\n let entryId: string | null = null;\n let version: number | null = null;\n if (revisionId) {\n const result = parseIdentifier(revisionId);\n entryId = result.id;\n version = result.version;\n }\n\n useEffect(() => {\n if (!revisionId && entry) {\n setEntry(undefined);\n }\n setActiveTab(0);\n }, [revisionId]);\n\n const { READ_CONTENT } = useMemo(() => {\n return {\n READ_CONTENT: createReadQuery(model)\n };\n }, [model.modelId]);\n\n let variables: CmsEntryGetQueryVariables | undefined;\n if (version === null && entryId) {\n variables = {\n entryId\n };\n } else {\n variables = {\n revision: revisionId as string\n };\n }\n\n // TODO: refactor to use `getEntry` from useCms()\n const loadEntry = useQuery<CmsEntryGetQueryResponse, CmsEntryGetQueryVariables>(READ_CONTENT, {\n variables,\n skip: !revisionId,\n fetchPolicy: getFetchPolicy(model),\n onCompleted: response => {\n if (!response || !isMounted()) {\n return;\n }\n\n const { data, error } = response.content;\n if (!error) {\n setEntry(data);\n return;\n }\n history.push(`/cms/content-entries/${model.modelId}`);\n showSnackbar(error.message);\n }\n });\n\n const loading = isLoading || loadEntry.loading;\n\n useEffect(() => {\n if (!entryId) {\n return;\n }\n\n cms.listEntryRevisions({\n model,\n id: entryId\n }).then(response => {\n if (response.error) {\n return;\n }\n setRevisions(response.revisions);\n });\n }, [entryId]);\n\n // CRUD methods\n const getEntry: ContentEntryCrud[\"getEntry\"] = async ({ id }) => {\n return await cms.getEntry({ model, id });\n };\n\n const createEntry: ContentEntryCrud[\"createEntry\"] = async ({ entry, options }) => {\n setLoading(true);\n const response = await cms.createEntry({\n model,\n entry: {\n ...entry,\n wbyAco_location: {\n folderId: currentFolderId || ROOT_FOLDER\n }\n },\n options: { skipValidators: options?.skipValidators }\n });\n setLoading(false);\n if (response.entry && options?.addItemToListCache) {\n addRecordToCache(response.entry);\n }\n\n // The `ContentEntryForm` component reads the `entry` from the context, and we want it to have the latest state.\n // This way, the form also knows whether it's `pristine` or not.\n setEntry(response.entry);\n\n return response;\n };\n\n const createEntryRevisionFrom: ContentEntryCrud[\"createEntryRevisionFrom\"] = async params => {\n setLoading(true);\n const response = await cms.createEntryRevisionFrom({ model, ...params });\n setLoading(false);\n if (response.entry) {\n setEntry(response.entry);\n setRevisions([response.entry, ...revisions]);\n updateRecordInCache(response.entry);\n }\n return response;\n };\n\n const updateEntryRevision: ContentEntryCrud[\"updateEntryRevision\"] = async params => {\n setLoading(true);\n const response = await cms.updateEntryRevision({ model, ...params });\n setLoading(false);\n if (response.entry) {\n setEntry(response.entry);\n updateRecordInCache(response.entry);\n updateRevisionInRevisionsCache(response.entry);\n }\n return response;\n };\n\n const deleteEntry: ContentEntryCrud[\"deleteEntry\"] = async params => {\n const response = await cms.deleteEntry({ model, ...params });\n removeRecordFromCache(params.id);\n return response;\n };\n\n const deleteEntryRevision: ContentEntryCrud[\"deleteEntryRevision\"] = async params => {\n const response = await cms.deleteEntry({ model, ...params });\n if (typeof response === \"object\" && response.error) {\n return response;\n }\n\n const updatedRevisionsList = revisions.filter(rev => rev.id !== params.id);\n setRevisions(updatedRevisionsList);\n\n const [newLatestRevision] = updatedRevisionsList;\n\n if (newLatestRevision) {\n updateRecordInCache(newLatestRevision);\n } else {\n removeRecordFromCache(params.id);\n }\n\n return { newLatestRevision };\n };\n\n const publishEntryRevision: ContentEntryCrud[\"publishEntryRevision\"] = async params => {\n const response = await cms.publishEntryRevision({ model, ...params });\n if (response.entry) {\n setEntry(response.entry);\n updateRecordInCache(response.entry);\n\n const revisionsToUpdateInRevisionsCache: CmsContentEntryRevision[] = [response.entry];\n\n const previousPublishedRevision = revisions.find(\n rev => rev.meta.status === \"published\"\n );\n\n if (previousPublishedRevision) {\n revisionsToUpdateInRevisionsCache.push({\n ...previousPublishedRevision,\n meta: {\n ...previousPublishedRevision.meta,\n status: \"unpublished\"\n }\n });\n }\n\n updateRevisionInRevisionsCache(revisionsToUpdateInRevisionsCache);\n }\n return response;\n };\n\n const unpublishEntryRevision: ContentEntryCrud[\"unpublishEntryRevision\"] = async params => {\n const response = await cms.unpublishEntryRevision({ model, ...params });\n if (response.entry) {\n setEntry(response.entry);\n updateRecordInCache(response.entry);\n updateRevisionInRevisionsCache(response.entry);\n }\n return response;\n };\n\n const value: ContentEntryContext = {\n activeTab,\n canCreate,\n contentModel: model,\n getEntry,\n createEntry,\n createEntryRevisionFrom,\n deleteEntry,\n deleteEntryRevision,\n entry: (entry || {}) as CmsContentEntry,\n loading,\n publishEntryRevision,\n refetchContent: loadEntry.refetch,\n revisions,\n setActiveTab,\n showEmptyView: !newEntry && !loading && !revisionId,\n unpublishEntryRevision,\n updateEntryRevision\n };\n\n return <ContentEntryContext.Provider value={value}>{children}</ContentEntryContext.Provider>;\n};\n\nContentEntryProvider.displayName = \"ContentEntryProvider\";\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-headless-cms",
3
- "version": "5.40.6-beta.0",
3
+ "version": "5.40.6-beta.2",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,30 +28,30 @@
28
28
  "@material-design-icons/svg": "0.14.13",
29
29
  "@svgr/webpack": "6.5.1",
30
30
  "@types/react": "18.2.79",
31
- "@webiny/app": "5.40.6-beta.0",
32
- "@webiny/app-aco": "5.40.6-beta.0",
33
- "@webiny/app-admin": "5.40.6-beta.0",
34
- "@webiny/app-graphql-playground": "5.40.6-beta.0",
35
- "@webiny/app-headless-cms-common": "5.40.6-beta.0",
36
- "@webiny/app-i18n": "5.40.6-beta.0",
37
- "@webiny/app-plugin-admin-welcome-screen": "5.40.6-beta.0",
38
- "@webiny/app-security": "5.40.6-beta.0",
39
- "@webiny/app-tenancy": "5.40.6-beta.0",
40
- "@webiny/app-trash-bin": "5.40.6-beta.0",
41
- "@webiny/error": "5.40.6-beta.0",
42
- "@webiny/feature-flags": "5.40.6-beta.0",
43
- "@webiny/form": "5.40.6-beta.0",
44
- "@webiny/lexical-editor": "5.40.6-beta.0",
45
- "@webiny/lexical-nodes": "5.40.6-beta.0",
46
- "@webiny/lexical-theme": "5.40.6-beta.0",
47
- "@webiny/plugins": "5.40.6-beta.0",
48
- "@webiny/react-composition": "5.40.6-beta.0",
49
- "@webiny/react-properties": "5.40.6-beta.0",
50
- "@webiny/react-router": "5.40.6-beta.0",
51
- "@webiny/theme": "5.40.6-beta.0",
52
- "@webiny/ui": "5.40.6-beta.0",
53
- "@webiny/utils": "5.40.6-beta.0",
54
- "@webiny/validation": "5.40.6-beta.0",
31
+ "@webiny/app": "5.40.6-beta.2",
32
+ "@webiny/app-aco": "5.40.6-beta.2",
33
+ "@webiny/app-admin": "5.40.6-beta.2",
34
+ "@webiny/app-graphql-playground": "5.40.6-beta.2",
35
+ "@webiny/app-headless-cms-common": "5.40.6-beta.2",
36
+ "@webiny/app-i18n": "5.40.6-beta.2",
37
+ "@webiny/app-plugin-admin-welcome-screen": "5.40.6-beta.2",
38
+ "@webiny/app-security": "5.40.6-beta.2",
39
+ "@webiny/app-tenancy": "5.40.6-beta.2",
40
+ "@webiny/app-trash-bin": "5.40.6-beta.2",
41
+ "@webiny/error": "5.40.6-beta.2",
42
+ "@webiny/feature-flags": "5.40.6-beta.2",
43
+ "@webiny/form": "5.40.6-beta.2",
44
+ "@webiny/lexical-editor": "5.40.6-beta.2",
45
+ "@webiny/lexical-nodes": "5.40.6-beta.2",
46
+ "@webiny/lexical-theme": "5.40.6-beta.2",
47
+ "@webiny/plugins": "5.40.6-beta.2",
48
+ "@webiny/react-composition": "5.40.6-beta.2",
49
+ "@webiny/react-properties": "5.40.6-beta.2",
50
+ "@webiny/react-router": "5.40.6-beta.2",
51
+ "@webiny/theme": "5.40.6-beta.2",
52
+ "@webiny/ui": "5.40.6-beta.2",
53
+ "@webiny/utils": "5.40.6-beta.2",
54
+ "@webiny/validation": "5.40.6-beta.2",
55
55
  "apollo-cache": "1.3.5",
56
56
  "apollo-client": "2.6.10",
57
57
  "apollo-link": "1.2.14",
@@ -85,8 +85,8 @@
85
85
  "@babel/preset-react": "7.24.1",
86
86
  "@babel/preset-typescript": "7.24.1",
87
87
  "@emotion/babel-plugin": "11.11.0",
88
- "@webiny/cli": "5.40.6-beta.0",
89
- "@webiny/project-utils": "5.40.6-beta.0",
88
+ "@webiny/cli": "5.40.6-beta.2",
89
+ "@webiny/project-utils": "5.40.6-beta.2",
90
90
  "babel-plugin-module-resolver": "5.0.0",
91
91
  "rimraf": "5.0.5",
92
92
  "ttypescript": "1.5.15",
@@ -115,5 +115,5 @@
115
115
  ]
116
116
  }
117
117
  },
118
- "gitHead": "c0bf7d9bfe72b0689b29c84506f3168515a78517"
118
+ "gitHead": "ddc00124276d952934007571d9409a5d88583b5a"
119
119
  }