{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/View\/content-pipeline\/show.php",
"offset": 270
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/View\/content-pipeline\/show.php",
"content": " min-width: 140px;\n}\n.model-cell .form-select--compact.is-saving {\n opacity: 0.6;\n pointer-events: none;\n}\n.model-cell .form-select--compact.is-saved {\n border-color: var(--color-success, #28a745);\n animation: flash-success 0.5s;\n}\n@keyframes flash-success {\n 0% { background-color: var(--color-success-light, #d4edda); }\n 100% { background-color: transparent; }\n}\n<\/style>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n const pipelineId = <?= (int) $pipeline['id'] ?>;\n\n \/\/ Model-Dropdowns\n document.querySelectorAll('.model-cell select').forEach(select => {\n select.addEventListener('change', async function() {\n const row = this.closest('tr');\n const stepId = row.dataset.stepId;\n const model = this.value;\n\n this.classList.add('is-saving');\n\n try {\n const response = await fetch(`\/content-pipeline\/${pipelineId}\/steps\/${stepId}\/model`, {\n method: 'POST',\n headers: { 'Content-Type': 'application\/x-www-form-urlencoded' },\n body: 'model=' + encodeURIComponent(model)\n });\n\n const data = await response.json();\n\n if (data.success) {\n this.classList.remove('is-saving');\n this.classList.add('is-saved');\n setTimeout(() => this.classList.remove('is-saved'), 500);\n\n \/\/ Speichere in localStorage für User-Präferenz\n localStorage.setItem('pipeline_default_model', model);\n } else {\n alert('Fehler: ' + (data.error || 'Unbekannter Fehler'));\n this.classList.remove('is-saving');\n }\n } catch (error) {\n alert('Speichern fehlgeschlagen: ' + error.message);\n this.classList.remove('is-saving');\n }\n });\n });\n\n \/\/ User-Präferenz für neues Standard-Modell laden\n const savedModel = localStorage.getItem('pipeline_default_model');\n if (savedModel) {\n console.log('Gespeichertes Standard-Modell:', savedModel);\n }\n\n \/\/ Collection-Dropdowns\n document.querySelectorAll('.collection-select').forEach(select => {\n select.addEventListener('change', async function() {\n const stepId = this.dataset.stepId;\n const collection = this.value;\n\n this.classList.add('is-saving');\n\n try {\n const response = await fetch(`\/content-pipeline\/${pipelineId}\/steps\/${stepId}\/collection`, {\n method: 'POST',\n headers: { 'Content-Type': 'application\/x-www-form-urlencoded' },\n body: 'collection=' + encodeURIComponent(collection)\n });\n\n const data = await response.json();\n\n if (data.success) {\n this.classList.remove('is-saving');\n this.classList.add('is-saved');\n setTimeout(() => this.classList.remove('is-saved'), 500);\n } else {\n alert('Fehler: ' + (data.error || 'Unbekannter Fehler'));\n this.classList.remove('is-saving');\n }\n } catch (error) {\n alert('Speichern fehlgeschlagen: ' + error.message);\n this.classList.remove('is-saving');\n }\n });\n });\n});\n<\/script>\n\n<?php $content = ob_get_clean(); ?>\n<?php require VIEW_PATH . '\/layout.php'; ?>\n",
"numLines": 99,
"startLine": 270,
"totalLines": 368
}
}
}