Hur skapar jag en GUI-sida och lägger till kontroller?

Länka kontrollerna på sidan till en befintlig agent eller skapa en ny agent
Länka kontrollerna på sidan till en befintlig agent eller skapa en ny agent.

För att skapa en ny sida som ska navigeras i genom en Avancerade inställningar Button, följ dessa steg för att lära sig.

Steg

  1. 1
    Skapa knappen på önskad sida.
  2. 2
    Skapa en ny HTML-sida med nödvändiga kontroller som är länkad till den tidigare skapade knappen.
  3. 3
    Länka kontrollerna på sidan till en befintlig agent eller skapa en ny agent.
    • Detta nya tillägg fanns på SEL-sidan för ett alternativ att aktivera eller inaktivera SELOEMEvent Blocking
    Skapa en ny HTML-sida med nödvändiga kontroller som är länkade till den tidigare skapade knappen
    Skapa en ny HTML-sida med nödvändiga kontroller som är länkade till den tidigare skapade knappen.
  4. 4
    I själv.html (// nitrogen_src / src / apps / idracgui / idracgui / web), under avsnittet html, lägg till nedanstående rader.
    • <div class = "jumpbar-line"> </div>
      <span class = "data-area-jump-items"> </span>
      <div class = "data-area-options">
      <% writeRes ("gen_OtherOptions "," sv ");%>
      <button value = "submit" class = "inline" onclick = "location.href = 'seladvopt.html';">
      <span> <% writeRes ("btn_advSettings", "en");%> </span>
      </button> </div>
    • Gen_OtherOptions och btn_advSettings är poster som redan finns i res_en.txt (//nitrogen_src/src/apps/iDracGUI/iDracGUI/src/conf/res_en.txt)
    • Dessa skapar ytterligare alternativ: märk och lägg till en [Avancerade inställningar] bredvid den. Location.href = 'seladvopt.html' är länken till den nya HTML-sidan som ska läggas till.
  5. 5
    Skapa den nya HTML-sidan (se src / apps / idracgui / idracgui / web / seladvopt.html för referens)
    • Fältlistan kommer att innehålla de nya kontrollerna på sidan som, textfält (skrivskyddad eller R / W), kryssruta etc.
      • I fältet Lista:
      • fieldList [0] = ny CheckboxMapping ("OemEventFilteringEnabled", "OemEventFilteringEnabled"); // Här är båda tokens samma
      • OemEventFilteringEnabled: är id som agenten kommer att känna igen det.
      • OemEventFilteringEnabled: Detta KAN vara aim_function_execute ("String"...... där string = OemEventFilteringEnabled.
      • I det här fallet rekommenderas det att du inte använder exakt samma sträng som för före exisitng aim_function_execute, om du kör dessa individuellt i GET- och SET-funktionerna flera gånger.
    • function pageRendererCallback (xmlDoc) kommer att ha funktionsdeklarationer som:
      • Anropa standard bearbetningsmetod.
      • Ändrat aktiverat tillstånd för fält baserat på aktuella val.
    • function loadPageData laddar data i HTML.
    • funktionsformulär Skicka in formuläret.
      • Det kan finnas ett behov av att validera data för olika fält
        • exempel: ett fält som Baud Rate kan vara mellan värdet x och y etc.. om ett värde utanför intervallet matas in då ett lämpligt felmeddelande..
    • funktion dependencyChecking (SELOEMDependencyChecking) kontroller:
      • Privilege som kan konfigurera och baserat på privilegiet gråtonar de konfigurerbara fälten.
      • Om användaren har nödvändig behörighet visas de konfigurerbara fälten ogrå.
      • Under detta är den faktiska HTML.
      • OBS: Alla funktionsnamn som ändrats från standarden måste uppdateras här.
    • Följande är specifika för den nya sidan, om vi återanvänder koden från en befintlig sida måste vi göra nödvändiga ändringar.
    • sys_log_eve_adv_settings Vilken är rubriksträngen,
      • sys_log_eve_oemeventfilteringenable som är attributetiketten &
      • btn_retSystemEventLog Återgå till "Föregående sida" måste läggas till res_en.txt
      • Det korrekta funktionsnamnet för beroendekontroll måste uppdateras
      • Fältlistans ID-namn OemEventFilteringEnabled bör uppdateras
        • <input value = "1" id = "OemEventFilteringEnabled" name = "OemEventFilteringEnabled" type = "checkbox" class = "checkbox" />
        • OBS! Därför bör alla nödvändiga tillägg till res_en.txt göras.
    För att skapa en ny sida som navigeras in genom en avancerad inställningsknapp
    För att skapa en ny sida som navigeras in genom en avancerad inställningsknapp, följ dessa steg för att lära dig hur.
  6. 6
    Lägga till en ny agent eller märka tillsammans med en befintlig agent
    • Märka tillsammans med en befintlig agent
      • Välj rätt agent, du måste kunna göra det
        • preProcessGet: Se till att ID: n du lade till anropades
        • ProcessGet: Där data är "GOTTEN" från iDRAC (minne)
        • postProcessGet: Där dataändringar återspeglas i GUI
        • preProcessSet: Samma som PreProcessGet men anropas endast när en SET-åtgärd händer.
        • ProcessSet: Ställ in data från GUI-kontroll i iDRAC (minne)
        • postProcessSet: inget särskilt att göra här, men beror på funktionalitet och någon kod kan behövas här.
    • Lägga till en ny agent
      • Lägg till filen.h i src / apps / GUIDataServer / GUI GUIDataServer / include
      • Lägg till. cc-fil i src / apps / GUIDataServer / GUI GUIDataServer / src
      • Inkludera filen.h i GUIDataHandler.cc och lägg till följande rader,
        • SELADV_Agent * selAdvAgent = ny SELADV_Agent (detta);
        • addAgent ("OemEventFilteringEnabled", selAdvAgent);
      • Om du lägger till en befintlig agent addAgent ("OemEventFilteringEnabled", serviceAgent); // serviceAgent är ett exempel.
  7. 7
    Hur get-set-sekvensen går
    • När html-sidan laddas (dvs. du navigerar in till den med hjälp av flikar, knappar osv...)
      • Get-sekvensen dvs preProcessGet, ProcessGet och postProcessGet körs en gång.
      • När en inställning ändras och klicka på knappen Apply
        • preProcessSet, ProcessSet och postProcessSet kommer dessutom att ske automatiskt
        • preProcessGet, ProcessGet och postProcessGet kommer också att hända.
Om vi återanvänder koden från en befintlig sida måste vi göra nödvändiga ändringar
Följande är specifika för den nya sidan, om vi återanvänder koden från en befintlig sida måste vi göra nödvändiga ändringar.

Tips

  • Här är en felsökningslogg över hur sekvensen går, när användaren navigerar till fliken, ställer in eller rensar värden:
  • val är status för OEMEvent-filtret, rc är returvärdet aim_execute.
  • SEL OEM EVENT FILTER fil4
    1.Enter Tab
    GET:
    preProcessGet: 1
    ProcessGet-filt val: 0, rc = 0
    postProcessGet-filt val: 0, rc = 0
    2.Manually Ställ in Filter / kryssa i rutan och klicka på Verkställ
    SET:
    preProcessSet: 1 - - - - - - -Manuell uppsättning
    ProcessSet-aktivera = 1:: rc = 0
    FÅ: - - - - - - - -Auto Få på APPLY
    preProcessGet: 1
    ProcessGet-filt val: 1, rc = 0
    postProcessGet -filt val: 1, rc = 0
    3. Rensa filtret manuellt / avmarkera rutan och klicka på Apply
    SET: preProcessSet: 1 - - - - - - - Manual Clear (Set 0)
    ProcessSet-enable = 0:: rc = 0
    GET: Auto Get on APPLY
    preProcessGet: 1
    ProcessGet-filt val: 0, rc = 0
    postProcessGet-filt val: 0, rc = 0
    - - - - - - - - - - - - - - - - - -

FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail