@warp-works/warpjs-utils
Version:
Utility functions for WarpJS and plugins
112 lines (59 loc) • 2.52 kB
Markdown
# WarpJS-utils
Utility library for WarpJS and plugins.
## Handlebars related
This package also contains the base views and templates for WarpJS.
const warpjsUtils = require('@warp-works/warpjs-utils');
app.set('view engine', 'hbs');
app.set('views', warpjsUtils.getHandlebarsViewsDir());
In `webpack`, you can define these for the helpers:
{
test: /\.hbs$/,
loader: 'handlebars-loader',
query: {
helperDirs: [
warpjsUtils.getHandlebarsHelpersDir(),
],
partialDirs: [
warpjsUtils.getHandlebarsPartialsDir(),
]
}
}
## API
### .assetsFolder
Path to the folder containing the shared assets.
### .byName(left, right)
Sort function that will order objects by their name.
### .byPositionThenName(left, right)
Sort function that will order objects by their position, then name.
### .compareIDs(id1, id2)
Check if `id1` and `id2` are equivalent. This converts each param into string to
allow comparison of number and string values.
### .createResource(reqOrPath, data)
Create a HAL object. `reqOrPath` is either the controller's `req` object when we
want the `_links.self.href` to be defined by the current URL, or a string
(potentially empty) to point to a specific URL. `data` is an object containing
the HAL data. See [HAL](https://www.npmjs.com/package/hal) for more info about
the returned object.
### .documentReady($)
This method should be called by the portal pages or portal plugins in order to
enable the common UI event handlers. `$` is the jQuery object.
### .getCurrentPageHAL($, [url])
Get the HAL for the current page. If `url` is passed, it will be used instead of
the current page's URL.
### .getHandlebarsHelpersDir(), .getHandlebarsPartialsDir(), .getHandlebarsViewsDir()
Function to return the path where the handlebars elements are. To be used with
your webpack config or plugin apps to access common templates.
### .proxy
### .requirePartial(partialName)
### .sendError(req, res, RoutesInfo, err)
### .sendHal(req, res, resource, RoutesInfo, [status])
Returns the endpoint `resource` as a HAL payload. `status` will be `200` if not
defined.
### .sendIndex(res, title, bundles, cssFile)
### .toast.success($, text, [heading])
Toaster.
### .trace(level, arg1, arg2, arg3, arg4)
### .urlFormat(pathname, query)
### .WarpJSError
### .wrapWith406(res, format)
Make sure a `406` is returned to client to block invalid methods.