KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > opencms > workplace > list > A_CmsListIndependentJsAction


1 /*
2  * File : $Source$
3  * Date : $Date$
4  * Version: $Revision$
5  *
6  * This library is part of OpenCms -
7  * the Open Source Content Mananagement System
8  *
9  * Copyright (c) 2005 Alkacon Software GmbH (http://www.alkacon.com)
10  *
11  * This library is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU Lesser General Public
13  * License as published by the Free Software Foundation; either
14  * version 2.1 of the License, or (at your option) any later version.
15  *
16  * This library is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19  * Lesser General Public License for more details.
20  *
21  * For further information about Alkacon Software GmbH, please see the
22  * company website: http://www.alkacon.com
23  *
24  * For further information about OpenCms, please see the
25  * project website: http://www.opencms.org
26  *
27  * You should have received a copy of the GNU Lesser General Public
28  * License along with this library; if not, write to the Free Software
29  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30  */

31
32 package org.opencms.workplace.list;
33
34 import org.opencms.util.CmsStringUtil;
35 import org.opencms.workplace.CmsWorkplace;
36
37 /**
38  * Default implementation of a independent action for a html list column that can execute java script code.<p>
39  *
40  * @author Michael Moossen
41  *
42  * @version $Revision$
43  *
44  * @since 6.0.0
45  */

46 public abstract class A_CmsListIndependentJsAction extends CmsListIndependentAction {
47
48     /**
49      * Default Constructor.<p>
50      *
51      * @param id unique id
52      */

53     public A_CmsListIndependentJsAction(String JavaDoc id) {
54
55         super(id);
56     }
57
58     /**
59      * @see org.opencms.workplace.list.CmsListIndependentAction#resolveOnClic(org.opencms.workplace.CmsWorkplace)
60      */

61     protected String JavaDoc resolveOnClic(CmsWorkplace wp) {
62     
63         String JavaDoc confirmationMessage = getConfirmationMessage().key(wp.getLocale());
64         StringBuffer JavaDoc onClic = new StringBuffer JavaDoc(128);
65         if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(confirmationMessage)) {
66             onClic.append("if (confirm('");
67             onClic.append(CmsStringUtil.escapeJavaScript(confirmationMessage));
68             onClic.append("')) { ");
69         }
70         onClic.append(jsCode(wp));
71         if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(confirmationMessage)) {
72             onClic.append(" } ");
73         }
74         return onClic.toString();
75     }
76
77     /**
78      * The js code to execute.<p>
79      *
80      * @param wp the workplace context
81      *
82      * @return js code to execute
83      */

84     public abstract String JavaDoc jsCode(CmsWorkplace wp);
85 }
Popular Tags