export interface PluginOptions {
selector?: string;
settings?: {
debuggingMode?: boolean;
documentId: string;
beforeDocxButtonClick?: () => Promise<boolean>; // calback for check data before button press click event, return false to brake
data?: any; // - data if absent will use getData()
getData?: () => any; // - use if data is undefined
defaultDocxTemplates?: Array<{
templateId: string;
templateName: string; // - name for user interface
url: string; // - url for download template
getFileName?: () => string; // - function for generate created docx file name
}>;
initDefTemplateList?: string[]; // use only if user don't setup new value
};
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- load plugin style -->
<link href="http://dev.wedat.eu/docx-button/plugin.css" rel="stylesheet" />
</head>
<body>
<!-- this place where plugin will render -->
<div class="plugin"></div>
<!-- load plugin JS synchronously -->
<script src="http://dev.wedat.eu/docx-button/plugin.js"></script>
<!-- init plugin options on your JS file or inline JS like this -->
<script>
document.addEventListener('DOMContentLoaded', () => {
window.DOCX_BUTTON.init({
selector: '.plugin',
settings: {
debuggingMode: true,
documentId: 'documentID-exemple',
data: {
firstName: 'Petr',
secondName: 'Ivanov',
isDrink: true,
food: [
{
number: 1,
name: 'Potato'
},
{
number: 2,
name: 'Tomato'
}
]
},
defaultDocxTemplates: [
{
templateId: 'id2',
templateName: 'Uaser food',
url: './gererateDocTemplate.test.docx',
getFileName: () => 'user_food'
}
],
initDefTemplateList: ['id2'] // use only if user don't setup new value
}
});
});
</script>
</body>
</html>