Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/release/15.1' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
ulferts committed Dec 2, 2024
2 parents b9c6174 + 5b4f8ce commit 05c69b5
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ See COPYRIGHT and LICENSE files for more details.
) do |form|
concat(render(Primer::Alpha::Dialog::Body.new(
id: dialog_body_id, test_selector: dialog_body_id, aria: { label: title },
style: "min-height: 300px"
classes: "Overlay-body_autocomplete_height"
)) do
render(Projects::CustomFields::CustomFieldMappingForm.new(form, project_mapping: @custom_field_project_mapping))
end)
Expand Down
6 changes: 2 additions & 4 deletions app/forms/projects/custom_fields/custom_field_mapping_form.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,7 @@ class CustomFieldMappingForm < ApplicationForm
include OpPrimer::ComponentHelpers

form do |form|
form.group(layout: :vertical) do |group|
group.project_autocompleter(
form.project_autocompleter(
name: :id,
label: Project.model_name.human,
visually_hide_label: true,
Expand All @@ -48,13 +47,12 @@ class CustomFieldMappingForm < ApplicationForm
}
)

group.check_box(
form.check_box(
name: :include_sub_projects,
label: I18n.t(:label_include_sub_projects),
checked: false,
label_arguments: { class: "no-wrap" }
)
end
end

def initialize(project_mapping:)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import {
Component,
ElementRef,
Input,
OnDestroy,
OnInit,
ViewChild,
} from '@angular/core';
Expand All @@ -56,13 +57,15 @@ import {
changeDetection: ChangeDetectionStrategy.OnPush,
templateUrl: './wp-relations.template.html',
})
export class WorkPackageRelationsComponent extends UntilDestroyedMixin implements OnInit, AfterViewInit {
export class WorkPackageRelationsComponent extends UntilDestroyedMixin implements OnInit, AfterViewInit, OnDestroy {
@Input() public workPackage:WorkPackageResource;

@ViewChild('frameElement') readonly relationTurboFrame:ElementRef<HTMLIFrameElement>;

turboFrameSrc:string;

private turboFrameListener:EventListener = this.updateFrontendData.bind(this);

constructor(
private wpRelations:WorkPackageRelationsService,
private apiV3Service:ApiV3Service,
Expand All @@ -77,6 +80,12 @@ export class WorkPackageRelationsComponent extends UntilDestroyedMixin implement
this.turboFrameSrc = `${this.PathHelper.staticBase}/work_packages/${this.workPackage.id}/relations_tab`;
}

ngOnDestroy() {
super.ngOnDestroy();

document.removeEventListener('turbo:submit-end', this.turboFrameListener);
}

ngAfterViewInit() {
// Listen to any changes to the relations and update the frame
this
Expand Down Expand Up @@ -104,7 +113,16 @@ export class WorkPackageRelationsComponent extends UntilDestroyedMixin implement
cannot listen to the submit end event on the relationTurboFrame element and have
to rely on the form action URL.
*/
document.addEventListener('turbo:submit-end', (event:CustomEvent) => {
document.addEventListener('turbo:submit-end', this.turboFrameListener);
}

public updateCounter() {
const url = this.PathHelper.workPackageUpdateCounterPath(this.workPackage.id!, 'relations');
void this.turboRequests.request(url);
}

private updateFrontendData(event:CustomEvent) {
if (event) {
const form = event.target as HTMLFormElement;
const updateWorkPackage = !!form.dataset?.updateWorkPackage;

Expand All @@ -124,12 +142,7 @@ export class WorkPackageRelationsComponent extends UntilDestroyedMixin implement
this.updateCounter();
}
}
});
}

public updateCounter() {
const url = this.PathHelper.workPackageUpdateCounterPath(this.workPackage.id!, 'relations');
void this.turboRequests.request(url);
}
}

private updateRelationsTab() {
Expand Down

0 comments on commit 05c69b5

Please sign in to comment.