Face.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /**
  2. * 选择表情picker
  3. */
  4. Ext.define('erp.view.core.picker.Face', {
  5. extend: 'Ext.Component',
  6. requires: 'Ext.XTemplate',
  7. alias: 'widget.facepicker',
  8. componentCls: 'x-face-picker',
  9. selectedCls: 'x-face-picker-selected',
  10. itemCls: 'x-face-picker-item',
  11. style: 'background: #f1f1f1;',
  12. facepath: basePath + 'resource/images/face/',
  13. format: '.gif',
  14. value: null,
  15. clickEvent: 'click',
  16. width: 230,
  17. height: 200,
  18. cols: 8,//8列
  19. initComponent : function(){
  20. var me = this;
  21. me.callParent(arguments);
  22. me.addEvents({
  23. 'select': true
  24. });
  25. if(me.handler){
  26. me.on('select', me.handler, me.scope, true);
  27. }
  28. },
  29. faces: [
  30. '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20',
  31. '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39',
  32. '40', '41', '42', '43', '44', '45', '46', '47', '48'
  33. ],
  34. onRender: function(container, position){
  35. var me = this,clickEvent = me.clickEvent;
  36. Ext.apply(me.renderData, {
  37. itemCls: me.itemCls,
  38. faces: me.faces
  39. });
  40. me.callParent(arguments);
  41. me.mon(me.el, clickEvent, me.handleClick, me, {delegate: 'a'});
  42. if(clickEvent != 'click'){
  43. me.mon(me.el, 'click', Ext.emptyFn, me, {delegate: 'a', stopEvent: true});
  44. }
  45. },
  46. afterRender : function(){
  47. var me = this;
  48. me.callParent(arguments);
  49. },
  50. renderTpl: [
  51. '<tpl for="faces">',
  52. '<a hidefocus="on">',
  53. '<div class="x-face-picker-item">',
  54. '<img src="' + basePath + 'resource/images/face/{.}.gif" title="&f{.};">',
  55. '</div>',
  56. '</a>',
  57. '</tpl>'
  58. ],
  59. handleClick : function(event, target){
  60. var me = this;
  61. if(!me.disabled){
  62. me.select(target.getElementsByTagName('img')[0].title);
  63. }
  64. },
  65. select: function(face, suppressEvent){
  66. var me = this;
  67. me.value = face;
  68. me.fireEvent('select', me, face);
  69. return;
  70. },
  71. getValue: function(){
  72. return this.value || null;
  73. }
  74. });