bright-components 10.2.7 → 10.2.8
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 +5 -7
- 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.8",
|
4
4
|
"private": false,
|
5
5
|
"main": "./dist",
|
6
6
|
"repository": {
|
@@ -42,7 +42,6 @@
|
|
42
42
|
"formik": ">=1.5.x",
|
43
43
|
"react": ">=16",
|
44
44
|
"react-dom": ">=16",
|
45
|
-
"react-ga": ">=2",
|
46
45
|
"styled-components": ">=4.x"
|
47
46
|
},
|
48
47
|
"scripts": {
|
@@ -126,7 +125,6 @@
|
|
126
125
|
"react": "^16.9.0",
|
127
126
|
"react-app-polyfill": "^1.0.2",
|
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 = {
|
@@ -9,11 +9,8 @@ import {
|
|
9
9
|
subDays,
|
10
10
|
addDays
|
11
11
|
} from 'date-fns';
|
12
|
-
import { event } from 'react-ga';
|
13
12
|
import Shortcuts from '.';
|
14
13
|
|
15
|
-
jest.mock('react-ga');
|
16
|
-
|
17
14
|
const onShortcutClicked = jest.fn();
|
18
15
|
let comp;
|
19
16
|
|
@@ -22,10 +19,6 @@ describe('Shortcuts', () => {
|
|
22
19
|
beforeEach(() => {
|
23
20
|
comp = mount(
|
24
21
|
<Shortcuts
|
25
|
-
GA={{
|
26
|
-
category: 'Cat',
|
27
|
-
actionId: 'Action ID'
|
28
|
-
}}
|
29
22
|
set="today"
|
30
23
|
dateRange={false}
|
31
24
|
shortcutClicked={onShortcutClicked}
|
@@ -47,14 +40,6 @@ describe('Shortcuts', () => {
|
|
47
40
|
});
|
48
41
|
});
|
49
42
|
|
50
|
-
it('should trigger a GA event when clicked', () => {
|
51
|
-
comp.find('Shortcut').simulate('click');
|
52
|
-
expect(event).toHaveBeenCalledWith({
|
53
|
-
category: 'Cat',
|
54
|
-
action: 'Action ID - Today shortcut'
|
55
|
-
});
|
56
|
-
});
|
57
|
-
|
58
43
|
it('should only set Today shortcut even if in a range', () => {
|
59
44
|
comp.setProps({
|
60
45
|
dateRange: true
|
@@ -72,10 +57,6 @@ describe('Shortcuts', () => {
|
|
72
57
|
set="current"
|
73
58
|
dateRange
|
74
59
|
shortcutClicked={onShortcutClicked}
|
75
|
-
GA={{
|
76
|
-
category: 'Cat',
|
77
|
-
actionId: 'Action ID'
|
78
|
-
}}
|
79
60
|
/>
|
80
61
|
);
|
81
62
|
});
|
@@ -108,18 +89,6 @@ describe('Shortcuts', () => {
|
|
108
89
|
});
|
109
90
|
});
|
110
91
|
|
111
|
-
it('should trigger a GA event when clicked', () => {
|
112
|
-
comp
|
113
|
-
.find('Shortcut')
|
114
|
-
.at(1)
|
115
|
-
.prop('onClick')();
|
116
|
-
|
117
|
-
expect(event).toHaveBeenCalledWith({
|
118
|
-
category: 'Cat',
|
119
|
-
action: 'Action ID - This week shortcut'
|
120
|
-
});
|
121
|
-
});
|
122
|
-
|
123
92
|
it('should set range to This month on click', () => {
|
124
93
|
comp.find('Shortcut')
|
125
94
|
.at(2)
|
@@ -147,10 +116,6 @@ describe('Shortcuts', () => {
|
|
147
116
|
set="last"
|
148
117
|
dateRange
|
149
118
|
shortcutClicked={onShortcutClicked}
|
150
|
-
GA={{
|
151
|
-
category: 'Cat',
|
152
|
-
actionId: 'Action ID'
|
153
|
-
}}
|
154
119
|
/>
|
155
120
|
);
|
156
121
|
});
|
@@ -210,10 +175,6 @@ describe('Shortcuts', () => {
|
|
210
175
|
set="next"
|
211
176
|
dateRange
|
212
177
|
shortcutClicked={onShortcutClicked}
|
213
|
-
GA={{
|
214
|
-
category: 'Cat',
|
215
|
-
actionId: 'Action ID'
|
216
|
-
}}
|
217
178
|
/>
|
218
179
|
);
|
219
180
|
});
|