singleActions.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import i18n from '@/locales'
  2. export default {
  3. created () {
  4. this.singleActions = [
  5. {
  6. label: this.$t('helm.upgrade'),
  7. permission: 'k8s_releases_update',
  8. action: async obj => {
  9. this.$router.push({
  10. path: `/k8s-release/update/${obj.id}`,
  11. query: {
  12. cluster: obj.clusterID,
  13. namespace: obj.namespace,
  14. chart: obj.chart,
  15. },
  16. })
  17. },
  18. meta: (obj) => {
  19. const ret = { validate: true }
  20. if (!obj.chart) {
  21. ret.validate = false
  22. return ret
  23. }
  24. return ret
  25. },
  26. },
  27. {
  28. label: this.$t('helm.text_72'),
  29. permission: 'k8s_releases_perform_rollback',
  30. action: async obj => {
  31. this.createDialog('K8SRollbackDialog', {
  32. data: [obj],
  33. columns: this.columns,
  34. onManager: this.onManager,
  35. cluster: obj.clusterID,
  36. namespace: obj.namespace,
  37. })
  38. },
  39. meta: (obj) => {
  40. const ret = { validate: true }
  41. if (!obj.chart) {
  42. ret.validate = false
  43. return ret
  44. }
  45. return ret
  46. },
  47. },
  48. {
  49. label: i18n.t('helm.text_69'),
  50. permission: 'k8s_releases_delete',
  51. action: (obj) => {
  52. const requestParams = {
  53. cluster: obj.clusterID,
  54. }
  55. if (obj.namespace) {
  56. requestParams.namespace = obj.namespace
  57. }
  58. this.createDialog('DeleteResDialog', {
  59. vm: this,
  60. data: [obj],
  61. columns: this.columns,
  62. title: i18n.t('helm.text_69'),
  63. name: i18n.t('helm.text_4'),
  64. onManager: this.onManager,
  65. requestParams,
  66. })
  67. },
  68. },
  69. ]
  70. },
  71. }