typescript enum default value

Viewed 13954

I am just starting to learn Typescript with the Aurelia framework. I have implemented Matthew Davis's blog TypeScript Enums in Aurelia Templates Using ViewEngineHooks http://davismj.me/blog/template-constants/ to the Aurelia's Todo app.

I would please like to set the default enum value to the 2nd value in the list and is setting the default to the 1st value in the list.

Also I would please like to know if {Todo, Priority} or just {Todo} needs importing as shown in the todo-list.ts

todo.ts

// Pro Tip: By starting our enum at 1, we ensure that all values in the enum are truthy.
export enum Priority {
    High = 1,
    Medium,
    Low
}

export class Todo {
    @observable done;
    //*** Setting priority: Priority = 2 OR priority: Priority = Priority.Medium - Does not change the default from High / 1 ***
    //constructor(public list: TodoList, public description: string, public priority: Priority = 2, public editing: boolean = false) { 
    constructor(public list: TodoList, public description: string, public priority: Priority = Priority.Medium, public editing: boolean = false) { 
        this.list = list;
        this.description = description;
        //*** Setting this.priority = 2 OR this.priority = Priority.Medium - Does not change the default from High / 1 ;
        //this.priority = 2;
        this.priority = Priority.Medium;
        this.editing = false;
    }

todo-list.ts

//*** Is {Todo} OR {Todo, Priority} needed for importing? ***
//import {Todo} from './todo';
import {Todo, Priority} from './todo';
...
  add(description) {
    if (description) {
      //*** Setting (this, description, 2) OR (this, description, Priority.Medium) - Does not change the default from High / 1 ***
      //this.todos.push(new Todo(this, description, 2));
      this.todos.push(new Todo(this, description, Priority.Medium));
      this.invalidateView();
    }
  }

todo.html

<select id="priority" value.bind="type">
  <option value.bind="Priority[type]" repeat.for="type of Prioritys">${type}</option>
</select>
2 Answers
Related