EnableSpringDataWebSupport for PageDto

This commit is contained in:
Patrick Haßel 2024-11-05 12:50:16 +01:00
parent a678cf3416
commit baa42f0cc8
4 changed files with 17 additions and 8 deletions

View File

@ -20,10 +20,7 @@ export class Subscribed<T> {
set value(value: T | null) {
if (!this.isSame(value)) {
if (this.subscription) {
this.subscription.unsubscribe();
this.subscription = null;
}
this.unsubscribe();
if (value) {
this.subscription = this.subscribe(value, next => this.value = next);
}
@ -31,6 +28,13 @@ export class Subscribed<T> {
this._value = value;
}
public unsubscribe() {
if (this.subscription) {
this.subscription.unsubscribe();
this.subscription = null;
}
}
private isSame(value: T | null) {
if (this._value === null) {
return value === null;

View File

@ -17,10 +17,10 @@ export class Page<T> {
static fromJson<T>(fromJson: FromJson<T>): FromJson<Page<T>> {
return (json: any) => new Page<T>(
validateNumber(json.size),
validateNumber(json.number),
validateNumber(json.totalPages),
validateNumber(json.totalElements),
validateNumber(json.page.size),
validateNumber(json.page.number),
validateNumber(json.page.totalPages),
validateNumber(json.page.totalElements),
validateList(json.content, fromJson),
);
}

View File

@ -77,6 +77,7 @@ export class GroupComponent implements OnInit, OnDestroy {
this.timer.unsubscribe();
this.timer = undefined;
}
this.group.unsubscribe();
}
protected changeTitle(group: Group, title: string) {

View File

@ -9,6 +9,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.data.web.config.EnableSpringDataWebSupport;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
@ -18,8 +19,11 @@ import org.springframework.web.servlet.resource.PathResourceResolver;
import java.io.IOException;
import java.util.List;
import static org.springframework.data.web.config.EnableSpringDataWebSupport.PageSerializationMode.VIA_DTO;
@Configuration
@RequiredArgsConstructor
@EnableSpringDataWebSupport(pageSerializationMode = VIA_DTO)
public class WebConfig implements WebMvcConfigurer {
@Override