PageSourceSearch

https://ocupat.es/assets/controllers/nested_form_controller-dbfdfa98.js

js ocupat.es collected 2026-09-27 10:10:39 UTC 1,373 bytes, 40 lines download raw bytes

1// app/javascript/controllers/nested_form_controller.js
2import { Controller } from "@hotwired/stimulus"
3
4export default class extends Controller {
5  static targets = [
6    // los que ya tenías
7    "companiesContainer", "companiesTemplate",
8    "sitesContainer", "sitesTemplate",
9    "row", "destroyField",
10    // ➜ añade estos dos para las franjas
11    "windowsContainer", "windowsTemplate",
12    // ➜ Acceso por Cliente (admin/client_users)
13    "clientsContainer", "clientsTemplate"
14  ]
15
16  add(event) {
17    event.preventDefault()
18    const key = event.currentTarget.dataset.target // "companies" | "sites" | "windows"
19    const container = this[`${key}ContainerTarget`]
20    const template  = this[`${key}TemplateTarget`]
21    if (!container || !template) return
22
23    const html = template.innerHTML.replaceAll("__INDEX__", Date.now().toString())
24    container.insertAdjacentHTML("beforeend", html)
25  }
26
27  remove(event) {
28    event.preventDefault()
29    const row = event.currentTarget.closest("[data-nested-form-target='row']")
30    if (!row) return
31
32    const destroyInput = row.querySelector("[data-nested-form-target='destroyField']")
33    if (destroyInput && /\]\[_destroy\]$/.test(destroyInput.getAttribute("name"))) {
34      destroyInput.value = "1"
35      row.style.display = "none"
36    } else {
37      row.remove()
38    }
39  }
40}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.