toggle-components-library 1.36.1-beta.7 → 1.36.1-beta.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.
Files changed (33) hide show
  1. package/dist/img/contacts-greyblue.ef6f8a9a.svg +1 -0
  2. package/dist/img/contacts-white.95d07c7a.svg +1 -0
  3. package/dist/toggle-components-library.common.js +243 -286
  4. package/dist/toggle-components-library.common.js.map +1 -1
  5. package/dist/toggle-components-library.css +1 -1
  6. package/dist/toggle-components-library.umd.js +243 -286
  7. package/dist/toggle-components-library.umd.js.map +1 -1
  8. package/dist/toggle-components-library.umd.min.js +1 -1
  9. package/dist/toggle-components-library.umd.min.js.map +1 -1
  10. package/package.json +1 -1
  11. package/src/components/buttons/ToggleMetricsButton.vue +3 -22
  12. package/src/components/carousel/ToggleCarousel.vue +16 -29
  13. package/src/components/carousel/ToggleCarouselSlide.vue +1 -1
  14. package/src/components/forms/ToggleInputSelect.vue +13 -7
  15. package/src/components/forms/ToggleInputText.vue +15 -6
  16. package/src/components/metrics/ToggleMetricSingleMetric.vue +7 -12
  17. package/src/components/metrics/ToggleMetricSparkLine.vue +3 -7
  18. package/src/components/mixins/mixins.js +2 -2
  19. package/src/components/tables/ToggleTable.vue +114 -49
  20. package/src/index.js +1 -3
  21. package/src/sass/includes/_as_buttons.scss +4 -47
  22. package/src/sass/includes/_as_cards.scss +0 -33
  23. package/src/sass/includes/_as_carousels.scss +0 -12
  24. package/src/sass/includes/_as_inputs.scss +851 -838
  25. package/src/sass/includes/_as_metrics.scss +0 -5
  26. package/src/sass/includes/_as_navs.scss +2 -18
  27. package/src/sass/includes/_as_table.scss +163 -163
  28. package/dist/img/airship-feedback-hover.a207c947.svg +0 -10
  29. package/dist/img/airship-feedback.1f7c858c.svg +0 -10
  30. package/package-lock.json +0 -20285
  31. package/src/assets/icons/airship-feedback-hover.svg +0 -10
  32. package/src/assets/icons/airship-feedback.svg +0 -10
  33. package/src/components/cards/ToggleCommentCard.vue +0 -55
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "toggle-components-library",
3
- "version": "1.36.1-beta.7",
3
+ "version": "1.36.1-beta.8",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -1,6 +1,6 @@
1
1
  <template>
2
- <button :class="['toggle-metrics-button', buttonStyle, 'toggle-metrics-button-' + size, {'toggle-metrics-button-disabled': disabled }]" :style="styles" @click="click" :disabled="disabled">
3
- <div :class="icon" :style="styles ? 'background-color:' + styles.color : ''"></div>
2
+ <button :class="['toggle-metrics-button', buttonStyle]" @click="click">
3
+ <div :class="icon"></div>
4
4
  <slot>{{buttonText}}</slot>
5
5
  </button>
6
6
  </template>
@@ -19,27 +19,8 @@
19
19
  },
20
20
  icon: {
21
21
  type: String,
22
- required: false,
23
- validator: function(value) {
24
- return ["heatmap-icon", "email-icon", "contacts-icon"].indexOf(value) !== -1;
25
- }
22
+ required: true,
26
23
  },
27
- size: {
28
- type: String,
29
- default: "medium",
30
- required: false,
31
- validator: function(value) {
32
- return ["small", "medium", "large"].indexOf(value) !== -1;
33
- }
34
- },
35
- styles: {
36
- type: Object,
37
- required: false,
38
- },
39
- disabled: {
40
- type: Boolean,
41
- default: false
42
- }
43
24
  },
44
25
  methods: {
45
26
  click() {
@@ -1,34 +1,28 @@
1
1
  <template>
2
- <div class="toggle-carousel-wrapper">
3
- <swiper
4
- ref="swiper"
5
- class="swiper toggle-carousel"
6
- :class="[
7
- carouselStyle == 'voucher' && slidesLength > 1 ? 'toggle-carousel--voucher' : '',
8
- carouselStyle == 'voucher' && isEnd && slidesLength > 1 ? 'toggle-carousel--voucher-end' : ''
9
- ]"
10
- :options="carouselOptions"
11
- @slideChangeTransitionStart="onSlideTransition"
12
- >
13
- <slot></slot>
14
- </swiper>
15
- <div v-if="carouselPrev && shouldShowArrows"
2
+ <swiper
3
+ ref="swiper"
4
+ class="swiper toggle-carousel"
5
+ :class="[
6
+ carouselStyle == 'voucher' && slidesLength > 1 ? 'toggle-carousel--voucher' : '',
7
+ carouselStyle == 'voucher' && isEnd && slidesLength > 1 ? 'toggle-carousel--voucher-end' : ''
8
+ ]"
9
+ :options="carouselOptions"
10
+ @slideChangeTransitionStart="onSlideTransition"
11
+ >
12
+ <slot></slot>
13
+ <div v-if="carouselPrev && slidesLength > 1"
16
14
  class="toggle-carousel-button toggle-carousel-button--prev"
17
- :class="['toggle-carousel-button--' + carouselNavPosition,
18
- {'toggle-carousel-button--disabled': prevDisabled},
19
- {'toggle-carousel-button--comments-left-arrow': carouselStyle == 'comments'}]"
15
+ :class="['toggle-carousel-button--' + carouselNavPosition, {'toggle-carousel-button--disabled': prevDisabled}]"
20
16
  @click="slidePrev"
21
17
  slot="button-prev"
22
18
  ></div>
23
- <div v-if="carouselNext && shouldShowArrows"
19
+ <div v-if="carouselNext && slidesLength > 1"
24
20
  class="toggle-carousel-button toggle-carousel-button--next"
25
- :class="['toggle-carousel-button--' + carouselNavPosition,
26
- {'toggle-carousel-button--disabled': nextDisabled},
27
- {'toggle-carousel-button--comments-right-arrow': carouselStyle == 'comments'}]"
21
+ :class="['toggle-carousel-button--' + carouselNavPosition, {'toggle-carousel-button--disabled': nextDisabled}]"
28
22
  @click="$refs.swiper.swiperInstance.slideNext()"
29
23
  slot="button-next"
30
24
  ></div>
31
- </div>
25
+ </swiper>
32
26
  </template>
33
27
 
34
28
  <script>
@@ -44,7 +38,6 @@ export default {
44
38
  prevDisabled: false,
45
39
  nextDisabled: false,
46
40
  slidesLength: 0,
47
- slidesShownPerView: 0,
48
41
  isEnd: false
49
42
  };
50
43
  },
@@ -105,7 +98,6 @@ export default {
105
98
  },
106
99
  refreshCarousel(){
107
100
  this.slidesLength = this.$refs.swiper.swiperInstance.slides.length;
108
- this.slidesShownPerView = this.$refs.swiper.swiperInstance.slidesPerViewDynamic()
109
101
  this.onSlideTransition();
110
102
  },
111
103
  onSlideTransition(){
@@ -129,11 +121,6 @@ export default {
129
121
  this.nextDisabled = false;
130
122
  }
131
123
  }
132
- },
133
- computed: {
134
- shouldShowArrows() {
135
- return this.slidesLength > this.slidesShownPerView
136
- }
137
124
  }
138
125
  }
139
126
  </script>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <swiper-slide class="toggle-carousel-slide">
2
+ <swiper-slide class="toggle-carousel-slide" :style="'width:' + slideWidth + '; height:' + slideHeight">
3
3
  <slot></slot>
4
4
  </swiper-slide>
5
5
  </template>
@@ -1,18 +1,18 @@
1
1
  <template>
2
2
 
3
3
  <div class="toggle-input-container" :class="{'toggle-input-is-invalid':isInvalid, 'toggle-input-is-disabled':disabled}" v-on:click="focusClosestInput">
4
- <label
4
+ <label
5
5
  v-if="label"
6
- :for="name ? name : 'ToggleInputSelect' "
6
+ :for="name ? name : 'ToggleInputSelect' "
7
7
  class="toggle-input-label"
8
- > {{ label }}
8
+ > {{ label }}
9
9
  </label>
10
10
 
11
11
  <div class="toggle-input-select-container">
12
- <select
13
- :name="name ? name : 'ToggleInputSelect' "
12
+ <select
13
+ :name="name ? name : 'ToggleInputSelect' "
14
14
  :class="[ 'toggle-input-select', size]"
15
- v-model="inputVal"
15
+ v-model="inputVal"
16
16
  :autocomplete="autocomplete ? 'on' : 'off' "
17
17
  :required="required"
18
18
  :disabled="disabled"
@@ -24,7 +24,7 @@
24
24
  </div>
25
25
 
26
26
  <label
27
- class="toggle-input-label-error"
27
+ class="toggle-input-label-error"
28
28
  v-if="isInvalid"
29
29
  :for="name ? name : 'ToggleInputText' "
30
30
  >
@@ -39,6 +39,11 @@ import { mixins } from '../mixins/mixins'
39
39
 
40
40
  export default {
41
41
  mixins:[mixins],
42
+ data() {
43
+ return {
44
+ show: false
45
+ }
46
+ },
42
47
  props: {
43
48
  value: {},
44
49
  name: {
@@ -87,6 +92,7 @@ export default {
87
92
  },
88
93
 
89
94
  created : function(){
95
+
90
96
  },
91
97
  computed: {
92
98
  inputVal: {
@@ -1,16 +1,16 @@
1
1
  <template>
2
2
 
3
3
  <div class="toggle-input-container" :class="{'toggle-input-is-invalid':isInvalid, 'toggle-input-is-disabled':disabled}" v-on:click="focusClosestInput">
4
- <label
4
+ <label
5
5
  v-if="label"
6
- :for="name ? name : 'InputText' "
6
+ :for="name ? name : 'InputText' "
7
7
  class="toggle-input-label"
8
- > {{ label }}
8
+ > {{ label }}
9
9
  </label>
10
10
  <span class="toggle-input-counter" v-if="maxLength">{{messageLength(inputVal, maxLength)}}</span>
11
11
  <input
12
12
  :type="type"
13
- :name="name ? name : 'ToggleInputText' "
13
+ :name="name ? name : 'ToggleInputText' "
14
14
  :class="[ 'toggle-input', size]"
15
15
  :placeholder="placeholder ? placeholder : '' "
16
16
  :autocomplete="autocomplete ? 'on' : 'off' "
@@ -19,9 +19,11 @@
19
19
  :maxlength="maxLength"
20
20
  :disabled="disabled"
21
21
  :readonly="readonly"
22
+ :ref="'input_ele'"
23
+ @keyup.esc="handleEscPress"
22
24
  />
23
25
  <label
24
- class="toggle-input-label-error"
26
+ class="toggle-input-label-error"
25
27
  v-if="isInvalid"
26
28
  :for="name ? name : 'ToggleInputText' "
27
29
  >
@@ -103,7 +105,9 @@ export default {
103
105
  }
104
106
  },
105
107
 
106
- created : function(){
108
+ created : function()
109
+ {
110
+ this.$nextTick(() => this.$refs['input_ele'].focus());
107
111
  },
108
112
  computed: {
109
113
  inputVal: {
@@ -118,6 +122,11 @@ export default {
118
122
  },
119
123
  methods: {
120
124
 
125
+ handleEscPress()
126
+ {
127
+ this.$emit('bail');
128
+ },
129
+
121
130
  /*
122
131
  * Concat message for count characters
123
132
  * @return string
@@ -2,9 +2,7 @@
2
2
  <div>
3
3
  <h3 class="toggle-metric metric-label">{{label}}</h3>
4
4
  <div class="single-metric-icon" v-if="metricPending && label.length == 0"></div>
5
- <h1 class="toggle-metric metric-value" v-else>{{metricValue}}
6
- <span v-if="score && value.maxScore" class="toggle-metric-score-rating">/{{value.maxScore}}</span>
7
- </h1>
5
+ <h1 class="toggle-metric metric-value" v-else>{{metricValue}}</h1>
8
6
  </div>
9
7
  </template>
10
8
 
@@ -23,20 +21,20 @@ export default {
23
21
  type: String,
24
22
  default: "ToggleMetricSingleMetric"
25
23
  },
26
- /**
24
+ /**
27
25
  * Type of the value, this will affect on the format shown
28
26
  */
29
27
  type : {
30
28
  type: String,
31
29
  validator: function (value) {
32
- return ['text', 'number', 'percentage', 'currency', 'score'].indexOf(value) !== -1
30
+ return ['text', 'number', 'percentage', 'currency'].indexOf(value) !== -1
33
31
  }
34
32
  },
35
33
  /**
36
34
  * Component's value
37
35
  */
38
36
  value: {
39
- type: [String, Number, Object],
37
+ type: [String, Number],
40
38
  required: true
41
39
  },
42
40
  /**
@@ -89,17 +87,14 @@ export default {
89
87
  case 'currency':
90
88
  return (this.value/this.currencyDenomination).toLocaleString(this.currencyLocale, {style: 'currency', currency: this.currencyCode});
91
89
  case'percentage':
92
- return `${this.value} %`;
93
- case 'score':
94
- return this.value.score;
90
+ return `${this.value} %`
95
91
  default:
96
92
  return this.value.toLocaleString();
97
93
 
98
94
  }
99
- },
100
- score() {
101
- return this.type === 'score';
102
95
  }
96
+
97
+
103
98
  }
104
99
  }
105
100
 
@@ -54,14 +54,14 @@ export default {
54
54
  type : {
55
55
  type: String,
56
56
  validator: function (value) {
57
- return ['text', 'number', 'percentage', 'currency', 'score'].indexOf(value) !== -1
57
+ return ['text', 'number', 'percentage', 'currency'].indexOf(value) !== -1
58
58
  }
59
59
  },
60
60
  /**
61
61
  * single metric component value
62
62
  */
63
63
  singleMetricVal: {
64
- type: [String, Number, Object],
64
+ type: [String, Number],
65
65
  required: true
66
66
  },
67
67
  /**
@@ -112,10 +112,6 @@ export default {
112
112
  inverse_trend_impact: {
113
113
  type: Boolean,
114
114
  default: false
115
- },
116
- showTrendForAllZeros: {
117
- type: Boolean,
118
- default: false
119
115
  }
120
116
  },
121
117
 
@@ -199,7 +195,7 @@ export default {
199
195
 
200
196
  const trendImpactVals = this.sparkLineVal[0].data[0].y || this.sparkLineVal[0].data[0].y === 0 ? this.sparkLineVal[0].data.map(data => data.y) : this.sparkLineVal[0].data;
201
197
 
202
- let result = this.calcTrendImpact(trendImpactVals, this.trend_impact_base, this.showTrendForAllZeros);
198
+ let result = this.calcTrendImpact(trendImpactVals, this.trend_impact_base);
203
199
 
204
200
  if (this.inverse_trend_impact === true && result != false)
205
201
  return result *-1;
@@ -139,10 +139,10 @@ export const charts = {
139
139
  *
140
140
  * @return { {Integer} 1, 0,-1 }
141
141
  */
142
- calcTrendImpact(values, trend_impact_base, show_trend_for_all_zeros){
142
+ calcTrendImpact(values, trend_impact_base){
143
143
 
144
144
  // If all values in the values array are 0 return 0;
145
- if (!show_trend_for_all_zeros && values.every((val) => val === 0)){
145
+ if (values.every((val) => val === 0)){
146
146
  return false;
147
147
  }
148
148
 
@@ -3,29 +3,56 @@
3
3
  <div>
4
4
 
5
5
  <table class="toggle-table">
6
- <thead :class="{'toggle-table-any-search-active': searchActive}">
6
+ <thead :class="{'toggle-table-any-search-active': anySearchActive}">
7
7
  <tr class="toggle-tablee-tr">
8
- <th
9
- scope="col"
10
- :class="['toggle-table-th', {'toggle-table-search-active': tableSearchActive(field), 'toggle-table-searchable':field.filterable}]"
11
- v-for="(field, index) in headers"
8
+ <th
9
+ scope="col"
10
+ :class="['toggle-table-th', {'toggle-table-search-active': tableSearchActive(field), 'toggle-table-searchable':field.filterable}]"
11
+ v-for="(field, index) in headers"
12
+ :colspan="field.colspan"
12
13
  :key="index"
13
14
  :style="'width:'+field.width"
14
15
  @click="activateSearch(field)"
15
16
  >
16
- <div class="toggle-table-th-inner">
17
+ <div class="toggle-table-th-inner" @transitionend="handleTransitionEnd">
18
+
17
19
  <span class="toggle-table-th-title">{{field.label}}</span>
18
20
  <span class="toggle-table-close-search" v-on:click.stop @click="closeSearch(field)"></span>
19
- <ToggleInputText type="text" :ref="field.key+'-input'" v-model="searchModels[field.key]" @input="searchChange(field)"
20
- v-if="field.type == 'text' && (searchModels[field.key] || editingInput == field.key)" />
21
- <ToggleInputSelect style="margin-top:2px;" size="small" v-if="field.type == 'select' && (searchModels[field.key] || editingInput == field.key)" :options="field.select_options" v-model="searchModels[field.key]" @input="val=>searchChange(val, field)"/>
22
21
 
23
- <ToggleDateRangePicker v-if="field.type == 'date' && (searchModels[field.key].start || searchModels[field.key].end || editingInput == field.key)" name="date" v-model="searchModels[field.key]" @input="val=>searchChange(val, field)" />
22
+ <ToggleInputText
23
+ v-if="field.type === 'text' && (searchModels[field.key] || editingInput === field.key) && applyFocus"
24
+ type="text"
25
+ :ref="field.key+'-input'"
26
+ v-model="searchModels[field.key]"
27
+ @input="searchChange()"
28
+ @bail="closeSearch(field)"
29
+ />
30
+ <ToggleInputSelect
31
+ style="margin-top:2px;"
32
+ :size="'small'"
33
+ v-if="field.type === 'select' && (searchModels[field.key] || editingInput === field.key) && applyFocus"
34
+ :options="field.select_options"
35
+ v-model="searchModels[field.key]"
36
+ @input="searchChange()"
37
+ />
38
+ <ToggleDateRangePicker
39
+ v-if="field.type === 'date' && (searchModels[field.key].start || searchModels[field.key].end || editingInput === field.key)"
40
+ name="date"
41
+ v-model="searchModels[field.key]"
42
+ @input="searchChange()"
43
+ />
24
44
  </div>
25
45
  </th>
26
-
46
+
27
47
  </tr>
28
48
  </thead>
49
+ <tr class="empty-table" v-if="(items && items.length === 0) && !loading">
50
+ <td :colspan="headers.length">
51
+ <div class="full">
52
+ <div class="empty-area"><p>{{ emptyTableMessage }}</p></div>
53
+ </div>
54
+ </td>
55
+ </tr>
29
56
  <tbody v-if="!$slots.default || !$slots.default.length">
30
57
  <ToggleTableRow v-for="(item, index) in items" :key="index" >
31
58
  <ToggleTableColumn v-for="(column, column_index) in item" :key="column_index">{{column}}</ToggleTableColumn>
@@ -62,20 +89,34 @@ export default {
62
89
  type: [Array]
63
90
  },
64
91
  total:{
65
- type: [Number]
92
+ type: [Number]
66
93
  },
67
94
  per_page:{
68
- type: [Number]
95
+ type: [Number]
69
96
  },
70
97
  page:{
71
98
  type: [Number],
72
99
  default:1
100
+ },
101
+ loading: {
102
+ type: Boolean
103
+ },
104
+ emptyTableMessage: {
105
+ type: String,
106
+ default: "No rows returned."
107
+ },
108
+ searchDebounce: {
109
+ type: [Number],
110
+ default: 500
73
111
  }
74
- },
112
+ },
75
113
  data : function(){
76
114
  return {
77
115
  editingInput:false,
78
- searchModels:{}
116
+ searchModels:{},
117
+ anySearchActive: false,
118
+ applyFocus: false,
119
+ searchTimeout: null
79
120
  };
80
121
  },
81
122
  computed: {
@@ -97,36 +138,23 @@ export default {
97
138
 
98
139
  headers() {
99
140
  if(!this.fields){
100
- return Object.keys(this.items[0]);
141
+ return Object.keys(this.items[0]);
101
142
  }
102
143
  return this.fields;
103
144
  },
104
145
 
105
- searchActive() {
106
- if(this.editingInput) {
107
- return true;
108
- }
109
- for(let col in this.searchModels){
110
- if(!this.searchModels[col])
111
- return false;
112
- if (this.searchModels[col].start !== undefined) {
113
- return true;
114
- }
115
- else if(this.searchModels[col]) return true;
116
- }
117
- return false;
118
- },
119
-
120
-
121
146
  },
122
147
  created : function(){
123
148
 
124
149
  if(this.fields){
150
+
125
151
  for (let i = 0; i < this.fields.length; i++) {
126
- let value = this.fields[i].type == 'date' ? this.setInitialDate(i) : this.fields[i].value;
152
+ let value = this.fields[i].type == 'date' ? this.setInitialDate(i) : (this.fields[i].value ?? '');
153
+
127
154
  let field_name = this.fields[i].key;
128
155
  this.$set( this.searchModels, field_name, value )
129
156
  if(value){
157
+ this.applyFocus = true;
130
158
  // if date has an initial value set, show it.
131
159
  if(typeof value.start !== 'undefined'){
132
160
  if(value.start.length) this.activateSearch(this.fields[i]);
@@ -137,20 +165,29 @@ export default {
137
165
  this.searchChange();
138
166
  }
139
167
  }
140
-
168
+
141
169
  },
142
170
 
143
171
  beforeDestroy: function () {
144
- },
145
- watch:{
146
-
147
172
  },
148
173
  mounted : function ()
149
174
  {
150
175
 
151
176
  },
152
-
177
+
153
178
  methods:{
179
+
180
+ handleTransitionEnd(event){
181
+ if(event.propertyName === 'height'){
182
+ if(this.anySearchActive && !this.applyFocus){
183
+ this.applyFocus = true;
184
+ }
185
+ if(!this.anySearchActive && this.applyFocus){
186
+ this.applyFocus = false;
187
+ }
188
+ }
189
+ },
190
+
154
191
  // set initial date
155
192
  setInitialDate(index){
156
193
  let value = this.fields[index].value;
@@ -160,36 +197,64 @@ export default {
160
197
 
161
198
  tableSearchActive(field)
162
199
  {
163
- if(field.type == 'date'){
164
- return (this.searchModels[field.key].start || this.searchModels[field.key].end || this.editingInput == field.key);
200
+ if(field.type === 'date'){
201
+ return (this.searchModels[field.key].start || this.searchModels[field.key].end || this.editingInput === field.key);
165
202
  }
166
- return (this.searchModels[field.key] || this.editingInput == field.key);
203
+ return (this.searchModels[field.key] || this.editingInput === field.key);
167
204
 
168
205
  },
169
206
 
207
+
208
+ getSearchModelTypeFromKey(key){
209
+ for(let i=0; i<this.fields.length; i++){
210
+ if(this.fields[i].key === key){
211
+ return this.fields[i].type;
212
+ }
213
+ }
214
+ return null;
215
+ },
216
+
170
217
  closeSearch(field){
218
+
171
219
  this.editingInput = false;
172
- this.searchModels[field.key] = field.type == 'date' ? { start: false, end: false} : '' ;
220
+ this.searchModels[field.key] = field.type === 'date' ? { start: false, end: false} : '' ;
221
+
222
+ // check if any search is active; if not, close/shrink header
223
+ let is_active = false;
224
+ for(const key in this.searchModels){
225
+
226
+ if(this.getSearchModelTypeFromKey(key) === 'date'){
227
+ if (this.searchModels[key].start || this.searchModels[key].end){
228
+ is_active = true;
229
+ break;
230
+ }
231
+ }else if(this.searchModels[key] && this.searchModels[key] !== ''){
232
+ is_active = true;
233
+ break;
234
+ }
235
+ }
236
+ this.anySearchActive = is_active;
173
237
  this.searchChange();
174
238
  },
175
239
 
176
240
  searchChange(){
177
- this.$emit('search', this.fieldsWithSearch);
241
+ clearTimeout(this.searchTimeout);
242
+ this.searchTimeout = setTimeout(()=>{
243
+ this.$emit('search', this.fieldsWithSearch);
244
+ },this.searchDebounce);
245
+
178
246
  },
179
247
 
180
248
  /* activateSearch
181
249
  * When a user clicks a searchable column name, show it as active, and focus the child input field (unless it's already active)
182
250
  */
183
251
  activateSearch(field){
184
- if(!field.filterable) return;
185
- if(field.type === 'date'){
186
- this.datePickerOpen = true;
187
- }
252
+ if(!field.filterable || field.readonly) return;
188
253
  this.editingInput = field.key;
189
- //this.$nextTick(() => this.$refs[this.editingInput + '-input'].focus())
254
+ this.anySearchActive = true;
190
255
  },
191
256
 
192
-
257
+
193
258
 
194
259
  }
195
260
  }
package/src/index.js CHANGED
@@ -88,7 +88,6 @@ import ToggleCarouselSlide from "./components/carousel/ToggleCarouselSlide.vue";
88
88
 
89
89
  import ToggleEmailCard from "./components/cards/ToggleEmailCard.vue";
90
90
  import ToggleRewardsCard from "./components/cards/ToggleRewardsCard.vue";
91
- import ToggleCommentCard from "./components/cards/ToggleCommentCard.vue";
92
91
 
93
92
 
94
93
  import './sass/main.scss';
@@ -162,8 +161,7 @@ const Components = {
162
161
  ToggleCarousel,
163
162
  ToggleCarouselSlide,
164
163
  ToggleEmailCard,
165
- ToggleRewardsCard,
166
- ToggleCommentCard
164
+ ToggleRewardsCard
167
165
  }
168
166
 
169
167
  Object.keys(Components).forEach(name => {