columns.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { getNameDescriptionTableColumn, getTimeTableColumn } from '@/utils/common/tableColumn'
  2. import i18n from '@/locales'
  3. import { k8sStatusColumn } from '@K8S/utils/tableColumns'
  4. export default {
  5. created () {
  6. this.columns = [
  7. getNameDescriptionTableColumn({
  8. onManager: this.onManager,
  9. hideField: true,
  10. edit: false,
  11. showDesc: false,
  12. slotCallback: row => {
  13. return (
  14. <side-page-trigger onTrigger={() => this.handleOpenSidepage(row)}>{ row.name }</side-page-trigger>
  15. )
  16. },
  17. }),
  18. {
  19. field: 'namespace',
  20. title: i18n.t('k8s.text_23'),
  21. width: 120,
  22. sortable: true,
  23. },
  24. k8sStatusColumn(),
  25. {
  26. field: 'endpoints',
  27. title: i18n.t('k8s.text_240'),
  28. slots: {
  29. default: ({ row }) => {
  30. if (!row.endpoints) return '-'
  31. return row.endpoints.filter(v => v.host).map(v => {
  32. let value = '-'
  33. if (v.host && v.ports) value = `${v.host}:${v.ports}`
  34. if (v.host && !v.ports) value = v.host
  35. return <a-tag>{ value }</a-tag>
  36. })
  37. },
  38. },
  39. },
  40. getTimeTableColumn({ field: 'creationTimestamp', fromNow: true, sortable: true }),
  41. ]
  42. },
  43. }