本帖最后由 Lynn.Dou 于 2021-11-18 11:15 编辑
背景:
客户希望能重写设计器右键菜单的全部粘贴项,点击全部粘贴时,先弹出弹窗做出提示,再进行粘贴。
思路:
找到全部粘贴命令,重写excute方法,执行想实现的代码逻辑。
然后将命令注册,并赋于原命令。
代码:
- var config = JSON.parse(JSON.stringify(GC.Spread.Sheets.Designer.DefaultConfig));
- var newPasteCommand = GC.Spread.Sheets.Designer.getCommand(GC.Spread.Sheets.Designer.CommandNames.DesignerPasteAll);
- if(newPasteCommand){
- var oldExecute = newPasteCommand.execute;
- newPasteCommand.execute = function(context, propertyName, args){
- //添加confirm逻辑
- alert("粘贴");
-
- oldExecute.call(this, context, propertyName, args)
- }
- }
- config.commandMap = {};
- config.commandMap[GC.Spread.Sheets.Designer.CommandNames.DesignerPasteAll] = newPasteCommand;
- var d = new GC.Spread.Sheets.Designer.Designer(document.getElementById("gc-designer-container"), config);
复制代码 完整代码请参考附件demo
|
|