@difftim/excelize
Version:
Excel Workbook Manager - Read and Write xlsx and csv Files.
49 lines (48 loc) • 1.26 kB
JavaScript
const BaseXform = require('../base-xform');
class ThemeXform extends BaseXform {
get tag() {
return 'a:theme';
}
render() {
// 在这里实现XML数据的生成(如果需要)
}
parseOpen(node) {
if (node.name === this.tag) {
this.model = {
colors: []
};
this.parsingState = {
inTheme: true,
inColorScheme: false
};
}
if (this.parsingState.inTheme && node.name === 'a:clrScheme') {
this.parsingState.inColorScheme = true;
}
if (this.parsingState.inColorScheme && node.name === 'a:srgbClr') {
this.model.colors.push({
type: 'srgbClr',
value: node.attributes.val
});
}
if (this.parsingState.inColorScheme && node.name === 'a:sysClr') {
this.model.colors.push({
type: 'sysClr',
value: node.attributes.lastClr
});
}
return true;
}
parseClose(name) {
if (name === this.tag) {
this.parsingState.inTheme = false;
} else if (name === 'a:clrScheme') {
this.parsingState.inColorScheme = false;
} else if (this.parsingState.inColor) {
this.parsingState.inColor = false;
}
return true;
}
}
module.exports = ThemeXform;
//# sourceMappingURL=theme-xform.js.map