Kapitola Jak doplnit odkaz do notifikace obsahuje následující témata:
Obecné informace
Aktuální verze aplikace umožňuje vložit odkaz do notifikace prostřednictvím správně nastavené notifikační šablony (v předmětu ani v upozornění na ploše (Alert) nelze použít).
Použít odkaz v notifikační šabloně lze pouze pokud je šablona označena příznakem IsHtml = True.
Při startu aplikace se do registrů aktuálního uživatele zaregistruje aplikační protokol hrp. Tato registrace se dá vypnout pomocí AppConfigu
RegisterApplicationUriOnStartup = "false"
Registrace uri znamená zápis následujících hodnot do registru
//vytvoří se klíč HKEY_USERS\Current_user_ID\Software\Classes\hrp - (Výchozí hodnota) - stringový popis prokolu - URL Protocol - hodnota je prázdný string // zde se vytvoří klíč - DefaultIcon -- (Výchozí hodnota) - Cesta k HRP.exe + řetězec ",0" // zde se vytvoří klíč - shell // zde se vytvoří klíč -- open // zde se vytvoří klíč -- command --- (Výchozí hodnota) - "D:\Source\HRP\Code\Apps\HRP\XAF.Win\bin\Debug\HRP.exe" %1
Syntaxe pro přidání odkazu
Akce Vytvořit odkaz
Pro malé zjednodušení psaní odkazů lze z kontextového menu vyvolat akci Vytvořit odkaz, která na aktuální polohu kurzoru (v editoru obsahu) vloží přednastavený text pro daný link.
Syntax property editor
Pro další usnadnění psaní notifikací je použit ScintillaPropertyEditor, který umožňuje zvýraznění syntaxe (tag NotificationLink a jeko atributy byly přidány jako klíčové slova, pokud se v atributu CodeEditorOptions.SyntaxType použije hodnota 'NotificationSystem').
Syntaxe pro přidání odkazu, který otevře detail view
<NotificationLink Action="OpenDetail" ViewId="SparePart_DetailView" Id="{{TargetObject.Guid}}">{{TargetObject.Name}}</NotificationLink>
- Action = "OpenDetail" pro otevření detail view
- ViewId = Id view v modelu
- Id = identifikátor objektu pro otevření
- Do notifikace se zobrazí hodnota mezi tagy <NotificationLink>, v tomto případě TargetObject.Name
Syntaxe pro přidání odkazu, který otevře list view
<NotificationLink Action="OpenList" ViewId="User_ListView" Filter="">User List View</NotificationLink>
- Action = "OpenList" pro otevření list view
- ViewId = Id view v modelu
- Filter = filter v list view (nepovinný atribut)
- Do notifikace se zobrazí hodnota mezi tagy <NotificationLink>, v tomto případě 'User List View'
Příklad
Náhradní díl <NotificationLink Action="OpenDetail" ViewId="SparePart_DetailView" Id="{{TargetObject.spare_part.Id}}"><b><font color="#3e84bf">{{TargetObject.spare_part.Name}}</font></b></NotificationLink> je pod limitem. Minimální množství je {{TargetObject.spare_part.spare_part_info.allocated_amount}} {{TargetObject.spare_part.measurement_unit.Name}} aktuálně je na skladech <b><font color="red">{{TargetObject.spare_part.spare_part_info.current_amount}} {{TargetObject.spare_part.measurement_unit.Name}}</font></b>.
Výsledná aplikační notifikace: