Sha256: 21ee8f6913feec867bcdb3f8d11d3a0bebec50a55495d5b6d24d8fa03d702f76

Contents?: true

Size: 813 Bytes

Versions: 2

Compression:

Stored size: 813 Bytes

Contents

import {Controller} from "stimulus"
import {Headmin} from "../headmin";

export default class extends Controller {
    static get values() {
        return {
            id: String
        }
    }
    static get targets() {
        return ["links", "template"]
    }

    add_association(event) {
        event.preventDefault()

        let html = this.getTemplateHTML()
        html = this.replaceIdsWithTimestamps(html)
        this.addNewRow(html)
    }

    getTemplateHTML() {
        return this.templateTarget.innerHTML
    }

    replaceIdsWithTimestamps(html) {
        const regex = new RegExp(this.idValue, "g");
        return html.replace(regex, new Date().getTime())
    }

    addNewRow(html) {
        this.linksTarget.insertAdjacentHTML('beforebegin', html)
        Headmin.initPlugins()
    }
}

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
headmin-0.1.2 src/js/headmin/controllers/repeater_controller.js
headmin-0.1.1 src/js/headmin/controllers/repeater_controller.js