Merge branch 'DEVELOP' of ssh://git.eclipse.org:29418/openk-usermodules/org.eclipse.openk-usermodules.contactBaseData.frontend into KON-441-Hauptadresse-Funktion
[KON-441]: Total Commit
Signed-off-by: Dennis Schmitt <dennis.schmitt@pta.de>
diff --git a/i18n/admin.de.json b/i18n/admin.de.json
index b5bb4e7..2f2278e 100644
--- a/i18n/admin.de.json
+++ b/i18n/admin.de.json
@@ -1,32 +1,36 @@
{
"Salutations": {
- "Link": "Anreden verwalten",
- "Title": "Übersicht Anrede",
+ "Link": "Anreden verwalten",
+ "Title": "Übersicht Anrede",
"DetailsTitle": "Anrede Details",
- "Type": "Typ",
- "Description": "Beschreibung"
+ "Type": "Typ",
+ "Description": "Beschreibung",
+ "New": "Neue Anrede anlegen"
},
"CommunicationTypes": {
- "Link": "Kommunikationstypen verwalten",
- "Title": "Übersicht Kommunikationstypen",
+ "Link": "Kommunikationstypen verwalten",
+ "Title": "Übersicht Kommunikationstypen",
"DetailsTitle": "Kommunikationstypen Details",
- "Type": "Typ",
- "Description": "Beschreibung",
- "Editable": "Editierbar",
- "MappingLdap": "LDAP Mapping"
+ "Type": "Typ",
+ "Description": "Beschreibung",
+ "Editable": "Editierbar",
+ "MappingLdap": "LDAP Mapping",
+ "New": "Neuen Kommunikationstyp anlegen"
},
"PersonTypes": {
- "Link": "Personentypen verwalten",
- "Title": "Übersicht Personentypen",
+ "Link": "Personentypen verwalten",
+ "Title": "Übersicht Personentypen",
"DetailsTitle": "Personentypen Details",
- "Type": "Typ",
- "Description": "Beschreibung"
+ "Type": "Typ",
+ "Description": "Beschreibung",
+ "New": "Neuen Personentyp anlegen"
},
"AddressTypes": {
- "Link": "Adresstypen verwalten",
- "Title": "Übersicht Adresstypen",
+ "Link": "Adresstypen verwalten",
+ "Title": "Übersicht Adresstypen",
"DetailsTitle": "Adresstypen Details",
- "Type": "Typ",
- "Description": "Beschreibung"
+ "Type": "Typ",
+ "Description": "Beschreibung",
+ "New": "Neuen Adresstyp anlegen"
}
}
diff --git a/i18n/contacts.de.json b/i18n/contacts.de.json
index 8208dc9..78fd4f0 100644
--- a/i18n/contacts.de.json
+++ b/i18n/contacts.de.json
@@ -14,14 +14,14 @@
"InternalContact": "Interne Person",
"ExternalContact": "Externe Person",
"Company": "Unternehmen",
- "AddressList": "Adressliste",
+ "AddressList": "Adressen",
"AllContactTypes": "Alle Kontakttypen",
"Department": "Abteilung",
"CommunicationsDataList": "Kommunikationskanäle",
"ContactPersonList": "Ansprechpartner",
- "ModuleAssignment": "Modulzuordnung",
- "AllModuleAssignments": "Alle Modulzuordnungen",
- "WithoutModuleAssignment": "Keine Modulzuordnung",
+ "ModuleAssignment": "Zugeordnete Module",
+ "AllModuleAssignments": "Alle zugeordnete Module",
+ "WithoutModuleAssignment": "Keine zugeordnete Module",
"DSGVO-advanced-filter": "DSGVO - Filtererweiterung",
"DSGVO-advanced-filter-deletion-lock-exceeded": "Filterung nach Kontakten mit abgelaufener Löschsperre",
"DSGVO-advanced-filter-expiring-data-in-past": "Filterung nach Kontakten mit überschrittenem Ablaufdatum",
diff --git a/i18n/user-module-assignment.de.json b/i18n/user-module-assignment.de.json
index 13f4517..9355781 100644
--- a/i18n/user-module-assignment.de.json
+++ b/i18n/user-module-assignment.de.json
@@ -5,7 +5,7 @@
"ExpiringDate": "Ablaufdatum",
"DeletionLockUntil": "Löschsperre bis",
"AssignmentNote": "Notiz",
- "NewUserModuleAssignment": "Neue Modulzuordnung anlegen",
- "EditUserModuleAssignment": "Modulzuordnung bearbeiten"
+ "NewUserModuleAssignment": "Neue zugeordnete Module anlegen",
+ "EditUserModuleAssignment": "Zugeordnete Module bearbeiten"
}
}
diff --git a/proxy.conf-integration.json b/proxy.conf-integration.json
index ace58c5..27430d8 100644
--- a/proxy.conf-integration.json
+++ b/proxy.conf-integration.json
@@ -1,6 +1,6 @@
{
"/api": {
- "target": "http://entdockergss:9156",
+ "target": "http://entdockergss:9155",
"secure": false,
"pathRewrite": {
"^/api": ""
diff --git a/src/app/pages/admin/address-types/address-types-list/address-types-list.component.html b/src/app/pages/admin/address-types/address-types-list/address-types-list.component.html
index 3473e48..f04ce79 100644
--- a/src/app/pages/admin/address-types/address-types-list/address-types-list.component.html
+++ b/src/app/pages/admin/address-types/address-types-list/address-types-list.component.html
@@ -15,7 +15,7 @@
<span>{{ 'AddressTypes.Title' | translate }}</span>
<div class="pull-right" *visibleByRight>
<button class="btn btn-primary new-button" (click)="sandbox.setDisplayForm()">
- {{ 'NewBtn' | translate }}
+ {{ 'AddressTypes.New' | translate }}
</button>
</div>
</div>
diff --git a/src/app/pages/admin/communication-types/communication-types-list/communication-types-list.component.html b/src/app/pages/admin/communication-types/communication-types-list/communication-types-list.component.html
index 3c7b56e..a2d20ec 100644
--- a/src/app/pages/admin/communication-types/communication-types-list/communication-types-list.component.html
+++ b/src/app/pages/admin/communication-types/communication-types-list/communication-types-list.component.html
@@ -15,7 +15,7 @@
<span>{{ 'CommunicationTypes.Title' | translate }}</span>
<div class="pull-right" *visibleByRight>
<button class="btn btn-primary new-button" (click)="communicationTypesSandbox.setDisplayForm()">
- {{ 'NewBtn' | translate }}
+ {{ 'CommunicationTypes.New' | translate }}
</button>
</div>
</div>
diff --git a/src/app/pages/admin/person-types/person-types-list/person-types-list.component.html b/src/app/pages/admin/person-types/person-types-list/person-types-list.component.html
index 3b17791..7dd8517 100644
--- a/src/app/pages/admin/person-types/person-types-list/person-types-list.component.html
+++ b/src/app/pages/admin/person-types/person-types-list/person-types-list.component.html
@@ -15,7 +15,7 @@
<span>{{ 'PersonTypes.Title' | translate }}</span>
<div class="pull-right" *visibleByRight>
<button class="btn btn-primary new-button" (click)="sandbox.setDisplayForm()">
- {{ 'NewBtn' | translate }}
+ {{ 'PersonTypes.New' | translate }}
</button>
</div>
</div>
diff --git a/src/app/pages/admin/salutations/salutations-list/salutations-list.component.html b/src/app/pages/admin/salutations/salutations-list/salutations-list.component.html
index 007fd6b..bfca349 100644
--- a/src/app/pages/admin/salutations/salutations-list/salutations-list.component.html
+++ b/src/app/pages/admin/salutations/salutations-list/salutations-list.component.html
@@ -15,7 +15,7 @@
<span>{{ 'Salutations.Title' | translate }}</span>
<div class="pull-right" *visibleByRight>
<button class="btn btn-primary new-button" (click)="salutationsSandbox.setDisplayForm()">
- {{ 'NewBtn' | translate }}
+ {{ 'Salutations.New' | translate }}
</button>
</div>
</div>
diff --git a/src/app/pages/company/company-details/address-details/address-details.component.html b/src/app/pages/company/company-details/address-details/address-details.component.html
index 8b4ac96..1a6ee13 100644
--- a/src/app/pages/company/company-details/address-details/address-details.component.html
+++ b/src/app/pages/company/company-details/address-details/address-details.component.html
@@ -194,7 +194,7 @@
</div>
<!-- buttons -->
- <button *visibleByRight type="button" class="btn btn-primary btn-sm btn-success" (click)="persistAddress()">
+ <button *visibleByRight type="button" class="btn btn-primary btn-sm btn-success" (click)="showDialog()">
{{ 'SaveBtn' | translate }}
</button>
diff --git a/src/app/pages/company/company-details/address-details/address-details.component.spec.ts b/src/app/pages/company/company-details/address-details/address-details.component.spec.ts
index 1787a91..a1f940f 100644
--- a/src/app/pages/company/company-details/address-details/address-details.component.spec.ts
+++ b/src/app/pages/company/company-details/address-details/address-details.component.spec.ts
@@ -56,16 +56,16 @@
expect(spy2).toHaveBeenCalled();
});
- it('check if persistAddress() works', () => {
+ it('check if showDialog() works', () => {
const spy1 = spyOn(component['modalService'], 'open').and.returnValue({ componentInstance: { title: '' }, result: { then: () => of(true) } } as any);
companySandbox.addressDetailsCurrentFormState = { value: { isMainAddress: true } };
companySandbox.existMainAddress = true;
companySandbox.isCurrentAddressMainAddress = true;
- component.persistAddress();
+ component.showDialog();
expect(spy1).not.toHaveBeenCalled();
companySandbox.isCurrentAddressMainAddress = false;
- component.persistAddress();
+ component.showDialog();
expect(spy1).toHaveBeenCalled();
});
@@ -75,7 +75,7 @@
component.companyDetailsSandbox.existMainAddress = true;
component.companyDetailsSandbox.isCurrentAddressMainAddress = false;
- component.persistAddress();
+ component.showDialog();
expect(modalService.open).toHaveBeenCalled();
});
});
diff --git a/src/app/pages/company/company-details/address-details/address-details.component.ts b/src/app/pages/company/company-details/address-details/address-details.component.ts
index 7b10f72..b5ce881 100644
--- a/src/app/pages/company/company-details/address-details/address-details.component.ts
+++ b/src/app/pages/company/company-details/address-details/address-details.component.ts
@@ -26,13 +26,13 @@
styleUrls: ['./address-details.component.scss'],
})
export class CompanyAddressDetailsComponent implements OnInit {
- @Input() createOrEditAddressData: string;
+ @Input() public createOrEditAddressData: string;
constructor(
public companyDetailsSandbox: CompanyDetailsSandBox,
public addressTypesSandbox: AddressTypesSandbox,
- protected modalService: NgbModal,
- protected actionsSubject: ActionsSubject
+ private modalService: NgbModal,
+ private actionsSubject: ActionsSubject
) {}
ngOnInit() {
@@ -40,7 +40,7 @@
this.companyDetailsSandbox.clearAddressData();
}
- persistAddress() {
+ showDialog(): void {
if (
this.companyDetailsSandbox.addressDetailsCurrentFormState.value.isMainAddress &&
this.companyDetailsSandbox.existMainAddress &&
diff --git a/src/app/pages/company/company-details/company-details.sandbox.ts b/src/app/pages/company/company-details/company-details.sandbox.ts
index 6538c2c..c2367ff 100644
--- a/src/app/pages/company/company-details/company-details.sandbox.ts
+++ b/src/app/pages/company/company-details/company-details.sandbox.ts
@@ -291,13 +291,12 @@
);
}
- removeCurrentMainAddress() {
- const address = this._mainAddress;
- address.isMainAddress = false;
- this.appState$.dispatch(companyActions.persistAddressDetail({ payload: address }));
+ removeCurrentMainAddress(): void {
+ this._mainAddress.isMainAddress = false;
+ this.appState$.dispatch(companyActions.persistAddressDetail({ payload: this._mainAddress }));
}
- private _checkIfMainAddressExist(addresses: Array<Address>) {
+ private _checkIfMainAddressExist(addresses: Array<Address>): void {
for (let i = 0; i < addresses.length; i++) {
const address = addresses[i];
if (address.isMainAddress) {
@@ -310,7 +309,7 @@
}
}
- private _checkIfCurrentAddressIsMainAddress(address: Address) {
- this.isCurrentAddressMainAddress = address.isMainAddress ? true : false;
+ private _checkIfCurrentAddressIsMainAddress(address: Address): void {
+ this.isCurrentAddressMainAddress = address.isMainAddress;
}
}
diff --git a/src/app/pages/contacts/contacts-list/contacts-list.component.html b/src/app/pages/contacts/contacts-list/contacts-list.component.html
index e122428..636fe40 100644
--- a/src/app/pages/contacts/contacts-list/contacts-list.component.html
+++ b/src/app/pages/contacts/contacts-list/contacts-list.component.html
@@ -93,12 +93,6 @@
</div>
</div>
</div>
-
- <div class="search-btn">
- <button type="button" class="btn btn-default btn-sm" (click)="searchContacts($event)" title="suchen">
- <em style="color: #495057;" class="fa fa-search fa-lg " aria-hidden="true "></em>
- </button>
- </div>
</div>
<div class="sorting-options diverse-options-item">
@@ -119,7 +113,7 @@
</div>
<div class="select-type-of-new-contact item" *visibleByRight>
- <select type="text" class="form-control" (change)="navigateTo($event.target.value)">
+ <select type="text" class="form-control" id="newContactDropDown" (change)="navigateTo($event.target.value)">
<option value="" disabled>{{ 'Contacts.CreateNewContact' | translate }}</option>
<option [value]="NEW_INTERNAL_PERSON_PATH">{{ 'Contacts.InternalContact' | translate }}</option>
<option [value]="NEW_EXTERNAL_PERSON_PATH">{{ 'Contacts.ExternalContact' | translate }}</option>
diff --git a/src/app/pages/contacts/contacts-list/contacts-list.component.scss b/src/app/pages/contacts/contacts-list/contacts-list.component.scss
index 6799bfa..5177a30 100644
--- a/src/app/pages/contacts/contacts-list/contacts-list.component.scss
+++ b/src/app/pages/contacts/contacts-list/contacts-list.component.scss
@@ -123,3 +123,8 @@
option:disabled {
display: none;
}
+
+#newContactDropDown {
+ background-color: #003a5f;
+ color: white;
+}
diff --git a/src/app/pages/persons/external-person/external-person-details/address-details/address-details.component.html b/src/app/pages/persons/external-person/external-person-details/address-details/address-details.component.html
index b1cd0aa..4fdd5a0 100644
--- a/src/app/pages/persons/external-person/external-person-details/address-details/address-details.component.html
+++ b/src/app/pages/persons/external-person/external-person-details/address-details/address-details.component.html
@@ -194,7 +194,7 @@
</div>
<!-- buttons -->
- <button *visibleByRight type="button" class="btn btn-primary btn-sm btn-success" (click)="persistAddress()">
+ <button *visibleByRight type="button" class="btn btn-primary btn-sm btn-success" (click)="showDialog()">
{{ 'SaveBtn' | translate }}
</button>
diff --git a/src/app/pages/persons/external-person/external-person-details/address-details/address-details.component.spec.ts b/src/app/pages/persons/external-person/external-person-details/address-details/address-details.component.spec.ts
index d2d5007..f31cd3e 100644
--- a/src/app/pages/persons/external-person/external-person-details/address-details/address-details.component.spec.ts
+++ b/src/app/pages/persons/external-person/external-person-details/address-details/address-details.component.spec.ts
@@ -54,16 +54,16 @@
expect(spy2).toHaveBeenCalled();
});
- it('check if persistAddress() works', () => {
+ it('check if showDialog() works', () => {
const spy1 = spyOn(component['modalService'], 'open').and.returnValue({ componentInstance: { title: '' }, result: { then: () => of(true) } } as any);
externalPersonSandbox.addressDetailsCurrentFormState = { value: { isMainAddress: true } };
externalPersonSandbox.existMainAddress = true;
externalPersonSandbox.isCurrentAddressMainAddress = true;
- component.persistAddress();
+ component.showDialog();
expect(spy1).not.toHaveBeenCalled();
externalPersonSandbox.isCurrentAddressMainAddress = false;
- component.persistAddress();
+ component.showDialog();
expect(spy1).toHaveBeenCalled();
});
@@ -74,7 +74,7 @@
externalPersonSandbox.existMainAddress = true;
externalPersonSandbox.isCurrentAddressMainAddress = false;
- component.persistAddress();
+ component.showDialog();
expect(modalService.open).toHaveBeenCalled();
});
});
diff --git a/src/app/pages/persons/external-person/external-person-details/address-details/address-details.component.ts b/src/app/pages/persons/external-person/external-person-details/address-details/address-details.component.ts
index 1cf1dc8..54a24e4 100644
--- a/src/app/pages/persons/external-person/external-person-details/address-details/address-details.component.ts
+++ b/src/app/pages/persons/external-person/external-person-details/address-details/address-details.component.ts
@@ -31,8 +31,8 @@
constructor(
public externalPersonDetailsSandbox: ExternalPersonDetailsSandBox,
public addressTypesSandbox: AddressTypesSandbox,
- protected modalService: NgbModal,
- protected actionsSubject: ActionsSubject
+ private modalService: NgbModal,
+ private actionsSubject: ActionsSubject
) {}
ngOnInit() {
@@ -40,7 +40,7 @@
this.externalPersonDetailsSandbox.newAddressData();
}
- persistAddress() {
+ showDialog(): void {
if (
this.externalPersonDetailsSandbox.addressDetailsCurrentFormState.value.isMainAddress &&
this.externalPersonDetailsSandbox.existMainAddress &&
diff --git a/src/app/pages/persons/external-person/external-person-details/external-person-details.sandbox.ts b/src/app/pages/persons/external-person/external-person-details/external-person-details.sandbox.ts
index bb45bda..835f733 100644
--- a/src/app/pages/persons/external-person/external-person-details/external-person-details.sandbox.ts
+++ b/src/app/pages/persons/external-person/external-person-details/external-person-details.sandbox.ts
@@ -272,10 +272,9 @@
.subscribe((formState: FormGroupState<CommunicationsData>) => (this.communicationsDataDetailsCurrentFormState = formState));
}
- removeCurrentMainAddress() {
- const address = this._mainAddress;
- address.isMainAddress = false;
- this.appState$.dispatch(externalPersonActions.persistAddressDetail({ payload: address }));
+ removeCurrentMainAddress(): void {
+ this._mainAddress.isMainAddress = false;
+ this.appState$.dispatch(externalPersonActions.persistAddressDetail({ payload: this._mainAddress }));
}
private _checkIfMainAddressExist(addresses: Array<Address>) {
@@ -291,7 +290,7 @@
}
}
- private _checkIfCurrentAddressIsMainAddress(address: Address) {
- this.isCurrentAddressMainAddress = address.isMainAddress ? true : false;
+ private _checkIfCurrentAddressIsMainAddress(address: Address): void {
+ this.isCurrentAddressMainAddress = address.isMainAddress;
}
}
diff --git a/src/app/pages/persons/internal-person/internal-person-details/address-details/address-details.component.html b/src/app/pages/persons/internal-person/internal-person-details/address-details/address-details.component.html
index 928cae4..32e09f3 100644
--- a/src/app/pages/persons/internal-person/internal-person-details/address-details/address-details.component.html
+++ b/src/app/pages/persons/internal-person/internal-person-details/address-details/address-details.component.html
@@ -194,7 +194,7 @@
</div>
<!-- buttons -->
- <button *visibleByRight type="button" class="btn btn-primary btn-sm btn-success" (click)="persistAddress()">
+ <button *visibleByRight type="button" class="btn btn-primary btn-sm btn-success" (click)="showDialog()">
{{ 'SaveBtn' | translate }}
</button>
diff --git a/src/app/pages/persons/internal-person/internal-person-details/address-details/address-details.component.spec.ts b/src/app/pages/persons/internal-person/internal-person-details/address-details/address-details.component.spec.ts
index 4444e74..4a470d6 100644
--- a/src/app/pages/persons/internal-person/internal-person-details/address-details/address-details.component.spec.ts
+++ b/src/app/pages/persons/internal-person/internal-person-details/address-details/address-details.component.spec.ts
@@ -54,16 +54,16 @@
expect(spy2).toHaveBeenCalled();
});
- it('check if persistAddress() works', () => {
+ it('check if showDialog() works', () => {
const spy1 = spyOn(component['modalService'], 'open').and.returnValue({ componentInstance: { title: '' }, result: { then: () => of(true) } } as any);
internalPersonSandbox.addressDetailsCurrentFormState = { value: { isMainAddress: true } };
internalPersonSandbox.existMainAddress = true;
internalPersonSandbox.isCurrentAddressMainAddress = true;
- component.persistAddress();
+ component.showDialog();
expect(spy1).not.toHaveBeenCalled();
internalPersonSandbox.isCurrentAddressMainAddress = false;
- component.persistAddress();
+ component.showDialog();
expect(spy1).toHaveBeenCalled();
});
@@ -73,7 +73,7 @@
internalPersonSandbox.existMainAddress = true;
internalPersonSandbox.isCurrentAddressMainAddress = false;
- component.persistAddress();
+ component.showDialog();
expect(modalService.open).toHaveBeenCalled();
});
});
diff --git a/src/app/pages/persons/internal-person/internal-person-details/address-details/address-details.component.ts b/src/app/pages/persons/internal-person/internal-person-details/address-details/address-details.component.ts
index 6d17fd6..bed4e05 100644
--- a/src/app/pages/persons/internal-person/internal-person-details/address-details/address-details.component.ts
+++ b/src/app/pages/persons/internal-person/internal-person-details/address-details/address-details.component.ts
@@ -31,8 +31,8 @@
constructor(
public internalPersonDetailsSandbox: InternalPersonDetailsSandBox,
public addressTypesSandbox: AddressTypesSandbox,
- protected modalService: NgbModal,
- protected actionsSubject: ActionsSubject
+ private modalService: NgbModal,
+ private actionsSubject: ActionsSubject
) {}
ngOnInit() {
@@ -40,7 +40,7 @@
this.internalPersonDetailsSandbox.newAddressData();
}
- persistAddress() {
+ showDialog(): void {
if (
this.internalPersonDetailsSandbox.addressDetailsCurrentFormState.value.isMainAddress &&
this.internalPersonDetailsSandbox.existMainAddress &&
diff --git a/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.component.html b/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.component.html
index 29a9637..1fae53a 100644
--- a/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.component.html
+++ b/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.component.html
@@ -100,7 +100,7 @@
<div class="col-sm-4">
<input
placeholder="{{ 'Search' | translate }}"
- id="typeahead-basic"
+ id="uidTypeahead"
type="text"
maxlength="255"
class="form-control"
@@ -132,7 +132,7 @@
<div class="col-sm-4">
<input
placeholder="{{ 'Search' | translate }}"
- id="typeahead-basic"
+ id="userrefTypeahead"
type="text"
maxlength="255"
class="form-control"
diff --git a/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.sandbox.ts b/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.sandbox.ts
index 12bc03d..973a374 100644
--- a/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.sandbox.ts
+++ b/src/app/pages/persons/internal-person/internal-person-details/internal-person-details.sandbox.ts
@@ -404,10 +404,9 @@
);
}
- removeCurrentMainAddress() {
- const address = this._mainAddress;
- address.isMainAddress = false;
- this.appState$.dispatch(internalPersonActions.persistAddressDetail({ payload: address }));
+ removeCurrentMainAddress(): void {
+ this._mainAddress.isMainAddress = false;
+ this.appState$.dispatch(internalPersonActions.persistAddressDetail({ payload: this._mainAddress }));
}
private _checkIfMainAddressExist(addresses: Array<Address>) {
@@ -423,7 +422,7 @@
}
}
- private _checkIfCurrentAddressIsMainAddress(address: Address) {
- this.isCurrentAddressMainAddress = address.isMainAddress ? true : false;
+ private _checkIfCurrentAddressIsMainAddress(address: Address): void {
+ this.isCurrentAddressMainAddress = address.isMainAddress;
}
}
diff --git a/src/styles.scss b/src/styles.scss
index 2dbdaf8..2f3c29f 100644
--- a/src/styles.scss
+++ b/src/styles.scss
@@ -7045,3 +7045,8 @@
.simple-notification.error {
color: white !important;
}
+
+.dropdown-menu {
+ max-height: 300px;
+ overflow-y: auto;
+}