@gitlab/ui 132.0.2 → 132.1.0
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/components/base/link/link.js +2 -2
- package/dist/components/dashboards/dashboard_layout/grid_layout/grid_layout.js +3 -3
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/utils/url_utils.js +56 -0
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +5 -2
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +11 -4
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +31 -8
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +15 -4
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +31 -8
- package/dist/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +35 -8
- package/dist/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +35 -8
- package/dist/vendor/bootstrap-vue/src/components/form-group/form-group.js +66 -14
- package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +4 -2
- package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +9 -3
- package/dist/vendor/bootstrap-vue/src/components/form-select/form-select.js +16 -5
- package/dist/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +10 -3
- package/dist/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +26 -7
- package/dist/vendor/bootstrap-vue/src/components/popover/popover.js +24 -9
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +5 -2
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +10 -3
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +25 -6
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +20 -5
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +11 -4
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +26 -7
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +21 -7
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +74 -20
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +6 -3
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +71 -16
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +16 -5
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +7 -3
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +26 -7
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +21 -6
- package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-popper.js +36 -9
- package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip-template.js +10 -3
- package/dist/vendor/bootstrap-vue/src/components/transition/bv-transition.js +20 -5
- package/dist/vendor/bootstrap-vue/src/components/transporter/transporter.js +24 -9
- package/package.json +2 -2
- package/src/components/base/link/link.vue +2 -2
- package/src/components/dashboards/dashboard_layout/grid_layout/grid_layout.vue +21 -19
- package/src/utils/url_utils.js +66 -0
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +5 -2
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +16 -4
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +31 -8
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +15 -4
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +32 -8
- package/src/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +35 -8
- package/src/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +35 -8
- package/src/vendor/bootstrap-vue/src/components/form-group/form-group.js +67 -14
- package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +4 -2
- package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +9 -3
- package/src/vendor/bootstrap-vue/src/components/form-select/form-select.js +16 -9
- package/src/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +10 -3
- package/src/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +26 -7
- package/src/vendor/bootstrap-vue/src/components/popover/popover.js +23 -7
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +5 -2
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +10 -3
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +25 -6
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +20 -5
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +11 -4
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +27 -7
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +21 -7
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +72 -18
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +6 -3
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +72 -17
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +18 -6
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +7 -3
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +27 -7
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +21 -6
- package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-popper.js +36 -13
- package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip-template.js +10 -3
- package/src/vendor/bootstrap-vue/src/components/transition/bv-transition.js +20 -5
- package/src/vendor/bootstrap-vue/src/components/transporter/transporter.js +22 -6
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { NAME_FORM_GROUP } from '../../constants/components'
|
|
2
2
|
import { IS_BROWSER } from '../../constants/env'
|
|
3
3
|
import {
|
|
4
|
-
|
|
4
|
+
PROP_TYPE_ARRAY,
|
|
5
5
|
PROP_TYPE_BOOLEAN,
|
|
6
6
|
PROP_TYPE_BOOLEAN_NUMBER_STRING,
|
|
7
|
+
PROP_TYPE_OBJECT,
|
|
7
8
|
PROP_TYPE_STRING
|
|
8
9
|
} from '../../constants/props'
|
|
9
10
|
import { RX_SPACE_SPLIT } from '../../constants/regex'
|
|
@@ -66,19 +67,71 @@ export const generateProps = () =>
|
|
|
66
67
|
props[suffixPropName(breakpoint, 'labelCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)
|
|
67
68
|
return props
|
|
68
69
|
}, create(null)),
|
|
69
|
-
description:
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
70
|
+
description: {
|
|
71
|
+
type: PROP_TYPE_STRING,
|
|
72
|
+
required: false,
|
|
73
|
+
default: undefined
|
|
74
|
+
},
|
|
75
|
+
disabled: {
|
|
76
|
+
type: PROP_TYPE_BOOLEAN,
|
|
77
|
+
required: false,
|
|
78
|
+
default: false
|
|
79
|
+
},
|
|
80
|
+
feedbackAriaLive: {
|
|
81
|
+
type: PROP_TYPE_STRING,
|
|
82
|
+
required: false,
|
|
83
|
+
default: 'assertive'
|
|
84
|
+
},
|
|
85
|
+
invalidFeedback: {
|
|
86
|
+
type: PROP_TYPE_STRING,
|
|
87
|
+
required: false,
|
|
88
|
+
default: undefined
|
|
89
|
+
},
|
|
90
|
+
label: {
|
|
91
|
+
type: PROP_TYPE_STRING,
|
|
92
|
+
required: false,
|
|
93
|
+
default: undefined
|
|
94
|
+
},
|
|
95
|
+
labelClass: {
|
|
96
|
+
type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
|
|
97
|
+
required: false,
|
|
98
|
+
default: undefined
|
|
99
|
+
},
|
|
100
|
+
labelFor: {
|
|
101
|
+
type: PROP_TYPE_STRING,
|
|
102
|
+
required: false,
|
|
103
|
+
default: undefined
|
|
104
|
+
},
|
|
105
|
+
labelId: {
|
|
106
|
+
type: PROP_TYPE_STRING,
|
|
107
|
+
required: false,
|
|
108
|
+
default: undefined
|
|
109
|
+
},
|
|
110
|
+
labelSize: {
|
|
111
|
+
type: PROP_TYPE_STRING,
|
|
112
|
+
required: false,
|
|
113
|
+
default: undefined
|
|
114
|
+
},
|
|
115
|
+
labelSrOnly: {
|
|
116
|
+
type: PROP_TYPE_BOOLEAN,
|
|
117
|
+
required: false,
|
|
118
|
+
default: false
|
|
119
|
+
},
|
|
120
|
+
tooltip: {
|
|
121
|
+
type: PROP_TYPE_BOOLEAN,
|
|
122
|
+
required: false,
|
|
123
|
+
default: false
|
|
124
|
+
},
|
|
125
|
+
validFeedback: {
|
|
126
|
+
type: PROP_TYPE_STRING,
|
|
127
|
+
required: false,
|
|
128
|
+
default: undefined
|
|
129
|
+
},
|
|
130
|
+
validated: {
|
|
131
|
+
type: PROP_TYPE_BOOLEAN,
|
|
132
|
+
required: false,
|
|
133
|
+
default: false
|
|
134
|
+
}
|
|
82
135
|
})
|
|
83
136
|
|
|
84
137
|
// --- Main component ---
|
|
@@ -4,7 +4,6 @@ import { PROP_TYPE_STRING } from '../../constants/props'
|
|
|
4
4
|
import { SLOT_NAME_FIRST } from '../../constants/slots'
|
|
5
5
|
import { htmlOrText } from '../../utils/html'
|
|
6
6
|
import { sortKeys } from '../../utils/object'
|
|
7
|
-
import { makeProp } from '../../utils/props'
|
|
8
7
|
import { formOptionsMixin, props as formOptionsProps } from '../../mixins/form-options'
|
|
9
8
|
import { normalizeSlotMixin } from '../../mixins/normalize-slot'
|
|
10
9
|
import { BFormSelectOption } from './form-select-option'
|
|
@@ -13,7 +12,10 @@ import { BFormSelectOption } from './form-select-option'
|
|
|
13
12
|
|
|
14
13
|
export const props = sortKeys({
|
|
15
14
|
...formOptionsProps,
|
|
16
|
-
label:
|
|
15
|
+
label: {
|
|
16
|
+
type: PROP_TYPE_STRING,
|
|
17
|
+
required: true
|
|
18
|
+
}
|
|
17
19
|
})
|
|
18
20
|
|
|
19
21
|
// --- Main component ---
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { extend, mergeData } from '../../vue'
|
|
2
2
|
import { NAME_FORM_SELECT_OPTION } from '../../constants/components'
|
|
3
3
|
import { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN } from '../../constants/props'
|
|
4
|
-
import { makeProp } from '../../utils/props'
|
|
5
4
|
|
|
6
5
|
// --- Props ---
|
|
7
6
|
|
|
8
7
|
export const props = {
|
|
9
|
-
disabled:
|
|
10
|
-
|
|
8
|
+
disabled: {
|
|
9
|
+
type: PROP_TYPE_BOOLEAN,
|
|
10
|
+
required: false,
|
|
11
|
+
default: false
|
|
12
|
+
},
|
|
13
|
+
value: {
|
|
14
|
+
type: PROP_TYPE_ANY,
|
|
15
|
+
required: true
|
|
16
|
+
}
|
|
11
17
|
}
|
|
12
18
|
|
|
13
19
|
// --- Main component ---
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
import { extend } from '../../vue'
|
|
2
2
|
import { NAME_FORM_SELECT } from '../../constants/components'
|
|
3
3
|
import { EVENT_NAME_CHANGE } from '../../constants/events'
|
|
4
|
-
import {
|
|
5
|
-
PROP_TYPE_BOOLEAN,
|
|
6
|
-
PROP_TYPE_BOOLEAN_STRING,
|
|
7
|
-
PROP_TYPE_NUMBER
|
|
8
|
-
} from '../../constants/props'
|
|
4
|
+
import { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER, PROP_TYPE_STRING } from '../../constants/props'
|
|
9
5
|
import { SLOT_NAME_FIRST } from '../../constants/slots'
|
|
10
6
|
import { from as arrayFrom } from '../../utils/array'
|
|
11
7
|
import { attemptBlur, attemptFocus } from '../../utils/dom'
|
|
12
8
|
import { htmlOrText } from '../../utils/html'
|
|
13
9
|
import { isArray } from '../../utils/inspect'
|
|
14
10
|
import { sortKeys } from '../../utils/object'
|
|
15
|
-
import { makeProp } from '../../utils/props'
|
|
16
11
|
import { formControlMixin, props as formControlProps } from '../../mixins/form-control'
|
|
17
12
|
import { formCustomMixin, props as formCustomProps } from '../../mixins/form-custom'
|
|
18
13
|
import { formSizeMixin, props as formSizeProps } from '../../mixins/form-size'
|
|
@@ -38,11 +33,23 @@ export const props = sortKeys({
|
|
|
38
33
|
...formCustomProps,
|
|
39
34
|
...formSizeProps,
|
|
40
35
|
...formStateProps,
|
|
41
|
-
ariaInvalid:
|
|
42
|
-
|
|
36
|
+
ariaInvalid: {
|
|
37
|
+
type: [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING],
|
|
38
|
+
required: false,
|
|
39
|
+
default: false
|
|
40
|
+
},
|
|
41
|
+
multiple: {
|
|
42
|
+
type: PROP_TYPE_BOOLEAN,
|
|
43
|
+
required: false,
|
|
44
|
+
default: false
|
|
45
|
+
},
|
|
43
46
|
// Browsers default size to `0`, which shows 4 rows in most browsers in multiple mode
|
|
44
47
|
// Size of `1` can bork out Firefox
|
|
45
|
-
selectSize:
|
|
48
|
+
selectSize: {
|
|
49
|
+
type: PROP_TYPE_NUMBER,
|
|
50
|
+
required: false,
|
|
51
|
+
default: 0
|
|
52
|
+
}
|
|
46
53
|
})
|
|
47
54
|
|
|
48
55
|
// --- Main component ---
|
|
@@ -3,15 +3,22 @@ import { PROP_TYPE_STRING } from '../../../constants/props'
|
|
|
3
3
|
import { get } from '../../../utils/get'
|
|
4
4
|
import { isNull, isPlainObject, isUndefined } from '../../../utils/inspect'
|
|
5
5
|
import { sortKeys } from '../../../utils/object'
|
|
6
|
-
import { makeProp } from '../../../utils/props'
|
|
7
6
|
import { formOptionsMixin, props as formOptionsProps } from '../../../mixins/form-options'
|
|
8
7
|
|
|
9
8
|
// --- Props ---
|
|
10
9
|
|
|
11
10
|
export const props = sortKeys({
|
|
12
11
|
...formOptionsProps,
|
|
13
|
-
labelField:
|
|
14
|
-
|
|
12
|
+
labelField: {
|
|
13
|
+
type: PROP_TYPE_STRING,
|
|
14
|
+
required: false,
|
|
15
|
+
default: 'label'
|
|
16
|
+
},
|
|
17
|
+
optionsField: {
|
|
18
|
+
type: PROP_TYPE_STRING,
|
|
19
|
+
required: false,
|
|
20
|
+
default: 'options'
|
|
21
|
+
}
|
|
15
22
|
})
|
|
16
23
|
|
|
17
24
|
// --- Mixin ---
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { extend } from '../../vue'
|
|
2
2
|
import { NAME_FORM_TEXTAREA } from '../../constants/components'
|
|
3
|
-
import { PROP_TYPE_BOOLEAN,
|
|
3
|
+
import { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER, PROP_TYPE_STRING } from '../../constants/props'
|
|
4
4
|
import { getCS, getStyle, isVisible, requestAF, setStyle } from '../../utils/dom'
|
|
5
5
|
import { isNull } from '../../utils/inspect'
|
|
6
6
|
import { mathCeil, mathMax, mathMin } from '../../utils/math'
|
|
7
7
|
import { toInteger, toFloat } from '../../utils/number'
|
|
8
8
|
import { sortKeys } from '../../utils/object'
|
|
9
|
-
import { makeProp } from '../../utils/props'
|
|
10
9
|
import { formControlMixin, props as formControlProps } from '../../mixins/form-control'
|
|
11
10
|
import { formSelectionMixin } from '../../mixins/form-selection'
|
|
12
11
|
import { formSizeMixin, props as formSizeProps } from '../../mixins/form-size'
|
|
@@ -26,15 +25,35 @@ export const props = sortKeys({
|
|
|
26
25
|
...formSizeProps,
|
|
27
26
|
...formStateProps,
|
|
28
27
|
...formTextProps,
|
|
29
|
-
maxRows:
|
|
28
|
+
maxRows: {
|
|
29
|
+
type: [PROP_TYPE_NUMBER, PROP_TYPE_STRING],
|
|
30
|
+
required: false,
|
|
31
|
+
default: undefined
|
|
32
|
+
},
|
|
30
33
|
// When in auto resize mode, disable shrinking to content height
|
|
31
|
-
noAutoShrink:
|
|
34
|
+
noAutoShrink: {
|
|
35
|
+
type: PROP_TYPE_BOOLEAN,
|
|
36
|
+
required: false,
|
|
37
|
+
default: false
|
|
38
|
+
},
|
|
32
39
|
// Disable the resize handle of textarea
|
|
33
|
-
noResize:
|
|
34
|
-
|
|
40
|
+
noResize: {
|
|
41
|
+
type: PROP_TYPE_BOOLEAN,
|
|
42
|
+
required: false,
|
|
43
|
+
default: false
|
|
44
|
+
},
|
|
45
|
+
rows: {
|
|
46
|
+
type: [PROP_TYPE_NUMBER, PROP_TYPE_STRING],
|
|
47
|
+
required: false,
|
|
48
|
+
default: 2
|
|
49
|
+
},
|
|
35
50
|
// 'soft', 'hard' or 'off'
|
|
36
51
|
// Browser default is 'soft'
|
|
37
|
-
wrap:
|
|
52
|
+
wrap: {
|
|
53
|
+
type: PROP_TYPE_STRING,
|
|
54
|
+
required: false,
|
|
55
|
+
default: 'soft'
|
|
56
|
+
}
|
|
38
57
|
})
|
|
39
58
|
|
|
40
59
|
// --- Main component ---
|
|
@@ -2,12 +2,12 @@ import { extend } from '../../vue'
|
|
|
2
2
|
import { NAME_POPOVER } from '../../constants/components'
|
|
3
3
|
import { EVENT_NAME_CLICK } from '../../constants/events'
|
|
4
4
|
import {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
PROP_TYPE_ARRAY,
|
|
6
|
+
PROP_TYPE_NUMBER,
|
|
7
|
+
PROP_TYPE_OBJECT,
|
|
7
8
|
PROP_TYPE_STRING
|
|
8
9
|
} from '../../constants/props'
|
|
9
10
|
import { SLOT_NAME_TITLE } from '../../constants/slots'
|
|
10
|
-
import { makeProp } from '../../utils/props'
|
|
11
11
|
import { BTooltip, props as BTooltipProps } from '../tooltip/tooltip'
|
|
12
12
|
import { BVPopover } from './helpers/bv-popover'
|
|
13
13
|
import { sortKeys } from '../../utils/object'
|
|
@@ -16,10 +16,26 @@ import { sortKeys } from '../../utils/object'
|
|
|
16
16
|
|
|
17
17
|
export const props = sortKeys({
|
|
18
18
|
...BTooltipProps,
|
|
19
|
-
content:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
content: {
|
|
20
|
+
type: PROP_TYPE_STRING,
|
|
21
|
+
required: false,
|
|
22
|
+
default: undefined
|
|
23
|
+
},
|
|
24
|
+
delay: {
|
|
25
|
+
type: [PROP_TYPE_NUMBER, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
|
|
26
|
+
required: false,
|
|
27
|
+
default: () => ({ show: 50, hide: 150 })
|
|
28
|
+
},
|
|
29
|
+
placement: {
|
|
30
|
+
type: PROP_TYPE_STRING,
|
|
31
|
+
required: false,
|
|
32
|
+
default: 'right'
|
|
33
|
+
},
|
|
34
|
+
triggers: {
|
|
35
|
+
type: [PROP_TYPE_ARRAY, PROP_TYPE_STRING],
|
|
36
|
+
required: false,
|
|
37
|
+
default: EVENT_NAME_CLICK
|
|
38
|
+
}
|
|
23
39
|
})
|
|
24
40
|
|
|
25
41
|
// --- Main component ---
|
|
@@ -4,7 +4,6 @@ import { PROP_TYPE_BOOLEAN } from '../../../constants/props'
|
|
|
4
4
|
import { SLOT_NAME_TABLE_BUSY } from '../../../constants/slots'
|
|
5
5
|
import { stopEvent } from '../../../utils/events'
|
|
6
6
|
import { isFunction } from '../../../utils/inspect'
|
|
7
|
-
import { makeProp } from '../../../utils/props'
|
|
8
7
|
import { BTr } from '../tr'
|
|
9
8
|
import { BTd } from '../td'
|
|
10
9
|
|
|
@@ -16,7 +15,11 @@ const MODEL_EVENT_NAME_BUSY = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_BUSY
|
|
|
16
15
|
// --- Props ---
|
|
17
16
|
|
|
18
17
|
export const props = {
|
|
19
|
-
[MODEL_PROP_NAME_BUSY]:
|
|
18
|
+
[MODEL_PROP_NAME_BUSY]: {
|
|
19
|
+
type: PROP_TYPE_BOOLEAN,
|
|
20
|
+
required: false,
|
|
21
|
+
default: false
|
|
22
|
+
}
|
|
20
23
|
}
|
|
21
24
|
|
|
22
25
|
// --- Mixin ---
|
|
@@ -2,13 +2,20 @@ import { extend } from '../../../vue'
|
|
|
2
2
|
import { PROP_TYPE_STRING } from '../../../constants/props'
|
|
3
3
|
import { SLOT_NAME_TABLE_CAPTION } from '../../../constants/slots'
|
|
4
4
|
import { htmlOrText } from '../../../utils/html'
|
|
5
|
-
import { makeProp } from '../../../utils/props'
|
|
6
5
|
|
|
7
6
|
// --- Props ---
|
|
8
7
|
|
|
9
8
|
export const props = {
|
|
10
|
-
caption:
|
|
11
|
-
|
|
9
|
+
caption: {
|
|
10
|
+
type: PROP_TYPE_STRING,
|
|
11
|
+
required: false,
|
|
12
|
+
default: undefined
|
|
13
|
+
},
|
|
14
|
+
captionHtml: {
|
|
15
|
+
type: PROP_TYPE_STRING,
|
|
16
|
+
required: false,
|
|
17
|
+
default: undefined
|
|
18
|
+
}
|
|
12
19
|
// `caption-top` is part of table-render mixin (styling)
|
|
13
20
|
// captionTop: makeProp(PROP_TYPE_BOOLEAN, false)
|
|
14
21
|
}
|
|
@@ -7,7 +7,6 @@ import {
|
|
|
7
7
|
} from '../../../constants/slots'
|
|
8
8
|
import { htmlOrText } from '../../../utils/html'
|
|
9
9
|
import { isFunction } from '../../../utils/inspect'
|
|
10
|
-
import { makeProp } from '../../../utils/props'
|
|
11
10
|
import { safeVueInstance } from '../../../utils/safe-vue-instance'
|
|
12
11
|
import { BTr } from '../tr'
|
|
13
12
|
import { BTd } from '../td'
|
|
@@ -15,11 +14,31 @@ import { BTd } from '../td'
|
|
|
15
14
|
// --- Props ---
|
|
16
15
|
|
|
17
16
|
export const props = {
|
|
18
|
-
emptyFilteredHtml:
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
emptyFilteredHtml: {
|
|
18
|
+
type: PROP_TYPE_STRING,
|
|
19
|
+
required: false,
|
|
20
|
+
default: undefined
|
|
21
|
+
},
|
|
22
|
+
emptyFilteredText: {
|
|
23
|
+
type: PROP_TYPE_STRING,
|
|
24
|
+
required: false,
|
|
25
|
+
default: 'There are no records matching your request'
|
|
26
|
+
},
|
|
27
|
+
emptyHtml: {
|
|
28
|
+
type: PROP_TYPE_STRING,
|
|
29
|
+
required: false,
|
|
30
|
+
default: undefined
|
|
31
|
+
},
|
|
32
|
+
emptyText: {
|
|
33
|
+
type: PROP_TYPE_STRING,
|
|
34
|
+
required: false,
|
|
35
|
+
default: 'There are no records to show'
|
|
36
|
+
},
|
|
37
|
+
showEmpty: {
|
|
38
|
+
type: PROP_TYPE_BOOLEAN,
|
|
39
|
+
required: false,
|
|
40
|
+
default: false
|
|
41
|
+
}
|
|
23
42
|
}
|
|
24
43
|
|
|
25
44
|
// --- Mixin ---
|
|
@@ -9,7 +9,6 @@ import { makeModelMixin } from '../../../utils/model'
|
|
|
9
9
|
|
|
10
10
|
import { toInteger } from '../../../utils/number'
|
|
11
11
|
import { clone, sortKeys } from '../../../utils/object'
|
|
12
|
-
import { makeProp } from '../../../utils/props'
|
|
13
12
|
import { safeVueInstance } from '../../../utils/safe-vue-instance'
|
|
14
13
|
import { normalizeFields } from './normalize-fields'
|
|
15
14
|
|
|
@@ -31,14 +30,30 @@ export { MODEL_PROP_NAME, MODEL_EVENT_NAME }
|
|
|
31
30
|
|
|
32
31
|
export const props = sortKeys({
|
|
33
32
|
...modelProps,
|
|
34
|
-
fields:
|
|
33
|
+
fields: {
|
|
34
|
+
type: PROP_TYPE_ARRAY,
|
|
35
|
+
required: false,
|
|
36
|
+
default: null
|
|
37
|
+
},
|
|
35
38
|
// Provider mixin adds in `Function` type
|
|
36
|
-
items:
|
|
39
|
+
items: {
|
|
40
|
+
type: PROP_TYPE_ARRAY,
|
|
41
|
+
required: false,
|
|
42
|
+
default: () => []
|
|
43
|
+
},
|
|
37
44
|
// Primary key for record
|
|
38
45
|
// If provided the value in each row must be unique!
|
|
39
|
-
primaryKey:
|
|
46
|
+
primaryKey: {
|
|
47
|
+
type: PROP_TYPE_STRING,
|
|
48
|
+
required: false,
|
|
49
|
+
default: undefined
|
|
50
|
+
},
|
|
40
51
|
// `v-model` for retrieving the current displayed rows
|
|
41
|
-
[MODEL_PROP_NAME]:
|
|
52
|
+
[MODEL_PROP_NAME]: {
|
|
53
|
+
type: PROP_TYPE_ARRAY,
|
|
54
|
+
required: false,
|
|
55
|
+
default: () => []
|
|
56
|
+
}
|
|
42
57
|
})
|
|
43
58
|
|
|
44
59
|
// --- Mixin ---
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import { extend } from '../../../vue'
|
|
2
|
-
import {
|
|
2
|
+
import { PROP_TYPE_NUMBER, PROP_TYPE_STRING } from '../../../constants/props'
|
|
3
3
|
import { mathMax } from '../../../utils/math'
|
|
4
4
|
import { toInteger } from '../../../utils/number'
|
|
5
|
-
import { makeProp } from '../../../utils/props'
|
|
6
5
|
import { safeVueInstance } from '../../../utils/safe-vue-instance'
|
|
7
6
|
|
|
8
7
|
// --- Props ---
|
|
9
8
|
|
|
10
9
|
export const props = {
|
|
11
|
-
currentPage:
|
|
12
|
-
|
|
10
|
+
currentPage: {
|
|
11
|
+
type: [PROP_TYPE_NUMBER, PROP_TYPE_STRING],
|
|
12
|
+
required: false,
|
|
13
|
+
default: 1
|
|
14
|
+
},
|
|
15
|
+
perPage: {
|
|
16
|
+
type: [PROP_TYPE_NUMBER, PROP_TYPE_STRING],
|
|
17
|
+
required: false,
|
|
18
|
+
default: 0
|
|
19
|
+
}
|
|
13
20
|
}
|
|
14
21
|
|
|
15
22
|
// --- Mixin ---
|
|
@@ -2,15 +2,15 @@ import { extend } from '../../../vue'
|
|
|
2
2
|
import { NAME_TABLE } from '../../../constants/components'
|
|
3
3
|
import { EVENT_NAME_REFRESH, EVENT_NAME_REFRESHED } from '../../../constants/events'
|
|
4
4
|
import {
|
|
5
|
-
|
|
5
|
+
PROP_TYPE_ARRAY,
|
|
6
6
|
PROP_TYPE_BOOLEAN,
|
|
7
|
+
PROP_TYPE_FUNCTION,
|
|
7
8
|
PROP_TYPE_STRING
|
|
8
9
|
} from '../../../constants/props'
|
|
9
10
|
import { getRootActionEventName, getRootEventName } from '../../../utils/events'
|
|
10
11
|
import { isArray, isFunction, isPromise } from '../../../utils/inspect'
|
|
11
12
|
import { looseEqual } from '../../../utils/loose-equal'
|
|
12
13
|
import { clone } from '../../../utils/object'
|
|
13
|
-
import { makeProp } from '../../../utils/props'
|
|
14
14
|
import { safeVueInstance } from '../../../utils/safe-vue-instance'
|
|
15
15
|
import { warn } from '../../../utils/warn'
|
|
16
16
|
import { listenOnRootMixin } from '../../../mixins/listen-on-root'
|
|
@@ -25,12 +25,32 @@ const ROOT_ACTION_EVENT_NAME_REFRESH = getRootActionEventName(NAME_TABLE, EVENT_
|
|
|
25
25
|
export const props = {
|
|
26
26
|
// Passed to the context object
|
|
27
27
|
// Not used by `<b-table>` directly
|
|
28
|
-
apiUrl:
|
|
28
|
+
apiUrl: {
|
|
29
|
+
type: PROP_TYPE_STRING,
|
|
30
|
+
required: false,
|
|
31
|
+
default: undefined
|
|
32
|
+
},
|
|
29
33
|
// Adds in 'Function' support
|
|
30
|
-
items:
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
items: {
|
|
35
|
+
type: [PROP_TYPE_ARRAY, PROP_TYPE_FUNCTION],
|
|
36
|
+
required: false,
|
|
37
|
+
default: () => []
|
|
38
|
+
},
|
|
39
|
+
noProviderFiltering: {
|
|
40
|
+
type: PROP_TYPE_BOOLEAN,
|
|
41
|
+
required: false,
|
|
42
|
+
default: false
|
|
43
|
+
},
|
|
44
|
+
noProviderPaging: {
|
|
45
|
+
type: PROP_TYPE_BOOLEAN,
|
|
46
|
+
required: false,
|
|
47
|
+
default: false
|
|
48
|
+
},
|
|
49
|
+
noProviderSorting: {
|
|
50
|
+
type: PROP_TYPE_BOOLEAN,
|
|
51
|
+
required: false,
|
|
52
|
+
default: false
|
|
53
|
+
}
|
|
34
54
|
}
|
|
35
55
|
|
|
36
56
|
// --- Mixin ---
|
|
@@ -6,7 +6,6 @@ import { identity } from '../../../utils/identity'
|
|
|
6
6
|
import { isArray, isNumber } from '../../../utils/inspect'
|
|
7
7
|
import { looseEqual } from '../../../utils/loose-equal'
|
|
8
8
|
import { mathMax, mathMin } from '../../../utils/math'
|
|
9
|
-
import { makeProp } from '../../../utils/props'
|
|
10
9
|
import { toString } from '../../../utils/string'
|
|
11
10
|
import { sanitizeRow } from './sanitize-row'
|
|
12
11
|
|
|
@@ -20,12 +19,27 @@ const ROLE_GRID = 'grid'
|
|
|
20
19
|
|
|
21
20
|
export const props = {
|
|
22
21
|
// Disable use of click handlers for row selection
|
|
23
|
-
noSelectOnClick:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
noSelectOnClick: {
|
|
23
|
+
type: PROP_TYPE_BOOLEAN,
|
|
24
|
+
required: false,
|
|
25
|
+
default: false
|
|
26
|
+
},
|
|
27
|
+
selectMode: {
|
|
28
|
+
type: PROP_TYPE_STRING,
|
|
29
|
+
required: false,
|
|
30
|
+
default: 'multi',
|
|
31
|
+
validator: value => SELECT_MODES.includes(value)
|
|
32
|
+
},
|
|
33
|
+
selectable: {
|
|
34
|
+
type: PROP_TYPE_BOOLEAN,
|
|
35
|
+
required: false,
|
|
36
|
+
default: false
|
|
37
|
+
},
|
|
38
|
+
selectedVariant: {
|
|
39
|
+
type: PROP_TYPE_STRING,
|
|
40
|
+
required: false,
|
|
41
|
+
default: 'active'
|
|
42
|
+
}
|
|
29
43
|
}
|
|
30
44
|
|
|
31
45
|
// --- Mixin ---
|