Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
# ++++++++++++++++++ INTERNATIONALIZATION ++++++++++++++++++++++++++++++++++++++++++
fh.core.dialog.button.close=Close
fh.docs.welcome.info=Welcome to FH
fh.docs.table.cell=Cell:
fh.docs.table.example=Example with i18n messages used within cells of Column 'Dynamic text + i18n message'
fh.docs.table.example.no=No.
fh.docs.table.example.dynamic_text_i18n_message=Dynamic text + i18n message
fh.docs.table.example.binding = Simple example of combining i18n messages inside components as binding
fh.docs.model.example.panel=Simple example of combining i18n messages and model binding
fh.docs.model.example.binding=Sample model binding
fh.docs.i18n.example.enums=Internationalization of enums
fh.docs.i18n.example.enums.desc=Enum values displayed as text (e.g. in OutputLabel, SelectOneMenu, Table) are automatically translated if proper i18n messages are available. Message is searched in all bundles using key constructed from "enum" prefix, enum's class name (canonical or simple) and enum value name, e.g. enum.pl.fhframework.enums.SimpleEnum.VALUE or enum.SimpleEnum.VALUE.
fh.docs.i18n.example.enums.selectOneMenu=Example translated enum values
fh.docs.validation.example.panel=Simple example of creating custom validation messages with i18n support
fh.docs.validation.example.btn=Report validation error
fh.docs.validation.example.msg=Custom message.
fh.docs.validation.example.msgWithParam=Custom message and argument {0}.
fh.docs.i18n_project_can_use_spring_internationalization=Project can use Spring Internationalization (I18n) mechanism in fh. First developer should defined MessageSource beans (one or many) in some configuration and *.properties files. After that, FH will be able to handle specific binding used within XML forms or binding. This specific binding may look like this:
fh.docs.i18n_if_developer_wants_to_use_global_message_binding=If developer wants to use global message binding
fh.docs.i18n_fh_will_search_every_messagesource_to_find=Fh will search every MessageSource to find first occurrence of binded key. If key is not found, FH will throw an error.
fh.docs.i18n_if_developer_wants_to_use_specific_message_binding=If developer wants to use specific message binding
fh.docs.i18n_fh_will_search_for_messagesource_under=Fh will search for MessageSource under
fh.docs.i18n_named_to_find_first_occurrence_of_binded_key=named to find first occurrence of binded key. If key is not found, FH will throw an error.
fh.docs.i18n_code_example_looks_like_this=Code example looks like this:
fh.docs.i18n_change_language=Change language
fh.docs.i18n_there_is_java_way_for_developer_to_use_model_binding=There is Java way for developer to use model binding and custom messages from properties. In Java class, developer can inject service called pl.fhframework.core.i18n.MessageService, and use them as he wishes. More technical details will be in javadoc of that service.
fh.docs.i18n_fh_also_supports_custom_validation_messages_using_message=FH also supports custom validation messages using message properties. In UseCase service, developer can call few methods responsible for that. More on validation can be found in Validation section within Documentation -> Fh concepts. Except simple custom message, FH supports message with parameters, but ONLY on Java side (at least for now).
fh.docs.i18n_code_example_on_java_side=Code example on Java side
fh.docs.i18n_fh_messages_with_simple_dialog=Fh messages with simple dialog
fh.docs.i18n_fh_dialogs_works_with_messages_based=Fh dialogs works with messages based on predefined keys. Same examples of core keys are
fh.docs.i18n_display_dialog=Display dialog
enum.ExampleI18nEnum.ONE=One
enum.ExampleI18nEnum.TWO=Two
enum.ExampleI18nEnum.THREE=Three
# ++++++++++++++++++++++++++++ LEFT MENU DOCUMENTATION ++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.menudocumentation_documentation=Documentation
fh.docs.menudocumentation_change_log=Change log
fh.docs.menudocumentation_building_fh=Building Fh
fh.docs.menudocumentation_running_fh=Running Fh
fh.docs.menudocumentation_form_components=Form components
fh.docs.menudocumentation_working_with_forms=Working with Forms
fh.docs.menudocumentation_keyboard_events=Keyboard events
fh.docs.menudocumentation_core_security=Core security
fh.docs.menudocumentation_fh_concepts=Fh concepts
fh.docs.menudocumentation_type_conversion=Type conversion
fh.docs.menudocumentation_periodic_jobs=Periodic jobs
fh.docs.menudocumentation_dynamic_model=Dynamic model
fh.docs.menudocumentation_dynamic_content=Dynamic content
fh.docs.menudocumentation_validation=Validation
fh.docs.menudocumentation_availability_configuration=Availability Configuration
fh.docs.menudocumentation_fh_markup_language=FH Markup Language
fh.docs.menudocumentation_application_modes=Application modes
fh.docs.menudocumentation_urls_to_use_cases=URLs to use cases
fh.docs.menudocumentation_external_return_to_fh=External return to FH
fh.docs.menudocumentation_fh_exceptions=FH Exceptions
fh.docs.menudocumentation_application_cache=Application Cache
fh.docs.menudocumentation_internationalization=Internationalization
fh.docs.menudocumentation_appmenu=Application Menu
fh.docs.menudocumentation_fh_composites=FH composites
fh.docs.menudocumentation_picklist=PickList
fh.docs.menudocumentation_searchlist=SearchList
fh.docs.menudocumentation_fh_events=FH events
fh.docs.menudocumentation_file_download_event=File download event
fh.docs.menudocumentation_focus_event=Focus event
fh.docs.menudocumentation_scroll_event=Scroll event
fh.docs.menudocumentation_notification_event=Notification event
fh.docs.menudocumentation_redirect_event=Redirect event
fh.docs.menudocumentation_redirect_home_event=Redirect home event
fh.docs.menudocumentation_custom_action_event=Custom action event
# ++++++++++++++++++GENERAL ++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.examples=Examples
fh.docs.component.back=Back
fh.docs.component.code=Code
fh.docs.component.java=Java
fh.docs.service.save=Save
fh.docs.service.close=Close
fh.docs.component.documentation=Documentation
# {$.fh.docs.component.back}
# {$.fh.docs.component.examples}
# {$.fh.docs.component.code}
# {$.fh.docs.component.java}
# +++++++++++ ARRIBUTES+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.attributes=Attributes
fh.docs.component.attributes_identifier=Identifier
fh.docs.component.attributes_type=Type
fh.docs.component.attributes_boundable=Boundable
fh.docs.component.attributes_default_value=Default value
fh.docs.component.attributes_description=Description
# {$.fh.docs.component.attributes}
# {$.fh.docs.component.attributes_identifier}
# {$.fh.docs.component.attributes_type}
# {$.fh.docs.component.attributes_boundable}
# {$.fh.docs.component.attributes_default_value}
# {$.fh.docs.component.attributes_description}
# ++++++++++ ANCHOR ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.anchor.automatic=Anchor with automatic scroll event
fh.docs.component.anchor.programatic=Anchor with programatic scroll event
fh.docs.component.anchor.programatic_inside=Anchor inside scrollable container
fh.docs.component.anchor.programatic.scrol_down=Press button to scroll page to Anchor.
fh.docs.component.anchor.programatic.scrol_down_inside=Press button to scroll container to Anchor.
fh.docs.component.anchor.fill_container=Filler container
# ++++++++++ ACCORDION ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.accordion.simple=Simple accordion
fh.docs.component.accordion_with_activegroup_attribute=Accordion with activeGroup attribute.
fh.docs.component.accordion_with_bound_activegroup_attribute=Accordion with bound activeGroup attribute.
fh.docs.component.accordion_group_one=Group one
fh.docs.component.accordion_group_two=Group two
fh.docs.component.accordion_group_three=Group three
fh.docs.component.accordion_active_group_index = Active group index
# ++++++++++ PANEL GROUP WRAPPER ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.panelgroupwrapper.simple=Simple PanelGroup Wrapper
fh.docs.component.panelgroupwrapper_with_activegroup_attribute=PanelGroup Wrapper with activeGroup attribute.
fh.docs.component.panelgroupwrapper_with_bound_activegroup_attribute=PanelGroup Wrapper with bound activeGroup attribute.
fh.docs.component.panelgroupwrapper_group_one=Group one
fh.docs.component.panelgroupwrapper_group_two=Group two
fh.docs.component.panelgroupwrapper_group_three=Group three
fh.docs.component.panelgroupwrapper_active_group_index = Active group index
# ++++++++++++++++ BARCHART ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.barchart_default_size_and_colors=Chart with default size and colors.
fh.docs.component.barchart_six_default_colors_for_first_data_series=There are six default colors for first data series [color='#f00']#f00[/color], [color='#0f0']#0f0[/color], [color='#00f']#00f[/color], [color='#ff0']#ff0[/color], [color='#f0f']#f0f[/color], [color='#0ff']#0ff[/color]. Default size is "md-12".
fh.docs.component.barchart_custom_size=Chart with custom size.
fh.docs.component.barchart_custom_colors=Chart with custom colors.
fh.docs.component.barchart_with_additional_linear_series=Chart with additional linear series
fh.docs.component.barchart_link = Check possible HTML color names here
fh.docs.component.barchart_define_custom_colors_for_data_series=It is possible to define color of each data series. Use "colors" . Attribute to define custom colors for data series.
fh.docs.component.barchart_with_stacked_data=Chart with stacked data.
fh.docs.component.barchart_display_stacked_data_series=To display stacked data series set attribute "stacked"="true".
fh.docs.component.barchart_stacked=Stacked
fh.docs.component.barchart_with_dynamic_data=BarChart with dynamic data.
fh.docs.component.barchart_add_user=Add employee
fh.docs.component.barchart_with_bound_attributes=Chart with bound attributes.
fh.docs.component.barchart_chart_title=Chart title
fh.docs.component.barchart_x_axis_label=X Axis Label
fh.docs.component.barchart_y_axis_label=Y Axis Label
fh.docs.component.barchart_y_axis_min_value=Y Axis Min Value
fh.docs.component.barchart_y_axis_max_value=Y Axis Max Value
fh.docs.component.barchart_data_from_table_displayed = Data from table displayed in BarChart
fh.docs.component.barchart_company_employees_per_year=Company employees per year
fh.docs.component.barchart_year=Year
fh.docs.component.barchart_position=Position
fh.docs.component.barchart_number_of_employees=Number of Employees
fh.docs.component.barchart_employees=Employees
fh.docs.component.barchart_inline_data=For better prototyping (not for production) inline data binding for data series may be used. Special rule 'csvChartSeries' produces ChartSeries object list based on provided text CSV-like values. Input data should contain semicolon separated X axis values, semicolon separated series names and series values as CSV-like where values are separated with semicolon and series separated with pipe | character.
fh.docs.component.barchart_inline_data_header=Chart with inline data binding
fh.docs.component.barchart_inline_title=Prototyping with inline data
# ++++++++++++++++++++++++++++++++ Button ++++++++++++++++++++++++++++++++++++++
fh.docs.component.button_description = Button which represents HTML input
fh.docs.component.button_with_simple_usage=Button with simple usage
fh.docs.component.button_simple_button = Simple Button
fh.docs.component.button_with_specified_height = Button with specified height
fh.docs.component.button_small_button = Small Button
fh.docs.component.button_large_button = Large Button
fh.docs.component.button_with_bound_label=Button with bound label
fh.docs.component.button_with_bootstrap_align_parameter=Button with bootstrap align parameter
fh.docs.component.button_with_size_parameter = Button with size parameter
fh.docs.component.button_right_button=Right Button
fh.docs.component.button_left_button=Left Button
fh.docs.component.button_center_button=Center Button
fh.docs.component.button_with_onclick_event=Button with onClick event
fh.docs.component.button_clicked=Click Button
fh.docs.component.button_clicked_label = Button clicked
fh.docs.component.button_clicked_times = times
fh.docs.component.button_with_multiple_size=Button with multiple size
fh.docs.component.button_multi_size=Button multi size
fh.docs.component.button_with_bootstrap_styles=Buttons with Bootstrap styles
fh.docs.component.button_can_have_6_bootstrap_styles=Button can have 6 bootstrap styles. If no style is defined, "primary" style will be used.
fh.docs.component.button_without_defined_style=Button without defined style
fh.docs.component.button_default=Default
fh.docs.component.button_primary=Primary
fh.docs.component.button_success=Success
fh.docs.component.button_info=Info
fh.docs.component.button_warning=Warning
fh.docs.component.button_danger=Danger
fh.docs.component.button_with_bound_styles=Buttons with bound styles
fh.docs.component.button_button_1=Button 1
fh.docs.component.button_button_2=Button 2
fh.docs.component.button_reset_style = Reset style
fh.docs.component.button_selected_style = Selected style is:
fh.docs.component.button_with_confirm_msg=Button with confirmation message dialog
fh.docs.component.button_confirmLabel=Button with confirm
fh.docs.component.button_confirmMsg=Are you sure you want to proceed?
# ++++++++++++++++++++++++++++ ButtonGroup++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.buttongroup_simple_buttongroup=Simple ButtonGroup
fh.docs.component.buttongroup_btn_1=BTN 1
fh.docs.component.buttongroup_btn_2=BTN 2
fh.docs.component.buttongroup_btn_3=BTN 3
fh.docs.component.buttongroup_with_onchange_event_bound_to_another_buttongroup=ButtonGroup with onChange event bound to another ButtonGroup
fh.docs.component.buttongroup_btn_2_1=BTN 2_1
fh.docs.component.buttongroup_btn_2_2=BTN 2_2
fh.docs.component.buttongroup_btn_2_3=BTN 2_3
fh.docs.component.buttongroup_btn_3_1=BTN 3_1
fh.docs.component.buttongroup_btn_3_2=BTN 3_2
fh.docs.component.buttongroup_btn_3_3=BTN 3_3
fh.docs.component.buttongroup_active_group_index = Active group index
fh.docs.component.buttongroup_focus=ButtonGroup Focus
fh.docs.component.buttongroup_1=1
fh.docs.component.buttongroup_2=2
fh.docs.component.buttongroup_3=3
fh.docs.component.buttongroup_4=4
fh.docs.component.buttongroup_5=5
fh.docs.component.buttongroup_6=6
fh.docs.component.buttongroup_7=7
fh.docs.component.buttongroup_8=8
fh.docs.component.buttongroup_group_with_predefined_activebutton=Group with predefined activeButton
fh.docs.component.buttongroup_group_with_multi_size_defined_for_different_displays=Group with multi size defined for different displays
fh.docs.component.buttongroup_group_with_margin=Group with margin
# ++++++++++++++++++++++++++++ CALENDAR +++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.calendar_simple_data=Simple data
fh.docs.component.calendar_actions=Actions
fh.docs.component.calendar_with_predefined_values=Calendar with predefined values
fh.docs.component.calendar_schedule_of_random_events=Schedule of random events
fh.docs.component.calendar_with_predefined_values_for_allowed_date=Calendar with predefined values for allowed date range and blocked date
fh.docs.component.calendar_month_and_year_menu_selection=Calendar month and year menu selection
fh.docs.component.calendar_simple_binding_and_collections=Simple binding and collections
fh.docs.component.calendar_with_simple_collection=Calendar with simple collection
fh.docs.component.calendar_with_holidays_and_weekends=Calendar with holidays and weekends
fh.docs.component.calendar_multi_collections=Multi collections
fh.docs.component.calendar_with_advanced_biding=Calendar with advanced biding (with MultiValueMap as binding)
fh.docs.component.calendar_schedule_of_game_events=Schedule of game events
fh.docs.component.calendar_onchange_action=Calendar onChange action
fh.docs.component.calendar_schedule_of_sport_events=Schedule of sport events
fh.docs.component.calendar_binded_schedule_of_sport_events=Binded schedule of sport events
fh.docs.component.calendar_with_multi_sizes=Calendar with multi sizes
fh.docs.component.calendar_schedule_of_music_events = Schedule of music events
# ++++++++++++++++++++++++++++ Checkbox +++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.checkbox_with_label=CheckBox with label
fh.docs.component.checkbox_to_be_or_not_to_be=To be or not to be?
fh.docs.component.checkbox_with_label_and_hint=CheckBox with label and hint
fh.docs.component.checkbox_hover_over_me = Hover over Checkbox
fh.docs.component.checkbox_with_specified_height=CheckBox with specified height
fh.docs.component.checkbox_lorem_ipsum_dolor=Lorem ipsum dolor sit amet libero ac arcu nunc eget dolor massa ut quam quis nisl. Cras eu mauris. Nullam aliquet. Morbi eget sem. Quisque lorem tortor justo nibh malesuada fames ac turpis vitae lorem sapien, non dui. Aliquam erat lacus, suscipit ultricies, hendrerit magna lectus, eu aliquam tellus non risus. Morbi tellus felis augue nec augue. Vestibulum convallis posuere. Quisque pellentesque quis, tincidunt in, vulputate risus dictum aliquet ipsum. Vestibulum dignissim turpis. Sed pellentesque quis, massa. Nulla quis nisl. Curabitur fringilla ante ipsum ac ligula. Vivamus arcu elit, consequat faucibus, diam mollis vel, tortor. Nulla facilisi. Nullam sit amet.
fh.docs.component.checkbox_with_bootstrap_layout=CheckBox with bootstrap layout
fh.docs.component.checkbox_are_you_sure=Are you sure?
fh.docs.component.checkbox_are_you_really_sure=Are you really sure?
fh.docs.component.checkbox_with_required_value=CheckBox with required value
fh.docs.component.checkbox_this_text_will_be_red_when_is_not_checked=This text will be red when is not checked
fh.docs.component.checkbox_with_onchange_event=CheckBox with onChange event
fh.docs.component.checkbox_above_checkbox_is_selected=Above checkbox is selected
fh.docs.component.checkbox_this_checkbox_is_bound_to_below_label=This CheckBox is bound to below label
fh.docs.component.checkbox_with_onchange_event_bound_to_another_checkbox=CheckBox with onChange event bound to another CheckBox
fh.docs.component.checkbox_this_checkbox_is_bound_to_below_checkbox=This CheckBox is bound to below CheckBox
fh.docs.component.checkbox_above_is_checked=Above is checked
fh.docs.component.checkbox_with_multiple_sizes_for_different_displays=Checkbox with multiple sizes for different displays
fh.docs.component.checkbox_with_multiple_sizes=Checkbox with multiple sizes
#++++++++++++++++++++++++++++ COLUMN +++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.column_displayed_data=Displayed data
fh.docs.component.column_table_with_simple_usage=Table with simple usage
fh.docs.component.column_company_employees=Company employees
fh.docs.component.column_name=Name
fh.docs.component.column_surname=Surname
fh.docs.component.column_city=City
fh.docs.component.column_gender=Gender
fh.docs.component.column_status=Status
fh.docs.component.column_non_editable_column=Non editable column
fh.docs.component.column_merged_columns=Merged columns
fh.docs.component.column_merged_columns_with_binding=Merged columns with binding
fh.docs.component.column_merged_columns_advanced=Merged columns - advanced
#++++++++++++++++++++++++++++ COMBO +++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.combo_with_static_values=Combo with static values
fh.docs.component.combo_select_user=Select user
fh.docs.component.combo_select_users=Select users
fh.docs.component.combo_with_static_values_and_hint=Combo with static values and hint
fh.docs.component.combo_this_is_example_hint=This is example hint
fh.docs.component.combo_with_static_values_with_collection_as_binding=Combo with static values (with Collection as binding)
fh.docs.component.combo_with_static_values_with_collection_as_binding_and_displayFunction=Combo with static values (with Collection as binding) and display function
fh.docs.component.combo_with_static_values_with_collection_as_binding_and_displayRuleSpel=Combo with static values (with Collection as binding) and display rule SPEL expression
fh.docs.component.combo_with_advanced_biding_with_multivaluemap_as_binding=Combo with advanced biding (with MultiValueMap as binding)
fh.docs.component.combo_with_multiselect=Combo with multi select
fh.docs.component.combo_typed_user_is=Typed user is
fh.docs.component.combo_typed_user_is_2=Typed user is
fh.docs.component.combo_years_old=years old
fh.docs.component.combo_typed_user_was_created_on=Typed user was created on
fh.docs.component.combo_add_user_to_admins=Add random user
fh.docs.component.combo_with_advanced_biding_with_multivaluemap_as_binding_and_preload_attribute=Combo with advanced biding (with MultiValueMap as binding) and PRELOAD=true attribute
fh.docs.component.combo_this_combo_will_show_all_values_even_no_text_is_typed=This combo will show all values even no text is typed
fh.docs.component.combo_with_multi_sizes=Combo with multi sizes
fh.docs.component.combo_with_empty_value=Combo with empty value
fh.docs.component.combo_with_enum=Combo with Enum
fh.docs.component.combo_with_enum_pickColor=Pick a color
fh.docs.component.combo_with_enum_pickColors=Pick colors
fh.docs.component.combo_with_enum_and_multiselect=Combo with Enum and multiselect
# ++++++++++++++++++++++++++++ DROPDOWN +++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.dropdown_simple=Simple Dropdown
fh.docs.component.dropdown_dropdownitem_without_icon=DropdownItem without icon
fh.docs.component.dropdown_dropdownitem_with_icon_before=DropdownItem with icon before
fh.docs.component.dropdown_dropdownitem_with_icon_after=DropdownItem with icon after
fh.docs.component.dropdown_simple_with_hint=Simple Dropdown with hint
fh.docs.component.dropdown_this_is_example_hint=This is example hint
fh.docs.component.dropdown_with_changed_height=Dropdown with changed height
fh.docs.component.dropdown_dropdown=Dropdown
fh.docs.component.dropdown_with_changed_size=Dropdown with changed size.
fh.docs.component.dropdown_alignment=Dropdown alignment
fh.docs.component.dropdown_dropdown_aligned_to_left=Dropdown aligned to left
fh.docs.component.dropdown_left_dropdown=Left Dropdown
fh.docs.component.dropdown_dropdown_aligned_to_right=Dropdown aligned to right
fh.docs.component.dropdown_right_dropdown=Right dropdown
fh.docs.component.dropdown_inside_buttongroup=Dropdown inside ButtonGroup
fh.docs.component.dropdown_button_1=Button 1
fh.docs.component.dropdown_button_2=Button 2
fh.docs.component.dropdown_with_bound_label=Dropdown with bound label.
fh.docs.component.dropdown_with_sizes_for_different_displays=Dropdown with sizes for different displays
fh.docs.component.dropdown_change_width_of_browser_window = Change width of a browser window to see how size of the Dropdown changes for different displays
fh.docs.component.dropdown_with_link=Dropdown with link
fh.docs.component.dropdown_with_bootstrap_style=Dropdown with bootstrap style
# ++++++++++++++++++++++++++++FILE UPLOAD+++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.fileupload_example=FileUpload example
fh.docs.component.fileupload_multiple_example=FileUpload multiple files example
fh.docs.component.fileupload_fileupload_component_must_have_binding_type_of=FileUpload component must have binding type of
fh.docs.component.fileupload_fileupload_multiple_component_must_have_binding_type_of=FileUpload component with multiple files must have binding type of
fh.docs.component.fileupload_or=or
fh.docs.component.fileupload_please_note_that_resource=[b]Please note that Resource is temporary saved in system %TEMP% folder. The resource must be saved before existing from current form or session invalidation.[/b]
fh.docs.component.fileupload_example_with_hidden_file_name=FileUpload example with hidden file name
fh.docs.component.fileupload_example_with_extensions_file=FileUpload example with extensions file
fh.docs.component.fileupload_in_below_example_you_can_upload_only_files_with_xls_and_.xlsx_extensions=In the example below you can upload only files with .xls and .xlsx extensions.
fh.docs.component.fileupload_with_required_attribute=FileUpload with required attribute
fh.docs.component.fileupload_required_label = Uploading a file is required for the element below
fh.docs.component.fileupload_you_have_to_upload_file_here=You have to upload file here
fh.docs.component.fileupload_upload_file=Upload file
fh.docs.component.fileupload_upload_files=Upload files
# ++++++++++++++++++++++++++++ Floating Group +++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.floatinggroup_with_simple_usage=FloatingGroup with simple usage
fh.docs.component.floatinggroup_simple=Simple FloatingGroup
fh.docs.component.floatinggroup_sample_content = This is sample label
fh.docs.component.floatinggroup_with_specified_size_and_height=Group with specified size and height
fh.docs.component.floatinggroup_with_fixed_size=Group with fixed size
fh.docs.component.floatinggroup_with_bootstrap_layout_horizontal=Group with bootstrap layout (horizontal)
fh.docs.component.floatinggroup_center_panelgroup=Center panelGroup
fh.docs.component.floatinggroup_left_panelgroup=Left panelGroup
fh.docs.component.floatinggroup_right_panelgroup=Right panelGroup
fh.docs.component.floatinggroup_with_only_floating_mode=FloatingGroup with only floating mode
fh.docs.component.floatinggroup_with_footer=Group with footer
fh.docs.component.floatinggroup_cancel = Cancel
fh.docs.component.floatinggroup_confirm = Confirm
fh.docs.component.floatinggroup_group_with_binding=FloatingGroup group with binding
fh.docs.component.floatinggroup_group_without_drag=FloatingGroup without drag option.
fh.docs.component.floatinggroup_this_group_is_collapsible=This group is collapsible
fh.docs.component.floatinggroup_this_group_is_not_draggable=This group has draggable option disabled.
# ++++++++++++++++++++++++++++ Group +++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.group_row_with_simple_usage=Group with simple usage
fh.docs.component.group_label_for_the_first_group = Label for the first Group
fh.docs.component.group_label_for_the_second_group = Label for the second Group
fh.docs.component.group_sample_input = Sample input
fh.docs.component.group_group_index = Group index
fh.docs.component.group_row_with_multi_size=Group with multiple size
fh.docs.component.group_label_for_the_group_with_multiple_sizes = Label for the group with multiple sizes
fh.docs.component.group_on_click=Group with action onClick
fh.docs.component.group_label_for_the_group_with_onClick_action = Label for the group with onClick action
fh.docs.component.group_on_click_reminder = Keep in mind that, if group defines some action, components with actions inside that group, will be executed.
fh.docs.component.group_click_any_component = Click any component in this group
fh.docs.component.group_button_will_execute_action = This Button will execute an action, NOT a Group
# ++++++++++++++++++++++++++++ IMAPLITE +++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.imaplite_sample_map_form = Sample IMapLite form
fh.docs.component.imaplite_address_label = Pick an address
fh.docs.component.imaplite_show = Show
# ++++++++++++++++++++++++++++ IMAGE +++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.image_with_simple_usage=Image with simple usage
fh.docs.component.image_with_specified_height=Image with specified height
fh.docs.component.image_with_bootstrap_layout=Image with bootstrap layout
fh.docs.component.image_with_onclick_event=Image with onClick event
fh.docs.component.image_clicked_label = Image clicked
fh.docs.component.image_clicked_times = times
fh.docs.component.image_with_onareaclick_event=Image with onAreaClick event
fh.docs.component.image_with_multi_size=Image with multiple sizes
fh.docs.component.image_with_label=Image with label and labelPosition
# ++++++++++++++++++++++++++++ INCLUDE +++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.include_shipping_details_main_form_with_two_templates=Shipping details (main form with two templates)
fh.docs.component.include_shipping_adress_template_usage=Shipping adress (template usage)
fh.docs.component.include_invoice_address_template_usage=Invoice address (template usage)
fh.docs.component.include_example_by_code=Example by code
fh.docs.component.include_preface=Preface
fh.docs.component.include_template_model_addressmodel=Template model (AddressModel)
fh.docs.component.include_composite_definition_addresscompositeform=Composite definition (AddressCompositeForm)
fh.docs.component.include_template_address_xml=Template (Address.xml)
fh.docs.component.include_template_usage=Template usage
fh.docs.component.include_template_model_creation_and_overriding_some_default_logic=Template model creation and overriding some default logic
# ++++++++++++++++++++++++++++ INPUT DATE +++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.inputdate_with_specified_height=InputDate with specified height
fh.docs.component.inputdate_release_date=Release date
fh.docs.component.inputdate_with_bootstrap_layout=InputDate with bootstrap layout
fh.docs.component.inputdate_expiration_date_from=Expiration date from:
fh.docs.component.inputdate_expiration_date_to=Expiration date to:
fh.docs.component.inputdate_with_predefined_value=InputDate with predefined value
fh.docs.component.inputdate_christmas_time=Christmas time:
fh.docs.component.inputdate_with_predefined_value_and_hint=InputDate with predefined value and hint
fh.docs.component.inputdate_this_is_example_hint=This is example hint
fh.docs.component.inputdate_with_format_attribute_and_bound_to_java_util_date=InputDate with format attribute and bound to java.util.Date object
fh.docs.component.inputdate_this_field_has_yyyy_mm_dd_format=This field has YYYY/MM/DD format:
fh.docs.component.inputdate_with_required_value=InputDate with required value
fh.docs.component.inputdate_this_field_is_required=This field is required:
fh.docs.component.inputdate_with_onchange_event= InputDate with onChange event
fh.docs.component.inputdate_this_date_is_bound_to_below_date=This date is bound to below date:
fh.docs.component.inputdate_this_is_the_same_date_as_above=This is the same date as above:
fh.docs.component.inputdate_with_multi_size=InputDate with multi size
fh.docs.component.inputdate_with_calendar_icon_aligned=InputDate with calendar icon aligned
fh.docs.component.inputdate_this_calendar_icon_is_left_aligned=This calendar icon is left aligned:
fh.docs.component.inputdate_with_changed_position_of_a_label=InputDate with changed position of a label
fh.docs.component.inputdate_up_label=Up label
fh.docs.component.inputdate_down_label=Down label
fh.docs.component.inputdate_left_label=Left label
fh.docs.component.inputdate_right_label=Right label
fh.docs.component.inputdate_disabled_inputdate=Disabled InputDate
fh.docs.component.inputdate_with_validation_rule=InputDate with validation rule
fh.docs.component.inputdate_common_model=Two InputDates with common model
fh.docs.component.inputdate_this_calendar_using_validation_if_given_date=This calendar component is not valid, if given date is before 2017.04.26
fh.docs.component.inputdate_label_position=Label position
fh.docs.component.inputdate_label_with_labelposition_up=Label with labelPosition="up"
fh.docs.component.inputdate_label=Label
fh.docs.component.inputdate_label_with_labelposition_down=Label with labelPosition="down"
fh.docs.component.inputdate_label_with_labelposition_left=Label with labelPosition="left"
fh.docs.component.inputdate_label_with_labelposition_right=Label with labelPosition="right"
fh.docs.component.inputdate_label_with_labelposition_right_and_inputsize_20=Label with labelPosition="right" and inputSize="20"
fh.docs.component.inputdate_label_with_labelposition_right_and_inputsize_50=Label with labelPosition="right" and inputSize="50"
fh.docs.component.inputdate_label_with_labelposition_right_and_inputsize_90=Label with labelPosition="right" and inputSize="90"
fh.docs.component.inputdate_label_with_labelposition_right_and_inputsize_100=Label with labelPosition="right" and inputSize="100"
fh.docs.component.inputdate_label_with_labelposition_right_and_inputsize_30=Label with labelPosition="right" and inputSize="30"
# ++++++++++++++++++++++++++++ INPUT NUMBER +++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.inputnumber_label_position=Label position
fh.docs.component.inputnumber_simple=Simple InputNumber
fh.docs.component.inputnumber_simple_inputnumber_with_hint=Simple InputNumber with hint
fh.docs.component.inputnumber_this_is_hint=This is hint
fh.docs.component.inputnumber_with_binding=InputNumber with binding
fh.docs.component.inputnumber_binding_label = Changing a value in one of the elements below will affect the second element's value
fh.docs.component.inputnumber_with_binding_of_different_types=InputNumber with binding of different data types
fh.docs.component.inputnumber_with_required_value=InputNumber with required value
fh.docs.component.inputnumber_with_multiple_sizes_for_different_displays=InputNumber with multiple sizes for different displays
fh.docs.component.inputnumber_with_validation_rule=InputNumber with validation rule
fh.docs.component.inputnumber_with_changed_position_of_a_label=InputNumber with changed position of a label
fh.docs.component.inputnumber_with_labelposition_up=Label with labelPosition="up"
fh.docs.component.inputnumber_label=Label
fh.docs.component.inputnumber_label_with_labelposition_down=Label with labelPosition="down"
fh.docs.component.inputnumber_label_with_labelposition_left=Label with labelPosition="left"
fh.docs.component.inputnumber_label_with_labelposition_right=Label with labelPosition="right"
fh.docs.component.inputnumber_label_with_labelposition_right__and_inputsize_20=Label with labelPosition="right" and inputSize="20"
fh.docs.component.inputnumber_label_with_labelposition_right__and_inputsize_30=Label with labelPosition="right" and inputSize="30"
fh.docs.component.inputnumber_label_with_labelposition_right__and_inputsize_50=Label with labelPosition="right" and inputSize="50"
fh.docs.component.inputnumber_label_with_labelposition_right__and_inputsize_90=Label with labelPosition="right" and inputSize="90"
fh.docs.component.inputnumber_label_with_labelposition_right__and_inputsize_100=Label with labelPosition="right" and inputSize="100"
# ++++++++++++++++++++++++++++ INPUT TEXT +++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.inputtext_with_specified_size_and_height=InputText with specified size and height
fh.docs.component.inputtext_with_predefined_value_and_label=InputText with predefined value and label
fh.docs.component.inputtext_sample_input_value = Sample Input value
fh.docs.component.inputtext_with_predefined_value_label_and_hint=InputText with predefined value, label and hint
fh.docs.component.inputtext_header=Header
fh.docs.component.inputtext_this_is_hint=This is hint
fh.docs.component.inputtext_with_bootstrap_layout=InputText with bootstrap layout
fh.docs.component.inputtext_with_placeholder=InputText with placeholder
fh.docs.component.inputtext_placeholder = First name
fh.docs.component.inputtext_with_required_value=InputText with required value
fh.docs.component.inputtext_with_multiple_lines=InputText with multiple lines
fh.docs.component.inputtext_with_icon_before_inputtext=InputText with icon before InputText
fh.docs.component.inputtext_with_icon_before_label = The icon is before text because iconAlignment attribute is not set
fh.docs.component.inputtext_with_icon_after_inputtext=InputText with icon after InputText
fh.docs.component.inputtext_with_icon_after_label = The icon is placed after the text
fh.docs.component.inputtext_with_onchange_event=InputText with onChange event
fh.docs.component.inputtext_change_below_value_and_change_focus_on_any_other_inputtext=Change value below and change focus to any other element
fh.docs.component.inputtext_with_oninput_event=InputText with onInput event
fh.docs.component.inputtext_change_below_value_and_see_what_happen_below=Change value in the Input below and observe the second InputText field
fh.docs.component.inputtext_simple_binding_conversion=InputText simple binding conversion
fh.docs.component.inputtext_below_value_will_be_converter_to_date_if_specified_in_format=Below value will be converter to date if specified in format: YYYY-MM-DDTHH:mm:ss.SSSZZ in example: 2016-12-24T00:00:00.000+00:00
fh.docs.component.inputtext_with_multi_size=InputText with multiple sizes
fh.docs.component.inputtext_with_length_limit=InputText with length limit
fh.docs.component.inputtext_password_type_inputtext=Password type InputText
fh.docs.component.inputtext_simple_inputtext_with_body_as_value=Simple InputText with body as value
fh.docs.component.inputtext_as_value_with_cdata=As value with CDATA
fh.docs.component.inputtext_xml_elements_to_xml_attribute_value_converter_very_simple=XML elements to XML attribute's value converter (very simple)
fh.docs.component.inputtext_convert = Convert
fh.docs.component.inputtext_paste_xml_here=Paste XML here
fh.docs.component.inputtext_example_of_using_fhml_in_label_of_inputtext_component=Example of using FHML in label of InputText component
fh.docs.component.inputtext_highlight=Example of highlighting InputText component
fh.docs.component.inputtext_this_is_an_example_of_mixed_usage_of_tags=[color='green']This is an [b]example[/b] of mixed[/color] [u][i]usage[/i] of tags[/u]
fh.docs.component.inputtext_label_position=Label position
fh.docs.component.inputtext_with_changed_position_of_a_label=InputText with changed position of a label
fh.docs.component.inputtext_label_with_labelposition_up=Label with labelPosition="up"
fh.docs.component.inputtext_label=Label
fh.docs.component.inputtext_label_with_labelposition_down=Label with labelPosition="down"
fh.docs.component.inputtext_label_with_labelposition_left=Label with labelPosition="left"
fh.docs.component.inputtext_label_with_labelposition_right=Label with labelPosition="right"
fh.docs.component.inputtext_label_with_labelposition_right_and_inputsize_20=Label with labelPosition="right" and inputSize="20"
fh.docs.component.inputtext_label_with_labelposition_right_and_inputsize_30=Label with labelPosition="right" and inputSize="30"
fh.docs.component.inputtext_label_with_labelposition_right_and_inputsize_50=Label with labelPosition="right" and inputSize="50"
fh.docs.component.inputtext_label_with_labelposition_right_and_inputsize_90=Label with labelPosition="right" and inputSize="90"
fh.docs.component.inputtext_label_with_labelposition_right_and_inputsize_100=Label with labelPosition="right" and inputSize="100"
fh.docs.component.inputtext_masks=Masks
fh.docs.component.inputtext_with_mask=InputText with mask
fh.docs.component.inputtext_default_mask_definitions = Default mask definitions
fh.docs.component.inputtext_numeric = Numeric values
fh.docs.component.inputtext_alphabetical_PL_up = Alphabetical (Upper case) with Polish characters
fh.docs.component.inputtext_alphabetical_PL_low = Alphabetical (lower case) with Polish characters
fh.docs.component.inputtext_alphabetical_up = Alphabetical (upper case)
fh.docs.component.inputtext_alphabetical_low = Alphabetical (lower case)
fh.docs.component.inputtext_alphanumeric = Alphanumeric
fh.docs.component.inputtext_alphanumeric_duh = Alphanumeric plus "." (dot), "_" (underscore), and "-" (hyphen)
fh.docs.component.inputtext_alphanumeric_duh_PL = Alphanumeric with Polish characters plus "." (dot), "_" (underscore), and "-" (hyphen)
fh.docs.component.inputtext_optional_mask_character = Optional mask character
fh.docs.component.inputtext_escaped_mask_character = Escaped mask character
fh.docs.component.inputtext_or = or
fh.docs.component.inputtext_repeats = repeats
fh.docs.component.inputtext_from = from
fh.docs.component.inputtext_to = to
fh.docs.component.inputtext_more = more
fh.docs.component.inputtext_with_email_mask=InputText with email mask
fh.docs.component.inputtext_with_email_mask_label = Use following mask to have email mask
fh.docs.component.inputtext_mask_for_words_separated_with_space_character=Mask for words separated with space character.
fh.docs.component.inputtext_mask_for_words_separated_with_space_character_label = Words are separated with space character. Each word can contain any aplhanumeric character.
fh.docs.component.inputtext_allowed_values = Allowed values
fh.docs.component.inputtext_mask_for_words_separated_with_space_character_label2 = Words are separated with space character. Each word must start with capital letter and next characters in the word must be lower case alphanumeric.
fh.docs.component.inputtext_mask_for_words_separated_with_space_character_label3 = Words are separated with space character. Each word must start with capital letter and next characters in the word can be any alphanumeric character.
fh.docs.component.inputtext_mask_for_words_separated_with_space_character_label4 = Words are separated with space character. Only the first word must start with capital letter. Next words can start with any alphanumeric character.
fh.docs.component.inputtext_phone_masks=Phone masks
fh.docs.component.inputtext_phone_masks_dynamic=Dynamic phone masks
fh.docs.component.inputtext_phone_masks_label = Use the following mask to have phone number that matches patterns
fh.docs.component.inputtext_mask_with_custom_definition_symbol=Mask with custom definition symbol
fh.docs.component.inputtext_mask_with_custom_definition_symbol_label = It is possible to define custom definition symbol and then use it inside a mask. For example user can define new symbol that accepts only digits 4,5,6,7 - t[4567] - definition symbol is first charachter ('t' in this case), characters between square brackets define allowed characters for given symbol.
fh.docs.component.inputtext_mask_with_custom_definition_symbol_label2 = It is possible to define more than one definition symbol - symbols have to be separated with '||'. For example following mask definition x[!%$^*()]||w[abcd] defines two custom symbol definitions. First ('x') allows to use some special characters ('!', '%', '$', '^', '*', '(', ')'), second ('w') allows to use four letters ('a','b','c','d').
fh.docs.component.inputtext_mask_with_custom_definition_symbol_label3 = Example of mask for city name. It is possible to add names containing many words, separated with space (' ') or hyphen ('-').
fh.docs.component.inputtext_mask_more=For more details of masks usage see documentation page:
fh.docs.component.inputtext_mask_no_validation=Masks make hints and constraints during text typing. In order to validate and show error messages use requiredRegex attribute.
fh.docs.component.inputtext_casing_mask=Automatic case change
fh.docs.component.inputtext_casing_mask_desc=Build in mask definitions A, a, L and l mask definitions do automatic to upper/lower case convertion. To define own automatic convertion use /upper/ or /lower/ between mask definition symbol and its definition.
fh.docs.component.inputtext_casing_mask_example=Enter 'John Black' to below input fields:
fh.docs.component.inputtext_regex=Regular expression validation
fh.docs.component.inputtext_regex_post_code=Postal code validation (regex \\d\\d-\\d\\d\\d)
fh.docs.component.inputtext_regex_post_code_mask=Postal code validation with mask and custom message (regex \\d\\d-\\d\\d\\d, mask 99-999)
fh.docs.component.inputtext_regex_post_code_msg=Invalid postal code
# ++++++++++++++++++++++++++++ INPUT TIMESTAMP +++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.inputtimestamp_time_zone_support=Time zone support
fh.docs.component.inputtimestamp_time_zone_support.description=InputTimestamp component works using server's default time zone. Default time zone can be changed by using -Duser.timezone JVM option or by using TimeZone.setDefault().
fh.docs.component.inputtimestamp_inputtimestamp_with_specified_size_and_height=InputTimestamp with specified size and height
fh.docs.component.inputtimestamp_release_date=Release date:
fh.docs.component.inputtimestamp_inputtimestamp_with_bootstrap_layout=InputTimestamp with bootstrap layout
fh.docs.component.inputtimestamp_expiration_date_from=Expiration date from:
fh.docs.component.inputtimestamp_expiration_date_to=Expiration date to:
fh.docs.component.inputtimestamp_inputtimestamp_with_hint=InputTimestamp with hint
fh.docs.component.inputtimestamp_this_is_example_hint=This is example hint
fh.docs.component.inputtimestamp_inputtimestamp_with_predefined_value=InputTimestamp with predefined value
fh.docs.component.inputtimestamp_christmas_time=Christmas Eve:
fh.docs.component.inputtimestamp_inputtimestamp_with_required_value=InputTimestamp with required value
fh.docs.component.inputtimestamp_this_field_is_required=This field is required:
fh.docs.component.inputtimestamp_inputtimestamp_with_format_attribute_and_bound_to_java.util.date=InputTimestamp with format attribute and bound to java.util.Date
fh.docs.component.inputtimestamp_this_field_has_dd_mm_yyyy_hh_mm_format=This field has DD/MM/YYYY HH:mm format:
fh.docs.component.inputtimestamp_inputtimestamp_with_onchange_event=InputTimestamp with onChange event
fh.docs.component.inputtimestamp_this_date_is_bound_to_below_date=This date is bound to below date:
fh.docs.component.inputtimestamp_this_is_the_same_date_as_above=This is the same date as above:
fh.docs.component.inputtimestamp_inputtimestamp_with_multi_size=InputTimestamp with multi size
fh.docs.component.inputtimestamp_inputtimestamp_with_icon_left_aligned=InputTimestamp with icon right aligned
fh.docs.component.inputtimestamp_inputtimestamp_with_format_attribute_and_bound_to_localdatetime=InputTimestamp with format attribute and bound to java.time.LocalDateTime
# ++++++++++++++++++++++++++++ LINK +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.link_simple_link_example = Simple link example
fh.docs.component.link_to_google=Link to google
fh.docs.component.link_boundable_link=Boundable link
# ++++++++++++++++++++++++++++ MD FILE VIEWER +++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.mdfileviewer_with_simple_usage=MdFileViewer with simplae use example
# ++++++++++++++++++++++++++++ METER GAUGE CHART++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.metergaugechart_sample_chart_with_default_configuration_and_static_value=Sample Chart with default configuration and static value
fh.docs.component.metergaugechart_simple_chart=Simple chart
fh.docs.component.metergaugechart_chart_with_bound_value=Chart with bound value
fh.docs.component.metergaugechart_value=Value
fh.docs.component.metergaugechart_min_value=Min value
fh.docs.component.metergaugechart_max_value=Max value
fh.docs.component.metergaugechart_title=Title
fh.docs.component.metergaugechart_unit=Unit
fh.docs.component.metergaugechart_color=Color
fh.docs.component.metergaugechart_fill_color=Fill color
fh.docs.component.metergaugechart_chart_inside_a_table=Chart inside a table
fh.docs.component.metergaugechart_company_employees=Company employees
fh.docs.component.metergaugechart_chart=Chart
# ++++++++++++++++++++++++++++ OPTIONS LIST ++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.optionslist_elements=Elements
fh.docs.component.optionslist_example=List example
fh.docs.component.optionslist_submit=Submit
fh.docs.component.optionslist_add_element_first=Add element First
fh.docs.component.optionslist_add_element_middle=Add element Middle
fh.docs.component.optionslist_add_element_last=Add element Last
fh.docs.component.optionslist_add_empty_element=Add empty element
fh.docs.component.optionslist_remove_first_element=Remove first element
fh.docs.component.optionslist_remove_last_element=Remove last element
fh.docs.component.optionslist_example_of_optionslist_with_empty_element=Example of OptionsList with empty element
fh.docs.component.optionslist_example_of_optionslist_with_empty_element_is_selected_1=If empty element is selected. Selected element id:
fh.docs.component.optionslist_example_of_optionslist_with_empty_element_is_selected_2=. Element value:
fh.docs.component.optionslist_original_list=Original list
fh.docs.component.optionslist_copied_list=Copied list
fh.docs.component.optionslist_empty_value=Empty value
fh.docs.component.optionslist_copy=Copy
fh.docs.component.optionslist_example_of_optionslist_with_multiple_sizes_for_different_displays=Example of OptionsList with multiple sizes for different displays
fh.docs.component.optionslist_sample_optionslist_with_multiple_sizes=Sample OptionsList with multiple sizes
fh.docs.component.optionslist_usage_and_code=Usage and code
fh.docs.component.optionslist_usage_example = Usage example
fh.docs.component.optionslist_usage_of_option_list_with_collection = Usage of options list provided with collection of elements
fh.docs.component.optionslist_model_of_list_elemetnts = Model of list elements - OptionsListElementModel:
fh.docs.component.optionslist_model_of_list_elemetnts2 = An element of the list should be an instance of class OptionsListElementModel or a class derived from OptionsListElementModel and provide proper id, value and checked flag of the element.
# ++++++++++++++++++++++++++++ OUTPUT LABEL ++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.outputlabel_outputlabel_with_specified_height=OutputLabel with specified height
fh.docs.component.outputlabel_outputlabel_with_bootstrap_layout=OutputLabel with bootstrap layout
fh.docs.component.outputlabel_outputlabel_with_bootstrap_layout_sample_label_width_sm_5=This is sample label with
fh.docs.component.outputlabel_outputlabel_with_bootstrap_layout_sample_label_width_sm_7=This is sample label with
fh.docs.component.outputlabel_outputlabel_with_hint=OutputLabel with hint
fh.docs.component.outputlabel_this_is_hint=This is hint
fh.docs.component.outputlabel_this_is_sample_label=This is sample label
fh.docs.component.outputlabel_outputlabel_with_icon_before_text=OutputLabel with icon before text
fh.docs.component.outputlabel_the_icon_is_before_text_because_icon_alignment_is_not_set=The icon is before text because icon-alignment is not set.
fh.docs.component.outputlabel_outputlabel_with_icon_after_text=OutputLabel with icon after text
fh.docs.component.outputlabel_the_icon_is_after_text=The icon is after text.
fh.docs.component.outputlabel_outputlabel_with_binding=OutputLabel with binding
fh.docs.component.outputlabel_outputlabel_with_binding_sample_value_1=My name is:
fh.docs.component.outputlabel_outputlabel_with_binding_sample_value_2=. I live in
fh.docs.component.outputlabel_outputlabel_with_multi_size=OutputLabel with multi size
fh.docs.component.outputlabel_outputlabel_with_body_as_value=OutputLabel with body as value
fh.docs.component.outputlabel_printed_document=Printed document
# ++++++++++++++++++++++++++++ PANEL GROUP ++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.panelgroup_group_with_simple_usage=PanelGroup with simple usage
fh.docs.component.panelgroup_simple_panelgroup=Simple PanelGroup
fh.docs.component.panelgroup_simple_panelgroupb=Simple PanelGroup with border
fh.docs.component.panelgroup_this_is_sample_label=This is sample label
fh.docs.component.panelgroup_group_with_specified_size_and_height= PanelGroup with specified size and height
fh.docs.component.panelgroup_group_with_fixed_size= PanelGroup with fixed size
fh.docs.component.panelgroup_group_with= PanelGroup with
fh.docs.component.panelgroup_and=and
fh.docs.component.panelgroup_group_with_bootstrap_layout_horizontal= PanelGroup with bootstrap layout (horizontal)
fh.docs.component.panelgroup_center_panelgroup=Center PanelGroup
fh.docs.component.panelgroup_left_panelgroup=Left PanelGroup
fh.docs.component.panelgroup_right_panelgroup=Right PanelGroup
fh.docs.component.panelgroup_collapsible_panelgroup=Collapsible PanelGroup
fh.docs.component.panelgroup_this_panelgroup_is_collapsible=This PanelGroup is collapsible
fh.docs.component.panelgroup_label=Label
fh.docs.component.panelgroup_collapsible_panelgroup_collapsed_by_default=Collapsible PanelGroup - collapsed by default
fh.docs.component.panelgroup_this_panelgroup_is_collapsible_with_ontoggle_event_and_collapsed=This panelGroup is collapsible (with onToggle event) and collapsed
fh.docs.component.panelgroup_group_with_headers=Headers
fh.docs.component.panelgroup_group_with_headers.description=PanelGroup headers will be automatically set and will always start with the H2 tag. The first and superior element that will automatically receive the H1 tag is the Form itself (if we set headingType = auto).
fh.docs.component.panelgroup_group_with_manual_heading=PanelGroup with defined header
fh.docs.component.panelgroup_group_with_auto_heading=PanelGroup with automatic header
fh.docs.component.panelgroup_this_panelgroup_is_collapsed=This PanelGroup is collapsed:
fh.docs.component.panelgroup_group_with_multi_size= PanelGroup with multi size
fh.docs.component.panelgroup_simple_panelgroup_with_multi_sizes=Simple PanelGroup with multi sizes
fh.docs.component.panelgroup_group_with_footer=Group with footer
fh.docs.component.panelgroup_this_is_sample_content_of_panelgroup=This is sample content of PanelGroup
fh.docs.component.panelgroup_cancel=Cancel
fh.docs.component.panelgroup_ok=Ok
# ++++++++++++++++++++++++++++ RADIO OPTION ++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.radiooption_radiooption_with_simple_usage=Simple usage of RadioOption
fh.docs.component.radiooption_random=Random value
fh.docs.component.radiooption_radiooption_with_blocked_usage=Simple usage of RadioOption with blocked fields
fh.docs.component.radiooption_radiooption_selected_country=Selected country:
# ++++++++++++++++++++++++++++ RADIO OPTIONS GROUP ++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.radiooptionsgroup_radiooptionsgroup_with_simple_usage=RadioOptionsGroup with simple usage
fh.docs.component.radiooptionsgroup_countries=Countries
fh.docs.component.radiooptionsgroup_poland_germany_uk_us=Poland|Germany|UK|US
fh.docs.component.radiooptionsgroup_radiooptionsgroup_with_align_parameter=RadioOptionsGroup with align parameter
fh.docs.component.radiooptionsgroup_gender=Gender
fh.docs.component.radiooptionsgroup_male_female=Male|Female
fh.docs.component.radiooptionsgroup_male=Male
fh.docs.component.radiooptionsgroup_female=Female
fh.docs.component.radiooptionsgroup_radiooptionsgroup_with_bootstrap_size_parameter=RadioOptionsGroup with bootstrap size parameter
fh.docs.component.radiooptionsgroup_radiooptionsgroup_with_required_value=RadioOptionsGroup with required value
fh.docs.component.radiooptionsgroup_radiooptionsgroup_with_model_value_changed=RadioOptionsGroup with model value changed
fh.docs.component.radiooptionsgroup_poland=Poland
fh.docs.component.radiooptionsgroup_germany=Germany
fh.docs.component.radiooptionsgroup_uk=UK
fh.docs.component.radiooptionsgroup_us=US
fh.docs.component.radiooptionsgroup_radiooptionsgroup_with_onchange_event=RadioOptionsGroup with onChange event
fh.docs.component.radiooptionsgroup_radiooptionsgroup_with_onchange_event_bound_to_another_radiooptionsgroup=RadioOptionsGroup with onChange event bound to another RadioOptionsGroup
fh.docs.component.radiooptionsgroup_radiooptionsgroup_with_multi_size=RadioOptionsGroup with multi size
# ++++++++++++++++++++++++++++ REPEATER ++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.repeater_displaying_text_content=Displaying text content
fh.docs.component.repeater_example_1_simple_use_one_collection_to_iterate_through=Example 1. Simple use: one collection to iterate through
fh.docs.component.repeater_example_2_nested_repeaters=Example 2. Nested repeaters
fh.docs.component.repeater_add_student=Add student
fh.docs.component.repeater_add_classes=Add classes
fh.docs.component.repeater_remove_classes=Remove classes
fh.docs.component.repeater_class=Class:
fh.docs.component.repeater_teacher=Teacher:
fh.docs.component.repeater_grade=Grade:
fh.docs.component.repeater_example_3_nested_repeaters_regrouped=Example 3. Nested repeaters regrouped
fh.docs.component.repeater_grades=Grades:
fh.docs.component.repeater_example_4_same_repeaters_displayed_another_way=Example 4. Same repeaters displayed another way
fh.docs.component.repeater_student=Student
fh.docs.component.repeater_user_interaction_books_example=User interaction - books example
fh.docs.component.repeater_list_of_books=List of books
fh.docs.component.repeater_list_of_books_basket=Basket
fh.docs.component.repeater_remove=Remove
fh.docs.component.repeater_title=Title
fh.docs.component.repeater_author=Author
fh.docs.component.repeater_description=Description
fh.docs.component.repeater_add_to_basket=Add to basket
fh.docs.component.repeater_short_description=Short description
fh.docs.component.repeater_about=About
fh.docs.component.repeater_by=by
fh.docs.component.repeater_data_model=Data model
fh.docs.component.repeater_user_interaction_currency_converter=User interaction - currency converter
fh.docs.component.repeater_simple_currency_converter=Simple currency converter
# ++++++++++++++++++++++++++++ SELECT COMBO MENU ++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.selectcombomenu_with_static_values=SelectComboMenu with static values
fh.docs.component.selectcombomenu_with_label=SelectComboMenu with label
fh.docs.component.selectcombomenu_select_user=Select user
fh.docs.component.selectcombomenu_with_hint=SelectComboMenu with hint
fh.docs.component.selectcombomenu_with_hint_label=Select user
fh.docs.component.selectcombomenu_hint=Example hint
fh.docs.component.selectcombomenu_with_bootstrap_layout=SelectComboMenu with Bootstrap layout
fh.docs.component.selectcombomenu_car=Select car
fh.docs.component.selectcombomenu_countries=Select country
fh.docs.component.selectcombomenu_selected_country=Selected country:
fh.docs.component.selectcombomenu_with_onChange=SelectComboMenu with onChange event
fh.docs.component.selectcombomenu_with_static_values_with_collection_as_binding=SelectComboMenu with static values and collection as binding
fh.docs.component.selectcombomenu_selected_user=Selected user
fh.docs.component.selectcombomenu_selected_user_is=Selected user is
fh.docs.component.selectcombomenu_selected_user_age=years old
fh.docs.component.selectcombomenu_selected_user_created_on=Selected user was created on
fh.docs.component.selectcombomenu_with_empty_value=SelectComboMenu with empty value
fh.docs.component.selectcombomenu_with_multi_sizes_and_empty_value=SelectComboMenu with multi sizes and empty value
fh.docs.component.selectcombomenu_with_multi_sizes_and_empty_value_hint=Change browser size to observe changes in SelectComboMenu size
# ++++++++++++++++++++++++++++ SELECT ONE MENU ++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.selectonemenu_selectonemenu_with_label=SelectOneMenu with label
fh.docs.component.selectonemenu_countries=Countries
fh.docs.component.selectonemenu_selectonemenu_with_specified_size_and_height=SelectOneMenu with specified size and height
fh.docs.component.selectonemenu_selectonemenu_with_hint=SelectOneMenu with hint
fh.docs.component.selectonemenu_this_is_hint=This is hint
fh.docs.component.selectonemenu_selectonemenu_with_bootstrap_layout=SelectOneMenu with bootstrap layout
fh.docs.component.selectonemenu_gender=Gender
fh.docs.component.selectonemenu_selectonemenu_with_required_value=SelectOneMenu with required value
fh.docs.component.selectonemenu_selectonemenu_with_onchange_event=SelectOneMenu with onChange event
fh.docs.component.selectonemenu_below_selectonemenu_is_bound_to_label=Below SelectOneMenu is bound to label
fh.docs.component.selectonemenu_selectonemenu_with_onchange_event_bound_to_another_selectonemenu=SelectOneMenu with onChange event bound to another SelectOneMenu
fh.docs.component.selectonemenu_below_selectonemenu_is_bound_to_another_selectonemenu=Below SelectOneMenu is bound to another SelectOneMenu
fh.docs.component.selectonemenu_selectonemenu_with_conversion_with_binding_to_collection_of_any_type=SelectOneMenu with conversion with binding to collection of any type
fh.docs.component.selectonemenu_selected_user_is=Selected user is
fh.docs.component.selectonemenu_selected_user_is_1=Selected user is
fh.docs.component.selectonemenu_years_old=years old
fh.docs.component.selectonemenu_selected_user_was_created_on=Selected user was created on
fh.docs.component.selectonemenu_add_user=Add user
fh.docs.component.selectonemenu_selectonemenu_with_conversion_to_enumeration=SelectOneMenu with conversion to enumeration
fh.docs.component.selectonemenu_my_name_is=My name is
fh.docs.component.selectonemenu_i_live_in=I live in
fh.docs.component.selectonemenu_selectonemenu_with_multi_size=SelectOneMenu with multi size
fh.docs.component.selectonemenu_selectonemenu_with_optional_empty_value=SelectOneMenu with optional empty value
fh.docs.component.selectonemenu_with=with
fh.docs.component.selectonemenu_and=and
fh.docs.component.selectonemenu_with_emptyvalue_and_emptylabel_attributes_not_set=with emptyValue and emptyLabel attributes not set
fh.docs.component.selectonemenu_selected_person=Selected person
fh.docs.component.selectonemenu_this_person_lives_in=This person lives in
fh.docs.component.selectonemenu_selectonemenu_that_keeps_selected_value_removed_from_values_collection=SelectOneMenu that keeps selected value removed from values collection
fh.docs.component.selectonemenu_do_not_keep_removed_value=Do not keep removed value
fh.docs.component.selectonemenu_keep_removed_value=Keep removed value
fh.docs.component.selectonemenu_remove_value=Remove value
fh.docs.component.selectonemenu_attribute=Attribute
fh.docs.component.selectonemenu_bounded_with_string_object=bounded with String object
fh.docs.component.selectonemenu_selected_string=Selected string
fh.docs.component.selectonemenu_attribute_value_bounded_with_object=Attribute value bounded with Object
# ++++++++++++++++++++++++++++ SPACER ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.spacer_spacer_with_double_bootstrap_space=Spacer with double bootstrap space
fh.docs.component.spacer_animals=Animals
fh.docs.component.spacer_spacer_with_single_bootstrap_spaces=Spacer with single bootstrap spaces
fh.docs.component.spacer_dog=Dog
fh.docs.component.spacer_cat=Cat
fh.docs.component.spacer_horse=Horse
fh.docs.component.spacer_spacer_with_ten_bootstrap_spaces=Spacer with ten bootstrap spaces
fh.docs.component.spacer_please_insert_your_text_here=Please insert your text here
fh.docs.component.spacer_spacer_with_multi_size=Spacer with multi size
# ++++++++++++++++++++++++++++ SPLIT CONTAINER ++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.splitcontainer_split_container_example=SplitContainer example
fh.docs.component.splitcontainer_this_is_label_for_the_first_row=This is label for the first row
fh.docs.component.splitcontainer_this_is_label_for_the_second_row=This is label for the second row
# ++++++++++++++++++++++++++++ TAB +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.tab_tab_with_simple_usage=Tab with simple usage
fh.docs.component.tab_sample_binding = Sample binding
fh.docs.component.tab_tab_with_bootstrap_layout=Tab with bootstrap layout
fh.docs.component.tab_tab_sample_label=Tab sample label
# ++++++++++++++++++++++++++++ TAB CONTAINER +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.tabcontainer_tabcontainer_with_simple_usage=TabContainer with simple usage
fh.docs.component.tabcontainer_tabcontainer_with_selected_active_tab=TabContainer with selected active tab
fh.docs.component.tabcontainer_tabcontainer_with_bootstrap_layout=TabContainer with bootstrap layout
fh.docs.component.tabcontainer_tabcontainer_with_active_tab_binding=TabContainer with active tab binding
fh.docs.component.tabcontainer_this_is_static_content_of=This is static content of
fh.docs.component.tabcontainer_selected_tab_index_is=Selected tab index is
fh.docs.component.tabcontainer_type_0_or_1=Type 0 or 1
fh.docs.component.tabcontainer_active_tab_id_automatic_conversion=Active tab Id (automatic conversion)
fh.docs.component.tabcontainer_tabcontainer_with_multi_size=TabContainer with multi size
# ++++++++++++++++++++++++++++ TABLE +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.table_displayed_data=Displayed data
fh.docs.component.table_table_with_simple_usage=Table with simple usage
fh.docs.component.table_name=Name
fh.docs.component.table_surname=Surname
fh.docs.component.table_city=City
fh.docs.component.table_gender=Gender
fh.docs.component.table_status=Status
fh.docs.component.table_table_with_multi_size=Table with multi size
fh.docs.component.table_table_with_footer=Table with footer
fh.docs.component.table_add=add
fh.docs.component.table_table_with_multiselect=Table with multiselect
fh.docs.component.table_table_with_alignment=Table with alignment
fh.docs.component.table_horizontal_align = Horizontal alignment
fh.docs.component.table_vertical_align = Vertical alignment
fh.docs.component.table_fixed_header = With fixed header while scrolling
fh.docs.component.table_included_buttons=Included buttons
fh.docs.component.table_actions=Actions
fh.docs.component.table_included_form_components=Included form components
fh.docs.component.table_company_employees=Company employees
fh.docs.component.table_table_with_nested_and_binded_form_components_columns=Table with nested and binded form components/columns
fh.docs.component.table_no=No
fh.docs.component.table_add_new=Add new
fh.docs.component.table_edit=Edit
fh.docs.component.table_delete=Delete
fh.docs.component.table_binded_form_components_with_form_components_nested_in_table=Binded form components with form components nested in table
fh.docs.component.table_in_below_examples=In below examples, binding of first, third InputText and SelectOneMenu to the above table form components is working fine, since these form components contain events for informing about value changes. Second InputText is not working, because has no added event, so form components in table above are not informed about changes.
fh.docs.component.table_grouping_rows=Grouping rows
fh.docs.component.table_table_with_grouping_rows=Table with grouping rows
fh.docs.component.table_tv_series=TV Series
fh.docs.component.table_colored_rows=Colored rows
fh.docs.component.table_table_with_colored_rows=Table with colored rows
fh.docs.component.table_action=Action
fh.docs.component.table_reset_color=Reset color
fh.docs.component.table_reset_all_colors=Reset all colors
fh.docs.component.table_table_with_colored_grouping_rows=Table with colored grouping rows
fh.docs.component.table_wide_table_with_scroll=Wide table with scroll
fh.docs.component.table_table_with_scroll_on_smaller_displays=Table with scroll on smaller displays
fh.docs.component.table_column1=This is the 1st column
fh.docs.component.table_column2=This is the 2nd column
fh.docs.component.table_column3=This is the 3rd column
fh.docs.component.table_column4=This is the 4th column
fh.docs.component.table_table_with_scroll=Table with scroll
fh.docs.component.table_wide_column_1=The_1st_column_in_wide_table
fh.docs.component.table_wide_column_2=The_2nd_column_in_wide_table
fh.docs.component.table_wide_column_3=The_3rd_column_in_wide_table
fh.docs.component.table_wide_column_4=The_4th_column_in_wide_table
fh.docs.component.table_wide_column_5=The_5th_column_in_wide_table
fh.docs.component.table_wide_column_6=The_6th_column_in_wide_table
fh.docs.component.table_wide_column_7=The_7th_column_in_wide_table
fh.docs.component.table_wide_column_8=The_8th_column_in_wide_table
fh.docs.component.table_wide_column_9=The_9th_column_in_wide_table
fh.docs.component.table_wide_column_10=The_10st_column_in_wide_table
fh.docs.component.table_table_with_horizontal_and_vertical_scroll=Table with horizontal and vertical scroll
fh.docs.component.table_table_with_synchronized_scroll=Table with synchronized scroll
fh.docs.component.table_table_with_vertical_scroll_and_resizable_columns=Table with vertical scroll and resizable columns
fh.docs.component.table_prototyping_with_inline_data=Prototyping with inline data
fh.docs.component.table_table_with_inline_data_binding=Table with inline data binding
fh.docs.component.table_for_better_prototyping=For better prototyping (not for production) inline data binding for table rows may be used. Special rule 'csvRows' produces CsvRow object list based on provided text CSV-like value. In text value row are separated with | and columns with ; characters. Columns' values should be binded to column1, column2, etc.
fh.docs.component.table_first_name=First name
fh.docs.component.table_last_name=Last name
fh.docs.component.table_age=Age
# ++++++++++++++++++++++++++++ TABLE PAGED +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.tablepaged_paged_data=Paged data
fh.docs.component.tablepaged_table_with_simple_usage=TablePaged with simple usage
fh.docs.component.tablepaged_name=Name
fh.docs.component.tablepaged_surname=Surname
fh.docs.component.tablepaged_city=City
fh.docs.component.tablepaged_gender=Gender
fh.docs.component.tablepaged_status=Status
fh.docs.component.tablepaged_paged_sortable_data=Paged sortable data
fh.docs.component.tablepaged_table_with_nested_and_binded_form_components_columns_lambda_for_sorting=TablePaged with nested and binded form components/columns - lambda for sorting
fh.docs.component.tablepaged_paged_data_with_multiselect=Paged data with multiselect
fh.docs.component.tablepaged_tablepaged_with_sortable_data_and_multiselect=TablePaged with sortable data and multiselect
fh.docs.component.tablepaged_country_name=Name
fh.docs.component.tablepaged_capital=Capital
fh.docs.component.tablepaged_population_mln=Population [mln]
fh.docs.component.tablepaged_area_10_3_km_2=Area [10^3 * km^2]
fh.docs.component.tablepaged_remove=Remove
fh.docs.component.tablepaged_remove_selected=Remove selected
fh.docs.component.tablepaged_reset_countries=Reset Countries
fh.docs.component.tablepaged_paged_sortable_data_with_merged_columns=Paged sortable data with merged columns
fh.docs.component.tablepaged_tablepaged_with_nested_and_binded_form_components_columns_property_or_lambda_for_sorting=TablePaged with nested and binded form components/columns - property or lambda for sorting
fh.docs.component.tablepaged_no=No.
fh.docs.component.tablepaged_paged_sortable_data_with_colored_rows=Paged sortable data with colored rows
fh.docs.component.tablepaged_tablepaged_with_colored_rows=TablePaged with colored rows
fh.docs.component.tablepaged_prototyping_with_inline_data=Prototyping with inline data
fh.docs.component.tablepaged_table_with_inline_data_binding=TablePaged with inline data binding
fh.docs.component.tablepaged_for_better_prototyping=For better prototyping (not for production) inline data binding for table rows may be used. Special rule 'csvRows' produces CsvRow object list based on provided text CSV-like value. In text value row are separated with | and columns with ; characters. Columns' values should be binded to column1, column2, etc.
fh.docs.component.tablepaged_first_name=First name
fh.docs.component.tablepaged_last_name=Last name
fh.docs.component.tablepaged_age=Age
fh.docs.component.tablepaged_model_header=Collection model
fh.docs.component.tablepaged_model=Collection value type is PageModel class. Refresh of table data can be forced by calling PageModel.refreshNeeded() method. If there is need to reset page number (eg. search button clicked, clear search criteria button clicked) call PageModel.resetPage() method or create new instance of PageModel.
# ++++++++++++++++++++++++++++ TIMER++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.timer_label=Timer controlled with inputs
fh.docs.component.timer_acitve=Is active
fh.docs.component.timer_interval=Interval in seconds
# ++++++++++++++++++++++++++++ TREE ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.tree_simple_tree=Simple tree
fh.docs.component.tree_simple_tree_without_lines=Simple tree without lines
fh.docs.component.tree_dynamic_tree_change_tree_from_java=Dynamic tree - change tree from java
fh.docs.component.tree_add_node_dynamically=Add node dynamically
fh.docs.component.tree_add_subnode_to_selected_node=Add subnode to selected node
fh.docs.component.tree_remove_selected_node=Remove selected node
fh.docs.component.tree_selected_node_name=Selected node name
fh.docs.component.tree_lazy_tree_calculates_children_on_demand=Lazy tree - calculates children on demand
fh.docs.component.tree_lazy_tree_calculates_children_on_demand_repeater=Lazy tree inside Repeater - calculates children on demand
# ++++++++++++++++++++++++++++ VALIDATE MESSAGES ++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.validatemessages_navigation_for_fields=Navigation for fields
fh.docs.component.validatemessages_validatemessages_with_required_fields_in_multiple_groups=ValidateMessages with required fields in multiple groups
fh.docs.component.validatemessages_country=Country
fh.docs.component.validatemessages_your_bithday_date=Your bithday date
fh.docs.component.validatemessages_validatemessages_with_multi_size=ValidateMessages with multi size
fh.docs.component.validatemessages_citizenship=Citizenship
fh.docs.component.validatemessages_missing_navigation_for_fields=Missing navigation for fields
fh.docs.component.validatemessages_validatemessages_without_navigation_for_fields=ValidateMessages without navigation for fields
fh.docs.component.validatemessages_this_panelgroup_is_collapsible_with_ontoggle_event=This panelGroup is collapsible (with onToggle event)
fh.docs.component.validatemessages_surname=Surname
fh.docs.component.validatemessages_name=Name
fh.docs.component.validatemessages_city=City
# ++++++++++++++++++++++++++++ WIDGET ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.widget_resized_widget=Resized widget
fh.docs.component.widget_person_statistics=Person statistics
fh.docs.component.widget_name=Name
fh.docs.component.widget_surname=Surname
fh.docs.component.widget_city=City
fh.docs.component.widget_gender=Gender
fh.docs.component.widget_status=Status
fh.docs.component.widget_people_names=Names
fh.docs.component.widget_commission=Commission
fh.docs.component.widget_widget_with_multiple_components=Widget with multiple components
fh.docs.component.widget_person_tables=Person tables
fh.docs.component.widget_multiple_person_statistics=Multiple person statistics
fh.docs.component.widget_multiple_widgets=Multiple widgets
fh.docs.component.widget_population=Population
# ++++++++++++++++++++++++++++ WIZARD ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.wizard_wizard_example=Wizard example
fh.docs.component.wizard_step=Step
fh.docs.component.wizard_first_step=First step
fh.docs.component.wizard_this_is_first_step=This is the first step
fh.docs.component.wizard_show_optional_process_step=Show optional process step
fh.docs.component.wizard_hide_optional_process_step=Hide optional process step
fh.docs.component.wizard_optional_step=Optional step
fh.docs.component.wizard_this_is_optional_step=This is an optional step
fh.docs.component.wizard_second_step=Second step
fh.docs.component.wizard_this_is_second_step=This is the second step
fh.docs.component.wizard_third_step=Third step
fh.docs.component.wizard_this_is_third_step=This is the third step
fh.docs.component.wizard_fourth_step=Fourth step
fh.docs.component.wizard_this_is_fourth_step=This is the fourth step
# ++++++++++++++++++++++++++++ SERVICE ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.service.newperson_new_company_employee=New company employee
fh.docs.service.newperson_name=Name
fh.docs.service.newperson_surname=Surname
fh.docs.service.newperson_city=City
fh.docs.service.newperson_gender=Gender
fh.docs.service.newperson_status=Status
# ++++++++++++++++++++++++++++ COMPONENTS LIST ++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.service.componentlist_standard_form_components=Standard form components
fh.docs.service.componentlist_identifier=Identifier
fh.docs.service.componentlist_description=Description
# ++++++++++++++++++++++++++++ ADDRESS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.address_select_country=Select country
fh.docs.component.address_select_province=Select province
fh.docs.component.address_city=City
fh.docs.component.address_street=Street
fh.docs.component.address_address_summary=Address summary
# ++++++++++++++++++++++++++++ PICKLIST ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.picklist_picklist_example=PickList example
fh.docs.component.picklist_example=Example
fh.docs.component.picklist_order_cars=Order cars
fh.docs.component.picklist_documentation=Documentation
fh.docs.component.picklist_template=Template
fh.docs.component.picklist_cars_available_checked=Cars available - checked
fh.docs.component.picklist_cars_ordered_checked=Cars ordered - checked
fh.docs.component.picklist_cars_available_all=Cars available - all
fh.docs.component.picklist_cars_ordered_all=Cars ordered - all
# ++++++++++++++++++++++++++++ SEARCH LIST ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.component.searchlist_search_list_example=Search list example
fh.docs.component.searchlist_send=Send
fh.docs.component.searchlist_template=Template
fh.docs.component.searchlist_items_searched=Items searched
fh.docs.component.searchlist_items_searched_and_checked=Items searched and checked
# ++++++++++++++++++++++++++++ FH Markup Language +++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.fhml_fh_markup_language=FH Markup Language
fh.docs.fhml_fh_markup_language_is_set_of_tags=FH Markup Language is set of tags, created for styling parts of text e.g. labels.
fh.docs.fhml_basic_font_transformations=Basic font transformations
fh.docs.fhml_bold=Bold
fh.docs.fhml_italic=Italic
fh.docs.fhml_underline=Underline
fh.docs.fhml_line_through=Line through
fh.docs.fhml_size=Size
fh.docs.fhml_size_takes_pixels_as_a_parameter=Size takes pixels as a parameter
fh.docs.fhml_color=Color
fh.docs.fhml_color_can_be_specified_same_as_in_css=Color can be specified same as in CSS - as name or hex value
fh.docs.fhml_mixed_transformations=Mixed transformations
fh.docs.fhml_more_than_one_tag_can_me_used_at_a_time=More than one tag can me used at a time, but they have to be closed in reversed order
fh.docs.fhml_mixed_example=Mixed example
fh.docs.fhml_text_addons=Text addons
fh.docs.fhml_things_that_can_be_added_to_label=Things that can be added to label
fh.docs.fhml_icon=Icon
fh.docs.fhml_highlight=Highlight
fh.docs.fhml_blockquote=Quote
fh.docs.fhml_blockquote_footer=Quote footer
fh.docs.fhml_new_line=New line
fh.docs.fhml_strikethrough=Strikethrough
fh.docs.fhml_classname=Text with custom css class.
fh.docs.fhml_code=Code block.
fh.docs.fhml_list=Html List
# ++++++++++++++++++++++++++++ Running FH +++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.running_running_fh=Running Fh
fh.docs.running_jvm_options=JVM Options
fh.docs.running_mandatory_options=Mandatory options
fh.docs.running_to_avoid_loosing_stacktraces_which_collides_with=To avoid loosing stacktraces which collides with
fh.docs.running_implementation_always_add=implementation always add
# ++++++++++++++++++++++++++++ Validation Info ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.validation_new_company_employee=New company employee
fh.docs.validation_description=Description
fh.docs.validation_validation_in_fh_is_executed_after_data=Validation in FH is executed after data are set to model, and bindings for components are resolved. But validation happens before components are updated based on changes in model. Also validation is executed on certain events within whole Form component, but only those components that their availability is in current process set to EDIT. As for now FH helps developers validate controls for given model in few ways
fh.docs.validation_first_way_of_validation_is_provided_by_fh=First way of validation is provided by FH and user can combine validation result with component like ValidationMessages for displaying messages
fh.docs.validation_second_way_is_when_user_want_to_skip_fh_process_validation=Second way is, when user want to skip FH process validation, and provide its own. When this method is executed, then if messages that displayed for fh validation, are kept until they are resolved by corresponding control/event
fh.docs.validation_developer_can_combine_fh_validation_with_custom_validation=Developer can combine FH validation with custom validation
fh.docs.validation_developer_can_use_jsr_303_spec_validation_on_model=Developer can use JSR-303 spec. validation on model. It will counts as FH validation
fh.docs.validation_default_level=FH attributes and JSR-303 validation have BLOCKER level
fh.docs.validation_default_action=Default validation parameters for Action are: validation is enabled ('validate' attribute is true), form validation is performed before action ('validateBeforeAction' attribute is true), model is updated ('immedaite' attribute is false), validation context is cleared ('clearContext' attribute is true), action is not called when there is BLOCKER message ('stopOnErrors' attribute is BLOCKER)
fh.docs.validation_default_matrix=FH validation (form attributes and JSR-303) is performed only for editable fields, custom validation is not affected (will be displayed also for noneditable and hidden fields or unassigned to any field)
fh.docs.validation_validation_is_highly_dependent_on_events_that_are_executed=Validation is highly dependent on events that are executed for form components. Default events in fh work like this
fh.docs.validation_if_form_component_like_inputtext_has_default_event=If form component like InputText has default event
fh.docs.validation_then_validation_is_not_triggered=then validation IS NOT triggered and ValidationMessages are NOT cleared before validation happens
fh.docs.validation_then_validation_is_triggered=then validation IS triggered and ValidationMessages are cleared before validation happens
fh.docs.validation_example_is_in_section_named=Example is in section named
fh.docs.validation_validation_with_default_events=validation with default events
fh.docs.validation_after_validation_process_is_finished=After validation process is finished, the result of errors will be stored inside
fh.docs.validation_default_validation_code=Default validation (validate=true, validateBeforeAction=true, immediate=false, clearContext=true, breakOnErrors=BLOCKER) - code
fh.docs.validation_xml=XML
fh.docs.validation_java=JAVA
fh.docs.validation_validation_after_action_code=Validation after action - code
fh.docs.validation_default_lifecycle_of_action_and_validation_is=Default lifecycle of action and validation is: invocation of validation; invocation of action. If you need to change the order You can set it by validateBeforeAction attribute on @Action.
fh.docs.validation_above_example_shows_how_to_invoke_validation_after_action=Above example shows how to invoke validation after action (not before it). It may be useful when action does something on model. And this model is being validated.
fh.docs.validation_skip_validation_fh_code=Skip validation FH - code
fh.docs.validation_skip_clearcontext_fh_code=Clear context is not cleared - code
fh.docs.validation_immediate_fh_code=Skip model update and validation - code
fh.docs.validation_break_fh_code=Do not call action when there are validation messages with at least ERROR level (default BLOCKER) - code
fh.docs.validation_no_break_fh_code=Perform the action despite validation errors - code
fh.docs.validation_watch_out=Watch out
fh.docs.validation_developer_has_to_pay_extra_attention_when_binding=Developer has to pay extra attention when binding same field from model to multiple form components, like InputText. If one InputText has some validation like required, but others do not have, then it may return strange behaviour
fh.docs.validation_custom_message=Custom message
fh.docs.validation_developer_can_create_custom_message_like_this=Developer can create custom message like this, and it will be displayed in component like ValidationMessages with other messages, like FH validation messages
fh.docs.validation_example=Example
fh.docs.validation_attribute_validation=attribute validation
fh.docs.validation_this_example_demonstrates_simple_validation=This example demonstrates simple validation on InputText components. Each has default action onInput, but only the second one fires validation. Here components are validated based on required attribute
fh.docs.validation_inputtext_with_event_oninput_without_validation=InputText with event onInput without validation
fh.docs.validation_inputtext_with_event_oninput_with_validation=InputText with event onInput with validation
fh.docs.validation_besides_required_attribute_on_components_like_inputtext=Besides required attribute on components like InputText, there is also validationRule attribute, which helps developer creates validation in xml based on Spring Expression Language (SpEL)
fh.docs.validation_inputtext_is_length_of_text_longer_than_1_char=InputText: is length of text longer than 1 char.
fh.docs.validation_jsr_303_validation=JSR-303 validation
fh.docs.validation_validation_plus_validationmessages=validation + ValidationMessages
fh.docs.validation_this_example_demonstrates_validation_based_on_jsr_303=This example demonstrates validation based on JSR-303 + model. Use this form of validation if you want to validate annotated attributes always. As for custom messages, developer can creates some property files for Locales(for now only English and Polish works!!), from where messages will be loaded for given message template
fh.docs.validation_name=Name
fh.docs.validation_surname=Surname
fh.docs.validation_nonEditableField=Non editable field
fh.docs.validation_hiddenField=Hidden field
fh.docs.validation_save_with_fh_validation=Save with FH validation
fh.docs.validation_code=Code
fh.docs.validation_combined_validation=combined validation
fh.docs.validation_don_t_validate_name=Don't validate name
fh.docs.validation_save_without_fh_validation=Save without FH validation
fh.docs.validation_test_security=Test security
fh.docs.validation_alternate_label=Alternative label
fh.docs.validation_alternate_label_name=Name
fh.docs.validation_alternate_label_name_of=Name of
fh.docs.validation_alternate_label_age=Age
fh.docs.validation_alternate_label_age_of=Age of
fh.docs.validation_alternate_label_first_person_panel=First person
fh.docs.validation_alternate_label_second_person_panel=Second person
fh.docs.validation_alternate_label_first_person=the first person
fh.docs.validation_alternate_label_second_person=the second person
fh.docs.validation_alternate_label_validate=Validate
fh.docs.validation_alternate_label_row=row
# ++++++++++++++++++++++++++++ FH Exceptions +++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.exceptions_fh_exceptions=FH Exceptions
fh.docs.exceptions_handling=Uncaught exceptions can be handled by additional Handlers. \
We distinguish three situations: a) error when UseCase is left without Form, b) error at the start of the UC or during event processing, c) system error. \
The class (spring bean) that handles case a) can be pointed by parameter 'usecase.empty.form.stack.handler'. FH delivers \
'pl.fhframework.core.uc.handlers.NoFormInfoMessage' (default, displays only the error message) and 'pl.fhframework.core.uc.handlers.NoFormRunUseCase' \
(displays the error message and then redirects to the UC specified by 'usecase.empty.form.stack.redirect' parameter or if it is not specified to \
'initial.use.case' or clears the UC stack). You can provide your own implementation of the 'pl.fhframework.core.uc.handlers.INoFormHandler' interface. \
The class (spring bean) that handles case b) can be pointed by parameter 'usecase.action.error.handler'. FH delivers \
'pl.fhframework.core.uc.handlers.RethrowOnActionError' (default, throws an exception further, then will be handled by case c)) and 'pl.fhframework.core.uc.handlers.RunUseCaseOnActionError' \
(displays the error message and then redirects to the UC specified by 'usecase.action.error.redirect' parameter or if it is not specified to \
'initial.use.case' or clears the UC stack). You can provide your own implementation of the 'pl.fhframework.core.uc.handlers.IOnActionErrorHandler' interface. \
The class (spring bean) that handles case c) can be pointed by parameter 'system.error.handler'. FH delivers \
'pl.fhframework.core.logging.handler.NotificationErrorInformationHandler' (default, displays a balloon with an error) and 'pl.fhframework.model.forms.logging.handlers.MessageErrorInformationHandler' \
(displays the error message and then redirects to the UC specified by 'system.error.redirect' parameter or if it is not specified to \
'initial.use.case' or clears the UC stack). You can provide your own implementation of the 'pl.fhframework.core.logging.handler.IErrorInformationHandler' interface.
fh.docs.exceptions_constructor_details=Constructor Details
fh.docs.exceptions_class=Class
fh.docs.exceptions_constructor=Constructor
fh.docs.exceptions_declaration=Declaration
fh.docs.exceptions_description=Description
fh.docs.exceptions_name=Name
fh.docs.exceptions_parameters=Parameters
fh.docs.exceptions_package=Package
fh.docs.exceptions_fh_specific_exceptions=FH specific exceptions extends RuntimeException. Base class in exception hierarchy is FhException
# ++++++++++++++++++++++++++++ FH Events +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.event.to_use_notification_use_following=To use notification use following
fh.docs.event.example_usage=Example usage
fh.docs.event.form_code=XML
fh.docs.event.use_case_code=Use case code
fh.docs.event.java_code=Java code
fh.docs.event.custom_custom_action_event=Custom action event
fh.docs.event.custom_custom_action_event_helps=Custom action event helps developer create custom javascript function on given actionName
fh.docs.event.custom_action_name_is_a_function_name=Action name is a function name used in javascript. It must be place in CustomActions.callbacks map
fh.docs.event.custom_javascript_example=Javascript example
fh.docs.event.custom_usecase_java_example=UseCase Java example
fh.docs.event.file_file_download_event=File download event
fh.docs.event.file_file_download_event_is_an_event=File download event is an event which will push file download after action execution
fh.docs.event.file_there_is_many_possible_api_parameters_depending_on_needs=There is many possible API parameters depending on needs
fh.docs.event.file_if_you_will_upload_file_to_a_fileupload=If You will upload file to a FileUpload form component, You will be able to download it. Moreover it is only example and if You will be able to have an object of type
fh.docs.event.file_you_can_just_point_it_from_code=You can just point it from code. [b]In this case binding of resource is not required.[/b]
fh.docs.event.file_upload_file=Upload file
fh.docs.event.file_download_by_resource=Download by resource
fh.docs.event.file_download_by_form_element_binding=Download by form element binding
fh.docs.event.file_download_by_iresourced_form_element=Download by IResourced form element
fh.docs.event.focus_focus_event=Focus event
fh.docs.event.focus_focus_event_is_an_event_which=Focus event is an event which will put focus on specified component
fh.docs.event.focus_focus_input=Focus Input
fh.docs.event.scroll_event_form=Scroll event
fh.docs.event.scroll_event_form.event_description=Scroll event is an event which will scroll first scrollable component to show inner component based on passed id.
fh.docs.event.to_use_scroll_event_use_following=To use scroll event use following
fh.docs.event.scroll_to_button=Scroll to Button
fh.docs.event.scroll_with_animation=ScrollEvent with animation
fh.docs.event.panel_with_height=PanelGroup with fixed height (scrollable)
fh.docs.event.notification_notification_event=Notification event
fh.docs.event.notification_notification_event_is_an_event=Notification event is an event which will show notification (toast) in right top corner
fh.docs.event.notification_four_levels_of_notification_can_be_used=Four levels of notification can be used
fh.docs.event.notification_push_notification_of=Push notification of
fh.docs.event.notification_level=level
fh.docs.event.redirect_redirect_event=Redirect event
fh.docs.event.redirect_home=Redirect home
fh.docs.event.redirect_redirect_event_is_an_event_which=Redirect event is an event which will redirect user to another page
fh.docs.event.redirect_url_can_be_relative=Url can be relative (in example '/logout') or absolute: 'http://google.com'. Redirect can happen in new window or same window (controllable by 'newWindow' flag)
fh.docs.event.redirect_warning=[b]Warning!! If used with newWindow = true flag current use case context will be lost !![/b]
fh.docs.event.redirect_logout_user=Logout user
fh.docs.event.redirect_open_google.com_in_new_window=Open google.com in new window
# ++++++++++++++++++++++++++++ Dynamic Model ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.dynamicmodel_dynamic_model=Dynamic model
fh.docs.dynamicmodel_dynamic_model_allows_creating_and_modifying=Dynamic model allows creating and modifying dynamic classes and extended static classes in regular system work during the runtime, without need for application\'s restart.
fh.docs.dynamicmodel_static_class=Static class
fh.docs.dynamicmodel_persistent_class_which_has_concrete_equivalent=Persistent class, which has concrete equivalent in physical model (created by the programmer). Static classes are represented by Java classes with entity annotations in the application.In database every class has equivalent table or tables, which columns are mapped to class fields (attributes).
fh.docs.dynamicmodel_extended_static_class=Extended static class
fh.docs.dynamicmodel_a_class_which_extends_existing_static_class=A class which extends existing static class. Some fields of this class has equivalent in the physical model, the rest is created dynamically. Extended static class like dynamic class is described by the XML file. Either POJO Java class is created, but this class extends static class, which it extends.
fh.docs.dynamicmodel_dynamic_class=Dynamic class
fh.docs.dynamicmodel_has_no_equivalent_in_physical_model=Has no equivalent in physical model and is created completely in designer. Dynamic class is described by the XML file (generated in background by designed). During the runtime, based on the XML, Java class file is generated.
fh.docs.dynamicmodel_for_every_dynamic_model_class_attribute=For every dynamic model class attribute it is possible to join a validation rule. Validation rules joined to the dynamic model class attribute will work for every control instance which is associated to this attribute, beside on what form control is placed and beside on validation rules put on this control.
fh.docs.dynamicmodel_dynamic_data_model_can_be_created=Dynamic data model can be created using dynamic class designed or class diagram designer.
fh.docs.dynamicmodel_using_dynamic_class_designer_you_can=Using dynamic class designer you can
fh.docs.dynamicmodel_manage_dynamic_classes_and_their_attributes=\u2022 Manage dynamic classes and their attributes
fh.docs.dynamicmodel_map_dynamic_class_attributes_to_static_class_attributes=\u2022 Map dynamic class attributes to static class attributes
fh.docs.dynamicmodel_put_validation_rules_on_dynamic_class_attributes=\u2022 Put validation rules on dynamic class attributes
fh.docs.dynamicmodel_manage_relations_between_classes_in_non_graphical_way=\u2022 Manage relations between classes in non-graphical way
fh.docs.dynamicmodel_using_class_diagram_designer_you_can=Using class diagram designed you can
fh.docs.dynamicmodel_visualize_relationships_between_classes=\u2022 Visualize relationships between classes
fh.docs.dynamicmodel_manage_relationships_between_classes_and_set=\u2022 Manage relationships between classes and set their properties in graphical way
fh.docs.dynamicmodel_create_many_dynamic_model_class_diagrams=\u2022 Create many dynamic model class diagrams containing any number of classes (one class can be placed on many diagrams)
fh.docs.dynamicmodel_create_or_delete_dynamic_classes_from_the_diagram=\u2022 Create or delete dynamic classes from the diagram
fh.docs.dynamicmodel_move_classes_over_the_diagram_s_surface=\u2022 Move classes over the diagram\'s surface
fh.docs.dynamicmodel_create_new_diagram_version_with_comments=\u2022 Create new diagram version with comments
# ++++++++++++++++++++++++++++ Dynamic Content ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.dynamiccontent_dynamic_content=Dynamic content
fh.docs.dynamiccontent_bag=Bag
fh.docs.dynamiccontent_choose_component_to_add=Choose component to add
fh.docs.dynamiccontent_available_components=Available components
fh.docs.dynamiccontent_add_component=Add component
fh.docs.dynamiccontent_add_3_components=Add 3 components
fh.docs.dynamiccontent_remove_component=Remove component
fh.docs.dynamiccontent_remove_3_components=Remove 3 components
fh.docs.dynamiccontent_remove_all=Remove all
fh.docs.dynamiccontent_add_1_component_to_the_beginning_and_2_at_the_end=Add 1 component to the beginning and 2 at the end
fh.docs.dynamiccontent_add_1_component_to_the_beginning_at_2_in_the_middle=Add 1 component to the beginning and 2 in the middle
# ++++++++++++++++++++++++++++ Core Security ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.core.security_core_security=Core security
fh.docs.core.security_information=Information
fh.docs.core.security_basic_information=Basic information
fh.docs.core.security_fh_core_provides_security_mechanism=FH Core provides security mechanism based on ideas: [b]System Function[/b] and [b]Business Role[/b].
fh.docs.core.security_system_function_represents_resource=[b]System Function[/b] - represents resource that can be under protection.
fh.docs.core.security_annotation_systemfunction_can_be_placed=Annotation [i]@SystemFunction[/i] can be placed on [b]UseCase[/b], [b]Action[/b], [b]BusinessRule[/b] or [b]FhService[/b].
fh.docs.core.security_business_role_represents_business=[b]Business Role[/b] - represents business role that user is associated with.
fh.docs.core.security_permission_checks_are_injected=Permission checks are injected in following core places in FH lifecycle
fh.docs.core.security_when_initialized_menu_tree_is_loaded_based=When initialized menu tree is loaded based on module.sys files - if logged user has no permission then use case is not available from GUI.
fh.docs.core.security_when_user_wants_to_execute_use_case=When user wants to execute [b]use case[/b] - fh checks whether user has permission for running it.
fh.docs.core.security_when_user_wants_to_execute_action=When user wants to execute [b]action[/b] - fh checks whether user has permission for running it.
fh.docs.core.security_when_user_wants_to_execute_rule=When user wants to execute [b]business rule[/b] - fh checks whether user has permission for running it.
fh.docs.core.security_when_user_wants_to_execute_service=When user wants to execute method from [b]service[/b] - fh checks whether user has permission for running this service.
fh.docs.core.security_core_authorization_manager=Core Authorization Manager
fh.docs.core.security_fh_provides_core_authorization_manager=FH provides core authorization manager [i]CoreAuthorizationManager[/i] that implements [i]AuthorizationManager[/i] interfaces.
fh.docs.core.security_this_manager_is_fully_responsible=This manager is fully responsible for controlling which business roles have access to application functionalities.
fh.docs.core.security_authorizationmanager_interface_is_presented_below=AuthorizationManager interface is presented below
fh.docs.core.security_allowing_guests_not_logged_in_users_access=Allowing \'Guests\' (not logged in users) access
fh.docs.core.security_to_allow_not_logged_in_users=To allow not logged in users ('Guests') access specific resources you need to set property
fh.docs.core.security_and_assign_guest_system_role_to_selected=and assign to system role 'guest' any system functions you want to be permitted for guests. In case Guest try to access protected part of application, it will be redirected to "/authenticateGuest" address (URL can be changes with property fh.web.guests.authenticate.path), which is protected by Spring Security. After authentication application will try to open protected reasource again
fh.docs.core.security_using_security_in_a_new_module=Using security in a new module
fh.docs.core.security_introduction=Introduction
fh.docs.core.security_instruction=Instruction
fh.docs.core.security_on_starting_application_authorization=On starting application, authorization manager scan for all [b]@SystemFunction[/b] annotations, that are placed on UseCases and Actions.
fh.docs.core.security_also_when_user_is_logged_in=Also when user is logged in, first the business roles for that user are retrieved from security provider.
fh.docs.core.security_using_sam_module_administrator_can=Using SAM module, administrator can map business roles to specific system function, defined in a use case class or in an action by [b]@SystemFunction[/b] annotation.
fh.docs.core.security_new_module_must_fulfill_requirements=New module must fulfill requirements presented below, if it wants to use Fh core security mechanism
fh.docs.core.security_each_module_has_to_declare_enum=Each module has to declare enum implementing interface: [b]ISystemFunctionId[/b].
fh.docs.core.security_inside_the_enum_implementation_there=Inside the enum implementation there have to be declared system function names as a [b]public static final String[/b] fields, e.g.
fh.docs.core.security_public_static_final_string=[b]public static final String SAM_SECURITY_USER_VIEW = "sam/security/user/view";[/b]
fh.docs.core.security_system_function_name_should_contains=System function name should contains module name (as a prefix) and functionality name. Each word should be separated using \'/\' char.
fh.docs.core.security_pattern_modulename_functionalityname=Pattern: [b]ModuleName/FunctionalityName[/b], e.g. [b]sam/security/user/view[/b]
fh.docs.core.security_separation_char_in_system_function=Separation char in a system function name is used for building functions hierarchy (look at point 'g').
fh.docs.core.security_fields_declared_at_point=Fields declared at point 'a' should have the same name as a name of declared system function (using upper case and replacing char '/' with '_').
fh.docs.core.security_system_function_name=system function name: [b]sam/security/user/view[/b] -> static field name: [b]SAM_SECURITY_USER_VIEW[/b]
fh.docs.core.security_each_static_field_declared=Each static field declared at point 'a' should be used to declare enum type of system function, e.g.
fh.docs.core.security_fun_user_preview=[b]FUN_SECURITY_USER_VIEW(SAMSystemFunction.SAM_SECURITY_USER_VIEW)[/b]
fh.docs.core.security_enums_declared_at_point_d=Enums declared at point 'd' should have prefix 'FUN' (from FUNCTION).
fh.docs.core.security_each_static_field_declared_at_point=Each static field declared at point 'a' should be used inside all [b]@SystemFunction[/b] annotations: e.g.
fh.docs.core.security_systemfunction=[b]@SystemFunction(SAMSystemFunction.SAM_SECURITY_USER_VIEW)[/b]
fh.docs.core.security_it_is_able_to_declare_given=It is possible to build system functions hierarchy using separator in a system function name (e.g. [b]sam/security[/b], [b]sam/security/user[/b], [b]sam/security/user/view[/b]).
fh.docs.core.security_fun_user_management=If user has permission for function [b]sam/security/user[/b] it means that user has also permission for all subfunctions (e.g. [b]sam/security/user/view[/b] and [b]sam/security/user/edit[/b])
fh.docs.core.security_module_sys_uuid= In a [b]module.sys[/b] file there has to be defined a unique module id (UUID). It is allowed to use same module UUID for many modules. In that case all modules will use the same system functions and all system functions will be agregateed at the same permission tree in SAM module.
fh.docs.core.security_also_in_module_sys=Also in a [b]module.sys[/b] file there has to be defined mapper class that implements [b]ISystemFunctionsMapper[/b].
fh.docs.core.security_example_implementation_of_system=Example implementation of system functions enum for SAM module:
fh.docs.core.security_example_implementation_of_using=Example implementation of using a [b]@SystemFunction[/b] annotations:
fh.docs.core.security_application_privileges=A mask file for permissions
fh.docs.core.security_privileges_introduction=Description
fh.docs.core.security_privileges_common=It is possible to define a mask file with permissions for entire application. In that file we can define for which functionalities an application will has access and for which functionalities an application will not has access. In that case, in application in [b]SAM[/b] module, there will be a possibility to grant access to users only for application functionalities defined in configuration file. Moreover only those functionalities will be visible at application menu. You need to select a mask file as an application property:
fh.docs.core.security_privileges_selected_file=Given file has to be a [b]YAML[/b] file and should has structure according to following example:
fh.docs.core.security_privileges_module:[b]module[/b] - provides a mask information concerning permissions for specific module.
fh.docs.core.security_privileges_uuid:[b]uuid[/b] - a unique identification number for module or group of modules.
fh.docs.core.security_privileges_permission:[b]permission[/b] - provides a mask information concerning specific permission for given module.
fh.docs.core.security_privileges_type:[b]type[/b] - describes type of given permission ([b]ALLOW[/b] - allow access for given system function, [b]DENY[/b] - deny access for given system function).
fh.docs.core.security_privileges_function:[b]function[/b] - name of a system function for whom the permission is defining.
fh.docs.core.security_privileges_allow_all:If you want to permit for access to whole application you have to put following row as a first line in the [b]YAML[/b] file (in that case rest of the file will be ignored):
fh.docs.core.security.providers.tab=Security data providers
fh.docs.core.security.providers.description=Description
fh.docs.core.security.providers.header=As a part of the FH configuration, you can specify one of the types of security data provider that will deliver information about users and business roles. These data will be used for the user authentication and authorization, that is verification of the access to selected use cases, actions, services or business rules.
fh.docs.core.security.providers.types=The following security data providers have been implemented in the FH application:
fh.docs.core.security.providers.jdbc=[b]JDBC[/b] (default) - users data and business roles are stored in the local database. That provider [b]allows[/b] to add, edit and delete system users and business roles using the [b]SAM[/b] administration module.
fh.docs.core.security.providers.ldap=[b]LDAP[/b] - users data and business roles are stored in the external LDAP database. That provider does [b]not allow[/b] to add, edit and delete system users and business roles using the [b]SAM[/b] administration module.
fh.docs.core.security.providers.saml=[b]SAML[/b] - users data and business roles are stored in the external system. The login process to the application is also redirected to the external identity provider (IDP). That provider does [b]not allow[/b] to add, edit and delete system users, but it [b]allows[/b] to add, edit and delete business roles using the [b]SAM[/b] administration module. The business roles added in the system should be analogous to the roles registered in the external IDP system.
fh.docs.core.security.providers.remote=[b]REMOTE[/b] - users data and business roles are stored in the external system, however, it is the programmer's responsibility to implement the external system invocation to obtain user data and its roles. Using this provider you have to deliver implementation of the [b]RemoteSecurityDataRepository[/b] interface, which defines method that retrieves data of the selected user and method that retrieves data of all the business roles available in the system. It is possible to provide many implementations within one application, where by providing the [b]getOrder[/b] method for each repository we are able to determine the order in which they are invoke to search user data. That provider does [b]not allow[/b] to add, edit and delete system users and business roles using the [b]SAM[/b] administration module.
fh.docs.core.security.providers.cached=[b]CACHED[/b] - specific implementation of the [b]REMOTE[/b] provider, for which user data and business roles are stored in a local or distributed cache. That provider does [b]not allow[/b] to add, edit and delete system users and business roles using the [b]SAM[/b] administration module. The Cache can be fed with user data delivered in the application properties, e.g.
fh.docs.core.security.providers.rest=[b]REST[/b] - specific implementation of the [b]REMOTE[/b] provider for which user data and business roles are retrieved by an external REST service. That provider does [b]not allow[/b] to add, edit and delete system users and business roles using the [b]SAM[/b] administration module.
fh.docs.core.security.providers.permissions=For all of the above security data providers there is available a functionality in [b]SAM[/b] module to define system permissions, that is assigning system functions to selected business roles.
fh.docs.core.security.providers.custom=There is also a possibility to implement any security data provider by yourself and use it in your application. To do this, you have to provide implementation for the following interfaces:
fh.docs.core.security.providers.userAccountProvider=[b]UserAccountProvider[/b] - interface defining methods for managing system users.
fh.docs.core.security.providers.businessRoleProvider=[b]BusinessRoleProvider[/b] - interface defining methods for managing business roles.
fh.docs.core.security.providers.securityProviderInitializer=[b]SecurityProviderInitializer[/b] - interface defining methods that allow you to configure Spring Security for the application and perform some other steps to initialize security data.
fh.docs.core.security.providers.user_params=Additional user parameters
fh.docs.core.security.providers.user_params.header=For [b]REMOTE[/b] and [b]REST[/b] security data provider it is possible to deliver additional user parameters. Additional parameters should be passed as a key-value collection, where the key is an object of type [b]String[/b], and the value is a generic type of [b]Object[/b]. The provided additional parameters will be stored in the user's session object ([b]UserSession[/b]) and will be available at every stage of this session's life.
fh.docs.core.security.providers.user_params.types=The ways of providing additional parameters for the selected security data provider:
fh.docs.core.security.providers.user_params.remote=[b]REMOTE[/b] - Using this provider you have to deliver implementation of the [b]RemoteSecurityDataRepository[/b] interface. Within this implementation the [b]findUserByName[/b] method should be delivered, which returns an instance of the [b]UserInfo[/b] class. This class stores basic information about the system user required for proper security operation. Within this class, the [b]attributes[/b] field is available, which is a collection of key ([b]String[/b]) - value ([b]Object[/b]) pairs. Supplying this collection at the stage of implementing the [b]findUserByName[/b] method will allow for transfer of these attributes to a given user's session.
fh.docs.core.security.providers.user_params.rest=[b]REST[/b] - using this provider, you have deliver an external REST service that returns information about the user and his business roles. As a part of the returned JSON object, the [b]attributes[/b] property should be delivered, in which the data in the key ([b]String[/b]) - value ([b]Object[/b]) format will be transferred. The data transferred in this way will be stored in the user's session attributes. Sample data returned by the REST service:
fh.docs.core.security.permissions.tab=Permission providers
fh.docs.core.security.permissions.description=Description
fh.docs.core.security.permissions.header=As a part of the FH configuration, you can specify one of the types of permission provider. These data will be used in security mechanisms to determine which application functionalities can be run by the user. Permission is information indicating that selected business role has the ability to run given functionality within a specific application module.
fh.docs.core.security.permissions.types=The following permission providers have been implemented in the FH application:
fh.docs.core.security.permissions.jdbc=[b]JDBC[/b] (default) - permission data are stored in an operational database.
fh.docs.core.security.permissions.standalone=[b]STANDALONE[/b] - permission data are stored in a local XML file.
fh.docs.core.security.permissions.rest=[b]REST[/b] - permission data are stored in an external repository and they are accessed through REST services.
fh.docs.core.security.permissions.sam=For all of the above providers there is available a functionality in [b]SAM[/b] module to define application permissions.
fh.docs.core.security.permissions.custom=There is also a possibility to implement any permission provider by yourself and use it in your application. To do this, you have to provide implementation for the [b]PermissionRepository[/b] interface.
# ++++++++++++++++++++++++++++ Core Keyboard Events +++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.core.keyboard_keyboard_events=Keyboard events
fh.docs.core.keyboard_description=Description
fh.docs.core.keyboard_theese_form_components_can_handle=Theese form components can handle keyboard events: InputText, InputNumber, InputDate, InputTimestamp, Combo, Diagram. To handle key pressing event put [b]key combination[/b] definition in "keyEvent" attribute and action to be executed in "onKeyEvent" attribute.
fh.docs.core.keyboard_key_combination_is_defined=[b]Key combination[/b] is defined according to pattern: [CTRL+][ALT+][SHIFT+]KEY, where KEY is: a single character, $ASCII (ASCII id decimal ASCII key code) or one of [b]predefined keys[/b], e.g. CTRL+ALT+A, SHIFT+$32, ALT+ENTER.
fh.docs.core.keyboard_predefined_keys_are=[b]Predefined keys[/b] are: F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, ESC, ESCAPE, TAB, SPACE, RETURN, ENTER, BACKSPACE, SCROLLLOCK, SCROLL_LOCK, SCROLL, CAPSLOCK, CAPS_LOCK, CAPS, NUMLOCK, NUM_LOCK, NUM, PAUSE, BREAK, INSERT, HOME, DELETE, DEL, END, PAGEUP, PAGE_UP, PAGEDOWN, PAGE_DOWN, LEFT, UP, RIGHT, DOWN.
fh.docs.core.keyboard_in_order_to_handle_more_than=In order to handle more than one key combination with a single action put [b]multiple key combinations[/b] in definition separating them with | character, e.g. CTRL+SPACE|CTRL+ENTER|ESC.
fh.docs.core.keyboard_in_order_to_handle_more_than_one=In order to handle more than one key combination with different actions add additional elements do component element.
fh.docs.core.keyboard_a_single_action_with_a_single_keyboard_event=A single action with a single keyboard event
fh.docs.core.keyboard_press_enter=Press ENTER
fh.docs.core.keyboard_press_del=Press DEL
fh.docs.core.keyboard_press_ctrl_x=Press CTRL+X
fh.docs.core.keyboard_press_f2=Press F2
fh.docs.core.keyboard_press_ctrl_shift_space=Press CTRL+SHIFT+SPACE
fh.docs.core.keyboard_xml=XML
fh.docs.core.keyboard_a_single_action_with_multiple_keyboard_events=A single action with multiple keyboard events
fh.docs.core.keyboard_press_enter_del_or_space=Press ENTER, DEL or SPACE
fh.docs.core.keyboard_multiple_actions_each_with_a_single_keyboard_event=Multiple actions each with a single keyboard event
fh.docs.core.keyboard_press_enter_ctrl_x_or_esc=Press ENTER, CTRL+X or ESC
fh.docs.core.keyboard_mixed_example=Mixed example
# ++++++++++++++++++++++++++++ Core Forms +++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.core.forms_forms_documentation=Forms documentation
fh.docs.core.forms_basic_information=Basic information
fh.docs.core.forms_core_functionality_of_fh=Core functionality of FH is form management that corresponds with [b]containers[/b] and [b]use cases[/b].
fh.docs.core.forms_examples_legend=Examples legend
fh.docs.core.forms_f_normal_form=F - normal form
fh.docs.core.forms_mn_modal_form=M(n) - modal form, where n - represents index of stack forms
fh.docs.core.forms_mon_modal_form_as_overflow=MO(n) - modal form as overflow type, where n - represents index of stack forms
fh.docs.core.forms_modal_forms_with_inline_messages_from_java=Modal forms with inline Messages - from java
fh.docs.core.forms_by_default_messages_class=By default Messages class, will create MODAL form with [b]overflow = true[/b]. It means, that this modal will overflow any modal if its presented.
fh.docs.core.forms_if_no_modal_is_presented=If no modal is presented, it will behave like "normal" MODAL form. Below is presented forms workflow of this example.
fh.docs.core.forms_messages_modal=Messages modal
fh.docs.core.forms_modal_forms_as_normal_xml_form=Modal forms as normal xml Form
fh.docs.core.forms_creating_form_by_xml=Creating form by xml, means that client will define formType. If client wants to create "normal" modal, in formType should be defined "MODAL",
fh.docs.core.forms_or_if_modal_with_overflow=or if modal with overflow, then setting it to "MODAL_OVERFLOW" (it will behave like Messages modal). Below is presented forms workflow of this example.
fh.docs.core.forms_form_modal=Form modal
fh.docs.core.forms_more_complex_modal_forms_usage=More complex modal forms usage
fh.docs.core.forms_lets_assume_that_client=Let's assume that client wants to display modal forms in that order
fh.docs.core.forms_when_messages2_will_be_displayed=When Messages2 will be displayed, all previous modal forms will be visible (but not active).
fh.docs.core.forms_when_simplemodal_will_be_display= When SimpleModal will be display all modal forms will be closed, and only SimpleModal will be visible and active to user. Below is presented forms workflow of this example.
fh.docs.core.forms.example_other_modal=Other modal
fh.docs.core.forms.example_its_not_the_same_modal_as_before=It's not the same modal as before.
fh.docs.core.forms.example_simple_modal=Simple modal
fh.docs.core.forms.example_some_basic_modal=Some basic modal
#fh.docs.core.forms.example_next_modal=Next modal
#fh.docs.core.forms.example_modal_with_overflow=Modal with overflow
#fh.docs.core.forms.example_no=No
#fh.docs.core.forms.example_title=Title
#fh.docs.core.forms.example_do_you_want_next_modal=Do you want next modal?
#fh.docs.core.forms.example_do_you_want_next_modal_but_not=Do you want next modal, but not with overflow?
# ++++++++++++++++++++++++++++ Core Publisher ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.core.publisher.menu=Message publisher
fh.docs.core.publisher.basics=Basic information
fh.docs.core.publisher.basics_description=FH Core provides implementation of the [b]publish - subscribe[/b] design pattern. Using this mechanism, you can broadcast any message to all components subscribing given topic. Depending on the choice of implementation variant, broadcasting can take place within one server ([b]pubsub-standalone[/b]) or on all nodes in cluster ([b]pubsub-cluster[/b]). Messages are broadcast in an asynchronous mode. There may be more than one component on the server subscribing the same topic. Each of them will be separately notified about publication of the message. Using cluster broadcasting variant of implementation, a message class should implement the [b]Serializable[/b] interface.
fh.docs.core.publisher.usage=Usage
fh.docs.core.publisher.usage_model=The broadcast message can be an object of any type:
fh.docs.core.publisher.usage_subscriber=To create a subscriber class for a specific topic, you must provide the [b]MessageSubscriber[/b] interface implementation and mark it as a Spring component of the [b]@Service[/b] type. Two methods should be provided as a part of the implementation:
fh.docs.core.publisher.usage_subscriber_get_topic=[b]String getTopic()[/b] - determines topic which component will be subscribing
fh.docs.core.publisher.usage_subscriber_on_message=[b]void onMessage(Object message)[/b] - reaction on publishing a message in a given topic
fh.docs.core.publisher.usage_publish=In order to send a message, inject the [b]MessagePublisher[/b] component and call the [b]publish[/b] method on it. The method requires two arguments, the first is the subject ([b]String[/b]) under which the message will be published, and the second is the message object itself.
fh.docs.core.publisher.usage_example_message=Message content
fh.docs.core.publisher.usage_example_send=Send
fh.docs.core.publisher.config=Configuration
fh.docs.core.publisher.config_variants=There are two variants of publication mechanisms available:
fh.docs.core.publisher.config_standalone=[b]Standalone[/b] - messages will be broadcast only within the given server
fh.docs.core.publisher.config_cluster=[b]Cluster[/b] - messages will be broadcast to all servers in the cluster. This variant requires configure and launch the Redis server, which will be used to broadcast messages in the cluster.
fh.docs.core.publisher.noconfig=Message publisher is not configured
# ++++++++++++++++++++++++++++ Converter ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.converter_type_conversion=Type conversion
fh.docs.converter_selectonemenu_bound_to_collection=SelectOneMenu bound to collection of objects with conversion
fh.docs.converter_conversion_is_mechanism_which_will=Conversion is mechanism which will automatically convert Your Web model to Java Objects and vice versa. In Spring we have two classes which are responsible for conversion: org.springframework.core.convert.converter.Converter (one way conversion) and org.springframework.format.Formatter (two way conversion).
fh.docs.converter_to_string_conversion=To string conversion
fh.docs.converter_in_this_example_first_selectonemenu=In this example first SelectOneMenu is bound to User's model first name and second one is bound to User's model last name. Both of them are bound to User object but converts separately due to formatter attribute.
fh.docs.converter_please_select_user_by_last_name=Please select user (by last name)
fh.docs.converter_please_select_user_by_first_name=Please select user (by first name)
fh.docs.converter_selected_user_is=Selected user is
fh.docs.converter_selected_user_is_2=Selected user is
fh.docs.converter_years_old=years old
fh.docs.converter_selected_user_was_created_on=Selected user was created on
fh.docs.converter_code=Code
fh.docs.converter_to_object_conversion=To object conversion
fh.docs.converter_in_this_example_inputtext_is_bound=In this example InputText is bound to User by his last name. If we type correct last name typed string will be bound to User object.
fh.docs.converter_please_type_last_name_one_of_users=Please type last name one of users
fh.docs.converter_typed_user_is=Typed user is
fh.docs.converter_typed_user_is_2=Typed user is
fh.docs.converter_typed_user_was_created_on=Typed user was created on
fh.docs.converter_model=Model
fh.docs.converter_formatter=Formatter
fh.docs.converter_in_fh_framework_we_have_two_ways=In FH Framework we have two ways of formatting object. First is default (occurs when we do not pass formatter parameter). In this case standard formatter will be invoked : It must be class which is annotated by pl.fhframework.formatter.FhFormatter and extends pl.fhframework.formatter.AutoRegisteredFormatter class. Please see example below.
fh.docs.converter_default_formatter_code=Default formatter code
fh.docs.converter_if_we_want_to_have_other_than_default=If we want to have other than default to String conversion we may have another formatter which will be invoked when we specify formatter attribute. Formatter attribute value has to be equal to pl.fhframework.formatter.FhFormatter annotation value.
fh.docs.converter_custom_formatter_code=Custom formatter code
fh.docs.converter_inherited_conversion=Inherited conversion
fh.docs.converter_inherited_to_string_conversion=Inherited to string conversion
fh.docs.converter_in_this_example_first_selectonemenu_is_bound=In this example first SelectOneMenu is bound to ForeignUser's model first name. Both of them are bound to ForeignUser object but no ForeignUser formatter is defined. In this case above UserFormatter will be used as default because ForeignUser extends User.
fh.docs.converter_selected_user_comes_from_system_id=Selected user comes from system ID
fh.docs.converter_selected_user_comes_from_company=Selected user comes from company
# ++++++++++++++++++++++++++++ Change log ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.changelog_change_log=Change log
fh.docs.changelog_everything_you_need_to_know_about=Everything you need to know about how your project is running is tracked on this page.
fh.docs.changelog_new_features=New Features
fh.docs.changelog_list_of_new_features_and_improvements=List of new features and improvements.
fh.docs.changelog_new=New
fh.docs.changelog_authors=Authors
fh.docs.changelog_release=Release
fh.docs.changelog_ticket=Ticket
fh.docs.changelog_area=Area
fh.docs.changelog_all=All
fh.docs.changelog_title=Title
fh.docs.changelog_description=Description
fh.docs.changelog_version=Version
fh.docs.changelog_update=Update
fh.docs.changelog_bug_fixes=Bug fixes
fh.docs.changelog_list_of_bug_fixes=List of bug fixes.
# ++++++++++++++++++++++++++++ Building Fh ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.building_building_fh=Building Fh
fh.docs.building_error_while_building_basiccontrols=Error while building basicControls
fh.docs.building_if_there_is_a_problem_while_building=If there is a problem while building basicControls on Windows (see "Error" listing), building tools have to be installed. Assuming that the build process has been run and npm is already there. Run commands in "Installer commands" [b]as Administrator[/b] and resume the build process.
fh.docs.building_error=Error
fh.docs.building_installer_commands=Installer commands
# ++++++++++++++++++++++++++++ Availability ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.availability_availability_configuration=Availability configuration
fh.docs.availability_elements=Elements
fh.docs.availability_component_is_editable=Component is editable
fh.docs.availability_component_is_read_only=Component is read only
fh.docs.availability_component_is_hidden=Component is hidden
fh.docs.availability_component_will_be_the_method=Component will be the method that will calculate the availability
fh.docs.availability_the_variant_contains_the_availability=The variant contains the availability rules that apply when the component is displayed in a given variant
fh.docs.availability_value=Expression based availablity setting
fh.docs.availability_complex_availability=Complex, permission based availability setting
fh.docs.availability_permission_based_availability=Permission based availability
fh.docs.availability_permission_based_using_availability_tag=Using "Availability" element
fh.docs.availability_use_some_attrs=use only some of attributes
fh.docs.availability_roles_based=user roles based availability
fh.docs.availability_perm_based=functionality permissions based availability
fh.docs.availability_permission_based_using_permission_checks=Using permission and role checks
fh.docs.availability_calculated=calculated expression
fh.docs.availability_availability_value="AvailablityValue" element
fh.docs.availability_variants=Variants
fh.docs.availability_default_availabilityconfiguration_is_always=Default AvailabilityConfiguration is always active, depends on variant different InputText's will be ReadOnly.
fh.docs.availability_default_variant=Default Variant - Text 1 readonly
fh.docs.availability_variant_a=Variant A - Text 1 and Text 2 readonly
fh.docs.availability_variant_b=Variant B - Text 1 and Text 3 readonly
fh.docs.availability_variant_c=Variant C - Text 1, Text 2 and Text 3 readonly
fh.docs.availability_readonly_inputtext_linked_with_variants=ReadOnly InputText linked with variants
fh.docs.availability_code=Code
# fh.docs.availability_example_text=Example text
fh.docs.availability_example_radiooption=Example RadioOption
fh.docs.availability_setbyprogrammer_inputtext_linked_with_variants=SetByProgrammer InputText linked with variants
fh.docs.availability_the_same_above_example=The same above example (same rules) is for SetByProgrammer tags.
fh.docs.availability_availabilityconfiguration_code=AvailabilityConfiguration Code
fh.docs.availability_form_components_code=Form components code
fh.docs.availability_java_code=Java code
fh.docs.availability_form_code=Form code
fh.docs.availability_usecase_code=UseCase code
fh.docs.availability_boundable_availability=Boundable availability
fh.docs.availability_availability_configuration_in_table=AvailabilityConfiguration in table
fh.docs.availability_availability=Availability
fh.docs.availability_editable=Editable
fh.docs.availability_xml=XML
fh.docs.availability_java=Java
fh.docs.availability_availability_configuration_for_controls=Availability Configuration for controls
fh.docs.availability_set_availability=Set availability
fh.docs.availability_hide=Hide
fh.docs.availability_edit=Edit
fh.docs.availability_view=View
fh.docs.availability_inheritance=Inheritance
fh.docs.availability_limited_inheritance_example=Limited inheritance example
fh.docs.availability_panel_with_view_availability=PanelGroup with VIEW availability
fh.docs.availability_input_without_any_defined_availability_inherits_view_from_panel=InputText without any defined availability - inherits VIEW from panel
fh.docs.availability_input_with_a_availability_rule_in_availabilityconfiguration=InputText with a availability rule in AvailabilityConfiguration
fh.docs.availability_input_with_a_availability_binding=InputText with a availability binding
fh.docs.availability_nested_panels_example=Nested panels example
fh.docs.availability_panel_with_edit_availability=PanelGroup with EDIT availability
fh.docs.availability_input_in_panel=InputText in PanelGroup
# ++++++++++++++++++++++++++++ UseCase Urls ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.url_urls_to_use_cases=URLs to use cases
fh.docs.url_concept=Concept
fh.docs.url_many_use_cases_are_being_started_while=Many use cases are being started while walking through the application. Some of them are worth remembering as a bookmark for later use or sharing with other users of the application.
fh.docs.url_use_cases_creator_can_mark_it_as_use_case=Use case's creator can mark it as use case with an URL. Each time this use case is started, it will expose an URL to itself. URLs can even include use case's input parameters (simple or convertible types, enums, database entities or event complex types).
fh.docs.url_url_format=URL format
fh.docs.url_url_to_an_use_case_contains=URL to an use case contains
fh.docs.url_alias_identifies_the_use_case=alias (identifies the use case)
fh.docs.url_positional_parameters_visible_as_path_elements=positional parameters (visible as path elements)
fh.docs.url_named_parameters_visible_as_query_parameters=named parameters (visible as query parameters)
fh.docs.url_example_urls=Example urls
fh.docs.url_exposing_an_url=Exposing an URL
fh.docs.url_to_expose_an_url_start_with_annotating=To expose an URL start with annotating use case @UseCaseWithUrl.
fh.docs.url_it_is_recommended_to_give_use_case=It is recommended to give use case a pretty and unique alias by providing 'alias' parameter in annotation. Otherwise alias will be taken as name of the use case's class.
fh.docs.url_input_parameters=Input parameters
fh.docs.url_input_parameter_of_an_url_enabled=Input parameter of an URL enabled use case can be auto-exposed as positional or named parameters. Supported types are
fh.docs.url_strings_number=strings, number
fh.docs.url_enums=enums
fh.docs.url_convertible_types_see=convertible types (see
fh.docs.url_type_convertion_concept=Type Convertion concept
fh.docs.url_database_entities_id_of_an_entity_is_exposed=database entities (id of an entity is exposed)
fh.docs.url_complex_types_if_urlparamwrapper=complex types if @UrlParamWrapper annotated (nested properties are exposed)
fh.docs.url_no_annotations=No annotations
fh.docs.url_by_default_all_parameters_are_exposed=By default all parameters are exposed as positional parameters and complex types are not supported (besides convertible types and database entities).
fh.docs.url_urlparam_annotation=@UrlParam annotation
fh.docs.url_urlparam_annotation_can_be_used_to_declare=UrlParam annotation can be used to declare parameter position (which makes it positional) or name (which makes it named).
fh.docs.url_urlparamignored_annotation=@UrlParamIgnored annotation
fh.docs.url_urlparamignored_annotation_can_be_used=UrlParamIgnored annotation can be used to skip it in the URL.
fh.docs.url_urlparamwrapper_annotation=@UrlParamWrapper annotation
fh.docs.url_urlparamwrapper_annotation_can_be_used=UrlParamWrapper annotation can be used to expose nested properties of this parameter as they were parameters themselves. UrlParamWrapper annotation can declare name prefix (namePrefix) to be used for nested named parameters. Nested properties as by default named, but this can be change by setting useNames flag to false. Any nested property can be annotated with one @UrlParam, @UrlParamIgnored or @UrlParamWrapper annotation in order to change default behavior.
fh.docs.url_adapters=Adapters
fh.docs.url_in_more_complex_scenarios_eg_external_service=In more complex scenarios (e.g. external service must be used to obtain value by its id) special adapters can be used. Use case creator can (depending on use case's input interface) implement IUseCaseOneInputUrlAdapter or IuseCaseTwoInputUrlAdapter to expose and parse parameters instead of using annotations and default behavior. Adapter class is declared in @UseCaseWithUrl.
fh.docs.url_adapters_hacking_not_recommended=Adapters - hacking (not recommended)
fh.docs.url_although_it_is_not_considered_to_be_a_good_practice=Although it is not considered to be a good practice, in very rare cases adapter can implement IUseCaseUrlAdapter directly to completely take over control of exposing URL and starting use case based on URL. It is also possible to implement adapter by the use case itself. It that case the same instance is used both as the adapter and the use case.
# ++++++++++++++++++++++++++++ Application Modes ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.management_application_modes=Application modes
fh.docs.management_available_application_modes=Available application modes
fh.docs.management_it_is_possible_to_select_one=It is possible to select one of below possible application modes
fh.docs.management_empty_none_mode_is_selected=empty - none mode is selected
fh.docs.management_dev_development_mode=dev - development mode
fh.docs.management_prod_production_mode=prod - production mode
fh.docs.management_how_to_change_application_mode=How to change application mode
fh.docs.management_application_mode_is_based_on=Application mode is based on Spring active profiles mechanism described in documentation here
fh.docs.management_set_the_active_spring_profiles=Set the active Spring profiles
fh.docs.management_to_set_up_value_of_active_application=To set up value of active application mode you will have to set property value, like
fh.docs.management_pura_application_is_set_to_start=PURA application is set to start in development mode by default - example configuration is file
fh.docs.management_menu_nodes_visibility=Menu nodes visibility
fh.docs.management_steering_of_tree_nodes_visibility=Steering of tree nodes visibility
fh.docs.management_since_application_modes_are_available=Since application modes are available, it is possible to hide specific left-menu tree nodes in selected application mode.
fh.docs.management_it_is_not_possible_to_run_manually=[color='red']It is not possible to run manually UseCase that is not covered in menu[/color] (notice that UseCase can be missing or even hidden in menu)
fh.docs.management_show_nodes_always=Show nodes always - no matter what application mode is selected
fh.docs.management_it_is_possible_to_define=It is possible to define visibility by setting value of attribute called 'mode'. Possible for UseCase and Group elements.
fh.docs.management_in_example_below=In example below, group 'Documentation' will be visible in all modes: dev, empty, prod.
fh.docs.management_hide_nodes_based_on_application_mode=Hide nodes based on application mode
fh.docs.management_in_example_below_2=In example below, group 'Documentation' will be visible only in modes: dev, empty. Group won't be visible in production mode.
fh.docs.management_hide_only_specific_node_not_whole_group=Hide only specific node (not whole group)
fh.docs.management_in_example_below_3=In example below, use case 'Form components' will be visible only in modes: dev, empty. Use case won't be visible in production mode.
fh.docs.management_xml=XML
fh.docs.management_other_aspects_impacts=Other aspects (impacts)
fh.docs.management_dependent_functionalities=Dependent functionalities
fh.docs.management_this_section_describes_other_impacts=This section describes other impacts of application modes. Documentation covers application functionalities that depends on application mode and could behave differently on each mode.
fh.docs.management_logging_level=Logging level
fh.docs.management_in_production_mode_ui_errors=In production mode UI errors (like toasts, notifications) are not displayed. UI errors are only visible in dev or empty modes.
# ++++++++++++++++++++++++++++ Application Cache ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.cache_application_cache=Application Cache
fh.docs.cache_fh_components_use_jcache_api=FH components use JCache API (JSR-107). Applications, that use FH, have to define cache provider. Cache provider has to support asynchronous replication. It's recommended to use Infinispan.
fh.docs.cache_application_properties=Application properties
fh.docs.cache_parameters_that_can_be_defined_in=Parameters that can be defined in
fh.docs.cache_property_name=Property name
fh.docs.cache_description=Description
fh.docs.cache_default_value=Default value
fh.docs.cache_when_parameter=When parameter 'spring.profiles.active' is set to 'dev', the cluster name is overridden to node name. To force normal behaviour set 'cache.cluster.force' to 'true'.
fh.docs.cache_application_has_to_provide=Application has to provide implementation of CreateCacheProvider interface, which will create cache with proper name and JCache properties using choosen cache provider.
fh.docs.cache_fh_defines_following_cache_names=FH defines following cache names
fh.docs.cache_cache_name=Cache name
fh.docs.cache_cache_properties=Cache properties
fh.docs.cache_infinispan_as_a_cache_provider=Infinispan as a cache provider can be configured by defining these beans
fh.docs.cache_implementation_of_createcacheprovider_interface=Implementation of CreateCacheProvider interface
fh.docs.cache_infinispan_uses_jgroups_for_creating=Infinispan uses JGroups for creating cluster with IP Multicast. JGroups can be configured using system properties (as -D parameter for JVM) or by defining jgroup.xml file
fh.docs.cache_system_property=System property
# ++++++++++++++++++++++++++++ Layouting ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.layouting.layouting_elements=Layouting elements
fh.docs.layouting.application_layout=Application layout
fh.docs.layouting.usage=Usage
fh.docs.layouting.examples=Examples
fh.docs.layouting.page.full=Full width page
fh.docs.layouting.page.grid=Grid layout
fh.docs.layouting.infoLabel=Change page layout depending on a UseCase
fh.docs.layouting.fullWidthExample=Full width
fh.docs.layouting.fullWidth=Full width page
fh.docs.layouting.gridLayout=Grid layout
# ++++++++++++++++++++++++++++ Application Cache ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.create_new_project_menu=Creating new project
fh.docs.create_new_project_archetype_repository=Configuration of access to the FH archetypes repository.
fh.docs.create_new_project_archetype_repository_description=To create new FH application project from archetype, you need Apache Maven in version 3 or above. To access archetype repository, you must create or override file located in %user.home%/.m2/settings.xml
fh.docs.create_new_project_archetype_generation=Generating project from Archetype
fh.docs.create_new_project_archetype_generation_description=Using command propmpt, navigate to directory in witch you want create new project and run command below:
fh.docs.create_new_project_archetype_generation_maven_command=Maven command
fh.docs.create_new_project_archetype_generation_description_parameters_1=After downloading archetype, maven will ask for few parameters:
fh.docs.create_new_project_archetype_generation_description_parameters_2=groupId - Artifact package (e.g. pl.sample)
fh.docs.create_new_project_archetype_generation_description_parameters_3=artifactId - Artifact name (e.g. sample)
fh.docs.create_new_project_archetype_generation_description_parameters_4=version - Application version (deafult is 1.0-SNAPSHOT) you can skip it.
fh.docs.create_new_project_archetype_generation_description_parameters_5=package - Application root package. (If skipped, maven will take groupId value)
fh.docs.create_new_project_archetype_generation_description_parameters_6=When summary appear, type Y to confirm your parameters. After few moments, maven will generate working project, and will end with message "BUILD SUCCESS". Instruction and script for releasing FH Framework compatible version is in "coreLite_release" directory.
fh.docs.create_new_project_archetype_generation_console_output=Console otuput
fh.docs.create_new_project_archetype_generation_warning=Note: After generating project, remove tag "mirror" form settings.xml file. Running maven other commands with that tag in settings may results with errors.
fh.docs.create_new_module_menu=Creating new module
fh.docs.create_new_module_archetype_configure=Cofigure new module
fh.docs.create_new_module_archetype_configure_dependecy=After creating a new module, you need to configure project. In the application starter package (default is starter_module), edit the pom.xml file by adding a dependency to the newly created module. For example:
# ++++++++++++++++++++++++++++ Periodic Jobs ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.periodic_title=Periodic Jobs
fh.docs.periodic_info=Fh may run tasks with declared schedule. For each such task create a Spring bean implementing IPeriodicJob (need to have dependency to coreScheduler module). To make task running only on a single application instance in a cluster, set fhframework.scheduler.properties property to location of a proper Quartz configuration using a database and create Quartz tables using provided tables_*.sql script. For example: -Dfhframework.scheduler.properties=classpath:quartz-cluster-postgres.properties (provided configuration using PostgreSQL).
# ++++++++++++++++++++++++++++ Application Menu ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fh.docs.appmenu.definition=Menu definition
fh.docs.appmenu.defaultapp=FH provides default component for Application Menu: 'pl.fhframework.app.menu.MenuUC'. It's system UseCase and can be excluded (and replaced by own implementation) in application.properties with entry:
fh.docs.appmenu.menuxml=Elements for menu can be defined in menu.xml file for every FH module (located in /src/main/java folder):
fh.docs.appmenu.menuxml.ucattrs1=Attributes for element
fh.docs.appmenu.menuxml.ucattrs2=Attribute name
fh.docs.appmenu.menuxml.ucattrs3=Description
fh.docs.appmenu.menuxml.ucattrs3_1=fully qualified use case id
fh.docs.appmenu.menuxml.ucattrs3_2=element label displayed in menu, can be string or localized key ($.)
fh.docs.appmenu.menuxml.ucattrs3_3=determines if menu element is available remotely through FH Share (true/false value)
fh.docs.appmenu.menuxml.ucattrs3_4=factory name providing default values for use case input parameters
fh.docs.appmenu.menuxml.ucattrs4=Default value
fh.docs.appmenu.custom.label=Customization
fh.docs.appmenu.custom.txt1=To fully customize menu you need to create:\n 1. System UseCase and register it in application.properties.
fh.docs.appmenu.custom.txt2=2. Form for menu, with proper container (for default index.html it is "menuForm")
fh.docs.appmenu.custom.txt3=Spring Component 'MenuManager' provides access to menu elements tree defined in corresponding FH modules
fh.docs.appmenu.factory.label=Usecase inputs factories
fh.docs.appmenu.factory.txt1=FH Core provides 3 input factories:
fh.docs.appmenu.factory.txt1_1=[b]nullUseCaseInputFactory[/b] - for primitive types default value is set (0, 0l, 0.0f, 0.0, false etc) otherwise null
fh.docs.appmenu.factory.txt1_2=[b]constructorUseCaseInputFactory[/b] - parameterless constructor is used, if it doesn't exist nullUseCaseInputFactory is called
fh.docs.appmenu.factory.txt1_3=[b]ofUseCaseInputFactory[/b] - static method "of()" is called, if it doesn't exist constructorUseCaseInputFactory is used
fh.docs.appmenu.factory.txt2=Custom stratiegies for initializing input parameters can be provided by creating Spring Component implementing 'IUseCaseInputFactory' interface.
fh.docs.appmenu.factory.back.label=Back
fh.docs.appmenu.factory.run1=Run with ofUseCaseInputFactory
fh.docs.appmenu.factory.run2=Run with constructorUseCaseInputFactory
fh.docs.appmenu.factory.run3=Run with nullUseCaseInputFactory