@memberjunction/ng-dashboards 5.38.0 → 5.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -7
- package/dist/AI/components/agents/agent-configuration.component.js +199 -198
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/ai-analytics-resource.component.js +20 -17
- package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +15 -0
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.js +166 -58
- package/dist/AI/components/analytics/cost-budget/cost-budget.component.js.map +1 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.js +2 -1
- package/dist/AI/components/analytics/executive-summary/executive-summary.component.js.map +1 -1
- package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts +1 -0
- package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/model-performance/model-performance.component.js +55 -36
- package/dist/AI/components/analytics/model-performance/model-performance.component.js.map +1 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts +9 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js +158 -117
- package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js.map +1 -1
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts +1 -0
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts.map +1 -1
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js +22 -8
- package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +217 -860
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +1717 -7802
- package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
- package/dist/AI/components/autotagging/components/classify-item-drilldown.component.d.ts +56 -0
- package/dist/AI/components/autotagging/components/classify-item-drilldown.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-item-drilldown.component.js +423 -0
- package/dist/AI/components/autotagging/components/classify-item-drilldown.component.js.map +1 -0
- package/dist/AI/components/autotagging/components/classify-item-grid.component.d.ts +70 -0
- package/dist/AI/components/autotagging/components/classify-item-grid.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-item-grid.component.js +308 -0
- package/dist/AI/components/autotagging/components/classify-item-grid.component.js.map +1 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts +29 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js +186 -0
- package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js.map +1 -0
- package/dist/AI/components/autotagging/components/classify-overview-analytics.component.d.ts +69 -0
- package/dist/AI/components/autotagging/components/classify-overview-analytics.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-overview-analytics.component.js +278 -0
- package/dist/AI/components/autotagging/components/classify-overview-analytics.component.js.map +1 -0
- package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.d.ts +73 -0
- package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.js +393 -0
- package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.d.ts +122 -0
- package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.js +908 -0
- package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.d.ts +87 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.js +475 -0
- package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.d.ts +29 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.js +208 -0
- package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.d.ts +21 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.js +70 -0
- package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts +333 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js +2125 -0
- package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.d.ts +61 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.d.ts.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.js +78 -0
- package/dist/AI/components/autotagging/shared/classify.dryrun.js.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.format.d.ts +58 -0
- package/dist/AI/components/autotagging/shared/classify.format.d.ts.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.format.js +260 -0
- package/dist/AI/components/autotagging/shared/classify.format.js.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.types.d.ts +319 -0
- package/dist/AI/components/autotagging/shared/classify.types.d.ts.map +1 -0
- package/dist/AI/components/autotagging/shared/classify.types.js +6 -0
- package/dist/AI/components/autotagging/shared/classify.types.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.d.ts +103 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.js +571 -0
- package/dist/AI/components/autotagging/tabs/health-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.d.ts +77 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.js +519 -0
- package/dist/AI/components/autotagging/tabs/history-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.d.ts +107 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.js +719 -0
- package/dist/AI/components/autotagging/tabs/inbox-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.d.ts +131 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.js +813 -0
- package/dist/AI/components/autotagging/tabs/pipeline-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts +177 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js +1465 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.d.ts +78 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.js +492 -0
- package/dist/AI/components/autotagging/tabs/tags-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.d.ts +397 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.js +3490 -0
- package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.js.map +1 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.d.ts +56 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.d.ts.map +1 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.js +271 -0
- package/dist/AI/components/autotagging/tabs/types-tab.component.js.map +1 -0
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +3 -0
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +306 -290
- package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
- package/dist/AI/components/execution-monitoring.component.js +1 -1
- package/dist/AI/components/execution-monitoring.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.js +209 -208
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +130 -128
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/AI/components/requests/agent-requests-resource.component.js +61 -61
- package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
- package/dist/AI/components/system/system-configuration.component.js +17 -17
- package/dist/AI/components/system/system-configuration.component.js.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.d.ts +1 -0
- package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.js +578 -538
- package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts +3 -0
- package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
- package/dist/AI/components/vectors/vector-management-resource.component.js +331 -303
- package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
- package/dist/AI/services/ai-instrumentation.service.d.ts +5 -0
- package/dist/AI/services/ai-instrumentation.service.d.ts.map +1 -1
- package/dist/AI/services/ai-instrumentation.service.js +14 -2
- package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
- package/dist/AI/services/cache-metrics.d.ts +50 -0
- package/dist/AI/services/cache-metrics.d.ts.map +1 -0
- package/dist/AI/services/cache-metrics.js +43 -0
- package/dist/AI/services/cache-metrics.js.map +1 -0
- package/dist/APIKeys/api-applications-panel.component.js +2 -2
- package/dist/APIKeys/api-key-create-dialog.component.js +2 -2
- package/dist/APIKeys/api-key-edit-panel.component.js +2 -2
- package/dist/APIKeys/api-keys-resource.component.js +132 -131
- package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
- package/dist/Actions/components/actions-overview.component.js +141 -141
- package/dist/Actions/components/actions-overview.component.js.map +1 -1
- package/dist/Actions/components/execution-monitoring.component.js +15 -15
- package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.d.ts +0 -5
- package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
- package/dist/Actions/components/explorer/action-explorer.component.js +139 -212
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
- package/dist/Admin/admin-data-schema.component.js +2 -2
- package/dist/Admin/admin-data-schema.component.js.map +1 -1
- package/dist/Admin/admin-dev-tools-resource.component.js +2 -2
- package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
- package/dist/Admin/admin-identity-access.component.js +2 -2
- package/dist/Admin/admin-identity-access.component.js.map +1 -1
- package/dist/Admin/admin-monitoring.component.js +2 -2
- package/dist/Admin/admin-monitoring.component.js.map +1 -1
- package/dist/ApplicationRoles/application-roles-resource.component.js +54 -49
- package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts +6 -0
- package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-logs-resource.component.js +72 -50
- package/dist/Communication/communication-logs-resource.component.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +103 -102
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-providers-resource.component.js +52 -51
- package/dist/Communication/communication-providers-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +39 -38
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts +6 -0
- package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-templates-resource.component.js +92 -89
- package/dist/Communication/communication-templates-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-audit-resource.component.js +136 -135
- package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.js +155 -152
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +119 -118
- package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-overview-resource.component.js +129 -128
- package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +107 -106
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +31 -340
- package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-dashboard.component.js +468 -1958
- package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
- package/dist/DataExplorer/data-explorer-resource.component.d.ts.map +1 -1
- package/dist/DataExplorer/data-explorer-resource.component.js +10 -0
- package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +1 -1
- package/dist/DatabaseDesigner/components/entity-list.component.js +115 -114
- package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +5 -6
- package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js +4 -5
- package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
- package/dist/DevTools/app-state-inspector.component.js +18 -17
- package/dist/DevTools/app-state-inspector.component.js.map +1 -1
- package/dist/DevTools/class-registry.component.js +88 -85
- package/dist/DevTools/class-registry.component.js.map +1 -1
- package/dist/DevTools/event-monitor.component.js +155 -150
- package/dist/DevTools/event-monitor.component.js.map +1 -1
- package/dist/DevTools/graphql-console.component.js +245 -243
- package/dist/DevTools/graphql-console.component.js.map +1 -1
- package/dist/DevTools/layout-inspector.component.js +18 -17
- package/dist/DevTools/layout-inspector.component.js.map +1 -1
- package/dist/EntityAdmin/entity-admin-dashboard.component.js +20 -19
- package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
- package/dist/Home/home-dashboard.component.js +2 -2
- package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
- package/dist/Integration/components/activity/activity.component.js +236 -229
- package/dist/Integration/components/activity/activity.component.js.map +1 -1
- package/dist/Integration/components/connections/connections.component.js +390 -389
- package/dist/Integration/components/connections/connections.component.js.map +1 -1
- package/dist/Integration/components/overview/overview.component.js +2 -2
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +14 -11
- package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts +27 -2
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts.map +1 -1
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +244 -119
- package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +293 -291
- package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +62 -61
- package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
- package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.d.ts +65 -0
- package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.js +176 -0
- package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.js.map +1 -0
- package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.d.ts +81 -0
- package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.js +308 -0
- package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.js.map +1 -0
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts +85 -0
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts.map +1 -0
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js +362 -0
- package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js.map +1 -0
- package/dist/KnowledgeHub/index.d.ts +3 -0
- package/dist/KnowledgeHub/index.d.ts.map +1 -1
- package/dist/KnowledgeHub/index.js +3 -0
- package/dist/KnowledgeHub/index.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts +6 -2
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +525 -566
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-categories-resource.component.js +135 -134
- package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js +199 -198
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/MCP/components/mcp-server-dialog.component.js +2 -2
- package/dist/MCP/mcp-dashboard.component.js +443 -438
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-activity.component.js +146 -147
- package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.js +76 -75
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview.component.js +97 -96
- package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +24 -22
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts +2 -0
- package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts.map +1 -1
- package/dist/Scheduling/services/scheduling-instrumentation.service.js +1 -0
- package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js +1 -1
- package/dist/Testing/components/testing-explorer.component.d.ts +14 -4
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-explorer.component.js +436 -427
- package/dist/Testing/components/testing-explorer.component.js.map +1 -1
- package/dist/Testing/components/testing-runs-resource.component.js +1 -1
- package/dist/Testing/components/testing-runs.component.js +116 -115
- package/dist/Testing/components/testing-runs.component.js.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +6 -7
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/VersionHistory/components/labels-resource.component.js +173 -172
- package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.d.ts +6 -0
- package/dist/VersionHistory/components/restore-resource.component.d.ts.map +1 -1
- package/dist/VersionHistory/components/restore-resource.component.js +116 -92
- package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
- package/dist/ai-dashboards.module.d.ts +57 -35
- package/dist/ai-dashboards.module.d.ts.map +1 -1
- package/dist/ai-dashboards.module.js +80 -1
- package/dist/ai-dashboards.module.js.map +1 -1
- package/dist/communication-dashboards.module.d.ts +1 -1
- package/dist/communication-dashboards.module.d.ts.map +1 -1
- package/dist/communication-dashboards.module.js +7 -1
- package/dist/communication-dashboards.module.js.map +1 -1
- package/dist/data-explorer-dashboards.module.d.ts +12 -14
- package/dist/data-explorer-dashboards.module.d.ts.map +1 -1
- package/dist/data-explorer-dashboards.module.js +5 -14
- package/dist/data-explorer-dashboards.module.js.map +1 -1
- package/dist/public-api.d.ts +3 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +3 -0
- package/dist/public-api.js.map +1 -1
- package/dist/testing-dashboards.module.d.ts +4 -5
- package/dist/testing-dashboards.module.d.ts.map +1 -1
- package/dist/testing-dashboards.module.js +7 -5
- package/dist/testing-dashboards.module.js.map +1 -1
- package/package.json +57 -54
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts +0 -79
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts.map +0 -1
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js +0 -195
- package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js.map +0 -1
- package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts +0 -226
- package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts.map +0 -1
- package/dist/DataExplorer/components/view-selector/view-selector.component.js +0 -861
- package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +0 -1
|
@@ -18,8 +18,8 @@ import * as i4 from "@angular/common";
|
|
|
18
18
|
const _c0 = ["queryEditor"];
|
|
19
19
|
function GraphQLConsoleComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
20
20
|
i0.ɵɵelementStart(0, "span", 3);
|
|
21
|
-
i0.ɵɵelement(1, "i",
|
|
22
|
-
i0.ɵɵelementStart(2, "code",
|
|
21
|
+
i0.ɵɵelement(1, "i", 36);
|
|
22
|
+
i0.ɵɵelementStart(2, "code", 37);
|
|
23
23
|
i0.ɵɵtext(3);
|
|
24
24
|
i0.ɵɵelementEnd()();
|
|
25
25
|
} if (rf & 2) {
|
|
@@ -27,15 +27,15 @@ function GraphQLConsoleComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
27
27
|
i0.ɵɵadvance(3);
|
|
28
28
|
i0.ɵɵtextInterpolate(ctx_r0.ApiUrl);
|
|
29
29
|
} }
|
|
30
|
-
function
|
|
31
|
-
i0.ɵɵelementStart(0, "div",
|
|
32
|
-
i0.ɵɵelement(1, "i",
|
|
30
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_11_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
31
|
+
i0.ɵɵelementStart(0, "div", 47);
|
|
32
|
+
i0.ɵɵelement(1, "i", 49);
|
|
33
33
|
i0.ɵɵtext(2, " Run a query to see it here. Star ");
|
|
34
|
-
i0.ɵɵelement(3, "i",
|
|
34
|
+
i0.ɵɵelement(3, "i", 50);
|
|
35
35
|
i0.ɵɵtext(4, " to keep it. ");
|
|
36
36
|
i0.ɵɵelementEnd();
|
|
37
37
|
} }
|
|
38
|
-
function
|
|
38
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_11_Conditional_6_For_2_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
39
39
|
i0.ɵɵelementStart(0, "span");
|
|
40
40
|
i0.ɵɵtext(1, "\u00B7");
|
|
41
41
|
i0.ɵɵelementEnd();
|
|
@@ -47,28 +47,28 @@ function GraphQLConsoleComponent_Conditional_12_Conditional_11_Conditional_6_For
|
|
|
47
47
|
i0.ɵɵadvance(3);
|
|
48
48
|
i0.ɵɵtextInterpolate1("", h_r5.durationMs, "ms");
|
|
49
49
|
} }
|
|
50
|
-
function
|
|
50
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_11_Conditional_6_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
51
51
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
52
|
-
i0.ɵɵelementStart(0, "button",
|
|
53
|
-
i0.ɵɵlistener("click", function
|
|
54
|
-
i0.ɵɵelementStart(1, "div",
|
|
55
|
-
i0.ɵɵelement(2, "i",
|
|
56
|
-
i0.ɵɵelementStart(3, "span",
|
|
52
|
+
i0.ɵɵelementStart(0, "button", 52);
|
|
53
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Conditional_11_Conditional_6_For_2_Template_button_click_0_listener() { const h_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.OnRestoreHistory(h_r5)); });
|
|
54
|
+
i0.ɵɵelementStart(1, "div", 53);
|
|
55
|
+
i0.ɵɵelement(2, "i", 54);
|
|
56
|
+
i0.ɵɵelementStart(3, "span", 55);
|
|
57
57
|
i0.ɵɵtext(4);
|
|
58
58
|
i0.ɵɵelementEnd();
|
|
59
|
-
i0.ɵɵelementStart(5, "button",
|
|
60
|
-
i0.ɵɵlistener("click", function
|
|
59
|
+
i0.ɵɵelementStart(5, "button", 56);
|
|
60
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Conditional_11_Conditional_6_For_2_Template_button_click_5_listener($event) { const h_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.OnToggleFavorite(h_r5, $event)); });
|
|
61
61
|
i0.ɵɵelement(6, "i");
|
|
62
62
|
i0.ɵɵelementEnd();
|
|
63
|
-
i0.ɵɵelementStart(7, "button",
|
|
64
|
-
i0.ɵɵlistener("click", function
|
|
65
|
-
i0.ɵɵelement(8, "i",
|
|
63
|
+
i0.ɵɵelementStart(7, "button", 57);
|
|
64
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Conditional_11_Conditional_6_For_2_Template_button_click_7_listener($event) { const h_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.OnDeleteHistory(h_r5, $event)); });
|
|
65
|
+
i0.ɵɵelement(8, "i", 58);
|
|
66
66
|
i0.ɵɵelementEnd()();
|
|
67
|
-
i0.ɵɵelementStart(9, "div",
|
|
67
|
+
i0.ɵɵelementStart(9, "div", 59)(10, "span");
|
|
68
68
|
i0.ɵɵtext(11);
|
|
69
69
|
i0.ɵɵpipe(12, "date");
|
|
70
70
|
i0.ɵɵelementEnd();
|
|
71
|
-
i0.ɵɵconditionalCreate(13,
|
|
71
|
+
i0.ɵɵconditionalCreate(13, GraphQLConsoleComponent_Conditional_14_Conditional_11_Conditional_6_For_2_Conditional_13_Template, 4, 1);
|
|
72
72
|
i0.ɵɵelementEnd()();
|
|
73
73
|
} if (rf & 2) {
|
|
74
74
|
const h_r5 = ctx.$implicit;
|
|
@@ -86,25 +86,25 @@ function GraphQLConsoleComponent_Conditional_12_Conditional_11_Conditional_6_For
|
|
|
86
86
|
i0.ɵɵadvance(2);
|
|
87
87
|
i0.ɵɵconditional(h_r5.durationMs != null ? 13 : -1);
|
|
88
88
|
} }
|
|
89
|
-
function
|
|
90
|
-
i0.ɵɵelementStart(0, "div",
|
|
91
|
-
i0.ɵɵrepeaterCreate(1,
|
|
89
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_11_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
90
|
+
i0.ɵɵelementStart(0, "div", 48);
|
|
91
|
+
i0.ɵɵrepeaterCreate(1, GraphQLConsoleComponent_Conditional_14_Conditional_11_Conditional_6_For_2_Template, 14, 23, "button", 51, i0.ɵɵcomponentInstance().TrackByHistory, true);
|
|
92
92
|
i0.ɵɵelementEnd();
|
|
93
93
|
} if (rf & 2) {
|
|
94
94
|
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
95
95
|
i0.ɵɵadvance();
|
|
96
96
|
i0.ɵɵrepeater(ctx_r0.History);
|
|
97
97
|
} }
|
|
98
|
-
function
|
|
98
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
99
99
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
100
|
-
i0.ɵɵelementStart(0, "div",
|
|
100
|
+
i0.ɵɵelementStart(0, "div", 45)(1, "span");
|
|
101
101
|
i0.ɵɵtext(2);
|
|
102
102
|
i0.ɵɵelementEnd();
|
|
103
|
-
i0.ɵɵelementStart(3, "button",
|
|
104
|
-
i0.ɵɵlistener("click", function
|
|
105
|
-
i0.ɵɵelement(4, "i",
|
|
103
|
+
i0.ɵɵelementStart(3, "button", 46);
|
|
104
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Conditional_11_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.OnClearHistory()); });
|
|
105
|
+
i0.ɵɵelement(4, "i", 17);
|
|
106
106
|
i0.ɵɵelementEnd()();
|
|
107
|
-
i0.ɵɵconditionalCreate(5,
|
|
107
|
+
i0.ɵɵconditionalCreate(5, GraphQLConsoleComponent_Conditional_14_Conditional_11_Conditional_5_Template, 5, 0, "div", 47)(6, GraphQLConsoleComponent_Conditional_14_Conditional_11_Conditional_6_Template, 3, 0, "div", 48);
|
|
108
108
|
} if (rf & 2) {
|
|
109
109
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
110
110
|
i0.ɵɵadvance(2);
|
|
@@ -112,8 +112,8 @@ function GraphQLConsoleComponent_Conditional_12_Conditional_11_Template(rf, ctx)
|
|
|
112
112
|
i0.ɵɵadvance(3);
|
|
113
113
|
i0.ɵɵconditional(ctx_r0.History.length === 0 ? 5 : 6);
|
|
114
114
|
} }
|
|
115
|
-
function
|
|
116
|
-
i0.ɵɵelementStart(0, "option",
|
|
115
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_12_Conditional_4_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
116
|
+
i0.ɵɵelementStart(0, "option", 72);
|
|
117
117
|
i0.ɵɵtext(1);
|
|
118
118
|
i0.ɵɵelementEnd();
|
|
119
119
|
} if (rf & 2) {
|
|
@@ -122,14 +122,14 @@ function GraphQLConsoleComponent_Conditional_12_Conditional_12_Conditional_4_For
|
|
|
122
122
|
i0.ɵɵadvance();
|
|
123
123
|
i0.ɵɵtextInterpolate(s_r8);
|
|
124
124
|
} }
|
|
125
|
-
function
|
|
125
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_12_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
126
126
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
127
|
-
i0.ɵɵelementStart(0, "select",
|
|
128
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
129
|
-
i0.ɵɵelementStart(1, "option",
|
|
127
|
+
i0.ɵɵelementStart(0, "select", 70);
|
|
128
|
+
i0.ɵɵtwoWayListener("ngModelChange", function GraphQLConsoleComponent_Conditional_14_Conditional_12_Conditional_4_Template_select_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r0 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r0.EntitySchemaFilter, $event) || (ctx_r0.EntitySchemaFilter = $event); return i0.ɵɵresetView($event); });
|
|
129
|
+
i0.ɵɵelementStart(1, "option", 71);
|
|
130
130
|
i0.ɵɵtext(2);
|
|
131
131
|
i0.ɵɵelementEnd();
|
|
132
|
-
i0.ɵɵrepeaterCreate(3,
|
|
132
|
+
i0.ɵɵrepeaterCreate(3, GraphQLConsoleComponent_Conditional_14_Conditional_12_Conditional_4_For_4_Template, 2, 2, "option", 72, i0.ɵɵrepeaterTrackByIdentity);
|
|
133
133
|
i0.ɵɵelementEnd();
|
|
134
134
|
} if (rf & 2) {
|
|
135
135
|
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
@@ -139,32 +139,32 @@ function GraphQLConsoleComponent_Conditional_12_Conditional_12_Conditional_4_Tem
|
|
|
139
139
|
i0.ɵɵadvance();
|
|
140
140
|
i0.ɵɵrepeater(ctx_r0.KnownSchemas);
|
|
141
141
|
} }
|
|
142
|
-
function
|
|
142
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Conditional_11_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
143
143
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
144
|
-
i0.ɵɵelementStart(0, "button",
|
|
145
|
-
i0.ɵɵlistener("click", function
|
|
146
|
-
i0.ɵɵelement(1, "i",
|
|
144
|
+
i0.ɵɵelementStart(0, "button", 90);
|
|
145
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Conditional_11_Conditional_7_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r12); const item_r10 = i0.ɵɵnextContext(2).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.OnEntityOp(item_r10, "create", $event)); });
|
|
146
|
+
i0.ɵɵelement(1, "i", 91);
|
|
147
147
|
i0.ɵɵtext(2, " Create ");
|
|
148
148
|
i0.ɵɵelementEnd();
|
|
149
149
|
} }
|
|
150
|
-
function
|
|
150
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Conditional_11_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
151
151
|
const _r13 = i0.ɵɵgetCurrentView();
|
|
152
|
-
i0.ɵɵelementStart(0, "button",
|
|
153
|
-
i0.ɵɵlistener("click", function
|
|
154
|
-
i0.ɵɵelement(1, "i",
|
|
152
|
+
i0.ɵɵelementStart(0, "button", 92);
|
|
153
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Conditional_11_Conditional_8_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r13); const item_r10 = i0.ɵɵnextContext(2).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.OnEntityOp(item_r10, "update", $event)); });
|
|
154
|
+
i0.ɵɵelement(1, "i", 93);
|
|
155
155
|
i0.ɵɵtext(2, " Update ");
|
|
156
156
|
i0.ɵɵelementEnd();
|
|
157
157
|
} }
|
|
158
|
-
function
|
|
158
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Conditional_11_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
159
159
|
const _r14 = i0.ɵɵgetCurrentView();
|
|
160
|
-
i0.ɵɵelementStart(0, "button",
|
|
161
|
-
i0.ɵɵlistener("click", function
|
|
162
|
-
i0.ɵɵelement(1, "i",
|
|
160
|
+
i0.ɵɵelementStart(0, "button", 94);
|
|
161
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Conditional_11_Conditional_9_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r14); const item_r10 = i0.ɵɵnextContext(2).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.OnEntityOp(item_r10, "delete", $event)); });
|
|
162
|
+
i0.ɵɵelement(1, "i", 95);
|
|
163
163
|
i0.ɵɵtext(2, " Delete ");
|
|
164
164
|
i0.ɵɵelementEnd();
|
|
165
165
|
} }
|
|
166
|
-
function
|
|
167
|
-
i0.ɵɵelementStart(0, "div",
|
|
166
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Conditional_11_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
167
|
+
i0.ɵɵelementStart(0, "div", 89);
|
|
168
168
|
i0.ɵɵtext(1);
|
|
169
169
|
i0.ɵɵelementEnd();
|
|
170
170
|
} if (rf & 2) {
|
|
@@ -172,23 +172,23 @@ function GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Conditiona
|
|
|
172
172
|
i0.ɵɵadvance();
|
|
173
173
|
i0.ɵɵtextInterpolate(item_r10.info.Description);
|
|
174
174
|
} }
|
|
175
|
-
function
|
|
175
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
176
176
|
const _r11 = i0.ɵɵgetCurrentView();
|
|
177
|
-
i0.ɵɵelementStart(0, "div",
|
|
178
|
-
i0.ɵɵlistener("click", function
|
|
179
|
-
i0.ɵɵelement(2, "i",
|
|
177
|
+
i0.ɵɵelementStart(0, "div", 81)(1, "button", 82);
|
|
178
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Conditional_11_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r11); const item_r10 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.OnEntityOp(item_r10, "view", $event)); });
|
|
179
|
+
i0.ɵɵelement(2, "i", 83);
|
|
180
180
|
i0.ɵɵtext(3, " Run view ");
|
|
181
181
|
i0.ɵɵelementEnd();
|
|
182
|
-
i0.ɵɵelementStart(4, "button",
|
|
183
|
-
i0.ɵɵlistener("click", function
|
|
184
|
-
i0.ɵɵelement(5, "i",
|
|
182
|
+
i0.ɵɵelementStart(4, "button", 84);
|
|
183
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Conditional_11_Template_button_click_4_listener($event) { i0.ɵɵrestoreView(_r11); const item_r10 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.OnEntityOp(item_r10, "byId", $event)); });
|
|
184
|
+
i0.ɵɵelement(5, "i", 85);
|
|
185
185
|
i0.ɵɵtext(6, " Get by ID ");
|
|
186
186
|
i0.ɵɵelementEnd();
|
|
187
|
-
i0.ɵɵconditionalCreate(7,
|
|
188
|
-
i0.ɵɵconditionalCreate(8,
|
|
189
|
-
i0.ɵɵconditionalCreate(9,
|
|
187
|
+
i0.ɵɵconditionalCreate(7, GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Conditional_11_Conditional_7_Template, 3, 0, "button", 86);
|
|
188
|
+
i0.ɵɵconditionalCreate(8, GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Conditional_11_Conditional_8_Template, 3, 0, "button", 87);
|
|
189
|
+
i0.ɵɵconditionalCreate(9, GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Conditional_11_Conditional_9_Template, 3, 0, "button", 88);
|
|
190
190
|
i0.ɵɵelementEnd();
|
|
191
|
-
i0.ɵɵconditionalCreate(10,
|
|
191
|
+
i0.ɵɵconditionalCreate(10, GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Conditional_11_Conditional_10_Template, 2, 1, "div", 89);
|
|
192
192
|
} if (rf & 2) {
|
|
193
193
|
const item_r10 = i0.ɵɵnextContext().$implicit;
|
|
194
194
|
i0.ɵɵadvance(7);
|
|
@@ -200,21 +200,21 @@ function GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Conditiona
|
|
|
200
200
|
i0.ɵɵadvance();
|
|
201
201
|
i0.ɵɵconditional(item_r10.info.Description ? 10 : -1);
|
|
202
202
|
} }
|
|
203
|
-
function
|
|
203
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Template(rf, ctx) { if (rf & 1) {
|
|
204
204
|
const _r9 = i0.ɵɵgetCurrentView();
|
|
205
|
-
i0.ɵɵelementStart(0, "div",
|
|
206
|
-
i0.ɵɵlistener("click", function
|
|
207
|
-
i0.ɵɵelement(2, "i",
|
|
208
|
-
i0.ɵɵelementStart(3, "div",
|
|
205
|
+
i0.ɵɵelementStart(0, "div", 73)(1, "button", 74);
|
|
206
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Template_button_click_1_listener() { const item_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.ToggleEntity(item_r10)); });
|
|
207
|
+
i0.ɵɵelement(2, "i", 75);
|
|
208
|
+
i0.ɵɵelementStart(3, "div", 76)(4, "div", 77);
|
|
209
209
|
i0.ɵɵtext(5);
|
|
210
210
|
i0.ɵɵelementEnd();
|
|
211
|
-
i0.ɵɵelementStart(6, "div",
|
|
211
|
+
i0.ɵɵelementStart(6, "div", 78)(7, "code", 79);
|
|
212
212
|
i0.ɵɵtext(8);
|
|
213
213
|
i0.ɵɵelementEnd();
|
|
214
|
-
i0.ɵɵelementStart(9, "span",
|
|
214
|
+
i0.ɵɵelementStart(9, "span", 80);
|
|
215
215
|
i0.ɵɵtext(10);
|
|
216
216
|
i0.ɵɵelementEnd()()()();
|
|
217
|
-
i0.ɵɵconditionalCreate(11,
|
|
217
|
+
i0.ɵɵconditionalCreate(11, GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Conditional_11_Template, 11, 4);
|
|
218
218
|
i0.ɵɵelementEnd();
|
|
219
219
|
} if (rf & 2) {
|
|
220
220
|
const item_r10 = ctx.$implicit;
|
|
@@ -230,44 +230,44 @@ function GraphQLConsoleComponent_Conditional_12_Conditional_12_For_12_Template(r
|
|
|
230
230
|
i0.ɵɵadvance();
|
|
231
231
|
i0.ɵɵconditional(item_r10.expanded ? 11 : -1);
|
|
232
232
|
} }
|
|
233
|
-
function
|
|
233
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_12_Conditional_13_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
234
234
|
const _r15 = i0.ɵɵgetCurrentView();
|
|
235
|
-
i0.ɵɵelementStart(0, "button",
|
|
236
|
-
i0.ɵɵlistener("click", function
|
|
235
|
+
i0.ɵɵelementStart(0, "button", 98);
|
|
236
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Conditional_12_Conditional_13_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r15); const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.ClearEntityFilters()); });
|
|
237
237
|
i0.ɵɵtext(1, " Clear filters ");
|
|
238
238
|
i0.ɵɵelementEnd();
|
|
239
239
|
} }
|
|
240
|
-
function
|
|
241
|
-
i0.ɵɵelementStart(0, "div",
|
|
242
|
-
i0.ɵɵelement(1, "i",
|
|
240
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_12_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
241
|
+
i0.ɵɵelementStart(0, "div", 69);
|
|
242
|
+
i0.ɵɵelement(1, "i", 96);
|
|
243
243
|
i0.ɵɵelementStart(2, "span");
|
|
244
244
|
i0.ɵɵtext(3, "No entities match.");
|
|
245
245
|
i0.ɵɵelementEnd();
|
|
246
|
-
i0.ɵɵconditionalCreate(4,
|
|
246
|
+
i0.ɵɵconditionalCreate(4, GraphQLConsoleComponent_Conditional_14_Conditional_12_Conditional_13_Conditional_4_Template, 2, 0, "button", 97);
|
|
247
247
|
i0.ɵɵelementEnd();
|
|
248
248
|
} if (rf & 2) {
|
|
249
249
|
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
250
250
|
i0.ɵɵadvance(4);
|
|
251
251
|
i0.ɵɵconditional(ctx_r0.EntitiesSearch || ctx_r0.EntitySchemaFilter ? 4 : -1);
|
|
252
252
|
} }
|
|
253
|
-
function
|
|
253
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
254
254
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
255
|
-
i0.ɵɵelementStart(0, "div",
|
|
256
|
-
i0.ɵɵelement(2, "i",
|
|
257
|
-
i0.ɵɵelementStart(3, "input",
|
|
258
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
255
|
+
i0.ɵɵelementStart(0, "div", 60)(1, "div", 61);
|
|
256
|
+
i0.ɵɵelement(2, "i", 62);
|
|
257
|
+
i0.ɵɵelementStart(3, "input", 63);
|
|
258
|
+
i0.ɵɵtwoWayListener("ngModelChange", function GraphQLConsoleComponent_Conditional_14_Conditional_12_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r0.EntitiesSearch, $event) || (ctx_r0.EntitiesSearch = $event); return i0.ɵɵresetView($event); });
|
|
259
259
|
i0.ɵɵelementEnd()();
|
|
260
|
-
i0.ɵɵconditionalCreate(4,
|
|
260
|
+
i0.ɵɵconditionalCreate(4, GraphQLConsoleComponent_Conditional_14_Conditional_12_Conditional_4_Template, 5, 2, "select", 64);
|
|
261
261
|
i0.ɵɵelementEnd();
|
|
262
|
-
i0.ɵɵelementStart(5, "div",
|
|
262
|
+
i0.ɵɵelementStart(5, "div", 65)(6, "span");
|
|
263
263
|
i0.ɵɵtext(7);
|
|
264
264
|
i0.ɵɵelementEnd();
|
|
265
|
-
i0.ɵɵelementStart(8, "span",
|
|
265
|
+
i0.ɵɵelementStart(8, "span", 66);
|
|
266
266
|
i0.ɵɵtext(9, "Click an entity to see operations");
|
|
267
267
|
i0.ɵɵelementEnd()();
|
|
268
|
-
i0.ɵɵelementStart(10, "div",
|
|
269
|
-
i0.ɵɵrepeaterCreate(11,
|
|
270
|
-
i0.ɵɵconditionalCreate(13,
|
|
268
|
+
i0.ɵɵelementStart(10, "div", 67);
|
|
269
|
+
i0.ɵɵrepeaterCreate(11, GraphQLConsoleComponent_Conditional_14_Conditional_12_For_12_Template, 12, 8, "div", 68, i0.ɵɵcomponentInstance().TrackByEntity, true);
|
|
270
|
+
i0.ɵɵconditionalCreate(13, GraphQLConsoleComponent_Conditional_14_Conditional_12_Conditional_13_Template, 5, 1, "div", 69);
|
|
271
271
|
i0.ɵɵelementEnd();
|
|
272
272
|
} if (rf & 2) {
|
|
273
273
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
@@ -282,24 +282,24 @@ function GraphQLConsoleComponent_Conditional_12_Conditional_12_Template(rf, ctx)
|
|
|
282
282
|
i0.ɵɵadvance(2);
|
|
283
283
|
i0.ɵɵconditional(ctx_r0.FilteredEntities.length === 0 ? 13 : -1);
|
|
284
284
|
} }
|
|
285
|
-
function
|
|
285
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
286
286
|
const _r17 = i0.ɵɵgetCurrentView();
|
|
287
|
-
i0.ɵɵelementStart(0, "div",
|
|
288
|
-
i0.ɵɵlistener("click", function
|
|
287
|
+
i0.ɵɵelementStart(0, "div", 105)(1, "button", 110);
|
|
288
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_6_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r17); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.SchemaKindFilter = "all"); });
|
|
289
289
|
i0.ɵɵtext(2, " All ");
|
|
290
290
|
i0.ɵɵelementStart(3, "span");
|
|
291
291
|
i0.ɵɵtext(4);
|
|
292
292
|
i0.ɵɵelementEnd()();
|
|
293
|
-
i0.ɵɵelementStart(5, "button",
|
|
294
|
-
i0.ɵɵlistener("click", function
|
|
295
|
-
i0.ɵɵelement(6, "i",
|
|
293
|
+
i0.ɵɵelementStart(5, "button", 111);
|
|
294
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_6_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r17); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.SchemaKindFilter = "query"); });
|
|
295
|
+
i0.ɵɵelement(6, "i", 83);
|
|
296
296
|
i0.ɵɵtext(7, " Query ");
|
|
297
297
|
i0.ɵɵelementStart(8, "span");
|
|
298
298
|
i0.ɵɵtext(9);
|
|
299
299
|
i0.ɵɵelementEnd()();
|
|
300
|
-
i0.ɵɵelementStart(10, "button",
|
|
301
|
-
i0.ɵɵlistener("click", function
|
|
302
|
-
i0.ɵɵelement(11, "i",
|
|
300
|
+
i0.ɵɵelementStart(10, "button", 112);
|
|
301
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_6_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r17); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.SchemaKindFilter = "mutation"); });
|
|
302
|
+
i0.ɵɵelement(11, "i", 93);
|
|
303
303
|
i0.ɵɵtext(12, " Mutation ");
|
|
304
304
|
i0.ɵɵelementStart(13, "span");
|
|
305
305
|
i0.ɵɵtext(14);
|
|
@@ -319,30 +319,30 @@ function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_6_Tem
|
|
|
319
319
|
i0.ɵɵadvance(4);
|
|
320
320
|
i0.ɵɵtextInterpolate(ctx_r0.OperationCounts.mutation);
|
|
321
321
|
} }
|
|
322
|
-
function
|
|
323
|
-
i0.ɵɵelementStart(0, "div",
|
|
324
|
-
i0.ɵɵelement(1, "i",
|
|
322
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
323
|
+
i0.ɵɵelementStart(0, "div", 106);
|
|
324
|
+
i0.ɵɵelement(1, "i", 113);
|
|
325
325
|
i0.ɵɵelementStart(2, "span");
|
|
326
326
|
i0.ɵɵtext(3, "Introspecting schema\u2026");
|
|
327
327
|
i0.ɵɵelementEnd()();
|
|
328
328
|
} }
|
|
329
|
-
function
|
|
330
|
-
i0.ɵɵelementStart(0, "div",
|
|
331
|
-
i0.ɵɵelement(1, "i",
|
|
332
|
-
i0.ɵɵelementStart(2, "div",
|
|
329
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
330
|
+
i0.ɵɵelementStart(0, "div", 107);
|
|
331
|
+
i0.ɵɵelement(1, "i", 114);
|
|
332
|
+
i0.ɵɵelementStart(2, "div", 115);
|
|
333
333
|
i0.ɵɵtext(3, "Introspection disabled");
|
|
334
334
|
i0.ɵɵelementEnd();
|
|
335
|
-
i0.ɵɵelementStart(4, "div",
|
|
335
|
+
i0.ɵɵelementStart(4, "div", 116);
|
|
336
336
|
i0.ɵɵtext(5, " This server has GraphQL introspection turned off (typical in production). Schema browsing isn't available \u2014 write queries directly in the editor, or use the History tab to revisit previous queries. ");
|
|
337
337
|
i0.ɵɵelementEnd()();
|
|
338
338
|
} }
|
|
339
|
-
function
|
|
340
|
-
i0.ɵɵelementStart(0, "div",
|
|
341
|
-
i0.ɵɵelement(1, "i",
|
|
342
|
-
i0.ɵɵelementStart(2, "div",
|
|
339
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
340
|
+
i0.ɵɵelementStart(0, "div", 108);
|
|
341
|
+
i0.ɵɵelement(1, "i", 117);
|
|
342
|
+
i0.ɵɵelementStart(2, "div", 118);
|
|
343
343
|
i0.ɵɵtext(3, "Couldn't load schema");
|
|
344
344
|
i0.ɵɵelementEnd();
|
|
345
|
-
i0.ɵɵelementStart(4, "div",
|
|
345
|
+
i0.ɵɵelementStart(4, "div", 119);
|
|
346
346
|
i0.ɵɵtext(5);
|
|
347
347
|
i0.ɵɵelementEnd()();
|
|
348
348
|
} if (rf & 2) {
|
|
@@ -350,15 +350,15 @@ function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_9_Tem
|
|
|
350
350
|
i0.ɵɵadvance(5);
|
|
351
351
|
i0.ɵɵtextInterpolate(ctx_r0.SchemaError);
|
|
352
352
|
} }
|
|
353
|
-
function
|
|
354
|
-
i0.ɵɵelementStart(0, "div",
|
|
355
|
-
i0.ɵɵelement(1, "i",
|
|
353
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
354
|
+
i0.ɵɵelementStart(0, "div", 106);
|
|
355
|
+
i0.ɵɵelement(1, "i", 96);
|
|
356
356
|
i0.ɵɵelementStart(2, "span");
|
|
357
357
|
i0.ɵɵtext(3, "No operations match.");
|
|
358
358
|
i0.ɵɵelementEnd()();
|
|
359
359
|
} }
|
|
360
|
-
function
|
|
361
|
-
i0.ɵɵelementStart(0, "div",
|
|
360
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_11_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
361
|
+
i0.ɵɵelementStart(0, "div", 125);
|
|
362
362
|
i0.ɵɵtext(1);
|
|
363
363
|
i0.ɵɵelementEnd();
|
|
364
364
|
} if (rf & 2) {
|
|
@@ -366,8 +366,8 @@ function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_11_Fo
|
|
|
366
366
|
i0.ɵɵadvance();
|
|
367
367
|
i0.ɵɵtextInterpolate1("(", op_r19.argSummary, ")");
|
|
368
368
|
} }
|
|
369
|
-
function
|
|
370
|
-
i0.ɵɵelementStart(0, "div",
|
|
369
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_11_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
370
|
+
i0.ɵɵelementStart(0, "div", 128);
|
|
371
371
|
i0.ɵɵtext(1);
|
|
372
372
|
i0.ɵɵelementEnd();
|
|
373
373
|
} if (rf & 2) {
|
|
@@ -375,22 +375,22 @@ function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_11_Fo
|
|
|
375
375
|
i0.ɵɵadvance();
|
|
376
376
|
i0.ɵɵtextInterpolate(op_r19.description);
|
|
377
377
|
} }
|
|
378
|
-
function
|
|
378
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_11_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
379
379
|
const _r18 = i0.ɵɵgetCurrentView();
|
|
380
|
-
i0.ɵɵelementStart(0, "button",
|
|
381
|
-
i0.ɵɵlistener("click", function
|
|
382
|
-
i0.ɵɵelementStart(1, "div",
|
|
380
|
+
i0.ɵɵelementStart(0, "button", 121);
|
|
381
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_11_For_2_Template_button_click_0_listener($event) { const op_r19 = i0.ɵɵrestoreView(_r18).$implicit; const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.OnInsertOperation(op_r19, $event)); });
|
|
382
|
+
i0.ɵɵelementStart(1, "div", 122)(2, "span", 123);
|
|
383
383
|
i0.ɵɵtext(3);
|
|
384
384
|
i0.ɵɵelementEnd();
|
|
385
|
-
i0.ɵɵelementStart(4, "span",
|
|
385
|
+
i0.ɵɵelementStart(4, "span", 124);
|
|
386
386
|
i0.ɵɵtext(5);
|
|
387
387
|
i0.ɵɵelementEnd()();
|
|
388
|
-
i0.ɵɵconditionalCreate(6,
|
|
389
|
-
i0.ɵɵelementStart(7, "div",
|
|
390
|
-
i0.ɵɵelement(8, "i",
|
|
388
|
+
i0.ɵɵconditionalCreate(6, GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_11_For_2_Conditional_6_Template, 2, 1, "div", 125);
|
|
389
|
+
i0.ɵɵelementStart(7, "div", 126);
|
|
390
|
+
i0.ɵɵelement(8, "i", 127);
|
|
391
391
|
i0.ɵɵtext(9);
|
|
392
392
|
i0.ɵɵelementEnd();
|
|
393
|
-
i0.ɵɵconditionalCreate(10,
|
|
393
|
+
i0.ɵɵconditionalCreate(10, GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_11_For_2_Conditional_10_Template, 2, 1, "div", 128);
|
|
394
394
|
i0.ɵɵelementEnd();
|
|
395
395
|
} if (rf & 2) {
|
|
396
396
|
const op_r19 = ctx.$implicit;
|
|
@@ -407,28 +407,28 @@ function GraphQLConsoleComponent_Conditional_12_Conditional_13_Conditional_11_Fo
|
|
|
407
407
|
i0.ɵɵadvance();
|
|
408
408
|
i0.ɵɵconditional(op_r19.description ? 10 : -1);
|
|
409
409
|
} }
|
|
410
|
-
function
|
|
411
|
-
i0.ɵɵelementStart(0, "div",
|
|
412
|
-
i0.ɵɵrepeaterCreate(1,
|
|
410
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
411
|
+
i0.ɵɵelementStart(0, "div", 109);
|
|
412
|
+
i0.ɵɵrepeaterCreate(1, GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_11_For_2_Template, 11, 8, "button", 120, i0.ɵɵcomponentInstance().TrackByOp, true);
|
|
413
413
|
i0.ɵɵelementEnd();
|
|
414
414
|
} if (rf & 2) {
|
|
415
415
|
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
416
416
|
i0.ɵɵadvance();
|
|
417
417
|
i0.ɵɵrepeater(ctx_r0.FilteredOperations);
|
|
418
418
|
} }
|
|
419
|
-
function
|
|
419
|
+
function GraphQLConsoleComponent_Conditional_14_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
420
420
|
const _r16 = i0.ɵɵgetCurrentView();
|
|
421
|
-
i0.ɵɵelementStart(0, "div",
|
|
422
|
-
i0.ɵɵelement(2, "i",
|
|
423
|
-
i0.ɵɵelementStart(3, "input",
|
|
424
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
421
|
+
i0.ɵɵelementStart(0, "div", 99)(1, "div", 100);
|
|
422
|
+
i0.ɵɵelement(2, "i", 101);
|
|
423
|
+
i0.ɵɵelementStart(3, "input", 102);
|
|
424
|
+
i0.ɵɵtwoWayListener("ngModelChange", function GraphQLConsoleComponent_Conditional_14_Conditional_13_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r0 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r0.SchemaSearch, $event) || (ctx_r0.SchemaSearch = $event); return i0.ɵɵresetView($event); });
|
|
425
425
|
i0.ɵɵelementEnd()();
|
|
426
|
-
i0.ɵɵelementStart(4, "button",
|
|
427
|
-
i0.ɵɵlistener("click", function
|
|
428
|
-
i0.ɵɵelement(5, "i",
|
|
426
|
+
i0.ɵɵelementStart(4, "button", 103);
|
|
427
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Conditional_13_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r16); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.OnReloadSchema()); });
|
|
428
|
+
i0.ɵɵelement(5, "i", 104);
|
|
429
429
|
i0.ɵɵelementEnd()();
|
|
430
|
-
i0.ɵɵconditionalCreate(6,
|
|
431
|
-
i0.ɵɵconditionalCreate(7,
|
|
430
|
+
i0.ɵɵconditionalCreate(6, GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_6_Template, 15, 9, "div", 105);
|
|
431
|
+
i0.ɵɵconditionalCreate(7, GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_7_Template, 4, 0, "div", 106)(8, GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_8_Template, 6, 0, "div", 107)(9, GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_9_Template, 6, 1, "div", 108)(10, GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_10_Template, 4, 0, "div", 106)(11, GraphQLConsoleComponent_Conditional_14_Conditional_13_Conditional_11_Template, 3, 0, "div", 109);
|
|
432
432
|
} if (rf & 2) {
|
|
433
433
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
434
434
|
i0.ɵɵadvance(3);
|
|
@@ -442,27 +442,27 @@ function GraphQLConsoleComponent_Conditional_12_Conditional_13_Template(rf, ctx)
|
|
|
442
442
|
i0.ɵɵadvance();
|
|
443
443
|
i0.ɵɵconditional(ctx_r0.SchemaLoading ? 7 : ctx_r0.SchemaIntrospectionDisabled ? 8 : ctx_r0.SchemaError ? 9 : ctx_r0.FilteredOperations.length === 0 ? 10 : 11);
|
|
444
444
|
} }
|
|
445
|
-
function
|
|
445
|
+
function GraphQLConsoleComponent_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
446
446
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
447
|
-
i0.ɵɵelementStart(0, "aside",
|
|
448
|
-
i0.ɵɵlistener("click", function
|
|
449
|
-
i0.ɵɵelement(3, "i",
|
|
447
|
+
i0.ɵɵelementStart(0, "aside", 38)(1, "div", 39)(2, "button", 40);
|
|
448
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnSidebarTabChange("history")); });
|
|
449
|
+
i0.ɵɵelement(3, "i", 41);
|
|
450
450
|
i0.ɵɵtext(4, " History ");
|
|
451
451
|
i0.ɵɵelementEnd();
|
|
452
|
-
i0.ɵɵelementStart(5, "button",
|
|
453
|
-
i0.ɵɵlistener("click", function
|
|
454
|
-
i0.ɵɵelement(6, "i",
|
|
452
|
+
i0.ɵɵelementStart(5, "button", 40);
|
|
453
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnSidebarTabChange("entities")); });
|
|
454
|
+
i0.ɵɵelement(6, "i", 42);
|
|
455
455
|
i0.ɵɵtext(7, " Entities ");
|
|
456
456
|
i0.ɵɵelementEnd();
|
|
457
|
-
i0.ɵɵelementStart(8, "button",
|
|
458
|
-
i0.ɵɵlistener("click", function
|
|
459
|
-
i0.ɵɵelement(9, "i",
|
|
457
|
+
i0.ɵɵelementStart(8, "button", 40);
|
|
458
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_14_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnSidebarTabChange("schema")); });
|
|
459
|
+
i0.ɵɵelement(9, "i", 43);
|
|
460
460
|
i0.ɵɵtext(10, " Schema ");
|
|
461
461
|
i0.ɵɵelementEnd()();
|
|
462
|
-
i0.ɵɵconditionalCreate(11,
|
|
462
|
+
i0.ɵɵconditionalCreate(11, GraphQLConsoleComponent_Conditional_14_Conditional_11_Template, 7, 3)(12, GraphQLConsoleComponent_Conditional_14_Conditional_12_Template, 14, 5)(13, GraphQLConsoleComponent_Conditional_14_Conditional_13_Template, 12, 10);
|
|
463
463
|
i0.ɵɵelementEnd();
|
|
464
|
-
i0.ɵɵelementStart(14, "div",
|
|
465
|
-
i0.ɵɵlistener("mousedown", function
|
|
464
|
+
i0.ɵɵelementStart(14, "div", 44);
|
|
465
|
+
i0.ɵɵlistener("mousedown", function GraphQLConsoleComponent_Conditional_14_Template_div_mousedown_14_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnSplitterDown($event, "sidebar")); });
|
|
466
466
|
i0.ɵɵelementEnd();
|
|
467
467
|
} if (rf & 2) {
|
|
468
468
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -476,44 +476,44 @@ function GraphQLConsoleComponent_Conditional_12_Template(rf, ctx) { if (rf & 1)
|
|
|
476
476
|
i0.ɵɵadvance(3);
|
|
477
477
|
i0.ɵɵconditional(ctx_r0.SidebarTab === "history" ? 11 : ctx_r0.SidebarTab === "entities" ? 12 : 13);
|
|
478
478
|
} }
|
|
479
|
-
function
|
|
480
|
-
i0.ɵɵelementStart(0, "span",
|
|
479
|
+
function GraphQLConsoleComponent_Conditional_34_Template(rf, ctx) { if (rf & 1) {
|
|
480
|
+
i0.ɵɵelementStart(0, "span", 25);
|
|
481
481
|
i0.ɵɵtext(1, "configured");
|
|
482
482
|
i0.ɵɵelementEnd();
|
|
483
483
|
} }
|
|
484
|
-
function
|
|
484
|
+
function GraphQLConsoleComponent_Conditional_35_Template(rf, ctx) { if (rf & 1) {
|
|
485
485
|
const _r20 = i0.ɵɵgetCurrentView();
|
|
486
|
-
i0.ɵɵelementStart(0, "mj-code-editor",
|
|
487
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
486
|
+
i0.ɵɵelementStart(0, "mj-code-editor", 129);
|
|
487
|
+
i0.ɵɵtwoWayListener("ngModelChange", function GraphQLConsoleComponent_Conditional_35_Template_mj_code_editor_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.Variables, $event) || (ctx_r0.Variables = $event); return i0.ɵɵresetView($event); });
|
|
488
488
|
i0.ɵɵelementEnd();
|
|
489
489
|
} if (rf & 2) {
|
|
490
490
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
491
491
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.Variables);
|
|
492
492
|
i0.ɵɵproperty("language", "json")("lineWrapping", true);
|
|
493
493
|
} }
|
|
494
|
-
function
|
|
495
|
-
i0.ɵɵelement(0, "i",
|
|
494
|
+
function GraphQLConsoleComponent_Conditional_38_Template(rf, ctx) { if (rf & 1) {
|
|
495
|
+
i0.ɵɵelement(0, "i", 113);
|
|
496
496
|
i0.ɵɵtext(1, " Running\u2026 ");
|
|
497
497
|
} }
|
|
498
|
-
function
|
|
499
|
-
i0.ɵɵelement(0, "i",
|
|
498
|
+
function GraphQLConsoleComponent_Conditional_39_Template(rf, ctx) { if (rf & 1) {
|
|
499
|
+
i0.ɵɵelement(0, "i", 130);
|
|
500
500
|
i0.ɵɵtext(1, " Run ");
|
|
501
501
|
} }
|
|
502
|
-
function
|
|
503
|
-
i0.ɵɵelementStart(0, "span",
|
|
504
|
-
i0.ɵɵelement(1, "i",
|
|
502
|
+
function GraphQLConsoleComponent_Conditional_40_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
503
|
+
i0.ɵɵelementStart(0, "span", 131);
|
|
504
|
+
i0.ɵɵelement(1, "i", 134);
|
|
505
505
|
i0.ɵɵtext(2, " 200 OK ");
|
|
506
506
|
i0.ɵɵelementEnd();
|
|
507
507
|
} }
|
|
508
|
-
function
|
|
509
|
-
i0.ɵɵelementStart(0, "span",
|
|
510
|
-
i0.ɵɵelement(1, "i",
|
|
508
|
+
function GraphQLConsoleComponent_Conditional_40_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
509
|
+
i0.ɵɵelementStart(0, "span", 132);
|
|
510
|
+
i0.ɵɵelement(1, "i", 117);
|
|
511
511
|
i0.ɵɵtext(2, " Error ");
|
|
512
512
|
i0.ɵɵelementEnd();
|
|
513
513
|
} }
|
|
514
|
-
function
|
|
515
|
-
i0.ɵɵelementStart(0, "span",
|
|
516
|
-
i0.ɵɵelement(1, "i",
|
|
514
|
+
function GraphQLConsoleComponent_Conditional_40_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
515
|
+
i0.ɵɵelementStart(0, "span", 133);
|
|
516
|
+
i0.ɵɵelement(1, "i", 135);
|
|
517
517
|
i0.ɵɵtext(2);
|
|
518
518
|
i0.ɵɵelementEnd();
|
|
519
519
|
} if (rf & 2) {
|
|
@@ -521,9 +521,9 @@ function GraphQLConsoleComponent_Conditional_38_Conditional_3_Template(rf, ctx)
|
|
|
521
521
|
i0.ɵɵadvance(2);
|
|
522
522
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.ResponseDurationMs, "ms");
|
|
523
523
|
} }
|
|
524
|
-
function
|
|
525
|
-
i0.ɵɵelementStart(0, "span",
|
|
526
|
-
i0.ɵɵelement(1, "i",
|
|
524
|
+
function GraphQLConsoleComponent_Conditional_40_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
525
|
+
i0.ɵɵelementStart(0, "span", 133);
|
|
526
|
+
i0.ɵɵelement(1, "i", 136);
|
|
527
527
|
i0.ɵɵtext(2);
|
|
528
528
|
i0.ɵɵelementEnd();
|
|
529
529
|
} if (rf & 2) {
|
|
@@ -531,11 +531,11 @@ function GraphQLConsoleComponent_Conditional_38_Conditional_4_Template(rf, ctx)
|
|
|
531
531
|
i0.ɵɵadvance(2);
|
|
532
532
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.FormattedSize);
|
|
533
533
|
} }
|
|
534
|
-
function
|
|
535
|
-
i0.ɵɵelementStart(0, "div",
|
|
536
|
-
i0.ɵɵconditionalCreate(1,
|
|
537
|
-
i0.ɵɵconditionalCreate(3,
|
|
538
|
-
i0.ɵɵconditionalCreate(4,
|
|
534
|
+
function GraphQLConsoleComponent_Conditional_40_Template(rf, ctx) { if (rf & 1) {
|
|
535
|
+
i0.ɵɵelementStart(0, "div", 29);
|
|
536
|
+
i0.ɵɵconditionalCreate(1, GraphQLConsoleComponent_Conditional_40_Conditional_1_Template, 3, 0, "span", 131)(2, GraphQLConsoleComponent_Conditional_40_Conditional_2_Template, 3, 0, "span", 132);
|
|
537
|
+
i0.ɵɵconditionalCreate(3, GraphQLConsoleComponent_Conditional_40_Conditional_3_Template, 3, 1, "span", 133);
|
|
538
|
+
i0.ɵɵconditionalCreate(4, GraphQLConsoleComponent_Conditional_40_Conditional_4_Template, 3, 1, "span", 133);
|
|
539
539
|
i0.ɵɵelementEnd();
|
|
540
540
|
} if (rf & 2) {
|
|
541
541
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -546,11 +546,11 @@ function GraphQLConsoleComponent_Conditional_38_Template(rf, ctx) { if (rf & 1)
|
|
|
546
546
|
i0.ɵɵadvance();
|
|
547
547
|
i0.ɵɵconditional(ctx_r0.ResponseSizeBytes != null ? 4 : -1);
|
|
548
548
|
} }
|
|
549
|
-
function
|
|
549
|
+
function GraphQLConsoleComponent_Conditional_42_Template(rf, ctx) { if (rf & 1) {
|
|
550
550
|
const _r21 = i0.ɵɵgetCurrentView();
|
|
551
|
-
i0.ɵɵelementStart(0, "button",
|
|
552
|
-
i0.ɵɵlistener("click", function
|
|
553
|
-
i0.ɵɵelement(1, "i",
|
|
551
|
+
i0.ɵɵelementStart(0, "button", 137);
|
|
552
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Conditional_42_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnCopyResponse()); });
|
|
553
|
+
i0.ɵɵelement(1, "i", 138);
|
|
554
554
|
i0.ɵɵtext(2);
|
|
555
555
|
i0.ɵɵelementEnd();
|
|
556
556
|
} if (rf & 2) {
|
|
@@ -561,9 +561,9 @@ function GraphQLConsoleComponent_Conditional_40_Template(rf, ctx) { if (rf & 1)
|
|
|
561
561
|
i0.ɵɵadvance();
|
|
562
562
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.CopyConfirmed ? "Copied" : "Copy", " ");
|
|
563
563
|
} }
|
|
564
|
-
function
|
|
565
|
-
i0.ɵɵelementStart(0, "div",
|
|
566
|
-
i0.ɵɵelement(1, "i",
|
|
564
|
+
function GraphQLConsoleComponent_Conditional_47_Template(rf, ctx) { if (rf & 1) {
|
|
565
|
+
i0.ɵɵelementStart(0, "div", 34);
|
|
566
|
+
i0.ɵɵelement(1, "i", 117);
|
|
567
567
|
i0.ɵɵelementStart(2, "span");
|
|
568
568
|
i0.ɵɵtext(3);
|
|
569
569
|
i0.ɵɵelementEnd()();
|
|
@@ -572,9 +572,9 @@ function GraphQLConsoleComponent_Conditional_45_Template(rf, ctx) { if (rf & 1)
|
|
|
572
572
|
i0.ɵɵadvance(3);
|
|
573
573
|
i0.ɵɵtextInterpolate(ctx_r0.ErrorMessage);
|
|
574
574
|
} }
|
|
575
|
-
function
|
|
576
|
-
i0.ɵɵelementStart(0, "div",
|
|
577
|
-
i0.ɵɵelement(1, "i",
|
|
575
|
+
function GraphQLConsoleComponent_Conditional_48_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
576
|
+
i0.ɵɵelementStart(0, "div", 139);
|
|
577
|
+
i0.ɵɵelement(1, "i", 117);
|
|
578
578
|
i0.ɵɵelementStart(2, "span");
|
|
579
579
|
i0.ɵɵtext(3);
|
|
580
580
|
i0.ɵɵelementEnd()();
|
|
@@ -583,9 +583,9 @@ function GraphQLConsoleComponent_Conditional_46_Conditional_0_Template(rf, ctx)
|
|
|
583
583
|
i0.ɵɵadvance(3);
|
|
584
584
|
i0.ɵɵtextInterpolate(ctx_r0.ErrorMessage);
|
|
585
585
|
} }
|
|
586
|
-
function
|
|
587
|
-
i0.ɵɵconditionalCreate(0,
|
|
588
|
-
i0.ɵɵelementStart(1, "pre",
|
|
586
|
+
function GraphQLConsoleComponent_Conditional_48_Template(rf, ctx) { if (rf & 1) {
|
|
587
|
+
i0.ɵɵconditionalCreate(0, GraphQLConsoleComponent_Conditional_48_Conditional_0_Template, 4, 1, "div", 139);
|
|
588
|
+
i0.ɵɵelementStart(1, "pre", 140)(2, "code");
|
|
589
589
|
i0.ɵɵtext(3);
|
|
590
590
|
i0.ɵɵelementEnd()();
|
|
591
591
|
} if (rf & 2) {
|
|
@@ -594,9 +594,9 @@ function GraphQLConsoleComponent_Conditional_46_Template(rf, ctx) { if (rf & 1)
|
|
|
594
594
|
i0.ɵɵadvance(3);
|
|
595
595
|
i0.ɵɵtextInterpolate(ctx_r0.ResponseJson);
|
|
596
596
|
} }
|
|
597
|
-
function
|
|
598
|
-
i0.ɵɵelementStart(0, "div",
|
|
599
|
-
i0.ɵɵelement(1, "i",
|
|
597
|
+
function GraphQLConsoleComponent_Conditional_49_Template(rf, ctx) { if (rf & 1) {
|
|
598
|
+
i0.ɵɵelementStart(0, "div", 35);
|
|
599
|
+
i0.ɵɵelement(1, "i", 141);
|
|
600
600
|
i0.ɵɵelementStart(2, "span");
|
|
601
601
|
i0.ɵɵtext(3, "Run a query to see results here.");
|
|
602
602
|
i0.ɵɵelementEnd()();
|
|
@@ -1319,64 +1319,66 @@ mutation Delete${typeName}($input: Delete${typeName}Input!) {
|
|
|
1319
1319
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.queryEditor = _t.first);
|
|
1320
1320
|
} }, hostBindings: function GraphQLConsoleComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
1321
1321
|
i0.ɵɵlistener("keydown", function GraphQLConsoleComponent_keydown_HostBindingHandler($event) { return ctx.OnHostKeydown($event); });
|
|
1322
|
-
} }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
1322
|
+
} }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 50, vars: 18, consts: [[1, "mj-inspector", "mj-inspector--solo"], ["Role", "region", "AriaLabel", "GraphQL console", "Title", "GraphQL Console", "Subtitle", "Run queries against the connected MJ API"], ["meta", ""], [1, "gc-endpoint-meta"], ["actions", ""], ["mjButton", "", "variant", "secondary", "size", "sm", "title", "Toggle history sidebar", 3, "selectedChange", "toggleable", "selected"], ["aria-hidden", "true", 1, "fa-solid", "fa-clock-rotate-left"], [1, "mj-action-label"], ["mjButton", "", "variant", "secondary", "size", "sm", "title", "Copy as cURL command", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-terminal"], [1, "gc-body"], [1, "gc-main"], [1, "gc-editor-wrap"], [1, "gc-editor-head"], [1, "gc-editor-label"], [1, "gc-editor-hint"], ["type", "button", "title", "Tidy whitespace", 1, "gc-mini-btn", 3, "click"], [1, "fa-solid", "fa-broom"], ["type", "button", "title", "Clear editor", 1, "gc-mini-btn", "gc-mini-btn--danger", 3, "click"], [1, "fa-solid", "fa-eraser"], ["placeholder", "Enter your GraphQL query\u2026", 1, "gc-editor", 3, "ngModelChange", "ngModel", "language", "lineWrapping"], ["title", "Drag to resize editor / response", 1, "gc-splitter", "gc-splitter--horiz", 3, "mousedown"], [1, "gc-vars-wrap"], ["type", "button", 1, "gc-vars-toggle", 3, "click"], [1, "fa-solid", "fa-chevron-right", "gc-vars-chev"], [1, "gc-vars-pill"], ["placeholder", "{}", 1, "gc-editor", "gc-editor--vars", 3, "ngModel", "language", "lineWrapping"], [1, "gc-run-bar"], ["type", "button", 1, "gc-run-btn", 3, "click", "disabled"], [1, "gc-run-meta"], [1, "gc-spacer"], ["mjButton", "", "size", "sm", 3, "variant"], [1, "gc-response-wrap"], [1, "gc-response-head"], [1, "gc-error"], [1, "gc-empty"], ["aria-hidden", "true", 1, "fa-solid", "fa-plug"], [1, "gc-endpoint"], [1, "gc-sidebar"], [1, "gc-sidebar-tabs"], ["type", "button", 1, "gc-sidebar-tab", 3, "click"], [1, "fa-solid", "fa-clock-rotate-left"], [1, "fa-solid", "fa-table-list"], [1, "fa-solid", "fa-sitemap"], ["title", "Drag to resize sidebar", 1, "gc-splitter", "gc-splitter--vert", 3, "mousedown"], [1, "gc-history-head"], ["type", "button", "title", "Clear non-favorite history", 1, "gc-history-clear", 3, "click"], [1, "gc-history-empty"], [1, "gc-history-list"], [1, "fa-regular", "fa-circle-question"], [1, "fa-solid", "fa-star"], ["type", "button", 1, "gc-history-item", 3, "gc-history-item--error", "gc-history-item--fav"], ["type", "button", 1, "gc-history-item", 3, "click"], [1, "gc-history-item-head"], [1, "gc-history-status"], [1, "gc-history-label"], ["type", "button", 1, "gc-history-fav", 3, "click", "title"], ["type", "button", "title", "Remove from history", 1, "gc-history-del", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "gc-history-meta"], [1, "gc-ent-toolbar"], [1, "gc-ent-search-wrap"], [1, "fa-solid", "fa-search", "gc-ent-search-icon"], ["type", "search", "placeholder", "Search entities\u2026", 1, "gc-ent-search", 3, "ngModelChange", "ngModel"], [1, "gc-ent-schema", 3, "ngModel"], [1, "gc-ent-meta"], [1, "gc-ent-hint"], [1, "gc-ent-list"], [1, "gc-ent-card", 3, "gc-ent-card--expanded"], [1, "gc-ent-empty"], [1, "gc-ent-schema", 3, "ngModelChange", "ngModel"], ["value", ""], [3, "value"], [1, "gc-ent-card"], ["type", "button", 1, "gc-ent-row", 3, "click"], [1, "fa-solid", "fa-chevron-right", "gc-ent-chev"], [1, "gc-ent-info"], [1, "gc-ent-name"], [1, "gc-ent-meta-row"], [1, "gc-ent-typename"], [1, "gc-ent-schema-badge"], [1, "gc-ent-actions"], ["type", "button", "title", "Insert a Run View template (Shift-click to append)", 1, "gc-ent-op", "gc-ent-op--read", 3, "click"], [1, "fa-solid", "fa-magnifying-glass"], ["type", "button", "title", "Fetch a single record by ID (Shift-click to append)", 1, "gc-ent-op", "gc-ent-op--read", 3, "click"], [1, "fa-solid", "fa-fingerprint"], ["type", "button", "title", "Create a new record (Shift-click to append)", 1, "gc-ent-op", "gc-ent-op--write"], ["type", "button", "title", "Update an existing record (Shift-click to append)", 1, "gc-ent-op", "gc-ent-op--write"], ["type", "button", "title", "Delete a record (Shift-click to append)", 1, "gc-ent-op", "gc-ent-op--danger"], [1, "gc-ent-desc"], ["type", "button", "title", "Create a new record (Shift-click to append)", 1, "gc-ent-op", "gc-ent-op--write", 3, "click"], [1, "fa-solid", "fa-plus"], ["type", "button", "title", "Update an existing record (Shift-click to append)", 1, "gc-ent-op", "gc-ent-op--write", 3, "click"], [1, "fa-solid", "fa-pen"], ["type", "button", "title", "Delete a record (Shift-click to append)", 1, "gc-ent-op", "gc-ent-op--danger", 3, "click"], [1, "fa-solid", "fa-trash"], [1, "fa-solid", "fa-search"], ["type", "button", 1, "gc-ent-clear"], ["type", "button", 1, "gc-ent-clear", 3, "click"], [1, "gc-schema-toolbar"], [1, "gc-schema-search-wrap"], [1, "fa-solid", "fa-search", "gc-schema-search-icon"], ["type", "search", "placeholder", "Search operations\u2026", 1, "gc-schema-search", 3, "ngModelChange", "ngModel"], ["type", "button", "title", "Reload schema", 1, "gc-schema-reload", 3, "click", "disabled"], [1, "fa-solid"], [1, "gc-schema-kinds"], [1, "gc-schema-state"], [1, "gc-schema-state", "gc-schema-disabled"], [1, "gc-schema-state", "gc-schema-state--err"], [1, "gc-schema-list"], ["type", "button", 1, "gc-schema-kind", 3, "click"], ["type", "button", 1, "gc-schema-kind", "gc-schema-kind--query", 3, "click"], ["type", "button", 1, "gc-schema-kind", "gc-schema-kind--mutation", 3, "click"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "fa-solid", "fa-lock"], [1, "gc-schema-disabled-title"], [1, "gc-schema-disabled-body"], [1, "fa-solid", "fa-triangle-exclamation"], [1, "gc-schema-err-title"], [1, "gc-schema-err-body"], ["type", "button", 1, "gc-schema-op", 3, "gc-schema-op--mutation", "title"], ["type", "button", 1, "gc-schema-op", 3, "click", "title"], [1, "gc-schema-op-head"], [1, "gc-schema-op-kind"], [1, "gc-schema-op-name"], [1, "gc-schema-op-args"], [1, "gc-schema-op-return"], [1, "fa-solid", "fa-arrow-right"], [1, "gc-schema-op-desc"], ["placeholder", "{}", 1, "gc-editor", "gc-editor--vars", 3, "ngModelChange", "ngModel", "language", "lineWrapping"], [1, "fa-solid", "fa-play"], [1, "gc-status-badge", "gc-status-badge--ok"], [1, "gc-status-badge", "gc-status-badge--err"], [1, "gc-meta-pill"], [1, "fa-solid", "fa-circle-check"], [1, "fa-regular", "fa-clock"], [1, "fa-solid", "fa-database"], ["mjButton", "", "size", "sm", 3, "click", "variant"], ["aria-hidden", "true", 1, "fa-solid"], [1, "gc-error", "gc-error--inline"], [1, "gc-response"], [1, "fa-solid", "fa-arrow-up-from-bracket"]], template: function GraphQLConsoleComponent_Template(rf, ctx) { if (rf & 1) {
|
|
1323
1323
|
i0.ɵɵelementStart(0, "div", 0)(1, "mj-page-header-interior", 1)(2, "div", 2);
|
|
1324
1324
|
i0.ɵɵconditionalCreate(3, GraphQLConsoleComponent_Conditional_3_Template, 4, 1, "span", 3);
|
|
1325
1325
|
i0.ɵɵelementEnd();
|
|
1326
1326
|
i0.ɵɵelementStart(4, "div", 4)(5, "button", 5);
|
|
1327
1327
|
i0.ɵɵtwoWayListener("selectedChange", function GraphQLConsoleComponent_Template_button_selectedChange_5_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.ShowHistory, $event) || (ctx.ShowHistory = $event); return $event; });
|
|
1328
1328
|
i0.ɵɵelement(6, "i", 6);
|
|
1329
|
-
i0.ɵɵ
|
|
1330
|
-
i0.ɵɵ
|
|
1331
|
-
i0.ɵɵ
|
|
1332
|
-
i0.ɵɵ
|
|
1333
|
-
i0.ɵɵ
|
|
1334
|
-
i0.ɵɵ
|
|
1335
|
-
i0.ɵɵ
|
|
1336
|
-
i0.ɵɵ
|
|
1337
|
-
i0.ɵɵ
|
|
1338
|
-
i0.ɵɵelementStart(13, "div", 10)
|
|
1339
|
-
i0.ɵɵ
|
|
1329
|
+
i0.ɵɵelementStart(7, "span", 7);
|
|
1330
|
+
i0.ɵɵtext(8, "History");
|
|
1331
|
+
i0.ɵɵelementEnd()();
|
|
1332
|
+
i0.ɵɵelementStart(9, "button", 8);
|
|
1333
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Template_button_click_9_listener() { return ctx.OnCopyAsCurl(); });
|
|
1334
|
+
i0.ɵɵelement(10, "i", 9);
|
|
1335
|
+
i0.ɵɵelementStart(11, "span", 7);
|
|
1336
|
+
i0.ɵɵtext(12, "Copy cURL");
|
|
1337
|
+
i0.ɵɵelementEnd()()()();
|
|
1338
|
+
i0.ɵɵelementStart(13, "div", 10);
|
|
1339
|
+
i0.ɵɵconditionalCreate(14, GraphQLConsoleComponent_Conditional_14_Template, 15, 9);
|
|
1340
|
+
i0.ɵɵelementStart(15, "div", 11)(16, "div", 12)(17, "div", 13)(18, "span", 14);
|
|
1341
|
+
i0.ɵɵtext(19, "Query");
|
|
1340
1342
|
i0.ɵɵelementEnd();
|
|
1341
|
-
i0.ɵɵelementStart(
|
|
1342
|
-
i0.ɵɵtext(
|
|
1343
|
+
i0.ɵɵelementStart(20, "span", 15);
|
|
1344
|
+
i0.ɵɵtext(21, "\u2318/Ctrl+Enter to run \u00B7 Shift+click an entity/op to append");
|
|
1343
1345
|
i0.ɵɵelementEnd();
|
|
1344
|
-
i0.ɵɵelementStart(
|
|
1345
|
-
i0.ɵɵlistener("click", function
|
|
1346
|
-
i0.ɵɵelement(
|
|
1347
|
-
i0.ɵɵtext(
|
|
1346
|
+
i0.ɵɵelementStart(22, "button", 16);
|
|
1347
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Template_button_click_22_listener() { return ctx.OnFormatQuery(); });
|
|
1348
|
+
i0.ɵɵelement(23, "i", 17);
|
|
1349
|
+
i0.ɵɵtext(24, " Tidy ");
|
|
1348
1350
|
i0.ɵɵelementEnd();
|
|
1349
|
-
i0.ɵɵelementStart(
|
|
1350
|
-
i0.ɵɵlistener("click", function
|
|
1351
|
-
i0.ɵɵelement(
|
|
1352
|
-
i0.ɵɵtext(
|
|
1351
|
+
i0.ɵɵelementStart(25, "button", 18);
|
|
1352
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Template_button_click_25_listener() { return ctx.OnClearQuery(); });
|
|
1353
|
+
i0.ɵɵelement(26, "i", 19);
|
|
1354
|
+
i0.ɵɵtext(27, " Clear ");
|
|
1353
1355
|
i0.ɵɵelementEnd()();
|
|
1354
|
-
i0.ɵɵelementStart(
|
|
1355
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
1356
|
+
i0.ɵɵelementStart(28, "mj-code-editor", 20);
|
|
1357
|
+
i0.ɵɵtwoWayListener("ngModelChange", function GraphQLConsoleComponent_Template_mj_code_editor_ngModelChange_28_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.Query, $event) || (ctx.Query = $event); return $event; });
|
|
1356
1358
|
i0.ɵɵelementEnd()();
|
|
1357
|
-
i0.ɵɵelementStart(
|
|
1358
|
-
i0.ɵɵlistener("mousedown", function
|
|
1359
|
+
i0.ɵɵelementStart(29, "div", 21);
|
|
1360
|
+
i0.ɵɵlistener("mousedown", function GraphQLConsoleComponent_Template_div_mousedown_29_listener($event) { return ctx.OnSplitterDown($event, "editor"); });
|
|
1359
1361
|
i0.ɵɵelementEnd();
|
|
1360
|
-
i0.ɵɵelementStart(
|
|
1361
|
-
i0.ɵɵlistener("click", function
|
|
1362
|
-
i0.ɵɵelement(
|
|
1363
|
-
i0.ɵɵtext(
|
|
1364
|
-
i0.ɵɵconditionalCreate(
|
|
1362
|
+
i0.ɵɵelementStart(30, "div", 22)(31, "button", 23);
|
|
1363
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Template_button_click_31_listener() { return ctx.ToggleVariables(); });
|
|
1364
|
+
i0.ɵɵelement(32, "i", 24);
|
|
1365
|
+
i0.ɵɵtext(33, " Variables ");
|
|
1366
|
+
i0.ɵɵconditionalCreate(34, GraphQLConsoleComponent_Conditional_34_Template, 2, 0, "span", 25);
|
|
1365
1367
|
i0.ɵɵelementEnd();
|
|
1366
|
-
i0.ɵɵconditionalCreate(
|
|
1368
|
+
i0.ɵɵconditionalCreate(35, GraphQLConsoleComponent_Conditional_35_Template, 1, 3, "mj-code-editor", 26);
|
|
1367
1369
|
i0.ɵɵelementEnd();
|
|
1368
|
-
i0.ɵɵelementStart(
|
|
1369
|
-
i0.ɵɵlistener("click", function
|
|
1370
|
-
i0.ɵɵconditionalCreate(
|
|
1370
|
+
i0.ɵɵelementStart(36, "div", 27)(37, "button", 28);
|
|
1371
|
+
i0.ɵɵlistener("click", function GraphQLConsoleComponent_Template_button_click_37_listener() { return ctx.OnRun(); });
|
|
1372
|
+
i0.ɵɵconditionalCreate(38, GraphQLConsoleComponent_Conditional_38_Template, 2, 0)(39, GraphQLConsoleComponent_Conditional_39_Template, 2, 0);
|
|
1371
1373
|
i0.ɵɵelementEnd();
|
|
1372
|
-
i0.ɵɵconditionalCreate(
|
|
1373
|
-
i0.ɵɵelement(
|
|
1374
|
-
i0.ɵɵconditionalCreate(
|
|
1374
|
+
i0.ɵɵconditionalCreate(40, GraphQLConsoleComponent_Conditional_40_Template, 5, 3, "div", 29);
|
|
1375
|
+
i0.ɵɵelement(41, "span", 30);
|
|
1376
|
+
i0.ɵɵconditionalCreate(42, GraphQLConsoleComponent_Conditional_42_Template, 3, 6, "button", 31);
|
|
1375
1377
|
i0.ɵɵelementEnd();
|
|
1376
|
-
i0.ɵɵelementStart(
|
|
1377
|
-
i0.ɵɵtext(
|
|
1378
|
+
i0.ɵɵelementStart(43, "div", 32)(44, "div", 33)(45, "span", 14);
|
|
1379
|
+
i0.ɵɵtext(46, "Response");
|
|
1378
1380
|
i0.ɵɵelementEnd()();
|
|
1379
|
-
i0.ɵɵconditionalCreate(
|
|
1381
|
+
i0.ɵɵconditionalCreate(47, GraphQLConsoleComponent_Conditional_47_Template, 4, 1, "div", 34)(48, GraphQLConsoleComponent_Conditional_48_Template, 4, 2)(49, GraphQLConsoleComponent_Conditional_49_Template, 4, 0, "div", 35);
|
|
1380
1382
|
i0.ɵɵelementEnd()()()();
|
|
1381
1383
|
} if (rf & 2) {
|
|
1382
1384
|
i0.ɵɵadvance(3);
|
|
@@ -1384,8 +1386,8 @@ mutation Delete${typeName}($input: Delete${typeName}Input!) {
|
|
|
1384
1386
|
i0.ɵɵadvance(2);
|
|
1385
1387
|
i0.ɵɵproperty("toggleable", true);
|
|
1386
1388
|
i0.ɵɵtwoWayProperty("selected", ctx.ShowHistory);
|
|
1387
|
-
i0.ɵɵadvance(
|
|
1388
|
-
i0.ɵɵconditional(ctx.ShowHistory ?
|
|
1389
|
+
i0.ɵɵadvance(9);
|
|
1390
|
+
i0.ɵɵconditional(ctx.ShowHistory ? 14 : -1);
|
|
1389
1391
|
i0.ɵɵadvance(2);
|
|
1390
1392
|
i0.ɵɵstyleProp("flex", "0 0 " + ctx.EditorHeightPct + "%");
|
|
1391
1393
|
i0.ɵɵadvance(12);
|
|
@@ -1394,19 +1396,19 @@ mutation Delete${typeName}($input: Delete${typeName}Input!) {
|
|
|
1394
1396
|
i0.ɵɵadvance(4);
|
|
1395
1397
|
i0.ɵɵclassProp("gc-vars-chev--down", ctx.ShowVariables);
|
|
1396
1398
|
i0.ɵɵadvance(2);
|
|
1397
|
-
i0.ɵɵconditional(ctx.Variables && ctx.Variables.trim() !== "{}" && ctx.Variables.trim() !== "" ?
|
|
1399
|
+
i0.ɵɵconditional(ctx.Variables && ctx.Variables.trim() !== "{}" && ctx.Variables.trim() !== "" ? 34 : -1);
|
|
1398
1400
|
i0.ɵɵadvance();
|
|
1399
|
-
i0.ɵɵconditional(ctx.ShowVariables ?
|
|
1401
|
+
i0.ɵɵconditional(ctx.ShowVariables ? 35 : -1);
|
|
1400
1402
|
i0.ɵɵadvance(2);
|
|
1401
1403
|
i0.ɵɵproperty("disabled", ctx.Running);
|
|
1402
1404
|
i0.ɵɵadvance();
|
|
1403
|
-
i0.ɵɵconditional(ctx.Running ?
|
|
1405
|
+
i0.ɵɵconditional(ctx.Running ? 38 : 39);
|
|
1404
1406
|
i0.ɵɵadvance(2);
|
|
1405
|
-
i0.ɵɵconditional(ctx.ResponseStatus !== "idle" ?
|
|
1407
|
+
i0.ɵɵconditional(ctx.ResponseStatus !== "idle" ? 40 : -1);
|
|
1406
1408
|
i0.ɵɵadvance(2);
|
|
1407
|
-
i0.ɵɵconditional(ctx.ResponseJson ?
|
|
1409
|
+
i0.ɵɵconditional(ctx.ResponseJson ? 42 : -1);
|
|
1408
1410
|
i0.ɵɵadvance(5);
|
|
1409
|
-
i0.ɵɵconditional(ctx.ErrorMessage && !ctx.ResponseJson ?
|
|
1411
|
+
i0.ɵɵconditional(ctx.ErrorMessage && !ctx.ResponseJson ? 47 : ctx.ResponseJson ? 48 : 49);
|
|
1410
1412
|
} }, dependencies: [i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.NgModel, i2.MJButtonDirective, i2.MJPageHeaderInteriorComponent, i3.CodeEditorComponent, i4.DatePipe], styles: ["[_nghost-%COMP%] { display: block; height: 100%; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.mj-inspector[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n font-family: inherit;\n}\n\n\n\n.mj-inspector__content[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-page);\n}\n.mj-inspector__content-head[_ngcontent-%COMP%] {\n padding: 12px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: var(--mj-bg-surface-card);\n}\n.mj-inspector__content-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.mj-inspector__content-meta[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n}\n.mj-inspector__editor[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.mj-inspector__editor[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n display: block;\n}\n\n\n\n.mj-inspector__empty[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-muted);\n font-size: 13px;\n}", ".mj-inspector--solo[_ngcontent-%COMP%] { background: var(--mj-bg-page); }\n.gc-endpoint[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11px;\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n color: var(--mj-text-secondary);\n}\n.gc-endpoint-meta[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 11.5px;\n color: var(--mj-text-muted);\n}\n\n.gc-body[_ngcontent-%COMP%] {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n\n\n\n.gc-sidebar[_ngcontent-%COMP%] {\n flex-shrink: 0;\n background: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n min-width: 200px;\n max-width: 560px;\n}\n\n\n\n.gc-splitter[_ngcontent-%COMP%] {\n flex-shrink: 0;\n background: var(--mj-border-subtle);\n transition: background 0.15s;\n position: relative;\n}\n.gc-splitter[_ngcontent-%COMP%]:hover { background: var(--mj-brand-primary); }\n.gc-splitter[_ngcontent-%COMP%]:active { background: color-mix(in srgb, var(--mj-brand-primary) 80%, black); }\n.gc-splitter--vert[_ngcontent-%COMP%] {\n width: 4px;\n cursor: col-resize;\n}\n.gc-splitter--horiz[_ngcontent-%COMP%] {\n height: 4px;\n cursor: row-resize;\n}\n\n\n.gc-splitter[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n inset: -3px;\n}\n.gc-sidebar-tabs[_ngcontent-%COMP%] {\n display: flex;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-sidebar-tab[_ngcontent-%COMP%] {\n flex: 1;\n padding: 10px 8px;\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n font-size: 11.5px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n border-bottom: 2px solid transparent;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n transition: all 0.15s;\n}\n.gc-sidebar-tab[_ngcontent-%COMP%]:hover { color: var(--mj-text-primary); }\n.gc-sidebar-tab--active[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n border-bottom-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface);\n}\n\n\n\n.gc-history[_ngcontent-%COMP%] {\n width: 280px;\n flex-shrink: 0;\n border-right: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n}\n.gc-history-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 14px;\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: var(--mj-bg-surface-card);\n}\n.gc-history-clear[_ngcontent-%COMP%] {\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 24px;\n height: 24px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n}\n.gc-history-clear[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n\n.gc-history-empty[_ngcontent-%COMP%] {\n padding: 20px 16px;\n color: var(--mj-text-muted);\n font-size: 12px;\n text-align: center;\n line-height: 1.5;\n}\n.gc-history-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { display: block; font-size: 22px; margin-bottom: 8px; opacity: 0.5; }\n\n.gc-history-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 4px;\n}\n.gc-history-item[_ngcontent-%COMP%] {\n width: 100%;\n text-align: left;\n background: transparent;\n border: 1px solid transparent;\n padding: 8px 10px;\n border-radius: 7px;\n cursor: pointer;\n margin-bottom: 2px;\n font-family: inherit;\n transition: background 0.12s, border-color 0.12s;\n}\n.gc-history-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-subtle);\n}\n.gc-history-item--fav[_ngcontent-%COMP%] {\n border-color: color-mix(in srgb, var(--mj-status-warning) 30%, transparent);\n}\n\n.gc-history-item-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.gc-history-status[_ngcontent-%COMP%] {\n font-size: 11px;\n flex-shrink: 0;\n}\n.gc-status--ok[_ngcontent-%COMP%] { color: var(--mj-status-success); }\n.gc-status--err[_ngcontent-%COMP%] { color: var(--mj-status-error); }\n\n.gc-history-label[_ngcontent-%COMP%] {\n flex: 1;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11.5px;\n font-weight: 500;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-history-fav[_ngcontent-%COMP%], \n.gc-history-del[_ngcontent-%COMP%] {\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 22px;\n height: 22px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n flex-shrink: 0;\n opacity: 0;\n transition: all 0.12s;\n}\n.gc-history-item[_ngcontent-%COMP%]:hover .gc-history-fav[_ngcontent-%COMP%], \n.gc-history-item[_ngcontent-%COMP%]:hover .gc-history-del[_ngcontent-%COMP%] { opacity: 1; }\n.gc-history-item--fav[_ngcontent-%COMP%] .gc-history-fav[_ngcontent-%COMP%] { opacity: 1; color: var(--mj-status-warning); }\n.gc-history-fav[_ngcontent-%COMP%]:hover { color: var(--mj-status-warning); background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent); }\n.gc-history-del[_ngcontent-%COMP%]:hover { color: var(--mj-status-error); background: color-mix(in srgb, var(--mj-status-error) 10%, transparent); }\n\n.gc-history-meta[_ngcontent-%COMP%] {\n margin-top: 3px;\n margin-left: 18px;\n display: flex;\n gap: 4px;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n}\n\n\n\n.gc-ent-toolbar[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-ent-search-wrap[_ngcontent-%COMP%] {\n position: relative;\n flex: 1;\n min-width: 0;\n}\n.gc-ent-search-icon[_ngcontent-%COMP%] {\n position: absolute;\n left: 9px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 11px;\n pointer-events: none;\n}\n.gc-ent-search[_ngcontent-%COMP%] {\n width: 100%;\n padding: 6px 10px 6px 26px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n}\n.gc-ent-search[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.gc-ent-schema[_ngcontent-%COMP%] {\n padding: 5px 8px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 11.5px;\n font-family: inherit;\n cursor: pointer;\n max-width: 130px;\n}\n\n.gc-ent-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 12px;\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.gc-ent-hint[_ngcontent-%COMP%] { font-style: italic; }\n\n.gc-ent-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 6px;\n}\n.gc-ent-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 7px;\n margin-bottom: 4px;\n overflow: hidden;\n transition: border-color 0.12s, box-shadow 0.15s;\n}\n.gc-ent-card[_ngcontent-%COMP%]:hover { border-color: var(--mj-border-default); }\n.gc-ent-card--expanded[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n}\n.gc-ent-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 8px 10px;\n background: transparent;\n border: none;\n cursor: pointer;\n text-align: left;\n font-family: inherit;\n}\n.gc-ent-row[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); }\n.gc-ent-card--expanded[_ngcontent-%COMP%] .gc-ent-row[_ngcontent-%COMP%] { background: color-mix(in srgb, var(--mj-brand-primary) 5%, transparent); }\n.gc-ent-chev[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 10px;\n width: 12px;\n flex-shrink: 0;\n transition: transform 0.15s;\n}\n.gc-ent-chev--down[_ngcontent-%COMP%] { transform: rotate(90deg); }\n.gc-ent-info[_ngcontent-%COMP%] { flex: 1; min-width: 0; }\n.gc-ent-name[_ngcontent-%COMP%] {\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-ent-meta-row[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n margin-top: 2px;\n align-items: center;\n}\n.gc-ent-typename[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-ent-schema-badge[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--mj-text-secondary);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.4px;\n}\n\n.gc-ent-actions[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n padding: 6px 10px 8px 30px;\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n}\n.gc-ent-op[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 5px 9px;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 11px;\n font-weight: 500;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.12s;\n}\n.gc-ent-op[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n.gc-ent-op--read[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n.gc-ent-op--write[_ngcontent-%COMP%]:hover {\n border-color: color-mix(in srgb, var(--mj-status-warning) 50%, var(--mj-border-strong));\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n}\n.gc-ent-op--danger[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-status-error);\n color: var(--mj-status-error);\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n}\n.gc-ent-desc[_ngcontent-%COMP%] {\n padding: 4px 10px 8px 30px;\n font-size: 11px;\n color: var(--mj-text-muted);\n line-height: 1.45;\n}\n\n.gc-ent-empty[_ngcontent-%COMP%] {\n padding: 30px 18px;\n color: var(--mj-text-muted);\n text-align: center;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n}\n.gc-ent-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 18px; opacity: 0.5; }\n.gc-ent-clear[_ngcontent-%COMP%] {\n background: transparent;\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 11.5px;\n cursor: pointer;\n font-family: inherit;\n margin-top: 4px;\n}\n.gc-ent-clear[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-brand-primary);\n}\n\n\n\n.gc-schema-toolbar[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-schema-search-wrap[_ngcontent-%COMP%] {\n position: relative;\n flex: 1;\n}\n.gc-schema-search-icon[_ngcontent-%COMP%] {\n position: absolute;\n left: 9px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 11px;\n pointer-events: none;\n}\n.gc-schema-search[_ngcontent-%COMP%] {\n width: 100%;\n padding: 6px 10px 6px 26px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n}\n.gc-schema-search[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.gc-schema-reload[_ngcontent-%COMP%] {\n background: transparent;\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 30px;\n height: 30px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n flex-shrink: 0;\n}\n.gc-schema-reload[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n\n.gc-schema-kinds[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.gc-schema-kind[_ngcontent-%COMP%] {\n flex: 1;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n padding: 5px 6px;\n border-radius: 6px;\n font-size: 11px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 5px;\n transition: all 0.12s;\n}\n.gc-schema-kind[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.gc-schema-kind[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n padding: 0 6px;\n border-radius: 100px;\n font-size: 10px;\n color: var(--mj-text-muted);\n}\n.gc-schema-kind--active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: white;\n}\n.gc-schema-kind--active[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n background: rgba(255, 255, 255, 0.25);\n border-color: transparent;\n color: white;\n}\n\n.gc-schema-state[_ngcontent-%COMP%] {\n padding: 28px 18px;\n text-align: center;\n color: var(--mj-text-muted);\n font-size: 12px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n line-height: 1.5;\n}\n.gc-schema-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 22px; opacity: 0.5; }\n\n.gc-schema-disabled[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n}\n.gc-schema-disabled[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-status-warning);\n opacity: 0.85;\n font-size: 24px;\n margin-bottom: 4px;\n}\n.gc-schema-disabled-title[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.gc-schema-disabled-body[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n max-width: 240px;\n}\n\n.gc-schema-state--err[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n align-items: stretch;\n text-align: left;\n}\n.gc-schema-state--err[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { color: var(--mj-status-error); opacity: 0.9; align-self: center; }\n.gc-schema-err-title[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n text-align: center;\n color: var(--mj-status-error);\n}\n.gc-schema-err-body[_ngcontent-%COMP%] {\n font-size: 11.5px;\n color: var(--mj-text-secondary);\n background: var(--mj-bg-surface-sunken);\n padding: 8px 10px;\n border-radius: 6px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n word-break: break-word;\n max-height: 160px;\n overflow-y: auto;\n}\n\n.gc-schema-list[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 6px;\n}\n.gc-schema-op[_ngcontent-%COMP%] {\n width: 100%;\n text-align: left;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 7px;\n padding: 8px 10px;\n margin-bottom: 4px;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.12s;\n}\n.gc-schema-op[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n transform: translateX(2px);\n}\n.gc-schema-op-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: baseline;\n gap: 8px;\n margin-bottom: 3px;\n}\n.gc-schema-op-kind[_ngcontent-%COMP%] {\n font-size: 9.5px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n padding: 1px 6px;\n border-radius: 4px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n}\n.gc-schema-op--mutation[_ngcontent-%COMP%] .gc-schema-op-kind[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n}\n.gc-schema-op-name[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n word-break: break-all;\n}\n.gc-schema-op-args[_ngcontent-%COMP%], \n.gc-schema-op-return[_ngcontent-%COMP%] {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n line-height: 1.4;\n word-break: break-word;\n}\n.gc-schema-op-return[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n margin-top: 2px;\n}\n.gc-schema-op-return[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 9px; margin-right: 3px; opacity: 0.6; }\n.gc-schema-op-desc[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 5px;\n line-height: 1.4;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n\n\n.gc-main[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n}\n\n.gc-editor-wrap[_ngcontent-%COMP%], \n.gc-vars-wrap[_ngcontent-%COMP%], \n.gc-response-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-surface);\n}\n.gc-editor-wrap[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--mj-border-subtle);\n flex: 1;\n min-height: 200px;\n}\n.gc-response-wrap[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 200px;\n background: var(--mj-bg-page);\n}\n\n.gc-editor-head[_ngcontent-%COMP%], \n.gc-response-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px 16px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n.gc-editor-label[_ngcontent-%COMP%] { flex: 0 0 auto; }\n.gc-editor-hint[_ngcontent-%COMP%] {\n font-weight: 500;\n text-transform: none;\n letter-spacing: normal;\n color: var(--mj-text-muted);\n font-size: 11px;\n}\n.gc-mini-btn[_ngcontent-%COMP%] {\n margin-left: auto;\n background: transparent;\n border: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n padding: 4px 10px;\n border-radius: 5px;\n font-size: 11px;\n cursor: pointer;\n font-family: inherit;\n text-transform: none;\n letter-spacing: normal;\n font-weight: 500;\n}\n.gc-mini-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-default);\n}\n.gc-mini-btn--danger[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-status-error) 8%, transparent);\n color: var(--mj-status-error);\n border-color: color-mix(in srgb, var(--mj-status-error) 40%, var(--mj-border-default));\n}\n\n\n\n\nmj-code-editor.gc-editor[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n width: 100%;\n display: block;\n background: var(--mj-bg-surface);\n overflow: hidden;\n}\nmj-code-editor.gc-editor[_ngcontent-%COMP%] .cm-editor {\n height: 100%;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12.5px;\n}\nmj-code-editor.gc-editor[_ngcontent-%COMP%] .cm-scroller {\n line-height: 1.55;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n}\nmj-code-editor.gc-editor--vars[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n flex: 0 0 auto;\n min-height: 80px;\n max-height: 160px;\n}\nmj-code-editor.gc-editor--vars[_ngcontent-%COMP%] .cm-editor {\n background: var(--mj-bg-surface-sunken);\n}\n\n\n\n.gc-vars-wrap[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--mj-border-subtle);\n flex-shrink: 0;\n}\n.gc-vars-toggle[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n background: var(--mj-bg-surface-card);\n border: none;\n padding: 7px 16px;\n cursor: pointer;\n font-size: 11.5px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-family: inherit;\n text-align: left;\n transition: background 0.12s;\n}\n.gc-vars-toggle[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n.gc-vars-chev[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 10px;\n transition: transform 0.15s;\n}\n.gc-vars-chev--down[_ngcontent-%COMP%] { transform: rotate(90deg); }\n.gc-vars-pill[_ngcontent-%COMP%] {\n margin-left: auto;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n font-size: 10px;\n padding: 1px 8px;\n border-radius: 100px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n}\n\n\n\n.gc-run-bar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-subtle);\n flex-shrink: 0;\n}\n.gc-run-btn[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: white;\n border: 1px solid var(--mj-brand-primary);\n padding: 8px 18px;\n border-radius: 8px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n box-shadow: 0 2px 6px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n transition: background 0.15s, transform 0.1s;\n}\n.gc-run-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n border-color: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n}\n.gc-run-btn[_ngcontent-%COMP%]:active:not(:disabled) { transform: scale(0.98); }\n.gc-run-btn[_ngcontent-%COMP%]:disabled {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-default);\n color: var(--mj-text-muted);\n box-shadow: none;\n cursor: wait;\n}\n\n.gc-run-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.gc-status-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 4px 10px;\n border-radius: 100px;\n font-size: 11px;\n font-weight: 600;\n}\n.gc-status-badge--ok[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-success) 70%, var(--mj-text-primary));\n}\n.gc-status-badge--err[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary));\n}\n.gc-meta-pill[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 3px 9px;\n border-radius: 100px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n}\n.gc-spacer[_ngcontent-%COMP%] { flex: 1; }\n\n\n\n.gc-response[_ngcontent-%COMP%] {\n margin: 0;\n flex: 1;\n overflow: auto;\n padding: 14px 16px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12px;\n line-height: 1.55;\n}\n.gc-response[_ngcontent-%COMP%] code[_ngcontent-%COMP%] { white-space: pre-wrap; word-break: break-word; }\n\n.gc-error[_ngcontent-%COMP%] {\n margin: 12px 16px;\n padding: 10px 14px;\n background: color-mix(in srgb, var(--mj-status-error) 8%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-border-subtle));\n border-radius: 8px;\n color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary));\n font-size: 12.5px;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n}\n.gc-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { margin-top: 2px; flex-shrink: 0; }\n.gc-error--inline[_ngcontent-%COMP%] { margin-bottom: 0; }\n\n.gc-empty[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 10px;\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n.gc-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 24px; opacity: 0.4; }\n\n@media (max-width: 900px) {\n .gc-sidebar[_ngcontent-%COMP%], .gc-history[_ngcontent-%COMP%] { display: none; }\n}"] });
|
|
1411
1413
|
};
|
|
1412
1414
|
GraphQLConsoleComponent = __decorate([
|
|
@@ -1415,7 +1417,7 @@ GraphQLConsoleComponent = __decorate([
|
|
|
1415
1417
|
export { GraphQLConsoleComponent };
|
|
1416
1418
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GraphQLConsoleComponent, [{
|
|
1417
1419
|
type: Component,
|
|
1418
|
-
args: [{ standalone: false, selector: 'mj-graphql-console', template: "<div class=\"mj-inspector mj-inspector--solo\">\n <mj-page-header-interior\n Role=\"region\"\n AriaLabel=\"GraphQL console\"\n Title=\"GraphQL Console\"\n Subtitle=\"Run queries against the connected MJ API\">\n <div meta>\n @if (ApiUrl) {\n <span class=\"gc-endpoint-meta\">\n <i class=\"fa-solid fa-plug\" aria-hidden=\"true\"></i>\n <code class=\"gc-endpoint\">{{ ApiUrl }}</code>\n </span>\n }\n </div>\n <div actions>\n <button mjButton\n variant=\"secondary\"\n size=\"sm\"\n [toggleable]=\"true\"\n [(selected)]=\"ShowHistory\"\n title=\"Toggle history sidebar\">\n <i class=\"fa-solid fa-clock-rotate-left\" aria-hidden=\"true\"></i> History\n </button>\n <button mjButton variant=\"secondary\" size=\"sm\" (click)=\"OnCopyAsCurl()\" title=\"Copy as cURL command\">\n <i class=\"fa-solid fa-terminal\" aria-hidden=\"true\"></i> Copy cURL\n </button>\n </div>\n </mj-page-header-interior>\n\n <div class=\"gc-body\">\n @if (ShowHistory) {\n <aside class=\"gc-sidebar\" [style.width.px]=\"SidebarWidthPx\">\n <div class=\"gc-sidebar-tabs\">\n <button type=\"button\"\n class=\"gc-sidebar-tab\"\n [class.gc-sidebar-tab--active]=\"SidebarTab === 'history'\"\n (click)=\"OnSidebarTabChange('history')\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i> History\n </button>\n <button type=\"button\"\n class=\"gc-sidebar-tab\"\n [class.gc-sidebar-tab--active]=\"SidebarTab === 'entities'\"\n (click)=\"OnSidebarTabChange('entities')\">\n <i class=\"fa-solid fa-table-list\"></i> Entities\n </button>\n <button type=\"button\"\n class=\"gc-sidebar-tab\"\n [class.gc-sidebar-tab--active]=\"SidebarTab === 'schema'\"\n (click)=\"OnSidebarTabChange('schema')\">\n <i class=\"fa-solid fa-sitemap\"></i> Schema\n </button>\n </div>\n\n @if (SidebarTab === 'history') {\n <div class=\"gc-history-head\">\n <span>{{ History.length }} {{ History.length === 1 ? 'entry' : 'entries' }}</span>\n <button class=\"gc-history-clear\"\n type=\"button\"\n (click)=\"OnClearHistory()\"\n title=\"Clear non-favorite history\">\n <i class=\"fa-solid fa-broom\"></i>\n </button>\n </div>\n @if (History.length === 0) {\n <div class=\"gc-history-empty\">\n <i class=\"fa-regular fa-circle-question\"></i>\n Run a query to see it here. Star <i class=\"fa-solid fa-star\"></i> to keep it.\n </div>\n } @else {\n <div class=\"gc-history-list\">\n @for (h of History; track TrackByHistory($index, h)) {\n <button type=\"button\"\n class=\"gc-history-item\"\n [class.gc-history-item--error]=\"h.status === 'error'\"\n [class.gc-history-item--fav]=\"h.favorite\"\n (click)=\"OnRestoreHistory(h)\">\n <div class=\"gc-history-item-head\">\n <i class=\"gc-history-status\"\n [class.fa-solid]=\"true\"\n [class.fa-circle-check]=\"h.status === 'ok'\"\n [class.fa-circle-xmark]=\"h.status === 'error'\"\n [class.gc-status--ok]=\"h.status === 'ok'\"\n [class.gc-status--err]=\"h.status === 'error'\"></i>\n <span class=\"gc-history-label\">{{ h.label || 'unnamed' }}</span>\n <button class=\"gc-history-fav\"\n type=\"button\"\n (click)=\"OnToggleFavorite(h, $event)\"\n [title]=\"h.favorite ? 'Unfavorite' : 'Favorite'\">\n <i [class]=\"h.favorite ? 'fa-solid fa-star' : 'fa-regular fa-star'\"></i>\n </button>\n <button class=\"gc-history-del\"\n type=\"button\"\n (click)=\"OnDeleteHistory(h, $event)\"\n title=\"Remove from history\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"gc-history-meta\">\n <span>{{ h.timestamp | date:'HH:mm:ss' }}</span>\n @if (h.durationMs != null) {\n <span>\u00B7</span>\n <span>{{ h.durationMs }}ms</span>\n }\n </div>\n </button>\n }\n </div>\n }\n } @else if (SidebarTab === 'entities') {\n <div class=\"gc-ent-toolbar\">\n <div class=\"gc-ent-search-wrap\">\n <i class=\"fa-solid fa-search gc-ent-search-icon\"></i>\n <input type=\"search\"\n class=\"gc-ent-search\"\n placeholder=\"Search entities\u2026\"\n [(ngModel)]=\"EntitiesSearch\" />\n </div>\n @if (KnownSchemas.length > 1) {\n <select class=\"gc-ent-schema\" [(ngModel)]=\"EntitySchemaFilter\">\n <option value=\"\">All schemas ({{ KnownSchemas.length }})</option>\n @for (s of KnownSchemas; track s) {\n <option [value]=\"s\">{{ s }}</option>\n }\n </select>\n }\n </div>\n <div class=\"gc-ent-meta\">\n <span>{{ FilteredEntities.length }} of {{ Entities.length }}</span>\n <span class=\"gc-ent-hint\">Click an entity to see operations</span>\n </div>\n <div class=\"gc-ent-list\">\n @for (item of FilteredEntities; track TrackByEntity($index, item)) {\n <div class=\"gc-ent-card\" [class.gc-ent-card--expanded]=\"item.expanded\">\n <button type=\"button\"\n class=\"gc-ent-row\"\n (click)=\"ToggleEntity(item)\">\n <i class=\"fa-solid fa-chevron-right gc-ent-chev\"\n [class.gc-ent-chev--down]=\"item.expanded\"></i>\n <div class=\"gc-ent-info\">\n <div class=\"gc-ent-name\">{{ item.info.Name }}</div>\n <div class=\"gc-ent-meta-row\">\n <code class=\"gc-ent-typename\">{{ item.typeName }}</code>\n <span class=\"gc-ent-schema-badge\">{{ item.schema }}</span>\n </div>\n </div>\n </button>\n @if (item.expanded) {\n <div class=\"gc-ent-actions\">\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--read\"\n (click)=\"OnEntityOp(item, 'view', $event)\"\n title=\"Insert a Run View template (Shift-click to append)\">\n <i class=\"fa-solid fa-magnifying-glass\"></i>\n Run view\n </button>\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--read\"\n (click)=\"OnEntityOp(item, 'byId', $event)\"\n title=\"Fetch a single record by ID (Shift-click to append)\">\n <i class=\"fa-solid fa-fingerprint\"></i>\n Get by ID\n </button>\n @if (item.info.AllowCreateAPI) {\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--write\"\n (click)=\"OnEntityOp(item, 'create', $event)\"\n title=\"Create a new record (Shift-click to append)\">\n <i class=\"fa-solid fa-plus\"></i>\n Create\n </button>\n }\n @if (item.info.AllowUpdateAPI) {\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--write\"\n (click)=\"OnEntityOp(item, 'update', $event)\"\n title=\"Update an existing record (Shift-click to append)\">\n <i class=\"fa-solid fa-pen\"></i>\n Update\n </button>\n }\n @if (item.info.AllowDeleteAPI) {\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--danger\"\n (click)=\"OnEntityOp(item, 'delete', $event)\"\n title=\"Delete a record (Shift-click to append)\">\n <i class=\"fa-solid fa-trash\"></i>\n Delete\n </button>\n }\n </div>\n @if (item.info.Description) {\n <div class=\"gc-ent-desc\">{{ item.info.Description }}</div>\n }\n }\n </div>\n }\n @if (FilteredEntities.length === 0) {\n <div class=\"gc-ent-empty\">\n <i class=\"fa-solid fa-search\"></i>\n <span>No entities match.</span>\n @if (EntitiesSearch || EntitySchemaFilter) {\n <button class=\"gc-ent-clear\" type=\"button\" (click)=\"ClearEntityFilters()\">\n Clear filters\n </button>\n }\n </div>\n }\n </div>\n } @else {\n <div class=\"gc-schema-toolbar\">\n <div class=\"gc-schema-search-wrap\">\n <i class=\"fa-solid fa-search gc-schema-search-icon\"></i>\n <input type=\"search\"\n class=\"gc-schema-search\"\n placeholder=\"Search operations\u2026\"\n [(ngModel)]=\"SchemaSearch\" />\n </div>\n <button class=\"gc-schema-reload\"\n type=\"button\"\n (click)=\"OnReloadSchema()\"\n [disabled]=\"SchemaLoading\"\n title=\"Reload schema\">\n <i class=\"fa-solid\" [class.fa-rotate]=\"!SchemaLoading\" [class.fa-spinner]=\"SchemaLoading\" [class.fa-spin]=\"SchemaLoading\"></i>\n </button>\n </div>\n\n @if (Operations.length > 0) {\n <div class=\"gc-schema-kinds\">\n <button type=\"button\"\n class=\"gc-schema-kind\"\n [class.gc-schema-kind--active]=\"SchemaKindFilter === 'all'\"\n (click)=\"SchemaKindFilter = 'all'\">\n All <span>{{ OperationCounts.all }}</span>\n </button>\n <button type=\"button\"\n class=\"gc-schema-kind gc-schema-kind--query\"\n [class.gc-schema-kind--active]=\"SchemaKindFilter === 'query'\"\n (click)=\"SchemaKindFilter = 'query'\">\n <i class=\"fa-solid fa-magnifying-glass\"></i> Query <span>{{ OperationCounts.query }}</span>\n </button>\n <button type=\"button\"\n class=\"gc-schema-kind gc-schema-kind--mutation\"\n [class.gc-schema-kind--active]=\"SchemaKindFilter === 'mutation'\"\n (click)=\"SchemaKindFilter = 'mutation'\">\n <i class=\"fa-solid fa-pen\"></i> Mutation <span>{{ OperationCounts.mutation }}</span>\n </button>\n </div>\n }\n\n @if (SchemaLoading) {\n <div class=\"gc-schema-state\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Introspecting schema\u2026</span>\n </div>\n } @else if (SchemaIntrospectionDisabled) {\n <div class=\"gc-schema-state gc-schema-disabled\">\n <i class=\"fa-solid fa-lock\"></i>\n <div class=\"gc-schema-disabled-title\">Introspection disabled</div>\n <div class=\"gc-schema-disabled-body\">\n This server has GraphQL introspection turned off (typical in production). Schema browsing isn't available \u2014 write queries directly in the editor, or use the History tab to revisit previous queries.\n </div>\n </div>\n } @else if (SchemaError) {\n <div class=\"gc-schema-state gc-schema-state--err\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n <div class=\"gc-schema-err-title\">Couldn't load schema</div>\n <div class=\"gc-schema-err-body\">{{ SchemaError }}</div>\n </div>\n } @else if (FilteredOperations.length === 0) {\n <div class=\"gc-schema-state\">\n <i class=\"fa-solid fa-search\"></i>\n <span>No operations match.</span>\n </div>\n } @else {\n <div class=\"gc-schema-list\">\n @for (op of FilteredOperations; track TrackByOp($index, op)) {\n <button type=\"button\"\n class=\"gc-schema-op\"\n [class.gc-schema-op--mutation]=\"op.kind === 'mutation'\"\n (click)=\"OnInsertOperation(op, $event)\"\n [title]=\"(op.description || ('Insert ' + op.kind + ' template')) + ' \u00B7 Shift-click to append'\">\n <div class=\"gc-schema-op-head\">\n <span class=\"gc-schema-op-kind\">{{ op.kind }}</span>\n <span class=\"gc-schema-op-name\">{{ op.name }}</span>\n </div>\n @if (op.argSummary) {\n <div class=\"gc-schema-op-args\">({{ op.argSummary }})</div>\n }\n <div class=\"gc-schema-op-return\">\n <i class=\"fa-solid fa-arrow-right\"></i> {{ op.returnSummary }}\n </div>\n @if (op.description) {\n <div class=\"gc-schema-op-desc\">{{ op.description }}</div>\n }\n </button>\n }\n </div>\n }\n }\n </aside>\n <div class=\"gc-splitter gc-splitter--vert\"\n (mousedown)=\"OnSplitterDown($event, 'sidebar')\"\n title=\"Drag to resize sidebar\"></div>\n }\n\n <div class=\"gc-main\">\n <div class=\"gc-editor-wrap\" [style.flex]=\"'0 0 ' + EditorHeightPct + '%'\">\n <div class=\"gc-editor-head\">\n <span class=\"gc-editor-label\">Query</span>\n <span class=\"gc-editor-hint\">\u2318/Ctrl+Enter to run \u00B7 Shift+click an entity/op to append</span>\n <button class=\"gc-mini-btn\" type=\"button\" (click)=\"OnFormatQuery()\" title=\"Tidy whitespace\">\n <i class=\"fa-solid fa-broom\"></i> Tidy\n </button>\n <button class=\"gc-mini-btn gc-mini-btn--danger\" type=\"button\" (click)=\"OnClearQuery()\" title=\"Clear editor\">\n <i class=\"fa-solid fa-eraser\"></i> Clear\n </button>\n </div>\n <mj-code-editor\n class=\"gc-editor\"\n [(ngModel)]=\"Query\"\n [language]=\"'graphql'\"\n [lineWrapping]=\"true\"\n placeholder=\"Enter your GraphQL query\u2026\">\n </mj-code-editor>\n </div>\n\n <div class=\"gc-splitter gc-splitter--horiz\"\n (mousedown)=\"OnSplitterDown($event, 'editor')\"\n title=\"Drag to resize editor / response\"></div>\n\n <div class=\"gc-vars-wrap\">\n <button class=\"gc-vars-toggle\" type=\"button\" (click)=\"ToggleVariables()\">\n <i class=\"fa-solid fa-chevron-right gc-vars-chev\" [class.gc-vars-chev--down]=\"ShowVariables\"></i>\n Variables\n @if (Variables && Variables.trim() !== '{}' && Variables.trim() !== '') {\n <span class=\"gc-vars-pill\">configured</span>\n }\n </button>\n @if (ShowVariables) {\n <mj-code-editor\n class=\"gc-editor gc-editor--vars\"\n [(ngModel)]=\"Variables\"\n [language]=\"'json'\"\n [lineWrapping]=\"true\"\n placeholder=\"{}\">\n </mj-code-editor>\n }\n </div>\n\n <div class=\"gc-run-bar\">\n <button class=\"gc-run-btn\"\n type=\"button\"\n [disabled]=\"Running\"\n (click)=\"OnRun()\">\n @if (Running) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i> Running\u2026\n } @else {\n <i class=\"fa-solid fa-play\"></i> Run\n }\n </button>\n @if (ResponseStatus !== 'idle') {\n <div class=\"gc-run-meta\">\n @if (ResponseStatus === 'ok') {\n <span class=\"gc-status-badge gc-status-badge--ok\">\n <i class=\"fa-solid fa-circle-check\"></i> 200 OK\n </span>\n } @else {\n <span class=\"gc-status-badge gc-status-badge--err\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i> Error\n </span>\n }\n @if (ResponseDurationMs != null) {\n <span class=\"gc-meta-pill\"><i class=\"fa-regular fa-clock\"></i> {{ ResponseDurationMs }}ms</span>\n }\n @if (ResponseSizeBytes != null) {\n <span class=\"gc-meta-pill\"><i class=\"fa-solid fa-database\"></i> {{ FormattedSize }}</span>\n }\n </div>\n }\n <span class=\"gc-spacer\"></span>\n @if (ResponseJson) {\n <button mjButton\n [variant]=\"CopyConfirmed ? 'success' : 'secondary'\"\n size=\"sm\"\n (click)=\"OnCopyResponse()\">\n <i class=\"fa-solid\" [class.fa-clipboard]=\"!CopyConfirmed\" [class.fa-check]=\"CopyConfirmed\" aria-hidden=\"true\"></i>\n {{ CopyConfirmed ? 'Copied' : 'Copy' }}\n </button>\n }\n </div>\n\n <div class=\"gc-response-wrap\">\n <div class=\"gc-response-head\">\n <span class=\"gc-editor-label\">Response</span>\n </div>\n @if (ErrorMessage && !ResponseJson) {\n <div class=\"gc-error\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n <span>{{ ErrorMessage }}</span>\n </div>\n } @else if (ResponseJson) {\n @if (ErrorMessage) {\n <div class=\"gc-error gc-error--inline\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n <span>{{ ErrorMessage }}</span>\n </div>\n }\n <pre class=\"gc-response\"><code>{{ ResponseJson }}</code></pre>\n } @else {\n <div class=\"gc-empty\">\n <i class=\"fa-solid fa-arrow-up-from-bracket\"></i>\n <span>Run a query to see results here.</span>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n", styles: [":host { display: block; height: 100%; }\n\n/*\n Inspector shell \u2014 each Dev Tools sub-page wraps its body in .mj-inspector. The\n chrome (title icon, title, subtitle, action buttons) was previously rendered\n via .mj-inspector__header*, but that's been replaced by <mj-page-header-interior>\n in every inspector template. Action buttons now use the mjButton directive\n (variant=\"secondary\" / \"success\") so they inherit global button styling. App\n State + Layout inspectors used to carry an inner left rail (.mj-inspector__body\n + __sidebar + __nav-item) for L2 sections; that rail was retired 2026-05-19 in\n favor of <mj-tab-nav> projected into the chrome's [toolbar] slot, matching\n SystemDiagnostics and the API Keys tab strip. All inspectors are now \"solo\"\n mode (no sidebar).\n*/\n.mj-inspector {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n font-family: inherit;\n}\n\n/* Content area */\n.mj-inspector__content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-page);\n}\n.mj-inspector__content-head {\n padding: 12px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: var(--mj-bg-surface-card);\n}\n.mj-inspector__content-title {\n margin: 0;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.mj-inspector__content-meta {\n font-size: 11px;\n color: var(--mj-text-muted);\n}\n.mj-inspector__editor {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.mj-inspector__editor mj-code-editor {\n flex: 1;\n min-height: 0;\n display: block;\n}\n\n/* Empty state */\n.mj-inspector__empty {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n", ".mj-inspector--solo { background: var(--mj-bg-page); }\n.gc-endpoint {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11px;\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n color: var(--mj-text-secondary);\n}\n.gc-endpoint-meta {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 11.5px;\n color: var(--mj-text-muted);\n}\n\n.gc-body {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n\n/* Sidebar (history + entities + schema) \u2014 width is bound from component */\n.gc-sidebar {\n flex-shrink: 0;\n background: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n min-width: 200px;\n max-width: 560px;\n}\n\n/* Resizable splitters */\n.gc-splitter {\n flex-shrink: 0;\n background: var(--mj-border-subtle);\n transition: background 0.15s;\n position: relative;\n}\n.gc-splitter:hover { background: var(--mj-brand-primary); }\n.gc-splitter:active { background: color-mix(in srgb, var(--mj-brand-primary) 80%, black); }\n.gc-splitter--vert {\n width: 4px;\n cursor: col-resize;\n}\n.gc-splitter--horiz {\n height: 4px;\n cursor: row-resize;\n}\n/* Bigger invisible hit area so the splitter is easier to grab */\n.gc-splitter::before {\n content: '';\n position: absolute;\n inset: -3px;\n}\n.gc-sidebar-tabs {\n display: flex;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-sidebar-tab {\n flex: 1;\n padding: 10px 8px;\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n font-size: 11.5px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n border-bottom: 2px solid transparent;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n transition: all 0.15s;\n}\n.gc-sidebar-tab:hover { color: var(--mj-text-primary); }\n.gc-sidebar-tab--active {\n color: var(--mj-brand-primary);\n border-bottom-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface);\n}\n\n/* History sidebar (legacy classname kept for the inner head row) */\n.gc-history {\n width: 280px;\n flex-shrink: 0;\n border-right: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n}\n.gc-history-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 14px;\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: var(--mj-bg-surface-card);\n}\n.gc-history-clear {\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 24px;\n height: 24px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n}\n.gc-history-clear:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n\n.gc-history-empty {\n padding: 20px 16px;\n color: var(--mj-text-muted);\n font-size: 12px;\n text-align: center;\n line-height: 1.5;\n}\n.gc-history-empty i { display: block; font-size: 22px; margin-bottom: 8px; opacity: 0.5; }\n\n.gc-history-list {\n flex: 1;\n overflow-y: auto;\n padding: 4px;\n}\n.gc-history-item {\n width: 100%;\n text-align: left;\n background: transparent;\n border: 1px solid transparent;\n padding: 8px 10px;\n border-radius: 7px;\n cursor: pointer;\n margin-bottom: 2px;\n font-family: inherit;\n transition: background 0.12s, border-color 0.12s;\n}\n.gc-history-item:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-subtle);\n}\n.gc-history-item--fav {\n border-color: color-mix(in srgb, var(--mj-status-warning) 30%, transparent);\n}\n\n.gc-history-item-head {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.gc-history-status {\n font-size: 11px;\n flex-shrink: 0;\n}\n.gc-status--ok { color: var(--mj-status-success); }\n.gc-status--err { color: var(--mj-status-error); }\n\n.gc-history-label {\n flex: 1;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11.5px;\n font-weight: 500;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-history-fav,\n.gc-history-del {\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 22px;\n height: 22px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n flex-shrink: 0;\n opacity: 0;\n transition: all 0.12s;\n}\n.gc-history-item:hover .gc-history-fav,\n.gc-history-item:hover .gc-history-del { opacity: 1; }\n.gc-history-item--fav .gc-history-fav { opacity: 1; color: var(--mj-status-warning); }\n.gc-history-fav:hover { color: var(--mj-status-warning); background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent); }\n.gc-history-del:hover { color: var(--mj-status-error); background: color-mix(in srgb, var(--mj-status-error) 10%, transparent); }\n\n.gc-history-meta {\n margin-top: 3px;\n margin-left: 18px;\n display: flex;\n gap: 4px;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n}\n\n/* ---------- Entities tab ---------- */\n.gc-ent-toolbar {\n display: flex;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-ent-search-wrap {\n position: relative;\n flex: 1;\n min-width: 0;\n}\n.gc-ent-search-icon {\n position: absolute;\n left: 9px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 11px;\n pointer-events: none;\n}\n.gc-ent-search {\n width: 100%;\n padding: 6px 10px 6px 26px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n}\n.gc-ent-search:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.gc-ent-schema {\n padding: 5px 8px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 11.5px;\n font-family: inherit;\n cursor: pointer;\n max-width: 130px;\n}\n\n.gc-ent-meta {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 12px;\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.gc-ent-hint { font-style: italic; }\n\n.gc-ent-list {\n flex: 1;\n overflow-y: auto;\n padding: 6px;\n}\n.gc-ent-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 7px;\n margin-bottom: 4px;\n overflow: hidden;\n transition: border-color 0.12s, box-shadow 0.15s;\n}\n.gc-ent-card:hover { border-color: var(--mj-border-default); }\n.gc-ent-card--expanded {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n}\n.gc-ent-row {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 8px 10px;\n background: transparent;\n border: none;\n cursor: pointer;\n text-align: left;\n font-family: inherit;\n}\n.gc-ent-row:hover { background: var(--mj-bg-surface-hover); }\n.gc-ent-card--expanded .gc-ent-row { background: color-mix(in srgb, var(--mj-brand-primary) 5%, transparent); }\n.gc-ent-chev {\n color: var(--mj-text-muted);\n font-size: 10px;\n width: 12px;\n flex-shrink: 0;\n transition: transform 0.15s;\n}\n.gc-ent-chev--down { transform: rotate(90deg); }\n.gc-ent-info { flex: 1; min-width: 0; }\n.gc-ent-name {\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-ent-meta-row {\n display: flex;\n gap: 6px;\n margin-top: 2px;\n align-items: center;\n}\n.gc-ent-typename {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-ent-schema-badge {\n font-size: 10px;\n color: var(--mj-text-secondary);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.4px;\n}\n\n.gc-ent-actions {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n padding: 6px 10px 8px 30px;\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n}\n.gc-ent-op {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 5px 9px;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 11px;\n font-weight: 500;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.12s;\n}\n.gc-ent-op:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n.gc-ent-op--read:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n.gc-ent-op--write:hover {\n border-color: color-mix(in srgb, var(--mj-status-warning) 50%, var(--mj-border-strong));\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n}\n.gc-ent-op--danger:hover {\n border-color: var(--mj-status-error);\n color: var(--mj-status-error);\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n}\n.gc-ent-desc {\n padding: 4px 10px 8px 30px;\n font-size: 11px;\n color: var(--mj-text-muted);\n line-height: 1.45;\n}\n\n.gc-ent-empty {\n padding: 30px 18px;\n color: var(--mj-text-muted);\n text-align: center;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n}\n.gc-ent-empty i { font-size: 18px; opacity: 0.5; }\n.gc-ent-clear {\n background: transparent;\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 11.5px;\n cursor: pointer;\n font-family: inherit;\n margin-top: 4px;\n}\n.gc-ent-clear:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-brand-primary);\n}\n\n/* ---------- Schema explorer ---------- */\n.gc-schema-toolbar {\n display: flex;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-schema-search-wrap {\n position: relative;\n flex: 1;\n}\n.gc-schema-search-icon {\n position: absolute;\n left: 9px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 11px;\n pointer-events: none;\n}\n.gc-schema-search {\n width: 100%;\n padding: 6px 10px 6px 26px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n}\n.gc-schema-search:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.gc-schema-reload {\n background: transparent;\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 30px;\n height: 30px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n flex-shrink: 0;\n}\n.gc-schema-reload:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n\n.gc-schema-kinds {\n display: flex;\n gap: 4px;\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.gc-schema-kind {\n flex: 1;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n padding: 5px 6px;\n border-radius: 6px;\n font-size: 11px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 5px;\n transition: all 0.12s;\n}\n.gc-schema-kind:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.gc-schema-kind span {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n padding: 0 6px;\n border-radius: 100px;\n font-size: 10px;\n color: var(--mj-text-muted);\n}\n.gc-schema-kind--active {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: white;\n}\n.gc-schema-kind--active span {\n background: rgba(255, 255, 255, 0.25);\n border-color: transparent;\n color: white;\n}\n\n.gc-schema-state {\n padding: 28px 18px;\n text-align: center;\n color: var(--mj-text-muted);\n font-size: 12px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n line-height: 1.5;\n}\n.gc-schema-state i { font-size: 22px; opacity: 0.5; }\n\n.gc-schema-disabled {\n color: var(--mj-text-secondary);\n}\n.gc-schema-disabled i {\n color: var(--mj-status-warning);\n opacity: 0.85;\n font-size: 24px;\n margin-bottom: 4px;\n}\n.gc-schema-disabled-title {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.gc-schema-disabled-body {\n font-size: 12px;\n color: var(--mj-text-muted);\n max-width: 240px;\n}\n\n.gc-schema-state--err {\n color: var(--mj-status-error);\n align-items: stretch;\n text-align: left;\n}\n.gc-schema-state--err i { color: var(--mj-status-error); opacity: 0.9; align-self: center; }\n.gc-schema-err-title {\n font-size: 13px;\n font-weight: 600;\n text-align: center;\n color: var(--mj-status-error);\n}\n.gc-schema-err-body {\n font-size: 11.5px;\n color: var(--mj-text-secondary);\n background: var(--mj-bg-surface-sunken);\n padding: 8px 10px;\n border-radius: 6px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n word-break: break-word;\n max-height: 160px;\n overflow-y: auto;\n}\n\n.gc-schema-list {\n flex: 1;\n overflow-y: auto;\n padding: 6px;\n}\n.gc-schema-op {\n width: 100%;\n text-align: left;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 7px;\n padding: 8px 10px;\n margin-bottom: 4px;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.12s;\n}\n.gc-schema-op:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n transform: translateX(2px);\n}\n.gc-schema-op-head {\n display: flex;\n align-items: baseline;\n gap: 8px;\n margin-bottom: 3px;\n}\n.gc-schema-op-kind {\n font-size: 9.5px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n padding: 1px 6px;\n border-radius: 4px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n}\n.gc-schema-op--mutation .gc-schema-op-kind {\n background: color-mix(in srgb, var(--mj-status-warning) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n}\n.gc-schema-op-name {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n word-break: break-all;\n}\n.gc-schema-op-args,\n.gc-schema-op-return {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n line-height: 1.4;\n word-break: break-word;\n}\n.gc-schema-op-return {\n color: var(--mj-text-secondary);\n margin-top: 2px;\n}\n.gc-schema-op-return i { font-size: 9px; margin-right: 3px; opacity: 0.6; }\n.gc-schema-op-desc {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 5px;\n line-height: 1.4;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n/* Main panel */\n.gc-main {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n}\n\n.gc-editor-wrap,\n.gc-vars-wrap,\n.gc-response-wrap {\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-surface);\n}\n.gc-editor-wrap {\n border-bottom: 1px solid var(--mj-border-subtle);\n flex: 1;\n min-height: 200px;\n}\n.gc-response-wrap {\n flex: 1;\n min-height: 200px;\n background: var(--mj-bg-page);\n}\n\n.gc-editor-head,\n.gc-response-head {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px 16px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n.gc-editor-label { flex: 0 0 auto; }\n.gc-editor-hint {\n font-weight: 500;\n text-transform: none;\n letter-spacing: normal;\n color: var(--mj-text-muted);\n font-size: 11px;\n}\n.gc-mini-btn {\n margin-left: auto;\n background: transparent;\n border: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n padding: 4px 10px;\n border-radius: 5px;\n font-size: 11px;\n cursor: pointer;\n font-family: inherit;\n text-transform: none;\n letter-spacing: normal;\n font-weight: 500;\n}\n.gc-mini-btn:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-default);\n}\n.gc-mini-btn--danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 8%, transparent);\n color: var(--mj-status-error);\n border-color: color-mix(in srgb, var(--mj-status-error) 40%, var(--mj-border-default));\n}\n\n/* mj-code-editor host fill \u2014 the component renders CodeMirror internally\n and we want it to use the full available area of its flex parent. */\nmj-code-editor.gc-editor {\n flex: 1;\n min-height: 0;\n width: 100%;\n display: block;\n background: var(--mj-bg-surface);\n overflow: hidden;\n}\nmj-code-editor.gc-editor ::ng-deep .cm-editor {\n height: 100%;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12.5px;\n}\nmj-code-editor.gc-editor ::ng-deep .cm-scroller {\n line-height: 1.55;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n}\nmj-code-editor.gc-editor--vars {\n background: var(--mj-bg-surface-sunken);\n flex: 0 0 auto;\n min-height: 80px;\n max-height: 160px;\n}\nmj-code-editor.gc-editor--vars ::ng-deep .cm-editor {\n background: var(--mj-bg-surface-sunken);\n}\n\n/* Variables collapsible */\n.gc-vars-wrap {\n border-bottom: 1px solid var(--mj-border-subtle);\n flex-shrink: 0;\n}\n.gc-vars-toggle {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n background: var(--mj-bg-surface-card);\n border: none;\n padding: 7px 16px;\n cursor: pointer;\n font-size: 11.5px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-family: inherit;\n text-align: left;\n transition: background 0.12s;\n}\n.gc-vars-toggle:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n.gc-vars-chev {\n color: var(--mj-text-muted);\n font-size: 10px;\n transition: transform 0.15s;\n}\n.gc-vars-chev--down { transform: rotate(90deg); }\n.gc-vars-pill {\n margin-left: auto;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n font-size: 10px;\n padding: 1px 8px;\n border-radius: 100px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n}\n\n/* Run bar */\n.gc-run-bar {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-subtle);\n flex-shrink: 0;\n}\n.gc-run-btn {\n background: var(--mj-brand-primary);\n color: white;\n border: 1px solid var(--mj-brand-primary);\n padding: 8px 18px;\n border-radius: 8px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n box-shadow: 0 2px 6px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n transition: background 0.15s, transform 0.1s;\n}\n.gc-run-btn:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n border-color: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n}\n.gc-run-btn:active:not(:disabled) { transform: scale(0.98); }\n.gc-run-btn:disabled {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-default);\n color: var(--mj-text-muted);\n box-shadow: none;\n cursor: wait;\n}\n\n.gc-run-meta {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.gc-status-badge {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 4px 10px;\n border-radius: 100px;\n font-size: 11px;\n font-weight: 600;\n}\n.gc-status-badge--ok {\n background: color-mix(in srgb, var(--mj-status-success) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-success) 70%, var(--mj-text-primary));\n}\n.gc-status-badge--err {\n background: color-mix(in srgb, var(--mj-status-error) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary));\n}\n.gc-meta-pill {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 3px 9px;\n border-radius: 100px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n}\n.gc-spacer { flex: 1; }\n\n/* Response */\n.gc-response {\n margin: 0;\n flex: 1;\n overflow: auto;\n padding: 14px 16px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12px;\n line-height: 1.55;\n}\n.gc-response code { white-space: pre-wrap; word-break: break-word; }\n\n.gc-error {\n margin: 12px 16px;\n padding: 10px 14px;\n background: color-mix(in srgb, var(--mj-status-error) 8%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-border-subtle));\n border-radius: 8px;\n color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary));\n font-size: 12.5px;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n}\n.gc-error i { margin-top: 2px; flex-shrink: 0; }\n.gc-error--inline { margin-bottom: 0; }\n\n.gc-empty {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 10px;\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n.gc-empty i { font-size: 24px; opacity: 0.4; }\n\n@media (max-width: 900px) {\n .gc-sidebar, .gc-history { display: none; }\n}\n"] }]
|
|
1420
|
+
args: [{ standalone: false, selector: 'mj-graphql-console', template: "<div class=\"mj-inspector mj-inspector--solo\">\n <mj-page-header-interior\n Role=\"region\"\n AriaLabel=\"GraphQL console\"\n Title=\"GraphQL Console\"\n Subtitle=\"Run queries against the connected MJ API\">\n <div meta>\n @if (ApiUrl) {\n <span class=\"gc-endpoint-meta\">\n <i class=\"fa-solid fa-plug\" aria-hidden=\"true\"></i>\n <code class=\"gc-endpoint\">{{ ApiUrl }}</code>\n </span>\n }\n </div>\n <div actions>\n <button mjButton\n variant=\"secondary\"\n size=\"sm\"\n [toggleable]=\"true\"\n [(selected)]=\"ShowHistory\"\n title=\"Toggle history sidebar\">\n <i class=\"fa-solid fa-clock-rotate-left\" aria-hidden=\"true\"></i> <span class=\"mj-action-label\">History</span>\n </button>\n <button mjButton variant=\"secondary\" size=\"sm\" (click)=\"OnCopyAsCurl()\" title=\"Copy as cURL command\">\n <i class=\"fa-solid fa-terminal\" aria-hidden=\"true\"></i> <span class=\"mj-action-label\">Copy cURL</span>\n </button>\n </div>\n </mj-page-header-interior>\n\n <div class=\"gc-body\">\n @if (ShowHistory) {\n <aside class=\"gc-sidebar\" [style.width.px]=\"SidebarWidthPx\">\n <div class=\"gc-sidebar-tabs\">\n <button type=\"button\"\n class=\"gc-sidebar-tab\"\n [class.gc-sidebar-tab--active]=\"SidebarTab === 'history'\"\n (click)=\"OnSidebarTabChange('history')\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i> History\n </button>\n <button type=\"button\"\n class=\"gc-sidebar-tab\"\n [class.gc-sidebar-tab--active]=\"SidebarTab === 'entities'\"\n (click)=\"OnSidebarTabChange('entities')\">\n <i class=\"fa-solid fa-table-list\"></i> Entities\n </button>\n <button type=\"button\"\n class=\"gc-sidebar-tab\"\n [class.gc-sidebar-tab--active]=\"SidebarTab === 'schema'\"\n (click)=\"OnSidebarTabChange('schema')\">\n <i class=\"fa-solid fa-sitemap\"></i> Schema\n </button>\n </div>\n\n @if (SidebarTab === 'history') {\n <div class=\"gc-history-head\">\n <span>{{ History.length }} {{ History.length === 1 ? 'entry' : 'entries' }}</span>\n <button class=\"gc-history-clear\"\n type=\"button\"\n (click)=\"OnClearHistory()\"\n title=\"Clear non-favorite history\">\n <i class=\"fa-solid fa-broom\"></i>\n </button>\n </div>\n @if (History.length === 0) {\n <div class=\"gc-history-empty\">\n <i class=\"fa-regular fa-circle-question\"></i>\n Run a query to see it here. Star <i class=\"fa-solid fa-star\"></i> to keep it.\n </div>\n } @else {\n <div class=\"gc-history-list\">\n @for (h of History; track TrackByHistory($index, h)) {\n <button type=\"button\"\n class=\"gc-history-item\"\n [class.gc-history-item--error]=\"h.status === 'error'\"\n [class.gc-history-item--fav]=\"h.favorite\"\n (click)=\"OnRestoreHistory(h)\">\n <div class=\"gc-history-item-head\">\n <i class=\"gc-history-status\"\n [class.fa-solid]=\"true\"\n [class.fa-circle-check]=\"h.status === 'ok'\"\n [class.fa-circle-xmark]=\"h.status === 'error'\"\n [class.gc-status--ok]=\"h.status === 'ok'\"\n [class.gc-status--err]=\"h.status === 'error'\"></i>\n <span class=\"gc-history-label\">{{ h.label || 'unnamed' }}</span>\n <button class=\"gc-history-fav\"\n type=\"button\"\n (click)=\"OnToggleFavorite(h, $event)\"\n [title]=\"h.favorite ? 'Unfavorite' : 'Favorite'\">\n <i [class]=\"h.favorite ? 'fa-solid fa-star' : 'fa-regular fa-star'\"></i>\n </button>\n <button class=\"gc-history-del\"\n type=\"button\"\n (click)=\"OnDeleteHistory(h, $event)\"\n title=\"Remove from history\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"gc-history-meta\">\n <span>{{ h.timestamp | date:'HH:mm:ss' }}</span>\n @if (h.durationMs != null) {\n <span>\u00B7</span>\n <span>{{ h.durationMs }}ms</span>\n }\n </div>\n </button>\n }\n </div>\n }\n } @else if (SidebarTab === 'entities') {\n <div class=\"gc-ent-toolbar\">\n <div class=\"gc-ent-search-wrap\">\n <i class=\"fa-solid fa-search gc-ent-search-icon\"></i>\n <input type=\"search\"\n class=\"gc-ent-search\"\n placeholder=\"Search entities\u2026\"\n [(ngModel)]=\"EntitiesSearch\" />\n </div>\n @if (KnownSchemas.length > 1) {\n <select class=\"gc-ent-schema\" [(ngModel)]=\"EntitySchemaFilter\">\n <option value=\"\">All schemas ({{ KnownSchemas.length }})</option>\n @for (s of KnownSchemas; track s) {\n <option [value]=\"s\">{{ s }}</option>\n }\n </select>\n }\n </div>\n <div class=\"gc-ent-meta\">\n <span>{{ FilteredEntities.length }} of {{ Entities.length }}</span>\n <span class=\"gc-ent-hint\">Click an entity to see operations</span>\n </div>\n <div class=\"gc-ent-list\">\n @for (item of FilteredEntities; track TrackByEntity($index, item)) {\n <div class=\"gc-ent-card\" [class.gc-ent-card--expanded]=\"item.expanded\">\n <button type=\"button\"\n class=\"gc-ent-row\"\n (click)=\"ToggleEntity(item)\">\n <i class=\"fa-solid fa-chevron-right gc-ent-chev\"\n [class.gc-ent-chev--down]=\"item.expanded\"></i>\n <div class=\"gc-ent-info\">\n <div class=\"gc-ent-name\">{{ item.info.Name }}</div>\n <div class=\"gc-ent-meta-row\">\n <code class=\"gc-ent-typename\">{{ item.typeName }}</code>\n <span class=\"gc-ent-schema-badge\">{{ item.schema }}</span>\n </div>\n </div>\n </button>\n @if (item.expanded) {\n <div class=\"gc-ent-actions\">\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--read\"\n (click)=\"OnEntityOp(item, 'view', $event)\"\n title=\"Insert a Run View template (Shift-click to append)\">\n <i class=\"fa-solid fa-magnifying-glass\"></i>\n Run view\n </button>\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--read\"\n (click)=\"OnEntityOp(item, 'byId', $event)\"\n title=\"Fetch a single record by ID (Shift-click to append)\">\n <i class=\"fa-solid fa-fingerprint\"></i>\n Get by ID\n </button>\n @if (item.info.AllowCreateAPI) {\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--write\"\n (click)=\"OnEntityOp(item, 'create', $event)\"\n title=\"Create a new record (Shift-click to append)\">\n <i class=\"fa-solid fa-plus\"></i>\n Create\n </button>\n }\n @if (item.info.AllowUpdateAPI) {\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--write\"\n (click)=\"OnEntityOp(item, 'update', $event)\"\n title=\"Update an existing record (Shift-click to append)\">\n <i class=\"fa-solid fa-pen\"></i>\n Update\n </button>\n }\n @if (item.info.AllowDeleteAPI) {\n <button type=\"button\" class=\"gc-ent-op gc-ent-op--danger\"\n (click)=\"OnEntityOp(item, 'delete', $event)\"\n title=\"Delete a record (Shift-click to append)\">\n <i class=\"fa-solid fa-trash\"></i>\n Delete\n </button>\n }\n </div>\n @if (item.info.Description) {\n <div class=\"gc-ent-desc\">{{ item.info.Description }}</div>\n }\n }\n </div>\n }\n @if (FilteredEntities.length === 0) {\n <div class=\"gc-ent-empty\">\n <i class=\"fa-solid fa-search\"></i>\n <span>No entities match.</span>\n @if (EntitiesSearch || EntitySchemaFilter) {\n <button class=\"gc-ent-clear\" type=\"button\" (click)=\"ClearEntityFilters()\">\n Clear filters\n </button>\n }\n </div>\n }\n </div>\n } @else {\n <div class=\"gc-schema-toolbar\">\n <div class=\"gc-schema-search-wrap\">\n <i class=\"fa-solid fa-search gc-schema-search-icon\"></i>\n <input type=\"search\"\n class=\"gc-schema-search\"\n placeholder=\"Search operations\u2026\"\n [(ngModel)]=\"SchemaSearch\" />\n </div>\n <button class=\"gc-schema-reload\"\n type=\"button\"\n (click)=\"OnReloadSchema()\"\n [disabled]=\"SchemaLoading\"\n title=\"Reload schema\">\n <i class=\"fa-solid\" [class.fa-rotate]=\"!SchemaLoading\" [class.fa-spinner]=\"SchemaLoading\" [class.fa-spin]=\"SchemaLoading\"></i>\n </button>\n </div>\n\n @if (Operations.length > 0) {\n <div class=\"gc-schema-kinds\">\n <button type=\"button\"\n class=\"gc-schema-kind\"\n [class.gc-schema-kind--active]=\"SchemaKindFilter === 'all'\"\n (click)=\"SchemaKindFilter = 'all'\">\n All <span>{{ OperationCounts.all }}</span>\n </button>\n <button type=\"button\"\n class=\"gc-schema-kind gc-schema-kind--query\"\n [class.gc-schema-kind--active]=\"SchemaKindFilter === 'query'\"\n (click)=\"SchemaKindFilter = 'query'\">\n <i class=\"fa-solid fa-magnifying-glass\"></i> Query <span>{{ OperationCounts.query }}</span>\n </button>\n <button type=\"button\"\n class=\"gc-schema-kind gc-schema-kind--mutation\"\n [class.gc-schema-kind--active]=\"SchemaKindFilter === 'mutation'\"\n (click)=\"SchemaKindFilter = 'mutation'\">\n <i class=\"fa-solid fa-pen\"></i> Mutation <span>{{ OperationCounts.mutation }}</span>\n </button>\n </div>\n }\n\n @if (SchemaLoading) {\n <div class=\"gc-schema-state\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Introspecting schema\u2026</span>\n </div>\n } @else if (SchemaIntrospectionDisabled) {\n <div class=\"gc-schema-state gc-schema-disabled\">\n <i class=\"fa-solid fa-lock\"></i>\n <div class=\"gc-schema-disabled-title\">Introspection disabled</div>\n <div class=\"gc-schema-disabled-body\">\n This server has GraphQL introspection turned off (typical in production). Schema browsing isn't available \u2014 write queries directly in the editor, or use the History tab to revisit previous queries.\n </div>\n </div>\n } @else if (SchemaError) {\n <div class=\"gc-schema-state gc-schema-state--err\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n <div class=\"gc-schema-err-title\">Couldn't load schema</div>\n <div class=\"gc-schema-err-body\">{{ SchemaError }}</div>\n </div>\n } @else if (FilteredOperations.length === 0) {\n <div class=\"gc-schema-state\">\n <i class=\"fa-solid fa-search\"></i>\n <span>No operations match.</span>\n </div>\n } @else {\n <div class=\"gc-schema-list\">\n @for (op of FilteredOperations; track TrackByOp($index, op)) {\n <button type=\"button\"\n class=\"gc-schema-op\"\n [class.gc-schema-op--mutation]=\"op.kind === 'mutation'\"\n (click)=\"OnInsertOperation(op, $event)\"\n [title]=\"(op.description || ('Insert ' + op.kind + ' template')) + ' \u00B7 Shift-click to append'\">\n <div class=\"gc-schema-op-head\">\n <span class=\"gc-schema-op-kind\">{{ op.kind }}</span>\n <span class=\"gc-schema-op-name\">{{ op.name }}</span>\n </div>\n @if (op.argSummary) {\n <div class=\"gc-schema-op-args\">({{ op.argSummary }})</div>\n }\n <div class=\"gc-schema-op-return\">\n <i class=\"fa-solid fa-arrow-right\"></i> {{ op.returnSummary }}\n </div>\n @if (op.description) {\n <div class=\"gc-schema-op-desc\">{{ op.description }}</div>\n }\n </button>\n }\n </div>\n }\n }\n </aside>\n <div class=\"gc-splitter gc-splitter--vert\"\n (mousedown)=\"OnSplitterDown($event, 'sidebar')\"\n title=\"Drag to resize sidebar\"></div>\n }\n\n <div class=\"gc-main\">\n <div class=\"gc-editor-wrap\" [style.flex]=\"'0 0 ' + EditorHeightPct + '%'\">\n <div class=\"gc-editor-head\">\n <span class=\"gc-editor-label\">Query</span>\n <span class=\"gc-editor-hint\">\u2318/Ctrl+Enter to run \u00B7 Shift+click an entity/op to append</span>\n <button class=\"gc-mini-btn\" type=\"button\" (click)=\"OnFormatQuery()\" title=\"Tidy whitespace\">\n <i class=\"fa-solid fa-broom\"></i> Tidy\n </button>\n <button class=\"gc-mini-btn gc-mini-btn--danger\" type=\"button\" (click)=\"OnClearQuery()\" title=\"Clear editor\">\n <i class=\"fa-solid fa-eraser\"></i> Clear\n </button>\n </div>\n <mj-code-editor\n class=\"gc-editor\"\n [(ngModel)]=\"Query\"\n [language]=\"'graphql'\"\n [lineWrapping]=\"true\"\n placeholder=\"Enter your GraphQL query\u2026\">\n </mj-code-editor>\n </div>\n\n <div class=\"gc-splitter gc-splitter--horiz\"\n (mousedown)=\"OnSplitterDown($event, 'editor')\"\n title=\"Drag to resize editor / response\"></div>\n\n <div class=\"gc-vars-wrap\">\n <button class=\"gc-vars-toggle\" type=\"button\" (click)=\"ToggleVariables()\">\n <i class=\"fa-solid fa-chevron-right gc-vars-chev\" [class.gc-vars-chev--down]=\"ShowVariables\"></i>\n Variables\n @if (Variables && Variables.trim() !== '{}' && Variables.trim() !== '') {\n <span class=\"gc-vars-pill\">configured</span>\n }\n </button>\n @if (ShowVariables) {\n <mj-code-editor\n class=\"gc-editor gc-editor--vars\"\n [(ngModel)]=\"Variables\"\n [language]=\"'json'\"\n [lineWrapping]=\"true\"\n placeholder=\"{}\">\n </mj-code-editor>\n }\n </div>\n\n <div class=\"gc-run-bar\">\n <button class=\"gc-run-btn\"\n type=\"button\"\n [disabled]=\"Running\"\n (click)=\"OnRun()\">\n @if (Running) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i> Running\u2026\n } @else {\n <i class=\"fa-solid fa-play\"></i> Run\n }\n </button>\n @if (ResponseStatus !== 'idle') {\n <div class=\"gc-run-meta\">\n @if (ResponseStatus === 'ok') {\n <span class=\"gc-status-badge gc-status-badge--ok\">\n <i class=\"fa-solid fa-circle-check\"></i> 200 OK\n </span>\n } @else {\n <span class=\"gc-status-badge gc-status-badge--err\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i> Error\n </span>\n }\n @if (ResponseDurationMs != null) {\n <span class=\"gc-meta-pill\"><i class=\"fa-regular fa-clock\"></i> {{ ResponseDurationMs }}ms</span>\n }\n @if (ResponseSizeBytes != null) {\n <span class=\"gc-meta-pill\"><i class=\"fa-solid fa-database\"></i> {{ FormattedSize }}</span>\n }\n </div>\n }\n <span class=\"gc-spacer\"></span>\n @if (ResponseJson) {\n <button mjButton\n [variant]=\"CopyConfirmed ? 'success' : 'secondary'\"\n size=\"sm\"\n (click)=\"OnCopyResponse()\">\n <i class=\"fa-solid\" [class.fa-clipboard]=\"!CopyConfirmed\" [class.fa-check]=\"CopyConfirmed\" aria-hidden=\"true\"></i>\n {{ CopyConfirmed ? 'Copied' : 'Copy' }}\n </button>\n }\n </div>\n\n <div class=\"gc-response-wrap\">\n <div class=\"gc-response-head\">\n <span class=\"gc-editor-label\">Response</span>\n </div>\n @if (ErrorMessage && !ResponseJson) {\n <div class=\"gc-error\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n <span>{{ ErrorMessage }}</span>\n </div>\n } @else if (ResponseJson) {\n @if (ErrorMessage) {\n <div class=\"gc-error gc-error--inline\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n <span>{{ ErrorMessage }}</span>\n </div>\n }\n <pre class=\"gc-response\"><code>{{ ResponseJson }}</code></pre>\n } @else {\n <div class=\"gc-empty\">\n <i class=\"fa-solid fa-arrow-up-from-bracket\"></i>\n <span>Run a query to see results here.</span>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n", styles: [":host { display: block; height: 100%; }\n\n/*\n Inspector shell \u2014 each Dev Tools sub-page wraps its body in .mj-inspector. The\n chrome (title icon, title, subtitle, action buttons) was previously rendered\n via .mj-inspector__header*, but that's been replaced by <mj-page-header-interior>\n in every inspector template. Action buttons now use the mjButton directive\n (variant=\"secondary\" / \"success\") so they inherit global button styling. App\n State + Layout inspectors used to carry an inner left rail (.mj-inspector__body\n + __sidebar + __nav-item) for L2 sections; that rail was retired 2026-05-19 in\n favor of <mj-tab-nav> projected into the chrome's [toolbar] slot, matching\n SystemDiagnostics and the API Keys tab strip. All inspectors are now \"solo\"\n mode (no sidebar).\n*/\n.mj-inspector {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n font-family: inherit;\n}\n\n/* Content area */\n.mj-inspector__content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-page);\n}\n.mj-inspector__content-head {\n padding: 12px 20px;\n border-bottom: 1px solid var(--mj-border-subtle);\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: var(--mj-bg-surface-card);\n}\n.mj-inspector__content-title {\n margin: 0;\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.mj-inspector__content-meta {\n font-size: 11px;\n color: var(--mj-text-muted);\n}\n.mj-inspector__editor {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.mj-inspector__editor mj-code-editor {\n flex: 1;\n min-height: 0;\n display: block;\n}\n\n/* Empty state */\n.mj-inspector__empty {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n\n", ".mj-inspector--solo { background: var(--mj-bg-page); }\n.gc-endpoint {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11px;\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n color: var(--mj-text-secondary);\n}\n.gc-endpoint-meta {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 11.5px;\n color: var(--mj-text-muted);\n}\n\n.gc-body {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n\n/* Sidebar (history + entities + schema) \u2014 width is bound from component */\n.gc-sidebar {\n flex-shrink: 0;\n background: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n min-width: 200px;\n max-width: 560px;\n}\n\n/* Resizable splitters */\n.gc-splitter {\n flex-shrink: 0;\n background: var(--mj-border-subtle);\n transition: background 0.15s;\n position: relative;\n}\n.gc-splitter:hover { background: var(--mj-brand-primary); }\n.gc-splitter:active { background: color-mix(in srgb, var(--mj-brand-primary) 80%, black); }\n.gc-splitter--vert {\n width: 4px;\n cursor: col-resize;\n}\n.gc-splitter--horiz {\n height: 4px;\n cursor: row-resize;\n}\n/* Bigger invisible hit area so the splitter is easier to grab */\n.gc-splitter::before {\n content: '';\n position: absolute;\n inset: -3px;\n}\n.gc-sidebar-tabs {\n display: flex;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-sidebar-tab {\n flex: 1;\n padding: 10px 8px;\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n font-size: 11.5px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n border-bottom: 2px solid transparent;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n transition: all 0.15s;\n}\n.gc-sidebar-tab:hover { color: var(--mj-text-primary); }\n.gc-sidebar-tab--active {\n color: var(--mj-brand-primary);\n border-bottom-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface);\n}\n\n/* History sidebar (legacy classname kept for the inner head row) */\n.gc-history {\n width: 280px;\n flex-shrink: 0;\n border-right: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n}\n.gc-history-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 14px;\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n background: var(--mj-bg-surface-card);\n}\n.gc-history-clear {\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 24px;\n height: 24px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n}\n.gc-history-clear:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n\n.gc-history-empty {\n padding: 20px 16px;\n color: var(--mj-text-muted);\n font-size: 12px;\n text-align: center;\n line-height: 1.5;\n}\n.gc-history-empty i { display: block; font-size: 22px; margin-bottom: 8px; opacity: 0.5; }\n\n.gc-history-list {\n flex: 1;\n overflow-y: auto;\n padding: 4px;\n}\n.gc-history-item {\n width: 100%;\n text-align: left;\n background: transparent;\n border: 1px solid transparent;\n padding: 8px 10px;\n border-radius: 7px;\n cursor: pointer;\n margin-bottom: 2px;\n font-family: inherit;\n transition: background 0.12s, border-color 0.12s;\n}\n.gc-history-item:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-subtle);\n}\n.gc-history-item--fav {\n border-color: color-mix(in srgb, var(--mj-status-warning) 30%, transparent);\n}\n\n.gc-history-item-head {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.gc-history-status {\n font-size: 11px;\n flex-shrink: 0;\n}\n.gc-status--ok { color: var(--mj-status-success); }\n.gc-status--err { color: var(--mj-status-error); }\n\n.gc-history-label {\n flex: 1;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 11.5px;\n font-weight: 500;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-history-fav,\n.gc-history-del {\n background: transparent;\n border: none;\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 22px;\n height: 22px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n flex-shrink: 0;\n opacity: 0;\n transition: all 0.12s;\n}\n.gc-history-item:hover .gc-history-fav,\n.gc-history-item:hover .gc-history-del { opacity: 1; }\n.gc-history-item--fav .gc-history-fav { opacity: 1; color: var(--mj-status-warning); }\n.gc-history-fav:hover { color: var(--mj-status-warning); background: color-mix(in srgb, var(--mj-status-warning) 10%, transparent); }\n.gc-history-del:hover { color: var(--mj-status-error); background: color-mix(in srgb, var(--mj-status-error) 10%, transparent); }\n\n.gc-history-meta {\n margin-top: 3px;\n margin-left: 18px;\n display: flex;\n gap: 4px;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n}\n\n/* ---------- Entities tab ---------- */\n.gc-ent-toolbar {\n display: flex;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-ent-search-wrap {\n position: relative;\n flex: 1;\n min-width: 0;\n}\n.gc-ent-search-icon {\n position: absolute;\n left: 9px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 11px;\n pointer-events: none;\n}\n.gc-ent-search {\n width: 100%;\n padding: 6px 10px 6px 26px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n}\n.gc-ent-search:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.gc-ent-schema {\n padding: 5px 8px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 11.5px;\n font-family: inherit;\n cursor: pointer;\n max-width: 130px;\n}\n\n.gc-ent-meta {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 12px;\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.gc-ent-hint { font-style: italic; }\n\n.gc-ent-list {\n flex: 1;\n overflow-y: auto;\n padding: 6px;\n}\n.gc-ent-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 7px;\n margin-bottom: 4px;\n overflow: hidden;\n transition: border-color 0.12s, box-shadow 0.15s;\n}\n.gc-ent-card:hover { border-color: var(--mj-border-default); }\n.gc-ent-card--expanded {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n}\n.gc-ent-row {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 8px 10px;\n background: transparent;\n border: none;\n cursor: pointer;\n text-align: left;\n font-family: inherit;\n}\n.gc-ent-row:hover { background: var(--mj-bg-surface-hover); }\n.gc-ent-card--expanded .gc-ent-row { background: color-mix(in srgb, var(--mj-brand-primary) 5%, transparent); }\n.gc-ent-chev {\n color: var(--mj-text-muted);\n font-size: 10px;\n width: 12px;\n flex-shrink: 0;\n transition: transform 0.15s;\n}\n.gc-ent-chev--down { transform: rotate(90deg); }\n.gc-ent-info { flex: 1; min-width: 0; }\n.gc-ent-name {\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-ent-meta-row {\n display: flex;\n gap: 6px;\n margin-top: 2px;\n align-items: center;\n}\n.gc-ent-typename {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.gc-ent-schema-badge {\n font-size: 10px;\n color: var(--mj-text-secondary);\n background: var(--mj-bg-surface-sunken);\n padding: 1px 6px;\n border-radius: 4px;\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.4px;\n}\n\n.gc-ent-actions {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n padding: 6px 10px 8px 30px;\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n}\n.gc-ent-op {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 5px 9px;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 11px;\n font-weight: 500;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.12s;\n}\n.gc-ent-op:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n.gc-ent-op--read:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n.gc-ent-op--write:hover {\n border-color: color-mix(in srgb, var(--mj-status-warning) 50%, var(--mj-border-strong));\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n}\n.gc-ent-op--danger:hover {\n border-color: var(--mj-status-error);\n color: var(--mj-status-error);\n background: color-mix(in srgb, var(--mj-status-error) 6%, transparent);\n}\n.gc-ent-desc {\n padding: 4px 10px 8px 30px;\n font-size: 11px;\n color: var(--mj-text-muted);\n line-height: 1.45;\n}\n\n.gc-ent-empty {\n padding: 30px 18px;\n color: var(--mj-text-muted);\n text-align: center;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n}\n.gc-ent-empty i { font-size: 18px; opacity: 0.5; }\n.gc-ent-clear {\n background: transparent;\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 11.5px;\n cursor: pointer;\n font-family: inherit;\n margin-top: 4px;\n}\n.gc-ent-clear:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-brand-primary);\n}\n\n/* ---------- Schema explorer ---------- */\n.gc-schema-toolbar {\n display: flex;\n gap: 6px;\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.gc-schema-search-wrap {\n position: relative;\n flex: 1;\n}\n.gc-schema-search-icon {\n position: absolute;\n left: 9px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--mj-text-muted);\n font-size: 11px;\n pointer-events: none;\n}\n.gc-schema-search {\n width: 100%;\n padding: 6px 10px 6px 26px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-size: 12px;\n font-family: inherit;\n}\n.gc-schema-search:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n.gc-schema-reload {\n background: transparent;\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-muted);\n cursor: pointer;\n width: 30px;\n height: 30px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n flex-shrink: 0;\n}\n.gc-schema-reload:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-strong);\n}\n\n.gc-schema-kinds {\n display: flex;\n gap: 4px;\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n flex-shrink: 0;\n}\n.gc-schema-kind {\n flex: 1;\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n padding: 5px 6px;\n border-radius: 6px;\n font-size: 11px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 5px;\n transition: all 0.12s;\n}\n.gc-schema-kind:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n.gc-schema-kind span {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n padding: 0 6px;\n border-radius: 100px;\n font-size: 10px;\n color: var(--mj-text-muted);\n}\n.gc-schema-kind--active {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: white;\n}\n.gc-schema-kind--active span {\n background: rgba(255, 255, 255, 0.25);\n border-color: transparent;\n color: white;\n}\n\n.gc-schema-state {\n padding: 28px 18px;\n text-align: center;\n color: var(--mj-text-muted);\n font-size: 12px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n line-height: 1.5;\n}\n.gc-schema-state i { font-size: 22px; opacity: 0.5; }\n\n.gc-schema-disabled {\n color: var(--mj-text-secondary);\n}\n.gc-schema-disabled i {\n color: var(--mj-status-warning);\n opacity: 0.85;\n font-size: 24px;\n margin-bottom: 4px;\n}\n.gc-schema-disabled-title {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.gc-schema-disabled-body {\n font-size: 12px;\n color: var(--mj-text-muted);\n max-width: 240px;\n}\n\n.gc-schema-state--err {\n color: var(--mj-status-error);\n align-items: stretch;\n text-align: left;\n}\n.gc-schema-state--err i { color: var(--mj-status-error); opacity: 0.9; align-self: center; }\n.gc-schema-err-title {\n font-size: 13px;\n font-weight: 600;\n text-align: center;\n color: var(--mj-status-error);\n}\n.gc-schema-err-body {\n font-size: 11.5px;\n color: var(--mj-text-secondary);\n background: var(--mj-bg-surface-sunken);\n padding: 8px 10px;\n border-radius: 6px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n word-break: break-word;\n max-height: 160px;\n overflow-y: auto;\n}\n\n.gc-schema-list {\n flex: 1;\n overflow-y: auto;\n padding: 6px;\n}\n.gc-schema-op {\n width: 100%;\n text-align: left;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 7px;\n padding: 8px 10px;\n margin-bottom: 4px;\n cursor: pointer;\n font-family: inherit;\n transition: all 0.12s;\n}\n.gc-schema-op:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n transform: translateX(2px);\n}\n.gc-schema-op-head {\n display: flex;\n align-items: baseline;\n gap: 8px;\n margin-bottom: 3px;\n}\n.gc-schema-op-kind {\n font-size: 9.5px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n padding: 1px 6px;\n border-radius: 4px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n}\n.gc-schema-op--mutation .gc-schema-op-kind {\n background: color-mix(in srgb, var(--mj-status-warning) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-warning) 70%, var(--mj-text-primary));\n}\n.gc-schema-op-name {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n word-break: break-all;\n}\n.gc-schema-op-args,\n.gc-schema-op-return {\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 10.5px;\n color: var(--mj-text-muted);\n line-height: 1.4;\n word-break: break-word;\n}\n.gc-schema-op-return {\n color: var(--mj-text-secondary);\n margin-top: 2px;\n}\n.gc-schema-op-return i { font-size: 9px; margin-right: 3px; opacity: 0.6; }\n.gc-schema-op-desc {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-top: 5px;\n line-height: 1.4;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n/* Main panel */\n.gc-main {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n}\n\n.gc-editor-wrap,\n.gc-vars-wrap,\n.gc-response-wrap {\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-surface);\n}\n.gc-editor-wrap {\n border-bottom: 1px solid var(--mj-border-subtle);\n flex: 1;\n min-height: 200px;\n}\n.gc-response-wrap {\n flex: 1;\n min-height: 200px;\n background: var(--mj-bg-page);\n}\n\n.gc-editor-head,\n.gc-response-head {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px 16px;\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-subtle);\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n.gc-editor-label { flex: 0 0 auto; }\n.gc-editor-hint {\n font-weight: 500;\n text-transform: none;\n letter-spacing: normal;\n color: var(--mj-text-muted);\n font-size: 11px;\n}\n.gc-mini-btn {\n margin-left: auto;\n background: transparent;\n border: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n padding: 4px 10px;\n border-radius: 5px;\n font-size: 11px;\n cursor: pointer;\n font-family: inherit;\n text-transform: none;\n letter-spacing: normal;\n font-weight: 500;\n}\n.gc-mini-btn:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n border-color: var(--mj-border-default);\n}\n.gc-mini-btn--danger:hover {\n background: color-mix(in srgb, var(--mj-status-error) 8%, transparent);\n color: var(--mj-status-error);\n border-color: color-mix(in srgb, var(--mj-status-error) 40%, var(--mj-border-default));\n}\n\n/* mj-code-editor host fill \u2014 the component renders CodeMirror internally\n and we want it to use the full available area of its flex parent. */\nmj-code-editor.gc-editor {\n flex: 1;\n min-height: 0;\n width: 100%;\n display: block;\n background: var(--mj-bg-surface);\n overflow: hidden;\n}\nmj-code-editor.gc-editor ::ng-deep .cm-editor {\n height: 100%;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12.5px;\n}\nmj-code-editor.gc-editor ::ng-deep .cm-scroller {\n line-height: 1.55;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n}\nmj-code-editor.gc-editor--vars {\n background: var(--mj-bg-surface-sunken);\n flex: 0 0 auto;\n min-height: 80px;\n max-height: 160px;\n}\nmj-code-editor.gc-editor--vars ::ng-deep .cm-editor {\n background: var(--mj-bg-surface-sunken);\n}\n\n/* Variables collapsible */\n.gc-vars-wrap {\n border-bottom: 1px solid var(--mj-border-subtle);\n flex-shrink: 0;\n}\n.gc-vars-toggle {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n background: var(--mj-bg-surface-card);\n border: none;\n padding: 7px 16px;\n cursor: pointer;\n font-size: 11.5px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-family: inherit;\n text-align: left;\n transition: background 0.12s;\n}\n.gc-vars-toggle:hover { background: var(--mj-bg-surface-hover); color: var(--mj-text-primary); }\n.gc-vars-chev {\n color: var(--mj-text-muted);\n font-size: 10px;\n transition: transform 0.15s;\n}\n.gc-vars-chev--down { transform: rotate(90deg); }\n.gc-vars-pill {\n margin-left: auto;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n font-size: 10px;\n padding: 1px 8px;\n border-radius: 100px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n}\n\n/* Run bar */\n.gc-run-bar {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-subtle);\n flex-shrink: 0;\n}\n.gc-run-btn {\n background: var(--mj-brand-primary);\n color: white;\n border: 1px solid var(--mj-brand-primary);\n padding: 8px 18px;\n border-radius: 8px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n box-shadow: 0 2px 6px color-mix(in srgb, var(--mj-brand-primary) 30%, transparent);\n transition: background 0.15s, transform 0.1s;\n}\n.gc-run-btn:hover:not(:disabled) {\n background: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n border-color: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n}\n.gc-run-btn:active:not(:disabled) { transform: scale(0.98); }\n.gc-run-btn:disabled {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-default);\n color: var(--mj-text-muted);\n box-shadow: none;\n cursor: wait;\n}\n\n.gc-run-meta {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.gc-status-badge {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 4px 10px;\n border-radius: 100px;\n font-size: 11px;\n font-weight: 600;\n}\n.gc-status-badge--ok {\n background: color-mix(in srgb, var(--mj-status-success) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-success) 70%, var(--mj-text-primary));\n}\n.gc-status-badge--err {\n background: color-mix(in srgb, var(--mj-status-error) 14%, transparent);\n color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary));\n}\n.gc-meta-pill {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n color: var(--mj-text-muted);\n background: var(--mj-bg-surface-sunken);\n padding: 3px 9px;\n border-radius: 100px;\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n}\n.gc-spacer { flex: 1; }\n\n/* Response */\n.gc-response {\n margin: 0;\n flex: 1;\n overflow: auto;\n padding: 14px 16px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n font-family: 'SF Mono', Menlo, Consolas, monospace;\n font-size: 12px;\n line-height: 1.55;\n}\n.gc-response code { white-space: pre-wrap; word-break: break-word; }\n\n.gc-error {\n margin: 12px 16px;\n padding: 10px 14px;\n background: color-mix(in srgb, var(--mj-status-error) 8%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-border-subtle));\n border-radius: 8px;\n color: color-mix(in srgb, var(--mj-status-error) 70%, var(--mj-text-primary));\n font-size: 12.5px;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n}\n.gc-error i { margin-top: 2px; flex-shrink: 0; }\n.gc-error--inline { margin-bottom: 0; }\n\n.gc-empty {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 10px;\n color: var(--mj-text-muted);\n font-size: 13px;\n}\n.gc-empty i { font-size: 24px; opacity: 0.4; }\n\n@media (max-width: 900px) {\n .gc-sidebar, .gc-history { display: none; }\n}\n"] }]
|
|
1419
1421
|
}], () => [{ type: i0.ChangeDetectorRef }], { queryEditor: [{
|
|
1420
1422
|
type: ViewChild,
|
|
1421
1423
|
args: ['queryEditor']
|