Program dashboard
Upgraded program dashboard to handle unified query.
Menu item "unified-program-dashboard"
Display different type of program dashboard on configuration like open program dashboard, fixed program dashboard, trainer dashboard, allow data filtering based on program group.
Attributes
optionsmode: Provide a mode of dashboardtitle: Provide a title of dashboardquery: Program query that loads the programs to displayprogramStatsQuery: Program stats query that provides user counts for each cohortparticipantQuery: Participant query to list the trainersprogramKindGroup: [Object]excludes: [String of Array] Provide a program groups for the data filteringincludes: [String of Array] Provide a program groups for the data filtering
Example of Open Program Dashboard
{
  "target": "open-programs-dashboard",
  "icon": "far fa-star",
  "options": {
    "query": "program open from -4 to +4 months",
    "mode": "open",
    "title": "Open Program Dashboard",
    "programStatsQuery": "program starting from 2021 as year with [any]",
    "participantQuery": "program starting from 2021 as year with [any] participant = trainer",
    "programKindGroup": {
      "excludes": [
        "skill"
      ]
    }
  },
  "title": "Open program dashboard",
  "condition": "user is admin",
  "name": "Open-program-dashboard",
  "_id": "75"
}
Example of Fixed Program Dashboard
{
  "target": "open-programs-dashboard",
  "icon": "far fa-star",
  "options": {
    "query": "all programs",
    "mode": "fixed",
    "title": "Fixed Program Dashboard",
    "programStatsQuery": "program starting from 2021 as year with [any]",
    "participantQuery": "program starting from 2021 as year with [any] participant = trainer"
  },
  "title": "Fixed program dashboard",
  "condition": "user is admin",
  "name": "Fixed-program-dashboard",
  "_id": "76"
}
Example Of open-program-with skill courses
{
  "target": "open-programs-dashboard",
  "icon": "far fa-star",
  "options": {
    "query": "program open from -4 to +4 months",
    "mode": "open",
    "title": "Open program skill Courses",
    "programStatsQuery": "program starting from 2021 as year with [any]",
    "participantQuery": "program starting from 2021 as year with [any] participant = trainer",
    "programKindGroup": {
      "includes": [
        "skill"
      ]
    }
  },
  "title": "Open program skill Courses",
  "condition": "user is admin",
  "name": "Open-program-skill-Courses",
  "_id": "77"
}
Example of open program with high touch
{
  "target": "open-programs-dashboard",
  "icon": "far fa-star",
  "options": {
    "query": "program open from -4 to +4 months",
    "mode": "open",
    "title": "Open program high touch",
    "programStatsQuery": "program starting from 2021 as year with [any]",
    "participantQuery": "program starting from 2021 as year with [any] participant = trainer",
    "programKindGroup": {
      "includes": [
        "entry"
      ],
      "excludes": [
        "skill"
      ]
    }
  },
  "title": "Open program high touch",
  "condition": "user is admin",
  "name": "Open-program-high-touch",
  "_id": "78"
}
Example of Trainer Dashboard
{
  "target": "open-programs-dashboard",
  "icon": "far fa-star",
  "options": {
    "query": "current user ^ programs starting from -4 to +1 months with [any], participant = trainer",
    "mode": "trainer",
    "title": "Trainer Dashboard",
    "programStatsQuery": "program starting from 2021 as year with [any]",
    "participantQuery": "program starting from 2021 as year with [any] participant = trainer"
  },
  "title": "Trainer Dashboard[Open Routes]",
  "condition": "user is admin",
  "name": "Trainer-Dashboard",
  "_id": "83"
}