@steroidsjs/core 2.2.17 → 2.2.20

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.
@@ -8,6 +8,7 @@ export default class ClientStorageComponent {
8
8
  STORAGE_SESSION: any;
9
9
  localStorageAvailable: boolean;
10
10
  sessionStorageAvailable: boolean;
11
+ domain?: string;
11
12
  private _ssrCookie;
12
13
  constructor(components: any, config: any);
13
14
  /**
@@ -55,6 +55,7 @@ var ClientStorageComponent = /** @class */ (function () {
55
55
  this.sessionStorageAvailable = false;
56
56
  }
57
57
  }
58
+ this.domain = (config === null || config === void 0 ? void 0 : config.domain) || null;
58
59
  this._ssrCookie = config === null || config === void 0 ? void 0 : config.ssrCookie;
59
60
  }
60
61
  /**
@@ -122,7 +123,10 @@ var ClientStorageComponent = /** @class */ (function () {
122
123
  }
123
124
  };
124
125
  ClientStorageComponent.prototype._getDomain = function () {
125
- var host = (typeof location !== 'undefined' && location.hostname) || '';
126
+ if (this.domain) {
127
+ return this.domain;
128
+ }
129
+ var host = (typeof window.location !== 'undefined' && window.location.hostname) || '';
126
130
  return ((!/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/.test(host)
127
131
  && host
128
132
  .split('.')
package/hooks/useFile.js CHANGED
@@ -23,8 +23,8 @@ var get_1 = __importDefault(require("lodash-es/get"));
23
23
  var isEqual_1 = __importDefault(require("lodash-es/isEqual"));
24
24
  var difference_1 = __importDefault(require("lodash-es/difference"));
25
25
  var buildURL_1 = __importDefault(require("axios/lib/helpers/buildURL"));
26
- var useInitial_1 = __importDefault(require("../hooks/useInitial"));
27
- var index_1 = require("../hooks/index");
26
+ var useInitial_1 = __importDefault(require("./useInitial"));
27
+ var index_1 = require("./index");
28
28
  var imagesMimeTypes = [
29
29
  'image/gif',
30
30
  'image/jpeg',
@@ -78,7 +78,7 @@ function useFile(props) {
78
78
  * @param {File} file
79
79
  * @private
80
80
  */
81
- var onQueueItemEnd = function (file) {
81
+ var onQueueItemEnd = react_1.useCallback(function (file) {
82
82
  forceUpdate();
83
83
  // Check successfully
84
84
  if (file.getResult() !== File_1["default"].RESULT_SUCCESS) {
@@ -96,13 +96,23 @@ function useFile(props) {
96
96
  else {
97
97
  props.input.onChange(id);
98
98
  }
99
- };
99
+ }, [forceUpdate, props.input, props.multiple]);
100
+ var prevOnQueueItemEnd = react_use_1.usePrevious(onQueueItemEnd);
101
+ react_1.useEffect(function () {
102
+ if (prevOnQueueItemEnd) {
103
+ uploader.queue.off(QueueCollection_1["default"].EVENT_ITEM_END, prevOnQueueItemEnd);
104
+ }
105
+ uploader.queue.on(QueueCollection_1["default"].EVENT_ITEM_END, onQueueItemEnd);
106
+ }, [onQueueItemEnd, prevOnQueueItemEnd, uploader.queue]);
107
+ react_use_1.useUnmount(function () {
108
+ uploader.queue.off(QueueCollection_1["default"].EVENT_ITEM_END, onQueueItemEnd);
109
+ });
100
110
  /**
101
111
  * Triggered by queue when file is removed from it
102
112
  * @param {File[]} removedFiles
103
113
  * @private
104
114
  */
105
- var onQueueRemove = function (removedFiles) {
115
+ var onQueueRemove = react_1.useCallback(function (removedFiles) {
106
116
  var toRemove = removedFiles
107
117
  .map(function (file) { return get_1["default"](file.getResultHttpMessage(), 'id'); })
108
118
  .filter(Boolean);
@@ -119,18 +129,24 @@ function useFile(props) {
119
129
  props.input.onChange(null);
120
130
  }
121
131
  forceUpdate();
122
- };
132
+ }, [forceUpdate, props.input, props.multiple]);
133
+ var prevOnQueueRemove = react_use_1.usePrevious(onQueueRemove);
134
+ react_1.useEffect(function () {
135
+ if (prevOnQueueRemove) {
136
+ uploader.queue.off(QueueCollection_1["default"].EVENT_REMOVE, prevOnQueueRemove);
137
+ }
138
+ uploader.queue.on(QueueCollection_1["default"].EVENT_REMOVE, onQueueRemove);
139
+ }, [onQueueRemove, prevOnQueueRemove, uploader.queue]);
140
+ react_use_1.useUnmount(function () {
141
+ uploader.queue.off(QueueCollection_1["default"].EVENT_REMOVE, onQueueRemove);
142
+ });
123
143
  react_use_1.useMount(function () {
124
144
  uploader.queue.on(QueueCollection_1["default"].EVENT_ITEM_STATUS, forceUpdate);
125
145
  uploader.queue.on(QueueCollection_1["default"].EVENT_ITEM_PROGRESS, forceUpdate);
126
- uploader.queue.on(QueueCollection_1["default"].EVENT_ITEM_END, onQueueItemEnd);
127
- uploader.queue.on(QueueCollection_1["default"].EVENT_REMOVE, onQueueRemove);
128
146
  });
129
147
  react_use_1.useUnmount(function () {
130
148
  uploader.queue.off(QueueCollection_1["default"].EVENT_ITEM_STATUS, forceUpdate);
131
149
  uploader.queue.off(QueueCollection_1["default"].EVENT_ITEM_PROGRESS, forceUpdate);
132
- uploader.queue.off(QueueCollection_1["default"].EVENT_ITEM_END, onQueueItemEnd);
133
- uploader.queue.off(QueueCollection_1["default"].EVENT_REMOVE, onQueueRemove);
134
150
  });
135
151
  // Check backend url changes
136
152
  react_1.useEffect(function () {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/core",
3
- "version": "2.2.17",
3
+ "version": "2.2.20",
4
4
  "description": "",
5
5
  "author": "Vladimir Kozhin <hello@kozhindev.com>",
6
6
  "repository": {
@@ -38,7 +38,8 @@ function RadioListField(props) {
38
38
  react_1.useEffect(function () {
39
39
  props.input.onChange.call(null, selectedIds[0]);
40
40
  }, [props.input.onChange, selectedIds]);
41
- return components.ui.renderView(props.view || 'form.RadioListFieldView', __assign(__assign({}, props), { inputProps: inputProps,
41
+ return components.ui.renderView(props.view || 'form.RadioListFieldView', __assign(__assign({}, props), { items: items,
42
+ inputProps: inputProps,
42
43
  onItemSelect: onItemSelect,
43
44
  selectedIds: selectedIds }));
44
45
  }