@gpa-gemstone/common-pages 0.0.62 → 0.0.64
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/Note.d.ts +2 -0
- package/lib/Note.js +80 -35
- package/lib/SearchBar.js +1 -1
- package/package.json +60 -66
package/lib/Note.d.ts
CHANGED
package/lib/Note.js
CHANGED
@@ -41,14 +41,52 @@ var moment = require("moment");
|
|
41
41
|
var react_redux_1 = require("react-redux");
|
42
42
|
function Note(props) {
|
43
43
|
var dispatch = (0, react_redux_1.useDispatch)();
|
44
|
+
var standardCollumns = [
|
45
|
+
{
|
46
|
+
key: 'Note', field: 'Note', label: 'Note',
|
47
|
+
headerStyle: { width: '50%' }, rowStyle: { width: '50%' }
|
48
|
+
},
|
49
|
+
{
|
50
|
+
key: 'Timestamp', field: 'Timestamp', label: 'Time',
|
51
|
+
headerStyle: { width: 'auto' }, rowStyle: { width: 'auto' },
|
52
|
+
content: function (item) { return moment.utc(item.Timestamp).format("MM/DD/YYYY HH:mm"); }
|
53
|
+
},
|
54
|
+
{
|
55
|
+
key: 'UserAccount', field: 'UserAccount', label: 'User',
|
56
|
+
headerStyle: { width: 'auto' }, rowStyle: { width: 'auto' }
|
57
|
+
},
|
58
|
+
{
|
59
|
+
key: 'buttons',
|
60
|
+
label: '',
|
61
|
+
headerStyle: { width: 'auto' }, rowStyle: { width: 'auto' },
|
62
|
+
content: function (item) { return React.createElement(React.Fragment, null,
|
63
|
+
allowEdit ? React.createElement("button", { className: "btn btn-sm", onClick: function () { return handleEdit(item); } },
|
64
|
+
React.createElement("span", null,
|
65
|
+
" ",
|
66
|
+
gpa_symbols_1.Pencil,
|
67
|
+
" ")) : null,
|
68
|
+
allowRemove ? React.createElement("button", { className: "btn btn-sm", onClick: function () { return dispatch(props.NoteSlice.DBAction({ verb: 'DELETE', record: item })); } },
|
69
|
+
React.createElement("span", null,
|
70
|
+
" ",
|
71
|
+
gpa_symbols_1.TrashCan,
|
72
|
+
" ")) : null); }
|
73
|
+
}
|
74
|
+
];
|
75
|
+
var allowEdit = props.AllowEdit === undefined ? true : props.AllowEdit;
|
76
|
+
var allowRemove = props.AllowRemove === undefined ? true : props.AllowRemove;
|
77
|
+
var allowAdd = props.AllowAdd === undefined ? true : props.AllowAdd;
|
78
|
+
var useFixedApp = props.NoteApplications.length === 1 || props.DefaultApplication !== undefined;
|
79
|
+
var defaultApplication = props.DefaultApplication !== undefined ? props.DefaultApplication : props.NoteApplications[0];
|
80
|
+
var showCard = props.ShowCard === undefined || props.ShowCard;
|
44
81
|
var _a = React.useState(false), showEdit = _a[0], setEdit = _a[1];
|
45
82
|
var _b = React.useState('none'), hover = _b[0], setHover = _b[1];
|
83
|
+
var _c = React.useState(standardCollumns), collumns = _c[0], setCollumns = _c[1];
|
46
84
|
var data = (0, react_redux_1.useSelector)(props.NoteSlice.Data);
|
47
85
|
var dataStatus = (0, react_redux_1.useSelector)(props.NoteSlice.Status);
|
48
86
|
var parentID = (0, react_redux_1.useSelector)((props.NoteSlice.ParentID === undefined ? function (state) { return props.ReferenceTableID; } : props.NoteSlice.ParentID));
|
49
87
|
var sortField = (0, react_redux_1.useSelector)(props.NoteSlice.SortField);
|
50
88
|
var ascending = (0, react_redux_1.useSelector)(props.NoteSlice.Ascending);
|
51
|
-
var
|
89
|
+
var _d = React.useState(CreateNewNote()), note = _d[0], setNote = _d[1];
|
52
90
|
React.useEffect(function () {
|
53
91
|
if (dataStatus === 'unintiated' || dataStatus === 'changed' || parentID !== props.ReferenceTableID)
|
54
92
|
dispatch(props.NoteSlice.Fetch(props.ReferenceTableID));
|
@@ -73,15 +111,22 @@ function Note(props) {
|
|
73
111
|
return;
|
74
112
|
setNote(function (n) { return (__assign(__assign({}, n), { ReferenceTableID: props.ReferenceTableID !== undefined ? props.ReferenceTableID : -1 })); });
|
75
113
|
}, [props.ReferenceTableID]);
|
76
|
-
|
77
|
-
|
78
|
-
|
114
|
+
React.useEffect(function () {
|
115
|
+
var c = standardCollumns;
|
116
|
+
if (props.NoteTags.length > 1)
|
117
|
+
c.push({ key: 'NoteTagID', field: 'NoteTagID', label: 'Type', headerStyle: { width: 'auto' }, rowStyle: { width: 'auto' },
|
118
|
+
content: function (n) { var _a; return (_a = props.NoteTags.find(function (t) { return t.ID === n.NoteTagID; })) === null || _a === void 0 ? void 0 : _a.Name; } });
|
119
|
+
if (props.NoteApplications.length > 1)
|
120
|
+
c.push({ key: 'NoteApplicationID', field: 'NoteApplicationID', label: 'Application', headerStyle: { width: 'auto' }, rowStyle: { width: 'auto' },
|
121
|
+
content: function (n) { var _a; return (_a = props.NoteApplications.find(function (t) { return t.ID === n.NoteApplicationID; })) === null || _a === void 0 ? void 0 : _a.Name; } });
|
122
|
+
setCollumns(c);
|
123
|
+
}, [props.NoteTags, props.NoteApplications]);
|
79
124
|
function CreateNewNote() {
|
80
125
|
var newNote = { ID: -1, ReferenceTableID: -1, NoteTagID: -1, NoteTypeID: -1, NoteApplicationID: -1, Timestamp: '', UserAccount: '', Note: '' };
|
81
126
|
if (props.ReferenceTableID !== undefined)
|
82
127
|
newNote.ReferenceTableID = props.ReferenceTableID;
|
83
|
-
if (
|
84
|
-
newNote.NoteApplicationID =
|
128
|
+
if (defaultApplication != null)
|
129
|
+
newNote.NoteApplicationID = defaultApplication.ID;
|
85
130
|
if (props.NoteTypes.length > 0)
|
86
131
|
newNote.NoteTypeID = props.NoteTypes[0].ID;
|
87
132
|
if (props.NoteTags.length > 0)
|
@@ -108,48 +153,47 @@ function Note(props) {
|
|
108
153
|
return (React.createElement("div", { style: { width: '100%', height: '100%' } },
|
109
154
|
React.createElement("div", { style: { height: '40px', margin: 'auto', marginTop: 'calc(50% - 20 px)' } },
|
110
155
|
React.createElement(react_interactive_1.ServerErrorIcon, { Show: true, Size: 40, Label: 'A Server Error Occured. Please Reload the Application' }))));
|
111
|
-
return (React.createElement("div", { className: "card", style: { marginBottom: 10, maxHeight: props.MaxHeight, width: '100%' } },
|
156
|
+
return (React.createElement("div", { className: showCard ? "card" : "", style: { marginBottom: 10, maxHeight: props.MaxHeight, width: '100%' } },
|
112
157
|
React.createElement(react_interactive_1.LoadingScreen, { Show: dataStatus === 'loading' }),
|
113
|
-
React.createElement("div", { className: "card-header" },
|
158
|
+
React.createElement("div", { className: props.ShowCard === undefined || props.ShowCard ? "card-header" : "" },
|
114
159
|
React.createElement("div", { className: "row" },
|
115
160
|
React.createElement("div", { className: "col" },
|
116
161
|
React.createElement("h4", null, props.Title !== undefined ? props.Title : 'Notes:')))),
|
117
|
-
React.createElement("div", { className: "card-body", style: { maxHeight: props.MaxHeight - 100, overflowY: 'auto', width: '100%' } },
|
162
|
+
React.createElement("div", { className: showCard ? "card-body" : "", style: { maxHeight: props.MaxHeight - 100, overflowY: 'auto', width: '100%' } },
|
163
|
+
allowAdd && !showCard ?
|
164
|
+
React.createElement(React.Fragment, null,
|
165
|
+
React.createElement(NoteOptions, { Record: note, Setter: function (n) { return setNote(n); }, NoteTags: props.NoteTags, NoteTypes: props.NoteTypes, NoteApplications: props.NoteApplications, ShowApplications: !useFixedApp }),
|
166
|
+
React.createElement("div", { className: "btn-group mr-2" },
|
167
|
+
React.createElement("button", { className: "btn btn-primary" + (note.Note === null || note.Note.length === 0 ? ' disabled' : ''), onClick: function () { if (note.Note !== null && note.Note.length > 0)
|
168
|
+
handleAdd(note); }, "data-tooltip": "Add", style: { cursor: note.Note === null || note.Note.length === 0 ? 'not-allowed' : 'pointer' }, onMouseOver: function () { return setHover('add'); }, onMouseOut: function () { return setHover('none'); } }, "Add Note"),
|
169
|
+
React.createElement(react_interactive_1.ToolTip, { Show: hover === 'add' && (note.Note === null || note.Note.length === 0), Position: 'top', Theme: 'dark', Target: "Add" },
|
170
|
+
React.createElement("p", null,
|
171
|
+
gpa_symbols_1.CrossMark,
|
172
|
+
" A note needs to be entered. "))),
|
173
|
+
React.createElement("div", { className: "btn-group mr-2" },
|
174
|
+
React.createElement("button", { className: "btn btn-default" + (note.Note === null || note.Note.length === 0 ? ' disabled' : ''), onClick: function () { return setNote(function (n) { return (__assign(__assign({}, n), { Note: '' })); }); }, style: { cursor: note.Note === null || note.Note.length === 0 ? 'not-allowed' : 'pointer' }, "data-tooltip": "Remove", onMouseOver: function () { return setHover('clear'); }, onMouseOut: function () { return setHover('none'); } }, "Clear"),
|
175
|
+
React.createElement(react_interactive_1.ToolTip, { Show: hover === 'clear' && (note.Note === null || note.Note.length === 0), Position: 'top', Theme: 'dark', Target: "Remove" },
|
176
|
+
React.createElement("p", null,
|
177
|
+
gpa_symbols_1.CrossMark,
|
178
|
+
" The note field is already empty. ")))) : null,
|
118
179
|
React.createElement("div", null,
|
119
|
-
React.createElement(react_table_1.default, { cols:
|
120
|
-
{ key: 'Note', field: 'Note', label: 'Note', headerStyle: { width: '50%' }, rowStyle: { width: '50%' } },
|
121
|
-
{ key: 'Timestamp', field: 'Timestamp', label: 'Time', headerStyle: { width: 'auto' }, rowStyle: { width: 'auto' }, content: function (item) { return moment.utc(item.Timestamp).format("MM/DD/YYYY HH:mm"); } },
|
122
|
-
{ key: 'UserAccount', field: 'UserAccount', label: 'User', headerStyle: { width: 'auto' }, rowStyle: { width: 'auto' } },
|
123
|
-
{
|
124
|
-
key: 'buttons', label: '', headerStyle: { width: 'auto' }, rowStyle: { width: 'auto' }, content: function (item) { return React.createElement(React.Fragment, null,
|
125
|
-
allowEdit ? React.createElement("button", { className: "btn btn-sm", onClick: function () { return handleEdit(item); } },
|
126
|
-
React.createElement("span", null,
|
127
|
-
" ",
|
128
|
-
gpa_symbols_1.Pencil,
|
129
|
-
" ")) : null,
|
130
|
-
allowRemove ? React.createElement("button", { className: "btn btn-sm", onClick: function () { return dispatch(props.NoteSlice.DBAction({ verb: 'DELETE', record: item })); } },
|
131
|
-
React.createElement("span", null,
|
132
|
-
" ",
|
133
|
-
gpa_symbols_1.TrashCan,
|
134
|
-
" ")) : null); }
|
135
|
-
},
|
136
|
-
], tableClass: "table table-hover", data: data, sortKey: sortField, ascending: ascending, onSort: function (d) {
|
180
|
+
React.createElement(react_table_1.default, { cols: collumns, tableClass: "table table-hover", data: data, sortKey: sortField, ascending: ascending, onSort: function (d) {
|
137
181
|
if (d.colField === undefined)
|
138
182
|
return;
|
139
183
|
if (d.colField === sortField)
|
140
184
|
dispatch(props.NoteSlice.Sort({ SortField: sortField, Ascending: ascending }));
|
141
185
|
else
|
142
186
|
dispatch(props.NoteSlice.Sort({ SortField: d.colField, Ascending: true }));
|
143
|
-
}, onClick: function () { return; }, theadStyle: { fontSize: 'smaller', display: 'table', tableLayout: 'fixed', width: '100%' }, tbodyStyle: { display: 'block', overflowY: 'scroll', maxHeight:
|
144
|
-
allowAdd ?
|
145
|
-
React.createElement(NoteOptions, { Record: note, Setter: function (n) { return setNote(n); }, NoteTags: props.NoteTags, NoteTypes: props.NoteTypes, NoteApplications: props.NoteApplications })
|
187
|
+
}, onClick: function () { return; }, theadStyle: { fontSize: 'smaller', display: 'table', tableLayout: 'fixed', width: '100%' }, tbodyStyle: { display: 'block', overflowY: 'scroll', maxHeight: props.MaxHeight - 300, width: '100%' }, rowStyle: { fontSize: 'smaller', display: 'table', tableLayout: 'fixed', width: '100%' }, selected: function () { return false; } })),
|
188
|
+
allowAdd && showCard ?
|
189
|
+
React.createElement(NoteOptions, { Record: note, Setter: function (n) { return setNote(n); }, NoteTags: props.NoteTags, NoteTypes: props.NoteTypes, NoteApplications: props.NoteApplications, ShowApplications: !useFixedApp })
|
146
190
|
: null,
|
147
191
|
React.createElement(react_interactive_1.Modal, { Show: showEdit, Title: 'Edit Note', ShowCancel: true, CallBack: handleSaveEdit, DisableConfirm: note.Note == null || note.Note.length === 0, ShowX: true, ConfirmShowToolTip: note.Note == null || note.Note.length === 0, ConfirmToolTipContent: React.createElement("p", null,
|
148
192
|
" ",
|
149
193
|
gpa_symbols_1.CrossMark,
|
150
194
|
" An empty Note can not be saved. ") },
|
151
|
-
React.createElement(NoteOptions, { Record: note, Setter: function (n) { return setNote(n); }, NoteTags: props.NoteTags, NoteTypes: props.NoteTypes, NoteApplications: props.NoteApplications }))),
|
152
|
-
allowAdd ?
|
195
|
+
React.createElement(NoteOptions, { ShowApplications: !useFixedApp, Record: note, Setter: function (n) { return setNote(n); }, NoteTags: props.NoteTags, NoteTypes: props.NoteTypes, NoteApplications: props.NoteApplications }))),
|
196
|
+
allowAdd && showCard ?
|
153
197
|
React.createElement("div", { className: "card-footer" },
|
154
198
|
React.createElement("div", { className: "btn-group mr-2" },
|
155
199
|
React.createElement("button", { className: "btn btn-primary" + (note.Note === null || note.Note.length === 0 ? ' disabled' : ''), onClick: function () { if (note.Note !== null && note.Note.length > 0)
|
@@ -164,16 +208,17 @@ function Note(props) {
|
|
164
208
|
React.createElement("p", null,
|
165
209
|
gpa_symbols_1.CrossMark,
|
166
210
|
" The note field is already empty. "))))
|
167
|
-
:
|
211
|
+
: null,
|
212
|
+
!allowAdd && showCard ? React.createElement("div", { className: props.ShowCard === undefined || props.ShowCard ? "card-footer" : "" }, " ") : null));
|
168
213
|
}
|
169
214
|
function NoteOptions(props) {
|
170
215
|
var showOptions = props.NoteTags.length > 1 || props.NoteTypes.length > 1 || props.NoteApplications.length > 1;
|
171
|
-
return (React.createElement("div", { className: "row" },
|
216
|
+
return (React.createElement("div", { className: "row", style: { marginRight: 0, marginLeft: 0 } },
|
172
217
|
React.createElement("div", { className: showOptions ? "col-6" : 'col-12' },
|
173
218
|
React.createElement(react_forms_1.TextArea, { Record: props.Record, Rows: 4, Field: 'Note', Setter: function (n) { return props.Setter(n); }, Valid: function () { return props.Record.Note != null && props.Record.Note.length > 0; }, Label: '' })),
|
174
219
|
showOptions ? React.createElement("div", { className: "col-6" },
|
175
220
|
props.NoteTypes.length > 1 ? React.createElement(react_forms_1.Select, { Record: props.Record, Field: 'NoteTypeID', Label: 'Note for: ', Options: props.NoteTypes.map(function (r) { return ({ Value: r.ID.toString(), Label: r.Name }); }), Setter: function (record) { return props.Setter(__assign(__assign({}, record), { NoteTypeID: parseInt(record.NoteTypeID.toString(), 10) })); } }) : null,
|
176
221
|
props.NoteTags.length > 1 ? React.createElement(react_forms_1.Select, { Record: props.Record, Field: 'NoteTagID', Label: 'Type: ', Options: props.NoteTags.map(function (r) { return ({ Value: r.ID.toString(), Label: r.Name }); }), Setter: function (record) { return props.Setter(__assign(__assign({}, record), { NoteTagID: parseInt(record.NoteTagID.toString(), 10) })); } }) : null,
|
177
|
-
props.NoteApplications.length > 1 ? React.createElement(react_forms_1.Select, { Record: props.Record, Field: 'NoteApplicationID', Label: 'Application: ', Options: props.NoteApplications.map(function (r) { return ({ Value: r.ID.toString(), Label: r.Name }); }), Setter: function (record) { return props.Setter(__assign(__assign({}, record), { NoteApplicationID: parseInt(record.NoteApplicationID.toString(), 10) })); } }) : null) : null));
|
222
|
+
props.ShowApplications && props.NoteApplications.length > 1 ? React.createElement(react_forms_1.Select, { Record: props.Record, Field: 'NoteApplicationID', Label: 'Application: ', Options: props.NoteApplications.map(function (r) { return ({ Value: r.ID.toString(), Label: r.Name }); }), Setter: function (record) { return props.Setter(__assign(__assign({}, record), { NoteApplicationID: parseInt(record.NoteApplicationID.toString(), 10) })); } }) : null) : null));
|
178
223
|
}
|
179
224
|
exports.default = Note;
|
package/lib/SearchBar.js
CHANGED
@@ -150,7 +150,7 @@ var DefaultSearch;
|
|
150
150
|
React.useEffect(function () {
|
151
151
|
return props.GetAddlFields(setAddlFieldCols);
|
152
152
|
}, []);
|
153
|
-
return React.createElement(react_interactive_1.SearchBar, { CollumnList: __spreadArray(__spreadArray([], defaultSearchcols, true), addlFieldCols, true), SetFilter: function (flds) { return dispatch(props.Slice.DBSearch({ filter: (props.AddlFilters === undefined ? flds : __spreadArray(__spreadArray([], flds, true), props.AddlFilters, true)), 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 + '
|
153
|
+
return React.createElement(react_interactive_1.SearchBar, { CollumnList: __spreadArray(__spreadArray([], defaultSearchcols, true), addlFieldCols, true), SetFilter: function (flds) { return dispatch(props.Slice.DBSearch({ filter: (props.AddlFilters === undefined ? flds : __spreadArray(__spreadArray([], flds, true), props.AddlFilters, true)), 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 + ' User(s)', GetEnum: props.GetEnum, StorageID: props.StorageID }, props.children);
|
154
154
|
}
|
155
155
|
DefaultSearch.User = User;
|
156
156
|
/** This Implements a standard Customer Search */
|
package/package.json
CHANGED
@@ -1,66 +1,60 @@
|
|
1
|
-
{
|
2
|
-
"name": "@gpa-gemstone/common-pages",
|
3
|
-
"version": "0.0.
|
4
|
-
"description": "Common UI pages for GPA products",
|
5
|
-
"main": "lib/index.js",
|
6
|
-
"types": "lib/index.d.ts",
|
7
|
-
"files": [
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
"
|
12
|
-
"
|
13
|
-
"
|
14
|
-
"
|
15
|
-
"
|
16
|
-
"
|
17
|
-
"
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
"
|
27
|
-
"
|
28
|
-
"
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
"
|
33
|
-
"
|
34
|
-
"
|
35
|
-
"
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
"
|
40
|
-
"
|
41
|
-
"
|
42
|
-
"
|
43
|
-
"
|
44
|
-
|
45
|
-
|
46
|
-
"
|
47
|
-
"
|
48
|
-
|
49
|
-
|
50
|
-
"@gpa-gemstone/
|
51
|
-
"@gpa-gemstone/
|
52
|
-
"@
|
53
|
-
"
|
54
|
-
"
|
55
|
-
"
|
56
|
-
"
|
57
|
-
"
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
"styled-components": "5.3.3"
|
62
|
-
},
|
63
|
-
"publishConfig": {
|
64
|
-
"access": "public"
|
65
|
-
}
|
66
|
-
}
|
1
|
+
{
|
2
|
+
"name": "@gpa-gemstone/common-pages",
|
3
|
+
"version": "0.0.64",
|
4
|
+
"description": "Common UI pages for GPA products",
|
5
|
+
"main": "lib/index.js",
|
6
|
+
"types": "lib/index.d.ts",
|
7
|
+
"files": ["lib/**/*"],
|
8
|
+
"scripts": {
|
9
|
+
"test": "jest --config jestconfig.json",
|
10
|
+
"build": "tsc",
|
11
|
+
"format": "prettier --write \"src/**/*.tsx\"",
|
12
|
+
"lint": "tslint -p tsconfig.json",
|
13
|
+
"prepare": "npm run build",
|
14
|
+
"prepublishOnly": "npm test && npm run lint",
|
15
|
+
"preversion": "npm run lint",
|
16
|
+
"version": "npm run format && git add -A src",
|
17
|
+
"postversion": "git push && git push --tags"
|
18
|
+
},
|
19
|
+
"repository": {
|
20
|
+
"type": "git",
|
21
|
+
"url": "https://github.com/GridProtectionAlliance/gpa-gemstone.git"
|
22
|
+
},
|
23
|
+
"keywords": [
|
24
|
+
"React",
|
25
|
+
"Interactive",
|
26
|
+
"GSF",
|
27
|
+
"Gemstone",
|
28
|
+
"GridProtectionAlliance"
|
29
|
+
],
|
30
|
+
"author": "GridProtectionAlliance",
|
31
|
+
"license": "MIT",
|
32
|
+
"bugs": {"url": "https://github.com/GridProtectionAlliance/gpa-gemstone/issues"},
|
33
|
+
"homepage": "https://github.com/GridProtectionAlliance/gpa-gemstone#readme",
|
34
|
+
"devDependencies": {
|
35
|
+
"@types/crypto-js": "4.0.2",
|
36
|
+
"@types/jest": "^27.0.0",
|
37
|
+
"@types/jquery": "3.5.6",
|
38
|
+
"jest": "^27.0.6",
|
39
|
+
"prettier": "^2.3.2",
|
40
|
+
"ts-jest": "^27.0.4",
|
41
|
+
"tslint": "^6.1.3",
|
42
|
+
"tslint-config-prettier": "^1.18.0",
|
43
|
+
"typescript": "4.4.4"
|
44
|
+
},
|
45
|
+
"dependencies": {
|
46
|
+
"@gpa-gemstone/application-typings": "0.0.55",
|
47
|
+
"@gpa-gemstone/gpa-symbols": "0.0.25",
|
48
|
+
"@gpa-gemstone/helper-functions": "0.0.19",
|
49
|
+
"@gpa-gemstone/react-forms": "1.1.36",
|
50
|
+
"@gpa-gemstone/react-interactive": "1.0.79",
|
51
|
+
"@gpa-gemstone/react-table": "1.2.22",
|
52
|
+
"@reduxjs/toolkit": "1.8.3",
|
53
|
+
"crypto-js": "4.0.0",
|
54
|
+
"moment": "^2.29.4",
|
55
|
+
"react": "^18.2.0",
|
56
|
+
"react-redux": "8.0.2",
|
57
|
+
"styled-components": "5.3.3"
|
58
|
+
},
|
59
|
+
"publishConfig": {"access": "public"}
|
60
|
+
}
|