Skip to content

Commit 91d74fc

Browse files
authored
Merge pull request #6560 from wenzhixin/feature/extend
Updated extend instead of $.extend
2 parents 4a4d39c + 9dc2e1d commit 91d74fc

File tree

86 files changed

+246
-153
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+246
-153
lines changed

site/docs/extensions/export.md

-2
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,6 @@ This is an important link to check out as some file types may require extra step
9090

9191
- **Default:** `['json', 'xml', 'csv', 'txt', 'sql', 'excel']`
9292

93-
- **Default:** `{}`
94-
9593
### Icons
9694

9795
- export: `'glyphicon-export icon-share'`

src/bootstrap-table.js

+15-13
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ class BootstrapTable {
180180
if (typeof $th.data('field') !== 'undefined') {
181181
$th.data('field', `${$th.data('field')}`)
182182
}
183-
column.push($.extend({}, {
183+
column.push(Utils.extend({}, {
184184
title: $th.html(),
185185
class: $th.attr('class'),
186186
titleTooltip: $th.attr('title'),
@@ -202,15 +202,15 @@ class BootstrapTable {
202202
this.options.columns = [this.options.columns]
203203
}
204204

205-
this.options.columns = $.extend(true, [], columns, this.options.columns)
205+
this.options.columns = Utils.extend(true, [], columns, this.options.columns)
206206
this.columns = []
207207
this.fieldsColumnsIndex = []
208208

209209
Utils.setFieldIndex(this.options.columns)
210210

211211
this.options.columns.forEach((columns, i) => {
212212
columns.forEach((_column, j) => {
213-
const column = $.extend({}, BootstrapTable.COLUMN_DEFAULTS, _column, { passed: _column })
213+
const column = Utils.extend({}, BootstrapTable.COLUMN_DEFAULTS, _column, { passed: _column })
214214

215215
if (typeof column.fieldIndex !== 'undefined') {
216216
this.columns[column.fieldIndex] = column
@@ -1981,7 +1981,7 @@ class BootstrapTable {
19811981
params.filter = JSON.stringify(this.filterColumnsPartial, null)
19821982
}
19831983

1984-
$.extend(params, query || {})
1984+
Utils.extend(params, query || {})
19851985

19861986
data = Utils.calculateObjectValue(this.options, this.options.queryParams, [params], data)
19871987

@@ -1993,7 +1993,7 @@ class BootstrapTable {
19931993
if (!silent) {
19941994
this.showLoading()
19951995
}
1996-
const request = $.extend({}, Utils.calculateObjectValue(null, this.options.ajaxOptions), {
1996+
const request = Utils.extend({}, Utils.calculateObjectValue(null, this.options.ajaxOptions), {
19971997
type: this.options.method,
19981998
url: url || this.options.url,
19991999
data: this.options.contentType === 'application/json' && this.options.method === 'post' ?
@@ -2404,18 +2404,18 @@ class BootstrapTable {
24042404

24052405
getOptions () {
24062406
// deep copy and remove data
2407-
const options = $.extend({}, this.options)
2407+
const options = Utils.extend({}, this.options)
24082408

24092409
delete options.data
2410-
return $.extend(true, {}, options)
2410+
return Utils.extend(true, {}, options)
24112411
}
24122412

24132413
refreshOptions (options) {
24142414
// If the objects are equivalent then avoid the call of destroy / init methods
24152415
if (Utils.compareObjects(this.options, options, true)) {
24162416
return
24172417
}
2418-
this.options = $.extend(this.options, options)
2418+
this.options = Utils.extend(this.options, options)
24192419
this.trigger('refresh-options', this.options)
24202420
this.destroy()
24212421
this.init()
@@ -2576,7 +2576,7 @@ class BootstrapTable {
25762576
if (params.hasOwnProperty('replace') && params.replace) {
25772577
this.options.data[params.index] = params.row
25782578
} else {
2579-
$.extend(this.options.data[params.index], params.row)
2579+
Utils.extend(this.options.data[params.index], params.row)
25802580
}
25812581
}
25822582

@@ -2639,7 +2639,7 @@ class BootstrapTable {
26392639
if (params.hasOwnProperty('replace') && params.replace) {
26402640
this.options.data[rowId] = params.row
26412641
} else {
2642-
$.extend(this.options.data[rowId], params.row)
2642+
Utils.extend(this.options.data[rowId], params.row)
26432643
}
26442644
updatedUid = params.id
26452645
}
@@ -3196,7 +3196,7 @@ class BootstrapTable {
31963196
}
31973197

31983198
filterBy (columns, options) {
3199-
this.filterOptions = Utils.isEmptyObject(options) ? this.options.filterOptions : $.extend(this.options.filterOptions, options)
3199+
this.filterOptions = Utils.isEmptyObject(options) ? this.options.filterOptions : Utils.extend(this.options.filterOptions, options)
32003200
this.filterColumns = Utils.isEmptyObject(columns) ? {} : columns
32013201
this.options.pageNumber = 1
32023202
this.initSearch()
@@ -3392,8 +3392,6 @@ $.fn.bootstrapTable = function (option, ...args) {
33923392

33933393
this.each((i, el) => {
33943394
let data = $(el).data('bootstrap.table')
3395-
const options = $.extend(true, {}, BootstrapTable.DEFAULTS, $(el).data(),
3396-
typeof option === 'object' && option)
33973395

33983396
if (typeof option === 'string') {
33993397
if (!Constants.METHODS.includes(option)) {
@@ -3409,8 +3407,12 @@ $.fn.bootstrapTable = function (option, ...args) {
34093407
if (option === 'destroy') {
34103408
$(el).removeData('bootstrap.table')
34113409
}
3410+
return
34123411
}
34133412

3413+
const options = Utils.extend(true, {}, BootstrapTable.DEFAULTS, $(el).data(),
3414+
typeof option === 'object' && option)
3415+
34143416
if (!data) {
34153417
data = new $.BootstrapTable(el, options)
34163418
$(el).data('bootstrap.table', data)

src/extensions/addrbar/bootstrap-table-addrbar.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
* @update: zhixin wen <[email protected]>
77
*/
88

9+
const Utils = $.fn.bootstrapTable.utils
10+
911
/*
1012
* function: 获取浏览器地址栏中的指定参数.
1113
* key: 参数名
@@ -86,7 +88,7 @@ function _updateHistoryState (table, _prefix) {
8688
window.history.pushState({}, '', _buildUrl(params))
8789
}
8890

89-
$.extend($.fn.bootstrapTable.defaults, {
91+
Utils.extend($.fn.bootstrapTable.defaults, {
9092
addrbar: false,
9193
addrPrefix: ''
9294
})

src/extensions/auto-refresh/bootstrap-table-auto-refresh.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
const Utils = $.fn.bootstrapTable.utils
88

9-
$.extend($.fn.bootstrapTable.defaults, {
9+
Utils.extend($.fn.bootstrapTable.defaults, {
1010
autoRefresh: false,
1111
showAutoRefresh: true,
1212
autoRefreshInterval: 60,
@@ -15,7 +15,7 @@ $.extend($.fn.bootstrapTable.defaults, {
1515
autoRefreshFunction: null
1616
})
1717

18-
$.extend($.fn.bootstrapTable.defaults.icons, {
18+
Utils.extend($.fn.bootstrapTable.defaults.icons, {
1919
autoRefresh: {
2020
bootstrap3: 'glyphicon-time icon-time',
2121
bootstrap5: 'bi-clock',
@@ -24,13 +24,13 @@ $.extend($.fn.bootstrapTable.defaults.icons, {
2424
}[$.fn.bootstrapTable.theme] || 'fa-clock'
2525
})
2626

27-
$.extend($.fn.bootstrapTable.locales, {
27+
Utils.extend($.fn.bootstrapTable.locales, {
2828
formatAutoRefresh () {
2929
return 'Auto Refresh'
3030
}
3131
})
3232

33-
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales)
33+
Utils.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales)
3434

3535
$.BootstrapTable = class extends $.BootstrapTable {
3636
init (...args) {

src/extensions/cookie/bootstrap-table-cookie.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ const UtilsCookie = {
167167
}
168168
}
169169

170-
$.extend($.fn.bootstrapTable.defaults, {
170+
Utils.extend($.fn.bootstrapTable.defaults, {
171171
cookie: false,
172172
cookieExpire: '2h',
173173
cookiePath: null,
@@ -199,7 +199,7 @@ $.extend($.fn.bootstrapTable.defaults, {
199199
$.fn.bootstrapTable.methods.push('getCookies')
200200
$.fn.bootstrapTable.methods.push('deleteCookie')
201201

202-
$.extend($.fn.bootstrapTable.utils, {
202+
Utils.extend($.fn.bootstrapTable.utils, {
203203
setCookie: UtilsCookie.setCookie,
204204
getCookie: UtilsCookie.getCookie
205205
})

src/extensions/copy-rows/bootstrap-table-copy-rows.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55

66
const Utils = $.fn.bootstrapTable.utils
77

8-
$.extend($.fn.bootstrapTable.locales, {
8+
Utils.extend($.fn.bootstrapTable.locales, {
99
formatCopyRows () {
1010
return 'Copy Rows'
1111
}
1212
})
13-
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales)
13+
Utils.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales)
1414

15-
$.extend($.fn.bootstrapTable.defaults.icons, {
15+
Utils.extend($.fn.bootstrapTable.defaults.icons, {
1616
copy: {
1717
bootstrap3: 'glyphicon-copy icon-pencil',
1818
bootstrap5: 'bi-clipboard',
@@ -36,14 +36,14 @@ const copyText = text => {
3636
$(textField).remove()
3737
}
3838

39-
$.extend($.fn.bootstrapTable.defaults, {
39+
Utils.extend($.fn.bootstrapTable.defaults, {
4040
showCopyRows: false,
4141
copyWithHidden: false,
4242
copyDelimiter: ', ',
4343
copyNewline: '\n'
4444
})
4545

46-
$.extend($.fn.bootstrapTable.columnDefaults, {
46+
Utils.extend($.fn.bootstrapTable.columnDefaults, {
4747
ignoreCopy: false,
4848
rawCopy: false
4949
})

src/extensions/custom-view/bootstrap-table-custom-view.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55

66
const Utils = $.fn.bootstrapTable.utils
77

8-
$.extend($.fn.bootstrapTable.defaults, {
8+
Utils.extend($.fn.bootstrapTable.defaults, {
99
customView: false,
1010
showCustomView: false,
1111
customViewDefaultView: false
1212
})
1313

14-
$.extend($.fn.bootstrapTable.defaults.icons, {
14+
Utils.extend($.fn.bootstrapTable.defaults.icons, {
1515
customViewOn: {
1616
bootstrap3: 'glyphicon glyphicon-list',
1717
bootstrap5: 'bi-list',
@@ -32,7 +32,7 @@ $.extend($.fn.bootstrapTable.defaults.icons, {
3232
}[$.fn.bootstrapTable.theme] || 'fa-th'
3333
})
3434

35-
$.extend($.fn.bootstrapTable.defaults, {
35+
Utils.extend($.fn.bootstrapTable.defaults, {
3636
onCustomViewPostBody () {
3737
return false
3838
},
@@ -44,19 +44,19 @@ $.extend($.fn.bootstrapTable.defaults, {
4444
}
4545
})
4646

47-
$.extend($.fn.bootstrapTable.locales, {
47+
Utils.extend($.fn.bootstrapTable.locales, {
4848
formatToggleCustomViewOn () {
4949
return 'Show custom view'
5050
},
5151
formatToggleCustomViewOff () {
5252
return 'Hide custom view'
5353
}
5454
})
55-
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales)
55+
Utils.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales)
5656

5757
$.fn.bootstrapTable.methods.push('toggleCustomView')
5858

59-
$.extend($.fn.bootstrapTable.Constructor.EVENTS, {
59+
Utils.extend($.fn.bootstrapTable.Constructor.EVENTS, {
6060
'custom-view-post-body.bs.table': 'onCustomViewPostBody',
6161
'custom-view-pre-body.bs.table': 'onCustomViewPreBody',
6262
'toggle-custom-view.bs.table': 'onToggleCustomView'

src/extensions/defer-url/bootstrap-table-defer-url.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313
* @update zhixin wen <[email protected]>
1414
*/
1515

16-
$.extend($.fn.bootstrapTable.defaults, {
16+
const Utils = $.fn.bootstrapTable.utils
17+
18+
Utils.extend($.fn.bootstrapTable.defaults, {
1719
deferUrl: undefined
1820
})
1921

src/extensions/editable/bootstrap-table-editable.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
const Utils = $.fn.bootstrapTable.utils
88

9-
$.extend($.fn.bootstrapTable.defaults, {
9+
Utils.extend($.fn.bootstrapTable.defaults, {
1010
editable: true,
1111
onEditableInit () {
1212
return false
@@ -22,11 +22,11 @@ $.extend($.fn.bootstrapTable.defaults, {
2222
}
2323
})
2424

25-
$.extend($.fn.bootstrapTable.columnDefaults, {
25+
Utils.extend($.fn.bootstrapTable.columnDefaults, {
2626
alwaysUseFormatter: false
2727
})
2828

29-
$.extend($.fn.bootstrapTable.Constructor.EVENTS, {
29+
Utils.extend($.fn.bootstrapTable.Constructor.EVENTS, {
3030
'editable-init.bs.table': 'onEditableInit',
3131
'editable-save.bs.table': 'onEditableSave',
3232
'editable-shown.bs.table': 'onEditableShown',

src/extensions/export/bootstrap-table-export.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,20 @@ const TYPE_NAME = {
1919
pdf: 'PDF'
2020
}
2121

22-
$.extend($.fn.bootstrapTable.defaults, {
22+
Utils.extend($.fn.bootstrapTable.defaults, {
2323
showExport: false,
2424
exportDataType: 'basic', // basic, all, selected
2525
exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'],
2626
exportOptions: {},
2727
exportFooter: false
2828
})
2929

30-
$.extend($.fn.bootstrapTable.columnDefaults, {
30+
Utils.extend($.fn.bootstrapTable.columnDefaults, {
3131
forceExport: false,
3232
forceHide: false
3333
})
3434

35-
$.extend($.fn.bootstrapTable.defaults.icons, {
35+
Utils.extend($.fn.bootstrapTable.defaults.icons, {
3636
export: {
3737
bootstrap3: 'glyphicon-export icon-share',
3838
bootstrap5: 'bi-download',
@@ -41,16 +41,16 @@ $.extend($.fn.bootstrapTable.defaults.icons, {
4141
}[$.fn.bootstrapTable.theme] || 'fa-download'
4242
})
4343

44-
$.extend($.fn.bootstrapTable.locales, {
44+
Utils.extend($.fn.bootstrapTable.locales, {
4545
formatExport () {
4646
return 'Export data'
4747
}
4848
})
49-
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales)
49+
Utils.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales)
5050

5151
$.fn.bootstrapTable.methods.push('exportTable')
5252

53-
$.extend($.fn.bootstrapTable.defaults, {
53+
Utils.extend($.fn.bootstrapTable.defaults, {
5454
// eslint-disable-next-line no-unused-vars
5555
onExportSaved (exportedRows) {
5656
return false
@@ -60,7 +60,7 @@ $.extend($.fn.bootstrapTable.defaults, {
6060
}
6161
})
6262

63-
$.extend($.fn.bootstrapTable.Constructor.EVENTS, {
63+
Utils.extend($.fn.bootstrapTable.Constructor.EVENTS, {
6464
'export-saved.bs.table': 'onExportSaved',
6565
'export-started.bs.table': 'onExportStarted'
6666
})
@@ -237,7 +237,7 @@ $.BootstrapTable = class extends $.BootstrapTable {
237237
options.fileName = o.exportOptions.fileName()
238238
}
239239

240-
this.$el.tableExport($.extend({
240+
this.$el.tableExport(Utils.extend({
241241
onAfterSaveToFile: () => {
242242
if (o.exportFooter) {
243243
this.load(data)

0 commit comments

Comments
 (0)