/pack-rat/003_pack_rat/pack-rat/node_modules/bootstrap-table/dist/extensions/editable/bootstrap-table-editable.js |
@@ -0,0 +1,146 @@ |
/** |
* @author zhixin wen <wenzhixin2010@gmail.com> |
* extensions: https://github.com/vitalets/x-editable |
*/ |
|
(function($) { |
|
'use strict'; |
|
$.extend($.fn.bootstrapTable.defaults, { |
editable: true, |
onEditableInit: function() { |
return false; |
}, |
onEditableSave: function(field, row, oldValue, $el) { |
return false; |
}, |
onEditableShown: function(field, row, $el, editable) { |
return false; |
}, |
onEditableHidden: function(field, row, $el, reason) { |
return false; |
} |
}); |
|
$.extend($.fn.bootstrapTable.Constructor.EVENTS, { |
'editable-init.bs.table': 'onEditableInit', |
'editable-save.bs.table': 'onEditableSave', |
'editable-shown.bs.table': 'onEditableShown', |
'editable-hidden.bs.table': 'onEditableHidden' |
}); |
|
var BootstrapTable = $.fn.bootstrapTable.Constructor, |
_initTable = BootstrapTable.prototype.initTable, |
_initBody = BootstrapTable.prototype.initBody; |
|
BootstrapTable.prototype.initTable = function() { |
var that = this; |
_initTable.apply(this, Array.prototype.slice.apply(arguments)); |
|
if (!this.options.editable) { |
return; |
} |
|
$.each(this.columns, function(i, column) { |
if (!column.editable) { |
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); |
|
column.formatter = column.formatter || function(value, row, index) { |
return value; |
}; |
column._formatter = column._formatter ? column._formatter : column.formatter; |
column.formatter = function(value, row, index) { |
var result = column._formatter ? column._formatter(value, row, index) : value; |
|
$.each(column, processDataOptions); |
|
$.each(editableOptions, function(key, value) { |
editableDataMarkup.push(' ' + key + '="' + value + '"'); |
}); |
|
var _dont_edit_formatter = false; |
if (column.editable.hasOwnProperty('noeditFormatter')) { |
_dont_edit_formatter = column.editable.noeditFormatter(value, row, index); |
} |
|
if (_dont_edit_formatter === false) { |
return ['<a href="javascript:void(0)"', |
' data-name="' + column.field + '"', |
' data-pk="' + row[that.options.idField] + '"', |
' data-value="' + result + '"', |
editableDataMarkup.join(''), |
'>' + '</a>' |
].join(''); |
} else { |
return _dont_edit_formatter; |
} |
|
}; |
}); |
}; |
|
BootstrapTable.prototype.initBody = function() { |
var that = this; |
_initBody.apply(this, Array.prototype.slice.apply(arguments)); |
|
if (!this.options.editable) { |
return; |
} |
|
$.each(this.columns, function(i, column) { |
if (!column.editable) { |
return; |
} |
|
that.$body.find('a[data-name="' + column.field + '"]').editable(column.editable) |
.off('save').on('save', function(e, params) { |
var data = that.getData(), |
index = $(this).parents('tr[data-index]').data('index'), |
row = data[index], |
oldValue = row[column.field]; |
|
$(this).data('value', params.submitValue); |
row[column.field] = params.submitValue; |
that.trigger('editable-save', column.field, row, oldValue, $(this)); |
that.resetFooter(); |
}); |
that.$body.find('a[data-name="' + column.field + '"]').editable(column.editable) |
.off('shown').on('shown', function(e, editable) { |
var data = that.getData(), |
index = $(this).parents('tr[data-index]').data('index'), |
row = data[index]; |
|
that.trigger('editable-shown', column.field, row, $(this), editable); |
}); |
that.$body.find('a[data-name="' + column.field + '"]').editable(column.editable) |
.off('hidden').on('hidden', function(e, reason) { |
var data = that.getData(), |
index = $(this).parents('tr[data-index]').data('index'), |
row = data[index]; |
|
that.trigger('editable-hidden', column.field, row, $(this), reason); |
}); |
}); |
this.trigger('editable-init'); |
}; |
|
})(jQuery); |
/pack-rat/003_pack_rat/pack-rat/node_modules/bootstrap-table/dist/extensions/editable/bootstrap-table-editable.min.js |
@@ -0,0 +1,7 @@ |
/* |
* bootstrap-table - v1.11.1 - 2017-02-22 |
* https://github.com/wenzhixin/bootstrap-table |
* Copyright (c) 2017 zhixin wen |
* Licensed MIT License |
*/ |
!function(a){"use strict";a.extend(a.fn.bootstrapTable.defaults,{editable:!0,onEditableInit:function(){return!1},onEditableSave:function(){return!1},onEditableShown:function(){return!1},onEditableHidden:function(){return!1}}),a.extend(a.fn.bootstrapTable.Constructor.EVENTS,{"editable-init.bs.table":"onEditableInit","editable-save.bs.table":"onEditableSave","editable-shown.bs.table":"onEditableShown","editable-hidden.bs.table":"onEditableHidden"});var b=a.fn.bootstrapTable.Constructor,c=b.prototype.initTable,d=b.prototype.initBody;b.prototype.initTable=function(){var b=this;c.apply(this,Array.prototype.slice.apply(arguments)),this.options.editable&&a.each(this.columns,function(c,d){if(d.editable){var e={},f=[],g="editable-",h=function(a,b){var c=a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()});if(c.slice(0,g.length)==g){var d=c.replace(g,"data-");e[d]=b}};a.each(b.options,h),d.formatter=d.formatter||function(a){return a},d._formatter=d._formatter?d._formatter:d.formatter,d.formatter=function(c,g,i){var j=d._formatter?d._formatter(c,g,i):c;a.each(d,h),a.each(e,function(a,b){f.push(" "+a+'="'+b+'"')});var k=!1;return d.editable.hasOwnProperty("noeditFormatter")&&(k=d.editable.noeditFormatter(c,g,i)),k===!1?['<a href="javascript:void(0)"',' data-name="'+d.field+'"',' data-pk="'+g[b.options.idField]+'"',' data-value="'+j+'"',f.join(""),"></a>"].join(""):k}}})},b.prototype.initBody=function(){var b=this;d.apply(this,Array.prototype.slice.apply(arguments)),this.options.editable&&(a.each(this.columns,function(c,d){d.editable&&(b.$body.find('a[data-name="'+d.field+'"]').editable(d.editable).off("save").on("save",function(c,e){var f=b.getData(),g=a(this).parents("tr[data-index]").data("index"),h=f[g],i=h[d.field];a(this).data("value",e.submitValue),h[d.field]=e.submitValue,b.trigger("editable-save",d.field,h,i,a(this)),b.resetFooter()}),b.$body.find('a[data-name="'+d.field+'"]').editable(d.editable).off("shown").on("shown",function(c,e){var f=b.getData(),g=a(this).parents("tr[data-index]").data("index"),h=f[g];b.trigger("editable-shown",d.field,h,a(this),e)}),b.$body.find('a[data-name="'+d.field+'"]').editable(d.editable).off("hidden").on("hidden",function(c,e){var f=b.getData(),g=a(this).parents("tr[data-index]").data("index"),h=f[g];b.trigger("editable-hidden",d.field,h,a(this),e)}))}),this.trigger("editable-init"))}}(jQuery); |