]>
Commit | Line | Data |
---|---|---|
6527f429 DM |
1 | /**\r |
2 | * A simple class used to mask any {@link Ext.Container}.\r | |
3 | *\r | |
4 | * This should rarely be used directly, instead look at the {@link Ext.Container#masked} configuration.\r | |
5 | *\r | |
6 | * ## Example\r | |
7 | *\r | |
8 | * @example miniphone\r | |
9 | * // Create our container\r | |
10 | * var container = Ext.create('Ext.Container', {\r | |
11 | * html: 'My container!'\r | |
12 | * });\r | |
13 | *\r | |
14 | * // Add the container to the Viewport\r | |
15 | * Ext.Viewport.add(container);\r | |
16 | *\r | |
17 | * // Mask the container\r | |
18 | * container.setMasked(true);\r | |
19 | */\r | |
20 | Ext.define('Ext.Mask', {\r | |
21 | extend: 'Ext.Component',\r | |
22 | xtype: 'mask',\r | |
23 | requires: ['Ext.util.InputBlocker'],\r | |
24 | \r | |
25 | config: {\r | |
26 | /**\r | |
27 | * @cfg\r | |
28 | * @inheritdoc\r | |
29 | */\r | |
30 | baseCls: Ext.baseCSSPrefix + 'mask',\r | |
31 | \r | |
32 | /**\r | |
33 | * @cfg {Boolean} transparent True to make this mask transparent.\r | |
34 | */\r | |
35 | transparent: false,\r | |
36 | \r | |
37 | /**\r | |
38 | * @cfg\r | |
39 | * @hide\r | |
40 | */\r | |
41 | top: 0,\r | |
42 | \r | |
43 | /**\r | |
44 | * @cfg\r | |
45 | * @hide\r | |
46 | */\r | |
47 | left: 0,\r | |
48 | \r | |
49 | /**\r | |
50 | * @cfg\r | |
51 | * @hide\r | |
52 | */\r | |
53 | right: 0,\r | |
54 | \r | |
55 | /**\r | |
56 | * @cfg\r | |
57 | * @hide\r | |
58 | */\r | |
59 | bottom: 0\r | |
60 | },\r | |
61 | \r | |
62 | /**\r | |
63 | * @event tap\r | |
64 | * A tap event fired when a user taps on this mask\r | |
65 | * @param {Ext.Mask} this The mask instance\r | |
66 | * @param {Ext.EventObject} e The event object\r | |
67 | */\r | |
68 | initialize: function() {\r | |
69 | var me = this;\r | |
70 | \r | |
71 | me.callParent();\r | |
72 | me.element.on('tap', 'onTap', me);\r | |
73 | me.on('hide', 'onHide', me);\r | |
74 | },\r | |
75 | \r | |
76 | onHide: function(){\r | |
77 | Ext.util.InputBlocker.unblockInputs();\r | |
78 | \r | |
79 | // Oh how I loves the Android\r | |
80 | if (Ext.browser.is.AndroidStock4 && Ext.os.version.getMinor() === 0) {\r | |
81 | var firstChild = this.element.getFirstChild();\r | |
82 | if (firstChild) {\r | |
83 | firstChild.redraw();\r | |
84 | }\r | |
85 | }\r | |
86 | },\r | |
87 | \r | |
88 | onTap: function(e) {\r | |
89 | this.fireEvent('tap', this, e);\r | |
90 | },\r | |
91 | \r | |
92 | updateTransparent: function(transparent) {\r | |
93 | this.toggleCls(this.getBaseCls() + '-transparent', transparent);\r | |
94 | }\r | |
95 | });\r |