@gpa-gemstone/react-forms 1.1.43 → 1.1.45
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.
- package/lib/CheckBox.d.ts +5 -4
- package/lib/CheckBox.js +25 -32
- package/lib/HelperMessage.js +31 -21
- package/lib/StylableSelect.d.ts +1 -1
- package/lib/TextArea.d.ts +5 -2
- package/lib/TextArea.js +32 -12
- package/package.json +2 -2
package/lib/CheckBox.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
interface IProps<T> {
|
|
3
3
|
Record: T;
|
|
4
4
|
Field: keyof T;
|
|
5
5
|
Setter: (record: T) => void;
|
|
6
6
|
Label?: string;
|
|
7
7
|
Disabled?: boolean;
|
|
8
|
-
|
|
9
|
-
render(): JSX.Element;
|
|
8
|
+
Help?: string | JSX.Element;
|
|
10
9
|
}
|
|
10
|
+
export default function CheckBox<T>(props: IProps<T>): JSX.Element;
|
|
11
|
+
export {};
|
package/lib/CheckBox.js
CHANGED
|
@@ -21,21 +21,6 @@
|
|
|
21
21
|
// Generated original version of source code.
|
|
22
22
|
//
|
|
23
23
|
// ******************************************************************************************************
|
|
24
|
-
var __extends = (this && this.__extends) || (function () {
|
|
25
|
-
var extendStatics = function (d, b) {
|
|
26
|
-
extendStatics = Object.setPrototypeOf ||
|
|
27
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
28
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
29
|
-
return extendStatics(d, b);
|
|
30
|
-
};
|
|
31
|
-
return function (d, b) {
|
|
32
|
-
if (typeof b !== "function" && b !== null)
|
|
33
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
34
|
-
extendStatics(d, b);
|
|
35
|
-
function __() { this.constructor = d; }
|
|
36
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
37
|
-
};
|
|
38
|
-
})();
|
|
39
24
|
var __assign = (this && this.__assign) || function () {
|
|
40
25
|
__assign = Object.assign || function(t) {
|
|
41
26
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -49,21 +34,29 @@ var __assign = (this && this.__assign) || function () {
|
|
|
49
34
|
};
|
|
50
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
36
|
var React = require("react");
|
|
52
|
-
var
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
37
|
+
var helper_functions_1 = require("@gpa-gemstone/helper-functions");
|
|
38
|
+
var HelperMessage_1 = require("./HelperMessage");
|
|
39
|
+
function CheckBox(props) {
|
|
40
|
+
var _a = React.useState(""), guid = _a[0], setGuid = _a[1];
|
|
41
|
+
var _b = React.useState(false), showHelp = _b[0], setShowHelp = _b[1];
|
|
42
|
+
var showHelpIcon = props.Help !== undefined;
|
|
43
|
+
var showLabel = props.Label !== "";
|
|
44
|
+
var label = props.Label === undefined ? props.Field : props.Label;
|
|
45
|
+
React.useEffect(function () {
|
|
46
|
+
setGuid((0, helper_functions_1.CreateGuid)());
|
|
47
|
+
}, []);
|
|
48
|
+
return (React.createElement("div", { className: "form-check", "data-help": guid },
|
|
49
|
+
React.createElement("input", { type: "checkbox", className: "form-check-input", style: { zIndex: 1 }, onChange: function (evt) {
|
|
50
|
+
var record = __assign({}, props.Record);
|
|
51
|
+
record[props.Field] = evt.target.checked;
|
|
52
|
+
props.Setter(record);
|
|
53
|
+
}, value: props.Record[props.Field] ? 'on' : 'off', checked: props.Record[props.Field] ? true : false, disabled: props.Disabled == null ? false : props.Disabled }),
|
|
54
|
+
React.createElement("label", { className: "form-check-label" }, props.Label == null ? props.Field : props.Label),
|
|
55
|
+
showHelpIcon ?
|
|
56
|
+
React.createElement("div", { style: { width: 20, height: 20, borderRadius: '50%', display: 'inline-block', background: '#0D6EFD', marginLeft: 10, textAlign: 'center', fontWeight: 'bold' }, onMouseEnter: function () { return setShowHelp(true); }, onMouseLeave: function () { return setShowHelp(false); } }, "?")
|
|
57
|
+
: null,
|
|
58
|
+
showHelpIcon ?
|
|
59
|
+
React.createElement(HelperMessage_1.default, { Show: showHelp, Target: guid }, props.Help)
|
|
60
|
+
: null));
|
|
61
|
+
}
|
|
69
62
|
exports.default = CheckBox;
|
package/lib/HelperMessage.js
CHANGED
|
@@ -29,42 +29,52 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
var React = require("react");
|
|
30
30
|
var styled_components_1 = require("styled-components");
|
|
31
31
|
var helper_functions_1 = require("@gpa-gemstone/helper-functions");
|
|
32
|
+
var react_portal_1 = require("react-portal");
|
|
32
33
|
var WrapperDiv = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n & {\n border-radius: 3px;\n display: inline-block;\n font-size: 13px;\n padding: 8px 21px;\n position: fixed;\n pointer-events: none;\n transition: opacity 0.3s ease-out;\n z-index: ", ";\n opacity: ", ";\n color: #000;\n background: #0DCAF0;\n top: ", ";\n left: ", ";\n width: ", ";\n border: 1px solid transparent;\n }\n \n ", ""], ["\n & {\n border-radius: 3px;\n display: inline-block;\n font-size: 13px;\n padding: 8px 21px;\n position: fixed;\n pointer-events: none;\n transition: opacity 0.3s ease-out;\n z-index: ", ";\n opacity: ", ";\n color: #000;\n background: #0DCAF0;\n top: ", ";\n left: ", ";\n width: ", ";\n border: 1px solid transparent;\n }\n \n ", ""])), function (props) { return props.Zindex; }, function (props) { return props.Show ? "1.0" : "0"; }, function (props) { return props.Top + "px"; }, function (props) { return props.Left + "px"; }, function (props) { return props.Width + "px"; }, function (props) { return "\n &::before {\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n border-bottom: 8px solid #0DCAF0;\n left: 50%;\n top: -6px;\n margin-left: -8px;\n content: \"\";\n width: 0px;\n height: 0px;\n position: absolute\n }\n "; });
|
|
33
34
|
var HelperMessage = function (props) {
|
|
35
|
+
var helpMessage = React.useRef(null);
|
|
34
36
|
var _a = React.useState(0), top = _a[0], setTop = _a[1];
|
|
35
37
|
var _b = React.useState(0), left = _b[0], setLeft = _b[1];
|
|
36
38
|
var _c = React.useState(0), width = _c[0], setWidth = _c[1];
|
|
37
|
-
var _d = React.useState(
|
|
39
|
+
var _d = React.useState(0), targetLeft = _d[0], setTargetLeft = _d[1];
|
|
40
|
+
var _e = React.useState(0), targetTop = _e[0], setTargetTop = _e[1];
|
|
41
|
+
var _f = React.useState(0), targetWidth = _f[0], setTargetWidth = _f[1];
|
|
42
|
+
var _g = React.useState(0), targetHeight = _g[0], setTargetHeight = _g[1];
|
|
38
43
|
React.useEffect(function () {
|
|
39
|
-
|
|
40
|
-
|
|
44
|
+
var target = document.querySelectorAll("[data-help" + (props.Target === undefined ? '' : "=\"" + props.Target + "\"") + "]");
|
|
45
|
+
if (target.length === 0) {
|
|
46
|
+
setTargetHeight(0);
|
|
47
|
+
setTargetWidth(0);
|
|
48
|
+
setTargetLeft(-999);
|
|
49
|
+
setTargetTop(-999);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
var targetLocation = (0, helper_functions_1.GetNodeSize)(target[0]);
|
|
53
|
+
setTargetHeight(targetLocation.height);
|
|
54
|
+
setTargetWidth(targetLocation.width);
|
|
55
|
+
setTargetLeft(targetLocation.left);
|
|
56
|
+
setTargetTop(targetLocation.top);
|
|
57
|
+
}
|
|
58
|
+
}, [props.Show]);
|
|
41
59
|
React.useLayoutEffect(function () {
|
|
42
60
|
var _a = UpdatePosition(), t = _a[0], l = _a[1], w = _a[2];
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
setLeft(l);
|
|
47
|
-
if (w !== width)
|
|
48
|
-
setWidth(w);
|
|
61
|
+
setTop(t);
|
|
62
|
+
setLeft(l);
|
|
63
|
+
setWidth(w);
|
|
49
64
|
});
|
|
50
|
-
var zIndex = (props.Zindex === undefined ?
|
|
65
|
+
var zIndex = (props.Zindex === undefined ? 9999 : props.Zindex);
|
|
51
66
|
function UpdatePosition() {
|
|
52
|
-
|
|
53
|
-
if (target.length === 0)
|
|
54
|
-
return [-999, -999];
|
|
55
|
-
var targetLocation = (0, helper_functions_1.GetNodeSize)(target[0]);
|
|
56
|
-
var message = document.getElementById(guid);
|
|
57
|
-
if (message === null)
|
|
67
|
+
if (helpMessage.current === null)
|
|
58
68
|
return [-999, -999];
|
|
59
|
-
var msgLocation = (0, helper_functions_1.GetNodeSize)(message);
|
|
60
69
|
var offset = 5;
|
|
61
70
|
var result = [0, 0, 0];
|
|
62
|
-
result[0] =
|
|
63
|
-
result[1] =
|
|
64
|
-
result[2] =
|
|
71
|
+
result[0] = targetTop + targetHeight + offset;
|
|
72
|
+
result[1] = targetLeft;
|
|
73
|
+
result[2] = targetWidth;
|
|
65
74
|
return result;
|
|
66
75
|
}
|
|
67
|
-
return (React.createElement(
|
|
76
|
+
return (React.createElement(react_portal_1.Portal, null,
|
|
77
|
+
React.createElement(WrapperDiv, { Show: props.Show, Top: top, Left: left, Width: width, ref: helpMessage, Zindex: zIndex }, props.children)));
|
|
68
78
|
};
|
|
69
79
|
exports.default = HelperMessage;
|
|
70
80
|
var templateObject_1;
|
package/lib/StylableSelect.d.ts
CHANGED
package/lib/TextArea.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
2
|
+
interface IProps<T> {
|
|
3
3
|
Rows: number;
|
|
4
4
|
Record: T;
|
|
5
5
|
Field: keyof T;
|
|
@@ -8,4 +8,7 @@ export default function TextArea<T>(props: {
|
|
|
8
8
|
Label?: string;
|
|
9
9
|
Feedback?: string;
|
|
10
10
|
Disabled?: boolean;
|
|
11
|
-
|
|
11
|
+
Help?: string | JSX.Element;
|
|
12
|
+
}
|
|
13
|
+
export default function TextArea<T>(props: IProps<T>): JSX.Element;
|
|
14
|
+
export {};
|
package/lib/TextArea.js
CHANGED
|
@@ -31,22 +31,42 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
31
31
|
// ----------------------------------------------------------------------------------------------------
|
|
32
32
|
// 01/22/2020 - Billy Ernest
|
|
33
33
|
// Generated original version of source code.
|
|
34
|
+
// 11/03/2023 - C Lackner
|
|
35
|
+
// Added internal state to avoid cursor jumping.
|
|
34
36
|
//
|
|
35
37
|
// ******************************************************************************************************
|
|
36
38
|
var React = require("react");
|
|
39
|
+
var helper_functions_1 = require("@gpa-gemstone/helper-functions");
|
|
40
|
+
var HelperMessage_1 = require("./HelperMessage");
|
|
37
41
|
function TextArea(props) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
42
|
+
var internal = React.useRef(false);
|
|
43
|
+
var guid = React.useRef((0, helper_functions_1.CreateGuid)());
|
|
44
|
+
var _a = React.useState(false), showHelp = _a[0], setShowHelp = _a[1];
|
|
45
|
+
var _b = React.useState(''), heldVal = _b[0], setHeldVal = _b[1];
|
|
46
|
+
React.useEffect(function () {
|
|
47
|
+
if (!internal.current) {
|
|
48
|
+
setHeldVal(props.Record[props.Field] == null ? '' : props.Record[props.Field].toString());
|
|
49
|
+
}
|
|
50
|
+
internal.current = false;
|
|
51
|
+
}, [props.Record[props.Field]]);
|
|
52
|
+
function valueChange(value) {
|
|
53
|
+
var _a;
|
|
54
|
+
internal.current = true;
|
|
55
|
+
props.Setter(__assign(__assign({}, props.Record), (_a = {}, _a[props.Field] = value !== '' ? value : null, _a)));
|
|
56
|
+
setHeldVal(value);
|
|
57
|
+
}
|
|
58
|
+
var showLabel = props.Label !== "";
|
|
59
|
+
var showHelpIcon = props.Help !== undefined;
|
|
60
|
+
var label = props.Label === undefined ? props.Field : props.Label;
|
|
61
|
+
return (React.createElement("div", { className: "form-group", "data-help": guid },
|
|
62
|
+
showHelpIcon || showLabel ?
|
|
63
|
+
React.createElement("label", null,
|
|
64
|
+
showLabel ? label : '',
|
|
65
|
+
showHelpIcon ? React.createElement("div", { style: { width: 20, height: 20, borderRadius: '50%', display: 'inline-block', background: '#0D6EFD', marginLeft: 10, textAlign: 'center', fontWeight: 'bold' }, onMouseEnter: function () { return setShowHelp(true); }, onMouseLeave: function () { return setShowHelp(false); } }, " ? ") : null) : null,
|
|
66
|
+
showHelpIcon ?
|
|
67
|
+
React.createElement(HelperMessage_1.default, { Show: showHelp, Target: guid.current }, props.Help)
|
|
68
|
+
: null,
|
|
69
|
+
React.createElement("textarea", { rows: props.Rows, className: props.Valid(props.Field) ? 'form-control' : 'form-control is-invalid', onChange: function (evt) { return valueChange(evt.target.value); }, value: heldVal == null ? '' : heldVal, disabled: props.Disabled == null ? false : props.Disabled }),
|
|
50
70
|
React.createElement("div", { className: "invalid-feedback" }, props.Feedback == null ? props.Field + ' is a required field.' : props.Feedback)));
|
|
51
71
|
}
|
|
52
72
|
exports.default = TextArea;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gpa-gemstone/react-forms",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.45",
|
|
4
4
|
"description": "React Form modules for gpa webapps",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"typescript": "4.4.4"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@gpa-gemstone/helper-functions": "0.0.
|
|
46
|
+
"@gpa-gemstone/helper-functions": "0.0.26",
|
|
47
47
|
"@types/react": "^17.0.14",
|
|
48
48
|
"@types/styled-components": "^5.1.11",
|
|
49
49
|
"moment": "2.29.4",
|