singleActions.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import i18n from '@/locales'
  2. export default {
  3. created () {
  4. this.singleActions = [
  5. {
  6. label: i18n.t('k8s.text_363'),
  7. permission: 'k8s_storageclasses_perform_set_default',
  8. action: obj => {
  9. new this.$Manager('storageclasses', 'v1').performAction({
  10. id: obj.id,
  11. action: 'set-default',
  12. data: { cluster: obj.cluster },
  13. }).then(() => {
  14. this.refresh()
  15. })
  16. },
  17. meta: obj => {
  18. const meta = {
  19. validate: true,
  20. }
  21. if (obj.isDefault) {
  22. meta.validate = false
  23. }
  24. return meta
  25. },
  26. },
  27. {
  28. label: i18n.t('k8s.text_201'),
  29. permission: 'k8s_storageclasses_delete',
  30. action: (obj) => {
  31. this.createDialog('DeleteResDialog', {
  32. vm: this,
  33. data: [obj],
  34. columns: this.columns,
  35. title: i18n.t('k8s.text_347'),
  36. name: i18n.t('k8s.text_22'),
  37. onManager: this.onManager,
  38. requestData: {
  39. cluster: obj.clusterID,
  40. },
  41. requestParams: {
  42. id: obj.id,
  43. },
  44. })
  45. },
  46. },
  47. {
  48. label: i18n.t('k8s.text_215'),
  49. permission: 'k8s_storageclasses_update',
  50. action: async obj => {
  51. const manager = new this.$Manager('storageclasses', 'v1')
  52. async function fetchData () {
  53. const { data } = await manager.getSpecific({ id: obj.id, spec: 'rawdata' })
  54. return data
  55. }
  56. const configText = await fetchData()
  57. this.createDialog('K8SEditYamlDialog', {
  58. data: [obj],
  59. manager,
  60. refresh: this.refresh,
  61. configText,
  62. })
  63. },
  64. },
  65. ]
  66. },
  67. }