- Added comprehensive AI Assistant system (aiassist/ directory): * Vector search and embedding capabilities * Typebot proxy integration * Elastic search functionality * Message classification and chat history * MCP proxy for external integrations - Implemented Court Status API (GetCourtStatus.php): * Real-time court document status checking * Integration with external court systems * Comprehensive error handling and logging - Enhanced S3 integration: * Improved file backup system with metadata * Batch processing capabilities * Enhanced error logging and recovery * Copy operations with URL fixing - Added Telegram contact creation API - Improved error logging across all modules - Enhanced callback system for AI responses - Extensive backup file storage with timestamps - Updated documentation and README files - File storage improvements: * Thousands of backup files with proper metadata * Fix operations for broken file references * Project-specific backup and recovery systems * Comprehensive file integrity checking Total: 26,461+ files added/modified including AWS SDK, vendor dependencies, and extensive backup system.
46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
(function ($) {
|
|
"use strict";
|
|
/**
|
|
* Handsontable RemoveRow extension. See `demo/buttons.html` for example usage
|
|
* @param {Object} instance
|
|
* @param {Array|Boolean} [labels]
|
|
*/
|
|
Handsontable.extension.RemoveRow = function (instance, labels) {
|
|
var that = this;
|
|
this.priority = 1;
|
|
this.className = 'htRemoveRow htNoFrame';
|
|
this.instance = instance;
|
|
this.labels = labels;
|
|
|
|
instance.blockedCols.main.on('mousedown', 'th.htRemoveRow .btn', function () {
|
|
instance.alter("remove_row", $(this).parents('tr').index());
|
|
});
|
|
instance.container.on('mouseover', 'tbody th, tbody td', function () {
|
|
that.getButton(this).show();
|
|
});
|
|
instance.container.on('mouseout', 'tbody th, tbody td', function () {
|
|
that.getButton(this).hide();
|
|
});
|
|
|
|
instance.blockedCols.addHeader(this);
|
|
instance.container.addClass('htRemoveRow');
|
|
};
|
|
|
|
/**
|
|
* Return custom row label or automatically generate one
|
|
* @param {Number} index Row index
|
|
* @return {String}
|
|
*/
|
|
Handsontable.extension.RemoveRow.prototype.columnLabel = function (index) {
|
|
return '<div class="btn">x</div>';
|
|
};
|
|
|
|
/**
|
|
* Return button object for a given TD or TH
|
|
* @param {Element} td
|
|
* @return {jQuery}
|
|
*/
|
|
Handsontable.extension.RemoveRow.prototype.getButton = function (td) {
|
|
return this.instance.blockedCols.main.find('th.htRemoveRow .btn').eq($(td.parentNode).index());
|
|
};
|
|
})(jQuery); |