0.0.4 • Published 3 years ago
nv-browser-ele-pool v0.0.4
nv-browser-ele-pool
- nv-browser-ele-pool
- element pool, used in browser
install
- npm install nv-browser-ele-pool
usage
<script src="nv-bw-ele-pool.js"></script>
const {
creat_pool,
EleCfg,
get_tagname_from_cls
} = elepool;
//cfg:EleCfg
{
size: 100000
is_custom: true
tag: "ele-",
Pcls:HTMLElement
}
var pool = creat_pool({size:10000})
example
custom element
var pool = creat_pool({size:10000,tag:"my-ele"})
var el0 = pool.createElement()
el0
> <my-ele></my-ele>
el0.pool_
> Pool {#ctrl: 0, #cache: Array(10000), #is_inuse: ƒ, #init_func: ƒ, #rtrn_func: ƒ, …}
el0.id_
> 0
pool.used_
>1
pool.lefted_
>99999
el0.rtrn_self() //return the element,such as when you disconnect it from document flow
pool.used_
>0
el0.id_
>-1
built-in element
var pool = creat_pool({size:10000,Pcls:HTMLDivElement,is_custom:false})
var el0 = pool.createElement()
>
<div></div>
el0.pool_
> Pool {#ctrl: 0, #cache: Array(10000), #is_inuse: ƒ, #init_func: ƒ, #rtrn_func: ƒ, …}
el0.id_
> 0
pool.used_
>1
pool.lefted_
>99999
el0.rtrn_self() //return the element,such as when you disconnect it from document flow
pool.used_
>0
el0.id_
>-1
Customized built-in element
var pool = creat_pool({size:10000,tag:'my-btn',Pcls:HTMLButtonElement,is_custom:true})
var el0 = pool.createElement()
> <my-btn></my-btn>
el0.pool_
> Pool {#ctrl: 0, #cache: Array(10000), #is_inuse: ƒ, #init_func: ƒ, #rtrn_func: ƒ, …}
el0.id_
> 0
pool.used_
>1
pool.lefted_
>99999
el0.rtrn_self() //return the element,such as when you disconnect it from document flow
pool.used_
>0
el0.id_
>-1
METHODS
pool
pool.createElement()
pool.size_
pool.used_
pool.lefted_
Element
ele.pool_
ele.id_
ele.rtrn_self() //return the element to pool
API
example
elepool.get_tagname_from_cls(HTMLButtonElement)
> "button"
LICENSE
- ISC