Avancerede dynamiske udtryk

Mestre komplekse arbejdsgange med avancerede dynamiske udtryk.

I dette afsnit gennemgår vi mange stadig mere komplekse eksempler på dynamiske udtryk, der kan inspirere dig og vise nogle af de muligheder, de giver adgang til.

Dynamiske udtryk + automatiseringer og notifikationer

Lær, hvordan du bruger dynamiske udtryk sammen med brugerdefinerede visninger og automatiseringer til at tilpasse arbejdsgange og øge produktiviteten.

  • Mål: Giv redaktører besked, når en ide bliver evalueret, og før dem via et link til en brugerdefineret visning med evaluerede ideer.
  • Trin:
    • Opret visning: Filtrer, så kun evaluerede ideer vises, og gør visningen tilgængelig for redaktører.
    • Konfigurer automatisering: Udløs notifikationer, når ideer bliver evalueret.
    • Udform notifikation: Brug dynamiske udtryk til at inkludere ideens titel, ejer og direkte URL til visningen med evaluerede ideer.
    • Tilpas visning: Tilføj en dynamisk hilsen med navnet på brugeren i sessionen.
  • Test: Evaluer en ide for at bekræfte, at notifikationen og linket fungerer som forventet.

Når opsætningen er aktiveret, får redaktørerne besked og ledes til listen over evaluerede ideer via et klikbart link på fanen med deres notifikationer.

Dynamiske udtryk + statiske felter

Lær, hvordan du bruger dynamiske udtryk sammen med statiske felter til at forbedre indsendelse af ideer og beregninger i realtid.

Mål: Opret et brugerdefineret scorefelt, der opdateres i realtid baseret på interaktioner med ideer.

Trin:

  1. Tilføj statisk felt:
    • Opret et statisk felt (f.eks. "Brugerdefineret score") i et enkelt formular, og tilføj et værktøjstip med en forklaring.
    • Angiv felttypen som "Tal", og brug context.stats.likes.total til at registrere det samlede antal likes.
  2. Brug dynamiske udtryk:
    • Udfyld feltet med data i realtid ved hjælp af kontekstvariabler.
    • Kombinér udtryk (f.eks. likes + gennemsnitlig evaluering) for at beregne scorer.
    • Henvis til brugerudfyldte felter (f.eks. et felt for "Estimat") efter ID i udtrykket.
  3. Inddrag funktioner og operatorer:
    • Tilføj betinget logik (f.eks. hvis evalueringen er under 1, skal standardværdien være 1).
    • Brug parenteser og multiplikatorer til at prioritere værdier (f.eks. gang evalueringer med 10).
  4. Test opsætningen:
    • Indsend en ide, og udfyld de obligatoriske felter.
    • Kontrollér, at den brugerdefinerede score opdateres dynamisk (f.eks. efter evaluering af ideen).
    • Genindlæs for at bekræfte opdateringer i realtid.
  5. Yderligere anvendelsesmuligheder:
    • Brug den tilpassede score i listevisninger, diagrammer, eksporter og filtre.
    • Du kan eventuelt tilsidesætte værdier senere med automatiseringer (f.eks. ved hjælp af handlinger af typen "Opdater idé").

Resultat: Det dynamiske, tilpassede scorefelt forbedrer sortering, filtrering og sporing ved at blive opdateret i realtid baseret på brugerinteraktioner.

Eksempler på matematiske operationer

  • Læg to tal sammen
  • {{ 1 + 2 }}
    {{ sessionUser.stats.likes + 2 }}
    {{ idea.field.d4141580-66ec-4f72-b25c-6282362ed61d.value + idea.field.00c91022-050a-489d-8a9a-e9d668698ecc.value }}
  • Divider to tal
  • {{ 1 / 2 }}
    {{ ideaCollection.stats.ideas.total / 10 }}
  • Opløft et tal til en potens
  • {{ 2 ** 2 }}
    {{ sessionUser.stats.ideas ** 2 }}
  • Tilpas rækkefølgen af regneoperationer i en matematisk formel
  • {{ (2 + 2) * 4 }}
  • Beregn gennemsnittet af nogle tal, og afrund til nærmeste hele tal
  • {{ ROUND(AVERAGE(2, 3, 5)) }}
    {{ ROUND(AVERAGE(sessionUser.stats.likes, 3, 5)) }}
  • Find det største tal i et sæt
  • {{ MAX(1, 3, 5) }}
    {{ MAX(1, 3, sessionUser.stats.assignments) }}
  • Find længden af et ord
  • {{ LENGTH("Hello") }}
    {{ LENGTH(sessionUser.name) }}

Eksempler på arbejde med tekst

  • Skriv et ord med store bogstaver
  • {{ UPPERCASE("hello") }}
    {{ UPPERCASE(translate:custom.my.translation.variable) }}
  • Afkort et ord, hvis det overstiger 10 tegn
  • {{ TRUNCATE("Hi, I’d like to share with you my whole life story", 10) }}
    {{ TRUNCATE(sessionUser.name, 10) }}
  • Gentag et ord tre gange
  • {{ REPEAT("Hi! ", 3) }}
    {{ REPEAT(ideaCollection.title, 3) }}
  • Erstat tegnet ‘H’ i et ord med ‘C’
  • {{ REPLACE("Hello", "H", "C") }}
    {{ REPLACE(sessionUser.name, "H", "C") }}
  • Fjern indledende og afsluttende mellemrum fra et ord
  • {{ TRIM("   Hello   ") }}
    {{ TRIM(sessionUser.name) }}

Eksempler på logiske operationer

  • Kontrollér, om et tal er større end et andet tal
  • {{ 3 > 2 }}
    {{ sessionUser.stats.ideas > 2 }}
  • Kontrollér, om en beregning er korrekt
  • {{ 2 + 2 == 4 }}
    {{ (2 + 2) * 4 == 16 }}
  • Kontrollér, om et tal er lig med et andet tal
  • {{ 3 == 2 }}
    {{ sessionUser.stats.ideas == 2 }}
  • Kontrollér, om noget ikke er sandt
  • {{ !(2 + 2 == 4) }}
  • Kontrollér, om alle betingelser er sande
  • {{ 2 + 2 == 4 && 6 * 6 == 36 }}
    {{ LENGTH(sessionUser.name) > 10 && LENGTH(sessionUser.name) < 50 }}
  • Kontrollér, om mindst én betingelse er sand
  • {{ 2 + 2 == 5 || 4 + 4 == 8 }}
    {{ LENGTH(TRUNCATE("Goodbye, " + sessionUser.name, 30)) < 50 || sessionUser.stats.likes > 2 }}
  • Kombination af AND- og OR-grupper
  • {{ 2 + 2 == 4 && (3 + 3 == 5 || 4 + 4 == 8) }}
  • Kontrollér, om et ord begynder med en bestemt tegnsekvens
  • {{ STARTS_WITH("hello", "he") }}
    {{ STARTS_WITH(translate:custom.greeting, "Greetings") }}
  • Kontrollér, om et ord indeholder en bestemt tegnsekvens
  • {{ INCLUDES("hello", "ll") }}

Eksempler på betingede udtryk

  • Vis et andet ord afhængigt af værdien af en beregning
  • {{ 2 + 2 == 4 ? "Correct" : "Incorrect" }}
    {{ sessionUser.stats.likes > 10 ? "Top-contributor" : "Rookie" }}
  • Brug forskellige oversættelsesvariabler for forskellige brugere afhængigt af deres rang
  • {{ sessionUser.rank >= 3000 ? translate:custom.admin_text : translate:custom.normal_member_text }}

Ved at bruge disse dynamiske udtryk kan du oprette avanceret, personlig og effektiv logik i dit workspace.

‍