mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-28 16:24:54 +02:00
Merge branch 'ent-2335-gis-group-items' into 'develop'
Bug fixes on the GIS map layer configuration See merge request artica/pandorafms!1697
This commit is contained in:
commit
7b9fe9573e
@ -484,6 +484,7 @@ $params['input_name'] = 'agent_alias_for_data';
|
|||||||
$params['value'] = '';
|
$params['value'] = '';
|
||||||
$params['javascript_function_action_after_select'] = 'toggleAddGroupBtn';
|
$params['javascript_function_action_after_select'] = 'toggleAddGroupBtn';
|
||||||
$params['selectbox_group'] = 'layer_group_id'; // Filter by group
|
$params['selectbox_group'] = 'layer_group_id'; // Filter by group
|
||||||
|
$params['disabled_javascript_on_blur_function'] = true;
|
||||||
$agent_for_group_input = ui_print_agent_autocomplete_input($params);
|
$agent_for_group_input = ui_print_agent_autocomplete_input($params);
|
||||||
$add_group_btn = html_print_button(__('Add'), 'add_group', true, '', 'class="sub add"', true);
|
$add_group_btn = html_print_button(__('Add'), 'add_group', true, '', 'class="sub add"', true);
|
||||||
|
|
||||||
@ -588,11 +589,13 @@ function addAgentClick (event) {
|
|||||||
|
|
||||||
function toggleAddGroupBtn () {
|
function toggleAddGroupBtn () {
|
||||||
var groupId = Number.parseInt($("select#layer_group_id").val());
|
var groupId = Number.parseInt($("select#layer_group_id").val());
|
||||||
|
var existGroupId = $("table#list_groups tr.groups_list_item[data-group-id='" + groupId + "']").length > 0;
|
||||||
var agentId = Number.parseInt($("input#hidden-agent_id_for_data").val());
|
var agentId = Number.parseInt($("input#hidden-agent_id_for_data").val());
|
||||||
var agentAlias = $("input#text-agent_alias_for_data").val();
|
var agentAlias = $("input#text-agent_alias_for_data").val();
|
||||||
|
|
||||||
var enabled = (
|
var enabled = (
|
||||||
!Number.isNaN(groupId)
|
!existGroupId
|
||||||
|
&& !Number.isNaN(groupId)
|
||||||
&& groupId > 0
|
&& groupId > 0
|
||||||
&& !Number.isNaN(agentId)
|
&& !Number.isNaN(agentId)
|
||||||
&& agentId > 0
|
&& agentId > 0
|
||||||
@ -607,7 +610,7 @@ function addGroupClick (event) {
|
|||||||
var $layerFormAgentIdInput = $("input#hidden-agent_id_for_data");
|
var $layerFormAgentIdInput = $("input#hidden-agent_id_for_data");
|
||||||
var $layerFormAgentAliasInput = $("input#text-agent_alias_for_data");
|
var $layerFormAgentAliasInput = $("input#text-agent_alias_for_data");
|
||||||
|
|
||||||
var layerId = Number.parseInt($("input#hidden-current_edit_layer_id").val());
|
var layerId = $("input#hidden-current_edit_layer_id").val();
|
||||||
var groupId = Number.parseInt($layerFormGroupIdInput.val());
|
var groupId = Number.parseInt($layerFormGroupIdInput.val());
|
||||||
var groupName = $layerFormGroupIdInput.find(":selected").text();
|
var groupName = $layerFormGroupIdInput.find(":selected").text();
|
||||||
var agentId = Number.parseInt($layerFormAgentIdInput.val());
|
var agentId = Number.parseInt($layerFormAgentIdInput.val());
|
||||||
@ -645,9 +648,21 @@ function moveLayerRowDownOnClick (event) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function removeLayerRowOnClick (event) {
|
function removeLayerRowOnClick (event) {
|
||||||
|
var $layerRow = $(event.currentTarget).parent().parent();
|
||||||
|
var layerRowId = $layerRow.find("input.layer_id").val();
|
||||||
|
var layerEditorId = $("input#hidden-current_edit_layer_id").val();
|
||||||
|
if (layerRowId == layerEditorId) hideLayerEditor();
|
||||||
|
// Remove row
|
||||||
$(event.currentTarget).parent().parent().remove();
|
$(event.currentTarget).parent().parent().remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function hideLayerEditor () {
|
||||||
|
// Clean editor
|
||||||
|
cleanLayerEditor();
|
||||||
|
// Hide editor
|
||||||
|
$("div#form_layer").hide();
|
||||||
|
}
|
||||||
|
|
||||||
function showLayerEditor (layerId) {
|
function showLayerEditor (layerId) {
|
||||||
var $layerSaveBtn = $("input#button-save_layer");
|
var $layerSaveBtn = $("input#button-save_layer");
|
||||||
|
|
||||||
@ -838,11 +853,12 @@ function getAgentRow (layerId, agentId, agentAlias) {
|
|||||||
$removeBtn.click(function (event) {
|
$removeBtn.click(function (event) {
|
||||||
var $layerRow = $("tr#layer_row_" + layerId);
|
var $layerRow = $("tr#layer_row_" + layerId);
|
||||||
|
|
||||||
if ($layerRow.length === 0) return;
|
if ($layerRow.length > 0) {
|
||||||
|
$layerRow.find("input.layer_agent_id[data-agent-id='" + agentId + "']").remove();
|
||||||
|
$layerRow.find("input.layer_agent_alias[data-agent-id='" + agentId + "']").remove();
|
||||||
|
}
|
||||||
|
|
||||||
var $agentListItemRow = $(event.currentTarget).parent().parent();
|
var $agentListItemRow = $(event.currentTarget).parent().parent();
|
||||||
$layerRow.find("input.layer_agent_id[data-agent-id='" + agentId + "']").remove();
|
|
||||||
$layerRow.find("input.layer_agent_alias[data-agent-id='" + agentId + "']").remove();
|
|
||||||
$agentListItemRow.remove();
|
$agentListItemRow.remove();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -893,13 +909,14 @@ function getGroupRow (layerId, groupId, groupName, agentId, agentAlias) {
|
|||||||
$removeBtn.click(function (event) {
|
$removeBtn.click(function (event) {
|
||||||
var $layerRow = $("tr#layer_row_" + layerId);
|
var $layerRow = $("tr#layer_row_" + layerId);
|
||||||
|
|
||||||
if ($layerRow.length === 0) return;
|
if ($layerRow.length > 0) {
|
||||||
|
$layerRow.find("input.layer_group_id[data-group-id='" + groupId + "']").remove();
|
||||||
|
$layerRow.find("input.layer_group_name[data-group-id='" + groupId + "']").remove();
|
||||||
|
$layerRow.find("input.layer_agent_id_for_data[data-group-id='" + groupId + "']").remove();
|
||||||
|
$layerRow.find("input.layer_agent_alias_for_data[data-group-id='" + groupId + "']").remove();
|
||||||
|
}
|
||||||
|
|
||||||
var $groupListItemRow = $(event.currentTarget).parent().parent();
|
var $groupListItemRow = $(event.currentTarget).parent().parent();
|
||||||
$layerRow.find("input.layer_group_id[data-group-id='" + groupId + "']").remove();
|
|
||||||
$layerRow.find("input.layer_group_name[data-group-id='" + groupId + "']").remove();
|
|
||||||
$layerRow.find("input.layer_agent_id_for_data[data-group-id='" + groupId + "']").remove();
|
|
||||||
$layerRow.find("input.layer_agent_alias_for_data[data-group-id='" + groupId + "']").remove();
|
|
||||||
$groupListItemRow.remove();
|
$groupListItemRow.remove();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -1050,7 +1067,7 @@ function onFormSubmit (event) {
|
|||||||
|
|
||||||
function onLayerGroupIdChange (event) {
|
function onLayerGroupIdChange (event) {
|
||||||
// Clear agent inputs
|
// Clear agent inputs
|
||||||
$("input#hidden-agent_id_for_data").val("");
|
$("input#hidden-agent_id_for_data").val(0);
|
||||||
$("input#text-agent_alias_for_data").val("");
|
$("input#text-agent_alias_for_data").val("");
|
||||||
toggleAddGroupBtn();
|
toggleAddGroupBtn();
|
||||||
}
|
}
|
||||||
|
@ -3316,6 +3316,13 @@ function ui_print_agent_autocomplete_input($parameters) {
|
|||||||
minLength: 2,
|
minLength: 2,
|
||||||
source: function( request, response ) {
|
source: function( request, response ) {
|
||||||
var term = request.term; //Word to search
|
var term = request.term; //Word to search
|
||||||
|
' . $javascript_change_ajax_params_text . '
|
||||||
|
var groupId = data_params.id_group();
|
||||||
|
|
||||||
|
// Index cache by group Id
|
||||||
|
if (cache_' . $input_name . '[groupId] == null) {
|
||||||
|
cache_' . $input_name . '[groupId] = {};
|
||||||
|
}
|
||||||
|
|
||||||
//Set loading
|
//Set loading
|
||||||
$("#' . $input_id . '")
|
$("#' . $input_id . '")
|
||||||
@ -3329,8 +3336,8 @@ function ui_print_agent_autocomplete_input($parameters) {
|
|||||||
//==== CACHE CODE ==================================
|
//==== CACHE CODE ==================================
|
||||||
//Check the cache
|
//Check the cache
|
||||||
var found = false;
|
var found = false;
|
||||||
if (term in cache_' . $input_name . ') {
|
if (term in cache_' . $input_name . '[groupId]) {
|
||||||
response(cache_' . $input_name . '[term]);
|
response(cache_' . $input_name . '[groupId][term]);
|
||||||
|
|
||||||
//Set icon
|
//Set icon
|
||||||
$("#' . $input_id . '")
|
$("#' . $input_id . '")
|
||||||
@ -3345,11 +3352,11 @@ function ui_print_agent_autocomplete_input($parameters) {
|
|||||||
for (i = 1; i < term.length; i++) {
|
for (i = 1; i < term.length; i++) {
|
||||||
var term_match = term.substr(0, term.length - i);
|
var term_match = term.substr(0, term.length - i);
|
||||||
|
|
||||||
$.each(cache_' . $input_name . ', function (oldterm, olddata) {
|
$.each(cache_' . $input_name . '[groupId], function (oldterm, olddata) {
|
||||||
var pattern = new RegExp("^" + term_match + ".*","gi");
|
var pattern = new RegExp("^" + term_match + ".*","gi");
|
||||||
|
|
||||||
if (oldterm.match(pattern)) {
|
if (oldterm.match(pattern)) {
|
||||||
response(cache_' . $input_name . '[oldterm]);
|
response(cache_' . $input_name . '[groupId][oldterm]);
|
||||||
|
|
||||||
found = true;
|
found = true;
|
||||||
|
|
||||||
@ -3376,15 +3383,13 @@ function ui_print_agent_autocomplete_input($parameters) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
' . $javascript_change_ajax_params_text . '
|
|
||||||
|
|
||||||
jQuery.ajax ({
|
jQuery.ajax ({
|
||||||
data: data_params,
|
data: data_params,
|
||||||
type: "POST",
|
type: "POST",
|
||||||
url: action="' . $javascript_ajax_page . '",
|
url: action="' . $javascript_ajax_page . '",
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
cache_' . $input_name . '[term] = data; //Save the cache
|
cache_' . $input_name . '[groupId][term] = data; //Save the cache
|
||||||
|
|
||||||
response(data);
|
response(data);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user