fixes: loading app with slug

This commit is contained in:
arpitnath 2023-09-17 01:08:55 +05:30
parent 007f05f0d9
commit 6b96c3c9e3
4 changed files with 31 additions and 17 deletions

View file

@ -36,7 +36,6 @@ class ManageAppUsersComponent extends React.Component {
}
fetchAppUsers = (appId) => {
console.log('---arpit [manager users]:; ', { x: this.props });
appService
.getAppUsers(appId)
.then((data) =>

View file

@ -80,9 +80,15 @@ class ViewerComponent extends React.Component {
};
}
setStateForApp = (data) => {
setStateForApp = (data, byAppSlug = false) => {
const appDefData = buildAppDefinition(data);
if (byAppSlug) {
appDefData.globalSettings = data.globalSettings;
appDefData.homePageId = data.homePageId;
appDefData.showHideViewerNavigation = data.showHideViewerNavigation;
}
this.setState({
app: data,
isLoading: false,
@ -116,10 +122,17 @@ class ViewerComponent extends React.Component {
}
let queryState = {};
const { data_queries } = await dataqueryService.getAll(appVersionId);
let dataQueries = [];
if (data_queries.length > 0) {
data_queries.forEach((query) => {
if (appVersionId) {
const { data_queries } = await dataqueryService.getAll(appVersionId);
dataQueries = data_queries;
} else {
dataQueries = data.data_queries;
}
if (dataQueries.length > 0) {
dataQueries.forEach((query) => {
if (query.pluginId || query?.plugin?.id) {
queryState[query.name] = {
...query.plugin.manifestFile.data.source.exposedVariables,
@ -139,12 +152,12 @@ class ViewerComponent extends React.Component {
const constants = await this.fetchOrgEnvironmentConstants(data.slug, data.is_public);
const pages = data.pages;
const homePageId = data.editing_version.homePageId;
const homePageId = appVersionId ? data.editing_version.homePageId : data?.homePageId;
const startingPageHandle = this.props?.params?.pageHandle;
const currentPageId = pages.filter((page) => page.handle === startingPageHandle)[0]?.id ?? homePageId;
const currentPage = pages.find((page) => page.id === currentPageId);
useDataQueriesStore.getState().actions.setDataQueries(data_queries);
useDataQueriesStore.getState().actions.setDataQueries(dataQueries);
this.props.setCurrentState({
queries: queryState,
components: {},
@ -179,10 +192,11 @@ class ViewerComponent extends React.Component {
? `${this.state.deviceWindowWidth}px`
: '1292px',
selectedComponent: null,
dataQueries: data_queries,
dataQueries: dataQueries,
currentPageId: currentPage.id,
pages: {},
homepage: appDefData?.pages?.[this.state.appDefinition?.homePageId]?.handle,
event: data.events ?? [],
},
() => {
const components = appDefData?.pages[currentPageId]?.components || {};
@ -190,7 +204,7 @@ class ViewerComponent extends React.Component {
computeComponentState(components).then(async () => {
this.setState({ initialComputationOfStateDone: true, defaultComponentStateComputed: true });
console.log('Default component state computed and set');
this.runQueries(data_queries);
this.runQueries(dataQueries);
// eslint-disable-next-line no-unsafe-optional-chaining
// const { events } = this.state.appDefinition?.pages[this.state.currentPageId];
// for (const event of events ?? []) {
@ -264,7 +278,7 @@ class ViewerComponent extends React.Component {
appService
.getAppBySlug(slug)
.then((data) => {
this.setStateForApp(data);
this.setStateForApp(data, true);
this.setStateForContainer(data);
this.setWindowTitle(data.name);
})

View file

@ -136,6 +136,9 @@ export class AppsController {
? await this.appsService.findVersion(app.currentVersionId)
: await this.appsService.findVersion(app.editingVersion?.id);
const pagesForVersion = app.editingVersion ? await this.pageService.findPagesForVersion(versionToLoad.id) : [];
const eventsForVersion = app.editingVersion ? await this.eventsService.findEventsForVersion(versionToLoad.id) : [];
// serialize
return {
current_version_id: app['currentVersionId'],
@ -145,6 +148,11 @@ export class AppsController {
is_maintenance_on: app.isMaintenanceOn,
name: app.name,
slug: app.slug,
events: eventsForVersion,
pages: pagesForVersion,
homePageId: versionToLoad.homePageId,
globalSettings: versionToLoad.globalSettings,
showHideViewerNavigation: versionToLoad.showViewerNavigation,
};
}

View file

@ -305,13 +305,6 @@ export class AppImportExportService {
appResourceMappings.dataQueryMapping
);
console.log(
'---arpit--- importingAppVersion',
JSON.stringify({
updatedDefinition,
})
);
// !-----
let updateHomepageId = null;