|
|
|
import { SignEditor } from "../editor";
|
|
|
|
import { HorizontalFillLayout, shortcut, extend, emptyFn, createWidget, toPix, Controller } from "@/core";
|
|
|
|
import { TriggerIconButton } from "../button";
|
|
|
|
import { Trigger } from "@/base";
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 文本输入框trigger
|
|
|
|
*
|
|
|
|
* Created by GUY on 2015/9/15.
|
|
|
|
* @class EditorTrigger
|
|
|
|
* @extends Trigger
|
|
|
|
*/
|
|
|
|
@shortcut()
|
|
|
|
export class EditorTrigger extends Trigger {
|
|
|
|
static xtype = "bi.editor_trigger";
|
|
|
|
static EVENT_CHANGE = "EVENT_CHANGE";
|
|
|
|
static EVENT_FOCUS = "EVENT_FOCUS";
|
|
|
|
static EVENT_EMPTY = "EVENT_EMPTY";
|
|
|
|
static EVENT_VALID = "EVENT_VALID";
|
|
|
|
static EVENT_ERROR = "EVENT_ERROR";
|
|
|
|
|
|
|
|
_defaultConfig(config) {
|
|
|
|
const conf = super._defaultConfig(...arguments);
|
|
|
|
|
|
|
|
return extend(conf, {
|
|
|
|
baseCls: `${conf.baseCls || ""} bi-editor-trigger bi-border-radius ${
|
|
|
|
config.simple ? "bi-border-bottom" : "bi-border"
|
|
|
|
}`,
|
|
|
|
height: 24,
|
|
|
|
validationChecker: emptyFn,
|
|
|
|
quitChecker: emptyFn,
|
|
|
|
allowBlank: false,
|
|
|
|
watermark: "",
|
|
|
|
errorText: "",
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
_init() {
|
|
|
|
super._init(...arguments);
|
|
|
|
const o = this.options;
|
|
|
|
this.editor = createWidget({
|
|
|
|
type: SignEditor.xtype,
|
|
|
|
height: toPix(o.height, 2),
|
|
|
|
value: o.value,
|
|
|
|
validationChecker: o.validationChecker,
|
|
|
|
quitChecker: o.quitChecker,
|
|
|
|
allowBlank: o.allowBlank,
|
|
|
|
watermark: o.watermark,
|
|
|
|
errorText: o.errorText,
|
|
|
|
title: () => this.getValue(),
|
|
|
|
});
|
|
|
|
this.editor.on(Controller.EVENT_CHANGE, (...args) => {
|
|
|
|
this.fireEvent(Controller.EVENT_CHANGE, ...args);
|
|
|
|
});
|
|
|
|
this.editor.on(SignEditor.EVENT_CHANGE, (...args) => {
|
|
|
|
this.fireEvent(EditorTrigger.EVENT_CHANGE, ...args);
|
|
|
|
});
|
|
|
|
this.editor.on(SignEditor.EVENT_FOCUS, (...args) => {
|
|
|
|
this.fireEvent(EditorTrigger.EVENT_FOCUS, ...args);
|
|
|
|
});
|
|
|
|
this.editor.on(SignEditor.EVENT_EMPTY, (...args) => {
|
|
|
|
this.fireEvent(EditorTrigger.EVENT_EMPTY, ...args);
|
|
|
|
});
|
|
|
|
this.editor.on(SignEditor.EVENT_VALID, (...args) => {
|
|
|
|
this.fireEvent(EditorTrigger.EVENT_VALID, ...args);
|
|
|
|
});
|
|
|
|
this.editor.on(SignEditor.EVENT_ERROR, (...args) => {
|
|
|
|
this.fireEvent(EditorTrigger.EVENT_ERROR, ...args);
|
|
|
|
});
|
|
|
|
|
|
|
|
createWidget({
|
|
|
|
element: this,
|
|
|
|
type: HorizontalFillLayout.xtype,
|
|
|
|
height: toPix(o.height, 2),
|
|
|
|
items: [
|
|
|
|
{
|
|
|
|
el: this.editor,
|
|
|
|
width: "fill",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
el: {
|
|
|
|
type: TriggerIconButton.xtype,
|
|
|
|
width: o.triggerWidth || toPix(o.height, 2),
|
|
|
|
},
|
|
|
|
width: "",
|
|
|
|
}
|
|
|
|
],
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
getValue() {
|
|
|
|
return this.editor.getValue();
|
|
|
|
}
|
|
|
|
|
|
|
|
setValue(value) {
|
|
|
|
this.editor.setValue(value);
|
|
|
|
}
|
|
|
|
|
|
|
|
setText(text) {
|
|
|
|
this.editor.setState(text);
|
|
|
|
}
|
|
|
|
}
|