versacall-core-library-react 2.0.70 → 2.0.71

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 (142) hide show
  1. package/dist/components/CoreAlert/CoreAlert.js +85 -0
  2. package/dist/components/CoreAlert/index.js +13 -0
  3. package/dist/components/CoreAlert/readme.md +21 -0
  4. package/dist/components/CoreAppBar/CoreAppBar.js +364 -0
  5. package/dist/components/CoreAppBar/CoreAppBarDrawer.js +134 -0
  6. package/dist/components/CoreAppBar/README.md +27 -0
  7. package/dist/components/CoreAppBar/index.js +13 -0
  8. package/dist/components/CoreAppBar/screenshot.png +0 -0
  9. package/dist/components/CoreAppSelector/AppLink.js +101 -0
  10. package/dist/components/CoreAppSelector/CoreAppSelector.js +155 -0
  11. package/dist/components/CoreAppSelector/index.js +13 -0
  12. package/dist/components/CoreDialogueToolBar/CoreDialogueToolBar.js +123 -0
  13. package/dist/components/CoreDialogueToolBar/index.js +13 -0
  14. package/dist/components/CoreDrawer/CoreDrawer.js +236 -0
  15. package/dist/components/CoreDrawer/README.md +36 -0
  16. package/dist/components/CoreDrawer/index.js +13 -0
  17. package/dist/components/CoreDrawer/screenshot_collapsed.png +0 -0
  18. package/dist/components/CoreDrawer/screenshot_expanded.png +0 -0
  19. package/dist/components/CoreDropDownTextfield/CoreDropDownTextfield.js +85 -0
  20. package/dist/components/CoreDropDownTextfield/index.js +13 -0
  21. package/dist/components/CoreElapsedTime/CoreElapsedTime.js +57 -0
  22. package/dist/components/CoreElapsedTime/index.js +13 -0
  23. package/dist/components/CoreFrame/CoreFrame.js +64 -0
  24. package/dist/components/CoreFrame/index.js +13 -0
  25. package/dist/components/CoreImportDialog/CoreImportDialog.js +350 -0
  26. package/dist/components/CoreImportDialog/index.js +13 -0
  27. package/dist/components/CoreImportResultsDialog/CoreImportResultsDialog.js +103 -0
  28. package/dist/components/CoreImportResultsDialog/index.js +13 -0
  29. package/dist/components/CoreImporting/CoreImporting.js +60 -0
  30. package/dist/components/CoreImporting/index.js +13 -0
  31. package/dist/components/CorePlugin/CorePlugin.js +134 -0
  32. package/dist/components/CorePlugin/OldCorePlugin.js +124 -0
  33. package/dist/components/CorePlugin/index.js +13 -0
  34. package/dist/components/CoreSaveChangesDialog/CoreSaveChangesDialog.js +62 -0
  35. package/dist/components/CoreSaveChangesDialog/index.js +13 -0
  36. package/dist/components/CoreShiftTagFilter/CoreShiftTagFilter.js +350 -0
  37. package/dist/components/CoreShiftTagFilter/OldCoreShiftTagFilter.js +208 -0
  38. package/dist/components/CoreShiftTagFilter/index.js +13 -0
  39. package/dist/components/CoreSideBar/CoreSideBar.js +737 -0
  40. package/dist/components/CoreSideBar/CoreSideBarDrawer.js +172 -0
  41. package/dist/components/CoreSideBar/index.js +13 -0
  42. package/dist/components/CoreSnackBar/CoreSnackBar.js +116 -0
  43. package/dist/components/CoreSnackBar/index.js +13 -0
  44. package/dist/components/CoreSnackBar/readme.md +23 -0
  45. package/dist/components/CoreTable/CoreTable.js +315 -0
  46. package/dist/components/CoreTable/CoreTableChips.js +50 -0
  47. package/dist/components/CoreTable/CoreTableHead.js +175 -0
  48. package/dist/components/CoreTable/CoreTableToolbar.js +108 -0
  49. package/dist/components/CoreTable/index.js +13 -0
  50. package/dist/components/CoreTable/readMe.md +79 -0
  51. package/dist/components/CoreTagFilter/CoreTagFilter.js +275 -0
  52. package/dist/components/CoreTagFilter/OldCoreTagFilter.js +341 -0
  53. package/dist/components/CoreTagFilter/OldTagChip.js +44 -0
  54. package/dist/components/CoreTagFilter/OldTagFilterSelector.js +105 -0
  55. package/dist/components/CoreTagFilter/OldTagOption.js +53 -0
  56. package/dist/components/CoreTagFilter/TagFilterBuilder.js +487 -0
  57. package/dist/components/CoreTagFilter/index.js +13 -0
  58. package/dist/components/CoreTextField/CoreTextField.js +109 -0
  59. package/dist/components/CoreTextField/index.js +13 -0
  60. package/dist/components/CoreTheme/CoreTheme.css +9 -0
  61. package/dist/components/CoreTheme/CoreTheme.js +51 -0
  62. package/dist/components/CoreTheme/README.md +3 -0
  63. package/dist/components/CoreTheme/index.js +13 -0
  64. package/dist/components/CoreTile/CoreTile.js +62 -0
  65. package/dist/components/CoreTile/CoreTileToolbar.js +62 -0
  66. package/dist/components/CoreTile/index.js +13 -0
  67. package/dist/components/CoreTimerInput/CoreTimerInput.js +203 -0
  68. package/dist/components/CoreTimerInput/CoreTimerInputOld.js +146 -0
  69. package/dist/components/CoreTimerInput/index.js +13 -0
  70. package/dist/components/CoreToolbar/CoreToolbar.js +205 -0
  71. package/dist/components/CoreToolbar/index.js +13 -0
  72. package/dist/components/CoreTracker/CoreTracker.js +52 -0
  73. package/dist/components/CoreTracker/index.js +13 -0
  74. package/dist/components/CoreTranslate/CoreTranslate.js +62 -0
  75. package/dist/components/CoreTranslate/README.md +5 -0
  76. package/dist/components/CoreTranslate/index.js +13 -0
  77. package/dist/components/CoreTranslate/translations/en.json +451 -0
  78. package/dist/components/CoreTranslate/translations/es.json +433 -0
  79. package/dist/components/CoreTranslateWrapper/CoreTranslateWrapper.js +36 -0
  80. package/dist/components/CoreTranslateWrapper/index.js +13 -0
  81. package/dist/components/CoreWidget/CoreWidget.js +120 -0
  82. package/dist/components/CoreWidget/index.js +13 -0
  83. package/dist/components/CoreWrapper/CoreWrapper.js +51 -0
  84. package/dist/components/CoreWrapper/README.md +41 -0
  85. package/dist/components/CoreWrapper/index.js +13 -0
  86. package/dist/components/index.js +202 -0
  87. package/dist/constants/index.js +20 -0
  88. package/dist/constants/testOrganization.js +31 -0
  89. package/dist/constants/testToken.js +33 -0
  90. package/dist/context/Authentication/AuthenticationContext.js +10 -0
  91. package/dist/context/Authentication/AuthenticationProvider.js +225 -0
  92. package/dist/context/Authentication/README.md +47 -0
  93. package/dist/context/Authentication/index.js +27 -0
  94. package/dist/context/Authentication/withAuthentication.js +15 -0
  95. package/dist/context/Channels/ChannelsConsumer.js +42 -0
  96. package/dist/context/Channels/ChannelsContext.js +10 -0
  97. package/dist/context/Channels/ChannelsProvider.js +258 -0
  98. package/dist/context/Channels/DataChannel.js +68 -0
  99. package/dist/context/Channels/EntityChannel.js +69 -0
  100. package/dist/context/Channels/EveryoneChannel.js +55 -0
  101. package/dist/context/Channels/OrganizationChannel.js +69 -0
  102. package/dist/context/Channels/README.md +52 -0
  103. package/dist/context/Channels/UserChannel.js +60 -0
  104. package/dist/context/Channels/index.js +69 -0
  105. package/dist/context/Channels/withChannels.js +15 -0
  106. package/dist/context/Core/CoreContext.js +10 -0
  107. package/dist/context/Core/CoreProvider.js +107 -0
  108. package/dist/context/Core/README.md +43 -0
  109. package/dist/context/Core/index.js +27 -0
  110. package/dist/context/Core/withCore.js +15 -0
  111. package/dist/context/Organization/OrganizationContext.js +10 -0
  112. package/dist/context/Organization/OrganizationProvider.js +108 -0
  113. package/dist/context/Organization/README.md +82 -0
  114. package/dist/context/Organization/index.js +27 -0
  115. package/dist/context/Organization/withOrganization.js +15 -0
  116. package/dist/context/Plugin/PluginContext.js +10 -0
  117. package/dist/context/Plugin/PluginProvider.js +78 -0
  118. package/dist/context/Plugin/index.js +27 -0
  119. package/dist/context/Plugin/withPlugin.js +15 -0
  120. package/dist/context/index.js +60 -0
  121. package/dist/css/index.js +20 -0
  122. package/dist/css/junk.module.css +3 -0
  123. package/dist/css/scrollbar.css +35 -0
  124. package/dist/css/scrollbar.module.css +37 -0
  125. package/dist/functions/TagEvaluator.js +165 -0
  126. package/dist/functions/compareObjects.js +27 -0
  127. package/dist/functions/formatElapsedTime.js +18 -0
  128. package/dist/functions/formatNameFileSafe.js +16 -0
  129. package/dist/functions/getIconUrl.js +15 -0
  130. package/dist/functions/getParameterByName.js +34 -0
  131. package/dist/functions/getProperty.js +17 -0
  132. package/dist/functions/getUrl.js +15 -0
  133. package/dist/functions/index.js +62 -0
  134. package/dist/icons/CopyIcon.js +42 -0
  135. package/dist/icons/DeleteIcon.js +42 -0
  136. package/dist/icons/DuplicateIcon.js +42 -0
  137. package/dist/icons/EditIcon.js +42 -0
  138. package/dist/icons/FabAddIcon.js +78 -0
  139. package/dist/icons/PasteIcon.js +42 -0
  140. package/dist/icons/index.js +48 -0
  141. package/dist/index.js +71 -0
  142. package/package.json +2 -2
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _DialogContentText = _interopRequireDefault(require("@material-ui/core/DialogContentText"));
9
+ var _DialogActions = _interopRequireDefault(require("@material-ui/core/DialogActions"));
10
+ var _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent"));
11
+ var _DialogTitle = _interopRequireDefault(require("@material-ui/core/DialogTitle"));
12
+ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
13
+ var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
14
+ var _reactIntl = require("react-intl");
15
+ var _Slide = _interopRequireDefault(require("@material-ui/core/Slide"));
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
19
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
20
+ function Transition(props) {
21
+ return /*#__PURE__*/_react.default.createElement(_Slide.default, _extends({
22
+ direction: "up"
23
+ }, props));
24
+ }
25
+ class CoreAlert extends _react.Component {
26
+ handleReject() {
27
+ if (this.props.onReject) {
28
+ this.props.onReject();
29
+ }
30
+ }
31
+ handleAccept() {
32
+ if (this.props.onAccept) {
33
+ this.props.onAccept();
34
+ }
35
+ }
36
+ render() {
37
+ const {
38
+ open,
39
+ title,
40
+ message,
41
+ acceptMessage,
42
+ rejectMessage,
43
+ alertType
44
+ } = this.props;
45
+ return /*#__PURE__*/_react.default.createElement(_Dialog.default, {
46
+ open: open,
47
+ TransitionComponent: Transition,
48
+ keepMounted: true
49
+ }, /*#__PURE__*/_react.default.createElement(_DialogTitle.default, null, title, /*#__PURE__*/_react.default.createElement("span", {
50
+ style: {
51
+ float: 'right'
52
+ }
53
+ }, this.props.icon)), /*#__PURE__*/_react.default.createElement(_DialogContent.default, null, /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_DialogContentText.default, null, message))), /*#__PURE__*/_react.default.createElement(_DialogActions.default, null, alertType === 'okcancel' && /*#__PURE__*/_react.default.createElement(_Button.default, {
54
+ onClick: () => this.handleReject(),
55
+ color: "primary"
56
+ }, rejectMessage || /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
57
+ id: "__cancel"
58
+ })), /*#__PURE__*/_react.default.createElement(_Button.default, {
59
+ onClick: () => this.handleAccept(),
60
+ color: "primary"
61
+ }, acceptMessage || /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
62
+ id: "__ok"
63
+ }))));
64
+ }
65
+ }
66
+ CoreAlert.propTypes = {
67
+ icon: _propTypes.default.node,
68
+ title: _propTypes.default.string,
69
+ onAccept: _propTypes.default.func,
70
+ onReject: _propTypes.default.func,
71
+ open: _propTypes.default.bool.isRequired,
72
+ acceptMessage: _propTypes.default.string,
73
+ rejectMessage: _propTypes.default.string,
74
+ message: _propTypes.default.string.isRequired,
75
+ alertType: _propTypes.default.oneOf(['ok', 'okcancel']).isRequired
76
+ };
77
+ CoreAlert.defaultProps = {
78
+ title: '',
79
+ icon: null,
80
+ onAccept: null,
81
+ onReject: null,
82
+ acceptMessage: null,
83
+ rejectMessage: null
84
+ };
85
+ var _default = exports.default = CoreAlert;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _CoreAlert.default;
10
+ }
11
+ });
12
+ var _CoreAlert = _interopRequireDefault(require("./CoreAlert"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,21 @@
1
+ #corealert
2
+ this component is used to display an alert to a user, the alert can have OK Cancel buttons or just Ok button.
3
+
4
+ Props:
5
+
6
+ message: PropTypes.string.isRequired, Message to be displayed
7
+ onAccept: PropTypes.func.isRequired, Function to be executed from the Accept button.
8
+ open: PropTypes.bool.isRequired, bool value that indicates the state of the alert.
9
+ onReject: PropTypes.func, Function to be executed after click on Reject button.
10
+ iconType: ['success', 'warning', 'error', 'info', 'none'] Type of Icon to show if needed, if 'none' no icon will be shown.
11
+ alertType: PropTypes.oneOf(['ok', 'okcancel']).isRequired, it allows to select a single button or two button dialog.
12
+ title: PropTypes.string, title of the alert
13
+ rejectMessage: PropTypes.string, Message to be displayed in the Reject button. (default value Cancel)
14
+ acceptMessage: PropTypes.string, Message to be displayed in the Accept button. (default value OK)
15
+
16
+
17
+ Example use:
18
+
19
+ ```
20
+
21
+ <CoreAlert open message="This is an alert" onAccept={() => {}} onReject={() => {}} iconType="info" alertType="okcancel" title="this is the title" />
@@ -0,0 +1,364 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _LocationCity = _interopRequireDefault(require("@material-ui/icons/LocationCity"));
9
+ var _AccountCircle = _interopRequireDefault(require("@material-ui/icons/AccountCircle"));
10
+ var _StarBorder = _interopRequireDefault(require("@material-ui/icons/StarBorder"));
11
+ var _ListItemIcon = _interopRequireDefault(require("@material-ui/core/ListItemIcon"));
12
+ var _ListItemText = _interopRequireDefault(require("@material-ui/core/ListItemText"));
13
+ var _Settings = _interopRequireDefault(require("@material-ui/icons/Settings"));
14
+ var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
15
+ var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
16
+ var _styles = require("@material-ui/core/styles");
17
+ var _ListItem = _interopRequireDefault(require("@material-ui/core/ListItem"));
18
+ var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
19
+ var _Toolbar = _interopRequireDefault(require("@material-ui/core/Toolbar"));
20
+ var _Divider = _interopRequireDefault(require("@material-ui/core/Divider"));
21
+ var _Menu = _interopRequireDefault(require("@material-ui/icons/Menu"));
22
+ var _Star = _interopRequireDefault(require("@material-ui/icons/Star"));
23
+ var _AppBar = _interopRequireDefault(require("@material-ui/core/AppBar"));
24
+ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
25
+ var _Avatar = _interopRequireDefault(require("@material-ui/core/Avatar"));
26
+ var _reactIntl = require("react-intl");
27
+ var _Menu2 = _interopRequireDefault(require("@material-ui/core/Menu"));
28
+ var _propTypes = _interopRequireDefault(require("prop-types"));
29
+ var _context = require("../../context");
30
+ var _CoreAppBarDrawer = _interopRequireDefault(require("./CoreAppBarDrawer"));
31
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
32
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
33
+ const namespace = 'CoreAppBar';
34
+ const styles = () => ({
35
+ topPadding: {
36
+ minHeight: 56,
37
+ '@media (min-width:600px)': {
38
+ minHeight: 64
39
+ }
40
+ }
41
+ });
42
+ const style = {
43
+ title: {
44
+ flexGrow: 1,
45
+ textAlign: 'left'
46
+ },
47
+ flex: {
48
+ flexGrow: 1,
49
+ textAlign: 'center'
50
+ },
51
+ titleButton: {
52
+ textTransform: 'none',
53
+ borderColor: 'white'
54
+ },
55
+ menuButton: {
56
+ marginLeft: -12,
57
+ marginRight: 20
58
+ }
59
+ };
60
+ class CoreAppBar extends _react.Component {
61
+ constructor() {
62
+ super();
63
+ this.state = {
64
+ drawer: false,
65
+ organizationAnchorEl: null,
66
+ entityAnchorEl: null,
67
+ authenticationAnchorEl: null,
68
+ apps: [],
69
+ organizations: [],
70
+ entities: [],
71
+ favorites: []
72
+ };
73
+ }
74
+ componentDidMount() {
75
+ this.getOrganizations();
76
+ }
77
+ componentDidUpdate(prevProps) {
78
+ if (this.props.authentication.didChange(prevProps.authentication)) {
79
+ this.getOrganizations();
80
+ }
81
+ if (this.props.organization.didOrganizationChange(prevProps.organization.organization)) {
82
+ this.getEntities();
83
+ }
84
+ if (this.props.authentication.didChange(prevProps.authentication) || this.props.organization.didChange(prevProps.organization)) {
85
+ this.getApps();
86
+ this.getFavorites();
87
+ }
88
+ }
89
+ getOrganizations() {
90
+ const methodName = 'getOrganizations()';
91
+ this.props.authentication.http({
92
+ method: 'get',
93
+ url: "".concat(this.props.core.baseUrl, "/api/administration/organizations")
94
+ }).then(res => {
95
+ if (res.data.length > 0 && typeof res.data[0] === 'object') {
96
+ this.setState({
97
+ organizations: res.data
98
+ });
99
+ if (this.props.organization.organization === null || res.data.find(x => x.id === this.props.organization.organization.id) === undefined) {
100
+ this.props.organization.setOrganization(res.data[0]);
101
+ }
102
+ }
103
+ }).catch(error => {
104
+ this.props.core.log('error', namespace, methodName, error);
105
+ });
106
+ }
107
+ getEntities() {
108
+ const methodName = 'getEntities()';
109
+ if (this.props.organization.organization !== null) {
110
+ this.props.authentication.http({
111
+ method: 'get',
112
+ url: "".concat(this.props.core.baseUrl, "/api/administration/entities/organization/").concat(this.props.organization.organization.key)
113
+ }).then(res => {
114
+ if (res.data.length > 0 && typeof res.data[0] === 'object') {
115
+ this.setState({
116
+ entities: res.data
117
+ });
118
+ if (this.props.organization.entity === null || res.data.find(x => x.id === this.props.organization.entity.id) === undefined) {
119
+ this.props.organization.setEntity(res.data[0]);
120
+ }
121
+ }
122
+ }).catch(error => {
123
+ this.props.core.log('error', namespace, methodName, error);
124
+ });
125
+ }
126
+ }
127
+ getApps() {
128
+ const methodName = 'getApps()';
129
+ if (this.props.organization.organization !== null && this.props.organization.entity !== null) {
130
+ this.props.authentication.http({
131
+ method: 'get',
132
+ url: "".concat(this.props.core.baseUrl, "/api/components/tiered"),
133
+ params: {
134
+ type: 'UI',
135
+ organizationId: this.props.organization.organization.id,
136
+ entityId: this.props.organization.entity.id
137
+ }
138
+ }).then(res => {
139
+ if (res.data.length > 0 && typeof res.data[0] === 'object') {
140
+ this.setState({
141
+ apps: res.data
142
+ });
143
+ }
144
+ }).catch(error => {
145
+ this.props.core.log('error', namespace, methodName, error);
146
+ });
147
+ }
148
+ }
149
+ getFavorites() {
150
+ const methodName = 'getFavorites()';
151
+ if (this.props.organization.organization !== null && this.props.organization.entity !== null) {
152
+ this.props.authentication.http({
153
+ method: 'get',
154
+ url: "".concat(this.props.core.baseUrl, "/api/user/activity/favorites"),
155
+ params: {
156
+ type: 'App'
157
+ }
158
+ }).then(res => {
159
+ this.setState({
160
+ favorites: res.data
161
+ });
162
+ }).catch(error => {
163
+ this.props.core.log('error', namespace, methodName, error);
164
+ });
165
+ }
166
+ }
167
+ favoriteApp() {
168
+ const methodName = 'favoriteApp()';
169
+ if (this.props.organization.organization !== null && this.props.organization.entity !== null) {
170
+ this.props.authentication.http({
171
+ method: 'post',
172
+ url: "".concat(this.props.core.baseUrl, "/api/user/activity/favorite"),
173
+ params: {
174
+ type: 'App',
175
+ itemId: this.props.componentID,
176
+ favorite: !this.state.favorites.includes(this.props.componentID)
177
+ }
178
+ }).then(() => {
179
+ this.getFavorites();
180
+ }).catch(error => {
181
+ this.props.core.log('error', namespace, methodName, error);
182
+ });
183
+ }
184
+ }
185
+ handleMessage(channel, obj) {
186
+ switch (obj.what) {
187
+ case 'package_enabled':
188
+ case 'package_disabled':
189
+ case 'package_added':
190
+ case 'package_updated':
191
+ case 'package_deleted':
192
+ this.getApps();
193
+ break;
194
+ case 'entities_added':
195
+ case 'entities_updated':
196
+ case 'entities_deleted':
197
+ this.getEntities();
198
+ break;
199
+ default:
200
+ break;
201
+ }
202
+ }
203
+ render() {
204
+ const {
205
+ title,
206
+ componentID,
207
+ authentication,
208
+ organization,
209
+ classes
210
+ } = this.props;
211
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_context.ChannelsConsumer, {
212
+ id: "coreappbar",
213
+ handler: (channel, obj) => this.handleMessage(channel, obj)
214
+ }), /*#__PURE__*/_react.default.createElement(_AppBar.default, null, /*#__PURE__*/_react.default.createElement(_Toolbar.default, null, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
215
+ style: style.menuButton,
216
+ color: "inherit",
217
+ onClick: () => this.setState({
218
+ drawer: true
219
+ })
220
+ }, /*#__PURE__*/_react.default.createElement(_Menu.default, null)), /*#__PURE__*/_react.default.createElement(_Typography.default, {
221
+ style: style.title,
222
+ variant: "h6",
223
+ color: "inherit"
224
+ }, title), /*#__PURE__*/_react.default.createElement("div", {
225
+ style: style.flex
226
+ }, /*#__PURE__*/_react.default.createElement(_Button.default, {
227
+ color: "inherit",
228
+ style: style.titleButton,
229
+ variant: this.state.organizations.length > 1 ? 'outlined' : 'text',
230
+ onClick: e => this.setState({
231
+ organizationAnchorEl: e.currentTarget
232
+ })
233
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
234
+ variant: "h6",
235
+ color: "inherit"
236
+ }, organization.organization ? organization.organization.name : ''))), /*#__PURE__*/_react.default.createElement("div", {
237
+ style: style.flex
238
+ }, this.props.showEntity && /*#__PURE__*/_react.default.createElement(_Button.default, {
239
+ color: "inherit",
240
+ style: style.titleButton,
241
+ variant: this.state.entities.length > 1 ? 'outlined' : 'text',
242
+ onClick: e => this.setState({
243
+ entityAnchorEl: e.currentTarget
244
+ })
245
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
246
+ variant: "h6",
247
+ color: "inherit"
248
+ }, organization.entity ? organization.entity.name : ''))), componentID.length > 0 && /*#__PURE__*/_react.default.createElement(_IconButton.default, {
249
+ color: "inherit",
250
+ onClick: () => this.favoriteApp()
251
+ }, this.state.favorites.includes(componentID) ? /*#__PURE__*/_react.default.createElement(_Star.default, null) : /*#__PURE__*/_react.default.createElement(_StarBorder.default, null)), /*#__PURE__*/_react.default.createElement(_IconButton.default, {
252
+ color: "inherit",
253
+ onClick: e => this.setState({
254
+ authenticationAnchorEl: e.currentTarget
255
+ })
256
+ }, /*#__PURE__*/_react.default.createElement(_AccountCircle.default, null)))), /*#__PURE__*/_react.default.createElement("div", {
257
+ className: classes.topPadding
258
+ }), /*#__PURE__*/_react.default.createElement(_CoreAppBarDrawer.default, {
259
+ open: this.state.drawer,
260
+ onClose: () => this.setState({
261
+ drawer: false
262
+ }),
263
+ apps: this.state.apps
264
+ }), /*#__PURE__*/_react.default.createElement(_Menu2.default, {
265
+ open: !!this.state.organizationAnchorEl,
266
+ anchorEl: this.state.organizationAnchorEl,
267
+ anchorOrigin: {
268
+ vertical: 'top',
269
+ horizontal: 'center'
270
+ },
271
+ transformOrigin: {
272
+ vertical: 'top',
273
+ horizontal: 'center'
274
+ },
275
+ onClose: () => this.setState({
276
+ organizationAnchorEl: null
277
+ })
278
+ }, this.state.organizations.map(org => /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
279
+ key: org.id,
280
+ onClick: () => {
281
+ organization.setOrganization(org);
282
+ this.setState({
283
+ organizationAnchorEl: null
284
+ });
285
+ }
286
+ }, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, /*#__PURE__*/_react.default.createElement(_LocationCity.default, null)), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
287
+ primary: org.name,
288
+ inset: true
289
+ })))), /*#__PURE__*/_react.default.createElement(_Menu2.default, {
290
+ anchorEl: this.state.entityAnchorEl,
291
+ anchorOrigin: {
292
+ vertical: 'top',
293
+ horizontal: 'center'
294
+ },
295
+ transformOrigin: {
296
+ vertical: 'top',
297
+ horizontal: 'center'
298
+ },
299
+ open: !!this.state.entityAnchorEl,
300
+ onClose: () => this.setState({
301
+ entityAnchorEl: null
302
+ })
303
+ }, this.state.entities.map(entity => /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
304
+ key: entity.key,
305
+ onClick: () => {
306
+ organization.setEntity(entity);
307
+ this.setState({
308
+ entityAnchorEl: null
309
+ });
310
+ }
311
+ }, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, /*#__PURE__*/_react.default.createElement(_LocationCity.default, null)), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
312
+ primary: entity.name,
313
+ inset: true
314
+ }))), /*#__PURE__*/_react.default.createElement(_Divider.default, null), /*#__PURE__*/_react.default.createElement("a", {
315
+ href: this.props.core.formatUrl('/administration#/entities'),
316
+ style: {
317
+ all: 'unset'
318
+ }
319
+ }, /*#__PURE__*/_react.default.createElement(_MenuItem.default, null, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, /*#__PURE__*/_react.default.createElement(_Settings.default, null)), /*#__PURE__*/_react.default.createElement(_ListItemText.default, null, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
320
+ id: "__manage"
321
+ }), ' ', /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
322
+ id: "__entities"
323
+ }))))), /*#__PURE__*/_react.default.createElement(_Menu2.default, {
324
+ open: !!this.state.authenticationAnchorEl,
325
+ anchorEl: this.state.authenticationAnchorEl,
326
+ onClose: () => this.setState({
327
+ authenticationAnchorEl: null
328
+ })
329
+ }, /*#__PURE__*/_react.default.createElement(_ListItem.default, {
330
+ style: {
331
+ outline: 0
332
+ }
333
+ }, /*#__PURE__*/_react.default.createElement(_Avatar.default, null, "".concat(this.props.authentication.token.userInfo.firstName[0].toUpperCase()).concat(this.props.authentication.token.userInfo.lastName[0].toUpperCase())), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
334
+ primary: "".concat(this.props.authentication.token.userInfo.firstName, " ").concat(this.props.authentication.token.userInfo.lastName),
335
+ secondary: this.props.authentication.token.userInfo.emailAddress
336
+ })), /*#__PURE__*/_react.default.createElement(_Divider.default, null), /*#__PURE__*/_react.default.createElement("a", {
337
+ href: this.props.core.formatUrl('/profile'),
338
+ style: {
339
+ all: 'unset'
340
+ }
341
+ }, /*#__PURE__*/_react.default.createElement(_MenuItem.default, null, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
342
+ id: "__myProfile"
343
+ }))), /*#__PURE__*/_react.default.createElement(_Divider.default, null), /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
344
+ onClick: () => authentication.logout()
345
+ }, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
346
+ id: "__log_out"
347
+ }))));
348
+ }
349
+ }
350
+ CoreAppBar.propTypes = {
351
+ title: _propTypes.default.string,
352
+ showEntity: _propTypes.default.bool,
353
+ componentID: _propTypes.default.string,
354
+ core: _propTypes.default.shape().isRequired,
355
+ authentication: _propTypes.default.shape().isRequired,
356
+ organization: _propTypes.default.shape().isRequired,
357
+ classes: _propTypes.default.shape().isRequired
358
+ };
359
+ CoreAppBar.defaultProps = {
360
+ showEntity: false,
361
+ title: '',
362
+ componentID: ''
363
+ };
364
+ var _default = exports.default = (0, _context.withCore)((0, _context.withAuthentication)((0, _context.withOrganization)((0, _styles.withStyles)(styles)(CoreAppBar))));
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _ListItemIcon = _interopRequireDefault(require("@material-ui/core/ListItemIcon"));
9
+ var _ListItemText = _interopRequireDefault(require("@material-ui/core/ListItemText"));
10
+ var _reactIntl = require("react-intl");
11
+ var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore"));
12
+ var _ExpandLess = _interopRequireDefault(require("@material-ui/icons/ExpandLess"));
13
+ var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
14
+ var _ListItem = _interopRequireDefault(require("@material-ui/core/ListItem"));
15
+ var _Collapse = _interopRequireDefault(require("@material-ui/core/Collapse"));
16
+ var _Drawer = _interopRequireDefault(require("@material-ui/core/Drawer"));
17
+ var _List = _interopRequireDefault(require("@material-ui/core/List"));
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+ var _jsCookie = _interopRequireDefault(require("js-cookie"));
20
+ var _functions = require("../../functions");
21
+ var _context = require("../../context");
22
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
23
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
24
+ const collapseCookie = 'vt4000_collapse';
25
+ const style = {
26
+ icon: {
27
+ margin: 5,
28
+ height: 32,
29
+ width: 32,
30
+ verticalAlign: 'middle'
31
+ },
32
+ a: {
33
+ textDecoration: 'none'
34
+ },
35
+ nested: {
36
+ paddingLeft: 42
37
+ }
38
+ };
39
+ class CoreAppBarDrawer extends _react.Component {
40
+ constructor() {
41
+ super();
42
+ const cookie = _jsCookie.default.getJSON(collapseCookie);
43
+ this.state = {
44
+ expanded: cookie !== undefined ? cookie : []
45
+ };
46
+ }
47
+ getTranslatedName(app) {
48
+ const translation = app.translations.find(x => x.languageCode === this.props.intl.locale);
49
+ return translation !== undefined ? translation.name : app.name;
50
+ }
51
+ handleClick(componentID) {
52
+ this.setState(prevState => {
53
+ let expanded = prevState.expanded;
54
+ if (expanded.includes(componentID)) {
55
+ expanded = expanded.filter(psExpanded => psExpanded !== componentID);
56
+ } else {
57
+ expanded.push(componentID);
58
+ }
59
+ _jsCookie.default.set(collapseCookie, expanded);
60
+ return {
61
+ expanded: expanded
62
+ };
63
+ });
64
+ }
65
+ render() {
66
+ const {
67
+ open,
68
+ apps,
69
+ core
70
+ } = this.props;
71
+ const {
72
+ expanded
73
+ } = this.state;
74
+ return /*#__PURE__*/_react.default.createElement(_Drawer.default, {
75
+ open: open,
76
+ onClose: () => this.props.onClose()
77
+ }, /*#__PURE__*/_react.default.createElement(_List.default, null, /*#__PURE__*/_react.default.createElement(_ListItem.default, null, /*#__PURE__*/_react.default.createElement(_Typography.default, {
78
+ variant: "h5"
79
+ }, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, {
80
+ id: "__applications"
81
+ }))), apps.map(app => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
82
+ key: app.definition.componentID
83
+ }, app.children.length > 0 ? /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_ListItem.default, {
84
+ onClick: () => this.handleClick(app.definition.componentID),
85
+ button: true
86
+ }, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, /*#__PURE__*/_react.default.createElement("img", {
87
+ src: this.props.core.formatUrl((0, _functions.getIconUrl)(app.definition.metadata)),
88
+ style: style.icon,
89
+ alt: "algImg"
90
+ })), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
91
+ primary: this.getTranslatedName(app.definition)
92
+ }), expanded.includes(app.definition.componentID) ? /*#__PURE__*/_react.default.createElement(_ExpandLess.default, null) : /*#__PURE__*/_react.default.createElement(_ExpandMore.default, null)), app.children.map(subApp => /*#__PURE__*/_react.default.createElement(_Collapse.default, {
93
+ timeout: "auto",
94
+ key: subApp.definition.componentID,
95
+ in: expanded.includes(app.definition.componentID),
96
+ unmountOnExit: true
97
+ }, /*#__PURE__*/_react.default.createElement("a", {
98
+ style: style.a,
99
+ href: core.formatUrl("".concat((0, _functions.getUrl)(app.definition.metadata), "#").concat((0, _functions.getUrl)(subApp.definition.metadata)))
100
+ }, /*#__PURE__*/_react.default.createElement(_ListItem.default, {
101
+ style: style.nested,
102
+ button: true
103
+ }, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, /*#__PURE__*/_react.default.createElement("img", {
104
+ src: this.props.core.formatUrl((0, _functions.getIconUrl)(subApp.definition.metadata)),
105
+ style: style.icon,
106
+ alt: "algImg"
107
+ })), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
108
+ inset: true,
109
+ primary: this.getTranslatedName(subApp.definition)
110
+ })))))) : /*#__PURE__*/_react.default.createElement("a", {
111
+ style: style.a,
112
+ href: core.formatUrl((0, _functions.getUrl)(app.definition.metadata))
113
+ }, /*#__PURE__*/_react.default.createElement(_ListItem.default, {
114
+ button: true
115
+ }, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, /*#__PURE__*/_react.default.createElement("img", {
116
+ src: this.props.core.formatUrl((0, _functions.getIconUrl)(app.definition.metadata)),
117
+ style: style.icon,
118
+ alt: "algImg"
119
+ })), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
120
+ primary: this.getTranslatedName(app.definition)
121
+ })))))));
122
+ }
123
+ }
124
+ CoreAppBarDrawer.propTypes = {
125
+ open: _propTypes.default.bool.isRequired,
126
+ onClose: _propTypes.default.func.isRequired,
127
+ apps: _propTypes.default.arrayOf(_propTypes.default.shape()),
128
+ intl: _propTypes.default.shape().isRequired,
129
+ core: _propTypes.default.shape().isRequired
130
+ };
131
+ CoreAppBarDrawer.defaultProps = {
132
+ apps: []
133
+ };
134
+ var _default = exports.default = (0, _context.withCore)((0, _reactIntl.injectIntl)(CoreAppBarDrawer));
@@ -0,0 +1,27 @@
1
+ # CoreAppBar
2
+
3
+ This is the app bar that should be part of any main application that isn't a child application to something else using [CoreDrawer](../CoreDrawer).
4
+
5
+ ![Screenshot](screenshot.png)
6
+
7
+ This controls and feeds [Organization Context](../../context/Organization) with the current organization and entity.
8
+
9
+ ## Adding to your application
10
+
11
+ To add to your application, just do the following:
12
+ ```
13
+ import CoreAppBar from 'core-library-react';
14
+
15
+ ...
16
+
17
+ render() {
18
+ return(
19
+ <div>
20
+ <CoreAppBar title="My Title" />
21
+ </div>
22
+ );
23
+ }
24
+ ```
25
+
26
+ ## Props
27
+ - title : The title of the application. NOTE: Should not use fixed strings and instead use translations string file
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _CoreAppBar.default;
10
+ }
11
+ });
12
+ var _CoreAppBar = _interopRequireDefault(require("./CoreAppBar"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }