luoyifan 3 년 전
부모
커밋
5dcc8c51e7
4개의 변경된 파일76개의 추가작업 그리고 2개의 파일을 삭제
  1. 6 1
      src/Defaults.ts
  2. 22 0
      src/controls/gridcolumn.js
  3. 2 0
      src/controls/input/combogrid.js
  4. 46 1
      src/init.ts

+ 6 - 1
src/Defaults.ts

@@ -6,6 +6,7 @@ export const windows = {
     height: 600,
     maximizable: true,
     constrain: true,
+    shadow: false,
     // manageHeight: true,
     // draggable: true,
     // scrollable: true,
@@ -87,7 +88,8 @@ export const grid = {
     },
     multiColumnSort: true,
     viewConfig: {
-        enableTextSelection: true
+        enableTextSelection: true,
+        sortOnClick: false,
     },
     selModel: {
         type: 'checkboxmodel',
@@ -97,6 +99,9 @@ export const grid = {
     autoLoad: true,
     remoteSort: true,
     remoteFilter: true,
+    enableLocking: true,
+    enableColumnMove: true,
+    enableColumnHide: true,
 }
 
 export const search = {

+ 22 - 0
src/controls/gridcolumn.js

@@ -0,0 +1,22 @@
+export default function () {
+
+    // 227573
+    // const {onTitleElClick} = Ext.grid.column.Column.prototype
+    // Ext.define('Yvan.ColumnOverride', {
+    //     override: 'Ext.grid.column.Column',
+    //
+    //     config: {
+    //         enableSortOnClick: false,
+    //     },
+    //
+    //     // /**@Overrides*/
+    //     onTitleElClick: function (e, t, sortOnClick) {
+    //         // return this.callParent([e, t, this.enableSortOnClick && sortOnClick]);
+    //         if (!$(e.target).is('.x-column-header-trigger')) {
+    //             // 不是点击菜单的情况下,让列自适应宽度
+    //             this.autoSize()
+    //         }
+    //         return onTitleElClick.call(this, e, t, false)
+    //     }
+    // });
+}

+ 2 - 0
src/controls/input/combogrid.js

@@ -333,6 +333,8 @@ export default function () {
             const rowIdx = grid.editingPlugin?.activeEditor?.context?.rowIdx
             if (_.isNumber(rowIdx)) {
                 return grid.store.getAt(rowIdx)
+            } else {
+                return grid.getSelectionModel().getLastSelected()
             }
         },
 

+ 46 - 1
src/init.ts

@@ -2,6 +2,7 @@ import _ from 'lodash'
 import initComponent from './controls/component'
 import initMainTab from './controls/MainTab'
 import initPanel from './controls/panel'
+import initGridColumn from './controls/gridcolumn'
 import initGrid from './controls/grid'
 import initTextfield from './controls/input/textfield'
 import initToolbar from './controls/toolbar/toolbar'
@@ -64,11 +65,54 @@ export function init() {
 
     Ext.define("Ext.locale.zh_CN.grid.header.Container", {
         override: "Ext.grid.header.Container",
+        sortClearText: '不排序',
         sortAscText: "正序",
         sortDescText: "倒序",
         lockText: "锁定列",
         unlockText: "解除锁定",
-        columnsText: "列"
+        columnsText: "字段隐藏"
+    });
+
+    Ext.define("Ext.locale.zh_CN.grid.filters.filter.Date", {
+        override: "Ext.grid.filters.filter.Date",
+        fields: {
+            lt: {text: '之前'},
+            gt: {text: '之后'},
+            eq: {text: '相等'},
+        },
+        // Defaults to Ext.Date.defaultFormat
+        dateFormat: null
+    });
+
+    // Ext.grid.locking.Lockable.prototype.unlockText = '解锁'
+    // Ext.grid.locking.Lockable.prototype.lockText = '锁定'
+    // Ext.grid.filters.Filters.prototype.menuFilterText = "过滤"
+
+    Ext.define("Ext.locale.zh_CN.grid.locking.Lockable", {
+        override: "Ext.grid.locking.Lockable",
+        lockText: "锁定",
+        unlockText: '解锁',
+    });
+
+    Ext.define("Ext.locale.zh_CN.grid.filters.Filters", {
+        override: "Ext.grid.filters.Filters",
+        menuFilterText: "过滤"
+    });
+
+    Ext.define("Ext.locale.zh_CN.grid.filters.filter.Boolean", {
+        override: "Ext.grid.filters.filter.Boolean",
+        yesText: "已钩",
+        noText: "未勾"
+    });
+
+    Ext.define("Ext.locale.zh_CN.grid.filters.filter.String", {
+        override: "Ext.grid.filters.filter.String",
+        emptyText: "输入过滤文本..."
+    });
+
+    Ext.define("Ext.locale.zh_CN.grid.filters.filter.Number", {
+        override: "Ext.grid.filters.filter.Number",
+        emptyText: "输入数字..."
     });
 
     /**
@@ -110,6 +154,7 @@ export function init() {
 
     initComponent()
     initPanel()
+    // initGridColumn()
     initGrid()
     initMainTab()
     initTextfield()