Skip to content

Commit

Permalink
Base
Browse files Browse the repository at this point in the history
  • Loading branch information
OlegLobakov committed Oct 22, 2019
1 parent 8c67c28 commit 05e57f1
Show file tree
Hide file tree
Showing 57 changed files with 26,781 additions and 4 deletions.
Binary file added GithubFiles/UIEF.ElementCard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added GithubFiles/UIEF.ElementsList.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added GithubFiles/UIEF.Programming.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added GithubFiles/UIEF.Result.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added GithubFiles/UIEF.Result2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added GithubFiles/UIEFLogo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added GithubFiles/UIEFelementcard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
133 changes: 129 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,130 @@
# UIEF
User Interface Extension Framework for Microsoft Dynamics 365 Business Central and Microsoft Dynamics NAV
<!-- PROJECT LOGO -->
<br />
<p align="center">
<a href="https://github.com/othneildrew/Best-README-Template">
<img src="https://github.com/OlegLobakov/UIEF/blob/master/GithubFiles/UIEFLogo.png" alt="Logo">
</a>
<h2 align="center">User Interface Extension Framework</h2>
<p align="center">
for Microsoft Dynamics 365 Business Central and Microsoft Dynamics NAV
</p>
</p>
<br />

## Comment
Under construction


[![Build Status][build-shield]]()
[![Contributors][contributors-shield]]()
[![MIT License][license-shield]][license-url]
[![LinkedIn][linkedin-shield]][linkedin-url]
[![star this repo](http://githubbadges.com/star.svg?user=OlegLobakov&repo=UIEF&style=flat)](https://github.com/OlegLobakov/UIEF)
[![fork this repo](http://githubbadges.com/fork.svg?user=OlegLobakov&repo=UIEF&style=flat)](https://github.com/OlegLobakov/UIEF/fork)

<!-- ABOUT THE PROJECT -->
## About UIEF

[UIEF Screen Shot][product-screenshot](https://github.com/OlegLobakov/UIEF/GithubFiles/UIEF.ElementCard.png)

UIEF is framework for extending UI of Business Central interface (Web, Tablet, Windows, Mobile)

* Creat your interface for Microsoft Dynamics 365 Business Central
* Develop UI components (HTML/JS/CSS) in Microsoft Dynamics 365 Business Central.
* Build interface in AL code.
* Set transparent link events to AL (CAL) code.
* Use UI Library and examples
* Simplification Interaction UI Designers and Developers



### Versions

Mirosoft Dynamics 365 Business Central
* [AL](https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-dev-overview)
* [Visual Studio Code](https://code.visualstudio.com/)
* [Microsoft Dynamics 365 Business Central](https://www.microsoft.com/en-us/download/details.aspx?id=58106)

Microsoft Dynamics NAV 2015, 2016, 2017, 2018
* The NAV version will be released if you need :)


<!-- GETTING STARTED -->
## Getting Started

### Prerequisites

* Microsoft Dynamics 365 Business Central (versions 13,14,15).
* NAV/BC Developer License

### Installation

1. Copy UserInterfaceExtensionFramework folder to your extension folder.
2. ...
3. Profit


<!-- USAGE EXAMPLES -->
## Usage

1. UI Element Card Page is using to develop UI component. By default, UIEF install several demo components of Microsoft Office Fabric JS library.

[UIEF Screen Shot][elementlist-screenshot](https://github.com/OlegLobakov/UIEF/GithubFiles/UIEF.ElementsList.png)

2. You can use components in AL code.
[UIEF Screen Shot][elementdev-screenshot](https://github.com/OlegLobakov/UIEF/GithubFiles/UIEF.Programming.png)

3. UI work on all platform.
[UIEF Screen Shot][result-screenshot](https://github.com/OlegLobakov/UIEF/GithubFiles/UIEF.Result.png)
[UIEF Screen Shot][result2--screenshot](https://github.com/OlegLobakov/UIEF/GithubFiles/UIEF.Result2.png)

### Builtin javascript frameworks
This libs will be imported in NAV | BC and can be used without internet.
1. jquery-3.3.1
2. Office UI fabric JS [microsoft online documentation](https://developer.microsoft.com/en-us/fabric-js)
3. D3

_If you need something else create issue_ <a href="https://github.com/OlegLobakov/UIEF/issues">...</a>

<!-- CONTRIBUTING -->
## Contributing

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
6. .....
7. Profit


<!-- LICENSE -->
## License

Distributed under the MIT License. See `LICENSE` for more information.

## Report Bug or Request Feature
<a href="https://github.com/OlegLobakov/UIEF/issues">Report Bug or Request Feature</a>


<!-- CONTACT -->
## Contact

Oleg Lobakov - [@linkedin](https://linkedin.com/in/oleglobakov/)





<!-- MARKDOWN LINKS & IMAGES -->
[build-shield]: https://img.shields.io/badge/build-passing-brightgreen.svg?style=flat-square
[contributors-shield]: https://img.shields.io/badge/contributors-1-orange.svg?style=flat-square
[license-shield]: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square
[license-url]: https://choosealicense.com/licenses/mit
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=flat-square&logo=linkedin&colorB=555
[linkedin-url]: https://linkedin.com/in/oleglobakov
[facebook-shield]: https://img.shields.io/badge/-Facebook-white.svg?style=flat-square&logo=facebook
[facebook-url]: https://facebook.com/in/oleglobakov
[product-screenshot]: https://github.com/OlegLobakov/UIEF/GithubFiles/UIEF.ElementCard.png
[elementlist-screenshot]: https://github.com/OlegLobakov/UIEF/GithubFiles/UIEF.ElementsList.png
[elementdev-screenshot]:https://github.com/OlegLobakov/UIEF/GithubFiles/UIEF.Programming.png
[result-screenshot]: https://github.com/OlegLobakov/UIEF/GithubFiles/UIEF.Result.png
[result2--screenshot]: https://github.com/OlegLobakov/UIEF/GithubFiles/UIEF.Result2.png
3 changes: 3 additions & 0 deletions UserInterfaceExtensionFramework/.vscode/AppSourceCop.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"mandatoryPrefix": "WLM"
}
18 changes: 18 additions & 0 deletions UserInterfaceExtensionFramework/.vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"version": "0.2.0",
"configurations": [
{
"type": "al",
"request": "launch",
"name": "development",
"server": "http://bcdev",
"serverInstance": "NAV",
"authentication": "UserPassword",
"startupObjectId": 50050,
"startupObjectType": "Page",
"breakOnError": true,
"launchBrowser": true,
"schemaUpdateMode": "Recreate"
}
]
}
1 change: 1 addition & 0 deletions UserInterfaceExtensionFramework/.vscode/rad.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"Added":[],"Modified":[],"Removed":[]}
9 changes: 9 additions & 0 deletions UserInterfaceExtensionFramework/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"al.enableCodeAnalysis": true,
"al.codeAnalyzers": [
"${CodeCop}",
"${AppSourceCop}",
"${UICop}",
"${PerTenantExtensionCop}"
]
}
80 changes: 80 additions & 0 deletions UserInterfaceExtensionFramework/Examples/pages/Pag50050.Example.al
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
page 50050 ExampleUIEF
{
PageType = Card;
ApplicationArea = All;
UsageCategory = Administration;
SourceTable = 21;

layout
{
area(Content)
{
group(ExampleUIEF)
{
usercontrol(Viewer; UIEFx400)
{
ApplicationArea = All;

trigger ControlAddinIsReady()
begin
ControlAddInIsReady := true;
Build();
end;

trigger OnJSEvent(id: Code[50]; data1: Text; data2: Text; data3: Text; data4: Text)
begin
Message(id + ' ' + data1);
end;

trigger OnError(errortext: Text)
begin
Message(errortext);
end;

trigger OnUIEvent(id: Code[50]; data: Text)
begin
Message(id + ' ' + data);
end;

trigger OnHTML(html: Text)
begin
Message(html);
end;
}
}
}
}

actions
{
}

trigger OnAfterGetCurrRecord()
begin

end;

local procedure Build()
var
uiid: Text;
begin
CurrPage.Viewer.Reset();
if UIElement.get(OUIFBtnTok) then begin
uiid := 'A1';
CurrPage.Viewer.CreateAndAppendToRoot(uiid, UIElement.GetHTML());
CurrPage.Viewer.SetText('#' + uiid + ' .' + 'ms-Button-label', 'Create');
uiid := 'A2';
CurrPage.Viewer.CreateAndAppendToRoot(uiid, UIElement.GetHTML());
CurrPage.Viewer.SetText('#' + uiid + ' .' + 'ms-Button-label', 'Edit');
uiid := 'A3';
CurrPage.Viewer.CreateAndAppendToRoot(uiid, UIElement.GetHTML());
CurrPage.Viewer.SetText('#' + uiid + ' .' + 'ms-Button-label', 'Delete');
end;
CurrPage.Viewer.Run(UIElement.GetJS());
end;

var
UIElement: record "UI Element";
ControlAddInIsReady: Boolean;
OUIFBtnTok: Label 'OUIF-BTN-C', Locked = true;
}
Loading

0 comments on commit 05e57f1

Please sign in to comment.