From 75a19a80f98dccf9a544275224fa353edaa05285 Mon Sep 17 00:00:00 2001 From: sauls8t Date: Thu, 6 Dec 2018 14:10:00 +0000 Subject: [PATCH] Replace Bootstrap tooltips/popovers/dropdowns With Ember Attacher component. This commit removes redundant BS code. Co-Authored-By: McMatts --- domain/section/jira/jira.go | 2 +- gui/app/components/customize/user-list.js | 10 +-- gui/app/components/document/add-section.js | 3 +- gui/app/components/document/content-linker.js | 5 +- gui/app/components/document/document-meta.js | 67 +----------------- gui/app/components/document/document-page.js | 3 +- gui/app/components/document/document-toc.js | 5 +- gui/app/components/document/page-heading.js | 11 +-- gui/app/components/document/view-content.js | 15 +--- gui/app/components/folder/documents-list.js | 4 +- .../components/folder/settings-category.js | 10 +-- gui/app/components/layout/top-bar.js | 6 +- .../components/section/base-editor-inline.js | 7 +- .../components/section/code/type-editor.js | 6 +- .../components/section/gemini/type-editor.js | 8 +-- .../components/section/jira/type-editor.js | 5 +- .../components/section/trello/type-editor.js | 9 +-- gui/app/components/spaces/space-list.js | 5 +- gui/app/components/toolbar/for-document.js | 9 +-- gui/app/components/toolbar/for-space.js | 9 +-- gui/app/components/ui/ui-avatar.js | 6 +- gui/app/mixins/tooltip.js | 38 ----------- gui/app/pods/document/index/controller.js | 3 +- gui/app/routes/application.js | 4 +- gui/app/styles/core/bootstrap.scss | 41 ----------- gui/app/styles/core/section/jira.scss | 7 ++ .../components/customize/space-admin.hbs | 6 +- .../components/customize/user-groups.hbs | 10 ++- .../components/customize/user-list.hbs | 5 +- .../components/document/add-section.hbs | 3 +- .../components/document/document-meta.hbs | 6 +- .../components/document/document-toc.hbs | 8 ++- .../components/document/page-heading.hbs | 68 ++++++++++--------- .../components/folder/documents-list.hbs | 9 ++- .../components/folder/settings-category.hbs | 9 ++- .../folder/settings-permissions.hbs | 16 ++--- .../templates/components/layout/top-bar.hbs | 4 +- .../components/section/base-editor-inline.hbs | 5 +- .../components/section/gemini/type-editor.hbs | 3 +- .../components/toolbar/for-document.hbs | 21 ++++-- .../components/toolbar/for-space.hbs | 32 +++++---- gui/app/templates/components/ui/ui-avatar.hbs | 3 +- gui/config/environment.js | 6 +- gui/tests/.eslintrc.js | 1 - 44 files changed, 160 insertions(+), 353 deletions(-) delete mode 100644 gui/app/mixins/tooltip.js diff --git a/domain/section/jira/jira.go b/domain/section/jira/jira.go index cc62f5c8..9b83b606 100644 --- a/domain/section/jira/jira.go +++ b/domain/section/jira/jira.go @@ -324,7 +324,7 @@ const renderTemplate = ` {{ $item.Key }}  - {{ $item.Fields.Status.Name }}  + {{ $item.Fields.Status.Name }}  {{range $comp := $item.Fields.Components}} diff --git a/gui/app/components/customize/user-list.js b/gui/app/components/customize/user-list.js index 12f93de0..54021a0f 100644 --- a/gui/app/components/customize/user-list.js +++ b/gui/app/components/customize/user-list.js @@ -12,12 +12,11 @@ import $ from 'jquery'; import { inject as service } from '@ember/service'; import { schedule, debounce } from '@ember/runloop'; -import TooltipMixin from '../../mixins/tooltip'; import AuthProvider from '../../mixins/auth'; import ModalMixin from '../../mixins/modal'; import Component from '@ember/component'; -export default Component.extend(AuthProvider, ModalMixin, TooltipMixin, { +export default Component.extend(AuthProvider, ModalMixin, { groupSvc: service('group'), editUser: null, deleteUser: null, @@ -46,13 +45,6 @@ export default Component.extend(AuthProvider, ModalMixin, TooltipMixin, { }); this.set('users', users); - - this.renderTooltips(); - }, - - willDestroyElement() { - this._super(...arguments); - this.removeTooltips(); }, onKeywordChange: function () { diff --git a/gui/app/components/document/add-section.js b/gui/app/components/document/add-section.js index c37c5779..e2adc271 100644 --- a/gui/app/components/document/add-section.js +++ b/gui/app/components/document/add-section.js @@ -13,12 +13,11 @@ import $ from 'jquery'; import { empty } from '@ember/object/computed'; import { inject as service } from '@ember/service'; import { computed } from '@ember/object'; -import Tooltips from '../../mixins/tooltip'; import Notifier from '../../mixins/notifier'; import Modals from '../../mixins/modal'; import Component from '@ember/component'; -export default Component.extend(Tooltips, Notifier, Modals, { +export default Component.extend(Notifier, Modals, { documentService: service('document'), sectionService: service('section'), store: service(), diff --git a/gui/app/components/document/content-linker.js b/gui/app/components/document/content-linker.js index 2caa891b..27f511a2 100644 --- a/gui/app/components/document/content-linker.js +++ b/gui/app/components/document/content-linker.js @@ -13,11 +13,10 @@ import { debounce } from '@ember/runloop'; import { computed, set } from '@ember/object'; import { inject as service } from '@ember/service'; import stringUtil from '../../utils/string'; -import TooltipMixin from '../../mixins/tooltip'; import ModalMixin from '../../mixins/modal'; import Component from '@ember/component'; -export default Component.extend(ModalMixin, TooltipMixin, { +export default Component.extend(ModalMixin, { link: service(), linkName: '', selection: null, @@ -71,12 +70,10 @@ export default Component.extend(ModalMixin, TooltipMixin, { this._super(...arguments); this.$('#content-linker-networklocation').removeClass('is-invalid'); - this.renderTooltips(); }, willDestroyElement() { this._super(...arguments); - this.removeTooltips(); this.modalClose(this.get('modalId')); }, diff --git a/gui/app/components/document/document-meta.js b/gui/app/components/document/document-meta.js index b0df5b62..6a14fd4e 100644 --- a/gui/app/components/document/document-meta.js +++ b/gui/app/components/document/document-meta.js @@ -9,21 +9,18 @@ // // https://documize.com -import $ from 'jquery'; import { A } from '@ember/array'; import { computed } from '@ember/object'; import { notEmpty } from '@ember/object/computed'; import { inject as service } from '@ember/service'; import Modals from '../../mixins/modal'; -import Tooltips from '../../mixins/tooltip'; import Component from '@ember/component'; -export default Component.extend(Modals, Tooltips, { +export default Component.extend(Modals, { documentService: service('document'), sessionService: service('session'), categoryService: service('category'), router: service(), - contributorMsg: '', approverMsg: '', userChanges: notEmpty('contributorMsg'), @@ -79,69 +76,9 @@ export default Component.extend(Modals, Tooltips, { this._super(...arguments); this.workflowStatus(); - this.popovers(); this.load(); }, - didInsertElement() { - this._super(...arguments); - - this.popovers(); - this.renderTooltips(); - }, - - willDestroyElement() { - this._super(...arguments); - - $('#document-lifecycle-popover').popover('dispose'); - $('#document-protection-popover').popover('dispose'); - this.removeTooltips(); - }, - - popovers() { - let constants = this.get('constants'); - - if (this.get('permissions.documentLifecycle')) { - $('#document-lifecycle-popover').addClass('cursor-pointer'); - } else { - $('#document-lifecycle-popover').popover('dispose'); - $('#document-lifecycle-popover').removeClass('cursor-pointer'); - - $('#document-lifecycle-popover').popover({ - html: true, - title: 'Lifecycle', - content: "

Draft — restricted visiblity and not searchable

Live — document visible to all

Archived — not visible or searchable

", - placement: 'top', - trigger: 'hover click' - }); - } - - if (this.get('permissions.documentApprove')) { - $('#document-protection-popover').addClass('cursor-pointer'); - } else { - $('#document-protection-popover').popover('dispose'); - $('#document-protection-popover').removeClass('cursor-pointer'); - - let ccMsg = `

${this.changeControlMsg}

`; - - if (this.get('document.protection') === constants.ProtectionType.Review) { - ccMsg += '' - } - - $('#document-protection-popover').popover({ - html: true, - title: 'Change Control', - content: ccMsg, - placement: 'top', - trigger: 'hover click' - }); - } - }, - workflowStatus() { let pages = this.get('pages'); let contributorMsg = ''; @@ -175,8 +112,6 @@ export default Component.extend(Modals, Tooltips, { this.set('approverMsg', approverMsg); this.set('selectedVersion', this.get('versions').findBy('documentId', this.get('document.id'))); - - this.popovers(); }, load() { diff --git a/gui/app/components/document/document-page.js b/gui/app/components/document/document-page.js index 04a8d203..457bcf9e 100644 --- a/gui/app/components/document/document-page.js +++ b/gui/app/components/document/document-page.js @@ -11,9 +11,8 @@ import { inject as service } from '@ember/service'; import Component from '@ember/component'; -import TooltipMixin from '../../mixins/tooltip'; -export default Component.extend(TooltipMixin, { +export default Component.extend({ documentService: service('document'), sectionService: service('section'), editMode: false, diff --git a/gui/app/components/document/document-toc.js b/gui/app/components/document/document-toc.js index 87e3c0a6..f3a32b2e 100644 --- a/gui/app/components/document/document-toc.js +++ b/gui/app/components/document/document-toc.js @@ -13,10 +13,9 @@ import { computed } from '@ember/object'; import { schedule } from '@ember/runloop'; import { inject as service } from '@ember/service'; import tocUtil from '../../utils/toc'; -import TooltipMixin from '../../mixins/tooltip'; import Component from '@ember/component'; -export default Component.extend(TooltipMixin, { +export default Component.extend({ documentService: service('document'), emptyState: computed('pages', function () { return this.get('pages.length') === 0; @@ -54,13 +53,11 @@ export default Component.extend(TooltipMixin, { didInsertElement() { this._super(...arguments); this.eventBus.subscribe('documentPageAdded', this, 'onDocumentPageAdded'); - this.renderTooltips(); }, willDestroyElement() { this._super(...arguments); this.eventBus.unsubscribe('documentPageAdded'); - this.removeTooltips(); }, onDocumentPageAdded(pageId) { diff --git a/gui/app/components/document/page-heading.js b/gui/app/components/document/page-heading.js index b7087ecf..330a901e 100644 --- a/gui/app/components/document/page-heading.js +++ b/gui/app/components/document/page-heading.js @@ -13,12 +13,11 @@ import $ from 'jquery'; import { computed } from '@ember/object'; import { debounce } from '@ember/runloop'; import { inject as service } from '@ember/service'; -import Tooltips from '../../mixins/tooltip'; import ModalMixin from '../../mixins/modal'; import tocUtil from '../../utils/toc'; import Component from '@ember/component'; -export default Component.extend(ModalMixin, Tooltips, { +export default Component.extend(ModalMixin, { documentService: service('document'), searchService: service('search'), router: service(), @@ -78,14 +77,6 @@ export default Component.extend(ModalMixin, Tooltips, { this.setState(this.get('page.id')); }, - didInsertElement() { - this._super(...arguments); - - if (this.get('session.authenticated')) { - this.renderTooltips(); - } - }, - searchDocs() { let payload = { keywords: this.get('docSearchFilter').trim(), doc: true }; if (payload.keywords.length == 0) return; diff --git a/gui/app/components/document/view-content.js b/gui/app/components/document/view-content.js index bc7d11c2..774e37de 100644 --- a/gui/app/components/document/view-content.js +++ b/gui/app/components/document/view-content.js @@ -13,11 +13,10 @@ import $ from 'jquery'; import { notEmpty } from '@ember/object/computed'; import { inject as service } from '@ember/service'; import { computed } from '@ember/object'; -import TooltipMixin from '../../mixins/tooltip'; import Notifier from '../../mixins/notifier'; import Component from '@ember/component'; -export default Component.extend(TooltipMixin, Notifier, { +export default Component.extend(Notifier, { documentService: service('document'), sectionService: service('section'), store: service(), @@ -49,21 +48,9 @@ export default Component.extend(TooltipMixin, Notifier, { didInsertElement() { this._super(...arguments); - if (this.get('session.authenticated')) { - this.renderTooltips(); - } - this.jumpToSection(this.get('currentPageId')); }, - willDestroyElement() { - this._super(...arguments); - - if (this.get('session.authenticated')) { - this.removeTooltips(); - } - }, - contentLinkHandler() { let links = this.get('link'); let doc = this.get('document'); diff --git a/gui/app/components/folder/documents-list.js b/gui/app/components/folder/documents-list.js index 40467845..075e994f 100644 --- a/gui/app/components/folder/documents-list.js +++ b/gui/app/components/folder/documents-list.js @@ -11,10 +11,9 @@ import { computed } from '@ember/object'; import { A } from '@ember/array'; -import TooltipMixin from '../../mixins/tooltip'; import Component from '@ember/component'; -export default Component.extend(TooltipMixin, { +export default Component.extend({ showDeleteDialog: false, showMoveDialog: false, selectedDocuments: A([]), @@ -105,7 +104,6 @@ export default Component.extend(TooltipMixin, { this.set('selectedCaption', list.length > 1 ? 'documents' : 'document'); this.set('selectedDocuments', A(list)); - this.renderTooltips(); } } }); diff --git a/gui/app/components/folder/settings-category.js b/gui/app/components/folder/settings-category.js index b37ca1fc..4154ee6b 100644 --- a/gui/app/components/folder/settings-category.js +++ b/gui/app/components/folder/settings-category.js @@ -12,19 +12,17 @@ import $ from 'jquery'; import { A } from '@ember/array'; import { inject as service } from '@ember/service'; -import TooltipMixin from '../../mixins/tooltip'; import ModalMixin from '../../mixins/modal'; import Notifer from '../../mixins/notifier'; import Component from '@ember/component'; -export default Component.extend(ModalMixin, TooltipMixin, Notifer, { +export default Component.extend(ModalMixin, Notifer, { spaceSvc: service('folder'), groupSvc: service('group'), categorySvc: service('category'), appMeta: service(), store: service(), deleteId: '', - dropdown: null, newCategory: '', init() { @@ -34,13 +32,11 @@ export default Component.extend(ModalMixin, TooltipMixin, Notifer, { didReceiveAttrs() { this._super(...arguments); - this.renderTooltips(); this.load(); }, willDestroyElement() { this._super(...arguments); - this.removeTooltips(); }, load() { @@ -143,13 +139,11 @@ export default Component.extend(ModalMixin, TooltipMixin, Notifer, { onEdit(id) { this.setEdit(id, true); - this.removeTooltips(); }, onEditCancel(id) { this.setEdit(id, false); this.load(); - this.renderTooltips(); }, onSave(id) { @@ -165,8 +159,6 @@ export default Component.extend(ModalMixin, TooltipMixin, Notifer, { this.get('categorySvc').save(cat).then(() => { this.load(); }); - - this.renderTooltips(); }, onShowAccessPicker(catId) { diff --git a/gui/app/components/layout/top-bar.js b/gui/app/components/layout/top-bar.js index fe6682aa..bf4fb3bf 100644 --- a/gui/app/components/layout/top-bar.js +++ b/gui/app/components/layout/top-bar.js @@ -13,10 +13,9 @@ import $ from 'jquery'; import { notEmpty } from '@ember/object/computed'; import { inject as service } from '@ember/service' import ModalMixin from '../../mixins/modal'; -import TooltipMixin from '../../mixins/tooltip'; import Component from '@ember/component'; -export default Component.extend(ModalMixin, TooltipMixin, { +export default Component.extend(ModalMixin, { classNames: ['layout-header', 'non-printable'], tagName: 'header', folderService: service('folder'), @@ -70,8 +69,6 @@ export default Component.extend(ModalMixin, TooltipMixin, { this.eventBus.subscribe('pinChange', this, 'setupPins'); this.setupPins(); } - - this.renderTooltips(); }, setupPins() { @@ -90,7 +87,6 @@ export default Component.extend(ModalMixin, TooltipMixin, { willDestroyElement() { this._super(...arguments); - this.removeTooltips(); this.eventBus.unsubscribe('pinChange'); }, diff --git a/gui/app/components/section/base-editor-inline.js b/gui/app/components/section/base-editor-inline.js index a7459701..72a21f7d 100644 --- a/gui/app/components/section/base-editor-inline.js +++ b/gui/app/components/section/base-editor-inline.js @@ -12,11 +12,10 @@ import $ from 'jquery'; import { empty } from '@ember/object/computed'; import { computed } from '@ember/object'; -import TooltipMixin from '../../mixins/tooltip'; import ModalMixin from '../../mixins/modal'; import Component from '@ember/component'; -export default Component.extend(TooltipMixin, ModalMixin, { +export default Component.extend(ModalMixin, { busy: false, mousetrap: null, showLinkModal: false, @@ -57,15 +56,11 @@ export default Component.extend(TooltipMixin, ModalMixin, { $('#' + this.get('pageId')).focus(function() { $(this).select(); }); - - this.renderTooltips(); }, willDestroyElement() { this._super(...arguments); - this.removeTooltips(); - let mousetrap = this.get('mousetrap'); if (is.not.null(mousetrap)) { mousetrap.unbind('esc'); diff --git a/gui/app/components/section/code/type-editor.js b/gui/app/components/section/code/type-editor.js index 235cc177..3c5d51cd 100644 --- a/gui/app/components/section/code/type-editor.js +++ b/gui/app/components/section/code/type-editor.js @@ -10,10 +10,9 @@ // https://documize.com import { computed } from '@ember/object'; -import TooltipMixin from '../../../mixins/tooltip'; import Component from '@ember/component'; -export default Component.extend(TooltipMixin, { +export default Component.extend({ isDirty: false, pageBody: "", codeSyntax: null, @@ -100,9 +99,6 @@ export default Component.extend(TooltipMixin, { editor = null; this.set('codeEditor', null); } - - this.removeTooltips(); - }, // Wrap code in PRE tag with language identifier for subsequent rendering. diff --git a/gui/app/components/section/gemini/type-editor.js b/gui/app/components/section/gemini/type-editor.js index 9cc43c7e..75844317 100644 --- a/gui/app/components/section/gemini/type-editor.js +++ b/gui/app/components/section/gemini/type-editor.js @@ -13,11 +13,10 @@ import $ from 'jquery'; import { set } from '@ember/object'; import { schedule } from '@ember/runloop'; import { inject as service } from '@ember/service'; -import Component from '@ember/component'; import SectionMixin from '../../../mixins/section'; -import TooltipMixin from '../../../mixins/tooltip'; +import Component from '@ember/component'; -export default Component.extend(SectionMixin, TooltipMixin, { +export default Component.extend(SectionMixin, { sectionService: service('section'), isDirty: false, waiting: false, @@ -27,7 +26,7 @@ export default Component.extend(SectionMixin, TooltipMixin, { this._super(...arguments); this.user = {}; this.workspaces = []; - this.config = {}; + this.config = {}; }, didReceiveAttrs() { @@ -92,7 +91,6 @@ export default Component.extend(SectionMixin, TooltipMixin, { schedule('afterRender', () => { window.scrollTo(0, document.body.scrollHeight); - self.renderTooltips(); }); self.set('waiting', false); }, function (reason) { // eslint-disable-line no-unused-vars diff --git a/gui/app/components/section/jira/type-editor.js b/gui/app/components/section/jira/type-editor.js index 78bf8a83..b35de2c6 100644 --- a/gui/app/components/section/jira/type-editor.js +++ b/gui/app/components/section/jira/type-editor.js @@ -10,11 +10,10 @@ // https://documize.com import { inject as service } from '@ember/service'; -import Component from '@ember/component'; import SectionMixin from '../../../mixins/section'; -import TooltipMixin from '../../../mixins/tooltip'; +import Component from '@ember/component'; -export default Component.extend(SectionMixin, TooltipMixin, { +export default Component.extend(SectionMixin, { sectionService: service('section'), isDirty: false, waiting: false, diff --git a/gui/app/components/section/trello/type-editor.js b/gui/app/components/section/trello/type-editor.js index c399f5a9..5c54fc58 100644 --- a/gui/app/components/section/trello/type-editor.js +++ b/gui/app/components/section/trello/type-editor.js @@ -14,12 +14,11 @@ import $ from 'jquery'; import { htmlSafe } from '@ember/string'; import { computed, set } from '@ember/object'; import { inject as service } from '@ember/service'; -import Component from '@ember/component'; import NotifierMixin from '../../../mixins/notifier'; -import TooltipMixin from '../../../mixins/tooltip'; import SectionMixin from '../../../mixins/section'; +import Component from '@ember/component'; -export default Component.extend(SectionMixin, NotifierMixin, TooltipMixin, { +export default Component.extend(SectionMixin, NotifierMixin, { sectionService: service('section'), isDirty: false, busy: false, @@ -93,10 +92,6 @@ export default Component.extend(SectionMixin, NotifierMixin, TooltipMixin, { }); }, - willDestroyElement() { - this.removeTooltips(); - }, - getBoardLists() { this.set('busy', true); diff --git a/gui/app/components/spaces/space-list.js b/gui/app/components/spaces/space-list.js index a9f052a3..14178693 100644 --- a/gui/app/components/spaces/space-list.js +++ b/gui/app/components/spaces/space-list.js @@ -9,12 +9,11 @@ // // https://documize.com -import Component from '@ember/component'; -import TooltipMixin from '../../mixins/tooltip'; import NotifierMixin from '../../mixins/notifier'; import AuthMixin from '../../mixins/auth'; +import Component from '@ember/component'; -export default Component.extend(TooltipMixin, NotifierMixin, AuthMixin, { +export default Component.extend(NotifierMixin, AuthMixin, { hasPublicFolders: false, hasProtectedFolders: false, hasPrivateFolders: false, diff --git a/gui/app/components/toolbar/for-document.js b/gui/app/components/toolbar/for-document.js index f515e8c6..eea1bee0 100644 --- a/gui/app/components/toolbar/for-document.js +++ b/gui/app/components/toolbar/for-document.js @@ -12,12 +12,11 @@ import $ from 'jquery'; import { inject as service } from '@ember/service'; import AuthMixin from '../../mixins/auth'; -import TooltipMixin from '../../mixins/tooltip'; import ModalMixin from '../../mixins/modal'; import Notifier from '../../mixins/notifier'; import Component from '@ember/component'; -export default Component.extend(ModalMixin, TooltipMixin, AuthMixin, Notifier, { +export default Component.extend(ModalMixin, AuthMixin, Notifier, { store: service(), spaceSvc: service('folder'), session: service(), @@ -49,7 +48,6 @@ export default Component.extend(ModalMixin, TooltipMixin, AuthMixin, Notifier, { this.set('pinState.pinId', pinId); this.set('pinState.isPinned', pinId !== ''); this.set('pinState.newName', doc.get('name')); - this.renderTooltips(); }); this.set('saveTemplate.name', this.get('document.name')); @@ -63,7 +61,6 @@ export default Component.extend(ModalMixin, TooltipMixin, AuthMixin, Notifier, { willDestroyElement() { this._super(...arguments); - this.removeTooltips(); }, actions: { @@ -80,11 +77,9 @@ export default Component.extend(ModalMixin, TooltipMixin, AuthMixin, Notifier, { onUnpin() { this.get('pinned').unpinItem(this.get('pinState.pinId')).then(() => { - $('#document-pin-button').tooltip('dispose'); this.set('pinState.isPinned', false); this.set('pinState.pinId', ''); this.eventBus.publish('pinChange'); - this.renderTooltips(); }); }, @@ -96,11 +91,9 @@ export default Component.extend(ModalMixin, TooltipMixin, AuthMixin, Notifier, { }; this.get('pinned').pinItem(pin).then((pin) => { - $('#document-pin-button').tooltip('dispose'); this.set('pinState.isPinned', true); this.set('pinState.pinId', pin.get('id')); this.eventBus.publish('pinChange'); - this.renderTooltips(); }); return true; diff --git a/gui/app/components/toolbar/for-space.js b/gui/app/components/toolbar/for-space.js index 5087c123..9659e7b1 100644 --- a/gui/app/components/toolbar/for-space.js +++ b/gui/app/components/toolbar/for-space.js @@ -13,13 +13,12 @@ import $ from 'jquery'; import { computed } from '@ember/object'; import { schedule } from '@ember/runloop'; import { inject as service } from '@ember/service'; -import TooltipMixin from '../../mixins/tooltip'; import ModalMixin from '../../mixins/modal'; import AuthMixin from '../../mixins/auth'; import Notifier from '../../mixins/notifier'; import Component from '@ember/component'; -export default Component.extend(ModalMixin, TooltipMixin, AuthMixin, Notifier, { +export default Component.extend(ModalMixin, AuthMixin, Notifier, { spaceService: service('folder'), localStorage: service(), templateService: service('template'), @@ -75,7 +74,6 @@ export default Component.extend(ModalMixin, TooltipMixin, AuthMixin, Notifier, { this.set('pinState.pinId', pinId); this.set('pinState.isPinned', pinId !== ''); this.set('pinState.newName', folder.get('name')); - this.renderTooltips(); }); let cats = this.get('categories'); @@ -92,7 +90,6 @@ export default Component.extend(ModalMixin, TooltipMixin, AuthMixin, Notifier, { willDestroyElement() { this._super(...arguments); - this.removeTooltips(); if (is.not.null(this.get('dropzone'))) { this.get('dropzone').destroy(); @@ -152,11 +149,9 @@ export default Component.extend(ModalMixin, TooltipMixin, AuthMixin, Notifier, { actions: { onUnpin() { this.get('pinned').unpinItem(this.get('pinState.pinId')).then(() => { - $('#space-pin-button').tooltip('dispose'); this.set('pinState.isPinned', false); this.set('pinState.pinId', ''); this.eventBus.publish('pinChange'); - this.renderTooltips(); }); }, @@ -168,11 +163,9 @@ export default Component.extend(ModalMixin, TooltipMixin, AuthMixin, Notifier, { }; this.get('pinned').pinItem(pin).then((pin) => { - $('#space-pin-button').tooltip('dispose'); this.set('pinState.isPinned', true); this.set('pinState.pinId', pin.get('id')); this.eventBus.publish('pinChange'); - this.renderTooltips(); }); return true; diff --git a/gui/app/components/ui/ui-avatar.js b/gui/app/components/ui/ui-avatar.js index a1d61d78..e790b207 100644 --- a/gui/app/components/ui/ui-avatar.js +++ b/gui/app/components/ui/ui-avatar.js @@ -10,10 +10,6 @@ // https://documize.com import Component from '@ember/component'; -import TooltipMixin from '../../mixins/tooltip'; -export default Component.extend(TooltipMixin, { - didRender() { - this.renderTooltips(); - }, +export default Component.extend({ }); diff --git a/gui/app/mixins/tooltip.js b/gui/app/mixins/tooltip.js deleted file mode 100644 index c92b30a0..00000000 --- a/gui/app/mixins/tooltip.js +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2016 Documize Inc. . All rights reserved. -// -// This software (Documize Community Edition) is licensed under -// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html -// -// You can operate outside the AGPL restrictions by purchasing -// Documize Enterprise Edition and obtaining a commercial license -// by contacting . -// -// https://documize.com - -import $ from 'jquery'; -import Mixin from '@ember/object/mixin'; -import { schedule } from '@ember/runloop'; - -export default Mixin.create({ - renderTooltips() { - schedule('afterRender', () => { - $('[data-toggle="tooltip"]').tooltip('dispose'); - $('body').tooltip({selector: '[data-toggle="tooltip"]', delay: { "show": 1000, "hide": 100 }}); - }); - }, - - removeTooltips() { - $('[data-toggle="tooltip"]').tooltip('dispose'); - }, - - renderPopovers() { - schedule('afterRender', () => { - $('[data-toggle="popover"]').popover('dispose'); - $('body').popover({selector: '[data-toggle="popover"]', delay: 250}); - }); - }, - - removePopovers() { - $('[data-toggle="tooltip"]').popover('dispose'); - } -}); diff --git a/gui/app/pods/document/index/controller.js b/gui/app/pods/document/index/controller.js index bd28c241..add37c63 100644 --- a/gui/app/pods/document/index/controller.js +++ b/gui/app/pods/document/index/controller.js @@ -12,11 +12,10 @@ import { Promise as EmberPromise } from 'rsvp'; import { inject as service } from '@ember/service'; import { computed } from '@ember/object'; -import Tooltips from '../../../mixins/tooltip'; import Notifier from '../../../mixins/notifier'; import Controller from '@ember/controller'; -export default Controller.extend(Tooltips, Notifier, { +export default Controller.extend(Notifier, { documentService: service('document'), templateService: service('template'), sectionService: service('section'), diff --git a/gui/app/routes/application.js b/gui/app/routes/application.js index 3b54d40d..8bc7f1de 100644 --- a/gui/app/routes/application.js +++ b/gui/app/routes/application.js @@ -12,10 +12,9 @@ import { inject as service } from '@ember/service'; import ApplicationRouteMixin from 'ember-simple-auth/mixins/application-route-mixin'; import netUtil from '../utils/net'; -import TooltipMixin from '../mixins/tooltip'; import Route from '@ember/routing/route'; -export default Route.extend(ApplicationRouteMixin, TooltipMixin, { +export default Route.extend(ApplicationRouteMixin, { appMeta: service(), session: service(), pinned: service(), @@ -55,7 +54,6 @@ export default Route.extend(ApplicationRouteMixin, TooltipMixin, { actions: { willTransition: function( /*transition*/ ) { Mousetrap.reset(); - this.removeTooltips(); }, error(error, transition) { diff --git a/gui/app/styles/core/bootstrap.scss b/gui/app/styles/core/bootstrap.scss index 8ce20717..f00a676f 100644 --- a/gui/app/styles/core/bootstrap.scss +++ b/gui/app/styles/core/bootstrap.scss @@ -25,15 +25,6 @@ $secondary: map-get($gray-shades, 600); $light: $color-white; $dark: $color-black-light-1; -// popover -$popover-bg: $color-white; -$popover-header-bg: map-get($gray-shades, 800); -$popover-header-color: $color-white; - -// tooltip -$tooltip-bg: map-get($gray-shades, 800); -$tooltip-color: $color-white; - // modal $modal-backdrop-opacity: 0.5; $modal-header-border-color: $color-white; @@ -53,14 +44,6 @@ $border-radius: .125rem; $border-radius-lg: .15rem; $border-radius-sm: .1rem; -// dropdown -$dropdown-link-color: $color-black-light-1; -$dropdown-link-hover-color: $color-link; -$dropdown-link-hover-bg: $color-white; -$dropdown-link-active-color: $color-link; -$dropdown-link-active-bg: $color-white; -$dropdown-header-color: $color-black; - // form $input-color: $color-black-light-1; $input-border-color: map-get($gray-shades, 200); @@ -110,16 +93,12 @@ $link-hover-decoration: none; @import "node_modules/bootstrap/scss/grid"; @import "node_modules/bootstrap/scss/buttons"; @import "node_modules/bootstrap/scss/button-group"; -@import "node_modules/bootstrap/scss/dropdown"; @import "node_modules/bootstrap/scss/forms"; @import "node_modules/bootstrap/scss/custom-forms"; @import "node_modules/bootstrap/scss/input-group"; @import "node_modules/bootstrap/scss/modal"; @import "node_modules/bootstrap/scss/utilities"; -@import "node_modules/bootstrap/scss/popover"; -@import "node_modules/bootstrap/scss/tooltip"; @import "node_modules/bootstrap/scss/tables"; -@import "node_modules/bootstrap/scss/badge"; // Boostrap overrides .modal-80 { @@ -148,26 +127,6 @@ body.modal-open { } } -.popover-header { - font-size: 1.2rem; -} - -.popover-body { - font-size: 1rem; - - > p { - margin: 0.5rem 0; - } - - > ul { - margin: 10px 0 10px 25px; - - > li { - list-style: square; - } - } -} - .btn { text-transform: uppercase; font-weight: 600; diff --git a/gui/app/styles/core/section/jira.scss b/gui/app/styles/core/section/jira.scss index 4c6a396a..369cc677 100644 --- a/gui/app/styles/core/section/jira.scss +++ b/gui/app/styles/core/section/jira.scss @@ -16,3 +16,10 @@ height: 16px; width: 16px; } + +.seciton-jira-status { + padding: 3px 5px; + font-size: 0.9rem; + background-color: map-get($yellow-shades, 600); + color: $color-white; +} diff --git a/gui/app/templates/components/customize/space-admin.hbs b/gui/app/templates/components/customize/space-admin.hbs index 4d85842e..1b0fd3d8 100644 --- a/gui/app/templates/components/customize/space-admin.hbs +++ b/gui/app/templates/components/customize/space-admin.hbs @@ -17,12 +17,14 @@ {{#link-to 'folder' space.id space.slug class="alt"}}{{space.name}}{{/link-to}}
-
+
person_add + {{#attach-tooltip showDelay=1000}}Add myself as space owner{{/attach-tooltip}}
-
+
delete + {{#attach-tooltip showDelay=1000}}Delete space and all content{{/attach-tooltip}}
diff --git a/gui/app/templates/components/customize/user-groups.hbs b/gui/app/templates/components/customize/user-groups.hbs index ecdebf80..9f266219 100644 --- a/gui/app/templates/components/customize/user-groups.hbs +++ b/gui/app/templates/components/customize/user-groups.hbs @@ -31,6 +31,7 @@
+

Put these as cards with nice action CTAs

{{#each groups as |group|}}
@@ -49,12 +50,14 @@ {{/if}}
-
+
edit + {{#attach-tooltip showDelay=1000}}Edit group{{/attach-tooltip}}
-
+
delete + {{#attach-tooltip showDelay=1000}}Delete group{{/attach-tooltip}}
@@ -149,7 +152,8 @@
-
+
+ {{#attach-tooltip showDelay=1000}}Number of users to display{{/attach-tooltip}}> diff --git a/gui/app/templates/components/customize/user-list.hbs b/gui/app/templates/components/customize/user-list.hbs index 6f737b5c..61c05672 100644 --- a/gui/app/templates/components/customize/user-list.hbs +++ b/gui/app/templates/components/customize/user-list.hbs @@ -41,7 +41,8 @@
-
+
+ {{#attach-tooltip showDelay=1000}}Number of users to display{{/attach-tooltip}} @@ -157,11 +158,13 @@
mode_edit + {{#attach-tooltip showDelay=1000}}Edit user{{/attach-tooltip}}
{{#unless user.me}}
delete + {{#attach-tooltip showDelay=1000}}Delete user{{/attach-tooltip}}
{{/unless}} diff --git a/gui/app/templates/components/document/add-section.hbs b/gui/app/templates/components/document/add-section.hbs index 33e3db9f..4544e471 100644 --- a/gui/app/templates/components/document/add-section.hbs +++ b/gui/app/templates/components/document/add-section.hbs @@ -38,7 +38,8 @@ {{#if hasBlocks}}
    {{#each blocks as |block|}} -
  • +
  • + {{#attach-tooltip showDelay=1000}}Published by {{block.firstname}} {{block.lastname}}, {{time-ago block.created}} — used {{ block.used }} times{{/attach-tooltip}}
    {{block.title}}
    {{block.excerpt}}
    diff --git a/gui/app/templates/components/document/document-meta.hbs b/gui/app/templates/components/document/document-meta.hbs index f9dc342c..b6a0428d 100644 --- a/gui/app/templates/components/document/document-meta.hbs +++ b/gui/app/templates/components/document/document-meta.hbs @@ -22,15 +22,17 @@
    {{#each selectedCategories as |cat|}} -
    +
    {{cat.category}} + {{#attach-tooltip showDelay=1000}}Category{{/attach-tooltip}}
    {{/each}}
    {{#each tagz as |t index|}} -
    +
    + {{#attach-tooltip showDelay=1000}}Tag{{/attach-tooltip}} {{concat '#' t}}
    {{/each}} diff --git a/gui/app/templates/components/document/document-toc.hbs b/gui/app/templates/components/document/document-toc.hbs index ce019db5..84ca68c2 100644 --- a/gui/app/templates/components/document/document-toc.hbs +++ b/gui/app/templates/components/document/document-toc.hbs @@ -1,7 +1,7 @@