0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2025-12-24 14:12:40 +00:00

Push pageCount to NewPage and EditPage

This commit is contained in:
G.Ambatte
2021-08-17 17:36:26 +12:00
parent 0fd7921a50
commit cfb98986cd
4 changed files with 17 additions and 14 deletions

View File

@@ -191,16 +191,19 @@ const EditPage = createClass({
this.setState((prevState)=>({
isSaving : true,
errors : null,
htmlErrors : Markdown.validate(prevState.brew.text)
htmlErrors : Markdown.validate(prevState.brew.text),
}));
const transfer = this.state.saveGoogle == _.isNil(this.state.brew.googleId);
const brew = this.state.brew;
brew.pageCount = ((brew.renderer=='legacy' ? brew.text.match(/\\page/g) : brew.text.match(/^\\page/gm)) || []).length + 1;
if(this.state.saveGoogle) {
if(transfer) {
const res = await request
.post('/api/newGoogle/')
.send(this.state.brew)
.send(brew)
.catch((err)=>{
console.log(err.status === 401
? 'Not signed in!'
@@ -211,7 +214,7 @@ const EditPage = createClass({
if(!res) { return; }
console.log('Deleting Local Copy');
await request.delete(`/api/${this.state.brew.editId}`)
await request.delete(`/api/${brew.editId}`)
.send()
.catch((err)=>{
console.log('Error deleting Local Copy');
@@ -221,8 +224,8 @@ const EditPage = createClass({
history.replaceState(null, null, `/edit/${this.savedBrew.googleId}${this.savedBrew.editId}`); //update URL to match doc ID
} else {
const res = await request
.put(`/api/updateGoogle/${this.state.brew.editId}`)
.send(this.state.brew)
.put(`/api/updateGoogle/${brew.editId}`)
.send(brew)
.catch((err)=>{
console.log(err.status === 401
? 'Not signed in!'
@@ -236,14 +239,14 @@ const EditPage = createClass({
} else {
if(transfer) {
const res = await request.post('/api')
.send(this.state.brew)
.send(brew)
.catch((err)=>{
console.log('Error creating Local Copy');
this.setState({ errors: err });
return;
});
await request.get(`/api/removeGoogle/${this.state.brew.googleId}${this.state.brew.editId}`)
await request.get(`/api/removeGoogle/${brew.googleId}${brew.editId}`)
.send()
.catch((err)=>{
console.log('Error Deleting Google Brew');
@@ -253,8 +256,8 @@ const EditPage = createClass({
history.replaceState(null, null, `/edit/${this.savedBrew.editId}`); //update URL to match doc ID
} else {
const res = await request
.put(`/api/update/${this.state.brew.editId}`)
.send(this.state.brew)
.put(`/api/update/${brew.editId}`)
.send(brew)
.catch((err)=>{
console.log('Error Updating Local Brew');
this.setState({ errors: err });

View File

@@ -161,6 +161,8 @@ const NewPage = createClass({
brew.text = brew.text.slice(index + 5);
};
brew.pageCount=((brew.renderer=='legacy' ? brew.text.match(/\\page/g) : brew.text.match(/^\\page/gm)) || []).length + 1;
if(this.state.saveGoogle) {
const res = await request
.post('/api/newGoogle/')

View File

@@ -162,7 +162,7 @@ GoogleActions = {
renderer : brew.renderer,
tags : brew.tags,
systems : brew.systems.join(),
pageCount : (brew.text.match(/\\page/g) || []).length + 1
pageCount : brew.pageCount
}
},
media : { mimeType : 'text/plain',
@@ -198,7 +198,7 @@ GoogleActions = {
'editId' : nanoid(12),
'title' : brew.title,
'views' : '0',
'pageCount' : (brew.text.match(/\\page/g) || []).length + 1,
'pageCount' : brew.pageCount,
'renderer' : brew.renderer || 'legacy'
}
};
@@ -234,7 +234,7 @@ GoogleActions = {
updatedAt : new Date(),
gDrive : true,
googleId : obj.data.id,
pageCount : fileMetadata.properties.pageCount || 1,
pageCount : fileMetadata.properties.pageCount,
title : brew.title,
description : brew.description,

View File

@@ -38,7 +38,6 @@ const newBrew = (req, res)=>{
brew.authors = (req.account) ? [req.account.username] : [];
brew.text = mergeBrewText(brew.text, brew.style);
brew.pageCount = (brew.text.match(/\\page/g) || []).length + 1;
delete brew.editId;
delete brew.shareId;
@@ -67,7 +66,6 @@ const updateBrew = (req, res)=>{
.then((brew)=>{
brew = _.merge(brew, req.body);
brew.text = mergeBrewText(brew.text, brew.style);
brew.pageCount = (brew.text.match(/\\page/g) || []).length + 1;
// Compress brew text to binary before saving
brew.textBin = zlib.deflateRawSync(brew.text);