shm_simple_form

This commit is contained in:
Shish 2020-01-26 13:25:02 +00:00
parent 1802b9c7f6
commit f5ccffdaf4
4 changed files with 66 additions and 54 deletions

View File

@ -1,4 +1,5 @@
<?php <?php
use function MicroHTML\emptyHTML;
use function MicroHTML\FORM; use function MicroHTML\FORM;
use function MicroHTML\INPUT; use function MicroHTML\INPUT;
use function MicroHTML\DIV; use function MicroHTML\DIV;
@ -703,6 +704,12 @@ function SHM_FORM(string $target, string $method="POST", bool $multipart=false,
return $f; return $f;
} }
function SHM_SIMPLE_FORM($target, ...$children) {
$form = SHM_FORM($target);
$form->appendChild(emptyHTML(...$children));
return $form;
}
function SHM_COMMAND_EXAMPLE(string $ex, string $desc) function SHM_COMMAND_EXAMPLE(string $ex, string $desc)
{ {
return DIV( return DIV(
@ -717,8 +724,9 @@ function SHM_USER_FORM(User $duser, string $target, string $title, $body, $foot)
if (is_string($foot)) { if (is_string($foot)) {
$foot = TFOOT(TR(TD(["colspan"=>"2"], INPUT(["type"=>"submit", "value"=>$foot])))); $foot = TFOOT(TR(TD(["colspan"=>"2"], INPUT(["type"=>"submit", "value"=>$foot]))));
} }
$form = SHM_FORM(make_link($target)); return SHM_SIMPLE_FORM(
$form->appendChild(P( make_link($target),
P(
INPUT(["type"=>'hidden', "name"=>'id', "value"=>$duser->id]), INPUT(["type"=>'hidden', "name"=>'id', "value"=>$duser->id]),
TABLE( TABLE(
["class"=>"form"], ["class"=>"form"],
@ -726,6 +734,6 @@ function SHM_USER_FORM(User $duser, string $target, string $title, $body, $foot)
$body, $body,
$foot $foot
) )
)); )
return $form; );
} }

View File

@ -9,8 +9,9 @@ class BlocksTheme extends Themelet
$html = TABLE(["class"=>"form", "style"=>"width: 100%;"]); $html = TABLE(["class"=>"form", "style"=>"width: 100%;"]);
foreach ($blocks as $block) { foreach ($blocks as $block) {
$form = SHM_FORM(make_link("blocks/update")); $html->appendChild(SHM_SIMPLE_FORM(
$form->appendChild(TR( make_link("blocks/update"),
TR(
INPUT(["type"=>"hidden", "name"=>"id", "value"=>$block['id']]), INPUT(["type"=>"hidden", "name"=>"id", "value"=>$block['id']]),
TH("Title"), TD(INPUT(["type"=>"text", "name"=>"title", "value"=>$block['title']])), TH("Title"), TD(INPUT(["type"=>"text", "name"=>"title", "value"=>$block['title']])),
TH("Area"), TD(INPUT(["type"=>"text", "name"=>"area", "value"=>$block['area']])), TH("Area"), TD(INPUT(["type"=>"text", "name"=>"area", "value"=>$block['area']])),
@ -18,32 +19,33 @@ class BlocksTheme extends Themelet
TH("Pages"), TD(INPUT(["type"=>"text", "name"=>"pages", "value"=>$block['pages']])), TH("Pages"), TD(INPUT(["type"=>"text", "name"=>"pages", "value"=>$block['pages']])),
TH("Delete"), TD(INPUT(["type"=>"checkbox", "name"=>"delete"])), TH("Delete"), TD(INPUT(["type"=>"checkbox", "name"=>"delete"])),
TD(INPUT(["type"=>"submit", "value"=>"Save"])) TD(INPUT(["type"=>"submit", "value"=>"Save"]))
)); ),
$form->appendChild(TR( TR(
TD(["colspan"=>"11"], TEXTAREA(["rows"=>"5", "name"=>"content"], $block['content'])) TD(["colspan"=>"11"], TEXTAREA(["rows"=>"5", "name"=>"content"], $block['content']))
)); ),
$form->appendChild(TR( TR(
TD(["colspan"=>"11"], rawHTML("&nbsp;")) TD(["colspan"=>"11"], rawHTML("&nbsp;"))
),
)); ));
$html->appendChild($form);
} }
$form = SHM_FORM(make_link("blocks/add")); $html->appendChild(SHM_SIMPLE_FORM(
$form->appendChild(TR( make_link("blocks/add"),
TR(
TH("Title"), TD(INPUT(["type"=>"text", "name"=>"title", "value"=>""])), TH("Title"), TD(INPUT(["type"=>"text", "name"=>"title", "value"=>""])),
TH("Area"), TD(SELECT(["name"=>"area"], OPTION("left"), OPTION("main")), TH("Area"), TD(SELECT(["name"=>"area"], OPTION("left"), OPTION("main"))),
TH("Priority"), TD(INPUT(["type"=>"text", "name"=>"priority", "value"=>'50'])), TH("Priority"), TD(INPUT(["type"=>"text", "name"=>"priority", "value"=>'50'])),
TH("Pages"), TD(INPUT(["type"=>"text", "name"=>"pages", "value"=>'post/list*'])), TH("Pages"), TD(INPUT(["type"=>"text", "name"=>"pages", "value"=>'post/list*'])),
TD(["colspan"=>'3'], INPUT(["type"=>"submit", "value"=>"Add"])) TD(["colspan"=>'3'], INPUT(["type"=>"submit", "value"=>"Add"]))
))); ),
$form->appendChild(TR( TR(
TD(["colspan"=>"11"], TEXTAREA(["rows"=>"5", "name"=>"content"])) TD(["colspan"=>"11"], TEXTAREA(["rows"=>"5", "name"=>"content"]))
),
)); ));
$html->appendChild($form);
$page->set_title("Blocks"); $page->set_title("Blocks");
$page->set_heading("Blocks"); $page->set_heading("Blocks");
$page->add_block(new NavBlock()); $page->add_block(new NavBlock());
$page->add_block(new Block("Block Editor", $html)); $page->add_block(new Block("Block Editor", (string)$html));
} }
} }

View File

@ -26,8 +26,9 @@ class ExtManagerTheme extends Themelet
{ {
$tbody = TBODY(); $tbody = TBODY();
$form = SHM_FORM(make_link("ext_manager/set")); $form = SHM_SIMPLE_FORM(
$form->appendChild(TABLE( make_link("ext_manager/set"),
TABLE(
["id"=>'extensions', "class"=>'zebra sortable'], ["id"=>'extensions', "class"=>'zebra sortable'],
THEAD(TR( THEAD(TR(
$editable ? TH("Enabled") : null, $editable ? TH("Enabled") : null,
@ -37,7 +38,8 @@ class ExtManagerTheme extends Themelet
)), )),
$tbody, $tbody,
$editable ? TFOOT(TR(TD(["colspan"=>'5'], INPUT(["type"=>'submit', "value"=>'Set Extensions'])))) : null $editable ? TFOOT(TR(TD(["colspan"=>'5'], INPUT(["type"=>'submit', "value"=>'Set Extensions'])))) : null
)); )
);
foreach ($extensions as $extension) { foreach ($extensions as $extension) {
if ((!$editable && $extension->visibility === ExtensionInfo::VISIBLE_ADMIN) if ((!$editable && $extension->visibility === ExtensionInfo::VISIBLE_ADMIN)

View File

@ -63,8 +63,8 @@ class UserPageTheme extends Themelet
$tac = $tfe->formatted; $tac = $tfe->formatted;
} }
$form = SHM_FORM(make_link("user_admin/create")); $form = SHM_SIMPLE_FORM(
$form->appendChild( make_link("user_admin/create"),
TABLE( TABLE(
["class"=>"form"], ["class"=>"form"],
TBODY( TBODY(
@ -119,8 +119,8 @@ class UserPageTheme extends Themelet
public function display_login_block(Page $page) public function display_login_block(Page $page)
{ {
global $config, $user; global $config, $user;
$form = SHM_FORM(make_link("user_admin/login")); $form = SHM_SIMPLE_FORM(
$form->appendChild( make_link("user_admin/login"),
TABLE( TABLE(
["style"=>"width: 100%", "class"=>"form"], ["style"=>"width: 100%", "class"=>"form"],
TBODY( TBODY(