efront 3.10.4 → 3.10.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -254,13 +254,15 @@ function stringify(color) {
254
254
  }
255
255
  }
256
256
  function doWith(manager, color, args) {
257
- var c = parse(color);
257
+ var isparsed = color instanceof Array,
258
+ c = isparsed ? color : parse(color);
258
259
  if (!c) {
259
260
  console.warn(`颜色数据不正确:${color}`);
260
261
  return color;
261
262
  }
262
263
  c = manager(c, args);
263
- return stringify(c);
264
+ if (!isparsed) c = stringify(c);
265
+ return c;
264
266
  }
265
267
 
266
268
  function normal([r, g, b]) {
@@ -962,7 +962,7 @@ var data = {
962
962
  instanceDataMap[instanceId] = data;
963
963
  }
964
964
  setItem(instanceId, data, rememberWithStorage);
965
- fireListener(instanceId);
965
+ fireListener(instanceId, data);
966
966
  return instanceDataMap[instanceId];
967
967
  },
968
968
  patchInstance(instanceId, data, rememberWithStorage = 0) {
@@ -999,7 +999,7 @@ var data = {
999
999
  if (!~listeners.indexOf(callback)) {
1000
1000
  listeners.push(callback);
1001
1001
  }
1002
- callback(this.getInstance(instanceId));
1002
+ if (hasItem(instanceId)) callback(getItem(instanceId));
1003
1003
  },
1004
1004
  unbindInstance(instanceId, callback) {
1005
1005
  if (!instanceListenerMap[instanceId]) return;
@@ -1047,12 +1047,14 @@ function getItem(instanceId, onlyFromLocalStorage = false) {
1047
1047
  }
1048
1048
  return data;
1049
1049
  }
1050
+ function hasItem(instanceId) {
1051
+ return sessionStorage.getItem(instanceId) || localStorage.getItem(instanceId);
1052
+ }
1050
1053
  var instanceListenerMap = {};
1051
- var fireListener = function (instanceId) {
1054
+ var fireListener = function (instanceId, data) {
1052
1055
  var listeners = instanceListenerMap[instanceId];
1053
1056
  if (!listeners) return;
1054
- var instance = instanceDataMap[instanceId];
1055
- listeners.forEach(a => a(instance));
1057
+ listeners.forEach(a => a(data));
1056
1058
  };
1057
1059
  data.setItem = data.setInstance;
1058
1060
  data.getItem = data.getInstance;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "efront",
3
- "version": "3.10.4",
3
+ "version": "3.10.5",
4
4
  "description": "一个开发工具,开放源代码,自带组件库和编译环境,可以用来开发web组件,web应用或nodejs模块,或做为已有代码的加密工具,也可以做为静态页面服务器或跨域中转服务器使用",
5
5
  "main": "public/efront.js",
6
6
  "directories": {