Page 1801 Assisted Setup, source in 26
Source242526272829metadata in 26
src/System Application/App/Guided Experience/src/Assisted Setup/AssistedSetup.Page.al249 lines, Copyright (c) Microsoft Corporation. MIT
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace System.Environment.Configuration;
using System.Media;
using System.Globalization;
/// <summary>This page shows all registered assisted setup guides.</summary>
page 1801 "Assisted Setup"
{
ApplicationArea = All;
Caption = 'Assisted Setup';
DeleteAllowed = false;
Editable = false;
InsertAllowed = false;
LinksAllowed = false;
ModifyAllowed = false;
PageType = List;
RefreshOnActivate = true;
ShowFilter = false;
SourceTable = "Guided Experience Item";
SourceTableTemporary = true;
UsageCategory = Administration;
Extensible = true;
ContextSensitiveHelpPage = 'ui-get-ready-business';
Permissions = tabledata "Guided Experience Item" = r;
layout
{
area(Content)
{
repeater(Group)
{
IndentationColumn = NameIndent;
IndentationControls = Name;
ShowAsTree = true;
field(Name; Rec.Title)
{
ApplicationArea = All;
ToolTip = 'Specifies the name.';
Style = Strong;
StyleExpr = NameEmphasize;
trigger OnLookup(var Text: Text): Boolean
begin
RunPage();
end;
}
field(Completed; Rec.Completed)
{
ApplicationArea = All;
ToolTip = 'Specifies whether the setup is complete.';
trigger OnLookup(var Text: Text): Boolean
begin
RunPage();
end;
}
field(Help; HelpAvailable)
{
ApplicationArea = All;
Caption = 'Learn more';
#pragma warning disable AA0219
ToolTip = 'Learn more about the process.';
#pragma warning restore AA0219
Width = 3;
trigger OnDrillDown()
var
GuidedExperienceImpl: Codeunit "Guided Experience Impl.";
begin
GuidedExperienceImpl.NavigateToAssistedSetupHelpPage(Rec);
end;
}
field(Video; VideoAvailable)
{
ApplicationArea = All;
Caption = 'Video';
#pragma warning disable AA0219
ToolTip = 'Play a video that describes the process.';
#pragma warning restore AA0219
Width = 3;
Visible = false;
trigger OnDrillDown()
var
Video: Codeunit Video;
begin
if Rec."Video Url" <> '' then
Video.Play(Rec."Video Url");
end;
}
field(TranslatedName; TranslatedNameValue)
{
Caption = 'Translated Name';
ApplicationArea = All;
ToolTip = 'Specifies the name translated locally.';
Visible = false;
trigger OnDrillDown()
var
GuidedExperienceItem: Record "Guided Experience Item";
Translation: Codeunit Translation;
begin
if GuidedExperienceItem.Get(Rec.Code, Rec.Version) then
Translation.Show(GuidedExperienceItem, GuidedExperienceItem.FieldNo(Title));
end;
}
field("Extension Name"; Rec."Extension Name")
{
ApplicationArea = All;
ToolTip = 'Specifies the extension which has added this setup.';
Visible = false;
}
field(Description; Rec.Description)
{
ApplicationArea = All;
ToolTip = 'Specifies the description of the set up.';
}
}
}
}
actions
{
area(Processing)
{
action("Start Setup")
{
ApplicationArea = All;
Caption = 'Start Setup';
Image = Setup;
Scope = Repeater;
ShortcutKey = 'Return';
ToolTip = 'Start the assisted setup guide.';
trigger OnAction()
begin
RunPage();
end;
}
action("General videos")
{
ApplicationArea = All;
Caption = 'General Videos';
Image = Help;
Scope = Page;
ToolTip = 'See other videos that can help you set up the app.';
trigger OnAction()
begin
Page.Run(Page::"Product Videos");
end;
}
}
area(Promoted)
{
actionref("Start Setup Ref"; "Start Setup")
{
}
actionref("General videos Ref"; "General videos")
{
}
}
}
trigger OnOpenPage()
var
GuidedExperience: Codeunit "Guided Experience";
ChecklistImplementation: Codeunit "Checklist Implementation";
GuidedExperienceImpl: Codeunit "Guided Experience Impl.";
begin
GuidedExperience.OnRegisterAssistedSetup();
GuidedExperienceImpl.GetContentForAssistedSetup(Rec);
Rec.SetCurrentKey("Assisted Setup Group");
if FilterSet then
Rec.SetRange("Assisted Setup Group", AssistedSetupGroup);
if Rec.FindFirst() then; // Set selected record to first record
ChecklistImplementation.ShowChecklistBannerVisibilityNotification();
end;
trigger OnAfterGetRecord()
var
GuidedExperienceImpl: Codeunit "Guided Experience Impl.";
begin
HelpAvailable := '';
VideoAvailable := '';
if Rec."Help Url" <> '' then
HelpAvailable := HelpLinkTxt;
if Rec."Video Url" <> '' then
VideoAvailable := VideoLinkTxt;
if GuidedExperienceImpl.IsAssistedSetupSetupRecord(Rec) then
SetPageVariablesForSetupRecord()
else
SetPageVariablesForSetupGroup();
end;
local procedure RunPage()
var
GuidedExperienceImpl: Codeunit "Guided Experience Impl.";
begin
if GuidedExperienceImpl.IsAssistedSetupSetupRecord(Rec) then begin
GuidedExperienceImpl.RunAndRefreshAssistedSetup(Rec);
CurrPage.Update(false);
end;
end;
local procedure SetPageVariablesForSetupRecord()
var
GuidedExperienceImpl: Codeunit "Guided Experience Impl.";
begin
TranslatedNameValue := GuidedExperienceImpl.GetTranslationForField(Rec, Rec.FieldNo(Title));
NameIndent := 1;
NameEmphasize := false;
end;
local procedure SetPageVariablesForSetupGroup()
begin
TranslatedNameValue := '';
NameEmphasize := true;
NameIndent := 0;
end;
internal procedure SetGroupToDisplay(AssistedSetupGroupValue: Enum "Assisted Setup Group")
begin
FilterSet := true;
AssistedSetupGroup := AssistedSetupGroupValue;
end;
var
HelpLinkTxt: Label 'Read';
VideoLinkTxt: Label 'Watch';
HelpAvailable: Text;
VideoAvailable: Text;
TranslatedNameValue: Text;
NameIndent: Integer;
NameEmphasize: Boolean;
AssistedSetupGroup: Enum "Assisted Setup Group";
FilterSet: Boolean;
}