@joyzl/eno 1.2.1 → 1.2.3
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.
- package/README.md +4 -3
- package/dist/joyzl-eno.js +1 -1
- package/index.js +43 -15
- package/package.json +2 -2
package/README.md
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
# eno
|
2
|
-
|
2
|
+
简单易用,性能卓越,自由灵活的WEB前端组件
|
3
|
+
主要用于 JSON 与 HTML 操作交互的 JavaScript 方法库。
|
3
4
|
|
4
|
-
[joyzl eno](http://eno.joyzl.
|
5
|
+
[joyzl eno](http://eno.joyzl.net)
|
5
6
|
|
6
7
|
## 安装
|
7
8
|
``` cmd
|
@@ -13,4 +14,4 @@ import eno from '@joyzl/eno';
|
|
13
14
|
```
|
14
15
|
|
15
16
|
## 使用
|
16
|
-
参考在线手册 [joyzl eno doc](http://eno.joyzl.
|
17
|
+
参考在线手册 [joyzl eno doc](http://eno.joyzl.net/document.html)
|
package/dist/joyzl-eno.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.eno=t():e.eno=t()}(self,(()=>(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{default:()=>n});const n={create:l,append:function(e,t,n){if(1==arguments.length)n=l(e),e=document.body;else if(2==arguments.length)e=i(e),n=l(t);else{if(3!=arguments.length)return null;e=i(e,t),n=l(n)}return e&&n?(e.appendChild(r.content),n):null},replace:function(e,t,n){if(2==arguments.length)e=i(e),n=l(t);else{if(3!=arguments.length)return null;e=i(e,t),n=l(n)}if(e&&n){if(Array.isArray(n))for(let t=0;t<n.length;t++)n[t].classList.add(e.classList),e.style.cssText&&(n[t].style.cssText+=e.style.cssText);else n.classList.add(e.classList),e.style.cssText&&(n.style.cssText+=e.style.cssText);return e.replaceWith(r.content),n}return null},selects:f,select:i,remove:function(e,t){if(1==arguments.length)e=f(e);else{if(2!=arguments.length)return;e=f(e,t)}if(e&&e.length)for(let t=0;t<e.length;t++)e[t].remove()},show:function(e,t){if(1==arguments.length)e=f(e);else{if(2!=arguments.length)return;e=f(e,t)}if(e&&e.length)for(let t=0;t<e.length;t++)
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.eno=t():e.eno=t()}(self,(()=>(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{default:()=>n});const n={create:l,append:function(e,t,n){if(1==arguments.length)n=l(e),e=document.body;else if(2==arguments.length)e=i(e),n=l(t);else{if(3!=arguments.length)return null;e=i(e,t),n=l(n)}return e&&n?(e.appendChild(r.content),n):null},replace:function(e,t,n){if(2==arguments.length)e=i(e),n=l(t);else{if(3!=arguments.length)return null;e=i(e,t),n=l(n)}if(e&&n){if(Array.isArray(n))for(let t=0;t<n.length;t++)n[t].classList.add(e.classList),e.style.cssText&&(n[t].style.cssText+=e.style.cssText);else n.classList.add(e.classList),e.style.cssText&&(n.style.cssText+=e.style.cssText);return e.replaceWith(r.content),n}return null},selects:f,select:i,remove:function(e,t){if(1==arguments.length)e=f(e);else{if(2!=arguments.length)return;e=f(e,t)}if(e&&e.length)for(let t=0;t<e.length;t++)e[t].remove()},show:function(e,t){if(1==arguments.length)e=f(e);else{if(2!=arguments.length)return;e=f(e,t)}if(e&&e.length)for(let t=0;t<e.length;t++)o(e[t])},hide:function(e,t){if(1==arguments.length)e=f(e);else{if(2!=arguments.length)return;e=f(e,t)}if(e&&e.length)for(let t=0;t<e.length;t++)u(e[t])},toggle:function(e,t,n,r){if(1==arguments.length){if(e=f(e))return c(e),e}else if(2==arguments.length){if(e=f(e,t))return c(e),e}else if(3==arguments.length){if(e=f(e))return s(e,t,n),e}else if(4==arguments.length&&(e=f(e,t)))return s(e,n,r),e;return null},get:function(e,t,n=h){if(1==arguments.length)e=i(e);else if(2==arguments.length)t instanceof Function?(e=i(e),n=t):e=i(e,t);else{if(3!=arguments.length)return null;e=i(e,t)}if(e){let t={};return a(e,t,n),t}return null},gets:function(e,t,n=h){if(1==arguments.length)e=f(e);else if(2==arguments.length)t instanceof Function?(e=f(e),n=t):e=f(e,t);else{if(3!=arguments.length)return null;e=f(e,t)}if(e){let t,r=new Array;for(let l=0;l<e.length;l++)t={},a(e[l],t,n),r.push(t);return r}return null},set:function(e,t,n,r=h){if(2==arguments.length)e=i(e),n=t;else if(3==arguments.length)n instanceof Function?(e=i(e),r=n,n=t):e=i(e,t);else{if(4!=arguments.length)return null;e=i(e,t)}if(e)return Array.isArray(n)&&(n=n[0]),_(e,n,r),e.__ENO_ENTITY=n,e},sets:function(e,t,n,r=h){if(2==arguments.length)e=i(e),n=t;else if(3==arguments.length)n instanceof Function?(e=i(e),r=n,n=t):e=i(e,t);else{if(4!=arguments.length)return null;e=i(e,t)}if(e){let t=0;if(void 0===e.__ENO_SETS){if(!e.childElementCount)return null;for(e.__ENO_SETS={},t=0;t<e.childElementCount;t++)if(e.children[t].content){e.__ENO_SETS.fragment=e.children[t].content,e.__ENO_SETS.before=++t,e.__ENO_SETS.after=e.childElementCount-t;break}if(void 0===e.__ENO_SETS.fragment){for(e.__ENO_SETS.fragment=new DocumentFragment;e.childElementCount>0;)e.__ENO_SETS.fragment.appendChild(e.children[0]);e.__ENO_SETS.before=0,e.__ENO_SETS.after=0}}if(n){let l,i;for(Array.isArray(n)||(n=[n]),t=0;t<n.length;t++)if(e.__ENO_SETS.before+t<e.childElementCount-e.__ENO_SETS.after)for(i=0;i<e.__ENO_SETS.fragment.childElementCount;i++)l=e.children[e.__ENO_SETS.before+t+i],_(l,n[t],r),l.__ENO_ENTITY=n[t];else{for(l=e.__ENO_SETS.fragment.cloneNode(!0),i=0;i<l.childElementCount;i++)_(l.children[i],n[t],r),l.children[i].__ENO_ENTITY=n[t];e.insertBefore(l,e.children[e.__ENO_SETS.before+t*l.childElementCount])}for(i=t*e.__ENO_SETS.fragment.childElementCount,t=e.__ENO_SETS.before+e.__ENO_SETS.after;e.childElementCount>t+i;)e.children[e.__ENO_SETS.before+i].remove()}else for(t=e.__ENO_SETS.before+e.__ENO_SETS.after;e.childElementCount>t;)e.children[e.childElementCount-e.__ENO_SETS.after-1].remove();return e}},bind:function(e,t,n,r){if(3==arguments.length)e=f(e),r=n,n=t;else{if(4!=arguments.length)return null;e=f(e,t)}if(e&&e.length){for(let t=0;t<e.length;t++)e[t].addEventListener(n,r);return e}return null},entity:function(e,t){if(1==arguments.length)e=e.target?e.target:e.srcElement?e.srcElement:i(e);else{if(2!=arguments.length)return null;e=i(e,t)}for(;e;){if(e.__ENO_ENTITY)return e.__ENO_ENTITY;e=e.parentElement}return null},element:function(e){if(e)for(e=e.target?e.target:e.srcElement?e.srcElement:i(e);e;){if(e.userData)return e;e=e.parentElement}return null},target:function(e,t,n){if(1==arguments.length)return e.target||e.srcElement;if(2==arguments.length){let n=e.target||e.srcElement;for(;n&&n!==e.currentTarget;){if(n.hasAttribute(t))return n;n=n.parentElement}}else if(3==arguments.length){let r=e.target||e.srcElement;for(;r&&r!==e.currentTarget;){if(r.getAttribute(t)==n)return r;r=r.parentElement}}return null},query:function(e,t){if(0==arguments.length)e=window.location.search;else if(1==arguments.length)if(e.startsWith("http://")||e.startsWith("https://")){let t=e.indexOf("?");if(!(t>0))return null;e=e.substring(t)}else t=e,e=window.location.search;else{if(2!=arguments.length)return null;{let t=e.indexOf("?");if(!(t>0))return null;e=e.substring(t)}}if(e){if(!t){let t,n=1,r=1,l={};for(;r>=0&&r<e.length&&(n=e.indexOf("=",r),n>=0);){if(t=e.substring(n,r),n=++r,r=e.indexOf("&",r),!(r>=0)){l[t]=e.substring(n);break}l[t]=e.substring(n,r),n=++r}return l}{let n=e.indexOf(t);if(n>=0&&(n+=t.length,"="==e.charAt(n))){n++;let t=e.indexOf("&",n);return t>=0?e.substring(n,t):e.substring(n)}}}return null}},r=document.createElement("template");function l(e){if(e)if(e.trim){if(r.innerHTML=e,1==r.content.childElementCount)return r.content.firstElementChild;if(r.content.childElementCount>1)return Array.from(r.content.children)}else{if(e.tagName)return r.innerHTML="",r.appendChild(e),e;if(e instanceof DocumentFragment)return r.innerHTML="",r.appendChild(e),Array.from(r.content.children)}return null}function i(e,t){if(1==arguments.length){if(e.tagName)return e;if(e.trim)return document.querySelector(e);if(e.length)return e[0]}else if(2==arguments.length){if(e.tagName)return e.querySelector(t);if(e.trim&&(e=document.querySelector(e)))return e.querySelector(t)}return null}function f(e,t){if(1==arguments.length){if(e.tagName)return[e];if(e.trim){if((e=document.querySelectorAll(e)).length>0)return Array.from(e)}else if(e.length)return Array.from(e)}else if(2==arguments.length)if(e.tagName){if((e=e.querySelectorAll(t)).length>0)return Array.from(e)}else if(e.trim&&(e=document.querySelector(e))&&(e=e.querySelectorAll(t)).length>0)return Array.from(e);return null}function u(e){if(e.hidden){if(void 0!==e.__ENO_DISPLAY)return}else e.hidden=!0;e.__ENO_DISPLAY=e.style.display,e.style.display="none"}function o(e){e.hidden&&(e.hidden=!1,void 0!==e.__ENO_DISPLAY&&(e.style.display=e.__ENO_DISPLAY))}function c(e){let t,n,r;for(let l=0;l<e.length;l++){if(t=e[l],t.parentElement!==n)for(n=t.parentElement,r=0;r<n.children.length;r++)t!==n.children[r]&&u(n.children[r]);o(t)}}function s(e,t,n){let r,l,i;for(let f=0;f<e.length;f++){if(r=e[f],r.parentElement!==l)for(l=r.parentElement,i=0;i<l.children.length;i++)r!==l.children[i]&&(l.children[i].classList.remove(t),l.children[i].classList.add(n));r.classList.remove(n),r.classList.add(t)}}function h(e,t,n){}function a(e,t,n){let r=e.getAttribute("name");if(r&&r.length){let l=n(e,t,r);if(void 0!==l)return void(null!==l&&d(t,r,l));e.type?e.disabled||("number"===e.type||"range"===e.type?isNaN(e.valueAsNumber)||d(t,r,e.valueAsNumber):"checkbox"===e.type||"radio"===e.type?e.checked&&d(t,r,e.value):e.value&&d(t,r,e.value)):e.src?d(t,r,e.src):d(t,r,e.innerText)}if(e.childElementCount)for(let r=0;r<e.children.length;r++)a(e.children[r],t,n)}function _(e,t,n){let r=e.getAttribute("name");if(r&&r.length){let l=n(e,t,r);if(void 0===l)l=g(function(e,t){t=t.split(".");for(let n=0;n<t.length&&e;n++)if(Array.isArray(e)){const r=new Array;for(let l=0;l<e.length;l++)e[l]&&r.push(e[l][t[n]]);e=r}else e=e[t[n]];return e}(t,r));else{if(null===l)return;l=g(l)}e.type?"checkbox"===e.type||"radio"===e.type?e.checked=e.value==l:e.value=l:void 0!==e.src?(void 0===e.__ENO_SRC&&(e.__ENO_SRC=e.src),e.src=l,0==e.src.length&&(e.src=e.__ENO_SRC)):(void 0===e.__ENO_TEXT&&(e.__ENO_TEXT=e.innerText,e.__ENO_TITLE=!e.title),e.innerText=l,0==e.innerText.length&&(e.innerText=e.__ENO_TEXT),e.__ENO_TITLE&&(e.title=e.innerText))}if(e.childElementCount)for(let r=0;r<e.children.length;r++)_(e.children[r],t,n)}function d(e,t,n){t=t.split(".");let r=0;for(;r<t.length-1;r++)e=e[t[r]]?e[t[r]]:e[t[r]]={};void 0===e[t=t[r]]?e[t]=n:Array.isArray(e[t])?e[t].push(n):e[t]=[e[t],n]}function g(e){return Array.isArray(e)?e.join(","):null!=e?e.toString():""}return t})()));
|
package/index.js
CHANGED
@@ -21,6 +21,7 @@ export default {
|
|
21
21
|
bind,
|
22
22
|
entity,
|
23
23
|
element,
|
24
|
+
target,
|
24
25
|
|
25
26
|
query
|
26
27
|
}
|
@@ -442,7 +443,11 @@ function toggleClasses(elements, apply, other) {
|
|
442
443
|
}
|
443
444
|
|
444
445
|
// 默认转换函数
|
445
|
-
function defaultConverter(element, entity, name) {
|
446
|
+
function defaultConverter(element, entity, name) {
|
447
|
+
// return 0; 使用返回值
|
448
|
+
// return null; 不执行默认行为
|
449
|
+
// return; undefined 未处理执行默认行为
|
450
|
+
}
|
446
451
|
|
447
452
|
/**
|
448
453
|
* 从指定元素获取值以实体对象返回
|
@@ -694,12 +699,19 @@ function sets(element, selector, entity, converter = defaultConverter) {
|
|
694
699
|
* <i case="AAA"></i>
|
695
700
|
*/
|
696
701
|
function getEntity(element, entity, converter) {
|
697
|
-
let name = element.getAttribute("
|
698
|
-
if (name && name.length) {
|
699
|
-
converter(element, entity, name);
|
700
|
-
}
|
701
|
-
name = element.getAttribute("name");
|
702
|
+
let name = element.getAttribute("name");
|
702
703
|
if (name && name.length) {
|
704
|
+
let value = converter(element, entity, name);
|
705
|
+
if (value !== undefined) {
|
706
|
+
if (value !== null) {
|
707
|
+
// 返回有效值
|
708
|
+
setValue(entity, name, value);
|
709
|
+
}
|
710
|
+
// 阻止默认处理
|
711
|
+
return;
|
712
|
+
}
|
713
|
+
|
714
|
+
// 默认处理
|
703
715
|
if (element.type) {
|
704
716
|
// 所有控件具有type属性
|
705
717
|
// 所有控件具有disabled属性
|
@@ -743,20 +755,30 @@ function getEntity(element, entity, converter) {
|
|
743
755
|
* <i case="AAA"></i>
|
744
756
|
*/
|
745
757
|
function setEntity(element, entity, converter) {
|
746
|
-
let name = element.getAttribute("
|
747
|
-
if (name && name.length) {
|
748
|
-
converter(element, entity, name);
|
749
|
-
}
|
750
|
-
name = element.getAttribute("name");
|
758
|
+
let name = element.getAttribute("name");
|
751
759
|
if (name && name.length) {
|
760
|
+
let value = converter(element, entity, name);
|
761
|
+
if (value === undefined) {
|
762
|
+
// 无未处理,执行默认处理
|
763
|
+
value = text(getValue(entity, name));
|
764
|
+
} else
|
765
|
+
if (value === null) {
|
766
|
+
// 阻断默认处理行为
|
767
|
+
return;
|
768
|
+
} else {
|
769
|
+
// 返回有效值,执行默认处理
|
770
|
+
value = text(value);
|
771
|
+
}
|
772
|
+
|
773
|
+
// 默认处理
|
752
774
|
if (element.type) {
|
753
775
|
// 所有控件具有type属性
|
754
776
|
if (element.type === "checkbox" || element.type === "radio") {
|
755
777
|
// Radio / Check
|
756
|
-
element.checked = element.value ==
|
778
|
+
element.checked = element.value == value;
|
757
779
|
} else {
|
758
780
|
// OTHER
|
759
|
-
element.value =
|
781
|
+
element.value = value;
|
760
782
|
}
|
761
783
|
} else
|
762
784
|
if (element.src !== undefined) {
|
@@ -765,7 +787,7 @@ function setEntity(element, entity, converter) {
|
|
765
787
|
// 记录默认图像
|
766
788
|
element.__ENO_SRC = element.src;
|
767
789
|
}
|
768
|
-
element.src =
|
790
|
+
element.src = value;
|
769
791
|
if (element.src.length == 0) {
|
770
792
|
element.src = element.__ENO_SRC;
|
771
793
|
}
|
@@ -777,7 +799,7 @@ function setEntity(element, entity, converter) {
|
|
777
799
|
// 如果用于已设置title则不在自动设置
|
778
800
|
element.__ENO_TITLE = element.title ? false : true;
|
779
801
|
}
|
780
|
-
element.innerText =
|
802
|
+
element.innerText = value;
|
781
803
|
if (element.innerText.length == 0) {
|
782
804
|
element.innerText = element.__ENO_TEXT;
|
783
805
|
}
|
@@ -966,6 +988,12 @@ function element(e) {
|
|
966
988
|
return null;
|
967
989
|
}
|
968
990
|
|
991
|
+
/**
|
992
|
+
* 获取具有指定属性的事件目标
|
993
|
+
* @param {Event} event
|
994
|
+
* @param {String} name
|
995
|
+
* @param {String} value
|
996
|
+
*/
|
969
997
|
function target(event, name, value) {
|
970
998
|
if (arguments.length == 1) {
|
971
999
|
// target(event);
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@joyzl/eno",
|
3
|
-
"version": "1.2.
|
3
|
+
"version": "1.2.3",
|
4
4
|
"description": "Easy Node Object",
|
5
5
|
"main": "dist/joyzl-eno.js",
|
6
6
|
"module": "index.js",
|
@@ -24,7 +24,7 @@
|
|
24
24
|
"bugs": {
|
25
25
|
"url": "https://github.com/JoyLinks/eno/issues"
|
26
26
|
},
|
27
|
-
"homepage": "
|
27
|
+
"homepage": "http://eno.joyzl.net",
|
28
28
|
"devDependencies": {
|
29
29
|
"webpack": "^5.91.0",
|
30
30
|
"webpack-cli": "^5.1.4"
|