UNPKG

beansflight-json-form

Version:

> **版本号:verison 0.23.17**

185 lines (184 loc) 5.18 kB
/** * TinyMCE version 6.1.0 (2022-06-29) */ !(function () { 'use strict' var t = tinymce.util.Tools.resolve('tinymce.PluginManager') const e = ('string', t => 'string' === (t => { const e = typeof t return null === t ? 'null' : 'object' === e && Array.isArray(t) ? 'array' : 'object' === e && ((r = o = t), (a = String).prototype.isPrototypeOf(r) || (null === (s = o.constructor) || void 0 === s ? void 0 : s.name) === a.name) ? 'string' : e var r, o, a, s })(t)) const r = (void 0, t => undefined === t) var o = tinymce.util.Tools.resolve('tinymce.util.Delay'), a = tinymce.util.Tools.resolve('tinymce.util.LocalStorage'), s = tinymce.util.Tools.resolve('tinymce.util.Tools') const n = t => { const e = /^(\d+)([ms]?)$/.exec(t) return (e[2] ? { s: 1e3, m: 6e4 }[e[2]] : 1) * parseInt(t, 10) }, i = t => e => e.options.get(t), u = i('autosave_ask_before_unload'), l = i('autosave_restore_when_empty'), c = i('autosave_interval'), m = i('autosave_retention'), d = t => { const e = document.location return t.options .get('autosave_prefix') .replace(/{path}/g, e.pathname) .replace(/{query}/g, e.search) .replace(/{hash}/g, e.hash) .replace(/{id}/g, t.id) }, f = (t, e) => { if (r(e)) return t.dom.isEmpty(t.getBody()) { const r = s.trim(e) if ('' === r) return !0 { const e = new DOMParser().parseFromString(r, 'text/html') return t.dom.isEmpty(e) } } }, v = t => { const e = parseInt(a.getItem(d(t) + 'time'), 10) || 0 return !(new Date().getTime() - e > m(t) && (p(t, !1), 1)) }, p = (t, e) => { const r = d(t) a.removeItem(r + 'draft'), a.removeItem(r + 'time'), !1 !== e && (t => { t.dispatch('RemoveDraft') })(t) }, g = t => { const e = d(t) !f(t) && t.isDirty() && (a.setItem(e + 'draft', t.getContent({ format: 'raw', no_events: !0 })), a.setItem(e + 'time', new Date().getTime().toString()), (t => { t.dispatch('StoreDraft') })(t)) }, y = t => { const e = d(t) v(t) && (t.setContent(a.getItem(e + 'draft'), { format: 'raw' }), (t => { t.dispatch('RestoreDraft') })(t)) }, D = t => { t.undoManager.transact(() => { y(t), p(t) }), t.focus() } var h = tinymce.util.Tools.resolve('tinymce.EditorManager') const _ = t => e => { e.setEnabled(v(t)) const r = () => e.setEnabled(v(t)) return ( t.on('StoreDraft RestoreDraft RemoveDraft', r), () => t.off('StoreDraft RestoreDraft RemoveDraft', r) ) } t.add( 'autosave', t => ( (t => { const r = t.options.register, o = t => { const r = e(t) return r ? { value: n(t), valid: r } : { valid: !1, message: 'Must be a string.' } } r('autosave_ask_before_unload', { processor: 'boolean', default: !0 }), r('autosave_prefix', { processor: 'string', default: 'tinymce-autosave-{path}{query}{hash}-{id}-' }), r('autosave_restore_when_empty', { processor: 'boolean', default: !1 }), r('autosave_interval', { processor: o, default: '30s' }), r('autosave_retention', { processor: o, default: '20m' }) })(t), (t => { t.editorManager.on('BeforeUnload', t => { let e s.each(h.get(), t => { t.plugins.autosave && t.plugins.autosave.storeDraft(), !e && t.isDirty() && u(t) && (e = t.translate( 'You have unsaved changes are you sure you want to navigate away?' )) }), e && (t.preventDefault(), (t.returnValue = e)) }) })(t), (t => { ;(t => { const e = c(t) o.setEditorInterval( t, () => { g(t) }, e ) })(t), t.ui.registry.addButton('restoredraft', { tooltip: 'Restore last draft', icon: 'restore-draft', onAction: () => { D(t) }, onSetup: _(t) }), t.ui.registry.addMenuItem('restoredraft', { text: 'Restore last draft', icon: 'restore-draft', onAction: () => { D(t) }, onSetup: _(t) }) })(t), t.on('init', () => { l(t) && t.dom.isEmpty(t.getBody()) && y(t) }), (t => ({ hasDraft: () => v(t), storeDraft: () => g(t), restoreDraft: () => y(t), removeDraft: e => p(t, e), isEmpty: e => f(t, e) }))(t) ) ) })()