You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.5 KiB
55 lines
1.5 KiB
const {
|
|
camelize,
|
|
convertStaticStyle
|
|
} = require('@dcloudio/uni-cli-shared')
|
|
|
|
module.exports = {
|
|
modules: [require('./format-text'), {
|
|
preTransformNode (el, {
|
|
warn
|
|
}) {
|
|
if (el.attrsMap) {
|
|
if (el.attrsMap.style) {
|
|
el.attrsMap.style = convertStaticStyle(el.attrsMap.style)
|
|
}
|
|
if (process.env.UNI_PLATFORM === 'mp-baidu') { // fixed data-index => dataIndex
|
|
Object.keys(el.attrsMap).forEach(attr => {
|
|
if (attr.indexOf(':data-') === 0) {
|
|
el.attrsMap[camelize(attr)] = el.attrsMap[attr]
|
|
delete el.attrsMap[attr]
|
|
}
|
|
})
|
|
}
|
|
}
|
|
if (el.attrsList && el.attrsList.length) {
|
|
el.attrsList.forEach(attr => {
|
|
if (attr.name === 'style' && attr.value) {
|
|
attr.value = convertStaticStyle(attr.value)
|
|
}
|
|
if (process.env.UNI_PLATFORM === 'mp-baidu') { // fixed data-index => dataIndex
|
|
if (attr.name.indexOf(':data-') === 0) {
|
|
attr.name = camelize(attr.name)
|
|
}
|
|
}
|
|
})
|
|
}
|
|
},
|
|
postTransformNode (el) {
|
|
if (process.env.UNI_PLATFORM === 'mp-alipay') {
|
|
if (el.tag === 'slot') {
|
|
if (!el.children.length) {
|
|
el.children.push({
|
|
type: 1,
|
|
tag: 'view',
|
|
attrsList: [],
|
|
attrsMap: {},
|
|
parent: el,
|
|
children: [],
|
|
plain: true
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}]
|
|
}
|
|
|