Skip to content
Snippets Groups Projects
Commit 42408931 authored by Kristof De Langhe's avatar Kristof De Langhe
Browse files

Merge branch 'master' into w2p-65240_Community-and-collection-logos

parents 6097d089 7f44c775
Branches
Tags
No related merge requests found
Showing
with 26690 additions and 91 deletions
......@@ -3,13 +3,12 @@
dspace-angular
==============
> The next UI for DSpace, based on Angular Universal.
> The next UI for DSpace 7, based on Angular Universal.
This project is currently in pre-alpha.
This project is currently under active development. For more information on the DSpace 7 release see the [DSpace 7.0 Release Status wiki page](https://wiki.lyrasis.org/display/DSPACE/DSpace+Release+7.0+Status)
You can find additional information on the [wiki](https://wiki.duraspace.org/display/DSPACE/DSpace+7+-+Angular+UI) or [the project board (waffle.io)](https://waffle.io/DSpace/dspace-angular).
You can find additional information on the DSpace 7 Angular UI on the [wiki](https://wiki.lyrasis.org/display/DSPACE/DSpace+7+-+Angular+UI+Development).
If you're looking for the 2016 Angular 2 DSpace UI prototype, you can find it [here](https://github.com/DSpace-Labs/angular2-ui-prototype)
Quick start
-----------
......@@ -32,8 +31,6 @@ yarn start
Then go to [http://localhost:3000](http://localhost:3000) in your browser
NOTE: currently there's not much to see at that URL. We really do need your help. If you're interested in jumping in, and you've made it this far, please look at the [the project board (waffle.io)](https://waffle.io/DSpace/dspace-angular), grab a card, and get to work. Thanks!
Not sure where to start? watch the training videos linked in the [Introduction to the technology](#introduction-to-the-technology) section below.
Table of Contents
......@@ -42,24 +39,27 @@ Table of Contents
- [Introduction to the technology](#introduction-to-the-technology)
- [Requirements](#requirements)
- [Installing](#installing)
- [Configuring](#configuring)
- [Configuring](#configuring)
- [Running the app](#running-the-app)
- [Running in production mode](#running-in-production-mode)
- [Running in production mode](#running-in-production-mode)
- [Deploy](#deploy)
- [Running the application with Docker](#running-the-application-with-docker)
- [Cleaning](#cleaning)
- [Testing](#testing)
- [Test a Pull Request](#test-a-pull-request)
- [Documentation](#documentation)
- [Other commands](#other-commands)
- [Recommended Editors/IDEs](#recommended-editorsides)
- [Collaborating](#collaborating)
- [File Structure](#file-structure)
- [3rd Party Library Installation](#3rd-party-library-installation)
- [Managing Dependencies (via yarn)](#managing-dependencies-via-yarn)
- [Frequently asked questions](#frequently-asked-questions)
- [License](#license)
Introduction to the technology
------------------------------
You can find more information on the technologies used in this project (Angular 2, Typescript, Angular Universal, RxJS, etc) on the [DuraSpace wiki](https://wiki.duraspace.org/display/DSPACE/DSpace+7+UI+Technology+Stack)
You can find more information on the technologies used in this project (Angular.io, Typescript, Angular Universal, RxJS, etc) on the [LYRASIS wiki](https://wiki.lyrasis.org/display/DSPACE/DSpace+7+UI+Technology+Stack)
Requirements
------------
......@@ -75,8 +75,7 @@ Installing
- `yarn run global` to install the required global dependencies
- `yarn install` to install the local dependencies
Configuring
-----------
### Configuring
Default configuration file is located in `config/` folder.
......@@ -98,8 +97,7 @@ Running the app
After you have installed all dependencies you can now run the app. Run `yarn run watch` to start a local server which will watch for changes, rebuild the code, and reload the server for you. You can visit it at `http://localhost:3000`.
Running in production mode
--------------------------
### Running in production mode
When building for production we're using Ahead of Time (AoT) compilation. With AoT, the browser downloads a pre-compiled version of the application, so it can render the application immediately, without waiting to compile the app first. The compiler is roughly half the size of Angular itself, so omitting it dramatically reduces the application payload.
......@@ -117,6 +115,19 @@ yarn run build:prod
This will build the application and put the result in the `dist` folder
### Deploy
```bash
# deploy production in standalone pm2 container
yarn run deploy
# remove production from standalone pm2 container
yarn run undeploy
```
### Running the application with Docker
See [Docker Runtime Options](docker/README.md)
Cleaning
--------
......@@ -131,10 +142,6 @@ yarn run clean:prod
yarn run clean:dist
```
Running the application with Docker
-----------------------------------
See [Docker Runtime Options](docker/README.md)
Testing
-------
......@@ -189,20 +196,13 @@ To run all the tests (e.g.: to run tests with Continuous Integration software) y
Documentation
--------------
To build the code documentation we use [TYPEDOC](http://typedoc.org). TYPEDOC is a documentation generator for TypeScript projects. It extracts informations from properly formatted comments that can be written within the code files. Follow the instructions [here](http://typedoc.org/guides/doccomments/) to know how to make those comments.
Run:`yarn run docs` to produce the documentation that will be available in the 'doc' folder.
See [`./docs`](docs) for further documentation.
Deploy
------
### Building code documentation
```bash
# deploy production in standalone pm2 container
yarn run deploy
To build the code documentation we use [TYPEDOC](http://typedoc.org). TYPEDOC is a documentation generator for TypeScript projects. It extracts informations from properly formatted comments that can be written within the code files. Follow the instructions [here](http://typedoc.org/guides/doccomments/) to know how to make those comments.
# remove production from standalone pm2 container
yarn run undeploy
```
Run:`yarn run docs` to produce the documentation that will be available in the 'doc' folder.
Other commands
--------------
......@@ -229,7 +229,7 @@ To get the most out of TypeScript, you'll need a TypeScript-aware editor. We've
Collaborating
-------------
See [the guide on the wiki](https://wiki.duraspace.org/display/DSPACE/DSpace+7+-+Angular+2+UI#DSpace7-Angular2UI-Howtocontribute)
See [the guide on the wiki](https://wiki.lyrasis.org/display/DSPACE/DSpace+7+-+Angular+UI+Development#DSpace7-AngularUIDevelopment-Howtocontribute)
File Structure
--------------
......@@ -335,10 +335,20 @@ dspace-angular
└── yarn.lock * Yarn lockfile (https://yarnpkg.com/en/docs/yarn-lock)
```
3rd Party Library Installation
------------------------------
Managing Dependencies (via yarn)
-------------
Install your library via `yarn add lib-name --save` and import it in your code. `--save` will add it to `package.json`.
This project makes use of [`yarn`](https://yarnpkg.com/en/) to ensure that the exact same dependency versions are used every time you install it.
* `yarn` creates a [`yarn.lock`](https://yarnpkg.com/en/docs/yarn-lock) to track those versions. That file is updated automatically by whenever dependencies are added/updated/removed via yarn.
* **Adding new dependencies**: To install/add a new dependency (third party library), use [`yarn add`](https://yarnpkg.com/en/docs/cli/add). For example: `yarn add some-lib`.
* If you are adding a new build tool dependency (to `devDependencies`), use `yarn add some-lib --dev`
* **Upgrading existing dependencies**: To upgrade existing dependencies, you can use [`yarn upgrade`](https://yarnpkg.com/en/docs/cli/upgrade). For example: `yarn upgrade some-lib` or `yarn upgrade some-lib@version`
* **Removing dependencies**: If a dependency is no longer needed, or replaced, use [`yarn remove`](https://yarnpkg.com/en/docs/cli/remove) to remove it.
As you can see above, using `yarn` commandline tools means that you should never need to modify the `package.json` manually. *We recommend always using `yarn` to keep dependencies updated / in sync.*
### Adding Typings for libraries
If the library does not include typings, you can install them using yarn:
......@@ -370,24 +380,6 @@ If you're importing a module that uses CommonJS you need to import as
import * as _ from 'lodash';
```
Managing Dependencies (via yarn)
-------------
This project makes use of [`yarn`](https://yarnpkg.com/en/) to ensure that the exact same dependency versions are used every time you install it.
* `yarn` creates a [`yarn.lock`](https://yarnpkg.com/en/docs/yarn-lock) to track those versions. That file is updated automatically by whenever dependencies are added/updated/removed via yarn.
* **Adding new dependencies**: To install/add a new dependency (third party library), use [`yarn add`](https://yarnpkg.com/en/docs/cli/add). For example: `yarn add some-lib`.
* If you are adding a new build tool dependency (to `devDependencies`), use `yarn add some-lib --dev`
* **Upgrading existing dependencies**: To upgrade existing dependencies, you can use [`yarn upgrade`](https://yarnpkg.com/en/docs/cli/upgrade). For example: `yarn upgrade some-lib` or `yarn upgrade some-lib@version`
* **Removing dependencies**: If a dependency is no longer needed, or replaced, use [`yarn remove`](https://yarnpkg.com/en/docs/cli/remove) to remove it.
As you can see above, using `yarn` commandline tools means that you should never need to modify the `package.json` manually. *We recommend always using `yarn` to keep dependencies updated / in sync.*
Further Documentation
---------------------
See [`./docs`](docs) for further documentation.
Frequently asked questions
--------------------------
......@@ -411,5 +403,4 @@ Frequently asked questions
License
-------
http://www.dspace.org/license
This project's source code is made available under the DSpace BSD License: http://www.dspace.org/license
......@@ -141,6 +141,10 @@ module.exports = {
code: 'nl',
label: 'Nederlands',
active: false,
}, {
code: 'pt',
label: 'Português',
active: true,
}],
// Browse-By Pages
browseBy: {
......
This diff is collapsed.
......@@ -86,9 +86,9 @@
// TODO New key - Add a translation
"admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}",
// "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are are hidden from the user, and used for administrative purposes.",
// "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.",
// TODO New key - Add a translation
"admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are are hidden from the user, and used for administrative purposes.",
"admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.",
// "admin.registries.bitstream-formats.edit.internal.label": "Internal",
// TODO New key - Add a translation
......@@ -1125,9 +1125,9 @@
// TODO New key - Add a translation
"item.edit.move.description": "Select the collection you wish to move this item to. To narrow down the list of displayed collections, you can enter a search query in the box.",
// "item.edit.move.error": "An error occured when attempting to move the item",
// "item.edit.move.error": "An error occurred when attempting to move the item",
// TODO New key - Add a translation
"item.edit.move.error": "An error occured when attempting to move the item",
"item.edit.move.error": "An error occurred when attempting to move the item",
// "item.edit.move.head": "Move item: {{id}}",
// TODO New key - Add a translation
......@@ -1153,9 +1153,9 @@
// TODO New key - Add a translation
"item.edit.move.search.placeholder": "Enter a search query to look for collections",
// "item.edit.move.success": "The item has been moved succesfully",
// "item.edit.move.success": "The item has been moved successfully",
// TODO New key - Add a translation
"item.edit.move.success": "The item has been moved succesfully",
"item.edit.move.success": "The item has been moved successfully",
// "item.edit.move.title": "Move item",
// TODO New key - Add a translation
......@@ -2911,9 +2911,9 @@
// TODO New key - Add a translation
"submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):",
// "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the fle metadata and access conditions or <strong>upload additional files just dragging & dropping them everywhere in the page</strong>",
// "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or <strong>upload additional files just dragging & dropping them everywhere in the page</strong>",
// TODO New key - Add a translation
"submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the fle metadata and access conditions or <strong>upload additional files just dragging & dropping them everywhere in the page</strong>",
"submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or <strong>upload additional files just dragging & dropping them everywhere in the page</strong>",
// "submission.sections.upload.no-entry": "No",
// TODO New key - Add a translation
......
......@@ -44,7 +44,7 @@
"admin.registries.bitstream-formats.edit.failure.head": "Fehler",
// "admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}",
"admin.registries.bitstream-formats.edit.head": "Dateiformat: {{ format }}",
// "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are are hidden from the user, and used for administrative purposes.",
// "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.",
"admin.registries.bitstream-formats.edit.internal.hint": "Dateiformate, die als intern gekennzeichnit sind, dienen administrativen Zwecken und bleiben dem Endnutzer verborgen.",
// "admin.registries.bitstream-formats.edit.internal.label": "Internal",
"admin.registries.bitstream-formats.edit.internal.label": "Intern",
......@@ -587,7 +587,7 @@
"item.edit.move.cancel": "Abbrechen",
// "item.edit.move.description": "Select the collection you wish to move this item to. To narrow down the list of displayed collections, you can enter a search query in the box.",
"item.edit.move.description": "Select the collection you wish to move this item to. To narrow down the list of displayed collections, you can enter a search query in the box.",
// "item.edit.move.error": "An error occured when attempting to move the item",
// "item.edit.move.error": "An error occurred when attempting to move the item",
"item.edit.move.error": "Ein Fehler ist beim Verschieben der Ressource aufgetreten",
// "item.edit.move.head": "Move item: {{id}}",
"item.edit.move.head": "Ressource verschieben: {{id}}",
......@@ -601,7 +601,7 @@
"item.edit.move.processing": "Verschieben...",
// "item.edit.move.search.placeholder": "Enter a search query to look for collections",
"item.edit.move.search.placeholder": "Geben Sie einen Begriff ein, um nach Sammlungen zu suchen",
// "item.edit.move.success": "The item has been moved succesfully",
// "item.edit.move.success": "The item has been moved successfully",
"item.edit.move.success": "Die Ressource wurde erfolgreich verschoben",
// "item.edit.move.title": "Move item",
"item.edit.move.title": "Ressource verschieben",
......@@ -1515,7 +1515,7 @@
"submission.sections.upload.header.policy.default.nolist": "In diese Sammlung {{collectionName}} hochgeladene Dateien werden für folgende(n) Gruppe(n) zugänglich sein:",
// "submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):",
"submission.sections.upload.header.policy.default.withlist": "Bitte beachten Sie, dass in diese Sammlung {{collectionName}} hochgeladene Dateien zugüglich zu dem, was für einzelne Dateien entschieden wurde, für folgende Gruppe(n) zugänglich sein:",
// "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the fle metadata and access conditions or <strong>upload additional files just dragging & dropping them everywhere in the page</strong>",
// "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or <strong>upload additional files just dragging & dropping them everywhere in the page</strong>",
"submission.sections.upload.info": "Hier finden Sie alle Dateien, die aktuell zur Ressource gehören. Sie können die Metadaten und Zugriffsrechte bearbeiten oder <strong>weitere Dateien hinzufügen, indem Sie sie einfach irgenwo auf diese Seite ziehen.</strong>",
// "submission.sections.upload.no-entry": "No",
"submission.sections.upload.no-entry": "Kein Eintrag",
......
......@@ -46,7 +46,7 @@
"admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}",
"admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are are hidden from the user, and used for administrative purposes.",
"admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.",
"admin.registries.bitstream-formats.edit.internal.label": "Internal",
......@@ -696,7 +696,7 @@
"item.edit.move.description": "Select the collection you wish to move this item to. To narrow down the list of displayed collections, you can enter a search query in the box.",
"item.edit.move.error": "An error occured when attempting to move the item",
"item.edit.move.error": "An error occurred when attempting to move the item",
"item.edit.move.head": "Move item: {{id}}",
......@@ -710,7 +710,7 @@
"item.edit.move.search.placeholder": "Enter a search query to look for collections",
"item.edit.move.success": "The item has been moved succesfully",
"item.edit.move.success": "The item has been moved successfully",
"item.edit.move.title": "Move item",
......@@ -1674,7 +1674,7 @@
"submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):",
"submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the fle metadata and access conditions or <strong>upload additional files just dragging & dropping them everywhere in the page</strong>",
"submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or <strong>upload additional files just dragging & dropping them everywhere in the page</strong>",
"submission.sections.upload.no-entry": "No",
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -32,24 +32,21 @@
"admin.registries.bitstream-formats.create.success.content": "The new bitstream format was successfully created.",
// "admin.registries.bitstream-formats.create.success.head": "Success",
// TODO New key - Add a translation
"admin.registries.bitstream-formats.create.success.head": "Success",
"admin.registries.bitstream-formats.create.success.head": "Succes",
// "admin.registries.bitstream-formats.delete.failure.amount": "Failed to remove {{ amount }} format(s)",
// TODO New key - Add a translation
"admin.registries.bitstream-formats.delete.failure.amount": "Failed to remove {{ amount }} format(s)",
// "admin.registries.bitstream-formats.delete.failure.head": "Failure",
// TODO New key - Add a translation
"admin.registries.bitstream-formats.delete.failure.head": "Failure",
"admin.registries.bitstream-formats.delete.failure.head": "Gefaald",
// "admin.registries.bitstream-formats.delete.success.amount": "Successfully removed {{ amount }} format(s)",
// TODO New key - Add a translation
"admin.registries.bitstream-formats.delete.success.amount": "Successfully removed {{ amount }} format(s)",
// "admin.registries.bitstream-formats.delete.success.head": "Success",
// TODO New key - Add a translation
"admin.registries.bitstream-formats.delete.success.head": "Success",
"admin.registries.bitstream-formats.delete.success.head": "Succes",
// "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.",
"admin.registries.bitstream-formats.description": "Deze lijst van Bitstream formaten biedt informatie over de formaten die in deze repository zijn toegelaten en op welke manier ze ondersteund worden. De term Bitstream wordt in DSpace gebruikt om een bestand aan te duiden dat samen met metadata onderdeel uitmaakt van een item. De naam bitstream duidt op het feit dat het bestand achterliggend wordt opgeslaan zonder bestandsextensie.",
......@@ -86,9 +83,9 @@
// TODO New key - Add a translation
"admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}",
// "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are are hidden from the user, and used for administrative purposes.",
// "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.",
// TODO New key - Add a translation
"admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are are hidden from the user, and used for administrative purposes.",
"admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.",
// "admin.registries.bitstream-formats.edit.internal.label": "Internal",
// TODO New key - Add a translation
......@@ -1125,9 +1122,9 @@
// TODO New key - Add a translation
"item.edit.move.description": "Select the collection you wish to move this item to. To narrow down the list of displayed collections, you can enter a search query in the box.",
// "item.edit.move.error": "An error occured when attempting to move the item",
// "item.edit.move.error": "An error occurred when attempting to move the item",
// TODO New key - Add a translation
"item.edit.move.error": "An error occured when attempting to move the item",
"item.edit.move.error": "An error occurred when attempting to move the item",
// "item.edit.move.head": "Move item: {{id}}",
// TODO New key - Add a translation
......@@ -1153,9 +1150,9 @@
// TODO New key - Add a translation
"item.edit.move.search.placeholder": "Enter a search query to look for collections",
// "item.edit.move.success": "The item has been moved succesfully",
// "item.edit.move.success": "The item has been moved successfully",
// TODO New key - Add a translation
"item.edit.move.success": "The item has been moved succesfully",
"item.edit.move.success": "The item has been moved successfully",
// "item.edit.move.title": "Move item",
// TODO New key - Add a translation
......@@ -2911,9 +2908,9 @@
// TODO New key - Add a translation
"submission.sections.upload.header.policy.default.withlist": "Please note that uploaded files in the {{collectionName}} collection will be accessible, in addition to what is explicitly decided for the single file, with the following group(s):",
// "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the fle metadata and access conditions or <strong>upload additional files just dragging & dropping them everywhere in the page</strong>",
// "submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or <strong>upload additional files just dragging & dropping them everywhere in the page</strong>",
// TODO New key - Add a translation
"submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the fle metadata and access conditions or <strong>upload additional files just dragging & dropping them everywhere in the page</strong>",
"submission.sections.upload.info": "Here you will find all the files currently in the item. You can update the file metadata and access conditions or <strong>upload additional files just dragging & dropping them everywhere in the page</strong>",
// "submission.sections.upload.no-entry": "No",
// TODO New key - Add a translation
......@@ -3087,4 +3084,4 @@
}
\ No newline at end of file
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -23,7 +23,7 @@ import {
} from '../../shared/testing/utils';
const mockItem: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: {
'dc.title': [
{
......
......@@ -50,7 +50,7 @@ describe('ItemPageFieldComponent', () => {
export function mockItemWithMetadataFieldAndValue(field: string, value: string): Item {
const item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: new MetadataMap()
});
item.metadata[field] = [{
......
......@@ -22,7 +22,7 @@ import {
} from '../../shared/testing/utils';
const mockItem: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: [],
relationships: createRelationshipsObservable()
});
......
......@@ -17,7 +17,7 @@ import { MetadataMap } from '../../../../core/shared/metadata.models';
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
const mockItem: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: new MetadataMap(),
relationships: createRelationshipsObservable()
});
......
......@@ -11,17 +11,17 @@ import { RelationshipService } from '../../../core/data/relationship.service';
import { TranslateModule } from '@ngx-translate/core';
const parentItem: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: [],
relationships: createRelationshipsObservable()
});
const mockItem1: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: [],
relationships: createRelationshipsObservable()
});
const mockItem2: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: [],
relationships: createRelationshipsObservable()
});
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment