mirror of
https://github.com/janishutz/libreevent.git
synced 2025-11-25 21:34:24 +00:00
add start page settings
This commit is contained in:
@@ -10,12 +10,12 @@
|
||||
const db = require( '../../backend/db/db.js' );
|
||||
const pm = require( '../../backend/plugins/manager.js' );
|
||||
const spm = require( '../startPageManager.js' );
|
||||
const startPageManager = new spm();
|
||||
|
||||
class GETHandler {
|
||||
constructor ( settings ) {
|
||||
this.pluginManager = new pm( settings );
|
||||
this.settings = settings;
|
||||
this.startPageManager = new spm( settings );
|
||||
}
|
||||
|
||||
handleCall ( call, query ) {
|
||||
@@ -115,9 +115,17 @@ class GETHandler {
|
||||
} else if ( call === 'getAllPlugins' ) {
|
||||
resolve( this.pluginManager.getPlugins() );
|
||||
} else if ( call === 'getStartPageSettings' ) {
|
||||
resolve( startPageManager.loadStartPagePreferences( query.name ) );
|
||||
resolve( this.startPageManager.loadStartPagePreferences( query.name ) );
|
||||
} else if ( call === 'getAllStartPages' ) {
|
||||
resolve( startPageManager.findAllStartPageTemplates() );
|
||||
resolve( this.startPageManager.findAllStartPageTemplates() );
|
||||
} else if ( call === 'buildStartPage' ) {
|
||||
( async() => {
|
||||
if ( await this.startPageManager.renderStartPage( query.page ) ) {
|
||||
resolve( 'ok' );
|
||||
} else {
|
||||
reject( { 'code': 412, 'error': 'Missing entries' } );
|
||||
}
|
||||
} )();
|
||||
} else {
|
||||
reject( { 'code': 404, 'error': 'Route not found' } );
|
||||
}
|
||||
|
||||
@@ -12,6 +12,8 @@ const pwdmanager = require( '../pwdmanager.js' );
|
||||
const fs = require( 'fs' );
|
||||
const path = require( 'path' );
|
||||
const pm = require( '../../backend/plugins/manager.js' );
|
||||
const spm = require( '../startPageManager.js' );
|
||||
const startPageManager = new spm();
|
||||
|
||||
const letters = [ ',', '{' ];
|
||||
|
||||
@@ -178,6 +180,9 @@ class POSTHandler {
|
||||
} ).catch( err => {
|
||||
reject( { 'code': 500, 'message': err } );
|
||||
} );
|
||||
} else if ( call === 'savePageSettings' ) {
|
||||
startPageManager.saveStartPagePreferences( data.page, data.preferences );
|
||||
resolve( 'ok' );
|
||||
} else {
|
||||
reject( { 'code': 404, 'error': 'Route not found' } );
|
||||
}
|
||||
|
||||
@@ -18,7 +18,11 @@ class StartPageManager {
|
||||
}
|
||||
|
||||
saveStartPagePreferences( startPageName, preferences ) {
|
||||
fs.writeFileSync( path.join( __dirname + '/../ui/home/templates/' + startPageName + '/startPage.config.html' ), JSON.stringify( preferences ) );
|
||||
let conf = {};
|
||||
for ( let setting in preferences ) {
|
||||
conf[ setting ] = preferences[ setting ][ 'value' ];
|
||||
}
|
||||
fs.writeFileSync( path.join( __dirname + '/../ui/home/templates/' + startPageName + '/startPage.config.json' ), JSON.stringify( conf ) );
|
||||
}
|
||||
|
||||
loadStartPagePreferences( startPageName ) {
|
||||
@@ -43,14 +47,19 @@ class StartPageManager {
|
||||
|
||||
async renderStartPage( startPageName ) {
|
||||
this.setActiveStartPage( startPageName );
|
||||
let self = this;
|
||||
const app = createSSRApp( {
|
||||
data() {
|
||||
return this.loadStartPagePreferences( startPageName );
|
||||
return {
|
||||
'data': self.loadStartPagePreferences( startPageName ),
|
||||
'pageName': self.settings.pageName,
|
||||
};
|
||||
},
|
||||
template: '' + fs.readFileSync( path.join( __dirname + '/../ui/home/templates/' + startPageName + '/index.html' ) )
|
||||
} );
|
||||
|
||||
fs.writeFileSync( path.join( __dirname + '/../ui/home/active/en/index.html' ), await renderToString( app ) );
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user