utils.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { PROVIDER_MAP } from '@/constants'
  2. import i18n from '@/locales'
  3. const validateProvider = (rows) => {
  4. for (let i = 0; i < rows.length; i++) {
  5. const row = rows[i]
  6. const notSupport = ['huawei', 'aws', 'qcloud'].includes(row.provider.toLowerCase())
  7. // eslint-disable-next-line no-undef
  8. const label = notSupport ? _.get(PROVIDER_MAP, `[${row.provider}].label`) : ''
  9. const tooltip = label ? i18n.t('network.text_309', [label]) : ''
  10. if (notSupport) {
  11. return {
  12. validate: false,
  13. tooltip,
  14. }
  15. }
  16. }
  17. return {
  18. validate: true,
  19. }
  20. }
  21. export function validateEnabled (rows) {
  22. const rowItem = rows[0]
  23. if (rows.length === 1 && rowItem.status === 'enabled') {
  24. return {
  25. validate: false,
  26. tooltip: i18n.t('network.text_310'),
  27. }
  28. }
  29. return {
  30. validate: true,
  31. ...validateProvider(rows),
  32. }
  33. }
  34. export function validateDisable (rows) {
  35. const rowItem = rows[0]
  36. if (rows.length === 1 && rowItem.status === 'disabled') {
  37. return {
  38. validate: false,
  39. tooltip: i18n.t('network.text_311'),
  40. }
  41. }
  42. return {
  43. validate: true,
  44. ...validateProvider(rows),
  45. }
  46. }