diff --git a/domain/document/endpoint.go b/domain/document/endpoint.go index 9ff5042e..07a02ea8 100644 --- a/domain/document/endpoint.go +++ b/domain/document/endpoint.go @@ -491,5 +491,5 @@ type BulkDocumentData struct { Permissions pm.Record `json:"permissions"` Roles pm.DocumentRecord `json:"roles"` Spaces []space.Space `json:"folders"` - Links []link.Link `json:"link"` + Links []link.Link `json:"links"` } diff --git a/gui/app/components/document/document-toc.js b/gui/app/components/document/document-toc.js index 93d1419a..8120a345 100644 --- a/gui/app/components/document/document-toc.js +++ b/gui/app/components/document/document-toc.js @@ -72,9 +72,8 @@ export default Component.extend(TooltipMixin, { this.removeTooltips(); }, - onDocumentPageAdded(pageId) { + onDocumentPageAdded(pageId) { // eslint-disable-line no-unused-vars this.setSize(); - this.send('onGotoPage', pageId); }, setSize() { diff --git a/gui/app/components/document/view-content.js b/gui/app/components/document/view-content.js index 11bb334c..95e7e4c9 100644 --- a/gui/app/components/document/view-content.js +++ b/gui/app/components/document/view-content.js @@ -53,6 +53,8 @@ export default Component.extend(TooltipMixin, { this.setupAddWizard(); this.renderTooltips(); } + + this.jumpToSection(); }, willDestroyElement() { @@ -80,7 +82,9 @@ export default Component.extend(TooltipMixin, { link.orphan = true; } else { if (link.linkType === "section") { - this.get('browser').scrollTo(`#page-${link.targetId}`); + self.get('currentPageId', link.targetId) + self.jumpToSection(); + // self.get('browser').scrollTo(`#page-${link.targetId}`); } } } @@ -147,6 +151,13 @@ export default Component.extend(TooltipMixin, { return this.get('onInsertSection')(model); }, + jumpToSection() { + let cp = this.get('currentPageId'); + if (is.not.empty(cp) && is.not.undefined(cp) && is.not.null(cp)) { + this.get('browser').scrollTo(`#page-${cp}`) + } + }, + actions: { onSavePageAsBlock(block) { let cb = this.get('onSavePageAsBlock'); diff --git a/gui/app/pods/document/index/controller.js b/gui/app/pods/document/index/controller.js index 7f8849cf..a7a9de2d 100644 --- a/gui/app/pods/document/index/controller.js +++ b/gui/app/pods/document/index/controller.js @@ -10,7 +10,6 @@ // https://documize.com import { Promise as EmberPromise } from 'rsvp'; -import { schedule } from '@ember/runloop'; import { inject as service } from '@ember/service'; import Controller from '@ember/controller'; import TooltipMixin from '../../../mixins/tooltip'; @@ -20,8 +19,9 @@ export default Controller.extend(TooltipMixin, { templateService: service('template'), sectionService: service('section'), linkService: service('link'), - currentPageId: '', + // currentPageId: '', tab: 'content', + queryParams: ['currentPageId'], actions: { onTabChange(tab) { @@ -108,6 +108,8 @@ export default Controller.extend(TooltipMixin, { pendingChanges.push({ pageId: pages[i].get('page.id'), level: pages[i].get('page.level') - 1 }); } + this.set('currentPageId', null); + if (deleteChildren) { pendingChanges.push({ pageId: deleteId }); @@ -117,7 +119,6 @@ export default Controller.extend(TooltipMixin, { }); }); } else { - // page delete followed by re-leveling child pages this.get('documentService').deletePage(documentId, deleteId).then(() => { this.get('documentService').fetchPages(this.get('document.id'), this.get('session.user.id')).then((pages) => { this.set('pages', pages); @@ -144,10 +145,8 @@ export default Controller.extend(TooltipMixin, { this.get('document.slug'), newPage.id); } else { - schedule('afterRender', () => { - this.set('currentPageId', newPage.id); - resolve(newPage.id); - }); + this.set('currentPageId', newPage.id); + resolve(newPage.id); } }); }); diff --git a/gui/app/pods/document/index/route.js b/gui/app/pods/document/index/route.js index bf18cffb..a913eb99 100644 --- a/gui/app/pods/document/index/route.js +++ b/gui/app/pods/document/index/route.js @@ -57,5 +57,10 @@ export default Route.extend(AuthenticatedRouteMixin, { controller.set('permissions', model.permissions); controller.set('roles', model.roles); controller.set('blocks', model.blocks); + }, + + activate: function() { + this._super(...arguments); + window.scrollTo(0,0); } }); diff --git a/gui/app/pods/document/index/template.hbs b/gui/app/pods/document/index/template.hbs index def0c8cd..13889349 100644 --- a/gui/app/pods/document/index/template.hbs +++ b/gui/app/pods/document/index/template.hbs @@ -38,11 +38,12 @@ {{#if (eq tab 'content')}} {{document/view-content - document=document links=links pages=pages blocks=blocks + document=document links=links pages=pages blocks=blocks currentPageId=currentPageId folder=folder folders=folders sections=sections permissions=permissions roles=roles onSavePage=(action 'onSavePage') onInsertSection=(action 'onInsertSection') onSavePageAsBlock=(action 'onSavePageAsBlock') onDeleteBlock=(action 'onDeleteBlock') - onCopyPage=(action 'onCopyPage') onMovePage=(action 'onMovePage') onDeletePage=(action 'onPageDeleted') refresh=(action 'refresh')}} + onCopyPage=(action 'onCopyPage') onMovePage=(action 'onMovePage') onDeletePage=(action 'onPageDeleted') + refresh=(action 'refresh')}} {{/if}} {{#if (eq tab 'attachment')}} diff --git a/gui/app/pods/document/section/controller.js b/gui/app/pods/document/section/controller.js index 5b0acf70..ea3f5556 100644 --- a/gui/app/pods/document/section/controller.js +++ b/gui/app/pods/document/section/controller.js @@ -40,7 +40,7 @@ export default Controller.extend({ this.get('model.folder.slug'), this.get('model.document.id'), this.get('model.document.slug'), - { queryParams: { pageId: page.get('id')}}); + { queryParams: { currentPageId: page.get('id')}}); }); }, } diff --git a/gui/app/styles/view/document/wysiwyg.scss b/gui/app/styles/view/document/wysiwyg.scss index 5a006222..1b36541b 100644 --- a/gui/app/styles/view/document/wysiwyg.scss +++ b/gui/app/styles/view/document/wysiwyg.scss @@ -6,6 +6,10 @@ table { border: 1px solid $color-border !important; + th { + border: 1px solid $color-border !important; + } + td { padding: 5px 7px !important; border: 1px solid $color-border !important; diff --git a/gui/app/templates/components/document/content-linker.hbs b/gui/app/templates/components/document/content-linker.hbs index c1aafcac..4e79e4a4 100644 --- a/gui/app/templates/components/document/content-linker.hbs +++ b/gui/app/templates/components/document/content-linker.hbs @@ -53,8 +53,8 @@
-
For content or attachments
- {{focus-input id="content-linker-search" type="input" value=keywords placeholder="keyword search" autocomplete="off"}} + {{focus-input id="content-linker-search" type="input" class="form-control" value=keywords placeholder="keyword search" autocomplete="off"}} + Document name, content, attachment name
{{#unless hasMatches}} Nothing found.