superdesk-ui-framework 4.0.8 → 4.0.10

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.
@@ -12,7 +12,7 @@ interface IProps {
12
12
  hidden?: boolean;
13
13
  };
14
14
  dateFormat: string;
15
- onChange: (value: string | null) => void;
15
+ onChange: (value: Date | null) => void;
16
16
  preview?: boolean;
17
17
  fullWidth?: boolean;
18
18
  allowSeconds?: boolean;
@@ -31,10 +31,10 @@ export class DateTimePicker extends React.PureComponent<IProps> {
31
31
  origDate.setHours(hours);
32
32
  origDate.setMinutes(minutes);
33
33
 
34
- this.props.onChange(origDate.toISOString());
34
+ this.props.onChange(origDate);
35
35
  }
36
36
 
37
- handleDateChange = (date?: string) => {
37
+ handleDateChange = (date: Date | null) => {
38
38
  if (date == null) {
39
39
  this.props.onChange(null);
40
40
 
@@ -47,7 +47,7 @@ export class DateTimePicker extends React.PureComponent<IProps> {
47
47
  selectedDate.setHours(origDate.getHours());
48
48
  selectedDate.setMinutes(origDate.getMinutes());
49
49
 
50
- this.props.onChange(selectedDate.toISOString());
50
+ this.props.onChange(selectedDate);
51
51
  }
52
52
 
53
53
  prepareFormat(unitOfTime: number) {
@@ -55,9 +55,9 @@ export class DateTimePicker extends React.PureComponent<IProps> {
55
55
  }
56
56
 
57
57
  render() {
58
- const convertedValue = this.props.value ? new Date(this.props.value) : null;
59
- const convertedTimeValue = convertedValue
60
- ? `${this.prepareFormat(convertedValue.getHours())}:${this.prepareFormat(convertedValue.getMinutes())}`
58
+ const {value} = this.props;
59
+ const convertedTimeValue = value
60
+ ? `${this.prepareFormat(value.getHours())}:${this.prepareFormat(value.getMinutes())}`
61
61
  : '';
62
62
 
63
63
  return (
@@ -68,9 +68,9 @@ export class DateTimePicker extends React.PureComponent<IProps> {
68
68
  preview={this.props.preview}
69
69
  required={this.props.required}
70
70
  hideClearButton={true}
71
- value={convertedValue}
71
+ value={value}
72
72
  onChange={(val) => {
73
- this.handleDateChange(val?.toString());
73
+ this.handleDateChange(val);
74
74
  }}
75
75
  dateFormat={this.props.dateFormat}
76
76
  label={this.props.label.text}
@@ -20,7 +20,14 @@ export class CustomHeaderToggleBox extends React.PureComponent<IPropsCustomHeade
20
20
  };
21
21
  }
22
22
 
23
- toggle = (): void => {
23
+ /**
24
+ * Called via ref
25
+ */
26
+ public isOpen = () => {
27
+ return this.state.isOpen;
28
+ }
29
+
30
+ public toggle = (): void => {
24
31
  this.setState({isOpen: !this.state.isOpen}, () => {
25
32
  this.props.onToggle?.(this.state.isOpen);
26
33
  });
@@ -36,7 +36,14 @@ export class SimpleToggleBox extends React.PureComponent<IPropsSimple, IState> {
36
36
  }
37
37
  }
38
38
 
39
- toggle = (): void => {
39
+ /**
40
+ * Called via ref
41
+ */
42
+ public isOpen = () => {
43
+ return this.state.isOpen;
44
+ }
45
+
46
+ public toggle = (): void => {
40
47
  this.setState({ isOpen: !this.state.isOpen }, () => {
41
48
  if (!this.state.isOpen && this.props.onClose) {
42
49
  this.props.onClose();
@@ -15,6 +15,7 @@ export interface IPropsSimple {
15
15
  margin?: 'none' | 'small' | 'normal' | 'large';
16
16
  onOpen?(): void;
17
17
  onClose?(): void;
18
+ toggleBoxRef?: React.RefObject<SimpleToggleBox>;
18
19
  }
19
20
 
20
21
  export interface IPropsCustomHeader {
@@ -24,6 +25,7 @@ export interface IPropsCustomHeader {
24
25
  getToggleButtonLabel: (isOpen: boolean) => string;
25
26
  initiallyOpen?: boolean;
26
27
  onToggle?(isOpen: boolean): void;
28
+ toggleBoxRef?: React.RefObject<CustomHeaderToggleBox>;
27
29
  }
28
30
 
29
31
  type IProps = IPropsSimple | IPropsCustomHeader;
@@ -32,11 +34,11 @@ export class ToggleBox extends React.PureComponent<IProps> {
32
34
  render() {
33
35
  if (this.props.variant === "simple") {
34
36
  return (
35
- <SimpleToggleBox {...this.props} />
37
+ <SimpleToggleBox ref={this.props.toggleBoxRef} {...this.props} />
36
38
  );
37
39
  } else {
38
40
  return (
39
- <CustomHeaderToggleBox {...this.props} />
41
+ <CustomHeaderToggleBox ref={this.props.toggleBoxRef} {...this.props} />
40
42
  );
41
43
  }
42
44
  }
@@ -14,11 +14,11 @@ class DateTimePickerExample extends React.PureComponent<{}, {dateTime: Date | nu
14
14
  render() {
15
15
  return (
16
16
  <DateTimePicker
17
- label='Planning datetime'
17
+ label={{text: "Planning date"}}
18
18
  value={this.state.dateTime}
19
19
  dateFormat="YYYY-MM-DD"
20
20
  onChange={(val) => {
21
- const parsedVal = val != null && (val.length > 0) ? new Date(val) : null;
21
+ const parsedVal = val != null ? new Date(val) : null;
22
22
 
23
23
  this.setState({dateTime: parsedVal});
24
24
  }}
@@ -78752,10 +78752,10 @@ var ToggleBox = /** @class */ (function (_super) {
78752
78752
  }
78753
78753
  ToggleBox.prototype.render = function () {
78754
78754
  if (this.props.variant === "simple") {
78755
- return (React.createElement(SimpleToggleBox_1.SimpleToggleBox, __assign({}, this.props)));
78755
+ return (React.createElement(SimpleToggleBox_1.SimpleToggleBox, __assign({ ref: this.props.toggleBoxRef }, this.props)));
78756
78756
  }
78757
78757
  else {
78758
- return (React.createElement(CustomHeaderToggleBox_1.CustomHeaderToggleBox, __assign({}, this.props)));
78758
+ return (React.createElement(CustomHeaderToggleBox_1.CustomHeaderToggleBox, __assign({ ref: this.props.toggleBoxRef }, this.props)));
78759
78759
  }
78760
78760
  };
78761
78761
  return ToggleBox;
@@ -124106,7 +124106,7 @@ var DateTimePicker = /** @class */ (function (_super) {
124106
124106
  var origDate = (_a = _this.props.value) !== null && _a !== void 0 ? _a : new Date();
124107
124107
  origDate.setHours(hours);
124108
124108
  origDate.setMinutes(minutes);
124109
- _this.props.onChange(origDate.toISOString());
124109
+ _this.props.onChange(origDate);
124110
124110
  };
124111
124111
  _this.handleDateChange = function (date) {
124112
124112
  var _a;
@@ -124118,7 +124118,7 @@ var DateTimePicker = /** @class */ (function (_super) {
124118
124118
  var origDate = (_a = _this.props.value) !== null && _a !== void 0 ? _a : new Date();
124119
124119
  selectedDate.setHours(origDate.getHours());
124120
124120
  selectedDate.setMinutes(origDate.getMinutes());
124121
- _this.props.onChange(selectedDate.toISOString());
124121
+ _this.props.onChange(selectedDate);
124122
124122
  };
124123
124123
  return _this;
124124
124124
  }
@@ -124128,14 +124128,14 @@ var DateTimePicker = /** @class */ (function (_super) {
124128
124128
  DateTimePicker.prototype.render = function () {
124129
124129
  var _this = this;
124130
124130
  var _a, _b;
124131
- var convertedValue = this.props.value ? new Date(this.props.value) : null;
124132
- var convertedTimeValue = convertedValue
124133
- ? "".concat(this.prepareFormat(convertedValue.getHours()), ":").concat(this.prepareFormat(convertedValue.getMinutes()))
124131
+ var value = this.props.value;
124132
+ var convertedTimeValue = value
124133
+ ? "".concat(this.prepareFormat(value.getHours()), ":").concat(this.prepareFormat(value.getMinutes()))
124134
124134
  : '';
124135
124135
  return (React.createElement("div", { style: { width: Number(this.props.width) > MIN_WIDTH ? this.props.width : MIN_WIDTH } },
124136
124136
  React.createElement(common_1.Spacer, { h: true, gap: "0", noGrow: true, alignItems: 'end' },
124137
- React.createElement(DatePicker_1.DatePicker, { disabled: this.props.disabled, preview: this.props.preview, required: this.props.required, hideClearButton: true, value: convertedValue, onChange: function (val) {
124138
- _this.handleDateChange(val === null || val === void 0 ? void 0 : val.toString());
124137
+ React.createElement(DatePicker_1.DatePicker, { disabled: this.props.disabled, preview: this.props.preview, required: this.props.required, hideClearButton: true, value: value, onChange: function (val) {
124138
+ _this.handleDateChange(val);
124139
124139
  }, dateFormat: this.props.dateFormat, label: this.props.label.text, inlineLabel: (_a = this.props.label.hidden) !== null && _a !== void 0 ? _a : false, labelHidden: (_b = this.props.label.hidden) !== null && _b !== void 0 ? _b : false, fullWidth: this.props.fullWidth }),
124140
124140
  React.createElement(TimePicker_1.TimePicker, { disabled: this.props.disabled, preview: this.props.preview, value: convertedTimeValue, onChange: function (val) {
124141
124141
  _this.handleTimeChange(val);
@@ -147417,6 +147417,12 @@ var SimpleToggleBox = /** @class */ (function (_super) {
147417
147417
  _this.toggle();
147418
147418
  }
147419
147419
  };
147420
+ /**
147421
+ * Called via ref
147422
+ */
147423
+ _this.isOpen = function () {
147424
+ return _this.state.isOpen;
147425
+ };
147420
147426
  _this.toggle = function () {
147421
147427
  _this.setState({ isOpen: !_this.state.isOpen }, function () {
147422
147428
  if (!_this.state.isOpen && _this.props.onClose) {
@@ -147537,6 +147543,12 @@ var CustomHeaderToggleBox = /** @class */ (function (_super) {
147537
147543
  _this = _super.call(this, props) || this;
147538
147544
  _this.htmlId = (0, react_id_generator_1.default)('togglebox-');
147539
147545
  _this.contentRef = React.createRef();
147546
+ /**
147547
+ * Called via ref
147548
+ */
147549
+ _this.isOpen = function () {
147550
+ return _this.state.isOpen;
147551
+ };
147540
147552
  _this.toggle = function () {
147541
147553
  _this.setState({ isOpen: !_this.state.isOpen }, function () {
147542
147554
  var _a, _b;
@@ -171957,8 +171969,8 @@ var DateTimePickerExample = /** @class */ (function (_super) {
171957
171969
  }
171958
171970
  DateTimePickerExample.prototype.render = function () {
171959
171971
  var _this = this;
171960
- return (React.createElement(app_typescript_1.DateTimePicker, { label: 'Planning datetime', value: this.state.dateTime, dateFormat: "YYYY-MM-DD", onChange: function (val) {
171961
- var parsedVal = val != null && (val.length > 0) ? new Date(val) : null;
171972
+ return (React.createElement(app_typescript_1.DateTimePicker, { label: { text: "Planning date" }, value: this.state.dateTime, dateFormat: "YYYY-MM-DD", onChange: function (val) {
171973
+ var parsedVal = val != null ? new Date(val) : null;
171962
171974
  _this.setState({ dateTime: parsedVal });
171963
171975
  } }));
171964
171976
  };
@@ -185393,7 +185405,7 @@ exports.ThreePaneLayoutPattern = ThreePaneLayoutPattern;
185393
185405
  /* 938 */
185394
185406
  /***/ (function(module, exports) {
185395
185407
 
185396
- module.exports = {"name":"superdesk-ui-framework","version":"4.0.8","license":"AGPL-3.0","repository":{"type":"git","url":"https://github.com/superdesk/superdesk-ui-framework.git"},"main":"dist/superdesk-ui.bundle.js","types":"react/index.d.ts","contributors":["Nemanja Pavlovic","Vladimir Stefanovic","Darko Tomic","Aleksandar Jelicic","Tomas Kikutis","Dragana Zivkovic"],"scripts":{"start":"webpack-dev-server --config tasks/webpack.dev.js","server":"webpack --watch --config tasks/webpack.prod.js && tsc-watch","build":"webpack --config tasks/webpack.prod.js && tsc","build-ui":"webpack && tsc && npm run lint","playground-lint":"tsc -p examples/pages/playgrounds/react-playgrounds --noEmit","lint":"eslint --parser=@typescript-eslint/parser app && tslint -c tslint.json 'app-typescript/**/*.{ts,tsx}' && npm run playground-lint","lint-fix":"tsc -p tsconfig.json --noEmit && tslint --fix -c tslint.json 'app-typescript/**/*.{ts,tsx}'","prepublishOnly":"npm run build","unit-test":"mocha","debug-unit-tests":"mocha --inspect-brk"},"devDependencies":{"@types/assert":"^1.5.6","@types/chart.js":"^2.9.24","@types/classnames":"^2.2.9","@types/enzyme":"^3.10.12","@types/enzyme-adapter-react-16":"^1.0.6","@types/lodash":"^4.14.161","@types/mocha":"^9.1.1","@types/react":"16.8.23","@types/react-beautiful-dnd":"^13.1.2","@types/react-dom":"16.8.0","@types/react-router-dom":"^5.1.2","@types/react-scrollspy":"^3.3.5","@typescript-eslint/parser":"^5.58.0","angular":"^1.7.9","angular-animate":"^1.7.9","angular-route":"^1.7.9","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","classnames":"^2.2.5","clean-webpack-plugin":"^1.0.0","code-prettify":"^0.1.0","copy-webpack-plugin":"^4.6.0","css-loader":"^2.1.1","enzyme":"^3.11.0","enzyme-adapter-react-16":"^1.15.7","eslint":"^4.6.1","eslint-loader":"^1.9.0","eslint-plugin-angular":"^3.1.1","eslint-plugin-react":"^7.3.0","extract-text-webpack-plugin":"^3.0.2","file-loader":"^0.11.2","html-loader":"^0.5.1","html-webpack-plugin":"^2.30.1","jquery":"^3.1.1","jquery-ui":"^1.12.1","jsdom":"20.0.3","jsdom-global":"3.0.2","lodash":"4.17.21","mocha":"^8.4.0","moment":"^2.29.3","node-sass":"6.0","prismjs":"^1.28.0","prop-types":"^15.6.0","react":"16.8.6","react-dom":"16.8.6","react-redux":"^5.0.6","react-router-dom":"^5.1.2","redux":"^3.7.2","redux-form":"^7.0.4","sass-loader":"^6.0.6","style-loader":"^0.18.2","superdesk-code-style":"^1.1.2","ts-loader":"^6.0.2","ts-node":"^10.9.1","tslint":"^5.18.0","typescript":"4.9.5","url-loader":"^1.1.2","webpack":"^3.5.5","webpack-cli":"3.3.10","webpack-dev-server":"2.11.1","webpack-merge":"^4.2.1"},"dependencies":{"@popperjs/core":"^2.4.0","@superdesk/common":"0.0.28","@superdesk/primereact":"^5.0.2-12","@superdesk/react-resizable-panels":"0.0.39","chart.js":"^2.9.3","date-fns":"2.7.0","popper-max-size-modifier":"^0.2.0","popper.js":"1.14.4","primeicons":"2.0.0","react-beautiful-dnd":"^13.0.0","react-id-generator":"^3.0.0","react-scrollspy":"^3.4.3"},"peerDependencies":{"moment":"*"}}
185408
+ module.exports = {"name":"superdesk-ui-framework","version":"4.0.10","license":"AGPL-3.0","repository":{"type":"git","url":"https://github.com/superdesk/superdesk-ui-framework.git"},"main":"dist/superdesk-ui.bundle.js","types":"react/index.d.ts","contributors":["Nemanja Pavlovic","Vladimir Stefanovic","Darko Tomic","Aleksandar Jelicic","Tomas Kikutis","Dragana Zivkovic"],"scripts":{"start":"webpack-dev-server --config tasks/webpack.dev.js","server":"webpack --watch --config tasks/webpack.prod.js && tsc-watch","build":"webpack --config tasks/webpack.prod.js && tsc","build-ui":"webpack && tsc && npm run lint","playground-lint":"tsc -p examples/pages/playgrounds/react-playgrounds --noEmit","lint":"eslint --parser=@typescript-eslint/parser app && tslint -c tslint.json 'app-typescript/**/*.{ts,tsx}' && npm run playground-lint","lint-fix":"tsc -p tsconfig.json --noEmit && tslint --fix -c tslint.json 'app-typescript/**/*.{ts,tsx}'","prepublishOnly":"npm run build","unit-test":"mocha","debug-unit-tests":"mocha --inspect-brk"},"devDependencies":{"@types/assert":"^1.5.6","@types/chart.js":"^2.9.24","@types/classnames":"^2.2.9","@types/enzyme":"^3.10.12","@types/enzyme-adapter-react-16":"^1.0.6","@types/lodash":"^4.14.161","@types/mocha":"^9.1.1","@types/react":"16.8.23","@types/react-beautiful-dnd":"^13.1.2","@types/react-dom":"16.8.0","@types/react-router-dom":"^5.1.2","@types/react-scrollspy":"^3.3.5","@typescript-eslint/parser":"^5.58.0","angular":"^1.7.9","angular-animate":"^1.7.9","angular-route":"^1.7.9","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","classnames":"^2.2.5","clean-webpack-plugin":"^1.0.0","code-prettify":"^0.1.0","copy-webpack-plugin":"^4.6.0","css-loader":"^2.1.1","enzyme":"^3.11.0","enzyme-adapter-react-16":"^1.15.7","eslint":"^4.6.1","eslint-loader":"^1.9.0","eslint-plugin-angular":"^3.1.1","eslint-plugin-react":"^7.3.0","extract-text-webpack-plugin":"^3.0.2","file-loader":"^0.11.2","html-loader":"^0.5.1","html-webpack-plugin":"^2.30.1","jquery":"^3.1.1","jquery-ui":"^1.12.1","jsdom":"20.0.3","jsdom-global":"3.0.2","lodash":"4.17.21","mocha":"^8.4.0","moment":"^2.29.3","node-sass":"6.0","prismjs":"^1.28.0","prop-types":"^15.6.0","react":"16.8.6","react-dom":"16.8.6","react-redux":"^5.0.6","react-router-dom":"^5.1.2","redux":"^3.7.2","redux-form":"^7.0.4","sass-loader":"^6.0.6","style-loader":"^0.18.2","superdesk-code-style":"^1.1.2","ts-loader":"^6.0.2","ts-node":"^10.9.1","tslint":"^5.18.0","typescript":"4.9.5","url-loader":"^1.1.2","webpack":"^3.5.5","webpack-cli":"3.3.10","webpack-dev-server":"2.11.1","webpack-merge":"^4.2.1"},"dependencies":{"@popperjs/core":"^2.4.0","@superdesk/common":"0.0.28","@superdesk/primereact":"^5.0.2-12","@superdesk/react-resizable-panels":"0.0.39","chart.js":"^2.9.3","date-fns":"2.7.0","popper-max-size-modifier":"^0.2.0","popper.js":"1.14.4","primeicons":"2.0.0","react-beautiful-dnd":"^13.0.0","react-id-generator":"^3.0.0","react-scrollspy":"^3.4.3"},"peerDependencies":{"moment":"*"},"volta":{"node":"14.21.3"}}
185397
185409
 
185398
185410
  /***/ }),
185399
185411
  /* 939 */
@@ -77873,10 +77873,10 @@ var ToggleBox = /** @class */ (function (_super) {
77873
77873
  }
77874
77874
  ToggleBox.prototype.render = function () {
77875
77875
  if (this.props.variant === "simple") {
77876
- return (React.createElement(SimpleToggleBox_1.SimpleToggleBox, __assign({}, this.props)));
77876
+ return (React.createElement(SimpleToggleBox_1.SimpleToggleBox, __assign({ ref: this.props.toggleBoxRef }, this.props)));
77877
77877
  }
77878
77878
  else {
77879
- return (React.createElement(CustomHeaderToggleBox_1.CustomHeaderToggleBox, __assign({}, this.props)));
77879
+ return (React.createElement(CustomHeaderToggleBox_1.CustomHeaderToggleBox, __assign({ ref: this.props.toggleBoxRef }, this.props)));
77880
77880
  }
77881
77881
  };
77882
77882
  return ToggleBox;
@@ -123227,7 +123227,7 @@ var DateTimePicker = /** @class */ (function (_super) {
123227
123227
  var origDate = (_a = _this.props.value) !== null && _a !== void 0 ? _a : new Date();
123228
123228
  origDate.setHours(hours);
123229
123229
  origDate.setMinutes(minutes);
123230
- _this.props.onChange(origDate.toISOString());
123230
+ _this.props.onChange(origDate);
123231
123231
  };
123232
123232
  _this.handleDateChange = function (date) {
123233
123233
  var _a;
@@ -123239,7 +123239,7 @@ var DateTimePicker = /** @class */ (function (_super) {
123239
123239
  var origDate = (_a = _this.props.value) !== null && _a !== void 0 ? _a : new Date();
123240
123240
  selectedDate.setHours(origDate.getHours());
123241
123241
  selectedDate.setMinutes(origDate.getMinutes());
123242
- _this.props.onChange(selectedDate.toISOString());
123242
+ _this.props.onChange(selectedDate);
123243
123243
  };
123244
123244
  return _this;
123245
123245
  }
@@ -123249,14 +123249,14 @@ var DateTimePicker = /** @class */ (function (_super) {
123249
123249
  DateTimePicker.prototype.render = function () {
123250
123250
  var _this = this;
123251
123251
  var _a, _b;
123252
- var convertedValue = this.props.value ? new Date(this.props.value) : null;
123253
- var convertedTimeValue = convertedValue
123254
- ? "".concat(this.prepareFormat(convertedValue.getHours()), ":").concat(this.prepareFormat(convertedValue.getMinutes()))
123252
+ var value = this.props.value;
123253
+ var convertedTimeValue = value
123254
+ ? "".concat(this.prepareFormat(value.getHours()), ":").concat(this.prepareFormat(value.getMinutes()))
123255
123255
  : '';
123256
123256
  return (React.createElement("div", { style: { width: Number(this.props.width) > MIN_WIDTH ? this.props.width : MIN_WIDTH } },
123257
123257
  React.createElement(common_1.Spacer, { h: true, gap: "0", noGrow: true, alignItems: 'end' },
123258
- React.createElement(DatePicker_1.DatePicker, { disabled: this.props.disabled, preview: this.props.preview, required: this.props.required, hideClearButton: true, value: convertedValue, onChange: function (val) {
123259
- _this.handleDateChange(val === null || val === void 0 ? void 0 : val.toString());
123258
+ React.createElement(DatePicker_1.DatePicker, { disabled: this.props.disabled, preview: this.props.preview, required: this.props.required, hideClearButton: true, value: value, onChange: function (val) {
123259
+ _this.handleDateChange(val);
123260
123260
  }, dateFormat: this.props.dateFormat, label: this.props.label.text, inlineLabel: (_a = this.props.label.hidden) !== null && _a !== void 0 ? _a : false, labelHidden: (_b = this.props.label.hidden) !== null && _b !== void 0 ? _b : false, fullWidth: this.props.fullWidth }),
123261
123261
  React.createElement(TimePicker_1.TimePicker, { disabled: this.props.disabled, preview: this.props.preview, value: convertedTimeValue, onChange: function (val) {
123262
123262
  _this.handleTimeChange(val);
@@ -146538,6 +146538,12 @@ var SimpleToggleBox = /** @class */ (function (_super) {
146538
146538
  _this.toggle();
146539
146539
  }
146540
146540
  };
146541
+ /**
146542
+ * Called via ref
146543
+ */
146544
+ _this.isOpen = function () {
146545
+ return _this.state.isOpen;
146546
+ };
146541
146547
  _this.toggle = function () {
146542
146548
  _this.setState({ isOpen: !_this.state.isOpen }, function () {
146543
146549
  if (!_this.state.isOpen && _this.props.onClose) {
@@ -146658,6 +146664,12 @@ var CustomHeaderToggleBox = /** @class */ (function (_super) {
146658
146664
  _this = _super.call(this, props) || this;
146659
146665
  _this.htmlId = (0, react_id_generator_1.default)('togglebox-');
146660
146666
  _this.contentRef = React.createRef();
146667
+ /**
146668
+ * Called via ref
146669
+ */
146670
+ _this.isOpen = function () {
146671
+ return _this.state.isOpen;
146672
+ };
146661
146673
  _this.toggle = function () {
146662
146674
  _this.setState({ isOpen: !_this.state.isOpen }, function () {
146663
146675
  var _a, _b;
@@ -14,11 +14,11 @@ class DateTimePickerExample extends React.PureComponent<{}, {dateTime: Date | nu
14
14
  render() {
15
15
  return (
16
16
  <DateTimePicker
17
- label='Planning datetime'
17
+ label={{text: "Planning date"}}
18
18
  value={this.state.dateTime}
19
19
  dateFormat="YYYY-MM-DD"
20
20
  onChange={(val) => {
21
- const parsedVal = val != null && (val.length > 0) ? new Date(val) : null;
21
+ const parsedVal = val != null ? new Date(val) : null;
22
22
 
23
23
  this.setState({dateTime: parsedVal});
24
24
  }}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "superdesk-ui-framework",
3
- "version": "4.0.8",
3
+ "version": "4.0.10",
4
4
  "license": "AGPL-3.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -110,5 +110,8 @@
110
110
  },
111
111
  "peerDependencies": {
112
112
  "moment": "*"
113
+ },
114
+ "volta": {
115
+ "node": "14.21.3"
113
116
  }
114
117
  }
@@ -6,7 +6,7 @@ interface IProps {
6
6
  hidden?: boolean;
7
7
  };
8
8
  dateFormat: string;
9
- onChange: (value: string | null) => void;
9
+ onChange: (value: Date | null) => void;
10
10
  preview?: boolean;
11
11
  fullWidth?: boolean;
12
12
  allowSeconds?: boolean;
@@ -16,7 +16,7 @@ interface IProps {
16
16
  }
17
17
  export declare class DateTimePicker extends React.PureComponent<IProps> {
18
18
  handleTimeChange: (time: string) => void;
19
- handleDateChange: (date?: string) => void;
19
+ handleDateChange: (date: Date | null) => void;
20
20
  prepareFormat(unitOfTime: number): string;
21
21
  render(): JSX.Element;
22
22
  }
@@ -56,7 +56,7 @@ var DateTimePicker = /** @class */ (function (_super) {
56
56
  var origDate = (_a = _this.props.value) !== null && _a !== void 0 ? _a : new Date();
57
57
  origDate.setHours(hours);
58
58
  origDate.setMinutes(minutes);
59
- _this.props.onChange(origDate.toISOString());
59
+ _this.props.onChange(origDate);
60
60
  };
61
61
  _this.handleDateChange = function (date) {
62
62
  var _a;
@@ -68,7 +68,7 @@ var DateTimePicker = /** @class */ (function (_super) {
68
68
  var origDate = (_a = _this.props.value) !== null && _a !== void 0 ? _a : new Date();
69
69
  selectedDate.setHours(origDate.getHours());
70
70
  selectedDate.setMinutes(origDate.getMinutes());
71
- _this.props.onChange(selectedDate.toISOString());
71
+ _this.props.onChange(selectedDate);
72
72
  };
73
73
  return _this;
74
74
  }
@@ -78,14 +78,14 @@ var DateTimePicker = /** @class */ (function (_super) {
78
78
  DateTimePicker.prototype.render = function () {
79
79
  var _this = this;
80
80
  var _a, _b;
81
- var convertedValue = this.props.value ? new Date(this.props.value) : null;
82
- var convertedTimeValue = convertedValue
83
- ? "".concat(this.prepareFormat(convertedValue.getHours()), ":").concat(this.prepareFormat(convertedValue.getMinutes()))
81
+ var value = this.props.value;
82
+ var convertedTimeValue = value
83
+ ? "".concat(this.prepareFormat(value.getHours()), ":").concat(this.prepareFormat(value.getMinutes()))
84
84
  : '';
85
85
  return (React.createElement("div", { style: { width: Number(this.props.width) > MIN_WIDTH ? this.props.width : MIN_WIDTH } },
86
86
  React.createElement(common_1.Spacer, { h: true, gap: "0", noGrow: true, alignItems: 'end' },
87
- React.createElement(DatePicker_1.DatePicker, { disabled: this.props.disabled, preview: this.props.preview, required: this.props.required, hideClearButton: true, value: convertedValue, onChange: function (val) {
88
- _this.handleDateChange(val === null || val === void 0 ? void 0 : val.toString());
87
+ React.createElement(DatePicker_1.DatePicker, { disabled: this.props.disabled, preview: this.props.preview, required: this.props.required, hideClearButton: true, value: value, onChange: function (val) {
88
+ _this.handleDateChange(val);
89
89
  }, dateFormat: this.props.dateFormat, label: this.props.label.text, inlineLabel: (_a = this.props.label.hidden) !== null && _a !== void 0 ? _a : false, labelHidden: (_b = this.props.label.hidden) !== null && _b !== void 0 ? _b : false, fullWidth: this.props.fullWidth }),
90
90
  React.createElement(TimePicker_1.TimePicker, { disabled: this.props.disabled, preview: this.props.preview, value: convertedTimeValue, onChange: function (val) {
91
91
  _this.handleTimeChange(val);
@@ -8,6 +8,10 @@ export declare class CustomHeaderToggleBox extends React.PureComponent<IPropsCus
8
8
  htmlId: string;
9
9
  contentRef: React.RefObject<HTMLDivElement>;
10
10
  constructor(props: IPropsCustomHeader);
11
+ /**
12
+ * Called via ref
13
+ */
14
+ isOpen: () => boolean;
11
15
  toggle: () => void;
12
16
  componentDidUpdate(_prevProps: IPropsCustomHeader, prevState: IState): void;
13
17
  handleAnimationEnd: () => void;
@@ -53,6 +53,12 @@ var CustomHeaderToggleBox = /** @class */ (function (_super) {
53
53
  _this = _super.call(this, props) || this;
54
54
  _this.htmlId = (0, react_id_generator_1.default)('togglebox-');
55
55
  _this.contentRef = React.createRef();
56
+ /**
57
+ * Called via ref
58
+ */
59
+ _this.isOpen = function () {
60
+ return _this.state.isOpen;
61
+ };
56
62
  _this.toggle = function () {
57
63
  _this.setState({ isOpen: !_this.state.isOpen }, function () {
58
64
  var _a, _b;
@@ -14,6 +14,10 @@ export declare class SimpleToggleBox extends React.PureComponent<IPropsSimple, I
14
14
  contentRef: React.RefObject<HTMLDivElement>;
15
15
  constructor(props: IPropsSimple);
16
16
  handleKeyDown: (event: React.KeyboardEvent<HTMLAnchorElement>) => void;
17
+ /**
18
+ * Called via ref
19
+ */
20
+ isOpen: () => boolean;
17
21
  toggle: () => void;
18
22
  componentDidUpdate(_prevProps: IPropsSimple, prevState: IState): void;
19
23
  handleAnimationEnd: () => void;
@@ -69,6 +69,12 @@ var SimpleToggleBox = /** @class */ (function (_super) {
69
69
  _this.toggle();
70
70
  }
71
71
  };
72
+ /**
73
+ * Called via ref
74
+ */
75
+ _this.isOpen = function () {
76
+ return _this.state.isOpen;
77
+ };
72
78
  _this.toggle = function () {
73
79
  _this.setState({ isOpen: !_this.state.isOpen }, function () {
74
80
  if (!_this.state.isOpen && _this.props.onClose) {
@@ -1,4 +1,6 @@
1
1
  import * as React from 'react';
2
+ import { SimpleToggleBox } from './SimpleToggleBox';
3
+ import { CustomHeaderToggleBox } from './CustomHeaderToggleBox';
2
4
  export interface IPropsSimple {
3
5
  variant: 'simple';
4
6
  title: string;
@@ -11,6 +13,7 @@ export interface IPropsSimple {
11
13
  margin?: 'none' | 'small' | 'normal' | 'large';
12
14
  onOpen?(): void;
13
15
  onClose?(): void;
16
+ toggleBoxRef?: React.RefObject<SimpleToggleBox>;
14
17
  }
15
18
  export interface IPropsCustomHeader {
16
19
  variant: 'custom-header';
@@ -19,6 +22,7 @@ export interface IPropsCustomHeader {
19
22
  getToggleButtonLabel: (isOpen: boolean) => string;
20
23
  initiallyOpen?: boolean;
21
24
  onToggle?(isOpen: boolean): void;
25
+ toggleBoxRef?: React.RefObject<CustomHeaderToggleBox>;
22
26
  }
23
27
  type IProps = IPropsSimple | IPropsCustomHeader;
24
28
  export declare class ToggleBox extends React.PureComponent<IProps> {
@@ -60,10 +60,10 @@ var ToggleBox = /** @class */ (function (_super) {
60
60
  }
61
61
  ToggleBox.prototype.render = function () {
62
62
  if (this.props.variant === "simple") {
63
- return (React.createElement(SimpleToggleBox_1.SimpleToggleBox, __assign({}, this.props)));
63
+ return (React.createElement(SimpleToggleBox_1.SimpleToggleBox, __assign({ ref: this.props.toggleBoxRef }, this.props)));
64
64
  }
65
65
  else {
66
- return (React.createElement(CustomHeaderToggleBox_1.CustomHeaderToggleBox, __assign({}, this.props)));
66
+ return (React.createElement(CustomHeaderToggleBox_1.CustomHeaderToggleBox, __assign({ ref: this.props.toggleBoxRef }, this.props)));
67
67
  }
68
68
  };
69
69
  return ToggleBox;