Commit inicial - WordPress Análisis de Precios Unitarios

- WordPress core y plugins
- Tema Twenty Twenty-Four configurado
- Plugin allow-unfiltered-html.php simplificado
- .gitignore configurado para excluir wp-config.php y uploads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root
2025-11-03 21:04:30 -06:00
commit a22573bf0b
24068 changed files with 4993111 additions and 0 deletions

View File

@@ -0,0 +1,124 @@
/**
* Created by PhpStorm.
* User: Ovidiu
* Date: 1/16/2018
* Time: 5:24 PM
*/
module.exports = Backbone.View.extend( {
template: TVE_Dash.tpl( 'pagination' ),
events: {
'click a.page': 'changePage',
'change .tab-items-per-page': 'changeItemPerPage'
},
currentPage: 1,
pageCount: 1,
itemsPerPage: 10,
total_items: 0,
collection: null,
params: null,
view: null,
initialize: function ( options ) {
this.collection = options.collection;
this.view = options.view;
},
changeItemPerPage: function ( event ) {
this.itemsPerPage = jQuery( event.target ).val();
this.changePage( null, {page: 1} );
},
changePage: function ( event, args ) {
var data = {
itemsPerPage: this.itemsPerPage
};
/* Set the current page of the pagination. This can be changed by clicking on a page or by just calling this method with params */
if ( event && typeof event.currentTarget !== 'undefined' ) {
data.page = jQuery( event.currentTarget ).attr( 'value' );
} else if ( args && typeof args.page !== 'undefined' ) {
data.page = parseInt( args.page );
} else {
data.page = this.currentPage;
}
/* just to make sure */
if ( data.page < 1 ) {
data.page = 1;
}
/* Parse args sent to pagination */
if ( typeof args !== 'undefined' ) {
/* When "per page" filter changes, those values are not sent so we save them in the view so we can have them for later */
if ( typeof args.search_by !== 'undefined' ) {
this.search_by = args.search_by;
}
}
/* In case we've saved this before */
data.search_by = this.search_by ? this.search_by.toLowerCase() : '';
if ( typeof this.view != 'undefined' && this.view != null ) {
/* Prepare params for pagination render */
this.updateParams( data.page, this.collection.length );
var currentCollection = this.collection.clone(),
from = (this.currentPage - 1) * this.itemsPerPage,
collectionSlice,
removeIds = [],
c_source = '';
if ( typeof currentCollection.comparator !== 'undefined' ) {
currentCollection.sort();
}
if ( data.search_by ) {
currentCollection.each( function ( model ) {
var title = model.get( 'title' ).toLowerCase(),
goal_pages = JSON.stringify( model.get( 'goal_pages' ) ).toLowerCase(),
page_title = model.get( 'page_title' ).toLowerCase();
if ( title.indexOf( data.search_by ) === - 1 && goal_pages.indexOf( data.search_by ) === - 1 && page_title.indexOf( data.search_by ) === - 1 ) {
removeIds.push( model );
}
} );
for ( var i in removeIds ) {
currentCollection.remove( removeIds[i] );
}
c_source = 'search_by';
}
collectionSlice = currentCollection.chain().rest( from ).first( this.itemsPerPage ).value();
/* render sliced view collection */
this.view.render( collectionSlice, c_source );
/* render pagination */
this.render();
}
return false;
},
updateParams: function ( page, total ) {
this.currentPage = page;
this.total_items = total;
this.pageCount = Math.ceil( this.total_items / this.itemsPerPage );
},
setupParams: function ( page ) {
this.currentPage = page;
this.total_items = this.collection.length;
this.pageCount = Math.ceil( this.total_items / this.itemsPerPage );
},
render: function () {
this.$el.html( this.template( {
currentPage: parseInt( this.currentPage ),
pageCount: parseInt( this.pageCount ),
total_items: parseInt( this.total_items ),
itemsPerPage: parseInt( this.itemsPerPage )
} ) );
TVE_Dash.materialize( this.$el );
return this;
}
} );