Skip to content

Commit cdc9194

Browse files
committed
refactoring code order
1 parent 965aa3b commit cdc9194

File tree

2 files changed

+58
-52
lines changed

2 files changed

+58
-52
lines changed

packages/bootstrap-vue-3/src/components/BFormInput/BFormInput.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ export default defineComponent({
5959
},
6060
emits: ['update:modelValue', 'change', 'blur', 'input'],
6161
setup(props, {emit}) {
62+
const isHighlighted = ref(false)
63+
6264
const classes = computed(() => {
6365
const isRange = props.type === 'range'
6466
const isColor = props.type === 'color'
@@ -81,7 +83,6 @@ export default defineComponent({
8183
const {input, computedId, computedAriaInvalid, onInput, onChange, onBlur, focus, blur} =
8284
useFormInput(props, emit)
8385
84-
const isHighlighted = ref(false)
8586
const highlight = () => {
8687
if (isHighlighted.value === true) return
8788
isHighlighted.value = true

packages/bootstrap-vue-3/src/components/BTable/BTable.vue

Lines changed: 56 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -265,19 +265,6 @@ const props = withDefaults(defineProps<BTableProps>(), {
265265
emptyFilteredText: 'There are no records matching your request',
266266
})
267267
268-
const footCloneBoolean = useBooleanish(toRef(props, 'footClone'))
269-
const sortDescBoolean = useBooleanish(toRef(props, 'sortDesc'))
270-
const sortInternalBoolean = useBooleanish(toRef(props, 'sortInternal'))
271-
const selectableBoolean = useBooleanish(toRef(props, 'selectable'))
272-
const stickySelectBoolean = useBooleanish(toRef(props, 'stickySelect'))
273-
const busyBoolean = useBooleanish(toRef(props, 'busy'))
274-
const showEmptyBoolean = useBooleanish(toRef(props, 'showEmpty'))
275-
const noProviderPagingBoolean = useBooleanish(toRef(props, 'showEmpty'))
276-
const noProviderSortingBoolean = useBooleanish(toRef(props, 'showEmpty'))
277-
const noProviderFilteringBoolean = useBooleanish(toRef(props, 'showEmpty'))
278-
279-
const internalBusyFlag = ref(busyBoolean.value)
280-
281268
interface BTableEmits {
282269
(
283270
e: 'headClicked',
@@ -314,6 +301,32 @@ interface BTableEmits {
314301
const emit = defineEmits<BTableEmits>()
315302
const slots = useSlots()
316303
304+
const itemHelper = useItemHelper()
305+
306+
const footCloneBoolean = useBooleanish(toRef(props, 'footClone'))
307+
const sortDescBoolean = useBooleanish(toRef(props, 'sortDesc'))
308+
const sortInternalBoolean = useBooleanish(toRef(props, 'sortInternal'))
309+
const selectableBoolean = useBooleanish(toRef(props, 'selectable'))
310+
const stickySelectBoolean = useBooleanish(toRef(props, 'stickySelect'))
311+
const busyBoolean = useBooleanish(toRef(props, 'busy'))
312+
const showEmptyBoolean = useBooleanish(toRef(props, 'showEmpty'))
313+
const noProviderPagingBoolean = useBooleanish(toRef(props, 'showEmpty'))
314+
const noProviderSortingBoolean = useBooleanish(toRef(props, 'showEmpty'))
315+
const noProviderFilteringBoolean = useBooleanish(toRef(props, 'showEmpty'))
316+
317+
const internalBusyFlag = ref(busyBoolean.value)
318+
itemHelper.filterEvent.value = async (items) => {
319+
if (usesProvider.value) {
320+
await callItemsProvider()
321+
return
322+
}
323+
const clone = await cloneDeepAsync(items)
324+
emit('filtered', clone)
325+
}
326+
327+
const selectedItems = ref<Set<TableItem>>(new Set([]))
328+
const isSelecting = computed(() => selectedItems.value.size > 0)
329+
317330
const tableClasses = computed(() => ({
318331
[`align-${props.align}`]: props.align !== undefined,
319332
'b-table-selectable': selectableBoolean.value,
@@ -340,17 +353,6 @@ const containerAttrs = computed(() => ({
340353
stickyHeader: props.stickyHeader,
341354
}))
342355
343-
const itemHelper = useItemHelper()
344-
345-
itemHelper.filterEvent.value = async (items) => {
346-
if (usesProvider.value) {
347-
await callItemsProvider()
348-
return
349-
}
350-
const clone = await cloneDeepAsync(items)
351-
emit('filtered', clone)
352-
}
353-
354356
const computedFields = computed(() => itemHelper.normaliseFields(props.fields, props.items))
355357
const computedFieldsTotal = computed(
356358
() => computedFields.value.length + (selectableBoolean.value ? 1 : 0)
@@ -359,6 +361,15 @@ const computedFieldsTotal = computed(
359361
const isFilterableTable = computed(() => props.filter !== undefined && props.filter !== '')
360362
const usesProvider = computed(() => props.provider !== undefined)
361363
364+
const addSelectableCell = computed(
365+
() => selectableBoolean.value && (!!props.selectHead || slots.selectHead !== undefined)
366+
)
367+
368+
const isSortable = computed(
369+
() =>
370+
props.fields.filter((field) => (typeof field === 'string' ? false : field.sortable)).length > 0
371+
)
372+
362373
const requireItemsMapping = computed(() => isSortable.value && sortInternalBoolean.value === true)
363374
const computedItems = computed(() => {
364375
if (usesProvider.value) return itemHelper.internalItems.value
@@ -384,26 +395,21 @@ const headerClicked = (field: TableField, event: MouseEvent, isFooter = false) =
384395
385396
handleFieldSorting(field)
386397
}
398+
387399
const onRowClick = (row: TableItem, index: number, e: MouseEvent) => {
388400
emit('rowClicked', row, index, e)
389401
390402
handleRowSelection(row, index, e.shiftKey)
391403
}
392404
const onRowDblClick = (row: TableItem, index: number, e: MouseEvent) =>
393405
emit('rowDblClicked', row, index, e)
406+
394407
const onRowMouseEnter = (row: TableItem, index: number, e: MouseEvent) =>
395408
emit('rowHovered', row, index, e)
409+
396410
const onRowMouseLeave = (row: TableItem, index: number, e: MouseEvent) =>
397411
emit('rowUnhovered', row, index, e)
398412
399-
const addSelectableCell = computed(
400-
() => selectableBoolean.value && (!!props.selectHead || slots.selectHead !== undefined)
401-
)
402-
403-
const isSortable = computed(
404-
() =>
405-
props.fields.filter((field) => (typeof field === 'string' ? false : field.sortable)).length > 0
406-
)
407413
const handleFieldSorting = (field: TableField) => {
408414
if (!isSortable.value) return
409415
@@ -419,13 +425,11 @@ const handleFieldSorting = (field: TableField) => {
419425
}
420426
}
421427
422-
const selectedItems = ref<Set<TableItem>>(new Set([]))
423-
const isSelecting = computed(() => selectedItems.value.size > 0)
424-
425428
const notifySelectionEvent = () => {
426429
if (!selectableBoolean.value) return
427430
emit('selection', Array.from(selectedItems.value))
428431
}
432+
429433
const handleRowSelection = (row: TableItem, index: number, shiftClicked = false) => {
430434
if (!selectableBoolean.value) return
431435
@@ -517,6 +521,7 @@ const getFieldColumnClasses = (field: TableFieldObject) => [
517521
'b-table-sticky-column': field.stickyColumn,
518522
},
519523
]
524+
520525
const getFieldRowClasses = (field: TableFieldObject, tr: TableItem) => [
521526
field.class,
522527
field.tdClass,
@@ -575,22 +580,6 @@ const unselectRow = (index: number) => {
575580
notifySelectionEvent()
576581
}
577582
578-
onMounted(() => {
579-
if (usesProvider.value) {
580-
callItemsProvider()
581-
}
582-
})
583-
584-
watch(
585-
() => props.filter,
586-
(filter, oldFilter) => {
587-
if (filter === oldFilter || usesProvider.value) return
588-
if (!filter) {
589-
cloneDeepAsync(props.items).then((item) => emit('filtered', item))
590-
}
591-
}
592-
)
593-
594583
const providerPropsWatch = async (prop: string, val: any, oldVal: any) => {
595584
if (val === oldVal) return
596585
@@ -613,6 +602,16 @@ const providerPropsWatch = async (prop: string, val: any, oldVal: any) => {
613602
await callItemsProvider()
614603
}
615604
605+
watch(
606+
() => props.filter,
607+
(filter, oldFilter) => {
608+
if (filter === oldFilter || usesProvider.value) return
609+
if (!filter) {
610+
cloneDeepAsync(props.items).then((item) => emit('filtered', item))
611+
}
612+
}
613+
)
614+
616615
watch(
617616
() => internalBusyFlag.value,
618617
() => internalBusyFlag.value !== busyBoolean.value && emit('update:busy', internalBusyFlag.value)
@@ -642,6 +641,12 @@ watch(
642641
(val, oldVal) => providerPropsWatch('sortDesc', val, oldVal)
643642
)
644643
644+
onMounted(() => {
645+
if (usesProvider.value) {
646+
callItemsProvider()
647+
}
648+
})
649+
645650
defineExpose({
646651
selectAllRows,
647652
clearSelected,

0 commit comments

Comments
 (0)