github.com/hernad/nomad@v1.6.112/ui/app/components/region-switcher.js (about)

     1  /**
     2   * Copyright (c) HashiCorp, Inc.
     3   * SPDX-License-Identifier: MPL-2.0
     4   */
     5  
     6  import Component from '@ember/component';
     7  import { computed } from '@ember/object';
     8  import { inject as service } from '@ember/service';
     9  import classic from 'ember-classic-decorator';
    10  
    11  @classic
    12  export default class RegionSwitcher extends Component {
    13    @service system;
    14    @service router;
    15    @service store;
    16  
    17    @computed('system.regions')
    18    get sortedRegions() {
    19      return this.get('system.regions').toArray().sort();
    20    }
    21  
    22    gotoRegion(region) {
    23      this.router.transitionTo('jobs', {
    24        queryParams: { region },
    25      });
    26    }
    27  
    28    get keyCommands() {
    29      if (this.sortedRegions.length <= 1) {
    30        return [];
    31      }
    32      return this.sortedRegions.map((region, iter) => {
    33        return {
    34          label: `Switch to ${region} region`,
    35          pattern: ['r', `${iter + 1}`],
    36          action: () => this.gotoRegion(region),
    37        };
    38      });
    39    }
    40  }