Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
vjekob committed May 29, 2019
0 parents commit 87cfa0a
Show file tree
Hide file tree
Showing 14 changed files with 4,557 additions and 0 deletions.
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## --- AL gitignore ---
## Ignores generated binary files and
## temporary files from Visual Studio and Visual Studio code

# Binary files
.alpackages/
*.app

# Temp files
.vs/
.vscode/

# Others
~$*
*~
22 changes: 22 additions & 0 deletions FontAwesome/Control 50100 Icon Button.al
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
controladdin "Icon Button"
{
Scripts = 'FontAwesome/Scripts/iconbutton.js';
StartupScript = 'FontAwesome/Scripts/startup.js';

StyleSheets =
'FontAwesome/Styles/iconbutton.css',
'FontAwesome/Styles/fontawesome.css',
'FontAwesome/Styles/regular.css',
'FontAwesome/Styles/solid.css';

Images =
'FontAwesome/Fonts/fa-regular-400.woff',
'FontAwesome/Fonts/fa-solid-900.woff';

RequestedWidth = 200;
RequestedHeight = 100;

event ControlReady();
procedure SetStyle(Style: Text);
procedure SetIcon(Icon: Text);
}
Binary file added FontAwesome/Fonts/fa-regular-400.woff
Binary file not shown.
Binary file added FontAwesome/Fonts/fa-solid-900.woff
Binary file not shown.
86 changes: 86 additions & 0 deletions FontAwesome/Page 50100 Font Awesome.al
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
page 50100 "Font Awesome"
{
PageType = Card;

layout
{
area(Content)
{
group(FontAwesome)
{
Caption = 'Font Awesome';

group(Configuration)
{
Caption = 'Configuration';

field(Style; Style)
{
Caption = 'Style';
ApplicationArea = All;

trigger OnValidate();
begin
SetStyle();
end;
}

field(Icon; Icon)
{
Caption = 'Icon';
ApplicationArea = All;

trigger OnValidate();
begin
SetIcon();
end;
}
}

group(IconPreview)
{
Caption = 'Icon Preview';

usercontrol(IconButton; "Icon Button")
{
ApplicationArea = All;

trigger ControlReady();
begin
IsReady := true;
SetStyle();
SetIcon();
end;
}
}
}
}
}

var
IsReady: Boolean;
Style: Text;
Icon: Text;

local procedure SetStyle();
begin
if not IsReady then
exit;

CurrPage.IconButton.SetStyle(Style);
end;

local procedure SetIcon();
begin
if not IsReady then
exit;

CurrPage.IconButton.SetIcon(Icon);
end;

trigger OnInit();
begin
Style := 'fa';
Icon := 'fa-rocket';
end;
}
38 changes: 38 additions & 0 deletions FontAwesome/Scripts/iconbutton.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
(function() {
var hostControl, iconControl, captionControl, iconStyle, iconIcon;

window.initialize = function() {
hostControl = document.getElementById("controlAddIn");

var button = document.createElement("div");
button.classList.add("button");
hostControl.appendChild(button);

iconControl = document.createElement("span");
iconControl.classList.add("icon");
button.appendChild(iconControl);

captionControl = document.createElement("span");
captionControl.classList.add("caption");
button.appendChild(captionControl);
setCaption();
}

function setCaption() {
captionControl.innerText = iconStyle && iconIcon
? iconStyle + " " + iconIcon
: "(set style)";
}

window.SetStyle = function(style) {
iconStyle && iconControl.classList.remove(iconStyle);
style && iconControl.classList.add(iconStyle = style);
setCaption();
}

window.SetIcon = function(icon) {
iconIcon && iconControl.classList.remove(iconIcon);
icon && iconControl.classList.add(iconIcon = icon);
setCaption();
}
})();
3 changes: 3 additions & 0 deletions FontAwesome/Scripts/startup.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
initialize();

Microsoft.Dynamics.NAV.InvokeExtensibilityMethod("ControlReady", []);
Loading

0 comments on commit 87cfa0a

Please sign in to comment.