feat(search): Localization for search placeholder, close #80

This commit is contained in:
qingwei.li 2017-02-19 11:18:23 +08:00 committed by cinwell.li
commit 2351c3e68c
6 changed files with 41 additions and 6 deletions

View file

@ -67,7 +67,7 @@ function style () {
function tpl (opts) {
const html =
`<input type="search" placeholder="${opts.placeholder}" />` +
`<input type="search" />` +
'<div class="results-panel"></div>' +
'</div>'
const el = dom.create('div', html)
@ -108,9 +108,25 @@ function bindEvents () {
})
}
export default function (opts) {
function updatePlaceholder (text, path) {
const $input = dom.getNode('.search input[type="search"]')
if (typeof text === 'string') {
$input.placeholder = text
} else {
const match = Object.keys(text).find(key => path.indexOf(key) > -1)
$input.placeholder = text[match]
}
}
export function init (opts) {
dom = Docsify.dom
style()
tpl(opts)
bindEvents()
}
export function update (opts, vm) {
updatePlaceholder(opts.placeholder, vm.route.path)
}

View file

@ -1,4 +1,4 @@
import initComponet from './component'
import { init as initComponet, update as updateComponent } from './component'
import { init as initSearch } from './search'
const CONFIG = {
@ -21,11 +21,14 @@ const install = function (hook, vm) {
const isAuto = CONFIG.paths === 'auto'
hook.ready(_ => {
hook.mounted(_ => {
initComponet(CONFIG)
isAuto && initSearch(CONFIG, vm)
})
!isAuto && hook.doneEach(_ => initSearch(CONFIG, vm))
hook.doneEach(_ => {
updateComponent(CONFIG, vm)
!isAuto && initSearch(CONFIG, vm)
})
}
window.$docsify.plugins = [].concat(install, window.$docsify.plugins)