|
|
@ -1,5 +1,5 @@ |
|
|
|
;(function () { |
|
|
|
;(function () { |
|
|
|
function initWatch(vm, watch) { |
|
|
|
function initWatch (vm, watch) { |
|
|
|
vm._watchers || (vm._watchers = []); |
|
|
|
vm._watchers || (vm._watchers = []); |
|
|
|
for (var key in watch) { |
|
|
|
for (var key in watch) { |
|
|
|
var handler = watch[key]; |
|
|
|
var handler = watch[key]; |
|
|
@ -13,7 +13,7 @@ |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function createWatcher(vm, keyOrFn, handler) { |
|
|
|
function createWatcher (vm, keyOrFn, handler) { |
|
|
|
return Fix.watch(vm.model, keyOrFn, _.bind(handler, vm), { |
|
|
|
return Fix.watch(vm.model, keyOrFn, _.bind(handler, vm), { |
|
|
|
store: vm.store |
|
|
|
store: vm.store |
|
|
|
}); |
|
|
|
}); |
|
|
@ -22,24 +22,24 @@ |
|
|
|
var target = null; |
|
|
|
var target = null; |
|
|
|
var targetStack = []; |
|
|
|
var targetStack = []; |
|
|
|
|
|
|
|
|
|
|
|
function pushTarget(_target) { |
|
|
|
function pushTarget (_target) { |
|
|
|
if (target) targetStack.push(target); |
|
|
|
if (target) targetStack.push(target); |
|
|
|
Fix.Model.target = target = _target; |
|
|
|
Fix.Model.target = target = _target; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function popTarget() { |
|
|
|
function popTarget () { |
|
|
|
Fix.Model.target = target = targetStack.pop(); |
|
|
|
Fix.Model.target = target = targetStack.pop(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var context = null; |
|
|
|
var context = null; |
|
|
|
var contextStack = []; |
|
|
|
var contextStack = []; |
|
|
|
|
|
|
|
|
|
|
|
function pushContext(_context) { |
|
|
|
function pushContext (_context) { |
|
|
|
if (context) contextStack.push(context); |
|
|
|
if (context) contextStack.push(context); |
|
|
|
Fix.Model.context = context = _context; |
|
|
|
Fix.Model.context = context = _context; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function popContext() { |
|
|
|
function popContext () { |
|
|
|
Fix.Model.context = context = contextStack.pop(); |
|
|
|
Fix.Model.context = context = contextStack.pop(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -60,7 +60,7 @@ |
|
|
|
}, options); |
|
|
|
}, options); |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
function findStore(widget) { |
|
|
|
function findStore (widget) { |
|
|
|
if (target != null) { |
|
|
|
if (target != null) { |
|
|
|
return target; |
|
|
|
return target; |
|
|
|
} |
|
|
|
} |
|
|
@ -106,7 +106,7 @@ |
|
|
|
}; |
|
|
|
}; |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
function createStore() { |
|
|
|
function createStore () { |
|
|
|
var needPop = false; |
|
|
|
var needPop = false; |
|
|
|
if (_global.Fix && this._store) { |
|
|
|
if (_global.Fix && this._store) { |
|
|
|
var store = findStore(this.options.context || this.options.element); |
|
|
|
var store = findStore(this.options.context || this.options.element); |
|
|
@ -172,7 +172,11 @@ |
|
|
|
var old = BI.Widget.prototype[name]; |
|
|
|
var old = BI.Widget.prototype[name]; |
|
|
|
old && (BI.Widget.prototype[name] = function () { |
|
|
|
old && (BI.Widget.prototype[name] = function () { |
|
|
|
this.store && pushTarget(this.store); |
|
|
|
this.store && pushTarget(this.store); |
|
|
|
var res = old.apply(this, arguments); |
|
|
|
try { |
|
|
|
|
|
|
|
var res = old.apply(this, arguments); |
|
|
|
|
|
|
|
} catch (e) { |
|
|
|
|
|
|
|
console.error(e); |
|
|
|
|
|
|
|
} |
|
|
|
this.store && popTarget(); |
|
|
|
this.store && popTarget(); |
|
|
|
return res; |
|
|
|
return res; |
|
|
|
}); |
|
|
|
}); |
|
|
@ -246,4 +250,4 @@ |
|
|
|
}; |
|
|
|
}; |
|
|
|
} |
|
|
|
} |
|
|
|
BI.watch = Fix.watch; |
|
|
|
BI.watch = Fix.watch; |
|
|
|
}()); |
|
|
|
}()); |
|
|
|