Laravel-admin 釋出 1.7.0 版本

song發表於2019-06-10

Laravel-admin v1.7.0版本釋出,在這個版本中,有下面的修改和變更

框架

  • 增加Admin::favicon()方法,用來設定網站的favicon
  • 增加Admin::style()方法,用來給當前頁面的加入css樣式
  • 增加Admin::html()方法,用來給當前頁面的加入HTML程式碼
  • Widget\Box元件支援設定框內滾動條
  • 移除表格頭部的重新整理按鈕,在頁面導航的右上角增加重新整理按鈕

模型表格

  • 增加快捷搜尋功能, 參考文件
  • 增加Column::help()方法,用來給列加上提示文字
  • 增加Column::gravatar()方法,用來通過郵箱顯示Gravatar頭像
  • 增加Column::carousel()方法,用來在列表顯示一個圖片輪播效果
  • 增加Column::width()方法,用來設定列的寬度
  • 增加Column::hide()方法,用來設定表格列預設不顯示
  • 增加Column::filezise()方法來更友好的顯示檔案大小
  • 增加Column::loading()方法來更友好的顯示loading狀態
  • 支援顯示JSON欄位操作

模型詳情

  • 增加Field::carousel()方法, 用來在詳情頁顯示一個圖片輪播效果
  • 增加Field::filezise()方法, 用來更友好的顯示檔案大小

模型Form

  • 支援操作JSON欄位
  • 表單刪除檔案增加確認提示框
  • 表單checkbox支援通過匿名函式設定options
  • 表單項增加updateRulescreationRules方法,用來區分建立和更新場景的表單驗證規則
  • 增加File::retainable()方法,用來設定刪除資料的時候保留檔案
  • listbox支援通過ajax載入選項
  • 增加Timezone表單項,用來選擇時區
  • 增加KeyValue表單項,用來操作key-value結構的資料
  • 增加List表單項,用來操作列表結構資料
  • 增加Form::fieldset()方法,用來將多個表單項分組顯示
  • 增加Checkbox::canCheckAll()方法, 用來給checkbox元件增加全選操作

元件Form

  • 增強Widget\Form,方便form元件的資料處理, 參考文件

命令

  • 優化了admin:make命令,使得生成的控制器檔案更加簡潔
  • admin:make命令增加namespace選項,用來設定建立的控制器的名稱空間
  • 增加admin:form命令,用來生成Form類
  • 修復CSS/JS壓縮命令bug

配置

  • 增加enable_menu_search配置,來控制左側選單搜尋的顯示
  • 增加minify_assets.excepts配置,用來排除不需要被壓縮的資原始檔

總結

這個版本主要新增的feature包括下面幾個

資料表單

之前的版本中,定義了表單(Widget\Form)之後,需要再定義路由和對應的action來處理表單的提交資料,在這個版本中,簡化了這一些步驟,例如下面的表單:

class Setting extends Form
{
    public $title = '配置';

    public function handle(Request $request)
    {
        //dump($request->all());

        return back();
    }

    public function form()
    {
        $this->text('title')->rules('required');
        $this->textarea('desc')->rules('required');
    }

    public function data()
    {
        return [
            'title'    => 'Laravel admin',
            'desc'     => 'Laravel admin...',
        ];
    }
}

表單提交之後請求會進入handle方法中, 你可以在裡面實現資料的處理邏輯。另外在它的基礎上實現了選項卡表單和多步驟表單,更詳細的使用參考文件

快捷搜尋

這個feature實現了除了定義filter之外的另外一種過濾資料的方式,支援使用類Github搜尋語法來搜尋資料表格中的資料,使用起來也非常方便

// 在grid中啟用
$grid->quickSearch();

這樣表頭會出現一個搜尋框:

WX20190608-093334

填入類Github搜尋語法的內容來過濾資料,比如填入username:%laravel% status:(1,2,3)提交查詢,表格的模型就會執行下面的查詢

$model->where('username', 'like', '%laravel%')->whereIn('status', [1, 2, 3]);

更詳細的使用參考文件

新增表單元件

新增了KeyValue表單項來處理key-value型別的資料:

$form->keyValue('column_name');

新增了List表單項來處理一維陣列型別的資料:

$form->list('column_name');

相關文章