nl_tokens: selector is a CSS selector or . . filter must be in the special JointJS filter format : { name : <name of the filter > args : { <arguments > ... } . An example is : { filter : { name : blur args : { radius : 5 } } } .
pl_tokens: function ( selector , filter ) { var $selected = this . findBySelector ( selector ) ; // Generate a hash code from the stringified filter definition. This gives us // a unique filter ID for different definitions. var filterId = filter . name + this . paper . svg . id + joint . util . hashCode ( JSON . stringify ( filter ) ) ; // If the filter already exists in the document, // we're done and we can just use it (reference it using `url()`). // If not, create one. if ( ! this . paper . svg . getElementById ( filterId ) ) { var filterSVGString = joint . util . filter [ filter . name ] && joint . util . filter [ filter . name ] ( filter . args || { } ) ; if ( ! filterSVGString ) { throw new Error ( 'Non-existing filter ' + <mask> . name ) ; } var filterElement = V ( filterSVGString ) ; filterElement . attr ( 'filterUnits' , 'userSpaceOnUse' ) ; filterElement . node . id = filterId ; V ( this . paper . svg ) . defs ( ) . append ( filterElement ) ; } $selected . each ( function ( ) { V ( this ) . attr ( 'filter' , 'url(#' + filterId + ')' ) ; } ) ; }