let styfn = {}; | |
styfn.appendFromJson = function( json ){ | |
let style = this; | |
for( let i = 0; i < json.length; i++ ){ | |
let context = json[ i ]; | |
let selector = context.selector; | |
let props = context.style || context.css; | |
let names = Object.keys( props ); | |
style.selector( selector ); // apply selector | |
for( let j = 0; j < names.length; j++ ){ | |
let name = names[j]; | |
let value = props[ name ]; | |
style.css( name, value ); // apply property | |
} | |
} | |
return style; | |
}; | |
// accessible cy.style() function | |
styfn.fromJson = function( json ){ | |
let style = this; | |
style.resetToDefault(); | |
style.appendFromJson( json ); | |
return style; | |
}; | |
// get json from cy.style() api | |
styfn.json = function(){ | |
let json = []; | |
for( let i = this.defaultLength; i < this.length; i++ ){ | |
let cxt = this[ i ]; | |
let selector = cxt.selector; | |
let props = cxt.properties; | |
let css = {}; | |
for( let j = 0; j < props.length; j++ ){ | |
let prop = props[ j ]; | |
css[ prop.name ] = prop.strValue; | |
} | |
json.push( { | |
selector: !selector ? 'core' : selector.toString(), | |
style: css | |
} ); | |
} | |
return json; | |
}; | |
export default styfn; | |