96062: Theme the CollectionDropdownComponent

This commit is contained in:
Jens Vannerum
2022-10-31 16:34:25 +01:00
parent c876055855
commit 70fe46aeed
9 changed files with 59 additions and 6 deletions

View File

@@ -5,7 +5,7 @@
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<ds-collection-dropdown (selectionChange)="selectObject($event)"> <ds-themed-collection-dropdown (selectionChange)="selectObject($event)">
</ds-collection-dropdown> </ds-themed-collection-dropdown>
</div> </div>
</div> </div>

View File

@@ -0,0 +1,33 @@
import { CollectionDropdownComponent, CollectionListEntry } from './collection-dropdown.component';
import { ThemedComponent } from '../theme-support/themed.component';
import { Component, Input, Output, EventEmitter } from '@angular/core';
@Component({
selector: 'ds-themed-collection-dropdown',
styleUrls: [],
templateUrl: '../../shared/theme-support/themed.component.html',
})
export class ThemedCollectionDropdownComponent extends ThemedComponent<CollectionDropdownComponent> {
@Input() entityType: string;
@Output() searchComplete = new EventEmitter<any>();
@Output() theOnlySelectable = new EventEmitter<CollectionListEntry>();
@Output() selectionChange = new EventEmitter<CollectionListEntry>();
protected inAndOutputNames: (keyof CollectionDropdownComponent & keyof this)[] = ['entityType', 'searchComplete', 'theOnlySelectable', 'selectionChange'];
protected getComponentName(): string {
return 'CollectionDropdownComponent';
}
protected importThemedComponent(themeName: string): Promise<any> {
return import(`../../../themes/${themeName}/app/shared/collection-dropdown/collection-dropdown.component`);
}
protected importUnthemedComponent(): Promise<any> {
return import(`./collection-dropdown.component`);
}
}

View File

@@ -323,6 +323,7 @@ import {
} from '../item-page/simple/field-components/specific-field/title/item-page-title-field.component'; } from '../item-page/simple/field-components/specific-field/title/item-page-title-field.component';
import { MarkdownPipe } from './utils/markdown.pipe'; import { MarkdownPipe } from './utils/markdown.pipe';
import { GoogleRecaptchaModule } from '../core/google-recaptcha/google-recaptcha.module'; import { GoogleRecaptchaModule } from '../core/google-recaptcha/google-recaptcha.module';
import { ThemedCollectionDropdownComponent } from './collection-dropdown/themed-collection-dropdown.component';
const MODULES = [ const MODULES = [
CommonModule, CommonModule,
@@ -480,6 +481,7 @@ const COMPONENTS = [
BitstreamDownloadPageComponent, BitstreamDownloadPageComponent,
BitstreamRequestACopyPageComponent, BitstreamRequestACopyPageComponent,
CollectionDropdownComponent, CollectionDropdownComponent,
ThemedCollectionDropdownComponent,
EntityDropdownComponent, EntityDropdownComponent,
ExportMetadataSelectorComponent, ExportMetadataSelectorComponent,
ImportBatchSelectorComponent, ImportBatchSelectorComponent,
@@ -558,6 +560,7 @@ const ENTRY_COMPONENTS = [
ClaimedTaskActionsReturnToPoolComponent, ClaimedTaskActionsReturnToPoolComponent,
ClaimedTaskActionsEditMetadataComponent, ClaimedTaskActionsEditMetadataComponent,
CollectionDropdownComponent, CollectionDropdownComponent,
ThemedCollectionDropdownComponent,
FileDownloadLinkComponent, FileDownloadLinkComponent,
BitstreamDownloadPageComponent, BitstreamDownloadPageComponent,
BitstreamRequestACopyPageComponent, BitstreamRequestACopyPageComponent,

View File

@@ -35,9 +35,9 @@
class="dropdown-menu" class="dropdown-menu"
id="collectionControlsDropdownMenu" id="collectionControlsDropdownMenu"
aria-labelledby="collectionControlsMenuButton"> aria-labelledby="collectionControlsMenuButton">
<ds-collection-dropdown <ds-themed-collection-dropdown
(selectionChange)="onSelect($event)"> (selectionChange)="onSelect($event)">
</ds-collection-dropdown> </ds-themed-collection-dropdown>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -6,11 +6,11 @@
</div> </div>
<div class="modal-body"> <div class="modal-body">
<ds-themed-loading *ngIf="isLoading()"></ds-themed-loading> <ds-themed-loading *ngIf="isLoading()"></ds-themed-loading>
<ds-collection-dropdown [ngClass]="{'d-none': isLoading()}" <ds-themed-collection-dropdown [ngClass]="{'d-none': isLoading()}"
(selectionChange)="selectObject($event)" (selectionChange)="selectObject($event)"
(searchComplete)="searchComplete()" (searchComplete)="searchComplete()"
(theOnlySelectable)="theOnlySelectable($event)" (theOnlySelectable)="theOnlySelectable($event)"
[entityType]="entityType"> [entityType]="entityType">
</ds-collection-dropdown> </ds-themed-collection-dropdown>
</div> </div>
</div> </div>

View File

@@ -0,0 +1,15 @@
import {
CollectionDropdownComponent as BaseComponent
} from '../../../../../app/shared/collection-dropdown/collection-dropdown.component';
import { Component } from '@angular/core';
@Component({
selector: 'ds-collection-dropdown',
templateUrl: '../../../../../app/shared/collection-dropdown/collection-dropdown.component.html',
// templateUrl: './collection-dropdown.component.html',
styleUrls: ['../../../../../app/shared/collection-dropdown/collection-dropdown.component.scss']
// styleUrls: ['./collection-dropdown.component.scss']
})
export class CollectionDropdownComponent extends BaseComponent {
}

View File

@@ -43,6 +43,7 @@ import {
import { CommunityListElementComponent } from './app/shared/object-list/community-list-element/community-list-element.component'; import { CommunityListElementComponent } from './app/shared/object-list/community-list-element/community-list-element.component';
import { CollectionListElementComponent} from './app/shared/object-list/collection-list-element/collection-list-element.component'; import { CollectionListElementComponent} from './app/shared/object-list/collection-list-element/collection-list-element.component';
import { CollectionDropdownComponent } from './app/shared/collection-dropdown/collection-dropdown.component';
/** /**
@@ -58,6 +59,7 @@ const ENTRY_COMPONENTS = [
CommunityListElementComponent, CommunityListElementComponent,
CollectionListElementComponent, CollectionListElementComponent,
CollectionDropdownComponent,
]; ];
const DECLARATIONS = [ const DECLARATIONS = [