Skip to content

Commit

Permalink
feat(toolbar): toolbar options
Browse files Browse the repository at this point in the history
  • Loading branch information
mekery committed Apr 30, 2020
1 parent 7f44f31 commit 90871aa
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 5 deletions.
15 changes: 13 additions & 2 deletions src/components/buttons/OAddMoreBtn.vue
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
:label="$o.lang.editor.thirdPartyService"
side-icon="keyboard_arrow_right">
<q-menu ref="formulaPopover" anchor="center right" self="center left" content-class="o-menu" :offset="[2, 0]">
<o-embed-menu @select="onSelectService" />
<o-embed-menu :embed-services="embedServices" @select="onSelectService" />
</q-menu>
</o-common-item>
</section>
Expand All @@ -67,7 +67,13 @@ export default {
},
isActive: {
type: Object
}
},
opt: {
type: Object,
default: function () {
return {}
}
},
},
components: {
OMenubarBtn,
Expand All @@ -94,6 +100,11 @@ export default {
}
},
computed: {
embedServices () {
return (this.opt && this.opt.embed) ? this.opt.embed : null
}
},
mounted () {
}
}
</script>
Expand Down
35 changes: 33 additions & 2 deletions src/components/buttons/OEmbedMenu.vue
Original file line number Diff line number Diff line change
Expand Up @@ -27,21 +27,28 @@ import {
DesignServices,
DevelopServices,
DataServices,
OtherServices
OtherServices,
getEmbedService
} from 'src/data/embed'
import { DefaultEmbedServices } from 'src/data/editor'
export default {
name: 'o-embed-menu',
data () {
return {
}
},
props: {
embedServices: {
type: Object
},
},
methods: {
select (service) {
this.$emit('select', service)
}
},
computed: {
services () {
services2 () {
return [
{
label: 'Video',
Expand Down Expand Up @@ -74,7 +81,31 @@ export default {
children: OtherServices
}
]
},
services () {
let services = []
let customServices = this.embedServices || DefaultEmbedServices
for (var key in customServices) {
let group = {
value: key,
children: []
}
let list = customServices[key]
for (var item of list) {
let service = getEmbedService(item)
if (service.value) {
group.children.push(service)
}
}
services.push(group)
}
return services
}
},
mounted () {
}
}
</script>
Expand Down
14 changes: 14 additions & 0 deletions src/components/menubars/OEditorMenuBar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,13 @@
:editor="editor"
v-bind="editorContext"
v-else-if="typeof item === 'string'" />
<component :key="index"
:name="item.name"
:is="getName(item.name)"
:opt="item.options"
:editor="editor"
v-bind="editorContext"
v-else-if="typeof item === 'object' && typeof item.name === 'string'" />
<component :key="index"
:is="item"
:editor="editor"
Expand All @@ -33,6 +40,13 @@
:editor="editor"
v-bind="editorContext"
v-else-if="typeof item === 'string'" />
<component :key="index"
:name="item.name"
:is="getName(item.name)"
:opt="item.options"
:editor="editor"
v-bind="editorContext"
v-else-if="typeof item === 'object' && typeof item.name === 'string'" />
<component :key="index"
:is="item"
:editor="editor"
Expand Down
9 changes: 9 additions & 0 deletions src/data/editor.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,3 +99,12 @@ export const DefaultBubble = [
'separator',
'align-group',
]

export const DefaultEmbedServices = {
video: ['youtube', 'youku', 'bilibili', 'qqvideo'],
map: ['google_map', 'amap', 'baidu_map'],
design: ['modao', 'lanhu', 'figma', 'canva', 'processon'],
develop: ['codepen'],
data: ['google_forms', 'jinshuju'],
others: ['iframe']
}
14 changes: 13 additions & 1 deletion src/pages/examples/basic.vue
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,19 @@ export default {
}),
],
toolbar: [
'add-more',
{
name: 'add-more',
options: {
embed: {
video: ['youtube', 'bilibili', 'youku'],
map: ['google_map', 'amap', 'baidu_map'],
design: ['modao', 'lanhu', 'figma', 'canva', 'processon'],
develop: ['codepen'],
data: ['google_forms', 'jinshuju'],
others: ['iframe']
}
}
},
'separator',
'bold',
'italic',
Expand Down

0 comments on commit 90871aa

Please sign in to comment.