GitPedia
dmdevgo

dmdevgo/Premo

Premo helps to implement the presentation layer and share it on Android, iOS, Desktop and Web.

15 Releases
Latest: 2y ago
1.0.0-alpha.15Latest
dmdevgodmdevgo·2y ago·May 1, 2024
GitHub

📋 Changes

  • Added `wasm` target.
  • Added `INITIALIZED` state for `PmLifecycle`.
  • Update libraries:
  • Kotlin 1.9.23
  • Compose Multiplatform 1.6.1
  • kotlinx-coroutines 1.8.0
  • kotlinx-serialization 1.6.3
1.0.0-alpha.14
dmdevgodmdevgo·2y ago·February 5, 2024
GitHub

📋 Changes

  • Fixed `DialogGroupNavigator` and `DialogGroupNavigationHost`.
  • Removed sender tag from `PmMessage`.`PmMessage` is the interface again.
1.0.0-alpha.13
dmdevgodmdevgo·2y ago·February 4, 2024
GitHub

📋 Changes

  • Published new module for PM testing: `premo-test`. Use `runPmTest` to test a presentation and navigation logic.
  • Added new methods to send PM messages: `sendToTarget` and `sendToChildren`. Added sender tag to `PmMessage` (now it is abstract class).
  • Added navigation hosts interfaces: `StackNavigationMost`, `SetNavigationHost`, `DialogGroupNavigationHost`, `DialogNavigationHost`, `MasterDetailNavigationHost`.
  • Added new extensions for `PmLifecycle`: `doOnCreate`, `doOnForeground`, `doOnBackground`, `doOnDestroy`.
  • Added errors handler for delegates `onSaveOrRestoreStateError`.
  • Added extension `JvmPmDelegate<*>.attachWindowLifecycle` for desktop.
  • Added `DialogNavigator`.
  • Added `SingleStatePresentationModel`.
  • + 3 more
1.0.0-alpha.12
dmdevgodmdevgo·2y ago·January 14, 2024
GitHub

📋 Changes

  • Removed `PmDescription` and `PmParams`. Instead, use `PmArgs` to pass serializable arguments to the `PresentationModel`.
  • Added `NoPmStateSaver` and `NoPmStateSaverFactory`.
  • Added `oldState` parameter to `PmLifecycle.Observer`
  • Kotlin is updated to 1.9.21.
1.0.0-alpha.11
dmdevgodmdevgo·2y ago·August 28, 2023
GitHub

📋 Changes

  • Published new module: `premo-navigation-compose`.
  • Removed `showForResult` from `DialogNavigator` because this way of waiting the result is not persistent.
  • Removed `sendResult` from `DialogNavigator`. The right way to send a result is using PM messages.
  • Kotlin is updated to 1.9.0.
1.0.0-alpha.10
dmdevgodmdevgo·2y ago·July 30, 2023
GitHub

📋 Changes

  • Published new module: `premo-saver-json`.
  • Implemented `DialogGroupNavigation` for showing a group of dialogs.
  • Implemented new PM delegates: `IosPmDelegate`, `JvmPmDelegate`, `JsPmDelegate`, `AndroidPmDelegate`.
  • Removed `PmActivityDelegate` and `Premo`. Use `AndroidPmDelegate` directly in the Activity.
  • Removed `PmLifecycle.Event`.
  • Lots of improvements in navigators and state savers.
1.0.0-alpha.09
dmdevgodmdevgo·3y ago·May 18, 2023
GitHub

📋 Changes

  • `PmActivity` is interface now. You need to call `Premo.init()` in the Android app's `onCreate`.
  • Added list of removed PMs to `BackStackChange`.
  • Added a method to replace values for `SetNavigator`.
  • Fixed: Detach a dialog's PM after sending result.
  • Kotlin is updated to 1.8.20.
  • Added React Sample.
  • Added Compose Sample for iOS and Web.
1.0.0-alpha.08
dmdevgodmdevgo·3y ago·December 15, 2022
GitHub

📋 Changes

  • Add `iosSimulatorArm64` target.
  • Implemented `DialogNavigator`.
  • Fixed `currentTopFlow` property of `StackNavigator`.
  • Added default back handling for `SetNavigator`.
  • A bit of refactoring: improved extensions for navigators.
1.0.0-alpha.07
dmdevgodmdevgo·3y ago·December 11, 2022
GitHub

📋 Changes

  • Kotlin is updated to 1.7.20.
  • Fixed the desktop sample.
  • Removed `SystemBackMessage`. Use `BackMessage` instead.
  • A bit of refactoring: renaming and using SAM interface.
1.0.0-alpha.06
dmdevgodmdevgo·4y ago·June 4, 2022
GitHub

📋 Changes

  • popToRoot
  • popUntil
  • replaceTop
  • replaceAll
1.0.0-alpha.05
dmdevgodmdevgo·4y ago·May 8, 2022
GitHub

📋 Changes

  • Abstraction level support for implementing state persistence in different formats (Json, ProtoBuf, Parcelable) #6.
  • Added PmStateSaverFactory and BundleStateSaver.
1.0.0-alpha.04
dmdevgodmdevgo·4y ago·January 2, 2022
GitHub

📋 Changes

  • Added JS target.
  • Implemented the sample for Web with Compose Multiplatform.
1.0.0-alpha.03
dmdevgodmdevgo·4y ago·December 30, 2021
GitHub

📋 Changes

  • Added JVM target.
  • Implemented the sample for desktop with Compose Multiplatform.
1.0.0-alpha.02
dmdevgodmdevgo·4y ago·December 22, 2021
GitHub

📋 Changes

  • Kotlin is updated to 1.6.0.
  • Migrated to the new memory model.
  • `MasterDetailNavigator` — implements adaptive navigation for Master-Detail views.
1.0.0-alpha.01
dmdevgodmdevgo·4y ago·October 24, 2021
GitHub

📋 Changes

  • `PresentationModel` — the base class for placing presentation logic.
  • `PmLifecycle` — represents the lifecycle of the Presentation Model.
  • `PmMessageHandler` — provide communication of Presentation Models. Allows you to send a message from the child Presentation Model towards the root Presentation Model.
  • `PmStateHandler` — handles the saved state of the Presentation Model.
  • `StackNavigator` — allows you to organize a back stack of the Presentation Models.
  • `SetNavigator` — used to implement bottom navigation.