fancydialogs: Add dialog types

This commit is contained in:
Oliver
2025-05-15 20:04:25 +02:00
committed by Oliver
parent a152bbc83a
commit da47f688bc
10 changed files with 131 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
package com.fancyinnovations.fancydialogs.api.submit;
public interface SubmitMethod {
}

View File

@@ -0,0 +1,13 @@
package com.fancyinnovations.fancydialogs.api.types;
import com.fancyinnovations.fancydialogs.api.DialogData;
import com.fancyinnovations.fancydialogs.api.click.ClickAction;
import org.jetbrains.annotations.NotNull;
public record ConfirmationDialog(
@NotNull DialogData common,
@NotNull ClickAction yesButton,
@NotNull ClickAction noButton
) implements Dialog{
}

View File

@@ -0,0 +1,4 @@
package com.fancyinnovations.fancydialogs.api.types;
public interface Dialog {
}

View File

@@ -0,0 +1,17 @@
package com.fancyinnovations.fancydialogs.api.types;
import com.fancyinnovations.fancydialogs.api.DialogData;
import com.fancyinnovations.fancydialogs.api.click.ClickEvent;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
public record DialogListDialog(
@NotNull DialogData common,
@NotNull List<Dialog> dialogs,
@Nullable ClickEvent onCancel,
int columns,
int buttonWidth
) implements Dialog {
}

View File

@@ -0,0 +1,22 @@
package com.fancyinnovations.fancydialogs.api.types;
import com.fancyinnovations.fancydialogs.api.click.Button;
import com.fancyinnovations.fancydialogs.api.input.DialogInput;
import com.fancyinnovations.fancydialogs.api.submit.SubmitMethod;
import org.jetbrains.annotations.NotNull;
public interface InputFormDialog extends Dialog {
record Input(
@NotNull String key,
@NotNull DialogInput control
) {
}
record SubmitAction(
@NotNull String id,
@NotNull Button buttonData,
@NotNull SubmitMethod method
) {
}
}

View File

@@ -0,0 +1,18 @@
package com.fancyinnovations.fancydialogs.api.types;
import com.fancyinnovations.fancydialogs.api.DialogData;
import com.fancyinnovations.fancydialogs.api.click.ClickAction;
import com.fancyinnovations.fancydialogs.api.click.ClickEvent;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
public record MultiActionDialog(
@NotNull DialogData common,
@NotNull List<ClickAction> actions,
@Nullable ClickEvent onCancel,
int columns
) implements Dialog{
}

View File

@@ -0,0 +1,14 @@
package com.fancyinnovations.fancydialogs.api.types;
import com.fancyinnovations.fancydialogs.api.DialogData;
import org.jetbrains.annotations.NotNull;
import java.util.List;
public record MultiActionInputFormDialog(
@NotNull DialogData common,
@NotNull List<InputFormDialog.Input> inputs,
@NotNull List<InputFormDialog.SubmitAction> actions
) implements Dialog{
}

View File

@@ -0,0 +1,11 @@
package com.fancyinnovations.fancydialogs.api.types;
import com.fancyinnovations.fancydialogs.api.DialogData;
import com.fancyinnovations.fancydialogs.api.click.ClickAction;
import org.jetbrains.annotations.NotNull;
public record NoticeDialog(
@NotNull DialogData common,
@NotNull ClickAction button
) implements Dialog {
}

View File

@@ -0,0 +1,14 @@
package com.fancyinnovations.fancydialogs.api.types;
import com.fancyinnovations.fancydialogs.api.DialogData;
import com.fancyinnovations.fancydialogs.api.click.ClickEvent;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public record ServerLinksDialog(
@NotNull DialogData common,
@Nullable ClickEvent onCancel,
int columns,
int buttonWidth
) implements Dialog {
}

View File

@@ -0,0 +1,14 @@
package com.fancyinnovations.fancydialogs.api.types;
import com.fancyinnovations.fancydialogs.api.DialogData;
import org.jetbrains.annotations.NotNull;
import java.util.List;
public record SimpleInputFormDialog(
@NotNull DialogData common,
@NotNull List<InputFormDialog.Input> inputs,
@NotNull InputFormDialog.SubmitAction action
) implements Dialog{
}