@coreui/vue-pro 4.1.0 → 4.1.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coreui/vue-pro",
3
- "version": "4.1.0",
3
+ "version": "4.1.1",
4
4
  "description": "UI Components Library for Vue.js",
5
5
  "keywords": [
6
6
  "vue",
@@ -43,14 +43,14 @@
43
43
  "@rollup/plugin-node-resolve": "^13.0.6",
44
44
  "@rollup/plugin-typescript": "^8.3.0",
45
45
  "@vue/test-utils": "^2.0.0-0",
46
- "rollup": "^2.60.1",
46
+ "rollup": "^2.60.2",
47
47
  "rollup-plugin-vue": "^6.0.0",
48
48
  "typescript": "^4.5.2",
49
- "vue": "^3.2.23",
49
+ "vue": "^3.2.24",
50
50
  "vue-types": "^4.1.1"
51
51
  },
52
52
  "peerDependencies": {
53
- "@coreui/coreui": "^4.1.0",
53
+ "@coreui/coreui-pro": "^4.1.0",
54
54
  "vue": "^3.2.21"
55
55
  },
56
56
  "standard": {
@@ -133,7 +133,7 @@ const CModal = defineComponent({
133
133
  emit('show')
134
134
  }
135
135
  const handleAfterEnter = () => {
136
- window.addEventListener('click', handleClickOutside)
136
+ window.addEventListener('mousedown', handleMouseDown)
137
137
  window.addEventListener('keyup', handleKeyUp)
138
138
  }
139
139
  const handleLeave = (el: RendererElement, done: () => void) => {
@@ -144,7 +144,7 @@ const CModal = defineComponent({
144
144
  el.classList.remove('show')
145
145
  }
146
146
  const handleAfterLeave = (el: RendererElement) => {
147
- window.removeEventListener('click', handleClickOutside)
147
+ window.removeEventListener('mousedown', handleMouseDown)
148
148
  window.removeEventListener('keyup', handleKeyUp)
149
149
  el.style.display = 'none'
150
150
  }
@@ -168,7 +168,12 @@ const CModal = defineComponent({
168
168
  }
169
169
  }
170
170
  }
171
- const handleClickOutside = (event: Event) => {
171
+
172
+ const handleMouseDown = (event: Event) => {
173
+ window.addEventListener('mouseup', () => handleMouseUp(event), { once: true })
174
+ }
175
+
176
+ const handleMouseUp = (event: Event) => {
172
177
  if (modalContentRef.value && !modalContentRef.value.contains(event.target as HTMLElement)) {
173
178
  if (props.backdrop !== 'static') {
174
179
  handleDismiss()
@@ -97,19 +97,20 @@ const COffcanvas = defineComponent({
97
97
  }, 1)
98
98
  }
99
99
  const handleAfterEnter = () => {
100
- window.addEventListener('click', handleClickOutside)
100
+ window.addEventListener('mousedown', handleMouseDown)
101
+ // window.addEventListener('click', handleClickOutside)
101
102
  window.addEventListener('keyup', handleKeyUp)
102
103
  }
103
104
  const handleLeave = (el: RendererElement, done: () => void) => {
104
105
  el.addEventListener('transitionend', () => {
105
106
  done()
106
107
  })
108
+ window.removeEventListener('mousedown', handleMouseDown)
109
+ window.removeEventListener('keyup', handleKeyUp)
107
110
  el.classList.remove('show')
108
111
  }
109
112
  const handleAfterLeave = (el: RendererElement) => {
110
113
  el.style.visibility = 'hidden'
111
- window.removeEventListener('click', handleClickOutside)
112
- window.removeEventListener('keyup', handleKeyUp)
113
114
  }
114
115
 
115
116
  const handleDismiss = () => {
@@ -124,7 +125,12 @@ const COffcanvas = defineComponent({
124
125
  }
125
126
  }
126
127
  }
127
- const handleClickOutside = (event: Event) => {
128
+
129
+ const handleMouseDown = (event: Event) => {
130
+ window.addEventListener('mouseup', () => handleMouseUp(event), { once: true })
131
+ }
132
+
133
+ const handleMouseUp = (event: Event) => {
128
134
  if (offcanvasRef.value && !offcanvasRef.value.contains(event.target as HTMLElement)) {
129
135
  props.backdrop && handleDismiss()
130
136
  }
@@ -134,6 +140,7 @@ const COffcanvas = defineComponent({
134
140
  h(
135
141
  Transition,
136
142
  {
143
+ css: false,
137
144
  onEnter: (el, done) => handleEnter(el, done),
138
145
  onAfterEnter: () => handleAfterEnter(),
139
146
  onLeave: (el, done) => handleLeave(el, done),
@@ -67,7 +67,6 @@ const CSmartTable = defineComponent({
67
67
  */
68
68
  columnFilter: {
69
69
  type: [Boolean, Object] as PropType<boolean | ColumnFilter>,
70
- default: undefined,
71
70
  required: false,
72
71
  },
73
72
  /**
@@ -144,7 +143,6 @@ const CSmartTable = defineComponent({
144
143
  */
145
144
  itemsPerPage: {
146
145
  type: Number,
147
- default: 10,
148
146
  required: false,
149
147
  },
150
148
  /**
@@ -216,7 +214,8 @@ const CSmartTable = defineComponent({
216
214
  */
217
215
  selectable: Boolean,
218
216
  /**
219
- * State of the sorter. Name key is column name, direction can be 'asc' or 'desc'. Set .sync modifier to track changes.
217
+ * State of the sorter. Name key is column name, direction can be 'asc' or 'desc'. Set .sync modifier to track changes. eg.:
218
+ * { column: 'status', state: 'asc' }
220
219
  *
221
220
  * @type SorterValue
222
221
  */
@@ -404,7 +403,7 @@ const CSmartTable = defineComponent({
404
403
  }
405
404
  })
406
405
 
407
- const itemsPerPage = ref<number>(props.itemsPerPage)
406
+ const itemsPerPage = ref<number>(props.itemsPerPage || items.value.length)
408
407
  const activePage = ref(props.activePage)
409
408
 
410
409
  const sorterState: SorterValue = reactive(props.sorterValue || {})
@@ -657,6 +656,8 @@ const CSmartTable = defineComponent({
657
656
  },
658
657
  props.tableFilter &&
659
658
  h(CSmartTableFilter, {
659
+ filterLabel: props.tableFilterLabel,
660
+ filterPlaceholder: props.tableFilterPlaceholder,
660
661
  onFilterInput: (value: string) => tableFilterChange(value, 'input'),
661
662
  onFilterChange: (value: string) => tableFilterChange(value, 'change'),
662
663
  value: tableFilterState.value,
@@ -705,7 +706,8 @@ const CSmartTable = defineComponent({
705
706
  {
706
707
  component: 'head',
707
708
  ...props.tableHeadProps,
708
- columnFilter: columnFilterState.value,
709
+ columnFilter: props.columnFilter,
710
+ columnFilterValue: columnFilterState.value,
709
711
  columns: props.columns,
710
712
  columnSorter: props.columnSorter,
711
713
  selectable: props.selectable,
@@ -5,7 +5,13 @@ import { CTableRow } from '../table/CTableRow'
5
5
 
6
6
  import { CFormCheck, CFormInput } from '../form/'
7
7
 
8
- import { Column, ColumnFilter, Sorter, SorterValue } from './CSmartTableInterface'
8
+ import {
9
+ Column,
10
+ ColumnFilter,
11
+ ColumnFilterValue,
12
+ Sorter,
13
+ SorterValue,
14
+ } from './CSmartTableInterface'
9
15
 
10
16
  const CSmartTableHead = defineComponent({
11
17
  name: 'CSmartTableHead',
@@ -17,9 +23,12 @@ const CSmartTableHead = defineComponent({
17
23
  },
18
24
  columnFilter: {
19
25
  type: [Boolean, Object] as PropType<boolean | ColumnFilter>,
20
- default: undefined,
21
26
  require: false,
22
27
  },
28
+ columnFilterValue: {
29
+ type: Object as PropType<ColumnFilterValue>,
30
+ required: false,
31
+ },
23
32
  columnSorter: {
24
33
  type: [Boolean, Object] as PropType<boolean | Sorter>,
25
34
  default: undefined,
@@ -221,9 +230,9 @@ const CSmartTableHead = defineComponent({
221
230
  (event.target as HTMLInputElement).value,
222
231
  ),
223
232
  'aria-label': `column name: '${label(column)}' filter input`,
224
- ...(props.columnFilter &&
225
- props.columnFilter[key(column)] && {
226
- value: props.columnFilter[key(column)],
233
+ ...(props.columnFilterValue &&
234
+ props.columnFilterValue[key(column)] && {
235
+ value: props.columnFilterValue[key(column)],
227
236
  }),
228
237
  }),
229
238
  },