CheckColumn.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. Ext.define('saas.override.grid.column.CheckColumn', {
  2. override: 'Ext.grid.column.Check',
  3. defaultRenderer:function(value,cellValues,a,b,c,d,e,f){
  4. var me = this,
  5. cls = me.checkboxCls,
  6. tip = '';
  7. if (me.invert) {
  8. value = !value;
  9. }
  10. if (me.disabled) {
  11. cellValues.tdCls += ' ' + me.disabledCls;
  12. }
  13. if (value) {
  14. cls += ' ' + me.checkboxCheckedCls;
  15. tip = me.checkedTooltip;
  16. } else {
  17. tip = me.tooltip;
  18. }
  19. if (tip) {
  20. cellValues.tdAttr += ' data-qtip="' + Ext.htmlEncode(tip) + '"';
  21. }
  22. if (me.useAriaElements) {
  23. cellValues.tdAttr += ' aria-describedby="' + me.id + '-cell-description' + (!value ? '-not' : '') + '-selected"';
  24. }
  25. // This will update the header state on the next animation frame
  26. // after all rows have been rendered.
  27. me.updateHeaderState();
  28. if(typeof value=='object'&&value==null){
  29. cellValues.style = 'display: none;';
  30. cellValues.tdCls += ' ' + me.disabledCls;
  31. cellValues.innerCls = me.disabledCls;
  32. cellValues.classes.push(me.disabledCls);
  33. cellValues.cellRole = me.disabledCls;
  34. return '<span style="display: none;" class="'+ me.disabledCls +'"></span>'
  35. }
  36. //hideCheckField hideCheckVal
  37. //根据 某个字段 判断该行的checkbox 是否要隐藏 ,后期可拓展
  38. if(e.selModel&&e.selModel.hideCheckField){
  39. var field = e.selModel.hideCheckField;
  40. var checkVal = e.selModel.hideCheckVal;
  41. if(a.get(field)==checkVal){
  42. cellValues.style = 'display: none;';
  43. cellValues.tdCls += ' ' + me.disabledCls;
  44. cellValues.innerCls = me.disabledCls;
  45. cellValues.classes.push(me.disabledCls);
  46. cellValues.cellRole = me.disabledCls;
  47. return '<span style="display: none;" class="'+ me.disabledCls +'"></span>'
  48. }
  49. }
  50. return '<span class="' + cls + '" role="' + me.checkboxAriaRole + '"' + (!me.ariaStaticRoles[me.checkboxAriaRole] ? ' tabIndex="0"' : '') + '></span>';
  51. }
  52. });