<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">define(['jquery','mage/template','jquery-ui-modules/widget'],function($,mageTemplate){'use strict';$.widget('mage.rowBuilder',{options:{rowTemplate:'#template-registrant',rowContainer:'#registrant-container',rowIndex:0,rowCount:0,rowParentElem:'&lt;li&gt;&lt;/li&gt;',rowContainerClass:'fields',addRowBtn:'#add-registrant-button',btnRemoveIdPrefix:'btn-remove',btnRemoveSelector:'.btn-remove',rowIdPrefix:'row',additionalRowClass:'add-row',formDataPost:null,addEventSelector:'button',remEventSelector:'a',hideFirstRowAddSeparator:true,maxRows:1000,maxRowsMsg:'#max-registrant-message'},_create:function(){this.rowTemplate=mageTemplate(this.options.rowTemplate);this.options.rowCount=this.options.rowIndex=0;$($.proxy(this.ready,this));this.element.on('click',this.options.addEventSelector+this.options.addRowBtn,$.proxy(this.handleAdd,this));this.element.on('click',this.options.remEventSelector+this.options.btnRemoveSelector,$.proxy(this.handleRemove,this));},ready:function(){if(this.options.formDataPost&amp;&amp;this.options.formDataPost.formData&amp;&amp;this.options.formDataPost.formData.length){this.processFormDataArr(this.options.formDataPost);}else if(this.options.rowIndex===0&amp;&amp;this.options.maxRows!==0){this.addRow(0);}},processFormDataArr:function(formDataArr){var formData=formDataArr.formData,templateFields=formDataArr.templateFields,formRow,i,j;for(i=this.options.rowIndex=0;i&lt;formData.length;this.options.rowIndex=i++){this.addRow(i);formRow=formData[i];for(j=0;j&lt;formRow.length;j++){this.setFieldById(templateFields[j]+i,formRow[j]);}}},addRow:function(index){var row=$(this.options.rowParentElem),tmpl;row.addClass(this.options.rowContainerClass).attr('id',this.options.rowIdPrefix+index);tmpl=this.rowTemplate({data:{_index_:index}});$(tmpl).appendTo(row);$(this.options.rowContainer).append(row).trigger('contentUpdated');row.addClass(this.options.additionalRowClass);if(this.options.rowIndex===0&amp;&amp;this.options.hideFirstRowAddSeparator){$('#'+this._esc(this.options.btnRemoveIdPrefix)+'0').remove();$('#'+this._esc(this.options.rowIdPrefix)+'0').removeClass(this.options.additionalRowClass);}
this.maxRowCheck(++this.options.rowCount);return row;},removeRow:function(rowIndex){$('#'+this._esc(this.options.rowIdPrefix)+rowIndex).remove();this.maxRowCheck(--this.options.rowCount);return false;},maxRowCheck:function(rowIndex){var addRowBtn=$(this.options.addRowBtn),maxRowMsg=$(this.options.maxRowsMsg);if(rowIndex&gt;=this.options.maxRows){addRowBtn.hide();maxRowMsg.show();}else if(addRowBtn.is(':hidden')){addRowBtn.show();maxRowMsg.hide();}},setFieldById:function(domId,value){var x=$('#'+this._esc(domId));if(x.length){if(x.is(':checkbox')){x.attr('checked',true);}else if(x.is('option')){x.attr('selected','selected');}else{x.val(value);}}},handleAdd:function(){this.addRow(++this.options.rowIndex);return false;},handleRemove:function(e){this.removeRow($(e.currentTarget).closest('[id^="'+this.options.btnRemoveIdPrefix+'"]').attr('id').replace(this.options.btnRemoveIdPrefix,''));return false;},_esc:function(str){return str?str.replace(/([ ;&amp;,.+*~\':"!\^$\[\]()=&gt;|\/@])/g,'\\$1'):str;}});return $.mage.rowBuilder;});</pre></body></html>