mirror of
https://github.com/xpipe-io/xpipe.git
synced 2024-09-30 09:07:03 +13:00
Skip scan if validation has been skipped
This commit is contained in:
parent
fe885d7e80
commit
1e7c2f9c93
1 changed files with 11 additions and 11 deletions
|
@ -40,14 +40,14 @@ import net.synedra.validatorfx.GraphicDecorationStackPane;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.BiConsumer;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE)
|
@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE)
|
||||||
public class StoreCreationComp extends DialogComp {
|
public class StoreCreationComp extends DialogComp {
|
||||||
|
|
||||||
Stage window;
|
Stage window;
|
||||||
Consumer<DataStoreEntry> consumer;
|
BiConsumer<DataStoreEntry, Boolean> consumer;
|
||||||
Property<DataStoreProvider> provider;
|
Property<DataStoreProvider> provider;
|
||||||
Property<DataStore> store;
|
Property<DataStore> store;
|
||||||
Predicate<DataStoreProvider> filter;
|
Predicate<DataStoreProvider> filter;
|
||||||
|
@ -64,7 +64,7 @@ public class StoreCreationComp extends DialogComp {
|
||||||
|
|
||||||
public StoreCreationComp(
|
public StoreCreationComp(
|
||||||
Stage window,
|
Stage window,
|
||||||
Consumer<DataStoreEntry> consumer,
|
BiConsumer<DataStoreEntry, Boolean> consumer,
|
||||||
Property<DataStoreProvider> provider,
|
Property<DataStoreProvider> provider,
|
||||||
Property<DataStore> store,
|
Property<DataStore> store,
|
||||||
Predicate<DataStoreProvider> filter,
|
Predicate<DataStoreProvider> filter,
|
||||||
|
@ -148,7 +148,7 @@ public class StoreCreationComp extends DialogComp {
|
||||||
e.getProvider(),
|
e.getProvider(),
|
||||||
e.getStore(),
|
e.getStore(),
|
||||||
v -> true,
|
v -> true,
|
||||||
newE -> {
|
(newE, validated) -> {
|
||||||
ThreadHelper.runAsync(() -> {
|
ThreadHelper.runAsync(() -> {
|
||||||
if (!DataStorage.get().getStoreEntries().contains(e)) {
|
if (!DataStorage.get().getStoreEntries().contains(e)) {
|
||||||
DataStorage.get().addStoreEntryIfNotPresent(newE);
|
DataStorage.get().addStoreEntryIfNotPresent(newE);
|
||||||
|
@ -171,7 +171,7 @@ public class StoreCreationComp extends DialogComp {
|
||||||
base != null ? DataStoreProviders.byStore(base) : null,
|
base != null ? DataStoreProviders.byStore(base) : null,
|
||||||
base,
|
base,
|
||||||
dataStoreProvider -> category.equals(dataStoreProvider.getCreationCategory()),
|
dataStoreProvider -> category.equals(dataStoreProvider.getCreationCategory()),
|
||||||
e -> {
|
(e, validated) -> {
|
||||||
try {
|
try {
|
||||||
DataStorage.get().addStoreEntryIfNotPresent(e);
|
DataStorage.get().addStoreEntryIfNotPresent(e);
|
||||||
if (e.getProvider().shouldHaveChildren()
|
if (e.getProvider().shouldHaveChildren()
|
||||||
|
@ -193,7 +193,7 @@ public class StoreCreationComp extends DialogComp {
|
||||||
DataStoreProvider provider,
|
DataStoreProvider provider,
|
||||||
DataStore s,
|
DataStore s,
|
||||||
Predicate<DataStoreProvider> filter,
|
Predicate<DataStoreProvider> filter,
|
||||||
Consumer<DataStoreEntry> con,
|
BiConsumer<DataStoreEntry, Boolean> con,
|
||||||
boolean staticDisplay,
|
boolean staticDisplay,
|
||||||
DataStoreEntry existingEntry) {
|
DataStoreEntry existingEntry) {
|
||||||
var prop = new SimpleObjectProperty<>(provider);
|
var prop = new SimpleObjectProperty<>(provider);
|
||||||
|
@ -223,7 +223,7 @@ public class StoreCreationComp extends DialogComp {
|
||||||
protected List<Comp<?>> customButtons() {
|
protected List<Comp<?>> customButtons() {
|
||||||
return List.of(new ButtonComp(AppI18n.observable("skip"), null, () -> {
|
return List.of(new ButtonComp(AppI18n.observable("skip"), null, () -> {
|
||||||
if (showInvalidConfirmAlert()) {
|
if (showInvalidConfirmAlert()) {
|
||||||
commit();
|
commit(false);
|
||||||
} else {
|
} else {
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
@ -248,7 +248,7 @@ public class StoreCreationComp extends DialogComp {
|
||||||
|
|
||||||
// We didn't change anything
|
// We didn't change anything
|
||||||
if (existingEntry != null && existingEntry.getStore().equals(store.getValue())) {
|
if (existingEntry != null && existingEntry.getStore().equals(store.getValue())) {
|
||||||
commit();
|
commit(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -274,7 +274,7 @@ public class StoreCreationComp extends DialogComp {
|
||||||
try (var b = new BooleanScope(busy).start()) {
|
try (var b = new BooleanScope(busy).start()) {
|
||||||
DataStorage.get().addStoreEntryInProgress(entry.getValue());
|
DataStorage.get().addStoreEntryInProgress(entry.getValue());
|
||||||
entry.getValue().validateOrThrow();
|
entry.getValue().validateOrThrow();
|
||||||
commit();
|
commit(true);
|
||||||
} catch (Throwable ex) {
|
} catch (Throwable ex) {
|
||||||
if (ex instanceof ValidationException) {
|
if (ex instanceof ValidationException) {
|
||||||
ErrorEvent.expected(ex);
|
ErrorEvent.expected(ex);
|
||||||
|
@ -349,14 +349,14 @@ public class StoreCreationComp extends DialogComp {
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void commit() {
|
private void commit(boolean validated) {
|
||||||
if (finished.get()) {
|
if (finished.get()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
finished.setValue(true);
|
finished.setValue(true);
|
||||||
|
|
||||||
if (entry.getValue() != null) {
|
if (entry.getValue() != null) {
|
||||||
consumer.accept(entry.getValue());
|
consumer.accept(entry.getValue(), validated);
|
||||||
}
|
}
|
||||||
|
|
||||||
PlatformThread.runLaterIfNeeded(() -> {
|
PlatformThread.runLaterIfNeeded(() -> {
|
||||||
|
|
Loading…
Reference in a new issue