vxe-table 4.14.7 → 4.14.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/grid/src/grid.js +18 -2
- package/es/style.css +1 -1
- package/es/table/module/custom/hook.js +2 -2
- package/es/table/src/table.js +17 -2
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +18 -2
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +24 -8
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/custom/hook.js +2 -2
- package/lib/table/module/custom/hook.min.js +1 -1
- package/lib/table/src/table.js +2 -2
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/grid/src/grid.ts +23 -3
- package/packages/table/module/custom/hook.ts +2 -2
- package/packages/table/src/table.ts +17 -2
- /package/es/{iconfont.1753520194267.ttf → iconfont.1753928269615.ttf} +0 -0
- /package/es/{iconfont.1753520194267.woff → iconfont.1753928269615.woff} +0 -0
- /package/es/{iconfont.1753520194267.woff2 → iconfont.1753928269615.woff2} +0 -0
- /package/lib/{iconfont.1753520194267.ttf → iconfont.1753928269615.ttf} +0 -0
- /package/lib/{iconfont.1753520194267.woff → iconfont.1753928269615.woff} +0 -0
- /package/lib/{iconfont.1753520194267.woff2 → iconfont.1753928269615.woff2} +0 -0
package/lib/ui/index.js
CHANGED
|
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "VxeUI", {
|
|
|
13
13
|
exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.hooks = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
|
|
14
14
|
var _core = require("@vxe-ui/core");
|
|
15
15
|
var _utils = require("./src/utils");
|
|
16
|
-
const version = exports.version = "4.14.
|
|
16
|
+
const version = exports.version = "4.14.9";
|
|
17
17
|
_core.VxeUI.version = version;
|
|
18
18
|
_core.VxeUI.tableVersion = version;
|
|
19
19
|
_core.VxeUI.setConfig({
|
package/lib/ui/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="4.14.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.hooks=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="4.14.9",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,minHeight:144,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{autoOptions:{isCalcHeader:!0,isCalcBody:!0,isCalcFooter:!0},maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",storeOptions:{visible:!0,resizable:!0,sort:!0,fixed:!0},modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{multiple:!0,showIcon:!0},aggregateConfig:{padding:!0,rowField:"id",parentField:"_X_ROW_PARENT_KEY",childrenField:"_X_ROW_CHILDREN",mapChildrenField:"_X_ROW_CHILD_LIST",indent:20,showIcon:!0,maxGroupSize:4,showAggFuncTitle:!0},treeConfig:{padding:!0,rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isAll:!0,isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{gt:24,preSize:1,oSize:0},virtualYConfig:{gt:100,preSize:1,oSize:0},scrollbarConfig:{}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showLoading:!0,showResponseMsg:!0,showActionMsg:!0,response:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_CHECKBOX_DISABLED_UNCHECKED:iconPrefix+"checkbox-unchecked-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_RADIO_DISABLED_UNCHECKED:iconPrefix+"radio-unchecked-fill",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_AGG_GROUP:iconPrefix+"grouping",TABLE_DRAG_STATUS_AGG_VALUES:iconPrefix+"values",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TABLE_ROW_GROUP_OPEN:iconPrefix+"arrow-right rotate90",TABLE_ROW_GROUP_CLOSE:iconPrefix+"arrow-right",TABLE_AGGREGATE_GROUPING:iconPrefix+"grouping",TABLE_AGGREGATE_VALUES:iconPrefix+"values",TABLE_AGGREGATE_SORT:iconPrefix+"drag-handle",TABLE_AGGREGATE_DELETE:iconPrefix+"close",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,hooks=exports.hooks=_core.VxeUI.hooks,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
|
package/lib/ui/src/log.js
CHANGED
|
@@ -8,6 +8,6 @@ var _core = require("@vxe-ui/core");
|
|
|
8
8
|
const {
|
|
9
9
|
log
|
|
10
10
|
} = _core.VxeUI;
|
|
11
|
-
const version = `table v${"4.14.
|
|
11
|
+
const version = `table v${"4.14.9"}`;
|
|
12
12
|
const warnLog = exports.warnLog = log.create('warn', version);
|
|
13
13
|
const errLog = exports.errLog = log.create('error', version);
|
package/lib/ui/src/log.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v4.14.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v4.14.9",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxe-table",
|
|
3
|
-
"version": "4.14.
|
|
3
|
+
"version": "4.14.9",
|
|
4
4
|
"description": "A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"update": "npm install --legacy-peer-deps",
|
|
@@ -388,7 +388,7 @@ export default defineVxeComponent({
|
|
|
388
388
|
}
|
|
389
389
|
}
|
|
390
390
|
|
|
391
|
-
const
|
|
391
|
+
const handleSortEvent = (params: any) => {
|
|
392
392
|
const $xeTable = refTable.value
|
|
393
393
|
const { proxyConfig } = props
|
|
394
394
|
const { computeSortOpts } = $xeTable.getComputeMaps()
|
|
@@ -404,10 +404,19 @@ export default defineVxeComponent({
|
|
|
404
404
|
})
|
|
405
405
|
}
|
|
406
406
|
}
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
const sortChangeEvent: VxeTableEvents.SortChange = (params) => {
|
|
410
|
+
handleSortEvent(params)
|
|
407
411
|
$xeGrid.dispatchEvent('sort-change', params, params.$event)
|
|
408
412
|
}
|
|
409
413
|
|
|
410
|
-
const
|
|
414
|
+
const clearAllSortEvent = (params: any) => {
|
|
415
|
+
handleSortEvent(params)
|
|
416
|
+
$xeGrid.dispatchEvent('clear-all-sort', params, params.$event)
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
const handleFilterEvent = (params: any) => {
|
|
411
420
|
const $xeTable = refTable.value
|
|
412
421
|
const { proxyConfig } = props
|
|
413
422
|
const { computeFilterOpts } = $xeTable.getComputeMaps()
|
|
@@ -423,9 +432,18 @@ export default defineVxeComponent({
|
|
|
423
432
|
})
|
|
424
433
|
}
|
|
425
434
|
}
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
const filterChangeEvent: VxeTableEvents.FilterChange = (params) => {
|
|
438
|
+
handleFilterEvent(params)
|
|
426
439
|
$xeGrid.dispatchEvent('filter-change', params, params.$event)
|
|
427
440
|
}
|
|
428
441
|
|
|
442
|
+
const clearAllFilterEvent = (params: any) => {
|
|
443
|
+
handleFilterEvent(params)
|
|
444
|
+
$xeGrid.dispatchEvent('clear-all-filter', params, params.$event)
|
|
445
|
+
}
|
|
446
|
+
|
|
429
447
|
const submitFormEvent: VxeFormEvents.Submit = (params) => {
|
|
430
448
|
const { proxyConfig } = props
|
|
431
449
|
const proxyOpts = computeProxyOpts.value
|
|
@@ -678,7 +696,7 @@ export default defineVxeComponent({
|
|
|
678
696
|
const { proxyConfig } = props
|
|
679
697
|
const tableProps = computeTableProps.value
|
|
680
698
|
const proxyOpts = computeProxyOpts.value
|
|
681
|
-
const tableOns = Object.assign({}, tableCompEvents)
|
|
699
|
+
const tableOns: any = Object.assign({}, tableCompEvents)
|
|
682
700
|
const emptySlot = slots.empty
|
|
683
701
|
const loadingSlot = slots.loading
|
|
684
702
|
const rowDragIconSlot = slots.rowDragIcon || slots['row-drag-icon']
|
|
@@ -686,9 +704,11 @@ export default defineVxeComponent({
|
|
|
686
704
|
if (proxyConfig && isEnableConf(proxyOpts)) {
|
|
687
705
|
if (proxyOpts.sort) {
|
|
688
706
|
tableOns.onSortChange = sortChangeEvent
|
|
707
|
+
tableOns.onClearAllSort = clearAllSortEvent
|
|
689
708
|
}
|
|
690
709
|
if (proxyOpts.filter) {
|
|
691
710
|
tableOns.onFilterChange = filterChangeEvent
|
|
711
|
+
tableOns.onClearAllFilter = clearAllFilterEvent
|
|
692
712
|
}
|
|
693
713
|
}
|
|
694
714
|
const slotObj: {
|
|
@@ -112,7 +112,7 @@ VxeUI.hooks.add('tableCustomModule', {
|
|
|
112
112
|
})
|
|
113
113
|
reactData.isCustomStatus = true
|
|
114
114
|
return $xeTable.saveCustomStore('confirm').then(() => {
|
|
115
|
-
if (allowGroup &&
|
|
115
|
+
if (allowGroup && !!$xeTable.handlePivotTableAggregateData) {
|
|
116
116
|
if (rowGroupList.length !== aggHandleFields.length || rowGroupList.some((conf, i) => conf.field !== aggHandleFields[i])) {
|
|
117
117
|
// 更新数据分组
|
|
118
118
|
if (aggHandleFields.length) {
|
|
@@ -120,7 +120,7 @@ VxeUI.hooks.add('tableCustomModule', {
|
|
|
120
120
|
} else {
|
|
121
121
|
$xeTable.clearRowGroups()
|
|
122
122
|
}
|
|
123
|
-
} else {
|
|
123
|
+
} else if (allowValues) {
|
|
124
124
|
// 更新聚合函数
|
|
125
125
|
$xeTable.handleUpdateAggData()
|
|
126
126
|
}
|
|
@@ -1437,16 +1437,23 @@ export default defineVxeComponent({
|
|
|
1437
1437
|
}
|
|
1438
1438
|
|
|
1439
1439
|
const handleSortEvent = (evnt: Event | null, sortConfs: VxeTableDefines.SortConfs | VxeTableDefines.SortConfs[], isUpdate?: boolean) => {
|
|
1440
|
+
const { tableFullColumn } = internalData
|
|
1440
1441
|
const sortOpts = computeSortOpts.value
|
|
1441
1442
|
const { multiple, remote, orders } = sortOpts
|
|
1442
1443
|
if (!XEUtils.isArray(sortConfs)) {
|
|
1443
1444
|
sortConfs = [sortConfs]
|
|
1444
1445
|
}
|
|
1445
1446
|
if (sortConfs && sortConfs.length) {
|
|
1447
|
+
const orderActiveMaps: Record<string, VxeTableDefines.ColumnInfo> = {}
|
|
1446
1448
|
if (!multiple) {
|
|
1447
1449
|
sortConfs = [sortConfs[0]]
|
|
1448
|
-
|
|
1450
|
+
tableFullColumn.forEach((column) => {
|
|
1451
|
+
if (column.order) {
|
|
1452
|
+
orderActiveMaps[column.id] = column
|
|
1453
|
+
}
|
|
1454
|
+
})
|
|
1449
1455
|
}
|
|
1456
|
+
const sortColMpps: Record<string, VxeTableDefines.ColumnInfo> = {}
|
|
1450
1457
|
let firstColumn: any = null
|
|
1451
1458
|
sortConfs.forEach((confs: any, index: number) => {
|
|
1452
1459
|
let { field, order } = confs
|
|
@@ -1465,8 +1472,16 @@ export default defineVxeComponent({
|
|
|
1465
1472
|
column.order = order
|
|
1466
1473
|
}
|
|
1467
1474
|
column.sortTime = Date.now() + index
|
|
1475
|
+
sortColMpps[column.id] = column
|
|
1468
1476
|
}
|
|
1469
1477
|
})
|
|
1478
|
+
if (!multiple) {
|
|
1479
|
+
XEUtils.each(orderActiveMaps, (oaCol: VxeTableDefines.ColumnInfo, oaId) => {
|
|
1480
|
+
if (!sortColMpps[oaId]) {
|
|
1481
|
+
oaCol.order = null
|
|
1482
|
+
}
|
|
1483
|
+
})
|
|
1484
|
+
}
|
|
1470
1485
|
if (isUpdate) {
|
|
1471
1486
|
if (!remote) {
|
|
1472
1487
|
$xeTable.handleTableData(true)
|
|
@@ -3637,7 +3652,7 @@ export default defineVxeComponent({
|
|
|
3637
3652
|
if (parentColumn && parentColumn.fixed) {
|
|
3638
3653
|
column.fixed = parentColumn.fixed
|
|
3639
3654
|
}
|
|
3640
|
-
if (parentColumn && column.fixed !== parentColumn.fixed) {
|
|
3655
|
+
if (parentColumn && (column.fixed || '') !== (parentColumn.fixed || '')) {
|
|
3641
3656
|
errLog('vxe.error.groupFixed')
|
|
3642
3657
|
}
|
|
3643
3658
|
if (isColGroup) {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|