+
Chapter {{ ch.ch }}
state.displaySettings.showVerseNumbers
);
+ @ViewChild('passage') passageElement;
+
constructor(
protected elementRef: ElementRef,
private appService: AppService
@@ -38,11 +40,22 @@ export class PassageComponent extends CardComponent implements OnInit {
this.ref = new BibleReference(this.cardItem.qry);
}
- contextMenu() {
- // cardContextMenu(this.profileService, this._actionSheet, this._pagesSvc, this._alertCtrl, this.cardItem);
+ copy() {
+ const html = this.passageElement.nativeElement.innerHTML;
+ const text = this.passageElement.nativeElement.innerText;
+ this.copyToClip(text, html);
}
- copy() {}
+ copyToClip(text: string, html: string) {
+ function listener(e: ClipboardEvent) {
+ e.clipboardData.setData('text/html', html);
+ e.clipboardData.setData('text/plain', text);
+ e.preventDefault();
+ }
+ document.addEventListener('copy', listener);
+ document.execCommand('copy');
+ document.removeEventListener('copy', listener);
+ }
next() {
const lastVerseForEnd = this.ref.Section.end.book.chapters[
diff --git a/app/db/src/app/search/components/search-page/search.page.html b/app/db/src/app/search/components/search-page/search.page.html
index 63e923cf..7b5fe833 100644
--- a/app/db/src/app/search/components/search-page/search.page.html
+++ b/app/db/src/app/search/components/search-page/search.page.html
@@ -22,6 +22,16 @@
+
+
0" [ngIfElse]="nocards">
diff --git a/app/db/src/app/search/components/search-page/search.page.scss b/app/db/src/app/search/components/search-page/search.page.scss
index 67a25559..e29d02e0 100644
--- a/app/db/src/app/search/components/search-page/search.page.scss
+++ b/app/db/src/app/search/components/search-page/search.page.scss
@@ -7,7 +7,8 @@ mat-card {
.search-bar {
width: 100%;
position: relative;
- margin-left: 12px;
+ margin-left: 0.8rem;
+ margin-right: 0.8rem;
}
.search-bar-input {
@@ -42,5 +43,6 @@ mat-card {
}
.search-content {
- height: calc(100vh - 4rem);
+ height: calc(100vh - 5.5rem);
+ padding: 0 1rem 0 1rem;
}
diff --git a/app/db/src/app/search/components/search-page/search.page.ts b/app/db/src/app/search/components/search-page/search.page.ts
index d19f11fe..c8ea5aa6 100644
--- a/app/db/src/app/search/components/search-page/search.page.ts
+++ b/app/db/src/app/search/components/search-page/search.page.ts
@@ -7,6 +7,8 @@ import { AppService } from 'src/app/services/app.service';
import { NavService } from 'src/app/services/nav.service';
import { OpenData, CardItem } from 'src/app/models/app-state';
import { BibleReference } from 'src/app/common/bible-reference';
+import { MatDialog } from '@angular/material/dialog';
+import { VersePickerModalComponent } from '../verse-picker/verse-picker-modal.component';
@Component({
selector: 'app-search-page',
@@ -22,7 +24,8 @@ export class SearchPage implements OnInit {
constructor(
private activatedRoute: ActivatedRoute,
private appService: AppService,
- public navService: NavService
+ public navService: NavService,
+ public dialog: MatDialog
) {}
ngOnInit() {
@@ -42,6 +45,10 @@ export class SearchPage implements OnInit {
// });
}
+ launchPicker() {
+ this.dialog.open(VersePickerModalComponent);
+ }
+
//#region Search
getItemsNextToCard(data: OpenData) {}
diff --git a/app/db/src/app/search/components/verse-picker/verse-picker-modal.component.html b/app/db/src/app/search/components/verse-picker/verse-picker-modal.component.html
new file mode 100644
index 00000000..c7c77758
--- /dev/null
+++ b/app/db/src/app/search/components/verse-picker/verse-picker-modal.component.html
@@ -0,0 +1,57 @@
+
+
+ bookmarks
+ Verse Picker
+
+
+
+
+
+
+
+
+ Old Testament
+
+ New Testament
+
+
+
+
+ {{ book.name }}
+
+
+
+
diff --git a/app/db/src/app/search/components/verse-picker/verse-picker-modal.component.scss b/app/db/src/app/search/components/verse-picker/verse-picker-modal.component.scss
new file mode 100644
index 00000000..648fa34f
--- /dev/null
+++ b/app/db/src/app/search/components/verse-picker/verse-picker-modal.component.scss
@@ -0,0 +1,45 @@
+.button {
+ color: #fff;
+ font-size: 1em;
+ padding: 0.5em;
+ background-color: #1c2e4c;
+ margin: 0.3em;
+ text-align: center;
+ width: 95px;
+ display: inline-block;
+}
+
+.backbutton {
+ width: 100%;
+ font-size: 1.5rem;
+ line-height: 1.5rem;
+ padding: 1rem;
+ margin: 1rem 0 1rem 0;
+
+ mat-icon {
+ line-height: 1.3rem;
+ }
+}
+
+.backbutton:hover:not(.disable-hover) {
+ background-color: var(--passage-color-primary);
+ color: #fff;
+}
+
+h2 {
+ clear: both;
+ margin-top: 1rem;
+}
+
+.close-button {
+ float: right;
+ mat-icon {
+ font-size: 2rem;
+ }
+}
+
+.title {
+ width: 100%;
+ padding-left: 1rem;
+ font-size: 1.5rem;
+}
diff --git a/app/db/src/app/search/components/verse-picker/verse-picker-modal.component.ts b/app/db/src/app/search/components/verse-picker/verse-picker-modal.component.ts
new file mode 100644
index 00000000..e184f4bc
--- /dev/null
+++ b/app/db/src/app/search/components/verse-picker/verse-picker-modal.component.ts
@@ -0,0 +1,38 @@
+import { EventEmitter, Component, Output } from '@angular/core';
+import { BibleReference, Book } from '../../../common/bible-reference';
+import { AppService } from 'src/app/services/app.service';
+import { MatDialogRef } from '@angular/material/dialog';
+
+@Component({
+ selector: 'app-verse-picker',
+ templateUrl: 'verse-picker-modal.component.html',
+ styleUrls: ['./verse-picker-modal.component.scss'],
+})
+export class VersePickerModalComponent {
+ books: Array;
+ hasBook = false;
+ book: Book;
+
+ constructor(
+ public appService: AppService,
+ public dialogRef: MatDialogRef
+ ) {
+ this.hasBook = false;
+ this.books = BibleReference.Books;
+ }
+
+ toBooks() {
+ this.hasBook = false;
+ this.book = null;
+ }
+
+ setBook(book: Book) {
+ this.hasBook = true;
+ this.book = book;
+ }
+
+ setChapter(chapter: number) {
+ // close the control, trigger the passage event.
+ this.dialogRef.close();
+ }
+}
diff --git a/app/db/src/app/services/nav.service.ts b/app/db/src/app/services/nav.service.ts
index 145a66fa..a4d5e1c2 100644
--- a/app/db/src/app/services/nav.service.ts
+++ b/app/db/src/app/services/nav.service.ts
@@ -6,9 +6,11 @@ import { MatSidenav } from '@angular/material/sidenav';
})
export class NavService {
private sidenav: MatSidenav;
+ private settings: MatSidenav;
- public setSidenav(sidenav: MatSidenav) {
+ public setSidenav(sidenav: MatSidenav, settings: MatSidenav) {
this.sidenav = sidenav;
+ this.settings = settings;
}
public open() {
@@ -22,4 +24,8 @@ export class NavService {
public toggle(): void {
this.sidenav.toggle();
}
+
+ public toggleSettings(): void {
+ this.settings.toggle();
+ }
}
diff --git a/app/db/src/styles/app.scss b/app/db/src/styles/app.scss
index 83fda4ea..c97d0a26 100644
--- a/app/db/src/styles/app.scss
+++ b/app/db/src/styles/app.scss
@@ -100,12 +100,12 @@ a {
mat-h2,
.mat-title,
.mat-typography h2 {
- font-size: calc(var(--font-size) * 1.7) !important;
- line-height: calc(var(--font-size) * 1.9) !important;
+ font-size: calc(var(--font-size) * 1.5) !important;
+ line-height: calc(var(--font-size) * 1.7) !important;
}
.mat-h3,
.mat-subheading-2,
.mat-typography h3 {
- font-size: calc(var(--font-size) * 1.2) !important;
- line-height: calc(var(--font-size) * 1.4) !important;
+ font-size: calc(var(--font-size) * 1.1) !important;
+ line-height: calc(var(--font-size) * 1.2) !important;
}