An modular inspection tool for your DoneJS application
npm install --save-dev done-inspect
or
yarn add done-inspect --dev
Use ES6 import
or CommonJS require
to load done-inspect
. After which,
it can be used in your template.
// ES6
import plugin from 'done-inspect';
// CommonJS
var plugin = require('done-inspect');
Or import it directly into your can-stache
template with can-import
and stealjs
:
<can-import from="done-inspect" />
<done-inspect />
{{!-- With configuration options and an application title --}}
<done-inspect {options}="anObject" {title}="aString" />
The options
parameter is expected to be an object and accepts only two properties:
expanded
and modules
.
expanded
is a boolean and expectstrue
orfalse
as valuesmodules
is expected to be anArray
ofObject
where each object matches the interface of a module.
The title
parameter take a string and will be displayed at the top of the inspector. The idea
for this was to display the package.json's name + version
at the top of the inspector but
any string is accepted.
Two modules come with the current version of done-inspect
:
- Select Wand - Allows the User to hover over the application's custom components and outline them. In future versions, this selection will also include the ability to inspect and change the components internal state.
- Show Names - Turning the module on will place labels by all of the application's custom components, showing their tag names.
Writing a done-inspect
module requires an exported object with three properties and one function.
import './module-name.less';
export default {
group: '<string :: The group the module belongs to>',
title: '<string :: The short title shown to the User>',
description: '<string :: What function the module performs>',
onChange() {
/**
* Currently done-inspect's interface only supports checkboxes.
*
* This function will be called each time the User clicks the
* module's checkbox. Therefore, it needs to account for being
* checked and unchecked.
*/
},
};
In order to reduce the change of style conflict, I use the following class name convention:
.done-inspect-module-name-class-name {
// ALL THE STYLES
}