diff --git a/gui/app/components/document/space-category.js b/gui/app/components/document/document-meta.js
similarity index 82%
rename from gui/app/components/document/space-category.js
rename to gui/app/components/document/document-meta.js
index e1923e5c..acb32b47 100644
--- a/gui/app/components/document/space-category.js
+++ b/gui/app/components/document/document-meta.js
@@ -10,19 +10,17 @@
// https://documize.com
import { computed } from '@ember/object';
-
import { inject as service } from '@ember/service';
import Component from '@ember/component';
import { A } from "@ember/array"
-import TooltipMixin from '../../mixins/tooltip';
-import NotifierMixin from '../../mixins/notifier';
-export default Component.extend(TooltipMixin, NotifierMixin, {
+export default Component.extend({
documentService: service('document'),
categoryService: service('category'),
sessionService: service('session'),
newCategory: '',
categories: A([]),
+ showCategoryModal: false,
hasCategories: computed('categories', function() {
return this.get('categories').length > 0;
}),
@@ -53,10 +51,26 @@ export default Component.extend(TooltipMixin, NotifierMixin, {
});
});
});
+
+ let tagz = [];
+ if (!_.isUndefined(this.get('document.tags')) && this.get('document.tags').length > 1) {
+ let tags = this.get('document.tags').split('#');
+ _.each(tags, function(tag) {
+ if (tag.length > 0) {
+ tagz.pushObject(tag);
+ }
+ });
+ }
+
+ this.set('tagz', A(tagz));
},
actions: {
- onSave() {
+ onShowCategoryModal() {
+ this.set('showCategoryModal', true);
+ },
+
+ onSaveCategory() {
let docId = this.get('document.id');
let folderId = this.get('folder.id');
let link = this.get('categories').filterBy('selected', true);
@@ -86,6 +100,8 @@ export default Component.extend(TooltipMixin, NotifierMixin, {
toUnlink.pushObject(t);
});
+ this.set('showCategoryModal', false);
+
this.get('categoryService').setCategoryMembership(toUnlink, 'unlink').then(() => {
this.get('categoryService').setCategoryMembership(toLink, 'link').then(() => {
this.load();
diff --git a/gui/app/pods/document/index/template.hbs b/gui/app/pods/document/index/template.hbs
index 24121090..7d140fc7 100644
--- a/gui/app/pods/document/index/template.hbs
+++ b/gui/app/pods/document/index/template.hbs
@@ -9,35 +9,22 @@
{{/toolbar/t-toolbar}}
{{document/document-heading document=model.document permissions=model.permissions onSaveDocument=(action 'onSaveDocument')}}
+ {{document/document-meta document=model.document folder=model.folder folders=model.folders permissions=model.permissions}}
+ {{document/tag-editor documentTags=model.document.tags permissions=model.permissions onChange=(action 'onTagChange')}}
-
- {{document/document-sidebar tab=tab
- document=model.document folder=model.folder pages=model.pages page=model.page permissions=model.permissions
- onPageSequenceChange=(action 'onPageSequenceChange') onPageLevelChange=(action 'onPageLevelChange')
- onGotoPage=(action 'onGotoPage')}}
-
-
- {{#if model.document.template}}
-
- {{/if}}
+ {{document/document-sidebar tab=tab
+ document=model.document folder=model.folder pages=model.pages page=model.page permissions=model.permissions
+ onPageSequenceChange=(action 'onPageSequenceChange') onPageLevelChange=(action 'onPageLevelChange')
+ onGotoPage=(action 'onGotoPage')}}
{{document/document-view
document=model.document links=model.links pages=model.pages
diff --git a/gui/app/styles/view/document/doc-meta.scss b/gui/app/styles/view/document/doc-meta.scss
index a449b9b8..cd488a91 100644
--- a/gui/app/styles/view/document/doc-meta.scss
+++ b/gui/app/styles/view/document/doc-meta.scss
@@ -23,18 +23,34 @@
> .document-customfields {
margin-bottom: 4rem;
- .heading {
- font-size: 1.1rem;
- font-weight: bold;
- color: $color-gray;
- text-align: left;
- }
+ .row {
+ padding: 5px 0;
+ margin-bottom: 10px;
- .value {
- font-size: 1.1rem;
- font-weight: normal;
- color: $color-black;
- text-align: left;
+ &:hover {
+ .action-button {
+ visibility: visible;
+ }
+ }
+
+ .heading {
+ font-size: 1.1rem;
+ font-weight: bold;
+ color: $color-gray;
+ text-align: left;
+ }
+
+ .action-button {
+ visibility: hidden;
+ margin-left: 15px;
+ }
+
+ .value {
+ font-size: 1.1rem;
+ font-weight: normal;
+ color: $color-black;
+ text-align: left;
+ }
}
}
}
diff --git a/gui/app/styles/view/document/view.scss b/gui/app/styles/view/document/view.scss
index b981c269..f1f4f3ed 100644
--- a/gui/app/styles/view/document/view.scss
+++ b/gui/app/styles/view/document/view.scss
@@ -354,9 +354,3 @@
}
}
}
-
-.document-template-header {
- color: $color-goldy;
- font-size: 1.5em;
- margin-bottom: 20px;
-}
diff --git a/gui/app/templates/components/document/document-heading.hbs b/gui/app/templates/components/document/document-heading.hbs
index 1070fe95..2137ba54 100644
--- a/gui/app/templates/components/document/document-heading.hbs
+++ b/gui/app/templates/components/document/document-heading.hbs
@@ -1,7 +1,12 @@
{{#unless editMode}}
-
{{document.name}}
+
+ {{#if document.template}}
+ Template
+ {{/if}}
+ {{document.name}}
+
{{document.excerpt}}
diff --git a/gui/app/templates/components/document/document-meta.hbs b/gui/app/templates/components/document/document-meta.hbs
new file mode 100644
index 00000000..eb1e922c
--- /dev/null
+++ b/gui/app/templates/components/document/document-meta.hbs
@@ -0,0 +1,48 @@
+
+
+
+
+
Categories
+ {{#if canSelectCategory}}
+
+ edit
+
+ {{/if}}
+
+
+ {{#each selectedCategories as |cat|}}
+ {{#link-to 'folder' folder.id folder.slug (query-params category=cat.id)}}
+ {{cat.category}}
+ {{/link-to}}
+
+ {{else}}
+ {{#if canAddCategory}}
+ {{#if canSelectCategory}}
+
<select>
+ {{else}}
+ {{#link-to 'folder.category' folder.id folder.slug class='non-printable'}}Manage{{/link-to}}
+ {{/if}}
+ {{/if}}
+ {{/each}}
+
+
+
+
+
+
+
+
+{{#if permissions.documentEdit}}
+ {{#ui/ui-dialog title="Set Document Cateogories" confirmCaption="Select" buttonType="btn-outline-success" show=showCategoryModal onAction=(action 'onSaveCategory')}}
+
Select who can view documents within category
+ {{ui/ui-list-picker items=categories nameField='category' singleSelect=false}}
+ {{/ui/ui-dialog}}
+{{/if}}
+
diff --git a/gui/app/templates/components/document/space-category.hbs b/gui/app/templates/components/document/space-category.hbs
deleted file mode 100644
index cad20614..00000000
--- a/gui/app/templates/components/document/space-category.hbs
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
- Categories
-
-
- {{#each selectedCategories as |cat|}}
- {{cat.category}}{{#unless cat.lastObject}}, {{/unless}}
- {{/each}}
-
-
-
-
-
-{{#if canAddCategory}}
- {{#unless canSelectCategory}}
- {{#link-to 'folder.category' folder.id folder.slug class='non-printable'}}Manage{{/link-to}}
- {{/unless}}
-{{else}}
-
-{{/if}}
-
-{{#if canSelectCategory}}
-
- add
-
- {{#dropdown-dialog target="document-category-button" position="bottom right" button="set" color="flat-green" onAction=(action 'onSave')}}
-
Set document categories
-
- {{ui/ui-list-picker items=categories nameField='category'}}
- {{#if canAddCategory}}
- {{#link-to 'folder.category' folder.id folder.slug}}Manage{{/link-to}}
- {{/if}}
-
- {{/dropdown-dialog}}
-{{/if}}
diff --git a/gui/package.json b/gui/package.json
index 8be61bed..4d766259 100644
--- a/gui/package.json
+++ b/gui/package.json
@@ -5,48 +5,49 @@
"private": true,
"repository": "",
"directories": {
- "doc": "doc",
- "test": "tests"
+ "doc": "doc",
+ "test": "tests"
},
"scripts": {
- "build": "ember build",
- "start": "ember server",
- "test": "ember test"
+ "build": "ember build",
+ "start": "ember server",
+ "test": "ember test"
},
"engines": {
- "node": "^4.5 || 6.* || >= 7.*"
+ "node": "^4.5 || 6.* || >= 7.*"
},
"author": "Documize Inc.",
"license": "AGPL",
"devDependencies": {
- "broccoli-asset-rev": "^2.4.5",
- "ember-ajax": "^3.0.0",
- "ember-cli": "^2.16.2",
- "ember-cli-app-version": "^3.0.0",
- "ember-cli-babel": "^6.3.0",
- "ember-cli-dependency-checker": "^2.0.0",
- "ember-cli-eslint": "^4.0.0",
- "ember-cli-htmlbars": "^2.0.1",
- "ember-cli-htmlbars-inline-precompile": "^1.0.0",
- "ember-cli-inject-live-reload": "^1.4.1",
- "ember-cli-mirage": "^0.2.0",
- "ember-cli-qunit": "^4.0.0",
- "ember-cli-sass": "5.3.1",
- "ember-cli-shims": "^1.1.0",
- "ember-cli-sri": "^2.1.0",
- "ember-cli-test-loader": "^1.1.0",
- "ember-cli-uglify": "^1.2.0",
- "ember-data": "2.16.3",
- "ember-export-application-global": "^2.0.0",
- "ember-load-initializers": "^1.0.0",
- "ember-resolver": "^4.0.0",
- "ember-simple-auth": "^1.4.0",
- "ember-source": "^2.16.2",
- "ember-truth-helpers": "^1.3.0",
- "loader.js": "^4.2.3"
+ "broccoli-asset-rev": "^2.4.5",
+ "ember-ajax": "^3.0.0",
+ "ember-cli": "^2.16.2",
+ "ember-cli-app-version": "^3.0.0",
+ "ember-cli-babel": "^6.3.0",
+ "ember-cli-dependency-checker": "^2.0.0",
+ "ember-cli-eslint": "^4.0.0",
+ "ember-cli-htmlbars": "^2.0.1",
+ "ember-cli-htmlbars-inline-precompile": "^1.0.0",
+ "ember-cli-inject-live-reload": "^1.4.1",
+ "ember-cli-mirage": "^0.2.0",
+ "ember-cli-qunit": "^4.0.0",
+ "ember-cli-sass": "5.3.1",
+ "ember-cli-shims": "^1.1.0",
+ "ember-cli-sri": "^2.1.0",
+ "ember-cli-test-loader": "^1.1.0",
+ "ember-cli-uglify": "^1.2.0",
+ "ember-concurrency": "^0.8.12",
+ "ember-data": "2.16.3",
+ "ember-export-application-global": "^2.0.0",
+ "ember-load-initializers": "^1.0.0",
+ "ember-resolver": "^4.0.0",
+ "ember-simple-auth": "^1.4.0",
+ "ember-source": "^2.16.2",
+ "ember-truth-helpers": "^1.3.0",
+ "loader.js": "^4.2.3"
},
"dependencies": {
- "bootstrap": "^4.0.0-beta.2",
- "popper.js": "^1.12.9"
+ "bootstrap": "^4.0.0-beta.2",
+ "popper.js": "^1.12.9"
}
- }
+}
diff --git a/gui/yarn.lock b/gui/yarn.lock
index ccdb7231..034ebf6e 100644
--- a/gui/yarn.lock
+++ b/gui/yarn.lock
@@ -364,7 +364,7 @@ babel-core@^5.0.0:
trim-right "^1.0.0"
try-resolve "^1.0.0"
-babel-core@^6.14.0, babel-core@^6.26.0:
+babel-core@^6.14.0, babel-core@^6.24.1, babel-core@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8"
dependencies:
@@ -2126,6 +2126,24 @@ ember-cli-babel@^6.0.0, ember-cli-babel@^6.0.0-beta.7, ember-cli-babel@^6.3.0, e
clone "^2.0.0"
ember-cli-version-checker "^2.0.0"
+ember-cli-babel@^6.0.0-beta.4:
+ version "6.10.0"
+ resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-6.10.0.tgz#81424acd1d97fb13658168121eeb2007d6edee84"
+ dependencies:
+ amd-name-resolver "0.0.7"
+ babel-plugin-debug-macros "^0.1.11"
+ babel-plugin-ember-modules-api-polyfill "^2.0.1"
+ babel-plugin-transform-es2015-modules-amd "^6.24.0"
+ babel-polyfill "^6.16.0"
+ babel-preset-env "^1.5.1"
+ broccoli-babel-transpiler "^6.1.2"
+ broccoli-debug "^0.6.2"
+ broccoli-funnel "^1.0.0"
+ broccoli-source "^1.1.0"
+ clone "^2.0.0"
+ ember-cli-version-checker "^2.1.0"
+ semver "^5.4.1"
+
ember-cli-babel@^6.8.2:
version "6.9.0"
resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-6.9.0.tgz#5147391389bdbb7091d15f81ae1dff1eb49d71aa"
@@ -2468,6 +2486,15 @@ ember-cli@^2.16.2:
walk-sync "^0.3.0"
yam "0.0.22"
+ember-concurrency@^0.8.12:
+ version "0.8.12"
+ resolved "https://registry.yarnpkg.com/ember-concurrency/-/ember-concurrency-0.8.12.tgz#fb91180e5efeb1024cfa2cfb99d2fe6721930c91"
+ dependencies:
+ babel-core "^6.24.1"
+ ember-cli-babel "^6.8.2"
+ ember-getowner-polyfill "^2.0.0"
+ ember-maybe-import-regenerator "^0.1.5"
+
ember-cookies@^0.0.13:
version "0.0.13"
resolved "https://registry.yarnpkg.com/ember-cookies/-/ember-cookies-0.0.13.tgz#18350df766240793d46744e4ee5c9a55ae6b4e0a"
@@ -2520,6 +2547,12 @@ ember-factory-for-polyfill@^1.1.0:
dependencies:
ember-cli-version-checker "^1.2.0"
+ember-factory-for-polyfill@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/ember-factory-for-polyfill/-/ember-factory-for-polyfill-1.3.1.tgz#b446ed64916d293c847a4955240eb2c993b86eae"
+ dependencies:
+ ember-cli-version-checker "^2.1.0"
+
"ember-fetch@^2.1.0 || ^3.0.0":
version "3.4.3"
resolved "https://registry.yarnpkg.com/ember-fetch/-/ember-fetch-3.4.3.tgz#fb8ba73148bb2399a82b037e4fdf9a953cd496ba"
@@ -2539,6 +2572,13 @@ ember-getowner-polyfill@^1.1.0, ember-getowner-polyfill@^1.2.2:
ember-cli-version-checker "^1.2.0"
ember-factory-for-polyfill "^1.1.0"
+ember-getowner-polyfill@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/ember-getowner-polyfill/-/ember-getowner-polyfill-2.2.0.tgz#38e7dccbcac69d5ec694000329ec0b2be651d2b2"
+ dependencies:
+ ember-cli-version-checker "^2.1.0"
+ ember-factory-for-polyfill "^1.3.1"
+
ember-inflector@^1.9.2:
version "1.12.1"
resolved "https://registry.yarnpkg.com/ember-inflector/-/ember-inflector-1.12.1.tgz#d8bd2ca2f327b439720f89923fe614d46b5da1ca"
@@ -2568,6 +2608,15 @@ ember-lodash@^4.0:
ember-cli-babel "^6.4.1"
lodash-es "^4.17.4"
+ember-maybe-import-regenerator@^0.1.5:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/ember-maybe-import-regenerator/-/ember-maybe-import-regenerator-0.1.6.tgz#35d41828afa6d6a59bc0da3ce47f34c573d776ca"
+ dependencies:
+ broccoli-funnel "^1.0.1"
+ broccoli-merge-trees "^1.0.0"
+ ember-cli-babel "^6.0.0-beta.4"
+ regenerator-runtime "^0.9.5"
+
ember-qunit@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/ember-qunit/-/ember-qunit-2.2.0.tgz#3cdf400031c93a38de781a7304819738753b7f99"
@@ -5324,6 +5373,10 @@ regenerator-runtime@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1"
+regenerator-runtime@^0.9.5:
+ version "0.9.6"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029"
+
regenerator-transform@^0.10.0:
version "0.10.1"
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd"
@@ -5582,7 +5635,7 @@ scss-tokenizer@^0.2.3:
js-base64 "^2.1.8"
source-map "^0.4.2"
-"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.1.1, semver@^5.3.0:
+"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.1.1, semver@^5.3.0, semver@^5.4.1:
version "5.4.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e"