xxarox/forms

This package is abandoned and no longer maintained. The author suggests using the j1b1x/forms package instead.
There is no license information available for the latest version (1.1.7) of this package.

1.1.7 2022-11-04 20:51 UTC

This package is auto-updated.

Last update: 2023-07-12 10:25:01 UTC


README

Archived use this instead

composer require xxarox/forms

 GitHub all releases

build.php

$packages = [
	"xxarox/forms" => ["path" => ["src" => "src/xxAROX/forms", "encode" => false]],
]

Example

Fix images
\xxAROX\forms\FormImagesFix::register($pluginBase)
MenuForm
/** @var \pocketmine\player\Player $player */
$player->sendForm(new \xxAROX\forms\types\MenuForm(
	"title",
	"text",
	[
		new \xxAROX\forms\elements\Button("button1", fn (\pocketmine\player\Player $player) => $player->sendMessage("button1")),
		new \xxAROX\forms\elements\Button("button2", fn (\pocketmine\player\Player $player) => $player->sendMessage("button2")),
		new \xxAROX\forms\elements\Button("button3", fn (\pocketmine\player\Player $player) => $player->sendMessage("button3")),
	]
));
CustomForm
/** @var \pocketmine\player\Player $player */
$player->sendForm(new \xxAROX\forms\types\CustomForm(
	"title",
	[
		new \xxAROX\forms\elements\Slider("slider", 0, 100, 50, 0, fn (\pocketmine\player\Player $player, \xxAROX\forms\elements\Slider $slider) => $player->sendMessage("slider: {$slider->getValue()}")),
		new \xxAROX\forms\elements\Toggle("toggle", true, fn (\pocketmine\player\Player $player, \xxAROX\forms\elements\Toggle $toggle) => $player->sendMessage("toggle: {$toggle->getValue()}")),
		new \xxAROX\forms\elements\Dropdown("dropdown", ["option1", "option2", "option3"], 0, fn (\pocketmine\player\Player $player, \xxAROX\forms\elements\Dropdown $dropdown) => $player->sendMessage("dropdown: {$dropdown->getSelectedOption()}")),
		new \xxAROX\forms\elements\Input("input", "placeholder", fn (\pocketmine\player\Player $player, \xxAROX\forms\elements\Input $input) => $player->sendMessage("input: {$input->getValue()}")),
		new \xxAROX\forms\elements\Label("label")
	],
	fn (\pocketmine\player\Player $player) => $player->sendMessage("closed"),
	fn (\pocketmine\player\Player $player, \xxAROX\forms\types\CustomFormResponse $response) => $player->sendMessage("response will called after all elements are called")
));
ModalForm
/** @var \pocketmine\player\Player $player */
$player->sendForm(new \xxAROX\forms\types\ModalForm(
	"title",
	"text",
	fn (\pocketmine\player\Player $player, bool $isYes) => $player->sendMessage("modal: " . ($isYes ? "yes" : "no"))
	"Yes",
	"No"
));