fix react renderer

This commit is contained in:
Philipp Kühn 2021-02-02 23:28:17 +01:00 committed by Hans Pagel
parent 7bf5ee3827
commit 14bcf80659
2 changed files with 37 additions and 3 deletions

View File

@ -100,9 +100,9 @@ module.exports = function (api) {
/**
* Generate pages for all demo components for testing purposes
*/
globby.sync('./src/demos/**/index.vue').forEach(file => {
globby.sync('./src/demos/**/index.(vue|jsx)').forEach(file => {
const match = file.match(
new RegExp(/\.\/src\/demos\/([\S]+)\/index.vue/i),
new RegExp(/\.\/src\/demos\/([\S]+)\/index.(vue|jsx)/i),
)
if (!match) {

View File

@ -1,6 +1,6 @@
<template>
<div class="demo-page">
<demo-content :name="$context.name" />
<demo-content :name="$context.name" v-bind="props" />
</div>
</template>
@ -30,6 +30,40 @@ export default {
}
},
methods: {
fromString(value) {
if (typeof value !== 'string') {
return value
}
if (value.match(/^\d*(\.\d+)?$/)) {
return Number(value)
}
if (value === 'true') {
return true
}
if (value === 'false') {
return false
}
if (value === 'null') {
return null
}
return value
},
},
computed: {
props() {
return Object.fromEntries(Object
.entries(this.$route.query)
.map(([key, value]) => [key, this.fromString(value)]))
},
},
mounted() {
this.resizeObserver = new window.ResizeObserver(items => {
if (window.parentIFrame) {