@agilemotion/oui-react-js 1.8.17 → 1.8.19

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.
@@ -202,8 +202,8 @@ const DataGrid = exports.DataGrid = /*#__PURE__*/_react.default.memo(/*#__PURE__
202
202
  }
203
203
  return children;
204
204
  },
205
- loadData: actionConfig => {
206
- search(actionConfig);
205
+ loadData: (actionConfig, event) => {
206
+ search(actionConfig, event);
207
207
  },
208
208
  deleteSelectedRows: () => {
209
209
  // TODO : dispose from observer
@@ -398,6 +398,7 @@ const DataGrid = exports.DataGrid = /*#__PURE__*/_react.default.memo(/*#__PURE__
398
398
  }
399
399
  const search = function () {
400
400
  let actionConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
401
+ let event = arguments.length > 1 ? arguments[1] : undefined;
401
402
  let conf = config;
402
403
  if (_Utils.default.isNull(conf)) {
403
404
  conf = _Utils.default.parseConfig(props.config, props.viewId);
@@ -413,11 +414,13 @@ const DataGrid = exports.DataGrid = /*#__PURE__*/_react.default.memo(/*#__PURE__
413
414
  method({
414
415
  service: service,
415
416
  component: props.handle,
416
- viewId: props.viewId
417
+ viewId: props.viewId,
418
+ event
417
419
  }).then(result => {
418
420
  processData(result, conf);
419
421
  }).catch(e => {
420
422
  console.error(e);
423
+ _Utils.default.publishErrorMessage(e, props.viewId);
421
424
  });
422
425
  } else {
423
426
  throw new Error('Unknown service type : ' + serviceType);
@@ -3,13 +3,27 @@
3
3
  .stepVisited {
4
4
  }
5
5
 
6
- .box, .dot {
6
+ .box, .box-pending, .dot {
7
7
  border-radius: 100px;
8
- display: inline-block;
9
8
  text-align: center;
10
- font-size: 18px;
9
+ font-size: 14px;
11
10
  color: #888888;
12
11
  border: 1px solid #888888;
12
+ display: flex;
13
+ justify-content: center;
14
+ }
15
+
16
+ .box-pending {
17
+ border: unset;
18
+ border-right: 1px solid #888888;
19
+ border-top: 1px solid #888888;
20
+ border-bottom: 1px solid #888888;
21
+ }
22
+
23
+ .line {
24
+ border-top: 1px solid #888888;
25
+ width: 100%;
26
+ height: 1px;
13
27
  }
14
28
 
15
29
  .step .box,
@@ -32,15 +46,15 @@
32
46
  .dot {
33
47
  width: 30px;
34
48
  height: 30px;
49
+ font-size: 18px;
35
50
  }
36
51
 
37
52
  .stepActive .dot {
38
- color: #ffffff;
53
+ color: #000000;
39
54
  border-color: #ffffff;
40
55
  }
41
56
 
42
57
  .stepVisited .dot {
43
- color: #ffffff;
44
58
  }
45
59
 
46
60
  .leftLine,
@@ -14,8 +14,13 @@ require("./StepperTitleBar.css");
14
14
  var _jquery = _interopRequireDefault(require("jquery"));
15
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
16
  const useStyles = (0, _styles.makeStyles)(theme => ({
17
- theme: {
18
- backgroundColor: theme.palette.secondary.main
17
+ primary: {
18
+ backgroundColor: theme.palette.primary.main,
19
+ border: '1px solid ' + theme.palette.primary.main
20
+ },
21
+ secondary: {
22
+ backgroundColor: theme.palette.secondary.main,
23
+ border: '1px solid ' + theme.palette.secondary.main
19
24
  },
20
25
  themeBorder: {
21
26
  borderColor: theme.palette.secondary.main
@@ -31,7 +36,11 @@ const StepperTitleBar = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.def
31
36
  const classes = useStyles();
32
37
  _react.default.useEffect(() => {
33
38
  props.handle.api = api();
39
+ recalcLinePosition();
34
40
  });
41
+ _react.default.useLayoutEffect(() => {
42
+ recalcLinePosition();
43
+ }, []);
35
44
  _react.default.useEffect(() => {
36
45
  let parsedConfig = _Utils.default.parseConfig(props.config, props.viewId);
37
46
  let eventHandlingConfig = _Utils.default.isNull(parsedConfig.eventHandlingConfig) ? {} : parsedConfig.eventHandlingConfig;
@@ -90,46 +99,73 @@ const StepperTitleBar = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.def
90
99
  return /*#__PURE__*/_react.default.createElement("div", {
91
100
  className: graphicsCounter === currentIndex.current ? `stepActive` : graphicsCounter < currentIndex.current ? 'stepVisited' : 'step'
92
101
  }, graphicsCounter > 0 ? /*#__PURE__*/_react.default.createElement("div", {
93
- className: (graphicsCounter <= currentIndex.current ? `${classes.themeBorder} ` : '') + 'leftLine' + (graphicsCounter === steps.length - 1 ? ' lastLine' : '')
102
+ className: (graphicsCounter <= currentIndex.current ? `${classes.themeBorder} ` : '') + '' + (graphicsCounter === steps.length - 1 ? ' lastLine' : '')
94
103
  }) : null, /*#__PURE__*/_react.default.createElement("div", {
95
- className: (graphicsCounter <= currentIndex.current ? `${classes.theme} box row` : 'box') + (graphicsCounter === 0 ? ' firstBox' : ''),
104
+ className: 'row flex' + (graphicsCounter === 0 ? ' firstBox' : ''),
96
105
  style: {
97
106
  marginLeft: 'unset',
98
- marginRight: 'unset'
107
+ marginRight: 'unset',
108
+ width: '100%'
99
109
  },
100
110
  id: 'step-' + graphicsCounter
101
111
  }, /*#__PURE__*/_react.default.createElement("div", {
102
- className: 'dot col-*-*'
103
- }, step.index + 1), graphicsCounter === currentIndex.current ? /*#__PURE__*/_react.default.createElement("div", {
104
- className: `title col-*-*`,
105
- id: "titleDiv"
106
- }, step.title) : null), graphicsCounter < steps.length - 1 ? /*#__PURE__*/_react.default.createElement("div", {
107
- className: (graphicsCounter < currentIndex.current ? `${classes.themeBorder} ` : '') + 'rightLine' + (graphicsCounter === 0 ? ' firstLine' : '')
112
+ style: {
113
+ whiteSpace: "nowrap"
114
+ },
115
+ className: (graphicsCounter < currentIndex.current ? `${classes.secondary} box` : graphicsCounter === currentIndex.current ? `${classes.primary} box` : 'box-pending') + ' row no-margin no-padding'
116
+ }, /*#__PURE__*/_react.default.createElement("div", {
117
+ className: 'dot col-*-*',
118
+ style: {
119
+ color: graphicsCounter < currentIndex.current ? '#ffffff' : null
120
+ }
121
+ }, step.index + 1), graphicsCounter <= currentIndex.current ? /*#__PURE__*/_react.default.createElement("div", {
122
+ className: `col-*-*`,
123
+ id: "titleDiv",
124
+ style: {
125
+ alignContent: 'center',
126
+ color: graphicsCounter === currentIndex.current ? '#000000' : '#ffffff',
127
+ margin: '0 4px'
128
+ }
129
+ }, step.title) : /*#__PURE__*/_react.default.createElement("div", {
130
+ className: `col-*-*`,
131
+ id: "titleDiv",
132
+ style: {
133
+ alignContent: 'center',
134
+ color: '#888888',
135
+ margin: '0 4px'
136
+ }
137
+ }, step.title)), graphicsCounter < steps.length - 1 && /*#__PURE__*/_react.default.createElement("div", {
138
+ style: {
139
+ flex: 1,
140
+ overflow: "hidden",
141
+ alignContent: 'center'
142
+ },
143
+ className: 'col-*-*'
144
+ }, /*#__PURE__*/_react.default.createElement("div", {
145
+ className: 'line'
146
+ }, "\xA0"))), graphicsCounter < steps.length - 1 ? /*#__PURE__*/_react.default.createElement("div", {
147
+ className: (graphicsCounter < currentIndex.current ? `${classes.themeBorder} ` : '') + '' + (graphicsCounter === 0 ? ' firstLine' : '')
108
148
  }) : null, graphicsCounter++ ? null : null);
109
149
  }
110
150
  function render() {
111
151
  return /*#__PURE__*/_react.default.createElement("div", {
112
152
  className: "w-100",
113
153
  style: {
114
- width: "100%"
115
- }
116
- }, /*#__PURE__*/_react.default.createElement("table", {
117
- cellPadding: "0",
118
- style: {
119
- borderCollapse: "collapse",
120
- width: "100%"
154
+ display: "flex",
155
+ width: "100%",
156
+ margin: "0 0 16px 0"
121
157
  }
122
- }, /*#__PURE__*/_react.default.createElement("tbody", null, /*#__PURE__*/_react.default.createElement("tr", null, steps.map(step => /*#__PURE__*/_react.default.createElement("td", {
123
- align: graphicsCounter === 0 ? 'left' : graphicsCounter === steps.length - 1 ? 'right' : 'center',
158
+ }, steps.map(step => /*#__PURE__*/_react.default.createElement("div", {
159
+ align: graphicsCounter === 0 ? "left" : graphicsCounter === steps.length - 1 ? "right" : "center",
124
160
  key: keyCounter++,
125
161
  style: {
126
162
  whiteSpace: "nowrap",
127
- paddingTop: '8px',
128
- maxHeight: '8px',
129
- width: (graphicsCounter === currentIndex.current ? activeSegmentPercentage : 10) + '%'
163
+ paddingTop: "8px",
164
+ maxHeight: "8px",
165
+ width: 100 / steps.length + "%"
130
166
  },
131
- id: 'step-container-' + counter++
132
- }, renderStep(step)))))));
167
+ id: "step-container-" + counter++
168
+ }, renderStep(step))));
133
169
  }
134
170
  return /*#__PURE__*/_react.default.createElement("div", null, !_Utils.default.isNull(props.config) ? /*#__PURE__*/_react.default.createElement("div", {
135
171
  style: _Utils.default.mergeStyles({
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _Observable = _interopRequireDefault(require("../event/Observable"));
9
9
  var _styles = require("@mui/styles");
10
- var _ToggleButtonGroup = _interopRequireDefault(require("@mui/lab/ToggleButtonGroup"));
10
+ var _ToggleButtonGroup = _interopRequireDefault(require("@mui/material/ToggleButtonGroup"));
11
11
  var _MenuButton = _interopRequireDefault(require("./menu/MenuButton"));
12
12
  var _Button = _interopRequireDefault(require("./Button"));
13
13
  var _Utils = _interopRequireDefault(require("../Utils"));
@@ -33,18 +33,18 @@ const BaseField = props => {
33
33
  const ref = _react.default.useRef(null);
34
34
  const valid = _react.default.useRef(false);
35
35
  _react.default.useEffect(() => {
36
- let value = valueObject[valueProperty];
36
+ let boundValue = valueObject[valueProperty];
37
37
  if (props.config.fieldType === 'SELECT' || props.config.fieldType === 'LOOKUP') {
38
- if (!value || _Utils.default.isNull(value.id)) {
38
+ if (!boundValue || _Utils.default.isNull(boundValue.id)) {
39
39
  setValue(null);
40
40
  valueRef.current = null;
41
41
  } else {
42
- setValue(value);
43
- valueRef.current = value;
42
+ setValue(boundValue);
43
+ valueRef.current = boundValue;
44
44
  }
45
45
  } else {
46
- setValue(value);
47
- valueRef.current = value;
46
+ setValue(boundValue);
47
+ valueRef.current = boundValue;
48
48
  }
49
49
  }, [valueObject[valueProperty]]);
50
50
 
@@ -52,7 +52,6 @@ const CurrencyFieldWrapper = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_reac
52
52
  } else {
53
53
  base.handleValueChange(0);
54
54
  }
55
- console.log("TARGET VAL : " + event.target.value);
56
55
  setDisplayValue(event.target.value);
57
56
  }
58
57
  };
@@ -27,12 +27,19 @@ const LookupFieldComponent = exports.LookupFieldComponent = /*#__PURE__*/_react.
27
27
  const height = !_Utils.default.isNull(props.config.attributes?.style?.height) ? props.config.attributes.style.height : '41px';
28
28
  const margin = !_Utils.default.isNull(props.config.attributes?.style?.margin) ? props.config.attributes.style.margin : '4px 0';
29
29
  const defaultValue = _Utils.default.isNull(props.value) ? '' : props.value;
30
+ const [value, setValue] = _react.default.useState(_Utils.default.isNull(props.value) ? null : props.value.id);
30
31
  const base = props.base;
31
32
  const handleClose = () => {
32
33
  setOpen(false);
33
34
  setCurrentSelection(null);
34
35
  _Observable.default.clearComponentEventListeners(props.gridHandle.api.id);
35
36
  };
37
+ _react.default.useEffect(() => {
38
+ // Initial binding
39
+ if (_Utils.default.isNull(value)) {
40
+ setValue(base.value);
41
+ }
42
+ }, [base.value]);
36
43
  _react.default.useEffect(() => {
37
44
  if (props.config && props.config.grid) {
38
45
  if (!props.config.grid.attributes) {
@@ -62,6 +69,7 @@ const LookupFieldComponent = exports.LookupFieldComponent = /*#__PURE__*/_react.
62
69
  const setSelectionAsValue = () => {
63
70
  if (currentSelection.length > 0) {
64
71
  let val = setupVal();
72
+ setValue(val);
65
73
  base.handleValueChange(val);
66
74
  handleClose();
67
75
  }
@@ -100,7 +108,7 @@ const LookupFieldComponent = exports.LookupFieldComponent = /*#__PURE__*/_react.
100
108
  className: 'col-*-* no-margin no-padding',
101
109
  style: {
102
110
  width: 'calc(100% - 72px)',
103
- marginBottom: base.value ? '0' : '8px',
111
+ marginBottom: value ? '0' : '8px',
104
112
  position: 'relative'
105
113
  }
106
114
  }, !base.required && /*#__PURE__*/_react.default.createElement("div", {
@@ -124,10 +132,10 @@ const LookupFieldComponent = exports.LookupFieldComponent = /*#__PURE__*/_react.
124
132
  },
125
133
  id: props.id,
126
134
  required: base.required,
127
- readonly: true,
135
+ readOnly: true,
128
136
  disabled: base.disabled,
129
137
  label: !_Utils.default.isNull(props.config.attributes) && !_Utils.default.isNull(props.config.attributes['label']) ? props.config.attributes['label'] : null,
130
- value: base.value?.__oui_label || base.value?.dataRecordDescription || defaultValue,
138
+ value: value?.__oui_label || value?.dataRecordDescription || defaultValue,
131
139
  className: props.className || 'lookup-field-input',
132
140
  error: base.hasError,
133
141
  helperText: base.errorMessage,
@@ -5,24 +5,21 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
- var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
9
- var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
10
8
  var _Utils = _interopRequireDefault(require("../../Utils"));
11
9
  var _BaseField = require("./BaseField");
12
10
  var _RestService = require("../../RestService");
13
- var _Event = _interopRequireDefault(require("../../event/Event"));
14
- var _Observable = _interopRequireDefault(require("../../event/Observable"));
15
- var _EventType = _interopRequireDefault(require("../../event/EventType"));
11
+ var _material = require("@mui/material");
16
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
13
  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); }
18
14
  const SelectItemComponent = props => {
19
15
  const base = props.base;
20
16
  const [optionsLoaded, setOptionsLoaded] = _react.default.useState(false);
21
17
  const [loadFullOptionList, setLoadFullOptionList] = _react.default.useState(false);
18
+ const [value, setValue] = _react.default.useState(_Utils.default.isNull(props.value) ? '' : props.value.id);
19
+ const initialValue = _react.default.useRef(null);
22
20
  const width = !_Utils.default.isNull(props.config.attributes?.style?.width) ? props.config.attributes.style.width : "100%";
23
21
  const maxWidth = !_Utils.default.isNull(props.config.attributes?.style?.maxWidth) ? props.config.attributes.style.maxWidth : null;
24
22
  const minWidth = !_Utils.default.isNull(props.config.attributes?.style?.minWidth) ? props.config.attributes.style.minWidth : "240px";
25
- const defaultValue = _Utils.default.isNull(props.value) ? '' : props.value.id;
26
23
  _react.default.useEffect(() => {
27
24
  if (!_Utils.default.isNull(base.value) && !optionsLoaded) {
28
25
  let defaultOptions = [];
@@ -30,7 +27,17 @@ const SelectItemComponent = props => {
30
27
  base.setSelectOptions(defaultOptions);
31
28
  setOptionsLoaded(true);
32
29
  }
30
+ if (_Utils.default.isNull(initialValue.current) && !_Utils.default.isNull(base.value)) {
31
+ initialValue.current = base.value;
32
+ }
33
33
  }, [base.value]);
34
+ _react.default.useEffect(() => {
35
+ if (!_Utils.default.isNull(base.selectOptions) && base.selectOptions.length > 0) {
36
+ if (initialValue.current) {
37
+ setValue(initialValue.current.id);
38
+ }
39
+ }
40
+ }, [base.selectOptions]);
34
41
  _react.default.useEffect(() => {
35
42
  if (loadFullOptionList && !_Utils.default.isNull(props.config.dataService)) {
36
43
  let method = props.config.dataService.type === 'rpc' ? _RestService.invokeRpc : _RestService.invokeRest;
@@ -57,42 +64,45 @@ const SelectItemComponent = props => {
57
64
  setOptionsLoaded(true);
58
65
  }
59
66
  }, [loadFullOptionList, props.refreshData]);
60
- return /*#__PURE__*/_react.default.createElement(_TextField.default, {
61
- select: true,
62
- InputProps: props.InputProps,
63
- id: props.id,
64
- disabled: base.disabled,
67
+ return /*#__PURE__*/_react.default.createElement(_material.FormControl, {
68
+ fullWidth: true,
69
+ margin: "dense",
70
+ size: "small",
65
71
  required: base.required,
66
- label: !_Utils.default.isNull(props.config.attributes) ? props.config.attributes['label'] : null,
72
+ disabled: base.disabled,
73
+ error: base.hasError,
67
74
  style: _Utils.default.mergeStyles({
68
75
  minWidth: minWidth,
69
76
  width: width,
70
77
  maxWidth: maxWidth
71
- }, props.config),
72
- SelectProps: {
73
- onOpen: () => {
74
- if (!loadFullOptionList) {
75
- setLoadFullOptionList(true);
76
- }
78
+ }, props.config)
79
+ }, /*#__PURE__*/_react.default.createElement(_material.InputLabel, {
80
+ id: `${props.id}-label`
81
+ }, !_Utils.default.isNull(props.config.attributes) ? props.config.attributes['label'] : ''), /*#__PURE__*/_react.default.createElement(_material.Select, {
82
+ labelId: `${props.id}-label`,
83
+ id: props.id,
84
+ variant: "outlined",
85
+ value: value,
86
+ input: /*#__PURE__*/_react.default.createElement(_material.OutlinedInput, {
87
+ label: props.config.attributes?.label || ''
88
+ }),
89
+ onOpen: () => {
90
+ if (!loadFullOptionList) {
91
+ setLoadFullOptionList(true);
77
92
  }
78
93
  },
79
- value: !_Utils.default.isNull(base.value) && base.selectOptions && base.selectOptions.length > 0 ? base.value.id : defaultValue,
80
- className: props.className,
81
94
  onChange: e => {
82
95
  base.handleValueChange(e.target.value);
96
+ setValue(e.target.value);
83
97
  },
84
- error: base.hasError,
85
- helperText: base.errorMessage,
86
- margin: "dense",
87
- size: "small",
88
- variant: "outlined"
89
- }, base.selectOptions.map(option => option.id === '_EMPTY_VALUE' ? /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
98
+ className: props.className
99
+ }, base.selectOptions.map(option => option.id === '_EMPTY_VALUE' ? /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
90
100
  value: "",
91
101
  key: option.id
92
- }, /*#__PURE__*/_react.default.createElement("em", null, "\xA0")) : /*#__PURE__*/_react.default.createElement(_MenuItem.default, {
102
+ }, /*#__PURE__*/_react.default.createElement("em", null, "\xA0")) : /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
93
103
  key: option.id,
94
104
  value: option.id
95
- }, _Utils.default.isNull(option.dataRecordDescription) ? '' : option.dataRecordDescription.trim())));
105
+ }, _Utils.default.isNull(option.dataRecordDescription) ? '' : option.dataRecordDescription.trim()))), base.hasError && /*#__PURE__*/_react.default.createElement(_material.FormHelperText, null, base.errorMessage));
96
106
  };
97
107
  const SelectItem = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.forwardRef((props, ref) => {
98
108
  const [refreshData, setRefreshData] = _react.default.useState(false);
@@ -9,7 +9,7 @@ var _styles = require("@mui/styles");
9
9
  var _Divider = _interopRequireDefault(require("@mui/material/Divider"));
10
10
  var _Paper = _interopRequireDefault(require("@mui/material/Paper"));
11
11
  var _ToggleButton = _interopRequireDefault(require("@mui/lab/ToggleButton"));
12
- var _ToggleButtonGroup = _interopRequireDefault(require("@mui/lab/ToggleButtonGroup"));
12
+ var _ToggleButtonGroup = _interopRequireDefault(require("@mui/material/ToggleButtonGroup"));
13
13
  var _Add = _interopRequireDefault(require("@mui/icons-material/Add"));
14
14
  var _Edit = _interopRequireDefault(require("@mui/icons-material/Edit"));
15
15
  var _Save = _interopRequireDefault(require("@mui/icons-material/Save"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agilemotion/oui-react-js",
3
- "version": "1.8.17",
3
+ "version": "1.8.19",
4
4
  "files": [
5
5
  "dist"
6
6
  ],