@gpa-gemstone/common-pages 0.0.18 → 0.0.23
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/Note.js +6 -6
- package/lib/SearchBar.d.ts +22 -27
- package/lib/SearchBar.js +108 -275
- package/lib/SelectionPopup.d.ts +35 -0
- package/lib/SelectionPopup.js +62 -0
- package/lib/Setting.js +6 -6
- package/lib/StandardSelectPopup.d.ts +19 -0
- package/lib/StandardSelectPopup.js +98 -0
- package/lib/ValueList/ByValueList.js +7 -7
- package/lib/ValueList/Group.js +3 -3
- package/lib/ValueList/GroupItem.js +4 -4
- package/lib/ValueList/ItemForm.js +2 -2
- package/lib/index.d.ts +4 -1
- package/lib/index.js +7 -1
- package/lib/user/AdditionalField.js +26 -22
- package/lib/user/ByUser.js +14 -14
- package/lib/user/User.js +3 -3
- package/lib/user/UserForm.js +2 -2
- package/lib/user/UserInfo.js +2 -2
- package/lib/user/UserPermissions.js +5 -5
- package/package.json +14 -14
package/lib/Note.js
CHANGED
@@ -40,14 +40,14 @@ var react_interactive_1 = require("@gpa-gemstone/react-interactive");
|
|
40
40
|
var moment = require("moment");
|
41
41
|
var react_redux_1 = require("react-redux");
|
42
42
|
function Note(props) {
|
43
|
-
var dispatch = react_redux_1.useDispatch();
|
43
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
44
44
|
var _a = React.useState(false), showEdit = _a[0], setEdit = _a[1];
|
45
45
|
var _b = React.useState('none'), hover = _b[0], setHover = _b[1];
|
46
|
-
var data = react_redux_1.useSelector(props.NoteSlice.Data);
|
47
|
-
var dataStatus = react_redux_1.useSelector(props.NoteSlice.Status);
|
48
|
-
var parentID = react_redux_1.useSelector((props.NoteSlice.ParentID === undefined ? function (state) { return props.ReferenceTableID; } : props.NoteSlice.ParentID));
|
49
|
-
var sortField = react_redux_1.useSelector(props.NoteSlice.SortField);
|
50
|
-
var ascending = react_redux_1.useSelector(props.NoteSlice.Ascending);
|
46
|
+
var data = (0, react_redux_1.useSelector)(props.NoteSlice.Data);
|
47
|
+
var dataStatus = (0, react_redux_1.useSelector)(props.NoteSlice.Status);
|
48
|
+
var parentID = (0, react_redux_1.useSelector)((props.NoteSlice.ParentID === undefined ? function (state) { return props.ReferenceTableID; } : props.NoteSlice.ParentID));
|
49
|
+
var sortField = (0, react_redux_1.useSelector)(props.NoteSlice.SortField);
|
50
|
+
var ascending = (0, react_redux_1.useSelector)(props.NoteSlice.Ascending);
|
51
51
|
var _c = React.useState(CreateNewNote()), note = _c[0], setNote = _c[1];
|
52
52
|
React.useEffect(function () {
|
53
53
|
if (dataStatus === 'unintiated' || dataStatus === 'changed' || parentID !== props.ReferenceTableID)
|
package/lib/SearchBar.d.ts
CHANGED
@@ -1,36 +1,31 @@
|
|
1
1
|
import * as React from 'react';
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
2
|
+
import { GenericSlice, Search } from '@gpa-gemstone/react-interactive';
|
3
|
+
import { OpenXDA, SystemCenter } from '@gpa-gemstone/application-typings';
|
4
|
+
interface U {
|
5
|
+
ID: number | string;
|
6
|
+
}
|
7
|
+
interface IProps<T extends U> {
|
8
|
+
/** A Generic Slyce for the Search */
|
9
|
+
Slice: GenericSlice<T>;
|
10
|
+
/** Functions that gets available values for any ENUM Types */
|
11
|
+
GetEnum: (setOptions: (options: IOptions[]) => void, field: Search.IField<T>) => () => void;
|
12
|
+
/** Function that Grabs any additional Filters that shoudl be available (such as Addl Fields) */
|
13
|
+
GetAddlFields: (setAddlFields: (cols: Search.IField<T>[]) => void) => () => void;
|
9
14
|
children: React.ReactNode;
|
10
|
-
GetEnum?: EnumSetter<T>;
|
11
|
-
ShowLoading?: boolean;
|
12
|
-
ResultNote?: string;
|
13
15
|
}
|
14
16
|
interface IOptions {
|
15
17
|
Value: string;
|
16
18
|
Label: string;
|
17
19
|
}
|
18
|
-
|
19
|
-
export declare namespace
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
interface IFilter<T> {
|
29
|
-
FieldName: string;
|
30
|
-
SearchText: string;
|
31
|
-
Operator: Search.OperatorType;
|
32
|
-
Type: Search.FieldType;
|
33
|
-
}
|
20
|
+
/** This Implements a few standardized SearchBars */
|
21
|
+
export declare namespace DefaultSearch {
|
22
|
+
/** This Implements a standard Meter Search */
|
23
|
+
function Meter(props: IProps<SystemCenter.Types.DetailedMeter>): JSX.Element;
|
24
|
+
/** This Implements a standard Substation Search */
|
25
|
+
function Location(props: IProps<SystemCenter.Types.DetailedLocation>): JSX.Element;
|
26
|
+
/** This Implements a standard Transmission Asset Search */
|
27
|
+
function Asset(props: IProps<SystemCenter.Types.DetailedAsset>): JSX.Element;
|
28
|
+
/** This Implements a standard AssetGroup Search */
|
29
|
+
function AssetGroup(props: IProps<OpenXDA.Types.AssetGroup>): JSX.Element;
|
34
30
|
}
|
35
|
-
export default function SearchBar<T>(props: IProps<T>): JSX.Element;
|
36
31
|
export {};
|
package/lib/SearchBar.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
// ******************************************************************************************************
|
3
3
|
// SearchBar.tsx - Gbtc
|
4
4
|
//
|
5
|
-
// Copyright ©
|
5
|
+
// Copyright © 2021, Grid Protection Alliance. All Rights Reserved.
|
6
6
|
//
|
7
7
|
// Licensed to the Grid Protection Alliance (GPA) under one or more contributor license agreements. See
|
8
8
|
// the NOTICE file distributed with this work for additional information regarding copyright ownership.
|
@@ -17,287 +17,120 @@
|
|
17
17
|
//
|
18
18
|
// Code Modification History:
|
19
19
|
// ----------------------------------------------------------------------------------------------------
|
20
|
-
//
|
20
|
+
// 12/17/2021 - Samuel Robinson
|
21
21
|
// Generated original version of source code.
|
22
|
+
// 12/19/2021 - C. Lackner
|
23
|
+
// Cleaned up code.
|
22
24
|
// ******************************************************************************************************
|
23
|
-
var
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
t[p] = s[p];
|
25
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
26
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
27
|
+
if (ar || !(i in from)) {
|
28
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
29
|
+
ar[i] = from[i];
|
29
30
|
}
|
30
|
-
|
31
|
-
|
32
|
-
return __assign.apply(this, arguments);
|
33
|
-
};
|
34
|
-
var __spreadArrays = (this && this.__spreadArrays) || function () {
|
35
|
-
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
36
|
-
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
37
|
-
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
38
|
-
r[k] = a[j];
|
39
|
-
return r;
|
31
|
+
}
|
32
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
40
33
|
};
|
41
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
35
|
+
exports.DefaultSearch = void 0;
|
42
36
|
var React = require("react");
|
43
|
-
var
|
44
|
-
var
|
45
|
-
|
46
|
-
var
|
47
|
-
function
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
}, [search]);
|
70
|
-
React.useEffect(function () {
|
71
|
-
if (searchFilter !== null)
|
72
|
-
props.SetFilter(__spreadArrays(filters, [searchFilter]));
|
73
|
-
if (searchFilter === null)
|
74
|
-
props.SetFilter(filters);
|
75
|
-
}, [searchFilter]);
|
76
|
-
function deleteFilter(f) {
|
77
|
-
var index = filters.findIndex(function (fs) { return fs === f; });
|
78
|
-
var filts = __spreadArrays(filters);
|
79
|
-
filts.splice(index, 1);
|
80
|
-
setFilters(filts);
|
81
|
-
setHover(false);
|
82
|
-
if (props.defaultCollumn !== undefined && searchFilter !== null)
|
83
|
-
props.SetFilter(__spreadArrays(filts, [searchFilter]));
|
84
|
-
else
|
85
|
-
props.SetFilter(filts);
|
86
|
-
}
|
87
|
-
function addFilter() {
|
88
|
-
var oldFilters = __spreadArrays(filters);
|
89
|
-
var adjustedFilter = __assign({}, filter);
|
90
|
-
if (adjustedFilter.Type === 'string' && adjustedFilter.Operator === 'LIKE')
|
91
|
-
adjustedFilter.SearchText = '*' + adjustedFilter.SearchText + '*';
|
92
|
-
oldFilters.push(adjustedFilter);
|
93
|
-
setFilters(oldFilters);
|
94
|
-
setFilter({ FieldName: props.CollumnList[0].key, SearchText: '', Operator: props.CollumnList[0].type === 'string' ? 'LIKE' : '=', Type: props.CollumnList[0].type });
|
95
|
-
setFilter({ FieldName: props.CollumnList[0].key, SearchText: '', Operator: props.CollumnList[0].type === 'string' ? 'LIKE' : '=', Type: props.CollumnList[0].type });
|
96
|
-
if (props.defaultCollumn !== undefined && searchFilter !== null)
|
97
|
-
props.SetFilter(__spreadArrays(oldFilters, [searchFilter]));
|
98
|
-
else
|
99
|
-
props.SetFilter(oldFilters);
|
100
|
-
}
|
101
|
-
function editFilter(index) {
|
102
|
-
setIsNew(false);
|
103
|
-
var oldFilters = __spreadArrays(filters);
|
104
|
-
var filt = oldFilters[index];
|
105
|
-
oldFilters.splice(index, 1);
|
106
|
-
if (filt.Type === 'string' && filt.Operator === 'LIKE')
|
107
|
-
filt.SearchText = filt.SearchText.substr(1, filt.SearchText.length - 2);
|
108
|
-
setShow(true);
|
109
|
-
setFilters(oldFilters);
|
110
|
-
setFilter(filt);
|
111
|
-
if (props.defaultCollumn !== undefined && searchFilter !== null)
|
112
|
-
props.SetFilter(__spreadArrays(oldFilters, [searchFilter]));
|
113
|
-
else
|
114
|
-
props.SetFilter(oldFilters);
|
115
|
-
}
|
116
|
-
;
|
117
|
-
function createFilter() {
|
118
|
-
setShow(!show);
|
119
|
-
setIsNew(true);
|
120
|
-
setFilter({ FieldName: props.CollumnList[0].key, SearchText: '', Operator: props.CollumnList[0].type === 'string' ? 'LIKE' : '=', Type: props.CollumnList[0].type });
|
121
|
-
}
|
122
|
-
var content = (React.createElement(React.Fragment, null,
|
123
|
-
React.createElement("form", null,
|
124
|
-
React.createElement("div", { className: "row" },
|
125
|
-
props.defaultCollumn !== undefined ?
|
126
|
-
React.createElement("div", { className: "col" },
|
127
|
-
React.createElement("div", { className: "input-group" },
|
128
|
-
React.createElement("input", { className: "form-control mr-sm-2", type: "search", placeholder: "Search " + props.defaultCollumn.label, onChange: function (event) { return setSearch(event.target.value); } }),
|
129
|
-
props.ShowLoading !== undefined && props.ShowLoading ? React.createElement("div", { className: "input-group-append" },
|
130
|
-
" ",
|
131
|
-
React.createElement(LoadingIcon_1.default, { Show: true }),
|
132
|
-
" ") : null),
|
133
|
-
React.createElement("p", { style: { marginTop: 2, marginBottom: 2 } }, props.ResultNote)) : null,
|
134
|
-
React.createElement("div", { style: { position: 'relative', display: 'inline-block' }, className: 'col' },
|
135
|
-
React.createElement("button", { className: "btn btn-primary", onClick: function (evt) { evt.preventDefault(); createFilter(); }, onMouseEnter: function () { return setHover(true); }, onMouseLeave: function () { return setHover(false); } }, "Add Filter"),
|
136
|
-
React.createElement("div", { style: { width: window.innerWidth / 3, display: hover ? 'block' : 'none', position: 'absolute', backgroundColor: '#f1f1f1', boxShadow: '0px 8px 16px 0px rgba(0,0,0,0.2)', zIndex: 1, right: (props.Direction === 'right' ? 0 : undefined), left: (props.Direction === 'left' ? 0 : undefined) }, onMouseEnter: function () { return setHover(true); }, onMouseLeave: function () { return setHover(false); } },
|
137
|
-
React.createElement("table", { className: 'table' },
|
138
|
-
React.createElement("thead", null,
|
139
|
-
React.createElement("tr", null,
|
140
|
-
React.createElement("th", null, "Column"),
|
141
|
-
React.createElement("th", null, "Operator"),
|
142
|
-
React.createElement("th", null, "Search Text"),
|
143
|
-
React.createElement("th", null, "Edit"),
|
144
|
-
React.createElement("th", null, "Remove"))),
|
145
|
-
React.createElement("tbody", null, filters.map(function (f, i) { return React.createElement("tr", { key: i },
|
146
|
-
React.createElement("td", null, f.FieldName),
|
147
|
-
React.createElement("td", null, f.Operator),
|
148
|
-
React.createElement("td", null, f.SearchText),
|
149
|
-
React.createElement("td", null,
|
150
|
-
React.createElement("button", { className: "btn btn-sm", onClick: function (e) { return editFilter(i); } },
|
151
|
-
React.createElement("span", null, gpa_symbols_1.Pencil))),
|
152
|
-
React.createElement("td", null,
|
153
|
-
React.createElement("button", { className: "btn btn-sm", onClick: function (e) { return deleteFilter(f); } },
|
154
|
-
React.createElement("span", null, gpa_symbols_1.TrashCan)))); })))))))));
|
155
|
-
return (React.createElement("div", { style: { width: '100%' } },
|
156
|
-
React.createElement("nav", { className: "navbar navbar-expand-lg navbar-light bg-light" },
|
157
|
-
React.createElement("div", { className: "collapse navbar-collapse", style: { width: '100%' } },
|
158
|
-
React.createElement("ul", { className: "navbar-nav mr-auto", style: { width: '100%' } },
|
159
|
-
props.Direction === 'right' ? props.children : null,
|
160
|
-
props.Label !== undefined ?
|
161
|
-
React.createElement("li", { className: "nav-item", style: { minWidth: (props.Width === undefined ? '150px' : undefined), width: props.Width, paddingRight: 10 } },
|
162
|
-
React.createElement("fieldset", { className: "border", style: { padding: '10px', height: '100%' } },
|
163
|
-
React.createElement("legend", { className: "w-auto", style: { fontSize: 'large' } },
|
164
|
-
props.Label,
|
165
|
-
":"),
|
166
|
-
content)) :
|
167
|
-
React.createElement("li", { className: "nav-item", style: { minWidth: (props.Width === undefined ? '150px' : undefined), width: props.Width, paddingRight: 10 } }, content),
|
168
|
-
props.Direction === 'left' ? props.children : null))),
|
169
|
-
React.createElement(Modal_1.default, { Title: 'Add Filter', Show: show, CallBack: function (conf) { if (conf)
|
170
|
-
addFilter(); setShow(false); }, ConfirmText: isNew ? 'Add' : 'Save', CancelText: isNew ? 'Close' : 'Delete' },
|
171
|
-
React.createElement(react_forms_1.Select, { Record: filter, Field: 'FieldName', Options: props.CollumnList.map(function (fl) { return ({ Value: fl.key, Label: fl.label }); }), Setter: function (record) {
|
172
|
-
var operator = "IN";
|
173
|
-
var column = props.CollumnList.find(function (fl) { return fl.key === record.FieldName; });
|
174
|
-
if (column !== undefined && column.type === 'string')
|
175
|
-
operator = "LIKE";
|
176
|
-
setFilter(function (prevFilter) { return (__assign(__assign({}, prevFilter), { FieldName: record.FieldName, SearchText: '', Operator: operator, Type: (column !== undefined ? column.type : 'string') })); });
|
177
|
-
}, Label: 'Column' }),
|
178
|
-
React.createElement(FilterCreator, { Filter: filter, Field: props.CollumnList.find(function (fl) { return fl.key === filter.FieldName; }), Setter: function (record) { return setFilter(record); }, Enum: (props.GetEnum === undefined ? undefined : props.GetEnum) }))));
|
179
|
-
}
|
180
|
-
exports.default = SearchBar;
|
181
|
-
function FilterCreator(props) {
|
182
|
-
var _a = React.useState([]), options = _a[0], setOptions = _a[1];
|
183
|
-
React.useEffect(function () {
|
184
|
-
if (props.Field === undefined)
|
185
|
-
return;
|
186
|
-
if (props.Field.enum !== undefined)
|
187
|
-
setOptions(props.Field.enum);
|
188
|
-
if (props.Enum !== undefined)
|
189
|
-
return props.Enum(setOptions, props.Field);
|
190
|
-
if (props.Field.enum === undefined)
|
191
|
-
setOptions([]);
|
192
|
-
}, [props.Field, props.Enum]);
|
193
|
-
if (props.Field === undefined)
|
194
|
-
return null;
|
195
|
-
if (props.Field.type === "string") {
|
196
|
-
return (React.createElement(React.Fragment, null,
|
197
|
-
React.createElement("label", null, "Column type is string. Wildcard (*) can be used with 'LIKE' and 'NOT LIKE'"),
|
198
|
-
React.createElement("div", { className: 'row' },
|
199
|
-
React.createElement("div", { className: 'col-4' },
|
200
|
-
React.createElement("select", { className: 'form-control', value: props.Filter.Operator, onChange: function (evt) {
|
201
|
-
var value = evt.target.value;
|
202
|
-
props.Setter(function (prevState) { return (__assign(__assign({}, prevState), { Operator: value })); });
|
203
|
-
} },
|
204
|
-
React.createElement("option", { value: 'LIKE' }, "LIKE"),
|
205
|
-
React.createElement("option", { value: '=' }, "="),
|
206
|
-
React.createElement("option", { value: 'NOT LIKE' }, "NOT LIKE"))),
|
207
|
-
React.createElement("div", { className: 'col' },
|
208
|
-
React.createElement("input", { className: 'form-control', value: props.Filter.SearchText, onChange: function (evt) {
|
209
|
-
var value = evt.target.value;
|
210
|
-
props.Setter(function (prevState) { return (__assign(__assign({}, prevState), { SearchText: value })); });
|
211
|
-
} })))));
|
212
|
-
}
|
213
|
-
else if (props.Field.type === "integer" || props.Field.type === "number") {
|
214
|
-
return (React.createElement(React.Fragment, null,
|
215
|
-
React.createElement("label", null,
|
216
|
-
"Column type is ",
|
217
|
-
props.Field.type,
|
218
|
-
"."),
|
219
|
-
React.createElement("div", { className: 'row' },
|
220
|
-
React.createElement("div", { className: 'col-4' },
|
221
|
-
React.createElement("select", { className: 'form-control', value: props.Filter.Operator, onChange: function (evt) {
|
222
|
-
var value = evt.target.value;
|
223
|
-
props.Setter(function (prevState) { return (__assign(__assign({}, prevState), { Operator: value })); });
|
224
|
-
} },
|
225
|
-
React.createElement("option", { value: '=' }, "="),
|
226
|
-
React.createElement("option", { value: '<>' }, "!="),
|
227
|
-
React.createElement("option", { value: '>' }, ">"),
|
228
|
-
React.createElement("option", { value: '>=' }, ">="),
|
229
|
-
React.createElement("option", { value: '<' }, "<"),
|
230
|
-
React.createElement("option", { value: '>=' }, ">="))),
|
231
|
-
React.createElement("div", { className: 'col' },
|
232
|
-
React.createElement("input", { type: 'number', className: 'form-control', value: props.Filter.SearchText, onChange: function (evt) {
|
233
|
-
var value = evt.target.value;
|
234
|
-
props.Setter(function (prevState) { return (__assign(__assign({}, prevState), { SearchText: value })); });
|
235
|
-
} })))));
|
37
|
+
var react_interactive_1 = require("@gpa-gemstone/react-interactive");
|
38
|
+
var react_redux_1 = require("react-redux");
|
39
|
+
/** This Implements a few standardized SearchBars */
|
40
|
+
var DefaultSearch;
|
41
|
+
(function (DefaultSearch) {
|
42
|
+
/** This Implements a standard Meter Search */
|
43
|
+
function Meter(props) {
|
44
|
+
var defaultSearchcols = [
|
45
|
+
{ label: 'AssetKey', key: 'AssetKey', type: 'string', isPivotField: false },
|
46
|
+
{ label: 'Name', key: 'Name', type: 'string', isPivotField: false },
|
47
|
+
{ label: 'Location', key: 'Location', type: 'string', isPivotField: false },
|
48
|
+
{ label: 'Make', key: 'Make', type: 'string', isPivotField: false },
|
49
|
+
{ label: 'Model', key: 'Model', type: 'string', isPivotField: false },
|
50
|
+
{ label: 'Number of Assets', key: 'MappedAssets', type: 'number', isPivotField: false },
|
51
|
+
];
|
52
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
53
|
+
var _a = React.useState([]), addlFieldCols = _a[0], setAddlFieldCols = _a[1];
|
54
|
+
var searchStatus = (0, react_redux_1.useSelector)(props.Slice.SearchStatus);
|
55
|
+
var sortField = (0, react_redux_1.useSelector)(props.Slice.SortField);
|
56
|
+
var ascending = (0, react_redux_1.useSelector)(props.Slice.Ascending);
|
57
|
+
var data = (0, react_redux_1.useSelector)(props.Slice.SearchResults);
|
58
|
+
React.useEffect(function () {
|
59
|
+
return props.GetAddlFields(setAddlFieldCols);
|
60
|
+
}, []);
|
61
|
+
var standardSearch = { label: 'Name', key: 'Name', type: 'string', isPivotField: false };
|
62
|
+
return React.createElement(react_interactive_1.SearchBar, { CollumnList: __spreadArray(__spreadArray([], defaultSearchcols, true), addlFieldCols, true), SetFilter: function (flds) { return dispatch(props.Slice.DBSearch({ filter: flds, sortField: sortField, ascending: ascending })); }, Direction: 'left', defaultCollumn: standardSearch, Width: '50%', Label: 'Search', ShowLoading: searchStatus === 'loading', ResultNote: searchStatus === 'error' ? 'Could not complete Search' : 'Found ' + data.length + ' Meter(s)', GetEnum: props.GetEnum }, props.children);
|
236
63
|
}
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
React.createElement("input", { type: 'time', className: 'form-control', value: props.Filter.SearchText.split(' ').length > 1 ? props.Filter.SearchText.split(' ')[1] : '0:00', onChange: function (evt) {
|
261
|
-
var value = evt.target.value;
|
262
|
-
props.Setter(function (prevState) { return (__assign(__assign({}, prevState), { SearchText: (prevState.SearchText.split(' ')[0] + ' ' + value) })); });
|
263
|
-
} })))));
|
64
|
+
DefaultSearch.Meter = Meter;
|
65
|
+
/** This Implements a standard Substation Search */
|
66
|
+
function Location(props) {
|
67
|
+
var standardSearch = { label: 'Name', key: 'Name', type: 'string', isPivotField: false };
|
68
|
+
var _a = React.useState([]), addlFieldCols = _a[0], setAddlFieldCols = _a[1];
|
69
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
70
|
+
var searchStatus = (0, react_redux_1.useSelector)(props.Slice.SearchStatus);
|
71
|
+
var sortField = (0, react_redux_1.useSelector)(props.Slice.SortField);
|
72
|
+
var ascending = (0, react_redux_1.useSelector)(props.Slice.Ascending);
|
73
|
+
var data = (0, react_redux_1.useSelector)(props.Slice.SearchResults);
|
74
|
+
var defaultSearchcols = [
|
75
|
+
{ label: 'Name', key: 'Name', type: 'string', isPivotField: false },
|
76
|
+
{ label: 'Key', key: 'LocationKey', type: 'string', isPivotField: false },
|
77
|
+
{ label: 'Transmission Asset', key: 'Asset', type: 'string', isPivotField: false },
|
78
|
+
{ label: 'Meter', key: 'Meter', type: 'string', isPivotField: false },
|
79
|
+
{ label: 'Number of Transmission Assets', key: 'Assets', type: 'integer', isPivotField: false },
|
80
|
+
{ label: 'Number of Meters', key: 'Meters', type: 'integer', isPivotField: false },
|
81
|
+
{ label: 'Description', key: 'Description', type: 'string', isPivotField: false }
|
82
|
+
];
|
83
|
+
React.useEffect(function () {
|
84
|
+
return props.GetAddlFields(setAddlFieldCols);
|
85
|
+
}, []);
|
86
|
+
return React.createElement(react_interactive_1.SearchBar, { CollumnList: __spreadArray(__spreadArray([], defaultSearchcols, true), addlFieldCols, true), SetFilter: function (flds) { return dispatch(props.Slice.DBSearch({ filter: flds, sortField: sortField, ascending: ascending })); }, Direction: 'left', defaultCollumn: standardSearch, Width: '50%', Label: 'Search', ShowLoading: searchStatus === 'loading', ResultNote: searchStatus === 'error' ? 'Could not complete Search' : 'Found ' + data.length + ' Substation(s)', GetEnum: props.GetEnum }, props.children);
|
264
87
|
}
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
88
|
+
DefaultSearch.Location = Location;
|
89
|
+
/** This Implements a standard Transmission Asset Search */
|
90
|
+
function Asset(props) {
|
91
|
+
var standardSearch = { label: 'Name', key: 'AssetName', type: 'string', isPivotField: false };
|
92
|
+
var _a = React.useState([]), addlFieldCols = _a[0], setAddlFieldCols = _a[1];
|
93
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
94
|
+
var searchStatus = (0, react_redux_1.useSelector)(props.Slice.SearchStatus);
|
95
|
+
var sortField = (0, react_redux_1.useSelector)(props.Slice.SortField);
|
96
|
+
var ascending = (0, react_redux_1.useSelector)(props.Slice.Ascending);
|
97
|
+
var data = (0, react_redux_1.useSelector)(props.Slice.SearchResults);
|
98
|
+
var defaultSearchcols = [
|
99
|
+
{ label: 'Key', key: 'AssetKey', type: 'string', isPivotField: false },
|
100
|
+
{ label: 'Name', key: 'AssetName', type: 'string', isPivotField: false },
|
101
|
+
{ label: 'Voltage (kV)', key: 'VoltageKV', type: 'number', isPivotField: false },
|
102
|
+
{ label: 'Type', key: 'AssetType', type: 'enum', isPivotField: false },
|
103
|
+
{ label: 'Meter', key: 'Meter', type: 'string', isPivotField: false },
|
104
|
+
{ label: 'Substation', key: 'Location', type: 'string', isPivotField: false },
|
105
|
+
{ label: 'Number of Meters', key: 'Meters', type: 'integer', isPivotField: false },
|
106
|
+
{ label: 'Number of Substations', key: 'Locations', type: 'integer', isPivotField: false },
|
107
|
+
];
|
108
|
+
React.useEffect(function () {
|
109
|
+
return props.GetAddlFields(setAddlFieldCols);
|
110
|
+
}, []);
|
111
|
+
return React.createElement(react_interactive_1.SearchBar, { CollumnList: __spreadArray(__spreadArray([], defaultSearchcols, true), addlFieldCols, true), SetFilter: function (flds) { return dispatch(props.Slice.DBSearch({ filter: flds, sortField: sortField, ascending: ascending })); }, Direction: 'left', defaultCollumn: standardSearch, Width: '50%', Label: 'Search', ShowLoading: searchStatus === 'loading', ResultNote: searchStatus === 'error' ? 'Could not complete Search' : 'Found ' + data.length + ' Transmission Asset(s)', GetEnum: props.GetEnum }, props.children);
|
269
112
|
}
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
props.Setter(function (prevSetter) { return (__assign(__assign({}, prevSetter), { SearchText: text_1 })); });
|
292
|
-
}
|
293
|
-
else {
|
294
|
-
var list = props.Filter.SearchText.replace('(', '').replace(')', '').split(',');
|
295
|
-
list = list.filter(function (x) { return x !== ""; });
|
296
|
-
list = list.filter(function (x) { return x !== vli.Value; });
|
297
|
-
var text_2 = "(" + list.join(',') + ")";
|
298
|
-
props.Setter(function (prevSetter) { return (__assign(__assign({}, prevSetter), { SearchText: text_2 })); });
|
299
|
-
}
|
300
|
-
}, value: props.Filter.SearchText.indexOf(vli.Value) >= 0 ? 'on' : 'off', checked: props.Filter.SearchText.indexOf(vli.Value) >= 0 ? true : false }),
|
301
|
-
React.createElement("label", { className: "form-check-label" }, vli.Label))); }))));
|
113
|
+
DefaultSearch.Asset = Asset;
|
114
|
+
/** This Implements a standard AssetGroup Search */
|
115
|
+
function AssetGroup(props) {
|
116
|
+
var standardSearch = { label: 'Name', key: 'AssetName', type: 'string', isPivotField: false };
|
117
|
+
var _a = React.useState([]), addlFieldCols = _a[0], setAddlFieldCols = _a[1];
|
118
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
119
|
+
var searchStatus = (0, react_redux_1.useSelector)(props.Slice.SearchStatus);
|
120
|
+
var sortField = (0, react_redux_1.useSelector)(props.Slice.SortField);
|
121
|
+
var ascending = (0, react_redux_1.useSelector)(props.Slice.Ascending);
|
122
|
+
var data = (0, react_redux_1.useSelector)(props.Slice.SearchResults);
|
123
|
+
var defaultSearchcols = [
|
124
|
+
{ label: 'Name', key: 'Name', type: 'string', isPivotField: false },
|
125
|
+
{ label: 'Number of Meter', key: 'Meters', type: 'integer', isPivotField: false },
|
126
|
+
{ label: 'Number of Transmission Assets', key: 'Assets', type: 'integer', isPivotField: false },
|
127
|
+
{ label: 'Number of Users', key: 'Users', type: 'integer', isPivotField: false },
|
128
|
+
{ label: 'Show in PQ Dashboard', key: 'DisplayDashboard', type: 'boolean', isPivotField: false },
|
129
|
+
];
|
130
|
+
React.useEffect(function () {
|
131
|
+
return props.GetAddlFields(setAddlFieldCols);
|
132
|
+
}, []);
|
133
|
+
return React.createElement(react_interactive_1.SearchBar, { CollumnList: __spreadArray(__spreadArray([], defaultSearchcols, true), addlFieldCols, true), SetFilter: function (flds) { return dispatch(props.Slice.DBSearch({ filter: flds, sortField: sortField, ascending: ascending })); }, Direction: 'left', defaultCollumn: standardSearch, Width: '50%', Label: 'Search', ShowLoading: searchStatus === 'loading', ResultNote: searchStatus === 'error' ? 'Could not complete Search' : 'Found ' + data.length + ' Asset Group(s)', GetEnum: props.GetEnum }, props.children);
|
302
134
|
}
|
303
|
-
|
135
|
+
DefaultSearch.AssetGroup = AssetGroup;
|
136
|
+
})(DefaultSearch = exports.DefaultSearch || (exports.DefaultSearch = {}));
|
@@ -0,0 +1,35 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import { Column } from "@gpa-gemstone/react-table";
|
3
|
+
import { GenericSlice, Search } from "@gpa-gemstone/react-interactive";
|
4
|
+
import { OpenXDA, SystemCenter } from "@gpa-gemstone/application-typings";
|
5
|
+
interface U {
|
6
|
+
ID: number | string;
|
7
|
+
}
|
8
|
+
interface IProps<T extends U> {
|
9
|
+
Slice: GenericSlice<T>;
|
10
|
+
Selection: T[];
|
11
|
+
OnClose: (selected: T[], conf: boolean) => void;
|
12
|
+
Show: boolean;
|
13
|
+
Type?: 'single' | 'multiple';
|
14
|
+
Columns: Column<T>[];
|
15
|
+
Title: string;
|
16
|
+
GetEnum: (setOptions: (options: IOptions[]) => void, field: Search.IField<T>) => () => void;
|
17
|
+
GetAddlFields: (setAddlFields: (cols: Search.IField<T>[]) => void) => () => void;
|
18
|
+
MinSelection?: number;
|
19
|
+
}
|
20
|
+
interface IOptions {
|
21
|
+
Value: string;
|
22
|
+
Label: string;
|
23
|
+
}
|
24
|
+
/** This Implements a few standardized Selection Popups */
|
25
|
+
export declare namespace DefaultSelects {
|
26
|
+
/** This Implements a standard Meter Selection Modal */
|
27
|
+
function Meter(props: IProps<SystemCenter.Types.DetailedMeter>): JSX.Element;
|
28
|
+
/** This Implements a standard Substation Selection Modal */
|
29
|
+
function Location(props: IProps<SystemCenter.Types.DetailedLocation>): JSX.Element;
|
30
|
+
/** This Implements a standard Transmission Asset Selection Modal */
|
31
|
+
function Asset(props: IProps<SystemCenter.Types.DetailedAsset>): JSX.Element;
|
32
|
+
/** This Implements a standard Asset Group Selection Modal */
|
33
|
+
function AssetGroup(props: IProps<OpenXDA.Types.AssetGroup>): JSX.Element;
|
34
|
+
}
|
35
|
+
export {};
|
@@ -0,0 +1,62 @@
|
|
1
|
+
"use strict";
|
2
|
+
// ******************************************************************************************************
|
3
|
+
// SelectionPopup.tsx - Gbtc
|
4
|
+
//
|
5
|
+
// Copyright © 2021, Grid Protection Alliance. All Rights Reserved.
|
6
|
+
//
|
7
|
+
// Licensed to the Grid Protection Alliance (GPA) under one or more contributor license agreements. See
|
8
|
+
// the NOTICE file distributed with this work for additional information regarding copyright ownership.
|
9
|
+
// The GPA licenses this file to you under the MIT License (MIT), the "License"; you may not use this
|
10
|
+
// file except in compliance with the License. You may obtain a copy of the License at:
|
11
|
+
//
|
12
|
+
// http://opensource.org/licenses/MIT
|
13
|
+
//
|
14
|
+
// Unless agreed to in writing, the subject software distributed under the License is distributed on an
|
15
|
+
// "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. Refer to the
|
16
|
+
// License for the specific language governing permissions and limitations.
|
17
|
+
//
|
18
|
+
// Code Modification History:
|
19
|
+
// ----------------------------------------------------------------------------------------------------
|
20
|
+
// 12/19/2021 - C. Lackner
|
21
|
+
// Generated original version of source code.
|
22
|
+
// ******************************************************************************************************
|
23
|
+
var __assign = (this && this.__assign) || function () {
|
24
|
+
__assign = Object.assign || function(t) {
|
25
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
26
|
+
s = arguments[i];
|
27
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
28
|
+
t[p] = s[p];
|
29
|
+
}
|
30
|
+
return t;
|
31
|
+
};
|
32
|
+
return __assign.apply(this, arguments);
|
33
|
+
};
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
35
|
+
exports.DefaultSelects = void 0;
|
36
|
+
var React = require("react");
|
37
|
+
var StandardSelectPopup_1 = require("./StandardSelectPopup");
|
38
|
+
var SearchBar_1 = require("./SearchBar");
|
39
|
+
/** This Implements a few standardized Selection Popups */
|
40
|
+
var DefaultSelects;
|
41
|
+
(function (DefaultSelects) {
|
42
|
+
/** This Implements a standard Meter Selection Modal */
|
43
|
+
function Meter(props) {
|
44
|
+
return React.createElement(StandardSelectPopup_1.default, __assign({}, props, { Searchbar: function (children) { return React.createElement(SearchBar_1.DefaultSearch.Meter, { Slice: props.Slice, GetAddlFields: props.GetAddlFields, GetEnum: props.GetEnum }, children); } }));
|
45
|
+
}
|
46
|
+
DefaultSelects.Meter = Meter;
|
47
|
+
/** This Implements a standard Substation Selection Modal */
|
48
|
+
function Location(props) {
|
49
|
+
return React.createElement(StandardSelectPopup_1.default, __assign({}, props, { Searchbar: function (children) { return React.createElement(SearchBar_1.DefaultSearch.Location, { Slice: props.Slice, GetAddlFields: props.GetAddlFields, GetEnum: props.GetEnum }, children); } }));
|
50
|
+
}
|
51
|
+
DefaultSelects.Location = Location;
|
52
|
+
/** This Implements a standard Transmission Asset Selection Modal */
|
53
|
+
function Asset(props) {
|
54
|
+
return React.createElement(StandardSelectPopup_1.default, __assign({}, props, { Searchbar: function (children) { return React.createElement(SearchBar_1.DefaultSearch.Asset, { Slice: props.Slice, GetAddlFields: props.GetAddlFields, GetEnum: props.GetEnum }, children); } }));
|
55
|
+
}
|
56
|
+
DefaultSelects.Asset = Asset;
|
57
|
+
/** This Implements a standard Asset Group Selection Modal */
|
58
|
+
function AssetGroup(props) {
|
59
|
+
return React.createElement(StandardSelectPopup_1.default, __assign({}, props, { Searchbar: function (children) { return React.createElement(SearchBar_1.DefaultSearch.AssetGroup, { Slice: props.Slice, GetAddlFields: props.GetAddlFields, GetEnum: props.GetEnum }, children); } }));
|
60
|
+
}
|
61
|
+
DefaultSelects.AssetGroup = AssetGroup;
|
62
|
+
})(DefaultSelects = exports.DefaultSelects || (exports.DefaultSelects = {}));
|
package/lib/Setting.js
CHANGED
@@ -28,12 +28,12 @@ var gpa_symbols_1 = require("@gpa-gemstone/gpa-symbols");
|
|
28
28
|
var react_interactive_1 = require("@gpa-gemstone/react-interactive");
|
29
29
|
var react_redux_1 = require("react-redux");
|
30
30
|
function Setting(props) {
|
31
|
-
var dispatch = react_redux_1.useDispatch();
|
32
|
-
var search = react_redux_1.useSelector(props.SettingsSlice.SearchFilters);
|
33
|
-
var searchStatus = react_redux_1.useSelector(props.SettingsSlice.SearchStatus);
|
34
|
-
var data = react_redux_1.useSelector(props.SettingsSlice.SearchResults);
|
35
|
-
var allSettings = react_redux_1.useSelector(props.SettingsSlice.Data);
|
36
|
-
var status = react_redux_1.useSelector(props.SettingsSlice.Status);
|
31
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
32
|
+
var search = (0, react_redux_1.useSelector)(props.SettingsSlice.SearchFilters);
|
33
|
+
var searchStatus = (0, react_redux_1.useSelector)(props.SettingsSlice.SearchStatus);
|
34
|
+
var data = (0, react_redux_1.useSelector)(props.SettingsSlice.SearchResults);
|
35
|
+
var allSettings = (0, react_redux_1.useSelector)(props.SettingsSlice.Data);
|
36
|
+
var status = (0, react_redux_1.useSelector)(props.SettingsSlice.Status);
|
37
37
|
var _a = React.useState('Name'), sortField = _a[0], setSortField = _a[1];
|
38
38
|
var _b = React.useState(true), ascending = _b[0], setAscending = _b[1];
|
39
39
|
var emptySetting = { ID: 0, Name: '', Value: '', DefaultValue: '' };
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { Column } from "@gpa-gemstone/react-table";
|
2
|
+
import * as React from 'react';
|
3
|
+
import { GenericSlice } from "@gpa-gemstone/react-interactive";
|
4
|
+
interface U {
|
5
|
+
ID: number | string;
|
6
|
+
}
|
7
|
+
interface IProps<T extends U> {
|
8
|
+
Slice: GenericSlice<T>;
|
9
|
+
Selection: T[];
|
10
|
+
OnClose: (selected: T[], conf: boolean) => void;
|
11
|
+
Show: boolean;
|
12
|
+
Searchbar: (children: React.ReactNode) => React.ReactNode;
|
13
|
+
Type?: 'single' | 'multiple';
|
14
|
+
Columns: Column<T>[];
|
15
|
+
Title: string;
|
16
|
+
MinSelection?: number;
|
17
|
+
}
|
18
|
+
export default function SelectPopup<T extends U>(props: IProps<T>): JSX.Element;
|
19
|
+
export {};
|
@@ -0,0 +1,98 @@
|
|
1
|
+
"use strict";
|
2
|
+
// ******************************************************************************************************
|
3
|
+
// StandardSelectPopup.tsx - Gbtc
|
4
|
+
//
|
5
|
+
// Copyright © 2021, Grid Protection Alliance. All Rights Reserved.
|
6
|
+
//
|
7
|
+
// Licensed to the Grid Protection Alliance (GPA) under one or more contributor license agreements. See
|
8
|
+
// the NOTICE file distributed with this work for additional information regarding copyright ownership.
|
9
|
+
// The GPA licenses this file to you under the MIT License (MIT), the "License"; you may not use this
|
10
|
+
// file except in compliance with the License. You may obtain a copy of the License at:
|
11
|
+
//
|
12
|
+
// http://opensource.org/licenses/MIT
|
13
|
+
//
|
14
|
+
// Unless agreed to in writing, the subject software distributed under the License is distributed on an
|
15
|
+
// "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. Refer to the
|
16
|
+
// License for the specific language governing permissions and limitations.
|
17
|
+
//
|
18
|
+
// Code Modification History:
|
19
|
+
// ----------------------------------------------------------------------------------------------------
|
20
|
+
// 12/19/2021 - C. Lackner
|
21
|
+
// Generated original version of source code.
|
22
|
+
// ******************************************************************************************************
|
23
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
24
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
25
|
+
if (ar || !(i in from)) {
|
26
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
27
|
+
ar[i] = from[i];
|
28
|
+
}
|
29
|
+
}
|
30
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
31
|
+
};
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
33
|
+
var react_table_1 = require("@gpa-gemstone/react-table");
|
34
|
+
var React = require("react");
|
35
|
+
var react_redux_1 = require("react-redux");
|
36
|
+
var react_interactive_1 = require("@gpa-gemstone/react-interactive");
|
37
|
+
var _ = require("lodash");
|
38
|
+
var gpa_symbols_1 = require("@gpa-gemstone/gpa-symbols");
|
39
|
+
function SelectPopup(props) {
|
40
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
41
|
+
var sortField = (0, react_redux_1.useSelector)(props.Slice.SortField);
|
42
|
+
var ascending = (0, react_redux_1.useSelector)(props.Slice.Ascending);
|
43
|
+
var data = (0, react_redux_1.useSelector)(props.Slice.SearchResults);
|
44
|
+
var _a = React.useState(props.Selection), selectedData = _a[0], setSelectedData = _a[1];
|
45
|
+
var _b = React.useState(''), sortKeySelected = _b[0], setSortKeySelected = _b[1];
|
46
|
+
var _c = React.useState(false), ascendingSelected = _c[0], setAscendingSelected = _c[1];
|
47
|
+
React.useEffect(function () {
|
48
|
+
setSelectedData(props.Selection);
|
49
|
+
}, [props.Selection]);
|
50
|
+
function AddCurrentList() {
|
51
|
+
var updatedData;
|
52
|
+
updatedData = selectedData.concat(data);
|
53
|
+
setSelectedData(_.uniqBy(updatedData, function (d) { return d.ID; }));
|
54
|
+
}
|
55
|
+
return (React.createElement(React.Fragment, null,
|
56
|
+
React.createElement(react_interactive_1.Modal, { Show: props.Show, Title: props.Title, ShowX: true, Size: 'xlg', CallBack: function (conf) { return props.OnClose(selectedData, conf); }, DisableConfirm: props.MinSelection !== undefined && selectedData.length < props.MinSelection, ConfirmShowToolTip: props.MinSelection !== undefined && selectedData.length < props.MinSelection, ConfirmToolTipContent: React.createElement("p", null,
|
57
|
+
gpa_symbols_1.CrossMark,
|
58
|
+
" At least ",
|
59
|
+
props.MinSelection,
|
60
|
+
" items must be selected. ") },
|
61
|
+
React.createElement("div", { className: "row" },
|
62
|
+
React.createElement("div", { className: "col" }, props.Searchbar(props.Type === 'multiple' ? React.createElement("li", { className: "nav-item", style: { width: '20%', paddingRight: 10 } },
|
63
|
+
React.createElement("fieldset", { className: "border", style: { padding: '10px', height: '100%' } },
|
64
|
+
React.createElement("legend", { className: "w-auto", style: { fontSize: 'large' } }, "Quick Selects:"),
|
65
|
+
React.createElement("form", null,
|
66
|
+
React.createElement("div", { className: "form-group" },
|
67
|
+
React.createElement("div", { className: "btn btn-primary", onClick: function (event) { event.preventDefault(); AddCurrentList(); } }, "Add Current List to Selection")),
|
68
|
+
React.createElement("div", { className: "form-group" },
|
69
|
+
React.createElement("div", { className: "btn btn-danger", onClick: function (event) { event.preventDefault(); setSelectedData([]); } }, "Remove All"))))) : null))),
|
70
|
+
React.createElement("div", { className: "row" },
|
71
|
+
React.createElement("div", { className: "col", style: { width: (props.Type === undefined || props.Type === 'single' ? '100%' : '60%') } },
|
72
|
+
React.createElement(react_table_1.default, { cols: props.Columns, tableClass: "table table-hover", data: data, sortKey: sortField, ascending: ascending, onSort: function (d) {
|
73
|
+
if (d.colKey === "Scroll")
|
74
|
+
return;
|
75
|
+
if (d.colKey === sortField)
|
76
|
+
dispatch(props.Slice.Sort({ SortField: sortField, Ascending: ascending }));
|
77
|
+
else {
|
78
|
+
dispatch(props.Slice.Sort({ SortField: d.colField, Ascending: true }));
|
79
|
+
}
|
80
|
+
}, onClick: function (d) { return setSelectedData(__spreadArray(__spreadArray([], selectedData.filter(function (item) { return item.ID !== d.row.ID; }), true), [d.row], false)); }, theadStyle: { fontSize: 'smaller', display: 'table', tableLayout: 'fixed', width: '100%' }, tbodyStyle: { display: 'block', overflowY: 'scroll', maxHeight: '400px', width: '100%' }, rowStyle: { fontSize: 'smaller', display: 'table', tableLayout: 'fixed', width: '100%' }, selected: props.Type === undefined || props.Type === 'single' ? function (item) { return selectedData.findIndex(function (d) { return d.ID === item.ID; }) > -1; } : function (item) { return false; } })),
|
81
|
+
props.Type === 'multiple' ? React.createElement("div", { className: "col", style: { width: '40%' } },
|
82
|
+
React.createElement("div", { style: { width: '100%' } },
|
83
|
+
React.createElement("h3", null, " Selected Assets ")),
|
84
|
+
React.createElement(react_table_1.default, { cols: props.Columns, tableClass: "table table-hover", data: selectedData, sortKey: sortKeySelected, ascending: ascendingSelected, onSort: function (d) {
|
85
|
+
if (d.colKey === sortKeySelected) {
|
86
|
+
var ordered = _.orderBy(selectedData, [d.colKey], [(!ascendingSelected ? "asc" : "desc")]);
|
87
|
+
setAscendingSelected(!ascendingSelected);
|
88
|
+
setSelectedData(ordered);
|
89
|
+
}
|
90
|
+
else {
|
91
|
+
var ordered = _.orderBy(selectedData, [d.colKey], ["asc"]);
|
92
|
+
setAscendingSelected(!ascendingSelected);
|
93
|
+
setSelectedData(ordered);
|
94
|
+
setSortKeySelected(d.colKey);
|
95
|
+
}
|
96
|
+
}, onClick: function () { return true; }, theadStyle: { fontSize: 'smaller', display: 'table', tableLayout: 'fixed', width: '100%' }, tbodyStyle: { display: 'block', overflowY: 'scroll', maxHeight: '400px', width: '100%' }, rowStyle: { fontSize: 'smaller', display: 'table', tableLayout: 'fixed', width: '100%' }, selected: function (item) { return false; } })) : null))));
|
97
|
+
}
|
98
|
+
exports.default = SelectPopup;
|
@@ -39,18 +39,18 @@ var react_interactive_1 = require("@gpa-gemstone/react-interactive");
|
|
39
39
|
var GroupForm_1 = require("./GroupForm");
|
40
40
|
var react_redux_1 = require("react-redux");
|
41
41
|
function ByValueListGroup(props) {
|
42
|
-
var dispatch = react_redux_1.useDispatch();
|
43
|
-
var data = react_redux_1.useSelector(props.ValueListSlice.SearchResults);
|
44
|
-
var dataStatus = react_redux_1.useSelector(props.ValueListSlice.SearchStatus);
|
45
|
-
var groups = react_redux_1.useSelector(props.ValueListSlice.Data);
|
46
|
-
var groupStatus = react_redux_1.useSelector(props.ValueListSlice.Status);
|
42
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
43
|
+
var data = (0, react_redux_1.useSelector)(props.ValueListSlice.SearchResults);
|
44
|
+
var dataStatus = (0, react_redux_1.useSelector)(props.ValueListSlice.SearchStatus);
|
45
|
+
var groups = (0, react_redux_1.useSelector)(props.ValueListSlice.Data);
|
46
|
+
var groupStatus = (0, react_redux_1.useSelector)(props.ValueListSlice.Status);
|
47
47
|
var _a = React.useState('Name'), sortKey = _a[0], setSortKey = _a[1];
|
48
48
|
var _b = React.useState(false), asc = _b[0], setASC = _b[1];
|
49
49
|
var emptyRecord = { ID: 0, Name: '', Description: '' };
|
50
50
|
var _c = React.useState(false), showNew = _c[0], setShowNew = _c[1];
|
51
51
|
var _d = React.useState(emptyRecord), record = _d[0], setRecord = _d[1];
|
52
|
-
var items = react_redux_1.useSelector(props.ValueListItemSlice.Data);
|
53
|
-
var itemStatus = react_redux_1.useSelector(props.ValueListItemSlice.Status);
|
52
|
+
var items = (0, react_redux_1.useSelector)(props.ValueListItemSlice.Data);
|
53
|
+
var itemStatus = (0, react_redux_1.useSelector)(props.ValueListItemSlice.Status);
|
54
54
|
var _e = React.useState([]), search = _e[0], setSearch = _e[1];
|
55
55
|
var _f = React.useState([]), newErrors = _f[0], setNewErrors = _f[1];
|
56
56
|
var _g = React.useState(true), validName = _g[0], setValidName = _g[1];
|
package/lib/ValueList/Group.js
CHANGED
@@ -27,9 +27,9 @@ var GroupInfo_1 = require("./GroupInfo");
|
|
27
27
|
var GroupItem_1 = require("./GroupItem");
|
28
28
|
var react_redux_1 = require("react-redux");
|
29
29
|
function ValueListGroup(props) {
|
30
|
-
var dispatch = react_redux_1.useDispatch();
|
31
|
-
var record = react_redux_1.useSelector(function (state) { return props.ValueListSlice.Data(state).find(function (i) { return i.ID === props.Id; }); });
|
32
|
-
var recordStatus = react_redux_1.useSelector(props.ValueListSlice.Status);
|
30
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
31
|
+
var record = (0, react_redux_1.useSelector)(function (state) { return props.ValueListSlice.Data(state).find(function (i) { return i.ID === props.Id; }); });
|
32
|
+
var recordStatus = (0, react_redux_1.useSelector)(props.ValueListSlice.Status);
|
33
33
|
var _a = React.useState('items'), tab = _a[0], setTab = _a[1];
|
34
34
|
var _b = React.useState(false), showWarning = _b[0], setShowWarning = _b[1];
|
35
35
|
React.useEffect(function () {
|
@@ -39,10 +39,10 @@ var react_table_1 = require("@gpa-gemstone/react-table");
|
|
39
39
|
var gpa_symbols_1 = require("@gpa-gemstone/gpa-symbols");
|
40
40
|
var react_redux_1 = require("react-redux");
|
41
41
|
function GroupItemsWindow(props) {
|
42
|
-
var dispatch = react_redux_1.useDispatch();
|
43
|
-
var recordStatus = react_redux_1.useSelector(props.ValueListItemSlice.Status);
|
44
|
-
var data = react_redux_1.useSelector(props.ValueListItemSlice.Data);
|
45
|
-
var parentID = react_redux_1.useSelector((props.ValueListItemSlice.ParentID === undefined ? function (state) { return -1; } : props.ValueListItemSlice.ParentID));
|
42
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
43
|
+
var recordStatus = (0, react_redux_1.useSelector)(props.ValueListItemSlice.Status);
|
44
|
+
var data = (0, react_redux_1.useSelector)(props.ValueListItemSlice.Data);
|
45
|
+
var parentID = (0, react_redux_1.useSelector)((props.ValueListItemSlice.ParentID === undefined ? function (state) { return -1; } : props.ValueListItemSlice.ParentID));
|
46
46
|
var _a = React.useState('Value'), sortField = _a[0], setSortField = _a[1];
|
47
47
|
var _b = React.useState(false), ascending = _b[0], setAscending = _b[1];
|
48
48
|
var emptyRecord = { ID: 0, GroupID: props.Record.ID, Value: '', AltValue: '', SortOrder: 0 };
|
@@ -34,7 +34,7 @@ function ItemForm(props) {
|
|
34
34
|
e.push('Value has to be less than 200 characters.');
|
35
35
|
if (props.Record.AltValue != null && props.Record.AltValue.length > 200)
|
36
36
|
e.push('Alt Value has to be less than 200 characters.');
|
37
|
-
if (props.Record.SortOrder != null && !helper_functions_1.IsInteger(props.Record.SortOrder))
|
37
|
+
if (props.Record.SortOrder != null && !(0, helper_functions_1.IsInteger)(props.Record.SortOrder))
|
38
38
|
e.push('Sort Order has to be an integer or be left blank.');
|
39
39
|
setErrors(e);
|
40
40
|
}, [props.Record]);
|
@@ -48,7 +48,7 @@ function ItemForm(props) {
|
|
48
48
|
else if (field === 'AltValue')
|
49
49
|
return props.Record.AltValue == null || props.Record.AltValue.length <= 200;
|
50
50
|
else if (field === 'SortOrder')
|
51
|
-
return props.Record.SortOrder == null || helper_functions_1.IsInteger(props.Record.SortOrder);
|
51
|
+
return props.Record.SortOrder == null || (0, helper_functions_1.IsInteger)(props.Record.SortOrder);
|
52
52
|
return true;
|
53
53
|
}
|
54
54
|
return (React.createElement("form", null,
|
package/lib/index.d.ts
CHANGED
@@ -4,4 +4,7 @@ import ByValueList from './ValueList/ByValueList';
|
|
4
4
|
import ValueList from './ValueList/Group';
|
5
5
|
import ByUser from './user/ByUser';
|
6
6
|
import User from './user/User';
|
7
|
-
|
7
|
+
import { DefaultSearch } from './SearchBar';
|
8
|
+
import SelectPopup from './StandardSelectPopup';
|
9
|
+
import { DefaultSelects } from './SelectionPopup';
|
10
|
+
export { Setting, Note, ValueList, ByValueList, User, ByUser, DefaultSearch, SelectPopup, DefaultSelects };
|
package/lib/index.js
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
//
|
23
23
|
// ******************************************************************************************************
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
25
|
-
exports.ByUser = exports.User = exports.ByValueList = exports.ValueList = exports.Note = exports.Setting = void 0;
|
25
|
+
exports.DefaultSelects = exports.SelectPopup = exports.DefaultSearch = exports.ByUser = exports.User = exports.ByValueList = exports.ValueList = exports.Note = exports.Setting = void 0;
|
26
26
|
var Setting_1 = require("./Setting");
|
27
27
|
exports.Setting = Setting_1.default;
|
28
28
|
var Note_1 = require("./Note");
|
@@ -35,3 +35,9 @@ var ByUser_1 = require("./user/ByUser");
|
|
35
35
|
exports.ByUser = ByUser_1.default;
|
36
36
|
var User_1 = require("./user/User");
|
37
37
|
exports.User = User_1.default;
|
38
|
+
var SearchBar_1 = require("./SearchBar");
|
39
|
+
Object.defineProperty(exports, "DefaultSearch", { enumerable: true, get: function () { return SearchBar_1.DefaultSearch; } });
|
40
|
+
var StandardSelectPopup_1 = require("./StandardSelectPopup");
|
41
|
+
exports.SelectPopup = StandardSelectPopup_1.default;
|
42
|
+
var SelectionPopup_1 = require("./SelectionPopup");
|
43
|
+
Object.defineProperty(exports, "DefaultSelects", { enumerable: true, get: function () { return SelectionPopup_1.DefaultSelects; } });
|
@@ -31,10 +31,14 @@ var __assign = (this && this.__assign) || function () {
|
|
31
31
|
};
|
32
32
|
return __assign.apply(this, arguments);
|
33
33
|
};
|
34
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
35
|
-
for (var i = 0,
|
36
|
-
|
37
|
-
|
34
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
35
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
36
|
+
if (ar || !(i in from)) {
|
37
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
38
|
+
ar[i] = from[i];
|
39
|
+
}
|
40
|
+
}
|
41
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
38
42
|
};
|
39
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
40
44
|
var React = require("react");
|
@@ -45,20 +49,20 @@ var react_forms_1 = require("@gpa-gemstone/react-forms");
|
|
45
49
|
var react_redux_1 = require("react-redux");
|
46
50
|
var helper_functions_1 = require("@gpa-gemstone/helper-functions");
|
47
51
|
function AdditionalField(props) {
|
48
|
-
var dispatch = react_redux_1.useDispatch();
|
49
|
-
var valueListItems = react_redux_1.useSelector(props.ValueListItemSlice.Data);
|
50
|
-
var valueListItemStatus = react_redux_1.useSelector(props.ValueListItemSlice.Status);
|
51
|
-
var valueListGroups = react_redux_1.useSelector(props.ValueListGroupSlice.Data);
|
52
|
-
var valueListGroupStatus = react_redux_1.useSelector(props.ValueListGroupSlice.Status);
|
53
|
-
var fields = react_redux_1.useSelector(props.AdditionalFieldSlice.Fields);
|
54
|
-
var values = react_redux_1.useSelector(props.AdditionalFieldSlice.Values);
|
55
|
-
var fieldStatus = react_redux_1.useSelector(props.AdditionalFieldSlice.FieldStatus);
|
56
|
-
var valueStatus = react_redux_1.useSelector(props.AdditionalFieldSlice.ValueStatus);
|
57
|
-
var valueParentID = react_redux_1.useSelector(props.AdditionalFieldSlice.ValueParentId);
|
52
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
53
|
+
var valueListItems = (0, react_redux_1.useSelector)(props.ValueListItemSlice.Data);
|
54
|
+
var valueListItemStatus = (0, react_redux_1.useSelector)(props.ValueListItemSlice.Status);
|
55
|
+
var valueListGroups = (0, react_redux_1.useSelector)(props.ValueListGroupSlice.Data);
|
56
|
+
var valueListGroupStatus = (0, react_redux_1.useSelector)(props.ValueListGroupSlice.Status);
|
57
|
+
var fields = (0, react_redux_1.useSelector)(props.AdditionalFieldSlice.Fields);
|
58
|
+
var values = (0, react_redux_1.useSelector)(props.AdditionalFieldSlice.Values);
|
59
|
+
var fieldStatus = (0, react_redux_1.useSelector)(props.AdditionalFieldSlice.FieldStatus);
|
60
|
+
var valueStatus = (0, react_redux_1.useSelector)(props.AdditionalFieldSlice.ValueStatus);
|
61
|
+
var valueParentID = (0, react_redux_1.useSelector)(props.AdditionalFieldSlice.ValueParentId);
|
58
62
|
var _a = React.useState('unintiated'), pageStatus = _a[0], setPageStatus = _a[1];
|
59
63
|
var _b = React.useState([]), editValues = _b[0], setEditValues = _b[1];
|
60
|
-
var sortField = react_redux_1.useSelector(props.AdditionalFieldSlice.SortField);
|
61
|
-
var ascending = react_redux_1.useSelector(props.AdditionalFieldSlice.Ascending);
|
64
|
+
var sortField = (0, react_redux_1.useSelector)(props.AdditionalFieldSlice.SortField);
|
65
|
+
var ascending = (0, react_redux_1.useSelector)(props.AdditionalFieldSlice.Ascending);
|
62
66
|
var _c = React.useState(props.EmptyField), newField = _c[0], setNewField = _c[1];
|
63
67
|
var _d = React.useState(false), showWarning = _d[0], setShowWarning = _d[1];
|
64
68
|
var _e = React.useState(false), showEdit = _e[0], setShowEdit = _e[1];
|
@@ -111,9 +115,9 @@ function AdditionalField(props) {
|
|
111
115
|
c.push(fields[fldIndex].FieldName);
|
112
116
|
else if (fldIndex > -1 && v.Value !== values[eIndex].Value)
|
113
117
|
c.push(fields[fldIndex].FieldName);
|
114
|
-
if (fldIndex > -1 && fields[fldIndex].Type === 'integer' && !helper_functions_1.IsInteger(v.Value))
|
118
|
+
if (fldIndex > -1 && fields[fldIndex].Type === 'integer' && !(0, helper_functions_1.IsInteger)(v.Value))
|
115
119
|
e.push("'" + fields[fldIndex].FieldName + "' has to be a valid integer");
|
116
|
-
if (fldIndex > -1 && fields[fldIndex].Type === 'number' && !helper_functions_1.IsNumber(v.Value))
|
120
|
+
if (fldIndex > -1 && fields[fldIndex].Type === 'number' && !(0, helper_functions_1.IsNumber)(v.Value))
|
117
121
|
e.push("'" + fields[fldIndex].FieldName + "' has to be a valid number");
|
118
122
|
});
|
119
123
|
setErrorFields(e);
|
@@ -154,8 +158,8 @@ function AdditionalField(props) {
|
|
154
158
|
var vList = valueListItems.filter(function (i) { return i.GroupID === valueListgrpId; });
|
155
159
|
var valIdx = props.GetFieldValueIndex(item, editValues);
|
156
160
|
if (valIdx > -1)
|
157
|
-
return React.createElement(ValueDisplay, { Mode: mode, Type: item.Type, ValueListItems: vList, Value: editValues[valIdx], Setter: function (val) { return setEditValues(function (d) { var u = __spreadArray([], d); u[valIdx] = val; return u; }); } });
|
158
|
-
return React.createElement(ValueDisplay, { Mode: mode, Type: item.Type, ValueListItems: vList, Value: props.CreateValue(item), Setter: function (val) { return setEditValues(function (d) { var u = __spreadArray([], d); u.push(val); return u; }); } });
|
161
|
+
return React.createElement(ValueDisplay, { Mode: mode, Type: item.Type, ValueListItems: vList, Value: editValues[valIdx], Setter: function (val) { return setEditValues(function (d) { var u = __spreadArray([], d, true); u[valIdx] = val; return u; }); } });
|
162
|
+
return React.createElement(ValueDisplay, { Mode: mode, Type: item.Type, ValueListItems: vList, Value: props.CreateValue(item), Setter: function (val) { return setEditValues(function (d) { var u = __spreadArray([], d, true); u.push(val); return u; }); } });
|
159
163
|
}
|
160
164
|
},
|
161
165
|
{ key: 'EditButton', label: '', headerStyle: { width: 40, paddingRight: 0, paddingLeft: 10 }, rowStyle: { width: 40, paddingRight: 0, paddingLeft: 10, paddingTop: 36 }, content: function (item) { return (mode === 'Edit' ? React.createElement("button", { className: "btn btn-sm", onClick: function () { setNewField(item); setShowEdit(true); } },
|
@@ -248,9 +252,9 @@ function ValueDisplay(props) {
|
|
248
252
|
return React.createElement("span", null, props.Value.Value);
|
249
253
|
}
|
250
254
|
if (props.Type === 'number')
|
251
|
-
return React.createElement(react_forms_1.Input, { Record: props.Value, Field: 'Value', Valid: function () { return helper_functions_1.IsInteger(props.Value.Value); }, Label: '', Type: 'number', Setter: props.Setter, Feedback: 'Thi Field is a numeric field.' });
|
255
|
+
return React.createElement(react_forms_1.Input, { Record: props.Value, Field: 'Value', Valid: function () { return (0, helper_functions_1.IsInteger)(props.Value.Value); }, Label: '', Type: 'number', Setter: props.Setter, Feedback: 'Thi Field is a numeric field.' });
|
252
256
|
if (props.Type === 'integer')
|
253
|
-
return React.createElement(react_forms_1.Input, { Record: props.Value, Field: 'Value', Valid: function () { return helper_functions_1.IsNumber(props.Value.Value); }, Label: '', Type: 'number', Setter: props.Setter, Feedback: 'Thi Field is an integer field.' });
|
257
|
+
return React.createElement(react_forms_1.Input, { Record: props.Value, Field: 'Value', Valid: function () { return (0, helper_functions_1.IsNumber)(props.Value.Value); }, Label: '', Type: 'number', Setter: props.Setter, Feedback: 'Thi Field is an integer field.' });
|
254
258
|
else if (props.Type === 'string')
|
255
259
|
return React.createElement(react_forms_1.Input, { Record: props.Value, Field: 'Value', Valid: function () { return true; }, Label: '', Type: 'text', Setter: props.Setter });
|
256
260
|
else if (props.Type === 'boolean')
|
package/lib/user/ByUser.js
CHANGED
@@ -48,23 +48,23 @@ var defaultSearchcols = [
|
|
48
48
|
{ label: 'Email', key: 'Email', type: 'string', isPivotField: false },
|
49
49
|
];
|
50
50
|
function ByUser(props) {
|
51
|
-
var dispatch = react_redux_1.useDispatch();
|
52
|
-
var search = react_redux_1.useSelector(props.UserSlice.SearchFilters);
|
53
|
-
var data = react_redux_1.useSelector(props.UserSlice.SearchResults);
|
54
|
-
var userStatus = react_redux_1.useSelector(props.UserSlice.Status);
|
55
|
-
var searchStatus = react_redux_1.useSelector(props.UserSlice.SearchStatus);
|
56
|
-
var sortField = react_redux_1.useSelector(props.UserSlice.SortField);
|
57
|
-
var ascending = react_redux_1.useSelector(props.UserSlice.Ascending);
|
58
|
-
var currentUserAccount = react_redux_1.useSelector(props.UserSlice.CurrentUser);
|
59
|
-
var adlFields = react_redux_1.useSelector(props.AdditionalFieldSlice.Fields);
|
60
|
-
var adlFieldStatus = react_redux_1.useSelector(props.AdditionalFieldSlice.FieldStatus);
|
51
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
52
|
+
var search = (0, react_redux_1.useSelector)(props.UserSlice.SearchFilters);
|
53
|
+
var data = (0, react_redux_1.useSelector)(props.UserSlice.SearchResults);
|
54
|
+
var userStatus = (0, react_redux_1.useSelector)(props.UserSlice.Status);
|
55
|
+
var searchStatus = (0, react_redux_1.useSelector)(props.UserSlice.SearchStatus);
|
56
|
+
var sortField = (0, react_redux_1.useSelector)(props.UserSlice.SortField);
|
57
|
+
var ascending = (0, react_redux_1.useSelector)(props.UserSlice.Ascending);
|
58
|
+
var currentUserAccount = (0, react_redux_1.useSelector)(props.UserSlice.CurrentUser);
|
59
|
+
var adlFields = (0, react_redux_1.useSelector)(props.AdditionalFieldSlice.Fields);
|
60
|
+
var adlFieldStatus = (0, react_redux_1.useSelector)(props.AdditionalFieldSlice.FieldStatus);
|
61
61
|
var _a = React.useState(defaultSearchcols), filterableList = _a[0], setFilterableList = _a[1];
|
62
62
|
var _b = React.useState(false), showModal = _b[0], setShowModal = _b[1];
|
63
63
|
var _c = React.useState([]), userError = _c[0], setUserError = _c[1];
|
64
|
-
var valueListItems = react_redux_1.useSelector(props.ValueListItemSlice.Data);
|
65
|
-
var valueListItemStatus = react_redux_1.useSelector(props.ValueListItemSlice.Status);
|
66
|
-
var valueListGroups = react_redux_1.useSelector(props.ValueListGroupSlice.Data);
|
67
|
-
var valueListGroupStatus = react_redux_1.useSelector(props.ValueListGroupSlice.Status);
|
64
|
+
var valueListItems = (0, react_redux_1.useSelector)(props.ValueListItemSlice.Data);
|
65
|
+
var valueListItemStatus = (0, react_redux_1.useSelector)(props.ValueListItemSlice.Status);
|
66
|
+
var valueListGroups = (0, react_redux_1.useSelector)(props.ValueListGroupSlice.Data);
|
67
|
+
var valueListGroupStatus = (0, react_redux_1.useSelector)(props.ValueListGroupSlice.Status);
|
68
68
|
var _d = React.useState('unintiated'), pageStatus = _d[0], setPageStatus = _d[1];
|
69
69
|
React.useEffect(function () {
|
70
70
|
if (userStatus === 'error' || adlFieldStatus === 'error' || valueListItemStatus === 'error' || valueListGroupStatus === 'error')
|
package/lib/user/User.js
CHANGED
@@ -29,9 +29,9 @@ var AdditionalField_1 = require("./AdditionalField");
|
|
29
29
|
var react_redux_1 = require("react-redux");
|
30
30
|
var react_forms_1 = require("@gpa-gemstone/react-forms");
|
31
31
|
function User(props) {
|
32
|
-
var dispatch = react_redux_1.useDispatch();
|
33
|
-
var user = react_redux_1.useSelector(props.UserSlice.CurrentUser);
|
34
|
-
var status = react_redux_1.useSelector(props.UserSlice.Status);
|
32
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
33
|
+
var user = (0, react_redux_1.useSelector)(props.UserSlice.CurrentUser);
|
34
|
+
var status = (0, react_redux_1.useSelector)(props.UserSlice.Status);
|
35
35
|
var _a = React.useState('userInfo'), tab = _a[0], setTab = _a[1];
|
36
36
|
var _b = React.useState(false), showWarning = _b[0], setShowWarning = _b[1];
|
37
37
|
React.useEffect(function () {
|
package/lib/user/UserForm.js
CHANGED
@@ -26,9 +26,9 @@ var react_forms_1 = require("@gpa-gemstone/react-forms");
|
|
26
26
|
var _ = require("lodash");
|
27
27
|
var react_redux_1 = require("react-redux");
|
28
28
|
function UserForm(props) {
|
29
|
-
var dispatch = react_redux_1.useDispatch();
|
29
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
30
30
|
var _a = React.useState(false), updatedAD = _a[0], setUpdatedAD = _a[1];
|
31
|
-
var userValidation = react_redux_1.useSelector(props.UserSlice.ADValidation);
|
31
|
+
var userValidation = (0, react_redux_1.useSelector)(props.UserSlice.ADValidation);
|
32
32
|
var _b = React.useState([]), userError = _b[0], setUserError = _b[1];
|
33
33
|
React.useEffect(function () {
|
34
34
|
if (userValidation === 'Valid' && !props.Edit && updatedAD === false)
|
package/lib/user/UserInfo.js
CHANGED
@@ -39,8 +39,8 @@ var react_interactive_1 = require("@gpa-gemstone/react-interactive");
|
|
39
39
|
var gpa_symbols_1 = require("@gpa-gemstone/gpa-symbols");
|
40
40
|
var react_redux_1 = require("react-redux");
|
41
41
|
function UserInfo(props) {
|
42
|
-
var dispatch = react_redux_1.useDispatch();
|
43
|
-
var currentUser = react_redux_1.useSelector(props.UserSlice.CurrentUser);
|
42
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
43
|
+
var currentUser = (0, react_redux_1.useSelector)(props.UserSlice.CurrentUser);
|
44
44
|
var _a = React.useState(currentUser), user = _a[0], setUser = _a[1];
|
45
45
|
var _b = React.useState([]), warnings = _b[0], setWarning = _b[1];
|
46
46
|
var _c = React.useState('None'), hover = _c[0], setHover = _c[1];
|
@@ -26,11 +26,11 @@ var _ = require("lodash");
|
|
26
26
|
var react_forms_1 = require("@gpa-gemstone/react-forms");
|
27
27
|
var react_redux_1 = require("react-redux");
|
28
28
|
function UserPermission(props) {
|
29
|
-
var dispatch = react_redux_1.useDispatch();
|
30
|
-
var currentRoles = react_redux_1.useSelector(props.RoleSlice.Roles);
|
31
|
-
var allRoleStatus = react_redux_1.useSelector(props.RoleSlice.Status);
|
32
|
-
var availableRoles = react_redux_1.useSelector(props.RoleSlice.AvailableRoles);
|
33
|
-
var currentRoleStatus = react_redux_1.useSelector(props.RoleSlice.CurrentRoleStatus);
|
29
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
30
|
+
var currentRoles = (0, react_redux_1.useSelector)(props.RoleSlice.Roles);
|
31
|
+
var allRoleStatus = (0, react_redux_1.useSelector)(props.RoleSlice.Status);
|
32
|
+
var availableRoles = (0, react_redux_1.useSelector)(props.RoleSlice.AvailableRoles);
|
33
|
+
var currentRoleStatus = (0, react_redux_1.useSelector)(props.RoleSlice.CurrentRoleStatus);
|
34
34
|
var _a = React.useState([]), workingRoles = _a[0], setWorkingRoles = _a[1];
|
35
35
|
var _b = React.useState(false), changed = _b[0], setChanged = _b[1];
|
36
36
|
React.useEffect(function () {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@gpa-gemstone/common-pages",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.23",
|
4
4
|
"description": "Common UI pages for GPA products",
|
5
5
|
"main": "lib/index.js",
|
6
6
|
"types": "lib/index.d.ts",
|
@@ -36,29 +36,29 @@
|
|
36
36
|
},
|
37
37
|
"homepage": "https://github.com/GridProtectionAlliance/gpa-gemstone#readme",
|
38
38
|
"devDependencies": {
|
39
|
+
"@types/crypto-js": "4.0.2",
|
39
40
|
"@types/jest": "^26.0.4",
|
41
|
+
"@types/jquery": "3.5.6",
|
40
42
|
"jest": "^27.0.6",
|
41
43
|
"prettier": "^2.3.2",
|
42
44
|
"ts-jest": "^27.0.3",
|
43
45
|
"tslint": "^6.1.3",
|
44
46
|
"tslint-config-prettier": "^1.18.0",
|
45
|
-
"typescript": "4.
|
46
|
-
"@types/jquery": "3.5.6",
|
47
|
-
"@types/crypto-js": "4.0.2"
|
47
|
+
"typescript": "4.4.4"
|
48
48
|
},
|
49
49
|
"dependencies": {
|
50
|
-
"@gpa-gemstone/application-typings": "
|
51
|
-
"@gpa-gemstone/gpa-symbols": "
|
52
|
-
"@gpa-gemstone/
|
53
|
-
"@gpa-gemstone/react-
|
54
|
-
"@gpa-gemstone/react-
|
55
|
-
"@gpa-gemstone/
|
50
|
+
"@gpa-gemstone/application-typings": "",
|
51
|
+
"@gpa-gemstone/gpa-symbols": "",
|
52
|
+
"@gpa-gemstone/helper-functions": "",
|
53
|
+
"@gpa-gemstone/react-forms": "",
|
54
|
+
"@gpa-gemstone/react-interactive": "",
|
55
|
+
"@gpa-gemstone/react-table": "",
|
56
|
+
"@reduxjs/toolkit": "1.6.0",
|
57
|
+
"crypto-js": "4.0.0",
|
56
58
|
"moment": "^2.29.1",
|
57
59
|
"react": "^17.0.2",
|
58
|
-
"
|
59
|
-
"
|
60
|
-
"react-redux": "7.2.4",
|
61
|
-
"@reduxjs/toolkit": "1.6.0"
|
60
|
+
"react-redux": "7.2.6",
|
61
|
+
"styled-components": "^5.3.3"
|
62
62
|
},
|
63
63
|
"publishConfig": {
|
64
64
|
"access": "public"
|