toggle-components-library 1.33.0-beta.8 → 1.33.0-beta.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/dist/img/arrow_down.787e1a8b.svg +28 -0
- package/dist/toggle-components-library.common.js +9673 -32346
- package/dist/toggle-components-library.common.js.map +1 -1
- package/dist/toggle-components-library.css +1 -1
- package/dist/toggle-components-library.umd.js +9673 -32346
- package/dist/toggle-components-library.umd.js.map +1 -1
- package/dist/toggle-components-library.umd.min.js +8 -285
- package/dist/toggle-components-library.umd.min.js.map +1 -1
- package/package.json +2 -2
- package/src/components/forms/ToggleDatePicker.vue +138 -238
- package/src/components/forms/ToggleDateRangePicker.vue +199 -0
- package/src/components/forms/ToggleInputCurrency.vue +5 -16
- package/src/components/forms/ToggleInputPercentage.vue +4 -15
- package/src/components/forms/ToggleInputSelect.vue +3 -3
- package/src/components/forms/ToggleInputText.vue +1 -1
- package/src/components/tables/ToggleTable.vue +27 -32
- package/src/index.js +3 -4
- package/src/sass/includes/_as_inputs.scss +830 -830
- package/src/sass/includes/_as_table.scss +170 -172
- package/src/sass/main.scss +0 -1
- package/src/components/statusbar/ToggleStatusBar.vue +0 -48
- package/src/sass/includes/_as_statusbar.scss +0 -67
|
@@ -10,14 +10,13 @@
|
|
|
10
10
|
</label>
|
|
11
11
|
<input
|
|
12
12
|
:name="name ? name : 'ToggleInputPercentage' "
|
|
13
|
-
:class="[ 'toggle-input',
|
|
13
|
+
:class="[ 'toggle-input', size]"
|
|
14
14
|
:placeholder="placeholder ? placeholder : '' "
|
|
15
15
|
:autocomplete="autocomplete ? 'on' : 'off' "
|
|
16
16
|
:required="required"
|
|
17
17
|
v-model="inputVal"
|
|
18
18
|
@blur="isInputActive = false"
|
|
19
|
-
@focus="isInputActive = true"
|
|
20
|
-
:readonly="readonly"
|
|
19
|
+
@focus="isInputActive = true"
|
|
21
20
|
/>
|
|
22
21
|
<label
|
|
23
22
|
class="toggle-input-label-error"
|
|
@@ -78,17 +77,7 @@ export default {
|
|
|
78
77
|
allowFloat: {
|
|
79
78
|
type: Boolean,
|
|
80
79
|
default: false
|
|
81
|
-
}
|
|
82
|
-
readonly: {
|
|
83
|
-
type: Boolean,
|
|
84
|
-
required: false,
|
|
85
|
-
default: false
|
|
86
|
-
},
|
|
87
|
-
disabled: {
|
|
88
|
-
type: Boolean,
|
|
89
|
-
required: false,
|
|
90
|
-
default: false
|
|
91
|
-
},
|
|
80
|
+
}
|
|
92
81
|
},
|
|
93
82
|
|
|
94
83
|
created : function(){
|
|
@@ -111,7 +100,7 @@ export default {
|
|
|
111
100
|
inputVal: {
|
|
112
101
|
|
|
113
102
|
get: function() {
|
|
114
|
-
if (this.isInputActive
|
|
103
|
+
if (this.isInputActive) {
|
|
115
104
|
// Cursor is inside the input field. unformat display value for user
|
|
116
105
|
return this.value.toString()
|
|
117
106
|
} else {
|
|
@@ -90,7 +90,7 @@ export default {
|
|
|
90
90
|
default: false
|
|
91
91
|
},
|
|
92
92
|
// in toggle-table context, if search bar height expand transition has finished
|
|
93
|
-
|
|
93
|
+
applyFocus: {
|
|
94
94
|
type: Boolean,
|
|
95
95
|
required: false,
|
|
96
96
|
default: null
|
|
@@ -98,7 +98,7 @@ export default {
|
|
|
98
98
|
},
|
|
99
99
|
|
|
100
100
|
created : function(){
|
|
101
|
-
if(this.
|
|
101
|
+
if(this.applyFocus === null || this.applyFocus){
|
|
102
102
|
this.show = true;
|
|
103
103
|
}
|
|
104
104
|
},
|
|
@@ -127,7 +127,7 @@ export default {
|
|
|
127
127
|
if (options.filter( option => option.value == this.inputVal).length == 0)
|
|
128
128
|
this.inputVal = "";
|
|
129
129
|
},
|
|
130
|
-
|
|
130
|
+
applyFocus(new_value){
|
|
131
131
|
if(new_value){
|
|
132
132
|
this.show = true;
|
|
133
133
|
}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<input
|
|
12
12
|
:type="type"
|
|
13
13
|
:name="name ? name : 'ToggleInputText' "
|
|
14
|
-
:class="[
|
|
14
|
+
:class="[ 'toggle-input', size]"
|
|
15
15
|
:placeholder="placeholder ? placeholder : '' "
|
|
16
16
|
:autocomplete="autocomplete ? 'on' : 'off' "
|
|
17
17
|
:required="required"
|
|
@@ -24,24 +24,24 @@
|
|
|
24
24
|
type="text"
|
|
25
25
|
:ref="field.key+'-input'"
|
|
26
26
|
v-model="searchModels[field.key]"
|
|
27
|
-
@input="searchChange()"
|
|
27
|
+
@input="searchChange(field)"
|
|
28
28
|
@bail="closeSearch(field)"
|
|
29
|
-
:
|
|
29
|
+
:applyFocus="applyFocus"
|
|
30
30
|
/>
|
|
31
31
|
<ToggleInputSelect
|
|
32
32
|
style="margin-top:2px;"
|
|
33
33
|
:size="'small'"
|
|
34
34
|
v-if="field.type === 'select' && (searchModels[field.key] || editingInput === field.key)"
|
|
35
|
-
:
|
|
35
|
+
:applyFocus="applyFocus"
|
|
36
36
|
:options="field.select_options"
|
|
37
37
|
v-model="searchModels[field.key]"
|
|
38
|
-
@input="val=>searchChange()"
|
|
38
|
+
@input="val=>searchChange(val, field)"
|
|
39
39
|
/>
|
|
40
|
-
<
|
|
40
|
+
<ToggleDateRangePicker
|
|
41
41
|
v-if="field.type === 'date_range' && (searchModels[field.key].start || searchModels[field.key].end || editingInput === field.key)"
|
|
42
|
-
name="date_range"
|
|
43
|
-
|
|
44
|
-
@input="val=>searchChange(
|
|
42
|
+
name="date_range"
|
|
43
|
+
v-model="searchModels[field.key]"
|
|
44
|
+
@input="val=>searchChange(val, field)"
|
|
45
45
|
/>
|
|
46
46
|
</div>
|
|
47
47
|
</th>
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
|
|
74
74
|
import { mixins } from '../mixins/mixins';
|
|
75
75
|
|
|
76
|
-
import
|
|
76
|
+
import ToggleDateRangePicker from '../forms/ToggleDateRangePicker.vue';
|
|
77
77
|
import ToggleInputText from '../forms/ToggleInputText.vue';
|
|
78
78
|
import ToggleInputSelect from '../forms/ToggleInputSelect.vue';
|
|
79
79
|
import ToggleTableRow from '../tables/ToggleTableRow.vue';
|
|
@@ -82,7 +82,7 @@ import TogglePagination from '../tables/TogglePagination.vue';
|
|
|
82
82
|
|
|
83
83
|
export default {
|
|
84
84
|
mixins:[mixins],
|
|
85
|
-
components:{
|
|
85
|
+
components:{ToggleDateRangePicker, ToggleInputText, ToggleInputSelect, ToggleTableColumn, ToggleTableRow, TogglePagination},
|
|
86
86
|
props: {
|
|
87
87
|
items: {
|
|
88
88
|
type: [Array]
|
|
@@ -106,6 +106,10 @@ export default {
|
|
|
106
106
|
emptyTableMessage: {
|
|
107
107
|
type: String,
|
|
108
108
|
default: "No rows returned."
|
|
109
|
+
},
|
|
110
|
+
searchDebounce: {
|
|
111
|
+
type: [Number],
|
|
112
|
+
default: 500
|
|
109
113
|
}
|
|
110
114
|
},
|
|
111
115
|
data : function(){
|
|
@@ -113,8 +117,8 @@ export default {
|
|
|
113
117
|
editingInput:false,
|
|
114
118
|
searchModels:{},
|
|
115
119
|
anySearchActive: false,
|
|
116
|
-
|
|
117
|
-
|
|
120
|
+
applyFocus: false,
|
|
121
|
+
searchTimeout: null
|
|
118
122
|
};
|
|
119
123
|
},
|
|
120
124
|
computed: {
|
|
@@ -152,7 +156,7 @@ export default {
|
|
|
152
156
|
let field_name = this.fields[i].key;
|
|
153
157
|
this.$set( this.searchModels, field_name, value )
|
|
154
158
|
if(value){
|
|
155
|
-
this.
|
|
159
|
+
this.applyFocus = true;
|
|
156
160
|
// if date has an initial value set, show it.
|
|
157
161
|
if(typeof value.start !== 'undefined'){
|
|
158
162
|
if(value.start.length) this.activateSearch(this.fields[i]);
|
|
@@ -160,9 +164,7 @@ export default {
|
|
|
160
164
|
// show the other fields with initial values set.
|
|
161
165
|
else this.activateSearch(this.fields[i]);
|
|
162
166
|
}
|
|
163
|
-
|
|
164
|
-
if(this.anySearchActive){
|
|
165
|
-
this.searchChange(true);
|
|
167
|
+
this.searchChange();
|
|
166
168
|
}
|
|
167
169
|
}
|
|
168
170
|
|
|
@@ -179,11 +181,11 @@ export default {
|
|
|
179
181
|
|
|
180
182
|
handleTransitionEnd(event){
|
|
181
183
|
if(event.propertyName === 'height'){
|
|
182
|
-
if(this.anySearchActive && !this.
|
|
183
|
-
this.
|
|
184
|
+
if(this.anySearchActive && !this.applyFocus){
|
|
185
|
+
this.applyFocus = true;
|
|
184
186
|
}
|
|
185
|
-
if(!this.anySearchActive && this.
|
|
186
|
-
this.
|
|
187
|
+
if(!this.anySearchActive && this.applyFocus){
|
|
188
|
+
this.applyFocus = false;
|
|
187
189
|
}
|
|
188
190
|
}
|
|
189
191
|
},
|
|
@@ -217,7 +219,7 @@ export default {
|
|
|
217
219
|
closeSearch(field){
|
|
218
220
|
|
|
219
221
|
this.editingInput = false;
|
|
220
|
-
this.searchModels[field.key] = field.type === 'date_range' ? { start:
|
|
222
|
+
this.searchModels[field.key] = field.type === 'date_range' ? { start: false, end: false} : '' ;
|
|
221
223
|
|
|
222
224
|
// check if any search is active; if not, close/shrink header
|
|
223
225
|
let is_active = false;
|
|
@@ -237,14 +239,11 @@ export default {
|
|
|
237
239
|
this.searchChange();
|
|
238
240
|
},
|
|
239
241
|
|
|
240
|
-
searchChange(
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
clearTimeout(this.searchDebounce);
|
|
245
|
-
this.searchDebounce = setTimeout(()=>{
|
|
242
|
+
searchChange(){
|
|
243
|
+
clearTimeout(this.searchTimeout);
|
|
244
|
+
this.searchTimeout = setTimeout(()=>{
|
|
246
245
|
this.$emit('search', this.fieldsWithSearch);
|
|
247
|
-
},
|
|
246
|
+
},this.searchDebounce);
|
|
248
247
|
|
|
249
248
|
},
|
|
250
249
|
|
|
@@ -253,12 +252,8 @@ export default {
|
|
|
253
252
|
*/
|
|
254
253
|
activateSearch(field){
|
|
255
254
|
if(!field.filterable || field.readonly) return;
|
|
256
|
-
if(field.type === 'date_range'){
|
|
257
|
-
this.datePickerOpen = true;
|
|
258
|
-
}
|
|
259
255
|
this.editingInput = field.key;
|
|
260
256
|
this.anySearchActive = true;
|
|
261
|
-
//this.$nextTick(() => this.$refs[this.editingInput + '-input'].focus())
|
|
262
257
|
},
|
|
263
258
|
|
|
264
259
|
|
package/src/index.js
CHANGED
|
@@ -4,6 +4,7 @@ import ToggleInputText from "./components/forms/ToggleInputText.vue";
|
|
|
4
4
|
import ToggleInputEditableText from "./components/forms/ToggleInputEditableText.vue";
|
|
5
5
|
import ToggleInputWebsite from "./components/forms/ToggleInputWebsite.vue";
|
|
6
6
|
import ToggleDatePicker from "./components/forms/ToggleDatePicker.vue";
|
|
7
|
+
import ToggleDateRangePicker from "./components/forms/ToggleDateRangePicker.vue";
|
|
7
8
|
import ToggleInputSelect from "./components/forms/ToggleInputSelect.vue";
|
|
8
9
|
import ToggleInputPercentage from "./components/forms/ToggleInputPercentage.vue";
|
|
9
10
|
import ToggleInputCurrency from "./components/forms/ToggleInputCurrency.vue";
|
|
@@ -82,8 +83,6 @@ import ToggleMetricFunnelChart from "./components/metrics/ToggleMetricFunnelChar
|
|
|
82
83
|
import ToggleThreeDots from "./components/threedots/ToggleThreeDots.vue";
|
|
83
84
|
import ToggleThreeDotsButton from "./components/threedots/ToggleThreeDotsButton.vue";
|
|
84
85
|
|
|
85
|
-
import ToggleStatusBar from "./components/statusbar/ToggleStatusBar.vue";
|
|
86
|
-
|
|
87
86
|
import ToggleCarousel from "./components/carousel/ToggleCarousel.vue";
|
|
88
87
|
import ToggleCarouselSlide from "./components/carousel/ToggleCarouselSlide.vue";
|
|
89
88
|
|
|
@@ -105,13 +104,14 @@ const Components = {
|
|
|
105
104
|
ToggleInputEditableText,
|
|
106
105
|
ToggleInputWebsite,
|
|
107
106
|
ToggleDatePicker,
|
|
107
|
+
ToggleDateRangePicker,
|
|
108
108
|
ToggleInputSelect,
|
|
109
109
|
ToggleInputPercentage,
|
|
110
110
|
ToggleInputCurrency,
|
|
111
111
|
ToggleInputRadioButtons,
|
|
112
112
|
ToggleInputTextArea,
|
|
113
113
|
ToggleInputCheckboxContainer,
|
|
114
|
-
ToggleInputCheckbox,
|
|
114
|
+
ToggleInputCheckbox,
|
|
115
115
|
ToggleInputCheckboxInline,
|
|
116
116
|
ToggleFillLoader,
|
|
117
117
|
ToggleProgressLoader,
|
|
@@ -158,7 +158,6 @@ const Components = {
|
|
|
158
158
|
ToggleBoosterBasicButton,
|
|
159
159
|
ToggleBoosterModal,
|
|
160
160
|
ToggleContactSearch,
|
|
161
|
-
ToggleStatusBar,
|
|
162
161
|
ToggleCarousel,
|
|
163
162
|
ToggleCarouselSlide,
|
|
164
163
|
ToggleEmailCard,
|