@flaivour/apostrophe-enhancements
v1.0.1
Published
ApostropheCMS 2 module which brings extended features to core modules
Maintainers
Readme
module
ApostropheCMS 2 module which brings extended features to core modules
Well, ApostropheCMS is really great, but who does not want new features as fresh as beers in the freezer? 🍺
Installation
Install module dependency
npm i --save @flaivour/apostrophe-enhancementsDeclare it in apostrophe modules
// Modules declaration into `app.js`
modules: {
'@flaivour/apostrophe-enhancements': {}
}That's it, module is ready 🎉
Features
Pieces insert conditions
Provide a way to declare conditions that new pieces must match to be inserted. These can be declared in addConditions property of piece options.
// In declaration of module extending `apostrophe-pieces`
beforeConstruct: (self, options) => {
options.addFields = [
{
name: 'price',
label: 'Price',
type: 'integer',
required: true
}
].concat(options.addFields || [])
// Provide an array of conditions that should be match at insertion
options.addConditions = [
{
label: 'price should be a valid number greater than 0',
checking: (piece) => Number.isInteger(piece.price) && piece.price > 0
}
].concat(options.addConditions || [])
}addConditions is an array of conditions, taking form of objects containing at least a matching property. This last is a function that is going to be called in beforeSave with the insertion candidate piece. It must return a boolean, used to defined if condition is or not validated.
License
This is released under the MIT License.
