From f3459b564e382a7e2d3fe4506eeaf6cd1fe7fa51 Mon Sep 17 00:00:00 2001 From: guy Date: Fri, 10 Dec 2021 22:54:26 +0800 Subject: [PATCH 01/15] =?UTF-8?q?=E6=9B=B4=E6=96=B0proxy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/fix/fix.js | 197 +- dist/fix/fix.proxy.js | 3911 +++++++++++++++++++--------------- src/less/lib/background.less | 4 - 3 files changed, 2266 insertions(+), 1846 deletions(-) diff --git a/dist/fix/fix.js b/dist/fix/fix.js index 54ae610ef..e16bdf99f 100644 --- a/dist/fix/fix.js +++ b/dist/fix/fix.js @@ -90,12 +90,13 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons } } - var bailRE = /[^\w.$]/; + // const bailRE = /[^\w.$]/ function parsePath(path) { - if (bailRE.test(path)) { - return; - } + // 正常表达式比较慢,能不要的就不要了 + // if (bailRE.test(path)) { + // return + // } var segments = path.split('.'); return function (obj) { for (var i = 0; i < segments.length; i++) { @@ -975,7 +976,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons options = options || {}; options.user = true; var exps = void 0; - if (_.isFunction(expOrFn) || !(exps = expOrFn.match(/[a-zA-Z0-9_.*]+|[|][|]|[&][&]|[(]|[)]/g)) || exps.length === 1 && !/\*/.test(expOrFn)) { + if (_.isFunction(expOrFn) || !(exps = expOrFn.match(/[a-zA-Z0-9_.*]+|[|][|]|[&][&]|[(]|[)]/g)) || exps.length === 1 && expOrFn.indexOf("*") < 0) { var watcher = new Watcher(model, expOrFn, cb, options); if (options.immediate) { cb(watcher.value); @@ -1016,45 +1017,96 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons if (_.has(operators, exp)) { return; } - //a.**或a.*形式 - if (/^[1-9a-zA-Z.]+(\*\*$|\*$)/.test(exp) || exp === "**") { - var isGlobal = /\*\*$/.test(exp); - if (isGlobal) { - //a.**的形式 - exp = exp.replace(".**", ""); - } else { - //a.*的形式 - exp = exp.replace(".*", ""); + if (exp.indexOf("*") >= 0) { + //a.**或a.*形式 + if (/^[1-9a-zA-Z.]+(\*\*$|\*$)/.test(exp) || exp === "**" || exp === "*") { + var isGlobal = exp.indexOf("**") >= 0; + if (isGlobal) { + //a.**的形式 + exp = exp.replace(".**", ""); + } else { + //a.*的形式 + exp = exp.replace(".*", ""); + } + var getter = exp === "**" || exp === "*" ? function (m) { + return m; + } : parsePath(exp); + var v = getter.call(model, model); + var _dep = new Dep(); + if (isGlobal) { + (v.__ob__._scopeDeps || (v.__ob__._scopeDeps = [])).push(_dep); + } else { + (v.__ob__._deps || (v.__ob__._deps = [])).push(_dep); + } + var _w = new Watcher(model, function () { + _dep.depend(); + return NaN; + }, function (newValue, oldValue, attrs) { + callback(i, newValue, oldValue, _.extend({ index: i }, attrs)); + }, options); + watchers.push(function unwatchFn() { + _w.teardown(); + v.__ob__._scopeDeps && remove(v.__ob__._scopeDeps, _dep); + v.__ob__._deps && remove(v.__ob__._deps, _dep); + }); + return; } - var getter = exp === "**" ? function (m) { - return m; - } : parsePath(exp); - var v = getter.call(model, model); - var dep = new Dep(); - if (isGlobal) { - (v.__ob__._scopeDeps || (v.__ob__._scopeDeps = [])).push(dep); - } else { - (v.__ob__._deps || (v.__ob__._deps = [])).push(dep); + // **.a.**的情况,场景:a.b.c, 如果用b.**监听, a被重新赋值b上的_scopeDes就不存在了 + if (/^(\*\*\.)+[1-9a-zA-Z]+(\.\*\*$)/.test(exp)) { + //先获取到能获取到的对象 + var _paths = exp.split("."); + var _currentModel = model[_paths[1]]; + exp = _paths[1] + ".**"; + //补全路径 + var _parent = _currentModel.__ob__.parent, + _root = _currentModel.__ob__; + while (_parent) { + exp = '*.' + exp; + _root = _parent; + _parent = _parent.parent; + } + var _regStr = routeToRegExp(exp); + var _dep2 = new Dep(); + _root._globalDeps || (_root._globalDeps = {}); + if (_.isArray(_root._globalDeps[_regStr])) { + _root._globalDeps[_regStr].push(_dep2); + } else { + _root._globalDeps[_regStr] = [_dep2]; + } + + var _w2 = new Watcher(_currentModel, function () { + _dep2.depend(); + return NaN; + }, function (newValue, oldValue, attrs) { + callback(i, newValue, oldValue, _.extend({ index: i }, attrs)); + }, options); + watchers.push(function unwatchFn() { + if (_root._globalDeps) { + remove(_root._globalDeps[_regStr], _dep2); + + if (_root._globalDeps[_regStr].length === 0) { + delete _root._globalDeps[_regStr]; + _w2.teardown(); + } + } + }); + return; } - var w = new Watcher(model, function () { - dep.depend(); - return NaN; - }, function (newValue, oldValue, attrs) { - callback(i, newValue, oldValue, _.extend({ index: i }, attrs)); - }, options); - watchers.push(function unwatchFn() { - w.teardown(); - v.__ob__._scopeDeps && remove(v.__ob__._scopeDeps, dep); - v.__ob__._deps && remove(v.__ob__._deps, dep); - }); - return; - } - // **.a.**的情况,场景:a.b.c, 如果用b.**监听, a被重新赋值b上的_scopeDes就不存在了 - if (/^(\*\*\.)+[1-9a-zA-Z]+(\.\*\*$)/.test(exp)) { + // 再有结尾有*的就不支持了 + if (exp[exp.length - 1] === "*") { + throw new Error('not support'); + } + //其他含有*的情况,如*.a,*.*.a,a.*.a + var currentModel = model; //先获取到能获取到的对象 var paths = exp.split("."); - var currentModel = model[paths[1]]; - exp = paths[1] + ".**"; + for (var _i = 0, len = paths.length; _i < len; _i++) { + if (paths[_i] === "*") { + break; + } + currentModel = model[paths[_i]]; + } + exp = exp.substr(exp.indexOf("*")); //补全路径 var parent = currentModel.__ob__.parent, root = currentModel.__ob__; @@ -1064,77 +1116,26 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons parent = parent.parent; } var regStr = routeToRegExp(exp); - var _dep = new Dep(); + var dep = new Dep(); root._globalDeps || (root._globalDeps = {}); if (_.isArray(root._globalDeps[regStr])) { - root._globalDeps[regStr].push(_dep); + root._globalDeps[regStr].push(dep); } else { - root._globalDeps[regStr] = [_dep]; + root._globalDeps[regStr] = [dep]; } - var _w = new Watcher(currentModel, function () { - _dep.depend(); + var w = new Watcher(currentModel, function () { + dep.depend(); return NaN; }, function (newValue, oldValue, attrs) { callback(i, newValue, oldValue, _.extend({ index: i }, attrs)); }, options); watchers.push(function unwatchFn() { if (root._globalDeps) { - remove(root._globalDeps[regStr], _dep); - + remove(root._globalDeps[regStr], dep); if (root._globalDeps[regStr].length === 0) { delete root._globalDeps[regStr]; - _w.teardown(); - } - } - }); - return; - } - if (/\*\*$|\*$/.test(exp)) { - throw new Error('not support'); - } - //其他含有*的情况,如*.a,*.*.a,a.*.a - if (/\*/.test(exp)) { - var _currentModel = model; - //先获取到能获取到的对象 - var _paths = exp.split("."); - for (var _i = 0, len = _paths.length; _i < len; _i++) { - if (_paths[_i] === "*") { - break; - } - _currentModel = model[_paths[_i]]; - } - exp = exp.substr(exp.indexOf("*")); - //补全路径 - var _parent = _currentModel.__ob__.parent, - _root = _currentModel.__ob__; - while (_parent) { - exp = '*.' + exp; - _root = _parent; - _parent = _parent.parent; - } - var _regStr = routeToRegExp(exp); - var _dep2 = new Dep(); - _root._globalDeps || (_root._globalDeps = {}); - if (_.isArray(_root._globalDeps[_regStr])) { - _root._globalDeps[_regStr].push(_dep2); - } else { - _root._globalDeps[_regStr] = [_dep2]; - } - - var _w2 = new Watcher(_currentModel, function () { - _dep2.depend(); - return NaN; - }, function (newValue, oldValue, attrs) { - callback(i, newValue, oldValue, _.extend({ index: i }, attrs)); - }, options); - watchers.push(function unwatchFn() { - if (_root._globalDeps) { - remove(_root._globalDeps[_regStr], _dep2); - - if (_root._globalDeps[_regStr].length === 0) { - delete _root._globalDeps[_regStr]; - _w2.teardown(); + w.teardown(); } } }); diff --git a/dist/fix/fix.proxy.js b/dist/fix/fix.proxy.js index 513db8d93..d760047bd 100644 --- a/dist/fix/fix.proxy.js +++ b/dist/fix/fix.proxy.js @@ -1,2035 +1,2458 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Fix = {})); + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Fix = {})); }(this, (function (exports) { 'use strict'; - function _typeof(obj) { - "@babel/helpers - typeof"; - - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof = function (obj) { - return typeof obj; + function _typeof(obj) { + "@babel/helpers - typeof"; + + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function (obj) { + return typeof obj; + }; + } else { + _typeof = function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + + return _typeof(obj); + } + + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); + } + + function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); + } + + function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return _arrayLikeToArray(arr); + } + + function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; + } + + function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); + } + + function _iterableToArrayLimit(arr, i) { + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; + } + + function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); + } + + function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; + + return arr2; + } + + function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + function _createForOfIteratorHelper(o, allowArrayLike) { + var it; + + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + + var F = function () {}; + + return { + s: F, + n: function () { + if (i >= o.length) return { + done: true }; - } else { - _typeof = function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + return { + done: false, + value: o[i++] }; - } - - return _typeof(obj); - } - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - - function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - - function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - return Constructor; - } - - function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - - return obj; - } - - var EMPTY_OBJ = Object.freeze({}); - Object.freeze([]); - var extend = Object.assign; - var hasOwnProperty = Object.prototype.hasOwnProperty; - - var hasOwn = function hasOwn(val, key) { - return hasOwnProperty.call(val, key); + }, + e: function (e) { + throw e; + }, + f: F + }; + } + + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + var normalCompletion = true, + didErr = false, + err; + return { + s: function () { + it = o[Symbol.iterator](); + }, + n: function () { + var step = it.next(); + normalCompletion = step.done; + return step; + }, + e: function (e) { + didErr = true; + err = e; + }, + f: function () { + try { + if (!normalCompletion && it.return != null) it.return(); + } finally { + if (didErr) throw err; + } + } }; - - var isArray = Array.isArray; - - var isMap$1 = function isMap(val) { - return toTypeString$1(val) === "[object Map]"; + } + + /** + * Make a map and return a function for checking if a key + * is in that map. + * IMPORTANT: all calls of this function must be prefixed with + * \/\*#\_\_PURE\_\_\*\/ + * So that rollup can tree-shake them if necessary. + */ + function makeMap(str, expectsLowerCase) { + var map = Object.create(null); + var list = str.split(','); + + for (var i = 0; i < list.length; i++) { + map[list[i]] = true; + } + + return expectsLowerCase ? function (val) { + return !!map[val.toLowerCase()]; + } : function (val) { + return !!map[val]; }; + } - var isFunction = function isFunction(val) { - return typeof val === "function"; - }; + Object.freeze({}); + Object.freeze([]); + var extend = Object.assign; + var hasOwnProperty = Object.prototype.hasOwnProperty; - var isString = function isString(val) { - return typeof val === "string"; - }; + var hasOwn = function hasOwn(val, key) { + return hasOwnProperty.call(val, key); + }; - var isSymbol = function isSymbol(val) { - return _typeof(val) === "symbol"; - }; + var isArray = Array.isArray; - var isObject = function isObject(val) { - return val !== null && _typeof(val) === "object"; - }; + var isMap$1 = function isMap(val) { + return toTypeString$1(val) === '[object Map]'; + }; - var objectToString$1 = Object.prototype.toString; + var isFunction = function isFunction(val) { + return typeof val === 'function'; + }; - var toTypeString$1 = function toTypeString(value) { - return objectToString$1.call(value); - }; + var isString = function isString(val) { + return typeof val === 'string'; + }; - var toRawType = function toRawType(value) { - return (// extract "RawType" from strings like "[object RawType]" - toTypeString$1(value).slice(8, -1) - ); - }; + var isSymbol = function isSymbol(val) { + return _typeof(val) === 'symbol'; + }; - var isIntegerKey = function isIntegerKey(key) { - return isString(key) && key !== "NaN" && key[0] !== "-" && "".concat(parseInt(key, 10)) === key; - }; + var isObject = function isObject(val) { + return val !== null && _typeof(val) === 'object'; + }; - var cacheStringFunction = function cacheStringFunction(fn) { - var cache = Object.create(null); - return function (str) { - var hit = cache[str]; - return hit || (cache[str] = fn(str)); - }; - }; - /** - * @private - */ + var objectToString$1 = Object.prototype.toString; + var toTypeString$1 = function toTypeString(value) { + return objectToString$1.call(value); + }; - var capitalize = cacheStringFunction(function (str) { - return str.charAt(0).toUpperCase() + str.slice(1); - }); // compare whether a value has changed, accounting for NaN. + var toRawType = function toRawType(value) { + // extract "RawType" from strings like "[object RawType]" + return toTypeString$1(value).slice(8, -1); + }; - var hasChanged$1 = function hasChanged(value, oldValue) { - return value !== oldValue && (value === value || oldValue === oldValue); - }; + var isIntegerKey = function isIntegerKey(key) { + return isString(key) && key !== 'NaN' && key[0] !== '-' && '' + parseInt(key, 10) === key; + }; - var targetMap = new WeakMap(); - var effectStack = []; - var activeEffect; - var ITERATE_KEY = Symbol("iterate"); - var MAP_KEY_ITERATE_KEY = Symbol("Map key iterate"); + var cacheStringFunction = function cacheStringFunction(fn) { + var cache = Object.create(null); + return function (str) { + var hit = cache[str]; + return hit || (cache[str] = fn(str)); + }; + }; + /** + * @private + */ - function isEffect(fn) { - return fn && fn._isEffect === true; - } - function effect(fn) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : EMPTY_OBJ; + var capitalize = cacheStringFunction(function (str) { + return str.charAt(0).toUpperCase() + str.slice(1); + }); // compare whether a value has changed, accounting for NaN. - if (isEffect(fn)) { - fn = fn.raw; - } + var hasChanged$1 = function hasChanged(value, oldValue) { + return !Object.is(value, oldValue); + }; - var effect = createReactiveEffect(fn, options); + var activeEffectScope; - if (!options.lazy) { - effect(); - } + function recordEffectScope(effect, scope) { + scope = scope || activeEffectScope; - return effect; + if (scope && scope.active) { + scope.effects.push(effect); } + } - function stop(effect) { - if (effect.active) { - cleanup(effect); + var createDep = function createDep(effects) { + var dep = new Set(effects); + dep.w = 0; + dep.n = 0; + return dep; + }; - if (effect.options.onStop) { - effect.options.onStop(); - } + var wasTracked = function wasTracked(dep) { + return (dep.w & trackOpBit) > 0; + }; - effect.active = false; - } - } - - var uid$1 = 0; + var newTracked = function newTracked(dep) { + return (dep.n & trackOpBit) > 0; + }; - function createReactiveEffect(fn, options) { - var effect = function reactiveEffect() { - if (!effect.active) { - return options.scheduler ? undefined : fn(); - } - - if (!effectStack.includes(effect)) { - cleanup(effect); - - try { - enableTracking(); - effectStack.push(effect); - activeEffect = effect; - return fn(); - } finally { - effectStack.pop(); - resetTracking(); - activeEffect = effectStack[effectStack.length - 1]; - } - } - }; + var initDepMarkers = function initDepMarkers(_ref) { + var deps = _ref.deps; - effect.id = uid$1++; - effect.allowRecurse = !!options.allowRecurse; - effect._isEffect = true; - effect.active = true; - effect.raw = fn; - effect.deps = []; - effect.options = options; - return effect; + if (deps.length) { + for (var i = 0; i < deps.length; i++) { + deps[i].w |= trackOpBit; // set was tracked + } } + }; - function cleanup(effect) { - var deps = effect.deps; + var finalizeDepMarkers = function finalizeDepMarkers(effect) { + var deps = effect.deps; - if (deps.length) { - for (var i = 0; i < deps.length; i++) { - deps[i].delete(effect); - } + if (deps.length) { + var ptr = 0; - deps.length = 0; - } - } + for (var i = 0; i < deps.length; i++) { + var dep = deps[i]; - var shouldTrack = true; - var trackStack = []; + if (wasTracked(dep) && !newTracked(dep)) { + dep.delete(effect); + } else { + deps[ptr++] = dep; + } // clear bits - function pauseTracking() { - trackStack.push(shouldTrack); - shouldTrack = false; - } - function enableTracking() { - trackStack.push(shouldTrack); - shouldTrack = true; - } + dep.w &= ~trackOpBit; + dep.n &= ~trackOpBit; + } - function resetTracking() { - var last = trackStack.pop(); - shouldTrack = last === undefined ? true : last; + deps.length = ptr; } + }; - function track(target, type, key) { - if (!shouldTrack || activeEffect === undefined) { - return; - } + var targetMap = new WeakMap(); // The number of effects currently being tracked recursively. - var depsMap = targetMap.get(target); + var effectTrackDepth = 0; + var trackOpBit = 1; + /** + * The bitwise track markers support at most 30 levels of recursion. + * This value is chosen to enable modern JS engines to use a SMI on all platforms. + * When recursion depth is greater, fall back to using a full cleanup. + */ - if (!depsMap) { - targetMap.set(target, depsMap = new Map()); - } + var maxMarkerBits = 30; + var effectStack = []; + var activeEffect; + var ITERATE_KEY = Symbol('iterate'); + var MAP_KEY_ITERATE_KEY = Symbol('Map key iterate'); - var dep = depsMap.get(key); + var ReactiveEffect = /*#__PURE__*/function () { + function ReactiveEffect(fn) { + var scheduler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var scope = arguments.length > 2 ? arguments[2] : undefined; - if (!dep) { - depsMap.set(key, dep = new Set()); - } + _classCallCheck(this, ReactiveEffect); - if (!dep.has(activeEffect)) { - dep.add(activeEffect); - activeEffect.deps.push(dep); - - if (activeEffect.options.onTrack) { - activeEffect.options.onTrack({ - effect: activeEffect, - target: target, - type: type, - key: key - }); - } - } + this.fn = fn; + this.scheduler = scheduler; + this.active = true; + this.deps = []; + recordEffectScope(this, scope); } - function trigger(target, type, key, newValue, oldValue, oldTarget) { - var depsMap = targetMap.get(target); - - if (!depsMap) { - // never been tracked - return; - } - - var effects = new Set(); - - var add = function add(effectsToAdd) { - if (effectsToAdd) { - effectsToAdd.forEach(function (effect) { - if (effect !== activeEffect || effect.allowRecurse) { - effects.add(effect); - } - }); - } - }; - - if (type === "clear" - /* CLEAR */ - ) { - // collection being cleared - // trigger all effects for target - depsMap.forEach(add); - } else if (key === "length" && isArray(target)) { - depsMap.forEach(function (dep, key) { - if (key === "length" || key >= newValue) { - add(dep); - } - }); - } else { - // schedule runs for SET | ADD | DELETE - if (key !== void 0) { - add(depsMap.get(key)); - } // also run for iteration key on ADD | DELETE | Map.SET - - - switch (type) { - case "add" - /* ADD */ - : - if (!isArray(target)) { - add(depsMap.get(ITERATE_KEY)); - - if (isMap$1(target)) { - add(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } else if (isIntegerKey(key)) { - // new index added to array -> length changes - add(depsMap.get("length")); - } - - break; - - case "delete" - /* DELETE */ - : - if (!isArray(target)) { - add(depsMap.get(ITERATE_KEY)); - - if (isMap$1(target)) { - add(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } - - break; - - case "set" - /* SET */ - : - if (isMap$1(target)) { - add(depsMap.get(ITERATE_KEY)); - } - - break; - } + _createClass(ReactiveEffect, [{ + key: "run", + value: function run() { + if (!this.active) { + return this.fn(); } - var run = function run(effect) { - if (effect.options.onTrigger) { - effect.options.onTrigger({ - effect: effect, - target: target, - key: key, - type: type, - newValue: newValue, - oldValue: oldValue, - oldTarget: oldTarget - }); - } + if (!effectStack.includes(this)) { + try { + effectStack.push(activeEffect = this); + enableTracking(); + trackOpBit = 1 << ++effectTrackDepth; - if (effect.options.scheduler) { - effect.options.scheduler(effect); + if (effectTrackDepth <= maxMarkerBits) { + initDepMarkers(this); } else { - effect(); + cleanupEffect(this); } - }; - - effects.forEach(run); - } - - var builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol).map(function (key) { - return Symbol[key]; - }).filter(isSymbol)); - var get = /* #__PURE__*/createGetter(); - var shallowGet = /* #__PURE__*/createGetter(false, true); - var readonlyGet = /* #__PURE__*/createGetter(true); - var shallowReadonlyGet = /* #__PURE__*/createGetter(true, true); - var arrayInstrumentations = {}; - ["includes", "indexOf", "lastIndexOf"].forEach(function (key) { - var method = Array.prototype[key]; - - arrayInstrumentations[key] = function () { - var arr = toRaw(this); - - for (var i = 0, l = this.length; i < l; i++) { - track(arr, "get" - /* GET */ - , "".concat(i)); - } // we run the method using the original args first (which may be reactive) - - for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) { - args[_key2] = arguments[_key2]; + return this.fn(); + } finally { + if (effectTrackDepth <= maxMarkerBits) { + finalizeDepMarkers(this); } - var res = method.apply(arr, args); - - if (res === -1 || res === false) { - // if that didn't work, run it again using raw values. - return method.apply(arr, args.map(toRaw)); - } else { - return res; - } - }; - }); - ["push", "pop", "shift", "unshift", "splice"].forEach(function (key) { - var method = Array.prototype[key]; - - arrayInstrumentations[key] = function () { - pauseTracking(); - - for (var _len2 = arguments.length, args = new Array(_len2), _key3 = 0; _key3 < _len2; _key3++) { - args[_key3] = arguments[_key3]; - } - - var res = method.apply(this, args); + trackOpBit = 1 << --effectTrackDepth; resetTracking(); - return res; - }; - }); - - function createGetter() { - var isReadonly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - var shallow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return function get(target, key, receiver) { - if (key === "__v_isReactive" - /* IS_REACTIVE */ - ) { - return !isReadonly; - } else if (key === "__v_isReadonly" - /* IS_READONLY */ - ) { - return isReadonly; - } else if (key === "__v_raw" - /* RAW */ - && receiver === (isReadonly ? readonlyMap : reactiveMap).get(target)) { - return target; - } + effectStack.pop(); + var n = effectStack.length; + activeEffect = n > 0 ? effectStack[n - 1] : undefined; + } + } + } + }, { + key: "stop", + value: function stop() { + if (this.active) { + cleanupEffect(this); - var targetIsArray = isArray(target); + if (this.onStop) { + this.onStop(); + } - if (targetIsArray && hasOwn(arrayInstrumentations, key)) { - return Reflect.get(arrayInstrumentations, key, receiver); - } + this.active = false; + } + } + }]); - var res = Reflect.get(target, key, receiver); + return ReactiveEffect; + }(); - if (isSymbol(key) ? builtInSymbols.has(key) : key === "__proto__" || key === "__v_isRef") { - return res; - } + function cleanupEffect(effect) { + var deps = effect.deps; - if (!isReadonly) { - track(target, "get" - /* GET */ - , key); - } + if (deps.length) { + for (var i = 0; i < deps.length; i++) { + deps[i].delete(effect); + } - if (shallow) { - return res; - } + deps.length = 0; + } + } - if (isRef(res)) { - // ref unwrapping - does not apply for Array + integer key. - var shouldUnwrap = !targetIsArray || !isIntegerKey(key); - return shouldUnwrap ? res.value : res; - } + function effect(fn, options) { + if (fn.effect) { + fn = fn.effect.fn; + } - if (isObject(res)) { - // Convert returned value into a proxy as well. we do the isObject check - // here to avoid invalid value warning. Also need to lazy access readonly - // and reactive here to avoid circular dependency. - return isReadonly ? readonly(res) : reactive(res); - } + var _effect = new ReactiveEffect(fn); - return res; - }; + if (options) { + extend(_effect, options); + if (options.scope) recordEffectScope(_effect, options.scope); } - var set$1 = /* #__PURE__*/createSetter(); - var shallowSet = /* #__PURE__*/createSetter(true); + if (!options || !options.lazy) { + _effect.run(); + } - function createSetter() { - var shallow = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - return function set(target, key, value, receiver) { - var oldValue = target[key]; + var runner = _effect.run.bind(_effect); - if (!shallow) { - value = toRaw(value); + runner.effect = _effect; + return runner; + } - if (!isArray(target) && isRef(oldValue) && !isRef(value)) { - oldValue.value = value; - return true; - } - } + function stop(runner) { + runner.effect.stop(); + } - var hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key); - var result = Reflect.set(target, key, value, receiver); // don't trigger if target is something up in the prototype chain of original - - if (target === toRaw(receiver)) { - if (!hadKey) { - trigger(target, "add" - /* ADD */ - , key, value); - } else if (hasChanged$1(value, oldValue) || key === "length") { - trigger(target, "set" - /* SET */ - , key, value, oldValue); - } - } + var shouldTrack = true; + var trackStack = []; - return result; - }; - } + function pauseTracking() { + trackStack.push(shouldTrack); + shouldTrack = false; + } - function deleteProperty(target, key) { - var hadKey = hasOwn(target, key); - var oldValue = target[key]; - var result = Reflect.deleteProperty(target, key); + function enableTracking() { + trackStack.push(shouldTrack); + shouldTrack = true; + } - if (result && hadKey) { - trigger(target, "delete" - /* DELETE */ - , key, undefined, oldValue); - } + function resetTracking() { + var last = trackStack.pop(); + shouldTrack = last === undefined ? true : last; + } - return result; + function track(target, type, key) { + if (!isTracking()) { + return; } - function has$1(target, key) { - var result = Reflect.has(target, key); - - if (!isSymbol(key) || !builtInSymbols.has(key)) { - track(target, "has" - /* HAS */ - , key); - } + var depsMap = targetMap.get(target); - return result; + if (!depsMap) { + targetMap.set(target, depsMap = new Map()); } - function ownKeys(target) { - track(target, "iterate" - /* ITERATE */ - , isArray(target) ? "length" : ITERATE_KEY); - return Reflect.ownKeys(target); - } - - var mutableHandlers = { - get: get, - set: set$1, - deleteProperty: deleteProperty, - has: has$1, - ownKeys: ownKeys - }; - var readonlyHandlers = { - get: readonlyGet, - set: function set(target, key) { - { - console.warn("Set operation on key \"".concat(String(key), "\" failed: target is readonly."), target); - } - return true; - }, - deleteProperty: function deleteProperty(target, key) { - { - console.warn("Delete operation on key \"".concat(String(key), "\" failed: target is readonly."), target); - } - return true; - } - }; - extend({}, mutableHandlers, { - get: shallowGet, - set: shallowSet - }); // Props handlers are special in the sense that it should not unwrap top-level - // refs (in order to allow refs to be explicitly passed down), but should - // retain the reactivity of the normal readonly object. - - extend({}, readonlyHandlers, { - get: shallowReadonlyGet - }); - - var toReactive = function toReactive(value) { - return isObject(value) ? reactive(value) : value; - }; + var dep = depsMap.get(key); - var toReadonly = function toReadonly(value) { - return isObject(value) ? readonly(value) : value; - }; - - var toShallow = function toShallow(value) { - return value; - }; + if (!dep) { + depsMap.set(key, dep = createDep()); + } - var getProto = function getProto(v) { - return Reflect.getPrototypeOf(v); + var eventInfo = { + effect: activeEffect, + target: target, + type: type, + key: key }; + trackEffects(dep, eventInfo); + } - function get$1(target, key) { - var isReadonly = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - var isShallow = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; - // #1772: readonly(reactive(Map)) should return readonly + reactive version - // of the value - target = target["__v_raw" - /* RAW */ - ]; - var rawTarget = toRaw(target); - var rawKey = toRaw(key); - - if (key !== rawKey) { - !isReadonly && track(rawTarget, "get" - /* GET */ - , key); - } - - !isReadonly && track(rawTarget, "get" - /* GET */ - , rawKey); + function isTracking() { + return shouldTrack && activeEffect !== undefined; + } - var _getProto = getProto(rawTarget), - has = _getProto.has; + function trackEffects(dep, debuggerEventExtraInfo) { + var shouldTrack = false; - var wrap = isReadonly ? toReadonly : isShallow ? toShallow : toReactive; + if (effectTrackDepth <= maxMarkerBits) { + if (!newTracked(dep)) { + dep.n |= trackOpBit; // set newly tracked - if (has.call(rawTarget, key)) { - return wrap(target.get(key)); - } else if (has.call(rawTarget, rawKey)) { - return wrap(target.get(rawKey)); - } + shouldTrack = !wasTracked(dep); + } + } else { + // Full cleanup mode. + shouldTrack = !dep.has(activeEffect); } - function has$1$1(key) { - var isReadonly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var target = this["__v_raw" - /* RAW */ - ]; - var rawTarget = toRaw(target); - var rawKey = toRaw(key); - - if (key !== rawKey) { - !isReadonly && track(rawTarget, "has" - /* HAS */ - , key); - } + if (shouldTrack) { + dep.add(activeEffect); + activeEffect.deps.push(dep); - !isReadonly && track(rawTarget, "has" - /* HAS */ - , rawKey); - return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); + if (activeEffect.onTrack) { + activeEffect.onTrack(Object.assign({ + effect: activeEffect + }, debuggerEventExtraInfo)); + } } + } + + function trigger(target, type, key, newValue, oldValue, oldTarget) { + var depsMap = targetMap.get(target); - function size(target) { - var isReadonly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - target = target["__v_raw" - /* RAW */ - ]; - !isReadonly && track(toRaw(target), "iterate" - /* ITERATE */ - , ITERATE_KEY); - return Reflect.get(target, "size", target); + if (!depsMap) { + // never been tracked + return; } - function add(value) { - value = toRaw(value); - var target = toRaw(this); - var proto = getProto(target); - var hadKey = proto.has.call(target, value); - var result = target.add(value); + var deps = []; - if (!hadKey) { - trigger(target, "add" - /* ADD */ - , value, value); + if (type === "clear" + /* CLEAR */ + ) { + // collection being cleared + // trigger all effects for target + deps = _toConsumableArray(depsMap.values()); + } else if (key === 'length' && isArray(target)) { + depsMap.forEach(function (dep, key) { + if (key === 'length' || key >= newValue) { + deps.push(dep); } + }); + } else { + // schedule runs for SET | ADD | DELETE + if (key !== void 0) { + deps.push(depsMap.get(key)); + } // also run for iteration key on ADD | DELETE | Map.SET - return result; - } - function set$1$1(key, value) { - value = toRaw(value); - var target = toRaw(this); - - var _getProto2 = getProto(target), - has = _getProto2.has, - get = _getProto2.get; + switch (type) { + case "add" + /* ADD */ + : + if (!isArray(target)) { + deps.push(depsMap.get(ITERATE_KEY)); - var hadKey = has.call(target, key); + if (isMap$1(target)) { + deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } else if (isIntegerKey(key)) { + // new index added to array -> length changes + deps.push(depsMap.get('length')); + } - if (!hadKey) { - key = toRaw(key); - hadKey = has.call(target, key); - } else { - checkIdentityKeys(target, has, key); - } + break; - var oldValue = get.call(target, key); - var result = target.set(key, value); + case "delete" + /* DELETE */ + : + if (!isArray(target)) { + deps.push(depsMap.get(ITERATE_KEY)); - if (!hadKey) { - trigger(target, "add" - /* ADD */ - , key, value); - } else if (hasChanged$1(value, oldValue) || key === "length") { - trigger(target, "set" - /* SET */ - , key, value, oldValue); - } + if (isMap$1(target)) { + deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } - return result; - } + break; - function deleteEntry(key) { - var target = toRaw(this); + case "set" + /* SET */ + : + if (isMap$1(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + } - var _getProto3 = getProto(target), - has = _getProto3.has, - get = _getProto3.get; + break; + } + } - var hadKey = has.call(target, key); + var eventInfo = { + target: target, + type: type, + key: key, + newValue: newValue, + oldValue: oldValue, + oldTarget: oldTarget + }; - if (!hadKey) { - key = toRaw(key); - hadKey = has.call(target, key); + if (deps.length === 1) { + if (deps[0]) { + { + triggerEffects(deps[0], eventInfo); + } + } + } else { + var effects = []; + + var _iterator = _createForOfIteratorHelper(deps), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var dep = _step.value; + + if (dep) { + effects.push.apply(effects, _toConsumableArray(dep)); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + { + triggerEffects(createDep(effects), eventInfo); + } + } + } + + function triggerEffects(dep, debuggerEventExtraInfo) { + // spread into array for stabilization + var _iterator2 = _createForOfIteratorHelper(isArray(dep) ? dep : _toConsumableArray(dep)), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _effect2 = _step2.value; + + if (_effect2 !== activeEffect || _effect2.allowRecurse) { + if (_effect2.onTrigger) { + _effect2.onTrigger(extend({ + effect: _effect2 + }, debuggerEventExtraInfo)); + } + + if (_effect2.scheduler) { + _effect2.scheduler(); + } else { + _effect2.run(); + } + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + + var isNonTrackableKeys = /*#__PURE__*/makeMap("__proto__,__v_isRef,__isVue"); + var builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol).map(function (key) { + return Symbol[key]; + }).filter(isSymbol)); + var get = /*#__PURE__*/createGetter(); + var readonlyGet = /*#__PURE__*/createGetter(true); + var arrayInstrumentations = /*#__PURE__*/createArrayInstrumentations(); + + function createArrayInstrumentations() { + var instrumentations = {}; + ['includes', 'indexOf', 'lastIndexOf'].forEach(function (key) { + instrumentations[key] = function () { + var arr = toRaw(this); + + for (var i = 0, l = this.length; i < l; i++) { + track(arr, "get" + /* GET */ + , i + ''); + } // we run the method using the original args first (which may be reactive) + + + for (var _len2 = arguments.length, args = new Array(_len2), _key3 = 0; _key3 < _len2; _key3++) { + args[_key3] = arguments[_key3]; + } + + var res = arr[key].apply(arr, args); + + if (res === -1 || res === false) { + // if that didn't work, run it again using raw values. + return arr[key].apply(arr, _toConsumableArray(args.map(toRaw))); } else { - checkIdentityKeys(target, has, key); + return res; } + }; + }); + ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(function (key) { + instrumentations[key] = function () { + pauseTracking(); - var oldValue = get ? get.call(target, key) : undefined; // forward the operation before queueing reactions - - var result = target.delete(key); - - if (hadKey) { - trigger(target, "delete" - /* DELETE */ - , key, undefined, oldValue); + for (var _len3 = arguments.length, args = new Array(_len3), _key4 = 0; _key4 < _len3; _key4++) { + args[_key4] = arguments[_key4]; } - return result; - } + var res = toRaw(this)[key].apply(this, args); + resetTracking(); + return res; + }; + }); + return instrumentations; + } + + function createGetter() { + var isReadonly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var shallow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + return function get(target, key, receiver) { + if (key === "__v_isReactive" + /* IS_REACTIVE */ + ) { + return !isReadonly; + } else if (key === "__v_isReadonly" + /* IS_READONLY */ + ) { + return isReadonly; + } else if (key === "__v_raw" + /* RAW */ + && receiver === (isReadonly ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) { + return target; + } + + var targetIsArray = isArray(target); + + if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) { + return Reflect.get(arrayInstrumentations, key, receiver); + } + + var res = Reflect.get(target, key, receiver); + + if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { + return res; + } + + if (!isReadonly) { + track(target, "get" + /* GET */ + , key); + } + + if (shallow) { + return res; + } + + if (isRef(res)) { + // ref unwrapping - does not apply for Array + integer key. + var shouldUnwrap = !targetIsArray || !isIntegerKey(key); + return shouldUnwrap ? res.value : res; + } + + if (isObject(res)) { + // Convert returned value into a proxy as well. we do the isObject check + // here to avoid invalid value warning. Also need to lazy access readonly + // and reactive here to avoid circular dependency. + return isReadonly ? readonly(res) : reactive(res); + } + + return res; + }; + } + + var set$1 = /*#__PURE__*/createSetter(); - function clear() { - var target = toRaw(this); - var hadItems = target.size !== 0; - var oldTarget = isMap$1(target) ? new Map(target) : new Set(target); // forward the operation before queueing reactions + function createSetter() { + var shallow = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + return function set(target, key, value, receiver) { + var oldValue = target[key]; - var result = target.clear(); + if (!shallow && !isReadonly(value)) { + value = toRaw(value); + oldValue = toRaw(oldValue); - if (hadItems) { - trigger(target, "clear" - /* CLEAR */ - , undefined, undefined, oldTarget); + if (!isArray(target) && isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + return true; } + } - return result; - } - - function createForEach(isReadonly, isShallow) { - return function forEach(callback, thisArg) { - var observed = this; - var target = observed["__v_raw" - /* RAW */ - ]; - var rawTarget = toRaw(target); - var wrap = isReadonly ? toReadonly : isShallow ? toShallow : toReactive; - !isReadonly && track(rawTarget, "iterate" - /* ITERATE */ - , ITERATE_KEY); - return target.forEach(function (value, key) { - return (// important: make sure the callback is - // 1. invoked with the reactive map as `this` and 3rd arg - // 2. the value received should be a corresponding reactive/readonly. - callback.call(thisArg, wrap(value), wrap(key), observed) - ); - }); - }; - } + var hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key); + var result = Reflect.set(target, key, value, receiver); // don't trigger if target is something up in the prototype chain of original - function createIterableMethod(method, isReadonly, isShallow) { - return function () { - var target = this["__v_raw" - /* RAW */ - ]; - var rawTarget = toRaw(target); - var targetIsMap = isMap$1(rawTarget); - var isPair = method === "entries" || method === Symbol.iterator && targetIsMap; - var isKeyOnly = method === "keys" && targetIsMap; - var innerIterator = target[method].apply(target, arguments); - var wrap = isReadonly ? toReadonly : isShallow ? toShallow : toReactive; - !isReadonly && track(rawTarget, "iterate" - /* ITERATE */ - , isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY); // return a wrapped iterator which returns observed versions of the - // values emitted from the real iterator - - return _defineProperty({ - // iterator protocol - next: function next() { - var _innerIterator$next = innerIterator.next(), - value = _innerIterator$next.value, - done = _innerIterator$next.done; - - return done ? { - value: value, - done: done - } : { - value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), - done: done - }; - } - }, Symbol.iterator, function () { - return this; - }); - }; - } - - function createReadonlyMethod(type) { - return function () { - { - var key = (arguments.length <= 0 ? undefined : arguments[0]) ? "on key \"".concat(arguments.length <= 0 ? undefined : arguments[0], "\" ") : ""; - console.warn("".concat(capitalize(type), " operation ").concat(key, "failed: target is readonly."), toRaw(this)); - } - return type === "delete" - /* DELETE */ - ? false : this; - }; - } + if (target === toRaw(receiver)) { + if (!hadKey) { + trigger(target, "add" + /* ADD */ + , key, value); + } else if (hasChanged$1(value, oldValue)) { + trigger(target, "set" + /* SET */ + , key, value, oldValue); + } + } - var mutableInstrumentations = { - get: function get(key) { - return get$1(this, key); - }, + return result; + }; + } + + function deleteProperty(target, key) { + var hadKey = hasOwn(target, key); + var oldValue = target[key]; + var result = Reflect.deleteProperty(target, key); + + if (result && hadKey) { + trigger(target, "delete" + /* DELETE */ + , key, undefined, oldValue); + } + + return result; + } + + function has$1(target, key) { + var result = Reflect.has(target, key); + + if (!isSymbol(key) || !builtInSymbols.has(key)) { + track(target, "has" + /* HAS */ + , key); + } + + return result; + } + + function ownKeys(target) { + track(target, "iterate" + /* ITERATE */ + , isArray(target) ? 'length' : ITERATE_KEY); + return Reflect.ownKeys(target); + } + + var mutableHandlers = { + get: get, + set: set$1, + deleteProperty: deleteProperty, + has: has$1, + ownKeys: ownKeys + }; + var readonlyHandlers = { + get: readonlyGet, + set: function set(target, key) { + { + console.warn("Set operation on key \"".concat(String(key), "\" failed: target is readonly."), target); + } + return true; + }, + deleteProperty: function deleteProperty(target, key) { + { + console.warn("Delete operation on key \"".concat(String(key), "\" failed: target is readonly."), target); + } + return true; + } + }; + + var toShallow = function toShallow(value) { + return value; + }; + + var getProto = function getProto(v) { + return Reflect.getPrototypeOf(v); + }; + + function get$1(target, key) { + var isReadonly = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var isShallow = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + // #1772: readonly(reactive(Map)) should return readonly + reactive version + // of the value + target = target["__v_raw" + /* RAW */ + ]; + var rawTarget = toRaw(target); + var rawKey = toRaw(key); + + if (key !== rawKey) { + !isReadonly && track(rawTarget, "get" + /* GET */ + , key); + } + + !isReadonly && track(rawTarget, "get" + /* GET */ + , rawKey); + + var _getProto = getProto(rawTarget), + has = _getProto.has; + + var wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive; + + if (has.call(rawTarget, key)) { + return wrap(target.get(key)); + } else if (has.call(rawTarget, rawKey)) { + return wrap(target.get(rawKey)); + } else if (target !== rawTarget) { + // #3602 readonly(reactive(Map)) + // ensure that the nested reactive `Map` can do tracking for itself + target.get(key); + } + } + + function has$1$1(key) { + var isReadonly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var target = this["__v_raw" + /* RAW */ + ]; + var rawTarget = toRaw(target); + var rawKey = toRaw(key); + + if (key !== rawKey) { + !isReadonly && track(rawTarget, "has" + /* HAS */ + , key); + } + + !isReadonly && track(rawTarget, "has" + /* HAS */ + , rawKey); + return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); + } + + function size(target) { + var isReadonly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + target = target["__v_raw" + /* RAW */ + ]; + !isReadonly && track(toRaw(target), "iterate" + /* ITERATE */ + , ITERATE_KEY); + return Reflect.get(target, 'size', target); + } + + function add(value) { + value = toRaw(value); + var target = toRaw(this); + var proto = getProto(target); + var hadKey = proto.has.call(target, value); + + if (!hadKey) { + target.add(value); + trigger(target, "add" + /* ADD */ + , value, value); + } + + return this; + } + + function set$1$1(key, value) { + value = toRaw(value); + var target = toRaw(this); + + var _getProto2 = getProto(target), + has = _getProto2.has, + get = _getProto2.get; + + var hadKey = has.call(target, key); + + if (!hadKey) { + key = toRaw(key); + hadKey = has.call(target, key); + } else { + checkIdentityKeys(target, has, key); + } + + var oldValue = get.call(target, key); + target.set(key, value); + + if (!hadKey) { + trigger(target, "add" + /* ADD */ + , key, value); + } else if (hasChanged$1(value, oldValue)) { + trigger(target, "set" + /* SET */ + , key, value, oldValue); + } + + return this; + } + + function deleteEntry(key) { + var target = toRaw(this); + + var _getProto3 = getProto(target), + has = _getProto3.has, + get = _getProto3.get; + + var hadKey = has.call(target, key); + + if (!hadKey) { + key = toRaw(key); + hadKey = has.call(target, key); + } else { + checkIdentityKeys(target, has, key); + } + + var oldValue = get ? get.call(target, key) : undefined; // forward the operation before queueing reactions + + var result = target.delete(key); + + if (hadKey) { + trigger(target, "delete" + /* DELETE */ + , key, undefined, oldValue); + } + + return result; + } + + function clear() { + var target = toRaw(this); + var hadItems = target.size !== 0; + var oldTarget = isMap$1(target) ? new Map(target) : new Set(target); // forward the operation before queueing reactions + + var result = target.clear(); + + if (hadItems) { + trigger(target, "clear" + /* CLEAR */ + , undefined, undefined, oldTarget); + } + + return result; + } - get size() { - return size(this); - }, + function createForEach(isReadonly, isShallow) { + return function forEach(callback, thisArg) { + var observed = this; + var target = observed["__v_raw" + /* RAW */ + ]; + var rawTarget = toRaw(target); + var wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive; + !isReadonly && track(rawTarget, "iterate" + /* ITERATE */ + , ITERATE_KEY); + return target.forEach(function (value, key) { + // important: make sure the callback is + // 1. invoked with the reactive map as `this` and 3rd arg + // 2. the value received should be a corresponding reactive/readonly. + return callback.call(thisArg, wrap(value), wrap(key), observed); + }); + }; + } + + function createIterableMethod(method, isReadonly, isShallow) { + return function () { + var target = this["__v_raw" + /* RAW */ + ]; + var rawTarget = toRaw(target); + var targetIsMap = isMap$1(rawTarget); + var isPair = method === 'entries' || method === Symbol.iterator && targetIsMap; + var isKeyOnly = method === 'keys' && targetIsMap; + var innerIterator = target[method].apply(target, arguments); + var wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive; + !isReadonly && track(rawTarget, "iterate" + /* ITERATE */ + , isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY); // return a wrapped iterator which returns observed versions of the + // values emitted from the real iterator + + return _defineProperty({ + // iterator protocol + next: function next() { + var _innerIterator$next = innerIterator.next(), + value = _innerIterator$next.value, + done = _innerIterator$next.done; + + return done ? { + value: value, + done: done + } : { + value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), + done: done + }; + } + }, Symbol.iterator, function () { + return this; + }); + }; + } + + function createReadonlyMethod(type) { + return function () { + { + var key = (arguments.length <= 0 ? undefined : arguments[0]) ? "on key \"".concat(arguments.length <= 0 ? undefined : arguments[0], "\" ") : ""; + console.warn("".concat(capitalize(type), " operation ").concat(key, "failed: target is readonly."), toRaw(this)); + } + return type === "delete" + /* DELETE */ + ? false : this; + }; + } - has: has$1$1, - add: add, - set: set$1$1, - delete: deleteEntry, - clear: clear, - forEach: createForEach(false, false) + function createInstrumentations() { + var mutableInstrumentations = { + get: function get(key) { + return get$1(this, key); + }, + + get size() { + return size(this); + }, + + has: has$1$1, + add: add, + set: set$1$1, + delete: deleteEntry, + clear: clear, + forEach: createForEach(false, false) }; var shallowInstrumentations = { - get: function get(key) { - return get$1(this, key, false, true); - }, - - get size() { - return size(this); - }, - - has: has$1$1, - add: add, - set: set$1$1, - delete: deleteEntry, - clear: clear, - forEach: createForEach(false, true) + get: function get(key) { + return get$1(this, key, false, true); + }, + + get size() { + return size(this); + }, + + has: has$1$1, + add: add, + set: set$1$1, + delete: deleteEntry, + clear: clear, + forEach: createForEach(false, true) }; var readonlyInstrumentations = { - get: function get(key) { - return get$1(this, key, true); - }, - - get size() { - return size(this, true); - }, - - has: function has(key) { - return has$1$1.call(this, key, true); - }, - add: createReadonlyMethod("add" - /* ADD */ - ), - set: createReadonlyMethod("set" - /* SET */ - ), - delete: createReadonlyMethod("delete" - /* DELETE */ - ), - clear: createReadonlyMethod("clear" - /* CLEAR */ - ), - forEach: createForEach(true, false) + get: function get(key) { + return get$1(this, key, true); + }, + + get size() { + return size(this, true); + }, + + has: function has(key) { + return has$1$1.call(this, key, true); + }, + add: createReadonlyMethod("add" + /* ADD */ + ), + set: createReadonlyMethod("set" + /* SET */ + ), + delete: createReadonlyMethod("delete" + /* DELETE */ + ), + clear: createReadonlyMethod("clear" + /* CLEAR */ + ), + forEach: createForEach(true, false) + }; + var shallowReadonlyInstrumentations = { + get: function get(key) { + return get$1(this, key, true, true); + }, + + get size() { + return size(this, true); + }, + + has: function has(key) { + return has$1$1.call(this, key, true); + }, + add: createReadonlyMethod("add" + /* ADD */ + ), + set: createReadonlyMethod("set" + /* SET */ + ), + delete: createReadonlyMethod("delete" + /* DELETE */ + ), + clear: createReadonlyMethod("clear" + /* CLEAR */ + ), + forEach: createForEach(true, true) }; - var iteratorMethods = ["keys", "values", "entries", Symbol.iterator]; + var iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator]; iteratorMethods.forEach(function (method) { - mutableInstrumentations[method] = createIterableMethod(method, false, false); - readonlyInstrumentations[method] = createIterableMethod(method, true, false); - shallowInstrumentations[method] = createIterableMethod(method, false, true); + mutableInstrumentations[method] = createIterableMethod(method, false, false); + readonlyInstrumentations[method] = createIterableMethod(method, true, false); + shallowInstrumentations[method] = createIterableMethod(method, false, true); + shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true); }); - - function createInstrumentationGetter(isReadonly, shallow) { - var instrumentations = shallow ? shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations; - return function (target, key, receiver) { - if (key === "__v_isReactive" - /* IS_REACTIVE */ - ) { - return !isReadonly; - } else if (key === "__v_isReadonly" - /* IS_READONLY */ - ) { - return isReadonly; - } else if (key === "__v_raw" - /* RAW */ - ) { - return target; - } - - return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver); - }; - } - - var mutableCollectionHandlers = { - get: createInstrumentationGetter(false, false) + return [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations]; + } + + var _createInstrumentatio = /* #__PURE__*/createInstrumentations(), + _createInstrumentatio2 = _slicedToArray(_createInstrumentatio, 4), + mutableInstrumentations = _createInstrumentatio2[0], + readonlyInstrumentations = _createInstrumentatio2[1], + shallowInstrumentations = _createInstrumentatio2[2], + shallowReadonlyInstrumentations = _createInstrumentatio2[3]; + + function createInstrumentationGetter(isReadonly, shallow) { + var instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations; + return function (target, key, receiver) { + if (key === "__v_isReactive" + /* IS_REACTIVE */ + ) { + return !isReadonly; + } else if (key === "__v_isReadonly" + /* IS_READONLY */ + ) { + return isReadonly; + } else if (key === "__v_raw" + /* RAW */ + ) { + return target; + } + + return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver); }; - var readonlyCollectionHandlers = { - get: createInstrumentationGetter(true, false) - }; - - function checkIdentityKeys(target, has, key) { - var rawKey = toRaw(key); - - if (rawKey !== key && has.call(target, rawKey)) { - var type = toRawType(target); - console.warn("Reactive ".concat(type, " contains both the raw and reactive ") + "versions of the same object".concat(type === "Map" ? " as keys" : "", ", ") + "which can lead to inconsistencies. " + "Avoid differentiating between the raw and reactive versions " + "of an object and only use the reactive version if possible."); - } + } + + var mutableCollectionHandlers = { + get: /*#__PURE__*/createInstrumentationGetter(false, false) + }; + var readonlyCollectionHandlers = { + get: /*#__PURE__*/createInstrumentationGetter(true, false) + }; + + function checkIdentityKeys(target, has, key) { + var rawKey = toRaw(key); + + if (rawKey !== key && has.call(target, rawKey)) { + var type = toRawType(target); + console.warn("Reactive ".concat(type, " contains both the raw and reactive ") + "versions of the same object".concat(type === "Map" ? " as keys" : "", ", ") + "which can lead to inconsistencies. " + "Avoid differentiating between the raw and reactive versions " + "of an object and only use the reactive version if possible."); + } + } + + var reactiveMap = new WeakMap(); + var shallowReactiveMap = new WeakMap(); + var readonlyMap = new WeakMap(); + var shallowReadonlyMap = new WeakMap(); + + function targetTypeMap(rawType) { + switch (rawType) { + case 'Object': + case 'Array': + return 1 + /* COMMON */ + ; + + case 'Map': + case 'Set': + case 'WeakMap': + case 'WeakSet': + return 2 + /* COLLECTION */ + ; + + default: + return 0 + /* INVALID */ + ; + } + } + + function getTargetType(value) { + return value["__v_skip" + /* SKIP */ + ] || !Object.isExtensible(value) ? 0 + /* INVALID */ + : targetTypeMap(toRawType(value)); + } + + function reactive(target) { + // if trying to observe a readonly proxy, return the readonly version. + if (target && target["__v_isReadonly" + /* IS_READONLY */ + ]) { + return target; + } + + return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap); + } + /** + * Creates a readonly copy of the original object. Note the returned copy is not + * made reactive, but `readonly` can be called on an already reactive object. + */ + + + function readonly(target) { + return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap); + } + + function createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) { + if (!isObject(target)) { + { + console.warn("value cannot be made reactive: ".concat(String(target))); + } + return target; + } // target is already a Proxy, return it. + // exception: calling readonly() on a reactive object + + + if (target["__v_raw" + /* RAW */ + ] && !(isReadonly && target["__v_isReactive" + /* IS_REACTIVE */ + ])) { + return target; + } // target already has corresponding Proxy + + + var existingProxy = proxyMap.get(target); + + if (existingProxy) { + return existingProxy; + } // only a whitelist of value types can be observed. + + + var targetType = getTargetType(target); + + if (targetType === 0 + /* INVALID */ + ) { + return target; + } + + var proxy = new Proxy(target, targetType === 2 + /* COLLECTION */ + ? collectionHandlers : baseHandlers); + proxyMap.set(target, proxy); + return proxy; + } + + function isReactive(value) { + if (isReadonly(value)) { + return isReactive(value["__v_raw" + /* RAW */ + ]); + } + + return !!(value && value["__v_isReactive" + /* IS_REACTIVE */ + ]); + } + + function isReadonly(value) { + return !!(value && value["__v_isReadonly" + /* IS_READONLY */ + ]); + } + + function toRaw(observed) { + var raw = observed && observed["__v_raw" + /* RAW */ + ]; + return raw ? toRaw(raw) : observed; + } + + var toReactive = function toReactive(value) { + return isObject(value) ? reactive(value) : value; + }; + + var toReadonly = function toReadonly(value) { + return isObject(value) ? readonly(value) : value; + }; + + function trackRefValue(ref) { + if (isTracking()) { + ref = toRaw(ref); + + if (!ref.dep) { + ref.dep = createDep(); + } + + { + trackEffects(ref.dep, { + target: ref, + type: "get" + /* GET */ + , + key: 'value' + }); + } + } + } + + function triggerRefValue(ref, newVal) { + ref = toRaw(ref); + + if (ref.dep) { + { + triggerEffects(ref.dep, { + target: ref, + type: "set" + /* SET */ + , + key: 'value', + newValue: newVal + }); + } } + } - var reactiveMap = new WeakMap(); - var readonlyMap = new WeakMap(); + function isRef(r) { + return Boolean(r && r.__v_isRef === true); + } - function targetTypeMap(rawType) { - switch (rawType) { - case "Object": - case "Array": - return 1; + var ComputedRefImpl = /*#__PURE__*/function () { + function ComputedRefImpl(getter, _setter, isReadonly) { + var _this2 = this; - case "Map": - case "Set": - case "WeakMap": - case "WeakSet": - return 2; + _classCallCheck(this, ComputedRefImpl); - default: - return 0; + this._setter = _setter; + this.dep = undefined; + this._dirty = true; + this.__v_isRef = true; + this.effect = new ReactiveEffect(getter, function () { + if (!_this2._dirty) { + _this2._dirty = true; + triggerRefValue(_this2); } - } - - function getTargetType(value) { - return value["__v_skip" - /* SKIP */ - ] || !Object.isExtensible(value) ? 0 - /* INVALID */ - : targetTypeMap(toRawType(value)); - } + }); + this["__v_isReadonly" + /* IS_READONLY */ + ] = isReadonly; + } + + _createClass(ComputedRefImpl, [{ + key: "value", + get: function get() { + // the computed ref may get wrapped by other proxies e.g. readonly() #3376 + var self = toRaw(this); + trackRefValue(self); + + if (self._dirty) { + self._dirty = false; + self._value = self.effect.run(); + } + + return self._value; + }, + set: function set(newValue) { + this._setter(newValue); + } + }]); + + return ComputedRefImpl; + }(); + + function computed(getterOrOptions, debugOptions) { + var getter; + var setter; + var onlyGetter = isFunction(getterOrOptions); + + if (onlyGetter) { + getter = getterOrOptions; + + setter = function setter() { + console.warn('Write operation failed: computed value is readonly'); + }; + } else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + + var cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter); + + if (debugOptions) { + cRef.effect.onTrack = debugOptions.onTrack; + cRef.effect.onTrigger = debugOptions.onTrigger; + } + + return cRef; + } + + function noop() {} + function isNative(Ctor) { + return typeof Ctor === "function" && /native code/.test(Ctor.toString()); + } + var isIE = function isIE() { + if (typeof navigator === "undefined") { + return false; + } + + return /(msie|trident)/i.test(navigator.userAgent.toLowerCase()); + }; + var getIEVersion = function getIEVersion() { + var version = 0; + + if (typeof navigator === "undefined") { + return false; + } + + var agent = navigator.userAgent.toLowerCase(); + var v1 = agent.match(/(?:msie\s([\w.]+))/); + var v2 = agent.match(/(?:trident.*rv:([\w.]+))/); + + if (v1 && v2 && v1[1] && v2[1]) { + version = Math.max(v1[1] * 1, v2[1] * 1); + } else if (v1 && v1[1]) { + version = v1[1] * 1; + } else if (v2 && v2[1]) { + version = v2[1] * 1; + } else { + version = 0; + } + + return version; + }; + isIE() && getIEVersion() < 9; + var _toString = Object.prototype.toString; + function isPlainObject(obj) { + return _toString.call(obj) === "[object Object]"; + } + + function parsePath(path) { + // if (bailRE.test(path)) { + // return; + // } + var segments = path.length > 0 ? path.split(".") : []; + return function (obj) { + for (var i = 0; i < segments.length; i++) { + if (!obj) return; + obj = obj[segments[i]]; + } - function reactive(target) { - // if trying to observe a readonly proxy, return the readonly version. - if (target && target["__v_isReadonly" - /* IS_READONLY */ - ]) { - return target; + return obj; + }; + } + var nextTick = function () { + var callbacks = []; + var pending = false; + var timerFunc; + + function nextTickHandler() { + pending = false; + var copies = callbacks.slice(0); + callbacks.length = 0; + + for (var i = 0; i < copies.length; i++) { + copies[i](); + } + } // An asynchronous deferring mechanism. + // In pre 2.4, we used to use microtasks (Promise/MutationObserver) + // but microtasks actually has too high a priority and fires in between + // supposedly sequential events (e.g. #4521, #6690) or even between + // bubbling of the same event (#6566). Technically setImmediate should be + // the ideal choice, but it's not available everywhere; and the only polyfill + // that consistently queues the callback after all DOM events triggered in the + // same loop is by using MessageChannel. + + /* istanbul ignore if */ + + + if (typeof setImmediate !== "undefined" && isNative(setImmediate)) { + timerFunc = function timerFunc() { + setImmediate(nextTickHandler); + }; + } else if (typeof MessageChannel !== "undefined" && (isNative(MessageChannel) || // PhantomJS + MessageChannel.toString() === "[object MessageChannelConstructor]")) { + var channel = new MessageChannel(); + var port = channel.port2; + channel.port1.onmessage = nextTickHandler; + + timerFunc = function timerFunc() { + port.postMessage(1); + }; + } else if (typeof Promise !== "undefined" && isNative(Promise)) { + /* istanbul ignore next */ + // use microtask in non-DOM environments, e.g. Weex + var p = Promise.resolve(); + + timerFunc = function timerFunc() { + p.then(nextTickHandler); + }; + } else { + // fallback to setTimeout + timerFunc = function timerFunc() { + setTimeout(nextTickHandler, 0); + }; + } + + return function queueNextTick(cb, ctx) { + var _resolve; + + callbacks.push(function () { + if (cb) { + try { + cb.call(ctx); + } catch (e) { + console.error(e); + } + } else if (_resolve) { + _resolve(ctx); } + }); - return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers); - } // Return a reactive-copy of the original object, where only the root level - - function readonly(target) { - return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers); - } // Return a reactive-copy of the original object, where only the root level - - function createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers) { - if (!isObject(target)) { - { - console.warn("value cannot be made reactive: ".concat(String(target))); - } - return target; - } // target is already a Proxy, return it. - // exception: calling readonly() on a reactive object - - - if (target["__v_raw" - /* RAW */ - ] && !(isReadonly && target["__v_isReactive" - /* IS_REACTIVE */ - ])) { - return target; - } // target already has corresponding Proxy - - - var proxyMap = isReadonly ? readonlyMap : reactiveMap; - var existingProxy = proxyMap.get(target); - - if (existingProxy) { - return existingProxy; - } // only a whitelist of value types can be observed. + if (!pending) { + pending = true; + timerFunc(); + } // $flow-disable-line - var targetType = getTargetType(target); - - if (targetType === 0 - /* INVALID */ - ) { - return target; - } - - var proxy = new Proxy(target, targetType === 2 - /* COLLECTION */ - ? collectionHandlers : baseHandlers); - proxyMap.set(target, proxy); - return proxy; - } + if (!cb && typeof Promise !== "undefined") { + return new Promise(function (resolve) { + _resolve = resolve; + }); + } + }; + }(); + + var mixinInjection = {}; + function getMixins(type) { + return mixinInjection[type]; + } + function mixin(xtype, cls) { + mixinInjection[xtype] = _.cloneDeep(cls); + } + + var queue = []; + var activatedChildren = []; + var has = {}; + var waiting = false; + var flushing = false; + var index = 0; + + function resetSchedulerState() { + index = queue.length = activatedChildren.length = 0; + has = {}; + waiting = flushing = false; + } + + function flushSchedulerQueue() { + flushing = true; + var watcher; + var id; + var options; // Sort queue before flush. + // This ensures that: + // 1. Components are updated from parent to child. (because parent is always + // created before the child) + // 2. A component's user watchers are run before its render watcher (because + // user watchers are created before the render watcher) + // 3. If a component is destroyed during a parent component's watcher run, + // its watchers can be skipped. + + queue.sort(function (a, b) { + return a.id - b.id; + }); // do not cache length because more watchers might be pushed + // as we run existing watchers + + for (index = 0; index < queue.length; index++) { + watcher = queue[index].watcher; + options = queue[index].options; + id = watcher.id; + has[id] = null; + watcher(options); + } + + resetSchedulerState(); + } + + function queueWatcher(watcher, options) { + var id = watcher.id; + + if (has[id] == null) { + has[id] = true; + + if (!flushing) { + queue.push({ + watcher: watcher, + options: options + }); + } else { + // if already flushing, splice the watcher based on its id + // if already past its id, it will be run next immediately. + var i = queue.length - 1; - function isReactive(value) { - if (isReadonly(value)) { - return isReactive(value["__v_raw" - /* RAW */ - ]); + while (i > index && queue[i].watcher.id > watcher.id) { + i--; } - return !!(value && value["__v_isReactive" - /* IS_REACTIVE */ - ]); - } + queue.splice(i + 1, 0, { + watcher: watcher, + options: options + }); + } // queue the flush - function isReadonly(value) { - return !!(value && value["__v_isReadonly" - /* IS_READONLY */ - ]); - } - function toRaw(observed) { - return observed && toRaw(observed["__v_raw" - /* RAW */ - ]) || observed; + if (!waiting) { + waiting = true; + nextTick(flushSchedulerQueue); + } } + } - function isRef(r) { - return Boolean(r && r.__v_isRef === true); + function innerWatch(source, cb, options) { + if (!_.isFunction(cb)) { + console.warn("`watch(fn, options?)` signature has been moved to a separate API. " + "Use `watchEffect(fn, options?)` instead. `watch` now only " + "supports `watch(source, cb, options?) signature."); } - var ComputedRefImpl = /*#__PURE__*/function () { - function ComputedRefImpl(getter, _setter, isReadonly) { - var _this2 = this; + return doWatch(source, cb, options); + } + var INITIAL_WATCHER_VALUE = {}; + var objectToString = Object.prototype.toString; - _classCallCheck(this, ComputedRefImpl); + var toTypeString = function toTypeString(value) { + return objectToString.call(value); + }; - this._setter = _setter; - this._dirty = true; - this.__v_isRef = true; - this.effect = effect(getter, { - lazy: true, - scheduler: function scheduler() { - if (!_this2._dirty) { - _this2._dirty = true; - trigger(toRaw(_this2), "set" - /* SET */ - , "value"); - } - } - }); - this["__v_isReadonly" - /* IS_READONLY */ - ] = isReadonly; - } + var isMap = function isMap(val) { + return toTypeString(val) === "[object Map]"; + }; - _createClass(ComputedRefImpl, [{ - key: "value", - get: function get() { - if (this._dirty) { - this._value = this.effect(); - this._dirty = false; - } - - track(toRaw(this), "get" - /* GET */ - , "value"); - return this._value; - }, - set: function set(newValue) { - this._setter(newValue); - } - }]); + var isSet = function isSet(val) { + return toTypeString(val) === "[object Set]"; + }; - return ComputedRefImpl; - }(); + var hasChanged = function hasChanged(value, oldValue) { + return value !== oldValue && (value === value || oldValue === oldValue); + }; - function computed(getterOrOptions) { - var getter; - var setter; + var uid = 0; - if (isFunction(getterOrOptions)) { - getter = getterOrOptions; + function doWatch(source, cb, options, instance) { + options = options || {}; + var _options = options, + immediate = _options.immediate, + deep = _options.deep, + sync = _options.sync, + onTrack = _options.onTrack, + onTrigger = _options.onTrigger; - setter = function setter() { - console.warn("Write operation failed: computed value is readonly"); - }; - } else { - getter = getterOrOptions.get; - setter = getterOrOptions.set; - } + if (!cb) { + if (immediate !== undefined) { + console.warn("watch() \"immediate\" option is only respected when using the " + "watch(source, callback, options?) signature."); + } - return new ComputedRefImpl(getter, setter, isFunction(getterOrOptions) || !getterOrOptions.set); + if (deep !== undefined) { + console.warn("watch() \"deep\" option is only respected when using the " + "watch(source, callback, options?) signature."); + } } - function noop() {} - function isNative(Ctor) { - return typeof Ctor === "function" && /native code/.test(Ctor.toString()); - } - var isIE = function isIE() { - if (typeof navigator === "undefined") { - return false; - } - - return /(msie|trident)/i.test(navigator.userAgent.toLowerCase()); + var warnInvalidSource = function warnInvalidSource(s) { + console.warn("Invalid watch source: ", s, "A watch source can only be a getter/effect function, a ref, " + "a reactive object, or an array of these types."); }; - var getIEVersion = function getIEVersion() { - var version = 0; - if (typeof navigator === "undefined") { - return false; - } - - var agent = navigator.userAgent.toLowerCase(); - var v1 = agent.match(/(?:msie\s([\w.]+))/); - var v2 = agent.match(/(?:trident.*rv:([\w.]+))/); - - if (v1 && v2 && v1[1] && v2[1]) { - version = Math.max(v1[1] * 1, v2[1] * 1); - } else if (v1 && v1[1]) { - version = v1[1] * 1; - } else if (v2 && v2[1]) { - version = v2[1] * 1; - } else { - version = 0; - } - - return version; - }; - isIE() && getIEVersion() < 9; - var _toString = Object.prototype.toString; - function isPlainObject(obj) { - return _toString.call(obj) === "[object Object]"; - } - var bailRE = /[^\w.$]/; - function parsePath(path) { - if (bailRE.test(path)) { - return; - } - - var segments = path.split("."); - return function (obj) { - for (var i = 0; i < segments.length; i++) { - if (!obj) return; - obj = obj[segments[i]]; - } - - return obj; + var getter; + var forceTrigger = false; + + if (isRef(source)) { + getter = function getter() { + return source.value; + }; + + forceTrigger = !!source._shallow; + } else if (isReactive(source)) { + getter = function getter() { + return source; + }; + + deep = true; + } else if (_.isArray(source)) { + getter = function getter() { + return source.map(function (s) { + if (isRef(s)) { + return s.value; + } else if (isReactive(s)) { + return traverse(s); + } else if (_.isFunction(s)) { + return s.call(instance); + } else { + warnInvalidSource(s); + } + }); + }; + } else if (_.isFunction(source)) { + if (cb) { + // getter with cb + getter = function getter() { + return source.call(instance); }; - } - var nextTick = function () { - var callbacks = []; - var pending = false; - var timerFunc; - - function nextTickHandler() { - pending = false; - var copies = callbacks.slice(0); - callbacks.length = 0; - - for (var i = 0; i < copies.length; i++) { - copies[i](); - } - } // An asynchronous deferring mechanism. - // In pre 2.4, we used to use microtasks (Promise/MutationObserver) - // but microtasks actually has too high a priority and fires in between - // supposedly sequential events (e.g. #4521, #6690) or even between - // bubbling of the same event (#6566). Technically setImmediate should be - // the ideal choice, but it's not available everywhere; and the only polyfill - // that consistently queues the callback after all DOM events triggered in the - // same loop is by using MessageChannel. - - /* istanbul ignore if */ - - - if (typeof setImmediate !== "undefined" && isNative(setImmediate)) { - timerFunc = function timerFunc() { - setImmediate(nextTickHandler); - }; - } else if (typeof MessageChannel !== "undefined" && (isNative(MessageChannel) || // PhantomJS - MessageChannel.toString() === "[object MessageChannelConstructor]")) { - var channel = new MessageChannel(); - var port = channel.port2; - channel.port1.onmessage = nextTickHandler; - - timerFunc = function timerFunc() { - port.postMessage(1); - }; - } else if (typeof Promise !== "undefined" && isNative(Promise)) { - /* istanbul ignore next */ - // use microtask in non-DOM environments, e.g. Weex - var p = Promise.resolve(); - - timerFunc = function timerFunc() { - p.then(nextTickHandler); - }; - } else { - // fallback to setTimeout - timerFunc = function timerFunc() { - setTimeout(nextTickHandler, 0); - }; - } - - return function queueNextTick(cb, ctx) { - var _resolve; - - callbacks.push(function () { - if (cb) { - try { - cb.call(ctx); - } catch (e) { - console.error(e); - } - } else if (_resolve) { - _resolve(ctx); - } - }); - - if (!pending) { - pending = true; - timerFunc(); - } // $flow-disable-line + } else { + // no cb -> simple effect + getter = function getter() { + if (instance && instance.isUnmounted) { + return; + } + if (cleanup) { + cleanup(); + } - if (!cb && typeof Promise !== "undefined") { - return new Promise(function (resolve) { - _resolve = resolve; - }); - } + return source.call(instance, onInvalidate); }; - }(); - - var mixinInjection = {}; - function getMixins(type) { - return mixinInjection[type]; - } - function mixin(xtype, cls) { - mixinInjection[xtype] = _.cloneDeep(cls); - } - - var queue = []; - var activatedChildren = []; - var has = {}; - var waiting = false; - var flushing = false; - var index = 0; - - function resetSchedulerState() { - index = queue.length = activatedChildren.length = 0; - has = {}; - waiting = flushing = false; - } - - function flushSchedulerQueue() { - flushing = true; - var watcher; - var id; - var options; // Sort queue before flush. - // This ensures that: - // 1. Components are updated from parent to child. (because parent is always - // created before the child) - // 2. A component's user watchers are run before its render watcher (because - // user watchers are created before the render watcher) - // 3. If a component is destroyed during a parent component's watcher run, - // its watchers can be skipped. - - queue.sort(function (a, b) { - return a.id - b.id; - }); // do not cache length because more watchers might be pushed - // as we run existing watchers - - for (index = 0; index < queue.length; index++) { - watcher = queue[index].watcher; - options = queue[index].options; - id = watcher.id; - has[id] = null; - watcher(options); - } + } + } else { + getter = function getter() {}; - resetSchedulerState(); + warnInvalidSource(source); } - function queueWatcher(watcher, options) { - var id = watcher.id; - - if (has[id] == null) { - has[id] = true; - - if (!flushing) { - queue.push({ - watcher: watcher, - options: options - }); - } else { - // if already flushing, splice the watcher based on its id - // if already past its id, it will be run next immediately. - var i = queue.length - 1; - - while (i > index && queue[i].watcher.id > watcher.id) { - i--; - } - - queue.splice(i + 1, 0, { - watcher: watcher, - options: options - }); - } // queue the flush + if (cb && deep) { + var baseGetter = getter; - - if (!waiting) { - waiting = true; - nextTick(flushSchedulerQueue); - } - } + getter = function getter() { + return traverse(baseGetter()); + }; } - function innerWatch(source, cb, options) { - if (!_.isFunction(cb)) { - console.warn("`watch(fn, options?)` signature has been moved to a separate API. " + "Use `watchEffect(fn, options?)` instead. `watch` now only " + "supports `watch(source, cb, options?) signature."); - } + var cleanup; - return doWatch(source, cb, options); - } - var INITIAL_WATCHER_VALUE = {}; - var objectToString = Object.prototype.toString; - - var toTypeString = function toTypeString(value) { - return objectToString.call(value); + var onInvalidate = function onInvalidate(fn) { + cleanup = runner.options.onStop = function () { + fn.call(instance); + }; }; - var isMap = function isMap(val) { - return toTypeString(val) === "[object Map]"; + var oldValue = _.isArray(source) ? [] : INITIAL_WATCHER_VALUE; + + var job = function job() { + // 这里去掉的原因是,新增属性没有生效也会触发变化监听 + // if (!runner.active) { + // return; + // } + if (cb) { + // watch(source, cb) + var newValue = runner(); + + if (deep || forceTrigger || hasChanged(newValue, oldValue)) { + // cleanup before running cb again + if (cleanup) { + cleanup(); + } + + cb.apply(instance, [newValue, // pass undefined as the old value when it's changed for the first time + oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue, onInvalidate]); + oldValue = newValue; + } + } else { + // watchEffect + runner(); + } + }; // important: mark the job as a watcher callback so that scheduler knows + // it is allowed to self-trigger (#1727) + + + job.allowRecurse = !!cb; + job.id = ++uid; + var scheduler; + + if (sync === true) { + scheduler = job; + } else { + scheduler = function scheduler() { + return queueWatcher(job); + }; + } + + var runner = effect(function () { + try { + return getter(); + } catch (e) {// 吞掉异常 + } + }, { + lazy: true, + onTrack: onTrack, + onTrigger: onTrigger, + scheduler: scheduler + }); // initial run + + if (cb) { + if (immediate) { + job(); + } else { + oldValue = runner(); + } + } else { + runner(); + } + + return function () { + stop(runner); }; + } - var isSet = function isSet(val) { - return toTypeString(val) === "[object Set]"; - }; + function traverse(value) { + var seen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Set(); - var hasChanged = function hasChanged(value, oldValue) { - return value !== oldValue && (value === value || oldValue === oldValue); - }; + if (!_.isObject(value) || seen.has(value)) { + return value; + } - var uid = 0; + seen.add(value); - function doWatch(source, cb, options, instance) { - options = options || {}; - var _options = options, - immediate = _options.immediate, - deep = _options.deep, - sync = _options.sync, - onTrack = _options.onTrack, - onTrigger = _options.onTrigger; + if (isRef(value)) { + traverse(value.value, seen); + } else if (_.isArray(value)) { + for (var i = 0; i < value.length; i++) { + traverse(value[i], seen); + } + } else if (isSet(value) || isMap(value)) { + value.forEach(function (v) { + traverse(v, seen); + }); + } else { + for (var key in value) { + traverse(value[key], seen); + } + } - if (!cb) { - if (immediate !== undefined) { - console.warn("watch() \"immediate\" option is only respected when using the " + "watch(source, callback, options?) signature."); - } + return value; + } - if (deep !== undefined) { - console.warn("watch() \"deep\" option is only respected when using the " + "watch(source, callback, options?) signature."); - } - } + var falsy; + var operators = { + "||": falsy, + "&&": falsy, + "(": falsy, + ")": falsy + }; - var warnInvalidSource = function warnInvalidSource(s) { - console.warn("Invalid watch source: ", s, "A watch source can only be a getter/effect function, a ref, " + "a reactive object, or an array of these types."); - }; + function runBinaryFunction(binarys) { + var expr = ""; - var getter; - var forceTrigger = false; + for (var i = 0, len = binarys.length; i < len; i++) { + if (_.isBoolean(binarys[i]) || _.has(operators, binarys[i])) { + expr += binarys[i]; + } else { + expr += "false"; + } + } - if (isRef(source)) { - getter = function getter() { - return source.value; - }; + return new Function("return " + expr)(); + } - forceTrigger = !!source._shallow; - } else if (isReactive(source)) { - getter = function getter() { - return source; - }; + function watchExp(model, getter) { + var result = getter.call(model, model); - deep = true; - } else if (_.isArray(source)) { - getter = function getter() { - return source.map(function (s) { - if (isRef(s)) { - return s.value; - } else if (isReactive(s)) { - return traverse(s); - } else if (_.isFunction(s)) { - return s.call(instance); - } else { - warnInvalidSource(s); - } - }); - }; - } else if (_.isFunction(source)) { - if (cb) { - // getter with cb - getter = function getter() { - return source.call(instance); - }; - } else { - // no cb -> simple effect - getter = function getter() { - if (instance && instance.isUnmounted) { - return; - } - - if (cleanup) { - cleanup(); - } - - return source.call(instance, onInvalidate); - }; - } - } else { - getter = function getter() {}; + if (_.isArray(result)) { + return result.concat(); + } - warnInvalidSource(source); - } + return result; + } - if (cb && deep) { - var baseGetter = getter; + function watch(model, expOrFn, cb, options) { + if (isPlainObject(cb)) { + options = cb; + cb = cb.handler; + } - getter = function getter() { - return traverse(baseGetter()); - }; - } + if (typeof cb === "string") { + cb = model[cb]; + } - var cleanup; + options = options || {}; + options.user = true; + var exps; - var onInvalidate = function onInvalidate(fn) { - cleanup = runner.options.onStop = function () { - fn.call(instance); - }; - }; + if (_.isFunction(expOrFn)) { + var watcher = innerWatch(expOrFn, cb, options); + return function unwatchFn() { + watcher(); + }; + } - var oldValue = _.isArray(source) ? [] : INITIAL_WATCHER_VALUE; + if (!(exps = expOrFn.match(/[a-zA-Z0-9_.*]+|[|][|]|[&][&]|[(]|[)]/g)) || exps.length === 1 && !/\*/.test(expOrFn)) { + var paths = expOrFn.split("."); + var prePaths = paths.slice(0, paths.length - 1); + var preGetter = parsePath(prePaths.join(".")); + var v = preGetter.call(model, model); + var getter = parsePath(paths[paths.length - 1]); - var job = function job() { - if (!runner.active) { - return; - } + var _watcher = innerWatch(function () { + return watchExp(v, getter); + }, cb, options); - if (cb) { - // watch(source, cb) - var newValue = runner(); + return function unwatchFn() { + _watcher(); + }; + } - if (deep || forceTrigger || hasChanged(newValue, oldValue)) { - // cleanup before running cb again - if (cleanup) { - cleanup(); - } + var watchers = []; + var fns = exps.slice(); + var complete = false, + running = false; - cb.apply(instance, [newValue, // pass undefined as the old value when it's changed for the first time - oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue, onInvalidate]); - oldValue = newValue; - } - } else { - // watchEffect - runner(); - } - }; // important: mark the job as a watcher callback so that scheduler knows - // it is allowed to self-trigger (#1727) + var callback = function callback(index, newValue, oldValue, attrs) { + if (complete === true) { + return; + } + fns[index] = true; - job.allowRecurse = !!cb; - job.id = ++uid; - var scheduler; + if (runBinaryFunction(fns)) { + complete = true; + cb(newValue, oldValue, attrs); + } - if (sync === true) { - scheduler = job; - } else { - scheduler = function scheduler() { - return queueWatcher(job); - }; + if (options && options.sync) { + complete = false; + running = false; + fns = exps.slice(); + } else { + if (!running) { + running = true; + nextTick(function () { + complete = false; + running = false; + fns = exps.slice(); + }); } + } + }; - var runner = effect(getter, { - lazy: true, - onTrack: onTrack, - onTrigger: onTrigger, - scheduler: scheduler - }); // initial run - - if (cb) { - if (immediate) { - job(); + _.each(exps, function (exp, i) { + if (_.has(operators, exp)) { + return; + } + + if (exp.indexOf("*") >= 0) { + // eslint-disable-next-line no-inner-declarations + var travers = function travers(root, deps, parent, key, res) { + if (deps.length === _paths.length) { + root !== undefined && res.push({ + parent: parent, + k: key + }); + return; + } + + if (root) { + if (_paths[deps.length] === "*") { + // 遍历所有节点 + for (var k in root) { + travers(root[k], deps.concat([k]), root, k, res); + } } else { - oldValue = runner(); + var nextKey = _paths[deps.length]; + travers(root[nextKey], deps.concat([nextKey]), root, nextKey, res); } - } else { - runner(); - } - - return function () { - stop(runner); + } }; - } - - function traverse(value) { - var seen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Set(); - if (!_.isObject(value) || seen.has(value)) { - return value; - } + //a.**形式 + if (/^[1-9a-zA-Z.]+\*\*$/.test(exp) || exp === "**") { + exp = exp.replace(".**", ""); - seen.add(value); + var _paths2 = exp.split("."); - if (isRef(value)) { - traverse(value.value, seen); - } else if (_.isArray(value)) { - for (var i = 0; i < value.length; i++) { - traverse(value[i], seen); - } - } else if (isSet(value) || isMap(value)) { - value.forEach(function (v) { - traverse(v, seen); - }); - } else { - for (var key in value) { - traverse(value[key], seen); - } - } + var _prePaths2 = _paths2.slice(0, _paths2.length - 1); - return value; - } + var _preGetter = parsePath(_prePaths2.join(".")); - var falsy; - var operators = { - "||": falsy, - "&&": falsy, - "(": falsy, - ")": falsy - }; + var _v2 = _preGetter.call(model, model); - function runBinaryFunction(binarys) { - var expr = ""; + var _getter = exp === "**" ? function (m) { + return m; + } : parsePath(_paths2[_paths2.length - 1]); - for (var i = 0, len = binarys.length; i < len; i++) { - if (_.isBoolean(binarys[i]) || _.has(operators, binarys[i])) { - expr += binarys[i]; - } else { - expr += "false"; - } + watchers.push(innerWatch(function () { + return watchExp(_v2, _getter); + }, function (newValue, oldValue) { + callback(i, newValue, oldValue, _.extend({ + index: i + })); + }, _.extend({ + deep: true + }, options))); + return; } - return new Function("return " + expr)(); - } + if (/^(\*\*\.)+[1-9a-zA-Z]+(\.\*\*$)/.test(exp)) { + throw new Error("not support"); + } //含有*的情况,如a.*,如*.a,*.*.a,a.*.a + //先获取到能获取到的对象 - function watchExp(model, exp) { - var getter = parsePath(exp); - var result = getter.call(model, model); - if (_.isArray(result)) { - return result.concat(); - } + var _paths = exp.split("."); - return result; - } + var _prePaths = []; - function watch(model, expOrFn, cb, options) { - if (isPlainObject(cb)) { - options = cb; - cb = cb.handler; - } + for (var _i = 0, len = _paths.length; _i < len; _i++) { + if (_paths[_i] === "*") { + break; + } - if (typeof cb === "string") { - cb = model[cb]; + _prePaths[_i] = _paths[_i]; } - options = options || {}; - options.user = true; - var exps; + var _v; - if (_.isFunction(expOrFn) || !(exps = expOrFn.match(/[a-zA-Z0-9_.*]+|[|][|]|[&][&]|[(]|[)]/g)) || exps.length === 1 && !/\*/.test(expOrFn)) { - var watcher = innerWatch(_.isFunction(expOrFn) ? expOrFn : function () { - return watchExp(model, expOrFn); - }, cb, options); - return function unwatchFn() { - watcher(); - }; - } + if (_prePaths.length > 0) { + var _getter2 = parsePath(_prePaths.join(".")); - var watchers = []; - var fns = exps.slice(); - var complete = false, - running = false; + _v = _getter2.call(model, model); + } else { + _v = model; + } - var callback = function callback(index, newValue, oldValue, attrs) { - if (complete === true) { - return; - } + _paths = _paths.slice(_prePaths.length); + var changes = []; + watchers.push(innerWatch(function () { + var routes = []; + travers(_v, [], _v, null, routes); - fns[index] = true; + for (var _i2 = 0, _len = routes.length; _i2 < _len; _i2++) { + var _routes$_i = routes[_i2], + parent = _routes$_i.parent, + k = _routes$_i.k; - if (runBinaryFunction(fns)) { - complete = true; - cb(newValue, oldValue, attrs); - } + for (var j = 0, l = changes.length; j < l; j++) { + var _changes$j = changes[j], + target = _changes$j.target, + key = _changes$j.key; - if (options && options.sync) { - complete = false; - running = false; - fns = exps.slice(); - } else { - if (!running) { - running = true; - nextTick(function () { - complete = false; - running = false; - fns = exps.slice(); - }); - } - } - }; - - _.each(exps, function (exp, i) { - if (_.has(operators, exp)) { - return; - } //a.**形式 - - - if (/^[1-9a-zA-Z.]+\*\*$/.test(exp) || exp === "**") { - exp = exp.replace(".**", ""); - var getter = exp === "**" ? function (m) { - return m; - } : parsePath(exp); - var v = getter.call(model, model); - watchers.push(innerWatch(v, function (newValue, oldValue) { - callback(i, newValue, oldValue, _.extend({ - index: i - })); - })); - return; - } - - if (/^(\*\*\.)+[1-9a-zA-Z]+(\.\*\*$)/.test(exp)) { - throw new Error("not support"); - } //含有*的情况,如a.*,如*.a,*.*.a,a.*.a - - - if (/\*/.test(exp)) { - // eslint-disable-next-line no-inner-declarations - var travers = function travers(root, deps, parent, key, res) { - if (deps.length === paths.length) { - root !== undefined && res.push({ - parent: parent, - k: key - }); - return; - } - - if (root) { - if (paths[deps.length] === "*") { - // 遍历所有节点 - for (var k in root) { - travers(root[k], deps.concat([k]), root, k, res); - } - } else { - var nextKey = paths[deps.length]; - travers(root[nextKey], deps.concat([nextKey]), root, nextKey, res); - } - } - }; - - //先获取到能获取到的对象 - var paths = exp.split("."); - var prePaths = []; - - for (var _i = 0, len = paths.length; _i < len; _i++) { - if (paths[_i] === "*") { - break; - } - - prePaths[_i] = paths[_i]; - } - - var _v; - - if (prePaths.length > 0) { - var _getter = parsePath(prePaths.join(".")); - - _v = _getter.call(model, model); - } else { - _v = model; - } - - paths = paths.slice(prePaths.length); - var changes = []; - watchers.push(innerWatch(function () { - var routes = []; - travers(_v, [], _v, null, routes); - - for (var _i2 = 0, _len = routes.length; _i2 < _len; _i2++) { - var _routes$_i = routes[_i2], - parent = _routes$_i.parent, - k = _routes$_i.k; - - for (var j = 0, l = changes.length; j < l; j++) { - var _changes$j = changes[j], - target = _changes$j.target, - key = _changes$j.key; - - if (target === toRaw(parent) && key === k) { - return true; - } - } - } - }, function (newValue) { - changes = []; - - if (newValue === true) { - callback(i, undefined, undefined, _.extend({ - index: i - })); - } - }, { - deep: true, - onTrigger: function onTrigger(_ref) { - var target = _ref.target, - key = _ref.key; - changes.push({ - target: target, - key: key - }); - } - })); - return; + if (target === toRaw(parent) && key === k) { + return true; + } } + } + }, function (newValue) { + changes = []; - watchers.push(innerWatch(function () { - return watchExp(model, exp); - }, function (newValue, oldValue) { - callback(i, newValue, oldValue, _.extend({ - index: i - })); + if (newValue === true) { + callback(i, undefined, undefined, _.extend({ + index: i })); - }); + } + }, BI.extend({}, options, { + deep: true, + onTrigger: function onTrigger(_ref) { + var target = _ref.target, + key = _ref.key; + changes.push({ + target: target, + key: key + }); + } + }))); + return; + } + + var getter = parsePath(exp); + watchers.push(innerWatch(function () { + return watchExp(model, getter); + }, function (newValue, oldValue) { + callback(i, newValue, oldValue, _.extend({ + index: i + })); + }, options)); + }); - return watchers; - } + return watchers; + } - var REACTIVE = true; + var REACTIVE = true; - function initState(vm, state) { - if (state) { - vm.$$state = REACTIVE ? reactive(state) : state; - } + function initState(vm, state) { + if (state) { + vm.$$state = REACTIVE ? reactive(state) : state; } + } - function initComputed(vm, c) { - var $$computed = vm.$$computed = {}; + function initComputed(vm, c) { + var $$computed = vm.$$computed = {}; - for (var key in c) { - $$computed[key] = computed(_.bind(c[key], vm)); - } + for (var key in c) { + $$computed[key] = computed(_.bind(c[key], vm)); } + } - function initWatch(vm, watch) { - vm._watchers || (vm._watchers = []); + function initWatch(vm, watch) { + vm._watchers || (vm._watchers = []); - for (var key in watch) { - var handler = watch[key]; + for (var key in watch) { + var handler = watch[key]; - if (_.isArray(handler)) { - for (var i = 0; i < handler.length; i++) { - vm._watchers.push(createWatcher(vm, key, handler[i])); - } - } else { - vm._watchers.push(createWatcher(vm, key, handler)); - } + if (_.isArray(handler)) { + for (var i = 0; i < handler.length; i++) { + vm._watchers.push(createWatcher(vm, key, handler[i])); } + } else { + vm._watchers.push(createWatcher(vm, key, handler)); + } } + } - function createWatcher(vm, keyOrFn, cb, options) { - if (isPlainObject(cb)) { - options = cb; - cb = cb.handler; - } - - if (typeof cb === "string") { - cb = vm[cb]; - } - - return watch(vm.model, keyOrFn, _.bind(cb, vm), options); + function createWatcher(vm, keyOrFn, cb, options) { + if (isPlainObject(cb)) { + options = cb; + cb = cb.handler; } - function initMethods(vm, methods) { - for (var key in methods) { - vm[key] = methods[key] == null ? noop : _.bind(methods[key], vm); - } + if (typeof cb === "string") { + cb = vm[cb]; } - function initMixins(vm, mixins) { - mixins = (mixins || []).slice(0); + return watch(vm.model, keyOrFn, _.bind(cb, vm), options); + } - _.each(mixins.reverse(), function (mixinType) { - var mixin = getMixins(mixinType); - - for (var key in mixin) { - if (typeof mixin[key] !== "function") continue; - if (_.has(vm, key)) continue; - vm[key] = _.bind(mixin[key], vm); - } - }); + function initMethods(vm, methods) { + for (var key in methods) { + vm[key] = methods[key] == null ? noop : _.bind(methods[key], vm); } + } - function defineProps(vm) { - vm.model = new Proxy({}, { - get: function get(target, key) { - if (vm.$$computed && key in vm.$$computed) { - try { - return vm.$$computed[key].value; - } catch (e) {// 吞掉异常 - } - - return; - } + function initMixins(vm, mixins) { + mixins = (mixins || []).slice(0); - if (vm.$$state && key in vm.$$state) { - return vm.$$state[key]; - } + _.each(mixins.reverse(), function (mixinType) { + var mixin = getMixins(mixinType); - var p = vm._parent; - - while (p) { - if (p.$$context && key in p.$$context) { - return p.$$context[key]; - } - - p = p._parent; - } - }, - set: function set(target, key, value) { - if (vm.$$state && key in vm.$$state) { - vm.$$state[key] = value; - return true; - } + for (var key in mixin) { + if (typeof mixin[key] !== "function") continue; + if (_.has(vm, key)) continue; + vm[key] = _.bind(mixin[key], vm); + } + }); + } - var p = vm._parent; + function defineProps(vm) { + vm.model = new Proxy({}, { + get: function get(target, key) { + if (vm.$$computed && key in vm.$$computed) { + try { + return vm.$$computed[key].value; + } catch (e) {// 吞掉异常 + } - while (p) { - if (p.$$context && key in p.$$context) { - p.$$context[key] = value; - return true; - } + return; + } - p = p._parent; - } + if (vm.$$state && key in vm.$$state) { + return vm.$$state[key]; + } - return true; - } - }); - } + var p = vm._parent; - function defineContext(vm, keys) { - var props = {}; - - var _loop = function _loop(i, len) { - var key = keys[i]; - props[key] = { - enumerable: true, - configurable: true, - get: function get() { - return vm.model[key]; - }, - set: function set(val) { - return vm.model[key] = val; - } - }; - }; + while (p) { + if (p.$$context && key in p.$$context) { + return p.$$context[key]; + } - for (var i = 0, len = keys.length; i < len; i++) { - _loop(i); + p = p._parent; + } + }, + set: function set(target, key, value) { + if (vm.$$state && key in vm.$$state) { + vm.$$state[key] = value; + return true; } - vm.$$context = Object.defineProperties({}, props); - } - - function getInjectValue(vm, key) { var p = vm._parent; while (p) { - if (p.$$context && key in p.$$context) { - return p.$$context[key]; - } + if (p.$$context && key in p.$$context) { + p.$$context[key] = value; + return true; + } + + p = p._parent; + } - p = p._parent; + return true; + } + }); + } + + function defineContext(vm, keys) { + var props = {}; + + var _loop = function _loop(i, len) { + var key = keys[i]; + props[key] = { + enumerable: true, + configurable: true, + get: function get() { + return vm.model[key]; + }, + set: function set(val) { + return vm.model[key] = val; } + }; + }; + + for (var i = 0, len = keys.length; i < len; i++) { + _loop(i); } - function getInjectValues(vm) { - var inject = vm.inject || []; - var result = {}; + vm.$$context = Object.defineProperties({}, props); + } - _.each(inject, function (key) { - result[key] = getInjectValue(vm, key); - }); + function getInjectValue(vm, key) { + var p = vm._parent; + + while (p) { + if (p.$$context && key in p.$$context) { + return p.$$context[key]; + } - return result; + p = p._parent; } + } - var Model = /*#__PURE__*/function () { - function Model() { - _classCallCheck(this, Model); - } + function getInjectValues(vm) { + var inject = vm.inject || []; + var result = {}; - _createClass(Model, [{ - key: "_constructor", - value: function _constructor(options, destroyHandler) { - this.options = options || {}; - this._parent = Model.target; - var state = _.isFunction(this.state) ? this.state() : this.state; - var computed = this.computed; - var context = this.context; - var inject = this.inject; - var childContext = this.childContext; - var watch = this.watch; - var actions = this.actions; - - _.keys(state).concat(_.keys(computed)).concat(inject || []).concat(context || []); - - var mixins = this.mixins; - defineProps(this); - childContext && defineContext(this, childContext); - initMixins(this, mixins); - this.init(); - initState(this, _.extend(getInjectValues(this), state)); - initComputed(this, computed); - REACTIVE && initWatch(this, watch); - initMethods(this, actions); - this.created && this.created(); - this._destroyHandler = destroyHandler; - } - }, { - key: "_init", - value: function _init() {} - }, { - key: "init", - value: function init() { - this._init(); - } - }, { - key: "destroy", - value: function destroy() { - _.each(this._watchers, function (unwatches) { - unwatches = _.isArray(unwatches) ? unwatches : [unwatches]; - - _.each(unwatches, function (unwatch) { - unwatch(); - }); - }); - - this._watchers && (this._watchers = []); - this.destroyed && this.destroyed(); - this.$$computed = null; - this.$$state = null; - this._destroyHandler && this._destroyHandler(); - } - }]); - - return Model; - }(); - function set(target, key, val) { - if (_.isArray(target)) { - target.length = Math.max(target.length, key); - target.splice(key, 1, val); - return val; - } + _.each(inject, function (key) { + result[key] = getInjectValue(vm, key); + }); - target[key] = val; - } - function del(target, key) { - if (_.isArray(target)) { - target.splice(key, 1); - return; - } + return result; + } + + var Model = /*#__PURE__*/function () { + function Model() { + _classCallCheck(this, Model); + } + + _createClass(Model, [{ + key: "_constructor", + value: function _constructor(options, destroyHandler) { + this.options = options || {}; + this._parent = Model.target; + var state = _.isFunction(this.state) ? this.state() : this.state; + var computed = this.computed; + var context = this.context; + var inject = this.inject; + var childContext = this.childContext; + var watch = this.watch; + var actions = this.actions; + + _.keys(state).concat(_.keys(computed)).concat(inject || []).concat(context || []); + + var mixins = this.mixins; + defineProps(this); + childContext && defineContext(this, childContext); + initMixins(this, mixins); + this.init(); + initState(this, _.extend(getInjectValues(this), state)); + initComputed(this, computed); + REACTIVE && initWatch(this, watch); + initMethods(this, actions); + this.created && this.created(); + this._destroyHandler = destroyHandler; + } + }, { + key: "_init", + value: function _init() {} + }, { + key: "init", + value: function init() { + this._init(); + } + }, { + key: "destroy", + value: function destroy() { + _.each(this._watchers, function (unwatches) { + unwatches = _.isArray(unwatches) ? unwatches : [unwatches]; + + _.each(unwatches, function (unwatch) { + unwatch(); + }); + }); - if (!_.has(target, key)) { - return; - } + this._watchers && (this._watchers = []); + this.destroyed && this.destroyed(); + this.$$computed = null; + this.$$state = null; + this._destroyHandler && this._destroyHandler(); + } + }]); - delete target[key]; + return Model; + }(); + function set(target, key, val) { + if (_.isArray(target)) { + target.length = Math.max(target.length, key); + target.splice(key, 1, val); + return val; } - function define(model) { - return REACTIVE ? reactive(model) : model; + + target[key] = val; + } + function del(target, key) { + if (_.isArray(target)) { + target.splice(key, 1); + return; } - function config(options) { - options || (options = {}); - if ("reactive" in options) { - REACTIVE = options.reactive; - } + if (!_.has(target, key)) { + return; } - function toJSON(model) { - var result; + delete target[key]; + } + function define(model) { + return REACTIVE ? reactive(model) : model; + } + function config(options) { + options || (options = {}); + + if ("reactive" in options) { + REACTIVE = options.reactive; + } + } - if (_.isArray(model)) { - result = []; + function toJSON(model) { + var result; - for (var i = 0, len = model.length; i < len; i++) { - result[i] = toJSON(model[i]); - } - } else if (model && isPlainObject(model)) { - result = {}; + if (_.isArray(model)) { + result = []; - for (var key in model) { - result[key] = toJSON(model[key]); - } - } else { - result = model; - } + for (var i = 0, len = model.length; i < len; i++) { + result[i] = toJSON(model[i]); + } + } else if (model && isPlainObject(model)) { + result = {}; - return result; + for (var key in model) { + result[key] = toJSON(model[key]); + } + } else { + result = model; } - var version = "3.0"; + return result; + } + + var version = "3.0"; - exports.Model = Model; - exports.config = config; - exports.define = define; - exports.del = del; - exports.mixin = mixin; - exports.set = set; - exports.toJSON = toJSON; - exports.version = version; - exports.watch = watch; + exports.Model = Model; + exports.config = config; + exports.define = define; + exports.del = del; + exports.mixin = mixin; + exports.set = set; + exports.toJSON = toJSON; + exports.version = version; + exports.watch = watch; - Object.defineProperty(exports, '__esModule', { value: true }); + Object.defineProperty(exports, '__esModule', { value: true }); }))); diff --git a/src/less/lib/background.less b/src/less/lib/background.less index 1f291a5fe..a331a88da 100644 --- a/src/less/lib/background.less +++ b/src/less/lib/background.less @@ -8,7 +8,3 @@ @background-trans-color-disabled: "background/trans_disable.png"; @background-auto-color-square-normal: "icon/auto_square_normal.png"; @background-auto-color-no-square-normal: "icon/auto_no_square_normal.png"; - -@background-farbtastic-wheel:"background/wheel.png"; -@background-farbtastic-overlay:"background/mask.png"; -@background-farbtastic-marker:"background/marker.png"; From 5fcf725c7af175d2e61f6f5902a31b2ecb9f235c Mon Sep 17 00:00:00 2001 From: guy Date: Fri, 10 Dec 2021 23:25:52 +0800 Subject: [PATCH 02/15] =?UTF-8?q?=E6=9B=B4=E6=96=B0proxy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/fix/fix.proxy.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/dist/fix/fix.proxy.js b/dist/fix/fix.proxy.js index d760047bd..33e475d16 100644 --- a/dist/fix/fix.proxy.js +++ b/dist/fix/fix.proxy.js @@ -2073,7 +2073,12 @@ watchers.push(innerWatch(function () { return watchExp(_v2, _getter); }, function (newValue, oldValue) { - callback(i, newValue, oldValue, _.extend({ + // a.** 在a变化的时候不会触发change + if (oldValue !== newValue) { + return; + } + + callback(i, NaN, NaN, _.extend({ index: i })); }, _.extend({ @@ -2135,7 +2140,7 @@ changes = []; if (newValue === true) { - callback(i, undefined, undefined, _.extend({ + callback(i, NaN, NaN, _.extend({ index: i })); } From 01a8796f1eb52b7d6c322e4bd6c0c93a8284ca45 Mon Sep 17 00:00:00 2001 From: guy Date: Sun, 12 Dec 2021 11:26:16 +0800 Subject: [PATCH 03/15] =?UTF-8?q?=E6=9B=B4=E6=96=B0proxy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/images/1x/background/marker.png | Bin 652 -> 0 bytes dist/images/1x/background/mask.png | Bin 2020 -> 0 bytes dist/images/1x/background/wheel.png | Bin 11733 -> 0 bytes dist/images/2x/background/marker.png | Bin 652 -> 0 bytes dist/images/2x/background/mask.png | Bin 2020 -> 0 bytes dist/images/2x/background/wheel.png | Bin 11733 -> 0 bytes 6 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 dist/images/1x/background/marker.png delete mode 100644 dist/images/1x/background/mask.png delete mode 100644 dist/images/1x/background/wheel.png delete mode 100644 dist/images/2x/background/marker.png delete mode 100644 dist/images/2x/background/mask.png delete mode 100644 dist/images/2x/background/wheel.png diff --git a/dist/images/1x/background/marker.png b/dist/images/1x/background/marker.png deleted file mode 100644 index 3929bbb51dd950802bb9bf12a397d1ac1e140610..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 652 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 diff --git a/dist/images/2x/background/marker.png b/dist/images/2x/background/marker.png deleted file mode 100644 index 3929bbb51dd950802bb9bf12a397d1ac1e140610..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 652 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 From 2ba0e964fbc2a0a46e112645193bc7a33988dc4e Mon Sep 17 00:00:00 2001 From: guy Date: Sun, 12 Dec 2021 16:23:35 +0800 Subject: [PATCH 04/15] worker --- dist/fix/worker.compact.js | 66 +++++++------------------------------- examples/demo.worker.js | 4 +-- src/core/worker.js | 2 +- 3 files changed, 15 insertions(+), 57 deletions(-) diff --git a/dist/fix/worker.compact.js b/dist/fix/worker.compact.js index 63cfbe759..aaeb7016b 100644 --- a/dist/fix/worker.compact.js +++ b/dist/fix/worker.compact.js @@ -1,10 +1,13 @@ ;(function () { var contexts = {}; + var init = false; var WORKER; - BI.useWorker = function (wk) { - WORKER = wk; + var enableWorker = function () { + if (init) { + return init; + } var _init = BI.Widget.prototype._init; BI.Widget.prototype._init = function () { this.$destroyWorker = createWorker.call(this); @@ -29,7 +32,7 @@ } }; BI.Widget.prototype._initRender = function () { - if (WORKER && this._worker) { + if (this._worker) { this.__asking = true; this.__async = true; } else { @@ -46,7 +49,12 @@ console.error(e); } }; - + init = postMessage; + return postMessage; + }; + BI.useWorker = function (wk) { + var postMessage = enableWorker(); + WORKER = wk; if (WORKER) { WORKER.addEventListener("message", function (e) { var data = e.data; @@ -101,57 +109,7 @@ eventType: "destroy" }); }; - } else { - this.store = BI.Models.getModel(modelType, options); - this.store && (this.store._widget = this); - if (this.store instanceof Fix.Model) { - this.model = this.store.model; - } else { - this.model = this.store; - } - initWatch(this, this.watch); - return function () { - this.store && BI.isFunction(this.store.destroy) && this.store.destroy(); - BI.each(this._watchers, function (i, unwatches) { - unwatches = BI.isArray(unwatches) ? unwatches : [unwatches]; - BI.each(unwatches, function (j, unwatch) { - unwatch(); - }); - }); - this._watchers && (this._watchers = []); - if (this.store) { - this.store._parent && (this.store._parent = null); - this.store._widget && (this.store._widget = null); - this.store = null; - } - }; - } - - } - } - - function initWatch (vm, watch) { - vm._watchers || (vm._watchers = []); - for (var key in watch) { - var handler = watch[key]; - if (BI.isArray(handler)) { - for (var i = 0; i < handler.length; i++) { - vm._watchers.push(createWatcher(vm, key, handler[i])); - } - } else { - vm._watchers.push(createWatcher(vm, key, handler)); } } } - - function createWatcher (vm, keyOrFn, cb, options) { - if (BI.isPlainObject(cb)) { - options = cb; - cb = cb.handler; - } - options = options || {}; - return Fix.watch(vm.model, keyOrFn, _.bind(cb, vm), BI.extend(options, { - store: vm.store - })); - } }()); diff --git a/examples/demo.worker.js b/examples/demo.worker.js index fecbf994e..dae3c723a 100644 --- a/examples/demo.worker.js +++ b/examples/demo.worker.js @@ -1,6 +1,6 @@ if (this.importScripts) { - importScripts("../dist/fineui_without_jquery_polyfill.js"); - BI.initWorker(); + importScripts("https://fanruan.design/fineui/fineui_without_jquery_polyfill.js"); + BI.useInWorker(); } var Model = BI.inherit(Fix.Model, { state: function () { diff --git a/src/core/worker.js b/src/core/worker.js index e23d73c5d..e616ed839 100644 --- a/src/core/worker.js +++ b/src/core/worker.js @@ -1,5 +1,5 @@ !(function () { - BI.initWorker = function () { + BI.useInWorker = function () { function createWatcher (model, keyOrFn, cb, options) { options = options || {}; return Fix.watch(model, keyOrFn, cb, BI.extend(options, { From d27f4afb5d0370dead1e2d40929792e4014c7d81 Mon Sep 17 00:00:00 2001 From: data Date: Sun, 12 Dec 2021 16:32:37 +0800 Subject: [PATCH 05/15] auto upgrade version to 2.0.20211212163229 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e3542ddbb..c99f2c032 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211210090328", + "version": "2.0.20211212163229", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", From 023763e88480e2d0d0ef3bde823fa771405dd961 Mon Sep 17 00:00:00 2001 From: guy Date: Sun, 12 Dec 2021 17:15:58 +0800 Subject: [PATCH 06/15] =?UTF-8?q?worker=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/fix/worker.compact.js | 10 +++++++++- src/core/4.widget.js | 4 +++- src/core/system.js | 9 +++++++++ src/core/worker.js | 4 ++++ 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/dist/fix/worker.compact.js b/dist/fix/worker.compact.js index aaeb7016b..f178f37bf 100644 --- a/dist/fix/worker.compact.js +++ b/dist/fix/worker.compact.js @@ -8,6 +8,10 @@ if (init) { return init; } + // 开启Worker模式 + BI.config("bi.provider.system", function (provider) { + provider.setWorkerMode(true); + }); var _init = BI.Widget.prototype._init; BI.Widget.prototype._init = function () { this.$destroyWorker = createWorker.call(this); @@ -32,7 +36,7 @@ } }; BI.Widget.prototype._initRender = function () { - if (this._worker) { + if (WORKER && this._worker) { this.__asking = true; this.__async = true; } else { @@ -52,7 +56,11 @@ init = postMessage; return postMessage; }; + BI.useWorker = function (wk) { + if (!_global.Worker || !_global.Proxy) { + return; + } var postMessage = enableWorker(); WORKER = wk; if (WORKER) { diff --git a/src/core/4.widget.js b/src/core/4.widget.js index 5de5d7c85..5d420df20 100644 --- a/src/core/4.widget.js +++ b/src/core/4.widget.js @@ -326,7 +326,9 @@ _initElement: function () { var self = this; this.__isMounting = true; - var render = BI.isFunction(this.options.render) ? this.options.render : this.render; + // 当开启worker模式时,可以通过$render来实现另一种效果 + var workerMode = BI.Providers.getProvider("bi.provider.system").getWorkerMode(); + var render = BI.isFunction(this.options.render) ? this.options.render : (workerMode ? (this.$render || this.render) : this.render); var els = render && render.call(this); els = BI.Plugin.getRender(this.options.type, els); if (BI.isPlainObject(els)) { diff --git a/src/core/system.js b/src/core/system.js index 08a872860..59281243c 100644 --- a/src/core/system.js +++ b/src/core/system.js @@ -8,6 +8,7 @@ var system = { dependencies: {}, responsiveMode: false, + workerMode: false, size: { // 尺寸 TOOL_BAR_HEIGHT: 24, LIST_ITEM_HEIGHT: 24, @@ -28,6 +29,10 @@ system.responsiveMode = !!mode; }; + this.setWorkerMode = function (mode) { + system.workerMode = !!mode; + }; + this.addDependency = function (moduleId, minVersion, maxVersion) { system.dependencies[moduleId] = { min: minVersion, @@ -50,6 +55,10 @@ return system.responsiveMode; }, + getWorkerMode: function () { + return system.workerMode; + }, + getDependencies: function () { return system.dependencies; } diff --git a/src/core/worker.js b/src/core/worker.js index e616ed839..d3ba08ee4 100644 --- a/src/core/worker.js +++ b/src/core/worker.js @@ -1,6 +1,10 @@ !(function () { BI.useInWorker = function () { function createWatcher (model, keyOrFn, cb, options) { + if (BI.isPlainObject(cb)) { + options = cb; + cb = cb.handler; + } options = options || {}; return Fix.watch(model, keyOrFn, cb, BI.extend(options, { store: model From 252c7579c50f30176dc8ebb521b1f696d0571ece Mon Sep 17 00:00:00 2001 From: data Date: Sun, 12 Dec 2021 17:22:43 +0800 Subject: [PATCH 07/15] auto upgrade version to 2.0.20211212172235 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c99f2c032..d25701fa4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211212163229", + "version": "2.0.20211212172235", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", From 3d08a0fae59b9f2357324476ee07bf63f0e64b4e Mon Sep 17 00:00:00 2001 From: guy Date: Sun, 12 Dec 2021 17:37:22 +0800 Subject: [PATCH 08/15] =?UTF-8?q?worker=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/fix/fix.compact.js | 8 ++++++-- dist/fix/worker.compact.js | 2 +- examples/worker.html | 1 - 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/dist/fix/fix.compact.js b/dist/fix/fix.compact.js index 35a642878..abe505d96 100644 --- a/dist/fix/fix.compact.js +++ b/dist/fix/fix.compact.js @@ -115,7 +115,7 @@ function createStore () { var needPop = false; - if (_global.Fix && this._store) { + if (this._store) { var store = findStore(this.options.context || this._parent || this.options.element || this._context); if (store) { pushTarget(store); @@ -151,7 +151,11 @@ var __initWatch = BI.Widget.prototype.__initWatch; BI.Widget.prototype.__initWatch = function () { __initWatch.apply(this, arguments); - if (_global.Fix && this._store) { + var workerMode = BI.Providers.getProvider("bi.provider.system").getWorkerMode(); + if (workerMode && this._worker) { + return; + } + if (this._store) { initWatch(this, this.watch); } }; diff --git a/dist/fix/worker.compact.js b/dist/fix/worker.compact.js index f178f37bf..e537706ad 100644 --- a/dist/fix/worker.compact.js +++ b/dist/fix/worker.compact.js @@ -88,7 +88,7 @@ name: name, eventType: "create", options: options, - watches: BI.map(this.watch, function (key) { + watches: BI.map(this.$watch || this.watch, function (key) { return key; }) }); diff --git a/examples/worker.html b/examples/worker.html index 03cdc5be6..759f0eac4 100644 --- a/examples/worker.html +++ b/examples/worker.html @@ -6,7 +6,6 @@ --> - From c76821bf173ea8c361ecff77e7435b8ac766a400 Mon Sep 17 00:00:00 2001 From: data Date: Sun, 12 Dec 2021 17:53:24 +0800 Subject: [PATCH 09/15] auto upgrade version to 2.0.20211212175307 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d25701fa4..b4d604e26 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211212172235", + "version": "2.0.20211212175307", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", From f777b840ff3eba44985bb842f470abff05a30825 Mon Sep 17 00:00:00 2001 From: guy Date: Sun, 12 Dec 2021 23:23:34 +0800 Subject: [PATCH 10/15] =?UTF-8?q?worker=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/fix/fix.compact.js | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/dist/fix/fix.compact.js b/dist/fix/fix.compact.js index abe505d96..88148367c 100644 --- a/dist/fix/fix.compact.js +++ b/dist/fix/fix.compact.js @@ -99,22 +99,12 @@ } } - // _.each(["populate", "addItems", "prependItems"], function (name) { - // var old = BI.Loader.prototype[name]; - // BI.Loader.prototype[name] = function () { - // BI.Widget.pushContext(this); - // try { - // var result = old.apply(this, arguments); - // } catch (e) { - // console.error(e); - // } - // BI.Widget.popContext(); - // return result; - // }; - // }); - function createStore () { var needPop = false; + var workerMode = BI.Providers.getProvider("bi.provider.system").getWorkerMode(); + if (workerMode && this._worker) { + return; + } if (this._store) { var store = findStore(this.options.context || this._parent || this.options.element || this._context); if (store) { From 16b4c9133bf68ff1a0fa07eefcc3f369165c5132 Mon Sep 17 00:00:00 2001 From: data Date: Sun, 12 Dec 2021 23:32:33 +0800 Subject: [PATCH 11/15] auto upgrade version to 2.0.20211212233226 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b4d604e26..9eb995311 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211212175307", + "version": "2.0.20211212233226", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", From a9d36bdb4930edbd7a358f60ce35b062210fde35 Mon Sep 17 00:00:00 2001 From: "Oliver.Ke" Date: Mon, 13 Dec 2021 14:04:00 +0800 Subject: [PATCH 12/15] =?UTF-8?q?CHART-22285=20feat:=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=AD=97=E4=BD=93=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/font/iconfont.eot | Bin 153776 -> 154932 bytes dist/font/iconfont.svg | 16 ++++++++++++---- dist/font/iconfont.ttf | Bin 153608 -> 154764 bytes dist/font/iconfont.woff | Bin 76808 -> 77640 bytes dist/font/iconfont.woff2 | Bin 61208 -> 61992 bytes 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/dist/font/iconfont.eot b/dist/font/iconfont.eot index 44a04d8c3ea20e4849f08b8eb4dec0b798d5671b..60f0cedee6f3df9b91466aa90632e11a1531c724 100644 GIT binary patch delta 11692 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 ceD0_bL-%;4n8t2 delta 10515 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 diff --git a/dist/font/iconfont.svg b/dist/font/iconfont.svg index c642b62c8..2b3356620 100644 --- a/dist/font/iconfont.svg +++ b/dist/font/iconfont.svg @@ -14,6 +14,18 @@ /> + + + + + + + + + + + + @@ -414,8 +426,6 @@ - - @@ -522,8 +532,6 @@ - - diff --git a/dist/font/iconfont.ttf b/dist/font/iconfont.ttf index 6b017337259a251623823d78b824e92d097653f0..fb12a78a7b0f031f0e453f8d8423e70bfa89930e 100644 GIT binary patch delta 11660 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 Q@3Mk#+Vp>3pbD7)09$}$EC2ui literal 76808 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 NlJHHN{trRl^mLRT$tnN< diff --git a/dist/font/iconfont.woff2 b/dist/font/iconfont.woff2 index 8dedba1b2ae5013929cacd936cecc8f65f723cd7..1618fc6c5c137aef2b7b73bde9030476897ca006 100644 GIT binary patch literal 61992 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 z zOBIEikWFo!B@G3r#9kaIr%XhGT5r!@GNHE*cyUEc5o4SO!zSrmd7 zG9+G;5;`S&2Tte_=cgoKO)D;D-N<-M0SX4g_f^x>M+(_@zMo2`nc!QgxQ1_edZ`0o zvWYhDVY|`syIG2hxMt#v&$qmbZ1(H1;;NERe;}K>&bpf=h%4AH;Pa##LvUAfQ@b{K z+iN|ep++Na?M)6L+YhI7)TykCVGA8j3{d@;9rI@iH(R23u?6|*2l6NCw-84TsGf29 z16dl)!gUv;z#m&N=%>8iw59Zo;U|U;6kTgvXx6L`*)&&a94tjn?AlA|Ap@>>td47G zw1pm(yA(V`Dh2S;Is1FFs@M;xdYBK`bm00haLoa}_Dnv5UTyT^wZ%)4bO*p5uUS@QD)O|vpVloE62}jBwgSm z?;DQ9&eF1=%<5kAx`SyJ{J(0ChM-VUH%I1Ab1}I+5vvjX ziC=Z!84q4=yMiS5FUtvl>9rSg|55rZjrLrCnIS`G>WgC2`lDiP(#1QvJZF}@$7Tp? zBt0_SkIUTksnzS4-M~XNMsO<8wi{^=;uy!|l)`{;CZgIAS-|W9{hm8l#io-#LxC?l z(W;tjAnNE-NJ^eAgeAk_vCPJ~;fhkLp?W9v@e$BtE3-D>(2&xc zb0~^EMy3V*Yo@R|3{g0ii6|#AQ0$=G zToF5uFk+S`Q|%|gUMa>!iV z8e^E7ZQPf&?;FfM0GAJFeQmmHUTW}8SBfNQ)L=Jd+)MVq;6C5dq;Ww@5<4+U5h{=* zxQzozhclvhRK-?SaWV3Rp|`G*ufWljs;9Ld`Y;xANizQqAs#cHy(HF>E#CDPB00aOd}DqMFp3*YaSf;2MMC(saUC` zo=HLJt2dcLx?`zIs;>4tYD7{H!F-STZ>s1_7&lyvrS+mGX{PJXV-z(zCre_SYsL>Y@IFDnLl3=k_esq(m78eEo z5V90SGN?Q;60|C&_YyW{CN2+&^qp{2JP6%+MWNHg+uS&nPFF59&Dy06I?}z!@$v+m zqs{W(LEIK|uLA1??0RQdsQFl-V2J@E2KfTc&Qoar1PCMwjltsZqkzq>^PN#?RpM57 zu_Mn{^MbhXgIQy7_^{?Y^2j5PJo3mRk37m_p*-=#6Hh#?o=l75e1!AhO&<2+2YE)J zzd=W6sPJ4(o=W3td+o43enh*tx2V~x=;cM&#)LXg#p>0wP5Zg&N>D8u9Nyf4s_uv1Kj8zK87~PTRkh|<-(J6`r#PR9bbvqhlO(Bz<~n?4jtp0A_@lI>Y$G5K|QIT!iq5%3XnnfEfg_Px~t^vC|X1>pQQdP001Ef0Ji`D literal 61208 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 dO!_N{@$Tji(tl`Za;l7X#h8dz>i Date: Mon, 13 Dec 2021 17:32:20 +0800 Subject: [PATCH 13/15] auto upgrade version to 2.0.20211213173215 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9eb995311..d4a16ba9c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211212233226", + "version": "2.0.20211213173215", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", From 3b309601089d68e2b7013692741570b625ebbce8 Mon Sep 17 00:00:00 2001 From: iapyang Date: Mon, 13 Dec 2021 18:57:12 +0800 Subject: [PATCH 14/15] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- typescript/index.ts | 7 +++++-- typescript/widget/downlist/item.downlistgroup.ts | 10 ++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 typescript/widget/downlist/item.downlistgroup.ts diff --git a/typescript/index.ts b/typescript/index.ts index 27dc12099..54f7106a8 100644 --- a/typescript/index.ts +++ b/typescript/index.ts @@ -44,8 +44,8 @@ import { _inject } from "./core/inject"; import { Layout } from "./core/wrapper/layout"; import { AbsoluteLayout } from "./core/wrapper/layout/layout.absolute"; import { HTapeLayout, VTapeLayout } from "./core/wrapper/layout/layout.tape"; -import {HorizontalFillLayout} from "./core/wrapper/layout/fill/fill.horizontal"; -import {VerticalFillLayout} from "./core/wrapper/layout/fill/fill.vertical"; +import { HorizontalFillLayout } from "./core/wrapper/layout/fill/fill.horizontal"; +import { VerticalFillLayout } from "./core/wrapper/layout/fill/fill.vertical"; import { VerticalLayout } from "./core/wrapper/layout/layout.vertical"; import { DefaultLayout } from "./core/wrapper/layout/layout.default"; import { DownListCombo } from "./widget/downlist/combo.downlist"; @@ -179,6 +179,7 @@ import { TreeValueChooserPane } from './component/treevaluechooser/pane.treevalu import { TdLayout } from './core/wrapper/layout/layout.td'; import { MultiLayerSelectLevelTree } from './widget/multilayerselecttree/multilayerselecttree.leveltree'; import { SelectTreeExpander } from './widget/selecttree/selecttree.expander'; +import { DownListGroupItem } from "./widget/downlist/item.downlistgroup"; export interface BI extends _func, _i18n, _base, _inject, _var, _web, _utils { @@ -365,6 +366,7 @@ export interface BI extends _func, _i18n, _base, _inject, _var, _web, _utils { TdLayout: typeof TdLayout; MultiLayerSelectLevelTree: typeof MultiLayerSelectLevelTree; SelectTreeExpander: typeof SelectTreeExpander; + DownListGroupItem: typeof DownListGroupItem; } export default { @@ -551,4 +553,5 @@ export { MultiLayerSelectLevelTree, SelectTreeExpander, DirectionPager, + DownListGroupItem, }; diff --git a/typescript/widget/downlist/item.downlistgroup.ts b/typescript/widget/downlist/item.downlistgroup.ts new file mode 100644 index 000000000..8c85305ea --- /dev/null +++ b/typescript/widget/downlist/item.downlistgroup.ts @@ -0,0 +1,10 @@ +import { BasicButton } from "../../base/single/button/button.basic"; + +export declare class DownListGroupItem extends BasicButton { + static xtype: string; + static EVENT_CHANGE: string; + + doRedMark(...args: any[]): void; + + unRedMark(...args: any[]): void; +} From e57d7edd5a879ac130cdb4c73535d721621fb618 Mon Sep 17 00:00:00 2001 From: data Date: Mon, 13 Dec 2021 19:13:42 +0800 Subject: [PATCH 15/15] auto upgrade version to 2.0.20211213191328 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d4a16ba9c..8adfa9a5b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20211213173215", + "version": "2.0.20211213191328", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts",