forked from extnet/Ext.NET
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathComponent.cs
More file actions
113 lines (100 loc) · 3.99 KB
/
Component.cs
File metadata and controls
113 lines (100 loc) · 3.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/********
* @version : 2.1.1 - Ext.NET Pro License
* @author : Ext.NET, Inc. http://www.ext.net/
* @date : 2012-12-10
* @copyright : Copyright (c) 2007-2012, Ext.NET, Inc. (http://www.ext.net/). All rights reserved.
* @license : See license.txt and http://www.ext.net/license/.
********/
using System.ComponentModel;
using System.Web.UI;
namespace Ext.Net
{
/// <summary>
/// Base class for all Ext components. All subclasses of Component may participate in the automated Ext component lifecycle of creation, rendering and destruction which is provided by the Container class. Components may be added to a Container through the items config option at the time the Container is created, or they may be added dynamically via the add method.
///
/// The Component base class has built-in support for basic hide/show and enable/disable and size control behavior.
///
/// All Components are registered with the Ext.ComponentManager on construction so that they can be referenced at any time via Ext.getCmp, passing the id.
///
/// All user-developed visual widgets that are required to participate in automated lifecycle and size management should subclass Component.
///
/// See the Creating new UI controls chapter in [Component Guide][1] for details on how and to either extend or augment Ext JS base classes to create custom Components.
///
/// Every component has a specific xtype, which is its Ext-specific type name, along with methods for checking the xtype like getXType and isXType. See the [Component Guide][1] for more information on xtypes and the Component hierarchy.
/// </summary>
[Meta]
[Description("Base Class for all Ext.Net Web Controls.")]
public partial class Component : ComponentBase
{
/// <summary>
///
/// </summary>
public Component() { }
/// <summary>
///
/// </summary>
[Category("0. About")]
[Description("")]
public override string XType
{
get
{
return "component";
}
}
/// <summary>
///
/// </summary>
public override string InstanceOf
{
get
{
return "Ext.Component";
}
}
private AbstractComponentListeners listeners;
/// <summary>
/// Client-side JavaScript Event Handlers
/// </summary>
[Meta]
[ConfigOption("listeners", JsonMode.Object)]
[Category("2. Observable")]
[NotifyParentProperty(true)]
[PersistenceMode(PersistenceMode.InnerProperty)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
[Description("Client-side JavaScript Event Handlers")]
public AbstractComponentListeners Listeners
{
get
{
if (this.listeners == null)
{
this.listeners = new AbstractComponentListeners();
}
return this.listeners;
}
}
private AbstractComponentDirectEvents directEvents;
/// <summary>
/// Server-side DirectEvent Handlers
/// </summary>
[Meta]
[Category("2. Observable")]
[NotifyParentProperty(true)]
[PersistenceMode(PersistenceMode.InnerProperty)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
[ConfigOption("directEvents", JsonMode.Object)]
[Description("Server-side DirectEventHandlers")]
public AbstractComponentDirectEvents DirectEvents
{
get
{
if (this.directEvents == null)
{
this.directEvents = new AbstractComponentDirectEvents(this);
}
return this.directEvents;
}
}
}
}