Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
ecommerce-ui
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
ecommerce-ui
Commits
a2240e9b
Commit
a2240e9b
authored
Apr 24, 2014
by
Sven Franck
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
app: fixed update of gadgets, allow elements to persist (will not be removed)
parent
2849dc8b
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
27 additions
and
7 deletions
+27
-7
js/erp5_loader.js
js/erp5_loader.js
+27
-7
No files found.
js/erp5_loader.js
View file @
a2240e9b
...
...
@@ -1055,7 +1055,10 @@
"
data-enhanced
"
:
"
true
"
,
"
data-type
"
:
direction
},
"
logic
"
:
{
"
id
"
:
spec
.
id
||
null
}
"
logic
"
:
{
"
id
"
:
spec
.
id
||
null
,
"
data-persist
"
:
spec
.
persist
||
null
}
});
// controls
...
...
@@ -1341,8 +1344,8 @@
"
direct
"
:
{
"
className
"
:
class_list
},
"
attributes
"
:
{},
"
logic
"
:
{
"
data-persist
"
:
spec
.
persist
||
null
,
"
data-wrap
"
:
slot
?
null
:
true
,
"
data-slot
"
:
slot
?
true
:
null
,
"
data-slot-id
"
:
slot
||
null
,
...
...
@@ -6628,21 +6631,36 @@
// only for dynamic content
if
(
!
pass
.
skip
&&
!
quirk_dict
.
no_content
)
{
// UPDATES
// UPDATES
- same %&/( as above
if
(
quirk_dict
.
update
)
{
selector
=
pass
.
state
.
gadget
;
update_target
=
selector
.
querySelector
(
"
[data-update]
"
);
// dump
update_target
=
widget
.
querySelector
(
"
[data-update]
"
)
||
widget
.
getElementsByTagName
(
"
form
"
)[
0
];
// TODO: generic method!
// TODO: or inherit reference to controlgroup without being child of form?
// rescue persistent elements from dump
detach
=
document
.
createDocumentFragment
();
child_list
=
update_target
.
children
;
for
(
m
=
0
,
len
=
child_list
.
length
;
m
<
len
;
m
+=
1
)
{
last_child
=
child_list
[
m
];
if
(
last_child
.
getAttribute
(
"
data-persist
"
))
{
detach
.
appendChild
(
last_child
.
cloneNode
(
true
));
}
}
// clear
while
(
update_target
.
hasChildNodes
())
{
update_target
.
removeChild
(
update_target
.
lastChild
);
}
//a
nd add new dynamic content
//a
dd new dynamic content and detached elements
update_target
.
appendChild
(
wrapper
.
fragment
);
update_target
.
appendChild
(
detach
);
// CREATE
}
else
{
selector
=
wrapper
.
fragment
.
firstElementChild
||
wrapper
.
fragment
;
// wrapped dyno
// TODO: find way to dig down into tree
if
(
util
.
testForString
(
"
dyno
"
,
selector
.
className
)
===
false
)
{
...
...
@@ -6657,6 +6675,8 @@
}
// if a callback is provided, set it on state
// TODO: once containers work, submit_to should change the container
// vs the whole page?
if
(
pass
.
config_dict
.
property_dict
.
submit_to
)
{
pass
.
state
.
callback
=
pass
.
config_dict
.
property_dict
.
submit_to
;
}
...
...
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