Skip to content

Latest commit

 

History

History
319 lines (247 loc) · 17.3 KB

File metadata and controls

319 lines (247 loc) · 17.3 KB

Change Log

Issues Resolved

  • #244 Migrated to Maven Central (New group id: com.github.thejuki)
    • Still need to migrate older builds from Bintray/JCenter
    • Also, need to use new io.github.gradle-nexus.publish-plugin when Android support is added to fix publishing on release
  • #239 Add back displayNewValue to FormSegmentedElement as this caused more issues
  • #236 Add new SegmentedInlineTitle for a radio group with an inline title (Needed a new layout file and did not want breaking existing segmented usages that have a lot of buttons to display or a long title)
  • #228 Removed call to notifyDataSetChanged() in setItems() as this is not needed
  • #231 Updated imagepicker dependency to rename strings to avoid conflicts

Breaking Changes

  • #243, #241 Add displayValueFor to FormPickerMultiCheckBoxElement
    • FormPickerMultiCheckBoxElement now needs generic for inner class: multiCheckBox<ListItem, List>
  • Remove kotlin-android-extensions gradle plugin. Use Jetpack View Binding for Test and Examples.

Targeting SDK API Level 30, Min API Level 19

Issues Resolved

  • #196 InlineDatePickerElement: https://thejuki.github.io/KFormMaster/element/inlineDatePicker/
  • #197 Removed disabling FormTextViewElement
  • #201 Setting backgroundColor for the main view for the Header and Label elements
  • #205 Fixed remaining issue with displayNewValue
  • #214 Upgraded to ViewRenderers
  • #220 Moved FormActivityTest to main form folder

Issues Resolved

  • #194 Added editViewGravity. The button element's default gravity is CENTER.
  • #195 Added editViewPaintFlags. Set the value to Paint.UNDERLINE_TEXT_FLAG to underline all text, for example.
  • #179 Moved imagepicker dependency to JCenter since JitPack was not working for everyone.

Breaking change:

  • editViewGravity replaces both rightToLeft and centerText. Set value to Gravity.START, Gravity.END, Gravity.CENTER, etc.
  • #191, #192 Add dialogTitleCustomView to dropDown element
  • #163 Fix segmented radio buttons height when text wraps to next line
  • #187, #188 Add valueAsStringOverride to FormPickerMultiCheckBoxElement
  • #185 Add new properties for FormImageElement:
    • displayImageWidth and displayImageHeight to change the size of the image displayed on the form
    • changeImageLabel to set the text of the label that currently is set to "Change Image"
    • showChangeImageLabel to show/hide the "Change Image" label
  • #172 Fix ImagePickerActivity where when crop is enabled AND using start() with the completionHandler, the gallery or camera app opens again after a photo is selected/confirmed.

For now, this fix is in a fork of ImagePicker with JitPack providing the build: https://jitpack.io/#TheJuki/ImagePicker/1.11

  • Fix FormSegmentedElement radioButtonWidth and radioButtonHeight to use dp
  • Make FormSegmentedElement properties dynamic. Add height and width to SegmentedDrawable.

Breaking changes:

  • Button text is not centered by default. Set centerText to true to center the text.
  • "padding" in the segmented form element has been renamed to radioButtonPadding

  • #163 Fix issue where the segmented radio buttons may not align to the top. Added radioGroupWrapContent, radioButtonWidth, and radioButtonHeight to assist with fixed sizing for the buttons.
  • #164 Added titlePadding and padding to assist with squeezing the icon and text together.
  • #167 Setting the titleIcon on a button form element will set the button's drawable. Use padding to squeeze the icon and text together.
  • #169 Added displayNewValue() function. This function is called when the value changes to display the new value specific to the form element.
  • #129 Add icon option to title
  • #161 Fix layout weights for the switch and checkbox elements
  • Fix loading a image from a file: URL string
  • #158 Add ability to change the image of the ImageView by changing value
  • #152 Add support for loading images from a data: string including SVGs in the ImageView
  • #151 Added Input Mask Options
  • Add clickable and focusable booleans
  • Add onClick, onFocus, onTouchUp, and onTouchDown Units
  • #142 Add startDate to FormPickerDateElement, FormPickerDateTimeElement, and FormPickerTimeElement
  • Update target SDK Version to 29
  • Update dependencies:
    • Bump RendererRecyclerViewAdapter from 2.7.0 to 2.8.0
    • Bump tokenautocomplete from 3.0.1 to 3.0.2
    • Bump imagepicker from 1.2 to 1.3
  • Fix code style issues
  • #119, #122 Image View Picker element added
  • #120 Add displayValueFor to dropdown element
  • #118 Add theme to picker elements to style the alert dialog
  • Added is24HourView to dateTime and time elements
  • Set min SDK version to 19
  • #108 Fix FormSegmentedElement value change when enabled
  • #107 New color in colors.xml for TextView Element: colorFormMasterElementTextView
  • #102 The Segmented Element should keep the model value when it is refreshed
  • #106 Possible fix to date format issues
  • #102 FormSegmentedElement can now be disabled
  • Updated the TokenAutoComplete library
  • #101 Add minimumDate and maximumDate to FormPickerDateElement and FormPickerDateTimeElement
  • Added 4 tests
  • #97 Add Progress Element
  • #95 Custom validation for any element
  • #93 Enabled/Error handling for Custom Form Elements
  • #77 Fixed setting the dateValue later and fixed the date/time dialogs to reflect updated dateValue.
  • Fix dateFormat and dateValue
  • #56 and #76 Upgrade to AndroidX
  • #63 Fix dropDown valueChangedListener
  • #64 Fix Segmented control value
  • #65 Add backgroundColor and titleColor to header element
  • #66 Add centerText to base form element
  • #62 Add ability to center a drawable in the FormSegmentedElement radio buttons
  • #60 Fix set value for the FormSegmentedElement
  • #60 Fix issue with reInitGroup(). The context can be retrieved from editView
  • I removed version 5.0.1 and 5.0.2 from Bintray. I left minifyEnabled enabled for the release build and it was causing issues.
  • Add displayRadioButtons to FormPickerDropDownElement
  • Use Android SDK 28
  • Still using Android support version 27.1.1. The AndroidX branch uses the AndroidX support version 1.0.0
  • This is a major change. Removed all setter builder methods to fix compatibility with Java. #49
  • Using "apply" will work as an alternative to using the builders and DSL. However, using the Form DSL is recommended.
  • #44 Update Seekbar value when the progress changed during the slide.
  • #45 Add Divider view as a dynamic View. Add displayDivider as a base property.
  • #46 Add maxLength as a base property.
  • #47 Add clearOnFocus as a base property.
  • #48 Add colors as base properties.
  • Add fillSpace property to Segmented Element
  • Add multiple style properties to Segmented Element
  • Add incrementBy property to slider
  • Fix Segmented Element (Generate an ID for each dynamic radio button)
  • Add new Segmented element
  • Move model.error = null when the value changes for an element to before model.setValue
  • Added clearable to most form elements. Setting this to true will display a clear button (X) to set the value to null.
  • The title and error views are now optional. This allows your custom layout to not need a title and error view.
  • Empty dialog added to dropDown or multiCheckBox elements for when the options list is empty or null.
  • Confirm dialog added to picker elements for when an editable element contains a value and needs to be confirmed before editing the value by clicking on it.
  • Added inputType, imeOptions, and updateOnFocusChange to BaseFormElement
  • Restored addTextChangedListener to update value as characters are typed by default. Added updateOnFocusChange to update on focus instead.
  • Fix #35 by letting the BaseFormElement handle enabled and visible values
  • Added Label form element
  • Editable fields that require a keyboard update the form element value when they lose focus. Because of this, before validating or submitting a form, clear the focus of the form using currentFocus?.clearFocus() in your activity.
  • Added Tabbed Form Fragment example.
  • Calling reInitDialog() is no longer needed after changing the dropDown or multiCheckBox options. This also allows clear() to clear the selected options for multiCheckBox.
  • Removed Parcelable from form elements
  • Removed Serializable from form element
  • Removed optionsSelected from BaseFormElement. FormPickerMultiCheckBoxElement now uses 'value' instead of 'optionsSelected'. This fixes valueObservers for the FormPickerMultiCheckBoxElement.
  • FormPickerMultiCheckBoxElement and FormTokenAutoCompleteElement require a list of objects through <T: List<*>>
  • Fixed Autocomplete text not showing up when initialized with a value.
  • Added addFormElement function to FormBuildHelper and use apply/let to reduce code in FormBuilder.
  • Completed document on how to create a custom form element.
  • Added maxLines to form models. Set to a number greater than 1 to increase the number of visible lines.
  • Merged PR #22 to fix the DSL Form Builder.
  • Added rightToLeft (RTL) to form models. Set to false to set the edit text fields to display left to right.
  • Fixes the month number used by the Date and DateTime elements
  • Add autoMeasureEnabled to FormBuildHelper constructor to fix a recylerview that uses wrap_content
  • Removed all uses of "!!" and replaced with "?" or "?.let" for safer code
  • reInitDialog() function added to DropDown and MultiCheckBox elements so that the options list can be changed dynamically. Resolves issue #17
  • Add "enabled" to form elements. Dynamically enable/disable any form element. Resolves issue #19.
  • The title, edit, and error views are now accessible through the model classes
  • The refreshView() function has been removed (No longer needed)
  • The getFormElement() function now requires a type and returns a non-optional element
  • The form is now dynamic. The title, hint, value, error, visible, required fields can be changed at any time without refreshing the form manually.
  • The clear() function has been added to all form elements
  • The header can now collapse "child" elements when tapped (Set collapsible to true)
  • The FullscreenFormActivity example has been updated to test the new dynamic features
  • The isValidForm function now works correctly
  • The numbersOnly field has been added to FormNumberEditTextElement to prevent symbols from being entered. By default numbers and symbols are allowed.
  • Added ability to add your own custom form elements in your project
  • Added example to show how to add a custom form element
  • Added cacheForm to FormBuildHelper. When set to true, the RecyclerView will cache all form element views instead of recycling them.
  • Removed valueChanged in BaseFormElement
  • Added even more comments
  • Added Unit Test
  • Add better comments
  • Remove redundant View States
  • Add Instrumented Tests
  • Added CheckBox element
  • Element tags are now optional
  • The email, password, phone, text, textArea, number, textView, and button elements no longer take a <T: Serializable> as they only deal with Strings
  • Deprecated valueChanged in BaseFormElement
  • Added valueObservers in BaseFormElement to replace valueChanged with a list of Observers when the element value changes (See updated Examples)
  • Fixed issue with tokenautocomplete
  • Add View States to View Binders to save and restore their states
  • Add missing model.valueChanged?.onValueChanged(model) to View Binders

1.2.1

  • Resolve issue with RendererRecyclerViewAdapter library

1.2.0

  • Update RendererRecyclerViewAdapter library
  • Remove type from BaseFormElement as it is no longer needed
  • Remove generic FormEditTextElement
  • Add FormSingleLineEditTextElement (text), FormMultiLineEditTextElement (textArea), FormNumberEditTextElement (number), FormPasswordEditTextElement (password), and FormPhoneEditTextElement (phone)

1.1.0

  • Add Kotlin DSL form builder
  • Update examples to use new Kotlin DSL form builder

1.0.0

  • Just released!
  • Converted to Kotlin using the fork by shaymargolis.
  • Added DateTime, Button, Switch, Slider, and Token AutoComplete using TokenAutoComplete.