bright-components 10.2.7 → 10.2.9
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/circle.yml +1 -2
- package/deploy.sh +6 -0
- package/dist/components/DayPicker/NewDayPicker/index.js +0 -28
- package/dist/components/DayPicker/index.js +2 -20
- package/dist/components/DayPickerPanel/HeaderDayPickerPanel/index.js +1 -18
- package/dist/components/DayPickerPanel/HeaderMonthPanel/index.js +0 -14
- package/dist/components/DayPickerPanel/HeaderYearPanel/index.js +2 -15
- package/dist/components/DayPickerPanel/Shortcuts/index.js +2 -16
- package/dist/components/DayPickerPanel/index.js +2 -74
- package/dist/components/EmployeeCard/index.js +1 -14
- package/dist/components/EmployeePicker/FilterBar/index.js +1 -28
- package/dist/components/EmployeePicker/Group/index.js +1 -41
- package/dist/components/FilterRadioGroup/index.js +2 -14
- package/dist/components/Form/index.js +4 -47
- package/dist/components/Modal/index.js +1 -23
- package/dist/components/RadioBlock/index.js +10 -41
- package/dist/components/Snackbar/index.js +1 -17
- package/dist/components/Time/OverlayBase/index.js +2 -25
- package/dist/components/Time/TimePicker/TimeOverlay/index.js +3 -26
- package/dist/components/TimePicker/Time/TimeOverlay/index.js +1 -58
- package/dist/setupTests.js +0 -7
- package/package.json +6 -8
- package/src/components/DayPicker/NewDayPicker/index.js +0 -21
- package/src/components/DayPicker/index.js +1 -16
- package/src/components/DayPicker/test.js +0 -85
- package/src/components/DayPickerPanel/HeaderDayPickerPanel/index.js +2 -22
- package/src/components/DayPickerPanel/HeaderDayPickerPanel/test.js +0 -34
- package/src/components/DayPickerPanel/HeaderMonthPanel/index.js +0 -10
- package/src/components/DayPickerPanel/HeaderMonthPanel/test.js +0 -25
- package/src/components/DayPickerPanel/HeaderYearPanel/index.js +3 -12
- package/src/components/DayPickerPanel/HeaderYearPanel/test.js +0 -17
- package/src/components/DayPickerPanel/Shortcuts/index.js +3 -17
- package/src/components/DayPickerPanel/Shortcuts/test.js +0 -39
- package/src/components/DayPickerPanel/index.js +1 -69
- package/src/components/DayPickerPanel/test.js +0 -177
- package/src/components/EmployeeCard/index.js +1 -15
- package/src/components/EmployeeCard/test.js +0 -20
- package/src/components/EmployeePicker/FilterBar/index.js +2 -26
- package/src/components/EmployeePicker/FilterBar/test.js +0 -29
- package/src/components/EmployeePicker/Group/index.js +1 -42
- package/src/components/EmployeePicker/Group/test.js +0 -21
- package/src/components/FilterRadioGroup/index.js +2 -14
- package/src/components/FilterRadioGroup/test.js +0 -13
- package/src/components/Form/index.js +1 -49
- package/src/components/Form/test.js +0 -73
- package/src/components/Modal/index.js +1 -22
- package/src/components/Modal/test.js +9 -9
- package/src/components/RadioBlock/index.js +14 -33
- package/src/components/RadioBlock/test.js +35 -155
- package/src/components/ResponsiveTabs/test.js +49 -86
- package/src/components/Snackbar/index.js +1 -16
- package/src/components/Time/OverlayBase/index.js +3 -21
- package/src/components/Time/OverlayBase/test.js +0 -50
- package/src/components/Time/TimePicker/TimeOverlay/index.js +4 -30
- package/src/components/Time/TimePicker/TimeOverlay/test.js +0 -24
- package/src/components/TimePicker/DayPart/test.js +1 -1
- package/src/components/TimePicker/Time/TimeOverlay/index.js +2 -50
- package/src/components/TimePicker/Time/TimeOverlay/test.js +1 -220
- package/src/index.js +1 -1
- package/src/setupTests.js +0 -2
- package/dist/components/TimePicker/utils/PickerGA/index.js +0 -24
- package/dist/utils/trackForm/index.js +0 -48
- package/src/components/TimePicker/utils/PickerGA/index.js +0 -6
- package/src/components/TimePicker/utils/PickerGA/test.js +0 -29
- package/src/utils/trackForm/index.js +0 -36
- package/src/utils/trackForm/test.js +0 -110
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "bright-components",
|
3
|
-
"version": "10.2.
|
3
|
+
"version": "10.2.9",
|
4
4
|
"private": false,
|
5
5
|
"main": "./dist",
|
6
6
|
"repository": {
|
@@ -29,7 +29,6 @@
|
|
29
29
|
"react-autosuggest": "^9.4.3",
|
30
30
|
"react-copy-to-clipboard": "^5.0.1",
|
31
31
|
"react-day-picker": "^7.3.2",
|
32
|
-
"react-dev-utils": "^9.0.3",
|
33
32
|
"react-dropzone": "^4.3.0",
|
34
33
|
"react-icon-base": "^2.1.1",
|
35
34
|
"react-onclickoutside": "^6.7.1",
|
@@ -42,7 +41,6 @@
|
|
42
41
|
"formik": ">=1.5.x",
|
43
42
|
"react": ">=16",
|
44
43
|
"react-dom": ">=16",
|
45
|
-
"react-ga": ">=2",
|
46
44
|
"styled-components": ">=4.x"
|
47
45
|
},
|
48
46
|
"scripts": {
|
@@ -125,8 +123,8 @@
|
|
125
123
|
"prettier": "^1.18.2",
|
126
124
|
"react": "^16.9.0",
|
127
125
|
"react-app-polyfill": "^1.0.2",
|
126
|
+
"react-dev-utils": "^9.0.3",
|
128
127
|
"react-dom": "^16.9.0",
|
129
|
-
"react-ga": "^2.6.0",
|
130
128
|
"react-styleguidist": "^8.0.6",
|
131
129
|
"resolve": "1.13.1",
|
132
130
|
"resolve-url-loader": "3.1.0",
|
@@ -200,10 +198,10 @@
|
|
200
198
|
],
|
201
199
|
"coverageThreshold": {
|
202
200
|
"global": {
|
203
|
-
"branches":
|
204
|
-
"functions":
|
205
|
-
"lines":
|
206
|
-
"statements":
|
201
|
+
"branches": 95,
|
202
|
+
"functions": 95,
|
203
|
+
"lines": 95,
|
204
|
+
"statements": 95
|
207
205
|
}
|
208
206
|
},
|
209
207
|
"snapshotSerializers": [
|
@@ -7,7 +7,6 @@ import { string, func, bool, shape, instanceOf, number } from 'prop-types';
|
|
7
7
|
import colors from 'constants/colors';
|
8
8
|
import spacing from 'constants/spacing';
|
9
9
|
import CalendarIcon from 'components/Icons/Calendar/';
|
10
|
-
import { event } from 'react-ga';
|
11
10
|
|
12
11
|
const HiddenBox = styled(Input.withComponent('div'))`
|
13
12
|
display: flex;
|
@@ -62,8 +61,6 @@ const NewDisplay = ({
|
|
62
61
|
disabled,
|
63
62
|
error,
|
64
63
|
toggleDayPicker,
|
65
|
-
GA: { category, actionId },
|
66
|
-
recordValue,
|
67
64
|
dayPickerOpen
|
68
65
|
}) => {
|
69
66
|
const { placeholderDate, dateFormat } = formats[locale] || formats.default;
|
@@ -120,19 +117,6 @@ const NewDisplay = ({
|
|
120
117
|
: null;
|
121
118
|
}
|
122
119
|
|
123
|
-
if (category) {
|
124
|
-
const label = `${format(
|
125
|
-
newDate.from,
|
126
|
-
'EEE dd MMM'
|
127
|
-
)} ${format(newDate.from, 'yyyy')}`;
|
128
|
-
|
129
|
-
event({
|
130
|
-
category,
|
131
|
-
action: `${actionId} - Set via Typing`,
|
132
|
-
...(recordValue ? { label } : {})
|
133
|
-
});
|
134
|
-
}
|
135
|
-
|
136
120
|
return onSelectedDate(newDate);
|
137
121
|
}}
|
138
122
|
onChange={({ target: { value } }) => {
|
@@ -197,11 +181,6 @@ NewDisplay.propTypes = {
|
|
197
181
|
disabled: bool.isRequired,
|
198
182
|
error: bool.isRequired,
|
199
183
|
toggleDayPicker: func.isRequired,
|
200
|
-
GA: shape({
|
201
|
-
category: string,
|
202
|
-
actionId: string
|
203
|
-
}).isRequired,
|
204
|
-
recordValue: bool.isRequired,
|
205
184
|
dayPickerOpen: bool.isRequired
|
206
185
|
};
|
207
186
|
|
@@ -4,7 +4,6 @@ import React from 'react';
|
|
4
4
|
import autobind from 'react-autobind';
|
5
5
|
import onClickOutside from 'react-onclickoutside';
|
6
6
|
import { startOfToday, isSameYear, format, subYears, addYears } from 'date-fns';
|
7
|
-
import { event } from 'react-ga';
|
8
7
|
import {
|
9
8
|
bool,
|
10
9
|
func,
|
@@ -181,17 +180,10 @@ class DayPicker extends React.Component {
|
|
181
180
|
}
|
182
181
|
|
183
182
|
toggleDayPicker() {
|
184
|
-
const { disabled
|
183
|
+
const { disabled } = this.props;
|
185
184
|
const { dayPickerOpen } = this.state;
|
186
185
|
if (disabled) return;
|
187
186
|
|
188
|
-
if (GA.category && !dayPickerOpen) {
|
189
|
-
event({
|
190
|
-
category: GA.category,
|
191
|
-
action: `${GA.actionId} - DayPicker Input Open`
|
192
|
-
});
|
193
|
-
}
|
194
|
-
|
195
187
|
this.setState({ dayPickerOpen: !dayPickerOpen }, () => {
|
196
188
|
if (this.containerRef.current) {
|
197
189
|
this.containerRef.current.scrollIntoView({
|
@@ -227,7 +219,6 @@ class DayPicker extends React.Component {
|
|
227
219
|
disabled,
|
228
220
|
shortcuts,
|
229
221
|
disabledDays,
|
230
|
-
GA,
|
231
222
|
recordValue,
|
232
223
|
legacyInputStyle,
|
233
224
|
closeButton,
|
@@ -281,7 +272,6 @@ class DayPicker extends React.Component {
|
|
281
272
|
disabled={disabled}
|
282
273
|
error={error}
|
283
274
|
toggleDayPicker={this.toggleDayPicker}
|
284
|
-
GA={GA}
|
285
275
|
recordValue={recordValue}
|
286
276
|
dayPickerOpen={dayPickerOpen}
|
287
277
|
/>
|
@@ -303,7 +293,6 @@ class DayPicker extends React.Component {
|
|
303
293
|
range={range}
|
304
294
|
onApply={this.applyDate}
|
305
295
|
recordValue={recordValue}
|
306
|
-
GA={GA}
|
307
296
|
onClear={allowClear ? this.clearValue : undefined}
|
308
297
|
shortcuts={shortcuts}
|
309
298
|
disabledDays={disabledDays}
|
@@ -333,10 +322,6 @@ DayPicker.propTypes = {
|
|
333
322
|
style: object, // eslint-disable-line react/forbid-prop-types
|
334
323
|
open: bool,
|
335
324
|
recordValue: bool,
|
336
|
-
GA: shape({
|
337
|
-
category: string,
|
338
|
-
actionId: string
|
339
|
-
}).isRequired,
|
340
325
|
range: shape({
|
341
326
|
from: instanceOf(Date),
|
342
327
|
to: instanceOf(Date)
|
@@ -1,11 +1,8 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { render, fireEvent, wait } from '@testing-library/react';
|
3
3
|
import userEvent from '@testing-library/user-event';
|
4
|
-
import ReactGA from 'react-ga';
|
5
4
|
import DayPicker from '.';
|
6
5
|
|
7
|
-
jest.mock('react-ga');
|
8
|
-
|
9
6
|
describe('<DayPicker />', () => {
|
10
7
|
let wrapper;
|
11
8
|
let onMockSelectedDate;
|
@@ -19,10 +16,6 @@ describe('<DayPicker />', () => {
|
|
19
16
|
props = {
|
20
17
|
range: { from: undefined, to: undefined },
|
21
18
|
onSelectedDate: onMockSelectedDate,
|
22
|
-
GA: {
|
23
|
-
category: 'Test',
|
24
|
-
actionId: 'ActionID'
|
25
|
-
},
|
26
19
|
dateRange: true
|
27
20
|
};
|
28
21
|
wrapper = render(<DayPicker {...props} />);
|
@@ -360,54 +353,6 @@ describe('<DayPicker />', () => {
|
|
360
353
|
);
|
361
354
|
});
|
362
355
|
|
363
|
-
describe('GA Tags', () => {
|
364
|
-
it('should call the correct GA tags when the input is selected', () => {
|
365
|
-
expect(ReactGA.event).not.toHaveBeenCalled();
|
366
|
-
const inputSelect = wrapper.getByText('Select date');
|
367
|
-
|
368
|
-
fireEvent.click(inputSelect);
|
369
|
-
expect(ReactGA.event).toHaveBeenCalledWith({
|
370
|
-
action: 'ActionID - DayPicker Input Open',
|
371
|
-
category: 'Test'
|
372
|
-
});
|
373
|
-
});
|
374
|
-
it('should call the correct GA tags when the apply button is clicked', () => {
|
375
|
-
props.range = {
|
376
|
-
from: new Date('2019-08-01'),
|
377
|
-
to: new Date('2019-08-30')
|
378
|
-
};
|
379
|
-
|
380
|
-
wrapper.rerender(<DayPicker {...props} />);
|
381
|
-
const inputSelect = wrapper.getByText(
|
382
|
-
'Thu 01 Aug - Fri 30 Aug 2019'
|
383
|
-
);
|
384
|
-
fireEvent.click(inputSelect);
|
385
|
-
expect(ReactGA.event).toHaveBeenCalledTimes(1);
|
386
|
-
|
387
|
-
const startDate = wrapper.getByLabelText(date1);
|
388
|
-
const endDate = wrapper.getByLabelText(date2);
|
389
|
-
|
390
|
-
fireEvent.click(startDate);
|
391
|
-
fireEvent.click(endDate);
|
392
|
-
|
393
|
-
const applyBtn = wrapper.getByText('Apply');
|
394
|
-
fireEvent.click(applyBtn);
|
395
|
-
|
396
|
-
expect(ReactGA.event).toHaveBeenCalledWith({
|
397
|
-
action: 'ActionID - Apply',
|
398
|
-
category: 'Test'
|
399
|
-
});
|
400
|
-
});
|
401
|
-
|
402
|
-
it('should only fire GA if input box is clicked to open and not clicked to close', () => {
|
403
|
-
const inputSelect = wrapper.getByText('Select date');
|
404
|
-
fireEvent.click(inputSelect);
|
405
|
-
fireEvent.click(inputSelect);
|
406
|
-
|
407
|
-
expect(ReactGA.event).toHaveBeenCalledTimes(1);
|
408
|
-
});
|
409
|
-
});
|
410
|
-
|
411
356
|
describe('Typing date', () => {
|
412
357
|
it('should set the correct date when typed in', async () => {
|
413
358
|
wrapper.rerender(
|
@@ -671,35 +616,5 @@ describe('<DayPicker />', () => {
|
|
671
616
|
const inputSelect = wrapper.getByTestId('new input');
|
672
617
|
expect(inputSelect).toBeDisabled();
|
673
618
|
});
|
674
|
-
|
675
|
-
it('should call the correct GA tags when the date is typed', async () => {
|
676
|
-
wrapper.rerender(
|
677
|
-
<DayPicker
|
678
|
-
{...props}
|
679
|
-
typeable
|
680
|
-
dateRange={false}
|
681
|
-
range={{
|
682
|
-
from: undefined,
|
683
|
-
to: undefined
|
684
|
-
}}
|
685
|
-
recordValue
|
686
|
-
/>
|
687
|
-
);
|
688
|
-
expect(ReactGA.event).toHaveBeenCalledTimes(0);
|
689
|
-
|
690
|
-
const inputSelect = wrapper.getByTestId('new input');
|
691
|
-
fireEvent.focus(inputSelect);
|
692
|
-
userEvent.type(inputSelect, `201222`);
|
693
|
-
await wait(() => expect(inputSelect.value).toEqual('20/12/22'));
|
694
|
-
fireEvent.blur(inputSelect);
|
695
|
-
|
696
|
-
await wait(() =>
|
697
|
-
expect(ReactGA.event).toHaveBeenCalledWith({
|
698
|
-
action: 'ActionID - Set via Typing',
|
699
|
-
category: 'Test',
|
700
|
-
label: 'Tue 20 Dec 2022'
|
701
|
-
})
|
702
|
-
);
|
703
|
-
});
|
704
619
|
});
|
705
620
|
});
|
@@ -21,8 +21,6 @@ import {
|
|
21
21
|
startOfDay,
|
22
22
|
startOfMonth
|
23
23
|
} from 'date-fns';
|
24
|
-
|
25
|
-
import { event } from 'react-ga';
|
26
24
|
import {
|
27
25
|
bool,
|
28
26
|
func,
|
@@ -30,8 +28,7 @@ import {
|
|
30
28
|
number,
|
31
29
|
shape,
|
32
30
|
array,
|
33
|
-
oneOf
|
34
|
-
string
|
31
|
+
oneOf
|
35
32
|
} from 'prop-types';
|
36
33
|
import styled from 'styled-components';
|
37
34
|
import autoBind from 'react-autobind';
|
@@ -250,7 +247,6 @@ class HeaderDayPickerPanel extends React.Component {
|
|
250
247
|
onMonthClick,
|
251
248
|
onYearClick,
|
252
249
|
shortcuts,
|
253
|
-
GA,
|
254
250
|
isDateSelect,
|
255
251
|
onMonthChange,
|
256
252
|
onYearChange
|
@@ -311,18 +307,10 @@ class HeaderDayPickerPanel extends React.Component {
|
|
311
307
|
onNext={() => {
|
312
308
|
onNextClick();
|
313
309
|
this.setMonthYear(nextMonth);
|
314
|
-
event({
|
315
|
-
category: GA.category,
|
316
|
-
action: `${GA.actionId} - Next Month`
|
317
|
-
});
|
318
310
|
}}
|
319
311
|
onPrevious={() => {
|
320
312
|
onPreviousClick();
|
321
313
|
this.setMonthYear(previousMonth);
|
322
|
-
event({
|
323
|
-
category: GA.category,
|
324
|
-
action: `${GA.actionId} - Previous Month`
|
325
|
-
});
|
326
314
|
}}
|
327
315
|
showNext={showNext}
|
328
316
|
showPrevious={showPrevious}
|
@@ -405,17 +393,13 @@ class HeaderDayPickerPanel extends React.Component {
|
|
405
393
|
set={shortcuts}
|
406
394
|
dateRange={dateRange}
|
407
395
|
shortcutClicked={this.setDateFromShortcut}
|
408
|
-
GA={GA}
|
409
396
|
/>
|
410
397
|
)}
|
411
398
|
</FooterShortcuts>
|
412
399
|
{(dateRange || onClear) && (
|
413
400
|
<FooterActions>
|
414
401
|
{onClear && (
|
415
|
-
<ClearButton
|
416
|
-
gaAction={`${GA.actionId} Day picker clear`}
|
417
|
-
onClick={onClear}
|
418
|
-
>
|
402
|
+
<ClearButton onClick={onClear}>
|
419
403
|
Clear
|
420
404
|
</ClearButton>
|
421
405
|
)}
|
@@ -455,10 +439,6 @@ HeaderDayPickerPanel.propTypes = {
|
|
455
439
|
onClear: func,
|
456
440
|
disabledDays: array, // eslint-disable-line react/forbid-prop-types
|
457
441
|
shortcuts: oneOf(['today', 'current', 'last']),
|
458
|
-
GA: shape({
|
459
|
-
category: string,
|
460
|
-
actionId: string
|
461
|
-
}).isRequired,
|
462
442
|
isDateSelect: bool,
|
463
443
|
onMonthChange: func,
|
464
444
|
onYearChange: func
|
@@ -17,12 +17,7 @@ import {
|
|
17
17
|
getDate,
|
18
18
|
getDaysInMonth
|
19
19
|
} from 'date-fns';
|
20
|
-
|
21
|
-
import { event } from 'react-ga';
|
22
20
|
import HeaderDayPickerPanel from '.';
|
23
|
-
import Header from '../Header';
|
24
|
-
|
25
|
-
jest.mock('react-ga');
|
26
21
|
|
27
22
|
let comp;
|
28
23
|
|
@@ -59,39 +54,10 @@ describe('Calendar view', () => {
|
|
59
54
|
startDateClicked={false}
|
60
55
|
shortcuts="current"
|
61
56
|
range={{ from: new Date(2018, 3, 1), to: new Date(2018, 3, 7) }}
|
62
|
-
GA={{
|
63
|
-
category: 'Cat',
|
64
|
-
actionId: 'Action ID'
|
65
|
-
}}
|
66
57
|
/>
|
67
58
|
);
|
68
59
|
});
|
69
60
|
|
70
|
-
describe('GA Event tracking', () => {
|
71
|
-
it('should be passed a GA prop with an object and it should be passed to Shortcuts', () => {
|
72
|
-
expect(comp.find('Shortcuts').prop('GA')).toEqual({
|
73
|
-
category: 'Cat',
|
74
|
-
actionId: 'Action ID'
|
75
|
-
});
|
76
|
-
});
|
77
|
-
|
78
|
-
it('should fire a GA event, when next or previous is clicked', () => {
|
79
|
-
comp.find(Header).prop('onNext')();
|
80
|
-
|
81
|
-
expect(event).toHaveBeenCalledWith({
|
82
|
-
category: 'Cat',
|
83
|
-
action: 'Action ID - Next Month'
|
84
|
-
});
|
85
|
-
|
86
|
-
comp.find(Header).prop('onPrevious')();
|
87
|
-
|
88
|
-
expect(event).toHaveBeenCalledWith({
|
89
|
-
category: 'Cat',
|
90
|
-
action: 'Action ID - Previous Month'
|
91
|
-
});
|
92
|
-
});
|
93
|
-
});
|
94
|
-
|
95
61
|
describe('Day Picker with Previous and Next', () => {
|
96
62
|
it('should render the Header and DayPicker component', () => {
|
97
63
|
expect(comp.find('Header')).toHaveLength(1);
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { func, number, shape, string, oneOfType, bool } from 'prop-types';
|
3
3
|
import { format, startOfMonth } from 'date-fns';
|
4
|
-
import { event } from 'react-ga';
|
5
4
|
import styled from 'styled-components';
|
6
5
|
import spacing from 'constants/spacing';
|
7
6
|
import Header from '../Header';
|
@@ -27,7 +26,6 @@ const HeaderMonthPanel = props => {
|
|
27
26
|
setYear,
|
28
27
|
switchBackToCalendarView,
|
29
28
|
onCancelClick,
|
30
|
-
GA: { category, actionId },
|
31
29
|
isViewingCurrentYear,
|
32
30
|
isMonthOnly
|
33
31
|
} = props;
|
@@ -54,10 +52,6 @@ const HeaderMonthPanel = props => {
|
|
54
52
|
const selectedIndex = MONTHS.indexOf(selectedMonth);
|
55
53
|
setMonth(selectedIndex);
|
56
54
|
switchBackToCalendarView();
|
57
|
-
event({
|
58
|
-
category,
|
59
|
-
action: `${actionId} - Month ${selectedIndex + 1}`
|
60
|
-
});
|
61
55
|
}}
|
62
56
|
selectedItem={defaultSelectedItem}
|
63
57
|
hideSelected={!isViewingCurrentYear}
|
@@ -86,10 +80,6 @@ HeaderMonthPanel.propTypes = {
|
|
86
80
|
setYear: func.isRequired,
|
87
81
|
switchBackToCalendarView: func.isRequired,
|
88
82
|
onCancelClick: func,
|
89
|
-
GA: shape({
|
90
|
-
category: string,
|
91
|
-
actionId: string
|
92
|
-
}).isRequired,
|
93
83
|
isViewingCurrentYear: bool,
|
94
84
|
isMonthOnly: bool
|
95
85
|
};
|
@@ -1,10 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { mount } from 'enzyme';
|
3
|
-
import { event } from 'react-ga';
|
4
3
|
import HeaderMonthPanel from '.';
|
5
4
|
|
6
|
-
jest.mock('react-ga');
|
7
|
-
|
8
5
|
describe('Month and Header wrapper', () => {
|
9
6
|
const mockSetMonth = jest.fn();
|
10
7
|
const mockSetYear = jest.fn();
|
@@ -25,10 +22,6 @@ describe('Month and Header wrapper', () => {
|
|
25
22
|
)}
|
26
23
|
switchBackToCalendarView={mockSwitchBackToCalendarView}
|
27
24
|
onCancelClick={mockCancelClick}
|
28
|
-
GA={{
|
29
|
-
category: 'Cat',
|
30
|
-
actionId: 'Action ID'
|
31
|
-
}}
|
32
25
|
/>
|
33
26
|
);
|
34
27
|
});
|
@@ -63,16 +56,6 @@ describe('Month and Header wrapper', () => {
|
|
63
56
|
expect(mockSetMonth).toHaveBeenCalledWith(2);
|
64
57
|
});
|
65
58
|
|
66
|
-
it('should fire a GA event displaying the Month selected', () => {
|
67
|
-
comp.find('button')
|
68
|
-
.at(2)
|
69
|
-
.simulate('click');
|
70
|
-
|
71
|
-
expect(event).toHaveBeenCalledWith({
|
72
|
-
category: 'Cat',
|
73
|
-
action: 'Action ID - Month 3'
|
74
|
-
});
|
75
|
-
});
|
76
59
|
it('should call the switchBackToCalendarView function when clicked', () => {
|
77
60
|
expect(mockSwitchBackToCalendarView).not.toHaveBeenCalled();
|
78
61
|
comp.find('button')
|
@@ -102,10 +85,6 @@ describe('Month and Header wrapper', () => {
|
|
102
85
|
)}
|
103
86
|
switchBackToCalendarView={mockSwitchBackToCalendarView}
|
104
87
|
onCancelClick={mockCancelClick}
|
105
|
-
GA={{
|
106
|
-
category: 'Cat',
|
107
|
-
actionId: 'Action ID'
|
108
|
-
}}
|
109
88
|
isMonthOnly
|
110
89
|
/>
|
111
90
|
);
|
@@ -125,10 +104,6 @@ describe('Month and Header wrapper', () => {
|
|
125
104
|
comp.setProps({ year })
|
126
105
|
)}
|
127
106
|
onCancelClick={mockCancelClick}
|
128
|
-
GA={{
|
129
|
-
category: 'Cat',
|
130
|
-
actionId: 'Action ID'
|
131
|
-
}}
|
132
107
|
isViewingCurrentYear={false}
|
133
108
|
switchBackToCalendarView={mockSwitchBackToCalendarView}
|
134
109
|
/>
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import { func, number, arrayOf
|
3
|
-
import { event } from 'react-ga';
|
2
|
+
import { func, number, arrayOf } from 'prop-types';
|
4
3
|
import styled from 'styled-components';
|
5
4
|
import spacing from 'constants/spacing';
|
6
5
|
import Header from '../Header';
|
@@ -25,8 +24,7 @@ const HeaderYearPanel = ({
|
|
25
24
|
setYear,
|
26
25
|
switchBackToCalendarView,
|
27
26
|
year,
|
28
|
-
onCancelClick
|
29
|
-
GA: { category, actionId }
|
27
|
+
onCancelClick
|
30
28
|
}) => {
|
31
29
|
const currentYearItems = yearRanges[yearRangeIndex];
|
32
30
|
const showNext = yearRangeIndex !== yearRanges.length - 1;
|
@@ -48,10 +46,6 @@ const HeaderYearPanel = ({
|
|
48
46
|
onItemSelected={yearSelected => {
|
49
47
|
setYear(yearSelected);
|
50
48
|
switchBackToCalendarView();
|
51
|
-
event({
|
52
|
-
category,
|
53
|
-
action: `${actionId} - Year ${yearSelected}`
|
54
|
-
});
|
55
49
|
}}
|
56
50
|
items={currentYearItems}
|
57
51
|
/>
|
@@ -72,10 +66,7 @@ HeaderYearPanel.propTypes = {
|
|
72
66
|
onCancelClick: func,
|
73
67
|
yearRanges: arrayOf(arrayOf(number)).isRequired,
|
74
68
|
yearRangeIndex: number.isRequired,
|
75
|
-
setYearRangeIndex: func.isRequired
|
76
|
-
GA: shape({
|
77
|
-
category: string
|
78
|
-
}).isRequired
|
69
|
+
setYearRangeIndex: func.isRequired
|
79
70
|
};
|
80
71
|
|
81
72
|
HeaderYearPanel.defaultProps = {
|
@@ -1,13 +1,11 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { mount } from 'enzyme';
|
3
|
-
import { event } from 'react-ga';
|
4
3
|
import range from 'utils/range/';
|
5
4
|
import HeaderYearPanel from '.';
|
6
5
|
|
7
6
|
const mockSetYear = jest.fn();
|
8
7
|
const mockCancelClick = jest.fn();
|
9
8
|
const mockSwitchBackToCalendarView = jest.fn();
|
10
|
-
jest.mock('react-ga');
|
11
9
|
let comp;
|
12
10
|
|
13
11
|
describe('Month and Year wrapper', () => {
|
@@ -23,10 +21,6 @@ describe('Month and Year wrapper', () => {
|
|
23
21
|
setYear={mockSetYear}
|
24
22
|
onCancelClick={mockCancelClick}
|
25
23
|
switchBackToCalendarView={mockSwitchBackToCalendarView}
|
26
|
-
GA={{
|
27
|
-
category: 'Cat',
|
28
|
-
actionId: 'Action ID'
|
29
|
-
}}
|
30
24
|
/>
|
31
25
|
);
|
32
26
|
});
|
@@ -107,17 +101,6 @@ describe('Month and Year wrapper', () => {
|
|
107
101
|
expect(mockSetYear).toHaveBeenCalledWith(2018);
|
108
102
|
});
|
109
103
|
|
110
|
-
it('should fire a GA event displaying the Month selected', () => {
|
111
|
-
comp.find('button')
|
112
|
-
.at(3)
|
113
|
-
.simulate('click');
|
114
|
-
|
115
|
-
expect(event).toHaveBeenCalledWith({
|
116
|
-
category: 'Cat',
|
117
|
-
action: 'Action ID - Year 2018'
|
118
|
-
});
|
119
|
-
});
|
120
|
-
|
121
104
|
it('should call the mockSwitchBackToCalendarView method when clicked', () => {
|
122
105
|
expect(mockSwitchBackToCalendarView).not.toHaveBeenCalled();
|
123
106
|
comp.find('button')
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import { bool, func, oneOf
|
2
|
+
import { bool, func, oneOf } from 'prop-types';
|
3
3
|
import styled from 'styled-components';
|
4
|
-
import { event } from 'react-ga';
|
5
4
|
import {
|
6
5
|
startOfToday,
|
7
6
|
startOfWeek,
|
@@ -72,21 +71,12 @@ const shortcuts = (set, dateRange) => {
|
|
72
71
|
return result;
|
73
72
|
};
|
74
73
|
|
75
|
-
const Shortcuts = ({
|
76
|
-
set,
|
77
|
-
dateRange,
|
78
|
-
shortcutClicked,
|
79
|
-
GA: { category, actionId }
|
80
|
-
}) => (
|
74
|
+
const Shortcuts = ({ set, dateRange, shortcutClicked }) => (
|
81
75
|
<>
|
82
76
|
{shortcuts(set, dateRange).map(({ name, range }) => (
|
83
77
|
<Shortcut
|
84
78
|
key={name}
|
85
79
|
onClick={() => {
|
86
|
-
event({
|
87
|
-
category,
|
88
|
-
action: `${actionId} - ${name} shortcut`
|
89
|
-
});
|
90
80
|
shortcutClicked(range);
|
91
81
|
}}
|
92
82
|
>
|
@@ -100,11 +90,7 @@ Shortcuts.displayName = 'Shortcuts';
|
|
100
90
|
Shortcuts.propTypes = {
|
101
91
|
set: oneOf(['today', 'current', 'last', 'next']),
|
102
92
|
dateRange: bool,
|
103
|
-
shortcutClicked: func.isRequired
|
104
|
-
GA: shape({
|
105
|
-
category: string,
|
106
|
-
action: string
|
107
|
-
}).isRequired
|
93
|
+
shortcutClicked: func.isRequired
|
108
94
|
};
|
109
95
|
|
110
96
|
Shortcuts.defaultProps = {
|