/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { defineComponent, onMounted, ref, toRefs } from 'vue'
import {
NButton,
NInput,
NIcon,
NDataTable,
NPagination,
NSpace
} from 'naive-ui'
import Card from '@/components/card'
import DetailModal from './detail'
import { SearchOutlined } from '@vicons/antd'
import { useI18n } from 'vue-i18n'
import { useColumns } from './use-columns'
import { useTable } from './use-table'
import styles from './index.module.scss'
const list = defineComponent({
name: 'list',
setup() {
const { t } = useI18n()
let showDetailModal = ref(false)
let selectId = ref()
const { columnsRef } = useColumns((id: number, type: 'edit' | 'delete') => {
if (type === 'edit') {
showDetailModal.value = true
selectId.value = id
} else {
deleteRecord(id)
}
})
const { data, changePage, changePageSize, deleteRecord, updateList } =
useTable()
const onCreate = () => {
selectId.value = null
showDetailModal.value = true
}
onMounted(() => {
changePage(1)
})
return {
t,
showDetailModal,
id: selectId,
columnsRef,
...toRefs(data),
changePage,
changePageSize,
onCreate,
onUpdatedList: updateList
}
},
render() {
const {
t,
id,
showDetailModal,
columnsRef,
list,
page,
pageSize,
itemCount,
loading,
changePage,
changePageSize,
onCreate,
onUpdatedList
} = this
return (
<>
{{
default: () => (
{`${t(
'datasource.create_datasource'
)}`}
)
}}
void (this.showDetailModal = false)}
onUpdate={onUpdatedList}
/>
>
)
}
})
export default list