aspnetboilerplate/aspnetboilerplate · warning
abp.ui.block is not implemented!
Error message
abp.ui.block is not implemented!
What it means
abp.ui.block is a stub in base abp.js that defines the UI-block API surface (blocking an element or the whole page with an overlay) without implementing it. Calling it logs this warning and does nothing. A UI adapter (typically abp.blockUI.js using jquery.blockUI) must be included.
Solutions
- Include abp.blockUI.min.js (which needs jquery.blockUI.js) after abp.js.
- Verify adapter load order in your bundle.
- Or implement: abp.ui.block = function (elm) { $(elm || document.body).block({ message: '...' }); };
Example fix
// before abp.ui.block(); // nothing happens, warning logged // after <script src="jquery.blockUI.js"></script> <script src="abp.blockUI.js"></script> abp.ui.block(); // overlay shown
Defensive patterns
Strategy: fallback
Validate before calling
if (/not implemented/.test(String(abp.ui.block))) { console.warn('abp.ui.block adapter missing'); } Type guard
function hasUiBlockAdapter() { return typeof abp.ui.block === 'function' && !/not implemented/.test(String(abp.ui.block)); } Try / catch
try { abp.ui.block($form); } catch (e) { $form.addClass('loading'); } Prevention
- Include jquery.blockUI.js and abp.blockUI.js after abp.js.
- Verify adapter order in bundled output.
- Don't rely on blocking for correctness — treat it as cosmetic.
When it happens
Trigger: Calling abp.ui.block(element) without a UI adapter overriding the stub.
Common situations: Apps showing blocking overlays during AJAX calls whose abp.blockUI.js include was dropped; adapter loaded before abp.js so stubs overwrite it.
Related errors
- abp.ui.unblock is not implemented!
- abp.message.confirm is not implemented!
- abp.message.info is not implemented!
- abp.message.success is not implemented!
- abp.message.warn is not implemented!
AI-assisted analysis of aspnetboilerplate/aspnetboilerplate@2323c13a15 (2026-09-08).
Data as JSON: /api/errors/9cc7e66fbee3061c.
Report an issue: GitHub.
Appendix: source
Thrown at src/Abp.Web.Resources/Abp/Framework/scripts/abp.js:486
if (!$) {
abp.log.warn('abp.message can not return promise since jQuery is not defined!');
return null;
}
return $.Deferred(function ($dfd) {
$dfd.resolve();
});
};
/* UI *******************************************************/
abp.ui = abp.ui || {};
/* UI BLOCK */
//Defines UI Block API, not implements it
abp.ui.block = function (elm) {
abp.log.warn('abp.ui.block is not implemented!');
};
abp.ui.unblock = function (elm) {
abp.log.warn('abp.ui.unblock is not implemented!');
};
/* UI BUSY */
//Defines UI Busy API, not implements it
abp.ui.setBusy = function (elm, optionsOrPromise) {
abp.log.warn('abp.ui.setBusy is not implemented!');
};
abp.ui.clearBusy = function (elm) {
abp.log.warn('abp.ui.clearBusy is not implemented!');
};
/* SIMPLE EVENT BUS *****************************************/View on GitHub (pinned to 2323c13a15)