From d047b49d392cf373c7ebed51f33ce68684fabb30 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 10 Dec 2025 09:08:20 +0000 Subject: [PATCH] Add model constant export to JS, rsxapp hydration, on_stop lifecycle MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../Database/Database_BundleIntegration.php | 109 +++++++++++++----- app/RSpade/Core/Js/Rsx.js | 75 +++++++++--- app/RSpade/man/model_fetch.txt | 57 +++++++++ .../out/auto_rename_provider.js | 0 .../out/auto_rename_provider.js.map | 0 .../out/class_refactor_code_actions.js | 0 .../out/class_refactor_code_actions.js.map | 0 .../out/class_refactor_provider.js | 0 .../out/class_refactor_provider.js.map | 0 .../out/combined_semantic_provider.js | 0 .../out/combined_semantic_provider.js.map | 0 .../out/comment_file_reference_provider.js | 0 .../comment_file_reference_provider.js.map | 0 .../resource/vscode_extension/out/config.js | 0 .../vscode_extension/out/config.js.map | 0 .../out/convention_method_provider.js | 0 .../out/convention_method_provider.js.map | 0 .../vscode_extension/out/debug_client.js | 0 .../vscode_extension/out/debug_client.js.map | 0 .../out/decoration_provider.js | 0 .../out/decoration_provider.js.map | 0 .../out/definition_provider.js | 0 .../out/definition_provider.js.map | 0 .../vscode_extension/out/extension.js | 0 .../vscode_extension/out/extension.js.map | 0 .../vscode_extension/out/file_watcher.js | 0 .../vscode_extension/out/file_watcher.js.map | 0 .../out/folder_color_provider.js | 0 .../out/folder_color_provider.js.map | 0 .../vscode_extension/out/folding_provider.js | 0 .../out/folding_provider.js.map | 0 .../out/formatting_provider.js | 0 .../out/formatting_provider.js.map | 0 .../vscode_extension/out/git_diff_provider.js | 0 .../out/git_diff_provider.js.map | 0 .../out/git_status_provider.js | 0 .../out/git_status_provider.js.map | 0 .../vscode_extension/out/ide_bridge_client.js | 0 .../out/ide_bridge_client.js.map | 0 .../out/jqhtml_lifecycle_provider.js | 10 +- .../out/jqhtml_lifecycle_provider.js.map | 2 +- .../out/laravel_completion_provider.js | 0 .../out/laravel_completion_provider.js.map | 0 .../out/php_attribute_provider.js | 0 .../out/php_attribute_provider.js.map | 0 .../out/refactor_code_actions.js | 0 .../out/refactor_code_actions.js.map | 0 .../vscode_extension/out/refactor_provider.js | 0 .../out/refactor_provider.js.map | 0 .../out/sort_class_methods_provider.js | 0 .../out/sort_class_methods_provider.js.map | 0 .../out/symlink_redirect_provider.js | 0 .../out/symlink_redirect_provider.js.map | 0 .../out/that_variable_provider.js | 0 .../out/that_variable_provider.js.map | 0 .../resource/vscode_extension/package.json | 2 +- .../vscode_extension/rspade-framework.vsix | Bin 99094 -> 99093 bytes .../src/jqhtml_lifecycle_provider.ts | 10 +- 58 files changed, 207 insertions(+), 58 deletions(-) mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/auto_rename_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/auto_rename_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/class_refactor_code_actions.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/class_refactor_code_actions.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/class_refactor_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/class_refactor_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/combined_semantic_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/combined_semantic_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/comment_file_reference_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/comment_file_reference_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/config.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/config.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/convention_method_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/convention_method_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/debug_client.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/debug_client.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/decoration_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/decoration_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/definition_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/definition_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/extension.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/extension.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/file_watcher.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/file_watcher.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/folder_color_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/folder_color_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/folding_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/folding_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/formatting_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/formatting_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/git_diff_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/git_diff_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/git_status_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/git_status_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/ide_bridge_client.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/ide_bridge_client.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/laravel_completion_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/laravel_completion_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/php_attribute_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/php_attribute_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/refactor_code_actions.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/refactor_code_actions.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/refactor_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/refactor_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/sort_class_methods_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/sort_class_methods_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/symlink_redirect_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/symlink_redirect_provider.js.map mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/that_variable_provider.js mode change 100755 => 100644 app/RSpade/resource/vscode_extension/out/that_variable_provider.js.map diff --git a/app/RSpade/Core/Database/Database_BundleIntegration.php b/app/RSpade/Core/Database/Database_BundleIntegration.php index a50ab7d88..451e72ed5 100755 --- a/app/RSpade/Core/Database/Database_BundleIntegration.php +++ b/app/RSpade/Core/Database/Database_BundleIntegration.php @@ -127,21 +127,8 @@ class Database_BundleIntegration extends BundleIntegration_Abstract // Only regenerate if source is newer than stub if ($stub_mtime >= $source_mtime) { // Also check if the model metadata has changed - // by comparing a hash of enums, relationships, and columns - $model_metadata = []; - - // Get relationships - $model_metadata['rel'] = $fqcn::get_relationships(); - - // Get enums - if (property_exists($fqcn, 'enums')) { - $model_metadata['enums'] = $fqcn::$enums ?? []; - } - - // Get columns from models metadata if available - if (isset($manifest_data['data']['models'][$class_name]['columns'])) { - $model_metadata['columns'] = $manifest_data['data']['models'][$class_name]['columns']; - } + // by comparing a hash of enums, relationships, columns, and constants + $model_metadata = static::_get_model_metadata_for_hash($fqcn, $class_name, $manifest_data); $model_metadata_hash = md5(json_encode($model_metadata)); $old_metadata_hash = $metadata['model_metadata_hash'] ?? ''; @@ -164,21 +151,7 @@ class Database_BundleIntegration extends BundleIntegration_Abstract // Store the metadata hash for future comparisons if not already done if (!isset($manifest_data['data']['files'][$file_path]['model_metadata_hash'])) { - $model_metadata = []; - - // Get relationships - $model_metadata['rel'] = $fqcn::get_relationships(); - - // Get enums - if (property_exists($fqcn, 'enums')) { - $model_metadata['enums'] = $fqcn::$enums ?? []; - } - - // Get columns from models metadata if available - if (isset($manifest_data['data']['models'][$class_name]['columns'])) { - $model_metadata['columns'] = $manifest_data['data']['models'][$class_name]['columns']; - } - + $model_metadata = static::_get_model_metadata_for_hash($fqcn, $class_name, $manifest_data); $manifest_data['data']['files'][$file_path]['model_metadata_hash'] = md5(json_encode($model_metadata)); } } @@ -262,6 +235,46 @@ class Database_BundleIntegration extends BundleIntegration_Abstract return false; } + /** + * Get model metadata for hash comparison (detects when stubs need regeneration) + * + * @param string $fqcn Fully qualified class name + * @param string $class_name Simple class name + * @param array $manifest_data The manifest data array + * @return array Metadata array for hashing + */ + private static function _get_model_metadata_for_hash(string $fqcn, string $class_name, array $manifest_data): array + { + $model_metadata = []; + + // Get relationships + $model_metadata['rel'] = $fqcn::get_relationships(); + + // Get enums + if (property_exists($fqcn, 'enums')) { + $model_metadata['enums'] = $fqcn::$enums ?? []; + } + + // Get columns from models metadata if available + if (isset($manifest_data['data']['models'][$class_name]['columns'])) { + $model_metadata['columns'] = $manifest_data['data']['models'][$class_name]['columns']; + } + + // Get public constants defined directly on this class + $reflection = new \ReflectionClass($fqcn); + $constants = []; + foreach ($reflection->getReflectionConstants(\ReflectionClassConstant::IS_PUBLIC) as $const) { + if ($const->getDeclaringClass()->getName() === $fqcn) { + $constants[$const->getName()] = $const->getValue(); + } + } + if (!empty($constants)) { + $model_metadata['constants'] = $constants; + } + + return $model_metadata; + } + /** * Sanitize model name for use as filename */ @@ -314,6 +327,32 @@ class Database_BundleIntegration extends BundleIntegration_Abstract $js_model_base_class = config('rsx.js_model_base_class'); $extends_class = $js_model_base_class ?: 'Rsx_Js_Model'; + // Collect enum constant names to avoid duplicating them + $enum_constant_names = []; + foreach ($enums as $column => $enum_values) { + foreach ($enum_values as $value => $props) { + if (!empty($props['constant'])) { + $enum_constant_names[] = $props['constant']; + } + } + } + + // Get all public constants defined directly on this model class (not inherited) + $reflection = new \ReflectionClass($fqcn); + $non_enum_constants = []; + foreach ($reflection->getReflectionConstants(\ReflectionClassConstant::IS_PUBLIC) as $const) { + // Only include constants defined directly on this class + if ($const->getDeclaringClass()->getName() !== $fqcn) { + continue; + } + $const_name = $const->getName(); + // Skip constants already generated from enums + if (in_array($const_name, $enum_constant_names)) { + continue; + } + $non_enum_constants[$const_name] = $const->getValue(); + } + // Start building the stub content $content = "/**\n"; $content .= " * Auto-generated JavaScript stub for {$class_name}\n"; @@ -326,6 +365,16 @@ class Database_BundleIntegration extends BundleIntegration_Abstract // Add static __MODEL property for PHP model name resolution $content .= " static __MODEL = '{$class_name}';\n\n"; + // Generate non-enum constants first (static properties) + if (!empty($non_enum_constants)) { + $content .= " // Non-enum constants\n"; + foreach ($non_enum_constants as $const_name => $const_value) { + $value_json = json_encode($const_value); + $content .= " static {$const_name} = {$value_json};\n"; + } + $content .= "\n"; + } + // Generate enum constants and methods foreach ($enums as $column => $enum_values) { // Sort enum values by order property first, then by key diff --git a/app/RSpade/Core/Js/Rsx.js b/app/RSpade/Core/Js/Rsx.js index 38b154634..b3f564900 100755 --- a/app/RSpade/Core/Js/Rsx.js +++ b/app/RSpade/Core/Js/Rsx.js @@ -222,6 +222,24 @@ class Rsx { return !window.rsxapp.debug; } + /** + * Get the current logged-in user model instance + * Returns the hydrated ORM model if available, or the raw data object + * @returns {Rsx_Js_Model|Object|null} User model instance or null if not logged in + */ + static user() { + return window.rsxapp?.user || null; + } + + /** + * Get the current site model instance + * Returns the hydrated ORM model if available, or the raw data object + * @returns {Rsx_Js_Model|Object|null} Site model instance or null if not set + */ + static site() { + return window.rsxapp?.site || null; + } + // Generates a unique number for the application instance static uid() { if (typeof Rsx._uid == undef) { @@ -601,6 +619,43 @@ class Rsx { } } + /** + * Hydrate rsxapp.user and rsxapp.site into ORM model instances + * + * Checks if window.rsxapp.user and window.rsxapp.site contain raw data objects + * with __MODEL markers, and if the corresponding model classes are available, + * replaces them with proper ORM instances. + * + * This enables code like: + * const user = Rsx.user(); + * await user.some_relationship(); // Works because user is a proper model instance + */ + static _hydrate_rsxapp_models() { + if (!window.rsxapp) { + return; + } + + // Hydrate user if present and has __MODEL marker + if (window.rsxapp.user && window.rsxapp.user.__MODEL) { + const UserClass = Manifest.get_class_by_name(window.rsxapp.user.__MODEL); + // Check class exists and extends Rsx_Js_Model - @JS-DEFENSIVE-01-EXCEPTION - dynamic model resolution + if (UserClass && Manifest.js_is_subclass_of(UserClass, Rsx_Js_Model)) { + window.rsxapp.user = new UserClass(window.rsxapp.user); + console_debug('RSX_INIT', `Hydrated rsxapp.user as ${window.rsxapp.user.__MODEL}`); + } + } + + // Hydrate site if present and has __MODEL marker + if (window.rsxapp.site && window.rsxapp.site.__MODEL) { + const SiteClass = Manifest.get_class_by_name(window.rsxapp.site.__MODEL); + // Check class exists and extends Rsx_Js_Model - @JS-DEFENSIVE-01-EXCEPTION - dynamic model resolution + if (SiteClass && Manifest.js_is_subclass_of(SiteClass, Rsx_Js_Model)) { + window.rsxapp.site = new SiteClass(window.rsxapp.site); + console_debug('RSX_INIT', `Hydrated rsxapp.site as ${window.rsxapp.site.__MODEL}`); + } + } + } + /** * Internal: Execute multi-phase initialization for all registered classes * This runs various initialization phases in order to properly set up the application @@ -617,6 +672,10 @@ class Rsx { // Setup exception handlers first, before any initialization phases Rsx._setup_exception_handlers(); + // Hydrate rsxapp.user and rsxapp.site into ORM model instances + // This must happen early, before any code tries to use these objects + Rsx._hydrate_rsxapp_models(); + // Get all registered classes from the manifest const all_classes = Manifest.get_all_classes(); @@ -697,7 +756,6 @@ class Rsx { y: window.scrollY }; sessionStorage.setItem(Rsx._SCROLL_STORAGE_KEY, JSON.stringify(scroll_data)); - console.log('[Rsx Scroll] Saved:', scroll_data.x, scroll_data.y, 'for', scroll_data.url); }, 100); // 100ms debounce } @@ -707,61 +765,46 @@ class Rsx { * @private */ static _restore_scroll_on_refresh() { - console.log('[Rsx Scroll] _restore_scroll_on_refresh called'); - // Set up scroll listener to continuously save position window.addEventListener('scroll', Rsx._save_scroll_position, { passive: true }); - console.log('[Rsx Scroll] Scroll listener attached'); // Check if this is a page refresh using Performance API const nav_entries = performance.getEntriesByType('navigation'); - console.log('[Rsx Scroll] Navigation entries:', nav_entries.length); if (nav_entries.length === 0) { - console.log('[Rsx Scroll] No navigation entries found, skipping restore'); return; } const nav_type = nav_entries[0].type; - console.log('[Rsx Scroll] Navigation type:', nav_type); if (nav_type !== 'reload') { - console.log('[Rsx Scroll] Not a reload (type=' + nav_type + '), skipping restore'); return; } // This is a refresh - try to restore scroll position const stored = sessionStorage.getItem(Rsx._SCROLL_STORAGE_KEY); - console.log('[Rsx Scroll] Stored scroll data:', stored); if (!stored) { - console.log('[Rsx Scroll] No stored scroll position found'); return; } try { const scroll_data = JSON.parse(stored); const current_url = window.location.pathname + window.location.search; - console.log('[Rsx Scroll] Stored URL:', scroll_data.url, 'Current URL:', current_url); // Only restore if URL matches if (scroll_data.url !== current_url) { - console.log('[Rsx Scroll] URL mismatch, skipping restore'); return; } // Restore scroll position instantly - console.log('[Rsx Scroll] Restoring scroll to:', scroll_data.x, scroll_data.y); window.scrollTo({ left: scroll_data.x, top: scroll_data.y, behavior: 'instant' }); - console.log('[Rsx Scroll] Restored scroll position on refresh:', scroll_data.x, scroll_data.y); - // Clear stored position after successful restore sessionStorage.removeItem(Rsx._SCROLL_STORAGE_KEY); } catch (e) { // Invalid JSON or other error - ignore - console.log('[Rsx Scroll] Error restoring scroll:', e.message); sessionStorage.removeItem(Rsx._SCROLL_STORAGE_KEY); } } diff --git a/app/RSpade/man/model_fetch.txt b/app/RSpade/man/model_fetch.txt index ced2086e6..49b693a33 100755 --- a/app/RSpade/man/model_fetch.txt +++ b/app/RSpade/man/model_fetch.txt @@ -658,6 +658,63 @@ ENUM PROPERTIES const statusConfig = Project_Model.status_id_enum_val(); // {1: {label: "Planning", badge: "bg-info"}, 2: {...}, ...} +MODEL CONSTANTS + All public constants defined on a PHP model are automatically exported to + the JavaScript stub as static properties. This includes both enum constants + (generated from $enums) and manually defined constants. + + PHP Model Definition: + class User_Model extends Rsx_Model_Abstract + { + // Enum constants (auto-generated by rsx:migrate:document_models) + const ROLE_ADMIN = 1; + const ROLE_USER = 2; + + // Permission constants (manually defined) + const PERM_MANAGE_USERS = 1; + const PERM_EDIT_DATA = 2; + const PERM_VIEW_DATA = 3; + + // Invitation status constants + const INVITATION_PENDING = 'pending'; + const INVITATION_ACCEPTED = 'accepted'; + const INVITATION_EXPIRED = 'expired'; + } + + JavaScript Usage: + // All constants available as static properties + if (permission === User_Model.PERM_MANAGE_USERS) { + showAdminPanel(); + } + + if (invite.status === User_Model.INVITATION_PENDING) { + showPendingBadge(); + } + + SECURITY WARNING: + All public constants are exported to JavaScript and visible in the + browser. NEVER put sensitive values in model constants: + + // NEVER DO THIS - secrets visible in browser + const API_SECRET = 'sk-abc123...'; + const ENCRYPTION_KEY = 'my-secret-key'; + + Use private constants for sensitive values: + + // Safe - not exported to JavaScript + private const API_SECRET = 'sk-abc123...'; + + Constant Types Exported: + - Enum constants (from $enums 'constant' field) + - Non-enum public constants (string, int, float, bool, array) + - Constants with no visibility modifier (treated as public) + + Constants NOT Exported: + - Private constants (private const FOO = 1) + - Protected constants (protected const BAR = 2) + - Constants inherited from parent classes + - Framework constants from Rsx_Model_Abstract + =============================================================================== FUTURE DEVELOPMENT =============================================================================== diff --git a/app/RSpade/resource/vscode_extension/out/auto_rename_provider.js b/app/RSpade/resource/vscode_extension/out/auto_rename_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/auto_rename_provider.js.map b/app/RSpade/resource/vscode_extension/out/auto_rename_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/class_refactor_code_actions.js b/app/RSpade/resource/vscode_extension/out/class_refactor_code_actions.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/class_refactor_code_actions.js.map b/app/RSpade/resource/vscode_extension/out/class_refactor_code_actions.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/class_refactor_provider.js b/app/RSpade/resource/vscode_extension/out/class_refactor_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/class_refactor_provider.js.map b/app/RSpade/resource/vscode_extension/out/class_refactor_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/combined_semantic_provider.js b/app/RSpade/resource/vscode_extension/out/combined_semantic_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/combined_semantic_provider.js.map b/app/RSpade/resource/vscode_extension/out/combined_semantic_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/comment_file_reference_provider.js b/app/RSpade/resource/vscode_extension/out/comment_file_reference_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/comment_file_reference_provider.js.map b/app/RSpade/resource/vscode_extension/out/comment_file_reference_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/config.js b/app/RSpade/resource/vscode_extension/out/config.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/config.js.map b/app/RSpade/resource/vscode_extension/out/config.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/convention_method_provider.js b/app/RSpade/resource/vscode_extension/out/convention_method_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/convention_method_provider.js.map b/app/RSpade/resource/vscode_extension/out/convention_method_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/debug_client.js b/app/RSpade/resource/vscode_extension/out/debug_client.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/debug_client.js.map b/app/RSpade/resource/vscode_extension/out/debug_client.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/decoration_provider.js b/app/RSpade/resource/vscode_extension/out/decoration_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/decoration_provider.js.map b/app/RSpade/resource/vscode_extension/out/decoration_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/definition_provider.js b/app/RSpade/resource/vscode_extension/out/definition_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/definition_provider.js.map b/app/RSpade/resource/vscode_extension/out/definition_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/extension.js b/app/RSpade/resource/vscode_extension/out/extension.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/extension.js.map b/app/RSpade/resource/vscode_extension/out/extension.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/file_watcher.js b/app/RSpade/resource/vscode_extension/out/file_watcher.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/file_watcher.js.map b/app/RSpade/resource/vscode_extension/out/file_watcher.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/folder_color_provider.js b/app/RSpade/resource/vscode_extension/out/folder_color_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/folder_color_provider.js.map b/app/RSpade/resource/vscode_extension/out/folder_color_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/folding_provider.js b/app/RSpade/resource/vscode_extension/out/folding_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/folding_provider.js.map b/app/RSpade/resource/vscode_extension/out/folding_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/formatting_provider.js b/app/RSpade/resource/vscode_extension/out/formatting_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/formatting_provider.js.map b/app/RSpade/resource/vscode_extension/out/formatting_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/git_diff_provider.js b/app/RSpade/resource/vscode_extension/out/git_diff_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/git_diff_provider.js.map b/app/RSpade/resource/vscode_extension/out/git_diff_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/git_status_provider.js b/app/RSpade/resource/vscode_extension/out/git_status_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/git_status_provider.js.map b/app/RSpade/resource/vscode_extension/out/git_status_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/ide_bridge_client.js b/app/RSpade/resource/vscode_extension/out/ide_bridge_client.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/ide_bridge_client.js.map b/app/RSpade/resource/vscode_extension/out/ide_bridge_client.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js b/app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js old mode 100755 new mode 100644 index b244c73f9..54bb116af --- a/app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js +++ b/app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js @@ -29,7 +29,7 @@ const ide_bridge_client_1 = require("./ide_bridge_client"); /** * JQHTML lifecycle methods that are called automatically by the framework */ -const JQHTML_LIFECYCLE_METHODS = ['on_render', 'on_create', 'on_load', 'on_ready', 'on_destroy', 'cache_id']; +const JQHTML_LIFECYCLE_METHODS = ['on_render', 'on_create', 'on_load', 'on_ready', 'on_stop', 'cache_id']; /** * Convention methods that are called automatically by the RSX framework */ @@ -52,7 +52,7 @@ const LIFECYCLE_DOCS = { on_create: 'Quick setup after DOM exists. Children complete before parent. DOM manipulation allowed. MUST be synchronous.', on_load: 'Data loading phase - fetch async data. NO DOM manipulation allowed, only update `this.data`. Template re-renders after load. MUST be async.', on_ready: 'Final setup phase - all data loaded. Children complete before parent. DOM manipulation allowed. Can be sync or async.', - on_destroy: 'Component destruction phase - cleanup resources. Called before component is removed. MUST be synchronous.', + on_stop: 'Component destruction phase - cleanup resources. Called before component is removed. MUST be synchronous.', cache_id: 'Returns a unique cache key for this component instance. Used by framework to cache/restore component state. Return null to disable caching.', }; /** @@ -280,7 +280,7 @@ class JqhtmlLifecycleHoverProvider { markdown.isTrusted = true; const is_async = is_async_method(line); // Determine if async is required, forbidden, or optional - const must_be_sync = ['on_create', 'on_render', 'on_destroy'].includes(word); + const must_be_sync = ['on_create', 'on_render', 'on_stop'].includes(word); const must_be_async = word === 'on_load'; const can_be_either = word === 'on_ready'; let has_error = false; @@ -377,8 +377,8 @@ class JqhtmlLifecycleDiagnosticProvider { else if (method_name === 'on_render' && is_async) { diagnostics.push(new vscode.Diagnostic(method_name_range, `'on_render' must be synchronous - remove 'async' keyword`, vscode.DiagnosticSeverity.Error)); } - else if (method_name === 'on_destroy' && is_async) { - diagnostics.push(new vscode.Diagnostic(method_name_range, `'on_destroy' must be synchronous - remove 'async' keyword`, vscode.DiagnosticSeverity.Error)); + else if (method_name === 'on_stop' && is_async) { + diagnostics.push(new vscode.Diagnostic(method_name_range, `'on_stop' must be synchronous - remove 'async' keyword`, vscode.DiagnosticSeverity.Error)); } else if (method_name === 'on_load' && !is_async) { diagnostics.push(new vscode.Diagnostic(method_name_range, `'on_load' must be async - add 'async' keyword`, vscode.DiagnosticSeverity.Error)); diff --git a/app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js.map b/app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js.map old mode 100755 new mode 100644 index 50b58b3b8..022329cc6 --- a/app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js.map +++ b/app/RSpade/resource/vscode_extension/out/jqhtml_lifecycle_provider.js.map @@ -1 +1 @@ -{"version":3,"file":"jqhtml_lifecycle_provider.js","sourceRoot":"","sources":["../src/jqhtml_lifecycle_provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,2DAAsD;AAEtD;;GAEG;AACH,MAAM,wBAAwB,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AAE7G;;GAEG;AACH,MAAM,kBAAkB,GAAG;IACvB,2BAA2B;IAC3B,8BAA8B;IAC9B,yBAAyB;IACzB,uBAAuB;IACvB,eAAe;IACf,4BAA4B;IAC5B,qBAAqB;IACrB,aAAa;IACb,cAAc;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,cAAc,GAA8B;IAC9C,SAAS,EAAE,+HAA+H;IAC1I,SAAS,EAAE,+GAA+G;IAC1H,OAAO,EAAE,6IAA6I;IACtJ,QAAQ,EAAE,uHAAuH;IACjI,UAAU,EAAE,2GAA2G;IACvH,QAAQ,EAAE,6IAA6I;CAC1J,CAAC;AAEF;;GAEG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,EAAmB,CAAC;AAElD;;GAEG;AACH,IAAI,iBAAiB,GAA2B,IAAI,CAAC;AAErD;;GAEG;AACH,KAAK,UAAU,+BAA+B,CAAC,UAAkB;IAC7D,MAAM,SAAS,GAAG,GAAG,UAAU,mBAAmB,CAAC;IAEnD,oBAAoB;IACpB,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QAC/B,OAAO,cAAc,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;KACzC;IAED,yCAAyC;IACzC,IAAI,CAAC,iBAAiB,EAAE;QACpB,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;QACpF,iBAAiB,GAAG,IAAI,mCAAe,CAAC,cAAc,CAAC,CAAC;KAC3D;IAED,IAAI;QACA,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAC3F,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,KAAK,CAAC;QAElD,mBAAmB;QACnB,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAE3C,OAAO,WAAW,CAAC;KACtB;IAAC,OAAO,KAAU,EAAE;QACjB,oDAAoD;QACpD,MAAM,IAAI,KAAK,CAAC,sBAAsB,UAAU,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;KAClG;AACL,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACpC,MAAM,KAAK,GAAG,mCAAmC,CAAC;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,IAAY;IACzC,MAAM,KAAK,GAAG,oDAAoD,CAAC;IACnE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACpC,MAAM,KAAK,GAAG,iDAAiD,CAAC;IAChE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,SAAiB;IACtC,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,QAA6B,EAAE,QAAyB;IAC3E,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IACtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC;IAEpC,gCAAgC;IAChC,MAAM,kBAAkB,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,kBAAkB,KAAK,CAAC,CAAC,IAAI,kBAAkB,GAAG,QAAQ,EAAE;QAC5D,OAAO,IAAI,CAAC;KACf;IAED,kEAAkE;IAClE,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5F,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE;QAC3B,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;YAC1C,gBAAgB,GAAG,IAAI,CAAC;YACxB,CAAC,IAAI,CAAC,CAAC;SACV;aAAM,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;YACjD,gBAAgB,GAAG,KAAK,CAAC;YACzB,CAAC,IAAI,CAAC,CAAC;SACV;aAAM;YACH,CAAC,EAAE,CAAC;SACP;KACJ;IAED,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAa,qCAAqC;IAC9C,KAAK,CAAC,6BAA6B,CAAC,QAA6B;QAC7D,OAAO,CAAC,GAAG,CAAC,sDAAsD,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvF,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAE1D,IAAI,QAAQ,CAAC,UAAU,KAAK,YAAY,IAAI,QAAQ,CAAC,UAAU,KAAK,YAAY,EAAE;YAC9E,OAAO,CAAC,GAAG,CAAC,+CAA+C,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YAClF,OAAO,cAAc,CAAC,KAAK,EAAE,CAAC;SACjC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEhC,sDAAsD;QACtD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;YAC3B,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;YACtF,wDAAwD;SAC3D;aAAM;YACH,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;SAChD;QAED,6CAA6C;QAC7C,MAAM,SAAS,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,+CAA+C,SAAS,EAAE,CAAC,CAAC;QAExE,qDAAqD;QACrD,IAAI,cAAc,GAAG,SAAS,CAAC;QAE/B,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;YACxC,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,4CAA4C,UAAU,EAAE,CAAC,CAAC;YACtE,IAAI,UAAU,EAAE;gBACZ,cAAc,GAAG,MAAM,+BAA+B,CAAC,UAAU,CAAC,CAAC;gBACnE,OAAO,CAAC,GAAG,CAAC,sDAAsD,cAAc,EAAE,CAAC,CAAC;aACvF;SACJ;QAED,iEAAiE;QACjE,IAAI,cAAc,EAAE;YAChB,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACjE,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,KAAK,MAAM,WAAW,IAAI,wBAAwB,EAAE;gBAChD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,mBAAmB,WAAW,UAAU,EAAE,GAAG,CAAC,CAAC;gBACxE,IAAI,KAAK,CAAC;gBAEV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;oBACxC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBAEnD,mCAAmC;oBACnC,IAAI,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;wBACnC,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,mBAAmB,CAAC,CAAC;wBACjE,SAAS;qBACZ;oBAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,WAAW,YAAY,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;oBACxF,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACjF,eAAe,EAAE,CAAC;iBACrB;aACJ;YACD,OAAO,CAAC,GAAG,CAAC,iDAAiD,eAAe,EAAE,CAAC,CAAC;SACnF;QAED,iDAAiD;QACjD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,KAAK,MAAM,WAAW,IAAI,kBAAkB,EAAE;YAC1C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,gCAAgC,WAAW,UAAU,EAAE,GAAG,CAAC,CAAC;YACrF,IAAI,KAAK,CAAC;YAEV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;gBACxC,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1F,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC;gBACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;gBAEnD,mCAAmC;gBACnC,IAAI,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBACnC,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,mBAAmB,CAAC,CAAC;oBACjE,SAAS;iBACZ;gBAED,OAAO,CAAC,GAAG,CAAC,qCAAqC,WAAW,YAAY,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzF,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjF,gBAAgB,EAAE,CAAC;aACtB;SACJ;QACD,OAAO,CAAC,GAAG,CAAC,kDAAkD,gBAAgB,EAAE,CAAC,CAAC;QAElF,8CAA8C;QAC9C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;QACpD,IAAI,oBAAoB,CAAC;QAEzB,OAAO,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;YACtE,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,oBAAoB;YAC7E,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAEvD,OAAO,CAAC,GAAG,CAAC,0CAA0C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACvE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACtF,oBAAoB,EAAE,CAAC;SAC1B;QACD,OAAO,CAAC,GAAG,CAAC,2DAA2D,oBAAoB,EAAE,CAAC,CAAC;QAE/F,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,IAAI,CAAC,MAAM,kBAAkB,CAAC,CAAC;QACxE,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AA3GD,sFA2GC;AAED;;GAEG;AACH,MAAa,4BAA4B;IACrC,KAAK,CAAC,YAAY,CAAC,QAA6B,EAAE,QAAyB;QACvE,MAAM,UAAU,GAAG,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,EAAE;YACb,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE1C,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC1C,OAAO,SAAS,CAAC;SACpB;QAED,uCAAuC;QACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrB,OAAO,SAAS,CAAC;SACpB;QAED,0CAA0C;QAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEhC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;YAC3B,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,SAAS,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,cAAc,GAAG,SAAS,CAAC;QAE/B,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,UAAU,EAAE;gBACZ,cAAc,GAAG,MAAM,+BAA+B,CAAC,UAAU,CAAC,CAAC;aACtE;SACJ;QAED,IAAI,CAAC,cAAc,EAAE;YACjB,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC7C,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QAEvC,yDAAyD;QACzD,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7E,MAAM,aAAa,GAAG,IAAI,KAAK,SAAS,CAAC;QACzC,MAAM,aAAa,GAAG,IAAI,KAAK,UAAU,CAAC;QAE1C,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,YAAY,IAAI,QAAQ,EAAE;YAC1B,QAAQ,CAAC,cAAc,CAAC,wCAAwC,CAAC,CAAC;YAClE,QAAQ,CAAC,cAAc,CAAC,KAAK,IAAI,sDAAsD,CAAC,CAAC;YACzF,SAAS,GAAG,IAAI,CAAC;SACpB;aAAM,IAAI,aAAa,IAAI,CAAC,QAAQ,EAAE;YACnC,QAAQ,CAAC,cAAc,CAAC,sCAAsC,CAAC,CAAC;YAChE,QAAQ,CAAC,cAAc,CAAC,KAAK,IAAI,6CAA6C,CAAC,CAAC;YAChF,SAAS,GAAG,IAAI,CAAC;SACpB;QAED,IAAI,CAAC,SAAS,EAAE;YACZ,QAAQ,CAAC,cAAc,CAAC,iCAAiC,CAAC,CAAC;SAC9D;QAED,QAAQ,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvD,QAAQ,CAAC,cAAc,CAAC,0DAA0D,CAAC,CAAC;QAEpF,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;CACJ;AArED,oEAqEC;AAED;;GAEG;AACH,MAAa,iCAAiC;IAI1C;QAFQ,mBAAc,GAAG,IAAI,GAAG,EAAmB,CAAC;QAGhD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC;IAC/F,CAAC;IAED,QAAQ,CAAC,OAAgC;QACrC,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC,CAAC,CACL,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC,CACL,CAAC;QAEF,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChD,gDAAgD;YAChD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,QAA6B;QAC1D,IAAI,QAAQ,CAAC,UAAU,KAAK,YAAY,IAAI,QAAQ,CAAC,UAAU,KAAK,YAAY,EAAE;YAC9E,OAAO;SACV;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEhC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;YAC3B,OAAO;SACV;QAED,cAAc;QACd,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC1C,IAAI,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAExD,IAAI,cAAc,KAAK,SAAS,EAAE;YAC9B,MAAM,SAAS,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAChD,cAAc,GAAG,SAAS,CAAC;YAE3B,IAAI,CAAC,SAAS,EAAE;gBACZ,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,UAAU,EAAE;oBACZ,cAAc,GAAG,MAAM,+BAA+B,CAAC,UAAU,CAAC,CAAC;iBACtE;aACJ;YAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;SACtD;QAED,IAAI,CAAC,cAAc,EAAE;YACjB,OAAO;SACV;QAED,MAAM,WAAW,GAAwB,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/B,0CAA0C;QAC1C,KAAK,MAAM,WAAW,IAAI,wBAAwB,EAAE;YAChD,8CAA8C;YAC9C,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,kCAAkC,WAAW,yBAAyB,EAAE,IAAI,CAAC,CAAC;YAC9G,IAAI,YAAY,CAAC;YAEjB,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;gBACtD,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACnC,MAAM,kBAAkB,GAAG,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACrF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;gBACjE,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,kBAAkB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;gBACpF,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;gBAE7E,4CAA4C;gBAC5C,IAAI,SAAS,EAAE;oBACX,WAAW,CAAC,IAAI,CACZ,IAAI,MAAM,CAAC,UAAU,CACjB,iBAAiB,EACjB,4BAA4B,WAAW,wBAAwB,EAC/D,MAAM,CAAC,kBAAkB,CAAC,OAAO,CACpC,CACJ,CAAC;iBACL;gBAED,2BAA2B;gBAC3B,IAAI,WAAW,KAAK,WAAW,IAAI,QAAQ,EAAE;oBACzC,WAAW,CAAC,IAAI,CACZ,IAAI,MAAM,CAAC,UAAU,CACjB,iBAAiB,EACjB,0DAA0D,EAC1D,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAClC,CACJ,CAAC;iBACL;qBAAM,IAAI,WAAW,KAAK,WAAW,IAAI,QAAQ,EAAE;oBAChD,WAAW,CAAC,IAAI,CACZ,IAAI,MAAM,CAAC,UAAU,CACjB,iBAAiB,EACjB,0DAA0D,EAC1D,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAClC,CACJ,CAAC;iBACL;qBAAM,IAAI,WAAW,KAAK,YAAY,IAAI,QAAQ,EAAE;oBACjD,WAAW,CAAC,IAAI,CACZ,IAAI,MAAM,CAAC,UAAU,CACjB,iBAAiB,EACjB,2DAA2D,EAC3D,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAClC,CACJ,CAAC;iBACL;qBAAM,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,QAAQ,EAAE;oBAC/C,WAAW,CAAC,IAAI,CACZ,IAAI,MAAM,CAAC,UAAU,CACjB,iBAAiB,EACjB,+CAA+C,EAC/C,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAClC,CACJ,CAAC;iBACL;gBACD,6DAA6D;gBAE7D,2CAA2C;gBAC3C,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACtE,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,IAAI,QAAQ,GAAG,iBAAiB,CAAC;gBAEjC,KAAK,IAAI,CAAC,GAAG,iBAAiB,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBACrE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;wBAAE,WAAW,EAAE,CAAC;oBACnC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;wBAAE,WAAW,EAAE,CAAC;oBACnC,IAAI,WAAW,KAAK,CAAC,EAAE;wBACnB,QAAQ,GAAG,CAAC,CAAC;wBACb,MAAM;qBACT;iBACJ;gBAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;gBAEhE,sCAAsC;gBACtC,IAAI,WAAW,KAAK,WAAW,EAAE;oBAC7B,oEAAoE;oBACpE,qFAAqF;oBACrF,mFAAmF;oBACnF,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;oBAC7D,IAAI,UAAU,CAAC;oBAEf,OAAO,CAAC,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,EAAE;wBAChE,oEAAoE;wBACpE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;4BACf,SAAS;yBACZ;wBAED,2DAA2D;wBAC3D,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;wBAChF,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,iBAAiB,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;wBAEvG,WAAW,CAAC,IAAI,CACZ,IAAI,MAAM,CAAC,UAAU,CACjB,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,EAC9C,IAAI,UAAU,CAAC,CAAC,CAAC,6HAA6H,EAC9I,MAAM,CAAC,kBAAkB,CAAC,OAAO,CACpC,CACJ,CAAC;qBACL;iBACJ;gBAED,IAAI,WAAW,KAAK,SAAS,EAAE;oBAC3B,2DAA2D;oBAC3D,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;oBACnD,IAAI,SAAS,CAAC;oBAEd,OAAO,CAAC,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,EAAE;wBAC9D,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,iBAAiB,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;wBAC/E,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,iBAAiB,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;wBAErG,WAAW,CAAC,IAAI,CACZ,IAAI,MAAM,CAAC,UAAU,CACjB,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,EAC9C,+EAA+E,SAAS,CAAC,CAAC,CAAC,gCAAgC,SAAS,CAAC,CAAC,CAAC,mBAAmB,EAC1J,MAAM,CAAC,kBAAkB,CAAC,OAAO,CACpC,CACJ,CAAC;qBACL;iBACJ;aACJ;SACJ;QAED,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO;QACH,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC;CACJ;AA1MD,8EA0MC"} \ No newline at end of file +{"version":3,"file":"jqhtml_lifecycle_provider.js","sourceRoot":"","sources":["../src/jqhtml_lifecycle_provider.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/app/RSpade/resource/vscode_extension/out/laravel_completion_provider.js b/app/RSpade/resource/vscode_extension/out/laravel_completion_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/laravel_completion_provider.js.map b/app/RSpade/resource/vscode_extension/out/laravel_completion_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/php_attribute_provider.js b/app/RSpade/resource/vscode_extension/out/php_attribute_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/php_attribute_provider.js.map b/app/RSpade/resource/vscode_extension/out/php_attribute_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/refactor_code_actions.js b/app/RSpade/resource/vscode_extension/out/refactor_code_actions.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/refactor_code_actions.js.map b/app/RSpade/resource/vscode_extension/out/refactor_code_actions.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/refactor_provider.js b/app/RSpade/resource/vscode_extension/out/refactor_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/refactor_provider.js.map b/app/RSpade/resource/vscode_extension/out/refactor_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/sort_class_methods_provider.js b/app/RSpade/resource/vscode_extension/out/sort_class_methods_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/sort_class_methods_provider.js.map b/app/RSpade/resource/vscode_extension/out/sort_class_methods_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/symlink_redirect_provider.js b/app/RSpade/resource/vscode_extension/out/symlink_redirect_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/symlink_redirect_provider.js.map b/app/RSpade/resource/vscode_extension/out/symlink_redirect_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/that_variable_provider.js b/app/RSpade/resource/vscode_extension/out/that_variable_provider.js old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/out/that_variable_provider.js.map b/app/RSpade/resource/vscode_extension/out/that_variable_provider.js.map old mode 100755 new mode 100644 diff --git a/app/RSpade/resource/vscode_extension/package.json b/app/RSpade/resource/vscode_extension/package.json index a6ac069fd..3a26d3b83 100755 --- a/app/RSpade/resource/vscode_extension/package.json +++ b/app/RSpade/resource/vscode_extension/package.json @@ -2,7 +2,7 @@ "name": "rspade-framework", "displayName": "RSpade Framework Support", "description": "VS Code extension for RSpade framework with code folding, formatting, and namespace management", - "version": "0.1.219", + "version": "0.1.220", "publisher": "rspade", "engines": { "vscode": "^1.74.0" diff --git a/app/RSpade/resource/vscode_extension/rspade-framework.vsix b/app/RSpade/resource/vscode_extension/rspade-framework.vsix index 32d0da6f2e041ba746fb3f1532c2dfece3f43bed..b68a002ba49d9e367a69258ce21a46d69c9ffa3d 100755 GIT binary patch delta 8222 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 delta 8191 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 Wfv`$bAS3KC7>JAf$_x1CBL4$=Efuu@ diff --git a/app/RSpade/resource/vscode_extension/src/jqhtml_lifecycle_provider.ts b/app/RSpade/resource/vscode_extension/src/jqhtml_lifecycle_provider.ts index c3c07a1f6..1ae53538a 100755 --- a/app/RSpade/resource/vscode_extension/src/jqhtml_lifecycle_provider.ts +++ b/app/RSpade/resource/vscode_extension/src/jqhtml_lifecycle_provider.ts @@ -4,7 +4,7 @@ import { IdeBridgeClient } from './ide_bridge_client'; /** * JQHTML lifecycle methods that are called automatically by the framework */ -const JQHTML_LIFECYCLE_METHODS = ['on_render', 'on_create', 'on_load', 'on_ready', 'on_destroy', 'cache_id']; +const JQHTML_LIFECYCLE_METHODS = ['on_render', 'on_create', 'on_load', 'on_ready', 'on_stop', 'cache_id']; /** * Convention methods that are called automatically by the RSX framework @@ -29,7 +29,7 @@ const LIFECYCLE_DOCS: { [key: string]: string } = { on_create: 'Quick setup after DOM exists. Children complete before parent. DOM manipulation allowed. MUST be synchronous.', on_load: 'Data loading phase - fetch async data. NO DOM manipulation allowed, only update `this.data`. Template re-renders after load. MUST be async.', on_ready: 'Final setup phase - all data loaded. Children complete before parent. DOM manipulation allowed. Can be sync or async.', - on_destroy: 'Component destruction phase - cleanup resources. Called before component is removed. MUST be synchronous.', + on_stop: 'Component destruction phase - cleanup resources. Called before component is removed. MUST be synchronous.', cache_id: 'Returns a unique cache key for this component instance. Used by framework to cache/restore component state. Return null to disable caching.', }; @@ -299,7 +299,7 @@ export class JqhtmlLifecycleHoverProvider implements vscode.HoverProvider { const is_async = is_async_method(line); // Determine if async is required, forbidden, or optional - const must_be_sync = ['on_create', 'on_render', 'on_destroy'].includes(word); + const must_be_sync = ['on_create', 'on_render', 'on_stop'].includes(word); const must_be_async = word === 'on_load'; const can_be_either = word === 'on_ready'; @@ -440,11 +440,11 @@ export class JqhtmlLifecycleDiagnosticProvider { vscode.DiagnosticSeverity.Error ) ); - } else if (method_name === 'on_destroy' && is_async) { + } else if (method_name === 'on_stop' && is_async) { diagnostics.push( new vscode.Diagnostic( method_name_range, - `'on_destroy' must be synchronous - remove 'async' keyword`, + `'on_stop' must be synchronous - remove 'async' keyword`, vscode.DiagnosticSeverity.Error ) );