linear-react-components-ui 0.4.75-beta.9 → 0.4.76-rc.1
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/.eslintrc.js +2 -5
- package/.tool-versions +1 -0
- package/.vscode/settings.json +8 -9
- package/README.md +23 -0
- package/config/jest/cssTransform.js +14 -0
- package/config/jest/fileTransform.js +12 -0
- package/config/jest/storageMock.js +40 -0
- package/jest.config.js +18 -0
- package/lib/alerts/AlertProvider.js +1 -1
- package/lib/alerts/BaseAlert.js +1 -1
- package/lib/alerts/alert.spec.js +133 -0
- package/lib/assets/styles/dropdown.scss +25 -2
- package/lib/assets/styles/effects.scss +12 -0
- package/lib/assets/styles/floatMenu.scss +0 -1
- package/lib/assets/styles/multiSelect.scss +105 -0
- package/lib/assets/styles/panel.scss +0 -1
- package/lib/assets/styles/periodpicker.scss +65 -0
- package/lib/assets/styles/popover.scss +9 -11
- package/lib/assets/styles/progress.scss +8 -1
- package/lib/assets/styles/select.scss +1 -0
- package/lib/assets/styles/table.scss +13 -5
- package/lib/assets/styles/tabs.scss +77 -43
- package/lib/avatar/avatar.spec.js +190 -0
- package/lib/avatar/index.js +6 -2
- package/lib/badge/badge.spec.js +127 -0
- package/lib/badge/index.js +3 -5
- package/lib/buttons/DefaultButton.js +1 -1
- package/lib/buttons/buttons.spec.js +504 -0
- package/lib/buttons/index.js +28 -28
- package/lib/calendar/base/helpers.js +6 -6
- package/lib/calendar/base/index.js +1 -1
- package/lib/calendar/calendar.spec.js +171 -0
- package/lib/calendar/index.js +10 -10
- package/lib/checkbox/checkbox.spec.js +215 -0
- package/lib/checkbox/index.js +2 -1
- package/lib/dialog/Custom.js +7 -1
- package/lib/dialog/base/index.js +18 -6
- package/lib/dialog/dialog.spec.js +488 -0
- package/lib/dialog/form/index.js +23 -4
- package/lib/dialog/index.js +6 -6
- package/lib/drawer/Drawer.js +4 -1
- package/lib/drawer/Drawer.spec.js +258 -0
- package/lib/drawer/Header.js +4 -1
- package/lib/drawer/index.js +8 -5
- package/lib/dropdown/Popup.js +1 -0
- package/lib/dropdown/dropdown.spec.js +168 -0
- package/lib/dropdown/withDropdown.js +12 -6
- package/lib/fieldset/fieldset.spec.js +329 -0
- package/lib/fieldset/index.js +1 -1
- package/lib/form/Field.js +3 -1
- package/lib/form/FieldNumber.js +10 -2
- package/lib/form/FieldPeriod.js +100 -0
- package/lib/form/form.spec.js +285 -0
- package/lib/form/helpers.js +9 -1
- package/lib/form/index.js +79 -15
- package/lib/form/withFieldHOC.js +3 -1
- package/lib/form/withFormSecurity.js +106 -0
- package/lib/gridlayout/GridRow.js +1 -1
- package/lib/gridlayout/gridLayout.spec.js +169 -0
- package/lib/icons/helper.js +16 -0
- package/lib/icons/icons.spec.js +86 -0
- package/lib/icons/index.js +2 -0
- package/lib/index.js +12 -12
- package/lib/inputs/base/InputTextBase.js +16 -6
- package/lib/inputs/base/base.spec.js +690 -0
- package/lib/inputs/base/helpers.js +1 -1
- package/lib/inputs/color/color_input.spec.js +174 -0
- package/lib/inputs/color/index.js +3 -3
- package/lib/inputs/date/Dropdown.js +1 -1
- package/lib/inputs/date/date.spec.js +344 -0
- package/lib/inputs/date/index.js +8 -7
- package/lib/inputs/inputHOC.js +1 -1
- package/lib/inputs/mask/Cnpj.js +1 -1
- package/lib/inputs/mask/Cpf.js +10 -10
- package/lib/inputs/mask/helpers.js +2 -2
- package/lib/inputs/mask/imaskHOC.js +1 -1
- package/lib/inputs/mask/index.js +4 -4
- package/lib/inputs/mask/input_mask.spec.js +590 -0
- package/lib/inputs/multiSelect/ActionButtons.js +68 -0
- package/lib/inputs/multiSelect/Dropdown.js +200 -0
- package/lib/inputs/multiSelect/helper.js +18 -0
- package/lib/inputs/multiSelect/index.js +343 -0
- package/lib/inputs/number/BaseNumber.js +1 -1
- package/lib/inputs/number/format_number.js +1 -1
- package/lib/inputs/number/index.js +7 -5
- package/lib/inputs/number/numberfield.spec.js +215 -0
- package/lib/inputs/period/Dialog.js +38 -0
- package/lib/inputs/period/Dropdown.js +90 -0
- package/lib/inputs/period/PeriodList.js +79 -0
- package/lib/inputs/period/helper.js +118 -0
- package/lib/inputs/period/index.js +490 -0
- package/lib/inputs/search/index.js +1 -1
- package/lib/inputs/search/search_input.spec.js +209 -0
- package/lib/inputs/select/Dropdown.js +5 -5
- package/lib/inputs/select/helper.js +1 -1
- package/lib/inputs/select/index.js +26 -3
- package/lib/inputs/select/multiple/index.js +10 -8
- package/lib/inputs/select/select.spec.js +391 -0
- package/lib/inputs/select/simple/index.js +31 -19
- package/lib/inputs/text/textfield.spec.js +215 -0
- package/lib/inputs/textarea/textarea.spec.js +59 -0
- package/lib/internals/constants.js +1 -1
- package/lib/internals/withTooltip.js +84 -83
- package/lib/labelMessages/index.js +4 -3
- package/lib/labelMessages/labelMessages.spec.js +176 -0
- package/lib/labels/DefaultLabel.js +1 -1
- package/lib/labels/index.js +10 -10
- package/lib/labels/label.spec.js +162 -0
- package/lib/list/Item.js +4 -4
- package/lib/list/index.js +22 -11
- package/lib/list/list.spec.js +611 -0
- package/lib/menus/float/MenuItem.js +25 -8
- package/lib/menus/float/float-menu.spec.js +221 -0
- package/lib/menus/sidenav/NavMenuItem.js +1 -1
- package/lib/menus/sidenav/NavSubMenuItem.js +1 -1
- package/lib/menus/sidenav/helpers.js +1 -1
- package/lib/menus/sidenav/index.js +16 -12
- package/lib/menus/sidenav/popup_menu_search/index.js +2 -2
- package/lib/menus/sidenav/sidenav.spec.js +312 -0
- package/lib/noPermission/index.js +2 -1
- package/lib/panel/Default.js +1 -1
- package/lib/panel/helpers.js +1 -1
- package/lib/panel/index.js +14 -14
- package/lib/panel/panel.spec.js +216 -0
- package/lib/permissionValidations.js +1 -1
- package/lib/popover/index.js +2 -1
- package/lib/popover/popover.spec.js +146 -0
- package/lib/progress/Bar.js +40 -9
- package/lib/progress/index.js +12 -4
- package/lib/progress/progress.spec.js +86 -0
- package/lib/radio/index.js +1 -1
- package/lib/radio/radio.spec.js +189 -0
- package/lib/spinner/SpinnerLoading.js +14 -24
- package/lib/spinner/index.js +7 -2
- package/lib/spinner/spinner.spec.js +152 -0
- package/lib/split/Split.js +11 -13
- package/lib/split/split.spec.js +151 -0
- package/lib/table/Header.js +3 -1
- package/lib/table/Row.js +2 -5
- package/lib/table/helpers.js +1 -1
- package/lib/table/index.js +10 -13
- package/lib/table/table.spec.js +352 -0
- package/lib/tabs/DropdownItems.js +84 -0
- package/lib/tabs/Menu.js +18 -5
- package/lib/tabs/MenuItems.js +7 -7
- package/lib/tabs/Panel.js +2 -4
- package/lib/tabs/index.js +127 -18
- package/lib/tabs/tabHelpers.js +3 -2
- package/lib/tabs/tabs.spec.js +346 -0
- package/lib/toolbar/index.js +16 -12
- package/lib/toolbar/toolbar.spec.js +394 -0
- package/lib/tooltip/index.js +13 -0
- package/lib/tooltip/tooltip.spec.js +203 -0
- package/lib/treeview/Node.js +32 -28
- package/lib/treeview/index.js +27 -4
- package/lib/treeview/treeview.spec.js +261 -0
- package/lib/treeview_old/Node.js +1 -1
- package/package.json +19 -9
- package/.DS_Store +0 -0
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
require("babel-polyfill");
|
|
10
|
+
|
|
11
|
+
require("@testing-library/jest-dom");
|
|
12
|
+
|
|
13
|
+
var _ = _interopRequireWildcard(require("."));
|
|
14
|
+
|
|
15
|
+
var _text = _interopRequireDefault(require("../inputs/text"));
|
|
16
|
+
|
|
17
|
+
var _checkbox = _interopRequireDefault(require("../checkbox"));
|
|
18
|
+
|
|
19
|
+
var _select = _interopRequireDefault(require("../inputs/select"));
|
|
20
|
+
|
|
21
|
+
var _number = _interopRequireDefault(require("../inputs/number"));
|
|
22
|
+
|
|
23
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
24
|
+
|
|
25
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
26
|
+
|
|
27
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
28
|
+
|
|
29
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
30
|
+
|
|
31
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
32
|
+
|
|
33
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
34
|
+
|
|
35
|
+
var mockOnSubmit = jest.fn();
|
|
36
|
+
var mockHandlerSubmit = jest.fn();
|
|
37
|
+
var data = {
|
|
38
|
+
status: [0],
|
|
39
|
+
nome: 'Gustavo',
|
|
40
|
+
idade: '4'
|
|
41
|
+
};
|
|
42
|
+
var mockSelectOptions = [{
|
|
43
|
+
id: 0,
|
|
44
|
+
name: 'Ativo'
|
|
45
|
+
}, {
|
|
46
|
+
id: 1,
|
|
47
|
+
name: 'Inativo'
|
|
48
|
+
}, {
|
|
49
|
+
id: 2,
|
|
50
|
+
name: 'Excluído'
|
|
51
|
+
}];
|
|
52
|
+
|
|
53
|
+
var mockForm = function mockForm(props, fieldProps, fieldArrayProps) {
|
|
54
|
+
return /*#__PURE__*/_react["default"].createElement(_["default"], _extends({
|
|
55
|
+
dataSource: data,
|
|
56
|
+
onSubmit: mockOnSubmit,
|
|
57
|
+
handlerSubmit: mockHandlerSubmit,
|
|
58
|
+
customClass: "mock-form",
|
|
59
|
+
style: {
|
|
60
|
+
marginBottom: '10px'
|
|
61
|
+
}
|
|
62
|
+
}, props), /*#__PURE__*/_react["default"].createElement(_.Field, _extends({
|
|
63
|
+
label: "Nome",
|
|
64
|
+
component: _text["default"],
|
|
65
|
+
name: "nome",
|
|
66
|
+
externalMessagesErrors: ['External Message Errors']
|
|
67
|
+
}, fieldProps)), /*#__PURE__*/_react["default"].createElement(_.Field, {
|
|
68
|
+
label: "Endereco Valido",
|
|
69
|
+
component: _checkbox["default"],
|
|
70
|
+
name: "endereco.valido",
|
|
71
|
+
componentType: "Checkbox",
|
|
72
|
+
fieldId: "fooo"
|
|
73
|
+
}), /*#__PURE__*/_react["default"].createElement(_.FieldArray, _extends({
|
|
74
|
+
label: "Status",
|
|
75
|
+
name: "status",
|
|
76
|
+
idKey: "id",
|
|
77
|
+
descriptionKey: "name",
|
|
78
|
+
multiple: true,
|
|
79
|
+
labelContainerStyle: {
|
|
80
|
+
height: 200
|
|
81
|
+
},
|
|
82
|
+
dataSource: mockSelectOptions,
|
|
83
|
+
component: _select["default"],
|
|
84
|
+
valuePropName: "values",
|
|
85
|
+
changePropName: "onChange",
|
|
86
|
+
bordered: true
|
|
87
|
+
}, fieldArrayProps)), /*#__PURE__*/_react["default"].createElement(_.FieldNumber, {
|
|
88
|
+
label: "Idade",
|
|
89
|
+
component: _number["default"],
|
|
90
|
+
scale: 3,
|
|
91
|
+
name: "idade"
|
|
92
|
+
}));
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
describe('Form', function () {
|
|
96
|
+
it('should render correctly', function () {
|
|
97
|
+
var _render = (0, _react2.render)(mockForm()),
|
|
98
|
+
container = _render.container;
|
|
99
|
+
|
|
100
|
+
expect(container.firstChild).toBeTruthy();
|
|
101
|
+
});
|
|
102
|
+
it('should apply custom class', function () {
|
|
103
|
+
var _render2 = (0, _react2.render)(mockForm()),
|
|
104
|
+
container = _render2.container;
|
|
105
|
+
|
|
106
|
+
expect(container.firstChild).toHaveClass('mock-form');
|
|
107
|
+
});
|
|
108
|
+
it('should apply style', function () {
|
|
109
|
+
var _render3 = (0, _react2.render)(mockForm()),
|
|
110
|
+
container = _render3.container;
|
|
111
|
+
|
|
112
|
+
expect(container.firstChild).toHaveStyle('margin-bottom: 10px;');
|
|
113
|
+
});
|
|
114
|
+
it('should render with dataSource', function () {
|
|
115
|
+
var mockOnDataChange = jest.fn();
|
|
116
|
+
|
|
117
|
+
var _render4 = (0, _react2.render)(mockForm({
|
|
118
|
+
onDataChange: mockOnDataChange
|
|
119
|
+
})),
|
|
120
|
+
getByDisplayValue = _render4.getByDisplayValue;
|
|
121
|
+
|
|
122
|
+
_react2.fireEvent.change(getByDisplayValue('Gustavo'), {
|
|
123
|
+
target: {
|
|
124
|
+
value: 'Foo'
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
expect(mockOnDataChange).toHaveBeenCalledWith(_extends({}, data));
|
|
129
|
+
});
|
|
130
|
+
it('should submit form', function () {
|
|
131
|
+
var _render5 = (0, _react2.render)(mockForm()),
|
|
132
|
+
container = _render5.container;
|
|
133
|
+
|
|
134
|
+
_react2.fireEvent.submit(container.querySelector('.form-component'));
|
|
135
|
+
|
|
136
|
+
expect(mockHandlerSubmit).toHaveBeenCalled();
|
|
137
|
+
});
|
|
138
|
+
it('should submit on press enter', function () {
|
|
139
|
+
var _render6 = (0, _react2.render)(mockForm()),
|
|
140
|
+
container = _render6.container;
|
|
141
|
+
|
|
142
|
+
_react2.fireEvent.keyUp(container.querySelector('.form-component'), {
|
|
143
|
+
key: 'Enter',
|
|
144
|
+
code: 'Enter',
|
|
145
|
+
keyCode: '13',
|
|
146
|
+
charCode: '13'
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
expect(mockHandlerSubmit).toHaveBeenCalled();
|
|
150
|
+
});
|
|
151
|
+
it('should change form data', function () {
|
|
152
|
+
var mockOnDataChange = jest.fn();
|
|
153
|
+
|
|
154
|
+
var _render7 = (0, _react2.render)(mockForm({
|
|
155
|
+
onDataChange: mockOnDataChange
|
|
156
|
+
})),
|
|
157
|
+
getByDisplayValue = _render7.getByDisplayValue;
|
|
158
|
+
|
|
159
|
+
_react2.fireEvent.change(getByDisplayValue('Foo'), {
|
|
160
|
+
target: {
|
|
161
|
+
value: 'Gustavo'
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
expect(mockOnDataChange).toHaveBeenCalledWith(_extends({}, data));
|
|
166
|
+
});
|
|
167
|
+
it('should execute handlerValidates', function () {
|
|
168
|
+
var mockOnDataChange = jest.fn();
|
|
169
|
+
var mockHandlerValidates = jest.fn();
|
|
170
|
+
|
|
171
|
+
var _render8 = (0, _react2.render)(mockForm({
|
|
172
|
+
onDataChange: mockOnDataChange,
|
|
173
|
+
handlerValidates: mockHandlerValidates
|
|
174
|
+
})),
|
|
175
|
+
getByDisplayValue = _render8.getByDisplayValue;
|
|
176
|
+
|
|
177
|
+
_react2.fireEvent.change(getByDisplayValue('Gustavo'), {
|
|
178
|
+
target: {
|
|
179
|
+
value: 'XPTO'
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
expect(mockHandlerValidates).toHaveBeenCalled();
|
|
184
|
+
});
|
|
185
|
+
it('should execute handlerReset', function () {
|
|
186
|
+
var mockHandlerReset = jest.fn();
|
|
187
|
+
(0, _react2.render)(mockForm({
|
|
188
|
+
handlerReset: mockHandlerReset
|
|
189
|
+
}));
|
|
190
|
+
expect(mockHandlerReset).toHaveBeenCalled();
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
describe('Field', function () {
|
|
194
|
+
describe('Default & Number', function () {
|
|
195
|
+
it('should field has name', function () {
|
|
196
|
+
var _render9 = (0, _react2.render)(mockForm()),
|
|
197
|
+
getByDisplayValue = _render9.getByDisplayValue;
|
|
198
|
+
|
|
199
|
+
expect(getByDisplayValue('XPTO')).toHaveAttribute('name', 'nome');
|
|
200
|
+
});
|
|
201
|
+
it('should render component', function () {
|
|
202
|
+
var _render10 = (0, _react2.render)(mockForm()),
|
|
203
|
+
container = _render10.container;
|
|
204
|
+
|
|
205
|
+
expect(container.firstChild).toContainElement(container.querySelector('.textinput'));
|
|
206
|
+
});
|
|
207
|
+
it('should execute callback on field change', function () {
|
|
208
|
+
var mockOnChange = jest.fn();
|
|
209
|
+
|
|
210
|
+
var _render11 = (0, _react2.render)(mockForm({}, {
|
|
211
|
+
onChange: mockOnChange
|
|
212
|
+
})),
|
|
213
|
+
getByDisplayValue = _render11.getByDisplayValue;
|
|
214
|
+
|
|
215
|
+
_react2.fireEvent.change(getByDisplayValue('XPTO'), {
|
|
216
|
+
target: {
|
|
217
|
+
value: 'Gustavo'
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
expect(mockOnChange).toHaveBeenCalled();
|
|
222
|
+
});
|
|
223
|
+
it('should render label', function () {
|
|
224
|
+
var _render12 = (0, _react2.render)(mockForm()),
|
|
225
|
+
container = _render12.container;
|
|
226
|
+
|
|
227
|
+
expect(container.firstChild).toHaveTextContent('Nome');
|
|
228
|
+
});
|
|
229
|
+
it('should apply validators', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
230
|
+
var _render13, container;
|
|
231
|
+
|
|
232
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
233
|
+
while (1) {
|
|
234
|
+
switch (_context.prev = _context.next) {
|
|
235
|
+
case 0:
|
|
236
|
+
_render13 = (0, _react2.render)(mockForm()), container = _render13.container;
|
|
237
|
+
expect(container.querySelector('.errormessages')).toHaveTextContent('External Message Errors');
|
|
238
|
+
|
|
239
|
+
case 2:
|
|
240
|
+
case "end":
|
|
241
|
+
return _context.stop();
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}, _callee);
|
|
245
|
+
})));
|
|
246
|
+
it('should apply fieldId', function () {
|
|
247
|
+
var _render14 = (0, _react2.render)(mockForm()),
|
|
248
|
+
container = _render14.container;
|
|
249
|
+
|
|
250
|
+
expect(container.querySelector('#fooo')).toBeInTheDocument();
|
|
251
|
+
});
|
|
252
|
+
});
|
|
253
|
+
describe('Array', function () {
|
|
254
|
+
it('should apply bordered', function () {
|
|
255
|
+
var _render15 = (0, _react2.render)(mockForm()),
|
|
256
|
+
container = _render15.container;
|
|
257
|
+
|
|
258
|
+
expect(container.querySelector('.arraycontainer')).toHaveClass('-bordered');
|
|
259
|
+
});
|
|
260
|
+
it('should apply labelContainerStyle', function () {
|
|
261
|
+
var _render16 = (0, _react2.render)(mockForm()),
|
|
262
|
+
container = _render16.container;
|
|
263
|
+
|
|
264
|
+
expect(container.querySelector('.arraycontainer')).toHaveStyle('height: 200px;');
|
|
265
|
+
});
|
|
266
|
+
it('should apply grid columns', function () {
|
|
267
|
+
var _render17 = (0, _react2.render)(mockForm({}, {}, {
|
|
268
|
+
cols: '12 12 12 12'
|
|
269
|
+
})),
|
|
270
|
+
container = _render17.container;
|
|
271
|
+
|
|
272
|
+
expect(container.querySelector('.grid-container')).toBeInTheDocument();
|
|
273
|
+
expect(container.querySelector('.grid-container')).toHaveClass('col-xs-12 col-sm-12 col-md-12 col-lg-12');
|
|
274
|
+
expect(container.querySelector('.grid-container')).toContainElement(container.querySelector('.arraycontainer'));
|
|
275
|
+
});
|
|
276
|
+
it('should apply skipLabel', function () {
|
|
277
|
+
var _render18 = (0, _react2.render)(mockForm({}, {}, {
|
|
278
|
+
skipLabel: true
|
|
279
|
+
})),
|
|
280
|
+
container = _render18.container;
|
|
281
|
+
|
|
282
|
+
expect(container.querySelector('.arraycontainer')).not.toBeInTheDocument();
|
|
283
|
+
});
|
|
284
|
+
});
|
|
285
|
+
});
|
package/lib/form/helpers.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.withFieldContext = exports.securityBeforeUnload = exports.getValidatorsArray = exports.getErrorMessages = exports.FormContext = exports.FieldContext = void 0;
|
|
7
7
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
|
|
@@ -21,6 +21,9 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
|
|
|
21
21
|
|
|
22
22
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
23
23
|
|
|
24
|
+
var securityBeforeUnload = 'securityBeforeUnload';
|
|
25
|
+
exports.securityBeforeUnload = securityBeforeUnload;
|
|
26
|
+
|
|
24
27
|
var FieldContext = /*#__PURE__*/_react["default"].createContext();
|
|
25
28
|
|
|
26
29
|
exports.FieldContext = FieldContext;
|
|
@@ -36,6 +39,7 @@ exports.withFieldContext = withFieldContext;
|
|
|
36
39
|
var getErrorMessages = function getErrorMessages(_ref) {
|
|
37
40
|
var name = _ref.name,
|
|
38
41
|
fieldErrors = _ref.fieldErrors,
|
|
42
|
+
externalFieldErrors = _ref.externalFieldErrors,
|
|
39
43
|
externalMessagesErrors = _ref.externalMessagesErrors;
|
|
40
44
|
|
|
41
45
|
var errors = _toConsumableArray(externalMessagesErrors);
|
|
@@ -44,6 +48,10 @@ var getErrorMessages = function getErrorMessages(_ref) {
|
|
|
44
48
|
errors = [].concat(_toConsumableArray(errors), _toConsumableArray(fieldErrors[name]));
|
|
45
49
|
}
|
|
46
50
|
|
|
51
|
+
if (externalFieldErrors && externalFieldErrors[name]) {
|
|
52
|
+
errors = [].concat(_toConsumableArray(errors), _toConsumableArray(externalFieldErrors[name]));
|
|
53
|
+
}
|
|
54
|
+
|
|
47
55
|
return errors;
|
|
48
56
|
};
|
|
49
57
|
|
package/lib/form/index.js
CHANGED
|
@@ -11,16 +11,16 @@ Object.defineProperty(exports, "Field", {
|
|
|
11
11
|
return _Field["default"];
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
|
-
Object.defineProperty(exports, "
|
|
14
|
+
Object.defineProperty(exports, "FieldArray", {
|
|
15
15
|
enumerable: true,
|
|
16
16
|
get: function get() {
|
|
17
|
-
return
|
|
17
|
+
return _FieldArray["default"];
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
|
-
Object.defineProperty(exports, "
|
|
20
|
+
Object.defineProperty(exports, "FieldNumber", {
|
|
21
21
|
enumerable: true,
|
|
22
22
|
get: function get() {
|
|
23
|
-
return
|
|
23
|
+
return _FieldNumber["default"];
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
exports["default"] = void 0;
|
|
@@ -41,6 +41,10 @@ var _FieldArray = _interopRequireDefault(require("./FieldArray"));
|
|
|
41
41
|
|
|
42
42
|
require("../assets/styles/form.scss");
|
|
43
43
|
|
|
44
|
+
var _dialog = require("../dialog");
|
|
45
|
+
|
|
46
|
+
var _withFormSecurity = require("./withFormSecurity");
|
|
47
|
+
|
|
44
48
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
45
49
|
|
|
46
50
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -75,7 +79,7 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || func
|
|
|
75
79
|
|
|
76
80
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
77
81
|
|
|
78
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
82
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
79
83
|
|
|
80
84
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
81
85
|
|
|
@@ -94,6 +98,20 @@ var Form = /*#__PURE__*/function (_Component) {
|
|
|
94
98
|
_classCallCheck(this, Form);
|
|
95
99
|
|
|
96
100
|
_this = _super.call(this, props);
|
|
101
|
+
Object.defineProperty(_assertThisInitialized(_this), "onBeforeUnload", {
|
|
102
|
+
configurable: true,
|
|
103
|
+
enumerable: true,
|
|
104
|
+
writable: true,
|
|
105
|
+
value: function value(e) {
|
|
106
|
+
e.preventDefault();
|
|
107
|
+
|
|
108
|
+
if (Object.is(_this.state.data, _this.state.originalData)) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
e.returnValue = true;
|
|
113
|
+
}
|
|
114
|
+
});
|
|
97
115
|
Object.defineProperty(_assertThisInitialized(_this), "onFieldChange", {
|
|
98
116
|
configurable: true,
|
|
99
117
|
enumerable: true,
|
|
@@ -111,7 +129,17 @@ var Form = /*#__PURE__*/function (_Component) {
|
|
|
111
129
|
|
|
112
130
|
_this.setState({
|
|
113
131
|
data: data
|
|
114
|
-
});
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
if (_this.context.onChangedData) {
|
|
135
|
+
var onChangedData = _this.context.onChangedData;
|
|
136
|
+
|
|
137
|
+
if (!Object.is(data, _this.state.originalData)) {
|
|
138
|
+
onChangedData(true);
|
|
139
|
+
} else {
|
|
140
|
+
onChangedData(false);
|
|
141
|
+
}
|
|
142
|
+
} // TODO - Usar debounce para evitar chamada a cada letra digitada
|
|
115
143
|
|
|
116
144
|
|
|
117
145
|
if (onValidateForm) onValidateForm(_this.checkIsValid(data, false));
|
|
@@ -196,7 +224,8 @@ var Form = /*#__PURE__*/function (_Component) {
|
|
|
196
224
|
},
|
|
197
225
|
handlerRemoveValidators: _this.onRemoveFieldValidators,
|
|
198
226
|
data: _this.state.data,
|
|
199
|
-
fieldErrors: _this.state.fieldErrors
|
|
227
|
+
fieldErrors: _this.state.fieldErrors,
|
|
228
|
+
externalFieldErrors: _this.props.externalFieldErrors
|
|
200
229
|
};
|
|
201
230
|
}
|
|
202
231
|
});
|
|
@@ -254,12 +283,22 @@ var Form = /*#__PURE__*/function (_Component) {
|
|
|
254
283
|
var _this$props2 = this.props,
|
|
255
284
|
handlerReset = _this$props2.handlerReset,
|
|
256
285
|
handlerSubmit = _this$props2.handlerSubmit,
|
|
257
|
-
handlerValidates = _this$props2.handlerValidates
|
|
286
|
+
handlerValidates = _this$props2.handlerValidates,
|
|
287
|
+
securityBeforeUnload = _this$props2.securityBeforeUnload;
|
|
258
288
|
handlerSubmit(this.onSubmit);
|
|
259
289
|
if (handlerReset) handlerReset(this.onReset);
|
|
260
290
|
if (handlerValidates) handlerValidates(this.checkIsValid);
|
|
261
|
-
} // up = data => _.debounce((data) => { this.props.onValidateForm(this.checkIsValid(data)); }, 300)
|
|
262
291
|
|
|
292
|
+
if (securityBeforeUnload) {
|
|
293
|
+
if (this.context.setSecurityBeforeUnload) this.context.setSecurityBeforeUnload(true);
|
|
294
|
+
window.addEventListener('beforeunload', this.onBeforeUnload);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}, {
|
|
298
|
+
key: "componentWillUnmount",
|
|
299
|
+
value: function componentWillUnmount() {
|
|
300
|
+
window.removeEventListener('beforeunload', this.onBeforeUnload);
|
|
301
|
+
}
|
|
263
302
|
}, {
|
|
264
303
|
key: "render",
|
|
265
304
|
value: function render() {
|
|
@@ -268,8 +307,11 @@ var Form = /*#__PURE__*/function (_Component) {
|
|
|
268
307
|
var _this$props3 = this.props,
|
|
269
308
|
style = _this$props3.style,
|
|
270
309
|
customClass = _this$props3.customClass,
|
|
271
|
-
children = _this$props3.children
|
|
272
|
-
|
|
310
|
+
children = _this$props3.children,
|
|
311
|
+
securityBeforeUnload = _this$props3.securityBeforeUnload,
|
|
312
|
+
securityTitle = _this$props3.securityTitle,
|
|
313
|
+
securityText = _this$props3.securityText;
|
|
314
|
+
return /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, /*#__PURE__*/_react["default"].createElement(_helpers.FormContext.Provider, {
|
|
273
315
|
value: this.getContextValue()
|
|
274
316
|
}, /*#__PURE__*/_react["default"].createElement("form", {
|
|
275
317
|
style: style,
|
|
@@ -281,7 +323,15 @@ var Form = /*#__PURE__*/function (_Component) {
|
|
|
281
323
|
},
|
|
282
324
|
role: "presentation",
|
|
283
325
|
className: "form-component ".concat(customClass)
|
|
284
|
-
}, children))
|
|
326
|
+
}, children)), /*#__PURE__*/_react["default"].createElement(_dialog.DialogQuestion, {
|
|
327
|
+
zIndex: "99999999",
|
|
328
|
+
customClassName: "classTeste",
|
|
329
|
+
title: securityTitle || 'Dados Alterados',
|
|
330
|
+
text: securityText || 'Vocẽ possui dados alterados, confirma o fechamento?',
|
|
331
|
+
visible: securityBeforeUnload && this.context.showQuestion,
|
|
332
|
+
onConfirmClick: securityBeforeUnload ? this.context.onConfirmClick : function () {},
|
|
333
|
+
onUnconfirmClick: securityBeforeUnload ? this.context.onUnconfirmClick : function () {}
|
|
334
|
+
}));
|
|
285
335
|
}
|
|
286
336
|
}], [{
|
|
287
337
|
key: "getDerivedStateFromProps",
|
|
@@ -293,7 +343,7 @@ var Form = /*#__PURE__*/function (_Component) {
|
|
|
293
343
|
return {
|
|
294
344
|
submitFormOnEnter: submitOnPressEnterKey,
|
|
295
345
|
data: dataSource,
|
|
296
|
-
originalData: dataSource
|
|
346
|
+
originalData: state.originalData || dataSource
|
|
297
347
|
};
|
|
298
348
|
}
|
|
299
349
|
|
|
@@ -304,6 +354,12 @@ var Form = /*#__PURE__*/function (_Component) {
|
|
|
304
354
|
return Form;
|
|
305
355
|
}(_react.Component);
|
|
306
356
|
|
|
357
|
+
Object.defineProperty(Form, "contextType", {
|
|
358
|
+
configurable: true,
|
|
359
|
+
enumerable: true,
|
|
360
|
+
writable: true,
|
|
361
|
+
value: _withFormSecurity.FormSecurityContext
|
|
362
|
+
});
|
|
307
363
|
Form.propTypes = {
|
|
308
364
|
dataSource: _propTypes["default"].object.isRequired,
|
|
309
365
|
children: _propTypes["default"].any.isRequired,
|
|
@@ -315,7 +371,11 @@ Form.propTypes = {
|
|
|
315
371
|
submitOnPressEnterKey: _propTypes["default"].bool,
|
|
316
372
|
style: _propTypes["default"].object,
|
|
317
373
|
customClass: _propTypes["default"].string,
|
|
318
|
-
onDataChange: _propTypes["default"].func
|
|
374
|
+
onDataChange: _propTypes["default"].func,
|
|
375
|
+
securityBeforeUnload: _propTypes["default"].bool,
|
|
376
|
+
securityTitle: _propTypes["default"].string,
|
|
377
|
+
securityText: _propTypes["default"].string,
|
|
378
|
+
externalFieldErrors: _propTypes["default"].object
|
|
319
379
|
};
|
|
320
380
|
Form.defaultProps = {
|
|
321
381
|
onValidateForm: undefined,
|
|
@@ -324,7 +384,11 @@ Form.defaultProps = {
|
|
|
324
384
|
handlerReset: undefined,
|
|
325
385
|
handlerValidates: undefined,
|
|
326
386
|
customClass: '',
|
|
327
|
-
onDataChange: undefined
|
|
387
|
+
onDataChange: undefined,
|
|
388
|
+
securityBeforeUnload: false,
|
|
389
|
+
securityTitle: null,
|
|
390
|
+
securityText: null,
|
|
391
|
+
externalFieldErrors: {}
|
|
328
392
|
};
|
|
329
393
|
var _default = Form;
|
|
330
394
|
exports["default"] = _default;
|
package/lib/form/withFieldHOC.js
CHANGED
|
@@ -33,7 +33,7 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || func
|
|
|
33
33
|
|
|
34
34
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
35
35
|
|
|
36
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
36
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
37
37
|
|
|
38
38
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
39
39
|
|
|
@@ -151,6 +151,7 @@ function withFieldHOC(WrappedComponent) {
|
|
|
151
151
|
handlerFieldValidade = _ref.handlerFieldValidade,
|
|
152
152
|
data = _ref.data,
|
|
153
153
|
fieldErrors = _ref.fieldErrors,
|
|
154
|
+
externalFieldErrors = _ref.externalFieldErrors,
|
|
154
155
|
handlerStoreValidators = _ref.handlerStoreValidators,
|
|
155
156
|
handlerRemoveValidators = _ref.handlerRemoveValidators;
|
|
156
157
|
return /*#__PURE__*/_react["default"].createElement(FieldHOC, _extends({}, props, {
|
|
@@ -160,6 +161,7 @@ function withFieldHOC(WrappedComponent) {
|
|
|
160
161
|
handlerRemoveValidators: handlerRemoveValidators,
|
|
161
162
|
data: data,
|
|
162
163
|
fieldErrors: fieldErrors,
|
|
164
|
+
externalFieldErrors: externalFieldErrors,
|
|
163
165
|
forwardedRef: ref
|
|
164
166
|
}));
|
|
165
167
|
});
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.FormSecurityContext = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
14
|
+
var _excluded = ["handlerClose"];
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
|
+
|
|
18
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
+
|
|
20
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
+
|
|
22
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
23
|
+
|
|
24
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
25
|
+
|
|
26
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
27
|
+
|
|
28
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
29
|
+
|
|
30
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
31
|
+
|
|
32
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
33
|
+
|
|
34
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
35
|
+
|
|
36
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
37
|
+
|
|
38
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
39
|
+
|
|
40
|
+
var FormSecurityContext = /*#__PURE__*/_react["default"].createContext();
|
|
41
|
+
|
|
42
|
+
exports.FormSecurityContext = FormSecurityContext;
|
|
43
|
+
|
|
44
|
+
var withFormSecurity = function withFormSecurity(WrappedComponent) {
|
|
45
|
+
var EnhancedComponent = function EnhancedComponent(_ref) {
|
|
46
|
+
var handlerClose = _ref.handlerClose,
|
|
47
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
48
|
+
|
|
49
|
+
var changedData = (0, _react.useRef)(false);
|
|
50
|
+
|
|
51
|
+
var _useState = (0, _react.useState)(false),
|
|
52
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
53
|
+
securityBeforeUnload = _useState2[0],
|
|
54
|
+
setSecurityBeforeUnload = _useState2[1];
|
|
55
|
+
|
|
56
|
+
var _useState3 = (0, _react.useState)(false),
|
|
57
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
58
|
+
showQuestion = _useState4[0],
|
|
59
|
+
setShowQuestion = _useState4[1];
|
|
60
|
+
|
|
61
|
+
var newHandlerClose = function newHandlerClose() {
|
|
62
|
+
if (changedData.current && securityBeforeUnload) {
|
|
63
|
+
setShowQuestion(true);
|
|
64
|
+
} else {
|
|
65
|
+
handlerClose();
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
var onConfirmClick = function onConfirmClick() {
|
|
70
|
+
handlerClose();
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
var onUnconfirmClick = function onUnconfirmClick() {
|
|
74
|
+
setShowQuestion(false);
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
var onChangedData = function onChangedData(value) {
|
|
78
|
+
changedData.current = value;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
return /*#__PURE__*/_react["default"].createElement(FormSecurityContext.Provider, {
|
|
82
|
+
value: {
|
|
83
|
+
onChangedData: onChangedData,
|
|
84
|
+
showQuestion: showQuestion,
|
|
85
|
+
onConfirmClick: onConfirmClick,
|
|
86
|
+
onUnconfirmClick: onUnconfirmClick,
|
|
87
|
+
setSecurityBeforeUnload: setSecurityBeforeUnload
|
|
88
|
+
}
|
|
89
|
+
}, /*#__PURE__*/_react["default"].createElement(WrappedComponent, _extends({}, props, {
|
|
90
|
+
handlerClose: newHandlerClose
|
|
91
|
+
})));
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
EnhancedComponent.propTypes = {
|
|
95
|
+
handlerClose: _propTypes["default"].func,
|
|
96
|
+
onClick: _propTypes["default"].func
|
|
97
|
+
};
|
|
98
|
+
EnhancedComponent.defaultProps = {
|
|
99
|
+
handlerClose: undefined,
|
|
100
|
+
onClick: undefined
|
|
101
|
+
};
|
|
102
|
+
return EnhancedComponent;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
var _default = withFormSecurity;
|
|
106
|
+
exports["default"] = _default;
|
|
@@ -18,7 +18,7 @@ var getClass = function getClass(_ref) {
|
|
|
18
18
|
customClass = _ref.customClass,
|
|
19
19
|
horizontalAlign = _ref.horizontalAlign,
|
|
20
20
|
withTrim = _ref.withTrim;
|
|
21
|
-
return "row ".concat(customClass, "
|
|
21
|
+
return "row ".concat(customClass, "\n ").concat(withTrim && ' -withtrim', "\n ").concat(verticalAlign && " align-".concat(verticalAlign), "\n ").concat(horizontalAlign && " justify-content-".concat(horizontalAlign));
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
var GridRow = function GridRow(props) {
|