QQQ-38 Initial build of app home page widgets

This commit is contained in:
2022-08-22 10:38:02 -05:00
parent 99f724e2c2
commit 937304e7f1
21 changed files with 939 additions and 13 deletions

View File

@ -36,6 +36,7 @@ import java.util.Objects;
import java.util.Optional;
import java.util.function.Supplier;
import com.kingsrook.qqq.backend.core.actions.async.AsyncJobManager;
import com.kingsrook.qqq.backend.core.actions.dashboard.WidgetDataLoader;
import com.kingsrook.qqq.backend.core.actions.metadata.MetaDataAction;
import com.kingsrook.qqq.backend.core.actions.metadata.ProcessMetaDataAction;
import com.kingsrook.qqq.backend.core.actions.metadata.TableMetaDataAction;
@ -278,6 +279,8 @@ public class QJavalinImplementation
});
});
get("/widget/{name}", QJavalinImplementation::widget);
////////////////////
// process routes //
////////////////////
@ -662,6 +665,27 @@ public class QJavalinImplementation
/*******************************************************************************
** Load the data for a widget of a given name.
*******************************************************************************/
private static void widget(Context context)
{
try
{
InsertInput insertInput = new InsertInput(qInstance);
setupSession(context, insertInput);
Object widgetData = new WidgetDataLoader().execute(qInstance, insertInput.getSession(), context.pathParam("name"));
context.result(JsonUtils.toJson(widgetData));
}
catch(Exception e)
{
handleException(context, e);
}
}
/*******************************************************************************
**
*******************************************************************************/