en_btr_frontend/app/components/book.js

47 lines
1017 B
JavaScript

import Component from '@glimmer/component';
import { action } from '@ember/object';
import { inject as service } from '@ember/service';
export default class BookComponent extends Component {
@service('nav-state') navState;
get bookTitle() {
if (typeof this.args.book == 'undefined') {
return '';
}
let string = this.args.book.name.toLowerCase();
if (this.isNumber(string.charAt(0))) {
return string.slice(0,1) + ' ' + string.charAt(2).toUpperCase() + string.slice(3);
} else {
return string.charAt(0).toUpperCase() + string.slice(1);
}
}
@action
selectBook() {
this.args.showChapters(this.args.book);
this.navState.setBook(this.args.book);
}
isNumber(char) {
var number = /^[0-9]+$/;
let string = char;
if(string.match(number)) {
return true;
} else {
return false;
}
}
get
selected() {
if(this.navState.isCurrentBook(this.args.book)) {
return "selected";
} else {
return "";
}
}
}