Fields
Minimal example
Traditional Syntax
include ForestAdmin::Types
@create_agent.customize_collection('user') do |collection|
collection.add_field(
'fullName',
ComputedDefinition.new(
column_type: 'String',
dependencies: ['firstName', 'lastName'],
values: proc { |records| records.map { |record| "#{record['firstName']} #{record['lastName']}" } }
)
)
# Make it writable
.replace_field_writing('fullName') do |value, context|
firstName, lastName = value.split(' ')
{ firstName: firstName, lastName: lastName }
end
# Add validators
.add_field_validation('fullName', Operators::PRESENT)
.add_field_validation('fullName', Operators::SHORTER_THAN, 30)
.add_field_validation('fullName', Operators::LONGER_THAN, 2)
# Make it filterable and sortable
.emulate_field_filtering('fullName')
.emulate_field_sorting('fullName')
# Remove previous fields
.remove_field('firstName', 'lastName')
endDSL Syntax
Last updated