]> git.proxmox.com Git - extjs.git/blame - extjs/build/classic/theme-crisp/theme-crisp-debug.js
add extjs 6.0.1 sources
[extjs.git] / extjs / build / classic / theme-crisp / theme-crisp-debug.js
CommitLineData
6527f429
DM
1Ext.define('Ext.theme.neptune.Component', {\r
2 override: 'Ext.Component',\r
3 initComponent: function() {\r
4 this.callParent();\r
5 if (this.dock && this.border === undefined) {\r
6 this.border = false;\r
7 }\r
8 },\r
9 privates: {\r
10 initStyles: function() {\r
11 var me = this,\r
12 hasOwnBorder = me.hasOwnProperty('border'),\r
13 border = me.border;\r
14 if (me.dock) {\r
15 // prevent the superclass method from setting the border style. We want to\r
16 // allow dock layout to decide which borders to suppress.\r
17 me.border = null;\r
18 }\r
19 me.callParent(arguments);\r
20 if (hasOwnBorder) {\r
21 me.border = border;\r
22 } else {\r
23 delete me.border;\r
24 }\r
25 }\r
26 }\r
27}, function() {\r
28 Ext.namespace('Ext.theme.is').Neptune = true;\r
29 Ext.theme.name = 'Neptune';\r
30});\r
31\r
32Ext.define('Ext.theme.crisp.Component', {\r
33 override: 'Ext.Component'\r
34}, function() {\r
35 Ext.namespace('Ext.theme.is').Crisp = true;\r
36 Ext.theme.name = 'Crisp';\r
37});\r
38\r
39Ext.define('Ext.theme.neptune.resizer.Splitter', {\r
40 override: 'Ext.resizer.Splitter',\r
41 size: 8\r
42});\r
43\r
44Ext.define('Ext.theme.neptune.toolbar.Toolbar', {\r
45 override: 'Ext.toolbar.Toolbar',\r
46 usePlainButtons: false,\r
47 border: false\r
48});\r
49\r
50Ext.define('Ext.theme.neptune.layout.component.Dock', {\r
51 override: 'Ext.layout.component.Dock',\r
52 /**
53 * This table contains the border removal classes indexed by the sum of the edges to
54 * remove. Each edge is assigned a value:
55 *
56 * * `left` = 1
57 * * `bottom` = 2
58 * * `right` = 4
59 * * `top` = 8
60 *
61 * @private
62 */\r
63 noBorderClassTable: [\r
64 0,\r
65 // TRBL\r
66 Ext.baseCSSPrefix + 'noborder-l',\r
67 // 0001 = 1\r
68 Ext.baseCSSPrefix + 'noborder-b',\r
69 // 0010 = 2\r
70 Ext.baseCSSPrefix + 'noborder-bl',\r
71 // 0011 = 3\r
72 Ext.baseCSSPrefix + 'noborder-r',\r
73 // 0100 = 4\r
74 Ext.baseCSSPrefix + 'noborder-rl',\r
75 // 0101 = 5\r
76 Ext.baseCSSPrefix + 'noborder-rb',\r
77 // 0110 = 6\r
78 Ext.baseCSSPrefix + 'noborder-rbl',\r
79 // 0111 = 7\r
80 Ext.baseCSSPrefix + 'noborder-t',\r
81 // 1000 = 8\r
82 Ext.baseCSSPrefix + 'noborder-tl',\r
83 // 1001 = 9\r
84 Ext.baseCSSPrefix + 'noborder-tb',\r
85 // 1010 = 10\r
86 Ext.baseCSSPrefix + 'noborder-tbl',\r
87 // 1011 = 11\r
88 Ext.baseCSSPrefix + 'noborder-tr',\r
89 // 1100 = 12\r
90 Ext.baseCSSPrefix + 'noborder-trl',\r
91 // 1101 = 13\r
92 Ext.baseCSSPrefix + 'noborder-trb',\r
93 // 1110 = 14\r
94 Ext.baseCSSPrefix + 'noborder-trbl'\r
95 ],\r
96 // 1111 = 15\r
97 /**
98 * The numeric values assigned to each edge indexed by the `dock` config value.
99 * @private
100 */\r
101 edgeMasks: {\r
102 top: 8,\r
103 right: 4,\r
104 bottom: 2,\r
105 left: 1\r
106 },\r
107 handleItemBorders: function() {\r
108 var me = this,\r
109 edges = 0,\r
110 maskT = 8,\r
111 maskR = 4,\r
112 maskB = 2,\r
113 maskL = 1,\r
114 owner = me.owner,\r
115 bodyBorder = owner.bodyBorder,\r
116 ownerBorder = owner.border,\r
117 collapsed = me.collapsed,\r
118 edgeMasks = me.edgeMasks,\r
119 noBorderCls = me.noBorderClassTable,\r
120 dockedItemsGen = owner.dockedItems.generation,\r
121 b, borderCls, docked, edgesTouched, i, ln, item, dock, lastValue, mask, addCls, removeCls;\r
122 if (me.initializedBorders === dockedItemsGen) {\r
123 return;\r
124 }\r
125 addCls = [];\r
126 removeCls = [];\r
127 borderCls = me.getBorderCollapseTable();\r
128 noBorderCls = me.getBorderClassTable ? me.getBorderClassTable() : noBorderCls;\r
129 me.initializedBorders = dockedItemsGen;\r
130 // Borders have to be calculated using expanded docked item collection.\r
131 me.collapsed = false;\r
132 docked = me.getDockedItems('visual');\r
133 me.collapsed = collapsed;\r
134 for (i = 0 , ln = docked.length; i < ln; i++) {\r
135 item = docked[i];\r
136 if (item.ignoreBorderManagement) {\r
137 // headers in framed panels ignore border management, so we do not want\r
138 // to set "satisfied" on the edge in question\r
139 \r
140 continue;\r
141 }\r
142 dock = item.dock;\r
143 mask = edgesTouched = 0;\r
144 addCls.length = 0;\r
145 removeCls.length = 0;\r
146 if (dock !== 'bottom') {\r
147 if (edges & maskT) {\r
148 // if (not touching the top edge)\r
149 b = item.border;\r
150 } else {\r
151 b = ownerBorder;\r
152 if (b !== false) {\r
153 edgesTouched += maskT;\r
154 }\r
155 }\r
156 if (b === false) {\r
157 mask += maskT;\r
158 }\r
159 }\r
160 if (dock !== 'left') {\r
161 if (edges & maskR) {\r
162 // if (not touching the right edge)\r
163 b = item.border;\r
164 } else {\r
165 b = ownerBorder;\r
166 if (b !== false) {\r
167 edgesTouched += maskR;\r
168 }\r
169 }\r
170 if (b === false) {\r
171 mask += maskR;\r
172 }\r
173 }\r
174 if (dock !== 'top') {\r
175 if (edges & maskB) {\r
176 // if (not touching the bottom edge)\r
177 b = item.border;\r
178 } else {\r
179 b = ownerBorder;\r
180 if (b !== false) {\r
181 edgesTouched += maskB;\r
182 }\r
183 }\r
184 if (b === false) {\r
185 mask += maskB;\r
186 }\r
187 }\r
188 if (dock !== 'right') {\r
189 if (edges & maskL) {\r
190 // if (not touching the left edge)\r
191 b = item.border;\r
192 } else {\r
193 b = ownerBorder;\r
194 if (b !== false) {\r
195 edgesTouched += maskL;\r
196 }\r
197 }\r
198 if (b === false) {\r
199 mask += maskL;\r
200 }\r
201 }\r
202 if ((lastValue = item.lastBorderMask) !== mask) {\r
203 item.lastBorderMask = mask;\r
204 if (lastValue) {\r
205 removeCls[0] = noBorderCls[lastValue];\r
206 }\r
207 if (mask) {\r
208 addCls[0] = noBorderCls[mask];\r
209 }\r
210 }\r
211 if ((lastValue = item.lastBorderCollapse) !== edgesTouched) {\r
212 item.lastBorderCollapse = edgesTouched;\r
213 if (lastValue) {\r
214 removeCls[removeCls.length] = borderCls[lastValue];\r
215 }\r
216 if (edgesTouched) {\r
217 addCls[addCls.length] = borderCls[edgesTouched];\r
218 }\r
219 }\r
220 if (removeCls.length) {\r
221 item.removeCls(removeCls);\r
222 }\r
223 if (addCls.length) {\r
224 item.addCls(addCls);\r
225 }\r
226 // mask can use += but edges must use |= because there can be multiple items\r
227 // on an edge but the mask is reset per item\r
228 edges |= edgeMasks[dock];\r
229 }\r
230 // = T, R, B or L (8, 4, 2 or 1)\r
231 mask = edgesTouched = 0;\r
232 addCls.length = 0;\r
233 removeCls.length = 0;\r
234 if (edges & maskT) {\r
235 // if (not touching the top edge)\r
236 b = bodyBorder;\r
237 } else {\r
238 b = ownerBorder;\r
239 if (b !== false) {\r
240 edgesTouched += maskT;\r
241 }\r
242 }\r
243 if (b === false) {\r
244 mask += maskT;\r
245 }\r
246 if (edges & maskR) {\r
247 // if (not touching the right edge)\r
248 b = bodyBorder;\r
249 } else {\r
250 b = ownerBorder;\r
251 if (b !== false) {\r
252 edgesTouched += maskR;\r
253 }\r
254 }\r
255 if (b === false) {\r
256 mask += maskR;\r
257 }\r
258 if (edges & maskB) {\r
259 // if (not touching the bottom edge)\r
260 b = bodyBorder;\r
261 } else {\r
262 b = ownerBorder;\r
263 if (b !== false) {\r
264 edgesTouched += maskB;\r
265 }\r
266 }\r
267 if (b === false) {\r
268 mask += maskB;\r
269 }\r
270 if (edges & maskL) {\r
271 // if (not touching the left edge)\r
272 b = bodyBorder;\r
273 } else {\r
274 b = ownerBorder;\r
275 if (b !== false) {\r
276 edgesTouched += maskL;\r
277 }\r
278 }\r
279 if (b === false) {\r
280 mask += maskL;\r
281 }\r
282 if ((lastValue = me.lastBodyBorderMask) !== mask) {\r
283 me.lastBodyBorderMask = mask;\r
284 if (lastValue) {\r
285 removeCls[0] = noBorderCls[lastValue];\r
286 }\r
287 if (mask) {\r
288 addCls[0] = noBorderCls[mask];\r
289 }\r
290 }\r
291 if ((lastValue = me.lastBodyBorderCollapse) !== edgesTouched) {\r
292 me.lastBodyBorderCollapse = edgesTouched;\r
293 if (lastValue) {\r
294 removeCls[removeCls.length] = borderCls[lastValue];\r
295 }\r
296 if (edgesTouched) {\r
297 addCls[addCls.length] = borderCls[edgesTouched];\r
298 }\r
299 }\r
300 if (removeCls.length) {\r
301 owner.removeBodyCls(removeCls);\r
302 }\r
303 if (addCls.length) {\r
304 owner.addBodyCls(addCls);\r
305 }\r
306 },\r
307 onRemove: function(item) {\r
308 var me = this,\r
309 lastBorderMask = item.lastBorderMask,\r
310 lastBorderCollapse = item.lastBorderCollapse;\r
311 if (!item.destroyed && !item.ignoreBorderManagement) {\r
312 if (lastBorderMask) {\r
313 item.lastBorderMask = 0;\r
314 item.removeCls(me.noBorderClassTable[lastBorderMask]);\r
315 }\r
316 if (lastBorderCollapse) {\r
317 item.lastBorderCollapse = 0;\r
318 item.removeCls(me.getBorderCollapseTable()[lastBorderCollapse]);\r
319 }\r
320 }\r
321 me.callParent([\r
322 item\r
323 ]);\r
324 }\r
325});\r
326\r
327Ext.define('Ext.theme.neptune.panel.Panel', {\r
328 override: 'Ext.panel.Panel',\r
329 border: false,\r
330 bodyBorder: false,\r
331 initBorderProps: Ext.emptyFn,\r
332 initBodyBorder: function() {\r
333 // The superclass method converts a truthy bodyBorder into a number and sets\r
334 // an inline border-width style on the body element. This prevents that from\r
335 // happening if borderBody === true so that the body will get its border-width\r
336 // the stylesheet.\r
337 if (this.bodyBorder !== true) {\r
338 this.callParent();\r
339 }\r
340 }\r
341});\r
342\r
343Ext.define('Ext.theme.neptune.container.ButtonGroup', {\r
344 override: 'Ext.container.ButtonGroup',\r
345 usePlainButtons: false\r
346});\r
347\r
348Ext.define('Ext.theme.neptune.toolbar.Paging', {\r
349 override: 'Ext.toolbar.Paging',\r
350 defaultButtonUI: 'plain-toolbar',\r
351 inputItemWidth: 40\r
352});\r
353\r
354Ext.define('Ext.theme.neptune.picker.Month', {\r
355 override: 'Ext.picker.Month',\r
356 // Monthpicker contains logic that reduces the margins of the month items if it detects\r
357 // that the text has wrapped. This can happen in the classic theme in certain\r
358 // locales such as zh_TW. In order to work around this, Month picker measures\r
359 // the month items to see if the height is greater than "measureMaxHeight".\r
360 // In neptune the height of the items is larger, so we must increase this value.\r
361 // While the actual height of the month items in neptune is 24px, we will only \r
362 // determine that the text has wrapped if the height of the item exceeds 36px.\r
363 // this allows theme developers some leeway to increase the month item size in\r
364 // a neptune-derived theme.\r
365 measureMaxHeight: 36\r
366});\r
367\r
368Ext.define('Ext.theme.neptune.form.field.HtmlEditor', {\r
369 override: 'Ext.form.field.HtmlEditor',\r
370 defaultButtonUI: 'plain-toolbar'\r
371});\r
372\r
373Ext.define('Ext.theme.neptune.panel.Table', {\r
374 override: 'Ext.panel.Table',\r
375 lockableBodyBorder: true,\r
376 initComponent: function() {\r
377 var me = this;\r
378 me.callParent();\r
379 if (!me.hasOwnProperty('bodyBorder') && !me.hideHeaders && (me.lockableBodyBorder || !me.lockable)) {\r
380 me.bodyBorder = true;\r
381 }\r
382 }\r
383});\r
384\r
385Ext.define('Ext.theme.crisp.view.Table', {\r
386 override: 'Ext.view.Table',\r
387 stripeRows: false\r
388});\r
389\r
390Ext.define('Ext.theme.neptune.grid.RowEditor', {\r
391 override: 'Ext.grid.RowEditor',\r
392 buttonUI: 'default-toolbar'\r
393});\r
394\r
395Ext.define('Ext.theme.neptune.grid.column.RowNumberer', {\r
396 override: 'Ext.grid.column.RowNumberer',\r
397 width: 25\r
398});\r
399\r
400Ext.define('Ext.theme.neptune.menu.Separator', {\r
401 override: 'Ext.menu.Separator',\r
402 border: true\r
403});\r
404\r
405Ext.define('Ext.theme.neptune.menu.Menu', {\r
406 override: 'Ext.menu.Menu',\r
407 showSeparator: false\r
408});\r
409\r