Browse Source

added UI::layout

Piotr Labudda 7 năm trước cách đây
mục cha
commit
3b86cccefb
1 tập tin đã thay đổi với 23 bổ sung0 xóa
  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();
+	}
+
 }