1515import com .extjs .gxt .ui .client .event .Events ;
1616import com .extjs .gxt .ui .client .event .Listener ;
1717import com .extjs .gxt .ui .client .event .SelectionListener ;
18+ import com .extjs .gxt .ui .client .widget .ContentPanel ;
19+ import com .extjs .gxt .ui .client .widget .Info ;
1820import com .extjs .gxt .ui .client .widget .LayoutContainer ;
1921import com .extjs .gxt .ui .client .widget .button .Button ;
2022import com .extjs .gxt .ui .client .widget .form .FormPanel ;
2123import com .extjs .gxt .ui .client .widget .form .NumberField ;
2224import com .extjs .gxt .ui .client .widget .form .TextField ;
25+ import com .extjs .gxt .ui .client .widget .layout .FitLayout ;
26+ import com .extjs .gxt .ui .client .widget .layout .FlowData ;
2327import com .extjs .gxt .ui .client .widget .layout .FlowLayout ;
2428import com .extjs .gxt .ui .client .widget .layout .FormData ;
2529import com .google .gwt .user .client .Element ;
3034public class TagDetailPanel extends CommonPanel
3135 {
3236
37+ private ContentPanel panel = new ContentPanel ();
38+
3339 private String title = "Tag Detail" ;
3440
3541 private NumberField tfId = new NumberField ();
@@ -43,11 +49,9 @@ public class TagDetailPanel extends CommonPanel
4349 private List <FieldBinding > bindings = new ArrayList <FieldBinding >();
4450
4551 private FormPanel detailPanel = makeFormColumn ();
46- Button btnSave = new Button ();
47- Button btnCancel = new Button ( " Cancel" );
4852
4953 private TagEditor parent ;
50-
54+
5155 public String getTitle ()
5256 {
5357 return title ;
@@ -59,15 +63,28 @@ public String getTitle ()
5963 public TagDetailPanel ( TagEditor parent , List <FormBinding > formBindings )
6064 {
6165
62- this .parent = parent ;
66+ this .parent = parent ;
6367 this .formBindings = formBindings ;
6468 this .setWidth ( 600 );
65- this .setHeight ( 300 );
69+ this .setHeight ( 200 );
6670 this .setLayout ( new FlowLayout () );
6771 this .setFrame ( true );
6872 this .setHeading ( getTitle () );
69- setIconStyle ( "icon-home" );
73+ setIconStyle ( "icon-home" );
7074 add ( createTabPanel () );
75+
76+ SelectionListener <ButtonEvent > l = new SelectionListener <ButtonEvent >() {
77+
78+ @ Override
79+ public void componentSelected ( ButtonEvent ce )
80+ {
81+ Info .display ( "Click" , ce .getButton ().getText ()
82+ + " clicked" );
83+
84+ }
85+
86+ };
87+ layout ();
7188 }
7289
7390 @ Override
@@ -85,6 +102,7 @@ public void redraw_panel ( boolean readOnly )
85102 public void clearPanel ()
86103 {
87104 detailPanel .reset ();
105+ tfId .reset ();
88106 this .layout ();
89107 }
90108
@@ -93,25 +111,25 @@ private LayoutContainer createTabPanel ()
93111 {
94112 FormData fieldWidth = new FormData ( "95%" );
95113
96- tfId .setPropertyEditorType ( Integer .class );
97- tfId .setName ( "tagId" );
98-
99114 tfRank .setPropertyEditorType ( Integer .class );
100115 tfRank .setName ( "tagPref" );
101116 tfRank .setFieldLabel ( "Tag Priority" );
102- tfRank .setLabelSeparator ( ":" );
103117 detailPanel .add ( tfRank , fieldWidth );
104118
105119 tfTagName .setName ( "tagName" );
106- tfTagName .setFieldLabel ( "Tag Name# " );
120+ tfTagName .setFieldLabel ( "Tag Name" );
107121 detailPanel .add ( tfTagName , fieldWidth );
108122
109123 tfTagRule .setName ( "tagRule" );
110124 tfTagRule .setFieldLabel ( "Tag Rule" );
111125 detailPanel .add ( tfTagRule , fieldWidth );
112126
113- // When the button is pressed, load new alarms with the date range
114- btnSave .setText ( " Save" );
127+ tfId .setPropertyEditorType ( Integer .class );
128+ tfId .setName ( "tagId" );
129+ tfId .setVisible ( false );
130+
131+ HorizontalAlignment align = HorizontalAlignment .CENTER ;
132+ Button btnSave = new Button ( "Update/Add" );
115133 btnSave .setIconStyle ( "gwt-Button" );
116134 btnSave .addListener ( Events .OnClick , new Listener <ComponentEvent >() {
117135 public void handleEvent ( ComponentEvent ce )
@@ -123,9 +141,9 @@ public void handleEvent ( ComponentEvent ce )
123141 }
124142 } );
125143
126- btnCancel . setIconStyle ( "gwt-Button " );
127- btnCancel . setText ( " Cancel " );
128- btnCancel .addListener ( Events .OnClick , new Listener <ComponentEvent >() {
144+ Button btnReset = new Button ( "Reset " );
145+ btnReset . setIconStyle ( "gwt-Button " );
146+ btnReset .addListener ( Events .OnClick , new Listener <ComponentEvent >() {
129147 public void handleEvent ( ComponentEvent ce )
130148 {
131149 if ( ce .getType () == Events .OnClick )
@@ -135,40 +153,113 @@ public void handleEvent ( ComponentEvent ce )
135153 }
136154 } );
137155
138- detailPanel .add ( btnSave );
139- detailPanel .add ( btnCancel );
156+ Button btnDelete = new Button ( "Delete" );
157+ btnDelete .setIconStyle ( "gwt-Button" );
158+ btnDelete .addListener ( Events .OnClick , new Listener <ComponentEvent >() {
159+ public void handleEvent ( ComponentEvent ce )
160+ {
161+
162+ if ( ce .getType () == Events .OnClick )
163+ {
164+ deleteTag ();
165+ }
166+ }
140167
141- detailPanel . setButtonAlign ( HorizontalAlignment . CENTER );
168+ } );
142169
143170 bindings .addAll ( new FormBinding ( detailPanel , true ).getBindings () );
144- bindings .add ( new FieldBinding (tfId ,"tagId" ) );
145-
146- return detailPanel ;
171+ bindings .add ( new FieldBinding ( tfId , "tagId" ) );
172+
173+ detailPanel .setBorders ( true );
174+ panel .add ( detailPanel );
175+ panel .addButton ( btnSave );
176+ panel .addButton ( btnReset );
177+ panel .addButton ( btnDelete );
178+ panel .setBorders ( true );
179+ panel .setButtonAlign ( align );
180+ panel .setSize ( 600 , 200 );
181+ panel .setLayout ( new FitLayout () );
182+ panel .layout ();
183+
184+ return panel ;
147185 }
148186
149187 public void updateTag ()
188+ {
189+ if ( tfId .getValue () != null )
190+ {
191+ int id = tfId .getValue ().intValue ();
192+ int rank = tfRank .getValue ().intValue ();
193+ String tagName = tfTagName .getValue ();
194+ String tagRule = tfTagRule .getValue ();
195+ AppTag tag = new AppTag ( id , rank , tagName , tagRule );
196+
197+ Services .PREFERENCES .saveAppTagForCustomer ( 1 , tag ,
198+ new AsyncCallback <Void >() {
199+ public void onSuccess ( Void args0 )
200+ {
201+ // Window.alert("Successfully changed Tag for customer");
202+ parent .updateStore ();
203+ }
204+
205+ public void onFailure ( Throwable caught )
206+ {
207+ Window .alert ( "Failed in updating tag:"
208+ + caught .getMessage () );
209+ }
210+ } );
211+ }
212+ else
213+ {
214+ int rank = tfRank .getValue ().intValue ();
215+ String tagName = tfTagName .getValue ();
216+ String tagRule = tfTagRule .getValue ();
217+
218+ AppTag tag = new AppTag ( null , rank , tagName , tagRule );
219+ Services .PREFERENCES .saveAppTagForCustomer ( 1 , tag ,
220+ new AsyncCallback <Void >() {
221+ public void onSuccess ( Void args0 )
222+ {
223+ Window .alert ( "Successfully Added Tag for customer" );
224+ parent .updateStore ();
225+ clearPanel ();
226+ }
227+
228+ public void onFailure ( Throwable caught )
229+ {
230+ Window .alert ( "Failed in Adding tag:"
231+ + caught .getMessage () );
232+ }
233+ } );
234+
235+ }
236+
237+ }
238+
239+ private void deleteTag ()
150240 {
151241 int id = tfId .getValue ().intValue ();
152242 int rank = tfRank .getValue ().intValue ();
153243 String tagName = tfTagName .getValue ();
154- String tagRule = tfTagRule .getValue ();
155- AppTag tag = new AppTag ( id , rank , tagName , tagRule );
156-
157- Services .PREFERENCES .saveAppTagForCustomer ( 1 , tag ,
244+ String tagRule = tfTagRule .getValue ();
245+
246+ AppTag tag = new AppTag ( id , rank , tagName , tagRule );
247+ Services .PREFERENCES .deleteAppTagForCustomer ( 1 , tag ,
158248 new AsyncCallback <Void >() {
159249 public void onSuccess ( Void args0 )
160250 {
161- // Window.alert("Successfully changed Tag for customer");
251+ Window .alert ( "Successfully deleted Tag for customer" );
162252 parent .updateStore ();
253+ clearPanel ();
163254 }
164255
165256 public void onFailure ( Throwable caught )
166257 {
167- Window .alert ("Failed in updating tag:" +caught .getMessage () );
258+ Window .alert ( "Failed in Deleting tag:"
259+ + caught .getMessage () );
168260 }
169261 } );
170262
171-
172263 }
173264
174265 public List <FieldBinding > getFieldBindings ()
0 commit comments