|
@@ -759,4 +759,27 @@ class UI {
|
|
|
return $attrs;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @param array $params
|
|
|
+ * @param bool $params['showMenu']
|
|
|
+ * @param bool $params['showContainer']
|
|
|
+ * @param string $params['containerClass'] : [ 'fluid' ], default ''
|
|
|
+ */
|
|
|
+ public static function layout($callback, $params = []) {
|
|
|
+ $params['showMenu'] = V::get('showMenu', true, $params, 'bool');
|
|
|
+ $params['showContainer'] = V::get('showContainer', true, $params, 'bool');
|
|
|
+ $params['containerClass'] = V::get('containerClass', '', $params);
|
|
|
+ UI::gora();
|
|
|
+ if ($params['showMenu']) UI::menu();
|
|
|
+ if ($params['showContainer']) UI::startContainer( $params['containerClass'] ? [ 'class' => $params['containerClass'] ] : [] );
|
|
|
+ try {
|
|
|
+ call_user_func($callback);
|
|
|
+ } catch (Exception $e) {
|
|
|
+ DBG::log($e);
|
|
|
+ UI::alert('danger', $e->getMessage());
|
|
|
+ }
|
|
|
+ if ($params['showContainer']) UI::endContainer();
|
|
|
+ UI::dol();
|
|
|
+ }
|
|
|
+
|
|
|
}
|