ソースを参照

Enabled data attributes for editable column.

Florian Sauter 10 年 前
コミット
6a12fce49b
1 ファイル変更20 行追加0 行削除
  1. 20 0
      src/extensions/editable/bootstrap-table-editable.js

+ 20 - 0
src/extensions/editable/bootstrap-table-editable.js

@@ -47,14 +47,34 @@
                 return;
                 return;
             }
             }
 
 
+            var editableOptions = {}, editableDataMarkup = [], editableDataPrefix = 'editable-';
+
+            var processDataOptions = function(key, value) {
+              // Replace camel case with dashes.
+              var dashKey = key.replace(/([A-Z])/g, function($1){return "-"+$1.toLowerCase();});
+              if (dashKey.slice(0, editableDataPrefix.length) == editableDataPrefix) {
+                var dataKey = dashKey.replace(editableDataPrefix, 'data-');
+                editableOptions[dataKey] = value;
+              }
+            };
+
+            $.each(that.options, processDataOptions);
+
             var _formatter = column.formatter;
             var _formatter = column.formatter;
             column.formatter = function (value, row, index) {
             column.formatter = function (value, row, index) {
                 var result = _formatter ? _formatter(value, row, index) : value;
                 var result = _formatter ? _formatter(value, row, index) : value;
 
 
+                $.each(column, processDataOptions);
+
+                $.each(editableOptions, function (key, value) {
+                    editableDataMarkup.push(' ' + key + '="' + value + '"');
+                });
+
                 return ['<a href="javascript:void(0)"',
                 return ['<a href="javascript:void(0)"',
                     ' data-name="' + column.field + '"',
                     ' data-name="' + column.field + '"',
                     ' data-pk="' + row[that.options.idField] + '"',
                     ' data-pk="' + row[that.options.idField] + '"',
                     ' data-value="' + result + '"',
                     ' data-value="' + result + '"',
+                    editableDataMarkup.join(''),
                     '>' + '</a>'
                     '>' + '</a>'
                 ].join('');
                 ].join('');
             };
             };