Sha256: 3557e6206da28453d919422af5a88c295be42f9786a89ac201db61f61c795f6b
Contents?: true
Size: 1023 Bytes
Versions: 65
Compression:
Stored size: 1023 Bytes
Contents
class TabbedForm { /** * Bootstrap Tabs use anchors to identify tabs. Anchor of active tab is added as hidden input to given form * so that active tab state can be maintained after Post. * @param {form} form element that includes tabs and to which tab anchor will be added as an input */ constructor(form) { this.form = form; } setup() { this.refererAnchor = this.addRefererAnchor() this.watchActiveTab() this.setRefererAnchor($('.nav-tabs li.active a').attr('href')) } addRefererAnchor() { let referer_anchor_input = $('<input>').attr({type: 'hidden', id: 'referer_anchor', name: 'referer_anchor'}) this.form.append(referer_anchor_input) return referer_anchor_input } setRefererAnchor(id) { this.refererAnchor.val(id) } watchActiveTab() { $('.nav-tabs a').on('shown.bs.tab', (e) => this.setRefererAnchor($(e.target).attr('href'))) } } export default function tabifyForm(form) { let formTabifier = new TabbedForm(form) formTabifier.setup() }
Version data entries
65 entries across 65 versions & 1 rubygems