| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /**
- * @fileOverview
- *
- * 热盒 Runtime
- *
- * @author: techird
- * @copyright: Baidu FEX, 2014
- */
- define(function(require, exports, module) {
- var Hotbox = require('../hotbox');
- function HotboxRuntime() {
- var fsm = this.fsm;
- var minder = this.minder;
- var receiver = this.receiver;
- var container = this.container;
- var hotbox = new Hotbox(container);
- hotbox.setParentFSM(fsm);
- fsm.when('normal -> hotbox', function(exit, enter, reason) {
- var node = minder.getSelectedNode();
- var position;
- if (node) {
- var box = node.getRenderBox();
- position = {
- x: box.cx,
- y: box.cy
- };
- }
- hotbox.active('main', position);
- });
- fsm.when('normal -> normal', function(exit, enter, reason, e) {
- if (reason == 'shortcut-handle') {
- var handleResult = hotbox.dispatch(e);
- if (handleResult) {
- e.preventDefault();
- } else {
- minder.dispatchKeyEvent(e);
- }
- }
- });
- fsm.when('modal -> normal', function(exit, enter, reason, e) {
- if (reason == 'import-text-finish') {
- receiver.element.focus();
- }
- });
- this.hotbox = hotbox;
- }
- return module.exports = HotboxRuntime;
- });
|