Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
react-vanilla
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Иван Кубота
react-vanilla
Commits
084f3714
Commit
084f3714
authored
Dec 21, 2020
by
Иван Кубота
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mm
parent
26d4900b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
55 deletions
+31
-55
DOM.js
DOM.js
+31
-55
No files found.
DOM.js
View file @
084f3714
...
@@ -59,24 +59,6 @@ NS.apply = function(a,b) {
...
@@ -59,24 +59,6 @@ NS.apply = function(a,b) {
on
:
true
,
renderto
:
true
,
el
:
true
on
:
true
,
renderto
:
true
,
el
:
true
};
};
var
anyTypeClsSetter
=
function
(
el
,
cls
)
{
if
(
typeof
cls
===
'function'
){
cls
(
setters
.
cls
(
el
));
}
else
if
(
typeof
cls
===
'object'
&&
cls
.
hook
){
cls
.
hook
(
setters
.
cls
(
el
));
}
else
if
(
typeof
cls
===
'object'
){
var
resolvedCls
=
Array
.
isArray
(
cls
)?
D
.
cls
.
apply
(
D
,
cls
):
D
.
cls
(
cls
);
if
(
typeof
resolvedCls
===
'function'
){
resolvedCls
(
setters
.
cls
(
el
));
}
else
{
setters
.
cls
(
el
)(
resolvedCls
);
}
}
else
{
setters
.
cls
(
el
)(
cls
);
}
};
// ~jsx h function
// ~jsx h function
var
domEl
=
function
(
type
,
cfg
){
var
domEl
=
function
(
type
,
cfg
){
var
typeOfType
=
typeof
type
;
var
typeOfType
=
typeof
type
;
...
@@ -119,7 +101,21 @@ NS.apply = function(a,b) {
...
@@ -119,7 +101,21 @@ NS.apply = function(a,b) {
}
}
if
(
cls
){
if
(
cls
){
anyTypeClsSetter
(
el
,
cls
);
if
(
typeof
cls
===
'function'
){
cls
(
setters
.
cls
(
el
));
}
else
if
(
typeof
cls
===
'object'
&&
cls
.
hook
){
cls
.
hook
(
setters
.
cls
(
el
));
}
else
if
(
typeof
cls
===
'object'
){
var
resolvedCls
=
Array
.
isArray
(
cls
)?
D
.
cls
.
apply
(
D
,
cls
):
D
.
cls
(
cls
);
if
(
typeof
resolvedCls
===
'function'
){
resolvedCls
(
setters
.
cls
(
el
));
}
else
{
setters
.
cls
(
el
)(
resolvedCls
);
}
}
else
{
setters
.
cls
(
el
)(
cls
);
}
}
}
if
(
style
){
if
(
style
){
...
@@ -235,7 +231,7 @@ NS.apply = function(a,b) {
...
@@ -235,7 +231,7 @@ NS.apply = function(a,b) {
setClassNameSVG
=
function
(
el
,
cls
)
{
setClassNameSVG
=
function
(
el
,
cls
)
{
el
.
setAttribute
(
'class'
,
cls
);
el
.
setAttribute
(
'class'
,
cls
);
};
};
'svg,path,circle,g,defs,marker,ellipse,animateTransform,
linearGradient,mask,rect,stop
'
.
split
(
','
).
forEach
(
function
(
name
){
'svg,path,circle,g,defs,marker,ellipse,animateTransform,
mask,rect
'
.
split
(
','
).
forEach
(
function
(
name
){
customElementCreate
[
name
]
=
createElementSVG
;
customElementCreate
[
name
]
=
createElementSVG
;
customElementClassNameSetter
[
name
]
=
setClassNameSVG
;
customElementClassNameSetter
[
name
]
=
setClassNameSVG
;
D
[
name
]
=
function
(
cfg
){
D
[
name
]
=
function
(
cfg
){
...
@@ -256,8 +252,14 @@ NS.apply = function(a,b) {
...
@@ -256,8 +252,14 @@ NS.apply = function(a,b) {
D
.
ext
=
function
(
el
,
cfg
)
{
D
.
ext
=
function
(
el
,
cfg
)
{
cfg
.
el
=
el
;
cfg
.
el
=
el
;
if
(
cfg
.
cls
){
if
(
el
.
className
&&
cfg
.
cls
){
anyTypeClsSetter
(
el
,
[
el
.
className
,
cfg
.
cls
])
if
(
typeof
cfg
.
cls
===
'string'
){
cfg
.
cls
+=
' '
+
el
.
className
;
}
else
if
(
Array
.
isArray
(
cfg
.
cls
)){
cfg
.
cls
.
push
(
el
.
className
);
}
else
{
debugger
}
}
}
return
D
.
div
(
cfg
);
return
D
.
div
(
cfg
);
}
}
...
@@ -394,12 +396,7 @@ NS.apply = function(a,b) {
...
@@ -394,12 +396,7 @@ NS.apply = function(a,b) {
if
(
!
tmp
||
!
tmp
.
parentNode
)
if
(
!
tmp
||
!
tmp
.
parentNode
)
return
;
return
;
var
isInDOM
=
D
.
isInDOM
(
el
);
isInDOM
&&
D
.
_recursiveCmpCall
(
el
,
fragment
,
'beforeAddToDOM'
);
el
.
insertBefore
(
fragment
,
tmp
);
el
.
insertBefore
(
fragment
,
tmp
);
isInDOM
&&
D
.
_recursiveCmpCall
(
el
,
{
childNodes
:
list
},
'afterAddToDOM'
);
};
};
release
=
subEl
(
hookFn
);
release
=
subEl
(
hookFn
);
isNotFragment
&&
el
.
__un
.
push
(
release
);
isNotFragment
&&
el
.
__un
.
push
(
release
);
...
@@ -540,8 +537,6 @@ NS.apply = function(a,b) {
...
@@ -540,8 +537,6 @@ NS.apply = function(a,b) {
return
construct
;
return
construct
;
};
};
D
.
declare
=
function
(
name
,
ctor
)
{
D
.
declare
=
function
(
name
,
ctor
)
{
name
=
name
.
replace
(
/
[\/\\]
/g
,
'__'
);
var
uses
;
var
uses
;
if
(
typeof
ctor
===
'object'
){
if
(
typeof
ctor
===
'object'
){
var
original
=
ctor
;
var
original
=
ctor
;
...
@@ -564,10 +559,8 @@ NS.apply = function(a,b) {
...
@@ -564,10 +559,8 @@ NS.apply = function(a,b) {
var
u
=
uses
[
i
],
d
=
u
.
dom
;
var
u
=
uses
[
i
],
d
=
u
.
dom
;
u
.
dom
=
_construct
(
ctor
,
u
.
cfg
,
u
.
p
);
u
.
dom
=
_construct
(
ctor
,
u
.
cfg
,
u
.
p
);
d
.
dom
&&
(
d
=
d
.
dom
);
d
.
dom
&&
(
d
=
d
.
dom
);
!
Array
.
isArray
(
d
)
&&
(
d
=
[
d
]);
if
(
d
.
parentNode
){
if
(
d
.
length
&&
d
[
0
].
parentNode
){
var
dParent
=
d
.
parentNode
,
var
dParent
=
d
[
0
].
parentNode
,
isInDOM
=
D
.
isInDOM
(
dParent
),
isInDOM
=
D
.
isInDOM
(
dParent
),
newChild
=
u
.
dom
;
newChild
=
u
.
dom
;
...
@@ -576,28 +569,11 @@ NS.apply = function(a,b) {
...
@@ -576,28 +569,11 @@ NS.apply = function(a,b) {
newChild
.
__cmp
=
u
.
dom
;
newChild
.
__cmp
=
u
.
dom
;
}
}
for
(
var
j
=
0
,
_j
=
d
.
length
-
1
;
j
<
_j
;
j
++
){
isInDOM
&&
D
.
_recursiveCmpCall
(
dParent
,
d
,
'beforeRemoveFromDOM'
);
isInDOM
&&
D
.
_recursiveCmpCall
(
dParent
,
d
[
j
],
'beforeRemoveFromDOM'
);
isInDOM
&&
D
.
_recursiveCmpCall
(
dParent
,
newChild
,
'beforeAddToDOM'
);
dParent
.
removeChild
(
d
[
j
]
)
d
.
parentNode
.
replaceChild
(
newChild
,
d
)
}
isInDOM
&&
D
.
_recursiveCmpCall
(
dParent
,
d
,
'afterRemoveFromDOM'
);
isInDOM
&&
D
.
_recursiveCmpCall
(
dParent
,
newChild
,
'afterAddToDOM'
);
var
lastEl
=
d
[
j
];
isInDOM
&&
D
.
_recursiveCmpCall
(
dParent
,
lastEl
,
'beforeRemoveFromDOM'
);
var
fragment
=
document
.
createDocumentFragment
();
for
(
var
j
=
0
,
_j
=
newChild
.
length
;
j
<
_j
;
j
++
){
isInDOM
&&
D
.
_recursiveCmpCall
(
dParent
,
newChild
[
j
],
'beforeAddToDOM'
);
fragment
.
appendChild
(
newChild
[
j
])
}
dParent
.
replaceChild
(
fragment
,
lastEl
)
if
(
isInDOM
){
for
(
var
j
=
0
,
_j
=
d
.
length
;
j
<
_j
;
j
++
){
D
.
_recursiveCmpCall
(
dParent
,
d
[
j
],
'afterRemoveFromDOM'
);
}
for
(
var
j
=
0
,
_j
=
newChild
.
length
;
j
<
_j
;
j
++
){
D
.
_recursiveCmpCall
(
dParent
,
newChild
[
j
],
'afterAddToDOM'
);
}
}
}
}
}
}
}
else
{
}
else
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment