mirror of
https://github.com/xpipe-io/xpipe.git
synced 2026-08-22 09:16:29 +00:00
Rework states
This commit is contained in:
@@ -31,15 +31,13 @@ public class ScriptGroupStoreProvider implements DataStoreProvider {
|
||||
|
||||
var def = StoreToggleComp.<ScriptGroupStore>simpleToggle(
|
||||
"base.isDefaultGroup", sec, s -> s.getState().isDefault(), (s, aBoolean) -> {
|
||||
var state = s.getState();
|
||||
state.setDefault(aBoolean);
|
||||
var state = s.getState().toBuilder().isDefault(aBoolean).build();
|
||||
s.setState(state);
|
||||
});
|
||||
|
||||
var bring = StoreToggleComp.<ScriptGroupStore>simpleToggle(
|
||||
"base.bringToShells", sec, s -> s.getState().isBringToShell(), (s, aBoolean) -> {
|
||||
var state = s.getState();
|
||||
state.setBringToShell(aBoolean);
|
||||
var state = s.getState().toBuilder().bringToShell(aBoolean).build();
|
||||
s.setState(state);
|
||||
});
|
||||
|
||||
|
||||
@@ -6,15 +6,14 @@ import io.xpipe.app.storage.DataStoreEntry;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.util.ShellTemp;
|
||||
import io.xpipe.app.util.Validators;
|
||||
import io.xpipe.core.process.ShellInitCommand;
|
||||
import io.xpipe.core.process.ShellControl;
|
||||
import io.xpipe.core.process.ShellInitCommand;
|
||||
import io.xpipe.core.store.DataStore;
|
||||
import io.xpipe.core.store.DataStoreState;
|
||||
import io.xpipe.core.store.FileNames;
|
||||
import io.xpipe.core.store.StatefulDataStore;
|
||||
import io.xpipe.core.util.JacksonizedValue;
|
||||
import lombok.*;
|
||||
import lombok.experimental.FieldDefaults;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import lombok.extern.jackson.Jacksonized;
|
||||
|
||||
@@ -222,20 +221,12 @@ public abstract class ScriptStore extends JacksonizedValue implements DataStore,
|
||||
|
||||
public abstract List<DataStoreEntryRef<ScriptStore>> getEffectiveScripts();
|
||||
|
||||
@FieldDefaults(level = AccessLevel.PRIVATE)
|
||||
@Setter
|
||||
@Getter
|
||||
@SuperBuilder
|
||||
@Value
|
||||
@EqualsAndHashCode(callSuper=true)
|
||||
@SuperBuilder(toBuilder = true)
|
||||
@Jacksonized
|
||||
public static class State extends DataStoreState {
|
||||
boolean isDefault;
|
||||
boolean bringToShell;
|
||||
|
||||
@Override
|
||||
public void merge(DataStoreState newer) {
|
||||
var s = (State) newer;
|
||||
isDefault = s.isDefault;
|
||||
bringToShell = s.bringToShell;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,15 +56,13 @@ public class SimpleScriptStoreProvider implements DataStoreProvider {
|
||||
|
||||
var def = StoreToggleComp.<SimpleScriptStore>simpleToggle(
|
||||
"base.isDefaultGroup", sec, s -> s.getState().isDefault(), (s, aBoolean) -> {
|
||||
var state = s.getState();
|
||||
state.setDefault(aBoolean);
|
||||
var state = s.getState().toBuilder().isDefault(aBoolean).build();
|
||||
s.setState(state);
|
||||
});
|
||||
|
||||
var bring = StoreToggleComp.<SimpleScriptStore>simpleToggle(
|
||||
"base.bringToShells", sec, s -> s.getState().isBringToShell(), (s, aBoolean) -> {
|
||||
var state = s.getState();
|
||||
state.setBringToShell(aBoolean);
|
||||
var state = s.getState().toBuilder().bringToShell(aBoolean).build();
|
||||
s.setState(state);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user