AutorÃa | Ultima modificación | Ver Log |
define("core_ai/aiprovider_instance_management_table",["exports","core_admin/plugin_management_table","core/ajax","core_table/dynamic","core/pending","core/notification","core/prefetch","core/str","core/modal_delete_cancel","core/modal_events"],(function(_exports,_plugin_management_table,_ajax,_dynamic,_pending,_notification,_prefetch,_str,_modal_delete_cancel,_modal_events){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,_plugin_management_table=_interopRequireDefault(_plugin_management_table),_pending=_interopRequireDefault(_pending),_modal_delete_cancel=_interopRequireDefault(_modal_delete_cancel),_modal_events=_interopRequireDefault(_modal_events);let watching=!1;
/**
* Handles setting plugin state for the AI provider management table.
*
* @module core_ai/aiprovider_instance_management_table
* @copyright 2024 Matt Porritt <matt.porritt@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/class _default extends _plugin_management_table.default{constructor(){super(),this.addClickHandler(this.handleDelete)}static init(){watching||((0,_prefetch.prefetchStrings)("core_ai",["providerinstancedelete","providerinstancedeleteconfirm"]),watching=!0,new this)}deleteProvider(methodname,providerid){return(0,_ajax.call)([{methodname:methodname,args:{providerid:providerid}}])[0]}async handleDelete(tableRoot,e){if(e.target.closest("[data-delete-method]")){e.preventDefault();const providerId=e.target.dataset.id,deleteMethod=e.target.dataset.deleteMethod,bodyParams={provider:e.target.dataset.provider,name:e.target.dataset.name},modal=await _modal_delete_cancel.default.create({title:(0,_str.getString)("providerinstancedelete","core_ai"),body:(0,_str.getString)("providerinstancedeleteconfirm","core_ai",bodyParams),show:!0,removeOnClose:!0});modal.getRoot().on(_modal_events.default.delete,(async e=>{e.preventDefault();const pendingPromise=new _pending.default("core_table/dynamic:deleteProvider");await this.d
eleteProvider(deleteMethod,providerId),await Promise.all([(0,_dynamic.refreshTableContent)(tableRoot),(0,_notification.fetchNotifications)()]),modal.destroy(),pendingPromise.resolve()}))}}}return _exports.default=_default,_exports.default}));
//# sourceMappingURL=aiprovider_instance_management_table.min.js.map