Skip to content

Commit

Permalink
update angular for persistableRelationship
Browse files Browse the repository at this point in the history
  • Loading branch information
mshima committed Nov 23, 2023
1 parent a31d59b commit e04aecf
Show file tree
Hide file tree
Showing 8 changed files with 33 additions and 39 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const enumImports = this.generateEntityClientEnumImports(fields);
<%_ if (anyFieldIsDateDerived) { _%>
import dayjs from 'dayjs/esm';
<%_ } _%>
<%_ for (const relationshipsByType of Object.values(differentRelationships).filter(relationshipsByType => relationshipsByType.some(relationship => (relationship.ownerSide || relationship.relationshipManyToMany) && relationship.otherEntity.entityAngularName !== entityAngularName))) {
<%_ for (const relationshipsByType of Object.values(differentRelationships).filter(relationshipsByType => relationshipsByType.some(relationship => relationship.otherEntity.entityAngularName !== entityAngularName))) {
const { otherEntity } = relationshipsByType[0];
_%>
import { I<%- otherEntity.entityAngularName %> } from 'app/entities/<%= otherEntity.entityClientRootFolder %><%= otherEntity.entityFolderName %>/<%= otherEntity.entityFileName %>.model';
Expand All @@ -41,10 +41,10 @@ _%>
<%= fieldName %>ContentType<% if (!id /* && !fieldValidationRequired */) { %>?<% } %>: string<% if (!id /* && !fieldValidationRequired */) { %> | null<% } %>,
<%_ } _%>
<%_ } _%>
<%_ for (const relationship of relationships.filter(relationship => relationship.ownerSide || relationship.relationshipManyToMany)) {
const { propertyName, relationshipRequired, otherEntity, id, collection, otherEntityField } = relationship;
<%_ for (const relationship of relationships) {
const { propertyName, relationshipRequired, otherEntity, collection, otherEntityField } = relationship;
_%>
<%= propertyName %>?: Pick<I<%= otherEntity.entityAngularName %>, '<%= otherEntity.primaryKey.name %>'<% if (otherEntity.primaryKey.name !== otherEntityField) { %> | '<%= otherEntityField %>'<% } %>><% if (collection) { %>[]<% } %> | null;
<%= propertyName %>?: <% if (!otherEntity.embedded && (dtoMapstruct || otherEntity.builtInUser)) { %>Pick<<% } %>I<%= otherEntity.entityAngularName %><% if (!otherEntity.embedded && (dtoMapstruct || otherEntity.builtInUser)) { %>, '<%= otherEntity.primaryKey.name %>'<% if (otherEntity.primaryKey.name !== otherEntityField) { %> | '<%= otherEntityField %>'<% } %>><% } %><% if (collection) { %>[]<% } %> | null;
<%_ } _%>
}
<%_ if (primaryKey) { _%>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,14 +62,14 @@ _%>
<%_ } _%>
<%_
for (const relationship of relationships.filter(rel => !rel.otherEntityIsEmbedded)) {
const ownerSide = relationship.ownerSide;
const { persistableRelationship } = relationship;
const relationshipName = relationship.relationshipName;
const relationshipFieldName = relationship.relationshipFieldName;
const relationshipFieldNamePlural = relationship.relationshipFieldNamePlural;
const relationshipNameHumanized = relationship.relationshipNameHumanized;
const otherEntityStateName = relationship.otherEntityStateName;
const otherEntityField = relationship.otherEntityField;
if (ownerSide) {
if (persistableRelationship) {
_%>
<dt><span <%= jhiPrefix %>Translate="<%= i18nKeyPrefix %>.<%= relationshipName %>">__jhiTransformTranslate__('<%- i18nKeyPrefix %>.<%- relationshipName %>')</span></dt>
<dd>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,7 @@
</th>
<%_ } _%>
<%_ for (const relationship of relationships.filter(rel => !rel.otherEntityIsEmbedded)) { _%>
<%_ if (relationship.relationshipManyToOne
|| (relationship.relationshipOneToOne && relationship.ownerSide)
|| (relationship.relationshipManyToMany && relationship.ownerSide && paginationNo)) {
<%_ if (relationship.persistableRelationship && (!relationship.collection || paginationNo)) {
const fieldName = "." + relationship.otherEntityField;
_%>
<th scope="col" <%= jhiPrefix %>SortBy="<%= relationship.relationshipName + (fieldName) %>">
Expand Down Expand Up @@ -131,15 +129,11 @@ _%>
<%_ } _%>
<%_ } _%>
<%_ for (const relationship of relationships.filter(rel => !rel.otherEntityIsEmbedded)) {
const ownerSide = relationship.ownerSide;
const relationshipFieldName = relationship.relationshipFieldName;
const relationshipFieldNamePlural = relationship.relationshipFieldNamePlural;
const otherEntityField = relationship.otherEntityField;
_%>
<%_ if (relationship.relationshipManyToOne
|| (relationship.relationshipOneToOne && ownerSide)
|| (relationship.relationshipManyToMany && ownerSide && paginationNo)) {
_%>
<%_ if (relationship.persistableRelationship && (!relationship.collection || paginationNo)) { _%>
<td>
<%_ if (relationship.otherEntityUser) { _%>
<%_ if (relationship.collection) { _%>
Expand All @@ -166,7 +160,7 @@ _%>
<td class="text-end">
<div class="btn-group">
<%_ for (const relationship of relationships.filter(rel => !rel.otherEntityIsEmbedded)) { _%>
<%_ if (relationship.otherEntity.jpaMetamodelFiltering && relationship.otherEntity.paginationPagination && (relationship.relationshipOneToMany || relationship.relationshipManyToMany) && !relationship.ownerSide) {
<%_ if (relationship.otherEntity.jpaMetamodelFiltering && relationship.otherEntity.paginationPagination && relationship.collection && !relationship.persistableRelationship) {
const otherEntityTranslationKey = i18nKeyPrefix + '.' + relationship.relationshipName;
_%>
<button type="submit"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ describe('<%= entityAngularName %> Form Service', () => {
<%_ for (const field of fields) { _%>
<%= field.fieldName %>: expect.any(Object),
<%_ } _%>
<%_ for (const relationship of relationships.filter(relationship => relationship.ownerSide || relationship.relationshipManyToMany)) { _%>
<%_ for (const relationship of relationships.filter(relationship => relationship.persistableRelationship)) { _%>
<%= relationship.propertyName %>: expect.any(Object),
<%_ } _%>
})
Expand All @@ -54,7 +54,7 @@ describe('<%= entityAngularName %> Form Service', () => {
<%_ for (const field of fields) { _%>
<%= field.fieldName %>: expect.any(Object),
<%_ } _%>
<%_ for (const relationship of relationships.filter(relationship => relationship.ownerSide || relationship.relationshipManyToMany)) { _%>
<%_ for (const relationship of relationships.filter(relationship => relationship.persistableRelationship)) { _%>
<%= relationship.propertyName %>: expect.any(Object),
<%_ } _%>
}));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@
<%_
const formDefaultProperties = [
...fields.filter(field => field.fieldTypeTimed || field.fieldTypeBoolean || field.id).map(field => field.fieldName),
...relationships.filter(relationship => relationship.collection && (relationship.relationshipManyToMany || relationship.ownerSide)).map(relationship => relationship.propertyName)
...relationships.filter(relationship => relationship.collection && relationship.persistableRelationship).map(relationship => relationship.propertyName)
];
const containDefaultProperties = formDefaultProperties.length > 0;
const entityFormName = anyFieldIsTimeDerived ? `${entityAngularName}FormRawValue` : `I${entityAngularName}`;
const newEntityFormName = anyFieldIsTimeDerived ? `New${entityAngularName}FormRawValue` : `New${entityAngularName}`;
const noPropertyEntity = fields.filter(field => !field.id).length === 0 && relationships.filter(relationship => relationship.ownerSide || relationship.relationshipManyToMany).length === 0;
const noPropertyEntity = fields.filter(field => !field.id).length === 0 && relationships.filter(relationship => relationship.persistableRelationship).length === 0;
_%>
import { Injectable } from '@angular/core';
import { FormGroup, FormControl, Validators } from '@angular/forms';
Expand Down Expand Up @@ -74,7 +74,7 @@ _%>
<%= fieldName %>ContentType: FormControl<<%= entityFormName %>['<%= fieldName %>ContentType']>;
<%_ } _%>
<%_ } _%>
<%_ for (const relationship of relationships.filter(relationship => relationship.ownerSide || relationship.relationshipManyToMany)) {
<%_ for (const relationship of relationships.filter(relationship => relationship.persistableRelationship)) {
const { propertyName, otherEntity } = relationship;
_%>
<%= propertyName %>: FormControl<<%= entityFormName %>['<%= propertyName %>']>;
Expand Down Expand Up @@ -146,7 +146,7 @@ _%>
<%= fieldName %>ContentType: new FormControl(<%= entityInstance %>RawValue.<%= fieldName %>ContentType),
<%_ } _%>
<%_ } _%>
<%_ for (const relationship of relationships.filter(relationship => relationship.ownerSide || relationship.relationshipManyToMany)) {
<%_ for (const relationship of relationships.filter(relationship => relationship.persistableRelationship)) {
const { relationshipRequired, propertyName, relationshipName, collection, otherEntity } = relationship;
_%>
<%= propertyName %>: new FormControl(
Expand Down Expand Up @@ -215,7 +215,7 @@ _%>
<%= fieldName %>: currentTime,
<%_ } _%>
<%_ } _%>
<%_ for (const relationship of relationships.filter(({ ownerSide, relationshipManyToMany }) => ownerSide || relationshipManyToMany)) {
<%_ for (const relationship of relationships.filter(({ persistableRelationship }) => persistableRelationship)) {
const { relationshipRequired, propertyName, collection, otherEntity, relationshipName } = relationship;
_%>
<%_ if (collection) { _%>
Expand Down Expand Up @@ -250,7 +250,7 @@ _%>
<%= fieldName %>: <%= entityInstance %>.<%= fieldName %> ? <%= entityInstance %>.<%= fieldName %>.format(DATE_TIME_FORMAT) : undefined,
<%_ } _%>
<%_ } _%>
<%_ for (const relationship of relationships.filter(({ ownerSide, relationshipManyToMany }) => ownerSide || relationshipManyToMany)) {
<%_ for (const relationship of relationships.filter(({ persistableRelationship }) => persistableRelationship)) {
const { relationshipRequired, propertyName, collection } = relationship;
_%>
<%_ if (collection) { _%>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,13 +140,13 @@ _%>
</div>
<%_ } _%>
<%_ for (const relationship of relationships.filter(rel => rel.otherEntity.primaryKey)) {
const { otherEntity, ownerSide, relationshipName, propertyName, otherEntityField, relationshipRequired } = relationship;
const { otherEntity, relationshipName, propertyName, otherEntityField, relationshipRequired } = relationship;
const otherEntityName = relationship.otherEntityName;
const relationshipFieldName = relationship.relationshipFieldName;
const relationshipFieldNamePlural = relationship.relationshipFieldNamePlural;
const translationKey = `${i18nKeyPrefix}.${relationshipName}`;
_%>
<%_ if (relationship.relationshipManyToOne || (relationship.relationshipOneToOne && ownerSide)) { _%>
<%_ if (relationship.persistableRelationship && !relationship.collection) { _%>
<div class="mb-3">
<label class="form-label" <%= jhiPrefix %>Translate="<%= translationKey %>" for="field_<%= relationshipName %>">__jhiTransformTranslate__('<%- translationKey %>')</label>
Expand All @@ -161,7 +161,7 @@ _%>
<option [ngValue]="<%= otherEntityName %>Option" *ngFor="let <%= otherEntityName %>Option of <% if (!relationship.otherRelationship || relationship.relationshipManyToOne) { %><%= otherEntity.entityInstancePlural %>Shared<% } else { %><%= relationshipFieldNamePlural %><% } %>Collection">{{ <%= otherEntityName %>Option.<%= otherEntityField %> }}</option>
</select>
</div>
<%_ } else if (relationship.relationshipManyToMany && ownerSide) { _%>
<%_ } else if (relationship.persistableRelationship) { _%>
<div class="mb-3">
<label <%= jhiPrefix %>Translate="<%= translationKey %>" for="field_<%= relationshipFieldNamePlural %>">__jhiTransformTranslate__('<%- translationKey %>')</label>
Expand All @@ -170,7 +170,7 @@ _%>
</select>
</div>
<%_ } _%>
<%_ if (relationship.relationshipValidate && (relationship.relationshipManyToOne || ownerSide)) { _%>
<%_ if (relationship.relationshipValidate && relationship.persistableRelationship) { _%>
<div *ngIf="editForm.get([<%- this.buildAngularFormPath(relationship.reference) %>])!.invalid && (editForm.get([<%- this.buildAngularFormPath(relationship.reference) %>])!.dirty || editForm.get([<%- this.buildAngularFormPath(relationship.reference) %>])!.touched)">
<%_ if (relationshipRequired) { _%>
<small class="form-text text-danger"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
const tsKeyId = this.generateTestEntityId(primaryKey.type);
const allRelationshipsByEntityNeedingOptions = Object
.values(differentRelationships)
.map(relationships => relationships.filter(rel => rel.ownerSide))
.map(relationships => relationships.filter(rel => rel.persistableRelationship))
.filter(relationships => relationships.length > 0);
const testEntityPrimaryKey0 = this.generateTestEntityPrimaryKey(primaryKey, 0);
const testEntityPrimaryKey1 = this.generateTestEntityPrimaryKey(primaryKey, 1);
Expand Down Expand Up @@ -249,7 +249,7 @@ describe('<%= entityAngularName %> Management Update Component', () => {
});
});

<%_ const trackedRelationships = Object.values(differentRelationships).filter(arr => arr.some(rel => rel.ownerSide && rel.otherEntity.primaryKey));
<%_ const trackedRelationships = Object.values(differentRelationships).filter(arr => arr.some(rel => rel.persistableRelationship && rel.otherEntity.primaryKey));
if (trackedRelationships.length > 0) {
_%>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@
<%_
const allRelationshipsByEntityNeedingOptions = Object
.values(differentRelationships)
.map(relationships => relationships.filter(rel => rel.ownerSide))
.map(relationships => relationships.filter(rel => rel.persistableRelationship))
.filter(relationships => relationships.length > 0);
_%>
import { Component, OnInit<% if (anyFieldHasImageContentType) { %>, ElementRef<% } %> } from '@angular/core';
import { HttpResponse } from '@angular/common/http';
import { ActivatedRoute } from '@angular/router';
import { Observable } from 'rxjs';
import { finalize<% if (relationships.some(rel => rel.ownerSide === true)) { %>, map<% } %> } from 'rxjs/operators';
import { finalize<% if (relationships.some(rel => rel.persistableRelationship)) { %>, map<% } %> } from 'rxjs/operators';

import SharedModule from 'app/shared/shared.module';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
Expand All @@ -41,7 +41,7 @@ import { DataUtils, FileLoadError } from 'app/core/util/data-util.service';
<%_ } _%>
<%_
Object.keys(differentRelationships).forEach(key => {
if (differentRelationships[key].some(rel => rel.reference.owned)) {
if (differentRelationships[key].some(rel => rel.persistableRelationship)) {
const uniqueRel = differentRelationships[key][0];
if (uniqueRel.otherEntityAngularName !== entityAngularName) {
if (uniqueRel.otherEntity.builtInUser) {
Expand Down Expand Up @@ -77,7 +77,7 @@ export class <%= entityAngularName %>UpdateComponent implements OnInit {
<%- this._.lowerFirst(importedType) %>Values = Object.keys(<%- importedType %>);
<%_ }); _%>

<%_ for (const relationshipsByEntityNeedingOptions of Object.values(differentRelationships).map(relationships => relationships.filter(rel => rel.ownerSide)).filter(relationships => relationships.length > 0)) { _%>
<%_ for (const relationshipsByEntityNeedingOptions of Object.values(differentRelationships).map(relationships => relationships.filter(rel => rel.persistableRelationship)).filter(relationships => relationships.length > 0)) { _%>
<%_ const relationshipsWithCustomUniqueOptions = relationshipsByEntityNeedingOptions.filter(rel => rel.relationshipOneToOne && rel.otherRelationship); _%>
<%_ if (relationshipsByEntityNeedingOptions.length > relationshipsWithCustomUniqueOptions.length) { _%>
<%_ const otherEntity = relationshipsByEntityNeedingOptions[0].otherEntity _%>
Expand All @@ -99,7 +99,7 @@ export class <%= entityAngularName %>UpdateComponent implements OnInit {
protected <%= entityInstance %>FormService: <%= entityAngularName %>FormService,
<%_
Object.keys(differentRelationships).forEach(key => {
if (differentRelationships[key].some(rel => rel.relationshipManyToOne || rel.relationshipOneToOne && rel.ownerSide || rel.relationshipManyToMany && rel.ownerSide)) {
if (differentRelationships[key].some(rel => rel.persistableRelationship)) {
const uniqueRel = differentRelationships[key][0];
if (uniqueRel.otherEntityAngularName !== entityAngularName) {
_%>
Expand All @@ -114,7 +114,7 @@ _%>
<%_ } _%>
protected activatedRoute: ActivatedRoute,
) {}
<%_ for (const relationshipsByEntity of Object.values(differentRelationships).filter(arr => arr.some(rel => rel.ownerSide && rel.otherEntity.primaryKey))) {
<%_ for (const relationshipsByEntity of Object.values(differentRelationships).filter(arr => arr.some(rel => rel.persistableRelationship && rel.otherEntity.primaryKey))) {
const { otherEntity } = relationshipsByEntity[0];
_%>

Expand All @@ -129,7 +129,7 @@ _%>
this.updateForm(<%= entityInstance %>);
}

<%_ if (relationships.filter(rel => rel.ownerSide && !rel.otherEntityIsEmbedded).length > 0) { _%>
<%_ if (relationships.filter(rel => rel.persistableRelationship && !rel.otherEntityIsEmbedded).length > 0) { _%>
this.loadRelationshipsOptions();
<%_ } _%>
});
Expand Down Expand Up @@ -202,7 +202,7 @@ _%>
protected updateForm(<%= entityInstance %>: I<%= entityAngularName %>): void {
this.<%= entityInstance %> = <%= entityInstance %>;
this.<%= entityInstance %>FormService.resetForm(this.editForm, <%= entityInstance %>);
<%_ if (relationships.filter(rel => rel.ownerSide).length > 0) { _%>
<%_ if (relationships.filter(rel => rel.persistableRelationship).length > 0) { _%>

<%_ for (const relationshipsByEntityNeedingOptions of allRelationshipsByEntityNeedingOptions) { _%>
<%_ const relationshipsWithCustomUniqueOptions = relationshipsByEntityNeedingOptions.filter(rel => rel.relationshipOneToOne && rel.otherRelationship); _%>
Expand All @@ -226,9 +226,9 @@ _%>
<%_ } _%>
}
<%_ if (relationships.filter(rel => rel.ownerSide && !rel.otherEntityIsEmbedded).length > 0) { _%>
<%_ if (relationships.filter(rel => rel.persistableRelationship && !rel.otherEntityIsEmbedded).length > 0) { _%>
protected loadRelationshipsOptions(): void {
<%_ for (const relationshipsByEntityNeedingOptions of Object.values(differentRelationships).map(relationships => relationships.filter(rel => rel.ownerSide)).filter(relationships => relationships.length > 0)) { _%>
<%_ for (const relationshipsByEntityNeedingOptions of Object.values(differentRelationships).map(relationships => relationships.filter(rel => rel.persistableRelationship)).filter(relationships => relationships.length > 0)) { _%>
<%_ const relationshipsWithCustomUniqueOptions = relationshipsByEntityNeedingOptions.filter(rel => rel.relationshipOneToOne && rel.otherRelationship); %>
<%_ const relationshipsWithCustomSharedOptions = relationshipsByEntityNeedingOptions.filter(rel => !relationshipsWithCustomUniqueOptions.includes(rel)); %>
<%_ const { otherEntity } = relationshipsByEntityNeedingOptions[0] _%>
Expand Down

0 comments on commit e04aecf

Please sign in to comment.