Skip to content
Snippets Groups Projects
Commit d9b2e719 authored by Florent Poittevin's avatar Florent Poittevin
Browse files

590 Upload datafile WIP

parent 7d42ad09
No related branches found
No related tags found
1 merge request!22Fpo/590 upload datafile
Showing
with 311 additions and 201 deletions
...@@ -3,6 +3,7 @@ import {MatDialog} from "@angular/material"; ...@@ -3,6 +3,7 @@ import {MatDialog} from "@angular/material";
import {ActivatedRoute} from "@angular/router"; import {ActivatedRoute} from "@angular/router";
import {DepositAction} from "@app/deposit/deposit.action"; import {DepositAction} from "@app/deposit/deposit.action";
import {DepositStateModel} from "@app/deposit/deposit.state"; import {DepositStateModel} from "@app/deposit/deposit.state";
import {DepositDataFileModel} from "@app/deposit/models/deposit-data-file.model";
import {DepositsModel, LanguagesModel, LicensesModel, PreservationPoliciesModel, SubmissionPoliciesModel} from "@app/generated-api"; import {DepositsModel, LanguagesModel, LicensesModel, PreservationPoliciesModel, SubmissionPoliciesModel} from "@app/generated-api";
import {OrganizationalUnitModule} from "@app/organizational-unit/organizational-unit.module"; import {OrganizationalUnitModule} from "@app/organizational-unit/organizational-unit.module";
import {StateEnum} from "@app/shared/enums/state.enum"; import {StateEnum} from "@app/shared/enums/state.enum";
...@@ -30,6 +31,7 @@ export class DetailView extends AbstractDetailView<DepositsModel, DepositStateMo ...@@ -30,6 +31,7 @@ export class DetailView extends AbstractDetailView<DepositsModel, DepositStateMo
@Select((state) => ((state[StateEnum.shared] as SharedStateModel).submissionPolicy as SubmissionPolicyStateModel).list) submissionPolicies$: Observable<SubmissionPoliciesModel[]>; @Select((state) => ((state[StateEnum.shared] as SharedStateModel).submissionPolicy as SubmissionPolicyStateModel).list) submissionPolicies$: Observable<SubmissionPoliciesModel[]>;
@Select((state) => ((state[StateEnum.shared] as SharedStateModel).preservationPolicy as PreservationPolicyStateModel).list) preservationPolicies$: Observable<PreservationPoliciesModel[]>; @Select((state) => ((state[StateEnum.shared] as SharedStateModel).preservationPolicy as PreservationPolicyStateModel).list) preservationPolicies$: Observable<PreservationPoliciesModel[]>;
@Select((state) => (state[StateEnum.organizationalUnit] as OrganizationalUnitStateModel).list) organizationalUnits$: Observable<OrganizationalUnitModule[]>; @Select((state) => (state[StateEnum.organizationalUnit] as OrganizationalUnitStateModel).list) organizationalUnits$: Observable<OrganizationalUnitModule[]>;
@Select((state) => (state[StateEnum.deposit] as DepositStateModel).listDataFile) listDataFile$: Observable<DepositDataFileModel[]>;
readonly KEY_PARAM_NAME: string = "title"; readonly KEY_PARAM_NAME: string = "title";
readonly KEY_DELETE_BUTTON: string = TRANSLATE("deposit.delete"); readonly KEY_DELETE_BUTTON: string = TRANSLATE("deposit.delete");
...@@ -47,5 +49,6 @@ export class DetailView extends AbstractDetailView<DepositsModel, DepositStateMo ...@@ -47,5 +49,6 @@ export class DetailView extends AbstractDetailView<DepositsModel, DepositStateMo
} }
getSubResourceWithParentId(id: string): void { getSubResourceWithParentId(id: string): void {
this.store.dispatch(new DepositAction.GetAllSubResourceData(id));
} }
} }
<dlcm-form-deposit *ngIf="(current$ | async)"
[model]="current$ | async"
[languages]="languages$ | async"
[licenses]="licenses$ | async"
[submissionPolicies]="submissionPolicies$ | async"
[preservationPolicies]="preservationPolicies$ | async"
[organizationalUnits]="organizationalUnits$ | async"
(submitEvent)="update($event)"
></dlcm-form-deposit>
<mat-spinner *ngIf="(isLoading$ | async)"></mat-spinner> <mat-spinner *ngIf="(isLoading$ | async)"></mat-spinner>
<mat-tab-group mat-align-tabs="center"
animationDuration="0ms"
>
<mat-tab [label]="'deposit.tab.details' | translate">
<dlcm-form-deposit *ngIf="(current$ | async)"
[model]="current$ | async"
[languages]="languages$ | async"
[licenses]="licenses$ | async"
[submissionPolicies]="submissionPolicies$ | async"
[preservationPolicies]="preservationPolicies$ | async"
[organizationalUnits]="organizationalUnits$ | async"
(submitEvent)="update($event)"
></dlcm-form-deposit>
</mat-tab>
<mat-tab [label]="'deposit.tab.datafiles' | translate">
<dlcm-file-deposit [parentResId]="getResId()"
></dlcm-file-deposit>
</mat-tab>
</mat-tab-group>
...@@ -2,6 +2,7 @@ import {ChangeDetectionStrategy, Component, OnInit} from "@angular/core"; ...@@ -2,6 +2,7 @@ import {ChangeDetectionStrategy, Component, OnInit} from "@angular/core";
import {ActivatedRoute} from "@angular/router"; import {ActivatedRoute} from "@angular/router";
import {DepositAction} from "@app/deposit/deposit.action"; import {DepositAction} from "@app/deposit/deposit.action";
import {DepositStateModel} from "@app/deposit/deposit.state"; import {DepositStateModel} from "@app/deposit/deposit.state";
import {DepositDataFileModel} from "@app/deposit/models/deposit-data-file.model";
import {DepositsModel, LanguagesModel, LicensesModel, PreservationPoliciesModel, SubmissionPoliciesModel} from "@app/generated-api"; import {DepositsModel, LanguagesModel, LicensesModel, PreservationPoliciesModel, SubmissionPoliciesModel} from "@app/generated-api";
import {OrganizationalUnitModule} from "@app/organizational-unit/organizational-unit.module"; import {OrganizationalUnitModule} from "@app/organizational-unit/organizational-unit.module";
import {StateEnum} from "@app/shared/enums/state.enum"; import {StateEnum} from "@app/shared/enums/state.enum";
...@@ -39,6 +40,7 @@ export class EditView extends AbstractEditView<DepositsModel, DepositStateModel> ...@@ -39,6 +40,7 @@ export class EditView extends AbstractEditView<DepositsModel, DepositStateModel>
this.store.dispatch(new OrgUnitAction.GetAll()); this.store.dispatch(new OrgUnitAction.GetAll());
} }
getSubresourceWithParentId(id: string): void { getSubResourceWithParentId(id: string): void {
this.store.dispatch(new DepositAction.GetAllSubResourceData(id));
} }
} }
...@@ -12,7 +12,7 @@ import { ...@@ -12,7 +12,7 @@ import {
MatSnackBarModule, MatSnackBarModule,
MatTabsModule, MatTabsModule,
MatToolbarModule, MatToolbarModule,
MatTooltipModule, MatTooltipModule, MatTreeModule,
} from "@angular/material"; } from "@angular/material";
const modules = [ const modules = [
...@@ -29,6 +29,7 @@ const modules = [ ...@@ -29,6 +29,7 @@ const modules = [
MatCheckboxModule, MatCheckboxModule,
MatPaginatorModule, MatPaginatorModule,
MatTooltipModule, MatTooltipModule,
MatTreeModule,
]; ];
@NgModule({ @NgModule({
......
<div class="button-toolbar"> <div class="button-toolbar">
<button mat-flat-button color="primary" (click)="edit()">{{KEY_EDIT_BUTTON | translate}}</button> <button mat-flat-button color="primary" (click)="edit()">{{KEY_EDIT_BUTTON | translate}}</button>
<button mat-flat-button color="secondary" (click)="delete()">{{KEY_DELETE_BUTTON | translate}}</button> <button mat-flat-button color="accent" (click)="delete()">{{KEY_DELETE_BUTTON | translate}}</button>
</div> </div>
<div class="wrapper"> <div class="wrapper">
......
...@@ -28,7 +28,7 @@ export class EditView extends AbstractEditView<OrganizationalUnitsModel, Organiz ...@@ -28,7 +28,7 @@ export class EditView extends AbstractEditView<OrganizationalUnitsModel, Organiz
super(store, route, StateEnum.organizationalUnit); super(store, route, StateEnum.organizationalUnit);
} }
getSubresourceWithParentId(id: string): void { getSubResourceWithParentId(id: string): void {
this.store.dispatch(new OrgUnitAction.GetAllSubResourceSubmissionPolicies(id)); this.store.dispatch(new OrgUnitAction.GetAllSubResourceSubmissionPolicies(id));
} }
......
...@@ -3,7 +3,7 @@ import {QueryParametersModel} from "@app/shared/models/query-parameters.model"; ...@@ -3,7 +3,7 @@ import {QueryParametersModel} from "@app/shared/models/query-parameters.model";
export namespace CrudAction { export namespace CrudAction {
export class LoadResource { export class LoadResource {
protected static abstractType = "[{0}] Load resource"; protected static readonly abstractType = "[{0}] Load resource";
public static readonly className = "LoadResource"; public static readonly className = "LoadResource";
constructor() { constructor() {
...@@ -11,7 +11,7 @@ export namespace CrudAction { ...@@ -11,7 +11,7 @@ export namespace CrudAction {
} }
export class LoadResourceSuccess { export class LoadResourceSuccess {
protected static abstractType = "[{0}] Load resource Success"; protected static readonly abstractType = "[{0}] Load resource Success";
public static readonly className = "LoadResourceSuccess"; public static readonly className = "LoadResourceSuccess";
constructor() { constructor() {
...@@ -19,7 +19,7 @@ export namespace CrudAction { ...@@ -19,7 +19,7 @@ export namespace CrudAction {
} }
export class LoadResourceFail { export class LoadResourceFail {
protected static abstractType = "[{0}] Load resource Fail"; protected static readonly abstractType = "[{0}] Load resource Fail";
public static readonly className = "LoadResourceFail"; public static readonly className = "LoadResourceFail";
constructor() { constructor() {
...@@ -27,7 +27,7 @@ export namespace CrudAction { ...@@ -27,7 +27,7 @@ export namespace CrudAction {
} }
export class ChangeQueryParameters { export class ChangeQueryParameters {
protected static abstractType = "[{0}] Change Query Parameters"; protected static readonly abstractType = "[{0}] Change Query Parameters";
public static readonly className = "ChangeQueryParameters"; public static readonly className = "ChangeQueryParameters";
constructor(public queryParameters: QueryParametersModel) { constructor(public queryParameters: QueryParametersModel) {
...@@ -35,15 +35,15 @@ export namespace CrudAction { ...@@ -35,15 +35,15 @@ export namespace CrudAction {
} }
export class GetAll { export class GetAll {
protected static abstractType = "[{0}] Get All"; protected static readonly abstractType = "[{0}] Get All";
public static readonly className = "GetAll"; public static readonly className = GetAll.name;
constructor(public queryParameters?: QueryParametersModel) { constructor(public queryParameters?: QueryParametersModel) {
} }
} }
export class GetAllSuccess<T> { export class GetAllSuccess<T> {
protected static abstractType = "[{0}] Get All Success"; protected static readonly abstractType = "[{0}] Get All Success";
public static readonly className = "GetAllSuccess"; public static readonly className = "GetAllSuccess";
constructor(public list: CollectionTypedModel<T>) { constructor(public list: CollectionTypedModel<T>) {
...@@ -51,7 +51,7 @@ export namespace CrudAction { ...@@ -51,7 +51,7 @@ export namespace CrudAction {
} }
export class GetAllFail { export class GetAllFail {
protected static abstractType = "[{0}] Get All Fail"; protected static readonly abstractType = "[{0}] Get All Fail";
public static readonly className = "GetAllFail"; public static readonly className = "GetAllFail";
constructor() { constructor() {
...@@ -59,7 +59,7 @@ export namespace CrudAction { ...@@ -59,7 +59,7 @@ export namespace CrudAction {
} }
export class GetById { export class GetById {
protected static abstractType = "[{0}] Get By Id"; protected static readonly abstractType = "[{0}] Get By Id";
public static readonly className = "GetById"; public static readonly className = "GetById";
constructor(public id: string) { constructor(public id: string) {
...@@ -67,7 +67,7 @@ export namespace CrudAction { ...@@ -67,7 +67,7 @@ export namespace CrudAction {
} }
export class GetByIdSuccess<T> { export class GetByIdSuccess<T> {
protected static abstractType = "[{0}] Get By Id Success"; protected static readonly abstractType = "[{0}] Get By Id Success";
public static readonly className = "GetByIdSuccess"; public static readonly className = "GetByIdSuccess";
constructor(public model: T) { constructor(public model: T) {
...@@ -75,7 +75,7 @@ export namespace CrudAction { ...@@ -75,7 +75,7 @@ export namespace CrudAction {
} }
export class GetByIdFail { export class GetByIdFail {
protected static abstractType = "[{0}] Get By Id Fail"; protected static readonly abstractType = "[{0}] Get By Id Fail";
public static readonly className = "GetByIdFail"; public static readonly className = "GetByIdFail";
constructor() { constructor() {
...@@ -83,7 +83,7 @@ export namespace CrudAction { ...@@ -83,7 +83,7 @@ export namespace CrudAction {
} }
export class Create<T> { export class Create<T> {
protected static abstractType = "[{0}] Create"; protected static readonly abstractType = "[{0}] Create";
public static readonly className = "Create"; public static readonly className = "Create";
constructor(public model: T) { constructor(public model: T) {
...@@ -91,7 +91,7 @@ export namespace CrudAction { ...@@ -91,7 +91,7 @@ export namespace CrudAction {
} }
export class CreateSuccess { export class CreateSuccess {
protected static abstractType = "[{0}] Create Success"; protected static readonly abstractType = "[{0}] Create Success";
public static readonly className = "CreateSuccess"; public static readonly className = "CreateSuccess";
constructor() { constructor() {
...@@ -99,7 +99,7 @@ export namespace CrudAction { ...@@ -99,7 +99,7 @@ export namespace CrudAction {
} }
export class CreateFail { export class CreateFail {
protected static abstractType = "[{0}] Create Fail"; protected static readonly abstractType = "[{0}] Create Fail";
public static readonly className = "CreateFail"; public static readonly className = "CreateFail";
constructor() { constructor() {
...@@ -107,7 +107,7 @@ export namespace CrudAction { ...@@ -107,7 +107,7 @@ export namespace CrudAction {
} }
export class Update<T> { export class Update<T> {
protected static abstractType = "[{0}] Update"; protected static readonly abstractType = "[{0}] Update";
public static readonly className = "Update"; public static readonly className = "Update";
constructor(public model: T) { constructor(public model: T) {
...@@ -115,7 +115,7 @@ export namespace CrudAction { ...@@ -115,7 +115,7 @@ export namespace CrudAction {
} }
export class UpdateSuccess { export class UpdateSuccess {
protected static abstractType = "[{0}] Update Success"; protected static readonly abstractType = "[{0}] Update Success";
public static readonly className = "UpdateSuccess"; public static readonly className = "UpdateSuccess";
constructor() { constructor() {
...@@ -123,7 +123,7 @@ export namespace CrudAction { ...@@ -123,7 +123,7 @@ export namespace CrudAction {
} }
export class UpdateFail { export class UpdateFail {
protected static abstractType = "[{0}] Update Fail"; protected static readonly abstractType = "[{0}] Update Fail";
public static readonly className = "UpdateFail"; public static readonly className = "UpdateFail";
constructor() { constructor() {
...@@ -131,7 +131,7 @@ export namespace CrudAction { ...@@ -131,7 +131,7 @@ export namespace CrudAction {
} }
export class Delete { export class Delete {
protected static abstractType = "[{0}] Delete"; protected static readonly abstractType = "[{0}] Delete";
public static readonly className = "Delete"; public static readonly className = "Delete";
constructor(public resId: string) { constructor(public resId: string) {
...@@ -139,7 +139,7 @@ export namespace CrudAction { ...@@ -139,7 +139,7 @@ export namespace CrudAction {
} }
export class DeleteSuccess { export class DeleteSuccess {
protected static abstractType = "[{0}] Delete Success"; protected static readonly abstractType = "[{0}] Delete Success";
public static readonly className = "DeleteSuccess"; public static readonly className = "DeleteSuccess";
constructor() { constructor() {
...@@ -147,7 +147,7 @@ export namespace CrudAction { ...@@ -147,7 +147,7 @@ export namespace CrudAction {
} }
export class DeleteFail { export class DeleteFail {
protected static abstractType = "[{0}] Delete Fail"; protected static readonly abstractType = "[{0}] Delete Fail";
public static readonly className = "DeleteFail"; public static readonly className = "DeleteFail";
constructor() { constructor() {
...@@ -155,7 +155,7 @@ export namespace CrudAction { ...@@ -155,7 +155,7 @@ export namespace CrudAction {
} }
export class GetAllSubResource { export class GetAllSubResource {
protected static abstractType = "[{0}] Get All SubResource {1}"; protected static readonly abstractType = "[{0}] Get All SubResource {1}";
public static readonly className = "GetAllSubResource{0}"; public static readonly className = "GetAllSubResource{0}";
constructor(public parentId: string, public queryParameters?: QueryParametersModel) { constructor(public parentId: string, public queryParameters?: QueryParametersModel) {
...@@ -163,7 +163,7 @@ export namespace CrudAction { ...@@ -163,7 +163,7 @@ export namespace CrudAction {
} }
export class GetAllSubResourceSuccess<T> { export class GetAllSubResourceSuccess<T> {
protected static abstractType = "[{0}] Get All SubResource {1} Success"; protected static readonly abstractType = "[{0}] Get All SubResource {1} Success";
public static readonly className = "GetAllSubResource{0}Success"; public static readonly className = "GetAllSubResource{0}Success";
constructor(public list: CollectionTypedModel<T>) { constructor(public list: CollectionTypedModel<T>) {
...@@ -171,15 +171,23 @@ export namespace CrudAction { ...@@ -171,15 +171,23 @@ export namespace CrudAction {
} }
export class GetAllSubResourceFail { export class GetAllSubResourceFail {
protected static abstractType = "[{0}] Get All SubResource {1} Fail"; protected static readonly abstractType = "[{0}] Get All SubResource {1} Fail";
public static readonly className = "GetAllSubResource{0}Fail"; public static readonly className = "GetAllSubResource{0}Fail";
constructor() { constructor() {
} }
} }
export class CreateCompoSubResource<T> {
protected static readonly abstractType = "[{0}] Create Compo SubResource {1}";
public static readonly className = "CreateCompoSubResource{0}";
constructor(public parentId: string, public model: T) {
}
}
export class CreateSubResource { export class CreateSubResource {
protected static abstractType = "[{0}] Create SubResource {1}"; protected static readonly abstractType = "[{0}] Create SubResource {1}";
public static readonly className = "CreateSubResource{0}"; public static readonly className = "CreateSubResource{0}";
constructor(public parentId: string, public listResId: string[]) { constructor(public parentId: string, public listResId: string[]) {
...@@ -187,7 +195,7 @@ export namespace CrudAction { ...@@ -187,7 +195,7 @@ export namespace CrudAction {
} }
export class CreateSubResourceSuccess { export class CreateSubResourceSuccess {
protected static abstractType = "[{0}] Create SubResource {1} Success"; protected static readonly abstractType = "[{0}] Create SubResource {1} Success";
public static readonly className = "CreateSubResource{0}Success"; public static readonly className = "CreateSubResource{0}Success";
constructor() { constructor() {
...@@ -195,7 +203,7 @@ export namespace CrudAction { ...@@ -195,7 +203,7 @@ export namespace CrudAction {
} }
export class CreateSubResourceFail { export class CreateSubResourceFail {
protected static abstractType = "[{0}] Create SubResource {1} Fail"; protected static readonly abstractType = "[{0}] Create SubResource {1} Fail";
public static readonly className = "CreateSubResource{0}Fail"; public static readonly className = "CreateSubResource{0}Fail";
constructor() { constructor() {
...@@ -203,7 +211,7 @@ export namespace CrudAction { ...@@ -203,7 +211,7 @@ export namespace CrudAction {
} }
export class DeleteSubResource { export class DeleteSubResource {
protected static abstractType = "[{0}] Delete SubResource {1}"; protected static readonly abstractType = "[{0}] Delete SubResource {1}";
public static readonly className = "DeleteSubResource{0}"; public static readonly className = "DeleteSubResource{0}";
constructor(public parentId: string, public listResId: string[]) { constructor(public parentId: string, public listResId: string[]) {
...@@ -211,7 +219,7 @@ export namespace CrudAction { ...@@ -211,7 +219,7 @@ export namespace CrudAction {
} }
export class DeleteSubResourceSuccess { export class DeleteSubResourceSuccess {
protected static abstractType = "[{0}] Delete SubResource {1} Success"; protected static readonly abstractType = "[{0}] Delete SubResource {1} Success";
public static readonly className = "DeleteSubResource{0}Success"; public static readonly className = "DeleteSubResource{0}Success";
constructor() { constructor() {
...@@ -219,7 +227,7 @@ export namespace CrudAction { ...@@ -219,7 +227,7 @@ export namespace CrudAction {
} }
export class DeleteSubResourceFail { export class DeleteSubResourceFail {
protected static abstractType = "[{0}] Delete SubResource {1} Fail"; protected static readonly abstractType = "[{0}] Delete SubResource {1} Fail";
public static readonly className = "DeleteSubResource{0}Fail"; public static readonly className = "DeleteSubResource{0}Fail";
constructor() { constructor() {
...@@ -227,7 +235,7 @@ export namespace CrudAction { ...@@ -227,7 +235,7 @@ export namespace CrudAction {
} }
export class UpdateSubResource { export class UpdateSubResource {
protected static abstractType = "[{0}] Update SubResource {1}"; protected static readonly abstractType = "[{0}] Update SubResource {1}";
public static readonly className = "UpdateSubResource{0}"; public static readonly className = "UpdateSubResource{0}";
constructor(public parentId: string, public oldResId: string[], public newResId: string[]) { constructor(public parentId: string, public oldResId: string[], public newResId: string[]) {
...@@ -235,7 +243,7 @@ export namespace CrudAction { ...@@ -235,7 +243,7 @@ export namespace CrudAction {
} }
export class UpdateSubResourceSuccess { export class UpdateSubResourceSuccess {
protected static abstractType = "[{0}] Update SubResource {1} Success"; protected static readonly abstractType = "[{0}] Update SubResource {1} Success";
public static readonly className = "UpdateSubResource{0}Success"; public static readonly className = "UpdateSubResource{0}Success";
constructor(public parentId) { constructor(public parentId) {
...@@ -243,7 +251,7 @@ export namespace CrudAction { ...@@ -243,7 +251,7 @@ export namespace CrudAction {
} }
export class UpdateSubResourceFail { export class UpdateSubResourceFail {
protected static abstractType = "[{0}] Update SubResource {1} Fail"; protected static readonly abstractType = "[{0}] Update SubResource {1} Fail";
public static readonly className = "UpdateSubResource{0}Fail"; public static readonly className = "UpdateSubResource{0}Fail";
constructor(public parentId) { constructor(public parentId) {
......
...@@ -18,4 +18,43 @@ export class ApiActionEnum { ...@@ -18,4 +18,43 @@ export class ApiActionEnum {
public static REINDEX = "reindex"; public static REINDEX = "reindex";
public static CHECK_FIXITY = "check-fixity"; public static CHECK_FIXITY = "check-fixity";
public static SEARCH_DOI = "search-doi"; public static SEARCH_DOI = "search-doi";
public static SELF = "self";
public static MODULE = "module";
public static PARENT = "parent";
public static STATUS = "status";
public static DASHBOARD = "dashboard";
public static RESOURCES = "resources";
public static LIST = "list";
public static FILE = "file";
public static COUNT = "count";
public static PREVIOUS = "previous";
public static NEXT = "next";
public static CREATE = "new";
public static READ = "get";
public static UPDATE = "edit";
public static DELETE = "remove";
public static VALUES = "values";
public static SEARCH = "search";
public static LASTCREATED = "lastCreated";
public static LASTUPDATE = "lastUpdated";
public static RANGE = "searchRange";
public static SIZE = "size";
public static PAGE = "page";
public static SORT = "sort";
public static CREATION = "creation.when";
public static UPDATED = "lastUpdate.when";
public static ERROR = "error";
public static UL = "upload";
public static UL_ARCHIVE = "upload-archive";
public static DL = "download";
public static HISTORY = "history";
public static RESUME = "resume";
public static START = "start";
public static ALL = "All";
public static VIEW = "view";
public static SAVE = "save";
public static IMPORT = "import";
public static IMPORTED = "imported";
public static CLOSE = "close";
} }
import {Type} from "@angular/core";
import {OrganizationalUnitsModel, SubmissionPoliciesModel} from "@app/generated-api"; import {OrganizationalUnitsModel, SubmissionPoliciesModel} from "@app/generated-api";
import {CrudAction} from "@app/shared/crud.action"; import {CrudAction} from "@app/shared/crud.action";
import {ApiResourceNameEnum} from "@app/shared/enums/api-resource-name.enum"; import {ApiResourceNameEnum} from "@app/shared/enums/api-resource-name.enum";
......
...@@ -186,6 +186,18 @@ export class ApiService { ...@@ -186,6 +186,18 @@ export class ApiService {
); );
} }
public upload(path: string, data) {
let headers = this.defaultHeaders;
headers = headers.set("Content-Type", "multipart/form-data; boundary=HereGoes");
// headers = headers.set("Accept", "application/json");
return this.httpClient.post<any>(`${this.configuration.basePath}/${path}`, data, {
reportProgress: true,
observe: "events",
headers,
});
}
private getQueryParameters(queryParameters: QueryParametersModel, customParameters: { [p: string]: string }) { private getQueryParameters(queryParameters: QueryParametersModel, customParameters: { [p: string]: string }) {
let queryParametersHttp = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()}); let queryParametersHttp = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});
if (queryParameters == null) { if (queryParameters == null) {
......
...@@ -70,7 +70,7 @@ export class CrudActionUtil { ...@@ -70,7 +70,7 @@ export class CrudActionUtil {
return CrudActionUtil.getInstanceInternal(state, CrudAction.GetAll.className, queryParameters); return CrudActionUtil.getInstanceInternal(state, CrudAction.GetAll.className, queryParameters);
} }
static getAllSuccess<T>(state: StateEnum, list: CollectionTypedModel<T>): CrudAction.GetAllSuccess<any> { static getAllSuccess<T>(state: StateEnum, list: CollectionTypedModel<T>): CrudAction.GetAllSuccess<T> {
return CrudActionUtil.getInstanceInternal(state, CrudAction.GetAllSuccess.className, list); return CrudActionUtil.getInstanceInternal(state, CrudAction.GetAllSuccess.className, list);
} }
...@@ -82,7 +82,7 @@ export class CrudActionUtil { ...@@ -82,7 +82,7 @@ export class CrudActionUtil {
return CrudActionUtil.getInstanceInternal(state, CrudAction.GetById.className, id); return CrudActionUtil.getInstanceInternal(state, CrudAction.GetById.className, id);
} }
static getByIdSuccess<T>(state: StateEnum, model: T): CrudAction.GetByIdSuccess<any> { static getByIdSuccess<T>(state: StateEnum, model: T): CrudAction.GetByIdSuccess<T> {
return CrudActionUtil.getInstanceInternal(state, CrudAction.GetByIdSuccess.className, model); return CrudActionUtil.getInstanceInternal(state, CrudAction.GetByIdSuccess.className, model);
} }
...@@ -90,7 +90,7 @@ export class CrudActionUtil { ...@@ -90,7 +90,7 @@ export class CrudActionUtil {
return CrudActionUtil.getInstanceInternal(state, CrudAction.GetByIdFail.className); return CrudActionUtil.getInstanceInternal(state, CrudAction.GetByIdFail.className);
} }
static create<T>(state: StateEnum, model: T): CrudAction.Create<any> { static create<T>(state: StateEnum, model: T): CrudAction.Create<T> {
return CrudActionUtil.getInstanceInternal(state, CrudAction.Create.className, model); return CrudActionUtil.getInstanceInternal(state, CrudAction.Create.className, model);
} }
...@@ -102,7 +102,7 @@ export class CrudActionUtil { ...@@ -102,7 +102,7 @@ export class CrudActionUtil {
return CrudActionUtil.getInstanceInternal(state, CrudAction.CreateFail.className); return CrudActionUtil.getInstanceInternal(state, CrudAction.CreateFail.className);
} }
static update<T>(state: StateEnum, model: T): CrudAction.Update<any> { static update<T>(state: StateEnum, model: T): CrudAction.Update<T> {
return CrudActionUtil.getInstanceInternal(state, CrudAction.Update.className, model); return CrudActionUtil.getInstanceInternal(state, CrudAction.Update.className, model);
} }
...@@ -123,7 +123,7 @@ export class CrudActionUtil { ...@@ -123,7 +123,7 @@ export class CrudActionUtil {
} }
static deleteFail(state: StateEnum): CrudAction.DeleteFail { static deleteFail(state: StateEnum): CrudAction.DeleteFail {
return CrudActionUtil.getInstanceInternal(state, CrudAction.DeleteFail.className); return CrudActionUtil.getInstanceInternal(state, CrudAction.DeleteFail.name);
} }
static getAllSubResource(state: StateEnum, subResource: ApiResourceNameEnum, parentId: string, queryParameters?: QueryParametersModel): CrudAction.GetAllSubResource { static getAllSubResource(state: StateEnum, subResource: ApiResourceNameEnum, parentId: string, queryParameters?: QueryParametersModel): CrudAction.GetAllSubResource {
......
import {OnInit} from "@angular/core"; import {OnInit} from "@angular/core";
import {DepositAction} from "@app/deposit/deposit.action";
import {CrudAction} from "@app/shared/crud.action";
import {CrudStateModel} from "@app/shared/crud.state"; import {CrudStateModel} from "@app/shared/crud.state";
import {BaseDirective} from "@app/shared/directives/base.directive"; import {BaseDirective} from "@app/shared/directives/base.directive";
import {StateEnum} from "@app/shared/enums/state.enum"; import {StateEnum} from "@app/shared/enums/state.enum";
......
...@@ -54,6 +54,10 @@ export abstract class AbstractDetailView<T, U extends CrudStateModel<T>> extends ...@@ -54,6 +54,10 @@ export abstract class AbstractDetailView<T, U extends CrudStateModel<T>> extends
abstract getSubResourceWithParentId(id: string): void; abstract getSubResourceWithParentId(id: string): void;
protected getResId(): string {
return this.resId;
}
edit() { edit() {
this.store.dispatch(new Navigate([CrudRouteUtil.getEditRoute(this.state), this.resId])); this.store.dispatch(new Navigate([CrudRouteUtil.getEditRoute(this.state), this.resId]));
} }
......
...@@ -34,10 +34,14 @@ export abstract class AbstractEditView<T, U extends CrudStateModel<T>> extends B ...@@ -34,10 +34,14 @@ export abstract class AbstractEditView<T, U extends CrudStateModel<T>> extends B
private getById(id: string) { private getById(id: string) {
this.store.dispatch(CrudActionUtil.getById(this.state, id)); this.store.dispatch(CrudActionUtil.getById(this.state, id));
this.getSubresourceWithParentId(id); this.getSubResourceWithParentId(id);
} }
abstract getSubresourceWithParentId(id: string): void; abstract getSubResourceWithParentId(id: string): void;
protected getResId(): string {
return this.resId;
}
update(model: T) { update(model: T) {
this.store.dispatch(CrudActionUtil.update<T>(this.state, model)); this.store.dispatch(CrudActionUtil.update<T>(this.state, model));
......
<div class="button-toolbar"> <div class="button-toolbar">
<button mat-flat-button color="primary" (click)="create()">{{KEY_CREATE_BUTTON | translate}}</button> <button mat-flat-button color="primary" (click)="create()">{{KEY_CREATE_BUTTON | translate}}</button>
<button mat-flat-button color="secondary" (click)="getAll()">{{KEY_REFRESH_BUTTON | translate}}</button> <button mat-flat-button color="accent" (click)="getAll()">{{KEY_REFRESH_BUTTON | translate}}</button>
</div> </div>
<div class="wrapper"> <div class="wrapper">
......
...@@ -60,6 +60,10 @@ ...@@ -60,6 +60,10 @@
} }
}, },
"edit": "Edit", "edit": "Edit",
"file": {
"search": "Choose file",
"uploadButton": "Upload"
},
"hasEmbargo": "The deposit has an embargo", "hasEmbargo": "The deposit has an embargo",
"hint": { "hint": {
"author": "Author" "author": "Author"
...@@ -73,6 +77,10 @@ ...@@ -73,6 +77,10 @@
"refresh": "Refresh", "refresh": "Refresh",
"submissionPolicy": "Submission Policy", "submissionPolicy": "Submission Policy",
"submit": "Submit", "submit": "Submit",
"tab": {
"datafiles": "Data Files",
"details": "Details"
},
"table": { "table": {
"header": { "header": {
"creation": { "creation": {
...@@ -136,12 +144,8 @@ ...@@ -136,12 +144,8 @@
"required": "This field is required", "required": "This field is required",
"search": "Search", "search": "Search",
"table": { "table": {
"nodata": "No data has been found" "nodata": "No data has been found",
}, "paginator": {
"tooltip": {
"other": "other",
"others": "others",
"paginator": {
"firstPage": "First page", "firstPage": "First page",
"itemPerPage": "Items per page", "itemPerPage": "Items per page",
"lastPage": "Last page", "lastPage": "Last page",
...@@ -149,5 +153,9 @@ ...@@ -149,5 +153,9 @@
"ofLabel": "of", "ofLabel": "of",
"previousPage": "Previous page" "previousPage": "Previous page"
} }
},
"tooltip": {
"other": "other",
"others": "others"
} }
} }
...@@ -60,6 +60,10 @@ ...@@ -60,6 +60,10 @@
} }
}, },
"edit": "Edit", "edit": "Edit",
"file": {
"search": "Choose file",
"uploadButton": "Upload"
},
"hasEmbargo": "The deposit has an embargo", "hasEmbargo": "The deposit has an embargo",
"hint": { "hint": {
"author": "Author" "author": "Author"
...@@ -73,6 +77,10 @@ ...@@ -73,6 +77,10 @@
"refresh": "Refresh", "refresh": "Refresh",
"submissionPolicy": "Submission Policy", "submissionPolicy": "Submission Policy",
"submit": "Submit", "submit": "Submit",
"tab": {
"datafiles": "Data Files",
"details": "Details"
},
"table": { "table": {
"header": { "header": {
"creation": { "creation": {
......
{ {
"access": { "access": {
"organizationalUnitNotFound": "Impossible d'obtenir les données", "organizationalUnitNotFound": "Impossible d'obtenir les données",
"table": { "table": {
"header": { "header": {
"accessLevel": "Niveau d'Accès", "accessLevel": "Niveau d'Accès",
"organizationalUnit": "Unité Organisationnelle", "organizationalUnit": "Unité Organisationnelle",
"title": "Titre", "title": "Titre",
"yearPublicationDate": "Année de Publication" "yearPublicationDate": "Année de Publication"
} }
} }
}, },
"app": { "app": {
"login": { "login": {
"loginButton": "Se connecter", "loginButton": "Se connecter",
"loginMessage": "Vous n'êtes actuellement pas connecté, veuillez vous connecter afin de continuer." "loginMessage": "Vous n'êtes actuellement pas connecté, veuillez vous connecter afin de continuer."
}, },
"toolbar": { "toolbar": {
"deposit": "Dépôts", "deposit": "Dépôts",
"home": "Accueil", "home": "Accueil",
"login": "Connexion", "login": "Connexion",
"logout": "Déconnexion", "logout": "Déconnexion",
"organizationalUnit": "Unités Organisationnelles" "organizationalUnit": "Unités Organisationnelles"
} }
}, },
"breadcrumb": { "breadcrumb": {
"access": { "access": {
"root": "Accès", "root": "Accès",
"search": "Recherche" "search": "Recherche"
}, },
"deposit": { "deposit": {
"create": "Création", "create": "Création",
"detail": "Détail", "detail": "Détail",
"edit": "Modifier", "edit": "Modifier",
"list": "Liste", "list": "Liste",
"root": "Dépôts" "root": "Dépôts"
}, },
"home": "Accueil", "home": "Accueil",
"organizationalUnit": { "organizationalUnit": {
"create": "Création", "create": "Création",
"detail": "Détail", "detail": "Détail",
"edit": "Modifier", "edit": "Modifier",
"list": "Liste", "list": "Liste",
"root": "Unité organisationnelle" "root": "Unité organisationnelle"
} }
}, },
"deposit": { "deposit": {
"accessLevel": "Niveau d'accès", "accessLevel": "Niveau d'accès",
"author": "Auteur", "author": "Auteur",
"collectionBegin": "Début de la collecte des données", "collectionBegin": "Début de la collecte des données",
"collectionEnd": "Fin de la collecte des données", "collectionEnd": "Fin de la collecte des données",
"delete": "Supprimer", "delete": "Supprimer",
"description": "Description", "description": "Description",
"dialog": { "dialog": {
"delete": { "delete": {
"cancel": "Annuler", "cancel": "Annuler",
"confirm": "Oui", "confirm": "Oui",
"message": "Êtes-vous sûr de vouloir supprimer le dépôt '{{name}}'?", "message": "Êtes-vous sûr de vouloir supprimer le dépôt '{{name}}'?",
"title": "Confirmer suppresion" "title": "Confirmer suppresion"
} }
}, },
"edit": "Modifier", "edit": "Modifier",
"hasEmbargo": "Le dépôt a un embargo", "file": {
"hint": { "search": "Choisir fichier",
"author": "Auteur" "uploadButton": "Téléverser"
}, },
"language": "Langue", "hasEmbargo": "Le dépôt a un embargo",
"license": "Licence", "hint": {
"new": "Créer dépôt", "author": "Auteur"
"organizationUnit": "Unité organisationnelle", },
"preservationPolicy": "Politique de préservation", "language": "Langue",
"publicationDate": "Date de publication", "license": "Licence",
"refresh": "Rafraichir", "new": "Créer dépôt",
"submissionPolicy": "Politique de soumission", "organizationUnit": "Unité organisationnelle",
"submit": "Envoyer", "preservationPolicy": "Politique de préservation",
"table": { "publicationDate": "Date de publication",
"header": { "refresh": "Rafraichir",
"creation": { "submissionPolicy": "Politique de soumission",
"when": "Date de création" "submit": "Envoyer",
}, "tab": {
"lastUpdate": { "datafiles": "Fichiers",
"when": "Dernière mise à jour" "details": "Détails"
}, },
"publicationDate": "Date de publication", "table": {
"status": "Statut", "header": {
"title": "Titre" "creation": {
} "when": "Date de création"
}, },
"title": "Titre" "lastUpdate": {
}, "when": "Dernière mise à jour"
"error": { },
"publicationDate": "Date de publication",
"status": "Statut",
"title": "Titre"
}
},
"title": "Titre"
},
"error": {
"http": { "http": {
"forbidden": "Vous ne pouvez pas faire cette action", "forbidden": "Vous ne pouvez pas faire cette action",
"notFound": "La ressource demandée n'existe pas", "notFound": "La ressource demandée n'existe pas",
...@@ -103,51 +111,51 @@ ...@@ -103,51 +111,51 @@
} }
}, },
"organizationalUnit": { "organizationalUnit": {
"closingDate": "Date de fermeture", "closingDate": "Date de fermeture",
"delete": "Supprimer", "delete": "Supprimer",
"description": "Description", "description": "Description",
"dialog": { "dialog": {
"delete": { "delete": {
"cancel": "Annuler", "cancel": "Annuler",
"confirm": "Oui", "confirm": "Oui",
"message": "Êtes-vous sûr de vouloir supprimer l'unité organisationnelle '{{name}}'?", "message": "Êtes-vous sûr de vouloir supprimer l'unité organisationnelle '{{name}}'?",
"title": "Confirmer suppression" "title": "Confirmer suppression"
} }
}, },
"edit": "Modifier", "edit": "Modifier",
"isEmpty": "Est vide", "isEmpty": "Est vide",
"name": "Nom", "name": "Nom",
"new": "Créer nouvelle unité organisationnelle", "new": "Créer nouvelle unité organisationnelle",
"open": "Ouvert", "open": "Ouvert",
"openingDate": "Date d'ouverture", "openingDate": "Date d'ouverture",
"refresh": "Rafraichir", "refresh": "Rafraichir",
"submissionPolicy": "Politique de soumission", "submissionPolicy": "Politique de soumission",
"submit": "Envoyer", "submit": "Envoyer",
"table": { "table": {
"header": { "header": {
"creation": { "creation": {
"when": "Date de création" "when": "Date de création"
}, },
"description": "Description", "description": "Description",
"name": "Nom" "name": "Nom"
} }
} }
}, },
"required": "Ce champ est requis", "required": "Ce champ est requis",
"search": "Recherche", "search": "Recherche",
"table": { "table": {
"nodata": "Aucune donnée n'a été trouvé", "nodata": "Aucune donnée n'a été trouvé",
"paginator": { "paginator": {
"firstPage": "Première page", "firstPage": "Première page",
"itemPerPage": "Eléments par page", "itemPerPage": "Eléments par page",
"lastPage": "Dernière page", "lastPage": "Dernière page",
"nextPage": "Page suivante", "nextPage": "Page suivante",
"ofLabel": "sur", "ofLabel": "sur",
"previousPage": "Page précédente" "previousPage": "Page précédente"
} }
}, },
"tooltip": { "tooltip": {
"other": "autre", "other": "autre",
"others": "autres" "others": "autres"
} }
} }
...@@ -4,10 +4,10 @@ import {defaultEnvironment} from "./environment.defaults"; ...@@ -4,10 +4,10 @@ import {defaultEnvironment} from "./environment.defaults";
export const environment = { export const environment = {
...defaultEnvironment, ...defaultEnvironment,
theme: ThemeEnum.yareta, theme: ThemeEnum.yareta,
oauthTokenEndpoint: "https://dlcmtest.unige.ch/administration/oauth/token", oauthTokenEndpoint: "https://dlcmtest.unige.ch/authorization/oauth/token",
oauthDummyClientSecret: "12345", oauthDummyClientSecret: "12345",
oauthClientId: "myClientId", oauthClientId: "nightly-dlcm-ui-client",
oauthScope: "READ", oauthScope: "READ",
oauthRequireHttps: true, oauthRequireHttps: true,
oauthLoginUrl: "https://dlcmtest.unige.ch/administration/oauth/authorize", oauthLoginUrl: "https://dlcmtest.unige.ch/authorization/oauth/authorize",
}; };
...@@ -12,3 +12,6 @@ $success: #6acc29; ...@@ -12,3 +12,6 @@ $success: #6acc29;
$error: #ff0000; $error: #ff0000;
$warning: #ffa500; $warning: #ffa500;
$info: #15a7ff; $info: #15a7ff;
$index-footer: 1;
$index-modal: 2;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment