efront 3.18.1 → 3.18.2

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.
@@ -22,6 +22,11 @@ Item.prototype = extend([], {
22
22
  this.color = value.color;
23
23
  this.test = value.test;
24
24
  this.line = value.line;
25
+ if (value.path) this.path = value.path;
26
+ if (value.id) this.id = value.id;
27
+ if (value.url) this.url = value.url;
28
+ if (value.href) this.href = value.href;
29
+ if (value.src) this.src = value.src;
25
30
  }
26
31
  else {
27
32
  this.name = value;
@@ -2,17 +2,22 @@ var change = function (data) {
2
2
  zimoli.go(data, this.params, this);
3
3
  };
4
4
  var gosrc = function () {
5
- if (this.hasAttribute('src')) {
6
- var src = this.getAttribute('src');
7
- if (src !== this.src) {
8
- this.src = src;
9
- if (src) cast(this, this.getAttribute('src'));
10
- }
5
+ var { src } = this;
6
+ if (this.hasAttribute && this.hasAttribute('src')) {
7
+ src = this.getAttribute('src');
8
+ }
9
+ if (src !== this._src) {
10
+ change.call(this, src);
11
+ this._src = src;
11
12
  }
12
13
  };
13
14
  function container(element) {
15
+ var src;
16
+ if (element && element.hasAttribute('src')) {
17
+ src = element.getAttribute('src');
18
+ }
14
19
  element = document.createComment('container');
15
- care(element, change);
20
+ element.src = src;
16
21
  element.renders = [gosrc];
17
22
  return element;
18
23
  }
@@ -286,7 +286,7 @@ function main(page, items, active, direction = 'y') {
286
286
  };
287
287
  var $scope = {
288
288
  "menu-item"(e, s) {
289
- if (s === e.$scope) s = itemName ? s[itemName] : s.menu;
289
+ if (e && s === e.$scope) s = itemName ? s[itemName] : s.menu;
290
290
  var a = button(
291
291
  menuItem(e, s.value, this.hasIcon)
292
292
  );
@@ -691,7 +691,9 @@ function renderElement(element, scope = element.$scope, parentScopes = element.$
691
691
  }
692
692
  });
693
693
  replacer.renderid = element.renderid;
694
- replacer.renders = element.renders;
694
+ var renders = element.renders;
695
+ if (replacer.renders) renders = renders.concat(replacer.renders);
696
+ replacer.renders = renders;
695
697
  if (binds.src) replacer.$src = element.$src;
696
698
  element = replacer;
697
699
  element.$scope = scope;
@@ -701,6 +703,8 @@ function renderElement(element, scope = element.$scope, parentScopes = element.$
701
703
  }
702
704
  if (element.children && element.children.length) renderElement(element.children, scope, parentScopes, once);
703
705
  if (!isFirstRender) return element;
706
+ var renders = element.renders;
707
+ element.renders = [];
704
708
  for (var k in binds) {
705
709
  if (directives.hasOwnProperty(k)) {
706
710
  directives[k].call(element, [withContext, binds[k]])
@@ -718,6 +722,7 @@ function renderElement(element, scope = element.$scope, parentScopes = element.$
718
722
  } catch (e) { }
719
723
  }
720
724
  ons.forEach(([on, key, value]) => on.call(element, key, [withContext, value]));
725
+ if (renders.length) element.renders.push.apply(element.renders, renders);
721
726
  if (element.renders.length) {
722
727
  if (element.renderid !== 9) {
723
728
  onmounted(element, addRenderElement);
@@ -127,7 +127,13 @@ function go(pagepath, args, history_name, oldpagepath) {
127
127
  } else {
128
128
  var { roles, options, id } = getZimoliParams(pagepath);
129
129
  }
130
- if (!pagepath) return true;
130
+ if (!pagepath) {
131
+ if (isNode(history_name)) {
132
+ remove(history_name.activateNode);
133
+ history_name.activate = pagepath;
134
+ }
135
+ return true;
136
+ }
131
137
  setZimoliParams(pagepath, { data: args, from: oldpagepath, options, roles, id });
132
138
  prepare(pagepath, function (res) {
133
139
  if (!res.roles || res.roles === true) res.roles = !!roles;
@@ -594,7 +600,11 @@ function addGlobal(element, name = null, isDestroy) {
594
600
  }
595
601
  global[name] = element;
596
602
  } else if (isNode(name)) {
597
- if (isDestroy || name.nodeType !== 1) appendChild.insert(name, element);
603
+ if (name.nodeType !== 1) {
604
+ appendChild.after(name, element);
605
+ name.with = [element];
606
+ }
607
+ else if (isDestroy) appendChild.insert(name, element);
598
608
  else appendChild(name, element);
599
609
  } else if (isFunction(name)) {
600
610
  name(element);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "efront",
3
- "version": "3.18.1",
3
+ "version": "3.18.2",
4
4
  "description": "一个开发工具,开放源代码,自带组件库和编译环境,可以用来开发web组件,web应用或nodejs模块,或做为已有代码的加密工具,也可以做为静态页面服务器或跨域中转服务器使用",
5
5
  "main": "public/efront.js",
6
6
  "directories": {