orc-shared 5.10.1-dev.7 → 5.10.1-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.
Files changed (133) hide show
  1. package/dist/components/Authenticate.js +41 -17
  2. package/dist/components/ErrorPlaceholder.js +8 -24
  3. package/dist/components/{Icon.js → Form/Inputs/MultiSelector.js} +33 -20
  4. package/dist/components/Form/Inputs/index.js +1 -1
  5. package/dist/components/LoadingIcon.js +6 -16
  6. package/dist/components/MaterialUI/Inputs/Select.js +10 -0
  7. package/dist/components/MaterialUI/Inputs/SelectProps.js +3 -1
  8. package/dist/components/MaterialUI/Navigation/DropDownMenu.js +2 -4
  9. package/dist/components/Provision.js +30 -13
  10. package/dist/components/Routing/SegmentPage.js +115 -56
  11. package/dist/components/Scope/ScopeNode.js +68 -45
  12. package/dist/components/Sidepanel.js +57 -23
  13. package/dist/components/Spritesheet.js +33 -17
  14. package/dist/components/Text.js +1 -60
  15. package/dist/components/Treeview/Branch.js +82 -20
  16. package/dist/components/Treeview/Label.js +108 -31
  17. package/dist/components/Treeview/Leaf.js +56 -12
  18. package/dist/components/Treeview/Node.js +22 -9
  19. package/dist/components/Treeview/index.js +7 -1
  20. package/dist/components/Treeview/settings.js +7 -5
  21. package/dist/utils/index.js +0 -4
  22. package/dist/utils/testUtils.js +1 -12
  23. package/package.json +1 -1
  24. package/src/components/ApplicationModuleLoader.test.js +14 -27
  25. package/src/components/Authenticate.js +29 -21
  26. package/src/components/Authenticate.test.js +18 -27
  27. package/src/components/ErrorPlaceholder.js +4 -21
  28. package/src/components/ErrorPlaceholder.test.js +7 -14
  29. package/src/components/Form/InputField.test.js +2 -1
  30. package/src/components/Form/Inputs/MultiSelector.js +23 -0
  31. package/src/components/Form/Inputs/MultiSelector.test.js +112 -0
  32. package/src/components/Form/Inputs/index.js +1 -1
  33. package/src/components/Loader.test.js +21 -33
  34. package/src/components/LoadingIcon.js +2 -15
  35. package/src/components/LoadingIcon.test.js +2 -20
  36. package/src/components/MaterialUI/DataDisplay/Table.test.js +1 -1
  37. package/src/components/MaterialUI/Inputs/Select.js +7 -0
  38. package/src/components/MaterialUI/Inputs/Select.test.js +45 -0
  39. package/src/components/MaterialUI/Inputs/SelectProps.js +2 -0
  40. package/src/components/MaterialUI/Inputs/SelectProps.test.js +2 -0
  41. package/src/components/MaterialUI/Navigation/DropDownMenu.js +2 -2
  42. package/src/components/MaterialUI/Navigation/DropDownMenu.test.js +5 -6
  43. package/src/components/Navigation/Navigation.test.js +0 -5
  44. package/src/components/Navigation/useNavigationState.test.js +79 -222
  45. package/src/components/Provision.js +36 -42
  46. package/src/components/Provision.test.js +10 -26
  47. package/src/components/Routing/SegmentPage.js +68 -52
  48. package/src/components/Routing/SegmentPage.test.js +4 -12
  49. package/src/components/Scope/ScopeNode.js +61 -54
  50. package/src/components/Scope/ScopeNode.test.js +61 -154
  51. package/src/components/ScopeExtendedConfigurationLoader.test.js +1 -4
  52. package/src/components/Sidepanel.js +38 -32
  53. package/src/components/Sidepanel.test.js +49 -27
  54. package/src/components/Spritesheet.js +23 -21
  55. package/src/components/Spritesheet.test.js +10 -10
  56. package/src/components/Text.js +0 -49
  57. package/src/components/Treeview/Branch.js +63 -45
  58. package/src/components/Treeview/Branch.test.js +21 -24
  59. package/src/components/Treeview/Label.js +66 -52
  60. package/src/components/Treeview/Label.test.js +42 -60
  61. package/src/components/Treeview/Leaf.js +41 -22
  62. package/src/components/Treeview/Leaf.test.js +15 -10
  63. package/src/components/Treeview/Node.js +16 -9
  64. package/src/components/Treeview/Node.test.js +269 -200
  65. package/src/components/Treeview/Treeview.test.js +248 -248
  66. package/src/components/Treeview/index.js +6 -0
  67. package/src/components/Treeview/settings.js +7 -6
  68. package/src/utils/index.js +0 -4
  69. package/src/utils/testUtils.js +0 -10
  70. package/src/utils/testUtils.test.js +0 -68
  71. package/dist/components/Button.js +0 -70
  72. package/dist/components/Checkbox.js +0 -103
  73. package/dist/components/IconButton.js +0 -80
  74. package/dist/components/Input.js +0 -101
  75. package/dist/components/Modal/Background.js +0 -55
  76. package/dist/components/Modal/Dialog.js +0 -75
  77. package/dist/components/Modal/Wrapper.js +0 -69
  78. package/dist/components/Modal/index.js +0 -86
  79. package/dist/components/MultiSelector.js +0 -187
  80. package/dist/components/Navigation/Bar.js +0 -293
  81. package/dist/components/Navigation/Tab.js +0 -182
  82. package/dist/components/Placeholder.js +0 -114
  83. package/dist/components/Scope/Selector.js +0 -123
  84. package/dist/components/Selector.js +0 -185
  85. package/dist/components/Switch.js +0 -128
  86. package/dist/components/Toolbar.js +0 -227
  87. package/dist/components/Tooltip.js +0 -66
  88. package/dist/getTheme.js +0 -153
  89. package/dist/getThemeOverrides.js +0 -93
  90. package/dist/hocs/withAuthentication.js +0 -72
  91. package/dist/utils/styledPropFuncs.js +0 -88
  92. package/src/components/Button.js +0 -90
  93. package/src/components/Button.test.js +0 -49
  94. package/src/components/Checkbox.js +0 -63
  95. package/src/components/Checkbox.test.js +0 -122
  96. package/src/components/Icon.js +0 -18
  97. package/src/components/IconButton.js +0 -30
  98. package/src/components/IconButton.test.js +0 -61
  99. package/src/components/Input.js +0 -35
  100. package/src/components/Input.test.js +0 -34
  101. package/src/components/Modal/Background.js +0 -10
  102. package/src/components/Modal/Dialog.js +0 -27
  103. package/src/components/Modal/Dialog.test.js +0 -20
  104. package/src/components/Modal/Modal.test.js +0 -52
  105. package/src/components/Modal/Wrapper.js +0 -32
  106. package/src/components/Modal/Wrapper.test.js +0 -55
  107. package/src/components/Modal/index.js +0 -22
  108. package/src/components/MultiSelector.js +0 -104
  109. package/src/components/MultiSelector.test.js +0 -348
  110. package/src/components/Navigation/Bar.js +0 -212
  111. package/src/components/Navigation/Bar.test.js +0 -552
  112. package/src/components/Navigation/Tab.js +0 -156
  113. package/src/components/Navigation/Tab.test.js +0 -404
  114. package/src/components/Placeholder.js +0 -61
  115. package/src/components/Placeholder.test.js +0 -106
  116. package/src/components/Scope/Selector.js +0 -70
  117. package/src/components/Scope/Selector.test.js +0 -138
  118. package/src/components/Selector.js +0 -191
  119. package/src/components/Selector.test.js +0 -157
  120. package/src/components/Switch.js +0 -112
  121. package/src/components/Switch.test.js +0 -130
  122. package/src/components/Text.test.js +0 -132
  123. package/src/components/Toolbar.js +0 -178
  124. package/src/components/Toolbar.test.js +0 -478
  125. package/src/components/Tooltip.js +0 -51
  126. package/src/components/Tooltip.test.js +0 -21
  127. package/src/getTheme.js +0 -98
  128. package/src/getTheme.test.js +0 -92
  129. package/src/getThemeOverrides.js +0 -27
  130. package/src/hocs/withAuthentication.js +0 -18
  131. package/src/hocs/withAuthentication.test.js +0 -120
  132. package/src/utils/styledPropFuncs.js +0 -20
  133. package/src/utils/styledPropFuncs.test.js +0 -166
@@ -7,8 +7,8 @@ var _Branch = require("./Branch");
7
7
  var _Leaf = require("./Leaf");
8
8
  var _Label = require("./Label");
9
9
  var _utils = require("../../utils");
10
- var _excluded = ["dark", "isSelectedNode"],
11
- _excluded2 = ["isSelectedNode"];
10
+ var _excluded = ["dark", "isSelectedNode", "labelClassName", "leafClassName"],
11
+ _excluded2 = ["isSelectedNode", "labelClassName"];
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
13
  (function () {
14
14
  var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -36,9 +36,12 @@ var TreeContext = exports.TreeContext = _react.default.createContext();
36
36
  var LeafNode = exports.LeafNode = function LeafNode(_ref) {
37
37
  var dark = _ref.dark,
38
38
  isSelectedNode = _ref.isSelectedNode,
39
+ labelClassName = _ref.labelClassName,
40
+ leafClassName = _ref.leafClassName,
39
41
  nodeData = _objectWithoutProperties(_ref, _excluded);
40
42
  return /*#__PURE__*/_react.default.createElement(_Leaf.Leaf, {
41
- dark: dark
43
+ dark: dark,
44
+ leafClassName: leafClassName
42
45
  }, /*#__PURE__*/_react.default.createElement(TreeContext.Consumer, null, function (_ref2) {
43
46
  var Content = _ref2.Content,
44
47
  nodeState = _ref2.nodeState,
@@ -56,16 +59,19 @@ var LeafNode = exports.LeafNode = function LeafNode(_ref) {
56
59
  onClick: toggle,
57
60
  dark: dark
58
61
  })] : /*#__PURE__*/_react.default.createElement(_Label.NonIndicator, null), /*#__PURE__*/_react.default.createElement(_Label.Label, {
59
- isSelectedNode: isSelectedNode
62
+ isSelectedNode: isSelectedNode,
63
+ labelClassName: labelClassName
60
64
  }, /*#__PURE__*/_react.default.createElement(Content, _extends({}, (0, _utils.stripKey)("children", nodeData), otherProps))));
61
65
  }));
62
66
  };
63
67
  LeafNode.displayName = "LeafNode";
64
68
  var RootNode = exports.RootNode = function RootNode(_ref3) {
65
69
  var isSelectedNode = _ref3.isSelectedNode,
70
+ labelClassName = _ref3.labelClassName,
66
71
  nodeData = _objectWithoutProperties(_ref3, _excluded2);
67
72
  return /*#__PURE__*/_react.default.createElement(_Leaf.Root, null, /*#__PURE__*/_react.default.createElement(_Label.Label, {
68
- isSelectedNode: isSelectedNode
73
+ isSelectedNode: isSelectedNode,
74
+ labelClassName: labelClassName
69
75
  }, /*#__PURE__*/_react.default.createElement(TreeContext.Consumer, null, function (_ref4) {
70
76
  var Content = _ref4.Content,
71
77
  otherProps = _ref4.otherProps;
@@ -81,19 +87,26 @@ var _Node = exports.Node = function Node(_ref5) {
81
87
  getNode = _ref6.getNode,
82
88
  selectedNodeId = _ref6.selectedNodeId,
83
89
  nodeState = _ref6.nodeState,
84
- dark = _ref6.dark;
90
+ dark = _ref6.dark,
91
+ labelClassName = _ref6.labelClassName,
92
+ leafClassName = _ref6.leafClassName,
93
+ branchClassName = _ref6.branchClassName;
85
94
  var nodeData = getNode(id);
86
95
  if (!nodeData) return null;
87
96
  var isSelectedNode = selectedNodeId === id;
88
97
  var open = root || openAll || nodeState[id] || false;
89
98
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, root ? /*#__PURE__*/_react.default.createElement(RootNode, _extends({}, nodeData, {
90
- isSelectedNode: isSelectedNode
99
+ isSelectedNode: isSelectedNode,
100
+ labelClassName: labelClassName
91
101
  })) : /*#__PURE__*/_react.default.createElement(LeafNode, _extends({}, nodeData, {
92
102
  open: open,
93
103
  dark: dark,
94
- isSelectedNode: isSelectedNode
104
+ isSelectedNode: isSelectedNode,
105
+ labelClassName: labelClassName,
106
+ leafClassName: leafClassName
95
107
  })), open && (0, _utils.safeGet)(nodeData, "children", "length") ? /*#__PURE__*/_react.default.createElement(_Branch.Branch, {
96
- dark: dark
108
+ dark: dark,
109
+ branchClassName: branchClassName
97
110
  }, nodeData.children.map(function (id) {
98
111
  return /*#__PURE__*/_react.default.createElement(_Node, {
99
112
  key: id,
@@ -6,7 +6,7 @@ var _react = _interopRequireDefault(require("react"));
6
6
  var _useViewState3 = _interopRequireDefault(require("../../hooks/useViewState"));
7
7
  var _Branch = require("./Branch");
8
8
  var _Node = _interopRequireWildcard(require("./Node"));
9
- var _excluded = ["dark", "Content", "rootId", "selectedNodeId", "getNode", "openAll", "name", "defaultNodeState"];
9
+ var _excluded = ["dark", "Content", "rootId", "selectedNodeId", "getNode", "openAll", "name", "defaultNodeState", "labelClassName", "leafClassName", "branchClassName"];
10
10
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
11
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -55,6 +55,9 @@ var Treeview = exports.Treeview = function Treeview(_ref) {
55
55
  name = _ref.name,
56
56
  _ref$defaultNodeState = _ref.defaultNodeState,
57
57
  defaultNodeState = _ref$defaultNodeState === void 0 ? {} : _ref$defaultNodeState,
58
+ labelClassName = _ref.labelClassName,
59
+ leafClassName = _ref.leafClassName,
60
+ branchClassName = _ref.branchClassName,
58
61
  otherProps = _objectWithoutProperties(_ref, _excluded);
59
62
  var _useViewState = (0, _useViewState3.default)(name),
60
63
  _useViewState2 = _slicedToArray(_useViewState, 2),
@@ -73,6 +76,9 @@ var Treeview = exports.Treeview = function Treeview(_ref) {
73
76
  selectedNodeId: selectedNodeId,
74
77
  nodeState: nodeState,
75
78
  updateNodeState: updateNodeState,
79
+ labelClassName: labelClassName,
80
+ leafClassName: leafClassName,
81
+ branchClassName: branchClassName,
76
82
  otherProps: otherProps
77
83
  }
78
84
  }, /*#__PURE__*/_react.default.createElement(_Node.default, {
@@ -2,7 +2,6 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.branchLength = exports.branchIndent = exports.branchHeight = void 0;
5
- var _utils = require("../../utils");
6
5
  (function () {
7
6
  var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
8
7
  enterModule && enterModule(module);
@@ -17,10 +16,13 @@ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoader
17
16
  var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
18
17
  return a;
19
18
  };
20
- // Functions to easily get the tree settings from theme, or sensible defaults
21
- var branchIndent = exports.branchIndent = (0, _utils.getThemeProp)(["treeSettings", "branchIndent"], 14);
22
- var branchLength = exports.branchLength = (0, _utils.getThemeProp)(["treeSettings", "branchLength"], 15);
23
- var branchHeight = exports.branchHeight = (0, _utils.getThemeProp)(["treeSettings", "branchHeight"], 18);
19
+ // in px
20
+ // How far from parent left edge to vertical branch under it
21
+ var branchIndent = exports.branchIndent = 14;
22
+ // How far from vertical branch to children's left edge
23
+ var branchLength = exports.branchLength = 15;
24
+ // How far up from bottom edge of node should horizontal branch sit
25
+ var branchHeight = exports.branchHeight = 20;
24
26
  ;
25
27
  (function () {
26
28
  var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
@@ -3,10 +3,6 @@
3
3
  exports.__esModule = true;
4
4
  var _safeGet = _interopRequireDefault(require("./safeGet"));
5
5
  exports.safeGet = _safeGet.default;
6
- var _styledPropFuncs = require("./styledPropFuncs");
7
- exports.getThemeProp = _styledPropFuncs.getThemeProp;
8
- exports.ifFlag = _styledPropFuncs.ifFlag;
9
- exports.switchEnum = _styledPropFuncs.switchEnum;
10
6
  var _unwrapImmutable = _interopRequireDefault(require("./unwrapImmutable"));
11
7
  exports.unwrapImmutable = _unwrapImmutable.default;
12
8
  var _logPass = _interopRequireDefault(require("./logPass"));
@@ -3,9 +3,8 @@
3
3
  exports.__esModule = true;
4
4
  exports.createMuiTheme = exports.TestWrapper = exports.PropStruct = void 0;
5
5
  exports.extractMessages = extractMessages;
6
- exports.spyOnConsole = exports.ignoreConsoleError = exports.getStyledClassSelector = exports.getElmClasses = exports.getClassSelector = exports.getClassName = exports.generateClassName = exports.firstItemComparator = void 0;
6
+ exports.spyOnConsole = exports.ignoreConsoleError = exports.getElmClasses = exports.getClassSelector = exports.getClassName = exports.generateClassName = exports.firstItemComparator = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
- var _styledComponents = require("styled-components");
9
8
  var _unexpectedReaction = require("unexpected-reaction");
10
9
  var _muiThemes = _interopRequireDefault(require("./../components/MaterialUI/muiThemes"));
11
10
  var _reactRouterDom = require("react-router-dom");
@@ -85,14 +84,6 @@ var getClassSelector = exports.getClassSelector = function getClassSelector(elm,
85
84
  return className && "." + className;
86
85
  }
87
86
  };
88
- var getStyledClassSelector = exports.getStyledClassSelector = function getStyledClassSelector(elm) {
89
- var component = elm.type || elm;
90
- if (!(0, _styledComponents.isStyledComponent)(component)) {
91
- throw new Error("<" + (component.name || component) + " /> is not a styled component");
92
- }
93
- // Styled component toString() function returns a stable class name
94
- return component.toString();
95
- };
96
87
  var firstItemComparator = exports.firstItemComparator = function firstItemComparator(a, b) {
97
88
  return a[0] > b[0] ? 1 : a[0] < b[0] ? -1 : 0;
98
89
  };
@@ -231,7 +222,6 @@ var TestWrapper = exports.TestWrapper = function TestWrapper(_ref3) {
231
222
  reactHotLoader.register(getElmClasses, "getElmClasses", "/home/vsts/work/1/s/src/utils/testUtils.js");
232
223
  reactHotLoader.register(getClassName, "getClassName", "/home/vsts/work/1/s/src/utils/testUtils.js");
233
224
  reactHotLoader.register(getClassSelector, "getClassSelector", "/home/vsts/work/1/s/src/utils/testUtils.js");
234
- reactHotLoader.register(getStyledClassSelector, "getStyledClassSelector", "/home/vsts/work/1/s/src/utils/testUtils.js");
235
225
  reactHotLoader.register(firstItemComparator, "firstItemComparator", "/home/vsts/work/1/s/src/utils/testUtils.js");
236
226
  reactHotLoader.register(PropStruct, "PropStruct", "/home/vsts/work/1/s/src/utils/testUtils.js");
237
227
  reactHotLoader.register(ignoreConsoleError, "ignoreConsoleError", "/home/vsts/work/1/s/src/utils/testUtils.js");
@@ -256,7 +246,6 @@ var TestWrapper = exports.TestWrapper = function TestWrapper(_ref3) {
256
246
  reactHotLoader.register(getElmClasses, "getElmClasses", "/home/vsts/work/1/s/src/utils/testUtils.js");
257
247
  reactHotLoader.register(getClassName, "getClassName", "/home/vsts/work/1/s/src/utils/testUtils.js");
258
248
  reactHotLoader.register(getClassSelector, "getClassSelector", "/home/vsts/work/1/s/src/utils/testUtils.js");
259
- reactHotLoader.register(getStyledClassSelector, "getStyledClassSelector", "/home/vsts/work/1/s/src/utils/testUtils.js");
260
249
  reactHotLoader.register(firstItemComparator, "firstItemComparator", "/home/vsts/work/1/s/src/utils/testUtils.js");
261
250
  reactHotLoader.register(PropStruct, "PropStruct", "/home/vsts/work/1/s/src/utils/testUtils.js");
262
251
  reactHotLoader.register(ignoreConsoleError, "ignoreConsoleError", "/home/vsts/work/1/s/src/utils/testUtils.js");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orc-shared",
3
- "version": "5.10.1-dev.7",
3
+ "version": "5.10.1-dev.9",
4
4
  "description": "Shared code for Orckestra applications",
5
5
  "main": "./src/index.js",
6
6
  "exports": {
@@ -1,7 +1,6 @@
1
1
  import React from "react";
2
2
  import Immutable from "immutable";
3
3
  import { Provider } from "react-redux";
4
- import { ThemeProvider } from "styled-components";
5
4
  import { Loader } from "./Authenticate";
6
5
  import ApplicationModuleLoader from "./ApplicationModuleLoader";
7
6
  import { mount } from "enzyme";
@@ -66,17 +65,13 @@ describe("ApplicationModuleLoader", () => {
66
65
  state = state.setIn(["settings", "defaultScope"], null);
67
66
  return expect(
68
67
  <Provider store={store(state)}>
69
- <ThemeProvider theme={{}}>
70
- <ApplicationModuleLoader>
71
- <TestComp />
72
- </ApplicationModuleLoader>
73
- </ThemeProvider>
68
+ <ApplicationModuleLoader>
69
+ <TestComp />
70
+ </ApplicationModuleLoader>
74
71
  </Provider>,
75
72
  "when mounted",
76
73
  "to exhaustively satisfy",
77
- <ThemeProvider theme={{}}>
78
- <Loader />
79
- </ThemeProvider>,
74
+ <Loader />,
80
75
  );
81
76
  });
82
77
 
@@ -84,17 +79,13 @@ describe("ApplicationModuleLoader", () => {
84
79
  state = state.setIn(["settings", "loadedModulesScope"], Immutable.fromJS(["moduleA"]));
85
80
  return expect(
86
81
  <Provider store={store(state)}>
87
- <ThemeProvider theme={{}}>
88
- <ApplicationModuleLoader>
89
- <TestComp />
90
- </ApplicationModuleLoader>
91
- </ThemeProvider>
82
+ <ApplicationModuleLoader>
83
+ <TestComp />
84
+ </ApplicationModuleLoader>
92
85
  </Provider>,
93
86
  "when mounted",
94
87
  "to exhaustively satisfy",
95
- <ThemeProvider theme={{}}>
96
- <Loader />
97
- </ThemeProvider>,
88
+ <Loader />,
98
89
  );
99
90
  });
100
91
 
@@ -103,11 +94,9 @@ describe("ApplicationModuleLoader", () => {
103
94
 
104
95
  const component = (
105
96
  <Provider store={theStore}>
106
- <ThemeProvider theme={{}}>
107
- <ApplicationModuleLoader>
108
- <TestComp />
109
- </ApplicationModuleLoader>
110
- </ThemeProvider>
97
+ <ApplicationModuleLoader>
98
+ <TestComp />
99
+ </ApplicationModuleLoader>
111
100
  </Provider>
112
101
  );
113
102
 
@@ -128,11 +117,9 @@ describe("ApplicationModuleLoader", () => {
128
117
 
129
118
  const component = (
130
119
  <Provider store={theStore}>
131
- <ThemeProvider theme={{}}>
132
- <ApplicationModuleLoader>
133
- <TestComp />
134
- </ApplicationModuleLoader>
135
- </ThemeProvider>
120
+ <ApplicationModuleLoader>
121
+ <TestComp />
122
+ </ApplicationModuleLoader>
136
123
  </Provider>
137
124
  );
138
125
 
@@ -1,12 +1,23 @@
1
1
  import React from "react";
2
- import styled, { withTheme } from "styled-components";
3
- import { getThemeProp, safeGet } from "../utils";
4
- import Placeholder from "../components/Placeholder";
2
+ import { makeStyles } from "@material-ui/core/styles";
3
+ import { safeGet } from "../utils";
5
4
  import { useSelector } from "react-redux";
6
5
  import { unwrapImmutable } from "../utils";
7
6
  import { GET_AUTHENTICATION_PROFILE } from "../actions/authentication";
8
7
  import { ERROR, LOGOUT } from "../reducers/request";
9
8
  import ApplicationModuleLoader from "./ApplicationModuleLoader";
9
+ import Placeholder from "./MaterialUI/DataDisplay/PredefinedElements/Placeholder";
10
+
11
+ const useStyles = makeStyles({
12
+ wrapper: {
13
+ display: "flex",
14
+ width: "60%",
15
+ height: "100%",
16
+ padding: "0 20vw",
17
+ flexDirection: "column",
18
+ justifyContent: "center",
19
+ },
20
+ });
10
21
 
11
22
  export const useAuthenticationData = () => ({
12
23
  loading: useSelector(state => state.getIn(["requests", "actives", GET_AUTHENTICATION_PROFILE])),
@@ -15,34 +26,31 @@ export const useAuthenticationData = () => ({
15
26
  needLogin: useSelector(state => state.getIn(["requests", LOGOUT])),
16
27
  });
17
28
 
18
- export const Wrapper = styled.div`
19
- display: flex;
20
- width: 60%;
21
- height: 100%;
22
- padding: 0 20vw;
23
- flex-direction: column;
24
- justify-content: center;
25
- `;
26
-
27
- export const Loader = withTheme(props => (
28
- <Wrapper>
29
- <Placeholder icon={getThemeProp(["icons", "loading"], "loading")(props)} animate />
30
- </Wrapper>
31
- ));
29
+ export const Loader = () => {
30
+ const classes = useStyles();
31
+
32
+ return (
33
+ <div className={classes.wrapper}>
34
+ <Placeholder icon="orckestra-loader" animateIcon />
35
+ </div>
36
+ );
37
+ };
32
38
 
33
39
  export const Error = ({ requestError, needLogin }) => {
40
+ const classes = useStyles();
41
+
34
42
  if (needLogin) {
35
43
  return (
36
- <Wrapper>
44
+ <div className={classes.wrapper}>
37
45
  <h1>Not logged in</h1>
38
- </Wrapper>
46
+ </div>
39
47
  );
40
48
  }
41
49
  return (
42
- <Wrapper>
50
+ <div className={classes.wrapper}>
43
51
  <h1>{safeGet(requestError, "payload", "message") || "An error occurred"}</h1>
44
52
  Last failing action: <pre>{JSON.stringify(requestError, null, 2)}</pre>
45
- </Wrapper>
53
+ </div>
46
54
  );
47
55
  };
48
56
 
@@ -1,8 +1,7 @@
1
1
  import React from "react";
2
2
  import Immutable from "immutable";
3
3
  import { Provider } from "react-redux";
4
- import { ThemeProvider } from "styled-components";
5
- import Authenticate, { Loader, Wrapper } from "./Authenticate";
4
+ import Authenticate, { Loader } from "./Authenticate";
6
5
  import { ERROR, LOGOUT } from "../reducers/request";
7
6
  import { GET_AUTHENTICATION_PROFILE } from "../actions/authentication";
8
7
 
@@ -64,17 +63,13 @@ describe("Authenticate", () => {
64
63
  state = state.setIn(["requests", "actives", GET_AUTHENTICATION_PROFILE], true);
65
64
  return expect(
66
65
  <Provider store={store(state)}>
67
- <ThemeProvider theme={{}}>
68
- <Authenticate>
69
- <TestComp />
70
- </Authenticate>
71
- </ThemeProvider>
66
+ <Authenticate>
67
+ <TestComp />
68
+ </Authenticate>
72
69
  </Provider>,
73
70
  "when mounted",
74
71
  "to exhaustively satisfy",
75
- <ThemeProvider theme={{}}>
76
- <Loader />
77
- </ThemeProvider>,
72
+ <Loader />,
78
73
  );
79
74
  });
80
75
 
@@ -82,17 +77,13 @@ describe("Authenticate", () => {
82
77
  state = state.setIn(["settings", "defaultScope"], null);
83
78
  return expect(
84
79
  <Provider store={store(state)}>
85
- <ThemeProvider theme={{}}>
86
- <Authenticate applicationModuleReady={false}>
87
- <TestComp />
88
- </Authenticate>
89
- </ThemeProvider>
80
+ <Authenticate applicationModuleReady={false}>
81
+ <TestComp />
82
+ </Authenticate>
90
83
  </Provider>,
91
84
  "when mounted",
92
85
  "to exhaustively satisfy",
93
- <ThemeProvider theme={{}}>
94
- <Loader />
95
- </ThemeProvider>,
86
+ <Loader />,
96
87
  );
97
88
  });
98
89
 
@@ -105,10 +96,10 @@ describe("Authenticate", () => {
105
96
  </Authenticate>
106
97
  </Provider>,
107
98
  "when mounted",
108
- "to exhaustively satisfy",
109
- <Wrapper>
99
+ "to satisfy",
100
+ <div>
110
101
  <h1>Not logged in</h1>
111
- </Wrapper>,
102
+ </div>,
112
103
  );
113
104
  });
114
105
 
@@ -127,8 +118,8 @@ describe("Authenticate", () => {
127
118
  </Authenticate>
128
119
  </Provider>,
129
120
  "when mounted",
130
- "to exhaustively satisfy",
131
- <Wrapper>
121
+ "to satisfy",
122
+ <div>
132
123
  <h1>404 - NotFound</h1>
133
124
  {"Last failing action: "}
134
125
  <pre>
@@ -140,7 +131,7 @@ describe("Authenticate", () => {
140
131
  " }\n" +
141
132
  "}"}
142
133
  </pre>
143
- </Wrapper>,
134
+ </div>,
144
135
  );
145
136
  });
146
137
 
@@ -158,11 +149,11 @@ describe("Authenticate", () => {
158
149
  </Authenticate>
159
150
  </Provider>,
160
151
  "when mounted",
161
- "to exhaustively satisfy",
162
- <Wrapper>
152
+ "to satisfy",
153
+ <div>
163
154
  <h1>An error occurred</h1>
164
155
  Last failing action: <pre>{'{\n "type": "TEST_ACTION"\n}'}</pre>
165
- </Wrapper>,
156
+ </div>,
166
157
  );
167
158
  });
168
159
  });
@@ -1,25 +1,8 @@
1
1
  import React from "react";
2
- import styled, { withTheme } from "styled-components";
3
- import { getThemeProp } from "../utils";
4
- import Placeholder from "./Placeholder";
2
+ import Placeholder from "./MaterialUI/DataDisplay/PredefinedElements/Placeholder";
5
3
 
6
- export const Wrapper = styled.div`
7
- display: flex;
8
- width: 60%;
9
- height: 100%;
10
- padding: 0 20vw;
11
- flex-direction: column;
12
- justify-content: center;
13
- `;
14
-
15
- const ErrorPlaceholder = withTheme(({ message, description, onClick, ...props }) => (
16
- <Placeholder
17
- icon={getThemeProp(["icons", "reportProblem"], "error")(props)}
18
- warn
19
- title={message}
20
- subtitle={description}
21
- onClick={onClick}
22
- />
23
- ));
4
+ const ErrorPlaceholder = ({ message, description }) => (
5
+ <Placeholder icon="report-problem-triangle" error title={message} subtitle={description} />
6
+ );
24
7
 
25
8
  export default ErrorPlaceholder;
@@ -1,7 +1,6 @@
1
1
  import React from "react";
2
2
  import { Provider } from "react-redux";
3
- import { ThemeProvider } from "styled-components";
4
- import Placeholder from "./Placeholder";
3
+ import Placeholder from "./MaterialUI/DataDisplay/PredefinedElements/Placeholder";
5
4
  import ErrorPlaceholder from "./ErrorPlaceholder";
6
5
 
7
6
  describe("ErrorPlaceholder", () => {
@@ -14,9 +13,7 @@ describe("ErrorPlaceholder", () => {
14
13
  getState: () => ({}),
15
14
  }}
16
15
  >
17
- <ThemeProvider theme={{}}>
18
- <ErrorPlaceholder message="Error" />
19
- </ThemeProvider>
16
+ <ErrorPlaceholder message="Error" />
20
17
  </Provider>,
21
18
  "when mounted",
22
19
  "to satisfy",
@@ -27,7 +24,7 @@ describe("ErrorPlaceholder", () => {
27
24
  getState: () => ({}),
28
25
  }}
29
26
  >
30
- <Placeholder icon="error" warn title="Error" />
27
+ <Placeholder icon="report-problem-triangle" error title="Error" />
31
28
  </Provider>,
32
29
  ));
33
30
 
@@ -40,9 +37,7 @@ describe("ErrorPlaceholder", () => {
40
37
  getState: () => ({}),
41
38
  }}
42
39
  >
43
- <ThemeProvider theme={{ icons: { error: "error" } }}>
44
- <ErrorPlaceholder message="Error" description="This failed" />
45
- </ThemeProvider>
40
+ <ErrorPlaceholder message="Error" description="This failed" />
46
41
  </Provider>,
47
42
  "when mounted",
48
43
  "to satisfy",
@@ -53,7 +48,7 @@ describe("ErrorPlaceholder", () => {
53
48
  getState: () => ({}),
54
49
  }}
55
50
  >
56
- <Placeholder icon="error" warn title="Error" subtitle="This failed" />
51
+ <Placeholder icon="report-problem-triangle" error title="Error" subtitle="This failed" />
57
52
  </Provider>,
58
53
  ));
59
54
 
@@ -67,9 +62,7 @@ describe("ErrorPlaceholder", () => {
67
62
  getState: () => ({}),
68
63
  }}
69
64
  >
70
- <ThemeProvider theme={{}}>
71
- <ErrorPlaceholder message="Error" onClick={handler} />
72
- </ThemeProvider>
65
+ <ErrorPlaceholder message="Error" onClick={handler} />
73
66
  </Provider>,
74
67
  "when mounted",
75
68
  "to satisfy",
@@ -80,7 +73,7 @@ describe("ErrorPlaceholder", () => {
80
73
  getState: () => ({}),
81
74
  }}
82
75
  >
83
- <Placeholder icon="error" warn title="Error" onClick={handler} />
76
+ <Placeholder icon="report-problem-triangle" error title="Error" onClick={handler} />
84
77
  </Provider>,
85
78
  );
86
79
  });
@@ -114,10 +114,11 @@ describe("InputField", () => {
114
114
  if (type === "MultiSelector") {
115
115
  val = ["thing"];
116
116
  emptyVal = [];
117
+ target = "[role='button']";
117
118
  } else {
118
119
  val = "thing";
120
+ target = "select";
119
121
  }
120
- target = "select";
121
122
  } else if (type === "SwitchInput") {
122
123
  val = true;
123
124
  } else if (type === "DateInput") {
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import Select from "../../MaterialUI/Inputs/Select";
3
+ import { memoize } from "../../../utils";
4
+ import SelectProps from "../../MaterialUI/Inputs/SelectProps";
5
+
6
+ export const selectEventUpdater = memoize(update => value => update(value));
7
+
8
+ const MultiSelector = ({ value, options, update, ...props }) => {
9
+ const selectProps = new SelectProps();
10
+
11
+ selectProps.set(SelectProps.propNames.value, value);
12
+ selectProps.set(SelectProps.propNames.onClose, props.onBlur);
13
+ selectProps.set(SelectProps.propNames.disabled, props.disabled);
14
+ selectProps.set(SelectProps.propNames.multiple, true);
15
+ selectProps.set(SelectProps.propNames.update, selectEventUpdater(update));
16
+
17
+ const hasError = props.required && (!Array.isArray(value) || value.length === 0);
18
+ selectProps.set(SelectProps.propNames.error, hasError);
19
+
20
+ return <Select options={options} selectProps={selectProps} />;
21
+ };
22
+
23
+ export default MultiSelector;