Client Extensions
Novusoft client extensions are split into nine feature-local custom.js files and three feature-local additional-js.php declaration files. The scripts define browser-side handlers, DOM updates, modal flows, exports, and outbound component/custom requests. The declaration files add feature-specific JavaScript and CSS asset references.
[!WARNING] These sources are a map of declared client behavior, not proof of runtime availability. No inspected include, page-registration, or lifecycle boundary proves that every declared asset is loaded, that a script is reachable or executed in a browser, or that a request completes successfully. The component/custom route strings also have no separately verified server-side consumer or response contract in this scope. An alternate main.send_ajax request appears in a displayed block-commented region, but its complete executable/commented status remains unresolved under exact-line evidence. Browser-controlled values are serialized or collected for outbound requests; validation, authorization, ownership checks, and handler-side error translation are not established here.
Feature-local browser scripts
[
{
"title": "CGB",
"body": "`imspr/novusoft/include/cgb/custom.js` defines CGB client customization beginning with **cgblist**. Its source-defined surface covers report, detail, department, PPMP, and purchase-request interactions, modal transitions, and Excel-oriented export handlers."
},
{
"title": "GSO",
"body": "`imspr/novusoft/include/gso/custom.js` defines GSO client customization beginning with **getaccount**. It contains account and office-list retrieval, consolidated-list and item modal interactions, and table-export behavior."
},
{
"title": "New-PPMP",
"body": "`imspr/novusoft/include/new-ppmp/custom.js` defines dependent office, department, account, and PPMP selection behavior. It also contains guarded new-budget update interactions."
},
{
"title": "Office map",
"body": "`imspr/novusoft/include/office-map/custom.js` defines office-map listing and mapped-user lookup behavior from **list**, together with map-update and request-update interactions."
},
{
"title": "PPMP",
"body": "`imspr/novusoft/include/ppmp/custom.js` defines dependent PPMP filters for office, year, department, and account. It also initializes the office-change flow from **data_json**."
},
{
"title": "Purchase requests",
"body": "`imspr/novusoft/include/pr/custom.js` defines purchase-request item search, quantity selection, item-list updates, editor-state controls, status refresh behavior, and related modal interactions. Its source includes the component/custom item-search target `component/custom/qrB5Vq2veZ/search-item`."
},
{
"title": "RFQ",
"body": "`imspr/novusoft/include/rfq/custom.js` defines a **custom-add** RFQ dialog that collects an RFQ control number and prepares a source-declared AJAX popup request for the view-RFQ flow."
},
{
"title": "Tracking",
"body": "`imspr/novusoft/include/track/custom.js` defines tracking-table customization beginning with **moduledc**. Its source-defined surface covers comments, remarks, RFQ viewing, comment submission, detail submission, filtering, and horizontal table dragging."
},
{
"title": "View PPMP",
"body": "`imspr/novusoft/include/view-ppmp/custom.js` defines view-PPMP consolidation, per-item, printing, approval, deletion, transfer, and prepared-user interactions, including modal-based flows."
}
]
Supplemental asset declarations
The following files append entries to $data['vars']['js'] and $data['vars']['css']. The assignments establish declaration-array contents only.
| Declaration file | JavaScript declarations | CSS declarations |
|---|---|---|
imspr/novusoft/include/cgb/additional-js.php |
remodal.jsjquery.table2excel.jsxlsx.full.min.js (external declaration) |
remodal.cssremodal-default-theme.css |
imspr/novusoft/include/ppmp-management/additional-js.php |
remodal.js |
remodal.cssremodal-default-theme.css |
imspr/novusoft/include/pr/additional-js.php |
remodal.js |
remodal.cssremodal-default-theme.css |
Updated