diff --git a/ajax_list.js b/ajax_list.js
index 3217d92..9632527 100644
--- a/ajax_list.js
+++ b/ajax_list.js
@@ -8,6 +8,12 @@ $=jQuery;
$.fn.ajaxList = function (name_list, options)
{
+ if(!options.hasOwnProperty(loading)) {
+
+ $(loading).show();
+
+ }
+
table_base='
';
@@ -28,11 +34,8 @@ $=jQuery;
$(this).children('#'+name_list).append(list_tr);
- //alert(new_title_list.attr('id'));
-/*
- $(new_title_list).html('');*/
+ $(loading).hide();
- //new_title_list.show();
return false;
}
@@ -211,7 +214,206 @@ $=jQuery;
this.updateAjax(name_list, options, 0, '');
+ $(loading).hide();
+
return this;
}
})( jQuery );
+
+(function( $ ){
+
+ /* Add csrf token */
+
+ /* options: url: url to get urls, loading: dom id, success: func, pre_callback, separated_data:boolean */
+
+ $.fn.ajaxListSimple = function (fields, options) {
+
+ if(!options.hasOwnProperty("url")) {
+
+
+ list_tr=' \
+ | No ajax url defined | \
+
';
+
+ $(this).append(list_tr);
+
+ return false;
+
+ }
+
+ this.fields=fields;
+
+ this.options=options;
+
+ this.updateAjaxList=function () {
+
+ options=this.options;
+
+ if(options.hasOwnProperty("loading")) {
+
+ $(options.loading).show();
+
+ }
+
+ if(options.hasOwnProperty("pre_callback")) {
+
+ pre_callback(this);
+
+ }
+
+ //In url you can send, begin_page, num_elements for pagination.
+
+ $.ajax({
+ url: options.url,
+ type: 'GET',
+ data: {},
+ table: this,
+ success: function (data) {
+
+ $(options.loading).hide();
+
+ //console.log(table.options);
+
+ if(!data.error) {
+
+ var z=0;
+
+ for (const row of data.items) {
+ //console.log(element);
+
+ tr=this.table.append('
');
+
+ //for (const property in row) {
+ for (const field of this.table.fields) {
+
+ //console.log(`${property}: ${row[property]}`);
+
+ $('#row_ajaxlist_'+z).append(''+row[field]+' | ');
+
+
+ }
+
+ z++;
+
+ }
+
+ if(data.hasOwnProperty('total_num_items')) {
+
+
+
+ }
+
+ if(options.hasOwnProperty("success")) {
+
+ options.success(data);
+
+ }
+
+ }
+ else {
+
+ if(options.hasOwnProperty("error_data")) {
+
+ options.error_data(data);
+
+ }
+
+ }
+
+ },
+ error: function (data) {
+
+ $(options.loading).hide();
+
+ alert('Error: '+data.status+' '+data.statusText);
+
+ },
+ dataType: 'json'
+ });
+
+
+ };
+
+ this.updateAjaxList();
+
+ return this;
+
+ }
+
+
+
+})( jQuery );
+/*
+function pagination( begin_page, total_elements, num_elements, link ,initial_num_pages=20, variable='begin_page', label='', func_jscript='') {
+
+ css_class='link_pages';
+
+ pages='';
+
+ if(begin_page>total_elements) {
+
+ begin_page=0;
+ }
+
+ // Calculamos el total de todas las páginas
+
+ total_page=Math.ceil(total_elements/num_elements);
+
+ // Calculamos en que página nos encontramos
+
+ actual_page=Math.ceil(begin_page/num_elements);
+
+ // Calculamos el total de intervalos
+
+ total_interval=Math.ceil(total_page/initial_num_pages);
+
+ // Calculamos el intervalo en el que estamos
+
+ actual_interval=Math.floor(actual_page/initial_num_pages);
+
+ //Calculamos el elemento de inicio del intervalo
+
+ initial_page=Math.ceil(actual_interval*initial_num_pages*num_elements);
+
+ last_page=Math.ceil(actual_interval*initial_num_pages*num_elements)+Math.ceil(initial_num_pages*num_elements);
+
+ if (last_page>total_elements) {
+
+ last_page=total_elements;
+
+ }
+
+ if(initial_page>0) {
+
+ initial_link=add_get_parameters(link, **{variable: '0'});
+ middle_link=add_get_parameters(link, **{variable: str((initial_page-num_elements)) } );
+ pages += "1 << "
+
+ }
+
+ arr_pages={}
+
+ #for(x=initial_page;x"+str(num_page)+" "
+ arr_pages[begin_page]=''+str(num_page)+' ';
+ pages += arr_pages[x]
+
+
+ if last_page>> "+I18n.lang('common', 'last', 'Last')+""
+
+
+ return pages
+
+}
+*/