@farm-investimentos/front-mfe-components 14.1.4 → 14.1.5
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/dist/front-mfe-components.common.js +155 -134
- package/dist/front-mfe-components.common.js.map +1 -1
- package/dist/front-mfe-components.css +1 -1
- package/dist/front-mfe-components.umd.js +155 -134
- package/dist/front-mfe-components.umd.js.map +1 -1
- package/dist/front-mfe-components.umd.min.js +1 -1
- package/dist/front-mfe-components.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/src/components/DatePicker/DatePicker.stories.js +10 -0
- package/src/components/DatePicker/DatePicker.vue +16 -2
- package/src/components/DatePicker/__tests__/DatePicker.spec.js +40 -0
- package/src/components/RangeDatePicker/RangeDatePicker.vue +19 -2
- package/src/components/RangeDatePicker/__tests__/RangeDatePicker.spec.js +56 -0
package/package.json
CHANGED
|
@@ -66,3 +66,13 @@ export const Readonly = () => ({
|
|
|
66
66
|
</div>`,
|
|
67
67
|
});
|
|
68
68
|
|
|
69
|
+
export const IsNull = () => ({
|
|
70
|
+
data() {
|
|
71
|
+
return {
|
|
72
|
+
date: null,
|
|
73
|
+
};
|
|
74
|
+
},
|
|
75
|
+
template: `<div style='max-width: 320px'>
|
|
76
|
+
<farm-input-datepicker inputId="input-custom-id-8" v-model="date" :required="true" />
|
|
77
|
+
</div>`,
|
|
78
|
+
});
|
|
@@ -26,7 +26,12 @@
|
|
|
26
26
|
Cancelar
|
|
27
27
|
</farm-btn>
|
|
28
28
|
|
|
29
|
-
<farm-btn
|
|
29
|
+
<farm-btn
|
|
30
|
+
class="ml-2"
|
|
31
|
+
title="Confirmar"
|
|
32
|
+
:disabled="isDateFieldDisabled"
|
|
33
|
+
@click="save()"
|
|
34
|
+
>
|
|
30
35
|
Confirmar <farm-icon>check</farm-icon>
|
|
31
36
|
</farm-btn>
|
|
32
37
|
</v-date-picker>
|
|
@@ -206,7 +211,16 @@ export default Vue.extend({
|
|
|
206
211
|
},
|
|
207
212
|
},
|
|
208
213
|
isDisabled(): boolean {
|
|
209
|
-
|
|
214
|
+
if (this.value) {
|
|
215
|
+
return this.value.length === 0 ? true : false;
|
|
216
|
+
}
|
|
217
|
+
return true;
|
|
218
|
+
},
|
|
219
|
+
isDateFieldDisabled() {
|
|
220
|
+
if (this.dateField) {
|
|
221
|
+
return this.dateField.length === 0 ? true : false;
|
|
222
|
+
}
|
|
223
|
+
return true;
|
|
210
224
|
},
|
|
211
225
|
},
|
|
212
226
|
});
|
|
@@ -33,6 +33,46 @@ describe('DatePicker component', () => {
|
|
|
33
33
|
component.inputVal = 'teste';
|
|
34
34
|
expect(wrapper.emitted().input).toBeDefined();
|
|
35
35
|
});
|
|
36
|
+
it('isDisabled to be true when value is empty', async () => {
|
|
37
|
+
await wrapper.setProps({
|
|
38
|
+
value: '',
|
|
39
|
+
});
|
|
40
|
+
expect(component.isDisabled).toBe(true);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it('isDisabled to be true when value is empty', async () => {
|
|
44
|
+
await wrapper.setProps({
|
|
45
|
+
value: null,
|
|
46
|
+
});
|
|
47
|
+
expect(component.isDisabled).toBe(true);
|
|
48
|
+
});
|
|
49
|
+
it('isDisabled to be false when value is valid', async () => {
|
|
50
|
+
await wrapper.setProps({
|
|
51
|
+
value: '2023-02-02',
|
|
52
|
+
});
|
|
53
|
+
expect(component.isDisabled).toBe(false);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
it('isDateFieldDisabled to be true when dateField is empty', async () => {
|
|
57
|
+
await wrapper.setProps({
|
|
58
|
+
value: '',
|
|
59
|
+
});
|
|
60
|
+
expect(component.isDateFieldDisabled).toBe(true);
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
it('isDateFieldDisabled to be true when dateField is empty', async () => {
|
|
64
|
+
await wrapper.setProps({
|
|
65
|
+
value: null,
|
|
66
|
+
});
|
|
67
|
+
expect(component.isDateFieldDisabled).toBe(true);
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
it('isDateFieldDisabled to be false when dateField is valid', async () => {
|
|
71
|
+
await wrapper.setProps({
|
|
72
|
+
value: '2023-02-02',
|
|
73
|
+
});
|
|
74
|
+
expect(component.isDateFieldDisabled).toBe(false);
|
|
75
|
+
});
|
|
36
76
|
});
|
|
37
77
|
|
|
38
78
|
describe('methods', () => {
|
|
@@ -31,7 +31,12 @@
|
|
|
31
31
|
Cancelar
|
|
32
32
|
</farm-btn>
|
|
33
33
|
|
|
34
|
-
<farm-btn
|
|
34
|
+
<farm-btn
|
|
35
|
+
class="ml-2"
|
|
36
|
+
title="Confirmar"
|
|
37
|
+
:disabled="isDateFieldDisabled"
|
|
38
|
+
@click="save()"
|
|
39
|
+
>
|
|
35
40
|
Confirmar <farm-icon>check</farm-icon>
|
|
36
41
|
</farm-btn>
|
|
37
42
|
</v-date-picker>
|
|
@@ -111,6 +116,9 @@ export default Vue.extend({
|
|
|
111
116
|
},
|
|
112
117
|
watch: {
|
|
113
118
|
value(newValue) {
|
|
119
|
+
if (newValue?.length === 1) {
|
|
120
|
+
newValue.push(newValue[0]);
|
|
121
|
+
}
|
|
114
122
|
this.dateField = newValue;
|
|
115
123
|
this.fieldRange = this.formatDateRange(newValue);
|
|
116
124
|
},
|
|
@@ -160,7 +168,16 @@ export default Vue.extend({
|
|
|
160
168
|
return !this.dateField || this.dateField.length == 1;
|
|
161
169
|
},
|
|
162
170
|
isDisabled() {
|
|
163
|
-
|
|
171
|
+
if (this.value) {
|
|
172
|
+
return this.value.length === 0 ? true : false;
|
|
173
|
+
}
|
|
174
|
+
return true;
|
|
175
|
+
},
|
|
176
|
+
isDateFieldDisabled() {
|
|
177
|
+
if (this.dateField) {
|
|
178
|
+
return this.dateField.length === 0 ? true : false;
|
|
179
|
+
}
|
|
180
|
+
return true;
|
|
164
181
|
},
|
|
165
182
|
isInvertedDate() {
|
|
166
183
|
if (this.dateField.length === 2) {
|
|
@@ -25,6 +25,48 @@ describe('RangeDatePicker component', () => {
|
|
|
25
25
|
});
|
|
26
26
|
|
|
27
27
|
describe('computed values', () => {
|
|
28
|
+
it('isDisabled to be true when value is empty', async () => {
|
|
29
|
+
await wrapper.setProps({
|
|
30
|
+
value: [],
|
|
31
|
+
});
|
|
32
|
+
expect(component.isDisabled).toBe(true);
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
it('isDisabled to be true when value is null', async () => {
|
|
36
|
+
await wrapper.setProps({
|
|
37
|
+
value: null,
|
|
38
|
+
});
|
|
39
|
+
expect(component.isDisabled).toBe(true);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it('isDisabled to be false when value is valid', async () => {
|
|
43
|
+
await wrapper.setProps({
|
|
44
|
+
value: ['2023-02-02'],
|
|
45
|
+
});
|
|
46
|
+
expect(component.isDisabled).toBe(false);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it('isDateFieldDisabled to be true when dateField is empty', async () => {
|
|
50
|
+
await wrapper.setProps({
|
|
51
|
+
value: [],
|
|
52
|
+
});
|
|
53
|
+
expect(component.isDateFieldDisabled).toBe(true);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
it('isDateFieldDisabled to be true when dateField is null', async () => {
|
|
57
|
+
await wrapper.setProps({
|
|
58
|
+
value: null,
|
|
59
|
+
});
|
|
60
|
+
expect(component.isDateFieldDisabled).toBe(true);
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
it('isDateFieldDisabled to be false when dateField is valid', async () => {
|
|
64
|
+
await wrapper.setProps({
|
|
65
|
+
value: ['2023-02-02'],
|
|
66
|
+
});
|
|
67
|
+
expect(component.isDateFieldDisabled).toBe(false);
|
|
68
|
+
});
|
|
69
|
+
|
|
28
70
|
it('min max correctly', async () => {
|
|
29
71
|
await wrapper.setProps({
|
|
30
72
|
inputId: 'someid',
|
|
@@ -48,4 +90,18 @@ describe('RangeDatePicker component', () => {
|
|
|
48
90
|
expect(component.menuField).toBeFalsy();
|
|
49
91
|
});
|
|
50
92
|
});
|
|
93
|
+
|
|
94
|
+
describe('watchs', () => {
|
|
95
|
+
it('should show dateField and fieldRange correctly when it has one date', () => {
|
|
96
|
+
component.$options.watch.value.call(component, ['2023-02-27']);
|
|
97
|
+
expect(component.dateField).toEqual(['2023-02-27', '2023-02-27']);
|
|
98
|
+
expect(component.fieldRange).toEqual('27/02/2023 a 27/02/2023');
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
it('should show dateField and fieldRange correctly when it has two dates', () => {
|
|
102
|
+
component.$options.watch.value.call(component, ['2023-02-27', '2023-02-28']);
|
|
103
|
+
expect(component.dateField).toEqual(['2023-02-27', '2023-02-28']);
|
|
104
|
+
expect(component.fieldRange).toEqual('27/02/2023 a 28/02/2023');
|
|
105
|
+
});
|
|
106
|
+
});
|
|
51
107
|
});
|