From f865ca6e46ab297967f3a2cfc8ddf6362097c16d Mon Sep 17 00:00:00 2001 From: Eugen Ciur <eugen@papermerge.com> Date: Sat, 25 Sep 2021 06:03:01 +0200 Subject: [PATCH] refactoring of frontend --- app/adapters/application.js | 9 - app/components/document.hbs | 1 + app/components/document/detailed.hbs | 4 - app/components/documents.js | 2 +- app/components/documents/filter.js | 2 +- app/components/jumbo.hbs | 4 - app/components/nav-bar.hbs | 6 + app/models/document.js | 5 +- app/models/folder.js | 7 +- app/models/node.js | 3 +- app/router.js | 16 ++ app/routes/document.js | 1 - app/routes/folder.js | 18 ++ app/routes/index.js | 12 +- app/serializers/application.js | 5 - app/styles/app.css | 4 +- app/templates/about.hbs | 12 +- app/templates/automates/add.hbs | 1 + app/templates/automates/automate.hbs | 3 + app/templates/automates/index.hbs | 4 + app/templates/contact.hbs | 26 +- app/templates/folder.hbs | 5 + app/templates/index.hbs | 8 +- app/templates/not-found.hbs | 1 + app/templates/tags/add.hbs | 1 + app/templates/tags/index.hbs | 3 + app/templates/tags/tag.hbs | 1 + package-lock.json | 365 +++++++++++++++++++++++++++ package.json | 2 +- public/api/folder.json | 32 +++ 30 files changed, 491 insertions(+), 72 deletions(-) delete mode 100644 app/adapters/application.js delete mode 100644 app/components/jumbo.hbs create mode 100644 app/routes/folder.js delete mode 100644 app/serializers/application.js create mode 100644 app/templates/automates/add.hbs create mode 100644 app/templates/automates/automate.hbs create mode 100644 app/templates/automates/index.hbs create mode 100644 app/templates/folder.hbs create mode 100644 app/templates/not-found.hbs create mode 100644 app/templates/tags/add.hbs create mode 100644 app/templates/tags/index.hbs create mode 100644 app/templates/tags/tag.hbs create mode 100644 public/api/folder.json diff --git a/app/adapters/application.js b/app/adapters/application.js deleted file mode 100644 index 9e22e85..0000000 --- a/app/adapters/application.js +++ /dev/null @@ -1,9 +0,0 @@ -import JSONAPIAdapter from '@ember-data/adapter/json-api'; - -export default class ApplicationAdapter extends JSONAPIAdapter { - namespace = 'api'; - - buildURL(...args) { - return `${super.buildURL(...args)}.json`; - } -} \ No newline at end of file diff --git a/app/components/document.hbs b/app/components/document.hbs index 2c335ef..0be43c2 100644 --- a/app/components/document.hbs +++ b/app/components/document.hbs @@ -5,6 +5,7 @@ /> <div class="details"> + {{@doc.type}} <h3> <LinkTo @route="document" @model={{@doc}}> {{@doc.title}} diff --git a/app/components/document/detailed.hbs b/app/components/document/detailed.hbs index 40f50df..dfb6219 100644 --- a/app/components/document/detailed.hbs +++ b/app/components/document/detailed.hbs @@ -1,7 +1,3 @@ -<Jumbo> - <h2>{{@doc.title}}</h2> -</Jumbo> - <div class="document detailed"> <Document::Image src={{@doc.image}} diff --git a/app/components/documents.js b/app/components/documents.js index e73b1d5..386f372 100644 --- a/app/components/documents.js +++ b/app/components/documents.js @@ -3,4 +3,4 @@ import { tracked } from '@glimmer/tracking'; export default class DocumentsComponent extends Component { @tracked query = ''; -} \ No newline at end of file +} diff --git a/app/components/documents/filter.js b/app/components/documents/filter.js index b7398db..ed61339 100644 --- a/app/components/documents/filter.js +++ b/app/components/documents/filter.js @@ -10,4 +10,4 @@ export default class documentssFilterComponent extends Component { return docs; } -} \ No newline at end of file +} diff --git a/app/components/jumbo.hbs b/app/components/jumbo.hbs deleted file mode 100644 index bfabf6f..0000000 --- a/app/components/jumbo.hbs +++ /dev/null @@ -1,4 +0,0 @@ -<div class="jumbo"> - <div class="right tomster"></div> - {{yield}} -</div> \ No newline at end of file diff --git a/app/components/nav-bar.hbs b/app/components/nav-bar.hbs index f415e83..bfe4c88 100644 --- a/app/components/nav-bar.hbs +++ b/app/components/nav-bar.hbs @@ -2,6 +2,12 @@ <LinkTo @route="index" class="menu-index"> <h1>Papermerge</h1> </LinkTo> + <LinkTo @route="tags" class="menu-contact"> + Tags + </LinkTo> + <LinkTo @route="automates" class="menu-contact"> + Automates + </LinkTo> <div class="links"> <LinkTo @route="about" class="menu-about"> About diff --git a/app/models/document.js b/app/models/document.js index 5c1145a..30a0590 100644 --- a/app/models/document.js +++ b/app/models/document.js @@ -1,6 +1,5 @@ import { attr } from '@ember-data/model'; -import NodeModel from "./node"; - +import NodeModel from './node'; export default class DocumentModel extends NodeModel { @attr image; @@ -8,4 +7,4 @@ export default class DocumentModel extends NodeModel { get type() { return 'document'; } -} \ No newline at end of file +} diff --git a/app/models/folder.js b/app/models/folder.js index 6fdcdb4..8722631 100644 --- a/app/models/folder.js +++ b/app/models/folder.js @@ -1,11 +1,8 @@ import { attr } from '@ember-data/model'; -import NodeModel from "./node"; - +import NodeModel from './node'; export default class FolderModel extends NodeModel { - get type() { return 'folder'; } - -} \ No newline at end of file +} diff --git a/app/models/node.js b/app/models/node.js index c84cd1f..8080a05 100644 --- a/app/models/node.js +++ b/app/models/node.js @@ -1,8 +1,7 @@ import Model, { attr } from '@ember-data/model'; - export default class NodeModel extends Model { @attr title; @attr parent; @attr type; -} \ No newline at end of file +} diff --git a/app/router.js b/app/router.js index 4150042..96b4ec7 100644 --- a/app/router.js +++ b/app/router.js @@ -11,5 +11,21 @@ Router.map(function () { this.route('about'); this.route('contact', { path: '/getting-in-touch' }); this.route('document', { path: '/document/:document_id' }); + + this.route('folder', { path: '/folder/' }); this.route('folder', { path: '/folder/:folder_id' }); + + this.route('tags', function () { + this.route('add'); + this.route('tag', { path: '/:tag_id' }); + this.route('index', { path: '/' }); + }); + + this.route('automates', function () { + this.route('add'); + this.route('automate', { path: '/:automate_id' }); + this.route('index', { path: '/' }); + }); + + this.route('not-found', { path: '/*path' }); }); diff --git a/app/routes/document.js b/app/routes/document.js index 84d7ae6..bf3e230 100644 --- a/app/routes/document.js +++ b/app/routes/document.js @@ -2,7 +2,6 @@ import Route from '@ember/routing/route'; import { inject as service } from '@ember/service'; export default class RentalRoute extends Route { - @service store; async model(params) { diff --git a/app/routes/folder.js b/app/routes/folder.js new file mode 100644 index 0000000..ff6bcc5 --- /dev/null +++ b/app/routes/folder.js @@ -0,0 +1,18 @@ +import Route from '@ember/routing/route'; + +export default class FolderRoute extends Route { + async model(params) { + let url, response, nodes; + + if (params.folder_id) { + url = `/api/folder/${params.folder_id}`; + } else { + url = '/api/folder/'; + } + response = await fetch(url); + + nodes = await response.json(); + + return { nodes }; + } +} diff --git a/app/routes/index.js b/app/routes/index.js index d24bebe..be1231b 100644 --- a/app/routes/index.js +++ b/app/routes/index.js @@ -1,12 +1,14 @@ import Route from '@ember/routing/route'; -import { inject as service } from '@ember/service'; - export default class IndexRoute extends Route { - @service store; - async model() { - return this.store.findAll('document'); + let response = await fetch('/api/folder.json');; + let { data } = await response.json(); + + return data.map((model) => { + let { id, type, attributes } = model; + return { id, type, ...attributes }; + }); } } diff --git a/app/serializers/application.js b/app/serializers/application.js deleted file mode 100644 index 4756f2c..0000000 --- a/app/serializers/application.js +++ /dev/null @@ -1,5 +0,0 @@ -import JSONAPISerializer from '@ember-data/serializer/json-api'; - -export default class ApplicationSerializer extends JSONAPISerializer { - -} \ No newline at end of file diff --git a/app/styles/app.css b/app/styles/app.css index 414c9dd..58fae31 100644 --- a/app/styles/app.css +++ b/app/styles/app.css @@ -79,9 +79,7 @@ p { .menu { height: 4em; - background-color: #677ae4; - background-color: #05526A; - background-color: #e46855; + background-color: #4c4b4b; } .menu h1 { diff --git a/app/templates/about.hbs b/app/templates/about.hbs index 1ad233a..a9988f0 100644 --- a/app/templates/about.hbs +++ b/app/templates/about.hbs @@ -1,7 +1,5 @@ -<Jumbo> - <h2>About Papermerge</h2> - <p> - The Papermerge website is a delightful project created to explore Ember. - </p> - <LinkTo @route="contact" class="button">Contact Us</LinkTo> -</Jumbo> \ No newline at end of file +<h2>About Papermerge</h2> +<p> + The Papermerge website is a delightful project created to explore Ember. +</p> +<LinkTo @route="contact" class="button">Contact Us</LinkTo> diff --git a/app/templates/automates/add.hbs b/app/templates/automates/add.hbs new file mode 100644 index 0000000..61cd364 --- /dev/null +++ b/app/templates/automates/add.hbs @@ -0,0 +1 @@ +<h1>New Automate</h1> \ No newline at end of file diff --git a/app/templates/automates/automate.hbs b/app/templates/automates/automate.hbs new file mode 100644 index 0000000..d6f4c22 --- /dev/null +++ b/app/templates/automates/automate.hbs @@ -0,0 +1,3 @@ +<h1>Automate</h1> + +<LinkTo @route="automates.add" class="btn btn-success">New</LinkTo> \ No newline at end of file diff --git a/app/templates/automates/index.hbs b/app/templates/automates/index.hbs new file mode 100644 index 0000000..d0abf2a --- /dev/null +++ b/app/templates/automates/index.hbs @@ -0,0 +1,4 @@ +<h1>Automates Index</h1> + + +<LinkTo @route="automates.add" class="btn btn-success">New</LinkTo> \ No newline at end of file diff --git a/app/templates/contact.hbs b/app/templates/contact.hbs index 1ff4d8e..44ab50c 100644 --- a/app/templates/contact.hbs +++ b/app/templates/contact.hbs @@ -1,16 +1,14 @@ -<Jumbo> - <h2>Contact Us</h2> +<h2>Contact Us</h2> +<p> + Papermerge Representatives would love to help you<br> + choose a destination or answer any questions you may have. +</p> +<address> + Papermerge HQ <p> - Papermerge Representatives would love to help you<br> - choose a destination or answer any questions you may have. + Löwenberger str 4,<br> + 10315 Berlin </p> - <address> - Papermerge HQ - <p> - Löwenberger str 4,<br> - 10315 Berlin - </p> - <a href="mailto:eugen@papermerge.com">eugen@papermerge.com</a> - </address> - <LinkTo @route="about" class="button">About</LinkTo> -</Jumbo> \ No newline at end of file + <a href="mailto:eugen@papermerge.com">eugen@papermerge.com</a> +</address> +<LinkTo @route="about" class="button">About</LinkTo> diff --git a/app/templates/folder.hbs b/app/templates/folder.hbs new file mode 100644 index 0000000..130b508 --- /dev/null +++ b/app/templates/folder.hbs @@ -0,0 +1,5 @@ +{{#each @model as |node|}} + <div> + {{node.attributes.title}} + </div> +{{/each}} \ No newline at end of file diff --git a/app/templates/index.hbs b/app/templates/index.hbs index ecc1703..e8d7eaf 100644 --- a/app/templates/index.hbs +++ b/app/templates/index.hbs @@ -1,8 +1,2 @@ -<Jumbo> - <h2>Welcome to Papermerge!</h2> - <p>We hope you find exactly what you're looking for in a place to stay.</p> - <LinkTo @route="about" class="button">About Us</LinkTo> -</Jumbo> - - +<h1>Index </h1> <Documents @docs={{@model}} /> \ No newline at end of file diff --git a/app/templates/not-found.hbs b/app/templates/not-found.hbs new file mode 100644 index 0000000..ec865af --- /dev/null +++ b/app/templates/not-found.hbs @@ -0,0 +1 @@ +<h1>Page Not Found</h1> \ No newline at end of file diff --git a/app/templates/tags/add.hbs b/app/templates/tags/add.hbs new file mode 100644 index 0000000..04307c4 --- /dev/null +++ b/app/templates/tags/add.hbs @@ -0,0 +1 @@ +<h1>New Tag</h1> \ No newline at end of file diff --git a/app/templates/tags/index.hbs b/app/templates/tags/index.hbs new file mode 100644 index 0000000..6e7c72e --- /dev/null +++ b/app/templates/tags/index.hbs @@ -0,0 +1,3 @@ +<h1>Tags Index</h1> + +<LinkTo @route="tags.add" class="btn btn-success">New</LinkTo> diff --git a/app/templates/tags/tag.hbs b/app/templates/tags/tag.hbs new file mode 100644 index 0000000..b116094 --- /dev/null +++ b/app/templates/tags/tag.hbs @@ -0,0 +1 @@ +<h1>Tags</h1> \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 3eac716..6e354c8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2761,6 +2761,85 @@ "semver": "^7.3.2" } }, + "@embroider/shared-internals": { + "version": "0.40.0", + "resolved": "https://registry.npmjs.org/@embroider/shared-internals/-/shared-internals-0.40.0.tgz", + "integrity": "sha512-Ovr/i0Qgn6W6jdGXMvYJKlRoRpyBY9uhYozDSFKlBjeEmRJ0Plp7OST41+O5Td6Pqp+Rv2jVSnGzhA/MpC++NQ==", + "dev": true, + "requires": { + "ember-rfc176-data": "^0.3.17", + "fs-extra": "^7.0.1", + "lodash": "^4.17.10", + "pkg-up": "^3.1.0", + "resolve-package-path": "^1.2.2", + "semver": "^7.3.2", + "typescript-memoize": "^1.0.0-alpha.3" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "resolve-package-path": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-1.2.7.tgz", + "integrity": "sha512-fVEKHGeK85bGbVFuwO9o1aU0n3vqQGrezPc51JGu9UTXpFQfWq5qCeKxyaRUSvephs+06c5j5rPq/dzHGEo8+Q==", + "dev": true, + "requires": { + "path-root": "^0.1.1", + "resolve": "^1.10.0" + } + } + } + }, "@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", @@ -3095,6 +3174,12 @@ "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", "dev": true }, + "@miragejs/pretender-node-polyfill": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@miragejs/pretender-node-polyfill/-/pretender-node-polyfill-0.1.2.tgz", + "integrity": "sha512-M/BexG/p05C5lFfMunxo/QcgIJnMT2vDVCd00wNqK2ImZONIlEETZwWJu1QtLxtmYlSHlCFl3JNzp0tLe7OJ5g==", + "dev": true + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -9540,6 +9625,71 @@ "integrity": "sha1-IMtop5D+D94kiN39jvu332/nZvI=", "dev": true }, + "ember-cli-mirage": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ember-cli-mirage/-/ember-cli-mirage-2.2.0.tgz", + "integrity": "sha512-w+DrFEGuuLyHzJwOVkG0yOLvgwYezaMBNvvZJQzQkv1W3CsdhllkY1ZauYgL0dhrmYJwRFtp8DnaPQwBTDCSfA==", + "dev": true, + "requires": { + "@embroider/macros": "^0.40.0", + "broccoli-file-creator": "^2.1.1", + "broccoli-funnel": "^3.0.3", + "broccoli-merge-trees": "^4.2.0", + "ember-auto-import": "^1.2.19", + "ember-cli-babel": "^7.5.0", + "ember-get-config": "^0.2.4 || ^0.3.0", + "ember-inflector": "^2.0.0 || ^3.0.0 || ^4.0.0", + "lodash-es": "^4.17.11", + "miragejs": "^0.1.31" + }, + "dependencies": { + "@embroider/macros": { + "version": "0.40.0", + "resolved": "https://registry.npmjs.org/@embroider/macros/-/macros-0.40.0.tgz", + "integrity": "sha512-ygChvFoebSi/N8b+A+XFncd454gLYBYHancrtY0AE/h6Y1HouoqQvji/IfaLisGoeuwUWuI9rCBv97COweu/rA==", + "dev": true, + "requires": { + "@embroider/shared-internals": "0.40.0", + "assert-never": "^1.1.0", + "ember-cli-babel": "^7.23.0", + "lodash": "^4.17.10", + "resolve": "^1.8.1", + "semver": "^7.3.2" + } + }, + "broccoli-merge-trees": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-4.2.0.tgz", + "integrity": "sha512-nTrQe5AQtCrW4enLRvbD/vTLHqyW2tz+vsLXQe4IEaUhepuMGVKJJr+I8n34Vu6fPjmPLwTjzNC8izMIDMtHPw==", + "dev": true, + "requires": { + "broccoli-plugin": "^4.0.2", + "merge-trees": "^2.0.0" + } + }, + "broccoli-plugin": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-4.0.7.tgz", + "integrity": "sha512-a4zUsWtA1uns1K7p9rExYVYG99rdKeGRymW0qOCNkvDPHQxVi3yVyJHhQbM3EZwdt2E0mnhr5e0c/bPpJ7p3Wg==", + "dev": true, + "requires": { + "broccoli-node-api": "^1.7.0", + "broccoli-output-wrapper": "^3.2.5", + "fs-merger": "^3.2.1", + "promise-map-series": "^0.3.0", + "quick-temp": "^0.1.8", + "rimraf": "^3.0.2", + "symlink-or-copy": "^1.3.1" + } + }, + "promise-map-series": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/promise-map-series/-/promise-map-series-0.3.0.tgz", + "integrity": "sha512-3npG2NGhTc8BWBolLLf8l/92OxMGaRLbqvIh9wjCHhDXNvk4zsxaTaCpiCunW09qWPrN2zeNSNwRLVBrQQtutA==", + "dev": true + } + } + }, "ember-cli-normalize-entity-name": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/ember-cli-normalize-entity-name/-/ember-cli-normalize-entity-name-1.0.0.tgz", @@ -10321,6 +10471,37 @@ } } }, + "ember-get-config": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ember-get-config/-/ember-get-config-0.3.0.tgz", + "integrity": "sha512-0e2pKzwW5lBZ4oJnvu9qHOht4sP1MWz/m3hyz8kpSoMdrlZVf62LDKZ6qfKgy8drcv5YhCMYE6QV7MhnqlrzEQ==", + "dev": true, + "requires": { + "broccoli-file-creator": "^1.1.1", + "ember-cli-babel": "^7.0.0" + }, + "dependencies": { + "broccoli-file-creator": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/broccoli-file-creator/-/broccoli-file-creator-1.2.0.tgz", + "integrity": "sha512-l9zthHg6bAtnOfRr/ieZ1srRQEsufMZID7xGYRW3aBDv3u/3Eux+Iawl10tAGYE5pL9YB4n5X4vxkp6iNOoZ9g==", + "dev": true, + "requires": { + "broccoli-plugin": "^1.1.0", + "mkdirp": "^0.5.1" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + } + } + }, "ember-inflector": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/ember-inflector/-/ember-inflector-4.0.2.tgz", @@ -12138,6 +12319,12 @@ "integrity": "sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ==", "dev": true }, + "fake-xml-http-request": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fake-xml-http-request/-/fake-xml-http-request-2.1.2.tgz", + "integrity": "sha512-HaFMBi7r+oEC9iJNpc3bvcW7Z7iLmM26hPDmlb0mFwyANSsOQAtJxbdWsXITKOzZUyMYK0zYCv3h5yDj9TsiXg==", + "dev": true + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -13609,6 +13796,12 @@ "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", "dev": true }, + "inflected": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/inflected/-/inflected-2.1.0.tgz", + "integrity": "sha512-hAEKNxvHf2Iq3H60oMBHkB4wl5jn3TPF3+fXek/sRwAB5gP9xWs4r7aweSF95f99HFoz69pnZTcu8f0SIHV18w==", + "dev": true + }, "inflection": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.1.tgz", @@ -14366,6 +14559,12 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true + }, "lodash._baseassign": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", @@ -14444,6 +14643,12 @@ "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=", "dev": true }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, "lodash.castarray": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", @@ -14456,6 +14661,12 @@ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, + "lodash.compact": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash.compact/-/lodash.compact-3.0.1.tgz", + "integrity": "sha1-VAzjg3dFl1gHRx4WtKK6IeclbKU=", + "dev": true + }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -14490,6 +14701,30 @@ "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=", "dev": true }, + "lodash.forin": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.forin/-/lodash.forin-4.4.0.tgz", + "integrity": "sha1-XT8grlZAEfvog4H32YlJyclRlzE=", + "dev": true + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, + "lodash.has": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", + "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=", + "dev": true + }, + "lodash.invokemap": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz", + "integrity": "sha1-F0jNpdiw74NpxOs+xUwh/rofLWI=", + "dev": true + }, "lodash.isarguments": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", @@ -14502,6 +14737,36 @@ "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", "dev": true }, + "lodash.isempty": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4=", + "dev": true + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true + }, + "lodash.isfunction": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", + "dev": true + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, "lodash.kebabcase": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", @@ -14519,6 +14784,24 @@ "lodash.isarray": "^3.0.0" } }, + "lodash.lowerfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.lowerfirst/-/lodash.lowerfirst-4.3.1.tgz", + "integrity": "sha1-3jx7EuAsZSSgBZwvbLfFxSZVoT0=", + "dev": true + }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=", + "dev": true + }, + "lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", + "dev": true + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -14537,12 +14820,24 @@ "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=", "dev": true }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=", + "dev": true + }, "lodash.restparam": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", "dev": true }, + "lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=", + "dev": true + }, "lodash.template": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", @@ -14580,6 +14875,12 @@ "integrity": "sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI=", "dev": true }, + "lodash.values": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-4.3.0.tgz", + "integrity": "sha1-o6bCsOvsxcLLocF+bmIP6BtT00c=", + "dev": true + }, "log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", @@ -15054,6 +15355,54 @@ } } }, + "miragejs": { + "version": "0.1.42", + "resolved": "https://registry.npmjs.org/miragejs/-/miragejs-0.1.42.tgz", + "integrity": "sha512-35Gl2Pubkj/9Xk/D5/JcKJyspPWCNcpMkrlEpP0ArjQ4wKINQaFIgg5R/LW5v/yvsLpMjf9tzZuHtO3NDZeZow==", + "dev": true, + "requires": { + "@miragejs/pretender-node-polyfill": "^0.1.0", + "inflected": "^2.0.4", + "lodash.assign": "^4.2.0", + "lodash.camelcase": "^4.3.0", + "lodash.clonedeep": "^4.5.0", + "lodash.compact": "^3.0.1", + "lodash.find": "^4.6.0", + "lodash.flatten": "^4.4.0", + "lodash.forin": "^4.4.0", + "lodash.get": "^4.4.2", + "lodash.has": "^4.5.2", + "lodash.invokemap": "^4.6.0", + "lodash.isempty": "^4.4.0", + "lodash.isequal": "^4.5.0", + "lodash.isfunction": "^3.0.9", + "lodash.isinteger": "^4.0.4", + "lodash.isplainobject": "^4.0.6", + "lodash.lowerfirst": "^4.3.1", + "lodash.map": "^4.6.0", + "lodash.mapvalues": "^4.6.0", + "lodash.pick": "^4.4.0", + "lodash.snakecase": "^4.1.1", + "lodash.uniq": "^4.5.0", + "lodash.uniqby": "^4.7.0", + "lodash.values": "^4.3.0", + "pretender": "^3.4.7" + }, + "dependencies": { + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + } + } + }, "mississippi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", @@ -16297,6 +16646,16 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, + "pretender": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/pretender/-/pretender-3.4.7.tgz", + "integrity": "sha512-jkPAvt1BfRi0RKamweJdEcnjkeu7Es8yix3bJ+KgBC5VpG/Ln4JE3hYN6vJym4qprm8Xo5adhWpm3HCoft1dOw==", + "dev": true, + "requires": { + "fake-xml-http-request": "^2.1.2", + "route-recognizer": "^0.3.3" + } + }, "prettier": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz", @@ -17024,6 +17383,12 @@ "estree-walker": "^0.6.1" } }, + "route-recognizer": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/route-recognizer/-/route-recognizer-0.3.4.tgz", + "integrity": "sha512-2+MhsfPhvauN1O8KaXpXAOfR/fwe8dnUXVM+xw7yt40lJRfPVQxV6yryZm0cgRvAj5fMF/mdRZbL2ptwbs5i2g==", + "dev": true + }, "rsvp": { "version": "4.8.5", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", diff --git a/package.json b/package.json index 573a972..1c502b6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "papermerge", - "version": "0.0.0", + "version": "0.1.0", "private": true, "description": "Small description for papermerge goes here", "repository": "", diff --git a/public/api/folder.json b/public/api/folder.json new file mode 100644 index 0000000..95d082f --- /dev/null +++ b/public/api/folder.json @@ -0,0 +1,32 @@ +{ + "data": [ + { + "type": "document", + "id": 1, + "attributes": { + "title": "invoice.pdf" + } + }, + { + "type": "document", + "id": 2, + "attributes": { + "title": "payment_1.pdf" + } + }, + { + "type": "document", + "id": 3, + "attributes": { + "title": "payment_2.pdf" + } + }, + { + "type": "folder", + "id": 4, + "attributes": { + "title": "My Documents" + } + } + ] +} \ No newline at end of file -- GitLab