';
});
return listData;
}
/**
* Get name name group
*/
function getNameGroupById(store, filterIdGroup) {
var NAZWA = '';
if (!store || filterIdGroup === 0 ) {
NAZWA = 'Wszyscy';
} else {
$(store).each(function() {
if ( parseInt(filterIdGroup) === parseInt(this.ID) ) {
NAZWA = this.NAZWA;
}
});
}
return NAZWA;
}
function urlFetchKontrahenci(page) {
hideMoreRecordFunctionsPopover()
var page = page || getItemLocalStorage('Bocian.biAuditForm.kontrahenci.pagination.page');
selectPage('KONTRAHENCI', page);
if ( page === 1) {
setItemLocalStorage('Bocian.biAuditForm.kontrahenci.pagination.page', 1);
}
var filterIdGroup = getItemLocalStorage('Bocian.biAuditForm.kontrahenci.filterIdGroup');
var frm = document.getElementById('filtersFieldRemoveBtn-KONTRAHENCI').form
var fieldNameList = FIELD_LIST_KONTRAHENCI
var filterFields = fieldNameList.map(function (fieldName) {
return [ fieldName, frm[fieldName].value ]
}).filter(function (filter) {
return ( filter[1].length > 0 )
}).map(function (filter) {
return '' + filter[0] + '=' + filter[1]
}).join('&')
filterFields = (filterFields.length > 0) ? '&' + filterFields : ''
fetch(URL_FETCH_KONTRAHENCI + '&page=' + page + '&filterIdGroup=' + filterIdGroup + filterFields, {
credentials: 'same-origin'
})
.then(function parseJSON(response) {
return response.json()
var filterIdGroup = filterIdGroup || getItemLocalStorage('Bocian.biAuditForm.kontrahenci.filterIdGroup');
})
.then(function(data) {
var listItemsKontrahenci = null;
data.body.items.forEach (function(row) {
listItemsKontrahenci += '
' +
'' +
'' +
' | ' +
''+row["ID"]+' | '+
'' + ( row["Nazwa_grupy_kapitalowej"] || '' ) + ' | ' +
'' + ( row["Pelna_nazwa_kontrahenta"] || '' ) + ' | ' +
'' + ( row["Numer_kontrahenta"] || '' ) + ' | ' +
'' + ( row["Skrocona_Nazwa_Kontrahenta"] || '' ) + ' | ' +
'' + ( row["Typ_kontrahenta"] || '' ) + ' | ' +
'' + ( row["NIP"] || '' ) + ' | ' +
'' + ( row["KRS"] || '' ) + ' | ' +
'' + ( row["REGON"] || '' ) + ' | ' +
'' + ( row["PESEL"] || '' ) + ' | ' +
'' + ( row["Forma_prawna_dzialalnosci"] || '' ) + ' | ' +
'' + ( row["Ulica"] || '' ) + ' | ' +
'' + ( row["Numer_budynku"] || '' ) + ' | ' +
'' + ( row["Numer_mieszkania_lokalu"] || '' ) + ' | ' +
'' + ( row["Miejscowosc"] || '' ) + ' | ' +
'' + ( row["Kod_pocztowy"] || '' ) + ' | ' +
'' + ( row["Kraj"] || '' ) + ' | ' +
'' + ( row["Telefon"] || '' ) + ' | ' +
'' + ( row["Fax"] || '' ) + ' | ' +
'' + ( row["Mail"] || '' ) + ' | ' +
'' + ( row["A_ADM_COMPANY"] || '' ) + ' | ' +
'' + ( row["A_CLASSIFIED"] || '' ) + ' | ' +
'' + ( row["Dodano"] || '' ) + ' | ' +
'' + ( row["Podmiot_dominujacy"] || '' ) + ' | ' +
'' + ( row["Tytul_dokumentu"] || '' ) + ' | ' +
'' + ( row["ownCompany"] || '' ) + ' | ' +
'' + ( row["uwagi"] || '' ) + ' |
';
});
if (data.body.pagination !== undefined) {
Pagination.Init(document.getElementById('pagination-kontrahenci'), {
url: BASE_URLS+'index.php?_route=UrlAction_Bocian#KONTRAHENCI',
id_pagination: 'pagination-kontrahenci',
type: 'KONTRAHENCI',
limit: data.body.pagination.limit,
total_items: data.body.pagination.total_items, // pages size
size: data.body.pagination.size, // pages size
page: page, // selected page
step: 1 // pages before and after current
});
var paginationShowNextCount = 1;
if ( parseInt(data.body.pagination.current) !== 1) {
paginationShowNextCount = parseInt(data.body.pagination.limit) * (parseInt(data.body.pagination.current) - 1 ) + 1;
}
$('#paginationShowNextCount-KONTRAHENCI').text(paginationShowNextCount);
$('#smad-filter-desc-kontrahenci').text(data.body.pagination.total_items);
if (data.body.pagination.total_items > 0) {
var btnGraphView = $('
')
var btnAddAll = $('
')
btnAddAll.on('click', { pagination: data.body.pagination }, function (event) {
// event.data.pagination: { [ filter_idGroup: ... ] }
// fetch ids from request, set to LocatStorage, update selected on gui
var postData = {}
if ('filter_idGroup' in event.data.pagination && event.data.pagination['filter_idGroup']) postData['filter_idGroup'] = event.data.pagination['filter_idGroup']
Object.keys(event.data.pagination).filter(function (key) {
return ('f_' === key.substr(0, 2))
}).forEach(function (filterKey) {
var value = event.data.pagination[filterKey]
postData[filterKey] = value
})
var thisButton = $(this)
thisButton.attr('disabled', true)
thisButton.text( thisButton.text() + '...' )
p5UI__notifyAjaxCallback({ type: 'info', msg: "Pobieranie podmiotów/kontrahentów..." })
global.fetch(URL_FETCH_KONTRAHENCI_IDS_AJAX, {
credentials: 'same-origin',
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(postData)
})
.then(function __parseJSON(response) {
return response.json()
})
.then(function (json) {
if ('success' === json.type && json.body && json.body.ids) {
updateListIdBiAuditReaport('KONTRAHENCI', json.body.ids.map(function (id) {
return parseInt(id)
}))
jQuery('#body-kontrahenci').find('input[name="kontrID[]"]').attr('checked', true)
thisButton.attr('disabled', false)
var txt = thisButton.text()
thisButton.text( '...' === txt.substr(-3) ? txt.substr(0, txt.length - 3) : txt )
p5UI__notifyAjaxCallback({ type: 'success', msg: "Dodano "+json.body.ids.length+" kontrahentów" })
}
})
.catch(function (e) {
p5UI__notifyAjaxCallback({ type: 'error', msg: '' + e })
thisButton.attr('disabled', false)
var txt = thisButton.text()
thisButton.text( '...' === txt.substr(-3) ? txt.substr(0, txt.length - 3) : txt )
})
})
$('#smad-filter-desc-kontrahenci').append(btnAddAll);
$('#smad-filter-desc-kontrahenci').append(btnGraphView);
}
}
var groupSelectData = getNameGroupById(getItemLocalStorage('Bocian.biAuditForm.kontrahenci.groups'), filterIdGroup);
$('#smad-filter-head-title-kontrahenci').text(groupSelectData);
if(DBG) console.log('kontrahenci groupSelectData: ', groupSelectData);
$( "#body-kontrahenci" ).html(listItemsKontrahenci);
checkAll('KONTRAHENCI');
catchEventCheckbox('KONTRAHENCI');
checkedChoiseItems('KONTRAHENCI', getItemLocalStorage('Bocian.biAuditForm.kontrahenciIds') );
// $( ".container-bi_audit_raport" ).append( data.body.view );
if(DBG) console.log('request succeeded with JSON responseKontrahenci', data)
updateTopCounters();
}).catch(function(error) {
if(DBG) console.log('request failed', error);
})
}
function urlFetchPracownicy(page) {
hideMoreRecordFunctionsPopover()
var page = page || getItemLocalStorage('Bocian.biAuditForm.pracownicy.pagination.page');
if ( page === 1) {
setItemLocalStorage('Bocian.biAuditForm.pracownicy.pagination.page', 1);
}
var filterIdGroup = getItemLocalStorage('Bocian.biAuditForm.pracownicy.filterIdGroup');
selectPage('PRACOWNICY', page);
var frm = document.getElementById('filtersFieldRemoveBtn-PRACOWNICY').form
var fieldNameList = FIELD_LIST_PRACOWNICY
var filterFields = fieldNameList.filter(function (fieldName) {
if (!frm[fieldName] && DBG) console.log('Err missing field: "'+fieldName+'"')
return (frm[fieldName]) ? true : false
}).map(function (fieldName) {
return [ fieldName, frm[fieldName].value ]
}).filter(function (filter) {
return ( filter[1].length > 0 )
}).map(function (filter) {
return '' + filter[0] + '=' + filter[1]
}).join('&')
filterFields = (filterFields.length > 0) ? '&' + filterFields : ''
var paginationLimit = 20;
/*p5WFS_GetFeature('default_db__x3A__BI_audit_ENERGA_PRACOWNICY:BI_audit_ENERGA_PRACOWNICY',
Object.assign({
sortBy: 'ID+D',
maxFeatures: paginationLimit,
startIndex: (page - 1) * paginationLimit,
// TODO: backRefNS, backRefPK, backRefField - TODO: from groups
// resolve: 'all',
// resolveDepth: 2
'ogc:Filter': '
' + '\n' + [
'*',
'default_db__x3A__BI_audit_ENERGA_PRACOWNICY_adresy:BI_audit_ENERGA_PRACOWNICY_adresy/*',
[
'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object',
'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row',
'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object',
'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI:BI_audit_ENERGA_RUM_KONTRAHENCI'
].join('/')
].map(function (fieldName) {
return '' + fieldName + '';
}).join('\n') + '\n' + ''
}, (filterIdGroup > 0)
? {
backRefNS: 'default_db/BI_audit_ENERGA_PRACOWNICY_group/BI_audit_ENERGA_PRACOWNICY_group',
backRefPK: filterIdGroup,
backRefField: 'default_db__x3A__BI_audit_ENERGA_PRACOWNICY:BI_audit_ENERGA_PRACOWNICY',
}
: {}
)
).then(function (items) {
if(DBG)console.log('p5WFS_GetFeature: items: ', items);
}).catch(function (err) {
if(DBG)console.log('p5WFS_GetFeature: err: ', err);
})*/
fetch(URL_FETCH_PRACOWNICY + '&page=' + page + '&filterIdGroup=' + filterIdGroup + filterFields, {
credentials: 'same-origin'
})
.then(function parseJSON(response) {
return response.json()
})
.then(function(data) {
var addresPerson = '';
var listItemsPracownik = null;
if(DBG) console.log('urlFetchPracownicy', data.body.items);
data.body.items.forEach (function(row) {
if (row["default_db__x3A__BI_audit_ENERGA_PRACOWNICY_adresy:BI_audit_ENERGA_PRACOWNICY_adresy"]) {
addresPerson = getAddressData(row["default_db__x3A__BI_audit_ENERGA_PRACOWNICY_adresy:BI_audit_ENERGA_PRACOWNICY_adresy"]);
}
listItemsPracownik += '
' +
'' +
'' +
' | ' +
''+row["ID"]+' | ' +
'' + ( row["imiona"] || '' ) + ' | ' +
'' + ( row["nazwisko"] || '' ) + ' | ' +
'' + ( row["nip"] || '' ) + ' | ' +
'' + ( row["pesel"] || '' ) + ' | ' +
'' + ( row["regon"] || '' ) + ' | ' +
'' + ( row["source"] || '' ) + ' | ' +
'' + ( row["jednostka_organizacyjna"] || '' ) + ' | ' +
'' + ( row["A_STATUS"] || '' ) + ' | ' +
'' + ( row["A_STATUS_INFO"] || '' ) + ' | ' +
'' + ( row["L_APPOITMENT_USER"] || '' ) + ' | ' +
''+ addresPerson +' |
';
});
if (data.body.pagination.size) {
Pagination.Init(document.getElementById('pagination-pracownicy'), {
url: BASE_URLS+'index.php?_route=UrlAction_Bocian#PRACOWNICY',
id_pagination: 'pagination-pracownicy',
type: 'PRACOWNICY',
limit: data.body.pagination.limit,
total_items: data.body.pagination.total_items, // pages size
size: data.body.pagination.size, // pages size
page: data.body.pagination.current, // selected page
step: 1 // pages before and after current
});
var paginationShowNextCount = 1;
if ( parseInt(data.body.pagination.current) !== 1) {
paginationShowNextCount = parseInt(data.body.pagination.limit) * (parseInt(data.body.pagination.current) - 1 ) + 1;
}
$('#paginationShowNextCount-PRACOWNICY').text(paginationShowNextCount);
$('#smad-filter-desc-pracownicy').text(data.body.pagination.total_items);
if (data.body.pagination.total_items > 0) {
var btnGraphView = $('
')
var btnAddAll = $('
')
btnAddAll.on('click', { pagination: data.body.pagination }, function (event) {
// event.data.pagination: { [ filter_idGroup: ... ] }
// fetch ids from request, set to LocatStorage, redirect to '#KONTRAHENCI'
var postData = {}
if ('filter_idGroup' in event.data.pagination && event.data.pagination['filter_idGroup']) postData['filter_idGroup'] = event.data.pagination['filter_idGroup']
Object.keys(event.data.pagination).filter(function (key) {
return ('f_' === key.substr(0, 2))
}).forEach(function (filterKey) {
var value = event.data.pagination[filterKey]
postData[filterKey] = value
})
var thisButton = $(this)
thisButton.attr('disabled', true)
thisButton.text( thisButton.text() + '...' )
p5UI__notifyAjaxCallback({ type: 'info', msg: "Pobieranie pracowników..." })
global.fetch(URL_FETCH_PRACOWNICY_IDS_AJAX, {
credentials: 'same-origin',
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(postData)
})
.then(function __parseJSON(response) {
return response.json()
})
.then(function (json) {
if ('success' === json.type && json.body && json.body.ids) {
updateListIdBiAuditReaport('PRACOWNICY', json.body.ids.map(function (id) {
return parseInt(id)
}))
thisButton.attr('disabled', false)
var txt = thisButton.text()
thisButton.text( '...' === txt.substr(-3) ? txt.substr(0, txt.length - 3) : txt )
p5UI__notifyAjaxCallback({ type: 'success', msg: "Dodano "+json.body.ids.length+" pracowników" })
window.location.hash = 'KONTRAHENCI'
}
})
.catch(function (e) {
p5UI__notifyAjaxCallback({ type: 'error', msg: '' + e })
thisButton.attr('disabled', false)
var txt = thisButton.text()
thisButton.text( '...' === txt.substr(-3) ? txt.substr(0, txt.length - 3) : txt )
})
})
$('#smad-filter-desc-pracownicy').append(btnAddAll);
$('#smad-filter-desc-pracownicy').append(btnGraphView);
}
}
// wyświetlenie wybranej grupy w naglówku nad tabela
var groupSelectData = getNameGroupById(getItemLocalStorage('Bocian.biAuditForm.pracownicy.groups'), filterIdGroup);
$('#smad-filter-head-title-pracownicy').text(groupSelectData);
// zaladaowanie listy pracowników
$( "#body-pracownicy" ).html( listItemsPracownik);
checkAll('PRACOWNICY');
catchEventCheckbox('PRACOWNICY');
checkedChoiseItems('PRACOWNICY', getItemLocalStorage('Bocian.biAuditForm.pracownicyIds') );
updateTopCounters();
}).catch(function(error) {
if(DBG) console.log('request failed', error)
})
}
function selectPage(type, nrPage) {
var type = type.toLowerCase();
$('#pagination-' + type + ' ul li a').each(function(index, value){
if (this.text === nrPage) {
$(this).addClass('active');
} else {
$(this).removeClass('active');
}
});
}
function checkAll(type) {
$('#checkAll-' + type).change(function() {
var valueCheckbox = null;
var checkboxes = $('form').find(':checkbox');
if($(this).prop('checked')) {
checkboxes.prop('checked', true);
//valueCheckbox = checkboxes.prop("checked");
var allValsChecked = [];
var checkedValues = $('#smad-table-' + type + ' input:checkbox:checked').map(function() {
if (this.value !== 'on') {
allValsChecked.push(parseInt(this.value));
}
}).get();
updateListIdBiAuditReaport(type, allValsChecked);
} else {
checkboxes.prop('checked', false);
var allValsUnChecked = [];
var checkedValues = $('#smad-table-' + type + ' input:checkbox:not(:checked)').map(function() {
if (this.value !== 'on') {
allValsUnChecked.push(parseInt(this.value));
}
}).get();
deleteListIdBiAuditReaport(type, allValsUnChecked);
}
// update count selected IDs
updateCountItemCheckedByType(type.toLowerCase());
});
}
/**
* Select again checkbox before selected item chekbox from storage (pracownicy/kontrahenci)
*/
function checkedChoiseItems(type, store) {
updateCountItemCheckedByType(type.toLowerCase());
var idElement = 'smad-table-' + type;
// if id element exist
if (document.getElementById(idElement)) {
// if not checked
if (!store) {
return false;
}
// checked again if user selected Item (pracownicy/kontrahent)
for (i = 0; i < store.length; i++) {
$('#body-'+type.toLowerCase() +' input[type=checkbox] ').map(function(k, v) {
if ( store[i] === parseInt(this.value) ){
$(this).prop('checked', true);
}
}).get();
}
}
$('#smad-table-' + type + ' input[type=checkbox]').on( 'load', function() {
var itemsCHecked = getItemLocalStorage('Bocian.biAuditForm.pracownicyIds');
getItemLocalStorage('Bocian.biAuditForm.kontrahenciIds');
if (itemsCHecked.lenght === 0 ) {
return;
}
var valueCheckbox = null;
var checkboxes = $('form').find(':checkbox');
if($(this).prop('checked')) {
checkboxes.prop('checked', true);
var allValsChecked = [];
var checkedValues = $('#smad-table-' + type + ' input:checkbox:checked').map(function() {
if (this.value !== 'on') {
allValsChecked.push(parseInt(this.value));
}
}).get();
updateListIdBiAuditReaport(type, allValsChecked);
} else {
checkboxes.prop('checked', false);
var allValsUnChecked = [];
var checkedValues = $('#smad-table-' + type + ' input:checkbox:not(:checked)').map(function() {
if (this.value !== 'on') {
allValsUnChecked.push(parseInt(this.value));
}
}).get();
deleteListIdBiAuditReaport(type, allValsUnChecked);
}
});
}
function catchEventCheckbox(type) {
$('#smad-table-' + type + ' input[type="checkbox"]').on('change', function() {
if($(this).is(":checked")) {
var allValsChecked = [];
if (this.value !== 'on') {
allValsChecked.push(parseInt(this.value));
}
updateListIdBiAuditReaport(type, allValsChecked);
} else {
var allValsUnChecke = [];
if (this.value !== 'on') {
allValsUnChecke.push(parseInt(this.value));
}
deleteListIdBiAuditReaport(type, allValsUnChecke);
}
// update count selected IDs
updateCountItemCheckedByType(type.toLowerCase());
});
}
function clearSelectedCheckbox() {
$('#checkAll-PRACOWNICY').prop('checked', false)
$('#checkAll-KONTRAHENCI').prop('checked', false)
}
function updateListIdBiAuditReaport(type, valueArray) {
var currentStoragePracownicyIds = [];
var updateListPracownicyIds = null;
var currentStorageKontrahenciIds = [];
var updateListKontrahenciIds = null;
if ( type == 'PRACOWNICY') {
currentStoragePracownicyIds = getItemLocalStorage('Bocian.biAuditForm.pracownicyIds');
if(currentStoragePracownicyIds !== null) {
updateListPracownicyIds = [...new Set([...currentStoragePracownicyIds ,...valueArray])];
}
else {
updateListPracownicyIds = valueArray;
}
setItemLocalStorage('Bocian.biAuditForm.pracownicyIds', updateListPracownicyIds);
}
if ( type == 'KONTRAHENCI') {
currentStorageKontrahenciIds = getItemLocalStorage('Bocian.biAuditForm.kontrahenciIds');
if(currentStorageKontrahenciIds !== null) {
updateListKontrahenciIds = [...new Set([...currentStorageKontrahenciIds ,...valueArray])];
}
else {
updateListKontrahenciIds = valueArray;
}
setItemLocalStorage('Bocian.biAuditForm.kontrahenciIds', updateListKontrahenciIds);
}
}
function deleteListIdBiAuditReaport(type, valueArray) {
var currentStoragePracownicyIds = [];
var updateListPracownicyIds = null;
if ( type == 'PRACOWNICY') {
deleteItemLocalStorage('Bocian.biAuditForm.pracownicyIds', valueArray);
}
if ( type == 'KONTRAHENCI') {
deleteItemLocalStorage('Bocian.biAuditForm.kontrahenciIds', valueArray);
}
}
// filter group detect
function fetchGroupPracownicy() {
fetch(URL_FETCH_GROUP_PRACOWNICY, {
credentials: 'same-origin'
})
.then(function parseJSON(response) {
return response.json()
})
.then(function(data) {
setItemLocalStorage('Bocian.biAuditForm.pracownicy.groups', data.body.itmesGroupPracownicy);
if (data.body.itmesGroupPracownicy === null) {
return;
}
var filterIdGroup = getItemLocalStorage('Bocian.biAuditForm.pracownicy.filterIdGroup');
var currentDepthValue = getItemLocalStorage('Bocian.biAuditForm.depth');
setItemLocalStorage('Bocian.biAuditForm.pracownicy.filterIdGroup', filterIdGroup);
setItemLocalStorage('Bocian.biAuditForm.depth', currentDepthValue);
var groupsPracownicy = '';
var activeButton = '';
data.body.itmesGroupPracownicy.forEach (function(row) {
activeButton = '';
if ( filterIdGroup === parseInt(row['ID']) ) {activeButton = 'active'; $('#group-pracownicy button.active').removeClass('active');
}
groupsPracownicy += '
';
});
$("#group-pracownicy").append(groupsPracownicy);
updateCountItemCheckedByType('pracownicy');
// detect filter group
detectChoiseFilter();
}).catch(function(error) {
if(DBG) console.log('request failed', error)
});
}
function fetchGroupKontrahenci() {
fetch(URL_FETCH_GROUP_KONTRAHENCI, {
credentials: 'same-origin'
})
.then(function parseJSON(response) {
return response.json()
})
.then(function(data) {
setItemLocalStorage('Bocian.biAuditForm.kontrahenci.groups', data.body.itemsGroupKontrahenci);
if (data.body.itemsGroupKontrahenci === null) {
return;
}
var filterIdGroup = getItemLocalStorage('Bocian.biAuditForm.kontrahenci.filterIdGroup');
var currentDepthValue = getItemLocalStorage('Bocian.biAuditForm.depth');
setItemLocalStorage('Bocian.biAuditForm.kontrahenci.filterIdGroup', filterIdGroup);
setItemLocalStorage('Bocian.biAuditForm.depth', currentDepthValue);
var groupsKontrahenci = '';
var activeButton = '';
data.body.itemsGroupKontrahenci.forEach (function(row) {
activeButton = '';
if ( filterIdGroup === parseInt(row['ID']) ) { activeButton = 'active'; $('#group-kontrahenci button.active').removeClass('active'); }
groupsKontrahenci += '
';
});
$("#group-kontrahenci").append(groupsKontrahenci);
updateCountItemCheckedByType('kontrahenci');
// detect filter group
detectChoiseFilter();
if(DBG) console.log('request succeeded with JSON fetchGroupKontrahenci', data.body.itemsGroupKontrahenci);
}).catch(function(error) {
if(DBG) console.log('request failed', error)
});
}
function detectChoiseFilter() {
$('#group-kontrahenci').on('click', 'button', function(evt) {
$('#group-kontrahenci button.active').removeClass('active');
$(this).addClass('active');
// pobranie id grupy kliknietego buttonu
var filterIdGroup = $(this).attr("data-group-filter");
// aktaulna wartość zagłebienia
var currentDepthValue = getItemLocalStorage('Bocian.biAuditForm.depth');
// czy zwracać wyniki tylko z obiektami docelowymi
var analizaOnlyTargets = getItemLocalStorage('Bocian.biAuditForm.analizaOnlyTargets');
//reset LocalStorage
// defaultBIAuditLocalStorage();
// ustawienie ostaniej wartości zagłebienia przed resete
setItemLocalStorage('Bocian.biAuditForm.depth', currentDepthValue);
// czy zwracać wyniki tylko z obiektami docelowymi
setItemLocalStorage('Bocian.biAuditForm.analizaOnlyTargets', analizaOnlyTargets);
// ustawić id grupy do sesyjnej
setItemLocalStorage('Bocian.biAuditForm.kontrahenci.filterIdGroup', parseInt(filterIdGroup));
// wywylac funckje pobrania danych
urlFetchKontrahenci(1);
});
$('#group-pracownicy').on('click', 'button', function(e) {
e.preventDefault();
$('#group-pracownicy button.active').removeClass('active');
$(this).addClass('active');
// pobranie id grupy kliknietego buttonu
var filterIdGroup = $(this).attr("data-group-filter");
// aktaulna wartość zagłebienia
var currentDepthValue = getItemLocalStorage('Bocian.biAuditForm.depth');
//reset LocalStorage
// defaultBIAuditLocalStorage();
// ustawienie ostaniej wartości zagłebienia przed resete
setItemLocalStorage('Bocian.biAuditForm.depth', currentDepthValue);
// ustawić id grupy do sesyjnej
setItemLocalStorage('Bocian.biAuditForm.pracownicy.filterIdGroup', parseInt(filterIdGroup));
// wywylac funckje pobrania danych
urlFetchPracownicy(1);
});
}
// Local storage
function setItemLocalStorage(key, array) {
localStorage.setItem(key, JSON.stringify(array));
}
function getItemLocalStorage(key) {
var retrievedData = localStorage.getItem(key);
var response = JSON.parse(retrievedData);
return response;
}
function deleteItemLocalStorage(key, itemsArray) {
var currentStorageArray = getItemLocalStorage(key);
var newStorageArray = removeItemArrayInArray(currentStorageArray, itemsArray);
setItemLocalStorage(key, newStorageArray);
}
/**
* arr - array
* item - search item
*/
function removeItemInArray(arr, item) {
for(var i = arr.length; i--;) {
if(arr[i] === item) {
arr.splice(i, 1);
}
}
return arr;
}
/**
* arr - array
* item - array list items
*/
function removeItemArrayInArray(arr, itemsArray) {
for(var i = arr.length; i--;) {
for(var j = itemsArray.length; j--;) {
if(arr[i] === itemsArray[j]) {
arr.splice(i, 1);
}
}
}
return arr;
}
/**
* Function show/hide graph view
*/
function graphShowHide(nameSection) {
var node = $('.smad-'+nameSection+'-graph-view')
if (!node || !node.length) return;
if ('block' !== node.css('display')) {
node.show()
graphFetchData(node.get(0), nameSection)
} else {
node.hide()
}
}
function graphFetchData(node, nameSection) {
var page = page || getItemLocalStorage('Bocian.biAuditForm.'+nameSection+'.pagination.page');
if ( page === 1) {
setItemLocalStorage('Bocian.biAuditForm.'+nameSection+'.pagination.page', 1);
}
var filterIdGroup = getItemLocalStorage('Bocian.biAuditForm.'+nameSection+'.filterIdGroup');
var frm = document.getElementById('filtersFieldRemoveBtn-' + nameSection.toUpperCase()).form
var fieldNameList = ('pracownicy' === nameSection) ? FIELD_LIST_PRACOWNICY : FIELD_LIST_KONTRAHENCI
var filterFields = fieldNameList.filter(function (fieldName) {
if (!frm[fieldName] && DBG) console.log('Err missing field: "'+fieldName+'"')
return (frm[fieldName]) ? true : false
}).map(function (fieldName) {
return [ fieldName, frm[fieldName].value ]
}).filter(function (filter) {
return ( filter[1].length > 0 )
})
// filterFields = (filterFields.length > 0) ? '&' + filterFields : ''
//
//
//
// A_STATUS
// *O%23MA*
//
//
// A_STATUS
// *ARNING
//
//
//
var ogcFilterFields = (filterFields.length > 0)
? '
' + filterFields.map(function(filter) {
if ('ID' === filter[0].substr(2)) return '' +
'' + filter[0].substr(2) + '' +
'' + filter[1] + '' +
'';
return '' +
'' + filter[0].substr(2) + '' +
'*' + filter[1] + '*' +
'';
}) + ''
: ''
var paginationLimit = 20;
if(DBG)console.log('graphFetchData...', {
paginationLimit: paginationLimit,
page: page,
filterIdGroup: filterIdGroup,
filterFields: filterFields,
ogcFilterFields: ogcFilterFields,
});
function refFieldsOnPathToList(typeName, fields) {
var fields = fields || []
var flatList = []
var refPathBase = [
'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object',
'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row',
'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object'
]
flatList.push(refPathBase.concat(typeName).join('/'))
fields.forEach(function (fieldName) {
flatList.push(refPathBase.concat(typeName, fieldName).join('/'))
})
return flatList;
}
p5WFS_GetFeature('default_db__x3A__BI_audit_ENERGA_PRACOWNICY:BI_audit_ENERGA_PRACOWNICY',
Object.assign({
sortBy: 'ID+D',
maxFeatures: paginationLimit,
startIndex: (page - 1) * paginationLimit,
// TODO: backRefNS, backRefPK, backRefField - TODO: from groups
// resolve: 'all',
// resolveDepth: 2
'ogc:Filter': '
' + '\n' + [
'ID',
'imiona',
'nazwisko',
'miejscowosc'
].concat(refFieldsOnPathToList('default_db__x3A__BI_audit_KRS:BI_audit_KRS', [ 'ID', 'nazwa', 'krs', 'S_miejscowosc' ]))
.concat(refFieldsOnPathToList('default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI:BI_audit_ENERGA_RUM_KONTRAHENCI', [ 'ID', 'Pelna_nazwa_kontrahenta' ]))
.concat(refFieldsOnPathToList('default_db__x3A__BI_audit_MSIG:BI_audit_MSIG', [ 'ID', 'nazwa' ]))
.concat(refFieldsOnPathToList('default_db__x3A__BI_audit_CEIDG:BI_audit_CEIDG', [ 'ID', 'nazwisko', 'firma' ]))
.concat([
// '*',
// 'default_db__x3A__BI_audit_ENERGA_PRACOWNICY_adresy:BI_audit_ENERGA_PRACOWNICY_adresy/*',
[
'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object',
'ID'
].join('/'),
[
'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object',
'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row',
'ID'
].join('/'),
[
'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object',
'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row',
'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object',
'ID'
].join('/')
]).map(function (fieldName) {
return '' + fieldName + '';
}).join('\n') + '\n' +
( ogcFilterFields ? ogcFilterFields : '' ) +
''
}, (filterIdGroup > 0)
? {
backRefNS: 'default_db/BI_audit_ENERGA_PRACOWNICY_group/BI_audit_ENERGA_PRACOWNICY_group',
backRefPK: filterIdGroup,
backRefField: 'default_db__x3A__BI_audit_ENERGA_PRACOWNICY:BI_audit_ENERGA_PRACOWNICY',
}
: {}
)
).then(function (items) {
if(DBG)console.log('p5WFS_GetFeature: items: ', items);
graphRender(node, {
msg: "Pobrano dane",
typeName: ('pracownicy' === nameSection) ? 'default_db__x3A__BI_audit_ENERGA_PRACOWNICY:BI_audit_ENERGA_PRACOWNICY' : 'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI:BI_audit_ENERGA_RUM_KONTRAHENCI',
items: items
})
}).catch(function (err) {
if(DBG)console.log('p5WFS_GetFeature: err: ', err);
// graphRender(node, { msg: "Wystąpiły błędy podczas pobierania danych", nameSection: nameSection, err: err })
})
}
function graphRender(wrapNode, props) {
var svgNode = jQuery(wrapNode).children('svg')
svgNode = (svgNode.length) ? d3.select(svgNode.get(0)) : d3.select(wrapNode).append("svg")
// svg.append("rect").attr("x",0).attr("y",0).attr("width","100%").attr("height","100%").attr("fill","white").attr('class','background').on('mouseup', () => redraw())
// svgNode.attr("width", '100%')
// .attr("height", '300px')
// .append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")");
// var data = parseGraphRec(props.items, props.nameSection)
var _todoGraphData = [];
parseResponseRec(_todoGraphData, props.items, props.typeName)
if(DBG)console.log('_todoGraphData', _todoGraphData)
var _nodes = [];
var _links = [];
var mapNodeIdToIdx = {};
_todoGraphData.forEach(function (levelData, levelIdx) {
if (levelData.nodes && levelData.nodes.length) {
levelData.nodes.forEach(function (node) {
try {
if (node.id in mapNodeIdToIdx) return;
_nodes.push(node) // _nodes.add(node)
mapNodeIdToIdx[node.id] = _nodes.length - 1
} catch (e) {
if(DBG)console.log('_graphData.nodes.add [level='+levelIdx+'] error:', e);
}
})
}
})
var linkIdsAdded = []
_todoGraphData.forEach(function (levelData, levelIdx) {
if (levelData.edges && levelData.edges.length) {
levelData.edges.forEach(function (edge) {
if(DBG)console.log('_graphData.edges.add [level='+levelIdx+']:', {edge, source:mapNodeIdToIdx[edge.source], target:mapNodeIdToIdx[edge.target], mapNodeIdToIdx});
// try {
// var source = mapNodeIdToIdx[edge.source]
// var target = mapNodeIdToIdx[edge.target]
// if (!source || !target) { // && !== 0
// console.warn('(!source || !target)', {source, target, edge, mapNodeIdToIdx})
// }
if (-1 !== linkIdsAdded.indexOf(edge.id)) return
// _links.push({
// id: edge.id,
// source: mapNodeIdToIdx[edge.source],
// target: mapNodeIdToIdx[edge.target],
// value: 1
// })
_links.push({
id: edge.id,
source: edge.source,
target: edge.target,
value: 1
}) // _edges.add(edge)
linkIdsAdded.push(edge.id)
// } catch (e) {
// if(DBG)console.log('_graphData.edges.add [level='+levelIdx+'] error:', e);
// }
})
}
})
var totalLinks = _links.length
// console.log('DBG:0: _links', _links)
// console.log('DBG:1: _nodes', _nodes)
_nodes = _nodes.filter(function (node, idx) {
if (node.typeName !== props.typeName) return true
for (i=0; i
Brak powiązań')
return;
}
var graphData = { nodes: _nodes, links: _links };
var graf = renderGraph(svgNode, graphData, {
width: jQuery(wrapNode).width()
})
graf.on('click', (event) => {
if(DBG)console.log('event', event)
// event = {
// nativeEvent: d3.event,
// node: a,
// element: d3.event.srcElement
// }
// TODO: !a.expanded && redraw({type: a.name, criteria: 'ID'})
})
}
function parseGraphRec(items, featureType, parentFeatureId) {
var parentFeatureId = parentFeatureId || null
var nodesArray = []
var linksArray = []
if (!items) return;
items.forEach(function (item) {
if ('string' === typeof item) {
if(DBG)console.log('TODO: xlink "'+item+'": ', {item:item, parentFeatureId:parentFeatureId})
return;
}
if (!item['ID']) {
if(DBG)console.log('TODO: SKIP item('+featureType+') - missing ID: ', {item:item, parentFeatureId:parentFeatureId})
return;
}
var id = item['ID']
console.log('item('+featureType+'): ', {item:item, parentFeatureId:parentFeatureId})
var featureId = featureType + '.' + id
Object.keys(item).filter(function (fieldName) { return ('ID' !== fieldName); })
.forEach(function (fieldName) {
parseGraphRec(item[fieldName], fieldName, featureId)
})
})
// items.forEach(element => {
// const rowObject = hasTargetArray(element);
// if (rowObject)
// rowObject.array.forEach(objectElement => {
// const trackNode = hasTargetArray(objectElement);
// if (trackNode) {
// let group = trackNode.name;
// let expanded = false;
// if (expansion && expansion.type && group === expansion.type) {
// group = trackNode.array[0][expansion.criteria];
// expanded = true;
// }
// nodes[group] = {expanded: expanded, type: trackNode.name};
// instanceTypes[trackNode.array[0].ID] = group;
// }
// });
// });
return {
nodes: nodesArray,
links: linksArray
}
}
function parseResponseRec(_todoGraphData, json, typeName, parentNodeId, level) {
var level = level || 0
var parentNodeId = parentNodeId || null
if(DBG)console.log('DBG::parseResponseRec', {json:json, typeName:typeName, parentNodeId:parentNodeId, isString: p5Utils__isString(json), isArray: p5Utils__isArray(json), isObject: p5Utils__isObject(json)});
if (p5Utils__isArray(json)) {
// TODO: create named group
var isXlinkList = (json.length > 0 && p5Utils__isString(json[0]))
json.forEach(function (subJson) {
if (isXlinkList) {
parseResponseXlinkListRec(_todoGraphData, subJson, typeName, parentNodeId, level)
} else {
parseResponseRec(_todoGraphData, subJson, typeName, parentNodeId, level)
}
})
} else if (p5Utils__isObject(json) && isP5LinkObject(json)) {
if(DBG)console.log('DBG::parseResponseRec isP5LinkObject');
parseResponseP5Link(_todoGraphData, json, typeName, parentNodeId, level)
} else if (p5Utils__isObject(json)) {
// _todoGraphData.nodes.add({ id: nodeId, label: nodeId })
if (!_todoGraphData[level]) _todoGraphData[level] = { nodes: [], edges: [] }
var nodeObject = dataMakeNode({
typeName: typeName,
primaryKey: (json['ID']) ? json['ID'] : null, // TODO: get primaryKey from object
row: json,
})
var nodeId = nodeObject.id
if ("default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row" === typeName) {
parseResponseRec__row(_todoGraphData, json, typeName, parentNodeId, level)
}
else if ("default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object" === typeName) {
// parseResponseRec__row_object(_todoGraphData, json, typeName, parentNodeId, level)
Object.keys(json).filter(function (fieldName) {
return (fieldName.indexOf(':') > -1)
})
.forEach(function (fieldName) {
var value = json[fieldName]
parseResponseRec(_todoGraphData, value, fieldName, parentNodeId, level + 1)
})
}
else {
_todoGraphData[level].nodes.push(nodeObject)
if (parentNodeId) {
_todoGraphData[level].edges.push(dataMakeEdge(parentNodeId, nodeObject))
}
Object.keys(json).filter(function (fieldName) {
return (fieldName.indexOf(':') > -1)
})
.forEach(function (fieldName) {
var value = json[fieldName]
parseResponseRec(_todoGraphData, value, fieldName, nodeId, level + 1)
})
}
} else if (p5Utils__isString(json)) {
if(DBG)console.log('TODO: Not implemented - parseResponseRec isString');
} else {
if(DBG)console.log('TODO: Not implemented - parseResponseRec is not string, not array and not object');
}
}
function parseResponseXlinkListRec(_todoGraphData, json, typeName, parentNodeId, level) {
if(DBG)console.log('DBG::parseResponseRec:XlinkList', {json:json, typeName:typeName, parentNodeId:parentNodeId, isString: p5Utils__isString(json), isArray: p5Utils__isArray(json), isObject: p5Utils__isObject(json)});
if (p5Utils__isString(json)) { // xlink "https://biuro.biall-net.pl/wfs/default_db/BI_audit_ENERGA_RUM_KONTRAHENCI#BI_audit_ENERGA_RUM_KONTRAHENCI.9233",
var nodeId = json.substr(json.indexOf('#') + 1)
{
// _graphData.nodes.add({ id: nodeId, label: nodeId })
if (!_todoGraphData[level]) _todoGraphData[level] = { nodes: [], edges: [] }
var nodeObject = dataMakeXlinkNode({
xlink: json,
typeName: typeName,
})
_todoGraphData[level].nodes.push(nodeObject)
if (parentNodeId) {
_todoGraphData[level].edges.push(dataMakeEdge(parentNodeId, nodeObject))
}
}
} else if (p5Utils__isObject(json) && isP5LinkObject(json)) {
parseResponseP5Link(_todoGraphData, json, typeName, parentNodeId, level)
} else {
if(DBG)console.log('TODO: Not implemented - parseResponseRec:XlinkList is not string and not object');
}
}
function parseResponseP5Link(_todoGraphData, json, typeName, parentNodeId, level) {
if(DBG)console.log('parseResponseRec isObject and P5Link - fetch more xlink object');
// example json: { type: "next",
// @backRefNS: "default_db/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA/BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA",
// @backRefPK: "42",
// @typeName: "default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_P…ow:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row",
// @startIndex: "10" }
if (!parentNodeId) throw "Missing parentNodeId for ref link object";
var objectName = typeName.substr(typeName.indexOf(':') + 1)
{
// _graphData.nodes.add({ id: nodeId, label: nodeId })
if (!_todoGraphData[level]) _todoGraphData[level] = { nodes: [], edges: [] }
switch (json.type) {
case 'next': {
// TODO: add fetch next node
// var nodeObject = dataMakeFetchMoreNode({
// parentNodeId: parentNodeId,
// type: json.type,
// objectName: objectName,
// ref: json,
// })
// _todoGraphData[level].nodes.push(nodeObject)
// _todoGraphData[level].edges.push(dataMakeFetchMoreEdge(parentNodeId, nodeObject))
} break;
default: {
if(DBG)console.log('TODO: Not implemented - parseResponseRec isObject with type "'+json.type+'" - fetch more xlink object');
}
}
}
}
function parseResponseRec__row(_todoGraphData, json, typeName, parentNodeId, level) {
var nodeObject = dataMakeNode({
typeName: typeName,
primaryKey: (json['ID']) ? json['ID'] : null, // TODO: get primaryKey from object
})
var nodeId = nodeObject.id
// 'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row',
// 'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object',
// 'default_db__x3A__BI_audit_KRS:BI_audit_KRS' --> Kontrahenci
var rowObjectChildrens = []
var rowTN = 'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row'
var rowObjTN = 'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object:BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object'
// { row: row_obj: [ { ID, kontr: [ "http...kontr.ID" ] }, { ID, kontr: [ "http...krs.ID" ] } ], ... }
var rowJson = json
if (rowJson[rowObjTN] && rowJson[rowObjTN].length > 1) {
var pathItems = []
rowJson[rowObjTN].forEach(function (rowObjJson) {
Object.keys(rowObjJson)
.filter(function (rowObjFld) { return (-1 !== rowObjFld.indexOf(':')); })
.filter(function (rowObjRefFld) { return (rowObjJson[rowObjRefFld] && rowObjJson[rowObjRefFld].length); })
.forEach(function (rowObjRefFld) {
pathItems.push([ rowObjRefFld, rowObjJson[rowObjRefFld][0] ])
})
})
}
// console.log('node('+nodeId+') pathItems:', pathItems);
var lastParentFid = null
pathItems.reverse().forEach(function (pathItem) {
var nodeObject = ('string' === typeof pathItem[1])
? dataMakeXlinkNode({
xlink: pathItem[1],
typeName: pathItem[0]
})
: dataMakeNode({
typeName: pathItem[0],
primaryKey: (pathItem[1]['ID']) ? pathItem[1]['ID'] : null,
row: pathItem[1]
})
;
// _todoGraphData[todoLevel].nodes.push(nodeObject) // already added below
if (lastParentFid) _todoGraphData[level].edges.push(dataMakeEdge(lastParentFid, nodeObject))
lastParentFid = nodeObject.id
})
Object.keys(json).filter(function (fieldName) {
return (fieldName.indexOf(':') > -1)
})
.forEach(function (fieldName) {
var value = json[fieldName]
parseResponseRec(_todoGraphData, value, fieldName, parentNodeId, level + 1)
})
}
function isP5LinkObject(json) {
if ( !('type' in json) || !json['type'] ) return false;
if ( !('value' in json) || !json['value'] ) return false;
if ( !('@typeName' in json) || !json['@typeName'] ) return false;
if ( !('@startIndex' in json) || !json['@startIndex'] ) return false;
if ( !('@backRefPK' in json) || !json['@backRefPK'] ) return false;
if ( !('@backRefNS' in json) || !json['@backRefNS'] ) return false;
return true;
}
function dataMakeNode(params) {
var objectName = params.typeName.substr(params.typeName.indexOf(':') + 1)
var nodeId = objectName + '.' + params.primaryKey // TODO: primaryKey?
var graphNode = {
id: nodeId,
name: nodeId,
group: objectName,
_loaded: true,
typeName: params.typeName,
primaryKey: params.primaryKey // TODO: _primaryKey
}
if (params.row) graphNode.row = params.row
return graphAddNodeLabel(graphNode)
}
function dataMakeEdge(parentNodeId, nodeObject) {
return {
id: parentNodeId + nodeObject.id,
source: parentNodeId,
target: nodeObject.id,
}
}
function dataMakeXlinkNode(params) {
var objectName = params.typeName.substr(params.typeName.indexOf(':') + 1)
var nodeId = params.xlink.substr(params.xlink.indexOf('#') + 1)
var primaryKey = nodeId.substr(nodeId.lastIndexOf('.') + 1)
var graphNode = {
id: nodeId,
name: nodeId,
group: objectName,
_loaded: false,
typeName: params.typeName,
primaryKey: primaryKey
}
return graphAddNodeLabel(graphNode)
}
function dataMakeFetchMoreNode(params) {
// params = {
// parentNodeId: parentNodeId,
// type: json.type,
// objectName: objectName,
// ref: json,
// }
if(DBG)console.log('DBG dataMakeFetchMoreNode(params)', params)
var nodeId = params.parentNodeId+'fetch-more-features-'+params.type+'-on-' + params.objectName;
return {
id: nodeId,
label: 'Pobierz więcej (+)',
group: 'fetch-more-data', // params.objectName,
_loaded: false,
_type: 'ref',
parentNodeId: params.parentNodeId,
ref: params.ref,
// typeName: typeName,
// primaryKey: nodeId.substr(nodeId.lastIndexOf('.') + 1)
};
}
function dataMakeFetchMoreEdge(parentNodeId, fetchMoreNode) {
// @param parentNodeId - from node id
// @param fetchMoreNode - from dataMakeFetchMoreNode
if(DBG)console.log('DBG dataMakeFetchMoreEdge(parentNodeId, fetchMoreNode)', {parentNodeId:parentNodeId, fetchMoreNode:fetchMoreNode})
return {
id: fetchMoreNode.id,
from: parentNodeId,
to: fetchMoreNode.id
}
}
function makeShortLabel(label) { // TODO: shorter name
// BI_audit_ENERGA_RUM_KONTRAHENCI_POWIAZANIA_row_object.1234567
if (label.length < 30) return label;
var exLabel = label.split('.')
if (exLabel.length !== 2) return label;
return exLabel[0].substr(0, 24) + '...' + exLabel[0].substr(-10) + '.' + exLabel[1];
}
function graphAddNodeLabel(graphNode) {
// var graphNode = {
// id: nodeId,
// name: nodeId,
// group: objectName,
// _loaded: true,
// typeName: params.typeName,
// primaryKey: params.primaryKey // TODO: _primaryKey
// }
var label = graphNode.id // TODO: get from schema assert @label attribute
label = makeShortLabel(graphNode.id)
switch (graphNode.typeName) {
case 'default_db__x3A__BI_audit_KRS:BI_audit_KRS': {
//
if (graphNode.row) label = [graphNode.row.nazwa, graphNode.row.krs, graphNode.row.S_miejscowosc].filter(function (val) { return val; }).join(' ');
label = (label) ? label : makeShortLabel(graphNode.id)
label = label + ' (krs)'
} break;
case 'default_db__x3A__BI_audit_ENERGA_PRACOWNICY:BI_audit_ENERGA_PRACOWNICY': {
//
if (graphNode.row) label = [graphNode.row.imiona, graphNode.row.nazwisko, graphNode.row.miejscowosc].filter(function (val) { return val; }).join(' ');
label = (label) ? label : makeShortLabel(graphNode.id)
label = label + ' (pracownicy)'
} break;
case 'default_db__x3A__BI_audit_ENERGA_RUM_KONTRAHENCI:BI_audit_ENERGA_RUM_KONTRAHENCI': {
//
if (graphNode.row) label = [graphNode.row.Pelna_nazwa_kontrahenta].filter(function (val) { return val; }).join(' ');
label = (label) ? label : makeShortLabel(graphNode.id)
label = label + ' (kontrahent)'
} break;
case 'default_db__x3A__BI_audit_CEIDG:BI_audit_CEIDG': {
//
if (graphNode.row) label = [graphNode.row.nazwisko, graphNode.row.firma].filter(function (val) { return val; }).join(' ');
label = (label) ? label : makeShortLabel(graphNode.id)
label = label + ' (ceidg)'
} break;
case 'default_db__x3A__BI_audit_MSIG:BI_audit_MSIG': {
//
if (graphNode.row) label = [graphNode.row.nazwa].filter(function (val) { return val; }).join(' ');
label = (label) ? label : makeShortLabel(graphNode.id)
label = label + ' (msig)'
} break;
}
return Object.assign(graphNode, {
label: label,
})
}
/**
* Cleart list local storage by type
* typeNameLocalStorage - name (praconwicy/kontrahenci)
*/
function clearListLocalStorageByType(typeNameLocalStorage) {
if (typeNameLocalStorage === 'pracownicy') {
setItemLocalStorage('Bocian.biAuditForm.pracownicyIds', []);
}
if (typeNameLocalStorage === 'kontrahenci') {
setItemLocalStorage('Bocian.biAuditForm.kontrahenciIds', []);
}
// update count selected item
updateCountItemCheckedByType(typeNameLocalStorage);
// unchecked checkbox
$('#smad-table-'+typeNameLocalStorage.toUpperCase()+' form').find(':checkbox').prop('checked', false);
}
/**
* Update count selected pracowniyc/kontrahenci
*/
function updateCountItemCheckedByType(typeNameLocalStorage) {
var countId = 0;
updateTopCounters();
if (typeNameLocalStorage === 'pracownicy') {
var countPracownicy = getItemLocalStorage('Bocian.biAuditForm.pracownicyIds');
if (countPracownicy === null || countPracownicy === undefined) {
return countId;
}
countId = Object.keys(countPracownicy).length;
$('#count-selected-item-pracownicy').text(countId);
}
if (typeNameLocalStorage === 'kontrahenci') {
var countKontrahenci = getItemLocalStorage('Bocian.biAuditForm.kontrahenciIds');
if (countKontrahenci === null || countKontrahenci === undefined) {
return countId;
}
countId = Object.keys(countKontrahenci).length;
$('#count-selected-item-kontrahenci').text(countId);
}
return countId;
}
function updateTopCounters() {
var countPracownicy = getItemLocalStorage('Bocian.biAuditForm.pracownicyIds');
var countKontrahenci = getItemLocalStorage('Bocian.biAuditForm.kontrahenciIds');
var totalPracownicy = (countPracownicy) ? Object.keys(countPracownicy).length : 0;
var totalKontrahenci = (countKontrahenci) ? Object.keys(countKontrahenci).length : 0;
var depthValue = getItemLocalStorage('Bocian.biAuditForm.depth');
if(DBG) console.warn({totalPracownicy: totalPracownicy, totalKontrahenci: totalKontrahenci})
$('.top--count-selected-item-pracownicy').text(totalPracownicy ? '('+totalPracownicy+')' : '');
$('.top--count-selected-item-kontrahenci').text(totalKontrahenci ? '('+totalKontrahenci+')' : '');
$('.bottom--count-selected-item-pracownicy').text(totalPracownicy ? "Wybrano: (" + totalPracownicy + ") osób" : '');
$('.bottom--count-selected-item-kontrahenci').text(totalKontrahenci ? "Wybrano: (" + totalKontrahenci + ") podmiotów/kontrahentaów" : '');
// disable button generate reaport if not choise 'praconwicy' or 'kontrahenci'
if ( totalPracownicy === 0 && totalKontrahenci === 0 ) {
$('.smad-generate-reaport-button').addClass('disabled');
} else {
if ( ( totalPracownicy === 0 || totalKontrahenci === 0 ) && parseInt(depthValue) > 6) {
$('.bottom--message-warning-critical-search').text(messageCriticalSearchData);
if(DBG) console.log('dodanie komunikatu niżej');
} else {
if(DBG) console.log('wyczyc komunikatu niżej');
$('.bottom--message-warning-critical-search').text('');
}
$('.smad-generate-reaport-button').removeClass('disabled');
}
}
// Pagination
var Pagination = {
code: '', // end show html paginations
clickPage: 1, // set default 1 page
// --------------------
// Utility
// --------------------
// initialize default data
Extend: function(data) {
data = data || {};
Pagination.url = data.url;
Pagination.id_pagination = data.id_pagination;
Pagination.type = data.type;
Pagination.limit = data.limit;
Pagination.total_items = data.total_items;
Pagination.size = data.size || 2;
Pagination.page = data.page || 1;
Pagination.step = data.step || 3;
},
// add pages by number (from [s] to [f])
Add: function(s, f) {
for (var i = s; i < f; i++) {
Pagination.code += '' + i + '';
}
},
// add last page with separator
Last: function() {
Pagination.code += '>>';
},
// add first page with separator
First: function() {
Pagination.code += '<<';
},
// add last page with separator
Next: function() {
Pagination.code += '>';
},
// add first page with separator
Prev: function() {
Pagination.code += '<';
},
// --------------------
// Handlers
// --------------------
// change page
Click: function() {
clearSelectedCheckbox();
var selectPage = $("#pagination-"+Pagination.type.toLowerCase()+' .tblAjax__footer__toolbar__pagination').find('a.active').text();
Pagination.clickPage = +this.innerHTML || '';
if ( selectPage === NaN || selectPage > Pagination.size) { selectPage = 1; }
switch (this.innerHTML) {
case '>>': // last
Pagination.clickPage = Pagination.size;
break;
case '<<': // first
Pagination.clickPage = 1;
break;
case '<': // prev
Pagination.clickPage = parseInt(selectPage) - 1;
if (Pagination.clickPage < 1) {
Pagination.clickPage = 1;
}
break;
case '>': // next
Pagination.clickPage = parseInt(selectPage) + 1;
if (Pagination.clickPage > Pagination.size) {
Pagination.clickPage = Pagination.size;
}
break;
}
if ( Pagination.type === 'KONTRAHENCI' ) {
setItemLocalStorage('Bocian.biAuditForm.kontrahenci.pagination.page', Pagination.clickPage);
Pagination.page = urlFetchKontrahenci(Pagination.clickPage);
}
else if ( Pagination.type === 'PRACOWNICY' ){
setItemLocalStorage('Bocian.biAuditForm.pracownicy.pagination.page', Pagination.clickPage);
Pagination.page = urlFetchPracownicy(Pagination.clickPage);
}
Pagination.Start();
},
// --------------------
// Script structure pagination
// --------------------
// binding pages
Bind: function() {
var a = Pagination.e.getElementsByTagName('a');
var currentPage = Pagination.clickPage || 1;
for (var i = 0; i < a.length; i++) {
if (+a[i].innerHTML === Pagination.page) a[i].className = 'btn btn-default active';
a[i].addEventListener('click', Pagination.Click, false);
}
},
// write pagination
Finish: function() {
Pagination.e.innerHTML = Pagination.code;
Pagination.code = '';
Pagination.Bind();
},
// find pagination type
Start: function() {
Pagination.code = '';
if ( Pagination.type === 'KONTRAHENCI' ) {
Pagination.code = '';
} else if ( Pagination.type === 'PRACOWNICY' ) {
Pagination.code = '';
}
Pagination.code += '