001/* 002 * This library is part of OpenCms - 003 * the Open Source Content Management System 004 * 005 * Copyright (C) Alkacon Software (http://www.alkacon.com) 006 * 007 * This library is free software; you can redistribute it and/or 008 * modify it under the terms of the GNU Lesser General Public 009 * License as published by the Free Software Foundation; either 010 * version 2.1 of the License, or (at your option) any later version. 011 * 012 * This library is distributed in the hope that it will be useful, 013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 015 * Lesser General Public License for more details. 016 * 017 * For further information about Alkacon Software, please see the 018 * company website: http://www.alkacon.com 019 * 020 * For further information about OpenCms, please see the 021 * project website: http://www.opencms.org 022 * 023 * You should have received a copy of the GNU Lesser General Public 024 * License along with this library; if not, write to the Free Software 025 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 026 */ 027 028package org.opencms.gwt.shared; 029 030/** 031 * Common constants needed for client side code.<p> 032 */ 033public final class CmsGwtConstants { 034 035 /** Parameters for favorite dialog. */ 036 public static final class Favorites { 037 038 /** Request parameter. */ 039 public static final String PARAM_DETAIL = "detail"; 040 041 /** Request parameter. */ 042 public static final String PARAM_PAGE = "page"; 043 044 /** Request parameter. */ 045 public static final String PARAM_PROJECT = "project"; 046 047 /** Request parameter. */ 048 public static final String PARAM_SITE = "site"; 049 } 050 051 /** 052 * Quick launcher constants.<p> 053 */ 054 public static final class QuickLaunch { 055 056 /** Context string. */ 057 public static final String CONTEXT_PAGE = "page"; 058 059 /** Context string. */ 060 public static final String CONTEXT_SITEMAP = "sitemap"; 061 062 /** Quick launch id. */ 063 public static final String Q_ACCOUNTMANAGER = "accountmanager"; 064 065 /** Quick launch id. */ 066 public static final String Q_EXPLORER = "explorer"; 067 068 /** Quick launch id. */ 069 public static final String Q_LAUNCHPAD = "launchpad"; 070 071 /** Quick launch id. */ 072 public static final String Q_PAGEEDITOR = "pageeditor"; 073 074 /** Quick launch id. */ 075 public static final String Q_SITEMAP = "sitemap"; 076 077 /** Quick launch id. */ 078 public static final String Q_WORKPLACETOOLS = "workplacetools"; 079 080 } 081 082 public static final class RpcContext { 083 084 public static final String PAGE_ID = "pageId"; 085 } 086 087 /** Context menu action id. */ 088 public static final String ACTION_EDITSMALLELEMENTS = "editsmallelements"; 089 090 /** Context menu action parameter dialog id. */ 091 public static final String ACTION_PARAM_DIALOG_ID = "dialogId"; 092 093 /** Context menu action id. */ 094 public static final String ACTION_SELECTELEMENTVIEW = "selectelementview"; 095 096 /** Context menu action id. */ 097 public static final String ACTION_SHOWLOCALE = "showlocale"; 098 099 /** Context menu action id. */ 100 public static final String ACTION_TEMPLATECONTEXTS = "templatecontexts"; 101 102 /** Context menu action id. */ 103 public static final String ACTION_TEMPLATECONTEXTS_ADVANCED = "templatecontexts_advanced"; 104 105 /** Context menu action id. */ 106 public static final String ACTION_VIEW_ONLINE = "viewonline"; 107 108 /** Attribute for container id. */ 109 public static final String ATTR_CONTAINER_ID = "ATTR_CONTAINER_ID"; 110 111 /** JS property for accessing content editor locale from nested iframes. */ 112 public static final String ATTR_CONTENT_EDITOR_LOCALE = "cmsContentEditorLocale"; 113 114 /** Collector data attribute name. */ 115 public static final String ATTR_DATA_COLLECTOR = "data-oc-collector"; 116 117 /** Container data attribute name. */ 118 public static final String ATTR_DATA_CONTAINER = "data-oc-container"; 119 120 /** Editable data attribute name. */ 121 public static final String ATTR_DATA_EDITABLE = "data-oc-editable"; 122 123 /** Element data attribute name. */ 124 public static final String ATTR_DATA_ELEMENT = "data-oc-element"; 125 126 /** Content field data attribute name. */ 127 public static final String ATTR_DATA_FIELD = "data-oc-field"; 128 129 /** Entity id data attribute name. */ 130 public static final String ATTR_DATA_ID = "data-oc-id"; 131 132 /** Name for the attribute used to store list-add metadata. */ 133 public static final String ATTR_DATA_LISTADD = "data-oc-listadd"; 134 135 /** Marker attribute for dead links. */ 136 public static final String ATTR_DEAD_LINK_MARKER = "data-oc-broken-link"; 137 138 /** Key for the element id attribute. */ 139 public static final String ATTR_ELEMENT_ID = "ATTR_ELEMENT_ID"; 140 141 public static final String ATTR_EXTENSIONS = "ext"; 142 143 /** Element data to enable / disable the favorite button. */ 144 public static final String ATTR_FAVORITE = "fav"; 145 146 /** Key for the page root path attribute. */ 147 public static final String ATTR_PAGE_ROOT_PATH = "ATTR_PAGE_ROOT_PATH"; 148 149 /** Data URL for 'broken image' image. */ 150 public static final String BROKEN_IMAGE = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjE3MCIgdmlld0JveD0iMCAwIDIwMCAxNzAiPgo8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iMCIgeDI9IjAiIHkxPSIwIiB5Mj0iMSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RkZCIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2Y4ZjhmOCIvPjwvbGluZWFyR3JhZGllbnQ+CjxsaW5lYXJHcmFkaWVudCBpZD0iYiIgeDE9IjAiIHgyPSIwIiB5MT0iMCIgeTI9IjEiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiM5OTkiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkZGQiLz48L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+CjxyZWN0IGZpbGw9InVybCgjYSkiIHdpZHRoPSIyMDAiIGhlaWdodD0iMTcwIiByeT0iMCIvPgo8cGF0aCBmaWxsPSJ1cmwoI2IpIiBkPSJNNDIuMyAzNS41YTEuNiAxLjYgMCAwIDAtMS42IDEuN3YzaC04LjJjLTEuNSAwLTIuNiAxLTIuNiAyLjNWMTI0YzAgMS41IDEuMSAyLjQgMi42IDIuNEg5NmwuNC0xMS40YTMyLjEgMzIuMSAwIDAgMS0zMS4zLTMyIDMyLjEgMzIuMSAwIDAgMSAzMC41LTMybC00LjgtMTEuMi0zMS4zLjN2LTIuOWMwLTEtLjgtMS42LTEuNi0xLjZINDJabTY0IDUgMS4zIDEyYTMyLjEgMzIuMSAwIDAgMSAyMiAzMC41IDMyLjEgMzIuMSAwIDAgMS0yOSAzMS42TDk3IDEyNi4ybDYwLjQgOC4zYzEuMy4yIDIuNi0uOCAyLjctMmwxMC04MC44Yy4xLTEuNS0uOC0yLjYtMi4xLTIuN2wtNjEuNy04Ljd6bS02NS44IDQuOGgxOC42YzEuMyAwIDIuMyAxIDIuMyAyLjJ2N2MwIDEuMi0xIDIuMi0yLjMgMi4ySDQwLjVjLTEuMyAwLTIuMi0xLTIuMi0yLjN2LTYuOWMwLTEuMSAxLTIuMiAyLjItMi4yek05Ny43IDYxYTIyLjIgMjIuMiAwIDAgMC0xLjYgMGw3LjcgMTYuNy0xMi42IDE1LjYgNi44IDEyYTIyLjIgMjIuMiAwIDAgMCAyMi0yMi4yQTIyLjIgMjIuMiAwIDAgMCA5Ny43IDYxWm0tMTQgNS4xYTIyLjIgMjIuMiAwIDAgMC04IDE3IDIyLjIgMjIuMiAwIDAgMCAxNi44IDIxLjZsLTYuOS0xMC4yTDk1IDc3LjcgODMuNyA2NloiLz4KPC9zdmc+"; 151 152 /** Name of the Javascript callback used to handle property changes triggered from the locale compare view. */ 153 public static final String CALLBACK_HANDLE_CHANGED_PROPERTIES = "cmsHandleChangedProperties"; 154 155 /** Javascript function name for showing the locale compare view. */ 156 public static final String CALLBACK_REFRESH_LOCALE_COMPARISON = "cmsRefreshLocaleComparison"; 157 158 /** The CSS class name used for the DOM elements containing collector information. */ 159 public static final String CLASS_COLLECTOR_INFO = "oc-collector-info"; 160 161 /** CSS class for containers inflated due to an element dragged into them that is of lower height than the empty container HTML. */ 162 public static final String CLASS_CONTAINER_INFLATED = "oc-container-inflated"; 163 164 /** CSS class for elements in detail containers which are used to transfer their settings to the detail eleemnt. */ 165 public static final String CLASS_DETAIL_PREVIEW = "oc-detail-preview"; 166 167 /** The CSS class name for data elements which precede the direct editable elements. */ 168 public static final String CLASS_EDITABLE = "oc-editable"; 169 170 /** The CSS class name for elements which end the direct editable elements. */ 171 public static final String CLASS_EDITABLE_END = CLASS_EDITABLE + "-end"; 172 173 /** The CSS class name for elements which mark elements to be skipped during direct edit. */ 174 public static final String CLASS_EDITABLE_SKIP = CLASS_EDITABLE + "-skip"; 175 176 /** Class for dnd placeholders which are too big. */ 177 public static final String CLASS_PLACEHOLDER_TOO_BIG = "oc-placeholder-too-big"; 178 179 /** Name for configuration setting to limit collector results while computing publish lists for collectors. */ 180 public static final String COLLECTOR_PUBLISH_LIST_LIMIT = "collectorPublishListLimit"; 181 182 /** The context type sitemap toolbar. */ 183 public static final String CONTEXT_TYPE_APP_TOOLBAR = "appToolbar"; 184 185 /** The context type containerpage toolbar. */ 186 public static final String CONTEXT_TYPE_CONTAINERPAGE_TOOLBAR = "containerpageToolbar"; 187 188 /** The context type file table. */ 189 public static final String CONTEXT_TYPE_FILE_TABLE = "fileTable"; 190 191 /** The context type sitemap toolbar. */ 192 public static final String CONTEXT_TYPE_SITEMAP_TOOLBAR = "sitemapToolbar"; 193 194 /** Special 'type' name (that isn't actually a type) used to mark default detail pages in the sitemap configuration. */ 195 public static final String DEFAULT_DETAILPAGE_TYPE = "##DEFAULT##"; 196 197 public static final String EDITOR_PAGE_ID = "pageId"; 198 199 /** A HTML comment that will cause the container page editor to reload the page if it is contained in HTML which is reloaded after the element or its settings have been edited. */ 200 public static final String FORMATTER_RELOAD_MARKER = "<!--FORMATTER_RELOAD_g3jf9o0n-->"; 201 202 /** Separator for separating the main part of a formatter key from the sub-key (the part in front of the separator will be used as a key if there is no formatter for the full key). */ 203 public static final String FORMATTER_SUBKEY_SEPARATOR = "#"; 204 205 /** Sub-path for the page unlock service. */ 206 public static final String HANDLER_UNLOCK_PAGE = "/unlockPage"; 207 208 /** Sub-path for the session update handler. */ 209 public static final String HANDLER_UPDATE_SESSION = "/updateSession"; 210 211 /** The settings widget name for hidden entries. */ 212 public static final String HIDDEN_SETTINGS_WIDGET_NAME = "hidden"; 213 214 /** Element id for locale comparison view. */ 215 public static final String ID_LOCALE_COMPARISON = "cmsLocaleComparison"; 216 217 /** Id of the element ussed to display the sitemap header from Vaadin code. */ 218 public static final String ID_LOCALE_HEADER_CONTAINER = "locale-header-container"; 219 220 /** Json field name for typograf locale passed to input widget. */ 221 public static final String JSON_INPUT_LOCALE = "locale"; 222 223 /** Json field name for enabling typograf, passed to input widget. */ 224 public static final String JSON_INPUT_TYPOGRAF = "typograf"; 225 226 /** Field name for the internal textarea configuration. */ 227 public static final String JSON_TEXTAREA_CONFIG = "config"; 228 229 /** Field name for the internal textarea configuration. */ 230 public static final String JSON_TEXTAREA_LOCALE = "locale"; 231 232 /** 233 * Session storage key for memorizing the last opened container page. 234 */ 235 public static final String LAST_CONTAINER_PAGE_ID = "lastContainerPageId"; 236 237 /** Name of the Javascript callback used to open the locale comparison view. */ 238 public static final String LOCALECOMPARE_EDIT_PROPERTIES = "cmsLocaleCompareEditProperties"; 239 240 /** The maximum DND placeholder height. */ 241 public static final int MAX_PLACEHOLDER_HEIGHT = 300; 242 243 /** Name of the meta tag used to set the editor stylesheet. */ 244 public static final String META_EDITOR_STYLESHEET = "cms-editor-stylesheet"; 245 246 /** Parameter to pass detail id to page editor context menu actions. */ 247 public static final String PARAM_ADE_DETAIL_ID = "adeDetailId"; 248 249 /** Parameter for the button left position. */ 250 public static final String PARAM_BUTTON_LEFT = "__buttonLeft"; 251 252 /** Parameter to disable direct edit. */ 253 public static final String PARAM_DISABLE_DIRECT_EDIT = "__disableDirectEdit"; 254 255 /** Name of the request parameter used to store the redirect target after login. */ 256 public static final String PARAM_LOGIN_REDIRECT = "loginRedirect"; 257 258 /** Parameter to force a specific template context. */ 259 public static final String PARAM_TEMPLATE_CONTEXT = "__templateContext"; 260 261 /** Marker for the 'prefill' context menu action. */ 262 public static final String PREFILL_MENU_PLACEHOLDER = "PREFILL_MENU_PLACEHOLDER"; 263 264 /** Name of property containing focal point for images. */ 265 public static final String PROPERTY_IMAGE_FOCALPOINT = "image.focalpoint"; 266 267 /** Tab id for the preference dialog. */ 268 public static final String TAB_BASIC = "basic"; 269 270 /** Tab id for the preference dialog. */ 271 public static final String TAB_EXTENDED = "extended"; 272 273 /** Tab id for the preference dialog. */ 274 public static final String TAB_HIDDEN = "hidden"; 275 276 /** Tag name for the edit button bars injected into the page HTML in the container page editor. */ 277 public static final String TAG_OC_EDITPOINT = "oc-editpoint"; 278 279 /** Custom tag for elements which were hidden because of mismatching device constraint. */ 280 public static final String TAG_OC_HIDDEN_ELEMENT = "oc-hidden-element"; 281 282 /** Tag name for the list-add metadata injected into the page. */ 283 public static final String TAG_OC_LISTADD = "oc-listadd"; 284 285 /** Action placeholder for the template contexts menu option. */ 286 public static final String TEMPLATECONTEXT_MENU_PLACEHOLDER = "templatecontexts"; 287 288 /** Type name for container pages. */ 289 public static final String TYPE_CONTAINERPAGE = "containerpage"; 290 291 /** The resource icon CSS class prefix. */ 292 public static final String TYPE_ICON_CLASS = "cms_type_icon"; 293 294 /** The image resource type name. */ 295 public static final String TYPE_IMAGE = "image"; 296 297 /** Name for the pseudo-type 'modelgroup'. */ 298 public static final String TYPE_MODELGROUP = "modelgroup"; 299 300 /** Name for the pseudo-type 'modelgroupreuse'. */ 301 public static final String TYPE_MODELGROUP_COPY = "modelgroupcopy"; 302 303 /** Name for the pseudo-type 'modelgrouppage'. */ 304 public static final String TYPE_MODELGROUP_PAGE = "modelgrouppage"; 305 306 /** Name for the type 'modelpage'. */ 307 public static final String TYPE_MODELPAGE = "modelpage"; 308 309 /** Name for the pseudo-type 'navlevel'. */ 310 public static final String TYPE_NAVLEVEL = "navlevel"; 311 312 /** Part of the URL used to unlock files. */ 313 public static final String UNLOCK_FILE_PREFIX = "/unlockFile/"; 314 315 /** Name of Javascript variable used to hold the structure id of the currently selected locale's root folder in the sitemap editor's locale comparison mode. */ 316 public static final String VAR_LOCALE_ROOT = "cmsLocaleCompareRoot"; 317 318 /** 319 * Hide constructor.<p> 320 */ 321 private CmsGwtConstants() { 322 323 // nop 324 325 } 326 327 /** 328 * Maximum DND placeholder height, as a string for stylesheets. 329 * 330 * @return the maximum DND placeholder height as a string 331 */ 332 public static String getPlaceholderMaxHeight() { 333 334 return MAX_PLACEHOLDER_HEIGHT + "px"; 335 } 336}