TextAreaTrigger.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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.ownerCt === undefined) {
  17. trigger.record.set(trigger.name, text);
  18. } else {
  19. trigger.setValue(text);
  20. }
  21. }
  22. },
  23. this, true, //表示文本框为多行文本框
  24. value);
  25. },
  26. listeners: {
  27. focus: function(trigger) {
  28. if (trigger.ownerCt === undefined) {
  29. try {
  30. var grid = Ext.getCmp(trigger.el.dom.parentNode.offsetParent.offsetParent.id);
  31. if (grid !== undefined) {
  32. trigger.owner = grid;
  33. if (trigger.owner.editingPlugin.activeEditor.field.id == trigger.id) {
  34. trigger.record = trigger.owner.editingPlugin.activeRecord;
  35. } else {
  36. trigger.record = trigger.owner.selModel.lastSelected;
  37. }
  38. }
  39. } catch(e) {
  40. }
  41. }
  42. }
  43. },
  44. initComponent: function() {
  45. this.editable = !this.readOnly;
  46. this.readOnly = false;//always show trigger
  47. this.callParent(arguments);
  48. },
  49. setReadOnly :function(bool){//流程审批时设置对应分组字段是可编辑状态
  50. this.readOnly=false;
  51. this.setEditable(!bool);
  52. }
  53. });