001/*
002 * (C) Copyright 2006-2007 Nuxeo SA (http://nuxeo.com/) and others.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 *     http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 *
016 * Contributors:
017 *     <a href="mailto:at@nuxeo.com">Anahide Tchertchian</a>
018 *
019 * $Id: RenderVariables.java 26053 2007-10-16 01:45:43Z atchertchian $
020 */
021
022package org.nuxeo.ecm.platform.forms.layout.facelets;
023
024/**
025 * List of render variables.
026 * <p>
027 * Variables which names will be available in a layout/widget rendering context.
028 * <p>
029 * This allows to use them in properties definitions.
030 *
031 * @author <a href="mailto:at@nuxeo.com">Anahide Tchertchian</a>
032 */
033public class RenderVariables {
034
035    public enum globalVariables {
036        value,
037        // deprecate document: not exposed anymore
038        @Deprecated
039        document,
040        //
041        layoutValue, mode, layoutMode
042    }
043
044    public enum layoutVariables {
045        layout, layoutProperty
046    }
047
048    public enum rowVariables {
049        layoutRow, layoutRowIndex
050    }
051
052    public enum columnVariables {
053        layoutColumn, layoutColumnIndex,
054    }
055
056    public enum widgetVariables {
057        //
058        widget,
059        //
060        widgetIndex,
061        //
062        field,
063        //
064        widgetProperty,
065        // @since 5.8
066        widgetProperties,
067        // @since 5.7
068        widgetControl,
069        //
070        fieldOrValue,
071    }
072
073    /**
074     * @since 6.0
075     */
076    public enum widgetTemplatingZones {
077        // @since 6.0, templating zone for inputs, useful for ajax
078        // interactions propagated from template (typically a f:ajax element)
079        inside_input_widget,
080    }
081
082}