TextAreaTrigger.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /**
  2. * textarea trigger
  3. */
  4. Ext.define('erp.view.core.trigger.TextAreaTrigger', {
  5. extend: 'Ext.form.field.Trigger',
  6. alias: 'widget.textareatrigger',
  7. triggerCls: 'x-form-textarea-trigger',
  8. onTriggerClick: function() {
  9. var trigger = this,
  10. value = this.value;
  11. Ext.MessageBox.minPromptWidth = 600;
  12. Ext.MessageBox.defaultTextHeight = 200;
  13. Ext.MessageBox.prompt("详细内容", '',
  14. function(btn, text) {
  15. if (trigger.editable && btn == 'ok') {
  16. if(trigger.originalValue !=text){
  17. trigger.fireEvent('change',trigger,text,trigger.originalValue,btn);
  18. }
  19. if (trigger.ownerCt === undefined) {
  20. trigger.record.set(trigger.name, text);
  21. } else {
  22. trigger.setValue(text);
  23. }
  24. }
  25. },
  26. this, true, //表示文本框为多行文本框
  27. value);
  28. },
  29. listeners: {
  30. focus: function(trigger) {
  31. if (trigger.ownerCt === undefined) {
  32. try {
  33. var grid = Ext.getCmp(trigger.el.dom.parentNode.offsetParent.offsetParent.id);
  34. if (grid !== undefined) {
  35. trigger.owner = grid;
  36. if (trigger.owner.editingPlugin.activeEditor.field.id == trigger.id) {
  37. trigger.record = trigger.owner.editingPlugin.activeRecord;
  38. } else {
  39. trigger.record = trigger.owner.selModel.lastSelected;
  40. }
  41. }
  42. } catch(e) {
  43. }
  44. }
  45. }
  46. },
  47. initComponent: function() {
  48. this.editable = !this.readOnly;
  49. this.readOnly = false;//always show trigger
  50. this.callParent(arguments);
  51. },
  52. setReadOnly :function(bool){//流程审批时设置对应分组字段是可编辑状态
  53. this.readOnly=false;
  54. this.setEditable(!bool);
  55. }
  56. });