Commit c5a2a785 authored by Xiaowu Zhang's avatar Xiaowu Zhang

erp5_web_renderjs_ui: add select&unselect all in listbox

add test later
parent 10906f77
...@@ -159,26 +159,41 @@ ...@@ -159,26 +159,41 @@
i, i,
result_list = [], result_list = [],
icon; icon;
result_list.push({ return this.getTranslationList(['Select All', 'Unselect All', 'Copy'])
title: 'Copy', .push(function (translation_list) {
icon: 'copy', result_list = [
action: 'copy_document_list' {
}); title: translation_list[0],
for (i = 0; i < action_list.length; i += 1) { icon: 'check-square-o',
if (action_list[i].name === 'delete_document_list') { action: 'select_all_document_list'
icon = 'trash-o'; },
} else if (action_list[i].name === 'paste_document_list') { {
icon = 'paste'; title: translation_list[1],
} else { icon: 'ban',
continue; action: 'unselect_all_document_list'
} },
result_list.push({ {
title: action_list[i].title, title: translation_list[2],
icon: icon, icon: 'copy',
action: action_list[i].name action: 'copy_document_list'
}
];
for (i = 0; i < action_list.length; i += 1) {
if (action_list[i].name === 'delete_document_list') {
icon = 'trash-o';
} else if (action_list[i].name === 'paste_document_list') {
icon = 'paste';
} else {
continue;
}
result_list.push({
title: action_list[i].title,
icon: icon,
action: action_list[i].name
});
}
return result_list;
}); });
}
return result_list;
} }
function createSearchQuery(checked_uid_list, key) { function createSearchQuery(checked_uid_list, key) {
...@@ -219,15 +234,16 @@ ...@@ -219,15 +234,16 @@
unchecked_uid_list = argument_list[2], unchecked_uid_list = argument_list[2],
view, view,
i, i,
select_attribute,
all_hide_element_list,
queue; queue;
if (checked_uid_list.length === 0) { if (checked_uid_list.length === 0) {
// If nothing is checked, use all unchecked values (same as xhtml style) // If nothing is checked, use all unchecked values (same as xhtml style)
checked_uid_list = unchecked_uid_list; checked_uid_list = unchecked_uid_list;
} }
if ((action_name !== 'copy_document_list') && (action_name !== 'select_all_document_list') && (action_name !== 'unselect_all_document_list')) {
if (action_name !== 'copy_document_list') { // Copy, select all, un select all actions are only done on javascript side
// Copy action is only done on javascript side
for (i = 0; i < action_list.length; i += 1) { for (i = 0; i < action_list.length; i += 1) {
if (action_name === action_list[i].name) { if (action_name === action_list[i].name) {
view = action_list[i].href; view = action_list[i].href;
...@@ -262,7 +278,17 @@ ...@@ -262,7 +278,17 @@
"message": "Nothing selected" "message": "Nothing selected"
}); });
} }
if ((action_name === 'select_all_document_list') || (action_name === 'unselect_all_document_list')) {
all_hide_element_list = gadget.element.querySelectorAll(".hide_element");
select_attribute = (action_name === 'select_all_document_list' ? true : false);
for (i = 0; i < all_hide_element_list.length; i += 1) {
all_hide_element_list[i].checked = select_attribute;
}
return notifyTranslatedMessage(gadget, {
"message": (action_name === 'select_all_document_list' ? 'Selected' : 'Unselected'),
"status": "success"
});
}
if (action_name === 'copy_document_list') { if (action_name === 'copy_document_list') {
return gadget.setSettingClipboardAction('clipboard', checked_uid_list) return gadget.setSettingClipboardAction('clipboard', checked_uid_list)
.push(function () { .push(function () {
......
...@@ -234,7 +234,7 @@ ...@@ -234,7 +234,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>979.58035.58376.38417</string> </value> <value> <string>984.64003.17482.44305</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -252,7 +252,7 @@ ...@@ -252,7 +252,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1574157261.21</float> <float>1593681243.48</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -14,6 +14,9 @@ ...@@ -14,6 +14,9 @@
data-i18n=Reset data-i18n=Reset
data-i18n=Previous data-i18n=Previous
data-i18n=Next data-i18n=Next
data-i18n=Copy
data-i18n=Select All
data-i18n=Unselect All
--> -->
<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width" /> <meta name="viewport" content="width=device-width" />
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment