From 38b401f646543159c71eb87fc732b2973607b7b6 Mon Sep 17 00:00:00 2001 From: Harvey Kandola Date: Tue, 10 Oct 2017 16:02:46 -0400 Subject: [PATCH] improved empty state and dropdown positions --- README.md | 2 +- domain/template/endpoint.go | 2 +- edition/community.go | 2 +- gui/app/components/customize/user-admin.js | 22 +++------ .../document/document-attachments.js | 33 +++++-------- gui/app/components/dropdown-dialog.js | 8 ++- gui/app/components/folder/category-admin.js | 11 ++--- gui/app/components/folder/documents-list.js | 7 +++ gui/app/components/folder/permission-admin.js | 1 + gui/app/components/folder/space-toolbar.js | 3 ++ gui/app/mixins/dropdown.js | 22 +++++++++ gui/app/pods/customize/folders/controller.js | 14 +++--- gui/app/styles/view/common.scss | 25 +++++++--- .../view/document/space-category-tag.scss | 1 + gui/app/styles/view/folder/document.scss | 5 ++ gui/app/styles/view/folder/settings.scss | 12 +++-- .../document/document-attachments.hbs | 2 +- gui/app/templates/components/empty-state.hbs | 4 ++ .../components/folder/documents-list.hbs | 8 +++ .../components/folder/permission-admin.hbs | 46 ++++++++++-------- .../components/folder/space-heading.hbs | 2 +- .../components/folder/space-toolbar.hbs | 2 +- gui/package.json | 2 +- gui/public/assets/img/empty-state-space.gif | Bin 13090 -> 0 bytes meta.json | 8 +-- 25 files changed, 148 insertions(+), 96 deletions(-) create mode 100644 gui/app/templates/components/empty-state.hbs delete mode 100644 gui/public/assets/img/empty-state-space.gif diff --git a/README.md b/README.md index 509a5d15..001dc690 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ Integrations for embedding SaaS data within documents. ## Latest version -v1.54.0 +v1.54.1 ## OS support diff --git a/domain/template/endpoint.go b/domain/template/endpoint.go index 8a6132a7..1bac47aa 100644 --- a/domain/template/endpoint.go +++ b/domain/template/endpoint.go @@ -262,7 +262,7 @@ func (h *Handler) Use(w http.ResponseWriter, r *http.Request) { var d = doc.Document{} d.Title = docTitle d.Location = fmt.Sprintf("template-%s", templateID) - d.Excerpt = "A new document" + d.Excerpt = "Add detailed description for document..." d.Slug = stringutil.MakeSlug(d.Title) d.Tags = "" d.LabelID = folderID diff --git a/edition/community.go b/edition/community.go index 39fd34ac..41f17c66 100644 --- a/edition/community.go +++ b/edition/community.go @@ -42,7 +42,7 @@ func main() { rt.Product = env.ProdInfo{} rt.Product.Major = "1" rt.Product.Minor = "54" - rt.Product.Patch = "0" + rt.Product.Patch = "1" rt.Product.Version = fmt.Sprintf("%s.%s.%s", rt.Product.Major, rt.Product.Minor, rt.Product.Patch) rt.Product.Edition = "Community" rt.Product.Title = fmt.Sprintf("%s Edition", rt.Product.Edition) diff --git a/gui/app/components/customize/user-admin.js b/gui/app/components/customize/user-admin.js index 20fbdaf0..52fef106 100644 --- a/gui/app/components/customize/user-admin.js +++ b/gui/app/components/customize/user-admin.js @@ -114,19 +114,14 @@ export default Ember.Component.extend(AuthProvider, DropdownMixin, { this.closeDropdown(); - let drop = new Drop({ + let dropOptions = Object.assign(this.get('dropDefaults'), { target: $(".edit-button-" + id)[0], content: $(".edit-user-dialog")[0], classes: 'drop-theme-basic', position: "bottom right", - openOn: "always", - tetherOptions: { - offset: "5px 0", - targetOffset: "10px 0" - }, - remove: false - }); + remove: false}); + let drop = new Drop(dropOptions); self.set('dropdown', drop); drop.on('open', function () { @@ -141,19 +136,14 @@ export default Ember.Component.extend(AuthProvider, DropdownMixin, { this.closeDropdown(); - let drop = new Drop({ + let dropOptions = Object.assign(this.get('dropDefaults'), { target: $(".delete-button-" + id)[0], content: $(".delete-user-dialog")[0], classes: 'drop-theme-basic', position: "bottom right", - openOn: "always", - tetherOptions: { - offset: "5px 0", - targetOffset: "10px 0" - }, - remove: false - }); + remove: false}); + let drop = new Drop(dropOptions); this.set('dropdown', drop); }, diff --git a/gui/app/components/document/document-attachments.js b/gui/app/components/document/document-attachments.js index 97f220db..2d55022c 100644 --- a/gui/app/components/document/document-attachments.js +++ b/gui/app/components/document/document-attachments.js @@ -12,11 +12,12 @@ import Ember from 'ember'; import NotifierMixin from '../../mixins/notifier'; import TooltipMixin from '../../mixins/tooltip'; +import DropdownMixin from '../../mixins/dropdown'; -export default Ember.Component.extend(NotifierMixin, TooltipMixin, { +export default Ember.Component.extend(NotifierMixin, TooltipMixin, DropdownMixin, { documentService: Ember.inject.service('document'), appMeta: Ember.inject.service(), - drop: null, + dropdown: null, hasAttachments: Ember.computed.notEmpty('files'), deleteAttachment: { id: "", @@ -78,11 +79,7 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, { willDestroyElement() { this._super(...arguments); - - let drop = this.get('drop'); - if (is.not.null(drop)) { - drop.destroy(); - } + this.destroyDropdown(); }, getAttachments() { @@ -100,25 +97,21 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, { $(".delete-attachment-dialog").css("display", "block"); - let drop = new Drop({ + this.closeDropdown(); + + let dropOptions = Object.assign(this.get('dropDefaults'), { target: $(".delete-attachment-" + id)[0], content: $(".delete-attachment-dialog")[0], classes: 'drop-theme-basic', position: "bottom right", - openOn: "always", - tetherOptions: { - offset: "5px 0", - targetOffset: "10px 0" - }, - remove: false - }); + remove: false}); - this.set('drop', drop); + let drop = new Drop(dropOptions); + this.set('dropdown', drop); }, onCancel() { - let drop = this.get('drop'); - drop.close(); + this.closeDropdown(); this.set('deleteAttachment', { id: "", @@ -127,9 +120,9 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, { }, onDelete() { + this.closeDropdown(); + let attachment = this.get('deleteAttachment'); - let drop = this.get('drop'); - drop.close(); this.showNotification(`Deleted ${name}`); diff --git a/gui/app/components/dropdown-dialog.js b/gui/app/components/dropdown-dialog.js index ba9986c2..b8e30c71 100644 --- a/gui/app/components/dropdown-dialog.js +++ b/gui/app/components/dropdown-dialog.js @@ -62,7 +62,13 @@ export default Ember.Component.extend({ tetherOptions: { offset: self.offset, targetOffset: self.targetOffset, - targetModifier: 'scroll-handle' + // targetModifier: 'scroll-handle', + constraints: [ + { + to: 'scrollParent', + attachment: 'together' + } + ], }, remove: true }); diff --git a/gui/app/components/folder/category-admin.js b/gui/app/components/folder/category-admin.js index f1165b34..0b7d3fbc 100644 --- a/gui/app/components/folder/category-admin.js +++ b/gui/app/components/folder/category-admin.js @@ -160,19 +160,14 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, DropdownMixin $(".category-access-dialog").css("display", "block"); - let drop = new Drop({ + let dropOptions = Object.assign(this.get('dropDefaults'), { target: $("#category-access-button-" + catId)[0], content: $(".category-access-dialog")[0], classes: 'drop-theme-basic', position: "bottom right", - openOn: "always", - tetherOptions: { - offset: "5px 0", - targetOffset: "10px 0" - }, - remove: false - }); + remove: false}); + let drop = new Drop(dropOptions); this.set('dropdown', drop); }); }, diff --git a/gui/app/components/folder/documents-list.js b/gui/app/components/folder/documents-list.js index afc2337c..db70590b 100644 --- a/gui/app/components/folder/documents-list.js +++ b/gui/app/components/folder/documents-list.js @@ -12,6 +12,13 @@ import Ember from 'ember'; export default Ember.Component.extend({ + showAdd: Ember.computed('permissions', 'documents', function() { + return this.get('documents.length') === 0 && this.get('permissions.documentAdd'); + }), + showLockout: Ember.computed('permissions', 'documents', function() { + return this.get('documents.length') === 0 && !this.get('permissions.documentAdd'); + }), + actions: { selectDocument(documentId) { let doc = this.get('documents').findBy('id', documentId); diff --git a/gui/app/components/folder/permission-admin.js b/gui/app/components/folder/permission-admin.js index 87169bee..0e7d12f8 100644 --- a/gui/app/components/folder/permission-admin.js +++ b/gui/app/components/folder/permission-admin.js @@ -112,6 +112,7 @@ export default Ember.Component.extend(NotifierMixin, { this.get('folderService').savePermissions(folder.get('id'), payload).then(() => { this.showNotification('Saved permissions'); + this.get('router').transitionTo('folder', folder.get('id'), folder.get('slug')); }); if (is.not.undefined(hasEveryone)) { diff --git a/gui/app/components/folder/space-toolbar.js b/gui/app/components/folder/space-toolbar.js index 997cc2a0..bab8dee4 100644 --- a/gui/app/components/folder/space-toolbar.js +++ b/gui/app/components/folder/space-toolbar.js @@ -34,6 +34,9 @@ export default Ember.Component.extend(NotifierMixin, TooltipMixin, AuthMixin, { newName: '' }, deleteSpaceName: '', + spaceSettings: Ember.computed('permissions', function() { + return this.get('permissions.spaceOwner') || this.get('permissions.spaceManage'); + }), didReceiveAttrs() { this._super(...arguments); diff --git a/gui/app/mixins/dropdown.js b/gui/app/mixins/dropdown.js index fb15df6e..ce2d521e 100644 --- a/gui/app/mixins/dropdown.js +++ b/gui/app/mixins/dropdown.js @@ -26,5 +26,27 @@ export default Ember.Mixin.create({ if (is.not.null(drop) && is.not.null(drop.drop)) { drop.destroy(); } + }, + + dropDefaults: { + // position: "bottom right", + openOn: "always", + tetherOptions: { + offset: "5px 0", + targetOffset: "10px 0", + // targetModifier: 'visible', + // attachment: 'middle right', + // targetAttachment: 'middle right', + constraints: [ + { + to: 'scrollParent', + attachment: 'together' + } + ], + // optimizations: { + // moveElement: false, + // gpu: false + // }, + }, } }); diff --git a/gui/app/pods/customize/folders/controller.js b/gui/app/pods/customize/folders/controller.js index c7e010ef..bbdbfab7 100644 --- a/gui/app/pods/customize/folders/controller.js +++ b/gui/app/pods/customize/folders/controller.js @@ -33,6 +33,7 @@ export default Ember.Controller.extend(NotifierMixin, DropdownMixin, { willDestroyElement() { + this._super(...arguments); this.destroyDropdown(); }, @@ -43,19 +44,16 @@ export default Ember.Controller.extend(NotifierMixin, DropdownMixin, { $(".delete-space-dialog").css("display", "block"); $('#delete-space-name').removeClass('error'); - let drop = new Drop({ + this.closeDropdown(); + + let dropOptions = Object.assign(this.get('dropDefaults'), { target: $("#delete-space-button-" + spaceId)[0], content: $(".delete-space-dialog")[0], classes: 'drop-theme-basic', position: "bottom right", - openOn: "always", - tetherOptions: { - offset: "5px 0", - targetOffset: "10px 0" - }, - remove: false - }); + remove: false}); + let drop = new Drop(dropOptions); this.set('dropdown', drop); }, diff --git a/gui/app/styles/view/common.scss b/gui/app/styles/view/common.scss index d1d96fac..1e3e88ef 100644 --- a/gui/app/styles/view/common.scss +++ b/gui/app/styles/view/common.scss @@ -1,15 +1,24 @@ -.explainer { +.empty-state { text-align: center; + margin: 0 auto; + margin-top: 50px; + max-width: 500px; + padding: 30px; + @include border-radius(5px); + background-color: $color-off-white; + display: block; + opacity: 0.8; - > .empty-state { - margin: 30px 0; - font-size: 1.2rem; + > p { + font-size: 1.5rem; + line-height: 2.5rem; color: $color-gray; + display: block; } - > .normal-state { - margin: 10px; - font-size: 1.2rem; - color: $color-gray; + + > .material-icons { + font-size: 5rem; + color: $color-stroke; } } diff --git a/gui/app/styles/view/document/space-category-tag.scss b/gui/app/styles/view/document/space-category-tag.scss index a7b2249e..90d37b4a 100644 --- a/gui/app/styles/view/document/space-category-tag.scss +++ b/gui/app/styles/view/document/space-category-tag.scss @@ -40,6 +40,7 @@ > .regular-button { margin-right: 10px; + text-transform: lowercase; } > .none { diff --git a/gui/app/styles/view/folder/document.scss b/gui/app/styles/view/folder/document.scss index 7aa15bfa..8d68d194 100644 --- a/gui/app/styles/view/folder/document.scss +++ b/gui/app/styles/view/folder/document.scss @@ -153,6 +153,10 @@ font-size: 1.0rem; margin: 0 0 10px 0; } + + > .regular-button { + margin-bottom: 10px; + } } .category-filter { @@ -161,6 +165,7 @@ > .regular-button { margin-right: 10px; + margin-bottom: 10px; } > .caption { diff --git a/gui/app/styles/view/folder/settings.scss b/gui/app/styles/view/folder/settings.scss index 63229611..891be410 100644 --- a/gui/app/styles/view/folder/settings.scss +++ b/gui/app/styles/view/folder/settings.scss @@ -22,10 +22,16 @@ > .permission-roles-cell { margin: 15px 0 20px 40px; - > .role-category { - color: $color-gray; - font-weight: bold; + > .role-container { + white-space: nowrap; display: inline-block; + margin-bottom: 10px; + + > .role-category { + color: $color-gray; + font-weight: bold; + display: inline-block; + } } > label { diff --git a/gui/app/templates/components/document/document-attachments.hbs b/gui/app/templates/components/document/document-attachments.hbs index 21279b13..aba01b98 100644 --- a/gui/app/templates/components/document/document-attachments.hbs +++ b/gui/app/templates/components/document/document-attachments.hbs @@ -1,4 +1,4 @@ -
+

Attachments

{{#if hasAttachments}}
    diff --git a/gui/app/templates/components/empty-state.hbs b/gui/app/templates/components/empty-state.hbs new file mode 100644 index 00000000..55de4a7c --- /dev/null +++ b/gui/app/templates/components/empty-state.hbs @@ -0,0 +1,4 @@ +
    + directions +

    {{message}}

    +
    diff --git a/gui/app/templates/components/folder/documents-list.hbs b/gui/app/templates/components/folder/documents-list.hbs index f52b09fd..b8e3bca6 100644 --- a/gui/app/templates/components/folder/documents-list.hbs +++ b/gui/app/templates/components/folder/documents-list.hbs @@ -22,4 +22,12 @@
{{/each}}
+{{/if}} + +{{#if showAdd}} + {{empty-state message="You can create new documents via the green + button"}} +{{/if}} + +{{#if showLockout}} + {{empty-state message="It looks like space permissions are preventing you from viewing and creating documents"}} {{/if}} \ No newline at end of file diff --git a/gui/app/templates/components/folder/permission-admin.hbs b/gui/app/templates/components/folder/permission-admin.hbs index 12d94c9b..ca9c7513 100644 --- a/gui/app/templates/components/folder/permission-admin.hbs +++ b/gui/app/templates/components/folder/permission-admin.hbs @@ -8,29 +8,33 @@
{{#each permissions as |permission|}}
-
{{permission.fullname}}
+
{{permission.fullname}} {{if (eq permission.userId session.user.id) '(you)'}}
- Space:  - {{input type="checkbox" id=(concat 'space-role-view-' permission.userId) checked=permission.spaceView}} -    - {{input type="checkbox" id=(concat 'space-role-manage-' permission.userId) checked=permission.spaceManage}} -    - {{input type="checkbox" id=(concat 'space-role-owner-' permission.userId) checked=permission.spaceOwner}} -    +
+ Space:  + {{input type="checkbox" id=(concat 'space-role-view-' permission.userId) checked=permission.spaceView}} +    + {{input type="checkbox" id=(concat 'space-role-manage-' permission.userId) checked=permission.spaceManage}} +    + {{input type="checkbox" id=(concat 'space-role-owner-' permission.userId) checked=permission.spaceOwner}} +    +
     - Document:  - {{input type="checkbox" id=(concat 'doc-role-add-' permission.userId) checked=permission.documentAdd}} -    - {{input type="checkbox" id=(concat 'doc-role-edit-' permission.userId) checked=permission.documentEdit}} -    - {{input type="checkbox" id=(concat 'doc-role-delete-' permission.userId) checked=permission.documentDelete}} -    - {{input type="checkbox" id=(concat 'doc-role-move-' permission.userId) checked=permission.documentMove}} -    - {{input type="checkbox" id=(concat 'doc-role-copy-' permission.userId) checked=permission.documentCopy}} -    - {{input type="checkbox" id=(concat 'doc-role-template-' permission.userId) checked=permission.documentTemplate}} -    +
+ Document:  + {{input type="checkbox" id=(concat 'doc-role-add-' permission.userId) checked=permission.documentAdd}} +    + {{input type="checkbox" id=(concat 'doc-role-edit-' permission.userId) checked=permission.documentEdit}} +    + {{input type="checkbox" id=(concat 'doc-role-delete-' permission.userId) checked=permission.documentDelete}} +    + {{input type="checkbox" id=(concat 'doc-role-move-' permission.userId) checked=permission.documentMove}} +    + {{input type="checkbox" id=(concat 'doc-role-copy-' permission.userId) checked=permission.documentCopy}} +    + {{input type="checkbox" id=(concat 'doc-role-template-' permission.userId) checked=permission.documentTemplate}} +    +
{{/each}} diff --git a/gui/app/templates/components/folder/space-heading.hbs b/gui/app/templates/components/folder/space-heading.hbs index 6e1844e9..6cc33f54 100644 --- a/gui/app/templates/components/folder/space-heading.hbs +++ b/gui/app/templates/components/folder/space-heading.hbs @@ -1,4 +1,4 @@ -
+
{{#unless editMode}}

{{folder.name}}

diff --git a/gui/app/templates/components/folder/space-toolbar.hbs b/gui/app/templates/components/folder/space-toolbar.hbs index ace87352..7ce3b1f8 100644 --- a/gui/app/templates/components/folder/space-toolbar.hbs +++ b/gui/app/templates/components/folder/space-toolbar.hbs @@ -58,7 +58,7 @@
{{/if}} - {{#if permissions.spaceManage}} + {{#if spaceSettings}}
{{#link-to 'folder.settings' folder.id folder.slug}}{{model.document.name}}
diff --git a/gui/package.json b/gui/package.json index 27cfa260..dfcde093 100644 --- a/gui/package.json +++ b/gui/package.json @@ -1,6 +1,6 @@ { "name": "documize", - "version": "1.54.0", + "version": "1.54.1", "description": "The Document IDE", "private": true, "repository": "", diff --git a/gui/public/assets/img/empty-state-space.gif b/gui/public/assets/img/empty-state-space.gif deleted file mode 100644 index cc9600357c669109ef6c2d552e63fb019ff119be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13090 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 MG3@_8P2c-}07h3^?f?J) diff --git a/meta.json b/meta.json index a73376d9..728d3c93 100644 --- a/meta.json +++ b/meta.json @@ -1,16 +1,16 @@ { "community": { - "version": "1.54.0", + "version": "1.54.1", "major": 1, "minor": 54, - "patch": 0 + "patch": 1 }, "enterprise": { - "version": "1.56.0", + "version": "1.56.1", "major": 1, "minor": 56, - "patch": 0 + "patch": 1 } } \ No newline at end of file