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,15 +724,16 @@ 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),
INPUT(["type"=>'hidden', "name"=>'id', "value"=>$duser->id]), P(
TABLE( INPUT(["type"=>'hidden', "name"=>'id', "value"=>$duser->id]),
["class"=>"form"], TABLE(
THEAD(TR(TH(["colspan"=>"2"], $title))), ["class"=>"form"],
$body, THEAD(TR(TH(["colspan"=>"2"], $title))),
$foot $body,
$foot
)
) )
)); );
return $form;
} }

View File

@ -9,41 +9,43 @@ 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"),
INPUT(["type"=>"hidden", "name"=>"id", "value"=>$block['id']]), TR(
TH("Title"), TD(INPUT(["type"=>"text", "name"=>"title", "value"=>$block['title']])), INPUT(["type"=>"hidden", "name"=>"id", "value"=>$block['id']]),
TH("Area"), TD(INPUT(["type"=>"text", "name"=>"area", "value"=>$block['area']])), TH("Title"), TD(INPUT(["type"=>"text", "name"=>"title", "value"=>$block['title']])),
TH("Priority"), TD(INPUT(["type"=>"text", "name"=>"priority", "value"=>$block['priority']])), TH("Area"), TD(INPUT(["type"=>"text", "name"=>"area", "value"=>$block['area']])),
TH("Pages"), TD(INPUT(["type"=>"text", "name"=>"pages", "value"=>$block['pages']])), TH("Priority"), TD(INPUT(["type"=>"text", "name"=>"priority", "value"=>$block['priority']])),
TH("Delete"), TD(INPUT(["type"=>"checkbox", "name"=>"delete"])), TH("Pages"), TD(INPUT(["type"=>"text", "name"=>"pages", "value"=>$block['pages']])),
TD(INPUT(["type"=>"submit", "value"=>"Save"])) TH("Delete"), TD(INPUT(["type"=>"checkbox", "name"=>"delete"])),
TD(INPUT(["type"=>"submit", "value"=>"Save"]))
),
TR(
TD(["colspan"=>"11"], TEXTAREA(["rows"=>"5", "name"=>"content"], $block['content']))
),
TR(
TD(["colspan"=>"11"], rawHTML("&nbsp;"))
),
)); ));
$form->appendChild(TR(
TD(["colspan"=>"11"], TEXTAREA(["rows"=>"5", "name"=>"content"], $block['content']))
));
$form->appendChild(TR(
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"),
TH("Title"), TD(INPUT(["type"=>"text", "name"=>"title", "value"=>""])), TR(
TH("Area"), TD(SELECT(["name"=>"area"], OPTION("left"), OPTION("main")), TH("Title"), TD(INPUT(["type"=>"text", "name"=>"title", "value"=>""])),
TH("Priority"), TD(INPUT(["type"=>"text", "name"=>"priority", "value"=>'50'])), TH("Area"), TD(SELECT(["name"=>"area"], OPTION("left"), OPTION("main"))),
TH("Pages"), TD(INPUT(["type"=>"text", "name"=>"pages", "value"=>'post/list*'])), TH("Priority"), TD(INPUT(["type"=>"text", "name"=>"priority", "value"=>'50'])),
TD(["colspan"=>'3'], INPUT(["type"=>"submit", "value"=>"Add"])) TH("Pages"), TD(INPUT(["type"=>"text", "name"=>"pages", "value"=>'post/list*'])),
))); TD(["colspan"=>'3'], INPUT(["type"=>"submit", "value"=>"Add"]))
$form->appendChild(TR( ),
TD(["colspan"=>"11"], TEXTAREA(["rows"=>"5", "name"=>"content"])) TR(
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,18 +26,20 @@ 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"),
["id"=>'extensions', "class"=>'zebra sortable'], TABLE(
THEAD(TR( ["id"=>'extensions', "class"=>'zebra sortable'],
$editable ? TH("Enabled") : null, THEAD(TR(
TH("Name"), $editable ? TH("Enabled") : null,
TH("Docs"), TH("Name"),
TH("Description") TH("Docs"),
)), TH("Description")
$tbody, )),
$editable ? TFOOT(TR(TD(["colspan"=>'5'], INPUT(["type"=>'submit', "value"=>'Set Extensions'])))) : null $tbody,
)); $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(