nur-sery/nur_src/v/bs3/Bs3PageContainer.php

67 lines
2.2 KiB
PHP
Raw Normal View History

2023-12-03 22:10:18 +04:00
<?php
namespace nur\v\bs3;
use nur\co;
use nur\md;
use nur\msg;
use nur\v\fo;
use nur\v\html5\Html5NavigablePageContainer;
use nur\v\icon;
use nur\v\ly;
use nur\v\navbar;
use nur\v\v;
class Bs3PageContainer extends Html5NavigablePageContainer {
protected function initToolkit(): void {
parent::initToolkit();
msg::set_messenger_class(Bs3Messenger::class);
fo::set_manager_class(Bs3FormManager::class);
ly::set_manager_class(Bs3LayoutManager::class);
navbar::set_manager_class(Bs3NavbarManager::class);
icon::set_manager_class(Bs3IconManager::class);
}
function doResolveConfig(): void {
$this->setHaveJs("jquery");
parent::doResolveConfig();
}
function printStartHead(): void {
$page = $this->page;
$page->beforePrintStartHead();
$prefix = $this->getSelfRelativePrefix();
?>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="shortcut" href="<?=$prefix?>nur-v-bs3/favicon.ico" />
<link rel="icon" href="<?=$prefix?>nur-v-bs3/appicon.png" />
<link rel="apple-touch-icon" href="<?=$prefix?>nur-v-bs3/appicon.png" />
<link href="<?=$prefix?>nur-v-bs3/bootstrap/css/bootstrap.min.css" rel="stylesheet"/>
<link href="<?=$prefix?>nur-base/base.css" rel="stylesheet"/>
<link href="<?=$prefix?>nur-v-bs3/base.css" rel="stylesheet"/>
<script src="<?=$prefix?>nur-v-bs3/jquery/jquery.min.js" type="text/javascript"></script>
<script src="<?=$prefix?>nur-v-bs3/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
<!--[if lt IE 9]>
<script src="<?=$prefix?>nur-v-bs3/html5shiv/html5shiv.js"></script>
<script src="<?=$prefix?>nur-v-bs3/respond/respond.min.js"></script>
<![endif]-->
<?php
$page->afterPrintStartHead();
}
const CONTAINER_OPTIONS_SCHEMA = [
"container" => ["?string", _container::CONTAINER_NORMAL, "type de container"],
];
function printStartContainer(?array $options): void {
md::ensure_schema($options, self::CONTAINER_OPTIONS_SCHEMA);
co::_print(v::sdiv(["class" => _container::get_class($options["container"])]));
}
function printEndContainer(): void {
co::_print(v::ediv());
}
}