Skip to content

Commit

Permalink
Release 6.5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
lme-axelor committed Mar 14, 2023
1 parent 2a1813e commit e958ec1
Show file tree
Hide file tree
Showing 7 changed files with 269 additions and 124 deletions.
237 changes: 129 additions & 108 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,119 +1,140 @@
## [6.4.1] (2023-03-13)
---
title: 6.5.0
tags: Changelog
---

#### Features
## [6.5.0] (2023-03-14)

### New package : @axelor/aos-mobile-crm

This package is compatible with AOS CRM module from version 6.5.0
It contains the following functionnalities

- Android configuration : add bundle release configuration
- _Leads_: search from database, view details with possibility to contact directly through phone apps, modify
- _Clients_: search from database, view details with possibility to contact directly through phone apps, modify
- _Contacts_: search from database, view details with possibility to contact directly through phone apps, modify
- _Opportunities_: view, modify
- _Prospect_: search from database, view details with possibility to contact directly through phone apps, modify
- _Event_: planning view with multiples search possibilities, view event details
- _Catalog_: search from database, open pdf in your phone

### @axelor/aos-mobile-manufacturing

#### Changes

- CameraScanner : simplify integration with a slice
- App management : add pop-up to inform user that the app has not been configured
- Menus: rename menus to match AOS module axelor-mobile-settings configuration

#### Fixed

- AutoCompleteSearch : fixed component to restore possiblity to select an item
- Navigation : increase touchable zone of header buttons
- Keyboard : manage screen position when keyboard is open to avoid hiding input
- Operation orders planning view : fixed fetch request
- Manufacturing order details view : add missing product request
- Increment : fix format logic
- Stock/Manufacturing modules : add null dates management
- Dependencies : set react-native-system-navigation-bar version to fix android build

## [6.4.0] (2023-02-01)

This is the first version of the Axelor Open Mobile application.
This new application is based on a modular architecture.

Several packages provide the basic functionality of an application :

- Package **@axelor/aos-mobile-error** provides an error boundary system.

- Package **@axelor/aos-mobile-ui** provides :

- basic components to create screens
- themes management system with basic light theme and a color blind theme
- writing themes management system with basic theme
- useOutsideClick hook to notify components when user clicked outside of itself
- basic animation tools

- Package **@axelor/aos-mobile-core** provides the core of the application, such as :
- API providers
- Auth module with login and user screens
- Translations management system
- Various helper tools : clipboard, file viewer, external app management
- Management of MailMessages and attaches files on objects
- AOS linked components or using external libraries : Camera, Scanner, PlanningView, Stopwatch, ...
- Menu management
- Storage management

The component Application enables you to create an application really simply :

```typescript
interface Application {
modules: Module[]; // Functionnal packages
mainMenu?: string; // Main menu when openning app
additionalsReducers?: any;
version: string; // App version to be display on login screen
themes?: Theme[]; // Additionnals themes
defaultTheme?: Theme; // Default theme for all users
writingThemes?: Writing[]; // Additionnals writing themes
defaultWritingTheme?: Writing; // Default writing theme for all users
showModulesSubtitle: boolean; // Option to show subtitles of modules in the drawer menu
}
```

Each module is based on the same interface and has the following attributes :

```typescript
interface Module {
name: string; // Module name
title: string; // Module title in the drawer
subtitle: string; // Module subtitle in the drawer
icon: string; // Module icon in the drawer
disabled?: boolean;
menus: {
// List of menus of the module
[screenKey: string]: {
title: string;
icon: string;
screen: string;
disabled?: boolean;
};
};
screens: {
// List of screens of the module
[screenKey: string]:
| React.FC<any>
| {
component: React.FC<any>;
title: string;
};
};
translations?: {
// All translations of the module
[languageKey: string]: any;
- Simplification of screen composition: addition of empowered components.
- Implementation of new functionalities of CORE package : API fields and planning view improvements.
- Implementation of new functionalities of UI package : ChipSelect refactor, replace uses of RenderHtml by HtmlInput.

### @axelor/aos-mobile-stock

#### Changes

- Implementation of new functionalities of CORE package : API fields.
- Implementation of new functionalities of UI package : ChipSelect refactor.

### @axelor/aos-mobile-core

#### Features

- Create configuration templates to define API fields and sorting rules.
<Details>
This new features enables you to define three types of API fields:

* The object fields needed in API calls by associating a key to a [YUP](https://www.npmjs.com/package/yup?activeTab=readme) schema.
* Search fields with a json structure where each object key is associated with a list of strings.
* Sorting rules with the same structure as search fields.
* Few helper functions were added :
* request builder functions _createStandardFetch_ and _createStandardSearch_
* helpers to fetch fields configuration for object _getObjectFields_, _getSortFields_ and _getSearchCriterias_.
</Details>

- Menu overload management
<Details>
Two new features on menus to help overload :

* Add a menu from one module to another through the 'parent' attribute.
* Define the order of this menu in the list via the 'order' attribute.
</Details>

- Define in each module a list of bakground functions.
- Switch between multiple api providers
<Details>
Define multiple api providers in a gateway to use the first available provider. There are two types of providers : one to perform actions and one to retrieve data to be displayed to the user.
</Details>

- New components : _CodeHighlighter_ to display code blocks, _AutoCompleteSearchInput_, _DatePicker_ and _DateInput_.
- Add multiday event management on PlanningView.
- Pick a file from phone storage with FilePicker.
- Configurations management to customise the application.
<Details>
There are for the moment four configurations available that can be transmitted to the Application component through 'configuration' props :

- test instance configuration
- release instance configuration
- default language
- default request limit

Here is an example of configuration file :

```javascript
export const app_config = {
/*
* This configuration is used to fill in the url,
* username and/or password fields automatically
* when the application is running in debug mode
*/
testInstanceConfig: {
defaultUrl: '',
defaultUsername: '',
defaultPassword: '',
},

/*
* This configuration is used to fill in the url field
* automatically when the application is running in release mode.
* It is also possible to hide the url input if needed to prevent users from changing it.
*/
releaseInstanceConfig: {
url: '',
showUrlInput: true,
},

/*
* This setting is used to define the default language of the application.
* This value is automatically overwritten by the user's default language
* once logged in if the latter is set.
*/
defaultLanguage: 'en',

/*
* This setting is used to define the default request limit used is createStandardSearch
* function (that is to say the number of elements per page on list screens). This value
* can be rewritten for any request using props numberElementsByPage
*/
defaultRequestLimit: 10,
};
reducers?: any; // Reducers of the module
}
```
```

</Details>

There are two functional packages available for Axelor Open Mobile.
### @axelor/aos-mobile-ui

#### Features

- New components : _Checkbox_, _CricleButton_, _FloatingButton_, _FormHtmlInput_, _FormIncrementInput_, _FormInput_, _MultiSelectValue_ and _PanelTabs_.
- Add new props on Picker and MultiValuePicker to know if value is required.
- Add HTML keyboard on MessageBox component

#### Changes

- Package **@axelor/aos-mobile-stock** provides functionnalities of AOS stock module :
- Simplify ChipSelect integration
<Details>
Transform children chip components into a list of objects with the following props : isActive, color, title and key. Two available behaviours: 'mutli' or 'switch'.
</Details>

- _Product_: view products with stock indicators, characteristics
- _Stock_ correction: viewing, validation, creation
- _Internal_ move: view, complete, validate, create
- _Customer_ delivery: view, complete, validate
- _Supplier_ arrival: view, complete, validate
- _Inventory_: view, complete, validate
#### Removes

- Package **@axelor/aos-mobile-manufacturing** provides functionnalities of AOS manufacturing module :
- _Manufacturing order_: view (with information on links to customer orders or related orders), management of consumed, manufactured and scrap products, status update
- _Operation order_: view, change of status with management of the stopwatch, view of the production file
- _Planning vision_ of operation orders
- Replace RenderHTML by HtmlInput

[6.4.1]: https://github.com/axelor/axelor-mobile/compare/v6.4.0...v6.4.1
[6.4.0]: https://github.com/axelor/axelor-mobile/commits/6.4.0
[6.5.0]: https://github.com/axelor/axelor-mobile/compare/6.4.1...6.5.0
45 changes: 44 additions & 1 deletion packages/apps/crm/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,44 @@
# @axelor/aos-mobile-crm
---
title: CRM
tags: Readme
---

<h1 align="center">@axelor/aos-mobile-crm</h1>

<div align="center">
<img src="https://i.imgur.com/KJAAFlT.png" width="30%"/>
</div>

## Presentation

This package was developed for the [Axelor Open Mobile](https://github.com/axelor/axelor-mobile) application.

The purpose of this package is to link with the CRM module of the [Axelor Open Suite (AOS)](https://github.com/axelor/axelor-open-suite) ERP. It provides a simplified version of a number of processes available on the webapp. This package is compatible with AOS from version 6.5.0.

## Usage

Install the library :

```bash
yarn add @axelor/aos-mobile-crm
```

Compatibility with React v18.2.x and React Native v0.68.x.

To add this package in your application, you need to add it the _modules_ props of the component `Application` from @axelor/aos-mobile-core package.

```javascript
import React from 'react';
import {Application} from '@axelor/aos-mobile-core';
import {CrmModule} from '@axelor/aos-mobile-crm';

const App = () => {
return <Application modules={[CrmModule]} mainMenu="auth_menu_user" />;
};

export default App;
```

## Developpment

This package is developed as part of the Axelor Open Mobile application. To contribute, please go to the [Github project](https://github.com/axelor/axelor-mobile) and follow the guidelines. You will also find an installation guide to help you configure your environment.
5 changes: 5 additions & 0 deletions packages/apps/manufacturing/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Manufacturing
tags: Readme
---

<h1 align="center">@axelor/aos-mobile-manufacturing</h1>

<div align="center">
Expand Down
5 changes: 5 additions & 0 deletions packages/apps/stock/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Stock
tags: Readme
---

<h1 align="center">@axelor/aos-mobile-stock</h1>

<div align="center">
Expand Down
Loading

0 comments on commit e958ec1

Please sign in to comment.