diff --git a/src/app/app.component.html b/src/app/app.component.html index 83ba2f5..1b29ed9 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -25,7 +25,7 @@ - + diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 82ad08a..cc29b62 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -148,7 +148,6 @@ export class AppComponent implements OnInit { return; } - console.log('firing search'); const modal = await this.modal.create({ component: SearchComponent, }); @@ -167,11 +166,24 @@ export class AppComponent implements OnInit { canManage = true; } } + + if ( !this.menuTarget.data.id ) { + return; + } + + const options = [ + {name: 'Export to HTML', icon: 'fa fa-file-export', value: 'export_html'}, + ]; + + const manageOptions = [ + {name: 'Share Sub-Tree', icon: 'fa fa-share-alt', value: 'share'}, + ]; + const popover = await this.popover.create({ component: OptionMenuComponent, componentProps: { menuItems: [ - ...(!canManage ? [] : [{name: 'Share Sub-Tree', icon: 'person-add', value: 'share'}]), + ...(!canManage ? options : [...options, ...manageOptions]), ], }, event: $event, @@ -187,12 +199,33 @@ export class AppComponent implements OnInit { }).then(modal => { modal.present(); }); + } else if ( result.data === 'export_html' ) { + this.exportTargetAsHTML(); } }); await popover.present(); } + async exportTargetAsHTML() { + const exportRecord: any = await new Promise((res, rej) => { + const reqData = { + format: 'html', + PageId: this.menuTarget.data.id, + }; + + this.api.post(`/exports/subtree`, reqData).subscribe({ + next: (result) => { + res(result.data); + }, + error: rej + }); + }); + + const dlUrl = this.api._build_url(`/exports/${exportRecord.UUID}/download`); + window.open(dlUrl, '_blank'); + } + async onTopLevelCreate() { const alert = await this.alerts.create({ header: 'Create Page', diff --git a/src/app/components/option-menu/option-menu.component.html b/src/app/components/option-menu/option-menu.component.html index 506db30..1dee87c 100644 --- a/src/app/components/option-menu/option-menu.component.html +++ b/src/app/components/option-menu/option-menu.component.html @@ -1,6 +1,6 @@ - + {{ menuItems[i].name }} diff --git a/src/app/components/option-picker/option-picker.component.html b/src/app/components/option-picker/option-picker.component.html index a6dea0b..9bfb0f2 100644 --- a/src/app/components/option-picker/option-picker.component.html +++ b/src/app/components/option-picker/option-picker.component.html @@ -3,10 +3,10 @@ Search Everywhere - + {{ isDark() ? 'To The Light!' : 'Go Dark...' }}