ai / bt-source /panel /BTPanel /static /editor /ext-split.js
GGSheng's picture
feat: deploy Gemma 4 to hf space
17e971c verified
ace.define(
'ace/split',
[
'require',
'exports',
'module',
'ace/lib/oop',
'ace/lib/lang',
'ace/lib/event_emitter',
'ace/editor',
'ace/virtual_renderer',
'ace/edit_session',
],
function (e, t, n) {
'use strict'
var r = e('./lib/oop'),
i = e('./lib/lang'),
s = e('./lib/event_emitter').EventEmitter,
o = e('./editor').Editor,
u = e('./virtual_renderer').VirtualRenderer,
a = e('./edit_session').EditSession,
f = function (e, t, n) {
;(this.BELOW = 1),
(this.BESIDE = 0),
(this.$container = e),
(this.$theme = t),
(this.$splits = 0),
(this.$editorCSS = ''),
(this.$editors = []),
(this.$orientation = this.BESIDE),
this.setSplits(n || 1),
(this.$cEditor = this.$editors[0]),
this.on(
'focus',
function (e) {
this.$cEditor = e
}.bind(this)
)
}
;(function () {
r.implement(this, s),
(this.$createEditor = function () {
var e = document.createElement('div')
;(e.className = this.$editorCSS),
(e.style.cssText = 'position: absolute; top:0px; bottom:0px'),
this.$container.appendChild(e)
var t = new o(new u(e, this.$theme))
return (
t.on(
'focus',
function () {
this._emit('focus', t)
}.bind(this)
),
this.$editors.push(t),
t.setFontSize(this.$fontSize),
t
)
}),
(this.setSplits = function (e) {
var t
if (e < 1) throw 'The number of splits have to be > 0!'
if (e == this.$splits) return
if (e > this.$splits) {
while (this.$splits < this.$editors.length && this.$splits < e)
(t = this.$editors[this.$splits]),
this.$container.appendChild(t.container),
t.setFontSize(this.$fontSize),
this.$splits++
while (this.$splits < e) this.$createEditor(), this.$splits++
} else
while (this.$splits > e)
(t = this.$editors[this.$splits - 1]),
this.$container.removeChild(t.container),
this.$splits--
this.resize()
}),
(this.getSplits = function () {
return this.$splits
}),
(this.getEditor = function (e) {
return this.$editors[e]
}),
(this.getCurrentEditor = function () {
return this.$cEditor
}),
(this.focus = function () {
this.$cEditor.focus()
}),
(this.blur = function () {
this.$cEditor.blur()
}),
(this.setTheme = function (e) {
this.$editors.forEach(function (t) {
t.setTheme(e)
})
}),
(this.setKeyboardHandler = function (e) {
this.$editors.forEach(function (t) {
t.setKeyboardHandler(e)
})
}),
(this.forEach = function (e, t) {
this.$editors.forEach(e, t)
}),
(this.$fontSize = ''),
(this.setFontSize = function (e) {
;(this.$fontSize = e),
this.forEach(function (t) {
t.setFontSize(e)
})
}),
(this.$cloneSession = function (e) {
var t = new a(e.getDocument(), e.getMode()),
n = e.getUndoManager()
return (
t.setUndoManager(n),
t.setTabSize(e.getTabSize()),
t.setUseSoftTabs(e.getUseSoftTabs()),
t.setOverwrite(e.getOverwrite()),
t.setBreakpoints(e.getBreakpoints()),
t.setUseWrapMode(e.getUseWrapMode()),
t.setUseWorker(e.getUseWorker()),
t.setWrapLimitRange(e.$wrapLimitRange.min, e.$wrapLimitRange.max),
(t.$foldData = e.$cloneFoldData()),
t
)
}),
(this.setSession = function (e, t) {
var n
t == null ? (n = this.$cEditor) : (n = this.$editors[t])
var r = this.$editors.some(function (t) {
return t.session === e
})
return r && (e = this.$cloneSession(e)), n.setSession(e), e
}),
(this.getOrientation = function () {
return this.$orientation
}),
(this.setOrientation = function (e) {
if (this.$orientation == e) return
;(this.$orientation = e), this.resize()
}),
(this.resize = function () {
var e = this.$container.clientWidth,
t = this.$container.clientHeight,
n
if (this.$orientation == this.BESIDE) {
var r = e / this.$splits
for (var i = 0; i < this.$splits; i++)
(n = this.$editors[i]),
(n.container.style.width = r + 'px'),
(n.container.style.top = '0px'),
(n.container.style.left = i * r + 'px'),
(n.container.style.height = t + 'px'),
n.resize()
} else {
var s = t / this.$splits
for (var i = 0; i < this.$splits; i++)
(n = this.$editors[i]),
(n.container.style.width = e + 'px'),
(n.container.style.top = i * s + 'px'),
(n.container.style.left = '0px'),
(n.container.style.height = s + 'px'),
n.resize()
}
})
}).call(f.prototype),
(t.Split = f)
}
),
ace.define('ace/ext/split', ['require', 'exports', 'module', 'ace/split'], function (e, t, n) {
'use strict'
n.exports = e('../split')
})
;(function () {
ace.require(['ace/ext/split'], function (m) {
if (typeof module == 'object' && typeof exports == 'object' && module) {
module.exports = m
}
})
})()