/**
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/
package com.liferay.dynamic.data.mapping.type.grid.internal;
import com.liferay.dynamic.data.mapping.annotations.DDMForm;
import com.liferay.dynamic.data.mapping.annotations.DDMFormField;
import com.liferay.dynamic.data.mapping.annotations.DDMFormLayout;
import com.liferay.dynamic.data.mapping.annotations.DDMFormLayoutColumn;
import com.liferay.dynamic.data.mapping.annotations.DDMFormLayoutPage;
import com.liferay.dynamic.data.mapping.annotations.DDMFormLayoutRow;
import com.liferay.dynamic.data.mapping.annotations.DDMFormRule;
import com.liferay.dynamic.data.mapping.form.field.type.DefaultDDMFormFieldTypeSettings;
import com.liferay.dynamic.data.mapping.model.DDMFormFieldOptions;
import com.liferay.dynamic.data.mapping.model.DDMFormFieldValidation;
import com.liferay.dynamic.data.mapping.model.LocalizedValue;
/**
* @author Pedro Queiroz
*/
@DDMForm(
rules = {
@DDMFormRule(
actions = {
"setVisible('predefinedValue', false)",
"setVisible('repeatable', false)",
"setVisible('repeatable', false)",
"setVisible('validation', false)"
},
condition = "TRUE"
)
}
)
@DDMFormLayout(
paginationMode = com.liferay.dynamic.data.mapping.model.DDMFormLayout.TABBED_MODE,
value = {
@DDMFormLayoutPage(
title = "basic",
value = {
@DDMFormLayoutRow(
{
@DDMFormLayoutColumn(
size = 12,
value = {
"label", "tip", "required", "predefinedValue",
"rows", "columns"
}
)
}
)
}
),
@DDMFormLayoutPage(
title = "properties",
value = {
@DDMFormLayoutRow(
{
@DDMFormLayoutColumn(
size = 12,
value = {
"visibilityExpression", "showLabel",
"repeatable", "fieldNamespace", "indexType",
"localizable", "readOnly", "dataType", "type",
"name", "validation"
}
)
}
)
}
)
}
)
public interface GridDDMFormFieldTypeSettings
extends DefaultDDMFormFieldTypeSettings {
@DDMFormField(
dataType = "ddm-options", label = "%columns", required = true,
type = "options"
)
public DDMFormFieldOptions columns();
@DDMFormField
@Override
public LocalizedValue predefinedValue();
@DDMFormField
@Override
public boolean repeatable();
@DDMFormField(
dataType = "ddm-options", label = "%rows", required = true,
type = "options"
)
public DDMFormFieldOptions rows();
@DDMFormField
@Override
public DDMFormFieldValidation validation();
}