EnvGroup.vue 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <script setup lang="ts">
  2. import env_group, { PostSyncAction } from '@/api/env_group'
  3. import NodeSelector from '@/components/NodeSelector'
  4. import { StdCurd } from '@/components/StdDesign/StdDataDisplay'
  5. import columns from '@/views/environments/group/columns'
  6. </script>
  7. <template>
  8. <StdCurd
  9. :title="$gettext('Node Groups')"
  10. :api="env_group"
  11. :columns="columns"
  12. :scroll-x="600"
  13. sortable
  14. >
  15. <template #edit="{ data }">
  16. <div class="mb-2">
  17. {{ $gettext('Sync Nodes') }}
  18. </div>
  19. <NodeSelector
  20. v-model:target="data.sync_node_ids"
  21. hidden-local
  22. />
  23. <AForm class="mt-4" layout="vertical">
  24. <AFormItem :label="$gettext('Post-sync Action')">
  25. <ASelect
  26. v-model:value="data.post_sync_action"
  27. :placeholder="$gettext('Select an action after sync')"
  28. :default-value="PostSyncAction.ReloadNginx"
  29. class="w-full"
  30. >
  31. <ASelectOption :value="PostSyncAction.None">
  32. {{ $gettext('No Action') }}
  33. </ASelectOption>
  34. <ASelectOption :value="PostSyncAction.ReloadNginx">
  35. {{ $gettext('Reload Nginx') }}
  36. </ASelectOption>
  37. </ASelect>
  38. </AFormItem>
  39. </AForm>
  40. </template>
  41. </StdCurd>
  42. </template>
  43. <style scoped lang="less">
  44. </style>