TreePicker.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. Ext.define('saas.override.ux.TreePicker', {
  2. override: 'Ext.ux.TreePicker',
  3. createPicker: function() {
  4. var me = this,
  5. picker = new Ext.tree.Panel({
  6. baseCls: Ext.baseCSSPrefix + 'boundlist',
  7. shrinkWrapDock: 2,
  8. store: me.store,
  9. floating: true,
  10. displayField: me.displayField,
  11. columns: me.columns,
  12. minHeight: me.minPickerHeight,
  13. maxHeight: me.maxPickerHeight,
  14. manageHeight: false,
  15. shadow: false,
  16. rootVisible: me.rootVisible,
  17. listeners: {
  18. scope: me,
  19. itemclick: me.onItemClick,
  20. itemkeydown: me.onPickerKeyDown
  21. }
  22. }),
  23. view = picker.getView();
  24. if (Ext.isIE9 && Ext.isStrict) {
  25. // In IE9 strict mode, the tree view grows by the height of the horizontal scroll bar when the items are highlighted or unhighlighted.
  26. // Also when items are collapsed or expanded the height of the view is off. Forcing a repaint fixes the problem.
  27. view.on({
  28. scope: me,
  29. highlightitem: me.repaintPickerView,
  30. unhighlightitem: me.repaintPickerView,
  31. afteritemexpand: me.repaintPickerView,
  32. afteritemcollapse: me.repaintPickerView
  33. });
  34. }
  35. return picker;
  36. }
  37. });