perf:Universal Drawer action assembly

This commit is contained in:
zhaojisen
2024-12-05 19:34:49 +08:00
committed by ZhaoJiSen
parent 5f11d8b54f
commit d6de85ffdd
3 changed files with 17 additions and 18 deletions

View File

@@ -10,8 +10,8 @@
</template>
<script>
import ActionsGroup from '@/components/ActionsGroup/index.vue'
import BaseFormatter from './base.vue'
import ActionsGroup from '@/components/ActionsGroup/index.vue'
const defaultPerformDelete = function({ row, col }) {
const id = row.id
@@ -23,7 +23,9 @@ const defaultPerformDelete = function({ row, col }) {
const defaultUpdateCallback = function({ row, col }) {
const id = row.id
let route = { params: { id: id }}
const updateRoute = this.colActions.updateRoute
if (typeof updateRoute === 'object') {
@@ -33,6 +35,7 @@ const defaultUpdateCallback = function({ row, col }) {
} else {
route.name = updateRoute
}
this.$router.push(route)
}
@@ -106,7 +109,7 @@ export default {
onUpdate: defaultUpdateCallback,
onDelete: defaultDeleteCallback,
onClone: defaultCloneCallback,
extraActions: [] // format see defaultActions
extraActions: []
}
}
}
@@ -145,8 +148,7 @@ export default {
return {
colActions: colActions,
defaultActions: defaultActions,
extraActions: colActions.extraActions,
moreActionsTitle: ''
extraActions: colActions.extraActions
// moreActionsTitle: colActions.moreActionsTitle || null
}
},

View File

@@ -20,10 +20,9 @@
import { GenericListPage } from '@/layout/components'
import { ActionsFormatter } from '@/components/Table/TableFormatters'
import Drawer from '@/components/Drawer/index.vue'
import ViewSecret from '@/components/Apps/AccountListTable/ViewSecret'
import AccountTemplateDetail from '@/views/accounts/AccountTemplate/AccountTemplateDetail/index.vue'
import AccountTemplateUpdate from '@/views/accounts/AccountTemplate/AccountTemplateCreateUpdate.vue'
import Drawer from '@/components/Drawer/index.vue'
// import AccountTemplateDetail from '@/views/accounts/AccountTemplate/AccountTemplateDetail/index.vue'
export default {
name: 'AccountTemplateList',
@@ -31,8 +30,7 @@ export default {
Drawer,
ViewSecret,
GenericListPage,
AccountTemplateUpdate,
AccountTemplateDetail
AccountTemplateUpdate: () => import('@/views/accounts/AccountTemplate/AccountTemplateCreateUpdate.vue')
},
data() {
const vm = this
@@ -78,10 +76,9 @@ export default {
actions: {
formatter: ActionsFormatter,
formatterArgs: {
hasUpdate: true,
hasDelete: true,
hasClone: this.hasClone,
isPam: true,
moreActionsTitle: this.$t('More'),
updateRoute: 'AccountTemplateUpdate',
extraActions: [
{
name: 'View',
@@ -101,8 +98,9 @@ export default {
onUpdate: ({ row }) => {
this.$route.params.id = row.id
this.$route.query.type = 'pam'
this.currentTemplate = 'AccountTemplateUpdate'
this.drawerTitle = this.$t('UpdateAccountTemplate')
this.showTableUpdateDrawer = true
}
}

View File

@@ -9,24 +9,21 @@
<script>
import Drawer from '@/components/Drawer/index.vue'
import AssetDetail from '@/views/assets/Asset/AssetDetail'
import BaseList from '@/views/assets/Asset/AssetList/components/BaseList'
import HostUpdate from '@/views/assets/Asset/AssetCreateUpdate/HostCreateUpdate.vue'
import { ActionsFormatter, DetailFormatter } from '@/components/Table/TableFormatters'
export default {
components: {
Drawer,
BaseList,
HostUpdate,
AssetDetail
HostUpdate: () => import('@/views/assets/Asset/AssetCreateUpdate/HostCreateUpdate.vue')
},
data() {
return {
drawerTitle: '',
currentTemplate: null,
showTableUpdateDrawer: false,
currentTemplate: null,
config: {
url: '/api/v1/assets/assets/',
category: 'all'
@@ -61,6 +58,8 @@ export default {
actions: {
formatter: ActionsFormatter,
formatterArgs: {
isPam: true,
updateRoute: 'HostUpdate',
onUpdate: ({ row }) => {
this.$route.params.id = row.id