xxarox/forms

此包已废弃,不再维护。作者建议使用j1b1x/forms包。
此包的最新版本(1.1.7)没有可用的许可证信息。

1.1.7 2022-11-04 20:51 UTC

This package is auto-updated.

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


README

存档使用代替

composer require xxarox/forms

 GitHub all releases

build.php

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

示例

修复图片
\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"
));