Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Roque
erp5
Commits
0c945082
Commit
0c945082
authored
Aug 09, 2021
by
Gabriel Monnerat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
erp5_web_renderjs_ui: use more domsugar API instead of appendChild from DOM API
parent
ffdc1a45
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
248 additions
and
232 deletions
+248
-232
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_html.html
...ateItem/web_page_module/rjs_gadget_erp5_listbox_html.html
+1
-0
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_html.xml
...lateItem/web_page_module/rjs_gadget_erp5_listbox_html.xml
+3
-3
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_js.js
...emplateItem/web_page_module/rjs_gadget_erp5_listbox_js.js
+242
-227
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_js.xml
...mplateItem/web_page_module/rjs_gadget_erp5_listbox_js.xml
+2
-2
No files found.
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_html.html
View file @
0c945082
...
...
@@ -23,6 +23,7 @@
<link
rel=
"http://www.renderjs.org/rel/interface"
href=
"interface_erp5_form_content_provider.html"
>
<!-- renderjs -->
<script
src=
"domsugar.js"
type=
"text/javascript"
></script>
<script
src=
"rsvp.js"
type=
"text/javascript"
></script>
<script
src=
"renderjs.js"
type=
"text/javascript"
></script>
<script
src=
"jiodev.js"
type=
"text/javascript"
></script>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_html.xml
View file @
0c945082
...
...
@@ -224,7 +224,7 @@
</item>
<item>
<key>
<string>
actor
</string>
</key>
<value>
<string>
georg
e
</string>
</value>
<value>
<string>
zop
e
</string>
</value>
</item>
<item>
<key>
<string>
comment
</string>
</key>
...
...
@@ -238,7 +238,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
9
86.65426.46809.56012
</string>
</value>
<value>
<string>
9
93.55171.44758.6877
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -256,7 +256,7 @@
</tuple>
<state>
<tuple>
<float>
16
01544175.96
</float>
<float>
16
28545474.29
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_js.js
View file @
0c945082
/*jslint indent: 2, maxerr: 3, nomen: true */
/*global window, document, rJS, URI, RSVP, isEmpty, console*/
(
function
(
window
,
document
,
rJS
,
URI
,
RSVP
,
isEmpty
,
console
)
{
/*global window, document, rJS, URI, RSVP, isEmpty, console
, domsugar
*/
(
function
(
window
,
document
,
rJS
,
URI
,
RSVP
,
isEmpty
,
console
,
domsugar
)
{
"
use strict
"
;
var
variable
=
{},
...
...
@@ -85,102 +85,118 @@
{{/each}}
</tbody>
*/
var
tbody_element
=
document
.
createElement
(
'
tbody
'
),
i
,
var
i
,
j
,
row
,
cell
,
tr_element
,
td_element
,
element_data
,
sub_element
,
a_element
;
a_element
,
sub_element_list
,
td_element_list
,
tr_element_list
=
[];
for
(
i
=
0
;
i
<
options
.
row_list
.
length
;
i
+=
1
)
{
t
r_element
=
document
.
createElement
(
'
tr
'
)
;
t
d_element_list
=
[]
;
row
=
options
.
row_list
[
i
];
if
(
options
.
show_anchor
)
{
td_element
=
document
.
createElement
(
'
td
'
);
sub_element
=
document
.
createElement
(
'
a
'
);
sub_element
.
setAttribute
(
'
class
'
,
'
ui-icon-carat-r ui-btn-icon-notext
'
);
sub_element
.
href
=
row
.
jump
;
sub_element
.
textContent
=
'
'
;
td_element
.
appendChild
(
sub_element
);
tr_element
.
appendChild
(
td_element
);
td_element
_list
.
push
(
domsugar
(
'
td
'
,
[
domsugar
(
'
a
'
,
{
"
class
"
:
'
ui-icon-carat-r ui-btn-icon-notext
'
,
"
href
"
:
row
.
jump
,
"
text
"
:
'
'
})
])
);
}
for
(
j
=
0
;
j
<
row
.
cell_list
.
length
;
j
+=
1
)
{
cell
=
row
.
cell_list
[
j
];
td_element
=
document
.
createElement
(
'
td
'
)
;
sub_element_list
=
[]
;
if
(
options
.
show_line_selector
||
(
options
.
form_id
===
'
form_dialog
'
&&
options
.
show_select
))
{
if
(
j
===
0
)
{
// If first cell, show a checkbox to select the line
sub_element
=
document
.
createElement
(
'
input
'
);
sub_element
.
setAttribute
(
'
data-uid
'
,
row
.
uid
);
sub_element
.
setAttribute
(
'
type
'
,
'
checkbox
'
);
sub_element
.
setAttribute
(
'
class
'
,
'
hide_element
'
);
sub_element
.
setAttribute
(
'
id
'
,
'
listbox_line_
'
+
row
.
uid
)
;
element_data
=
{
"
data-uid
"
:
row
.
uid
,
"
type
"
:
"
checkbox
"
,
"
class
"
:
"
hide_element
"
,
"
id
"
:
'
listbox_line_
'
+
row
.
uid
}
;
if
(
row
.
checked
)
{
sub_element
.
setAttribute
(
'
checked
'
,
'
checked
'
)
;
element_data
.
checked
=
'
checked
'
;
}
td_element
.
appendChild
(
sub_element
);
// If first cell, show a checkbox to select the line
sub_element_list
.
push
(
domsugar
(
'
input
'
,
element_data
));
}
element_data
=
{
"
for
"
:
'
listbox_line_
'
+
row
.
uid
};
// Create a label, to update the checkbox when clicking the text
sub_element
=
document
.
createElement
(
'
label
'
);
sub_element
.
setAttribute
(
'
for
'
,
'
listbox_line_
'
+
row
.
uid
);
if
(
cell
.
type
)
{
sub_element
.
setAttribute
(
'
class
'
,
'
editable_div
'
)
;
sub_element
.
setAttribute
(
'
data-column
'
,
cell
.
column
)
;
sub_element
.
setAttribute
(
'
data-line
'
,
cell
.
line
)
;
element_data
[
"
class
"
]
=
'
editable_div
'
;
element_data
[
'
data-column
'
]
=
cell
.
column
;
element_data
[
'
data-line
'
]
=
cell
.
line
;
}
else
{
sub_element
.
textContent
=
cell
.
default
;
element_data
.
text
=
cell
[
"
default
"
]
;
}
td_element
.
appendChild
(
sub_element
);
sub_element_list
.
push
(
domsugar
(
'
label
'
,
element_data
)
);
}
else
{
if
(
cell
.
type
)
{
sub_element
=
document
.
createElement
(
'
div
'
);
sub_element
.
setAttribute
(
'
class
'
,
'
editable_div
'
);
sub_element
.
setAttribute
(
'
data-column
'
,
cell
.
column
);
sub_element
.
setAttribute
(
'
data-line
'
,
cell
.
line
);
sub_element
=
domsugar
(
'
div
'
,
{
'
class
'
:
'
editable_div
'
,
'
data-column
'
:
cell
.
column
,
'
data-line
'
:
cell
.
line
});
if
(
cell
.
editable
||
!
cell
.
href
)
{
td_element
.
appendChild
(
sub_element
);
sub_element_list
.
push
(
sub_element
);
}
else
{
a_element
=
do
cument
.
createElement
(
'
a
'
);
a_element
.
href
=
cell
.
href
;
a_element
.
appendChild
(
sub_element
);
td_element
.
appendChild
(
a_element
);
a_element
=
do
msugar
(
'
a
'
,
{
"
href
"
:
cell
.
href
},
[
sub_element
]
);
sub_element_list
.
push
(
a_element
);
}
}
else
{
if
(
cell
.
href
)
{
sub_element
=
document
.
createElement
(
'
a
'
);
sub_element
.
href
=
cell
.
href
;
sub_element
=
domsugar
(
'
a
'
,
{
"
href
"
:
cell
.
href
,
"
text
"
:
cell
[
"
default
"
]
});
}
else
{
sub_element
=
document
.
createElement
(
'
p
'
);
sub_element
=
domsugar
(
'
p
'
,
{
"
text
"
:
cell
[
"
default
"
]
});
}
sub_element
.
textContent
=
cell
.
default
;
td_element
.
appendChild
(
sub_element
);
sub_element_list
.
push
(
sub_element
);
}
}
tr_element
.
appendChild
(
td_element
);
td_element_list
.
push
(
domsugar
(
'
td
'
,
sub_element_list
)
);
}
if
(
row
.
line_icon
)
{
td_element
=
document
.
createElement
(
'
td
'
);
sub_element
=
document
.
createElement
(
'
a
'
);
sub_element
.
setAttribute
(
'
class
'
,
'
ui-btn-icon-right ui-icon-sign-in
'
);
sub_element
.
href
=
row
.
jump
;
td_element
.
appendChild
(
sub_element
);
tr_element
.
appendChild
(
td_element
);
td_element_list
.
push
(
domsugar
(
'
td
'
,
[
domsugar
(
'
a
'
,
{
'
class
'
:
'
ui-btn-icon-right ui-icon-sign-in
'
,
'
href
'
:
row
.
jump
})
])
);
}
tbody_element
.
appendChild
(
tr_element
);
tr_element_list
.
push
(
domsugar
(
'
tr
'
,
td_element_list
)
);
}
return
tbody_element
;
return
domsugar
(
'
tbody
'
,
tr_element_list
)
;
}
function
listbox_tfoot_template
(
options
)
{
...
...
@@ -212,43 +228,55 @@
{{/each}}
</tfoot>
*/
var
tfoot_element
=
document
.
createElement
(
'
tfoot
'
),
i
,
var
i
,
j
,
row
,
cell
,
tr_element
,
td_element
,
div_element
;
sub_element_list
,
tfoot_element_list
=
[],
div_element
,
td_element_list
,
td_data
;
for
(
i
=
0
;
i
<
options
.
row_list
.
length
;
i
+=
1
)
{
tr_element
=
document
.
createElement
(
'
tr
'
);
td_element_list
=
[];
if
(
options
.
show_anchor
)
{
td_element
=
document
.
createElement
(
'
td
'
);
td_element
.
textContent
=
'
Total
'
;
tr_element
.
appendChild
(
td_element
);
td_element_list
.
push
(
domsugar
(
'
td
'
,
{
"
text
"
:
'
Total
'
})
);
}
row
=
options
.
row_list
[
i
];
for
(
j
=
0
;
j
<
row
.
cell_list
.
length
;
j
+=
1
)
{
sub_element_list
=
[];
td_data
=
{};
cell
=
row
.
cell_list
[
j
];
td_element
=
document
.
createElement
(
'
td
'
);
if
(
cell
.
type
)
{
div_element
=
document
.
createElement
(
'
div
'
);
div_element
.
setAttribute
(
'
class
'
,
'
editable_div
'
);
div_element
.
setAttribute
(
'
data-column
'
,
cell
.
column
);
div_element
.
setAttribute
(
'
data-line
'
,
cell
.
line
);
td_element
.
appendChild
(
div_element
);
div_element
=
domsugar
(
'
div
'
,
{
'
class
'
:
'
editable_div
'
,
'
data-column
'
:
cell
.
column
,
'
data-line
'
:
cell
.
line
});
sub_element_list
.
push
(
div_element
);
}
else
{
if
(
cell
.
default
)
{
td_
element
.
textContent
=
cell
.
default
;
if
(
cell
[
"
default
"
]
)
{
td_
data
.
text
=
cell
[
"
default
"
]
;
}
else
if
((
!
options
.
show_anchor
)
&&
(
j
===
0
))
{
td_
element
.
textConten
t
=
'
Total
'
;
td_
data
.
tex
t
=
'
Total
'
;
}
}
tr_element
.
appendChild
(
td_element
);
td_element_list
.
push
(
domsugar
(
'
td
'
,
td_data
,
sub_element_list
)
);
}
tfoot_element
.
appendChild
(
tr_element
);
tfoot_element_list
.
push
(
domsugar
(
'
tr
'
,
td_element_list
)
);
}
return
tfoot_element
;
return
domsugar
(
'
tfoot
'
,
tfoot_element_list
)
;
}
function
renderSubField
(
gadget
,
element
,
sub_field_json
)
{
...
...
@@ -582,30 +610,20 @@
</a>
</div>
*/
var
container
=
gadget
.
element
.
querySelector
(
"
.document_table
"
),
div_element
=
document
.
createElement
(
'
div
'
),
a_element
=
document
.
createElement
(
'
a
'
),
span_element
;
a_element
.
href
=
result_list
[
0
];
span_element
=
document
.
createElement
(
'
span
'
);
span_element
.
setAttribute
(
'
class
'
,
'
ui-info-error
'
);
span_element
.
textContent
=
result_list
[
1
][
0
];
a_element
.
appendChild
(
span_element
);
span_element
=
document
.
createElement
(
'
span
'
);
span_element
.
textContent
=
'
-
'
;
a_element
.
appendChild
(
span_element
);
span_element
=
document
.
createElement
(
'
span
'
);
span_element
.
textContent
=
result_list
[
1
][
1
];
a_element
.
appendChild
(
span_element
);
div_element
.
appendChild
(
a_element
);
while
(
container
.
firstChild
)
{
container
.
removeChild
(
container
.
firstChild
);
}
container
.
appendChild
(
div_element
);
return
domsugar
(
gadget
.
element
.
querySelector
(
"
.document_table
"
),
[
domsugar
(
'
div
'
,
[
domsugar
(
'
a
'
,
{
"
href
"
:
result_list
[
0
]
},
[
domsugar
(
'
span
'
,
{
'
class
'
:
'
ui-info-error
'
,
'
text
'
:
result_list
[
1
][
0
]
}),
domsugar
(
'
span
'
,
{
"
text
"
:
'
-
'
}),
domsugar
(
'
span
'
,
{
"
text
"
:
result_list
[
1
][
1
]})
])
])
]);
});
}
...
...
@@ -707,139 +725,142 @@
url_for_index
=
0
,
column
,
current_sort
,
fragment
=
document
.
createDocumentFragment
(),
div_element
=
document
.
createElement
(
'
div
'
),
table_element
=
document
.
createElement
(
'
table
'
),
button_element
,
h1_element
=
document
.
createElement
(
'
h1
'
),
span_element
=
document
.
createElement
(
'
span
'
),
div_element_list
=
[
domsugar
(
'
h1
'
,
{
// For an unknown reason, the title used to be translated previously,
// which is unexpected, as the value can't be hardcoded in the gadget
// <h1>{{title}} <span class="listboxloader ui-icon-spinner ui-btn-icon-left"></span></h1>
"
text
"
:
gadget
.
state
.
title
+
'
'
},
[
domsugar
(
'
span
'
,
{
"
class
"
:
'
listboxloader ui-icon-spinner ui-btn-icon-left
'
})
])
],
table_element
=
domsugar
(
'
table
'
,
[
domsugar
(
"
thead
"
,
{
"
class
"
:
"
thead
"
},
[
domsugar
(
"
tr
"
)
]),
domsugar
(
"
tbody
"
),
domsugar
(
"
tfoot
"
)
]),
th_element_list
=
[],
tr_element
,
th_element
,
a_element
;
div_element
.
setAttribute
(
'
class
'
,
'
ui-table-header ui-header
'
);
// For an unknown reason, the title used to be translated previously,
// which is unexpected, as the value can't be hardcoded in the gadget
// <h1>{{title}} <span class="listboxloader ui-icon-spinner ui-btn-icon-left"></span></h1>
h1_element
.
textContent
=
gadget
.
state
.
title
+
'
'
;
span_element
.
setAttribute
(
'
class
'
,
'
listboxloader ui-icon-spinner ui-btn-icon-left
'
);
h1_element
.
appendChild
(
span_element
);
div_element
.
appendChild
(
h1_element
);
th_element
;
if
(
gadget
.
state
.
show_select_action
)
{
for
(
k
=
0
;
k
<
select_option_list
.
length
;
k
+=
1
)
{
// Add include button
// <button data-rel="hide" data-i18n="Include" name="IncludeRows" type="button" class="ui-icon-eye ui-btn-icon-left {{hide_class}}"></button>
button_element
=
document
.
createElement
(
'
button
'
);
button_element
.
setAttribute
(
'
data-rel
'
,
'
hide
'
);
button_element
.
setAttribute
(
'
data-select-action
'
,
select_option_list
[
k
].
action
);
button_element
.
setAttribute
(
'
name
'
,
'
SelectAction
'
);
button_element
.
type
=
'
button
'
;
button_element
.
setAttribute
(
'
class
'
,
'
ui-icon-
'
+
select_option_list
[
k
].
icon
+
'
ui-btn-icon-left
'
);
button_element
.
textContent
=
select_option_list
[
k
].
title
;
div_element
.
appendChild
(
button_element
);
div_element_list
.
push
(
domsugar
(
'
button
'
,
{
'
data-rel
'
:
'
hide
'
,
'
data-select-action
'
:
select_option_list
[
k
].
action
,
'
name
'
:
'
SelectAction
'
,
'
type
'
:
'
button
'
,
'
class
'
:
'
ui-icon-
'
+
select_option_list
[
k
].
icon
+
'
ui-btn-icon-left
'
,
'
text
'
:
select_option_list
[
k
].
title
})
);
}
// Add cancel button
// <button data-rel="cancel" data-i18n="Cancel" name="ExcludeRows" type="button" class="ui-icon-times ui-btn-icon-left {{hide_class}}"></button>
button_element
=
document
.
createElement
(
'
button
'
);
button_element
.
setAttribute
(
'
data-rel
'
,
'
hide
'
);
button_element
.
setAttribute
(
'
name
'
,
'
CancelSelect
'
);
button_element
.
type
=
'
button
'
;
button_element
.
setAttribute
(
'
class
'
,
'
ui-icon-times ui-btn-icon-left
'
);
button_element
.
textContent
=
translation_list
[
4
];
div_element
.
appendChild
(
button_element
);
div_element_list
.
push
(
domsugar
(
'
button
'
,
{
'
data-rel
'
:
'
hide
'
,
'
name
'
:
'
CancelSelect
'
,
'
type
'
:
'
button
'
,
'
class
'
:
'
ui-icon-times ui-btn-icon-left
'
,
'
text
'
:
translation_list
[
4
]
})
);
}
else
if
(
gadget
.
state
.
show_clipboard_action
)
{
for
(
k
=
0
;
k
<
select_option_list
.
length
;
k
+=
1
)
{
// Add include button
// <button data-rel="hide" data-i18n="Include" name="IncludeRows" type="button" class="ui-icon-eye ui-btn-icon-left {{hide_class}}"></button>
button_element
=
document
.
createElement
(
'
button
'
);
button_element
.
setAttribute
(
'
data-rel
'
,
'
clipboard
'
);
button_element
.
setAttribute
(
'
data-clipboard-action
'
,
select_option_list
[
k
].
action
);
button_element
.
setAttribute
(
'
name
'
,
'
ClipboardAction
'
);
button_element
.
type
=
'
button
'
;
button_element
.
setAttribute
(
'
class
'
,
'
ui-icon-
'
+
select_option_list
[
k
].
icon
+
'
ui-btn-icon-left
'
);
button_element
.
textContent
=
select_option_list
[
k
].
title
;
div_element
.
appendChild
(
button_element
);
div_element_list
.
push
(
domsugar
(
'
button
'
,
{
'
data-rel
'
:
'
clipboard
'
,
'
data-clipboard-action
'
:
select_option_list
[
k
].
action
,
'
name
'
:
'
ClipboardAction
'
,
'
type
'
:
'
button
'
,
'
class
'
:
'
ui-icon-
'
+
select_option_list
[
k
].
icon
+
'
ui-btn-icon-left
'
,
'
text
'
:
select_option_list
[
k
].
title
})
);
}
// Add cancel button
// <button data-rel="cancel" data-i18n="Cancel" name="ExcludeRows" type="button" class="ui-icon-times ui-btn-icon-left {{hide_class}}"></button>
button_element
=
document
.
createElement
(
'
button
'
);
button_element
.
setAttribute
(
'
data-rel
'
,
'
hide
'
);
button_element
.
setAttribute
(
'
name
'
,
'
CancelSelect
'
);
button_element
.
type
=
'
button
'
;
button_element
.
setAttribute
(
'
class
'
,
'
ui-icon-times ui-btn-icon-left
'
);
button_element
.
textContent
=
translation_list
[
4
];
div_element
.
appendChild
(
button_element
);
div_element_list
.
push
(
domsugar
(
'
button
'
,
{
'
data-rel
'
:
'
hide
'
,
'
name
'
:
'
CancelSelect
'
,
'
type
'
:
'
button
'
,
'
class
'
:
'
ui-icon-times ui-btn-icon-left
'
,
'
text
'
:
translation_list
[
4
]
})
);
}
else
{
// Add Configure button
// <button {{disabled}} data-rel="configure_columns" data-i18n="Configure" name="Configure" type="button" class="ui-icon-wrench ui-btn-icon-left {{configure_class}}"></button>
button_element
=
document
.
createElement
(
'
button
'
);
button_element
.
disabled
=
gadget
.
state
.
disabled
;
button_element
.
setAttribute
(
'
data-rel
'
,
'
configure_columns
'
);
button_element
.
setAttribute
(
'
name
'
,
'
Configure
'
);
button_element
.
type
=
'
button
'
;
button_element
.
setAttribute
(
'
class
'
,
'
ui-icon-wrench ui-btn-icon-left
'
+
gadget
.
state
.
configure_class
);
button_element
.
textContent
=
translation_list
[
2
];
div_element
.
appendChild
(
button_element
);
div_element_list
.
push
(
domsugar
(
'
button
'
,
{
'
disabled
'
:
gadget
.
state
.
disabled
,
'
data-rel
'
:
'
configure_columns
'
,
'
name
'
:
'
Configure
'
,
'
type
'
:
'
button
'
,
'
class
'
:
'
ui-icon-wrench ui-btn-icon-left
'
+
gadget
.
state
.
configure_class
,
'
text
'
:
translation_list
[
2
]
})
);
// Add Sort button
// <button {{disabled}} data-rel="Sort" data-i18n="Sort" name="Sort" type="button" class="ui-icon-sort-amount-desc ui-btn-icon-left {{sort_class}}"></button>
button_element
=
document
.
createElement
(
'
button
'
);
button_element
.
disabled
=
gadget
.
state
.
disabled
;
button_element
.
setAttribute
(
'
data-rel
'
,
'
Sort
'
);
button_element
.
setAttribute
(
'
name
'
,
'
Sort
'
);
button_element
.
type
=
'
button
'
;
button_element
.
setAttribute
(
'
class
'
,
'
ui-icon-sort-amount-desc ui-btn-icon-left
'
+
gadget
.
state
.
sort_class
);
button_element
.
textContent
=
translation_list
[
3
];
div_element
.
appendChild
(
button_element
);
div_element_list
.
push
(
domsugar
(
'
button
'
,
{
'
disabled
'
:
gadget
.
state
.
disabled
,
'
data-rel
'
:
'
Sort
'
,
'
name
'
:
'
Sort
'
,
'
type
'
:
'
button
'
,
'
class
'
:
'
ui-icon-sort-amount-desc ui-btn-icon-left
'
+
gadget
.
state
.
sort_class
,
'
text
'
:
translation_list
[
3
]
})
);
// Add Do button
// <button {{disabled}} data-rel="hide" data-i18n="Select" name="Hide" type="button" class="ui-icon-check-square-o ui-btn-icon-left {{hide_class}}"></button>
button_element
=
document
.
createElement
(
'
button
'
);
button_element
.
setAttribute
(
'
data-rel
'
,
'
clipboard
'
);
button_element
.
setAttribute
(
'
name
'
,
'
Clipboard
'
);
button_element
.
type
=
'
button
'
;
button_element
.
setAttribute
(
'
class
'
,
'
ui-icon-list-ul ui-btn-icon-left
'
);
button_element
.
textContent
=
translation_list
[
5
];
div_element
.
appendChild
(
button_element
);
div_element_list
.
push
(
domsugar
(
'
button
'
,
{
'
disabled
'
:
gadget
.
state
.
disabled
,
'
data-rel
'
:
'
clipboard
'
,
'
name
'
:
'
Clipboard
'
,
'
type
'
:
'
button
'
,
'
class
'
:
'
ui-icon-list-ul ui-btn-icon-left
'
,
'
text
'
:
translation_list
[
5
]
}));
// Add Select button
// <button {{disabled}} data-rel="hide" data-i18n="Select" name="Hide" type="button" class="ui-icon-check-square-o ui-btn-icon-left {{hide_class}}"></button>
button_element
=
document
.
createElement
(
'
button
'
);
button_element
.
disabled
=
gadget
.
state
.
disabled
;
button_element
.
setAttribute
(
'
data-rel
'
,
'
hide
'
);
button_element
.
setAttribute
(
'
name
'
,
'
Hide
'
);
button_element
.
type
=
'
button
'
;
button_element
.
setAttribute
(
'
class
'
,
'
ui-icon-check-square-o ui-btn-icon-left
'
+
gadget
.
state
.
hide_class
);
button_element
.
textContent
=
translation_list
[
1
];
div_element
.
appendChild
(
button_element
);
div_element_list
.
push
(
domsugar
(
'
button
'
,
{
'
disabled
'
:
gadget
.
state
.
disabled
,
'
data-rel
'
:
'
hide
'
,
'
name
'
:
'
Hide
'
,
'
type
'
:
'
button
'
,
'
class
'
:
'
ui-icon-check-square-o ui-btn-icon-left
'
+
gadget
.
state
.
hide_class
,
'
text
'
:
translation_list
[
1
]
})
);
}
fragment
.
appendChild
(
div_element
);
table_element
.
innerHTML
=
'
<thead class="thead"><tr></tr></thead><tbody></tbody><tfoot></tfoot>
'
;
tr_element
=
table_element
.
querySelector
(
'
tr
'
);
if
(
gadget
.
state
.
show_anchor
)
{
th_element
=
document
.
createElement
(
'
th
'
);
th_element
.
textContent
=
translation_list
[
0
];
tr_element
.
appendChild
(
th_element
);
th_element_list
.
push
(
domsugar
(
'
th
'
,
{
"
text
"
:
translation_list
[
0
]
})
);
}
for
(
k
=
0
;
k
<
column_list
.
length
;
k
+=
1
)
{
column
=
column_list
[
k
];
th_element
=
do
cument
.
createElement
(
'
th
'
);
th_element
=
do
msugar
(
'
th
'
);
current_sort
=
sort_list
.
find
(
hasSameFirstItem
(
column
));
if
(
current_sort
!==
undefined
)
{
if
(
current_sort
[
1
]
===
'
ascending
'
)
{
th_element
.
setAttribute
(
'
class
'
,
"
ui-icon
ui-icon-sort-amount-asc
"
);
th_element
.
classList
.
add
(
"
ui-icon
"
,
"
ui-icon-sort-amount-asc
"
);
}
else
if
(
current_sort
[
1
]
===
'
descending
'
)
{
th_element
.
setAttribute
(
'
class
'
,
"
ui-icon
ui-icon-sort-amount-desc
"
);
th_element
.
classList
.
add
(
"
ui-icon
"
,
"
ui-icon-sort-amount-desc
"
);
}
}
...
...
@@ -850,33 +871,34 @@
if
(
is_sortable_list
[
k
])
{
// <th class="{{class_value}}"><a href="{{sort_link}}">{{text}}</a></th>
a_element
=
document
.
createElement
(
'
a
'
);
a_element
.
textContent
=
column
[
1
];
a_element
.
href
=
url_for_list
[
url_for_index
];
th_element
.
appendChild
(
a_element
);
domsugar
(
th_element
,
[
domsugar
(
'
a
'
,
{
"
text
"
:
column
[
1
],
"
href
"
:
url_for_list
[
url_for_index
]
})
]);
url_for_index
+=
1
;
}
else
{
// <th class="{{class_value}}">{{text}}</th>
th_element
.
textContent
=
column
[
1
];
}
}
tr_element
.
appendChild
(
th_element
);
th_element_list
.
push
(
th_element
);
}
if
(
gadget
.
state
.
line_icon
)
{
th_element
=
document
.
createElement
(
'
th
'
);
tr_element
.
appendChild
(
th_element
);
th_element_list
.
push
(
domsugar
(
'
th
'
));
}
fragment
.
appendChild
(
table_elemen
t
);
domsugar
(
table_element
.
querySelector
(
'
tr
'
),
th_element_lis
t
);
fragment
.
appendChild
(
document
.
createElement
(
'
nav
'
));
while
(
container
.
firstChild
)
{
container
.
removeChild
(
container
.
firstChild
);
}
container
.
appendChild
(
fragment
);
domsugar
(
container
,
[
domsugar
(
'
div
'
,
{
"
class
"
:
'
ui-table-header ui-header
'
},
div_element_list
),
table_element
,
domsugar
(
'
nav
'
)
]);
});
}
...
...
@@ -1046,8 +1068,6 @@
next_url
=
url_list
[
1
],
previous_classname
=
"
ui-btn ui-icon-carat-l ui-btn-icon-left responsive ui-first-child
"
,
next_classname
=
"
ui-btn ui-icon-carat-r ui-btn-icon-right responsive ui-last-child
"
,
fragment
=
document
.
createDocumentFragment
(),
sub_element
,
nav_element
=
gadget
.
element
.
querySelector
(
'
nav
'
),
from_index
;
...
...
@@ -1080,27 +1100,22 @@
// <a class="{{previous_classname}}" data-i18n="Previous" href="{{previous_url}}">Previous</a>
// <a class="{{next_classname}}" data-i18n="Next" href="{{next_url}}">Next</a>
// <span class="ui-disabled">{{record}}</span>
sub_element
=
document
.
createElement
(
'
a
'
);
sub_element
.
setAttribute
(
'
class
'
,
previous_classname
);
sub_element
.
href
=
previous_url
;
sub_element
.
textContent
=
result_list
[
0
][
1
];
fragment
.
appendChild
(
sub_element
);
sub_element
=
document
.
createElement
(
'
a
'
);
sub_element
.
setAttribute
(
'
class
'
,
next_classname
);
sub_element
.
href
=
next_url
;
sub_element
.
textContent
=
result_list
[
0
][
2
];
fragment
.
appendChild
(
sub_element
);
sub_element
=
document
.
createElement
(
'
span
'
);
sub_element
.
setAttribute
(
'
class
'
,
'
ui-disabled
'
);
sub_element
.
textContent
=
record
;
fragment
.
appendChild
(
sub_element
);
while
(
nav_element
.
firstChild
)
{
nav_element
.
removeChild
(
nav_element
.
firstChild
);
}
nav_element
.
appendChild
(
fragment
);
domsugar
(
nav_element
,
[
domsugar
(
'
a
'
,
{
'
class
'
:
previous_classname
,
'
href
'
:
previous_url
,
'
text
'
:
result_list
[
0
][
1
]
}),
domsugar
(
'
a
'
,
{
'
class
'
:
next_classname
,
'
href
'
:
next_url
,
'
text
'
:
result_list
[
0
][
2
]
}),
domsugar
(
'
span
'
,
{
'
class
'
:
'
ui-disabled
'
,
'
text
'
:
record
})
]);
})
.
push
(
function
()
{
var
result_sum
=
(
allDocs_result
.
sum
||
{}).
rows
||
[],
// render summary footer if available
...
...
@@ -1424,4 +1439,4 @@
return
;
});
}(
window
,
document
,
rJS
,
URI
,
RSVP
,
isEmpty
,
console
));
}(
window
,
document
,
rJS
,
URI
,
RSVP
,
isEmpty
,
console
,
domsugar
));
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_listbox_js.xml
View file @
0c945082
...
...
@@ -240,7 +240,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
99
0.17151.25214.12134
</string>
</value>
<value>
<string>
99
4.13949.44825.36573
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -258,7 +258,7 @@
</tuple>
<state>
<tuple>
<float>
16
14290750.17
</float>
<float>
16
29394496.1
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
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