_tree.scss 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. /**
  2. * Creates the base structure of Tree.
  3. * @member Ext.tree.Panel
  4. */
  5. @mixin extjs-tree {
  6. // Tree tables must assume either full width of the View element, or, when necessary, must overflow
  7. // They must not shrink wrap the width and only be as wide as their widest node's content.
  8. .#{$prefix}autowidth-table table.#{$prefix}grid-table {
  9. table-layout: auto;
  10. width: auto!important;
  11. }
  12. .#{$prefix}tree-no-lines .#{$prefix}tree-elbow {
  13. background-color: transparent;
  14. }
  15. .#{$prefix}tree-no-lines .#{$prefix}tree-elbow-end {
  16. background-color: transparent;
  17. }
  18. .#{$prefix}tree-no-lines .#{$prefix}tree-elbow-line {
  19. background-color: transparent;
  20. }
  21. //arrows
  22. .#{$prefix}tree-arrows .#{$prefix}tree-elbow-plus {
  23. background: transparent no-repeat 0 0;
  24. }
  25. .#{$prefix}tree-arrows .#{$prefix}tree-elbow-end-plus {
  26. background: transparent no-repeat 0 0;
  27. }
  28. .#{$prefix}tree-arrows .#{$prefix}tree-elbow-end-minus {
  29. background: transparent no-repeat -16px 0;
  30. }
  31. .#{$prefix}tree-arrows .#{$prefix}tree-elbow-minus {
  32. background: transparent no-repeat -16px 0;
  33. }
  34. .#{$prefix}tree-arrows .#{$prefix}tree-elbow {
  35. background-color: transparent !important;
  36. }
  37. .#{$prefix}tree-arrows .#{$prefix}tree-elbow-end {
  38. background-color: transparent !important;
  39. }
  40. .#{$prefix}tree-arrows .#{$prefix}tree-elbow-line {
  41. background-color: transparent !important;
  42. }
  43. //elbows
  44. .#{$prefix}tree-arrows .#{$prefix}tree-expander-over .#{$prefix}tree-elbow-plus,
  45. .#{$prefix}tree-arrows .#{$prefix}tree-expander-over .#{$prefix}tree-elbow-end-plus {
  46. background-position: -32px 0;
  47. }
  48. .#{$prefix}tree-arrows .#{$prefix}tree-expander-over .#{$prefix}tree-elbow-minus,
  49. .#{$prefix}tree-arrows .#{$prefix}tree-expander-over .#{$prefix}tree-elbow-end-minus {
  50. background-position: -48px 0;
  51. }
  52. .#{$prefix}tree-arrows .#{$prefix}grid-tree-node-expanded .#{$prefix}tree-elbow-plus,
  53. .#{$prefix}tree-arrows .#{$prefix}grid-tree-node-expanded .#{$prefix}tree-elbow-end-plus {
  54. background-position: -16px 0;
  55. }
  56. .#{$prefix}tree-arrows .#{$prefix}grid-tree-node-expanded .#{$prefix}tree-expander-over .#{$prefix}tree-elbow-plus,
  57. .#{$prefix}tree-arrows .#{$prefix}grid-tree-node-expanded .#{$prefix}tree-expander-over .#{$prefix}tree-elbow-end-plus {
  58. background-position: -48px 0;
  59. }
  60. .#{$prefix}tree-elbow-plus,
  61. .#{$prefix}tree-elbow-minus,
  62. .#{$prefix}tree-elbow-end-plus,
  63. .#{$prefix}tree-elbow-end-minus{
  64. cursor: pointer;
  65. }
  66. //elbows
  67. .#{$prefix}tree-lines {
  68. .#{$prefix}tree-elbow {
  69. background-image: theme-background-image($theme-name, 'tree/elbow.gif');
  70. }
  71. .#{$prefix}tree-elbow-end {
  72. background-image: theme-background-image($theme-name, 'tree/elbow-end.gif');
  73. }
  74. .#{$prefix}tree-elbow-plus {
  75. background-image: theme-background-image($theme-name, 'tree/elbow-plus.gif');
  76. }
  77. .#{$prefix}tree-elbow-end-plus {
  78. background-image: theme-background-image($theme-name, 'tree/elbow-end-plus.gif');
  79. }
  80. .#{$prefix}grid-tree-node-expanded .#{$prefix}tree-elbow-plus {
  81. background-image: theme-background-image($theme-name, 'tree/elbow-minus.gif');
  82. }
  83. .#{$prefix}grid-tree-node-expanded .#{$prefix}tree-elbow-end-plus {
  84. background-image: theme-background-image($theme-name, 'tree/elbow-end-minus.gif');
  85. }
  86. .#{$prefix}tree-elbow-line {
  87. background-image: theme-background-image($theme-name, 'tree/elbow-line.gif');
  88. }
  89. }
  90. .#{$prefix}tree-no-lines {
  91. .#{$prefix}tree-elbow-plus,
  92. .#{$prefix}tree-elbow-end-plus {
  93. background-image: theme-background-image($theme-name, 'tree/elbow-plus-nl.gif');
  94. }
  95. .#{$prefix}grid-tree-node-expanded .#{$prefix}tree-elbow-plus,
  96. .#{$prefix}grid-tree-node-expanded .#{$prefix}tree-elbow-end-plus {
  97. background-image: theme-background-image($theme-name, 'tree/elbow-end-minus-nl.gif');
  98. }
  99. }
  100. .#{$prefix}tree-arrows {
  101. .#{$prefix}tree-elbow-plus,
  102. .#{$prefix}tree-elbow-minus,
  103. .#{$prefix}tree-elbow-end-plus,
  104. .#{$prefix}tree-elbow-end-minus {
  105. background-image: theme-background-image($theme-name, 'tree/arrows.gif');
  106. }
  107. }
  108. .#{$prefix}tree-icon {
  109. margin: $tree-icon-margin-top $tree-icon-margin-right 0 0;
  110. }
  111. .#{$prefix}grid-with-row-lines .#{$prefix}tree-icon {
  112. margin-top: $tree-icon-margin-top - 1
  113. }
  114. .#{$prefix}tree-elbow,
  115. .#{$prefix}tree-elbow-end,
  116. .#{$prefix}tree-elbow-plus,
  117. .#{$prefix}tree-elbow-end-plus,
  118. .#{$prefix}tree-elbow-empty,
  119. .#{$prefix}tree-elbow-line {
  120. height: $tree-elbow-height;
  121. width: $tree-elbow-width;
  122. }
  123. .#{$prefix}grid-with-row-lines {
  124. .#{$prefix}tree-elbow,
  125. .#{$prefix}tree-elbow-end,
  126. .#{$prefix}tree-elbow-plus,
  127. .#{$prefix}tree-elbow-end-plus,
  128. .#{$prefix}tree-elbow-empty,
  129. .#{$prefix}tree-elbow-line {
  130. height: $tree-elbow-height - 1;
  131. background-position: 0 -1px;
  132. }
  133. }
  134. .#{$prefix}tree-icon-leaf {
  135. width: $tree-elbow-width;
  136. background-image: theme-background-image($theme-name, 'tree/leaf.gif');
  137. }
  138. .#{$prefix}tree-icon-parent {
  139. width: $tree-elbow-width;
  140. background-image: theme-background-image($theme-name, 'tree/folder.gif');
  141. }
  142. .#{$prefix}grid-tree-node-expanded .#{$prefix}tree-icon-parent {
  143. background-image: theme-background-image($theme-name, 'tree/folder-open.gif');
  144. }
  145. .#{$prefix}grid-rowbody {
  146. padding: 0;
  147. }
  148. .#{$prefix}grid-cell-treecolumn .#{$prefix}grid-cell-inner {
  149. padding: 0;
  150. line-height: $tree-elbow-height - 1;
  151. }
  152. .#{$prefix}grid-with-row-lines .#{$prefix}grid-cell-treecolumn .#{$prefix}grid-cell-inner {
  153. line-height: $tree-elbow-height - 3;
  154. }
  155. .#{$prefix}tree-panel .#{$prefix}grid-cell-inner {
  156. cursor: pointer;
  157. img {
  158. display: inline-block;
  159. vertical-align: top;
  160. }
  161. }
  162. @if $include-ie {
  163. .#{$prefix}ie .#{$prefix}tree-panel {
  164. .#{$prefix}tree-elbow,
  165. .#{$prefix}tree-elbow-end,
  166. .#{$prefix}tree-elbow-plus,
  167. .#{$prefix}tree-elbow-end-plus,
  168. .#{$prefix}tree-elbow-empty,
  169. .#{$prefix}tree-elbow-line {
  170. // vertical alignment is necessary for IE to show the ellipsis in the right place.
  171. vertical-align: -6px;
  172. }
  173. }
  174. }
  175. .#{$prefix}grid-editor-on-text-node {
  176. .#{$prefix}form-text {
  177. // specify padding left and padding right individually since we don't want to override padding-bottom (which can vary)
  178. padding-left: $grid-cell-treecolumn-editor-field-padding-horizontal;
  179. padding-right: $grid-cell-treecolumn-editor-field-padding-horizontal;
  180. }
  181. }
  182. @if $include-ie {
  183. .#{$prefix}ie .#{$prefix}grid-editor-on-text-node .#{$prefix}form-text {
  184. padding-left: $grid-cell-treecolumn-editor-field-padding-horizontal + 1px;
  185. padding-right: $grid-cell-treecolumn-editor-field-padding-horizontal + 1px;
  186. }
  187. }
  188. @if $include-opera {
  189. .#{$prefix}opera .#{$prefix}grid-editor-on-text-node .#{$prefix}form-text {
  190. padding-left: $grid-cell-treecolumn-editor-field-padding-horizontal + 1px;
  191. padding-right: $grid-cell-treecolumn-editor-field-padding-horizontal + 1px;
  192. }
  193. }
  194. .#{$prefix}tree-checkbox {
  195. margin: $tree-checkbox-margin-top $tree-checkbox-margin-right 0 0;
  196. display: inline-block;
  197. vertical-align: top;
  198. width: $form-checkbox-size;
  199. height: $form-checkbox-size;
  200. background: no-repeat;
  201. background-image: theme-background-image($theme-name, $form-checkbox-image);
  202. overflow: hidden;
  203. padding: 0;
  204. border: 0;
  205. &::-moz-focus-inner {
  206. padding: 0;
  207. border: 0;
  208. }
  209. }
  210. .#{$prefix}grid-with-row-lines .#{$prefix}tree-checkbox {
  211. margin-top: $tree-checkbox-margin-top - 1;
  212. }
  213. .#{$prefix}tree-checkbox-checked {
  214. background-position: 0 (0 - $form-checkbox-size);
  215. }
  216. .#{$prefix}tree-drop-ok-append .#{$prefix}dd-drop-icon {
  217. background-image: theme-background-image($theme-name, 'tree/drop-append.gif');
  218. }
  219. .#{$prefix}tree-drop-ok-above .#{$prefix}dd-drop-icon {
  220. background-image: theme-background-image($theme-name, 'tree/drop-above.gif');
  221. }
  222. .#{$prefix}tree-drop-ok-below .#{$prefix}dd-drop-icon {
  223. background-image: theme-background-image($theme-name, 'tree/drop-below.gif');
  224. }
  225. .#{$prefix}tree-drop-ok-between .#{$prefix}dd-drop-icon {
  226. background-image: theme-background-image($theme-name, 'tree/drop-between.gif');
  227. }
  228. .#{$prefix}grid-tree-loading .#{$prefix}tree-icon {
  229. background-image: theme-background-image($theme-name, 'tree/loading.gif');
  230. }
  231. .#{$prefix}tree-ddindicator {
  232. height: 1px;
  233. border-width: 1px 0px 0px;
  234. border-style: dotted;
  235. border-color: green;
  236. }
  237. .#{$prefix}grid-tree-loading span {
  238. font-style: italic;
  239. color: #444444;
  240. }
  241. .#{$prefix}tree-animator-wrap {
  242. overflow: hidden;
  243. }
  244. }