orc-shared 5.10.0-dev.7 → 5.10.0-dev.9

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.
@@ -0,0 +1,271 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = exports.ListInfoPropertyName = void 0;
5
+ var _immutable = _interopRequireDefault(require("immutable"));
6
+ var _lodash = require("lodash");
7
+ var _ListHelper;
8
+ var _excluded = ["resetList", "scope", "filters", "sorting"],
9
+ _excluded2 = ["sorting", "filters", "scope", "page", "nextPageToLoad", "index", "list", "totalCount"];
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ (function () {
12
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
13
+ enterModule && enterModule(module);
14
+ })();
15
+ (function () {
16
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
17
+ enterModule && enterModule(module);
18
+ })();
19
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
22
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
23
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
24
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
25
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
26
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
27
+ return a;
28
+ };
29
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
30
+ return a;
31
+ };
32
+ var ListInfoPropertyName = exports.ListInfoPropertyName = "listInfo";
33
+ var standardInfoKeys = ["scope", "page", "filters", "sorting", "totalCount", "nextPageToLoad", "index", "list"];
34
+ var ListReducerHelper = /*#__PURE__*/function () {
35
+ function ListReducerHelper(groupPropertyName) {
36
+ var _this = this;
37
+ _defineProperty(this, "setNextPageToLoad", function (state, nextPageToLoad) {
38
+ return state.setIn([_this.groupPropertyName, "nextPageToLoad"], nextPageToLoad);
39
+ });
40
+ _defineProperty(this, "setResults", function (state, listInfo, forceReset) {
41
+ if (forceReset === void 0) {
42
+ forceReset = false;
43
+ }
44
+ return state.withMutations(function (s) {
45
+ var page = s.getIn([_this.groupPropertyName, "nextPageToLoad"]);
46
+ var entities = _immutable.default.fromJS(listInfo.indexEntities || {});
47
+ if (page === 1 || forceReset) {
48
+ s.setIn([_this.groupPropertyName, "index"], entities);
49
+ s.setIn([_this.groupPropertyName, "list"], _immutable.default.fromJS(listInfo.listEntities));
50
+ } else {
51
+ s.mergeIn([_this.groupPropertyName, "index"], entities);
52
+ s.setIn([_this.groupPropertyName, "list"], s.getIn([_this.groupPropertyName, "list"]).concat(_immutable.default.fromJS(listInfo.listEntities)));
53
+ }
54
+ s.setIn([_this.groupPropertyName, "totalCount"], listInfo.totalCount);
55
+ });
56
+ });
57
+ _defineProperty(this, "setCurrentInfo", function (state, _ref) {
58
+ if (_ref === void 0) {
59
+ _ref = {};
60
+ }
61
+ var _ref2 = _ref,
62
+ resetList = _ref2.resetList,
63
+ scope = _ref2.scope,
64
+ filters = _ref2.filters,
65
+ sorting = _ref2.sorting,
66
+ others = _objectWithoutProperties(_ref2, _excluded);
67
+ return state.withMutations(function (s) {
68
+ if (resetList) {
69
+ s.setIn([_this.groupPropertyName, "nextPageToLoad"], 1);
70
+ s.setIn([_this.groupPropertyName, "page"], null);
71
+ s.setIn([_this.groupPropertyName, "index"], _immutable.default.fromJS({}));
72
+ s.setIn([_this.groupPropertyName, "list"], _immutable.default.fromJS([]));
73
+ s.setIn([_this.groupPropertyName, "totalCount"], 0);
74
+ } else {
75
+ var nextPageToLoad = state.getIn([_this.groupPropertyName, "nextPageToLoad"]);
76
+ s.setIn([_this.groupPropertyName, "nextPageToLoad"], nextPageToLoad);
77
+ s.setIn([_this.groupPropertyName, "page"], nextPageToLoad);
78
+ }
79
+ s.setIn([_this.groupPropertyName, "scope"], scope != null ? scope : null);
80
+ s.setIn([_this.groupPropertyName, "filters"], _immutable.default.fromJS(filters != null ? filters : null));
81
+ s.setIn([_this.groupPropertyName, "sorting"], _immutable.default.fromJS(sorting != null ? sorting : null));
82
+ var otherKeys = Object.keys(others);
83
+ s.get(_this.groupPropertyName).keySeq().forEach(function (key) {
84
+ if (!standardInfoKeys.includes(key) && !otherKeys.includes(key)) {
85
+ s.removeIn([_this.groupPropertyName, key]);
86
+ }
87
+ });
88
+ otherKeys.forEach(function (key) {
89
+ s.setIn([_this.groupPropertyName, key], (0, _lodash.isObject)(others[key]) ? _immutable.default.fromJS(others[key]) : others[key]);
90
+ });
91
+ });
92
+ });
93
+ _defineProperty(this, "addIndexWithMutations", function (mutator, id, value) {
94
+ mutator.setIn([_this.groupPropertyName, "index", id], _immutable.default.fromJS(value));
95
+ });
96
+ _defineProperty(this, "appendIdToListWithMutations", function (mutator, id) {
97
+ mutator.setIn([_this.groupPropertyName, "list"], mutator.getIn([_this.groupPropertyName, "list"]).push(id));
98
+ });
99
+ _defineProperty(this, "updateIndexWithMutations", function (mutator, id, value) {
100
+ var key = [_this.groupPropertyName, "index", id];
101
+ if (mutator.getIn(key)) {
102
+ mutator.setIn(key, _immutable.default.fromJS(value));
103
+ }
104
+ });
105
+ _defineProperty(this, "removeFromIndexWithMutations", function (mutator, id) {
106
+ mutator.removeIn([_this.groupPropertyName, "index", id]);
107
+ });
108
+ _defineProperty(this, "resetListInfo", function (state, propertiesToKeep) {
109
+ if (propertiesToKeep === void 0) {
110
+ propertiesToKeep = {};
111
+ }
112
+ var updatedState = state.setIn([_this.groupPropertyName, "nextPageToLoad"], 1).setIn([_this.groupPropertyName, "index"], _immutable.default.fromJS({})).setIn([_this.groupPropertyName, "list"], _immutable.default.fromJS([])).setIn([_this.groupPropertyName, "totalCount"], 0);
113
+ if (!propertiesToKeep.filters) {
114
+ updatedState = updatedState.setIn([_this.groupPropertyName, "filters"], null);
115
+ }
116
+ if (!propertiesToKeep.sorting) {
117
+ updatedState = updatedState.setIn([_this.groupPropertyName, "sorting"], null);
118
+ }
119
+ if (!propertiesToKeep.scope) {
120
+ updatedState = updatedState.setIn([_this.groupPropertyName, "scope"], null);
121
+ }
122
+ if (!propertiesToKeep.page) {
123
+ updatedState = updatedState.setIn([_this.groupPropertyName, "page"], null);
124
+ }
125
+ return updatedState;
126
+ });
127
+ this.groupPropertyName = groupPropertyName;
128
+ }
129
+ var _proto = ListReducerHelper.prototype;
130
+ // @ts-ignore
131
+ _proto.__reactstandin__regenerateByEval = function __reactstandin__regenerateByEval(key, code) {
132
+ // @ts-ignore
133
+ this[key] = eval(code);
134
+ };
135
+ return ListReducerHelper;
136
+ }();
137
+ var ListSelectorHelper = /*#__PURE__*/function () {
138
+ function ListSelectorHelper(groupPropertyName) {
139
+ var _this2 = this;
140
+ _defineProperty(this, "getCurrentInfo", function (state) {
141
+ var _listInfo$get, _listInfo$get2;
142
+ var listInfo = state.get(_this2.groupPropertyName) || _immutable.default.Map();
143
+ var info = {
144
+ currentScope: listInfo.get("scope"),
145
+ currentPage: listInfo.get("page"),
146
+ currentFilters: (_listInfo$get = listInfo.get("filters")) == null ? void 0 : _listInfo$get.toJS(),
147
+ currentSorting: (_listInfo$get2 = listInfo.get("sorting")) == null ? void 0 : _listInfo$get2.toJS(),
148
+ totalCount: listInfo.get("totalCount")
149
+ };
150
+ listInfo.mapKeys(function (key, value) {
151
+ if (standardInfoKeys.includes(key)) {
152
+ // standard key, nothing to do
153
+ } else {
154
+ info[key] = value != null && value.toJS ? value.toJS() : value;
155
+ }
156
+ });
157
+ return info;
158
+ });
159
+ _defineProperty(this, "getIndex", function (state) {
160
+ return state.getIn([_this2.groupPropertyName, "index"]);
161
+ });
162
+ _defineProperty(this, "getList", function (state) {
163
+ return state.getIn([_this2.groupPropertyName, "list"]);
164
+ });
165
+ _defineProperty(this, "getNextPageToLoad", function (state) {
166
+ return state.getIn([_this2.groupPropertyName, "nextPageToLoad"]);
167
+ });
168
+ this.groupPropertyName = groupPropertyName;
169
+ }
170
+ var _proto2 = ListSelectorHelper.prototype;
171
+ // @ts-ignore
172
+ _proto2.__reactstandin__regenerateByEval = function __reactstandin__regenerateByEval(key, code) {
173
+ // @ts-ignore
174
+ this[key] = eval(code);
175
+ };
176
+ return ListSelectorHelper;
177
+ }();
178
+ var ListHelper = /*#__PURE__*/function () {
179
+ function ListHelper(groupPropertyName) {
180
+ var _this3 = this;
181
+ if (groupPropertyName === void 0) {
182
+ groupPropertyName = ListInfoPropertyName;
183
+ }
184
+ _defineProperty(this, "createInitialListInfo", function (additionalValues) {
185
+ if (additionalValues === void 0) {
186
+ additionalValues = null;
187
+ }
188
+ return _this3.createListInfoFrom(_objectSpread({}, additionalValues));
189
+ });
190
+ _defineProperty(this, "createListInfoFrom", function (_ref3) {
191
+ if (_ref3 === void 0) {
192
+ _ref3 = {};
193
+ }
194
+ var _ref4 = _ref3,
195
+ sorting = _ref4.sorting,
196
+ filters = _ref4.filters,
197
+ scope = _ref4.scope,
198
+ page = _ref4.page,
199
+ nextPageToLoad = _ref4.nextPageToLoad,
200
+ index = _ref4.index,
201
+ list = _ref4.list,
202
+ totalCount = _ref4.totalCount,
203
+ additionalValues = _objectWithoutProperties(_ref4, _excluded2);
204
+ return _defineProperty({}, _this3.groupPropertyName, _objectSpread({
205
+ sorting: sorting != null ? sorting : null,
206
+ filters: filters != null ? filters : null,
207
+ scope: scope != null ? scope : null,
208
+ page: page != null ? page : null,
209
+ nextPageToLoad: nextPageToLoad != null ? nextPageToLoad : 1,
210
+ index: index != null ? index : {},
211
+ list: list != null ? list : [],
212
+ totalCount: totalCount != null ? totalCount : 0
213
+ }, additionalValues));
214
+ });
215
+ this.groupPropertyName = groupPropertyName;
216
+ this.reducer = new ListReducerHelper(this.groupPropertyName);
217
+ this.selector = new ListSelectorHelper(this.groupPropertyName);
218
+ }
219
+ var _proto3 = ListHelper.prototype;
220
+ // @ts-ignore
221
+ _proto3.__reactstandin__regenerateByEval = function __reactstandin__regenerateByEval(key, code) {
222
+ // @ts-ignore
223
+ this[key] = eval(code);
224
+ };
225
+ return ListHelper;
226
+ }();
227
+ _ListHelper = ListHelper;
228
+ _defineProperty(ListHelper, "defaultInstance", new _ListHelper());
229
+ _defineProperty(ListHelper, "reducer", _ListHelper.defaultInstance.reducer);
230
+ _defineProperty(ListHelper, "selector", _ListHelper.defaultInstance.selector);
231
+ _defineProperty(ListHelper, "createInitialListInfo", _ListHelper.defaultInstance.createInitialListInfo);
232
+ _defineProperty(ListHelper, "createListInfoFrom", _ListHelper.defaultInstance.createListInfoFrom);
233
+ var _default = ListHelper;
234
+ var _default2 = _default;
235
+ var _default3 = exports.default = _default2;
236
+ ;
237
+ (function () {
238
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
239
+ if (!reactHotLoader) {
240
+ return;
241
+ }
242
+ reactHotLoader.register(ListInfoPropertyName, "ListInfoPropertyName", "/home/vsts/work/1/s/src/utils/ListHelper.js");
243
+ reactHotLoader.register(standardInfoKeys, "standardInfoKeys", "/home/vsts/work/1/s/src/utils/ListHelper.js");
244
+ reactHotLoader.register(ListReducerHelper, "ListReducerHelper", "/home/vsts/work/1/s/src/utils/ListHelper.js");
245
+ reactHotLoader.register(ListSelectorHelper, "ListSelectorHelper", "/home/vsts/work/1/s/src/utils/ListHelper.js");
246
+ reactHotLoader.register(ListHelper, "ListHelper", "/home/vsts/work/1/s/src/utils/ListHelper.js");
247
+ reactHotLoader.register(_default, "default", "/home/vsts/work/1/s/src/utils/ListHelper.js");
248
+ })();
249
+ ;
250
+ (function () {
251
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
252
+ leaveModule && leaveModule(module);
253
+ })();
254
+ ;
255
+ (function () {
256
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
257
+ if (!reactHotLoader) {
258
+ return;
259
+ }
260
+ reactHotLoader.register(ListInfoPropertyName, "ListInfoPropertyName", "/home/vsts/work/1/s/src/utils/ListHelper.js");
261
+ reactHotLoader.register(standardInfoKeys, "standardInfoKeys", "/home/vsts/work/1/s/src/utils/ListHelper.js");
262
+ reactHotLoader.register(ListReducerHelper, "ListReducerHelper", "/home/vsts/work/1/s/src/utils/ListHelper.js");
263
+ reactHotLoader.register(ListSelectorHelper, "ListSelectorHelper", "/home/vsts/work/1/s/src/utils/ListHelper.js");
264
+ reactHotLoader.register(ListHelper, "ListHelper", "/home/vsts/work/1/s/src/utils/ListHelper.js");
265
+ reactHotLoader.register(_default2, "default", "/home/vsts/work/1/s/src/utils/ListHelper.js");
266
+ })();
267
+ ;
268
+ (function () {
269
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
270
+ leaveModule && leaveModule(module);
271
+ })();
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.partialDeepEqual = exports.getBooleanValue = exports.doesObjectContainsTextCaseInsensitive = exports.compareTextCaseInsensitive = exports.compareNumeric = exports.compareBoolean = exports.areGuidsEquals = exports.areEqualCaseInsensitive = void 0;
5
+ var _lodash = _interopRequireDefault(require("lodash"));
6
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
+ (function () {
8
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
9
+ enterModule && enterModule(module);
10
+ })();
11
+ (function () {
12
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
13
+ enterModule && enterModule(module);
14
+ })();
15
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
16
+ return a;
17
+ };
18
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
19
+ return a;
20
+ };
21
+ var partialDeepEqual = exports.partialDeepEqual = function partialDeepEqual(x, y, ignoredRootProps) {
22
+ if (ignoredRootProps === void 0) {
23
+ ignoredRootProps = null;
24
+ }
25
+ if (x == null || y == null) return x === y;
26
+ var keys = Object.keys(x);
27
+ if (!_lodash.default.isEqual(keys, Object.keys(y))) {
28
+ return false;
29
+ }
30
+ for (var _i = 0, _keys = keys; _i < _keys.length; _i++) {
31
+ var key = _keys[_i];
32
+ if (ignoredRootProps && ignoredRootProps.includes(key)) {
33
+ continue;
34
+ }
35
+ if (!_lodash.default.isEqual(x[key], y[key])) {
36
+ return false;
37
+ }
38
+ }
39
+ return true;
40
+ };
41
+ var areGuidsEquals = exports.areGuidsEquals = function areGuidsEquals(first, second) {
42
+ function stripDash(value) {
43
+ return value == null ? void 0 : value.replace(/-/g, "");
44
+ }
45
+ return areEqualCaseInsensitive(stripDash(first), stripDash(second));
46
+ };
47
+ var areEqualCaseInsensitive = exports.areEqualCaseInsensitive = function areEqualCaseInsensitive(first, second) {
48
+ var isFirstNullish = first === null || first === undefined;
49
+ var isSecondNullish = second === null || second === undefined;
50
+ if (isFirstNullish || isSecondNullish) {
51
+ return isFirstNullish && isSecondNullish;
52
+ }
53
+ return first.localeCompare(second, undefined, {
54
+ sensitivity: "accent"
55
+ }) === 0;
56
+ };
57
+ var processOrderResult = function processOrderResult(ascendingOrder, compareResult) {
58
+ if (!ascendingOrder && compareResult != 0) {
59
+ return compareResult * -1;
60
+ }
61
+ return compareResult;
62
+ };
63
+ var compareTextCaseInsensitive = exports.compareTextCaseInsensitive = function compareTextCaseInsensitive(first, second, ascendingOrder, nullValue) {
64
+ if (ascendingOrder === void 0) {
65
+ ascendingOrder = true;
66
+ }
67
+ if (nullValue === void 0) {
68
+ nullValue = "";
69
+ }
70
+ return processOrderResult(ascendingOrder, (first != null ? first : nullValue).localeCompare(second != null ? second : nullValue, undefined, {
71
+ sensitivity: "accent"
72
+ }));
73
+ };
74
+ var getBooleanValue = exports.getBooleanValue = function getBooleanValue(value) {
75
+ var result = null;
76
+ if (typeof value === "string") {
77
+ if (areEqualCaseInsensitive(value, "true")) {
78
+ result = true;
79
+ } else if (areEqualCaseInsensitive(value, "false")) {
80
+ result = false;
81
+ }
82
+ } else if (typeof value === "boolean") {
83
+ result = value === true;
84
+ }
85
+ return result;
86
+ };
87
+ var compareBoolean = exports.compareBoolean = function compareBoolean(first, second) {
88
+ var firstBool = getBooleanValue(first);
89
+ var secondBool = getBooleanValue(second);
90
+ if (firstBool === null && secondBool === null) {
91
+ return false;
92
+ }
93
+ return firstBool === secondBool;
94
+ };
95
+ var compareNumeric = exports.compareNumeric = function compareNumeric(first, second, ascendingOrder, nullValue) {
96
+ if (ascendingOrder === void 0) {
97
+ ascendingOrder = true;
98
+ }
99
+ if (nullValue === void 0) {
100
+ nullValue = 0.0;
101
+ }
102
+ if (typeof first === "string" || first instanceof String || typeof second === "string" || second instanceof String) {
103
+ return processOrderResult(ascendingOrder, (first != null ? first : nullValue.toString()).localeCompare(second != null ? second : nullValue.toString(), undefined, {
104
+ numeric: true
105
+ }));
106
+ }
107
+ var result = 0;
108
+ if ((first != null ? first : nullValue) < (second != null ? second : nullValue)) {
109
+ result = -1;
110
+ } else if ((first != null ? first : nullValue) > (second != null ? second : nullValue)) {
111
+ result = 1;
112
+ }
113
+ return processOrderResult(ascendingOrder, result);
114
+ };
115
+ var doesObjectContainsTextCaseInsensitive = exports.doesObjectContainsTextCaseInsensitive = function doesObjectContainsTextCaseInsensitive(obj, searchTerm, properties) {
116
+ if (properties === void 0) {
117
+ properties = [];
118
+ }
119
+ var caseInsensitiveIncludes = function caseInsensitiveIncludes(a, b) {
120
+ return a == null ? void 0 : a.toLowerCase().includes(b);
121
+ };
122
+ if (!obj) {
123
+ return false;
124
+ }
125
+ if (searchTerm === null || searchTerm === undefined || searchTerm === "") {
126
+ return true;
127
+ }
128
+ var loweredSearchTerm = searchTerm.toLowerCase();
129
+ var propertiesToSearch = properties.length > 0 ? properties : Object.keys(obj);
130
+ var result = propertiesToSearch.find(function (key) {
131
+ return typeof obj[key] === "string" && caseInsensitiveIncludes(obj[key], loweredSearchTerm);
132
+ }) !== undefined;
133
+ return result;
134
+ };
135
+ ;
136
+ (function () {
137
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
138
+ if (!reactHotLoader) {
139
+ return;
140
+ }
141
+ reactHotLoader.register(partialDeepEqual, "partialDeepEqual", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
142
+ reactHotLoader.register(areGuidsEquals, "areGuidsEquals", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
143
+ reactHotLoader.register(areEqualCaseInsensitive, "areEqualCaseInsensitive", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
144
+ reactHotLoader.register(processOrderResult, "processOrderResult", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
145
+ reactHotLoader.register(compareTextCaseInsensitive, "compareTextCaseInsensitive", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
146
+ reactHotLoader.register(getBooleanValue, "getBooleanValue", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
147
+ reactHotLoader.register(compareBoolean, "compareBoolean", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
148
+ reactHotLoader.register(compareNumeric, "compareNumeric", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
149
+ reactHotLoader.register(doesObjectContainsTextCaseInsensitive, "doesObjectContainsTextCaseInsensitive", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
150
+ })();
151
+ ;
152
+ (function () {
153
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
154
+ leaveModule && leaveModule(module);
155
+ })();
156
+ ;
157
+ (function () {
158
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
159
+ if (!reactHotLoader) {
160
+ return;
161
+ }
162
+ reactHotLoader.register(partialDeepEqual, "partialDeepEqual", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
163
+ reactHotLoader.register(areGuidsEquals, "areGuidsEquals", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
164
+ reactHotLoader.register(areEqualCaseInsensitive, "areEqualCaseInsensitive", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
165
+ reactHotLoader.register(processOrderResult, "processOrderResult", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
166
+ reactHotLoader.register(compareTextCaseInsensitive, "compareTextCaseInsensitive", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
167
+ reactHotLoader.register(getBooleanValue, "getBooleanValue", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
168
+ reactHotLoader.register(compareBoolean, "compareBoolean", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
169
+ reactHotLoader.register(compareNumeric, "compareNumeric", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
170
+ reactHotLoader.register(doesObjectContainsTextCaseInsensitive, "doesObjectContainsTextCaseInsensitive", "/home/vsts/work/1/s/src/utils/comparisonHelper.js");
171
+ })();
172
+ ;
173
+ (function () {
174
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
175
+ leaveModule && leaveModule(module);
176
+ })();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orc-shared",
3
- "version": "5.10.0-dev.7",
3
+ "version": "5.10.0-dev.9",
4
4
  "description": "Shared code for Orckestra applications",
5
5
  "main": "./src/index.js",
6
6
  "exports": {
@@ -5,8 +5,6 @@ import { getThemeProp, memoize, unwrapImmutable } from "../../utils";
5
5
  import Sidepanel from "../Sidepanel";
6
6
  import Button from "../Button";
7
7
  import Text from "../Text";
8
- import { FormContext } from "../Form/Form";
9
- import FieldElements from "../Form/FieldElements";
10
8
  import useViewState from "../../hooks/useViewState";
11
9
  import { setValue } from "../../actions/view";
12
10
  import { setDefaultLanguage } from "../../actions/locale";
@@ -18,6 +16,9 @@ import { defaultAppId } from "../../selectors/settings";
18
16
  import withClickOutside from "../../hocs/withClickOutside";
19
17
  import { resetVersionInfo } from "../../actions/versionInfo";
20
18
  import sharedMessages from "./../../sharedMessages";
19
+ import SelectProps from "../MaterialUI/Inputs/SelectProps";
20
+ import InformationItem from "../MaterialUI/DataDisplay/PredefinedElements/InformationItem";
21
+ import Select from "../MaterialUI/Inputs/Select";
21
22
 
22
23
  export const PREFS_NAME = "__prefsDialog";
23
24
 
@@ -29,6 +30,7 @@ export const PrefPanel = styled(Sidepanel)`
29
30
  top: 40px;
30
31
  box-shadow: -3px 2px 5px 0px rgba(0, 0, 0, 0.2);
31
32
  z-index: 9998;
33
+ transition: right 400ms ease-out;
32
34
  `;
33
35
 
34
36
  export const Wrapper = withClickOutside(styled.div`
@@ -74,22 +76,33 @@ export const PrefButton = styled(Button)`
74
76
  min-width: 110px;
75
77
  `;
76
78
 
77
- export const createGetUpdater = memoize(update => memoize(name => value => update(name, value)));
79
+ export const stateEventUpdater = memoize((update, key) => value => update(key, value));
78
80
 
79
81
  const usePreferenceSetup = () => {
80
82
  const dispatch = useDispatch();
81
83
  const [viewState, updateViewState] = useViewState(PREFS_NAME);
82
84
 
85
+ const initialLanguage = useSelector(currentLocaleOrDefault);
86
+ const initialApplication = useSelector(defaultAppId) || "";
87
+
88
+ const languageSelectProps = new SelectProps();
89
+ languageSelectProps.set(SelectProps.propNames.value, viewState.language ?? initialLanguage);
90
+ languageSelectProps.set(SelectProps.propNames.disabled, false);
91
+ languageSelectProps.set(SelectProps.propNames.positionOverride, { disablePortal: true });
92
+ languageSelectProps.set(SelectProps.propNames.update, stateEventUpdater(updateViewState, "language"));
93
+
94
+ const applicationSelectProps = new SelectProps();
95
+ applicationSelectProps.set(SelectProps.propNames.value, viewState.application ?? initialApplication);
96
+ applicationSelectProps.set(SelectProps.propNames.disabled, false);
97
+ applicationSelectProps.set(SelectProps.propNames.positionOverride, { disablePortal: true });
98
+ applicationSelectProps.set(SelectProps.propNames.update, stateEventUpdater(updateViewState, "application"));
99
+
83
100
  return {
84
101
  show: viewState.show,
85
- values: {
86
- language: useSelector(currentLocaleOrDefault),
87
- application: useSelector(defaultAppId) || "",
88
- ...viewState,
89
- },
90
- getUpdater: createGetUpdater(updateViewState),
91
102
  languageOptions: unwrapImmutable(useSelector(cultureOptionList)),
103
+ languageSelectProps,
92
104
  applicationOptions: unwrapImmutable(useSelector(localizedAppOptionSelector)),
105
+ applicationSelectProps,
93
106
  clear: () => dispatch(setValue(PREFS_NAME, { show: false })),
94
107
  save: () => {
95
108
  if (viewState.language) {
@@ -112,7 +125,8 @@ export const clickOutsideHandler = e => {
112
125
  };
113
126
 
114
127
  export const Preferences = () => {
115
- const { show, getUpdater, save, clear, languageOptions, applicationOptions, values } = usePreferenceSetup();
128
+ const { show, save, clear, languageOptions, languageSelectProps, applicationOptions, applicationSelectProps } =
129
+ usePreferenceSetup();
116
130
  return (
117
131
  <PrefPanel in={show} width="380px" timeout={400}>
118
132
  <Wrapper onClickOutside={clickOutsideHandler}>
@@ -120,25 +134,12 @@ export const Preferences = () => {
120
134
  <Text message={sharedMessages.preferences} />
121
135
  </Header>
122
136
  <PrefForm>
123
- <FormContext.Provider value={{ values }}>
124
- <FieldElements
125
- fields={[
126
- {
127
- label: sharedMessages.displayLanguage,
128
- type: "Selector",
129
- name: "language",
130
- options: languageOptions,
131
- },
132
- {
133
- label: sharedMessages.defaultApp,
134
- type: "Selector",
135
- name: "application",
136
- options: applicationOptions,
137
- },
138
- ]}
139
- getUpdater={getUpdater}
140
- />
141
- </FormContext.Provider>
137
+ <InformationItem label={sharedMessages.displayLanguage}>
138
+ <Select options={languageOptions} selectProps={languageSelectProps} />
139
+ </InformationItem>
140
+ <InformationItem label={sharedMessages.defaultApp}>
141
+ <Select options={applicationOptions} selectProps={applicationSelectProps} />
142
+ </InformationItem>
142
143
  </PrefForm>
143
144
  <Footer>
144
145
  <PrefButton id="cancelPrefs" onClick={clear}>