Fix code quality violations and enhance ROUTE-EXISTS-01 rule
Implement JQHTML function cache ID system and fix bundle compilation Implement underscore prefix for system tables Fix JS syntax linter to support decorators and grant exception to Task system SPA: Update planning docs and wishlists with remaining features SPA: Document Navigation API abandonment and future enhancements Implement SPA browser integration with History API (Phase 1) Convert contacts view page to SPA action Convert clients pages to SPA actions and document conversion procedure SPA: Merge GET parameters and update documentation Implement SPA route URL generation in JavaScript and PHP Implement SPA bootstrap controller architecture Add SPA routing manual page (rsx:man spa) Add SPA routing documentation to CLAUDE.md Phase 4 Complete: Client-side SPA routing implementation Update get_routes() consumers for unified route structure Complete SPA Phase 3: PHP-side route type detection and is_spa flag Restore unified routes structure and Manifest_Query class Refactor route indexing and add SPA infrastructure Phase 3 Complete: SPA route registration in manifest Implement SPA Phase 2: Extract router code and test decorators Rename Jqhtml_Component to Component and complete SPA foundation setup 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
0
storage-working/rsx-tmp/babel_cache/00ba3b4e9bd2b4fb5a656dbc8eae2366_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/00ba3b4e9bd2b4fb5a656dbc8eae2366_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/01cdb62e7a12d06b362193f4baca58a6_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/01cdb62e7a12d06b362193f4baca58a6_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Dropdown_Menu extends Jqhtml_Component {
|
||||
class Dropdown_Menu extends Component {
|
||||
on_ready() {
|
||||
// Wrap bare text children in <li><a> structure
|
||||
const $menu = this.$id('menu');
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/037b2408ba9b94e5a0bdfeb009b0d167_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/037b2408ba9b94e5a0bdfeb009b0d167_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Sidebar_Nav extends Jqhtml_Component {
|
||||
class Sidebar_Nav extends Component {
|
||||
on_ready() {
|
||||
// Auto-wrap children in nav structure if needed
|
||||
const $nav_items = this.$id('nav_items');
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/03f1d390ef3cf730690e3e8129ee6492_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/03f1d390ef3cf730690e3e8129ee6492_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Info_Box extends Jqhtml_Component {
|
||||
class Info_Box extends Component {
|
||||
on_ready() {
|
||||
// Apply color from args
|
||||
if (this.args.color) {
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/041b2d618df47a5716acef27cf3fe5be_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/041b2d618df47a5716acef27cf3fe5be_modern.js
Normal file → Executable file
@@ -15,7 +15,7 @@
|
||||
* - Have .Widget CSS class
|
||||
* - Have data-name attribute set by Form_Field
|
||||
*/
|
||||
class Form_Input_Abstract extends Jqhtml_Component {
|
||||
class Form_Input_Abstract extends Component {
|
||||
/**
|
||||
* val() - Get or set the current value
|
||||
* Subclasses MUST implement this method
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/049aee939d8e2ed2e7d17b72f8e5ef94_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/049aee939d8e2ed2e7d17b72f8e5ef94_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/05968c4da5081d6ecd4f0fd1d7b57b73_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/05968c4da5081d6ecd4f0fd1d7b57b73_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/0839dd63bc794efee6e562751088123c_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/0839dd63bc794efee6e562751088123c_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Advanced_Search_Panel extends Jqhtml_Component {
|
||||
class Advanced_Search_Panel extends Component {
|
||||
on_ready() {
|
||||
// Populate dropdowns if provided
|
||||
if (this.args.categories) {
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/088a8c96afd99a4be26844fd17e4a8df_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/088a8c96afd99a4be26844fd17e4a8df_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Kanban_Board extends Jqhtml_Component {
|
||||
class Kanban_Board extends Component {
|
||||
async on_load() {
|
||||
if (this.args.data_source) {
|
||||
const response = await fetch(this.args.data_source);
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/09ce71f1a60b18d9c4e778965c2aa675_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/09ce71f1a60b18d9c4e778965c2aa675_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Notification_Dropdown extends Jqhtml_Component {
|
||||
class Notification_Dropdown extends Component {
|
||||
on_ready() {
|
||||
// No special behavior
|
||||
}
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/0b2dd0d2482866b3f991491873b15107_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/0b2dd0d2482866b3f991491873b15107_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/0cd1cc73abfb2273e31b79d117269471_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/0cd1cc73abfb2273e31b79d117269471_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Icon extends Jqhtml_Component {
|
||||
class Icon extends Component {
|
||||
// SVG icon container with size variants
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJY29uIiwiSnFodG1sX0NvbXBvbmVudCJdLCJzb3VyY2VzIjpbInJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2ljb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiY2xhc3MgSWNvbiBleHRlbmRzIEpxaHRtbF9Db21wb25lbnQge1xuICAgIC8vIFNWRyBpY29uIGNvbnRhaW5lciB3aXRoIHNpemUgdmFyaWFudHNcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNQSxJQUFJLFNBQVNDLGdCQUFnQixDQUFDO0VBQ2hDO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
||||
0
storage-working/rsx-tmp/babel_cache/103529830986aa94616efb6a45f5e50a_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/103529830986aa94616efb6a45f5e50a_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/107696a065026c7e92f525440c2c66ad_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/107696a065026c7e92f525440c2c66ad_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Table_Pagination extends Jqhtml_Component {
|
||||
class Table_Pagination extends Component {
|
||||
on_ready() {
|
||||
// Generate pagination if pages provided via args
|
||||
if (this.args.current_page && this.args.total_pages) {
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/114019158b456dd9e76e5a97d2903257_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/114019158b456dd9e76e5a97d2903257_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/1305284af77f7bffacdd2996a93ab0af_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/1305284af77f7bffacdd2996a93ab0af_modern.js
Normal file → Executable file
@@ -6,7 +6,7 @@
|
||||
* Instance of a modal dialog. Handles lifecycle, sizing, and user interaction.
|
||||
* Typically created and managed by the Modal static API class.
|
||||
*/
|
||||
class Rsx_Modal extends Jqhtml_Component {
|
||||
class Rsx_Modal extends Component {
|
||||
on_create() {
|
||||
this.data.title = '';
|
||||
this.data.body_content = null;
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/1394fe2f02b002663ff290d59449f6ef_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/1394fe2f02b002663ff290d59449f6ef_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/1569c2c87fc792f826657308af4bd14f_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/1569c2c87fc792f826657308af4bd14f_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Metric_Card extends Jqhtml_Component {
|
||||
class Metric_Card extends Component {
|
||||
// Pure container - children already styled
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNZXRyaWNfQ2FyZCIsIkpxaHRtbF9Db21wb25lbnQiXSwic291cmNlcyI6WyJyc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9NZXRyaWNfQ2FyZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjbGFzcyBNZXRyaWNfQ2FyZCBleHRlbmRzIEpxaHRtbF9Db21wb25lbnQge1xuICAgIC8vIFB1cmUgY29udGFpbmVyIC0gY2hpbGRyZW4gYWxyZWFkeSBzdHlsZWRcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNQSxXQUFXLFNBQVNDLGdCQUFnQixDQUFDO0VBQ3ZDO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
||||
2
storage-working/rsx-tmp/babel_cache/17cd00a20e52d42b6030ff5db40df1eb_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/17cd00a20e52d42b6030ff5db40df1eb_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Bulk_Action_Bar extends Jqhtml_Component {
|
||||
class Bulk_Action_Bar extends Component {
|
||||
on_ready() {
|
||||
// Clear selection on close
|
||||
this.$id('close_btn').on('click', () => {
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/180cbd5af2a22fdc5a6c1a9d3dcc7f5c_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/180cbd5af2a22fdc5a6c1a9d3dcc7f5c_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/18e74d00d44fed49e3d99961a92796f7_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/18e74d00d44fed49e3d99961a92796f7_modern.js
Normal file → Executable file
@@ -7,7 +7,7 @@
|
||||
* Design: Flexbox layout using Bootstrap utility classes
|
||||
* Layout: Title/breadcrumbs on left, actions/buttons on right
|
||||
*/
|
||||
class Page_Header extends Jqhtml_Component {
|
||||
class Page_Header extends Component {
|
||||
// Page_Header is a pure container component - no lifecycle methods needed
|
||||
// All layout from Bootstrap utilities: d-flex, justify-content-between, align-items-center, py-4
|
||||
}
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/193599130a1f3a3e81b4f16b70d00070_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/193599130a1f3a3e81b4f16b70d00070_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/1b7e46545a00778a5e9cf35b2b1546ea_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/1b7e46545a00778a5e9cf35b2b1546ea_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Icon_Button extends Jqhtml_Component {
|
||||
class Icon_Button extends Component {
|
||||
on_ready() {
|
||||
// Add aria-label for accessibility (icon-only buttons need labels)
|
||||
if (this.args.label) {
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/1bccf3357167ec529c021f7fe6d65e0d_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/1bccf3357167ec529c021f7fe6d65e0d_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Chart_Component extends Jqhtml_Component {
|
||||
class Chart_Component extends Component {
|
||||
// Placeholder component - no functionality yet
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGFydF9Db21wb25lbnQiLCJKcWh0bWxfQ29tcG9uZW50Il0sInNvdXJjZXMiOlsicnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvQ2hhcnRfQ29tcG9uZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNsYXNzIENoYXJ0X0NvbXBvbmVudCBleHRlbmRzIEpxaHRtbF9Db21wb25lbnQge1xuICAgIC8vIFBsYWNlaG9sZGVyIGNvbXBvbmVudCAtIG5vIGZ1bmN0aW9uYWxpdHkgeWV0XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsTUFBTUEsZUFBZSxTQUFTQyxnQkFBZ0IsQ0FBQztFQUMzQztBQUFBIiwiaWdub3JlTGlzdCI6W119
|
||||
0
storage-working/rsx-tmp/babel_cache/1eae33042b6965dee746cbccf044cb70_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/1eae33042b6965dee746cbccf044cb70_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/1f51e38ce1615711e162b0af75247247_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/1f51e38ce1615711e162b0af75247247_modern.js
Normal file → Executable file
@@ -7,7 +7,7 @@
|
||||
* Design: Bootstrap .form-select styling with dropdown arrow
|
||||
* Content: Contains <option> elements
|
||||
*/
|
||||
class Select_Dropdown extends Jqhtml_Component {
|
||||
class Select_Dropdown extends Component {
|
||||
on_ready() {
|
||||
// Set value if provided
|
||||
if (this.args.value) {
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/1fe7d1f15850d2abfa88767c1277d250_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/1fe7d1f15850d2abfa88767c1277d250_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Blockquote extends Jqhtml_Component {
|
||||
class Blockquote extends Component {
|
||||
on_ready() {
|
||||
// No special behavior
|
||||
}
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/1ffd9348d37ed56904d73292b64d1349_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/1ffd9348d37ed56904d73292b64d1349_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Button_Secondary extends Jqhtml_Component {
|
||||
class Button_Secondary extends Component {
|
||||
// Secondary action button - lower prominence than primary
|
||||
// Bootstrap btn-secondary provides gray color scheme
|
||||
}
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/22cc22b2096493d5fa354f85354fa01c_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/22cc22b2096493d5fa354f85354fa01c_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/258443a8dcd4e495e37b257430935f84_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/258443a8dcd4e495e37b257430935f84_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Rich_Text_Editor extends Jqhtml_Component {
|
||||
class Rich_Text_Editor extends Component {
|
||||
on_ready() {
|
||||
const $editor = this.$id('editor');
|
||||
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/274db062fc244fd37e4142ac8700ed41_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/274db062fc244fd37e4142ac8700ed41_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Overdue_Indicator extends Jqhtml_Component {
|
||||
class Overdue_Indicator extends Component {
|
||||
// Pure Bootstrap styling - no JavaScript needed
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPdmVyZHVlX0luZGljYXRvciIsIkpxaHRtbF9Db21wb25lbnQiXSwic291cmNlcyI6WyJyc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9PdmVyZHVlX0luZGljYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjbGFzcyBPdmVyZHVlX0luZGljYXRvciBleHRlbmRzIEpxaHRtbF9Db21wb25lbnQge1xuICAgIC8vIFB1cmUgQm9vdHN0cmFwIHN0eWxpbmcgLSBubyBKYXZhU2NyaXB0IG5lZWRlZFxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLE1BQU1BLGlCQUFpQixTQUFTQyxnQkFBZ0IsQ0FBQztFQUM3QztBQUFBIiwiaWdub3JlTGlzdCI6W119
|
||||
2
storage-working/rsx-tmp/babel_cache/279c6470ff94a1f09887539324d1506c_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/279c6470ff94a1f09887539324d1506c_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Bulk_Selection extends Jqhtml_Component {
|
||||
class Bulk_Selection extends Component {
|
||||
on_ready() {
|
||||
const $checkbox = this.$id('checkbox');
|
||||
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/295a4bcc923e18df0d804373dc4902fb_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/295a4bcc923e18df0d804373dc4902fb_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Text_Display extends Jqhtml_Component {
|
||||
class Text_Display extends Component {
|
||||
// Generic text display - inherits Bootstrap typography
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZXh0X0Rpc3BsYXkiLCJKcWh0bWxfQ29tcG9uZW50Il0sInNvdXJjZXMiOlsicnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGV4dF9kaXNwbGF5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNsYXNzIFRleHRfRGlzcGxheSBleHRlbmRzIEpxaHRtbF9Db21wb25lbnQge1xuICAgIC8vIEdlbmVyaWMgdGV4dCBkaXNwbGF5IC0gaW5oZXJpdHMgQm9vdHN0cmFwIHR5cG9ncmFwaHlcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNQSxZQUFZLFNBQVNDLGdCQUFnQixDQUFDO0VBQ3hDO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
||||
0
storage-working/rsx-tmp/babel_cache/298c765cf2066246bb0f916ae7a80420_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/298c765cf2066246bb0f916ae7a80420_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/2a6e4f8c6a2fb6353d369141fae3d232_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/2a6e4f8c6a2fb6353d369141fae3d232_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/2b161ca6e014f1c9e4c872b6e0a41985_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/2b161ca6e014f1c9e4c872b6e0a41985_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/2e84a16add5d11489e16ac839d5de421_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/2e84a16add5d11489e16ac839d5de421_modern.js
Normal file → Executable file
12
storage-working/rsx-tmp/babel_cache/2f3308810448529ff005f104ec561b80_modern.js
Normal file → Executable file
12
storage-working/rsx-tmp/babel_cache/2f3308810448529ff005f104ec561b80_modern.js
Normal file → Executable file
@@ -4,7 +4,7 @@
|
||||
* JQHTML Integration - Automatic component registration and binding
|
||||
*
|
||||
* This module automatically:
|
||||
* 1. Registers component classes that extend Jqhtml_Component
|
||||
* 1. Registers component classes that extend Component
|
||||
* 2. Binds templates to component classes when names match
|
||||
* 3. Enables $(selector).component("Component_Name") syntax
|
||||
*/
|
||||
@@ -15,7 +15,7 @@ class Jqhtml_Integration {
|
||||
* of framework init.
|
||||
*/
|
||||
static _on_framework_modules_define() {
|
||||
let jqhtml_components = Manifest.get_extending('Jqhtml_Component');
|
||||
let jqhtml_components = Manifest.get_extending('Component');
|
||||
console_debug('JQHTML_INIT', 'Registering ' + jqhtml_components.length + ' Jqhtml Components');
|
||||
for (let component of jqhtml_components) {
|
||||
jqhtml.register_component(component.class_name, component.class_object);
|
||||
@@ -31,7 +31,7 @@ class Jqhtml_Integration {
|
||||
static _on_framework_modules_init($scope) {
|
||||
const is_top_level = !$scope;
|
||||
const promises = [];
|
||||
const components_needing_init = ($scope || $('body')).find('.Jqhtml_Component_Init');
|
||||
const components_needing_init = ($scope || $('body')).find('.Component_Init');
|
||||
if (components_needing_init.length > 0) {
|
||||
console_debug('JQHTML_INIT', `Initializing ${components_needing_init.length} DOM components`);
|
||||
}
|
||||
@@ -44,10 +44,10 @@ class Jqhtml_Integration {
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if any parent has Jqhtml_Component_Init class - skip nested components
|
||||
// Check if any parent has Component_Init class - skip nested components
|
||||
let parent = $element[0].parentElement;
|
||||
while (parent) {
|
||||
if (parent.classList.contains('Jqhtml_Component_Init')) {
|
||||
if (parent.classList.contains('Component_Init')) {
|
||||
return; // Skip this element, it's nested
|
||||
}
|
||||
parent = parent.parentElement;
|
||||
@@ -92,7 +92,7 @@ class Jqhtml_Integration {
|
||||
$element.empty();
|
||||
|
||||
// Remove the init class before instantiation to prevent re-initialization
|
||||
$element.removeClass('Jqhtml_Component_Init');
|
||||
$element.removeClass('Component_Init');
|
||||
|
||||
// Create promise for this component's initialization
|
||||
const component_promise = new Promise(resolve => {
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/2f7a69badf3eacce59a508a0c3f2cae7_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/2f7a69badf3eacce59a508a0c3f2cae7_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/305b758afdc87e93f2823f14d43897d3_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/305b758afdc87e93f2823f14d43897d3_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/310cd49ebb10576180517e3e74a49965_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/310cd49ebb10576180517e3e74a49965_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/32acf75184e67a3bfe902c80fbc5797c_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/32acf75184e67a3bfe902c80fbc5797c_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Input_With_Icon extends Jqhtml_Component {
|
||||
class Input_With_Icon extends Component {
|
||||
on_ready() {
|
||||
const $input = this.$id('input');
|
||||
if (this.args.value) {
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/3413c9c8a2881d47015e9c29c21f058f_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/3413c9c8a2881d47015e9c29c21f058f_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Data_Table extends Jqhtml_Component {
|
||||
class Data_Table extends Component {
|
||||
on_render() {
|
||||
// Hide until data loads to prevent visual glitches
|
||||
if (Object.keys(this.data).length === 0) {
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/344c4db5ef774159d66fa36a08d309e4_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/344c4db5ef774159d66fa36a08d309e4_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Client_Label_Link extends Jqhtml_Component {
|
||||
class Client_Label_Link extends Component {
|
||||
on_create() {
|
||||
this.data.loading = true;
|
||||
this.data.client = null;
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/35804223a78f16a246b80cf022539237_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/35804223a78f16a246b80cf022539237_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/358a4855826ee6291bbdb70a1d09829f_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/358a4855826ee6291bbdb70a1d09829f_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/370df409369e6f4acd1a7997b5f6932d_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/370df409369e6f4acd1a7997b5f6932d_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/37483151e827fa3b1f6bc4e5ce6a844a_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/37483151e827fa3b1f6bc4e5ce6a844a_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Gantt_Chart extends Jqhtml_Component {
|
||||
class Gantt_Chart extends Component {
|
||||
async on_load() {
|
||||
if (this.args.data_source) {
|
||||
const response = await fetch(this.args.data_source);
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/377afeeaf1a3e370133e5576dea5e0bc_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/377afeeaf1a3e370133e5576dea5e0bc_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/3ac24ced1be2c1206b6d134c73026582_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/3ac24ced1be2c1206b6d134c73026582_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class List extends Jqhtml_Component {
|
||||
class List extends Component {
|
||||
on_ready() {
|
||||
// Add list-group-item class to each direct child
|
||||
this.$.children().each(function () {
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/3ca6270fa021d5532c02184eea423b65_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/3ca6270fa021d5532c02184eea423b65_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Timestamp_Display extends Jqhtml_Component {
|
||||
class Timestamp_Display extends Component {
|
||||
// Pure Bootstrap styling - no JavaScript needed
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUaW1lc3RhbXBfRGlzcGxheSIsIkpxaHRtbF9Db21wb25lbnQiXSwic291cmNlcyI6WyJyc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9UaW1lc3RhbXBfRGlzcGxheS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjbGFzcyBUaW1lc3RhbXBfRGlzcGxheSBleHRlbmRzIEpxaHRtbF9Db21wb25lbnQge1xuICAgIC8vIFB1cmUgQm9vdHN0cmFwIHN0eWxpbmcgLSBubyBKYXZhU2NyaXB0IG5lZWRlZFxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLE1BQU1BLGlCQUFpQixTQUFTQyxnQkFBZ0IsQ0FBQztFQUM3QztBQUFBIiwiaWdub3JlTGlzdCI6W119
|
||||
2
storage-working/rsx-tmp/babel_cache/3f809f4047e91b45f6a201b8042a5b19_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/3f809f4047e91b45f6a201b8042a5b19_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Client_Label extends Jqhtml_Component {
|
||||
class Client_Label extends Component {
|
||||
on_create() {
|
||||
this.data.loading = true;
|
||||
this.data.client = null;
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/3febc3aa180c8397442a86eae6cf3792_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/3febc3aa180c8397442a86eae6cf3792_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Searchable_Select extends Jqhtml_Component {
|
||||
class Searchable_Select extends Component {
|
||||
on_ready() {
|
||||
this.selected_value = this.args.value || null;
|
||||
this.all_options = this.args.options || [];
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/41a6503b358d8803f253cabe14ec3cba_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/41a6503b358d8803f253cabe14ec3cba_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/41f169dab54449abbfa36c2f0af38c76_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/41f169dab54449abbfa36c2f0af38c76_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/4412feede703b392035d77aa3ac0a70d_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/4412feede703b392035d77aa3ac0a70d_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/464ea1883794ece505d1dba10d09420f_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/464ea1883794ece505d1dba10d09420f_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Inline_Edit_Field extends Jqhtml_Component {
|
||||
class Inline_Edit_Field extends Component {
|
||||
on_ready() {
|
||||
this.current_value = this.args.value || '';
|
||||
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/4683377b93d7096f5c558ed9df703356_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/4683377b93d7096f5c558ed9df703356_modern.js
Normal file → Executable file
@@ -8,7 +8,7 @@
|
||||
* 2. on_load() - Fetch data from APIs (parallel execution, no DOM modifications)
|
||||
* 3. on_ready() - Component fully initialized, runs bottom-up through component tree
|
||||
*/
|
||||
class Form_Row_Component extends Jqhtml_Component {
|
||||
class Form_Row_Component extends Component {
|
||||
/**
|
||||
* Called after render, quick UI setup (bottom-up)
|
||||
* Use for: Initial state, event bindings, showing loading indicators
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/46d68e760d53d1ac8f874f1a02bdcc82_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/46d68e760d53d1ac8f874f1a02bdcc82_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Popover extends Jqhtml_Component {
|
||||
class Popover extends Component {
|
||||
on_ready() {
|
||||
// Set popover content from args
|
||||
if (this.args.title) {
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/495aae4a57df82b53b736218077e3e50_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/495aae4a57df82b53b736218077e3e50_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/4a506b53a46f03f79e2738a5969c2416_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/4a506b53a46f03f79e2738a5969c2416_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/4ac3c625babd583dcf8e567c7b716c36_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/4ac3c625babd583dcf8e567c7b716c36_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Multi_Select extends Jqhtml_Component {
|
||||
class Multi_Select extends Component {
|
||||
on_ready() {
|
||||
this.selected_values = this.args.value || [];
|
||||
this.all_options = this.args.options || [];
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/4ae0c41213e4bfc4ad28d800de1deb5e_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/4ae0c41213e4bfc4ad28d800de1deb5e_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/4e6a7227ec8e1351a295dc82046012cc_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/4e6a7227ec8e1351a295dc82046012cc_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/4fdac5a31bc26962f58b33e694f8171f_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/4fdac5a31bc26962f58b33e694f8171f_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Page_Section extends Jqhtml_Component {
|
||||
class Page_Section extends Component {
|
||||
// Content section with spacing - no special behavior needed
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQYWdlX1NlY3Rpb24iLCJKcWh0bWxfQ29tcG9uZW50Il0sInNvdXJjZXMiOlsicnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvcGFnZV9zZWN0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNsYXNzIFBhZ2VfU2VjdGlvbiBleHRlbmRzIEpxaHRtbF9Db21wb25lbnQge1xuICAgIC8vIENvbnRlbnQgc2VjdGlvbiB3aXRoIHNwYWNpbmcgLSBubyBzcGVjaWFsIGJlaGF2aW9yIG5lZWRlZFxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLE1BQU1BLFlBQVksU0FBU0MsZ0JBQWdCLENBQUM7RUFDeEM7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
||||
0
storage-working/rsx-tmp/babel_cache/50dda94c75d529924444222923907e38_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/50dda94c75d529924444222923907e38_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/513f5797acfed9c5ad6e03b04852e96b_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/513f5797acfed9c5ad6e03b04852e96b_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/516eaae0423e4dcd1db56111f9e9ee61_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/516eaae0423e4dcd1db56111f9e9ee61_modern.js
Normal file → Executable file
@@ -14,7 +14,7 @@
|
||||
* - Provides seed() support for debug/testing data
|
||||
* - Bridges between form validation state and child widget
|
||||
*/
|
||||
class Form_Field_Abstract extends Jqhtml_Component {
|
||||
class Form_Field_Abstract extends Component {
|
||||
on_create() {
|
||||
// Find parent form for error display
|
||||
this.form = this.closest('.Rsx_Form');
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/518d03c4fbadf9953ea1d954225ef606_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/518d03c4fbadf9953ea1d954225ef606_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Icon_With_Text extends Jqhtml_Component {
|
||||
class Icon_With_Text extends Component {
|
||||
// Pure Bootstrap styling - no JavaScript needed
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJY29uX1dpdGhfVGV4dCIsIkpxaHRtbF9Db21wb25lbnQiXSwic291cmNlcyI6WyJyc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9JY29uX1dpdGhfVGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjbGFzcyBJY29uX1dpdGhfVGV4dCBleHRlbmRzIEpxaHRtbF9Db21wb25lbnQge1xuICAgIC8vIFB1cmUgQm9vdHN0cmFwIHN0eWxpbmcgLSBubyBKYXZhU2NyaXB0IG5lZWRlZFxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLE1BQU1BLGNBQWMsU0FBU0MsZ0JBQWdCLENBQUM7RUFDMUM7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
||||
0
storage-working/rsx-tmp/babel_cache/56a92d2453d6fa0fe6daa2a7a2c4778a_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/56a92d2453d6fa0fe6daa2a7a2c4778a_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/581c0c2202babd5f58c88cf7801b5e24_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/581c0c2202babd5f58c88cf7801b5e24_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/5923d775eb83678ff06622bee338bd9c_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/5923d775eb83678ff06622bee338bd9c_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/5924471758cd447c3d6e0318021b74c6_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/5924471758cd447c3d6e0318021b74c6_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/5b11e6b5ce5476afa674a9174fa54abb_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/5b11e6b5ce5476afa674a9174fa54abb_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/5cef18faee6d7298e6036757baa5b98d_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/5cef18faee6d7298e6036757baa5b98d_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Breadcrumbs extends Jqhtml_Component {
|
||||
class Breadcrumbs extends Component {
|
||||
// Placeholder component - currently empty in dashboard usage
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcmVhZGNydW1icyIsIkpxaHRtbF9Db21wb25lbnQiXSwic291cmNlcyI6WyJyc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9CcmVhZGNydW1icy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjbGFzcyBCcmVhZGNydW1icyBleHRlbmRzIEpxaHRtbF9Db21wb25lbnQge1xuICAgIC8vIFBsYWNlaG9sZGVyIGNvbXBvbmVudCAtIGN1cnJlbnRseSBlbXB0eSBpbiBkYXNoYm9hcmQgdXNhZ2Vcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNQSxXQUFXLFNBQVNDLGdCQUFnQixDQUFDO0VBQ3ZDO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
||||
2
storage-working/rsx-tmp/babel_cache/5e2b5a71cc63dae7edc5836859dd11eb_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/5e2b5a71cc63dae7edc5836859dd11eb_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Export_Button extends Jqhtml_Component {
|
||||
class Export_Button extends Component {
|
||||
on_ready() {
|
||||
const that = this;
|
||||
this.$.find('[data-format]').on('click', e => {
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/5f2b57d6cb2621ac527915be84cd491c_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/5f2b57d6cb2621ac527915be84cd491c_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Progress_Bar extends Jqhtml_Component {
|
||||
class Progress_Bar extends Component {
|
||||
on_ready() {
|
||||
const $bar = this.$id('bar');
|
||||
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/608ddf13d4dd044853777b89c1da15a0_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/608ddf13d4dd044853777b89c1da15a0_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/60bd0fc224c1de11b613d159bf9cc7c5_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/60bd0fc224c1de11b613d159bf9cc7c5_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Link extends Jqhtml_Component {
|
||||
class Link extends Component {
|
||||
on_ready() {
|
||||
// Support $href attribute for dynamic URLs
|
||||
if (this.args.href) {
|
||||
|
||||
2
storage-working/rsx-tmp/babel_cache/6124b58fdee1d33d92480b5efe47a490_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/6124b58fdee1d33d92480b5efe47a490_modern.js
Normal file → Executable file
@@ -7,7 +7,7 @@
|
||||
* Design: Bootstrap .invalid-feedback (default) or .valid-feedback styling
|
||||
* Visibility: Only shows when sibling input has .is-valid or .is-invalid class
|
||||
*/
|
||||
class Form_Validation_Message extends Jqhtml_Component {
|
||||
class Form_Validation_Message extends Component {
|
||||
on_ready() {
|
||||
// Add custom classes if provided (e.g., switching to valid-feedback)
|
||||
if (this.args.class) {
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/61ee0115f329d32e5d362918f73e3587_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/61ee0115f329d32e5d362918f73e3587_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/624dc59bc713063e62c7651987605b7a_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/624dc59bc713063e62c7651987605b7a_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/62858b0f9fbc723e8549cc1b6b5dec31_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/62858b0f9fbc723e8549cc1b6b5dec31_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/62d5292f1548e42c34d44d90007720cd_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/62d5292f1548e42c34d44d90007720cd_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/63647ad360b41dd3714d964ce557cab7_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/63647ad360b41dd3714d964ce557cab7_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Input_With_Validation extends Jqhtml_Component {
|
||||
class Input_With_Validation extends Component {
|
||||
on_ready() {
|
||||
const $input = this.$id('input');
|
||||
if (this.args.value) {
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/66490e29aab2690a96a7e2b84143cbbc_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/66490e29aab2690a96a7e2b84143cbbc_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/6aac12d57c18e9c2287660f7ed732cbd_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/6aac12d57c18e9c2287660f7ed732cbd_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/6bce94ae20fc1832c6e6134c22b2c6b4_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/6bce94ae20fc1832c6e6134c22b2c6b4_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/6cbd82006d295940ebf47c9a5c163dbc_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/6cbd82006d295940ebf47c9a5c163dbc_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/6d807770f9aebeb0b8fec23fdfcf7791_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/6d807770f9aebeb0b8fec23fdfcf7791_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/6ed892b4578fa6a70a378f810c450992_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/6ed892b4578fa6a70a378f810c450992_modern.js
Normal file → Executable file
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
class Empty_State extends Jqhtml_Component {
|
||||
class Empty_State extends Component {
|
||||
on_ready() {
|
||||
// No special behavior
|
||||
}
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/6f4ad3ed25c17cd703bea3b9603f76ab_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/6f4ad3ed25c17cd703bea3b9603f76ab_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/6f53c16ecc0b59b7094882945c93a46c_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/6f53c16ecc0b59b7094882945c93a46c_modern.js
Normal file → Executable file
@@ -7,7 +7,7 @@
|
||||
* Design: Bootstrap .form-check-input styling
|
||||
* Wrapper: Typically used within <div class="form-check"> for proper layout
|
||||
*/
|
||||
class Checkbox extends Jqhtml_Component {
|
||||
class Checkbox extends Component {
|
||||
on_ready() {
|
||||
// Set checked state if provided
|
||||
if (this.args.checked) {
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/6f6cb197aa81959c6a42565e5b699a75_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/6f6cb197aa81959c6a42565e5b699a75_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/72a21c9789c720420b469e74cb030393_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/72a21c9789c720420b469e74cb030393_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/76a71362873edd4ada78d4971d58c4a8_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/76a71362873edd4ada78d4971d58c4a8_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/77329c203057f96879de2e19b1a0c154_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/77329c203057f96879de2e19b1a0c154_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/78275fd9243dfde40c12fbfc3d109f42_modern.js
Normal file → Executable file
2
storage-working/rsx-tmp/babel_cache/78275fd9243dfde40c12fbfc3d109f42_modern.js
Normal file → Executable file
@@ -6,7 +6,7 @@
|
||||
* Purpose: Multi-line text input for longer content like descriptions, comments, notes
|
||||
* Design: Bootstrap .form-control styling (same as Input)
|
||||
*/
|
||||
class Textarea extends Jqhtml_Component {
|
||||
class Textarea extends Component {
|
||||
on_ready() {
|
||||
// Set rows if provided
|
||||
if (this.args.rows) {
|
||||
|
||||
0
storage-working/rsx-tmp/babel_cache/79702b0d2c6bf727dc73f5bb3b3d1db2_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/79702b0d2c6bf727dc73f5bb3b3d1db2_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/8200322e4edd2ed0fb8f830ad5f12a37_modern.js
Normal file → Executable file
0
storage-working/rsx-tmp/babel_cache/8200322e4edd2ed0fb8f830ad5f12a37_modern.js
Normal file → Executable file
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user