浏览代码

added UI::layout

Piotr Labudda 7 年之前
父节点
当前提交
3b86cccefb
共有 1 个文件被更改,包括 23 次插入0 次删除
  1. 23 0
      SE/se-lib/UI.php

+ 23 - 0
SE/se-lib/UI.php

@@ -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();
+	}
+
 }