##// END OF EJS Templates
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment

File last commit:

r367:9e304f85f976
r367:9e304f85f976
Show More
SelectBox.js
112 lines | 4.3 KiB | application/javascript | JavascriptLexer
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 'use strict';
{
const SelectBox = {
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 cache: {},
init: function(id) {
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 const box = document.getElementById(id);
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 SelectBox.cache[id] = [];
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 const cache = SelectBox.cache[id];
for (const node of box.options) {
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 cache.push({value: node.value, text: node.text, displayed: 1});
}
},
redisplay: function(id) {
// Repopulate HTML select box from cache
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 const box = document.getElementById(id);
const scroll_value_from_top = box.scrollTop;
box.innerHTML = '';
for (const node of SelectBox.cache[id]) {
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 if (node.displayed) {
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 const new_option = new Option(node.text, node.value, false, false);
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 // Shows a tooltip when hovering over the option
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 new_option.title = node.text;
box.appendChild(new_option);
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 }
}
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 box.scrollTop = scroll_value_from_top;
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 },
filter: function(id, text) {
// Redisplay the HTML select box, displaying only the choices containing ALL
// the words in text. (It's an AND search.)
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 const tokens = text.toLowerCase().split(/\s+/);
for (const node of SelectBox.cache[id]) {
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 node.displayed = 1;
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 const node_text = node.text.toLowerCase();
for (const token of tokens) {
if (!node_text.includes(token)) {
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 node.displayed = 0;
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 break; // Once the first token isn't found we're done
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 }
}
}
SelectBox.redisplay(id);
},
delete_from_cache: function(id, value) {
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 let delete_index = null;
const cache = SelectBox.cache[id];
for (const [i, node] of cache.entries()) {
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 if (node.value === value) {
delete_index = i;
break;
}
}
cache.splice(delete_index, 1);
},
add_to_cache: function(id, option) {
SelectBox.cache[id].push({value: option.value, text: option.text, displayed: 1});
},
cache_contains: function(id, value) {
// Check if an item is contained in the cache
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 for (const node of SelectBox.cache[id]) {
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 if (node.value === value) {
return true;
}
}
return false;
},
move: function(from, to) {
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 const from_box = document.getElementById(from);
for (const option of from_box.options) {
const option_value = option.value;
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 if (option.selected && SelectBox.cache_contains(from, option_value)) {
SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1});
SelectBox.delete_from_cache(from, option_value);
}
}
SelectBox.redisplay(from);
SelectBox.redisplay(to);
},
move_all: function(from, to) {
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 const from_box = document.getElementById(from);
for (const option of from_box.options) {
const option_value = option.value;
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 if (SelectBox.cache_contains(from, option_value)) {
SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1});
SelectBox.delete_from_cache(from, option_value);
}
}
SelectBox.redisplay(from);
SelectBox.redisplay(to);
},
sort: function(id) {
SelectBox.cache[id].sort(function(a, b) {
a = a.text.toLowerCase();
b = b.text.toLowerCase();
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 if (a > b) {
return 1;
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 }
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 if (a < b) {
return -1;
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 }
return 0;
} );
},
select_all: function(id) {
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 const box = document.getElementById(id);
for (const option of box.options) {
option.selected = true;
Nueva plantilla, prueba comunicacion y nuevos campos ddsrest
r338 }
}
};
window.SelectBox = SelectBox;
Renato-TUF
Se logró solucionar el problema del ID replicado al momento de crear un campaña con template experiment
r367 }