Refactor labels management from HAML to Vue - setup group labels Vue app

Part of &7139

Implementation plan

  1. Introduce a feature flag (group_label_management_vue)
  2. Create a mount element in app/views/groups/labels/index.html.haml#L8
  3. Create an index.vue file in app/assets/javascripts/labels/components that will render navbar.vue and table.vue
  4. Create an index.js file in app/assets/javascripts/labels. Export a function that mounts app/assets/javascripts/labels/components/index.vue
  5. Pass the following permissions to index.js via data attributes:
    • can?(current_user, :admin_label, @project)
    • can?(current_user, :admin_label, label)
  6. Pass the following paths to index.js via data attributes
    • index_path: group_labels_path
    • create_path: new_group_label_path(@group)
    • toggle_subscription_project_label_path: toggle_subscription_project_label_path(project, ':id')
    • toggle_subscription_group_label_path: toggle_subscription_group_label_path(label.group, ':id')
Edited by Peter Hegman