/** * * @param type $links * @param type $content * @param type $right_bar_content * @param type $number_of_col number of columns * @param bool $sidenav_fixed if true, the sidebar will be fixed * @return type */ function create_sidenavs_and_content_row($links, $content, $right_bar_content, $number_of_col, $sidenav_fixed) { // Checks the number parameter: if (!is_numeric($number_of_col) || $number_of_col != 1 && $number_of_col != 2 && $number_of_col != 3) { $number_of_col = 2; } $right_nav = ""; $range_1 = "xs"; // lg/md/sm/xs $range_2 = "sm"; // lg/md/sm/xs $range_3 = "lg"; // lg/md/sm/xs $sidebarwidth_1 = 4; $sidebarwidth_2 = 3; $sidebarwidth_3 = 3; $main_width_1 = 12; // Bootstrap columns small screen $main_width_2 = 12 - $sidebarwidth_2; // Bootstrap columns bigger screen $main_width_3 = 12 - $sidebarwidth_3; // Bootstrap columns big screen $left_nav_attr_array = array(Attr::classs("col-" . $range_1 . "-" . $sidebarwidth_1 . " col-" . $range_2 . "-" . $sidebarwidth_2 . " " . " col-" . $range_3 . "-" . $sidebarwidth_3 . " " . "sidenav sidebar-offcanvas text-left"), Attr::id("sidenav-left")); if ($sidenav_fixed) { array_push($left_nav_attr_array, Attr::BS_data_spy("affix")); } $left_nav = Html::luo_div($links, $left_nav_attr_array); if ($number_of_col === 1) { $left_nav = ""; $main_width_2 = 12; } else { if ($number_of_col === 3) { $right_nav = Html::luo_div($right_bar_content, array(Attr::classs("col-" . $range_1 . "-" . $sidebarwidth_1 . " col-" . $range_2 . "-" . $sidebarwidth_2 . " col-" . $range_3 . "-" . $sidebarwidth_3))); $main_width_2 -= 2; // Bootstrap columns bigger screen $main_width_1 -= 2; // Bootstrap columns small screen } } $main = Html::luo_div(Html::p(array(Attr::classs("pull-left visible-xs")), Html::button(array(Attr::classs("btn btn-warning btn-xs"), Attr::BS_data_toggle("offcanvas"), Attr::title(Painikkeet::$toggle_sidenav_title)), "<>")) . $content, array(Attr::classs("col-" . $range_1 . "-" . $main_width_1 . " " . "col-" . $range_2 . "-" . $main_width_2 . " " . "col-" . $range_3 . "-" . $main_width_3 . " " . "main_content text-left"), Attr::id("main_content"))); $row = Html::luo_div(Html::luo_div($left_nav . $main . $right_nav, array(Attr::classs("row row-offcanvas " . "row-offcanvas-left"))), array(Attr::classs("container-fluid text-center"))); return $row; }