TF-1018 Add Configuration guide for App Grid
This commit is contained in:
committed by
Dat H. Pham
parent
0943e18552
commit
3c54b3946e
@@ -0,0 +1,48 @@
|
|||||||
|
## Configuration for App Grid
|
||||||
|
|
||||||
|
### Context
|
||||||
|
- Team Mail is a service inside Twake Workspace which include other services
|
||||||
|
- User need to access other services from Team Mail
|
||||||
|
|
||||||
|
### How to config
|
||||||
|
|
||||||
|
1. Add services to configuration file
|
||||||
|
|
||||||
|
- Each service have the information:
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"appName": "Contacts",
|
||||||
|
"icon": "ic_contacts_app.svg",
|
||||||
|
"appLink": "https://openpaas.linagora.com/contacts/"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
- All services must be added to the configuration file [configurations\app_dashboard.json](https://github.com/linagora/tmail-flutter/blob/master/configurations/app_dashboard.json)
|
||||||
|
For example:
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"apps": [
|
||||||
|
{
|
||||||
|
"appName": "Twake",
|
||||||
|
"icon": "ic_twake_app.svg",
|
||||||
|
"appLink": "http://twake.linagora.com/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"appName": "App 1",
|
||||||
|
"icon": "ic_twake_app.svg",
|
||||||
|
"appLink": "http://twake.linagora.com/"
|
||||||
|
},
|
||||||
|
...
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
- `appName`: The name will be showed in App Grid
|
||||||
|
- `icon`: Name of icon was added in `configurations\icons` folder
|
||||||
|
- `appLink`: Service URL
|
||||||
|
|
||||||
|
2. Enable it in [env.file](https://github.com/linagora/tmail-flutter/blob/master/env.file)
|
||||||
|
```
|
||||||
|
APP_GRID_AVAILABLE=supported
|
||||||
|
```
|
||||||
|
If you want to disable it, please change the value to `unsupported` or remove this from `env.file`
|
||||||
@@ -162,11 +162,13 @@ class MailboxView extends GetWidget<MailboxController> with AppLoaderMixin, Popu
|
|||||||
}),
|
}),
|
||||||
_buildLoadingView(),
|
_buildLoadingView(),
|
||||||
AppConfig.appGridDashboardAvailable && _responsiveUtils.isWebNotDesktop(context)
|
AppConfig.appGridDashboardAvailable && _responsiveUtils.isWebNotDesktop(context)
|
||||||
? _buildAppGridDashboard(context)
|
? Column(children: [
|
||||||
|
_buildAppGridDashboard(context),
|
||||||
|
const SizedBox(height: 8),
|
||||||
|
const Divider(color: AppColor.colorDividerMailbox, height: 0.5, thickness: 0.2),
|
||||||
|
const SizedBox(height: 8),
|
||||||
|
])
|
||||||
: const SizedBox.shrink(),
|
: const SizedBox.shrink(),
|
||||||
const SizedBox(height: 8),
|
|
||||||
const Divider(color: AppColor.colorDividerMailbox, height: 0.5, thickness: 0.2),
|
|
||||||
const SizedBox(height: 8),
|
|
||||||
Obx(() => controller.defaultMailboxHasChild
|
Obx(() => controller.defaultMailboxHasChild
|
||||||
? _buildMailboxCategory(context, MailboxCategories.exchange, controller.defaultRootNode)
|
? _buildMailboxCategory(context, MailboxCategories.exchange, controller.defaultRootNode)
|
||||||
: const SizedBox.shrink()),
|
: const SizedBox.shrink()),
|
||||||
@@ -547,15 +549,12 @@ class MailboxView extends GetWidget<MailboxController> with AppLoaderMixin, Popu
|
|||||||
return Obx(() {
|
return Obx(() {
|
||||||
final linagoraApps = controller.mailboxDashBoardController.appGridDashboardController.linagoraApplications.value;
|
final linagoraApps = controller.mailboxDashBoardController.appGridDashboardController.linagoraApplications.value;
|
||||||
if (linagoraApps != null && linagoraApps.apps.isNotEmpty) {
|
if (linagoraApps != null && linagoraApps.apps.isNotEmpty) {
|
||||||
return ListView.separated(
|
return ListView.builder(
|
||||||
shrinkWrap: true,
|
shrinkWrap: true,
|
||||||
itemCount: linagoraApps.apps.length,
|
itemCount: linagoraApps.apps.length,
|
||||||
itemBuilder: (context, index) {
|
itemBuilder: (context, index) {
|
||||||
return AppListDashboardItem(linagoraApps.apps[index]);
|
return AppListDashboardItem(linagoraApps.apps[index]);
|
||||||
},
|
}
|
||||||
separatorBuilder: (context, index) {
|
|
||||||
return const SizedBox.shrink();
|
|
||||||
},
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return const SizedBox.shrink();
|
return const SizedBox.shrink();
|
||||||
|
|||||||
+1
-1
@@ -28,7 +28,7 @@ class _AppListDashboardItemState extends State<AppListDashboardItem> {
|
|||||||
onHover: (value) => setState(() => _isHoverItem = value),
|
onHover: (value) => setState(() => _isHoverItem = value),
|
||||||
child: Container(
|
child: Container(
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(10),
|
borderRadius: const BorderRadius.all(Radius.circular(10)),
|
||||||
color: _backgroundColorItem(context)),
|
color: _backgroundColorItem(context)),
|
||||||
padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 18),
|
padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 18),
|
||||||
margin: const EdgeInsets.symmetric(horizontal: 16),
|
margin: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
|
|||||||
Reference in New Issue
Block a user