0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2025-12-27 13:42:38 +00:00

Add params from snippet to function

This commit is contained in:
G.Ambatte
2023-06-03 14:09:50 +12:00
parent d2b2e69123
commit 9093f610bd
3 changed files with 57 additions and 17 deletions

View File

@@ -167,7 +167,7 @@ const SnippetGroup = createClass({
},
handleSnippetClick : function(e, snippet){
e.stopPropagation();
this.props.onSnippetClick(execute(snippet.gen, this.props.brew, { cursorPos: this.props.cursorPos }));
this.props.onSnippetClick(execute(snippet.gen, this.props.brew, { ...snippet.params, cursorPos: this.props.cursorPos }));
},
renderSnippets : function(snippets){
return _.map(snippets, (snippet)=>{

View File

@@ -31,9 +31,47 @@ module.exports = [
gen : '{{pageNumber,auto}}\n{{footnote PART 1 | SECTION NAME}}\n\n'
},
{
name : 'Footer',
icon : 'fas fa-sort-numeric-down',
gen : FooterGen
name : 'Footer',
icon : 'fas fa-shoe-prints',
gen : FooterGen.createFooter,
subsnippets : [
{
name : 'Footer from H1',
icon : 'fas fa-dice-one',
gen : FooterGen.createFooter,
params : { headerSize: 1 }
},
{
name : 'Footer from H2',
icon : 'fas fa-dice-two',
gen : FooterGen.createFooter,
params : { headerSize: 2 }
},
{
name : 'Footer from H3',
icon : 'fas fa-dice-three',
gen : FooterGen.createFooter,
params : { headerSize: 3 }
},
{
name : 'Footer from H4',
icon : 'fas fa-dice-four',
gen : FooterGen.createFooter,
params : { headerSize: 4 }
},
{
name : 'Footer from H5',
icon : 'fas fa-dice-five',
gen : FooterGen.createFooter,
params : { headerSize: 5 }
},
{
name : 'Footer from H6',
icon : 'fas fa-dice-six',
gen : FooterGen.createFooter,
params : { headerSize: 6 }
}
]
},
{
name : 'Table of Contents',

View File

@@ -1,16 +1,18 @@
module.exports = function(brew, params){
const cursorPos = params.cursorPos;
const headerSize = params.headerSize || 1;
module.exports = {
createFooter : function(brew, params){
const cursorPos = params.cursorPos;
const headerSize = params.headerSize || 1;
let header='';
while (header.length < headerSize) {
header = header.concat('#');
let header='';
while (header.length < headerSize) {
header = header.concat('#');
}
header = header.concat(' ');
const textArray = brew.text.split('\n').slice(0, cursorPos.line).reverse();
const textArrayFilter = textArray.filter((line)=>{ return line.slice(0, header.length) == header; });
const text = textArrayFilter[0]?.slice(header.length) || 'PART 1 | SECTION NAME';
return `\n{{footnote ${text}}}\n`;
}
header = header.concat(' ');
const textArray = brew.text.split('\n').slice(0, cursorPos.line).reverse();
const textArrayFilter = textArray.filter((line)=>{ return line.slice(0, header.length) == header; });
const text = textArrayFilter[0]?.slice(header.length) || 'PART 1 | SECTION NAME';
return `\n{{footnote ${text}}}\n`;
};