mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-08 10:34:15 +00:00
CC License Submission Step - feedback
This commit is contained in:
@@ -145,10 +145,10 @@ import { Version } from './shared/version.model';
|
|||||||
import { VersionHistory } from './shared/version-history.model';
|
import { VersionHistory } from './shared/version-history.model';
|
||||||
import { WorkflowActionDataService } from './data/workflow-action-data.service';
|
import { WorkflowActionDataService } from './data/workflow-action-data.service';
|
||||||
import { WorkflowAction } from './tasks/models/workflow-action-object.model';
|
import { WorkflowAction } from './tasks/models/workflow-action-object.model';
|
||||||
import { SubmissionCcLicenseDataService } from './data/submission-cc-license-data.service';
|
import { SubmissionCcLicenseDataService } from './submission/submission-cc-license-data.service';
|
||||||
import { SubmissionCcLicence } from './shared/submission-cc-license.model';
|
import { SubmissionCcLicence } from './submission/models/submission-cc-license.model';
|
||||||
import { SubmissionCcLicenceUrl } from './shared/submission-cc-license-url.model';
|
import { SubmissionCcLicenceUrl } from './submission/models/submission-cc-license-url.model';
|
||||||
import { SubmissionCcLicenseUrlDataService } from './data/submission-cc-license-url-data.service';
|
import { SubmissionCcLicenseUrlDataService } from './submission/submission-cc-license-url-data.service';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When not in production, endpoint responses can be mocked for testing purposes
|
* When not in production, endpoint responses can be mocked for testing purposes
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import { ResourceType } from './resource-type';
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The resource type for License
|
* The resource type for License
|
@@ -1,4 +1,4 @@
|
|||||||
import { ResourceType } from './resource-type';
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The resource type for License
|
* The resource type for License
|
@@ -1,8 +1,8 @@
|
|||||||
import { autoserialize, inheritSerialization } from 'cerialize';
|
import { autoserialize, inheritSerialization } from 'cerialize';
|
||||||
import { typedObject } from '../cache/builders/build-decorators';
|
import { typedObject } from '../../cache/builders/build-decorators';
|
||||||
import { excludeFromEquals } from '../utilities/equals.decorators';
|
import { excludeFromEquals } from '../../utilities/equals.decorators';
|
||||||
import { ResourceType } from './resource-type';
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
import { HALResource } from './hal-resource.model';
|
import { HALResource } from '../../shared/hal-resource.model';
|
||||||
import { SUBMISSION_CC_LICENSE_URL } from './submission-cc-licence-link.resource-type';
|
import { SUBMISSION_CC_LICENSE_URL } from './submission-cc-licence-link.resource-type';
|
||||||
|
|
||||||
@typedObject
|
@typedObject
|
@@ -1,8 +1,8 @@
|
|||||||
import { autoserialize, inheritSerialization } from 'cerialize';
|
import { autoserialize, inheritSerialization } from 'cerialize';
|
||||||
import { typedObject } from '../cache/builders/build-decorators';
|
import { typedObject } from '../../cache/builders/build-decorators';
|
||||||
import { excludeFromEquals } from '../utilities/equals.decorators';
|
import { excludeFromEquals } from '../../utilities/equals.decorators';
|
||||||
import { ResourceType } from './resource-type';
|
import { ResourceType } from '../../shared/resource-type';
|
||||||
import { HALResource } from './hal-resource.model';
|
import { HALResource } from '../../shared/hal-resource.model';
|
||||||
import { SUBMISSION_CC_LICENSE } from './submission-cc-licence.resource-type';
|
import { SUBMISSION_CC_LICENSE } from './submission-cc-licence.resource-type';
|
||||||
|
|
||||||
@typedObject
|
@typedObject
|
@@ -1,4 +1,4 @@
|
|||||||
import {Option} from '../../shared/submission-cc-license.model';
|
import { Option } from './submission-cc-license.model';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An interface to represent the submission's creative commons license section data.
|
* An interface to represent the submission's creative commons license section data.
|
||||||
|
@@ -7,11 +7,11 @@ import { RemoteDataBuildService } from '../cache/builders/remote-data-build.serv
|
|||||||
import { ObjectCacheService } from '../cache/object-cache.service';
|
import { ObjectCacheService } from '../cache/object-cache.service';
|
||||||
import { CoreState } from '../core.reducers';
|
import { CoreState } from '../core.reducers';
|
||||||
import { HALEndpointService } from '../shared/hal-endpoint.service';
|
import { HALEndpointService } from '../shared/hal-endpoint.service';
|
||||||
import { DataService } from './data.service';
|
import { DataService } from '../data/data.service';
|
||||||
import { RequestService } from './request.service';
|
import { RequestService } from '../data/request.service';
|
||||||
import { SUBMISSION_CC_LICENSE } from '../shared/submission-cc-licence.resource-type';
|
import { SUBMISSION_CC_LICENSE } from './models/submission-cc-licence.resource-type';
|
||||||
import { Field, Option, SubmissionCcLicence } from '../shared/submission-cc-license.model';
|
import { Field, Option, SubmissionCcLicence } from './models/submission-cc-license.model';
|
||||||
import { DefaultChangeAnalyzer } from './default-change-analyzer.service';
|
import { DefaultChangeAnalyzer } from '../data/default-change-analyzer.service';
|
||||||
import {
|
import {
|
||||||
getRemoteDataPayload,
|
getRemoteDataPayload,
|
||||||
getSucceededRemoteData,
|
getSucceededRemoteData,
|
@@ -7,11 +7,11 @@ import { RemoteDataBuildService } from '../cache/builders/remote-data-build.serv
|
|||||||
import { ObjectCacheService } from '../cache/object-cache.service';
|
import { ObjectCacheService } from '../cache/object-cache.service';
|
||||||
import { CoreState } from '../core.reducers';
|
import { CoreState } from '../core.reducers';
|
||||||
import { HALEndpointService } from '../shared/hal-endpoint.service';
|
import { HALEndpointService } from '../shared/hal-endpoint.service';
|
||||||
import { DataService } from './data.service';
|
import { DataService } from '../data/data.service';
|
||||||
import { RequestService } from './request.service';
|
import { RequestService } from '../data/request.service';
|
||||||
import { DefaultChangeAnalyzer } from './default-change-analyzer.service';
|
import { DefaultChangeAnalyzer } from '../data/default-change-analyzer.service';
|
||||||
import { SubmissionCcLicenceUrl } from '../shared/submission-cc-license-url.model';
|
import { SubmissionCcLicenceUrl } from './models/submission-cc-license-url.model';
|
||||||
import { SUBMISSION_CC_LICENSE_URL } from '../shared/submission-cc-licence-link.resource-type';
|
import { SUBMISSION_CC_LICENSE_URL } from './models/submission-cc-licence-link.resource-type';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
@dataService(SUBMISSION_CC_LICENSE_URL)
|
@dataService(SUBMISSION_CC_LICENSE_URL)
|
@@ -1,44 +1,50 @@
|
|||||||
<ds-select
|
<div>
|
||||||
[label]="'submission.sections.general.collection'"
|
<div ngbDropdown #collectionControls="ngbDropdown" class="btn-group input-group" (openChange)="toggled($event)">
|
||||||
[disabled]="(disabled$ | async) || (processingChange$ | async)"
|
<div class="input-group-prepend">
|
||||||
(toggled)="toggled($event)"
|
<span id="collectionControlsMenuLabel" class="input-group-text">
|
||||||
(close)="onClose()">
|
{{ 'submission.sections.general.collection' | translate }}
|
||||||
|
</span>
|
||||||
<ng-container class="selection">
|
|
||||||
<span *ngIf="(processingChange$ | async)">
|
|
||||||
<i class='fas fa-circle-notch fa-spin'></i>
|
|
||||||
</span>
|
|
||||||
<span *ngIf="!(processingChange$ | async)">
|
|
||||||
{{ selectedCollectionName$ | async }}
|
|
||||||
</span>
|
|
||||||
</ng-container>
|
|
||||||
|
|
||||||
<ng-container class="menu">
|
|
||||||
<div class="form-group w-100 pr-2 pl-2">
|
|
||||||
<input *ngIf="searchField"
|
|
||||||
type="search"
|
|
||||||
class="form-control w-100"
|
|
||||||
(click)="$event.stopPropagation();"
|
|
||||||
placeholder="{{ 'submission.sections.general.search-collection' | translate }}"
|
|
||||||
[formControl]="searchField">
|
|
||||||
</div>
|
</div>
|
||||||
<div class="dropdown-divider"></div>
|
<button aria-describedby="collectionControlsMenuLabel"
|
||||||
<div class="scrollable-menu" aria-labelledby="dropdownMenuButton" (scroll)="onScroll($event)">
|
id="collectionControlsMenuButton"
|
||||||
<button class="dropdown-item disabled" *ngIf="(searchListCollection$ | async)?.length == 0">
|
class="btn btn-outline-primary"
|
||||||
{{'submission.sections.general.no-collection' | translate}}
|
(blur)="onClose()"
|
||||||
</button>
|
(click)="onClose()"
|
||||||
<button *ngFor="let listItem of (searchListCollection$ | async)"
|
[disabled]="(disabled$ | async) || (processingChange$ | async)"
|
||||||
class="dropdown-item collection-item"
|
ngbDropdownToggle>
|
||||||
title="{{ listItem.collection.name }}"
|
<span *ngIf="(processingChange$ | async)"><i class='fas fa-circle-notch fa-spin'></i></span>
|
||||||
(click)="onSelect(listItem)">
|
<span *ngIf="!(processingChange$ | async)">{{ selectedCollectionName$ | async }}</span>
|
||||||
<ul class="list-unstyled mb-0">
|
</button>
|
||||||
<li class="list-item text-truncate text-secondary" *ngFor="let item of listItem.communities">
|
|
||||||
{{ item.name}} <i class="fa fa-level-down" aria-hidden="true"></i>
|
|
||||||
</li>
|
|
||||||
<li class="list-item text-truncate text-primary font-weight-bold">{{ listItem.collection.name}}</li>
|
|
||||||
</ul>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</ng-container>
|
|
||||||
|
|
||||||
</ds-select>
|
<div ngbDropdownMenu
|
||||||
|
class="dropdown-menu"
|
||||||
|
id="collectionControlsDropdownMenu"
|
||||||
|
aria-labelledby="collectionControlsMenuButton">
|
||||||
|
<div class="form-group w-100 pr-2 pl-2">
|
||||||
|
<input *ngIf="searchField"
|
||||||
|
type="search"
|
||||||
|
class="form-control w-100"
|
||||||
|
(click)="$event.stopPropagation();"
|
||||||
|
placeholder="{{ 'submission.sections.general.search-collection' | translate }}"
|
||||||
|
[formControl]="searchField">
|
||||||
|
</div>
|
||||||
|
<div class="dropdown-divider"></div>
|
||||||
|
<div class="scrollable-menu" aria-labelledby="dropdownMenuButton" (scroll)="onScroll($event)">
|
||||||
|
<button class="dropdown-item disabled" *ngIf="(searchListCollection$ | async)?.length == 0">
|
||||||
|
{{'submission.sections.general.no-collection' | translate}}
|
||||||
|
</button>
|
||||||
|
<button *ngFor="let listItem of (searchListCollection$ | async)"
|
||||||
|
class="dropdown-item collection-item"
|
||||||
|
title="{{ listItem.collection.name }}"
|
||||||
|
(click)="onSelect(listItem)">
|
||||||
|
<ul class="list-unstyled mb-0">
|
||||||
|
<li class="list-item text-truncate text-secondary" *ngFor="let item of listItem.communities">
|
||||||
|
{{ item.name}} <i class="fa fa-level-down" aria-hidden="true"></i>
|
||||||
|
</li>
|
||||||
|
<li class="list-item text-truncate text-primary font-weight-bold">{{ listItem.collection.name}}</li>
|
||||||
|
</ul>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@@ -26,7 +26,6 @@ import { PageInfo } from '../../../core/shared/page-info.model';
|
|||||||
import { Collection } from '../../../core/shared/collection.model';
|
import { Collection } from '../../../core/shared/collection.model';
|
||||||
import { createTestComponent } from '../../../shared/testing/utils.test';
|
import { createTestComponent } from '../../../shared/testing/utils.test';
|
||||||
import { CollectionDataService } from '../../../core/data/collection-data.service';
|
import { CollectionDataService } from '../../../core/data/collection-data.service';
|
||||||
import { SharedModule } from '../../../shared/shared.module';
|
|
||||||
|
|
||||||
const subcommunities = [Object.assign(new Community(), {
|
const subcommunities = [Object.assign(new Community(), {
|
||||||
name: 'SubCommunity 1',
|
name: 'SubCommunity 1',
|
||||||
@@ -224,7 +223,6 @@ describe('SubmissionFormCollectionComponent Component', () => {
|
|||||||
FormsModule,
|
FormsModule,
|
||||||
ReactiveFormsModule,
|
ReactiveFormsModule,
|
||||||
NgbModule,
|
NgbModule,
|
||||||
SharedModule,
|
|
||||||
TranslateModule.forRoot()
|
TranslateModule.forRoot()
|
||||||
],
|
],
|
||||||
declarations: [
|
declarations: [
|
||||||
@@ -368,8 +366,8 @@ describe('SubmissionFormCollectionComponent Component', () => {
|
|||||||
|
|
||||||
comp.searchListCollection$ = observableOf(mockCollectionList);
|
comp.searchListCollection$ = observableOf(mockCollectionList);
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
dropdowBtn = fixture.debugElement.query(By.css('#dsSelectMenuButton'));
|
dropdowBtn = fixture.debugElement.query(By.css('#collectionControlsMenuButton'));
|
||||||
dropdownMenu = fixture.debugElement.query(By.css('#dsSelectDropdownMenu'));
|
dropdownMenu = fixture.debugElement.query(By.css('#collectionControlsDropdownMenu'));
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should have dropdown menu closed', () => {
|
it('should have dropdown menu closed', () => {
|
||||||
|
@@ -1,11 +1,10 @@
|
|||||||
<div class="mb-4 ccLicense-select">
|
<div class="mb-4 ccLicense-select">
|
||||||
<ds-select
|
<ds-select
|
||||||
[disabled]="!submissionCcLicenses"
|
[disabled]="!submissionCcLicenses">
|
||||||
[label]="'submission.sections.ccLicense.type'">
|
|
||||||
|
|
||||||
<ng-container class="selection">
|
<ng-container class="selection">
|
||||||
<span *ngIf="!submissionCcLicenses">
|
<span *ngIf="!submissionCcLicenses">
|
||||||
<i class='fas fa-circle-notch fa-spin'></i>
|
<ds-loading></ds-loading>
|
||||||
</span>
|
</span>
|
||||||
<span *ngIf="getSelectedCcLicense()">
|
<span *ngIf="getSelectedCcLicense()">
|
||||||
{{ getSelectedCcLicense().name }}
|
{{ getSelectedCcLicense().name }}
|
||||||
@@ -92,11 +91,13 @@
|
|||||||
</span>
|
</span>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container class="menu">
|
<ng-container class="menu">
|
||||||
<button *ngFor="let option of field.enums"
|
<div class="options-select-menu overflow-auto">
|
||||||
class="dropdown-item"
|
<button *ngFor="let option of field.enums"
|
||||||
(click)="selectOption(getSelectedCcLicense(), field, option)">
|
class="dropdown-item"
|
||||||
{{ option.label }}
|
(click)="selectOption(getSelectedCcLicense(), field, option)">
|
||||||
</button>
|
{{ option.label }}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</ds-select>
|
</ds-select>
|
||||||
|
|
||||||
@@ -120,7 +121,7 @@
|
|||||||
<ng-container *ngIf="getCcLicenseLink$()">
|
<ng-container *ngIf="getCcLicenseLink$()">
|
||||||
<ng-container *ngVar="getCcLicenseLink$() | async as licenseLink">
|
<ng-container *ngVar="getCcLicenseLink$() | async as licenseLink">
|
||||||
<div *ngIf="!licenseLink">
|
<div *ngIf="!licenseLink">
|
||||||
<i class='fas fa-circle-notch fa-spin m-2'></i>
|
<ds-loading></ds-loading>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="licenseLink"
|
<div *ngIf="licenseLink"
|
||||||
class="mt-2 p-4 bg-light text-dark">
|
class="mt-2 p-4 bg-light text-dark">
|
@@ -0,0 +1,3 @@
|
|||||||
|
.options-select-menu {
|
||||||
|
max-height: 25vh;
|
||||||
|
}
|
@@ -1,22 +1,22 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
import { SubmissionSectionCcLicensesComponent } from './submission-section-cc-licenses.component';
|
import { SubmissionSectionCcLicensesComponent } from './submission-section-cc-licenses.component';
|
||||||
import { SUBMISSION_CC_LICENSE } from '../../core/shared/submission-cc-licence.resource-type';
|
import { SUBMISSION_CC_LICENSE } from '../../../core/submission/models/submission-cc-licence.resource-type';
|
||||||
import { of as observableOf } from 'rxjs';
|
import { of as observableOf } from 'rxjs';
|
||||||
import { SubmissionCcLicenseDataService } from '../../core/data/submission-cc-license-data.service';
|
import { SubmissionCcLicenseDataService } from '../../../core/submission/submission-cc-license-data.service';
|
||||||
import { DebugElement } from '@angular/core';
|
import { DebugElement } from '@angular/core';
|
||||||
import { By } from '@angular/platform-browser';
|
import { By } from '@angular/platform-browser';
|
||||||
import { SharedModule } from '../shared.module';
|
import { SharedModule } from '../../../shared/shared.module';
|
||||||
import { SectionsService } from '../../submission/sections/sections.service';
|
import { SectionsService } from '../sections.service';
|
||||||
import { SectionDataObject } from '../../submission/sections/models/section-data.model';
|
import { SectionDataObject } from '../models/section-data.model';
|
||||||
import { SectionsType } from '../../submission/sections/sections-type';
|
import { SectionsType } from '../sections-type';
|
||||||
import { RemoteData } from '../../core/data/remote-data';
|
import { RemoteData } from '../../../core/data/remote-data';
|
||||||
import { TranslateModule } from '@ngx-translate/core';
|
import { TranslateModule } from '@ngx-translate/core';
|
||||||
import { PageInfo } from '../../core/shared/page-info.model';
|
import { PageInfo } from '../../../core/shared/page-info.model';
|
||||||
import { PaginatedList } from '../../core/data/paginated-list';
|
import { PaginatedList } from '../../../core/data/paginated-list';
|
||||||
import { SubmissionCcLicence } from '../../core/shared/submission-cc-license.model';
|
import { SubmissionCcLicence } from '../../../core/submission/models/submission-cc-license.model';
|
||||||
import { cold } from 'jasmine-marbles';
|
import { cold } from 'jasmine-marbles';
|
||||||
import { JsonPatchOperationsBuilder } from '../../core/json-patch/builder/json-patch-operations-builder';
|
import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder';
|
||||||
import { SubmissionCcLicenseUrlDataService } from '../../core/data/submission-cc-license-url-data.service';
|
import { SubmissionCcLicenseUrlDataService } from '../../../core/submission/submission-cc-license-url-data.service';
|
||||||
|
|
||||||
describe('SubmissionSectionCcLicensesComponent', () => {
|
describe('SubmissionSectionCcLicensesComponent', () => {
|
||||||
|
|
@@ -1,19 +1,19 @@
|
|||||||
import { Component, Inject } from '@angular/core';
|
import { Component, Inject } from '@angular/core';
|
||||||
import { Observable, of as observableOf, Subscription } from 'rxjs';
|
import { Observable, of as observableOf, Subscription } from 'rxjs';
|
||||||
import { Field, Option, SubmissionCcLicence } from '../../core/shared/submission-cc-license.model';
|
import { Field, Option, SubmissionCcLicence } from '../../../core/submission/models/submission-cc-license.model';
|
||||||
import { getRemoteDataPayload, getSucceededRemoteData } from '../../core/shared/operators';
|
import { getRemoteDataPayload, getSucceededRemoteData } from '../../../core/shared/operators';
|
||||||
import { distinctUntilChanged, filter, map } from 'rxjs/operators';
|
import { distinctUntilChanged, filter, map } from 'rxjs/operators';
|
||||||
import { SubmissionCcLicenseDataService } from '../../core/data/submission-cc-license-data.service';
|
import { SubmissionCcLicenseDataService } from '../../../core/submission/submission-cc-license-data.service';
|
||||||
import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';
|
import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';
|
||||||
import { renderSectionFor } from '../../submission/sections/sections-decorator';
|
import { renderSectionFor } from '../sections-decorator';
|
||||||
import { SectionsType } from '../../submission/sections/sections-type';
|
import { SectionsType } from '../sections-type';
|
||||||
import { SectionModelComponent } from '../../submission/sections/models/section.model';
|
import { SectionModelComponent } from '../models/section.model';
|
||||||
import { SectionDataObject } from '../../submission/sections/models/section-data.model';
|
import { SectionDataObject } from '../models/section-data.model';
|
||||||
import { SectionsService } from '../../submission/sections/sections.service';
|
import { SectionsService } from '../sections.service';
|
||||||
import { WorkspaceitemSectionCcLicenseObject } from '../../core/submission/models/workspaceitem-section-cc-license.model';
|
import { WorkspaceitemSectionCcLicenseObject } from '../../../core/submission/models/workspaceitem-section-cc-license.model';
|
||||||
import { JsonPatchOperationPathCombiner } from '../../core/json-patch/builder/json-patch-operation-path-combiner';
|
import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner';
|
||||||
import { isNotEmpty } from '../empty.util';
|
import { isNotEmpty } from '../../../shared/empty.util';
|
||||||
import { JsonPatchOperationsBuilder } from '../../core/json-patch/builder/json-patch-operations-builder';
|
import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This component represents the submission section to select the Creative Commons license.
|
* This component represents the submission section to select the Creative Commons license.
|
@@ -28,8 +28,7 @@ import { SubmissionSectionUploadFileViewComponent } from './sections/upload/file
|
|||||||
import { SubmissionSectionUploadAccessConditionsComponent } from './sections/upload/accessConditions/submission-section-upload-access-conditions.component';
|
import { SubmissionSectionUploadAccessConditionsComponent } from './sections/upload/accessConditions/submission-section-upload-access-conditions.component';
|
||||||
import { SubmissionSubmitComponent } from './submit/submission-submit.component';
|
import { SubmissionSubmitComponent } from './submit/submission-submit.component';
|
||||||
import { storeModuleConfig } from '../app.reducer';
|
import { storeModuleConfig } from '../app.reducer';
|
||||||
import { CoreState } from '../core/core.reducers';
|
import { SubmissionSectionCcLicensesComponent } from './sections/cc-license/submission-section-cc-licenses.component';
|
||||||
import { SubmissionSectionCcLicensesComponent } from '../shared/submission-section-cc-licenses/submission-section-cc-licenses.component';
|
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
|
@@ -2537,9 +2537,9 @@
|
|||||||
|
|
||||||
"submission.sections.ccLicense.type": "License Type",
|
"submission.sections.ccLicense.type": "License Type",
|
||||||
|
|
||||||
"submission.sections.ccLicense.select": "Select a license…",
|
"submission.sections.ccLicense.select": "Select a license type…",
|
||||||
|
|
||||||
"submission.sections.ccLicense.change": "Change your license…",
|
"submission.sections.ccLicense.change": "Change your license type…",
|
||||||
|
|
||||||
"submission.sections.ccLicense.none": "No licenses available",
|
"submission.sections.ccLicense.none": "No licenses available",
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user