1. 程式人生 > >FastAdmin 中的 formatter flag 分析

FastAdmin 中的 formatter flag 分析

splay 功能 rar cti img 字段 api 如果 html

FastAdmin 中的 formatter flag 分析

效果

首先看看效果,這裏的文字和顏色可以根據數據改變。
技術分享圖片

這是系統自帶的分類管理。

代碼

功能在 \public\assets\js\backend\category.js。

{field: ‘flag‘, title: __(‘Flag‘), operate: false, formatter: Table.api.formatter.flag},

再來看看 Table.api.formatter.flag 在哪裏。
\public\assets\js\require-table.js

                flag: function (value, row, index) {
                    var that = this;
                    value = value === null ? ‘‘ : value.toString();
                    var colorArr = {index: ‘success‘, hot: ‘warning‘, recommend: ‘danger‘, ‘new‘: ‘info‘};
                    //如果字段列有定義custom
                    if (typeof this.custom !== ‘undefined‘) {
                        colorArr = $.extend(colorArr, this.custom);
                    }
                    var field = this.field;
                    if (typeof this.customField !== ‘undefined‘ && typeof row[this.customField] !== ‘undefined‘) {
                        value = row[this.customField];
                        field = this.customField;
                    }

                    //渲染Flag
                    var html = [];
                    var arr = value.split(‘,‘);
                    $.each(arr, function (i, value) {
                        value = value === null ? ‘‘ : value.toString();
                        if (value == ‘‘)
                            return true;
                        var color = value && typeof colorArr[value] !== ‘undefined‘ ? colorArr[value] : ‘primary‘;
                        var display = typeof that.searchList !== ‘undefined‘ && typeof that.searchList[value] !== ‘undefined‘ ? that.searchList[value] : __(value.charAt(0).toUpperCase() + value.slice(1));
                        html.push(‘<a href="javascript:;" class="searchit" data-toggle="tooltip" title="‘ + __(‘Click to search %s‘, display) + ‘" data-field="‘ + field + ‘" data-value="‘ + value + ‘"><span class="label label-‘ + color + ‘">‘ + display + ‘</span></a>‘);
                    });
                    return html.join(‘ ‘);
                },

FastAdmin 中的 formatter flag 分析