Create from template

main^2
bat 3 years ago
parent 84d4836daa
commit a333dcd9f1

@ -254,6 +254,22 @@ export class Header extends HTMLElement {
return this.editing ? this.icons.check : this.icons.edit return this.editing ? this.icons.check : this.icons.edit
} }
getTemplates() {
const text = this.storage.getItem(
'settings:templates'
)
if (text ?? undefined !== undefined) {
const data = JSON.parse(text)
return Object.entries(
data.templates
).map(([id, data]) => (
{...data, id}
))
} else {
return []
}
}
addPage() { addPage() {
const dialog = document.createElement('m-dialog') const dialog = document.createElement('m-dialog')
this.dialogWrap.replaceChildren(dialog) this.dialogWrap.replaceChildren(dialog)
@ -269,6 +285,13 @@ export class Header extends HTMLElement {
el.innerText = this.text[value] el.innerText = this.text[value]
return el return el
})) }))
const templates = this.getTemplates()
select.append(...templates.map(t => {
const el = document.createElement('option')
el.value = t.id
el.innerText = t.name
return el
}))
select.value = 'htmlCss' select.value = 'htmlCss'
input.addEventListener('input', e => { input.addEventListener('input', e => {
const ext = e.target.value.match(/\.\w+$/) const ext = e.target.value.match(/\.\w+$/)
@ -295,10 +318,9 @@ export class Header extends HTMLElement {
} }
return return
} }
const value = ( let value
select.value === 'singleFile' ? if (select.value === 'htmlCss') {
'' : value = JSON.stringify({
JSON.stringify({
type: 'm-file-group', type: 'm-file-group',
files: [ files: [
{ {
@ -311,7 +333,11 @@ export class Header extends HTMLElement {
}, },
], ],
}) })
) } else {
value = this.storage.getItem(
select.value
) ?? ''
}
this.storage.setItem(newPath, value) this.storage.setItem(newPath, value)
this.storage.setItem( this.storage.setItem(
'settings/page:' + newPath, '{}' 'settings/page:' + newPath, '{}'

@ -349,7 +349,7 @@ export class PageActions extends HTMLElement {
const name = key.slice( const name = key.slice(
'settings/page:'.length 'settings/page:'.length
) )
settings[name] = {name} templates[name] = {name}
} }
} }
} catch (err) { } catch (err) {

Loading…
Cancel
Save